@canvasjs/stockcharts 1.14.5 → 1.14.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.14.5 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.14.7 GA - https://canvasjs.com/
3
3
  Copyright 2025 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -115,482 +115,483 @@ zoom:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iA
115
115
  menu:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAYAAABE4bxTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADoSURBVFhH7dc9CsJAFATgRxIIBCwCqZKATX5sbawsY2MvWOtF9AB6AU8gguAJbD2AnZ2VXQT/Ko2TYGCL2OYtYQc+BuYA+1hCtnCVwMm27SGaXpDJIAiCvCkVR05hGOZNN3HkFMdx3nQRR06+76/R1IcFLJlNQEWlmWlBTwJtKLKHynehZqnjOGM0PYWRVXk61C37p7xlZ3Hk5HneCk1dmMH811xGoKLSzDiQwIBZB4ocoPJdqNkDt2yKlueWRVGUtzy3rPwo3sWRU3nLjuLI6OO67oZM00wMw3hrmpZx0XU9syxrR0T0BeMpb9dneSR2AAAAAElFTkSuQmCC"}};
116
116
  ca.prototype.setOptions=function(f,l){if(ga[this._defaultsKey]){var t=ga[this._defaultsKey],v;for(v in t)"publicProperties"!==v&&t.hasOwnProperty(v)&&(this[v]=f&&v in f?f[v]:l&&v in l?l[v]:t[v])}else La&&window.console&&console.log("defaults not set")};ca.prototype.get=function(f){var l=ga[this._defaultsKey];if("options"===f)return this.options&&this.options._isPlaceholder?null:this.options;if(l.hasOwnProperty(f)||l.publicProperties&&l.publicProperties.hasOwnProperty(f))return this[f];window.console&&
117
117
  window.console.log('Property "'+f+"\" doesn't exist. Please check for typo.")};ca.prototype.set=function(f,l,t){t="undefined"===typeof t?!0:t;var v=ga[this._defaultsKey];if("options"===f)this.createUserOptions(l);else if(v.hasOwnProperty(f)||v.publicProperties&&v.publicProperties.hasOwnProperty(f)&&"readWrite"===v.publicProperties[f])this.options._isPlaceholder&&this.createUserOptions(),this.options[f]=l;else{window.console&&(v.publicProperties&&v.publicProperties.hasOwnProperty(f)&&"readOnly"===
118
- v.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."));return}t&&(this.stockChart||this.chart||this).render()};ca.prototype.addTo=function(f,l,v,A){A="undefined"===typeof A?!0:A;var D=ga[this._defaultsKey];D.hasOwnProperty(f)||D.publicProperties&&D.publicProperties.hasOwnProperty(f)&&"readWrite"===D.publicProperties[f]?(this.options._isPlaceholder&&this.createUserOptions(),"undefined"===typeof this.options[f]&&
119
- (this.options[f]=[]),f=this.options[f],v="undefined"===typeof v||null===v?f.length:v,f.splice(v,0,l),A&&(this.stockChart||this.chart||this).render()):window.console&&(D.publicProperties&&D.publicProperties.hasOwnProperty(f)&&"readOnly"===D.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."))};ca.prototype.createUserOptions=function(f){if("undefined"!==typeof f||this.options._isPlaceholder)if(this.parent&&
120
- this.parent.options._isPlaceholder&&this.parent.createUserOptions(),this.isOptionsInArray){this.parent.options[this.optionsName]||(this.parent.options[this.optionsName]=[]);var l=this.parent.options[this.optionsName],v=l.length;this.options._isPlaceholder||(wa(l),v=l.indexOf(this.options));this.options="undefined"===typeof f?{}:f;l[v]=this.options}else this.options="undefined"===typeof f?{}:f,this.parent&&(f=this.parent.options,this.optionsName?l=this.optionsName:(l=this._defaultsKey)&&0!==l.length?
121
- (v=l.charAt(0).toLowerCase(),1<l.length&&(v=v.concat(l.slice(1))),l=v):l=void 0,f[l]=this.options)};ca.prototype.remove=function(f){f="undefined"===typeof f?!0:f;if(this.isOptionsInArray){var l=this.parent.options[this.optionsName];wa(l);var v=l.indexOf(this.options);0<=v&&l.splice(v,1)}else delete this.parent.options[this.optionsName];f&&(this.stockChart||this.chart||this).render()};ca.prototype.updateOption=function(s){!ga[this._defaultsKey]&&(La&&window.console)&&console.log("defaults not set");
122
- var l=ga[this._defaultsKey],v={},A=this[s],D=this._themeOptionsKey,H=this._index;this.theme&&f(this.parent)&&f(D)&&f(H)?v=f(this.predefinedThemes[this.theme])?this.predefinedThemes.light1:this.predefinedThemes[this.theme]:this.parent&&this.parent.themeOptions&&(this.options.theme?"Chart"===this._defaultsKey&&Qa[this.options.theme]?v=Qa[this.options.theme]:Ra[this.options.theme]&&(v=Ra[this.options.theme][D]):this.parent.themeOptions[D]&&(null===H?v=this.parent.themeOptions[D]:0<this.parent.themeOptions[D].length&&
123
- (v=Math.min(this.parent.themeOptions[D].length-1,H),v=this.parent.themeOptions[D][v])));this.themeOptions=v;s in l&&(A=s in this.options?this.options[s]:v&&s in v?v[s]:l[s]);if(A===this[s])return!1;this[s]=A;return!0};ca.prototype.trackChanges=function(f){if(!this.sessionVariables)throw"Session Variable Store not set";this.sessionVariables[f]=this.options[f]};ca.prototype.isBeingTracked=function(f){this.options._oldOptions||(this.options._oldOptions={});return this.options._oldOptions[f]?!0:!1};ca.prototype.hasOptionChanged=
124
- function(f){if(!this.sessionVariables)throw"Session Variable Store not set";return this.sessionVariables[f]!==this.options[f]};ca.prototype.addEventListener=function(f,v,t){f&&v&&(this._eventListeners[f]=this._eventListeners[f]||[],this._eventListeners[f].push({context:t||this,eventHandler:v}))};ca.prototype.removeEventListener=function(f,v){if(f&&v&&this._eventListeners[f])for(var t=this._eventListeners[f],A=0;A<t.length;A++)if(t[A].eventHandler===v){t[A].splice(A,1);break}};ca.prototype.removeAllEventListeners=
125
- function(){this._eventListeners=[]};ca.prototype.dispatchEvent=function(f,v,t){if(f&&this._eventListeners[f]){v=v||{};for(var A=this._eventListeners[f],D=0;D<A.length;D++)A[D].eventHandler.call(A[D].context,v)}"function"===typeof this[f]&&this[f].call(t||this.chart,v)};Ka.prototype.registerSpace=function(f,v){"top"===f?this._topOccupied+=v.height:"bottom"===f?this._bottomOccupied+=v.height:"left"===f?this._leftOccupied+=v.width:"right"===f&&(this._rightOccupied+=v.width)};Ka.prototype.unRegisterSpace=
126
- function(f,v){"top"===f?this._topOccupied-=v.height:"bottom"===f?this._bottomOccupied-=v.height:"left"===f?this._leftOccupied-=v.width:"right"===f&&(this._rightOccupied-=v.width)};Ka.prototype.getFreeSpace=function(){return{x1:this._x1+this._leftOccupied,y1:this._y1+this._topOccupied,x2:this._x2-this._rightOccupied,y2:this._y2-this._bottomOccupied,width:this._x2-this._x1-this._rightOccupied-this._leftOccupied,height:this._y2-this._y1-this._bottomOccupied-this._topOccupied}};Ka.prototype.reset=function(){this._rightOccupied=
127
- this._leftOccupied=this._bottomOccupied=this._topOccupied=this._padding};ja(na,ca);na.prototype._initialize=function(){f(this.padding)||"object"!==typeof this.padding?this.topPadding=this.rightPadding=this.bottomPadding=this.leftPadding=Number(this.padding)|0:(this.topPadding=f(this.padding.top)?0:Number(this.padding.top)|0,this.rightPadding=f(this.padding.right)?0:Number(this.padding.right)|0,this.bottomPadding=f(this.padding.bottom)?0:Number(this.padding.bottom)|0,this.leftPadding=f(this.padding.left)?
128
- 0:Number(this.padding.left)|0)};na.prototype.render=function(f){if(0!==this.fontSize){f&&this.ctx.save();var v=this.ctx.font;this.ctx.textBaseline=this.textBaseline;var t=0;this._isDirty&&this.measureText(this.ctx);this.ctx.translate(this.x,this.y+t);"middle"===this.textBaseline&&(t=-this._lineHeight/2);this.ctx.font=this._getFontString();this.ctx.rotate(Math.PI/180*this.angle);var A=0,D=this.topPadding,H=null;this.ctx.roundRect||Ea(this.ctx);this.borderDashType=this.borderDashType||"solid";this.ctx.setLineDash&&
129
- this.ctx.setLineDash(Q(this.borderDashType,this.borderThickness));(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(0,t,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);this.ctx.fillStyle=this.fontColor;for(t=0;t<this._wrappedText.lines.length;t++)H=this._wrappedText.lines[t],"right"===this.textAlign?A=this.width-H.width-this.rightPadding:"left"===this.textAlign?A=this.leftPadding:"center"===this.textAlign&&(A=
130
- (this.width-(this.leftPadding+this.rightPadding))/2-H.width/2+this.leftPadding),this.ctx.fillText(H.text,A,D),D+=H.height;this.ctx.font=v;f&&this.ctx.restore()}};na.prototype.setText=function(f){this.text=f;this._isDirty=!0;this._wrappedText=null};na.prototype.measureText=function(){this._lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);if(null===this.maxWidth)throw"Please set maxWidth and height for TextBlock";this._wrapText(this.ctx);this._isDirty=!1;return{width:this.width,height:this.height}};
131
- na.prototype._getLineWithWidth=function(f,v,t){f=String(f);if(!f)return{text:"",width:0};var A=t=0,D=f.length-1,H=Infinity;for(this.ctx.font=this._getFontString();A<=D;){var H=Math.floor((A+D)/2),y=f.substr(0,H+1);t=this.ctx.measureText(y).width;if(t<v)A=H+1;else if(t>v)D=H-1;else break}t>v&&1<y.length&&(y=y.substr(0,y.length-1),t=this.ctx.measureText(y).width);v=!0;if(y.length===f.length||" "===f[y.length])v=!1;v&&(f=y.split(" "),1<f.length&&f.pop(),y=f.join(" "),t=this.ctx.measureText(y).width);
132
- return{text:y,width:t}};na.prototype._wrapText=function(){var f=new String(Oa(String(this.text))),v=[],t=this.ctx.font,A=0,D=0;this.ctx.font=this._getFontString();if(0===this.frontSize)D=A=0;else for(;0<f.length;){var H=this.maxHeight-(this.topPadding+this.bottomPadding),y=this._getLineWithWidth(f,this.maxWidth-(this.leftPadding+this.rightPadding),!1);y.height=this._lineHeight;v.push(y);var F=D,D=Math.max(D,y.width),A=A+y.height,f=Oa(f.slice(y.text.length,f.length));H&&A>H&&(y=v.pop(),A-=y.height,
133
- D=F)}this._wrappedText={lines:v,width:D,height:A};this.width=D+(this.leftPadding+this.rightPadding);this.height=A+(this.topPadding+this.bottomPadding);this.ctx.font=t};na.prototype._getFontString=function(){var f;f=""+(this.fontStyle?this.fontStyle+" ":"");f+=this.fontWeight?this.fontWeight+" ":"";f+=this.fontSize?this.fontSize+"px ":"";var l=this.fontFamily?this.fontFamily+"":"";!v&&l&&(l=l.split(",")[0],"'"!==l[0]&&'"'!==l[0]&&(l="'"+l+"'"));return f+=l};ja(Xa,ca);ja(Ha,ca);Ha.prototype.setLayout=
134
- function(){if(this.text){var v=this.dockInsidePlotArea?this.chart.plotArea:this.chart,l=v.layoutManager.getFreeSpace(),t=l.x1,A=l.y1,D=0,A=0,t=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,H;this.textAlign=f(this.options.textAlign)?this.horizontalAlign:this.textAlign;"center"===this.verticalAlign?"left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=l.height-4),A=0.5*l.width-this.margin-2):(null===this.maxWidth&&(this.maxWidth=
135
- l.width-4),A=0.5*l.height-4):(null===this.maxWidth&&(this.maxWidth=l.width-4-t*("center"===this.horizontalAlign?2:1)),A=0.5*l.height-this.margin-2,D=0);f(this.padding)||"number"!==typeof this.padding?f(this.padding)||"object"!==typeof this.padding||(H=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,H+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):H=2*this.padding;this.wrap||(A=Math.min(A,1.5*this.fontSize+H));var y=new na(this.ctx,{fontSize:this.fontSize,
136
- fontFamily:this.fontFamily,fontColor:this.fontColor,fontStyle:this.fontStyle,fontWeight:this.fontWeight,textAlign:this.textAlign,verticalAlign:this.verticalAlign,borderColor:this.borderColor,borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:A,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"}),F=y.measureText();"center"===this.verticalAlign?("left"===this.horizontalAlign?(t=l.x1+2+y._lineHeight/2,A=l.y2-
137
- 2-(this.maxWidth/2-F.width/2),D=-90,H="left",this.width=F.height,this.height=F.width):"right"===this.horizontalAlign?(t=l.x2-2-y._lineHeight/2,A=l.y1+2+(this.maxWidth/2-F.width/2),D=90,H="right",this.width=F.height,this.height=F.width):(A=l.y1+2+(l.height/2-F.height/2)+y._lineHeight/2,t=l.x1+2+(l.width/2-F.width/2),H="center",this.width=F.width,this.height=F.height),l="center"):("bottom"===this.verticalAlign?(A=l.y2-2-F.height+y._lineHeight/2,H="bottom"):(A=l.y1+2+y._lineHeight/2,H="top"),t="left"===
138
- this.horizontalAlign?l.x1+2:"right"===this.horizontalAlign?l.x2-2-F.width-t:l.x1+l.width/2-F.width/2,l=this.horizontalAlign,this.width=F.width,this.height=F.height);y.x=t;y.y=A;y.angle=D;y.horizontalAlign=l;this._textBlock=y;v.layoutManager.registerSpace(H,{width:this.width+("left"===H||"right"===H?this.margin+2:0),height:this.height+("top"===H||"bottom"===H?this.margin+2:0)});this.bounds={x1:t,y1:A-y._lineHeight/2,x2:t+this.width,y2:A+this.height-y._lineHeight/2};"center"===this.verticalAlign&&("left"===
139
- this.horizontalAlign&&(this.bounds={x1:t-y._lineHeight/2,y1:A-this.height,x2:t+this.width-y._lineHeight/2,y2:A}),"right"===this.horizontalAlign&&(this.bounds={x1:t-y._lineHeight/2,y1:A,x2:t+this.width-y._lineHeight/2,y2:A+this.height}));this.ctx.textBaseline="top"}};Ha.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};ja(Ma,ca);Ma.prototype.setLayout=Ha.prototype.setLayout;Ma.prototype.render=Ha.prototype.render;cb.prototype.get=function(f,v){var t=null;0<this.pool.length?(t=
140
- this.pool.pop(),Ua(t,f,v)):t=ta(f,v);return t};cb.prototype.release=function(f){this.pool.push(f)};ja(Na,ca);var Sa={addTheme:function(f,v){Qa[f]=v},addColorSet:function(f,v){qa[f]=v},addCultureInfo:function(f,v){Pa[f]=v},formatNumber:function(f,v,t){t=t||"en";if(Pa[t])return aa(f,v||"#,##0.##",new Na(t));throw"Unknown Culture Name";},formatDate:function(f,v,t){t=t||"en";if(Pa[t])return sa(f,v||"DD MMM YYYY",new Na(t));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?
141
- module.exports=Sa:"function"===typeof define&&define.amd?define([],function(){return Sa}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:Sa);var Ja=Sa.Chart=function(){function s(a,h){return a.x-h.x}function l(a,h,c){h=h||{};f(c)?(this.predefinedThemes=Qa,this.optionsName=this.parent=this.index=
142
- null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=f(h.theme)||f(this.predefinedThemes[h.theme])?"light1":h.theme;l.base.constructor.call(this,"Chart",this.optionsName,h,this.index,this.parent);var b=this;this._containerId=a;this._objectsInitialized=!1;this.overlaidCanvasCtx=this.ctx=null;this._indexLabels=[];this._panTimerId=0;this._lastTouchEventType=
143
- "";this._lastTouchData=null;this.isAnimating=!1;this.renderCount=0;this.disableToolTip=this.animatedRender=!1;this.canvasPool=new cb;this.allDOMEventHandlers=[];this.panEnabled=!1;this._defaultCursor="default";this.plotArea={canvas:null,ctx:null,x1:0,y1:0,x2:0,y2:0,width:0,height:0};this._dataInRenderedOrder=[];(this.container="string"===typeof this._containerId?document.getElementById(this._containerId):this._containerId)?(this.container.innerHTML="",h=a=0,h=lb(this.container),a=this.options.width?
144
- this.width:0<this.container.clientWidth-parseFloat(h.paddingLeft)-parseFloat(h.paddingRight)?this.container.clientWidth-parseFloat(h.paddingLeft)-parseFloat(h.paddingRight):this.width,h=c&&c.height?c.height:this.options.height?this.height:0<this.container.clientHeight-parseFloat(h.paddingTop)-parseFloat(h.paddingBottom)?this.container.clientHeight-parseFloat(h.paddingTop)-parseFloat(h.paddingBottom):this.height,this.width=a,this.height=h,this.x1=this.y1=0,this.x2=this.width,this.y2=this.height,this.selectedColorSet=
145
- "undefined"!==typeof qa[this.colorSet]?qa[this.colorSet]:qa.colorSet1,this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",v||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=ta(a,
146
- h),this._preRenderCanvas=ta(a,h),this.canvas.style.position="absolute",this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ea(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ea(this._preRenderCtx),v?this.plotArea.ctx=
147
- this.ctx:(this.plotArea.canvas=ta(a,h),this.plotArea.canvas.style.position="absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=ta(a,h),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect="none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect=
148
- "none",this.overlaidCanvas.style.userSelect="none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ea(this.overlaidCanvasCtx)),this._eventManager=new ga(this),this.windowResizeHandler=D(window,"resize",function(){b._updateSize()&&(b.render(),b.isNavigator&&(b.stockChart&&b.stockChart.navigator&&b.stockChart.navigator.enabled)&&b.stockChart.navigator._updateSlider(b.stockChart._axisXMin,
149
- b.stockChart._axisXMax))},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),R(this._toolBar,{position:"absolute",right:"1px",top:"1px",webkitTapHighlightColor:"transparent"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},D(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},
150
- this.allDOMEventHandlers),D(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);Aa(b._dropdownMenu)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,
151
- window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new oa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=
152
- [],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function t(a,h){for(var c=[],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var g,E,f;f=e-1;g=0===f?0:f-1;E=f===a.length-1?f:f+1;b=Math.abs((a[E].x-a[g].x)/(0===a[E].x-a[f].x?0.01:a[E].x-a[f].x))*(h-1)/2+1;var d=(a[E].x-a[g].x)/b;b=(a[E].y-a[g].y)/b;c[c.length]=a[f].x>a[g].x&&0<d||a[f].x<
153
- a[g].x&&0>d?{x:a[f].x+d/3,y:a[f].y+b/3}:{x:a[f].x,y:a[f].y+(1===c.length?0:b/9)};f=e;g=0===f?0:f-1;E=f===a.length-1?f:f+1;b=Math.abs((a[E].x-a[g].x)/(0===a[f].x-a[g].x?0.01:a[f].x-a[g].x))*(h-1)/2+1;d=(a[E].x-a[g].x)/b;b=(a[E].y-a[g].y)/b;c[c.length]=a[f].x>a[g].x&&0<d||a[f].x<a[g].x&&0>d?{x:a[f].x-d/3,y:a[f].y-b/3}:{x:a[f].x,y:a[f].y-b/9};c[c.length]=a[e]}return c}function A(a,h,c,b,e,g,E,f,d,m){var p=0;m?(E.color=g,f.color=g):m=1;p=d?Math.abs(e-c):Math.abs(b-h);p=0<E.trimLength?Math.abs(p*E.trimLength/
154
- 100):Math.abs(p-E.length);d?(c+=p/2,e-=p/2):(h+=p/2,b-=p/2);var p=1===Math.round(E.thickness)%2?0.5:0,n=1===Math.round(f.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=f.color||g;a.lineWidth=f.thickness||2;a.setLineDash&&a.setLineDash(Q(f.dashType,f.thickness));a.beginPath();d&&0<f.thickness?(a.moveTo(b-E.thickness/2,Math.round((c+e)/2)-n),a.lineTo(h+E.thickness/2,Math.round((c+e)/2)-n)):0<f.thickness&&(a.moveTo(Math.round((h+b)/2)-n,c+E.thickness/2),a.lineTo(Math.round((h+b)/2)-n,e-E.thickness/
155
- 2));a.stroke();a.strokeStyle=E.color||g;a.lineWidth=E.thickness||2;a.setLineDash&&a.setLineDash(Q(E.dashType,E.thickness));a.beginPath();d&&0<E.thickness?(a.moveTo(b-p,c),a.lineTo(b-p,e),a.moveTo(h+p,c),a.lineTo(h+p,e)):0<E.thickness&&(a.moveTo(h,c+p),a.lineTo(b,c+p),a.moveTo(h,e-p),a.lineTo(b,e-p));a.stroke();a.restore()}function F(a,h){F.base.constructor.call(this,"Legend","legend",h,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;
156
- this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));this.lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function H(a,h,c,b){H.base.constructor.call(this,"DataSeries","data",h,c,a);this.chart=a;this.canvas=a.canvas;this._ctx=a.canvas.ctx;this.index=
157
- c;this.noDataPointsInPlotArea=0;this.id=b;this.chart._eventManager.objectMap[b]={id:b,objectType:"dataSeries",dataSeriesIndex:c};a=h.dataPoints?h.dataPoints.length:0;this.dataPointEOs=[];for(h=0;h<a;h++)this.dataPointEOs[h]={};this.dataPointIds=[];this.plotUnit=[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&
158
- (this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function y(a,h,c,b,e,g){y.base.constructor.call(this,"Axis",h,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===e?("left"===g||"bottom"===
159
- g?(this.optionsName="axisX",f(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",f(this.chart.sessionVariables.axisX2[b])&&(this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=null)):"left"===g||"bottom"===g?(this.optionsName="axisY",f(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]=
160
- {}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",f(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);"undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=e;"axisX"!==e||c&&"undefined"!==
161
- typeof c.gridThickness||(this.gridThickness=0);this._position=g;this.lineCoordinates={x1:null,y1:null,x2:null,y2:null,width:null};this.labelAngle=(this.labelAngle%360+360)%360;90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new M(this.chart,this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this));this.stripLines=[];if(this.options.stripLines&&0<this.options.stripLines.length)for(a=
162
- 0;a<this.options.stripLines.length;a++)this.stripLines.push(new T(this.chart,this.options.stripLines[a],a,++this.chart._eventManager.lastObjectId,this));this.options.crosshair&&(this.crosshair=new fa(this.chart,this.options.crosshair,this),this.crosshair._updatedValue=f(this.sessionVariables.crosshairValue)?null:this.sessionVariables.crosshairValue);this._titleTextBlock=null;this.hasOptionChanged("viewportMinimum")&&null===this.viewportMinimum&&(this.options.viewportMinimum=void 0,this.sessionVariables.viewportMinimum=
163
- null);this.hasOptionChanged("viewportMinimum")||isNaN(this.sessionVariables.newViewportMinimum)||null===this.sessionVariables.newViewportMinimum?this.sessionVariables.newViewportMinimum=null:this.viewportMinimum=this.sessionVariables.newViewportMinimum;this.hasOptionChanged("viewportMaximum")&&null===this.viewportMaximum&&(this.options.viewportMaximum=void 0,this.sessionVariables.viewportMaximum=null);this.hasOptionChanged("viewportMaximum")||isNaN(this.sessionVariables.newViewportMaximum)||null===
164
- this.sessionVariables.newViewportMaximum?this.sessionVariables.newViewportMaximum=null:this.viewportMaximum=this.sessionVariables.newViewportMaximum;null!==this.minimum&&null!==this.viewportMinimum&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));null!==this.maximum&&null!==this.viewportMaximum&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum");f(this.options.tickLength)&&(this.tickLength=
165
- "left"===g||"right"===g?Math.min(this.tickLength,0.3*this.chart.width):Math.min(this.tickLength,0.3*this.chart.height))}function M(a,h,c,b){M.base.constructor.call(this,"ScaleBreaks","scaleBreaks",h,null,b);this.id=c;this.chart=a;this.ctx=this.chart.ctx;this.axis=b;this.optionsName="scaleBreaks";this.isOptionsInArray=!1;this._appliedBreaks=[];this.customBreaks=[];this.autoBreaks=[];"string"===typeof this.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?8:(10<this.spacing?
166
- 10:this.spacing)+"%"):"number"!==typeof this.spacing&&(this.spacing=8);this.autoCalculate&&(this.maxNumberOfAutoBreaks=Math.min(this.maxNumberOfAutoBreaks,5));if(this.options.customBreaks&&0<this.options.customBreaks.length){for(a=0;a<this.options.customBreaks.length;a++)this.customBreaks.push(new L(this.chart,"customBreaks",this.options.customBreaks[a],a,++this.chart._eventManager.lastObjectId,this)),"number"===typeof this.customBreaks[a].startValue&&("number"===typeof this.customBreaks[a].endValue&&
167
- this.customBreaks[a].endValue!==this.customBreaks[a].startValue)&&this._appliedBreaks.push(this.customBreaks[a]);this._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue});for(a=0;a<this._appliedBreaks.length-1;a++)this._appliedBreaks[a].endValue>=this._appliedBreaks[a+1].startValue&&(this._appliedBreaks[a].endValue=Math.max(this._appliedBreaks[a].endValue,this._appliedBreaks[a+1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+a+" and "+(a+1)+" are overlapping."),
168
- this._appliedBreaks.splice(a,2),a--)}}function L(a,h,c,b,e,g){L.base.constructor.call(this,"Break",h,c,b,g);this.id=e;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=g;this.optionsName=h;this.isOptionsInArray=!0;this.type=c.type?this.type:g.type;this.fillOpacity=f(c.fillOpacity)?g.fillOpacity:this.fillOpacity;this.lineThickness=f(c.lineThickness)?g.lineThickness:this.lineThickness;this.color=c.color?this.color:g.color;this.lineColor=c.lineColor?this.lineColor:g.lineColor;this.lineDashType=c.lineDashType?
169
- this.lineDashType:g.lineDashType;!f(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!f(this.endValue)&&this.endValue.getTime&&(this.endValue=this.endValue.getTime());"number"===typeof this.startValue&&("number"===typeof this.endValue&&this.endValue<this.startValue)&&(a=this.startValue,this.startValue=this.endValue,this.endValue=a);this.spacing="undefined"===typeof c.spacing?g.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=parseFloat(this.spacing),
170
- this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=g.spacing);this.size=g.parent.logarithmic?1:0}function T(a,h,c,b,e){T.base.constructor.call(this,"StripLine","stripLines",h,c,e);this.id=b;this.chart=a;this.ctx=this.chart.ctx;this.label=this.label;this.axis=e;this.optionsName="stripLines";this.isOptionsInArray=!0;this._thicknessType="pixel";null!==this.startValue&&null!==this.endValue&&(this.value=e.logarithmic?Math.sqrt((this.startValue.getTime?
171
- this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null);this.tickLength=f(h.tickLength)?e.tickLength:h.tickLength}function fa(a,h,c){fa.base.constructor.call(this,"Crosshair","crosshair",h,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType=
172
- "pixel"}function oa(a,h){oa.base.constructor.call(this,"ToolTip","toolTip",h,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.currentDataPointIndex=this.currentSeriesIndex=-1;this._prevY=this._prevX=NaN;this.containerTransitionDuration=0.1;this.mozContainerTransition=this.getContainerTransition(this.containerTransitionDuration);this.optionsName="toolTip";this._initialize()}function ga(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=
173
- [];this.previousDataPointEventObject=null;this.ghostCanvas=ta(this.chart.width,this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function ha(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}ja(l,ca);l.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var h=0;h<a.length;h++)hb(a[h][0],a[h][1],
174
- a[h][2],a[h][3]);this.allDOMEventHandlers=[];for(this.removeAllEventListeners();this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);for(;this._dropdownMenu&&this._dropdownMenu.hasChildNodes();)this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);this.container=this._canvasJSContainer=null;this.toolTip.container=
175
- null;this.canvas&&Da(this.canvas);this.overlaidCanvas&&Da(this.overlaidCanvas);this._preRenderCanvas&&Da(this._preRenderCanvas);this._breaksCanvas&&Da(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};l.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");
176
- this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");this.updateOption("theme");this.stockChart&&this.stockChart.options&&"undefined"!==typeof this.stockChart.options.theme&&f(this.options.theme)?this.theme=this.stockChart.theme:f(this.stockChart)&&f(this.theme)&&(this.theme="light1");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof qa[this.colorSet]?qa[this.colorSet]:qa.colorSet1);this.updateOption("backgroundColor");this.stockChart&&(this.stockChart.options&&
177
- "undefined"!==typeof this.stockChart.options.backgroundColor&&f(this.options.backgroundColor))&&(this.backgroundColor=this.stockChart.backgroundColor);this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this.stockChart&&f(this.options.culture)&&(this.culture=this.stockChart.culture);this._cultureInfo=new Na(this.culture);this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&v;this.updateOption("animationDuration");this.stockChart&&
178
- (this.stockChart.options&&!f(this.stockChart.options.animationEnabled))&&(this.animationEnabled=this.stockChart.animationEnabled&&v);this.stockChart&&(this.stockChart.options&&!f(this.stockChart.options.animationDuration))&&(this.animationDuration=this.stockChart.animationDuration);this.updateOption("rangeChanging");this.updateOption("rangeChanged");this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Xa(this,this.options.toolbar);if(this.stockChart&&
179
- this.stockChart.options&&this.stockChart.options.toolbar&&!this.options.toolbar)for(var h in this.stockChart.options.toolbar)this.toolbar[h]=this.stockChart.options.toolbar[h];if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)R(this._zoomButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,height:2*this.toolbar.buttonBorderThickness+25+"px",width:2*this.toolbar.buttonBorderThickness+40+"px",backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),
180
- 0>=navigator.userAgent.search("MSIE")&&this._zoomButton.childNodes[0]&&R(this._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});else{var c=!1;Aa(this._zoomButton=document.createElement("button"));za(this,this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);R(this._zoomButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,height:2*this.toolbar.buttonBorderThickness+25+"px",width:2*this.toolbar.buttonBorderThickness+40+"px",
181
- backgroundClip:"padding-box"});D(this._zoomButton,"touchstart",function(a){c=!0},this.allDOMEventHandlers);D(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,za(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,za(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);D(this._zoomButton,"mousemove",function(){c?c=!1:(R(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),
182
- 0>=navigator.userAgent.search("MSIE")&&R(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);D(this._zoomButton,"mouseout",function(){c||(R(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(R(this._resetButton,
183
- {border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),0>=navigator.userAgent.search("MSIE")&&this._resetButton.childNodes[0]&&R(this._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}),this._resetButton.title=this._cultureInfo.resetText):(c=!1,Aa(this._resetButton=
184
- document.createElement("button")),za(this,this._resetButton,"reset"),R(this._resetButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundClip:"padding-box"}),this._toolBar.appendChild(this._resetButton),D(this._resetButton,"touchstart",function(a){c=!0},this.allDOMEventHandlers),D(this._resetButton,"click",function(){a.toolTip.hide();
185
- a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,za(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=
186
- 0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=null,a.sessionVariables.axisY2[b].newViewportMaximum=
187
- null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});Aa(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,
188
- a.stockChart));a.render();a.syncCharts&&a.stockChart&&(a.stockChart.rangeUpdatedBy=!a.stockChart.navigator.slider||f(a.stockChart.navigator.slider.options.minimum)&&f(a.stockChart.navigator.slider.options.maximum)?!a.stockChart.rangeSelector.enabled||!a.stockChart.rangeSelector.inputFields.enabled||f(a.stockChart.rangeSelector.inputFields.options.startValue)&&f(a.stockChart.rangeSelector.inputFields.options.endValue)?null:"inputFields":"navigator",a.stockChart.rangeUpdatedBy=null,a.stockChart.rangeSelector.sessionVariables._clickedRangeButtonIndex=
189
- null,a.syncCharts(null,null),!f(a.stockChart._selectedRangeButtonIndex)&&a.stockChart._selectedRangeButtonIndex<a.stockChart.rangeSelector.buttons.length&&(b=a.stockChart.rangeSelector.buttons[a.stockChart._selectedRangeButtonIndex],b.enabled&&(b.state="on",b.textBlock.fontWeight="bold",b.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnSelect,b.render())),a.stockChart.rangeSelector&&
190
- a.stockChart.rangeSelector.enabled&&a.stockChart.rangeSelector.render());a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,a.stockChart))},this.allDOMEventHandlers),D(this._resetButton,"mousemove",function(){c||(R(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),
191
- 0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),D(this._resetButton,"mouseout",function(){c||(R(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=
192
- a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Ta(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=!1))}else this.panEnabled=this.zoomEnabled=!1;ib(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?za(a,a._zoomButton,"zoom"):za(a,a._zoomButton,"pan"),a._resetButton.getAttribute("state")!==
193
- a._cultureInfo.resetText&&za(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(h in this.toolTip.options)this.toolTip.options.hasOwnProperty(h)&&this.toolTip.updateOption(h)};l.prototype._updateSize=function(){return mb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};l.prototype._initialize=function(){this.isNavigator=f(this.parent)||f(this.parent._defaultsKey)||"Navigator"!==this.parent._defaultsKey?
194
- !1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new ha(this);this.removeAllEventListeners();this.disableToolTip=this.sessionVariables.disableToolTip||!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=v&&this.animationEnabled&&0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=
195
- [];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new Ka(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,h=null;if(this.options.data){for(var c=0;c<this.options.data.length;c++)if(a++,!this.options.data[c].type||0<=l._supportedChartTypes.indexOf(this.options.data[c].type)){var b=new H(this,this.options.data[c],
196
- a-1,++this._eventManager.lastObjectId);if(!f(b)&&b.dataPoints)for(var e=0;e<b.dataPoints.length;e++)if(b.dataPoints[e].x&&b.dataPoints[e].x.getTime){b.xValueType="dateTime";break}"error"===b.type&&(b.linkedDataSeriesIndex=f(this.options.data[c].linkedDataSeriesIndex)?c-1:this.options.data[c].linkedDataSeriesIndex,0>b.linkedDataSeriesIndex||b.linkedDataSeriesIndex>=this.options.data.length||"number"!==typeof b.linkedDataSeriesIndex||"error"===this.options.data[b.linkedDataSeriesIndex].type)&&(b.linkedDataSeriesIndex=
197
- null);null===b.name&&(b.name="DataSeries "+a);null===b.color?1<this.options.data.length?(b._colorSet=[this.selectedColorSet[b.index%this.selectedColorSet.length]],b.color=this.selectedColorSet[b.index%this.selectedColorSet.length]):b._colorSet="line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"candlestick"===b.type||"ohlc"===b.type||
198
- "waterfall"===b.type||"boxAndWhisker"===b.type?[this.selectedColorSet[0]]:this.selectedColorSet:b._colorSet=[b.color];null===b.markerSize&&(("line"===b.type||"stepLine"===b.type||"spline"===b.type||0<=b.type.toLowerCase().indexOf("area"))&&b.dataPoints&&b.dataPoints.length<this.width/16||"scatter"===b.type)&&(b.markerSize=8);"bubble"!==b.type&&"scatter"!==b.type||!b.dataPoints||(b.dataPoints.some?b.dataPoints.some(function(a){return a.x})&&b.dataPoints.sort(s):b.dataPoints.sort(s));this.data.push(b);
199
- var e=b.axisPlacement,h=h||e,g;"normal"===e?"xySwapped"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with bar chart':"none"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="normal"):"xySwapped"===e?"normal"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with line, area, column or pie chart':"none"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with pie chart':
200
- null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===e?"normal"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with line, area, column or bar chart':"xySwapped"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with bar chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="none"):null===e&&"none"===this.plotInfo.axisPlacement&&(g='You cannot combine "'+b.type+'" with pie chart');if(g&&window.console){window.console.log(g);
201
- return}}for(c=0;c<this.data.length;c++){if("none"==h&&"error"===this.data[c].type&&window.console){window.console.log('You cannot combine "'+b.type+'" with error chart');return}"error"===this.data[c].type&&(this.data[c].axisPlacement=this.plotInfo.axisPlacement=h||"normal",this.data[c]._linkedSeries=null===this.data[c].linkedDataSeriesIndex?null:this.data[this.data[c].linkedDataSeriesIndex])}}this._objectsInitialized=!0;this._plotAreaElements=[]};l._supportedChartTypes=wa("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));
202
- l.prototype.setLayout=function(){for(var a=this._plotAreaElements,h=0;h<this.data.length;h++)if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement){if(!this.data[h].axisYType||"primary"===this.data[h].axisYType)if(this.options.axisY&&0<this.options.axisY.length){if(!this.axisY.length)for(var c=0;c<this.options.axisY.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[c]=new y(this,"axisY",this.options.axisY[c],c,"axisY","left")):"xySwapped"===
203
- this.plotInfo.axisPlacement&&this._axes.push(this.axisY[c]=new y(this,"axisY",this.options.axisY[c],c,"axisY","bottom"));this.data[h].axisY=this.axisY[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY.length?this.data[h].axisYIndex:0];this.axisY[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY.length?this.data[h].axisYIndex:0].dataSeries.push(this.data[h])}else this.axisY.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[0]=new y(this,"axisY",this.options.axisY,
204
- 0,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[0]=new y(this,"axisY",this.options.axisY,0,"axisY","bottom"))),this.data[h].axisY=this.axisY[0],this.axisY[0].dataSeries.push(this.data[h]);if("secondary"===this.data[h].axisYType)if(this.options.axisY2&&0<this.options.axisY2.length){if(!this.axisY2.length)for(c=0;c<this.options.axisY2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[c]=new y(this,"axisY2",this.options.axisY2[c],c,
205
- "axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[c]=new y(this,"axisY2",this.options.axisY2[c],c,"axisY","top"));this.data[h].axisY=this.axisY2[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY2.length?this.data[h].axisYIndex:0];this.axisY2[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY2.length?this.data[h].axisYIndex:0].dataSeries.push(this.data[h])}else this.axisY2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[0]=
206
- new y(this,"axisY2",this.options.axisY2,0,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[0]=new y(this,"axisY2",this.options.axisY2,0,"axisY","top"))),this.data[h].axisY=this.axisY2[0],this.axisY2[0].dataSeries.push(this.data[h]);if(!this.data[h].axisXType||"primary"===this.data[h].axisXType)if(this.options.axisX&&0<this.options.axisX.length){if(!this.axisX.length)for(c=0;c<this.options.axisX.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[c]=
207
- new y(this,"axisX",this.options.axisX[c],c,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[c]=new y(this,"axisX",this.options.axisX[c],c,"axisX","left"));this.data[h].axisX=this.axisX[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX.length?this.data[h].axisXIndex:0];this.axisX[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX.length?this.data[h].axisXIndex:0].dataSeries.push(this.data[h])}else this.axisX.length||("normal"===this.plotInfo.axisPlacement?
208
- this._axes.push(this.axisX[0]=new y(this,"axisX",this.options.axisX,0,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[0]=new y(this,"axisX",this.options.axisX,0,"axisX","left"))),this.data[h].axisX=this.axisX[0],this.axisX[0].dataSeries.push(this.data[h]);if("secondary"===this.data[h].axisXType)if(this.options.axisX2&&0<this.options.axisX2.length){if(!this.axisX2.length)for(c=0;c<this.options.axisX2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[c]=
209
- new y(this,"axisX2",this.options.axisX2[c],c,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[c]=new y(this,"axisX2",this.options.axisX2[c],c,"axisX","right"));this.data[h].axisX=this.axisX2[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX2.length?this.data[h].axisXIndex:0];this.axisX2[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX2.length?this.data[h].axisXIndex:0].dataSeries.push(this.data[h])}else this.axisX2.length||("normal"===
210
- this.plotInfo.axisPlacement?this._axes.push(this.axisX2[0]=new y(this,"axisX2",this.options.axisX2,0,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[0]=new y(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[h].axisX=this.axisX2[0],this.axisX2[0].dataSeries.push(this.data[h])}if(this.axisY){for(c=1;c<this.axisY.length;c++)"undefined"===typeof this.axisY[c].options.gridThickness&&(this.axisY[c].gridThickness=0);for(c=0;c<this.axisY.length-1;c++)"undefined"===
211
- typeof this.axisY[c].options.margin&&(this.axisY[c].margin=10)}if(this.axisY2){for(c=1;c<this.axisY2.length;c++)"undefined"===typeof this.axisY2[c].options.gridThickness&&(this.axisY2[c].gridThickness=0);for(c=0;c<this.axisY2.length-1;c++)"undefined"===typeof this.axisY2[c].options.margin&&(this.axisY2[c].margin=10)}this.axisY&&0<this.axisY.length&&(this.axisY2&&0<this.axisY2.length)&&(0<this.axisY[0].gridThickness&&"undefined"===typeof this.axisY2[0].options.gridThickness?this.axisY2[0].gridThickness=
212
- 0:0<this.axisY2[0].gridThickness&&"undefined"===typeof this.axisY[0].options.gridThickness&&(this.axisY[0].gridThickness=0));if(this.axisX)for(c=0;c<this.axisX.length;c++)"undefined"===typeof this.axisX[c].options.gridThickness&&(this.axisX[c].gridThickness=0);if(this.axisX2)for(c=0;c<this.axisX2.length;c++)"undefined"===typeof this.axisX2[c].options.gridThickness&&(this.axisX2[c].gridThickness=0);this.axisX&&0<this.axisX.length&&(this.axisX2&&0<this.axisX2.length)&&(0<this.axisX[0].gridThickness&&
213
- "undefined"===typeof this.axisX2[0].options.gridThickness?this.axisX2[0].gridThickness=0:0<this.axisX2[0].gridThickness&&"undefined"===typeof this.axisX[0].options.gridThickness&&(this.axisX[0].gridThickness=0));c=!1;if(0<this._axes.length&&this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(h=0;h<this._axes.length;h++)if(!f(this._axes[h].viewportMinimum)||!f(this._axes[h].viewportMaximum)){c=!0;break}c?(this._menuButton&&R(this._menuButton,{border:this.toolbar.buttonBorderThickness+
214
- "px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundClip:"padding-box"}),Ta(this._zoomButton,this._resetButton),this._toolBar.style.border="none"):(this._menuButton&&R(this._menuButton,{border:"none",height:"25px",width:"40px"}),Aa(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=
215
- !0,this.panEnabled=!1));rb(this);this._processData();this.options.title&&(this.title=new Ha(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(h=0;h<this.options.subtitles.length;h++)c=new Ma(this,this.options.subtitles[h],h),this.subtitles.push(c),c.dockInsidePlotArea?a.push(c):c.setLayout();this.legend=new F(this,this.options.legend);for(h=0;h<this.data.length;h++)(this.data[h].showInLegend||"pie"===this.data[h].type||
216
- "doughnut"===this.data[h].type||"funnel"===this.data[h].type||"pyramid"===this.data[h].type)&&this.legend.dataSeries.push(this.data[h]);this.legend.dockInsidePlotArea?a.push(this.legend):this.legend.setLayout();for(h=0;h<this._axes.length;h++)if(this._axes[h].scaleBreaks&&this._axes[h].scaleBreaks._appliedBreaks.length){v?(this._breaksCanvas=ta(this.width,this.height,!0),this._breaksCanvasCtx=this._breaksCanvas.getContext("2d")):(this._breaksCanvas=this.canvas,this._breaksCanvasCtx=this.ctx);break}this._preRenderCanvas=
217
- ta(this.width,this.height);this._preRenderCtx=this._preRenderCanvas.getContext("2d");"normal"!==this.plotInfo.axisPlacement&&"xySwapped"!==this.plotInfo.axisPlacement||y.setLayout(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement,this.layoutManager.getFreeSpace())};l.prototype.renderElements=function(){if(this.height&&this.width){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var h=0;h<this.subtitles.length;h++)this.subtitles[h].dockInsidePlotArea||
218
- this.subtitles[h].render();this.legend.dockInsidePlotArea||this.legend.render();if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)y.render(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement);else if("none"===this.plotInfo.axisPlacement)this.preparePlotArea();else return;for(h=0;h<a.length;h++)a[h].setLayout(),a[h].render();var c=[];if(this.animatedRender){var b=ta(this.width,this.height);b.getContext("2d").drawImage(this.canvas,0,0,this.width,
219
- this.height)}tb(this);var a=this.ctx.miterLimit,e;this.ctx.miterLimit=3;v&&this._breaksCanvas&&(this._preRenderCtx.drawImage(this.canvas,0,0,this.width,this.height),this._preRenderCtx.drawImage(this._breaksCanvas,0,0,this.width,this.height),this._breaksCanvasCtx.globalCompositeOperation="source-atop",this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(h=0;h<this.plotInfo.plotTypes.length;h++)for(var g=this.plotInfo.plotTypes[h],
220
- E=0;E<g.plotUnits.length;E++){var K=g.plotUnits[E],d=null;K.targetCanvas&&Da(K.targetCanvas);K.targetCanvas=null;this.animatedRender&&(K.targetCanvas=ta(this.width,this.height),K.targetCanvasCtx=K.targetCanvas.getContext("2d"),e=K.targetCanvasCtx.miterLimit,K.targetCanvasCtx.miterLimit=3);"line"===K.type?d=this.renderLine(K):"stepLine"===K.type?d=this.renderStepLine(K):"spline"===K.type?d=this.renderSpline(K):"column"===K.type?d=this.renderColumn(K):"bar"===K.type?d=this.renderBar(K):"area"===K.type?
221
- d=this.renderArea(K):"stepArea"===K.type?d=this.renderStepArea(K):"splineArea"===K.type?d=this.renderSplineArea(K):"stackedColumn"===K.type?d=this.renderStackedColumn(K):"stackedColumn100"===K.type?d=this.renderStackedColumn100(K):"stackedBar"===K.type?d=this.renderStackedBar(K):"stackedBar100"===K.type?d=this.renderStackedBar100(K):"stackedArea"===K.type?d=this.renderStackedArea(K):"stackedArea100"===K.type?d=this.renderStackedArea100(K):"bubble"===K.type?d=d=this.renderBubble(K):"scatter"===K.type?
222
- d=this.renderScatter(K):"pie"===K.type?this.renderPie(K):"doughnut"===K.type?this.renderPie(K):"funnel"===K.type?d=this.renderFunnel(K):"pyramid"===K.type?d=this.renderFunnel(K):"candlestick"===K.type?d=this.renderCandlestick(K):"ohlc"===K.type?d=this.renderCandlestick(K):"rangeColumn"===K.type?d=this.renderRangeColumn(K):"error"===K.type?d=this.renderError(K):"rangeBar"===K.type?d=this.renderRangeBar(K):"rangeArea"===K.type?d=this.renderRangeArea(K):"rangeSplineArea"===K.type?d=this.renderRangeSplineArea(K):
223
- "waterfall"===K.type?d=this.renderWaterfall(K):"boxAndWhisker"===K.type&&(d=this.renderBoxAndWhisker(K));for(var m=0;m<K.dataSeriesIndexes.length;m++)this._dataInRenderedOrder.push(this.data[K.dataSeriesIndexes[m]]);this.animatedRender&&(K.targetCanvasCtx.miterLimit=e,d&&c.push(d))}this.ctx.miterLimit=a;this.animatedRender&&this._breaksCanvasCtx&&c.push({source:this._breaksCanvasCtx,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7});
224
- this.animatedRender&&0<this._indexLabels.length&&(e=ta(this.width,this.height).getContext("2d"),Ea(e),c.push(this.renderIndexLabels(e)));var p=this;if(0<c.length)p.disableToolTip=!0,p._animator.animate(200,p.animationDuration,function(a){p.ctx.clearRect(0,0,p.width,p.height);p.ctx.drawImage(b,0,0,Math.floor(p.width*ma),Math.floor(p.height*ma),0,0,p.width,p.height);for(var e=0;e<c.length;e++)d=c[e],1>a&&"undefined"!==typeof d.startTimePercent?a>=d.startTimePercent&&d.animationCallback(d.easingFunction(a-
225
- d.startTimePercent,0,1,1-d.startTimePercent),d):d.animationCallback(d.easingFunction(a,0,1,1),d);p.dispatchEvent("dataAnimationIterationEnd",{chart:p})},function(){c=[];for(var a=0;a<p.plotInfo.plotTypes.length;a++)for(var e=p.plotInfo.plotTypes[a],h=0;h<e.plotUnits.length;h++){var g=e.plotUnits[h];g.targetCanvas&&Da(g.targetCanvas);g.targetCanvas=null}b=null;p.disableToolTip=!1;p.dispatchEvent("dataAnimationEnd",{chart:p})});else{if(p._breaksCanvas)if(v)p.plotArea.ctx.drawImage(p._breaksCanvas,0,
226
- 0,this.width,this.height);else for(m=0;m<p._axes.length;m++)p._axes[m].createMask();0<p._indexLabels.length&&p.renderIndexLabels();p.dispatchEvent("dataAnimationIterationEnd",{chart:p});p.dispatchEvent("dataAnimationEnd",{chart:p})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||Aa(this._zoomButton,this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||this.toolTip.showAtX(this.toolTip._xValue,
227
- this.toolTip._dataSeriesIndex);this.toolTip._updateToolTip();this.toolTip.enabled&&this.toolTip._updatedEventParameters&&!isNaN(this.toolTip._prevX)&&!isNaN(this.toolTip._prevY)&&this.toolTip.container&&this.toolTip.container.style&&this.toolTip.dispatchEvent("none"===this.toolTip.container.style.display?"hidden":"updated",this.toolTip._updatedEventParameters,this.toolTip);this.renderCount++;La&&(p=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ua(a,p.width,p.height),
228
- a.getContext("2d").drawImage(p._eventManager.ghostCanvas,0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(m=0;m<this._axes.length;m++)this._axes[m].maskCanvas&&(delete this._axes[m].maskCanvas,delete this._axes[m].maskCtx)}};l.prototype.render=function(a){a&&(this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};l.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,
229
- chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};l.prototype.categoriseDataSeries=function(){for(var a="",h=0;h<this.data.length;h++)if(a=this.data[h],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&0<=l._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,e=null,g=!1,E=0;E<this.plotInfo.plotTypes.length;E++)if(this.plotInfo.plotTypes[E].type===a.type){b=
230
- !0;c=this.plotInfo.plotTypes[E];break}b||(c={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(c));for(E=0;E<c.plotUnits.length;E++)if(c.plotUnits[E].axisYType===a.axisYType&&c.plotUnits[E].axisXType===a.axisXType&&c.plotUnits[E].axisYIndex===a.axisYIndex&&c.plotUnits[E].axisXIndex===a.axisXIndex){g=!0;e=c.plotUnits[E];break}g||(e={type:a.type,previousDataSeriesCount:0,index:c.plotUnits.length,plotType:c,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,
231
- axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(e));c.totalDataSeries++;e.dataSeriesIndexes.push(h);a.plotUnit=e}for(h=0;h<
232
- this.plotInfo.plotTypes.length;h++)for(c=this.plotInfo.plotTypes[h],E=a=0;E<c.plotUnits.length;E++)c.plotUnits[E].previousDataSeriesCount=a,a+=c.plotUnits[E].dataSeriesIndexes.length};l.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var h=this.data[a];if(h.dataPoints)for(var c=h.dataPoints.length,b=0;b<c;b++)h.dataPointIds[b]=++this._eventManager.lastObjectId}};l.prototype._processData=function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<
233
- this.plotInfo.plotTypes.length;a++)for(var h=this.plotInfo.plotTypes[a],c=0;c<h.plotUnits.length;c++){var b=h.plotUnits[c];"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type?this._processMultiseriesPlotUnit(b):"stackedColumn"===b.type||"stackedBar"===b.type||"stackedArea"===b.type?this._processStackedPlotUnit(b):"stackedColumn100"===b.type||"stackedBar100"===
234
- b.type||"stackedArea100"===b.type?this._processStacked100PlotUnit(b):"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"error"===b.type||"boxAndWhisker"===b.type?this._processMultiYPlotUnit(b):"waterfall"===b.type&&this._processSpecificPlotUnit(b)}this.calculateAutoBreaks()};l.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,
235
- b,e,g=!1,E=0;E<a.dataSeriesIndexes.length;E++){var f=this.data[a.dataSeriesIndexes[E]],d=0,m=!1,p=!1,n;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
236
- a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)g=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(g=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x;e=f.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);e<
237
- h.min&&"number"===typeof e&&(h.min=e);e>h.max&&"number"===typeof e&&(h.max=e);if(0<d){if(a.axisX.logarithmic){var z=b/f.dataPoints[d-1].x;1>z&&(z=1/z);c.minDiff>z&&1!==z&&(c.minDiff=z)}else z=b-f.dataPoints[d-1].x,0>z&&(z*=-1),c.minDiff>z&&0!==z&&(c.minDiff=z);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(z=e/f.dataPoints[d-1].y,1>z&&(z=1/z),h.minDiff>z&&1!==z&&(h.minDiff=z)):(z=e-f.dataPoints[d-1].y,0>z&&(z*=-1),h.minDiff>z&&0!==z&&(h.minDiff=z)))}if(b<q&&!m)null!==e&&(n=b);else{if(!m&&
238
- (m=!0,0<d)){d-=2;continue}if(b>k&&!p)p=!0;else if(b>k&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&n<b&&(c.viewPortMin=n):(e<h.viewPortMin&&"number"===typeof e&&(h.viewPortMin=e),e>h.viewPortMax&&"number"===typeof e&&(h.viewPortMax=e))}}f.axisX.valueType=f.xValueType=g?"dateTime":"number"}};l.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var h=
239
- a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=[],d=[],S=Infinity,m=-Infinity,p={},n=0;n<a.dataSeriesIndexes.length;n++){var q=this.data[a.dataSeriesIndexes[n]],k=0,z=!1,C=!1,r;if("normal"===q.axisPlacement||"xySwapped"===q.axisPlacement)var u=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,x=a.axisX.sessionVariables.newViewportMaximum?
240
- a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(q.dataPoints[k].x&&q.dataPoints[k].x.getTime||"dateTime"===q.xValueType)g=!0;for(k=0;k<q.dataPoints.length;k++){"undefined"===typeof q.dataPoints[k].x&&(q.dataPoints[k].x=k+(a.axisX.logarithmic?1:0));q.dataPoints[k].x.getTime?(g=!0,b=q.dataPoints[k].x.getTime()):b=q.dataPoints[k].x;e=f(q.dataPoints[k].y)?
241
- 0:q.dataPoints[k].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<k){if(a.axisX.logarithmic){var w=b/q.dataPoints[k-1].x;1>w&&(w=1/w);c.minDiff>w&&1!==w&&(c.minDiff=w)}else w=b-q.dataPoints[k-1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w);null!==e&&null!==q.dataPoints[k-1].y&&(a.axisY.logarithmic?0<e&&(w=e/q.dataPoints[k-1].y,1>w&&(w=1/w),h.minDiff>w&&1!==w&&(h.minDiff=w)):(w=e-q.dataPoints[k-1].y,0>w&&(w*=-1),h.minDiff>w&&0!==w&&(h.minDiff=w)))}if(b<u&&!z)null!==q.dataPoints[k].y&&(r=b);else{if(!z&&
242
- (z=!0,0<k)){k-=2;continue}if(b>x&&!C)C=!0;else if(b>x&&C)continue;q.dataPoints[k].label&&(a.axisX.labels[b]=q.dataPoints[k].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===q.dataPoints[k].y?c.viewPortMin===b&&r<b&&(c.viewPortMin=r):(p[b]=(p[b]||0)+q.dataPoints[k].y,q.dataPointEOs[k].cumulativeY=p[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?E[b]?E[b]+=e:(E[b]=e,S=Math.min(e,S)):d[b]?d[b]+=e:
243
- (d[b]=e,m=Math.max(e,m)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(h.dataPointYPositiveSums?(h.dataPointYPositiveSums.push.apply(h.dataPointYPositiveSums,E),h.dataPointYNegativeSums.push.apply(h.dataPointYPositiveSums,d)):(h.dataPointYPositiveSums=E,h.dataPointYNegativeSums=d));q.axisX.valueType=q.xValueType=g?"dateTime":"number"}for(k in E)E.hasOwnProperty(k)&&!isNaN(k)&&(a=E[k],a<h.min&&(h.min=Math.min(a,S)),a>h.max&&(h.max=a),k<c.viewPortMin||
244
- k>c.viewPortMax||(a<h.viewPortMin&&(h.viewPortMin=Math.min(a,S)),a>h.viewPortMax&&(h.viewPortMax=a)));for(k in d)d.hasOwnProperty(k)&&!isNaN(k)&&(a=d[k],a<h.min&&(h.min=a),a>h.max&&(h.max=Math.max(a,m)),k<c.viewPortMin||k>c.viewPortMax||(a<h.viewPortMin&&(h.viewPortMin=a),a>h.viewPortMax&&(h.viewPortMax=Math.max(a,m))))}};l.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=!1,d=!1,S={},
245
- m=[],p=0;p<a.dataSeriesIndexes.length;p++){var n=this.data[a.dataSeriesIndexes[p]],q=0,k=!1,z=!1,C;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&
246
- a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[q].x&&n.dataPoints[q].x.getTime||"dateTime"===n.xValueType)g=!0;for(q=0;q<n.dataPoints.length;q++){"undefined"===typeof n.dataPoints[q].x&&(n.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));n.dataPoints[q].x.getTime?(g=!0,b=n.dataPoints[q].x.getTime()):b=n.dataPoints[q].x;e=f(n.dataPoints[q].y)?null:n.dataPoints[q].y;b<c.min&&(c.min=b);b>c.max&&(c.max=
247
- b);if(0<q){if(a.axisX.logarithmic){var x=b/n.dataPoints[q-1].x;1>x&&(x=1/x);c.minDiff>x&&1!==x&&(c.minDiff=x)}else x=b-n.dataPoints[q-1].x,0>x&&(x*=-1),c.minDiff>x&&0!==x&&(c.minDiff=x);f(e)||null===n.dataPoints[q-1].y||(a.axisY.logarithmic?0<e&&(x=e/n.dataPoints[q-1].y,1>x&&(x=1/x),h.minDiff>x&&1!==x&&(h.minDiff=x)):(x=e-n.dataPoints[q-1].y,0>x&&(x*=-1),h.minDiff>x&&0!==x&&(h.minDiff=x)))}m[b]=m[b]?m[b]+Math.abs(e):Math.abs(e);if(b<r&&!k)null!==e&&(C=b);else{if(!k&&(k=!0,0<q)){m[b]-=Math.abs(e);
248
- m[g?n.dataPoints[q-1].x.getTime():n.dataPoints[q-1].x]-=Math.abs(n.dataPoints[q-1].y||0);q-=2;continue}if(b>u&&!z)z=!0;else if(b>u&&z)continue;n.dataPoints[q].label&&(a.axisX.labels[b]=n.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&C<b&&(c.viewPortMin=C):(S[b]=(S[b]||0)+n.dataPoints[q].y,n.dataPointEOs[q].cumulativeY=S[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),
249
- 0<=e?E=!0:0>e&&(d=!0))}}n.axisX.valueType=n.xValueType=g?"dateTime":"number"}a.axisY.logarithmic?(h.max=f(h.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(h.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),h.min=f(h.viewPortMin)?1:Math.min(h.viewPortMin,1)):E&&!d?(h.max=f(h.viewPortMax)?99:Math.max(h.viewPortMax,99),h.min=f(h.viewPortMin)?1:Math.min(h.viewPortMin,1)):E&&d?(h.max=f(h.viewPortMax)?99:Math.max(h.viewPortMax,99),h.min=f(h.viewPortMin)?-99:Math.min(h.viewPortMin,-99)):
250
- !E&&d&&(h.max=f(h.viewPortMax)?-1:Math.max(h.viewPortMax,-1),h.min=f(h.viewPortMin)?-99:Math.min(h.viewPortMin,-99));h.viewPortMin=h.min;h.viewPortMax=h.max;a.dataPointYSums=m}};l.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g,E,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var m=this.data[a.dataSeriesIndexes[d]],p=0,n=!1,q=!1,k,z,C;if("normal"===m.axisPlacement||"xySwapped"===m.axisPlacement)var r=
251
- a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:
252
- Infinity;if(m.dataPoints[p].x&&m.dataPoints[p].x.getTime||"dateTime"===m.xValueType)f=!0;for(p=0;p<m.dataPoints.length;p++){"undefined"===typeof m.dataPoints[p].x&&(m.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));m.dataPoints[p].x.getTime?(f=!0,b=m.dataPoints[p].x.getTime()):b=m.dataPoints[p].x;if((e=m.dataPoints[p].y)&&e.length){g=Math.min.apply(null,e);E=Math.max.apply(null,e);z=!0;for(var x=0;x<e.length;x++)null===e.k&&(z=!1);z&&(n||(C=k),k=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);g<h.min&&(h.min=
253
- g);E>h.max&&(h.max=E);0<p&&(a.axisX.logarithmic?(z=b/m.dataPoints[p-1].x,1>z&&(z=1/z),c.minDiff>z&&1!==z&&(c.minDiff=z)):(z=b-m.dataPoints[p-1].x,0>z&&(z*=-1),c.minDiff>z&&0!==z&&(c.minDiff=z)),e&&(null!==e[0]&&m.dataPoints[p-1].y&&null!==m.dataPoints[p-1].y[0])&&(a.axisY.logarithmic?(z=e[0]/m.dataPoints[p-1].y[0],1>z&&(z=1/z),h.minDiff>z&&1!==z&&(h.minDiff=z)):(z=e[0]-m.dataPoints[p-1].y[0],0>z&&(z*=-1),h.minDiff>z&&0!==z&&(h.minDiff=z))));if(!(b<r)||n){if(!n&&(n=!0,0<p)){p-=2;k=C;continue}if(b>
254
- u&&!q)q=!0;else if(b>u&&q)continue;m.dataPoints[p].label&&(a.axisX.labels[b]=m.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);if(c.viewPortMin===b&&e)for(x=0;x<e.length;x++)if(null===e[x]&&k<b){c.viewPortMin=k;break}null===e?c.viewPortMin===b&&k<b&&(c.viewPortMin=k):(g<h.viewPortMin&&(h.viewPortMin=g),E>h.viewPortMax&&(h.viewPortMax=E))}}m.axisX.valueType=m.xValueType=f?"dateTime":"number"}};l.prototype._processSpecificPlotUnit=function(a){if("waterfall"===
255
- a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=0;E<a.dataSeriesIndexes.length;E++){var f=this.data[a.dataSeriesIndexes[E]],d=0,m=!1,p=!1,n=b=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:
256
- a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)g=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=
257
- 0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=n,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,n=0===d?0:f.dataPointEOs[d-1].cumulativeSum,b=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=
258
- 0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,b+=e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(g=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x,e=f.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),f.dataPointEOs[d].cumulativeSum<h.min&&(h.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>
259
- h.max&&(h.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(n=b/f.dataPoints[d-1].x,1>n&&(n=1/n),c.minDiff>n&&1!==n&&(c.minDiff=n)):(n=b-f.dataPoints[d-1].x,0>n&&(n*=-1),c.minDiff>n&&0!==n&&(c.minDiff=n)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),h.minDiff>e&&1!==e&&(h.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),h.minDiff>e&&0!==e&&(h.minDiff=
260
- e)))),!(b<q)||m){if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!p)p=!0;else if(b>k&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<h.viewPortMin&&(h.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>h.viewPortMax&&(h.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<h.viewPortMin&&(h.viewPortMin=f.dataPointEOs[d].cumulativeSum);
261
- f.dataPointEOs[d].cumulativeSum>h.viewPortMax&&(h.viewPortMax=f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=g?"dateTime":"number"}};l.prototype.calculateAutoBreaks=function(){function a(a,b,c,e){if(e)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*(0<a?Math.min(b-a,Math.abs(a)):b-a));return{startValue:a+c,endValue:b-c}}function h(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=
262
- a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var h=a.axisY.dataInfo,g=a.axisX.dataInfo,k,m=g.min,E=g.max,d=h.min,p=h.max,g=g._dataRanges,h=h._dataRanges,n,q=0,K=0;K<a.dataSeriesIndexes.length;K++){var C=e.data[a.dataSeriesIndexes[K]];if(!(4>C.dataPoints.length))for(q=0;q<C.dataPoints.length;q++)if(b&&(n=(E+1-m)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||
263
- 10,10)/100,k=C.dataPoints[q].x.getTime?C.dataPoints[q].x.getTime():C.dataPoints[q].x,n=Math.floor((k-m)/n),k<g[n].min&&(g[n].min=k),k>g[n].max&&(g[n].max=k)),c){var S=(p+1-d)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((k="waterfall"===a.type?C.dataPointEOs[q].cumulativeSum:C.dataPoints[q].y)&&k.length)for(var r=0;r<k.length;r++)n=Math.floor((k[r]-d)/S),k[r]<h[n].min&&(h[n].min=k[r]),k[r]>h[n].max&&(h[n].max=k[r]);else f(k)||(n=Math.floor((k-d)/S),k<h[n].min&&(h[n].min=
264
- k),k>h[n].max&&(h[n].max=k))}}}}function c(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,h=b.max,g=b._dataRanges,k,m=0,f=0;f<a.dataSeriesIndexes.length;f++){var E=e.data[a.dataSeriesIndexes[f]];if(!(4>E.dataPoints.length))for(m=0;m<E.dataPoints.length;m++)k=(h+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=E.dataPoints[m].x.getTime?
265
- E.dataPoints[m].x.getTime():E.dataPoints[m].x,k=Math.floor((b-c)/k),b<g[k].min&&(g[k].min=b),b>g[k].max&&(g[k].max=b)}}for(var b,e=this,g=!1,E=0;E<this._axes.length;E++)if(this._axes[E].scaleBreaks&&this._axes[E].scaleBreaks.autoCalculate&&1<=this._axes[E].scaleBreaks.maxNumberOfAutoBreaks){g=!0;this._axes[E].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[E].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[E].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(g){for(E=
266
- 0;E<this.plotInfo.plotTypes.length;E++)for(g=this.plotInfo.plotTypes[E],d=0;d<g.plotUnits.length;d++)b=g.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===
267
- b.type?h(b):0<=b.type.indexOf("stacked")&&c(b);for(E=0;E<this._axes.length;E++)if(this._axes[E].dataInfo._dataRanges){var C=this._axes[E].dataInfo.min;b=(this._axes[E].dataInfo.max+1-C)*Math.max(parseFloat(this._axes[E].scaleBreaks.collapsibleThreshold)||10,10)/100;var m=this._axes[E].dataInfo._dataRanges,p,n,g=[];if(this._axes[E].dataInfo.dataPointYPositiveSums){var q=this._axes[E].dataInfo.dataPointYPositiveSums;p=m;for(d in q)if(q.hasOwnProperty(d)&&!isNaN(d)&&(n=q[d],!f(n))){var k=Math.floor((n-
268
- C)/b);n<p[k].min&&(p[k].min=n);n>p[k].max&&(p[k].max=n)}delete this._axes[E].dataInfo.dataPointYPositiveSums}if(this._axes[E].dataInfo.dataPointYNegativeSums){q=this._axes[E].dataInfo.dataPointYNegativeSums;p=m;for(d in q)q.hasOwnProperty(d)&&!isNaN(d)&&(n=-1*q[d],f(n)||(k=Math.floor((n-C)/b),n<p[k].min&&(p[k].min=n),n>p[k].max&&(p[k].max=n)));delete this._axes[E].dataInfo.dataPointYNegativeSums}for(d=0;d<m.length-1;d++)if(p=m[d].max,isFinite(p))for(;d<m.length-1;)if(C=m[d+1].min,isFinite(C)){n=C-
269
- p;n>b&&g.push({diff:n,start:p,end:C});break}else d++;if(this._axes[E].scaleBreaks.customBreaks)for(d=0;d<this._axes[E].scaleBreaks.customBreaks.length;d++)for(b=0;b<g.length;b++)if(this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].start&&g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue||this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].start&&g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue||g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].startValue&&
270
- this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].end||g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue&&this._axes[E].scaleBreaks.customBreaks[d].endValue<=g[b].end)g.splice(b,1),b--;g.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(g.length,this._axes[E].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(g[d].start,g[d].end,this._axes[E].logarithmic?this._axes[E].dataInfo.max/this._axes[E].dataInfo.min:this._axes[E].dataInfo.max-this._axes[E].dataInfo.min,this._axes[E].logarithmic),
271
- this._axes[E].scaleBreaks.autoBreaks.push(new L(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[E].scaleBreaks)),this._axes[E].scaleBreaks._appliedBreaks.push(this._axes[E].scaleBreaks.autoBreaks[this._axes[E].scaleBreaks.autoBreaks.length-1]);this._axes[E].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};l.prototype.renderCrosshairs=function(a,h){for(var c,b=0;b<this.axisX.length;b++)if(c=this.axisX[b].sessionVariables.crosshairShownByPixel,this.axisX[b]!=
272
- a&&this.axisX[b].crosshair&&this.axisX[b].crosshair.enabled&&!this.axisX[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisX[b].convertPixelToValue(this.sessionVariables.mouseY)):this.axisX[b].crosshair.render(this.sessionVariables.mouseX,
273
- null,this.axisX[b].convertPixelToValue(this.sessionVariables.mouseX)),f(h)||h)c={chart:this,crosshair:this.axisX[b].crosshair.options,axis:this.axisX[b],value:this.axisX[b].crosshair.value},this.axisX[b].crosshair.dispatchEvent("updated",c,this.axisX[b])}else f(c)||c||this.axisX[b].showCrosshair(this.axisX[b].crosshair._updatedValue);for(b=0;b<this.axisX2.length;b++)if(c=this.axisX2[b].sessionVariables.crosshairShownByPixel,this.axisX2[b]!=a&&this.axisX2[b].crosshair&&this.axisX2[b].crosshair.enabled&&
274
- !this.axisX2[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX2[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseY)):this.axisX2[b].crosshair.render(this.sessionVariables.mouseX,null,
275
- this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseX)),f(h)||h)c={chart:this,crosshair:this.axisX2[b].crosshair.options,axis:this.axisX2[b],value:this.axisX2[b].crosshair.value},this.axisX2[b].crosshair.dispatchEvent("updated",c,this.axisX2[b])}else f(c)||c||this.axisX2[b].showCrosshair(this.axisX2[b].crosshair._updatedValue);for(b=0;b<this.axisY.length;b++)if(c=this.axisY[b].sessionVariables.crosshairShownByPixel,this.axisY[b]!=a&&this.axisY[b].crosshair&&this.axisY[b].crosshair.enabled&&
276
- !this.axisY[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisY[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseX)):this.axisY[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseY)),
277
- f(h)||h)c={chart:this,crosshair:this.axisY[b].crosshair.options,axis:this.axisY[b],value:this.axisY[b].crosshair.value},this.axisY[b].crosshair.dispatchEvent("updated",c,this.axisY[b])}else f(c)||c||this.axisY[b].showCrosshair(this.axisY[b].crosshair._updatedValue);for(b=0;b<this.axisY2.length;b++)if(c=this.axisY2[b].sessionVariables.crosshairShownByPixel,this.axisY2[b]!=a&&this.axisY2[b].crosshair&&this.axisY2[b].crosshair.enabled&&!this.axisY2[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>
278
- this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisY2[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseX)):this.axisY2[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseY)),f(h)||h)c={chart:this,
279
- crosshair:this.axisY2[b].crosshair.options,axis:this.axisY2[b],value:this.axisY2[b].crosshair.value},this.axisY2[b].crosshair.dispatchEvent("updated",c,this.axisY2[b])}else f(c)||c||this.axisY2[b].showCrosshair(this.axisY2[b].crosshair._updatedValue)};l.prototype.getDataPointAtXY=function(a,h,c){c=c||!1;for(var b=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var g=null;(g=this._dataInRenderedOrder[e].getDataPointAtXY(a,h,c))&&b.push(g)}a=null;h=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||
280
- "stepLine"===b[c].dataSeries.type||"area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(e=pa("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=e/2){h=!0;break}for(c=0;c<b.length;c++)h&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};l.prototype.getObjectAtXY=function(a,h,c){var b=null;if(c=this.getDataPointAtXY(a,h,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];
281
- else if(v)b=jb(a,h,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var e=this.legend.items[c];a>=e.x1&&(a<=e.x2&&h>=e.y1&&h<=e.y2)&&(b=e.id)}return b};l.prototype.getAutoFontSize=ob;l.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};l.prototype.clearCanvas=nb;l.prototype.attachEvent=function(a){this._events.push(a)};l.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var h=[],c=
282
- a.changedTouches,b=c?c[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":h=["mousemove","mousedown"];this._lastTouchData=Ca(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":h=["mousemove"];break;case "touchend":case "MSPointerUp":var g=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,h="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>g?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&
283
- 1<c.length)){e=Ca(b);e.time=new Date;try{var E=e.y-this._lastTouchData.y,g=e.time-this._lastTouchData.time;if(1<Math.abs(E)&&this._lastTouchData.scroll||5<Math.abs(E)&&250>g)this._lastTouchData.scroll=!0,this.stockChart&&(this.stockChart._chartScroll=!0)}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<h.length;c++)if(e=h[c],E=document.createEvent("MouseEvent"),E.initMouseEvent(e,!0,!0,
284
- window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(E),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<g||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault(),this.stockChart&&(this.stockChart._chartScroll=null)}}};l.prototype._dispatchRangeEvent=function(a,h){var c={chart:this};c.type=a;c.trigger=h;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");
285
- this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&0<this.axisY2.length&&b.push("axisY2");for(var e=0;e<b.length;e++)if(f(c[b[e]])&&(c[b[e]]=[]),"axisY"===b[e])for(var g=0;g<this.axisY.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});else if("axisY2"===b[e])for(g=0;g<this.axisY2.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,
286
- viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});else if("axisX"===b[e])for(g=0;g<this.axisX.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});else if("axisX2"===b[e])for(g=0;g<this.axisX2.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};
287
- l.prototype._mouseEventHandler=function(a){function h(){l.capturedEventParam&&(e=l.capturedEventParam,f=e.bounds,"mouseup"===b&&(l.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==e.chart.overlaidCanvas&&v||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=
288
- !1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=Ca(a),b=a.type,e,g;a.which?g=3==a.which:a.button&&(g=2==a.button);if(this._ignoreNextEvent)h(),this._ignoreNextEvent=!1;else if(h(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var f;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+c.y),g&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!g){if(!l.capturedEventParam&&
289
- this._events){for(g=0;g<this._events.length;g++)if(this._events[g].hasOwnProperty(b))if(e=this._events[g],f=e.bounds,c.x>=f.x1&&c.x<=f.x2&&c.y>=f.y1&&c.y<=f.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(l.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",
290
- this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}g=this.plotArea;if(c.x<g.x1||c.x>g.x2||c.y<g.y1||c.y>g.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):(this.resetOverlayedCanvas(),this.sessionVariables._dataHighlighted=!1);for(g=0;g<this.axisX.length;g++)this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&(this.axisX[g].crosshair.hide(),
291
- this.axisX[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[g].options},this.axisX[g].crosshair));for(g=0;g<this.axisX2.length;g++)this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&(this.axisX2[g].crosshair.hide(),this.axisX2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[g].options},this.axisX2[g].crosshair));for(g=0;g<this.axisY.length;g++)this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&(this.axisY[g].crosshair.hide(),this.axisY[g].crosshair.dispatchEvent("hidden",
292
- {chart:this,axis:this.axisY[g].options},this.axisY[g].crosshair));for(g=0;g<this.axisY2.length;g++)this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&(this.axisY2[g].crosshair.hide(),this.axisY2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[g].options},this.axisY2[g].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};l.prototype._plotAreaMouseDown=function(a,
293
- h){this.isDrag=!0;this.dragStartPoint={x:a,y:h}};l.prototype._plotAreaMouseUp=function(a,h){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=h-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),f=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var d=g,g=e,e=d;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=g=0;e<this._axes.length;e++)c=this._axes[e],
294
- c.logarithmic?c.viewportMinimum<c.minimum?(g=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*g,c.sessionVariables.newViewportMaximum=c.viewportMaximum*g,f=!0):c.viewportMaximum>c.maximum&&(g=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/g,c.sessionVariables.newViewportMaximum=c.viewportMaximum/g,f=!0):c.viewportMinimum<c.minimum?(g=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+g,c.sessionVariables.newViewportMaximum=
295
- c.viewportMaximum+g,f=!0):c.viewportMaximum>c.maximum&&(g=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-g,c.sessionVariables.newViewportMaximum=c.viewportMaximum-g,f=!0);else if((!e||2<Math.abs(b))&&(!g||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=g?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;g=g?h:this.plotArea.y2;2<Math.abs(c-e)&&2<Math.abs(b-g)&&this._zoomPanToSelectedRegion(c,
296
- b,e,g,"xy"!==this.zoomType&&"y"!==this.zoomType)&&(f=!0)}f&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",
297
- this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),f&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Ta(this._zoomButton,this._resetButton),za(this,this._zoomButton,"pan"),za(this,this._resetButton,"reset")))}}this.isDrag=
298
- !1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].renderCrosshair(a,h);if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].renderCrosshair(a,h);if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&
299
- this.axisY[f].renderCrosshair(a,h);if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].renderCrosshair(a,h);if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].crosshair.renderLabel();
300
- if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].crosshair.renderLabel()}};l.prototype._plotAreaMouseMove=function(a,h){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),
301
- f=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=g,g=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-h;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].crosshair.hide(),this.axisX[d].crosshair.dispatchEvent("hidden",{chart:this,
302
- axis:this.axisX[d].options},this.axisX[d].crosshair));for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].crosshair.hide(),this.axisX2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[d].options},this.axisX2[d].crosshair));for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&(this.axisY[d].crosshair.hide(),this.axisY[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[d].options},
303
- this.axisY[d].crosshair));for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].crosshair.hide(),this.axisY2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[d].options},this.axisY2[d].crosshair))}else if(!this.panEnabled&&!this.zoomEnabled&&(this.toolTip.mouseMoveHandler(a,h),"none"!==this.plotInfo.axisPlacement)){this.sessionVariables._dataHighlighted||this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(d=0;d<
304
- this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].sessionVariables.crosshairShownByPixel=!0,this.axisX[d].renderCrosshair(a,h));if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].sessionVariables.crosshairShownByPixel=!0,this.axisX2[d].renderCrosshair(a,h));if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&
305
- (this.axisY[d].sessionVariables.crosshairShownByPixel=!0,this.axisY[d].renderCrosshair(a,h));if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].sessionVariables.crosshairShownByPixel=!0,this.axisY2[d].renderCrosshair(a,h));if(this.axisX&&0<this.axisX.length)for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&this.axisX[d].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(d=
306
- 0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&this.axisX2[d].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&this.axisY[d].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&this.axisY2[d].crosshair.renderLabel()}if((!e||2<Math.abs(c)||!g||2<Math.abs(b))&&
307
- (this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:g?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:g?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(f._panTimerId),f._panTimerId=setTimeout(function(b,c,e,g){return function(){if(f._zoomPanToSelectedRegion(b,c,e,g,!0)){f.sessionVariables.disableToolTip=!0;f.resetOverlayedCanvas();f._dispatchRangeEvent("rangeChanging","pan");f.stockChart&&(f.stockChart._rangeEventParameter.type=
308
- "rangeChanging",f.stockChart.dispatchEvent("rangeChanging",f.stockChart._rangeEventParameter,f.stockChart));f.render();f._dispatchRangeEvent("rangeChanged","pan");if(f.stockChart){var d=f.stockChart.rangeSelector.sessionVariables,m=f.stockChart.rangeSelector.buttons;m&&(0<m.length&&(m[d._clickedRangeButtonIndex]&&"ytd"===m[d._clickedRangeButtonIndex].rangeType||m[d.selectedRangeButtonIndex]&&"ytd"===m[d.selectedRangeButtonIndex].rangeType))&&(f.stockChart.rangeUpdatedBy="navigator",f.stockChart.rangeSelector.resetRangeButtons());
309
- f.stockChart._rangeEventParameter.type="rangeChanged";f.stockChart.dispatchEvent("rangeChanged",f.stockChart._rangeEventParameter,f.stockChart)}f.dragStartPoint.x=a;f.dragStartPoint.y=h;f.sessionVariables.disableToolTip=f.disableToolTip=!1}}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,d=g?this.dragStartPoint.y:this.plotArea.y1,C=e?a-this.dragStartPoint.x:
310
- this.plotArea.x2-this.plotArea.x1,m=g?h-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,d,e?a:this.plotArea.x2-this.plotArea.x1,g?h:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType&&"y"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,d,C,m);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,h),"none"!==this.plotInfo.axisPlacement){this.sessionVariables._dataHighlighted||
118
+ v.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."));return}t&&(this.stockChart||(this.chart?this.chart.stockChart||this.chart:this)).render()};ca.prototype.addTo=function(f,l,v,A){A="undefined"===typeof A?!0:A;var D=ga[this._defaultsKey];D.hasOwnProperty(f)||D.publicProperties&&D.publicProperties.hasOwnProperty(f)&&"readWrite"===D.publicProperties[f]?(this.options._isPlaceholder&&this.createUserOptions(),
119
+ "undefined"===typeof this.options[f]&&(this.options[f]=[]),f=this.options[f],v="undefined"===typeof v||null===v?f.length:v,f.splice(v,0,l),A&&(this.stockChart||(this.chart?this.chart.stockChart||this.chart:this)).render()):window.console&&(D.publicProperties&&D.publicProperties.hasOwnProperty(f)&&"readOnly"===D.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."))};ca.prototype.createUserOptions=function(f){if("undefined"!==
120
+ typeof f||this.options._isPlaceholder)if(this.parent&&this.parent.options._isPlaceholder&&this.parent.createUserOptions(),this.isOptionsInArray){this.parent.options[this.optionsName]||(this.parent.options[this.optionsName]=[]);var l=this.parent.options[this.optionsName],v=l.length;this.options._isPlaceholder||(wa(l),v=l.indexOf(this.options));this.options="undefined"===typeof f?{}:f;l[v]=this.options}else this.options="undefined"===typeof f?{}:f,this.parent&&(f=this.parent.options,this.optionsName?
121
+ l=this.optionsName:(l=this._defaultsKey)&&0!==l.length?(v=l.charAt(0).toLowerCase(),1<l.length&&(v=v.concat(l.slice(1))),l=v):l=void 0,f[l]=this.options)};ca.prototype.remove=function(f){f="undefined"===typeof f?!0:f;if(this.isOptionsInArray){var l=this.parent.options[this.optionsName];wa(l);var v=l.indexOf(this.options);0<=v&&l.splice(v,1)}else delete this.parent.options[this.optionsName];f&&(this.stockChart||(this.chart?this.chart.stockChart||this.chart:this)).render()};ca.prototype.updateOption=
122
+ function(s){!ga[this._defaultsKey]&&(La&&window.console)&&console.log("defaults not set");var l=ga[this._defaultsKey],v={},A=this[s],D=this._themeOptionsKey,H=this._index;this.theme&&f(this.parent)&&f(D)&&f(H)?v=f(this.predefinedThemes[this.theme])?this.predefinedThemes.light1:this.predefinedThemes[this.theme]:this.parent&&this.parent.themeOptions&&(this.options.theme?"Chart"===this._defaultsKey&&Qa[this.options.theme]?v=Qa[this.options.theme]:Ra[this.options.theme]&&(v=Ra[this.options.theme][D]):
123
+ this.parent.themeOptions[D]&&(null===H?v=this.parent.themeOptions[D]:0<this.parent.themeOptions[D].length&&(v=Math.min(this.parent.themeOptions[D].length-1,H),v=this.parent.themeOptions[D][v])));this.themeOptions=v;s in l&&(A=s in this.options?this.options[s]:v&&s in v?v[s]:l[s]);if(A===this[s])return!1;this[s]=A;return!0};ca.prototype.trackChanges=function(f){if(!this.sessionVariables)throw"Session Variable Store not set";this.sessionVariables[f]=this.options[f]};ca.prototype.isBeingTracked=function(f){this.options._oldOptions||
124
+ (this.options._oldOptions={});return this.options._oldOptions[f]?!0:!1};ca.prototype.hasOptionChanged=function(f){if(!this.sessionVariables)throw"Session Variable Store not set";return this.sessionVariables[f]!==this.options[f]};ca.prototype.addEventListener=function(f,v,t){f&&v&&(this._eventListeners[f]=this._eventListeners[f]||[],this._eventListeners[f].push({context:t||this,eventHandler:v}))};ca.prototype.removeEventListener=function(f,v){if(f&&v&&this._eventListeners[f])for(var t=this._eventListeners[f],
125
+ A=0;A<t.length;A++)if(t[A].eventHandler===v){t[A].splice(A,1);break}};ca.prototype.removeAllEventListeners=function(){this._eventListeners=[]};ca.prototype.dispatchEvent=function(f,v,t){if(f&&this._eventListeners[f]){v=v||{};for(var A=this._eventListeners[f],D=0;D<A.length;D++)A[D].eventHandler.call(A[D].context,v)}"function"===typeof this[f]&&this[f].call(t||this.chart,v)};Ka.prototype.registerSpace=function(f,v){"top"===f?this._topOccupied+=v.height:"bottom"===f?this._bottomOccupied+=v.height:"left"===
126
+ f?this._leftOccupied+=v.width:"right"===f&&(this._rightOccupied+=v.width)};Ka.prototype.unRegisterSpace=function(f,v){"top"===f?this._topOccupied-=v.height:"bottom"===f?this._bottomOccupied-=v.height:"left"===f?this._leftOccupied-=v.width:"right"===f&&(this._rightOccupied-=v.width)};Ka.prototype.getFreeSpace=function(){return{x1:this._x1+this._leftOccupied,y1:this._y1+this._topOccupied,x2:this._x2-this._rightOccupied,y2:this._y2-this._bottomOccupied,width:this._x2-this._x1-this._rightOccupied-this._leftOccupied,
127
+ height:this._y2-this._y1-this._bottomOccupied-this._topOccupied}};Ka.prototype.reset=function(){this._rightOccupied=this._leftOccupied=this._bottomOccupied=this._topOccupied=this._padding};ja(na,ca);na.prototype._initialize=function(){f(this.padding)||"object"!==typeof this.padding?this.topPadding=this.rightPadding=this.bottomPadding=this.leftPadding=Number(this.padding)|0:(this.topPadding=f(this.padding.top)?0:Number(this.padding.top)|0,this.rightPadding=f(this.padding.right)?0:Number(this.padding.right)|
128
+ 0,this.bottomPadding=f(this.padding.bottom)?0:Number(this.padding.bottom)|0,this.leftPadding=f(this.padding.left)?0:Number(this.padding.left)|0)};na.prototype.render=function(f){if(0!==this.fontSize){f&&this.ctx.save();var v=this.ctx.font;this.ctx.textBaseline=this.textBaseline;var t=0;this._isDirty&&this.measureText(this.ctx);this.ctx.translate(this.x,this.y+t);"middle"===this.textBaseline&&(t=-this._lineHeight/2);this.ctx.font=this._getFontString();this.ctx.rotate(Math.PI/180*this.angle);var A=
129
+ 0,D=this.topPadding,H=null;this.ctx.roundRect||Ea(this.ctx);this.borderDashType=this.borderDashType||"solid";this.ctx.setLineDash&&this.ctx.setLineDash(Q(this.borderDashType,this.borderThickness));(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(0,t,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);this.ctx.fillStyle=this.fontColor;for(t=0;t<this._wrappedText.lines.length;t++)H=this._wrappedText.lines[t],"right"===
130
+ this.textAlign?A=this.width-H.width-this.rightPadding:"left"===this.textAlign?A=this.leftPadding:"center"===this.textAlign&&(A=(this.width-(this.leftPadding+this.rightPadding))/2-H.width/2+this.leftPadding),this.ctx.fillText(H.text,A,D),D+=H.height;this.ctx.font=v;f&&this.ctx.restore()}};na.prototype.setText=function(f){this.text=f;this._isDirty=!0;this._wrappedText=null};na.prototype.measureText=function(){this._lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);if(null===this.maxWidth)throw"Please set maxWidth and height for TextBlock";
131
+ this._wrapText(this.ctx);this._isDirty=!1;return{width:this.width,height:this.height}};na.prototype._getLineWithWidth=function(f,v,t){f=String(f);if(!f)return{text:"",width:0};var A=t=0,D=f.length-1,H=Infinity;for(this.ctx.font=this._getFontString();A<=D;){var H=Math.floor((A+D)/2),y=f.substr(0,H+1);t=this.ctx.measureText(y).width;if(t<v)A=H+1;else if(t>v)D=H-1;else break}t>v&&1<y.length&&(y=y.substr(0,y.length-1),t=this.ctx.measureText(y).width);v=!0;if(y.length===f.length||" "===f[y.length])v=!1;
132
+ v&&(f=y.split(" "),1<f.length&&f.pop(),y=f.join(" "),t=this.ctx.measureText(y).width);return{text:y,width:t}};na.prototype._wrapText=function(){var f=new String(Oa(String(this.text))),v=[],t=this.ctx.font,A=0,D=0;this.ctx.font=this._getFontString();if(0===this.frontSize)D=A=0;else for(;0<f.length;){var H=this.maxHeight-(this.topPadding+this.bottomPadding),y=this._getLineWithWidth(f,this.maxWidth-(this.leftPadding+this.rightPadding),!1);y.height=this._lineHeight;v.push(y);var F=D,D=Math.max(D,y.width),
133
+ A=A+y.height,f=Oa(f.slice(y.text.length,f.length));H&&A>H&&(y=v.pop(),A-=y.height,D=F)}this._wrappedText={lines:v,width:D,height:A};this.width=D+(this.leftPadding+this.rightPadding);this.height=A+(this.topPadding+this.bottomPadding);this.ctx.font=t};na.prototype._getFontString=function(){var f;f=""+(this.fontStyle?this.fontStyle+" ":"");f+=this.fontWeight?this.fontWeight+" ":"";f+=this.fontSize?this.fontSize+"px ":"";var l=this.fontFamily?this.fontFamily+"":"";!v&&l&&(l=l.split(",")[0],"'"!==l[0]&&
134
+ '"'!==l[0]&&(l="'"+l+"'"));return f+=l};ja(Xa,ca);ja(Ha,ca);Ha.prototype.setLayout=function(){if(this.text){var v=this.dockInsidePlotArea?this.chart.plotArea:this.chart,l=v.layoutManager.getFreeSpace(),t=l.x1,A=l.y1,D=0,A=0,t=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,H;this.textAlign=f(this.options.textAlign)?this.horizontalAlign:this.textAlign;"center"===this.verticalAlign?"left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&
135
+ (this.maxWidth=l.height-4),A=0.5*l.width-this.margin-2):(null===this.maxWidth&&(this.maxWidth=l.width-4),A=0.5*l.height-4):(null===this.maxWidth&&(this.maxWidth=l.width-4-t*("center"===this.horizontalAlign?2:1)),A=0.5*l.height-this.margin-2,D=0);f(this.padding)||"number"!==typeof this.padding?f(this.padding)||"object"!==typeof this.padding||(H=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,H+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):
136
+ H=2*this.padding;this.wrap||(A=Math.min(A,1.5*this.fontSize+H));var y=new na(this.ctx,{fontSize:this.fontSize,fontFamily:this.fontFamily,fontColor:this.fontColor,fontStyle:this.fontStyle,fontWeight:this.fontWeight,textAlign:this.textAlign,verticalAlign:this.verticalAlign,borderColor:this.borderColor,borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:A,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"}),
137
+ F=y.measureText();"center"===this.verticalAlign?("left"===this.horizontalAlign?(t=l.x1+2+y._lineHeight/2,A=l.y2-2-(this.maxWidth/2-F.width/2),D=-90,H="left",this.width=F.height,this.height=F.width):"right"===this.horizontalAlign?(t=l.x2-2-y._lineHeight/2,A=l.y1+2+(this.maxWidth/2-F.width/2),D=90,H="right",this.width=F.height,this.height=F.width):(A=l.y1+2+(l.height/2-F.height/2)+y._lineHeight/2,t=l.x1+2+(l.width/2-F.width/2),H="center",this.width=F.width,this.height=F.height),l="center"):("bottom"===
138
+ this.verticalAlign?(A=l.y2-2-F.height+y._lineHeight/2,H="bottom"):(A=l.y1+2+y._lineHeight/2,H="top"),t="left"===this.horizontalAlign?l.x1+2:"right"===this.horizontalAlign?l.x2-2-F.width-t:l.x1+l.width/2-F.width/2,l=this.horizontalAlign,this.width=F.width,this.height=F.height);y.x=t;y.y=A;y.angle=D;y.horizontalAlign=l;this._textBlock=y;v.layoutManager.registerSpace(H,{width:this.width+("left"===H||"right"===H?this.margin+2:0),height:this.height+("top"===H||"bottom"===H?this.margin+2:0)});this.bounds=
139
+ {x1:t,y1:A-y._lineHeight/2,x2:t+this.width,y2:A+this.height-y._lineHeight/2};"center"===this.verticalAlign&&("left"===this.horizontalAlign&&(this.bounds={x1:t-y._lineHeight/2,y1:A-this.height,x2:t+this.width-y._lineHeight/2,y2:A}),"right"===this.horizontalAlign&&(this.bounds={x1:t-y._lineHeight/2,y1:A,x2:t+this.width-y._lineHeight/2,y2:A+this.height}));this.ctx.textBaseline="top"}};Ha.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};ja(Ma,ca);Ma.prototype.setLayout=Ha.prototype.setLayout;
140
+ Ma.prototype.render=Ha.prototype.render;cb.prototype.get=function(f,v){var t=null;0<this.pool.length?(t=this.pool.pop(),Ua(t,f,v)):t=ta(f,v);return t};cb.prototype.release=function(f){this.pool.push(f)};ja(Na,ca);var Sa={addTheme:function(f,v){Qa[f]=v},addColorSet:function(f,v){qa[f]=v},addCultureInfo:function(f,v){Pa[f]=v},formatNumber:function(f,v,t){t=t||"en";if(Pa[t])return aa(f,v||"#,##0.##",new Na(t));throw"Unknown Culture Name";},formatDate:function(f,v,t){t=t||"en";if(Pa[t])return sa(f,v||
141
+ "DD MMM YYYY",new Na(t));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Sa:"function"===typeof define&&define.amd?define([],function(){return Sa}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:Sa);var Ja=Sa.Chart=function(){function s(a,
142
+ h){return a.x-h.x}function l(a,h,c){h=h||{};f(c)?(this.predefinedThemes=Qa,this.optionsName=this.parent=this.index=null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=f(h.theme)||f(this.predefinedThemes[h.theme])?"light1":h.theme;l.base.constructor.call(this,"Chart",this.optionsName,h,this.index,this.parent);var b=this;this._containerId=
143
+ a;this._objectsInitialized=!1;this.overlaidCanvasCtx=this.ctx=null;this._indexLabels=[];this._panTimerId=0;this._lastTouchEventType="";this._lastTouchData=null;this.isAnimating=!1;this.renderCount=0;this.disableToolTip=this.animatedRender=!1;this.canvasPool=new cb;this.allDOMEventHandlers=[];this.panEnabled=!1;this._defaultCursor="default";this.plotArea={canvas:null,ctx:null,x1:0,y1:0,x2:0,y2:0,width:0,height:0};this._dataInRenderedOrder=[];(this.container="string"===typeof this._containerId?document.getElementById(this._containerId):
144
+ this._containerId)?(this.container.innerHTML="",h=a=0,h=lb(this.container),a=this.options.width?this.width:0<this.container.clientWidth-parseFloat(h.paddingLeft)-parseFloat(h.paddingRight)?this.container.clientWidth-parseFloat(h.paddingLeft)-parseFloat(h.paddingRight):this.width,h=c&&c.height?c.height:this.options.height?this.height:0<this.container.clientHeight-parseFloat(h.paddingTop)-parseFloat(h.paddingBottom)?this.container.clientHeight-parseFloat(h.paddingTop)-parseFloat(h.paddingBottom):this.height,
145
+ this.width=a,this.height=h,this.x1=this.y1=0,this.x2=this.width,this.y2=this.height,this.selectedColorSet="undefined"!==typeof qa[this.colorSet]?qa[this.colorSet]:qa.colorSet1,this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",v||(this._canvasJSContainer.style.height=
146
+ "0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=ta(a,h),this._preRenderCanvas=ta(a,h),this.canvas.style.position="absolute",this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ea(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),
147
+ this._preRenderCtx.textBaseline="top",Ea(this._preRenderCtx),v?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=ta(a,h),this.plotArea.canvas.style.position="absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=ta(a,h),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect=
148
+ "none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect="none",this.overlaidCanvas.style.userSelect="none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ea(this.overlaidCanvasCtx)),this._eventManager=new ga(this),this.windowResizeHandler=D(window,"resize",function(){b._updateSize()&&(b.render(),b.isNavigator&&(b.stockChart&&
149
+ b.stockChart.navigator&&b.stockChart.navigator.enabled)&&b.stockChart.navigator._updateSlider(b.stockChart._axisXMin,b.stockChart._axisXMax))},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),R(this._toolBar,{position:"absolute",right:"1px",top:"1px",webkitTapHighlightColor:"transparent"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},D(this.overlaidCanvas,"click",
150
+ function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);Aa(b._dropdownMenu)},this.allDOMEventHandlers),D(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?
151
+ "MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),D(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},
152
+ this.allDOMEventHandlers),this.toolTip=new oa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function t(a,h){for(var c=[],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var g,E,f;f=e-1;g=0===f?0:f-1;E=f===a.length-1?f:f+1;b=Math.abs((a[E].x-a[g].x)/(0===a[E].x-a[f].x?
153
+ 0.01:a[E].x-a[f].x))*(h-1)/2+1;var d=(a[E].x-a[g].x)/b;b=(a[E].y-a[g].y)/b;c[c.length]=a[f].x>a[g].x&&0<d||a[f].x<a[g].x&&0>d?{x:a[f].x+d/3,y:a[f].y+b/3}:{x:a[f].x,y:a[f].y+(1===c.length?0:b/9)};f=e;g=0===f?0:f-1;E=f===a.length-1?f:f+1;b=Math.abs((a[E].x-a[g].x)/(0===a[f].x-a[g].x?0.01:a[f].x-a[g].x))*(h-1)/2+1;d=(a[E].x-a[g].x)/b;b=(a[E].y-a[g].y)/b;c[c.length]=a[f].x>a[g].x&&0<d||a[f].x<a[g].x&&0>d?{x:a[f].x-d/3,y:a[f].y-b/3}:{x:a[f].x,y:a[f].y-b/9};c[c.length]=a[e]}return c}function A(a,h,c,b,
154
+ e,g,E,f,d,m){var p=0;m?(E.color=g,f.color=g):m=1;p=d?Math.abs(e-c):Math.abs(b-h);p=0<E.trimLength?Math.abs(p*E.trimLength/100):Math.abs(p-E.length);d?(c+=p/2,e-=p/2):(h+=p/2,b-=p/2);var p=1===Math.round(E.thickness)%2?0.5:0,n=1===Math.round(f.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=f.color||g;a.lineWidth=f.thickness||2;a.setLineDash&&a.setLineDash(Q(f.dashType,f.thickness));a.beginPath();d&&0<f.thickness?(a.moveTo(b-E.thickness/2,Math.round((c+e)/2)-n),a.lineTo(h+E.thickness/2,Math.round((c+
155
+ e)/2)-n)):0<f.thickness&&(a.moveTo(Math.round((h+b)/2)-n,c+E.thickness/2),a.lineTo(Math.round((h+b)/2)-n,e-E.thickness/2));a.stroke();a.strokeStyle=E.color||g;a.lineWidth=E.thickness||2;a.setLineDash&&a.setLineDash(Q(E.dashType,E.thickness));a.beginPath();d&&0<E.thickness?(a.moveTo(b-p,c),a.lineTo(b-p,e),a.moveTo(h+p,c),a.lineTo(h+p,e)):0<E.thickness&&(a.moveTo(h,c+p),a.lineTo(b,c+p),a.moveTo(h,e-p),a.lineTo(b,e-p));a.stroke();a.restore()}function F(a,h){F.base.constructor.call(this,"Legend","legend",
156
+ h,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));this.lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function H(a,h,c,b){H.base.constructor.call(this,
157
+ "DataSeries","data",h,c,a);this.chart=a;this.canvas=a.canvas;this._ctx=a.canvas.ctx;this.index=c;this.noDataPointsInPlotArea=0;this.id=b;this.chart._eventManager.objectMap[b]={id:b,objectType:"dataSeries",dataSeriesIndex:c};a=h.dataPoints?h.dataPoints.length:0;this.dataPointEOs=[];for(h=0;h<a;h++)this.dataPointEOs[h]={};this.dataPointIds=[];this.plotUnit=[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=
158
+ 0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function y(a,h,c,b,e,g){y.base.constructor.call(this,"Axis",h,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,
159
+ viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===e?("left"===g||"bottom"===g?(this.optionsName="axisX",f(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",f(this.chart.sessionVariables.axisX2[b])&&(this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=
160
+ null)):"left"===g||"bottom"===g?(this.optionsName="axisY",f(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",f(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);"undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===
161
+ typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=e;"axisX"!==e||c&&"undefined"!==typeof c.gridThickness||(this.gridThickness=0);this._position=g;this.lineCoordinates={x1:null,y1:null,x2:null,y2:null,width:null};this.labelAngle=(this.labelAngle%360+360)%360;90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new M(this.chart,
162
+ this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this));this.stripLines=[];if(this.options.stripLines&&0<this.options.stripLines.length)for(a=0;a<this.options.stripLines.length;a++)this.stripLines.push(new T(this.chart,this.options.stripLines[a],a,++this.chart._eventManager.lastObjectId,this));this.options.crosshair&&(this.crosshair=new fa(this.chart,this.options.crosshair,this),this.crosshair._updatedValue=f(this.sessionVariables.crosshairValue)?null:this.sessionVariables.crosshairValue);
163
+ this._titleTextBlock=null;this.hasOptionChanged("viewportMinimum")&&null===this.viewportMinimum&&(this.options.viewportMinimum=void 0,this.sessionVariables.viewportMinimum=null);this.hasOptionChanged("viewportMinimum")||isNaN(this.sessionVariables.newViewportMinimum)||null===this.sessionVariables.newViewportMinimum?this.sessionVariables.newViewportMinimum=null:this.viewportMinimum=this.sessionVariables.newViewportMinimum;this.hasOptionChanged("viewportMaximum")&&null===this.viewportMaximum&&(this.options.viewportMaximum=
164
+ void 0,this.sessionVariables.viewportMaximum=null);this.hasOptionChanged("viewportMaximum")||isNaN(this.sessionVariables.newViewportMaximum)||null===this.sessionVariables.newViewportMaximum?this.sessionVariables.newViewportMaximum=null:this.viewportMaximum=this.sessionVariables.newViewportMaximum;null!==this.minimum&&null!==this.viewportMinimum&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));null!==this.maximum&&null!==this.viewportMaximum&&(this.viewportMaximum=Math.min(this.viewportMaximum,
165
+ this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum");f(this.options.tickLength)&&(this.tickLength="left"===g||"right"===g?Math.min(this.tickLength,0.3*this.chart.width):Math.min(this.tickLength,0.3*this.chart.height))}function M(a,h,c,b){M.base.constructor.call(this,"ScaleBreaks","scaleBreaks",h,null,b);this.id=c;this.chart=a;this.ctx=this.chart.ctx;this.axis=b;this.optionsName="scaleBreaks";this.isOptionsInArray=!1;this._appliedBreaks=[];this.customBreaks=[];this.autoBreaks=
166
+ [];"string"===typeof this.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?8:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.spacing&&(this.spacing=8);this.autoCalculate&&(this.maxNumberOfAutoBreaks=Math.min(this.maxNumberOfAutoBreaks,5));if(this.options.customBreaks&&0<this.options.customBreaks.length){for(a=0;a<this.options.customBreaks.length;a++)this.customBreaks.push(new L(this.chart,"customBreaks",this.options.customBreaks[a],a,++this.chart._eventManager.lastObjectId,
167
+ this)),"number"===typeof this.customBreaks[a].startValue&&("number"===typeof this.customBreaks[a].endValue&&this.customBreaks[a].endValue!==this.customBreaks[a].startValue)&&this._appliedBreaks.push(this.customBreaks[a]);this._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue});for(a=0;a<this._appliedBreaks.length-1;a++)this._appliedBreaks[a].endValue>=this._appliedBreaks[a+1].startValue&&(this._appliedBreaks[a].endValue=Math.max(this._appliedBreaks[a].endValue,this._appliedBreaks[a+
168
+ 1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+a+" and "+(a+1)+" are overlapping."),this._appliedBreaks.splice(a,2),a--)}}function L(a,h,c,b,e,g){L.base.constructor.call(this,"Break",h,c,b,g);this.id=e;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=g;this.optionsName=h;this.isOptionsInArray=!0;this.type=c.type?this.type:g.type;this.fillOpacity=f(c.fillOpacity)?g.fillOpacity:this.fillOpacity;this.lineThickness=f(c.lineThickness)?g.lineThickness:this.lineThickness;
169
+ this.color=c.color?this.color:g.color;this.lineColor=c.lineColor?this.lineColor:g.lineColor;this.lineDashType=c.lineDashType?this.lineDashType:g.lineDashType;!f(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!f(this.endValue)&&this.endValue.getTime&&(this.endValue=this.endValue.getTime());"number"===typeof this.startValue&&("number"===typeof this.endValue&&this.endValue<this.startValue)&&(a=this.startValue,this.startValue=this.endValue,this.endValue=a);this.spacing=
170
+ "undefined"===typeof c.spacing?g.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=g.spacing);this.size=g.parent.logarithmic?1:0}function T(a,h,c,b,e){T.base.constructor.call(this,"StripLine","stripLines",h,c,e);this.id=b;this.chart=a;this.ctx=this.chart.ctx;this.label=this.label;this.axis=e;this.optionsName="stripLines";this.isOptionsInArray=
171
+ !0;this._thicknessType="pixel";null!==this.startValue&&null!==this.endValue&&(this.value=e.logarithmic?Math.sqrt((this.startValue.getTime?this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null);this.tickLength=f(h.tickLength)?e.tickLength:h.tickLength}function fa(a,h,c){fa.base.constructor.call(this,
172
+ "Crosshair","crosshair",h,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType="pixel"}function oa(a,h){oa.base.constructor.call(this,"ToolTip","toolTip",h,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.currentDataPointIndex=this.currentSeriesIndex=-1;this._prevY=this._prevX=NaN;this.containerTransitionDuration=0.1;this.mozContainerTransition=this.getContainerTransition(this.containerTransitionDuration);this.optionsName=
173
+ "toolTip";this._initialize()}function ga(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.ghostCanvas=ta(this.chart.width,this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function ha(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}ja(l,ca);l.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&
174
+ this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var h=0;h<a.length;h++)hb(a[h][0],a[h][1],a[h][2],a[h][3]);this.allDOMEventHandlers=[];for(this.removeAllEventListeners();this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);for(;this._dropdownMenu&&this._dropdownMenu.hasChildNodes();)this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);
175
+ this.container=this._canvasJSContainer=null;this.toolTip.container=null;this.canvas&&Da(this.canvas);this.overlaidCanvas&&Da(this.overlaidCanvas);this._preRenderCanvas&&Da(this._preRenderCanvas);this._breaksCanvas&&Da(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};l.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");
176
+ this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");this.updateOption("theme");this.stockChart&&this.stockChart.options&&"undefined"!==typeof this.stockChart.options.theme&&f(this.options.theme)?this.theme=this.stockChart.theme:f(this.stockChart)&&f(this.theme)&&(this.theme="light1");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof qa[this.colorSet]?qa[this.colorSet]:qa.colorSet1);
177
+ this.updateOption("backgroundColor");this.stockChart&&(this.stockChart.options&&"undefined"!==typeof this.stockChart.options.backgroundColor&&f(this.options.backgroundColor))&&(this.backgroundColor=this.stockChart.backgroundColor);this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this.stockChart&&f(this.options.culture)&&(this.culture=this.stockChart.culture);this._cultureInfo=new Na(this.culture);this.updateOption("animationEnabled");this.animationEnabled=
178
+ this.animationEnabled&&v;this.updateOption("animationDuration");this.stockChart&&(this.stockChart.options&&!f(this.stockChart.options.animationEnabled))&&(this.animationEnabled=this.stockChart.animationEnabled&&v);this.stockChart&&(this.stockChart.options&&!f(this.stockChart.options.animationDuration))&&(this.animationDuration=this.stockChart.animationDuration);this.updateOption("rangeChanging");this.updateOption("rangeChanged");this.updateOption("exportEnabled");this.updateOption("exportFileName");
179
+ this.updateOption("zoomType");this.toolbar=new Xa(this,this.options.toolbar);if(this.stockChart&&this.stockChart.options&&this.stockChart.options.toolbar&&!this.options.toolbar)for(var h in this.stockChart.options.toolbar)this.toolbar[h]=this.stockChart.options.toolbar[h];if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)R(this._zoomButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,height:2*this.toolbar.buttonBorderThickness+25+"px",width:2*
180
+ this.toolbar.buttonBorderThickness+40+"px",backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),0>=navigator.userAgent.search("MSIE")&&this._zoomButton.childNodes[0]&&R(this._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});else{var c=!1;Aa(this._zoomButton=document.createElement("button"));za(this,this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);R(this._zoomButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,
181
+ height:2*this.toolbar.buttonBorderThickness+25+"px",width:2*this.toolbar.buttonBorderThickness+40+"px",backgroundClip:"padding-box"});D(this._zoomButton,"touchstart",function(a){c=!0},this.allDOMEventHandlers);D(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,za(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,za(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);D(this._zoomButton,"mousemove",function(){c?c=!1:(R(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,
182
+ color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);D(this._zoomButton,"mouseout",function(){c||(R(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",
183
+ filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(R(this._resetButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),0>=navigator.userAgent.search("MSIE")&&this._resetButton.childNodes[0]&&R(this._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",
184
+ filter:"invert(0%)"}),this._resetButton.title=this._cultureInfo.resetText):(c=!1,Aa(this._resetButton=document.createElement("button")),za(this,this._resetButton,"reset"),R(this._resetButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundClip:"padding-box"}),this._toolBar.appendChild(this._resetButton),D(this._resetButton,"touchstart",
185
+ function(a){c=!0},this.allDOMEventHandlers),D(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,za(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=
186
+ null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=
187
+ null,a.sessionVariables.axisY2[b].newViewportMaximum=null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});Aa(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",
188
+ a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,a.stockChart));a.render();a.syncCharts&&a.stockChart&&(a.stockChart.rangeUpdatedBy=!a.stockChart.navigator.slider||f(a.stockChart.navigator.slider.options.minimum)&&f(a.stockChart.navigator.slider.options.maximum)?!a.stockChart.rangeSelector.enabled||!a.stockChart.rangeSelector.inputFields.enabled||f(a.stockChart.rangeSelector.inputFields.options.startValue)&&f(a.stockChart.rangeSelector.inputFields.options.endValue)?null:
189
+ "inputFields":"navigator",a.stockChart.rangeUpdatedBy=null,a.stockChart.rangeSelector.sessionVariables._clickedRangeButtonIndex=null,a.syncCharts(null,null),!f(a.stockChart._selectedRangeButtonIndex)&&a.stockChart._selectedRangeButtonIndex<a.stockChart.rangeSelector.buttons.length&&(b=a.stockChart.rangeSelector.buttons[a.stockChart._selectedRangeButtonIndex],b.enabled&&(b.state="on",b.textBlock.fontWeight="bold",b.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=
190
+ a.stockChart.rangeSelector.buttonStyle.backgroundColorOnSelect,b.render())),a.stockChart.rangeSelector&&a.stockChart.rangeSelector.enabled&&a.stockChart.rangeSelector.render());a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,a.stockChart))},this.allDOMEventHandlers),D(this._resetButton,"mousemove",function(){c||(R(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,
191
+ color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),D(this._resetButton,"mouseout",function(){c||(R(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&R(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",
192
+ filter:"invert(0%)"}))},this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Ta(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=!1))}else this.panEnabled=this.zoomEnabled=!1;ib(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?za(a,
193
+ a._zoomButton,"zoom"):za(a,a._zoomButton,"pan"),a._resetButton.getAttribute("state")!==a._cultureInfo.resetText&&za(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(h in this.toolTip.options)this.toolTip.options.hasOwnProperty(h)&&this.toolTip.updateOption(h)};l.prototype._updateSize=function(){return mb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};l.prototype._initialize=function(){this.isNavigator=
194
+ f(this.parent)||f(this.parent._defaultsKey)||"Navigator"!==this.parent._defaultsKey?!1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new ha(this);this.removeAllEventListeners();this.disableToolTip=this.sessionVariables.disableToolTip||!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=v&&this.animationEnabled&&0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];
195
+ this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=[];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new Ka(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,h=null;if(this.options.data){for(var c=0;c<this.options.data.length;c++)if(a++,!this.options.data[c].type||
196
+ 0<=l._supportedChartTypes.indexOf(this.options.data[c].type)){var b=new H(this,this.options.data[c],a-1,++this._eventManager.lastObjectId);if(!f(b)&&b.dataPoints)for(var e=0;e<b.dataPoints.length;e++)if(b.dataPoints[e].x&&b.dataPoints[e].x.getTime){b.xValueType="dateTime";break}"error"===b.type&&(b.linkedDataSeriesIndex=f(this.options.data[c].linkedDataSeriesIndex)?c-1:this.options.data[c].linkedDataSeriesIndex,0>b.linkedDataSeriesIndex||b.linkedDataSeriesIndex>=this.options.data.length||"number"!==
197
+ typeof b.linkedDataSeriesIndex||"error"===this.options.data[b.linkedDataSeriesIndex].type)&&(b.linkedDataSeriesIndex=null);null===b.name&&(b.name="DataSeries "+a);null===b.color?1<this.options.data.length?(b._colorSet=[this.selectedColorSet[b.index%this.selectedColorSet.length]],b.color=this.selectedColorSet[b.index%this.selectedColorSet.length]):b._colorSet="line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||
198
+ "stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"candlestick"===b.type||"ohlc"===b.type||"waterfall"===b.type||"boxAndWhisker"===b.type?[this.selectedColorSet[0]]:this.selectedColorSet:b._colorSet=[b.color];null===b.markerSize&&(("line"===b.type||"stepLine"===b.type||"spline"===b.type||0<=b.type.toLowerCase().indexOf("area"))&&b.dataPoints&&b.dataPoints.length<this.width/16||"scatter"===b.type)&&(b.markerSize=8);"bubble"!==b.type&&"scatter"!==b.type||!b.dataPoints||(b.dataPoints.some?
199
+ b.dataPoints.some(function(a){return a.x})&&b.dataPoints.sort(s):b.dataPoints.sort(s));this.data.push(b);var e=b.axisPlacement,h=h||e,g;"normal"===e?"xySwapped"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with bar chart':"none"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="normal"):"xySwapped"===e?"normal"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with line, area, column or pie chart':
200
+ "none"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===e?"normal"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with line, area, column or bar chart':"xySwapped"===this.plotInfo.axisPlacement?g='You cannot combine "'+b.type+'" with bar chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="none"):null===e&&"none"===this.plotInfo.axisPlacement&&
201
+ (g='You cannot combine "'+b.type+'" with pie chart');if(g&&window.console){window.console.log(g);return}}for(c=0;c<this.data.length;c++){if("none"==h&&"error"===this.data[c].type&&window.console){window.console.log('You cannot combine "'+b.type+'" with error chart');return}"error"===this.data[c].type&&(this.data[c].axisPlacement=this.plotInfo.axisPlacement=h||"normal",this.data[c]._linkedSeries=null===this.data[c].linkedDataSeriesIndex?null:this.data[this.data[c].linkedDataSeriesIndex])}}this._objectsInitialized=
202
+ !0;this._plotAreaElements=[]};l._supportedChartTypes=wa("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));l.prototype.setLayout=function(){for(var a=this._plotAreaElements,h=0;h<this.data.length;h++)if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement){if(!this.data[h].axisYType||
203
+ "primary"===this.data[h].axisYType)if(this.options.axisY&&0<this.options.axisY.length){if(!this.axisY.length)for(var c=0;c<this.options.axisY.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[c]=new y(this,"axisY",this.options.axisY[c],c,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[c]=new y(this,"axisY",this.options.axisY[c],c,"axisY","bottom"));this.data[h].axisY=this.axisY[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY.length?
204
+ this.data[h].axisYIndex:0];this.axisY[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY.length?this.data[h].axisYIndex:0].dataSeries.push(this.data[h])}else this.axisY.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[0]=new y(this,"axisY",this.options.axisY,0,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[0]=new y(this,"axisY",this.options.axisY,0,"axisY","bottom"))),this.data[h].axisY=this.axisY[0],this.axisY[0].dataSeries.push(this.data[h]);
205
+ if("secondary"===this.data[h].axisYType)if(this.options.axisY2&&0<this.options.axisY2.length){if(!this.axisY2.length)for(c=0;c<this.options.axisY2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[c]=new y(this,"axisY2",this.options.axisY2[c],c,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[c]=new y(this,"axisY2",this.options.axisY2[c],c,"axisY","top"));this.data[h].axisY=this.axisY2[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<
206
+ this.axisY2.length?this.data[h].axisYIndex:0];this.axisY2[0<=this.data[h].axisYIndex&&this.data[h].axisYIndex<this.axisY2.length?this.data[h].axisYIndex:0].dataSeries.push(this.data[h])}else this.axisY2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[0]=new y(this,"axisY2",this.options.axisY2,0,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[0]=new y(this,"axisY2",this.options.axisY2,0,"axisY","top"))),this.data[h].axisY=this.axisY2[0],
207
+ this.axisY2[0].dataSeries.push(this.data[h]);if(!this.data[h].axisXType||"primary"===this.data[h].axisXType)if(this.options.axisX&&0<this.options.axisX.length){if(!this.axisX.length)for(c=0;c<this.options.axisX.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[c]=new y(this,"axisX",this.options.axisX[c],c,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[c]=new y(this,"axisX",this.options.axisX[c],c,"axisX","left"));this.data[h].axisX=
208
+ this.axisX[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX.length?this.data[h].axisXIndex:0];this.axisX[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX.length?this.data[h].axisXIndex:0].dataSeries.push(this.data[h])}else this.axisX.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[0]=new y(this,"axisX",this.options.axisX,0,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[0]=new y(this,"axisX",this.options.axisX,
209
+ 0,"axisX","left"))),this.data[h].axisX=this.axisX[0],this.axisX[0].dataSeries.push(this.data[h]);if("secondary"===this.data[h].axisXType)if(this.options.axisX2&&0<this.options.axisX2.length){if(!this.axisX2.length)for(c=0;c<this.options.axisX2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[c]=new y(this,"axisX2",this.options.axisX2[c],c,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[c]=new y(this,"axisX2",this.options.axisX2[c],
210
+ c,"axisX","right"));this.data[h].axisX=this.axisX2[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX2.length?this.data[h].axisXIndex:0];this.axisX2[0<=this.data[h].axisXIndex&&this.data[h].axisXIndex<this.axisX2.length?this.data[h].axisXIndex:0].dataSeries.push(this.data[h])}else this.axisX2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[0]=new y(this,"axisX2",this.options.axisX2,0,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[0]=
211
+ new y(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[h].axisX=this.axisX2[0],this.axisX2[0].dataSeries.push(this.data[h])}if(this.axisY){for(c=1;c<this.axisY.length;c++)"undefined"===typeof this.axisY[c].options.gridThickness&&(this.axisY[c].gridThickness=0);for(c=0;c<this.axisY.length-1;c++)"undefined"===typeof this.axisY[c].options.margin&&(this.axisY[c].margin=10)}if(this.axisY2){for(c=1;c<this.axisY2.length;c++)"undefined"===typeof this.axisY2[c].options.gridThickness&&(this.axisY2[c].gridThickness=
212
+ 0);for(c=0;c<this.axisY2.length-1;c++)"undefined"===typeof this.axisY2[c].options.margin&&(this.axisY2[c].margin=10)}this.axisY&&0<this.axisY.length&&(this.axisY2&&0<this.axisY2.length)&&(0<this.axisY[0].gridThickness&&"undefined"===typeof this.axisY2[0].options.gridThickness?this.axisY2[0].gridThickness=0:0<this.axisY2[0].gridThickness&&"undefined"===typeof this.axisY[0].options.gridThickness&&(this.axisY[0].gridThickness=0));if(this.axisX)for(c=0;c<this.axisX.length;c++)"undefined"===typeof this.axisX[c].options.gridThickness&&
213
+ (this.axisX[c].gridThickness=0);if(this.axisX2)for(c=0;c<this.axisX2.length;c++)"undefined"===typeof this.axisX2[c].options.gridThickness&&(this.axisX2[c].gridThickness=0);this.axisX&&0<this.axisX.length&&(this.axisX2&&0<this.axisX2.length)&&(0<this.axisX[0].gridThickness&&"undefined"===typeof this.axisX2[0].options.gridThickness?this.axisX2[0].gridThickness=0:0<this.axisX2[0].gridThickness&&"undefined"===typeof this.axisX[0].options.gridThickness&&(this.axisX[0].gridThickness=0));c=!1;if(0<this._axes.length&&
214
+ this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(h=0;h<this._axes.length;h++)if(!f(this._axes[h].viewportMinimum)||!f(this._axes[h].viewportMaximum)){c=!0;break}c?(this._menuButton&&R(this._menuButton,{border:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,borderLeft:"none",height:2*this.toolbar.buttonBorderThickness+25+"px",width:this.toolbar.buttonBorderThickness+40+"px",backgroundClip:"padding-box"}),Ta(this._zoomButton,this._resetButton),this._toolBar.style.border=
215
+ "none"):(this._menuButton&&R(this._menuButton,{border:"none",height:"25px",width:"40px"}),Aa(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=!0,this.panEnabled=!1));rb(this);this._processData();this.options.title&&(this.title=new Ha(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(h=0;h<this.options.subtitles.length;h++)c=
216
+ new Ma(this,this.options.subtitles[h],h),this.subtitles.push(c),c.dockInsidePlotArea?a.push(c):c.setLayout();this.legend=new F(this,this.options.legend);for(h=0;h<this.data.length;h++)(this.data[h].showInLegend||"pie"===this.data[h].type||"doughnut"===this.data[h].type||"funnel"===this.data[h].type||"pyramid"===this.data[h].type)&&this.legend.dataSeries.push(this.data[h]);this.legend.dockInsidePlotArea?a.push(this.legend):this.legend.setLayout();for(h=0;h<this._axes.length;h++)if(this._axes[h].scaleBreaks&&
217
+ this._axes[h].scaleBreaks._appliedBreaks.length){v?(this._breaksCanvas=ta(this.width,this.height,!0),this._breaksCanvasCtx=this._breaksCanvas.getContext("2d")):(this._breaksCanvas=this.canvas,this._breaksCanvasCtx=this.ctx);break}this._preRenderCanvas=ta(this.width,this.height);this._preRenderCtx=this._preRenderCanvas.getContext("2d");"normal"!==this.plotInfo.axisPlacement&&"xySwapped"!==this.plotInfo.axisPlacement||y.setLayout(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement,
218
+ this.layoutManager.getFreeSpace())};l.prototype.renderElements=function(){if(this.height&&this.width){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var h=0;h<this.subtitles.length;h++)this.subtitles[h].dockInsidePlotArea||this.subtitles[h].render();this.legend.dockInsidePlotArea||this.legend.render();if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)y.render(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement);
219
+ else if("none"===this.plotInfo.axisPlacement)this.preparePlotArea();else return;for(h=0;h<a.length;h++)a[h].setLayout(),a[h].render();var c=[];if(this.animatedRender){var b=ta(this.width,this.height);b.getContext("2d").drawImage(this.canvas,0,0,this.width,this.height)}tb(this);var a=this.ctx.miterLimit,e;this.ctx.miterLimit=3;v&&this._breaksCanvas&&(this._preRenderCtx.drawImage(this.canvas,0,0,this.width,this.height),this._preRenderCtx.drawImage(this._breaksCanvas,0,0,this.width,this.height),this._breaksCanvasCtx.globalCompositeOperation=
220
+ "source-atop",this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(h=0;h<this.plotInfo.plotTypes.length;h++)for(var g=this.plotInfo.plotTypes[h],E=0;E<g.plotUnits.length;E++){var K=g.plotUnits[E],d=null;K.targetCanvas&&Da(K.targetCanvas);K.targetCanvas=null;this.animatedRender&&(K.targetCanvas=ta(this.width,this.height),K.targetCanvasCtx=K.targetCanvas.getContext("2d"),e=K.targetCanvasCtx.miterLimit,K.targetCanvasCtx.miterLimit=
221
+ 3);"line"===K.type?d=this.renderLine(K):"stepLine"===K.type?d=this.renderStepLine(K):"spline"===K.type?d=this.renderSpline(K):"column"===K.type?d=this.renderColumn(K):"bar"===K.type?d=this.renderBar(K):"area"===K.type?d=this.renderArea(K):"stepArea"===K.type?d=this.renderStepArea(K):"splineArea"===K.type?d=this.renderSplineArea(K):"stackedColumn"===K.type?d=this.renderStackedColumn(K):"stackedColumn100"===K.type?d=this.renderStackedColumn100(K):"stackedBar"===K.type?d=this.renderStackedBar(K):"stackedBar100"===
222
+ K.type?d=this.renderStackedBar100(K):"stackedArea"===K.type?d=this.renderStackedArea(K):"stackedArea100"===K.type?d=this.renderStackedArea100(K):"bubble"===K.type?d=d=this.renderBubble(K):"scatter"===K.type?d=this.renderScatter(K):"pie"===K.type?this.renderPie(K):"doughnut"===K.type?this.renderPie(K):"funnel"===K.type?d=this.renderFunnel(K):"pyramid"===K.type?d=this.renderFunnel(K):"candlestick"===K.type?d=this.renderCandlestick(K):"ohlc"===K.type?d=this.renderCandlestick(K):"rangeColumn"===K.type?
223
+ d=this.renderRangeColumn(K):"error"===K.type?d=this.renderError(K):"rangeBar"===K.type?d=this.renderRangeBar(K):"rangeArea"===K.type?d=this.renderRangeArea(K):"rangeSplineArea"===K.type?d=this.renderRangeSplineArea(K):"waterfall"===K.type?d=this.renderWaterfall(K):"boxAndWhisker"===K.type&&(d=this.renderBoxAndWhisker(K));for(var m=0;m<K.dataSeriesIndexes.length;m++)this._dataInRenderedOrder.push(this.data[K.dataSeriesIndexes[m]]);this.animatedRender&&(K.targetCanvasCtx.miterLimit=e,d&&c.push(d))}this.ctx.miterLimit=
224
+ a;this.animatedRender&&this._breaksCanvasCtx&&c.push({source:this._breaksCanvasCtx,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(e=ta(this.width,this.height).getContext("2d"),Ea(e),c.push(this.renderIndexLabels(e)));var p=this;if(0<c.length)p.disableToolTip=!0,p._animator.animate(200,p.animationDuration,function(a){p.ctx.clearRect(0,0,p.width,p.height);p.ctx.drawImage(b,
225
+ 0,0,Math.floor(p.width*ma),Math.floor(p.height*ma),0,0,p.width,p.height);for(var e=0;e<c.length;e++)d=c[e],1>a&&"undefined"!==typeof d.startTimePercent?a>=d.startTimePercent&&d.animationCallback(d.easingFunction(a-d.startTimePercent,0,1,1-d.startTimePercent),d):d.animationCallback(d.easingFunction(a,0,1,1),d);p.dispatchEvent("dataAnimationIterationEnd",{chart:p})},function(){c=[];for(var a=0;a<p.plotInfo.plotTypes.length;a++)for(var e=p.plotInfo.plotTypes[a],h=0;h<e.plotUnits.length;h++){var g=e.plotUnits[h];
226
+ g.targetCanvas&&Da(g.targetCanvas);g.targetCanvas=null}b=null;p.disableToolTip=!1;p.dispatchEvent("dataAnimationEnd",{chart:p})});else{if(p._breaksCanvas)if(v)p.plotArea.ctx.drawImage(p._breaksCanvas,0,0,this.width,this.height);else for(m=0;m<p._axes.length;m++)p._axes[m].createMask();0<p._indexLabels.length&&p.renderIndexLabels();p.dispatchEvent("dataAnimationIterationEnd",{chart:p});p.dispatchEvent("dataAnimationEnd",{chart:p})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||
227
+ !this._zoomButton||"none"===this._zoomButton.style.display)||Aa(this._zoomButton,this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||this.toolTip.showAtX(this.toolTip._xValue,this.toolTip._dataSeriesIndex);this.toolTip._updateToolTip();this.toolTip.enabled&&this.toolTip._updatedEventParameters&&!isNaN(this.toolTip._prevX)&&!isNaN(this.toolTip._prevY)&&this.toolTip.container&&this.toolTip.container.style&&this.toolTip.dispatchEvent("none"===this.toolTip.container.style.display?
228
+ "hidden":"updated",this.toolTip._updatedEventParameters,this.toolTip);this.renderCount++;La&&(p=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ua(a,p.width,p.height),a.getContext("2d").drawImage(p._eventManager.ghostCanvas,0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(m=0;m<this._axes.length;m++)this._axes[m].maskCanvas&&(delete this._axes[m].maskCanvas,delete this._axes[m].maskCtx)}};l.prototype.render=function(a){a&&
229
+ (this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};l.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};l.prototype.categoriseDataSeries=function(){for(var a="",h=0;h<this.data.length;h++)if(a=this.data[h],a.dataPoints&&
230
+ (0!==a.dataPoints.length&&a.visible)&&0<=l._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,e=null,g=!1,E=0;E<this.plotInfo.plotTypes.length;E++)if(this.plotInfo.plotTypes[E].type===a.type){b=!0;c=this.plotInfo.plotTypes[E];break}b||(c={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(c));for(E=0;E<c.plotUnits.length;E++)if(c.plotUnits[E].axisYType===a.axisYType&&c.plotUnits[E].axisXType===a.axisXType&&c.plotUnits[E].axisYIndex===a.axisYIndex&&c.plotUnits[E].axisXIndex===
231
+ a.axisXIndex){g=!0;e=c.plotUnits[E];break}g||(e={type:a.type,previousDataSeriesCount:0,index:c.plotUnits.length,plotType:c,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:
232
+ this.axisX2[0<=a.axisXIndex&&a.axisXIndex<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(e));c.totalDataSeries++;e.dataSeriesIndexes.push(h);a.plotUnit=e}for(h=0;h<this.plotInfo.plotTypes.length;h++)for(c=this.plotInfo.plotTypes[h],E=a=0;E<c.plotUnits.length;E++)c.plotUnits[E].previousDataSeriesCount=a,a+=c.plotUnits[E].dataSeriesIndexes.length};l.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var h=this.data[a];if(h.dataPoints)for(var c=
233
+ h.dataPoints.length,b=0;b<c;b++)h.dataPointIds[b]=++this._eventManager.lastObjectId}};l.prototype._processData=function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var h=this.plotInfo.plotTypes[a],c=0;c<h.plotUnits.length;c++){var b=h.plotUnits[c];"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type?
234
+ this._processMultiseriesPlotUnit(b):"stackedColumn"===b.type||"stackedBar"===b.type||"stackedArea"===b.type?this._processStackedPlotUnit(b):"stackedColumn100"===b.type||"stackedBar100"===b.type||"stackedArea100"===b.type?this._processStacked100PlotUnit(b):"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"error"===b.type||"boxAndWhisker"===b.type?this._processMultiYPlotUnit(b):"waterfall"===b.type&&this._processSpecificPlotUnit(b)}this.calculateAutoBreaks()};
235
+ l.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=0;E<a.dataSeriesIndexes.length;E++){var f=this.data[a.dataSeriesIndexes[E]],d=0,m=!1,p=!1,n;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&
236
+ a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)g=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+
237
+ (a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(g=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x;e=f.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);e<h.min&&"number"===typeof e&&(h.min=e);e>h.max&&"number"===typeof e&&(h.max=e);if(0<d){if(a.axisX.logarithmic){var z=b/f.dataPoints[d-1].x;1>z&&(z=1/z);c.minDiff>z&&1!==z&&(c.minDiff=z)}else z=b-f.dataPoints[d-1].x,0>z&&(z*=-1),c.minDiff>z&&0!==z&&(c.minDiff=z);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(z=e/f.dataPoints[d-
238
+ 1].y,1>z&&(z=1/z),h.minDiff>z&&1!==z&&(h.minDiff=z)):(z=e-f.dataPoints[d-1].y,0>z&&(z*=-1),h.minDiff>z&&0!==z&&(h.minDiff=z)))}if(b<q&&!m)null!==e&&(n=b);else{if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!p)p=!0;else if(b>k&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&n<b&&(c.viewPortMin=n):(e<h.viewPortMin&&"number"===typeof e&&(h.viewPortMin=e),e>h.viewPortMax&&"number"===
239
+ typeof e&&(h.viewPortMax=e))}}f.axisX.valueType=f.xValueType=g?"dateTime":"number"}};l.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=[],d=[],S=Infinity,m=-Infinity,p={},n=0;n<a.dataSeriesIndexes.length;n++){var q=this.data[a.dataSeriesIndexes[n]],k=0,z=!1,C=!1,r;if("normal"===q.axisPlacement||"xySwapped"===q.axisPlacement)var u=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
240
+ a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,x=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(q.dataPoints[k].x&&q.dataPoints[k].x.getTime||"dateTime"===q.xValueType)g=!0;for(k=0;k<q.dataPoints.length;k++){"undefined"===
241
+ typeof q.dataPoints[k].x&&(q.dataPoints[k].x=k+(a.axisX.logarithmic?1:0));q.dataPoints[k].x.getTime?(g=!0,b=q.dataPoints[k].x.getTime()):b=q.dataPoints[k].x;e=f(q.dataPoints[k].y)?0:q.dataPoints[k].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<k){if(a.axisX.logarithmic){var w=b/q.dataPoints[k-1].x;1>w&&(w=1/w);c.minDiff>w&&1!==w&&(c.minDiff=w)}else w=b-q.dataPoints[k-1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w);null!==e&&null!==q.dataPoints[k-1].y&&(a.axisY.logarithmic?0<e&&(w=e/q.dataPoints[k-
242
+ 1].y,1>w&&(w=1/w),h.minDiff>w&&1!==w&&(h.minDiff=w)):(w=e-q.dataPoints[k-1].y,0>w&&(w*=-1),h.minDiff>w&&0!==w&&(h.minDiff=w)))}if(b<u&&!z)null!==q.dataPoints[k].y&&(r=b);else{if(!z&&(z=!0,0<k)){k-=2;continue}if(b>x&&!C)C=!0;else if(b>x&&C)continue;q.dataPoints[k].label&&(a.axisX.labels[b]=q.dataPoints[k].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===q.dataPoints[k].y?c.viewPortMin===b&&r<b&&(c.viewPortMin=r):(p[b]=(p[b]||0)+q.dataPoints[k].y,q.dataPointEOs[k].cumulativeY=
243
+ p[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?E[b]?E[b]+=e:(E[b]=e,S=Math.min(e,S)):d[b]?d[b]+=e:(d[b]=e,m=Math.max(e,m)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(h.dataPointYPositiveSums?(h.dataPointYPositiveSums.push.apply(h.dataPointYPositiveSums,E),h.dataPointYNegativeSums.push.apply(h.dataPointYPositiveSums,d)):(h.dataPointYPositiveSums=E,h.dataPointYNegativeSums=
244
+ d));q.axisX.valueType=q.xValueType=g?"dateTime":"number"}for(k in E)E.hasOwnProperty(k)&&!isNaN(k)&&(a=E[k],a<h.min&&(h.min=Math.min(a,S)),a>h.max&&(h.max=a),k<c.viewPortMin||k>c.viewPortMax||(a<h.viewPortMin&&(h.viewPortMin=Math.min(a,S)),a>h.viewPortMax&&(h.viewPortMax=a)));for(k in d)d.hasOwnProperty(k)&&!isNaN(k)&&(a=d[k],a<h.min&&(h.min=a),a>h.max&&(h.max=Math.max(a,m)),k<c.viewPortMin||k>c.viewPortMax||(a<h.viewPortMin&&(h.viewPortMin=a),a>h.viewPortMax&&(h.viewPortMax=Math.max(a,m))))}};l.prototype._processStacked100PlotUnit=
245
+ function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=!1,d=!1,S={},m=[],p=0;p<a.dataSeriesIndexes.length;p++){var n=this.data[a.dataSeriesIndexes[p]],q=0,k=!1,z=!1,C;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?
246
+ a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[q].x&&n.dataPoints[q].x.getTime||"dateTime"===n.xValueType)g=!0;for(q=0;q<n.dataPoints.length;q++){"undefined"===typeof n.dataPoints[q].x&&(n.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));n.dataPoints[q].x.getTime?
247
+ (g=!0,b=n.dataPoints[q].x.getTime()):b=n.dataPoints[q].x;e=f(n.dataPoints[q].y)?null:n.dataPoints[q].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var x=b/n.dataPoints[q-1].x;1>x&&(x=1/x);c.minDiff>x&&1!==x&&(c.minDiff=x)}else x=b-n.dataPoints[q-1].x,0>x&&(x*=-1),c.minDiff>x&&0!==x&&(c.minDiff=x);f(e)||null===n.dataPoints[q-1].y||(a.axisY.logarithmic?0<e&&(x=e/n.dataPoints[q-1].y,1>x&&(x=1/x),h.minDiff>x&&1!==x&&(h.minDiff=x)):(x=e-n.dataPoints[q-1].y,0>x&&(x*=-1),h.minDiff>
248
+ x&&0!==x&&(h.minDiff=x)))}m[b]=m[b]?m[b]+Math.abs(e):Math.abs(e);if(b<r&&!k)null!==e&&(C=b);else{if(!k&&(k=!0,0<q)){m[b]-=Math.abs(e);m[g?n.dataPoints[q-1].x.getTime():n.dataPoints[q-1].x]-=Math.abs(n.dataPoints[q-1].y||0);q-=2;continue}if(b>u&&!z)z=!0;else if(b>u&&z)continue;n.dataPoints[q].label&&(a.axisX.labels[b]=n.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&C<b&&(c.viewPortMin=C):(S[b]=(S[b]||0)+n.dataPoints[q].y,n.dataPointEOs[q].cumulativeY=
249
+ S[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?E=!0:0>e&&(d=!0))}}n.axisX.valueType=n.xValueType=g?"dateTime":"number"}a.axisY.logarithmic?(h.max=f(h.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(h.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),h.min=f(h.viewPortMin)?1:Math.min(h.viewPortMin,1)):E&&!d?(h.max=f(h.viewPortMax)?99:Math.max(h.viewPortMax,99),h.min=f(h.viewPortMin)?1:Math.min(h.viewPortMin,
250
+ 1)):E&&d?(h.max=f(h.viewPortMax)?99:Math.max(h.viewPortMax,99),h.min=f(h.viewPortMin)?-99:Math.min(h.viewPortMin,-99)):!E&&d&&(h.max=f(h.viewPortMax)?-1:Math.max(h.viewPortMax,-1),h.min=f(h.viewPortMin)?-99:Math.min(h.viewPortMin,-99));h.viewPortMin=h.min;h.viewPortMax=h.max;a.dataPointYSums=m}};l.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g,E,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var m=
251
+ this.data[a.dataSeriesIndexes[d]],p=0,n=!1,q=!1,k,z,C;if("normal"===m.axisPlacement||"xySwapped"===m.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?
252
+ a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(m.dataPoints[p].x&&m.dataPoints[p].x.getTime||"dateTime"===m.xValueType)f=!0;for(p=0;p<m.dataPoints.length;p++){"undefined"===typeof m.dataPoints[p].x&&(m.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));m.dataPoints[p].x.getTime?(f=!0,b=m.dataPoints[p].x.getTime()):b=m.dataPoints[p].x;if((e=m.dataPoints[p].y)&&e.length){g=Math.min.apply(null,e);E=Math.max.apply(null,e);z=!0;for(var x=0;x<e.length;x++)null===
253
+ e.k&&(z=!1);z&&(n||(C=k),k=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);g<h.min&&(h.min=g);E>h.max&&(h.max=E);0<p&&(a.axisX.logarithmic?(z=b/m.dataPoints[p-1].x,1>z&&(z=1/z),c.minDiff>z&&1!==z&&(c.minDiff=z)):(z=b-m.dataPoints[p-1].x,0>z&&(z*=-1),c.minDiff>z&&0!==z&&(c.minDiff=z)),e&&(null!==e[0]&&m.dataPoints[p-1].y&&null!==m.dataPoints[p-1].y[0])&&(a.axisY.logarithmic?(z=e[0]/m.dataPoints[p-1].y[0],1>z&&(z=1/z),h.minDiff>z&&1!==z&&(h.minDiff=z)):(z=e[0]-m.dataPoints[p-1].y[0],0>z&&(z*=-1),h.minDiff>
254
+ z&&0!==z&&(h.minDiff=z))));if(!(b<r)||n){if(!n&&(n=!0,0<p)){p-=2;k=C;continue}if(b>u&&!q)q=!0;else if(b>u&&q)continue;m.dataPoints[p].label&&(a.axisX.labels[b]=m.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);if(c.viewPortMin===b&&e)for(x=0;x<e.length;x++)if(null===e[x]&&k<b){c.viewPortMin=k;break}null===e?c.viewPortMin===b&&k<b&&(c.viewPortMin=k):(g<h.viewPortMin&&(h.viewPortMin=g),E>h.viewPortMax&&(h.viewPortMax=E))}}m.axisX.valueType=m.xValueType=f?"dateTime":
255
+ "number"}};l.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var h=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,g=!1,E=0;E<a.dataSeriesIndexes.length;E++){var f=this.data[a.dataSeriesIndexes[E]],d=0,m=!1,p=!1,n=b=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:
256
+ a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)g=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&
257
+ !0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=n,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,n=0===d?0:f.dataPointEOs[d-1].cumulativeSum,
258
+ b=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,b+=e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(g=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x,e=f.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),f.dataPointEOs[d].cumulativeSum<
259
+ h.min&&(h.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>h.max&&(h.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(n=b/f.dataPoints[d-1].x,1>n&&(n=1/n),c.minDiff>n&&1!==n&&(c.minDiff=n)):(n=b-f.dataPoints[d-1].x,0>n&&(n*=-1),c.minDiff>n&&0!==n&&(c.minDiff=n)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),h.minDiff>e&&1!==e&&(h.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-
260
+ f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),h.minDiff>e&&0!==e&&(h.minDiff=e)))),!(b<q)||m){if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!p)p=!0;else if(b>k&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<h.viewPortMin&&(h.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>h.viewPortMax&&(h.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));
261
+ f.dataPointEOs[d].cumulativeSum<h.viewPortMin&&(h.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>h.viewPortMax&&(h.viewPortMax=f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=g?"dateTime":"number"}};l.prototype.calculateAutoBreaks=function(){function a(a,b,c,e){if(e)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*(0<a?Math.min(b-a,Math.abs(a)):
262
+ b-a));return{startValue:a+c,endValue:b-c}}function h(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var h=a.axisY.dataInfo,g=a.axisX.dataInfo,k,m=g.min,E=g.max,d=h.min,p=h.max,g=g._dataRanges,h=h._dataRanges,n,q=0,K=0;K<a.dataSeriesIndexes.length;K++){var C=e.data[a.dataSeriesIndexes[K]];
263
+ if(!(4>C.dataPoints.length))for(q=0;q<C.dataPoints.length;q++)if(b&&(n=(E+1-m)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,k=C.dataPoints[q].x.getTime?C.dataPoints[q].x.getTime():C.dataPoints[q].x,n=Math.floor((k-m)/n),k<g[n].min&&(g[n].min=k),k>g[n].max&&(g[n].max=k)),c){var S=(p+1-d)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((k="waterfall"===a.type?C.dataPointEOs[q].cumulativeSum:C.dataPoints[q].y)&&k.length)for(var r=0;r<k.length;r++)n=
264
+ Math.floor((k[r]-d)/S),k[r]<h[n].min&&(h[n].min=k[r]),k[r]>h[n].max&&(h[n].max=k[r]);else f(k)||(n=Math.floor((k-d)/S),k<h[n].min&&(h[n].min=k),k>h[n].max&&(h[n].max=k))}}}}function c(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,h=b.max,g=b._dataRanges,k,m=0,f=0;f<a.dataSeriesIndexes.length;f++){var E=e.data[a.dataSeriesIndexes[f]];if(!(4>E.dataPoints.length))for(m=
265
+ 0;m<E.dataPoints.length;m++)k=(h+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=E.dataPoints[m].x.getTime?E.dataPoints[m].x.getTime():E.dataPoints[m].x,k=Math.floor((b-c)/k),b<g[k].min&&(g[k].min=b),b>g[k].max&&(g[k].max=b)}}for(var b,e=this,g=!1,E=0;E<this._axes.length;E++)if(this._axes[E].scaleBreaks&&this._axes[E].scaleBreaks.autoCalculate&&1<=this._axes[E].scaleBreaks.maxNumberOfAutoBreaks){g=!0;this._axes[E].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[E].scaleBreaks.collapsibleThreshold)||
266
+ 10,10);d++)this._axes[E].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(g){for(E=0;E<this.plotInfo.plotTypes.length;E++)for(g=this.plotInfo.plotTypes[E],d=0;d<g.plotUnits.length;d++)b=g.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===
267
+ b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?h(b):0<=b.type.indexOf("stacked")&&c(b);for(E=0;E<this._axes.length;E++)if(this._axes[E].dataInfo._dataRanges){var C=this._axes[E].dataInfo.min;b=(this._axes[E].dataInfo.max+1-C)*Math.max(parseFloat(this._axes[E].scaleBreaks.collapsibleThreshold)||10,10)/100;var m=this._axes[E].dataInfo._dataRanges,p,n,g=[];if(this._axes[E].dataInfo.dataPointYPositiveSums){var q=this._axes[E].dataInfo.dataPointYPositiveSums;
268
+ p=m;for(d in q)if(q.hasOwnProperty(d)&&!isNaN(d)&&(n=q[d],!f(n))){var k=Math.floor((n-C)/b);n<p[k].min&&(p[k].min=n);n>p[k].max&&(p[k].max=n)}delete this._axes[E].dataInfo.dataPointYPositiveSums}if(this._axes[E].dataInfo.dataPointYNegativeSums){q=this._axes[E].dataInfo.dataPointYNegativeSums;p=m;for(d in q)q.hasOwnProperty(d)&&!isNaN(d)&&(n=-1*q[d],f(n)||(k=Math.floor((n-C)/b),n<p[k].min&&(p[k].min=n),n>p[k].max&&(p[k].max=n)));delete this._axes[E].dataInfo.dataPointYNegativeSums}for(d=0;d<m.length-
269
+ 1;d++)if(p=m[d].max,isFinite(p))for(;d<m.length-1;)if(C=m[d+1].min,isFinite(C)){n=C-p;n>b&&g.push({diff:n,start:p,end:C});break}else d++;if(this._axes[E].scaleBreaks.customBreaks)for(d=0;d<this._axes[E].scaleBreaks.customBreaks.length;d++)for(b=0;b<g.length;b++)if(this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].start&&g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue||this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].start&&g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue||
270
+ g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].startValue&&this._axes[E].scaleBreaks.customBreaks[d].startValue<=g[b].end||g[b].start<=this._axes[E].scaleBreaks.customBreaks[d].endValue&&this._axes[E].scaleBreaks.customBreaks[d].endValue<=g[b].end)g.splice(b,1),b--;g.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(g.length,this._axes[E].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(g[d].start,g[d].end,this._axes[E].logarithmic?this._axes[E].dataInfo.max/this._axes[E].dataInfo.min:
271
+ this._axes[E].dataInfo.max-this._axes[E].dataInfo.min,this._axes[E].logarithmic),this._axes[E].scaleBreaks.autoBreaks.push(new L(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[E].scaleBreaks)),this._axes[E].scaleBreaks._appliedBreaks.push(this._axes[E].scaleBreaks.autoBreaks[this._axes[E].scaleBreaks.autoBreaks.length-1]);this._axes[E].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};l.prototype.renderCrosshairs=function(a,h){for(var c,b=0;b<
272
+ this.axisX.length;b++)if(c=this.axisX[b].sessionVariables.crosshairShownByPixel,this.axisX[b]!=a&&this.axisX[b].crosshair&&this.axisX[b].crosshair.enabled&&!this.axisX[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX[b].crosshair.render(null,this.sessionVariables.mouseY,
273
+ this.axisX[b].convertPixelToValue(this.sessionVariables.mouseY)):this.axisX[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisX[b].convertPixelToValue(this.sessionVariables.mouseX)),f(h)||h)c={chart:this,crosshair:this.axisX[b].crosshair.options,axis:this.axisX[b],value:this.axisX[b].crosshair.value},this.axisX[b].crosshair.dispatchEvent("updated",c,this.axisX[b])}else f(c)||c||this.axisX[b].showCrosshair(this.axisX[b].crosshair._updatedValue);for(b=0;b<this.axisX2.length;b++)if(c=this.axisX2[b].sessionVariables.crosshairShownByPixel,
274
+ this.axisX2[b]!=a&&this.axisX2[b].crosshair&&this.axisX2[b].crosshair.enabled&&!this.axisX2[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX2[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseY)):
275
+ this.axisX2[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseX)),f(h)||h)c={chart:this,crosshair:this.axisX2[b].crosshair.options,axis:this.axisX2[b],value:this.axisX2[b].crosshair.value},this.axisX2[b].crosshair.dispatchEvent("updated",c,this.axisX2[b])}else f(c)||c||this.axisX2[b].showCrosshair(this.axisX2[b].crosshair._updatedValue);for(b=0;b<this.axisY.length;b++)if(c=this.axisY[b].sessionVariables.crosshairShownByPixel,this.axisY[b]!=
276
+ a&&this.axisY[b].crosshair&&this.axisY[b].crosshair.enabled&&!this.axisY[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisY[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseX)):this.axisY[b].crosshair.render(null,
277
+ this.sessionVariables.mouseY,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseY)),f(h)||h)c={chart:this,crosshair:this.axisY[b].crosshair.options,axis:this.axisY[b],value:this.axisY[b].crosshair.value},this.axisY[b].crosshair.dispatchEvent("updated",c,this.axisY[b])}else f(c)||c||this.axisY[b].showCrosshair(this.axisY[b].crosshair._updatedValue);for(b=0;b<this.axisY2.length;b++)if(c=this.axisY2[b].sessionVariables.crosshairShownByPixel,this.axisY2[b]!=a&&this.axisY2[b].crosshair&&this.axisY2[b].crosshair.enabled&&
278
+ !this.axisY2[b].sessionVariables._crosshairHidden)if(c&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){if(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisY2[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseX)):this.axisY2[b].crosshair.render(null,this.sessionVariables.mouseY,
279
+ this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseY)),f(h)||h)c={chart:this,crosshair:this.axisY2[b].crosshair.options,axis:this.axisY2[b],value:this.axisY2[b].crosshair.value},this.axisY2[b].crosshair.dispatchEvent("updated",c,this.axisY2[b])}else f(c)||c||this.axisY2[b].showCrosshair(this.axisY2[b].crosshair._updatedValue)};l.prototype.getDataPointAtXY=function(a,h,c){c=c||!1;for(var b=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var g=null;(g=this._dataInRenderedOrder[e].getDataPointAtXY(a,
280
+ h,c))&&b.push(g)}a=null;h=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||"stepLine"===b[c].dataSeries.type||"area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(e=pa("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=e/2){h=!0;break}for(c=0;c<b.length;c++)h&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};l.prototype.getObjectAtXY=
281
+ function(a,h,c){var b=null;if(c=this.getDataPointAtXY(a,h,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];else if(v)b=jb(a,h,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var e=this.legend.items[c];a>=e.x1&&(a<=e.x2&&h>=e.y1&&h<=e.y2)&&(b=e.id)}return b};l.prototype.getAutoFontSize=ob;l.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};l.prototype.clearCanvas=nb;l.prototype.attachEvent=function(a){this._events.push(a)};
282
+ l.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var h=[],c=a.changedTouches,b=c?c[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":h=["mousemove","mousedown"];this._lastTouchData=Ca(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":h=["mousemove"];break;case "touchend":case "MSPointerUp":var g=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,h="touchstart"===this._lastTouchEventType||
283
+ "MSPointerDown"===this._lastTouchEventType||300>g?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&1<c.length)){e=Ca(b);e.time=new Date;try{var E=e.y-this._lastTouchData.y,g=e.time-this._lastTouchData.time;if(1<Math.abs(E)&&this._lastTouchData.scroll||5<Math.abs(E)&&250>g)this._lastTouchData.scroll=!0,this.stockChart&&(this.stockChart._chartScroll=!0)}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=
284
+ !1;else for(c=0;c<h.length;c++)if(e=h[c],E=document.createEvent("MouseEvent"),E.initMouseEvent(e,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(E),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<g||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault(),this.stockChart&&(this.stockChart._chartScroll=null)}}};l.prototype._dispatchRangeEvent=function(a,
285
+ h){var c={chart:this};c.type=a;c.trigger=h;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&0<this.axisY2.length&&b.push("axisY2");for(var e=0;e<b.length;e++)if(f(c[b[e]])&&(c[b[e]]=[]),"axisY"===b[e])for(var g=0;g<this.axisY.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});
286
+ else if("axisY2"===b[e])for(g=0;g<this.axisY2.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});else if("axisX"===b[e])for(g=0;g<this.axisX.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});else if("axisX2"===b[e])for(g=0;g<this.axisX2.length;g++)c[b[e]].push({viewportMinimum:this[b[e]][g].sessionVariables.newViewportMinimum,
287
+ viewportMaximum:this[b[e]][g].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};l.prototype._mouseEventHandler=function(a){function h(){l.capturedEventParam&&(e=l.capturedEventParam,f=e.bounds,"mouseup"===b&&(l.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==
288
+ e.chart.overlaidCanvas&&v||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=Ca(a),b=a.type,e,g;a.which?g=3==a.which:a.button&&(g=2==a.button);if(this._ignoreNextEvent)h(),this._ignoreNextEvent=!1;else if(h(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var f;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+
289
+ c.y),g&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!g){if(!l.capturedEventParam&&this._events){for(g=0;g<this._events.length;g++)if(this._events[g].hasOwnProperty(b))if(e=this._events[g],f=e.bounds,c.x>=f.x1&&c.x<=f.x2&&c.y>=f.y1&&c.y<=f.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(l.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,
290
+ !1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}g=this.plotArea;if(c.x<g.x1||c.x>g.x2||c.y<g.y1||c.y>g.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):(this.resetOverlayedCanvas(),this.sessionVariables._dataHighlighted=
291
+ !1);for(g=0;g<this.axisX.length;g++)this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&(this.axisX[g].crosshair.hide(),this.axisX[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[g].options},this.axisX[g].crosshair));for(g=0;g<this.axisX2.length;g++)this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&(this.axisX2[g].crosshair.hide(),this.axisX2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[g].options},this.axisX2[g].crosshair));for(g=0;g<this.axisY.length;g++)this.axisY[g].crosshair&&
292
+ this.axisY[g].crosshair.enabled&&(this.axisY[g].crosshair.hide(),this.axisY[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[g].options},this.axisY[g].crosshair));for(g=0;g<this.axisY2.length;g++)this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&(this.axisY2[g].crosshair.hide(),this.axisY2[g].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[g].options},this.axisY2[g].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||
293
+ !this._eventManager||this._eventManager.mouseEventHandler(a)}}};l.prototype._plotAreaMouseDown=function(a,h){this.isDrag=!0;this.dragStartPoint={x:a,y:h}};l.prototype._plotAreaMouseUp=function(a,h){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=h-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),f=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var d=
294
+ g,g=e,e=d;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=g=0;e<this._axes.length;e++)c=this._axes[e],c.logarithmic?c.viewportMinimum<c.minimum?(g=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*g,c.sessionVariables.newViewportMaximum=c.viewportMaximum*g,f=!0):c.viewportMaximum>c.maximum&&(g=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/g,c.sessionVariables.newViewportMaximum=c.viewportMaximum/g,f=!0):c.viewportMinimum<
295
+ c.minimum?(g=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+g,c.sessionVariables.newViewportMaximum=c.viewportMaximum+g,f=!0):c.viewportMaximum>c.maximum&&(g=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-g,c.sessionVariables.newViewportMaximum=c.viewportMaximum-g,f=!0);else if((!e||2<Math.abs(b))&&(!g||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=g?this.dragStartPoint.y:
296
+ this.plotArea.y1;e=e?a:this.plotArea.x2;g=g?h:this.plotArea.y2;2<Math.abs(c-e)&&2<Math.abs(b-g)&&this._zoomPanToSelectedRegion(c,b,e,g,"xy"!==this.zoomType&&"y"!==this.zoomType)&&(f=!0)}f&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),
297
+ this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),f&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Ta(this._zoomButton,
298
+ this._resetButton),za(this,this._zoomButton,"pan"),za(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].renderCrosshair(a,h);if(this.axisX2&&0<this.axisX2.length)for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].renderCrosshair(a,h);if(this.axisY&&
299
+ 0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].renderCrosshair(a,h);if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].renderCrosshair(a,h);if(this.axisX&&0<this.axisX.length)for(f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&this.axisX[f].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(f=
300
+ 0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&this.axisX2[f].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&this.axisY[f].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&this.axisY2[f].crosshair.renderLabel()}};l.prototype._plotAreaMouseMove=function(a,
301
+ h){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),g=0<=this.zoomType.indexOf("y"),f=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=g,g=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-h;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&
302
+ this.axisX[d].crosshair.enabled&&(this.axisX[d].crosshair.hide(),this.axisX[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[d].options},this.axisX[d].crosshair));for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].crosshair.hide(),this.axisX2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[d].options},this.axisX2[d].crosshair));for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&
303
+ (this.axisY[d].crosshair.hide(),this.axisY[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[d].options},this.axisY[d].crosshair));for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].crosshair.hide(),this.axisY2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[d].options},this.axisY2[d].crosshair))}else if(!this.panEnabled&&!this.zoomEnabled&&(this.toolTip.mouseMoveHandler(a,h),"none"!==this.plotInfo.axisPlacement)){this.sessionVariables._dataHighlighted||
311
304
  this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].sessionVariables.crosshairShownByPixel=!0,this.axisX[d].renderCrosshair(a,h));if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].sessionVariables.crosshairShownByPixel=!0,this.axisX2[d].renderCrosshair(a,h));if(this.axisY&&0<this.axisY.length)for(d=
312
305
  0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&(this.axisY[d].sessionVariables.crosshairShownByPixel=!0,this.axisY[d].renderCrosshair(a,h));if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].sessionVariables.crosshairShownByPixel=!0,this.axisY2[d].renderCrosshair(a,h));if(this.axisX&&0<this.axisX.length)for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&
313
- this.axisX[d].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&this.axisX2[d].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&this.axisY[d].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&this.axisY2[d].crosshair.renderLabel()}};
314
- l.prototype._zoomPanToSelectedRegion=function(a,h,c,b,e){a=this.validateRegion(a,h,c,b,e);h=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<h.length;b++){e=h[b];var g=c[b];e.setViewPortRange(g.val1,g.val2);this.syncCharts&&("axisX"===e.type&&"y"!=this.zoomType)&&this.syncCharts(g.val1,g.val2);this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:g.val1,maximum:g.val2})}return a.isValid};l.prototype.validateRegion=
315
- function(a,h,c,b,e){e=e||!1;for(var g=0<=this.zoomType.indexOf("x"),f=0<=this.zoomType.indexOf("y"),d=!1,C=[],m=[],p=[],n=0;n<this._axes.length;n++)("axisX"===this._axes[n].type&&g||"axisY"===this._axes[n].type&&f)&&m.push(this._axes[n]);for(f=0;f<m.length;f++){var n=m[f],g=!1,q=n.convertPixelToValue({x:a,y:h}),k=n.convertPixelToValue({x:c,y:b});if(q>k)var z=k,k=q,q=z;if(n.scaleBreaks)for(z=0;!g&&z<n.scaleBreaks._appliedBreaks.length;z++)g=n.scaleBreaks._appliedBreaks[z].startValue<=q&&n.scaleBreaks._appliedBreaks[z].endValue>=
316
- k;if(isFinite(n.dataInfo.minDiff))if(z=n.getApparentDifference(q,k,null,!0),!(g||!(this.panEnabled&&n.scaleBreaks&&n.scaleBreaks._appliedBreaks.length)&&(n.logarithmic&&z<Math.pow(n.dataInfo.minDiff,3)||!n.logarithmic&&z<3*Math.abs(n.dataInfo.minDiff))||q<n.minimum||k>n.maximum))C.push(n),p.push({val1:q,val2:k}),d=!0;else if(!e){d=!1;break}}return{isValid:d,axesWithValidRange:C,axesRanges:p}};l.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);
317
- if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var h=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=h.x1<c.lineCoordinates.x2?h.x1:c.lineCoordinates.x1;a.y1=h.y1<c.lineCoordinates.y1?h.y1:c.lineCoordinates.y1;a.x2=h.x2>c.lineCoordinates.x2?h.x2:c.lineCoordinates.x2;a.y2=h.y1>c.lineCoordinates.y2?h.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<
318
- this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=h.x1<c.lineCoordinates.x2?h.x1:c.lineCoordinates.x1,a.y1=h.y1<c.lineCoordinates.y1?h.y1:c.lineCoordinates.y1,a.x2=h.x2>c.lineCoordinates.x2?h.x2:c.lineCoordinates.x2,a.y2=h.y2>c.lineCoordinates.y2?h.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else h=this.layoutManager.getFreeSpace(),a.x1=h.x1,a.x2=h.x2,a.y1=h.y1,a.y2=h.y2,a.width=h.width,a.height=h.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=
319
- a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};l.prototype.renderIndexLabels=function(a){var h=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,g=0,d=e=g=0,K=0,S=b=0,m=0;for(a=0;a<this._indexLabels.length;a++){var p=this._indexLabels[a],n=p.chartType.toLowerCase(),q,k,K=pa("indexLabelFontColor",p.dataPoint,p.dataSeries),z=pa("indexLabelFontSize",p.dataPoint,p.dataSeries),S=pa("indexLabelFontFamily",p.dataPoint,p.dataSeries),
320
- m=pa("indexLabelFontStyle",p.dataPoint,p.dataSeries);q=pa("indexLabelFontWeight",p.dataPoint,p.dataSeries);var r=pa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries);k=pa("indexLabelBorderColor",p.dataPoint,p.dataSeries);var g=pa("indexLabelBorderThickness",p.dataPoint,p.dataSeries),e=pa("indexLabelMaxWidth",p.dataPoint,p.dataSeries),d=pa("indexLabelWrap",p.dataPoint,p.dataSeries),U=pa("indexLabelLineDashType",p.dataPoint,p.dataSeries),u=pa("indexLabelLineColor",p.dataPoint,p.dataSeries),x=f(p.dataPoint.indexLabelLineThickness)?
321
- f(p.dataSeries.options.indexLabelLineThickness)?0:p.dataSeries.options.indexLabelLineThickness:p.dataPoint.indexLabelLineThickness,b=0<x?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,w=pa("indexLabelPadding",p.dataPoint,p.dataSeries),B={percent:null,total:null},l=null;if(0<=p.dataSeries.type.indexOf("stacked")||"pie"===p.dataSeries.type||"doughnut"===p.dataSeries.type)B=this.getPercentAndTotal(p.dataSeries,p.dataPoint);if(p.dataSeries.indexLabelFormatter||
322
- p.dataPoint.indexLabelFormatter)l={chart:this,dataSeries:p.dataSeries,dataPoint:p.dataPoint,index:p.indexKeyword,total:B.total,percent:B.percent};var t=p.dataPoint.indexLabelFormatter?p.dataPoint.indexLabelFormatter(l):p.dataPoint.indexLabel?this.replaceKeywordsWithValue(p.dataPoint.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):p.dataSeries.indexLabelFormatter?p.dataSeries.indexLabelFormatter(l):p.dataSeries.indexLabel?this.replaceKeywordsWithValue(p.dataSeries.indexLabel,p.dataPoint,p.dataSeries,
323
- null,p.indexKeyword):null;if(null!==t&&""!==t){var B=pa("indexLabelPlacement",p.dataPoint,p.dataSeries),l=pa("indexLabelOrientation",p.dataPoint,p.dataSeries),s=pa("indexLabelTextAlign",p.dataPoint,p.dataSeries),A=p.direction,N=p.dataSeries.axisX,y=p.dataSeries.axisY,da=!1,r=new na(h,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:d?5*z:1.5*z,angle:"horizontal"===l?0:-90,text:t,padding:w,backgroundColor:r,borderColor:k,borderThickness:g,textAlign:s,fontSize:z,fontFamily:S,fontWeight:q,fontColor:K,
324
- fontStyle:m,textBaseline:"middle"});r.measureText();p.dataSeries.indexLabelMaxWidth=r.maxWidth;if("stackedarea100"===n){if(p.point.x<c.x1||p.point.x>c.x2||p.point.y<c.y1-1||p.point.y>c.y2+1)continue}else if("rangearea"===n||"rangesplinearea"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<y.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>y.viewportMaximum)continue}else if(0<=n.indexOf("line")||0<=n.indexOf("area")||0<=n.indexOf("bubble")||
325
- 0<=n.indexOf("scatter")){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.dataPoint.y<y.viewportMinimum||p.dataPoint.y>y.viewportMaximum)continue}else if(0<=n.indexOf("column")){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||(0<p.dataPoint.y.length?Math.max.apply(null,p.dataPoint.y):p.cumulativeY?p.cumulativeY:p.dataPoint.y)<y.viewportMinimum||(0<p.dataPoint.y.length?Math.min.apply(null,p.dataPoint.y):p.cumulativeY?p.cumulativeY-p.dataPoint.y:0)>y.viewportMaximum)continue}else if("waterfall"===
326
- n||"error"===n&&!p.axisSwapped){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.bounds.y1>c.y2||p.bounds.y2<c.y1)continue}else if(0<=n.indexOf("bar")||"error"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.bounds.x1>c.x2||p.bounds.x2<c.x1)continue}else if("candlestick"===n||"ohlc"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<y.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>y.viewportMaximum)continue}else if(p.dataPoint.x<
327
- N.viewportMinimum||p.dataPoint.x>N.viewportMaximum)continue;d=K=2;"horizontal"===l?(S=r.width,m=r.height):(m=r.width,S=r.height);if("normal"===this.plotInfo.axisPlacement){if(0<=n.indexOf("line")||0<=n.indexOf("area"))B="auto",K=4;else if(0<=n.indexOf("stacked"))"auto"===B&&(B="inside");else if("bubble"===n||"scatter"===n)B="inside";q=p.point.x-S/2+("horizontal"===l?0:r._lineHeight/2);if("inside"!==B)e=c.y1,g=c.y2,0<A?(k=p.point.y+r._lineHeight/2-m-K-b,k<e&&(k="auto"===B?Math.max(p.point.y,e)+r._lineHeight/
328
- 2+K+b:e+r._lineHeight/2+K+b,da=k+("horizontal"===l?m-r._lineHeight/2:0)>p.point.y,!da||(0<=n.indexOf("line")||0<=n.indexOf("area"))||(k-=b))):(k=p.point.y+r._lineHeight/2+K+b,k>g-m+r._lineHeight/2-K&&(k="auto"===B?Math.min(p.point.y,g)+r._lineHeight/2-m-K-b:g+r._lineHeight/2-m-K-b,da=k-("horizontal"===l?r._lineHeight/2:m)<p.point.y,!da||(0<=n.indexOf("line")||0<=n.indexOf("area"))||(k+=b)));else{Math.max(p.bounds.y1,c.y1);g=Math.min(p.bounds.y2,c.y2)-m+r._lineHeight/2;b=0<=n.indexOf("range")||"error"===
329
- n?0<A?Math.max(p.bounds.y1,c.y1)+r._lineHeight/2+K:Math.min(p.bounds.y2,c.y2)+r._lineHeight/2-m-K:(Math.max(p.bounds.y1,c.y1)+Math.min(p.bounds.y2,c.y2))/2-m/2+r._lineHeight/2;if(0<A){if(k=b,"bubble"===n||"scatter"===n)k=p.point.y-m/2+r._lineHeight/2,m>p.bounds.y2-p.bounds.y1&&(k-=m/2+K),0>k-r._lineHeight/2&&(k+=Math.abs(k-r._lineHeight/2)<=(p.bounds.y2-p.bounds.y1)/2+K?Math.abs(k-r._lineHeight/2):(p.bounds.y2-p.bounds.y1)/2+K)}else k=Math.min(p.point.y,b),k>g-m-K&&("bubble"===n||"scatter"===n)&&
330
- (k=Math.min(p.point.y+K,c.y2-m-K));k=Math.min(k,g)}}else 0<=n.indexOf("line")||0<=n.indexOf("area")||0<=n.indexOf("scatter")?(B="auto",d=4):0<=n.indexOf("stacked")?"auto"===B&&(B="inside"):"bubble"===n&&(B="inside"),k=p.point.y+r._lineHeight/2-m/2,"inside"!==B?(g=c.x1,e=c.x2,0>A?(q=p.point.x-S+("horizontal"===l?0:r._lineHeight/2)-d-b,("horizontal"===l?q:q-r._lineHeight/2)<g&&(q="auto"===B?Math.max(p.point.x,g)+("horizontal"===l?0:r._lineHeight/2)+K+b:g+("horizontal"===l?0:r._lineHeight/2)+d,(da=q+
331
- S-("horizontal"===l?0:r._lineHeight/2)>p.point.x)&&(q-=b))):(q=p.point.x+("horizontal"===l?0:r._lineHeight/2)+d+b,("horizontal"===l?q:q-r._lineHeight/2)>e-S-d-b&&(q="auto"===B?Math.min(p.point.x,e)-("horizontal"===l?S:S-r._lineHeight/2)-d-b:e-S-d+("horizontal"===l?0:r._lineHeight/2),(da=q-("horizontal"===l?0:r._lineHeight/2)<p.point.x)&&(q+=b)))):(g=Math.max(p.bounds.x1,c.x1),Math.min(p.bounds.x2,c.x2),b=0<=n.indexOf("range")||"error"===n?0>A?Math.max(p.bounds.x1,c.x1):Math.min(p.bounds.x2,c.x2)-
332
- S-d+("horizontal"===l?0:r._lineHeight/2):(Math.max(p.bounds.x1,c.x1)+Math.min(p.bounds.x2,c.x2))/2-S/2+("horizontal"===l?0:r._lineHeight/2),q=0>A?b:Math.min(p.point.x,b),q=Math.max(q,g+("horizontal"===l?0:r._lineHeight/2+K)));"vertical"===l&&(k+=m-r._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(n)&&(da=0<A?k+("horizontal"===l?m-r._lineHeight/2:0)>p.point.y:k-("horizontal"===l?r._lineHeight/2:m)<p.point.y),"bubble"===n||
333
- "scatter"===n)&&(q+=r._lineHeight/2-z/2);r.x=q;r.y=k;r.render(!0);x&&("inside"!==B&&(0>n.indexOf("bar")&&("error"!==n||!p.axisSwapped)&&p.point.x>c.x1&&p.point.x<c.x2||!da)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(n)&&("error"!==n||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!da))&&(h.lineWidth=x,h.strokeStyle=u?u:"gray",h.setLineDash&&h.setLineDash(Q(U,x)),h.beginPath(),h.moveTo(p.point.x,p.point.y),0<=n.indexOf("bar")||
334
- "error"===n&&p.axisSwapped?h.lineTo(q+(0<p.direction?0:S)+("vertical"===l?-r._lineHeight/2:0),k+("vertical"===l?-m/2:m/2-r._lineHeight/2)):0<=n.indexOf("column")||"error"===n&&!p.axisSwapped?h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),k+("vertical"===l?k-m<p.point.y?0:-m:(k-r._lineHeight/2<p.point.y?m:0)-r._lineHeight/2)):0<=n.indexOf("waterfall")?h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),"vertical"===l?0<A&&k<p.point.y?k:0>A&&k-m>p.point.y?k-m:p.point.y:0<A&&k+m-r._lineHeight/2<
335
- p.point.y?k+m-r._lineHeight/2:0>A&&k-r._lineHeight/2>p.point.y?k-r._lineHeight/2:p.point.y):h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),k+("vertical"===l?k-m<p.point.y?0:-m:(k+m-r._lineHeight/2<p.point.y?m:0)-r._lineHeight/2)),h.stroke())}}h={source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],r=pa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),
336
- p.dataSeries.indexLabelBackgroundColor=f(r)?v?"transparent":null:r;return h};l.prototype.renderLine=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var g=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];c.lineWidth=m.lineThickness;var p=m.dataPoints,n="solid";if(c.setLineDash){var q=
337
- Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);c.setLineDash(k)}var z=m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);b.strokeStyle=z;b.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,db=z=m.lineColor=m.options.lineColor?m.options.lineColor:z[0];c.strokeStyle=z;var U=!0,u=0,x,w;c.beginPath();if(0<p.length){for(var l=!1,u=0;u<p.length;u++)if(x=p[u].x.getTime?p[u].x.getTime():p[u].x,!(x<a.axisX.dataInfo.viewPortMin||
338
- x>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!l)))if("number"!==typeof p[u].y)0<u&&!(m.connectNullData||l||U)&&(c.stroke(),v&&b.stroke()),l=!0;else{x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(p[u].y);var t=m.dataPointIds[u];this._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:u,x1:x,y1:w};U||l?(!U&&m.connectNullData?(c.setLineDash&&(m.options.nullDataLineDashType||n===m.lineDashType&&m.lineDashType!==m.nullDataLineDashType)&&(c.stroke(),
339
- c.beginPath(),c.moveTo(f.x,f.y),n=m.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,w),v&&b.lineTo(x,w)):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),l=U=!1):(c.lineTo(x,w),v&&b.lineTo(x,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));f={x:x,y:w};u<p.length-1&&(db!==(p[u].lineColor||z)||n!==(p[u].lineDashType||m.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),db=p[u].lineColor||z,c.strokeStyle=db,c.setLineDash&&(p[u].lineDashType?
340
- (n=p[u].lineDashType,c.setLineDash(Q(n,m.lineThickness))):(n=m.lineDashType,c.setLineDash(k))));if(0!==p[u].markerSize&&(0<p[u].markerSize||0<m.markerSize)){var s=m.getMarkerProperties(u,x,w,c);g.push(s);t=X(t);v&&g.push({x:x,y:w,ctx:b,type:s.type,size:s.size,color:t,borderColor:t,borderThickness:s.borderThickness})}(p[u].indexLabel||m.indexLabel||p[u].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:m,point:{x:x,y:w},direction:0>p[u].y===
341
- a.axisY.reversed?1:-1,color:z})}c.stroke();v&&b.stroke()}}B.drawMarkers(g);v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();
342
- c.beginPath();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStepLine=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var g=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];c.lineWidth=
343
- m.lineThickness;var p=m.dataPoints,n="solid";if(c.setLineDash){var q=Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);c.setLineDash(k)}var z=m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);b.strokeStyle=z;b.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,l=z=m.lineColor=m.options.lineColor?m.options.lineColor:z[0];c.strokeStyle=z;var U=!0,u=0,x,w;c.beginPath();if(0<p.length){for(var t=!1,u=0;u<p.length;u++)if(x=
344
- p[u].getTime?p[u].x.getTime():p[u].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!t)))if("number"!==typeof p[u].y)0<u&&!(m.connectNullData||t||U)&&(c.stroke(),v&&b.stroke()),t=!0;else{var s=w;x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(p[u].y);var G=m.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:u,x1:x,y1:w};U||t?(!U&&m.connectNullData?(c.setLineDash&&(m.options.nullDataLineDashType||
345
- n===m.lineDashType&&m.lineDashType!==m.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),n=m.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,s),c.lineTo(x,w),v&&(b.lineTo(x,s),b.lineTo(x,w))):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),t=U=!1):(c.lineTo(x,s),v&&b.lineTo(x,s),c.lineTo(x,w),v&&b.lineTo(x,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));f={x:x,y:w};u<p.length-1&&(l!==(p[u].lineColor||z)||n!==(p[u].lineDashType||
346
- m.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),l=p[u].lineColor||z,c.strokeStyle=l,c.setLineDash&&(p[u].lineDashType?(n=p[u].lineDashType,c.setLineDash(Q(n,m.lineThickness))):(n=m.lineDashType,c.setLineDash(k))));0!==p[u].markerSize&&(0<p[u].markerSize||0<m.markerSize)&&(s=m.getMarkerProperties(u,x,w,c),g.push(s),G=X(G),v&&g.push({x:x,y:w,ctx:b,type:s.type,size:s.size,color:G,borderColor:G,borderThickness:s.borderThickness}));(p[u].indexLabel||m.indexLabel||p[u].indexLabelFormatter||m.indexLabelFormatter)&&
347
- this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],dataSeries:m,point:{x:x,y:w},direction:0>p[u].y===a.axisY.reversed?1:-1,color:z})}c.stroke();v&&b.stroke()}}B.drawMarkers(g);v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
348
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderSpline=function(a){function h(a){a=t(a,2);if(0<a.length){b.beginPath();v&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&e.moveTo(a[0].x,a[0].y);
349
- for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),v&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&e.stroke()}}
350
- var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var g=this.plotArea;b.beginPath();b.rect(g.x1,g.y1,g.width,g.height);b.clip();for(var f=[],d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];b.lineWidth=m.lineThickness;var p=m.dataPoints,n="solid";if(b.setLineDash){var q=Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);b.setLineDash(k)}var z=
351
- m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);e.strokeStyle=z;e.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,l=z=m.lineColor=m.options.lineColor?m.options.lineColor:z[0];b.strokeStyle=z;var U=0,u,x,w=[];b.beginPath();if(0<p.length)for(x=!1,U=0;U<p.length;U++)if(u=p[U].getTime?p[U].x.getTime():p[U].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!x)))if("number"!==typeof p[U].y)0<U&&!x&&
352
- (m.connectNullData?b.setLineDash&&(0<w.length&&(m.options.nullDataLineDashType||!p[U-1].lineDashType))&&(w[w.length-1].newLineDashArray=q,n=m.nullDataLineDashType):(h(w),w=[])),x=!0;else{u=a.axisX.convertValueToPixel(u);x=a.axisY.convertValueToPixel(p[U].y);var s=m.dataPointIds[U];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:U,x1:u,y1:x};w[w.length]={x:u,y:x};U<p.length-1&&(l!==(p[U].lineColor||z)||n!==(p[U].lineDashType||m.lineDashType))&&(l=p[U].lineColor||
353
- z,w[w.length-1].newStrokeStyle=l,b.setLineDash&&(p[U].lineDashType?(n=p[U].lineDashType,w[w.length-1].newLineDashArray=Q(n,m.lineThickness)):(n=m.lineDashType,w[w.length-1].newLineDashArray=k)));if(0!==p[U].markerSize&&(0<p[U].markerSize||0<m.markerSize)){var Ya=m.getMarkerProperties(U,u,x,b);f.push(Ya);s=X(s);v&&f.push({x:u,y:x,ctx:e,type:Ya.type,size:Ya.size,color:s,borderColor:s,borderThickness:Ya.borderThickness})}(p[U].indexLabel||m.indexLabel||p[U].indexLabelFormatter||m.indexLabelFormatter)&&
354
- this._indexLabels.push({chartType:"spline",dataPoint:p[U],dataSeries:m,point:{x:u,y:x},direction:0>p[U].y===a.axisY.reversed?1:-1,color:z});x=!1}h(w)}B.drawMarkers(f);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
355
- 0,0,this.width,this.height),b.clearRect(g.x1,g.y1,g.width,g.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,f,d,r,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),g=this.options.dataPointMinWidth?
356
- this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/
357
- a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>p&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<g)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));n<g&&(n=g);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
358
- for(p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],k=this.data[q],z=k.dataPoints;if(0<z.length)for(var l=5<n&&k.bevelEnabled?!0:!1,g=0;g<z.length;g++)if(z[g].getTime?r=z[g].x.getTime():r=z[g].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax)&&"number"===typeof z[g].y){f=a.axisX.convertValueToPixel(r);d=a.axisY.convertValueToPixel(z[g].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:f-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+
359
- p)*n<<0;var U=a.axisX.reversed?f-n<<0:f+n<<0,u;if(0<=z[g].y){if(u=m,d>u){var x=d;d=u;u=x}}else u=d,d=m,d>u&&(x=d,d=u,u=x);var x=Math.max(d,e.y1),w=Math.min(u,e.y2),b=z[g].color?z[g].color:k._colorSet[g%k._colorSet.length];P(c,a.axisX.reversed?U:f,x,a.axisX.reversed?f:U,w,b,0,null,l&&(a.axisY.reversed?0>z[g].y:0<=z[g].y),(a.axisY.reversed?0<=z[g].y:0>z[g].y)&&l,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:g,x1:f,
360
- y1:x,x2:U,y2:w};b=X(b);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?U:f,x,a.axisX.reversed?f:U,w,b,0,null,!1,!1,!1,!1);(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:z[g],dataSeries:k,point:{x:f+(U-f)/2,y:0>z[g].y===a.axisY.reversed?d:u},direction:0>z[g].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:U,y2:Math.max(d,u)},color:b})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
361
- c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,
362
- animationBase:m<a.axisY.bounds.y1?a.axisY.bounds.y1:m>a.axisY.bounds.y2?a.axisY.bounds.y2:m}}};l.prototype.renderStackedColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,z=this.options.dataPointMaxWidth?
363
- this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(l)/Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>z&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,z));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
364
- z<m)&&(z=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,m));l<m&&(l=m);l>z&&(l=z);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(z=0;z<a.dataSeriesIndexes.length;z++){var U=a.dataSeriesIndexes[z],u=this.data[U],x=u.dataPoints;if(0<x.length){var w=5<l&&u.bevelEnabled?!0:!1;c.strokeStyle=
365
- "#4572A7 ";for(m=0;m<x.length;m++)if(q=x[m].x.getTime?x[m].x.getTime():x[m].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[m].y){p=a.axisX.convertValueToPixel(q);p=p-a.plotType.plotUnits.length*l/2+a.index*l<<0;var B=p+l<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[m].y)d[q]=x[m].y+(d[q]?d[q]:0),0<d[q]&&(n=a.axisY.convertValueToPixel(d[q]),s="undefined"!==typeof g[q]?g[q]:k,g[q]=n);else if(a.axisY.scaleBreaks&&
366
- 0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[m].y)r[q]=x[m].y+(r[q]?r[q]:0),s=a.axisY.convertValueToPixel(r[q]),n="undefined"!==typeof f[q]?f[q]:k,f[q]=s;else if(n=a.axisY.convertValueToPixel(x[m].y),0<=x[m].y){var t="undefined"!==typeof g[q]?g[q]:0;n-=t;s=k-t;g[q]=t+(s-n)}else t=f[q]?f[q]:0,s=n+t,n=k+t,f[q]=t+(s-n);b=x[m].color?x[m].color:u._colorSet[m%u._colorSet.length];q=Math.max(n,e.y1);t=Math.min(s,e.y2);P(c,p,a.axisY.reversed?t:q,B,a.axisY.reversed?q:t,b,0,null,w&&(a.axisY.reversed?0>
367
- x[m].y:0<=x[m].y),(a.axisY.reversed?0<=x[m].y:0>x[m].y)&&w,!1,!1,u.fillOpacity);b=u.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:U,dataPointIndex:m,x1:p,y1:q,x2:B,y2:t};b=X(b);v&&P(this._eventManager.ghostCtx,p,q,B,t,b,0,null,!1,!1,!1,!1);(x[m].indexLabel||u.indexLabel||x[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:x[m],dataSeries:u,point:{x:p+(B-p)/2,y:0<=x[m].y?n:s},direction:0>x[m].y===
368
- a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(n,s),x2:B,y2:Math.max(n,s)},color:b,cumulativeY:u.dataPointEOs[m].cumulativeY})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,
369
- e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:k<a.axisY.bounds.y1?a.axisY.bounds.y1:k>a.axisY.bounds.y2?a.axisY.bounds.y2:k}}};l.prototype.renderStackedColumn100=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?
370
- a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
371
- 0;this.dataPointMaxWidth&&m>q&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<m)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,m));z<m&&(z=m);z>q&&(z=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
372
- for(var l=0;l<a.dataSeriesIndexes.length;l++){var U=a.dataSeriesIndexes[l],u=this.data[U],x=u.dataPoints;if(0<x.length)for(var w=5<z&&u.bevelEnabled?!0:!1,m=0;m<x.length;m++)if(q=x[m].x.getTime?x[m].x.getTime():x[m].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[m].y){p=a.axisX.convertValueToPixel(q);n=0!==a.dataPointYSums[q]?100*(x[m].y/a.dataPointYSums[q]):0;p=p-a.plotType.plotUnits.length*z/2+a.index*z<<0;var B=p+z<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&
373
- 0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[m].y){d[q]=n+("undefined"!==typeof d[q]?d[q]:0);if(0>=d[q])continue;n=a.axisY.convertValueToPixel(d[q]);s=g[q]?g[q]:k;g[q]=n}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[m].y?(r[q]=n+("undefined"!==typeof r[q]?r[q]:0),s=a.axisY.convertValueToPixel(r[q]),n=f[q]?f[q]:k,f[q]=s):(n=a.axisY.convertValueToPixel(n),0<=x[m].y?(b="undefined"!==typeof g[q]?g[q]:0,n-=b,s=k-b,a.dataSeriesIndexes.length-1===l&&1>=Math.abs(e.y1-n)&&
374
- (n=e.y1),g[q]=b+(s-n)):(b="undefined"!==typeof f[q]?f[q]:0,s=n+b,n=k+b,a.dataSeriesIndexes.length-1===l&&1>=Math.abs(e.y2-s)&&(s=e.y2),f[q]=b+(s-n)));b=x[m].color?x[m].color:u._colorSet[m%u._colorSet.length];P(c,p,a.axisY.reversed?s:n,B,a.axisY.reversed?n:s,b,0,null,w&&(a.axisY.reversed?0>x[m].y:0<=x[m].y),(a.axisY.reversed?0<=x[m].y:0>x[m].y)&&w,!1,!1,u.fillOpacity);b=u.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:U,dataPointIndex:m,x1:p,y1:n,x2:B,
375
- y2:s};b=X(b);v&&P(this._eventManager.ghostCtx,p,n,B,s,b,0,null,!1,!1,!1,!1);(x[m].indexLabel||u.indexLabel||x[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:x[m],dataSeries:u,point:{x:p+(B-p)/2,y:0<=x[m].y?n:s},direction:0>x[m].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(n,s),x2:B,y2:Math.max(n,s)},color:b,yCumulative:100*(u.dataPointEOs[m].cumulativeY/a.dataPointYSums[q])})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,
376
- this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,
377
- animationBase:k<a.axisY.bounds.y1?a.axisY.bounds.y1:k>a.axisY.bounds.y2?a.axisY.bounds.y2:k}}};l.prototype.renderBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,f,d,r,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
378
- this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>p&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&
379
- (this.dataPointMinWidth&&p<g)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));n<g&&(n=g);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],k=this.data[q],z=k.dataPoints;if(0<z.length){var l=5<n&&k.bevelEnabled?
380
- !0:!1;c.strokeStyle="#4572A7 ";for(g=0;g<z.length;g++)if(z[g].getTime?r=z[g].x.getTime():r=z[g].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax)&&"number"===typeof z[g].y){d=a.axisX.convertValueToPixel(r);f=a.axisY.convertValueToPixel(z[g].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:d-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+p)*n<<0;var U=a.axisX.reversed?d-n<<0:d+n<<0,u;0<=z[g].y?u=m:(u=f,f=m);b=z[g].color?z[g].color:
381
- k._colorSet[g%k._colorSet.length];P(c,a.axisY.reversed?f:u,a.axisX.reversed?U:d,a.axisY.reversed?u:f,a.axisX.reversed?d:U,b,0,null,l,!1,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:g,x1:u,y1:d,x2:f,y2:U};b=X(b);v&&P(this._eventManager.ghostCtx,u,a.axisX.reversed?U:d,f,a.axisX.reversed?d:U,b,0,null,!1,!1,!1,!1);(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",
382
- dataPoint:z[g],dataSeries:k,point:{x:0<=z[g].y?f:u,y:d+(U-d)/2},direction:0>z[g].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:U},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
383
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:m<a.axisY.bounds.x1?a.axisY.bounds.x1:m>a.axisY.bounds.x2?a.axisY.bounds.x2:m}}};l.prototype.renderStackedBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=
384
- [],f=[],d=[],r=[],m=0,p,n,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(z)/
385
- Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>k&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<m)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,m));z<m&&(z=m);z>k&&(z=k);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
386
- e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(k=0;k<a.dataSeriesIndexes.length;k++){var l=a.dataSeriesIndexes[k],U=this.data[l],u=U.dataPoints;if(0<u.length){var x=5<z&&U.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(m=0;m<u.length;m++)if(b=u[m].x.getTime?u[m].x.getTime():u[m].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[m].y){n=a.axisX.convertValueToPixel(b);n=n-a.plotType.plotUnits.length*z/2+a.index*z<<0;var w=n+z<<0,B;if(a.axisY.logarithmic||
387
- a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[m].y)d[b]=u[m].y+(d[b]?d[b]:0),0<d[b]&&(B=g[b]?g[b]:q,g[b]=p=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[m].y)r[b]=u[m].y+(r[b]?r[b]:0),p=f[b]?f[b]:q,f[b]=B=a.axisY.convertValueToPixel(r[b]);else if(p=a.axisY.convertValueToPixel(u[m].y),0<=u[m].y){var s=g[b]?g[b]:0;B=q+s;p+=s;g[b]=s+(p-B)}else s=f[b]?f[b]:0,B=p-s,p=q-s,f[b]=s+(p-B);b=u[m].color?u[m].color:U._colorSet[m%
388
- U._colorSet.length];P(c,a.axisY.reversed?p:B,n,a.axisY.reversed?B:p,w,b,0,null,x,!1,!1,!1,U.fillOpacity);b=U.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:B,y1:n,x2:p,y2:w};b=X(b);v&&P(this._eventManager.ghostCtx,B,n,p,w,b,0,null,!1,!1,!1,!1);(u[m].indexLabel||U.indexLabel||u[m].indexLabelFormatter||U.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[m],dataSeries:U,point:{x:0<=u[m].y?p:B,y:n+(w-n)/
389
- 2},direction:0>u[m].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(B,p),y1:n,x2:Math.max(B,p),y2:w},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,
390
- e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};l.prototype.renderStackedBar100=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?
391
- a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
392
- 0;this.dataPointMaxWidth&&m>k&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<m)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,m));z<m&&(z=m);z>k&&(z=k);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
393
- for(k=0;k<a.dataSeriesIndexes.length;k++){var l=a.dataSeriesIndexes[k],B=this.data[l],u=B.dataPoints;if(0<u.length){var x=5<z&&B.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(m=0;m<u.length;m++)if(b=u[m].x.getTime?u[m].x.getTime():u[m].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[m].y){n=a.axisX.convertValueToPixel(b);var w;w=0!==a.dataPointYSums[b]?100*(u[m].y/a.dataPointYSums[b]):0;n=n-a.plotType.plotUnits.length*z/2+a.index*z<<0;var s=n+z<<0;if(a.axisY.logarithmic||
394
- a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[m].y){d[b]=w+(d[b]?d[b]:0);if(0>=d[b])continue;w=g[b]?g[b]:q;g[b]=p=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[m].y)r[b]=w+(r[b]?r[b]:0),p=f[b]?f[b]:q,f[b]=w=a.axisY.convertValueToPixel(r[b]);else if(p=a.axisY.convertValueToPixel(w),0<=u[m].y){var t=g[b]?g[b]:0;w=q+t;p+=t;a.dataSeriesIndexes.length-1===k&&1>=Math.abs(e.x2-p)&&(p=e.x2);g[b]=t+(p-w)}else t=f[b]?
395
- f[b]:0,w=p-t,p=q-t,a.dataSeriesIndexes.length-1===k&&1>=Math.abs(e.x1-w)&&(w=e.x1),f[b]=t+(p-w);b=u[m].color?u[m].color:B._colorSet[m%B._colorSet.length];P(c,a.axisY.reversed?p:w,n,a.axisY.reversed?w:p,s,b,0,null,x,!1,!1,!1,B.fillOpacity);b=B.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:w,y1:n,x2:p,y2:s};b=X(b);v&&P(this._eventManager.ghostCtx,w,n,p,s,b,0,null,!1,!1,!1,!1);(u[m].indexLabel||B.indexLabel||u[m].indexLabelFormatter||
396
- B.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[m],dataSeries:B,point:{x:0<=u[m].y?p:w,y:n+(s-n)/2},direction:0>u[m].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(w,p),y1:n,x2:Math.max(w,p),y2:s},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
397
- this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};l.prototype.renderArea=function(a){var h,c;function b(){A&&(0<k.lineThickness&&g.stroke(),a.axisY.logarithmic||
398
- 0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?t=w:0>a.axisY.viewportMaximum?t=d.y1:0<a.axisY.viewportMinimum&&(t=w),g.lineTo(s,t),g.lineTo(A.x,t),g.closePath(),g.globalAlpha=k.fillOpacity,g.fill(),g.globalAlpha=1,v&&(f.lineTo(s,t),f.lineTo(A.x,t),f.closePath(),f.fill()),g.beginPath(),g.moveTo(s,u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,g=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,
399
- r=[],m=this.plotArea,p;g.save();v&&f.save();g.beginPath();g.rect(m.x1,m.y1,m.width,m.height);g.clip();v&&(f.beginPath(),f.rect(m.x1,m.y1,m.width,m.height),f.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],k=this.data[q],z=k.dataPoints,r=k.id;this._eventManager.objectMap[r]={objectType:"dataSeries",dataSeriesIndex:q};r=X(r);f.fillStyle=r;r=[];h=!0;var l=0,s,u,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),t,A=null;if(0<z.length){var G=
400
- k._colorSet[l%k._colorSet.length],y=k.lineColor=k.options.lineColor||G,D=y;g.fillStyle=G;g.strokeStyle=y;g.lineWidth=k.lineThickness;c="solid";if(g.setLineDash){var N=Q(k.nullDataLineDashType,k.lineThickness);c=k.lineDashType;var V=Q(c,k.lineThickness);g.setLineDash(V)}for(var da=!0;l<z.length;l++)if(x=z[l].x.getTime?z[l].x.getTime():z[l].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!da)))if("number"!==typeof z[l].y)k.connectNullData||(da||h)||b(),da=!0;
401
- else{s=a.axisX.convertValueToPixel(x);u=a.axisY.convertValueToPixel(z[l].y);h||da?(!h&&k.connectNullData?(g.setLineDash&&(k.options.nullDataLineDashType||c===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(h=s,c=u,s=p.x,u=p.y,b(),g.moveTo(p.x,p.y),s=h,u=c,A=p,c=k.nullDataLineDashType,g.setLineDash(N)),g.lineTo(s,u),v&&f.lineTo(s,u)):(g.beginPath(),g.moveTo(s,u),v&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),da=h=!1):(g.lineTo(s,u),v&&f.lineTo(s,u),0==l%250&&b());p={x:s,y:u};l<z.length-1&&
402
- (D!==(z[l].lineColor||y)||c!==(z[l].lineDashType||k.lineDashType))&&(b(),D=z[l].lineColor||y,g.strokeStyle=D,g.setLineDash&&(z[l].lineDashType?(c=z[l].lineDashType,g.setLineDash(Q(c,k.lineThickness))):(c=k.lineDashType,g.setLineDash(V))));var ea=k.dataPointIds[l];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:l,x1:s,y1:u};0!==z[l].markerSize&&(0<z[l].markerSize||0<k.markerSize)&&(x=k.getMarkerProperties(l,s,u,g),r.push(x),ea=X(ea),v&&r.push({x:s,y:u,
403
- ctx:f,type:x.type,size:x.size,color:ea,borderColor:ea,borderThickness:x.borderThickness}));(z[l].indexLabel||k.indexLabel||z[l].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:z[l],dataSeries:k,point:{x:s,y:u},direction:0>z[l].y===a.axisY.reversed?1:-1,color:G})}b();B.drawMarkers(r)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&g.drawImage(a.axisX.maskCanvas,0,0,this.width,
404
- this.height),a.axisY.maskCanvas&&g.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.clearRect(m.x1,m.y1,m.width,m.height),this._eventManager.ghostCtx.restore());g.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderSplineArea=function(a){function h(){var c=t(x,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();
405
- b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var h=0;h<c.length-3;h+=3)if(b.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),v&&e.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),c[h+3].newStrokeStyle||c[h+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[h+3].x,c[h+3].y),c[h+3].newStrokeStyle&&(b.strokeStyle=c[h+3].newStrokeStyle),c[h+3].newLineDashArray&&
406
- b.setLineDash(c[h+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);v&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(h=0;h<c.length-3;h+=3)b.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),v&&e.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=l:0>a.axisY.viewportMaximum?s=g.y1:0<a.axisY.viewportMinimum&&(s=l);u={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,s);b.lineTo(u.x,
407
- s);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;v&&(e.lineTo(c[c.length-1].x,s),e.lineTo(u.x,s),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=a.axisY.lineCoordinates,f=[],d=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var m=
408
- a.dataSeriesIndexes[r],p=this.data[m],n=p.dataPoints,f=p.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:m};f=X(f);e.fillStyle=f;var f=[],q=0,k,z,l=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,u=null,x=[];if(0<n.length){var w=p._colorSet[q%p._colorSet.length],A=p.lineColor=p.options.lineColor||w,y=A;b.fillStyle=w;b.strokeStyle=A;b.lineWidth=p.lineThickness;var G="solid";if(b.setLineDash){var D=Q(p.nullDataLineDashType,p.lineThickness),G=
409
- p.lineDashType,F=Q(G,p.lineThickness);b.setLineDash(F)}for(z=!1;q<n.length;q++)if(k=n[q].x.getTime?n[q].x.getTime():n[q].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!z)))if("number"!==typeof n[q].y)0<q&&!z&&(p.connectNullData?b.setLineDash&&(0<x.length&&(p.options.nullDataLineDashType||!n[q-1].lineDashType))&&(x[x.length-1].newLineDashArray=D,G=p.nullDataLineDashType):(h(),x=[])),z=!0;else{k=a.axisX.convertValueToPixel(k);z=a.axisY.convertValueToPixel(n[q].y);
410
- var N=p.dataPointIds[q];this._eventManager.objectMap[N]={id:N,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:q,x1:k,y1:z};x[x.length]={x:k,y:z};q<n.length-1&&(y!==(n[q].lineColor||A)||G!==(n[q].lineDashType||p.lineDashType))&&(y=n[q].lineColor||A,x[x.length-1].newStrokeStyle=y,b.setLineDash&&(n[q].lineDashType?(G=n[q].lineDashType,x[x.length-1].newLineDashArray=Q(G,p.lineThickness)):(G=p.lineDashType,x[x.length-1].newLineDashArray=F)));if(0!==n[q].markerSize&&(0<n[q].markerSize||0<p.markerSize)){var V=
411
- p.getMarkerProperties(q,k,z,b);f.push(V);N=X(N);v&&f.push({x:k,y:z,ctx:e,type:V.type,size:V.size,color:N,borderColor:N,borderThickness:V.borderThickness})}(n[q].indexLabel||p.indexLabel||n[q].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:n[q],dataSeries:p,point:{x:k,y:z},direction:0>n[q].y===a.axisY.reversed?1:-1,color:w});z=!1}h();B.drawMarkers(f)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
412
- "source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStepArea=
413
- function(a){var h,c;function b(){A&&(0<k.lineThickness&&g.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?t=w:0>a.axisY.viewportMaximum?t=d.y1:0<a.axisY.viewportMinimum&&(t=w),g.lineTo(s,t),g.lineTo(A.x,t),g.closePath(),g.globalAlpha=k.fillOpacity,g.fill(),g.globalAlpha=1,v&&(f.lineTo(s,t),f.lineTo(A.x,t),f.closePath(),f.fill()),g.beginPath(),g.moveTo(s,u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,g=v?this._preRenderCtx:
414
- e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,r=[],m=this.plotArea,p;g.save();v&&f.save();g.beginPath();g.rect(m.x1,m.y1,m.width,m.height);g.clip();v&&(f.beginPath(),f.rect(m.x1,m.y1,m.width,m.height),f.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],k=this.data[q],z=k.dataPoints,r=k.id;this._eventManager.objectMap[r]={objectType:"dataSeries",dataSeriesIndex:q};r=X(r);f.fillStyle=r;r=[];h=!0;var l=0,s,u,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?
415
- a.axisY.viewportMinimum:0),t,A=null;c=!1;if(0<z.length){var G=k._colorSet[l%k._colorSet.length],y=k.lineColor=k.options.lineColor||G,D=y;g.fillStyle=G;g.strokeStyle=y;g.lineWidth=k.lineThickness;var N="solid";if(g.setLineDash){var V=Q(k.nullDataLineDashType,k.lineThickness),N=k.lineDashType,da=Q(N,k.lineThickness);g.setLineDash(da)}for(;l<z.length;l++)if(x=z[l].x.getTime?z[l].x.getTime():z[l].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!c))){var ea=u;"number"!==
416
- typeof z[l].y?(k.connectNullData||(c||h)||b(),c=!0):(s=a.axisX.convertValueToPixel(x),u=a.axisY.convertValueToPixel(z[l].y),h||c?(!h&&k.connectNullData?(g.setLineDash&&(k.options.nullDataLineDashType||N===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(h=s,c=u,s=p.x,u=p.y,b(),g.moveTo(p.x,p.y),s=h,u=c,A=p,N=k.nullDataLineDashType,g.setLineDash(V)),g.lineTo(s,ea),g.lineTo(s,u),v&&(f.lineTo(s,ea),f.lineTo(s,u))):(g.beginPath(),g.moveTo(s,u),v&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),c=
417
- h=!1):(g.lineTo(s,ea),v&&f.lineTo(s,ea),g.lineTo(s,u),v&&f.lineTo(s,u),0==l%250&&b()),p={x:s,y:u},l<z.length-1&&(D!==(z[l].lineColor||y)||N!==(z[l].lineDashType||k.lineDashType))&&(b(),D=z[l].lineColor||y,g.strokeStyle=D,g.setLineDash&&(z[l].lineDashType?(N=z[l].lineDashType,g.setLineDash(Q(N,k.lineThickness))):(N=k.lineDashType,g.setLineDash(da)))),x=k.dataPointIds[l],this._eventManager.objectMap[x]={id:x,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:l,x1:s,y1:u},0!==z[l].markerSize&&(0<
418
- z[l].markerSize||0<k.markerSize)&&(ea=k.getMarkerProperties(l,s,u,g),r.push(ea),x=X(x),v&&r.push({x:s,y:u,ctx:f,type:ea.type,size:ea.size,color:x,borderColor:x,borderThickness:ea.borderThickness})),(z[l].indexLabel||k.indexLabel||z[l].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:z[l],dataSeries:k,point:{x:s,y:u},direction:0>z[l].y===a.axisY.reversed?1:-1,color:G}))}b();B.drawMarkers(r)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
419
- g.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&g.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&g.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.clearRect(m.x1,m.y1,m.width,m.height),this._eventManager.ghostCtx.restore());g.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};
420
- l.prototype.renderStackedArea=function(a){function h(){if(!(1>m.length)){for(0<G.lineThickness&&b.stroke();0<m.length;){var a=m.pop();b.lineTo(a.x,a.y);v&&s.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=G.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(s.closePath(),s.fill(),s.beginPath());m=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=null,f=[],d=this.plotArea,r=[],m=[],p=[],n=[],q=0,k,z,l=a.axisY.convertValueToPixel(a.axisY.logarithmic?
421
- a.axisY.viewportMinimum:0),s=this._eventManager.ghostCtx,u,x,w;v&&s.beginPath();b.save();v&&s.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(s.beginPath(),s.rect(d.x1,d.y1,d.width,d.height),s.clip());for(var e=[],t=0;t<a.dataSeriesIndexes.length;t++){var A=a.dataSeriesIndexes[t],G=this.data[A],y=G.dataPoints;G.dataPointIndexes=[];for(q=0;q<y.length;q++)A=y[q].x.getTime?y[q].x.getTime():y[q].x,G.dataPointIndexes[A]=q,e[A]||(p.push(A),e[A]=!0);p.sort($a)}for(t=0;t<a.dataSeriesIndexes.length;t++){A=
422
- a.dataSeriesIndexes[t];G=this.data[A];y=G.dataPoints;x=!0;m=[];q=G.id;this._eventManager.objectMap[q]={objectType:"dataSeries",dataSeriesIndex:A};q=X(q);s.fillStyle=q;if(0<p.length){var e=G._colorSet[0],D=G.lineColor=G.options.lineColor||e,N=D;b.fillStyle=e;b.strokeStyle=D;b.lineWidth=G.lineThickness;w="solid";if(b.setLineDash){var V=Q(G.nullDataLineDashType,G.lineThickness);w=G.lineDashType;var da=Q(w,G.lineThickness);b.setLineDash(da)}for(var ea=!0,q=0;q<p.length;q++){var g=p[q],la=null,la=0<=G.dataPointIndexes[g]?
423
- y[G.dataPointIndexes[g]]:{x:g,y:null};if(!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax&&(!G.connectNullData||!ea)))if("number"!==typeof la.y)G.connectNullData||(ea||x)||h(),ea=!0;else{k=a.axisX.convertValueToPixel(g);var va=r[g]?r[g]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){n[g]=la.y+(n[g]?n[g]:0);if(0>=n[g]&&a.axisY.logarithmic)continue;z=a.axisY.convertValueToPixel(n[g])}else z=a.axisY.convertValueToPixel(la.y),z-=va;m.push({x:k,
424
- y:l-va});r[g]=l-z;x||ea?(!x&&G.connectNullData?(b.setLineDash&&(G.options.nullDataLineDashType||w===G.lineDashType&&G.lineDashType!==G.nullDataLineDashType)&&(x=m.pop(),w=m[m.length-1],h(),b.moveTo(u.x,u.y),m.push(w),m.push(x),w=G.nullDataLineDashType,b.setLineDash(V)),b.lineTo(k,z),v&&s.lineTo(k,z)):(b.beginPath(),b.moveTo(k,z),v&&(s.beginPath(),s.moveTo(k,z))),ea=x=!1):(b.lineTo(k,z),v&&s.lineTo(k,z),0==q%250&&(h(),b.moveTo(k,z),v&&s.moveTo(k,z),m.push({x:k,y:l-va})));u={x:k,y:z};q<y.length-1&&
425
- (N!==(y[q].lineColor||D)||w!==(y[q].lineDashType||G.lineDashType))&&(h(),b.beginPath(),b.moveTo(k,z),m.push({x:k,y:l-va}),N=y[q].lineColor||D,b.strokeStyle=N,b.setLineDash&&(y[q].lineDashType?(w=y[q].lineDashType,b.setLineDash(Q(w,G.lineThickness))):(w=G.lineDashType,b.setLineDash(da))));if(0<=G.dataPointIndexes[g]){var ia=G.dataPointIds[G.dataPointIndexes[g]];this._eventManager.objectMap[ia]={id:ia,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:G.dataPointIndexes[g],x1:k,y1:z}}0<=G.dataPointIndexes[g]&&
426
- 0!==la.markerSize&&(0<la.markerSize||0<G.markerSize)&&(va=G.getMarkerProperties(G.dataPointIndexes[g],k,z,b),f.push(va),g=X(ia),v&&f.push({x:k,y:z,ctx:s,type:va.type,size:va.size,color:g,borderColor:g,borderThickness:va.borderThickness}));(la.indexLabel||G.indexLabel||la.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:la,dataSeries:G,point:{x:k,y:z},direction:0>la.y===a.axisY.reversed?1:-1,color:e})}}h();b.moveTo(k,z);v&&s.moveTo(k,z)}delete G.dataPointIndexes}B.drawMarkers(f);
427
- v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),s.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,
428
- easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStackedArea100=function(a){function h(){for(0<G.lineThickness&&b.stroke();0<m.length;){var a=m.pop();b.lineTo(a.x,a.y);v&&w.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=G.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(w.closePath(),w.fill(),w.beginPath());m=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=null,f=this.plotArea,d=[],r=[],m=[],p=[],n=[],q=
429
- 0,k,z,l,s,u,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w=this._eventManager.ghostCtx;b.save();v&&w.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();v&&(w.beginPath(),w.rect(f.x1,f.y1,f.width,f.height),w.clip());for(var e=[],t=0;t<a.dataSeriesIndexes.length;t++){var A=a.dataSeriesIndexes[t],G=this.data[A],y=G.dataPoints;G.dataPointIndexes=[];for(q=0;q<y.length;q++)A=y[q].x.getTime?y[q].x.getTime():y[q].x,G.dataPointIndexes[A]=q,e[A]||(p.push(A),e[A]=
430
- !0);p.sort($a)}for(t=0;t<a.dataSeriesIndexes.length;t++){A=a.dataSeriesIndexes[t];G=this.data[A];y=G.dataPoints;s=!0;e=G.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:A};e=X(e);w.fillStyle=e;m=[];if(0<p.length){var e=G._colorSet[q%G._colorSet.length],D=G.lineColor=G.options.lineColor||e,N=D;b.fillStyle=e;b.strokeStyle=D;b.lineWidth=G.lineThickness;u="solid";if(b.setLineDash){var V=Q(G.nullDataLineDashType,G.lineThickness);u=G.lineDashType;var da=Q(u,G.lineThickness);
431
- b.setLineDash(da)}for(var ea=!0,q=0;q<p.length;q++){var g=p[q],la=null,la=0<=G.dataPointIndexes[g]?y[G.dataPointIndexes[g]]:{x:g,y:null};if(!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax&&(!G.connectNullData||!ea)))if("number"!==typeof la.y)G.connectNullData||(ea||s)||h(),ea=!0;else{var va;va=0!==a.dataPointYSums[g]?100*(la.y/a.dataPointYSums[g]):0;k=a.axisX.convertValueToPixel(g);var ia=r[g]?r[g]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){n[g]=
432
- va+(n[g]?n[g]:0);if(0>=n[g]&&a.axisY.logarithmic)continue;z=a.axisY.convertValueToPixel(n[g])}else z=a.axisY.convertValueToPixel(va),z-=ia;m.push({x:k,y:x-ia});r[g]=x-z;s||ea?(!s&&G.connectNullData?(b.setLineDash&&(G.options.nullDataLineDashType||u===G.lineDashType&&G.lineDashType!==G.nullDataLineDashType)&&(s=m.pop(),u=m[m.length-1],h(),b.moveTo(l.x,l.y),m.push(u),m.push(s),u=G.nullDataLineDashType,b.setLineDash(V)),b.lineTo(k,z),v&&w.lineTo(k,z)):(b.beginPath(),b.moveTo(k,z),v&&(w.beginPath(),w.moveTo(k,
433
- z))),ea=s=!1):(b.lineTo(k,z),v&&w.lineTo(k,z),0==q%250&&(h(),b.moveTo(k,z),v&&w.moveTo(k,z),m.push({x:k,y:x-ia})));l={x:k,y:z};q<y.length-1&&(N!==(y[q].lineColor||D)||u!==(y[q].lineDashType||G.lineDashType))&&(h(),b.beginPath(),b.moveTo(k,z),m.push({x:k,y:x-ia}),N=y[q].lineColor||D,b.strokeStyle=N,b.setLineDash&&(y[q].lineDashType?(u=y[q].lineDashType,b.setLineDash(Q(u,G.lineThickness))):(u=G.lineDashType,b.setLineDash(da))));if(0<=G.dataPointIndexes[g]){var I=G.dataPointIds[G.dataPointIndexes[g]];
434
- this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:G.dataPointIndexes[g],x1:k,y1:z}}0<=G.dataPointIndexes[g]&&0!==la.markerSize&&(0<la.markerSize||0<G.markerSize)&&(ia=G.getMarkerProperties(G.dataPointIndexes[g],k,z,b),d.push(ia),g=X(I),v&&d.push({x:k,y:z,ctx:w,type:ia.type,size:ia.size,color:g,borderColor:g,borderThickness:ia.borderThickness}));(la.indexLabel||G.indexLabel||la.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",
435
- dataPoint:la,dataSeries:G,point:{x:k,y:z},direction:0>la.y===a.axisY.reversed?1:-1,color:e})}}h();b.moveTo(k,z);v&&w.moveTo(k,z)}delete G.dataPointIndexes}B.drawMarkers(d);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
436
- 0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),w.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderBubble=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,g,f;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
437
- this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,r=Infinity,m=0;m<a.dataSeriesIndexes.length;m++)for(var p=a.dataSeriesIndexes[m],n=this.data[p],q=n.dataPoints,k=0,e=0;e<q.length;e++)g=q[e].getTime?g=q[e].x.getTime():g=q[e].x,g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax||"undefined"===typeof q[e].z||(k=q[e].z,k>d&&(d=k),k<r&&(r=k));for(var z=25*Math.PI,l=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,
438
- z),m=0;m<a.dataSeriesIndexes.length;m++)if(p=a.dataSeriesIndexes[m],n=this.data[p],q=n.dataPoints,0<q.length)for(c.strokeStyle="#4572A7 ",e=0;e<q.length;e++)if(g=q[e].getTime?g=q[e].x.getTime():g=q[e].x,!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){g=a.axisX.convertValueToPixel(g);f=a.axisY.convertValueToPixel(q[e].y);var k=q[e].z,s=2*Math.max(Math.sqrt((d===r?l/2:z+(l-z)/(d-r)*(k-r))/Math.PI)<<0,1),k=n.getMarkerProperties(e,c);k.size=s;c.globalAlpha=
439
- n.fillOpacity;B.drawMarker(g,f,c,k.type,k.size,k.color,k.borderColor,k.borderThickness);c.globalAlpha=1;var u=n.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:e,x1:g,y1:f,size:s};s=X(u);v&&B.drawMarker(g,f,this._eventManager.ghostCtx,k.type,k.size,s,s,k.borderThickness);(q[e].indexLabel||n.indexLabel||q[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:q[e],dataSeries:n,point:{x:g,y:f},
440
- direction:1,bounds:{x1:g-k.size/2,y1:f-k.size/2,x2:g+k.size/2,y2:f+k.size/2},color:null})}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());
441
- c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderScatter=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,g,f;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,
442
- b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r],p=m.dataPoints;if(0<p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var n=0,q=0,e=0;e<p.length;e++)if(g=p[e].getTime?g=p[e].x.getTime():g=p[e].x,!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[e].y){g=a.axisX.convertValueToPixel(g);f=a.axisY.convertValueToPixel(p[e].y);var k=m.getMarkerProperties(e,
443
- g,f,c);c.globalAlpha=m.fillOpacity;B.drawMarker(k.x,k.y,k.ctx,k.type,k.size,k.color,k.borderColor,k.borderThickness);c.globalAlpha=1;Math.sqrt((n-g)*(n-g)+(q-f)*(q-f))<Math.min(k.size,5)&&p.length>Math.min(this.plotArea.width,this.plotArea.height)||(n=m.dataPointIds[e],this._eventManager.objectMap[n]={id:n,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:e,x1:g,y1:f},n=X(n),v&&B.drawMarker(k.x,k.y,this._eventManager.ghostCtx,k.type,k.size,n,n,k.borderThickness),(p[e].indexLabel||m.indexLabel||
444
- p[e].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:p[e],dataSeries:m,point:{x:g,y:f},direction:1,bounds:{x1:g-k.size/2,y1:f-k.size/2,x2:g+k.size/2,y2:f+k.size/2},color:null}),n=g,q=f)}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
445
- this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderCandlestick=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=
446
- null,g=null,d=this.plotArea,r=0,s,m,p,n,q,k,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,g=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))<<0;
447
- this.dataPointMaxWidth&&e>g&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,g));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&g<e)&&(g=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));z<e&&(z=e);z>g&&(z=g);c.save();v&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var l=0;l<a.dataSeriesIndexes.length;l++){var B=a.dataSeriesIndexes[l],u=this.data[B],x=u.dataPoints;
448
- if(0<x.length)for(var w=5<z&&u.bevelEnabled?!0:!1,r=0;r<x.length;r++)if(x[r].getTime?k=x[r].x.getTime():k=x[r].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!f(x[r].y)&&x[r].y.length&&"number"===typeof x[r].y[0]&&"number"===typeof x[r].y[1]&&"number"===typeof x[r].y[2]&&"number"===typeof x[r].y[3]){s=a.axisX.convertValueToPixel(k);m=a.axisY.convertValueToPixel(x[r].y[0]);p=a.axisY.convertValueToPixel(x[r].y[1]);n=a.axisY.convertValueToPixel(x[r].y[2]);q=a.axisY.convertValueToPixel(x[r].y[3]);
449
- var t=s-z/2<<0,A=t+z<<0,g=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=x[r].color?x[r].color:u._colorSet[0],G=Math.round(Math.max(1,0.15*z)),y=0===G%2?0:0.5,D=u.dataPointIds[r];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:r,x1:t,y1:m,x2:A,y2:p,x3:s,y3:n,x4:s,y4:q,borderThickness:G,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=G;b.lineWidth=Math.max(G,4);"candlestick"===u.type?(c.moveTo(s-y,p),c.lineTo(s-y,Math.min(m,q)),c.stroke(),c.moveTo(s-
450
- y,Math.max(m,q)),c.lineTo(s-y,n),c.stroke(),P(c,t,Math.min(m,q),A,Math.max(m,q),x[r].y[0]<=x[r].y[3]?u.risingColor:g,G,e,w,w,!1,!1,u.fillOpacity),v&&(e=X(D),b.strokeStyle=e,b.moveTo(s-y,p),b.lineTo(s-y,Math.min(m,q)),b.stroke(),b.moveTo(s-y,Math.max(m,q)),b.lineTo(s-y,n),b.stroke(),P(b,t,Math.min(m,q),A,Math.max(m,q),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(c.moveTo(s-y,p),c.lineTo(s-y,n),c.stroke(),c.beginPath(),c.moveTo(s,m),c.lineTo(t,m),c.stroke(),c.beginPath(),c.moveTo(s,q),c.lineTo(A,q),c.stroke(),
451
- v&&(e=X(D),b.strokeStyle=e,b.moveTo(s-y,p),b.lineTo(s-y,n),b.stroke(),b.beginPath(),b.moveTo(s,m),b.lineTo(t,m),b.stroke(),b.beginPath(),b.moveTo(s,q),b.lineTo(A,q),b.stroke()));(x[r].indexLabel||u.indexLabel||x[r].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:x[r],dataSeries:u,point:{x:t+(A-t)/2,y:a.axisY.reversed?n:p},direction:1,bounds:{x1:t,y1:Math.min(p,n),x2:A,y2:Math.max(p,n)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,
452
- this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};
453
- l.prototype.renderBoxAndWhisker=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=this.plotArea,d=0,r,s,m,p,n,q,k,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));
454
- z=this.options.dataPointWidth?this.dataPointWidth:0.7*g.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));z<e&&(z=e);z>d&&(z=d);c.save();v&&b.save();c.beginPath();c.rect(g.x1,g.y1,g.width,g.height);c.clip();v&&(b.beginPath(),
455
- b.rect(g.x1,g.y1,g.width,g.height),b.clip());for(var l=!1,l=!!a.axisY.reversed,B=0;B<a.dataSeriesIndexes.length;B++){var u=a.dataSeriesIndexes[B],x=this.data[u],w=x.dataPoints;if(0<w.length)for(var t=5<z&&x.bevelEnabled?!0:!1,d=0;d<w.length;d++)if(w[d].getTime?k=w[d].x.getTime():k=w[d].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!f(w[d].y)&&w[d].y.length&&"number"===typeof w[d].y[0]&&"number"===typeof w[d].y[1]&&"number"===typeof w[d].y[2]&&"number"===typeof w[d].y[3]&&"number"===
456
- typeof w[d].y[4]&&5===w[d].y.length){r=a.axisX.convertValueToPixel(k);s=a.axisY.convertValueToPixel(w[d].y[0]);m=a.axisY.convertValueToPixel(w[d].y[1]);p=a.axisY.convertValueToPixel(w[d].y[2]);n=a.axisY.convertValueToPixel(w[d].y[3]);q=a.axisY.convertValueToPixel(w[d].y[4]);var A=r-z/2<<0,y=r+z/2<<0,e=w[d].color?w[d].color:x._colorSet[0],D=Math.round(Math.max(1,0.15*z)),F=0===D%2?0:0.5,N=w[d].whiskerColor?w[d].whiskerColor:w[d].color?x.whiskerColor?x.whiskerColor:w[d].color:x.whiskerColor?x.whiskerColor:
457
- e,V="number"===typeof w[d].whiskerThickness?w[d].whiskerThickness:"number"===typeof x.options.whiskerThickness?x.whiskerThickness:D,da=w[d].whiskerDashType?w[d].whiskerDashType:x.whiskerDashType,ea=f(w[d].whiskerLength)?f(x.options.whiskerLength)?z:x.whiskerLength:w[d].whiskerLength,ea="number"===typeof ea?0>=ea?0:ea>=z?z:ea:"string"===typeof ea?parseInt(ea)*z/100>z?z:parseInt(ea)*z/100:z,la=1===Math.round(V)%2?0.5:0,va=w[d].stemColor?w[d].stemColor:w[d].color?x.stemColor?x.stemColor:w[d].color:x.stemColor?
458
- x.stemColor:e,ia="number"===typeof w[d].stemThickness?w[d].stemThickness:"number"===typeof x.options.stemThickness?x.stemThickness:D,I=1===Math.round(ia)%2?0.5:0,H=w[d].stemDashType?w[d].stemDashType:x.stemDashType,M=w[d].lineColor?w[d].lineColor:w[d].color?x.lineColor?x.lineColor:w[d].color:x.lineColor?x.lineColor:e,L="number"===typeof w[d].lineThickness?w[d].lineThickness:"number"===typeof x.options.lineThickness?x.lineThickness:D,R=w[d].lineDashType?w[d].lineDashType:x.lineDashType,ba=1===Math.round(L)%
459
- 2?0.5:0,Z=x.upperBoxColor,yb=x.lowerBoxColor,ya=f(x.options.fillOpacity)?1:x.fillOpacity,O=x.dataPointIds[d];this._eventManager.objectMap[O]={id:O,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:A,y1:s,x2:y,y2:m,x3:r,y3:p,x4:r,y4:n,y5:q,borderThickness:D,color:e,stemThickness:ia,stemColor:va,whiskerThickness:V,whiskerLength:ea,whiskerColor:N,lineThickness:L,lineColor:M};c.save();0<ia&&(c.beginPath(),c.strokeStyle=va,c.lineWidth=ia,c.setLineDash&&c.setLineDash(Q(H,ia)),c.moveTo(r-I,m),
460
- c.lineTo(r-I,s),c.stroke(),c.moveTo(r-I,n),c.lineTo(r-I,p),c.stroke());c.restore();b.lineWidth=Math.max(D,4);c.beginPath();P(c,A,Math.max(Math.min(q,m),g.y1-D/2),y,Math.min(Math.max(m,q),g.y2+D/2),yb,0,e,l?t:!1,l?!1:t,!1,!1,ya);c.beginPath();P(c,A,Math.max(Math.min(p,q),g.y1-D/2),y,Math.min(Math.max(q,p),g.y2+D/2),Z,0,e,l?!1:t,l?t:!1,!1,!1,ya);c.beginPath();c.lineWidth=D;c.strokeStyle=e;c.rect(A-F,Math.max(Math.min(m,p)-F,g.y1-D/2),y-A+2*F,Math.min(Math.max(m,p),g.y2+D/2)-Math.max(Math.min(m,p)-F,
461
- g.y1-D/2)+2*F);c.stroke();c.save();0<L&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(Q(R,L)),c.strokeStyle=M,c.lineWidth=L,c.moveTo(A,q-ba),c.lineTo(y,q-ba),c.stroke());c.restore();c.save();0<V&&(c.beginPath(),c.setLineDash&&c.setLineDash(Q(da,V)),c.strokeStyle=N,c.lineWidth=V,c.moveTo(r-ea/2<<0,n-la),c.lineTo(r+ea/2<<0,n-la),c.stroke(),c.moveTo(r-ea/2<<0,s+la),c.lineTo(r+ea/2<<0,s+la),c.stroke());c.restore();v&&(e=X(O),b.strokeStyle=e,b.lineWidth=ia,0<ia&&(b.moveTo(r-F-I,m),b.lineTo(r-
462
- F-I,Math.max(s,n)),b.stroke(),b.moveTo(r-F-I,Math.min(s,n)),b.lineTo(r-F-I,p),b.stroke()),P(b,A,Math.max(m,p),y,Math.min(m,p),e,0,null,!1,!1,!1,!1),0<V&&(b.beginPath(),b.lineWidth=V,b.moveTo(r+ea/2,n-la),b.lineTo(r-ea/2,n-la),b.stroke(),b.moveTo(r+ea/2,s+la),b.lineTo(r-ea/2,s+la),b.stroke()));(w[d].indexLabel||x.indexLabel||w[d].indexLabelFormatter||x.indexLabelFormatter)&&this._indexLabels.push({chartType:x.type,dataPoint:w[d],dataSeries:x,point:{x:A+(y-A)/2,y:a.axisY.reversed?s:n},direction:1,bounds:{x1:A,
463
- y1:Math.min(s,n),x2:y,y2:Math.max(s,n)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(g.x1,g.y1,g.width,g.height),b.restore());c.restore();return{source:h,
464
- dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,d,r,s,g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
465
- 0.03*this.width;var m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>d&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<g)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,
466
- g));m<g&&(m=g);m>d&&(m=d);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var n=a.dataSeriesIndexes[p],q=this.data[n],k=q.dataPoints;if(0<k.length)for(var z=5<m&&q.bevelEnabled?!0:!1,g=0;g<k.length;g++)if(k[g].getTime?s=k[g].x.getTime():s=k[g].x,!(s<a.axisX.dataInfo.viewPortMin||
467
- s>a.axisX.dataInfo.viewPortMax)&&!f(k[g].y)&&k[g].y.length&&"number"===typeof k[g].y[0]&&"number"===typeof k[g].y[1]){b=a.axisX.convertValueToPixel(s);d=a.axisY.convertValueToPixel(k[g].y[0]);r=a.axisY.convertValueToPixel(k[g].y[1]);var l=a.axisX.reversed?b+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+p)*m<<0:b-a.plotType.totalDataSeries*m/2+(a.previousDataSeriesCount+p)*m<<0,B=a.axisX.reversed?l-m<<0:l+m<<0,b=k[g].color?k[g].color:q._colorSet[g%q._colorSet.length];if(d>r){var u=d;d=
468
- r;r=u}var u=Math.max(d,e.y1),x=Math.min(r,e.y2),w=q.dataPointIds[g];this._eventManager.objectMap[w]={id:w,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:g,x1:l,y1:u,x2:B,y2:x};P(c,a.axisX.reversed?B:l,u,a.axisX.reversed?l:B,x,b,0,b,z,z,!1,!1,q.fillOpacity);b=X(w);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?B:l,u,a.axisX.reversed?l:B,x,b,0,null,!1,!1,!1,!1);if(k[g].indexLabel||q.indexLabel||k[g].indexLabelFormatter||q.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",
469
- dataPoint:k[g],dataSeries:q,indexKeyword:0,point:{x:l+(B-l)/2,y:k[g].y[1]>=k[g].y[0]?r:d},direction:k[g].y[1]>=k[g].y[0]?-1:1,bounds:{x1:l,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:k[g],dataSeries:q,indexKeyword:1,point:{x:l+(B-l)/2,y:k[g].y[1]>=k[g].y[0]?d:r},direction:k[g].y[1]>=k[g].y[0]?1:-1,bounds:{x1:l,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation=
470
- "source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderError=
471
- function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=!1,d=this.plotArea,r=0,s,m,p,n,q,k,z,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,
472
- d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var B=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&B||B++;for(var x=0;x<a.dataSeriesIndexes.length;x++){var w=a.dataSeriesIndexes[x],t=this.data[w],y=t.dataPoints,G=f(t._linkedSeries)?!1:t._linkedSeries.type.match(/(bar|column)/ig)&&t._linkedSeries.visible?!0:!1,D=0;if(G)for(e=t._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||
473
- !this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&D||(this.data[u].type.match(/(range)/ig)&&(g=!0),D++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?B:1)))<<0:0.3*this.width;g&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
474
- b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?B:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(l)/Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))/(G?B:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&
475
- (u=e);u>r&&(u=r);if(0<y.length)for(var F=t._colorSet,r=0;r<y.length;r++){var e=t.lineColor=t.options.color?t.options.color:F[0],N={color:y[r].whiskerColor?y[r].whiskerColor:y[r].color?t.whiskerColor?t.whiskerColor:y[r].color:t.whiskerColor?t.whiskerColor:e,thickness:f(y[r].whiskerThickness)?t.whiskerThickness:y[r].whiskerThickness,dashType:y[r].whiskerDashType?y[r].whiskerDashType:t.whiskerDashType,length:f(y[r].whiskerLength)?f(t.options.whiskerLength)?u:t.options.whiskerLength:y[r].whiskerLength,
476
- trimLength:f(y[r].whiskerLength)?f(t.options.whiskerLength)?50:0:0};N.length="number"===typeof N.length?0>=N.length?0:N.length>=u?u:N.length:"string"===typeof N.length?parseInt(N.length)*u/100>u?u:parseInt(N.length)*u/100>u:u;N.thickness="number"===typeof N.thickness?0>N.thickness?0:Math.round(N.thickness):2;var V={color:y[r].stemColor?y[r].stemColor:y[r].color?t.stemColor?t.stemColor:y[r].color:t.stemColor?t.stemColor:e,thickness:y[r].stemThickness?y[r].stemThickness:t.stemThickness,dashType:y[r].stemDashType?
477
- y[r].stemDashType:t.stemDashType};V.thickness="number"===typeof V.thickness?0>V.thickness?0:Math.round(V.thickness):2;y[r].getTime?z=y[r].x.getTime():z=y[r].x;if(!(z<a.axisX.dataInfo.viewPortMin||z>a.axisX.dataInfo.viewPortMax)&&!f(y[r].y)&&y[r].y.length&&"number"===typeof y[r].y[0]&&"number"===typeof y[r].y[1]){var da=a.axisX.convertValueToPixel(z);b?m=da:s=da;da=a.axisY.convertValueToPixel(y[r].y[0]);b?p=da:q=da;da=a.axisY.convertValueToPixel(y[r].y[1]);b?n=da:k=da;b?(q=a.axisX.reversed?m+(G?B:
478
- 1)*u/2-(G?D-1:0)*u<<0:m-(G?B:1)*u/2+(G?D-1:0)*u<<0,k=a.axisX.reversed?q-u<<0:q+u<<0):(p=a.axisX.reversed?s+(G?B:1)*u/2-(G?D-1:0)*u<<0:s-(G?B:1)*u/2+(G?D-1:0)*u<<0,n=a.axisX.reversed?p-u<<0:p+u<<0);!b&&q>k&&(da=q,q=k,k=da);b&&p>n&&(da=p,p=n,n=da);da=t.dataPointIds[r];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:w,dataPointIndex:r,x1:Math.min(p,n),y1:Math.min(q,k),x2:Math.max(n,p),y2:Math.max(k,q),isXYSwapped:b,stemProperties:V,whiskerProperties:N};A(c,Math.min(p,n),
479
- Math.min(q,k),Math.max(n,p),Math.max(k,q),e,N,V,b);v&&A(this._eventManager.ghostCtx,p,q,n,k,e,N,V,b);if(y[r].indexLabel||t.indexLabel||y[r].indexLabelFormatter||t.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:t,indexKeyword:0,point:{x:b?y[r].y[1]>=y[r].y[0]?p:n:p+(n-p)/2,y:b?q+(k-q)/2:y[r].y[1]>=y[r].y[0]?k:q},direction:y[r].y[1]>=y[r].y[0]?-1:1,bounds:{x1:b?Math.min(p,n):p,y1:b?q:Math.min(q,k),x2:b?Math.max(p,n):n,y2:b?k:Math.max(q,k)},color:e,axisSwapped:b}),
480
- this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:t,indexKeyword:1,point:{x:b?y[r].y[1]>=y[r].y[0]?n:p:p+(n-p)/2,y:b?q+(k-q)/2:y[r].y[1]>=y[r].y[0]?q:k},direction:y[r].y[1]>=y[r].y[0]?1:-1,bounds:{x1:b?Math.min(p,n):p,y1:b?q:Math.min(q,k),x2:b?Math.max(p,n):n,y2:b?k:Math.max(q,k)},color:e,axisSwapped:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
481
- a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:
482
- h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,d,r,s,m,g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*
483
- (e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>d&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<g)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));p<g&&(p=g);p>d&&(p=d);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
484
- this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],k=this.data[q],z=k.dataPoints;if(0<z.length){var l=5<p&&k.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(g=0;g<z.length;g++)if(z[g].getTime?m=z[g].x.getTime():m=z[g].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax)&&!f(z[g].y)&&z[g].y.length&&"number"===typeof z[g].y[0]&&"number"===typeof z[g].y[1]){d=a.axisY.convertValueToPixel(z[g].y[0]);
485
- r=a.axisY.convertValueToPixel(z[g].y[1]);s=a.axisX.convertValueToPixel(m);s=a.axisX.reversed?s+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+n)*p<<0:s-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+n)*p<<0;var t=a.axisX.reversed?s-p<<0:s+p<<0;d>r&&(b=d,d=r,r=b);b=z[g].color?z[g].color:k._colorSet[g%k._colorSet.length];P(c,d,a.axisX.reversed?t:s,r,a.axisX.reversed?s:t,b,0,null,l,!1,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",
486
- dataSeriesIndex:q,dataPointIndex:g,x1:d,y1:s,x2:r,y2:t};b=X(b);v&&P(this._eventManager.ghostCtx,d,a.axisX.reversed?t:s,r,a.axisX.reversed?s:t,b,0,null,!1,!1,!1,!1);if(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:z[g],dataSeries:k,indexKeyword:0,point:{x:z[g].y[1]>=z[g].y[0]?d:r,y:s+(t-s)/2},direction:z[g].y[1]>=z[g].y[0]?-1:1,bounds:{x1:Math.min(d,r),y1:s,x2:Math.max(d,r),y2:t},color:b}),this._indexLabels.push({chartType:"rangeBar",
487
- dataPoint:z[g],dataSeries:k,indexKeyword:1,point:{x:z[g].y[1]>=z[g].y[0]?r:d,y:s+(t-s)/2},direction:z[g].y[1]>=z[g].y[0]?1:-1,bounds:{x1:Math.min(d,r),y1:s,x2:Math.max(d,r),y2:t},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
488
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeArea=function(a){function h(){if(x){for(var a=null,c=r.length-1;0<=c;c--)a=r[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<p.lineThickness){b.beginPath();
489
- b.moveTo(a.x,a.y2);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y2);b.moveTo(r[0].x,r[0].y1);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(s,l);e.beginPath();e.moveTo(s,l);x={x:s,y:l};r=[];r.push({x:s,y1:l,y2:t})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=[],d=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),
490
- e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var r=[],m=a.dataSeriesIndexes[f],p=this.data[m],n=p.dataPoints,g=p.id;this._eventManager.objectMap[g]={objectType:"dataSeries",dataSeriesIndex:m};g=X(g);e.fillStyle=g;var g=[],q=!0,k=0,s,l,t,u,x=null;if(0<n.length){var w=p._colorSet[k%p._colorSet.length],y=p.lineColor=p.options.lineColor||w,A=y;b.fillStyle=w;b.strokeStyle=y;b.lineWidth=p.lineThickness;var G="solid";if(b.setLineDash){var D=Q(p.nullDataLineDashType,
491
- p.lineThickness),G=p.lineDashType,F=Q(G,p.lineThickness);b.setLineDash(F)}for(var N=!0;k<n.length;k++)if(u=n[k].x.getTime?n[k].x.getTime():n[k].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!N)))if(null!==n[k].y&&n[k].y.length&&"number"===typeof n[k].y[0]&&"number"===typeof n[k].y[1]){s=a.axisX.convertValueToPixel(u);l=a.axisY.convertValueToPixel(n[k].y[0]);t=a.axisY.convertValueToPixel(n[k].y[1]);q||N?(p.connectNullData&&!q?(b.setLineDash&&(p.options.nullDataLineDashType||
492
- G===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(r[r.length-1].newLineDashArray=F,G=p.nullDataLineDashType,b.setLineDash(D)),b.lineTo(s,l),v&&e.lineTo(s,l),r.push({x:s,y1:l,y2:t})):(b.beginPath(),b.moveTo(s,l),x={x:s,y:l},r=[],r.push({x:s,y1:l,y2:t}),v&&(e.beginPath(),e.moveTo(s,l))),N=q=!1):(b.lineTo(s,l),r.push({x:s,y1:l,y2:t}),v&&e.lineTo(s,l),0==k%250&&h());u=p.dataPointIds[k];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:k,x1:s,y1:l,
493
- y2:t};k<n.length-1&&(A!==(n[k].lineColor||y)||G!==(n[k].lineDashType||p.lineDashType))&&(h(),A=n[k].lineColor||y,r[r.length-1].newStrokeStyle=A,b.strokeStyle=A,b.setLineDash&&(n[k].lineDashType?(G=n[k].lineDashType,r[r.length-1].newLineDashArray=Q(G,p.lineThickness),b.setLineDash(r[r.length-1].newLineDashArray)):(G=p.lineDashType,r[r.length-1].newLineDashArray=F,b.setLineDash(F))));if(0!==n[k].markerSize&&(0<n[k].markerSize||0<p.markerSize)){var V=p.getMarkerProperties(k,s,t,b);g.push(V);var da=X(u);
494
- v&&g.push({x:s,y:t,ctx:e,type:V.type,size:V.size,color:da,borderColor:da,borderThickness:V.borderThickness});V=p.getMarkerProperties(k,s,l,b);g.push(V);da=X(u);v&&g.push({x:s,y:l,ctx:e,type:V.type,size:V.size,color:da,borderColor:da,borderThickness:V.borderThickness})}if(n[k].indexLabel||p.indexLabel||n[k].indexLabelFormatter||p.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:n[k],dataSeries:p,indexKeyword:0,point:{x:s,y:l},direction:n[k].y[0]>n[k].y[1]===a.axisY.reversed?
495
- -1:1,color:w}),this._indexLabels.push({chartType:"rangeArea",dataPoint:n[k],dataSeries:p,indexKeyword:1,point:{x:s,y:t},direction:n[k].y[0]>n[k].y[1]===a.axisY.reversed?1:-1,color:w})}else N||q||h(),N=!0;h();B.drawMarkers(g)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
496
- this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderRangeSplineArea=function(a){function h(a,c){var h=t(l,2);if(0<h.length){if(0<m.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(h[0].x,h[0].y);for(var g=
497
- 0;g<h.length-3;g+=3){if(h[g].newStrokeStyle||h[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),h[g].newStrokeStyle&&(b.strokeStyle=h[g].newStrokeStyle),h[g].newLineDashArray&&b.setLineDash(h[g].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}}b.beginPath();b.moveTo(h[0].x,h[0].y);v&&(e.beginPath(),e.moveTo(h[0].x,h[0].y));for(g=0;g<h.length-3;g+=3)b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y),v&&e.bezierCurveTo(h[g+
498
- 1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y);h=t(y,2);b.lineTo(y[y.length-1].x,y[y.length-1].y);for(g=h.length-1;2<g;g-=3)b.bezierCurveTo(h[g-1].x,h[g-1].y,h[g-2].x,h[g-2].y,h[g-3].x,h[g-3].y),v&&e.bezierCurveTo(h[g-1].x,h[g-1].y,h[g-2].x,h[g-2].y,h[g-3].x,h[g-3].y);b.closePath();b.globalAlpha=m.fillOpacity;b.fill();v&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<m.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(h[0].x,h[0].y);for(var k=g=0;g<h.length-
499
- 3;g+=3,k++){if(l[k].newStrokeStyle||l[k].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),l[k].newStrokeStyle&&(b.strokeStyle=l[k].newStrokeStyle),l[k].newLineDashArray&&b.setLineDash(l[k].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}h=t(l,2);b.moveTo(h[0].x,h[0].y);for(k=g=0;g<h.length-3;g+=3,k++){if(l[k].newStrokeStyle||l[k].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),l[k].newStrokeStyle&&(b.strokeStyle=l[k].newStrokeStyle),
500
- l[k].newLineDashArray&&b.setLineDash(l[k].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=[],d=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var r=
501
- a.dataSeriesIndexes[f],m=this.data[r],p=m.dataPoints,g=m.id;this._eventManager.objectMap[g]={objectType:"dataSeries",dataSeriesIndex:r};g=X(g);e.fillStyle=g;var g=[],n=0,q,k,s,l=[],y=[];if(0<p.length){var u=m._colorSet[n%m._colorSet.length],x=m.lineColor=m.options.lineColor||u,w=x;b.fillStyle=u;b.lineWidth=m.lineThickness;var A="solid",D;if(b.setLineDash){var G=Q(m.nullDataLineDashType,m.lineThickness),A=m.lineDashType;D=Q(A,m.lineThickness)}for(k=!1;n<p.length;n++)if(q=p[n].x.getTime?p[n].x.getTime():
502
- p[n].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!k)))if(null!==p[n].y&&p[n].y.length&&"number"===typeof p[n].y[0]&&"number"===typeof p[n].y[1]){q=a.axisX.convertValueToPixel(q);k=a.axisY.convertValueToPixel(p[n].y[0]);s=a.axisY.convertValueToPixel(p[n].y[1]);var F=m.dataPointIds[n];this._eventManager.objectMap[F]={id:F,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:n,x1:q,y1:k,y2:s};l[l.length]={x:q,y:k};y[y.length]={x:q,y:s};n<p.length-1&&(w!==
503
- (p[n].lineColor||x)||A!==(p[n].lineDashType||m.lineDashType))&&(w=p[n].lineColor||x,l[l.length-1].newStrokeStyle=w,b.setLineDash&&(p[n].lineDashType?(A=p[n].lineDashType,l[l.length-1].newLineDashArray=Q(A,m.lineThickness)):(A=m.lineDashType,l[l.length-1].newLineDashArray=D)));if(0!==p[n].markerSize&&(0<p[n].markerSize||0<m.markerSize)){var H=m.getMarkerProperties(n,q,k,b);g.push(H);var N=X(F);v&&g.push({x:q,y:k,ctx:e,type:H.type,size:H.size,color:N,borderColor:N,borderThickness:H.borderThickness});
504
- H=m.getMarkerProperties(n,q,s,b);g.push(H);N=X(F);v&&g.push({x:q,y:s,ctx:e,type:H.type,size:H.size,color:N,borderColor:N,borderThickness:H.borderThickness})}if(p[n].indexLabel||m.indexLabel||p[n].indexLabelFormatter||m.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[n],dataSeries:m,indexKeyword:0,point:{x:q,y:k},direction:p[n].y[0]<=p[n].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[n],dataSeries:m,indexKeyword:1,point:{x:q,
505
- y:s},direction:p[n].y[0]<=p[n].y[1]?1:-1,color:u});k=!1}else 0<n&&!k&&(m.connectNullData?b.setLineDash&&(0<l.length&&(m.options.nullDataLineDashType||!p[n-1].lineDashType))&&(l[l.length-1].newLineDashArray=G,A=m.nullDataLineDashType):(h(D,x),l=[],y=[])),k=!0;h(D,x);B.drawMarkers(g)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
506
- 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderWaterfall=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,
507
- e=null,g=this.plotArea,d=0,f,r,m,p,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?
508
- this.dataPointWidth:0.6*(g.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>r&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<d)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));q<d&&(q=d);q>r&&(q=r);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(g.x1,g.y1,g.width,g.height);
509
- c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(g.x1,g.y1,g.width,g.height),this._eventManager.ghostCtx.clip());for(var k=0;k<a.dataSeriesIndexes.length;k++){var s=a.dataSeriesIndexes[k],l=this.data[s],t=l.dataPoints,e=l._colorSet[0];l.risingColor=l.options.risingColor?l.options.risingColor:e;l.fallingColor=l.options.fallingColor?l.options.fallingColor:"#e40a0a";var u="number"===typeof l.options.lineThickness?Math.round(l.lineThickness):1,x=1===Math.round(u)%
510
- 2?-0.5:0;if(0<t.length)for(var w=5<q&&l.bevelEnabled?!0:!1,B=!1,y=null,A=null,d=0;d<t.length;d++)if(t[d].getTime?p=t[d].x.getTime():p=t[d].x,"number"!==typeof t[d].y){if(0<d&&!B&&l.connectNullData)var D=l.options.nullDataLineDashType||!t[d-1].lineDashType?l.nullDataLineDashType:t[d-1].lineDashType;B=!0}else{f=a.axisX.convertValueToPixel(p);r=0===l.dataPointEOs[d].cumulativeSum?n:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSum);m=0===l.dataPointEOs[d].cumulativeSumYStartValue?n:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSumYStartValue);
511
- f=a.axisX.reversed?f+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+k)*q<<0:f-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+k)*q<<0;var F=a.axisX.reversed?f-q<<0:f+q<<0;r>m&&(e=r,r=m,m=e);a.axisY.reversed&&(e=r,r=m,m=e);e=l.dataPointIds[d];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:d,x1:f,y1:r,x2:F,y2:m};var N=t[d].color?t[d].color:0<t[d].y?l.risingColor:l.fallingColor;P(c,a.axisX.reversed?F:f,a.axisY.reversed?m:r,a.axisX.reversed?
512
- f:F,a.axisY.reversed?r:m,N,0,N,w,w,!1,!1,l.fillOpacity);e=X(e);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?F:f,r,a.axisX.reversed?f:F,m,e,0,null,!1,!1,!1,!1);var V,N=f;V="undefined"!==typeof t[d].isIntermediateSum&&!0===t[d].isIntermediateSum||"undefined"!==typeof t[d].isCumulativeSum&&!0===t[d].isCumulativeSum?0<t[d].y?r:m:0<t[d].y?m:r;0<d&&y&&(!B||l.connectNullData)&&(B&&c.setLineDash&&c.setLineDash(Q(D,u)),c.beginPath(),c.moveTo(y,A-x),c.lineTo(N,V-x),0<u&&c.stroke(),v&&(b.beginPath(),b.moveTo(y,
513
- A-x),b.lineTo(N,V-x),0<u&&b.stroke()));B=!1;y=F;A=0<t[d].y?r:m;N=t[d].lineDashType?t[d].lineDashType:l.options.lineDashType?l.options.lineDashType:"shortDash";c.strokeStyle=t[d].lineColor?t[d].lineColor:l.options.lineColor?l.options.lineColor:"#9e9e9e";c.lineWidth=u;c.setLineDash&&(N=Q(N,u),c.setLineDash(N));(t[d].indexLabel||l.indexLabel||t[d].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:t[d],dataSeries:l,point:{x:f+(F-f)/2,y:0<=t[d].y?r:m},
514
- direction:0>t[d].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(r,m),x2:F,y2:Math.max(r,m)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(g.x1,g.y1,g.width,
515
- g.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};var d=function(a,h,c,b,e,g,d,f,r){if(!(0>c)){"undefined"===typeof f&&(f=1);if(!v){var m=Number((d%(2*Math.PI)).toFixed(8));Number((g%(2*Math.PI)).toFixed(8))===m&&(d-=1E-4)}a.save();a.globalAlpha=f;"pie"===e?(a.beginPath(),a.moveTo(h.x,h.y),a.arc(h.x,h.y,c,g,d,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
516
- 2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(h.x,h.y,c,g,d,!1),0<=r&&a.arc(h.x,h.y,r*c,d,g,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};l.prototype.renderPie=function(a){function h(){if(m&&p){var a=0,b=0,c=0,h=0;f(m.options.indexLabelMaxWidth)&&(m.indexLabelMaxWidth=0.33*q.width);for(var e=0;e<p.length;e++){var g=p[e],d=m.dataPointIds[e];k[e].id=d;k[e].objectType="dataPoint";k[e].dataPointIndex=e;k[e].dataSeriesIndex=
517
- 0;var n=k[e],r={percent:null,total:null},l=null,r=C.getPercentAndTotal(m,g);if(m.indexLabelFormatter||g.indexLabelFormatter)l={chart:C.options,dataSeries:m,dataPoint:g,total:r.total,percent:r.percent};r=g.indexLabelFormatter?g.indexLabelFormatter(l):g.indexLabel?C.replaceKeywordsWithValue(g.indexLabel,g,m,e):m.indexLabelFormatter?m.indexLabelFormatter(l):m.indexLabel?C.replaceKeywordsWithValue(m.indexLabel,g,m,e):g.label?g.label:"";C._eventManager.objectMap[d]=n;n.center={x:w.x,y:w.y};n.y=g.y;n.radius=
518
- A;n.percentInnerRadius=F;n.indexLabelText=r;n.indexLabelPlacement=m.indexLabelPlacement;n.indexLabelLineColor=g.indexLabelLineColor?g.indexLabelLineColor:m.options.indexLabelLineColor?m.options.indexLabelLineColor:g.color?g.color:m._colorSet[e%m._colorSet.length];n.indexLabelLineThickness=f(g.indexLabelLineThickness)?m.indexLabelLineThickness:g.indexLabelLineThickness;n.indexLabelLineDashType=g.indexLabelLineDashType?g.indexLabelLineDashType:m.indexLabelLineDashType;n.indexLabelFontColor=g.indexLabelFontColor?
519
- g.indexLabelFontColor:m.indexLabelFontColor;n.indexLabelFontStyle=g.indexLabelFontStyle?g.indexLabelFontStyle:m.indexLabelFontStyle;n.indexLabelFontWeight=g.indexLabelFontWeight?g.indexLabelFontWeight:m.indexLabelFontWeight;n.indexLabelFontSize=f(g.indexLabelFontSize)?m.indexLabelFontSize:g.indexLabelFontSize;n.indexLabelFontFamily=g.indexLabelFontFamily?g.indexLabelFontFamily:m.indexLabelFontFamily;n.indexLabelBackgroundColor=g.indexLabelBackgroundColor?g.indexLabelBackgroundColor:m.options.indexLabelBackgroundColor?
520
- m.options.indexLabelBackgroundColor:m.indexLabelBackgroundColor;n.indexLabelBorderColor=g.indexLabelBorderColor?g.indexLabelBorderColor:m.options.indexLabelBorderColor?m.options.indexLabelBorderColor:m.indexLabelBorderColor;n.indexLabelBorderThickness=g.indexLabelBorderThickness?g.indexLabelBorderThickness:m.options.indexLabelBorderThickness?m.options.indexLabelBorderThickness:m.indexLabelBorderThickness;n.indexLabelPadding=g.indexLabelPadding?g.indexLabelPadding:m.options.indexLabelPadding?m.options.indexLabelPadding:
521
- m.indexLabelPadding;n.indexLabelMaxWidth=g.indexLabelMaxWidth?g.indexLabelMaxWidth:m.indexLabelMaxWidth;n.indexLabelWrap="undefined"!==typeof g.indexLabelWrap?g.indexLabelWrap:m.indexLabelWrap;n.indexLabelTextAlign=g.indexLabelTextAlign?g.indexLabelTextAlign:m.indexLabelTextAlign?m.indexLabelTextAlign:"left";n.startAngle=0===e?m.startAngle?m.startAngle/180*Math.PI:0:k[e-1].endAngle;n.startAngle=(n.startAngle+2*Math.PI)%(2*Math.PI);n.endAngle=n.startAngle+2*Math.PI/v*Math.abs(g.y);g=(n.endAngle+n.startAngle)/
522
- 2;g=(g+2*Math.PI)%(2*Math.PI);n.midAngle=g;if(n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u){if(0===a||k[c].midAngle>n.midAngle)c=e;a++}else if(n.midAngle>3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u){if(0===b||k[h].midAngle>n.midAngle)h=e;b++}n.hemisphere=g>Math.PI/2&&g<=3*Math.PI/2?"left":"right";n.indexLabelTextBlock=new na(C.plotArea.ctx,{fontSize:n.indexLabelFontSize,fontFamily:n.indexLabelFontFamily,fontColor:n.indexLabelFontColor,fontStyle:n.indexLabelFontStyle,fontWeight:n.indexLabelFontWeight,
523
- textAlign:n.indexLabelTextAlign,backgroundColor:n.indexLabelBackgroundColor,borderColor:n.indexLabelBorderColor,borderThickness:n.indexLabelBorderThickness,maxWidth:n.indexLabelMaxWidth,maxHeight:n.indexLabelWrap?5*n.indexLabelFontSize:1.5*n.indexLabelFontSize,text:n.indexLabelText,padding:n.indexLabelPadding,textBaseline:"middle"});n.indexLabelTextBlock.measureText()}d=g=0;r=!1;for(e=0;e<p.length;e++)n=k[(c+e)%p.length],1<a&&(n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u)&&(g<=a/2&&!r?(n.hemisphere=
524
- "right",g++):(n.hemisphere="left",r=!0));r=!1;for(e=0;e<p.length;e++)n=k[(h+e)%p.length],1<b&&(n.midAngle>3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u)&&(d<=b/2&&!r?(n.hemisphere="left",d++):(n.hemisphere="right",r=!0))}}function c(a,b){var c=C.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=C.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<p.length;c++){var h=k[c].startAngle,e=k[c].endAngle;if(e>h){var g=0.07*A*Math.cos(k[c].midAngle),f=0.07*A*Math.sin(k[c].midAngle),
525
- r=!1;if(p[c].exploded){if(1E-9<Math.abs(k[c].center.x-(w.x+g))||1E-9<Math.abs(k[c].center.y-(w.y+f)))k[c].center.x=w.x+g*a,k[c].center.y=w.y+f*a,r=!0}else if(0<Math.abs(k[c].center.x-w.x)||0<Math.abs(k[c].center.y-w.y))k[c].center.x=w.x+g*(1-a),k[c].center.y=w.y+f*(1-a),r=!0;r&&b&&(g={},g.dataSeries=m,g.dataPoint=m.dataPoints[c],g.index=c,C.toolTip.highlightObjects([g]));d(C.plotArea.ctx,k[c].center,k[c].radius,p[c].color?p[c].color:m._colorSet[c%m._colorSet.length],m.type,h,e,m.fillOpacity,k[c].percentInnerRadius)}}c=
526
- C.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(h=h=0;h<p.length;h++)e=k[h],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,g=0,g="left"===e.hemisphere?"inside"!==m.indexLabelPlacement?-(e.indexLabelTextBlock.width+n):-e.indexLabelTextBlock.width/2:"inside"!==m.indexLabelPlacement?n:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=g,e.indexLabelTextBlock.render(!0),
527
- e.indexLabelTextBlock.x-=g,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(g=e.center.x+A*Math.cos(e.midAngle),f=e.center.y+A*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(Q(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,f),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+
528
- ("left"===e.hemisphere?-n:n),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,e=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,h=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,g=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?h-e:c-g}function e(a){for(var c=null,e=1;e<p.length;e++)if(c=(a+e+k.length)%k.length,k[c].hemisphere!==
529
- k[a].hemisphere){c=null;break}else if(k[c].indexLabelText&&c!==a&&(0>b(k[c],k[a])||("right"===k[a].hemisphere?k[c].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y:k[c].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y)))break;else c=null;return c}function g(a,c,h){h=(h||0)+1;if(1E3<h)return 0;c=c||0;var d=0,f=w.y-1*t,m=w.y+1*t;if(0<=a&&a<p.length){var n=k[a];if(0>c&&n.indexLabelTextBlock.y<f||0<c&&n.indexLabelTextBlock.y>m)return 0;var q=0,r=0,r=q=q=0;0>c?n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/
530
- 2>f&&n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2+c<f&&(c=-(f-(n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2+c))):n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2<f&&n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2+c>m&&(c=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2+c-m);c=n.indexLabelTextBlock.y+c;f=0;f="right"===n.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2));r=w.x+A*Math.cos(n.midAngle);q=w.y+A*
531
- Math.sin(n.midAngle);q=Math.sqrt(Math.pow(f-r,2)+Math.pow(c-q,2));r=Math.acos(A/t);q=Math.acos((t*t+A*A-q*q)/(2*A*t));c=q<r?c-n.indexLabelTextBlock.y:0;f=null;for(m=1;m<p.length;m++)if(f=(a-m+k.length)%k.length,k[f].hemisphere!==k[a].hemisphere){f=null;break}else if(k[f].indexLabelText&&k[f].hemisphere===k[a].hemisphere&&f!==a&&(0>b(k[f],k[a])||("right"===k[a].hemisphere?k[f].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y:k[f].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y)))break;else f=null;
532
- r=f;q=e(a);m=f=0;0>c?(m="right"===n.hemisphere?r:q,d=c,null!==m&&(r=-c,c=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2-(k[m].indexLabelTextBlock.y+k[m].indexLabelTextBlock.height/2),c-r<s&&(f=-r,m=g(m,f,h+1),+m.toFixed(x)>+f.toFixed(x)&&(d=c>s?-(c-s):-(r-(m-f)))))):0<c&&(m="right"===n.hemisphere?q:r,d=c,null!==m&&(r=c,c=k[m].indexLabelTextBlock.y-k[m].indexLabelTextBlock.height/2-(n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2),c-r<s&&(f=r,m=g(m,f,h+1),+m.toFixed(x)<+f.toFixed(x)&&
533
- (d=c>s?c-s:r-(f-m)))));d&&(h=n.indexLabelTextBlock.y+d,c=0,c="right"===n.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(h-w.y,2)):w.x-Math.sqrt(Math.pow(t,2)-Math.pow(h-w.y,2)),n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u?(f=(a-1+k.length)%k.length,f=k[f],a=k[(a+1+k.length)%k.length],"left"===n.hemisphere&&"right"===f.hemisphere&&c>f.indexLabelTextBlock.x?c=f.indexLabelTextBlock.x-15:"right"===n.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):n.midAngle>
534
- 3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u&&(f=(a-1+k.length)%k.length,f=k[f],a=k[(a+1+k.length)%k.length],"right"===n.hemisphere&&"left"===f.hemisphere&&c<f.indexLabelTextBlock.x?c=f.indexLabelTextBlock.x+15:"left"===n.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),n.indexLabelTextBlock.y=h,n.indexLabelTextBlock.x=c,n.indexLabelAngle=Math.atan2(n.indexLabelTextBlock.y-w.y,n.indexLabelTextBlock.x-w.x))}return d}function r(){var a=C.plotArea.ctx;a.fillStyle=
535
- "grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,h=0,d=!0,c=0;10>c&&(1>c||0<h);c++){if(m.radius||!m.radius&&"undefined"!==typeof m.innerRadius&&null!==m.innerRadius&&A-h<=D)d=!1;d&&(A-=h);h=0;if("inside"!==m.indexLabelPlacement){t=A*B;for(a=0;a<p.length;a++){var f=k[a];f.indexLabelTextBlock.x=w.x+t*Math.cos(f.midAngle);f.indexLabelTextBlock.y=w.y+t*Math.sin(f.midAngle);f.indexLabelAngle=f.midAngle;f.radius=A;f.percentInnerRadius=F}for(var l,u,a=0;a<p.length;a++){var f=
536
- k[a],E=e(a);if(null!==E){l=k[a];u=k[E];var v=0,v=b(l,u)-s;if(0>v){for(var K=u=0,y=0;y<p.length;y++)y!==a&&k[y].hemisphere===f.hemisphere&&(k[y].indexLabelTextBlock.y<f.indexLabelTextBlock.y?u++:K++);u=v/(u+K||1)*K;var K=-1*(v-u),H=y=0;"right"===f.hemisphere?(y=g(a,u),K=-1*(v-y),H=g(E,K),+H.toFixed(x)<+K.toFixed(x)&&+y.toFixed(x)<=+u.toFixed(x)&&g(a,-(K-H))):(y=g(E,u),K=-1*(v-y),H=g(a,K),+H.toFixed(x)<+K.toFixed(x)&&+y.toFixed(x)<=+u.toFixed(x)&&g(E,-(K-H)))}}}}else for(a=0;a<p.length;a++)f=k[a],t=
537
- "pie"===m.type?0.7*A:0.85*A,E=w.x+t*Math.cos(f.midAngle),u=w.y+t*Math.sin(f.midAngle),f.indexLabelTextBlock.x=E,f.indexLabelTextBlock.y=u;for(a=0;a<p.length;a++)if(f=k[a],E=f.indexLabelTextBlock.measureText(),0!==E.height&&0!==E.width)E=E=0,"right"===f.hemisphere?(E=q.x2-(f.indexLabelTextBlock.x+f.indexLabelTextBlock.width+n),E*=-1):E=q.x1-(f.indexLabelTextBlock.x-f.indexLabelTextBlock.width-n),0<E&&(!d&&f.indexLabelText&&(u="right"===f.hemisphere?q.x2-f.indexLabelTextBlock.x:f.indexLabelTextBlock.x-
538
- q.x1,0.3*f.indexLabelTextBlock.maxWidth>u?f.indexLabelText="":f.indexLabelTextBlock.maxWidth=0.85*u,0.3*f.indexLabelTextBlock.maxWidth<u&&(f.indexLabelTextBlock.x-="right"===f.hemisphere?2:-2)),Math.abs(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-w.y)<A||Math.abs(f.indexLabelTextBlock.y+f.indexLabelTextBlock.height/2-w.y)<A)&&(E/=Math.abs(Math.cos(f.indexLabelAngle)),9<E&&(E*=0.3),E>h&&(h=E)),E=E=0,0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?(E=q.y2-(f.indexLabelTextBlock.y+f.indexLabelTextBlock.height/
539
- 2+5),E*=-1):E=q.y1-(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-5),0<E&&(!d&&f.indexLabelText&&(u=0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?-1:1,0===g(a,E*u)&&g(a,2*u)),Math.abs(f.indexLabelTextBlock.x-w.x)<A&&(E/=Math.abs(Math.sin(f.indexLabelAngle)),9<E&&(E*=0.3),E>h&&(h=E)));var M=function(a,b,c){for(var e=[],h=0;e.push(k[b]),b!==c;b=(b+1+p.length)%p.length);e.sort(function(a,b){return a.y-b.y});for(b=0;b<e.length;b++)if(c=e[b],h<0.7*a)h+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text=
540
- "",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,h=0,g=!1,d=0;d<p.length;d++)if(g=!1,l=k[d],l.indexLabelText){var f=e(d);if(null!==f){var m=k[f];v=0;v=b(l,m);var q;if(q=0>v){q=l.indexLabelTextBlock.x;var r=l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2,C=l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2,E=m.indexLabelTextBlock.y-m.indexLabelTextBlock.height/2,u=m.indexLabelTextBlock.x+m.indexLabelTextBlock.width,s=m.indexLabelTextBlock.y+
541
- m.indexLabelTextBlock.height/2;q=l.indexLabelTextBlock.x+l.indexLabelTextBlock.width<m.indexLabelTextBlock.x-n||q>u+n||r>s+n||C<E-n?!1:!0}q?(0>a&&(a=d),f!==a&&(c=f,h+=-v),0===d%Math.max(p.length/10,3)&&(g=!0)):g=!0;g&&(0<h&&0<=a&&0<=c)&&(M(h,a,c),c=a=-1,h=0)}}0<h&&M(h,a,c)})()}}function l(){C.plotArea.layoutManager.reset();C.title&&(C.title.dockInsidePlotArea||"center"===C.title.horizontalAlign&&"center"===C.title.verticalAlign)&&C.title.render();if(C.subtitles)for(var a=0;a<C.subtitles.length;a++){var b=
542
- C.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}C.legend&&(C.legend.dockInsidePlotArea||"center"===C.legend.horizontalAlign&&"center"===C.legend.verticalAlign)&&(C.legend.setLayout(),C.legend.render())}var C=this;if(!(0>=a.dataSeriesIndexes.length)){var m=this.data[a.dataSeriesIndexes[0]],p=m.dataPoints,n=10,q=this.plotArea,k=m.dataPointEOs,s=2,t,B=1.3,u=20/180*Math.PI,x=6,w={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},v=0;a=!1;for(var y=0;y<p.length;y++)v+=
543
- Math.abs(p[y].y),!a&&("undefined"!==typeof p[y].indexLabel&&null!==p[y].indexLabel&&0<p[y].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof p[y].label&&null!==p[y].label&&0<p[y].label.toString().length)&&(a=!0);if(0!==v){a=a||"undefined"!==typeof m.indexLabel&&null!==m.indexLabel&&0<m.indexLabel.toString().length;var A="inside"!==m.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;m.radius&&(A=Wa(m.radius,A));var D="undefined"!==typeof m.innerRadius&&
544
- null!==m.innerRadius?Wa(m.innerRadius,A,0.7*A):0.7*A,F=Math.min(D/A,(A-1)/A);this.pieDoughnutClickHandler=function(a){C.isAnimating||!f(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&C._animator.animate(0,500,function(a){c(a,!0);l();C.dispatchEvent("dataAnimationIterationEnd",{chart:C});C.dispatchEvent("dataAnimationEnd",{chart:C})}))};h();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:
545
- 0,function(a){var b=C.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=C.backgroundColor;b.fillRect(q.x1,q.y1,q.width,q.height);for(var b=k[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var e=0===c?k[c].startAngle:h,h=e+(k[c].endAngle-k[c].startAngle),g=!1;h>b&&(h=b,g=!0);var f=p[c].color?p[c].color:m._colorSet[c%m._colorSet.length];h>e&&d(C.plotArea.ctx,k[c].center,k[c].radius,f,m.type,e,h,m.fillOpacity,k[c].percentInnerRadius);if(g)break}l();C.dispatchEvent("dataAnimationIterationEnd",
546
- {chart:C});1<=a&&C.dispatchEvent("dataAnimationEnd",{chart:C})},function(){C.disableToolTip=!1;C._animator.animate(0,C.animatedRender?500:0,function(a){c(a,!1);l();C.dispatchEvent("dataAnimationIterationEnd",{chart:C})});C.dispatchEvent("dataAnimationEnd",{chart:C})});m.radius=A;"doughnut"===m.type&&(m.innerRadius=D)}}};var r=function(a,h,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(h.y4-h.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(h.x1),Math.round(h.y1)),a.lineTo(Math.round(h.x2),
547
- Math.round(h.y2)),a.lineTo(Math.round(h.x3),Math.round(h.y3)),a.lineTo(Math.round(h.x4),Math.round(h.y4)),"undefined"!==h.x5&&(a.lineTo(Math.round(h.x5),Math.round(h.y5)),a.lineTo(Math.round(h.x6),Math.round(h.y6))),a.closePath(),a.fillStyle=b?b:h.color,a.fill(),a.globalAplha=1,a.restore())};l.prototype.renderFunnel=function(a){function h(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=
548
- b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=T,b=X,c=ba,e=ca,h,g;h=L;g=P-ia;e=Math.abs((g-h)*(b-a+(e-c))/2);c=ca-ba;h=g-h;g=c*(g-P);g=Math.abs(g);g=e+g;for(var e=[],d=0,k=0;k<x.length;k++){if("undefined"===typeof x[k].y)return-1;x[k].y="number"===typeof x[k].y?x[k].y:0;d+=Math.abs(x[k].y)}if(0===d)return-1;for(var f=e[0]=0,m=0,n,p,b=b-a,f=!1,k=0;k<x.length;k++)a=Math.abs(x[k].y)*g/d,f?n=0==Number(c.toFixed(3))?0:a/c:(p=ga*ga*b*b-4*Math.abs(ga)*a,0>p?(p=c,f=(b+p)*
549
- (h-m)/2,a-=f,n=h-m,m+=h-m,n+=0==p?0:a/p,m+=a/p,f=!0):(n=(Math.abs(ga)*b-Math.sqrt(p))/2,p=b-2*n/Math.abs(ga),m+=n,m>h&&(m-=n,p=c,f=(b+p)*(h-m)/2,a-=f,n=h-m,m+=h-m,n+=a/p,m+=a/p,f=!0),b=p)),e.push(n);return e}function b(){if(u&&x){for(var a,b,c,e,h,g,d,m,n,p,q,r,C,l,E,s,t,z,w=[],B=[],K={percent:null,total:null},A=null,S=0;S<x.length;S++)z=O[S],z="undefined"!==typeof z.x5?(z.y2+z.y4)/2:(z.y2+z.y3)/2,z=k(z).x2+1,w[S]=M-(isNaN(z)?0:z)-Z;z=0.5*Z;for(var S=0,D=x.length-1;S<x.length||0<=D;S++,D--){b=u.reversed?
550
- x[D]:x[S];a=b.color?b.color:u.reversed?u._colorSet[(x.length-1-S)%u._colorSet.length]:u._colorSet[S%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";t=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";e=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(v?"transparent":null);h=b.indexLabelBorderColor||u.indexLabelBorderColor||(v?"transparent":null);g=f(b.indexLabelBorderThickness)?u.indexLabelBorderThickness:b.indexLabelBorderThickness;d=f(b.indexLabelPadding)?
551
- u.options.indexLabelPadding?u.options.indexLabelPadding:u.indexLabelPadding:b.indexLabelPadding;m=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";n=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;p=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";q=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";r=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;C="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:
552
- "number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;l=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";E="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;s=u.dataPointIds[S];y._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataPointIndex:S,dataSeriesIndex:0,funnelSection:O[u.reversed?x.length-1-S:S]};"inside"===u.indexLabelPlacement&&(w[S]=S!==fa?u.reversed?O[S].x2-O[S].x1:O[S].x3-O[S].x4:O[S].x3-
553
- O[S].x6,20>w[S]&&(w[S]=S!==fa?u.reversed?O[S].x3-O[S].x4:O[S].x2-O[S].x1:O[S].x2-O[S].x1,w[S]/=2));s=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:w[S];if(s>w[S]||0>s)s=w[S];B[S]="inside"===u.indexLabelPlacement?E?Math.max(O[S].height,n):1.5*n+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):!1;K=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)A={chart:y.options,dataSeries:u,dataPoint:b,total:K.total,percent:K.percent};b=b.indexLabelFormatter?
554
- b.indexLabelFormatter(A):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,S):u.indexLabelFormatter?u.indexLabelFormatter(A):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,S):b.label?b.label:"";0>=C&&(C=0);1E3>s&&1E3-s<z&&(s+=1E3-s);f(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=f(u.indexLabelMaxWidth)?s:Math.max(s,u.indexLabelMaxWidth));R.roundRect||Ea(R);c=new na(R,{fontSize:n,fontFamily:q,fontColor:m,fontStyle:p,fontWeight:r,horizontalAlign:c,textAlign:t,backgroundColor:e,
555
- borderColor:h,borderThickness:g,maxWidth:s,maxHeight:!1===B[S]?(E?4.28571429*n:1.5*n)+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):B[S],text:b,padding:d,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;J.push({textBlock:c,id:u.reversed?D:S,isDirty:!1,lineColor:a,lineThickness:C,lineDashType:l,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,e,h,g=[];
556
- h=!1;c=0;for(var d,k=M-X-Z/2,k=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>k?k:u.indexLabelMaxWidth:k,f=J.length-1;0<=f;f--){d=x[J[f].id];c=J[f];e=c.textBlock;b=(a=q(f)<O.length?J[q(f)]:null)?a.textBlock:null;c=c.height;a&&e.y+c+ha>b.y&&(h=!0);c=d.indexLabelMaxWidth||k;if(c>k||0>c)c=k;g.push(c)}if(h)for(f=J.length-1;0<=f;f--)a=O[f],J[f].textBlock.maxWidth=g[g.length-(f+1)],J[f].textBlock.measureText(),J[f].textBlock.height=J[f].textBlock.height===2*J[f].textBlock.padding?0:J[f].textBlock.height,
557
- J[f].textBlock.width=J[f].textBlock.width===2*J[f].textBlock.padding?0:J[f].textBlock.width,J[f].textBlock.x=M-k,c=J[f].textBlock.height<J[f].textBlock.maxHeight?J[f].textBlock.height:J[f].textBlock.maxHeight,h=J[f].textBlock.width<J[f].textBlock.maxWidth?J[f].textBlock.width:J[f].textBlock.maxWidth,J[f].height=c,J[f].width=h,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,J[f].textBlock.y=c-J[f].height/2,u.reversed?(J[f].textBlock.y+J[f].height>Y+A&&(J[f].textBlock.y=Y+A-J[f].height),J[f].textBlock.y<
558
- ya-A&&(J[f].textBlock.y=ya-A)):(J[f].textBlock.y<Y-A&&(J[f].textBlock.y=Y-A),J[f].textBlock.y+J[f].height>ya+A&&(J[f].textBlock.y=ya+A-J[f].height))}function g(){var a,b,c,h;if("inside"!==u.indexLabelPlacement)for(var e=0;e<O.length;e++)0==J[e].textBlock.text.length?J[e].isDirty=!0:(a=O[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>aa?k(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<aa?k(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/
559
- 2+1,J[e].textBlock.x=b+Z,J[e].textBlock.y=c-J[e].height/2,u.reversed?(J[e].textBlock.y+J[e].height>Y+A&&(J[e].textBlock.y=Y+A-J[e].height),J[e].textBlock.y<ya-A&&(J[e].textBlock.y=ya-A)):(J[e].textBlock.y<Y-A&&(J[e].textBlock.y=Y-A),J[e].textBlock.y+J[e].height>ya+A&&(J[e].textBlock.y=ya+A-J[e].height)));else for(e=0;e<O.length;e++)0==J[e].textBlock.text.length?J[e].isDirty=!0:(a=O[e],b=a.height,c=J[e].height,h=J[e].width,b>=c?(b=e!=fa?(a.x4+a.x3)/2-h/2:(a.x5+a.x4)/2-h/2,c=e!=fa?(a.y1+a.y3)/2-c/2:
560
- (a.y1+a.y4)/2-c/2,J[e].textBlock.x=b,J[e].textBlock.y=c):J[e].isDirty=!0)}function d(){function a(b,c){var e;if(0>b||b>=J.length)return 0;var h,g=J[b].textBlock;if(0>c){c*=-1;h=n(b);e=l(h,b);if(e>=c)return g.y-=c,c;if(0==b)return 0<e&&(g.y-=e),e;e+=a(h,-(c-e));0<e&&(g.y-=e);return e}h=q(b);e=l(b,h);if(e>=c)return g.y+=c,c;if(b==O.length-1)return 0<e&&(g.y+=e),e;e+=a(h,c-e);0<e&&(g.y+=e);return e}function b(){var a,e,h,g,d=0,f;g=(P-L+2*A)/p;f=p;for(var k,m=1;m<f;m++){h=m*g;for(var r=J.length-1;0<=
561
- r;r--)!J[r].isDirty&&(J[r].textBlock.y<h&&J[r].textBlock.y+J[r].height>h)&&(k=q(r),!(k>=J.length-1)&&J[r].textBlock.y+J[r].height+ha>J[k].textBlock.y&&(J[r].textBlock.y=J[r].textBlock.y+J[r].height-h>h-J[r].textBlock.y?h+1:h-J[r].height-1))}for(k=O.length-1;0<k;k--)if(!J[k].isDirty){h=n(k);if(0>h&&(h=0,J[h].isDirty))break;if(J[k].textBlock.y<J[h].textBlock.y+J[h].height){e=e||k;g=k;for(f=0;J[g].textBlock.y<J[h].textBlock.y+J[h].height+ha;){a=a||J[g].textBlock.y+J[g].height;f+=J[g].height;f+=ha;g=
562
- h;if(0>=g){g=0;f+=J[g].height;break}h=n(g);if(0>h){g=0;f+=J[g].height;break}}if(g!=k){d=J[g].textBlock.y;a-=d;a=f-a;d=c(a,e,g);break}}}return d}function c(a,b,e){var h=[],g=0,d=0;for(a=Math.abs(a);e<=b;e++)h.push(O[e]);h.sort(function(a,b){return a.height-b.height});for(e=0;e<h.length;e++)if(b=h[e],g<a)d++,g+=J[b.id].height+ha,J[b.id].textBlock.text="",J[b.id].indexLabelText="",J[b.id].isDirty=!0,J[b.id].textBlock.measureText();else break;return d}for(var e,h,g,f,k,m,p=1,r=0;r<2*p;r++){for(var C=
563
- J.length-1;0<=C&&!(0<=n(C)&&n(C),g=J[C],f=g.textBlock,m=(k=q(C)<O.length?J[q(C)]:null)?k.textBlock:null,e=+g.height.toFixed(6),h=+f.y.toFixed(6),!g.isDirty&&(k&&h+e+ha>+m.y.toFixed(6))&&(e=f.y+e+ha-m.y,h=a(C,-e),h<e&&(0<h&&(e-=h),h=a(q(C),e),h!=e)));C--);b()}}function l(a,b){return(b<O.length?J[b].textBlock.y:u.reversed?Y+A:ya+A)-(0>a?u.reversed?ya-A:Y-A:J[a].textBlock.y+J[a].height+ha)}function s(a,b,c){var e,h,d,f=[],k=A,n=[];-1!==b&&(0<=$.indexOf(b)?(h=$.indexOf(b),$.splice(h,1)):($.push(b),$=
564
- $.sort(function(a,b){return a-b})));if(0===$.length)f=ma;else{h=A*(1!=$.length||0!=$[0]&&$[0]!=O.length-1?2:1)/m();for(var q=0;q<O.length;q++){if(1==$.length&&0==$[0]){if(0===q){f.push(ma[q]);e=k;continue}}else 0===q&&(e=-1*k);f.push(ma[q]+e);if(0<=$.indexOf(q)||q<O.length&&0<=$.indexOf(q+1))e+=h}}d=function(){for(var a=[],b=0;b<O.length;b++)a.push(f[b]-O[b].y1);return a}();var l={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,e){return C.easing.easeOutQuart(a,b,c,e)},
565
- changeSection:function(a){for(var b,c,e=0;e<O.length;e++)b=d[e],c=O[e],b*=a,"undefined"===typeof n[e]&&(n[e]=0),0>n&&(n*=-1),c.y1+=b-n[e],c.y2+=b-n[e],c.y3+=b-n[e],c.y4+=b-n[e],c.y5&&(c.y5+=b-n[e],c.y6+=b-n[e]),n[e]=b}};a._animator.animate(0,c,function(c){var e=a.plotArea.ctx||a.ctx;oa=!0;e.clearRect(w.x1,w.y1,w.x2-w.x1,w.y2-w.y1);e.fillStyle=a.backgroundColor;e.fillRect(w.x1,w.y1,w.width,w.height);l.changeSection(c,b);var h={};h.dataSeries=u;h.dataPoint=u.reversed?u.dataPoints[x.length-1-b]:u.dataPoints[b];
566
- h.index=u.reversed?x.length-1-b:b;a.toolTip.highlightObjects([h]);for(h=0;h<O.length;h++)r(e,O[h],u.fillOpacity);B(e);N&&("inside"!==u.indexLabelPlacement?p(e):g(),t(e));1<=c&&(oa=!1)},null,C.easing.easeOutQuart)}function m(){for(var a=0,b=0;b<O.length-1;b++)(0<=$.indexOf(b)||0<=$.indexOf(b+1))&&a++;return a}function p(a){for(var b,c,e,h,g=0;g<O.length;g++)h=1===J[g].lineThickness%2?0.5:0,c=((O[g].y2+O[g].y4)/2<<0)+h,b=k(c).x2-1,isNaN(b)&&(Math.round(O[g].x1)===Math.round(O[g].x4)&&Math.round(O[g].x2)===
567
- Math.round(O[g].x3))&&(b=O[g].x2),e=J[g].textBlock.x,h=(J[g].textBlock.y+J[g].height/2<<0)+h,J[g].isDirty||0==J[g].lineThickness||(a.strokeStyle=J[g].lineColor,a.lineWidth=J[g].lineThickness,a.setLineDash&&a.setLineDash(Q(J[g].lineDashType,J[g].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(e,h),a.stroke())}function n(a){for(a-=1;-1<=a&&-1!=a&&J[a].isDirty;a--);return a}function q(a){for(a+=1;a<=O.length&&a!=O.length&&J[a].isDirty;a++);return a}function k(a){for(var b,c=0;c<x.length;c++)if(O[c].y1<
568
- a&&O[c].y4>a){b=O[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function t(a){for(var b=0;b<O.length;b++)J[b].isDirty||(a&&(J[b].textBlock.ctx=a),J[b].textBlock.y+=J[b].textBlock._lineHeight/2,J[b].textBlock.render(!0),J[b].textBlock.y-=J[b].textBlock._lineHeight/2)}function B(a){y.plotArea.layoutManager.reset();a.roundRect||Ea(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.horizontalAlign&&
569
- "center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)y.subtitles.ctx=a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||"center"===y.legend.horizontalAlign&&"center"===y.legend.verticalAlign)&&(y.legend.ctx=a,y.legend.setLayout(),y.legend.render());ka.fNg&&ka.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],
570
- x=u.dataPoints,w=this.plotArea,A=0.025*w.width,D=0.01*w.width,G=0,F=w.height-2*A-4,H=Math.min(w.width-2*D,2.8*w.height),N=!1,V=0;V<x.length;V++)if(!N&&("undefined"!==typeof x[V].indexLabel&&null!==x[V].indexLabel&&0<x[V].indexLabel.toString().length)&&(N=!0),!N&&("undefined"!==typeof x[V].label&&null!==x[V].label&&0<x[V].label.toString().length)&&(N=!0),!N&&"function"===typeof u.indexLabelFormatter||"function"===typeof x[V].indexLabelFormatter)N=!0;N=N||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&
571
- 0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&N||(D=(w.width-0.75*H)/2);var V=w.x1+D,M=w.x2-D,L=w.y1+A+2,P=w.y2-A-2,R=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==x.length){var ia,I;a=75*H/100;var Z=30*(M-a)/100;"funnel"===u.type?(ia=f(u.options.neckHeight)?0.35*F:u.neckHeight,I=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof ia&&ia.match(/%$/)?(ia=parseInt(ia),ia=ia*F/100):ia=parseInt(ia),"string"===typeof I&&I.match(/%$/)?
572
- (I=parseInt(I),I=I*a/100):I=parseInt(I),ia>F?ia=F:0>=ia&&(ia=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===u.type&&(I=ia=0,u.reversed=u.reversed?!1:!0);var D=V+a/2,T=V,X=V+a,Y=u.reversed?P:L,ba=D-I/2,ca=D+I/2,aa=u.reversed?L+ia:P-ia,ya=u.reversed?L:P;I=u.valueRepresents=u.valueRepresents?u.valueRepresents:"height";V=[];a=[];var O=[],D=[],W=L,fa,ga=(aa-Y)/(ba-T),ja=-ga,H="area"===I?c():h();if(-1!==H){if(u.reversed)for(D.push(W),I=H.length-1;0<I;I--)W+=H[I],D.push(Math.round(W));else for(I=0;I<H.length;I++)W+=
573
- H[I],D.push(Math.round(W));if(u.reversed)for(I=0;I<H.length;I++)D[I]<aa?(V.push(ba),a.push(ca),fa=I):(V.push((D[I]-Y+ga*T)/ga),a.push((D[I]-Y+ja*X)/ja));else for(I=0;I<H.length;I++)D[I]<aa?(V.push((D[I]-Y+ga*T)/ga),a.push((D[I]-Y+ja*X)/ja),fa=I):(V.push(ba),a.push(ca));for(I=0;I<H.length-1;I++)W=u.reversed?x[x.length-1-I].color?x[x.length-1-I].color:u._colorSet[(x.length-1-I)%u._colorSet.length]:x[I].color?x[I].color:u._colorSet[I%u._colorSet.length],I===fa?O.push({x1:V[I],y1:D[I],x2:a[I],y2:D[I],
574
- x3:ca,y3:aa,x4:a[I+1],y4:D[I+1],x5:V[I+1],y5:D[I+1],x6:ba,y6:aa,id:I,height:D[I+1]-D[I],color:W}):O.push({x1:V[I],y1:D[I],x2:a[I],y2:D[I],x3:a[I+1],y3:D[I+1],x4:V[I+1],y4:D[I+1],id:I,height:D[I+1]-D[I],color:W}),u.dataPointEOs[I]&&O[I]&&(u.dataPointEOs[I].sectionsofFunnel=O[I]);var ha=2,J=[],oa=!1,$=[],ma=[],V=!1;a=a=0;wa($);for(I=0;I<x.length;I++)x[I].exploded&&(V=!0,u.reversed?$.push(x.length-1-I):$.push(I));R.clearRect(w.x1,w.y1,w.width,w.height);R.fillStyle=y.backgroundColor;R.fillRect(w.x1,w.y1,
575
- w.width,w.height);if(N&&u.visible&&(b(),g(),"inside"!==u.indexLabelPlacement)){e();d();for(I=0;I<x.length;I++)J[I].isDirty||(a=J[I].textBlock.x+J[I].width,a=(M-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<O.length;I++)O[I].x1+=G,O[I].x2+=G,O[I].x3+=G,O[I].x4+=G,O[I].x5&&(O[I].x5+=G,O[I].x6+=G),J[I].textBlock.x+=G}for(I=0;I<O.length;I++)G=O[I],r(R,G,u.fillOpacity),ma.push(G.y1);B(R);N&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||p(R),y.animationEnabled||t());if(!N)for(I=0;I<x.length;I++)G=
576
- u.dataPointIds[I],a={id:G,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:O[u.reversed?x.length-1-I:I]},y._eventManager.objectMap[G]=a;!y.animationEnabled&&V?s(y,-1,0):y.animationEnabled&&!y.animatedRender&&s(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!oa&&!y.isAnimating&&(f(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?x.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?
577
- x[x.length-1-a].exploded=x[x.length-1-a].exploded?!1:!0:x[a].exploded=x[a].exploded?!1:!0;s(y,b,500)}};return{source:R,dest:this.plotArea.ctx,animationCallback:function(a,b){C.fadeInAnimation(a,b);1<=a&&(s(y,-1,500),B(y.plotArea.ctx||y.ctx))},easingFunction:C.easing.easeInQuad,animationBase:0}}}}};l.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||
578
- function(a){window.setTimeout(a,1E3/60)}}();l.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;l.prototype.set=function(a,h,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=h,c&&this.render()):l.base.set.call(this,a,h,c)};l.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var h=a.format?a.format:
579
- "png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+h);eb(this.canvas,h,c)};l.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),h=document.createElement("iframe");h.setAttribute("class","canvasjs-chart-print-frame");R(h,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});h.style.height=this.height+"px";this._canvasJSContainer.appendChild(h);var c=this,b=h.contentWindow||h.contentDocument.document||
580
- h.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(h)},1E3)},500)};l.prototype.getPercentAndTotal=function(a,h){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=h.x.getTime?
581
- h.x.getTime():h.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(h.y)?0:0===c?0:100*(h.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);e=isNaN(h.y)?0:100*(h.y/b)}return{percent:e,total:b}};l.prototype.replaceKeywordsWithValue=function(a,h,c,b,e){var g=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||
582
- "doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",f="#total",r=this.getPercentAndTotal(c,h),f=isNaN(r.total)?f:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",m=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(m)||!isFinite(m))m=2;for(var p=0;p<m;p++)r+="#";c.percentFormatString=r}a=a.replace("#percent",aa(d,r,g._cultureInfo));a=a.replace("#total",
583
- aa(f,c.yValueFormatString?c.yValueFormatString:"#,##0.########",g._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Oa(a.slice(1,a.length-1));a=a.replace("#index",e);var d=null;try{var f=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);f&&0<f.length&&(d=Oa(f[2]),a=Oa(f[1]))}catch(m){}f=null;if("color"===a)return"waterfall"===c.type?h.color?
584
- h.color:0<h.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:h.color?h.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(h.hasOwnProperty(a))f=h;else if(c.hasOwnProperty(a))f=c;else return"";f=f[a];null!==d&&(f=f[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||h.x&&h.x.getTime)&&!c.axisX.logarithmic?sa(f,h.xValueFormatString?h.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=
585
- g.axisX&&g.axisX.autoValueFormatString?g.axisX.autoValueFormatString:"DD MMM YY",g._cultureInfo):aa(f,h.xValueFormatString?h.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",g._cultureInfo):"y"===a?aa(f,h.yValueFormatString?h.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString=c.axisY&&c.axisY.logarithmic&&"number"===typeof f&&0<f&&(1E-7>Math.abs(f)||1E7<Math.abs(f))?"0.##E+0":"#,##0.########",g._cultureInfo):"z"===a?
586
- aa(f,h.zValueFormatString?h.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",g._cultureInfo):f})};ja(F,ca);F.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,h=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,g=0,d=0,r=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var C=[],m=[];if("top"===this.verticalAlign||
587
- "bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,g=this.maxWidth=null!==this.maxWidth?this.maxWidth:h.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*h.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;g=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*h.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:
588
- h.height}this.errorMarkerColor=[];for(var p=0;p<this.dataSeries.length;p++){var n=this.dataSeries[p];if(n.dataPoints&&n.dataPoints.length){if("pie"!==n.type&&"doughnut"!==n.type&&"funnel"!==n.type&&"pyramid"!==n.type){var q=n.legendMarkerType=n.legendMarkerType?n.legendMarkerType:"line"!==n.type&&"stepLine"!==n.type&&"spline"!==n.type&&"scatter"!==n.type&&"bubble"!==n.type||!n.markerType?"error"===n.type&&n._linkedSeries?n._linkedSeries.legendMarkerType?n._linkedSeries.legendMarkerType:H.getDefaultLegendMarker(n._linkedSeries.type):
589
- H.getDefaultLegendMarker(n.type):n.markerType,k=n.legendText?n.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:n,dataPoint:null}):n.name,l=n.legendMarkerColor=n.legendMarkerColor?n.legendMarkerColor:n.markerColor?n.markerColor:"error"===n.type?f(n.whiskerColor)?n._colorSet[0]:n.whiskerColor:n._colorSet[0],s=n.markerSize||"line"!==n.type&&"stepLine"!==n.type&&"spline"!==n.type?0.75*this.lineHeight:0,t=n.legendMarkerBorderColor?n.legendMarkerBorderColor:
590
- n.markerBorderColor,u=n.legendMarkerBorderThickness?n.legendMarkerBorderThickness:n.markerBorderThickness?Math.max(1,Math.round(0.2*s)):0;"error"===n.type&&this.errorMarkerColor.push(l);k=n.legendText=this.chart.replaceKeywordsWithValue(k,n.dataPoints[0],n,p);q={markerType:q,markerColor:l,text:k,textBlock:null,chartType:n.type,markerSize:s,lineColor:n._colorSet[0],dataSeriesIndex:n.index,dataPointIndex:null,markerBorderColor:t,markerBorderThickness:u};C.push(q)}else for(var x=0;x<n.dataPoints.length;x++){var w=
306
+ this.axisX[d].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&this.axisX2[d].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&this.axisY[d].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&this.axisY2[d].crosshair.renderLabel()}if((!e||
307
+ 2<Math.abs(c)||!g||2<Math.abs(b))&&(this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:g?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:g?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(f._panTimerId),f._panTimerId=setTimeout(function(b,c,e,g){return function(){if(f._zoomPanToSelectedRegion(b,c,e,g,!0)){f.sessionVariables.disableToolTip=!0;f.resetOverlayedCanvas();f._dispatchRangeEvent("rangeChanging","pan");f.stockChart&&
308
+ (f.stockChart._rangeEventParameter.type="rangeChanging",f.stockChart.dispatchEvent("rangeChanging",f.stockChart._rangeEventParameter,f.stockChart));f.render();f._dispatchRangeEvent("rangeChanged","pan");if(f.stockChart){var d=f.stockChart.rangeSelector.sessionVariables,m=f.stockChart.rangeSelector.buttons;m&&(0<m.length&&(m[d._clickedRangeButtonIndex]&&"ytd"===m[d._clickedRangeButtonIndex].rangeType||m[d.selectedRangeButtonIndex]&&"ytd"===m[d.selectedRangeButtonIndex].rangeType))&&(f.stockChart.rangeUpdatedBy=
309
+ "navigator",f.stockChart.rangeSelector.resetRangeButtons());f.stockChart._rangeEventParameter.type="rangeChanged";f.stockChart.dispatchEvent("rangeChanged",f.stockChart._rangeEventParameter,f.stockChart)}f.dragStartPoint.x=a;f.dragStartPoint.y=h;f.sessionVariables.disableToolTip=f.disableToolTip=!1}}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,
310
+ d=g?this.dragStartPoint.y:this.plotArea.y1,C=e?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,m=g?h-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,d,e?a:this.plotArea.x2-this.plotArea.x1,g?h:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType&&"y"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,d,C,m);this.overlaidCanvasCtx.globalAlpha=
311
+ c}}else if(this.toolTip.mouseMoveHandler(a,h),"none"!==this.plotInfo.axisPlacement){this.sessionVariables._dataHighlighted||this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].sessionVariables.crosshairShownByPixel=!0,this.axisX[d].renderCrosshair(a,h));if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].sessionVariables.crosshairShownByPixel=
312
+ !0,this.axisX2[d].renderCrosshair(a,h));if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&(this.axisY[d].sessionVariables.crosshairShownByPixel=!0,this.axisY[d].renderCrosshair(a,h));if(this.axisY2&&0<this.axisY2.length)for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].sessionVariables.crosshairShownByPixel=!0,this.axisY2[d].renderCrosshair(a,h));if(this.axisX&&0<this.axisX.length)for(d=
313
+ 0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&this.axisX[d].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&this.axisX2[d].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&this.axisY[d].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(d=0;d<
314
+ this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&this.axisY2[d].crosshair.renderLabel()}};l.prototype._zoomPanToSelectedRegion=function(a,h,c,b,e){a=this.validateRegion(a,h,c,b,e);h=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<h.length;b++){e=h[b];var g=c[b];e.setViewPortRange(g.val1,g.val2);this.syncCharts&&("axisX"===e.type&&"y"!=this.zoomType)&&this.syncCharts(g.val1,g.val2);this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,
315
+ source:"chart",index:this.stockChart.charts.indexOf(this),minimum:g.val1,maximum:g.val2})}return a.isValid};l.prototype.validateRegion=function(a,h,c,b,e){e=e||!1;for(var g=0<=this.zoomType.indexOf("x"),f=0<=this.zoomType.indexOf("y"),d=!1,C=[],m=[],p=[],n=0;n<this._axes.length;n++)("axisX"===this._axes[n].type&&g||"axisY"===this._axes[n].type&&f)&&m.push(this._axes[n]);for(f=0;f<m.length;f++){var n=m[f],g=!1,q=n.convertPixelToValue({x:a,y:h}),k=n.convertPixelToValue({x:c,y:b});if(q>k)var z=k,k=q,
316
+ q=z;if(n.scaleBreaks)for(z=0;!g&&z<n.scaleBreaks._appliedBreaks.length;z++)g=n.scaleBreaks._appliedBreaks[z].startValue<=q&&n.scaleBreaks._appliedBreaks[z].endValue>=k;if(isFinite(n.dataInfo.minDiff))if(z=n.getApparentDifference(q,k,null,!0),!(g||!(this.panEnabled&&n.scaleBreaks&&n.scaleBreaks._appliedBreaks.length)&&(n.logarithmic&&z<Math.pow(n.dataInfo.minDiff,3)||!n.logarithmic&&z<3*Math.abs(n.dataInfo.minDiff))||q<n.minimum||k>n.maximum))C.push(n),p.push({val1:q,val2:k}),d=!0;else if(!e){d=!1;
317
+ break}}return{isValid:d,axesWithValidRange:C,axesRanges:p}};l.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var h=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=h.x1<c.lineCoordinates.x2?h.x1:c.lineCoordinates.x1;a.y1=h.y1<c.lineCoordinates.y1?h.y1:c.lineCoordinates.y1;
318
+ a.x2=h.x2>c.lineCoordinates.x2?h.x2:c.lineCoordinates.x2;a.y2=h.y1>c.lineCoordinates.y2?h.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=h.x1<c.lineCoordinates.x2?h.x1:c.lineCoordinates.x1,a.y1=h.y1<c.lineCoordinates.y1?h.y1:c.lineCoordinates.y1,a.x2=h.x2>c.lineCoordinates.x2?h.x2:c.lineCoordinates.x2,a.y2=h.y2>c.lineCoordinates.y2?h.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else h=this.layoutManager.getFreeSpace(),
319
+ a.x1=h.x1,a.x2=h.x2,a.y1=h.y1,a.y2=h.y2,a.width=h.width,a.height=h.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};l.prototype.renderIndexLabels=function(a){var h=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,g=0,d=e=g=0,K=0,S=b=0,m=0;for(a=0;a<this._indexLabels.length;a++){var p=this._indexLabels[a],n=p.chartType.toLowerCase(),q,k,K=pa("indexLabelFontColor",
320
+ p.dataPoint,p.dataSeries),z=pa("indexLabelFontSize",p.dataPoint,p.dataSeries),S=pa("indexLabelFontFamily",p.dataPoint,p.dataSeries),m=pa("indexLabelFontStyle",p.dataPoint,p.dataSeries);q=pa("indexLabelFontWeight",p.dataPoint,p.dataSeries);var r=pa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries);k=pa("indexLabelBorderColor",p.dataPoint,p.dataSeries);var g=pa("indexLabelBorderThickness",p.dataPoint,p.dataSeries),e=pa("indexLabelMaxWidth",p.dataPoint,p.dataSeries),d=pa("indexLabelWrap",p.dataPoint,
321
+ p.dataSeries),U=pa("indexLabelLineDashType",p.dataPoint,p.dataSeries),u=pa("indexLabelLineColor",p.dataPoint,p.dataSeries),x=f(p.dataPoint.indexLabelLineThickness)?f(p.dataSeries.options.indexLabelLineThickness)?0:p.dataSeries.options.indexLabelLineThickness:p.dataPoint.indexLabelLineThickness,b=0<x?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,w=pa("indexLabelPadding",p.dataPoint,p.dataSeries),B={percent:null,total:null},l=null;if(0<=p.dataSeries.type.indexOf("stacked")||
322
+ "pie"===p.dataSeries.type||"doughnut"===p.dataSeries.type)B=this.getPercentAndTotal(p.dataSeries,p.dataPoint);if(p.dataSeries.indexLabelFormatter||p.dataPoint.indexLabelFormatter)l={chart:this,dataSeries:p.dataSeries,dataPoint:p.dataPoint,index:p.indexKeyword,total:B.total,percent:B.percent};var t=p.dataPoint.indexLabelFormatter?p.dataPoint.indexLabelFormatter(l):p.dataPoint.indexLabel?this.replaceKeywordsWithValue(p.dataPoint.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):p.dataSeries.indexLabelFormatter?
323
+ p.dataSeries.indexLabelFormatter(l):p.dataSeries.indexLabel?this.replaceKeywordsWithValue(p.dataSeries.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):null;if(null!==t&&""!==t){var B=pa("indexLabelPlacement",p.dataPoint,p.dataSeries),l=pa("indexLabelOrientation",p.dataPoint,p.dataSeries),s=pa("indexLabelTextAlign",p.dataPoint,p.dataSeries),A=p.direction,N=p.dataSeries.axisX,y=p.dataSeries.axisY,da=!1,r=new na(h,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:(d?5*z:1.5*z)+("object"===typeof w?
324
+ (w.top||0)+(w.bottom||0):2*w),angle:"horizontal"===l?0:-90,text:t,padding:w,backgroundColor:r,borderColor:k,borderThickness:g,textAlign:s,fontSize:z,fontFamily:S,fontWeight:q,fontColor:K,fontStyle:m,textBaseline:"middle"});r.measureText();p.dataSeries.indexLabelMaxWidth=r.maxWidth;if("stackedarea100"===n){if(p.point.x<c.x1||p.point.x>c.x2||p.point.y<c.y1-1||p.point.y>c.y2+1)continue}else if("rangearea"===n||"rangesplinearea"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||
325
+ Math.max.apply(null,p.dataPoint.y)<y.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>y.viewportMaximum)continue}else if(0<=n.indexOf("line")||0<=n.indexOf("area")||0<=n.indexOf("bubble")||0<=n.indexOf("scatter")){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.dataPoint.y<y.viewportMinimum||p.dataPoint.y>y.viewportMaximum)continue}else if(0<=n.indexOf("column")){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||(0<p.dataPoint.y.length?Math.max.apply(null,
326
+ p.dataPoint.y):p.cumulativeY?p.cumulativeY:p.dataPoint.y)<y.viewportMinimum||(0<p.dataPoint.y.length?Math.min.apply(null,p.dataPoint.y):p.cumulativeY?p.cumulativeY-p.dataPoint.y:0)>y.viewportMaximum)continue}else if("waterfall"===n||"error"===n&&!p.axisSwapped){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.bounds.y1>c.y2||p.bounds.y2<c.y1)continue}else if(0<=n.indexOf("bar")||"error"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||p.bounds.x1>c.x2||
327
+ p.bounds.x2<c.x1)continue}else if("candlestick"===n||"ohlc"===n){if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<y.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>y.viewportMaximum)continue}else if(p.dataPoint.x<N.viewportMinimum||p.dataPoint.x>N.viewportMaximum)continue;d=K=2;"horizontal"===l?(S=r.width,m=r.height):(m=r.width,S=r.height);if("normal"===this.plotInfo.axisPlacement){if(0<=n.indexOf("line")||0<=n.indexOf("area"))B="auto",K=
328
+ 4;else if(0<=n.indexOf("stacked"))"auto"===B&&(B="inside");else if("bubble"===n||"scatter"===n)B="inside";q=p.point.x-S/2+("horizontal"===l?0:r._lineHeight/2);if("inside"!==B)e=c.y1,g=c.y2,0<A?(k=p.point.y+r._lineHeight/2-m-K-b,k<e&&(k="auto"===B?Math.max(p.point.y,e)+r._lineHeight/2+K+b:e+r._lineHeight/2+K+b,da=k+("horizontal"===l?m-r._lineHeight/2:0)>p.point.y,!da||(0<=n.indexOf("line")||0<=n.indexOf("area"))||(k-=b))):(k=p.point.y+r._lineHeight/2+K+b,k>g-m+r._lineHeight/2-K&&(k="auto"===B?Math.min(p.point.y,
329
+ g)+r._lineHeight/2-m-K-b:g+r._lineHeight/2-m-K-b,da=k-("horizontal"===l?r._lineHeight/2:m)<p.point.y,!da||(0<=n.indexOf("line")||0<=n.indexOf("area"))||(k+=b)));else{Math.max(p.bounds.y1,c.y1);g=Math.min(p.bounds.y2,c.y2)-m+r._lineHeight/2;b=0<=n.indexOf("range")||"error"===n?0<A?Math.max(p.bounds.y1,c.y1)+r._lineHeight/2+K:Math.min(p.bounds.y2,c.y2)+r._lineHeight/2-m-K:(Math.max(p.bounds.y1,c.y1)+Math.min(p.bounds.y2,c.y2))/2-m/2+r._lineHeight/2;if(0<A){if(k=b,"bubble"===n||"scatter"===n)k=p.point.y-
330
+ m/2+r._lineHeight/2,m>p.bounds.y2-p.bounds.y1&&(k-=m/2+K),0>k-r._lineHeight/2&&(k+=Math.abs(k-r._lineHeight/2)<=(p.bounds.y2-p.bounds.y1)/2+K?Math.abs(k-r._lineHeight/2):(p.bounds.y2-p.bounds.y1)/2+K)}else k=Math.min(p.point.y,b),k>g-m-K&&("bubble"===n||"scatter"===n)&&(k=Math.min(p.point.y+K,c.y2-m-K));k=Math.min(k,g)}}else 0<=n.indexOf("line")||0<=n.indexOf("area")||0<=n.indexOf("scatter")?(B="auto",d=4):0<=n.indexOf("stacked")?"auto"===B&&(B="inside"):"bubble"===n&&(B="inside"),k=p.point.y+r._lineHeight/
331
+ 2-m/2,"inside"!==B?(g=c.x1,e=c.x2,0>A?(q=p.point.x-S+("horizontal"===l?0:r._lineHeight/2)-d-b,("horizontal"===l?q:q-r._lineHeight/2)<g&&(q="auto"===B?Math.max(p.point.x,g)+("horizontal"===l?0:r._lineHeight/2)+K+b:g+("horizontal"===l?0:r._lineHeight/2)+d,(da=q+S-("horizontal"===l?0:r._lineHeight/2)>p.point.x)&&(q-=b))):(q=p.point.x+("horizontal"===l?0:r._lineHeight/2)+d+b,("horizontal"===l?q:q-r._lineHeight/2)>e-S-d-b&&(q="auto"===B?Math.min(p.point.x,e)-("horizontal"===l?S:S-r._lineHeight/2)-d-b:
332
+ e-S-d+("horizontal"===l?0:r._lineHeight/2),(da=q-("horizontal"===l?0:r._lineHeight/2)<p.point.x)&&(q+=b)))):(g=Math.max(p.bounds.x1,c.x1),Math.min(p.bounds.x2,c.x2),b=0<=n.indexOf("range")||"error"===n?0>A?Math.max(p.bounds.x1,c.x1):Math.min(p.bounds.x2,c.x2)-S-d+("horizontal"===l?0:r._lineHeight/2):(Math.max(p.bounds.x1,c.x1)+Math.min(p.bounds.x2,c.x2))/2-S/2+("horizontal"===l?0:r._lineHeight/2),q=0>A?b:Math.min(p.point.x,b),q=Math.max(q,g+("horizontal"===l?0:r._lineHeight/2+K)));"vertical"===l&&
333
+ (k+=m-r._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(n)&&(da=0<A?k+("horizontal"===l?m-r._lineHeight/2:0)>p.point.y:k-("horizontal"===l?r._lineHeight/2:m)<p.point.y),"bubble"===n||"scatter"===n)&&(q+=r._lineHeight/2-z/2);r.x=q;r.y=k;r.render(!0);x&&("inside"!==B&&(0>n.indexOf("bar")&&("error"!==n||!p.axisSwapped)&&p.point.x>c.x1&&p.point.x<c.x2||!da)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(n)&&
334
+ ("error"!==n||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!da))&&(h.lineWidth=x,h.strokeStyle=u?u:"gray",h.setLineDash&&h.setLineDash(Q(U,x)),h.beginPath(),h.moveTo(p.point.x,p.point.y),0<=n.indexOf("bar")||"error"===n&&p.axisSwapped?h.lineTo(q+(0<p.direction?0:S)+("vertical"===l?-r._lineHeight/2:0),k+("vertical"===l?-m/2:m/2-r._lineHeight/2)):0<=n.indexOf("column")||"error"===n&&!p.axisSwapped?h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),k+("vertical"===l?k-m<p.point.y?0:-m:(k-r._lineHeight/
335
+ 2<p.point.y?m:0)-r._lineHeight/2)):0<=n.indexOf("waterfall")?h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),"vertical"===l?0<A&&k<p.point.y?k:0>A&&k-m>p.point.y?k-m:p.point.y:0<A&&k+m-r._lineHeight/2<p.point.y?k+m-r._lineHeight/2:0>A&&k-r._lineHeight/2>p.point.y?k-r._lineHeight/2:p.point.y):h.lineTo(q+S/2-("horizontal"===l?0:r._lineHeight/2),k+("vertical"===l?k-m<p.point.y?0:-m:(k+m-r._lineHeight/2<p.point.y?m:0)-r._lineHeight/2)),h.stroke())}}h={source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,
336
+ easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],r=pa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),p.dataSeries.indexLabelBackgroundColor=f(r)?v?"transparent":null:r;return h};l.prototype.renderLine=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,
337
+ e.width,e.height);c.clip();for(var g=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];c.lineWidth=m.lineThickness;var p=m.dataPoints,n="solid";if(c.setLineDash){var q=Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);c.setLineDash(k)}var z=m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);b.strokeStyle=z;b.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,db=z=m.lineColor=
338
+ m.options.lineColor?m.options.lineColor:z[0];c.strokeStyle=z;var U=!0,u=0,x,w;c.beginPath();if(0<p.length){for(var l=!1,u=0;u<p.length;u++)if(x=p[u].x.getTime?p[u].x.getTime():p[u].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!l)))if("number"!==typeof p[u].y)0<u&&!(m.connectNullData||l||U)&&(c.stroke(),v&&b.stroke()),l=!0;else{x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(p[u].y);var t=m.dataPointIds[u];this._eventManager.objectMap[t]={id:t,
339
+ objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:u,x1:x,y1:w};U||l?(!U&&m.connectNullData?(c.setLineDash&&(m.options.nullDataLineDashType||n===m.lineDashType&&m.lineDashType!==m.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),n=m.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,w),v&&b.lineTo(x,w)):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),l=U=!1):(c.lineTo(x,w),v&&b.lineTo(x,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),
340
+ b.moveTo(x,w))));f={x:x,y:w};u<p.length-1&&(db!==(p[u].lineColor||z)||n!==(p[u].lineDashType||m.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),db=p[u].lineColor||z,c.strokeStyle=db,c.setLineDash&&(p[u].lineDashType?(n=p[u].lineDashType,c.setLineDash(Q(n,m.lineThickness))):(n=m.lineDashType,c.setLineDash(k))));if(0!==p[u].markerSize&&(0<p[u].markerSize||0<m.markerSize)){var s=m.getMarkerProperties(u,x,w,c);g.push(s);t=X(t);v&&g.push({x:x,y:w,ctx:b,type:s.type,size:s.size,color:t,borderColor:t,
341
+ borderThickness:s.borderThickness})}(p[u].indexLabel||m.indexLabel||p[u].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:m,point:{x:x,y:w},direction:0>p[u].y===a.axisY.reversed?1:-1,color:z})}c.stroke();v&&b.stroke()}}B.drawMarkers(g);v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
342
+ c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStepLine=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=
343
+ this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var g=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];c.lineWidth=m.lineThickness;var p=m.dataPoints,n="solid";if(c.setLineDash){var q=Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);c.setLineDash(k)}var z=m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);b.strokeStyle=z;
344
+ b.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,l=z=m.lineColor=m.options.lineColor?m.options.lineColor:z[0];c.strokeStyle=z;var U=!0,u=0,x,w;c.beginPath();if(0<p.length){for(var t=!1,u=0;u<p.length;u++)if(x=p[u].getTime?p[u].x.getTime():p[u].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!t)))if("number"!==typeof p[u].y)0<u&&!(m.connectNullData||t||U)&&(c.stroke(),v&&b.stroke()),t=!0;else{var s=w;x=a.axisX.convertValueToPixel(x);
345
+ w=a.axisY.convertValueToPixel(p[u].y);var G=m.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:u,x1:x,y1:w};U||t?(!U&&m.connectNullData?(c.setLineDash&&(m.options.nullDataLineDashType||n===m.lineDashType&&m.lineDashType!==m.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),n=m.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,s),c.lineTo(x,w),v&&(b.lineTo(x,s),b.lineTo(x,w))):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),
346
+ b.moveTo(x,w))),t=U=!1):(c.lineTo(x,s),v&&b.lineTo(x,s),c.lineTo(x,w),v&&b.lineTo(x,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));f={x:x,y:w};u<p.length-1&&(l!==(p[u].lineColor||z)||n!==(p[u].lineDashType||m.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),l=p[u].lineColor||z,c.strokeStyle=l,c.setLineDash&&(p[u].lineDashType?(n=p[u].lineDashType,c.setLineDash(Q(n,m.lineThickness))):(n=m.lineDashType,c.setLineDash(k))));0!==p[u].markerSize&&
347
+ (0<p[u].markerSize||0<m.markerSize)&&(s=m.getMarkerProperties(u,x,w,c),g.push(s),G=X(G),v&&g.push({x:x,y:w,ctx:b,type:s.type,size:s.size,color:G,borderColor:G,borderThickness:s.borderThickness}));(p[u].indexLabel||m.indexLabel||p[u].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],dataSeries:m,point:{x:x,y:w},direction:0>p[u].y===a.axisY.reversed?1:-1,color:z})}c.stroke();v&&b.stroke()}}B.drawMarkers(g);v&&(h.drawImage(this._preRenderCanvas,
348
+ 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,
349
+ animationBase:0}}};l.prototype.renderSpline=function(a){function h(a){a=t(a,2);if(0<a.length){b.beginPath();v&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&e.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||
350
+ a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),v&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&e.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var g=this.plotArea;b.beginPath();b.rect(g.x1,g.y1,g.width,g.height);
351
+ b.clip();for(var f=[],d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r];b.lineWidth=m.lineThickness;var p=m.dataPoints,n="solid";if(b.setLineDash){var q=Q(m.nullDataLineDashType,m.lineThickness),n=m.lineDashType,k=Q(n,m.lineThickness);b.setLineDash(k)}var z=m.id;this._eventManager.objectMap[z]={objectType:"dataSeries",dataSeriesIndex:r};z=X(z);e.strokeStyle=z;e.lineWidth=0<m.lineThickness?Math.max(m.lineThickness,4):0;var z=m._colorSet,l=z=m.lineColor=m.options.lineColor?
352
+ m.options.lineColor:z[0];b.strokeStyle=z;var U=0,u,x,w=[];b.beginPath();if(0<p.length)for(x=!1,U=0;U<p.length;U++)if(u=p[U].getTime?p[U].x.getTime():p[U].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!x)))if("number"!==typeof p[U].y)0<U&&!x&&(m.connectNullData?b.setLineDash&&(0<w.length&&(m.options.nullDataLineDashType||!p[U-1].lineDashType))&&(w[w.length-1].newLineDashArray=q,n=m.nullDataLineDashType):(h(w),w=[])),x=!0;else{u=a.axisX.convertValueToPixel(u);
353
+ x=a.axisY.convertValueToPixel(p[U].y);var s=m.dataPointIds[U];this._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:U,x1:u,y1:x};w[w.length]={x:u,y:x};U<p.length-1&&(l!==(p[U].lineColor||z)||n!==(p[U].lineDashType||m.lineDashType))&&(l=p[U].lineColor||z,w[w.length-1].newStrokeStyle=l,b.setLineDash&&(p[U].lineDashType?(n=p[U].lineDashType,w[w.length-1].newLineDashArray=Q(n,m.lineThickness)):(n=m.lineDashType,w[w.length-1].newLineDashArray=k)));if(0!==p[U].markerSize&&
354
+ (0<p[U].markerSize||0<m.markerSize)){var Ya=m.getMarkerProperties(U,u,x,b);f.push(Ya);s=X(s);v&&f.push({x:u,y:x,ctx:e,type:Ya.type,size:Ya.size,color:s,borderColor:s,borderThickness:Ya.borderThickness})}(p[U].indexLabel||m.indexLabel||p[U].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:p[U],dataSeries:m,point:{x:u,y:x},direction:0>p[U].y===a.axisY.reversed?1:-1,color:z});x=!1}h(w)}B.drawMarkers(f);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,
355
+ this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(g.x1,g.y1,g.width,g.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,
356
+ animationBase:0}}};l.prototype.renderColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,f,d,r,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,
357
+ 0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>p&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<g)&&(p=Math.max(this.options.dataPointWidth?
358
+ this.dataPointWidth:-Infinity,g));n<g&&(n=g);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],k=this.data[q],z=k.dataPoints;if(0<z.length)for(var l=5<n&&k.bevelEnabled?!0:!1,g=0;g<z.length;g++)if(z[g].getTime?r=z[g].x.getTime():
359
+ r=z[g].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax)&&"number"===typeof z[g].y){f=a.axisX.convertValueToPixel(r);d=a.axisY.convertValueToPixel(z[g].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:f-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+p)*n<<0;var U=a.axisX.reversed?f-n<<0:f+n<<0,u;if(0<=z[g].y){if(u=m,d>u){var x=d;d=u;u=x}}else u=d,d=m,d>u&&(x=d,d=u,u=x);var x=Math.max(d,e.y1),w=Math.min(u,e.y2),b=z[g].color?z[g].color:
360
+ k._colorSet[g%k._colorSet.length];P(c,a.axisX.reversed?U:f,x,a.axisX.reversed?f:U,w,b,0,null,l&&(a.axisY.reversed?0>z[g].y:0<=z[g].y),(a.axisY.reversed?0<=z[g].y:0>z[g].y)&&l,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:g,x1:f,y1:x,x2:U,y2:w};b=X(b);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?U:f,x,a.axisX.reversed?f:U,w,b,0,null,!1,!1,!1,!1);(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)&&
361
+ this._indexLabels.push({chartType:"column",dataPoint:z[g],dataSeries:k,point:{x:f+(U-f)/2,y:0>z[g].y===a.axisY.reversed?d:u},direction:0>z[g].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:U,y2:Math.max(d,u)},color:b})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
362
+ this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:m<a.axisY.bounds.y1?a.axisY.bounds.y1:m>a.axisY.bounds.y2?a.axisY.bounds.y2:m}}};l.prototype.renderStackedColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=
363
+ null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,z=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?
364
+ Math.log(l)/Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>z&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,z));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&z<m)&&(z=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,m));l<m&&(l=m);l>z&&(l=z);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
365
+ this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(z=0;z<a.dataSeriesIndexes.length;z++){var U=a.dataSeriesIndexes[z],u=this.data[U],x=u.dataPoints;if(0<x.length){var w=5<l&&u.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(m=0;m<x.length;m++)if(q=x[m].x.getTime?x[m].x.getTime():x[m].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[m].y){p=a.axisX.convertValueToPixel(q);p=p-a.plotType.plotUnits.length*l/2+a.index*
366
+ l<<0;var B=p+l<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[m].y)d[q]=x[m].y+(d[q]?d[q]:0),0<d[q]&&(n=a.axisY.convertValueToPixel(d[q]),s="undefined"!==typeof g[q]?g[q]:k,g[q]=n);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[m].y)r[q]=x[m].y+(r[q]?r[q]:0),s=a.axisY.convertValueToPixel(r[q]),n="undefined"!==typeof f[q]?f[q]:k,f[q]=s;else if(n=a.axisY.convertValueToPixel(x[m].y),0<=x[m].y){var t="undefined"!==typeof g[q]?
367
+ g[q]:0;n-=t;s=k-t;g[q]=t+(s-n)}else t=f[q]?f[q]:0,s=n+t,n=k+t,f[q]=t+(s-n);b=x[m].color?x[m].color:u._colorSet[m%u._colorSet.length];q=Math.max(n,e.y1);t=Math.min(s,e.y2);P(c,p,a.axisY.reversed?t:q,B,a.axisY.reversed?q:t,b,0,null,w&&(a.axisY.reversed?0>x[m].y:0<=x[m].y),(a.axisY.reversed?0<=x[m].y:0>x[m].y)&&w,!1,!1,u.fillOpacity);b=u.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:U,dataPointIndex:m,x1:p,y1:q,x2:B,y2:t};b=X(b);v&&P(this._eventManager.ghostCtx,
368
+ p,q,B,t,b,0,null,!1,!1,!1,!1);(x[m].indexLabel||u.indexLabel||x[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:x[m],dataSeries:u,point:{x:p+(B-p)/2,y:0<=x[m].y?n:s},direction:0>x[m].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(n,s),x2:B,y2:Math.max(n,s)},color:b,cumulativeY:u.dataPointEOs[m].cumulativeY})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
369
+ c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:k<a.axisY.bounds.y1?a.axisY.bounds.y1:k>a.axisY.bounds.y2?
370
+ a.axisY.bounds.y2:k}}};l.prototype.renderStackedColumn100=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
371
+ 0.15*this.width<<0;var z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>q&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<m)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:
372
+ -Infinity,m));z<m&&(z=m);z>q&&(z=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var l=0;l<a.dataSeriesIndexes.length;l++){var U=a.dataSeriesIndexes[l],u=this.data[U],x=u.dataPoints;if(0<x.length)for(var w=5<z&&u.bevelEnabled?!0:!1,m=0;m<x.length;m++)if(q=x[m].x.getTime?x[m].x.getTime():x[m].x,!(q<
373
+ a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[m].y){p=a.axisX.convertValueToPixel(q);n=0!==a.dataPointYSums[q]?100*(x[m].y/a.dataPointYSums[q]):0;p=p-a.plotType.plotUnits.length*z/2+a.index*z<<0;var B=p+z<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[m].y){d[q]=n+("undefined"!==typeof d[q]?d[q]:0);if(0>=d[q])continue;n=a.axisY.convertValueToPixel(d[q]);s=g[q]?g[q]:k;g[q]=n}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
374
+ 0>=x[m].y?(r[q]=n+("undefined"!==typeof r[q]?r[q]:0),s=a.axisY.convertValueToPixel(r[q]),n=f[q]?f[q]:k,f[q]=s):(n=a.axisY.convertValueToPixel(n),0<=x[m].y?(b="undefined"!==typeof g[q]?g[q]:0,n-=b,s=k-b,a.dataSeriesIndexes.length-1===l&&1>=Math.abs(e.y1-n)&&(n=e.y1),g[q]=b+(s-n)):(b="undefined"!==typeof f[q]?f[q]:0,s=n+b,n=k+b,a.dataSeriesIndexes.length-1===l&&1>=Math.abs(e.y2-s)&&(s=e.y2),f[q]=b+(s-n)));b=x[m].color?x[m].color:u._colorSet[m%u._colorSet.length];P(c,p,a.axisY.reversed?s:n,B,a.axisY.reversed?
375
+ n:s,b,0,null,w&&(a.axisY.reversed?0>x[m].y:0<=x[m].y),(a.axisY.reversed?0<=x[m].y:0>x[m].y)&&w,!1,!1,u.fillOpacity);b=u.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:U,dataPointIndex:m,x1:p,y1:n,x2:B,y2:s};b=X(b);v&&P(this._eventManager.ghostCtx,p,n,B,s,b,0,null,!1,!1,!1,!1);(x[m].indexLabel||u.indexLabel||x[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:x[m],dataSeries:u,point:{x:p+(B-p)/
376
+ 2,y:0<=x[m].y?n:s},direction:0>x[m].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(n,s),x2:B,y2:Math.max(n,s)},color:b,yCumulative:100*(u.dataPointEOs[m].cumulativeY/a.dataPointYSums[q])})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
377
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:k<a.axisY.bounds.y1?a.axisY.bounds.y1:k>a.axisY.bounds.y2?a.axisY.bounds.y2:k}}};l.prototype.renderBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,f,d,r,
378
+ m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*
379
+ (a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>p&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<g)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));n<g&&(n=g);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
380
+ this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],k=this.data[q],z=k.dataPoints;if(0<z.length){var l=5<n&&k.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(g=0;g<z.length;g++)if(z[g].getTime?r=z[g].x.getTime():r=z[g].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax)&&"number"===typeof z[g].y){d=a.axisX.convertValueToPixel(r);f=a.axisY.convertValueToPixel(z[g].y);
381
+ d=a.axisX.reversed?d+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:d-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+p)*n<<0;var U=a.axisX.reversed?d-n<<0:d+n<<0,u;0<=z[g].y?u=m:(u=f,f=m);b=z[g].color?z[g].color:k._colorSet[g%k._colorSet.length];P(c,a.axisY.reversed?f:u,a.axisX.reversed?U:d,a.axisY.reversed?u:f,a.axisX.reversed?d:U,b,0,null,l,!1,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:g,
382
+ x1:u,y1:d,x2:f,y2:U};b=X(b);v&&P(this._eventManager.ghostCtx,u,a.axisX.reversed?U:d,f,a.axisX.reversed?d:U,b,0,null,!1,!1,!1,!1);(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:z[g],dataSeries:k,point:{x:0<=z[g].y?f:u,y:d+(U-d)/2},direction:0>z[g].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:U},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation=
383
+ "source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:m<a.axisY.bounds.x1?
384
+ a.axisY.bounds.x1:m>a.axisY.bounds.x2?a.axisY.bounds.x2:m}}};l.prototype.renderStackedBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
385
+ this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>k&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<m)&&(k=Math.max(this.options.dataPointWidth?
386
+ this.dataPointWidth:-Infinity,m));z<m&&(z=m);z>k&&(z=k);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(k=0;k<a.dataSeriesIndexes.length;k++){var l=a.dataSeriesIndexes[k],U=this.data[l],u=U.dataPoints;if(0<u.length){var x=5<z&&U.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(m=0;m<u.length;m++)if(b=
387
+ u[m].x.getTime?u[m].x.getTime():u[m].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[m].y){n=a.axisX.convertValueToPixel(b);n=n-a.plotType.plotUnits.length*z/2+a.index*z<<0;var w=n+z<<0,B;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[m].y)d[b]=u[m].y+(d[b]?d[b]:0),0<d[b]&&(B=g[b]?g[b]:q,g[b]=p=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[m].y)r[b]=
388
+ u[m].y+(r[b]?r[b]:0),p=f[b]?f[b]:q,f[b]=B=a.axisY.convertValueToPixel(r[b]);else if(p=a.axisY.convertValueToPixel(u[m].y),0<=u[m].y){var s=g[b]?g[b]:0;B=q+s;p+=s;g[b]=s+(p-B)}else s=f[b]?f[b]:0,B=p-s,p=q-s,f[b]=s+(p-B);b=u[m].color?u[m].color:U._colorSet[m%U._colorSet.length];P(c,a.axisY.reversed?p:B,n,a.axisY.reversed?B:p,w,b,0,null,x,!1,!1,!1,U.fillOpacity);b=U.dataPointIds[m];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:B,y1:n,x2:p,y2:w};b=
389
+ X(b);v&&P(this._eventManager.ghostCtx,B,n,p,w,b,0,null,!1,!1,!1,!1);(u[m].indexLabel||U.indexLabel||u[m].indexLabelFormatter||U.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[m],dataSeries:U,point:{x:0<=u[m].y?p:B,y:n+(w-n)/2},direction:0>u[m].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(B,p),y1:n,x2:Math.max(B,p),y2:w},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
390
+ 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:
391
+ q}}};l.prototype.renderStackedBar100=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=[],f=[],d=[],r=[],m=0,p,n,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*
392
+ this.height<<0,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&m>k&&(m=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<m)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,
393
+ m));z<m&&(z=m);z>k&&(z=k);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(k=0;k<a.dataSeriesIndexes.length;k++){var l=a.dataSeriesIndexes[k],B=this.data[l],u=B.dataPoints;if(0<u.length){var x=5<z&&B.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(m=0;m<u.length;m++)if(b=u[m].x.getTime?u[m].x.getTime():
394
+ u[m].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[m].y){n=a.axisX.convertValueToPixel(b);var w;w=0!==a.dataPointYSums[b]?100*(u[m].y/a.dataPointYSums[b]):0;n=n-a.plotType.plotUnits.length*z/2+a.index*z<<0;var s=n+z<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[m].y){d[b]=w+(d[b]?d[b]:0);if(0>=d[b])continue;w=g[b]?g[b]:q;g[b]=p=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
395
+ 0>=u[m].y)r[b]=w+(r[b]?r[b]:0),p=f[b]?f[b]:q,f[b]=w=a.axisY.convertValueToPixel(r[b]);else if(p=a.axisY.convertValueToPixel(w),0<=u[m].y){var t=g[b]?g[b]:0;w=q+t;p+=t;a.dataSeriesIndexes.length-1===k&&1>=Math.abs(e.x2-p)&&(p=e.x2);g[b]=t+(p-w)}else t=f[b]?f[b]:0,w=p-t,p=q-t,a.dataSeriesIndexes.length-1===k&&1>=Math.abs(e.x1-w)&&(w=e.x1),f[b]=t+(p-w);b=u[m].color?u[m].color:B._colorSet[m%B._colorSet.length];P(c,a.axisY.reversed?p:w,n,a.axisY.reversed?w:p,s,b,0,null,x,!1,!1,!1,B.fillOpacity);b=B.dataPointIds[m];
396
+ this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:w,y1:n,x2:p,y2:s};b=X(b);v&&P(this._eventManager.ghostCtx,w,n,p,s,b,0,null,!1,!1,!1,!1);(u[m].indexLabel||B.indexLabel||u[m].indexLabelFormatter||B.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[m],dataSeries:B,point:{x:0<=u[m].y?p:w,y:n+(s-n)/2},direction:0>u[m].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(w,p),y1:n,x2:Math.max(w,p),y2:s},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,
397
+ 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,
398
+ animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};l.prototype.renderArea=function(a){var h,c;function b(){A&&(0<k.lineThickness&&g.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?t=w:0>a.axisY.viewportMaximum?t=d.y1:0<a.axisY.viewportMinimum&&(t=w),g.lineTo(s,t),g.lineTo(A.x,t),g.closePath(),g.globalAlpha=k.fillOpacity,g.fill(),g.globalAlpha=1,v&&(f.lineTo(s,t),f.lineTo(A.x,t),f.closePath(),f.fill()),g.beginPath(),g.moveTo(s,
399
+ u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,g=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,r=[],m=this.plotArea,p;g.save();v&&f.save();g.beginPath();g.rect(m.x1,m.y1,m.width,m.height);g.clip();v&&(f.beginPath(),f.rect(m.x1,m.y1,m.width,m.height),f.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],k=this.data[q],z=k.dataPoints,r=k.id;this._eventManager.objectMap[r]=
400
+ {objectType:"dataSeries",dataSeriesIndex:q};r=X(r);f.fillStyle=r;r=[];h=!0;var l=0,s,u,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),t,A=null;if(0<z.length){var G=k._colorSet[l%k._colorSet.length],y=k.lineColor=k.options.lineColor||G,D=y;g.fillStyle=G;g.strokeStyle=y;g.lineWidth=k.lineThickness;c="solid";if(g.setLineDash){var N=Q(k.nullDataLineDashType,k.lineThickness);c=k.lineDashType;var V=Q(c,k.lineThickness);g.setLineDash(V)}for(var da=!0;l<z.length;l++)if(x=z[l].x.getTime?
401
+ z[l].x.getTime():z[l].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!da)))if("number"!==typeof z[l].y)k.connectNullData||(da||h)||b(),da=!0;else{s=a.axisX.convertValueToPixel(x);u=a.axisY.convertValueToPixel(z[l].y);h||da?(!h&&k.connectNullData?(g.setLineDash&&(k.options.nullDataLineDashType||c===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(h=s,c=u,s=p.x,u=p.y,b(),g.moveTo(p.x,p.y),s=h,u=c,A=p,c=k.nullDataLineDashType,g.setLineDash(N)),g.lineTo(s,
402
+ u),v&&f.lineTo(s,u)):(g.beginPath(),g.moveTo(s,u),v&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),da=h=!1):(g.lineTo(s,u),v&&f.lineTo(s,u),0==l%250&&b());p={x:s,y:u};l<z.length-1&&(D!==(z[l].lineColor||y)||c!==(z[l].lineDashType||k.lineDashType))&&(b(),D=z[l].lineColor||y,g.strokeStyle=D,g.setLineDash&&(z[l].lineDashType?(c=z[l].lineDashType,g.setLineDash(Q(c,k.lineThickness))):(c=k.lineDashType,g.setLineDash(V))));var ea=k.dataPointIds[l];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",
403
+ dataSeriesIndex:q,dataPointIndex:l,x1:s,y1:u};0!==z[l].markerSize&&(0<z[l].markerSize||0<k.markerSize)&&(x=k.getMarkerProperties(l,s,u,g),r.push(x),ea=X(ea),v&&r.push({x:s,y:u,ctx:f,type:x.type,size:x.size,color:ea,borderColor:ea,borderThickness:x.borderThickness}));(z[l].indexLabel||k.indexLabel||z[l].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:z[l],dataSeries:k,point:{x:s,y:u},direction:0>z[l].y===a.axisY.reversed?1:-1,color:G})}b();B.drawMarkers(r)}}v&&
404
+ (e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&g.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&g.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.clearRect(m.x1,m.y1,m.width,m.height),this._eventManager.ghostCtx.restore());g.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,
405
+ easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderSplineArea=function(a){function h(){var c=t(x,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var h=0;h<c.length-3;h+=3)if(b.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),v&&e.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),c[h+3].newStrokeStyle||
406
+ c[h+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[h+3].x,c[h+3].y),c[h+3].newStrokeStyle&&(b.strokeStyle=c[h+3].newStrokeStyle),c[h+3].newLineDashArray&&b.setLineDash(c[h+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);v&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(h=0;h<c.length-3;h+=3)b.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y),v&&e.bezierCurveTo(c[h+1].x,c[h+1].y,c[h+2].x,c[h+2].y,c[h+3].x,c[h+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&
407
+ 0<=a.axisY.viewportMaximum?s=l:0>a.axisY.viewportMaximum?s=g.y1:0<a.axisY.viewportMinimum&&(s=l);u={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,s);b.lineTo(u.x,s);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;v&&(e.lineTo(c[c.length-1].x,s),e.lineTo(u.x,s),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=a.axisY.lineCoordinates,f=[],d=this.plotArea;b.save();v&&
408
+ e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var m=a.dataSeriesIndexes[r],p=this.data[m],n=p.dataPoints,f=p.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:m};f=X(f);e.fillStyle=f;var f=[],q=0,k,z,l=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,u=null,x=[];if(0<n.length){var w=p._colorSet[q%p._colorSet.length],
409
+ A=p.lineColor=p.options.lineColor||w,y=A;b.fillStyle=w;b.strokeStyle=A;b.lineWidth=p.lineThickness;var G="solid";if(b.setLineDash){var D=Q(p.nullDataLineDashType,p.lineThickness),G=p.lineDashType,F=Q(G,p.lineThickness);b.setLineDash(F)}for(z=!1;q<n.length;q++)if(k=n[q].x.getTime?n[q].x.getTime():n[q].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!z)))if("number"!==typeof n[q].y)0<q&&!z&&(p.connectNullData?b.setLineDash&&(0<x.length&&(p.options.nullDataLineDashType||
410
+ !n[q-1].lineDashType))&&(x[x.length-1].newLineDashArray=D,G=p.nullDataLineDashType):(h(),x=[])),z=!0;else{k=a.axisX.convertValueToPixel(k);z=a.axisY.convertValueToPixel(n[q].y);var N=p.dataPointIds[q];this._eventManager.objectMap[N]={id:N,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:q,x1:k,y1:z};x[x.length]={x:k,y:z};q<n.length-1&&(y!==(n[q].lineColor||A)||G!==(n[q].lineDashType||p.lineDashType))&&(y=n[q].lineColor||A,x[x.length-1].newStrokeStyle=y,b.setLineDash&&(n[q].lineDashType?(G=
411
+ n[q].lineDashType,x[x.length-1].newLineDashArray=Q(G,p.lineThickness)):(G=p.lineDashType,x[x.length-1].newLineDashArray=F)));if(0!==n[q].markerSize&&(0<n[q].markerSize||0<p.markerSize)){var V=p.getMarkerProperties(q,k,z,b);f.push(V);N=X(N);v&&f.push({x:k,y:z,ctx:e,type:V.type,size:V.size,color:N,borderColor:N,borderThickness:V.borderThickness})}(n[q].indexLabel||p.indexLabel||n[q].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:n[q],dataSeries:p,
412
+ point:{x:k,y:z},direction:0>n[q].y===a.axisY.reversed?1:-1,color:w});z=!1}h();B.drawMarkers(f)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),
413
+ this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStepArea=function(a){var h,c;function b(){A&&(0<k.lineThickness&&g.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?t=w:0>a.axisY.viewportMaximum?t=d.y1:0<a.axisY.viewportMinimum&&(t=w),g.lineTo(s,t),g.lineTo(A.x,t),g.closePath(),g.globalAlpha=k.fillOpacity,g.fill(),g.globalAlpha=
414
+ 1,v&&(f.lineTo(s,t),f.lineTo(A.x,t),f.closePath(),f.fill()),g.beginPath(),g.moveTo(s,u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,g=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,r=[],m=this.plotArea,p;g.save();v&&f.save();g.beginPath();g.rect(m.x1,m.y1,m.width,m.height);g.clip();v&&(f.beginPath(),f.rect(m.x1,m.y1,m.width,m.height),f.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=
415
+ a.dataSeriesIndexes[n],k=this.data[q],z=k.dataPoints,r=k.id;this._eventManager.objectMap[r]={objectType:"dataSeries",dataSeriesIndex:q};r=X(r);f.fillStyle=r;r=[];h=!0;var l=0,s,u,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),t,A=null;c=!1;if(0<z.length){var G=k._colorSet[l%k._colorSet.length],y=k.lineColor=k.options.lineColor||G,D=y;g.fillStyle=G;g.strokeStyle=y;g.lineWidth=k.lineThickness;var N="solid";if(g.setLineDash){var V=Q(k.nullDataLineDashType,k.lineThickness),
416
+ N=k.lineDashType,da=Q(N,k.lineThickness);g.setLineDash(da)}for(;l<z.length;l++)if(x=z[l].x.getTime?z[l].x.getTime():z[l].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!c))){var ea=u;"number"!==typeof z[l].y?(k.connectNullData||(c||h)||b(),c=!0):(s=a.axisX.convertValueToPixel(x),u=a.axisY.convertValueToPixel(z[l].y),h||c?(!h&&k.connectNullData?(g.setLineDash&&(k.options.nullDataLineDashType||N===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(h=
417
+ s,c=u,s=p.x,u=p.y,b(),g.moveTo(p.x,p.y),s=h,u=c,A=p,N=k.nullDataLineDashType,g.setLineDash(V)),g.lineTo(s,ea),g.lineTo(s,u),v&&(f.lineTo(s,ea),f.lineTo(s,u))):(g.beginPath(),g.moveTo(s,u),v&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),c=h=!1):(g.lineTo(s,ea),v&&f.lineTo(s,ea),g.lineTo(s,u),v&&f.lineTo(s,u),0==l%250&&b()),p={x:s,y:u},l<z.length-1&&(D!==(z[l].lineColor||y)||N!==(z[l].lineDashType||k.lineDashType))&&(b(),D=z[l].lineColor||y,g.strokeStyle=D,g.setLineDash&&(z[l].lineDashType?(N=z[l].lineDashType,
418
+ g.setLineDash(Q(N,k.lineThickness))):(N=k.lineDashType,g.setLineDash(da)))),x=k.dataPointIds[l],this._eventManager.objectMap[x]={id:x,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:l,x1:s,y1:u},0!==z[l].markerSize&&(0<z[l].markerSize||0<k.markerSize)&&(ea=k.getMarkerProperties(l,s,u,g),r.push(ea),x=X(x),v&&r.push({x:s,y:u,ctx:f,type:ea.type,size:ea.size,color:x,borderColor:x,borderThickness:ea.borderThickness})),(z[l].indexLabel||k.indexLabel||z[l].indexLabelFormatter||k.indexLabelFormatter)&&
419
+ this._indexLabels.push({chartType:"stepArea",dataPoint:z[l],dataSeries:k,point:{x:s,y:u},direction:0>z[l].y===a.axisY.reversed?1:-1,color:G}))}b();B.drawMarkers(r)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),g.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&g.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&g.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
420
+ 0,0,this.width,this.height),g.clearRect(m.x1,m.y1,m.width,m.height),this._eventManager.ghostCtx.restore());g.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStackedArea=function(a){function h(){if(!(1>m.length)){for(0<G.lineThickness&&b.stroke();0<m.length;){var a=m.pop();b.lineTo(a.x,a.y);v&&s.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=G.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(s.closePath(),
421
+ s.fill(),s.beginPath());m=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=null,f=[],d=this.plotArea,r=[],m=[],p=[],n=[],q=0,k,z,l=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s=this._eventManager.ghostCtx,u,x,w;v&&s.beginPath();b.save();v&&s.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(s.beginPath(),s.rect(d.x1,d.y1,d.width,d.height),s.clip());for(var e=[],t=0;t<a.dataSeriesIndexes.length;t++){var A=
422
+ a.dataSeriesIndexes[t],G=this.data[A],y=G.dataPoints;G.dataPointIndexes=[];for(q=0;q<y.length;q++)A=y[q].x.getTime?y[q].x.getTime():y[q].x,G.dataPointIndexes[A]=q,e[A]||(p.push(A),e[A]=!0);p.sort($a)}for(t=0;t<a.dataSeriesIndexes.length;t++){A=a.dataSeriesIndexes[t];G=this.data[A];y=G.dataPoints;x=!0;m=[];q=G.id;this._eventManager.objectMap[q]={objectType:"dataSeries",dataSeriesIndex:A};q=X(q);s.fillStyle=q;if(0<p.length){var e=G._colorSet[0],D=G.lineColor=G.options.lineColor||e,N=D;b.fillStyle=e;
423
+ b.strokeStyle=D;b.lineWidth=G.lineThickness;w="solid";if(b.setLineDash){var V=Q(G.nullDataLineDashType,G.lineThickness);w=G.lineDashType;var da=Q(w,G.lineThickness);b.setLineDash(da)}for(var ea=!0,q=0;q<p.length;q++){var g=p[q],la=null,la=0<=G.dataPointIndexes[g]?y[G.dataPointIndexes[g]]:{x:g,y:null};if(!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax&&(!G.connectNullData||!ea)))if("number"!==typeof la.y)G.connectNullData||(ea||x)||h(),ea=!0;else{k=a.axisX.convertValueToPixel(g);var va=
424
+ r[g]?r[g]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){n[g]=la.y+(n[g]?n[g]:0);if(0>=n[g]&&a.axisY.logarithmic)continue;z=a.axisY.convertValueToPixel(n[g])}else z=a.axisY.convertValueToPixel(la.y),z-=va;m.push({x:k,y:l-va});r[g]=l-z;x||ea?(!x&&G.connectNullData?(b.setLineDash&&(G.options.nullDataLineDashType||w===G.lineDashType&&G.lineDashType!==G.nullDataLineDashType)&&(x=m.pop(),w=m[m.length-1],h(),b.moveTo(u.x,u.y),m.push(w),m.push(x),w=G.nullDataLineDashType,
425
+ b.setLineDash(V)),b.lineTo(k,z),v&&s.lineTo(k,z)):(b.beginPath(),b.moveTo(k,z),v&&(s.beginPath(),s.moveTo(k,z))),ea=x=!1):(b.lineTo(k,z),v&&s.lineTo(k,z),0==q%250&&(h(),b.moveTo(k,z),v&&s.moveTo(k,z),m.push({x:k,y:l-va})));u={x:k,y:z};q<y.length-1&&(N!==(y[q].lineColor||D)||w!==(y[q].lineDashType||G.lineDashType))&&(h(),b.beginPath(),b.moveTo(k,z),m.push({x:k,y:l-va}),N=y[q].lineColor||D,b.strokeStyle=N,b.setLineDash&&(y[q].lineDashType?(w=y[q].lineDashType,b.setLineDash(Q(w,G.lineThickness))):(w=
426
+ G.lineDashType,b.setLineDash(da))));if(0<=G.dataPointIndexes[g]){var ia=G.dataPointIds[G.dataPointIndexes[g]];this._eventManager.objectMap[ia]={id:ia,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:G.dataPointIndexes[g],x1:k,y1:z}}0<=G.dataPointIndexes[g]&&0!==la.markerSize&&(0<la.markerSize||0<G.markerSize)&&(va=G.getMarkerProperties(G.dataPointIndexes[g],k,z,b),f.push(va),g=X(ia),v&&f.push({x:k,y:z,ctx:s,type:va.type,size:va.size,color:g,borderColor:g,borderThickness:va.borderThickness}));
427
+ (la.indexLabel||G.indexLabel||la.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:la,dataSeries:G,point:{x:k,y:z},direction:0>la.y===a.axisY.reversed?1:-1,color:e})}}h();b.moveTo(k,z);v&&s.moveTo(k,z)}delete G.dataPointIndexes}B.drawMarkers(f);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
428
+ b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),s.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderStackedArea100=function(a){function h(){for(0<G.lineThickness&&b.stroke();0<m.length;){var a=m.pop();b.lineTo(a.x,a.y);v&&w.lineTo(a.x,
429
+ a.y)}b.closePath();b.globalAlpha=G.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(w.closePath(),w.fill(),w.beginPath());m=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=null,f=this.plotArea,d=[],r=[],m=[],p=[],n=[],q=0,k,z,l,s,u,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w=this._eventManager.ghostCtx;b.save();v&&w.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();v&&(w.beginPath(),
430
+ w.rect(f.x1,f.y1,f.width,f.height),w.clip());for(var e=[],t=0;t<a.dataSeriesIndexes.length;t++){var A=a.dataSeriesIndexes[t],G=this.data[A],y=G.dataPoints;G.dataPointIndexes=[];for(q=0;q<y.length;q++)A=y[q].x.getTime?y[q].x.getTime():y[q].x,G.dataPointIndexes[A]=q,e[A]||(p.push(A),e[A]=!0);p.sort($a)}for(t=0;t<a.dataSeriesIndexes.length;t++){A=a.dataSeriesIndexes[t];G=this.data[A];y=G.dataPoints;s=!0;e=G.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:A};e=X(e);w.fillStyle=
431
+ e;m=[];if(0<p.length){var e=G._colorSet[q%G._colorSet.length],D=G.lineColor=G.options.lineColor||e,N=D;b.fillStyle=e;b.strokeStyle=D;b.lineWidth=G.lineThickness;u="solid";if(b.setLineDash){var V=Q(G.nullDataLineDashType,G.lineThickness);u=G.lineDashType;var da=Q(u,G.lineThickness);b.setLineDash(da)}for(var ea=!0,q=0;q<p.length;q++){var g=p[q],la=null,la=0<=G.dataPointIndexes[g]?y[G.dataPointIndexes[g]]:{x:g,y:null};if(!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax&&(!G.connectNullData||
432
+ !ea)))if("number"!==typeof la.y)G.connectNullData||(ea||s)||h(),ea=!0;else{var va;va=0!==a.dataPointYSums[g]?100*(la.y/a.dataPointYSums[g]):0;k=a.axisX.convertValueToPixel(g);var ia=r[g]?r[g]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){n[g]=va+(n[g]?n[g]:0);if(0>=n[g]&&a.axisY.logarithmic)continue;z=a.axisY.convertValueToPixel(n[g])}else z=a.axisY.convertValueToPixel(va),z-=ia;m.push({x:k,y:x-ia});r[g]=x-z;s||ea?(!s&&G.connectNullData?(b.setLineDash&&
433
+ (G.options.nullDataLineDashType||u===G.lineDashType&&G.lineDashType!==G.nullDataLineDashType)&&(s=m.pop(),u=m[m.length-1],h(),b.moveTo(l.x,l.y),m.push(u),m.push(s),u=G.nullDataLineDashType,b.setLineDash(V)),b.lineTo(k,z),v&&w.lineTo(k,z)):(b.beginPath(),b.moveTo(k,z),v&&(w.beginPath(),w.moveTo(k,z))),ea=s=!1):(b.lineTo(k,z),v&&w.lineTo(k,z),0==q%250&&(h(),b.moveTo(k,z),v&&w.moveTo(k,z),m.push({x:k,y:x-ia})));l={x:k,y:z};q<y.length-1&&(N!==(y[q].lineColor||D)||u!==(y[q].lineDashType||G.lineDashType))&&
434
+ (h(),b.beginPath(),b.moveTo(k,z),m.push({x:k,y:x-ia}),N=y[q].lineColor||D,b.strokeStyle=N,b.setLineDash&&(y[q].lineDashType?(u=y[q].lineDashType,b.setLineDash(Q(u,G.lineThickness))):(u=G.lineDashType,b.setLineDash(da))));if(0<=G.dataPointIndexes[g]){var I=G.dataPointIds[G.dataPointIndexes[g]];this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:G.dataPointIndexes[g],x1:k,y1:z}}0<=G.dataPointIndexes[g]&&0!==la.markerSize&&(0<la.markerSize||0<G.markerSize)&&
435
+ (ia=G.getMarkerProperties(G.dataPointIndexes[g],k,z,b),d.push(ia),g=X(I),v&&d.push({x:k,y:z,ctx:w,type:ia.type,size:ia.size,color:g,borderColor:g,borderThickness:ia.borderThickness}));(la.indexLabel||G.indexLabel||la.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:la,dataSeries:G,point:{x:k,y:z},direction:0>la.y===a.axisY.reversed?1:-1,color:e})}}h();b.moveTo(k,z);v&&w.moveTo(k,z)}delete G.dataPointIndexes}B.drawMarkers(d);v&&(c.drawImage(this._preRenderCanvas,
436
+ 0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),w.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,
437
+ animationBase:0}}};l.prototype.renderBubble=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,g,f;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,r=Infinity,m=0;m<a.dataSeriesIndexes.length;m++)for(var p=
438
+ a.dataSeriesIndexes[m],n=this.data[p],q=n.dataPoints,k=0,e=0;e<q.length;e++)g=q[e].getTime?g=q[e].x.getTime():g=q[e].x,g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax||"undefined"===typeof q[e].z||(k=q[e].z,k>d&&(d=k),k<r&&(r=k));for(var z=25*Math.PI,l=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,z),m=0;m<a.dataSeriesIndexes.length;m++)if(p=a.dataSeriesIndexes[m],n=this.data[p],q=n.dataPoints,0<q.length)for(c.strokeStyle="#4572A7 ",e=0;e<q.length;e++)if(g=q[e].getTime?
439
+ g=q[e].x.getTime():g=q[e].x,!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){g=a.axisX.convertValueToPixel(g);f=a.axisY.convertValueToPixel(q[e].y);var k=q[e].z,s=2*Math.max(Math.sqrt((d===r?l/2:z+(l-z)/(d-r)*(k-r))/Math.PI)<<0,1),k=n.getMarkerProperties(e,c);k.size=s;c.globalAlpha=n.fillOpacity;B.drawMarker(g,f,c,k.type,k.size,k.color,k.borderColor,k.borderThickness);c.globalAlpha=1;var u=n.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",
440
+ dataSeriesIndex:p,dataPointIndex:e,x1:g,y1:f,size:s};s=X(u);v&&B.drawMarker(g,f,this._eventManager.ghostCtx,k.type,k.size,s,s,k.borderThickness);(q[e].indexLabel||n.indexLabel||q[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:q[e],dataSeries:n,point:{x:g,y:f},direction:1,bounds:{x1:g-k.size/2,y1:f-k.size/2,x2:g+k.size/2,y2:f+k.size/2},color:null})}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
441
+ a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderScatter=
442
+ function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,g,f;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],m=this.data[r],p=m.dataPoints;if(0<
443
+ p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var n=0,q=0,e=0;e<p.length;e++)if(g=p[e].getTime?g=p[e].x.getTime():g=p[e].x,!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[e].y){g=a.axisX.convertValueToPixel(g);f=a.axisY.convertValueToPixel(p[e].y);var k=m.getMarkerProperties(e,g,f,c);c.globalAlpha=m.fillOpacity;B.drawMarker(k.x,k.y,k.ctx,k.type,k.size,k.color,k.borderColor,k.borderThickness);c.globalAlpha=1;Math.sqrt((n-
444
+ g)*(n-g)+(q-f)*(q-f))<Math.min(k.size,5)&&p.length>Math.min(this.plotArea.width,this.plotArea.height)||(n=m.dataPointIds[e],this._eventManager.objectMap[n]={id:n,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:e,x1:g,y1:f},n=X(n),v&&B.drawMarker(k.x,k.y,this._eventManager.ghostCtx,k.type,k.size,n,n,k.borderThickness),(p[e].indexLabel||m.indexLabel||p[e].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:p[e],dataSeries:m,point:{x:g,y:f},direction:1,
445
+ bounds:{x1:g-k.size/2,y1:f-k.size/2,x2:g+k.size/2,y2:f+k.size/2},color:null}),n=g,q=f)}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());
446
+ c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderCandlestick=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=null,d=this.plotArea,r=0,s,m,p,n,q,k,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,g=this.options.dataPointMaxWidth?
447
+ this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>g&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,g));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&g<e)&&(g=Math.max(this.options.dataPointWidth?
448
+ this.dataPointWidth:-Infinity,e));z<e&&(z=e);z>g&&(z=g);c.save();v&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var l=0;l<a.dataSeriesIndexes.length;l++){var B=a.dataSeriesIndexes[l],u=this.data[B],x=u.dataPoints;if(0<x.length)for(var w=5<z&&u.bevelEnabled?!0:!1,r=0;r<x.length;r++)if(x[r].getTime?k=x[r].x.getTime():k=x[r].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!f(x[r].y)&&x[r].y.length&&
449
+ "number"===typeof x[r].y[0]&&"number"===typeof x[r].y[1]&&"number"===typeof x[r].y[2]&&"number"===typeof x[r].y[3]){s=a.axisX.convertValueToPixel(k);m=a.axisY.convertValueToPixel(x[r].y[0]);p=a.axisY.convertValueToPixel(x[r].y[1]);n=a.axisY.convertValueToPixel(x[r].y[2]);q=a.axisY.convertValueToPixel(x[r].y[3]);var t=s-z/2<<0,A=t+z<<0,g=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=x[r].color?x[r].color:u._colorSet[0],G=Math.round(Math.max(1,0.15*z)),y=0===G%2?0:0.5,D=u.dataPointIds[r];this._eventManager.objectMap[D]=
450
+ {id:D,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:r,x1:t,y1:m,x2:A,y2:p,x3:s,y3:n,x4:s,y4:q,borderThickness:G,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=G;b.lineWidth=Math.max(G,4);"candlestick"===u.type?(c.moveTo(s-y,p),c.lineTo(s-y,Math.min(m,q)),c.stroke(),c.moveTo(s-y,Math.max(m,q)),c.lineTo(s-y,n),c.stroke(),P(c,t,Math.min(m,q),A,Math.max(m,q),x[r].y[0]<=x[r].y[3]?u.risingColor:g,G,e,w,w,!1,!1,u.fillOpacity),v&&(e=X(D),b.strokeStyle=e,b.moveTo(s-y,p),b.lineTo(s-y,Math.min(m,
451
+ q)),b.stroke(),b.moveTo(s-y,Math.max(m,q)),b.lineTo(s-y,n),b.stroke(),P(b,t,Math.min(m,q),A,Math.max(m,q),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(c.moveTo(s-y,p),c.lineTo(s-y,n),c.stroke(),c.beginPath(),c.moveTo(s,m),c.lineTo(t,m),c.stroke(),c.beginPath(),c.moveTo(s,q),c.lineTo(A,q),c.stroke(),v&&(e=X(D),b.strokeStyle=e,b.moveTo(s-y,p),b.lineTo(s-y,n),b.stroke(),b.beginPath(),b.moveTo(s,m),b.lineTo(t,m),b.stroke(),b.beginPath(),b.moveTo(s,q),b.lineTo(A,q),b.stroke()));(x[r].indexLabel||u.indexLabel||
452
+ x[r].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:x[r],dataSeries:u,point:{x:t+(A-t)/2,y:a.axisY.reversed?n:p},direction:1,bounds:{x1:t,y1:Math.min(p,n),x2:A,y2:Math.max(p,n)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
453
+ this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderBoxAndWhisker=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=this.plotArea,
454
+ d=0,r,s,m,p,n,q,k,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));z=this.options.dataPointWidth?this.dataPointWidth:0.7*g.width*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>
455
+ d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));z<e&&(z=e);z>d&&(z=d);c.save();v&&b.save();c.beginPath();c.rect(g.x1,g.y1,g.width,g.height);c.clip();v&&(b.beginPath(),b.rect(g.x1,g.y1,g.width,g.height),b.clip());for(var l=!1,l=!!a.axisY.reversed,B=0;B<a.dataSeriesIndexes.length;B++){var u=a.dataSeriesIndexes[B],x=this.data[u],w=x.dataPoints;
456
+ if(0<w.length)for(var t=5<z&&x.bevelEnabled?!0:!1,d=0;d<w.length;d++)if(w[d].getTime?k=w[d].x.getTime():k=w[d].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!f(w[d].y)&&w[d].y.length&&"number"===typeof w[d].y[0]&&"number"===typeof w[d].y[1]&&"number"===typeof w[d].y[2]&&"number"===typeof w[d].y[3]&&"number"===typeof w[d].y[4]&&5===w[d].y.length){r=a.axisX.convertValueToPixel(k);s=a.axisY.convertValueToPixel(w[d].y[0]);m=a.axisY.convertValueToPixel(w[d].y[1]);p=a.axisY.convertValueToPixel(w[d].y[2]);
457
+ n=a.axisY.convertValueToPixel(w[d].y[3]);q=a.axisY.convertValueToPixel(w[d].y[4]);var A=r-z/2<<0,y=r+z/2<<0,e=w[d].color?w[d].color:x._colorSet[0],D=Math.round(Math.max(1,0.15*z)),F=0===D%2?0:0.5,N=w[d].whiskerColor?w[d].whiskerColor:w[d].color?x.whiskerColor?x.whiskerColor:w[d].color:x.whiskerColor?x.whiskerColor:e,V="number"===typeof w[d].whiskerThickness?w[d].whiskerThickness:"number"===typeof x.options.whiskerThickness?x.whiskerThickness:D,da=w[d].whiskerDashType?w[d].whiskerDashType:x.whiskerDashType,
458
+ ea=f(w[d].whiskerLength)?f(x.options.whiskerLength)?z:x.whiskerLength:w[d].whiskerLength,ea="number"===typeof ea?0>=ea?0:ea>=z?z:ea:"string"===typeof ea?parseInt(ea)*z/100>z?z:parseInt(ea)*z/100:z,la=1===Math.round(V)%2?0.5:0,va=w[d].stemColor?w[d].stemColor:w[d].color?x.stemColor?x.stemColor:w[d].color:x.stemColor?x.stemColor:e,ia="number"===typeof w[d].stemThickness?w[d].stemThickness:"number"===typeof x.options.stemThickness?x.stemThickness:D,I=1===Math.round(ia)%2?0.5:0,H=w[d].stemDashType?w[d].stemDashType:
459
+ x.stemDashType,M=w[d].lineColor?w[d].lineColor:w[d].color?x.lineColor?x.lineColor:w[d].color:x.lineColor?x.lineColor:e,L="number"===typeof w[d].lineThickness?w[d].lineThickness:"number"===typeof x.options.lineThickness?x.lineThickness:D,R=w[d].lineDashType?w[d].lineDashType:x.lineDashType,ba=1===Math.round(L)%2?0.5:0,Z=x.upperBoxColor,yb=x.lowerBoxColor,ya=f(x.options.fillOpacity)?1:x.fillOpacity,O=x.dataPointIds[d];this._eventManager.objectMap[O]={id:O,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,
460
+ x1:A,y1:s,x2:y,y2:m,x3:r,y3:p,x4:r,y4:n,y5:q,borderThickness:D,color:e,stemThickness:ia,stemColor:va,whiskerThickness:V,whiskerLength:ea,whiskerColor:N,lineThickness:L,lineColor:M};c.save();0<ia&&(c.beginPath(),c.strokeStyle=va,c.lineWidth=ia,c.setLineDash&&c.setLineDash(Q(H,ia)),c.moveTo(r-I,m),c.lineTo(r-I,s),c.stroke(),c.moveTo(r-I,n),c.lineTo(r-I,p),c.stroke());c.restore();b.lineWidth=Math.max(D,4);c.beginPath();P(c,A,Math.max(Math.min(q,m),g.y1-D/2),y,Math.min(Math.max(m,q),g.y2+D/2),yb,0,e,
461
+ l?t:!1,l?!1:t,!1,!1,ya);c.beginPath();P(c,A,Math.max(Math.min(p,q),g.y1-D/2),y,Math.min(Math.max(q,p),g.y2+D/2),Z,0,e,l?!1:t,l?t:!1,!1,!1,ya);c.beginPath();c.lineWidth=D;c.strokeStyle=e;c.rect(A-F,Math.max(Math.min(m,p)-F,g.y1-D/2),y-A+2*F,Math.min(Math.max(m,p),g.y2+D/2)-Math.max(Math.min(m,p)-F,g.y1-D/2)+2*F);c.stroke();c.save();0<L&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(Q(R,L)),c.strokeStyle=M,c.lineWidth=L,c.moveTo(A,q-ba),c.lineTo(y,q-ba),c.stroke());c.restore();c.save();
462
+ 0<V&&(c.beginPath(),c.setLineDash&&c.setLineDash(Q(da,V)),c.strokeStyle=N,c.lineWidth=V,c.moveTo(r-ea/2<<0,n-la),c.lineTo(r+ea/2<<0,n-la),c.stroke(),c.moveTo(r-ea/2<<0,s+la),c.lineTo(r+ea/2<<0,s+la),c.stroke());c.restore();v&&(e=X(O),b.strokeStyle=e,b.lineWidth=ia,0<ia&&(b.moveTo(r-F-I,m),b.lineTo(r-F-I,Math.max(s,n)),b.stroke(),b.moveTo(r-F-I,Math.min(s,n)),b.lineTo(r-F-I,p),b.stroke()),P(b,A,Math.max(m,p),y,Math.min(m,p),e,0,null,!1,!1,!1,!1),0<V&&(b.beginPath(),b.lineWidth=V,b.moveTo(r+ea/2,n-
463
+ la),b.lineTo(r-ea/2,n-la),b.stroke(),b.moveTo(r+ea/2,s+la),b.lineTo(r-ea/2,s+la),b.stroke()));(w[d].indexLabel||x.indexLabel||w[d].indexLabelFormatter||x.indexLabelFormatter)&&this._indexLabels.push({chartType:x.type,dataPoint:w[d],dataSeries:x,point:{x:A+(y-A)/2,y:a.axisY.reversed?s:n},direction:1,bounds:{x1:A,y1:Math.min(s,n),x2:y,y2:Math.max(s,n)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
464
+ 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(g.x1,g.y1,g.width,g.height),b.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeColumn=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:
465
+ h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,d,r,s,g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/
466
+ Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>d&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<g)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));m<g&&(m=g);m>d&&(m=d);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,
467
+ e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var n=a.dataSeriesIndexes[p],q=this.data[n],k=q.dataPoints;if(0<k.length)for(var z=5<m&&q.bevelEnabled?!0:!1,g=0;g<k.length;g++)if(k[g].getTime?s=k[g].x.getTime():s=k[g].x,!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax)&&!f(k[g].y)&&k[g].y.length&&"number"===typeof k[g].y[0]&&"number"===typeof k[g].y[1]){b=a.axisX.convertValueToPixel(s);d=a.axisY.convertValueToPixel(k[g].y[0]);r=a.axisY.convertValueToPixel(k[g].y[1]);
468
+ var l=a.axisX.reversed?b+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+p)*m<<0:b-a.plotType.totalDataSeries*m/2+(a.previousDataSeriesCount+p)*m<<0,B=a.axisX.reversed?l-m<<0:l+m<<0,b=k[g].color?k[g].color:q._colorSet[g%q._colorSet.length];if(d>r){var u=d;d=r;r=u}var u=Math.max(d,e.y1),x=Math.min(r,e.y2),w=q.dataPointIds[g];this._eventManager.objectMap[w]={id:w,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:g,x1:l,y1:u,x2:B,y2:x};P(c,a.axisX.reversed?B:l,u,a.axisX.reversed?l:B,
469
+ x,b,0,b,z,z,!1,!1,q.fillOpacity);b=X(w);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?B:l,u,a.axisX.reversed?l:B,x,b,0,null,!1,!1,!1,!1);if(k[g].indexLabel||q.indexLabel||k[g].indexLabelFormatter||q.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:k[g],dataSeries:q,indexKeyword:0,point:{x:l+(B-l)/2,y:k[g].y[1]>=k[g].y[0]?r:d},direction:k[g].y[1]>=k[g].y[0]?-1:1,bounds:{x1:l,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",
470
+ dataPoint:k[g],dataSeries:q,indexKeyword:1,point:{x:l+(B-l)/2,y:k[g].y[1]>=k[g].y[0]?d:r},direction:k[g].y[1]>=k[g].y[0]?1:-1,bounds:{x1:l,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b})}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
471
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderError=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,g=!1,d=this.plotArea,
472
+ r=0,s,m,p,n,q,k,z,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var B=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&B||B++;for(var x=0;x<
473
+ a.dataSeriesIndexes.length;x++){var w=a.dataSeriesIndexes[x],t=this.data[w],y=t.dataPoints,G=f(t._linkedSeries)?!1:t._linkedSeries.type.match(/(bar|column)/ig)&&t._linkedSeries.visible?!0:!1,D=0;if(G)for(e=t._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&D||(this.data[u].type.match(/(range)/ig)&&(g=!0),D++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:
474
+ 1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?B:1)))<<0:0.3*this.width;g&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?B:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(l)/Math.log(a.axisX.range):
475
+ Math.abs(l)/Math.abs(a.axisX.range))/(G?B:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&(u=e);u>r&&(u=r);if(0<y.length)for(var F=t._colorSet,r=0;r<y.length;r++){var e=t.lineColor=t.options.color?t.options.color:F[0],N={color:y[r].whiskerColor?y[r].whiskerColor:y[r].color?t.whiskerColor?t.whiskerColor:y[r].color:
476
+ t.whiskerColor?t.whiskerColor:e,thickness:f(y[r].whiskerThickness)?t.whiskerThickness:y[r].whiskerThickness,dashType:y[r].whiskerDashType?y[r].whiskerDashType:t.whiskerDashType,length:f(y[r].whiskerLength)?f(t.options.whiskerLength)?u:t.options.whiskerLength:y[r].whiskerLength,trimLength:f(y[r].whiskerLength)?f(t.options.whiskerLength)?50:0:0};N.length="number"===typeof N.length?0>=N.length?0:N.length>=u?u:N.length:"string"===typeof N.length?parseInt(N.length)*u/100>u?u:parseInt(N.length)*u/100>u:
477
+ u;N.thickness="number"===typeof N.thickness?0>N.thickness?0:Math.round(N.thickness):2;var V={color:y[r].stemColor?y[r].stemColor:y[r].color?t.stemColor?t.stemColor:y[r].color:t.stemColor?t.stemColor:e,thickness:y[r].stemThickness?y[r].stemThickness:t.stemThickness,dashType:y[r].stemDashType?y[r].stemDashType:t.stemDashType};V.thickness="number"===typeof V.thickness?0>V.thickness?0:Math.round(V.thickness):2;y[r].getTime?z=y[r].x.getTime():z=y[r].x;if(!(z<a.axisX.dataInfo.viewPortMin||z>a.axisX.dataInfo.viewPortMax)&&
478
+ !f(y[r].y)&&y[r].y.length&&"number"===typeof y[r].y[0]&&"number"===typeof y[r].y[1]){var da=a.axisX.convertValueToPixel(z);b?m=da:s=da;da=a.axisY.convertValueToPixel(y[r].y[0]);b?p=da:q=da;da=a.axisY.convertValueToPixel(y[r].y[1]);b?n=da:k=da;b?(q=a.axisX.reversed?m+(G?B:1)*u/2-(G?D-1:0)*u<<0:m-(G?B:1)*u/2+(G?D-1:0)*u<<0,k=a.axisX.reversed?q-u<<0:q+u<<0):(p=a.axisX.reversed?s+(G?B:1)*u/2-(G?D-1:0)*u<<0:s-(G?B:1)*u/2+(G?D-1:0)*u<<0,n=a.axisX.reversed?p-u<<0:p+u<<0);!b&&q>k&&(da=q,q=k,k=da);b&&p>n&&
479
+ (da=p,p=n,n=da);da=t.dataPointIds[r];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:w,dataPointIndex:r,x1:Math.min(p,n),y1:Math.min(q,k),x2:Math.max(n,p),y2:Math.max(k,q),isXYSwapped:b,stemProperties:V,whiskerProperties:N};A(c,Math.min(p,n),Math.min(q,k),Math.max(n,p),Math.max(k,q),e,N,V,b);v&&A(this._eventManager.ghostCtx,p,q,n,k,e,N,V,b);if(y[r].indexLabel||t.indexLabel||y[r].indexLabelFormatter||t.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:y[r],
480
+ dataSeries:t,indexKeyword:0,point:{x:b?y[r].y[1]>=y[r].y[0]?p:n:p+(n-p)/2,y:b?q+(k-q)/2:y[r].y[1]>=y[r].y[0]?k:q},direction:y[r].y[1]>=y[r].y[0]?-1:1,bounds:{x1:b?Math.min(p,n):p,y1:b?q:Math.min(q,k),x2:b?Math.max(p,n):n,y2:b?k:Math.max(q,k)},color:e,axisSwapped:b}),this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:t,indexKeyword:1,point:{x:b?y[r].y[1]>=y[r].y[0]?n:p:p+(n-p)/2,y:b?q+(k-q)/2:y[r].y[1]>=y[r].y[0]?q:k},direction:y[r].y[1]>=y[r].y[0]?1:-1,bounds:{x1:b?Math.min(p,n):
481
+ p,y1:b?q:Math.min(q,k),x2:b?Math.max(p,n):n,y2:b?k:Math.max(q,k)},color:e,axisSwapped:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),
482
+ this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeBar=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,g=0,d,r,s,m,g=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?
483
+ this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&g>d&&(g=Math.min(this.options.dataPointWidth?this.dataPointWidth:
484
+ Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<g)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,g));p<g&&(p=g);p>d&&(p=d);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],k=this.data[q],
485
+ z=k.dataPoints;if(0<z.length){var l=5<p&&k.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(g=0;g<z.length;g++)if(z[g].getTime?m=z[g].x.getTime():m=z[g].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax)&&!f(z[g].y)&&z[g].y.length&&"number"===typeof z[g].y[0]&&"number"===typeof z[g].y[1]){d=a.axisY.convertValueToPixel(z[g].y[0]);r=a.axisY.convertValueToPixel(z[g].y[1]);s=a.axisX.convertValueToPixel(m);s=a.axisX.reversed?s+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+n)*
486
+ p<<0:s-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+n)*p<<0;var t=a.axisX.reversed?s-p<<0:s+p<<0;d>r&&(b=d,d=r,r=b);b=z[g].color?z[g].color:k._colorSet[g%k._colorSet.length];P(c,d,a.axisX.reversed?t:s,r,a.axisX.reversed?s:t,b,0,null,l,!1,!1,!1,k.fillOpacity);b=k.dataPointIds[g];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:g,x1:d,y1:s,x2:r,y2:t};b=X(b);v&&P(this._eventManager.ghostCtx,d,a.axisX.reversed?t:s,r,a.axisX.reversed?s:t,b,0,null,
487
+ !1,!1,!1,!1);if(z[g].indexLabel||k.indexLabel||z[g].indexLabelFormatter||k.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:z[g],dataSeries:k,indexKeyword:0,point:{x:z[g].y[1]>=z[g].y[0]?d:r,y:s+(t-s)/2},direction:z[g].y[1]>=z[g].y[0]?-1:1,bounds:{x1:Math.min(d,r),y1:s,x2:Math.max(d,r),y2:t},color:b}),this._indexLabels.push({chartType:"rangeBar",dataPoint:z[g],dataSeries:k,indexKeyword:1,point:{x:z[g].y[1]>=z[g].y[0]?r:d,y:s+(t-s)/2},direction:z[g].y[1]>=z[g].y[0]?1:-1,bounds:{x1:Math.min(d,
488
+ r),y1:s,x2:Math.max(d,r),y2:t},color:b})}}}v&&(h.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();
489
+ return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};l.prototype.renderRangeArea=function(a){function h(){if(x){for(var a=null,c=r.length-1;0<=c;c--)a=r[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<p.lineThickness){b.beginPath();b.moveTo(a.x,a.y2);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y2);b.moveTo(r[0].x,r[0].y1);for(c=0;c<r.length;c++)a=r[c],
490
+ b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(s,l);e.beginPath();e.moveTo(s,l);x={x:s,y:l};r=[];r.push({x:s,y1:l,y2:t})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=[],d=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var r=[],m=a.dataSeriesIndexes[f],
491
+ p=this.data[m],n=p.dataPoints,g=p.id;this._eventManager.objectMap[g]={objectType:"dataSeries",dataSeriesIndex:m};g=X(g);e.fillStyle=g;var g=[],q=!0,k=0,s,l,t,u,x=null;if(0<n.length){var w=p._colorSet[k%p._colorSet.length],y=p.lineColor=p.options.lineColor||w,A=y;b.fillStyle=w;b.strokeStyle=y;b.lineWidth=p.lineThickness;var G="solid";if(b.setLineDash){var D=Q(p.nullDataLineDashType,p.lineThickness),G=p.lineDashType,F=Q(G,p.lineThickness);b.setLineDash(F)}for(var N=!0;k<n.length;k++)if(u=n[k].x.getTime?
492
+ n[k].x.getTime():n[k].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!N)))if(null!==n[k].y&&n[k].y.length&&"number"===typeof n[k].y[0]&&"number"===typeof n[k].y[1]){s=a.axisX.convertValueToPixel(u);l=a.axisY.convertValueToPixel(n[k].y[0]);t=a.axisY.convertValueToPixel(n[k].y[1]);q||N?(p.connectNullData&&!q?(b.setLineDash&&(p.options.nullDataLineDashType||G===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(r[r.length-1].newLineDashArray=F,G=p.nullDataLineDashType,
493
+ b.setLineDash(D)),b.lineTo(s,l),v&&e.lineTo(s,l),r.push({x:s,y1:l,y2:t})):(b.beginPath(),b.moveTo(s,l),x={x:s,y:l},r=[],r.push({x:s,y1:l,y2:t}),v&&(e.beginPath(),e.moveTo(s,l))),N=q=!1):(b.lineTo(s,l),r.push({x:s,y1:l,y2:t}),v&&e.lineTo(s,l),0==k%250&&h());u=p.dataPointIds[k];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:k,x1:s,y1:l,y2:t};k<n.length-1&&(A!==(n[k].lineColor||y)||G!==(n[k].lineDashType||p.lineDashType))&&(h(),A=n[k].lineColor||y,r[r.length-
494
+ 1].newStrokeStyle=A,b.strokeStyle=A,b.setLineDash&&(n[k].lineDashType?(G=n[k].lineDashType,r[r.length-1].newLineDashArray=Q(G,p.lineThickness),b.setLineDash(r[r.length-1].newLineDashArray)):(G=p.lineDashType,r[r.length-1].newLineDashArray=F,b.setLineDash(F))));if(0!==n[k].markerSize&&(0<n[k].markerSize||0<p.markerSize)){var V=p.getMarkerProperties(k,s,t,b);g.push(V);var da=X(u);v&&g.push({x:s,y:t,ctx:e,type:V.type,size:V.size,color:da,borderColor:da,borderThickness:V.borderThickness});V=p.getMarkerProperties(k,
495
+ s,l,b);g.push(V);da=X(u);v&&g.push({x:s,y:l,ctx:e,type:V.type,size:V.size,color:da,borderColor:da,borderThickness:V.borderThickness})}if(n[k].indexLabel||p.indexLabel||n[k].indexLabelFormatter||p.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:n[k],dataSeries:p,indexKeyword:0,point:{x:s,y:l},direction:n[k].y[0]>n[k].y[1]===a.axisY.reversed?-1:1,color:w}),this._indexLabels.push({chartType:"rangeArea",dataPoint:n[k],dataSeries:p,indexKeyword:1,point:{x:s,y:t},direction:n[k].y[0]>
496
+ n[k].y[1]===a.axisY.reversed?1:-1,color:w})}else N||q||h(),N=!0;h();B.drawMarkers(g)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());
497
+ b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderRangeSplineArea=function(a){function h(a,c){var h=t(l,2);if(0<h.length){if(0<m.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(h[0].x,h[0].y);for(var g=0;g<h.length-3;g+=3){if(h[g].newStrokeStyle||h[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),h[g].newStrokeStyle&&(b.strokeStyle=h[g].newStrokeStyle),
498
+ h[g].newLineDashArray&&b.setLineDash(h[g].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}}b.beginPath();b.moveTo(h[0].x,h[0].y);v&&(e.beginPath(),e.moveTo(h[0].x,h[0].y));for(g=0;g<h.length-3;g+=3)b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y),v&&e.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y);h=t(y,2);b.lineTo(y[y.length-1].x,y[y.length-1].y);for(g=h.length-1;2<g;g-=3)b.bezierCurveTo(h[g-1].x,h[g-1].y,h[g-2].x,
499
+ h[g-2].y,h[g-3].x,h[g-3].y),v&&e.bezierCurveTo(h[g-1].x,h[g-1].y,h[g-2].x,h[g-2].y,h[g-3].x,h[g-3].y);b.closePath();b.globalAlpha=m.fillOpacity;b.fill();v&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<m.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(h[0].x,h[0].y);for(var k=g=0;g<h.length-3;g+=3,k++){if(l[k].newStrokeStyle||l[k].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),l[k].newStrokeStyle&&(b.strokeStyle=l[k].newStrokeStyle),l[k].newLineDashArray&&
500
+ b.setLineDash(l[k].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}h=t(l,2);b.moveTo(h[0].x,h[0].y);for(k=g=0;g<h.length-3;g+=3,k++){if(l[k].newStrokeStyle||l[k].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(h[g].x,h[g].y),l[k].newStrokeStyle&&(b.strokeStyle=l[k].newStrokeStyle),l[k].newLineDashArray&&b.setLineDash(l[k].newLineDashArray);b.bezierCurveTo(h[g+1].x,h[g+1].y,h[g+2].x,h[g+2].y,h[g+3].x,h[g+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||
501
+ this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,g=[],d=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();v&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var r=a.dataSeriesIndexes[f],m=this.data[r],p=m.dataPoints,g=m.id;this._eventManager.objectMap[g]={objectType:"dataSeries",dataSeriesIndex:r};g=X(g);e.fillStyle=g;var g=[],n=0,q,
502
+ k,s,l=[],y=[];if(0<p.length){var u=m._colorSet[n%m._colorSet.length],x=m.lineColor=m.options.lineColor||u,w=x;b.fillStyle=u;b.lineWidth=m.lineThickness;var A="solid",D;if(b.setLineDash){var G=Q(m.nullDataLineDashType,m.lineThickness),A=m.lineDashType;D=Q(A,m.lineThickness)}for(k=!1;n<p.length;n++)if(q=p[n].x.getTime?p[n].x.getTime():p[n].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax&&(!m.connectNullData||!k)))if(null!==p[n].y&&p[n].y.length&&"number"===typeof p[n].y[0]&&"number"===
503
+ typeof p[n].y[1]){q=a.axisX.convertValueToPixel(q);k=a.axisY.convertValueToPixel(p[n].y[0]);s=a.axisY.convertValueToPixel(p[n].y[1]);var F=m.dataPointIds[n];this._eventManager.objectMap[F]={id:F,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:n,x1:q,y1:k,y2:s};l[l.length]={x:q,y:k};y[y.length]={x:q,y:s};n<p.length-1&&(w!==(p[n].lineColor||x)||A!==(p[n].lineDashType||m.lineDashType))&&(w=p[n].lineColor||x,l[l.length-1].newStrokeStyle=w,b.setLineDash&&(p[n].lineDashType?(A=p[n].lineDashType,
504
+ l[l.length-1].newLineDashArray=Q(A,m.lineThickness)):(A=m.lineDashType,l[l.length-1].newLineDashArray=D)));if(0!==p[n].markerSize&&(0<p[n].markerSize||0<m.markerSize)){var H=m.getMarkerProperties(n,q,k,b);g.push(H);var N=X(F);v&&g.push({x:q,y:k,ctx:e,type:H.type,size:H.size,color:N,borderColor:N,borderThickness:H.borderThickness});H=m.getMarkerProperties(n,q,s,b);g.push(H);N=X(F);v&&g.push({x:q,y:s,ctx:e,type:H.type,size:H.size,color:N,borderColor:N,borderThickness:H.borderThickness})}if(p[n].indexLabel||
505
+ m.indexLabel||p[n].indexLabelFormatter||m.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[n],dataSeries:m,indexKeyword:0,point:{x:q,y:k},direction:p[n].y[0]<=p[n].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[n],dataSeries:m,indexKeyword:1,point:{x:q,y:s},direction:p[n].y[0]<=p[n].y[1]?1:-1,color:u});k=!1}else 0<n&&!k&&(m.connectNullData?b.setLineDash&&(0<l.length&&(m.options.nullDataLineDashType||!p[n-1].lineDashType))&&(l[l.length-
506
+ 1].newLineDashArray=G,A=m.nullDataLineDashType):(h(D,x),l=[],y=[])),k=!0;h(D,x);B.drawMarkers(g)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),
507
+ this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};l.prototype.renderWaterfall=function(a){var h=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:h;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,e=null,g=this.plotArea,d=0,f,r,m,p,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:
508
+ this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.6*(g.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
509
+ d>r&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<d)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));q<d&&(q=d);q>r&&(q=r);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(g.x1,g.y1,g.width,g.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(g.x1,g.y1,g.width,g.height),this._eventManager.ghostCtx.clip());for(var k=0;k<a.dataSeriesIndexes.length;k++){var s=
510
+ a.dataSeriesIndexes[k],l=this.data[s],t=l.dataPoints,e=l._colorSet[0];l.risingColor=l.options.risingColor?l.options.risingColor:e;l.fallingColor=l.options.fallingColor?l.options.fallingColor:"#e40a0a";var u="number"===typeof l.options.lineThickness?Math.round(l.lineThickness):1,x=1===Math.round(u)%2?-0.5:0;if(0<t.length)for(var w=5<q&&l.bevelEnabled?!0:!1,B=!1,y=null,A=null,d=0;d<t.length;d++)if(t[d].getTime?p=t[d].x.getTime():p=t[d].x,"number"!==typeof t[d].y){if(0<d&&!B&&l.connectNullData)var D=
511
+ l.options.nullDataLineDashType||!t[d-1].lineDashType?l.nullDataLineDashType:t[d-1].lineDashType;B=!0}else{f=a.axisX.convertValueToPixel(p);r=0===l.dataPointEOs[d].cumulativeSum?n:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSum);m=0===l.dataPointEOs[d].cumulativeSumYStartValue?n:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSumYStartValue);f=a.axisX.reversed?f+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+k)*q<<0:f-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+
512
+ k)*q<<0;var F=a.axisX.reversed?f-q<<0:f+q<<0;r>m&&(e=r,r=m,m=e);a.axisY.reversed&&(e=r,r=m,m=e);e=l.dataPointIds[d];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:d,x1:f,y1:r,x2:F,y2:m};var N=t[d].color?t[d].color:0<t[d].y?l.risingColor:l.fallingColor;P(c,a.axisX.reversed?F:f,a.axisY.reversed?m:r,a.axisX.reversed?f:F,a.axisY.reversed?r:m,N,0,N,w,w,!1,!1,l.fillOpacity);e=X(e);v&&P(this._eventManager.ghostCtx,a.axisX.reversed?F:f,r,a.axisX.reversed?f:F,
513
+ m,e,0,null,!1,!1,!1,!1);var V,N=f;V="undefined"!==typeof t[d].isIntermediateSum&&!0===t[d].isIntermediateSum||"undefined"!==typeof t[d].isCumulativeSum&&!0===t[d].isCumulativeSum?0<t[d].y?r:m:0<t[d].y?m:r;0<d&&y&&(!B||l.connectNullData)&&(B&&c.setLineDash&&c.setLineDash(Q(D,u)),c.beginPath(),c.moveTo(y,A-x),c.lineTo(N,V-x),0<u&&c.stroke(),v&&(b.beginPath(),b.moveTo(y,A-x),b.lineTo(N,V-x),0<u&&b.stroke()));B=!1;y=F;A=0<t[d].y?r:m;N=t[d].lineDashType?t[d].lineDashType:l.options.lineDashType?l.options.lineDashType:
514
+ "shortDash";c.strokeStyle=t[d].lineColor?t[d].lineColor:l.options.lineColor?l.options.lineColor:"#9e9e9e";c.lineWidth=u;c.setLineDash&&(N=Q(N,u),c.setLineDash(N));(t[d].indexLabel||l.indexLabel||t[d].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:t[d],dataSeries:l,point:{x:f+(F-f)/2,y:0<=t[d].y?r:m},direction:0>t[d].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(r,m),x2:F,y2:Math.max(r,m)},color:e})}}v&&(h.drawImage(this._preRenderCanvas,0,
515
+ 0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(g.x1,g.y1,g.width,g.height),this._eventManager.ghostCtx.restore());c.restore();return{source:h,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,
516
+ animationBase:0}}};var d=function(a,h,c,b,e,g,d,f,r){if(!(0>c)){"undefined"===typeof f&&(f=1);if(!v){var m=Number((d%(2*Math.PI)).toFixed(8));Number((g%(2*Math.PI)).toFixed(8))===m&&(d-=1E-4)}a.save();a.globalAlpha=f;"pie"===e?(a.beginPath(),a.moveTo(h.x,h.y),a.arc(h.x,h.y,c,g,d,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(h.x,h.y,c,g,d,!1),0<=r&&a.arc(h.x,h.y,r*c,d,g,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
517
+ 2,a.fill());a.globalAlpha=1;a.restore()}};l.prototype.renderPie=function(a){function h(){if(m&&p){var a=0,b=0,c=0,h=0;f(m.options.indexLabelMaxWidth)&&(m.indexLabelMaxWidth=0.33*q.width);for(var e=0;e<p.length;e++){var g=p[e],d=m.dataPointIds[e];k[e].id=d;k[e].objectType="dataPoint";k[e].dataPointIndex=e;k[e].dataSeriesIndex=0;var n=k[e],r={percent:null,total:null},l=null,r=C.getPercentAndTotal(m,g);if(m.indexLabelFormatter||g.indexLabelFormatter)l={chart:C.options,dataSeries:m,dataPoint:g,total:r.total,
518
+ percent:r.percent};r=g.indexLabelFormatter?g.indexLabelFormatter(l):g.indexLabel?C.replaceKeywordsWithValue(g.indexLabel,g,m,e):m.indexLabelFormatter?m.indexLabelFormatter(l):m.indexLabel?C.replaceKeywordsWithValue(m.indexLabel,g,m,e):g.label?g.label:"";C._eventManager.objectMap[d]=n;n.center={x:w.x,y:w.y};n.y=g.y;n.radius=A;n.percentInnerRadius=F;n.indexLabelText=r;n.indexLabelPlacement=m.indexLabelPlacement;n.indexLabelLineColor=g.indexLabelLineColor?g.indexLabelLineColor:m.options.indexLabelLineColor?
519
+ m.options.indexLabelLineColor:g.color?g.color:m._colorSet[e%m._colorSet.length];n.indexLabelLineThickness=f(g.indexLabelLineThickness)?m.indexLabelLineThickness:g.indexLabelLineThickness;n.indexLabelLineDashType=g.indexLabelLineDashType?g.indexLabelLineDashType:m.indexLabelLineDashType;n.indexLabelFontColor=g.indexLabelFontColor?g.indexLabelFontColor:m.indexLabelFontColor;n.indexLabelFontStyle=g.indexLabelFontStyle?g.indexLabelFontStyle:m.indexLabelFontStyle;n.indexLabelFontWeight=g.indexLabelFontWeight?
520
+ g.indexLabelFontWeight:m.indexLabelFontWeight;n.indexLabelFontSize=f(g.indexLabelFontSize)?m.indexLabelFontSize:g.indexLabelFontSize;n.indexLabelFontFamily=g.indexLabelFontFamily?g.indexLabelFontFamily:m.indexLabelFontFamily;n.indexLabelBackgroundColor=g.indexLabelBackgroundColor?g.indexLabelBackgroundColor:m.options.indexLabelBackgroundColor?m.options.indexLabelBackgroundColor:m.indexLabelBackgroundColor;n.indexLabelBorderColor=g.indexLabelBorderColor?g.indexLabelBorderColor:m.options.indexLabelBorderColor?
521
+ m.options.indexLabelBorderColor:m.indexLabelBorderColor;n.indexLabelBorderThickness=g.indexLabelBorderThickness?g.indexLabelBorderThickness:m.options.indexLabelBorderThickness?m.options.indexLabelBorderThickness:m.indexLabelBorderThickness;n.indexLabelPadding=g.indexLabelPadding?g.indexLabelPadding:m.options.indexLabelPadding?m.options.indexLabelPadding:m.indexLabelPadding;n.indexLabelMaxWidth=g.indexLabelMaxWidth?g.indexLabelMaxWidth:m.indexLabelMaxWidth;n.indexLabelWrap="undefined"!==typeof g.indexLabelWrap?
522
+ g.indexLabelWrap:m.indexLabelWrap;n.indexLabelTextAlign=g.indexLabelTextAlign?g.indexLabelTextAlign:m.indexLabelTextAlign?m.indexLabelTextAlign:"left";n.startAngle=0===e?m.startAngle?m.startAngle/180*Math.PI:0:k[e-1].endAngle;n.startAngle=(n.startAngle+2*Math.PI)%(2*Math.PI);n.endAngle=n.startAngle+2*Math.PI/v*Math.abs(g.y);g=(n.endAngle+n.startAngle)/2;g=(g+2*Math.PI)%(2*Math.PI);n.midAngle=g;if(n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u){if(0===a||k[c].midAngle>n.midAngle)c=e;a++}else if(n.midAngle>
523
+ 3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u){if(0===b||k[h].midAngle>n.midAngle)h=e;b++}n.hemisphere=g>Math.PI/2&&g<=3*Math.PI/2?"left":"right";n.indexLabelTextBlock=new na(C.plotArea.ctx,{fontSize:n.indexLabelFontSize,fontFamily:n.indexLabelFontFamily,fontColor:n.indexLabelFontColor,fontStyle:n.indexLabelFontStyle,fontWeight:n.indexLabelFontWeight,textAlign:n.indexLabelTextAlign,backgroundColor:n.indexLabelBackgroundColor,borderColor:n.indexLabelBorderColor,borderThickness:n.indexLabelBorderThickness,
524
+ maxWidth:n.indexLabelMaxWidth,maxHeight:n.indexLabelWrap?5*n.indexLabelFontSize:1.5*n.indexLabelFontSize,text:n.indexLabelText,padding:n.indexLabelPadding,textBaseline:"middle"});n.indexLabelTextBlock.measureText()}d=g=0;r=!1;for(e=0;e<p.length;e++)n=k[(c+e)%p.length],1<a&&(n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u)&&(g<=a/2&&!r?(n.hemisphere="right",g++):(n.hemisphere="left",r=!0));r=!1;for(e=0;e<p.length;e++)n=k[(h+e)%p.length],1<b&&(n.midAngle>3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u)&&(d<=
525
+ b/2&&!r?(n.hemisphere="left",d++):(n.hemisphere="right",r=!0))}}function c(a,b){var c=C.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=C.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<p.length;c++){var h=k[c].startAngle,e=k[c].endAngle;if(e>h){var g=0.07*A*Math.cos(k[c].midAngle),f=0.07*A*Math.sin(k[c].midAngle),r=!1;if(p[c].exploded){if(1E-9<Math.abs(k[c].center.x-(w.x+g))||1E-9<Math.abs(k[c].center.y-(w.y+f)))k[c].center.x=w.x+g*a,k[c].center.y=w.y+f*a,r=!0}else if(0<
526
+ Math.abs(k[c].center.x-w.x)||0<Math.abs(k[c].center.y-w.y))k[c].center.x=w.x+g*(1-a),k[c].center.y=w.y+f*(1-a),r=!0;r&&b&&(g={},g.dataSeries=m,g.dataPoint=m.dataPoints[c],g.index=c,C.toolTip.highlightObjects([g]));d(C.plotArea.ctx,k[c].center,k[c].radius,p[c].color?p[c].color:m._colorSet[c%m._colorSet.length],m.type,h,e,m.fillOpacity,k[c].percentInnerRadius)}}c=C.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(h=h=0;h<p.length;h++)e=k[h],
527
+ e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,g=0,g="left"===e.hemisphere?"inside"!==m.indexLabelPlacement?-(e.indexLabelTextBlock.width+n):-e.indexLabelTextBlock.width/2:"inside"!==m.indexLabelPlacement?n:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=g,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=g,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&
528
+ 0<e.indexLabelLineThickness&&(g=e.center.x+A*Math.cos(e.midAngle),f=e.center.y+A*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(Q(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,f),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-n:n),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-
529
+ a.indexLabelTextBlock.height/2,e=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,h=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,g=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?h-e:c-g}function e(a){for(var c=null,e=1;e<p.length;e++)if(c=(a+e+k.length)%k.length,k[c].hemisphere!==k[a].hemisphere){c=null;break}else if(k[c].indexLabelText&&c!==a&&(0>b(k[c],k[a])||("right"===k[a].hemisphere?k[c].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y:
530
+ k[c].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y)))break;else c=null;return c}function g(a,c,h){h=(h||0)+1;if(1E3<h)return 0;c=c||0;var d=0,f=w.y-1*t,m=w.y+1*t;if(0<=a&&a<p.length){var n=k[a];if(0>c&&n.indexLabelTextBlock.y<f||0<c&&n.indexLabelTextBlock.y>m)return 0;var q=0,r=0,r=q=q=0;0>c?n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2>f&&n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2+c<f&&(c=-(f-(n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2+c))):n.indexLabelTextBlock.y+
531
+ n.indexLabelTextBlock.height/2<f&&n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2+c>m&&(c=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2+c-m);c=n.indexLabelTextBlock.y+c;f=0;f="right"===n.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2));r=w.x+A*Math.cos(n.midAngle);q=w.y+A*Math.sin(n.midAngle);q=Math.sqrt(Math.pow(f-r,2)+Math.pow(c-q,2));r=Math.acos(A/t);q=Math.acos((t*t+A*A-q*q)/(2*A*t));c=q<r?c-n.indexLabelTextBlock.y:0;f=null;
532
+ for(m=1;m<p.length;m++)if(f=(a-m+k.length)%k.length,k[f].hemisphere!==k[a].hemisphere){f=null;break}else if(k[f].indexLabelText&&k[f].hemisphere===k[a].hemisphere&&f!==a&&(0>b(k[f],k[a])||("right"===k[a].hemisphere?k[f].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y:k[f].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y)))break;else f=null;r=f;q=e(a);m=f=0;0>c?(m="right"===n.hemisphere?r:q,d=c,null!==m&&(r=-c,c=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2-(k[m].indexLabelTextBlock.y+
533
+ k[m].indexLabelTextBlock.height/2),c-r<s&&(f=-r,m=g(m,f,h+1),+m.toFixed(x)>+f.toFixed(x)&&(d=c>s?-(c-s):-(r-(m-f)))))):0<c&&(m="right"===n.hemisphere?q:r,d=c,null!==m&&(r=c,c=k[m].indexLabelTextBlock.y-k[m].indexLabelTextBlock.height/2-(n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2),c-r<s&&(f=r,m=g(m,f,h+1),+m.toFixed(x)<+f.toFixed(x)&&(d=c>s?c-s:r-(f-m)))));d&&(h=n.indexLabelTextBlock.y+d,c=0,c="right"===n.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(h-w.y,2)):w.x-Math.sqrt(Math.pow(t,
534
+ 2)-Math.pow(h-w.y,2)),n.midAngle>Math.PI/2-u&&n.midAngle<Math.PI/2+u?(f=(a-1+k.length)%k.length,f=k[f],a=k[(a+1+k.length)%k.length],"left"===n.hemisphere&&"right"===f.hemisphere&&c>f.indexLabelTextBlock.x?c=f.indexLabelTextBlock.x-15:"right"===n.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):n.midAngle>3*Math.PI/2-u&&n.midAngle<3*Math.PI/2+u&&(f=(a-1+k.length)%k.length,f=k[f],a=k[(a+1+k.length)%k.length],"right"===n.hemisphere&&"left"===f.hemisphere&&
535
+ c<f.indexLabelTextBlock.x?c=f.indexLabelTextBlock.x+15:"left"===n.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),n.indexLabelTextBlock.y=h,n.indexLabelTextBlock.x=c,n.indexLabelAngle=Math.atan2(n.indexLabelTextBlock.y-w.y,n.indexLabelTextBlock.x-w.x))}return d}function r(){var a=C.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,h=0,d=!0,c=0;10>c&&(1>c||0<h);c++){if(m.radius||!m.radius&&
536
+ "undefined"!==typeof m.innerRadius&&null!==m.innerRadius&&A-h<=D)d=!1;d&&(A-=h);h=0;if("inside"!==m.indexLabelPlacement){t=A*B;for(a=0;a<p.length;a++){var f=k[a];f.indexLabelTextBlock.x=w.x+t*Math.cos(f.midAngle);f.indexLabelTextBlock.y=w.y+t*Math.sin(f.midAngle);f.indexLabelAngle=f.midAngle;f.radius=A;f.percentInnerRadius=F}for(var l,u,a=0;a<p.length;a++){var f=k[a],E=e(a);if(null!==E){l=k[a];u=k[E];var v=0,v=b(l,u)-s;if(0>v){for(var K=u=0,y=0;y<p.length;y++)y!==a&&k[y].hemisphere===f.hemisphere&&
537
+ (k[y].indexLabelTextBlock.y<f.indexLabelTextBlock.y?u++:K++);u=v/(u+K||1)*K;var K=-1*(v-u),H=y=0;"right"===f.hemisphere?(y=g(a,u),K=-1*(v-y),H=g(E,K),+H.toFixed(x)<+K.toFixed(x)&&+y.toFixed(x)<=+u.toFixed(x)&&g(a,-(K-H))):(y=g(E,u),K=-1*(v-y),H=g(a,K),+H.toFixed(x)<+K.toFixed(x)&&+y.toFixed(x)<=+u.toFixed(x)&&g(E,-(K-H)))}}}}else for(a=0;a<p.length;a++)f=k[a],t="pie"===m.type?0.7*A:0.85*A,E=w.x+t*Math.cos(f.midAngle),u=w.y+t*Math.sin(f.midAngle),f.indexLabelTextBlock.x=E,f.indexLabelTextBlock.y=u;
538
+ for(a=0;a<p.length;a++)if(f=k[a],E=f.indexLabelTextBlock.measureText(),0!==E.height&&0!==E.width)E=E=0,"right"===f.hemisphere?(E=q.x2-(f.indexLabelTextBlock.x+f.indexLabelTextBlock.width+n),E*=-1):E=q.x1-(f.indexLabelTextBlock.x-f.indexLabelTextBlock.width-n),0<E&&(!d&&f.indexLabelText&&(u="right"===f.hemisphere?q.x2-f.indexLabelTextBlock.x:f.indexLabelTextBlock.x-q.x1,0.3*f.indexLabelTextBlock.maxWidth>u?f.indexLabelText="":f.indexLabelTextBlock.maxWidth=0.85*u,0.3*f.indexLabelTextBlock.maxWidth<
539
+ u&&(f.indexLabelTextBlock.x-="right"===f.hemisphere?2:-2)),Math.abs(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-w.y)<A||Math.abs(f.indexLabelTextBlock.y+f.indexLabelTextBlock.height/2-w.y)<A)&&(E/=Math.abs(Math.cos(f.indexLabelAngle)),9<E&&(E*=0.3),E>h&&(h=E)),E=E=0,0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?(E=q.y2-(f.indexLabelTextBlock.y+f.indexLabelTextBlock.height/2+5),E*=-1):E=q.y1-(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-5),0<E&&(!d&&f.indexLabelText&&(u=0<f.indexLabelAngle&&
540
+ f.indexLabelAngle<Math.PI?-1:1,0===g(a,E*u)&&g(a,2*u)),Math.abs(f.indexLabelTextBlock.x-w.x)<A&&(E/=Math.abs(Math.sin(f.indexLabelAngle)),9<E&&(E*=0.3),E>h&&(h=E)));var M=function(a,b,c){for(var e=[],h=0;e.push(k[b]),b!==c;b=(b+1+p.length)%p.length);e.sort(function(a,b){return a.y-b.y});for(b=0;b<e.length;b++)if(c=e[b],h<0.7*a)h+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,h=0,g=!1,d=0;d<
541
+ p.length;d++)if(g=!1,l=k[d],l.indexLabelText){var f=e(d);if(null!==f){var m=k[f];v=0;v=b(l,m);var q;if(q=0>v){q=l.indexLabelTextBlock.x;var r=l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2,C=l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2,E=m.indexLabelTextBlock.y-m.indexLabelTextBlock.height/2,u=m.indexLabelTextBlock.x+m.indexLabelTextBlock.width,s=m.indexLabelTextBlock.y+m.indexLabelTextBlock.height/2;q=l.indexLabelTextBlock.x+l.indexLabelTextBlock.width<m.indexLabelTextBlock.x-n||
542
+ q>u+n||r>s+n||C<E-n?!1:!0}q?(0>a&&(a=d),f!==a&&(c=f,h+=-v),0===d%Math.max(p.length/10,3)&&(g=!0)):g=!0;g&&(0<h&&0<=a&&0<=c)&&(M(h,a,c),c=a=-1,h=0)}}0<h&&M(h,a,c)})()}}function l(){C.plotArea.layoutManager.reset();C.title&&(C.title.dockInsidePlotArea||"center"===C.title.horizontalAlign&&"center"===C.title.verticalAlign)&&C.title.render();if(C.subtitles)for(var a=0;a<C.subtitles.length;a++){var b=C.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}C.legend&&
543
+ (C.legend.dockInsidePlotArea||"center"===C.legend.horizontalAlign&&"center"===C.legend.verticalAlign)&&(C.legend.setLayout(),C.legend.render())}var C=this;if(!(0>=a.dataSeriesIndexes.length)){var m=this.data[a.dataSeriesIndexes[0]],p=m.dataPoints,n=10,q=this.plotArea,k=m.dataPointEOs,s=2,t,B=1.3,u=20/180*Math.PI,x=6,w={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},v=0;a=!1;for(var y=0;y<p.length;y++)v+=Math.abs(p[y].y),!a&&("undefined"!==typeof p[y].indexLabel&&null!==p[y].indexLabel&&0<p[y].indexLabel.toString().length)&&
544
+ (a=!0),!a&&("undefined"!==typeof p[y].label&&null!==p[y].label&&0<p[y].label.toString().length)&&(a=!0);if(0!==v){a=a||"undefined"!==typeof m.indexLabel&&null!==m.indexLabel&&0<m.indexLabel.toString().length;var A="inside"!==m.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;m.radius&&(A=Wa(m.radius,A));var D="undefined"!==typeof m.innerRadius&&null!==m.innerRadius?Wa(m.innerRadius,A,0.7*A):0.7*A,F=Math.min(D/A,(A-1)/A);this.pieDoughnutClickHandler=function(a){C.isAnimating||
545
+ !f(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&C._animator.animate(0,500,function(a){c(a,!0);l();C.dispatchEvent("dataAnimationIterationEnd",{chart:C});C.dispatchEvent("dataAnimationEnd",{chart:C})}))};h();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=C.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=C.backgroundColor;b.fillRect(q.x1,
546
+ q.y1,q.width,q.height);for(var b=k[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var e=0===c?k[c].startAngle:h,h=e+(k[c].endAngle-k[c].startAngle),g=!1;h>b&&(h=b,g=!0);var f=p[c].color?p[c].color:m._colorSet[c%m._colorSet.length];h>e&&d(C.plotArea.ctx,k[c].center,k[c].radius,f,m.type,e,h,m.fillOpacity,k[c].percentInnerRadius);if(g)break}l();C.dispatchEvent("dataAnimationIterationEnd",{chart:C});1<=a&&C.dispatchEvent("dataAnimationEnd",{chart:C})},function(){C.disableToolTip=!1;C._animator.animate(0,
547
+ C.animatedRender?500:0,function(a){c(a,!1);l();C.dispatchEvent("dataAnimationIterationEnd",{chart:C})});C.dispatchEvent("dataAnimationEnd",{chart:C})});m.radius=A;"doughnut"===m.type&&(m.innerRadius=D)}}};var r=function(a,h,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(h.y4-h.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(h.x1),Math.round(h.y1)),a.lineTo(Math.round(h.x2),Math.round(h.y2)),a.lineTo(Math.round(h.x3),Math.round(h.y3)),a.lineTo(Math.round(h.x4),Math.round(h.y4)),
548
+ "undefined"!==h.x5&&(a.lineTo(Math.round(h.x5),Math.round(h.y5)),a.lineTo(Math.round(h.x6),Math.round(h.y6))),a.closePath(),a.fillStyle=b?b:h.color,a.fill(),a.globalAplha=1,a.restore())};l.prototype.renderFunnel=function(a){function h(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=T,b=X,c=ba,e=ca,h,g;h=L;
549
+ g=P-ia;e=Math.abs((g-h)*(b-a+(e-c))/2);c=ca-ba;h=g-h;g=c*(g-P);g=Math.abs(g);g=e+g;for(var e=[],d=0,k=0;k<x.length;k++){if("undefined"===typeof x[k].y)return-1;x[k].y="number"===typeof x[k].y?x[k].y:0;d+=Math.abs(x[k].y)}if(0===d)return-1;for(var f=e[0]=0,m=0,n,p,b=b-a,f=!1,k=0;k<x.length;k++)a=Math.abs(x[k].y)*g/d,f?n=0==Number(c.toFixed(3))?0:a/c:(p=ga*ga*b*b-4*Math.abs(ga)*a,0>p?(p=c,f=(b+p)*(h-m)/2,a-=f,n=h-m,m+=h-m,n+=0==p?0:a/p,m+=a/p,f=!0):(n=(Math.abs(ga)*b-Math.sqrt(p))/2,p=b-2*n/Math.abs(ga),
550
+ m+=n,m>h&&(m-=n,p=c,f=(b+p)*(h-m)/2,a-=f,n=h-m,m+=h-m,n+=a/p,m+=a/p,f=!0),b=p)),e.push(n);return e}function b(){if(u&&x){for(var a,b,c,e,h,g,d,m,n,p,q,r,C,E,l,s,t,z,w=[],B=[],K={percent:null,total:null},A=null,S=0;S<x.length;S++)z=O[S],z="undefined"!==typeof z.x5?(z.y2+z.y4)/2:(z.y2+z.y3)/2,z=k(z).x2+1,w[S]=M-(isNaN(z)?0:z)-Z;z=0.5*Z;for(var S=0,D=x.length-1;S<x.length||0<=D;S++,D--){b=u.reversed?x[D]:x[S];a=b.color?b.color:u.reversed?u._colorSet[(x.length-1-S)%u._colorSet.length]:u._colorSet[S%u._colorSet.length];
551
+ c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";t=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";e=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(v?"transparent":null);h=b.indexLabelBorderColor||u.indexLabelBorderColor||(v?"transparent":null);g=f(b.indexLabelBorderThickness)?u.indexLabelBorderThickness:b.indexLabelBorderThickness;d=f(b.indexLabelPadding)?u.options.indexLabelPadding?u.options.indexLabelPadding:u.indexLabelPadding:b.indexLabelPadding;m=b.indexLabelFontColor||
552
+ u.indexLabelFontColor||"#979797";n=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;p=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";q=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";r=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;C="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;E=b.indexLabelLineDashType||
553
+ u.indexLabelLineDashType||"solid";l="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;s=u.dataPointIds[S];y._eventManager.objectMap[s]={id:s,objectType:"dataPoint",dataPointIndex:S,dataSeriesIndex:0,funnelSection:O[u.reversed?x.length-1-S:S]};"inside"===u.indexLabelPlacement&&(w[S]=S!==fa?u.reversed?O[S].x2-O[S].x1:O[S].x3-O[S].x4:O[S].x3-O[S].x6,20>w[S]&&(w[S]=S!==fa?u.reversed?O[S].x3-O[S].x4:O[S].x2-O[S].x1:O[S].x2-O[S].x1,w[S]/=2));
554
+ s=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:w[S];if(s>w[S]||0>s)s=w[S];B[S]="inside"===u.indexLabelPlacement?l?Math.max(O[S].height,n):1.5*n+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):!1;K=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)A={chart:y.options,dataSeries:u,dataPoint:b,total:K.total,percent:K.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(A):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,
555
+ u,S):u.indexLabelFormatter?u.indexLabelFormatter(A):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,S):b.label?b.label:"";0>=C&&(C=0);1E3>s&&1E3-s<z&&(s+=1E3-s);f(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=f(u.indexLabelMaxWidth)?s:Math.max(s,u.indexLabelMaxWidth));R.roundRect||Ea(R);c=new na(R,{fontSize:n,fontFamily:q,fontColor:m,fontStyle:p,fontWeight:r,horizontalAlign:c,textAlign:t,backgroundColor:e,borderColor:h,borderThickness:g,maxWidth:s,maxHeight:!1===B[S]?(l?4.28571429*
556
+ n:1.5*n)+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):B[S],text:b,padding:d,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;J.push({textBlock:c,id:u.reversed?D:S,isDirty:!1,lineColor:a,lineThickness:C,lineDashType:E,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,e,h,g=[];h=!1;c=0;for(var d,k=M-X-Z/2,k=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>
557
+ k?k:u.indexLabelMaxWidth:k,f=J.length-1;0<=f;f--){d=x[J[f].id];c=J[f];e=c.textBlock;b=(a=q(f)<O.length?J[q(f)]:null)?a.textBlock:null;c=c.height;a&&e.y+c+ha>b.y&&(h=!0);c=d.indexLabelMaxWidth||k;if(c>k||0>c)c=k;g.push(c)}if(h)for(f=J.length-1;0<=f;f--)a=O[f],J[f].textBlock.maxWidth=g[g.length-(f+1)],J[f].textBlock.measureText(),J[f].textBlock.height=J[f].textBlock.height===2*J[f].textBlock.padding?0:J[f].textBlock.height,J[f].textBlock.width=J[f].textBlock.width===2*J[f].textBlock.padding?0:J[f].textBlock.width,
558
+ J[f].textBlock.x=M-k,c=J[f].textBlock.height<J[f].textBlock.maxHeight?J[f].textBlock.height:J[f].textBlock.maxHeight,h=J[f].textBlock.width<J[f].textBlock.maxWidth?J[f].textBlock.width:J[f].textBlock.maxWidth,J[f].height=c,J[f].width=h,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,J[f].textBlock.y=c-J[f].height/2,u.reversed?(J[f].textBlock.y+J[f].height>Y+A&&(J[f].textBlock.y=Y+A-J[f].height),J[f].textBlock.y<ya-A&&(J[f].textBlock.y=ya-A)):(J[f].textBlock.y<Y-A&&(J[f].textBlock.y=Y-A),J[f].textBlock.y+
559
+ J[f].height>ya+A&&(J[f].textBlock.y=ya+A-J[f].height))}function g(){var a,b,c,h;if("inside"!==u.indexLabelPlacement)for(var e=0;e<O.length;e++)0==J[e].textBlock.text.length?J[e].isDirty=!0:(a=O[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>aa?k(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<aa?k(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,J[e].textBlock.x=b+Z,J[e].textBlock.y=c-J[e].height/2,u.reversed?(J[e].textBlock.y+J[e].height>
560
+ Y+A&&(J[e].textBlock.y=Y+A-J[e].height),J[e].textBlock.y<ya-A&&(J[e].textBlock.y=ya-A)):(J[e].textBlock.y<Y-A&&(J[e].textBlock.y=Y-A),J[e].textBlock.y+J[e].height>ya+A&&(J[e].textBlock.y=ya+A-J[e].height)));else for(e=0;e<O.length;e++)0==J[e].textBlock.text.length?J[e].isDirty=!0:(a=O[e],b=a.height,c=J[e].height,h=J[e].width,b>=c?(b=e!=fa?(a.x4+a.x3)/2-h/2:(a.x5+a.x4)/2-h/2,c=e!=fa?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,J[e].textBlock.x=b,J[e].textBlock.y=c):J[e].isDirty=!0)}function d(){function a(b,
561
+ c){var e;if(0>b||b>=J.length)return 0;var h,g=J[b].textBlock;if(0>c){c*=-1;h=n(b);e=l(h,b);if(e>=c)return g.y-=c,c;if(0==b)return 0<e&&(g.y-=e),e;e+=a(h,-(c-e));0<e&&(g.y-=e);return e}h=q(b);e=l(b,h);if(e>=c)return g.y+=c,c;if(b==O.length-1)return 0<e&&(g.y+=e),e;e+=a(h,c-e);0<e&&(g.y+=e);return e}function b(){var a,e,h,g,d=0,f;g=(P-L+2*A)/p;f=p;for(var k,m=1;m<f;m++){h=m*g;for(var r=J.length-1;0<=r;r--)!J[r].isDirty&&(J[r].textBlock.y<h&&J[r].textBlock.y+J[r].height>h)&&(k=q(r),!(k>=J.length-1)&&
562
+ J[r].textBlock.y+J[r].height+ha>J[k].textBlock.y&&(J[r].textBlock.y=J[r].textBlock.y+J[r].height-h>h-J[r].textBlock.y?h+1:h-J[r].height-1))}for(k=O.length-1;0<k;k--)if(!J[k].isDirty){h=n(k);if(0>h&&(h=0,J[h].isDirty))break;if(J[k].textBlock.y<J[h].textBlock.y+J[h].height){e=e||k;g=k;for(f=0;J[g].textBlock.y<J[h].textBlock.y+J[h].height+ha;){a=a||J[g].textBlock.y+J[g].height;f+=J[g].height;f+=ha;g=h;if(0>=g){g=0;f+=J[g].height;break}h=n(g);if(0>h){g=0;f+=J[g].height;break}}if(g!=k){d=J[g].textBlock.y;
563
+ a-=d;a=f-a;d=c(a,e,g);break}}}return d}function c(a,b,e){var h=[],g=0,d=0;for(a=Math.abs(a);e<=b;e++)h.push(O[e]);h.sort(function(a,b){return a.height-b.height});for(e=0;e<h.length;e++)if(b=h[e],g<a)d++,g+=J[b.id].height+ha,J[b.id].textBlock.text="",J[b.id].indexLabelText="",J[b.id].isDirty=!0,J[b.id].textBlock.measureText();else break;return d}for(var e,h,g,f,k,m,p=1,r=0;r<2*p;r++){for(var C=J.length-1;0<=C&&!(0<=n(C)&&n(C),g=J[C],f=g.textBlock,m=(k=q(C)<O.length?J[q(C)]:null)?k.textBlock:null,e=
564
+ +g.height.toFixed(6),h=+f.y.toFixed(6),!g.isDirty&&(k&&h+e+ha>+m.y.toFixed(6))&&(e=f.y+e+ha-m.y,h=a(C,-e),h<e&&(0<h&&(e-=h),h=a(q(C),e),h!=e)));C--);b()}}function l(a,b){return(b<O.length?J[b].textBlock.y:u.reversed?Y+A:ya+A)-(0>a?u.reversed?ya-A:Y-A:J[a].textBlock.y+J[a].height+ha)}function s(a,b,c){var e,h,d,f=[],k=A,n=[];-1!==b&&(0<=$.indexOf(b)?(h=$.indexOf(b),$.splice(h,1)):($.push(b),$=$.sort(function(a,b){return a-b})));if(0===$.length)f=ma;else{h=A*(1!=$.length||0!=$[0]&&$[0]!=O.length-1?
565
+ 2:1)/m();for(var q=0;q<O.length;q++){if(1==$.length&&0==$[0]){if(0===q){f.push(ma[q]);e=k;continue}}else 0===q&&(e=-1*k);f.push(ma[q]+e);if(0<=$.indexOf(q)||q<O.length&&0<=$.indexOf(q+1))e+=h}}d=function(){for(var a=[],b=0;b<O.length;b++)a.push(f[b]-O[b].y1);return a}();var l={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,e){return C.easing.easeOutQuart(a,b,c,e)},changeSection:function(a){for(var b,c,e=0;e<O.length;e++)b=d[e],c=O[e],b*=a,"undefined"===typeof n[e]&&(n[e]=
566
+ 0),0>n&&(n*=-1),c.y1+=b-n[e],c.y2+=b-n[e],c.y3+=b-n[e],c.y4+=b-n[e],c.y5&&(c.y5+=b-n[e],c.y6+=b-n[e]),n[e]=b}};a._animator.animate(0,c,function(c){var e=a.plotArea.ctx||a.ctx;oa=!0;e.clearRect(w.x1,w.y1,w.x2-w.x1,w.y2-w.y1);e.fillStyle=a.backgroundColor;e.fillRect(w.x1,w.y1,w.width,w.height);l.changeSection(c,b);var h={};h.dataSeries=u;h.dataPoint=u.reversed?u.dataPoints[x.length-1-b]:u.dataPoints[b];h.index=u.reversed?x.length-1-b:b;a.toolTip.highlightObjects([h]);for(h=0;h<O.length;h++)r(e,O[h],
567
+ u.fillOpacity);B(e);N&&("inside"!==u.indexLabelPlacement?p(e):g(),t(e));1<=c&&(oa=!1)},null,C.easing.easeOutQuart)}function m(){for(var a=0,b=0;b<O.length-1;b++)(0<=$.indexOf(b)||0<=$.indexOf(b+1))&&a++;return a}function p(a){for(var b,c,e,h,g=0;g<O.length;g++)h=1===J[g].lineThickness%2?0.5:0,c=((O[g].y2+O[g].y4)/2<<0)+h,b=k(c).x2-1,isNaN(b)&&(Math.round(O[g].x1)===Math.round(O[g].x4)&&Math.round(O[g].x2)===Math.round(O[g].x3))&&(b=O[g].x2),e=J[g].textBlock.x,h=(J[g].textBlock.y+J[g].height/2<<0)+
568
+ h,J[g].isDirty||0==J[g].lineThickness||(a.strokeStyle=J[g].lineColor,a.lineWidth=J[g].lineThickness,a.setLineDash&&a.setLineDash(Q(J[g].lineDashType,J[g].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(e,h),a.stroke())}function n(a){for(a-=1;-1<=a&&-1!=a&&J[a].isDirty;a--);return a}function q(a){for(a+=1;a<=O.length&&a!=O.length&&J[a].isDirty;a++);return a}function k(a){for(var b,c=0;c<x.length;c++)if(O[c].y1<a&&O[c].y4>a){b=O[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-
569
+ b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function t(a){for(var b=0;b<O.length;b++)J[b].isDirty||(a&&(J[b].textBlock.ctx=a),J[b].textBlock.y+=J[b].textBlock._lineHeight/2,J[b].textBlock.render(!0),J[b].textBlock.y-=J[b].textBlock._lineHeight/2)}function B(a){y.plotArea.layoutManager.reset();a.roundRect||Ea(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.horizontalAlign&&"center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());
570
+ if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)y.subtitles.ctx=a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||"center"===y.legend.horizontalAlign&&"center"===y.legend.verticalAlign)&&(y.legend.ctx=a,y.legend.setLayout(),y.legend.render());ka.fNg&&ka.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],x=u.dataPoints,w=this.plotArea,A=0.025*
571
+ w.width,D=0.01*w.width,G=0,F=w.height-2*A-4,H=Math.min(w.width-2*D,2.8*w.height),N=!1,V=0;V<x.length;V++)if(!N&&("undefined"!==typeof x[V].indexLabel&&null!==x[V].indexLabel&&0<x[V].indexLabel.toString().length)&&(N=!0),!N&&("undefined"!==typeof x[V].label&&null!==x[V].label&&0<x[V].label.toString().length)&&(N=!0),!N&&"function"===typeof u.indexLabelFormatter||"function"===typeof x[V].indexLabelFormatter)N=!0;N=N||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;
572
+ "inside"!==u.indexLabelPlacement&&N||(D=(w.width-0.75*H)/2);var V=w.x1+D,M=w.x2-D,L=w.y1+A+2,P=w.y2-A-2,R=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==x.length){var ia,I;a=75*H/100;var Z=30*(M-a)/100;"funnel"===u.type?(ia=f(u.options.neckHeight)?0.35*F:u.neckHeight,I=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof ia&&ia.match(/%$/)?(ia=parseInt(ia),ia=ia*F/100):ia=parseInt(ia),"string"===typeof I&&I.match(/%$/)?(I=parseInt(I),I=I*a/100):
573
+ I=parseInt(I),ia>F?ia=F:0>=ia&&(ia=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===u.type&&(I=ia=0,u.reversed=u.reversed?!1:!0);var D=V+a/2,T=V,X=V+a,Y=u.reversed?P:L,ba=D-I/2,ca=D+I/2,aa=u.reversed?L+ia:P-ia,ya=u.reversed?L:P;I=u.valueRepresents=u.valueRepresents?u.valueRepresents:"height";V=[];a=[];var O=[],D=[],W=L,fa,ga=(aa-Y)/(ba-T),ja=-ga,H="area"===I?c():h();if(-1!==H){if(u.reversed)for(D.push(W),I=H.length-1;0<I;I--)W+=H[I],D.push(Math.round(W));else for(I=0;I<H.length;I++)W+=H[I],D.push(Math.round(W));
574
+ if(u.reversed)for(I=0;I<H.length;I++)D[I]<aa?(V.push(ba),a.push(ca),fa=I):(V.push((D[I]-Y+ga*T)/ga),a.push((D[I]-Y+ja*X)/ja));else for(I=0;I<H.length;I++)D[I]<aa?(V.push((D[I]-Y+ga*T)/ga),a.push((D[I]-Y+ja*X)/ja),fa=I):(V.push(ba),a.push(ca));for(I=0;I<H.length-1;I++)W=u.reversed?x[x.length-1-I].color?x[x.length-1-I].color:u._colorSet[(x.length-1-I)%u._colorSet.length]:x[I].color?x[I].color:u._colorSet[I%u._colorSet.length],I===fa?O.push({x1:V[I],y1:D[I],x2:a[I],y2:D[I],x3:ca,y3:aa,x4:a[I+1],y4:D[I+
575
+ 1],x5:V[I+1],y5:D[I+1],x6:ba,y6:aa,id:I,height:D[I+1]-D[I],color:W}):O.push({x1:V[I],y1:D[I],x2:a[I],y2:D[I],x3:a[I+1],y3:D[I+1],x4:V[I+1],y4:D[I+1],id:I,height:D[I+1]-D[I],color:W}),u.dataPointEOs[I]&&O[I]&&(u.dataPointEOs[I].sectionsofFunnel=O[I]);var ha=2,J=[],oa=!1,$=[],ma=[],V=!1;a=a=0;wa($);for(I=0;I<x.length;I++)x[I].exploded&&(V=!0,u.reversed?$.push(x.length-1-I):$.push(I));R.clearRect(w.x1,w.y1,w.width,w.height);R.fillStyle=y.backgroundColor;R.fillRect(w.x1,w.y1,w.width,w.height);if(N&&u.visible&&
576
+ (b(),g(),"inside"!==u.indexLabelPlacement)){e();d();for(I=0;I<x.length;I++)J[I].isDirty||(a=J[I].textBlock.x+J[I].width,a=(M-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<O.length;I++)O[I].x1+=G,O[I].x2+=G,O[I].x3+=G,O[I].x4+=G,O[I].x5&&(O[I].x5+=G,O[I].x6+=G),J[I].textBlock.x+=G}for(I=0;I<O.length;I++)G=O[I],r(R,G,u.fillOpacity),ma.push(G.y1);B(R);N&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||p(R),y.animationEnabled||t());if(!N)for(I=0;I<x.length;I++)G=u.dataPointIds[I],a={id:G,objectType:"dataPoint",
577
+ dataPointIndex:I,dataSeriesIndex:0,funnelSection:O[u.reversed?x.length-1-I:I]},y._eventManager.objectMap[G]=a;!y.animationEnabled&&V?s(y,-1,0):y.animationEnabled&&!y.animatedRender&&s(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!oa&&!y.isAnimating&&(f(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?x.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?x[x.length-1-a].exploded=x[x.length-1-a].exploded?
578
+ !1:!0:x[a].exploded=x[a].exploded?!1:!0;s(y,b,500)}};return{source:R,dest:this.plotArea.ctx,animationCallback:function(a,b){C.fadeInAnimation(a,b);1<=a&&(s(y,-1,500),B(y.plotArea.ctx||y.ctx))},easingFunction:C.easing.easeInQuad,animationBase:0}}}}};l.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();
579
+ l.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;l.prototype.set=function(a,h,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=h,c&&this.render()):l.base.set.call(this,a,h,c)};l.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var h=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;
580
+ if(a.toDataURL)return this.canvas.toDataURL("image/"+h);eb(this.canvas,h,c)};l.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),h=document.createElement("iframe");h.setAttribute("class","canvasjs-chart-print-frame");R(h,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});h.style.height=this.height+"px";this._canvasJSContainer.appendChild(h);var c=this,b=h.contentWindow||h.contentDocument.document||h.contentDocument;b.document.open();
581
+ b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(h)},1E3)},500)};l.prototype.getPercentAndTotal=function(a,h){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=h.x.getTime?h.x.getTime():h.x,c in a.plotUnit.yTotals&&
582
+ (b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(h.y)?0:0===c?0:100*(h.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);e=isNaN(h.y)?0:100*(h.y/b)}return{percent:e,total:b}};l.prototype.replaceKeywordsWithValue=function(a,h,c,b,e){var g=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===
583
+ c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",f="#total",r=this.getPercentAndTotal(c,h),f=isNaN(r.total)?f:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",m=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(m)||!isFinite(m))m=2;for(var p=0;p<m;p++)r+="#";c.percentFormatString=r}a=a.replace("#percent",aa(d,r,g._cultureInfo));a=a.replace("#total",aa(f,c.yValueFormatString?c.yValueFormatString:
584
+ "#,##0.########",g._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Oa(a.slice(1,a.length-1));a=a.replace("#index",e);var d=null;try{var f=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);f&&0<f.length&&(d=Oa(f[2]),a=Oa(f[1]))}catch(m){}f=null;if("color"===a)return"waterfall"===c.type?h.color?h.color:0<h.y?c.risingColor:c.fallingColor:"error"===
585
+ c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:h.color?h.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(h.hasOwnProperty(a))f=h;else if(c.hasOwnProperty(a))f=c;else return"";f=f[a];null!==d&&(f=f[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||h.x&&h.x.getTime)&&!c.axisX.logarithmic?sa(f,h.xValueFormatString?h.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=g.axisX&&g.axisX.autoValueFormatString?g.axisX.autoValueFormatString:
586
+ "DD MMM YY",g._cultureInfo):aa(f,h.xValueFormatString?h.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",g._cultureInfo):"y"===a?aa(f,h.yValueFormatString?h.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString=c.axisY&&c.axisY.logarithmic&&"number"===typeof f&&0<f&&(1E-7>Math.abs(f)||1E7<Math.abs(f))?"0.##E+0":"#,##0.########",g._cultureInfo):"z"===a?aa(f,h.zValueFormatString?h.zValueFormatString:c.zValueFormatString?c.zValueFormatString:
587
+ c.zValueFormatString="#,##0.########",g._cultureInfo):f})};ja(F,ca);F.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,h=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,g=0,d=0,r=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var C=[],m=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,
588
+ g=this.maxWidth=null!==this.maxWidth?this.maxWidth:h.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*h.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;g=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*h.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:h.height}this.errorMarkerColor=[];for(var p=0;p<this.dataSeries.length;p++){var n=
589
+ this.dataSeries[p];if(n.dataPoints&&n.dataPoints.length){if("pie"!==n.type&&"doughnut"!==n.type&&"funnel"!==n.type&&"pyramid"!==n.type){var q=n.legendMarkerType=n.legendMarkerType?n.legendMarkerType:"line"!==n.type&&"stepLine"!==n.type&&"spline"!==n.type&&"scatter"!==n.type&&"bubble"!==n.type||!n.markerType?"error"===n.type&&n._linkedSeries?n._linkedSeries.legendMarkerType?n._linkedSeries.legendMarkerType:H.getDefaultLegendMarker(n._linkedSeries.type):H.getDefaultLegendMarker(n.type):n.markerType,
590
+ k=n.legendText?n.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:n,dataPoint:null}):n.name,l=n.legendMarkerColor=n.legendMarkerColor?n.legendMarkerColor:n.markerColor?n.markerColor:"error"===n.type?f(n.whiskerColor)?n._colorSet[0]:n.whiskerColor:n._colorSet[0],s=n.markerSize||"line"!==n.type&&"stepLine"!==n.type&&"spline"!==n.type?0.75*this.lineHeight:0,t=n.legendMarkerBorderColor?n.legendMarkerBorderColor:n.markerBorderColor,u=n.legendMarkerBorderThickness?
591
+ n.legendMarkerBorderThickness:n.markerBorderThickness?Math.max(1,Math.round(0.2*s)):0;"error"===n.type&&this.errorMarkerColor.push(l);k=n.legendText=this.chart.replaceKeywordsWithValue(k,n.dataPoints[0],n,p);q={markerType:q,markerColor:l,text:k,textBlock:null,chartType:n.type,markerSize:s,lineColor:n._colorSet[0],dataSeriesIndex:n.index,dataPointIndex:null,markerBorderColor:t,markerBorderThickness:u};C.push(q)}else{f(n.options.legendText)&&(n.legendText=n.options.legendText);for(var x=0;x<n.dataPoints.length;x++){var w=
591
592
  n.dataPoints[x],q=w.legendMarkerType?w.legendMarkerType:n.legendMarkerType?n.legendMarkerType:H.getDefaultLegendMarker(n.type),k=w.legendText?w.legendText:w.name?w.name:n.legendText?n.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:n,dataPoint:w}):w.name?w.name:"DataPoint: "+(x+1),l=w.legendMarkerColor?w.legendMarkerColor:n.legendMarkerColor?n.legendMarkerColor:w.color?w.color:n.color?n.color:n._colorSet[x%n._colorSet.length],s=0.75*this.lineHeight,
592
593
  t=w.legendMarkerBorderColor?w.legendMarkerBorderColor:n.legendMarkerBorderColor?n.legendMarkerBorderColor:w.markerBorderColor?w.markerBorderColor:n.markerBorderColor,u=w.legendMarkerBorderThickness?w.legendMarkerBorderThickness:n.legendMarkerBorderThickness?n.legendMarkerBorderThickness:w.markerBorderThickness||n.markerBorderThickness?Math.max(1,Math.round(0.2*s)):0,k=this.chart.replaceKeywordsWithValue(k,w,n,x),q={markerType:q,markerColor:l,text:k,textBlock:null,chartType:n.type,markerSize:s,dataSeriesIndex:p,
593
- dataPointIndex:x,markerBorderColor:t,markerBorderThickness:u};(w.showInLegend||n.showInLegend&&!1!==w.showInLegend)&&C.push(q)}f(n.legendText)&&(n.legendText=n.name)}}!0===this.reversed&&C.reverse();if(0<C.length){n=null;k=w=x=0;w=null!==this.itemWidth?null!==this.itemMaxWidth?this.itemWidth=Math.min(this.itemWidth,this.itemMaxWidth,g):this.itemMaxWidth=Math.min(this.itemWidth,g):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,g):this.itemMaxWidth=g;s=0===s?0.75*this.lineHeight:s;w-=s+r;for(p=
594
+ dataPointIndex:x,markerBorderColor:t,markerBorderThickness:u};(w.showInLegend||n.showInLegend&&!1!==w.showInLegend)&&C.push(q)}}f(n.legendText)&&(n.legendText=n.name)}}!0===this.reversed&&C.reverse();if(0<C.length){n=null;k=w=x=0;w=null!==this.itemWidth?null!==this.itemMaxWidth?this.itemWidth=Math.min(this.itemWidth,this.itemMaxWidth,g):this.itemMaxWidth=Math.min(this.itemWidth,g):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,g):this.itemMaxWidth=g;s=0===s?0.75*this.lineHeight:s;w-=s+r;for(p=
594
595
  0;p<C.length;p++){q=C[p];l=w;if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)l-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=l||"undefined"===typeof l))if("horizontal"===this.orientation){q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});
595
596
  q.textBlock.measureText();null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(s+r+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!n||n.width+Math.round(q.textBlock.width+s+r+(0===n.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>g)n={items:[],width:0},m.push(n),this.height+=k,k=0;k=Math.max(k,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=
596
597
  n.width;q.textBlock.y=0;n.width+=Math.round(q.textBlock.width+s+r+(0===n.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));n.items.push(q);this.width=Math.max(n.width,this.width)}else q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:w,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,
@@ -630,71 +631,72 @@ this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:sa(p,th
630
631
  fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",padding:this.labelPadding}),this._labels.push({position:p,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)r=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/
631
632
  Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*Y[this.intervalType+"Duration"]*this.interval,g="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||
632
633
  0)+(this.labelPadding.bottom||0):2*this.labelPadding));else if("left"===this._position||"right"===this._position)r=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):
633
- Math.abs(this.range))*Y[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(g="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=g;a.maxHeight=d;var C=a.measureText();l=C.height}e=[];q=n=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(this.labelAngle)||
634
- (this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(g=Math.floor(0.9*r),q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=g;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=
635
- this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var s,k=a.text.split(" "),b=0;b<k.length;b++)p=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),p.width>q&&(s=c,q=p.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;C=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){h=
636
- this._labels[k].textBlock;h=h.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=g*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-
637
- g*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=(m-(l+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(g,q),p),this.sessionVariables.labelWrap=this.labelWrap,h&&C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
638
- this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>g?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=g,h&&C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>g?-25:this.sessionVariables.labelAngle,
639
- this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<g?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!f(h))if(b=
640
- C.width+h.width>>0,k=this.labelFontSize,q<g)b-2*g>n&&(n=b-2*g,b>=2*g&&b<2.2*g?(this.sessionVariables.labelMaxWidth=g,f(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*g&&b<2.8*g?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=k):b>=2.8*g&&b<3.2*g?(this.sessionVariables.labelMaxWidth=
641
- Math.max(g,q),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*g&&b<3.6*g?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=this.labelFontSize):
642
- b>3.6*g&&b<5*g?(f(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p):b>5*g&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));
643
- else if(s===c&&(0===s&&q+this._labels[s+1].textBlock.measureText().width-2*g>n||s===this._labels.length-1&&q+this._labels[s-1].textBlock.measureText().width-2*g>n||0<s&&s<this._labels.length-1&&q+this._labels[s+1].textBlock.measureText().width-2*g>n&&q+this._labels[s-1].textBlock.measureText().width-2*g>n))n=0===s?q+this._labels[s+1].textBlock.measureText().width-2*g:q+this._labels[s-1].textBlock.measureText().width-2*g,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,
644
- this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p;else if(0===n)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(g,q),p),C=a.measureText(),b<this._labels.length-1&&(k=b+1,h=this._labels[k].textBlock,h.maxWidth=this.sessionVariables.labelMaxWidth=
645
- Math.min(Math.max(g,q),p),h=h.measureText(),C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-g*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=0!=this.labelAngle?(m-(l+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):g,this.sessionVariables.labelMaxHeight=
646
- this.labelWrap?(m-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=
647
- p,this.sessionVariables.labelMaxHeight=Math.max(b,0.9*r),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}this.sessionVariables.labelMaxHeight=
648
- Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=
649
- f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=g:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=
650
- this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(g=f(this.options.labelMaxWidth)?0.3*this.chart.width>>
651
- 0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=g;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=
652
- this._labels[c].textBlock;C=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){h=this._labels[k].textBlock;h=h.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=g*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&
653
- 0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(h)||(r=C.height+h.height>>0,r-2*d>q&&(q=r-2*d,r>=2*d&&r<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):r>=2.4*d&&r<2.8*d?(this.sessionVariables.labelMaxHeight=
654
- b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):r>=2.8*d&&r<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):
655
- r>=3.2*d&&r<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):r>3.6*d&&r<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=
656
- f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):
657
- (this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:g,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,
658
- this.sessionVariables.labelMaxWidth=0===this.labelAngle?g:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=
659
- this.options.labelMaxWidth?this.options.labelMaxWidth:g,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,f(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=g):(this.sessionVariables.labelMaxHeight=d,f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
660
- this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(f(this.chart.stockChart)||
661
- this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=d),c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=g:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
662
- this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
663
- a.measureText();for(c=0;c<this.stripLines.length;c++){var g=this.stripLines[c],t;g.labelFontSize="outside"===g.labelPlacement&&f(g.options.labelFontSize)?this.labelFontSize:g.labelFontSize;g.labelFontFamily="outside"===g.labelPlacement&&f(g.options.labelFontFamily)?this.labelFontFamily:g.labelFontFamily;g.labelFontWeight="outside"===g.labelPlacement&&f(g.options.labelFontWeight)?this.labelFontWeight:g.labelFontWeight;g.labelFontStyle="outside"===g.labelPlacement&&f(g.options.labelFontStyle)?this.labelFontStyle:
664
- g.labelFontStyle;if("outside"===g.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)f(g.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?t=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=t=g.labelWrap?0.8*this.chart.height>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding);if("left"===this._position||"right"===
665
- this._position)f(g.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?t=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=t=g.labelWrap?0.8*this.chart.width>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding);f(g.labelBackgroundColor)&&(g.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>
666
- 0,t=f(g.options.labelWrap)||g.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding),f(g.labelBackgroundColor)&&(f(g.startValue)&&0!==g.startValue?g.labelBackgroundColor=v?"transparent":null:g.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:g.labelBackgroundColor,borderColor:g.labelBorderColor,borderThickness:g.labelBorderThickness,
667
- cornerRadius:g.labelCornerRadius,maxWidth:g.options.labelMaxWidth?g.options.labelMaxWidth:d,maxHeight:t,angle:this.labelAngle,text:g.labelFormatter?g.labelFormatter({chart:this.chart,axis:this,stripLine:g}):g.label,textAlign:g.labelTextAlign,fontSize:g.labelFontSize,fontFamily:g.labelFontFamily,fontWeight:g.labelFontWeight,fontColor:g.labelFontColor||g.color,fontStyle:g.labelFontStyle,textBaseline:"middle",padding:g.labelPadding});this._stripLineLabels.push({position:g.value,textBlock:a,effectiveHeight:null,
668
- stripLine:g})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,h=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=f(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(h=0;h<this._labels.length;h++){var g=this._labels[h].textBlock,g=g.measureText(),d=0,d=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+g.height*
669
- Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=d&&(this.labelEffectiveWidth=a=d);this._labels[h].effectiveWidth=d}for(h=0;h<this._stripLineLabels.length;h++)"outside"===this._stripLineLabels[h].stripLine.labelPlacement&&(this._stripLineLabels[h].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[h].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[h].textBlock,g=g.measureText(),d=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+g.height*
670
- Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[h].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(d,0<b.length?Math.max.apply(null,b):d)),a<=d&&(a=d),this.stripLineLabelEffectiveWidth=this._stripLineLabels[h].effectiveWidth=d,b.push(d));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+
671
- e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var h=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=f(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var g=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){c=this._labels[b].textBlock;c=c.measureText();
672
- var d=0,d=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=d&&(this.labelEffectiveHeight=a=d);this._labels[b].effectiveHeight=d}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),
673
- d=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),h=Math.max(h,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(d,0<g.length?Math.max.apply(null,g):d)),a<=d&&(a=d),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=d,g.push(d));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+
674
- 2:0)+a+("inside"===this.tickPlacement?h+this.tickLength:Math.max(h,this.tickLength))+e};y.setLayout=function(a,h,c,b,e,g){var d,r,l,m,p=a[0]?a[0].chart:h[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(h&&0<h.length)for(k=0;k<h.length;k++)h[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&
675
- q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var C=q[k].scaleBreaks._appliedBreaks,s=0;s<C.length&&!(C[s].startValue>q[k].viewportMaximum);s++)C[s].endValue<q[k].viewportMinimum||(f(q[k].scaleBreaks.firstBreakIndex)&&(q[k].scaleBreaks.firstBreakIndex=s),C[s].startValue>=q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=s));for(var t=s=0,u=0,x=0,w=0,B=0,v=0,y,A,D=r=0,F,H,M,C=F=H=M=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,fontSize:q[k].titleFontSize,
676
- fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,fontColor:q[k].titleFontColor,fontStyle:q[k].titleFontStyle,borderColor:q[k].titleBorderColor,borderThickness:q[k].titleBorderThickness,backgroundColor:q[k].titleBackgroundColor,cornerRadius:q[k].titleCornerRadius,textBaseline:"middle",textAlign:q[k].titleTextAlign,padding:q[k].titlePadding}));for(k=0;k<q.length;k++)if(q[k].title){var L=1.5*q[k].titleFontSize+("object"===typeof q[k].titlePadding?(q[k].titlePadding.top||0)+(q[k].titlePadding.bottom||
677
- 0):2*q[k].titlePadding);q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||g.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[k]._position){case "left":q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.angle=90;break;default:q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||g.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*g.height:Math.min(L,0.8*g.height),q[k]._titleTextBlock.angle=0}}if("normal"===e){for(var x=[],w=[],
678
- B=[],v=[],P=[],R=[],Q=[],I=[];4>s;){var Y=0,Z=0,T=0,X=0,ba=L=e=0,ca=0,$=0,aa=0,O=d=0;if(c&&0<c.length)for(B=[],k=d=0;k<c.length;k++)B.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateWidth():0)),d+=B[k],ba+=c[k]&&!p.isNavigator?c[k].margin:0;else B.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));Q.push(B);if(b&&0<b.length)for(v=[],k=O=0;k<b.length;k++)v.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),O+=v[k],ca+=b[k]?b[k].margin:0;else v.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():
679
- 0));I.push(v);d=Math.round(g.x1+d+ba-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5);l=Math.round(Math.min(g.x2-O-ca+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&
680
- 0<a.length)for(x=[],k=$=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(l-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),x.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),$+=x[k],e+=a[k]&&!p.isNavigator?a[k].margin:0;else x.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));P.push(x);if(h&&0<h.length)for(w=[],k=aa=0;k<h.length;k++)h[k]&&
681
- (h[k].lineCoordinates={}),h[k].lineCoordinates.width=Math.abs(l-d),h[k].title&&(h[k]._titleTextBlock.maxWidth=0<h[k].titleMaxWidth&&h[k].titleMaxWidth<h[k].lineCoordinates.width?h[k].titleMaxWidth:h[k].lineCoordinates.width),w.push(Math.ceil(h[k]?h[k].createLabelsAndCalculateHeight():0)),aa+=w[k],L+=h[k]&&!p.isNavigator?h[k].margin:0;else w.push(Math.ceil(h[0]?h[0].createLabelsAndCalculateHeight():0));R.push(w);if(a&&0<a.length){for(k=0;k<a.length;k++){if(a[k]){a[k].lineCoordinates.x1=d;l=Math.round(Math.min(g.x2-
682
- O-ca+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-n));if(a[k]._labels&&1<a[k]._labels.length){var W=r=0;r=a[k]._labels[1];W="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1];t=r.textBlock.width*Math.cos(Math.PI/180*
683
- Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle));u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+W.textBlock.height*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))}!a[k]||(!a[k].labelAutoFit||f(y)||f(A)||p.isNavigator||p.stockChart)||(r=0,0<a[k].labelAngle?(m=u-(W.textBlock.height-W.textBlock._lineHeight/2)*Math.sin(Math.PI/180*W.textBlock.angle),A+m>l&&(a[k].convertPixelToValue(A)>=a[k].viewportMinimum&&
684
- a[k].convertPixelToValue(A)<=a[k].viewportMaximum)&&(r+=A+m-l-O)):0>a[k].labelAngle?y-t<d&&y-t<a[k].viewportMinimum&&(D=d-(ba+a[k].tickLength+B+y-t+a[k].labelFontSize/2)):0===a[k].labelAngle&&(A+u>l&&(a[k].convertPixelToValue(A)>=a[k].viewportMinimum&&a[k].convertPixelToValue(A)<=a[k].viewportMaximum)&&(r=A+u/2-l-O),y-t<d&&y-t<a[k].viewportMinimum&&(D=d-ba-a[k].tickLength-B-y+t/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<r?l-=r:a[k].viewportMaximum===
685
- a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&0<D?d+=D:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<D&&(d+=D),0<r&&(l-=r)));p.panEnabled?$=f(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=$:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=$;r=Math.round(g.y2-$-e+Y)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
686
- 0:5);m=Math.round(g.y2)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[k].lineCoordinates.x2=l;a[k].lineCoordinates.width=l-d;a[k].lineCoordinates.y1=r;a[k].lineCoordinates.y2=r;a[k].bounds={x1:d,y1:r,x2:l,y2:m-($+e-x[k]-Y),width:l-d};a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1;"inside"===a[k].labelPlacement&&(a[k].lineCoordinates.y1=a[0].bounds.y1+Y+(a[k].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[k].lineCoordinates.y2=
687
- a[k].lineCoordinates.y1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2)}Y+=x[k]+a[k].margin}ba=0===a[0].dataSeries.length;if(!ba)for(k=0;k<a[0].dataSeries.length;k++){if(a[0].dataSeries[k].dataPoints){ba=!1;break}ba=!0}if(ba)for(ba=!1,k=1;k<a.length;k++)0!==a[k].dataSeries.length&&(ba?a[k].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[k].lineCoordinates.x2):
688
- (a[0].lineCoordinates.x2=a[k].lineCoordinates.x2,ba=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(h&&0<h.length)for(k=0;k<h.length;k++)h[k].lineCoordinates.x1=d,h[k].lineCoordinates.x2=l,h[k].lineCoordinates.width=Math.abs(l-d),h[k]._labels&&1<h[k]._labels.length&&(r=h[k]._labels[1],W="dateTime"===h[k].valueType?h[k]._labels[h[k]._labels.length-2]:h[k]._labels[h[k]._labels.length-1],t=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-
689
- W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle)),u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))),p.panEnabled?aa=f(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=aa:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=aa,r=Math.round(g.y1)+("inside"!==h[h.length-1].labelPlacement||h[h.length-1].title||h[h.length-
690
- 1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=h[k].lineCoordinates.y1=r+aa+L-Z,h[k].lineCoordinates.y2=r,h[k].bounds={x1:d,y1:r+(aa+L-w[k]-Z),x2:l,y2:m,width:l-d},h[k].bounds.height=h[k].bounds.y2-h[k].bounds.y1,"inside"===h[k].labelPlacement&&(h[k].lineCoordinates.y1=h[0].bounds.y2-Z-(h[k].labelEffectiveHeight||0)-5),"inside"===h[k].tickPlacement&&(h[k].lineCoordinates.y1-=h[k].tickLength),Z+=w[k]+h[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)ba=p.isNavigator?0:10,c[k]&&(d=l=Math.round((a[0]?
691
- a[0].lineCoordinates.x1:h[0].lineCoordinates.x1)+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),ba=Math.max(c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock._lineHeight/2:n,n),r=Math.round(Math.max(g.y1+aa+L-(h[0]?("inside"===h[0].labelPlacement?h[0].labelEffectiveHeight+5:0)+("inside"===h[0].tickPlacement?h[0].tickLength:0):0),0<h.length?0:ba))+(!h.length||"inside"!==h[h.length-
692
- 1].labelPlacement||h[h.length-1].title||h[h.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),ba=0<a.length?0:c[k]._labels&&0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:n,m=Math.round(g.y2-$+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-ba)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[k].lineCoordinates=
693
- {x1:d-T,y1:r,x2:l-T,y2:m,height:Math.abs(m-r)},c[k].bounds={x1:d-(B[k]+T),y1:r,x2:l-T,y2:m,height:m-r},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,"inside"===c[k].labelPlacement&&(c[k].lineCoordinates.x1=Math.round(c[0].bounds.x1+B[0]-T-(c[k].labelEffectiveWidth||0)-5),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].title&&(c[k]._titleTextBlock.maxWidth=
694
- 0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),T+=B[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=l=Math.round((a[0]?a[0].lineCoordinates.x2:h[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),ba=Math.max(b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,n),
695
- r=Math.round(Math.max(g.y1+aa+L-(h[0]?("inside"===h[0].labelPlacement?h[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===h[0].tickPlacement?h[0].tickLength:0):0)+(!h.length||"inside"!==h[h.length-1].labelPlacement||h[h.length-1].title||h[h.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<h.length?0:ba)),ba=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(g.y2-($+e+ba)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+
696
- (p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[k].lineCoordinates={x1:d+X,y1:r,x2:d+X,y2:m,height:Math.abs(m-r)},b[k].bounds={x1:d+X,y1:r,x2:l+v[k]+X,y2:m,height:m-r},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,"inside"===b[k].labelPlacement&&(b[k].lineCoordinates.x1=Math.round(b[0].bounds.x1+X+(b[k].labelEffectiveWidth||0)+(p.isNavigator?
697
- 0:5)),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),X+=v[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),
634
+ Math.abs(this.range))*Y[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(g="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;!this.labelAutoFit&&0>=g&&(g="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth);a.maxWidth=
635
+ g;!this.labelAutoFit&&0>=d&&(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding));a.maxHeight=d;var C=a.measureText();l=C.height}e=[];q=n=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&
636
+ 360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(g=Math.floor(0.9*r),q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=g;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var s,
637
+ k=a.text.split(" "),b=0;b<k.length;b++)p=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),p.width>q&&(s=c,q=p.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;C=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){h=this._labels[k].textBlock;h=h.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=
638
+ Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=g*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-g*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
639
+ p=(m-(l+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(g,q),p),this.sessionVariables.labelWrap=this.labelWrap,h&&C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
640
+ g?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=g,h&&C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>g?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
641
+ d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<g?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!f(h))if(b=C.width+h.width>>0,k=this.labelFontSize,q<g)b-2*g>n&&(n=b-2*g,b>=2*g&&b<2.2*g?(this.sessionVariables.labelMaxWidth=
642
+ g,f(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*g&&b<2.8*g?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=k):b>=2.8*g&&b<3.2*g?(this.sessionVariables.labelMaxWidth=Math.max(g,q),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&
643
+ (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*g&&b<3.6*g?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*g&&b<5*g?(f(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=
644
+ f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p):b>5*g&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(s===c&&(0===s&&q+this._labels[s+1].textBlock.measureText().width-2*g>n||s===this._labels.length-1&&q+this._labels[s-
645
+ 1].textBlock.measureText().width-2*g>n||0<s&&s<this._labels.length-1&&q+this._labels[s+1].textBlock.measureText().width-2*g>n&&q+this._labels[s-1].textBlock.measureText().width-2*g>n))n=0===s?q+this._labels[s+1].textBlock.measureText().width-2*g:q+this._labels[s-1].textBlock.measureText().width-2*g,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
646
+ p;else if(0===n)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(g,q),p),C=a.measureText(),b<this._labels.length-1&&(k=b+1,h=this._labels[k].textBlock,h.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(g,q),p),h=h.measureText(),C.width+h.width>>0>2*g&&(this.sessionVariables.labelAngle=
647
+ -25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-g*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=0!=this.labelAngle?(m-(l+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):g,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
648
+ 1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelMaxHeight=Math.max(b,0.9*r),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
649
+ (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}this.sessionVariables.labelMaxHeight=Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,
650
+ a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=g:this.sessionVariables.labelMaxWidth:
651
+ this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?
652
+ this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(g=f(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&
653
+ 1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=g;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;C=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){h=this._labels[k].textBlock;
654
+ h=h.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=g*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(h)||(r=C.height+
655
+ h.height>>0,r-2*d>q&&(q=r-2*d,r>=2*d&&r<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):r>=2.4*d&&r<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):r>=2.8*d&&r<3.2*d?(this.sessionVariables.labelMaxHeight=
656
+ d,this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>=3.2*d&&r<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=
657
+ this.labelFontSize):r>3.6*d&&r<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(f(this.options.labelFontSize)&&
658
+ 12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=g,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
659
+ this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:g,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?g:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/
660
+ Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:g,this.sessionVariables.labelMaxHeight=0===
661
+ this.labelAngle?d:b,f(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=g):(this.sessionVariables.labelMaxHeight=d,f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=
662
+ this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(f(this.chart.stockChart)||this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=d),c=0;c<this._labels.length;c++)a=
663
+ this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=g:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?
664
+ this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var g=this.stripLines[c],t;g.labelFontSize=
665
+ "outside"===g.labelPlacement&&f(g.options.labelFontSize)?this.labelFontSize:g.labelFontSize;g.labelFontFamily="outside"===g.labelPlacement&&f(g.options.labelFontFamily)?this.labelFontFamily:g.labelFontFamily;g.labelFontWeight="outside"===g.labelPlacement&&f(g.options.labelFontWeight)?this.labelFontWeight:g.labelFontWeight;g.labelFontStyle="outside"===g.labelPlacement&&f(g.options.labelFontStyle)?this.labelFontStyle:g.labelFontStyle;if("outside"===g.labelPlacement){d=this.sessionVariables.labelMaxWidth;
666
+ if("bottom"===this._position||"top"===this._position)f(g.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?t=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=t=g.labelWrap?0.8*this.chart.height>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding);if("left"===this._position||"right"===this._position)f(g.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?
667
+ t=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=t=g.labelWrap?0.8*this.chart.width>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding);f(g.labelBackgroundColor)&&(g.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,t=f(g.options.labelWrap)||g.labelWrap?"bottom"===this._position||"top"===this._position?
668
+ 0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*g.labelFontSize+("object"===typeof g.labelPadding?(g.labelPadding.top||0)+(g.labelPadding.bottom||0):2*g.labelPadding),f(g.labelBackgroundColor)&&(f(g.startValue)&&0!==g.startValue?g.labelBackgroundColor=v?"transparent":null:g.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:g.labelBackgroundColor,borderColor:g.labelBorderColor,borderThickness:g.labelBorderThickness,cornerRadius:g.labelCornerRadius,maxWidth:g.options.labelMaxWidth?
669
+ g.options.labelMaxWidth:d,maxHeight:t,angle:this.labelAngle,text:g.labelFormatter?g.labelFormatter({chart:this.chart,axis:this,stripLine:g}):g.label,textAlign:g.labelTextAlign,fontSize:g.labelFontSize,fontFamily:g.labelFontFamily,fontWeight:g.labelFontWeight,fontColor:g.labelFontColor||g.color,fontStyle:g.labelFontStyle,textBaseline:"middle",padding:g.labelPadding});this._stripLineLabels.push({position:g.value,textBlock:a,effectiveHeight:null,stripLine:g})}};y.prototype.createLabelsAndCalculateWidth=
670
+ function(){var a=0,h=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=f(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(h=0;h<this._labels.length;h++){var g=this._labels[h].textBlock,g=g.measureText(),d=0,d=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=d&&(this.labelEffectiveWidth=
671
+ a=d);this._labels[h].effectiveWidth=d}for(h=0;h<this._stripLineLabels.length;h++)"outside"===this._stripLineLabels[h].stripLine.labelPlacement&&(this._stripLineLabels[h].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[h].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[h].textBlock,g=g.measureText(),d=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[h].stripLine.tickLength),
672
+ "inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(d,0<b.length?Math.max.apply(null,b):d)),a<=d&&(a=d),this.stripLineLabelEffectiveWidth=this._stripLineLabels[h].effectiveWidth=d,b.push(d));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=
673
+ [];var h=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=f(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var g=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){c=this._labels[b].textBlock;c=c.measureText();var d=0,d=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
674
+ c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=d&&(this.labelEffectiveHeight=a=d);this._labels[b].effectiveHeight=d}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),d=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
675
+ c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),h=Math.max(h,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(d,0<g.length?Math.max.apply(null,g):d)),a<=d&&(a=d),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=d,g.push(d));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?h+this.tickLength:Math.max(h,
676
+ this.tickLength))+e};y.setLayout=function(a,h,c,b,e,g){var d,r,l,m,p=a[0]?a[0].chart:h[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(h&&0<h.length)for(k=0;k<h.length;k++)h[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var C=
677
+ q[k].scaleBreaks._appliedBreaks,s=0;s<C.length&&!(C[s].startValue>q[k].viewportMaximum);s++)C[s].endValue<q[k].viewportMinimum||(f(q[k].scaleBreaks.firstBreakIndex)&&(q[k].scaleBreaks.firstBreakIndex=s),C[s].startValue>=q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=s));for(var t=s=0,u=0,x=0,w=0,B=0,v=0,y,A,D=r=0,F,H,M,C=F=H=M=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,fontSize:q[k].titleFontSize,fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,
678
+ fontColor:q[k].titleFontColor,fontStyle:q[k].titleFontStyle,borderColor:q[k].titleBorderColor,borderThickness:q[k].titleBorderThickness,backgroundColor:q[k].titleBackgroundColor,cornerRadius:q[k].titleCornerRadius,textBaseline:"middle",textAlign:q[k].titleTextAlign,padding:q[k].titlePadding}));for(k=0;k<q.length;k++)if(q[k].title){var L=1.5*q[k].titleFontSize+("object"===typeof q[k].titlePadding?(q[k].titlePadding.top||0)+(q[k].titlePadding.bottom||0):2*q[k].titlePadding);q[k]._titleTextBlock.maxWidth=
679
+ q[k].titleMaxWidth||g.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[k]._position){case "left":q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.angle=90;break;default:q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||g.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*g.height:Math.min(L,0.8*g.height),q[k]._titleTextBlock.angle=0}}if("normal"===e){for(var x=[],w=[],B=[],v=[],P=[],R=[],Q=[],I=[];4>s;){var Y=0,Z=0,T=0,X=
680
+ 0,ba=L=e=0,ca=0,$=0,aa=0,O=d=0;if(c&&0<c.length)for(B=[],k=d=0;k<c.length;k++)B.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateWidth():0)),d+=B[k],ba+=c[k]&&!p.isNavigator?c[k].margin:0;else B.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));Q.push(B);if(b&&0<b.length)for(v=[],k=O=0;k<b.length;k++)v.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),O+=v[k],ca+=b[k]?b[k].margin:0;else v.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));I.push(v);d=Math.round(g.x1+
681
+ d+ba-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5);l=Math.round(Math.min(g.x2-O-ca+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&0<a.length)for(x=[],k=$=0;k<a.length;k++)a[k]&&
682
+ (a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(l-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),x.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),$+=x[k],e+=a[k]&&!p.isNavigator?a[k].margin:0;else x.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));P.push(x);if(h&&0<h.length)for(w=[],k=aa=0;k<h.length;k++)h[k]&&(h[k].lineCoordinates={}),h[k].lineCoordinates.width=
683
+ Math.abs(l-d),h[k].title&&(h[k]._titleTextBlock.maxWidth=0<h[k].titleMaxWidth&&h[k].titleMaxWidth<h[k].lineCoordinates.width?h[k].titleMaxWidth:h[k].lineCoordinates.width),w.push(Math.ceil(h[k]?h[k].createLabelsAndCalculateHeight():0)),aa+=w[k],L+=h[k]&&!p.isNavigator?h[k].margin:0;else w.push(Math.ceil(h[0]?h[0].createLabelsAndCalculateHeight():0));R.push(w);if(a&&0<a.length){for(k=0;k<a.length;k++){if(a[k]){a[k].lineCoordinates.x1=d;l=Math.round(Math.min(g.x2-O-ca+(b[0]?("inside"===b[0].labelPlacement?
684
+ b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-n));if(a[k]._labels&&1<a[k]._labels.length){var W=r=0;r=a[k]._labels[1];W="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1];t=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-
685
+ r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle));u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+W.textBlock.height*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))}!a[k]||(!a[k].labelAutoFit||f(y)||f(A)||p.isNavigator||p.stockChart)||(r=0,0<a[k].labelAngle?(m=u-(W.textBlock.height-W.textBlock._lineHeight/2)*Math.sin(Math.PI/180*W.textBlock.angle),A+m>l&&(a[k].convertPixelToValue(A)>=a[k].viewportMinimum&&a[k].convertPixelToValue(A)<=a[k].viewportMaximum)&&
686
+ (r+=A+m-l-O)):0>a[k].labelAngle?y-t<d&&y-t<a[k].viewportMinimum&&(D=d-(ba+a[k].tickLength+B+y-t+a[k].labelFontSize/2)):0===a[k].labelAngle&&(A+u>l&&(a[k].convertPixelToValue(A)>=a[k].viewportMinimum&&a[k].convertPixelToValue(A)<=a[k].viewportMaximum)&&(r=A+u/2-l-O),y-t<d&&y-t<a[k].viewportMinimum&&(D=d-ba-a[k].tickLength-B-y+t/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<r?l-=r:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&
687
+ 0>a[k].labelAngle&&0<D?d+=D:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<D&&(d+=D),0<r&&(l-=r)));p.panEnabled?$=f(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=$:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=$;r=Math.round(g.y2-$-e+Y)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);m=Math.round(g.y2)-("inside"!==a[a.length-
688
+ 1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[k].lineCoordinates.x2=l;a[k].lineCoordinates.width=l-d;a[k].lineCoordinates.y1=r;a[k].lineCoordinates.y2=r;a[k].bounds={x1:d,y1:r,x2:l,y2:m-($+e-x[k]-Y),width:l-d};a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1;"inside"===a[k].labelPlacement&&(a[k].lineCoordinates.y1=a[0].bounds.y1+Y+(a[k].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/
689
+ 2);"inside"===a[k].tickPlacement&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2)}Y+=x[k]+a[k].margin}ba=0===a[0].dataSeries.length;if(!ba)for(k=0;k<a[0].dataSeries.length;k++){if(a[0].dataSeries[k].dataPoints){ba=!1;break}ba=!0}if(ba)for(ba=!1,k=1;k<a.length;k++)0!==a[k].dataSeries.length&&(ba?a[k].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[k].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[k].lineCoordinates.x2,
690
+ ba=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(h&&0<h.length)for(k=0;k<h.length;k++)h[k].lineCoordinates.x1=d,h[k].lineCoordinates.x2=l,h[k].lineCoordinates.width=Math.abs(l-d),h[k]._labels&&1<h[k]._labels.length&&(r=h[k]._labels[1],W="dateTime"===h[k].valueType?h[k]._labels[h[k]._labels.length-2]:h[k]._labels[h[k]._labels.length-1],t=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/
691
+ 180*Math.abs(r.textBlock.angle)),u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))),p.panEnabled?aa=f(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=aa:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=aa,r=Math.round(g.y1)+("inside"!==h[h.length-1].labelPlacement||h[h.length-1].title||h[h.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
692
+ 0:5),m=h[k].lineCoordinates.y1=r+aa+L-Z,h[k].lineCoordinates.y2=r,h[k].bounds={x1:d,y1:r+(aa+L-w[k]-Z),x2:l,y2:m,width:l-d},h[k].bounds.height=h[k].bounds.y2-h[k].bounds.y1,"inside"===h[k].labelPlacement&&(h[k].lineCoordinates.y1=h[0].bounds.y2-Z-(h[k].labelEffectiveHeight||0)-5),"inside"===h[k].tickPlacement&&(h[k].lineCoordinates.y1-=h[k].tickLength),Z+=w[k]+h[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)ba=p.isNavigator?0:10,c[k]&&(d=l=Math.round((a[0]?a[0].lineCoordinates.x1:h[0].lineCoordinates.x1)+
693
+ (c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),ba=Math.max(c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock._lineHeight/2:n,n),r=Math.round(Math.max(g.y1+aa+L-(h[0]?("inside"===h[0].labelPlacement?h[0].labelEffectiveHeight+5:0)+("inside"===h[0].tickPlacement?h[0].tickLength:0):0),0<h.length?0:ba))+(!h.length||"inside"!==h[h.length-1].labelPlacement||h[h.length-1].title||h[h.length-
694
+ 1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),ba=0<a.length?0:c[k]._labels&&0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:n,m=Math.round(g.y2-$+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-ba)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[k].lineCoordinates={x1:d-T,y1:r,x2:l-T,y2:m,height:Math.abs(m-
695
+ r)},c[k].bounds={x1:d-(B[k]+T),y1:r,x2:l-T,y2:m,height:m-r},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,"inside"===c[k].labelPlacement&&(c[k].lineCoordinates.x1=Math.round(c[0].bounds.x1+B[0]-T-(c[k].labelEffectiveWidth||0)-5),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&
696
+ c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),T+=B[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=l=Math.round((a[0]?a[0].lineCoordinates.x2:h[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),ba=Math.max(b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,n),r=Math.round(Math.max(g.y1+
697
+ aa+L-(h[0]?("inside"===h[0].labelPlacement?h[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===h[0].tickPlacement?h[0].tickLength:0):0)+(!h.length||"inside"!==h[h.length-1].labelPlacement||h[h.length-1].title||h[h.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<h.length?0:ba)),ba=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(g.y2-($+e+ba)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):
698
+ 0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[k].lineCoordinates={x1:d+X,y1:r,x2:d+X,y2:m,height:Math.abs(m-r)},b[k].bounds={x1:d+X,y1:r,x2:l+v[k]+X,y2:m,height:m-r},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,"inside"===b[k].labelPlacement&&(b[k].lineCoordinates.x1=Math.round(b[0].bounds.x1+X+(b[k].labelEffectiveWidth||0)+(p.isNavigator?0:5)),
699
+ b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),X+=v[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),
698
700
  a[k]._labels&&1<a[k]._labels.length&&(y=(a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),A=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):
699
701
  0)+a[k].lineCoordinates.x1:(0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(h&&0<h.length)for(k=0;k<h.length;k++)h[k].calculateValueToPixelConversionParameters(),h[k].calculateBreaksSizeInValues(),h[k]._labels&&1<h[k]._labels.length&&(y=(h[k].logarithmic?Math.log(h[k]._labels[1].position/h[k].viewportMinimum)/h[k].conversionParameters.lnLogarithmBase:h[k]._labels[1].position-h[k].viewportMinimum)*Math.abs(h[k].conversionParameters.pixelPerUnit)+h[k].lineCoordinates.x1,
700
702
  d=h[k]._labels[h[k]._labels.length-("dateTime"===h[k].valueType?2:1)].position,d=h[k].getApparentDifference(h[k].viewportMinimum,d),A=h[k].logarithmic?(1<d?Math.log(d)/h[k].conversionParameters.lnLogarithmBase*Math.abs(h[k].conversionParameters.pixelPerUnit):0)+h[k].lineCoordinates.x1:(0<d?d*Math.abs(h[k].conversionParameters.pixelPerUnit):0)+h[k].lineCoordinates.x1);for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<
@@ -987,7 +989,7 @@ onComplete:b});for(a=[];0<this.animations.length;)if(d=this.animations.shift(),c
987
989
  ma)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ma,b.height/ma);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ma,c.canvas.height/ma);c.restore()}},easing:{linear:function(a,d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*
988
990
  ((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},B={drawMarker:function(a,d,c,b,e,g,f,r){if(c){var l=1;c.fillStyle=g?g:"#000000";c.strokeStyle=f?f:"#000000";c.lineWidth=r?r:0;c.setLineDash&&c.setLineDash(Q("solid",r));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),g&&c.fill(),r&&(f?c.stroke():(l=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=l))):"square"===b?
989
991
  (c.beginPath(),c.rect(a-e/2,d-e/2,e,e),g&&c.fill(),r&&(f?c.stroke():(l=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=l))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),g&&c.fill(),r&&(f?c.stroke():(l=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=l)),c.beginPath()):"cross"===b&&(c.strokeStyle=g,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),
990
- c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];B.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return l}();Ja.version="v3.14.5 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ja);ga.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",
992
+ c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];B.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return l}();Ja.version="v3.14.7 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ja);ga.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",
991
993
  colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ga.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"left",dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",colorSet:"colorSet1",
992
994
  publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",colorSet:"readWrite",options:"readWrite",bounds:"readOnly"}};ga.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",
993
995
  buttonStyle:"readWrite",bounds:"readOnly"}};ga.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ga.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",labelFontColorOnHover:"#fff",labelFontSize:14,labelFontStyle:"normal",labelFontFamily:v?
@@ -1228,7 +1230,7 @@ this.elements[d].style.height=this.style.fontSize+"px",this.elements[d].style.fo
1228
1230
  (this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ja(fa,ca);fa.prototype._updateOptions=function(){this.updateOption("backgroundColor");
1229
1231
  this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};
1230
1232
  ja(ga,ca);ga.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return t}();
1231
- T.version="v1.14.5 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ja,window.CanvasJS.StockChart=T))})();
1233
+ T.version="v1.14.7 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ja,window.CanvasJS.StockChart=T))})();
1232
1234
 
1233
1235
  /*
1234
1236
  excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.