(function(n,t){"object"==typeof module&&module.exports?(t["default"]=t,module.exports=n.document?t(n):t):"function"==typeof define&&define.amd?define("highcharts/highstock",function(){return t(n)}):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=t(n))})("undefined"!=typeof window?window:this,function(n){function i(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}var t={};return i(t,"Core/Globals.js",[],function(){var i="undefined"!=typeof n?n:"undefined"!=typeof window?window:{},r=i.document,t=i.navigator&&i.navigator.userAgent||"",e=r&&r.createElementNS&&!!r.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,o=/(edge|msie|trident)/i.test(t)&&!i.opera,u=-1!==t.indexOf("Firefox"),f=-1!==t.indexOf("Chrome"),s=u&&4>parseInt(t.split("Firefox/")[1],10);return{product:"Highcharts",version:"8.2.2",deg2rad:Math.PI/180,doc:r,hasBidiBug:s,hasTouch:!!i.TouchEvent,isMS:o,isWebKit:-1!==t.indexOf("AppleWebKit"),isFirefox:u,isChrome:f,isSafari:!f&&-1!==t.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(t),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:e,win:i,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}}),i(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){function t(n,r,f,e){var s=r?"Highcharts error":"Highcharts warning",h,o,c;32===n&&(n=s+": Deprecated member");h=y(n);o=h?s+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();s=function(){if(r)throw Error(o);u.console&&-1===t.messages.indexOf(o)&&console.log(o)};"undefined"!=typeof e&&(c="",h&&(o+="?"),i(e,function(n,t){c+="\n - "+t+": "+n;h&&(o+=encodeURI(t)+"="+encodeURI(n))}),o+=c);f?ut(f,"displayError",{code:n,message:o,params:e},s):s();t.messages.push(o)}function o(){var t,n=arguments,r={},u=function(n,t){return"object"!=typeof n&&(n={}),i(t,function(i,r){n[r]=!e(i,!0)||d(i)||v(i)?t[r]:u(n[r]||{},i)}),n},f;for(!0===n[0]&&(r=n[1],n=Array.prototype.slice.call(n,2)),f=n.length,t=0;t<f;t++)r=u(r,n[t]);return r}function e(n,t){return!!n&&"object"==typeof n&&(!t||!a(n))}function h(n,t,r){var u;return l(t)?p(r)?n.setAttribute(t,r):n&&n.getAttribute&&((u=n.getAttribute(t))||"class"!==t||(u=n.getAttribute(t+"Name"))):i(t,function(t,i){n.setAttribute(i,t)}),u}function r(){for(var n,i=arguments,r=i.length,t=0;t<r;t++)if(n=i[t],"undefined"!=typeof n&&null!==n)return n}function k(n,t){if(!n)return t;var i=n.split(".").reverse();if(1===i.length)return t[n];for(n=i.pop();"undefined"!=typeof n&&"undefined"!=typeof t&&null!==t;)t=t[n],n=i.pop();return t}var it,i;n.timers=[];var ft=n.charts,s=n.doc,u=n.win;(t||(t={})).messages=[];n.error=t;n.merge=o;var c=n.pInt=function(n,t){return parseInt(n,t||10)},l=n.isString=function(n){return"string"==typeof n},a=n.isArray=function(n){return n=Object.prototype.toString.call(n),"[object Array]"===n||"[object Array Iterator]"===n};n.isObject=e;var v=n.isDOMElement=function(n){return e(n)&&"number"==typeof n.nodeType},d=n.isClass=function(n){var t=n&&n.constructor;return!(!e(n,!0)||v(n)||!t||!t.name||"Object"===t.name)},y=n.isNumber=function(n){return"number"==typeof n&&!isNaN(n)&&Infinity>n&&-Infinity<n},et=n.erase=function(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}},p=n.defined=function(n){return"undefined"!=typeof n&&null!==n};n.attr=h;var ot=n.splat=function(n){return a(n)?n:[n]},st=n.syncTimeout=function(n,t,i){return 0<t?setTimeout(n,t,i):(n.call(0,i),-1)},ht=n.clearTimeout=function(n){p(n)&&clearTimeout(n)},f=n.extend=function(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n};n.pick=r;var w=n.css=function(t,i){n.isMS&&!n.svg&&i&&"undefined"!=typeof i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")");f(t.style,i)},g=n.createElement=function(n,t,i,r,u){return n=s.createElement(n),t&&f(n,t),u&&w(n,{padding:"0",border:"none",margin:"0"}),i&&w(n,i),r&&r.appendChild(n),n},ct=n.extendClass=function(n,t){var i=function(){};return i.prototype=new n,f(i.prototype,t),i},lt=n.pad=function(n,t,i){return Array((t||2)+1-String(n).replace("-","").length).join(i||"0")+n},at=n.relativeLength=function(n,t,i){return/%$/.test(n)?t*parseFloat(n)/100+(i||0):parseFloat(n)},vt=n.wrap=function(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments),u=arguments,t=this;return t.proceed=function(){r.apply(t,arguments.length?arguments:u)},n.unshift(r),n=i.apply(this,n),t.proceed=null,n}},yt=n.format=function(t,i,r){var f="{",s=!1,e=[],h=n.defaultOptions.lang,l=r&&r.time||n.time,o,u,c;for(r=r&&r.numberFormatter||tt;t;){if(o=t.indexOf(f),-1===o)break;u=t.slice(0,o);s?(u=u.split(":"),f=k(u.shift()||"",i),u.length&&"number"==typeof f&&((u=u.join(":"),/f$/.test(u))?(c=parseInt((u.match(/\.([0-9])/)||["","-1"])[1],10),null!==f&&(f=r(f,c,h.decimalPoint,-1<u.indexOf(",")?h.thousandsSep:""))):f=l.dateFormat(u,f)),e.push(f)):e.push(u);t=t.slice(o+1);f=(s=!s)?"}":"{"}return e.push(t),e.join("")},pt=n.getMagnitude=function(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))},wt=n.normalizeTickInterval=function(n,t,i,u,f){var e=n,o;for(i=r(i,1),o=n/i,t||(t=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===i?t=t.filter(function(n){return 0==n%1}):.1>=i&&(t=[1/i]))),u=0;u<t.length&&!(e=t[u],f&&e*i>=n||!f&&o<=(t[u]+(t[u+1]||t[u]))/2);u++);return nt(e*i,-Math.round(Math.log(.001)/Math.LN10))},bt=n.stableSort=function(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].safeI=i;for(n.sort(function(n,i){return r=t(n,i),0===r?n.safeI-i.safeI:r}),i=0;i<u;i++)delete n[i].safeI},kt=n.arrayMin=function(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i},dt=n.arrayMax=function(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i},gt=n.destroyObjectProperties=function(n,t){i(n,function(i,r){i&&i!==t&&i.destroy&&i.destroy();delete n[r]})},ni=n.discardElement=function(t){var i=n.garbageBin;i||(i=g("div"));t&&i.appendChild(t);i.innerHTML=""},nt=n.correctFloat=function(n,t){return parseFloat(n.toPrecision(t||14))},ti=n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},tt=n.numberFormat=function(t,i,u,f){var o,h;t=+t||0;i=+i;var l=n.defaultOptions.lang,s=(t.toString().split(".")[1]||"").split("e")[0].length,e=t.toString().split("e");return-1===i?i=Math.min(s,20):y(i)?i&&e[1]&&0>e[1]&&(o=i+ +e[1],0<=o?(e[0]=(+e[0]).toExponential(o).split("e")[0],i=o):(e[0]=e[0].split(".")[0]||0,t=20>i?(e[0]*Math.pow(10,e[1])).toFixed(i):0,e[1]=0)):i=2,h=(Math.abs(e[1]?e[0]:t)+Math.pow(10,-Math.max(i,s)-1)).toFixed(i),s=String(c(h)),o=3<s.length?s.length%3:0,u=r(u,l.decimalPoint),f=r(f,l.thousandsSep),t=(0>t?"-":"")+(o?s.substr(0,o)+f:""),t+=s.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+f),i&&(t+=u+h.slice(-i)),e[1]&&0!=+t&&(t+="e"+e[1]),t};Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var ii=n.getStyle=function(i,f,e){return"width"===f?(f=Math.min(i.offsetWidth,i.scrollWidth),e=i.getBoundingClientRect&&i.getBoundingClientRect().width,e<f&&e>=f-1&&(f=Math.floor(e)),Math.max(0,f-n.getStyle(i,"padding-left")-n.getStyle(i,"padding-right"))):"height"===f?Math.max(0,Math.min(i.offsetHeight,i.scrollHeight)-n.getStyle(i,"padding-top")-n.getStyle(i,"padding-bottom")):(u.getComputedStyle||t(27,!0),(i=u.getComputedStyle(i,void 0))&&(i=i.getPropertyValue(f),r(e,"opacity"!==f)&&(i=c(i))),i)},ri=n.inArray=function(n,i,r){return t(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(n,r)},ui=n.find=Array.prototype.find?function(n,t){return n.find(t)}:function(n,t){for(var r=n.length,i=0;i<r;i++)if(t(n[i],i))return n[i]};n.keys=function(n){return t(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)};it=n.offset=function(n){var t=s.documentElement;return n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0},{top:n.top+(u.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(u.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}};i=n.objectEach=function(n,t,i){for(var r in n)Object.hasOwnProperty.call(n,r)&&t.call(i||n[r],n[r],r,n)};i({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,r){n[r]=function(n){var u;return t(32,!1,void 0,(u={},u["Highcharts."+r]="use Array."+i,u)),Array.prototype[i].apply(n,[].slice.call(arguments,1))}});var fi=n.addEvent=function(t,i,r,u){void 0===u&&(u={});var e=t.addEventListener||n.addEventListenerPolyfill,f="function"==typeof t&&t.prototype?t.prototype.protoEvents=t.prototype.protoEvents||{}:t.hcEvents=t.hcEvents||{};return n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),e&&e.call(t,i,r,!1),f[i]||(f[i]=[]),f[i].push({fn:r,order:"number"==typeof u.order?u.order:Infinity}),f[i].sort(function(n,t){return n.order-t.order}),function(){rt(t,i,r)}},rt=n.removeEvent=function(t,r,u){function f(i,r){var u=t.removeEventListener||n.removeEventListenerPolyfill;u&&u.call(t,i,r,!1)}function e(n){var e,u;t.nodeName&&(r?(u={},u[r]=!0):u=n,i(u,function(t,i){if(n[i])for(e=n[i].length;e--;)f(i,n[i][e].fn)}))}var o;["protoEvents","hcEvents"].forEach(function(n,i){var s=(i=i?t:t.prototype)&&i[n];s&&(r?(o=s[r]||[],u?(s[r]=o.filter(function(n){return u!==n.fn}),f(r,u)):(e(s),s[r]=[])):(e(s),i[n]={}))})},ut=n.fireEvent=function(n,t,i,r){var e,u;i=i||{};s.createEvent&&(n.dispatchEvent||n.fireEvent)?(u=s.createEvent("Events"),u.initEvent(t,!0,!0),f(u,i),n.dispatchEvent?n.dispatchEvent(u):n.fireEvent(t,u)):(i.target||f(i,{preventDefault:function(){i.defaultPrevented=!0},target:n,type:t}),function(t,r){void 0===t&&(t=[]);void 0===r&&(r=[]);var u=0,f=0,o=t.length+r.length;for(e=0;e<o;e++)!1===(t[u]?r[f]?t[u].order<=r[f].order?t[u++]:r[f++]:t[u++]:r[f++]).fn.call(n,i)&&i.preventDefault()}(n.protoEvents&&n.protoEvents[t],n.hcEvents&&n.hcEvents[t]));r&&!i.defaultPrevented&&r.call(n,i)},b,ei=n.uniqueKey=function(){var n=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(b?"":n)+t++}}(),oi=n.useSerialIds=function(n){return b=r(n,b)},si=n.isFunction=function(n){return"function"==typeof n},hi=n.getOptions=function(){return n.defaultOptions},ci=n.setOptions=function(t){return n.defaultOptions=o(!0,n.defaultOptions,t),(t.time||t.global)&&n.time.update(o(n.defaultOptions.global,n.defaultOptions.time,t.global,t.time)),n.defaultOptions};return u.jQuery&&(u.jQuery.fn.highcharts=function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new n[l(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):ft[h(this[0],"data-highcharts-chart")]}),{addEvent:fi,arrayMax:dt,arrayMin:kt,attr:h,clamp:function(n,t,i){return n>t?n<i?n:i:t},clearTimeout:ht,correctFloat:nt,createElement:g,css:w,defined:p,destroyObjectProperties:gt,discardElement:ni,erase:et,error:t,extend:f,extendClass:ct,find:ui,fireEvent:ut,format:yt,getMagnitude:pt,getNestedProperty:k,getOptions:hi,getStyle:ii,inArray:ri,isArray:a,isClass:d,isDOMElement:v,isFunction:si,isNumber:y,isObject:e,isString:l,merge:o,normalizeTickInterval:wt,numberFormat:tt,objectEach:i,offset:it,pad:lt,pick:r,pInt:c,relativeLength:at,removeEvent:rt,setOptions:ci,splat:ot,stableSort:bt,syncTimeout:st,timeUnits:ti,uniqueKey:ei,useSerialIds:oi,wrap:vt}}),i(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var r=t.isNumber,u=t.merge,i=t.pInt;return t=function(){function t(r){if(this.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(n){return[i(n[1]),i(n[2]),i(n[3]),parseFloat(n[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(n){return[i(n[1]),i(n[2]),i(n[3]),1]}}],this.rgba=[],n.Color!==t)return new n.Color(r);if(!(this instanceof t))return new t(r);this.init(r)}return t.parse=function(n){return new t(n)},t.prototype.init=function(n){var i,u,r,f;if((this.input=n=t.names[n&&n.toLowerCase?n.toLowerCase():""]||n)&&n.stops)this.stops=n.stops.map(function(n){return new t(n[1])});else if(n&&n.charAt&&"#"===n.charAt()&&(r=n.length,n=parseInt(n.substr(1),16),7===r?i=[(n&16711680)>>16,(n&65280)>>8,n&255,1]:4===r&&(i=[(n&3840)>>4|(n&3840)>>8,(n&240)>>4|n&240,(n&15)<<4|n&15,1])),!i)for(u=this.parsers.length;u--&&!i;)f=this.parsers[u],(r=f.regex.exec(n))&&(i=f.parse(r));this.rgba=i||[]},t.prototype.get=function(n){var f=this.input,t=this.rgba,i;return"undefined"!=typeof this.stops?(i=u(f),i.stops=[].concat(i.stops),this.stops.forEach(function(t,r){i.stops[r]=[i.stops[r][0],t.get(n)]})):i=t&&r(t[0])?"rgb"===n||!n&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===n?t[3]:"rgba("+t.join(",")+")":f,i},t.prototype.brighten=function(n){var t,u=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(n)});else if(r(n)&&0!==n)for(t=0;3>t;t++)u[t]+=i(255*n),0>u[t]&&(u[t]=0),255<u[t]&&(u[t]=255);return this},t.prototype.setOpacity=function(n){return this.rgba[3]=n,this},t.prototype.tweenTo=function(n,t){var r=this.rgba,i=n.rgba;return i.length&&r&&r.length?(n=1!==i[3]||1!==r[3],t=(n?"rgba(":"rgb(")+Math.round(i[0]+(r[0]-i[0])*(1-t))+","+Math.round(i[1]+(r[1]-i[1])*(1-t))+","+Math.round(i[2]+(r[2]-i[2])*(1-t))+(n?","+(i[3]+(r[3]-i[3])*(1-t)):"")+")"):t=n.input||"none",t},t.names={white:"#ffffff",black:"#000000"},t}(),n.Color=t,n.color=t.parse,t}),i(t,"Core/Animation/Fx.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var i=n.win,r=t.isNumber,u=t.objectEach;return t=function(){function t(n,t,i){this.pos=NaN;this.options=t;this.elem=n;this.prop=i}return t.prototype.dSetter=function(){var n=this.paths,o=n&&n[0],i,u,r,f,e;if(n=n&&n[1],i=[],u=this.now||0,1!==u&&o&&n)if(o.length===n.length&&1>u)for(r=0;r<n.length;r++){for(var c=o[r],s=n[r],h=[],t=0;t<s.length;t++)f=c[t],e=s[t],h[t]="number"==typeof f&&"number"==typeof e&&("A"!==s[0]||4!==t&&5!==t)?f+u*(e-f):e;i.push(h)}else i=n;else i=this.toD||[];this.elem.attr("d",i,void 0,!0)},t.prototype.update=function(){var n=this.elem,t=this.prop,i=this.now,r=this.options.step;this[t+"Setter"]?this[t+"Setter"]():n.attr?n.element&&n.attr(t,i,null,!0):n.style[t]=i+this.unit;r&&r.call(n,i,this)},t.prototype.run=function(t,r,u){var o=this,e=o.options,f=function(n){return f.stopped?!1:o.step(n)},s=i.requestAnimationFrame||function(n){setTimeout(n,13)},h=function(){for(var t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&s(h)};t!==r||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=r,this.unit=u,this.now=this.start,this.pos=0,f.elem=this.elem,f.prop=this.prop,f()&&1===n.timers.push(f)&&s(h)):(delete e.curAnim[this.prop],e.complete&&0===Object.keys(e.curAnim).length&&e.complete.call(this.elem))},t.prototype.step=function(n){var f=+new Date,t=this.options,i=this.elem,e=t.complete,o=t.duration,s=t.curAnim,r;return i.attr&&!i.element?n=!1:n||f>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),r=s[this.prop]=!0,u(s,function(n){!0!==n&&(r=!1)}),r&&e&&e.call(i),n=!1):(this.pos=t.easing((f-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0),n},t.prototype.initPath=function(n,t,i){function c(n,t){for(;n.length<h;){var i=n[0],r=t[h-n.length];r&&"M"===i[0]&&(n[0]="C"===r[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]);n.unshift(i);o&&n.push(n[n.length-1])}}function l(n,t){for(;n.length<h;)if(t=n[n.length/s-1].slice(),"C"===t[0]&&(t[1]=t[5],t[2]=t[6]),o){var i=n[n.length/s].slice();n.splice(n.length/2,0,t,i)}else n.push(t)}var u=n.startX,f=n.endX,o,s,e,a,h;if(t=t&&t.slice(),i=i.slice(),o=n.isArea,s=o?2:1,!t)return[i,i];if(u&&f){for(n=0;n<u.length;n++)if(u[n]===f[0]){e=n;break}else if(u[0]===f[f.length-u.length+n]){e=n;a=!0;break}else if(u[u.length-1]===f[f.length-u.length+n]){e=u.length-n;break}"undefined"==typeof e&&(t=[])}return t.length&&r(e)&&(h=i.length+e*s,a?(c(t,i),l(i,t)):(c(i,t),l(t,i))),[t,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,n.color(this.start).tweenTo(n.color(this.end),this.pos),null,!0)},t}(),n.Fx=t}),i(t,"Core/Animation/AnimationUtilities.js",[t["Core/Animation/Fx.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i){var e=i.defined,o=i.getStyle,s=i.isArray,h=i.isNumber,u=i.isObject,c=i.merge,l=i.objectEach,a=i.pick;i=t.setAnimation=function(n,t){t.renderer.globalAnimation=a(n,t.options.chart.animation,!0)};var r=t.animObject=function(n){return u(n)?t.merge({duration:500,defer:0},n):{duration:n?500:0,defer:0}},v=t.getDeferredAnimation=function(n,t,i){var o=r(t),u=0,f=0;return(i?[i]:n.series).forEach(function(n){n=r(n.options.animation);u=t&&e(t.defer)?o.defer:Math.max(u,n.duration+n.defer);f=Math.min(o.duration,n.duration)}),n.renderer.forExport&&(u=0),{defer:Math.max(0,u-f),duration:Math.min(u,f)}},y=t.animate=function(t,i,r){var v,p="",e,a,y;u(r)||(y=arguments,r={duration:y[2],easing:y[3],complete:y[4]});h(r.duration)||(r.duration=400);r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine;r.curAnim=c(i);l(i,function(u,h){f(t,h);a=new n(t,r,h);e=null;"d"===h&&s(i.d)?(a.paths=a.initPath(t,t.pathArray,i.d),a.toD=i.d,v=0,e=1):t.attr?v=t.attr(h):(v=parseFloat(o(t,h))||0,"opacity"!==h&&(p="px"));e||(e=u);e&&e.match&&e.match("px")&&(e=e.replace(/px/g,""));a.run(v,e,p)})},f=t.stop=function(n,i){for(var r=t.timers.length;r--;)t.timers[r].elem!==n||i&&i!==t.timers[r].prop||(t.timers[r].stopped=!0)};return{animate:y,animObject:r,getDeferredAnimation:v,setAnimation:i,stop:f}}),i(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i,r){var nt=n.animate,tt=n.animObject,a=n.stop,it=i.deg2rad,o=i.doc,rt=i.hasTouch,v=i.isFirefox,ut=i.noop,ft=i.svg,y=i.SVG_NS,et=i.win,s=r.attr,ot=r.createElement,st=r.css,f=r.defined,c=r.erase,l=r.extend,p=r.fireEvent,w=r.isArray,b=r.isFunction,ht=r.isNumber,k=r.isString,d=r.merge,e=r.objectEach,u=r.pick,h=r.pInt,ct=r.syncTimeout,g=r.uniqueKey;return n=function(){function n(){this.height=this.element=void 0;this.opacity=1;this.renderer=void 0;this.SVG_NS=y;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ");this.width=void 0}return n.prototype._defaultGetter=function(n){return n=u(this[n+"Value"],this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},n.prototype._defaultSetter=function(n,t,i){i.setAttribute(t,n)},n.prototype.add=function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,"undefined"!=typeof this.textStr&&"text"===this.element.nodeName&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},n.prototype.addClass=function(n,t){var i=t?"":this.attr("class")||"";return n=(n||"").split(/ /g).reduce(function(n,t){return-1===i.indexOf(t)&&n.push(t),n},i?[i]:[]).join(" "),n!==i&&this.attr("class",n),this},n.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},n.prototype.align=function(n,t,i){var r,o={},f=this.renderer,e=f.alignedObjects,s,h,l;return n?(this.alignOptions=n,this.alignByTranslate=t,!i||k(i))&&(this.alignTo=r=i||"renderer",c(e,this),e.push(this),i=void 0):(n=this.alignOptions,t=this.alignByTranslate,r=this.alignTo),i=u(i,f[r],f),r=n.align,f=n.verticalAlign,e=(i.x||0)+(n.x||0),l=(i.y||0)+(n.y||0),"right"===r?s=1:"center"===r&&(s=2),s&&(e+=(i.width-(n.width||0))/s),o[t?"translateX":"x"]=Math.round(e),"bottom"===f?h=1:"middle"===f&&(h=2),h&&(l+=(i.height-(n.height||0))/h),o[t?"translateY":"y"]=Math.round(l),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},n.prototype.alignSetter=function(n){var t={left:"start",center:"middle",right:"end"};t[n]&&(this.alignValue=n,this.element.setAttribute("text-anchor",t[n]))},n.prototype.animate=function(n,t,i){var f=this,r=tt(u(t,this.renderer.globalAnimation,!0));return t=r.defer,u(o.hidden,o.msHidden,o.webkitHidden,!1)&&(r.duration=0),0!==r.duration?(i&&(r.complete=i),ct(function(){f.element&&nt(f,n,r)},t)):(this.attr(n,void 0,i),e(n,function(n,t){r.step&&r.step.call(this,n,{prop:t,pos:1})},this)),this},n.prototype.applyTextOutline=function(n){var t=this.element,r,u,f,e;-1!==n.indexOf("contrast")&&(n=n.replace(/contrast/g,this.renderer.getContrast(t.style.fill)));n=n.split(" ");u=n[n.length-1];(r=n[0])&&"none"!==r&&i.svg&&(this.fakeTS=!0,n=[].slice.call(t.getElementsByTagName("tspan")),this.ySetter=this.xSetter,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(n,t,i){return 2*t+i}),this.removeTextOutline(n),f=t.textContent?/^[\u0591-\u065F\u066A-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/.test(t.textContent):!1,e=t.firstChild,n.forEach(function(n,i){0===i&&(n.setAttribute("x",t.getAttribute("x")),i=t.getAttribute("y"),n.setAttribute("y",i||0),null===i&&t.setAttribute("y",0));i=n.cloneNode(!0);s(f&&!v?n:i,{"class":"highcharts-text-outline",fill:u,stroke:u,"stroke-width":r,"stroke-linejoin":"round"});t.insertBefore(i,e)}),f&&v&&n[0]&&(n=n[0].cloneNode(!0),n.textContent=" ",t.insertBefore(n,e)))},n.prototype.attr=function(n,t,i,r){var o=this.element,s,h=this,u,f,l=this.symbolCustomAttribs,c;return"string"==typeof n&&"undefined"!=typeof t&&(c=n,n={},n[c]=t),"string"==typeof n?h=(this[n+"Getter"]||this._defaultGetter).call(this,n,o):(e(n,function(t,i){u=!1;r||a(this,i);this.symbolName&&-1!==l.indexOf(i)&&(s||(this.symbolAttr(n),s=!0),u=!0);this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0);u||(f=this[i+"Setter"]||this._defaultSetter,f.call(this,t,i,o),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,t,f))},this),this.afterSetters()),i&&i.call(this),h},n.prototype.clip=function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},n.prototype.crisp=function(n,t){t=t||n.strokeWidth||0;var i=Math.round(t)%2/2;return n.x=Math.floor(n.x||this.x||0)+i,n.y=Math.floor(n.y||this.y||0)+i,n.width=Math.floor((n.width||this.width||0)-2*i),n.height=Math.floor((n.height||this.height||0)-2*i),f(n.strokeWidth)&&(n.strokeWidth=t),n},n.prototype.complexColor=function(n,i,r){var h=this.renderer,l,s,u,a,c,v,y,b,k,nt,o=[],tt;p(this.renderer,"complexColor",{args:arguments},function(){if(n.radialGradient?s="radialGradient":n.linearGradient&&(s="linearGradient"),s){if(u=n[s],c=h.gradients,v=n.stops,k=r.radialReference,w(u)&&(n[s]=u={x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&k&&!f(u.gradientUnits)&&(a=u,u=d(u,h.getRadialAttr(k,a),{gradientUnits:"userSpaceOnUse"})),e(u,function(n,t){"id"!==t&&o.push(t,n)}),e(v,function(n){o.push(n)}),o=o.join(","),c[o])nt=c[o].attr("id");else{u.id=nt=g();var p=c[o]=h.createElement(s).attr(u).add(h.defs);p.radAttr=a;p.stops=[];v.forEach(function(n){0===n[1].indexOf("rgba")?(l=t.parse(n[1]),y=l.get("rgb"),b=l.get("a")):(y=n[1],b=1);n=h.createElement("stop").attr({offset:n[0],"stop-color":y,"stop-opacity":b}).add(p);p.stops.push(n)})}tt="url("+h.url+"#"+nt+")";r.setAttribute(i,tt);r.gradient=o;n.toString=function(){return tt}}})},n.prototype.css=function(n){var t=this.styles,u={},i=this.element,r="",f=!t,a=["textOutline","textOverflow","width"],o,c;return n&&n.color&&(n.fill=n.color),t&&e(n,function(n,i){t&&t[i]!==n&&(u[i]=n,f=!0)}),f&&(t&&(n=l(t,u)),n&&(null===n.width||"auto"===n.width?delete this.textWidth:"text"===i.nodeName.toLowerCase()&&n.width&&(o=this.textWidth=h(n.width))),this.styles=n,o&&!ft&&this.renderer.forExport&&delete n.width,i.namespaceURI===this.SVG_NS?(c=function(n,t){return"-"+t.toLowerCase()},e(n,function(n,t){-1===a.indexOf(t)&&(r+=t.replace(/([A-Z])/g,c)+":"+n+";")}),r&&s(i,"style",r)):st(i,n),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),n&&n.textOutline&&this.applyTextOutline(n.textOutline))),this},n.prototype.dashstyleSetter=function(n){var i=this["stroke-width"],t;if("inherit"===i&&(i=1),n=n&&n.toLowerCase()){for(t=n.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(","),n=t.length;n--;)t[n]=""+h(t[n])*u(i,NaN);n=t.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",n)}},n.prototype.destroy=function(){var n=this,t=n.element||{},u=n.renderer,i=u.isSVG&&"SPAN"===t.nodeName&&n.parentGroup||void 0,r=t.ownerSVGElement,f;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,a(n),n.clipPath&&r&&(f=n.clipPath,[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(n){-1<n.getAttribute("clip-path").indexOf(f.element.id)&&n.removeAttribute("clip-path")}),n.clipPath=f.destroy()),n.stops){for(r=0;r<n.stops.length;r++)n.stops[r].destroy();n.stops.length=0;n.stops=void 0}for(n.safeRemoveChild(t),u.styledMode||n.destroyShadows();i&&i.div&&0===i.div.childNodes.length;)t=i.parentGroup,n.safeRemoveChild(i.div),delete i.div,i=t;n.alignTo&&c(u.alignedObjects,n);e(n,function(t,i){n[i]&&n[i].parentGroup===n&&n[i].destroy&&n[i].destroy();delete n[i]})},n.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(n){this.safeRemoveChild(n)},this);this.shadows=void 0},n.prototype.destroyTextPath=function(n,t){var i=n.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),t.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(n=this.textPathWrapper.element.childNodes;n.length;)i.appendChild(n[0]);i.removeChild(this.textPathWrapper.element)}}else(n.getAttribute("dx")||n.getAttribute("dy"))&&(n.removeAttribute("dx"),n.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},n.prototype.dSetter=function(n,t,i){w(n)&&("string"==typeof n[0]&&(n=this.renderer.pathToSegments(n)),this.pathArray=n,n=n.reduce(function(n,t,i){return t&&t.join?(i?n+" ":"")+t.join(" "):(t||"").toString()},""));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");this[t]!==n&&(i.setAttribute(t,n),this[t]=n)},n.prototype.fadeOut=function(n){var t=this;t.animate({opacity:0},{duration:u(n,150),complete:function(){t.attr({y:-9999}).hide()}})},n.prototype.fillSetter=function(n,t,i){"string"==typeof n?i.setAttribute(t,n):n&&this.complexColor(n,t,i)},n.prototype.getBBox=function(t,i){var r,o=this.renderer,h=this.element,e=this.styles,y=this.textStr,a=o.cache,v=o.cacheKeys,p=h.namespaceURI===this.SVG_NS,w,s,c;if(i=u(i,this.rotation,0),w=o.styledMode?h&&n.prototype.getStyle.call(h,"font-size"):e&&e.fontSize,f(y)&&(s=y.toString(),-1===s.indexOf("<")&&(s=s.replace(/[0-9]/g,"0")),s+=["",i,w,this.textWidth,e&&e.textOverflow,e&&e.fontWeight].join()),s&&!t&&(r=a[s]),!r){if(p||o.forExport){try{c=this.fakeTS&&function(n){[].forEach.call(h.querySelectorAll(".highcharts-text-outline"),function(t){t.style.display=n})};b(c)&&c("none");r=h.getBBox?l({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight};b(c)&&c("")}catch(k){""}(!r||0>r.width)&&(r={width:0,height:0})}else r=this.htmlGetBBox();if(o.isSVG&&(t=r.width,o=r.height,p&&(r.height=o={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(o)]||o),i&&(e=i*it,r.width=Math.abs(o*Math.sin(e))+Math.abs(t*Math.cos(e)),r.height=Math.abs(o*Math.cos(e))+Math.abs(t*Math.sin(e)))),s&&0<r.height){for(;250<v.length;)delete a[v.shift()];a[s]||v.push(s);a[s]=r}}return r},n.prototype.getStyle=function(n){return et.getComputedStyle(this.element||this,"").getPropertyValue(n)},n.prototype.hasClass=function(n){return-1!==(""+this.attr("class")).split(" ").indexOf(n)},n.prototype.hide=function(n){return n?this.attr({y:-9999}):this.attr({visibility:"hidden"}),this},n.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},n.prototype.init=function(n,t){this.element="span"===t?ot(t):o.createElementNS(this.SVG_NS,t);this.renderer=n;p(this,"afterInit")},n.prototype.invert=function(n){return this.inverted=n,this.updateTransform(),this},n.prototype.on=function(n,t){var r,u,i=this.element,f;return rt&&"click"===n?(i.ontouchstart=function(n){r=n.touches[0].clientX;u=n.touches[0].clientY},i.ontouchend=function(n){r&&4<=Math.sqrt(Math.pow(r-n.changedTouches[0].clientX,2)+Math.pow(u-n.changedTouches[0].clientY,2))||t.call(i,n);f=!0;!1!==n.cancelable&&n.preventDefault()},i.onclick=function(n){f||t.call(i,n)}):i["on"+n]=t,this},n.prototype.opacitySetter=function(n,t,i){this.opacity=n=Number(Number(n).toFixed(3));i.setAttribute(t,n)},n.prototype.removeClass=function(n){return this.attr("class",(""+this.attr("class")).replace(k(n)?new RegExp("(^| )"+n+"( |$)"):n," ").replace(/ +/g," ").trim())},n.prototype.removeTextOutline=function(n){for(var i=n.length,t;i--;)t=n[i],"highcharts-text-outline"===t.getAttribute("class")&&c(n,this.element.removeChild(t))},n.prototype.safeRemoveChild=function(n){var t=n.parentNode;t&&t.removeChild(n)},n.prototype.setRadialReference=function(n){var t=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},n.prototype.setTextPath=function(n,t){var u=this.element,c={textAnchor:"text-anchor"},s=!1,i=this.textPathWrapper,h=!i,r,o;if(t=d(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t),r=t.attributes,n&&t&&t.enabled){if(i&&null===i.element.parentNode?(h=!0,i=i.destroy()):i&&this.removeTextOutline.call(i.parentGroup,[].slice.call(u.getElementsByTagName("tspan"))),this.options&&this.options.padding&&(r.dx=-this.options.padding),i||(this.textPathWrapper=i=this.renderer.createElement("textPath"),s=!0),o=i.element,(t=n.element.getAttribute("id"))||n.element.setAttribute("id",t=g()),h)for(n=u.getElementsByTagName("tspan");n.length;)n[0].setAttribute("y",0),ht(r.dx)&&n[0].setAttribute("x",-r.dx),o.appendChild(n[0]);s&&i&&i.add({element:this.text?this.text.element:u});o.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+t);f(r.dy)&&(o.parentNode.setAttribute("dy",r.dy),delete r.dy);f(r.dx)&&(o.parentNode.setAttribute("dx",r.dx),delete r.dx);e(r,function(n,t){o.setAttribute(c[t]||t,n)});u.removeAttribute("transform");this.removeTextOutline.call(i,[].slice.call(u.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=ut}else i&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(u,n),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},n.prototype.shadow=function(n,t,i){var c=[],o=this.element,a=!1,v=this.oldShadowOptions,f={color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:3},r,y,p,u,h;if(!0===n?r=f:"object"==typeof n&&(r=l(f,n)),r&&(r&&v&&e(r,function(n,t){n!==v[t]&&(a=!0)}),a&&this.destroyShadows(),this.oldShadowOptions=r),r){if(!this.shadows){for(y=r.opacity/r.width,p=this.parentInverted?"translate(-1,-1)":"translate("+r.offsetX+", "+r.offsetY+")",f=1;f<=r.width;f++)u=o.cloneNode(!1),h=2*r.width+1-2*f,s(u,{stroke:n.color||"#000000","stroke-opacity":y*f,"stroke-width":h,transform:p,fill:"none"}),u.setAttribute("class",(u.getAttribute("class")||"")+" highcharts-shadow"),i&&(s(u,"height",Math.max(s(u,"height")-h,0)),u.cutHeight=h),t?t.element.appendChild(u):o.parentNode&&o.parentNode.insertBefore(u,o),c.push(u);this.shadows=c}}else this.destroyShadows();return this},n.prototype.show=function(n){return this.attr({visibility:n?"inherit":"visible"})},n.prototype.strokeSetter=function(t,i,r){this[i]=t;this.stroke&&this["stroke-width"]?(n.prototype.fillSetter.call(this,this.stroke,"stroke",r),r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===t&&this.hasStroke?(r.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},n.prototype.strokeWidth=function(){var n,i,t;return this.renderer.styledMode?(n=this.getStyle("stroke-width"),i=0,n.indexOf("px")===n.length-2?i=h(n):""!==n&&(t=o.createElementNS(y,"rect"),s(t,{width:n,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i):this["stroke-width"]||0},n.prototype.symbolAttr=function(n){var t=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){t[i]=u(n[i],t[i])});t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})},n.prototype.textSetter=function(n){n!==this.textStr&&(delete this.textPxLength,this.textStr=n,this.added&&this.renderer.buildText(this))},n.prototype.titleSetter=function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=o.createElementNS(this.SVG_NS,"title"),this.element.appendChild(t));t.firstChild&&t.removeChild(t.firstChild);t.appendChild(o.createTextNode(String(u(n,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")))},n.prototype.toFront=function(){var n=this.element;return n.parentNode.appendChild(n),this},n.prototype.translate=function(n,t){return this.attr({translateX:n,translateY:t})},n.prototype.updateShadows=function(n,t,i){var r=this.shadows,u;if(r)for(u=r.length;u--;)i.call(r[u],"height"===n?Math.max(t-(r[u].cutHeight||0),0):"d"===n?this.d:t,n,r[u])},n.prototype.updateTransform=function(){var n=this.translateX||0,i=this.translateY||0,r=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,h=this.matrix,t=this.element;o&&(n+=this.width,i+=this.height);n=["translate("+n+","+i+")"];f(h)&&n.push("matrix("+h.join(",")+")");o?n.push("rotate(90) scale(-1,1)"):s&&n.push("rotate("+s+" "+u(this.rotationOriginX,t.getAttribute("x"),0)+" "+u(this.rotationOriginY,t.getAttribute("y")||0)+")");(f(r)||f(e))&&n.push("scale("+u(r,1)+" "+u(e,1)+")");n.length&&t.setAttribute("transform",n.join(" "))},n.prototype.visibilitySetter=function(n,t,i){"inherit"===n?i.removeAttribute(t):this[t]!==n&&i.setAttribute(t,n);this[t]=n},n.prototype.xGetter=function(n){return"circle"===this.element.nodeName&&("x"===n?n="cx":"y"===n&&(n="cy")),this._defaultGetter(n)},n.prototype.zIndexSetter=function(n,t){var r=this.renderer,u=this.parentGroup,c=(u||r).element||r.box,e=this.element,o=!1,s,i,l;if(r=c===r.box,s=this.added,f(n)?(e.setAttribute("data-z-index",n),n=+n,this[t]===n&&(s=!1)):f(this[t])&&e.removeAttribute("data-z-index"),this[t]=n,s){for((n=this.zIndex)&&u&&(u.handleZ=!0),t=c.childNodes,i=t.length-1;0<=i&&!o;i--)u=t[i],s=u.getAttribute("data-z-index"),l=!f(s),u!==e&&(0>n&&l&&!r&&!i?(c.insertBefore(e,t[i]),o=!0):(h(s)<=n||l&&(!f(n)||0<=n))&&(c.insertBefore(e,t[i+1]||null),o=!0));o||(c.insertBefore(e,t[r?3:0]||null),o=!0)}return o},n}(),n.prototype["stroke-widthSetter"]=n.prototype.strokeSetter,n.prototype.yGetter=n.prototype.xGetter,n.prototype.matrixSetter=n.prototype.rotationOriginXSetter=n.prototype.rotationOriginYSetter=n.prototype.rotationSetter=n.prototype.scaleXSetter=n.prototype.scaleYSetter=n.prototype.translateXSetter=n.prototype.translateYSetter=n.prototype.verticalAlignSetter=function(n,t){this[t]=n;this.doTransform=!0},i.SVGElement=n,i.SVGElement}),i(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(n,t){var f=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),i=t.defined,e=t.extend,r=t.isNumber,o=t.merge,u=t.removeEvent;return function(t){function s(n,i,r,u,f,e,o,h,c,l){var a=t.call(this)||this,v;return a.init(n,"g"),a.textStr=i,a.x=r,a.y=u,a.anchorX=e,a.anchorY=o,a.baseline=c,a.className=l,"button"!==l&&a.addClass("highcharts-label"),l&&a.addClass("highcharts-"+l),a.text=n.text("",0,0,h).attr({zIndex:1}),"string"==typeof f&&(v=/^url\((.*?)\)$/.test(f),(a.renderer.symbols[f]||v)&&(a.symbolKey=f)),a.bBox=s.emptyBBox,a.padding=3,a.paddingLeft=0,a.baselineOffset=0,a.needsBox=n.styledMode||v,a.deferredAttr={},a.alignFactor=0,a}return f(s,t),s.prototype.alignSetter=function(n){n={left:0,center:.5,right:1}[n];n!==this.alignFactor&&(this.alignFactor=n,this.bBox&&r(this.xSetting)&&this.attr({x:this.xSetting}))},s.prototype.anchorXSetter=function(n,t){this.anchorX=n;this.boxAttr(t,Math.round(n)-this.getCrispAdjust()-this.xSetting)},s.prototype.anchorYSetter=function(n,t){this.anchorY=n;this.boxAttr(t,n-this.ySetting)},s.prototype.boxAttr=function(n,t){this.box?this.box.attr(n,t):this.deferredAttr[n]=t},s.prototype.css=function(t){var i,r;return t&&(i={},t=o(t),s.textProps.forEach(function(n){"undefined"!=typeof t[n]&&(i[n]=t[n],delete t[n])}),this.text.css(i),r="fontSize"in i||"fontWeight"in i,("width"in i||r)&&(this.updateBoxSize(),r&&this.updateTextPadding())),n.prototype.css.call(this,t)},s.prototype.destroy=function(){u(this.element,"mouseenter");u(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());n.prototype.destroy.call(this)},s.prototype.fillSetter=function(n,t){n&&(this.needsBox=!0);this.fill=n;this.boxAttr(t,n)},s.prototype.getBBox=function(){var n=this.bBox,t=this.padding;return{width:n.width+2*t,height:n.height+2*t,x:n.x-t,y:n.y-t}},s.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},s.prototype.heightSetter=function(n){this.heightSetting=n},s.prototype.on=function(t,i){var r=this,u=r.text,f=u&&"SPAN"===u.element.tagName?u:void 0,e;if(f){e=function(n){("mouseenter"===t||"mouseleave"===t)&&n.relatedTarget instanceof Element&&(r.element.contains(n.relatedTarget)||f.element.contains(n.relatedTarget))||i.call(r.element,n)};f.on(t,e)}return n.prototype.on.call(r,t,e||i),r},s.prototype.onAdd=function(){var n=this.textStr;this.text.add(this);this.attr({text:i(n)?n:"",x:this.x,y:this.y});this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},s.prototype.paddingSetter=function(n){i(n)&&n!==this.padding&&(this.padding=n,this.updateTextPadding())},s.prototype.paddingLeftSetter=function(n){i(n)&&n!==this.paddingLeft&&(this.paddingLeft=n,this.updateTextPadding())},s.prototype.rSetter=function(n,t){this.boxAttr(t,n)},s.prototype.shadow=function(n){return n&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(n)),this},s.prototype.strokeSetter=function(n,t){this.stroke=n;this.boxAttr(t,n)},s.prototype["stroke-widthSetter"]=function(n,t){n&&(this.needsBox=!0);this["stroke-width"]=n;this.boxAttr(t,n)},s.prototype["text-alignSetter"]=function(n){this.textAlign=n},s.prototype.textSetter=function(n){"undefined"!=typeof n&&this.text.attr({text:n});this.updateBoxSize();this.updateTextPadding()},s.prototype.updateBoxSize=function(){var n=this.text.element.style,t={},f=this.padding,o=this.paddingLeft,u=r(this.widthSetting)&&r(this.heightSetting)&&!this.textAlign||!i(this.text.textStr)?s.emptyBBox:this.text.getBBox();this.width=(this.widthSetting||u.width||0)+2*f+o;this.height=(this.heightSetting||u.height||0)+2*f;this.baselineOffset=f+Math.min(this.renderer.fontMetrics(n&&n.fontSize,this.text).b,u.height||Infinity);this.needsBox&&(this.box||(n=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),n.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),n.add(this),n=this.getCrispAdjust(),t.x=n,t.y=(this.baseline?-this.baselineOffset:0)+n),t.width=Math.round(this.width),t.height=Math.round(this.height),this.box.attr(e(t,this.deferredAttr)),this.deferredAttr={});this.bBox=u},s.prototype.updateTextPadding=function(){var n=this.text,t=this.baseline?0:this.baselineOffset,r=this.paddingLeft+this.padding;i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(r+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));(r!==n.x||t!==n.y)&&(n.attr("x",r),n.hasBoxWidthChanged&&(this.bBox=n.getBBox(!0),this.updateBoxSize()),"undefined"!=typeof t&&n.attr("y",t));n.x=r;n.y=t},s.prototype.widthSetter=function(n){this.widthSetting=r(n)?n:void 0},s.prototype.xSetter=function(n){this.x=n;this.alignFactor&&(n-=this.alignFactor*((this.widthSetting||this.bBox.width)+2*this.padding),this["forceAnimate:x"]=!0);this.xSetting=Math.round(n);this.attr("translateX",this.xSetting)},s.prototype.ySetter=function(n){this.ySetting=this.y=Math.round(n);this.attr("translateY",this.ySetting)},s.emptyBBox={width:0,height:0,x:0,y:0},s.textProps="color cursor direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),s}(n)}),i(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Utilities.js"]],function(n,t,i,r,u){var p=u.addEvent,f=u.attr,rt=u.createElement,a=u.css,o=u.defined,ut=u.destroyObjectProperties,h=u.extend,ft=u.isArray,et=u.isNumber,v=u.isObject,b=u.isString,c=u.merge,k=u.objectEach,s=u.pick,d=u.pInt,ot=u.splat,st=u.uniqueKey,ht=t.charts,g=t.deg2rad,e=t.doc,nt=t.isFirefox,tt=t.isMS,ct=t.isWebKit;u=t.noop;var lt=t.svg,it=t.SVG_NS,y=t.symbolSizes,w=t.win,l=function(){function t(n,t,i,r,u,f,e){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(n,t,i,r,u,f,e)}return t.prototype.init=function(n,t,i,r,u,o,s){var c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),h;s||c.css(this.getStyle(r));r=c.element;n.appendChild(r);f(n,"dir","ltr");-1===n.innerHTML.indexOf("xmlns")&&f(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=c;this.alignedObjects=[];this.url=(nt||ct)&&e.getElementsByTagName("base").length?w.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highcharts 8.2.2"));this.defs=this.createElement("defs").add();this.allowHTML=o;this.forExport=u;this.styledMode=s;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(t,i,!1);nt&&n.getBoundingClientRect&&(t=function(){a(n,{left:0,top:0});h=n.getBoundingClientRect();a(n,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},t(),this.unSubPixelFix=p(w,"resize",t))},t.prototype.definition=function(n){function t(n,r){var u;return ot(n).forEach(function(n){var f=i.createElement(n.tagName),o={};k(n,function(n,t){"tagName"!==t&&"children"!==t&&"textContent"!==t&&(o[t]=n)});f.attr(o);f.add(r||i.defs);n.textContent&&f.element.appendChild(e.createTextNode(n.textContent));t(n.children||[],f);u=f}),u}var i=this;return t(n)},t.prototype.getStyle=function(n){return this.style=h({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},t.prototype.setStyle=function(n){this.boxWrapper.css(this.getStyle(n))},t.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},t.prototype.destroy=function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),ut(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},t.prototype.createElement=function(n){var t=new this.Element;return t.init(this,n),t},t.prototype.getRadialAttr=function(n,t){return{cx:n[0]-n[2]/2+t.cx*n[2],cy:n[1]-n[2]/2+t.cy*n[2],r:t.r*n[2]}},t.prototype.truncate=function(n,t,i,r,u,f,o){var p=this,k=n.rotation,a,c=r?1:0,s=(i||r).length,h=s,v=[],y=function(n){t.firstChild&&t.removeChild(t.firstChild);n&&t.appendChild(e.createTextNode(n))},w=function(f,e){if(e=e||f,"undefined"==typeof v[e])if(t.getSubStringLength)try{v[e]=u+t.getSubStringLength(0,r?e+1:e)}catch(s){""}else p.getSpanWidth&&(y(o(i||r,f)),v[e]=u+p.getSpanWidth(n,t));return v[e]},b,l;if(n.rotation=0,l=w(t.textContent.length),b=u+l>f){for(;c<=s;)h=Math.ceil((c+s)/2),r&&(a=o(r,h)),l=w(h,a&&a.length-1),c===s?c=s+1:l>f?s=h-1:c=h;0===s?y(""):i&&s===i.length-1||y(a||o(i||r,h))}return r&&r.splice(0,h),n.actualWidth=l,n.rotation=k,b},t.prototype.buildText=function(n){var u=n.element,r=this,tt=r.forExport,t=s(n.textStr,"").toString(),rt=-1!==t.indexOf("<"),ut=u.childNodes,ft,v=f(u,"x"),i=n.styles,o=n.textWidth,y=i&&i.lineHeight,h=i&&i.textOutline,c=i&&"ellipsis"===i.textOverflow,l=i&&"nowrap"===i.whiteSpace,p=i&&i.fontSize,w,et=ut.length;i=o&&!n.added&&this.box;var ot=function(n){var t;return r.styledMode||(t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:p||r.style.fontSize||12),y?d(y):r.fontMetrics(t,n.getAttribute("style")?n:u).h},g=function(n,t){return k(r.escapes,function(i,r){t&&-1!==t.indexOf(i)||(n=n.toString().replace(new RegExp(i,"g"),r))}),n},nt=function(n,t){var i=n.indexOf("<");return n=n.substring(i,n.indexOf(">")-i),i=n.indexOf(t+"="),-1!==i&&(i=i+t.length+1,t=n.charAt(i),'"'===t||"'"===t)?(n=n.substring(i+1),n.substring(0,n.indexOf(t))):void 0},st=/<br.*?>/g,ht=[t,c,l,y,h,p,o].join();if(ht!==n.textCache){for(n.textCache=ht;et--;)u.removeChild(ut[et]);rt||h||c||o||-1!==t.indexOf(" ")&&(!l||st.test(t))?(i&&i.appendChild(u),rt?(t=r.styledMode?t.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):t.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),t=t.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(st)):t=[t],t=t.filter(function(n){return""!==n}),t.forEach(function(t,i){var h=0,y=0,s;t=t.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");s=t.split("|||");s.forEach(function(t){var ut,b,k,et,d,rt;if((""!==t||1===s.length)&&(ut={},b=e.createElementNS(r.SVG_NS,"tspan"),(k=nt(t,"class"))&&f(b,"class",k),(k=nt(t,"style"))&&(k=k.replace(/(;| |^)color([ :])/,"$1fill$2"),f(b,"style",k)),(et=nt(t,"href"))&&!tt&&-1===et.split(":")[0].toLowerCase().indexOf("javascript")&&(d=e.createElementNS(r.SVG_NS,"a"),f(d,"href",et),f(b,"class","highcharts-anchor"),d.appendChild(b),r.styledMode||a(b,{cursor:"pointer"})),t=g(t.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ")," "!==t)){if(b.appendChild(e.createTextNode(t)),h?ut.dx=0:i&&null!==v&&(ut.x=v),f(b,ut),u.appendChild(d||b),!h&&w&&(!lt&&tt&&a(b,{display:"block"}),f(b,"dy",ot(b))),o)if(rt=t.replace(/([^\^])-/g,"$1- ").split(" "),ut=!l&&(1<s.length||i||1<rt.length),d=0,et=ot(b),c)ft=r.truncate(n,b,t,void 0,0,Math.max(0,o-parseInt(p||12,10)),function(n,t){return n.substring(0,t)+"…"});else if(ut)for(;rt.length;)rt.length&&!l&&0<d&&(b=e.createElementNS(it,"tspan"),f(b,{dy:et,x:v}),k&&f(b,"style",k),b.appendChild(e.createTextNode(rt.join(" ").replace(/- /g,"-"))),u.appendChild(b)),r.truncate(n,b,null,rt,0===d?y:0,o,function(n,t){return rt.slice(0,t).join(" ").replace(/- /g,"-")}),y=n.actualWidth,d++;h++}});w=w||u.childNodes.length}),c&&ft&&n.attr("title",g(n.textStr||"",["&lt;","&gt;"])),i&&i.removeChild(u),b(h)&&n.applyTextOutline&&n.applyTextOutline(h)):u.appendChild(e.createTextNode(g(t)))}},t.prototype.getContrast=function(t){return t=n.parse(t).rgba,t[0]*=1,t[1]*=1.2,t[2]*=.5,459<t[0]+t[1]+t[2]?"#000000":"#FFFFFF"},t.prototype.button=function(n,t,i,r,u,f,e,o,s,l){var a=this.label(n,t,i,s,void 0,void 0,l,void 0,"button"),v=0,y=this.styledMode,w,b,k,d;n=(u=u?c(u):u)&&u.style||{};u&&u.style&&delete u.style;a.attr(c({padding:8,r:2},u));y||(u=c({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},{style:n},u),w=u.style,delete u.style,f=c(u,{fill:"#e6e6e6"},f),b=f.style,delete f.style,e=c(u,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e),k=e.style,delete e.style,o=c(u,{style:{color:"#cccccc"}},o),d=o.style,delete o.style);p(a.element,tt?"mouseover":"mouseenter",function(){3!==v&&a.setState(1)});p(a.element,tt?"mouseout":"mouseleave",function(){3!==v&&a.setState(v)});a.setState=function(n){1!==n&&(a.state=v=n);a.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][n||0]);y||a.attr([u,f,e,o][n||0]).css([w,b,k,d][n||0])};y||a.attr(u).css(h({cursor:"default"},w));return a.on("click",function(n){3!==v&&r.call(a,n)})},t.prototype.crispLine=function(n,t,i){void 0===i&&(i="round");var r=n[0],u=n[1];return r[1]===u[1]&&(r[1]=u[1]=Math[i](r[1])-t%2/2),r[2]===u[2]&&(r[2]=u[2]=Math[i](r[2])+t%2/2),n},t.prototype.path=function(n){var t=this.styledMode?{}:{fill:"none"};return ft(n)?t.d=n:v(n)&&h(t,n),this.createElement("path").attr(t)},t.prototype.circle=function(n,t,i){return n=v(n)?n:"undefined"==typeof n?{}:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=t.ySetter=function(n,t,i){i.setAttribute("c"+t,n)},t.attr(n)},t.prototype.arc=function(n,t,i,r,u,f){return v(n)?(r=n,t=r.y,i=r.r,n=r.x):r={innerR:r,start:u,end:f},n=this.symbol("arc",n,t,i,i,r),n.r=i,n},t.prototype.rect=function(n,t,i,r,u,e){u=v(n)?n.r:u;var o=this.createElement("rect");return n=v(n)?n:"undefined"==typeof n?{}:{x:n,y:t,width:Math.max(i,0),height:Math.max(r,0)},this.styledMode||("undefined"!=typeof e&&(n.strokeWidth=e,n=o.crisp(n)),n.fill="none"),u&&(n.r=u),o.rSetter=function(n,t,i){o.r=n;f(i,{rx:n,ry:n})},o.rGetter=function(){return o.r},o.attr(n)},t.prototype.setSize=function(n,t,i){var r=this.alignedObjects,u=r.length;for(this.width=n,this.height=t,this.boxWrapper.animate({width:n,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:s(i,!0)?void 0:0});u--;)r[u].align()},t.prototype.g=function(n){var t=this.createElement("g");return n?t.attr({"class":"highcharts-"+n}):t},t.prototype.image=function(n,t,i,r,u,f){var e={preserveAspectRatio:"none"},s=function(n,t){n.setAttributeNS?n.setAttributeNS("http://www.w3.org/1999/xlink","href",t):n.setAttribute("hc-svg-href",t)},c=function(t){s(o.element,n);f.call(o,t)},o;return 1<arguments.length&&h(e,{x:t,y:i,width:r,height:u}),o=this.createElement("image").attr(e),f?(s(o.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),e=new w.Image,p(e,"load",c),e.src=n,e.complete&&c({})):s(o.element,n),o},t.prototype.symbol=function(n,t,i,r,u,f){var v=this,b=/^url\((.*?)\)$/,k=b.test(n),p=!k&&(this.symbols[n]?n:"circle"),d=p&&this.symbols[p],g,c,l,w;return d?("number"==typeof t&&(g=d.call(this.symbols,Math.round(t||0),Math.round(i||0),r||0,u||0,f)),c=this.path(g),v.styledMode||c.attr("fill","none"),h(c,{symbolName:p,x:t,y:i,width:r,height:u}),f&&h(c,f)):k&&(l=n.match(b)[1],c=this.image(l),c.imgwidth=s(y[l]&&y[l].width,f&&f.width),c.imgheight=s(y[l]&&y[l].height,f&&f.height),w=function(){c.attr({width:c.width,height:c.height})},["width","height"].forEach(function(n){c[n+"Setter"]=function(n,t){var r={},i=this["img"+t],u="width"===t?"translateX":"translateY";this[t]=n;o(i)&&(f&&"within"===f.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(t,i),this.alignByTranslate||(r[u]=((this[t]||0)-i)/2,this.attr(r)))}}),o(t)&&c.attr({x:t,y:i}),c.isImg=!0,o(c.imgwidth)&&o(c.imgheight)?w():(c.attr({width:0,height:0}),rt("img",{onload:function(){var n=ht[v.chartIndex];0===this.width&&(a(this,{position:"absolute",top:"-999em"}),e.body.appendChild(this));y[l]={width:this.width,height:this.height};c.imgwidth=this.width;c.imgheight=this.height;c.element&&w();this.parentNode&&this.parentNode.removeChild(this);v.imgCount--;v.imgCount||!n||n.hasLoaded||n.onload()},src:l}),this.imgCount++)),c},t.prototype.clipRect=function(n,t,i,r){var u=st()+"-",f=this.createElement("clipPath").attr({id:u}).add(this.defs);return n=this.rect(n,t,i,r,0).add(f),n.id=u,n.clipPath=f,n.count=0,n},t.prototype.text=function(n,t,i,r){var u={};return r&&(this.allowHTML||!this.forExport)?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),o(n)&&(u.text=n),n=this.createElement("text").attr(u),r||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),e=i.getAttribute(t),u,r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},t.prototype.fontMetrics=function(n,t){return n=!this.styledMode&&/px/.test(n)||!w.getComputedStyle?n||t&&t.style&&t.style.fontSize||this.style&&this.style.fontSize:t&&i.prototype.getStyle.call(t,"font-size"),n=/px/.test(n)?d(n):12,t=24>n?n+3:Math.round(1.2*n),{h:t,b:Math.round(.8*t),f:n}},t.prototype.rotCorr=function(n,t,i){var r=n;return t&&i&&(r=Math.max(r*Math.cos(t*g),4)),{x:-n/3*Math.sin(t*g),y:r}},t.prototype.pathToSegments=function(n){for(var r=[],t=[],u={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},i=0;i<n.length;i++)b(t[0])&&et(n[i])&&t.length===u[t[0].toUpperCase()]&&n.splice(i,0,t[0].replace("M","L").replace("m","l")),"string"==typeof n[i]&&(t.length&&r.push(t.slice(0)),t.length=0),t.push(n[i]);return r.push(t.slice(0)),r},t.prototype.label=function(n,t,i,u,f,e,o,s,h){return new r(this,n,t,i,u,f,e,o,s,h)},t}();return l.prototype.Element=i,l.prototype.SVG_NS=it,l.prototype.draw=u,l.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},l.prototype.symbols={circle:function(n,t,i,r){return this.arc(n+i/2,t+r/2,i/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(n,t,i,r){return[["M",n,t],["L",n+i,t],["L",n+i,t+r],["L",n,t+r],["Z"]]},triangle:function(n,t,i,r){return[["M",n+i/2,t],["L",n+i,t+r],["L",n,t+r],["Z"]]},"triangle-down":function(n,t,i,r){return[["M",n,t],["L",n+i,t],["L",n+i/2,t+r],["Z"]]},diamond:function(n,t,i,r){return[["M",n+i/2,t],["L",n+i,t+r/2],["L",n+i/2,t+r],["L",n,t+r/2],["Z"]]},arc:function(n,t,i,r,u){var c=[],h;if(u){var f=u.start||0,e=u.end||0,l=u.r||i;i=u.r||r||i;h=.001>Math.abs(e-f-2*Math.PI);e-=.001;r=u.innerR;h=s(u.open,h);var y=Math.cos(f),p=Math.sin(f),a=Math.cos(e),v=Math.sin(e);f=s(u.longArc,.001>e-f-Math.PI?0:1);c.push(["M",n+l*y,t+i*p],["A",l,i,0,f,s(u.clockwise,1),n+l*a,t+i*v]);o(r)&&c.push(h?["M",n+r*a,t+r*v]:["L",n+r*a,t+r*v],["A",r,r,0,f,o(u.clockwise)?1-u.clockwise:0,n+r*y,t+r*p]);h||c.push(["Z"])}return c},callout:function(n,t,i,r,u){var f=Math.min(u&&u.r||0,i,r),o=f+6,e=u&&u.anchorX||0,s;return u=u&&u.anchorY||0,s=[["M",n+f,t],["L",n+i-f,t],["C",n+i,t,n+i,t,n+i,t+f],["L",n+i,t+r-f],["C",n+i,t+r,n+i,t+r,n+i-f,t+r],["L",n+f,t+r],["C",n,t+r,n,t+r,n,t+r-f],["L",n,t+f],["C",n,t,n,t,n+f,t]],e&&e>i?u>t+o&&u<t+r-o?s.splice(3,1,["L",n+i,u-6],["L",n+i+6,u],["L",n+i,u+6],["L",n+i,t+r-f]):s.splice(3,1,["L",n+i,r/2],["L",e,u],["L",n+i,r/2],["L",n+i,t+r-f]):e&&0>e?u>t+o&&u<t+r-o?s.splice(7,1,["L",n,u+6],["L",n-6,u],["L",n,u-6],["L",n,t+f]):s.splice(7,1,["L",n,r/2],["L",e,u],["L",n,r/2],["L",n,t+f]):u&&u>r&&e>n+o&&e<n+i-o?s.splice(5,1,["L",e+6,t+r],["L",e,t+r+6],["L",e-6,t+r],["L",n+f,t+r]):u&&0>u&&e>n+o&&e<n+i-o&&s.splice(1,1,["L",e-6,t],["L",e,t-6],["L",e+6,t],["L",i-f,t]),s}},t.SVGRenderer=l,t.Renderer=t.SVGRenderer,t.Renderer}),i(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(n,t,i){var r=i.css,u=i.defined,f=i.extend,e=i.pick,o=i.pInt,s=n.isFirefox;return f(t.prototype,{htmlCss:function(n){var t="SPAN"===this.element.tagName&&n&&"width"in n,u=e(t&&n.width,void 0),i;return t&&(delete n.width,this.textWidth=u,i=!0),n&&"ellipsis"===n.textOverflow&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=f(this.styles,n),r(this.element,n),i&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var n=this.element;return{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){var f,c,i;if(this.added){var h=this.renderer,n=this.element,l=this.translateX||0,a=this.translateY||0,y=this.x||0,p=this.y||0,e=this.textAlign||"left",v={left:0,center:.5,right:1}[e],t=this.styles,s=t&&t.whiteSpace;r(n,{marginLeft:l,marginTop:a});!h.styledMode&&this.shadows&&this.shadows.forEach(function(n){r(n,{marginLeft:l+1,marginTop:a+1})});this.inverted&&[].forEach.call(n.childNodes,function(t){h.invertChild(t,n)});"SPAN"===n.tagName&&(t=this.rotation,f=this.textWidth&&o(this.textWidth),c=[t,e,n.innerHTML,this.textWidth,this.textAlign].join(),!(i=f!==this.oldTextWidth)||(i=f>this.oldTextWidth)||((i=this.textPxLength)||(r(n,{width:"",whiteSpace:s||"nowrap"}),i=n.offsetWidth),i=i>f),i&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)?(r(n,{width:f+"px",display:"block",whiteSpace:s||"normal"}),this.oldTextWidth=f,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,c!==this.cTT&&(s=h.fontMetrics(n.style.fontSize,n).b,!u(t)||t===(this.oldRotation||0)&&e===this.oldAlign||this.setSpanRotation(t,v,s),this.getSpanCorrection(!u(t)&&this.textPxLength||n.offsetWidth,s,v,t,e)),r(n,{left:y+(this.xCorr||0)+"px",top:p+(this.yCorr||0)+"px"}),this.cTT=c,this.oldRotation=t,this.oldAlign=e)}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var u={},f=this.renderer.getTransformKey();u[f]=u.transform="rotate("+n+"deg)";u[f+(s?"Origin":"-origin")]=u.transformOrigin=100*t+"% "+i+"px";r(this.element,u)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}}),t}),i(t,"Core/Renderer/HTML/HTMLRenderer.js",[t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(n,t,i,r){var e=n.isFirefox,o=n.isMS,s=n.isWebKit,u=n.win,h=r.attr,c=r.createElement,f=r.extend,l=r.pick;return f(i.prototype,{getTransformKey:function(){return o&&!/Edge/.test(u.navigator.userAgent)?"-ms-transform":s?"-webkit-transform":e?"MozTransform":u.opera?"-o-transform":""},html:function(n,i,r){var u=this.createElement("span"),e=u.element,o=u.renderer,s=o.isSVG,a=function(n,i){["opacity","visibility"].forEach(function(r){n[r+"Setter"]=function(u,f,e){var o=n.div?n.div.style:i;t.prototype[r+"Setter"].call(this,u,f,e);o&&(o[f]=u)}});n.addedSetters=!0};return u.textSetter=function(n){n!==e.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=n;e.innerHTML=l(n,"");u.doTransform=!0},s&&a(u,u.element.style),u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){"align"===t?u.alignValue=u.textAlign=n:u[t]=n;u.doTransform=!0},u.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},u.attr({text:n,x:Math.round(i),y:Math.round(r)}).css({position:"absolute"}),o.styledMode||u.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),e.style.whiteSpace="nowrap",u.css=u.htmlCss,s&&(u.add=function(n){var r=o.box.parentNode,i=[],t;if(this.parentGroup=n){if(t=n.div,!t){for(;n;)i.push(n),n=n.parentGroup;i.reverse().forEach(function(n){function o(t,i){n[i]=t;"translateX"===i?e.left=t+"px":e.top=t+"px";n.doTransform=!0}var s=h(n.element,"class"),e;t=n.div=n.div||c("div",s?{className:s}:void 0,{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px",display:n.display,opacity:n.opacity,pointerEvents:n.styles&&n.styles.pointerEvents},t||r);e=t.style;f(n,{classSetter:function(n){return function(t){this.element.setAttribute("class",t);n.className=t}}(t),on:function(){return i[0].div&&u.on.apply({element:i[0].div},arguments),n},translateXSetter:o,translateYSetter:o});n.addedSetters||a(n)})}}else t=r;return t.appendChild(e),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}}),i}),i(t,"Core/Axis/Tick.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var s=t.clamp,u=t.correctFloat,f=t.defined,h=t.destroyObjectProperties,c=t.extend,r=t.fireEvent,o=t.isNumber,l=t.merge,a=t.objectEach,i=t.pick,e=n.deg2rad;return t=function(){function n(n,t,i,u,f){this.isNewLabel=this.isNew=!0;this.axis=n;this.pos=t;this.type=i||"";this.parameters=f||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;r(this,"init");i||u||this.addLabel()}return n.prototype.addLabel=function(){var n=this,r=n.axis,o=r.options,w=r.chart,l=r.categories,b=r.logarithmic,a=r.names,s=n.pos,h=i(n.options&&n.options.labels,o.labels),e=r.tickPositions,k=s===e[0],d=s===e[e.length-1],t,v,p,y,g;a=this.parameters.category||(l?i(l[s],a[s],s):s);t=n.label;l=(!h.step||1===h.step)&&1===r.tickInterval;e=e.info;r.dateTime&&e&&(y=w.time.resolveDTLFormat(o.dateTimeLabelFormats[!o.grid&&e.higherRanks[s]||e.unitName]),g=y.main);n.isFirst=k;n.isLast=d;n.formatCtx={axis:r,chart:w,isFirst:k,isLast:d,dateTimeLabelFormat:g,tickPositionInfo:e,value:b?u(b.lin2log(a)):a,pos:s};o=r.labelFormatter.call(n.formatCtx,this.formatCtx);(p=y&&y.list)&&(n.shortenLabel=function(){for(v=0;v<p.length;v++)if(t.attr({text:r.labelFormatter.call(c(n.formatCtx,{dateTimeLabelFormat:p[v]}))}),t.getBBox().width<r.getSlotWidth(n)-2*i(h.padding,5))return;t.attr({text:""})});l&&r._addedPlotLB&&n.moveLabel(o,h);f(t)||n.movedLabel?t&&t.textStr!==o&&!l&&(!t.textWidth||h.style&&h.style.width||t.styles.width||t.css({width:null}),t.attr({text:o}),t.textPxLength=t.getBBox().width):(n.label=t=n.createLabel({x:0,y:0},o,h),n.rotation=0)},n.prototype.createLabel=function(n,t,i){var r=this.axis,u=r.chart;return(n=f(t)&&i.enabled?u.renderer.text(t,n.x,n.y,i.useHTML).add(r.labelGroup):null)&&(u.styledMode||n.css(l(i.style)),n.textPxLength=n.getBBox().width),n},n.prototype.destroy=function(){h(this,this.axis)},n.prototype.getPosition=function(n,t,i,f){var e=this.axis,o=e.chart,h=f&&o.oldChartHeight||o.chartHeight;return n={x:n?u(e.translate(t+i,null,null,f)+e.transB):e.left+e.offset+(e.opposite?(f&&o.oldChartWidth||o.chartWidth)-e.right-e.left:0),y:n?h-e.bottom+e.offset-(e.opposite?e.height:0):u(h-e.translate(t+i,null,null,f)-e.transB)},n.y=s(n.y,-1e5,1e5),r(this,"afterGetPosition",{pos:n}),n},n.prototype.getLabelPosition=function(n,t,i,u,o,s,h,c){var l=this.axis,w=l.transA,b=l.isLinked&&l.linkedParent?l.linkedParent.reversed:l.reversed,a=l.staggerLines,y=l.tickRotCorr||{x:0,y:0},p=o.y,k=u||l.reserveSpaceDefault?0:-l.labelOffset*("center"===l.labelAlign?.5:1),v={};return f(p)||(p=0===l.side?i.rotation?-8:-i.getBBox().height:2===l.side?y.y+8:Math.cos(i.rotation*e)*(y.y-i.getBBox(!1,0).height/2)),n=n+o.x+k+y.x-(s&&u?s*w*(b?-1:1):0),t=t+p-(s&&!u?s*w*(b?1:-1):0),a&&(i=h/(c||1)%a,l.opposite&&(i=a-i-1),t+=l.labelOffset/a*i),v.x=n,v.y=Math.round(t),r(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:s,index:h}),v},n.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},n.prototype.getMarkPath=function(n,t,i,r,u,f){return f.crispLine([["M",n,t],["L",n+(u?0:-i),t+(u?i:0)]],r)},n.prototype.handleOverflow=function(n){var t=this.axis,w=t.options.labels,f=n.x,a=t.chart.chartWidth,o=t.chart.spacing,v=i(t.labelLeft,Math.min(t.pos,o[3]));o=i(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,a-o[1]));var y=this.label,h=this.rotation,u={left:0,center:.5,right:1}[t.labelAlign||y.attr("align")],s=y.getBBox().width,c=t.getSlotWidth(this),r=c,b=1,l,p={};h||"justify"!==i(w.overflow,"justify")?0>h&&f-u*s<v?l=Math.round(f/Math.cos(h*e)-v):0<h&&f+u*s>o&&(l=Math.round((a-f)/Math.cos(h*e))):(a=f+(1-u)*s,f-u*s<v?r=n.x+r*(1-u)-v:a>o&&(r=o-n.x+r*u,b=-1),r=Math.min(c,r),r<c&&"center"===t.labelAlign&&(n.x+=b*(c-r-u*(c-Math.min(s,r)))),s>r||t.autoRotation&&(y.styles||{}).width)&&(l=r);l&&(this.shortenLabel?this.shortenLabel():(p.width=Math.floor(l)+"px",(w.style||{}).textOverflow||(p.textOverflow="ellipsis"),y.css(p)))},n.prototype.moveLabel=function(n,t){var i=this,u=i.label,f=!1,r=i.axis,o=r.reversed,e;u&&u.textStr===n?(i.movedLabel=u,f=!0,delete i.label):a(r.ticks,function(t){f||t.isNew||t===i||!t.label||t.label.textStr!==n||(i.movedLabel=t.label,f=!0,t.labelPos=i.movedLabel.xy,delete t.label)});!f&&(i.labelPos||u)&&(e=i.labelPos||u.xy,u=r.horiz?o?0:r.width+r.left:e.x,r=r.horiz?e.y:o?r.width+r.left:0,i.movedLabel=i.createLabel({x:u,y:r},n,t),i.movedLabel&&i.movedLabel.attr({opacity:0}))},n.prototype.render=function(n,t,u){var f=this.axis,o=f.horiz,e=this.pos,s=i(this.tickmarkOffset,f.tickmarkOffset),h;e=this.getPosition(o,e,s,t);s=e.x;h=e.y;f=o&&s===f.pos+f.len||!o&&h===f.pos?-1:1;u=i(u,1);this.isActive=!0;this.renderGridLine(t,u,f);this.renderMark(e,u,f);this.renderLabel(e,t,u,n);this.isNew=!1;r(this,"afterRender")},n.prototype.renderGridLine=function(n,t,r){var u=this.axis,f=u.options,e=this.gridLine,o={},c=this.pos,s=this.type,l=i(this.tickmarkOffset,u.tickmarkOffset),a=u.chart.renderer,h=s?s+"Grid":"grid",v=f[h+"LineWidth"],y=f[h+"LineColor"];f=f[h+"LineDashStyle"];e||(u.chart.styledMode||(o.stroke=y,o["stroke-width"]=v,f&&(o.dashstyle=f)),s||(o.zIndex=1),n&&(t=0),this.gridLine=e=a.path().attr(o).addClass("highcharts-"+(s?s+"-":"")+"grid-line").add(u.gridGroup));e&&(r=u.getPlotLinePath({value:c+l,lineWidth:e.strokeWidth()*r,force:"pass",old:n}))&&e[n||this.isNew?"attr":"animate"]({d:r,opacity:t})},n.prototype.renderMark=function(n,t,r){var u=this.axis,o=u.options,c=u.chart.renderer,f=this.type,h=f?f+"Tick":"tick",s=u.tickSize(h),e=this.mark,l=!e,v=n.x,a;n=n.y;a=i(o[h+"Width"],!f&&u.isXAxis?1:0);o=o[h+"Color"];s&&(u.opposite&&(s[0]=-s[0]),l&&(this.mark=e=c.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(u.axisGroup),u.chart.styledMode||e.attr({stroke:o,"stroke-width":a})),e[l?"attr":"animate"]({d:this.getMarkPath(v,n,s[0],e.strokeWidth()*r,u.horiz,c),opacity:t}))},n.prototype.renderLabel=function(n,t,r,u){var f=this.axis,v=f.horiz,c=f.options,e=this.label,s=c.labels,l=s.step,h,a;f=i(this.tickmarkOffset,f.tickmarkOffset);h=!0;a=n.x;n=n.y;e&&o(a)&&(e.xy=n=this.getLabelPosition(a,n,e,v,s,f,u,l),this.isFirst&&!this.isLast&&!i(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!i(c.showLastLabel,1)?h=!1:!v||s.step||s.rotation||t||0===r||this.handleOverflow(n),l&&u%l&&(h=!1),h&&o(n.y)?(n.opacity=r,e[this.isNewLabel?"attr":"animate"](n),this.isNewLabel=!1):(e.attr("y",-9999),this.isNewLabel=!0))},n.prototype.replaceMovedLabel=function(){var t=this.label,n=this.axis,i=n.reversed,r;t&&!this.isNew&&(r=n.horiz?i?n.left:n.width+n.left:t.xy.x,i=n.horiz?t.xy.y:i?n.width+n.top:n.top,t.animate({x:r,y:i,opacity:0},void 0,t.destroy),delete this.label);n.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel},n}(),n.Tick=t,n.Tick}),i(t,"Core/Time.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var e=t.defined,s=t.error,o=t.extend,h=t.isObject,c=t.merge,l=t.objectEach,r=t.pad,u=t.pick,a=t.splat,i=t.timeUnits,f=n.win;return t=function(){function t(n){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=f.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(n)}return t.prototype.get=function(n,t){if(this.variableTimezone||this.timezoneOffset){var i=t.getTime(),r=i-this.getTimezoneOffset(t);return t.setTime(r),n=t["getUTC"+n](),t.setTime(i),n}return this.useUTC?t["getUTC"+n]():t["get"+n]()},t.prototype.set=function(n,t,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===n||"Seconds"===n||"Minutes"===n)return t["setUTC"+n](i);var r=this.getTimezoneOffset(t);return r=t.getTime()-r,t.setTime(r),t["setUTC"+n](i),n=this.getTimezoneOffset(t),r=t.getTime()+n,t.setTime(r)}return this.useUTC?t["setUTC"+n](i):t["set"+n](i)},t.prototype.update=function(n){var t=u(n&&n.useUTC,!0);this.options=n=c(!0,this.options||{},n);this.Date=n.Date||f.Date||Date;this.timezoneOffset=(this.useUTC=t)&&n.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=!(t&&!n.getTimezoneOffset&&!n.timezone)},t.prototype.makeTime=function(t,i,r,f,e,o){var s,h,c;return this.useUTC?(s=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(s),s+=h,c=this.getTimezoneOffset(s),h!==c?s+=c-h:h-36e5!==this.getTimezoneOffset(s-36e5)||n.isSafari||(s-=36e5)):s=new this.Date(t,i,u(r,1),u(f,0),u(e,0),u(o,0)).getTime(),s},t.prototype.timezoneOffsetFunction=function(){var i=this,n=this.options,t=n.moment||f.moment;if(!this.useUTC)return function(n){return 6e4*new Date(n.toString()).getTimezoneOffset()};if(n.timezone){if(t)return function(i){return 6e4*-t.tz(i,n.timezone).utcOffset()};s(25)}return this.useUTC&&n.getTimezoneOffset?function(t){return 6e4*n.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(i.timezoneOffset||0)}},t.prototype.dateFormat=function(t,i,f){var s,y;if(!e(i)||isNaN(i))return(null===(s=n.defaultOptions.lang)||void 0===s?void 0:s.invalidDate)||"";t=u(t,"%Y-%m-%d %H:%M:%S");y=this;s=new this.Date(i);var c=this.get("Hours",s),a=this.get("Day",s),p=this.get("Date",s),v=this.get("Month",s),w=this.get("FullYear",s),h=n.defaultOptions.lang,b=null===h||void 0===h?void 0:h.weekdays,k=null===h||void 0===h?void 0:h.shortWeekdays;return s=o({a:k?k[a]:b[a].substr(0,3),A:b[a],d:r(p),e:r(p,2," "),w:a,b:h.shortMonths[v],B:h.months[v],m:r(v+1),o:v+1,y:w.toString().substr(2,2),Y:w,H:r(c),k:c,I:r(c%12||12),l:c%12||12,M:r(this.get("Minutes",s)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:r(s.getSeconds()),L:r(Math.floor(i%1e3),3)},n.dateFormats),l(s,function(n,r){for(;-1!==t.indexOf("%"+r);)t=t.replace("%"+r,"function"==typeof n?n.call(y,i):n)}),f?t.substr(0,1).toUpperCase()+t.substr(1):t},t.prototype.resolveDTLFormat=function(n){return h(n,!0)?n:(n=a(n),{main:n[0],from:n[1],to:n[2]})},t.prototype.getTimeTicks=function(n,t,r,f){var s=this,v=[],w={},h=new s.Date(t),c=n.unitRange,l=n.count||1,y,a,p,b;if(f=u(f,1),e(t)){for(s.set("Milliseconds",h,c>=i.second?0:l*Math.floor(s.get("Milliseconds",h)/l)),c>=i.second&&s.set("Seconds",h,c>=i.minute?0:l*Math.floor(s.get("Seconds",h)/l)),c>=i.minute&&s.set("Minutes",h,c>=i.hour?0:l*Math.floor(s.get("Minutes",h)/l)),c>=i.hour&&s.set("Hours",h,c>=i.day?0:l*Math.floor(s.get("Hours",h)/l)),c>=i.day&&s.set("Date",h,c>=i.month?1:Math.max(1,l*Math.floor(s.get("Date",h)/l))),c>=i.month&&(s.set("Month",h,c>=i.year?0:l*Math.floor(s.get("Month",h)/l)),a=s.get("FullYear",h)),c>=i.year&&s.set("FullYear",h,a-a%l),c===i.week&&(a=s.get("Day",h),s.set("Date",h,s.get("Date",h)-a+f+(a<f?-7:0))),a=s.get("FullYear",h),f=s.get("Month",h),p=s.get("Date",h),b=s.get("Hours",h),t=h.getTime(),s.variableTimezone&&(y=r-t>4*i.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(r)),t=h.getTime(),h=1;t<r;)v.push(t),t=c===i.year?s.makeTime(a+h*l,0):c===i.month?s.makeTime(a,f+h*l):!y||c!==i.day&&c!==i.week?y&&c===i.hour&&1<l?s.makeTime(a,f,p,b+h*l):t+c*l:s.makeTime(a,f,p+h*l*(c===i.day?1:7)),h++;v.push(t);c<=i.hour&&1e4>v.length&&v.forEach(function(n){0==n%18e5&&"000000000"===s.dateFormat("%H%M%S%L",n)&&(w[n]="day")})}return v.info=o(n,{higherRanks:w,totalRange:c*l}),v},t}(),n.Time=t,n.Time}),i(t,"Core/Options.js",[t["Core/Globals.js"],t["Core/Color/Color.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(n,t,i,r){var u=n.isTouchDevice,f=n.svg;return t=t.parse,r=r.merge,n.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:f,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:u?25:10,headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{point.color}">●<\/span> {series.name}: <b>{point.y}<\/b><br/>',backgroundColor:t("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}},n.time=new i(r(n.defaultOptions.global,n.defaultOptions.time)),n.dateFormat=function(t,i,r){return n.time.dateFormat(t,i,r)},{dateFormat:n.dateFormat,defaultOptions:n.defaultOptions,time:n.time}}),i(t,"Core/Axis/Axis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Axis/Tick.js"],t["Core/Utilities.js"],t["Core/Options.js"]],function(n,t,i,r,u,f){var g=n.animObject,nt=u.addEvent,p=u.arrayMax,tt=u.arrayMin,w=u.clamp,c=u.correctFloat,o=u.defined,it=u.destroyObjectProperties,v=u.error,b=u.extend,s=u.fireEvent,rt=u.format,ut=u.getMagnitude,ft=u.isArray,et=u.isFunction,h=u.isNumber,k=u.isString,y=u.merge,ot=u.normalizeTickInterval,l=u.objectEach,e=u.pick,a=u.relativeLength,st=u.removeEvent,ht=u.splat,ct=u.syncTimeout,d=f.defaultOptions,lt=i.deg2rad;return n=function(){function n(n,t){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.oldMin=this.oldMax=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0;this.init(n,t)}return n.prototype.init=function(n,t){var u=t.isX,i=this,r,f;i.chart=n;i.horiz=n.inverted&&!i.isZAxis?!u:u;i.isXAxis=u;i.coll=i.coll||(u?"xAxis":"yAxis");s(this,"init",{userOptions:t});i.opposite=t.opposite;i.side=t.side||(i.horiz?i.opposite?0:2:i.opposite?1:3);i.setOptions(t);r=this.options;f=r.type;i.labelFormatter=r.labels.formatter||i.defaultLabelFormatter;i.userOptions=t;i.minPixelPadding=0;i.reversed=r.reversed;i.visible=!1!==r.visible;i.zoomEnabled=!1!==r.zoomEnabled;i.hasNames="category"===f||!0===r.categories;i.categories=r.categories||i.hasNames;i.names||(i.names=[],i.names.keys={});i.plotLinesAndBandsGroups={};i.positiveValuesOnly=!!i.logarithmic;i.isLinked=o(r.linkedTo);i.ticks={};i.labelEdge=[];i.minorTicks={};i.plotLinesAndBands=[];i.alternateBands={};i.len=0;i.minRange=i.userMinRange=r.minRange||r.maxZoom;i.range=r.range;i.offset=r.offset||0;i.max=null;i.min=null;i.crosshair=e(r.crosshair,ht(n.options.tooltip.crosshairs)[u?0:1],!1);t=i.options.events;-1===n.axes.indexOf(i)&&(u?n.axes.splice(n.xAxis.length,0,i):n.axes.push(i),n[i.coll].push(i));i.series=i.series||[];n.inverted&&!i.isZAxis&&u&&"undefined"==typeof i.reversed&&(i.reversed=!0);i.labelRotation=i.options.labels.rotation;l(t,function(n,t){et(n)&&nt(i,t,n)});s(this,"afterInit")},n.prototype.setOptions=function(t){this.options=y(n.defaultOptions,"yAxis"===this.coll&&n.defaultYAxisOptions,[n.defaultTopAxisOptions,n.defaultRightAxisOptions,n.defaultBottomAxisOptions,n.defaultLeftAxisOptions][this.side],y(d[this.coll],t));s(this,"afterSetOptions",{userOptions:t})},n.prototype.defaultLabelFormatter=function(){var n=this.axis,t=h(this.value)?this.value:NaN,u=n.chart.time,a=n.categories,l=this.dateTimeLabelFormat,f=d.lang,e=f.numericSymbols,r,s,c,o,i;if(f=f.numericSymbolMagnitude||1e3,r=e&&e.length,s=n.options.labels.format,n=n.logarithmic?Math.abs(t):n.tickInterval,c=this.chart,o=c.numberFormatter,s)i=rt(s,this,c);else if(a)i=""+this.value;else if(l)i=u.dateFormat(l,t);else if(r&&1e3<=n)for(;r--&&"undefined"==typeof i;)u=Math.pow(f,r+1),n>=u&&0==10*t%u&&null!==e[r]&&0!==t&&(i=o(t/u,-1)+e[r]);return"undefined"==typeof i&&(i=1e4<=Math.abs(t)?o(t,-1):o(t,-1,void 0,"")),i},n.prototype.getSeriesExtremes=function(){var n=this,i=n.chart,t;s(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1;n.dataMin=n.dataMax=n.threshold=null;n.softThreshold=!n.isXAxis;n.stacking&&n.stacking.buildStacks();n.series.forEach(function(r){var u,c,f,s;(r.visible||!i.options.chart.ignoreHiddenSeries)&&(u=r.options,c=u.threshold,n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=c&&(c=null),n.isXAxis?(u=r.xData,u.length)&&(u=n.logarithmic?u.filter(n.validatePositiveValue):u,t=r.getXExtremes(u),f=t.min,s=t.max,h(f)||f instanceof Date||(u=u.filter(h),t=r.getXExtremes(u),f=t.min,s=t.max),u.length&&(n.dataMin=Math.min(e(n.dataMin,f),f),n.dataMax=Math.max(e(n.dataMax,s),s))):(r=r.applyExtremes(),h(r.dataMin)&&(f=r.dataMin,n.dataMin=Math.min(e(n.dataMin,f),f)),h(r.dataMax)&&(s=r.dataMax,n.dataMax=Math.max(e(n.dataMax,s),s)),o(c)&&(n.threshold=c),!u.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1))})});s(this,"afterGetSeriesExtremes")},n.prototype.translate=function(n,t,i,r,u,f){var e=this.linkedParent||this,o=1,c=0,s=r?e.oldTransA:e.transA,l;return r=r?e.oldMin:e.min,l=e.minPixelPadding,u=(e.isOrdinal||e.brokenAxis&&e.brokenAxis.hasBreaks||e.logarithmic&&u)&&e.lin2val,s||(s=e.transA),i&&(o*=-1,c=e.len),e.reversed&&(o*=-1,c-=o*(e.sector||e.len)),t?(n=(n*o+c-l)/s+r,u&&(n=e.lin2val(n))):(u&&(n=e.val2lin(n)),n=h(r)?o*(n-r)*s+c+o*l+(h(f)?s*f:0):void 0),n},n.prototype.toPixels=function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},n.prototype.toValue=function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},n.prototype.getPlotLinePath=function(n){function b(n,t,i){return("pass"!==u&&n<t||n>i)&&(u?n=w(n,t,i):p=!0),n}var t=this,r=t.chart,v=t.left,y=t.top,c=n.old,k=n.value,i=n.translatedValue,d=n.lineWidth,u=n.force,f,o,l,a,g=c&&r.oldChartHeight||r.chartHeight,tt=c&&r.oldChartWidth||r.chartWidth,p,nt=t.transB;return n={value:k,lineWidth:d,old:c,force:u,acrossPanes:n.acrossPanes,translatedValue:i},s(this,"getPlotLinePath",n,function(n){i=e(i,t.translate(k,null,null,c));i=w(i,-1e5,1e5);f=l=Math.round(i+nt);o=a=Math.round(g-i-nt);h(i)?t.horiz?(o=y,a=g-t.bottom,f=l=b(f,v,v+t.width)):(f=v,l=tt-t.right,o=a=b(o,y,y+t.height)):(p=!0,u=!1);n.path=p&&!u?null:r.renderer.crispLine([["M",f,o],["L",l,a]],d||1)}),n.path},n.prototype.getLinearTickPositions=function(n,t,i){var r=c(Math.floor(t/n)*n),u,f,e;if(i=c(Math.ceil(i/n)*n),u=[],c(r+n)===r&&(f=20),this.single)return[t];for(t=r;t<=i;){if(u.push(t),t=c(t+n,f),t===e)break;e=t}return u},n.prototype.getMinorTickInterval=function(){var n=this.options;return!0===n.minorTicks?e(n.minorTickInterval,"auto"):!1===n.minorTicks?null:n.minorTickInterval},n.prototype.getMinorTickPositions=function(){var t=this.options,o=this.tickPositions,r=this.minorTickInterval,n=[],i=this.pointRangePadding||0,u=this.min-i,f,e;if(i=this.max+i,f=i-u,f&&f/r<this.len/3)if(e=this.logarithmic,e)this.paddedTicks.forEach(function(t,i,u){i&&n.push.apply(n,e.getLogTickPositions(r,u[i-1],u[i],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(r),u,i,t.startOfWeek));else for(t=u+(o[0]-u)%r;t<=i&&t!==n[0];t+=r)n.push(t);return 0!==n.length&&this.trimTicks(n),n},n.prototype.adjustForMinRange=function(){var u=this.options,n=this.min,t=this.max,c=this.logarithmic,s,f,l,h,v;if(this.isXAxis&&"undefined"==typeof this.minRange&&!c&&(o(u.min)||o(u.max)?this.minRange=null:(this.series.forEach(function(n){for(h=n.xData,f=v=n.xIncrement?1:h.length-1;0<f;f--)(l=h[f]-h[f-1],"undefined"==typeof s||l<s)&&(s=l)}),this.minRange=Math.min(5*s,this.dataMax-this.dataMin))),t-n<this.minRange){var a=this.dataMax-this.dataMin>=this.minRange,r=this.minRange,i=(r-t+n)/2;i=[n-i,e(u.min,n-i)];a&&(i[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);n=p(i);t=[n+r,e(u.max,n+r)];a&&(t[2]=c?c.log2lin(this.dataMax):this.dataMax);t=tt(t);t-n<r&&(i[0]=t-r,i[1]=e(u.min,t-r),n=p(i))}this.min=n;this.max=t},n.prototype.getClosest=function(){var n;return this.categories?n=1:this.series.forEach(function(t){var i=t.closestPointRange,r=t.visible||!t.chart.options.chart.ignoreHiddenSeries;!t.noSharedTooltip&&o(i)&&r&&(n=o(n)?Math.min(n,i):i)}),n},n.prototype.nameToX=function(n){var r=ft(this.categories),u=r?this.categories:this.names,i=n.options.x,t;return n.series.requireSorting=!1,o(i)||(i=!1===this.options.uniqueNames?n.series.autoIncrement():r?u.indexOf(n.name):e(u.keys[n.name],-1)),-1===i?r||(t=u.length):t=i,"undefined"!=typeof t&&(this.names[t]=n.name,this.names.keys[n.name]=t),t},n.prototype.updateNames=function(){var t=this,n=this.names;0<n.length&&(Object.keys(n.keys).forEach(function(t){delete n.keys[t]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(n){n.xIncrement=null;(!n.points||n.isDirtyData)&&(t.max=Math.max(t.max,n.xData.length-1),n.processData(),n.generatePoints());n.data.forEach(function(i,r){if(i&&i.options&&"undefined"!=typeof i.name){var u=t.nameToX(i);"undefined"!=typeof u&&u!==i.x&&(i.x=u,n.xData[r]=u)}})}))},n.prototype.setAxisTranslation=function(n){var t=this,a=t.max-t.min,h=t.axisPointRange||0,r=0,u=0,i=t.linkedParent,c=!!t.categories,l=t.transA,f=t.isXAxis,o;(f||c||h)&&(o=t.getClosest(),i?(r=i.minPointOffset,u=i.pointRangePadding):t.series.forEach(function(n){var i=c?1:f?e(n.options.pointRange,o,0):t.axisPointRange||0,s=n.options.pointPlacement;h=Math.max(h,i);(!t.single||c)&&(n=n.is("xrange")?!f:f,r=Math.max(r,n&&k(s)?0:i/2),u=Math.max(u,n&&"on"===s?0:i))}),i=t.ordinal&&t.ordinal.slope&&o?t.ordinal.slope/o:1,t.minPointOffset=r*=i,t.pointRangePadding=u*=i,t.pointRange=Math.min(h,t.single&&c?1:a),f&&(t.closestPointRange=o));n&&(t.oldTransA=l);t.translationSlope=t.transA=l=t.staticScale||t.len/(a+u||1);t.transB=t.horiz?t.left:t.bottom;t.minPixelPadding=l*r;s(this,"afterSetAxisTranslation")},n.prototype.minFromRange=function(){return this.max-this.range},n.prototype.setTickInterval=function(n){var t=this,f=t.chart,w=t.logarithmic,i=t.options,it=t.isXAxis,p=t.isLinked,b=i.maxPadding,k=i.minPadding,l=i.tickInterval,d=i.tickPixelInterval,g=t.categories,r=h(t.threshold)?t.threshold:null,nt=t.softThreshold,a,y,u,tt;t.dateTime||g||p||this.getTickAmount();a=e(t.userMin,i.min);y=e(t.userMax,i.max);p?(t.linkedParent=f[t.coll][i.linkedTo],u=t.linkedParent.getExtremes(),t.min=e(u.min,u.dataMin),t.max=e(u.max,u.dataMax),i.type!==t.linkedParent.options.type&&v(11,1,f)):(nt&&o(r)&&(t.dataMin>=r?(u=r,k=0):t.dataMax<=r&&(tt=r,b=0)),t.min=e(a,u,t.dataMin),t.max=e(y,tt,t.dataMax));w&&(t.positiveValuesOnly&&!n&&0>=Math.min(t.min,e(t.dataMin,t.min))&&v(10,1,f),t.min=c(w.log2lin(t.min),16),t.max=c(w.log2lin(t.max),16));t.range&&o(t.max)&&(t.userMin=t.min=a=Math.max(t.dataMin,t.minFromRange()),t.userMax=y=t.max,t.range=null);s(t,"foundExtremes");t.beforePadding&&t.beforePadding();t.adjustForMinRange();!(g||t.axisPointRange||t.stacking&&t.stacking.usePercentage||p)&&o(t.min)&&o(t.max)&&(f=t.max-t.min)&&(!o(a)&&k&&(t.min-=f*k),!o(y)&&b&&(t.max+=f*b));h(t.userMin)||(h(i.softMin)&&i.softMin<t.min&&(t.min=a=i.softMin),h(i.floor)&&(t.min=Math.max(t.min,i.floor)));h(t.userMax)||(h(i.softMax)&&i.softMax>t.max&&(t.max=y=i.softMax),h(i.ceiling)&&(t.max=Math.min(t.max,i.ceiling)));nt&&o(t.dataMin)&&(r=r||0,!o(a)&&t.min<r&&t.dataMin>=r?t.min=t.options.minRange?Math.min(r,t.max-t.minRange):r:!o(y)&&t.max>r&&t.dataMax<=r&&(t.max=t.options.minRange?Math.max(r,t.min+t.minRange):r));t.tickInterval=t.min===t.max||"undefined"==typeof t.min||"undefined"==typeof t.max?1:p&&!l&&d===t.linkedParent.options.tickPixelInterval?l=t.linkedParent.tickInterval:e(l,this.tickAmount?(t.max-t.min)/Math.max(this.tickAmount-1,1):void 0,g?1:(t.max-t.min)*d/Math.max(t.len,d));it&&!n&&t.series.forEach(function(n){n.processData(t.min!==t.oldMin||t.max!==t.oldMax)});t.setAxisTranslation(!0);s(this,"initialAxisTranslation");t.pointRange&&!l&&(t.tickInterval=Math.max(t.pointRange,t.tickInterval));n=e(i.minTickInterval,t.dateTime&&!t.series.some(function(n){return n.noSharedTooltip})?t.closestPointRange:0);!l&&t.tickInterval<n&&(t.tickInterval=n);t.dateTime||t.logarithmic||l||(t.tickInterval=ot(t.tickInterval,void 0,ut(t.tickInterval),e(i.allowDecimals,.5>t.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount||(t.tickInterval=t.unsquish());this.setTickPositions()},n.prototype.setTickPositions=function(){var t=this.options,u=t.tickPositions,n=this.getMinorTickInterval(),i=t.tickPositioner,r=this.hasVerticalPanning(),f="colorAxis"===this.coll,e=(f||!r)&&t.startOnTick;r=(f||!r)&&t.endOnTick;this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===n&&this.tickInterval?this.tickInterval/5:n;this.single=this.min===this.max&&o(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals);this.tickPositions=n=u&&u.slice();!n&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?n=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(n=[this.min,this.max],v(19,!1,this.chart)),n.length>this.len&&(n=[n[0],n.pop()],n[0]===n[1]&&(n.length=1)),this.tickPositions=n,i&&(i=i.apply(this,[this.min,this.max])))&&(this.tickPositions=n=i);this.paddedTicks=n.slice(0);this.trimTicks(n,e,r);this.isLinked||(this.single&&2>n.length&&!this.categories&&!this.series.some(function(n){return n.is("heatmap")&&"between"===n.options.pointPlacement})&&(this.min-=.5,this.max+=.5),u||i||this.adjustTickAmount());s(this,"afterSetTickPositions")},n.prototype.trimTicks=function(n,t,i){var r=n[0],u=n[n.length-1],f=!this.isOrdinal&&this.minPointOffset||0;if(s(this,"trimTicks"),!this.isLinked){if(t&&-Infinity!==r)this.min=r;else for(;this.min-f>n[0];)n.shift();if(i)this.max=u;else for(;this.max+f<n[n.length-1];)n.pop();0===n.length&&o(r)&&!this.options.tickPositions&&n.push((u+r)/2)}},n.prototype.alignToOthers=function(){var t={},i,n=this.options;return!1===this.chart.options.chart.alignTicks||!1===n.alignTicks||!1===n.startOnTick||!1===n.endOnTick||this.logarithmic||this.chart[this.coll].forEach(function(n){var r=n.options;r=[n.horiz?r.left:r.top,r.width,r.height,r.pane].join();n.series.length&&(t[r]?i=!0:t[r]=1)}),i},n.prototype.getTickAmount=function(){var t=this.options,n=t.tickAmount,i=t.tickPixelInterval;!o(t.tickInterval)&&!n&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(n=2);!n&&this.alignToOthers()&&(n=Math.ceil(this.len/i)+1);4>n&&(this.finalTickAmt=n,n=5);this.tickAmount=n},n.prototype.adjustTickAmount=function(){var i=this.options,t=this.tickInterval,n=this.tickPositions,r=this.tickAmount,u=this.finalTickAmt,f=n&&n.length,h=e(this.threshold,this.softThreshold?0:null),s;if(this.hasData()){if(f<r){for(s=this.min;n.length<r;)n.length%2||s===h?n.push(c(n[n.length-1]+t)):n.unshift(c(n[0]-t));this.transA*=(f-1)/(r-1);this.min=i.startOnTick?n[0]:Math.min(this.min,n[0]);this.max=i.endOnTick?n[n.length-1]:Math.max(this.max,n[n.length-1])}else f>r&&(this.tickInterval*=2,this.setTickPositions());if(o(u)){for(t=i=n.length;t--;)(3===u&&1==t%2||2>=u&&0<t&&t<i-1)&&n.splice(t,1);this.finalTickAmt=void 0}}},n.prototype.setScale=function(){var i,n=!1,t=!1;this.series.forEach(function(i){var r;n=n||i.isDirtyData||i.isDirty;t=t||(null===(r=i.xAxis)||void 0===r?void 0:r.isDirty)||!1});this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(i=this.len!==this.oldAxisLength)||n||t||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=i||this.min!==this.oldMin||this.max!==this.oldMax)):this.stacking&&this.stacking.cleanStacks();n&&this.panningState&&(this.panningState.isDirty=!0);s(this,"afterSetScale")},n.prototype.setExtremes=function(n,t,i,r,u){var f=this,o=f.chart;i=e(i,!0);f.series.forEach(function(n){delete n.kdTree});u=b(u,{min:n,max:t});s(f,"setExtremes",u,function(){f.userMin=n;f.userMax=t;f.eventArgs=u;i&&o.redraw(r)})},n.prototype.zoom=function(n,t){var i=this,f=this.dataMin,h=this.dataMax,c=this.options,r=Math.min(f,e(c.min,f)),u=Math.max(h,e(c.max,h));return n={newMin:n,newMax:t},s(this,"zoom",n,function(n){var t=n.newMin,e=n.newMax;(t!==i.min||e!==i.max)&&(i.allowZoomOutside||(o(f)&&(t<r&&(t=r),t>u&&(t=u)),o(h)&&(e<r&&(e=r),e>u&&(e=u))),i.displayBtn="undefined"!=typeof t||"undefined"!=typeof e,i.setExtremes(t,e,!1,void 0,{trigger:"zoom"}));n.zoomed=!0}),n.zoomed},n.prototype.setAxisSize=function(){var n=this.chart,t=this.options,i=t.offsets||[0,0,0,0],r=this.horiz,u=this.width=Math.round(a(e(t.width,n.plotWidth-i[3]+i[1]),n.plotWidth)),f=this.height=Math.round(a(e(t.height,n.plotHeight-i[0]+i[2]),n.plotHeight)),o=this.top=Math.round(a(e(t.top,n.plotTop+i[0]),n.plotHeight,n.plotTop));t=this.left=Math.round(a(e(t.left,n.plotLeft+i[3]),n.plotWidth,n.plotLeft));this.bottom=n.chartHeight-f-o;this.right=n.chartWidth-u-t;this.len=Math.max(r?u:f,0);this.pos=r?t:o},n.prototype.getExtremes=function(){var n=this.logarithmic;return{min:n?c(n.lin2log(this.min)):this.min,max:n?c(n.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},n.prototype.getThreshold=function(n){var t=this.logarithmic,i=t?t.lin2log(this.min):this.min;return t=t?t.lin2log(this.max):this.max,null===n||-Infinity===n?n=i:Infinity===n?n=t:i>n?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},n.prototype.autoLabelAlign=function(n){var t=(e(n,0)-90*this.side+720)%360;return n={align:"center"},s(this,"autoLabelAlign",n,function(n){15<t&&165>t?n.align="right":195<t&&345>t&&(n.align="left")}),n.align},n.prototype.tickSize=function(n){var i=this.options,t=i["tick"===n?"tickLength":"minorTickLength"],r=e(i["tick"===n?"tickWidth":"minorTickWidth"],"tick"===n&&this.isXAxis&&!this.categories?1:0),u;return r&&t&&("inside"===i[n+"Position"]&&(t=-t),u=[t,r]),n={tickSize:u},s(this,"afterTickSize",n),n.tickSize},n.prototype.labelMetrics=function(){var n=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[n]&&this.ticks[n].label)},n.prototype.unsquish=function(){var n=this.options.labels,p=this.horiz,t=this.tickInterval,r=t,u=this.len/(((this.categories?1:0)+this.max-this.min)/t),l,i=n.rotation,a=this.labelMetrics(),f,v=Number.MAX_VALUE,s,h=this.max-this.min,y=function(n){var i=n/(u||1);return i=1<i?Math.ceil(i):1,i*t>h&&Infinity!==n&&Infinity!==u&&h&&(i=Math.ceil(h/t)),c(i*t)};return p?(s=!n.staggerLines&&!n.step&&(o(i)?[i]:u<e(n.autoRotationLimit,80)&&n.autoRotation))&&s.forEach(function(n){if(n===i||n&&-90<=n&&90>=n){f=y(Math.abs(a.h/Math.sin(lt*n)));var t=f+Math.abs(n/360);t<v&&(v=t,l=n,r=f)}}):n.step||(r=y(a.h)),this.autoRotation=s,this.labelRotation=e(l,i),r},n.prototype.getSlotWidth=function(n){var i,r=this.chart,u=this.horiz,t=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),f=r.margin[3];if(n&&h(n.slotWidth))return n.slotWidth;if(u&&t&&2>(t.step||0))return t.rotation?0:(this.staggerLines||1)*this.len/e;if(!u){if(n=null===(i=null===t||void 0===t?void 0:t.style)||void 0===i?void 0:i.width,void 0!==n)return parseInt(n,10);if(f)return f-r.spacing[3]}return.33*r.chartWidth},n.prototype.renderUnsquish=function(){var h=this.chart,y=h.renderer,u=this.tickPositions,c=this.ticks,t=this.options.labels,v=t&&t.style||{},p=this.horiz,o=this.getSlotWidth(),f=Math.max(1,Math.round(o-2*(t.padding||5))),r={},s=this.labelMetrics(),l=t.style&&t.style.textOverflow,i=0,e,a,n;if(k(t.rotation)||(r.rotation=t.rotation||0),u.forEach(function(n){n=c[n];n.movedLabel&&n.replaceMovedLabel();n&&n.label&&n.label.textPxLength>i&&(i=n.label.textPxLength)}),this.maxLabelLength=i,this.autoRotation)i>f&&i>s.h?r.rotation=this.labelRotation:this.labelRotation=0;else if(o&&(e=f,!l))for(a="clip",f=u.length;!p&&f--;)n=u[f],(n=c[n].label)&&(n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>o&&n.css({width:o+"px"}),n.getBBox().height>this.len/u.length-(s.h-s.f)&&(n.specificTextOverflow="ellipsis"));r.rotation&&(e=i>.5*h.chartHeight?.33*h.chartHeight:i,l||(a="ellipsis"));(this.labelAlign=t.align||this.autoLabelAlign(this.labelRotation))&&(r.align=this.labelAlign);u.forEach(function(n){var t=(n=c[n])&&n.label,u=v.width,i={};t&&(t.attr(r),n.shortenLabel?n.shortenLabel():e&&!u&&"nowrap"!==v.whiteSpace&&(e<t.textPxLength||"SPAN"===t.element.tagName)?(i.width=e+"px",l||(i.textOverflow=t.specificTextOverflow||a),t.css(i)):t.styles&&t.styles.width&&!i.width&&!u&&t.css({width:null}),delete t.specificTextOverflow,n.rotation=r.rotation)},this);this.tickRotCorr=y.rotCorr(s.b,this.labelRotation||0,0!==this.side)},n.prototype.hasData=function(){return this.series.some(function(n){return n.hasData()})||this.options.showEmpty&&o(this.min)&&o(this.max)},n.prototype.addTitle=function(n){var f=this.chart.renderer,e=this.horiz,r=this.opposite,t=this.options.title,i,u=this.chart.styledMode;this.axisTitle||((i=t.textAlign)||(i=(e?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[t.align]),this.axisTitle=f.text(t.text,0,0,t.useHTML).attr({zIndex:7,rotation:t.rotation||0,align:i}).addClass("highcharts-axis-title"),u||this.axisTitle.css(y(t.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);u||t.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"});this.axisTitle[n?"show":"hide"](n)},n.prototype.generateTick=function(n){var t=this.ticks;t[n]?t[n].addLabel():t[n]=new r(this,n)},n.prototype.getOffset=function(){var n=this,r=n.chart,a=r.renderer,i=n.options,v=n.tickPositions,w=n.ticks,f=n.horiz,t=n.side,tt=r.inverted&&!n.isZAxis?[1,0,3,2][t]:t,k,it=0,u=0,h=i.title,y=i.labels,c=0,b=r.axisOffset,nt;r=r.clipOffset;var p=[-1,1,1,-1][t],d=i.className,g=n.axisParent,rt=n.hasData();n.showAxis=k=rt||e(i.showEmpty,!0);n.staggerLines=n.horiz&&y.staggerLines;n.axisGroup||(n.gridGroup=a.g("grid").attr({zIndex:i.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(d||"")).add(g),n.axisGroup=a.g("axis").attr({zIndex:i.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(d||"")).add(g),n.labelGroup=a.g("axis-labels").attr({zIndex:y.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels "+(d||"")).add(g));rt||n.isLinked?(v.forEach(function(t,i){n.generateTick(t,i)}),n.renderUnsquish(),n.reserveSpaceDefault=0===t||2===t||{1:"left",3:"right"}[t]===n.labelAlign,e(y.reserveSpace,"center"===n.labelAlign?!0:null,n.reserveSpaceDefault)&&v.forEach(function(n){c=Math.max(w[n].getLabelSize(),c)}),n.staggerLines&&(c*=n.staggerLines),n.labelOffset=c*(n.opposite?-1:1)):l(w,function(n,t){n.destroy();delete w[t]});h&&h.text&&!1!==h.enabled&&(n.addTitle(k),k&&!1!==h.reserveSpace)&&(n.titleOffset=it=n.axisTitle.getBBox()[f?"height":"width"],nt=h.offset,u=o(nt)?0:e(h.margin,f?5:10));n.renderLine();n.offset=p*e(i.offset,b[t]?b[t]+(i.margin||0):0);n.tickRotCorr=n.tickRotCorr||{x:0,y:0};a=0===t?-n.labelMetrics().h:2===t?n.tickRotCorr.y:0;u=Math.abs(c)+u;c&&(u=u-a+p*(f?e(y.y,n.tickRotCorr.y+8*p):y.x));n.axisTitleMargin=e(nt,u);n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(w,v));f=this.tickSize("tick");b[t]=Math.max(b[t],n.axisTitleMargin+it+p*n.offset,u,v&&v.length&&f?f[0]+p*n.offset:0);i=i.offset?0:2*Math.floor(n.axisLine.strokeWidth()/2);r[tt]=Math.max(r[tt],i);s(this,"afterGetOffset")},n.prototype.getLinePath=function(n){var i=this.chart,u=this.opposite,t=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+t;return t=i.chartHeight-this.bottom-(u?this.height:0)+t,u&&(n*=-1),i.renderer.crispLine([["M",r?this.left:f,r?t:this.top],["L",r?i.chartWidth-this.right:f,r?t:i.chartHeight-this.bottom]],n)},n.prototype.renderLine=function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},n.prototype.getTitlePosition=function(){var n=this.horiz,r=this.left,o=this.top,t=this.len,u=this.options.title,f=n?r:o,e=this.opposite,h=this.offset,c=u.x||0,l=u.y||0,i=this.axisTitle,a=this.chart.renderer.fontMetrics(u.style&&u.style.fontSize,i);return i=Math.max(i.getBBox(null,0).height-a.h-1,0),t={low:f+(n?0:t),middle:f+t/2,high:f+(n?t:0)}[u.align],r=(n?o+this.height:r)+(n?1:-1)*(e?-1:1)*this.axisTitleMargin+[-i,i,a.f,-i][this.side],n={x:n?t+c:r+(e?this.width:0)+h+c,y:n?r+l-(e?this.height:0)+h:t+l},s(this,"afterGetTitlePosition",{titlePosition:n}),n},n.prototype.renderMinorTick=function(n){var i=this.chart.hasRendered&&h(this.oldMin),t=this.minorTicks;t[n]||(t[n]=new r(this,n,"minor"));i&&t[n].isNew&&t[n].render(null,!0);t[n].render(null,!1,1)},n.prototype.renderTick=function(n,t){var u,f=this.isLinked,i=this.ticks,e=this.chart.hasRendered&&h(this.oldMin);(!f||n>=this.min&&n<=this.max||(null===(u=this.grid)||void 0===u?0:u.isColumn))&&(i[n]||(i[n]=new r(this,n)),e&&i[n].isNew&&i[n].render(t,!0,-1),i[n].render(t))},n.prototype.render=function(){var n=this,p=n.chart,v=n.logarithmic,u=n.options,tt=n.isLinked,c=n.tickPositions,f=n.axisTitle,a=n.ticks,k=n.minorTicks,t=n.alternateBands,d=u.stackLabels,nt=u.alternateGridColor,e=n.tickmarkOffset,o=n.axisLine,w=n.showAxis,it=g(p.renderer.globalAnimation),b,y;n.labelEdge.length=0;n.overlap=!1;[a,k,t].forEach(function(n){l(n,function(n){n.isActive=!1})});(n.hasData()||tt)&&(n.minorTickInterval&&!n.categories&&n.getMinorTickPositions().forEach(function(t){n.renderMinorTick(t)}),c.length&&(c.forEach(function(t,i){n.renderTick(t,i)}),e&&(0===n.min||n.single)&&(a[-1]||(a[-1]=new r(n,-1,null,!0)),a[-1].render(-1))),nt&&c.forEach(function(r,u){y="undefined"!=typeof c[u+1]?c[u+1]+e:n.max-e;0==u%2&&r<n.max&&y<=n.max+(p.polar?-e:e)&&(t[r]||(t[r]=new i.PlotLineOrBand(n)),b=r+e,t[r].options={from:v?v.lin2log(b):b,to:v?v.lin2log(y):y,color:nt,className:"highcharts-alternate-grid"},t[r].render(),t[r].isActive=!0)}),n._addedPlotLB||((u.plotLines||[]).concat(u.plotBands||[]).forEach(function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));[a,k,t].forEach(function(n){var i,r=[],u=it.duration;l(n,function(n,t){n.isActive||(n.render(t,!1,0),n.isActive=!1,r.push(t))});ct(function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])},n!==t&&p.hasRendered&&u?u:0)});o&&(o[o.isPlaced?"animate":"attr"]({d:this.getLinePath(o.strokeWidth())}),o.isPlaced=!0,o[w?"show":"hide"](w));f&&w&&(u=n.getTitlePosition(),h(u.y)?(f[f.isNew?"attr":"animate"](u),f.isNew=!1):(f.attr("y",-9999),f.isNew=!0));d&&d.enabled&&n.stacking&&n.stacking.renderStackTotals();n.isDirty=!1;s(this,"afterRender")},n.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(n){n.render()}));this.series.forEach(function(n){n.isDirty=!0})},n.prototype.getKeepProps=function(){return this.keepProps||n.keepProps},n.prototype.destroy=function(n){var t=this,i=t.plotLinesAndBands,r;if(s(this,"destroy",{keepEvents:n}),n||st(t),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(n){it(n)}),i)for(n=i.length;n--;)i[n].destroy();"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(n){t[n]&&(t[n]=t[n].destroy())});for(r in t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[r]=t.plotLinesAndBandsGroups[r].destroy();l(t,function(n,i){-1===t.getKeepProps().indexOf(i)&&delete t[i]})},n.prototype.drawCrosshair=function(n,i){var r=this.crosshair,u=e(r.snap,!0),c,f=this.cross,l=this.chart,h;if(s(this,"drawCrosshair",{e:n,point:i}),n||(n=this.cross&&this.cross.e),this.crosshair&&!1!==(o(i)||!u)){if(u?o(i)&&(c=e("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):c=n&&(this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos),o(c)&&(h={value:i&&(this.isXAxis?i.x:e(i.stackY,i.y)),translatedValue:c},l.polar&&b(h,{isCrosshair:!0,chartX:n&&n.chartX,chartY:n&&n.chartY,point:i}),h=this.getPlotLinePath(h)||null),!o(h)){this.hideCrosshair();return}u=this.categories&&!this.isRadial;f||(this.cross=f=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(u?"category ":"thin ")+r.className).attr({zIndex:e(r.zIndex,2)}).add(),l.styledMode||(f.attr({stroke:r.color||(u?t.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":e(r.width,1)}).css({"pointer-events":"none"}),r.dashStyle&&f.attr({dashstyle:r.dashStyle})));f.show().attr({d:h});u&&!r.width&&f.attr({"stroke-width":this.transA});this.cross.e=n}else this.hideCrosshair();s(this,"afterDrawCrosshair",{e:n,point:i})},n.prototype.hideCrosshair=function(){this.cross&&this.cross.hide();s(this,"afterHideCrosshair")},n.prototype.hasVerticalPanning=function(){var n,t;return/y/.test((null===(t=null===(n=this.chart.options.chart)||void 0===n?void 0:n.panning)||void 0===t?void 0:t.type)||"")},n.prototype.validatePositiveValue=function(n){return h(n)&&0<n},n.defaultOptions={dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},n.defaultYAxisOptions={endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){var n=this.axis.chart.numberFormatter;return n(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},n.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},n.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},n.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},n.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},n.keepProps="extKey hcEvents names series userMax userMin".split(" "),n}(),i.Axis=n,i.Axis}),i(t,"Core/Axis/DateTimeAxis.js",[t["Core/Axis/Axis.js"],t["Core/Utilities.js"]],function(n,t){var u=t.addEvent,f=t.getMagnitude,e=t.normalizeTickInterval,i=t.timeUnits,r=function(){function n(n){this.axis=n}return n.prototype.normalizeTimeTickInterval=function(n,t){var u=t||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],r,o,s;for(t=u[u.length-1],r=i[t[0]],o=t[1],s=0;s<u.length&&!(t=u[s],r=i[t[0]],o=t[1],u[s+1]&&n<=(r*o[o.length-1]+i[u[s+1][0]])/2);s++);return r===i.year&&n<5*r&&(o=[1,2,5]),n=e(n/r,o,"year"===t[0]?Math.max(f(n/r),1):1),{unitRange:r,count:n,unitName:t[0]}},n}();return t=function(){function n(){}return n.compose=function(n){n.keepProps.push("dateTime");n.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};u(n,"init",function(n){"datetime"!==n.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new r(this))})},n.AdditionsClass=r,n}(),t.compose(n),t}),i(t,"Core/Axis/LogarithmicAxis.js",[t["Core/Axis/Axis.js"],t["Core/Utilities.js"]],function(n,t){var i=t.addEvent,u=t.getMagnitude,f=t.normalizeTickInterval,e=t.pick,r=function(){function n(n){this.axis=n}return n.prototype.getLogTickPositions=function(n,t,i,r){var o=this.axis,h=o.len,s=o.options,l=[],a,v,p,y,c;if(r||(this.minorAutoInterval=void 0),.5<=n)n=Math.round(n),l=o.getLinearTickPositions(n,t,i);else if(.08<=n)for(s=Math.floor(t),h=.3<n?[1,2,4]:.15<n?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];s<i+1&&!v;s++)for(p=h.length,a=0;a<p&&!v;a++)y=this.log2lin(this.lin2log(s)*h[a]),y>t&&(!r||c<=i)&&"undefined"!=typeof c&&l.push(c),c>i&&(v=!0),c=y;else t=this.lin2log(t),i=this.lin2log(i),n=r?o.getMinorTickInterval():s.tickInterval,n=e("auto"===n?null:n,this.minorAutoInterval,s.tickPixelInterval/(r?5:1)*(i-t)/((r?h/o.tickPositions.length:h)||1)),n=f(n,void 0,u(n)),l=o.getLinearTickPositions(n,t,i).map(this.log2lin),r||(this.minorAutoInterval=n/5);return r||(o.tickInterval=n),l},n.prototype.lin2log=function(n){return Math.pow(10,n)},n.prototype.log2lin=function(n){return Math.log(n)/Math.LN10},n}();return t=function(){function n(){}return n.compose=function(n){n.keepProps.push("logarithmic");var t=n.prototype,u=r.prototype;t.log2lin=u.log2lin;t.lin2log=u.lin2log;i(n,"init",function(n){var t=this.logarithmic;"logarithmic"!==n.userOptions.type?this.logarithmic=void 0:(t||(t=this.logarithmic=new r(this)),this.log2lin!==t.log2lin&&(t.log2lin=this.log2lin.bind(this)),this.lin2log!==t.lin2log&&(t.lin2log=this.lin2log.bind(this)))});i(n,"afterInit",function(){var n=this.logarithmic;n&&(this.lin2val=function(t){return n.lin2log(t)},this.val2lin=function(t){return n.log2lin(t)})})},n}(),t.compose(n),t}),i(t,"Core/Axis/PlotLineOrBand.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i){var u=i.arrayMax,f=i.arrayMin,r=i.defined,s=i.destroyObjectProperties,e=i.erase,h=i.extend,c=i.merge,l=i.objectEach,o=i.pick;return i=function(){function n(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)}return n.prototype.render=function(){t.fireEvent(this,"render");var e=this,s=e.axis,v=s.horiz,h=s.logarithmic,i=e.options,a=i.label,y=e.label,p=i.to,w=i.from,b=i.value,u=r(w)&&r(p),nt=r(b),f=e.svgElem,tt=!f,n=[],it=i.color,d=o(i.zIndex,0),g=i.events;n={"class":"highcharts-plot-"+(u?"band ":"line ")+(i.className||"")};var rt={},ut=s.chart.renderer,k=u?"bands":"lines";if(h&&(w=h.log2lin(w),p=h.log2lin(p),b=h.log2lin(b)),s.chart.styledMode||(nt?(n.stroke=it||"#999999",n["stroke-width"]=o(i.width,1),i.dashStyle&&(n.dashstyle=i.dashStyle)):u&&(n.fill=it||"#e6ebf5",i.borderWidth&&(n.stroke=i.borderColor,n["stroke-width"]=i.borderWidth))),rt.zIndex=d,k+="-"+d,(h=s.plotLinesAndBandsGroups[k])||(s.plotLinesAndBandsGroups[k]=h=ut.g("plot-"+k).attr(rt).add()),tt&&(e.svgElem=f=ut.path().attr(n).add(h)),nt)n=s.getPlotLinePath({value:b,lineWidth:f.strokeWidth(),acrossPanes:i.acrossPanes});else if(u)n=s.getPlotBandPath(w,p,i);else return;return!e.eventsAdded&&g&&(l(g,function(n,t){f.on(t,function(n){g[t].apply(e,[n])})}),e.eventsAdded=!0),(tt||!f.d)&&n&&n.length?f.attr({d:n}):f&&(n?(f.show(!0),f.animate({d:n})):f.d&&(f.hide(),y&&(e.label=y=y.destroy()))),a&&(r(a.text)||r(a.formatter))&&n&&n.length&&0<s.width&&0<s.height&&!n.isFlat?(a=c({align:v&&u&&"center",x:v?!u&&4:10,verticalAlign:!v&&u&&"middle",y:v?u?16:10:u?6:-4,rotation:v&&!u&&90},a),this.renderLabel(a,n,u,d)):y&&y.hide(),e},n.prototype.renderLabel=function(n,t,i,r){var e=this.label,o=this.axis.chart.renderer;e||(e={align:n.textAlign||n.align,rotation:n.rotation,"class":"highcharts-plot-"+(i?"band":"line")+"-label "+(n.className||"")},e.zIndex=r,r=this.getLabelText(n),this.label=e=o.text(r,0,0,n.useHTML).attr(e).add(),this.axis.chart.styledMode||e.css(n.style));o=t.xBounds||[t[0][1],t[1][1],i?t[2][1]:t[0][1]];t=t.yBounds||[t[0][2],t[1][2],i?t[2][2]:t[0][2]];i=f(o);r=f(t);e.align(n,!1,{x:i,y:r,width:u(o)-i,height:u(t)-r});e.show(!0)},n.prototype.getLabelText=function(n){return r(n.formatter)?n.formatter.call(this):n.text},n.prototype.destroy=function(){e(this.axis.plotLinesAndBands,this);delete this.axis;s(this)},n}(),h(n.prototype,{getPlotBandPath:function(n,t,i){var f,c;void 0===i&&(i=this.options);f=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes});i=this.getPlotLinePath({value:n,force:!0,acrossPanes:i.acrossPanes});var s=[],h=this.horiz,e=1;if(n=n<this.min&&t<this.min||n>this.max&&t>this.max,i&&f)for(n&&(c=i.toString()===f.toString(),e=0),n=0;n<i.length;n+=2){t=i[n];var o=i[n+1],r=f[n],u=f[n+1];"M"!==t[0]&&"L"!==t[0]||"M"!==o[0]&&"L"!==o[0]||"M"!==r[0]&&"L"!==r[0]||"M"!==u[0]&&"L"!==u[0]||(h&&r[1]===t[1]?(r[1]+=e,u[1]+=e):h||r[2]!==t[2]||(r[2]+=e,u[2]+=e),s.push(["M",t[1],t[2]],["L",o[1],o[2]],["L",u[1],u[2]],["L",r[1],r[2]],["Z"]));s.isFlat=c}return s},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,i){var r=new t.PlotLineOrBand(this,n),f=this.userOptions,u;return this.visible&&(r=r.render()),r&&(i&&(u=f[i]||[],u.push(n),f[i]=u),this.plotLinesAndBands.push(r),this._addedPlotLB=!0),r},removePlotBandOrLine:function(n){for(var i=this.plotLinesAndBands,r=this.options,u=this.userOptions,t=i.length;t--;)i[t].id===n&&i[t].destroy();[r.plotLines||[],u.plotLines||[],r.plotBands||[],u.plotBands||[]].forEach(function(i){for(t=i.length;t--;)(i[t]||{}).id===n&&e(i,i[t])})},removePlotBand:function(n){this.removePlotBandOrLine(n)},removePlotLine:function(n){this.removePlotBandOrLine(n)}}),t.PlotLineOrBand=i,t.PlotLineOrBand}),i(t,"Core/Tooltip.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var r=n.doc,u=t.clamp,o=t.css,a=t.defined,v=t.discardElement,s=t.extend,h=t.fireEvent,y=t.format,p=t.isNumber,w=t.isString,c=t.merge,i=t.pick,f=t.splat,b=t.syncTimeout,e=t.timeUnits,l;return l=function(){function l(n,t){this.container=void 0;this.crosshairs=[];this.distance=0;this.isHidden=!0;this.isSticky=!1;this.now={};this.options={};this.outside=!1;this.chart=n;this.init(n,t)}return l.prototype.applyFilter=function(){var n=this.chart;n.renderer.definition({tagName:"filter",id:"drop-shadow-"+n.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});n.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+n.index+"{filter:url(#drop-shadow-"+n.index+")}"})},l.prototype.bodyFormatter=function(n){return n.map(function(n){var t=n.series.tooltipOptions;return(t[(n.point.formatPrefix||"point")+"Formatter"]||n.point.tooltipFormatter).call(n.point,t[(n.point.formatPrefix||"point")+"Format"]||"")})},l.prototype.cleanSplit=function(n){this.chart.series.forEach(function(t){var i=t&&t.tt;i&&(!i.isActive||n?t.tt=i.destroy():i.isActive=!1)})},l.prototype.defaultFormatter=function(n){var i=this.points||f(this),t=[n.tooltipFooterHeaderFormatter(i[0])];return t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t},l.prototype.destroy=function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),v(this.container));t.clearTimeout(this.hideTimer);t.clearTimeout(this.tooltipTimeout)},l.prototype.getAnchor=function(n,t){var i=this.chart,l=i.pointer,r=i.inverted,o=i.plotTop,c=i.plotLeft,u=0,e=0,s,h;return n=f(n),this.followPointer&&t?("undefined"==typeof t.chartX&&(t=l.normalize(t)),n=[t.chartX-c,t.chartY-o]):n[0].tooltipPos?n=n[0].tooltipPos:(n.forEach(function(n){s=n.series.yAxis;h=n.series.xAxis;u+=n.plotX+(!r&&h?h.left-c:0);e+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!r&&s?s.top-o:0)}),u/=n.length,e/=n.length,n=[r?i.plotWidth-e:u,this.shared&&!r&&1<n.length&&t?t.chartY-o:r?i.plotHeight-u:e]),n.map(Math.round)},l.prototype.getDateFormat=function(n,t,i,r){var f=this.chart.time,s=f.dateFormat("%m-%d %H:%M:%S.%L",t),o={millisecond:15,second:12,minute:9,hour:6,day:3},h="millisecond",u,c;for(u in e){if(n===e.week&&+f.dateFormat("%w",t)===i&&"00:00:00.000"===s.substr(6)){u="week";break}if(e[u]>n){u=h;break}if(o[u]&&s.substr(o[u])!=="01-01 00:00:00.000".substr(o[u]))break;"week"!==u&&(h=u)}return u&&(c=f.resolveDTLFormat(r[u]).main),c},l.prototype.getLabel=function(){var f,s,i=this,e=this.chart.renderer,h=this.chart.styledMode,t=this.options,c="tooltip"+(a(t.className)?" "+t.className:""),l=(null===(f=t.style)||void 0===f?void 0:f.pointerEvents)||(!this.followPointer&&t.stickOnContact?"auto":"none"),r,v;if(f=function(){i.inContact=!0},v=function(){var n=i.chart.hoverSeries;i.inContact=!1;n&&n.onMouseOut&&n.onMouseOut()},!this.label){if(this.outside&&(this.container=r=n.doc.createElement("div"),r.className="highcharts-tooltip-container",o(r,{position:"absolute",top:"1px",pointerEvents:l,zIndex:3}),n.doc.body.appendChild(r),this.renderer=e=new n.Renderer(r,0,0,null===(s=this.chart.options.chart)||void 0===s?void 0:s.style,void 0,void 0,e.styledMode)),this.split?this.label=e.g(c):(this.label=e.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,c).attr({padding:t.padding,r:t.borderRadius}),h||this.label.attr({fill:t.backgroundColor,"stroke-width":t.borderWidth}).css(t.style).css({pointerEvents:l}).shadow(t.shadow)),h&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var u=this.label,y=u.xSetter,p=u.ySetter;u.xSetter=function(n){y.call(u,i.distance);r.style.left=n+"px"};u.ySetter=function(n){p.call(u,i.distance);r.style.top=n+"px"}}this.label.on("mouseenter",f).on("mouseleave",v).attr({zIndex:8}).add()}return this.label},l.prototype.getPosition=function(n,t,u){var f=this.chart,e=this.distance,o={},s=f.inverted&&u.h||0,c,l=this.outside,k=l?r.documentElement.clientWidth-2*e:f.chartWidth,d=l?Math.max(r.body.scrollHeight,r.documentElement.scrollHeight,r.body.offsetHeight,r.documentElement.offsetHeight,r.documentElement.clientHeight):f.chartHeight,g=f.pointer.getChartPosition(),h=f.containerScaling,a=function(n){return h?n*h.scaleX:n},v=function(n){return h?n*h.scaleY:n},nt=function(i){var r="x"===i;return[i,r?k:d,r?n:t].concat(l?[r?a(n):v(t),r?g.left-e+a(u.plotX+f.plotLeft):g.top-e+v(u.plotY+f.plotTop),0,r?k:d]:[r?n:t,r?u.plotX+f.plotLeft:u.plotY+f.plotTop,r?f.plotLeft:f.plotTop,r?f.plotLeft+f.plotWidth:f.plotTop+f.plotHeight])},y=nt("y"),p=nt("x"),tt=!this.followPointer&&i(u.ttBelow,!f.inverted==!!u.negative),it=function(n,t,i,r,u,f,h){var l="y"===n?v(e):a(e),y=(i-r)/2,p=r<u-e,w=u+e+r<t,c=u-l-i+y;if(u=u+l-y,tt&&w)o[n]=u;else if(!tt&&p)o[n]=c;else if(p)o[n]=Math.min(h-r,0>c-s?c:c-s);else if(w)o[n]=Math.max(f,u+s+i>t?u:u+s);else return!1},rt=function(n,t,i,r,u){var f;return u<e||u>t-e?f=!1:o[n]=u<i/2?1:u>t-r/2?t-r-2:u-i/2,f},w=function(n){var t=y;y=p;p=t;c=n},b=function(){!1!==it.apply(0,y)?!1!==rt.apply(0,p)||c||(w(!0),b()):c?o.x=o.y=0:(w(!0),b())};return(f.inverted||1<this.len)&&w(),b(),o},l.prototype.getXDateFormat=function(n,t,i){t=t.dateTimeLabelFormats;var r=i&&i.closestPointRange;return(r?this.getDateFormat(r,n.x,i.options.startOfWeek,t):t.day)||t.year},l.prototype.hide=function(n){var r=this;t.clearTimeout(this.hideTimer);n=i(n,this.options.hideDelay,500);this.isHidden||(this.hideTimer=b(function(){r.getLabel().fadeOut(n?void 0:n);r.isHidden=!0},n))},l.prototype.init=function(n,t){this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=t.split&&!n.inverted&&!n.polar;this.shared=t.shared||this.split;this.outside=i(t.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))},l.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},l.prototype.move=function(n,i,r,u){var f=this,e=f.now,o=!1!==f.options.animation&&!f.isHidden&&(1<Math.abs(n-e.x)||1<Math.abs(i-e.y)),h=f.followPointer||1<f.len;s(e,{x:o?(2*e.x+n)/3:n,y:o?(e.y+i)/2:i,anchorX:h?void 0:o?(2*e.anchorX+r)/3:r,anchorY:h?void 0:o?(e.anchorY+u)/2:u});f.getLabel().attr(e);f.drawTracker();o&&(t.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(n,i,r,u)},32))},l.prototype.refresh=function(n,r){var e=this.chart,c=this.options,u=n,o={},a=[],s=c.formatter||this.defaultFormatter,v,l,y;o=this.shared;v=e.styledMode;c.enabled&&(t.clearTimeout(this.hideTimer),this.followPointer=f(u)[0].series.tooltipOptions.followPointer,l=this.getAnchor(u,r),r=l[0],y=l[1],!o||u.series&&u.series.noSharedTooltip?o=u.getLabelConfig():(e.pointer.applyInactiveState(u),u.forEach(function(n){n.setState("hover");a.push(n.getLabelConfig())}),o={x:u[0].category,y:u[0].y},o.points=a,u=u[0]),this.len=a.length,e=s.call(o,this),s=u.series,this.distance=i(s.tooltipOptions.distance,16),!1===e?this.hide():(this.split?this.renderSplit(e,f(n)):(n=this.getLabel(),c.style.width&&!v||n.css({width:this.chart.spacingBox.width+"px"}),n.attr({text:e&&e.join?e.join(""):e}),n.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+i(u.colorIndex,s.colorIndex)),v||n.attr({stroke:c.borderColor||u.color||s.color||"#666666"}),this.updatePosition({plotX:r,plotY:y,negative:u.negative,ttBelow:u.ttBelow,h:l[2]||0})),this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1),h(this,"refresh"))},l.prototype.renderSplit=function(t,r){function tt(n,t,i,r,f){return void 0===f&&(f=!0),i?(t=et?0:nt,n=u(n-r/2,c.left,c.right-r)):(t-=d,n=f?n-r-l:n+l,n=u(n,f?n:c.left,c.right)),{x:n,y:t}}var e=this,a=e.chart,f=e.chart,y=f.plotHeight,ot=f.plotLeft,p=f.plotTop,b=f.pointer,st=f.renderer,h=f.scrollablePixelsY,it=void 0===h?0:h;h=f.scrollingContainer;h=void 0===h?{scrollLeft:0,scrollTop:0}:h;var rt=h.scrollLeft,v=h.scrollTop,ut=f.styledMode,l=e.distance,o=e.options,k=e.options.positioner,c={left:rt,right:rt+f.chartWidth,top:v,bottom:v+f.chartHeight},ft=e.getLabel(),et=!(!a.xAxis[0]||!a.xAxis[0].opposite),d=p+v,g=0,nt=y-it;w(t)&&(t=[!1,t]);t=t.slice(0,r.length+1).reduce(function(n,t,f){var b,ht;if(!1!==t&&""!==t){f=r[f-1]||{isHeader:!0,plotX:r[0].plotX,plotY:y,series:{}};var ct=f.isHeader,rt=ct?e:f.series,h=rt.tt,w=f.isHeader,s=f.series,a="highcharts-color-"+i(f.colorIndex,s.colorIndex,"none");h||(h={padding:o.padding,r:o.borderRadius},ut||(h.fill=o.backgroundColor,h["stroke-width"]=o.borderWidth),h=st.label("",0,0,o[w?"headerShape":"shape"]||"callout",void 0,void 0,o.useHTML).addClass((w?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+a).attr(h).add(ft));h.isActive=!0;h.attr({text:t});ut||h.css(o.style).shadow(o.shadow).attr({stroke:o.borderColor||f.color||s.color||"#333333"});t=rt.tt=h;w=t.getBBox();rt=w.width+t.strokeWidth();ct&&(g=w.height,nt+=g,et&&(d-=g));s=f.plotX;s=void 0===s?0:s;a=f.plotY;a=void 0===a?0:a;b=f.series;f.isHeader?(s=ot+s,ht=p+y/2):(h=b.xAxis,b=b.yAxis,s=h.pos+u(s,-l,h.len+l),b.pos+a>=v+p&&b.pos+a<=v+p+y-it&&(ht=b.pos+a));s=u(s,c.left-l,c.right+l);"number"==typeof ht?(w=w.height+1,a=k?k.call(e,rt,w,f):tt(s,ht,ct,rt),n.push({align:k?0:void 0,anchorX:s,anchorY:ht,boxWidth:rt,point:f,rank:i(a.rank,ct?1:0),size:w,target:a.y,tt:t,x:a.x})):t.isActive=!1}return n},[]);!k&&t.some(function(n){return n.x<c.left})&&(t=t.map(function(n){var t=tt(n.anchorX,n.anchorY,n.point.isHeader,n.boxWidth,!1);return s(n,{target:t.y,x:t.x})}));e.cleanSplit();n.distribute(t,nt);t.forEach(function(n){var t=n.pos;n.tt.attr({visibility:"undefined"==typeof t?"hidden":"inherit",x:n.x,y:t+d,anchorX:n.anchorX,anchorY:n.anchorY})});t=e.container;a=e.renderer;e.outside&&t&&a&&(f=ft.getBBox(),a.setSize(f.width+f.x,f.height+f.y,!1),b=b.getChartPosition(),t.style.left=b.left+"px",t.style.top=b.top+"px")},l.prototype.drawTracker=function(){var t,r;if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var u=this.chart,i=this.label,n=u.hoverPoint;i&&n&&(t={x:0,y:0,width:0,height:0},n=this.getAnchor(n),r=i.getBBox(),n[0]+=u.plotLeft-i.translateX,n[1]+=u.plotTop-i.translateY,t.x=Math.min(0,n[0]),t.y=Math.min(0,n[1]),t.width=0>n[0]?Math.max(Math.abs(n[0]),r.width-n[0]):Math.max(Math.abs(n[0]),r.width),t.height=0>n[1]?Math.max(Math.abs(n[1]),r.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),r.height),this.tracker?this.tracker.attr(t):(this.tracker=i.renderer.rect(t).addClass("highcharts-tracker").add(i),u.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"})))}},l.prototype.styledModeFormat=function(n){return n.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},l.prototype.tooltipFooterHeaderFormatter=function(n,t){var s=t?"footer":"header",r=n.series,f=r.tooltipOptions,u=f.xDateFormat,e=r.xAxis,o=e&&"datetime"===e.options.type&&p(n.key),i=f[s+"Format"];return t={isFooter:t,labelConfig:n},h(this,"headerFormatter",t,function(t){o&&!u&&(u=this.getXDateFormat(n,f,e));o&&u&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(n){i=i.replace("{point."+n+"}","{point."+n+":"+u+"}")});r.chart.styledMode&&(i=this.styledModeFormat(i));t.text=y(i,{point:n,series:r},this.chart)}),t.text},l.prototype.update=function(n){this.destroy();c(!0,this.chart.options.tooltip.userOptions,n);this.init(this.chart,c(!0,this.options,n))},l.prototype.updatePosition=function(n){var t=this.chart,i=t.pointer,r=this.getLabel(),u=n.plotX+t.plotLeft,f=n.plotY+t.plotTop,e;i=i.getChartPosition();n=(this.options.positioner||this.getPosition).call(this,r.width,r.height,n);this.outside&&(e=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(r.width+e,r.height+e,!1),(t=t.containerScaling)&&(o(this.container,{transform:"scale("+t.scaleX+", "+t.scaleY+")"}),u*=t.scaleX,f*=t.scaleY),u+=i.left-n.x,f+=i.top-n.y);this.move(Math.round(n.x),Math.round(n.y||0),u,f)},l}(),n.Tooltip=l,n.Tooltip}),i(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Tooltip.js"],t["Core/Utilities.js"]],function(n,t,i,r){var v=n.parse,e=t.charts,y=t.noop,f=r.addEvent,p=r.attr,w=r.css,b=r.defined,o=r.extend,l=r.find,s=r.fireEvent,h=r.isNumber,c=r.isObject,k=r.objectEach,d=r.offset,u=r.pick,a=r.splat;return n=function(){function n(n,t){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.chart=n;this.hasDragged=!1;this.options=t;this.unbindContainerMouseLeave=function(){};this.unbindContainerMouseEnter=function(){};this.init(n,t)}return n.prototype.applyInactiveState=function(n){var i=[],t;(n||[]).forEach(function(n){t=n.series;i.push(t);t.linkedParent&&i.push(t.linkedParent);t.linkedSeries&&(i=i.concat(t.linkedSeries));t.navigatorSeries&&i.push(t.navigatorSeries)});this.chart.series.forEach(function(n){-1===i.indexOf(n)?n.setState("inactive",!0):n.options.inactiveOtherPoints&&n.setAllPointsToState("inactive")})},n.prototype.destroy=function(){var n=this;"undefined"!=typeof n.unDocMouseMove&&n.unDocMouseMove();this.unbindContainerMouseLeave();t.chartCount||(t.unbindDocumentMouseUp&&(t.unbindDocumentMouseUp=t.unbindDocumentMouseUp()),t.unbindDocumentTouchEnd&&(t.unbindDocumentTouchEnd=t.unbindDocumentTouchEnd()));clearInterval(n.tooltipTimeout);k(n,function(t,i){n[i]=void 0})},n.prototype.drag=function(n){var i=this.chart,u=i.options.chart,t=n.chartX,f=n.chartY,p=this.zoomHor,w=this.zoomVert,e=i.plotLeft,o=i.plotTop,l=i.plotWidth,a=i.plotHeight,r=this.selectionMarker,s=this.mouseDownX||0,h=this.mouseDownY||0,b=c(u.panning)?u.panning&&u.panning.enabled:u.panning,k=u.panKey&&n[u.panKey+"Key"],y;r&&r.touch||(t<e?t=e:t>e+l&&(t=e+l),f<o?f=o:f>o+a&&(f=o+a),this.hasDragged=Math.sqrt(Math.pow(s-t,2)+Math.pow(h-f,2)),10<this.hasDragged)&&(y=i.isInsidePlot(s-e,h-o),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&y&&!k&&!r&&(this.selectionMarker=r=i.renderer.rect(e,o,p?1:l,w?1:a,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||r.attr({fill:u.selectionMarkerFill||v("#335cad").setOpacity(.25).get()})),r&&p&&(t-=s,r.attr({width:Math.abs(t),x:(0<t?0:t)+s})),r&&w&&(t=f-h,r.attr({height:Math.abs(t),y:(0<t?0:t)+h})),y&&!r&&b&&i.pan(n,u.panning))},n.prototype.dragStart=function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},n.prototype.drop=function(n){var l=this,i=this.chart,r=this.hasPinched;if(this.selectionMarker){var e={originalEvent:n,xAxis:[],yAxis:[]},t=this.selectionMarker,u=t.attr?t.attr("x"):t.x,f=t.attr?t.attr("y"):t.y,a=t.attr?t.attr("width"):t.width,v=t.attr?t.attr("height"):t.height,c;(this.hasDragged||r)&&(i.axes.forEach(function(t){if(t.zoomEnabled&&b(t.min)&&(r||l[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])&&h(u)&&h(f)){var i=t.horiz,o="touchend"===n.type?t.minPixelPadding:0,s=t.toValue((i?u:f)+o);i=t.toValue((i?u+a:f+v)-o);e[t.coll].push({axis:t,min:Math.min(s,i),max:Math.max(s,i)});c=!0}}),c&&s(i,"selection",e,function(n){i.zoom(o(n,r?{animation:!1}:null))}));h(i.index)&&(this.selectionMarker=this.selectionMarker.destroy());r&&this.scaleGroups()}i&&h(i.index)&&(w(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},n.prototype.findNearestKDPoint=function(n,t,i){var u=this.chart,f=u.hoverPoint,r;return(u=u.tooltip,f&&u&&u.isStickyOnContact())?f:(n.forEach(function(n){var u=!(n.noSharedTooltip&&t)&&0>n.options.findNearestPointBy.indexOf("y"),f,e;n=n.searchPoint(i,u);!(u=c(n,!0))||(u=!c(r,!0))||(u=r.distX-n.distX,f=r.dist-n.dist,e=(n.series.group&&n.series.group.zIndex)-(r.series.group&&r.series.group.zIndex),u=0<(0!==u&&t?u:0!==f?f:0!==e?e:r.series.index>n.series.index?-1:1));u&&(r=n)}),r)},n.prototype.getChartCoordinatesFromPoint=function(n,t){var i=n.series,f=i.xAxis,e,r;return(i=i.yAxis,e=u(n.clientX,n.plotX),r=n.shapeArgs,f&&i)?t?{chartX:f.len+f.pos-e,chartY:i.len+i.pos-n.plotY}:{chartX:e+f.pos,chartY:n.plotY+i.pos}:r&&r.x&&r.y?{chartX:r.x,chartY:r.y}:void 0},n.prototype.getChartPosition=function(){return this.chartPosition||(this.chartPosition=d(this.chart.container))},n.prototype.getCoordinates=function(n){var t={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){t[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(n[i.horiz?"chartX":"chartY"])})}),t},n.prototype.getHoverData=function(n,t,i,r,f,e){var h,v=[],a,o;return r=!(!r||!n),a=t&&!t.stickyTracking,o={chartX:e?e.chartX:void 0,chartY:e?e.chartY:void 0,shared:f},s(this,"beforeGetHoverData",o),a=a?[t]:i.filter(function(n){return o.filter?o.filter(n):n.visible&&!(!f&&n.directTouch)&&u(n.options.enableMouseTracking,!0)&&n.stickyTracking}),t=(h=r||!e?n:this.findNearestKDPoint(a,f,e))&&h.series,h&&(f&&!t.noSharedTooltip?(a=i.filter(function(n){return o.filter?o.filter(n):n.visible&&!(!f&&n.directTouch)&&u(n.options.enableMouseTracking,!0)&&!n.noSharedTooltip}),a.forEach(function(n){var t=l(n.points,function(n){return n.x===h.x&&!n.isNull});c(t)&&(n.chart.isBoosting&&(t=n.getPoint(t)),v.push(t))})):v.push(h)),o={hoverPoint:h},s(this,"afterGetHoverData",o),{hoverPoint:o.hoverPoint,hoverSeries:t,hoverPoints:v}},n.prototype.getPointFromEvent=function(n){n=n.target;for(var t;n&&!t;)t=n.point,n=n.parentNode;return t},n.prototype.onTrackerMouseOut=function(n){n=n.relatedTarget||n.toElement;var t=this.chart.hoverSeries;this.isDirectTouch=!1;!t||!n||t.stickyTracking||this.inClass(n,"highcharts-tooltip")||this.inClass(n,"highcharts-series-"+t.index)&&this.inClass(n,"highcharts-tracker")||t.onMouseOut()},n.prototype.inClass=function(n,t){for(var i;n;){if(i=p(n,"class")){if(-1!==i.indexOf(t))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentNode}},n.prototype.init=function(n,t){this.options=t;this.chart=n;this.runChartClick=t.chart.events&&!!t.chart.events.click;this.pinchDown=[];this.lastValidTouch={};i&&(n.tooltip=new i(n,t.tooltip),this.followTouchMove=u(t.tooltip.followTouchMove,!0));this.setDOMEvents()},n.prototype.normalize=function(n,t){var i=n.touches,r=i?i.length?i.item(0):u(i.changedTouches,n.changedTouches)[0]:n;return t||(t=this.getChartPosition()),i=r.pageX-t.left,t=r.pageY-t.top,(r=this.chart.containerScaling)&&(i/=r.scaleX,t/=r.scaleY),o(n,{chartX:Math.round(i),chartY:Math.round(t)})},n.prototype.onContainerClick=function(n){var t=this.chart,i=t.hoverPoint,r,u;n=this.normalize(n);r=t.plotLeft;u=t.plotTop;t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(s(i.series,"click",o(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(o(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&s(t,"click",n)))},n.prototype.onContainerMouseDown=function(n){var i=1==((n.buttons||n.button)&1);if(n=this.normalize(n),t.isFirefox&&0!==n.button)this.onContainerMouseMove(n);("undefined"==typeof n.button||i)&&(this.zoomOption(n),i&&n.preventDefault&&n.preventDefault(),this.dragStart(n))},n.prototype.onContainerMouseLeave=function(n){var i=e[u(t.hoverChartIndex,-1)],r=this.chart.tooltip;n=this.normalize(n);i&&(n.relatedTarget||n.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0);r&&!r.isHidden&&this.reset()},n.prototype.onContainerMouseEnter=function(){delete this.chartPosition},n.prototype.onContainerMouseMove=function(n){var t=this.chart;n=this.normalize(n);this.setHoverChartIndex();n.preventDefault||(n.returnValue=!1);"mousedown"===t.mouseIsDown&&this.drag(n);!t.openMenu&&(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&this.runPointActions(n)},n.prototype.onDocumentTouchEnd=function(n){e[t.hoverChartIndex]&&e[t.hoverChartIndex].pointer.drop(n)},n.prototype.onContainerTouchMove=function(n){this.touch(n)},n.prototype.onContainerTouchStart=function(n){this.zoomOption(n);this.touch(n,!0)},n.prototype.onDocumentMouseMove=function(n){var t=this.chart,r=this.chartPosition,i;n=this.normalize(n,r);i=t.tooltip;!r||i&&i.isStickyOnContact()||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.inClass(n.target,"highcharts-tracker")||this.reset()},n.prototype.onDocumentMouseUp=function(n){var i=e[u(t.hoverChartIndex,-1)];i&&i.pointer.drop(n)},n.prototype.pinch=function(n){var t=this,r=t.chart,i=t.pinchDown,f=n.touches||[],e=f.length,s=t.lastValidTouch,c=t.hasZoom,h=t.selectionMarker,l={},v=1===e&&(t.inClass(n.target,"highcharts-tracker")&&r.runTrackerClick||t.runChartClick),a={};1<e&&(t.initiated=!0);c&&t.initiated&&!v&&!1!==n.cancelable&&n.preventDefault();[].map.call(f,function(n){return t.normalize(n)});"touchstart"===n.type?([].forEach.call(f,function(n,t){i[t]={chartX:n.chartX,chartY:n.chartY}}),s.x=[i[0].chartX,i[1]&&i[1].chartX],s.y=[i[0].chartY,i[1]&&i[1].chartY],r.axes.forEach(function(n){if(n.zoomEnabled){var t=r.bounds[n.horiz?"h":"v"],i=n.minPixelPadding,f=n.toPixels(Math.min(u(n.options.min,n.dataMin),n.dataMin)),e=n.toPixels(Math.max(u(n.options.max,n.dataMax),n.dataMax)),o=Math.max(f,e);t.min=Math.min(n.pos,Math.min(f,e)-i);t.max=Math.max(n.pos+n.len,o+i)}}),t.res=!0):t.followTouchMove&&1===e?this.runPointActions(t.normalize(n)):i.length&&(h||(t.selectionMarker=h=o({destroy:y,touch:!0},r.plotBox)),t.pinchTranslate(i,f,l,h,a,s),t.hasPinched=c,t.scaleGroups(l,a),t.res&&(t.res=!1,this.reset(!1,0)))},n.prototype.pinchTranslate=function(n,t,i,r,u,f){this.zoomHor&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);this.zoomVert&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},n.prototype.pinchTranslateDirection=function(n,t,i,r,u,f,e,o){var v=this.chart,l=n?"x":"y",b=n?"X":"Y",y="chart"+b,tt=n?"width":"height",k=v["plot"+(n?"Left":"Top")],a,d,s=o||1,g=v.inverted,p=v.bounds[n?"h":"v"],it=1===t.length,w=t[0][y],h=i[0][y],rt=!it&&t[1][y],c=!it&&i[1][y],nt;i=function(){"number"==typeof c&&20<Math.abs(w-rt)&&(s=o||Math.abs(h-c)/Math.abs(w-rt));d=(k-h)/s+w;a=v["plot"+(n?"Width":"Height")]/s};i();t=d;t<p.min?(t=p.min,nt=!0):t+a>p.max&&(t=p.max-a,nt=!0);nt?(h-=.8*(h-e[l][0]),"number"==typeof c&&(c-=.8*(c-e[l][1])),i()):e[l]=[h,c];g||(f[l]=d-k,f[tt]=a);f=g?1/s:s;u[tt]=a;u[l]=t;r[g?n?"scaleY":"scaleX":"scale"+b]=s;r["translate"+b]=f*k+(h-f*w)},n.prototype.reset=function(n,t){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,f=i.hoverPoints,u=i.tooltip,e=u&&u.shared?f:r;n&&e&&a(e).forEach(function(t){t.series.isCartesian&&"undefined"==typeof t.plotX&&(n=!1)});n?u&&e&&a(e).length&&(u.refresh(e),u.shared&&f?f.forEach(function(n){n.setState(n.state,!0);n.series.isCartesian&&(n.series.xAxis.crosshair&&n.series.xAxis.drawCrosshair(null,n),n.series.yAxis.crosshair&&n.series.yAxis.drawCrosshair(null,n))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(n){n.crosshair&&r.series[n.coll]===n&&n.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),f&&f.forEach(function(n){n.setState()}),o&&o.onMouseOut(),u&&u.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(n){n.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},n.prototype.runPointActions=function(n,i){var r=this.chart,h=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=h?h.shared:!1,o=i||r.hoverPoint,s=o&&o.series||r.hoverSeries,c;if(s=this.getHoverData(o,s,r.series,(!n||"touchmove"!==n.type)&&(!!i||s&&s.directTouch&&this.isDirectTouch),a,n),o=s.hoverPoint,c=s.hoverPoints,i=(s=s.hoverSeries)&&s.tooltipOptions.followPointer,a=a&&s&&!s.noSharedTooltip,o&&(o!==r.hoverPoint||h&&h.isHidden)){if((r.hoverPoints||[]).forEach(function(n){-1===c.indexOf(n)&&n.setState()}),r.hoverSeries!==s&&s.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(n){n.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!o.series)return;r.hoverPoints=c;r.hoverPoint=o;o.firePointEvent("mouseOver");h&&h.refresh(a?c:o,n)}else i&&h&&!h.isHidden&&(o=h.getAnchor([{}],n),h.updatePosition({plotX:o[0],plotY:o[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",function(n){var i=e[t.hoverChartIndex];if(i)i.pointer.onDocumentMouseMove(n)}));r.axes.forEach(function(t){var f=u((t.crosshair||{}).snap,!0),i;f&&((i=r.hoverPoint)&&i.series[t.coll]===t||(i=l(c,function(n){return n.series[t.coll]===t})));i||!f?t.drawCrosshair(n,i):t.hideCrosshair()})},n.prototype.scaleGroups=function(n,t){var i=this.chart,r;i.series.forEach(function(u){r=n||u.getPlotBox();u.xAxis&&u.xAxis.zoomEnabled&&u.group&&(u.group.attr(r),u.markerGroup&&(u.markerGroup.attr(r),u.markerGroup.clip(t?i.clipRect:null)),u.dataLabelsGroup&&u.dataLabelsGroup.attr(r))});i.clipRect.attr(t||i.clipBox)},n.prototype.setDOMEvents=function(){var n=this.chart.container,i=n.ownerDocument;n.onmousedown=this.onContainerMouseDown.bind(this);n.onmousemove=this.onContainerMouseMove.bind(this);n.onclick=this.onContainerClick.bind(this);this.unbindContainerMouseEnter=f(n,"mouseenter",this.onContainerMouseEnter.bind(this));this.unbindContainerMouseLeave=f(n,"mouseleave",this.onContainerMouseLeave.bind(this));t.unbindDocumentMouseUp||(t.unbindDocumentMouseUp=f(i,"mouseup",this.onDocumentMouseUp.bind(this)));t.hasTouch&&(f(n,"touchstart",this.onContainerTouchStart.bind(this)),f(n,"touchmove",this.onContainerTouchMove.bind(this)),t.unbindDocumentTouchEnd||(t.unbindDocumentTouchEnd=f(i,"touchend",this.onDocumentTouchEnd.bind(this))))},n.prototype.setHoverChartIndex=function(){var i=this.chart,n=t.charts[u(t.hoverChartIndex,-1)];if(n&&n!==i)n.pointer.onContainerMouseLeave({relatedTarget:!0});n&&n.mouseIsDown||(t.hoverChartIndex=i.index)},n.prototype.touch=function(n,t){var i=this.chart,f,r;this.setHoverChartIndex();1===n.touches.length?(n=this.normalize(n),(f=i.isInsidePlot(n.chartX-i.plotLeft,n.chartY-i.plotTop))&&!i.openMenu)?(t&&this.runPointActions(n),"touchmove"===n.type&&(t=this.pinchDown,r=t[0]?4<=Math.sqrt(Math.pow(t[0].chartX-n.chartX,2)+Math.pow(t[0].chartY-n.chartY,2)):!1),u(r,!0)&&this.pinch(n)):t&&this.reset():2===n.touches.length&&this.pinch(n)},n.prototype.zoomOption=function(n){var i=this.chart,r=i.options.chart,t=r.zoomType||"";i=i.inverted;/touch/.test(n.type)&&(t=u(r.pinchType,t));this.zoomX=n=/x/.test(t);this.zoomY=t=/y/.test(t);this.zoomHor=n&&!i||t&&i;this.zoomVert=t&&!i||n&&i;this.hasZoom=n||t},n}(),t.Pointer=n}),i(t,"Core/MSPointer.js",[t["Core/Globals.js"],t["Core/Pointer.js"],t["Core/Utilities.js"]],function(n,t,i){function o(){var n=[];return n.item=function(n){return this[n]},v(r,function(t){n.push({pageX:t.pageX,pageY:t.pageY,target:t.target})}),n}function u(t,i,r,u){("touch"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_TOUCH)&&e[n.hoverChartIndex]&&(u(t),u=e[n.hoverChartIndex].pointer,u[i]({type:r,target:t.currentTarget,preventDefault:c,touches:o()}))}var s=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),e=n.charts,h=n.doc,c=n.noop,l=i.addEvent,a=i.css,v=i.objectEach,y=i.removeEvent,r={},f=!!n.win.PointerEvent;return function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return s(t,n),t.prototype.batchMSEvents=function(n){n(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(h,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},t.prototype.destroy=function(){this.batchMSEvents(y);n.prototype.destroy.call(this)},t.prototype.init=function(t,i){n.prototype.init.call(this,t,i);this.hasZoom&&a(t.container,{"-ms-touch-action":"none","touch-action":"none"})},t.prototype.onContainerPointerDown=function(n){u(n,"onContainerTouchStart","touchstart",function(n){r[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},t.prototype.onContainerPointerMove=function(n){u(n,"onContainerTouchMove","touchmove",function(n){r[n.pointerId]={pageX:n.pageX,pageY:n.pageY};r[n.pointerId].target||(r[n.pointerId].target=n.currentTarget)})},t.prototype.onDocumentPointerUp=function(n){u(n,"onDocumentTouchEnd","touchend",function(n){delete r[n.pointerId]})},t.prototype.setDOMEvents=function(){n.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},t}(t)}),i(t,"Core/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i){var l=n.animObject,a=n.setAnimation,o=i.addEvent,v=i.css,e=i.defined,y=i.discardElement,p=i.find,u=i.fireEvent,w=i.format,b=i.isNumber,f=i.merge,r=i.pick,k=i.relativeLength,d=i.stableSort,g=i.syncTimeout;n=i.wrap;i=t.isFirefox;var s=t.marginNames,h=t.win,c=function(){function n(n,t){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options={};this.padding=0;this.pages=[];this.proximate=!1;this.scrollGroup=void 0;this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=n;this.init(n,t)}return n.prototype.init=function(n,t){this.chart=n;this.setOptions(t);t.enabled&&(this.render(),o(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=o(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},n.prototype.setOptions=function(n){var t=r(n.padding,8);this.options=n;this.chart.styledMode||(this.itemStyle=n.itemStyle,this.itemHiddenStyle=f(this.itemStyle,n.itemHiddenStyle));this.itemMarginTop=n.itemMarginTop||0;this.itemMarginBottom=n.itemMarginBottom||0;this.padding=t;this.initialItemY=t-5;this.symbolWidth=r(n.symbolWidth,16);this.pages=[];this.proximate="proximate"===n.layout&&!this.chart.inverted;this.baseline=void 0},n.prototype.update=function(n,t){var i=this.chart;this.setOptions(f(!0,this.options,n));this.destroy();i.isDirtyLegend=i.isDirtyBox=!0;r(t,!0)&&i.redraw();u(this,"afterUpdate")},n.prototype.colorizeItem=function(n,t){if(n.legendGroup[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=n.legendItem,s=n.legendLine,e=n.legendSymbol,r=this.itemHiddenStyle.color;i=t?i.itemStyle.color:r;var h=t?n.color||r:r,c=n.options&&n.options.marker,f={fill:h};o&&o.css({fill:i,color:i});s&&s.attr({stroke:h});e&&(c&&e.isMarker&&(f=n.pointAttribs(),t||(f.stroke=f.fill=r)),e.attr(f))}u(this,"afterColorizeItem",{item:n,visible:t})},n.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},n.prototype.positionItem=function(n){var h=this,t=this.options,f=t.symbolPadding,o=!t.rtl,r=n._legendItemPos,s,i;t=r[0];r=r[1];s=n.checkbox;i=n.legendGroup;i&&i.element&&(f={translateX:o?t:this.legendWidth-t-2*f-4,translateY:r},o=function(){u(h,"afterPositionItem",{item:n})},e(i.translateY)?i.animate(f,void 0,o):(i.attr(f),o()));s&&(s.x=t,s.y=r)},n.prototype.destroyItem=function(n){var t=n.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(t){n[t]&&(n[t]=n[t].destroy())});t&&y(n.checkbox)},n.prototype.destroy=function(){function n(n){this[n]&&(this[n]=this[n].destroy())}this.getAllItems().forEach(function(t){["legendItem","legendGroup"].forEach(n,t)});"clipRect up down pager nav box title group".split(" ").forEach(n,this);this.display=null},n.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,r=this.titleHeight,n;t&&(n=t.translateY,this.allItems.forEach(function(u){var f=u.checkbox,e;f&&(e=n+r+f.y+(this.scrollOffset||0)+3,v(f,{left:t.translateX+u.checkboxOffset+f.x-20+"px",top:e+"px",display:this.proximate||e>n-6&&e<n+i-6?"":"none"}))},this))},n.prototype.renderTitle=function(){var n=this.options,r=this.padding,t=n.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,r-3,r-4,null,null,null,n.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(t.style),this.title.add(this.group)),t.width||this.title.css({width:this.maxLegendWidth+"px"}),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i}));this.titleHeight=i},n.prototype.setText=function(n){var t=this.options;n.legendItem.attr({text:t.labelFormat?w(t.labelFormat,n,this.chart):t.labelFormatter.call(n)})},n.prototype.renderItem=function(n){var i=this.chart,s=i.renderer,u=this.options,y=this.symbolWidth,h=u.symbolPadding,c=this.itemStyle,b=this.itemHiddenStyle,o="horizontal"===u.layout?r(u.itemDistance,20):0,p=!u.rtl,t=n.legendItem,w=!n.series,l=!w&&n.series.drawLegendSymbol?n.series:n,e=l.options,a,v;e=this.createCheckboxForItem&&e&&e.showCheckbox;o=y+h+o+(e?20:0);a=u.useHTML;v=n.options.className;t||(n.legendGroup=s.g("legend-item").addClass("highcharts-"+l.type+"-series highcharts-color-"+n.colorIndex+(v?" "+v:"")+(w?" highcharts-series-"+n.index:"")).attr({zIndex:1}).add(this.scrollGroup),n.legendItem=t=s.text("",p?y+h:-h,this.baseline||0,a),i.styledMode||t.css(f(n.visible?c:b)),t.attr({align:p?"left":"right",zIndex:2}).add(n.legendGroup),this.baseline||(this.fontMetrics=s.fontMetrics(i.styledMode?12:c.fontSize,t),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,t.attr("y",this.baseline)),this.symbolHeight=u.symbolHeight||this.fontMetrics.f,l.drawLegendSymbol(this,n),this.setItemEvents&&this.setItemEvents(n,t,a));e&&!n.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(n);this.colorizeItem(n,n.visible);!i.styledMode&&c.width||t.css({width:(u.itemWidth||this.widthOption||i.spacingBox.width)-o+"px"});this.setText(n);i=t.getBBox();n.itemWidth=n.checkboxOffset=u.itemWidth||n.legendItemWidth||i.width+o;this.maxItemWidth=Math.max(this.maxItemWidth,n.itemWidth);this.totalItemWidth+=n.itemWidth;this.itemHeight=n.itemHeight=Math.round(n.legendItemHeight||i.height||this.symbolHeight)},n.prototype.layoutItem=function(n){var t=this.options,i=this.padding,u="horizontal"===t.layout,f=n.itemHeight,e=this.itemMarginBottom,o=this.itemMarginTop,h=u?r(t.itemDistance,20):0,s=this.maxLegendWidth;t=t.alignColumns&&this.totalItemWidth>s?this.maxItemWidth:n.itemWidth;u&&this.itemX-i+t>s&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+e),this.lastLineHeight=0);this.lastItemY=o+this.itemY+e;this.lastLineHeight=Math.max(f,this.lastLineHeight);n._legendItemPos=[this.itemX,this.itemY];u?this.itemX+=t:(this.itemY+=o+f+e,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((u?this.itemX-i-(n.checkbox?0:h):t)+i,this.offsetWidth)},n.prototype.getAllItems=function(){var n=[];return this.chart.series.forEach(function(t){var i=t&&t.options;t&&r(i.showInLegend,e(i.linkedTo)?!1:void 0,!0)&&(n=n.concat(t.legendItems||("point"===i.legendType?t.data:t)))}),u(this,"afterGetAllItems",{allItems:n}),n},n.prototype.getAlignment=function(){var n=this.options;return this.proximate?n.align.charAt(0)+"tv":n.floating?"":n.align.charAt(0)+n.verticalAlign.charAt(0)+n.layout.charAt(0)},n.prototype.adjustMargins=function(n,t){var i=this.chart,u=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(o,h){o.test(f)&&!e(n[h])&&(i[s[h]]=Math.max(i[s[h]],i.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*u[h%2?"x":"y"]+r(u.margin,12)+t[h]+(i.titleOffset[h]||0)))})},n.prototype.proximatePositions=function(){var n=this.chart,i=[],r="left"===this.options.align;this.allItems.forEach(function(t){var u,f=r,e;t.yAxis&&(t.xAxis.options.reversed&&(f=!f),t.points&&(u=p(f?t.points:t.points.slice(0).reverse(),function(n){return b(n.plotY)})),f=this.itemMarginTop+t.legendItem.getBBox().height+this.itemMarginBottom,e=t.yAxis.top-n.plotTop,t.visible?(u=u?u.plotY:t.yAxis.height,u+=e-.3*f):u=e+t.yAxis.height,i.push({target:u,size:f,item:t}))},this);t.distribute(i,n.plotHeight);i.forEach(function(t){t.item._legendItemPos[1]=n.plotTop-n.spacing[0]+t.pos})},n.prototype.render=function(){var e=this.chart,h=e.renderer,o=this.group,t=this.box,i=this.options,s=this.padding,f,n,r;this.itemX=s;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=k(i.width,e.spacingBox.width-s);f=e.spacingBox.width-2*s-i.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(f/=2);this.maxLegendWidth=this.widthOption||f;o||(this.group=o=h.g("legend").attr({zIndex:7}).add(),this.contentGroup=h.g().attr({zIndex:1}).add(o),this.scrollGroup=h.g().add(this.contentGroup));this.renderTitle();n=this.getAllItems();d(n,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});i.reversed&&n.reverse();this.allItems=n;this.display=f=!!n.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;n.forEach(this.renderItem,this);n.forEach(this.layoutItem,this);n=(this.widthOption||this.offsetWidth)+s;r=this.lastItemY+this.lastLineHeight+this.titleHeight;r=this.handleOverflow(r);r+=s;t||(this.box=t=h.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(o),t.isNew=!0);e.styledMode||t.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow);0<n&&0<r&&(t[t.isNew?"attr":"animate"](t.crisp.call({},{x:0,y:0,width:n,height:r},t.strokeWidth())),t.isNew=!1);t[f?"show":"hide"]();e.styledMode&&"none"===o.getStyle("display")&&(n=r=0);this.legendWidth=n;this.legendHeight=r;f&&this.align();this.proximate||this.positionItems();u(this,"afterRender")},n.prototype.align=function(n){void 0===n&&(n=this.chart.spacingBox);var t=this.chart,r=this.options,i=n.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<t.titleOffset[0]?i+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<t.titleOffset[2]&&(i-=t.titleOffset[2]);i!==n.y&&(n=f(n,{y:i}));this.group.align(f(r,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":r.verticalAlign}),!0,n)},n.prototype.handleOverflow=function(n){var t=this,a=this.chart,s=a.renderer,f=this.options,i=f.y,l=this.padding;i=a.spacingBox.height+("top"===f.verticalAlign?-i:i)-l;var w=f.maxHeight,v,h=this.clipRect,y=f.navigation,b=r(y.animation,!0),e=y.arrowSize||12,u=this.nav,o=this.pages,c,p=this.allItems,k=function(n){"number"==typeof n?h.attr({height:n}):h&&(t.clipRect=h.destroy(),t.contentGroup.clip());t.contentGroup.div&&(t.contentGroup.div.style.clip=n?"rect("+l+"px,9999px,"+(l+n)+"px,0)":"auto")},d=function(n){return t[n]=s.circle(0,0,1.3*e).translate(e/2,e/2).add(u),a.styledMode||t[n].attr("fill","rgba(0,0,0,0.0001)"),t[n]};return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(i/=2),w&&(i=Math.min(i,w)),o.length=0,n>i&&!1!==y.enabled?(this.clipHeight=v=Math.max(i-20-this.titleHeight-l,0),this.currentPage=r(this.currentPage,1),this.fullHeight=n,p.forEach(function(n,t){var i=n._legendItemPos[1],u=Math.round(n.legendItem.getBBox().height),r=o.length;(!r||i-o[r-1]>v&&(c||i)!==o[r-1])&&(o.push(c||i),r++);n.pageIx=r-1;c&&(p[t-1].pageIx=r-1);t===p.length-1&&i+u-o[r-1]>v&&i!==c&&(o.push(i),n.pageIx=r);i!==c&&(c=i)}),h||(h=t.clipRect=s.clipRect(0,l,9999,0),t.contentGroup.clip(h)),k(v),u||(this.nav=u=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,e,e).add(u),d("upTracker").on("click",function(){t.scroll(-1,b)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),a.styledMode||this.pager.css(y.style),this.pager.add(u),this.down=s.symbol("triangle-down",0,0,e,e).add(u),d("downTracker").on("click",function(){t.scroll(1,b)})),t.scroll(0),n=i):u&&(k(),this.nav=u.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},n.prototype.scroll=function(n,t){var h=this,o=this.chart,s=this.pages,f=s.length,i=this.currentPage+n;n=this.clipHeight;var e=this.options.navigation,c=this.pager,v=this.padding;i>f&&(i=f);0<i&&("undefined"!=typeof t&&a(t,o),this.nav.attr({translateX:v,translateY:n+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(n){n.attr({"class":1===i?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),c.attr({text:i+"/"+f}),[this.down,this.downTracker].forEach(function(n){n.attr({x:18+this.pager.getBBox().width,"class":i===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===i?e.inactiveColor:e.activeColor}),this.upTracker.css({cursor:1===i?"default":"pointer"}),this.down.attr({fill:i===f?e.inactiveColor:e.activeColor}),this.downTracker.css({cursor:i===f?"default":"pointer"})),this.scrollOffset=-s[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=i,this.positionCheckboxes(),t=l(r(t,o.renderer.globalAnimation,!0)),g(function(){u(h,"afterScroll",{currentPage:i})},t.duration))},n}();return(/Trident\/7\.0/.test(h.navigator&&h.navigator.userAgent)||i)&&n(c.prototype,"positionItem",function(n,t){var i=this,r=function(){t._legendItemPos&&n.call(i,t)};r();i.bubbleLegend||setTimeout(r)}),t.Legend=c,t.Legend}),i(t,"Core/Series/Point.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i){var o=n.animObject,s=i.defined,h=i.erase,r=i.extend,f=i.fireEvent,c=i.format,l=i.getNestedProperty,a=i.isArray,e=i.isNumber,v=i.isObject,y=i.syncTimeout,u=i.pick,p=i.removeEvent,w=i.uniqueKey;return n=function(){function n(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.series=void 0;this.visible=!0;this.x=void 0}return n.prototype.animateBeforeDestroy=function(){var n=this,u={x:n.startXPos,opacity:0},t,i=n.getGraphicalProps();i.singular.forEach(function(i){t="dataLabel"===i;n[i]=n[i].animate(t?{x:n[i].startXPos,y:n[i].startYPos,opacity:0}:u)});i.plural.forEach(function(t){n[t].forEach(function(t){t.element&&t.animate(r({x:n.startXPos},t.startYPos?{x:t.startXPos,y:t.startYPos}:{}))})})},n.prototype.applyOptions=function(t,i){var f=this.series,o=f.options.pointValKey||f.pointValKey;return t=n.prototype.optionsToObject.call(this,t),r(this,t),this.options=this.options?r(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,o&&(this.y=n.prototype.getNestedProperty.call(this,o)),this.formatPrefix=(this.isNull=u(this.isValid&&!this.isValid(),null===this.x||!e(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&"undefined"==typeof i&&f.xAxis&&f.xAxis.hasNames&&(this.x=f.xAxis.nameToX(this)),"undefined"==typeof this.x&&f&&(this.x="undefined"==typeof i?f.autoIncrement(this):i),this},n.prototype.destroy=function(){function u(){(n.graphic||n.dataLabel||n.dataLabels)&&(p(n),n.destroyElements());for(e in n)n[e]=null}var n=this,t=n.series,i=t.chart,r,f,e;t=t.options.dataSorting;r=i.hoverPoints;f=o(n.series.chart.renderer.globalAnimation);n.legendItem&&i.legend.destroyItem(n);r&&(n.setState(),h(r,n),r.length||(i.hoverPoints=null));n===i.hoverPoint&&n.onMouseOut();t&&t.enabled?(this.animateBeforeDestroy(),y(u,f.duration)):u();i.pointCount--},n.prototype.destroyElements=function(n){var t=this;n=t.getGraphicalProps(n);n.singular.forEach(function(n){t[n]=t[n].destroy()});n.plural.forEach(function(n){t[n].forEach(function(n){n.element&&n.destroy()});delete t[n]})},n.prototype.firePointEvent=function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&r.importEvents();"click"===n&&u.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});f(r,n,t,i)},n.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!=typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},n.prototype.getGraphicalProps=function(n){var f=this,t=[],i,r={singular:[],plural:[]},u;for(n=n||{graphic:1,dataLabel:1},n.graphic&&t.push("graphic","shadowGroup"),n.dataLabel&&t.push("dataLabel","dataLabelUpper","connector"),i=t.length;i--;)u=t[i],f[u]&&r.singular.push(u);return["dataLabel","connector"].forEach(function(t){var i=t+"s";n[t]&&f[i]&&r.plural.push(i)}),r},n.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},n.prototype.getNestedProperty=function(n){if(n)return 0===n.indexOf("custom.")?l(n,this.options):this[n]},n.prototype.getZone=function(){var t=this.series,r=t.zones,i,n;for(t=t.zoneAxis||"y",i=0,n=r[i];this[t]>=n.value;)n=r[++i];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},n.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},n.prototype.init=function(n,t,i){return this.series=n,this.applyOptions(t,i),this.id=s(this.id)?this.id:w(),this.resolveColor(),n.chart.pointCount++,f(this,"afterInit"),this},n.prototype.optionsToObject=function(t){var i={},r=this.series,s=r.options.keys,u=s||r.pointArrayMap||["y"],h=u.length,f=0,o=0;if(e(t)||null===t)i[u[0]]=t;else if(a(t))for(!s&&t.length>h&&(r=typeof t[0],"string"===r?i.name=t[0]:"number"===r&&(i.x=t[0]),f++);o<h;)s&&"undefined"==typeof t[f]||(0<u[o].indexOf(".")?n.prototype.setNestedProperty(i,t[f],u[o]):i[u[o]]=t[f]),f++,o++;else"object"==typeof t&&(i=t,t.dataLabels&&(r._hasPointLabels=!0),t.marker&&(r._hasPointMarkers=!0));return i},n.prototype.resolveColor=function(){var n=this.series,t=n.chart.options.chart.colorCount,i=n.chart.styledMode;delete this.nonZonedColor;i||this.options.color||(this.color=n.color);n.options.colorByPoint?(i||(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter],t=t.length),i=n.colorCounter,n.colorCounter++,n.colorCounter===t&&(n.colorCounter=0)):i=n.colorIndex;this.colorIndex=u(this.colorIndex,i)},n.prototype.setNestedProperty=function(n,t,i){return i.split(".").reduce(function(n,i,r,u){return n[i]=u.length-1===r?t:v(n[i],!0)?n[i]:{},n[i]},n),n},n.prototype.tooltipFormatter=function(n){var t=this.series,i=t.tooltipOptions,e=u(i.valueDecimals,""),r=i.valuePrefix||"",f=i.valueSuffix||"";return t.chart.styledMode&&(n=t.chart.tooltip.styledModeFormat(n)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t;(r||f)&&(n=n.replace(RegExp(t+"}","g"),r+t+"}"+f));n=n.replace(RegExp(t+"}","g"),t+":,."+e+"f}")}),c(n,{point:this,series:this.series},t.chart)},n}(),t.Point=n}),i(t,"Core/Series/Series.js",[t["Core/Globals.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i){var o=i.error,u=i.extendClass,f=i.fireEvent,s=i.getOptions,e=i.isObject,r=i.merge,h=i.objectEach;return i=function(){function n(t,i){var u=r(n.defaultOptions,i);this.chart=t;this._i=t.series.length;t.series.push(this);this.options=u;this.userOptions=r(i)}return n.addSeries=function(t,i){n.seriesTypes[t]=i},n.cleanRecursively=function(t,i){var r={};return h(t,function(u,f){e(t[f],!0)&&!t.nodeType&&i[f]?(u=n.cleanRecursively(t[f],i[f]),Object.keys(u).length&&(r[f]=u)):(e(t[f])||t[f]!==i[f])&&(r[f]=t[f])}),r},n.getSeries=function(t,i){var r,u;return void 0===i&&(i={}),r=t.options.chart,r=i.type||r.type||r.defaultSeriesType||"",u=n.seriesTypes[r],u||o(17,!0,t,{missingModuleFor:r}),new u(t,i)},n.seriesType=function(i,f,e,o,h){var l=s().plotOptions||{},c=n.seriesTypes;return f=f||"",l[i]=r(l[f],e),n.addSeries(i,u(c[f]||function(){},o)),c[i].prototype.type=i,h&&(c[i].prototype.pointClass=u(t,h)),c[i]},n.prototype.update=function(t,i){var u,e;return void 0===i&&(i=!0),u=this,t=n.cleanRecursively(t,this.userOptions),e=t.type,"undefined"!=typeof e&&e!==u.type&&(u=n.getSeries(u.chart,t)),f(u,"update",{newOptions:t}),u.userOptions=r(t),f(u,"afterUpdate",{newOptions:t}),i&&u.chart.redraw(),u},n.defaultOptions={type:"base"},n.seriesTypes={},n}(),i.prototype.pointClass=t,n.seriesType=i.seriesType,n.seriesTypes=i.seriesTypes,i}),i(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/Series.js"],t["Core/Globals.js"],t["Core/Legend.js"],t["Core/MSPointer.js"],t["Core/Options.js"],t["Core/Pointer.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o,s,h){var yt=n.animate,pt=n.animObject,g=n.setAnimation,a=r.charts,v=r.doc,y=r.win,wt=e.defaultOptions,nt=h.addEvent,et=h.attr,bt=h.createElement,b=h.css,l=h.defined,kt=h.discardElement,dt=h.erase,ot=h.error,k=h.extend,tt=h.find,c=h.fireEvent,p=h.getStyle,gt=h.isArray,ni=h.isFunction,st=h.isNumber,ht=h.isObject,it=h.isString,d=h.merge,ti=h.numberFormat,rt=h.objectEach,w=h.pick,ut=h.pInt,ii=h.relativeLength,ct=h.removeEvent,lt=h.splat,at=h.syncTimeout,ri=h.uniqueKey,vt=r.marginNames,ft=function(){function n(n,t,i){this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0;this.getArgs(n,t,i)}return n.prototype.getArgs=function(n,t,i){it(n)||n.nodeName?(this.renderTo=n,this.init(t,i)):this.init(n,t)},n.prototype.init=function(n,t){var i,f=n.series,u=n.plotOptions||{};c(this,"init",{args:arguments},function(){var o,h,e;n.series=null;i=d(wt,n);o=i.chart||{};rt(i.plotOptions,function(n,t){ht(n)&&(n.tooltip=u[t]&&d(u[t].tooltip)||void 0)});i.tooltip.userOptions=n.chart&&n.chart.forExport&&n.tooltip.userOptions||n.tooltip;i.series=n.series=f;this.userOptions=n;h=o.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=t;this.isResizing=0;this.options=i;this.axes=[];this.series=[];this.time=n.time&&Object.keys(n.time).length?new s(n.time):r.time;this.numberFormatter=o.numberFormatter||ti;this.styledMode=o.styledMode;this.hasCartesianSeries=o.showAxes;e=this;e.index=a.length;a.push(e);r.chartCount++;h&&rt(h,function(n,t){ni(n)&&nt(e,t,n)});e.xAxis=[];e.yAxis=[];e.pointCount=e.colorCounter=e.symbolCounter=0;c(e,"afterInit");e.firstRender()})},n.prototype.initSeries=function(n){var t=this.options.chart,r;return t=n.type||t.type||t.defaultSeriesType,r=i.seriesTypes[t],r||ot(17,!0,this,{missingModuleFor:t}),t=new r(this,n),"function"==typeof t.init&&t.init(this,n),t},n.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(n){n.points||n.data||!n.enabledDataSorting||n.setData(n.options.data,!1)})},n.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(n,t){return n.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-n.linkedSeries.length:0})},n.prototype.orderSeries=function(n){var t=this.series;for(n=n||0;n<t.length;n++)t[n]&&(t[n].index=n,t[n].name=t[n].getName())},n.prototype.isInsidePlot=function(n,t,i){var r=i?t:n;return n=i?n:t,r={x:r,y:n,isInsidePlot:0<=r&&r<=this.plotWidth&&0<=n&&n<=this.plotHeight},c(this,"afterIsInsidePlot",r),r.isInsidePlot},n.prototype.redraw=function(n){var r,h,w;c(this,"beforeRedraw");var t=this,f=t.axes,i=t.series,l=t.pointer,e=t.legend,o=t.userOptions.legend,s=t.isDirtyLegend,a=t.hasCartesianSeries,u=t.isDirtyBox,v=t.renderer,y=v.isHidden(),p=[];for(t.setResponsive&&t.setResponsive(!1),g(t.hasRendered?n:!1,t),y&&t.temporaryDisplay(),t.layOutTitles(),n=i.length;n--;)if(r=i[n],r.options.stacking&&(h=!0,r.isDirty)){w=!0;break}if(w)for(n=i.length;n--;)r=i[n],r.options.stacking&&(r.isDirty=!0);i.forEach(function(n){n.isDirty&&("point"===n.options.legendType?("function"==typeof n.updateTotals&&n.updateTotals(),s=!0):o&&(o.labelFormatter||o.labelFormat)&&(s=!0));n.isDirtyData&&c(n,"updatedData")});s&&e&&e.options.enabled&&(e.render(),t.isDirtyLegend=!1);h&&t.getStacks();a&&f.forEach(function(n){t.isResizing&&st(n.min)||(n.updateNames(),n.setScale())});t.getMargins();a&&(f.forEach(function(n){n.isDirty&&(u=!0)}),f.forEach(function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,p.push(function(){c(n,"afterSetExtremes",k(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(u||h)&&n.redraw()}));u&&t.drawChartBox();c(t,"predraw");i.forEach(function(n){(u||n.isDirty)&&n.visible&&n.redraw();n.isDirtyData=!1});l&&l.reset(!0);v.draw();c(t,"redraw");c(t,"render");y&&t.temporaryDisplay(!0);p.forEach(function(n){n.call()})},n.prototype.get=function(n){function i(t){return t.id===n||t.options&&t.options.id===n}for(var u=this.series,r=tt(this.axes,i)||tt(this.series,i),t=0;!r&&t<u.length;t++)r=tt(u[t].points||[],i);return r},n.prototype.getAxes=function(){var r=this,n=this.options,i=n.xAxis=lt(n.xAxis||{});n=n.yAxis=lt(n.yAxis||{});c(this,"getAxes");i.forEach(function(n,t){n.index=t;n.isX=!0});n.forEach(function(n,t){n.index=t});i.concat(n).forEach(function(n){new t(r,n)});c(this,"afterGetAxes")},n.prototype.getSelectedPoints=function(){var n=[];return this.series.forEach(function(t){n=n.concat(t.getPointsCollection().filter(function(n){return w(n.selectedStaging,n.selected)}))}),n},n.prototype.getSelectedSeries=function(){return this.series.filter(function(n){return n.selected})},n.prototype.setTitle=function(n,t,i){this.applyDescription("title",n);this.applyDescription("subtitle",t);this.applyDescription("caption",void 0);this.layOutTitles(i)},n.prototype.applyDescription=function(n,t){var u=this,r="title"===n?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"},i;r=this.options[n]=d(!this.styledMode&&{style:r},this.options[n],t);i=this[n];i&&t&&(this[n]=i=i.destroy());r&&!i&&(i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,"class":"highcharts-"+n,zIndex:r.zIndex||4}).add(),i.update=function(t){u[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[n]](t)},this.styledMode||i.css(r.style),this[n]=i)},n.prototype.layOutTitles=function(n){var t=[0,0,0],r=this.renderer,u=this.spacingBox,i;["title","subtitle","caption"].forEach(function(n){var f=this[n],i=this.options[n],o=i.verticalAlign||"top",e,s;n="title"===n?-3:"top"===o?t[0]+2:0;f&&(this.styledMode||(e=i.style.fontSize),e=r.fontMetrics(e,f).b,f.css({width:(i.width||u.width+(i.widthAdjust||0))+"px"}),s=Math.round(f.getBBox(i.useHTML).height),f.align(k({y:"bottom"===o?e:n+e,height:s},i),!1,"spacingBox"),i.floating||("top"===o?t[0]=Math.ceil(t[0]+s):"bottom"===o&&(t[2]=Math.ceil(t[2]+s))))},this);t[0]&&"top"===(this.options.title.verticalAlign||"top")&&(t[0]+=this.options.title.margin);t[2]&&"bottom"===this.options.caption.verticalAlign&&(t[2]+=this.options.caption.margin);i=!this.titleOffset||this.titleOffset.join(",")!==t.join(",");this.titleOffset=t;c(this,"afterLayOutTitles");!this.isDirtyBox&&i&&(this.isDirtyBox=this.isDirtyLegend=i,this.hasRendered&&w(n,!0)&&this.isDirtyBox&&this.redraw())},n.prototype.getChartSize=function(){var n=this.options.chart,i=n.width,t;n=n.height;t=this.renderTo;l(i)||(this.containerWidth=p(t,"width"));l(n)||(this.containerHeight=p(t,"height"));this.chartWidth=Math.max(0,i||this.containerWidth||600);this.chartHeight=Math.max(0,ii(n,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},n.prototype.temporaryDisplay=function(n){var t=this.renderTo;if(n)for(;t&&t.style;)t.hcOrigStyle&&(b(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(v.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t&&t.style;)if(v.body.contains(t)||t.parentNode||(t.hcOrigDetached=!0,v.body.appendChild(t)),("none"===p(t,"display",!1)||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},n={display:"block",overflow:"hidden"},t!==this.renderTo&&(n.height=0),b(t,n),t.offsetWidth||t.style.setProperty("display","block","important")),t=t.parentNode,t===v.body)break},n.prototype.setClassName=function(n){this.container.className="highcharts-container "+(n||"")},n.prototype.getContainer=function(){var u=this.options,i=u.chart,n=this.renderTo,s=ri(),e,o,t,f;if(n||(this.renderTo=n=i.renderTo),it(n)&&(this.renderTo=n=v.getElementById(n)),n||ot(13,!0,this),t=ut(et(n,"data-highcharts-chart")),st(t)&&a[t]&&a[t].hasRendered&&a[t].destroy(),et(n,"data-highcharts-chart",this.index),n.innerHTML="",i.skipClone||n.offsetWidth||this.temporaryDisplay(),this.getChartSize(),t=this.chartWidth,f=this.chartHeight,b(n,{overflow:"hidden"}),this.styledMode||(e=k({position:"relative",overflow:"hidden",width:t+"px",height:f+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none"},i.style)),this.container=n=bt("div",{id:s},e,n),this._cursor=n.style.cursor,this.renderer=new(r[i.renderer]||r.Renderer)(n,t,f,null,i.forExport,u.exporting&&u.exporting.allowHTML,this.styledMode),g(void 0,this),this.setClassName(i.className),this.styledMode)for(o in u.defs)this.renderer.definition(u.defs[o]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index;c(this,"afterGetContainer")},n.prototype.getMargins=function(n){var i=this.spacing,r=this.margin,t=this.titleOffset;this.resetMargins();t[0]&&!l(r[0])&&(this.plotTop=Math.max(this.plotTop,t[0]+i[0]));t[2]&&!l(r[2])&&(this.marginBottom=Math.max(this.marginBottom,t[2]+i[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(r,i);c(this,"getMargins");n||this.getAxisMargins()},n.prototype.getAxisMargins=function(){var n=this,r=n.axisOffset=[0,0,0,0],t=n.colorAxis,u=n.margin,i=function(n){n.forEach(function(n){n.visible&&n.getOffset()})};n.hasCartesianSeries?i(n.axes):t&&t.length&&i(t);vt.forEach(function(t,i){l(u[i])||(n[t]+=r[i])});n.setChartSize()},n.prototype.reflow=function(n){var t=this,i=t.options.chart,r=t.renderTo,f=l(i.width)&&l(i.height),u=i.width||p(r,"width");i=i.height||p(r,"height");r=n?n.target:y;!f&&!t.isPrinting&&u&&i&&(r===y||r===v)&&((u!==t.containerWidth||i!==t.containerHeight)&&(h.clearTimeout(t.reflowTimeout),t.reflowTimeout=at(function(){t.container&&t.setSize(void 0,void 0,!1)},n?100:0)),t.containerWidth=u,t.containerHeight=i)},n.prototype.setReflow=function(n){var t=this;!1===n||this.unbindReflow?!1===n&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=nt(y,"resize",function(n){t.options&&t.reflow(n)}),nt(this,"destroy",this.unbindReflow))},n.prototype.setSize=function(n,t,i){var r=this,u=r.renderer;r.isResizing+=1;g(i,r);i=u.globalAnimation;r.oldChartHeight=r.chartHeight;r.oldChartWidth=r.chartWidth;"undefined"!=typeof n&&(r.options.chart.width=n);"undefined"!=typeof t&&(r.options.chart.height=t);r.getChartSize();r.styledMode||(i?yt:b)(r.container,{width:r.chartWidth+"px",height:r.chartHeight+"px"},i);r.setChartSize(!0);u.setSize(r.chartWidth,r.chartHeight,i);r.axes.forEach(function(n){n.isDirty=!0;n.setScale()});r.isDirtyLegend=!0;r.isDirtyBox=!0;r.layOutTitles();r.getMargins();r.redraw(i);r.oldChartHeight=null;c(r,"resize");at(function(){r&&c(r,"endResize",null,function(){--r.isResizing})},pt(i).duration)},n.prototype.setChartSize=function(n){var r=this.inverted,u=this.renderer,t=this.chartWidth,l=this.chartHeight,a=this.options.chart,i=this.spacing,f=this.clipOffset,s,h,e,o;this.plotLeft=s=Math.round(this.plotLeft);this.plotTop=h=Math.round(this.plotTop);this.plotWidth=e=Math.max(0,Math.round(t-s-this.marginRight));this.plotHeight=o=Math.max(0,Math.round(l-h-this.marginBottom));this.plotSizeX=r?o:e;this.plotSizeY=r?e:o;this.plotBorderWidth=a.plotBorderWidth||0;this.spacingBox=u.spacingBox={x:i[3],y:i[0],width:t-i[3]-i[1],height:l-i[0]-i[2]};this.plotBox=u.plotBox={x:s,y:h,width:e,height:o};t=2*Math.floor(this.plotBorderWidth/2);r=Math.ceil(Math.max(t,f[3])/2);u=Math.ceil(Math.max(t,f[0])/2);this.clipBox={x:r,y:u,width:Math.floor(this.plotSizeX-Math.max(t,f[1])/2-r),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(t,f[2])/2-u))};n||this.axes.forEach(function(n){n.setAxisSize();n.setAxisTranslation()});c(this,"afterSetChartSize",{skipAxes:n})},n.prototype.resetMargins=function(){c(this,"resetMargins");var n=this,t=n.options.chart;["margin","spacing"].forEach(function(i){var r=t[i],u=ht(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach(function(r,f){n[i][f]=w(t[i+r],u[f])})});vt.forEach(function(t,i){n[t]=w(n.margin[i],n.spacing[i])});n.axisOffset=[0,0,0,0];n.clipOffset=[0,0,0,0]},n.prototype.drawChartBox=function(){var n=this.options.chart,e=this.renderer,g=this.chartWidth,nt=this.chartHeight,r=this.chartBackground,s=this.plotBackground,u=this.plotBorder,a=this.styledMode,h=this.plotBGImage,o=n.backgroundColor,tt=n.plotBackgroundColor,l=n.plotBackgroundImage,f,y=this.plotLeft,p=this.plotTop,w=this.plotWidth,b=this.plotHeight,k=this.plotBox,d=this.clipRect,v=this.clipBox,t="animate",i;r||(this.chartBackground=r=e.rect().addClass("highcharts-background").add(),t="attr");a?i=f=r.strokeWidth():(i=n.borderWidth||0,f=i+(n.shadow?8:0),o={fill:o||"none"},(i||r["stroke-width"])&&(o.stroke=n.borderColor,o["stroke-width"]=i),r.attr(o).shadow(n.shadow));r[t]({x:f/2,y:f/2,width:g-f-i%2,height:nt-f-i%2,r:n.borderRadius});t="animate";s||(t="attr",this.plotBackground=s=e.rect().addClass("highcharts-plot-background").add());s[t](k);a||(s.attr({fill:tt||"none"}).shadow(n.plotShadow),l&&(h?(l!==h.attr("href")&&h.attr("href",l),h.animate(k)):this.plotBGImage=e.image(l,y,p,w,b).add()));d?d.animate({width:v.width,height:v.height}):this.clipRect=e.clipRect(v);t="animate";u||(t="attr",this.plotBorder=u=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());a||u.attr({stroke:n.plotBorderColor,"stroke-width":n.plotBorderWidth||0,fill:"none"});u[t](u.crisp({x:y,y:p,width:w,height:b},-u.strokeWidth()));this.isDirtyBox=!1;c(this,"afterDrawChartBox")},n.prototype.propFromSeries=function(){var r=this,u=r.options.chart,n,f=r.options.series,e,t;["inverted","angular","polar"].forEach(function(o){for(n=i.seriesTypes[u.type||u.defaultSeriesType],t=u[o]||n&&n.prototype[o],e=f&&f.length;!t&&e--;)(n=i.seriesTypes[f[e].type])&&n.prototype[o]&&(t=!0);r[o]=t})},n.prototype.linkSeries=function(){var n=this,t=n.series;t.forEach(function(n){n.linkedSeries.length=0});t.forEach(function(t){var i=t.options.linkedTo;it(i)&&(i=":previous"===i?n.series[t.index-1]:n.get(i))&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,i.enabledDataSorting&&t.setDataSortingOptions(),t.visible=w(t.options.visible,i.options.visible,t.visible))});c(this,"afterLinkSeries")},n.prototype.renderSeries=function(){this.series.forEach(function(n){n.translate();n.render()})},n.prototype.renderLabels=function(){var n=this,t=n.options.labels;t.items&&t.items.forEach(function(i){var r=k(t.style,i.style),u=ut(r.left)+n.plotLeft,f=ut(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(i.html,u,f).attr({zIndex:2}).css(r).add()})},n.prototype.render=function(){var n=this.axes,t=this.colorAxis,h=this.renderer,i=this.options,e=0,o=function(n){n.forEach(function(n){n.visible&&n.render()})},s,r,f;this.setTitle();this.legend=new u(this,i.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();i=this.plotWidth;n.some(function(n){if(n.horiz&&n.visible&&n.options.labels.enabled&&n.series.length)return e=21,!0});s=this.plotHeight=Math.max(this.plotHeight-e,0);n.forEach(function(n){n.setScale()});this.getAxisMargins();r=1.1<i/this.plotWidth;f=1.05<s/this.plotHeight;(r||f)&&(n.forEach(function(n){(n.horiz&&r||!n.horiz&&f)&&n.setTickInterval(!0)}),this.getMargins());this.drawChartBox();this.hasCartesianSeries?o(n):t&&t.length&&o(t);this.seriesGroup||(this.seriesGroup=h.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.updateContainerScaling();this.hasRendered=!0},n.prototype.addCredits=function(n){var i=this,t=d(!0,this.options.credits,n);t.enabled&&!this.credits&&(this.credits=this.renderer.text(t.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){t.href&&(y.location.href=t.href)}).attr({align:t.position.align,zIndex:8}),i.styledMode||this.credits.css(t.style),this.credits.add().align(t.position),this.credits.update=function(n){i.credits=i.credits.destroy();i.addCredits(n)})},n.prototype.updateContainerScaling=function(){var n=this.container,t,i;2<n.offsetWidth&&2<n.offsetHeight&&n.getBoundingClientRect&&(t=n.getBoundingClientRect(),i=t.width/n.offsetWidth,n=t.height/n.offsetHeight,1!==i||1!==n?this.containerScaling={scaleX:i,scaleY:n}:delete this.containerScaling)},n.prototype.destroy=function(){var n=this,u=n.axes,f=n.series,i=n.container,t,e=i&&i.parentNode;for(c(n,"destroy"),n.renderer.forExport?dt(a,n):a[n.index]=void 0,r.chartCount--,n.renderTo.removeAttribute("data-highcharts-chart"),ct(n),t=u.length;t--;)u[t]=u[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=f.length;t--;)f[t]=f[t].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())});i&&(i.innerHTML="",ct(i),e&&kt(i));rt(n,function(t,i){delete n[i]})},n.prototype.firstRender=function(){var n=this,t=n.options;(!n.isReadyToRender||n.isReadyToRender())&&(n.getContainer(),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),(gt(t.series)?t.series:[]).forEach(function(t){n.initSeries(t)}),n.linkSeries(),n.setSeriesData(),c(n,"beforeRender"),o&&(n.pointer=r.hasTouch||!y.PointerEvent&&!y.MSPointerEvent?new o(n,t):new f(n,t)),n.render(),n.renderer.imgCount||n.hasLoaded||n.onload(),n.temporaryDisplay(!0))},n.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(n){n&&"undefined"!=typeof this.index&&n.apply(this,[this])},this);c(this,"load");c(this,"render");l(this.index)&&this.setReflow(this.options.chart.reflow);this.hasLoaded=!0},n}();return ft.prototype.callbacks=[],r.chart=function(n,t,i){return new ft(n,t,i)},r.Chart=ft}),i(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i,r){var e=n.stop,u=r.addEvent,f=r.createElement,o=r.pick;u(t,"afterSetChartSize",function(n){var r=this.options.chart.scrollablePlotArea,t=r&&r.minWidth,u;r=r&&r.minHeight;this.renderer.forExport||(t?(this.scrollablePixelsX=t=Math.max(0,t-this.chartWidth))&&(this.plotWidth+=t,this.inverted?(this.clipBox.height+=t,this.plotBox.height+=t):(this.clipBox.width+=t,this.plotBox.width+=t),u={1:{name:"right",value:t}}):r&&(this.scrollablePixelsY=t=Math.max(0,r-this.chartHeight))&&(this.plotHeight+=t,this.inverted?(this.clipBox.width+=t,this.plotBox.width+=t):(this.clipBox.height+=t,this.plotBox.height+=t),u={2:{name:"bottom",value:t}}),u&&!n.skipAxes&&this.axes.forEach(function(n){u[n.side]?n.getPlotLinePath=function(){var t=u[n.side].name,r=this[t],f;return this[t]=r-u[n.side].value,f=i.Axis.prototype.getPlotLinePath.apply(this,arguments),this[t]=r,f}:(n.setAxisSize(),n.setAxisTranslation())}))});u(t,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});t.prototype.setUpScrolling=function(){var t=this,n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(n.overflowX="auto");this.scrollablePixelsY&&(n.overflowY="auto");this.scrollingParent=f("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=f("div",{className:"highcharts-scrolling"},n,this.scrollingParent);u(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition});this.innerContainer=f("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};t.prototype.moveFixedElements=function(){var r=this.container,t=this.fixedRenderer,i=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),n;this.scrollablePixelsX&&!this.inverted?n=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(n=".highcharts-yaxis");i.push(n,n+"-labels");i.forEach(function(n){[].forEach.call(r.querySelectorAll(n),function(n){(n.namespaceURI===t.SVG_NS?t.box:t.box.parentNode).appendChild(n);n.style.pointerEvents="auto"})})};t.prototype.applyFixed=function(){var n,t,s=!this.fixedDiv,r=this.options.chart.scrollablePlotArea,h,c;s?(this.fixedDiv=f("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2,top:0},null,!0),null===(n=this.scrollingContainer)||void 0===n?void 0:n.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=n=new i.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,null===(t=this.options.chart)||void 0===t?void 0:t.style),this.scrollableMask=n.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":o(r.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),u(this,"afterShowResetZoom",this.moveFixedElements),u(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);t=this.chartWidth+(this.scrollablePixelsX||0);n=this.chartHeight+(this.scrollablePixelsY||0);e(this.container);this.container.style.width=t+"px";this.container.style.height=n+"px";this.renderer.boxWrapper.attr({width:t,height:n,viewBox:[0,0,t,n].join(" ")});this.chartBackground.attr({width:t,height:n});this.scrollingContainer.style.height=this.chartHeight+"px";s&&(r.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*r.scrollPositionX),r.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*r.scrollPositionY));n=this.axisOffset;s=this.plotTop-n[0]-1;r=this.plotLeft-n[3]-1;t=this.plotTop+this.plotHeight+n[2]+1;n=this.plotLeft+this.plotWidth+n[1]+1;h=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0);c=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);s=this.scrollablePixelsX?[["M",0,s],["L",this.plotLeft-1,s],["L",this.plotLeft-1,t],["L",0,t],["Z"],["M",h,s],["L",this.chartWidth,s],["L",this.chartWidth,t],["L",h,t],["Z"]]:this.scrollablePixelsY?[["M",r,0],["L",r,this.plotTop-1],["L",n,this.plotTop-1],["L",n,0],["Z"],["M",r,c],["L",r,this.chartHeight],["L",n,this.chartHeight],["L",n,c],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:s})}}),i(t,"Core/Axis/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Utilities.js"]],function(n,t){var u=n.getDeferredAnimation,r=t.addEvent,f=t.destroyObjectProperties,e=t.fireEvent,i=t.objectEach,o=t.pick,s=function(){function n(n){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=n}return n.prototype.buildStacks=function(){var t=this.axis,i=t.series,f=o(t.options.reversedStacks,!0),r=i.length,n,u;if(!t.isXAxis){for(this.usePercentage=!1,n=r;n--;)u=i[f?n:r-n-1],u.setStackedPoints(),u.setGroupedPoints();for(n=0;n<r;n++)i[n].modifyStacks();e(t,"afterBuildStacks")}},n.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var n=this.stacks=this.oldStacks;i(n,function(n){i(n,function(n){n.cumulative=n.total})})}},n.prototype.resetStacks=function(){var n=this,t=n.stacks;n.axis.isXAxis||i(t,function(t){i(t,function(i,r){i.touched<n.stacksTouched?(i.destroy(),delete t[r]):(i.total=null,i.cumulative=null)})})},n.prototype.renderStackTotals=function(){var n=this.axis,t=n.chart,f=t.renderer,e=this.stacks,r;n=u(t,n.options.stackLabels.animation);r=this.stackTotalGroup=this.stackTotalGroup||f.g("stack-labels").attr({visibility:"visible",zIndex:6,opacity:0}).add();r.translate(t.plotLeft,t.plotTop);i(e,function(n){i(n,function(n){n.render(r)})});r.animate({opacity:1},n)},n}();return function(){function n(){}return n.compose=function(t){r(t,"init",n.onInit);r(t,"destroy",n.onDestroy)},n.onDestroy=function(){var n=this.stacking,t;n&&(t=n.stacks,i(t,function(n,i){f(n);t[i]=null}),n&&n.stackTotalGroup&&n.stackTotalGroup.destroy())},n.onInit=function(){this.stacking||(this.stacking=new s(this))},n}()}),i(t,"Mixins/LegendSymbol.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var r=t.merge,i=t.pick;return n.LegendSymbolMixin={drawRectangle:function(n,t){var r=n.symbolHeight,u=n.options.squareSymbol;t.legendSymbol=this.chart.renderer.rect(u?(n.symbolWidth-r)/2:0,n.baseline-r+1,u?r:n.symbolWidth,r,i(n.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,u=t.marker,e=n.symbolWidth,o=n.symbolHeight,s=o/2,h=this.chart.renderer,c=this.legendGroup,f;n=n.baseline-Math.round(.3*n.fontMetrics.b);f={};this.chart.styledMode||(f={"stroke-width":t.lineWidth||0},t.dashStyle&&(f.dashstyle=t.dashStyle));this.legendLine=h.path([["M",0,n],["L",e,n]]).addClass("highcharts-graph").attr(f).add(c);u&&!1!==u.enabled&&e&&(t=Math.min(i(u.radius,s),s),0===this.symbol.indexOf("url")&&(u=r(u,{width:o,height:o}),t=0),this.legendSymbol=u=h.symbol(this.symbol,e/2-t,n-t,2*t,2*t,u).addClass("highcharts-point").add(c),u.isMarker=!0)}}}),i(t,"Core/Series/CartesianSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Series/Series.js"],t["Core/Globals.js"],t["Mixins/LegendSymbol.js"],t["Core/Options.js"],t["Core/Series/Point.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o){var nt=n.animObject,a=u.defaultOptions,tt=o.addEvent,p=o.arrayMax,it=o.arrayMin,v=o.clamp,rt=o.correctFloat,h=o.defined,ut=o.erase,y=o.error,w=o.extend,ct=o.find,c=o.fireEvent,ft=o.getNestedProperty,b=o.isArray,et=o.isFunction,l=o.isNumber,lt=o.isString,k=o.merge,d=o.objectEach,s=o.pick,ot=o.removeEvent,at=o.splat,st=o.syncTimeout,g,ht;return g=t.seriesTypes,ht=i.win,n=t.seriesType("line",void 0,{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){var n=this.series.chart.numberFormatter;return"number"!=typeof this.y?"":n(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,isCartesian:!0,parallelArrays:["x","y"],pointClass:f,requireSorting:!0,sorted:!0,init:function(n,t){var i,r,f,u;c(this,"init",{options:t});i=this;r=n.series;this.eventOptions=this.eventOptions||{};this.eventsToUnbind=[];i.chart=n;i.options=t=i.setOptions(t);i.linkedSeries=[];i.bindAxes();w(i,{name:t.name,state:"",visible:!1!==t.visible,selected:!0===t.selected});u=t.events;d(u,function(n,t){et(n)&&i.eventOptions[t]!==n&&(et(i.eventOptions[t])&&ot(i,t,i.eventOptions[t]),i.eventOptions[t]=n,tt(i,t,n))});(u&&u.click||t.point&&t.point.events&&t.point.events.click||t.allowPointSelect)&&(n.runTrackerClick=!0);i.getColor();i.getSymbol();i.parallelArrays.forEach(function(n){i[n+"Data"]||(i[n+"Data"]=[])});i.isCartesian&&(n.hasCartesianSeries=!0);r.length&&(f=r[r.length-1]);i._i=s(f&&f._i,-1)+1;i.opacity=i.options.opacity;n.orderSeries(this.insert(r));t.dataSorting&&t.dataSorting.enabled?i.setDataSortingOptions():i.points||i.data||i.setData(t.data,!1);c(this,"afterInit")},is:function(n){return g[n]&&this instanceof g[n]},insert:function(n){var i=this.options.index,t;if(l(i)){for(t=n.length;t--;)if(i>=s(n[t].options.index,n[t]._i)){n.splice(t+1,0,this);break}-1===t&&n.unshift(this);t+=1}else n.push(this);return s(t,n.length-1)},bindAxes:function(){var n=this,t=n.options,r=n.chart,i;c(this,"bindAxes",null,function(){(n.axisTypes||[]).forEach(function(u){r[u].forEach(function(r){i=r.options;(t[u]===i.index||"undefined"!=typeof t[u]&&t[u]===i.id||"undefined"==typeof t[u]&&0===i.index)&&(n.insert(r.series),n[u]=r,r.isDirty=!0)});n[u]||n.optionalAxis===u||y(18,!0,r)})});c(this,"afterBindAxes")},updateParallelArrays:function(n,t){var i=n.series,r=arguments,u=l(t)?function(r){var u="y"===r&&i.toYData?i.toYData(n):n[r];i[r+"Data"][t]=u}:function(n){Array.prototype[t].apply(i[n+"Data"],Array.prototype.slice.call(r,2))};i.parallelArrays.forEach(u)},hasData:function(){return this.visible&&"undefined"!=typeof this.dataMax&&"undefined"!=typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var n=this.options,i=this.xIncrement,r,u=n.pointIntervalUnit,t=this.chart.time;return i=s(i,n.pointStart,0),this.pointInterval=r=s(this.pointInterval,n.pointInterval,1),u&&(n=new t.Date(i),"day"===u?t.set("Date",n,t.get("Date",n)+r):"month"===u?t.set("Month",n,t.get("Month",n)+r):"year"===u&&t.set("FullYear",n,t.get("FullYear",n)+r),r=n.getTime()-i),this.xIncrement=i+r,i},setDataSortingOptions:function(){var n=this.options;w(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});h(n.pointRange)||(n.pointRange=1)},setOptions:function(n){var u=this.chart,r=u.options,i=r.plotOptions,t=u.userOptions||{},e,o,f;return n=k(n),u=u.styledMode,e={plotOptions:i,userOptions:n},c(this,"setOptions",e),o=e.plotOptions[this.type],f=t.plotOptions||{},this.userOptions=e.userOptions,t=k(o,i.series,t.plotOptions&&t.plotOptions[this.type],n),this.tooltipOptions=k(a.tooltip,a.plotOptions.series&&a.plotOptions.series.tooltip,a.plotOptions[this.type].tooltip,r.tooltip.userOptions,i.series&&i.series.tooltip,i[this.type].tooltip,n.tooltip),this.stickyTracking=s(n.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:t.stickyTracking),null===o.marker&&delete t.marker,this.zoneAxis=t.zoneAxis,r=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&(i={value:t[this.zoneAxis+"Threshold"]||t.threshold||0,className:"highcharts-negative"},u||(i.color=t.negativeColor,i.fillColor=t.negativeFillColor),r.push(i)),r.length&&h(r[r.length-1].value)&&r.push(u?{}:{color:this.color,fillColor:this.fillColor}),c(this,"afterSetOptions",{options:t}),t},getName:function(){return s(this.options.name,"Series "+(this.index+1))},getCyclic:function(n,t,i){var r=this.chart,e=this.userOptions,f=n+"Index",o=n+"Counter",c=i?i.length:s(r.options.chart[n+"Count"],r[n+"Count"]),u;t||(u=s(e[f],e["_"+f]),h(u)||(r.series.length||(r[o]=0),e["_"+f]=u=r[o]%c,r[o]+=1),i&&(t=i[u]));"undefined"!=typeof u&&(this[f]=u);this[n]=t},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||a.plotOptions[this.type].color,this.chart.options.colors)},getPointsCollection:function(){return(this.hasGroupedData?this.points:this.data)||[]},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(n,t){var e=n.id,o=n.x,u=this.points,s,h=this.options.dataSorting,r,f,i;if(e)r=this.chart.get(e);else if((this.linkedParent||this.enabledDataSorting)&&(f=h&&h.matchByName?"name":"index",r=ct(u,function(t){return!t.touched&&t[f]===n[f]}),!r))return;return r&&(i=r&&r.index,"undefined"!=typeof i&&(s=!0)),"undefined"==typeof i&&l(o)&&(i=this.xData.indexOf(o,t)),-1!==i&&"undefined"!=typeof i&&this.cropped&&(i=i>=this.cropStart?i-this.cropStart:i),!s&&u[i]&&u[i].touched&&(i=void 0),i},drawLegendSymbol:r.drawLineMarker,updateData:function(n,t){var e=this.options,r=e.dataSorting,i=this.points,u=[],o,f,s,v=this.requireSorting,c=n.length===i.length,a=!0;if(this.xIncrement=null,n.forEach(function(n,t){var a=h(n)&&this.pointClass.prototype.optionsToObject.call({series:this},n)||{},f=a.x;a.id||l(f)?(f=this.findPointIndex(a,s),-1===f||"undefined"==typeof f?u.push(n):i[f]&&n!==e.data[f]?(i[f].update(n,!1,null,!1),i[f].touched=!0,v&&(s=f+1)):i[f]&&(i[f].touched=!0),!c||t!==f||r&&r.enabled||this.hasDerivedData)&&(o=!0):u.push(n)},this),o)for(n=i.length;n--;)(f=i[n])&&!f.touched&&f.remove&&f.remove(!1,t);else!c||r&&r.enabled?a=!1:(n.forEach(function(n,t){i[t].update&&n!==i[t].y&&i[t].update(n,!1,null,!1)}),u.length=0);return(i.forEach(function(n){n&&(n.touched=!1)}),!a)?!1:(u.forEach(function(n){this.addPoint(n,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=p(this.xData),this.autoIncrement()),!0)},setData:function(n,t,i,r){var u=this,e=u.points,g=e&&e.length||0,f,v=u.options,p=u.chart,nt=v.dataSorting,o=null,w=u.xAxis;o=v.turboThreshold;var k=this.xData,h=this.yData,tt=(f=u.pointArrayMap)&&f.length,d=v.keys,c=0,a=1,it;if(n=n||[],f=n.length,t=s(t,!0),nt&&nt.enabled&&(n=this.sortData(n)),!1!==r&&f&&g&&!u.cropped&&!u.hasGroupedData&&u.visible&&!u.isSeriesBoosting&&(it=this.updateData(n,i)),!it){if(u.xIncrement=null,u.colorCounter=0,this.parallelArrays.forEach(function(n){u[n+"Data"].length=0}),o&&f>o)if(o=u.getFirstValidPoint(n),l(o))for(i=0;i<f;i++)k[i]=this.autoIncrement(),h[i]=n[i];else if(b(o))if(tt)for(i=0;i<f;i++)r=n[i],k[i]=r[0],h[i]=r.slice(1,tt+1);else for(d&&(c=d.indexOf("x"),a=d.indexOf("y"),c=0<=c?c:0,a=0<=a?a:1),i=0;i<f;i++)r=n[i],k[i]=r[c],h[i]=r[a];else y(12,!1,p);else for(i=0;i<f;i++)"undefined"!=typeof n[i]&&(r={series:u},u.pointClass.prototype.applyOptions.apply(r,[n[i]]),u.updateParallelArrays(r,i));for(h&&lt(h[0])&&y(14,!0,p),u.data=[],u.options.data=u.userOptions.data=n,i=g;i--;)e[i]&&e[i].destroy&&e[i].destroy();w&&(w.minRange=w.userMinRange);u.isDirty=p.isDirtyBox=!0;u.isDirtyData=!!e;i=!1}"point"===v.legendType&&(this.processData(),this.generatePoints());t&&p.redraw(i)},sortData:function(n){var t=this,i=t.options.dataSorting.sortKey||"y",r=function(n,t){return h(t)&&n.pointClass.prototype.optionsToObject.call({series:n},t)||{}};return n.forEach(function(i,u){n[u]=r(t,i);n[u].index=u},this),n.concat().sort(function(n,t){return n=ft(i,n),t=ft(i,t),t<n?-1:t>n?1:0}).forEach(function(n,t){n.x=t},this),t.linkedSeries&&t.linkedSeries.forEach(function(t){var u=t.options,i=u.data;u.dataSorting&&u.dataSorting.enabled||!i||(i.forEach(function(u,f){i[f]=r(t,u);n[f]&&(i[f].x=n[f].x,i[f].index=f)}),t.setData(i,!1))}),n},getProcessedData:function(n){var t=this.xData,c=this.yData,r=t.length,f=0,i=this.xAxis,e=this.options,u=e.cropThreshold,v=n||this.getExtremesFromAll||e.getExtremesFromAll,p=this.isCartesian,l,o,s,a,h;for(n=i&&i.val2lin,e=!(!i||!i.logarithmic),l=this.requireSorting,i&&(i=i.getExtremes(),o=i.min,s=i.max),p&&this.sorted&&!v&&(!u||r>u||this.forceCrop)&&(t[r-1]<o||t[0]>s?(t=[],c=[]):this.yData&&(t[0]<o||t[r-1]>s)&&(f=this.cropData(this.xData,this.yData,o,s),t=f.xData,c=f.yData,f=f.start,a=!0)),u=t.length||1;--u;)(r=e?n(t[u])-n(t[u-1]):t[u]-t[u-1],0<r&&("undefined"==typeof h||r<h))?h=r:0>r&&l&&(y(15,!1,this.chart),l=!1);return{xData:t,yData:c,cropped:a,cropStart:f,closestPointRange:h}},processData:function(n){var t=this.xAxis;if(this.isCartesian&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!n)return!1;n=this.getProcessedData();this.cropped=n.cropped;this.cropStart=n.cropStart;this.processedXData=n.xData;this.processedYData=n.yData;this.closestPointRange=this.basePointRange=n.closestPointRange},cropData:function(n,t,i,r,u){var h=n.length,e=0,o=h,f;for(u=s(u,this.cropShoulder),f=0;f<h;f++)if(n[f]>=i){e=Math.max(0,f-u);break}for(i=f;i<h;i++)if(n[i]>r){o=i+u;break}return{xData:n.slice(e,o),yData:t.slice(e,o),start:e,end:o}},generatePoints:function(){var u=this.options,e=u.data,t=this.data,l,o=this.processedXData,y=this.processedYData,a=this.pointClass,s=o.length,v=this.cropStart||0,f=this.hasGroupedData,h,n,r,i;for(u=u.keys,h=[],t||f||(t=[],t.length=e.length,t=this.data=t),u&&f&&(this.options.keys=!1),n=0;n<s;n++)r=v+n,f?(i=(new a).init(this,[o[n]].concat(at(y[n]))),i.dataGroup=this.groupMap[n],i.dataGroup.options&&(i.options=i.dataGroup.options,w(i,i.dataGroup.options),delete i.dataLabels)):(i=t[r])||"undefined"==typeof e[r]||(t[r]=i=(new a).init(this,e[r],o[n])),i&&(i.index=r,h[n]=i);if(this.options.keys=u,t&&(s!==(l=t.length)||f))for(n=0;n<l;n++)n!==v||f||(n+=s),t[n]&&(t[n].destroyElements(),t[n].plotX=void 0);this.data=t;this.points=h;c(this,"afterGeneratePoints")},getXExtremes:function(n){return{min:it(n),max:p(n)}},getExtremes:function(n,t){var h=this.xAxis,e=this.yAxis,a=this.processedXData||this.xData,o=[],v=0,y=0,u=0,w=this.requireSorting?this.cropShoulder:0,k=e?e.positiveValuesOnly:!1,r;for(n=n||this.stackedYData||this.processedYData||[],e=n.length,h&&(u=h.getExtremes(),y=u.min,u=u.max),r=0;r<e;r++){var s=a[r],i=n[r],f=(l(i)||b(i))&&(i.length||0<i||!k);if(s=t||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(a[r+w]||s)>=y&&(a[r-w]||s)<=u,f&&s)if(f=i.length)for(;f--;)l(i[f])&&(o[v++]=i[f]);else o[v++]=i}return n={dataMin:it(o),dataMax:p(o)},c(this,"afterGetExtremes",{dataExtremes:n}),n},applyExtremes:function(){var n=this.getExtremes();return this.dataMin=n.dataMin,this.dataMax=n.dataMax,n},getFirstValidPoint:function(n){for(var t=null,r=n.length,i=0;null===t&&i<r;)t=n[i],i++;return t},translate:function(){var k,f,d,it;this.processedXData||this.processData();this.generatePoints();for(var a=this.options,ut=a.stacking,e=this.xAxis,g=e.categories,st=this.enabledDataSorting,i=this.yAxis,ft=this.points,ht=ft.length,ct=!!this.modifyValue,nt=this.pointPlacementToXValue(),lt=!!nt,o=a.threshold,et=a.startFromThreshold?o:0,p,ot=this.zoneAxis||"y",tt=Number.MAX_VALUE,y=0;y<ht;y++){var n=ft[y],r=n.x,t=n.y,u=n.low,w=ut&&i.stacking&&i.stacking.stacks[(this.negStacks&&t<(et?0:o)?"-":"")+this.stackKey];(i.positiveValuesOnly&&!i.validatePositiveValue(t)||e.positiveValuesOnly&&!e.validatePositiveValue(r))&&(n.isNull=!0);n.plotX=p=rt(v(e.translate(r,0,0,0,1,nt,"flags"===this.type),-1e5,1e5));ut&&this.visible&&w&&w[r]&&(k=this.getStackIndicator(k,r,this.index),n.isNull||(f=w[r],d=f.points[k.key]));b(d)&&(u=d[0],t=d[1],u===et&&k.key===w[r].base&&(u=s(l(o)&&o,i.min)),i.positiveValuesOnly&&0>=u&&(u=null),n.total=n.stackTotal=f.total,n.percentage=f.total&&n.y/f.total*100,n.stackY=t,this.irregularWidths||f.setOffset(this.pointXOffset||0,this.barW||0));n.yBottom=h(u)?v(i.translate(u,0,1,0,1),-1e5,1e5):null;ct&&(t=this.modifyValue(t,n));n.plotY="number"==typeof t&&Infinity!==t?v(i.translate(t,0,1,0,1),-1e5,1e5):void 0;n.isInside=this.isPointInside(n);n.clientX=lt?rt(e.translate(r,0,0,0,1,nt)):p;n.negative=n[ot]<(a[ot+"Threshold"]||o||0);n.category=g&&"undefined"!=typeof g[n.x]?g[n.x]:n.x;n.isNull||!1===n.visible||("undefined"!=typeof it&&(tt=Math.min(tt,Math.abs(p-it))),it=p);n.zone=this.zones.length&&n.getZone();!n.graphic&&this.group&&st&&(n.isNew=!0)}this.closestPointRangePx=tt;c(this,"afterTranslate")},getValidPoints:function(n,t,i){var r=this.chart;return(n||this.points||[]).filter(function(n){return t&&!r.isInsidePlot(n.plotX,n.plotY,r.inverted)?!1:!1!==n.visible&&(i||!n.isNull)})},getClipBox:function(n,t){var f=this.options,i=this.chart,e=i.inverted,r=this.xAxis,u=r&&this.yAxis,o=i.options.chart.scrollablePlotArea||{};return n&&!1===f.clip&&u?n=e?{y:-i.chartWidth+u.len+u.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+r.len+r.pos}:{y:-u.pos,height:i.chartHeight,width:i.chartWidth,x:-r.pos}:(n=this.clipBox||i.clipBox,t&&(n.width=i.plotSizeX,n.x=(i.scrollablePixelsX||0)*(o.scrollPositionX||0))),t?{width:n.width,x:n.x}:n},setClip:function(n){var t=this.chart,f=this.options,o=t.renderer,e=t.inverted,s=this.clipBox,u=this.getClipBox(n),i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,u.height,f.xAxis,f.yAxis].join(),r=t[i],h=t[i+"m"];n&&(u.width=0,e&&(u.x=t.plotHeight+(!1!==f.clip?0:t.plotTop)));r?t.hasLoaded||r.attr(u):(n&&(t[i+"m"]=h=o.clipRect(e?t.plotSizeX+99:-99,e?-t.plotLeft:-t.plotTop,99,e?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(u),r.count={length:0});n&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);(!1!==f.clip||n)&&(this.group.clip(n||s?r:t.clipRect),this.markerGroup.clip(h),this.sharedClipKey=i);n||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&i&&t[i]&&(s||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var t=this.chart,i=nt(this.options.animation),r,u;t.hasRendered||(n?this.setClip(i):(r=this.sharedClipKey,n=t[r],u=this.getClipBox(i,!0),n&&n.animate(u,i),t[r+"m"]&&t[r+"m"].animate({width:u.width+99,x:u.x-(t.inverted?0:99)},i)))},afterAnimate:function(){this.setClip();c(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var l=this.points,h=this.chart,f,t,u=this.options.marker,v=this[this.specialGroup]||this.markerGroup,e=this.xAxis,y=s(u.enabled,!e||e.isRadial?!0:null,this.closestPointRangePx>=u.enabledThreshold*u.radius),a,i,r;if(!1!==u.enabled||this._hasPointMarkers)for(f=0;f<l.length;f++){var n=l[f],c=(t=n.graphic)?"animate":"attr",o=n.marker||{},p=!!n.marker;(y&&"undefined"==typeof o.enabled||o.enabled)&&!n.isNull&&!1!==n.visible?(a=s(o.symbol,this.symbol),i=this.markerAttribs(n,n.selected&&"select"),this.enabledDataSorting&&(n.startXPos=e.reversed?-i.width:e.width),r=!1!==n.isInside,t?t[r?"show":"hide"](r).animate(i):r&&(0<i.width||n.hasImage)&&(n.graphic=t=h.renderer.symbol(a,i.x,i.y,i.width,i.height,p?o:u).add(v),this.enabledDataSorting&&h.hasRendered&&(t.attr({x:n.startXPos}),c="animate")),t&&"animate"===c&&t[r?"show":"hide"](r).animate(i),t&&!h.styledMode&&t[c](this.pointAttribs(n,n.selected&&"select")),t&&t.addClass(n.getClassName(),!0)):t&&(n.graphic=t.destroy())}},markerAttribs:function(n,t){var f=this.options,i=f.marker,u=n.marker||{},e=u.symbol||i.symbol,r=s(u.radius,i.radius);return t&&(i=i.states[t],t=u.states&&u.states[t],r=s(t&&t.radius,i&&i.radius,r+(i&&i.radiusPlus||0))),n.hasImage=e&&0===e.indexOf("url"),n.hasImage&&(r=0),n={x:f.crisp?Math.floor(n.plotX)-r:n.plotX-r,y:n.plotY-r},r&&(n.width=n.height=2*r),n},pointAttribs:function(n,t){var i=this.options.marker,r=n&&n.options,f=r&&r.marker||{},u=this.color,e=r&&r.color,h=n&&n.color,o;return r=s(f.lineWidth,i.lineWidth),o=n&&n.zone&&n.zone.color,n=1,u=e||o||h||u,e=f.fillColor||i.fillColor||u,u=f.lineColor||i.lineColor||u,t=t||"normal",i=i.states[t],t=f.states&&f.states[t]||{},r=s(t.lineWidth,i.lineWidth,r+s(t.lineWidthPlus,i.lineWidthPlus,0)),e=t.fillColor||i.fillColor||e,u=t.lineColor||i.lineColor||u,n=s(t.opacity,i.opacity,n),{stroke:u,"stroke-width":r,fill:e,opacity:n}},destroy:function(n){var t=this,r=t.chart,l=/AppleWebKit\/533/.test(ht.navigator.userAgent),s,u,h=t.data||[],f,i;for(c(t,"destroy"),this.removeEvents(n),(t.axisTypes||[]).forEach(function(n){(i=t[n])&&i.series&&(ut(i.series,t),i.isDirty=i.forceRedraw=!0)}),t.legendItem&&t.chart.legend.destroyItem(t),u=h.length;u--;)(f=h[u])&&f.destroy&&f.destroy();t.points=null;o.clearTimeout(t.animationTimeout);d(t,function(n,t){n instanceof e&&!n.survive&&(s=l&&"group"===t?"hide":"destroy",n[s]())});r.hoverSeries===t&&(r.hoverSeries=null);ut(r.series,t);r.orderSeries();d(t,function(i,r){n&&"hcEvents"===r||delete t[r]})},getGraphPath:function(n,t,i){var u=this,s=u.options,r=s.step,c,e=[],o=[],f;return n=n||u.points,(c=n.reversed)&&n.reverse(),(r={right:1,center:2}[r]||r&&3)&&c&&(r=4-r),n=this.getValidPoints(n,!1,!(s.connectNulls&&!t&&!i)),n.forEach(function(c,l){var v=c.plotX,y=c.plotY,a=n[l-1];(c.leftCliff||a&&a.rightCliff)&&!i&&(f=!0);c.isNull&&!h(t)&&0<l?f=!s.connectNulls:c.isNull&&!t?f=!0:(0===l||f?l=[["M",c.plotX,c.plotY]]:u.getPointSpline?l=[u.getPointSpline(n,c,l)]:r?(l=1===r?[["L",a.plotX,y]]:2===r?[["L",(a.plotX+v)/2,a.plotY],["L",(a.plotX+v)/2,y]]:[["L",v,a.plotY]],l.push(["L",v,y])):l=[["L",v,y]],o.push(c.x),r&&(o.push(c.x),2===r&&o.push(c.x)),e.push.apply(e,l),f=!1)}),e.xMap=o,u.graphPath=e},drawGraph:function(){var n=this,i=this.options,t=(this.gappedPath||this.getGraphPath).call(this),u=this.chart.styledMode,r=[["graph","highcharts-graph"]];u||r[0].push(i.lineColor||this.color||"#cccccc",i.dashStyle);r=n.getZonesGraphs(r);r.forEach(function(r,f){var o=r[0],e=n[o],s=e?"animate":"attr";e?(e.endX=n.preventGraphAnimation?null:t.xMap,e.animate({d:t})):t.length&&(n[o]=e=n.chart.renderer.path(t).addClass(r[1]).attr({zIndex:1}).add(n.group));e&&!u&&(o={stroke:r[2],"stroke-width":i.lineWidth,fill:n.fillGraph&&n.color||"none"},r[3]?o.dashstyle=r[3]:"square"!==i.linecap&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),e[s](o).shadow(2>f&&i.shadow));e&&(e.startX=t.xMap,e.isArea=t.isArea)})},getZonesGraphs:function(n){return this.zones.forEach(function(t,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(t.className||"")];this.chart.styledMode||i.push(t.color||this.color,t.dashStyle||this.options.dashStyle);n.push(i)},this),n},applyZones:function(){var l=this,t=this.chart,nt=t.renderer,tt=this.zones,u,r,f=this.clips||[],n,e=this.graph,o=this.area,a=Math.max(t.chartWidth,t.chartHeight),i=this[(this.zoneAxis||"y")+"Axis"],w=t.inverted,b,y,p,it=!1,k,d,g,h,c;tt.length&&(e||o)&&i&&"undefined"!=typeof i.min?(g=i.reversed,h=i.horiz,e&&!this.showLine&&e.hide(),o&&o.hide(),c=i.getExtremes(),tt.forEach(function(tt,rt){u=g?h?t.plotWidth:0:h?0:i.toPixels(c.min)||0;u=v(s(r,u),0,a);r=v(Math.round(i.toPixels(s(tt.value,c.max),!0)||0),0,a);it&&(u=r=i.toPixels(c.max));b=Math.abs(u-r);y=Math.min(u,r);p=Math.max(u,r);i.isXAxis?(n={x:w?p:y,y:0,width:b,height:a},h||(n.x=t.plotHeight-n.x)):(n={x:0,y:w?p:y,width:a,height:b},h&&(n.y=t.plotWidth-n.y));w&&nt.isVML&&(n=i.isXAxis?{x:0,y:g?y:p,height:n.width,width:t.chartWidth}:{x:n.y-t.plotLeft-t.spacingBox.x,y:0,width:n.height,height:t.chartHeight});f[rt]?f[rt].animate(n):f[rt]=nt.clipRect(n);k=l["zone-area-"+rt];d=l["zone-graph-"+rt];e&&d&&d.clip(f[rt]);o&&k&&k.clip(f[rt]);it=tt.value>c.max;l.resetZones&&0===r&&(r=void 0)}),this.clips=f):l.visible&&(e&&e.show(!0),o&&o.show(!0))},invertGroups:function(n){function i(){["group","markerGroup"].forEach(function(i){t[i]&&(r.renderer.isVML&&t[i].attr({width:t.yAxis.len,height:t.xAxis.len}),t[i].width=t.yAxis.len,t[i].height=t.xAxis.len,t[i].invert(t.isRadialSeries?!1:n))})}var t=this,r=t.chart;t.xAxis&&(t.eventsToUnbind.push(tt(r,"resize",i)),i(),t.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return i={visibility:i,zIndex:r||.1},"undefined"==typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(i.opacity=this.opacity),e&&(this[n]=f=this.chart.renderer.g().add(u)),f.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(h(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),f.attr(i)[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},removeEvents:function(n){n?this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind.length=0):ot(this)},render:function(){var n=this,i=n.chart,r=n.options,u=nt(r.animation),t=!n.finishedAnimating&&i.renderer.isSVG&&u.duration,e=n.visible?"inherit":"hidden",o=r.zIndex,s=n.hasRendered,h=i.seriesGroup,l=i.inverted,f;c(this,"render");f=n.plotGroup("group","series",e,o,h);n.markerGroup=n.plotGroup("markerGroup","markers",e,o,h);t&&n.animate&&n.animate(!0);f.inverted=n.isCartesian||n.invertable?l:!1;n.drawGraph&&(n.drawGraph(),n.applyZones());n.visible&&n.drawPoints();n.drawDataLabels&&n.drawDataLabels();n.redrawPoints&&n.redrawPoints();n.drawTracker&&!1!==n.options.enableMouseTracking&&n.drawTracker();n.invertGroups(l);!1===r.clip||n.sharedClipKey||s||f.clip(i.clipRect);t&&n.animate&&n.animate();s||(t&&u.defer&&(t+=u.defer),n.animationTimeout=st(function(){n.afterAnimate()},t||0));n.isDirty=!1;n.hasRendered=!0;c(n,"afterRender")},redraw:function(){var n=this.chart,u=this.isDirty||this.isDirtyData,t=this.group,i=this.xAxis,r=this.yAxis;t&&(n.inverted&&t.attr({width:n.plotWidth,height:n.plotHeight}),t.animate({translateX:s(i&&i.left,n.plotLeft),translateY:s(r&&r.top,n.plotTop)}));this.translate();this.render();u&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(n,t){var i=this.xAxis,r=this.yAxis,u=this.chart.inverted;return this.searchKDTree({clientX:u?i.len-n.chartY+i.pos:n.chartX-i.pos,plotY:u?r.len-n.chartX+r.pos:n.chartY-r.pos},t,n)},buildKDTree:function(n){function i(n,r,u){var f,e;if(f=n&&n.length)return e=t.kdAxisArray[r%u],n.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:n[f],left:i(n.slice(0,f),r+1,u),right:i(n.slice(f+1),r+1,u)}}this.buildingKdTree=!0;var t=this,r=-1<t.options.findNearestPointBy.indexOf("y")?2:1;delete t.kdTree;st(function(){t.kdTree=i(t.getValidPoints(null,!t.directTouch),r,r);t.buildingKdTree=!1},t.options.kdNow||n&&"touchstart"===n.type?0:1)},searchKDTree:function(n,t,i){function e(n,t,i,s){var l=t.point,a=o.kdAxisArray[i%s],v=l,y=h(n[u])&&h(l[u])?Math.pow(n[u]-l[u],2):null,c=h(n[f])&&h(l[f])?Math.pow(n[f]-l[f],2):null;return c=(y||0)+(c||0),l.dist=h(c)?Math.sqrt(c):Number.MAX_VALUE,l.distX=h(y)?Math.sqrt(y):Number.MAX_VALUE,a=n[a]-l[a],c=0>a?"left":"right",y=0>a?"right":"left",t[c]&&(c=e(n,t[c],i+1,s),v=c[r]<v[r]?c:l),t[y]&&Math.sqrt(a*a)<v[r]&&(n=e(n,t[y],i+1,s),v=n[r]<v[r]?n:v),v}var o=this,u=this.kdAxisArray[0],f=this.kdAxisArray[1],r=t?"distX":"dist";return t=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree?e(n,this.kdTree,t,t):void 0},pointPlacementToXValue:function(){var n=this.options,i=n.pointRange,t=this.xAxis;return n=n.pointPlacement,"between"===n&&(n=t.reversed?-.5:.5),l(n)?n*s(i,t.pointRange):0},isPointInside:function(n){return"undefined"!=typeof n.plotY&&"undefined"!=typeof n.plotX&&0<=n.plotY&&n.plotY<=this.yAxis.len&&0<=n.plotX&&n.plotX<=this.xAxis.len}}),n}),i(t,"Series/LineSeries.js",[t["Core/Series/CartesianSeries.js"],t["Core/Globals.js"]],function(n,t){return t.Series=n,t.Series}),i(t,"Extensions/Stacking.js",[t["Core/Axis/Axis.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Core/Axis/StackingAxis.js"],t["Core/Utilities.js"]],function(n,t,i,r,u){var o=u.correctFloat,s=u.defined,l=u.destroyObjectProperties,a=u.format,c=u.isNumber,f=u.pick,e,h;return e=i.Series,h=function(){function n(n,t,i,r,u){var f=n.chart.inverted;this.axis=n;this.isNegative=i;this.options=t=t||{};this.x=r;this.total=null;this.points={};this.hasValidPoints=!1;this.stack=u;this.rightCliff=this.leftCliff=0;this.alignOptions={align:t.align||(f?i?"left":"right":"center"),verticalAlign:t.verticalAlign||(f?"middle":i?"bottom":"top"),y:t.y,x:t.x};this.textAlign=t.textAlign||(f?i?"right":"left":"center")}return n.prototype.destroy=function(){l(this,this.axis)},n.prototype.render=function(n){var r=this.axis.chart,t=this.options,i=t.format;i=i?a(i,this,r):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):(this.label=r.renderer.label(i,null,null,t.shape,null,null,t.useHTML,!1,"stack-labels"),i={r:t.borderRadius||0,text:i,rotation:t.rotation,padding:f(t.padding,5),visibility:"hidden"},r.styledMode||(i.fill=t.backgroundColor,i.stroke=t.borderColor,i["stroke-width"]=t.borderWidth,this.label.css(t.style)),this.label.attr(i),this.label.added||this.label.add(n));this.label.labelrank=r.plotHeight},n.prototype.setOffset=function(n,t,i,r,u){var o=this.axis,h=o.chart,l;r=o.translate(o.stacking.usePercentage?100:r?r:this.total,0,0,0,1);i=o.translate(i?i:0);i=s(r)&&Math.abs(r-i);n=f(u,h.xAxis[0].translate(this.x))+n;o=s(r)&&this.getStackBox(h,this,n,r,t,i,o);t=this.label;i=this.isNegative;n="justify"===f(this.options.overflow,"justify");l=this.textAlign;t&&o&&(u=t.getBBox(),r=t.padding,l="left"===l?h.inverted?-r:r:"right"===l?u.width:h.inverted&&"center"===l?u.width/2:h.inverted?i?u.width+r:-r:u.width/2,i=h.inverted?u.height/2:i?-r:u.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),o.x-=l,o.y-=i,t.align(this.alignOptions,null,o),h.isInsidePlot(t.alignAttr.x+l-this.alignOptions.x,t.alignAttr.y+i-this.alignOptions.y)?t.show():(t.alignAttr.y=-9999,n=!1),n&&e.prototype.justifyDataLabel.call(this.axis,t,this.alignOptions,t.alignAttr,u,o),t.attr({x:t.alignAttr.x,y:t.alignAttr.y}),f(!n&&this.options.crop,!0)&&((h=c(t.x)&&c(t.y)&&h.isInsidePlot(t.x-r+t.width,t.y)&&h.isInsidePlot(t.x+r,t.y))||t.hide()))},n.prototype.getStackBox=function(n,t,i,r,u,f,e){var s=t.axis.reversed,o=n.inverted,h=e.height+e.pos-(o?n.plotLeft:n.plotTop);return t=t.isNegative&&!s||!t.isNegative&&s,{x:o?t?r-e.right:r-f+e.pos-n.plotLeft:i+n.xAxis[0].transB-n.plotLeft,y:o?e.height-i-u:t?h-r-f:h-r,width:o?f:u,height:o?u:f}},n}(),t.prototype.getStacks=function(){var n=this,t=n.inverted;n.yAxis.forEach(function(n){n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)});n.series.forEach(function(i){var r=i.xAxis&&i.xAxis.options||{};i.options.stacking&&(!0===i.visible||!1===n.options.chart.ignoreHiddenSeries)&&(i.stackKey=[i.type,f(i.options.stack,""),t?r.top:r.left,t?r.height:r.width].join())})},r.compose(n),e.prototype.setGroupedPoints=function(){this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length&&e.prototype.setStackedPoints.call(this,"group")},e.prototype.setStackedPoints=function(n){var l=n||this.options.stacking;if(l&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var it=this.processedXData,k=this.processedYData,d=[],rt=k.length,v=this.options,g=v.threshold,p=f(v.startFromThreshold&&g,0);v=v.stack;n=n?this.type+","+l:this.stackKey;var nt="-"+n,tt=this.negStacks,e=this.yAxis,r=e.stacking.stacks,w=e.stacking.oldStacks,u,a;for(e.stacking.stacksTouched+=1,a=0;a<rt;a++){var i=it[a],c=k[a],b=this.getStackIndicator(b,i,this.index),y=b.key,t=(u=tt&&c<(p?0:g))?nt:n;r[t]||(r[t]={});r[t][i]||(w[t]&&w[t][i]?(r[t][i]=w[t][i],r[t][i].total=null):r[t][i]=new h(e,e.options.stackLabels,u,i,v));t=r[t][i];null!==c?(t.points[y]=t.points[this.index]=[f(t.cumulative,p)],s(t.cumulative)||(t.base=y),t.touched=e.stacking.stacksTouched,0<b.index&&!1===this.singleStacks&&(t.points[y][0]=t.points[this.index+","+i+",0"][0])):t.points[y]=t.points[this.index]=null;"percent"===l?(u=u?n:nt,tt&&r[u]&&r[u][i]?(u=r[u][i],t.total=u.total=Math.max(u.total,t.total)+Math.abs(c)||0):t.total=o(t.total+(Math.abs(c)||0))):"group"===l?null!==c&&(t.total=(t.total||0)+1):t.total=o(t.total+(c||0));t.cumulative="group"===l?(t.total||1)-1:f(t.cumulative,p)+(c||0);null!==c&&(t.points[y].push(t.cumulative),d[a]=t.cumulative,t.hasValidPoints=!0)}"percent"===l&&(e.stacking.usePercentage=!0);"group"!==l&&(this.stackedYData=d);e.stacking.oldStacks={}}},e.prototype.modifyStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacking.stacks,u=n.processedXData,t,f=n.options.stacking;n[f+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var o=u.length,e,s;o--;)(e=u[o],t=n.getStackIndicator(t,e,n.index,i),s=(e=r[i]&&r[i][e])&&e.points[t.key])&&n[f+"Stacker"](s,e,o)})},e.prototype.percentStacker=function(n,t,i){t=t.total?100/t.total:0;n[0]=o(n[0]*t);n[1]=o(n[1]*t);this.stackedYData[i]=n[1]},e.prototype.getStackIndicator=function(n,t,i,r){return!s(n)||n.x!==t||r&&n.key!==r?n={x:t,index:0,key:r}:n.index++,n.key=[i,t,n.index].join(),n},i.StackItem=h,i.StackItem}),i(t,"Core/Dynamics.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/Series.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Series/LineSeries.js"],t["Core/Options.js"],t["Core/Series/Point.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o,s,h){var k=n.animate,rt=n.setAnimation,b=i.seriesTypes,ut=e.time,ft=h.addEvent,d=h.createElement,y=h.css,g=h.defined,nt=h.erase,et=h.error,l=h.extend,a=h.fireEvent,ot=h.isArray,tt=h.isNumber,p=h.isObject,st=h.isString,v=h.merge,w=h.objectEach,c=h.pick,ht=h.relativeLength,it=h.splat;u.cleanRecursively=function(n,t){var i={};return w(n,function(r,f){p(n[f],!0)&&!n.nodeType&&t[f]?(r=u.cleanRecursively(n[f],t[f]),Object.keys(r).length&&(i[f]=r)):(p(n[f])||n[f]!==t[f])&&(i[f]=n[f])}),i};l(r.prototype,{addSeries:function(n,t,i){var u,r=this;return n&&(t=c(t,!0),a(r,"addSeries",{options:n},function(){u=r.initSeries(n);r.isDirtyLegend=!0;r.linkSeries();u.enabledDataSorting&&u.setData(n.data,!1);a(r,"afterAddSeries",{series:u});t&&r.redraw(i)})),u},addAxis:function(n,t,i,r){return this.createAxis(t?"xAxis":"yAxis",{axis:n,redraw:i,animation:r})},addColorAxis:function(n,t,i){return this.createAxis("colorAxis",{axis:n,redraw:t,animation:i})},createAxis:function(n,i){var r=this.options,f="colorAxis"===n,o=i.redraw,s=i.animation,e;return i=v(i.axis,{index:this[n].length,isX:"xAxis"===n}),e=f?new u.ColorAxis(this,i):new t(this,i),r[n]=it(r[n]||{}),r[n].push(i),f&&(this.isDirtyLegend=!0,this.axes.forEach(function(n){n.series=[]}),this.series.forEach(function(n){n.bindAxes();n.isDirtyData=!0})),c(o,!0)&&this.redraw(s),e},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading,f=function(){i&&y(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=d("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container),t.loadingSpan=d("span",{className:"highcharts-loading-inner"},null,i),ft(t,"redraw",f));i.className="highcharts-loading";t.loadingSpan.innerHTML=c(n,u.lang.loading,"");t.styledMode||(y(i,l(r.style,{zIndex:10})),y(t.loadingSpan,r.labelStyle),t.loadingShown||(y(i,{opacity:0,display:""}),k(i,{opacity:r.style.opacity||.5},{duration:r.showDuration||0})));t.loadingShown=!0;f()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&(n.className="highcharts-loading highcharts-loading-hidden",this.styledMode||k(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){y(n,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],update:function(n,t,i,r){var f=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},e,h,y,p=n.isResponsiveOptions,b=[],o;a(f,"update",{options:n});p||f.setResponsive(!1,!0);n=u.cleanRecursively(n,f.options);v(!0,f.userOptions,n);(e=n.chart)&&(v(!0,f.options.chart,e),"className"in e&&f.setClassName(e.className),"reflow"in e&&f.setReflow(e.reflow),("inverted"in e||"polar"in e||"type"in e)&&(f.propFromSeries(),o=!0),"alignTicks"in e&&(o=!0),w(e,function(n,t){-1!==f.propsRequireUpdateSeries.indexOf("chart."+t)&&(h=!0);-1!==f.propsRequireDirtyBox.indexOf(t)&&(f.isDirtyBox=!0);-1!==f.propsRequireReflow.indexOf(t)&&(p?f.isDirtyBox=!0:y=!0)}),!f.styledMode&&"style"in e&&f.renderer.setStyle(e.style));!f.styledMode&&n.colors&&(this.options.colors=n.colors);n.time&&(this.time===ut&&(this.time=new s(n.time)),v(!0,f.options.time,n.time));w(n,function(t,i){f[i]&&"function"==typeof f[i].update?f[i].update(t,!1):"function"==typeof f[l[i]]?f[l[i]](t):"color"!==i&&-1===f.collectionsWithUpdate.indexOf(i)&&v(!0,f.options[i],n[i]);"chart"!==i&&-1!==f.propsRequireUpdateSeries.indexOf(i)&&(h=!0)});this.collectionsWithUpdate.forEach(function(t){if(n[t]){if("series"===t){var r=[];f[t].forEach(function(n,t){n.options.isInternal||r.push(c(n.options.index,t))})}it(n[t]).forEach(function(n,u){var o=g(n.id),e;o&&(e=f.get(n.id));e||(e=f[t][r?r[u]:u])&&o&&g(e.options.id)&&(e=void 0);e&&e.coll===t&&(e.update(n,!1),i&&(e.touched=!0));!e&&i&&f.collectionsWithInit[t]&&(f.collectionsWithInit[t][0].apply(f,[n].concat(f.collectionsWithInit[t][1]||[]).concat([!1])).touched=!0)});i&&f[t].forEach(function(n){n.touched||n.options.isInternal?delete n.touched:b.push(n)})}});b.forEach(function(n){n.remove&&n.remove(!1)});o&&f.axes.forEach(function(n){n.update({},!1)});h&&f.getSeriesOrderByLinks().forEach(function(n){n.chart&&n.update({},!1)},this);o=e&&e.width;e=e&&e.height;st(e)&&(e=ht(e,o||f.chartWidth));y||tt(o)&&o!==f.chartWidth||tt(e)&&e!==f.chartHeight?f.setSize(o,e,r):c(t,!0)&&f.redraw(r);a(f,"afterUpdate",{options:n,redraw:t,animation:r})},setSubtitle:function(n,t){this.applyDescription("subtitle",n);this.layOutTitles(t)},setCaption:function(n,t){this.applyDescription("caption",n);this.layOutTitles(t)}});r.prototype.collectionsWithInit={xAxis:[r.prototype.addAxis,[!0]],yAxis:[r.prototype.addAxis,[!1]],series:[r.prototype.addSeries]};l(o.prototype,{update:function(n,t,i,r){function l(){u.applyOptions(n);var r=e&&u.hasDummyGraphic;r=null===u.y?!r:r;e&&r&&(u.graphic=e.destroy(),delete u.hasDummyGraphic);p(n,!0)&&(e&&e.element&&n&&n.marker&&"undefined"!=typeof n.marker.symbol&&(u.graphic=e.destroy()),n&&n.dataLabels&&u.dataLabel&&(u.dataLabel=u.dataLabel.destroy()),u.connector&&(u.connector=u.connector.destroy()));o=u.index;f.updateParallelArrays(u,o);s.data[o]=p(s.data[o],!0)||p(n,!0)?u.options:c(n,s.data[o]);f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(h.isDirtyBox=!0);"point"===s.legendType&&(h.isDirtyLegend=!0);t&&h.redraw(i)}var u=this,f=u.series,e=u.graphic,o,h=f.chart,s=f.options;t=c(t,!0);!1===r?l():u.firePointEvent("update",{options:n},l)},remove:function(n,t){this.series.removePoint(this.series.data.indexOf(this),n,t)}});l(f.prototype,{addPoint:function(n,t,i,r,u){var y=this.options,s=this.data,w=this.chart,o=this.xAxis,v,h,p,f,l,e;if(o=o&&o.hasNames&&o.names,v=y.data,h=this.xData,t=c(t,!0),f={series:this},this.pointClass.prototype.applyOptions.apply(f,[n]),l=f.x,e=h.length,this.requireSorting&&l<h[e-1])for(p=!0;e&&h[e-1]>l;)e--;this.updateParallelArrays(f,"splice",e,0,0);this.updateParallelArrays(f,e);o&&f.name&&(o[l]=f.name);v.splice(e,0,n);p&&(this.data.splice(e,0,null),this.processData());"point"===y.legendType&&this.generatePoints();i&&(s[0]&&s[0].remove?s[0].remove(!1):(s.shift(),this.updateParallelArrays(f,"shift"),v.shift()));!1!==u&&a(this,"addPoint",{point:f});this.isDirtyData=this.isDirty=!0;t&&w.redraw(r)},removePoint:function(n,t,i){var r=this,f=r.data,u=f[n],e=r.points,o=r.chart,s=function(){e&&e.length===f.length&&e.splice(n,1);f.splice(n,1);r.options.data.splice(n,1);r.updateParallelArrays(u||{series:r},"splice",n,1);u&&u.destroy();r.isDirty=!0;r.isDirtyData=!0;t&&o.redraw()};rt(i,o);t=c(t,!0);u?u.firePointEvent("remove",null,s):s()},remove:function(n,t,i,r){function e(){u.destroy(r);u.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();c(n,!0)&&f.redraw(t)}var u=this,f=u.chart;!1!==i?a(u,"remove",null,e):e()},update:function(n,t){var p;n=u.cleanRecursively(n,this.userOptions);a(this,"update",{options:n});var i=this,e=i.chart,f=i.userOptions,s=i.initialType||i.type,w=e.options.plotOptions,h=n.type||f.type||e.options.chart.type,y=!(this.hasDerivedData||h&&h!==this.type||"undefined"!=typeof n.pointStart||"undefined"!=typeof n.pointInterval||i.hasOptionChanged("dataGrouping")||i.hasOptionChanged("pointStart")||i.hasOptionChanged("pointInterval")||i.hasOptionChanged("pointIntervalUnit")||i.hasOptionChanged("keys")),d=b[s].prototype,k,r=["eventOptions","navigatorSeries","baseSeries"],g=i.finishedAnimating&&{animation:!1},o={};y&&(r.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==n.visible&&r.push("area","graph"),i.parallelArrays.forEach(function(n){r.push(n+"Data")}),n.data&&(n.dataSorting&&l(i.options.dataSorting,n.dataSorting),this.setData(n.data,!1)));n=v(f,g,{index:"undefined"==typeof f.index?i.index:f.index,pointStart:c(w&&w.series&&w.series.pointStart,f.pointStart,i.xData[0])},!y&&{data:i.options.data},n);y&&n.data&&(n.data=i.options.data);r=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(r);r.forEach(function(n){r[n]=i[n];delete i[n]});i.remove(!1,null,!1,!0);for(k in d)i[k]=void 0;b[h||s]?l(i,b[h||s].prototype):et(17,!0,e,{missingModuleFor:h||s});r.forEach(function(n){i[n]=r[n]});i.init(e,n);y&&this.points&&(p=i.options,!1===p.visible?(o.graphic=1,o.dataLabel=1):i._hasPointLabels||(n=p.marker,f=p.dataLabels,n&&(!1===n.enabled||"symbol"in n)&&(o.graphic=1),f&&!1===f.enabled&&(o.dataLabel=1)),this.points.forEach(function(n){n&&n.series&&(n.resolveColor(),Object.keys(o).length&&n.destroyElements(o),!1===p.showInLegend&&n.legendItem&&e.legend.destroyItem(n))},this));i.initialType=s;e.linkSeries();a(this,"afterUpdate");c(t,!0)&&e.redraw(y?void 0:!1)},setName:function(n){this.name=this.options.name=this.userOptions.name=n;this.chart.isDirtyLegend=!0},hasOptionChanged:function(n){var i=this.options[n],t=this.chart.options.plotOptions,r=this.userOptions[n];return r?i!==r:i!==c(t&&t[this.type]&&t[this.type][n],t&&t.series&&t.series[n],i)}});l(t.prototype,{update:function(n,t){var i=this.chart,r=n&&n.events||{};n=v(this.userOptions,n);i.options[this.coll].indexOf&&(i.options[this.coll][i.options[this.coll].indexOf(this.userOptions)]=n);w(i.options[this.coll].events,function(n,t){"undefined"==typeof r[t]&&(r[t]=void 0)});this.destroy(!0);this.init(i,l(n,{events:r}));i.isDirtyBox=!0;c(t,!0)&&i.redraw()},remove:function(n){for(var t=this.chart,i=this.coll,r=this.series,u=r.length;u--;)r[u]&&r[u].remove(!1);nt(t.axes,this);nt(t[i],this);ot(t.options[i])?t.options[i].splice(this.options.index,1):delete t.options[i];t[i].forEach(function(n,t){n.options.index=n.userOptions.index=t});this.destroy();t.isDirtyBox=!0;c(n,!0)&&t.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}})}),i(t,"Series/AreaSeries.js",[t["Core/Series/Series.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Mixins/LegendSymbol.js"],t["Core/Utilities.js"]],function(n,t,i,r,u){var o=t.parse,s=u.objectEach,f=u.pick,e=i.Series;n.seriesType("area","line",{threshold:0},{singleStacks:!1,getStackPoints:function(n){var o=[],r=[],y=this.xAxis,u=this.yAxis,e=u.stacking.stacks[this.stackKey],i={},h=this.index,c=u.series,l=c.length,a=f(u.options.reversedStacks,!0)?1:-1,t,v;if(n=n||this.points,this.options.stacking){for(t=0;t<n.length;t++)n[t].leftNull=n[t].rightNull=void 0,i[n[t].x]=n[t];s(e,function(n,t){null!==n.total&&r.push(t)});r.sort(function(n,t){return n-t});v=c.map(function(n){return n.visible});r.forEach(function(n,f){var s=0,c,p;if(i[n]&&!i[n].isNull)o.push(i[n]),[-1,1].forEach(function(u){var y=1===u?"rightNull":"leftNull",o=0,s=e[r[f+u]];if(s)for(t=h;0<=t&&t<l;)c=s.points[t],c||(t===h?i[n][y]=!0:v[t]&&(p=e[n].points[t])&&(o-=p[1]-p[0])),t+=a;i[n][1===u?"rightCliff":"leftCliff"]=o});else{for(t=h;0<=t&&t<l;){if(c=e[n].points[t]){s=c[1];break}t+=a}s=u.translate(s,0,1,0,1);o.push({isNull:!0,plotX:y.translate(n,0,0,0,1),x:n,plotY:s,yBottom:s})}})}return o},getGraphPath:function(n){var o=e.prototype.getGraphPath,i=this.options,u=i.stacking,h=this.yAxis,t,c=[],l=[],p=this.index,w=h.stacking.stacks[this.stackKey],b=i.threshold,a=Math.round(h.getThreshold(i.threshold)),v;for(i=f(i.connectNulls,"percent"===u),v=function(t,i,r){var f=n[t],o,e,s;t=u&&w[f.x].points[p];o=f[r+"Null"]||0;r=f[r+"Cliff"]||0;f=!0;r||o?(e=(o?t[0]:t[1])+r,s=t[0]+r,f=!!o):!u&&n[i]&&n[i].isNull&&(e=s=b);"undefined"!=typeof e&&(l.push({plotX:y,plotY:null===e?a:h.getThreshold(e),isNull:f,isCliff:!0}),c.push({plotX:y,plotY:null===s?a:h.getThreshold(s),doCurve:!1}))},n=n||this.points,u&&(n=this.getStackPoints(n)),t=0;t<n.length;t++){u||(n[t].leftCliff=n[t].rightCliff=n[t].leftNull=n[t].rightNull=void 0);var r=n[t].isNull,y=f(n[t].rectPlotX,n[t].plotX),s=u?n[t].yBottom:a;(!r||i)&&(i||v(t,t-1,"left"),r&&!u&&i||(l.push(n[t]),c.push({x:t,plotX:y,plotY:s})),i||v(t,t+1,"right"))}return t=o.call(this,l,!0,!0),c.reversed=!0,r=o.call(this,c,!0,!0),(s=r[0])&&"M"===s[0]&&(r[0]=["L",s[1],s[2]]),r=t.concat(r),o=o.call(this,l,!1,i),r.xMap=t.xMap,this.areaPath=r,o},drawGraph:function(){this.areaPath=[];e.prototype.drawGraph.apply(this);var n=this,t=this.areaPath,i=this.options,r=[["area","highcharts-area",this.color,i.fillColor]];this.zones.forEach(function(t,u){r.push(["zone-area-"+u,"highcharts-area highcharts-zone-area-"+u+" "+t.className,t.color||n.color,t.fillColor||i.fillColor])});r.forEach(function(r){var s=r[0],u=n[s],h=u?"animate":"attr",e={};u?(u.endX=n.preventGraphAnimation?null:t.xMap,u.animate({d:t})):(e.zIndex=0,u=n[s]=n.chart.renderer.path(t).addClass(r[1]).add(n.group),u.isArea=!0);n.chart.styledMode||(e.fill=f(r[3],o(r[2]).setOpacity(f(i.fillOpacity,.75)).get()));u[h](e);u.startX=t.xMap;u.shiftUnit=i.step?2:1})},drawLegendSymbol:r.drawRectangle});""}),i(t,"Series/SplineSeries.js",[t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(n,t){var i=t.pick;n.seriesType("spline","line",{},{getPointSpline:function(n,t,r){var h=t.plotX||0,u=t.plotY||0,o=n[r-1],s,f;if(r=n[r+1],o&&!o.isNull&&!1!==o.doCurve&&!t.isCliff&&r&&!r.isNull&&!1!==r.doCurve&&!t.isCliff){n=o.plotY||0;s=r.plotX||0;r=r.plotY||0;var c=0,l=(1.5*h+(o.plotX||0))/2.5,e=(1.5*u+n)/2.5;s=(1.5*h+s)/2.5;f=(1.5*u+r)/2.5;s!==l&&(c=(f-e)*(s-h)/(s-l)+u-f);e+=c;f+=c;e>n&&e>u?(e=Math.max(n,u),f=2*u-e):e<n&&e<u&&(e=Math.min(n,u),f=2*u-e);f>r&&f>u?(f=Math.max(r,u),e=2*u-f):f<r&&f<u&&(f=Math.min(r,u),e=2*u-f);t.rightContX=s;t.rightContY=f}return t=["C",i(o.rightContX,o.plotX,0),i(o.rightContY,o.plotY,0),i(l,h,0),i(e,u,0),h,u],o.rightContX=o.rightContY=void 0,t}});""}),i(t,"Series/AreaSplineSeries.js",[t["Core/Series/Series.js"],t["Mixins/LegendSymbol.js"],t["Core/Options.js"]],function(n,t,i){var r=n.seriesTypes.area.prototype;n.seriesType("areaspline","spline",i.defaultOptions.plotOptions.area,{getStackPoints:r.getStackPoints,getGraphPath:r.getGraphPath,drawGraph:r.drawGraph,drawLegendSymbol:t.drawRectangle});""}),i(t,"Series/ColumnSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Series/Series.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Mixins/LegendSymbol.js"],t["Series/LineSeries.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e){var l=n.animObject,a=i.parse;n=r.noop;var h=e.clamp,v=e.defined,y=e.extend,p=e.isArray,s=e.isNumber,c=e.merge,o=e.pick,w=e.objectEach;return t=t.seriesType("column","line",{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){f.prototype.init.apply(this,arguments);var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var t=this,i=t.options,n=t.xAxis,c=t.yAxis,u=n.options.reversedStacks,f,e,r;u=n.reversed&&!u||!n.reversed&&u;e={};r=0;!1===i.grouping?r=1:t.chart.series.forEach(function(n){var o=n.yAxis,i=n.options,u;n.type===t.type&&(n.visible||!t.chart.options.chart.ignoreHiddenSeries)&&c.len===o.len&&c.pos===o.pos&&(i.stacking&&"group"!==i.stacking?(f=n.stackKey,"undefined"==typeof e[f]&&(e[f]=r++),u=e[f]):!1!==i.grouping&&(u=r++),n.columnIndex=u)});var h=Math.min(Math.abs(n.transA)*(n.ordinal&&n.ordinal.slope||i.pointRange||n.closestPointRange||n.tickInterval||1),n.len),l=h*i.groupPadding,s=(h-2*l)/(r||1);return i=Math.min(i.maxPointWidth||n.len,o(i.pointWidth,s*(1-2*i.pointPadding))),t.columnMetrics={width:i,offset:(s-i)/2+(l+((t.columnIndex||0)+(u?1:0))*s-h/2)*(u?-1:1),paddedWidth:s,columnCount:r},t.columnMetrics},crispCol:function(n,t,i,r){var e=this.chart,u=this.borderWidth,f=-(u%2?.5:0);return u=u%2?.5:1,e.inverted&&e.renderer.isVML&&(u+=1),this.options.crisp&&(i=Math.round(n+i)+f,n=Math.round(n)+f,i-=n),r=Math.round(t+r)+u,f=.5>=Math.abs(t)&&.5<r,t=Math.round(t)+u,r-=t,f&&r&&(--t,r+=1),{x:n,y:t,width:i,height:r}},adjustForMissingColumns:function(n,t,i,r){var e=this,o=this.options.stacking,f,u;return!i.isNull&&1<r.columnCount&&(f=0,u=0,w(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(n){if("number"==typeof i.x&&(n=n[i.x.toString()])){var t=n.points[e.index],r=n.total;o?(t&&(f=u),n.hasValidPoints&&u++):p(t)&&(f=t[1],u=r||0)}}),n=(i.plotX||0)+((u-1)*r.paddedWidth+t)/2-t-f*r.paddedWidth),n},translate:function(){var n=this,r=n.chart,u=n.options,l=n.dense=2>n.closestPointRange*n.xAxis.transA;l=n.borderWidth=o(u.borderWidth,l?0:1);var b=n.xAxis,t=n.yAxis,e=u.threshold,c=n.translatedThreshold=t.getThreshold(e),i=o(u.minPointLength,5),a=n.getColumnMetrics(),y=a.width,p=n.barW=Math.max(y,1+2*l),k=n.pointXOffset=a.offset,d=n.dataMin,w=n.dataMax;r.inverted&&(c-=.5);u.pointPadding&&(p=Math.ceil(p));f.prototype.translate.apply(n);n.points.forEach(function(f){var it=o(f.yBottom,c),l=999+Math.abs(it),rt=y,et=f.plotX||0,ft;l=h(f.plotY,-l,t.len+l);var g=et+k,nt=p,ut=Math.min(l,it),tt=Math.max(l,it)-ut;i&&Math.abs(tt)<i&&(tt=i,ft=!t.reversed&&!f.negative||t.reversed&&f.negative,s(e)&&s(w)&&f.y===e&&w<=e&&(t.min||0)<e&&d!==w&&(ft=!ft),ut=Math.abs(ut-c)>i?it-i:c-(ft?i:0));v(f.options.pointWidth)&&(rt=nt=Math.ceil(f.options.pointWidth),g-=Math.round((rt-y)/2));u.centerInCategory&&(g=n.adjustForMissingColumns(g,rt,f,a));f.barX=g;f.pointWidth=rt;f.tooltipPos=r.inverted?[t.len+t.pos-r.plotLeft-l,b.len+b.pos-r.plotTop-(et||0)-k-nt/2,tt]:[g+nt/2,l+t.pos-r.plotTop,tt];f.shapeType=n.pointClass.prototype.shapeType||"rect";f.shapeArgs=n.crispCol.apply(n,f.isNull?[g,c,nt,0]:[g,ut,nt,tt])})},getSymbol:n,drawLegendSymbol:u.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,t){var e=this.options,i=this.pointAttrToOptions||{},u=i.stroke||"borderColor",l=i["stroke-width"]||"borderWidth",f=n&&n.color||this.color,s=n&&n[u]||e[u]||this.color||f,h=n&&n[l]||e[l]||this[l]||0,v,r;return i=n&&n.options.dashStyle||e.dashStyle,v=o(n&&n.opacity,e.opacity,1),n&&this.zones.length&&(r=n.getZone(),f=n.options.color||r&&(r.color||n.nonZonedColor)||this.color,r&&(s=r.borderColor||s,i=r.dashStyle||i,h=r.borderWidth||h)),t&&n&&(n=c(e.states[t],n.options.states&&n.options.states[t]||{}),t=n.brightness,f=n.color||"undefined"!=typeof t&&a(f).brighten(n.brightness).get()||f,s=n[u]||s,h=n[l]||h,i=n.dashStyle||i,v=o(n.opacity,v)),u={fill:f,stroke:s,"stroke-width":h,opacity:v},i&&(u.dashstyle=i),u},drawPoints:function(){var n=this,i=this.chart,t=n.options,f=i.renderer,u=t.animationLimit||250,r;n.points.forEach(function(e){var o=e.graphic,l=!!o,h=o&&i.pointCount<u?"animate":"attr";s(e.plotY)&&null!==e.y?(r=e.shapeArgs,o&&e.hasNewShapeType()&&(o=o.destroy()),n.enabledDataSorting&&(e.startXPos=n.xAxis.reversed?-(r?r.width:0):n.xAxis.width),o||(e.graphic=o=f[e.shapeType](r).add(e.group||n.group))&&n.enabledDataSorting&&i.hasRendered&&i.pointCount<u&&(o.attr({x:e.startXPos}),l=!0,h="animate"),o&&l&&o[h](c(r)),t.borderRadius&&o[h]({r:t.borderRadius}),i.styledMode||o[h](n.pointAttribs(e,e.selected&&"select")).shadow(!1!==e.allowShadow&&t.shadow,null,t.stacking&&!t.borderRadius),o.addClass(e.getClassName(),!0)):o&&(e.graphic=o.destroy())})},animate:function(n){var t=this,i=this.yAxis,o=t.options,f=this.chart.inverted,r={},e=f?"translateX":"translateY",u;n?(r.scaleY=.001,n=h(i.toPixels(o.threshold),i.pos,i.pos+i.len),f?r.translateX=n-i.len:r.translateY=n,t.clipBox&&t.setClip(),t.group.attr(r)):(u=t.group.attr(e),t.group.animate({scaleY:1},y(l(t.options.animation),{step:function(n,f){t.group&&(r[e]=u+f.pos*(i.pos-u),t.group.attr(r))}})))},remove:function(){var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)});f.prototype.remove.apply(n,arguments)}}),t}),i(t,"Series/BarSeries.js",[t["Core/Series/Series.js"]],function(n){n.seriesType("bar","column",null,{inverted:!0});""}),i(t,"Series/ScatterSeries.js",[t["Core/Series/Series.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t,i){i=i.addEvent;var r=t.Series;n.seriesType("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●<\/span> <span style="font-size: 10px"> {series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){(this.options.lineWidth||0===this.options.lineWidth&&this.graph&&this.graph.strokeWidth())&&r.prototype.drawGraph.call(this)},applyJitter:function(){var t=this,n=this.options.jitter,i=this.points.length;n&&this.points.forEach(function(r,u){["x","y"].forEach(function(f,e){var s="plot"+f.toUpperCase(),o,h,c;n[f]&&!r.isNull&&(o=t[f+"Axis"],h=n[f]*o.transA,o&&!o.isLog&&(c=Math.max(0,r[s]-h),o=Math.min(o.len,r[s]+h),e=1e4*Math.sin(u+e*i),r[s]=c+(o-c)*(e-Math.floor(e)),"x"===f&&(r.clientX=r.plotX)))})})}});i(r,"afterTranslate",function(){this.applyJitter&&this.applyJitter()});""}),i(t,"Mixins/CenteredSeries.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var r=t.isNumber,i=t.pick,f=t.relativeLength,u=n.deg2rad;return n.CenteredSeriesMixin={getCenter:function(){var t=this.options,e=this.chart,s=2*(t.slicedOffset||0),h=e.plotWidth-2*s,c=e.plotHeight-2*s,r=t.center,l=Math.min(h,c),u=t.size,o=t.innerSize||0;for("string"==typeof u&&(u=parseFloat(u)),"string"==typeof o&&(o=parseFloat(o)),t=[i(r[0],"50%"),i(r[1],"50%"),i(u&&0>u?void 0:t.size,"100%"),i(o&&0>o?void 0:t.innerSize||0,"0%")],!e.angular||this instanceof n.Series||(t[3]=0),r=0;4>r;++r)u=t[r],e=2>r||2===r&&/%$/.test(u),t[r]=f(u,[h,c,l,t[2]][r])+(e?s:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(n,t){return n=r(n)?n:0,t=r(t)&&t>n&&360>t-n?t:n+360,{start:u*(n+-90),end:u*(t+-90)}}}}),i(t,"Series/PieSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Series/Series.js"],t["Mixins/CenteredSeries.js"],t["Core/Globals.js"],t["Mixins/LegendSymbol.js"],t["Series/LineSeries.js"],t["Core/Series/Point.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o,s){var v=n.setAnimation,y=i.getStartAndEndRadians;n=r.noop;var c=s.addEvent,p=s.clamp,w=s.defined,b=s.fireEvent,k=s.isNumber,l=s.merge,h=s.pick,a=s.relativeLength;t.seriesType("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){if(!this.point.isNull)return this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:t.seriesTypes.column.prototype.pointAttribs,animate:function(n){var t=this,r=t.points,i=t.startAngleRad;n||r.forEach(function(n){var u=n.graphic,r=n.shapeArgs;u&&r&&(u.attr({r:h(n.startR,t.center&&t.center[3]/2),start:i,end:i}),u.animate({r:r.r,start:r.start,end:r.end},t.options.animation))})},hasData:function(){return!!this.processedXData.length},updateTotals:function(){for(var i=0,r=this.points,u=r.length,f=this.options.ignoreHiddenPoint,n,t=0;t<u;t++)n=r[t],i+=f&&!n.visible?0:n.isNull?0:n.y;for(this.total=i,t=0;t<u;t++)n=r[t],n.percentage=0<i&&(n.visible||!f)?n.y/i*100:0,n.total=i},generatePoints:function(){f.prototype.generatePoints.call(this);this.updateTotals()},getX:function(n,t,i){var r=this.center,u=this.radii?this.radii[i.index]:r[2]/2;return n=Math.asin(p((n-r[1])/(u+i.labelDistance),-1,1)),r[0]+(t?-1:1)*Math.cos(n)*(u+i.labelDistance)+(0<i.labelDistance?(t?-1:1)*this.options.dataLabels.padding:0)},translate:function(n){var p,w,s,k,t,u,i,e,o;this.generatePoints();var c=0,r=this.options,l=r.slicedOffset,d=l+(r.borderWidth||0),f=y(r.startAngle,r.endAngle),v=this.startAngleRad=f.start;for(f=(this.endAngleRad=f.end)-v,p=this.points,w=r.dataLabels.distance,r=r.ignoreHiddenPoint,k=p.length,n||(this.center=n=this.getCenter()),s=0;s<k;s++)t=p[s],u=v+c*f,(!r||t.visible)&&(c+=t.percentage/100),i=v+c*f,t.shapeType="arc",t.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:Math.round(1e3*u)/1e3,end:Math.round(1e3*i)/1e3},t.labelDistance=h(t.options.dataLabels&&t.options.dataLabels.distance,w),t.labelDistance=a(t.labelDistance,t.shapeArgs.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,t.labelDistance),i=(i+u)/2,i>1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),t.slicedTranslation={translateX:Math.round(Math.cos(i)*l),translateY:Math.round(Math.sin(i)*l)},e=Math.cos(i)*n[2]/2,o=Math.sin(i)*n[2]/2,t.tooltipPos=[n[0]+.7*e,n[1]+.7*o],t.half=i<-Math.PI/2||i>Math.PI/2?1:0,t.angle=i,u=Math.min(d,t.labelDistance/5),t.labelPosition={natural:{x:n[0]+e+Math.cos(i)*t.labelDistance,y:n[1]+o+Math.sin(i)*t.labelDistance},final:{},alignment:0>t.labelDistance?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n[0]+e+Math.cos(i)*u,y:n[1]+o+Math.sin(i)*u},touchingSliceAt:{x:n[0]+e,y:n[1]+o}}};b(this,"afterTranslate")},drawEmpty:function(){var r=this.startAngleRad,u=this.endAngleRad,n=this.options,t,i;0===this.total&&this.center?(t=this.center[0],i=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,i,this.center[1]/2,0,r,u).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:o.prototype.symbols.arc(t,i,this.center[2]/2,0,{start:r,end:u,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":n.borderWidth,fill:n.fillColor||"none",stroke:n.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())},redrawPoints:function(){var n=this,i=n.chart,o=i.renderer,r,t,u,f,e=n.options.shadow;this.drawEmpty();!e||n.shadowGroup||i.styledMode||(n.shadowGroup=o.g("shadow").attr({zIndex:-1}).add(n.group));n.points.forEach(function(s){var c={},h;t=s.graphic;!s.isNull&&t?(f=s.shapeArgs,r=s.getTranslate(),i.styledMode||(h=s.shadowGroup,e&&!h&&(h=s.shadowGroup=o.g("shadow").add(n.shadowGroup)),h&&h.attr(r),u=n.pointAttribs(s,s.selected&&"select")),s.delayedRendering?(t.setRadialReference(n.center).attr(f).attr(r),i.styledMode||t.attr(u).attr({"stroke-linejoin":"round"}).shadow(e,h),s.delayedRendering=!1):(t.setRadialReference(n.center),i.styledMode||l(!0,c,u),l(!0,c,f,r),t.animate(c)),t.attr({visibility:s.visible?"inherit":"hidden"}),t.addClass(s.getClassName())):t&&(s.graphic=t.destroy())})},drawPoints:function(){var n=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy());t.graphic||(t.graphic=n[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})},searchPoint:n,sortByAngle:function(n,t){n.sort(function(n,i){return"undefined"!=typeof n.angle&&(i.angle-n.angle)*t})},drawLegendSymbol:u.drawRectangle,getCenter:i.getCenter,getSymbol:n,drawGraph:null},{init:function(){var n,t;return e.prototype.init.apply(this,arguments),n=this,n.name=h(n.name,"Slice"),t=function(t){n.slice("select"===t.type)},c(n,"select",t),c(n,"unselect",t),n},isValid:function(){return k(this.y)&&0<=this.y},setVisible:function(n,t){var i=this,r=i.series,u=r.chart,f=r.options.ignoreHiddenPoint;t=h(t,f);n!==i.visible&&(i.visible=i.options.visible=n="undefined"==typeof n?!i.visible:n,r.options.data[r.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(t){i[t]&&i[t][n?"show":"hide"](!0)}),i.legendItem&&u.legend.colorizeItem(i,n),n||"hover"!==i.state||i.setState(""),f&&(r.isDirty=!0),t&&u.redraw())},slice:function(n,t,i){var r=this.series;v(i,r.chart);h(t,!0);this.sliced=this.options.sliced=w(n)?n:!this.sliced;r.options.data[r.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(n){var t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+n,t.r+n,{innerR:t.r-1,start:t.start,end:t.end})},connectorShapes:{fixedOffset:function(n,t,i){var r=t.breakAt;return t=t.touchingSliceAt,[["M",n.x,n.y],i.softConnector?["C",n.x+("left"===n.alignment?-5:5),n.y,2*r.x-t.x,2*r.y-t.y,r.x,r.y]:["L",r.x,r.y],["L",t.x,t.y]]},straight:function(n,t){return t=t.touchingSliceAt,[["M",n.x,n.y],["L",t.x,t.y]]},crookedLine:function(n,t,i){var e;t=t.touchingSliceAt;var u=this.series,f=u.center[0],r=u.chart.plotWidth,o=u.chart.plotLeft;return u=n.alignment,e=this.shapeArgs.r,i=a(i.crookDistance,1),r="left"===u?f+e+(r+o-f-e)*(1-i):o+(f-e)*i,i=["L",r,n.y],f=!0,("left"===u?r>n.x||r<t.x:r<n.x||r>t.x)&&(f=!1),n=[["M",n.x,n.y]],f&&n.push(i),n.push(["L",t.x,t.y]),n}},getConnectorPath:function(){var n=this.labelPosition,i=this.series.options.dataLabels,t=i.connectorShape,r=this.connectorShapes;return r[t]&&(t=r[t]),t.call(this,{x:n.final.x,y:n.final.y,alignment:n.alignment},n.connectorPosition,i)}});""}),i(t,"Core/Series/DataLabels.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Series/CartesianSeries.js"],t["Core/Utilities.js"]],function(n,t,i,r){var v=n.getDeferredAnimation;n=t.noop;var f=t.seriesTypes,y=r.arrayMax,h=r.clamp,e=r.defined,l=r.extend,a=r.fireEvent,p=r.format,o=r.isArray,s=r.merge,w=r.objectEach,u=r.pick,b=r.relativeLength,k=r.splat,c=r.stableSort;t.distribute=function(n,i,r){function l(n,t){return n.target-t.target}for(var o=!0,e=n,a=[],s=0,v=e.reducedLen||i,f=n.length;f--;)s+=n[f].size;if(s>v){for(c(n,function(n,t){return(t.rank||0)-(n.rank||0)}),s=f=0;s<=v;)s+=n[f].size,f++;a=n.splice(f-1,n.length)}for(c(n,l),n=n.map(function(n){return{size:n.size,targets:[n.target],align:u(n.align,.5)}});o;){for(f=n.length;f--;)o=n[f],s=(Math.min.apply(0,o.targets)+Math.max.apply(0,o.targets))/2,o.pos=h(s-o.size*o.align,0,i-o.size);for(f=n.length,o=!1;f--;)0<f&&n[f-1].pos+n[f-1].size>n[f].pos&&(n[f-1].size+=n[f].size,n[f-1].targets=n[f-1].targets.concat(n[f].targets),n[f-1].align=.5,n[f-1].pos+n[f-1].size>i&&(n[f-1].pos=i-n[f-1].size),n.splice(f,1),o=!0)}e.push.apply(e,a);f=0;n.some(function(n){var u=0;if(n.targets.some(function(){if(e[f].pos=n.pos+u,"undefined"!=typeof r&&Math.abs(e[f].pos-e[f].target)>r)return e.slice(0,f+1).forEach(function(n){delete n.pos}),e.reducedLen=(e.reducedLen||i)-.1*i,e.reducedLen>.1*i&&t.distribute(e,i,r),!0;u+=e[f].size;f++}))return!0});c(e,l)};i.prototype.drawDataLabels=function(){function d(n,t){var i=t.filter;return i?(t=i.operator,n=n[i.property],i=i.value,">"===t&&n>i||"<"===t&&n<i||">="===t&&n>=i||"<="===t&&n<=i||"=="===t&&n==i||"==="===t&&n===i?!0:!1):!0}function l(n,t){var i=[],r;if(o(n)&&!o(t))i=n.map(function(n){return s(n,t)});else if(o(t)&&!o(n))i=t.map(function(t){return s(n,t)});else if(o(n)||o(t))for(r=Math.max(n.length,t.length);r--;)i[r]=s(n[r],t[r]);else i=s(n,t);return i}var n=this,t=n.chart,r=n.options,i=r.dataLabels,g=n.points,b,f=n.hasRendered||0,y=i.animation,h,c;y=i.defer?v(t,y,n):{defer:0,duration:0};h=t.renderer;i=l(l(t.options.plotOptions&&t.options.plotOptions.series&&t.options.plotOptions.series.dataLabels,t.options.plotOptions&&t.options.plotOptions[n.type]&&t.options.plotOptions[n.type].dataLabels),i);a(this,"drawDataLabels");(o(i)||i.enabled||n._hasPointLabels)&&(c=n.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",i.zIndex||6),c.attr({opacity:+f}),!f&&(f=n.dataLabelsGroup)&&(n.visible&&c.show(!0),f[r.animation?"animate":"attr"]({opacity:1},y)),g.forEach(function(f){b=k(l(i,f.dlOptions||f.options&&f.options.dataLabels));b.forEach(function(i,o){var y=i.enabled&&(!f.isNull||f.dataLabelOnNull)&&d(f,i),s=f.dataLabels?f.dataLabels[o]:f.dataLabel,g=f.connectors?f.connectors[o]:f.connector,k=u(i.distance,f.labelDistance),nt=!s,a,l,b,v;y&&(a=f.getLabelConfig(),l=u(i[f.formatPrefix+"Format"],i.format),a=e(l)?p(l,a,t):(i[f.formatPrefix+"Formatter"]||i.formatter).call(a,i),l=i.style,b=i.rotation,t.styledMode||(l.color=u(i.color,l.color,n.color,"#000000"),"contrast"===l.color?(f.contrastColor=h.getContrast(f.color||n.color),l.color=!e(k)&&i.inside||0>k||r.stacking?f.contrastColor:"#000000"):delete f.contrastColor,r.cursor&&(l.cursor=r.cursor)),v={r:i.borderRadius||0,rotation:b,padding:i.padding,zIndex:1},t.styledMode||(v.fill=i.backgroundColor,v.stroke=i.borderColor,v["stroke-width"]=i.borderWidth),w(v,function(n,t){"undefined"==typeof n&&delete v[t]}));!s||y&&e(a)?y&&e(a)&&(s?v.text=a:(f.dataLabels=f.dataLabels||[],s=f.dataLabels[o]=b?h.text(a,0,-9999,i.useHTML).addClass("highcharts-data-label"):h.label(a,0,-9999,i.shape,null,null,i.useHTML,null,"data-label"),o||(f.dataLabel=s),s.addClass(" highcharts-data-label-color-"+f.colorIndex+" "+(i.className||"")+(i.useHTML?" highcharts-tracker":""))),s.options=i,s.attr(v),t.styledMode||s.css(l).shadow(i.shadow),s.added||s.add(c),i.textPath&&!i.useHTML&&(s.setTextPath(f.getDataLabelPath&&f.getDataLabelPath(s)||f.graphic,i.textPath),f.dataLabelPath&&!i.textPath.enabled&&(f.dataLabelPath=f.dataLabelPath.destroy())),n.alignDataLabel(f,s,i,null,nt)):(f.dataLabel=f.dataLabel&&f.dataLabel.destroy(),f.dataLabels&&(1===f.dataLabels.length?delete f.dataLabels:delete f.dataLabels[o]),o||delete f.dataLabel,g&&(f.connector=f.connector.destroy(),f.connectors&&(1===f.connectors.length?delete f.connectors:delete f.connectors[o])))})}));a(this,"afterDrawDataLabels")};i.prototype.alignDataLabel=function(n,t,i,r,f){var k=this,o=this.chart,c=this.isCartesian&&o.inverted,a=this.enabledDataSorting,e=u(n.dlBox&&n.dlBox.centerX,n.plotX,-9999),w=u(n.plotY,-9999),s=t.getBBox(),y=i.rotation,p=i.align,d=o.isInsidePlot(e,Math.round(w),c),v="justify"===u(i.overflow,a?"none":"justify"),b=this.visible&&!1!==n.visible&&(n.series.forceDL||a&&!v||d||i.inside&&r&&o.isInsidePlot(e,c?r.x+1:r.y+r.height-1,c)),h=function(i){a&&k.xAxis&&!v&&k.setDataLabelStartPos(n,t,f,d,i)},g;b&&(g=o.renderer.fontMetrics(o.styledMode?void 0:i.style.fontSize,t).b,r=l({x:c?this.yAxis.len-w:e,y:Math.round(c?this.xAxis.len-e:w),width:0,height:0},r),l(i,{width:s.width,height:s.height}),y?(v=!1,e=o.renderer.rotCorr(g,y),e={x:r.x+(i.x||0)+r.width/2+e.x,y:r.y+(i.y||0)+{top:0,middle:.5,bottom:1}[i.verticalAlign]*r.height},h(e),t[f?"attr":"animate"](e).attr({align:p}),h=(y+720)%360,h=180<h&&360>h,"left"===p?e.y-=h?s.height:0:"center"===p?(e.x-=s.width/2,e.y-=s.height/2):"right"===p&&(e.x-=s.width,e.y-=h?0:s.height),t.placed=!0,t.alignAttr=e):(h(r),t.align(i,null,r),e=t.alignAttr),v&&0<=r.height?this.justifyDataLabel(t,i,e,s,r,f):u(i.crop,!0)&&(b=o.isInsidePlot(e.x,e.y)&&o.isInsidePlot(e.x+s.width,e.y+s.height)),i.shape&&!y&&t[f?"attr":"animate"]({anchorX:c?o.plotWidth-n.plotY:n.plotX,anchorY:c?o.plotHeight-n.plotX:n.plotY}));f&&a&&(t.placed=!1);b||a&&!v||(t.hide(!0),t.placed=!1)};i.prototype.setDataLabelStartPos=function(n,t,i,r,u){var s=this.chart,o=s.inverted,f=this.xAxis,h=f.reversed,e=o?t.height/2:t.width/2;n=(n=n.pointWidth)?n/2:0;f=o?u.x:h?-e-n:f.width-e+n;u=o?h?this.yAxis.height-e+n:-e-n:u.y;t.startXPos=f;t.startYPos=u;r?"hidden"===t.visibility&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide);s.hasRendered&&(i&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)};i.prototype.justifyDataLabel=function(n,t,i,r,u,f){var c=this.chart,a=t.align,v=t.verticalAlign,l=n.box?0:n.padding||0,o=t.x,e,s,h;return o=void 0===o?0:o,e=t.y,s=void 0===e?0:e,e=i.x+l,0>e&&("right"===a&&0<=o?(t.align="left",t.inside=!0):o-=e,h=!0),e=i.x+r.width-l,e>c.plotWidth&&("left"===a&&0>=o?(t.align="right",t.inside=!0):o+=c.plotWidth-e,h=!0),e=i.y+l,0>e&&("bottom"===v&&0<=s?(t.verticalAlign="top",t.inside=!0):s-=e,h=!0),e=i.y+r.height-l,e>c.plotHeight&&("top"===v&&0>=s?(t.verticalAlign="bottom",t.inside=!0):s+=c.plotHeight-e,h=!0),h&&(t.x=o,t.y=s,n.placed=!f,n.align(t,void 0,u)),h};f.pie&&(f.pie.prototype.dataLabelPositioners={radialDistributionY:function(n){return n.top+n.distributeBox.pos},radialDistributionX:function(n,t,i,r){return n.getX(i<t.top+2||i>t.bottom-2?r:i,t.half,t)},justify:function(n,t,i){return i[0]+(n.half?-1:1)*(t+n.labelDistance)},alignToPlotEdges:function(n,t,i,r){return n=n.getBBox().width,t?n+r:i-n-r},alignToConnectors:function(n,t,i,r){var u=0,f;return n.forEach(function(n){f=n.dataLabel.getBBox().width;f>u&&(u=f)}),t?u+r:i-u-r}},f.pie.prototype.drawDataLabels=function(){var n=this,et=n.data,r,a=n.chart,h=n.options.dataLabels||{},p=h.connectorPadding,ot,it=a.plotWidth,st=a.plotHeight,ht=a.plotLeft,ct=Math.round(a.chartWidth/3),v,ft=n.center,k=ft[2]/2,rt=ft[1],c,d,w,g,lt=[[],[]],f,l,nt,ut,o=[0,0,0,0],tt=n.dataLabelPositioners,b;n.visible&&(h.enabled||n._hasPointLabels)&&(et.forEach(function(n){n.dataLabel&&n.visible&&n.dataLabel.shortened&&(n.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.dataLabel.shortened=!1)}),i.prototype.drawDataLabels.apply(n),et.forEach(function(n){n.dataLabel&&(n.visible?(lt[n.half].push(n),n.dataLabel._pos=null,!e(h.style.width)&&!e(n.options.dataLabels&&n.options.dataLabels.style&&n.options.dataLabels.style.width)&&n.dataLabel.getBBox().width>ct&&(n.dataLabel.css({width:Math.round(.7*ct)+"px"}),n.dataLabel.shortened=!0)):(n.dataLabel=n.dataLabel.destroy(),n.dataLabels&&1===n.dataLabels.length&&delete n.dataLabels))}),lt.forEach(function(i,s){var ot=i.length,et=[],y,v,ct;if(ot)for(n.sortByAngle(i,s-.5),0<n.maxLabelDistance&&(v=Math.max(0,rt-k-n.maxLabelDistance),ct=Math.min(rt+k+n.maxLabelDistance,a.plotHeight),i.forEach(function(n){0<n.labelDistance&&n.dataLabel&&(n.top=Math.max(0,rt-k-n.labelDistance),n.bottom=Math.min(rt+k+n.labelDistance,a.plotHeight),y=n.dataLabel.getBBox().height||21,n.distributeBox={target:n.labelPosition.natural.y-n.top+y/2,size:y,rank:n.y},et.push(n.distributeBox))}),v=ct+y-v,t.distribute(et,v,v/5)),ut=0;ut<ot;ut++){if(r=i[ut],w=r.labelPosition,c=r.dataLabel,nt=!1===r.visible?"hidden":"inherit",l=v=w.natural.y,et&&e(r.distributeBox)&&("undefined"==typeof r.distributeBox.pos?nt="hidden":(g=r.distributeBox.size,l=tt.radialDistributionY(r))),delete r.positionIndex,h.justify)f=tt.justify(r,k,ft);else switch(h.alignTo){case"connectors":f=tt.alignToConnectors(i,s,it,ht);break;case"plotEdges":f=tt.alignToPlotEdges(c,s,it,ht);break;default:f=tt.radialDistributionX(n,r,l,v)}c._attr={visibility:nt,align:w.alignment};b=r.options.dataLabels||{};c._pos={x:f+u(b.x,h.x)+({left:p,right:-p}[w.alignment]||0),y:l+u(b.y,h.y)-10};w.final.x=f;w.final.y=l;u(h.crop,!0)&&(d=c.getBBox().width,v=null,f-d<p&&1===s?(v=Math.round(d-f+p),o[3]=Math.max(v,o[3])):f+d>it-p&&0===s&&(v=Math.round(f+d-it+p),o[1]=Math.max(v,o[1])),0>l-g/2?o[0]=Math.max(Math.round(-l+g/2),o[0]):l+g/2>st&&(o[2]=Math.max(Math.round(l+g/2-st),o[2])),c.sideOverflow=v)}}),0===y(o)||this.verifyDataLabelOverflow(o))&&(this.placeDataLabels(),this.points.forEach(function(t){if(b=s(h,t.options.dataLabels),ot=u(b.connectorWidth,1)){var i;v=t.connector;(c=t.dataLabel)&&c._pos&&t.visible&&0<t.labelDistance?(nt=c._attr.visibility,(i=!v)&&(t.connector=v=a.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+t.colorIndex+(t.className?" "+t.className:"")).add(n.dataLabelsGroup),a.styledMode||v.attr({"stroke-width":ot,stroke:b.connectorColor||t.color||"#666666"})),v[i?"attr":"animate"]({d:t.getConnectorPath()}),v.attr("visibility",nt)):v&&(t.connector=v.destroy())}}))},f.pie.prototype.placeDataLabels=function(){this.points.forEach(function(n){var t=n.dataLabel,i;t&&n.visible&&((i=t._pos)?(t.sideOverflow&&(t._attr.width=Math.max(t.getBBox().width-t.sideOverflow,0),t.css({width:t._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-9999}));delete n.distributeBox},this)},f.pie.prototype.alignDataLabel=n,f.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,r=this.options,e=r.center,u=r.minSize||80,f=null!==r.size,i;return f||(null!==e[0]?i=Math.max(t[2]-Math.max(n[1],n[3]),u):(i=Math.max(t[2]-n[1]-n[3],u),t[0]+=(n[3]-n[1])/2),null!==e[1]?i=h(i,u,t[2]-Math.max(n[0],n[2])):(i=h(i,u,t[2]-n[0]-n[2]),t[1]+=(n[0]-n[2])/2),i<t[2]?(t[2]=i,t[3]=Math.min(b(r.innerSize||0,i),i),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):f=!0),f});f.column&&(f.column.prototype.alignDataLabel=function(n,t,r,f,e){var h=this.chart.inverted,c=n.series,o=n.dlBox||n.shapeArgs,l=u(n.below,n.plotY>u(this.translatedThreshold,c.yAxis.len)),a=u(r.inside,!!this.options.stacking);o&&(f=s(o),0>f.y&&(f.height+=f.y,f.y=0),o=f.y+f.height-c.yAxis.len,0<o&&o<f.height&&(f.height-=o),h&&(f={x:c.yAxis.len-f.y-f.height,y:c.xAxis.len-f.x-f.width,width:f.height,height:f.width}),a||(h?(f.x+=l?0:f.width,f.width=0):(f.y+=l?f.height:0,f.height=0)));r.align=u(r.align,!h||a?"center":l?"right":"left");r.verticalAlign=u(r.verticalAlign,h||a?"middle":l?"top":"bottom");i.prototype.alignDataLabel.call(this,n,t,r,f,e);r.inside&&n.contrastColor&&t.css({color:n.contrastColor})})}),i(t,"Extensions/OverlappingDataLabels.js",[t["Core/Chart/Chart.js"],t["Core/Utilities.js"]],function(n,t){var u=t.addEvent,i=t.fireEvent,f=t.isArray,e=t.isNumber,r=t.objectEach,o=t.pick;u(n,"render",function(){var n=[];(this.labelCollectors||[]).forEach(function(t){n=n.concat(t())});(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&r(t.stacking.stacks,function(t){r(t,function(t){n.push(t.label)})})});(this.series||[]).forEach(function(t){var i=t.options.dataLabels;t.visible&&(!1!==i.enabled||t._hasPointLabels)&&(t.nodes||t.points).forEach(function(t){t.visible&&(f(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[]).forEach(function(i){var r=i.options;i.labelrank=o(r.labelrank,t.labelrank,t.shapeArgs&&t.shapeArgs.height);r.allowOverlap||n.push(i)})})});this.hideOverlappingLabels(n)});n.prototype.hideOverlappingLabels=function(n){for(var h=this,c=n.length,a=h.renderer,t,s,l=!1,o=function(n){var t,i=n.box?0:n.padding||0,r=t=0,o,u,f,s;if(n&&(!n.alignAttr||n.placed))return u=n.alignAttr||{x:n.attr("x"),y:n.attr("y")},f=n.parentGroup,n.width||(t=n.getBBox(),n.width=t.width,n.height=t.height,t=a.fontMetrics(null,n.element).h),s=n.width-2*i,(o={left:"0",center:"0.5",right:"1"}[n.alignValue])?r=+o*s:e(n.x)&&Math.round(n.x)!==n.translateX&&(r=n.x-n.translateX),{x:u.x+(f.translateX||0)+i-(r||0),y:u.y+(f.translateY||0)+i-t,width:n.width-2*i,height:n.height-2*i}},u,f,r=0;r<c;r++)(t=n[r])&&(t.oldOpacity=t.opacity,t.newOpacity=1,t.absoluteBox=o(t));for(n.sort(function(n,t){return(t.labelrank||0)-(n.labelrank||0)}),r=0;r<c;r++)for(u=(o=n[r])&&o.absoluteBox,t=r+1;t<c;++t)f=(s=n[t])&&s.absoluteBox,!u||!f||o===s||0===o.newOpacity||0===s.newOpacity||f.x>=u.x+u.width||f.x+f.width<=u.x||f.y>=u.y+u.height||f.y+f.height<=u.y||((o.labelrank<s.labelrank?o:s).newOpacity=0);n.forEach(function(n){if(n){var t=n.newOpacity;n.oldOpacity!==t&&(n.alignAttr&&n.placed?(n[t?"removeClass":"addClass"]("highcharts-data-label-hidden"),l=!0,n.alignAttr.opacity=t,n[n.isOld?"animate":"attr"](n.alignAttr,null,function(){h.styledMode||n.css({pointerEvents:t?"auto":"none"});n.visibility=t?"inherit":"hidden"}),i(h,"afterHideOverlappingLabel")):n.attr({opacity:t}));n.isOld=!0}});l&&i(h,"afterHideAllOverlappingLabels")}}),i(t,"Core/Interaction.js",[t["Core/Series/Series.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Core/Legend.js"],t["Series/LineSeries.js"],t["Core/Options.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o){n=n.seriesTypes;var l=i.hasTouch,b=i.svg,a=f.defaultOptions,v=o.addEvent,k=o.createElement,y=o.css,d=o.defined,c=o.extend,s=o.fireEvent,g=o.isArray,nt=o.isFunction,p=o.isNumber,tt=o.isObject,w=o.merge,it=o.objectEach,h=o.pick;i=i.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,t=i.pointer,r=function(n){var i=t.getPointFromEvent(n);"undefined"!=typeof i&&(t.isDirectTouch=!0,i.onMouseOver(n))},u;n.points.forEach(function(n){u=g(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[];n.graphic&&(n.graphic.element.point=n);u.forEach(function(t){t.div?t.div.point=n:t.element.point=n})});n._hasTracking||(n.trackerGroups.forEach(function(u){if(n[u]){n[u].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(n){t.onTrackerMouseOut(n)});if(l)n[u].on("touchstart",r);!i.styledMode&&n.options.cursor&&n[u].css(y).css({cursor:n.options.cursor})}}),n._hasTracking=!0);s(this,"afterDrawTracker")},drawTrackerGraph:function(){var n=this,r=n.options,i=r.trackByArea,u=[].concat(i?n.areaPath:n.graphPath),t=n.chart,h=t.pointer,c=t.renderer,a=t.options.tooltip.snap,f=n.tracker,e=function(){t.hoverSeries!==n&&n.onMouseOver()},o="rgba(192,192,192,"+(b?.0001:.002)+")";f?f.attr({d:u}):n.graph&&(n.tracker=c.path(u).attr({visibility:n.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(n.group),t.styledMode||n.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:o,fill:i?o:"none","stroke-width":n.graph.strokeWidth()+(i?0:2*a)}),[n.tracker,n.markerGroup].forEach(function(n){n.addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(n){h.onTrackerMouseOut(n)});if(r.cursor&&!t.styledMode&&n.css({cursor:r.cursor}),l)n.on("touchstart",e)}));s(this,"afterDrawTracker")}};n.column&&(n.column.prototype.drawTracker=i.drawTrackerPoint);n.pie&&(n.pie.prototype.drawTracker=i.drawTrackerPoint);n.scatter&&(n.scatter.prototype.drawTracker=i.drawTrackerPoint);c(r.prototype,{setItemEvents:function(n,t,i){var r=this,f=r.chart.renderer.boxWrapper,u=n instanceof e,o="highcharts-legend-"+(u?"point":"series")+"-active",h=r.chart.styledMode;(i?[t,n.legendSymbol]:[n.legendGroup]).forEach(function(i){if(i)i.on("mouseover",function(){n.visible&&r.allItems.forEach(function(t){n!==t&&t.setState("inactive",!u)});n.setState("hover");n.visible&&f.addClass(o);h||t.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||t.css(w(n.visible?r.itemStyle:r.itemHiddenStyle));r.allItems.forEach(function(t){n!==t&&t.setState("",!u)});f.removeClass(o);n.setState()}).on("click",function(t){var i=function(){n.setVisible&&n.setVisible();r.allItems.forEach(function(t){n!==t&&t.setState(n.visible?"inactive":"",!u)})};f.removeClass(o);t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,i):s(n,"legendItemClick",t,i)})})},createCheckboxForItem:function(n){n.checkbox=k("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container);v(n.checkbox,"click",function(t){s(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}});c(t.prototype,{showResetZoom:function(){function f(){t.zoomOut()}var t=this,i=a.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,e="chart"===n.relativeTo||"spaceBox"===n.relativeTo?null:"plotBox";s(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(i.resetZoom,null,null,f,r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(n.position,!1,e)});s(this,"afterShowResetZoom")},zoomOut:function(){s(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(n){var t=this,u,i=t.pointer,f=!1,e=t.inverted?i.mouseDownX:i.mouseDownY,r;!n||n.resetSelection?(t.axes.forEach(function(n){u=n.zoom()}),i.initiated=!1):n.xAxis.concat(n.yAxis).forEach(function(n){var r=n.axis,o=t.inverted?r.left:r.top,c=t.inverted?o+r.width:o+r.height,s=r.isXAxis,h=!1;(!s&&e>=o&&e<=c||s||!d(e))&&(h=!0);i[s?"zoomX":"zoomY"]&&h&&(u=r.zoom(n.min,n.max),r.displayBtn&&(f=!0))});r=t.resetZoomButton;f&&!r?t.showResetZoom():!f&&tt(r)&&(t.resetZoomButton=r.destroy());u&&t.redraw(h(t.options.chart.animation,n&&n.animation,100>t.pointCount))},pan:function(n,t){var i=this,f=i.hoverPoints,u=i.options.chart,o=i.options.mapNavigation&&i.options.mapNavigation.enabled,e,r;t="object"==typeof t?t:{enabled:t,type:"x"};u&&u.panning&&(u.panning=t);r=t.type;s(this,"pan",{originalEvent:n},function(){f&&f.forEach(function(n){n.setState()});var t=[1];"xy"===r?t=[1,0]:"y"===r&&(t=[0]);t.forEach(function(t){var u=i[t?"xAxis":"yAxis"][0],w=u.horiz,b=n[w?"chartX":"chartY"],v,k,f;w=w?"mouseDownX":"mouseDownY";var l=i[w],a=(u.pointRange||0)/2,s=u.reversed&&!i.inverted||!u.reversed&&i.inverted?-1:1,y=u.getExtremes(),c=u.toValue(l-b,!0)+a*s;s=u.toValue(l+u.len-b,!0)-a*s;v=s<c;l=v?s:c;c=v?c:s;k=u.hasVerticalPanning();f=u.panningState;u.series.forEach(function(n){if(k&&!t&&(!f||f.isDirty)){var i=n.getProcessedData(!0);n=n.getExtremes(i.yData,!0);f||(f={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE});p(n.dataMin)&&p(n.dataMax)&&(f.startMin=Math.min(n.dataMin,f.startMin),f.startMax=Math.max(n.dataMax,f.startMax))}});s=Math.min(h(null===f||void 0===f?void 0:f.startMin,y.dataMin),a?y.min:u.toValue(u.toPixels(y.min)-u.minPixelPadding));a=Math.max(h(null===f||void 0===f?void 0:f.startMax,y.dataMax),a?y.max:u.toValue(u.toPixels(y.max)+u.minPixelPadding));u.panningState=f;u.isOrdinal||(v=s-l,0<v&&(c+=v,l=s),v=c-a,0<v&&(c=a,l-=v),u.series.length&&l!==y.min&&c!==y.max&&l>=s&&c<=a&&(u.setExtremes(l,c,!1,!1,{trigger:"pan"}),i.resetZoomButton||o||l===s||c===a||!r.match("y")||(i.showResetZoom(),u.displayBtn=!1),e=!0),i[w]=b)});e&&i.redraw(!1);y(i.container,{cursor:"move"})})}});c(e.prototype,{select:function(n,t){var i=this,r=i.series,u=r.chart;this.selectedStaging=n=h(n,!i.selected);i.firePointEvent(n?"select":"unselect",{accumulate:t},function(){i.selected=i.options.selected=n;r.options.data[r.data.indexOf(i)]=i.options;i.setState(n&&"select");t||u.getSelectedPoints().forEach(function(n){var t=n.series;n.selected&&n!==i&&(n.selected=n.options.selected=!1,t.options.data[t.data.indexOf(n)]=n.options,n.setState(u.hoverPoints&&t.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})});delete this.selectedStaging},onMouseOver:function(n){var i=this.series.chart,t=i.pointer;n=n?t.normalize(n):t.getChartCoordinatesFromPoint(this,i.inverted);t.runPointActions(n,this)},onMouseOut:function(){var n=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(n.hoverPoints||[]).forEach(function(n){n.setState()});n.hoverPoints=n.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var n=this,t=w(n.series.options.point,n.options).events;n.events=t;it(t,function(t,i){nt(t)&&v(n,i,t)});this.hasImportedEvents=!0}},setState:function(n,t){var r=this.series,e=this.state,v=r.options.states[n||"normal"]||{},o=a.plotOptions[r.type].marker&&r.options.marker,k=o&&!1===o.enabled,p=o&&o.states&&o.states[n||"normal"]||{},d=!1===p.enabled,i=r.stateMarkerGraphic,w=this.marker||{},l=r.chart,u=r.halo,f,g=o&&r.markerAttribs,y,b;n=n||"";n===this.state&&!t||this.selected&&"select"!==n||!1===v.enabled||n&&(d||k&&!1===p.enabled)||n&&w.states&&w.states[n]&&!1===w.states[n].enabled||(this.state=n,g&&(f=r.markerAttribs(this,n)),this.graphic?(e&&this.graphic.removeClass("highcharts-point-"+e),n&&this.graphic.addClass("highcharts-point-"+n),l.styledMode||(y=r.pointAttribs(this,n),b=h(l.options.chart.animation,v.animation),r.options.inactiveOtherPoints&&y.opacity&&((this.dataLabels||[]).forEach(function(n){n&&n.animate({opacity:y.opacity},b)}),this.connector&&this.connector.animate({opacity:y.opacity},b)),this.graphic.animate(y,b)),f&&this.graphic.animate(f,h(l.options.chart.animation,p.animation,o.animation)),i&&i.hide()):(n&&p&&(e=w.symbol||r.symbol,i&&i.currentSymbol!==e&&(i=i.destroy()),f&&(i?i[t?"animate":"attr"]({x:f.x,y:f.y}):e&&(r.stateMarkerGraphic=i=l.renderer.symbol(e,f.x,f.y,f.width,f.height).add(r.markerGroup),i.currentSymbol=e)),!l.styledMode&&i&&i.attr(r.pointAttribs(this,n))),i&&(i[n&&this.isInside?"show":"hide"](),i.element.point=this)),n=v.halo,v=(i=this.graphic||i)&&i.visibility||"inherit",n&&n.size&&i&&"hidden"!==v&&!this.isCluster?(u||(r.halo=u=l.renderer.path().add(i.parentGroup)),u.show()[t?"animate":"attr"]({d:this.haloPath(n.size)}),u.attr({"class":"highcharts-halo highcharts-color-"+h(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),u.point=this,l.styledMode||u.attr(c({fill:this.color||r.color,"fill-opacity":n.opacity},n.attributes))):u&&u.point&&u.point.haloPath&&u.animate({d:u.point.haloPath(0)},null,u.hide),s(this,"afterSetState"))},haloPath:function(n){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-n,this.plotY-n,2*n,2*n)}});c(u.prototype,{onMouseOver:function(){var n=this.chart,t=n.hoverSeries;n.pointer.setHoverChartIndex();t&&t!==this&&t.onMouseOut();this.options.events.mouseOver&&s(this,"mouseOver");this.setState("hover");n.hoverSeries=this},onMouseOut:function(){var r=this.options,n=this.chart,t=n.tooltip,i=n.hoverPoint;n.hoverSeries=null;i&&i.onMouseOut();this&&r.events.mouseOut&&s(this,"mouseOut");!t||this.stickyTracking||t.shared&&!this.noSharedTooltip||t.hide();n.series.forEach(function(n){n.setState("",!0)})},setState:function(n,t){var i=this,u=i.options,f=i.graph,s=u.inactiveOtherPoints,r=u.states,e=u.lineWidth,o=u.opacity,c=h(r[n||"normal"]&&r[n||"normal"].animation,i.chart.options.chart.animation);if(u=0,n=n||"",i.state!==n&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),n&&t.addClass("highcharts-series-"+n))}),i.state=n,!i.chart.styledMode)){if(r[n]&&!1===r[n].enabled)return;if(n&&(e=r[n].lineWidth||e+(r[n].lineWidthPlus||0),o=h(r[n].opacity,o)),f&&!f.dashstyle)for(r={"stroke-width":e},f.animate(r,c);i["zone-graph-"+u];)i["zone-graph-"+u].attr(r),u+=1;s||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(n){n&&n.animate({opacity:o},c)})}t&&s&&i.points&&i.setAllPointsToState(n)},setAllPointsToState:function(n){this.points.forEach(function(t){t.setState&&t.setState(n)})},setVisible:function(n,t){var i=this,r=i.chart,f=i.legendItem,e=r.options.chart.ignoreHiddenSeries,o=i.visible,u=(i.visible=n=i.options.visible=i.userOptions.visible="undefined"==typeof n?!o:n)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(n){i[n]&&i[n][u]()});(r.hoverSeries===i||(r.hoverPoint&&r.hoverPoint.series)===i)&&i.onMouseOut();f&&r.legend.colorizeItem(i,n);i.isDirty=!0;i.options.stacking&&r.series.forEach(function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});i.linkedSeries.forEach(function(t){t.setVisible(n,!1)});e&&(r.isDirtyBox=!0);s(i,u);!1!==t&&r.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=this.options.selected="undefined"==typeof n?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);s(this,n?"select":"unselect")},drawTracker:i.drawTrackerGraph})}),i(t,"Core/Responsive.js",[t["Core/Chart/Chart.js"],t["Core/Utilities.js"]],function(n,t){var r=t.find,u=t.isArray,f=t.isObject,e=t.merge,o=t.objectEach,i=t.pick,s=t.splat,h=t.uniqueKey;n.prototype.setResponsive=function(n,t){var f=this.options.responsive,i=[],u=this.currentResponsive;!t&&f&&f.rules&&f.rules.forEach(function(n){"undefined"==typeof n._id&&(n._id=h());this.matchResponsiveRule(n,i)},this);t=e.apply(0,i.map(function(n){return r(f.rules,function(t){return t._id===n}).chartOptions}));t.isResponsiveOptions=!0;i=i.toString()||void 0;i!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,n,!0),i?(u=this.currentOptions(t),u.isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:t,undoOptions:u},this.update(t,n,!0)):this.currentResponsive=void 0)};n.prototype.matchResponsiveRule=function(n,t){var r=n.condition;(r.callback||function(){return this.chartWidth<=i(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=i(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=i(r.minWidth,0)&&this.chartHeight>=i(r.minHeight,0)}).call(this)&&t.push(n._id)};n.prototype.currentOptions=function(n){function t(n,i,e,h){var c;o(n,function(n,o){if(!h&&-1<r.collectionsWithUpdate.indexOf(o))for(n=s(n),e[o]=[],c=0;c<Math.max(n.length,i[o].length);c++)i[o][c]&&(void 0===n[c]?e[o][c]=i[o][c]:(e[o][c]={},t(n[c],i[o][c],e[o][c],h+1)));else f(n)?(e[o]=u(n)?[]:{},t(n,i[o]||{},e[o],h+1)):e[o]="undefined"==typeof i[o]?null:i[o]})}var r=this,i={};return t(n,this.options,i,0),i}}),i(t,"masters/highcharts.src.js",[t["Core/Globals.js"]],function(n){return n}),i(t,"Core/Axis/NavigatorAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var r=n.isTouchDevice,u=t.addEvent,f=t.correctFloat,i=t.defined,e=t.isNumber,o=t.pick,s=function(){function n(n){this.axis=n}return n.prototype.destroy=function(){this.axis=void 0},n.prototype.toFixedRange=function(n,t,r,u){var s=this.axis,h=s.chart,c;return h=h&&h.fixedRange,c=(s.pointRange||0)/2,n=o(r,s.translate(n,!0,!s.horiz)),t=o(u,s.translate(t,!0,!s.horiz)),s=h&&(t-n)/h,i(r)||(n=f(n+c)),i(u)||(t=f(t-c)),.7<s&&1.3>s&&(u?n=t-h:t=n+h),e(n)&&e(t)||(n=t=void 0),{min:n,max:t}},n}();return function(){function n(){}return n.compose=function(n){n.keepProps.push("navigatorAxis");u(n,"init",function(){this.navigatorAxis||(this.navigatorAxis=new s(this))});u(n,"zoom",function(n){var t=this.chart.options,u=t.navigator,f=this.navigatorAxis,o=t.chart.pinchType,e=t.rangeSelector;t=t.chart.zoomType;this.isXAxis&&(u&&u.enabled||e&&e.enabled)&&("y"===t?n.zoomed=!1:(!r&&"xy"===t||r&&"xy"===o)&&this.options.range&&(u=f.previousZoom,i(n.newMin)?f.previousZoom=[this.min,this.max]:u&&(n.newMin=u[0],n.newMax=u[1],f.previousZoom=void 0)));"undefined"!=typeof n.zoomed&&n.preventDefault()})},n.AdditionsClass=s,n}()}),i(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var u=t.addEvent,i=t.defined,r=t.pick;return function(){function t(){}return t.compose=function(t,f){u(t,"afterInit",function(){var t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new f(t.chart.renderer,t.options.scrollbar,t.chart),u(t.scrollbar,"changed",function(u){var f=r(t.options&&t.options.min,t.min),s=r(t.options&&t.options.max,t.max),e=i(t.dataMin)?Math.min(f,t.min,t.dataMin):f,o=(i(t.dataMax)?Math.max(s,t.max,t.dataMax):s)-e;i(f)&&i(s)&&(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(f=e+o*this.to,e+=o*this.from):(f=e+o*(1-this.from),e+=o*(1-this.to)),r(this.options.liveRedraw,n.svg&&!n.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===u.DOMType||!i(u.DOMType)?t.setExtremes(e,f,!0,"mousemove"!==u.DOMType,u):this.setRange(this.from,this.to))}))});u(t,"afterRender",function(){var t=Math.min(r(this.options.min,this.min),this.min,r(this.dataMin,this.min)),o=Math.max(r(this.options.max,this.max),this.max,r(this.dataMax,this.max)),u=this.scrollbar,f=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,e=this.options.margin||0;u&&(this.horiz?(this.opposite||(n[1]+=f),u.position(this.left,this.top+this.height+2+n[1]-(this.opposite?e:0),this.width,this.height),this.opposite||(n[1]+=e),f=1):(this.opposite&&(n[0]+=f),u.position(this.left+this.width+2+n[0]-(this.opposite?0:e),this.top,this.width,this.height),this.opposite&&(n[0]+=e),f=0),n[f]+=u.size+u.options.margin,isNaN(t)||isNaN(o)||!i(this.min)||!i(this.max)||this.min===this.max?u.setRange(0,1):(n=(this.min-t)/(o-t),t=(this.max-t)/(o-t),this.horiz&&!this.reversed||!this.horiz&&this.reversed?u.setRange(n,t):u.setRange(1-t,1-n)))});u(t,"afterGetOffset",function(){var t=this.horiz?2:1,n=this.scrollbar;n&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[t]+=n.size+n.options.margin)})},t}()}),i(t,"Core/Scrollbar.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Core/Utilities.js"],t["Core/Options.js"]],function(n,t,i,r,u){var c=r.addEvent,f=r.correctFloat,l=r.defined,a=r.destroyObjectProperties,e=r.fireEvent,o=r.merge,s=r.pick,v=r.removeEvent;r=u.defaultOptions;var y=t.hasTouch,p=t.isTouchDevice,h=t.swapXY=function(n,t){return t&&n.forEach(function(n){for(var r=n.length,i,t=0;t<r;t+=2)i=n[t+1],"number"==typeof i&&(n[t+1]=n[t+2],n[t+2]=i)}),n};return u=function(){function n(n,t,i){this._events=[];this.from=this.chartY=this.chartX=0;this.scrollbar=this.group=void 0;this.scrollbarButtons=[];this.scrollbarGroup=void 0;this.scrollbarLeft=0;this.scrollbarRifles=void 0;this.scrollbarStrokeWidth=1;this.to=this.size=this.scrollbarTop=0;this.track=void 0;this.trackBorderWidth=1;this.userOptions={};this.y=this.x=0;this.chart=i;this.options=t;this.renderer=i.renderer;this.init(n,t,i)}return n.prototype.addEvents=function(){var n=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,t=this.scrollbarGroup.element,e=this.track.element,r=this.mouseDownHandler.bind(this),u=this.mouseMoveHandler.bind(this),f=this.mouseUpHandler.bind(this);n=[[i[n[0]].element,"click",this.buttonToMinClick.bind(this)],[i[n[1]].element,"click",this.buttonToMaxClick.bind(this)],[e,"click",this.trackClick.bind(this)],[t,"mousedown",r],[t.ownerDocument,"mousemove",u],[t.ownerDocument,"mouseup",f]];y&&n.push([t,"touchstart",r],[t.ownerDocument,"touchmove",u],[t.ownerDocument,"touchend",f]);n.forEach(function(n){c.apply(null,n)});this._events=n},n.prototype.buttonToMaxClick=function(n){var t=(this.to-this.from)*s(this.options.step,.2);this.updatePosition(this.from+t,this.to+t);e(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:n})},n.prototype.buttonToMinClick=function(n){var t=f(this.to-this.from)*s(this.options.step,.2);this.updatePosition(f(this.from-t),f(this.to-t));e(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:n})},n.prototype.cursorToScrollbarPosition=function(n){var t=this.options;return t=t.minWidth>this.calculatedWidth?t.minWidth:0,{chartX:(n.chartX-this.x-this.xOffset)/(this.barWidth-t),chartY:(n.chartY-this.y-this.yOffset)/(this.barWidth-t)}},n.prototype.destroy=function(){var n=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(n){this[n]&&this[n].destroy&&(this[n]=this[n].destroy())},this);n&&this===n.scrollbar&&(n.scrollbar=null,a(n.scrollbarButtons))},n.prototype.drawScrollbarButton=function(n){var u=this.renderer,f=this.scrollbarButtons,r=this.options,i=this.size,t=u.g().add(this.group);f.push(t);t=u.rect().addClass("highcharts-scrollbar-button").add(t);this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor});t.attr(t.crisp({x:-.5,y:-.5,width:i+1,height:i+1,r:r.buttonBorderRadius},t.strokeWidth()));t=u.path(h([["M",i/2+(n?-1:1),i/2-3],["L",i/2+(n?-1:1),i/2+3],["L",i/2+(n?2:-2),i/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(f[n]);this.chart.styledMode||t.attr({fill:r.buttonArrowColor})},n.prototype.init=function(t,i,r){this.scrollbarButtons=[];this.renderer=t;this.userOptions=i;this.options=o(n.defaultOptions,i);this.chart=r;this.size=s(this.options.size,this.options.height);i.enabled&&(this.render(),this.addEvents())},n.prototype.mouseDownHandler=function(n){n=this.chart.pointer.normalize(n);n=this.cursorToScrollbarPosition(n);this.chartX=n.chartX;this.chartY=n.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0},n.prototype.mouseMoveHandler=function(n){var i=this.chart.pointer.normalize(n),t=this.options.vertical?"chartY":"chartX",r=this.initPositions||[];!this.grabbedCenter||n.touches&&0===n.touches[0][t]||(i=this.cursorToScrollbarPosition(i)[t],t=this[t],t=i-t,this.hasDragged=!0,this.updatePosition(r[0]+t,r[1]+t),this.hasDragged&&e(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:n.type,DOMEvent:n}))},n.prototype.mouseUpHandler=function(n){this.hasDragged&&e(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:n.type,DOMEvent:n});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null},n.prototype.position=function(n,t,i,r){var u=this.options.vertical,f=0,e=this.rendered?"animate":"attr";this.x=n;this.y=t+this.trackBorderWidth;this.width=i;this.xOffset=this.height=r;this.yOffset=f;u?(this.width=this.yOffset=i=f=this.size,this.xOffset=t=0,this.barWidth=r-2*i,this.x=n+=this.options.margin):(this.height=this.xOffset=r=t=this.size,this.barWidth=i-2*r,this.y+=this.options.margin);this.group[e]({translateX:n,translateY:this.y});this.track[e]({width:i,height:r});this.scrollbarButtons[1][e]({translateX:u?0:i-t,translateY:u?r-f:0})},n.prototype.removeEvents=function(){this._events.forEach(function(n){v.apply(null,n)});this._events.length=0},n.prototype.render=function(){var i=this.renderer,n=this.options,t=this.size,u=this.chart.styledMode,r;this.group=r=i.g("scrollbar").attr({zIndex:n.zIndex,translateY:-99999}).add();this.track=i.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:n.trackBorderRadius||0,height:t,width:t}).add(r);u||this.track.attr({fill:n.trackBackgroundColor,stroke:n.trackBorderColor,"stroke-width":n.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=i.g().add(r);this.scrollbar=i.rect().addClass("highcharts-scrollbar-thumb").attr({height:t,width:t,r:n.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=i.path(h([["M",-3,t/4],["L",-3,2*t/3],["M",0,t/4],["L",0,2*t/3],["M",3,t/4],["L",3,2*t/3]],n.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);u||(this.scrollbar.attr({fill:n.barBackgroundColor,stroke:n.barBorderColor,"stroke-width":n.barBorderWidth}),this.scrollbarRifles.attr({stroke:n.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},n.prototype.setRange=function(n,t){var s=this.options,h=s.vertical,i=s.minWidth,u=this.barWidth,r,e=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate",o;l(u)&&(n=Math.max(n,0),o=Math.ceil(u*n),this.calculatedWidth=r=f(u*Math.min(t,1)-o),r<i&&(o=(u-i+r)*n,r=i),i=Math.floor(o+this.xOffset+this.yOffset),u=r/2-.5,this.from=n,this.to=t,h?(this.scrollbarGroup[e]({translateY:i}),this.scrollbar[e]({height:r}),this.scrollbarRifles[e]({translateY:u}),this.scrollbarTop=i,this.scrollbarLeft=0):(this.scrollbarGroup[e]({translateX:i}),this.scrollbar[e]({width:r}),this.scrollbarRifles[e]({translateX:u}),this.scrollbarLeft=i,this.scrollbarTop=0),12>=r?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===s.showFull&&(0>=n&&1<=t?this.group.hide():this.group.show()),this.rendered=!0)},n.prototype.trackClick=function(n){var i=this.chart.pointer.normalize(n),t=this.to-this.from,r=this.y+this.scrollbarTop,u=this.x+this.scrollbarLeft;this.options.vertical&&i.chartY>r||!this.options.vertical&&i.chartX>u?this.updatePosition(this.from+t,this.to+t):this.updatePosition(this.from-t,this.to-t);e(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:n})},n.prototype.update=function(n){this.destroy();this.init(this.chart.renderer,o(!0,this.options,n),this.chart)},n.prototype.updatePosition=function(n,t){1<t&&(n=f(1-f(t-n)),t=1);0>n&&(t=f(t-n),n=0);this.from=n;this.to=t},n.defaultOptions={height:p?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1},n}(),t.Scrollbar||(r.scrollbar=o(!0,u.defaultOptions,r.scrollbar),t.Scrollbar=u,i.compose(n,u)),t.Scrollbar}),i(t,"Core/Navigator.js",[t["Core/Axis/Axis.js"],t["Core/Series/Series.js"],t["Core/Chart/Chart.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Series/LineSeries.js"],t["Core/Axis/NavigatorAxis.js"],t["Core/Options.js"],t["Core/Scrollbar.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o,s,h){var w;r=r.parse;var ut=u.hasTouch,g=u.isTouchDevice,b=o.defaultOptions,c=h.addEvent,tt=h.clamp,k=h.correctFloat,y=h.defined,ft=h.destroyObjectProperties,p=h.erase,it=h.extend,et=h.find,rt=h.isArray,a=h.isNumber,v=h.merge,l=h.pick,nt=h.removeEvent,ot=h.splat,d=function(n){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t=[].filter.call(t,a),t.length?Math[n].apply(0,t):void 0};return t="undefined"==typeof t.seriesTypes.areaspline?"line":"areaspline",it(b,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:r("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:t,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),u.Renderer.prototype.symbols["navigator-handle"]=function(n,t,i,r,u){return n=(u&&u.width||0)/2,t=Math.round(n/3)+.5,u=u&&u.height||0,[["M",-n-1,.5],["L",n,.5],["L",n,u+.5],["L",-n-1,u+.5],["L",-n-1,.5],["M",-t,4],["L",-t,u-3],["M",t-1,4],["L",t-1,u-3]]},w=function(){function t(n){this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.rendered=this.range=this.outlineHeight=this.outline=this.opposite=this.navigatorSize=this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0;this.init(n)}return t.prototype.drawHandle=function(n,t,i,r){var u=this.navigatorOptions.handles.height;this.handles[t][r](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(n,10)+.5-u)}:{translateX:Math.round(this.left+parseInt(n,10)),translateY:Math.round(this.top+this.height/2-u/2-1)})},t.prototype.drawOutline=function(n,t,i,r){var c=this.navigatorOptions.maskInside,e=this.outline.strokeWidth(),s=e/2,o=e%2/2;e=this.outlineHeight;var h=this.scrollbarHeight||0,l=this.size,u=this.left-h,f=this.top;i?(u-=s,i=f+t+o,t=f+n+o,o=[["M",u+e,f-h-o],["L",u+e,i],["L",u,i],["L",u,t],["L",u+e,t],["L",u+e,f+l+h]],c&&o.push(["M",u+e,i-s],["L",u+e,t+s])):(n+=u+h-o,t+=u+h-o,f+=s,o=[["M",u,f],["L",n,f],["L",n,f+e],["L",t,f+e],["L",t,f],["L",u+l+2*h,f]],c&&o.push(["M",n-s,f],["L",t+s,f]));this.outline[r]({d:o})},t.prototype.drawMasks=function(n,t,i,r){var u=this.left,f=this.top,e=this.height;if(i)var o=[u,u,u],s=[f,f+n,f+t],h=[e,e,e],c=[n,t-n,this.size-t];else o=[u,u+n,u+t],s=[f,f,f],h=[n,t-n,this.size-t],c=[e,e,e];this.shades.forEach(function(n,t){n[r]({x:o[t],y:s[t],width:h[t],height:c[t]})})},t.prototype.renderElements=function(){var t=this,n=t.navigatorOptions,f=n.maskInside,i=t.chart,r=i.renderer,u,e={cursor:i.inverted?"ns-resize":"ew-resize"};t.navigatorGroup=u=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!f,f,!f].forEach(function(f,o){t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(u);i.styledMode||t.shades[o].attr({fill:f?n.maskFill:"rgba(0,0,0,0)"}).css(1===o&&e)});t.outline=r.path().addClass("highcharts-navigator-outline").add(u);i.styledMode||t.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor});n.handles.enabled&&[0,1].forEach(function(f){if(n.handles.inverted=i.inverted,t.handles[f]=r.symbol(n.handles.symbols[f],-n.handles.width/2-1,0,n.handles.width,n.handles.height,n.handles),t.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][f]).add(u),!i.styledMode){var o=n.handles;t.handles[f].attr({fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.lineWidth}).css(e)}})},t.prototype.update=function(n){(this.series||[]).forEach(function(n){n.baseSeries&&delete n.baseSeries.navigatorSeries});this.destroy();v(!0,this.chart.options.navigator,this.options,n);this.init(this.chart)},t.prototype.render=function(n,t,i,r){var f=this.chart,e=this.scrollbarHeight,p,u=this.xAxis,s=u.pointRange||0,h=u.navigatorAxis.fake?f.xAxis[0]:u,b=this.navigatorEnabled,c,v=this.rendered,o=f.inverted,d=f.xAxis[0].minRange,w=f.xAxis[0].options.maxRange,g;if(!this.hasDragged||y(i)){if(n=k(n-s/2),t=k(t+s/2),!a(n)||!a(t))if(v)i=0,r=l(u.width,h.width);else return;this.left=l(u.left,f.plotLeft+e+(o?f.plotWidth:0));this.size=c=p=l(u.len,(o?f.plotHeight:f.plotWidth)-2*e);f=o?e:p+2*e;i=l(i,u.toPixels(n,!0));r=l(r,u.toPixels(t,!0));a(i)&&Infinity!==Math.abs(i)||(i=0,r=f);n=u.toValue(i,!0);t=u.toValue(r,!0);g=Math.abs(k(t-n));g<d?this.grabbedLeft?i=u.toPixels(t-d-s,!0):this.grabbedRight&&(r=u.toPixels(n+d+s,!0)):y(w)&&k(g-s)>w&&(this.grabbedLeft?i=u.toPixels(t-w-s,!0):this.grabbedRight&&(r=u.toPixels(n+w+s,!0)));this.zoomedMax=tt(Math.max(i,r),0,c);this.zoomedMin=tt(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,r),0,c);this.range=this.zoomedMax-this.zoomedMin;c=Math.round(this.zoomedMax);i=Math.round(this.zoomedMin);b&&(this.navigatorGroup.attr({visibility:"visible"}),v=v&&!this.hasDragged?"animate":"attr",this.drawMasks(i,c,o,v),this.drawOutline(i,c,o,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(i,0,o,v),this.drawHandle(c,1,o,v)));this.scrollbar&&(o?(o=this.top-e,h=this.left-e+(b||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),e=p+2*e):(o=this.top+(b?this.height:-e),h=this.left-e),this.scrollbar.position(h,o,f,e),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}},t.prototype.addMouseEvents=function(){var n=this,i=n.chart,f=i.container,t=[],r,u;n.mouseMoveHandler=r=function(t){n.onMouseMove(t)};n.mouseUpHandler=u=function(t){n.onMouseUp(t)};t=n.getPartsEvents("mousedown");t.push(c(i.renderTo,"mousemove",r),c(f.ownerDocument,"mouseup",u));ut&&(t.push(c(i.renderTo,"touchmove",r),c(f.ownerDocument,"touchend",u)),t.concat(n.getPartsEvents("touchstart")));n.eventsToUnbind=t;n.series&&n.series[0]&&t.push(c(n.series[0].xAxis,"foundExtremes",function(){i.navigator.modifyNavigatorAxisExtremes()}))},t.prototype.getPartsEvents=function(n){var t=this,i=[];return["shades","handles"].forEach(function(r){t[r].forEach(function(u,f){i.push(c(u.element,n,function(n){t[r+"Mousedown"](n,f)}))})}),i},t.prototype.shadesMousedown=function(n,t){var s,h;n=this.chart.pointer.normalize(n);var u=this.chart,c=this.xAxis,f=this.zoomedMin,e=this.left,o=this.size,i=this.range,r=n.chartX;u.inverted&&(r=n.chartY,e=this.top);1===t?(this.grabbedCenter=r,this.fixedWidth=i,this.dragOffset=r-f):(n=r-e-i/2,0===t?n=Math.max(0,n):2===t&&n+i>=o&&((n=o-i,this.reversedExtremes)?(n-=i,s=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),n!==f&&(this.fixedWidth=i,t=c.navigatorAxis.toFixedRange(n,n+i,s,h),y(t.min)&&u.xAxis[0].setExtremes(Math.min(t.min,t.max),Math.max(t.min,t.max),!0,null,{trigger:"navigator"})))},t.prototype.handlesMousedown=function(n,t){this.chart.pointer.normalize(n);n=this.chart;var i=n.xAxis[0],r=this.reversedExtremes;0===t?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?i.min:i.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?i.max:i.min);n.fixedRange=null},t.prototype.onMouseMove=function(n){var t=this,i=t.chart,f=t.left,o=t.navigatorSize,e=t.range,r=t.dragOffset,s=i.inverted;n.touches&&0===n.touches[0].pageX||(n=i.pointer.normalize(n),i=n.chartX,s&&(f=t.top,i=n.chartY),t.grabbedLeft?(t.hasDragged=!0,t.render(0,0,i-f,t.otherHandlePos)):t.grabbedRight?(t.hasDragged=!0,t.render(0,0,t.otherHandlePos,i-f)):t.grabbedCenter&&(t.hasDragged=!0,i<r?i=r:i>o+r-e&&(i=o+r-e),t.render(0,0,i-r,i-r+e)),t.hasDragged&&t.scrollbar&&l(t.scrollbar.options.liveRedraw,u.svg&&!g&&!this.chart.isBoosting)&&(n.DOMType=n.type,setTimeout(function(){t.onMouseUp(n)},0)))},t.prototype.onMouseUp=function(n){var r=this.chart,t=this.xAxis,i=this.scrollbar,s=n.DOMEvent||n,u=r.inverted,f=this.rendered&&!this.hasDragged?"animate":"attr",e,o;(!this.hasDragged||i&&i.hasDragged)&&"scrollbar"!==n.trigger||(i=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?i.dataMin:i.dataMax),0===this.zoomedMin&&(e=this.reversedExtremes?i.dataMax:i.dataMin),t=t.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,e,o),y(t.min)&&r.xAxis[0].setExtremes(Math.min(t.min,t.max),Math.max(t.min,t.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:s}));"mousemove"!==n.DOMType&&"touchmove"!==n.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&a(this.zoomedMin)&&a(this.zoomedMax)&&(r=Math.round(this.zoomedMin),n=Math.round(this.zoomedMax),this.shades&&this.drawMasks(r,n,u,f),this.outline&&this.drawOutline(r,n,u,f),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(r,0,u,f),this.drawHandle(n,1,u,f)))},t.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},t.prototype.removeBaseSeriesEvents=function(){var n=this.baseSeries||[];this.navigatorEnabled&&n[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&n.forEach(function(n){nt(n,"updatedData",this.updatedDataHandler)},this),n[0].xAxis&&nt(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},t.prototype.init=function(t){var r=t.options,u=r.navigator,f=u.enabled,h=r.scrollbar,a=h.enabled,o,i,y;r=f?u.height:0;o=a?h.height:0;this.handles=[];this.shades=[];this.chart=t;this.setBaseSeries();this.height=r;this.scrollbarHeight=o;this.scrollbarEnabled=a;this.navigatorEnabled=f;this.navigatorOptions=u;this.scrollbarOptions=h;this.outlineHeight=r+o;this.opposite=l(u.opposite,!(f||!t.inverted));i=this;f=i.baseSeries;h=t.xAxis.length;a=t.yAxis.length;y=f&&f[0]&&f[0].xAxis||t.xAxis[0]||{options:{}};t.isDirtyBox=!0;i.navigatorEnabled?(i.xAxis=new n(t,v({breaks:y.options.breaks,ordinal:y.options.ordinal},u.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:h,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},t.inverted?{offsets:[o,0,-o,0],width:r}:{offsets:[0,-o,0,o],height:r})),i.yAxis=new n(t,v(u.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:a,isInternal:!0,reversed:l(u.yAxis&&u.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:r}:{height:r})),f||u.series.data?i.updateNavigatorSeries(!1):0===t.series.length&&(i.unbindRedraw=c(t,"beforeRedraw",function(){0<t.series.length&&!i.series&&(i.setBaseSeries(),i.unbindRedraw())})),i.reversedExtremes=t.inverted&&!i.xAxis.reversed||!t.inverted&&i.xAxis.reversed,i.renderElements(),i.addMouseEvents()):(i.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(n,i){var r=t.xAxis[0],f=r.getExtremes(),e=r.len-2*o,u=d("min",r.options.min,f.dataMin);return r=d("max",r.options.max,f.dataMax)-u,i?n*r/e+u:e*(n-u)/r},toPixels:function(n){return this.translate(n)},toValue:function(n){return this.translate(n,!0)}},i.xAxis.navigatorAxis.axis=i.xAxis,i.xAxis.navigatorAxis.toFixedRange=e.AdditionsClass.prototype.toFixedRange.bind(i.xAxis.navigatorAxis));t.options.scrollbar.enabled&&(t.scrollbar=i.scrollbar=new s(t.renderer,v(t.options.scrollbar,{margin:i.navigatorEnabled?0:10,vertical:t.inverted}),t),c(i.scrollbar,"changed",function(n){var r=i.size,u=r*this.to;r*=this.from;i.hasDragged=i.scrollbar.hasDragged;i.render(0,0,r,u);(t.options.scrollbar.liveRedraw||"mousemove"!==n.DOMType&&"touchmove"!==n.DOMType)&&setTimeout(function(){i.onMouseUp(n)})}));i.addBaseSeriesEvents();i.addChartEvents()},t.prototype.getUnionExtremes=function(n){var i=this.chart.xAxis[0],t=this.xAxis,r=t.options,u=i.options,f;return n&&null===i.dataMin||(f={dataMin:l(r&&r.min,d("min",u.min,i.dataMin,t.dataMin,t.min)),dataMax:l(r&&r.max,d("max",u.max,i.dataMax,t.dataMax,t.max))}),f},t.prototype.setBaseSeries=function(n,t){var i=this.chart,r=this.baseSeries=[];n=n||i.options&&i.options.navigator.baseSeries||(i.series.length?et(i.series,function(n){return!n.options.isInternal}).index:0);(i.series||[]).forEach(function(t,i){t.options.isInternal||!t.options.showInNavigator&&(i!==n&&t.options.id!==n||!1===t.options.showInNavigator)||r.push(t)});this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)},t.prototype.updateNavigatorSeries=function(n,t){var i=this,u=i.chart,f=i.baseSeries,o,r,e=i.navigatorOptions.series,s,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},c=i.series=(i.series||[]).filter(function(n){var t=n.baseSeries;return 0>f.indexOf(t)?(t&&(nt(t,"updatedData",i.updatedDataHandler),delete t.navigatorSeries),n.chart&&n.destroy(),!1):!0});f&&f.length&&f.forEach(function(n){var y=n.navigatorSeries,a=it({color:n.color,visible:n.visible},rt(e)?b.navigator.series:e);y&&!1===i.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+f.length,o=n.options||{},s=o.navigatorOptions||{},r=v(o,h,a,s),r.pointRange=l(a.pointRange,s.pointRange,b.plotOptions[r.type||"line"].pointRange),a=s.data||a.data,i.hasNavigatorData=i.hasNavigatorData||!!a,r.data=a||o.data&&o.data.slice(0),y&&y.options?y.update(r,t):(n.navigatorSeries=u.initSeries(r),n.navigatorSeries.baseSeries=n,c.push(n.navigatorSeries)))});(e.data&&(!f||!f.length)||rt(e))&&(i.hasNavigatorData=!1,e=ot(e),e.forEach(function(n,t){h.name="Navigator "+(c.length+1);r=v(b.navigator.series,{color:u.series[t]&&!u.series[t].options.isInternal&&u.series[t].color||u.options.colors[t]||u.options.colors[0]},h,n);r.data=n.data;r.data&&(i.hasNavigatorData=!0,c.push(u.initSeries(r)))}));n&&this.addBaseSeriesEvents()},t.prototype.addBaseSeriesEvents=function(){var t=this,n=t.baseSeries||[];n[0]&&n[0].xAxis&&c(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);n.forEach(function(n){c(n,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});c(n,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&n.xAxis&&c(n,"updatedData",this.updatedDataHandler);c(n,"remove",function(){this.navigatorSeries&&(p(t.series,this.navigatorSeries),y(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},t.prototype.getBaseSeriesMin=function(n){return this.baseSeries.reduce(function(n,t){return Math.min(n,t.xData?t.xData[0]:n)},n)},t.prototype.modifyNavigatorAxisExtremes=function(){var n=this.xAxis,t;"undefined"!=typeof n.getExtremes&&(!(t=this.getUnionExtremes(!0))||t.dataMin===n.min&&t.dataMax===n.max||(n.min=t.dataMin,n.max=t.dataMax))},t.prototype.modifyBaseAxisExtremes=function(){var n=this.chart.navigator,t=this.getExtremes(),e=t.dataMin,s=t.dataMax,i,r;t=t.max-t.min;var u=n.stickToMin,o=n.stickToMax,h=l(this.options.overscroll,0),f=n.series&&n.series[0],c=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(u&&(i=e,r=i+t),o&&(r=s+h,u||(i=Math.max(e,r-t,n.getBaseSeriesMin(f&&f.xData?f.xData[0]:-Number.MAX_VALUE)))),c&&(u||o)&&a(i)&&(this.min=this.userMin=i,this.max=this.userMax=r));n.stickToMin=n.stickToMax=null},t.prototype.updatedDataHandler=function(){var n=this.chart.navigator,t=this.navigatorSeries,i=n.getBaseSeriesMin(this.xData[0]);n.stickToMax=n.reversedExtremes?0===Math.round(n.zoomedMin):Math.round(n.zoomedMax)>=Math.round(n.size);n.stickToMin=a(this.xAxis.min)&&this.xAxis.min<=i&&(!this.chart.fixedRange||!n.stickToMax);t&&!n.hasNavigatorData&&(t.options.pointStart=this.xData[0],t.setData(this.options.data,!1,null,!1))},t.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(c(this.chart,"redraw",function(){var n=this.navigator,t=n&&(n.baseSeries&&n.baseSeries[0]&&n.baseSeries[0].xAxis||this.xAxis[0]);t&&n.render(t.min,t.max)}),c(this.chart,"getMargins",function(){var n=this.navigator,t=n.opposite?"plotTop":"marginBottom";this.inverted&&(t=n.opposite?"marginRight":"plotLeft");this[t]=(this[t]||0)+(n.navigatorEnabled||!this.inverted?n.outlineHeight:0)+n.navigatorOptions.margin}))},t.prototype.destroy=function(){this.removeEvents();this.xAxis&&(p(this.chart.xAxis,this.xAxis),p(this.chart.axes,this.xAxis));this.yAxis&&(p(this.chart.yAxis,this.yAxis),p(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(n){n.destroy&&n.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(n){this[n]&&this[n].destroy&&this[n].destroy();this[n]=null},this);[this.handles].forEach(function(n){ft(n)},this)},t}(),u.Navigator||(u.Navigator=w,e.compose(n),c(i,"beforeShowResetZoom",function(){var n=this.options,t=n.navigator,i=n.rangeSelector;if((t&&t.enabled||i&&i.enabled)&&(!g&&"x"===n.chart.zoomType||g&&"x"===n.chart.pinchType))return!1}),c(i,"beforeRender",function(){var n=this.options;(n.navigator.enabled||n.scrollbar.enabled)&&(this.scroller=this.navigator=new w(this))}),c(i,"afterSetChartSize",function(){var f=this.legend,n=this.navigator;if(n){var t=f&&f.options,r=n.xAxis,u=n.yAxis,i=n.scrollbarHeight;this.inverted?(n.left=n.opposite?this.chartWidth-i-n.height:this.spacing[3]+i,n.top=this.plotTop+i):(n.left=this.plotLeft+i,n.top=n.navigatorOptions.top||this.chartHeight-n.height-i-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?f.legendHeight+l(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));r&&u&&(this.inverted?r.options.left=u.options.left=n.left:r.options.top=u.options.top=n.top,r.setAxisSize(),u.setAxisSize())}}),c(i,"update",function(n){var t=n.options.navigator||{},i=n.options.scrollbar||{};this.navigator||this.scroller||!t.enabled&&!i.enabled||(v(!0,this.options.navigator,t),v(!0,this.options.scrollbar,i),delete n.options.navigator,delete n.options.scrollbar)}),c(i,"afterUpdate",function(n){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new w(this),l(n.redraw,!0)&&this.redraw(n.animation))}),c(i,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),c(f,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),i.prototype.callbacks.push(function(n){var t=n.navigator;t&&n.xAxis[0]&&(n=n.xAxis[0].getExtremes(),t.render(n.min,n.max))})),u.Navigator=w,u.Navigator}),i(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/CartesianSeries.js"],t["Core/Utilities.js"],t["Core/Chart/Chart.js"]],function(n,t,i,r,u){var f=r.addEvent,h=r.css,e=r.defined,s=r.pick,c=r.timeUnits,o;return function(n){var r=function(){function n(n){this.index={};this.axis=n}return n.prototype.beforeSetTickPositions=function(){var t=this.axis,i=t.ordinal,n=[],o,h=!1,c=t.getExtremes(),a=c.min,l=c.max,e,v=t.isXAxis&&!!t.options.breaks,r,y,p,u,f;if(c=t.options.ordinal,r=Number.MAX_VALUE,y=t.chart.options.chart.ignoreHiddenSeries,c||v){if(t.series.forEach(function(t,i){if(o=[],!(y&&!1===t.visible||!1===t.takeOrdinalPosition&&!v)&&(n=n.concat(t.processedXData),u=n.length,n.sort(function(n,t){return n-t}),r=Math.min(r,s(t.closestPointRange,r)),u)){for(i=0;i<u-1;)n[i]!==n[i+1]&&o.push(n[i+1]),i++;o[0]!==n[0]&&o.unshift(n[0]);n=o}t.isSeriesBoosting&&(p=!0)}),p&&(n.length=0),u=n.length,2<u){for(f=n[1]-n[0],e=u-1;e--&&!h;)n[e+1]-n[e]!==f&&(h=!0);!t.options.keepOrdinalPadding&&(n[0]-a>f||l-n[n.length-1]>f)&&(h=!0)}else t.options.overscroll&&(2===u?r=n[1]-n[0]:1===u?(r=t.options.overscroll,n=[n[0],n[0]+r]):r=i.overscrollPointsRange);h?(t.options.overscroll&&(i.overscrollPointsRange=r,n=n.concat(i.getOverscrollPositions())),i.positions=n,f=t.ordinal2lin(Math.max(a,n[0]),!0),e=Math.max(t.ordinal2lin(Math.min(l,n[n.length-1]),!0),1),i.slope=l=(l-a)/(e-f),i.offset=a-f*l):(i.overscrollPointsRange=s(t.closestPointRange,i.overscrollPointsRange),i.positions=t.ordinal.slope=i.offset=void 0)}t.isOrdinal=c&&h;i.groupIntervalFactor=null},n.prototype.getExtendedPositions=function(){var o=this,n=o.axis,h=n.constructor.prototype,c=n.chart,u=n.series[0].currentDataGrouping,e=o.index,s=u?u.count+u.unitName:"raw",a=n.options.overscroll,l=n.getExtremes(),f,r;return e||(e=o.index={}),e[s]||(r={series:[],chart:c,getExtremes:function(){return{min:l.dataMin,max:l.dataMax+a}},options:{ordinal:!0},ordinal:{},ordinal2lin:h.ordinal2lin,val2lin:h.val2lin},r.ordinal.axis=r,n.series.forEach(function(n){f={xAxis:r,xData:n.xData.slice(),chart:c,destroyGroupedData:t.noop,getProcessedData:i.prototype.getProcessedData};f.xData=f.xData.concat(o.getOverscrollPositions());f.options={dataGrouping:u?{enabled:!0,forced:!0,approximation:"open",units:[[u.unitName,[u.count]]]}:{enabled:!1}};n.processData.apply(f);r.series.push(f)}),n.ordinal.beforeSetTickPositions.apply({axis:r}),e[s]=r.ordinal.positions),e[s]},n.prototype.getGroupIntervalFactor=function(n,t,i){i=i.processedXData;var f=i.length,u=[],r=this.groupIntervalFactor;if(!r){for(r=0;r<f-1;r++)u[r]=i[r+1]-i[r];u.sort(function(n,t){return n-t});u=u[Math.floor(f/2)];n=Math.max(n,i[0]);t=Math.min(t,i[f-1]);this.groupIntervalFactor=r=f*u/(t-n)}return r},n.prototype.getOverscrollPositions=function(){var t=this.axis,u=t.options.overscroll,r=this.overscrollPointsRange,i=[],n=t.dataMax;if(e(r))for(i.push(n);n<=t.dataMax+u;)n+=r,i.push(n);return i},n.prototype.postProcessTickInterval=function(n){var t=this.axis,i=this.slope;return i?t.options.breaks?t.closestPointRange||n:n/(i/t.closestPointRange):n},n}();n.Composition=r;n.compose=function(t,i,r){t.keepProps.push("ordinal");var u=t.prototype;t.prototype.getTimeTicks=function(n,t,i,r,u,f,o){var g,nt,b,p;void 0===u&&(u=[]);void 0===f&&(f=0);var h=0,s,v,w={},l=[],k=-Number.MAX_VALUE,d=this.options.tickPixelInterval,a=this.chart.time,y=[];if(!this.options.ordinal&&!this.options.breaks||!u||3>u.length||"undefined"==typeof t)return a.getTimeTicks.apply(a,arguments);for(g=u.length,s=0;s<g;s++){if(nt=s&&u[s-1]>i,u[s]<t&&(h=s),s===g-1||u[s+1]-u[s]>5*f||nt){if(u[s]>k){for(v=a.getTimeTicks(n,u[h],u[s],r);v.length&&v[0]<=k;)v.shift();v.length&&(k=v[v.length-1]);y.push(l.length);l=l.concat(v)}h=s+1}if(nt)break}if(v=v.info,o&&v.unitRange<=c.hour){for(s=l.length-1,h=1;h<s;h++)a.dateFormat("%d",l[h])!==a.dateFormat("%d",l[h-1])&&(w[l[h]]="day",b=!0);b&&(w[l[0]]="day");v.higherRanks=w}if(v.segmentStarts=y,l.info=v,o&&e(d)){for(h=y=l.length,b=[],a=[];h--;)s=this.translate(l[h]),p&&(a[h]=p-s),b[h]=p=s;for(a.sort(),a=a[Math.floor(a.length/2)],a<.6*d&&(a=null),h=l[y-1]>i?y-1:y,p=void 0;h--;)s=b[h],y=Math.abs(p-s),p&&y<.8*d&&(null===a||y<.8*a)?(w[l[h]]&&!w[l[h+1]]?(y=h+1,p=s):y=h,l.splice(y,1)):p=s}return l};u.lin2val=function(n,t){var i=this.ordinal,r=i.positions,u,e,f;if(r){if(u=i.slope,e=i.offset,i=r.length-1,t)0>n?n=r[0]:n>i?n=r[i]:(i=Math.floor(n),f=n-i);else for(;i--;)if(t=u*i+e,n>=t){u=u*(i+1)+e;f=(n-t)/(u-t);break}return"undefined"!=typeof f&&"undefined"!=typeof r[i]?r[i]+(f?f*(r[i+1]-r[i]):0):n}return n};u.val2lin=function(n,t){var f=this.ordinal,r=f.positions,e,i,u;if(r){for(e=r.length,i=e;i--;)if(r[i]===n){u=i;break}for(i=e-1;i--;)if(n>r[i]||0===i){n=(n-r[i])/(r[i+1]-r[i]);u=i+n;break}t=t?u:f.slope*(u||0)+f.offset}else t=n;return t};u.ordinal2lin=u.val2lin;f(t,"afterInit",function(){this.ordinal||(this.ordinal=new n.Composition(this))});f(t,"foundExtremes",function(){this.isXAxis&&e(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&e(this.userMin)&&(this.min+=this.options.overscroll))});f(t,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)});f(t,"initialAxisTranslation",function(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))});f(i,"pan",function(n){var t=this.xAxis[0],c=t.options.overscroll,w=n.originalEvent.chartX,e=this.options.chart&&this.options.chart.panning,l=!1,r,p,f;if(e&&"y"!==e.type&&t.options.ordinal&&t.series.length){var i=this.mouseDownX,o=t.getExtremes(),a=o.dataMax,v=o.min,y=o.max,u=this.hoverPoints,s=t.closestPointRange||t.ordinal&&t.ordinal.overscrollPointsRange;i=(i-w)/(t.translationSlope*(t.ordinal.slope||s));r={ordinal:{positions:t.ordinal.getExtendedPositions()}};s=t.lin2val;p=t.val2lin;r.ordinal.positions?1<Math.abs(i)&&(u&&u.forEach(function(n){n.setState()}),0>i?(u=r,f=t.ordinal.positions?t:r):(u=t.ordinal.positions?t:r,f=r),r=f.ordinal.positions,a>r[r.length-1]&&r.push(a),this.fixedRange=y-v,i=t.navigatorAxis.toFixedRange(null,null,s.apply(u,[p.apply(u,[v,!0])+i,!0]),s.apply(f,[p.apply(f,[y,!0])+i,!0])),i.min>=Math.min(o.dataMin,v)&&i.max<=Math.max(a,y)+c&&t.setExtremes(i.min,i.max,!0,!1,{trigger:"pan"}),this.mouseDownX=w,h(this.container,{cursor:"move"})):l=!0}else l=!0;l||e&&/y/.test(e.type)?c&&(t.max=t.dataMax+c):n.preventDefault()});f(r,"updatedData",function(){var n=this.xAxis;n&&n.options.ordinal&&delete n.ordinal.index})}}(o||(o={})),o.compose(n,u,i),o}),i(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Axis.js"],t["Series/LineSeries.js"],t["Extensions/Stacking.js"],t["Core/Utilities.js"]],function(n,t,i,r){var u=r.addEvent,s=r.find,e=r.fireEvent,h=r.isArray,o=r.isNumber,f=r.pick,c=function(){function t(n){this.hasBreaks=!1;this.axis=n}return t.isInBreak=function(n,t){var i=n.repeat||Infinity,r=n.from,u=n.to-n.from;return t=t>=r?(t-r)%i:i-(r-t)%i,n.inclusive?t<=u:t<u&&0!==t},t.lin2Val=function(n){var i=this.brokenAxis,u,r;if(i=i&&i.breakArray,!i)return n;for(u=0;u<i.length;u++)if(r=i[u],r.from>=n)break;else r.to<n?n+=r.len:t.isInBreak(r,n)&&(n+=r.len);return n},t.val2Lin=function(n){var i=this.brokenAxis,u,f,r;if(i=i&&i.breakArray,!i)return n;for(u=n,f=0;f<i.length;f++)if(r=i[f],r.to<=n)u-=r.len;else if(r.from>=n)break;else if(t.isInBreak(r,n)){u-=n-r.from;break}return u},t.prototype.findBreakAt=function(n,t){return s(t,function(t){return t.from<n&&n<t.to})},t.prototype.isInAnyBreak=function(n,i){var s=this.axis,r=s.options.breaks,u=r&&r.length,o,e,h;if(u){for(;u--;)t.isInBreak(r[u],n)&&(e=!0,o||(o=f(r[u].showPoints,!s.isXAxis)));h=e&&i?e&&!o:e}return h},t.prototype.setBreaks=function(i,r){var o=this,u=o.axis,s=h(i)&&!!i.length;u.isDirty=o.hasBreaks!==s;o.hasBreaks=s;u.options.breaks=u.userOptions.breaks=i;u.forceRedraw=!0;u.series.forEach(function(n){n.isDirty=!0});s||u.val2lin!==t.val2Lin||(delete u.val2lin,delete u.lin2val);s&&(u.userOptions.ordinal=!1,u.lin2val=t.lin2Val,u.val2lin=t.val2Lin,u.setExtremes=function(t,i,r,u,f){if(o.hasBreaks){for(var e,s=this.options.breaks;e=o.findBreakAt(t,s);)t=e.to;for(;e=o.findBreakAt(i,s);)i=e.from;i<t&&(i=t)}n.prototype.setExtremes.call(this,t,i,r,u,f)},u.setAxisTranslation=function(i){var v,r;if(n.prototype.setAxisTranslation.call(this,i),o.unitLength=null,o.hasBreaks){i=u.options.breaks||[];var a=[],p=[],w=0,s,h=u.userMin||u.min,c=u.userMax||u.max,y=f(u.pointRangePadding,0),l;i.forEach(function(n){s=n.repeat||Infinity;t.isInBreak(n,h)&&(h+=n.to%s-h%s);t.isInBreak(n,c)&&(c-=c%s-n.from%s)});i.forEach(function(n){for(r=n.from,s=n.repeat||Infinity;r-s>h;)r-=s;for(;r<h;)r+=s;for(l=r;l<c;l+=s)a.push({value:l,move:"in"}),a.push({value:l+(n.to-n.from),move:"out",size:n.breakSize})});a.sort(function(n,t){return n.value===t.value?("in"===n.move?0:1)-("in"===t.move?0:1):n.value-t.value});v=0;r=h;a.forEach(function(n){v+="in"===n.move?1:-1;1===v&&"in"===n.move&&(r=n.value);0===v&&(p.push({from:r,to:n.value,len:n.value-r-(n.size||0)}),w+=n.value-r-(n.size||0))});u.breakArray=o.breakArray=p;o.unitLength=c-h-w+y;e(u,"afterBreaks");u.staticScale?u.transA=u.staticScale:o.unitLength&&(u.transA*=(c-u.min+y)/o.unitLength);y&&(u.minPixelPadding=u.transA*u.minPointOffset);u.min=h;u.max=c}});f(r,!0)&&u.chart.redraw()},t}();return r=function(){function n(){}return n.compose=function(n,r){n.keepProps.push("brokenAxis");var s=t.prototype;s.drawBreaks=function(n,t){var h=this,l=h.points,c,r,u,i,s;n&&n.brokenAxis&&n.brokenAxis.hasBreaks&&(s=n.brokenAxis,t.forEach(function(t){c=s&&s.breakArray||[];r=n.isXAxis?n.min:f(h.options.threshold,n.min);l.forEach(function(s){i=f(s["stack"+t.toUpperCase()],s[t]);c.forEach(function(t){o(r)&&o(i)&&(u=!1,r<t.from&&i>t.to||r>t.from&&i<t.from?u="pointBreak":(r<t.from&&i>t.from&&i<t.to||r>t.from&&i>t.to&&i<t.from)&&(u="pointInBreak"),u&&e(n,u,{point:s,brk:t}))})})}))};s.gappedPath=function(){var r=this.currentDataGrouping,t=r&&r.gapSize;r=this.options.gapSize;var u=this.points.slice(),f=u.length-1,e=this.yAxis,n;if(r&&0<f)for("value"!==this.options.gapUnit&&(r*=this.basePointRange),t&&t>r&&t>=this.basePointRange&&(r=t),n=void 0;f--;)n&&!1!==n.visible||(n=u[f+1]),t=u[f],!1!==n.visible&&!1!==t.visible&&(n.x-t.x>r&&(n=(t.x+n.x)/2,u.splice(f+1,0,{isNull:!0,x:n}),e.stacking&&this.options.stacking&&(n=e.stacking.stacks[this.stackKey][n]=new i(e,e.options.stackLabels,!1,n,this.stack),n.total=0)),n=t);return this.getGraphPath(u)};u(n,"init",function(){this.brokenAxis||(this.brokenAxis=new c(this))});u(n,"afterInit",function(){"undefined"!=typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});u(n,"afterSetTickPositions",function(){var t=this.brokenAxis;if(t&&t.hasBreaks){for(var i=this.tickPositions,u=this.tickPositions.info,r=[],n=0;n<i.length;n++)t.isInAnyBreak(i[n])||r.push(i[n]);this.tickPositions=r;this.tickPositions.info=u}});u(n,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)});u(r,"afterGeneratePoints",function(){var e=this.options.connectNulls,u=this.points,t=this.xAxis,i=this.yAxis,r,n,f;if(this.isDirty)for(r=u.length;r--;)n=u[r],f=!(null===n.y&&!1===e)&&(t&&t.brokenAxis&&t.brokenAxis.isInAnyBreak(n.x,!0)||i&&i.brokenAxis&&i.brokenAxis.isInAnyBreak(n.y,!0)),n.visible=f?!1:!1!==n.options.visible});u(r,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,f(this.pointArrayMap,["y"]))})},n}(),r.compose(n,t),r}),i(t,"masters/modules/broken-axis.src.js",[],function(){}),i(t,"Extensions/DataGrouping.js",[t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Globals.js"],t["Core/Options.js"],t["Core/Series/Point.js"],t["Core/Tooltip.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e){"";var c=e.addEvent,k=e.arrayMax,d=e.arrayMin,g=e.correctFloat,a=e.defined,nt=e.error,tt=e.extend,it=e.format,s=e.isNumber,v=e.merge,y=e.pick;e=i.Series;var o=i.approximations={sum:function(n){var t=n.length,i;if(!t&&n.hasNulls)i=null;else if(t)for(i=0;t--;)i+=n[t];return i},average:function(n){var t=n.length;return n=o.sum(n),s(n)&&t&&(n=g(n/t)),n},averages:function(){var n=[];return[].forEach.call(arguments,function(t){n.push(o.average(t))}),"undefined"==typeof n[0]?void 0:n},open:function(n){return n.length?n[0]:n.hasNulls?null:void 0},high:function(n){return n.length?k(n):n.hasNulls?null:void 0},low:function(n){return n.length?d(n):n.hasNulls?null:void 0},close:function(n){return n.length?n[n.length-1]:n.hasNulls?null:void 0},ohlc:function(n,t,i,r){return n=o.open(n),t=o.high(t),i=o.low(i),r=o.close(r),s(n)||s(t)||s(i)||s(r)?[n,t,i,r]:void 0},range:function(n,t){return(n=o.low(n),t=o.high(t),s(n)||s(t))?[n,t]:null===n&&null===t?null:void 0}},p=function(n,t,i,r){var u=this,d=u.data,rt=u.options&&u.options.data,g=[],nt=[],tt=[],l=n.length,ut=!!t,h=[],c=u.pointArrayMap,b=c&&c.length,ft=["x"].concat(c||["y"]),p=0,k=0,e,it,f,y,w;for(r="function"==typeof r?r:o[r]?o[r]:o[u.getDGApproximation&&u.getDGApproximation()||"average"],b?c.forEach(function(){h.push([])}):h.push([]),it=b||1,e=0;e<=l&&!(n[e]>=i[0]);e++);for(e;e<=l;e++){for(;"undefined"!=typeof i[p+1]&&n[e]>=i[p+1]||e===l;){for(f=i[p],u.dataGroupInfo={start:u.cropStart+k,length:h[0].length},y=r.apply(u,h),u.pointClass&&!a(u.dataGroupInfo.options)&&(u.dataGroupInfo.options=v(u.pointClass.prototype.optionsToObject.call({series:u},u.options.data[u.cropStart+k])),ft.forEach(function(n){delete u.dataGroupInfo.options[n]})),"undefined"!=typeof y&&(g.push(f),nt.push(y),tt.push(u.dataGroupInfo)),k=e,f=0;f<it;f++)h[f].length=0,h[f].hasNulls=!1;if(p+=1,e===l)break}if(e===l)break;if(c)for(f=u.cropStart+e,y=d&&d[f]||u.pointClass.prototype.applyOptions.apply({series:u},[rt[f]]),f=0;f<b;f++)w=y[c[f]],s(w)?h[f].push(w):null===w&&(h[f].hasNulls=!0);else f=ut?t[e]:null,s(f)?h[0].push(f):null===f&&(h[0].hasNulls=!0)}return{groupedXData:g,groupedYData:nt,groupMap:tt}},w={approximations:o,groupData:p},h=e.prototype,rt=h.processData,ut=h.generatePoints,l={groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},b={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},ft=i.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]];return h.getDGApproximation=function(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("column")?"sum":"average"},h.groupData=p,h.processData=function(){var i=this.chart,u=this.options.dataGrouping,n=!1!==this.allowDG&&u&&y(u.enabled,i.options.isStock),b=this.visible||!i.options.chart.ignoreHiddenSeries,p,w=this.currentDataGrouping,e=!1,c,f,s,l,o,v,r;if(this.forceCrop=n,this.groupPixelWidth=null,this.hasProcessed=!0,n&&!this.requireSorting&&(this.requireSorting=e=!0),n=!1===rt.apply(this,arguments)||!n,e&&(this.requireSorting=!1),!n){if(this.destroyGroupedData(),n=u.groupAll?this.xData:this.processedXData,c=u.groupAll?this.yData:this.processedYData,f=i.plotSizeX,i=this.xAxis,s=i.options.ordinal,l=this.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),l){if(this.isDirty=p=!0,this.points=null,e=i.getExtremes(),o=e.min,e=e.max,s=s&&i.ordinal&&i.ordinal.getGroupIntervalFactor(o,e,this)||1,l=l*(e-o)/f*s,f=i.getTimeTicks(t.AdditionsClass.prototype.normalizeTimeTickInterval(l,u.units||ft),Math.min(o,n[0]),Math.max(e,n[n.length-1]),i.options.startOfWeek,n,this.closestPointRange),c=h.groupData.apply(this,[n,c,f,u.approximation]),n=c.groupedXData,s=c.groupedYData,v=0,u.smoothed&&n.length){for(r=n.length-1,n[r]=Math.min(n[r],e);r--&&0<r;)n[r]+=l/2;n[0]=Math.max(n[0],o)}for(r=1;r<f.length;r++)f.info.segmentStarts&&-1!==f.info.segmentStarts.indexOf(r)||(v=Math.max(f[r]-f[r-1],v));o=f.info;o.gapSize=v;this.closestPointRange=f.info.totalRange;this.groupMap=c.groupMap;a(n[0])&&n[0]<i.min&&b&&((!a(i.options.min)&&i.min<=i.dataMin||i.min===i.dataMin)&&(i.min=Math.min(n[0],i.min)),i.dataMin=Math.min(n[0],i.dataMin));u.groupAll&&(u=this.cropData(n,s,i.min,i.max,1),n=u.xData,s=u.yData);this.processedXData=n;this.processedYData=s}else this.groupMap=null;this.hasGroupedData=p;this.currentDataGrouping=o;this.preventGraphAnimation=(w&&w.totalRange)!==(o&&o.totalRange)}},h.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(n,t){n&&(this.groupedData[t]=n.destroy?n.destroy():null)},this),this.groupedData.length=0)},h.generatePoints=function(){ut.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null},c(u,"update",function(){if(this.dataGroup)return nt(24,!1,this.series.chart),!1}),c(f,"headerFormatter",function(n){var a=this.chart,v=a.time,r=n.labelConfig,u=r.series,i=u.tooltipOptions,f=u.options.dataGrouping,t=i.xDateFormat,o=u.xAxis,h=i[(n.isFooter?"footer":"header")+"Format"],e,c;o&&"datetime"===o.options.type&&f&&s(r.key)&&(e=u.currentDataGrouping,f=f.dateTimeLabelFormats||l.dateTimeLabelFormats,e?(i=f[e.unitName],1===e.count)?t=i[0]:(t=i[1],c=i[2]):!t&&f&&(t=this.getXDateFormat(r,i,o)),t=v.dateFormat(t,r.key),c&&(t+=v.dateFormat(c,r.key+e.totalRange-1)),u.chart.styledMode&&(h=this.styledModeFormat(h)),n.text=it(h,{point:tt(r.point,{key:t}),series:u},a),n.preventDefault())}),c(e,"destroy",h.destroyGroupedData),c(e,"afterSetOptions",function(n){n=n.options;var t=this.type,i=this.chart.options.plotOptions,u=r.defaultOptions.plotOptions[t].dataGrouping,f=this.useCommonDataGrouping&&l;(b[t]||f)&&(u||(u=v(l,b[t])),n.dataGrouping=v(f,u,i.series&&i.series.dataGrouping,i[t].dataGrouping,this.userOptions.dataGrouping))}),c(n,"afterSetScale",function(){this.series.forEach(function(n){n.hasProcessed=!1})}),n.prototype.getGroupPixelWidth=function(){for(var t=this.series,i=t.length,r=0,f=!1,u,n=i;n--;)(u=t[n].options.dataGrouping)&&(r=Math.max(r,y(u.groupPixelWidth,l.groupPixelWidth)));for(n=i;n--;)(u=t[n].options.dataGrouping)&&t[n].hasProcessed&&(i=(t[n].processedXData||t[n].data).length,t[n].groupPixelWidth||i>this.chart.plotSizeX/r||i&&u.forced)&&(f=!0);return f?r:0},n.prototype.setDataGrouping=function(t,i){var r;if(i=y(i,!0),t||(t={forced:!1,units:null}),this instanceof n)for(r=this.series.length;r--;)this.series[r].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(n){n.dataGrouping=t},!1);this.ordinal&&(this.ordinal.slope=void 0);i&&this.chart.redraw()},i.dataGrouping=w,w}),i(t,"Series/OHLCSeries.js",[t["Core/Series/Series.js"],t["Core/Series/Point.js"]],function(n,t){var i=n.seriesTypes;n.seriesType("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">●<\/span> <b> {series.name}<\/b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(n){return[n.open,n.high,n.low,n.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){i.column.prototype.init.apply(this,arguments);this.options.stacking=void 0},pointAttribs:function(n,t){t=i.column.prototype.pointAttribs.call(this,n,t);var r=this.options;return delete t.fill,!n.options.color&&r.upColor&&n.open<n.close&&(t.stroke=r.upColor),t},translate:function(){var n=this,t=n.yAxis,r=!!n.modifyValue,u=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];i.column.prototype.translate.apply(n);n.points.forEach(function(i){[i.open,i.high,i.low,i.close,i.low].forEach(function(f,e){null!==f&&(r&&(f=n.modifyValue(f)),i[u[e]]=t.toPixels(f,!0))});i.tooltipPos[1]=i.plotHigh+t.pos-n.chart.plotTop})},drawPoints:function(){var n=this,t=n.chart,i=function(n,t,i){var r=n[0];n=n[1];"number"==typeof r[2]&&(r[2]=Math.max(i+t,r[2]));"number"==typeof n[2]&&(n[2]=Math.min(i-t,n[2]))};n.points.forEach(function(r){var f=r.graphic,l=!f,u;if("undefined"!=typeof r.plotY){f||(r.graphic=f=t.renderer.path().add(n.group));t.styledMode||f.attr(n.pointAttribs(r,r.selected&&"select"));var s=f.strokeWidth(),h=s%2/2,e=Math.round(r.plotX)-h,c=Math.round(r.shapeArgs.width/2),o=[["M",e,Math.round(r.yBottom)],["L",e,Math.round(r.plotHigh)]];null!==r.open&&(u=Math.round(r.plotOpen)+h,o.push(["M",e,u],["L",e-c,u]),i(o,s/2,u));null!==r.close&&(u=Math.round(r.plotClose)+h,o.push(["M",e,u],["L",e+c,u]),i(o,s/2,u));f[l?"attr":"animate"]({d:o}).addClass(r.getClassName(),!0)}})},animate:null},{getClassName:function(){return t.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}});""}),i(t,"Series/CandlestickSeries.js",[t["Core/Series/Series.js"],t["Core/Options.js"],t["Core/Utilities.js"]],function(n,t,i){t=t.defaultOptions;i=i.merge;var r=n.seriesTypes.column.prototype;n.seriesType("candlestick","ohlc",i(t.plotOptions.column,{states:{hover:{lineWidth:2}},tooltip:t.plotOptions.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(n,t){var i=r.pointAttribs.call(this,n,t),u=this.options,f=n.open<n.close,e=u.lineColor||this.color;return i["stroke-width"]=u.lineWidth,i.fill=n.options.color||(f?u.upColor||this.color:this.color),i.stroke=n.options.lineColor||(f?u.upLineColor||e:e),t&&(n=u.states[t],i.fill=n.color||i.fill,i.stroke=n.lineColor||i.stroke,i["stroke-width"]=n.lineWidth||i["stroke-width"]),i},drawPoints:function(){var n=this,i=n.chart,t=n.yAxis.reversed;n.points.forEach(function(r){var o=r.graphic,a=!o,h,l;if("undefined"!=typeof r.plotY){o||(r.graphic=o=i.renderer.path().add(n.group));n.chart.styledMode||o.attr(n.pointAttribs(r,r.selected&&"select")).shadow(n.options.shadow);var s=o.strokeWidth()%2/2,f=Math.round(r.plotX)-s,u=r.plotOpen,c=r.plotClose,e=Math.min(u,c);u=Math.max(u,c);h=Math.round(r.shapeArgs.width/2);c=t?u!==r.yBottom:Math.round(e)!==Math.round(r.plotHigh);l=t?Math.round(e)!==Math.round(r.plotHigh):u!==r.yBottom;e=Math.round(e)+s;u=Math.round(u)+s;s=[];s.push(["M",f-h,u],["L",f-h,e],["L",f+h,e],["L",f+h,u],["Z"],["M",f,e],["L",f,c?Math.round(t?r.yBottom:r.plotHigh):e],["M",f,u],["L",f,l?Math.round(t?r.plotHigh:r.yBottom):u]);o[a?"attr":"animate"]({d:s}).addClass(r.getClassName(),!0)}})}});""}),i(t,"Mixins/OnSeries.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(n,t){var i=t.defined,r=t.stableSort,u=n.seriesTypes;return{getPlotBox:function(){return n.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){var k,e,p;u.column.prototype.translate.apply(this);var o=this,f=o.options,n=o.chart,s=o.points,v=s.length-1,c,t=f.onSeries;t=t&&n.get(t);f=f.onKey||"y";var d=t&&t.options.step,l=t&&t.points,h=l&&l.length,w=n.inverted,y=o.xAxis,g=o.yAxis,b=0,a;if(t&&t.visible&&h)for(b=(t.pointXOffset||0)+(t.barW||0)/2,n=t.currentDataGrouping,k=l[h-1].x+(n?n.totalRange:0),r(s,function(n,t){return n.x-t.x}),f="plot"+f[0].toUpperCase()+f.substr(1);h--&&s[v];)if(e=l[h],n=s[v],n.y=e.y,e.x<=n.x&&"undefined"!=typeof e[f]&&(n.x<=k&&(n.plotY=e[f],e.x<n.x&&!d&&(a=l[h+1])&&"undefined"!=typeof a[f])&&(p=(n.x-e.x)/(a.x-e.x),n.plotY+=p*(a[f]-e[f]),n.y+=p*(a.y-e.y)),v--,h++,0>v))break;s.forEach(function(n,t){if(n.plotX+=b,("undefined"==typeof n.plotY||w)&&(0<=n.plotX&&n.plotX<=y.len?w?(n.plotY=y.translate(n.x,0,1,0,1),n.plotX=i(n.y)?g.translate(n.y,0,0,0,1):0):n.plotY=(y.opposite?0:o.yAxis.len)+y.offset:n.shapeArgs={}),(c=s[t-1])&&c.plotX===n.plotX){"undefined"==typeof c.stackIndex&&(c.stackIndex=0);var r=c.stackIndex+1}n.stackIndex=r});this.onSeries=t}}}),i(t,"Series/FlagsSeries.js",[t["Core/Series/Series.js"],t["Core/Globals.js"],t["Mixins/OnSeries.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f){function o(n){e[n+"pin"]=function(t,i,r,u,f){var s=f&&f.anchorX,o,h;return f=f&&f.anchorY,"circle"===n&&u>r&&(t-=Math.round((u-r)/2),r=u),o=e[n](t,i,r,u),s&&f&&(h=s,"circle"===n?h=t+r/2:(t=o[0],r=o[1],"M"===t[0]&&"L"===r[0]&&(h=(t[1]+r[1])/2)),o.push(["M",h,i>f?i:i+u],["L",s,f]),o=o.concat(e.circle(s-1,f-1,2,2))),o}}var s=t.noop,l=f.addEvent,a=f.defined,v=f.isNumber,y=f.merge,p=f.objectEach,w=f.wrap;f=t.Renderer;var h=t.Series,b=t.TrackerMixin,c=t.VMLRenderer,e=u.prototype.symbols;n.seriesType("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}<br/>"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:h.prototype.init,pointAttribs:function(n,t){var i=this.options,r=n&&n.color||this.color,u=i.lineColor,f=n&&n.lineWidth;return n=n&&n.fillColor||i.fillColor,t&&(n=i.states[t].fillColor,u=i.states[t].lineColor,f=i.states[t].lineWidth),{fill:n||r,stroke:u||r,"stroke-width":f||i.lineWidth||0}},translate:i.translate,getPlotBox:i.getPlotBox,drawPoints:function(){for(var c=this.points,s=this.chart,nt=s.renderer,b=s.inverted,u=this.options,tt=u.y,k=this.yAxis,e={},d=[],g,v,l=c.length;l--;){var n=c[l],it=(b?n.plotY:n.plotX)>this.xAxis.len,f=n.plotX,i=n.stackIndex,o=n.options.shape||u.shape,h=n.plotY;"undefined"!=typeof h&&(h=n.plotY+tt-("undefined"!=typeof i&&i*u.stackDistance));n.anchorX=i?void 0:n.plotX;g=i?void 0:n.plotY;v="flag"!==o;i=n.graphic;"undefined"!=typeof h&&0<=f&&!it?(i||(i=n.graphic=nt.label("",null,null,o,null,null,u.useHTML),s.styledMode||i.attr(this.pointAttribs(n)).css(y(u.style,n.style)),i.attr({align:v?"center":"left",width:u.width,height:u.height,"text-align":u.textAlign}).addClass("highcharts-point").add(this.markerGroup),n.graphic.div&&(n.graphic.div.point=n),s.styledMode||i.shadow(u.shadow),i.isNew=!0),0<f&&(f-=i.strokeWidth()%2),o={y:h,anchorY:g},u.allowOverlapX&&(o.x=f,o.anchorX=n.anchorX),i.attr({text:n.options.title||u.title||"A"})[i.isNew?"attr":"animate"](o),u.allowOverlapX||(e[n.plotX]?e[n.plotX].size=Math.max(e[n.plotX].size,i.width):e[n.plotX]={align:v?.5:0,size:i.width,target:f,anchorX:f}),n.tooltipPos=[f,h+k.pos-s.plotTop]):i&&(n.graphic=i.destroy())}u.allowOverlapX||(p(e,function(n){n.plotX=n.anchorX;d.push(n)}),t.distribute(d,b?k.len:this.xAxis.len,100),c.forEach(function(n){var t=n.graphic&&e[n.plotX];t&&(n.graphic[n.graphic.isNew?"attr":"animate"]({x:t.pos+t.align*t.size,anchorX:n.anchorX}),a(t.pos)?n.graphic.isNew=!1:(n.graphic.attr({x:-9999,anchorX:-9999}),n.graphic.isNew=!0))}));u.useHTML&&w(this.markerGroup,"on",function(n){return r.prototype.on.apply(n.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var n=this.points;b.drawTrackerPoint.apply(this);n.forEach(function(t){var i=t.graphic;i&&l(i.element,"mouseover",function(){0<t.stackIndex&&!t.raised&&(t._y=i.y,i.attr({y:t._y-8}),t.raised=!0);n.forEach(function(n){n!==t&&n.raised&&n.graphic&&(n.graphic.attr({y:n._y}),n.raised=!1)})})})},animate:function(n){n&&this.setClip()},setClip:function(){h.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:s,invertGroups:s},{isValid:function(){return v(this.y)||"undefined"==typeof this.y}});e.flag=function(n,t,i,r,u){var o=u&&u.anchorX||n,f;return u=u&&u.anchorY||t,f=e.circle(o-1,u-1,2,2),f.push(["M",o,u],["L",n,t+r],["L",n,t],["L",n+i,t],["L",n+i,t+r],["L",n,t+r],["Z"]),f};o("circle");o("square");f===c&&["circlepin","flag","squarepin"].forEach(function(n){c.prototype.symbols[n]=e[n]});""}),i(t,"Extensions/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Core/Options.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f){var h=r.defaultOptions,e=f.addEvent,p=f.createElement,v=f.css,a=f.defined,k=f.destroyObjectProperties,d=f.discardElement,w=f.extend,b=f.fireEvent,s=f.isNumber,c=f.merge,g=f.objectEach,o=f.pick,y=f.pInt,nt=f.splat,l;return w(h,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}}),h.lang=c(h.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"}),l=function(){function t(n){this.buttons=void 0;this.buttonOptions=t.prototype.defaultButtons;this.options=void 0;this.chart=n;this.init(n)}return t.prototype.clickButton=function(t,i){var h=this.chart,c=this.buttonOptions[t],u=h.xAxis[0],l=h.scroller&&h.scroller.getUnionExtremes()||u||{},v=l.dataMin,f=l.dataMax,r=u&&Math.round(Math.min(u.max,o(f,u.max))),y=c.type,k,b,p,w,d,g;if(l=c._range,b=c.dataGrouping,null!==v&&null!==f){if(h.fixedRange=l,b&&(this.forcedDataGrouping=!0,n.prototype.setDataGrouping.call(u||{chart:this.chart},b,!1),this.frozenStates=c.preserveDataGrouping),"month"===y||"year"===y)u?(y={range:c,max:r,chart:h,dataMin:v,dataMax:f},p=u.minFromRange.call(y),s(y.newMax)&&(r=y.newMax)):l=c;else if(l)p=Math.max(r-l,v),r=Math.min(p+l,f);else if("ytd"===y)if(u)"undefined"==typeof f&&(v=Number.MAX_VALUE,f=Number.MIN_VALUE,h.series.forEach(function(n){n=n.xData;v=Math.min(n[0],v);f=Math.max(n[n.length-1],f)}),i=!1),r=this.getYTDExtremes(f,v,h.time.useUTC),p=k=r.min,r=r.max;else{this.deferredYTDClick=t;return}else"all"===y&&u&&(p=v,r=f);a(p)&&(p+=c._offsetMin);a(r)&&(r+=c._offsetMax);this.setSelected(t);u?u.setExtremes(p,r,o(i,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:c}):(w=nt(h.options.xAxis)[0],d=w.range,w.range=l,g=w.min,w.min=k,e(h,"load",function(){w.range=d;w.min=g}))}},t.prototype.setSelected=function(n){this.selected=this.options.selected=n},t.prototype.init=function(n){var t=this,i=n.options.rangeSelector,r=i.buttons||t.defaultButtons.slice(),u=i.selected,f=function(){var n=t.minInput,i=t.maxInput;n&&n.blur&&b(n,"blur");i&&i.blur&&b(i,"blur")};t.chart=n;t.options=i;t.buttons=[];t.buttonOptions=r;this.unMouseDown=e(n.container,"mousedown",f);this.unResize=e(n,"resize",f);r.forEach(t.computeButtonRange);"undefined"!=typeof u&&r[u]&&this.clickButton(u,!1);e(n,"load",function(){n.xAxis&&n.xAxis[0]&&e(n.xAxis[0],"setExtremes",function(i){this.max-this.min!==n.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&t.forcedDataGrouping&&!t.frozenStates&&this.setDataGrouping(!1,!1)})})},t.prototype.updateButtonStates=function(){var n=this,t=this.chart,i=t.xAxis[0],r=Math.round(i.max-i.min),c=!i.hasVisibleSeries,h=t.scroller&&t.scroller.getUnionExtremes()||i,u=h.dataMin,f=h.dataMax;t=n.getYTDExtremes(f,u,t.time.useUTC);var l=t.min,a=t.max,e=n.selected,o=s(e),v=n.options.allButtonsEnabled,y=n.buttons;n.buttonOptions.forEach(function(t,s){var h=t._range,p=t.type,b=t.count||1,d=y[s],w=0,k=t._offsetMax-t._offsetMin;t=s===e;var tt=h>f-u,it=h<i.minRange,g=!1,nt=!1;h=h===r;("month"===p||"year"===p)&&r+36e5>=864e5*{month:28,year:365}[p]*b-k&&r-36e5<=864e5*{month:31,year:366}[p]*b+k?h=!0:"ytd"===p?(h=a-l+k===r,g=!t):"all"===p&&(h=i.max-i.min>=f-u,nt=!t&&o&&h);p=!v&&(tt||it||nt||c);b=t&&h||h&&!o&&!g||t&&n.frozenStates;p?w=3:b&&(o=!0,w=2);d.state!==w&&(d.setState(w),0===w&&e===s&&n.setSelected(null))})},t.prototype.computeButtonRange=function(n){var t=n.type,i=n.count||1,r={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};r[t]?n._range=r[t]*i:("month"===t||"year"===t)&&(n._range=864e5*{month:30,year:365}[t]*i);n._offsetMin=o(n.offsetMin,0);n._offsetMax=o(n.offsetMax,0);n._range+=n._offsetMax-n._offsetMin},t.prototype.setInputValue=function(n,t){var r=this.chart.options.rangeSelector,u=this.chart.time,i=this[n+"Input"];a(t)&&(i.previousValue=i.HCTime,i.HCTime=t);i.value=u.dateFormat(r.inputEditDateFormat||"%Y-%m-%d",i.HCTime);this[n+"DateBox"].attr({text:u.dateFormat(r.inputDateFormat||"%b %e, %Y",i.HCTime)})},t.prototype.showInput=function(n){var i=this.inputGroup,t=this[n+"DateBox"];v(this[n+"Input"],{left:i.translateX+t.x+"px",top:i.translateY+"px",width:t.width-2+"px",height:t.height-2+"px",border:"2px solid silver"})},t.prototype.hideInput=function(n){v(this[n+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(n)},t.prototype.defaultInputDateParser=function(n,t){var r=new Date;return i.isSafari?Date.parse(n.split(" ").join("T")):t?Date.parse(n+"Z"):Date.parse(n)-6e4*r.getTimezoneOffset()},t.prototype.drawInput=function(n){function b(){var f=r.value,i=t.xAxis[0],n=t.scroller&&t.scroller.xAxis?t.scroller.xAxis:i,h=n.dataMin,c=n.dataMax;n=(e.inputDateParser||g)(f,t.time.useUTC);n!==r.previousValue&&(r.previousValue=n,s(n)||(n=f.split("-"),n=Date.UTC(y(n[0]),y(n[1])-1,y(n[2]))),s(n)&&(t.time.useUTC||(n+=6e4*(new Date).getTimezoneOffset()),o?n>u.maxInput.HCTime?n=void 0:n<h&&(n=h):n<u.minInput.HCTime?n=void 0:n>c&&(n=c),"undefined"!=typeof n&&i.setExtremes(o?n:i.min,o?i.max:n,void 0,void 0,{trigger:"rangeSelectorInput"})))}var u=this,t=u.chart,a=t.renderer.style||{},f=t.renderer,e=t.options.rangeSelector,d=u.div,o="min"===n,r,k,l=this.inputGroup,g=this.defaultInputDateParser;this[n+"Label"]=k=f.label(h.lang[o?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(l);l.offset+=k.width+5;this[n+"DateBox"]=f=f.label("",l.offset).addClass("highcharts-range-input").attr({padding:2,width:e.inputBoxWidth||90,height:e.inputBoxHeight||17,"text-align":"center"}).on("click",function(){u.showInput(n);u[n+"Input"].focus()});t.styledMode||f.attr({stroke:e.inputBoxBorderColor||"#cccccc","stroke-width":1});f.add(l);l.offset+=f.width+(o?10:0);this[n+"Input"]=r=p("input",{name:n,className:"highcharts-range-selector",type:"text"},{top:t.plotTop+"px"},d);t.styledMode||(k.css(c(a,e.labelStyle)),f.css(c({color:"#333333"},a,e.inputStyle)),v(r,w({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:a.fontSize,fontFamily:a.fontFamily,top:"-9999em"},e.inputStyle)));r.onfocus=function(){u.showInput(n)};r.onblur=function(){r===i.doc.activeElement&&b();u.hideInput(n);r.blur()};r.onchange=b;r.onkeypress=function(n){13===n.keyCode&&b()}},t.prototype.getPosition=function(){var n=this.chart,t=n.options.rangeSelector;return n="top"===t.verticalAlign?n.plotTop-n.axisOffset[0]:0,{buttonTop:n+t.buttonPosition.y,inputTop:n+t.inputPosition.y-10}},t.prototype.getYTDExtremes=function(n,t,i){var u=this.chart.time,r=new u.Date(n),f=u.get("FullYear",r);return i=i?u.Date.UTC(f,0,1):+new u.Date(f,0,1),t=Math.max(t||0,i),r=r.getTime(),{max:Math.min(n||r,r),min:t}},t.prototype.render=function(n,t){var i=this,r=i.chart,nt=r.renderer,f=r.container,c=r.options,v=c.exporting&&!1!==c.exporting.enabled&&c.navigation&&c.navigation.buttonOptions,ft=h.lang,u=i.div,e=c.rangeSelector,at=o(c.chart.style&&c.chart.style.zIndex,0)+1,et,ct;c=e.floating;et=i.buttons;u=i.inputGroup;var tt=e.buttonTheme,s=e.buttonPosition,y=e.inputPosition,st=e.inputEnabled,k=tt&&tt.states,l=r.plotLeft,a=i.buttonGroup,ht,d=i.options.verticalAlign,it=r.legend,rt=it&&it.options,ut=s.y,g=y.y,ot=r.hasLoaded,lt=ot?"animate":"attr",b=0,w=0;!1!==e.enabled&&(i.rendered||(i.group=ht=nt.g("range-selector-group").attr({zIndex:7}).add(),i.buttonGroup=a=nt.g("range-selector-buttons").add(ht),i.zoomText=nt.text(ft.rangeSelectorZoom,0,15).add(a),r.styledMode||(i.zoomText.css(e.labelStyle),tt["stroke-width"]=o(tt["stroke-width"],0)),i.buttonOptions.forEach(function(n,t){et[t]=nt.button(n.text,0,0,function(r){var u=n.events&&n.events.click,f;u&&(f=u.call(n,r));!1!==f&&i.clickButton(t);i.isActive=!0},tt,k&&k.hover,k&&k.select,k&&k.disabled).attr({"text-align":"center"}).add(a)}),!1!==st&&(i.div=u=p("div",null,{position:"relative",height:0,zIndex:at}),f.parentNode.insertBefore(u,f),i.inputGroup=u=nt.g("input-group").add(ht),u.offset=0,i.drawInput("min"),i.drawInput("max"))),i.zoomText[lt]({x:o(l+s.x,l)}),ct=o(l+s.x,l)+i.zoomText.getBBox().width+5,i.buttonOptions.forEach(function(n,t){et[t][lt]({x:ct});ct+=et[t].width+o(e.buttonSpacing,5)}),l=r.plotLeft-r.spacing[3],i.updateButtonStates(),v&&this.titleCollision(r)&&"top"===d&&"right"===s.align&&s.y+a.getBBox().height-12<(v.y||0)+v.height&&(b=-40),f=s.x-r.spacing[3],"right"===s.align?f+=b-l:"center"===s.align&&(f-=l/2),a.align({y:s.y,width:a.getBBox().width,align:s.align,x:f},!0,r.spacingBox),i.group.placed=ot,i.buttonGroup.placed=ot,!1!==st&&(b=v&&this.titleCollision(r)&&"top"===d&&"right"===y.align&&y.y-u.getBBox().height-12<(v.y||0)+v.height+r.spacing[0]?-40:0,"left"===y.align?f=l:"right"===y.align&&(f=-Math.max(r.axisOffset[1],-b)),u.align({y:y.y,width:u.getBBox().width,align:y.align,x:y.x+f-2},!0,r.spacingBox),v=u.alignAttr.translateX+u.alignOptions.x-b+u.getBBox().x+2,f=u.alignOptions.width,ft=a.alignAttr.translateX+a.getBBox().x,l=a.getBBox().width+20,(y.align===s.align||ft+l>v&&v+f>ft&&ut<g+u.getBBox().height)&&u.attr({translateX:u.alignAttr.translateX+(r.axisOffset[1]>=-b?0:-b),translateY:u.alignAttr.translateY+a.getBBox().height+10}),i.setInputValue("min",n),i.setInputValue("max",t),i.inputGroup.placed=ot),i.group.align({verticalAlign:d},!0,r.spacingBox),n=i.group.getBBox().height+20,t=i.group.alignAttr.translateY,"bottom"===d&&(it=rt&&"bottom"===rt.verticalAlign&&rt.enabled&&!rt.floating?it.legendHeight+o(rt.margin,10):0,n=n+it-20,w=t-n-(c?0:e.y)-(r.titleOffset?r.titleOffset[2]:0)-10),"top"===d?(c&&(w=0),r.titleOffset&&r.titleOffset[0]&&(w=r.titleOffset[0]),w+=r.margin[0]-r.spacing[0]||0):"middle"===d&&(g===ut?w=0>g?t+void 0:t:(g||ut)&&(w=0>g||0>ut?w-Math.min(g,ut):t-n+NaN)),i.group.translate(e.x,e.y+Math.floor(w)),!1!==st&&(i.minInput.style.marginTop=i.group.translateY+"px",i.maxInput.style.marginTop=i.group.translateY+"px"),i.rendered=!0)},t.prototype.getHeight=function(){var n=this.options,t=this.group,u=n.y,i=n.buttonPosition.y,r=n.inputPosition.y;return n.height?n.height:(n=t?t.getBBox(!0).height+13+u:0,t=Math.min(r,i),(0>r&&0>i||0<r&&0<i)&&(n+=Math.abs(t)),n)},t.prototype.titleCollision=function(n){return!(n.options.title.text||n.options.subtitle.text)},t.prototype.update=function(n){var t=this.chart;c(!0,t.options.rangeSelector,n);this.destroy();this.init(t);t.rangeSelector.render()},t.prototype.destroy=function(){var n=this,i=n.minInput,r=n.maxInput;n.unMouseDown();n.unResize();k(n.buttons);i&&(i.onfocus=i.onblur=i.onchange=null);r&&(r.onfocus=r.onblur=r.onchange=null);g(n,function(i,r){i&&"chart"!==r&&(i instanceof u?i.destroy():i instanceof window.HTMLElement&&d(i));i!==t.prototype[r]&&(n[r]=null)},this)},t}(),l.prototype.defaultButtons=[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],n.prototype.minFromRange=function(){var t=this.range,h=t.type,i=this.max,r=this.chart.time,e=function(n,t){var u="year"===h?"FullYear":"Month",i=new r.Date(n),f=r.get(u,i);return r.set(u,i,f+t),f===r.get(u,i)&&r.set("Date",i,0),i.getTime()-n},n,u,f;return s(t)?(n=i-t,u=t):(n=i+e(i,-t.count),this.chart&&(this.chart.fixedRange=i-n)),f=o(this.dataMin,Number.MIN_VALUE),s(n)||(n=f),n<=f&&(n=f,"undefined"==typeof u&&(u=e(n,t.count)),this.newMax=Math.min(n+u,this.dataMax)),s(i)||(n=void 0),n},i.RangeSelector||(e(t,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new l(this))}),e(t,"beforeRender",function(){var t=this.axes,n=this.rangeSelector;n&&(s(n.deferredYTDClick)&&(n.clickButton(n.deferredYTDClick),delete n.deferredYTDClick),t.forEach(function(n){n.updateNames();n.setScale()}),this.getAxisMargins(),n.render(),t=n.options.verticalAlign,n.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)))}),e(t,"update",function(n){var t=n.options.rangeSelector,i,r;n=this.rangeSelector;i=this.extraBottomMargin;r=this.extraTopMargin;t&&t.enabled&&!a(n)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new l(this));this.extraTopMargin=this.extraBottomMargin=!1;n&&(n.render(),t=t&&t.verticalAlign||n.options&&n.options.verticalAlign,n.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin!==i||this.extraTopMargin!==r)&&(this.isDirtyBox=!0)}),e(t,"render",function(){var n=this.rangeSelector;n&&!n.options.floating&&(n.render(),n=n.options.verticalAlign,"bottom"===n?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0))}),e(t,"getMargins",function(){var n=this.rangeSelector;n&&(n=n.getHeight(),this.extraTopMargin&&(this.plotTop+=n),this.extraBottomMargin&&(this.marginBottom+=n))}),t.prototype.callbacks.push(function(n){function o(){r=n.xAxis[0].getExtremes();i=n.legend;f=null===t||void 0===t?void 0:t.options.verticalAlign;s(r.min)&&t.render(r.min,r.max);t&&i.display&&"top"===f&&f===i.options.verticalAlign&&(u=c(n.spacingBox),u.y="vertical"===i.options.layout?n.plotTop:u.y+t.getHeight(),i.group.placed=!1,i.align(u))}var r,t=n.rangeSelector,i,u,f,h,l;t&&(h=e(n.xAxis[0],"afterSetExtremes",function(n){t.render(n.min,n.max)}),l=e(n,"redraw",o),o());e(n,"destroy",function(){t&&(l(),h())})}),i.RangeSelector=l),i.RangeSelector}),i(t,"Core/Chart/StockChart.js",[t["Core/Axis/Axis.js"],t["Core/Chart/Chart.js"],t["Core/Globals.js"],t["Series/LineSeries.js"],t["Core/Series/Point.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(n,t,i,r,u,f,e){var s=e.addEvent,p=e.arrayMax,w=e.arrayMin,a=e.clamp,l=e.defined,b=e.extend,k=e.find,d=e.format,g=e.getOptions,c=e.isNumber,v=e.isString,h=e.merge,o=e.pick,y=e.splat;e=r.prototype;var nt=e.init,tt=e.processData,it=u.prototype.tooltipFormatter;i.StockChart=i.stockChart=function(n,i,r){var e=v(n)||n.nodeName,u=arguments[e?1:0],l=u,a=u.series,f=g(),s,c=o(u.navigator&&u.navigator.enabled,f.navigator.enabled,!0);return u.xAxis=y(u.xAxis||{}).map(function(n,t){return h({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},f.xAxis,f.xAxis&&f.xAxis[t],n,{type:"datetime",categories:null},c?{startOnTick:!1,endOnTick:!1}:null)}),u.yAxis=y(u.yAxis||{}).map(function(n,t){return s=o(n.opposite,!0),h({labels:{y:-2},opposite:s,showLastLabel:!(!n.categories&&"category"!==n.type),title:{text:null}},f.yAxis,f.yAxis&&f.yAxis[t],n)}),u.series=null,u=h({chart:{panning:{enabled:!0,type:"x"},pinchType:"x"},navigator:{enabled:c},scrollbar:{enabled:o(f.scrollbar.enabled,!0)},rangeSelector:{enabled:o(f.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:o(f.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},u,{isStock:!0}),u.series=l.series=a,e?new t(n,u,r):new t(u,i)};s(r,"setOptions",function(n){var t;this.chart.options.isStock&&(this.is("column")||this.is("columnrange")?t={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(t={marker:{enabled:!1,radius:2}}),t&&(n.plotOptions[this.type]=h(n.plotOptions[this.type],t)))});s(n,"autoLabelAlign",function(n){var i=this.chart,r=this.options,t;i=i._labelPanes=i._labelPanes||{};t=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(r=r.top+","+r.height,!i[r]&&t.enabled&&(15===t.x&&(t.x=0),"undefined"==typeof t.align&&(t.align="right"),i[r]=this,n.align="right",n.preventDefault()))});s(n,"destroy",function(){var n=this.chart,t=this.options&&this.options.top+","+this.options.height;t&&n._labelPanes&&n._labelPanes[t]===this&&delete n._labelPanes[t]});s(n,"getPlotLinePath",function(n){function nt(n){var r="xAxis"===n?"yAxis":"xAxis";return n=t.options[r],c(n)?[i[r][n]]:v(n)?[i.get(n)]:tt.map(function(n){return n[r]})}var t=this,tt=this.isLinked&&!this.series?this.linkedParent.series:this.series,i=t.chart,it=i.renderer,y=t.left,e=t.top,r,u,s,h,p=[],w=[],rt=n.translatedValue,ut=n.value,b=n.force,g,f,d;(i.options.isStock&&!1!==n.acrossPanes&&"xAxis"===t.coll||"yAxis"===t.coll)&&(n.preventDefault(),w=nt(t.coll),g=t.isXAxis?i.yAxis:i.xAxis,g.forEach(function(n){if(l(n.options.id)?-1===n.options.id.indexOf("navigator"):1){var r=n.isXAxis?"yAxis":"xAxis";r=l(n.options[r])?i[r][n.options[r]]:i[r][0];t===r&&w.push(n)}}),f=w.length?[]:[t.isXAxis?i.yAxis[0]:i.xAxis[0]],w.forEach(function(n){-1!==f.indexOf(n)||k(f,function(t){return t.pos===n.pos&&t.len===n.len})||f.push(n)}),d=o(rt,t.translate(ut,null,null,n.old)),c(d)&&(t.horiz?f.forEach(function(n){var i;u=n.pos;h=u+n.len;r=s=Math.round(d+t.transB);"pass"!==b&&(r<y||r>y+t.width)&&(b?r=s=a(r,y,y+t.width):i=!0);i||p.push(["M",r,u],["L",s,h])}):f.forEach(function(n){var i;r=n.pos;s=r+n.len;u=h=Math.round(e+t.height-d);"pass"!==b&&(u<e||u>e+t.height)&&(b?u=h=a(u,e,e+t.height):i=!0);i||p.push(["M",r,u],["L",s,h])})),n.path=0<p.length?it.crispPolyLine(p,n.lineWidth||1):null)});f.prototype.crispPolyLine=function(n,t){for(var i,u,r=0;r<n.length;r+=2)i=n[r],u=n[r+1],i[1]===u[1]&&(i[1]=u[1]=Math.round(i[1])-t%2/2),i[2]===u[2]&&(i[2]=u[2]=Math.round(i[2])+t%2/2);return n};s(n,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});s(n,"afterDrawCrosshair",function(n){var v,y,k;if(l(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var s=this.chart,r=this.logarithmic,t=this.options.crosshair.label,e=this.horiz,a=this.opposite,h=this.left,u=this.top,i=this.crossLabel,p=t.format,f="",it="inside"===this.options.tickPosition,g=!1!==this.crosshair.snap,nt=0,w=n.e||this.cross&&this.cross.e,tt=n.point;n=this.min;k=this.max;r&&(n=r.lin2log(n),k=r.lin2log(k));r=e?"center":a?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";i||(i=this.crossLabel=s.renderer.label(null,null,null,t.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:t.align||r,padding:o(t.padding,8),r:o(t.borderRadius,3),zIndex:2}).add(this.labelGroup),s.styledMode||i.attr({fill:t.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:t.borderColor||"","stroke-width":t.borderWidth||0}).css(b({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},t.style)));e?(r=g?tt.plotX+h:w.chartX,u+=a?0:this.height):(r=a?this.width+h:0,u=g?tt.plotY+u:w.chartY);p||t.formatter||(this.dateTime&&(f="%b %d, %Y"),p="{value"+(f?":"+f:"")+"}");f=g?tt[this.isXAxis?"x":"y"]:this.toValue(e?w.chartX:w.chartY);i.attr({text:p?d(p,{value:f},s):t.formatter.call(this,f),x:r,y:u,visibility:f<n||f>k?"hidden":"visible"});t=i.getBBox();c(i.y)&&(e?(it&&!a||!it&&a)&&(u=i.y-t.height):u=i.y-t.height/2);e?(v=h-t.x,y=h+this.width-t.x):(v="left"===this.labelAlign?h:0,y="right"===this.labelAlign?h+this.width:s.chartWidth);i.translateX<v&&(nt=v-i.translateX);i.translateX+t.width>=y&&(nt=-(i.translateX+t.width-y));i.attr({x:r+nt,y:u,anchorX:e?r:this.opposite?0:s.chartWidth,anchorY:e?this.opposite?s.chartHeight:0:u+t.height/2})}});e.init=function(){nt.apply(this,arguments);this.setCompare(this.options.compare)};e.setCompare=function(n){this.modifyValue="value"===n||"percent"===n?function(t,i){var r=this.compareValue;return"undefined"!=typeof t&&"undefined"!=typeof r?(t="value"===n?t-r:t/r*100-(100===this.options.compareBase?0:100),i&&(i.change=t),t):0}:null;this.userOptions.compare=n;this.chart.hasRendered&&(this.isDirty=!0)};e.processData=function(){var n,r=-1,u=!0===this.options.compareStart?0:1,i;if(tt.apply(this,arguments),this.xAxis&&this.processedYData){var f=this.processedXData,t=this.processedYData,e=t.length;for(this.pointArrayMap&&(r=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),n=0;n<e-u;n++)if(i=t[n]&&-1<r?t[n][r]:t[n],c(i)&&f[n+u]>=this.xAxis.min&&0!==i){this.compareValue=i;break}}};s(r,"afterGetExtremes",function(n){if(n=n.dataExtremes,this.modifyValue&&n){var t=[this.modifyValue(n.dataMin),this.modifyValue(n.dataMax)];n.dataMin=w(t);n.dataMax=p(t)}});n.prototype.setCompare=function(n,t){this.isXAxis||(this.series.forEach(function(t){t.setCompare(n)}),o(t,!0)&&this.chart.redraw())};u.prototype.tooltipFormatter=function(n){var t=this.series.chart.numberFormatter;return n=n.replace("{point.change}",(0<this.change?"+":"")+t(this.change,o(this.series.tooltipOptions.changeDecimals,2))),it.apply(this,[n])};s(r,"render",function(){var n=this.chart,t,i,r;n.is3d&&n.is3d()||n.polar||!this.xAxis||this.xAxis.isRadial||(t=this.yAxis.len,this.xAxis.axisLine&&(i=n.plotTop+n.plotHeight-this.yAxis.pos-this.yAxis.len,r=Math.floor(this.xAxis.axisLine.strokeWidth()/2),0<=i&&(t-=Math.max(r-i,0))),this.clipBox||n.hasRendered?n[this.sharedClipKey]&&(n[this.sharedClipKey].animate({width:this.xAxis.len,height:t}),n[this.sharedClipKey+"m"]&&n[this.sharedClipKey+"m"].animate({width:this.xAxis.len})):(this.clipBox=h(n.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=t))});s(t,"update",function(n){n=n.options;"scrollbar"in n&&this.navigator&&(h(!0,this.options.scrollbar,n.scrollbar),this.navigator.update({},!1),delete n.scrollbar)})}),i(t,"masters/modules/stock.src.js",[],function(){}),i(t,"masters/highstock.src.js",[t["masters/highcharts.src.js"]],function(n){return n.product="Highstock",n}),t["masters/highstock.src.js"]._modules=t,t["masters/highstock.src.js"]}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"Extensions/FullScreen.js",[n["Core/Chart/Chart.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(n,t,i){var r=i.addEvent;return i=function(){function n(n){this.chart=n;this.isOpen=!1;n=n.renderTo;this.browserProps||("function"==typeof n.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:n.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:n.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:n.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}return n.prototype.close=function(){var n=this.chart;this.isOpen&&this.browserProps&&n.container.ownerDocument instanceof Document&&n.container.ownerDocument[this.browserProps.exitFullscreen]();this.unbindFullscreenEvent&&this.unbindFullscreenEvent();this.isOpen=!1;this.setButtonText()},n.prototype.open=function(){var n=this,t=n.chart,i;n.browserProps&&(n.unbindFullscreenEvent=r(t.container.ownerDocument,n.browserProps.fullscreenChange,function(){n.isOpen?(n.isOpen=!1,n.close()):(n.isOpen=!0,n.setButtonText())}),i=t.renderTo[n.browserProps.requestFullscreen](),i&&i["catch"](function(){alert("Full screen is not supported inside a frame.")}),r(t,"destroy",n.unbindFullscreenEvent))},n.prototype.setButtonText=function(){var n,i=this.chart,r=i.exportDivElements,t=i.options.exporting,u=null===(n=null===t||void 0===t?void 0:t.buttons)||void 0===n?void 0:n.contextButton.menuItems;n=i.options.lang;(null===t||void 0===t?0:t.menuItemDefinitions)&&(null===n||void 0===n?0:n.exitFullscreen)&&n.viewFullscreen&&u&&r&&r.length&&(r[u.indexOf("viewFullscreen")].innerHTML=this.isOpen?n.exitFullscreen:t.menuItemDefinitions.viewFullscreen.text||n.viewFullscreen)},n.prototype.toggle=function(){this.isOpen?this.close():this.open()},n}(),t.Fullscreen=i,r(n,"beforeRender",function(){this.fullscreen=new t.Fullscreen(this)}),t.Fullscreen});t(n,"Mixins/Navigation.js",[],function(){return{initUpdate:function(n){n.navigation||(n.navigation={updates:[],update:function(n,t){this.updates.forEach(function(i){i.update.call(i.context,n,t)})}})},addUpdate:function(n,t){t.navigation||this.initUpdate(t);t.navigation.updates.push({update:n,context:t})}}});t(n,"Extensions/Exporting.js",[n["Core/Chart/Chart.js"],n["Mixins/Navigation.js"],n["Core/Globals.js"],n["Core/Options.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Utilities.js"]],function(n,t,i,r,u,f){var v=i.doc,d=i.isTouchDevice,h=i.win;r=r.defaultOptions;var c=f.addEvent,o=f.css,l=f.createElement,p=f.discardElement,a=f.extend,g=f.find,y=f.fireEvent,nt=f.isObject,e=f.merge,w=f.objectEach,s=f.pick,tt=f.removeEvent,it=f.uniqueKey,b=h.navigator.userAgent,k=i.Renderer.prototype.symbols,rt=/Edge\/|Trident\/|MSIE /.test(b),ut=/firefox/i.test(b);a(r.lang,{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});r.navigation||(r.navigation={});e(!0,r.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}});e(!0,r.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:d?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}});r.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};i.post=function(n,t,i){var r=l("form",e({method:"post",action:n,enctype:"multipart/form-data"},i),{display:"none"},v.body);w(t,function(n,t){l("input",{type:"hidden",name:t,value:n},null,r)});r.submit();p(r)};i.isSafari&&i.win.matchMedia("print").addListener(function(n){i.printingChart&&(n.matches?i.printingChart.beforePrint():i.printingChart.afterPrint())});a(n.prototype,{sanitizeSVG:function(n,t){var r=n.indexOf("<\/svg>")+6,i=n.substr(r);return n=n.substr(0,r),t&&t.exporting&&t.exporting.allowHTML&&i&&(i='<foreignObject x="0" y="0" width="'+t.chart.width+'" height="'+t.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+i.replace(/(<(?:img|br).*?(?=>))>/g,"$1 />")+"<\/body><\/foreignObject>",n=n.replace("<\/svg>",i+"<\/svg>")),n=n.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(.*?)("|&quot;);?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (|NS[0-9]+:)href=/g," xlink:href=").replace(/\n/," ").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/&nbsp;/g," ").replace(/&shy;/g,"­"),this.ieSanitizeSVG&&(n=this.ieSanitizeSVG(n)),n},getChartHTML:function(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML},getSVG:function(t){var o,i=e(this.options,t),u;i.plotOptions=e(this.userOptions.plotOptions,t&&t.plotOptions);i.time=e(this.userOptions.time,t&&t.time);var s=l("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},v.body),r=this.renderTo.style.width,f=this.renderTo.style.height;return r=i.exporting.sourceWidth||i.chart.width||/px$/.test(r)&&parseInt(r,10)||(i.isGantt?800:600),f=i.exporting.sourceHeight||i.chart.height||/px$/.test(f)&&parseInt(f,10)||400,a(i.chart,{animation:!1,renderTo:s,forExport:!0,renderer:"SVGRenderer",width:r,height:f}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(n){o=e(n.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:n.visible});o.isInternal||i.series.push(o)}),this.axes.forEach(function(n){n.userOptions.internalKey||(n.userOptions.internalKey=it())}),u=new n(i,this.callback),t&&["xAxis","yAxis","series"].forEach(function(n){var i={};t[n]&&(i[n]=t[n],u.update(i))}),this.axes.forEach(function(n){var i=g(u.axes,function(t){return t.options.internalKey===n.userOptions.internalKey}),t=n.getExtremes(),r=t.userMin;t=t.userMax;i&&("undefined"!=typeof r&&r!==i.min||"undefined"!=typeof t&&t!==i.max)&&i.setExtremes(r,t,!0,!1)}),r=u.getChartHTML(),y(this,"getSVG",{chartCopy:u}),r=this.sanitizeSVG(r,i),i=null,u.destroy(),p(s),r},getSVGForExport:function(n,t){var i=this.options.exporting;return this.getSVG(e({chart:{borderRadius:0}},i.chartOptions,t,{exporting:{sourceWidth:n&&n.sourceWidth||i.sourceWidth,sourceHeight:n&&n.sourceHeight||i.sourceHeight}}))},getFilename:function(){var t=this.userOptions.title&&this.userOptions.title.text,n=this.options.exporting.filename;return n?n.replace(/\//g,"-"):("string"==typeof t&&(n=t.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!n||5>n.length)&&(n="chart"),n)},exportChart:function(n,t){t=this.getSVGForExport(n,t);n=e(this.options.exporting,n);i.post(n.url,{filename:n.filename?n.filename.replace(/\//g,"-"):this.getFilename(),type:n.type,width:n.width||0,scale:n.scale,svg:t},n.formAttributes)},moveContainers:function(n){(this.fixedDiv?[this.fixedDiv,this.scrollingContainer]:[this.container]).forEach(function(t){n.appendChild(t)})},beforePrint:function(){var i=v.body,t=this.options.exporting.printMaxWidth,n={childNodes:i.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0;this.pointer.reset(null,0);y(this,"beforePrint");t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1));[].forEach.call(n.childNodes,function(t,i){1===t.nodeType&&(n.origDisplay[i]=t.style.display,t.style.display="none")});this.moveContainers(i);this.printReverseInfo=n},afterPrint:function(){if(this.printReverseInfo){var t=this.printReverseInfo.childNodes,r=this.printReverseInfo.origDisplay,n=this.printReverseInfo.resetParams;this.moveContainers(this.renderTo);[].forEach.call(t,function(n,t){1===n.nodeType&&(n.style.display=r[t]||"")});this.isPrinting=!1;n&&this.setSize.apply(this,n);delete this.printReverseInfo;delete i.printingChart;y(this,"afterPrint")}},print:function(){var n=this;n.isPrinting||(i.printingChart=n,i.isSafari||n.beforePrint(),setTimeout(function(){h.focus();h.print();i.isSafari||setTimeout(function(){n.afterPrint()},1e3)},1))},contextMenu:function(n,t,i,r,u,e,s){var p=this,d=p.options.navigation,g=p.chartWidth,tt=p.chartHeight,it="cache-"+n,w=p[it],b=Math.max(u,e),k;w||(p.exportContextMenu=p[it]=w=l("div",{className:n},{position:"absolute",zIndex:1e3,padding:b+"px",pointerEvents:"auto"},p.fixedDiv||p.container),k=l("ul",{className:"highcharts-menu"},{listStyle:"none",margin:0,padding:0},w),p.styledMode||o(k,a({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},d.menuStyle)),w.hideMenu=function(){o(w,{display:"none"});s&&s.setState(0);p.openMenu=!1;o(p.renderTo,{overflow:"hidden"});f.clearTimeout(w.hideTimer);y(p,"exportMenuHidden")},p.exportEvents.push(c(w,"mouseleave",function(){w.hideTimer=h.setTimeout(w.hideMenu,500)}),c(w,"mouseenter",function(){f.clearTimeout(w.hideTimer)}),c(v,"mouseup",function(t){p.pointer.inClass(t.target,n)||w.hideMenu()}),c(w,"click",function(){p.openMenu&&w.hideMenu()})),t.forEach(function(n){if("string"==typeof n&&(n=p.options.exporting.menuItemDefinitions[n]),nt(n,!0)){if(n.separator)var t=l("hr",null,null,k);else"viewData"===n.textKey&&p.isDataTableVisible&&(n.textKey="hideData"),t=l("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation();w.hideMenu();n.onclick&&n.onclick.apply(p,arguments)},innerHTML:n.text||p.options.lang[n.textKey]},null,k),p.styledMode||(t.onmouseover=function(){o(this,d.menuItemHoverStyle)},t.onmouseout=function(){o(this,d.menuItemStyle)},o(t,a({cursor:"pointer"},d.menuItemStyle)));p.exportDivElements.push(t)}}),p.exportDivElements.push(k,w),p.exportMenuWidth=w.offsetWidth,p.exportMenuHeight=w.offsetHeight);t={display:"block"};i+p.exportMenuWidth>g?t.right=g-i-u-b+"px":t.left=i-b+"px";r+e+p.exportMenuHeight>tt&&"top"!==s.alignOptions.verticalAlign?t.bottom=tt-r-b+"px":t.top=r+e-b+"px";o(w,t);o(p.renderTo,{overflow:""});p.openMenu=!0;y(p,"exportMenuShown")},addButton:function(n){var i=this,l=i.renderer,t=e(i.options.navigation.buttonOptions,n),v=t.onclick,y=t.menuItems,f=t.symbolSize||12,h,u,c;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1!==t.enabled){var r=t.theme,o=r.states,p=o&&o.hover;o=o&&o.select;i.styledMode||(r.fill=s(r.fill,"#ffffff"),r.stroke=s(r.stroke,"none"));delete r.states;v?h=function(n){n&&n.stopPropagation();v.call(i,n)}:y&&(h=function(n){n&&n.stopPropagation();i.contextMenu(u.menuClassName,y,u.translateX,u.translateY,u.width,u.height,u);u.setState(2)});t.text&&t.symbol?r.paddingLeft=s(r.paddingLeft,25):t.text||a(r,{width:t.width,height:t.height,padding:0});i.styledMode||(r["stroke-linecap"]="round",r.fill=s(r.fill,"#ffffff"),r.stroke=s(r.stroke,"none"));u=l.button(t.text,0,0,h,r,p,o).addClass(n.className).attr({title:s(i.options.lang[t._titleKey||t.titleKey],"")});u.menuClassName=n.menuClassName||"highcharts-menu-"+i.btnCount++;t.symbol&&(c=l.symbol(t.symbol,t.symbolX-f/2,t.symbolY-f/2,f,f,{width:f,height:f}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(u),i.styledMode||c.attr({stroke:t.symbolStroke,fill:t.symbolFill,"stroke-width":t.symbolStrokeWidth||1}));u.add(i.exportingGroup).align(a(t,{width:u.width,x:s(t.x,i.buttonOffset)}),!0,"spacingBox");i.buttonOffset+=(u.width+t.buttonSpacing)*("right"===t.align?-1:1);i.exportSVGElements.push(u,c)}},destroyExport:function(n){var t=n?n.target:this,i,r,u;n=t.exportSVGElements;i=t.exportDivElements;r=t.exportEvents;n&&(n.forEach(function(n,i){n&&(n.onclick=n.ontouchstart=null,u="cache-"+n.menuClassName,t[u]&&delete t[u],t.exportSVGElements[i]=n.destroy())}),n.length=0);t.exportingGroup&&(t.exportingGroup.destroy(),delete t.exportingGroup);i&&(i.forEach(function(n,i){f.clearTimeout(n.hideTimer);tt(n,"mouseleave");t.exportDivElements[i]=n.onmouseout=n.onmouseover=n.ontouchstart=n.onclick=null;p(n)}),i.length=0);r&&(r.forEach(function(n){n()}),r.length=0)}});u.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");u.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/];u.prototype.unstyledElements=["clipPath","defs","desc"];n.prototype.inlineStyles=function(){function f(n){return n.replace(/([A-Z])/g,function(n,t){return"-"+t.toLowerCase()})}function s(n){function g(t,r){if(v=p=!1,u){for(y=u.length;y--&&!p;)p=u[y].test(r);v=!p}for("transform"===r&&"none"===t&&(v=!0),y=l.length;y--&&!v;)v=l[y].test(r)||"function"==typeof t;v||nt[r]===t&&"svg"!==n.nodeName||i[n.nodeName][r]===t||(c&&-1===c.indexOf(r)?k+=f(r)+":"+t+";":t&&n.setAttribute(f(r),t))}var k="",v,p,y,o,nt,b,d;if(1===n.nodeType&&-1===a.indexOf(n.nodeName)){if(o=h.getComputedStyle(n,null),nt="svg"===n.nodeName?{}:h.getComputedStyle(n.parentNode,null),i[n.nodeName]||(r=t.getElementsByTagName("svg")[0],b=t.createElementNS(n.namespaceURI,n.nodeName),r.appendChild(b),i[n.nodeName]=e(h.getComputedStyle(b,null)),"text"===n.nodeName&&delete i.text.fill,r.removeChild(b)),ut||rt)for(d in o)g(o[d],d);else w(o,g);k&&(o=n.getAttribute("style"),n.setAttribute("style",(o?o+";":"")+k));"svg"===n.nodeName&&n.setAttribute("stroke-width","1px");"text"!==n.nodeName&&[].forEach.call(n.children||n.childNodes,s)}}var n=this.renderer,c=n.inlineToAttributes,l=n.inlineBlacklist,u=n.inlineWhitelist,a=n.unstyledElements,i={},r,t;n=v.createElement("iframe");o(n,{width:"1px",height:"1px",visibility:"hidden"});v.body.appendChild(n);t=n.contentWindow.document;t.open();t.write('<svg xmlns="http://www.w3.org/2000/svg"><\/svg>');t.close();s(this.container.querySelector("svg"));r.parentNode.remove();n.remove()};k.menu=function(n,t,i,r){return[["M",n,t+2.5],["L",n+i,t+2.5],["M",n,t+r/2+.5],["L",n+i,t+r/2+.5],["M",n,t+r-1.5],["L",n+i,t+r-1.5]]};k.menuball=function(n,t,i,r){return n=[],r=r/3-2,n.concat(this.circle(i-r,t,r,r),this.circle(i-r,t+r+4,r,r),this.circle(i-r,t+2*(r+4),r,r))};n.prototype.renderExporting=function(){var n=this,t=n.options.exporting,i=t.buttons,r=n.isDirtyExporting||!n.exportSVGElements;n.buttonOffset=0;n.isDirtyExporting&&n.destroyExport();r&&!1!==t.enabled&&(n.exportEvents=[],n.exportingGroup=n.exportingGroup||n.renderer.g("exporting-group").attr({zIndex:3}).add(),w(i,function(t){n.addButton(t)}),n.isDirtyExporting=!1);c(n,"destroy",n.destroyExport)};c(n,"init",function(){var n=this;n.exporting={update:function(t,i){n.isDirtyExporting=!0;e(!0,n.options.exporting,t);s(i,!0)&&n.redraw()}};t.addUpdate(function(t,i){n.isDirtyExporting=!0;e(!0,n.options.navigation,t);s(i,!0)&&n.redraw()},n)});n.prototype.callbacks.push(function(n){n.renderExporting();c(n,"redraw",n.renderExporting)})});t(n,"masters/modules/exporting.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/drilldown",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"Extensions/Drilldown.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Axis/Axis.js"],n["Core/Chart/Chart.js"],n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Options.js"],n["Core/Series/Point.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Axis/Tick.js"],n["Core/Utilities.js"]],function(n,t,i,r,u,f,e,o,s,h){var b=n.animObject,k=u.noop,w,p;n=f.defaultOptions;var c=h.addEvent,d=h.removeEvent,l=h.extend,y=h.fireEvent,g=h.format,a=h.merge,nt=h.objectEach,v=h.pick,tt=h.syncTimeout;f=u.seriesTypes;h=f.pie;f=f.column;w=1;l(n.lang,{drillUpText:"◁ Back to {series.name}"});n.drilldown={activeAxisLabelStyle:{cursor:"pointer",color:"#003399",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer",color:"#003399",fontWeight:"bold",textDecoration:"underline"},animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}}};o.prototype.Element.prototype.fadeIn=function(n){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:v(this.newOpacity,1)},n||{duration:250})};i.prototype.addSeriesAsDrilldown=function(n,t){this.addSingleSeriesAsDrilldown(n,t);this.applyDrilldown()};i.prototype.addSingleSeriesAsDrilldown=function(n,t){var u=n.series,i=u.xAxis,f=u.yAxis,h=[],c=[],e,s=this.styledMode?{colorIndex:v(n.colorIndex,u.colorIndex)}:{color:n.color||u.color},o,y;this.drilldownLevels||(this.drilldownLevels=[]);o=u.options._levelNumber||0;(e=this.drilldownLevels[this.drilldownLevels.length-1])&&e.levelNumber!==o&&(e=void 0);t=l(l({_ddSeriesId:w++},s),t);y=u.points.indexOf(n);u.chart.series.forEach(function(n){n.xAxis!==i||n.isDrilling||(n.options._ddSeriesId=n.options._ddSeriesId||w++,n.options._colorIndex=n.userOptions._colorIndex,n.options._levelNumber=n.options._levelNumber||o,e?(h=e.levelSeries,c=e.levelSeriesOptions):(h.push(n),n.purgedOptions=a({_ddSeriesId:n.options._ddSeriesId,_levelNumber:n.options._levelNumber,selected:n.options.selected},n.userOptions),c.push(n.purgedOptions)))});n=l({levelNumber:o,seriesOptions:u.options,seriesPurgedOptions:u.purgedOptions,levelSeriesOptions:c,levelSeries:h,shapeArgs:n.shapeArgs,bBox:n.graphic?n.graphic.getBBox():{},color:n.isNull?new r(s.color).setOpacity(0).get():s.color,lowerSeriesOptions:t,pointOptions:u.options.data[y],pointIndex:y,oldExtremes:{xMin:i&&i.userMin,xMax:i&&i.userMax,yMin:f&&f.userMin,yMax:f&&f.userMax},resetZoomButton:this.resetZoomButton},s);this.drilldownLevels.push(n);i&&i.names&&(i.names.length=0);t=n.lowerSeries=this.addSeries(t,!1);t.options._levelNumber=o+1;i&&(i.oldPos=i.pos,i.userMin=i.userMax=null,f.userMin=f.userMax=null);u.type===t.type&&(t.animate=t.animateDrilldown||k,t.options.animation=!0)};i.prototype.applyDrilldown=function(){var n=this.drilldownLevels,t;n&&0<n.length&&(t=n[n.length-1].levelNumber,this.drilldownLevels.forEach(function(n){n.levelNumber===t&&n.levelSeries.forEach(function(n){n.options&&n.options._levelNumber===t&&n.remove(!1)})}));this.resetZoomButton&&(this.resetZoomButton.hide(),delete this.resetZoomButton);this.pointer.reset();this.redraw();this.showDrillUpButton();y(this,"afterDrilldown")};i.prototype.getDrilldownBackText=function(){var n=this.drilldownLevels;if(n&&0<n.length)return n=n[n.length-1],n.series=n.seriesOptions,g(this.options.lang.drillUpText,n)};i.prototype.showDrillUpButton=function(){var r=this,u=this.getDrilldownBackText(),t=r.options.drilldown.drillUpButton,i,n;this.drillUpButton?this.drillUpButton.attr({text:u}).align():(n=(i=t.theme)&&i.states,this.drillUpButton=this.renderer.button(u,null,null,function(){r.drillUp()},i,n&&n.hover,n&&n.select).addClass("highcharts-drillup-button").attr({align:t.position.align,zIndex:7}).add().align(t.position,!1,t.relativeTo||"plotBox"))};i.prototype.drillUp=function(){if(this.drilldownLevels&&0!==this.drilldownLevels.length){for(var r=this,f=r.drilldownLevels,o=f[f.length-1].levelNumber,s=f.length,e=r.series,t,n,i,u,h=function(t){e.forEach(function(n){n.options._ddSeriesId===t._ddSeriesId&&(f=n)});var f=f||r.addSeries(t,!1);f.type===i.type&&f.animateDrillupTo&&(f.animate=f.animateDrillupTo);t===n.seriesPurgedOptions&&(u=f)};s--;)if(n=f[s],n.levelNumber===o){if(f.pop(),i=n.lowerSeries,!i.chart)for(t=e.length;t--;)if(e[t].options.id===n.lowerSeriesOptions.id&&e[t].options._levelNumber===o+1){i=e[t];break}i.xData=[];n.levelSeriesOptions.forEach(h);y(r,"drillup",{seriesOptions:n.seriesPurgedOptions||n.seriesOptions});u.type===i.type&&(u.drilldownLevel=n,u.options.animation=r.options.drilldown.animation,i.animateDrillupFrom&&i.chart&&i.animateDrillupFrom(n));u.options._levelNumber=o;i.remove(!1);u.xAxis&&(t=n.oldExtremes,u.xAxis.setExtremes(t.xMin,t.xMax,!1),u.yAxis.setExtremes(t.yMin,t.yMax,!1));n.resetZoomButton&&(r.resetZoomButton=n.resetZoomButton,r.resetZoomButton.show())}this.redraw();0===this.drilldownLevels.length?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align();this.ddDupes.length=[];y(r,"drillupall")}};c(i,"afterInit",function(){var n=this;n.drilldown={update:function(t,i){a(!0,n.options.drilldown,t);v(i,!0)&&n.redraw()}}});c(i,"beforeShowResetZoom",function(){if(this.drillUpButton)return!1});c(i,"render",function(){(this.xAxis||[]).forEach(function(n){n.ddPoints={};n.series.forEach(function(t){for(var u=t.xData||[],f=t.points,r,i=0;i<u.length;i++)r=t.options.data[i],"number"!=typeof r&&(r=t.pointClass.prototype.optionsToObject.call({series:t},r),r.drilldown&&(n.ddPoints[u[i]]||(n.ddPoints[u[i]]=[]),n.ddPoints[u[i]].push(f?f[i]:!0)))});nt(n.ticks,s.prototype.drillable)})});f.prototype.animateDrillupTo=function(n){if(!n){var t=this,i=t.drilldownLevel;this.points.forEach(function(n){var t=n.dataLabel;n.graphic&&n.graphic.hide();t&&(t.hidden="hidden"===t.attr("visibility"),t.hidden||(t.hide(),n.connector&&n.connector.hide()))});tt(function(){if(t.points){var n=[];t.data.forEach(function(t){n.push(t)});t.nodes&&(n=n.concat(t.nodes));n.forEach(function(n,t){t=t===(i&&i.pointIndex)?"show":"fadeIn";var u="show"===t?!0:void 0,r=n.dataLabel;n.graphic&&n.graphic[t](u);r&&!r.hidden&&(r.fadeIn(),n.connector&&n.connector.fadeIn())})}},Math.max(this.chart.options.drilldown.animation.duration-50,0));delete this.animate}};f.prototype.animateDrilldown=function(n){var u=this,i=this.chart,o=i.drilldownLevels,t,f=b(i.options.drilldown.animation),r=this.xAxis,e=i.styledMode;n||(o.forEach(function(n){u.options._ddSeriesId===n.lowerSeriesOptions._ddSeriesId&&(t=n.shapeArgs,e||(t.fill=n.color))}),t.x+=v(r.oldPos,r.pos)-r.pos,this.points.forEach(function(n){var i=n.shapeArgs;e||(i.fill=n.color);n.graphic&&n.graphic.attr(t).animate(l(n.shapeArgs,{fill:n.color||u.color}),f);n.dataLabel&&n.dataLabel.fadeIn(f)}),delete this.animate)};f.prototype.animateDrillupFrom=function(n){var r=b(this.chart.options.drilldown.animation),t=this.group,u=t!==this.chart.columnGroup,i=this;i.trackerGroups.forEach(function(n){if(i[n])i[n].on("mouseover")});u&&delete this.group;this.points.forEach(function(f){var e=f.graphic,o=n.shapeArgs,s=function(){e.destroy();t&&u&&(t=t.destroy())};e&&o&&(delete f.graphic,i.chart.styledMode||(o.fill=n.color),r.duration?e.animate(o,a(r,{complete:s})):(e.attr(o),s()))})};h&&l(h.prototype,{animateDrillupTo:f.prototype.animateDrillupTo,animateDrillupFrom:f.prototype.animateDrillupFrom,animateDrilldown:function(n){var u=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],i=this.chart.options.drilldown.animation;if(this.is("item")&&(i.duration=0),this.center){var t=u.shapeArgs,r=t.start,f=(t.end-r)/this.points.length,e=this.chart.styledMode;n||(this.points.forEach(function(n,o){var s=n.shapeArgs;e||(t.fill=u.color,s.fill=n.color);n.graphic&&n.graphic.attr(a(t,{start:r+o*f,end:r+(o+1)*f}))[i?"animate":"attr"](s,i)}),delete this.animate)}}});e.prototype.doDrilldown=function(n,t,i){var r=this.series.chart,u=r.options.drilldown,f=(u.series||[]).length,e;for(r.ddDupes||(r.ddDupes=[]);f--&&!e;)u.series[f].id===this.drilldown&&-1===r.ddDupes.indexOf(this.drilldown)&&(e=u.series[f],r.ddDupes.push(this.drilldown));y(r,"drilldown",{point:this,seriesOptions:e,category:t,originalEvent:i,points:"undefined"!=typeof t&&this.series.xAxis.getDDPoints(t).slice(0)},function(t){var i=t.point.series&&t.point.series.chart,r=t.seriesOptions;i&&r&&(n?i.addSingleSeriesAsDrilldown(t.point,r):i.addSeriesAsDrilldown(t.point,r))})};t.prototype.drilldownCategory=function(n,t){this.getDDPoints(n).forEach(function(i){i&&i.series&&i.series.visible&&i.doDrilldown&&i.doDrilldown(!0,n,t)});this.chart.applyDrilldown()};t.prototype.getDDPoints=function(n){return this.ddPoints&&this.ddPoints[n]||[]};s.prototype.drillable=function(){var r=this.pos,n=this.label,t=this.axis,u="xAxis"===t.coll&&t.getDDPoints,f=u&&t.getDDPoints(r),i=t.chart.styledMode;u&&(n&&f&&f.length?(n.drillable=!0,n.basicStyles||i||(n.basicStyles=a(n.styles)),n.addClass("highcharts-drilldown-axis-label"),n.removeOnDrillableClick&&d(n.element,"click"),n.removeOnDrillableClick=c(n.element,"click",function(n){n.preventDefault();t.drilldownCategory(r,n)}),i||n.css(t.chart.options.drilldown.activeAxisLabelStyle)):n&&n.drillable&&n.removeOnDrillableClick&&(i||(n.styles={},n.css(n.basicStyles)),n.removeOnDrillableClick(),n.removeClass("highcharts-drilldown-axis-label")))};c(e,"afterInit",function(){var n=this,t=n.series;return n.drilldown&&c(n,"click",function(i){t.xAxis&&!1===t.chart.options.drilldown.allowPointDrilldown?t.xAxis.drilldownCategory(n.x,i):n.doDrilldown(void 0,void 0,i)}),n});c(u.Series,"afterDrawDataLabels",function(){var n=this.chart.options.drilldown.activeDataLabelStyle,i=this.chart.renderer,t=this.chart.styledMode;this.points.forEach(function(r){var u=r.options.dataLabels,f=v(r.dlOptions,u&&u.style,{});r.drilldown&&r.dataLabel&&("contrast"!==n.color||t||(f.color=i.getContrast(r.color||this.color)),u&&u.color&&(f.color=u.color),r.dataLabel.addClass("highcharts-drilldown-data-label"),t||r.dataLabel.css(n).css(f))},this)});p=function(n,t,i,r){n[i?"addClass":"removeClass"]("highcharts-drilldown-point");r||n.css({cursor:t})};c(u.Series,"afterDrawTracker",function(){var n=this.chart.styledMode;this.points.forEach(function(t){t.drilldown&&t.graphic&&p(t.graphic,"pointer",!0,n)})});c(e,"afterSetState",function(){var n=this.series.chart.styledMode;this.drilldown&&this.series.halo&&"hover"===this.state?p(this.series.halo,"pointer",!0,n):this.series.halo&&p(this.series.halo,"auto",!1,n)})});t(n,"masters/modules/drilldown.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/export-data",["highcharts","highcharts/modules/exporting"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"Extensions/DownloadURL.js",[n["Core/Globals.js"]],function(n){var t=n.win,i=t.document,r=t.URL||t.webkitURL||t,u=n.dataURLtoBlob=function(n){var f,i,u;if((n=n.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<n.length&&t.atob&&t.ArrayBuffer&&t.Uint8Array&&t.Blob&&r.createObjectURL){for(f=t.atob(n[3]),i=new t.ArrayBuffer(f.length),i=new t.Uint8Array(i),u=0;u<i.length;++u)i[u]=f.charCodeAt(u);return n=new t.Blob([i],{type:n[1]}),r.createObjectURL(n)}};return n=n.downloadURL=function(n,r){var e=t.navigator,f=i.createElement("a"),o;if("string"==typeof n||n instanceof String||!e.msSaveOrOpenBlob){if(n=""+n,(/Edge\/\d+/.test(e.userAgent)||2e6<n.length)&&(n=u(n)||"",!n))throw Error("Failed to convert to blob");if("undefined"!=typeof f.download)f.href=n,f.download=r,i.body.appendChild(f),f.click(),i.body.removeChild(f);else try{if(o=t.open(n,"chart"),"undefined"==typeof o||null===o)throw Error("Failed to open window");}catch(s){t.location.href=n}}else e.msSaveOrOpenBlob(n,r)},{dataURLtoBlob:u,downloadURL:n}});t(n,"Extensions/ExportData.js",[n["Core/Axis/Axis.js"],n["Core/Chart/Chart.js"],n["Core/Renderer/HTML/AST.js"],n["Core/Globals.js"],n["Core/Utilities.js"],n["Extensions/DownloadURL.js"]],function(n,t,i,r,u,f){function a(n,t){var i=o.navigator,u=-1<i.userAgent.indexOf("WebKit")&&0>i.userAgent.indexOf("Chrome"),f=o.URL||o.webkitURL||o,r;try{if(i.msSaveOrOpenBlob&&o.MSBlobBuilder)return r=new o.MSBlobBuilder,r.append(n),r.getBlob("image/svg+xml");if(!u)return f.createObjectURL(new o.Blob(["﻿"+n],{type:t}))}catch(e){}}var y=r.doc,e=r.seriesTypes,o=r.win,l,h;r=u.addEvent;var p=u.defined,v=u.extend,w=u.find,c=u.fireEvent,b=u.getOptions,k=u.isNumber,s=u.pick;u=u.setOptions;l=f.downloadURL;u({exporting:{csv:{annotations:{itemDelimiter:"; ",join:!1},columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",exportData:{annotationHeader:"Annotations",categoryHeader:"Category",categoryDatetimeHeader:"DateTime"},viewData:"View data table",hideData:"Hide data table"}});r(t,"render",function(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&!this.dataTableDiv&&this.viewData()});t.prototype.setUpKeyToAxis=function(){e.arearange&&(e.arearange.prototype.keyToAxis={low:"y",high:"y"});e.gantt&&(e.gantt.prototype.keyToAxis={start:"x",end:"x"})};t.prototype.getDataRows=function(t){var d=this.hasParallelCoordinates,g=this.time,l=this.options.exporting&&this.options.exporting.csv||{},nt=this.xAxis,r={},a=[],tt=[],v=[],e,o=this.options.lang.exportData,it=o.categoryHeader,ft=o.categoryDatetimeHeader,rt=function(i,r,u){if(l.columnHeaderFormatter){var f=l.columnHeaderFormatter(i,r,u);if(!1!==f)return f}return i?i instanceof n?i.options.title&&i.options.title.text||(i.dateTime?ft:it):t?{columnTitle:1<u?r:i.name,topLevelColumnTitle:i.name}:i.name+(1<u?" ("+r+")":""):it},ut=function(n,t,i){var r={},u={};return t.forEach(function(t){var f=(n.keyToAxis&&n.keyToAxis[t]||t)+"Axis";f=k(i)?n.chart[f][i]:n[f];r[t]=f&&f.categories||[];u[t]=f&&f.dateTime}),{categoryMap:r,dateTimeValueAxisMap:u}},et=function(n,t){return n.data.filter(function(n){return"undefined"!=typeof n.y&&n.name}).length&&t&&!t.categories&&!n.keyToAxis?n.pointArrayMap&&n.pointArrayMap.filter(function(n){return"x"===n}).length?(n.pointArrayMap.unshift("x"),n.pointArrayMap):["x","y"]:n.pointArrayMap||["y"]},h=[],u=0,i;this.setUpKeyToAxis();this.series.forEach(function(n){var o=n.xAxis,f=n.options.keys||et(n,o),p=f.length,c=!n.requireSorting&&{},a=nt.indexOf(o),y=ut(n,f),i,b;if(!1!==n.options.includeInDataExport&&!n.options.isInternal&&!1!==n.visible){for(w(h,function(n){return n[0]===a})||h.push([a,u]),i=0;i<p;)e=rt(n,f[i],f.length),v.push(e.columnTitle||e),t&&tt.push(e.topLevelColumnTitle||e),i++;b={chart:n.chart,autoIncrement:n.autoIncrement,options:n.options,pointArrayMap:n.pointArrayMap};n.options.data.forEach(function(t,e){var v,h;for(d&&(y=ut(n,f,e)),v={series:b},n.pointClass.prototype.applyOptions.apply(v,[t]),t=v.x,h=n.data[e]&&n.data[e].name,i=0,(!o||"name"===n.exportKey||!d&&o&&o.hasNames&&h)&&(t=h),c&&(c[t]&&(t+="|"+e),c[t]=!0),r[t]||(r[t]=[],r[t].xValues=[]),r[t].x=v.x,r[t].name=h,r[t].xValues[a]=v.x;i<p;)e=f[i],h=v[e],r[t][u+i]=s(y.categoryMap[e][h],y.dateTimeValueAxisMap[e]?g.dateFormat(l.dateFormat,h):null,h),i++});u+=i}});for(i in r)Object.hasOwnProperty.call(r,i)&&a.push(r[i]);for(i=t?[tt,v]:[v],u=h.length;u--;){var y=h[u][0],b=h[u][1],f=nt[y];a.sort(function(n,t){return n.xValues[y]-t.xValues[y]});o=rt(f);i[0].splice(b,0,o);t&&i[1]&&i[1].splice(b,0,o);a.forEach(function(n){var t=n.name;f&&!p(t)&&(f.dateTime?(n.x instanceof Date&&(n.x=n.x.getTime()),t=g.dateFormat(l.dateFormat,n.x)):t=f.categories?s(f.names[n.x],f.categories[n.x],n.x):n.x);n.splice(b,0,t)})}return i=i.concat(a),c(this,"exportData",{dataRows:i}),i};t.prototype.getCSV=function(n){var i="",u=this.getDataRows(),t=this.options.exporting.csv,r=s(t.decimalPoint,","!==t.itemDelimiter&&n?1.1.toLocaleString()[1]:"."),f=s(t.itemDelimiter,","===r?";":","),e=t.lineDelimiter;return u.forEach(function(n,t){for(var o,s=n.length;s--;)o=n[s],"string"==typeof o&&(o='"'+o+'"'),"number"==typeof o&&"."!==r&&(o=o.toString().replace(".",r)),n[s]=o;i+=n.join(f);t<u.length-1&&(i+=e)}),i};t.prototype.getTable=function(n){var t=function(n){if(!n.tagName||"#text"===n.tagName)return n.textContent||"";var r=n.attributes,i="<"+n.tagName;return r&&Object.keys(r).forEach(function(n){i+=" "+n+'="'+r[n]+'"'}),i+=">",i+=n.textContent||"",(n.children||[]).forEach(function(n){i+=t(n)}),i+="<\/"+n.tagName+">"};return n=this.getTableAST(n),t(n)};t.prototype.getTableAST=function(n){var t=[],i=this.options,h=n?1.1.toLocaleString()[1]:".",e=s(i.exporting.useMultiLevelHeaders,!0),r,a,o;n=this.getDataRows(e);var u=0,y=e?n.shift():null,l=n.shift(),f=function(n,t,i,r){var u=s(r,"");return t="text"+(t?" "+t:""),"number"==typeof u?(u=u.toString(),","===h&&(u=u.replace(".",h)),t="number"):r||(t="empty"),i=v({"class":t},i),{tagName:n,attributes:i,textContent:u}};for(!1!==i.exporting.tableCaption&&t.push({tagName:"caption",attributes:{"class":"highcharts-table-caption"},textContent:s(i.exporting.tableCaption,i.title.text?i.title.text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;"):"Chart")}),r=0,a=n.length;r<a;++r)n[r].length>u&&(u=n[r].length);return t.push(function(n,t,r){var l=[],o=0,c,u,s,h;if(r=r||t&&t.length,c=0,u=e&&n&&t){n:if(u=n.length,t.length===u){for(;u--;)if(n[u]!==t[u]){u=!1;break n}u=!0}else u=!1;u=!u}if(u){for(u=[];o<r;++o)s=n[o],h=n[o+1],s===h?++c:c?(u.push(f("th","highcharts-table-topheading",{scope:"col",colspan:c+1},s)),c=0):(s===t[o]?i.exporting.useRowspanHeaders?(h=2,delete t[o]):(h=1,t[o]=""):h=1,s=f("th","highcharts-table-topheading",{scope:"col"},s),1<h&&s.attributes&&(s.attributes.valign="top",s.attributes.rowspan=h),u.push(s));l.push({tagName:"tr",children:u})}if(t){for(u=[],o=0,r=t.length;o<r;++o)"undefined"!=typeof t[o]&&u.push(f("th",null,{scope:"col"},t[o]));l.push({tagName:"tr",children:u})}return{tagName:"thead",children:l}}(y,l,Math.max(u,l.length))),o=[],n.forEach(function(n){for(var i=[],t=0;t<u;t++)i.push(f(t?"td":"th",null,t?{}:{scope:"row"},n[t]));o.push({tagName:"tr",children:i})}),t.push({tagName:"tbody",children:o}),t={tree:{tagName:"table",id:"highcharts-data-table-"+this.index,children:t}},c(this,"aftergetTableAST",t),t.tree};t.prototype.downloadCSV=function(){var n=this.getCSV(!0);l(a(n,"text/csv")||"data:text/csv,﻿"+encodeURIComponent(n),this.getFilename()+".csv")};t.prototype.downloadXLS=function(){var n='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>Ark1<\/x:Name><x:WorksheetOptions><x:DisplayGridlines/><\/x:WorksheetOptions><\/x:ExcelWorksheet><\/x:ExcelWorksheets><\/x:ExcelWorkbook><\/xml><![endif]--><style>td{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";} .text{ mso-number-format:"@";}<\/style><meta name=ProgId content=Excel.Sheet><meta charset=UTF-8><\/head><body>'+this.getTable(!0)+"<\/body><\/html>";l(a(n,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+o.btoa(unescape(encodeURIComponent(n))),this.getFilename()+".xls")};t.prototype.viewData=function(){this.toggleDataTable(!0)};t.prototype.hideData=function(){this.toggleDataTable(!1)};t.prototype.toggleDataTable=function(n){var t,r;(n=s(n,!this.isDataTableVisible))&&!this.dataTableDiv&&(this.dataTableDiv=y.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));this.dataTableDiv&&(this.dataTableDiv.style.display=n?"block":"none",n&&(this.dataTableDiv.innerHTML="",new i([this.getTableAST()]).addToDOM(this.dataTableDiv),c(this,"afterViewData",this.dataTableDiv)));this.isDataTableVisible=n;n=this.exportDivElements;t=this.options.exporting;t=t&&t.buttons&&t.buttons.contextButton.menuItems;r=this.options.lang;h&&h.menuItemDefinitions&&(null===r||void 0===r?0:r.viewData)&&r.hideData&&t&&n&&n.length&&i.setElementHTML(n[t.indexOf("viewData")],this.isDataTableVisible?r.hideData:r.viewData)};h=b().exporting;h&&(v(h.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.toggleDataTable()}}}),h.buttons&&h.buttons.contextButton.menuItems.push("separator","downloadCSV","downloadXLS","viewData"));e.map&&(e.map.prototype.exportKey="name");e.mapbubble&&(e.mapbubble.prototype.exportKey="name");e.treemap&&(e.treemap.prototype.exportKey="name")});t(n,"masters/modules/export-data.src.js",[],function(){})})