(function(){var n;window.AmCharts?n=window.AmCharts:(n={},window.AmCharts=n,n.themes={},n.maps={},n.inheriting={},n.charts=[],n.onReadyArray=[],n.useUTC=!1,n.updateRate=30,n.uid=0,n.lang={},n.translations={},n.mapTranslations={},n.windows={},n.initHandlers=[]),n.Class=function(t){var i=function(){arguments[0]!==n.inheriting&&(this.events={},this.construct.apply(this,arguments))},r;t.inherits?(i.prototype=new t.inherits(n.inheriting),i.base=t.inherits.prototype,delete t.inherits):(i.prototype.createEvents=function(){for(var n=0,t=arguments.length;n<t;n++)this.events[arguments[n]]=[]},i.prototype.listenTo=function(n,t,i){this.removeListener(n,t,i),n.events[t].push({handler:i,scope:this})},i.prototype.addListener=function(n,t,i){this.removeListener(this,n,t),this.events[n].push({handler:t,scope:i})},i.prototype.removeListener=function(n,t,i){if(n&&n.events)for(n=n.events[t],t=n.length-1;0<=t;t--)n[t].handler===i&&n.splice(t,1)},i.prototype.fire=function(n,t){for(var r,u=this.events[n],i=0,f=u.length;i<f;i++)r=u[i],r.handler.call(r.scope,t)});for(r in t)i.prototype[r]=t[r];return i},n.addChart=function(t){n.updateInt||(n.updateInt=setInterval(function(){n.update()},Math.round(1e3/n.updateRate))),n.charts.push(t)},n.removeChart=function(t){for(var i=n.charts,r=i.length-1;0<=r;r--)i[r]==t&&i.splice(r,1);0===i.length&&n.updateInt&&(clearInterval(n.updateInt),n.updateInt=NaN)},n.isModern=!0,n.getIEVersion=function(){var n=0,t,i;return"Microsoft Internet Explorer"==navigator.appName&&(t=navigator.userAgent,i=/MSIE ([0-9]{1,}[.0-9]{0,})/,null!==i.exec(t)&&(n=parseFloat(RegExp.$1))),n},n.applyLang=function(t,i){var r=n.translations;i.dayNames=n.extend({},n.dayNames),i.shortDayNames=n.extend({},n.shortDayNames),i.monthNames=n.extend({},n.monthNames),i.shortMonthNames=n.extend({},n.shortMonthNames),r&&(r=r[t])&&(n.lang=r,r.monthNames&&(i.dayNames=n.extend({},r.dayNames),i.shortDayNames=n.extend({},r.shortDayNames),i.monthNames=n.extend({},r.monthNames),i.shortMonthNames=n.extend({},r.shortMonthNames)))},n.IEversion=n.getIEVersion(),9>n.IEversion&&0<n.IEversion&&(n.isModern=!1,n.isIE=!0),n.dx=0,n.dy=0,(document.addEventListener||window.opera)&&(n.isNN=!0,n.isIE=!1,n.dx=.5,n.dy=.5),document.attachEvent&&(n.isNN=!1,n.isIE=!0,n.isModern||(n.dx=0,n.dy=0)),window.chrome&&(n.chrome=!0),n.handleMouseUp=function(t){for(var r,u=n.charts,i=0;i<u.length;i++)r=u[i],r&&r.handleReleaseOutside&&r.handleReleaseOutside(t)},n.handleMouseMove=function(t){for(var r,u=n.charts,i=0;i<u.length;i++)r=u[i],r&&r.handleMouseMove&&r.handleMouseMove(t)},n.handleWheel=function(t){for(var i,u=n.charts,r=0;r<u.length;r++)if(i=u[r],i&&i.mouseIsOver){i.mouseWheelScrollEnabled||i.mouseWheelZoomEnabled?i.handleWheel&&i.handleWheel(t):t.stopPropagation&&t.stopPropagation();break}},n.resetMouseOver=function(){for(var r,i=n.charts,t=0;t<i.length;t++)r=i[t],r&&(r.mouseIsOver=!1)},n.ready=function(t){n.onReadyArray.push(t)},n.handleLoad=function(){var i,t,r;for(n.isReady=!0,i=n.onReadyArray,t=0;t<i.length;t++)r=i[t],isNaN(n.processDelay)?r():setTimeout(r,n.processDelay*t)},n.addInitHandler=function(t,i){n.initHandlers.push({method:t,types:i})},n.callInitHandler=function(t){var u=n.initHandlers,r,i;if(n.initHandlers)for(r=0;r<u.length;r++)i=u[r],i.types?n.isInArray(i.types,t.type)&&i.method(t):i.method(t)},n.getUniqueId=function(){return n.uid++,"AmChartsEl-"+n.uid},n.isNN&&(document.addEventListener("mousemove",n.handleMouseMove,!0),document.addEventListener("mouseup",n.handleMouseUp,!0),window.addEventListener("load",n.handleLoad,!0),window.addEventListener("DOMMouseScroll",n.handleWheel,!0),document.addEventListener("mousewheel",n.handleWheel,!0)),n.isIE&&(document.attachEvent("onmousemove",n.handleMouseMove),document.attachEvent("onmouseup",n.handleMouseUp),window.attachEvent("onload",n.handleLoad)),n.clear=function(){var i=n.charts,t;if(i)for(t=i.length-1;0<=t;t--)i[t].clear();n.updateInt&&clearInterval(n.updateInt),n.charts=[],n.isNN&&(document.removeEventListener("mousemove",n.handleMouseMove,!0),document.removeEventListener("mouseup",n.handleMouseUp,!0),window.removeEventListener("load",n.handleLoad,!0),window.removeEventListener("DOMMouseScroll",n.handleWheel,!0),document.removeEventListener("mousewheel",n.handleWheel,!0)),n.isIE&&(document.detachEvent("onmousemove",n.handleMouseMove),document.detachEvent("onmouseup",n.handleMouseUp),window.detachEvent("onload",n.handleLoad))},n.makeChart=function(t,i,r){var e=i.type,f=i.theme,u;n.isString(f)&&(f=n.themes[f],i.theme=f);switch(e){case"serial":u=new n.AmSerialChart(f);break;case"xy":u=new n.AmXYChart(f);break;case"pie":u=new n.AmPieChart(f);break;case"radar":u=new n.AmRadarChart(f);break;case"gauge":u=new n.AmAngularGauge(f);break;case"funnel":u=new n.AmFunnelChart(f);break;case"map":u=new n.AmMap(f);break;case"stock":u=new n.AmStockChart(f);break;case"gantt":u=new n.AmGanttChart(f)}return n.extend(u,i),n.isReady?isNaN(r)?u.write(t):setTimeout(function(){n.realWrite(u,t)},r):n.ready(function(){isNaN(r)?u.write(t):setTimeout(function(){n.realWrite(u,t)},r)}),u},n.realWrite=function(n,t){n.write(t)},n.updateCount=0,n.validateAt=Math.round(n.updateRate/5),n.update=function(){var i=n.charts,r,t;if(n.updateCount++,r=!1,n.updateCount==n.validateAt&&(r=!0,n.updateCount=0),i)for(t=0;t<i.length;t++)i[t].update&&i[t].update(),r&&i[t].autoResize&&i[t].validateSize&&i[t].validateSize()},n.bezierX=3,n.bezierY=6})(),function(){var n=window.AmCharts;n.toBoolean=function(n,t){if(void 0===n)return t;switch(String(n).toLowerCase()){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case null:return!1;default:return Boolean(n)}},n.removeFromArray=function(n,t){var i;if(void 0!==t&&void 0!==n)for(i=n.length-1;0<=i;i--)n[i]==t&&n.splice(i,1)},n.getPath=function(){var t=document.getElementsByTagName("script"),n,i;if(t)for(n=0;n<t.length;n++)if(i=t[n].src,-1!==i.search(/\/(amcharts|ammap)\.js/))return i.replace(/\/(amcharts|ammap)\.js.*/,"/")},n.normalizeUrl=function(n){return""!==n&&-1===n.search(/\/$/)?n+"/":n},n.isAbsolute=function(n){return 0===n.search(/^http[s]?:|^\//)},n.isInArray=function(n,t){for(var i=0;i<n.length;i++)if(n[i]==t)return!0;return!1},n.getDecimals=function(n){var t=0;return isNaN(n)||(n=String(n),-1!=n.indexOf("e-")?t=Number(n.split("-")[1]):-1!=n.indexOf(".")&&(t=n.split(".")[1].length)),t},n.wrappedText=function(t,i,r,u,f,e,o,s,h){var l=n.text(t,i,r,u,f,e,o),y="\n",a,v,c;if(n.isModern||(y="<br>"),10<h)return l;if(l){if(a=l.getBBox(),a.width>s){for(a=Math.ceil(a.width/s),l.remove(),l=[],c=0;-1<(c=i.indexOf(" ",c));)l.push(c),c+=1;for(c=0;c<l.length;c+=Math.ceil(l.length/a))v=l[c],i=i.substr(0,v)+y+i.substr(v+1);if(isNaN(v)){if(0===h)for(c=1;c<a;c++)v=Math.round(i.length/a*c),i=i.substr(0,v)+y+i.substr(v);return n.text(t,i,r,u,f,e,o)}return n.wrappedText(t,i,r,u,f,e,o,s,h+1)}return l}},n.getStyle=function(n,t){var i="";return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(n,"").getPropertyValue(t):n.currentStyle&&(t=t.replace(/\-(\w)/g,function(n,t){return t.toUpperCase()}),i=n.currentStyle[t]),i},n.removePx=function(n){if(void 0!==n)return Number(n.substring(0,n.length-2))},n.getURL=function(t,i){if(t)if("_self"!=i&&i)if("_top"==i&&window.top)window.top.location.href=t;else if("_parent"==i&&window.parent)window.parent.location.href=t;else if("_blank"==i)window.open(t);else{var r=document.getElementsByName(i)[0];r?r.src=t:(r=n.windows[i])?r.opener&&!r.opener.closed?r.location.href=t:n.windows[i]=window.open(t):n.windows[i]=window.open(t)}else window.location.href=t},n.ifArray=function(n){return n&&0<n.length?!0:!1},n.callMethod=function(n,t){for(var i,e,u,f,r=0;r<t.length;r++)if(i=t[r],i&&(i[n]&&i[n](),e=i.length,0<e))for(u=0;u<e;u++)f=i[u],f&&f[n]&&f[n]()},n.toNumber=function(n){return"number"==typeof n?n:Number(String(n).replace(/[^0-9\-.]+/g,""))},n.toColor=function(n){var t,i;if(""!==n&&void 0!==n)if(-1!=n.indexOf(","))for(n=n.split(","),t=0;t<n.length;t++)i=n[t].substring(n[t].length-6,n[t].length),n[t]="#"+i;else n=n.substring(n.length-6,n.length),n="#"+n;return n},n.toCoordinate=function(n,t,i){var r;return void 0!==n&&(n=String(n),i&&i<t&&(t=i),r=Number(n),-1!=n.indexOf("!")&&(r=t-Number(n.substr(1))),-1!=n.indexOf("%")&&(r=t*Number(n.substr(0,n.length-1))/100)),r},n.fitToBounds=function(n,t,i){return n<t&&(n=t),n>i&&(n=i),n},n.isDefined=function(n){return void 0===n?!1:!0},n.stripNumbers=function(n){return n.replace(/[0-9]+/g,"")},n.roundTo=function(n,t){if(0>t)return n;var i=Math.pow(10,t);return Math.round(n*i)/i},n.toFixed=function(n,t){var i=String(Math.round(n*Math.pow(10,t))),r,u;if(0<t){if(r=i.length,r<t)for(u=0;u<t-r;u++)i="0"+i;return r=i.substring(0,i.length-t),""===r&&(r=0),r+"."+i.substring(i.length-t,i.length)}return String(i)},n.formatDuration=function(t,i,r,u,f,e){var o=n.intervals,h=e.decimalSeparator,s;if(t>=o[i].contains)return s=t-Math.floor(t/o[i].contains)*o[i].contains,"ss"==i&&(s=n.formatNumber(s,e),1==s.split(h)[0].length&&(s="0"+s)),("mm"==i||"hh"==i)&&10>s&&(s="0"+s),r=s+""+u[i]+""+r,t=Math.floor(t/o[i].contains),i=o[i].nextInterval,n.formatDuration(t,i,r,u,f,e);if("ss"==i&&(t=n.formatNumber(t,e),1==t.split(h)[0].length&&(t="0"+t)),("mm"==i||"hh"==i)&&10>t&&(t="0"+t),r=t+""+u[i]+""+r,o[f].count>o[i].count)for(t=o[i].count;t<o[f].count;t++)i=o[i].nextInterval,"ss"==i||"mm"==i||"hh"==i?r="00"+u[i]+""+r:"DD"==i&&(r="0"+u[i]+""+r);return":"==r.charAt(r.length-1)&&(r=r.substring(0,r.length-1)),r},n.formatNumber=function(t,i,r,u,f){var c,l,e,h,s,o;if(t=n.roundTo(t,i.precision),isNaN(r)&&(r=i.precision),c=i.decimalSeparator,i=i.thousandsSeparator,l=0>t?"-":"",t=Math.abs(t),h=String(t),s=!1,-1!=h.indexOf("e")&&(s=!0),0<=r&&!s&&(h=n.toFixed(t,r)),e="",s)e=h;else{for(h=h.split("."),s=String(h[0]),o=s.length;0<=o;o-=3)e=o!=s.length?0!==o?s.substring(o-3,o)+i+e:s.substring(o-3,o)+e:s.substring(o-3,o);void 0!==h[1]&&(e=e+c+h[1]),void 0!==r&&0<r&&"0"!=e&&(e=n.addZeroes(e,c,r))}return e=l+e,""===l&&!0===u&&0!==t&&(e="+"+e),!0===f&&(e+="%"),e},n.addZeroes=function(t,i,r){return t=t.split(i),void 0===t[1]&&0<r&&(t[1]="0"),t[1].length<r?(t[1]+="0",n.addZeroes(t[0]+i+t[1],i,r)):void 0!==t[1]?t[0]+i+t[1]:t[0]},n.scientificToNormal=function(n){var t,i,r;if(n=String(n).split("e"),"-"==n[1].substr(0,1)){for(t="0.",i=0;i<Math.abs(Number(n[1]))-1;i++)t+="0";t+=n[0].split(".").join("")}else for(r=0,t=n[0].split("."),t[1]&&(r=t[1].length),t=n[0].split(".").join(""),i=0;i<Math.abs(Number(n[1]))-r;i++)t+="0";return t},n.toScientific=function(n,t){if(0===n)return"0";var r=Math.floor(Math.log(Math.abs(n))*Math.LOG10E),i=String(i).split(".").join(t);return String(i)+"e"+r},n.randomColor=function(){return"#"+("00000"+(16777216*Math.random()<<0).toString(16)).substr(-6)},n.hitTest=function(t,i,r){var u=!1,e=t.x,o=t.x+t.width,s=t.y,h=t.y+t.height,f=n.isInRectangle;return u||(u=f(e,s,i)),u||(u=f(e,h,i)),u||(u=f(o,s,i)),u||(u=f(o,h,i)),u||!0===r||(u=n.hitTest(i,t,!0)),u},n.isInRectangle=function(n,t,i){return n>=i.x-5&&n<=i.x+i.width+5&&t>=i.y-5&&t<=i.y+i.height+5?!0:!1},n.isPercents=function(n){if(-1!=String(n).indexOf("%"))return!0},n.findPosX=function(n){var t=n,i=n.offsetLeft;if(n.offsetParent){for(;n=n.offsetParent;)i+=n.offsetLeft;for(;(t=t.parentNode)&&t!=document.body;)i-=t.scrollLeft||0}return i},n.findPosY=function(n){var t=n,i=n.offsetTop;if(n.offsetParent){for(;n=n.offsetParent;)i+=n.offsetTop;for(;(t=t.parentNode)&&t!=document.body;)i-=t.scrollTop||0}return i},n.findIfFixed=function(t){if(t.offsetParent)for(;t=t.offsetParent;)if("fixed"==n.getStyle(t,"position"))return!0;return!1},n.findIfAuto=function(t){return t.style&&"auto"==n.getStyle(t,"overflow")?!0:t.parentNode?n.findIfAuto(t.parentNode):!1},n.findScrollLeft=function(t,i){return t.scrollLeft&&(i+=t.scrollLeft),t.parentNode?n.findScrollLeft(t.parentNode,i):i},n.findScrollTop=function(t,i){return t.scrollTop&&(i+=t.scrollTop),t.parentNode?n.findScrollTop(t.parentNode,i):i},n.formatValue=function(t,i,r,u,f,e,o,s){var c,l,h;if(i)for(void 0===f&&(f=""),c=0;c<r.length;c++)l=r[c],h=i[l],void 0!==h&&(h=e?n.addPrefix(h,s,o,u):n.formatNumber(h,u),t=t.replace(new RegExp("\\[\\["+f+""+l+"\\]\\]","g"),h));return t},n.formatDataContextValue=function(n,t){var u,r,i;if(n)for(u=n.match(/\[\[.*?\]\]/g),r=0;r<u.length;r++)i=u[r],i=i.substr(2,i.length-4),void 0!==t[i]&&(n=n.replace(new RegExp("\\[\\["+i+"\\]\\]","g"),t[i]));return n},n.massReplace=function(n,t){var i,r;for(i in t)t.hasOwnProperty(i)&&(r=t[i],void 0===r&&(r=""),n=n.replace(i,r));return n},n.cleanFromEmpty=function(n){return n.replace(/\[\[[^\]]*\]\]/g,"")},n.addPrefix=function(t,i,r,u,f){var h=n.formatNumber(t,u),c="",e,o,s;if(0===t)return"0";if(0>t&&(c="-"),t=Math.abs(t),1<t){for(e=i.length-1;-1<e;e--)if(t>=i[e].number&&(o=t/i[e].number,s=Number(u.precision),1>s&&(s=1),r=n.roundTo(o,s),s=n.formatNumber(r,{precision:-1,decimalSeparator:u.decimalSeparator,thousandsSeparator:u.thousandsSeparator}),!f||o==r)){h=c+""+s+""+i[e].prefix;break}}else for(e=0;e<r.length;e++)if(t<=r[e].number){o=t/r[e].number,s=Math.abs(Math.round(Math.log(o)*Math.LOG10E)),o=n.roundTo(o,s),h=c+""+o+""+r[e].prefix;break}return h},n.remove=function(n){n&&n.remove()},n.getEffect=function(n){return">"==n&&(n="easeOutSine"),"<"==n&&(n="easeInSine"),"elastic"==n&&(n="easeOutElastic"),n},n.getObjById=function(n,t){for(var u,r,i=0;i<n.length;i++)r=n[i],r.id==t&&(u=r);return u},n.applyTheme=function(t,i,r){i||(i=n.theme),i&&i[r]&&n.extend(t,i[r])},n.isString=function(n){return"string"==typeof n?!0:!1},n.extend=function(n,t,i){var r;n||(n={});for(r in t)i?n.hasOwnProperty(r)||(n[r]=t[r]):n[r]=t[r];return n},n.copyProperties=function(n,t){for(var i in n)n.hasOwnProperty(i)&&"events"!=i&&void 0!==n[i]&&"function"!=typeof n[i]&&"cname"!=i&&(t[i]=n[i])},n.processObject=function(t,i,r,u){return!1==t instanceof i&&(t=u?n.extend(new i(r),t):n.extend(t,new i(r),!0)),t},n.fixNewLines=function(n){var t=RegExp("\\n","g");return n&&(n=n.replace(t,"<br />")),n},n.fixBrakes=function(t){if(n.isModern){var i=RegExp("<br>","g");t&&(t=t.replace(i,"\n"))}else t=n.fixNewLines(t);return t},n.deleteObject=function(t,i){if(t&&((void 0===i||null===i)&&(i=20),0!==i))if("[object Array]"===Object.prototype.toString.call(t))for(var r=0;r<t.length;r++)n.deleteObject(t[r],i-1),t[r]=null;else if(t&&!t.tagName)try{for(r in t)t[r]&&("object"==typeof t[r]&&n.deleteObject(t[r],i-1),"function"!=typeof t[r]&&(t[r]=null))}catch(u){}},n.bounce=function(n,t,i,r,u){return(t/=u)<1/2.75?7.5625*r*t*t+i:t<2/2.75?r*(7.5625*(t-=1.5/2.75)*t+.75)+i:t<2.5/2.75?r*(7.5625*(t-=2.25/2.75)*t+.9375)+i:r*(7.5625*(t-=2.625/2.75)*t+.984375)+i},n.easeInSine=function(n,t,i,r,u){return-r*Math.cos(t/u*(Math.PI/2))+r+i},n.easeOutSine=function(n,t,i,r,u){return r*Math.sin(t/u*(Math.PI/2))+i},n.easeOutElastic=function(n,t,i,r,u){n=1.70158;var f=0,e=r;return 0===t?i:1==(t/=u)?i+r:(f||(f=.3*u),e<Math.abs(r)?(e=r,n=f/4):n=f/(2*Math.PI)*Math.asin(r/e),e*Math.pow(2,-10*t)*Math.sin(2*(t*u-n)*Math.PI/f)+r+i)},n.fixStepE=function(t){t=t.toExponential(0).split("e");var i=Number(t[1]);return 9==Number(t[0])&&i++,n.generateNumber(1,i)},n.generateNumber=function(n,t){for(var i="",u=0>t?Math.abs(t)-1:Math.abs(t),r=0;r<u;r++)i+="0";return 0>t?Number("0."+i+String(n)):Number(String(n)+i)},n.setCN=function(n,t,i,r){if(n.addClassNames&&t&&(t=t.node)&&i){var u=t.getAttribute("class");n=n.classNamePrefix+"-",r&&(n=""),u?t.setAttribute("class",u+" "+n+i):t.setAttribute("class",n+i)}},n.parseDefs=function(t,i){var r,u,f;for(r in t)if(u=typeof t[r],0<t[r].length&&"object"==u)for(f=0;f<t[r].length;f++)u=document.createElementNS(n.SVG_NS,r),i.appendChild(u),n.parseDefs(t[r][f],u);else"object"==u?(u=document.createElementNS(n.SVG_NS,r),i.appendChild(u),n.parseDefs(t[r],u)):i.setAttribute(r,t[r])}}(),function(){var n=window.AmCharts;n.AxisBase=n.Class({construct:function(t){this.createEvents("clickItem","rollOverItem","rollOutItem"),this.viY=this.viX=this.y=this.x=this.dy=this.dx=0,this.axisThickness=1,this.axisColor="#000000",this.axisAlpha=1,this.gridCount=this.tickLength=5,this.gridAlpha=.15,this.gridThickness=1,this.gridColor="#000000",this.dashLength=0,this.labelFrequency=1,this.showLastLabel=this.showFirstLabel=!0,this.fillColor="#FFFFFF",this.fillAlpha=0,this.labelsEnabled=!0,this.labelRotation=0,this.autoGridCount=!0,this.offset=0,this.guides=[],this.visible=!0,this.counter=0,this.guides=[],this.ignoreAxisWidth=this.inside=!1,this.minHorizontalGap=75,this.minVerticalGap=35,this.titleBold=!0,this.minorGridEnabled=!1,this.minorGridAlpha=.07,this.autoWrap=!1,this.titleAlign="middle",this.labelOffset=0,this.bcn="axis-",this.periods=[{period:"ss",count:1},{period:"ss",count:5},{period:"ss",count:10},{period:"ss",count:30},{period:"mm",count:1},{period:"mm",count:5},{period:"mm",count:10},{period:"mm",count:30},{period:"hh",count:1},{period:"hh",count:3},{period:"hh",count:6},{period:"hh",count:12},{period:"DD",count:1},{period:"DD",count:2},{period:"DD",count:3},{period:"DD",count:4},{period:"DD",count:5},{period:"WW",count:1},{period:"MM",count:1},{period:"MM",count:2},{period:"MM",count:3},{period:"MM",count:6},{period:"YYYY",count:1},{period:"YYYY",count:2},{period:"YYYY",count:5},{period:"YYYY",count:10},{period:"YYYY",count:50},{period:"YYYY",count:100}],this.dateFormats=[{period:"fff",format:"JJ:NN:SS"},{period:"ss",format:"JJ:NN:SS"},{period:"mm",format:"JJ:NN"},{period:"hh",format:"JJ:NN"},{period:"DD",format:"MMM DD"},{period:"WW",format:"MMM DD"},{period:"MM",format:"MMM"},{period:"YYYY",format:"YYYY"}],this.nextPeriod={fff:"ss",ss:"mm",mm:"hh",hh:"DD",DD:"MM",MM:"YYYY"},n.applyTheme(this,t,"AxisBase")},zoom:function(n,t){this.start=n,this.end=t,this.dataChanged=!0,this.draw()},fixAxisPosition:function(){var n=this.position;"H"==this.orientation?("left"==n&&(n="bottom"),"right"==n&&(n="top")):("bottom"==n&&(n="left"),"top"==n&&(n="right")),this.position=n},draw:function(){var n=this.chart,t,i;this.allLabels=[],this.counter=0,this.destroy(),this.fixAxisPosition(),this.labels=[],t=n.container,i=t.set(),n.gridSet.push(i),this.set=i,t=t.set(),n.axesLabelsSet.push(t),this.labelsSet=t,this.axisLine=new this.axisRenderer(this),this.autoGridCount?("V"==this.orientation?(n=this.height/this.minVerticalGap,3>n&&(n=3)):n=this.width/this.minHorizontalGap,this.gridCountR=Math.max(n,1)):this.gridCountR=this.gridCount,this.axisWidth=this.axisLine.axisWidth,this.addTitle()},setOrientation:function(n){this.orientation=n?"H":"V"},addTitle:function(){var i=this.title,t,r,u;this.titleLabel=null,i&&(t=this.chart,r=this.titleColor,void 0===r&&(r=t.color),u=this.titleFontSize,isNaN(u)&&(u=t.fontSize+1),i=n.text(t.container,i,r,t.fontFamily,u,this.titleAlign,this.titleBold),n.setCN(t,i,this.bcn+"title"),this.titleLabel=i)},positionTitle:function(){var f=this.titleLabel,i,e,t,r,o;if(f){r=this.labelsSet,t={},0<r.length()?t=r.getBBox():(t.x=0,t.y=0,t.width=this.viW,t.height=this.viH,n.VML&&(t.y+=this.y,t.x+=this.x)),r.push(f),r=t.x,o=t.y,n.VML&&(this.rotate?r-=this.x:o-=this.y);var v=t.width,t=t.height,s=this.viW,h=this.viH,c=0,l=f.getBBox().height/2,a=this.inside,u=this.titleAlign;switch(this.position){case"top":i="left"==u?-1:"right"==u?s:s/2,e=o-10-l;break;case"bottom":i="left"==u?-1:"right"==u?s:s/2,e=o+t+10+l;break;case"left":i=r-10-l,a&&(i-=5),e="left"==u?h+1:"right"==u?-1:h/2,c=-90;break;case"right":i=r+v+10+l-3,a&&(i+=7),e="left"==u?h+2:"right"==u?-2:h/2,c=-90}this.marginsChanged?(f.translate(i,e),this.tx=i,this.ty=e):f.translate(this.tx,this.ty),this.marginsChanged=!1,0!==c&&f.rotate(c)}},pushAxisItem:function(n,t){var r=this,i=n.graphics();0<i.length()&&(t?r.labelsSet.push(i):r.set.push(i)),(i=n.getLabel())&&(this.labelsSet.push(i),i.click(function(t){r.handleMouse(t,n,"clickItem")}).mouseover(function(t){r.handleMouse(t,n,"rollOverItem")}).mouseout(function(t){r.handleMouse(t,n,"rollOutItem")}))},handleMouse:function(n,t,i){this.fire(i,{type:i,value:t.value,serialDataItem:t.serialDataItem,axis:this,target:t.label,chart:this.chart,event:n})},addGuide:function(t){for(var i=this.guides,u=!1,f=i.length,r=0;r<i.length;r++)i[r]==t&&(u=!0,f=r);t=n.processObject(t,n.Guide,this.theme),t.id||(t.id="guideAuto"+f+"_"+ +new Date),u||i.push(t)},removeGuide:function(n){for(var i=this.guides,t=0;t<i.length;t++)i[t]==n&&i.splice(t,1)},handleGuideOver:function(n){clearTimeout(this.chart.hoverInt);var t=n.graphics.getBBox(),r=t.x+t.width/2,t=t.y+t.height/2,i=n.fillColor;void 0===i&&(i=n.lineColor),this.chart.showBalloon(n.balloonText,i,!0,r,t)},handleGuideOut:function(){this.chart.hideBalloon()},addEventListeners:function(n,t){var i=this;n.mouseover(function(){i.handleGuideOver(t)}),n.touchstart(function(){i.handleGuideOver(t)}),n.mouseout(function(){i.handleGuideOut(t)})},getBBox:function(){var t=this.labelsSet.getBBox();return n.VML||(t={x:t.x+this.x,y:t.y+this.y,width:t.width,height:t.height}),t},destroy:function(){n.remove(this.set),n.remove(this.labelsSet);var t=this.axisLine;t&&n.remove(t.set),n.remove(this.grid0)},chooseMinorFrequency:function(n){for(var t=10;0<t;t--)if(n/t==Math.round(n/t))return n/t},parseDatesDraw:function(){var h,rt=this.chart,it=this.showFirstLabel,tt=this.showLastLabel,e,t="",r=n.extractPeriod(this.minPeriod),c=n.getPeriodDuration(r.period,r.count),o,v,d,l,i,y=this.firstDayOfWeek,g=this.boldPeriodBeginning,p,b,w;h=this.minorGridEnabled;var a,nt=this.gridAlpha,k,s=this.choosePeriod(0),f=s.period,s=s.count,u=n.getPeriodDuration(f,s);if(u<c&&(f=r.period,s=r.count,u=c),r=f,"WW"==r&&(r="DD"),this.stepWidth=this.getStepWidth(this.timeDifference),p=Math.ceil(this.timeDifference/u)+5,b=o=n.resetDateToMin(new Date(this.startTime-u),f,s,y).getTime(),r==f&&1==s&&this.centerLabelOnFullPeriod&&(d=u*this.stepWidth),this.cellWidth=c*this.stepWidth,l=Math.round(o/u),c=-1,l/2==Math.round(l/2)&&(c=-2,o-=u),l=this.firstTime,w=0,h&&1<s&&(a=this.chooseMinorFrequency(s),k=n.getPeriodDuration(f,a)),0<this.gridCountR)for(h=c;h<=p;h++){if(i=l+u*(h+Math.floor((b-l)/u))-w,"DD"==f&&(i+=36e5),i=n.resetDateToMin(new Date(i),f,s,y).getTime(),"MM"==f&&(e=(i-o)/u,1.5<=(i-o)/u&&(i=i-(e-1)*u+n.getPeriodDuration("DD",3),i=n.resetDateToMin(new Date(i),f,1).getTime(),w+=u)),e=(i-this.startTime)*this.stepWidth,e=this.rotate?e+(this.x-this.viX):"date"==this.type?this.axisWidth-e+(this.y-this.viY):e+(this.y-this.viY),t=!1,this.nextPeriod[r]&&(t=this.checkPeriodChange(this.nextPeriod[r],1,i,o,r)),o=!1,t&&this.markPeriodChange?(t=this.dateFormatsObject[this.nextPeriod[r]],this.twoLineMode&&(t=this.dateFormatsObject[r]+"\n"+t,t=n.fixBrakes(t)),o=!0):t=this.dateFormatsObject[r],g||(o=!1),this.currentDateFormat=t,t=n.formatDate(new Date(i),t,rt),(h!=c||it)&&(h!=p||tt)||(t=" "),this.labelFunction&&(t=this.labelFunction(t,new Date(i),this,f,s,v).toString()),this.boldLabels&&(o=!0),v=new this.axisItemRenderer(this,e,t,!1,d,0,!1,o),this.pushAxisItem(v),v=o=i,!isNaN(a))for(e=1;e<s;e+=a)this.gridAlpha=this.minorGridAlpha,t=i+k*e,t=n.resetDateToMin(new Date(t),f,a,y).getTime(),t=new this.axisItemRenderer(this,(t-this.startTime)*this.stepWidth,void 0,void 0,void 0,void 0,void 0,void 0,void 0,!0),this.pushAxisItem(t);this.gridAlpha=nt}},choosePeriod:function(t){var r=n.getPeriodDuration(this.periods[t].period,this.periods[t].count),u=Math.ceil(this.timeDifference/r),i=this.periods;return this.timeDifference<r&&0<t?i[t-1]:u<=this.gridCountR?i[t]:t+1<i.length?this.choosePeriod(t+1):i[t]},getStepWidth:function(n){var t;return this.startOnAxis?(t=this.axisWidth/(n-1),1==n&&(t=this.axisWidth)):t=this.axisWidth/n,t},timeZoom:function(n,t){this.startTime=n,this.endTime=t},minDuration:function(){var t=n.extractPeriod(this.minPeriod);return n.getPeriodDuration(t.period,t.count)},checkPeriodChange:function(t,i,r,u,f){r=new Date(r);var o=new Date(u),e=this.firstDayOfWeek;return u=i,"DD"==t&&(i=1),r=n.resetDateToMin(r,t,i,e).getTime(),i=n.resetDateToMin(o,t,i,e).getTime(),"DD"==t&&"hh"!=f&&r-i<=n.getPeriodDuration(t,u)?!1:r!=i?!0:!1},generateDFObject:function(){var n,t;for(this.dateFormatsObject={},n=0;n<this.dateFormats.length;n++)t=this.dateFormats[n],this.dateFormatsObject[t.period]=t.format}})}(),function(){var n=window.AmCharts;n.ValueAxis=n.Class({inherits:n.AxisBase,construct:function(t){this.cname="ValueAxis",this.createEvents("axisChanged","logarithmicAxisFailed","axisSelfZoomed","axisZoomed"),n.ValueAxis.base.construct.call(this,t),this.dataChanged=!0,this.stackType="none",this.position="left",this.unitPosition="right",this.recalculateToPercents=this.includeHidden=this.includeGuidesInMinMax=this.integersOnly=!1,this.durationUnits={DD:"d. ",hh:":",mm:":",ss:""},this.scrollbar=!1,this.baseValue=0,this.radarCategoriesEnabled=!0,this.gridType="polygons",this.useScientificNotation=!1,this.axisTitleOffset=10,this.minMaxMultiplier=1,this.logGridLimit=2,this.totalTextOffset=this.treatZeroAs=0,this.minPeriod="ss",n.applyTheme(this,t,this.cname)},updateData:function(){0>=this.gridCountR&&(this.gridCountR=1),this.totals=[],this.data=this.chart.chartData;var t=this.chart;"xy"!=t.type&&(this.stackGraphs("smoothedLine"),this.stackGraphs("line"),this.stackGraphs("column"),this.stackGraphs("step")),this.recalculateToPercents&&this.recalculate(),this.synchronizationMultiplier&&this.synchronizeWith?(n.isString(this.synchronizeWith)&&(this.synchronizeWith=t.getValueAxisById(this.synchronizeWith)),this.synchronizeWith&&(this.synchronizeWithAxis(this.synchronizeWith),this.foundGraphs=!0)):(this.foundGraphs=!1,this.getMinMax())},draw:function(){var u,g,f,w,o,l,e,b,r,c,y,h,a,v,d,tt,p,s;if(n.ValueAxis.base.draw.call(this),u=this.chart,g=this.set,n.setCN(u,this.set,"value-axis value-axis-"+this.id),n.setCN(u,this.labelsSet,"value-axis value-axis-"+this.id),n.setCN(u,this.axisLine.axisSet,"value-axis value-axis-"+this.id),f=this.type,"duration"==f&&(this.duration="ss"),!0===this.dataChanged&&(this.updateData(),this.dataChanged=!1),"date"==f&&(this.logarithmic=!1,this.min=this.minRR,this.max=this.maxRR,this.minimumDate&&(this.min=this.minimumDate.getTime()),this.maximumDate&&(this.max=this.maximumDate.getTime())),this.logarithmic&&(w=this.treatZeroAs,o=this.getMin(0,this.data.length-1),this.minReal<o&&(this.minReal=o),isNaN(this.minReal)&&(this.minReal=o),0<w&&0===o&&(this.minReal=o=w),0>=o||0>=this.minimum)){this.fire("logarithmicAxisFailed",{type:"logarithmicAxisFailed",chart:u});return}this.grid0=null;var t,i,rt=u.dx,ut=u.dy,w=!1,o=this.logarithmic;if(isNaN(this.min)||isNaN(this.max)||!this.foundGraphs||Infinity==this.min||-Infinity==this.max)w=!0;else{var ft=this.labelFrequency,et=this.showFirstLabel,ot=this.showLastLabel,it=1;if(t=0,this.minCalc=this.min,this.maxCalc=this.max,this.strictMinMax&&(isNaN(this.minimum)||(this.min=this.minimum),isNaN(this.maximum)||(this.max=this.maximum)),isNaN(this.minZoom)||(this.min=this.minZoom),isNaN(this.maxZoom)||(this.max=this.maxZoom),l=Math.round((this.maxCalc-this.minCalc)/this.step)+1,!0===o?(e=Math.log(this.max)*Math.LOG10E-Math.log(this.minReal)*Math.LOG10E,this.stepWidth=this.axisWidth/e,e>this.logGridLimit&&(l=Math.ceil(Math.log(this.max)*Math.LOG10E)+1,t=Math.round(Math.log(this.minReal)*Math.LOG10E),l>this.gridCountR&&(it=Math.ceil(l/this.gridCountR)))):this.stepWidth=this.axisWidth/(this.max-this.min),h=0,1>this.step&&-1<this.step&&(h=n.getDecimals(this.step)),this.integersOnly&&(h=0),h>this.maxDecCount&&(h=this.maxDecCount),b=this.precision,isNaN(b)||(h=b),this.max=n.roundTo(this.max,this.maxDecCount),this.min=n.roundTo(this.min,this.maxDecCount),i={},i.precision=h,i.decimalSeparator=u.nf.decimalSeparator,i.thousandsSeparator=u.nf.thousandsSeparator,this.numberFormatter=i,v=this.guides,c=v.length,0<c){for(p=this.fillAlpha,i=this.fillAlpha=0;i<c;i++){var s=v[i],k=NaN,nt=s.above;isNaN(s.toValue)||(k=this.getCoordinate(s.toValue),r=new this.axisItemRenderer(this,k,"",!0,NaN,NaN,s),this.pushAxisItem(r,nt)),y=NaN,isNaN(s.value)||(y=this.getCoordinate(s.value),r=new this.axisItemRenderer(this,y,s.label,!0,NaN,(k-y)/2,s),this.pushAxisItem(r,nt)),isNaN(k-y)||(r=new this.guideFillRenderer(this,y,k,s),this.pushAxisItem(r,nt),r=r.graphics(),s.graphics=r,s.balloonText&&this.addEventListeners(r,s))}this.fillAlpha=p}for(this.exponential=!1,i=t;i<l;i+=it)v=n.roundTo(this.step*i+this.min,h),-1!=String(v).indexOf("e")&&(this.exponential=!0);if(this.duration&&(this.maxInterval=n.getMaxInterval(this.max,this.duration)),h=this.step,v=this.minorGridAlpha,this.minorGridEnabled&&(a=this.getMinorGridStep(h,this.stepWidth*h)),"date"==f)this.generateDFObject(),this.timeDifference=this.max-this.min,this.maxTime=this.lastTime=this.max,this.startTime=this.firstTime=this.min,this.parseDatesDraw();else for(i=t;i<l;i+=it)if((f=h*i+this.minCalc,o&&this.max-this.min>10*this.min&&(f-=this.min),f=n.roundTo(f,this.maxDecCount+1),!this.integersOnly||Math.round(f)==f)&&(isNaN(b)||Number(n.toFixed(f,b))==f)&&(!0===o&&(0===f&&(f=this.minReal),e>this.logGridLimit&&(f=Math.pow(10,i))),r=this.formatValue(f,!1,i),Math.round(i/ft)!=i/ft&&(r=void 0),(0!==i||et)&&(i!=l-1||ot)||(r=" "),t=this.getCoordinate(f),r=new this.axisItemRenderer(this,t,r,void 0,void 0,void 0,void 0,this.boldLabels),this.pushAxisItem(r),f==this.baseValue&&"radar"!=u.type&&(p=this.viW,s=this.viH,r=this.viX,c=this.viY,"H"==this.orientation?0<=t&&t<=p+1&&(d=[t,t,t+rt],tt=[s,0,ut]):0<=t&&t<=s+1&&(d=[0,p,p+rt],tt=[t,t,t+ut]),d&&(t=n.fitToBounds(2*this.gridAlpha,0,1),t=n.line(u.container,d,tt,this.gridColor,t,1,this.dashLength),t.translate(r,c),this.grid0=t,u.axesSet.push(t),t.toBack(),n.setCN(u,t,this.bcn+"zero-grid-"+this.id),n.setCN(u,t,this.bcn+"zero-grid"))),!isNaN(a)&&0<v&&i<l-1)){for(t=this.gridAlpha,this.gridAlpha=this.minorGridAlpha,r=1;r<h/a;r++)c=this.getCoordinate(f+a*r),c=new this.axisItemRenderer(this,c,"",!1,0,0,!1,!1,0,!0),this.pushAxisItem(c);this.gridAlpha=t}e=this.baseValue,this.min>this.baseValue&&this.max>this.baseValue&&(e=this.min),this.min<this.baseValue&&this.max<this.baseValue&&(e=this.max),o&&e<this.minReal&&(e=this.minReal),this.baseCoord=this.getCoordinate(e),e={type:"axisChanged",target:this,chart:u},e.min=o?this.minReal:this.min,e.max=this.max,this.fire("axisChanged",e),this.axisCreated=!0}o=this.axisLine.set,e=this.labelsSet,this.positionTitle(),"radar"!=u.type?(u=this.viX,a=this.viY,g.translate(u,a),e.translate(u,a)):o.toFront(),!this.visible||w?(g.hide(),o.hide(),e.hide()):(g.show(),o.show(),e.show()),this.axisY=this.y-this.viY,this.axisX=this.x-this.viX},formatValue:function(t,i,r){var f=this.exponential,o=this.logarithmic,u=this.numberFormatter,e=this.chart;return!0===this.logarithmic&&(f=-1!=String(t).indexOf("e")?!0:!1),this.useScientificNotation&&(f=!0),this.usePrefixes&&(f=!1),f?(i=-1==String(t).indexOf("e")?t.toExponential(15):String(t),r=i.split("e"),i=Number(r[0]),r=Number(r[1]),i=n.roundTo(i,14),10==i&&(i=1,r+=1),i=i+"e"+r,0===t&&(i="0"),1==t&&(i="1")):(o&&(f=String(t).split("."),f[1]?(u.precision=f[1].length,0>r&&(u.precision=Math.abs(r)),i&&1<t&&(u.precision=0)):u.precision=-1),i=this.usePrefixes?n.addPrefix(t,e.prefixesOfBigNumbers,e.prefixesOfSmallNumbers,u,!i):n.formatNumber(t,u,u.precision)),this.duration&&(i=n.formatDuration(t,this.duration,"",this.durationUnits,this.maxInterval,u)),"date"==this.type&&(i=n.formatDate(new Date(t),this.currentDateFormat,e)),this.recalculateToPercents?i+="%":(u=this.unit)&&(i="left"==this.unitPosition?u+i:i+u),this.labelFunction&&(i=this.labelFunction(t,i,this).toString()),i},getMinorGridStep:function(n,t){var f=[5,4,2],e,u,i,r;for(60>t&&f.shift(),e=Math.floor(Math.log(Math.abs(n))*Math.LOG10E),u=0;u<f.length;u++)if(i=n/f[u],r=Math.floor(Math.log(Math.abs(i))*Math.LOG10E),!(0<Math.abs(e-r)))if(1>n){if(r=Math.pow(10,-r)*i,r==Math.round(r))return i}else if(i==Math.round(i))return i},stackGraphs:function(t){var h=this.stackType,p,l;"stacked"==h&&(h="regular"),"line"==h&&(h="none"),"100% stacked"==h&&(h="100%"),this.stackType=h;var c=[],e=[],o=[],a=[],f,v=this.chart.graphs,i,r,u,s,w=this.baseValue,y=!1;if(("line"==t||"step"==t||"smoothedLine"==t)&&(y=!0),y&&("regular"==h||"100%"==h))for(s=0;s<v.length;s++)u=v[s],u.hidden||(r=u.type,u.chart==this.chart&&u.valueAxis==this&&t==r&&u.stackable&&(i&&(u.stackGraph=i),i=u));for(i=this.start;i<=this.end;i++)for(p=0,s=0;s<v.length;s++)(u=v[s],u.hidden)?u.newStack&&(o[i]=NaN,e[i]=NaN):(r=u.type,u.chart==this.chart&&u.valueAxis==this&&t==r&&u.stackable)&&((r=this.data[i].axes[this.id].graphs[u.id],f=r.values.value,isNaN(f))?u.newStack&&(o[i]=NaN,e[i]=NaN):(l=n.getDecimals(f),p<l&&(p=l),isNaN(a[i])?a[i]=Math.abs(f):a[i]+=Math.abs(f),a[i]=n.roundTo(a[i],p),l=u.fillToGraph,y&&l&&(l=this.data[i].axes[this.id].graphs[l.id])&&(r.values.open=l.values.value),"regular"==h&&(y&&(isNaN(c[i])?(c[i]=f,r.values.close=f,r.values.open=this.baseValue):(r.values.close=isNaN(f)?c[i]:f+c[i],r.values.open=c[i],c[i]=r.values.close)),"column"==t&&(u.newStack&&(o[i]=NaN,e[i]=NaN),r.values.close=f,0>f?(r.values.close=f,isNaN(e[i])?r.values.open=w:(r.values.close+=e[i],r.values.open=e[i]),e[i]=r.values.close):(r.values.close=f,isNaN(o[i])?r.values.open=w:(r.values.close+=o[i],r.values.open=o[i]),o[i]=r.values.close)))));for(i=this.start;i<=this.end;i++)for(s=0;s<v.length;s++)(u=v[s],u.hidden)?u.newStack&&(o[i]=NaN,e[i]=NaN):(r=u.type,u.chart==this.chart&&u.valueAxis==this&&t==r&&u.stackable&&(r=this.data[i].axes[this.id].graphs[u.id],f=r.values.value,isNaN(f)||(c=f/a[i]*100,r.values.percents=c,r.values.total=a[i],u.newStack&&(o[i]=NaN,e[i]=NaN),"100%"==h&&(isNaN(e[i])&&(e[i]=0),isNaN(o[i])&&(o[i]=0),0>c?(r.values.close=n.fitToBounds(c+e[i],-100,100),r.values.open=e[i],e[i]=r.values.close):(r.values.close=n.fitToBounds(c+o[i],-100,100),r.values.open=o[i],o[i]=r.values.close)))))},recalculate:function(){for(var i=this.chart,l=i.graphs,u,f,t,e,o,s=0;s<l.length;s++)if(u=l[s],u.valueAxis==this){f="value",("candlestick"==u.type||"ohlc"==u.type)&&(f="open");var h,r,c=this.end+2,c=n.fitToBounds(this.end+1,0,this.data.length-1),e=this.start;if(0<e&&e--,r=this.start,u.compareFromStart&&(r=0),!isNaN(i.startTime)&&(t=i.categoryAxis)){var a=t.minDuration(),a=new Date(i.startTime+a/2),v=n.resetDateToMin(new Date(i.startTime),t.minPeriod).getTime();n.resetDateToMin(new Date(a),t.minPeriod).getTime()>v&&r++}for((t=i.recalculateFromDate)&&(t=n.getDate(t,i.dataDateFormat,"fff"),r=i.getClosestIndex(i.chartData,"time",t.getTime(),!0,0,i.chartData.length),c=i.chartData.length-1),t=r;t<=c&&(r=this.data[t].axes[this.id].graphs[u.id],h=r.values[f],isNaN(h));t++);for(this.recBaseValue=h,f=e;f<=c;f++){r=this.data[f].axes[this.id].graphs[u.id],r.percents={},e=r.values;for(o in e)r.percents[o]="percents"!=o?e[o]/h*100-100:e[o]}}},getMinMax:function(){for(var i=!1,u=this.chart,t=u.graphs,f,r=0;r<t.length;r++)f=t[r].type,("line"==f||"step"==f||"smoothedLine"==f)&&this.expandMinMax&&(i=!0);if(i&&(0<this.start&&this.start--,this.end<this.data.length-1&&this.end++),"serial"==u.type&&(!0!==u.categoryAxis.parseDates||i||this.end<this.data.length-1&&this.end++),i=this.minMaxMultiplier,this.min=this.getMin(this.start,this.end),this.max=this.getMax(),this.minRR=this.min,this.maxRR=this.max,i=(this.max-this.min)*(i-1),this.min-=i,this.max+=i,i=this.guides.length,this.includeGuidesInMinMax&&0<i)for(u=0;u<i;u++)t=this.guides[u],t.toValue<this.min&&(this.min=t.toValue),t.value<this.min&&(this.min=t.value),t.toValue>this.max&&(this.max=t.toValue),t.value>this.max&&(this.max=t.value);isNaN(this.minimum)||(this.min=this.minimum),isNaN(this.maximum)||(this.max=this.maximum),this.minimumDate&&(this.min=this.minimumDate.getTime()),this.maximumDate&&(this.max=this.maximumDate.getTime()),this.min>this.max&&(i=this.max,this.max=this.min,this.min=i),isNaN(this.minTemp)||(this.min=this.minTemp),isNaN(this.maxTemp)||(this.max=this.maxTemp),this.minReal=this.min,this.maxReal=this.max,0===this.min&&0===this.max&&(this.max=9),this.min>this.max&&(this.min=this.max-1),i=this.min,u=this.max,t=this.max-this.min,r=0===t?Math.pow(10,Math.floor(Math.log(Math.abs(this.max))*Math.LOG10E))/10:Math.pow(10,Math.floor(Math.log(Math.abs(t))*Math.LOG10E))/10,isNaN(this.maximum)&&isNaN(this.maxTemp)&&(this.max=Math.ceil(this.max/r)*r+r),isNaN(this.minimum)&&isNaN(this.minTemp)&&(this.min=Math.floor(this.min/r)*r-r),0>this.min&&0<=i&&(this.min=0),0<this.max&&0>=u&&(this.max=0),"100%"==this.stackType&&(this.min=0>this.min?-100:0,this.max=0>this.max?0:100),t=this.max-this.min,r=Math.pow(10,Math.floor(Math.log(Math.abs(t))*Math.LOG10E))/10,this.step=Math.ceil(t/this.gridCountR/r)*r,t=Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E)),t=n.fixStepE(t),r=Math.ceil(this.step/t),5<r&&(r=10),5>=r&&2<r&&(r=5),this.step=Math.ceil(this.step/(t*r))*t*r,1>t?(this.maxDecCount=Math.abs(Math.log(Math.abs(t))*Math.LOG10E),this.maxDecCount=Math.round(this.maxDecCount),this.step=n.roundTo(this.step,this.maxDecCount+1)):this.maxDecCount=0,this.min=this.step*Math.floor(this.min/this.step),this.max=this.step*Math.ceil(this.max/this.step),0>this.min&&0<=i&&(this.min=0),0<this.max&&0>=u&&(this.max=0),1<this.minReal&&1<this.max-this.minReal&&(this.minReal=Math.floor(this.minReal)),t=Math.pow(10,Math.floor(Math.log(Math.abs(this.minReal))*Math.LOG10E)),0===this.min&&(this.minReal=t),0===this.min&&1<this.minReal&&(this.minReal=1),0<this.min&&0<this.minReal-this.step&&(this.minReal=this.min+this.step<this.minReal?this.min+this.step:this.min),this.logarithmic&&(2<Math.log(u)*Math.LOG10E-Math.log(i)*Math.LOG10E?(this.minReal=this.min=Math.pow(10,Math.floor(Math.log(Math.abs(i))*Math.LOG10E)),this.max=Math.pow(10,Math.ceil(Math.log(Math.abs(u))*Math.LOG10E))):(u=Math.pow(10,Math.floor(Math.log(Math.abs(this.min))*Math.LOG10E))/10,i=Math.pow(10,Math.floor(Math.log(Math.abs(i))*Math.LOG10E))/10,u<i&&(this.minReal=this.min=10*i)))},getMin:function(n,t){for(var r,f,e,i,u,o,s=n;s<=t;s++){f=this.data[s].axes[this.id].graphs;for(e in f)if(f.hasOwnProperty(e)&&(i=this.chart.getGraphById(e),i.includeInMinMax&&(!i.hidden||this.includeHidden)))if(isNaN(r)&&(r=Infinity),this.foundGraphs=!0,i=f[e].values,this.recalculateToPercents&&(i=f[e].percents),this.minMaxField)u=i[this.minMaxField],u<r&&(r=u);else for(o in i)i.hasOwnProperty(o)&&"percents"!=o&&"total"!=o&&(u=i[o],u<r&&(r=u))}return r},getMax:function(){for(var t,r,u,n,i,f,e=this.start;e<=this.end;e++){r=this.data[e].axes[this.id].graphs;for(u in r)if(r.hasOwnProperty(u)&&(n=this.chart.getGraphById(u),n.includeInMinMax&&(!n.hidden||this.includeHidden)))if(isNaN(t)&&(t=-Infinity),this.foundGraphs=!0,n=r[u].values,this.recalculateToPercents&&(n=r[u].percents),this.minMaxField)i=n[this.minMaxField],i>t&&(t=i);else for(f in n)n.hasOwnProperty(f)&&"percents"!=f&&"total"!=f&&(i=n[f],i>t&&(t=i))}return t},dispatchZoomEvent:function(n,t){var i={type:"axisZoomed",startValue:n,endValue:t,target:this,chart:this.chart};this.fire(i.type,i)},zoomOut:function(){var n=this.chart;"xy"!=n.type&&(this.maxZoom=this.minZoom=void 0,n.updateAfterValueZoom())},zoomToValues:function(n,t){var i=this.chart;"xy"==i.type?(t<n&&(i=t,t=n,n=i),n<this.min&&(n=this.min),t>this.max&&(t=this.max),i={type:"axisSelfZoomed"},i.chart=this.chart,i.valueAxis=this,i.multiplier=this.axisWidth/Math.abs(this.getCoordinate(t)-this.getCoordinate(n)),i.startValue=n,i.endValue=t,i.position="V"==this.orientation?this.reversed?this.getCoordinate(n):this.getCoordinate(t):this.reversed?this.getCoordinate(t):this.getCoordinate(n),this.fire(i.type,i)):(this.minZoom=n,this.maxZoom=t,i.updateAfterValueZoom())},coordinateToValue:function(n){if(isNaN(n))return NaN;var i=this.axisWidth,t=this.stepWidth,u=this.reversed,f=this.rotate,r=this.min,e=this.minReal;return!0===this.logarithmic?Math.pow(10,(f?!0===u?(i-n)/t:n/t:!0===u?n/t:(i-n)/t)+Math.log(e)*Math.LOG10E):!0===u?f?r-(n-i)/t:n/t+r:f?n/t+r:r-(n-i)/t},getCoordinate:function(n){if(isNaN(n))return NaN;var t=this.rotate,f=this.reversed,r=this.axisWidth,i=this.stepWidth,u=this.min,e=this.minReal;return!0===this.logarithmic?(0===n&&(n=this.treatZeroAs),n=Math.log(n)*Math.LOG10E-Math.log(e)*Math.LOG10E,t=t?!0===f?r-i*n:i*n:!0===f?i*n:r-i*n):t=!0===f?t?r-i*(n-u):i*(n-u):t?i*(n-u):r-i*(n-u),t=this.rotate?t+(this.x-this.viX):t+(this.y-this.viY),1e7<Math.abs(t)&&(t=1e7*(t/Math.abs(t))),Math.round(t)},synchronizeWithAxis:function(n){this.synchronizeWith=n,this.listenTo(this.synchronizeWith,"axisChanged",this.handleSynchronization)},handleSynchronization:function(){if(this.synchronizeWith){n.isString(this.synchronizeWith)&&(this.synchronizeWith=this.chart.getValueAxisById(this.synchronizeWith));var i=this.synchronizeWith,t=i.min,u=i.max,i=i.step,r=this.synchronizationMultiplier;r&&(this.min=t*r,this.max=u*r,this.step=i*r,t=Math.pow(10,Math.floor(Math.log(Math.abs(this.step))*Math.LOG10E)),t=Math.abs(Math.log(Math.abs(t))*Math.LOG10E),this.maxDecCount=t=Math.round(t),this.draw())}}})}(),function(){var n=window.AmCharts;n.RecAxis=n.Class({construct:function(t){var f=t.chart,i=t.axisThickness,r=t.axisColor,c=t.axisAlpha,e=t.offset,l=t.dx,u=t.dy,o=t.viX,s=t.viY,h=t.viH,v=t.viW,a=f.container;"H"==t.orientation?(r=n.line(a,[0,v],[0,0],r,c,i),this.axisWidth=t.width,"bottom"==t.position?(u=i/2+e+h+s-1,i=o):(u=-i/2-e+s+u,i=l+o)):(this.axisWidth=t.height,"right"==t.position?(r=n.line(a,[0,0,-l],[0,h,h-u],r,c,i),u=s+u,i=i/2+e+l+v+o-1):(r=n.line(a,[0,0],[0,h],r,c,i),u=s,i=-i/2-e+o)),r.translate(i,u),i=f.container.set(),i.push(r),f.axesSet.push(i),n.setCN(f,r,t.bcn+"line"),this.axisSet=i,this.set=r}})}(),function(){var n=window.AmCharts;n.RecItem=n.Class({construct:function(t,i,r,u,f,e,o,s,h,c,l,a){var g,ii,k,bt,ot,pt,tt,w;i=Math.round(i),g=t.chart,this.value=r,void 0==r&&(r=""),h||(h=0),void 0==u&&(u=!0),ii=g.fontFamily,k=t.fontSize,void 0==k&&(k=g.fontSize),bt=t.color,void 0==bt&&(bt=g.color),void 0!==l&&(bt=l),ot=t.chart.container,pt=ot.set(),this.set=pt;var ct=t.axisThickness,hi=t.axisColor,ti=t.axisAlpha,y=t.tickLength,gt=t.gridAlpha,dt=t.gridThickness,ui=t.gridColor,ri=t.dashLength,si=t.fillColor,ni=t.fillAlpha,ci=t.labelsEnabled;l=t.labelRotation;var fi=t.counter,d=t.inside,ht=t.labelOffset,ft=t.dx,rt=t.dy,ei=t.orientation,lt=t.position,kt=t.previousCoord,it=t.viH,vt=t.viW,st=t.offset,ut,et;o?(void 0!==o.id&&(a=g.classNamePrefix+"-guide-"+o.id),ci=!0,isNaN(o.tickLength)||(y=o.tickLength),void 0!=o.lineColor&&(ui=o.lineColor),void 0!=o.color&&(bt=o.color),isNaN(o.lineAlpha)||(gt=o.lineAlpha),isNaN(o.dashLength)||(ri=o.dashLength),isNaN(o.lineThickness)||(dt=o.lineThickness),!0===o.inside&&(d=!0),isNaN(o.labelRotation)||(l=o.labelRotation),isNaN(o.fontSize)||(k=o.fontSize),o.position&&(lt=o.position),void 0!==o.boldLabel&&(s=o.boldLabel),isNaN(o.labelOffset)||(ht=o.labelOffset)):""===r&&(y=0),c&&!isNaN(t.minorTickLength)&&(y=t.minorTickLength),tt="start",f&&(tt="middle");var b=l*Math.PI/180,yt,at,p=0,v=0,wt=0,nt=yt=0,oi=0;"V"==ei&&(l=0),ci&&""!==r&&(w=t.autoWrap&&0===l?n.wrappedText(ot,r,bt,ii,k,tt,s,f,0):n.text(ot,r,bt,ii,k,tt,s),tt=w.getBBox(),nt=tt.width,oi=tt.height),"H"==ei?(0<=i&&i<=vt+1&&(0<y&&0<ti&&i+h<=vt+1&&(ut=n.line(ot,[i+h,i+h],[0,y],hi,ti,dt),pt.push(ut)),0<gt&&(et=n.line(ot,[i,i+ft,i+ft],[it,it+rt,rt],ui,gt,dt,ri),pt.push(et))),v=0,p=i,o&&90==l&&d&&(p-=k),!1===u?(tt="start",v="bottom"==lt?d?v+y:v-y:d?v-y:v+y,p+=3,f&&(p+=f/2-3,tt="middle"),0<l&&(tt="middle")):tt="middle",1==fi&&0<ni&&!o&&!c&&kt<vt&&(u=n.fitToBounds(i,0,vt),kt=n.fitToBounds(kt,0,vt),yt=u-kt,0<yt&&(at=n.rect(ot,yt,t.height,si,ni),at.translate(u-yt+ft,rt),pt.push(at))),"bottom"==lt?(v+=it+k/2+st,d?(0<l?(v=it-nt/2*Math.sin(b)-y-3,p+=nt/2*Math.cos(b)-2):0>l?(v=it+nt*Math.sin(b)-y-1,p+=-nt*Math.cos(b)-oi*Math.sin(b)-4):v-=y+k+3+3,v-=ht):(0<l?(v=it+nt/2*Math.sin(b)+y+3,p-=nt/2*Math.cos(b)):0>l?(v=it+y+3-nt/2*Math.sin(b)+2,p+=nt/2*Math.cos(b)):v+=y+ct+3+3,v+=ht)):(v+=rt+k/2-st,p+=ft,d?(0<l?(v=nt/2*Math.sin(b)+y+3,p-=nt/2*Math.cos(b)):v+=y+3,v+=ht):(0<l?(v=-(nt/2)*Math.sin(b)-y-6,p+=nt/2*Math.cos(b)):v-=y+k+3+ct+3,v-=ht)),"bottom"==lt?yt=(d?it-y-1:it+ct-1)+st:(wt=ft,yt=(d?rt:rt-y-ct+1)-st),e&&(p+=e),e=p,0<l&&(e+=nt/2*Math.cos(b)),w&&(k=0,d&&(k=nt/2*Math.cos(b)),e+k>vt+2||0>e))&&(w.remove(),w=null):(0<=i&&i<=it+1&&(0<y&&0<ti&&i+h<=it+1&&(ut=n.line(ot,[0,y],[i+h,i+h],hi,ti,dt),pt.push(ut)),0<gt&&(et=n.line(ot,[0,ft,vt+ft],[i,i+rt,i+rt],ui,gt,dt,ri),pt.push(et))),tt="end",(!0===d&&"left"==lt||!1===d&&"right"==lt)&&(tt="start"),v=i-k/2,1==fi&&0<ni&&!o&&!c&&(u=n.fitToBounds(i,0,it),kt=n.fitToBounds(kt,0,it),b=u-kt,at=n.polygon(ot,[0,t.width,t.width,0],[0,0,b,b],si,ni),at.translate(ft,u-b+rt),pt.push(at)),v+=k/2,"right"==lt?(p+=ft+vt+st,v+=rt,d?(e||(v-=k/2+3),p=p-(y+4)-ht):(p+=y+4+ct,v-=2,p+=ht)):d?(p+=y+4-st,e||(v-=k/2+3),o&&(p+=ft,v+=rt),p+=ht):(p+=-y-ct-6-st,v-=2,p-=ht),ut&&("right"==lt?(wt+=ft+st+vt,yt+=rt,wt=d?wt-ct:wt+ct):(wt-=st,d||(wt-=y+ct))),e&&(v+=e),d=-3,"right"==lt&&(d+=rt),w&&(v>it+1||v<d)&&(w.remove(),w=null)),ut&&(ut.translate(wt,yt),n.setCN(g,ut,t.bcn+"tick"),n.setCN(g,ut,a,!0),o&&n.setCN(g,ut,"guide")),!1===t.visible&&(ut&&ut.remove(),w&&(w.remove(),w=null)),w&&(w.attr({"text-anchor":tt}),w.translate(p,v),0!==l&&w.rotate(-l,t.chart.backgroundColor),t.allLabels.push(w),this.label=w,n.setCN(g,w,t.bcn+"label"),n.setCN(g,w,a,!0),o&&n.setCN(g,w,"guide")),et&&(n.setCN(g,et,t.bcn+"grid"),n.setCN(g,et,a,!0),o&&n.setCN(g,et,"guide")),at&&(n.setCN(g,at,t.bcn+"fill"),n.setCN(g,at,a,!0)),c?et&&n.setCN(g,et,t.bcn+"grid-minor"):(t.counter=0===fi?1:0,t.previousCoord=i),0===this.set.node.childNodes.length&&this.set.remove()},graphics:function(){return this.set},getLabel:function(){return this.label}})}(),function(){var n=window.AmCharts;n.RecFill=n.Class({construct:function(t,i,r,u){var c=t.dx,l=t.dy,f=t.orientation,h=0,o,e,s;r<i&&(e=i,i=r,r=e),o=u.fillAlpha,isNaN(o)&&(o=0),e=t.chart.container,s=u.fillColor,"V"==f?(i=n.fitToBounds(i,0,t.viH),r=n.fitToBounds(r,0,t.viH)):(i=n.fitToBounds(i,0,t.viW),r=n.fitToBounds(r,0,t.viW)),r-=i,isNaN(r)&&(r=4,h=2,o=0),0>r&&"object"==typeof s&&(s=s.join(",").split(",").reverse()),"V"==f?(f=n.rect(e,t.viW,r,s,o),f.translate(c,i-h+l)):(f=n.rect(e,r,t.viH,s,o),f.translate(i-h+c,l)),n.setCN(t.chart,f,"guide-fill"),u.id&&n.setCN(t.chart,f,"guide-fill-"+u.id),this.set=e.set([f])},graphics:function(){return this.set},getLabel:function(){}})}(),function(){var n=window.AmCharts;n.AmChart=n.Class({construct:function(t){this.theme=t,this.classNamePrefix="amcharts",this.addClassNames=!1,this.version="3.14.5",n.addChart(this),this.createEvents("dataUpdated","init","rendered","drawn","failed","resized"),this.height=this.width="100%",this.dataChanged=!0,this.chartCreated=!1,this.previousWidth=this.previousHeight=0,this.backgroundColor="#FFFFFF",this.borderAlpha=this.backgroundAlpha=0,this.color=this.borderColor="#000000",this.fontFamily="Verdana",this.fontSize=11,this.usePrefixes=!1,this.addCodeCredits=this.autoResize=!0,this.precision=-1,this.percentPrecision=2,this.decimalSeparator=".",this.thousandsSeparator=",",this.labels=[],this.allLabels=[],this.titles=[],this.marginRight=this.marginLeft=this.autoMarginOffset=0,this.timeOuts=[],this.creditsPosition="top-left";var r=document.createElement("div"),i=r.style;i.overflow="hidden",i.position="relative",i.textAlign="left",this.chartDiv=r,r=document.createElement("div"),i=r.style,i.overflow="hidden",i.position="relative",i.textAlign="left",this.legendDiv=r,this.titleHeight=0,this.hideBalloonTime=150,this.handDrawScatter=2,this.handDrawThickness=1,this.prefixesOfBigNumbers=[{number:1e3,prefix:"k"},{number:1e6,prefix:"M"},{number:1e9,prefix:"G"},{number:1e12,prefix:"T"},{number:1e15,prefix:"P"},{number:1e18,prefix:"E"},{number:1e21,prefix:"Z"},{number:1e24,prefix:"Y"}],this.prefixesOfSmallNumbers=[{number:1e-24,prefix:"y"},{number:1e-21,prefix:"z"},{number:1e-18,prefix:"a"},{number:1e-15,prefix:"f"},{number:1e-12,prefix:"p"},{number:1e-9,prefix:"n"},{number:1e-6,prefix:"μ"},{number:.001,prefix:"m"}],this.panEventsEnabled=!0,this.product="amcharts",this.animations=[],this.balloon=new n.AmBalloon(this.theme),this.balloon.chart=this,n.applyTheme(this,t,"AmChart")},drawChart:function(){this.drawBackground(),this.redrawLabels(),this.drawTitles(),this.brr()},drawBackground:function(){var r,u;n.remove(this.background);var i=this.container,t=this.backgroundColor,f=this.backgroundAlpha,e=this.set;n.isModern||0!==f||(f=.001),r=this.updateWidth(),this.realWidth=r,u=this.updateHeight(),this.realHeight=u,t=n.polygon(i,[0,r-1,r-1,0],[0,0,u-1,u-1],t,f,1,this.borderColor,this.borderAlpha),n.setCN(this,t,"bg"),this.background=t,e.push(t),(t=this.backgroundImage)&&(i=i.image(t,0,0,r,u),n.setCN(this,t,"bg-image"),this.bgImg=i,e.push(i))},drawTitles:function(){var e=this.titles,o,f,t,u,r,i;if(n.ifArray(e))for(o=20,f=0;f<e.length;f++)t=e[f],t=n.processObject(t,n.Title,this.theme),!1!==t.enabled&&(i=t.color,void 0===i&&(i=this.color),u=t.size,isNaN(u)&&(u=this.fontSize+2),isNaN(t.alpha),r=this.marginLeft,i=n.text(this.container,t.text,i,this.fontFamily,u),i.translate(r+(this.realWidth-this.marginRight-r)/2,o),i.node.style.pointerEvents="none",n.setCN(this,i,"title"),t.id&&n.setCN(this,i,"title-"+t.id),r=!0,void 0!==t.bold&&(r=t.bold),r&&i.attr({"font-weight":"bold"}),i.attr({opacity:t.alpha}),o+=u+6,this.freeLabelsSet.push(i))},write:function(t){var f,i,h;if(t="object"!=typeof t?document.getElementById(t):t){for(;t.firstChild;)t.removeChild(t.firstChild);this.div=t,t.style.overflow="hidden",t.style.textAlign="left";var u=this.chartDiv,o=this.legendDiv,r=this.legend,e=o.style,s=u.style;if(this.measure(),this.previousHeight=this.divRealHeight,this.previousWidth=this.divRealWidth,i=document.createElement("div"),f=i.style,f.position="relative",this.containerDiv=i,i.className=this.classNamePrefix+"-main-div",u.className=this.classNamePrefix+"-chart-div",t.appendChild(i),h=this.exportConfig,h&&n.AmExport&&!this.AmExport&&(this.AmExport=new n.AmExport(this,h)),this.amExport&&n.AmExport&&(this.AmExport=n.extend(this.amExport,new n.AmExport(this),!0)),this.AmExport&&this.AmExport.init&&this.AmExport.init(),r)if(r=this.addLegend(r,r.divId),r.enabled)switch(r.position){case"bottom":i.appendChild(u),i.appendChild(o);break;case"top":i.appendChild(o),i.appendChild(u);break;case"absolute":f.width=t.style.width,f.height=t.style.height,e.position="absolute",s.position="absolute",void 0!==r.left&&(e.left=r.left+"px"),void 0!==r.right&&(e.right=r.right+"px"),void 0!==r.top&&(e.top=r.top+"px"),void 0!==r.bottom&&(e.bottom=r.bottom+"px"),r.marginLeft=0,r.marginRight=0,i.appendChild(u),i.appendChild(o);break;case"right":f.width=t.style.width,f.height=t.style.height,e.position="relative",s.position="absolute",i.appendChild(u),i.appendChild(o);break;case"left":f.width=t.style.width,f.height=t.style.height,e.position="absolute",s.position="relative",i.appendChild(u),i.appendChild(o);break;case"outside":i.appendChild(u)}else i.appendChild(u);else i.appendChild(u);this.listenersAdded||(this.addListeners(),this.listenersAdded=!0),this.initChart()}},createLabelsSet:function(){n.remove(this.labelsSet),this.labelsSet=this.container.set(),this.freeLabelsSet.push(this.labelsSet)},initChart:function(){var t,i;window.AmCharts_path&&(this.path=window.AmCharts_path),void 0===this.path&&(this.path=n.getPath()),void 0===this.path&&(this.path="amcharts/"),this.path=n.normalizeUrl(this.path),void 0===this.pathToImages&&(this.pathToImages=this.path+"images/"),this.initHC||(n.callInitHandler(this),this.initHC=!0),this.renderFix(),n.applyLang(this.language,this),t=this.numberFormatter,t&&(isNaN(t.precision)||(this.precision=t.precision),void 0!==t.thousandsSeparator&&(this.thousandsSeparator=t.thousandsSeparator),void 0!==t.decimalSeparator&&(this.decimalSeparator=t.decimalSeparator)),(t=this.percentFormatter)&&!isNaN(t.precision)&&(this.percentPrecision=t.precision),this.nf={precision:this.precision,thousandsSeparator:this.thousandsSeparator,decimalSeparator:this.decimalSeparator},this.pf={precision:this.percentPrecision,thousandsSeparator:this.thousandsSeparator,decimalSeparator:this.decimalSeparator},this.divIsFixed=n.findIfFixed(this.chartDiv),this.destroy(),t=0,document.attachEvent&&!window.opera&&(t=1),this.dmouseX=this.dmouseY=0,i=document.getElementsByTagName("html")[0],i&&window.getComputedStyle&&(i=window.getComputedStyle(i,null))&&(this.dmouseY=n.removePx(i.getPropertyValue("margin-top")),this.dmouseX=n.removePx(i.getPropertyValue("margin-left"))),this.mouseMode=t,(t=this.container)?(t.container.innerHTML="",t.width=this.realWidth,t.height=this.realHeight,t.addDefs(this),this.chartDiv.appendChild(t.container)):t=new n.AmDraw(this.chartDiv,this.realWidth,this.realHeight,this),t.chart=this,n.VML||n.SVG?(t.handDrawn=this.handDrawn,t.handDrawScatter=this.handDrawScatter,t.handDrawThickness=this.handDrawThickness,this.container=t,this.set&&this.set.remove(),this.set=t.set(),this.gridSet&&this.gridSet.remove(),this.gridSet=t.set(),this.cursorLineSet&&this.cursorLineSet.remove(),this.cursorLineSet=t.set(),this.graphsBehindSet&&this.graphsBehindSet.remove(),this.graphsBehindSet=t.set(),this.bulletBehindSet&&this.bulletBehindSet.remove(),this.bulletBehindSet=t.set(),this.columnSet&&this.columnSet.remove(),this.columnSet=t.set(),this.graphsSet&&this.graphsSet.remove(),this.graphsSet=t.set(),this.trendLinesSet&&this.trendLinesSet.remove(),this.trendLinesSet=t.set(),this.axesSet&&this.axesSet.remove(),this.axesSet=t.set(),this.cursorSet&&this.cursorSet.remove(),this.cursorSet=t.set(),this.scrollbarsSet&&this.scrollbarsSet.remove(),this.scrollbarsSet=t.set(),this.bulletSet&&this.bulletSet.remove(),this.bulletSet=t.set(),this.freeLabelsSet&&this.freeLabelsSet.remove(),this.axesLabelsSet&&this.axesLabelsSet.remove(),this.axesLabelsSet=t.set(),this.freeLabelsSet=t.set(),this.balloonsSet&&this.balloonsSet.remove(),this.balloonsSet=t.set(),this.zoomButtonSet&&this.zoomButtonSet.remove(),this.zbSet&&(this.zbSet.remove(),this.zbSet=null),this.zoomButtonSet=t.set(),this.linkSet&&this.linkSet.remove(),this.linkSet=t.set()):this.fire("failed",{type:"failed",chart:this})},premeasure:function(){var n=this.div,t,i;n&&(t=n.offsetWidth,i=n.offsetHeight,n.clientHeight&&(t=n.clientWidth,i=n.clientHeight),(t!=this.mw||i!=this.mh)&&(this.mw=t,this.mh=i,this.measure()))},measure:function(){var t=this.div;if(t){var f=this.chartDiv,r=t.offsetWidth,u=t.offsetHeight,e=this.container;t.clientHeight&&(r=t.clientWidth,u=t.clientHeight);var i=n.removePx(n.getStyle(t,"padding-left")),o=n.removePx(n.getStyle(t,"padding-right")),s=n.removePx(n.getStyle(t,"padding-top")),h=n.removePx(n.getStyle(t,"padding-bottom"));isNaN(i)||(r-=i),isNaN(o)||(r-=o),isNaN(s)||(u-=s),isNaN(h)||(u-=h),i=t.style,t=i.width,i=i.height,-1!=t.indexOf("px")&&(r=n.removePx(t)),-1!=i.indexOf("px")&&(u=n.removePx(i)),u=Math.round(u),r=Math.round(r),t=Math.round(n.toCoordinate(this.width,r)),i=Math.round(n.toCoordinate(this.height,u)),(r!=this.previousWidth||u!=this.previousHeight)&&0<t&&0<i&&(f.style.width=t+"px",f.style.height=i+"px",e&&e.setSize(t,i),this.balloon=n.processObject(this.balloon,n.AmBalloon,this.theme),this.balloon.setBounds(2,2,t-2,i)),this.balloon.chart=this,this.realWidth=t,this.realHeight=i,this.divRealWidth=r,this.divRealHeight=u}},destroy:function(){this.chartDiv.innerHTML="",this.clearTimeOuts(),this.legend&&this.legend.destroy()},clearTimeOuts:function(){var t=this.timeOuts,n;if(t)for(n=0;n<t.length;n++)clearTimeout(t[n]);this.timeOuts=[]},clear:function(t){if(n.callMethod("clear",[this.chartScrollbar,this.scrollbarV,this.scrollbarH,this.chartCursor]),this.chartCursor=this.scrollbarH=this.scrollbarV=this.chartScrollbar=null,this.clearTimeOuts(),this.container&&(this.container.remove(this.chartDiv),this.container.remove(this.legendDiv)),t||n.removeChart(this),t=this.div)for(;t.firstChild;)t.removeChild(t.firstChild);this.legend&&this.legend.destroy()},setMouseCursor:function(t){"auto"==t&&n.isNN&&(t="default"),this.chartDiv.style.cursor=t,this.legendDiv.style.cursor=t},redrawLabels:function(){var t,n;for(this.labels=[],t=this.allLabels,this.createLabelsSet(),n=0;n<t.length;n++)this.drawLabel(t[n])},drawLabel:function(t){if(this.container&&!1!==t.enabled){t=n.processObject(t,n.Label,this.theme);var u=t.y,i=t.text,r=t.align,o=t.size,s=t.color,f=t.rotation,h=t.alpha,c=t.bold,e=n.toCoordinate(t.x,this.realWidth),u=n.toCoordinate(u,this.realHeight);e||(e=0),u||(u=0),void 0===s&&(s=this.color),isNaN(o)&&(o=this.fontSize),r||(r="start"),"left"==r&&(r="start"),"right"==r&&(r="end"),"center"==r&&(r="middle",f?u=this.realHeight-u+u/2:e=this.realWidth/2-e),void 0===h&&(h=1),void 0===f&&(f=0),u+=o/2,i=n.text(this.container,i,s,this.fontFamily,o,r,c,h),i.translate(e,u),n.setCN(this,i,"label"),t.id&&n.setCN(this,i,"label-"+t.id),0!==f&&i.rotate(f),t.url?(i.setAttr("cursor","pointer"),i.click(function(){n.getURL(t.url)})):i.node.style.pointerEvents="none",this.labelsSet.push(i),this.labels.push(i)}},addLabel:function(n,t,i,r,u,f,e,o,s,h){n={x:n,y:t,text:i,align:r,size:u,color:f,alpha:o,rotation:e,bold:s,url:h,enabled:!0},this.container&&this.drawLabel(n),this.allLabels.push(n)},clearLabels:function(){for(var t=this.labels,n=t.length-1;0<=n;n--)t[n].remove();this.labels=[],this.allLabels=[]},updateHeight:function(){var n=this.divRealHeight,t=this.legend,i;return t&&(i=this.legendDiv.offsetHeight,t=t.position,("top"==t||"bottom"==t)&&(n-=i,(0>n||isNaN(n))&&(n=0),this.chartDiv.style.height=n+"px")),n},updateWidth:function(){var t=this.divRealWidth,f=this.divRealHeight,n=this.legend,i,r;if(n){i=this.legendDiv,r=i.offsetWidth,isNaN(n.width)||(r=n.width),n.ieW&&(r=n.ieW);var e=i.offsetHeight,i=i.style,u=this.chartDiv.style,n=n.position;("right"==n||"left"==n)&&(t-=r,(0>t||isNaN(t))&&(t=0),u.width=t+"px","left"==n?(u.left=r+"px",i.left="0px"):(u.left="0px",i.left=t+"px"),f>e&&(i.top=(f-e)/2+"px"))}return t},getTitleHeight:function(){var t=0,r=this.titles,u=!0,i,n;if(0<r.length){for(t=20,i=0;i<r.length;i++)n=r[i],!1!==n.enabled&&(u=!1,n=n.size,isNaN(n)&&(n=this.fontSize+2),t+=n+6);u&&(t=0)}return t},addTitle:function(n,t,i,r,u){return isNaN(t)&&(t=this.fontSize+2),n={text:n,size:t,color:i,alpha:r,bold:u,enabled:!0},this.titles.push(n),n},handleWheel:function(n){var t=0;n||(n=window.event),n.wheelDelta?t=n.wheelDelta/120:n.detail&&(t=-n.detail/3),t&&this.handleWheelReal(t,n.shiftKey),n.preventDefault&&n.preventDefault()},handleWheelReal:function(){},addListeners:function(){var n=this,t=n.chartDiv;document.addEventListener?(n.panEventsEnabled&&(t.style.msTouchAction="none"),"ontouchstart"in document.documentElement&&(t.addEventListener("touchstart",function(t){n.handleTouchMove.call(n,t),n.handleTouchStart.call(n,t)},!0),t.addEventListener("touchmove",function(t){n.handleTouchMove.call(n,t)},!0),t.addEventListener("touchend",function(t){n.handleTouchEnd.call(n,t)},!0)),t.addEventListener("mousedown",function(t){n.mouseIsOver=!0,n.handleMouseMove.call(n,t),n.handleMouseDown.call(n,t)},!0),t.addEventListener("mouseover",function(t){n.handleMouseOver.call(n,t)},!0),t.addEventListener("mouseout",function(t){n.handleMouseOut.call(n,t)},!0)):(t.attachEvent("onmousedown",function(t){n.handleMouseDown.call(n,t)}),t.attachEvent("onmouseover",function(t){n.handleMouseOver.call(n,t)}),t.attachEvent("onmouseout",function(t){n.handleMouseOut.call(n,t)}))},dispDUpd:function(){if(!this.skipEvents){var n;this.dispatchDataUpdated&&(this.dispatchDataUpdated=!1,n="dataUpdated",this.fire(n,{type:n,chart:this})),this.chartCreated||(n="init",this.fire(n,{type:n,chart:this})),this.chartRendered||(n="rendered",this.fire(n,{type:n,chart:this}),this.chartRendered=!0),n="drawn",this.fire(n,{type:n,chart:this})}this.skipEvents=!1},validateSize:function(){var n=this,t,i;n.premeasure(),(n.divRealWidth!=n.previousWidth||n.divRealHeight!=n.previousHeight)&&(t=n.legend,0<n.realWidth&&0<n.realHeight&&(n.sizeChanged=!0,t&&(n.legendInitTO&&clearTimeout(n.legendInitTO),i=setTimeout(function(){t.invalidateSize()},10),n.timeOuts.push(i),n.legendInitTO=i),"xy"!=n.type?n.marginsUpdated=!1:(n.marginsUpdated=!0,n.selfZoom=!0),clearTimeout(n.initTO),i=setTimeout(function(){n.initChart()},10),n.timeOuts.push(i),n.initTO=i),n.fire("resized",{type:"resized",chart:n}),n.renderFix(),t&&t.renderFix&&t.renderFix(),n.previousHeight=n.divRealHeight,n.previousWidth=n.divRealWidth)},invalidateSize:function(){this.previousHeight=this.previousWidth=NaN,this.invalidateSizeReal()},invalidateSizeReal:function(){var n=this,t;n.marginsUpdated=!1,clearTimeout(n.validateTO),t=setTimeout(function(){n.validateSize()},5),n.timeOuts.push(t),n.validateTO=t},validateData:function(n){this.chartCreated&&(this.dataChanged=!0,this.marginsUpdated=!1,this.initChart(n))},validateNow:function(n,t){this.initTO&&clearTimeout(this.initTO),n&&(this.dataChanged=!0),this.skipEvents=t,this.chartRendered=!1,this.write(this.div)},showItem:function(n){n.hidden=!1,this.initChart()},hideItem:function(n){n.hidden=!0,this.initChart()},hideBalloon:function(){var n=this;clearTimeout(n.hoverInt),clearTimeout(n.balloonTO),n.hoverInt=setTimeout(function(){n.hideBalloonReal.call(n)},n.hideBalloonTime)},cleanChart:function(){},hideBalloonReal:function(){var n=this.balloon;n&&n.hide()},showBalloon:function(n,t,i,r,u){var f=this;clearTimeout(f.balloonTO),clearTimeout(f.hoverInt),f.balloonTO=setTimeout(function(){f.showBalloonReal.call(f,n,t,i,r,u)},1)},showBalloonReal:function(n,t,i,r,u){this.handleMouseMove();var f=this.balloon;f.enabled&&(f.followCursor(!1),f.changeColor(t),!i||f.fixedPosition?(f.setPosition(r,u),f.followCursor(!1)):f.followCursor(!0),n&&f.showBalloon(n))},handleTouchMove:function(t){this.hideBalloon();var i=this.chartDiv;t.touches&&(t=t.touches.item(0),this.mouseX=t.pageX-n.findPosX(i),this.mouseY=t.pageY-n.findPosY(i))},handleMouseOver:function(){this.outTO&&clearTimeout(this.outTO),n.resetMouseOver(),this.mouseIsOver=!0},handleMouseOut:function(){var n=this;n.outTO&&clearTimeout(n.outTO),n.outTO=setTimeout(function(){n.handleMouseOutReal()},10)},handleMouseOutReal:function(){n.resetMouseOver(),this.mouseIsOver=!1},handleMouseMove:function(t){var r,u,i,f,o,e,s;if(this.mouseIsOver&&(i=this.chartDiv,t||(t=window.event),t)){this.posX=n.findPosX(i),this.posY=n.findPosY(i);switch(this.mouseMode){case 1:r=t.clientX-this.posX,u=t.clientY-this.posY,this.divIsFixed||(i=document.body,i&&(f=i.scrollLeft,e=i.scrollTop),(i=document.documentElement)&&(o=i.scrollLeft,s=i.scrollTop),f=Math.max(f,o),e=Math.max(e,s),r+=f,u+=e);break;case 0:this.divIsFixed?(r=t.clientX-this.posX,u=t.clientY-this.posY):(r=t.pageX-this.posX,u=t.pageY-this.posY)}t.touches&&(t=t.touches.item(0),r=t.pageX-this.posX,u=t.pageY-this.posY),this.mouseX=r-this.dmouseX,this.mouseY=u-this.dmouseY}},handleTouchStart:function(n){this.handleMouseDown(n)},handleTouchEnd:function(t){n.resetMouseOver(),this.handleReleaseOutside(t)},handleReleaseOutside:function(){},handleMouseDown:function(t){n.resetMouseOver(),this.mouseIsOver=!0,t&&t.preventDefault&&(this.panEventsEnabled?t.preventDefault():t.touches||t.preventDefault())},addLegend:function(t,i){t=n.processObject(t,n.AmLegend,this.theme),t.divId=i,t.ieW=0;var r;return r="object"!=typeof i&&i?document.getElementById(i):i,this.legend=t,t.chart=this,r?(t.div=r,t.position="outside",t.autoMargins=!1):t.div=this.legendDiv,r=this.handleLegendEvent,this.listenTo(t,"showItem",r),this.listenTo(t,"hideItem",r),this.listenTo(t,"clickMarker",r),this.listenTo(t,"rollOverItem",r),this.listenTo(t,"rollOutItem",r),this.listenTo(t,"rollOverMarker",r),this.listenTo(t,"rollOutMarker",r),this.listenTo(t,"clickLabel",r),t},removeLegend:function(){this.legend=void 0,this.legendDiv.innerHTML=""},handleResize:function(){(n.isPercents(this.width)||n.isPercents(this.height))&&this.invalidateSizeReal(),this.renderFix()},renderFix:function(){if(!n.VML){var t=this.container;t&&t.renderFix()}},getSVG:function(){if(n.hasSVG)return this.container},animate:function(t,i,r,u,f,e,o){return t["an_"+i]&&n.removeFromArray(this.animations,t["an_"+i]),r={obj:t,frame:0,attribute:i,from:r,to:u,time:f,effect:e,suffix:o},t["an_"+i]=r,this.animations.push(r),r},setLegendData:function(n){var t=this.legend;t&&t.setData(n)},stopAnim:function(t){n.removeFromArray(this.animations,t)},updateAnimations:function(){var i;if(this.container&&this.container.update(),this.animations)for(i=this.animations.length-1;0<=i;i--){var t=this.animations[i],r=1e3*t.time/n.updateRate,e=t.frame+1,u=t.obj,f=t.attribute;if(e<=r){t.frame++;var o=Number(t.from),s=Number(t.to)-o,r=n[t.effect](0,e,o,s,r);0===s?(this.animations.splice(i,1),u.node.style[f]=Number(t.to)+t.suffix):u.node.style[f]=r+t.suffix}else u.node.style[f]=Number(t.to)+t.suffix,this.animations.splice(i,1)}},update:function(){this.updateAnimations()},inIframe:function(){try{return window.self!==window.top}catch(n){return!0}},brr:function(){}}),n.Slice=n.Class({construct:function(){}}),n.SerialDataItem=n.Class({construct:function(){}}),n.GraphDataItem=n.Class({construct:function(){}}),n.Guide=n.Class({construct:function(t){this.cname="Guide",n.applyTheme(this,t,this.cname)}}),n.Title=n.Class({construct:function(t){this.cname="Title",n.applyTheme(this,t,this.cname)}}),n.Label=n.Class({construct:function(t){this.cname="Label",n.applyTheme(this,t,this.cname)}})}(),function(){var n=window.AmCharts;n.AmGraph=n.Class({construct:function(t){this.cname="AmGraph",this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem","rightClickGraphItem","clickGraph","rollOverGraph","rollOutGraph"),this.type="line",this.stackable=!0,this.columnCount=1,this.columnIndex=0,this.centerCustomBullets=this.showBalloon=!0,this.maxBulletSize=50,this.minBulletSize=4,this.balloonText="[[value]]",this.hidden=this.scrollbar=this.animationPlayed=!1,this.pointPosition="middle",this.depthCount=1,this.includeInMinMax=!0,this.negativeBase=0,this.visibleInLegend=!0,this.showAllValueLabels=!1,this.showBulletsAt=this.showBalloonAt="close",this.lineThickness=1,this.dashLength=0,this.connect=!0,this.lineAlpha=1,this.bullet="none",this.bulletBorderThickness=2,this.bulletBorderAlpha=0,this.bulletAlpha=1,this.bulletSize=8,this.cornerRadiusTop=this.hideBulletsCount=this.bulletOffset=0,this.cursorBulletAlpha=1,this.gradientOrientation="vertical",this.dy=this.dx=0,this.periodValue="",this.clustered=!0,this.periodSpan=1,this.y=this.x=0,this.switchable=!0,this.tcc=this.minDistance=1,this.labelRotation=0,this.labelAnchor="auto",this.labelOffset=3,this.bcn="graph-",this.dateFormat="MMM DD, YYYY",n.applyTheme(this,t,this.cname)},draw:function(){var t=this.chart,o=t.type,u,i,r,f,e;isNaN(this.precision)||(this.numberFormatter?this.numberFormatter.precision=this.precision:this.numberFormatter={precision:this.precision,decimalSeparator:t.decimalSeparator,thousandsSeparator:t.thousandsSeparator}),u=t.container,this.container=u,this.destroy(),i=u.set(),r=u.set(),this.behindColumns?(t.graphsBehindSet.push(i),t.bulletBehindSet.push(r)):(t.graphsSet.push(i),t.bulletSet.push(r)),f=this.bulletAxis,n.isString(f)&&(this.bulletAxis=t.getValueAxisById(f)),this.bulletSet=r,this.scrollbar||(f=t.marginLeftReal,e=t.marginTopReal,i.translate(f,e),r.translate(f,e)),u=u.set(),n.remove(this.columnsSet),i.push(u),this.set=i,n.setCN(t,i,"graph-"+this.type),n.setCN(t,i,"graph-"+this.id),n.setCN(t,r,"graph-"+this.type),n.setCN(t,r,"graph-"+this.id),this.columnsSet=u,this.columnsArray=[],this.ownColumns=[],this.allBullets=[],this.animationArray=[],i=this.labelPosition,i||(r=this.valueAxis.stackType,i="top","column"==this.type&&(t.rotate&&(i="right"),"100%"==r||"regular"==r)&&(i="middle"),this.labelPosition=i),n.ifArray(this.data)&&(t=!1,"xy"==o?this.xAxis.axisCreated&&this.yAxis.axisCreated&&(t=!0):this.valueAxis.axisCreated&&(t=!0),!this.hidden&&t&&this.createGraph())},createGraph:function(){var n=this,t=n.chart;if(n.startAlpha=t.startAlpha,n.seqAn=t.sequencedAnimation,n.baseCoord=n.valueAxis.baseCoord,void 0===n.fillAlphas&&(n.fillAlphas=0),n.bulletColorR=n.bulletColor,void 0===n.bulletColorR&&(n.bulletColorR=n.lineColorR,n.bulletColorNegative=n.negativeLineColor),void 0===n.bulletAlpha&&(n.bulletAlpha=n.lineAlpha),t=t.type,"gantt"==t&&(t="serial"),clearTimeout(n.playedTO),!isNaN(n.valueAxis.min)&&!isNaN(n.valueAxis.max)){switch(t){case"serial":n.categoryAxis&&(n.createSerialGraph(),"candlestick"==n.type&&1>n.valueAxis.minMaxMultiplier&&n.positiveClip(n.set));break;case"radar":n.createRadarGraph();break;case"xy":n.createXYGraph(),n.positiveClip(n.set)}n.playedTO=setTimeout(function(){n.setAnimationPlayed.call(n)},500*n.chart.startDuration)}},setAnimationPlayed:function(){this.animationPlayed=!0},createXYGraph:function(){var o=[],s=[],e=this.xAxis,h=this.yAxis,i;for(this.pmh=h.viH+1,this.pmw=e.viW+1,this.pmy=this.pmx=0,i=this.start;i<=this.end;i++){var n=this.data[i].axes[e.id].graphs[this.id],t=n.values,u=t.x,f=t.y,t=e.getCoordinate(u),r=h.getCoordinate(f);!isNaN(u)&&!isNaN(f)&&(o.push(t),s.push(r),n.x=t,n.y=r,u=this.createBullet(n,t,r,i),f=this.labelText)&&(n=this.createLabel(n,t,r,f),this.positionLabel(t,r,n,u),this.allBullets.push(n))}this.drawLineGraph(o,s),this.launchAnimation()},createRadarGraph:function(){for(var c=this.valueAxis.stackType,u=[],f=[],o,s,t,n,i,e,h,r=this.start;r<=this.end;r++)t=this.data[r].axes[this.valueAxis.id].graphs[this.id],n="none"==c||"3d"==c?t.values.value:t.values.close,isNaN(n)?(this.drawLineGraph(u,f),u=[],f=[]):(i=this.y-(this.valueAxis.getCoordinate(n)-this.height),e=180-360/(this.end-this.start+1)*r,n=i*Math.sin(e/180*Math.PI),i*=Math.cos(e/180*Math.PI),u.push(n),f.push(i),e=this.createBullet(t,n,i,r),h=this.labelText,h&&(t=this.createLabel(t,n,i,h),this.positionLabel(n,i,t,e),this.allBullets.push(t)),isNaN(o)&&(o=n),isNaN(s)&&(s=i));u.push(o),f.push(s),this.drawLineGraph(u,f),this.launchAnimation()},positionLabel:function(n,t,i,r){var e="middle",y=!1,o=this.labelPosition,s=i.getBBox(),u;if(r){var c=r.graphDataItem,f=this.chart.rotate,h=c.isNegative,p=this.chart;t-=s.height/8;switch(o){case"top":o=f?"top":h?"bottom":"top";break;case"right":o=f?h?"left":"right":"right";break;case"bottom":o=f?"bottom":h?"top":"bottom";break;case"left":o=f?h?"right":"left":"left"}var l=c.columnGraphics,a=0,v=0;l&&(a=l.x,v=l.y),u=this.labelOffset;switch(o){case"top":t-=r.size/2+s.height/2+u;break;case"right":e="start",n+=r.size/2+u;break;case"bottom":t+=r.size/2+s.height/2+u;break;case"left":e="end",n-=r.size/2+u;break;case"inside":"column"==this.type&&(y=!0,f?h?(e="end",n=a-3-u):(e="start",n=a+3+u):t=h?v+7+u:v-10-u);break;case"middle":"column"==this.type&&(y=!0,f?n-=(n-a)/2+u-3:t-=(t-v)/2+u-3)}return"auto"!=this.labelAnchor&&(e=this.labelAnchor),i.attr({"text-anchor":e}),this.labelRotation&&i.rotate(this.labelRotation),i.translate(n,t),s=i.getBBox(),!this.showAllValueLabels&&l&&y&&(s.height>c.columnHeight||s.width>c.columnWidth)&&(i.remove(),i=!1),i&&("serial"==p.type||"gantt"==p.type)&&(f?(0>t||t>this.height)&&(i.remove(),i=!1):(0>n||n>this.width)&&(i.remove(),i=!1)),i}},getGradRotation:function(){var n=270;return"horizontal"==this.gradientOrientation&&(n=0),this.gradientRotation=n},createSerialGraph:function(){var fu,ir,si,ue,ci,re,u,uu,di,hu,gt,lu,bf,no,so,pf,uf,wt,fo,uo,lr,br,ef,of,ct,sf,hf,cf,yu,au,vu,yf,af,lf,gu,vf,rr,ar;this.dashLengthSwitched=this.fillColorsSwitched=this.lineColorSwitched=void 0;var rt=this.chart,nr=this.id,pi=this.index,lt=this.data,st=this.chart.container,e=this.valueAxis,k=this.type,p=this.columnWidthReal,kt=this.showBulletsAt;isNaN(this.columnWidth)||(p=this.columnWidth),isNaN(p)&&(p=.8);var ki=this.useNegativeColorIfDown,b=this.width,tt=this.height,ho=this.y,d=this.rotate,hi=this.columnCount,su=n.toCoordinate(this.cornerRadiusTop,p/2),ff=this.connect,h=[],s=[],vr,kr,df,te,wi=this.chart.graphs.length,gr,ot=this.dx/this.tcc,ht=this.dy/this.tcc,bt=e.stackType,tr=this.start,yr=this.end,yi=this.scrollbar,nu="graph-column-";yi&&(nu="scrollbar-graph-column-");var ro=this.categoryAxis,io=this.baseCoord,oe=this.negativeBase,ri=this.columnIndex,et=this.lineThickness,pt=this.lineAlpha,se=this.lineColorR,ti=this.dashLength,ur=this.set,we,tf=this.getGradRotation(),ni=this.chart.columnSpacing,ut=ro.cellWidth,ve=(ut*p-hi)/hi;ni>ve&&(ni=ve);var yt,t,bu,ne=tt+1,fe=b+1,rf=0,ee=0,gf,kf,ku,wu,wf=this.fillColorsR,fr=this.negativeFillColors,li=this.negativeLineColor,tu=this.fillAlphas,ru=this.negativeFillAlphas;if("object"==typeof tu&&(tu=tu[0]),"object"==typeof ru&&(ru=ru[0]),fu=e.getCoordinate(e.min),e.logarithmic&&(fu=e.getCoordinate(e.minReal)),this.minCoord=fu,this.resetBullet&&(this.bullet="none"),yi||"line"!=k&&"smoothedLine"!=k&&"step"!=k||(1==lt.length&&"step"!=k&&"none"==this.bullet&&(this.bullet="round",this.resetBullet=!0),!fr&&void 0==li||ki)||(ir=oe,ir>e.max&&(ir=e.max),ir<e.min&&(ir=e.min),e.logarithmic&&(ir=e.minReal),si=e.getCoordinate(ir),ue=e.getCoordinate(e.max),d?(ne=tt,fe=Math.abs(ue-si)+1,gf=tt,kf=Math.abs(fu-si)+1,wu=ee=0,e.reversed?(rf=0,ku=si):(rf=si,ku=0)):(fe=b,ne=Math.abs(ue-si)+1,kf=b,gf=Math.abs(fu-si)+1,ku=rf=0,e.reversed?(wu=ho,ee=si):wu=si+1)),ci=Math.round,this.pmx=ci(rf),this.pmy=ci(ee),this.pmh=ci(ne),this.pmw=ci(fe),this.nmx=ci(ku),this.nmy=ci(wu),this.nmh=ci(gf),this.nmw=ci(kf),n.isModern||(this.nmy=this.nmx=0,this.nmh=this.height),this.clustered||(hi=1),p="column"==k?(ut*p-ni*(hi-1))/hi:ut*p,1>p&&(p=1),re=this.fixedColumnWidth,isNaN(re)||(p=re),"line"==k||"step"==k||"smoothedLine"==k){if(0<tr){for(u=tr-1;-1<u;u--)if(yt=lt[u],t=yt.axes[e.id].graphs[nr],bu=t.values.value,!isNaN(bu)){tr=u;break}if(this.lineColorField)for(u=tr;-1<u;u--)if(yt=lt[u],t=yt.axes[e.id].graphs[nr],t.lineColor){this.bulletColorSwitched=this.lineColorSwitched=t.lineColor;break}if(this.fillColorsField)for(u=tr;-1<u;u--)if(yt=lt[u],t=yt.axes[e.id].graphs[nr],t.fillColors){this.fillColorsSwitched=t.fillColors;break}if(this.dashLengthField)for(u=tr;-1<u;u--)if(yt=lt[u],t=yt.axes[e.id].graphs[nr],!isNaN(t.dashLength)){this.dashLengthSwitched=t.dashLength;break}}if(yr<lt.length-1)for(u=yr+1;u<lt.length;u++)if(yt=lt[u],t=yt.axes[e.id].graphs[nr],bu=t.values.value,!isNaN(bu)){yr=u;break}}yr<lt.length-1&&yr++;var v=[],a=[],gi=!1;("line"==k||"step"==k||"smoothedLine"==k)&&(this.stackable&&"regular"==bt||"100%"==bt||this.fillToGraph)&&(gi=!0);var eo=this.noStepRisers,nf=-1e3,ou=-1e3,pu=this.minDistance,sr=!0,iu=!1;for(u=tr;u<=yr;u++){if(yt=lt[u],t=yt.axes[e.id].graphs[nr],t.index=u,di=NaN,ki&&void 0==this.openField)for(hu=u+1;hu<lt.length&&(!lt[hu]||!(uu=lt[u+1].axes[e.id].graphs[nr])||!uu.values||(di=uu.values.value,isNaN(di)));hu++);var y,c,l,it,ii=NaN,r=NaN,i=NaN,o=NaN,f=NaN,or=NaN,vi=NaN,er=NaN,ai=NaN,fi=NaN,ui=NaN,g=NaN,nt=NaN,w=NaN,ce=NaN,he=NaN,ft=NaN,ct=void 0,bi=wf,hr=tu,ei=se,at,dt,ie=this.proCandlesticks,cu=this.topRadius,dr=this.pattern;if(void 0!=t.pattern&&(dr=t.pattern),isNaN(t.alpha)||(hr=t.alpha),isNaN(t.dashLength)||(ti=t.dashLength),gt=t.values,e.recalculateToPercents&&(gt=t.percents),gt){if(w=this.stackable&&"none"!=bt&&"3d"!=bt?gt.close:gt.value,("candlestick"==k||"ohlc"==k)&&(w=gt.close,he=gt.low,vi=e.getCoordinate(he),ce=gt.high,ai=e.getCoordinate(ce)),ft=gt.open,i=e.getCoordinate(w),isNaN(ft)||(f=e.getCoordinate(ft),ki&&(di=ft,ft=f=NaN)),ki&&(void 0==this.openField?uu&&(uu.isNegative=di<w?!0:!1,isNaN(di)&&(t.isNegative=!sr)):t.isNegative=di>w?!0:!1),!yi)switch(this.showBalloonAt){case"close":t.y=i;break;case"open":t.y=f;break;case"high":t.y=ai;break;case"low":t.y=vi}var ii=yt.x[ro.id],cr=this.periodSpan-1,vt=Math.floor(ut/2)+Math.floor(cr*ut/2),oi=vt,eu=0;"left"==this.stepDirection&&(eu=(2*ut+cr*ut)/2,ii-=eu),"center"==this.stepDirection&&(eu=ut/2,ii-=eu),"start"==this.pointPosition&&(ii-=ut/2+Math.floor(cr*ut/2),vt=0,oi=Math.floor(ut)+Math.floor(cr*ut)),"end"==this.pointPosition&&(ii+=ut/2+Math.floor(cr*ut/2),vt=Math.floor(ut)+Math.floor(cr*ut),oi=0),eo&&(lu=this.columnWidth,isNaN(lu)||(vt*=lu,oi*=lu)),yi||(t.x=ii),-1e5>ii&&(ii=-1e5),ii>b+1e5&&(ii=b+1e5),d?(r=i,o=f,f=i=ii,isNaN(ft)&&!this.fillToGraph&&(o=io),or=vi,er=ai):(o=r=ii,isNaN(ft)&&!this.fillToGraph&&(f=io)),(!ie&&w<ft||ie&&w<we)&&(t.isNegative=!0,fr&&(bi=fr),ru&&(hr=ru),void 0!=li&&(ei=li)),iu=!1,isNaN(w)||(ki?w>di?(sr&&(iu=!0),sr=!1):(sr||(iu=!0),sr=!0):t.isNegative=w<oe?!0:!1,we=w),bf=!1,yi&&rt.chartScrollbar.ignoreCustomColors&&(bf=!0),bf||(void 0!=t.color&&(bi=t.color),t.fillColors&&(bi=t.fillColors));switch(k){case"line":isNaN(w)?ff||(this.drawLineGraph(h,s,v,a),h=[],s=[],v=[],a=[]):((Math.abs(r-nf)>=pu||Math.abs(i-ou)>=pu)&&(h.push(r),s.push(i),nf=r,ou=i),fi=r,ui=i,g=r,nt=i,!gi||isNaN(f)||isNaN(o)||(v.push(o),a.push(f)),(iu||void 0!=t.lineColor||void 0!=t.fillColors||!isNaN(t.dashLength))&&(this.drawLineGraph(h,s,v,a),h=[r],s=[i],v=[],a=[],!gi||isNaN(f)||isNaN(o)||(v.push(o),a.push(f)),ki?sr?(this.lineColorSwitched=se,this.fillColorsSwitched=wf):(this.lineColorSwitched=li,this.fillColorsSwitched=fr):(this.lineColorSwitched=t.lineColor,this.fillColorsSwitched=t.fillColors),this.dashLengthSwitched=t.dashLength),t.gap&&(this.drawLineGraph(h,s,v,a),h=[],s=[],v=[],a=[]));break;case"smoothedLine":isNaN(w)?ff||(this.drawSmoothedGraph(h,s,v,a),h=[],s=[],v=[],a=[]):((Math.abs(r-nf)>=pu||Math.abs(i-ou)>=pu)&&(h.push(r),s.push(i),nf=r,ou=i),fi=r,ui=i,g=r,nt=i,!gi||isNaN(f)||isNaN(o)||(v.push(o),a.push(f)),void 0==t.lineColor&&void 0==t.fillColors&&isNaN(t.dashLength)||(this.drawSmoothedGraph(h,s,v,a),h=[r],s=[i],v=[],a=[],!gi||isNaN(f)||isNaN(o)||(v.push(o),a.push(f)),this.lineColorSwitched=t.lineColor,this.fillColorsSwitched=t.fillColors,this.dashLengthSwitched=t.dashLength),t.gap&&(this.drawSmoothedGraph(h,s,v,a),h=[],s=[],v=[],a=[]));break;case"step":isNaN(w)?ff||((1>=this.periodSpan||1<this.periodSpan&&r-vr>vt+oi)&&(vr=kr=NaN),this.drawLineGraph(h,s,v,a),h=[],s=[],v=[],a=[]):(d?(isNaN(vr)||(h.push(vr),s.push(i-vt)),s.push(i-vt),h.push(r),s.push(i+oi),h.push(r),!gi||isNaN(f)||isNaN(o)||(isNaN(df)||(v.push(df),a.push(f-vt)),v.push(o),a.push(f-vt),v.push(o),a.push(f+oi))):(isNaN(kr)||(s.push(kr),h.push(r-vt)),h.push(r-vt),s.push(i),h.push(r+oi),s.push(i),!gi||isNaN(f)||isNaN(o)||(isNaN(te)||(v.push(o-vt),a.push(te)),v.push(o-vt),a.push(f),v.push(o+oi),a.push(f))),vr=r,kr=i,df=o,te=f,fi=r,ui=i,g=r,nt=i,(iu||void 0!=t.lineColor||void 0!=t.fillColors||!isNaN(t.dashLength))&&(no=h[h.length-2],so=s[s.length-2],h.pop(),s.pop(),this.drawLineGraph(h,s,v,a),h=[no],s=[so],d?(s.push(i+oi),h.push(r)):(h.push(r+oi),s.push(i)),v=[],a=[],this.lineColorSwitched=t.lineColor,this.fillColorsSwitched=t.fillColors,this.dashLengthSwitched=t.dashLength,ki&&(sr?(this.lineColorSwitched=se,this.fillColorsSwitched=wf):(this.lineColorSwitched=li,this.fillColorsSwitched=fr))),(eo||t.gap)&&(vr=kr=NaN,this.drawLineGraph(h,s,v,a),h=[],s=[],v=[],a=[]));break;case"column":at=ei,void 0!=t.lineColor&&(at=t.lineColor),isNaN(w)||(ki||(t.isNegative=w<oe?!0:!1),t.isNegative&&(fr&&(bi=fr),void 0!=li&&(at=li)),pf=e.min,uf=e.max,w<pf&&ft<pf||w>uf&&ft>uf||(d?("3d"==bt?(c=i-(hi/2-this.depthCount+1)*(p+ni)+ni/2+ht*ri,y=o+ot*ri,wt=ri):(c=Math.floor(i-(hi/2-ri)*(p+ni)+ni/2),y=o,wt=0),l=p,fi=r,ui=c+p/2,isNaN(o)||o>r&&!t.isNegative&&(fi=o),g=r,nt=c+p/2,c+l>tt+wt*ht&&(l=tt-c+wt*ht),c<wt*ht&&(l+=c,c=wt*ht),it=r-o,fo=y,y=n.fitToBounds(y,0,b),it+=fo-y,it=n.fitToBounds(it,-y,b-y+ot*ri),c<tt&&0<l&&(ct=new n.Cuboid(st,it,l,ot-rt.d3x,ht-rt.d3y,bi,hr,et,at,pt,tf,su,d,ti,dr,cu,nu),t.columnWidth=Math.abs(it),t.columnHeight=Math.abs(l))):("3d"==bt?(y=r-(hi/2-this.depthCount+1)*(p+ni)+ni/2+ot*ri,c=f+ht*ri,wt=ri):(y=r-(hi/2-ri)*(p+ni)+ni/2,c=f,wt=0),l=p,fi=y+p/2,ui=i,isNaN(f)||f<i&&!t.isNegative&&(ui=f),g=y+p/2,nt=i,y+l>b+wt*ot&&(l=b-y+wt*ot),y<wt*ot&&(l+=y-wt*ot,y=wt*ot),it=i-f,uo=c,c=n.fitToBounds(c,this.dy,tt),it+=uo-c,it=n.fitToBounds(it,-c+ht*ri,tt-c),y<b+ri*ot&&0<l&&(this.showOnAxis&&(c-=ht/2),ct=new n.Cuboid(st,l,it,ot-rt.d3x,ht-rt.d3y,bi,hr,et,at,this.lineAlpha,tf,su,d,ti,dr,cu,nu),t.columnHeight=Math.abs(it),t.columnWidth=Math.abs(l)))),ct&&(dt=ct.set,n.setCN(rt,ct.set,"graph-"+this.type),n.setCN(rt,ct.set,"graph-"+this.id),t.className&&n.setCN(rt,ct.set,t.className,!0),t.columnGraphics=dt,dt.translate(y,c),this.columnsSet.push(dt),(t.url||this.showHandOnHover)&&dt.setAttr("cursor","pointer"),!yi)&&("none"==bt&&(gr=d?(this.end+1-u)*wi-pi:wi*u+pi),"3d"==bt&&(d?(gr=(this.end+1-u)*wi-pi-1e3*this.depthCount,fi+=ot*this.columnIndex,g+=ot*this.columnIndex,t.y+=ot*this.columnIndex):(gr=(wi-pi)*(u+1)+1e3*this.depthCount,ui+=ht*this.columnIndex,nt+=ht*this.columnIndex,t.y+=ht*this.columnIndex)),("regular"==bt||"100%"==bt)&&(gr=d?0<gt.value?(this.end+1-u)*wi+pi:(this.end+1-u)*wi-pi:0<gt.value?wi*u+pi:wi*u-pi),this.columnsArray.push({column:ct,depth:gr}),t.x=d?c+l/2:y+l/2,this.ownColumns.push(ct),this.animateColumns(ct,u,r,o,i,f),this.addListeners(dt,t)));break;case"candlestick":isNaN(ft)||isNaN(w)||(at=ei,void 0!=t.lineColor&&(at=t.lineColor),d?(c=i-p/2,y=o,l=p,c+l>tt&&(l=tt-c),0>c&&(l+=c,c=0),c<tt&&0<l)&&(w>ft?(ef=[r,er],of=[o,or]):(ef=[o,er],of=[r,or]),!isNaN(er)&&!isNaN(or)&&i<tt&&0<i&&(lr=n.line(st,ef,[i,i],at,pt,et),br=n.line(st,of,[i,i],at,pt,et)),it=r-o,ct=new n.Cuboid(st,it,l,ot,ht,bi,tu,et,at,pt,tf,su,d,ti,dr,cu,nu)):(y=r-p/2,c=f+et/2,l=p,y+l>b&&(l=b-y),0>y&&(l+=y,y=0),it=i-f,y<b&&0<l)&&(ie&&w>=ft&&(hr=0),ct=new n.Cuboid(st,l,it,ot,ht,bi,hr,et,at,pt,tf,su,d,ti,dr,cu,nu),w>ft?(sf=[i,ai],hf=[f,vi]):(sf=[f,ai],hf=[i,vi]),!isNaN(ai)&&!isNaN(vi)&&r<b&&0<r&&(lr=n.line(st,[r,r],sf,at,pt,et),br=n.line(st,[r,r],hf,at,pt,et),n.setCN(rt,lr,this.bcn+"line-high"),t.className&&n.setCN(rt,lr,t.className,!0),n.setCN(rt,br,this.bcn+"line-low"),t.className&&n.setCN(rt,br,t.className,!0))),ct&&(dt=ct.set,t.columnGraphics=dt,ur.push(dt),dt.translate(y,c-et/2),(t.url||this.showHandOnHover)&&dt.setAttr("cursor","pointer"),lr&&(ur.push(lr),ur.push(br)),fi=r,ui=i,d?(nt=i,g=r,"open"==kt&&(g=o),"high"==kt&&(g=er),"low"==kt&&(g=or)):(nt=i,"open"==kt&&(nt=f),"high"==kt&&(nt=ai),"low"==kt&&(nt=vi),g=r),yi||(t.x=d?c+l/2:y+l/2,this.animateColumns(ct,u,r,o,i,f),this.addListeners(dt,t))));break;case"ohlc":if(!(isNaN(ft)||isNaN(ce)||isNaN(he)||isNaN(w))){if(cf=st.set(),ur.push(cf),w<ft&&(t.isNegative=!0,void 0!=li&&(ei=li)),d){var to=i-p/2,to=n.fitToBounds(to,0,tt),be=n.fitToBounds(i,0,tt),ge=i+p/2,ge=n.fitToBounds(ge,0,tt);au=n.line(st,[o,o],[to,be],ei,pt,et,ti),0<i&&i<tt&&(yu=n.line(st,[or,er],[i,i],ei,pt,et,ti)),vu=n.line(st,[r,r],[be,ge],ei,pt,et,ti),nt=i,g=r,"open"==kt&&(g=o),"high"==kt&&(g=er),"low"==kt&&(g=or)}else{var de=r-p/2,de=n.fitToBounds(de,0,b),ke=n.fitToBounds(r,0,b),oo=r+p/2,oo=n.fitToBounds(oo,0,b);au=n.line(st,[de,ke],[f,f],ei,pt,et,ti),0<r&&r<b&&(yu=n.line(st,[r,r],[vi,ai],ei,pt,et,ti)),vu=n.line(st,[ke,oo],[i,i],ei,pt,et,ti),nt=i,"open"==kt&&(nt=f),"high"==kt&&(nt=ai),"low"==kt&&(nt=vi),g=r}ur.push(au),ur.push(yu),ur.push(vu),n.setCN(rt,au,this.bcn+"stroke-open"),n.setCN(rt,vu,this.bcn+"stroke-close"),n.setCN(rt,yu,this.bcn+"stroke"),t.className&&n.setCN(rt,cf,t.className,!0),fi=r,ui=i}}if(!yi&&!isNaN(w)&&(yf=this.hideBulletsCount,(this.end-this.start<=yf||0===yf)&&(af=this.createBullet(t,g,nt,u),lf=this.labelText,lf&&af&&(gu=this.createLabel(t,g,nt,lf),(gu=this.positionLabel(fi,ui,gu,af,l,it))&&this.allBullets.push(gu)),("regular"==bt||"100%"==bt)&&(vf=e.totalText,vf)))){rr=this.createLabel(t,0,0,vf,e.totalTextColor),this.allBullets.push(rr);var pe=rr.getBBox(),ae=pe.width,le=pe.height,wr,pr,du=e.totalTextOffset,ye=e.totals[u];ye&&ye.remove(),ar=0,"column"!=k&&(ar=this.bulletSize),d?(pr=i,wr=0>w?r-ae/2-2-ar-du:r+ae/2+3+ar+du):(wr=r,pr=0>w?i+le/2+ar+du:i-le/2-3-ar-du),rr.translate(wr,pr),e.totals[u]=rr,d?(0>pr||pr>tt)&&rr.remove():(0>wr||wr>b)&&rr.remove()}}}("line"==k||"step"==k||"smoothedLine"==k)&&("smoothedLine"==k?this.drawSmoothedGraph(h,s,v,a):this.drawLineGraph(h,s,v,a),yi||this.launchAnimation()),this.bulletsHidden&&this.hideBullets(),this.customBulletsHidden&&this.hideCustomBullets()},animateColumns:function(n,t){var i=this,r=i.chart.startDuration;0<r&&!i.animationPlayed&&(i.seqAn?(n.set.hide(),i.animationArray.push(n),r=setTimeout(function(){i.animate.call(i)},r/(i.end-i.start+1)*(t-i.start)*1e3),i.timeOuts.push(r)):i.animate(n))},createLabel:function(t,i,r,u,f){var o=this.chart,e=t.labelColor,s;return e||(e=this.color),e||(e=o.color),f&&(e=f),f=this.fontSize,void 0===f&&(this.fontSize=f=o.fontSize),s=this.labelFunction,u=o.formatString(u,t),u=n.cleanFromEmpty(u),s&&(u=s(t,u)),t=n.text(this.container,u,e,o.fontFamily,f),t.node.style.pointerEvents="none",t.translate(i,r),this.bulletSet.push(t),t},positiveClip:function(n){n.clipRect(this.pmx,this.pmy,this.pmw,this.pmh)},negativeClip:function(n){n.clipRect(this.nmx,this.nmy,this.nmw,this.nmh)},drawLineGraph:function(t,i,r,u){var f=this,y,l,k;if(1<t.length){var v=f.set,c=f.chart,h=f.container,p=h.set(),w=h.set();v.push(w),v.push(p);var a=f.lineAlpha,e=f.lineThickness,v=f.fillAlphas,g=f.lineColorR,o=f.negativeLineAlpha;isNaN(o)&&(o=a),y=f.lineColorSwitched,y&&(g=y),y=f.fillColorsR,l=f.fillColorsSwitched,l&&(y=l),k=f.dashLength,(l=f.dashLengthSwitched)&&(k=l);var l=f.negativeLineColor,d=f.negativeFillColors,b=f.negativeFillAlphas,s=f.baseCoord;0!==f.negativeBase&&(s=f.valueAxis.getCoordinate(f.negativeBase),s>f.height&&(s=f.height),0>s&&(s=0)),a=n.line(h,t,i,g,a,e,k,!1,!0),n.setCN(c,a,f.bcn+"stroke"),p.push(a),p.click(function(n){f.handleGraphEvent(n,"clickGraph")}).mouseover(function(n){f.handleGraphEvent(n,"rollOverGraph")}).mouseout(function(n){f.handleGraphEvent(n,"rollOutGraph")}),void 0===l||f.useNegativeColorIfDown||(e=n.line(h,t,i,l,o,e,k,!1,!0),n.setCN(c,e,f.bcn+"stroke"),n.setCN(c,e,f.bcn+"stroke-negative"),w.push(e)),(0<v||0<b)&&(e=t.join(";").split(";"),o=i.join(";").split(";"),a=c.type,"serial"==a?0<r.length?(r.reverse(),u.reverse(),e=t.concat(r),o=i.concat(u)):f.rotate?(o.push(o[o.length-1]),e.push(s),o.push(o[0]),e.push(s),o.push(o[0]),e.push(e[0])):(e.push(e[e.length-1]),o.push(s),e.push(e[0]),o.push(s),e.push(t[0]),o.push(o[0])):"xy"==a&&(i=f.fillToAxis)&&(n.isString(i)&&(i=c.getValueAxisById(i)),"H"==i.orientation?(s="top"==i.position?0:i.viH,e.push(e[e.length-1]),o.push(s),e.push(e[0]),o.push(s),e.push(t[0]),o.push(o[0])):(s="left"==i.position?0:i.viW,o.push(o[o.length-1]),e.push(s),o.push(o[0]),e.push(s),o.push(o[0]),e.push(e[0]))),t=f.gradientRotation,0<v&&(i=n.polygon(h,e,o,y,v,1,"#000",0,t),i.pattern(f.pattern,NaN,c.path),n.setCN(c,i,f.bcn+"fill"),p.push(i)),d||void 0!==l)&&(isNaN(b)&&(b=v),d||(d=l),h=n.polygon(h,e,o,d,b,1,"#000",0,t),n.setCN(c,h,f.bcn+"fill"),n.setCN(c,h,f.bcn+"fill-negative"),h.pattern(f.pattern,NaN,c.path),w.push(h),w.click(function(n){f.handleGraphEvent(n,"clickGraph")}).mouseover(function(n){f.handleGraphEvent(n,"rollOverGraph")}).mouseout(function(n){f.handleGraphEvent(n,"rollOutGraph")})),f.applyMask(w,p)}},applyMask:function(n,t){var i=n.length();"serial"!=this.chart.type||this.scrollbar||(this.positiveClip(t),0<i&&this.negativeClip(n))},drawSmoothedGraph:function(t,i,r,u){if(1<t.length){var c=this.set,o=this.chart,h=this.container,a=h.set(),v=h.set();c.push(v),c.push(a);var e=this.lineAlpha,f=this.lineThickness,c=this.dashLength,k=this.fillAlphas,l=this.lineColorR,p=this.fillColorsR,w=this.negativeLineColor,b=this.negativeFillColors,d=this.negativeFillAlphas,y=this.baseCoord,s=this.lineColorSwitched;s&&(l=s),(s=this.fillColorsSwitched)&&(p=s),s=this.negativeLineAlpha,isNaN(s)&&(s=e),e=new n.Bezier(h,t,i,l,e,f,p,0,c),n.setCN(o,e,this.bcn+"stroke"),a.push(e.path),void 0!==w&&(f=new n.Bezier(h,t,i,w,s,f,p,0,c),n.setCN(o,f,this.bcn+"stroke"),n.setCN(o,f,this.bcn+"stroke-negative"),v.push(f.path)),0<k&&(e=t.join(";").split(";"),l=i.join(";").split(";"),f="",0<r.length?(r.push("M"),u.push("M"),r.reverse(),u.reverse(),e=t.concat(r),l=i.concat(u)):(this.rotate?(f+=" L"+y+","+i[i.length-1],f+=" L"+y+","+i[0]):(f+=" L"+t[t.length-1]+","+y,f+=" L"+t[0]+","+y),f+=" L"+t[0]+","+i[0]),r=new n.Bezier(h,e,l,NaN,0,0,p,k,c,f),n.setCN(o,r,this.bcn+"fill"),r.path.pattern(this.pattern,NaN,o.path),a.push(r.path),b||void 0!==w)&&(d||(d=k),b||(b=w),t=new n.Bezier(h,t,i,NaN,0,0,b,d,c,f),t.path.pattern(this.pattern,NaN,o.path),n.setCN(o,t,this.bcn+"fill"),n.setCN(o,t,this.bcn+"fill-negative"),v.push(t.path)),this.applyMask(v,a)}},launchAnimation:function(){var t=this,i=t.chart.startDuration,r,u;0<i&&!t.animationPlayed&&(r=t.set,u=t.bulletSet,n.VML||(r.attr({opacity:t.startAlpha}),u.attr({opacity:t.startAlpha})),r.hide(),u.hide(),t.seqAn?(i=setTimeout(function(){t.animateGraphs.call(t)},t.index*i*1e3),t.timeOuts.push(i)):t.animateGraphs())},animateGraphs:function(){var n=this.chart,t=this.set,i=this.bulletSet,r=this.x,u=this.y,f;t.show(),i.show(),f=n.startDuration,n=n.startEffect,t&&(this.rotate?(t.translate(-1e3,u),i.translate(-1e3,u)):(t.translate(r,-1e3),i.translate(r,-1e3)),t.animate({opacity:1,translate:r+","+u},f,n),i.animate({opacity:1,translate:r+","+u},f,n))},animate:function(t){var r=this.chart,i=this.animationArray;!t&&0<i.length&&(t=i[0],i.shift()),i=n[n.getEffect(r.startEffect)],r=r.startDuration,t&&(this.rotate?t.animateWidth(r,i):t.animateHeight(r,i),t.set.show())},legendKeyColor:function(){var t=this.legendColor,n=this.lineAlpha;return void 0===t&&(t=this.lineColorR,0===n&&(n=this.fillColorsR)&&(t="object"==typeof n?n[0]:n)),t},legendKeyAlpha:function(){var n=this.legendAlpha;return void 0===n&&(n=this.lineAlpha,this.fillAlphas>n&&(n=this.fillAlphas),0===n&&(n=this.bulletAlpha),0===n&&(n=1)),n},createBullet:function(t,i,r){var u,o,e,p;if(!isNaN(i)&&!isNaN(r)){var s=this.chart,h=this.container,c=this.bulletOffset,f=this.bulletSize;isNaN(t.bulletSize)||(f=t.bulletSize);var a=t.values.value,v=this.maxValue,l=this.minValue,y=this.maxBulletSize,o=this.minBulletSize;isNaN(v)||(isNaN(a)||(f=(a-l)/(v-l)*(y-o)+o),l==v&&(f=y)),v=f,this.bulletAxis&&(f=t.values.error,isNaN(f)||(a=f),f=this.bulletAxis.stepWidth*a),f<this.minBulletSize&&(f=this.minBulletSize),this.rotate?i=t.isNegative?i-c:i+c:r=t.isNegative?r+c:r-c,o=this.bulletColorR,t.lineColor&&(this.bulletColorSwitched=t.lineColor),this.bulletColorSwitched&&(o=this.bulletColorSwitched),t.isNegative&&void 0!==this.bulletColorNegative&&(o=this.bulletColorNegative),void 0!==t.color&&(o=t.color),"xy"==s.type&&this.valueField&&(e=this.pattern,t.pattern&&(e=t.pattern)),c=this.bullet,t.bullet&&(c=t.bullet);var a=this.bulletBorderThickness,l=this.bulletBorderColorR,y=this.bulletBorderAlpha,w=this.bulletAlpha;return l||(l=o),this.useLineColorForBulletBorder&&(l=this.lineColorR),p=t.alpha,isNaN(p)||(w=p),("none"!=this.bullet||t.bullet)&&(u=n.bullet(h,c,f,o,w,a,l,y,v,0,e,s.path)),(this.customBullet||t.customBullet)&&(e=this.customBullet,t.customBullet&&(e=t.customBullet),e&&(u&&u.remove(),"function"==typeof e?(u=new e,u.chart=s,t.bulletConfig&&(u.availableSpace=r,u.graph=this,u.graphDataItem=t,u.bulletY=r,t.bulletConfig.minCoord=this.minCoord-r,u.bulletConfig=t.bulletConfig),u.write(h),u=u.set):(u=h.set(),h=h.image(e,0,0,f,f),u.push(h),this.centerCustomBullets&&h.translate(-f/2,-f/2)))),u&&((t.url||this.showHandOnHover)&&u.setAttr("cursor","pointer"),("serial"==s.type||"gantt"==s.type)&&(-.5>+i||+i>this.width||r<-f/2||+r>this.height)&&(u.remove(),u=null),u&&(this.bulletSet.push(u),u.translate(i,r),this.addListeners(u,t),this.allBullets.push(u)),t.bx=i,t.by=r,n.setCN(s,u,this.bcn+"bullet"),t.className&&n.setCN(s,u,t.className,!0)),u?(u.size=f||0,t.bulletGraphics=u):u={size:0},u.graphDataItem=t,u}},showBullets:function(){var t=this.allBullets,n;for(this.bulletsHidden=!1,n=0;n<t.length;n++)t[n].show()},hideBullets:function(){var t=this.allBullets,n;for(this.bulletsHidden=!0,n=0;n<t.length;n++)t[n].hide()},showCustomBullets:function(){var t=this.allBullets,n;for(this.customBulletsHidden=!1,n=0;n<t.length;n++)t[n].graphDataItem.customBullet&&t[n].show()},hideCustomBullets:function(){var t=this.allBullets,n;for(this.customBulletsHidden=!0,n=0;n<t.length;n++)t[n].graphDataItem.customBullet&&t[n].hide()},addListeners:function(n,t){var i=this;n.mouseover(function(n){i.handleRollOver(t,n)}).mouseout(function(n){i.handleRollOut(t,n)}).touchend(function(n){i.handleRollOver(t,n),i.chart.panEventsEnabled&&i.handleClick(t,n)}).touchstart(function(n){i.handleRollOver(t,n)}).click(function(n){i.handleClick(t,n)}).dblclick(function(n){i.handleDoubleClick(t,n)}).contextmenu(function(n){i.handleRightClick(t,n)})},handleRollOver:function(t,i){var r,u,f,e,o;t&&(r=this.chart,u={type:"rollOverGraphItem",item:t,index:t.index,graph:this,target:this,chart:this.chart,event:i},this.fire("rollOverGraphItem",u),r.fire("rollOverGraphItem",u),clearTimeout(r.hoverInt),u=this.showBalloon,!r.chartCursor||"serial"!=r.type&&"gantt"!=r.type||(u=!1,!r.chartCursor.valueBalloonsEnabled&&this.showBalloon&&(u=!0)),u?(u=r.formatString(this.balloonText,t,!0),f=this.balloonFunction,f&&(u=f(t,t.graph)),u=n.cleanFromEmpty(u),f=r.getBalloonColor(this,t),r.balloon.showBullet=!1,r.balloon.pointerOrientation="V",e=t.x,o=t.y,r.rotate&&(e=t.y,o=t.x),""!==u?r.showBalloon(u,f,!0,e+r.marginLeftReal,o+r.marginTopReal):this.chart.hideBalloonReal()):this.chart.hideBalloonReal()),this.handleGraphEvent(i,"rollOverGraph")},handleRollOut:function(n,t){if(this.chart.hideBalloon(),n){var i={type:"rollOutGraphItem",item:n,index:n.index,graph:this,target:this,chart:this.chart,event:t};this.fire("rollOutGraphItem",i),this.chart.fire("rollOutGraphItem",i)}this.handleGraphEvent(t,"rollOutGraph")},handleClick:function(t,i){if(t){var r={type:"clickGraphItem",item:t,index:t.index,graph:this,target:this,chart:this.chart,event:i};this.fire("clickGraphItem",r),this.chart.fire("clickGraphItem",r),n.getURL(t.url,this.urlTarget)}this.handleGraphEvent(i,"clickGraph")},handleGraphEvent:function(n,t){var i={type:t,graph:this,target:this,chart:this.chart,event:n};this.fire(t,i),this.chart.fire(t,i)},handleRightClick:function(n,t){if(n){var i={type:"rightClickGraphItem",item:n,index:n.index,graph:this,target:this,chart:this.chart,event:t};this.fire("rightClickGraphItem",i),this.chart.fire("rightClickGraphItem",i)}},handleDoubleClick:function(n,t){if(n){var i={type:"doubleClickGraphItem",item:n,index:n.index,graph:this,target:this,chart:this.chart,event:t};this.fire("doubleClickGraphItem",i),this.chart.fire("doubleClickGraphItem",i)}},zoom:function(n,t){this.start=n,this.end=t,this.draw()},changeOpacity:function(n){var t=this.set,i,r;if(t&&t.setAttr("opacity",n),t=this.ownColumns)for(i=0;i<t.length;i++)r=t[i].set,r&&r.setAttr("opacity",n);(t=this.bulletSet)&&t.setAttr("opacity",n)},destroy:function(){var t,i;if(n.remove(this.set),n.remove(this.bulletSet),t=this.timeOuts,t)for(i=0;i<t.length;i++)clearTimeout(t[i]);this.timeOuts=[]}})}(),function(){var n=window.AmCharts;n.ChartCursor=n.Class({construct:function(t){this.cname="ChartCursor",this.createEvents("changed","zoomed","onHideCursor","draw","selected","moved"),this.enabled=!0,this.cursorAlpha=1,this.selectionAlpha=.2,this.cursorColor="#CC0000",this.categoryBalloonAlpha=1,this.color="#FFFFFF",this.type="cursor",this.zoomed=!1,this.zoomable=!0,this.pan=!1,this.categoryBalloonDateFormat="MMM DD, YYYY",this.categoryBalloonEnabled=this.valueBalloonsEnabled=!0,this.rolledOver=!1,this.cursorPosition="middle",this.bulletsEnabled=this.skipZoomDispatch=!1,this.bulletSize=8,this.selectWithoutZooming=this.oneBalloonOnly=!1,this.graphBulletSize=1.7,this.animationDuration=.3,this.zooming=!1,this.adjustment=0,this.avoidBalloonOverlapping=!0,this.leaveCursor=!1,n.applyTheme(this,t,this.cname)},draw:function(){var r,t,i;if(this.destroy(),r=this.chart,t=r.container,this.rotate=r.rotate,this.container=t,t=t.set(),t.translate(this.x,this.y),this.set=t,r.cursorSet.push(t),t=new n.AmBalloon,t.className="category",t.chart=r,this.categoryBalloon=t,n.copyProperties(r.balloon,t),t.cornerRadius=0,t.shadowAlpha=0,t.borderThickness=1,t.borderAlpha=1,t.showBullet=!1,i=this.categoryBalloonColor,void 0===i&&(i=this.cursorColor),t.fillColor=i,t.balloonColor=i,t.fillAlpha=this.categoryBalloonAlpha,t.borderColor=i,t.color=this.color,i=this.valueLineAxis,n.isString(i)&&(i=r.getValueAxisById(i)),i||(i=r.valueAxes[0]),this.valueLineAxis=i,this.valueLineBalloonEnabled&&(this.vaBalloon=i=new n.AmBalloon,n.copyProperties(t,i),i.animationDuration=0,this.rotate||(i.pointerOrientation="H")),this.rotate&&(t.pointerOrientation="H"),this.extraWidth=0,this.prevX=[],this.prevY=[],this.prevTX=[],this.prevTY=[],this.valueBalloonsEnabled)for(t=0;t<r.graphs.length;t++)i=new n.AmBalloon,i.className=r.graphs[t].id,i.chart=r,n.copyProperties(r.balloon,i),r.graphs[t].valueBalloon=i;"cursor"==this.type?this.createCursor():this.createCrosshair()},updateData:function(){var n=this.chart;this.data=n.chartData,this.firstTime=n.firstTime,this.lastTime=n.lastTime},createCursor:function(){var i=this.chart,r=this.cursorAlpha,h=i.categoryAxis,c=this.categoryBalloon,t,e,u,f;u=i.dx,f=i.dy;var o=this.width,l=this.height,s=i.rotate;c.pointerWidth=h.tickLength,s?(t=[0,o,o+u],e=[0,0,f],u=[u,0,0],f=[f,0,l]):(t=[u,0,0],e=[f,0,l],u=[0,o,o+u],f=[0,0,f]),t=n.line(this.container,t,e,this.cursorColor,r,1),n.setCN(i,t,"cursor-line"),this.line=t,t.node.style.pointerEvents="none",(e=this.fullRectSet)?(e.push(t),e.translate(this.x,this.y)):this.set.push(t),this.valueLineEnabled&&(t=this.valueLineAlpha,isNaN(t)||(r=t),r=n.line(this.container,u,f,this.cursorColor,r,1),r.node.style.pointerEvents="none",n.setCN(i,r,"cursor-value-line"),this.vLine=r,this.set.push(r)),this.setBalloonBounds(c,h,s),(i=this.vaBalloon)&&this.setBalloonBounds(i,this.valueLineAxis,!s),this.hideCursor()},createCrosshair:function(){var t=this.cursorAlpha,r=this.container,i=n.line(r,[0,0],[0,this.height],this.cursorColor,t,1),t=n.line(r,[0,this.width],[0,0],this.cursorColor,t,1);n.setCN(this.chart,i,"cursor-line"),n.setCN(this.chart,t,"cursor-line"),this.set.push(i),this.set.push(t),this.vLine=i,this.hLine=t,this.hideCursor()},update:function(){var n=this.chart,t,i;n.mouseIsOver?(t=n.mouseX-this.x,i=n.mouseY-this.y,-.5<t&&t<this.width+1&&0<i&&i<this.height?(this.drawing?this.rolledOver||n.setMouseCursor("crosshair"):this.pan&&(this.rolledOver||n.setMouseCursor("move")),this.rolledOver=!0,(this.valueLineEnabled||this.valueLineBalloonEnabled)&&this.updateVLine(t,i),this.setPosition()):this.rolledOver&&(this.handleMouseOut(),this.rolledOver=!1)):this.rolledOver&&(this.handleMouseOut(),this.rolledOver=!1)},updateVLine:function(n,t){var i=this.vLine,f=this.vaBalloon,r,u,e,o;(i||f)&&!this.panning&&!this.drawing&&(i&&i.show(),r=this.valueLineAxis,e=this.rotate,e?(i&&i.translate(n,0),r&&(u=r.coordinateToValue(n)),i=n):(i&&i.translate(0,t),r&&(u=r.coordinateToValue(t)),i=t-1),f&&!isNaN(u)&&this.prevLineValue!=u&&(o=r.formatValue(u,!0),this.setBalloonPosition(f,r,i,!e),f.showBalloon(o)),this.prevLineValue=u)},getMousePosition:function(){var n,t=this.width,i=this.height;return n=this.chart,this.rotate?(n=n.mouseY-this.y,0>n&&(n=0),n>i&&(n=i)):(n=n.mouseX-this.x-1,0>n&&(n=0),n>t&&(n=t)),n},updateCrosshair:function(){var t=this.chart,i=t.mouseX-this.x,r=t.mouseY-this.y,u=this.vLine,f=this.hLine,i=n.fitToBounds(i,0,this.width),r=n.fitToBounds(r,0,this.height);u&&0<this.cursorAlpha&&(u.show(),f.show(),u.translate(i,0),f.translate(0,r)),this.zooming&&(t.hideXScrollbar&&(i=NaN),t.hideYScrollbar&&(r=NaN),this.updateSelectionSize(i,r)),this.fireMoved(),t.mouseIsOver||this.zooming||this.hideCursor()},fireMoved:function(){var t=this.chart,n={type:"moved",target:this};n.chart=t,n.zooming=this.zooming,n.x=t.mouseX-this.x,n.y=t.mouseY-this.y,this.fire("moved",n)},updateSelectionSize:function(t,i){n.remove(this.selection);var r=this.selectionPosX,u=this.selectionPosY,o=0,s=0,f=this.width,e=this.height;isNaN(t)||(r>t&&(o=t,f=r-t),r<t&&(o=r,f=t-r),r==t&&(o=t,f=0),f+=this.extraWidth,o-=this.extraWidth/2),isNaN(i)||(u>i&&(s=i,e=u-i),u<i&&(s=u,e=i-u),u==i&&(s=i,e=0),e+=this.extraWidth,s-=this.extraWidth/2),0<f&&0<e&&(r=n.rect(this.container,f,e,this.cursorColor,this.selectionAlpha),n.setCN(this.chart,r,"cursor-selection"),r.translate(o+this.x,s+this.y),this.selection=r)},arrangeBalloons:function(){var i=this.valueBalloons,r=this.x,u=this.y,f=this.height+u,n,t;for(i.sort(this.compareY),n=0;n<i.length;n++)t=i[n].balloon,t.setBounds(r,u,r+this.width,f),t.prevX=this.prevX[n],t.prevY=this.prevY[n],t.prevTX=this.prevTX[n],t.prevTY=this.prevTY[n],t.draw(),f=t.yPos-3;this.arrangeBalloons2()},compareY:function(n,t){return n.yy<t.yy?1:-1},arrangeBalloons2:function(){var u=this.valueBalloons,s,f,r,i,e,n,o,t;for(u.reverse(),f=this.x,e=u.length,i=0;i<e;i++)n=u[i].balloon,s=n.bottom,o=n.bottom-n.yPos,t=e-i-1,0<i&&s-o<r+3&&(n.setBounds(f,r+3,f+this.width,r+o+3),n.prevX=this.prevX[t],n.prevY=this.prevY[t],n.prevTX=this.prevTX[t],n.prevTY=this.prevTY[t],n.draw()),n.set&&n.set.show(),this.prevX[t]=n.prevX,this.prevY[t]=n.prevY,this.prevTX[t]=n.prevTX,this.prevTY[t]=n.prevTY,r=n.bottom},showBullets:function(){var e,i,u,t,f,r,o,s;for(n.remove(this.allBullets),e=this.container,i=e.set(),this.set.push(i),this.set.show(),this.allBullets=i,i=this.chart.graphs,u=0;u<i.length;u++)t=i[u],!t.hidden&&t.balloonText&&(f=this.data[this.index].axes[t.valueAxis.id].graphs[t.id],r=f.y,isNaN(r)||(o=f.x,this.rotate?(s=r,r=o):s=o,t=n.circle(e,this.bulletSize/2,this.chart.getBalloonColor(t,f,!0),t.cursorBulletAlpha),t.translate(s,r),this.allBullets.push(t)))},destroy:function(){this.clear(),n.remove(this.selection),this.selection=null;var t=this.categoryBalloon;t&&t.destroy(),(t=this.vaBalloon)&&t.destroy(),this.destroyValueBalloons(),n.remove(this.set)},clear:function(){},destroyValueBalloons:function(){var t=this.valueBalloons,n;if(t)for(n=0;n<t.length;n++)t[n].balloon.hide()},zoom:function(t,i,r,u){var f=this.chart,e,o;this.destroyValueBalloons(),this.zooming=!1,this.rotate?this.selectionPosY=e=f.mouseY:this.selectionPosX=e=f.mouseX,this.start=t,this.end=i,this.startTime=r,this.endTime=u,this.zoomed=!0,u=f.categoryAxis,e=this.rotate,i=this.width,r=this.height,t=u.stepWidth,this.fullWidth&&(o=1,u.parseDates&&!u.equalSpacing&&(o=u.minDuration()),e?this.extraWidth=r=t*o:(this.extraWidth=i=t*o,this.categoryBalloon.minWidth=i),this.line&&this.line.remove(),this.line=n.rect(this.container,i,r,this.cursorColor,this.cursorAlpha,0),this.line.node.style.pointerEvents="none",n.setCN(f,this.line,"cursor-fill"),this.fullRectSet&&this.fullRectSet.push(this.line)),this.stepWidth=t,this.tempVal=this.valueBalloonsEnabled,this.valueBalloonsEnabled=!1,this.setPosition(),this.valueBalloonsEnabled=this.tempVal,this.hideCursor()},hideObj:function(n){n&&n.hide()},hideCursor:function(t){void 0===t&&(t=!0),this.leaveCursor||(this.hideObj(this.set),this.hideObj(this.categoryBalloon),this.hideObj(this.line),this.hideObj(this.vLine),this.hideObj(this.hLine),this.hideObj(this.vaBalloon),this.hideObj(this.allBullets),this.destroyValueBalloons(),this.selectWithoutZooming||n.remove(this.selection),this.previousIndex=NaN,t&&this.fire("onHideCursor",{type:"onHideCursor",chart:this.chart,target:this}),this.drawing||this.chart.setMouseCursor("auto"),this.normalizeBulletSize())},setPosition:function(t,i,r){void 0===i&&(i=!0),"cursor"==this.type?(this.tempPosition=NaN,n.ifArray(this.data))&&(isNaN(t)&&(t=this.getMousePosition()),(t!=this.previousMousePosition||!0===this.zoomed||this.oneBalloonOnly)&&!isNaN(t)&&("mouse"==this.cursorPosition&&(this.tempPosition=t),isNaN(r)&&(r=this.chart.categoryAxis.xToIndex(t)),r!=this.previousIndex||this.zoomed||"mouse"==this.cursorPosition||this.oneBalloonOnly)&&(this.updateCursor(r,i),this.zoomed=!1),this.previousMousePosition=t):this.updateCrosshair()},normalizeBulletSize:function(){var r=this.resizedBullets,i,n,t;if(r)for(i=0;i<r.length;i++)n=r[i],t=n.bulletGraphics,t&&(t.translate(n.bx,n.by,1),n=n.graph,isNaN(this.graphBulletAlpha)||(t.setAttr("fill-opacity",n.bulletAlpha),t.setAttr("stroke-opacity",n.bulletBorderAlpha)))},updateCursor:function(t,i){var a=this.chart,v=this.fullWidth,l=a.mouseX-this.x,g=a.mouseY-this.y;if(this.drawingNow&&(n.remove(this.drawingLine),this.drawingLine=n.line(this.container,[this.x+this.drawStartX,this.x+l],[this.y+this.drawStartY,this.y+g],this.cursorColor,1,1)),this.enabled){void 0===i&&(i=!0),this.index=t+=this.adjustment;var h=a.categoryAxis,c=a.dx,o=a.dy,tt=this.x+1,ut=this.y+1,it=this.width,rt=this.height,b=this.data[t];if(this.fireMoved(),b){var e=b.x[h.id],p=a.rotate,u=this.stepWidth,r=this.categoryBalloon,f=this.firstTime,s=this.lastTime,y=this.cursorPosition,w=this.zooming,k=this.panning,nt=a.graphs;if(a.mouseIsOver||w||k||this.forceShow)if(this.forceShow=!1,k){var c=this.panClickPos,a=this.panClickEndTime,w=this.panClickStartTime,d=this.panClickEnd,tt=this.panClickStart,l=(p?c-g:c-l)/u;(!h.parseDates||h.equalSpacing)&&(l=Math.round(l)),0!==l&&(c={type:"zoomed",target:this},c.chart=this.chart,h.parseDates&&!h.equalSpacing?(a+l>s&&(l=s-a),w+l<f&&(l=f-w),c.start=Math.round(w+l),c.end=Math.round(a+l),this.fire(c.type,c)):d+l>=this.data.length||0>tt+l||(c.start=tt+l,c.end=d+l,this.fire(c.type,c)))}else{if("start"==y?e-=h.cellWidth/2:"mouse"==y&&(a.mouseIsOver?e=p?g-2:l-2:isNaN(this.tempPosition)||(e=this.tempPosition-2)),p){if(0>e)if(w)e=0;else{this.hideCursor();return}if(e>rt+1)if(w)e=rt+1;else{this.hideCursor();return}}else{if(0>e)if(w)e=0;else{this.hideCursor();return}if(e>it)if(w)e=it;else{this.hideCursor();return}}if(f=this.line,0<this.cursorAlpha&&(p?(s=0,u=e+o,v&&(u-=h.cellWidth/2)):(s=e,u=0,v&&(s-=h.cellWidth/2)),y=this.animationDuration,0<y&&!this.zooming?isNaN(this.previousX)?f.translate(s,u):(f.translate(this.previousX,this.previousY),f.animate({translate:s+","+u},y,"easeOutSine")):f.translate(s,u),this.previousX=s,this.previousY=u,f.show()),this.linePos=p?e+o:e,w&&(v&&f.hide(),p?this.updateSelectionSize(NaN,e):this.updateSelectionSize(e,NaN)),u=!0,w&&(u=!1),this.categoryBalloonEnabled&&u?(this.setBalloonPosition(r,h,e,p),(f=this.categoryBalloonFunction)?r.showBalloon(f(b.category)):h.parseDates?(h=n.formatDate(b.category,this.categoryBalloonDateFormat,a),-1!=h.indexOf("fff")&&(h=n.formatMilliseconds(h,b.category)),r.showBalloon(h)):r.showBalloon(n.fixNewLines(b.category))):r.hide(),nt&&this.bulletsEnabled&&this.showBullets(),this.oneBalloonOnly){for(e=Infinity,h=0;h<nt.length;h++)r=nt[h],r.showBalloon&&!r.hidden&&r.balloonText&&(f=b.axes[r.valueAxis.id].graphs[r.id],s=f.y,isNaN(s)||(p?Math.abs(l-s)<e&&(e=Math.abs(l-s),d=r):Math.abs(g-s)<e&&(e=Math.abs(g-s),d=r)));this.mostCloseGraph&&(d=this.mostCloseGraph)}if((t!=this.previousIndex||d!=this.previousMostCloseGraph)&&(this.normalizeBulletSize(),this.destroyValueBalloons(),this.resizedBullets=[],nt&&this.valueBalloonsEnabled&&u&&a.balloon.enabled)){for(this.valueBalloons=e=[],h=0;h<nt.length;h++)if(r=nt[h],s=NaN,(!this.oneBalloonOnly||r==d)&&r.showBalloon&&!r.hidden&&r.balloonText&&("step"==r.type&&"left"==r.stepDirection&&(b=this.data[t+1]),b)){if((f=b.axes[r.valueAxis.id].graphs[r.id])&&(s=f.y),this.showNextAvailable&&isNaN(s)&&t+1<this.data.length)for(u=t+1;u<this.data.length;u++)if((v=this.data[u])&&(f=v.axes[r.valueAxis.id].graphs[r.id],s=f.y,!isNaN(s)))break;isNaN(s)||(v=f.x,o=!0,p?(u=s,0>v||v>rt)&&(o=!1):(u=v,v=s,0>u||u>it+c+1)&&(o=!1),o&&(o=this.graphBulletSize,y=this.graphBulletAlpha,1==o&&isNaN(y)||!n.isModern||!(k=f.bulletGraphics)||(k.translate(f.bx,f.by,o),this.resizedBullets.push(f),isNaN(y)||(k.setAttr("fill-opacity",y),k.setAttr("stroke-opacity",y))),o=r.valueBalloon,y=a.getBalloonColor(r,f),o.setBounds(tt,ut,tt+it,ut+rt),o.pointerOrientation="H",k=this.balloonPointerOrientation,"vertical"==k&&(o.pointerOrientation="V"),"horizontal"==k&&(o.pointerOrientation="H"),o.changeColor(y),void 0!==r.balloonAlpha&&(o.fillAlpha=r.balloonAlpha),void 0!==r.balloonTextColor&&(o.color=r.balloonTextColor),o.setPosition(u+tt,v+ut),u=a.formatString(r.balloonText,f,!0),(v=r.balloonFunction)&&(u=v(f,r).toString()),""!==u&&(p?o.showBalloon(u):(o.text=u,o.show=!0),e.push({yy:s,balloon:o})),!p&&o.set&&(o.set.hide(),r=o.textDiv)&&(r.style.visibility="hidden")))}this.avoidBalloonOverlapping&&this.arrangeBalloons()}i?(c={type:"changed"},c.index=t,c.chart=this.chart,c.zooming=w,c.mostCloseGraph=d,c.position=p?g:l,c.target=this,a.fire("changed",c),this.fire("changed",c),this.skipZoomDispatch=!1):(this.skipZoomDispatch=!0,a.updateLegendValues(t)),this.previousIndex=t,this.previousMostCloseGraph=d}}}else this.hideCursor()},setBalloonPosition:function(n,t,i,r){var c=t.position,s=t.inside;t=t.axisThickness;var e=this.chart,o=e.dx,e=e.dy,u=this.x,f=this.y,h=this.width,l=this.height;r?(s&&("right"==c?n.setBounds(u,f+e,u+h+o,f+i+e):n.setBounds(u,f+e,u+h+o,f+i)),"right"==c?s?n.setPosition(u+h+o,f+i+e):n.setPosition(u+h+o+t,f+i+e):s?n.setPosition(u,f+i):n.setPosition(u-t,f+i)):"top"==c?s?n.setPosition(u+i+o,f+e):n.setPosition(u+i+o,f+e-t+1):s?n.setPosition(u+i,f+l):n.setPosition(u+i,f+l+t-1)},setBalloonBounds:function(n,t,i){var a=t.position,c=t.inside,l=t.axisThickness,s=t.tickLength,e=this.chart,h=e.dx,e=e.dy,r=this.x,u=this.y,f=this.width,o=this.height;i?(c&&(n.pointerWidth=0),"right"==a?c?n.setBounds(r,u+e,r+f+h,u+o+e):n.setBounds(r+f+h+l,u+e,r+f+1e3,u+o+e):c?n.setBounds(r,u,f+r,o+u):n.setBounds(-1e3,-1e3,r-s-l,u+o+15)):(n.maxWidth=f,t.parseDates&&(s=0,n.pointerWidth=0),"top"==a?c?n.setBounds(r+h,u+e,f+h+r,o+u):n.setBounds(r+h,-1e3,f+h+r,u+e-s-l):c?n.setBounds(r,u,f+r,o+u-s):n.setBounds(r,u+o+s+l-1,r+f,u+o+s+l))},enableDrawing:function(n){this.enabled=!n,this.hideCursor(),this.rolledOver=!1,this.drawing=n},isZooming:function(n){n&&n!=this.zooming&&this.handleMouseDown("fake"),n||n==this.zooming||this.handleMouseUp()},handleMouseOut:function(){if(this.enabled)if(this.zooming)this.setPosition();else{this.index=void 0;var n={type:"changed",index:void 0,target:this};n.chart=this.chart,this.fire("changed",n),this.hideCursor()}},handleReleaseOutside:function(){this.handleMouseUp()},handleMouseUp:function(){var u=this.chart,f=this.data,t,r,i,e,o,s;u&&(r=u.mouseX-this.x,i=u.mouseY-this.y,this.drawingNow&&(this.drawingNow=!1,n.remove(this.drawingLine),t=this.drawStartX,e=this.drawStartY,(2<Math.abs(t-r)||2<Math.abs(e-i))&&(t={type:"draw",target:this,chart:u,initialX:t,initialY:e,finalX:r,finalY:i},this.fire(t.type,t))),this.enabled&&0<f.length&&(this.pan?this.rolledOver=!1:this.zoomable&&this.zooming&&(t=this.selectWithoutZooming?{type:"selected"}:{type:"zoomed"},t.target=this,t.chart=u,"cursor"==this.type?(this.rotate?this.selectionPosY=i:this.selectionPosX=i=r,4>Math.abs(i-this.initialMouse)&&this.fromIndex==this.index||(this.index<this.fromIndex?(t.end=this.fromIndex,t.start=this.index):(t.end=this.index,t.start=this.fromIndex),i=u.categoryAxis,i.parseDates&&!i.equalSpacing&&(f[t.start]&&(t.start=f[t.start].time),f[t.end]&&(t.end=u.getEndTime(f[t.end].time))),this.skipZoomDispatch||this.fire(t.type,t))):(o=this.initialMouseX,s=this.initialMouseY,3>Math.abs(r-o)&&3>Math.abs(i-s)||(f=Math.min(o,r),e=Math.min(s,i),r=Math.abs(o-r),i=Math.abs(s-i),u.hideXScrollbar&&(f=0,r=this.width),u.hideYScrollbar&&(e=0,i=this.height),t.selectionHeight=i,t.selectionWidth=r,t.selectionY=e,t.selectionX=f,this.skipZoomDispatch||this.fire(t.type,t))),this.selectWithoutZooming||n.remove(this.selection)),this.skipZoomDispatch=!1)),this.panning=this.zooming=!1},showCursorAt:function(n){var t=this.chart.categoryAxis;n=t.parseDates?t.dateToCoordinate(n):t.categoryToCoordinate(n),this.previousMousePosition=NaN,this.forceShow=!0,this.setPosition(n,!1)},clearSelection:function(){n.remove(this.selection)},handleMouseDown:function(t){if(this.zoomable||this.pan||this.drawing){var f=this.rotate,u=this.chart,i=u.mouseX-this.x,r=u.mouseY-this.y;(0<i&&i<this.width&&0<r&&r<this.height||"fake"==t)&&(this.setPosition(),this.selectWithoutZooming&&n.remove(this.selection),this.drawing?(this.drawStartY=r,this.drawStartX=i,this.drawingNow=!0):this.pan?(this.zoomable=!1,u.setMouseCursor("move"),this.panning=!0,this.panClickPos=f?r:i,this.panClickStart=this.start,this.panClickEnd=this.end,this.panClickStartTime=this.startTime,this.panClickEndTime=this.endTime):this.zoomable&&("cursor"==this.type?(this.fromIndex=this.index,f?(this.initialMouse=r,this.selectionPosY=this.linePos):(this.initialMouse=i,this.selectionPosX=this.linePos)):(this.initialMouseX=i,this.initialMouseY=r,this.selectionPosX=i,this.selectionPosY=r),this.zooming=!0))}}})}(),function(){var n=window.AmCharts;n.SimpleChartScrollbar=n.Class({construct:function(t){this.createEvents("zoomed"),this.backgroundColor="#D4D4D4",this.backgroundAlpha=1,this.selectedBackgroundColor="#EFEFEF",this.scrollDuration=this.selectedBackgroundAlpha=1,this.resizeEnabled=!0,this.hideResizeGrips=!1,this.scrollbarHeight=20,this.updateOnReleaseOnly=!1,9>document.documentMode&&(this.updateOnReleaseOnly=!0),this.dragIconHeight=this.dragIconWidth=35,this.dragIcon="dragIconRoundBig",n.applyTheme(this,t,"SimpleChartScrollbar")},draw:function(){var t=this,i,s,r,h,c,l,a;if(t.destroy(),t.enabled){var u=t.chart.container,e=t.rotate,o=t.chart,f=u.set();t.set=f,o.scrollbarsSet.push(f),e?(i=t.scrollbarHeight,s=o.plotAreaHeight):(s=t.scrollbarHeight,i=o.plotAreaWidth),t.width=i,(t.height=s)&&i&&(r=n.rect(u,i,s,t.backgroundColor,t.backgroundAlpha,1,t.backgroundColor,t.backgroundAlpha),n.setCN(o,r,"scrollbar-bg"),t.bg=r,f.push(r),r=n.rect(u,i,s,"#000",.005),f.push(r),t.invisibleBg=r,r.click(function(){t.handleBgClick()}).mouseover(function(){t.handleMouseOver()}).mouseout(function(){t.handleMouseOut()}).touchend(function(){t.handleBgClick()}),r=n.rect(u,i,s,t.selectedBackgroundColor,t.selectedBackgroundAlpha),n.setCN(o,r,"scrollbar-bg-selected"),t.selectedBG=r,f.push(r),i=n.rect(u,i,s,"#000",.005),t.dragger=i,f.push(i),i.mousedown(function(n){t.handleDragStart(n)}).mouseup(function(){t.handleDragStop()}).mouseover(function(){t.handleDraggerOver()}).mouseout(function(){t.handleMouseOut()}).touchstart(function(n){t.handleDragStart(n)}).touchend(function(){t.handleDragStop()}),i=o.pathToImages,e?(r=i+t.dragIcon+"H.png",i=t.dragIconWidth,e=t.dragIconHeight):(r=i+t.dragIcon+".png",e=t.dragIconWidth,i=t.dragIconHeight),s=u.image(r,0,0,e,i),n.setCN(o,s,"scrollbar-grip-left"),r=u.image(r,0,0,e,i),n.setCN(o,r,"scrollbar-grip-right"),h=10,c=20,o.panEventsEnabled&&(h=25,c=t.scrollbarHeight),l=n.rect(u,h,c,"#000",.005),a=n.rect(u,h,c,"#000",.005),a.translate(-(h-e)/2,-(c-i)/2),l.translate(-(h-e)/2,-(c-i)/2),e=u.set([s,a]),u=u.set([r,l]),t.iconLeft=e,f.push(t.iconLeft),t.iconRight=u,f.push(u),e.mousedown(function(){t.leftDragStart()}).mouseup(function(){t.leftDragStop()}).mouseover(function(){t.iconRollOver()}).mouseout(function(){t.iconRollOut()}).touchstart(function(){t.leftDragStart()}).touchend(function(){t.leftDragStop()}),u.mousedown(function(){t.rightDragStart()}).mouseup(function(){t.rightDragStop()}).mouseover(function(){t.iconRollOver()}).mouseout(function(){t.iconRollOut()}).touchstart(function(){t.rightDragStart()}).touchend(function(){t.rightDragStop()}),n.ifArray(o.chartData)?f.show():f.hide(),t.hideDragIcons(),t.clipDragger(!1)),f.translate(t.x,t.y),f.node.style.msTouchAction="none"}},updateScrollbarSize:function(n,t){n=Math.round(n),t=Math.round(t);var i=this.dragger,r,u,f,e;this.rotate?(r=0,u=n,f=this.width+1,e=t-n,i.setAttr("height",t-n),i.setAttr("y",u)):(r=n,u=0,f=t-n,e=this.height+1,i.setAttr("width",t-n),i.setAttr("x",r)),this.clipAndUpdate(r,u,f,e)},update:function(){var n,c=!1,r,t,f=this.x,e=this.y,u=this.dragger,o=this.getDBox();if(o){r=o.x+f,t=o.y+e;var l=o.width,o=o.height,a=this.rotate,i=this.chart,s=this.width,h=this.height,v=i.mouseX,y=i.mouseY;n=this.initialMouse,this.forceClip&&this.clipDragger(!0),i.mouseIsOver&&(this.dragging&&(i=this.initialCoord,a?(n=i+(y-n),0>n&&(n=0),i=h-o,n>i&&(n=i),u.setAttr("y",n)):(n=i+(v-n),0>n&&(n=0),i=s-l,n>i&&(n=i),u.setAttr("x",n)),this.clipDragger(!0)),this.resizingRight&&(a?(n=y-t,n+t>h+e&&(n=h-t+e),0>n?(this.resizingRight=!1,c=this.resizingLeft=!0):(0===n&&(n=.1),u.setAttr("height",n))):(n=v-r,n+r>s+f&&(n=s-r+f),0>n?(this.resizingRight=!1,c=this.resizingLeft=!0):(0===n&&(n=.1),u.setAttr("width",n))),this.clipDragger(!0)),this.resizingLeft&&(a?(r=t,t=y,t<e&&(t=e),t>h+e&&(t=h+e),n=!0===c?r-t:o+r-t,0>n?(this.resizingRight=!0,this.resizingLeft=!1,u.setAttr("y",r+o-e)):(0===n&&(n=.1),u.setAttr("y",t-e),u.setAttr("height",n))):(t=v,t<f&&(t=f),t>s+f&&(t=s+f),n=!0===c?r-t:l+r-t,0>n?(this.resizingRight=!0,this.resizingLeft=!1,u.setAttr("x",r+l-f)):(0===n&&(n=.1),u.setAttr("x",t-f),u.setAttr("width",n))),this.clipDragger(!0)))}},stopForceClip:function(){this.forceClip=!1},clipDragger:function(n){var t=this.getDBox();if(t){var i=t.x,r=t.y,u=t.width,t=t.height,f=!1;this.rotate?(i=0,u=this.width+1,this.clipY!=r||this.clipH!=t)&&(f=!0):(r=0,t=this.height+1,this.clipX!=i||this.clipW!=u)&&(f=!0),f&&(this.clipAndUpdate(i,r,u,t),n&&(this.updateOnReleaseOnly||this.dispatchScrollbarEvent()))}},maskGraphs:function(){},clipAndUpdate:function(n,t,i,r){this.clipX=n,this.clipY=t,this.clipW=i,this.clipH=r,this.selectedBG.clipRect(n,t,i,r),this.updateDragIconPositions(),this.maskGraphs(n,t,i,r)},dispatchScrollbarEvent:function(){var n;if(this.skipEvent)this.skipEvent=!1;else{n=this.chart,n.hideBalloon();var t=this.getDBox(),r=t.x,u=t.y,i=t.width,t=t.height;this.rotate?(r=u,i=this.height/t):i=this.width/i,n={type:"zoomed",position:r,chart:n,target:this,multiplier:i},this.fire(n.type,n)}},updateDragIconPositions:function(){var i=this.getDBox(),u=i.x,f=i.y,e=this.iconLeft,o=this.iconRight,n,t,r=this.scrollbarHeight;this.rotate?(n=this.dragIconWidth,t=this.dragIconHeight,e.translate((r-t)/2,f-n/2),o.translate((r-t)/2,f+i.height-n/2)):(n=this.dragIconHeight,t=this.dragIconWidth,e.translate(u-t/2,(r-n)/2),o.translate(u-t/2+i.width,(r-n)/2))},showDragIcons:function(){this.resizeEnabled&&(this.iconLeft.show(),this.iconRight.show())},hideDragIcons:function(){this.resizingLeft||this.resizingRight||this.dragging||((this.hideResizeGrips||!this.resizeEnabled)&&(this.iconLeft.hide(),this.iconRight.hide()),this.removeCursors())},removeCursors:function(){this.chart.setMouseCursor("auto")},relativeZoom:function(n,t){this.enabled&&(this.dragger.stop(),this.multiplier=n,this.position=t,this.updateScrollbarSize(t,this.rotate?t+this.height/n:t+this.width/n),this.clipDragger())},destroy:function(){this.clear(),n.remove(this.set),n.remove(this.iconRight),n.remove(this.iconLeft)},clear:function(){},handleDragStart:function(){var n,t;this.enabled&&(n=this.chart,this.dragger.stop(),this.removeCursors(),this.dragging=!0,t=this.getDBox(),this.rotate?(this.initialCoord=t.y,this.initialMouse=n.mouseY):(this.initialCoord=t.x,this.initialMouse=n.mouseX))},handleDragStop:function(){this.updateOnReleaseOnly&&(this.update(),this.skipEvent=!1,this.dispatchScrollbarEvent()),this.dragging=!1,this.mouseIsOver&&this.removeCursors(),this.update()},handleDraggerOver:function(){this.handleMouseOver()},leftDragStart:function(){this.dragger.stop(),this.resizingLeft=!0},leftDragStop:function(){this.resizingLeft=!1,this.mouseIsOver||this.removeCursors(),this.updateOnRelease()},rightDragStart:function(){this.dragger.stop(),this.resizingRight=!0},rightDragStop:function(){this.resizingRight=!1,this.mouseIsOver||this.removeCursors(),this.updateOnRelease()},iconRollOut:function(){this.removeCursors()},iconRollOver:function(){this.rotate?this.chart.setMouseCursor("n-resize"):this.chart.setMouseCursor("e-resize"),this.handleMouseOver()},getDBox:function(){if(this.dragger)return this.dragger.getBBox()},handleBgClick:function(){var t=this,r,i,u,f,e,o;if(!t.resizingRight&&!t.resizingLeft){t.zooming=!0,u=t.scrollDuration,f=t.dragger,r=t.getDBox(),e=r.height,o=r.width,i=t.chart;var h=t.y,c=t.x,s=t.rotate;s?(r="y",i=i.mouseY-e/2-h,i=n.fitToBounds(i,0,t.height-e)):(r="x",i=i.mouseX-o/2-c,i=n.fitToBounds(i,0,t.width-o)),t.updateOnReleaseOnly?(t.skipEvent=!1,f.setAttr(r,i),t.dispatchScrollbarEvent(),t.clipDragger()):(i=Math.round(i),s?f.animate({y:i},u,">"):f.animate({x:i},u,">"),t.forceClip=!0,clearTimeout(t.forceTO),t.forceTO=setTimeout(function(){t.stopForceClip.call(t)},5e3*u))}},updateOnRelease:function(){this.updateOnReleaseOnly&&(this.update(),this.skipEvent=!1,this.dispatchScrollbarEvent())},handleReleaseOutside:function(){this.set&&((this.resizingLeft||this.resizingRight||this.dragging)&&(this.updateOnRelease(),this.removeCursors()),this.mouseIsOver=this.dragging=this.resizingRight=this.resizingLeft=!1,this.hideDragIcons(),this.update())},handleMouseOver:function(){this.mouseIsOver=!0,this.showDragIcons()},handleMouseOut:function(){this.mouseIsOver=!1,this.hideDragIcons()}})}(),function(){var n=window.AmCharts;n.ChartScrollbar=n.Class({inherits:n.SimpleChartScrollbar,construct:function(t){this.cname="ChartScrollbar",n.ChartScrollbar.base.construct.call(this,t),this.enabled=!0,this.graphLineColor="#BBBBBB",this.graphLineAlpha=0,this.graphFillColor="#BBBBBB",this.graphFillAlpha=1,this.selectedGraphLineColor="#888888",this.selectedGraphLineAlpha=0,this.selectedGraphFillColor="#888888",this.selectedGraphFillAlpha=1,this.gridCount=0,this.gridColor="#FFFFFF",this.gridAlpha=.7,this.skipEvent=this.autoGridCount=!1,this.color="#FFFFFF",this.scrollbarCreated=!1,this.offset=0,this.oppositeAxis=!0,n.applyTheme(this,t,this.cname)},init:function(){var i=this.categoryAxis,t=this.chart,r;i||(this.categoryAxis=i=new n.CategoryAxis),i.chart=t,i.id="scrollbar",i.dateFormats=t.categoryAxis.dateFormats,i.markPeriodChange=t.categoryAxis.markPeriodChange,i.boldPeriodBeginning=t.categoryAxis.boldPeriodBeginning,i.axisItemRenderer=n.RecItem,i.axisRenderer=n.RecAxis,i.guideFillRenderer=n.RecFill,i.inside=!0,i.fontSize=this.fontSize,i.tickLength=0,i.axisAlpha=0,n.isString(this.graph)&&(this.graph=n.getObjById(t.graphs,this.graph)),(i=this.graph)&&(r=this.valueAxis,r||(this.valueAxis=r=new n.ValueAxis,r.visible=!1,r.scrollbar=!0,r.axisItemRenderer=n.RecItem,r.axisRenderer=n.RecAxis,r.guideFillRenderer=n.RecFill,r.labelsEnabled=!1,r.chart=t),t=this.unselectedGraph,t||(t=new n.AmGraph,t.scrollbar=!0,this.unselectedGraph=t,t.negativeBase=i.negativeBase,t.noStepRisers=i.noStepRisers),t=this.selectedGraph,t||(t=new n.AmGraph,t.scrollbar=!0,this.selectedGraph=t,t.negativeBase=i.negativeBase,t.noStepRisers=i.noStepRisers)),this.scrollbarCreated=!0},draw:function(){var t=this,f,r,h,c,w,b,i,p;if(n.ChartScrollbar.base.draw.call(t),t.enabled){t.scrollbarCreated||t.init();var o=t.chart,s=o.chartData,e=t.categoryAxis,l=t.rotate,h=t.x,c=t.y,v=t.width,a=t.height,u=o.categoryAxis,y=t.set;if(e.setOrientation(!l),e.parseDates=u.parseDates,e.rotate=l,e.equalSpacing=u.equalSpacing,e.minPeriod=u.minPeriod,e.startOnAxis=u.startOnAxis,e.viW=v,e.viH=a,e.width=v,e.height=a,e.gridCount=t.gridCount,e.gridColor=t.gridColor,e.gridAlpha=t.gridAlpha,e.color=t.color,e.tickLength=0,e.axisAlpha=0,e.autoGridCount=t.autoGridCount,e.parseDates&&!e.equalSpacing&&e.timeZoom(o.firstTime,o.lastTime),e.zoom(0,s.length-1),u=t.graph){for(f=t.valueAxis,r=u.valueAxis,f.id=r.id,f.rotate=l,f.setOrientation(l),f.width=v,f.height=a,f.viW=v,f.viH=a,f.dataProvider=s,f.reversed=r.reversed,f.logarithmic=r.logarithmic,f.gridAlpha=0,f.axisAlpha=0,y.push(f.set),l?(f.y=c,f.x=0):(f.x=h,f.y=0),h=Infinity,c=-Infinity,w=0;w<s.length;w++){b=s[w].axes[r.id].graphs[u.id].values;for(i in b)b.hasOwnProperty(i)&&"percents"!=i&&"total"!=i&&(p=b[i],p<h&&(h=p),p>c&&(c=p))}Infinity!=h&&(f.minimum=h),-Infinity!=c&&(f.maximum=c+.1*(c-h)),h==c&&(--f.minimum,f.maximum+=1),void 0!==t.minimum&&(f.minimum=t.minimum),void 0!==t.maximum&&(f.maximum=t.maximum),f.zoom(0,s.length-1),i=t.unselectedGraph,i.id=u.id,i.bcn="scrollbar-graph-",i.rotate=l,i.chart=o,i.data=s,i.valueAxis=f,i.chart=u.chart,i.categoryAxis=t.categoryAxis,i.periodSpan=u.periodSpan,i.valueField=u.valueField,i.openField=u.openField,i.closeField=u.closeField,i.highField=u.highField,i.lowField=u.lowField,i.lineAlpha=t.graphLineAlpha,i.lineColorR=t.graphLineColor,i.fillAlphas=t.graphFillAlpha,i.fillColorsR=t.graphFillColor,i.connect=u.connect,i.hidden=u.hidden,i.width=v,i.height=a,i.pointPosition=u.pointPosition,i.stepDirection=u.stepDirection,i.periodSpan=u.periodSpan,r=t.selectedGraph,r.id=u.id,r.bcn=i.bcn+"selected-",r.rotate=l,r.chart=o,r.data=s,r.valueAxis=f,r.chart=u.chart,r.categoryAxis=e,r.periodSpan=u.periodSpan,r.valueField=u.valueField,r.openField=u.openField,r.closeField=u.closeField,r.highField=u.highField,r.lowField=u.lowField,r.lineAlpha=t.selectedGraphLineAlpha,r.lineColorR=t.selectedGraphLineColor,r.fillAlphas=t.selectedGraphFillAlpha,r.fillColorsR=t.selectedGraphFillColor,r.connect=u.connect,r.hidden=u.hidden,r.width=v,r.height=a,r.pointPosition=u.pointPosition,r.stepDirection=u.stepDirection,r.periodSpan=u.periodSpan,o=t.graphType,o||(o=u.type),i.type=o,r.type=o,s=s.length-1,i.zoom(0,s),r.zoom(0,s),r.set.click(function(){t.handleBackgroundClick()}).mouseover(function(){t.handleMouseOver()}).mouseout(function(){t.handleMouseOut()}),i.set.click(function(){t.handleBackgroundClick()}).mouseover(function(){t.handleMouseOver()}).mouseout(function(){t.handleMouseOut()}),y.push(i.set),y.push(r.set)}y.push(e.set),y.push(e.labelsSet),t.bg.toBack(),t.invisibleBg.toFront(),t.dragger.toFront(),t.iconLeft.toFront(),t.iconRight.toFront()}},timeZoom:function(t,i,r){this.startTime=t,this.endTime=i,this.timeDifference=i-t,this.skipEvent=!n.toBoolean(r),this.zoomScrollbar(),this.skipEvent||this.dispatchScrollbarEvent()},zoom:function(n,t){this.start=n,this.end=t,this.skipEvent=!0,this.zoomScrollbar()},dispatchScrollbarEvent:function(){var e,n,o,u;if(this.skipEvent)this.skipEvent=!1;else{e=this.chart.chartData,u=this.dragger.getBBox(),n=u.x;var i=u.y,r=u.width,u=u.height,f=this.chart;this.rotate?(n=i,o=u):o=r,r={type:"zoomed",target:this},r.chart=f;var t=this.categoryAxis,s=this.stepWidth,i=f.minSelectedTime,u=!1;t.parseDates&&!t.equalSpacing?(e=f.lastTime,f=f.firstTime,t=Math.round(n/s)+f,n=this.dragging?t+this.timeDifference:Math.round((n+o)/s)+f,t>n&&(t=n),0<i&&n-t<i&&(n=Math.round(t+(n-t)/2),u=Math.round(i/2),t=n-u,n+=u,u=!0),n>e&&(n=e),n-i<t&&(t=n-i),t<f&&(t=f),t+i>n&&(n=t+i),t!=this.startTime||n!=this.endTime)&&(this.startTime=t,this.endTime=n,r.start=t,r.end=n,r.startDate=new Date(t),r.endDate=new Date(n),this.fire(r.type,r)):(t.startOnAxis||(n+=s/2),o-=this.stepWidth/2,i=t.xToIndex(n),n=t.xToIndex(n+o),i!=this.start||this.end!=n)&&(t.startOnAxis&&(this.resizingRight&&i==n&&n++,this.resizingLeft&&i==n&&(0<i?i--:n=1)),this.start=i,this.end=this.dragging?this.start+this.difference:n,r.start=this.start,r.end=this.end,t.parseDates&&(e[this.start]&&(r.startDate=new Date(e[this.start].time)),e[this.end]&&(r.endDate=new Date(e[this.end].time))),this.fire(r.type,r)),u&&this.zoomScrollbar()}},zoomScrollbar:function(){var i,r,t,n;i=this.chart,t=i.chartData,n=this.categoryAxis,n.parseDates&&!n.equalSpacing?(t=n.stepWidth,n=i.firstTime,i=t*(this.startTime-n),r=t*(this.endTime-n)):(i=t[this.start].x[n.id],r=t[this.end].x[n.id],t=n.stepWidth,n.startOnAxis||(n=t/2,i-=n,r+=n)),this.stepWidth=t,this.updateScrollbarSize(i,r)},maskGraphs:function(n,t,i,r){var u=this.selectedGraph;u&&u.set.clipRect(n,t,i,r)},handleDragStart:function(){n.ChartScrollbar.base.handleDragStart.call(this),this.difference=this.end-this.start,this.timeDifference=this.endTime-this.startTime,0>this.timeDifference&&(this.timeDifference=0)},handleBackgroundClick:function(){n.ChartScrollbar.base.handleBackgroundClick.call(this),this.dragging||(this.difference=this.end-this.start,this.timeDifference=this.endTime-this.startTime,0>this.timeDifference&&(this.timeDifference=0))}})}(),function(){var n=window.AmCharts;n.AmBalloon=n.Class({construct:function(t){this.cname="AmBalloon",this.enabled=!0,this.fillColor="#FFFFFF",this.fillAlpha=.8,this.borderThickness=2,this.borderColor="#FFFFFF",this.borderAlpha=1,this.cornerRadius=0,this.maxWidth=220,this.horizontalPadding=8,this.verticalPadding=4,this.pointerWidth=6,this.pointerOrientation="V",this.color="#000000",this.adjustBorderColor=!0,this.show=this.follow=this.showBullet=!1,this.bulletSize=3,this.shadowAlpha=.4,this.shadowColor="#000000",this.fadeOutDuration=this.animationDuration=.3,this.fixedPosition=!1,this.offsetY=6,this.offsetX=1,this.textAlign="center",this.disableMouseEvents=!0,this.deltaSignX=this.deltaSignY=1,n.isModern||(this.offsetY*=1.5),n.applyTheme(this,t,this.cname)},draw:function(){var f=this.pointToX,h=this.pointToY,l=this.chart,o,p,u,r,ut,t;if(n.VML&&(this.fadeOutDuration=0),this.xAnim&&l.stopAnim(this.xAnim),this.yAnim&&l.stopAnim(this.yAnim),!isNaN(f)){var it=this.follow,y=l.container,v=this.set;if(n.remove(v),this.removeDiv(),v=y.set(),v.node.style.pointerEvents="none",this.set=v,l.balloonsSet.push(v),this.show){var a=this.l,k=this.t,nt=this.r,g=this.b,o=this.balloonColor,s=this.fillColor,rt=this.borderColor,c=s;void 0!=o&&(this.adjustBorderColor?c=rt=o:s=o);var w=this.horizontalPadding,d=this.verticalPadding,e=this.pointerWidth,ft=this.pointerOrientation,b=this.cornerRadius,i=l.fontFamily,t=this.fontSize;void 0==t&&(t=l.fontSize),o=document.createElement("div"),p=l.classNamePrefix,o.className=p+"-balloon-div",this.className&&(o.className=o.className+" "+p+"-balloon-div-"+this.className),p=o.style,this.disableMouseEvents&&(p.pointerEvents="none"),p.position="absolute",u=this.minWidth,r="",isNaN(u)||(r="min-width:"+(u-2*w)+"px; "),o.innerHTML="<div style='text-align:"+this.textAlign+"; "+r+"max-width:"+this.maxWidth+"px; font-size:"+t+"px; color:"+this.color+"; font-family:"+i+"'>"+this.text+"</div>",l.chartDiv.appendChild(o),this.textDiv=o,t=o.offsetWidth,i=o.offsetHeight,o.clientHeight&&(t=o.clientWidth,i=o.clientHeight),i+=2*d,r=t+2*w,!isNaN(u)&&r<u&&(r=u),window.opera&&(i+=2),ut=!1,t=this.offsetY,l.handDrawn&&(t+=l.handDrawScatter+2),"H"!=ft?(u=f-r/2,h<k+i+10&&"down"!=ft?(ut=!0,it&&(h+=t),t=h+e,this.deltaSignY=-1):(it&&(h-=t),t=h-i-e,this.deltaSignY=1)):(2*e>i&&(e=i/2),t=h-i/2,f<a+(nt-a)/2?(u=f+e,this.deltaSignX=-1):(u=f-r-e,this.deltaSignX=1)),t+i>=g&&(t=g-i),t<k&&(t=k),u<a&&(u=a),u+r>nt&&(u=nt-r);var k=t+d,g=u+w,d=this.shadowAlpha,et=this.shadowColor,w=this.borderThickness,ot=this.bulletSize,tt;0<b||0===e?(0<d&&(f=n.rect(y,r,i,s,0,w+1,et,d,this.cornerRadius),n.isModern?f.translate(1,1):f.translate(4,4),v.push(f)),s=n.rect(y,r,i,s,this.fillAlpha,w,rt,this.borderAlpha,this.cornerRadius),this.showBullet&&(tt=n.circle(y,ot,c,this.fillAlpha),v.push(tt))):(c=[],b=[],"H"!=ft?(a=f-u,a>r-e&&(a=r-e),a<e&&(a=e),c=[0,a-e,f-u,a+e,r,r,0,0],b=ut?[0,0,h-t,0,0,i,i,0]:[i,i,h-t,i,i,0,0,i]):(c=h-t,c>i-e&&(c=i-e),c<e&&(c=e),b=[0,c-e,h-t,c+e,i,i,0,0],c=f<a+(nt-a)/2?[0,0,u<f?0:f-u,0,0,r,r,0]:[r,r,u+r>f?r:f-u,r,r,0,0,r]),0<d&&(f=n.polygon(y,c,b,s,0,w,et,d),f.translate(1,1),v.push(f)),s=n.polygon(y,c,b,s,this.fillAlpha,w,rt,this.borderAlpha)),this.bg=s,v.push(s),s.toFront(),n.setCN(l,s,"balloon-bg"),this.className&&n.setCN(l,s,"balloon-bg-"+this.className),y=1*this.deltaSignX,p.left=g+"px",p.top=k+"px",v.translate(u-y,t),s=s.getBBox(),this.bottom=t+i+1,this.yPos=s.y+t,tt&&tt.translate(this.pointToX-u+y,h-t),h=this.animationDuration,0<this.animationDuration&&!it&&!isNaN(this.prevX)&&(v.translate(this.prevX,this.prevY),v.animate({translate:u-y+","+t},h,"easeOutSine"),o&&(p.left=this.prevTX+"px",p.top=this.prevTY+"px",this.xAnim=l.animate({node:o},"left",this.prevTX,g,h,"easeOutSine","px"),this.yAnim=l.animate({node:o},"top",this.prevTY,k,h,"easeOutSine","px"))),this.prevX=u-y,this.prevY=t,this.prevTX=g,this.prevTY=k}}},followMouse:function(){var n,t,i;if(this.follow&&this.show&&(n=this.chart.mouseX-this.offsetX*this.deltaSignX,t=this.chart.mouseY,this.pointToX=n,this.pointToY=t,n!=this.previousX||t!=this.previousY))if(this.previousX=n,this.previousY=t,0===this.cornerRadius)this.draw();else if(i=this.set,i){var r=i.getBBox(),n=n-r.width/2,u=t-r.height-10;n<this.l&&(n=this.l),n>this.r-r.width&&(n=this.r-r.width),u<this.t&&(u=t+10),i.translate(n,u),t=this.textDiv.style,t.left=n+this.horizontalPadding+"px",t.top=u+this.verticalPadding+"px"}},changeColor:function(n){this.balloonColor=n},setBounds:function(n,t,i,r){this.l=n,this.t=t,this.r=i,this.b=r,this.destroyTO&&clearTimeout(this.destroyTO)},showBalloon:function(n){this.text=n,this.show=!0,this.destroyTO&&clearTimeout(this.destroyTO),n=this.chart,this.fadeAnim1&&n.stopAnim(this.fadeAnim1),this.fadeAnim2&&n.stopAnim(this.fadeAnim2),this.draw()},hide:function(n){var t=this,r,i;isNaN(n)&&(n=t.fadeOutDuration),r=t.chart,0<n?(t.destroyTO&&clearTimeout(t.destroyTO),t.destroyTO=setTimeout(function(){t.destroy.call(t)},1e3*n),t.follow=!1,t.show=!1,i=t.set,i&&(i.setAttr("opacity",t.fillAlpha),t.fadeAnim1=i.animate({opacity:0},n,"easeInSine")),t.textDiv&&(t.fadeAnim2=r.animate({node:t.textDiv},"opacity",1,0,n,"easeInSine",""))):(t.show=!1,t.follow=!1,t.destroy())},setPosition:function(n,t,i){this.pointToX=n,this.pointToY=t,i&&(n==this.previousX&&t==this.previousY||this.draw()),this.previousX=n,this.previousY=t},followCursor:function(n){var t=this,i,r;(t.follow=n)?(t.pShowBullet=t.showBullet,t.showBullet=!1):void 0!==t.pShowBullet&&(t.showBullet=t.pShowBullet),clearInterval(t.interval),i=t.chart.mouseX,r=t.chart.mouseY,!isNaN(i)&&n&&(t.pointToX=i-t.offsetX*t.deltaSignX,t.pointToY=r,t.followMouse(),t.interval=setInterval(function(){t.followMouse.call(t)},40))},removeDiv:function(){if(this.textDiv){var n=this.textDiv.parentNode;n&&n.removeChild(this.textDiv)}},destroy:function(){clearInterval(this.interval),n.remove(this.set),this.removeDiv(),this.set=null}})}(),function(){var n=window.AmCharts;n.AmCoordinateChart=n.Class({inherits:n.AmChart,construct:function(t){n.AmCoordinateChart.base.construct.call(this,t),this.theme=t,this.createEvents("rollOverGraphItem","rollOutGraphItem","clickGraphItem","doubleClickGraphItem","rightClickGraphItem","clickGraph","rollOverGraph","rollOutGraph"),this.startAlpha=1,this.startDuration=0,this.startEffect="elastic",this.sequencedAnimation=!0,this.colors="#FF6600 #FCD202 #B0DE09 #0D8ECF #2A0CD0 #CD0D74 #CC0000 #00CC00 #0000CC #DDDDDD #999999 #333333 #990000".split(" "),this.balloonDateFormat="MMM DD, YYYY",this.valueAxes=[],this.graphs=[],this.guides=[],this.gridAboveGraphs=!1,n.applyTheme(this,t,"AmCoordinateChart")},initChart:function(){n.AmCoordinateChart.base.initChart.call(this);var t=this.categoryAxis;t&&(this.categoryAxis=n.processObject(t,n.CategoryAxis,this.theme)),this.processValueAxes(),this.createValueAxes(),this.processGraphs(),this.processGuides(),n.VML&&(this.startAlpha=1),this.setLegendData(this.graphs),this.gridAboveGraphs&&this.gridSet.toFront()},createValueAxes:function(){if(0===this.valueAxes.length){var t=new n.ValueAxis;this.addValueAxis(t)}},parseData:function(){this.processValueAxes(),this.processGraphs()},parseSerialData:function(t){var y=this.graphs,i,ht={},k=this.seriesIdField,p,g,u,et,tt,rt,ft,d,w,st,ut,h,it,c,r,f,nt,a,s,l,o,b,ot,e,v;if(k||(k=this.categoryField),this.chartData=[],t)for(p=!1,u=this.categoryAxis,u&&(p=u.parseDates,et=u.forceShowField,rt=u.classNameField,tt=u.labelColorField,g=u.categoryFunction),w={},p&&(i=n.extractPeriod(u.minPeriod),ft=i.period,d=i.count,st=n.getPeriodDuration(ft,d)),ut={},this.lookupTable=ut,it=this.dataDateFormat,c={},h=0;h<t.length;h++)if(r={},f=t[h],i=f[this.categoryField],r.dataContext=f,r.category=g?g(i,f,u):String(i),et&&(r.forceShow=f[et]),rt&&(r.className=f[rt]),tt&&(r.labelColor=f[tt]),ut[f[k]]=r,!p||(u.categoryFunction?i=u.categoryFunction(i,f,u):(!it||i instanceof Date||(i=i.toString()+" |"),i=n.getDate(i,it,u.minPeriod)),i=n.resetDateToMin(i,ft,d,u.firstDayOfWeek),r.category=i,r.time=i.getTime(),!isNaN(r.time))){for(nt=this.valueAxes,r.axes={},r.x={},a=0;a<nt.length;a++)for(s=nt[a].id,r.axes[s]={},r.axes[s].graphs={},l=0;l<y.length;l++)i=y[l],o=i.id,b=1.1,isNaN(i.gapPeriod)||(b=i.gapPeriod),ot=i.periodValue,i.valueAxis.id==s&&(r.axes[s].graphs[o]={},e={},e.index=h,v=f,i.dataProvider&&(v=ht),e.values=this.processValues(v,i,ot),!i.connect&&c&&c[o]&&r.time-w[o]>=st*b&&(c[o].gap=!0),this.processFields(i,e,v),e.category=r.category,e.serialDataItem=r,e.graph=i,r.axes[s].graphs[o]=e,w[o]=r.time,c[o]=e);this.chartData[h]=r}for(t=0;t<y.length;t++)i=y[t],i.dataProvider&&this.parseGraphData(i)},processValues:function(t,i,r){var s={},f,c=!1,h,e,u,o;for("candlestick"!=i.type&&"ohlc"!=i.type||""===r||(c=!0),h="value error open close low high".split(" "),e=0;e<h.length;e++)u=h[e],"value"!=u&&"error"!=u&&c&&(r=u.charAt(0).toUpperCase()+u.slice(1)),o=t[i[u+"Field"]+r],f=Number(o),isNaN(f)||(s[u]=f),"date"==i.valueAxis.type&&void 0!==o&&(f=n.getDate(o,i.chart.dataDateFormat),s[u]=f.getTime());return s},parseGraphData:function(n){var e=n.dataProvider,t=n.seriesIdField,r;for(t||(t=this.seriesIdField),t||(t=this.categoryField),r=0;r<e.length;r++){var u=e[r],f=this.lookupTable[String(u[t])],i=n.valueAxis.id;f&&(i=f.axes[i].graphs[n.id],i.serialDataItem=f,i.values=this.processValues(u,n,n.periodValue),this.processFields(n,i,u))}},addValueAxis:function(n){n.chart=this,this.valueAxes.push(n),this.validateData()},removeValueAxesAndGraphs:function(){for(var t=this.valueAxes,n=t.length-1;-1<n;n--)this.removeValueAxis(t[n])},removeValueAxis:function(n){for(var i=this.graphs,r,t=i.length-1;0<=t;t--)r=i[t],r&&r.valueAxis==n&&this.removeGraph(r);for(i=this.valueAxes,t=i.length-1;0<=t;t--)i[t]==n&&i.splice(t,1);this.validateData()},addGraph:function(n){this.graphs.push(n),this.chooseGraphColor(n,this.graphs.length-1),this.validateData()},removeGraph:function(n){for(var i=this.graphs,t=i.length-1;0<=t;t--)i[t]==n&&(i.splice(t,1),n.destroy());this.validateData()},processValueAxes:function(){for(var r=this.valueAxes,t,i=0;i<r.length;i++)t=r[i],t=n.processObject(t,n.ValueAxis,this.theme),r[i]=t,t.chart=this,t.id||(t.id="valueAxisAuto"+i+"_"+ +new Date),void 0===t.usePrefixes&&(t.usePrefixes=this.usePrefixes)},processGuides:function(){var u=this.guides,f=this.categoryAxis,r,t,i;if(u)for(r=0;r<u.length;r++)t=u[r],(void 0!==t.category||void 0!==t.date)&&f&&f.addGuide(t),t.id||(t.id="guideAuto"+r+"_"+ +new Date),i=t.valueAxis,i?(n.isString(i)&&(i=this.getValueAxisById(i)),i?i.addGuide(t):this.valueAxes[0].addGuide(t)):isNaN(t.value)||this.valueAxes[0].addGuide(t)},processGraphs:function(){for(var r=this.graphs,t,i=0;i<r.length;i++)t=r[i],t=n.processObject(t,n.AmGraph,this.theme),r[i]=t,this.chooseGraphColor(t,i),t.chart=this,n.isString(t.valueAxis)&&(t.valueAxis=this.getValueAxisById(t.valueAxis)),t.valueAxis||(t.valueAxis=this.valueAxes[0]),t.id||(t.id="graphAuto"+i+"_"+ +new Date)},formatString:function(t,i,r){var f=i.graph,u=f.valueAxis;return u.duration&&i.values.value&&(u=n.formatDuration(i.values.value,u.duration,"",u.durationUnits,u.maxInterval,u.numberFormatter),t=t.split("[[value]]").join(u)),t=n.massReplace(t,{"[[title]]":f.title,"[[description]]":i.description}),t=r?n.fixNewLines(t):n.fixBrakes(t),t=n.cleanFromEmpty(t)},getBalloonColor:function(n,t,i){var r=n.lineColor,u=n.balloonColor;return i&&(u=r),i=n.fillColorsR,"object"==typeof i?r=i[0]:void 0!==i&&(r=i),t.isNegative&&(i=n.negativeLineColor,n=n.negativeFillColors,"object"==typeof n?i=n[0]:void 0!==n&&(i=n),void 0!==i&&(r=i)),void 0!==t.color&&(r=t.color),void 0===u&&(u=r),u},getGraphById:function(t){return n.getObjById(this.graphs,t)},getValueAxisById:function(t){return n.getObjById(this.valueAxes,t)},processFields:function(t,i,r){var f,u,o,e;for(t.itemColors&&(f=t.itemColors,u=i.index,i.color=u<f.length?f[u]:n.randomColor()),f="lineColor color alpha fillColors description bullet customBullet bulletSize bulletConfig url labelColor dashLength pattern gap className".split(" "),u=0;u<f.length;u++)o=f[u],e=t[o+"Field"],e&&(e=r[e],n.isDefined(e)&&(i[o]=e));i.dataContext=r},chooseGraphColor:function(t,i){if(t.lineColor)t.lineColorR=t.lineColor;else{var r;r=this.colors.length>i?this.colors[i]:n.randomColor(),t.lineColorR=r}t.fillColorsR=t.fillColors?t.fillColors:t.lineColorR,t.bulletBorderColorR=t.bulletBorderColor?t.bulletBorderColor:t.useLineColorForBulletBorder?t.lineColorR:t.bulletColor,t.bulletColorR=t.bulletColor?t.bulletColor:t.lineColorR,(r=this.patterns)&&(t.pattern=r[i])},handleLegendEvent:function(n){var r=n.type,t,i;if(n=n.dataItem,!this.legend.data&&n){t=n.hidden,i=n.showBalloon;switch(r){case"clickMarker":this.textClickEnabled&&(i?this.hideGraphsBalloon(n):this.showGraphsBalloon(n));break;case"clickLabel":i?this.hideGraphsBalloon(n):this.showGraphsBalloon(n);break;case"rollOverItem":t||this.highlightGraph(n);break;case"rollOutItem":t||this.unhighlightGraph();break;case"hideItem":this.hideGraph(n);break;case"showItem":this.showGraph(n)}}},highlightGraph:function(n){var u=this.graphs,t,i=.2,r;if(this.legend&&(i=this.legend.rollOverGraphAlpha),1!=i)for(t=0;t<u.length;t++)r=u[t],r!=n&&r.changeOpacity(i)},unhighlightGraph:function(){var n,t;if(this.legend&&(n=this.legend.rollOverGraphAlpha),1!=n)for(n=this.graphs,t=0;t<n.length;t++)n[t].changeOpacity(1)},showGraph:function(n){n.switchable&&(n.hidden=!1,this.dataChanged=!0,"xy"!=this.type&&(this.marginsUpdated=!1),this.chartCreated&&this.initChart())},hideGraph:function(n){n.switchable&&(this.dataChanged=!0,"xy"!=this.type&&(this.marginsUpdated=!1),n.hidden=!0,this.chartCreated&&this.initChart())},hideGraphsBalloon:function(n){n.showBalloon=!1,this.updateLegend()},showGraphsBalloon:function(n){n.showBalloon=!0,this.updateLegend()},updateLegend:function(){this.legend&&this.legend.invalidateSize()},resetAnimation:function(){var t=this.graphs,n;if(t)for(n=0;n<t.length;n++)t[n].animationPlayed=!1},animateAgain:function(){this.resetAnimation(),this.validateNow()}})}(),function(){var n=window.AmCharts;n.AmSlicedChart=n.Class({inherits:n.AmChart,construct:function(t){this.createEvents("rollOverSlice","rollOutSlice","clickSlice","pullOutSlice","pullInSlice","rightClickSlice"),n.AmSlicedChart.base.construct.call(this,t),this.colors="#FF0F00 #FF6600 #FF9E01 #FCD202 #F8FF01 #B0DE09 #04D215 #0D8ECF #0D52D1 #2A0CD0 #8A0CCF #CD0D74 #754DEB #DDDDDD #999999 #333333 #000000 #57032A #CA9726 #990000 #4B0C25".split(" "),this.alpha=1,this.groupPercent=0,this.groupedTitle="Other",this.groupedPulled=!1,this.groupedAlpha=1,this.marginLeft=0,this.marginBottom=this.marginTop=10,this.marginRight=0,this.hoverAlpha=1,this.outlineColor="#FFFFFF",this.outlineAlpha=0,this.outlineThickness=1,this.startAlpha=0,this.startDuration=1,this.startEffect="bounce",this.sequencedAnimation=!0,this.pullOutDuration=1,this.pullOutEffect="bounce",this.pullOnHover=this.pullOutOnlyOne=!1,this.labelsEnabled=!0,this.labelTickColor="#000000",this.labelTickAlpha=.2,this.hideLabelsPercent=0,this.urlTarget="_self",this.autoMarginOffset=10,this.gradientRatio=[],this.maxLabelWidth=200,n.applyTheme(this,t,"AmSlicedChart")},initChart:function(){n.AmSlicedChart.base.initChart.call(this),this.dataChanged&&(this.parseData(),this.dispatchDataUpdated=!0,this.dataChanged=!1,this.setLegendData(this.chartData)),this.drawChart()},handleLegendEvent:function(n){var u=n.type,t=n.dataItem,r=this.legend,i;if(!r.data&&t){i=t.hidden,n=n.event;switch(u){case"clickMarker":i||r.switchable||this.clickSlice(t,n);break;case"clickLabel":i||this.clickSlice(t,n,!1);break;case"rollOverItem":i||this.rollOverSlice(t,!1,n);break;case"rollOutItem":i||this.rollOutSlice(t,n);break;case"hideItem":this.hideSlice(t,n);break;case"showItem":this.showSlice(t,n)}}},invalidateVisibility:function(){this.recalculatePercents(),this.initChart();var n=this.legend;n&&n.invalidateSize()},addEventListeners:function(n,t){var i=this;n.mouseover(function(n){i.rollOverSlice(t,!0,n)}).mouseout(function(n){i.rollOutSlice(t,n)}).touchend(function(n){i.rollOverSlice(t,n),i.panEventsEnabled&&i.clickSlice(t,n)}).touchstart(function(n){i.rollOverSlice(t,n)}).click(function(n){i.clickSlice(t,n)}).contextmenu(function(n){i.handleRightClick(t,n)})},formatString:function(t,i,r){t=n.formatValue(t,i,["value"],this.nf,"",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers);var u=this.pf.precision;return isNaN(this.tempPrec)||(this.pf.precision=this.tempPrec),t=n.formatValue(t,i,["percents"],this.pf),t=n.massReplace(t,{"[[title]]":i.title,"[[description]]":i.description}),this.pf.precision=u,-1!=t.indexOf("[[")&&(t=n.formatDataContextValue(t,i.dataContext)),t=r?n.fixNewLines(t):n.fixBrakes(t),t=n.cleanFromEmpty(t)},startSlices:function(){for(var n=0;n<this.chartData.length;n++)0<this.startDuration&&this.sequencedAnimation?this.setStartTO(n):this.startSlice(this.chartData[n])},setStartTO:function(n){var t=this;n=setTimeout(function(){t.startSequenced.call(t)},t.startDuration/t.chartData.length*500*n),t.timeOuts.push(n)},pullSlices:function(n){for(var r=this.chartData,i,t=0;t<r.length;t++)i=r[t],i.pulled&&this.pullSlice(i,1,n)},startSequenced:function(){for(var t=this.chartData,n=0;n<t.length;n++)if(!t[n].started){this.startSlice(this.chartData[n]);break}},startSlice:function(n){n.started=!0;var t=n.wedge,i=this.startDuration;t&&0<i&&(0<n.alpha&&t.show(),t.translate(n.startX,n.startY),t.animate({opacity:1,translate:"0,0"},i,this.startEffect))},showLabels:function(){for(var r=this.chartData,n,i,t=0;t<r.length;t++)n=r[t],0<n.alpha&&(i=n.label,i&&i.show(),(n=n.tick)&&n.show())},showSlice:function(n){isNaN(n)?n.hidden=!1:this.chartData[n].hidden=!1,this.invalidateVisibility()},hideSlice:function(n){isNaN(n)?n.hidden=!0:this.chartData[n].hidden=!0,this.hideBalloon(),this.invalidateVisibility()},rollOverSlice:function(t,i,r){var e,o,u,f;isNaN(t)||(t=this.chartData[t]),clearTimeout(this.hoverInt),t.hidden||(this.pullOnHover&&this.pullSlice(t,1),1>this.hoverAlpha&&t.wedge&&t.wedge.attr({opacity:this.hoverAlpha}),e=t.balloonX,o=t.balloonY,t.pulled&&(e+=t.pullX,o+=t.pullY),u=this.formatString(this.balloonText,t,!0),f=this.balloonFunction,f&&(u=f(t,u)),f=n.adjustLuminosity(t.color,-.15),u?this.showBalloon(u,f,i,e,o):this.hideBalloon(),0===t.value&&this.hideBalloon(),t={type:"rollOverSlice",dataItem:t,chart:this,event:r},this.fire(t.type,t))},rollOutSlice:function(n,t){isNaN(n)||(n=this.chartData[n]),n.wedge&&n.wedge.attr({opacity:1}),this.hideBalloon();var i={type:"rollOutSlice",dataItem:n,chart:this,event:t};this.fire(i.type,i)},clickSlice:function(t,i,r){isNaN(t)||(t=this.chartData[t]),t.pulled?this.pullSlice(t,0):this.pullSlice(t,1),n.getURL(t.url,this.urlTarget),r||(t={type:"clickSlice",dataItem:t,chart:this,event:i},this.fire(t.type,t))},handleRightClick:function(n,t){isNaN(n)||(n=this.chartData[n]);var i={type:"rightClickSlice",dataItem:n,chart:this,event:t};this.fire(i.type,i)},drawTicks:function(){for(var u=this.chartData,t,i,r=0;r<u.length;r++)t=u[r],t.label&&(i=t.ty,i=n.line(this.container,[t.tx0,t.tx,t.tx2],[t.ty0,i,i],this.labelTickColor,this.labelTickAlpha),n.setCN(this,i,this.type+"-tick"),n.setCN(this,i,t.className,!0),t.tick=i,t.wedge.push(i))},initialStart:function(){var n=this,t=n.startDuration,i=setTimeout(function(){n.showLabels.call(n)},1e3*t);n.timeOuts.push(i),n.chartCreated?n.pullSlices(!0):(n.startSlices(),0<t?(t=setTimeout(function(){n.pullSlices.call(n)},1200*t),n.timeOuts.push(t)):n.pullSlices(!0))},pullSlice:function(n,t,i){var r=this.pullOutDuration;!0===i&&(r=0),(i=n.wedge)&&(0<r?i.animate({translate:t*n.pullX+","+t*n.pullY},r,this.pullOutEffect):i.translate(t*n.pullX,t*n.pullY)),1==t?(n.pulled=!0,this.pullOutOnlyOne&&this.pullInAll(n.index),n={type:"pullOutSlice",dataItem:n,chart:this}):(n.pulled=!1,n={type:"pullInSlice",dataItem:n,chart:this}),this.fire(n.type,n)},pullInAll:function(n){for(var i=this.chartData,t=0;t<this.chartData.length;t++)t!=n&&i[t].pulled&&this.pullSlice(i[t],0)},pullOutAll:function(){for(var t=this.chartData,n=0;n<t.length;n++)t[n].pulled||this.pullSlice(t[n],1)},parseData:function(){var o=[],s,f,e,r,t,i,u;if(this.chartData=o,s=this.dataProvider,isNaN(this.pieAlpha)||(this.alpha=this.pieAlpha),void 0!==s){for(f=s.length,e=0,r=0;r<f;r++)t={},u=s[r],t.dataContext=u,t.value=Number(u[this.valueField]),(i=u[this.titleField])||(i=""),t.title=i,t.pulled=n.toBoolean(u[this.pulledField],!1),(i=u[this.descriptionField])||(i=""),t.description=i,t.labelRadius=Number(u[this.labelRadiusField]),t.switchable=!0,t.className=u[this.classNameField],t.url=u[this.urlField],i=u[this.patternField],!i&&this.patterns&&(i=this.patterns[r]),t.pattern=i,t.visibleInLegend=n.toBoolean(u[this.visibleInLegendField],!0),i=u[this.alphaField],t.alpha=void 0!==i?Number(i):this.alpha,i=u[this.colorField],void 0!==i&&(t.color=i),t.labelColor=n.toColor(u[this.labelColorField]),e+=t.value,t.hidden=!1,o[r]=t;for(r=s=0;r<f;r++)t=o[r],t.percents=t.value/e*100,t.percents<this.groupPercent&&s++;for(1<s&&(this.groupValue=0,this.removeSmallSlices(),o.push({title:this.groupedTitle,value:this.groupValue,percents:this.groupValue/e*100,pulled:this.groupedPulled,color:this.groupedColor,url:this.groupedUrl,description:this.groupedDescription,alpha:this.groupedAlpha,pattern:this.groupedPattern,className:this.groupedClassName,dataContext:{}})),f=this.baseColor,f||(f=this.pieBaseColor),e=this.brightnessStep,e||(e=this.pieBrightnessStep),r=0;r<o.length;r++)f?i=n.adjustLuminosity(f,r*e/100):(i=this.colors[r],void 0===i&&(i=n.randomColor())),void 0===o[r].color&&(o[r].color=i);this.recalculatePercents()}},recalculatePercents:function(){for(var i=this.chartData,r=0,n,t=0;t<i.length;t++)n=i[t],!n.hidden&&0<n.value&&(r+=n.value);for(t=0;t<i.length;t++)n=this.chartData[t],n.percents=!n.hidden&&0<n.value?100*n.value/r:0},removeSmallSlices:function(){for(var t=this.chartData,n=t.length-1;0<=n;n--)t[n].percents<this.groupPercent&&(this.groupValue+=t[n].value,t.splice(n,1))},animateAgain:function(){var t=this,n,i,r;for(t.startSlices(),n=0;n<t.chartData.length;n++)i=t.chartData[n],i.started=!1,r=i.wedge,r&&r.translate(i.startX,i.startY);n=t.startDuration,0<n?(n=setTimeout(function(){t.pullSlices.call(t)},1200*n),t.timeOuts.push(n)):t.pullSlices()},measureMaxLabel:function(){for(var f=this.chartData,u=0,r=0;r<f.length;r++){var i=f[r],t=this.formatString(this.labelText,i),e=this.labelFunction;e&&(t=e(i,t)),i=n.text(this.container,t,this.color,this.fontFamily,this.fontSize),t=i.getBBox().width,t>u&&(u=t),i.remove()}return u}})}(),function(){var n=window.AmCharts;n.AmRectangularChart=n.Class({inherits:n.AmCoordinateChart,construct:function(t){n.AmRectangularChart.base.construct.call(this,t),this.theme=t,this.createEvents("zoomed"),this.marginRight=this.marginBottom=this.marginTop=this.marginLeft=20,this.verticalPosition=this.horizontalPosition=this.depth3D=this.angle=0,this.heightMultiplier=this.widthMultiplier=1,this.plotAreaFillColors="#FFFFFF",this.plotAreaFillAlphas=0,this.plotAreaBorderColor="#000000",this.plotAreaBorderAlpha=0,this.zoomOutButtonImageSize=19,this.zoomOutButtonImage="lens.png",this.zoomOutText="Show all",this.zoomOutButtonColor="#e5e5e5",this.zoomOutButtonAlpha=0,this.zoomOutButtonRollOverAlpha=1,this.zoomOutButtonPadding=8,this.trendLines=[],this.autoMargins=!0,this.marginsUpdated=!1,this.autoMarginOffset=10,n.applyTheme(this,t,"AmRectangularChart")},initChart:function(){n.AmRectangularChart.base.initChart.call(this),this.updateDxy();var t=!0;!this.marginsUpdated&&this.autoMargins&&(this.resetMargins(),t=!1),this.processScrollbars(),this.updateMargins(),this.updatePlotArea(),this.updateScrollbars(),this.updateTrendLines(),this.updateChartCursor(),this.updateValueAxes(),t&&(this.scrollbarOnly||this.updateGraphs())},drawChart:function(){if(n.AmRectangularChart.base.drawChart.call(this),this.drawPlotArea(),n.ifArray(this.chartData)){var t=this.chartCursor;t&&t.draw()}},resetMargins:function(){var i={},n,t,r,u;if("xy"==this.type){for(t=this.xAxes,r=this.yAxes,n=0;n<t.length;n++)u=t[n],u.ignoreAxisWidth||(u.setOrientation(!0),u.fixAxisPosition(),i[u.position]=!0);for(n=0;n<r.length;n++)t=r[n],t.ignoreAxisWidth||(t.setOrientation(!1),t.fixAxisPosition(),i[t.position]=!0)}else{for(r=this.valueAxes,n=0;n<r.length;n++)t=r[n],t.ignoreAxisWidth||(t.setOrientation(this.rotate),t.fixAxisPosition(),i[t.position]=!0);(n=this.categoryAxis)&&!n.ignoreAxisWidth&&(n.setOrientation(!this.rotate),n.fixAxisPosition(),n.fixAxisPosition(),i[n.position]=!0)}i.left&&(this.marginLeft=0),i.right&&(this.marginRight=0),i.top&&(this.marginTop=0),i.bottom&&(this.marginBottom=0),this.fixMargins=i},measureMargins:function(){for(var f=this.valueAxes,t=this.autoMarginOffset,o=this.fixMargins,s=this.realWidth,h=this.realHeight,i=t,r=t,u=s,n=h,e=0;e<f.length;e++)f[e].handleSynchronization(),n=this.getAxisBounds(f[e],i,u,r,n),i=Math.round(n.l),u=Math.round(n.r),r=Math.round(n.t),n=Math.round(n.b);(f=this.categoryAxis)&&(n=this.getAxisBounds(f,i,u,r,n),i=Math.round(n.l),u=Math.round(n.r),r=Math.round(n.t),n=Math.round(n.b)),o.left&&i<t&&(this.marginLeft=Math.round(-i+t)),o.right&&u>=s-t&&(this.marginRight=Math.round(u-s+t)),o.top&&r<t+this.titleHeight&&(this.marginTop=Math.round(this.marginTop-r+t+this.titleHeight)),o.bottom&&n>h-t&&(this.marginBottom=Math.round(this.marginBottom+n-h+t)),this.initChart()},getAxisBounds:function(n,t,i,r,u){if(!n.ignoreAxisWidth){var f=n.labelsSet,e=n.tickLength;if(n.inside&&(e=0),f)switch(f=n.getBBox(),n.position){case"top":n=f.y,r>n&&(r=n);break;case"bottom":n=f.y+f.height,u<n&&(u=n);break;case"right":n=f.x+f.width+e+3,i<n&&(i=n);break;case"left":n=f.x-e,t>n&&(t=n)}}return{l:t,t:r,r:i,b:u}},drawZoomOutButton:function(){var t=this,u,i,r,c;if(!t.zbSet){u=t.container.set(),t.zoomButtonSet.push(u);var f=t.color,s=t.fontSize,l=t.zoomOutButtonImageSize,a=t.zoomOutButtonImage,v=n.lang.zoomOutText||t.zoomOutText,e=t.zoomOutButtonColor,h=t.zoomOutButtonAlpha,i=t.zoomOutButtonFontSize,o=t.zoomOutButtonPadding;for(isNaN(i)||(s=i),(i=t.zoomOutButtonFontColor)&&(f=i),i=t.zoomOutButton,i&&(i.fontSize&&(s=i.fontSize),i.color&&(f=i.color),i.backgroundColor&&(e=i.backgroundColor),isNaN(i.backgroundAlpha)||(t.zoomOutButtonRollOverAlpha=i.backgroundAlpha)),c=i=0,void 0!==t.pathToImages&&a&&(r=t.container.image(t.pathToImages+a,0,0,l,l),n.setCN(t,r,"zoom-out-image"),u.push(r),r=r.getBBox(),i=r.width+5),void 0!==v&&(f=n.text(t.container,v,f,t.fontFamily,s,"start"),n.setCN(t,f,"zoom-out-label"),s=f.getBBox(),c=r?r.height/2-3:s.height/2,f.translate(i,c),u.push(f)),r=u.getBBox(),f=1,n.isModern||(f=0),e=n.rect(t.container,r.width+2*o+5,r.height+2*o-2,e,1,1,e,f),e.setAttr("opacity",h),e.translate(-o,-o),n.setCN(t,e,"zoom-out-bg"),u.push(e),e.toBack(),t.zbBG=e,r=e.getBBox(),u.translate(t.marginLeftReal+t.plotAreaWidth-r.width+o,t.marginTopReal+o),u.hide(),u.mouseover(function(){t.rollOverZB()}).mouseout(function(){t.rollOutZB()}).click(function(){t.clickZB()}).touchstart(function(){t.rollOverZB()}).touchend(function(){t.rollOutZB(),t.clickZB()}),h=0;h<u.length;h++)u[h].attr({cursor:"pointer"});t.zbSet=u}},rollOverZB:function(){this.zbBG.setAttr("opacity",this.zoomOutButtonRollOverAlpha)},rollOutZB:function(){this.zbBG.setAttr("opacity",this.zoomOutButtonAlpha)},clickZB:function(){this.zoomOut()},zoomOut:function(){this.updateScrollbar=!0,this.zoom()},drawPlotArea:function(){var i=this.dx,u=this.dy,e=this.marginLeftReal,s=this.marginTopReal,r=this.plotAreaWidth-1,o=this.plotAreaHeight-1,t=this.plotAreaFillColors,f=this.plotAreaFillAlphas,h=this.plotAreaBorderColor,c=this.plotAreaBorderAlpha;"object"==typeof f&&(f=f[0]),t=n.polygon(this.container,[0,r,r,0,0],[0,0,o,o,0],t,f,1,h,c,this.plotAreaGradientAngle),n.setCN(this,t,"plot-area"),t.translate(e+i,s+u),this.set.push(t),0!==i&&0!==u&&(t=this.plotAreaFillColors,"object"==typeof t&&(t=t[0]),t=n.adjustLuminosity(t,-.15),r=n.polygon(this.container,[0,i,r+i,r,0],[0,u,u,0,0],t,f,1,h,c),n.setCN(this,r,"plot-area-bottom"),r.translate(e,s+o),this.set.push(r),i=n.polygon(this.container,[0,0,i,i,0],[0,o,o+u,u,0],t,f,1,h,c),n.setCN(this,i,"plot-area-left"),i.translate(e,s),this.set.push(i)),(e=this.bbset)&&this.scrollbarOnly&&e.remove()},updatePlotArea:function(){var n=this.updateWidth(),t=this.updateHeight(),i=this.container;this.realWidth=n,this.realWidth=t,i&&this.container.setSize(n,t),n=n-this.marginLeftReal-this.marginRightReal-this.dx,t=t-this.marginTopReal-this.marginBottomReal,1>n&&(n=1),1>t&&(t=1),this.plotAreaWidth=Math.round(n),this.plotAreaHeight=Math.round(t)},updateDxy:function(){this.dx=Math.round(this.depth3D*Math.cos(this.angle*Math.PI/180)),this.dy=Math.round(-this.depth3D*Math.sin(this.angle*Math.PI/180)),this.d3x=Math.round(this.columnSpacing3D*Math.cos(this.angle*Math.PI/180)),this.d3y=Math.round(-this.columnSpacing3D*Math.sin(this.angle*Math.PI/180))},updateMargins:function(){var n=this.getTitleHeight();this.titleHeight=n,this.marginTopReal=this.marginTop-this.dy,this.fixMargins&&!this.fixMargins.top&&(this.marginTopReal+=n),this.marginBottomReal=this.marginBottom,this.marginLeftReal=this.marginLeft,this.marginRightReal=this.marginRight},updateValueAxes:function(){for(var r=this.valueAxes,u=this.marginLeftReal,f=this.marginTopReal,e=this.plotAreaHeight,o=this.plotAreaWidth,t,i=0;i<r.length;i++)t=r[i],t.axisRenderer=n.RecAxis,t.guideFillRenderer=n.RecFill,t.axisItemRenderer=n.RecItem,t.dx=this.dx,t.dy=this.dy,t.viW=o-1,t.viH=e-1,t.marginsChanged=!0,t.viX=u,t.viY=f,this.updateObjectSize(t)},updateObjectSize:function(n){n.width=(this.plotAreaWidth-1)*this.widthMultiplier,n.height=(this.plotAreaHeight-1)*this.heightMultiplier,n.x=this.marginLeftReal+this.horizontalPosition,n.y=this.marginTopReal+this.verticalPosition},updateGraphs:function(){for(var i=this.graphs,n,t=0;t<i.length;t++)n=i[t],n.x=this.marginLeftReal+this.horizontalPosition,n.y=this.marginTopReal+this.verticalPosition,n.width=this.plotAreaWidth*this.widthMultiplier,n.height=this.plotAreaHeight*this.heightMultiplier,n.index=t,n.dx=this.dx,n.dy=this.dy,n.rotate=this.rotate},updateChartCursor:function(){var t=this.chartCursor;t&&(t=n.processObject(t,n.ChartCursor,this.theme),this.addChartCursor(t),t.x=this.marginLeftReal,t.y=this.marginTopReal,t.width=this.plotAreaWidth-1,t.height=this.plotAreaHeight-1,t.chart=this)},processScrollbars:function(){var t=this.chartScrollbar;t&&(t=n.processObject(t,n.ChartScrollbar,this.theme),this.addChartScrollbar(t))},updateScrollbars:function(){},addChartCursor:function(t){n.callMethod("destroy",[this.chartCursor]),t&&(this.listenTo(t,"changed",this.handleCursorChange),this.listenTo(t,"zoomed",this.handleCursorZoom)),this.chartCursor=t},removeChartCursor:function(){n.callMethod("destroy",[this.chartCursor]),this.chartCursor=null},zoomTrendLines:function(){for(var i=this.trendLines,n,t=0;t<i.length;t++)n=i[t],n.valueAxis.recalculateToPercents?n.set&&n.set.hide():(n.x=this.marginLeftReal+this.horizontalPosition,n.y=this.marginTopReal+this.verticalPosition,n.draw())},addTrendLine:function(n){this.trendLines.push(n)},removeTrendLine:function(n){for(var i=this.trendLines,t=i.length-1;0<=t;t--)i[t]==n&&i.splice(t,1)},adjustMargins:function(n,t){var r=n.position,i=n.scrollbarHeight+n.offset;n.enabled&&("top"==r?t?this.marginLeftReal+=i:this.marginTopReal+=i:t?this.marginRightReal+=i:this.marginBottomReal+=i)},getScrollbarPosition:function(n,t,i){var r="bottom",u="top";n.oppositeAxis||(u=r,r="top"),n.position=t?"bottom"==i||"left"==i?r:u:"top"==i||"right"==i?r:u},updateChartScrollbar:function(n,t){if(n){n.rotate=t;var i=this.marginTopReal,u=this.marginLeftReal,f=n.scrollbarHeight,e=this.dx,o=this.dy,r=n.offset;"top"==n.position?t?(n.y=i,n.x=u-f-r):(n.y=i-f+o-r,n.x=u+e):t?(n.y=i+o,n.x=u+this.plotAreaWidth+e+r):(n.y=i+this.plotAreaHeight+r,n.x=this.marginLeftReal)}},showZB:function(n){var t=this.zbSet;n&&(t=this.zoomOutText,""!==t&&t&&this.drawZoomOutButton()),(t=this.zbSet)&&(this.zoomButtonSet.push(t),n?t.show():t.hide(),this.rollOutZB())},handleReleaseOutside:function(t){n.AmRectangularChart.base.handleReleaseOutside.call(this,t),(t=this.chartCursor)&&t.handleReleaseOutside&&t.handleReleaseOutside()},handleMouseDown:function(t){n.AmRectangularChart.base.handleMouseDown.call(this,t);var i=this.chartCursor;i&&i.handleMouseDown(t)},handleCursorChange:function(){},update:function(){n.AmRectangularChart.base.update.call(this),this.chartCursor&&this.chartCursor.update&&this.chartCursor.update()}})}(),function(){var n=window.AmCharts;n.TrendLine=n.Class({construct:function(t){this.cname="TrendLine",this.createEvents("click"),this.isProtected=!1,this.dashLength=0,this.lineColor="#00CC00",this.lineThickness=this.lineAlpha=1,n.applyTheme(this,t,this.cname)},draw:function(){var t=this;t.destroy();var o=t.chart,s=o.container,e,f,h,a,r=t.categoryAxis,c=t.initialDate,v=t.initialCategory,l=t.finalDate,u=t.finalCategory,i=t.valueAxis,y=t.valueAxisX,p=t.initialXValue,w=t.finalXValue,b=t.initialValue,k=t.finalValue,d=i.recalculateToPercents,g=o.dataDateFormat;r&&(c&&(c=n.getDate(c,g,"fff"),t.initialDate=c,e=r.dateToCoordinate(c)),v&&(e=r.categoryToCoordinate(v)),l&&(l=n.getDate(l,g,"fff"),t.finalDate=l,f=r.dateToCoordinate(l)),u&&(f=r.categoryToCoordinate(u))),y&&!d&&(isNaN(p)||(e=y.getCoordinate(p)),isNaN(w)||(f=y.getCoordinate(w))),i&&!d&&(isNaN(b)||(h=i.getCoordinate(b)),isNaN(k)||(a=i.getCoordinate(k))),isNaN(e)||isNaN(f)||isNaN(h)||isNaN(h)||(o.rotate?(r=[h,a],f=[e,f]):(r=[e,f],f=[h,a]),h=t.lineColor,e=n.line(s,r,f,h,t.lineAlpha,t.lineThickness,t.dashLength),a=r,c=f,u=r[1]-r[0],i=f[1]-f[0],0===u&&(u=.01),0===i&&(i=.01),v=u/Math.abs(u),l=i/Math.abs(i),i=u*i/Math.abs(u*i)*Math.sqrt(Math.pow(u,2)+Math.pow(i,2)),u=Math.asin(u/i),i=Math.PI/2-u,u=Math.abs(5*Math.cos(i)),i=Math.abs(5*Math.sin(i)),a.push(r[1]-v*i,r[0]-v*i),c.push(f[1]+l*u,f[0]+l*u),r=n.polygon(s,a,c,h,.005,0),s=s.set([r,e]),s.translate(o.marginLeftReal,o.marginTopReal),o.trendLinesSet.push(s),n.setCN(o,e,"trend-line"),n.setCN(o,e,"trend-line-"+t.id),t.line=e,t.set=s,r.mouseup(function(){t.handleLineClick()}).mouseover(function(){t.handleLineOver()}).mouseout(function(){t.handleLineOut()}),r.touchend&&r.touchend(function(){t.handleLineClick()}),s.clipRect(0,0,o.plotAreaWidth,o.plotAreaHeight))},handleLineClick:function(){var n={type:"click",trendLine:this,chart:this.chart};this.fire(n.type,n)},handleLineOver:function(){var n=this.rollOverColor;void 0!==n&&this.line.attr({stroke:n})},handleLineOut:function(){this.line.attr({stroke:this.lineColor})},destroy:function(){n.remove(this.set)}})}(),function(){var n=window.AmCharts;n.circle=function(t,i,r,u,f,e,o,s,h){return 0>=i&&(i=.001),(void 0==f||0===f)&&(f=.01),void 0===e&&(e="#000000"),void 0===o&&(o=0),u={fill:r,stroke:e,"fill-opacity":u,"stroke-width":f,"stroke-opacity":o},t=isNaN(h)?t.circle(0,0,i).attr(u):t.ellipse(0,0,i,h).attr(u),s&&t.gradient("radialGradient",[r,n.adjustLuminosity(r,-.6)]),t},n.text=function(t,i,r,u,f,e,o,s){return e||(e="middle"),"right"==e&&(e="end"),"left"==e&&(e="start"),isNaN(s)&&(s=1),void 0!==i&&(i=String(i),n.isIE&&!n.isModern&&(i=i.replace("&amp;","&"),i=i.replace("&","&amp;"))),r={fill:r,"font-family":u,"font-size":f,opacity:s},!0===o&&(r["font-weight"]="bold"),r["text-anchor"]=e,t.text(i,r)},n.polygon=function(t,i,r,u,f,e,o,s,h,c,l){isNaN(e)&&(e=.01),isNaN(s)&&(s=f);var a=u,v=!1;for("object"==typeof a&&1<a.length&&(v=!0,a=a[0]),void 0===o&&(o=a),f={fill:a,stroke:o,"fill-opacity":f,"stroke-width":e,"stroke-opacity":s},void 0!==l&&0<l&&(f["stroke-dasharray"]=l),l=n.dx,e=n.dy,t.handDrawn&&(r=n.makeHD(i,r,t.handDrawScatter),i=r[0],r=r[1]),o=Math.round,c&&(o=n.doNothing),c="M"+(o(i[0])+l)+","+(o(r[0])+e),s=1;s<i.length;s++)c+=" L"+(o(i[s])+l)+","+(o(r[s])+e);return t=t.path(c+" Z").attr(f),v&&t.gradient("linearGradient",u,h),t},n.rect=function(t,i,r,u,f,e,o,s,h,c,l){var a,p,v,y;return isNaN(i)||isNaN(r)?t.set():(isNaN(e)&&(e=0),void 0===h&&(h=0),void 0===c&&(c=270),isNaN(f)&&(f=0),a=u,p=!1,"object"==typeof a&&(a=a[0],p=!0),void 0===o&&(o=a),void 0===s&&(s=f),i=Math.round(i),r=Math.round(r),v=0,y=0,0>i&&(i=Math.abs(i),v=-i),0>r&&(r=Math.abs(r),y=-r),v+=n.dx,y+=n.dy,f={fill:a,stroke:o,"fill-opacity":f,"stroke-opacity":s},void 0!==l&&0<l&&(f["stroke-dasharray"]=l),t=t.rect(v,y,i,r,h,e).attr(f),p&&t.gradient("linearGradient",u,c),t)},n.bullet=function(t,i,r,u,f,e,o,s,h,c,l,a){var v;"circle"==i&&(i="round");switch(i){case"round":v=n.circle(t,r/2,u,f,e,o,s);break;case"square":v=n.polygon(t,[-r/2,r/2,r/2,-r/2],[r/2,r/2,-r/2,-r/2],u,f,e,o,s,c-180);break;case"rectangle":v=n.polygon(t,[-r,r,r,-r],[r/2,r/2,-r/2,-r/2],u,f,e,o,s,c-180);break;case"diamond":v=n.polygon(t,[-r/2,0,r/2,0],[0,-r/2,0,r/2],u,f,e,o,s);break;case"triangleUp":v=n.triangle(t,r,0,u,f,e,o,s);break;case"triangleDown":v=n.triangle(t,r,180,u,f,e,o,s);break;case"triangleLeft":v=n.triangle(t,r,270,u,f,e,o,s);break;case"triangleRight":v=n.triangle(t,r,90,u,f,e,o,s);break;case"bubble":v=n.circle(t,r/2,u,f,e,o,s,!0);break;case"line":v=n.line(t,[-r/2,r/2],[0,0],u,f,e,o,s);break;case"yError":v=t.set(),v.push(n.line(t,[0,0],[-r/2,r/2],u,f,e)),v.push(n.line(t,[-h,h],[-r/2,-r/2],u,f,e)),v.push(n.line(t,[-h,h],[r/2,r/2],u,f,e));break;case"xError":v=t.set(),v.push(n.line(t,[-r/2,r/2],[0,0],u,f,e)),v.push(n.line(t,[-r/2,-r/2],[-h,h],u,f,e)),v.push(n.line(t,[r/2,r/2],[-h,h],u,f,e))}return v&&v.pattern(l,NaN,a),v},n.triangle=function(n,t,i,r,u,f,e,o){(void 0===f||0===f)&&(f=1),void 0===e&&(e="#000"),void 0===o&&(o=0),r={fill:r,stroke:e,"fill-opacity":u,"stroke-width":f,"stroke-opacity":o},t/=2;var s;return 0===i&&(s=" M"+-t+","+t+" L0,"+-t+" L"+t+","+t+" Z"),180==i&&(s=" M"+-t+","+-t+" L0,"+t+" L"+t+","+-t+" Z"),90==i&&(s=" M"+-t+","+-t+" L"+t+",0 L"+-t+","+t+" Z"),270==i&&(s=" M"+-t+",0 L"+t+","+t+" L"+t+","+-t+" Z"),n.path(s).attr(r)},n.line=function(t,i,r,u,f,e,o,s,h,c,l){if(t.handDrawn&&!l)return n.handDrawnLine(t,i,r,u,f,e,o,s,h,c,l);for(e={fill:"none","stroke-width":e},void 0!==o&&0<o&&(e["stroke-dasharray"]=o),isNaN(f)||(e["stroke-opacity"]=f),u&&(e.stroke=u),u=Math.round,c&&(u=n.doNothing),c=n.dx,f=n.dy,o="M"+(u(i[0])+c)+","+(u(r[0])+f),s=1;s<i.length;s++)o+=" L"+(u(i[s])+c)+","+(u(r[s])+f);return n.VML?t.path(o,void 0,!0).attr(e):(h&&(o+=" M0,0 L0,0"),t.path(o).attr(e))},n.makeHD=function(n,t,i){for(var a,v,c=[],l=[],r=1;r<n.length;r++)for(var e=Number(n[r-1]),o=Number(t[r-1]),s=Number(n[r]),h=Number(t[r]),u=Math.sqrt(Math.pow(s-e,2)+Math.pow(h-o,2)),u=Math.round(u/50)+1,s=(s-e)/u,h=(h-o)/u,f=0;f<=u;f++)a=e+f*s+Math.random()*i,v=o+f*h+Math.random()*i,c.push(a),l.push(v);return[c,l]},n.handDrawnLine=function(t,i,r,u,f,e,o,s,h,c){for(var p=t.set(),l=1;l<i.length;l++)for(var y=[i[l-1],i[l]],v=[r[l-1],r[l]],v=n.makeHD(y,v,t.handDrawScatter),y=v[0],v=v[1],a=1;a<y.length;a++)p.push(n.line(t,[y[a-1],y[a]],[v[a-1],v[a]],u,f,e+Math.random()*t.handDrawThickness-t.handDrawThickness/2,o,s,h,c,!0));return p},n.doNothing=function(n){return n},n.wedge=function(t,i,r,u,f,e,o,s,h,c,l,a,v){var y=Math.round,et,g;e=y(e),o=y(o),s=y(s);var rt=y(o/e*s),ot=n.VML,w=359.5+e/100;359.94<w&&(w=359.94),f>=w&&(f=w);var p=1/180*Math.PI,w=i+Math.sin(u*p)*s,b=r-Math.cos(u*p)*rt,k=i+Math.sin(u*p)*e,d=r-Math.cos(u*p)*o,nt=i+Math.sin((u+f)*p)*e,tt=r-Math.cos((u+f)*p)*o,it=i+Math.sin((u+f)*p)*s,p=r-Math.cos((u+f)*p)*rt,ut={fill:n.adjustLuminosity(c.fill,-.2),"stroke-opacity":0,"fill-opacity":c["fill-opacity"]},ft=0;if(180<Math.abs(f)&&(ft=1),u=t.set(),ot&&(w=y(10*w),k=y(10*k),nt=y(10*nt),it=y(10*it),b=y(10*b),d=y(10*d),tt=y(10*tt),p=y(10*p),i=y(10*i),h=y(10*h),r=y(10*r),e*=10,o*=10,s*=10,rt*=10,1>Math.abs(f)&&1>=Math.abs(nt-k)&&1>=Math.abs(tt-d)&&(et=!0)),f="",a&&(ut["fill-opacity"]=0,ut["stroke-opacity"]=c["stroke-opacity"]/2,ut.stroke=c.stroke),0<h&&(g=" M"+w+","+(b+h)+" L"+k+","+(d+h),ot?(et||(g+=" A"+(i-e)+","+(h+r-o)+","+(i+e)+","+(h+r+o)+","+k+","+(d+h)+","+nt+","+(tt+h)),g+=" L"+it+","+(p+h),0<s&&(et||(g+=" B"+(i-s)+","+(h+r-rt)+","+(i+s)+","+(h+r+rt)+","+it+","+(h+p)+","+w+","+(h+b)))):(g+=" A"+e+","+o+",0,"+ft+",1,"+nt+","+(tt+h)+" L"+it+","+(p+h),0<s&&(g+=" A"+s+","+rt+",0,"+ft+",0,"+w+","+(b+h))),g=t.path(g+" Z",void 0,void 0,"1000,1000").attr(ut),u.push(g),g=t.path(" M"+w+","+b+" L"+w+","+(b+h)+" L"+k+","+(d+h)+" L"+k+","+d+" L"+w+","+b+" Z",void 0,void 0,"1000,1000").attr(ut),h=t.path(" M"+nt+","+tt+" L"+nt+","+(tt+h)+" L"+it+","+(p+h)+" L"+it+","+p+" L"+nt+","+tt+" Z",void 0,void 0,"1000,1000").attr(ut),u.push(g),u.push(h)),ot?(et||(f=" A"+y(i-e)+","+y(r-o)+","+y(i+e)+","+y(r+o)+","+y(k)+","+y(d)+","+y(nt)+","+y(tt)),e=" M"+y(w)+","+y(b)+" L"+y(k)+","+y(d)+f+" L"+y(it)+","+y(p)):e=" M"+w+","+b+" L"+k+","+d+(" A"+e+","+o+",0,"+ft+",1,"+nt+","+tt)+" L"+it+","+p,0<s&&(ot?et||(e+=" B"+(i-s)+","+(r-rt)+","+(i+s)+","+(r+rt)+","+it+","+p+","+w+","+b):e+=" A"+s+","+rt+",0,"+ft+",0,"+w+","+b),t.handDrawn&&(i=n.line(t,[w,k],[b,d],c.stroke,c.thickness*Math.random()*t.handDrawThickness,c["stroke-opacity"]),u.push(i)),t=t.path(e+" Z",void 0,void 0,"1000,1000").attr(c),l){for(i=[],r=0;r<l.length;r++)i.push(n.adjustLuminosity(c.fill,l[r]));0<i.length&&t.gradient("linearGradient",i)}return t.pattern(a,NaN,v),u.wedge=t,u.push(t),u},n.adjustLuminosity=function(n,t){n=String(n).replace(/[^0-9a-f]/gi,""),6>n.length&&(n=String(n[0])+String(n[0])+String(n[1])+String(n[1])+String(n[2])+String(n[2])),t=t||0;for(var u="#",i,r=0;3>r;r++)i=parseInt(n.substr(2*r,2),16),i=Math.round(Math.min(Math.max(0,i+i*t),255)).toString(16),u+=("00"+i).substr(i.length);return u}}(),function(){var n=window.AmCharts;n.Bezier=n.Class({construct:function(t,i,r,u,f,e,o,s,h,c){for("object"==typeof o&&(o=o[0]),"object"==typeof s&&(s=s[0]),0===s&&(o="none"),e={fill:o,"fill-opacity":s,"stroke-width":e},void 0!==h&&0<h&&(e["stroke-dasharray"]=h),isNaN(f)||(e["stroke-opacity"]=f),u&&(e.stroke=u),u="M"+Math.round(i[0])+","+Math.round(r[0]),f=[],h=0;h<i.length;h++)f.push({x:Number(i[h]),y:Number(r[h])});1<f.length&&(i=this.interpolate(f),u+=this.drawBeziers(i)),c?u+=c:n.VML||(u+="M0,0 L0,0"),this.path=t.path(u).attr(e),this.node=this.path.node},interpolate:function(t){var f=[],o;f.push({x:t[0].x,y:t[0].y});var e=t[1].x-t[0].x,r=t[1].y-t[0].y,s=n.bezierX,h=n.bezierY;for(f.push({x:t[0].x+e/s,y:t[0].y+r/h}),o=1;o<t.length-1;o++){var u=t[o-1],i=t[o],r=t[o+1];isNaN(r.x)&&(r=i),isNaN(i.x)&&(i=u),isNaN(u.x)&&(u=i),e=r.x-i.x,r=r.y-u.y,u=i.x-u.x,u>e&&(u=e),f.push({x:i.x-u/s,y:i.y-r/h}),f.push({x:i.x,y:i.y}),f.push({x:i.x+u/s,y:i.y+r/h})}return r=t[t.length-1].y-t[t.length-2].y,e=t[t.length-1].x-t[t.length-2].x,f.push({x:t[t.length-1].x-e/s,y:t[t.length-1].y-r/h}),f.push({x:t[t.length-1].x,y:t[t.length-1].y}),f},drawBeziers:function(n){for(var i="",t=0;t<(n.length-1)/3;t++)i+=this.drawBezierMidpoint(n[3*t],n[3*t+1],n[3*t+2],n[3*t+3]);return i},drawBezierMidpoint:function(n,t,i,r){var u=Math.round,e=this.getPointOnSegment(n,t,.75),o=this.getPointOnSegment(r,i,.75),s=(r.x-n.x)/16,h=(r.y-n.y)/16,f=this.getPointOnSegment(n,t,.375);return n=this.getPointOnSegment(e,o,.375),n.x-=s,n.y-=h,t=this.getPointOnSegment(o,e,.375),t.x+=s,t.y+=h,i=this.getPointOnSegment(r,i,.375),s=this.getMiddle(f,n),e=this.getMiddle(e,o),o=this.getMiddle(t,i),f=" Q"+u(f.x)+","+u(f.y)+","+u(s.x)+","+u(s.y),f+=" Q"+u(n.x)+","+u(n.y)+","+u(e.x)+","+u(e.y),f+=" Q"+u(t.x)+","+u(t.y)+","+u(o.x)+","+u(o.y),f+=" Q"+u(i.x)+","+u(i.y)+","+u(r.x)+","+u(r.y)},getMiddle:function(n,t){return{x:(n.x+t.x)/2,y:(n.y+t.y)/2}},getPointOnSegment:function(n,t,i){return{x:n.x+(t.x-n.x)*i,y:n.y+(t.y-n.y)*i}}})}(),function(){var n=window.AmCharts;n.AmDraw=n.Class({construct:function(t,i,r,u){n.SVG_NS="http://www.w3.org/2000/svg",n.SVG_XLINK="http://www.w3.org/1999/xlink",n.hasSVG=!!document.createElementNS&&!!document.createElementNS(n.SVG_NS,"svg").createSVGRect,1>i&&(i=10),1>r&&(r=10),this.div=t,this.width=i,this.height=r,this.rBin=document.createElement("div"),n.hasSVG?(n.SVG=!0,i=this.createSvgElement("svg"),t.appendChild(i),this.container=i,this.addDefs(u),this.R=new n.SVGRenderer(this)):n.isIE&&n.VMLRenderer&&(n.VML=!0,n.vmlStyleSheet||(document.namespaces.add("amvml","urn:schemas-microsoft-com:vml"),31>document.styleSheets.length?(i=document.createStyleSheet(),i.addRule(".amvml","behavior:url(#default#VML); display:inline-block; antialias:true"),n.vmlStyleSheet=i):document.styleSheets[0].addRule(".amvml","behavior:url(#default#VML); display:inline-block; antialias:true")),this.container=t,this.R=new n.VMLRenderer(this,u),this.R.disableSelection(t))},createSvgElement:function(t){return document.createElementNS(n.SVG_NS,t)},circle:function(t,i,r,u){var f=new n.AmDObject("circle",this);return f.attr({r:r,cx:t,cy:i}),this.addToContainer(f.node,u),f},ellipse:function(t,i,r,u,f){var e=new n.AmDObject("ellipse",this);return e.attr({rx:r,ry:u,cx:t,cy:i}),this.addToContainer(e.node,f),e},setSize:function(n,t){0<n&&0<t&&(this.container.style.width=n+"px",this.container.style.height=t+"px")},rect:function(t,i,r,u,f,e,o){var s=new n.AmDObject("rect",this);return n.VML&&(f=Math.round(100*f/Math.min(r,u)),r+=2*e,u+=2*e,s.bw=e,s.node.style.marginLeft=-e,s.node.style.marginTop=-e),1>r&&(r=1),1>u&&(u=1),s.attr({x:t,y:i,width:r,height:u,rx:f,ry:f,"stroke-width":e}),this.addToContainer(s.node,o),s},image:function(t,i,r,u,f,e){var o=new n.AmDObject("image",this);return o.attr({x:i,y:r,width:u,height:f}),this.R.path(o,t),this.addToContainer(o.node,e),o},addToContainer:function(n,t){t||(t=this.container),t.appendChild(n)},text:function(n,t,i){return this.R.text(n,t,i)},path:function(t,i,r,u){var f=new n.AmDObject("path",this);return u||(u="100,100"),f.attr({cs:u}),r?f.attr({dd:t}):f.attr({d:t}),this.addToContainer(f.node,i),f},set:function(n){return this.R.set(n)},remove:function(n){if(n){var t=this.rBin;t.appendChild(n),t.innerHTML=""}},renderFix:function(){var n=this.container,i=n.style,t;try{t=n.getScreenCTM()||n.createSVGMatrix()}catch(r){t=n.createSVGMatrix()}n=1-t.e%1,t=1-t.f%1,.5<n&&--n,.5<t&&--t,n&&(i.left=n+"px"),t&&(i.top=t+"px")},update:function(){this.R.update()},addDefs:function(t){if(n.hasSVG){var r=this.createSvgElement("desc"),i=this.container;i.setAttribute("version","1.1"),i.style.position="absolute",this.setSize(this.width,this.height),n.rtl&&(i.setAttribute("direction","rtl"),i.style.left="auto",i.style.right="0px"),t.addCodeCredits&&r.appendChild(document.createTextNode("JavaScript chart by amCharts "+t.version)),i.appendChild(r),t.defs&&(r=this.createSvgElement("defs"),i.appendChild(r),n.parseDefs(t.defs,r),this.defs=r)}}})}(),function(){var n=window.AmCharts;n.AmDObject=n.Class({construct:function(n,t){this.D=t,this.R=t.R,this.node=this.R.create(this,n),this.y=this.x=0,this.scale=1},attr:function(n){return this.R.attr(this,n),this},getAttr:function(n){return this.node.getAttribute(n)},setAttr:function(n,t){return this.R.setAttr(this,n,t),this},clipRect:function(n,t,i,r){this.R.clipRect(this,n,t,i,r)},translate:function(n,t,i,r){r||(n=Math.round(n),t=Math.round(t)),this.R.move(this,n,t,i),this.x=n,this.y=t,this.scale=i,this.angle&&this.rotate(this.angle)},rotate:function(n,t){this.R.rotate(this,n,t),this.angle=n},animate:function(t,i,r){var u,f,e;for(u in t)t.hasOwnProperty(u)&&(f=u,e=t[u],r=n.getEffect(r),this.R.animate(this,f,e,i,r))},push:function(n){var t,i;n&&(t=this.node,t.appendChild(n.node),i=n.clipPath,i&&t.appendChild(i),(n=n.grad)&&t.appendChild(n))},text:function(n){this.R.setText(this,n)},remove:function(){this.R.remove(this)},clear:function(){var n=this.node;if(n.hasChildNodes())for(;1<=n.childNodes.length;)n.removeChild(n.firstChild)},hide:function(){this.setAttr("visibility","hidden")},show:function(){this.setAttr("visibility","visible")},getBBox:function(){return this.R.getBBox(this)},toFront:function(){var n=this.node,t;n&&(this.prevNextNode=n.nextSibling,t=n.parentNode,t&&t.appendChild(n))},toPrevious:function(){var n=this.node;n&&this.prevNextNode&&(n=n.parentNode)&&n.insertBefore(this.prevNextNode,null)},toBack:function(){var n=this.node,t,i;n&&(this.prevNextNode=n.nextSibling,t=n.parentNode,t&&(i=t.firstChild,i&&t.insertBefore(n,i)))},mouseover:function(n){return this.R.addListener(this,"mouseover",n),this},mouseout:function(n){return this.R.addListener(this,"mouseout",n),this},click:function(n){return this.R.addListener(this,"click",n),this},dblclick:function(n){return this.R.addListener(this,"dblclick",n),this},mousedown:function(n){return this.R.addListener(this,"mousedown",n),this},mouseup:function(n){return this.R.addListener(this,"mouseup",n),this},touchstart:function(n){return this.R.addListener(this,"touchstart",n),this},touchend:function(n){return this.R.addListener(this,"touchend",n),this},contextmenu:function(n){return this.node.addEventListener?this.node.addEventListener("contextmenu",n,!0):this.R.addListener(this,"contextmenu",n),this},stop:function(){n.removeFromArray(this.R.animations,this.an_x),n.removeFromArray(this.R.animations,this.an_y)},length:function(){return this.node.childNodes.length},gradient:function(n,t,i){this.R.gradient(this,n,t,i)},pattern:function(n,t,i){n&&this.R.pattern(this,n,t,i)}})}(),function(){var n=window.AmCharts;n.VMLRenderer=n.Class({construct:function(n,t){this.chart=t,this.D=n,this.cNames={circle:"oval",ellipse:"oval",rect:"roundrect",path:"shape"},this.styleMap={x:"left",y:"top",width:"width",height:"height","font-family":"fontFamily","font-size":"fontSize",visibility:"visibility"}},create:function(n,t){var i,r,u;return"group"==t?(i=document.createElement("div"),n.type="div"):"text"==t?(i=document.createElement("div"),n.type="text"):"image"==t?(i=document.createElement("img"),n.type="image"):(n.type="shape",n.shapeType=this.cNames[t],i=document.createElement("amvml:"+this.cNames[t]),r=document.createElement("amvml:stroke"),i.appendChild(r),n.stroke=r,u=document.createElement("amvml:fill"),i.appendChild(u),n.fill=u,u.className="amvml",r.className="amvml",i.className="amvml"),i.style.position="absolute",i.style.top=0,i.style.left=0,i},path:function(n,t){n.node.setAttribute("src",t)},setAttr:function(t,i,r){var o,e;if(void 0!==r){8===document.documentMode&&(o=!0);var s=t.node,f=t.type,u=s.style;if("r"==i&&(u.width=2*r,u.height=2*r),"oval"==t.shapeType&&("rx"==i&&(u.width=2*r),"ry"==i&&(u.height=2*r)),"roundrect"==t.shapeType&&("width"!=i&&"height"!=i||--r),"cursor"==i&&(u.cursor=r),"cx"==i&&(u.left=r-n.removePx(u.width)/2),"cy"==i&&(u.top=r-n.removePx(u.height)/2),e=this.styleMap[i],void 0!==e&&(u[e]=r),"text"==f&&("text-anchor"==i&&(t.anchor=r,e=s.clientWidth,"end"==r&&(u.marginLeft=-e+"px"),"middle"==r&&(u.marginLeft=-(e/2)+"px",u.textAlign="center"),"start"==r&&(u.marginLeft="0px")),"fill"==i&&(u.color=r),"font-weight"==i&&(u.fontWeight=r)),u=t.children)for(e=0;e<u.length;e++)u[e].setAttr(i,r);"shape"==f&&("cs"==i&&(s.style.width="100px",s.style.height="100px",s.setAttribute("coordsize",r)),"d"==i&&s.setAttribute("path",this.svgPathToVml(r)),"dd"==i&&s.setAttribute("path",r),f=t.stroke,t=t.fill,"stroke"==i&&(o?f.color=r:f.setAttribute("color",r)),"stroke-width"==i&&(o?f.weight=r:f.setAttribute("weight",r)),"stroke-opacity"==i&&(o?f.opacity=r:f.setAttribute("opacity",r)),"stroke-dasharray"==i&&(u="solid",0<r&&3>r&&(u="dot"),3<=r&&6>=r&&(u="dash"),6<r&&(u="longdash"),o?f.dashstyle=u:f.setAttribute("dashstyle",u)),("fill-opacity"==i||"opacity"==i)&&(0===r?o?t.on=!1:t.setAttribute("on",!1):o?t.opacity=r:t.setAttribute("opacity",r)),"fill"==i&&(o?t.color=r:t.setAttribute("color",r)),"rx"==i&&(o?s.arcSize=r+"%":s.setAttribute("arcsize",r+"%")))}},attr:function(n,t){for(var i in t)t.hasOwnProperty(i)&&this.setAttr(n,i,t[i])},text:function(t,i,r){var u=new n.AmDObject("text",this.D),f=u.node;return f.style.whiteSpace="pre",f.innerHTML=t,this.D.addToContainer(f,r),this.attr(u,i),u},getBBox:function(n){return this.getBox(n.node)},getBox:function(n){var h=n.offsetLeft,c=n.offsetTop,o=n.offsetWidth,s=n.offsetHeight,i,r,u,e,t,f;if(n.hasChildNodes()){for(e=0;e<n.childNodes.length;e++)i=this.getBox(n.childNodes[e]),t=i.x,isNaN(t)||(isNaN(r)?r=t:t<r&&(r=t)),f=i.y,isNaN(f)||(isNaN(u)?u=f:f<u&&(u=f)),t=i.width+t,isNaN(t)||(o=Math.max(o,t)),i=i.height+f,isNaN(i)||(s=Math.max(s,i));0>r&&(h+=r),0>u&&(c+=u)}return{x:h,y:c,width:o,height:s}},setText:function(n,t){var i=n.node;i&&(i.innerHTML=t),this.setAttr(n,"text-anchor",n.anchor)},addListener:function(n,t,i){n.node["on"+t]=i},move:function(t,i,r){var u=t.node,f=u.style;"text"==t.type&&(r-=n.removePx(f.fontSize)/2-1),"oval"==t.shapeType&&(i-=n.removePx(f.width)/2,r-=n.removePx(f.height)/2),t=t.bw,isNaN(t)||(i-=t,r-=t),isNaN(i)||isNaN(r)||(u.style.left=i+"px",u.style.top=r+"px")},svgPathToVml:function(n){var l=n.split(" "),r,t,e;for(n="",t=Math.round,e=0;e<l.length;e++){var f=l[e],u=f.substring(0,1),f=f.substring(1),i=f.split(","),o=t(i[0])+","+t(i[1]);if("M"==u&&(n+=" m "+o),"L"==u&&(n+=" l "+o),"Z"==u&&(n+=" x e"),"Q"==u){var a=r.length,c=r[a-1],s=i[0],h=i[1],o=i[2],v=i[3];r=t(r[a-2]/3+2/3*s),c=t(c/3+2/3*h),s=t(2/3*s+o/3),h=t(2/3*h+v/3),n+=" c "+r+","+c+","+s+","+h+","+o+","+v}"A"==u&&(n+=" wa "+f),"B"==u&&(n+=" at "+f),r=i}return n},animate:function(n,t,i,r,u){var f=n.node,e=this.chart,o;"translate"==t&&(t=i.split(","),i=t[1],o=f.offsetTop,e.animate(n,"left",f.offsetLeft,t[0],r,u,"px"),e.animate(n,"top",o,i,r,u,"px"))},clipRect:function(n,t,i,r,u){n=n.node,0===t&&0===i?(n.style.width=r+"px",n.style.height=u+"px",n.style.overflow="hidden"):n.style.clip="rect("+i+"px "+(t+r)+"px "+(i+u)+"px "+t+"px)"},rotate:function(t,i,r){var u;if(0!==Number(i)){u=t.node,t=u.style,r||(r=this.getBGColor(u.parentNode)),t.backgroundColor=r,t.paddingLeft=1,r=i*Math.PI/180;var e=Math.cos(r),o=Math.sin(r),s=n.removePx(t.left),h=n.removePx(t.top),f=u.offsetWidth,u=u.offsetHeight;i/=Math.abs(i),t.left=s+f/2-f/2*Math.cos(r)-i*u/2*Math.sin(r)+3,t.top=h-i*f/2*Math.sin(r)+i*u/2*Math.sin(r),t.cssText=t.cssText+"; filter:progid:DXImageTransform.Microsoft.Matrix(M11='"+e+"', M12='"+-o+"', M21='"+o+"', M22='"+e+"', sizingmethod='auto expand');"}},getBGColor:function(n){var t="#FFFFFF",i;return n.style&&(i=n.style.backgroundColor,""!==i?t=i:n.parentNode&&(t=this.getBGColor(n.parentNode))),t},set:function(t){var r=new n.AmDObject("group",this.D),i;if(this.D.container.appendChild(r.node),t)for(i=0;i<t.length;i++)r.push(t[i]);return r},gradient:function(n,t,i,r){var f="",u,e;for("radialGradient"==t&&(t="gradientradial",i.reverse()),"linearGradient"==t&&(t="gradient"),u=0;u<i.length;u++)e=Math.round(100*u/(i.length-1)),f=f+(e+"% "+i[u]),u<i.length-1&&(f+=",");n=n.fill,90==r?r=0:270==r?r=180:180==r?r=90:0===r&&(r=270),8===document.documentMode?(n.type=t,n.angle=r):(n.setAttribute("type",t),n.setAttribute("angle",r)),f&&(n.colors.value=f)},remove:function(n){n.clipPath&&this.D.remove(n.clipPath),this.D.remove(n.node)},disableSelection:function(n){void 0!==typeof n.onselectstart&&(n.onselectstart=function(){return!1}),n.style.cursor="default"},pattern:function(t,i,r,u){r=t.node,t=t.fill;var f="none";i.color&&(f=i.color),r.fillColor=f,i=i.url,n.isAbsolute(i)||(i=u+i),8===document.documentMode?(t.type="tile",t.src=i):(t.setAttribute("type","tile"),t.setAttribute("src",i))},update:function(){}})}(),function(){var n=window.AmCharts;n.SVGRenderer=n.Class({construct:function(n){this.D=n,this.animations=[]},create:function(t,i){return document.createElementNS(n.SVG_NS,i)},attr:function(n,t){for(var i in t)t.hasOwnProperty(i)&&this.setAttr(n,i,t[i])},setAttr:function(n,t,i){void 0!==i&&n.node.setAttribute(t,i)},animate:function(t,i,r,u,f){var e=t.node;t["an_"+i]&&n.removeFromArray(this.animations,t["an_"+i]),"translate"==i?(e=(e=e.getAttribute("transform"))?String(e).substring(10,e.length-1):"0,0",e=e.split(", ").join(" "),e=e.split(" ").join(","),0===e&&(e="0,0")):e=Number(e.getAttribute(i)),r={obj:t,frame:0,attribute:i,from:e,to:r,time:u,effect:f},this.animations.push(r),t["an_"+i]=r},update:function(){for(var c=this.animations,e=c.length-1;0<=e;e--){var t=c[e],o=1e3*t.time/n.updateRate,s=t.frame+1,h=t.obj,f=t.attribute,r,i,u;s<=o?(t.frame++,"translate"==f?(r=t.from.split(","),f=Number(r[0]),r=Number(r[1]),isNaN(r)&&(r=0),i=t.to.split(","),u=Number(i[0]),i=Number(i[1]),u=0==u-f?u:Math.round(n[t.effect](0,s,f,u-f,o)),t=0==i-r?i:Math.round(n[t.effect](0,s,r,i-r,o)),f="transform",t="translate("+u+","+t+")"):(i=Number(t.from),r=Number(t.to),u=r-i,t=n[t.effect](0,s,i,u,o),isNaN(t)&&(t=r),0===u&&this.animations.splice(e,1)),this.setAttr(h,f,t)):("translate"==f?(i=t.to.split(","),u=Number(i[0]),i=Number(i[1]),h.translate(u,i)):(r=Number(t.to),this.setAttr(h,f,r)),this.animations.splice(e,1))}},getBBox:function(n){if(n=n.node)try{return n.getBBox()}catch(t){}return{width:0,height:0,x:0,y:0}},path:function(t,i){t.node.setAttributeNS(n.SVG_XLINK,"xlink:href",i)},clipRect:function(t,i,r,u,f){var e=t.node,o=t.clipPath,s;o&&this.D.remove(o),s=e.parentNode,s&&(e=document.createElementNS(n.SVG_NS,"clipPath"),o=n.getUniqueId(),e.setAttribute("id",o),this.D.rect(i,r,u,f,0,0,e),s.appendChild(e),i="#",n.baseHref&&!n.isIE&&(i=this.removeTarget(window.location.href)+i),this.setAttr(t,"clip-path","url("+i+o+")"),this.clipPathC++,t.clipPath=e)},text:function(t,i,r){var f=new n.AmDObject("text",this.D),e,o,u;for(t=String(t).split("\n"),e=i["font-size"],o=0;o<t.length;o++)u=this.create(null,"tspan"),u.appendChild(document.createTextNode(t[o])),u.setAttribute("y",(e+2)*o+Math.round(e/2)),u.setAttribute("x",0),u.style.fontSize=e+"px",f.node.appendChild(u);return f.node.setAttribute("y",Math.round(e/2)),this.attr(f,i),this.D.addToContainer(f.node,r),f},setText:function(n,t){var i=n.node;i&&(i.removeChild(i.firstChild),i.appendChild(document.createTextNode(t)))},move:function(n,t,i,r){isNaN(t)&&(t=0),isNaN(i)&&(i=0),t="translate("+t+","+i+")",r&&(t=t+" scale("+r+")"),this.setAttr(n,"transform",t)},rotate:function(n,t){var r=n.node.getAttribute("transform"),i="rotate("+t+")";r&&(i=r+" "+i),this.setAttr(n,"transform",i)},set:function(t){var r=new n.AmDObject("g",this.D),i;if(this.D.container.appendChild(r.node),t)for(i=0;i<t.length;i++)r.push(t[i]);return r},addListener:function(n,t,i){n.node["on"+t]=i},gradient:function(t,i,r,u){var s=t.node,e=t.grad;if(e&&this.D.remove(e),i=document.createElementNS(n.SVG_NS,i),e=n.getUniqueId(),i.setAttribute("id",e),!isNaN(u)){var f=0,o=0,h=0,c=0;90==u?h=100:270==u?c=100:180==u?f=100:0===u&&(o=100),i.setAttribute("x1",f+"%"),i.setAttribute("x2",o+"%"),i.setAttribute("y1",h+"%"),i.setAttribute("y2",c+"%")}for(u=0;u<r.length;u++)f=document.createElementNS(n.SVG_NS,"stop"),o=100*u/(r.length-1),0===u&&(o=0),f.setAttribute("offset",o+"%"),f.setAttribute("stop-color",r[u]),i.appendChild(f);s.parentNode.appendChild(i),r="#",n.baseHref&&!n.isIE&&(r=this.removeTarget(window.location.href)+r),s.setAttribute("fill","url("+r+e+")"),t.grad=i},removeTarget:function(n){return n.split("#")[0]},pattern:function(t,i,r,u){var c=t.node,f,h,o,s;isNaN(r)&&(r=1),f=t.patternNode,f&&this.D.remove(f);var f=document.createElementNS(n.SVG_NS,"pattern"),l=n.getUniqueId(),e=i;i.url&&(e=i.url),n.isAbsolute(e)||(e=u+e),u=Number(i.width),isNaN(u)&&(u=4),h=Number(i.height),isNaN(h)&&(h=4),u/=r,h/=r,r=i.x,isNaN(r)&&(r=0),o=-Math.random()*Number(i.randomX),isNaN(o)||(r=o),o=i.y,isNaN(o)&&(o=0),s=-Math.random()*Number(i.randomY),isNaN(s)||(o=s),f.setAttribute("id",l),f.setAttribute("width",u),f.setAttribute("height",h),f.setAttribute("patternUnits","userSpaceOnUse"),f.setAttribute("xlink:href",e),i.color&&(s=document.createElementNS(n.SVG_NS,"rect"),s.setAttributeNS(null,"height",u),s.setAttributeNS(null,"width",h),s.setAttributeNS(null,"fill",i.color),f.appendChild(s)),this.D.image(e,0,0,u,h,f).translate(r,o),e="#",n.baseHref&&!n.isIE&&(e=this.removeTarget(window.location.href)+e),c.setAttribute("fill","url("+e+l+")"),t.patternNode=f,c.parentNode.appendChild(f)},remove:function(n){n.clipPath&&this.D.remove(n.clipPath),n.grad&&this.D.remove(n.grad),n.patternNode&&this.D.remove(n.patternNode),this.D.remove(n.node)}})}(),AmCharts.AmDSet=AmCharts.Class({construct:function(){this.create("g")},attr:function(n){this.R.attr(this.node,n)},move:function(n,t){this.R.move(this.node,n,t)}}),function(){var n=window.AmCharts;n.AmLegend=n.Class({construct:function(t){this.enabled=!0,this.cname="AmLegend",this.createEvents("rollOverMarker","rollOverItem","rollOutMarker","rollOutItem","showItem","hideItem","clickMarker","rollOverItem","rollOutItem","clickLabel"),this.position="bottom",this.borderColor=this.color="#000000",this.borderAlpha=0,this.markerLabelGap=5,this.verticalGap=10,this.align="left",this.horizontalGap=0,this.spacing=10,this.markerDisabledColor="#AAB3B3",this.markerType="square",this.markerSize=16,this.markerBorderThickness=this.markerBorderAlpha=1,this.marginBottom=this.marginTop=0,this.marginLeft=this.marginRight=20,this.autoMargins=!0,this.valueWidth=50,this.switchable=!0,this.switchType="x",this.switchColor="#FFFFFF",this.rollOverColor="#CC0000",this.reversedOrder=!1,this.labelText="[[title]]",this.valueText="[[value]]",this.useMarkerColorForLabels=!1,this.rollOverGraphAlpha=1,this.textClickEnabled=!1,this.equalWidths=!0,this.dateFormat="DD-MM-YYYY",this.backgroundColor="#FFFFFF",this.backgroundAlpha=0,this.useGraphSettings=!1,this.showEntries=!0,n.applyTheme(this,t,this.cname)},setData:function(n){this.legendData=n,this.invalidateSize()},invalidateSize:function(){this.destroy(),this.entries=[],this.valueLabels=[];var t=this.legendData;this.enabled&&(n.ifArray(t)||n.ifArray(this.data))&&this.drawLegend()},drawLegend:function(){var t=this.chart,r=this.position,u=this.width,s=t.divRealWidth,i=t.divRealHeight,f=this.div,e=this.legendData,o;if(this.data&&(e=this.data),isNaN(this.fontSize)&&(this.fontSize=t.fontSize),"right"==r||"left"==r?(this.maxColumns=1,this.autoMargins&&(this.marginLeft=this.marginRight=10)):this.autoMargins&&(this.marginRight=t.marginRight,this.marginLeft=t.marginLeft,o=t.autoMarginOffset,"bottom"==r?(this.marginBottom=o,this.marginTop=0):(this.marginTop=o,this.marginBottom=0)),u=void 0!==u?n.toCoordinate(u,s):t.realWidth,"outside"==r?(u=f.offsetWidth,i=f.offsetHeight,f.clientHeight&&(u=f.clientWidth,i=f.clientHeight)):(isNaN(u)||(f.style.width=u+"px"),f.className="amChartsLegend "+t.classNamePrefix+"-legend-div"),this.divWidth=u,(r=this.container)?(r.container.innerHTML="",f.appendChild(r.container),r.width=u,r.height=i,r.addDefs(t)):r=new n.AmDraw(f,u,i,t),this.container=r,this.lx=0,this.ly=8,i=this.markerSize,i>this.fontSize&&(this.ly=i/2-1),0<i&&(this.lx+=i+this.markerLabelGap),this.titleWidth=0,(i=this.title)&&(i=n.text(this.container,i,this.color,t.fontFamily,this.fontSize,"start",!0),n.setCN(t,i,"legend-title"),i.translate(this.marginLeft,this.marginTop+this.verticalGap+this.ly+1),t=i.getBBox(),this.titleWidth=t.width+15,this.titleHeight=t.height+6),this.index=this.maxLabelWidth=0,this.showEntries){for(t=0;t<e.length;t++)this.createEntry(e[t]);for(t=this.index=0;t<e.length;t++)this.createValue(e[t])}this.arrangeEntries(),this.updateValues()},arrangeEntries:function(){var i=this.position,o=this.marginLeft+this.titleWidth,h=this.marginRight,rt=this.marginTop,ut=this.marginBottom,r=this.horizontalGap,tt=this.div,b=this.divWidth,s=this.maxColumns,g=this.verticalGap,f=this.spacing,ft=b-h-o,it=0,y=0,nt=this.container,p,w,c,t,u,e,v,a;for(this.set&&this.set.remove(),p=nt.set(),this.set=p,w=nt.set(),p.push(w),c=this.entries,u=0;u<c.length;u++)t=c[u].getBBox(),e=t.width,e>it&&(it=e),t=t.height,t>y&&(y=t);var e=y=0,k=r,d=0,l=0;for(u=0;u<c.length;u++)v=c[u],this.reversedOrder&&(v=c[c.length-u-1]),t=v.getBBox(),this.equalWidths?a=r+e*(it+f+this.markerLabelGap):(a=k,k=k+t.width+r+f),t.height>l&&(l=t.height),a+t.width>ft&&0<u&&0!==e&&(y++,e=0,a=r,k=a+t.width+r+f,d=d+l+g,l=0),v.translate(a,d),e++,!isNaN(s)&&e>=s&&(e=0,y++,d=d+l+g,k=r,l=0),w.push(v);t=w.getBBox(),s=t.height+2*g-1,"left"==i||"right"==i?(f=t.width+2*r,b=f+o+h,tt.style.width=b+"px",this.ieW=b):f=b-o-h-1,h=n.polygon(this.container,[0,f,f,0],[0,0,s,s],this.backgroundColor,this.backgroundAlpha,1,this.borderColor,this.borderAlpha),n.setCN(this.chart,h,"legend-bg"),p.push(h),p.translate(o,rt),h.toBack(),o=r,("top"==i||"bottom"==i||"absolute"==i||"outside"==i)&&("center"==this.align?o=r+(f-t.width)/2:"right"==this.align&&(o=r+f-t.width)),w.translate(o,g+1),this.titleHeight>s&&(s=this.titleHeight),i=s+rt+ut+1,0>i&&(i=0),i>this.chart.divRealHeight&&(tt.style.top="0px"),tt.style.height=Math.round(i)+"px",nt.setSize(this.divWidth,i)},createEntry:function(t){var e,i,f,v,o,u,l,p,c;if(!1!==t.visibleInLegend){e=this.chart,i=t.markerType,t.legendEntryWidth=this.markerSize,i||(i=this.markerType),f=t.color,v=t.alpha,t.legendKeyColor&&(f=t.legendKeyColor()),t.legendKeyAlpha&&(v=t.legendKeyAlpha()),!0===t.hidden&&(o=f=this.markerDisabledColor),u=t.pattern,l=t.customMarker,l||(l=this.customMarker);var h=this.container,r=this.markerSize,s=0,y=0,a=r/2;this.useGraphSettings?(i=t.type,this.switchType=void 0,"line"==i||"step"==i||"smoothedLine"==i||"ohlc"==i?(u=h.set(),t.hidden||(f=t.lineColorR,o=t.bulletBorderColorR),s=n.line(h,[0,2*r],[r/2,r/2],f,t.lineAlpha,t.lineThickness,t.dashLength),n.setCN(e,s,"graph-stroke"),u.push(s),t.bullet&&(t.hidden||(f=t.bulletColorR),s=n.bullet(h,t.bullet,t.bulletSize,f,t.bulletAlpha,t.bulletBorderThickness,o,t.bulletBorderAlpha))&&(n.setCN(e,s,"graph-bullet"),s.translate(r+1,r/2),u.push(s)),a=0,s=r,y=r/3):(t.getGradRotation&&(p=t.getGradRotation()),s=t.fillColorsR,!0===t.hidden&&(s=f),(u=this.createMarker("rectangle",s,t.fillAlphas,t.lineThickness,f,t.lineAlpha,p,u))&&(a=r,u.translate(a,r/2)),s=r),n.setCN(e,u,"graph-"+i),n.setCN(e,u,"graph-"+t.id)):l?u=h.image(l,0,0,r,r):(u=this.createMarker(i,f,v,void 0,void 0,void 0,void 0,u))&&u.translate(r/2,r/2),n.setCN(e,u,"legend-marker"),this.addListeners(u,t),h=h.set([u]),this.switchable&&t.switchable&&h.setAttr("cursor","pointer"),void 0!==t.id&&n.setCN(e,h,"legend-item-"+t.id),n.setCN(e,h,t.className,!0),(o=this.switchType)&&"none"!=o&&0<r&&("x"==o?(i=this.createX(),i.translate(r/2,r/2)):i=this.createV(),i.dItem=t,!0!==t.hidden?"x"==o?i.hide():i.show():"x"!=o&&i.hide(),this.switchable||i.hide(),this.addListeners(i,t),t.legendSwitch=i,h.push(i),n.setCN(e,i,"legend-switch")),o=this.color,t.showBalloon&&this.textClickEnabled&&void 0!==this.selectedColor&&(o=this.selectedColor),this.useMarkerColorForLabels&&(o=f),!0===t.hidden&&(o=this.markerDisabledColor),f=n.massReplace(this.labelText,{"[[title]]":t.title}),i=this.fontSize,u&&(r<=i&&u.translate(a,r/2+this.ly-i/2+(i+2-r)/2-y),t.legendEntryWidth=u.getBBox().width),f&&(f=n.fixBrakes(f),t.legendTextReal=f,c=this.labelWidth,c=isNaN(c)?n.text(this.container,f,o,e.fontFamily,i,"start"):n.wrappedText(this.container,f,o,e.fontFamily,i,"start",!1,c,0),n.setCN(e,c,"legend-label"),c.translate(this.lx+s,this.ly),h.push(c),e=c.getBBox().width,this.maxLabelWidth<e&&(this.maxLabelWidth=e)),this.entries[this.index]=h,t.legendEntry=this.entries[this.index],t.legendLabel=c,this.index++}},addListeners:function(n,t){var i=this;n&&n.mouseover(function(n){i.rollOverMarker(t,n)}).mouseout(function(n){i.rollOutMarker(t,n)}).click(function(n){i.clickMarker(t,n)})},rollOverMarker:function(n,t){this.switchable&&this.dispatch("rollOverMarker",n,t),this.dispatch("rollOverItem",n,t)},rollOutMarker:function(n,t){this.switchable&&this.dispatch("rollOutMarker",n,t),this.dispatch("rollOutItem",n,t)},clickMarker:function(n,t){this.switchable&&(!0===n.hidden?this.dispatch("showItem",n,t):this.dispatch("hideItem",n,t)),this.dispatch("clickMarker",n,t)},rollOverLabel:function(n,t){n.hidden||(this.textClickEnabled&&n.legendLabel&&n.legendLabel.attr({fill:this.rollOverColor}),this.dispatch("rollOverItem",n,t))},rollOutLabel:function(n,t){if(!n.hidden){if(this.textClickEnabled&&n.legendLabel){var i=this.color;void 0!==this.selectedColor&&n.showBalloon&&(i=this.selectedColor),this.useMarkerColorForLabels&&(i=n.lineColor,void 0===i&&(i=n.color)),n.legendLabel.attr({fill:i})}this.dispatch("rollOutItem",n,t)}},clickLabel:function(n,t){this.textClickEnabled?n.hidden||this.dispatch("clickLabel",n,t):this.switchable&&(!0===n.hidden?this.dispatch("showItem",n,t):this.dispatch("hideItem",n,t))},dispatch:function(n,t,i){this.fire(n,{type:n,dataItem:t,target:this,event:i,chart:this.chart})},createValue:function(t){var i=this,u=i.fontSize,e=i.chart,f,o,r;if(!1!==t.visibleInLegend){if(f=i.maxLabelWidth,i.forceWidth&&(f=i.labelWidth),i.equalWidths||(i.valueAlign="left"),"left"==i.valueAlign&&(f=t.legendEntry.getBBox().width),o=f,i.valueText&&0<i.valueWidth){r=i.color,i.useMarkerColorForValues&&(r=t.color,t.legendKeyColor&&(r=t.legendKeyColor())),!0===t.hidden&&(r=i.markerDisabledColor);var h=i.valueText,f=f+i.lx+i.markerLabelGap+i.valueWidth,s="end";"left"==i.valueAlign&&(f-=i.valueWidth,s="start"),r=n.text(i.container,h,r,i.chart.fontFamily,u,s),n.setCN(e,r,"legend-value"),r.translate(f,i.ly),i.entries[i.index].push(r),o+=i.valueWidth+2*i.markerLabelGap,r.dItem=t,i.valueLabels.push(r)}i.index++,e=i.markerSize,e<u+7&&(e=u+7,n.VML&&(e+=3)),u=i.container.rect(t.legendEntryWidth,0,o,e,0,0).attr({stroke:"none",fill:"#fff","fill-opacity":.005}),u.dItem=t,i.entries[i.index-1].push(u),u.mouseover(function(n){i.rollOverLabel(t,n)}).mouseout(function(n){i.rollOutLabel(t,n)}).click(function(n){i.clickLabel(t,n)})}},createV:function(){var t=this.markerSize;return n.polygon(this.container,[t/5,t/2,t-t/5,t/2],[t/3,t-t/5,t/5,t/1.7],this.switchColor)},createX:function(){var t=(this.markerSize-4)/2,i={stroke:this.switchColor,"stroke-width":3},r=this.container,u=n.line(r,[-t,t],[-t,t]).attr(i),t=n.line(r,[-t,t],[t,-t]).attr(i);return this.container.set([u,t])},createMarker:function(t,i,r,u,f,e,o,s){var h=this.markerSize,c=this.container;return f||(f=this.markerBorderColor),f||(f=i),isNaN(u)&&(u=this.markerBorderThickness),isNaN(e)&&(e=this.markerBorderAlpha),n.bullet(c,t,h,i,r,u,f,e,h,o,s,this.chart.path)},validateNow:function(){this.invalidateSize()},updateValues:function(){for(var o=this.valueLabels,e=this.chart,s=this.data,r,i,u=0;u<o.length;u++){var f=o[u],n=f.dItem,t=" ";s?n.value?f.text(n.value):f.text(""):(void 0!==n.type?(r=n.currentDataItem,i=this.periodValueText,n.legendPeriodValueText&&(i=n.legendPeriodValueText),r?(t=this.valueText,n.legendValueText&&(t=n.legendValueText),t=e.formatString(t,r)):i&&(t=e.formatPeriodString(i,n))):t=e.formatString(this.valueText,n),(i=this.valueFunction)&&(r&&(n=r),t=i(n,t)),f.text(t))}},renderFix:function(){if(!n.VML){var t=this.container;t&&t.renderFix()}},destroy:function(){this.div.innerHTML="",n.remove(this.set)}})}(),function(){var n=window.AmCharts;n.formatMilliseconds=function(n,t){if(-1!=n.indexOf("fff")){var i=t.getMilliseconds(),r=String(i);10>i&&(r="00"+i),10<=i&&100>i&&(r="0"+i),n=n.replace(/fff/g,r)}return n},n.extractPeriod=function(t){var i=n.stripNumbers(t),r=1;return i!=t&&(r=Number(t.slice(0,t.indexOf(i)))),{period:i,count:r}},n.getDate=function(t,i,r){return t instanceof Date?n.newDate(t,r):i&&isNaN(t)?n.stringToDate(t,i):new Date(t)},n.newDate=function(t,i){return i&&"fff"!=i?new Date(t):n.useUTC?new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()):new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())},n.resetDateToMin=function(t,i,r,u){void 0===u&&(u=1);var l,c,h,s,o,e,f;n.useUTC?(l=t.getUTCFullYear(),c=t.getUTCMonth(),h=t.getUTCDate(),s=t.getUTCHours(),o=t.getUTCMinutes(),e=t.getUTCSeconds(),f=t.getUTCMilliseconds(),t=t.getUTCDay()):(l=t.getFullYear(),c=t.getMonth(),h=t.getDate(),s=t.getHours(),o=t.getMinutes(),e=t.getSeconds(),f=t.getMilliseconds(),t=t.getDay());switch(i){case"YYYY":l=Math.floor(l/r)*r,c=0,h=1,f=e=o=s=0;break;case"MM":c=Math.floor(c/r)*r,h=1,f=e=o=s=0;break;case"WW":h=t>=u?h-t+u:h-(7+t)+u,f=e=o=s=0;break;case"DD":f=e=o=s=0;break;case"hh":s=Math.floor(s/r)*r,f=e=o=0;break;case"mm":o=Math.floor(o/r)*r,f=e=0;break;case"ss":e=Math.floor(e/r)*r,f=0;break;case"fff":f=Math.floor(f/r)*r}return n.useUTC?(t=new Date,t.setUTCFullYear(l,c,h),t.setUTCHours(s,o,e,f)):t=new Date(l,c,h,s,o,e,f),t},n.getPeriodDuration=function(n,t){void 0===t&&(t=1);var i;switch(n){case"YYYY":i=316224e5;break;case"MM":i=26784e5;break;case"WW":i=6048e5;break;case"DD":i=864e5;break;case"hh":i=36e5;break;case"mm":i=6e4;break;case"ss":i=1e3;break;case"fff":i=1}return i*t},n.intervals={s:{nextInterval:"ss",contains:1e3},ss:{nextInterval:"mm",contains:60,count:0},mm:{nextInterval:"hh",contains:60,count:1},hh:{nextInterval:"DD",contains:24,count:2},DD:{nextInterval:"",contains:Infinity,count:3}},n.getMaxInterval=function(t,i){var r=n.intervals;return t>=r[i].contains?(t=Math.round(t/r[i].contains),i=r[i].nextInterval,n.getMaxInterval(t,i)):"ss"==i?r[i].nextInterval:i},n.dayNames="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),n.shortDayNames="Sun Mon Tue Wed Thu Fri Sat".split(" "),n.monthNames="January February March April May June July August September October November December".split(" "),n.shortMonthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),n.getWeekNumber=function(n){n=new Date(n),n.setHours(0,0,0),n.setDate(n.getDate()+4-(n.getDay()||7));var t=new Date(n.getFullYear(),0,1);return Math.ceil(((n-t)/864e5+1)/7)},n.stringToDate=function(t,i){var r={},u=[{pattern:"YYYY",period:"year"},{pattern:"YY",period:"year"},{pattern:"MM",period:"month"},{pattern:"M",period:"month"},{pattern:"DD",period:"date"},{pattern:"D",period:"date"},{pattern:"JJ",period:"hours"},{pattern:"J",period:"hours"},{pattern:"HH",period:"hours"},{pattern:"H",period:"hours"},{pattern:"KK",period:"hours"},{pattern:"K",period:"hours"},{pattern:"LL",period:"hours"},{pattern:"L",period:"hours"},{pattern:"NN",period:"minutes"},{pattern:"N",period:"minutes"},{pattern:"SS",period:"seconds"},{pattern:"S",period:"seconds"},{pattern:"QQQ",period:"milliseconds"},{pattern:"QQ",period:"milliseconds"},{pattern:"Q",period:"milliseconds"}],c=!0,s=i.indexOf("AA"),e,o,f,h;for(-1!=s&&(t.substr(s,2),"pm"==t.toLowerCase&&(c=!1)),s=i,f=0;f<u.length;f++)o=u[f].period,r[o]=0,"date"==o&&(r[o]=1);for(f=0;f<u.length;f++)(e=u[f].pattern,o=u[f].period,-1!=i.indexOf(e))&&(h=n.getFromDateString(e,t,s),i=i.replace(e,""),("KK"==e||"K"==e||"LL"==e||"L"==e)&&(c||(h+=12)),r[o]=h);return n.useUTC?(u=new Date,u.setUTCFullYear(r.year,r.month,r.date),u.setUTCHours(r.hours,r.minutes,r.seconds,r.milliseconds)):u=new Date(r.year,r.month,r.date,r.hours,r.minutes,r.seconds,r.milliseconds),u},n.getFromDateString=function(n,t,i){if(void 0!==t)return i=i.indexOf(n),t=String(t),t=t.substr(i,n.length),"0"==t.charAt(0)&&(t=t.substr(1,t.length-1)),t=Number(t),isNaN(t)&&(t=0),-1!=n.indexOf("M")&&t--,t},n.formatDate=function(t,i,r){var v,h,c,a,l,e,o,s,p,y,w,u,f;return r||(r=n),s=n.getWeekNumber(t),n.useUTC?(v=t.getUTCFullYear(),h=t.getUTCMonth(),c=t.getUTCDate(),a=t.getUTCDay(),l=t.getUTCHours(),e=t.getUTCMinutes(),o=t.getUTCSeconds(),t=t.getUTCMilliseconds()):(v=t.getFullYear(),h=t.getMonth(),c=t.getDate(),a=t.getDay(),l=t.getHours(),e=t.getMinutes(),o=t.getSeconds(),t=t.getMilliseconds()),p=String(v).substr(2,2),y=h+1,9>h&&(y="0"+y),w="0"+a,i=i.replace(/W/g,s),s=l,24==s&&(s=0),u=s,10>u&&(u="0"+u),i=i.replace(/JJ/g,u),i=i.replace(/J/g,s),u=l,0===u&&(u=24,-1!=i.indexOf("H")&&c--),s=c,10>c&&(s="0"+c),f=u,10>f&&(f="0"+f),i=i.replace(/HH/g,f),i=i.replace(/H/g,u),u=l,11<u&&(u-=12),f=u,10>f&&(f="0"+f),i=i.replace(/KK/g,f),i=i.replace(/K/g,u),u=l,0===u&&(u=12),12<u&&(u-=12),f=u,10>f&&(f="0"+f),i=i.replace(/LL/g,f),i=i.replace(/L/g,u),u=e,10>u&&(u="0"+u),i=i.replace(/NN/g,u),i=i.replace(/N/g,e),e=o,10>e&&(e="0"+e),i=i.replace(/SS/g,e),i=i.replace(/S/g,o),o=t,10>o&&(o="00"+o),100>o&&(o="0"+o),e=t,10>e&&(e="00"+e),i=i.replace(/QQQ/g,o),i=i.replace(/QQ/g,e),i=i.replace(/Q/g,t),i=12>l?i.replace(/A/g,"am"):i.replace(/A/g,"pm"),i=i.replace(/YYYY/g,"@IIII@"),i=i.replace(/YY/g,"@II@"),i=i.replace(/MMMM/g,"@XXXX@"),i=i.replace(/MMM/g,"@XXX@"),i=i.replace(/MM/g,"@XX@"),i=i.replace(/M/g,"@X@"),i=i.replace(/DD/g,"@RR@"),i=i.replace(/D/g,"@R@"),i=i.replace(/EEEE/g,"@PPPP@"),i=i.replace(/EEE/g,"@PPP@"),i=i.replace(/EE/g,"@PP@"),i=i.replace(/E/g,"@P@"),i=i.replace(/@IIII@/g,v),i=i.replace(/@II@/g,p),i=i.replace(/@XXXX@/g,r.monthNames[h]),i=i.replace(/@XXX@/g,r.shortMonthNames[h]),i=i.replace(/@XX@/g,y),i=i.replace(/@X@/g,h+1),i=i.replace(/@RR@/g,s),i=i.replace(/@R@/g,c),i=i.replace(/@PPPP@/g,r.dayNames[a]),i=i.replace(/@PPP@/g,r.shortDayNames[a]),i=i.replace(/@PP@/g,w),i=i.replace(/@P@/g,a)},n.changeDate=function(t,i,r,u,f){if(n.useUTC)return n.changeUTCDate(t,i,r,u,f);var e=-1;void 0===u&&(u=!0),void 0===f&&(f=!1),!0===u&&(e=1);switch(i){case"YYYY":t.setFullYear(t.getFullYear()+r*e),u||f||t.setDate(t.getDate()+1);break;case"MM":i=t.getMonth(),t.setMonth(t.getMonth()+r*e),t.getMonth()>i+r*e&&t.setDate(t.getDate()-1),u||f||t.setDate(t.getDate()+1);break;case"DD":t.setDate(t.getDate()+r*e);break;case"WW":t.setDate(t.getDate()+r*e*7);break;case"hh":t.setHours(t.getHours()+r*e);break;case"mm":t.setMinutes(t.getMinutes()+r*e);break;case"ss":t.setSeconds(t.getSeconds()+r*e);break;case"fff":t.setMilliseconds(t.getMilliseconds()+r*e)}return t},n.changeUTCDate=function(n,t,i,r,u){var f=-1;void 0===r&&(r=!0),void 0===u&&(u=!1),!0===r&&(f=1);switch(t){case"YYYY":n.setUTCFullYear(n.getUTCFullYear()+i*f),r||u||n.setUTCDate(n.getUTCDate()+1);break;case"MM":t=n.getUTCMonth(),n.setUTCMonth(n.getUTCMonth()+i*f),n.getUTCMonth()>t+i*f&&n.setUTCDate(n.getUTCDate()-1),r||u||n.setUTCDate(n.getUTCDate()+1);break;case"DD":n.setUTCDate(n.getUTCDate()+i*f);break;case"WW":n.setUTCDate(n.getUTCDate()+i*f*7);break;case"hh":n.setUTCHours(n.getUTCHours()+i*f);break;case"mm":n.setUTCMinutes(n.getUTCMinutes()+i*f);break;case"ss":n.setUTCSeconds(n.getUTCSeconds()+i*f);break;case"fff":n.setUTCMilliseconds(n.getUTCMilliseconds()+i*f)}return n}}(),function(){var n=window.AmCharts;n.AmSerialChart=n.Class({inherits:n.AmRectangularChart,construct:function(t){this.type="serial",n.AmSerialChart.base.construct.call(this,t),this.cname="AmSerialChart",this.theme=t,this.createEvents("changed"),this.columnSpacing=5,this.columnSpacing3D=0,this.columnWidth=.8,this.updateScrollbar=!0;var i=new n.CategoryAxis(t);i.chart=this,this.categoryAxis=i,this.zoomOutOnDataUpdate=!0,this.mouseWheelZoomEnabled=this.mouseWheelScrollEnabled=this.rotate=this.skipZoom=!1,this.minSelectedTime=0,n.applyTheme(this,t,this.cname)},initChart:function(){var t,r,i;for(n.AmSerialChart.base.initChart.call(this),this.updateCategoryAxis(this.categoryAxis,this.rotate,"categoryAxis"),this.dataChanged&&(this.updateData(),this.dataChanged=!1,this.dispatchDataUpdated=!0),t=this.chartCursor,t&&(t.updateData(),t.fullWidth&&(t.fullRectSet=this.cursorLineSet)),t=this.countColumns(),r=this.graphs,i=0;i<r.length;i++)r[i].columnCount=t;this.updateScrollbar=!0,this.drawChart(),this.autoMargins&&!this.marginsUpdated&&(this.marginsUpdated=!0,this.measureMargins())},handleWheelReal:function(n,t){if(!this.wheelBusy){var i=this.categoryAxis,u=i.parseDates,r=i.minDuration(),f=i=1;this.mouseWheelZoomEnabled?t||(i=-1):t&&(i=-1);var e=this.chartData.length,o=this.lastTime,s=this.firstTime;0>n?u?(e=this.endTime-this.startTime,u=this.startTime+i*r,r=this.endTime+f*r,0<f&&0<i&&r>=o&&(r=o,u=o-e),this.zoomToDates(new Date(u),new Date(r))):(0<f&&0<i&&this.end>=e-1&&(i=f=0),u=this.start+i,r=this.end+f,this.zoomToIndexes(u,r)):u?(e=this.endTime-this.startTime,u=this.startTime-i*r,r=this.endTime-f*r,0<f&&0<i&&u<=s&&(u=s,r=s+e),this.zoomToDates(new Date(u),new Date(r))):(0<f&&0<i&&1>this.start&&(i=f=0),u=this.start-i,r=this.end-f,this.zoomToIndexes(u,r))}},validateData:function(t){this.marginsUpdated=!1,this.zoomOutOnDataUpdate&&!t&&(this.endTime=this.end=this.startTime=this.start=NaN),n.AmSerialChart.base.validateData.call(this)},drawChart:function(){var r,i,t;n.AmSerialChart.base.drawChart.call(this),r=this.chartData,n.ifArray(r)?(t=this.chartScrollbar,t&&t.draw(),0<this.realWidth&&0<this.realHeight&&(r=r.length-1,t=this.categoryAxis,t.parseDates&&!t.equalSpacing?(t=this.startTime,i=this.endTime,isNaN(t)||isNaN(i))&&(t=this.firstTime,i=this.lastTime):(t=this.start,i=this.end,isNaN(t)||isNaN(i))&&(t=0,i=r),this.endTime=this.startTime=this.end=this.start=void 0,this.zoom(t,i))):this.cleanChart(),this.dispDUpd(),this.chartCreated=!0},cleanChart:function(){n.callMethod("destroy",[this.valueAxes,this.graphs,this.categoryAxis,this.chartScrollbar,this.chartCursor])},updateCategoryAxis:function(t,i,r){t.chart=this,t.id=r,t.rotate=i,t.axisRenderer=n.RecAxis,t.guideFillRenderer=n.RecFill,t.axisItemRenderer=n.RecItem,t.setOrientation(!this.rotate),t.x=this.marginLeftReal,t.y=this.marginTopReal,t.dx=this.dx,t.dy=this.dy,t.width=this.plotAreaWidth-1,t.height=this.plotAreaHeight-1,t.viW=this.plotAreaWidth-1,t.viH=this.plotAreaHeight-1,t.viX=this.marginLeftReal,t.viY=this.marginTopReal,t.marginsChanged=!0},updateValueAxes:function(){var u,i,r,t;for(n.AmSerialChart.base.updateValueAxes.call(this),u=this.valueAxes,i=0;i<u.length;i++)r=u[i],t=this.rotate,r.rotate=t,r.setOrientation(t),t=this.categoryAxis,(!t.startOnAxis||t.parseDates)&&(r.expandMinMax=!0)},updateData:function(){this.parseData();for(var i=this.graphs,n=this.chartData,t=0;t<i.length;t++)i[t].data=n;0<n.length&&(this.firstTime=this.getStartTime(n[0].time),this.lastTime=this.getEndTime(n[n.length-1].time))},getStartTime:function(t){var i=this.categoryAxis;return n.resetDateToMin(new Date(t),i.minPeriod,1,i.firstDayOfWeek).getTime()},getEndTime:function(t){var i=n.extractPeriod(this.categoryAxis.minPeriod);return n.changeDate(new Date(t),i.period,i.count,!0).getTime()-1},updateMargins:function(){n.AmSerialChart.base.updateMargins.call(this);var t=this.chartScrollbar;t&&(this.getScrollbarPosition(t,this.rotate,this.categoryAxis.position),this.adjustMargins(t,this.rotate))},updateScrollbars:function(){n.AmSerialChart.base.updateScrollbars.call(this),this.updateChartScrollbar(this.chartScrollbar,this.rotate)},zoom:function(n,t){var i=this.categoryAxis;i.parseDates&&!i.equalSpacing?this.timeZoom(n,t):this.indexZoom(n,t),this.updateLegendValues()},timeZoom:function(t,i){var u=this.maxSelectedTime,r,f,s;if(isNaN(u)||(i!=this.endTime&&i-t>u&&(t=i-u,this.updateScrollbar=!0),t!=this.startTime&&i-t>u&&(i=t+u,this.updateScrollbar=!0)),r=this.minSelectedTime,0<r&&i-t<r&&(s=Math.round(t+(i-t)/2),r=Math.round(r/2),t=s-r,i=s+r),f=this.chartData,s=this.categoryAxis,n.ifArray(f)&&(t!=this.startTime||i!=this.endTime)){var e=s.minDuration(),r=this.firstTime,o=this.lastTime;t||(t=r,isNaN(u)||(t=o-u)),i||(i=o),t>o&&(t=o),i<r&&(i=r),t<r&&(t=r),i>o&&(i=o),i<t&&(i=t+e),i-t<e/5&&(i<o?i=t+e/5:t=i-e/5),this.startTime=t,this.endTime=i,u=f.length-1,e=this.getClosestIndex(f,"time",t,!0,0,u),f=this.getClosestIndex(f,"time",i,!1,e,u),s.timeZoom(t,i),s.zoom(e,f),this.start=n.fitToBounds(e,0,u),this.end=n.fitToBounds(f,0,u),this.zoomAxesAndGraphs(),this.zoomScrollbar(),t!=r||i!=o?this.showZB(!0):this.showZB(!1),this.updateColumnsDepth(),this.dispatchTimeZoomEvent()}},updateAfterValueZoom:function(){this.zoomAxesAndGraphs(),this.zoomScrollbar(),this.updateColumnsDepth()},indexZoom:function(n,t){var i=this.maxSelectedSeries,r;isNaN(i)||(t!=this.end&&t-n>i&&(n=t-i,this.updateScrollbar=!0),n!=this.start&&t-n>i&&(t=n+i,this.updateScrollbar=!0)),(n!=this.start||t!=this.end)&&(r=this.chartData.length-1,isNaN(n)&&(n=0,isNaN(i)||(n=r-i)),isNaN(t)&&(t=r),t<n&&(t=n),t>r&&(t=r),n>r&&(n=r-1),0>n&&(n=0),this.start=n,this.end=t,this.categoryAxis.zoom(n,t),this.zoomAxesAndGraphs(),this.zoomScrollbar(),0!==n||t!=this.chartData.length-1?this.showZB(!0):this.showZB(!1),this.updateColumnsDepth(),this.dispatchIndexZoomEvent())},updateGraphs:function(){var r,i,t;for(n.AmSerialChart.base.updateGraphs.call(this),r=this.graphs,i=0;i<r.length;i++)t=r[i],t.columnWidthReal=this.columnWidth,t.categoryAxis=this.categoryAxis,n.isString(t.fillToGraph)&&(t.fillToGraph=this.getGraphById(t.fillToGraph))},updateColumnsDepth:function(){var t,i=this.graphs,r,u,f;for(n.remove(this.columnsSet),this.columnsArray=[],t=0;t<i.length;t++)if(r=i[t],u=r.columnsArray,u)for(f=0;f<u.length;f++)this.columnsArray.push(u[f]);if(this.columnsArray.sort(this.compareDepth),0<this.columnsArray.length){for(i=this.container.set(),this.columnSet.push(i),t=0;t<this.columnsArray.length;t++)i.push(this.columnsArray[t].column.set);r&&i.translate(r.x,r.y),this.columnsSet=i}},compareDepth:function(n,t){return n.depth>t.depth?1:-1},zoomScrollbar:function(){var n=this.chartScrollbar,t=this.categoryAxis;n&&this.updateScrollbar&&n.enabled&&(n.dragger.stop(),t.parseDates&&!t.equalSpacing?n.timeZoom(this.startTime,this.endTime):n.zoom(this.start,this.end),this.updateScrollbar=!0)},updateTrendLines:function(){for(var r=this.trendLines,t,i=0;i<r.length;i++)t=r[i],t=n.processObject(t,n.TrendLine,this.theme),r[i]=t,t.chart=this,t.id||(t.id="trendLineAuto"+i+"_"+ +new Date),n.isString(t.valueAxis)&&(t.valueAxis=this.getValueAxisById(t.valueAxis)),t.valueAxis||(t.valueAxis=this.valueAxes[0]),t.categoryAxis=this.categoryAxis},zoomAxesAndGraphs:function(){if(!this.scrollbarOnly){for(var t=this.valueAxes,n=0;n<t.length;n++)t[n].zoom(this.start,this.end);for(t=this.graphs,n=0;n<t.length;n++)t[n].zoom(this.start,this.end);this.zoomTrendLines(),(n=this.chartCursor)&&n.zoom(this.start,this.end,this.startTime,this.endTime)}},countColumns:function(){for(var t=0,s=this.valueAxes.length,o=this.graphs.length,n,i,f=!1,r,e,u=0;u<s;u++){if(i=this.valueAxes[u],e=i.stackType,"100%"==e||"regular"==e)for(f=!1,r=0;r<o;r++)n=this.graphs[r],n.tcc=1,n.valueAxis==i&&"column"==n.type&&(!f&&n.stackable&&(t++,f=!0),(!n.stackable&&n.clustered||n.newStack)&&t++,n.columnIndex=t-1,n.clustered||(n.columnIndex=0));if("none"==e||"3d"==e){for(f=!1,r=0;r<o;r++)n=this.graphs[r],n.valueAxis==i&&"column"==n.type&&(n.clustered?(n.tcc=1,n.newStack&&(t=0),n.hidden||(n.columnIndex=t,t++)):n.hidden||(f=!0,n.tcc=1,n.columnIndex=0));f&&0===t&&(t=1)}if("3d"==e){for(i=1,u=0;u<o;u++)n=this.graphs[u],n.newStack&&i++,n.depthCount=i,n.tcc=t;t=i}}return t},parseData:function(){n.AmSerialChart.base.parseData.call(this),this.parseSerialData(this.dataProvider)},getCategoryIndexByValue:function(n){for(var i=this.chartData,r,t=0;t<i.length;t++)i[t].category==n&&(r=t);return r},handleCursorChange:function(n){this.updateLegendValues(n.index)},handleCursorZoom:function(n){this.updateScrollbar=!0,this.zoom(n.start,n.end)},handleScrollbarZoom:function(n){this.updateScrollbar=!1,this.zoom(n.start,n.end)},dispatchTimeZoomEvent:function(){var t;if(this.prevStartTime!=this.startTime||this.prevEndTime!=this.endTime){t={type:"zoomed"},t.startDate=new Date(this.startTime),t.endDate=new Date(this.endTime),t.startIndex=this.start,t.endIndex=this.end,this.startIndex=this.start,this.endIndex=this.end,this.startDate=t.startDate,this.endDate=t.endDate,this.prevStartTime=this.startTime,this.prevEndTime=this.endTime;var i=this.categoryAxis,r=n.extractPeriod(i.minPeriod).period,i=i.dateFormatsObject[r];t.startValue=n.formatDate(t.startDate,i,this),t.endValue=n.formatDate(t.endDate,i,this),t.chart=this,t.target=this,this.fire(t.type,t)}},dispatchIndexZoomEvent:function(){var i,t;(this.prevStartIndex!=this.start||this.prevEndIndex!=this.end)&&(this.startIndex=this.start,this.endIndex=this.end,i=this.chartData,!n.ifArray(i)||isNaN(this.start)||isNaN(this.end)||(t={chart:this,target:this,type:"zoomed"},t.startIndex=this.start,t.endIndex=this.end,t.startValue=i[this.start].category,t.endValue=i[this.end].category,this.categoryAxis.parseDates&&(this.startTime=i[this.start].time,this.endTime=i[this.end].time,t.startDate=new Date(this.startTime),t.endDate=new Date(this.endTime)),this.prevStartIndex=this.start,this.prevEndIndex=this.end,this.fire(t.type,t)))},updateLegendValues:function(n){for(var r=this.graphs,t,i=0;i<r.length;i++)t=r[i],t.currentDataItem=isNaN(n)?void 0:this.chartData[n].axes[t.valueAxis.id].graphs[t.id];this.legend&&this.legend.updateValues()},getClosestIndex:function(n,t,i,r,u,f){0>u&&(u=0),f>n.length-1&&(f=n.length-1);var e=u+Math.round((f-u)/2),o=n[e][t];return i==o?e:1>=f-u?r?u:(r=n[f][t],Math.abs(n[u][t]-i)<Math.abs(r-i)?u:f):i==o?e:i<o?this.getClosestIndex(n,t,i,r,u,e):this.getClosestIndex(n,t,i,r,e,f)},zoomToIndexes:function(n,t){var r,i;this.updateScrollbar=!0,r=this.chartData,r&&(i=r.length,0<i&&(0>n&&(n=0),t>i-1&&(t=i-1),i=this.categoryAxis,i.parseDates&&!i.equalSpacing?this.zoom(r[n].time,this.getEndTime(r[t].time)):this.zoom(n,t)))},zoomToDates:function(t,i){var r,u;this.updateScrollbar=!0,r=this.chartData,this.categoryAxis.equalSpacing?(u=this.getClosestIndex(r,"time",t.getTime(),!0,0,r.length),i=n.resetDateToMin(i,this.categoryAxis.minPeriod,1),r=this.getClosestIndex(r,"time",i.getTime(),!1,0,r.length),this.zoom(u,r)):this.zoom(t.getTime(),i.getTime())},zoomToCategoryValues:function(n,t){this.updateScrollbar=!0,this.zoom(this.getCategoryIndexByValue(n),this.getCategoryIndexByValue(t))},formatPeriodString:function(t,i){var y,r,u;if(i){var rt=["value","open","low","high","close"],it="value open low high close average sum count".split(" "),ft=i.valueAxis,ut=this.chartData,w=i.numberFormatter;for(w||(w=this.nf),y=0;y<rt.length;y++){for(var v=rt[y],e=0,p=0,g,nt,a,l,c,f=0,b=0,k,tt,h,s,o,d=this.start;d<=this.end;d++)if(r=ut[d],r&&(r=r.axes[ft.id].graphs[i.id])){if(r.values&&(u=r.values[v],this.rotate?(0>r.x||r.x>r.graph.height)&&(u=NaN):(0>r.x||r.x>r.graph.width)&&(u=NaN),!isNaN(u))){isNaN(g)&&(g=u),nt=u,(isNaN(a)||a>u)&&(a=u),(isNaN(l)||l<u)&&(l=u),c=n.getDecimals(e);var et=n.getDecimals(u),e=e+u,e=n.roundTo(e,Math.max(c,et));p++,c=e/p}r.percents&&(r=r.percents[v],!isNaN(r))&&(isNaN(k)&&(k=r),tt=r,(isNaN(h)||h>r)&&(h=r),(isNaN(s)||s<r)&&(s=r),o=n.getDecimals(f),u=n.getDecimals(r),f+=r,f=n.roundTo(f,Math.max(o,u)),b++,o=f/b)}f={open:k,close:tt,high:s,low:h,average:o,sum:f,count:b},t=n.formatValue(t,{open:g,close:nt,high:l,low:a,average:c,sum:e,count:p},it,w,v+"\\.",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers),t=n.formatValue(t,f,it,this.pf,"percents\\."+v+"\\.")}}return t=n.cleanFromEmpty(t)},formatString:function(t,i,r){var o=i.graph,e,u,f;return-1!=t.indexOf("[[category]]")&&(e=i.serialDataItem.category,this.categoryAxis.parseDates&&(u=this.balloonDateFormat,f=this.chartCursor,f&&(u=f.categoryBalloonDateFormat),-1!=t.indexOf("[[category]]")&&(u=n.formatDate(e,u,this),-1!=u.indexOf("fff")&&(u=n.formatMilliseconds(u,e)),e=u)),t=t.replace(/\[\[category\]\]/g,String(e))),e=o.numberFormatter,e||(e=this.nf),u=i.graph.valueAxis,(f=u.duration)&&!isNaN(i.values.value)&&(f=n.formatDuration(i.values.value,f,"",u.durationUnits,u.maxInterval,e),t=t.replace(RegExp("\\[\\[value\\]\\]","g"),f)),"date"==u.type&&(u=n.formatDate(new Date(i.values.value),o.dateFormat,this),f=RegExp("\\[\\[value\\]\\]","g"),t=t.replace(f,u),u=n.formatDate(new Date(i.values.open),o.dateFormat,this),f=RegExp("\\[\\[open\\]\\]","g"),t=t.replace(f,u)),o="value open low high close total".split(" "),u=this.pf,t=n.formatValue(t,i.percents,o,u,"percents\\."),t=n.formatValue(t,i.values,o,e,"",this.usePrefixes,this.prefixesOfSmallNumbers,this.prefixesOfBigNumbers),t=n.formatValue(t,i.values,["percents"],u),-1!=t.indexOf("[[")&&(t=n.formatDataContextValue(t,i.dataContext)),-1!=t.indexOf("[[")&&i.graph.customData&&(t=n.formatDataContextValue(t,i.graph.customData)),t=n.AmSerialChart.base.formatString.call(this,t,i,r)},addChartScrollbar:function(t){n.callMethod("destroy",[this.chartScrollbar]),t&&(t.chart=this,this.listenTo(t,"zoomed",this.handleScrollbarZoom)),this.rotate?void 0===t.width&&(t.width=t.scrollbarHeight):void 0===t.height&&(t.height=t.scrollbarHeight),this.chartScrollbar=t},removeChartScrollbar:function(){n.callMethod("destroy",[this.chartScrollbar]),this.chartScrollbar=null},handleReleaseOutside:function(t){n.AmSerialChart.base.handleReleaseOutside.call(this,t),n.callMethod("handleReleaseOutside",[this.chartScrollbar])},update:function(){n.AmSerialChart.base.update.call(this),this.chartScrollbar&&this.chartScrollbar.update&&this.chartScrollbar.update()}})}(),function(){var n=window.AmCharts;n.Cuboid=n.Class({construct:function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){this.set=n.set(),this.container=n,this.h=Math.round(i),this.w=Math.round(t),this.dx=r,this.dy=u,this.colors=f,this.alpha=e,this.bwidth=o,this.bcolor=s,this.balpha=h,this.dashLength=v,this.topRadius=p,this.pattern=y,this.rotate=a,this.bcn=w,a?0>t&&0===c&&(c=180):0>i&&270==c&&(c=90),this.gradientRotation=c,0===r&&0===u&&(this.cornerRadius=l),this.draw()},draw:function(){var bt=this.set,l,nt,lt,ft,et,ct,y,ht,yt,pt,h,p,w,d,ut,ot,at,st;bt.clear();var r=this.container,tt=r.chart,t=this.w,i=this.h,f=this.dx,e=this.dy,v=this.colors,u=this.alpha,o=this.bwidth,s=this.bcolor,c=this.balpha,rt=this.gradientRotation,wt=this.cornerRadius,g=this.dashLength,vt=this.pattern,k=this.topRadius,it=this.bcn,b=v,a=v;for("object"==typeof v&&(b=v[0],a=v[v.length-1]),pt=u,vt&&(u=0),ut=this.rotate,(0<Math.abs(f)||0<Math.abs(e))&&(isNaN(k)?(y=a,a=n.adjustLuminosity(b,-.2),a=n.adjustLuminosity(b,-.2),l=n.polygon(r,[0,f,t+f,t,0],[0,e,e,0,0],a,u,1,s,0,rt),0<c&&(yt=n.line(r,[0,f,t+f],[0,e,e],s,c,o,g)),nt=n.polygon(r,[0,0,t,t,0],[0,i,i,0,0],a,u,1,s,0,rt),nt.translate(f,e),0<c&&(lt=n.line(r,[f,f],[e,e+i],s,c,o,g)),ft=n.polygon(r,[0,0,f,f,0],[0,i,i+e,e,0],a,u,1,s,0,rt),et=n.polygon(r,[t,t,t+f,t+f,t],[0,i,i+e,e,0],a,u,1,s,0,rt),0<c&&(ct=n.line(r,[t,t+f,t+f,t],[0,e,i+e,i],s,c,o,g)),a=n.adjustLuminosity(y,.2),y=n.polygon(r,[0,f,t+f,t,0],[i,i+e,i+e,i,i],a,u,1,s,0,rt),0<c&&(ht=n.line(r,[0,f,t+f],[i,i+e,i+e],s,c,o,g))):(ut?(ot=i/2,a=f/2,st=i/2,at=t+f/2,p=Math.abs(i/2),h=Math.abs(f/2)):(a=t/2,ot=e/2,at=t/2,st=i+e/2+1,h=Math.abs(t/2),p=Math.abs(e/2)),w=h*k,d=p*k,.1<h&&.1<h&&(l=n.circle(r,h,b,u,o,s,c,!1,p),l.translate(a,ot)),.1<w&&.1<w&&(y=n.circle(r,w,n.adjustLuminosity(b,.5),u,o,s,c,!1,d),y.translate(at,st)))),u=pt,1>Math.abs(i)&&(i=0),1>Math.abs(t)&&(t=0),!isNaN(k)&&(0<Math.abs(f)||0<Math.abs(e))?(v=[b],v={fill:v,stroke:s,"stroke-width":o,"stroke-opacity":c,"fill-opacity":u},ut?(u="M0,0 L"+t+","+(i/2-i/2*k),o=" B",0<t&&(o=" A"),n.VML?(u+=o+Math.round(t-w)+","+Math.round(i/2-d)+","+Math.round(t+w)+","+Math.round(i/2+d)+","+t+",0,"+t+","+i,u=u+(" L0,"+i)+(o+Math.round(-h)+","+Math.round(i/2-p)+","+Math.round(h)+","+Math.round(i/2+p)+",0,"+i+",0,0")):(u+="A"+w+","+d+",0,0,0,"+t+","+(i-i/2*(1-k))+"L0,"+i,u+="A"+h+","+p+",0,0,1,0,0"),h=90):(o=t/2-t/2*k,u="M0,0 L"+o+","+i,n.VML?(u="M0,0 L"+o+","+i,o=" B",0>i&&(o=" A"),u+=o+Math.round(t/2-w)+","+Math.round(i-d)+","+Math.round(t/2+w)+","+Math.round(i+d)+",0,"+i+","+t+","+i,u+=" L"+t+",0",u+=o+Math.round(t/2+h)+","+Math.round(p)+","+Math.round(t/2-h)+","+Math.round(-p)+","+t+",0,0,0"):(u+="A"+w+","+d+",0,0,0,"+(t-t/2*(1-k))+","+i+"L"+t+",0",u+="A"+h+","+p+",0,0,1,0,0"),h=180),r=r.path(u).attr(v),r.gradient("linearGradient",[b,n.adjustLuminosity(b,-.3),n.adjustLuminosity(b,-.3),b],h),ut?r.translate(f/2,0):r.translate(0,e/2)):r=0===i?n.line(r,[0,t],[0,0],s,c,o,g):0===t?n.line(r,[0,0],[0,i],s,c,o,g):0<wt?n.rect(r,t,i,v,u,o,s,c,wt,rt,g):n.polygon(r,[0,0,t,t,0],[0,i,i,0,0],v,u,o,s,c,rt,!1,g),t=isNaN(k)?0>i?[l,yt,nt,lt,ft,et,ct,y,ht,r]:[y,ht,nt,lt,ft,et,l,yt,ct,r]:ut?0<t?[l,r,y]:[y,r,l]:0>i?[l,r,y]:[y,r,l],n.setCN(tt,r,it+"front"),n.setCN(tt,nt,it+"back"),n.setCN(tt,y,it+"top"),n.setCN(tt,l,it+"bottom"),n.setCN(tt,ft,it+"left"),n.setCN(tt,et,it+"right"),l=0;l<t.length;l++)(nt=t[l])&&(bt.push(nt),n.setCN(tt,nt,it+"element"));vt&&r.pattern(vt,NaN,tt.path)},width:function(n){isNaN(n)&&(n=0),this.w=Math.round(n),this.draw()},height:function(n){isNaN(n)&&(n=0),this.h=Math.round(n),this.draw()},animateHeight:function(t,i){var r=this;r.easing=i,r.totalFrames=Math.round(1e3*t/n.updateRate),r.rh=r.h,r.frame=0,r.height(1),setTimeout(function(){r.updateHeight.call(r)},n.updateRate)},updateHeight:function(){var t=this,i;t.frame++,i=t.totalFrames,t.frame<=i&&(i=t.easing(0,t.frame,1,t.rh-1,i),t.height(i),setTimeout(function(){t.updateHeight.call(t)},n.updateRate))},animateWidth:function(t,i){var r=this;r.easing=i,r.totalFrames=Math.round(1e3*t/n.updateRate),r.rw=r.w,r.frame=0,r.width(1),setTimeout(function(){r.updateWidth.call(r)},n.updateRate)},updateWidth:function(){var t=this,i;t.frame++,i=t.totalFrames,t.frame<=i&&(i=t.easing(0,t.frame,1,t.rw-1,i),t.width(i),setTimeout(function(){t.updateWidth.call(t)},n.updateRate))}})}(),function(){var n=window.AmCharts;n.CategoryAxis=n.Class({inherits:n.AxisBase,construct:function(t){this.cname="CategoryAxis",n.CategoryAxis.base.construct.call(this,t),this.minPeriod="DD",this.equalSpacing=this.parseDates=!1,this.position="bottom",this.startOnAxis=!1,this.firstDayOfWeek=1,this.gridPosition="middle",this.markPeriodChange=this.boldPeriodBeginning=!0,this.safeDistance=30,this.centerLabelOnFullPeriod=!0,n.applyTheme(this,t,this.cname)},draw:function(){var o,t,l,y,e,tt,nt,it,v,rt;if(n.CategoryAxis.base.draw.call(this),this.generateDFObject(),o=this.chart.chartData,this.data=o,n.ifArray(o)){l=this.chart,"scrollbar"!=this.id?(n.setCN(l,this.set,"category-axis"),n.setCN(l,this.labelsSet,"category-axis"),n.setCN(l,this.axisLine.axisSet,"category-axis")):this.bcn=this.id+"-";var s=this.start,p=this.labelFrequency,k=0,i=this.end-s+1,w=this.gridCountR,g=this.showFirstLabel,r=this.showLastLabel,c,f="",f=n.extractPeriod(this.minPeriod),v=n.getPeriodDuration(f.period,f.count),b,a,h,d,u;if(b=this.rotate,t=this.firstDayOfWeek,c=this.boldPeriodBeginning,e=n.resetDateToMin(new Date(o[o.length-1].time+1.05*v),this.minPeriod,1,t).getTime(),this.firstTime=l.firstTime,this.endTime>e&&(this.endTime=e),u=this.minorGridEnabled,e=this.gridAlpha,this.parseDates&&!this.equalSpacing)this.lastTime=o[o.length-1].time,this.maxTime=n.resetDateToMin(new Date(this.lastTime+1.05*v),this.minPeriod,1,t).getTime(),this.timeDifference=this.endTime-this.startTime,this.parseDatesDraw();else if(this.parseDates){if(this.parseDates&&this.equalSpacing){if(k=this.start,this.startTime=this.data[this.start].time,this.endTime=this.data[this.end].time,this.timeDifference=this.endTime-this.startTime,s=this.choosePeriod(0),p=s.period,b=s.count,o=n.getPeriodDuration(p,b),o<v&&(p=f.period,b=f.count,o=v),a=p,"WW"==a&&(a="DD"),this.stepWidth=this.getStepWidth(i),w=Math.ceil(this.timeDifference/o)+1,f=n.resetDateToMin(new Date(this.startTime-o),p,b,t).getTime(),this.cellWidth=this.getStepWidth(i),i=Math.round(f/o),s=-1,i/2==Math.round(i/2)&&(s=-2,f-=o),i=this.start,i/2==Math.round(i/2)&&i--,0>i&&(i=0),o=this.end+2,o>=this.data.length&&(o=this.data.length),nt=!1,nt=!g,this.previousPos=-1e3,20<this.labelRotation&&(this.safeDistance=5),it=i,this.data[i].time!=n.resetDateToMin(new Date(this.data[i].time),p,b,t).getTime())for(v=0,rt=f,t=i;t<o;t++)d=this.data[t].time,this.checkPeriodChange(p,b,d,rt)&&(v++,2<=v&&(it=t,t=o),rt=d);if(u&&1<b&&(y=this.chooseMinorFrequency(b),n.getPeriodDuration(p,y)),0<this.gridCountR)for(t=i;t<o;t++)(d=this.data[t].time,this.checkPeriodChange(p,b,d,f)&&t>=it)?(i=this.getCoordinate(t-this.start),u=!1,this.nextPeriod[a]&&(u=this.checkPeriodChange(this.nextPeriod[a],1,d,f,a)),v=!1,u&&this.markPeriodChange?(u=this.dateFormatsObject[this.nextPeriod[a]],v=!0):u=this.dateFormatsObject[a],f=n.formatDate(new Date(d),u,l),(t!=s||g)&&(t!=w||r)||(f=" "),nt?nt=!1:(c||(v=!1),i-this.previousPos>this.safeDistance*Math.cos(this.labelRotation*Math.PI/180)&&(this.labelFunction&&(f=this.labelFunction(f,new Date(d),this,p,b,h)),this.boldLabels&&(v=!0),h=new this.axisItemRenderer(this,i,f,void 0,void 0,void 0,void 0,v),u=h.graphics(),this.pushAxisItem(h),u=u.getBBox().width,n.isModern||(u-=i),this.previousPos=i+u)),h=f=d):isNaN(y)||(this.checkPeriodChange(p,y,d,tt)&&(this.gridAlpha=this.minorGridAlpha,i=this.getCoordinate(t-this.start),u=new this.axisItemRenderer(this,i,void 0,void 0,void 0,void 0,void 0,void 0,void 0,!0),this.pushAxisItem(u),tt=d),this.gridAlpha=e)}}else if(this.cellWidth=this.getStepWidth(i),i<w&&(w=i),k+=this.start,this.stepWidth=this.getStepWidth(i),0<w)for(w=Math.floor(i/w),y=this.chooseMinorFrequency(w),i=k,i/2==Math.round(i/2)&&i--,0>i&&(i=0),tt=0,this.end-i+1>=this.autoRotateCount&&(this.labelRotation=this.autoRotateAngle),t=i;t<=this.end+2;t++){if(c=!1,0<=t&&t<this.data.length?(a=this.data[t],f=a.category,c=a.forceShow):f="",u&&!isNaN(y))if(t/y==Math.round(t/y)||c)t/w==Math.round(t/w)||c||(this.gridAlpha=this.minorGridAlpha,f=void 0);else continue;else if(t/w!=Math.round(t/w)&&!c)continue;i=this.getCoordinate(t-k),h=0,"start"==this.gridPosition&&(i-=this.cellWidth/2,h=this.cellWidth/2),c=!0,o=h,"start"==this.tickPosition&&(o=0,c=!1,h=0),(t!=s||g)&&(t!=this.end||r)||(f=void 0),Math.round(tt/p)!=tt/p&&(f=void 0),tt++,nt=this.cellWidth,b&&(nt=NaN),this.labelFunction&&a&&(f=this.labelFunction(f,a,this)),f=n.fixBrakes(f),v=!1,this.boldLabels&&(v=!0),t>this.end&&"start"==this.tickPosition&&(f=" "),this.rotate&&this.inside&&(h=-2),h=new this.axisItemRenderer(this,i,f,c,nt,h,void 0,v,o,!1,a.labelColor,a.className),h.serialDataItem=a,this.pushAxisItem(h),this.gridAlpha=e}for(t=0;t<this.data.length;t++)(g=this.data[t])&&(r=this.parseDates&&!this.equalSpacing?Math.round((g.time-this.startTime)*this.stepWidth+this.cellWidth/2):this.getCoordinate(t-k),g.x[this.id]=r);for(g=this.guides.length,t=0;t<g;t++)r=this.guides[t],u=c=u=e=s=NaN,y=r.above,r.toCategory&&(c=l.getCategoryIndexByValue(r.toCategory),isNaN(c)||(s=this.getCoordinate(c-k),r.expand&&(s+=this.cellWidth/2),h=new this.axisItemRenderer(this,s,"",!0,NaN,NaN,r),this.pushAxisItem(h,y))),r.category&&(u=l.getCategoryIndexByValue(r.category),isNaN(u)||(e=this.getCoordinate(u-k),r.expand&&(e-=this.cellWidth/2),u=(s-e)/2,h=new this.axisItemRenderer(this,e,r.label,!0,NaN,u,r),this.pushAxisItem(h,y))),u=l.dataDateFormat,r.toDate&&(r.toDate=n.getDate(r.toDate,u,this.minPeriod),this.equalSpacing?(c=l.getClosestIndex(this.data,"time",r.toDate.getTime(),!1,0,this.data.length-1),isNaN(c)||(s=this.getCoordinate(c-k))):s=(r.toDate.getTime()-this.startTime)*this.stepWidth,h=new this.axisItemRenderer(this,s,"",!0,NaN,NaN,r),this.pushAxisItem(h,y)),r.date&&(r.date=n.getDate(r.date,u,this.minPeriod),this.equalSpacing?(u=l.getClosestIndex(this.data,"time",r.date.getTime(),!1,0,this.data.length-1),isNaN(u)||(e=this.getCoordinate(u-k))):e=(r.date.getTime()-this.startTime)*this.stepWidth,u=(s-e)/2,c=!0,r.toDate&&(c=!1),h="H"==this.orientation?new this.axisItemRenderer(this,e,r.label,c,2*u,NaN,r):new this.axisItemRenderer(this,e,r.label,!1,NaN,u,r),this.pushAxisItem(h,y)),(0<s||0<e)&&(s<this.width||e<this.width)&&(s=new this.guideFillRenderer(this,e,s,r),e=s.graphics(),this.pushAxisItem(s,y),r.graphics=e,e.index=t,r.balloonText&&this.addEventListeners(e,r))}this.axisCreated=!0,l=this.x,k=this.y,this.set.translate(l,k),this.labelsSet.translate(l,k),this.positionTitle(),(l=this.axisLine.set)&&l.toFront(),l=this.getBBox().height,2<l-this.previousHeight&&this.autoWrap&&!this.parseDates&&(this.axisCreated=this.chart.marginsUpdated=!1),this.previousHeight=l},xToIndex:function(t){var r=this.data,i=this.chart,e=i.rotate,f=this.stepWidth,u;return this.parseDates&&!this.equalSpacing?(t=this.startTime+Math.round(t/f)-this.minDuration()/2,i=i.getClosestIndex(r,"time",t,!1,this.start,this.end+1)):(this.startOnAxis||(t-=f/2),i=this.start+Math.round(t/f)),i=n.fitToBounds(i,0,r.length-1),r[i]&&(u=r[i].x[this.id]),e?u>this.height+1&&i--:u>this.width+1&&i--,0>u&&i++,i=n.fitToBounds(i,0,r.length-1)},dateToCoordinate:function(n){return this.parseDates&&!this.equalSpacing?(n.getTime()-this.startTime)*this.stepWidth:this.parseDates&&this.equalSpacing?(n=this.chart.getClosestIndex(this.data,"time",n.getTime(),!1,0,this.data.length-1),this.getCoordinate(n-this.start)):NaN},categoryToCoordinate:function(n){return this.chart?(n=this.chart.getCategoryIndexByValue(n),this.getCoordinate(n-this.start)):NaN},coordinateToDate:function(n){return this.equalSpacing?(n=this.xToIndex(n),new Date(this.data[n].time)):new Date(this.startTime+n/this.stepWidth)},getCoordinate:function(n){return n*=this.stepWidth,this.startOnAxis||(n+=this.stepWidth/2),Math.round(n)}})}(),function(){var n=window.AmCharts;n.AmPieChart=n.Class({inherits:n.AmSlicedChart,construct:function(t){this.type="pie",n.AmPieChart.base.construct.call(this,t),this.cname="AmPieChart",this.pieBrightnessStep=30,this.minRadius=10,this.depth3D=0,this.startAngle=90,this.angle=this.innerRadius=0,this.startRadius="500%",this.pullOutRadius="20%",this.labelRadius=20,this.labelText="[[title]]: [[percents]]%",this.balloonText="[[title]]: [[percents]]% ([[value]])\n[[description]]",this.previousScale=1,this.adjustPrecision=!1,n.applyTheme(this,t,this.cname)},drawChart:function(){var y,f,nt,a,it,r,v;if(n.AmPieChart.base.drawChart.call(this),y=this.chartData,n.ifArray(y)){if(0<this.realWidth&&0<this.realHeight){n.VML&&(this.startAlpha=1);var ut=this.startDuration,rt=this.container,o=this.updateWidth();this.realWidth=o,f=this.updateHeight(),this.realHeight=f;var e=n.toCoordinate,h=e(this.marginLeft,o),t=e(this.marginRight,o),g=e(this.marginTop,f)+this.getTitleHeight(),l=e(this.marginBottom,f),k,b,i,w=n.toNumber(this.labelRadius),s=this.measureMaxLabel();for(s>this.maxLabelWidth&&(s=this.maxLabelWidth),this.labelText&&this.labelsEnabled||(w=s=0),k=void 0===this.pieX?(o-h-t)/2+h:e(this.pieX,this.realWidth),b=void 0===this.pieY?(f-g-l)/2+g:e(this.pieY,f),i=e(this.radius,o,f),i||(o=0<=w?o-h-t-2*s:o-h-t,f=f-g-l,i=Math.min(o,f),f<o&&(i/=1-this.angle/90,i>o&&(i=o)),f=n.toCoordinate(this.pullOutRadius,i),i=(0<=w?i-1.8*(w+f):i-1.8*f)/2),i<this.minRadius&&(i=this.minRadius),f=e(this.pullOutRadius,i),g=n.toCoordinate(this.startRadius,i),e=e(this.innerRadius,i),e>=i&&(e=i-1),l=n.fitToBounds(this.startAngle,0,360),0<this.depth3D&&(l=270<=l?270:90),l-=90,o=i-i*this.angle/90,h=s=0;h<y.length;h++)t=y[h],!0!==t.hidden&&(s+=n.roundTo(t.percents,this.pf.precision));for(s=n.roundTo(s,this.pf.precision),this.tempPrec=NaN,this.adjustPrecision&&100!=s&&(this.tempPrec=this.pf.precision+1),h=0;h<y.length;h++)if(t=y[h],!0!==t.hidden&&0<t.percents){var c=360*t.percents/100,s=Math.sin((l+c/2)/180*Math.PI),d=-Math.cos((l+c/2)/180*Math.PI)*(o/i),u=this.outlineColor;if(u||(u=t.color),nt=this.alpha,isNaN(t.alpha)||(nt=t.alpha),u={fill:t.color,stroke:u,"stroke-width":this.outlineThickness,"stroke-opacity":this.outlineAlpha,"fill-opacity":nt},t.url&&(u.cursor="pointer"),u=n.wedge(rt,k,b,l,c,i,o,e,this.depth3D,u,this.gradientRatio,t.pattern,this.path),n.setCN(this,u,"pie-item"),n.setCN(this,u.wedge,"pie-slice"),n.setCN(this,u,t.className,!0),this.addEventListeners(u,t),t.startAngle=l,y[h].wedge=u,0<ut&&(this.chartCreated||u.setAttr("opacity",this.startAlpha)),t.ix=s,t.iy=d,t.wedge=u,t.index=h,this.labelsEnabled&&this.labelText&&t.percents>=this.hideLabelsPercent){r=l+c/2,360<r&&(r-=360),a=w,isNaN(t.labelRadius)||(a=t.labelRadius);var c=k+s*(i+a),nt=b+d*(i+a),tt,p=0;0<=a?(90>=r&&0<=r?(it=0,tt="start",p=8):90<=r&&180>r?(it=1,tt="start",p=8):180<=r&&270>r?(it=2,tt="end",p=-8):270<=r&&360>r&&(it=3,tt="end",p=-8),t.labelQuarter=it):tt="middle",r=this.formatString(this.labelText,t),v=this.labelFunction,v&&(r=v(t,r)),v=t.labelColor,v||(v=this.color),""!==r&&(r=n.wrappedText(rt,r,v,this.fontFamily,this.fontSize,tt,!1,this.maxLabelWidth),n.setCN(this,r,"pie-label"),n.setCN(this,r,t.className,!0),r.translate(c+1.5*p,nt),r.node.style.pointerEvents="none",t.tx=c+1.5*p,t.ty=nt,0<=a?(a=r.getBBox(),v=n.rect(rt,a.width+5,a.height+5,"#FFFFFF",.005),v.translate(c+1.5*p+a.x,nt+a.y),t.hitRect=v,u.push(r),u.push(v)):this.freeLabelsSet.push(r),t.label=r),t.tx=c,t.tx2=c+p,t.tx0=k+s*i,t.ty0=b+d*i}c=e+(i-e)/2,t.pulled&&(c+=this.pullOutRadiusReal),t.balloonX=s*c+k,t.balloonY=d*c+b,t.startX=Math.round(s*g),t.startY=Math.round(d*g),t.pullX=Math.round(s*f),t.pullY=Math.round(d*f),this.graphsSet.push(u),(0===t.alpha||0<ut&&!this.chartCreated)&&u.hide(),l+=360*t.percents/100}0<w&&!this.labelRadiusField&&this.arrangeLabels(),this.pieXReal=k,this.pieYReal=b,this.radiusReal=i,this.innerRadiusReal=e,0<w&&this.drawTicks(),this.initialStart(),this.setDepths()}(y=this.legend)&&y.invalidateSize()}else this.cleanChart();this.dispDUpd(),this.chartCreated=!0},setDepths:function(){for(var i=this.chartData,t=0;t<i.length;t++){var n=i[t],r=n.wedge,n=n.startAngle;0<=n&&180>n?r.toFront():180<=n&&r.toBack()}},arrangeLabels:function(){for(var i=this.chartData,r=i.length,t,n=r-1;0<=n;n--)t=i[n],0!==t.labelQuarter||t.hidden||this.checkOverlapping(n,t,0,!0,0);for(n=0;n<r;n++)t=i[n],1!=t.labelQuarter||t.hidden||this.checkOverlapping(n,t,1,!1,0);for(n=r-1;0<=n;n--)t=i[n],2!=t.labelQuarter||t.hidden||this.checkOverlapping(n,t,2,!0,0);for(n=0;n<r;n++)t=i[n],3!=t.labelQuarter||t.hidden||this.checkOverlapping(n,t,3,!1,0)},checkOverlapping:function(n,t,i,r,u){var e,f,s=this.chartData,h=s.length,o=t.label;if(o){if(!0===r)for(f=n+1;f<h;f++)s[f].labelQuarter==i&&(e=this.checkOverlappingReal(t,s[f],i))&&(f=h);else for(f=n-1;0<=f;f--)s[f].labelQuarter==i&&(e=this.checkOverlappingReal(t,s[f],i))&&(f=0);!0===e&&100>u&&(e=t.ty+3*t.iy,t.ty=e,o.translate(t.tx2,e),t.hitRect&&(o=o.getBBox(),t.hitRect.translate(t.tx2+o.x,e+o.y)),this.checkOverlapping(n,t,i,r,u+1))}},checkOverlappingReal:function(t,i,r){var e=!1,f=t.label,u=i.label;return t.labelQuarter!=r||t.hidden||i.hidden||!u||(f=f.getBBox(),r={},r.width=f.width,r.height=f.height,r.y=t.ty,r.x=t.tx,t=u.getBBox(),u={},u.width=t.width,u.height=t.height,u.y=i.ty,u.x=i.tx,n.hitTest(r,u)&&(e=!0)),e}})}(),function(n,t){"object"==typeof module&&module.exports?module.exports=n.document?t(n):t:n.Highcharts=t(n)}("undefined"!=typeof window?window:this,function(n){n=function(){var n=window,t=n.document,i=n.navigator&&n.navigator.userAgent||"",r=t&&t.createElementNS&&!!t.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,f=/(edge|msie|trident)/i.test(i)&&!window.opera,e=!r,u=/Firefox/.test(i),o=u&&4>parseInt(i.split("Firefox/")[1],10);return n.Highcharts?n.Highcharts.error(16,!0):{product:"Highcharts",version:"5.0.14",deg2rad:Math.PI/180,doc:t,hasBidiBug:o,hasTouch:t&&void 0!==t.documentElement.ontouchstart,isMS:f,isWebKit:/AppleWebKit/.test(i),isFirefox:u,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(i),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:r,vml:e,win:n,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}(),function(n){var t=[],u=n.charts,r=n.doc,i=n.win;n.error=function(t,r){if(t=n.isNumber(t)?"Highcharts error #"+t+": www.highcharts.com/errors/"+t:t,r)throw Error(t);i.console&&console.log(t)},n.Fx=function(n,t,i){this.options=t,this.elem=n,this.prop=i},n.Fx.prototype={dSetter:function(){var r=this.paths[0],u=this.paths[1],t=[],f=this.now,n=r.length,i;if(1===f)t=this.toD;else if(n===u.length&&1>f)for(;n--;)i=parseFloat(r[n]),t[n]=isNaN(i)?r[n]:f*parseFloat(u[n]-i)+i;else t=u;this.elem.attr("d",t,null,!0)},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)},run:function(n,i,r){var e=this,u=function(n){return u.stopped?!1:e.step(n)},f;this.startTime=+new Date,this.start=n,this.end=i,this.unit=r,this.now=this.start,this.pos=0,u.elem=this.elem,u.prop=this.prop,u()&&1===t.push(u)&&(u.timerId=setInterval(function(){for(f=0;f<t.length;f++)t[f]()||t.splice(f--,1);t.length||clearInterval(u.timerId)},13))},step:function(t){var f=+new Date,r,i=this.options,u=this.elem,e=i.complete,o=i.duration,s=i.curAnim;return u.attr&&!u.element?t=!1:t||f>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),r=s[this.prop]=!0,n.objectEach(s,function(n){!0!==n&&(r=!1)}),r&&e&&e.call(u),t=!1):(this.pos=i.easing((f-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0),t},initPath:function(t,i,r){function w(n){var t,i;for(u=n.length;u--;)t="M"===n[u]||"L"===n[u],i=/[a-zA-Z]/.test(n[u+3]),t&&i&&n.splice(u+1,0,n[u+1],n[u+2],n[u+1],n[u+2])}function p(n,t){for(;n.length<c;){n[0]=t[c-n.length];var i=n.slice(0,f);[].splice.apply(n,[0,0].concat(i)),l&&(i=n.slice(n.length-f),[].splice.apply(n,[n.length,0].concat(i)),u--)}n[0]="M"}function y(n,t){for(var i=(c-n.length)/f;0<i&&i--;)e=n.slice().splice(n.length/h-f,f*h),e[0]=t[c-f-i*f],v&&(e[f-6]=e[f-2],e[f-5]=e[f-1]),[].splice.apply(n,[n.length/h,0].concat(e)),l&&i--}var l,h,b;i=i||"";var o,s=t.startX,a=t.endX,v=-1<i.indexOf("C"),f=v?7:3,c,e,u;if(i=i.split(" "),r=r.slice(),l=t.isArea,h=l?2:1,v&&(w(i),w(r)),s&&a){for(u=0;u<s.length;u++)if(s[u]===a[0]){o=u;break}else if(s[0]===a[a.length-s.length+u]){o=u,b=!0;break}void 0===o&&(i=[])}return i.length&&n.isNumber(o)&&(c=r.length+o*h*f,b?(p(i,r),y(r,i)):(p(r,i),y(i,r))),[i,r]}},n.Fx.prototype.fillSetter=n.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,n.color(this.start).tweenTo(n.color(this.end),this.pos),null,!0)},n.extend=function(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n},n.merge=function(){var i,t=arguments,u,r={},f=function(t,i){return"object"!=typeof t&&(t={}),n.objectEach(i,function(r,u){t[u]=!n.isObject(r,!0)||n.isClass(r)||n.isDOMElement(r)?i[u]:f(t[u]||{},r)}),t};for(!0===t[0]&&(r=t[1],t=Array.prototype.slice.call(t,2)),u=t.length,i=0;i<u;i++)r=f(r,t[i]);return r},n.pInt=function(n,t){return parseInt(n,t||10)},n.isString=function(n){return"string"==typeof n},n.isArray=function(n){return n=Object.prototype.toString.call(n),"[object Array]"===n||"[object Array Iterator]"===n},n.isObject=function(t,i){return!!t&&"object"==typeof t&&(!i||!n.isArray(t))},n.isDOMElement=function(t){return n.isObject(t)&&"number"==typeof t.nodeType},n.isClass=function(t){var i=t&&t.constructor;return!(!n.isObject(t,!0)||n.isDOMElement(t)||!i||!i.name||"Object"===i.name)},n.isNumber=function(n){return"number"==typeof n&&!isNaN(n)},n.erase=function(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}},n.defined=function(n){return void 0!==n&&null!==n},n.attr=function(t,i,r){var u;return n.isString(i)?n.defined(r)?t.setAttribute(i,r):t&&t.getAttribute&&(u=t.getAttribute(i)):n.defined(i)&&n.isObject(i)&&n.objectEach(i,function(n,i){t.setAttribute(i,n)}),u},n.splat=function(t){return n.isArray(t)?t:[t]},n.syncTimeout=function(n,t,i){if(t)return setTimeout(n,t,i);n.call(0,i)},n.pick=function(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],void 0!==t&&null!==t)return t},n.css=function(t,i){n.isMS&&!n.svg&&i&&void 0!==i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")"),n.extend(t.style,i)},n.createElement=function(t,i,u,f,e){t=r.createElement(t);var o=n.css;return i&&n.extend(t,i),e&&o(t,{padding:0,border:"none",margin:0}),u&&o(t,u),f&&f.appendChild(t),t},n.extendClass=function(t,i){var r=function(){};return r.prototype=new t,n.extend(r.prototype,i),r},n.pad=function(n,t,i){return Array((t||2)+1-String(n).length).join(i||0)+n},n.relativeLength=function(n,t,i){return/%$/.test(n)?t*parseFloat(n)/100+(i||0):parseFloat(n)},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}},n.getTZOffset=function(t){var i=n.Date;return 6e4*(i.hcGetTimezoneOffset&&i.hcGetTimezoneOffset(t)||i.hcTimezoneOffset||0)},n.dateFormat=function(t,i,r){if(!n.defined(i)||isNaN(i))return n.defaultOptions.lang.invalidDate||"";t=n.pick(t,"%Y-%m-%d %H:%M:%S");var u=n.Date,e=new u(i-n.getTZOffset(i)),o=e[u.hcGetHours](),s=e[u.hcGetDay](),l=e[u.hcGetDate](),c=e[u.hcGetMonth](),a=e[u.hcGetFullYear](),h=n.defaultOptions.lang,v=h.weekdays,y=h.shortWeekdays,f=n.pad,u=n.extend({a:y?y[s]:v[s].substr(0,3),A:v[s],d:f(l),e:f(l,2," "),w:s,b:h.shortMonths[c],B:h.months[c],m:f(c+1),y:a.toString().substr(2,2),Y:a,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(e[u.hcGetMinutes]()),p:12>o?"AM":"PM",P:12>o?"am":"pm",S:f(e.getSeconds()),L:f(Math.round(i%1e3),3)},n.dateFormats);return n.objectEach(u,function(n,r){for(;-1!==t.indexOf("%"+r);)t=t.replace("%"+r,"function"==typeof n?n(i):n)}),r?t.substr(0,1).toUpperCase()+t.substr(1):t},n.formatSingle=function(t,i){var r=/\.([0-9])/,u=n.defaultOptions.lang;return/f$/.test(t)?(r=(r=t.match(r))?r[1]:-1,null!==i&&(i=n.numberFormat(i,r,u.decimalPoint,-1<t.indexOf(",")?u.thousandsSep:""))):i=n.dateFormat(t,i),i},n.format=function(t,i){for(var u="{",s=!1,r,h,e,c,o=[],f;t;){if(u=t.indexOf(u),-1===u)break;if(r=t.slice(0,u),s){for(r=r.split(":"),h=r.shift().split("."),c=h.length,f=i,e=0;e<c;e++)f=f[h[e]];r.length&&(f=n.formatSingle(r.join(":"),f)),o.push(f)}else o.push(r);t=t.slice(u+1),u=(s=!s)?"}":"{"}return o.push(t),o.join("")},n.getMagnitude=function(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))},n.normalizeTickInterval=function(t,i,r,u,f){var o,e=t;for(r=n.pick(r,1),o=t/r,i||(i=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===r?i=n.grep(i,function(n){return 0==n%1}):.1>=r&&(i=[1/r]))),u=0;u<i.length&&!(e=i[u],f&&e*r>=t||!f&&o<=(i[u]+(i[u+1]||i[u]))/2);u++);return e=n.correctFloat(e*r,-Math.round(Math.log(.001)/Math.LN10))},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},n.arrayMin=function(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i},n.arrayMax=function(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i},n.destroyObjectProperties=function(t,i){n.objectEach(t,function(n,r){n&&n!==i&&n.destroy&&n.destroy(),delete t[r]})},n.discardElement=function(t){var i=n.garbageBin;i||(i=n.createElement("div")),t&&i.appendChild(t),i.innerHTML=""},n.correctFloat=function(n,t){return parseFloat(n.toPrecision(t||14))},n.setAnimation=function(t,i){i.renderer.globalAnimation=n.pick(t,i.options.chart.animation,!0)},n.animObject=function(t){return n.isObject(t)?n.merge(t):{duration:t?500:0}},n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},n.numberFormat=function(t,i,r,u){t=+t||0,i=+i;var h=n.defaultOptions.lang,f=(t.toString().split(".")[1]||"").split("e")[0].length,e,s,o=t.toString().split("e");return-1===i?i=Math.min(f,20):n.isNumber(i)||(i=2),s=(Math.abs(o[1]?o[0]:t)+Math.pow(10,-Math.max(i,f)-1)).toFixed(i),f=String(n.pInt(s)),e=3<f.length?f.length%3:0,r=n.pick(r,h.decimalPoint),u=n.pick(u,h.thousandsSep),t=(0>t?"-":"")+(e?f.substr(0,e)+u:""),t+=f.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+u),i&&(t+=r+s.slice(-i)),o[1]&&(t+="e"+o[1]),t},Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)},n.getStyle=function(t,r,u){return"width"===r?Math.min(t.offsetWidth,t.scrollWidth)-n.getStyle(t,"padding-left")-n.getStyle(t,"padding-right"):"height"===r?Math.min(t.offsetHeight,t.scrollHeight)-n.getStyle(t,"padding-top")-n.getStyle(t,"padding-bottom"):((t=i.getComputedStyle(t,void 0))&&(t=t.getPropertyValue(r),n.pick(u,!0)&&(t=n.pInt(t))),t)},n.inArray=function(n,t){return t.indexOf?t.indexOf(n):[].indexOf.call(t,n)},n.grep=function(n,t){return[].filter.call(n,t)},n.find=function(n,t){return[].find.call(n,t)},n.map=function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},n.offset=function(n){var t=r.documentElement;return n=n.getBoundingClientRect(),{top:n.top+(i.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(i.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}},n.stop=function(n,i){for(var r=t.length;r--;)t[r].elem!==n||i&&i!==t[r].prop||(t[r].stopped=!0)},n.each=function(n,t,i){return Array.prototype.forEach.call(n,t,i)},n.objectEach=function(n,t,i){for(var r in n)n.hasOwnProperty(r)&&t.call(i,n[r],r,n)},n.addEvent=function(t,r,u){function e(n){n.target=n.srcElement||i,u.call(t,n)}var f=t.hcEvents=t.hcEvents||{};return t.addEventListener?t.addEventListener(r,u,!1):t.attachEvent&&(t.hcEventsIE||(t.hcEventsIE={}),u.hcGetKey||(u.hcGetKey=n.uniqueKey()),t.hcEventsIE[u.hcGetKey]=e,t.attachEvent("on"+r,e)),f[r]||(f[r]=[]),f[r].push(u),function(){n.removeEvent(t,r,u)}},n.removeEvent=function(t,i,r){function o(n,i){t.removeEventListener?t.removeEventListener(n,i,!1):t.attachEvent&&(i=t.hcEventsIE[i.hcGetKey],t.detachEvent("on"+n,i))}function s(){var r,f;t.nodeName&&(i?(r={},r[i]=!0):r=u,n.objectEach(r,function(n,t){if(u[t])for(f=u[t].length;f--;)o(t,u[t][f])}))}var f,u=t.hcEvents,e;u&&(i?(f=u[i]||[],r?(e=n.inArray(r,f),-1<e&&(f.splice(e,1),u[i]=f),o(i,r)):(s(),u[i]=[])):(s(),t.hcEvents={}))},n.fireEvent=function(t,i,u,f){var e,o,s;if(e=t.hcEvents,u=u||{},r.createEvent&&(t.dispatchEvent||t.fireEvent))e=r.createEvent("Events"),e.initEvent(i,!0,!0),n.extend(e,u),t.dispatchEvent?t.dispatchEvent(e):t.fireEvent(i,e);else if(e)for(e=e[i]||[],o=e.length,u.target||n.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:t,type:i}),i=0;i<o;i++)(s=e[i])&&!1===s.call(t,u)&&u.preventDefault();f&&!u.defaultPrevented&&f(u)},n.animate=function(t,i,r){var e,s="",u,f,o;n.isObject(r)||(o=arguments,r={duration:o[2],easing:o[3],complete:o[4]}),n.isNumber(r.duration)||(r.duration=400),r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=n.merge(i),n.objectEach(i,function(o,h){n.stop(t,h),f=new n.Fx(t,r,h),u=null,"d"===h?(f.paths=f.initPath(t,t.d,i.d),f.toD=i.d,e=0,u=1):t.attr?e=t.attr(h):(e=parseFloat(n.getStyle(t,h))||0,"opacity"!==h&&(s="px")),u||(u=o),u&&u.match&&u.match("px")&&(u=u.replace(/px/g,"")),f.run(e,u,s)})},n.seriesType=function(t,i,r,u,f){var o=n.getOptions(),e=n.seriesTypes;return o.plotOptions[t]=n.merge(o.plotOptions[i],r),e[t]=n.extendClass(e[i]||function(){},u),e[t].prototype.type=t,f&&(e[t].prototype.pointClass=n.extendClass(n.Point,f)),e[t]},n.uniqueKey=function(){var n=Math.random().toString(36).substring(2,9),t=0;return function(){return"highcharts-"+n+"-"+t++}}(),i.jQuery&&(i.jQuery.fn.highcharts=function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new n[n.isString(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):u[n.attr(this[0],"data-highcharts-chart")]}),r&&!r.defaultView&&(n.getStyle=function(t,i){var r={width:"clientWidth",height:"clientHeight"}[i];return t.style[i]?n.pInt(t.style[i]):("opacity"===i&&(i="filter"),r)?(t.style.zoom=1,Math.max(t[r]-2*n.getStyle(t,"padding"),0)):(t=t.currentStyle[i.replace(/\-(\w)/g,function(n,t){return t.toUpperCase()})],"filter"===i&&(t=t.replace(/alpha\(opacity=([0-9]+)\)/,function(n,t){return t/100})),""===t?1:n.pInt(t))}),Array.prototype.forEach||(n.each=function(n,t,i){for(var r=0,u=n.length;r<u;r++)if(!1===t.call(i,n[r],r,n))return r}),Array.prototype.indexOf||(n.inArray=function(n,t){var r,i=0;if(t)for(r=t.length;i<r;i++)if(t[i]===n)return i;return-1}),Array.prototype.filter||(n.grep=function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)t(n[i],i)&&r.push(n[i]);return r}),Array.prototype.find||(n.find=function(n,t){for(var r=n.length,i=0;i<r;i++)if(t(n[i],i))return n[i]})}(n),function(n){var i=n.each,r=n.isNumber,u=n.map,f=n.merge,t=n.pInt;n.Color=function(t){if(!(this instanceof n.Color))return new n.Color(t);this.init(t)},n.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(n){return[t(n[1]),t(n[2]),t(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[t(n[1]),t(n[2]),t(n[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(t){var r,i,f,e;if((this.input=t=this.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=u(t.stops,function(t){return new n.Color(t[1])});else if(t&&"#"===t.charAt()&&(r=t.length,t=parseInt(t.substr(1),16),7===r?i=[(t&16711680)>>16,(t&65280)>>8,t&255,1]:4===r&&(i=[(t&3840)>>4|(t&3840)>>8,(t&240)>>4|t&240,(t&15)<<4|t&15,1])),!i)for(f=this.parsers.length;f--&&!i;)e=this.parsers[f],(r=e.regex.exec(t))&&(i=e.parse(r));this.rgba=i||[]},get:function(n){var e=this.input,t=this.rgba,u;return this.stops?(u=f(e),u.stops=[].concat(u.stops),i(this.stops,function(t,i){u.stops[i]=[u.stops[i][0],t.get(n)]})):u=t&&r(t[0])?"rgb"===n||!n&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===n?t[3]:"rgba("+t.join(",")+")":e,u},brighten:function(n){var u,f=this.rgba;if(this.stops)i(this.stops,function(t){t.brighten(n)});else if(r(n)&&0!==n)for(u=0;3>u;u++)f[u]+=t(255*n),0>f[u]&&(f[u]=0),255<f[u]&&(f[u]=255);return this},setOpacity:function(n){return this.rgba[3]=n,this},tweenTo:function(n,t){var i,r;return n.rgba.length?(i=this.rgba,n=n.rgba,r=1!==n[3]||1!==i[3],n=(r?"rgba(":"rgb(")+Math.round(n[0]+(i[0]-n[0])*(1-t))+","+Math.round(n[1]+(i[1]-n[1])*(1-t))+","+Math.round(n[2]+(i[2]-n[2])*(1-t))+(r?","+(n[3]+(i[3]-n[3])*(1-t)):"")+")"):n=n.input||"none",n}},n.color=function(t){return new n.Color(t)}}(n),function(n){var r,d,nt=n.addEvent,ot=n.animate,u=n.attr,yt=n.charts,ht=n.color,c=n.css,ft=n.createElement,t=n.defined,g=n.deg2rad,vt=n.destroyObjectProperties,f=n.doc,o=n.each,e=n.extend,k=n.erase,ct=n.grep,pt=n.hasTouch,tt=n.inArray,it=n.isArray,rt=n.isFirefox,p=n.isMS,l=n.isObject,at=n.isString,lt=n.isWebKit,h=n.merge,st=n.noop,s=n.objectEach,i=n.pick,v=n.pInt,et=n.removeEvent,ut=n.stop,a=n.svg,w=n.SVG_NS,y=n.symbolSizes,b=n.win;r=n.SVGElement=function(){return this},e(r.prototype,{opacity:1,SVG_NS:w,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(n,t){this.element="span"===t?ft(t):f.createElementNS(this.SVG_NS,t),this.renderer=n},animate:function(t,r,u){return r=n.animObject(i(r,this.renderer.globalAnimation,!0)),0!==r.duration?(u&&(r.complete=u),ot(this,t,r)):(this.attr(t,null,u),r.step&&r.step.call(this)),this},colorGradient:function(i,r,u){var l=this.renderer,p,c,f,w,y,v,b,k,d,a,e=[],g;i.radialGradient?c="radialGradient":i.linearGradient&&(c="linearGradient"),c&&(f=i[c],y=l.gradients,b=i.stops,a=u.radialReference,it(f)&&(i[c]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===c&&a&&!t(f.gradientUnits)&&(w=f,f=h(f,l.getRadialAttr(a,w),{gradientUnits:"userSpaceOnUse"})),s(f,function(n,t){"id"!==t&&e.push(t,n)}),s(b,function(n){e.push(n)}),e=e.join(","),y[e]?a=y[e].attr("id"):(f.id=a=n.uniqueKey(),y[e]=v=l.createElement(c).attr(f).add(l.defs),v.radAttr=w,v.stops=[],o(b,function(t){0===t[1].indexOf("rgba")?(p=n.color(t[1]),k=p.get("rgb"),d=p.get("a")):(k=t[1],d=1),t=l.createElement("stop").attr({offset:t[0],"stop-color":k,"stop-opacity":d}).add(v),v.stops.push(t)})),g="url("+l.url+"#"+a+")",u.setAttribute(r,g),u.gradient=e,i.toString=function(){return g})},applyTextOutline:function(t){var i=this.element,f,e,r,h,s;if(-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(i.style.fill))),t=t.split(" "),e=t[t.length-1],(r=t[0])&&"none"!==r&&n.svg){for(this.fakeTS=!0,t=[].slice.call(i.getElementsByTagName("tspan")),this.ySetter=this.xSetter,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(n,t,i){return 2*t+i}),s=t.length;s--;)f=t[s],"highcharts-text-outline"===f.getAttribute("class")&&k(t,i.removeChild(f));h=i.firstChild,o(t,function(n,t){0===t&&(n.setAttribute("x",i.getAttribute("x")),t=i.getAttribute("y"),n.setAttribute("y",t||0),null===t&&i.setAttribute("y",0)),n=n.cloneNode(1),u(n,{"class":"highcharts-text-outline",fill:e,stroke:e,"stroke-width":r,"stroke-linejoin":"round"}),i.insertBefore(n,h)})}},attr:function(n,t,i,r){var e,o=this.element,h,c=this,u,f;return"string"==typeof n&&void 0!==t&&(e=n,n={},n[e]=t),"string"==typeof n?c=(this[n+"Getter"]||this._defaultGetter).call(this,n,o):(s(n,function(t,i){u=!1,r||ut(this,i),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(i)&&(h||(this.symbolAttr(n),h=!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.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,t,f))},this),this.afterSetters()),i&&i(),c},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(n,t,i){for(var r=this.shadows,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])},addClass:function(n,t){var i=this.attr("class")||"";return-1===i.indexOf(n)&&(t||(n=(i+(i?" ":"")+n).replace("  "," ")),this.attr("class",n)),this},hasClass:function(n){return-1!==tt(n,(this.attr("class")||"").split(" "))},removeClass:function(n){return this.attr("class",(this.attr("class")||"").replace(n,""))},symbolAttr:function(n){var t=this;o("x y r start end width height innerR anchorX anchorY".split(" "),function(r){t[r]=i(n[r],t[r])}),t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},crisp:function(n,i){var r=this,f={},u;return i=i||n.strokeWidth||0,u=Math.round(i)%2/2,n.x=Math.floor(n.x||r.x||0)+u,n.y=Math.floor(n.y||r.y||0)+u,n.width=Math.floor((n.width||r.width||0)-2*u),n.height=Math.floor((n.height||r.height||0)-2*u),t(n.strokeWidth)&&(n.strokeWidth=i),s(n,function(n,t){r[t]!==n&&(r[t]=f[t]=n)}),f},css:function(n){var t=this.styles,r={},f=this.element,o,i="",h,l=!t,y=["textOutline","textOverflow","width"];return n&&n.color&&(n.fill=n.color),t&&s(n,function(n,i){n!==t[i]&&(r[i]=n,l=!0)}),l&&(t&&(n=e(t,r)),o=this.textWidth=n&&n.width&&"auto"!==n.width&&"text"===f.nodeName.toLowerCase()&&v(n.width),this.styles=n,o&&!a&&this.renderer.forExport&&delete n.width,p&&!a?c(this.element,n):(h=function(n,t){return"-"+t.toLowerCase()},s(n,function(n,t){-1===tt(t,y)&&(i+=t.replace(/([A-Z])/g,h)+":"+n+";")}),i&&u(f,"style",i)),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),n&&n.textOutline&&this.applyTextOutline(n.textOutline))),this},strokeWidth:function(){return this["stroke-width"]||0},on:function(n,t){var r=this,i=r.element;return pt&&"click"===n?(i.ontouchstart=function(n){r.touchEventFired=Date.now(),n.preventDefault(),t.call(i,n)},i.onclick=function(n){(-1===b.navigator.userAgent.indexOf("Android")||1100<Date.now()-(r.touchEventFired||0))&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){var t=this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(n){return this.inverted=n,this.updateTransform(),this},updateTransform:function(){var n=this.translateX||0,u=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,r=this.element;o&&(n+=this.width,u+=this.height),n=["translate("+n+","+u+")"],o?n.push("rotate(90) scale(-1,1)"):s&&n.push("rotate("+s+" "+(r.getAttribute("x")||0)+" "+(r.getAttribute("y")||0)+")"),(t(f)||t(e))&&n.push("scale("+i(f,1)+" "+i(e,1)+")"),n.length&&r.setAttribute("transform",n.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(n,t,r){var f,u,e,c,o={},s,h;return u=this.renderer,e=u.alignedObjects,n?(this.alignOptions=n,this.alignByTranslate=t,!r||at(r))&&(this.alignTo=f=r||"renderer",k(e,this),e.push(this),r=null):(n=this.alignOptions,t=this.alignByTranslate,f=this.alignTo),r=i(r,u[f],u),f=n.align,u=n.verticalAlign,e=(r.x||0)+(n.x||0),c=(r.y||0)+(n.y||0),"right"===f?s=1:"center"===f&&(s=2),s&&(e+=(r.width-(n.width||0))/s),o[t?"translateX":"x"]=Math.round(e),"bottom"===u?h=1:"middle"===u&&(h=2),h&&(c+=(r.height-(n.height||0))/h),o[t?"translateY":"y"]=Math.round(c),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},getBBox:function(n,t){var r,f=this.renderer,c,h=this.element,s=this.styles,y,p=this.textStr,l,a=f.cache,v=f.cacheKeys,u;if(t=i(t,this.rotation),c=t*g,y=s&&s.fontSize,void 0!==p&&(u=p.toString(),-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0")),u+=["",t||0,y,s&&s.width,s&&s.textOverflow].join()),u&&!n&&(r=a[u]),!r){if(h.namespaceURI===this.SVG_NS||f.forExport){try{(l=this.fakeTS&&function(n){o(h.querySelectorAll(".highcharts-text-outline"),function(t){t.style.display=n})})&&l("none"),r=h.getBBox?e({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight},l&&l("")}catch(w){}(!r||0>r.width)&&(r={width:0,height:0})}else r=this.htmlGetBBox();if(f.isSVG&&(n=r.width,f=r.height,s&&"11px"===s.fontSize&&17===Math.round(f)&&(r.height=f=14),t&&(r.width=Math.abs(f*Math.sin(c))+Math.abs(n*Math.cos(c)),r.height=Math.abs(f*Math.cos(c))+Math.abs(n*Math.sin(c)))),u&&0<r.height){for(;250<v.length;)delete a[v.shift()];a[u]||v.push(u),a[u]=r}}return r},show:function(n){return this.attr({visibility:n?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},add:function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,void 0!==this.textStr&&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},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,t=n.element||{},i=n.renderer.isSVG&&"SPAN"===t.nodeName&&n.parentGroup,r=t.ownerSVGElement;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,ut(n),n.clipPath&&r&&(o(r.querySelectorAll("[clip-path]"),function(t){-1<t.getAttribute("clip-path").indexOf(n.clipPath.element.id+")")&&t.removeAttribute("clip-path")}),n.clipPath=n.clipPath.destroy()),n.stops){for(r=0;r<n.stops.length;r++)n.stops[r]=n.stops[r].destroy();n.stops=null}for(n.safeRemoveChild(t),n.destroyShadows();i&&i.div&&0===i.div.childNodes.length;)t=i.parentGroup,n.safeRemoveChild(i.div),delete i.div,i=t;return n.alignTo&&k(n.renderer.alignedObjects,n),s(n,function(t,i){delete n[i]}),null},shadow:function(n,t,r){var c=[],e,f,h=this.element,o,s,l,a;if(n){if(!this.shadows){for(s=i(n.width,3),l=(n.opacity||.15)/s,a=this.parentInverted?"(-1,-1)":"("+i(n.offsetX,1)+", "+i(n.offsetY,1)+")",e=1;e<=s;e++)f=h.cloneNode(0),o=2*s+1-2*e,u(f,{isShadow:"true",stroke:n.color||"#000000","stroke-opacity":l*e,"stroke-width":o,transform:"translate"+a,fill:"none"}),r&&(u(f,"height",Math.max(u(f,"height")-o,0)),f.cutHeight=o),t?t.element.appendChild(f):h.parentNode.insertBefore(f,h),c.push(f);this.shadows=c}}else this.destroyShadows();return this},destroyShadows:function(){o(this.shadows||[],function(n){this.safeRemoveChild(n)},this),this.shadows=void 0},xGetter:function(n){return"circle"===this.element.nodeName&&("x"===n?n="cx":"y"===n&&(n="cy")),this._defaultGetter(n)},_defaultGetter:function(n){return n=i(this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" ")),/(NaN| {2}|^$)/.test(n)&&(n="M 0 0"),this[t]!==n&&(i.setAttribute(t,n),this[t]=n)},dashstyleSetter:function(n){var t,i=this["stroke-width"];if("inherit"===i&&(i=1),n=n&&n.toLowerCase()){for(n=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(","),t=n.length;t--;)n[t]=v(n[t])*i;n=n.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[n])},opacitySetter:function(n,t,i){this[t]=n,i.setAttribute(t,n)},titleSetter:function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=f.createElementNS(this.SVG_NS,"title"),this.element.appendChild(t)),t.firstChild&&t.removeChild(t.firstChild),t.appendChild(f.createTextNode(String(i(n),"").replace(/<[^>]*>/g,"")))},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){"string"==typeof n?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},visibilitySetter:function(n,t,i){"inherit"===n?i.removeAttribute(t):this[t]!==n&&i.setAttribute(t,n),this[t]=n},zIndexSetter:function(n,i){var h=this.renderer,r=this.parentGroup,f=(r||h).element||h.box,u,e=this.element,o,s;if(u=this.added,t(n)&&(e.zIndex=n,n=+n,this[i]===n&&(u=!1),this[i]=n),u){for((n=this.zIndex)&&r&&(r.handleZ=!0),i=f.childNodes,s=0;s<i.length&&!o;s++)r=i[s],u=r.zIndex,r!==e&&(v(u)>n||!t(n)&&t(u)||0>n&&!t(u)&&f!==h.box)&&(f.insertBefore(e,r),o=!0);o||f.appendChild(e)}return o},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}}),r.prototype.yGetter=r.prototype.xGetter,r.prototype.translateXSetter=r.prototype.translateYSetter=r.prototype.rotationSetter=r.prototype.verticalAlignSetter=r.prototype.scaleXSetter=r.prototype.scaleYSetter=function(n,t){this[t]=n,this.doTransform=!0},r.prototype["stroke-widthSetter"]=r.prototype.strokeSetter=function(n,t,i){this[t]=n,this.stroke&&this["stroke-width"]?(r.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===t&&0===n&&this.hasStroke&&(i.removeAttribute("stroke"),this.hasStroke=!1)},d=n.SVGRenderer=function(){this.init.apply(this,arguments)},e(d.prototype,{Element:r,SVG_NS:w,init:function(n,t,i,r,e,o){var h,s;r=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(r)),h=r.element,n.appendChild(h),-1===n.innerHTML.indexOf("xmlns")&&u(h,"xmlns",this.SVG_NS),this.isSVG=!0,this.box=h,this.boxWrapper=r,this.alignedObjects=[],this.url=(rt||lt)&&f.getElementsByTagName("base").length?b.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 5.0.14")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=e,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(t,i,!1),rt&&n.getBoundingClientRect&&(t=function(){c(n,{left:0,top:0}),s=n.getBoundingClientRect(),c(n,{left:Math.ceil(s.left)-s.left+"px",top:Math.ceil(s.top)-s.top+"px"})},t(),this.unSubPixelFix=nt(b,"resize",t))},getStyle:function(n){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},setStyle:function(n){this.boxWrapper.css(this.getStyle(n))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),vt(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:st,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]}},getSpanWidth:function(n,t){var i=n.getBBox(!0).width;return!a&&this.forExport&&(i=this.measureSpanWidth(t.firstChild.data,n.styles)),i},applyEllipsis:function(n,t,i,r){var l=n.rotation,u=i,s,o=0,e=i.length,h=function(n){t.removeChild(t.firstChild),n&&t.appendChild(f.createTextNode(n))},c;if(n.rotation=0,u=this.getSpanWidth(n,t),c=u>r){for(;o<=e;)s=Math.ceil((o+e)/2),u=i.substring(0,s)+"…",h(u),u=this.getSpanWidth(n,t),o===e?o=e+1:u>r?e=s-1:o=s;0===e&&h("")}return n.rotation=l,c},buildText:function(n){var r=n.element,h=this,ot=h.forExport,e=i(n.textStr,"").toString(),et=-1!==e.indexOf("<"),ut=r.childNodes,rt,it,tt,p,nt=u(r,"x"),t=n.styles,s=n.textWidth,g=t&&t.lineHeight,y=t&&t.textOutline,l=t&&"ellipsis"===t.textOverflow,d=t&&"nowrap"===t.whiteSpace,ft=t&&t.fontSize,k,b,st=ut.length,t=s&&!n.added&&this.box,ht=function(n){var t;return t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:ft||h.style.fontSize||12,g?v(g):h.fontMetrics(t,n.getAttribute("style")?n:r).h};if(k=[e,l,d,g,y,ft,s].join(),k!==n.textCache){for(n.textCache=k;st--;)r.removeChild(ut[st]);et||y||l||s||-1!==e.indexOf(" ")?(rt=/<.*class="([^"]+)".*>/,it=/<.*style="([^"]+)".*>/,tt=/<.*href="([^"]+)".*>/,t&&t.appendChild(r),e=et?e.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g):[e],e=ct(e,function(n){return""!==n}),o(e,function(t,i){var e,v=0;t=t.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||"),e=t.split("|||"),o(e,function(t){var y,o,k,g;if((""!==t||1===e.length)&&(y={},o=f.createElementNS(h.SVG_NS,"tspan"),rt.test(t)&&(k=t.match(rt)[1],u(o,"class",k)),it.test(t)&&(g=t.match(it)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),u(o,"style",g)),tt.test(t)&&!ot&&(u(o,"onclick",'location.href="'+t.match(tt)[1]+'"'),c(o,{cursor:"pointer"})),t=(t.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">")," "!==t)){if(o.appendChild(f.createTextNode(t)),v?y.dx=0:i&&null!==nt&&(y.x=nt),u(o,y),r.appendChild(o),!v&&b&&(!a&&ot&&c(o,{display:"block"}),u(o,"dy",ht(o))),s){y=t.replace(/([^\^])-/g,"$1- ").split(" "),k=1<e.length||i||1<y.length&&!d;var ut=[],ft,et=ht(o),st=n.rotation;for(l&&(p=h.applyEllipsis(n,o,t,s));!l&&k&&(y.length||ut.length);)n.rotation=0,ft=h.getSpanWidth(n,o),t=ft>s,void 0===p&&(p=t),t&&1!==y.length?(o.removeChild(o.firstChild),ut.unshift(y.pop())):(y=ut,ut=[],y.length&&!d&&(o=f.createElementNS(w,"tspan"),u(o,{dy:et,x:nt}),g&&u(o,"style",g),r.appendChild(o)),ft>s&&(s=ft)),y.length&&o.appendChild(f.createTextNode(y.join(" ").replace(/- /g,"-")));n.rotation=st}v++}}),b=b||r.childNodes.length}),p&&n.attr("title",n.textStr),t&&t.removeChild(r),y&&n.applyTextOutline&&n.applyTextOutline(y)):r.appendChild(f.createTextNode(e.replace(/&lt;/g,"<").replace(/&gt;/g,">")))}},getContrast:function(n){return n=ht(n).rgba,510<n[0]+n[1]+n[2]?"#000000":"#FFFFFF"},button:function(n,t,i,r,u,f,o,s,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),a=0,v,y,w,b;l.attr(h({padding:8,r:2},u)),u=h({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},u),v=u.style,delete u.style,f=h(u,{fill:"#e6e6e6"},f),y=f.style,delete f.style,o=h(u,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},o),w=o.style,delete o.style,s=h(u,{style:{color:"#cccccc"}},s),b=s.style,delete s.style,nt(l.element,p?"mouseover":"mouseenter",function(){3!==a&&l.setState(1)}),nt(l.element,p?"mouseout":"mouseleave",function(){3!==a&&l.setState(a)}),l.setState=function(n){1!==n&&(l.state=a=n),l.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][n||0]),l.attr([u,f,o,s][n||0]).css([v,y,w,b][n||0])},l.attr(u).css(e({cursor:"default"},v));return l.on("click",function(n){3!==a&&r.call(l,n)})},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=Math.round(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=Math.round(n[2])+t%2/2),n},path:function(n){var t={fill:"none"};return it(n)?t.d=n:l(n)&&e(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){return n=l(n)?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)},arc:function(n,t,i,r,u,f){return l(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},rect:function(n,t,i,r,f,e){f=l(n)?n.r:f;var o=this.createElement("rect");return n=l(n)?n:void 0===n?{}:{x:n,y:t,width:Math.max(i,0),height:Math.max(r,0)},void 0!==e&&(n.strokeWidth=e,n=o.crisp(n)),n.fill="none",f&&(n.r=f),o.rSetter=function(n,t,i){u(i,{rx:n,ry:n})},o.attr(n)},setSize:function(n,t,r){var u=this.alignedObjects,f=u.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:i(r,!0)?void 0:0});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return n?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,r,u){var f={preserveAspectRatio:"none"};return 1<arguments.length&&e(f,{x:t,y:i,width:r,height:u}),f=this.createElement("image").attr(f),f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):f.element.setAttribute("hc-svg-href",n),f},symbol:function(n,r,u,s,h,l){var p=this,a,d=/^url\((.*?)\)$/,g=d.test(n),w=!g&&(this.symbols[n]?n:"circle"),b=w&&this.symbols[w],nt=t(r)&&b&&b.call(this.symbols,Math.round(r),Math.round(u),s,h,l),v,k;return b?(a=this.path(nt),a.attr("fill","none"),e(a,{symbolName:w,x:r,y:u,width:s,height:h}),l&&e(a,l)):g&&(v=n.match(d)[1],a=this.image(v),a.imgwidth=i(y[v]&&y[v].width,l&&l.width),a.imgheight=i(y[v]&&y[v].height,l&&l.height),k=function(){a.attr({width:a.width,height:a.height})},o(["width","height"],function(n){a[n+"Setter"]=function(n,i){var u={},r=this["img"+i],f="width"===i?"translateX":"translateY";this[i]=n,t(r)&&(this.element&&this.element.setAttribute(i,r),this.alignByTranslate||(u[f]=((this[i]||0)-r)/2,this.attr(u)))}}),t(r)&&a.attr({x:r,y:u}),a.isImg=!0,t(a.imgwidth)&&t(a.imgheight)?k():(a.attr({width:0,height:0}),ft("img",{onload:function(){var n=yt[p.chartIndex];0===this.width&&(c(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),y[v]={width:this.width,height:this.height},a.imgwidth=this.width,a.imgheight=this.height,a.element&&k(),this.parentNode&&this.parentNode.removeChild(this),p.imgCount--,!p.imgCount&&n&&n.onload&&n.onload()},src:v}),this.imgCount++)),a},symbols:{circle:function(n,t,i,r){return this.arc(n+i/2,t+r/2,i/2,r/2,{start:0,end:2*Math.PI,open:!1})},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,r,u,f,e){var h=e.start,o=e.r||u,c=e.r||f||u,s=e.end-.001;u=e.innerR,f=i(e.open,.001>Math.abs(e.end-e.start-2*Math.PI));var l=Math.cos(h),a=Math.sin(h),v=Math.cos(s),s=Math.sin(s);return e=.001>e.end-h-Math.PI?0:1,o=["M",n+o*l,r+c*a,"A",o,c,0,e,1,n+o*v,r+c*s],t(u)&&o.push(f?"M":"L",n+u*v,r+u*s,"A",u,u,0,e,0,n+u*l,r+u*a),o.push(f?"":"Z"),o},callout:function(n,t,i,r,u){var f=Math.min(u&&u.r||0,i,r),o=f+6,e=u&&u.anchorX,s;return u=u&&u.anchorY,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(13,3,"L",n+i,u-6,n+i+6,u,n+i,u+6,n+i,t+r-f):s.splice(13,3,"L",n+i,r/2,e,u,n+i,r/2,n+i,t+r-f):e&&0>e?u>t+o&&u<t+r-o?s.splice(33,3,"L",n,u+6,n-6,u,n,u-6,n,t+f):s.splice(33,3,"L",n,r/2,e,u,n,r/2,n,t+f):u&&u>r&&e>n+o&&e<n+i-o?s.splice(23,3,"L",e+6,t+r,e,t+r+6,e-6,t+r,n+f,t+r):u&&0>u&&e>n+o&&e<n+i-o&&s.splice(3,3,"L",e-6,t,e,t-6,e+6,t,i-f,t),s}},clipRect:function(t,i,r,u){var f=n.uniqueKey(),e=this.createElement("clipPath").attr({id:f}).add(this.defs);return t=this.rect(t,i,r,u,0).add(e),t.id=f,t.clipPath=e,t.count=0,t},text:function(n,t,i,r){var f=!a&&this.forExport,u={};return r&&(this.allowHTML||!this.forExport)?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),(n||0===n)&&(u.text=n),n=this.createElement("text").attr(u),f&&n.css({position:"absolute"}),r||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),u,e=i.getAttribute(t),r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},fontMetrics:function(n,t){return n=n||t&&t.style&&t.style.fontSize||this.style&&this.style.fontSize,n=/px/.test(n)?v(n):/em/.test(n)?parseFloat(n)*(t?this.fontMetrics(null,t.parentNode).f:16):12,t=24>n?n+3:Math.round(1.2*n),{h:t,b:Math.round(.8*t),f:n}},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}},label:function(i,u,f,s,c,l,a,v,y){var g=this,p=g.g("button"!==y&&"label"),w=p.text=g.text("",0,0,a).attr({zIndex:1}),b,k,ut=0,d=3,ft=0,tt,yt,ot,vt,rt,lt={},wt,at,pt=/^url\((.*?)\)$/.test(s),ht=pt,ct,st,it,nt,bt;return y&&p.addClass("highcharts-"+y),ht=pt,ct=function(){return(wt||0)%2/2},st=function(){var n=w.element.style,i={};k=(void 0===tt||void 0===yt||rt)&&t(w.textStr)&&w.getBBox(),p.width=(tt||k.width||0)+2*d+ft,p.height=(yt||k.height||0)+2*d,at=d+g.fontMetrics(n&&n.fontSize,w).b,ht&&(b||(p.box=b=g.symbols[s]||pt?g.symbol(s):g.rect(),b.addClass(("button"===y?"":"highcharts-label-box")+(y?" highcharts-"+y+"-box":"")),b.add(p),n=ct(),i.x=n,i.y=(v?-at:0)+n),i.width=Math.round(p.width),i.height=Math.round(p.height),b.attr(e(i,lt)),lt={})},it=function(){var i=ft+d,n;n=v?0:at,t(tt)&&k&&("center"===rt||"right"===rt)&&(i+={center:.5,right:1}[rt]*(tt-k.width)),(i!==w.x||n!==w.y)&&(w.attr("x",i),void 0!==n&&w.attr("y",n)),w.x=i,w.y=n},nt=function(n,t){b?b.attr(n,t):lt[n]=t},p.onAdd=function(){w.add(p),p.attr({text:i||0===i?i:"",x:u,y:f}),b&&t(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(t){tt=n.isNumber(t)?t:null},p.heightSetter=function(n){yt=n},p["text-alignSetter"]=function(n){rt=n},p.paddingSetter=function(n){t(n)&&n!==d&&(d=p.padding=n,it())},p.paddingLeftSetter=function(n){t(n)&&n!==ft&&(ft=n,it())},p.alignSetter=function(n){n={left:0,center:.5,right:1}[n],n!==ut&&(ut=n,k&&p.attr({x:ot}))},p.textSetter=function(n){void 0!==n&&w.textSetter(n),st(),it()},p["stroke-widthSetter"]=function(n,t){n&&(ht=!0),wt=this["stroke-width"]=n,nt(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){"r"!==t&&("fill"===t&&n&&(ht=!0),p[t]=n),nt(t,n)},p.anchorXSetter=function(n,t){c=p.anchorX=n,nt(t,Math.round(n)-ct()-ot)},p.anchorYSetter=function(n,t){l=p.anchorY=n,nt(t,n-vt)},p.xSetter=function(n){p.x=n,ut&&(n-=ut*((tt||k.width)+2*d)),ot=Math.round(n),p.attr("translateX",ot)},p.ySetter=function(n){vt=p.y=Math.round(n),p.attr("translateY",vt)},bt=p.css,e(p,{css:function(n){if(n){var t={};n=h(n),o(p.textProps,function(i){void 0!==n[i]&&(t[i]=n[i],delete n[i])}),w.css(t)}return bt.call(p,n)},getBBox:function(){return{width:k.width+2*d,height:k.height+2*d,x:k.x-d,y:k.y-d}},shadow:function(n){return n&&(st(),b&&b.shadow(n)),p},destroy:function(){et(p.element,"mouseenter"),et(p.element,"mouseleave"),w&&(w=w.destroy()),b&&(b=b.destroy()),r.prototype.destroy.call(p),p=g=st=it=nt=null}})}}),n.Renderer=d}(n),function(n){var e=n.attr,o=n.createElement,t=n.css,s=n.defined,i=n.each,r=n.extend,u=n.isFirefox,h=n.isMS,f=n.isWebKit,c=n.pInt,l=n.SVGRenderer,a=n.win,v=n.wrap;r(n.SVGElement.prototype,{htmlCss:function(n){var i=this.element;return(i=n&&"SPAN"===i.tagName&&n.width)&&(delete n.width,this.textWidth=i,this.updateTransform()),n&&"ellipsis"===n.textOverflow&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=r(this.styles,n),t(this.element,n),this},htmlGetBBox:function(){var n=this.element;return"text"===n.nodeName&&(n.style.position="absolute"),{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var o=this.renderer,n=this.element,h=this.translateX||0,l=this.translateY||0,w=this.x||0,b=this.y||0,e=this.textAlign||"left",a={left:0,center:.5,right:1}[e],r=this.styles;if(t(n,{marginLeft:h,marginTop:l}),this.shadows&&i(this.shadows,function(n){t(n,{marginLeft:h+1,marginTop:l+1})}),this.inverted&&i(n.childNodes,function(t){o.invertChild(t,n)}),"SPAN"===n.tagName){var u=this.rotation,v=c(this.textWidth),y=r&&r.whiteSpace,p=[u,e,n.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&&(r=o.fontMetrics(n.style.fontSize).b,s(u)&&this.setSpanRotation(u,a,r),t(n,{width:"",whiteSpace:y||"nowrap"}),n.offsetWidth>v&&/[ \-]/.test(n.textContent||n.innerText)&&t(n,{width:v+"px",display:"block",whiteSpace:y||"normal"}),this.getSpanCorrection(n.offsetWidth,r,a,u,e)),t(n,{left:w+(this.xCorr||0)+"px",top:b+(this.yCorr||0)+"px"}),f&&(r=n.offsetHeight),this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(n,i,r){var e={},o=h?"-ms-transform":f?"-webkit-transform":u?"MozTransform":a.opera?"-o-transform":"";e[o]=e.transform="rotate("+n+"deg)",e[o+(u?"Origin":"-origin")]=e.transformOrigin=100*i+"% "+r+"px",t(this.element,e)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i,this.yCorr=-t}}),r(l.prototype,{html:function(n,t,u){var f=this.createElement("span"),s=f.element,h=f.renderer,c=h.isSVG,l=function(n,t){i(["opacity","visibility"],function(i){v(n,i+"Setter",function(n,i,r,u){n.call(this,i,r,u),t[r]=i})})};return f.textSetter=function(n){n!==s.innerHTML&&delete this.bBox,s.innerHTML=this.textStr=n,f.htmlUpdateTransform()},c&&l(f,f.element.style),f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(n,t){"align"===t&&(t="textAlign"),f[t]=n,f.htmlUpdateTransform()},f.attr({text:n,x:Math.round(t),y:Math.round(u)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"}),s.style.whiteSpace="nowrap",f.css=f.htmlCss,c&&(f.add=function(n){var t,c=h.box.parentNode,u=[];if(this.parentGroup=n){if(t=n.div,!t){for(;n;)u.push(n),n=n.parentGroup;i(u.reverse(),function(n){var i,s=e(n.element,"class");s&&(s={className:s}),t=n.div=n.div||o("div",s,{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||c),i=t.style,r(n,{classSetter:function(n){this.element.setAttribute("class",n),t.className=n},on:function(){return u[0].div&&f.on.apply({element:u[0].div},arguments),n},translateXSetter:function(t,r){i.left=t+"px",n[r]=t,n.doTransform=!0},translateYSetter:function(t,r){i.top=t+"px",n[r]=t,n.doTransform=!0}}),l(n,i)})}}else t=c;return t.appendChild(s),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f}})}(n),function(n){var e,t,u=n.createElement,s=n.css,w=n.defined,f=n.deg2rad,p=n.discardElement,i=n.doc,c=n.each,y=n.erase,a=n.extend;e=n.extendClass;var g=n.isArray,b=n.isNumber,v=n.isObject,d=n.merge;t=n.noop;var l=n.pick,r=n.pInt,h=n.SVGElement,o=n.SVGRenderer,k=n.win;n.svg||(t={docMode8:i&&8===i.documentMode,init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],f="div"===t;("shape"===t||f)&&r.push("left:0;top:0;width:1px;height:1px;"),r.push("visibility: ",f?"hidden":"visible"),i.push(' style="',r.join(""),'"/>'),t&&(i=f||"span"===t||"img"===t?i.join(""):n.prepVML(i),this.element=u(i)),this.renderer=n},add:function(n){var i=this.renderer,r=this.element,t=i.box,u=n&&n.inverted,t=n?n.element||n:t;return n&&(this.parentGroup=n),u&&i.invertChild(r,t),t.appendChild(r),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),this.onAdd&&this.onAdd(),this.className&&this.attr("class",this.className),this},updateTransform:h.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=Math.cos(n*f),i=Math.sin(n*f);s(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(n,t,i,r,u){var e=r?Math.cos(r*f):1,o=r?Math.sin(r*f):0,c=l(this.elemHeight,this.element.offsetHeight),h;this.xCorr=0>e&&-n,this.yCorr=0>o&&-c,h=0>e*o,this.xCorr+=o*t*(h?1-i:i),this.yCorr-=e*t*(r?h?i:1-i:1),u&&"left"!==u&&(this.xCorr-=n*i*(0>e?-1:1),r&&(this.yCorr-=c*i*(0>o?-1:1)),s(this.element,{textAlign:u}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)b(n[t])?i[t]=Math.round(10*n[t])-5:"Z"===n[t]?i[t]="x":(i[t]=n[t],!n.isArc||"wa"!==n[t]&&"at"!==n[t]||(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1)));return i.join(" ")||"x"},clip:function(n){var t=this,i;return n?(i=n.members,y(i,t),i.push(t),t.destroyClip=function(){y(i,t)},n=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),n={clip:t.docMode8?"inherit":"rect(auto)"}),t.css(n)},css:h.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&p(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),h.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=k.event;n.target=n.srcElement,t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(9===i||11===i)&&(n[i-4]=n[i-2]=r(n[i-2])-10*t),n.join(" ")},shadow:function(n,t,i){var y=[],e,o=this.element,p=this.renderer,f,w=o.style,h,s=o.path,c,a,v,b;if(s&&"string"!=typeof s.value&&(s="x"),a=s,n){for(v=l(n.width,3),b=(n.opacity||.15)/v,e=1;3>=e;e++)c=2*v+1-2*e,i&&(a=this.cutOffPath(s.value,c+.5)),h=['<shape isShadow="true" strokeweight="',c,'" filled="false" path="',a,'" coordsize="10 10" style="',o.style.cssText,'" />'],f=u(p.prepVML(h),null,{left:r(w.left)+l(n.offsetX,1),top:r(w.top)+l(n.offsetY,1)}),i&&(f.cutOff=c+1),h=['<stroke color="',n.color||"#000000",'" opacity="',b*e,'"/>'],u(p.prepVML(h),null,null,f),t?t.element.appendChild(f):o.parentNode.insertBefore(f,o),y.push(f);this.shadows=y}return this},updateShadows:t,setAttr:function(n,t){this.docMode8?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){(this.added?this.element:this).className=n},dashstyleSetter:function(n,t,i){(i.getElementsByTagName("stroke")[0]||u(this.renderer.prepVML(["<stroke/>"]),null,null,i))[t]=n||"solid",this[t]=n},dSetter:function(n,t,i){var r=this.shadows;if(n=n||[],this.d=n.join&&n.join(" "),i.path=n=this.pathToVML(n),r)for(i=r.length;i--;)r[i].path=r[i].cutOff?this.cutOffPath(n,r[i].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;"SPAN"===r?i.style.color=n:"IMG"!==r&&(i.filled="none"!==n,this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},"fill-opacitySetter":function(n,t,i){u(this.renderer.prepVML(["<",t.split("-")[0],' opacity="',n,'"/>']),null,null,i)},opacitySetter:t,rotationSetter:function(n,t,i){i=i.style,this[t]=i[t]=n,i.left=-Math.round(Math.sin(n*f)+1)+"px",i.top=Math.round(Math.cos(n*f))+"px"},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t,this))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n,this[t]=n,b(n)&&(n+="px"),this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,t,i){"inherit"===n&&(n="visible"),this.shadows&&c(this.shadows,function(i){i.style[t]=n}),"DIV"===i.nodeName&&(n="hidden"===n?"-999em":0,this.docMode8||(i.style[t]=n?"visible":"hidden"),t="top"),i.style[t]=n},xSetter:function(n,t,i){this[t]=n,"x"===t?t="left":"y"===t&&(t="top"),this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},t["stroke-opacitySetter"]=t["fill-opacitySetter"],n.VMLElement=t=e(h,t),t.prototype.ySetter=t.prototype.widthSetter=t.prototype.heightSetter=t.prototype.xSetter,t={Element:t,isIE8:-1<k.navigator.userAgent.indexOf("MSIE 8.0"),init:function(n,t,r){var u,f;if(this.alignedObjects=[],u=this.createElement("div").css({position:"relative"}),f=u.element,n.appendChild(u.element),this.isVML=!0,this.box=f,this.boxWrapper=u,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.setSize(t,r,!1),!i.namespaces.hcv){i.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{i.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(e){i.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,t,i,r){var f=this.createElement(),u=v(n);return a(f,{members:[],count:0,left:(u?n.x:n)+1,top:(u?n.y:t)+1,width:(u?n.width:i)-1,height:(u?n.height:r)-1,getCSS:function(n){var t=n.element,e=t.nodeName,i=n.inverted,r=this.top-("shape"===e?t.offsetTop:0),u=this.left,t=u+this.width,f=r+this.height,r={clip:"rect("+Math.round(i?u:r)+"px,"+Math.round(i?f:t)+"px,"+Math.round(i?t:f)+"px,"+Math.round(i?r:u)+"px)"};return!i&&n.docMode8&&"DIV"===e&&a(r,{width:t+"px",height:f+"px"}),r},updateClipping:function(){c(f.members,function(n){n.element&&n.css(f.getCSS(n))})}})},color:function(t,i,r,f){var ht=this,h,ot=/^rgba/,st,v,o="none",l,p,e,a,et,ft,ut,rt,w,k,d,b;if(t&&t.linearGradient?v="gradient":t&&t.radialGradient&&(v="pattern"),v)if(e=t.linearGradient||t.radialGradient,w="",t=t.stops,d=[],b=function(){st=['<fill colors="'+d.join(",")+'" opacity="',ft,'" o:opacity2="',et,'" type="',v,'" ',w,'focus="100%" method="any" />'],u(ht.prepVML(st),null,null,i)},a=t[0],k=t[t.length-1],0<a[0]&&t.unshift([0,a[1]]),1>k[0]&&t.push([1,k[1]]),c(t,function(t,i){ot.test(t[1])?(h=n.color(t[1]),l=h.get("rgb"),p=h.get("a")):(l=t[1],p=1),d.push(100*t[0]+"% "+l),i?(ft=p,ut=l):(et=p,rt=l)}),"fill"===r)if("gradient"===v)r=e.x1||e[0]||0,t=e.y1||e[1]||0,a=e.x2||e[2]||0,e=e.y2||e[3]||0,w='angle="'+(90-180*Math.atan((e-t)/(a-r))/Math.PI)+'"',b();else{var o=e.r,it=2*o,tt=2*o,nt=e.cx,g=e.cy,y=i.radialReference,s,o=function(){y&&(s=f.getBBox(),nt+=(y[0]-s.x)/s.width-.5,g+=(y[1]-s.y)/s.height-.5,it*=y[2]/s.width,tt*=y[2]/s.height),w='src="'+n.getOptions().global.VMLRadialGradientURL+'" size="'+it+","+tt+'" origin="0.5,0.5" position="'+nt+","+g+'" color2="'+rt+'" ',b()};f.added?o():f.onAdd=o,o=ut}else o=l;else ot.test(t)&&"IMG"!==i.tagName?(h=n.color(t),f[r+"-opacitySetter"](h.get("a"),r,i),o=h.get("rgb")):(o=i.getElementsByTagName(r),o.length&&(o[0].opacity=1,o[0].type="solid"),o=t);return o},prepVML:function(n){var t=this.isIE8;return n=n.join(""),t?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=-1===n.indexOf('style="')?n.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):n.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):n=n.replace("<","<hcv:"),n},text:o.prototype.html,path:function(n){var t={coordsize:"10 10"};return g(n)?t.d=n:v(n)&&a(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return v(n)&&(i=n.r,t=n.y,n=n.x),r.isCircle=!0,r.r=i,r.attr({x:n,y:t})},g:function(n){var t;return n&&(t={className:"highcharts-"+n,"class":"highcharts-"+n}),this.createElement("div").attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return 1<arguments.length&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return"rect"===n?this.symbol(n):o.prototype.createElement.call(this,n)},invertChild:function(n,t){var u=this,i;t=t.style,i="IMG"===n.tagName&&n.style,s(n,{flip:"x",left:r(t.width)-(i?r(i.top):1),top:r(t.height)-(i?r(i.left):1),rotation:-90}),c(n.childNodes,function(t){u.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var f=u.start,o=u.end,e=u.r||i||r;i=u.innerR,r=Math.cos(f);var s=Math.sin(f),h=Math.cos(o),c=Math.sin(o);return 0==o-f?["x"]:(f=["wa",n-e,t-e,n+e,t+e,n+e*r,t+e*s,n+e*h,t+e*c],u.open&&!i&&f.push("e","M",n,t),f.push("at",n-i,t-i,n+i,t+i,n+i*h,t+i*c,n+i*r,t+i*s,"x","e"),f.isArc=!0,f)},circle:function(n,t,i,r,u){return u&&w(u.r)&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,i,r,u){return o.prototype.symbols[w(u)&&u.r?"callout":"square"].call(0,n,t,i,r,u)}}},n.VMLRenderer=e=function(){this.init.apply(this,arguments)},e.prototype=d(o.prototype,t),n.Renderer=e),o.prototype.measureSpanWidth=function(n,t){var r=i.createElement("span");return n=i.createTextNode(n),r.appendChild(n),s(r,t),this.box.appendChild(r),t=r.offsetWidth,p(r),t}}(n),function(n){function f(){var t=n.defaultOptions.global,i=u.moment;if(t.timezone){if(i)return function(n){return-i.tz(n,t.timezone).utcOffset()};n.error(25)}return t.useUTC&&t.getTimezoneOffset}function i(){var s=n.defaultOptions.global,i,e=s.useUTC,h=e?"getUTC":"get",c=e?"setUTC":"set";n.Date=i=s.Date||u.Date,i.hcTimezoneOffset=e&&s.timezoneOffset,i.hcGetTimezoneOffset=f(),i.hcMakeTime=function(n,r,u,f,s,h){var c;return e?(c=i.UTC.apply(0,arguments),c+=o(c)):c=new i(n,r,t(u,1),t(f,0),t(s,0),t(h,0)).getTime(),c},r("Minutes Hours Day Date Month FullYear".split(" "),function(n){i["hcGet"+n]=h+n}),r("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(n){i["hcSet"+n]=c+n})}var e=n.color,r=n.each,o=n.getTZOffset,s=n.merge,t=n.pick,u=n.win;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:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.14/gfx/vml-radial-gradient.png"},chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",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:n.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:n.isTouchDevice?25:10,backgroundColor:e("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}},n.setOptions=function(t){return n.defaultOptions=s(!0,n.defaultOptions,t),i(),n.defaultOptions},n.getOptions=function(){return n.defaultOptions},n.defaultPlotOptions=n.defaultOptions.plotOptions,i()}(n),function(n){var f=n.correctFloat,i=n.defined,e=n.destroyObjectProperties,u=n.isNumber,o=n.merge,t=n.pick,r=n.deg2rad;n.Tick=function(n,t,i,r){this.axis=n,this.pos=t,this.type=i||"",this.isNewLabel=this.isNew=!0,i||r||this.addLabel()},n.Tick.prototype={addLabel:function(){var n=this.axis,s=n.options,l=n.chart,u=n.categories,h=n.names,r=this.pos,c=s.labels,e=n.tickPositions,a=r===e[0],v=r===e[e.length-1],h=u?t(u[r],h[r],r):r,u=this.label,e=e.info,y;n.isDatetimeAxis&&e&&(y=s.dateTimeLabelFormats[e.higherRanks[r]||e.unitName]),this.isFirst=a,this.isLast=v,s=n.labelFormatter.call({axis:n,chart:l,isFirst:a,isLast:v,dateTimeLabelFormat:y,value:n.isLog?f(n.lin2log(h)):h,pos:r}),i(u)?u&&u.attr({text:s}):(this.labelLength=(this.label=u=i(s)&&c.enabled?l.renderer.text(s,0,0,c.useHTML).css(o(c.style)).add(n.labelGroup):null)&&u.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(n){var i=this.axis,e=n.x,a=i.chart.chartWidth,s=i.chart.spacing,v=t(i.labelLeft,Math.min(i.pos,s[3])),s=t(i.labelRight,Math.max(i.pos+i.len,a-s[1])),y=this.label,h=this.rotation,f={left:0,center:.5,right:1}[i.labelAlign],o=y.getBBox().width,c=i.getSlotWidth(),u=c,w=1,l,p={};h?0>h&&e-f*o<v?l=Math.round(e/Math.cos(h*r)-v):0<h&&e+f*o>s&&(l=Math.round((a-e)/Math.cos(h*r))):(a=e+(1-f)*o,e-f*o<v?u=n.x+u*(1-f)-v:a>s&&(u=s-n.x+u*f,w=-1),u=Math.min(c,u),u<c&&"center"===i.labelAlign&&(n.x+=w*(c-u-f*(c-Math.min(o,u)))),o>u||i.autoRotation&&(y.styles||{}).width)&&(l=u),l&&(p.width=l,(i.options.labels.style||{}).textOverflow||(p.textOverflow="ellipsis"),y.css(p))},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,u,f,e,o,s,h){var c=this.axis,y=c.transA,p=c.reversed,l=c.staggerLines,a=c.tickRotCorr||{x:0,y:0},v=e.y;return i(v)||(v=0===c.side?u.rotation?-8:-u.getBBox().height:2===c.side?a.y+8:Math.cos(u.rotation*r)*(a.y-u.getBBox(!1,0).height/2)),n=n+e.x+a.x-(o&&f?o*y*(p?-1:1):0),t=t+v-(o&&!f?o*y*(p?1:-1):0),l&&(u=s/(h||1)%l,c.opposite&&(u=l-u-1),t+=c.labelOffset/l*u),{x:n,y:Math.round(t)}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},renderGridLine:function(n,t,i){var u=this.axis,f=u.options,e=this.gridLine,r={},h=this.pos,o=this.type,c=u.tickmarkOffset,l=u.chart.renderer,s=o?o+"Grid":"grid",a=f[s+"LineWidth"],v=f[s+"LineColor"],f=f[s+"LineDashStyle"];e||(r.stroke=v,r["stroke-width"]=a,f&&(r.dashstyle=f),o||(r.zIndex=1),n&&(r.opacity=0),this.gridLine=e=l.path().attr(r).addClass("highcharts-"+(o?o+"-":"")+"grid-line").add(u.gridGroup)),!n&&e&&(n=u.getPlotLinePath(h+c,e.strokeWidth()*i,n,!0))&&e[this.isNew?"attr":"animate"]({d:n,opacity:t})},renderMark:function(n,i,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=t(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),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:i}))},renderLabel:function(n,i,r,f){var o=this.axis,a=o.horiz,h=o.options,e=this.label,s=h.labels,c=s.step,y=o.tickmarkOffset,l=!0,v=n.x;n=n.y,e&&u(v)&&(e.xy=n=this.getLabelPosition(v,n,e,a,s,y,f,c),this.isFirst&&!this.isLast&&!t(h.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(h.showLastLabel,1)?l=!1:!a||o.isRadial||s.step||s.rotation||i||0===r||this.handleOverflow(n),c&&f%c&&(l=!1),l&&u(n.y)?(n.opacity=r,e[this.isNewLabel?"attr":"animate"](n),this.isNewLabel=!1):(e.attr("y",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(n,i,r){var u=this.axis,e=u.horiz,f=this.getPosition(e,this.pos,u.tickmarkOffset,i),o=f.x,s=f.y,u=e&&o===u.pos+u.len||!e&&s===u.pos?-1:1;r=t(r,1),this.isActive=!0,this.renderGridLine(i,r,u),this.renderMark(f,r,u),this.renderLabel(f,i,r,n)},destroy:function(){e(this,this.axis)}}}(n);var t=function(n){var ut=n.addEvent,rt=n.animObject,s=n.arrayMax,h=n.arrayMin,tt=n.color,f=n.correctFloat,p=n.defaultOptions,i=n.defined,nt=n.deg2rad,y=n.destroyObjectProperties,r=n.each,b=n.extend,w=n.fireEvent,st=n.format,k=n.getMagnitude,d=n.grep,l=n.inArray,g=n.isArray,u=n.isNumber,a=n.isString,c=n.merge,it=n.normalizeTickInterval,e=n.objectEach,t=n.pick,ft=n.removeEvent,et=n.splat,ot=n.syncTimeout,o=n.Tick,v=function(){this.init.apply(this,arguments)};return n.extend(v.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return n.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(n,r){var o=r.isX,u=this,f,s;u.chart=n,u.horiz=n.inverted&&!u.isZAxis?!o:o,u.isXAxis=o,u.coll=u.coll||(o?"xAxis":"yAxis"),u.opposite=r.opposite,u.side=r.side||(u.horiz?u.opposite?0:2:u.opposite?1:3),u.setOptions(r),f=this.options,s=f.type,u.labelFormatter=f.labels.formatter||u.defaultLabelFormatter,u.userOptions=r,u.minPixelPadding=0,u.reversed=f.reversed,u.visible=!1!==f.visible,u.zoomEnabled=!1!==f.zoomEnabled,u.hasNames="category"===s||!0===f.categories,u.categories=f.categories||u.hasNames,u.names=u.names||[],u.plotLinesAndBandsGroups={},u.isLog="logarithmic"===s,u.isDatetimeAxis="datetime"===s,u.positiveValuesOnly=u.isLog&&!u.allowNegativeLog,u.isLinked=i(f.linkedTo),u.ticks={},u.labelEdge=[],u.minorTicks={},u.plotLinesAndBands=[],u.alternateBands={},u.len=0,u.minRange=u.userMinRange=f.minRange||f.maxZoom,u.range=f.range,u.offset=f.offset||0,u.stacks={},u.oldStacks={},u.stacksTouched=0,u.max=null,u.min=null,u.crosshair=t(f.crosshair,et(n.options.tooltip.crosshairs)[o?0:1],!1),r=u.options.events,-1===l(u,n.axes)&&(o?n.axes.splice(n.xAxis.length,0,u):n.axes.push(u),n[u.coll].push(u)),u.series=u.series||[],n.inverted&&!u.isZAxis&&o&&void 0===u.reversed&&(u.reversed=!0),e(r,function(n,t){ut(u,t,n)}),u.lin2log=f.linearToLogConverter||u.lin2log,u.isLog&&(u.val2lin=u.log2lin,u.lin2val=u.lin2log)},setOptions:function(n){this.options=c(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],c(p[this.coll],n))},defaultLabelFormatter:function(){var r=this.axis,t=this.value,u=r.categories,s=this.dateTimeLabelFormat,o=p.lang,e=o.numericSymbols,o=o.numericSymbolMagnitude||1e3,f=e&&e.length,i,h=r.options.labels.format,r=r.isLog?Math.abs(t):r.tickInterval;if(h)i=st(h,this);else if(u)i=t;else if(s)i=n.dateFormat(s,t);else if(f&&1e3<=r)for(;f--&&void 0===i;)u=Math.pow(o,f+1),r>=u&&0==10*t%u&&null!==e[f]&&0!==t&&(i=n.numberFormat(t/u,-1)+e[f]);return void 0===i&&(i=1e4<=Math.abs(t)?n.numberFormat(t,-1):n.numberFormat(t,-1,void 0,"")),i},getSeriesExtremes:function(){var n=this,f=n.chart;n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=null,n.softThreshold=!n.isXAxis,n.buildStacks&&n.buildStacks(),r(n.series,function(r){if(r.visible||!f.options.chart.ignoreHiddenSeries){var e=r.options,o=e.threshold,c;n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=o&&(o=null),n.isXAxis?(e=r.xData,e.length&&(r=h(e),u(r)||r instanceof Date||(e=d(e,function(n){return u(n)}),r=h(e)),n.dataMin=Math.min(t(n.dataMin,e[0]),r),n.dataMax=Math.max(t(n.dataMax,e[0]),s(e)))):(r.getExtremes(),c=r.dataMax,r=r.dataMin,i(r)&&i(c)&&(n.dataMin=Math.min(t(n.dataMin,r),r),n.dataMax=Math.max(t(n.dataMax,c),c)),i(o)&&(n.threshold=o),!e.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}})},translate:function(n,t,i,r,f,e){var o=this.linkedParent||this,s=1,c=0,h=r?o.oldTransA:o.transA,l;return r=r?o.oldMin:o.min,l=o.minPixelPadding,f=(o.isOrdinal||o.isBroken||o.isLog&&f)&&o.lin2val,h||(h=o.transA),i&&(s*=-1,c=o.len),o.reversed&&(s*=-1,c-=s*(o.sector||o.len)),t?(n=(n*s+c-l)/h+r,f&&(n=o.lin2val(n))):(f&&(n=o.val2lin(n)),n=s*(n-r)*h+c+s*l+(u(e)?h*e:0)),n},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(n,i,r,f,e){var s=this.chart,c=this.left,l=this.top,o,h,y=r&&s.oldChartHeight||s.chartHeight,p=r&&s.oldChartWidth||s.chartWidth,a,v;return o=this.transB,v=function(n,t,i){return(n<t||n>i)&&(f?n=Math.min(Math.max(t,n),i):a=!0),n},e=t(e,this.translate(n,null,null,r)),n=r=Math.round(e+o),o=h=Math.round(y-e-o),u(e)?this.horiz?(o=l,h=y-this.bottom,n=r=v(n,c,c+this.width)):(n=c,r=p-this.right,o=h=v(o,l,l+this.height)):a=!0,a&&!f?null:s.renderer.crispLine(["M",n,o,"L",r,h],i||1)},getLinearTickPositions:function(n,t,i){var u,e=f(Math.floor(t/n)*n),r;if(i=f(Math.ceil(i/n)*n),r=[],this.single)return[t];for(t=e;t<=i;){if(r.push(t),t=f(t+n),t===u)break;u=t}return r},getMinorTickPositions:function(){var n=this,i=n.options,s=n.tickPositions,u=n.minorTickInterval,t=[],f=n.pointRangePadding||0,e=n.min-f,f=n.max+f,o=f-e;if(o&&o/u<n.len/3)if(n.isLog)r(this.paddedTicks,function(i,r,f){r&&t.push.apply(t,n.getLogTickPositions(u,f[r-1],f[r],!0))});else if(n.isDatetimeAxis&&"auto"===i.minorTickInterval)t=t.concat(n.getTimeTicks(n.normalizeTimeTickInterval(u),e,f,i.startOfWeek));else for(i=e+(s[0]-e)%u;i<=f&&i!==t[0];i+=u)t.push(i);return 0!==t.length&&n.trimTicks(t),t},adjustForMinRange:function(){var o=this.options,n=this.min,u=this.max,f,v,l,c,y,a,p,e;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(i(o.min)||i(o.max)?this.minRange=null:(r(this.series,function(n){for(a=n.xData,c=p=n.xIncrement?1:a.length-1;0<c;c--)(y=a[c]-a[c-1],void 0===l||y<l)&&(l=y)}),this.minRange=Math.min(5*l,this.dataMax-this.dataMin))),u-n<this.minRange&&(v=this.dataMax-this.dataMin>=this.minRange,e=this.minRange,f=(e-u+n)/2,f=[n-f,t(o.min,n-f)],v&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),n=s(f),u=[n+e,t(o.max,n+e)],v&&(u[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),u=h(u),u-n<e&&(f[0]=u-e,f[1]=t(o.min,u-e),n=s(f))),this.min=n,this.max=u},getClosest:function(){var n;return this.categories?n=1:r(this.series,function(t){var r=t.closestPointRange,u=t.visible||!t.chart.options.chart.ignoreHiddenSeries;!t.noSharedTooltip&&i(r)&&u&&(n=i(n)?Math.min(n,r):r)}),n},nameToX:function(n){var u=g(this.categories),f=u?this.categories:this.names,r=n.options.x,t;return n.series.requireSorting=!1,i(r)||(r=!1===this.options.uniqueNames?n.series.autoIncrement():l(n.name,f)),-1===r?u||(t=f.length):t=r,void 0!==t&&(this.names[t]=n.name),t},updateNames:function(){var n=this;0<this.names.length&&(this.names.length=0,this.minRange=this.userMinRange,r(this.series||[],function(t){t.xIncrement=null,(!t.points||t.isDirtyData)&&(t.processData(),t.generatePoints()),r(t.points,function(i,r){var u;i.options&&(u=n.nameToX(i),void 0!==u&&u!==i.x&&(i.x=u,t.xData[r]=u))})}))},setAxisTranslation:function(n){var i=this,l=i.max-i.min,s=i.axisPointRange||0,f,e=0,o=0,u=i.linkedParent,v=!!i.categories,h=i.transA,c=i.isXAxis;(c||v||s)&&(f=i.getClosest(),u?(e=u.minPointOffset,o=u.pointRangePadding):r(i.series,function(n){var r=v?1:c?t(n.options.pointRange,f,0):i.axisPointRange||0;n=n.options.pointPlacement,s=Math.max(s,r),i.single||(e=Math.max(e,a(n)?0:r/2),o=Math.max(o,"on"===n?0:r))}),u=i.ordinalSlope&&f?i.ordinalSlope/f:1,i.minPointOffset=e*=u,i.pointRangePadding=o*=u,i.pointRange=Math.min(s,l),c&&(i.closestPointRange=f)),n&&(i.oldTransA=h),i.translationSlope=i.transA=h=i.options.staticScale||i.len/(l+o||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=h*e},minFromRange:function(){return this.max-this.range},setTickInterval:function(e){var o=this,c=o.chart,s=o.options,rt=o.isLog,y=o.log2lin,tt=o.isDatetimeAxis,ot=o.isXAxis,p=o.isLinked,nt=s.maxPadding,b=s.minPadding,l=s.tickInterval,d=s.tickPixelInterval,g=o.categories,h=o.threshold,ut=o.softThreshold,ft,et,a,v;tt||g||p||this.getTickAmount(),a=t(o.userMin,s.min),v=t(o.userMax,s.max),p?(o.linkedParent=c[o.coll][s.linkedTo],c=o.linkedParent.getExtremes(),o.min=t(c.min,c.dataMin),o.max=t(c.max,c.dataMax),s.type!==o.linkedParent.options.type&&n.error(11,1)):(!ut&&i(h)&&(o.dataMin>=h?(ft=h,b=0):o.dataMax<=h&&(et=h,nt=0)),o.min=t(a,ft,o.dataMin),o.max=t(v,et,o.dataMax)),rt&&(o.positiveValuesOnly&&!e&&0>=Math.min(o.min,t(o.dataMin,o.min))&&n.error(10,1),o.min=f(y(o.min),15),o.max=f(y(o.max),15)),o.range&&i(o.max)&&(o.userMin=o.min=a=Math.max(o.dataMin,o.minFromRange()),o.userMax=v=o.max,o.range=null),w(o,"foundExtremes"),o.beforePadding&&o.beforePadding(),o.adjustForMinRange(),!(g||o.axisPointRange||o.usePercentage||p)&&i(o.min)&&i(o.max)&&(y=o.max-o.min)&&(!i(a)&&b&&(o.min-=y*b),!i(v)&&nt&&(o.max+=y*nt)),u(s.softMin)&&(o.min=Math.min(o.min,s.softMin)),u(s.softMax)&&(o.max=Math.max(o.max,s.softMax)),u(s.floor)&&(o.min=Math.max(o.min,s.floor)),u(s.ceiling)&&(o.max=Math.min(o.max,s.ceiling)),ut&&i(o.dataMin)&&(h=h||0,!i(a)&&o.min<h&&o.dataMin>=h?o.min=h:!i(v)&&o.max>h&&o.dataMax<=h&&(o.max=h)),o.tickInterval=o.min===o.max||void 0===o.min||void 0===o.max?1:p&&!l&&d===o.linkedParent.options.tickPixelInterval?l=o.linkedParent.tickInterval:t(l,this.tickAmount?(o.max-o.min)/Math.max(this.tickAmount-1,1):void 0,g?1:(o.max-o.min)*d/Math.max(o.len,d)),ot&&!e&&r(o.series,function(n){n.processData(o.min!==o.oldMin||o.max!==o.oldMax)}),o.setAxisTranslation(!0),o.beforeSetTickPositions&&o.beforeSetTickPositions(),o.postProcessTickInterval&&(o.tickInterval=o.postProcessTickInterval(o.tickInterval)),o.pointRange&&!l&&(o.tickInterval=Math.max(o.pointRange,o.tickInterval)),e=t(s.minTickInterval,o.isDatetimeAxis&&o.closestPointRange),!l&&o.tickInterval<e&&(o.tickInterval=e),tt||rt||l||(o.tickInterval=it(o.tickInterval,null,k(o.tickInterval),t(s.allowDecimals,!(.5<o.tickInterval&&5>o.tickInterval&&1e3<o.max&&9999>o.max)),!!this.tickAmount)),this.tickAmount||(o.tickInterval=o.unsquish()),this.setTickPositions()},setTickPositions:function(){var t=this.options,n,u=t.tickPositions,r=t.tickPositioner,f=t.startOnTick,e=t.endOnTick;this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===t.minorTickInterval&&this.tickInterval?this.tickInterval/5:t.minorTickInterval,this.single=this.min===this.max&&i(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals),this.tickPositions=n=u&&u.slice(),!n&&(n=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),n.length>this.len&&(n=[n[0],n.pop()]),this.tickPositions=n,r&&(r=r.apply(this,[this.min,this.max])))&&(this.tickPositions=n=r),this.paddedTicks=n.slice(0),this.trimTicks(n,f,e),this.isLinked||(this.single&&2>n.length&&(this.min-=.5,this.max+=.5),u||r||this.adjustTickAmount())},trimTicks:function(n,t,r){var u=n[0],f=n[n.length-1],e=this.minPointOffset||0;if(!this.isLinked){if(t&&-Infinity!==u)this.min=u;else for(;this.min-e>n[0];)n.shift();if(r)this.max=f;else for(;this.max+e<n[n.length-1];)n.pop();0===n.length&&i(u)&&n.push((f+u)/2)}},alignToOthers:function(){var n={},t,i=this.options;return!1===this.chart.options.chart.alignTicks||!1===i.alignTicks||this.isLog||r(this.chart[this.coll],function(i){var r=i.options,r=[i.horiz?r.left:r.top,r.width,r.height,r.pane].join();i.series.length&&(n[r]?t=!0:n[r]=1)}),t},getTickAmount:function(){var t=this.options,n=t.tickAmount,r=t.tickPixelInterval;!i(t.tickInterval)&&this.len<r&&!this.isRadial&&!this.isLog&&t.startOnTick&&t.endOnTick&&(n=2),!n&&this.alignToOthers()&&(n=Math.ceil(this.len/r)+1),4>n&&(this.finalTickAmt=n,n=5),this.tickAmount=n},adjustTickAmount:function(){var t=this.tickInterval,n=this.tickPositions,r=this.tickAmount,u=this.finalTickAmt,e=n&&n.length;if(e<r){for(;n.length<r;)n.push(f(n[n.length-1]+t));this.transA*=(e-1)/(r-1),this.max=n[n.length-1]}else e>r&&(this.tickInterval*=2,this.setTickPositions());if(i(u)){for(t=r=n.length;t--;)(3===u&&1==t%2||2>=u&&0<t&&t<r-1)&&n.splice(t,1);this.finalTickAmt=void 0}},setScale:function(){var t,n;this.oldMin=this.min,this.oldMax=this.max,this.oldAxisLength=this.len,this.setAxisSize(),n=this.len!==this.oldAxisLength,r(this.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(t=!0)}),n||t||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=n||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(n,i,u,f,e){var o=this,s=o.chart;u=t(u,!0),r(o.series,function(n){delete n.kdTree}),e=b(e,{min:n,max:i}),w(o,"setExtremes",e,function(){o.userMin=n,o.userMax=i,o.eventArgs=e,u&&s.redraw(f)})},zoom:function(n,r){var e=this.dataMin,o=this.dataMax,u=this.options,f=Math.min(e,t(u.min,e)),u=Math.max(o,t(u.max,o));return(n!==this.min||r!==this.max)&&(this.allowZoomOutside||(i(e)&&(n<f&&(n=f),n>u&&(n=u)),i(o)&&(r<f&&(r=f),r>u&&(r=u))),this.displayBtn=void 0!==n||void 0!==r,this.setExtremes(n,r,!1,void 0,{trigger:"zoom"})),!0},setAxisSize:function(){var i=this.chart,r=this.options,u=r.offsets||[0,0,0,0],f=this.horiz,e=this.width=Math.round(n.relativeLength(t(r.width,i.plotWidth-u[3]+u[1]),i.plotWidth)),o=this.height=Math.round(n.relativeLength(t(r.height,i.plotHeight-u[0]+u[2]),i.plotHeight)),s=this.top=Math.round(n.relativeLength(t(r.top,i.plotTop+u[0]),i.plotHeight,i.plotTop)),r=this.left=Math.round(n.relativeLength(t(r.left,i.plotLeft+u[3]),i.plotWidth,i.plotLeft));this.bottom=i.chartHeight-o-s,this.right=i.chartWidth-e-r,this.len=Math.max(f?e:o,0),this.pos=f?r:s},getExtremes:function(){var n=this.isLog,t=this.lin2log;return{min:n?f(t(this.min)):this.min,max:n?f(t(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(n){var t=this.isLog,r=this.lin2log,i=t?r(this.min):this.min,t=t?r(this.max):this.max;return null===n?n=i:i>n?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},autoLabelAlign:function(n){return n=(t(n,0)-90*this.side+720)%360,15<n&&165>n?"right":195<n&&345>n?"left":"center"},tickSize:function(n){var r=this.options,i=r[n+"Length"],u=t(r[n+"Width"],"tick"===n&&this.isXAxis?1:0);if(u&&i)return"inside"===r[n+"Position"]&&(i=-i),[i,u]},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)},unsquish:function(){var n=this.options.labels,y=this.horiz,f=this.tickInterval,e=f,h=this.len/(((this.categories?1:0)+this.max-this.min)/f),c,u=n.rotation,l=this.labelMetrics(),o,a=Number.MAX_VALUE,s,v=function(n){return n/=h||1,n=1<n?Math.ceil(n):1,n*f};return y?(s=!n.staggerLines&&!n.step&&(i(u)?[u]:h<t(n.autoRotationLimit,80)&&n.autoRotation))&&r(s,function(n){var t;(n===u||n&&-90<=n&&90>=n)&&(o=v(Math.abs(l.h/Math.sin(nt*n))),t=o+Math.abs(n/360),t<a&&(a=t,c=n,e=o))}):n.step||(e=v(l.h)),this.autoRotation=s,this.labelRotation=t(c,u),e},getSlotWidth:function(){var n=this.chart,t=this.horiz,i=this.options.labels,u=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=n.margin[3];return t&&2>(i.step||0)&&!i.rotation&&(this.staggerLines||1)*this.len/u||!t&&(r&&r-n.spacing[3]||.33*n.chartWidth)},renderUnsquish:function(){var o=this.chart,w=o.renderer,e=this.tickPositions,s=this.ticks,t=this.options.labels,b=this.horiz,h=this.getSlotWidth(),n=Math.max(1,Math.round(h-2*(t.padding||5))),i={},l=this.labelMetrics(),p=t.style&&t.style.textOverflow,u,f=0,v,y;if(a(t.rotation)||(i.rotation=t.rotation||0),r(e,function(n){(n=s[n])&&n.labelLength>f&&(f=n.labelLength)}),this.maxLabelLength=f,this.autoRotation)f>n&&f>l.h?i.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(u={width:n+"px"},!p))for(u.textOverflow="clip",v=e.length;!b&&v--;)(y=e[v],n=s[y].label)&&(n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):s[y].labelLength>h&&n.css({width:h+"px"}),n.getBBox().height>this.len/e.length-(l.h-l.f)&&(n.specCss={textOverflow:"ellipsis"}));i.rotation&&(u={width:(f>.5*o.chartHeight?.33*o.chartHeight:o.chartHeight)+"px"},p||(u.textOverflow="ellipsis")),(this.labelAlign=t.align||this.autoLabelAlign(this.labelRotation))&&(i.align=this.labelAlign),r(e,function(n){var t=(n=s[n])&&n.label;t&&(t.attr(i),u&&t.css(c(u,t.specCss)),delete t.specCss,n.rotation=i.rotation)}),this.tickRotCorr=w.rotCorr(l.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||i(this.min)&&i(this.max)&&!!this.tickPositions},addTitle:function(n){var u=this.chart.renderer,f=this.horiz,r=this.opposite,t=this.options.title,i;this.axisTitle||((i=t.textAlign)||(i=(f?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[t.align]),this.axisTitle=u.text(t.text,0,0,t.useHTML).attr({zIndex:7,rotation:t.rotation||0,align:i}).addClass("highcharts-axis-title").css(t.style).add(this.axisGroup),this.axisTitle.isNew=!0),t.style.width||this.isRadial||this.axisTitle.css({width:this.len}),this.axisTitle[n?"show":"hide"](!0)},generateTick:function(n){var t=this.ticks;t[n]?t[n].addLabel():t[n]=new o(this,n)},getOffset:function(){var n=this,h=n.chart,a=h.renderer,f=n.options,o=n.tickPositions,nt=n.ticks,g=n.horiz,u=n.side,rt=h.inverted&&!n.isZAxis?[1,0,3,2][u]:u,p,k,it=0,tt,s=0,l=f.title,y=f.labels,c=0,b=h.axisOffset,h=h.clipOffset,v=[-1,1,1,-1][u],w=f.className,d=n.axisParent,ut=this.tickSize("tick");p=n.hasData(),n.showAxis=k=p||t(f.showEmpty,!0),n.staggerLines=n.horiz&&y.staggerLines,n.axisGroup||(n.gridGroup=a.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(w||"")).add(d),n.axisGroup=a.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(w||"")).add(d),n.labelGroup=a.g("axis-labels").attr({zIndex:y.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels "+(w||"")).add(d)),p||n.isLinked?(r(o,function(t,i){n.generateTick(t,i)}),n.renderUnsquish(),!1===y.reserveSpace||0!==u&&2!==u&&{1:"left",3:"right"}[u]!==n.labelAlign&&"center"!==n.labelAlign||r(o,function(n){c=Math.max(nt[n].getLabelSize(),c)}),n.staggerLines&&(c*=n.staggerLines,n.labelOffset=c*(n.opposite?-1:1))):e(nt,function(n,t){n.destroy(),delete nt[t]}),l&&l.text&&!1!==l.enabled&&(n.addTitle(k),k&&!1!==l.reserveSpace&&(n.titleOffset=it=n.axisTitle.getBBox()[g?"height":"width"],tt=l.offset,s=i(tt)?0:t(l.margin,g?5:10))),n.renderLine(),n.offset=v*t(f.offset,b[u]),n.tickRotCorr=n.tickRotCorr||{x:0,y:0},a=0===u?-n.labelMetrics().h:2===u?n.tickRotCorr.y:0,s=Math.abs(c)+s,c&&(s=s-a+v*(g?t(y.y,n.tickRotCorr.y+8*v):y.x)),n.axisTitleMargin=t(tt,s),b[u]=Math.max(b[u],n.axisTitleMargin+it+v*n.offset,s,p&&o.length&&ut?ut[0]+v*n.offset:0),o=2*Math.floor(n.axisLine.strokeWidth()/2),0<f.offset&&(o-=2*f.offset),h[rt]=Math.max(h[rt]||o,o)},getLinePath:function(n){var t=this.chart,u=this.opposite,i=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+i,i=t.chartHeight-this.bottom-(u?this.height:0)+i;return u&&(n*=-1),t.renderer.crispLine(["M",r?this.left:f,r?i:this.top,"L",r?t.chartWidth-this.right:f,r?i:t.chartHeight-this.bottom],n)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var n=this.horiz,u=this.left,o=this.top,t=this.len,i=this.options.title,f=n?u:o,e=this.opposite,s=this.offset,h=i.x||0,c=i.y||0,r=this.axisTitle,l=this.chart.renderer.fontMetrics(i.style&&i.style.fontSize,r),r=Math.max(r.getBBox(null,0).height-l.h-1,0),t={low:f+(n?0:t),middle:f+t/2,high:f+(n?t:0)}[i.align],u=(n?o+this.height:u)+(n?1:-1)*(e?-1:1)*this.axisTitleMargin+[-r,r,l.f,-r][this.side];return{x:n?t+h:u+(e?this.width:0)+s+h,y:n?u+c-(e?this.height:0)+s:t+c}},renderMinorTick:function(n){var i=this.chart.hasRendered&&u(this.oldMin),t=this.minorTicks;t[n]||(t[n]=new o(this,n,"minor")),i&&t[n].isNew&&t[n].render(null,!0),t[n].render(null,!1,1)},renderTick:function(n,t){var r=this.isLinked,i=this.ticks,f=this.chart.hasRendered&&u(this.oldMin);(!r||n>=this.min&&n<=this.max)&&(i[n]||(i[n]=new o(this,n)),f&&i[n].isNew&&i[n].render(t,!0,.1),i[n].render(t))},render:function(){var t=this,p=t.chart,f=t.options,d=t.isLog,w=t.lin2log,it=t.isLinked,a=t.tickPositions,c=t.axisTitle,l=t.ticks,nt=t.minorTicks,i=t.alternateBands,b=f.stackLabels,k=f.alternateGridColor,h=t.tickmarkOffset,s=t.axisLine,g=t.showAxis,tt=rt(p.renderer.globalAnimation),y,v;t.labelEdge.length=0,t.overlap=!1,r([l,nt,i],function(n){e(n,function(n){n.isActive=!1})}),(t.hasData()||it)&&(t.minorTickInterval&&!t.categories&&r(t.getMinorTickPositions(),function(n){t.renderMinorTick(n)}),a.length&&(r(a,function(n,i){t.renderTick(n,i)}),h&&(0===t.min||t.single)&&(l[-1]||(l[-1]=new o(t,-1,null,!0)),l[-1].render(-1))),k&&r(a,function(r,u){v=void 0!==a[u+1]?a[u+1]+h:t.max-h,0==u%2&&r<t.max&&v<=t.max+(p.polar?-h:h)&&(i[r]||(i[r]=new n.PlotLineOrBand(t)),y=r+h,i[r].options={from:d?w(y):y,to:d?w(v):v,color:k},i[r].render(),i[r].isActive=!0)}),t._addedPlotLB||(r((f.plotLines||[]).concat(f.plotBands||[]),function(n){t.addPlotBandOrLine(n)}),t._addedPlotLB=!0)),r([l,nt,i],function(n){var t,r=[],u=tt.duration;e(n,function(n,t){n.isActive||(n.render(t,!1,0),n.isActive=!1,r.push(t))}),ot(function(){for(t=r.length;t--;)n[r[t]]&&!n[r[t]].isActive&&(n[r[t]].destroy(),delete n[r[t]])},n!==i&&p.hasRendered&&u?u:0)}),s&&(s[s.isPlaced?"animate":"attr"]({d:this.getLinePath(s.strokeWidth())}),s.isPlaced=!0,s[g?"show":"hide"](!0)),c&&g&&(f=t.getTitlePosition(),u(f.y)?(c[c.isNew?"attr":"animate"](f),c.isNew=!1):(c.attr("y",-9999),c.isNew=!0)),b&&b.enabled&&t.renderStackTotals(),t.isDirty=!1},redraw:function(){this.visible&&(this.render(),r(this.plotLinesAndBands,function(n){n.render()})),r(this.series,function(n){n.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(n){var t=this,f=t.stacks,i=t.plotLinesAndBands,u;if(n||ft(t),e(f,function(n,t){y(n),f[t]=null}),r([t.ticks,t.minorTicks,t.alternateBands],function(n){y(n)}),i)for(n=i.length;n--;)i[n].destroy();r("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(n){t[n]&&(t[n]=t[n].destroy())});for(u in t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[u]=t.plotLinesAndBandsGroups[u].destroy();e(t,function(n,i){-1===l(i,t.keepProps)&&delete t[i]})},drawCrosshair:function(n,r){var o,u=this.crosshair,s=t(u.snap,!0),e,f=this.cross;n||(n=this.cross&&this.cross.e),this.crosshair&&!1!==(i(r)||!s)?(s?i(r)&&(e=this.isXAxis?r.plotX:this.len-r.plotY):e=n&&(this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos),i(e)&&(o=this.getPlotLinePath(r&&(this.isXAxis?r.x:t(r.stackY,r.y)),null,null,null,e)||null),i(o)?(r=this.categories&&!this.isRadial,f||(this.cross=f=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(r?"category ":"thin ")+u.className).attr({zIndex:t(u.zIndex,2)}).add(),f.attr({stroke:u.color||(r?tt("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":t(u.width,1)}),u.dashStyle&&f.attr({dashstyle:u.dashStyle})),f.show().attr({d:o}),r&&!u.width&&f.attr({"stroke-width":this.transA}),this.cross.e=n):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}}),n.Axis=v}(n);return function(n){var u=n.Axis,t=n.Date,f=n.dateFormat,e=n.defaultOptions,o=n.defined,s=n.each,h=n.extend,c=n.getMagnitude,r=n.getTZOffset,l=n.normalizeTickInterval,a=n.pick,i=n.timeUnits;u.prototype.getTimeTicks=function(n,u,c,l){var k=[],it={},b=e.global.useUTC,w,v=new t(u-Math.max(r(u),r(c))),d=t.hcMakeTime,y=n.unitRange,p=n.count,g,nt,tt,rt;if(o(u)){for(v[t.hcSetMilliseconds](y>=i.second?0:p*Math.floor(v.getMilliseconds()/p)),y>=i.second&&v[t.hcSetSeconds](y>=i.minute?0:p*Math.floor(v.getSeconds()/p)),y>=i.minute&&v[t.hcSetMinutes](y>=i.hour?0:p*Math.floor(v[t.hcGetMinutes]()/p)),y>=i.hour&&v[t.hcSetHours](y>=i.day?0:p*Math.floor(v[t.hcGetHours]()/p)),y>=i.day&&v[t.hcSetDate](y>=i.month?1:p*Math.floor(v[t.hcGetDate]()/p)),y>=i.month&&(v[t.hcSetMonth](y>=i.year?0:p*Math.floor(v[t.hcGetMonth]()/p)),w=v[t.hcGetFullYear]()),y>=i.year&&v[t.hcSetFullYear](w-w%p),y===i.week&&v[t.hcSetDate](v[t.hcGetDate]()-v[t.hcGetDay]()+a(l,1)),w=v[t.hcGetFullYear](),l=v[t.hcGetMonth](),tt=v[t.hcGetDate](),rt=v[t.hcGetHours](),(t.hcTimezoneOffset||t.hcGetTimezoneOffset)&&(nt=(!b||!!t.hcGetTimezoneOffset)&&(c-u>4*i.month||r(u)!==r(c)),v=v.getTime(),g=r(v),v=new t(v+g)),b=v.getTime(),u=1;b<c;)k.push(b),b=y===i.year?d(w+u*p,0):y===i.month?d(w,l+u*p):!nt||y!==i.day&&y!==i.week?nt&&y===i.hour?d(w,l,tt,rt+u*p,0,0,g)-g:b+y*p:d(w,l,tt+u*p*(y===i.day?1:7)),u++;k.push(b),y<=i.hour&&1e4>k.length&&s(k,function(n){0==n%18e5&&"000000000"===f("%H%M%S%L",n)&&(it[n]="day")})}return k.info=h(n,{higherRanks:it,totalRange:y*p}),k},u.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,f,e;for(t=u[u.length-1],r=i[t[0]],f=t[1],e=0;e<u.length&&!(t=u[e],r=i[t[0]],f=t[1],u[e+1]&&n<=(r*f[f.length-1]+i[u[e+1][0]])/2);e++);return r===i.year&&n<5*r&&(f=[1,2,5]),n=l(n/r,f,"year"===t[0]?Math.max(c(n/r),1):1),{unitRange:r,count:n,unitName:t[0]}}}(n),function(n){var t=n.Axis,i=n.getMagnitude,r=n.map,u=n.normalizeTickInterval,f=n.pick;t.prototype.getLogTickPositions=function(n,t,e,o){var h=this.options,s=this.len,v=this.lin2log,w=this.log2lin,l=[],a,b,y,c,p;if(o||(this._minorAutoInterval=null),.5<=n)n=Math.round(n),l=this.getLinearTickPositions(n,t,e);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<e+1&&!p;s++)for(b=h.length,a=0;a<b&&!p;a++)y=w(v(s)*h[a]),y>t&&(!o||c<=e)&&void 0!==c&&l.push(c),c>e&&(p=!0),c=y;else t=v(t),e=v(e),n=h[o?"minorTickInterval":"tickInterval"],n=f("auto"===n?null:n,this._minorAutoInterval,h.tickPixelInterval/(o?5:1)*(e-t)/((o?s/this.tickPositions.length:s)||1)),n=u(n,null,i(n)),l=r(this.getLinearTickPositions(n,t,e),w),o||(this._minorAutoInterval=n/5);return o||(this.tickInterval=n),l},t.prototype.log2lin=function(n){return Math.log(n)/Math.LN10},t.prototype.lin2log=function(n){return Math.pow(10,n)}}(n),function(n,t){var r=n.arrayMax,u=n.arrayMin,i=n.defined,e=n.destroyObjectProperties,o=n.each,f=n.erase,s=n.merge,h=n.pick;n.PlotLineOrBand=function(n,t){this.axis=n,t&&(this.options=t,this.id=t.id)},n.PlotLineOrBand.prototype={render:function(){var o=this,f=o.axis,l=f.horiz,r=o.options,a=r.label,v=o.label,y=r.to,p=r.from,w=r.value,u=i(p)&&i(y),rt=i(w),e=o.svgElem,nt=!e,t=[],c=r.color,g=h(r.zIndex,0),k=r.events,t={"class":"highcharts-plot-"+(u?"band ":"line ")+(r.className||"")},tt={},it=f.chart.renderer,b=u?"bands":"lines",d=f.log2lin;if(f.isLog&&(p=d(p),y=d(y),w=d(w)),rt?(t={stroke:c,"stroke-width":r.width},r.dashStyle&&(t.dashstyle=r.dashStyle)):u&&(c&&(t.fill=c),r.borderWidth&&(t.stroke=r.borderColor,t["stroke-width"]=r.borderWidth)),tt.zIndex=g,b+="-"+g,(c=f.plotLinesAndBandsGroups[b])||(f.plotLinesAndBandsGroups[b]=c=it.g("plot-"+b).attr(tt).add()),nt&&(o.svgElem=e=it.path().attr(t).add(c)),rt)t=f.getPlotLinePath(w,e.strokeWidth());else if(u)t=f.getPlotBandPath(p,y,r);else return;return nt&&t&&t.length?(e.attr({d:t}),k&&n.objectEach(k,function(n,t){e.on(t,function(n){k[t].apply(o,[n])})})):e&&(t?(e.show(),e.animate({d:t})):(e.hide(),v&&(o.label=v=v.destroy()))),a&&i(a.text)&&t&&t.length&&0<f.width&&0<f.height&&!t.flat?(a=s({align:l&&u&&"center",x:l?!u&&4:10,verticalAlign:!l&&u&&"middle",y:l?u?16:10:u?6:-4,rotation:l&&!u&&90},a),this.renderLabel(a,t,u,g)):v&&v.hide(),o},renderLabel:function(n,t,i,f){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=f,this.label=e=o.text(n.text,0,0,n.useHTML).attr(e).add(),e.css(n.style)),f=[t[1],t[4],i?t[6]:t[1]],t=[t[2],t[5],i?t[7]:t[2]],i=u(f),o=u(t),e.align(n,!1,{x:i,y:o,width:r(f)-i,height:r(t)-o}),e.show()},destroy:function(){f(this.axis.plotLinesAndBands,this),delete this.axis,e(this)}},n.extend(t.prototype,{getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t,null,null,!0),r=this.getPlotLinePath(n,null,null,!0),f=this.horiz,u=1;return n=n<this.min&&t<this.min||n>this.max&&t>this.max,r&&i?(n&&(r.flat=r.toString()===i.toString(),u=0),r.push(f&&i[4]===r[4]?i[4]+u:i[4],f||i[5]!==r[5]?i[5]:i[5]+u,f&&i[1]===r[1]?i[1]+u:i[1],f||i[2]!==r[2]?i[2]:i[2]+u)):r=null,r},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(t,i){var r=new n.PlotLineOrBand(this,t).render(),u=this.userOptions;return r&&(i&&(u[i]=u[i]||[],u[i].push(t)),this.plotLinesAndBands.push(r)),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();o([r.plotLines||[],u.plotLines||[],r.plotBands||[],u.plotBands||[]],function(i){for(t=i.length;t--;)i[t].id===n&&f(i,i[t])})},removePlotBand:function(n){this.removePlotBandOrLine(n)},removePlotLine:function(n){this.removePlotBandOrLine(n)}})}(n,t),function(n){var f=n.dateFormat,i=n.each,s=n.extend,h=n.format,c=n.isNumber,e=n.map,o=n.merge,t=n.pick,r=n.splat,l=n.syncTimeout,u=n.timeUnits;n.Tooltip=function(){this.init.apply(this,arguments)},n.Tooltip.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,this.shared=t.shared||this.split},cleanSplit:function(n){i(this.chart.series,function(t){var i=t&&t.tt;i&&(!i.isActive||n?t.tt=i.destroy():i.isActive=!1)})},getLabel:function(){var t=this.chart.renderer,n=this.options;return this.label||(this.split?this.label=t.g("tooltip"):(this.label=t.label("",0,0,n.shape||"callout",null,null,n.useHTML,null,"tooltip").attr({padding:n.padding,r:n.borderRadius}),this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth}).css(n.style).shadow(n.shadow)),this.label.attr({zIndex:8}).add()),this.label},update:function(n){this.destroy(),o(!0,this.chart.options.tooltip.userOptions,n),this.init(this.chart,o(!0,this.options,n))},destroy:function(){this.label&&(this.label=this.label.destroy()),this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy()),clearTimeout(this.hideTimer),clearTimeout(this.tooltipTimeout)},move:function(n,t,i,r){var u=this,f=u.now,e=!1!==u.options.animation&&!u.isHidden&&(1<Math.abs(n-f.x)||1<Math.abs(t-f.y)),o=u.followPointer||1<u.len;s(f,{x:e?(2*f.x+n)/3:n,y:e?(f.y+t)/2:t,anchorX:o?void 0:e?(2*f.anchorX+i)/3:i,anchorY:o?void 0:e?(f.anchorY+r)/2:r}),u.getLabel().attr(f),e&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){u&&u.move(n,t,i,r)},32))},hide:function(n){var i=this;clearTimeout(this.hideTimer),n=t(n,this.options.hideDelay,500),this.isHidden||(this.hideTimer=l(function(){i.getLabel()[n?"fadeOut":"hide"](),i.isHidden=!0},n))},getAnchor:function(n,t){var f,u=this.chart,o=u.inverted,c=u.plotTop,v=u.plotLeft,s=0,h=0,l,a;return n=r(n),f=n[0].tooltipPos,this.followPointer&&t&&(void 0===t.chartX&&(t=u.pointer.normalize(t)),f=[t.chartX-u.plotLeft,t.chartY-c]),f||(i(n,function(n){l=n.series.yAxis,a=n.series.xAxis,s+=n.plotX+(!o&&a?a.left-v:0),h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,f=[o?u.plotWidth-h:s,this.shared&&!o&&1<n.length&&t?t.chartY-c:o?u.plotHeight-s:h]),e(f,Math.round)},getPosition:function(n,i,r){var u=this.chart,e=this.distance,f={},o=r.h||0,s,h=["y",u.chartHeight,i,r.plotY+u.plotTop,u.plotTop,u.plotTop+u.plotHeight],c=["x",u.chartWidth,n,r.plotX+u.plotLeft,u.plotLeft,u.plotLeft+u.plotWidth],v=!this.followPointer&&t(r.ttBelow,!u.inverted==!!r.negative),y=function(n,t,i,r,u,s){var c=i<r-e,l=r+e+i<t,h=r-e-i;if(r+=e,v&&l)f[n]=r;else if(!v&&c)f[n]=h;else if(c)f[n]=Math.min(s-i,0>h-o?h:h-o);else if(l)f[n]=Math.max(u,r+o+i>t?r:r+o);else return!1},p=function(n,t,i,r){var u;return r<e||r>t-e?u=!1:f[n]=r<i/2?1:r>t-i/2?t-i-2:r-i/2,u},l=function(n){var t=h;h=c,c=t,s=n},a=function(){!1!==y.apply(0,h)?!1!==p.apply(0,c)||s||(l(!0),a()):s?f.x=f.y=0:(l(!0),a())};return(u.inverted||1<this.len)&&l(),a(),f},defaultFormatter:function(n){var i=this.points||r(this),t;return t=[n.tooltipFooterHeaderFormatter(i[0])],t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t},refresh:function(n,u){var o,s=this.options,a,f=n,h,e={},l=[],c;o=s.formatter||this.defaultFormatter,e=this.shared,s.enabled&&(clearTimeout(this.hideTimer),this.followPointer=r(f)[0].series.tooltipOptions.followPointer,h=this.getAnchor(f,u),u=h[0],a=h[1],!e||f.series&&f.series.noSharedTooltip?e=f.getLabelConfig():(i(f,function(n){n.setState("hover"),l.push(n.getLabelConfig())}),e={x:f[0].category,y:f[0].y},e.points=l,f=f[0]),this.len=l.length,e=o.call(e,this),c=f.series,this.distance=t(c.tooltipOptions.distance,16),!1===e?this.hide():(o=this.getLabel(),this.isHidden&&o.attr({opacity:1}).show(),this.split?this.renderSplit(e,n):(s.style.width||o.css({width:this.chart.spacingBox.width}),o.attr({text:e&&e.join?e.join(""):e}),o.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(f.colorIndex,c.colorIndex)),o.attr({stroke:s.borderColor||f.color||c.color||"#666666"}),this.updatePosition({plotX:u,plotY:a,negative:f.negative,ttBelow:f.ttBelow,h:h[2]||0})),this.isHidden=!1))},renderSplit:function(r,u){var c=this,o=[],f=this.chart,l=f.renderer,h=!0,e=this.options,s=0,a=this.getLabel();i(r.slice(0,u.length+1),function(n,i){if(!1!==n){i=u[i-1]||{isHeader:!0,plotX:u[0].plotX};var y=i.series||c,v=y.tt,r=i.series||{},p="highcharts-color-"+t(i.colorIndex,r.colorIndex,"none");v||(y.tt=v=l.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+p).attr({padding:e.padding,r:e.borderRadius,fill:e.backgroundColor,stroke:e.borderColor||i.color||r.color||"#333333","stroke-width":e.borderWidth}).add(a)),v.isActive=!0,v.attr({text:n}),v.css(e.style).shadow(e.shadow),n=v.getBBox(),r=n.width+v.strokeWidth(),i.isHeader?(s=n.height,r=Math.max(0,Math.min(i.plotX+f.plotLeft-r/2,f.chartWidth-r))):r=i.plotX+f.plotLeft-t(e.distance,16)-r,0>r&&(h=!1),n=(i.series&&i.series.yAxis&&i.series.yAxis.pos)+(i.plotY||0),n-=f.plotTop,o.push({target:i.isHeader?f.plotHeight+s:n,rank:i.isHeader?1:0,size:y.tt.getBBox().height+1,point:i,x:r,tt:v})}}),this.cleanSplit(),n.distribute(o,f.plotHeight+s),i(o,function(n){var i=n.point,r=i.series;n.tt.attr({visibility:void 0===n.pos?"hidden":"inherit",x:h||i.isHeader?n.x:i.plotX+f.plotLeft+t(e.distance,16),y:n.pos+f.plotTop,anchorX:i.isHeader?i.plotX+f.plotLeft:i.plotX+r.xAxis.pos,anchorY:i.isHeader?n.pos+f.plotTop-15:i.plotY+r.yAxis.pos})})},updatePosition:function(n){var i=this.chart,t=this.getLabel(),t=(this.options.positioner||this.getPosition).call(this,t.width,t.height,n);this.move(Math.round(t.x),Math.round(t.y||0),n.plotX+i.plotLeft,n.plotY+i.plotTop)},getDateFormat:function(n,t,i,r){var s=f("%m-%d %H:%M:%S.%L",t),h,e,o={millisecond:15,second:12,minute:9,hour:6,day:3},c="millisecond";for(e in u){if(n===u.week&&+f("%w",t)===i&&"00:00:00.000"===s.substr(6)){e="week";break}if(u[e]>n){e=c;break}if(o[e]&&s.substr(o[e])!=="01-01 00:00:00.000".substr(o[e]))break;"week"!==e&&(c=e)}return e&&(h=r[e]),h},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},tooltipFooterHeaderFormatter:function(n,t){var i=t?"footer":"header";t=n.series;var u=t.tooltipOptions,r=u.xDateFormat,f=t.xAxis,e=f&&"datetime"===f.options.type&&c(n.key),i=u[i+"Format"];return e&&!r&&(r=this.getXDateFormat(n,u,f)),e&&r&&(i=i.replace("{point.key}","{point.key:"+r+"}")),h(i,{point:n,series:t})},bodyFormatter:function(n){return e(n,function(n){var t=n.series.tooltipOptions;return(t.pointFormatter||n.point.tooltipFormatter).call(n.point,t.pointFormat)})}}}(n),function(n){var f=n.addEvent,a=n.attr,i=n.charts,w=n.color,l=n.css,h=n.defined,t=n.each,u=n.extend,v=n.find,e=n.fireEvent,o=n.isObject,y=n.offset,r=n.pick,s=n.removeEvent,p=n.splat,c=n.Tooltip,b=n.win;n.Pointer=function(n,t){this.init(n,t)},n.Pointer.prototype={init:function(n,t){this.options=t,this.chart=n,this.runChartClick=t.chart.events&&!!t.chart.events.click,this.pinchDown=[],this.lastValidTouch={},c&&(n.tooltip=new c(n,t.tooltip),this.followTouchMove=r(t.tooltip.followTouchMove,!0)),this.setDOMEvents()},zoomOption:function(n){var i=this.chart,u=i.options.chart,t=u.zoomType||"",i=i.inverted;/touch/.test(n.type)&&(t=r(u.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},normalize:function(n,t){var r,i;return n=n||b.event,n.target||(n.target=n.srcElement),i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=y(this.chart.container)),void 0===i.pageX?(r=Math.max(n.x,n.clientX-t.left),t=n.y):(r=i.pageX-t.left,t=i.pageY-t.top),u(n,{chartX:Math.round(r),chartY:Math.round(t)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},findNearestKDPoint:function(n,i,r){var u;return t(n,function(n){var t=!(n.noSharedTooltip&&i)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(r,t),(t=o(n,!0))&&!(t=!o(u,!0)))var t=u.distX-n.distX,f=u.dist-n.dist,e=(n.series.group&&n.series.group.zIndex)-(u.series.group&&u.series.group.zIndex),t=0<(0!==t&&i?t:0!==f?f:0!==e?e:u.series.index>n.series.index?-1:1);t&&(u=n)}),u},getPointFromEvent:function(n){n=n.target;for(var t;n&&!t;)t=n.point,n=n.parentNode;return t},getChartCoordinatesFromPoint:function(n,t){var i=n.series,r=i.xAxis,i=i.yAxis;if(r&&i)return t?{chartX:r.len+r.pos-n.clientX,chartY:i.len+i.pos-n.plotY}:{chartX:n.clientX+r.pos,chartY:n.plotY+i.pos}},getHoverData:function(i,u,f,e,s,h){var c,a=[],l;return e=!(!e||!i),l=u&&!u.stickyTracking?[u]:n.grep(f,function(n){return n.visible&&!(!s&&n.directTouch)&&r(n.options.enableMouseTracking,!0)&&n.stickyTracking}),u=(c=e?i:this.findNearestKDPoint(l,s,h))&&c.series,c&&(s&&!u.noSharedTooltip?(l=n.grep(f,function(n){return n.visible&&!(!s&&n.directTouch)&&r(n.options.enableMouseTracking,!0)&&!n.noSharedTooltip}),t(l,function(n){n=v(n.points,function(n){return n.x===c.x}),o(n)&&!n.isNull&&a.push(n)})):a.push(c)),{hoverPoint:c,hoverSeries:u,hoverPoints:a}},runPointActions:function(u,e){var o=this.chart,c=o.tooltip,a=c?c.shared:!1,h=e||o.hoverPoint,s=h&&h.series||o.hoverSeries,s=this.getHoverData(h,s,o.series,!!e||s&&s.directTouch&&this.isDirectTouch,a,u),l,h=s.hoverPoint;l=s.hoverPoints,e=(s=s.hoverSeries)&&s.tooltipOptions.followPointer,a=a&&s&&!s.noSharedTooltip,h&&(h!==o.hoverPoint||c&&c.isHidden)?(t(o.hoverPoints||[],function(t){-1===n.inArray(t,l)&&t.setState()}),t(l||[],function(n){n.setState("hover")}),o.hoverSeries!==s&&s.onMouseOver(),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),h.firePointEvent("mouseOver"),o.hoverPoints=l,o.hoverPoint=h,c&&c.refresh(a?l:h,u)):e&&c&&!c.isHidden&&(h=c.getAnchor([{}],u),c.updatePosition({plotX:h[0],plotY:h[1]})),this.unDocMouseMove||(this.unDocMouseMove=f(o.container.ownerDocument,"mousemove",function(t){var r=i[n.hoverChartIndex];if(r)r.pointer.onDocumentMouseMove(t)})),t(o.axes,function(t){var i=r(t.crosshair.snap,!0),f=i?n.find(l,function(n){return n.series[t.coll]===t}):void 0;f||!i?t.drawCrosshair(u,f):t.hideCrosshair()})},reset:function(n,i){var r=this.chart,s=r.hoverSeries,u=r.hoverPoint,o=r.hoverPoints,f=r.tooltip,e=f&&f.shared?o:u;n&&e&&t(p(e),function(t){t.series.isCartesian&&void 0===t.plotX&&(n=!1)}),n?f&&e&&(f.refresh(e),u&&(u.setState(u.state,!0),t(r.axes,function(n){n.crosshair&&n.drawCrosshair(null,u)}))):(u&&u.onMouseOut(),o&&t(o,function(n){n.setState()}),s&&s.onMouseOut(),f&&f.hide(i),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),t(r.axes,function(n){n.hideCrosshair()}),this.hoverX=r.hoverPoints=r.hoverPoint=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox(),t.xAxis&&t.xAxis.zoomEnabled&&t.group&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))}),r.clipRect.attr(i||r.clipBox)},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},drag:function(n){var i=this.chart,o=i.options.chart,t=n.chartX,u=n.chartY,v=this.zoomHor,y=this.zoomVert,f=i.plotLeft,e=i.plotTop,c=i.plotWidth,l=i.plotHeight,a,r=this.selectionMarker,s=this.mouseDownX,h=this.mouseDownY,p=o.panKey&&n[o.panKey+"Key"];r&&r.touch||(t<f?t=f:t>f+c&&(t=f+c),u<e?u=e:u>e+l&&(u=e+l),this.hasDragged=Math.sqrt(Math.pow(s-t,2)+Math.pow(h-u,2)),10<this.hasDragged&&(a=i.isInsidePlot(s-f,h-e),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&a&&!p&&!r&&(this.selectionMarker=r=i.renderer.rect(f,e,v?1:c,y?1:l,0).attr({fill:o.selectionMarkerFill||w("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),r&&v&&(t-=s,r.attr({width:Math.abs(t),x:(0<t?0:t)+s})),r&&y&&(t=u-h,r.attr({height:Math.abs(t),y:(0<t?0:t)+h})),a&&!r&&o.panning&&i.pan(n,o.panning)))},drop:function(n){var v=this,r=this.chart,f=this.hasPinched;if(this.selectionMarker){var o={originalEvent:n,xAxis:[],yAxis:[]},i=this.selectionMarker,s=i.attr?i.attr("x"):i.x,c=i.attr?i.attr("y"):i.y,y=i.attr?i.attr("width"):i.width,p=i.attr?i.attr("height"):i.height,a;(this.hasDragged||f)&&(t(r.axes,function(t){if(t.zoomEnabled&&h(t.min)&&(f||v[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])){var i=t.horiz,r="touchend"===n.type?t.minPixelPadding:0,u=t.toValue((i?s:c)+r),i=t.toValue((i?s+y:c+p)-r);o[t.coll].push({axis:t,min:Math.min(u,i),max:Math.max(u,i)}),a=!0}}),a&&e(r,"selection",o,function(n){r.zoom(u(n,f?{animation:!1}:null))})),this.selectionMarker=this.selectionMarker.destroy(),f&&this.scaleGroups()}r&&(l(r.container,{cursor:r._cursor}),r.cancelClick=10<this.hasDragged,r.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n),this.zoomOption(n),n.preventDefault&&n.preventDefault(),this.dragStart(n)},onDocumentMouseUp:function(t){i[n.hoverChartIndex]&&i[n.hoverChartIndex].pointer.drop(t)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition;n=this.normalize(n,i),!i||this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.reset()},onContainerMouseLeave:function(t){var r=i[n.hoverChartIndex];r&&(t.relatedTarget||t.toElement)&&(r.pointer.reset(),r.pointer.chartPosition=null)},onContainerMouseMove:function(t){var r=this.chart;h(n.hoverChartIndex)&&i[n.hoverChartIndex]&&i[n.hoverChartIndex].mouseIsDown||(n.hoverChartIndex=r.index),t=this.normalize(t),t.returnValue=!1,"mousedown"===r.mouseIsDown&&this.drag(t),!this.inClass(t.target,"highcharts-tracker")&&!r.isInsidePlot(t.chartX-r.plotLeft,t.chartY-r.plotTop)||r.openMenu||this.runPointActions(t)},inClass:function(n,t){for(var i;n;){if(i=a(n,"class")){if(-1!==i.indexOf(t))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries;n=n.relatedTarget||n.toElement,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()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,r=t.plotLeft,f=t.plotTop;n=this.normalize(n),t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(e(i.series,"click",u(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(u(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-f)&&e(t,"click",n)))},setDOMEvents:function(){var t=this,i=t.chart.container,r=i.ownerDocument;i.onmousedown=function(n){t.onContainerMouseDown(n)},i.onmousemove=function(n){t.onContainerMouseMove(n)},i.onclick=function(n){t.onContainerClick(n)},f(i,"mouseleave",t.onContainerMouseLeave),1===n.chartCount&&f(r,"mouseup",t.onDocumentMouseUp),n.hasTouch&&(i.ontouchstart=function(n){t.onContainerTouchStart(n)},i.ontouchmove=function(n){t.onContainerTouchMove(n)},1===n.chartCount&&f(r,"touchend",t.onDocumentTouchEnd))},destroy:function(){var t=this,i=this.chart.container.ownerDocument;t.unDocMouseMove&&t.unDocMouseMove(),s(t.chart.container,"mouseleave",t.onContainerMouseLeave),n.chartCount||(s(i,"mouseup",t.onDocumentMouseUp),n.hasTouch&&s(i,"touchend",t.onDocumentTouchEnd)),clearInterval(t.tooltipTimeout),n.objectEach(t,function(n,i){t[i]=null})}}}(n),function(n){var i=n.charts,r=n.each,u=n.extend,f=n.map,e=n.noop,t=n.pick;u(n.Pointer.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)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var v=this.chart,c=n?"x":"y",nt=n?"X":"Y",p="chart"+nt,rt=n?"width":"height",g=v["plot"+(n?"Left":"Top")],l,d,s=o||1,tt=v.inverted,b=v.bounds[n?"h":"v"],a=1===t.length,w=t[0][p],h=i[0][p],it=!a&&t[1][p],y=!a&&i[1][p],k;i=function(){!a&&20<Math.abs(w-it)&&(s=o||Math.abs(h-y)/Math.abs(w-it)),d=(g-h)/s+w,l=v["plot"+(n?"Width":"Height")]/s},i(),t=d,t<b.min?(t=b.min,k=!0):t+l>b.max&&(t=b.max-l,k=!0),k?(h-=.8*(h-e[c][0]),a||(y-=.8*(y-e[c][1])),i()):e[c]=[h,y],tt||(f[c]=d-g,f[rt]=l),f=tt?1/s:s,u[rt]=l,u[c]=t,r[tt?n?"scaleY":"scaleX":"scale"+nt]=s,r["translate"+nt]=f*g+(h-f*w)},pinch:function(n){var i=this,s=i.chart,o=i.pinchDown,h=n.touches,c=h.length,l=i.lastValidTouch,v=i.hasZoom,a=i.selectionMarker,y={},w=1===c&&(i.inClass(n.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),p={};1<c&&(i.initiated=!0),v&&i.initiated&&!w&&n.preventDefault(),f(h,function(n){return i.normalize(n)}),"touchstart"===n.type?(r(h,function(n,t){o[t]={chartX:n.chartX,chartY:n.chartY}}),l.x=[o[0].chartX,o[1]&&o[1].chartX],l.y=[o[0].chartY,o[1]&&o[1].chartY],r(s.axes,function(n){if(n.zoomEnabled){var i=s.bounds[n.horiz?"h":"v"],r=n.minPixelPadding,u=n.toPixels(t(n.options.min,n.dataMin)),f=n.toPixels(t(n.options.max,n.dataMax)),e=Math.max(u,f);i.min=Math.min(n.pos,Math.min(u,f)-r),i.max=Math.max(n.pos+n.len,e+r)}}),i.res=!0):i.followTouchMove&&1===c?this.runPointActions(i.normalize(n)):o.length&&(a||(i.selectionMarker=a=u({destroy:e,touch:!0},s.plotBox)),i.pinchTranslate(o,h,y,a,p,l),i.hasPinched=v,i.scaleGroups(y,p),i.res&&(i.res=!1,this.reset(!1,0)))},touch:function(i,r){var u=this.chart,f,e;if(u.index!==n.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});n.hoverChartIndex=u.index,1===i.touches.length?(i=this.normalize(i),(e=u.isInsidePlot(i.chartX-u.plotLeft,i.chartY-u.plotTop))&&!u.openMenu?(r&&this.runPointActions(i),"touchmove"===i.type&&(r=this.pinchDown,f=r[0]?4<=Math.sqrt(Math.pow(r[0].chartX-i.chartX,2)+Math.pow(r[0].chartY-i.chartY,2)):!1),t(f,!0)&&this.pinch(i)):r&&this.reset()):2===i.touches.length&&this.pinch(i)},onContainerTouchStart:function(n){this.zoomOption(n),this.touch(n,!0)},onContainerTouchMove:function(n){this.touch(n)},onDocumentTouchEnd:function(t){i[n.hoverChartIndex]&&i[n.hoverChartIndex].pointer.drop(t)}})}(n),function(n){var s=n.addEvent,o=n.charts,h=n.css,c=n.doc,l=n.extend,a=n.noop,i=n.Pointer,v=n.removeEvent,r=n.win,u=n.wrap;if(!n.hasTouch&&(r.PointerEvent||r.MSPointerEvent)){var t={},f=!!r.PointerEvent,y=function(){var i=[];return i.item=function(n){return this[n]},n.objectEach(t,function(n){i.push({pageX:n.pageX,pageY:n.pageY,target:n.target})}),i},e=function(t,i,r,u){"touch"!==t.pointerType&&t.pointerType!==t.MSPOINTER_TYPE_TOUCH||!o[n.hoverChartIndex]||(u(t),u=o[n.hoverChartIndex].pointer,u[i]({type:r,target:t.currentTarget,preventDefault:a,touches:y()}))};l(i.prototype,{onContainerPointerDown:function(n){e(n,"onContainerTouchStart","touchstart",function(n){t[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){e(n,"onContainerTouchMove","touchmove",function(n){t[n.pointerId]={pageX:n.pageX,pageY:n.pageY},t[n.pointerId].target||(t[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){e(n,"onDocumentTouchEnd","touchend",function(n){delete t[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown),n(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove),n(c,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}}),u(i.prototype,"init",function(n,t,i){n.call(this,t,i),this.hasZoom&&h(t.container,{"-ms-touch-action":"none","touch-action":"none"})}),u(i.prototype,"setDOMEvents",function(n){n.apply(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(s)}),u(i.prototype,"destroy",function(n){this.batchMSEvents(v),n.call(this)})}}(n),function(n){var e=n.addEvent,o=n.css,s=n.discardElement,u=n.defined,t=n.each,h=n.isFirefox,f=n.marginNames,r=n.merge,i=n.pick,c=n.setAnimation,l=n.stableSort,a=n.win,v=n.wrap;n.Legend=function(n,t){this.init(n,t)},n.Legend.prototype={init:function(n,t){this.chart=n,this.setOptions(t),t.enabled&&(this.render(),e(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(n){var t=i(n.padding,8);this.options=n,this.itemStyle=n.itemStyle,this.itemHiddenStyle=r(this.itemStyle,n.itemHiddenStyle),this.itemMarginTop=n.itemMarginTop||0,this.padding=t,this.initialItemY=t-5,this.itemHeight=this.maxItemWidth=0,this.symbolWidth=i(n.symbolWidth,16),this.pages=[]},update:function(n,t){var u=this.chart;this.setOptions(r(!0,this.options,n)),this.destroy(),u.isDirtyLegend=u.isDirtyBox=!0,i(t,!0)&&u.redraw()},colorizeItem:function(n,t){n.legendGroup[t?"removeClass":"addClass"]("highcharts-legend-item-hidden");var u=this.options,e=n.legendItem,o=n.legendLine,f=n.legendSymbol,i=this.itemHiddenStyle.color,u=t?u.itemStyle.color:i,s=t?n.color||i:i,h=n.options&&n.options.marker,r={fill:s};e&&e.css({fill:u,color:u}),o&&o.attr({stroke:s}),f&&(h&&f.isMarker&&(r=n.pointAttribs(),t||(r.stroke=r.fill=i)),f.attr(r))},positionItem:function(n){var i=this.options,f=i.symbolPadding,i=!i.rtl,t=n._legendItemPos,r=t[0],t=t[1],u=n.checkbox;(n=n.legendGroup)&&n.element&&n.translate(i?r:this.legendWidth-r-2*f-4,t),u&&(u.x=r,u.y=t)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())}),i&&s(n.checkbox)},destroy:function(){function n(n){this[n]&&(this[n]=this[n].destroy())}t(this.getAllItems(),function(i){t(["legendItem","legendGroup"],n,i)}),t("clipRect up down pager nav box title group".split(" "),n,this),this.display=null},positionCheckboxes:function(n){var r=this.group&&this.group.alignAttr,i,u=this.clipHeight||this.legendHeight,f=this.titleHeight;r&&(i=r.translateY,t(this.allItems,function(t){var e=t.checkbox,s;e&&(s=i+f+e.y+(n||0)+3,o(e,{left:r.translateX+t.checkboxOffset+e.x-20+"px",top:s+"px",display:s>i-6&&s<i+u-6?"":"none"}))}))},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}).css(t.style).add(this.group)),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i},setText:function(t){var i=this.options;t.legendItem.attr({text:i.labelFormat?n.format(i.labelFormat,t):i.labelFormatter.call(t)})},renderItem:function(n){var a=this.chart,u=a.renderer,t=this.options,s="horizontal"===t.layout,h=this.symbolWidth,v=t.symbolPadding,f=this.itemStyle,it=this.itemHiddenStyle,o=this.padding,k=s?i(t.itemDistance,20):0,d=!t.rtl,nt=t.width,p=t.itemMarginBottom||0,l=this.itemMarginTop,e=n.legendItem,b=!n.series,y=!b&&n.series.drawLegendSymbol?n.series:n,c=y.options,w=this.createCheckboxForItem&&c&&c.showCheckbox,c=h+v+k+(w?20:0),g=t.useHTML,tt=n.options.className;e||(n.legendGroup=u.g("legend-item").addClass("highcharts-"+y.type+"-series highcharts-color-"+n.colorIndex+(tt?" "+tt:"")+(b?" highcharts-series-"+n.index:"")).attr({zIndex:1}).add(this.scrollGroup),n.legendItem=e=u.text("",d?h+v:-v,this.baseline||0,g).css(r(n.visible?f:it)).attr({align:d?"left":"right",zIndex:2}).add(n.legendGroup),this.baseline||(h=f.fontSize,this.fontMetrics=u.fontMetrics(h,e),this.baseline=this.fontMetrics.f+3+l,e.attr("y",this.baseline)),this.symbolHeight=t.symbolHeight||this.fontMetrics.f,y.drawLegendSymbol(this,n),this.setItemEvents&&this.setItemEvents(n,e,g),w&&this.createCheckboxForItem(n)),this.colorizeItem(n,n.visible),f.width||e.css({width:(t.itemWidth||t.width||a.spacingBox.width)-c}),this.setText(n),u=e.getBBox(),f=n.checkboxOffset=t.itemWidth||n.legendItemWidth||u.width+c,this.itemHeight=u=Math.round(n.legendItemHeight||u.height||this.symbolHeight),s&&this.itemX-o+f>(nt||a.spacingBox.width-2*o-t.x)&&(this.itemX=o,this.itemY+=l+this.lastLineHeight+p,this.lastLineHeight=0),this.maxItemWidth=Math.max(this.maxItemWidth,f),this.lastItemY=l+this.itemY+p,this.lastLineHeight=Math.max(u,this.lastLineHeight),n._legendItemPos=[this.itemX,this.itemY],s?this.itemX+=f:(this.itemY+=l+u+p,this.lastLineHeight=u),this.offsetWidth=nt||Math.max((s?this.itemX-o-(n.checkbox?0:k):f)+o,this.offsetWidth)},getAllItems:function(){var n=[];return t(this.chart.series,function(t){var r=t&&t.options;t&&i(r.showInLegend,u(r.linkedTo)?!1:void 0,!0)&&(n=n.concat(t.legendItems||("point"===r.legendType?t.data:t)))}),n},adjustMargins:function(n,r){var o=this.chart,e=this.options,s=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||t([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(t,h){t.test(s)&&!u(n[h])&&(o[f[h]]=Math.max(o[f[h]],o.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+i(e.margin,12)+r[h]))})},render:function(){var n=this,v=n.chart,h=v.renderer,o=n.group,e,c,s,u,i=n.box,f=n.options,a=n.padding;n.itemX=a,n.itemY=n.initialItemY,n.offsetWidth=0,n.lastItemY=0,o||(n.group=o=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(o),n.scrollGroup=h.g().add(n.contentGroup)),n.renderTitle(),e=n.getAllItems(),l(e,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)}),f.reversed&&e.reverse(),n.allItems=e,n.display=c=!!e.length,n.lastLineHeight=0,t(e,function(t){n.renderItem(t)}),s=(f.width||n.offsetWidth)+a,u=n.lastItemY+n.lastLineHeight+n.titleHeight,u=n.handleOverflow(u),u+=a,i||(n.box=i=h.rect().addClass("highcharts-legend-box").attr({r:f.borderRadius}).add(o),i.isNew=!0),i.attr({stroke:f.borderColor,"stroke-width":f.borderWidth||0,fill:f.backgroundColor||"none"}).shadow(f.shadow),0<s&&0<u&&(i[i.isNew?"attr":"animate"](i.crisp({x:0,y:0,width:s,height:u},i.strokeWidth())),i.isNew=!1),i[c?"show":"hide"](),n.legendWidth=s,n.legendHeight=u,t(e,function(t){n.positionItem(t)}),c&&o.align(r(f,{width:s,height:u}),!0,"spacingBox"),v.isResizing||this.positionCheckboxes()},handleOverflow:function(n){var r=this,u=this.chart,h=u.renderer,e=this.options,y=e.y,c=this.padding,u=u.spacingBox.height+("top"===e.verticalAlign?-y:y)-c,y=e.maxHeight,l,s=this.clipRect,a=e.navigation,b=i(a.animation,!0),v=a.arrowSize||12,o=this.nav,f=this.pages,p,w=this.allItems,k=function(n){"number"==typeof n?s.attr({height:n}):s&&(r.clipRect=s.destroy(),r.contentGroup.clip()),r.contentGroup.div&&(r.contentGroup.div.style.clip=n?"rect("+c+"px,9999px,"+(c+n)+"px,0)":"auto")};return"horizontal"!==e.layout||"middle"===e.verticalAlign||e.floating||(u/=2),y&&(u=Math.min(u,y)),f.length=0,n>u&&!1!==a.enabled?(this.clipHeight=l=Math.max(u-20-this.titleHeight-c,0),this.currentPage=i(this.currentPage,1),this.fullHeight=n,t(w,function(n,t){var i=n._legendItemPos[1],r;n=Math.round(n.legendItem.getBBox().height),r=f.length,(!r||i-f[r-1]>l&&(p||i)!==f[r-1])&&(f.push(p||i),r++),t===w.length-1&&i+n-f[r-1]>l&&f.push(i),i!==p&&(p=i)}),s||(s=r.clipRect=h.clipRect(0,c,9999,0),r.contentGroup.clip(s)),k(l),o||(this.nav=o=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,v,v).on("click",function(){r.scroll(-1,b)}).add(o),this.pager=h.text("",15,10).addClass("highcharts-legend-navigation").css(a.style).add(o),this.down=h.symbol("triangle-down",0,0,v,v).on("click",function(){r.scroll(1,b)}).add(o)),r.scroll(0),n=u):o&&(k(),this.nav=o.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},scroll:function(n,t){var u=this.pages,i=u.length;n=this.currentPage+n;var f=this.clipHeight,r=this.options.navigation,e=this.pager,o=this.padding;n>i&&(n=i),0<n&&(void 0!==t&&c(t,this.chart),this.nav.attr({translateX:o,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),e.attr({text:n+"/"+i}),this.down.attr({x:18+this.pager.getBBox().width,"class":n===i?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===n?r.inactiveColor:r.activeColor}).css({cursor:1===n?"default":"pointer"}),this.down.attr({fill:n===i?r.inactiveColor:r.activeColor}).css({cursor:n===i?"default":"pointer"}),t=-u[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:t}),this.currentPage=n,this.positionCheckboxes(t))}},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,o=n.symbolWidth,f=n.symbolHeight,s=f/2,h=this.chart.renderer,c=this.legendGroup,e;n=n.baseline-Math.round(.3*n.fontMetrics.b),e={"stroke-width":t.lineWidth||0},t.dashStyle&&(e.dashstyle=t.dashStyle),this.legendLine=h.path(["M",0,n,"L",o,n]).addClass("highcharts-graph").attr(e).add(c),u&&!1!==u.enabled&&(t=Math.min(i(u.radius,s),s),0===this.symbol.indexOf("url")&&(u=r(u,{width:f,height:f}),t=0),this.legendSymbol=u=h.symbol(this.symbol,o/2-t,n-t,2*t,2*t,u).addClass("highcharts-point").add(c),u.isMarker=!0)}},(/Trident\/7\.0/.test(a.navigator.userAgent)||h)&&v(n.Legend.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i(),setTimeout(i)})}(n),function(n){var y=n.addEvent,yt=n.animate,vt=n.animObject,it=n.attr,r=n.doc,lt=n.Axis,ct=n.createElement,ht=n.defaultOptions,st=n.discardElement,f=n.charts,ot=n.css,u=n.defined,t=n.each,o=n.extend,v=n.find,i=n.fireEvent,s=n.getStyle,tt=n.grep,ft=n.isNumber,ut=n.isObject,p=n.isString,pt=n.Legend,b=n.marginNames,h=n.merge,g=n.objectEach,k=n.Pointer,c=n.pick,a=n.pInt,w=n.removeEvent,l=n.seriesTypes,nt=n.splat,at=n.svg,d=n.syncTimeout,e=n.win,et=n.Renderer,rt=n.Chart=function(){this.getArgs.apply(this,arguments)};n.chart=function(n,t,i){return new rt(n,t,i)},o(rt.prototype,{callbacks:[],getArgs:function(){var n=[].slice.call(arguments);(p(n[0])||n[0].nodeName)&&(this.renderTo=n.shift()),this.init(n[0],n[1])},init:function(t,i){var u,e,s=t.series,o=t.plotOptions||{},r;t.series=null,u=h(ht,t);for(e in u.plotOptions)u.plotOptions[e].tooltip=o[e]&&h(o[e].tooltip)||void 0;u.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip,u.series=t.series=s,this.userOptions=t,t=u.chart,e=t.events,this.margin=[],this.spacing=[],this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=u,this.axes=[],this.series=[],this.hasCartesianSeries=t.showAxes,r=this,r.index=f.length,f.push(r),n.chartCount++,e&&g(e,function(n,t){y(r,t,n)}),r.xAxis=[],r.yAxis=[],r.pointCount=r.colorCounter=r.symbolCounter=0,r.firstRender()},initSeries:function(t){var i=this.options.chart;return(i=l[t.type||i.type||i.defaultSeriesType])||n.error(17,!0),i=new i,i.init(this,t),i},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].name||"Series "+(t[n].index+1))},isInsidePlot:function(n,t,i){var r=i?t:n;return n=i?n:t,0<=r&&r<=this.plotWidth&&0<=n&&n<=this.plotHeight},redraw:function(r){var s=this.axes,u=this.series,c=this.pointer,l=this.legend,a=this.isDirtyLegend,h,v,y=this.hasCartesianSeries,e=this.isDirtyBox,f,p=this.renderer,w=p.isHidden(),b=[];for(this.setResponsive&&this.setResponsive(!1),n.setAnimation(r,this),w&&this.temporaryDisplay(),this.layOutTitles(),r=u.length;r--;)if(f=u[r],f.options.stacking&&(h=!0,f.isDirty)){v=!0;break}if(v)for(r=u.length;r--;)f=u[r],f.options.stacking&&(f.isDirty=!0);t(u,function(n){n.isDirty&&"point"===n.options.legendType&&(n.updateTotals&&n.updateTotals(),a=!0),n.isDirtyData&&i(n,"updatedData")}),a&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),h&&this.getStacks(),y&&t(s,function(n){n.updateNames(),n.setScale()}),this.getMargins(),y&&(t(s,function(n){n.isDirty&&(e=!0)}),t(s,function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,b.push(function(){i(n,"afterSetExtremes",o(n.eventArgs,n.getExtremes())),delete n.eventArgs})),(e||h)&&n.redraw()})),e&&this.drawChartBox(),i(this,"predraw"),t(u,function(n){(e||n.isDirty)&&n.visible&&n.redraw(),n.isDirtyData=!1}),c&&c.reset(!0),p.draw(),i(this,"redraw"),i(this,"render"),w&&this.temporaryDisplay(!0),t(b,function(n){n.call()})},get:function(n){function r(t){return t.id===n||t.options&&t.options.id===n}for(var u=this.series,t=v(this.axes,r)||v(this.series,r),i=0;!t&&i<u.length;i++)t=v(u[i].points||[],r);return t},getAxes:function(){var r=this,n=this.options,i=n.xAxis=nt(n.xAxis||{}),n=n.yAxis=nt(n.yAxis||{});t(i,function(n,t){n.index=t,n.isX=!0}),t(n,function(n,t){n.index=t}),i=i.concat(n),t(i,function(n){new lt(r,n)})},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(tt(t.data||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return tt(this.series,function(n){return n.selected})},setTitle:function(n,i,r){var u=this,f=u.options,e;e=f.title=h({style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,n),f=f.subtitle=h({style:{color:"#666666"}},f.subtitle,i),t([["title",n,e],["subtitle",i,f]],function(n,t){var i=n[0],r=u[i],f=n[1];n=n[2],r&&f&&(u[i]=r=r.destroy()),n&&n.text&&!r&&(u[i]=u.renderer.text(n.text,0,0,n.useHTML).attr({align:n.align,"class":"highcharts-"+i,zIndex:n.zIndex||4}).add(),u[i].update=function(n){u.setTitle(!t&&n,t&&n)},u[i].css(n.style))}),u.layOutTitles(r)},layOutTitles:function(n){var i=0,r,u=this.renderer,f=this.spacingBox;t(["title","subtitle"],function(n){var r=this[n],t=this.options[n],e;n="title"===n?-3:t.verticalAlign?0:i+2,r&&(e=t.style.fontSize,e=u.fontMetrics(e,r).b,r.css({width:(t.width||f.width+t.widthAdjust)+"px"}).align(o({y:n+e},t),!1,"spacingBox"),t.floating||t.verticalAlign||(i=Math.ceil(i+r.getBBox(t.useHTML).height)))},this),r=this.titleOffset!==i,this.titleOffset=i,!this.isDirtyBox&&r&&(this.isDirtyBox=r,this.hasRendered&&c(n,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this.options.chart,i=t.width,t=t.height,r=this.renderTo;u(i)||(this.containerWidth=s(r,"width")),u(t)||(this.containerHeight=s(r,"height")),this.chartWidth=Math.max(0,i||this.containerWidth||600),this.chartHeight=Math.max(0,n.relativeLength(t,this.chartWidth)||this.containerHeight||400)},temporaryDisplay:function(t){var i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(n.css(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(r.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style;)if(r.body.contains(i)||(i.hcOrigDetached=!0,r.body.appendChild(i)),("none"===s(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},t={display:"block",overflow:"hidden"},i!==this.renderTo&&(t.height=0),n.css(i,t),i.offsetWidth||i.style.setProperty("display","block","important")),i=i.parentNode,i===r.body)break},setClassName:function(n){this.container.className="highcharts-container "+(n||"")},getContainer:function(){var t,e=this.options,u=e.chart,i,s,h,c;t=this.renderTo,h=n.uniqueKey(),t||(this.renderTo=t=u.renderTo),p(t)&&(this.renderTo=t=r.getElementById(t)),t||n.error(13,!0),i=a(it(t,"data-highcharts-chart")),ft(i)&&f[i]&&f[i].hasRendered&&f[i].destroy(),it(t,"data-highcharts-chart",this.index),t.innerHTML="",u.skipClone||t.offsetWidth||this.temporaryDisplay(),this.getChartSize(),i=this.chartWidth,s=this.chartHeight,c=o({position:"relative",overflow:"hidden",width:i+"px",height:s+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},u.style),this.container=t=ct("div",{id:h},c,t),this._cursor=t.style.cursor,this.renderer=new(n[u.renderer]||et)(t,i,s,null,u.forExport,e.exporting&&e.exporting.allowHTML),this.setClassName(u.className),this.renderer.setStyle(u.style),this.renderer.chartIndex=this.index},getMargins:function(n){var t=this.spacing,i=this.margin,r=this.titleOffset;this.resetMargins(),r&&!u(i[0])&&(this.plotTop=Math.max(this.plotTop,r+this.options.title.margin+t[0])),this.legend.display&&this.legend.adjustMargins(i,t),this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value),this.extraTopMargin&&(this.plotTop+=this.extraTopMargin),n||this.getAxisMargins()},getAxisMargins:function(){var n=this,i=n.axisOffset=[0,0,0,0],r=n.margin;n.hasCartesianSeries&&t(n.axes,function(n){n.visible&&n.getOffset()}),t(b,function(t,f){u(r[f])||(n[t]+=i[f])}),n.setChartSize()},reflow:function(n){var t=this,i=t.options.chart,f=t.renderTo,h=u(i.width)&&u(i.height),o=i.width||s(f,"width"),i=i.height||s(f,"height"),f=n?n.target:e;!h&&!t.isPrinting&&o&&i&&(f===e||f===r)&&((o!==t.containerWidth||i!==t.containerHeight)&&(clearTimeout(t.reflowTimeout),t.reflowTimeout=d(function(){t.container&&t.setSize(void 0,void 0,!1)},n?100:0)),t.containerWidth=o,t.containerHeight=i)},initReflow:function(){var n=this,t;t=y(e,"resize",function(t){n.reflow(t)}),y(n,"destroy",t)},setSize:function(r,u,f){var e=this,o=e.renderer;e.isResizing+=1,n.setAnimation(f,e),e.oldChartHeight=e.chartHeight,e.oldChartWidth=e.chartWidth,void 0!==r&&(e.options.chart.width=r),void 0!==u&&(e.options.chart.height=u),e.getChartSize(),r=o.globalAnimation,(r?yt:ot)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},r),e.setChartSize(!0),o.setSize(e.chartWidth,e.chartHeight,f),t(e.axes,function(n){n.isDirty=!0,n.setScale()}),e.isDirtyLegend=!0,e.isDirtyBox=!0,e.layOutTitles(),e.getMargins(),e.redraw(f),e.oldChartHeight=null,i(e,"resize"),d(function(){e&&i(e,"endResize",null,function(){--e.isResizing})},vt(r).duration)},setChartSize:function(n){function f(n){return n=y[n]||0,Math.max(a||n,n)/2}var r=this.inverted,u=this.renderer,c=this.chartWidth,l=this.chartHeight,v=this.options.chart,i=this.spacing,y=this.clipOffset,s,h,e,o,a;this.plotLeft=s=Math.round(this.plotLeft),this.plotTop=h=Math.round(this.plotTop),this.plotWidth=e=Math.max(0,Math.round(c-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=v.plotBorderWidth||0,this.spacingBox=u.spacingBox={x:i[3],y:i[0],width:c-i[3]-i[1],height:l-i[0]-i[2]},this.plotBox=u.plotBox={x:s,y:h,width:e,height:o},a=2*Math.floor(this.plotBorderWidth/2),r=Math.ceil(f(3)),u=Math.ceil(f(0)),this.clipBox={x:r,y:u,width:Math.floor(this.plotSizeX-f(1)-r),height:Math.max(0,Math.floor(this.plotSizeY-f(2)-u))},n||t(this.axes,function(n){n.setAxisSize(),n.setAxisTranslation()})},resetMargins:function(){var n=this,i=n.options.chart;t(["margin","spacing"],function(r){var u=i[r],f=ut(u)?u:[u,u,u,u];t(["Top","Right","Bottom","Left"],function(t,u){n[r][u]=c(i[r+t],f[u])})}),t(b,function(t,i){n[t]=c(n.margin[i],n.spacing[i])}),n.axisOffset=[0,0,0,0],n.clipOffset=[]},drawChartBox:function(){var n=this.options.chart,e=this.renderer,k=this.chartWidth,d=this.chartHeight,u=this.chartBackground,s=this.plotBackground,i=this.plotBorder,r,a=this.plotBGImage,f=n.backgroundColor,g=n.plotBackgroundColor,c=n.plotBackgroundImage,o,v=this.plotLeft,y=this.plotTop,p=this.plotWidth,w=this.plotHeight,b=this.plotBox,l=this.clipRect,h=this.clipBox,t="animate";u||(this.chartBackground=u=e.rect().addClass("highcharts-background").add(),t="attr"),r=n.borderWidth||0,o=r+(n.shadow?8:0),f={fill:f||"none"},(r||u["stroke-width"])&&(f.stroke=n.borderColor,f["stroke-width"]=r),u.attr(f).shadow(n.shadow),u[t]({x:o/2,y:o/2,width:k-o-r%2,height:d-o-r%2,r:n.borderRadius}),t="animate",s||(t="attr",this.plotBackground=s=e.rect().addClass("highcharts-plot-background").add()),s[t](b),s.attr({fill:g||"none"}).shadow(n.plotShadow),c&&(a?a.animate(b):this.plotBGImage=e.image(c,v,y,p,w).add()),l?l.animate({width:h.width,height:h.height}):this.clipRect=e.clipRect(h),t="animate",i||(t="attr",this.plotBorder=i=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),i.attr({stroke:n.plotBorderColor,"stroke-width":n.plotBorderWidth||0,fill:"none"}),i[t](i.crisp({x:v,y:y,width:p,height:w},-i.strokeWidth())),this.isDirtyBox=!1},propFromSeries:function(){var r=this,u=r.options.chart,n,f=r.options.series,e,i;t(["inverted","angular","polar"],function(t){for(n=l[u.type||u.defaultSeriesType],i=u[t]||n&&n.prototype[t],e=f&&f.length;!i&&e--;)(n=l[f[e].type])&&n.prototype[t]&&(i=!0);r[t]=i})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0}),t(i,function(t){var i=t.options.linkedTo;p(i)&&(i=":previous"===i?n.series[t.index-1]:n.get(i))&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,t.visible=c(t.options.visible,i.options.visible,t.visible))})},renderSeries:function(){t(this.series,function(n){n.translate(),n.render()})},renderLabels:function(){var n=this,i=n.options.labels;i.items&&t(i.items,function(t){var r=o(i.style,t.style),u=a(r.left)+n.plotLeft,f=a(r.top)+n.plotTop+12;delete r.left,delete r.top,n.renderer.text(t.html,u,f).attr({zIndex:2}).css(r).add()})},render:function(){var n=this.axes,e=this.renderer,i=this.options,f,r,u;this.setTitle(),this.legend=new pt(this,i.legend),this.getStacks&&this.getStacks(),this.getMargins(!0),this.setChartSize(),i=this.plotWidth,f=this.plotHeight-=21,t(n,function(n){n.setScale()}),this.getAxisMargins(),r=1.1<i/this.plotWidth,u=1.05<f/this.plotHeight,(r||u)&&(t(n,function(n){(n.horiz&&r||!n.horiz&&u)&&n.setTickInterval(!0)}),this.getMargins()),this.drawChartBox(),this.hasCartesianSeries&&t(n,function(n){n.visible&&n.render()}),this.seriesGroup||(this.seriesGroup=e.g("series-group").attr({zIndex:3}).add()),this.renderSeries(),this.renderLabels(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0},addCredits:function(n){var t=this;n=h(!0,this.options.credits,n),n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){n.href&&(e.location.href=n.href)}).attr({align:n.position.align,zIndex:8}).css(n.style).add().align(n.position),this.credits.update=function(n){t.credits=t.credits.destroy(),t.addCredits(n)})},destroy:function(){var r=this,o=r.axes,s=r.series,e=r.container,u,h=e&&e.parentNode;for(i(r,"destroy"),r.renderer.forExport?n.erase(f,r):f[r.index]=void 0,n.chartCount--,r.renderTo.removeAttribute("data-highcharts-chart"),w(r),u=o.length;u--;)o[u]=o[u].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),u=s.length;u--;)s[u]=s[u].destroy();t("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(n){var t=r[n];t&&t.destroy&&(r[n]=t.destroy())}),e&&(e.innerHTML="",w(e),h&&st(e)),g(r,function(n,t){delete r[t]})},isReadyToRender:function(){var n=this;return at||e!=e.top||"complete"===r.readyState?!0:(r.attachEvent("onreadystatechange",function(){r.detachEvent("onreadystatechange",n.firstRender),"complete"===r.readyState&&n.firstRender()}),!1)},firstRender:function(){var n=this,r=n.options;n.isReadyToRender()&&(n.getContainer(),i(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(r.series||[],function(t){n.initSeries(t)}),n.linkSeries(),i(n,"beforeRender"),k&&(n.pointer=new k(n,r)),n.render(),!n.renderer.imgCount&&n.onload&&n.onload(),n.temporaryDisplay(!0))},onload:function(){t([this.callback].concat(this.callbacks),function(n){n&&void 0!==this.index&&n.apply(this,[this])},this),i(this,"load"),i(this,"render"),u(this.index)&&!1!==this.options.chart.reflow&&this.initReflow(),this.onload=null}})}(n),function(n){var i,f=n.each,r=n.extend,e=n.erase,o=n.fireEvent,s=n.format,h=n.isArray,u=n.isNumber,t=n.pick,c=n.removeEvent;n.Point=i=function(){},n.Point.prototype={init:function(n,i,r){return this.series=n,this.color=n.color,this.applyOptions(i,r),n.options.colorByPoint?(i=n.options.colors||n.chart.options.colors,this.color=this.color||i[n.colorCounter],i=i.length,r=n.colorCounter,n.colorCounter++,n.colorCounter===i&&(n.colorCounter=0)):r=n.colorIndex,this.colorIndex=t(this.colorIndex,r),n.chart.pointCount++,this},applyOptions:function(n,f){var e=this.series,o=e.options.pointValKey||e.pointValKey;return n=i.prototype.optionsToObject.call(this,n),r(this,n),this.options=this.options?r(this.options,n):n,n.group&&delete this.group,o&&(this.y=this[o]),this.isNull=t(this.isValid&&!this.isValid(),null===this.x||!u(this.y,!0)),this.selected&&(this.state="select"),"name"in this&&void 0===f&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),void 0===this.x&&e&&(this.x=void 0===f?e.autoIncrement(this):f),this},optionsToObject:function(n){var i={},t=this.series,f=t.options.keys,e=f||t.pointArrayMap||["y"],s=e.length,r=0,o=0;if(u(n)||null===n)i[e[0]]=n;else if(h(n))for(!f&&n.length>s&&(t=typeof n[0],"string"===t?i.name=n[0]:"number"===t&&(i.x=n[0]),r++);o<s;)f&&void 0===n[r]||(i[e[o]]=n[r]),r++,o++;else"object"==typeof n&&(i=n,n.dataLabels&&(t._hasPointLabels=!0),n.marker&&(t._hasPointMarkers=!0));return i},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){for(var t=this.series,i=t.zones,t=t.zoneAxis||"y",r=0,n=i[r];this[t]>=n.value;)n=i[++r];return n&&n.color&&!this.options.color&&(this.color=n.color),n},destroy:function(){var n=this.series.chart,t=n.hoverPoints,i;n.pointCount--,t&&(this.setState(),e(t,this),t.length||(n.hoverPoints=null)),this===n.hoverPoint&&this.onMouseOut(),(this.graphic||this.dataLabel)&&(c(this),this.destroyElements()),this.legendItem&&n.legend.destroyItem(this);for(i in this)this[i]=null},destroyElements:function(){for(var i=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],n,t=6;t--;)n=i[t],this[n]&&(this[n]=this[n].destroy())},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}},tooltipFormatter:function(n){var r=this.series,i=r.tooltipOptions,o=t(i.valueDecimals,""),u=i.valuePrefix||"",e=i.valueSuffix||"";return f(r.pointArrayMap||["y"],function(t){t="{point."+t,(u||e)&&(n=n.replace(t+"}",u+t+"}"+e)),n=n.replace(t+"}",t+":,."+o+"f}")}),s(n,{point:this,series:this.series})},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])&&this.importEvents(),"click"===n&&u.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),o(this,n,t,i)},visible:!0}}(n),function(n){var s=n.addEvent,c=n.animObject,it=n.arrayMax,tt=n.arrayMin,h=n.correctFloat,u=n.Date,e=n.defaultOptions,nt=n.defaultPlotOptions,r=n.defined,i=n.each,l=n.erase,d=n.extend,v=n.fireEvent,g=n.grep,y=n.isArray,f=n.isNumber,rt=n.isString,p=n.merge,o=n.objectEach,t=n.pick,b=n.removeEvent,w=n.splat,k=n.SVGElement,a=n.syncTimeout,ut=n.win;n.Series=n.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":n.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:n.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(n,r){var u=this,f,e=n.series,h;u.chart=n,u.options=r=u.setOptions(r),u.linkedSeries=[],u.bindAxes(),d(u,{name:r.name,state:"",visible:!1!==r.visible,selected:!0===r.selected}),f=r.events,o(f,function(n,t){s(u,t,n)}),(f&&f.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(n.runTrackerClick=!0),u.getColor(),u.getSymbol(),i(u.parallelArrays,function(n){u[n+"Data"]=[]}),u.setData(r.data,!1),u.isCartesian&&(n.hasCartesianSeries=!0),e.length&&(h=e[e.length-1]),u._i=t(h&&h._i,-1)+1,n.orderSeries(this.insert(e))},insert:function(n){var r=this.options.index,i;if(f(r)){for(i=n.length;i--;)if(r>=t(n[i].options.index,n[i]._i)){n.splice(i+1,0,this);break}-1===i&&n.unshift(this),i+=1}else n.push(this);return t(i,n.length-1)},bindAxes:function(){var t=this,r=t.options,f=t.chart,u;i(t.axisTypes||[],function(e){i(f[e],function(n){u=n.options,(r[e]===u.index||void 0!==r[e]&&r[e]===u.id||void 0===r[e]&&0===u.index)&&(t.insert(n.series),t[e]=n,n.isDirty=!0)}),t[e]||t.optionalAxis===e||n.error(18,!0)})},updateParallelArrays:function(n,t){var r=n.series,u=arguments,e=f(t)?function(i){var u="y"===i&&r.toYData?r.toYData(n):n[i];r[i+"Data"][t]=u}:function(n){Array.prototype[t].apply(r[n+"Data"],Array.prototype.slice.call(u,2))};i(r.parallelArrays,e)},autoIncrement:function(){var n=this.options,r=this.xIncrement,i,f=n.pointIntervalUnit,r=t(r,n.pointStart,0);return this.pointInterval=i=t(this.pointInterval,n.pointInterval,1),f&&(n=new u(r),"day"===f?n=+n[u.hcSetDate](n[u.hcGetDate]()+i):"month"===f?n=+n[u.hcSetMonth](n[u.hcGetMonth]()+i):"year"===f&&(n=+n[u.hcSetFullYear](n[u.hcGetFullYear]()+i)),i=n-r),this.xIncrement=r+i,r},setOptions:function(n){var i=this.chart,o=i.options,u=o.plotOptions,f=(i.userOptions||{}).plotOptions||{},s=u[this.type];return this.userOptions=n,i=p(s,u.series,n),this.tooltipOptions=p(e.tooltip,e.plotOptions.series&&e.plotOptions.series.tooltip,e.plotOptions[this.type].tooltip,o.tooltip.userOptions,u.series&&u.series.tooltip,u[this.type].tooltip,n.tooltip),this.stickyTracking=t(n.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:i.stickyTracking),null===s.marker&&delete i.marker,this.zoneAxis=i.zoneAxis,n=this.zones=(i.zones||[]).slice(),!i.negativeColor&&!i.negativeFillColor||i.zones||n.push({value:i[this.zoneAxis+"Threshold"]||i.threshold||0,className:"highcharts-negative",color:i.negativeColor,fillColor:i.negativeFillColor}),n.length&&r(n[n.length-1].value)&&n.push({color:this.color,fillColor:this.fillColor}),i},getCyclic:function(n,i,u){var f,e=this.chart,s=this.userOptions,o=n+"Index",h=n+"Counter",c=u?u.length:t(e.options.chart[n+"Count"],e[n+"Count"]);i||(f=t(s[o],s["_"+o]),r(f)||(e.series.length||(e[h]=0),s["_"+o]=f=e[h]%c,e[h]+=1),u&&(i=u[f])),void 0!==f&&(this[o]=f),this[n]=i},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||nt[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:n.LegendSymbolMixin.drawLineMarker,setData:function(r,u,e,o){var s=this,l=s.points,b=l&&l.length||0,c,v=s.options,k=s.chart,h=null,p=s.xAxis,d=v.turboThreshold,w=this.xData,a=this.yData,g=(c=s.pointArrayMap)&&c.length;if(r=r||[],c=r.length,u=t(u,!0),!1!==o&&c&&b===c&&!s.cropped&&!s.hasGroupedData&&s.visible)i(r,function(n,t){l[t].update&&n!==v.data[t]&&l[t].update(n,!1,null,!1)});else{if(s.xIncrement=null,s.colorCounter=0,i(this.parallelArrays,function(n){s[n+"Data"].length=0}),d&&c>d){for(e=0;null===h&&e<c;)h=r[e],e++;if(f(h))for(e=0;e<c;e++)w[e]=this.autoIncrement(),a[e]=r[e];else if(y(h))if(g)for(e=0;e<c;e++)h=r[e],w[e]=h[0],a[e]=h.slice(1,g+1);else for(e=0;e<c;e++)h=r[e],w[e]=h[0],a[e]=h[1];else n.error(12)}else for(e=0;e<c;e++)void 0!==r[e]&&(h={series:s},s.pointClass.prototype.applyOptions.apply(h,[r[e]]),s.updateParallelArrays(h,e));for(rt(a[0])&&n.error(14,!0),s.data=[],s.options.data=s.userOptions.data=r,e=b;e--;)l[e]&&l[e].destroy&&l[e].destroy();p&&(p.minRange=p.userMinRange),s.isDirty=k.isDirtyBox=!0,s.isDirtyData=!!l,e=!1}"point"===v.legendType&&(this.processData(),this.generatePoints()),u&&k.redraw(e)},processData:function(t){var i=this.xData,l=this.yData,u=i.length,e,a,s,f,r,o;e=0,f=this.xAxis,o=this.options,r=o.cropThreshold;var y=this.getExtremesFromAll||o.getExtremesFromAll,v=this.isCartesian,o=f&&f.val2lin,p=f&&f.isLog,h,c;if(v&&!this.isDirty&&!f.isDirty&&!this.yAxis.isDirty&&!t)return!1;for(f&&(t=f.getExtremes(),h=t.min,c=t.max),v&&this.sorted&&!y&&(!r||u>r||this.forceCrop)&&(i[u-1]<h||i[0]>c?(i=[],l=[]):(i[0]<h||i[u-1]>c)&&(e=this.cropData(this.xData,this.yData,h,c),i=e.xData,l=e.yData,e=e.start,a=!0)),r=i.length||1;--r;)u=p?o(i[r])-o(i[r-1]):i[r]-i[r-1],0<u&&(void 0===s||u<s)?s=u:0>u&&this.requireSorting&&n.error(15);this.cropped=a,this.cropStart=e,this.processedXData=i,this.processedYData=l,this.closestPointRange=s},cropData:function(n,i,r,u){for(var s=n.length,e=0,o=s,h=t(this.cropShoulder,1),f=0;f<s;f++)if(n[f]>=r){e=Math.max(0,f-h);break}for(r=f;r<s;r++)if(n[r]>u){o=r+h;break}return{xData:n.slice(e,o),yData:i.slice(e,o),start:e,end:o}},generatePoints:function(){var f=this.options,e=f.data,t=this.data,h,o=this.processedXData,v=this.processedYData,c=this.pointClass,s=o.length,l=this.cropStart||0,r,u=this.hasGroupedData,f=f.keys,i,a=[],n;for(t||u||(t=[],t.length=e.length,t=this.data=t),f&&u&&(this.options.keys=!1),n=0;n<s;n++)r=l+n,u?(i=(new c).init(this,[o[n]].concat(w(v[n]))),i.dataGroup=this.groupMap[n]):(i=t[r])||void 0===e[r]||(t[r]=i=(new c).init(this,e[r],o[n])),i&&(i.index=r,a[n]=i);if(this.options.keys=f,t&&(s!==(h=t.length)||u))for(n=0;n<h;n++)n!==l||u||(n+=s),t[n]&&(t[n].destroyElements(),t[n].plotX=void 0);this.data=t,this.points=a},getExtremes:function(n){var a=this.yAxis,s=this.processedXData,u,o=[],h=0,c,l,r,e,t,i;for(u=this.xAxis.getExtremes(),c=u.min,l=u.max,n=n||this.stackedYData||this.processedYData||[],u=n.length,i=0;i<u;i++)if(e=s[i],t=n[i],r=(f(t,!0)||y(t))&&(!a.positiveValuesOnly||t.length||0<t),e=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(s[i]||e)>=c&&(s[i]||e)<=l,r&&e)if(r=t.length)for(;r--;)null!==t[r]&&(o[h++]=t[r]);else o[h++]=t;this.dataMin=tt(o),this.dataMax=it(o)},translate:function(){var v,a;this.processedXData||this.processData(),this.generatePoints();var e=this.options,tt=e.stacking,y=this.xAxis,d=y.categories,s=this.yAxis,nt=this.points,rt=nt.length,ut=!!this.modifyValue,o=e.pointPlacement,it="between"===o||f(o),w=e.threshold,g=e.startFromThreshold?w:0,l,u,b,p,k=Number.MAX_VALUE;for("between"===o&&(o=.5),f(o)&&(o*=t(e.pointRange||y.pointRange)),e=0;e<rt;e++){var n=nt[e],c=n.x,i=n.y;u=n.low,v=tt&&s.stacks[(this.negStacks&&i<(g?0:w)?"-":"")+this.stackKey],s.positiveValuesOnly&&null!==i&&0>=i&&(n.isNull=!0),n.plotX=l=h(Math.min(Math.max(-1e5,y.translate(c,0,0,0,1,o,"flags"===this.type)),1e5)),tt&&this.visible&&!n.isNull&&v&&v[c]&&(p=this.getStackIndicator(p,c,this.index),a=v[c],i=a.points[p.key],u=i[0],i=i[1],u===g&&p.key===v[c].base&&(u=t(w,s.min)),s.positiveValuesOnly&&0>=u&&(u=null),n.total=n.stackTotal=a.total,n.percentage=a.total&&n.y/a.total*100,n.stackY=i,a.setOffset(this.pointXOffset||0,this.barW||0)),n.yBottom=r(u)?s.translate(u,0,1,0,1):null,ut&&(i=this.modifyValue(i,n)),n.plotY=u="number"==typeof i&&Infinity!==i?Math.min(Math.max(-1e5,s.translate(i,0,1,0,1)),1e5):void 0,n.isInside=void 0!==u&&0<=u&&u<=s.len&&0<=l&&l<=y.len,n.clientX=it?h(y.translate(c,0,0,0,1,o)):l,n.negative=n.y<(w||0),n.category=d&&void 0!==d[n.x]?d[n.x]:n.x,n.isNull||(void 0!==b&&(k=Math.min(k,Math.abs(l-b))),b=l),n.zone=this.zones.length&&n.getZone()}this.closestPointRangePx=k},getValidPoints:function(n,t){var i=this.chart;return g(n||this.points||[],function(n){return t&&!i.isInsidePlot(n.plotX,n.plotY,i.inverted)?!1:!n.isNull})},setClip:function(n){var t=this.chart,u=this.options,o=t.renderer,s=t.inverted,f=this.clipBox,e=f||t.clipBox,i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,e.height,u.xAxis,u.yAxis].join(),r=t[i],h=t[i+"m"];r||(n&&(e.width=0,t[i+"m"]=h=o.clipRect(-99,s?-t.plotLeft:-t.plotTop,99,s?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(e),r.count={length:0}),n&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1),!1!==u.clip&&(this.group.clip(n||f?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]&&(f||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var t=this.chart,r=c(this.options.animation),i;n?this.setClip(r):(i=this.sharedClipKey,(n=t[i])&&n.animate({width:t.plotSizeX},r),t[i+"m"]&&t[i+"m"].animate({width:t.plotSizeX+99},r),this.animate=null)},afterAnimate:function(){this.setClip(),v(this,"afterAnimate"),this.finishedAnimating=!0},drawPoints:function(){var c=this.points,a=this.chart,u,o,n,i,s=this.options.marker,e,l,r,h,v=this[this.specialGroup]||this.markerGroup,y=t(s.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*s.radius);if(!1!==s.enabled||this._hasPointMarkers)for(o=0;o<c.length;o++)n=c[o],u=n.plotY,i=n.graphic,e=n.marker||{},l=!!n.marker,r=y&&void 0===e.enabled||e.enabled,h=n.isInside,r&&f(u)&&null!==n.y?(u=t(e.symbol,this.symbol),n.hasImage=0===u.indexOf("url"),r=this.markerAttribs(n,n.selected&&"select"),i?i[h?"show":"hide"](!0).animate(r):h&&(0<r.width||n.hasImage)&&(n.graphic=i=a.renderer.symbol(u,r.x,r.y,r.width,r.height,l?e:s).add(v)),i&&i.attr(this.pointAttribs(n,n.selected&&"select")),i&&i.addClass(n.getClassName(),!0)):i&&(n.graphic=i.destroy())},markerAttribs:function(n,i){var r=this.options.marker,f=n.marker||{},u=t(f.radius,r.radius);return i&&(r=r.states[i],i=f.states&&f.states[i],u=t(i&&i.radius,r&&r.radius,u+(r&&r.radiusPlus||0))),n.hasImage&&(u=0),n={x:Math.floor(n.plotX)-u,y:n.plotY-u},u&&(n.width=n.height=2*u),n},pointAttribs:function(n,i){var r=this.options.marker,f=n&&n.options,e=f&&f.marker||{},u=this.color,o=f&&f.color,s=n&&n.color,f=t(e.lineWidth,r.lineWidth);return n=n&&n.zone&&n.zone.color,u=o||n||s||u,n=e.fillColor||r.fillColor||u,u=e.lineColor||r.lineColor||u,i&&(r=r.states[i],i=e.states&&e.states[i]||{},f=t(i.lineWidth,r.lineWidth,f+t(i.lineWidthPlus,r.lineWidthPlus,0)),n=i.fillColor||r.fillColor||n,u=i.lineColor||r.lineColor||u),{stroke:u,"stroke-width":f,fill:n}},destroy:function(){var n=this,r=n.chart,h=/AppleWebKit\/533/.test(ut.navigator.userAgent),e,u,s=n.data||[],f,t;for(v(n,"destroy"),b(n),i(n.axisTypes||[],function(i){(t=n[i])&&t.series&&(l(t.series,n),t.isDirty=t.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),u=s.length;u--;)(f=s[u])&&f.destroy&&f.destroy();n.points=null,clearTimeout(n.animationTimeout),o(n,function(n,t){n instanceof k&&!n.survive&&(e=h&&"group"===t?"hide":"destroy",n[e]())}),r.hoverSeries===n&&(r.hoverSeries=null),l(r.series,n),r.orderSeries(),o(n,function(t,i){delete n[i]})},getGraphPath:function(n,t,u){var e=this,h=e.options,f=h.step,l,s=[],c=[],o;return n=n||e.points,(l=n.reversed)&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&l&&(f=4-f),!h.connectNulls||t||u||(n=this.getValidPoints(n)),i(n,function(i,l){var v=i.plotX,y=i.plotY,a=n[l-1];(i.leftCliff||a&&a.rightCliff)&&!u&&(o=!0),i.isNull&&!r(t)&&0<l?o=!h.connectNulls:i.isNull&&!t?o=!0:(0===l||o?l=["M",i.plotX,i.plotY]:e.getPointSpline?l=e.getPointSpline(n,i,l):f?(l=1===f?["L",a.plotX,y]:2===f?["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],c.push(i.x),f&&c.push(i.x),s.push.apply(s,l),o=!1)}),s.xMap=c,e.graphPath=s},drawGraph:function(){var n=this,t=this.options,r=(this.gappedPath||this.getGraphPath).call(this),u=[["graph","highcharts-graph",t.lineColor||this.color,t.dashStyle]];i(this.zones,function(i,r){u.push(["zone-graph-"+r,"highcharts-graph highcharts-zone-graph-"+r+" "+(i.className||""),i.color||n.color,i.dashStyle||t.dashStyle])}),i(u,function(i,u){var e=i[0],f=n[e];f?(f.endX=r.xMap,f.animate({d:r})):r.length&&(n[e]=n.chart.renderer.path(r).addClass(i[1]).attr({zIndex:1}).add(n.group),f={stroke:i[2],"stroke-width":t.lineWidth,fill:n.fillGraph&&n.color||"none"},i[3]?f.dashstyle=i[3]:"square"!==t.linecap&&(f["stroke-linecap"]=f["stroke-linejoin"]="round"),f=n[e].attr(f).shadow(2>u&&t.shadow)),f&&(f.startX=r.xMap,f.isArea=r.isArea)})},applyZones:function(){var k=this,r=this.chart,d=r.renderer,g=this.zones,f,e,o=this.clips||[],n,a=this.graph,c=this.area,y=Math.max(r.chartWidth,r.chartHeight),u=this[(this.zoneAxis||"y")+"Axis"],s,w,b=r.inverted,h,p,l,v,nt=!1;g.length&&(a||c)&&u&&void 0!==u.min&&(w=u.reversed,h=u.horiz,a&&a.hide(),c&&c.hide(),s=u.getExtremes(),i(g,function(i,g){f=w?h?r.plotWidth:0:h?0:u.toPixels(s.min),f=Math.min(Math.max(t(e,f),0),y),e=Math.min(Math.max(Math.round(u.toPixels(t(i.value,s.max),!0)),0),y),nt&&(f=e=u.toPixels(s.max)),p=Math.abs(f-e),l=Math.min(f,e),v=Math.max(f,e),u.isXAxis?(n={x:b?v:l,y:0,width:p,height:y},h||(n.x=r.plotHeight-n.x)):(n={x:0,y:b?v:l,width:y,height:p},h&&(n.y=r.plotWidth-n.y)),b&&d.isVML&&(n=u.isXAxis?{x:0,y:w?l:v,height:n.width,width:r.chartWidth}:{x:n.y-r.plotLeft-r.spacingBox.x,y:0,width:n.height,height:r.chartHeight}),o[g]?o[g].animate(n):(o[g]=d.clipRect(n),a&&k["zone-graph-"+g].clip(o[g]),c&&k["zone-area-"+g].clip(o[g])),nt=i.value>s.max}),this.clips=o)},invertGroups:function(n){function r(){i(["group","markerGroup"],function(i){t[i]&&(u.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(n))})}var t=this,u=t.chart,f;t.xAxis&&(f=s(u,"resize",r),s(t,"destroy",f),r(n),t.invertGroups=r)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g().attr({zIndex:r||.1}).add(u)),f.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||""),!0),f.attr({visibility:i})[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var i=this.chart,t=this.xAxis,n=this.yAxis;return i.inverted&&(t=n,n=this.xAxis),{translateX:t?t.left:i.plotLeft,translateY:n?n.top:i.plotTop,scaleX:1,scaleY:1}},render:function(){var n=this,t=n.chart,i,r=n.options,u=!!n.animate&&t.renderer.isSVG&&c(r.animation).duration,f=n.visible?"inherit":"hidden",e=r.zIndex,o=n.hasRendered,s=t.seriesGroup,h=t.inverted;i=n.plotGroup("group","series",f,e,s),n.markerGroup=n.plotGroup("markerGroup","markers",f,e,s),u&&n.animate(!0),i.inverted=n.isCartesian?h:!1,n.drawGraph&&(n.drawGraph(),n.applyZones()),n.drawDataLabels&&n.drawDataLabels(),n.visible&&n.drawPoints(),n.drawTracker&&!1!==n.options.enableMouseTracking&&n.drawTracker(),n.invertGroups(h),!1===r.clip||n.sharedClipKey||o||i.clip(t.clipRect),u&&n.animate(),o||(n.animationTimeout=a(function(){n.afterAnimate()},u)),n.isDirty=!1,n.hasRendered=!0},redraw:function(){var n=this.chart,f=this.isDirty||this.isDirtyData,i=this.group,r=this.xAxis,u=this.yAxis;i&&(n.inverted&&i.attr({width:n.plotWidth,height:n.plotHeight}),i.animate({translateX:t(r&&r.left,n.plotLeft),translateY:t(u&&u.top,n.plotTop)})),this.translate(),this.render(),f&&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)},buildKDTree:function(){function t(i,r,u){var e,f;if(f=i&&i.length)return e=n.kdAxisArray[r%u],i.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:i[f],left:t(i.slice(0,f),r+1,u),right:t(i.slice(f+1),r+1,u)}}this.buildingKdTree=!0;var n=this,i=-1<n.options.findNearestPointBy.indexOf("y")?2:1;delete n.kdTree,a(function(){n.kdTree=t(n.getValidPoints(null,!n.directTouch),i,i),n.buildingKdTree=!1},n.options.kdNow?0:1)},searchKDTree:function(n,t){function e(n,t,s,h){var l=t.point,a=o.kdAxisArray[s%h],c,v,y=l;return v=r(n[u])&&r(l[u])?Math.pow(n[u]-l[u],2):null,c=r(n[f])&&r(l[f])?Math.pow(n[f]-l[f],2):null,c=(v||0)+(c||0),l.dist=r(c)?Math.sqrt(c):Number.MAX_VALUE,l.distX=r(v)?Math.sqrt(v):Number.MAX_VALUE,a=n[a]-l[a],c=0>a?"left":"right",v=0>a?"right":"left",t[c]&&(c=e(n,t[c],s+1,h),y=c[i]<y[i]?c:l),t[v]&&Math.sqrt(a*a)<y[i]&&(n=e(n,t[v],s+1,h),y=n[i]<y[i]?n:y),y}var o=this,u=this.kdAxisArray[0],f=this.kdAxisArray[1],i=t?"distX":"dist";return t=-1<o.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(),this.kdTree?e(n,this.kdTree,t,t):void 0}})}(n),function(n){var r=n.Axis,s=n.Chart,u=n.correctFloat,o=n.defined,h=n.destroyObjectProperties,f=n.each,c=n.format,t=n.objectEach,i=n.pick,e=n.Series;n.StackItem=function(n,t,r,u,f){var e=n.chart.inverted;this.axis=n,this.isNegative=r,this.options=t,this.x=u,this.total=null,this.points={},this.stack=f,this.rightCliff=this.leftCliff=0,this.alignOptions={align:t.align||(e?r?"left":"right":"center"),verticalAlign:t.verticalAlign||(e?"middle":r?"bottom":"top"),y:i(t.y,e?4:r?14:-6),x:i(t.x,e?r?-6:6:0)},this.textAlign=t.textAlign||(e?r?"right":"left":"center")},n.StackItem.prototype={destroy:function(){h(this,this.axis)},render:function(n){var t=this.options,i=t.format,i=i?c(i,this):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(i,null,null,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:"hidden"}).add(n)},setOffset:function(n,t){var r=this.axis,u=r.chart,i=r.translate(r.usePercentage?100:this.total,0,0,0,1),r=r.translate(0),r=Math.abs(i-r);n=u.xAxis[0].translate(this.x)+n,i=this.getStackBox(u,this,n,i,t,r),(t=this.label)&&(t.align(this.alignOptions,null,i),i=t.alignAttr,t[!1===this.options.crop||u.isInsidePlot(i.x,i.y)?"show":"hide"](!0))},getStackBox:function(n,t,i,r,u,f){var o=t.axis.reversed,e=n.inverted;return n=n.plotHeight,t=t.isNegative&&!o||!t.isNegative&&o,{x:e?t?r:r-f:i,y:e?n-i-u:t?n-r-f:n-r,width:e?f:u,height:e?u:f}}},s.prototype.getStacks=function(){var n=this;f(n.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)}),f(n.series,function(t){!t.options.stacking||!0!==t.visible&&!1!==n.options.chart.ignoreHiddenSeries||(t.stackKey=t.type+i(t.options.stack,""))})},r.prototype.buildStacks=function(){var t=this.series,u=i(this.options.reversedStacks,!0),r=t.length,n;if(!this.isXAxis){for(this.usePercentage=!1,n=r;n--;)t[u?n:r-n-1].setStackedPoints();if(this.usePercentage)for(n=0;n<r;n++)t[n].setPercentStacks()}},r.prototype.renderStackTotals=function(){var i=this.chart,r=i.renderer,u=this.stacks,n=this.stackTotalGroup;n||(this.stackTotalGroup=n=r.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()),n.translate(i.plotLeft,i.plotTop),t(u,function(i){t(i,function(t){t.render(n)})})},r.prototype.resetStacks=function(){var n=this,i=n.stacks;n.isXAxis||t(i,function(i){t(i,function(t,r){t.touched<n.stacksTouched?(t.destroy(),delete i[r]):(t.total=null,t.cum=null)})})},r.prototype.cleanStacks=function(){var n;this.isXAxis||(this.oldStacks&&(n=this.stacks=this.oldStacks),t(n,function(n){t(n,function(n){n.cum=n.total})}))},e.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var rt=this.processedXData,g=this.processedYData,d=[],it=g.length,l=this.options,k=l.threshold,y=l.startFromThreshold?k:0,tt=l.stack,l=l.stacking,p=this.stackKey,nt="-"+p,b=this.negStacks,h=this.yAxis,e=h.stacks,w=h.oldStacks,v,f,t,a,c,r,s;for(h.stacksTouched+=1,c=0;c<it;c++)r=rt[c],s=g[c],v=this.getStackIndicator(v,r,this.index),a=v.key,t=(f=b&&s<(y?0:k))?nt:p,e[t]||(e[t]={}),e[t][r]||(w[t]&&w[t][r]?(e[t][r]=w[t][r],e[t][r].total=null):e[t][r]=new n.StackItem(h,h.options.stackLabels,f,r,tt)),t=e[t][r],null!==s&&(t.points[a]=t.points[this.index]=[i(t.cum,y)],o(t.cum)||(t.base=a),t.touched=h.stacksTouched,0<v.index&&!1===this.singleStacks&&(t.points[a][0]=t.points[this.index+","+r+",0"][0])),"percent"===l?(f=f?p:nt,b&&e[f]&&e[f][r]?(f=e[f][r],t.total=f.total=Math.max(f.total,t.total)+Math.abs(s)||0):t.total=u(t.total+(Math.abs(s)||0))):t.total=u(t.total+(s||0)),t.cum=i(t.cum,y)+(s||0),null!==s&&(t.points[a].push(t.cum),d[c]=t.cum);"percent"===l&&(h.usePercentage=!0),this.stackedYData=d,h.oldStacks={}}},e.prototype.setPercentStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacks,e=n.processedXData,t;f([i,"-"+i],function(i){for(var s=e.length,f,o;s--;)(f=e[s],t=n.getStackIndicator(t,f,n.index,i),f=(o=r[i]&&r[i][f])&&o.points[t.key])&&(o=o.total?100/o.total:0,f[0]=u(f[0]*o),f[1]=u(f[1]*o),n.stackedYData[s]=f[1])})},e.prototype.getStackIndicator=function(n,t,i,r){return!o(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}}(n),function(n){var d=n.addEvent,v=n.animate,c=n.Axis,s=n.createElement,f=n.css,tt=n.defined,i=n.each,h=n.erase,r=n.extend,l=n.fireEvent,e=n.inArray,a=n.isNumber,o=n.isObject,k=n.isArray,u=n.merge,y=n.objectEach,t=n.pick,g=n.Point,nt=n.Series,p=n.seriesTypes,b=n.setAnimation,w=n.splat;r(n.Chart.prototype,{addSeries:function(n,i,r){var f,u=this;return n&&(i=t(i,!0),l(u,"addSeries",{options:n},function(){f=u.initSeries(n),u.isDirtyLegend=!0,u.linkSeries(),i&&u.redraw(r)})),f},addAxis:function(n,i,r,f){var e=i?"xAxis":"yAxis",o=this.options;return n=u(n,{index:this[e].length,isX:i}),i=new c(this,n),o[e]=w(o[e]||{}),o[e].push(n),t(r,!0)&&this.redraw(f),i},showLoading:function(n){var t=this,e=t.options,i=t.loadingDiv,u=e.loading,o=function(){i&&f(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=s("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container),t.loadingSpan=s("span",{className:"highcharts-loading-inner"},null,i),d(t,"redraw",o)),i.className="highcharts-loading",t.loadingSpan.innerHTML=n||e.lang.loading,f(i,r(u.style,{zIndex:10})),f(t.loadingSpan,u.labelStyle),t.loadingShown||(f(i,{opacity:0,display:""}),v(i,{opacity:u.style.opacity||.5},{duration:u.showDuration||0})),t.loadingShown=!0,o()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&(n.className="highcharts-loading highcharts-loading-hidden",v(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){f(n,{display:"none"})}})),this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions tooltip".split(" "),update:function(n,r,f){var o=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},s=n.chart,h,c,v=[];s&&(u(!0,o.options.chart,s),"className"in s&&o.setClassName(s.className),("inverted"in s||"polar"in s)&&(o.propFromSeries(),h=!0),"alignTicks"in s&&(h=!0),y(s,function(n,t){-1!==e("chart."+t,o.propsRequireUpdateSeries)&&(c=!0),-1!==e(t,o.propsRequireDirtyBox)&&(o.isDirtyBox=!0)}),"style"in s&&o.renderer.setStyle(s.style)),n.colors&&(this.options.colors=n.colors),n.plotOptions&&u(!0,this.options.plotOptions,n.plotOptions),y(n,function(n,t){o[t]&&"function"==typeof o[t].update?o[t].update(n,!1):"function"==typeof o[l[t]]&&o[l[t]](n),"chart"!==t&&-1!==e(t,o.propsRequireUpdateSeries)&&(c=!0)}),i("xAxis yAxis zAxis series colorAxis pane".split(" "),function(t){n[t]&&(i(w(n[t]),function(n,i){(i=tt(n.id)&&o.get(n.id)||o[t][i])&&i.coll===t&&(i.update(n,!1),f&&(i.touched=!0)),!i&&f&&("series"===t?o.addSeries(n,!1).touched=!0:("xAxis"===t||"yAxis"===t)&&(o.addAxis(n,"xAxis"===t,!1).touched=!0))}),f&&i(o[t],function(n){n.touched?delete n.touched:v.push(n)}))}),i(v,function(n){n.remove(!1)}),h&&i(o.axes,function(n){n.update({},!1)}),c&&i(o.series,function(n){n.update({},!1)}),n.loading&&u(!0,o.options.loading,n.loading),h=s&&s.width,s=s&&s.height,a(h)&&h!==o.chartWidth||a(s)&&s!==o.chartHeight?o.setSize(h,s):t(r,!0)&&o.redraw()},setSubtitle:function(n){this.setTitle(void 0,n)}}),r(g.prototype,{update:function(n,i,r,u){function a(){f.applyOptions(n),null===f.y&&s&&(f.graphic=s.destroy()),o(n,!0)&&(s&&s.element&&n&&n.marker&&void 0!==n.marker.symbol&&(f.graphic=s.destroy()),n&&n.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy())),h=f.index,e.updateParallelArrays(f,h),l.data[h]=o(l.data[h],!0)||o(n,!0)?f.options:n,e.isDirty=e.isDirtyData=!0,!e.fixedBox&&e.hasCartesianSeries&&(c.isDirtyBox=!0),"point"===l.legendType&&(c.isDirtyLegend=!0),i&&c.redraw(r)}var f=this,e=f.series,s=f.graphic,h,c=e.chart,l=e.options;i=t(i,!0),!1===u?a():f.firePointEvent("update",{options:n},a)},remove:function(n,t){this.series.removePoint(e(this,this.series.data),n,t)}}),r(nt.prototype,{addPoint:function(n,i,r,u){var l=this.options,s=this.data,y=this.chart,o=this.xAxis,o=o&&o.hasNames&&o.names,a=l.data,e,v,c=this.xData,f,h;if(i=t(i,!0),e={series:this},this.pointClass.prototype.applyOptions.apply(e,[n]),h=e.x,f=c.length,this.requireSorting&&h<c[f-1])for(v=!0;f&&c[f-1]>h;)f--;this.updateParallelArrays(e,"splice",f,0,0),this.updateParallelArrays(e,f),o&&e.name&&(o[h]=e.name),a.splice(f,0,n),v&&(this.data.splice(f,0,null),this.processData()),"point"===l.legendType&&this.generatePoints(),r&&(s[0]&&s[0].remove?s[0].remove(!1):(s.shift(),this.updateParallelArrays(e,"shift"),a.shift())),this.isDirtyData=this.isDirty=!0,i&&y.redraw(u)},removePoint:function(n,i,r){var u=this,e=u.data,f=e[n],o=u.points,s=u.chart,h=function(){o&&o.length===e.length&&o.splice(n,1),e.splice(n,1),u.options.data.splice(n,1),u.updateParallelArrays(f||{series:u},"splice",n,1),f&&f.destroy(),u.isDirty=!0,u.isDirtyData=!0,i&&s.redraw()};b(r,s),i=t(i,!0),f?f.firePointEvent("remove",null,h):h()},remove:function(n,i,r){function e(){f.destroy(),u.isDirtyLegend=u.isDirtyBox=!0,u.linkSeries(),t(n,!0)&&u.redraw(i)}var f=this,u=f.chart;!1!==r?l(f,"remove",null,e):e()},update:function(n,f){var e=this,s=e.chart,l=e.userOptions,h=e.oldType||e.type,c=n.type||l.type||s.options.chart.type,v=p[h].prototype,a,o=["group","markerGroup","dataLabelsGroup","navigatorSeries","baseSeries"],y=e.finishedAnimating&&{animation:!1};if(Object.keys&&"data"===Object.keys(n).toString())return this.setData(n.data,f);(c&&c!==h||void 0!==n.zIndex)&&(o.length=0),i(o,function(n){o[n]=e[n],delete e[n]}),n=u(l,y,{index:e.index,pointStart:e.xData[0]},{data:e.options.data},n),e.remove(!1,null,!1);for(a in v)e[a]=void 0;r(e,p[c||h].prototype),i(o,function(n){e[n]=o[n]}),e.init(s,n),e.oldType=h,s.linkSeries(),t(f,!0)&&s.redraw(!1)}}),r(c.prototype,{update:function(n,i){var f=this.chart;n=f.options[this.coll][this.options.index]=u(this.userOptions,n),this.destroy(!0),this.init(f,r(n,{events:void 0})),f.isDirtyBox=!0,t(i,!0)&&f.redraw()},remove:function(n){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);h(r.axes,this),h(r[u],this),k(r.options[u])?r.options[u].splice(this.options.index,1):delete r.options[u],i(r[u],function(n,t){n.options.index=t}),this.destroy(),r.isDirtyBox=!0,t(n,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}})}(n),function(n){var u=n.color,i=n.each,f=n.map,t=n.pick,r=n.Series,e=n.seriesType;e("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(r){var c=[],o=[],w=this.xAxis,s=this.yAxis,h=s.stacks[this.stackKey],e={},l=this.index,a=s.series,v=a.length,y,p=t(s.options.reversedStacks,!0)?1:-1,u;if(r=r||this.points,this.options.stacking){for(u=0;u<r.length;u++)e[r[u].x]=r[u];n.objectEach(h,function(n,t){null!==n.total&&o.push(t)}),o.sort(function(n,t){return n-t}),y=f(a,function(){return this.visible}),i(o,function(n,t){var r=0,f,a;if(e[n]&&!e[n].isNull)c.push(e[n]),i([-1,1],function(i){var c=1===i?"rightNull":"leftNull",r=0,s=h[o[t+i]];if(s)for(u=l;0<=u&&u<v;)f=s.points[u],f||(u===l?e[n][c]=!0:y[u]&&(a=h[n].points[u])&&(r-=a[1]-a[0])),u+=p;e[n][1===i?"rightCliff":"leftCliff"]=r});else{for(u=l;0<=u&&u<v;){if(f=h[n].points[u]){r=f[1];break}u+=p}r=s.translate(r,0,1,0,1),c.push({isNull:!0,plotX:w.translate(n,0,0,0,1),x:n,plotY:r,yBottom:r})}})}return c},getGraphPath:function(n){var e=r.prototype.getGraphPath,f=this.options,o=f.stacking,s=this.yAxis,i,u,h=[],c=[],p=this.index,l,w=s.stacks[this.stackKey],b=f.threshold,a=s.getThreshold(f.threshold),v,f=f.connectNulls||"percent"===o,y=function(t,i,r){var u=n[t],e,f,v;t=o&&w[u.x].points[p],e=u[r+"Null"]||0,r=u[r+"Cliff"]||0,u=!0,r||e?(f=(e?t[0]:t[1])+r,v=t[0]+r,u=!!e):!o&&n[i]&&n[i].isNull&&(f=v=b),void 0!==f&&(c.push({plotX:l,plotY:null===f?a:s.getThreshold(f),isNull:u,isCliff:!0}),h.push({plotX:l,plotY:null===v?a:s.getThreshold(v),doCurve:!1}))};for(n=n||this.points,o&&(n=this.getStackPoints(n)),i=0;i<n.length;i++)(u=n[i].isNull,l=t(n[i].rectPlotX,n[i].plotX),v=t(n[i].yBottom,a),!u||f)&&(f||y(i,i-1,"left"),u&&!o&&f||(c.push(n[i]),h.push({x:i,plotX:l,plotY:v})),f||y(i,i+1,"right"));return i=e.call(this,c,!0,!0),h.reversed=!0,u=e.call(this,h,!0,!0),u.length&&(u[0]="L"),u=i.concat(u),e=e.call(this,c,!1,f),u.xMap=i.xMap,this.areaPath=u,e},drawGraph:function(){this.areaPath=[],r.prototype.drawGraph.apply(this);var n=this,f=this.areaPath,e=this.options,o=[["area","highcharts-area",this.color,e.fillColor]];i(this.zones,function(t,i){o.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||n.color,t.fillColor||e.fillColor])}),i(o,function(i){var o=i[0],r=n[o];r?(r.endX=f.xMap,r.animate({d:f})):(r=n[o]=n.chart.renderer.path(f).addClass(i[1]).attr({fill:t(i[3],u(i[2]).setOpacity(t(e.fillOpacity,.75)).get()),zIndex:0}).add(n.group),r.isArea=!0),r.startX=f.xMap,r.shiftUnit=e.step?2:1})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle})}(n),function(n){var t=n.pick;n=n.seriesType,n("spline","line",{},{getPointSpline:function(n,i,r){var h=i.plotX,u=i.plotY,o=n[r-1],c,e,s,f,l;return r=n[r+1],!o||o.isNull||!1===o.doCurve||i.isCliff||!r||r.isNull||!1===r.doCurve||i.isCliff||(n=o.plotY,s=r.plotX,r=r.plotY,l=0,c=(1.5*h+o.plotX)/2.5,e=(1.5*u+n)/2.5,s=(1.5*h+s)/2.5,f=(1.5*u+r)/2.5,s!==c&&(l=(f-e)*(s-h)/(s-c)+u-f),e+=l,f+=l,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),i.rightContX=s,i.rightContY=f),i=["C",t(o.rightContX,o.plotX),t(o.rightContY,o.plotY),t(c,h),t(e,u),h,u],o.rightContX=o.rightContY=null,i}})}(n),function(n){var t=n.seriesTypes.area.prototype,i=n.seriesType;i("areaspline","spline",n.defaultPlotOptions.area,{getStackPoints:t.getStackPoints,getGraphPath:t.getGraphPath,drawGraph:t.drawGraph,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle})}(n),function(n){var f=n.animObject,e=n.color,t=n.each,o=n.extend,s=n.isNumber,u=n.merge,i=n.pick,r=n.Series,h=n.seriesType,c=n.svg;h("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var n=this,r=n.options,u=n.xAxis,c=n.yAxis,l=u.reversed,f,o={},e=0;!1===r.grouping?e=1:t(n.chart.series,function(t){var r=t.options,u=t.yAxis,i;t.type!==n.type||!t.visible&&n.chart.options.chart.ignoreHiddenSeries||c.len!==u.len||c.pos!==u.pos||(r.stacking?(f=t.stackKey,void 0===o[f]&&(o[f]=e++),i=o[f]):!1!==r.grouping&&(i=e++),t.columnIndex=i)});var s=Math.min(Math.abs(u.transA)*(u.ordinalSlope||r.pointRange||u.closestPointRange||u.tickInterval||1),u.len),a=s*r.groupPadding,h=(s-2*a)/(e||1),r=Math.min(r.maxPointWidth||u.len,i(r.pointWidth,h*(1-2*r.pointPadding)));return n.columnMetrics={width:r,offset:(h-r)/2+(a+((n.columnIndex||0)+(l?1:0))*h-s/2)*(l?-1:1)}},crispCol:function(n,t,i,r){var e=this.chart,u=this.borderWidth,f=-(u%2?.5:0),u=u%2?.5:1;return 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}},translate:function(){var n=this,o=n.chart,s=n.options,c=n.dense=2>n.closestPointRange*n.xAxis.transA,c=n.borderWidth=i(s.borderWidth,c?0:1),u=n.yAxis,e=n.translatedThreshold=u.getThreshold(s.threshold),f=i(s.minPointLength,5),l=n.getColumnMetrics(),a=l.width,h=n.barW=Math.max(a,1+2*c),v=n.pointXOffset=l.offset;o.inverted&&(e-=.5),s.pointPadding&&(h=Math.ceil(h)),r.prototype.translate.apply(n),t(n.points,function(t){var l=i(t.yBottom,e),r=999+Math.abs(l),r=Math.min(Math.max(-r,t.plotY),u.len+r),s=t.plotX+v,y=h,p=Math.min(r,l),w,c=Math.max(r,l)-p;Math.abs(c)<f&&f&&(c=f,w=!u.reversed&&!t.negative||u.reversed&&t.negative,p=Math.abs(p-e)>f?l-f:e-(w?f:0)),t.barX=s,t.pointWidth=a,t.tooltipPos=o.inverted?[u.len+u.pos-o.plotLeft-r,n.xAxis.len-s-y/2,c]:[s+y/2,r+u.pos-o.plotTop,c],t.shapeType="rect",t.shapeArgs=n.crispCol.apply(n,t.isNull?[s,e,y,0]:[s,p,y,c])})},getSymbol:n.noop,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,t){var o=this.options,r,f=this.pointAttrToOptions||{};r=f.stroke||"borderColor";var s=f["stroke-width"]||"borderWidth",i=n&&n.color||this.color,h=n[r]||o[r]||this.color||i,c=n[s]||o[s]||this[s]||0,f=o.dashStyle;return n&&this.zones.length&&(i=n.getZone(),i=n.options.color||i&&i.color||this.color),t&&(n=u(o.states[t],n.options.states&&n.options.states[t]||{}),t=n.brightness,i=n.color||void 0!==t&&e(i).brighten(n.brightness).get()||i,h=n[r]||h,c=n[s]||c,f=n.dashStyle||f),r={fill:i,stroke:h,"stroke-width":c},f&&(r.dashstyle=f),r},drawPoints:function(){var i=this,f=this.chart,n=i.options,e=f.renderer,o=n.animationLimit||250,r;t(i.points,function(t){var h=t.graphic;s(t.plotY)&&null!==t.y?(r=t.shapeArgs,h?h[f.pointCount<o?"animate":"attr"](u(r)):t.graphic=h=e[t.shapeType](r).add(t.group||i.group),n.borderRadius&&h.attr({r:n.borderRadius}),h.attr(i.pointAttribs(t,t.selected&&"select")).shadow(n.shadow,null,n.stacking&&!n.borderRadius),h.addClass(t.getClassName(),!0)):h&&(t.graphic=h.destroy())})},animate:function(n){var t=this,i=this.yAxis,e=t.options,u=this.chart.inverted,r={};c&&(n?(r.scaleY=.001,n=Math.min(i.pos+i.len,Math.max(i.pos,i.toPixels(e.threshold))),u?r.translateX=n-i.len:r.translateY=n,t.group.attr(r)):(r[u?"translateX":"translateY"]=i.pos,t.group.animate(r,o(f(t.options.animation),{step:function(n,i){t.group.attr({scaleY:Math.max(.001,i.pos)})}})),t.animate=null))},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)}),r.prototype.remove.apply(n,arguments)}})}(n),function(n){n=n.seriesType,n("bar","column",null,{inverted:!0})}(n),function(n){var t=n.Series;n=n.seriesType,n("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.85em"> {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&&t.prototype.drawGraph.call(this)}})}(n),function(n){var t=n.pick,i=n.relativeLength;n.CenteredSeriesMixin={getCenter:function(){for(var u=this.options,f=this.chart,e=2*(u.slicedOffset||0),s=f.plotWidth-2*e,f=f.plotHeight-2*e,n=u.center,n=[t(n[0],"50%"),t(n[1],"50%"),u.size||"100%",u.innerSize||0],h=Math.min(s,f),o,r=0;4>r;++r)o=n[r],u=2>r||2===r&&/%$/.test(o),n[r]=i(o,[s,f,h,n[2]][r])+(u?e:0);return n[3]>n[2]&&(n[3]=n[2]),n}}}(n),function(n){var r=n.addEvent,e=n.defined,i=n.each,o=n.extend,u=n.inArray,f=n.noop,t=n.pick,s=n.Point,h=n.Series,c=n.seriesType,l=n.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){if(!this.point.isNull)return this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:n.seriesTypes.column.prototype.pointAttribs,animate:function(n){var t=this,u=t.points,r=t.startAngleRad;n||(i(u,function(n){var i=n.graphic,u=n.shapeArgs;i&&(i.attr({r:n.startR||t.center[3]/2,start:r,end:r}),i.animate({r:u.r,start:u.start,end:u.end},t.options.animation))}),t.animate=null)},updateTotals:function(){for(var i=0,r=this.points,u=r.length,n,f=this.options.ignoreHiddenPoint,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(){h.prototype.generatePoints.call(this),this.updateTotals()},translate:function(n){this.generatePoints();var c=0,f=this.options,l=f.slicedOffset,y=l+(f.borderWidth||0),e,u,i,s=f.startAngle||0,a=this.startAngleRad=Math.PI/180*(s-90),s=(this.endAngleRad=Math.PI/180*(t(f.endAngle,s+360)-90))-a,v=this.points,o,p=f.dataLabels.distance,f=f.ignoreHiddenPoint,h,w=v.length,r;for(n||(this.center=n=this.getCenter()),this.getX=function(t,r,u){return i=Math.asin(Math.min((t-n[1])/(n[2]/2+u.labelDistance),1)),n[0]+(r?-1:1)*Math.cos(i)*(n[2]/2+u.labelDistance)},h=0;h<w;h++)r=v[h],r.labelDistance=t(r.options.dataLabels&&r.options.dataLabels.distance,p),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,r.labelDistance),e=a+c*s,(!f||r.visible)&&(c+=r.percentage/100),u=a+c*s,r.shapeType="arc",r.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:Math.round(1e3*e)/1e3,end:Math.round(1e3*u)/1e3},i=(u+e)/2,i>1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),r.slicedTranslation={translateX:Math.round(Math.cos(i)*l),translateY:Math.round(Math.sin(i)*l)},u=Math.cos(i)*n[2]/2,o=Math.sin(i)*n[2]/2,r.tooltipPos=[n[0]+.7*u,n[1]+.7*o],r.half=i<-Math.PI/2||i>Math.PI/2?1:0,r.angle=i,e=Math.min(y,r.labelDistance/5),r.labelPos=[n[0]+u+Math.cos(i)*r.labelDistance,n[1]+o+Math.sin(i)*r.labelDistance,n[0]+u+Math.cos(i)*e,n[1]+o+Math.sin(i)*e,n[0]+u,n[1]+o,0>r.labelDistance?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,u=n.chart.renderer,r,t,f,e,s=n.options.shadow;s&&!n.shadowGroup&&(n.shadowGroup=u.g("shadow").add(n.group)),i(n.points,function(i){if(!i.isNull){t=i.graphic,e=i.shapeArgs,r=i.getTranslate();var h=i.shadowGroup;s&&!h&&(h=i.shadowGroup=u.g("shadow").add(n.shadowGroup)),h&&h.attr(r),f=n.pointAttribs(i,i.selected&&"select"),t?t.setRadialReference(n.center).attr(f).animate(o(e,r)):(i.graphic=t=u[i.shapeType](e).setRadialReference(n.center).attr(r).add(n.group),i.visible||t.attr({visibility:"hidden"}),t.attr(f).attr({"stroke-linejoin":"round"}).shadow(s,h)),t.addClass(i.getClassName())}})},searchPoint:f,sortByAngle:function(n,t){n.sort(function(n,i){return void 0!==n.angle&&(i.angle-n.angle)*t})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,getCenter:n.CenteredSeriesMixin.getCenter,getSymbol:f},{init:function(){s.prototype.init.apply(this,arguments);var n=this,i;return n.name=t(n.name,"Slice"),i=function(t){n.slice("select"===t.type)},r(n,"select",i),r(n,"unselect",i),n},isValid:function(){return n.isNumber(this.y,!0)&&0<=this.y},setVisible:function(n,r){var f=this,e=f.series,o=e.chart,s=e.options.ignoreHiddenPoint;r=t(r,s),n!==f.visible&&(f.visible=f.options.visible=n=void 0===n?!f.visible:n,e.options.data[u(f,e.data)]=f.options,i(["graphic","dataLabel","connector","shadowGroup"],function(t){f[t]&&f[t][n?"show":"hide"](!0)}),f.legendItem&&o.legend.colorizeItem(f,n),n||"hover"!==f.state||f.setState(""),s&&(e.isDirty=!0),r&&o.redraw())},slice:function(n,i,r){var f=this.series;l(r,f.chart),t(i,!0),this.sliced=this.options.sliced=e(n)?n:!this.sliced,f.options.data[u(this,f.data)]=this.options,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:this.shapeArgs.r,start:t.start,end:t.end})}})}(n),function(n){var h=n.addEvent,c=n.arrayMax,f=n.defined,i=n.each,o=n.extend,l=n.format,a=n.map,s=n.merge,v=n.noop,t=n.pick,y=n.relativeLength,u=n.Series,r=n.seriesTypes,e=n.stableSort;n.distribute=function(n,t){function s(n,t){return n.target-t.target}for(var u=!0,o=n,h=[],f=0,r=n.length;r--;)f+=n[r].size;if(f>t){for(e(n,function(n,t){return(t.rank||0)-(n.rank||0)}),f=r=0;f<=t;)f+=n[r].size,r++;h=n.splice(r-1,n.length)}for(e(n,s),n=a(n,function(n){return{size:n.size,targets:[n.target]}});u;){for(r=n.length;r--;)u=n[r],f=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=Math.min(Math.max(0,f-u.size/2),t-u.size);for(r=n.length,u=!1;r--;)0<r&&n[r-1].pos+n[r-1].size>n[r].pos&&(n[r-1].size+=n[r].size,n[r-1].targets=n[r-1].targets.concat(n[r].targets),n[r-1].pos+n[r-1].size>t&&(n[r-1].pos=t-n[r-1].size),n.splice(r,1),u=!0)}r=0,i(n,function(n){var t=0;i(n.targets,function(){o[r].pos=n.pos+t,t+=o[r].size,r++})}),o.push.apply(o,h),e(o,s)},u.prototype.drawDataLabels=function(){var u=this,e=u.options,r=e.dataLabels,b=u.points,a,v,y=u.hasRendered||0,o,c,p=t(r.defer,!!e.animation),w=u.chart.renderer;(r.enabled||u._hasPointLabels)&&(u.dlProcessOptions&&u.dlProcessOptions(r),c=u.plotGroup("dataLabelsGroup","data-labels",p&&!y?"hidden":"visible",r.zIndex||6),p&&(c.attr({opacity:+y}),y||h(u,"afterAnimate",function(){u.visible&&c.show(!0),c[e.animation?"animate":"attr"]({opacity:1},{duration:200})})),v=r,i(b,function(i){var k,h=i.dataLabel,p,b,d=i.connector,g=!h,y;a=i.dlOptions||i.options&&i.options.dataLabels,(k=t(a&&a.enabled,v.enabled)&&null!==i.y)&&(r=s(v,a),p=i.getLabelConfig(),o=r.format?l(r.format,p):r.formatter.call(p,r),y=r.style,p=r.rotation,y.color=t(r.color,y.color,u.color,"#000000"),"contrast"===y.color&&(i.contrastColor=w.getContrast(i.color||u.color),y.color=r.inside||0>t(i.labelDistance,r.distance)||e.stacking?i.contrastColor:"#000000"),e.cursor&&(y.cursor=e.cursor),b={fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth,r:r.borderRadius||0,rotation:p,padding:r.padding,zIndex:1},n.objectEach(b,function(n,t){void 0===n&&delete b[t]})),!h||k&&f(o)?k&&f(o)&&(h?b.text=o:(h=i.dataLabel=w[p?"text":"label"](o,0,-9999,r.shape,null,null,r.useHTML,null,"data-label"),h.addClass("highcharts-data-label-color-"+i.colorIndex+" "+(r.className||"")+(r.useHTML?"highcharts-tracker":""))),h.attr(b),h.css(y).shadow(r.shadow),h.added||h.add(c),u.alignDataLabel(i,h,r,null,g)):(i.dataLabel=h=h.destroy(),d&&(i.connector=d.destroy()))}))},u.prototype.alignDataLabel=function(n,i,r,u,f){var h=this.chart,l=h.inverted,e=t(n.plotX,-9999),c=t(n.plotY,-9999),s=i.getBBox(),a,v=r.rotation,y=r.align,p=this.visible&&(n.series.forceDL||h.isInsidePlot(e,Math.round(c),l)||u&&h.isInsidePlot(e,l?u.x+1:u.y+u.height-1,l)),w="justify"===t(r.overflow,"justify");p&&(a=r.style.fontSize,a=h.renderer.fontMetrics(a,i).b,u=o({x:l?this.yAxis.len-c:e,y:Math.round(l?this.xAxis.len-e:c),width:0,height:0},u),o(r,{width:s.width,height:s.height}),v?(w=!1,e=h.renderer.rotCorr(a,v),e={x:u.x+r.x+u.width/2+e.x,y:u.y+r.y+{top:0,middle:.5,bottom:1}[r.verticalAlign]*u.height},i[f?"attr":"animate"](e).attr({align:y}),c=(v+720)%360,c=180<c&&360>c,"left"===y?e.y-=c?s.height:0:"center"===y?(e.x-=s.width/2,e.y-=s.height/2):"right"===y&&(e.x-=s.width,e.y-=c?0:s.height)):(i.align(r,null,u),e=i.alignAttr),w?n.isLabelJustified=this.justifyDataLabel(i,r,e,s,u,f):t(r.crop,!0)&&(p=h.isInsidePlot(e.x,e.y)&&h.isInsidePlot(e.x+s.width,e.y+s.height)),r.shape&&!v)&&i[f?"attr":"animate"]({anchorX:l?h.plotWidth-n.plotY:n.plotX,anchorY:l?h.plotHeight-n.plotX:n.plotY}),p||(i.attr({y:-9999}),i.placed=!1)},u.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,e,o,h=n.box?0:n.padding||0;return e=i.x+h,0>e&&("right"===c?t.align="left":t.x=-e,o=!0),e=i.x+r.width-h,e>s.plotWidth&&("left"===c?t.align="right":t.x=s.plotWidth-e,o=!0),e=i.y+h,0>e&&("bottom"===l?t.verticalAlign="top":t.y=-e,o=!0),e=i.y+r.height-h,e>s.plotHeight&&("top"===l?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0),o&&(n.placed=!f,n.align(t,null,u)),o},r.pie&&(r.pie.prototype.drawDataLabels=function(){var r=this,et=r.data,o,w=r.chart,h=r.options.dataLabels,y=t(h.connectorPadding,10),ot=t(h.connectorWidth,1),rt=w.plotWidth,ut=w.plotHeight,l,it=r.center,g=it[2]/2,tt=it[1],a,b,p,k,ft=[[],[]],v,e,d,nt,s=[0,0,0,0];r.visible&&(h.enabled||r._hasPointLabels)&&(i(et,function(n){n.dataLabel&&n.visible&&n.dataLabel.shortened&&(n.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.dataLabel.shortened=!1)}),u.prototype.drawDataLabels.apply(r),i(et,function(n){n.dataLabel&&n.visible&&(ft[n.half].push(n),n.dataLabel._pos=null)}),i(ft,function(u,c){var l,ft,st=u.length,et=[],ot;if(st)for(r.sortByAngle(u,c-.5),0<r.maxLabelDistance&&(l=Math.max(0,tt-g-r.maxLabelDistance),ft=Math.min(tt+g+r.maxLabelDistance,w.plotHeight),i(u,function(n){0<n.labelDistance&&n.dataLabel&&(n.top=Math.max(0,tt-g-n.labelDistance),n.bottom=Math.min(tt+g+n.labelDistance,w.plotHeight),ot=n.dataLabel.getBBox().height||21,n.positionsIndex=et.push({target:n.labelPos[1]-n.top+ot/2,size:ot,rank:n.y})-1)}),n.distribute(et,ft+ot-l)),nt=0;nt<st;nt++)o=u[nt],ft=o.positionsIndex,p=o.labelPos,a=o.dataLabel,d=!1===o.visible?"hidden":"inherit",l=p[1],et&&f(et[ft])?void 0===et[ft].pos?d="hidden":(k=et[ft].size,e=o.top+et[ft].pos):e=l,delete o.positionIndex,v=h.justify?it[0]+(c?-1:1)*(g+o.labelDistance):r.getX(e<o.top+2||e>o.bottom-2?l:e,c,o),a._attr={visibility:d,align:p[6]},a._pos={x:v+h.x+({left:y,right:-y}[p[6]]||0),y:e+h.y-10},p.x=v,p.y=e,t(h.crop,!0)&&(b=a.getBBox().width,l=null,v-b<y?(l=Math.round(b-v+y),s[3]=Math.max(l,s[3])):v+b>rt-y&&(l=Math.round(v+b-rt+y),s[1]=Math.max(l,s[1])),0>e-k/2?s[0]=Math.max(Math.round(-e+k/2),s[0]):e+k/2>ut&&(s[2]=Math.max(Math.round(e+k/2-ut),s[2])),a.sideOverflow=l)}),0===c(s)||this.verifyDataLabelOverflow(s))&&(this.placeDataLabels(),ot&&i(this.points,function(n){var t;l=n.connector,(a=n.dataLabel)&&a._pos&&n.visible&&0<n.labelDistance?(d=a._attr.visibility,(t=!l)&&(n.connector=l=w.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+n.colorIndex).add(r.dataLabelsGroup),l.attr({"stroke-width":ot,stroke:h.connectorColor||n.color||"#666666"})),l[t?"attr":"animate"]({d:r.connectorPath(n.labelPos)}),l.attr("visibility",d)):l&&(n.connector=l.destroy())}))},r.pie.prototype.connectorPath=function(n){var i=n.x,r=n.y;return t(this.options.dataLabels.softConnector,!0)?["M",i+("left"===n[6]?5:-5),r,"C",i,r,2*n[2]-n[4],2*n[3]-n[5],n[2],n[3],"L",n[4],n[5]]:["M",i+("left"===n[6]?5:-5),r,"L",n[2],n[3],"L",n[4],n[5]]},r.pie.prototype.placeDataLabels=function(){i(this.points,function(n){var t=n.dataLabel;t&&n.visible&&((n=t._pos)?(t.sideOverflow&&(t._attr.width=t.getBBox().width-t.sideOverflow,t.css({width:t._attr.width+"px",textOverflow:"ellipsis"}),t.shortened=!0),t.attr(t._attr),t[t.moved?"animate":"attr"](n),t.moved=!0):t&&t.attr({y:-9999}))},this)},r.pie.prototype.alignDataLabel=v,r.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,r=this.options,e=r.center,u=r.minSize||80,i,f=null!==r.size;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=Math.max(Math.min(i,t[2]-Math.max(n[0],n[2])),u):(i=Math.max(Math.min(i,t[2]-n[0]-n[2]),u),t[1]+=(n[0]-n[2])/2),i<t[2]?(t[2]=i,t[3]=Math.min(y(r.innerSize||0,i),i),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):f=!0),f}),r.column&&(r.column.prototype.alignDataLabel=function(n,i,r,f,e){var h=this.chart.inverted,c=n.series,o=n.dlBox||n.shapeArgs,l=t(n.below,n.plotY>t(this.translatedThreshold,c.yAxis.len)),a=t(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&&(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=t(r.align,!h||a?"center":l?"right":"left"),r.verticalAlign=t(r.verticalAlign,h||a?"middle":l?"top":"bottom"),u.prototype.alignDataLabel.call(this,n,i,r,f,e),n.isLabelJustified&&n.contrastColor&&n.dataLabel.css({color:n.contrastColor})})}(n),function(n){var i=n.Chart,t=n.each,r=n.objectEach,u=n.pick,f=n.addEvent;i.prototype.callbacks.push(function(n){function i(){var i=[];t(n.yAxis||[],function(n){n.options.stackLabels&&!n.options.stackLabels.allowOverlap&&r(n.stacks,function(n){r(n,function(n){i.push(n.label)})})}),t(n.series||[],function(n){var r=n.options.dataLabels,f=n.dataLabelCollections||["dataLabel"];(r.enabled||n._hasPointLabels)&&!r.allowOverlap&&n.visible&&t(f,function(r){t(n.points,function(n){n[r]&&(n[r].labelrank=u(n.labelrank,n.shapeArgs&&n.shapeArgs.height),i.push(n[r]))})})}),n.hideOverlappingLabels(i)}i(),f(n,"redraw",i)}),i.prototype.hideOverlappingLabels=function(n){for(var s=n.length,r,i,u,o,h,c,l,e,a=function(n,t,i,r,u,f,e,o){return!(u>n+i||u+e<n||f>t+r||f+o<t)},f=0;f<s;f++)(r=n[f])&&(r.oldOpacity=r.opacity,r.newOpacity=1,r.width||(i=r.getBBox(),r.width=i.width,r.height=i.height));for(n.sort(function(n,t){return(t.labelrank||0)-(n.labelrank||0)}),f=0;f<s;f++)for(i=n[f],r=f+1;r<s;++r)(u=n[r],i&&u&&i!==u&&i.placed&&u.placed&&0!==i.newOpacity&&0!==u.newOpacity&&(o=i.alignAttr,h=u.alignAttr,c=i.parentGroup,l=u.parentGroup,e=2*(i.box?0:i.padding||0),o=a(o.x+c.translateX,o.y+c.translateY,i.width-e,i.height-e,h.x+l.translateX,h.y+l.translateY,u.width-e,u.height-e)))&&((i.labelrank<u.labelrank?i:u).newOpacity=0);t(n,function(n){var i,t;n&&(t=n.newOpacity,n.oldOpacity!==t&&n.placed&&(t?n.show(!0):i=function(){n.hide()},n.alignAttr.opacity=t,n[n.isOld?"animate":"attr"](n.alignAttr,null,i)),n.isOld=!0)})}}(n),function(n){var l=n.addEvent,b=n.Chart,v=n.createElement,s=n.css,o=n.defaultOptions,g=n.defaultPlotOptions,t=n.each,f=n.extend,i=n.fireEvent,a=n.hasTouch,h=n.inArray,p=n.isObject,w=n.Legend,c=n.merge,u=n.pick,k=n.Point,d=n.Series,r=n.seriesTypes,y=n.svg,e;e=n.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart.pointer,r=function(n){var t=i.getPointFromEvent(n);void 0!==t&&(i.isDirectTouch=!0,t.onMouseOver(n))};t(n.points,function(n){n.graphic&&(n.graphic.element.point=n),n.dataLabel&&(n.dataLabel.div?n.dataLabel.div.point=n:n.dataLabel.element.point=n)}),n._hasTracking||(t(n.trackerGroups,function(t){if(n[t]){n[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(n){i.onTrackerMouseOut(n)});if(a)n[t].on("touchstart",r);n.options.cursor&&n[t].css(s).css({cursor:n.options.cursor})}}),n._hasTracking=!0)},drawTrackerGraph:function(){var n=this,e=n.options,u=e.trackByArea,r=[].concat(u?n.areaPath:n.graphPath),o=r.length,f=n.chart,v=f.pointer,p=f.renderer,s=f.options.tooltip.snap,h=n.tracker,i,c=function(){f.hoverSeries!==n&&n.onMouseOver()},l="rgba(192,192,192,"+(y?.0001:.002)+")";if(o&&!u)for(i=o+1;i--;)"M"===r[i]&&r.splice(i+1,0,r[i+1]-s,r[i+2],"L"),(i&&"M"===r[i]||i===o)&&r.splice(i,0,"L",r[i-2]+s,r[i-1]);h?h.attr({d:r}):n.graph&&(n.tracker=p.path(r).attr({"stroke-linejoin":"round",visibility:n.visible?"visible":"hidden",stroke:l,fill:u?l:"none","stroke-width":n.graph.strokeWidth()+(u?0:2*s),zIndex:2}).add(n.group),t([n.tracker,n.markerGroup],function(n){n.addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(n){v.onTrackerMouseOut(n)});if(e.cursor&&n.css({cursor:e.cursor}),a)n.on("touchstart",c)}))}},r.column&&(r.column.prototype.drawTracker=e.drawTrackerPoint),r.pie&&(r.pie.prototype.drawTracker=e.drawTrackerPoint),r.scatter&&(r.scatter.prototype.drawTracker=e.drawTrackerPoint),f(w.prototype,{setItemEvents:function(n,t,r){var u=this,f=u.chart.renderer.boxWrapper,e="highcharts-legend-"+(n.series?"point":"series")+"-active";(r?t:n.legendGroup).on("mouseover",function(){n.setState("hover"),f.addClass(e),t.css(u.options.itemHoverStyle)}).on("mouseout",function(){t.css(c(n.visible?u.itemStyle:u.itemHiddenStyle)),f.removeClass(e),n.setState()}).on("click",function(t){var r=function(){n.setVisible&&n.setVisible()};t={browserEvent:t},n.firePointEvent?n.firePointEvent("legendItemClick",t,r):i(n,"legendItemClick",t,r)})},createCheckboxForItem:function(n){n.checkbox=v("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container),l(n.checkbox,"click",function(t){i(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}}),o.legend.itemStyle.cursor="pointer",f(b.prototype,{showResetZoom:function(){var t=this,i=o.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,f="chart"===n.relativeTo?null:"plotBox";this.resetZoomButton=t.renderer.button(i.resetZoom,null,null,function(){t.zoomOut()},r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(n.position,!1,f)},zoomOut:function(){var n=this;i(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(n){var r,e=this.pointer,f=!1,i;!n||n.resetSelection?(t(this.axes,function(n){r=n.zoom()}),e.initiated=!1):t(n.xAxis.concat(n.yAxis),function(n){var t=n.axis;e[t.isXAxis?"zoomX":"zoomY"]&&(r=t.zoom(n.min,n.max),t.displayBtn&&(f=!0))}),i=this.resetZoomButton,f&&!i?this.showResetZoom():!f&&p(i)&&(this.resetZoomButton=i.destroy()),r&&this.redraw(u(this.options.chart.animation,n&&n.animation,100>this.pointCount))},pan:function(n,i){var r=this,u=r.hoverPoints,f;u&&t(u,function(n){n.setState()}),t("xy"===i?[1,0]:[1],function(t){t=r[t?"xAxis":"yAxis"][0];var h=t.horiz,l=n[h?"chartX":"chartY"],h=h?"mouseDownX":"mouseDownY",u=r[h],e=(t.pointRange||0)/2,o=t.getExtremes(),i=t.toValue(u-l,!0)+e,e=t.toValue(u+t.len-l,!0)-e,c=e<i,u=c?e:i,i=c?i:e,e=Math.min(o.dataMin,t.toValue(t.toPixels(o.min)-t.minPixelPadding)),c=Math.max(o.dataMax,t.toValue(t.toPixels(o.max)+t.minPixelPadding)),s;s=e-u,0<s&&(i+=s,u=e),s=i-c,0<s&&(i=c,u-=s),t.series.length&&u!==o.min&&i!==o.max&&(t.setExtremes(u,i,!1,!1,{trigger:"pan"}),f=!0),r[h]=l}),f&&r.redraw(!1),s(r.container,{cursor:"move"})}}),f(k.prototype,{select:function(n,i){var r=this,f=r.series,e=f.chart;n=u(n,!r.selected),r.firePointEvent(n?"select":"unselect",{accumulate:i},function(){r.selected=r.options.selected=n,f.options.data[h(r,f.data)]=r.options,r.setState(n&&"select"),i||t(e.getSelectedPoints(),function(n){n.selected&&n!==r&&(n.selected=n.options.selected=!1,f.options.data[h(n,f.data)]=n.options,n.setState(""),n.firePointEvent("unselect"))})})},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"),t(n.hoverPoints||[],function(n){n.setState()}),n.hoverPoints=n.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var t=this,i=c(t.series.options.point,t.options).events;t.events=i,n.objectEach(i,function(n,i){l(t,i,n)}),this.hasImportedEvents=!0}},setState:function(n,t){var h=Math.floor(this.plotX),y=this.plotY,i=this.series,v=i.options.states[n]||{},e=g[i.type].marker&&i.options.marker,p=e&&!1===e.enabled,l=e&&e.states&&e.states[n]||{},w=!1===l.enabled,r=i.stateMarkerGraphic,a=this.marker||{},c=i.chart,o=i.halo,s,b=e&&i.markerAttribs;n=n||"",n===this.state&&!t||this.selected&&"select"!==n||!1===v.enabled||n&&(w||p&&!1===l.enabled)||n&&a.states&&a.states[n]&&!1===a.states[n].enabled||(b&&(s=i.markerAttribs(this,n)),this.graphic?(this.state&&this.graphic.removeClass("highcharts-point-"+this.state),n&&this.graphic.addClass("highcharts-point-"+n),this.graphic.animate(i.pointAttribs(this,n),u(c.options.chart.animation,v.animation)),s&&this.graphic.animate(s,u(c.options.chart.animation,l.animation,e.animation)),r&&r.hide()):(n&&l&&(e=a.symbol||i.symbol,r&&r.currentSymbol!==e&&(r=r.destroy()),r?r[t?"animate":"attr"]({x:s.x,y:s.y}):e&&(i.stateMarkerGraphic=r=c.renderer.symbol(e,s.x,s.y,s.width,s.height).add(i.markerGroup),r.currentSymbol=e),r&&r.attr(i.pointAttribs(this,n))),r&&(r[n&&c.isInsidePlot(h,y,c.inverted)?"show":"hide"](),r.element.point=this)),(h=v.halo)&&h.size?(o||(i.halo=o=c.renderer.path().add((this.graphic||r).parentGroup)),o[t?"animate":"attr"]({d:this.haloPath(h.size)}),o.attr({"class":"highcharts-halo highcharts-color-"+u(this.colorIndex,i.colorIndex)}),o.point=this,o.attr(f({fill:this.color||i.color,"fill-opacity":h.opacity,zIndex:-1},h.attributes))):o&&o.point&&o.point.haloPath&&o.animate({d:o.point.haloPath(0)}),this.state=n)},haloPath:function(n){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-n,this.plotY-n,2*n,2*n)}}),f(d.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut(),this.options.events.mouseOver&&i(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},onMouseOut:function(){var u=this.options,n=this.chart,t=n.tooltip,r=n.hoverPoint;n.hoverSeries=null,r&&r.onMouseOut(),this&&u.events.mouseOut&&i(this,"mouseOut"),!t||this.stickyTracking||t.shared&&!this.noSharedTooltip||t.hide(),this.setState()},setState:function(n){var i=this,e=i.options,o=i.graph,r=e.states,f=e.lineWidth,e=0;if(n=n||"",i.state!==n&&(t([i.group,i.markerGroup,i.dataLabelsGroup],function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),n&&t.addClass("highcharts-series-"+n))}),i.state=n,!r[n]||!1!==r[n].enabled)&&(n&&(f=r[n].lineWidth||f+(r[n].lineWidthPlus||0)),o&&!o.dashstyle))for(f={"stroke-width":f},o.animate(f,u(i.chart.options.chart.animation,r[n]&&r[n].animation));i["zone-graph-"+e];)i["zone-graph-"+e].attr(f),e+=1},setVisible:function(n,r){var u=this,f=u.chart,o=u.legendItem,e,s=f.options.chart.ignoreHiddenSeries,h=u.visible;e=(u.visible=n=u.options.visible=u.userOptions.visible=void 0===n?!h:n)?"show":"hide",t(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(n){u[n]&&u[n][e]()}),(f.hoverSeries===u||(f.hoverPoint&&f.hoverPoint.series)===u)&&u.onMouseOut(),o&&f.legend.colorizeItem(u,n),u.isDirty=!0,u.options.stacking&&t(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)}),t(u.linkedSeries,function(t){t.setVisible(n,!1)}),s&&(f.isDirtyBox=!0),!1!==r&&f.redraw(),i(u,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=void 0===n?!this.selected:n,this.checkbox&&(this.checkbox.checked=n),i(this,n?"select":"unselect")},drawTracker:e.drawTrackerGraph})}(n),function(n){var i=n.Chart,r=n.each,u=n.inArray,f=n.isArray,e=n.isObject,t=n.pick,o=n.splat;i.prototype.setResponsive=function(t){var u=this.options.responsive,i=[],f=this.currentResponsive,e;u&&u.rules&&r(u.rules,function(r){void 0===r._id&&(r._id=n.uniqueKey()),this.matchResponsiveRule(r,i,t)},this),e=n.merge.apply(0,n.map(i,function(t){return n.find(u.rules,function(n){return n._id===t}).chartOptions})),i=i.toString()||void 0,i!==(f&&f.ruleIds)&&(f&&this.update(f.undoOptions,t),i?(this.currentResponsive={ruleIds:i,mergedOptions:e,undoOptions:this.currentOptions(e)},this.update(e,t)):this.currentResponsive=void 0)},i.prototype.matchResponsiveRule=function(n,i){var r=n.condition;(r.callback||function(){return this.chartWidth<=t(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=t(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=t(r.minWidth,0)&&this.chartHeight>=t(r.minHeight,0)}).call(this)&&i.push(n._id)},i.prototype.currentOptions=function(t){function i(t,r,s,h){var c;n.objectEach(t,function(n,l){if(!h&&-1<u(l,["series","xAxis","yAxis"]))for(t[l]=o(t[l]),s[l]=[],c=0;c<t[l].length;c++)r[l][c]&&(s[l][c]={},i(n[c],r[l][c],s[l][c],h+1));else e(n)?(s[l]=f(n)?[]:{},i(n,r[l]||{},s[l],h+1)):s[l]=r[l]||null})}var r={};return i(t,this.options,r,0),r}}(n),n}),function(n){"object"==typeof module&&module.exports?module.exports=n:n(Highcharts)}(function(n){(function(n){var t=n.Axis,l=n.Chart,r=n.color,u,i=n.each,o=n.extend,a=n.isNumber,s=n.Legend,v=n.LegendSymbolMixin,h=n.noop,c=n.merge,f=n.pick,e=n.wrap;u=n.ColorAxis=function(){this.init.apply(this,arguments)},o(u.prototype,t.prototype),o(u.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(t.prototype.keepProps),init:function(n,i){var r="vertical"!==n.options.legend.layout,u;this.coll="colorAxis",u=c(this.defaultColorAxisOptions,{side:r?2:1,reversed:!r},i,{opposite:!r,showEmpty:!1,title:null}),t.prototype.init.call(this,n,u),i.dataClasses&&this.initDataClasses(i),this.initStops(),this.horiz=r,this.zoomEnabled=!1,this.defaultLegendLength=200},initDataClasses:function(n){var f=this.chart,e,t=0,o=f.options.chart.colorCount,u=this.options,s=n.dataClasses.length;this.dataClasses=e=[],this.legendItems=[],i(n.dataClasses,function(n,i){n=c(n),e.push(n),n.color||("category"===u.dataClassColor?(i=f.options.colors,o=i.length,n.color=i[t],n.colorIndex=t,t++,t===o&&(t=0)):n.color=r(u.minColor).tweenTo(r(u.maxColor),2>s?.5:i/(s-1)))})},setTickPositions:function(){if(!this.dataClasses)return t.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]],i(this.stops,function(n){n.color=r(n[1])})},setOptions:function(n){t.prototype.setOptions.call(this,n),this.options.crosshair=this.options.marker},setAxisSize:function(){var n=this.legendSymbol,i=this.chart,t=i.options.legend||{},r,u;n?(this.left=t=n.attr("x"),this.top=r=n.attr("y"),this.width=u=n.attr("width"),this.height=n=n.attr("height"),this.right=i.chartWidth-t-u,this.bottom=i.chartHeight-r-n,this.len=this.horiz?u:n,this.pos=this.horiz?t:r):this.len=(this.horiz?t.symbolWidth:t.symbolHeight)||this.defaultLegendLength},normalizedValue:function(n){return this.isLog&&(n=this.val2lin(n)),1-(this.max-n)/(this.max-this.min||1)},toColor:function(n,t){var i=this.stops,u,e,o=this.dataClasses,f,r;if(o){for(r=o.length;r--;)if(f=o[r],u=f.from,i=f.to,(void 0===u||n>=u)&&(void 0===i||n<=i)){e=f.color,t&&(t.dataClass=r,t.colorIndex=f.colorIndex);break}}else{for(n=this.normalizedValue(n),r=i.length;r--&&!(n>i[r][0]););u=i[r]||i[r+1],i=i[r+1]||u,n=1-(i[0]-n)/(i[0]-u[0]||1),e=u.color.tweenTo(i.color,n)}return e},getOffset:function(){var n=this.legendGroup,i=this.chart.axisOffset[this.side];n&&(this.axisParent=n,t.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i)},setLegendColor:function(){var n,t=this.reversed;n=t?1:0,t=t?0:1,n=this.horiz?[n,0,t,0]:[0,t,0,n],this.legendColor={linearGradient:{x1:n[0],y1:n[1],x2:n[2],y2:n[3]},stops:this.stops}},drawLegendSymbol:function(n,t){var u=n.padding,i=n.options,r=this.horiz,e=f(i.symbolWidth,r?this.defaultLegendLength:12),o=f(i.symbolHeight,r?12:this.defaultLegendLength),s=f(i.labelPadding,r?16:30),i=f(i.itemDistance,10);this.setLegendColor(),t.legendSymbol=this.chart.renderer.rect(0,n.baseline-11,e,o).attr({zIndex:1}).add(t.legendGroup),this.legendItemWidth=e+u+(r?i:s),this.legendItemHeight=o+u+(r?s:0)},setState:h,visible:!0,setVisible:h,getSeriesExtremes:function(){var n=this.series,t=n.length;for(this.dataMin=Infinity,this.dataMax=-Infinity;t--;)void 0!==n[t].valueMin&&(this.dataMin=Math.min(this.dataMin,n[t].valueMin),this.dataMax=Math.max(this.dataMax,n[t].valueMax))},drawCrosshair:function(n,i){var e=i&&i.plotX,o=i&&i.plotY,r,u=this.pos,f=this.len;i&&(r=this.toPixels(i[i.series.colorKey]),r<u?r=u-2:r>u+f&&(r=u+f+2),i.plotX=r,i.plotY=this.len-r,t.prototype.drawCrosshair.call(this,n,i),i.plotX=e,i.plotY=o,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(n,i,r,u,f){return a(f)?this.horiz?["M",f-4,this.top-6,"L",f+4,this.top-6,f,this.top,"Z"]:["M",this.left,f,"L",this.left-6,f+6,this.left-6,f-6,"Z"]:t.prototype.getPlotLinePath.call(this,n,i,r,u)},update:function(n,r){var u=this.chart,f=u.legend;i(this.series,function(n){n.isDirtyData=!0}),n.dataClasses&&f.allItems&&(i(f.allItems,function(n){n.isDataClass&&n.legendGroup&&n.legendGroup.destroy()}),u.isDirtyLegend=!0),u.options[this.coll]=c(this.userOptions,n),t.prototype.update.call(this,n,r),this.legendItem&&(this.setLegendColor(),f.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this),t.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var c=this,r=this.chart,u=this.legendItems,f=r.options.legend,e=f.valueDecimals,s=f.valueSuffix||"",t;return u.length||i(this.dataClasses,function(f,l){var a=!0,y=f.from,p=f.to;t="",void 0===y?t="< ":void 0===p&&(t="> "),void 0!==y&&(t+=n.numberFormat(y,e)+s),void 0!==y&&void 0!==p&&(t+=" - "),void 0!==p&&(t+=n.numberFormat(p,e)+s),u.push(o({chart:r,name:t,options:{},drawLegendSymbol:v.drawRectangle,visible:!0,setState:h,isDataClass:!0,setVisible:function(){a=this.visible=!a,i(c.series,function(n){i(n.points,function(n){n.dataClass===l&&n.setVisible(a)})}),r.legend.colorizeItem(this,a)}},f))}),u},name:""}),i(["fill","stroke"],function(t){n.Fx.prototype[t+"Setter"]=function(){this.elem.attr(t,r(this.start).tweenTo(r(this.end),this.pos),null,!0)}}),e(l.prototype,"getAxes",function(n){var t=this.options.colorAxis;n.call(this),this.colorAxis=[],t&&new u(this,t)}),e(s.prototype,"getAllItems",function(n){var r=[],t=this.chart.colorAxis[0];return t&&t.options&&(t.options.showInLegend&&(t.options.dataClasses?r=r.concat(t.getDataClassLegendSymbols()):r.push(t)),i(t.series,function(n){n.options.showInLegend=!1})),r.concat(n.call(this))}),e(s.prototype,"colorizeItem",function(n,t,i){n.call(this,t,i),i&&t.legendColor&&t.legendSymbol.attr({fill:t.legendColor})}),e(s.prototype,"update",function(n){n.apply(this,[].slice.call(arguments,1)),this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},arguments[2])})})(n),function(n){var i=n.defined,t=n.each,r=n.noop,u=n.seriesTypes;n.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(n){var i=this,r=n?"show":"hide";t(["graphic","dataLabel"],function(n){i[n]&&i[n][r]()})},setState:function(t){n.Point.prototype.setState.call(this,t),this.graphic&&this.graphic.attr({zIndex:"hover"===t?1:0})}},n.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:r,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:u.column.prototype.pointAttribs,translateColors:function(){var i=this,r=this.options.nullColor,n=this.colorAxis,u=this.colorKey;t(this.data,function(t){var f=t[u];(f=t.options.color||(t.isNull?r:n&&void 0!==f?n.toColor(f,t):t.color||i.color))&&(t.color=f)})},colorAttribs:function(n){var t={};return i(n.color)&&(t[this.colorProp||"fill"]=n.color),t}}}(n),function(n){var f=n.colorPointMixin,i=n.each,e=n.merge,r=n.noop,o=n.pick,u=n.Series,s=n.seriesType,t=n.seriesTypes;s("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},e(n.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var n;t.scatter.prototype.init.apply(this,arguments),n=this.options,n.pointRange=o(n.pointRange,n.colsize||1),this.yAxis.axisPointRange=n.rowsize||1},translate:function(){var u=this.options,n=this.xAxis,t=this.yAxis,r=function(n,t,i){return Math.min(Math.max(t,n),i)};this.generatePoints(),i(this.points,function(i){var f=(u.colsize||1)/2,e=(u.rowsize||1)/2,o=r(Math.round(n.len-n.translate(i.x-f,0,1,0,1)),-n.len,2*n.len),f=r(Math.round(n.len-n.translate(i.x+f,0,1,0,1)),-n.len,2*n.len),s=r(Math.round(t.translate(i.y-e,0,1,0,1)),-t.len,2*t.len),e=r(Math.round(t.translate(i.y+e,0,1,0,1)),-t.len,2*t.len);i.plotX=i.clientX=(o+f)/2,i.plotY=(s+e)/2,i.shapeType="rect",i.shapeArgs={x:Math.min(o,f),y:Math.min(s,e),width:Math.abs(f-o),height:Math.abs(e-s)}}),this.translateColors()},drawPoints:function(){t.column.prototype.drawPoints.call(this),i(this.points,function(n){n.graphic.attr(this.colorAttribs(n))},this)},animate:r,getBox:r,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,alignDataLabel:t.column.prototype.alignDataLabel,getExtremes:function(){u.prototype.getExtremes.call(this,this.valueData),this.valueMin=this.dataMin,this.valueMax=this.dataMax,u.prototype.getExtremes.call(this)}}),f)}(n)}),function(n){"object"==typeof module&&module.exports?module.exports=n:n(Highcharts)}(function(n){(function(n){var p=n.seriesType,r=n.seriesTypes,y=n.map,f=n.merge,a=n.extend,l=n.noop,t=n.each,e=n.grep,v=n.isNumber,h=n.isString,i=n.pick,u=n.Series,w=n.stableSort,c=n.Color,b=function(t,i,r){r=r||this,n.objectEach(t,function(n,u){i.call(r,n,u,t)})},s=function(n,i,r,u){return u=u||this,n=n||[],t(n,function(t,f){r=i.call(u,r,t,f,n)}),r},o=function(n,t,i){i=i||this,n=t.call(i,n),!1!==n&&o(n,t,i)};p("treemap","scatter",{showInLegend:!1,marker:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:"middle",formatter:function(){return this.point.name||this.point.id},inside:!0},tooltip:{headerFormat:"",pointFormat:"<b>{point.name}</b>: {point.value}</b><br/>"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:r.heatmap?0:.1,opacity:.75,shadow:!1}}},{pointArrayMap:["value"],axisTypes:r.heatmap?["xAxis","yAxis","colorAxis"]:["xAxis","yAxis"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:l,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",translateColors:r.heatmap&&r.heatmap.prototype.translateColors,trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(r,u){return r=s(r,function(n,t,r){return t=i(t.parent,""),void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{}),b(r,function(i,r,f){""!==r&&-1===n.inArray(r,u)&&(t(i,function(n){f[""].push(n)}),delete f[r])}),r},getTree:function(){var n=y(this.data,function(n){return n.id}),n=this.getListOfParents(this.data,n);return this.nodeMap=[],this.buildNode("",-1,0,n,null)},init:function(t,i){u.prototype.init.call(this,t,i),this.options.allowDrillToNode&&n.addEvent(this,"click",this.onClickDrillToNode)},buildNode:function(n,i,r,u,f){var e=this,o=[],s=e.points[i],h;return t(u[n]||[],function(t){h=e.buildNode(e.points[t].id,t,r+1,u,n),o.push(h)}),i={id:n,i:i,children:o,level:r,parent:f,visible:!1},e.nodeMap[i.id]=i,s&&(s.node=i),i},setTreeValues:function(n){var u=this,s=u.options,e=0,o=[],f,r=u.points[n.i];return t(n.children,function(n){n=u.setTreeValues(n),o.push(n),n.ignore||(e+=n.val)}),w(o,function(n,t){return n.sortIndex-t.sortIndex}),f=i(r&&r.options.value,e),r&&(r.value=f),a(n,{children:o,childrenTotal:e,ignore:!(i(r&&r.visible,!0)&&0<f),isLeaf:n.visible&&!e,levelDynamic:n.level-(s.levelIsConstant?u.nodeMap[u.rootNode].level:0),name:i(r&&r.name,""),sortIndex:i(r&&r.sortIndex,-f),val:f}),n},calculateChildrenAreas:function(n,r){var u=this,s=u.options,o=this.levelMap[n.levelDynamic+1],c=i(u[o&&o.layoutAlgorithm]&&o.layoutAlgorithm,s.layoutAlgorithm),l=s.alternateStartingDirection,h=[];n=e(n.children,function(n){return!n.ignore}),o&&o.layoutStartingDirection&&(r.direction="vertical"===o.layoutStartingDirection?0:1),h=u[c](r,n),t(n,function(n,t){t=h[t],n.values=f(t,{val:n.childrenTotal,direction:l?1-r.direction:r.direction}),n.pointValues=f(t,{x:t.x/u.axisRatio,width:t.width/u.axisRatio}),n.children.length&&u.calculateChildrenAreas(n,n.values)})},setPointValues:function(){var n=this,i=n.xAxis,r=n.yAxis;t(n.points,function(t){var f=t.node,u=f.pointValues,o,s,e;e=(n.pointAttribs(t)["stroke-width"]||0)%2/2,u&&f.visible?(f=Math.round(i.translate(u.x,0,0,0,1))-e,o=Math.round(i.translate(u.x+u.width,0,0,0,1))-e,s=Math.round(r.translate(u.y,0,0,0,1))-e,u=Math.round(r.translate(u.y+u.height,0,0,0,1))-e,t.shapeType="rect",t.shapeArgs={x:Math.min(f,o),y:Math.min(s,u),width:Math.abs(o-f),height:Math.abs(u-s)},t.plotX=t.shapeArgs.x+t.shapeArgs.width/2,t.plotY=t.shapeArgs.y+t.shapeArgs.height/2):(delete t.plotX,delete t.plotY)})},setColorRecursive:function(n,r,u){var e=this,f,o;n&&(f=e.points[n.i],o=e.levelMap[n.levelDynamic],r=i(f&&f.options.color,o&&o.color,r,e.color),u=i(f&&f.options.colorIndex,o&&o.colorIndex,u,e.colorIndex),f&&(f.color=r,f.colorIndex=u),n.children.length&&t(n.children,function(n){e.setColorRecursive(n,r,u)}))},algorithmGroup:function(n,t,i,r){this.height=n,this.width=t,this.plot=r,this.startDirection=this.direction=i,this.lH=this.nH=this.lW=this.nW=this.total=0,this.elArr=[],this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(n,t){return Math.max(n/t,t/n)}},this.addElement=function(n){this.lP.total=this.elArr[this.elArr.length-1],this.total+=n,0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH)),this.elArr.push(n)},this.reset=function(){this.lW=this.nW=0,this.elArr=[],this.total=0}},algorithmCalcPoints:function(n,i,r,u){var s,h,e,o,c=r.lW,l=r.lH,f=r.plot,a,v=0,y=r.elArr.length-1;i?(c=r.nW,l=r.nH):a=r.elArr[r.elArr.length-1],t(r.elArr,function(n){(i||v<y)&&(0===r.direction?(s=f.x,h=f.y,e=c,o=n/e):(s=f.x,h=f.y,o=l,e=n/o),u.push({x:s,y:h,width:e,height:o}),0===r.direction?f.y+=o:f.x+=e),v+=1}),r.reset(),0===r.direction?r.width-=c:r.height-=l,f.y=f.parent.y+(f.parent.height-r.height),f.x=f.parent.x+(f.parent.width-r.width),n&&(r.direction=1-r.direction),i||r.addElement(a)},algorithmLowAspectRatio:function(n,i,r){var f=[],o=this,s,e={x:i.x,y:i.y,parent:i},h=0,c=r.length-1,u=new this.algorithmGroup(i.height,i.width,i.direction,e);return t(r,function(t){s=t.val/i.val*i.height*i.width,u.addElement(s),u.lP.nR>u.lP.lR&&o.algorithmCalcPoints(n,!1,u,f,e),h===c&&o.algorithmCalcPoints(n,!0,u,f,e),h+=1}),f},algorithmFill:function(n,i,r){var s=[],e,o=i.direction,h=i.x,c=i.y,l=i.width,a=i.height,v,y,u,f;return t(r,function(t){e=t.val/i.val*i.height*i.width,v=h,y=c,0===o?(f=a,u=e/f,l-=u,h+=u):(u=l,f=e/u,a-=f,c+=f),s.push({x:v,y:y,width:u,height:f}),n&&(o=1-o)}),s},strip:function(n,t){return this.algorithmLowAspectRatio(!1,n,t)},squarified:function(n,t){return this.algorithmLowAspectRatio(!0,n,t)},sliceAndDice:function(n,t){return this.algorithmFill(!0,n,t)},stripes:function(n,t){return this.algorithmFill(!1,n,t)},translate:function(){var n=this,e=n.rootNode=i(n.rootNode,n.options.rootId,""),r,h;u.prototype.translate.call(n),n.levelMap=s(n.options.levels,function(n,t){return n[t.level]=t,n},{}),h=n.tree=n.getTree(),r=n.nodeMap[e],""===e||r&&r.children.length||(n.drillToNode("",!1),e=n.rootNode,r=n.nodeMap[e]),o(n.nodeMap[n.rootNode],function(t){var r=!1,i=t.parent;return t.visible=!0,(i||""===i)&&(r=n.nodeMap[i]),r}),o(n.nodeMap[n.rootNode].children,function(n){var i=!1;return t(n,function(n){n.visible=!0,n.children.length&&(i=(i||[]).concat(n.children))}),i}),n.setTreeValues(h),n.axisRatio=n.xAxis.len/n.yAxis.len,n.nodeMap[""].pointValues=e={x:0,y:0,width:100,height:100},n.nodeMap[""].values=e=f(e,{width:e.width*n.axisRatio,direction:"vertical"===n.options.layoutStartingDirection?0:1,val:h.val}),n.calculateChildrenAreas(h,e),n.colorAxis?n.translateColors():n.options.colorByPoint||n.setColorRecursive(n.tree),n.options.allowDrillToNode&&(r=r.pointValues,n.xAxis.setExtremes(r.x,r.x+r.width,!1),n.yAxis.setExtremes(r.y,r.y+r.height,!1),n.xAxis.setScale(),n.yAxis.setScale()),n.setPointValues()},drawDataLabels:function(){var r=this,o=e(r.points,function(n){return n.node.visible}),n,i;t(o,function(t){i=r.levelMap[t.node.levelDynamic],n={style:{}},t.node.isLeaf||(n.enabled=!1),i&&i.dataLabels&&(n=f(n,i.dataLabels),r._hasPointLabels=!0),t.shapeArgs&&(n.style.width=t.shapeArgs.width,t.dataLabel&&t.dataLabel.css({width:t.shapeArgs.width+"px"})),t.dlOptions=f(n,t.options.dataLabels)}),u.prototype.drawDataLabels.call(this)},alignDataLabel:function(n){r.column.prototype.alignDataLabel.apply(this,arguments),n.dataLabel&&n.dataLabel.attr({zIndex:(n.node.zIndex||0)+1})},pointAttribs:function(n,t){var f=this.levelMap[n.node.levelDynamic]||{},r=this.options,u=t&&r.states[t]||{},e=n.getClassName();return n={stroke:n.borderColor||f.borderColor||u.borderColor||r.borderColor,"stroke-width":i(n.borderWidth,f.borderWidth,u.borderWidth,r.borderWidth),dashstyle:n.borderDashStyle||f.borderDashStyle||u.borderDashStyle||r.borderDashStyle,fill:n.color||this.color},-1!==e.indexOf("highcharts-above-level")?(n.fill="none",n["stroke-width"]=0):-1!==e.indexOf("highcharts-internal-node-interactive")?(t=i(u.opacity,r.opacity),n.fill=c(n.fill).setOpacity(t).get(),n.cursor="pointer"):-1!==e.indexOf("highcharts-internal-node")?n.fill="none":t&&(n.fill=c(n.fill).brighten(u.brightness).get()),n},drawPoints:function(){var n=this,i=e(n.points,function(n){return n.node.visible});t(i,function(t){var i="levelGroup-"+t.node.levelDynamic;n[i]||(n[i]=n.chart.renderer.g(i).attr({zIndex:1e3-t.node.levelDynamic}).add(n.group)),t.group=n[i]}),r.column.prototype.drawPoints.call(this),n.options.allowDrillToNode&&t(i,function(t){t.graphic&&(t.drillId=n.options.interactByLeaf?n.drillToByLeaf(t):n.drillToByGroup(t))})},onClickDrillToNode:function(n){var t=(n=n.point)&&n.drillId;h(t)&&(n.setState(""),this.drillToNode(t))},drillToByGroup:function(n){var t=!1;return 1!=n.node.level-this.nodeMap[this.rootNode].level||n.node.isLeaf||(t=n.id),t},drillToByLeaf:function(n){var t=!1;if(n.node.parent!==this.rootNode&&n.node.isLeaf)for(n=n.node;!t;)n=this.nodeMap[n.parent],n.parent===this.rootNode&&(t=n.id);return t},drillUp:function(){var n=this.nodeMap[this.rootNode];n&&h(n.parent)&&this.drillToNode(n.parent)},drillToNode:function(n,t){var r=this.nodeMap[n];this.rootNode=n,""===n?this.drillUpButton=this.drillUpButton.destroy():this.showDrillUpButton(r&&r.name||n),this.isDirty=!0,i(t,!0)&&this.chart.redraw()},showDrillUpButton:function(n){var u=this,t,r,i;n=n||"< Back",t=u.options.drillUpButton,t.text&&(n=t.text),this.drillUpButton?this.drillUpButton.attr({text:n}).align():(i=(r=t.theme)&&r.states,this.drillUpButton=this.chart.renderer.button(n,null,null,function(){u.drillUp()},r,i&&i.hover,i&&i.select).attr({align:t.position.align,zIndex:7}).add().align(t.position,!1,t.relativeTo||"plotBox"))},buildKDTree:l,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,getExtremes:function(){u.prototype.getExtremes.call(this,this.colorValueData),this.valueMin=this.dataMin,this.valueMax=this.dataMax,u.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var t={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};u.prototype.bindAxes.call(this),n.extend(this.yAxis.options,t),n.extend(this.xAxis.options,t)}},{getClassName:function(){var t=n.Point.prototype.getClassName.call(this),r=this.series,u=r.options;return this.node.level<=r.nodeMap[r.rootNode].level?t+=" highcharts-above-level":this.node.isLeaf||i(u.interactByLeaf,!u.allowDrillToNode)?this.node.isLeaf||(t+=" highcharts-internal-node"):t+=" highcharts-internal-node-interactive",t},isValid:function(){return v(this.value)},setState:function(t){n.Point.prototype.setState.call(this,t),this.graphic&&this.graphic.attr({zIndex:"hover"===t?1:0})},setVisible:r.pie.prototype.pointClass.prototype.setVisible})})(n)}),function(n){"object"==typeof module&&module.exports?module.exports=n:n(Highcharts)}(function(n){(function(n){var s=n.defaultOptions,u=n.doc,l=n.Chart,o=n.addEvent,w=n.removeEvent,p=n.fireEvent,f=n.createElement,h=n.discardElement,e=n.css,i=n.merge,c=n.pick,t=n.each,y=n.objectEach,r=n.extend,b=n.isTouchDevice,a=n.win,v=a.navigator.userAgent,k=n.Renderer.prototype.symbols;/Edge\/|Trident\/|MSIE /.test(v),/firefox/i.test(v),r(s.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"}),s.navigation={buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}},i(!0,s.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",background:"none",color:"#333333",fontSize:b?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",stroke:"none",padding:5}}}),s.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:"printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{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"})}}}},n.post=function(n,t,r){var e=f("form",i({method:"post",action:n,enctype:"multipart/form-data"},r),{display:"none"},u.body);y(t,function(n,t){f("input",{type:"hidden",name:t,value:n},null,e)}),e.submit(),h(e)},r(l.prototype,{sanitizeSVG:function(n,t){if(t&&t.exporting&&t.exporting.allowHTML){var i=n.match(/<\/svg>(.*?$)/);i&&i[1]&&(i='<foreignObject x="0" y="0" width="'+t.chart.width+'" height="'+t.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+i[1]+"</body></foreignObject>",n=n.replace("</svg>",i+"</svg>"))}return n=n.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(\S+)("|&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(/<\/svg>.*?$/,"</svg>").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,"­"),n=n.replace(/<IMG /g,"<image ").replace(/<(\/?)TITLE>/g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(n){return n.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(e){var c,a,s,v,l,o=i(this.options,e);return u.createElementNS||(u.createElementNS=function(n,t){return u.createElement(t)}),a=f("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},u.body),s=this.renderTo.style.width,l=this.renderTo.style.height,s=o.exporting.sourceWidth||o.chart.width||/px$/.test(s)&&parseInt(s,10)||600,l=o.exporting.sourceHeight||o.chart.height||/px$/.test(l)&&parseInt(l,10)||400,r(o.chart,{animation:!1,renderTo:a,forExport:!0,renderer:"SVGRenderer",width:s,height:l}),o.exporting.enabled=!1,delete o.data,o.series=[],t(this.series,function(n){v=i(n.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:n.visible}),v.isInternal||o.series.push(v)}),t(this.axes,function(t){t.userOptions.internalKey||(t.userOptions.internalKey=n.uniqueKey())}),c=new n.Chart(o,this.callback),e&&t(["xAxis","yAxis","series"],function(n){var t={};e[n]&&(t[n]=e[n],c.update(t))}),t(this.axes,function(t){var r=n.find(c.axes,function(n){return n.options.internalKey===t.userOptions.internalKey}),i=t.getExtremes(),u=i.userMin,i=i.userMax;!r||void 0===u&&void 0===i||r.setExtremes(u,i,!0,!1)}),s=c.getChartHTML(),s=this.sanitizeSVG(s,o),o=null,c.destroy(),h(a),s},getSVGForExport:function(n,t){var r=this.options.exporting;return this.getSVG(i({chart:{borderRadius:0}},r.chartOptions,t,{exporting:{sourceWidth:n&&n.sourceWidth||r.sourceWidth,sourceHeight:n&&n.sourceHeight||r.sourceHeight}}))},exportChart:function(t,r){r=this.getSVGForExport(t,r),t=i(this.options.exporting,t),n.post(t.url,{filename:t.filename||"chart",type:t.type,width:t.width||0,scale:t.scale,svg:r},t.formAttributes)},print:function(){var n=this,i=n.container,f=[],c=i.parentNode,e=u.body,o=e.childNodes,r=n.options.exporting.printMaxWidth,s,h;n.isPrinting||(n.isPrinting=!0,n.pointer.reset(null,0),p(n,"beforePrint"),(h=r&&n.chartWidth>r)&&(s=[n.options.chart.width,void 0,!1],n.setSize(r,void 0,!1)),t(o,function(n,t){1===n.nodeType&&(f[t]=n.style.display,n.style.display="none")}),e.appendChild(i),a.focus(),a.print(),setTimeout(function(){c.appendChild(i),t(o,function(n,t){1===n.nodeType&&(n.style.display=f[t])}),n.isPrinting=!1,h&&n.setSize.apply(n,s),p(n,"afterPrint")},1e3))},contextMenu:function(i,s,h,c,l,a,v){var y=this,k=y.options.navigation,g=y.chartWidth,nt=y.chartHeight,tt="cache-"+i,p=y[tt],w=Math.max(l,a),b,d;p||(y[tt]=p=f("div",{className:i},{position:"absolute",zIndex:1e3,padding:w+"px"},y.container),b=f("div",{className:"highcharts-menu"},null,p),e(b,r({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},k.menuStyle)),d=function(){e(p,{display:"none"}),v&&v.setState(0),y.openMenu=!1},y.exportEvents.push(o(p,"mouseleave",function(){p.hideTimer=setTimeout(d,500)}),o(p,"mouseenter",function(){clearTimeout(p.hideTimer)}),o(u,"mouseup",function(n){y.pointer.inClass(n.target,i)||d()})),t(s,function(t){if("string"==typeof t&&(t=y.options.exporting.menuItemDefinitions[t]),n.isObject(t,!0)){var i;t.separator?i=f("hr",null,null,b):(i=f("div",{className:"highcharts-menu-item",onclick:function(n){n&&n.stopPropagation(),d(),t.onclick&&t.onclick.apply(y,arguments)},innerHTML:t.text||y.options.lang[t.textKey]},null,b),i.onmouseover=function(){e(this,k.menuItemHoverStyle)},i.onmouseout=function(){e(this,k.menuItemStyle)},e(i,r({cursor:"pointer"},k.menuItemStyle))),y.exportDivElements.push(i)}}),y.exportDivElements.push(b,p),y.exportMenuWidth=p.offsetWidth,y.exportMenuHeight=p.offsetHeight),s={display:"block"},h+y.exportMenuWidth>g?s.right=g-h-l-w+"px":s.left=h-w+"px",c+a+y.exportMenuHeight>nt&&"top"!==v.alignOptions.verticalAlign?s.bottom=nt-c-w+"px":s.top=c+a-w+"px",e(p,s),y.openMenu=!0},addButton:function(n){var u=this,a=u.renderer,t=i(u.options.navigation.buttonOptions,n),v=t.onclick,y=t.menuItems,h,f,s=t.symbolSize||12;if(u.btnCount||(u.btnCount=0),u.exportDivElements||(u.exportDivElements=[],u.exportSVGElements=[]),!1!==t.enabled){var e=t.theme,o=e.states,p=o&&o.hover,o=o&&o.select,l;delete e.states,v?l=function(n){n.stopPropagation(),v.call(u,n)}:y&&(l=function(){u.contextMenu(f.menuClassName,y,f.translateX,f.translateY,f.width,f.height,f),f.setState(2)}),t.text&&t.symbol?e.paddingLeft=c(e.paddingLeft,25):t.text||r(e,{width:t.width,height:t.height,padding:0}),f=a.button(t.text,0,0,l,e,p,o).addClass(n.className).attr({"stroke-linecap":"round",title:u.options.lang[t._titleKey],zIndex:3}),f.menuClassName=n.menuClassName||"highcharts-menu-"+u.btnCount++,t.symbol&&(h=a.symbol(t.symbol,t.symbolX-s/2,t.symbolY-s/2,s,s).addClass("highcharts-button-symbol").attr({zIndex:1}).add(f),h.attr({stroke:t.symbolStroke,fill:t.symbolFill,"stroke-width":t.symbolStrokeWidth||1})),f.add().align(r(t,{width:f.width,x:c(t.x,u.buttonOffset)}),!0,"spacingBox"),u.buttonOffset+=(f.width+t.buttonSpacing)*("right"===t.align?-1:1),u.exportSVGElements.push(f,h)}},destroyExport:function(n){var i=n?n.target:this,r,u,f;n=i.exportSVGElements,r=i.exportDivElements,u=i.exportEvents,n&&(t(n,function(n,t){n&&(n.onclick=n.ontouchstart=null,f="cache-"+n.menuClassName,i[f]&&delete i[f],i.exportSVGElements[t]=n.destroy())}),n.length=0),r&&(t(r,function(n,t){clearTimeout(n.hideTimer),w(n,"mouseleave"),i.exportDivElements[t]=n.onmouseout=n.onmouseover=n.ontouchstart=n.onclick=null,h(n)}),r.length=0),u&&(t(u,function(n){n()}),u.length=0)}}),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]},l.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=[],y(i,function(t){n.addButton(t)}),n.isDirtyExporting=!1),o(n,"destroy",n.destroyExport)},l.prototype.callbacks.push(function(n){n.renderExporting(),o(n,"redraw",n.renderExporting),t(["exporting","navigation"],function(t){n[t]={update:function(r,u){n.isDirtyExporting=!0,i(!0,n.options[t],r),c(u,!0)&&n.redraw()}}})})})(n)}),AmCharts.themes.light={themeName:"light",AmChart:{color:"#000000",backgroundColor:"#FFFFFF"},AmCoordinateChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"]},AmStockChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"]},AmSlicedChart:{colors:["#67b7dc","#fdd400","#84b761","#cc4748","#cd82ad","#2f4074","#448e4d","#b7b83f","#b9783f","#b93e3d","#913167"],outlineAlpha:1,outlineThickness:2,labelTickColor:"#000000",labelTickAlpha:.3},AmRectangularChart:{zoomOutButtonColor:"#000000",zoomOutButtonRollOverAlpha:.15,zoomOutButtonImage:"lens.png"},AxisBase:{axisColor:"#000000",axisAlpha:.3,gridAlpha:.1,gridColor:"#000000"},ChartScrollbar:{backgroundColor:"#000000",backgroundAlpha:.12,graphFillAlpha:.5,graphLineAlpha:0,selectedBackgroundColor:"#FFFFFF",selectedBackgroundAlpha:.4,gridAlpha:.15},ChartCursor:{cursorColor:"#000000",color:"#FFFFFF",cursorAlpha:.5},AmLegend:{color:"#000000"},AmGraph:{lineAlpha:.9},GaugeArrow:{color:"#000000",alpha:.8,nailAlpha:0,innerRadius:"40%",nailRadius:15,startWidth:15,borderAlpha:.8,nailBorderAlpha:0},GaugeAxis:{tickColor:"#000000",tickAlpha:1,tickLength:15,minorTickLength:8,axisThickness:3,axisColor:"#000000",axisAlpha:1,bandAlpha:.8},TrendLine:{lineColor:"#c03246",lineAlpha:.8},AreasSettings:{alpha:.8,color:"#67b7dc",colorSolid:"#003767",unlistedAreasAlpha:.4,unlistedAreasColor:"#000000",outlineColor:"#FFFFFF",outlineAlpha:.5,outlineThickness:.5,rollOverColor:"#3c5bdc",rollOverOutlineColor:"#FFFFFF",selectedOutlineColor:"#FFFFFF",selectedColor:"#f15135",unlistedAreasOutlineColor:"#FFFFFF",unlistedAreasOutlineAlpha:.5},LinesSettings:{color:"#000000",alpha:.8},ImagesSettings:{alpha:.8,labelColor:"#000000",color:"#000000",labelRollOverColor:"#3c5bdc"},ZoomControl:{buttonRollOverColor:"#3c5bdc",buttonFillColor:"#3994e2",buttonBorderColor:"#3994e2",buttonFillAlpha:.8,gridBackgroundColor:"#FFFFFF",buttonBorderAlpha:0,buttonCornerRadius:2,gridColor:"#FFFFFF",gridBackgroundColor:"#000000",buttonIconAlpha:.6,gridAlpha:.6,buttonSize:20},SmallMap:{mapColor:"#000000",rectangleColor:"#f15135",backgroundColor:"#FFFFFF",backgroundAlpha:.7,borderThickness:1,borderAlpha:.8},PeriodSelector:{color:"#000000"},PeriodButton:{color:"#000000",background:"transparent",opacity:.7,border:"1px solid rgba(0, 0, 0, .3)",MozBorderRadius:"5px",borderRadius:"5px",margin:"1px",outline:"none",boxSizing:"border-box"},PeriodButtonSelected:{color:"#000000",backgroundColor:"#b9cdf5",border:"1px solid rgba(0, 0, 0, .3)",MozBorderRadius:"5px",borderRadius:"5px",margin:"1px",outline:"none",opacity:1,boxSizing:"border-box"},PeriodInputField:{color:"#000000",background:"transparent",border:"1px solid rgba(0, 0, 0, .3)",outline:"none"},DataSetSelector:{color:"#000000",selectedBackgroundColor:"#b9cdf5",rollOverBackgroundColor:"#a8b0e4"},DataSetCompareList:{color:"#000000",lineHeight:"100%",boxSizing:"initial",webkitBoxSizing:"initial",border:"1px solid rgba(0, 0, 0, .3)"},DataSetSelect:{border:"1px solid rgba(0, 0, 0, .3)",outline:"none"}},AmCharts.translations["export"]||(AmCharts.translations["export"]={}),AmCharts.translations["export"].en||(AmCharts.translations["export"].en={"fallback.save.text":"CTRL + C to copy the data into the clipboard.","fallback.save.image":"Rightclick -> Save picture as... to save the image.","capturing.delayed.menu.label":"{{duration}}","capturing.delayed.menu.title":"Click to cancel","menu.label.print":"Print","menu.label.undo":"Undo","menu.label.redo":"Redo","menu.label.cancel":"Cancel","menu.label.save.image":"Download as ...","menu.label.save.data":"Save as ...","menu.label.draw":"Annotate ...","menu.label.draw.change":"Change ...","menu.label.draw.add":"Add ...","menu.label.draw.shapes":"Shape ...","menu.label.draw.colors":"Color ...","menu.label.draw.widths":"Size ...","menu.label.draw.opacities":"Opacity ...","menu.label.draw.text":"Text","menu.label.draw.modes":"Mode ...","menu.label.draw.modes.pencil":"Pencil","menu.label.draw.modes.line":"Line","menu.label.draw.modes.arrow":"Arrow"}),function(){AmCharts["export"]=function(n,t){var i={name:"export",version:"1.3.3",libs:{async:!0,autoLoad:!0,reload:!1,resources:[{"pdfmake/pdfmake.js":["pdfmake/vfs_fonts.js"],"jszip/jszip.js":["xlsx/xlsx.js"]},"fabric.js/fabric.js","FileSaver.js/FileSaver.js"]},config:{},setup:{chart:n,hasBlob:!1},drawing:{enabled:!1,undos:[],redos:[],buffer:{position:{x1:0,y1:0,x2:0,y2:0,xD:0,yD:0}},handler:{undo:function(n,t){var r=i.drawing.undos.pop(),u;r&&(r.selectable=!0,i.drawing.redos.push(r),r.action=="added"&&i.setup.fabric.remove(r.target),u=JSON.parse(r.state),r.target.set(u),r.target instanceof fabric.Group&&i.drawing.handler.change({color:u.cfg.color,width:u.cfg.width,opacity:u.cfg.opacity},!0,r.target),i.setup.fabric.renderAll(),r.state!=r.target.recentState||t||i.drawing.handler.undo(r,!0))},redo:function(){var r=i.drawing.redos.pop(),u;r&&(r.selectable=!0,i.drawing.undos.push(r),r.action=="added"&&i.setup.fabric.add(r.target),u=JSON.parse(r.state),r.target.recentState=r.state,r.target.set(u),r.target instanceof fabric.Group&&i.drawing.handler.change({color:u.cfg.color,width:u.cfg.width,opacity:u.cfg.opacity},!0,r.target),i.setup.fabric.renderAll(),r.action=="addified"&&i.drawing.handler.redo())},done:function(){i.drawing.buffer.enabled=!1,i.drawing.undos=[],i.drawing.redos=[],i.createMenu(i.config.menu),i.setup.fabric.deactivateAll(),i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas"),i.setup.wrapper.style.display="none"},add:function(n){var t=i.deepMerge({top:i.setup.fabric.height/2,left:i.setup.fabric.width/2},n||{}),r=t.url.indexOf(".svg")!=-1?fabric.loadSVGFromURL:fabric.Image.fromURL;r(t.url,function(n,r){var u=r!==undefined?fabric.util.groupSVGElements(n,r):n,f=!1;(u.height>i.setup.fabric.height||u.width>i.setup.fabric.width)&&(f=i.setup.fabric.height/2/u.height),t.top>i.setup.fabric.height&&(t.top=i.setup.fabric.height/2),t.left>i.setup.fabric.width&&(t.left=i.setup.fabric.width/2),u.set({originX:"center",originY:"center",top:t.top,left:t.left,width:f?u.width*f:u.width,height:f?u.height*f:u.height,fill:i.drawing.color}),i.setup.fabric.add(u)})},change:function(n,t,r){var u=i.deepMerge({},n||{}),s,f,h,o=r||i.drawing.buffer.target,e=o?o._objects?o._objects:[o]:null;if(u.mode&&(i.drawing.mode=u.mode),u.width&&(i.drawing.width=u.width,i.drawing.fontSize=u.width*3),u.fontSize&&(i.drawing.fontSize=u.fontSize),u.color&&(i.drawing.color=u.color),u.opacity&&(i.drawing.opacity=u.opacity),h=new fabric.Color(i.drawing.color).getSource(),h.pop(),h.push(i.drawing.opacity),i.drawing.color="rgba("+h.join()+")",i.setup.fabric.freeDrawingBrush.color=i.drawing.color,i.setup.fabric.freeDrawingBrush.width=i.drawing.width,o){for(s=JSON.parse(o.recentState).cfg,s&&(u.color=u.color||s.color,u.width=u.width||s.width,u.opacity=u.opacity||s.opacity,u.fontSize=u.fontSize||u.width*3,h=new fabric.Color(u.color).getSource(),h.pop(),h.push(u.opacity),u.color="rgba("+h.join()+")"),f=0;f<e.length;f++)e[f]instanceof fabric.Text||e[f]instanceof fabric.PathGroup||e[f]instanceof fabric.Triangle?((u.color||u.opacity)&&e[f].set({fill:u.color}),u.fontSize&&e[f].set({fontSize:u.fontSize})):(e[f]instanceof fabric.Path||e[f]instanceof fabric.Line)&&(o instanceof fabric.Group?(u.color||u.opacity)&&e[f].set({stroke:u.color}):((u.color||u.opacity)&&e[f].set({stroke:u.color}),u.width&&e[f].set({strokeWidth:u.width})));t||(s=JSON.stringify(i.deepMerge(o.saveState().originalState,{cfg:{color:u.color,width:u.width,opacity:u.opacity}})),o.recentState=s,i.drawing.redos=[],i.drawing.undos.push({action:"modified",target:o,state:s})),i.setup.fabric.renderAll()}},text:function(n){var r=i.deepMerge({text:i.i18l("menu.label.draw.text"),top:i.setup.fabric.height/2,left:i.setup.fabric.width/2,fontSize:i.drawing.fontSize,fontFamily:i.setup.chart.fontFamily||"Verdana",fill:i.drawing.color},n||{}),t;return r.click=function(){},t=new fabric.IText(r.text,r),i.setup.fabric.add(t),i.setup.fabric.setActiveObject(t),t.selectAll(),t.enterEditing(),t},line:function(n){var t=i.deepMerge({x1:i.setup.fabric.width/2-i.setup.fabric.width/10,x2:i.setup.fabric.width/2+i.setup.fabric.width/10,y1:i.setup.fabric.height/2,y2:i.setup.fabric.height/2,angle:90,strokeLineCap:i.drawing.lineCap,arrow:i.drawing.arrow,color:i.drawing.color,width:i.drawing.width,group:[]},n||{}),r,s,f,e,o=new fabric.Line([t.x1,t.y1,t.x2,t.y2],{stroke:t.color,strokeWidth:t.width,strokeLineCap:t.strokeLineCap}),u;if(t.group.push(o),t.arrow&&(t.angle=t.angle?t.angle:i.getAngle(t.x1,t.y1,t.x2,t.y2),t.arrow=="start"?(f=t.y1+t.width/2,e=t.x1+t.width/2):t.arrow=="middle"?(f=t.y2+t.width/2-(t.y2-t.y1)/2,e=t.x2+t.width/2-(t.x2-t.x1)/2):(f=t.y2+t.width/2,e=t.x2+t.width/2),s=new fabric.Triangle({top:f,left:e,fill:t.color,height:t.width*7,width:t.width*7,angle:t.angle,originX:"center",originY:"bottom"}),t.group.push(s)),t.action!="config")return t.arrow?(u=new fabric.Group(t.group),u.set({cfg:t,fill:t.color,action:t.action,selectable:!0,known:t.action=="change"}),t.action=="change"&&i.setup.fabric.setActiveObject(u),i.setup.fabric.add(u),u):(i.setup.fabric.add(o),o);for(r=0;r<t.group.length;r++)t.group[r].noUndo=!0,i.setup.fabric.add(t.group[r]);return t}}},defaults:{position:"top-right",fileName:"amCharts",action:"download",path:(n.path||"")+"plugins/export/",formats:{JPG:{mimeType:"image/jpg",extension:"jpg",capture:!0},PNG:{mimeType:"image/png",extension:"png",capture:!0},SVG:{mimeType:"text/xml",extension:"svg",capture:!0},PDF:{mimeType:"application/pdf",extension:"pdf",capture:!0},CSV:{mimeType:"text/plain",extension:"csv"},JSON:{mimeType:"text/plain",extension:"json"},XLSX:{mimeType:"application/octet-stream",extension:"xlsx"}},fabric:{backgroundColor:"#FFFFFF",removeImages:!0,selection:!1,drawing:{enabled:!0,arrow:"end",lineCap:"butt",mode:"pencil",modes:["pencil","line","arrow"],color:"#000000",colors:["#000000","#FFFFFF","#FF0000","#00FF00","#0000FF"],shapes:["11.svg","14.svg","16.svg","17.svg","20.svg","27.svg"],width:1,fontSize:11,widths:[1,5,10,15],opacity:1,opacities:[1,.8,.6,.4,.2],menu:undefined,autoClose:!0}},pdfMake:{pageSize:"A4",pageOrientation:"portrait",images:{},content:["Saved from:",window.location.href,{image:"reference",fit:[523.28,769.89]}]},menu:undefined,divId:null,menuReviver:null,menuWalker:null,fallback:!0,keyListener:!0,fileListener:!0},i18l:function(n,t){var r=t?langugage:i.setup.chart.language?i.setup.chart.language:"en",u=AmCharts.translations[i.name][r]||AmCharts.translations[i.name].en;return u[n]||n},download:function(n,t,r){var o;if(window.saveAs&&i.setup.hasBlob)o=i.toBlob({data:n,type:t},function(n){saveAs(n,r)});else if(i.config.fallback&&t=="text/plain"){var u=document.createElement("div"),f=document.createElement("div"),e=document.createElement("textarea");f.innerHTML=i.i18l("fallback.save.text"),u.appendChild(f),u.appendChild(e),f.setAttribute("class","amcharts-export-fallback-message"),u.setAttribute("class","amcharts-export-fallback"),i.setup.chart.containerDiv.appendChild(u),e.setAttribute("readonly",""),e.value=n,e.focus(),e.select(),i.createMenu([{"class":"export-main export-close",label:"Done",click:function(){i.createMenu(i.config.menu),i.setup.chart.containerDiv.removeChild(u)}}])}else if(i.config.fallback&&t.split("/")[0]=="image"){var u=document.createElement("div"),f=document.createElement("div"),s=i.toImage({data:n});f.innerHTML=i.i18l("fallback.save.image"),u.appendChild(f),u.appendChild(s),f.setAttribute("class","amcharts-export-fallback-message"),u.setAttribute("class","amcharts-export-fallback"),i.setup.chart.containerDiv.appendChild(u),i.createMenu([{"class":"export-main export-close",label:"Done",click:function(){i.createMenu(i.config.menu),i.setup.chart.containerDiv.removeChild(u)}}])}else throw new Error("Unable to create file. Ensure saveAs (FileSaver.js) is supported.");return n},loadResource:function(n,t){function c(){if(t)for(u=0;u<t.length;u++)i.loadResource(t[u])}var u,o,r,f,e,h,s=n.indexOf("//")!=-1?n:[i.libs.path,n].join("");for(n.indexOf(".js")!=-1?(r=document.createElement("script"),r.setAttribute("type","text/javascript"),r.setAttribute("src",s),i.libs.async&&r.setAttribute("async","")):n.indexOf(".css")!=-1&&(r=document.createElement("link"),r.setAttribute("type","text/css"),r.setAttribute("rel","stylesheet"),r.setAttribute("href",s)),u=0;u<document.head.childNodes.length;u++)if(f=document.head.childNodes[u],e=f?f.src||f.href:!1,h=f?f.tagName:!1,f&&e&&e.indexOf(n)!=-1){i.libs.reload&&document.head.removeChild(f),o=!0;break}(!o||i.libs.reload)&&(r.addEventListener("load",c),document.head.appendChild(r))},loadDependencies:function(){var n,t;if(i.libs.autoLoad)for(n=0;n<i.libs.resources.length;n++)if(i.libs.resources[n]instanceof Object)for(t in i.libs.resources[n])i.loadResource(t,i.libs.resources[n][t]);else i.loadResource(i.libs.resources[n])},pxToNumber:function(n){return Number(String(n).replace("px",""))||0},numberToPx:function(n){return String(n)+"px"},deepMerge:function(n,t,r){var f,u,e=t instanceof Array?"array":"object";for(f in t)e=="array"&&isNaN(f)||(u=t[f],(n[f]==undefined||r)&&(u instanceof Array?n[f]=[]:u instanceof Function?n[f]=new Function:u instanceof Date?n[f]=new Date:u instanceof Object?n[f]={}:u instanceof Number?n[f]=new Number:u instanceof String&&(n[f]=new String)),(n instanceof Object||n instanceof Array)&&(u instanceof Object||u instanceof Array)&&!(u instanceof Function||u instanceof Date||i.isElement(u))&&f!="chart"?i.deepMerge(n[f],u,r):n instanceof Array&&!r?n.push(u):n[f]=u);return n},isElement:function(n){return n instanceof Object&&n&&n.nodeType===1},isPressed:function(n){return n.type=="mousemove"&&n.which===1||(i.drawing.buffer.isPressed=n.type=="touchmove"||n.buttons===1||n.button===1||n.which===1?!0:!1),i.drawing.buffer.isPressed},isTainted:function(n){var t=String(window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""));return n&&n.indexOf("//")!=-1&&n.indexOf(t.replace(/.*:/,""))==-1?!0:!1},isSupported:function(){return i.config.enabled?AmCharts.isIE&&AmCharts.IEversion<=9&&(!Array.prototype.indexOf||!document.head||i.config.fallback===!1)?!1:!0:!1},getAngle:function(n,t,i,r){var e=i-n,f=r-t,u;return u=e==0?f==0?0:f>0?Math.PI/2:Math.PI*3/2:f==0?e>0?0:Math.PI:e<0?Math.atan(f/e)+Math.PI:f<0?Math.atan(f/e)+2*Math.PI:Math.atan(f/e),u*180/Math.PI},gatherAttribute:function(n,t,r,u){var f,u=u?u:0,r=r?r:3;return n&&(f=n.getAttribute(t),!f&&u<r)?i.gatherAttribute(n.parentNode,t,r,u+1):f},gatherClassName:function(n,t,r,u){var f,u=u?u:0,r=r?r:3;if(i.isElement(n)){if(f=(n.getAttribute("class")||"").split(" ").indexOf(t)!=-1,!f&&u<r)return i.gatherClassName(n.parentNode,t,r,u+1);f&&(f=n)}return f},gatherElements:function(n,t,r){for(var f,u,e,o=0;o<n.children.length;o++)if(u=n.children[o],u.tagName=="clipPath"){for(f=0;f<u.childNodes.length;f++)u.childNodes[f].setAttribute("fill","transparent");n.clippings[u.id]=u}else if(u.tagName=="pattern"){for(e={node:u,source:u.getAttribute("xlink:href"),width:Number(u.getAttribute("width")),height:Number(u.getAttribute("height")),repeat:"repeat"},f=0;f<u.childNodes.length;f++)u.childNodes[f].tagName=="rect"&&(e.fill=u.childNodes[f].getAttribute("fill"));t.removeImages&&i.isTainted(e.source)?n.patterns[u.id]=e.fill?e.fill:"transparent":(r.included++,fabric.Image.fromURL(e.source,function(t){return function(i){var u,f;r.loaded++,u=new fabric.StaticCanvas(undefined,{backgroundColor:t.fill}),u.add(i),f=new fabric.Pattern({source:function(){return u.setDimensions({width:t.width,height:t.height}),u.getElement()},repeat:"repeat"}),n.patterns[t.node.id]=f}}(e)))}else u.tagName=="image"&&(r.included++,fabric.Image.fromURL(u.getAttribute("xlink:href"),function(){r.loaded++}));return n},gatherPosition:function(n,t){var r=i.drawing.buffer.position,f=fabric.util.invertTransform(i.setup.fabric.viewportTransform),u;return n.type=="touchmove"&&("touches"in n?n=n.touches[0]:"changedTouches"in n&&(n=n.changedTouches[0])),u=fabric.util.transformPoint(i.setup.fabric.getPointer(n,!0),f),t==1&&(r.x1=u.x,r.y1=u.y),r.x2=u.x,r.y2=u.y,r.xD=r.x1-r.x2<0?(r.x1-r.x2)*-1:r.x1-r.x2,r.yD=r.y1-r.y2<0?(r.y1-r.y2)*-1:r.y1-r.y2,r},capture:function(n,t){for(var e=i.deepMerge(i.deepMerge({},i.config.fabric),n||{}),h=[],u={x:0,y:0,pX:0,pY:0,width:i.setup.chart.divRealWidth,height:i.setup.chart.divRealHeight},c={loaded:0,included:0},l=i.setup.chart.containerDiv.getElementsByTagName("svg"),r,o,f=0;f<l.length;f++)r={svg:l[f],parent:l[f].parentNode,children:l[f].getElementsByTagName("*"),offset:{x:0,y:0},patterns:{},clippings:{}},r=i.gatherElements(r,e,c),h.push(r);i.config.legend&&i.setup.chart.legend&&i.setup.chart.legend.position=="outside"&&(r={svg:i.setup.chart.legend.container.container,parent:i.setup.chart.legend.container.container.parentNode,children:i.setup.chart.legend.container.container.getElementsByTagName("*"),offset:{x:0,y:0},legend:{type:["top","left"].indexOf(i.config.legend.position)!=-1?"unshift":"push",position:i.config.legend.position,width:i.config.legend.width?i.config.legend.width:i.setup.chart.legend.container.width,height:i.config.legend.height?i.config.legend.height:i.setup.chart.legend.container.height},patterns:{},clippings:{}},["left","right"].indexOf(r.legend.position)!=-1?(u.width+=r.legend.width,u.height=r.legend.height>u.height?r.legend.height:u.height):["top","bottom"].indexOf(r.legend.position)!=-1&&(u.height+=r.legend.height),r=i.gatherElements(r,e,c),h[r.legend.type](r)),i.drawing.buffer.enabled=e.action=="draw",i.setup.wrapper?i.setup.wrapper.innerHTML="":(i.setup.wrapper=document.createElement("div"),i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas"),i.setup.chart.containerDiv.appendChild(i.setup.wrapper)),i.setup.chart.type=="stock"&&(o={top:0,right:0,bottom:0,left:0},i.setup.chart.leftContainer&&(u.width-=i.setup.chart.leftContainer.offsetWidth,o.left=i.setup.chart.leftContainer.offsetWidth+i.setup.chart.panelsSettings.panelSpacing*2),i.setup.chart.rightContainer&&(u.width-=i.setup.chart.rightContainer.offsetWidth,o.right=i.setup.chart.rightContainer.offsetWidth+i.setup.chart.panelsSettings.panelSpacing*2),i.setup.chart.periodSelector&&["top","bottom"].indexOf(i.setup.chart.periodSelector.position)!=-1&&(u.height-=i.setup.chart.periodSelector.offsetHeight+i.setup.chart.panelsSettings.panelSpacing,o[i.setup.chart.periodSelector.position]+=i.setup.chart.periodSelector.offsetHeight+i.setup.chart.panelsSettings.panelSpacing),i.setup.chart.dataSetSelector&&["top","bottom"].indexOf(i.setup.chart.dataSetSelector.position)!=-1&&(u.height-=i.setup.chart.dataSetSelector.offsetHeight,o[i.setup.chart.dataSetSelector.position]+=i.setup.chart.dataSetSelector.offsetHeight),i.setup.wrapper.style.paddingTop=i.numberToPx(o.top),i.setup.wrapper.style.paddingRight=i.numberToPx(o.right),i.setup.wrapper.style.paddingBottom=i.numberToPx(o.bottom),i.setup.wrapper.style.paddingLeft=i.numberToPx(o.left)),i.setup.canvas=document.createElement("canvas"),i.setup.wrapper.appendChild(i.setup.canvas),i.setup.fabric=new fabric.Canvas(i.setup.canvas,i.deepMerge({width:u.width,height:u.height,isDrawingMode:!0},e)),i.deepMerge(i.setup.fabric,e),i.deepMerge(i.setup.fabric.freeDrawingBrush,e.drawing),i.deepMerge(i.drawing,e.drawing),i.drawing.handler.change(e.drawing);i.setup.fabric.on("mouse:down",function(n){var t=i.gatherPosition(n.e,1);i.drawing.buffer.pressedTS=Number(new Date),i.isPressed(n.e)});i.setup.fabric.on("mouse:move",function(n){var r=i.gatherPosition(n.e,2),u,e,o,t;if(i.isPressed(n.e),i.drawing.buffer.isPressed&&!i.drawing.buffer.line&&!i.drawing.buffer.isSelected&&i.drawing.mode!="pencil"&&(r.xD>5||r.xD>5)&&(i.drawing.buffer.hasLine=!0,i.setup.fabric.isDrawingMode=!1,i.setup.fabric._onMouseUpInDrawingMode(n),i.drawing.buffer.line=i.drawing.handler.line({x1:r.x1,y1:r.y1,x2:r.x2,y2:r.y2,arrow:i.drawing.mode=="line"?!1:i.drawing.arrow,action:"config"})),i.drawing.buffer.line){for(t=i.drawing.buffer.line,t.x2=r.x2,t.y2=r.y2,f=0;f<t.group.length;f++)u=t.group[f],u instanceof fabric.Line?u.set({x2:t.x2,y2:t.y2}):u instanceof fabric.Triangle&&(t.angle=i.getAngle(t.x1,t.y1,t.x2,t.y2)+90,t.arrow=="start"?(e=t.y1+t.width/2,o=t.x1+t.width/2):t.arrow=="middle"?(e=t.y2+t.width/2-(t.y2-t.y1)/2,o=t.x2+t.width/2-(t.x2-t.x1)/2):(e=t.y2+t.width/2,o=t.x2+t.width/2),u.set({top:e,left:o,angle:t.angle}));i.setup.fabric.renderAll()}});i.setup.fabric.on("mouse:up",function(n){if(Number(new Date)-i.drawing.buffer.pressedTS<200){var t=i.setup.fabric.findTarget(n.e);t&&t.selectable&&i.setup.fabric.setActiveObject(t)}if(i.drawing.buffer.line){for(f=0;f<i.drawing.buffer.line.group.length;f++)i.drawing.buffer.line.group[f].remove();delete i.drawing.buffer.line.action,delete i.drawing.buffer.line.group,i.drawing.handler.line(i.drawing.buffer.line)}i.drawing.buffer.line=!1,i.drawing.buffer.hasLine=!1,i.drawing.buffer.isPressed=!1});i.setup.fabric.on("object:selected",function(n){i.drawing.buffer.isSelected=!0,i.drawing.buffer.target=n.target,i.setup.fabric.isDrawingMode=!1});i.setup.fabric.on("selection:cleared",function(){i.drawing.buffer.onMouseDown=i.setup.fabric.freeDrawingBrush.onMouseDown,i.drawing.buffer.target=!1,i.drawing.buffer.isSelected&&(i.setup.fabric._isCurrentlyDrawing=!1,i.setup.fabric.freeDrawingBrush.onMouseDown=function(){}),setTimeout(function(){i.drawing.buffer.isSelected=!1,i.setup.fabric.isDrawingMode=!0,i.setup.fabric.freeDrawingBrush.onMouseDown=i.drawing.buffer.onMouseDown},10)});i.setup.fabric.on("path:created",function(n){var t=n.path;if(Number(new Date)-i.drawing.buffer.pressedTS<200||i.drawing.buffer.hasLine){i.setup.fabric.remove(t),i.setup.fabric.renderAll();return}});i.setup.fabric.on("object:added",function(n){var t=n.target,r=i.deepMerge(t.saveState().originalState,{cfg:{color:i.drawing.color,width:i.drawing.width,opacity:i.drawing.opacity,fontSize:i.drawing.fontSize}});if(Number(new Date)-i.drawing.buffer.pressedTS<200&&!t.noUndo){i.setup.fabric.remove(t),i.setup.fabric.renderAll();return}r=JSON.stringify(r),t.recentState=r,!t.selectable||t.known||t.noUndo||(i.drawing.undos.push({action:"added",target:t,state:r}),i.drawing.undos.push({action:"addified",target:t,state:r}),i.drawing.redos=[]),t.known=!0,i.setup.fabric.isDrawingMode=!0});i.setup.fabric.on("object:modified",function(n){var t=n.target,u=JSON.parse(t.recentState),r=i.deepMerge(t.saveState().originalState,{cfg:u.cfg});r=JSON.stringify(r),t.recentState=r,i.drawing.undos.push({action:"modified",target:t,state:r}),i.drawing.redos=[]});i.setup.fabric.on("text:changed",function(n){var t=n.target;clearTimeout(t.timer),t.timer=setTimeout(function(){var n=JSON.stringify(t.saveState().originalState);t.recentState=n,i.drawing.redos=[],i.drawing.undos.push({action:"modified",target:t,state:n})},250)});for(i.drawing.buffer.enabled?(i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas active"),i.setup.wrapper.style.backgroundColor=e.backgroundColor,i.setup.wrapper.style.display="block"):(i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas"),i.setup.wrapper.style.display="none"),f=0;f<h.length;f++){var r=h[f],a=i.gatherClassName(r.parent,i.setup.chart.classNamePrefix+"-legend-div",1),s=i.gatherClassName(r.parent,i.setup.chart.classNamePrefix+"-stock-panel-div"),v=i.gatherClassName(r.parent,i.setup.chart.classNamePrefix+"-scrollbar-chart-div");i.setup.chart.type=="stock"&&i.setup.chart.legendSettings.position?["top","bottom"].indexOf(i.setup.chart.legendSettings.position)!=-1?r.parent.style.top&&r.parent.style.left?(r.offset.y=i.pxToNumber(r.parent.style.top),r.offset.x=i.pxToNumber(r.parent.style.left)):(r.offset.x=u.x,r.offset.y=u.y,u.y+=i.pxToNumber(r.parent.style.height),s?(u.pY=i.pxToNumber(s.style.marginTop),r.offset.y+=u.pY):v&&(r.offset.y+=u.pY)):["left","right"].indexOf(i.setup.chart.legendSettings.position)!=-1&&(r.offset.y=i.pxToNumber(r.parent.style.top)+u.pY,r.offset.x=i.pxToNumber(r.parent.style.left)+u.pX,a?u.pY+=i.pxToNumber(s.style.height)+i.setup.chart.panelsSettings.panelSpacing:v&&(r.offset.y-=i.setup.chart.panelsSettings.panelSpacing)):(r.parent.style.top&&r.parent.style.left?(r.offset.y=i.pxToNumber(r.parent.style.top),r.offset.x=i.pxToNumber(r.parent.style.left)):r.legend?r.legend.position=="left"?u.x+=r.legend.width:r.legend.position=="right"?r.offset.x+=u.width-r.legend.width:r.legend.position=="top"?u.y+=r.legend.height:r.legend.position=="bottom"&&(r.offset.y+=u.height-r.legend.height):(r.offset.x=u.x,r.offset.y=u.y+u.pY,u.y+=i.pxToNumber(r.parent.style.height)),a&&s&&s.style.marginTop&&(u.y+=i.pxToNumber(s.style.marginTop),r.offset.y+=i.pxToNumber(s.style.marginTop))),i.handleCallback(e.beforeCapture,e),fabric.parseSVGDocument(r.svg,function(n){return function(r,u){for(var o=fabric.util.groupSVGElements(r,u),d={top:n.offset.y,left:n.offset.x,selectable:!1},s,b,a,y,v,w,k,f=0;f<o.paths.length;f++)if(o.paths[f]){if(e.removeImages&&i.isTainted(o.paths[f]["xlink:href"])){o.paths.splice(f,1);continue}o.paths[f].fill instanceof Object?(o.paths[f].fill.type=="radial"&&(o.paths[f].fill.coords.r2=o.paths[f].fill.coords.r1*-1,o.paths[f].fill.coords.r1=0),o.paths[f].set({opacity:o.paths[f].fillOpacity})):String(o.paths[f].fill).slice(0,3)=="url"&&(s=o.paths[f].fill.slice(5,-1),n.patterns&&n.patterns[s]&&o.paths[f].set({fill:n.patterns[s],opacity:o.paths[f].fillOpacity})),String(o.paths[f].clipPath).slice(0,3)=="url"&&(s=o.paths[f].clipPath.slice(5,-1),n.clippings[s]&&(b=n.clippings[s].childNodes[0],a=o.paths[f].svg.getAttribute("transform")||"translate(0,0)",a=a.slice(10,-1).split(","),o.paths[f].set({clipTo:function(n,t){return function(i){var r=Number(n.getAttribute("width")||"0"),u=Number(n.getAttribute("height")||"0"),f=Number(n.getAttribute("x")||"0"),e=Number(n.getAttribute("y")||"0");i.rect(Number(t[0])*-1+f,Number(t[1])*-1+e,r,u)}}(b,a)}))),o.paths[f].originalBBox&&(y=o.paths[f].originalBBox,o.paths[f].textAlign=="left"?o.paths[f].set({left:y.left+o.paths[f].width/2}):o.paths[f].set({left:y.left-o.paths[f].width/2}))}if(o.set(d),i.setup.fabric.add(o),n.svg.parentNode&&n.svg.parentNode.getElementsByTagName)for(v=n.svg.parentNode.getElementsByClassName(i.setup.chart.classNamePrefix+"-balloon-div"),f=0;f<v.length;f++)if(e.balloonFunction instanceof Function)e.balloonFunction.apply(i,[v[f],n]);else{var p=v[f],l=p.childNodes[0],w=new fabric.Text(l.innerText||l.innerHTML,{fontSize:i.pxToNumber(l.style.fontSize),fontFamily:l.style.fontFamily,fill:l.style.color,top:i.pxToNumber(p.style.top)+n.offset.y,left:i.pxToNumber(p.style.left)+n.offset.x,selectable:!1});i.setup.fabric.add(w)}n.svg.nextSibling&&n.svg.nextSibling.tagName=="A"&&(w=new fabric.Text(n.svg.nextSibling.innerText||n.svg.nextSibling.innerHTML,{fontSize:i.pxToNumber(n.svg.nextSibling.style.fontSize),fontFamily:n.svg.nextSibling.style.fontFamily,fill:n.svg.nextSibling.style.color,top:i.pxToNumber(n.svg.nextSibling.style.top)+n.offset.y,left:i.pxToNumber(n.svg.nextSibling.style.left)+n.offset.x,selectable:!1}),i.setup.fabric.add(w)),h.pop(),h.length||(k=setInterval(function(){c.loaded==c.included&&(clearTimeout(k),i.handleCallback(e.afterCapture,e),i.setup.fabric.renderAll(),i.handleCallback(t,e))},AmCharts.updateRate))}}(r),function(n,t){var r,h=i.gatherAttribute(n,"class"),v=i.gatherAttribute(n,"visibility"),y=i.gatherAttribute(n,"clip-path",1),o;if(t.className=String(h),t.classList=String(h).split(" "),t.clipPath=y,t.svg=n,n.tagName=="text"&&n.childNodes.length>1){var c=[],l=n.getAttribute("text-anchor")||"left",p={start:"left",middle:"center",end:"right"};for(r=0;r<n.childNodes.length;r++)c.push(n.childNodes[r].textContent);l!="middle"&&(t.originalBBox=t.getBoundingRect()),t.set({lineHeight:1.05,top:t.top+t.height-t.fontSize*(.18+t._fontSizeFraction)/2,text:c.join("\n"),textAlign:p[l],selectable:!1})}if(v=="hidden")t.opacity=0;else for(o=["fill","stroke"],r=0;r<o.length;r++){var f=o[r],a=String(n.getAttribute(f)||""),s=Number(n.getAttribute(f+"-opacity")||"1"),u=fabric.Color.fromHex(a).getSource();t.classList.indexOf(i.setup.chart.classNamePrefix+"-guide-fill")==-1||a||(s=0,u=fabric.Color.fromHex("#000000").getSource()),u&&(u.pop(),u.push(s),t[f]="rgba("+u.join()+")",t[f+i.capitalize("opacity")]=s)}i.handleCallback(e.reviver,t,n)})}},toCanvas:function(n,t){var u=i.deepMerge({},n||{}),r=i.setup.canvas;return i.handleCallback(t,r),r},toImage:function(n,t){var r=i.deepMerge({format:"png",quality:1,multiplier:1},n||{}),u=r.data,f=document.createElement("img");return r.data||(u=r.lossless||r.format=="svg"?i.toSVG(i.deepMerge(r,{getBase64:!0})):i.setup.fabric.toDataURL(r)),f.setAttribute("src",u),i.handleCallback(t,f),f},toBlob:function(n,t){var r=i.deepMerge({data:"empty",type:"text/plain"},n||{}),u,f=/^data:.+;base64,(.*)$/.exec(r.data);return f&&(r.data=f[0],r.type=r.data.slice(5,r.data.indexOf(",")-7),r.data=i.toByteArray({data:r.data.slice(r.data.indexOf(",")+1,r.data.length)})),u=r.getByteArray?r.data:new Blob([r.data],{type:r.type}),i.handleCallback(t,u),u},toJPG:function(n,t){var r=i.deepMerge({format:"jpeg",quality:1,multiplier:1},n||{}),u;return r.format=r.format.toLowerCase(),u=i.setup.fabric.toDataURL(r),i.handleCallback(t,u),u},toPNG:function(n,t){var u=i.deepMerge({format:"png",quality:1,multiplier:1},n||{}),r=i.setup.fabric.toDataURL(u);return i.handleCallback(t,r),r},toSVG:function(n,t){var u=i.deepMerge({reviver:function(n){var h=new RegExp(/\bstyle=(['"])(.*?)\1/),f=h.exec(n)[0].slice(7,-1),i=f.split(";"),r=[],o,s;for(i1=0;i1<i.length;i1++)if(i[i1]){var e=i[i1].replace(/\s/g,"").split(":"),u=e[0],t=e[1];["fill","stroke"].indexOf(u)!=-1?(t=fabric.Color.fromRgba(t),t&&t._source?(o="#"+t.toHex(),s=t._source[3],r.push([u,o].join(":")),r.push([u+"-opacity",s].join(":"))):r.push(i[i1])):u!="opactiy"&&r.push(i[i1])}return n.replace(f,r.join(";"))}},n||{}),r=i.setup.fabric.toSVG(u,u.reviver);return u.getBase64&&(r="data:image/svg+xml;base64,"+btoa(r)),i.handleCallback(t,r),r},toPDF:function(n,t){var r=i.deepMerge(i.deepMerge({multiplier:2},i.config.pdfMake),n||{},!0),u;return r.images.reference=i.toPNG(r),u=new pdfMake.createPdf(r),t&&u.getDataUrl(function(n){return function(){n.apply(i,arguments)}}(t)),u},toPRINT:function(n,t){var r,e=i.deepMerge({delay:1,lossless:!1},n||{}),f=i.toImage(e),o=[],u=document.body.childNodes;for(f.setAttribute("style","width: 100%; max-height: 100%;"),r=0;r<u.length;r++)i.isElement(u[r])&&(o[r]=u[r].style.display,u[r].style.display="none");return document.body.appendChild(f),window.print(),setTimeout(function(){for(r=0;r<u.length;r++)i.isElement(u[r])&&(u[r].style.display=o[r]);document.body.removeChild(f),i.handleCallback(t,f)},e.delay),f},toJSON:function(n,t){var r=i.deepMerge({dateFormat:i.config.dateFormat||"dateObject"},n||{},!0),u;return r.data=r.data?r.data:i.getChartData(r),u=JSON.stringify(r.data,undefined,"\t"),i.handleCallback(t,u),u},toCSV:function(n,t){function l(n){return typeof n=="string"&&(n=n),typeof n=="string"&&(r.escape&&(n=n.replace('"','""')),r.quotes&&(n=['"',n,'"'].join(""))),n}var o,s,r=i.deepMerge({data:i.getChartData(n),delimiter:",",quotes:!0,escape:!0},n||{},!0),e="",h=[],u=[],c,f;for(f in r.data[0])u.push(l(f)),h.push(f);e+=u.join(r.delimiter)+"\n";for(o in r.data)if(u=[],!isNaN(o)){for(s in h)isNaN(s)||(c=h[s],f=r.data[o][c],u.push(l(f,c)));e+=u.join(r.delimiter)+"\n"}return i.handleCallback(t,e),e},toXLSX:function(n,t){function e(n,t){t&&(n+=1462);var i=Date.parse(n);return(i-new Date(Date.UTC(1899,11,30)))/864e5}function o(n){for(var o={},r={s:{c:1e7,r:1e7},e:{c:0,r:0}},f,i,s,u=0;u!=n.length;++u)for(f=0;f!=n[u].length;++f)(r.s.r>u&&(r.s.r=u),r.s.c>f&&(r.s.c=f),r.e.r<u&&(r.e.r=u),r.e.c<f&&(r.e.c=f),i={v:n[u][f]},i.v!=null)&&(s=XLSX.utils.encode_cell({c:f,r:u}),typeof i.v=="number"?i.t="n":typeof i.v=="boolean"?i.t="b":i.v instanceof Date?(i.t="n",i.z=XLSX.SSF._table[14],i.v=e(i.v)):i.t="s",o[s]=i);return r.s.c<1e7&&(o["!ref"]=XLSX.utils.encode_range(r)),o}var r=i.deepMerge({name:"amCharts",dateFormat:i.config.dateFormat||"dateObject",withHeader:!0,stringify:!1},n||{},!0),u="",f={SheetNames:[],Sheets:{}};return r.data=r.data?r.data:i.getChartData(r),f.SheetNames.push(r.name),f.Sheets[r.name]=o(i.toArray(r)),u=XLSX.write(f,{bookType:"xlsx",bookSST:!0,type:"base64"}),u="data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,"+u,i.handleCallback(t,u),u},toArray:function(n,t){var s,f=i.deepMerge({data:i.getChartData(n),withHeader:!1,stringify:!0},n||{},!0),e=[],o=[],h,r,u;for(r in f.data[0])o.push(r);f.withHeader&&e.push(o);for(s in f.data)if(h=[],!isNaN(s)){for(r in o)isNaN(r)||(r=o[r],u=f.data[s][r]||"",u=f.stringify?String(u):u,h.push(u));e.push(h)}return i.handleCallback(t,e),e},toByteArray:function(n,t){function r(n){var t=n.charCodeAt(0);return t===c?62:t===l?63:t<u?-1:t<u+10?t-u+26+26:t<e+26?t-e:t<f+26?t-f+26:void 0}function a(n){function u(n){e[l++]=n}var t,s,c,i,f,e,o,l;if(n.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");for(o=n.length,f="="===n.charAt(o-2)?2:"="===n.charAt(o-1)?1:0,e=new h(n.length*3/4-f),c=f>0?n.length-4:n.length,l=0,t=0,s=0;t<c;t+=4,s+=3)i=r(n.charAt(t))<<18|r(n.charAt(t+1))<<12|r(n.charAt(t+2))<<6|r(n.charAt(t+3)),u((i&16711680)>>16),u((i&65280)>>8),u(i&255);return f===2?(i=r(n.charAt(t))<<2|r(n.charAt(t+1))>>4,u(i&255)):f===1&&(i=r(n.charAt(t))<<10|r(n.charAt(t+1))<<4|r(n.charAt(t+2))>>2,u(i>>8&255),u(i&255)),e}var s=i.deepMerge({},n||{}),h=typeof Uint8Array!="undefined"?Uint8Array:Array,c="+".charCodeAt(0),l="/".charCodeAt(0),u="0".charCodeAt(0),f="a".charCodeAt(0),e="A".charCodeAt(0),o=a(s.data);return i.handleCallback(t,o),o},handleCallback:function(n){var t,r=Array();if(n&&n instanceof Function){for(t=0;t<arguments.length;t++)t>0&&r.push(arguments[t]);n.apply(i,r)}},handleDropbox:function(n){var t,r;if(i.drawing.buffer.enabled)if(n.preventDefault(),n.stopPropagation(),n.type=="dragover")i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas active dropbox");else if(i.setup.wrapper.setAttribute("class",i.setup.chart.classNamePrefix+"-export-canvas active"),n.type=="drop"&&n.dataTransfer.files.length)for(t=0;t<n.dataTransfer.files.length;t++)r=new FileReader,r.onloadend=function(t){return function(){i.drawing.handler.add({url:r.result,top:n.layerY-t*10,left:n.layerX-t*10})}}(t),r.readAsDataURL(n.dataTransfer.files[t])},getChartData:function(n){function o(n,t,r){function f(n,t){return u.dataFields.indexOf(n)!=-1?f([n,".",t].join("")):n}n&&u.exportTitles&&i.setup.chart.type!="gantt"&&(e=f(n,r),u.dataFieldsMap[e]=n,u.dataFields.push(e),u.titles[e]=t||e)}var u=i.deepMerge({data:[],titles:{},dateFields:[],dataFields:[],dataFieldsMap:{},exportTitles:i.config.exportTitles,exportSelection:i.config.exportSelection},n||{},!0),r,t,s,h=["valueField","openField","closeField","highField","lowField","xField","yField"],y,c,e,a,l,f,v,p;if(u.data.length==0)if(i.setup.chart.type=="stock"){for(u.data=i.setup.chart.mainDataSet.dataProvider,o(i.setup.chart.mainDataSet.categoryField),u.dateFields.push(i.setup.chart.mainDataSet.categoryField),r=0;r<i.setup.chart.mainDataSet.fieldMappings.length;r++)for(c=i.setup.chart.mainDataSet.fieldMappings[r],t=0;t<i.setup.chart.panels.length;t++)for(y=i.setup.chart.panels[t],s=0;s<y.stockGraphs.length;s++)for(f=y.stockGraphs[s],i4=0;i4<h.length;i4++)f[h[i4]]==c.toField&&o(c.fromField,f.title,h[i4]);for(r=0;r<i.setup.chart.comparedGraphs.length;r++)for(f=i.setup.chart.comparedGraphs[r],t=0;t<f.dataSet.dataProvider.length;t++)for(s=0;s<f.dataSet.fieldMappings.length;s++)c=f.dataSet.fieldMappings[s],e=f.dataSet.id+"_"+c.toField,t<u.data.length&&(u.data[t][e]=f.dataSet.dataProvider[t][c.fromField],u.titles[e]||o(e,f.dataSet.title))}else if(i.setup.chart.type=="gantt"){for(o(i.setup.chart.categoryField),u.dateFields.push(i.setup.chart.categoryField),a=i.setup.chart.segmentsField,r=0;r<i.setup.chart.dataProvider.length;r++)if(l=i.setup.chart.dataProvider[r],l[a])for(t=0;t<l[a].length;t++)l[a][t][i.setup.chart.categoryField]=l[i.setup.chart.categoryField],u.data.push(l[a][t]);for(r=0;r<i.setup.chart.graphs.length;r++)for(f=i.setup.chart.graphs[r],t=0;t<h.length;t++){var v=h[t],p=f[v],w=f.title;o(p,f.title,v)}}else if(["pie","funnel"].indexOf(i.setup.chart.type)!=-1)u.data=i.setup.chart.dataProvider,o(i.setup.chart.titleField),u.dateFields.push(i.setup.chart.titleField),o(i.setup.chart.valueField);else if(i.setup.chart.type!="map")for(u.data=i.setup.chart.dataProvider,i.setup.chart.categoryAxis&&(o(i.setup.chart.categoryField,i.setup.chart.categoryAxis.title),u.dateFields.push(i.setup.chart.categoryField)),r=0;r<i.setup.chart.graphs.length;r++)for(f=i.setup.chart.graphs[r],t=0;t<h.length;t++)v=h[t],p=f[v],o(p,f.title,v);return i.processData(u)},processData:function(t){var r=i.deepMerge({data:[],titles:{},dateFields:[],dataFields:[],dataFieldsMap:{},dataDateFormat:i.setup.chart.dataDateFormat,dateFormat:i.config.dateFormat||i.setup.chart.dataDateFormat||"YYYY-MM-DD",exportTitles:i.config.exportTitles,exportSelection:i.config.exportSelection},t||{},!0),f,e,c,o,s;if(r.data.length){for(f=0;f<r.data.length;f++)for(e in r.data[f])r.dataFields.indexOf(e)==-1&&(r.dataFields.push(e),r.dataFieldsMap[e]=e);for(c=[],f=0;f<r.data.length;f++){for(o={},s=!1,e=0;e<r.dataFields.length;e++){var h=r.dataFields[e],a=r.dataFieldsMap[h],l=r.titles[h]||h,u=r.data[f][a]||undefined;r.exportTitles&&i.setup.chart.type!="gantt"&&l in o&&(l+=["( ",h," )"].join("")),r.dateFields.indexOf(a)!=-1&&(r.dataDateFormat&&(u instanceof String||typeof u=="string")?u=AmCharts.stringToDate(u,r.dataDateFormat):r.dateFormat&&(u instanceof Number||typeof u=="number")&&(u=new Date(u)),r.exportSelection&&(u instanceof Date?(u<n.startDate||u>n.endDate)&&(s=!0):(f<n.startIndex||f>n.endIndex)&&(s=!0)),r.dateFormat&&r.dateFormat!="dateObject"&&u instanceof Date&&(u=AmCharts.formatDate(u,r.dateFormat))),o[l]=u}s||c.push(o)}r.data=c}return r.data},capitalize:function(n){return n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()},createMenu:function(t,r){function u(t,r){for(var o,v=document.createElement("ul"),c,s,e,b,k,a=0;a<t.length;a++){var f=typeof t[a]=="string"?{format:t[a]}:t[a],h=document.createElement("li"),l=document.createElement("a"),p=document.createElement("img"),y=document.createElement("span"),w=String(f.action?f.action:f.format).toLowerCase();if(f.format=String(f.format).toUpperCase(),i.config.formats[f.format]?f=i.deepMerge({label:f.icon?"":f.format,format:f.format,mimeType:i.config.formats[f.format].mimeType,extension:i.config.formats[f.format].extension,capture:i.config.formats[f.format].capture,action:i.config.action,fileName:i.config.fileName},f):f.label||(f.label=f.label?f.label:i.i18l("menu.label."+w)),["CSV","JSON","XLSX"].indexOf(f.format)!=-1&&["map","gauge"].indexOf(i.setup.chart.type)!=-1)continue;else if(!i.setup.hasBlob&&f.format!="UNDEFINED"&&f.mimeType&&f.mimeType.split("/")[0]!="image"&&f.mimeType!="text/plain")continue;if(f.action=="draw")i.config.fabric.drawing.enabled?(f.menu=f.menu?f.menu:i.config.fabric.drawing.menu,f.click=function(n){return function(){this.capture(n,function(){this.createMenu(n.menu)})}}(f)):f.menu=[];else if(!f.populated&&f.action&&f.action.indexOf("draw.")!=-1)for(c=f.action.split(".")[1],s=f[c]||i.config.fabric.drawing[c]||[],f.menu=[],f.populated=!0,o=0;o<s.length;o++)e={label:s[o]},c=="shapes"?(b=s[o].indexOf("//")==-1,k=(b?i.config.path+"shapes/":"")+s[o],e.action="add",e.url=k,e.icon=k,e.ignore=b,e["class"]="export-drawing-shape"):c=="colors"?(e.style="background-color: "+s[o],e.action="change",e.color=s[o],e["class"]="export-drawing-color"):c=="widths"?(e.action="change",e.width=s[o],e.label=document.createElement("span"),e.label.style.width=i.numberToPx(s[o]),e.label.style.height=i.numberToPx(s[o]),e["class"]="export-drawing-width"):c=="opacities"?(e.style="opacity: "+s[o],e.action="change",e.opacity=s[o],e.label=s[o]*100+"%",e["class"]="export-drawing-opacity"):c=="modes"&&(e.label=i.i18l("menu.label.draw.modes."+s[o]),e.click=function(n){return function(){i.drawing.mode=n}}(s[o]),e["class"]="export-drawing-mode"),f.menu.push(e);else f.click||f.menu||f.items||(i.drawing.handler[w]instanceof Function?(f.action=w,f.click=function(n){return function(){this.drawing.handler[n.action](n)}}(f)):i.drawing.buffer.enabled?f.click=function(n){return function(){this.config.drawing.autoClose&&this.drawing.handler.done(),this["to"+n.format](n,function(t){n.action=="download"&&this.download(t,n.mimeType,[n.fileName,n.extension].join("."))})}}(f):f.format!="UNDEFINED"&&(f.click=function(n){return function(){if(n.capture||n.action=="print"||n.format=="PRINT")this.capture(n,function(){this.config.drawing.autoClose&&this.drawing.handler.done(),this["to"+n.format](n,function(t){n.action=="download"&&this.download(t,n.mimeType,[n.fileName,n.extension].join("."))})});else if(this["to"+n.format])this["to"+n.format](n,function(t){this.download(t,n.mimeType,[n.fileName,n.extension].join("."))});else throw new Error("Invalid format. Could not determine output type.");}}(f)));(f.menu===undefined||f.menu.length)&&(l.setAttribute("href","#"),l.addEventListener("click",function(n,t){return function(r){r.preventDefault();var u=[r,t];if((t.action=="draw"||t.format=="PRINT"||t.format!="UNDEFINED"&&t.capture)&&!i.drawing.enabled&&(t.delay=t.delay?t.delay:i.config.delay,t.delay)){i.delay(t,n);return}n.apply(i,u)}}(f.click||function(n){n.preventDefault()},f)),h.appendChild(l),i.isElement(f.label)?y.appendChild(f.label):y.innerHTML=f.label,f["class"]&&(h.className=f["class"]),f.style&&h.setAttribute("style",f.style),f.icon&&(p.setAttribute("src",(!f.ignore&&f.icon.slice(0,10).indexOf("//")==-1?n.pathToImages:"")+f.icon),l.appendChild(p)),f.label&&l.appendChild(y),f.title&&l.setAttribute("title",f.title),i.config.menuReviver&&(h=i.config.menuReviver.apply(i,[f,h])),f.elements={li:h,a:l,img:p,span:y},(f.menu||f.items)&&f.action!="draw"?u(f.menu||f.items,h).childNodes.length&&v.appendChild(h):v.appendChild(h))}return v.childNodes.length&&r.appendChild(v),v}var f;return r||(typeof i.config.divId=="string"?i.config.divId=r=document.getElementById(i.config.divId):r=i.isElement(i.config.divId)?i.config.divId:i.setup.chart.containerDiv),i.isElement(i.setup.menu)?i.setup.menu.innerHTML="":i.setup.menu=document.createElement("div"),i.setup.menu.setAttribute("class",i.setup.chart.classNamePrefix+"-export-menu "+i.setup.chart.classNamePrefix+"-export-menu-"+i.config.position+" amExportButton"),i.config.menuWalker&&(u=i.config.menuWalker),u.apply(this,[t,i.setup.menu]),i.setup.menu.childNodes.length&&r.appendChild(i.setup.menu),i.setup.menu},delay:function(n,t){var r=i.deepMerge({delay:3,precision:2},n||{}),u,f,o=Number(new Date),s=i.createMenu([{label:i.i18l("capturing.delayed.menu.label").replace("{{duration}}",AmCharts.toFixed(r.delay,r.precision)),title:i.i18l("capturing.delayed.menu.title"),"class":"export-delayed-capturing",click:function(){clearTimeout(u),clearTimeout(f),i.createMenu(i.config.menu)}}]),e=s.getElementsByTagName("a")[0];u=setInterval(function(){var n=r.delay-(Number(new Date)-o)/1e3;n<=0?(clearTimeout(u),r.action!="draw"&&i.createMenu(i.config.menu)):e&&(e.innerHTML=i.i18l("capturing.delayed.menu.label").replace("{{duration}}",AmCharts.toFixed(n,2)))},10),f=setTimeout(function(){t.apply(i,arguments)},r.delay*1e3)},migrateSetup:function(n){function i(n){var r,u;for(r in n)u=n[r],r.slice(0,6)=="export"&&u?t.menu.push(r.slice(6)):r=="userCFG"?i(u):r=="menuItems"?t.menu=u:r=="libs"?t.libs=u:typeof r=="string"&&(t[r]=u)}var t={enabled:!0,migrated:!0,libs:{autoLoad:!0},menu:[]};return i(n),t},loadListeners:function(){function n(n){n&&(n.set({top:n.top+10,left:n.left+10}),i.setup.fabric.add(n))}i.config.keyListener&&i.config.keyListener!="attached"&&(i.config.keyListener="attached",document.addEventListener("keydown",function(t){var r=i.drawing.buffer.target;(t.keyCode==8||t.keyCode==46)&&r?(t.preventDefault(),i.setup.fabric.remove(r)):t.keyCode==27&&i.drawing.enabled?(t.preventDefault(),i.drawing.handler.done()):t.keyCode==67&&(t.metaKey||t.ctrlKey)&&r?i.drawing.buffer.copy=r:t.keyCode==88&&(t.metaKey||t.ctrlKey)&&r?(i.drawing.buffer.copy=r,i.setup.fabric.remove(r)):t.keyCode==86&&(t.metaKey||t.ctrlKey)?i.drawing.buffer.copy&&n(i.drawing.buffer.copy.clone(n)):t.keyCode==90&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),t.shiftKey?i.drawing.handler.redo():i.drawing.handler.undo())})),i.config.fileListener&&(i.setup.chart.containerDiv.addEventListener("dragover",i.handleDropbox),i.setup.chart.containerDiv.addEventListener("dragleave",i.handleDropbox),i.setup.chart.containerDiv.addEventListener("drop",i.handleDropbox))},init:function(){clearTimeout(i.timer),i.timer=setInterval(function(){i.setup.chart.containerDiv&&(clearTimeout(i.timer),i.config.enabled&&(i.setup.chart.AmExport=i,i.setup.chart.div.style.overflow="visible",i.loadListeners(),i.createMenu(i.config.menu)))},AmCharts.updateRate)},construct:function(){i.drawing.handler.cancel=i.drawing.handler.done;try{i.setup.hasBlob=!!new Blob}catch(n){}window.safari=window.safari?window.safari:{},i.defaults.fabric.drawing.fontSize=i.setup.chart.fontSize||11,i.config.drawing=i.deepMerge(i.defaults.fabric.drawing,i.config.drawing||{},!0),i.deepMerge(i.defaults.fabric,i.config,!0),i.deepMerge(i.defaults.fabric,i.config.fabric||{},!0),i.deepMerge(i.defaults.pdfMake,i.config,!0),i.deepMerge(i.defaults.pdfMake,i.config.pdfMake||{},!0),i.deepMerge(i.libs,i.config.libs||{},!0),i.config.drawing=i.defaults.fabric.drawing,i.config.fabric=i.defaults.fabric,i.config.pdfMake=i.defaults.pdfMake,i.config=i.deepMerge(i.defaults,i.config,!0),i.config.fabric.drawing.enabled&&i.config.fabric.drawing.menu===undefined&&(i.config.fabric.drawing.menu=[],i.deepMerge(i.config.fabric.drawing.menu,[{"class":"export-drawing",menu:[{label:i.i18l("menu.label.draw.add"),menu:[{label:i.i18l("menu.label.draw.shapes"),action:"draw.shapes"},{label:i.i18l("menu.label.draw.text"),action:"text"}]},{label:i.i18l("menu.label.draw.change"),menu:[{label:i.i18l("menu.label.draw.modes"),action:"draw.modes"},{label:i.i18l("menu.label.draw.colors"),action:"draw.colors"},{label:i.i18l("menu.label.draw.widths"),action:"draw.widths"},{label:i.i18l("menu.label.draw.opacities"),action:"draw.opacities"},"UNDO","REDO"]},{label:i.i18l("menu.label.save.image"),menu:["PNG","JPG","SVG","PDF"]},"PRINT","CANCEL"]}])),i.config.menu===undefined&&(i.config.menu=[],i.deepMerge(i.config,{menu:[{"class":"export-main",menu:[{label:i.i18l("menu.label.save.image"),menu:["PNG","JPG","SVG","PDF"]},{label:i.i18l("menu.label.save.data"),menu:["CSV","XLSX","JSON"]},{label:i.i18l("menu.label.draw"),action:"draw",menu:i.config.fabric.drawing.menu},{format:"PRINT",label:i.i18l("menu.label.print")}]}]})),i.libs.path||(i.libs.path=i.config.path+"libs/"),i.isSupported()&&(i.loadDependencies(i.libs.resources,i.libs.reload),i.setup.chart.addClassNames=!0,i.setup.chart[i.name]=i,i.init())}};if(t)i.config=t;else if(i.setup.chart[i.name])i.config=i.setup.chart[i.name];else if(i.setup.chart.amExport||i.setup.chart.exportConfig)i.config=i.migrateSetup(i.setup.chart.amExport||i.setup.chart.exportConfig);else return;return i.construct(),i.deepMerge(this,i)}}(),AmCharts.addInitHandler(function(n){new AmCharts["export"](n)},["pie","serial","xy","funnel","radar","gauge","stock","map","gantt"])