@canvasjs/charts 3.14.10 → 3.15.0

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.
Files changed (3) hide show
  1. package/LICENSE +1 -1
  2. package/canvasjs.min.js +234 -234
  3. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- CanvasJS Chart - v3.14.10 GA - https://canvasjs.com/
1
+ CanvasJS Chart - v3.15.0 GA - https://canvasjs.com/
2
2
  Copyright 2025 fenopix
3
3
 
4
4
  --------------------- License Information --------------------
package/canvasjs.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS Chart - v3.14.10 GA - https://canvasjs.com/
2
+ CanvasJS Chart - v3.15.0 GA - https://canvasjs.com/
3
3
  Copyright 2025 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -668,239 +668,239 @@ if("bottom"===this._position||"top"===this._position)k(m.options.labelWrap)&&!k(
668
668
  z=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=z=m.labelWrap?0.8*this.chart.width>>0:1.5*m.labelFontSize+("object"===typeof m.labelPadding?(m.labelPadding.top||0)+(m.labelPadding.bottom||0):2*m.labelPadding);k(m.labelBackgroundColor)&&(m.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,z=k(m.options.labelWrap)||m.labelWrap?"bottom"===this._position||"top"===this._position?
669
669
  0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*m.labelFontSize+("object"===typeof m.labelPadding?(m.labelPadding.top||0)+(m.labelPadding.bottom||0):2*m.labelPadding),k(m.labelBackgroundColor)&&(k(m.startValue)&&0!==m.startValue?m.labelBackgroundColor=u?"transparent":null:m.labelBackgroundColor="#EEEEEE");a=new ka(this.ctx,{x:0,y:0,backgroundColor:m.labelBackgroundColor,borderColor:m.labelBorderColor,borderThickness:m.labelBorderThickness,cornerRadius:m.labelCornerRadius,maxWidth:m.options.labelMaxWidth?
670
670
  m.options.labelMaxWidth:d,maxHeight:z,angle:this.labelAngle,text:m.labelFormatter?m.labelFormatter({chart:this.chart,axis:this,stripLine:m}):m.label,textAlign:m.labelTextAlign,fontSize:m.labelFontSize,fontFamily:m.labelFontFamily,fontWeight:m.labelFontWeight,fontColor:m.labelFontColor||m.color,fontStyle:m.labelFontStyle,textBaseline:"middle",padding:m.labelPadding});this._stripLineLabels.push({position:m.value,textBlock:a,effectiveHeight:null,stripLine:m})}};y.prototype.createLabelsAndCalculateWidth=
671
- function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=k(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(d=0;d<this._labels.length;d++){var g=this._labels[d].textBlock,g=g.measureText(),m=0,m=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<=m&&(this.labelEffectiveWidth=
672
- a=m);this._labels[d].effectiveWidth=m}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[d].textBlock,g=g.measureText(),m=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[d].stripLine.tickLength),
673
- "inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(m,0<b.length?Math.max.apply(null,b):m)),a<=m&&(a=m),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=m,b.push(m));"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=
674
- [];var d=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=k(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 m=0,m=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));a<=m&&(this.labelEffectiveHeight=a=m);this._labels[b].effectiveHeight=m}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(),m=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
676
- c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d=Math.max(d,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(m,0<g.length?Math.max.apply(null,g):m)),a<=m&&(a=m),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=m,g.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?d+this.tickLength:Math.max(d,
677
- this.tickLength))+e};y.setLayout=function(a,d,c,b,e,g){var m,h,r,l,p=a[0]?a[0].chart:d[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&a[f].calculateAxisParameters();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateAxisParameters();for(f=0;f<q.length;f++)if(q[f]&&q[f].scaleBreaks&&q[f].scaleBreaks._appliedBreaks.length)for(var u=
678
- q[f].scaleBreaks._appliedBreaks,x=0;x<u.length&&!(u[x].startValue>q[f].viewportMaximum);x++)u[x].endValue<q[f].viewportMinimum||(k(q[f].scaleBreaks.firstBreakIndex)&&(q[f].scaleBreaks.firstBreakIndex=x),u[x].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=x));for(var y=x=0,t=0,w=0,v=0,A=0,B=0,C,D,E=h=0,H,J,N,u=H=J=N=!1,f=0;f<q.length;f++)q[f]&&q[f].title&&(q[f]._titleTextBlock=new ka(q[f].ctx,{text:q[f].title,fontSize:q[f].titleFontSize,fontFamily:q[f].titleFontFamily,fontWeight:q[f].titleFontWeight,
679
- fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var L=1.5*q[f].titleFontSize+("object"===typeof q[f].titlePadding?(q[f].titlePadding.top||0)+(q[f].titlePadding.bottom||0):2*q[f].titlePadding);q[f]._titleTextBlock.maxWidth=
680
- q[f].titleMaxWidth||g.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=-90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*g.height:Math.min(L,0.8*g.height),q[f]._titleTextBlock.angle=0}}if("normal"===e){for(var w=[],v=[],A=[],B=[],Q=[],R=[],U=[],F=[];4>x;){var X=0,V=0,T=0,W=
681
- 0,aa=L=e=0,ba=0,Y=0,Z=0,M=m=0;if(c&&0<c.length)for(A=[],f=m=0;f<c.length;f++)A.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),m+=A[f],aa+=c[f]&&!p.isNavigator?c[f].margin:0;else A.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));U.push(A);if(b&&0<b.length)for(B=[],f=M=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():0)),M+=B[f],ba+=b[f]?b[f].margin:0;else B.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));F.push(B);m=Math.round(g.x1+
682
- m+aa-(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);r=Math.round(Math.min(g.x2-M-ba+(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(w=[],f=Y=0;f<a.length;f++)a[f]&&
683
- (a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(r-m),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:a[f].lineCoordinates.width),w.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),Y+=w[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else w.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));Q.push(w);if(d&&0<d.length)for(v=[],f=Z=0;f<d.length;f++)d[f]&&(d[f].lineCoordinates={}),d[f].lineCoordinates.width=
684
- Math.abs(r-m),d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.width?d[f].titleMaxWidth:d[f].lineCoordinates.width),v.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateHeight():0)),Z+=v[f],L+=d[f]&&!p.isNavigator?d[f].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));R.push(v);if(a&&0<a.length){for(f=0;f<a.length;f++){if(a[f]){a[f].lineCoordinates.x1=m;r=Math.round(Math.min(g.x2-M-ba+(b[0]?("inside"===b[0].labelPlacement?
685
- 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[f]._labels&&1<a[f]._labels.length){var S=h=0;h=a[f]._labels[1];S="dateTime"===a[f].valueType?a[f]._labels[a[f]._labels.length-2]:a[f]._labels[a[f]._labels.length-1];y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-
686
- h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+S.textBlock.height*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))}!a[f]||(!a[f].labelAutoFit||k(C)||k(D)||p.isNavigator||p.stockChart)||(h=0,0<a[f].labelAngle?(l=t-(S.textBlock.height-S.textBlock._lineHeight/2)*Math.sin(Math.PI/180*S.textBlock.angle),D+l>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&
687
- (h+=D+l-r-M)):0>a[f].labelAngle?C-y<m&&C-y<a[f].viewportMinimum&&(E=m-(aa+a[f].tickLength+A+C-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(D+t>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h=D+t/2-r-M),C-y<m&&C-y<a[f].viewportMinimum&&(E=m-aa-a[f].tickLength-A-C+y/2)),a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0<a[f].labelAngle&&0<h?r-=h:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&
688
- 0>a[f].labelAngle&&0<E?m+=E:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<E&&(m+=E),0<h&&(r-=h)));p.panEnabled?Y=k(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y;h=Math.round(g.y2-Y-e+X)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);l=Math.round(g.y2)-("inside"!==a[a.length-
689
- 1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[f].lineCoordinates.x2=r;a[f].lineCoordinates.width=r-m;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:m,y1:h,x2:r,y2:l-(Y+e-w[f]-X),width:r-m};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.y1=a[0].bounds.y1+X+(a[f].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/
690
- 2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}X+=w[f]+a[f].margin}aa=0===a[0].dataSeries.length;if(!aa)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){aa=!1;break}aa=!0}if(aa)for(aa=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&(aa?a[f].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2,
691
- aa=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].lineCoordinates.x1=m,d[f].lineCoordinates.x2=r,d[f].lineCoordinates.width=Math.abs(r-m),d[f]._labels&&1<d[f]._labels.length&&(h=d[f]._labels[1],S="dateTime"===d[f].valueType?d[f]._labels[d[f]._labels.length-2]:d[f]._labels[d[f]._labels.length-1],y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/
692
- 180*Math.abs(h.textBlock.angle)),t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))),p.panEnabled?Z=k(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=Z:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=Z,h=Math.round(g.y1)+("inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
693
- 0:5),l=d[f].lineCoordinates.y1=h+Z+L-V,d[f].lineCoordinates.y2=h,d[f].bounds={x1:m,y1:h+(Z+L-v[f]-V),x2:r,y2:l,width:r-m},d[f].bounds.height=d[f].bounds.y2-d[f].bounds.y1,"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.y1=d[0].bounds.y2-V-(d[f].labelEffectiveHeight||0)-5),"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.y1-=d[f].tickLength),V+=v[f]+d[f].margin;if(c&&0<c.length)for(f=0;f<c.length;f++)aa=p.isNavigator?0:10,c[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1)+
694
- (c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),aa=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:n,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+5:0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),0<d.length?0:aa))+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-
695
- 1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),aa=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:n,l=Math.round(g.y2-Y+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-aa)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[f].lineCoordinates={x1:m-T,y1:h,x2:r-T,y2:l,height:Math.abs(l-
696
- h)},c[f].bounds={x1:m-(A[f]+T),y1:h,x2:r-T,y2:l,height:l-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+A[0]-T-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=c[f].tickLength,c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&
697
- c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),T+=A[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x2:d[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)),aa=Math.max(b[f]._labels&&0<b[f]._labels.length?b[f]._labels[b[f]._labels.length-1].textBlock.height/2:0,n),h=Math.round(Math.max(g.y1+
698
- Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<d.length?0:aa)),aa=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?b[f]._labels[0].textBlock.height/2:0,l=Math.round(g.y2-(Y+e+aa)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+
699
- ("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[f].lineCoordinates={x1:m+W,y1:h,x2:m+W,y2:l,height:Math.abs(l-h)},b[f].bounds={x1:m+W,y1:h,x2:r+B[f]+W,y2:l,height:l-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.x1=Math.round(b[0].bounds.x1+W+(b[f].labelEffectiveWidth||0)+(p.isNavigator?0:5)),b[f].lineCoordinates.x2=
700
- b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),W+=B[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++)a[f]&&(a[f].calculateValueToPixelConversionParameters(),a[f].calculateBreaksSizeInValues(),
701
- a[f]._labels&&1<a[f]._labels.length&&(C=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,m=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,m=a[f].getApparentDifference(a[f].viewportMinimum,m),D=a[f].logarithmic?(1<m?Math.log(m)/a[f].conversionParameters.lnLogarithmBase*Math.abs(a[f].conversionParameters.pixelPerUnit):
702
- 0)+a[f].lineCoordinates.x1:(0<m?m*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateValueToPixelConversionParameters(),d[f].calculateBreaksSizeInValues(),d[f]._labels&&1<d[f]._labels.length&&(C=(d[f].logarithmic?Math.log(d[f]._labels[1].position/d[f].viewportMinimum)/d[f].conversionParameters.lnLogarithmBase:d[f]._labels[1].position-d[f].viewportMinimum)*Math.abs(d[f].conversionParameters.pixelPerUnit)+d[f].lineCoordinates.x1,
703
- m=d[f]._labels[d[f]._labels.length-("dateTime"===d[f].valueType?2:1)].position,m=d[f].getApparentDifference(d[f].viewportMinimum,m),D=d[f].logarithmic?(1<m?Math.log(m)/d[f].conversionParameters.lnLogarithmBase*Math.abs(d[f].conversionParameters.pixelPerUnit):0)+d[f].lineCoordinates.x1:(0<m?m*Math.abs(d[f].conversionParameters.pixelPerUnit):0)+d[f].lineCoordinates.x1);for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<
704
- x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=U[x-1][f]===U[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)N=F[x-1][f]===F[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),
705
- d[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels()}else{n=[];C=[];E=[];y=[];t=[];D=[];Q=[];for(R=[];4>x;){Y=W=T=ba=aa=L=e=F=U=V=Z=0;if(a&&0<a.length)for(E=[],f=W=0;f<a.length;f++)E.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateWidth():0)),W+=E[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else E.push(Math.ceil(a[0]?
706
- a[0].createLabelsAndCalculateWidth():0));Q.push(E);if(d&&0<d.length)for(y=[],f=Y=0;f<d.length;f++)y.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateWidth():0)),Y+=y[f],L+=d[f]?d[f].margin:0;else y.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));R.push(y);if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||
707
- "inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-10)),c[f].labelAutoFit&&!k(w)&&(0<!a.length&&(m=0>c[f].labelAngle?
708
- Math.max(m,w):0===c[f].labelAngle?Math.max(m,w/2):m),0<!d.length&&(r=0<c[f].labelAngle?r-v/2:0===c[f].labelAngle?r-v/2:r)),c[f].lineCoordinates.x1=m,c[f].lineCoordinates.x2=r,c[f].lineCoordinates.width=Math.abs(r-m),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+
709
- (p.isNavigator?0:5):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].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||
710
- p.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!k(A)&&(0<!a.length&&(m=0<b[f].labelAngle?Math.max(m,A):0===b[f].labelAngle?Math.max(m,A/2):m),0<!d.length&&(r-=B/2)),b[f].lineCoordinates.x1=m,b[f].lineCoordinates.x2=r,b[f].lineCoordinates.width=Math.abs(r-m),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width);if(c&&0<c.length)for(n=[],f=T=0;f<c.length;f++)n.push(Math.ceil(c[f]?
711
- c[f].createLabelsAndCalculateHeight():0)),T+=n[f]+c[f].margin,aa+=c[f].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(n);if(b&&0<b.length)for(C=[],f=0;f<b.length;f++)C.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateHeight():0)),ba+=b[f].margin;else C.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));D.push(C);if(c&&0<c.length)for(f=0;f<c.length;f++)0<c[f]._labels.length&&(h=c[f]._labels[0],S=c[f]._labels[c[f]._labels.length-1],w=h.textBlock.width*
712
- Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),v=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&0<b[f]._labels.length&&(h=b[f]._labels[0],S=b[f]._labels[b[f]._labels.length-1],A=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+
713
- (h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));if(p.panEnabled)for(f=0;f<c.length;f++)n[f]=k(p.sessionVariables.axisY[f].height)?p.sessionVariables.axisY[f].height=n[f]:p.sessionVariables.axisY[f].height;else for(f=0;f<c.length;f++)p.sessionVariables.axisY[f].height=n[f];if(c&&0<c.length)for(f=
714
- c.length-1;0<=f;f--)h=Math.round(g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y2>c[f].chart.height?c[f].chart.height:g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[f].lineCoordinates.y1=h-(n[f]+c[f].margin+Z),c[f].lineCoordinates.y2=h-(n[f]+c[f].margin+Z),"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.y1=
715
- c[f].lineCoordinates.y1+c[f].labelEffectiveHeight+(p.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),c[f].bounds={x1:m,y1:h-(n[f]+Z+c[f].margin),x2:r,y2:l-(Z+c[f].margin),width:r-m,height:n[f]},c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:
716
- c[f].lineCoordinates.width),Z+=n[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(g.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y1+(C[f]+b[f].margin+V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[f].lineCoordinates.y1=l,b[f].lineCoordinates.y2=l,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.y1=
717
- l-b[f].labelEffectiveHeight-5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:m,y1:h+(b[f].margin+V),x2:r,y2:l,width:r-m},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width),
718
- V+=C[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++){aa=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;m=Math.round(g.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;r=Math.round(g.x1+W+e);l=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):
719
- g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(r=c[S].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=0>c[S].labelAngle||0===c[S].labelAngle?r-W:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(r=b[S].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:
720
- 0):0),m=r-W);a[f].lineCoordinates={x1:r-U,y1:h,x2:r-U,y2:l,height:Math.abs(l-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);a[f].bounds={x1:r-(E[f]+U),y1:h,x2:r-U,y2:l,height:l-h};a[f].bounds.width=a[f].bounds.x2-a[f].bounds.x1;
721
- a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();U+=E[f]+a[f].margin}if(d&&0<d.length)for(f=0;f<d.length;f++){aa=d[f]._labels&&0<d[f]._labels.length?d[f]._labels[0].textBlock.fontSize/2:0;r=Math.round(g.x1-L);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):
722
- g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;m=Math.round(g.x2-Y-L);l=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(m=c[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=0>c[S].labelAngle||0===
723
- c[S].labelAngle?m+Y:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(m=b[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=m+Y);d[f].lineCoordinates={x1:m+F,y1:h,x2:m+F,y2:l,height:Math.abs(l-h)};"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.x1=d[f].lineCoordinates.x1+d[f].labelEffectiveWidth+(p.isNavigator?0:5),d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+
724
- d[f].lineThickness/2);"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.x1+=d[f].tickLength,d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);d[f].bounds={x1:m+F,y1:h,x2:m+y[f]+F,y2:l,height:l-h};d[f].bounds.width=d[f].bounds.x2-d[f].bounds.x1;d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.height?d[f].titleMaxWidth:d[f].lineCoordinates.height);d[f].calculateValueToPixelConversionParameters();d[f].calculateBreaksSizeInValues();
725
- F+=y[f]+d[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=t[x-1][f]===t[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)N=D[x-1][f]===D[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(c&&0<
726
- c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),d[f].calculateBreaksInPixels()}};y.render=function(a,d,c,b,e){var g=a[0]?a[0].chart:
727
- d[0].chart,m=g.ctx,h=[];h.push.apply(h,a);h.push.apply(h,d);h.push.apply(h,c);h.push.apply(h,b);g.alignVerticalAxes&&g.alignVerticalAxes();m.save();"normal"===e&&(m.beginPath(),a&&a.length&&m.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),d&&d.length&&m.rect(2,d[d.length-1].bounds.y1,d[0].chart.width-4,d[0].bounds.y2),m.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();if(d&&0<d.length)for(e=0;e<d.length;e++)d[e].renderLabelsTicksAndTitle();m.restore();
728
- if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();g.preparePlotArea();a=g.plotArea;m.save();m.beginPath();m.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));m.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}m.restore();m=!1;if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderGrid(),u&&(h[e].createMask(),
729
- h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),h[e].crosshair&&h[e].crosshair.enabled&&(m=!0,g.clearedOverlayedCanvas=h[e].type)}if(m||!m&&g.clearedOverlayedCanvas&&0<=g.clearedOverlayedCanvas.indexOf("axis"))g.resetOverlayedCanvas(),g.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&
730
- null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(d,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(d)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?
731
- this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!k(this.scaleBreaks.options.spacing),e,g=0;g<d.length;g++)e=b||!k(d[g].options.spacing),d[g].spacing=Wa(d[g].spacing,a,8,e?0.1*a:8,e?0:3)<<
732
- 0,d[g].size=0>d[g].spacing?0:Math.abs(d[g].spacing/c),this.logarithmic&&(d[g].size=Math.pow(this.logarithmBase,d[g].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<this.conversionParameters.minimum||
733
- (k(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,g=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===
734
- this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,m,h=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||m<Math.log(h/n.position)*k/e)||(c.push(n),h=n.position,m=n.textBlock.width*Math.abs(Math.cos(Math.PI/
735
- 180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(m=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=m);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=
736
- [],p,h=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||p<Math.log(h/n.position)*k)||(c.push(n),h=n.position,p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<
737
- this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var l=0,n,q;if("bottom"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||
738
- (q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+n.textBlock.height-
739
- n.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?
740
- 0:this.tickLength)+5+Math.abs(n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-(n.textBlock.height-n.textBlock._lineHeight/
741
- 2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;
742
- a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,
743
- this._titleTextBlock.render(!0))}else if("top"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),
744
- d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?
745
- q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?
746
- q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],
747
- !(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/
748
- 2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%
749
- 2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?
750
- q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(n.textBlock.y=("inside"===
751
- this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));
752
- "inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},
753
- this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),
754
- this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===
755
- this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/
756
- 180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+(n.textBlock.height-n.textBlock.fontSize/
757
- 2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();
758
- a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}g=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",
759
- function(){for(l=0;l<a._labels.length;l++)n=a._labels[l],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||d&&0!==g++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||d&&0!==g++%2&&this.labelAutoFit)||n.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,d,c,b=this.chart.plotArea,
760
- e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,d.x),b.y1,Math.abs(c.x-d.x),Math.abs(b.y1-b.y2)),d=!1):d=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=
761
- this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,d.y),Math.abs(b.x1-b.x2),Math.abs(d.y-c.y)),d=!1):d=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var d=this,c,b,e=0,g=0,m=!1;b=!1;for(var h=[],
762
- r=[],l=!1,p,e=0;e<this.stripLines.length;e++){var n=this.stripLines[e];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||k(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&n.endValue>=this.viewportMaximum||k(n.startValue)||k(n.endValue)||isNaN(this.range))||h.push(n))}for(e=0;e<this._stripLineLabels.length;e++)if(n=this.stripLines[e],c=this._stripLineLabels[e],
763
- !(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){n&&(this.ctx.strokeStyle=n.tickColor?n.tickColor:n.color,this.ctx.lineWidth=n.tickThickness=k(n.tickThickness)?"pixel"===n._thicknessType?n.thickness:this.thickness:n.tickThickness,k(n.opacity)||"pixel"!==n._thicknessType||(p=n.ctx.globalAlpha,n.ctx.globalAlpha=n.opacity));if("bottom"===this._position){var q=1===this.ctx.lineWidth%
764
- 2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=n.tickLength+5+(0>this.labelAngle?Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/
765
- 2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-n.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=n.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
766
- 0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-n.tickLength<<0,
767
- q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-
768
- c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=n.tickLength+5+(0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/
769
- 180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;r.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/
770
- 2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-
771
- 3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=
772
- 90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/
773
- 2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/
774
- 2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>
775
- this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,
776
- c.textBlock.y=b.y,r.push(c));if(!l){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<h.length;e++)n=h[e],n.showOnTop?m||(m=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(g=0;g<
777
- h.length;g++)n=h[g],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(e=0;e<r.length;e++)c=r[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(g=0;g<r.length;g++)c=r[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),d.ctx.restore())},c.textBlock)):"inside"===
778
- c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(b=!1,e=0;e<r.length;e++)c=r[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
779
- this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=va(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);
780
- this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var d=0;d<a.length;d++)a[d].endValue<this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,d)};y.prototype.showCrosshair=function(a){k(a)||
781
- (a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(J(this.gridDashType,this.gridThickness));if("bottom"===this._position||
782
- "top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.x<<0)+0.5:d.x<<0,a.moveTo(d,c.y1<<0),a.lineTo(d,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>
783
- this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.y<<0)+0.5:d.y<<0,a.moveTo(c.x1<<0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,g;d.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?
784
- (e=this.lineCoordinates.x2,g=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,g=this.lineCoordinates.x2);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var m=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks&&!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
785
- b;else for(var h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(e,m),d.lineTo(this.scaleBreaks._appliedBreaks[h].startPixel+c,m),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,m),d.lineTo(g,m));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,g=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,g=this.lineCoordinates.y1);d.lineWidth=this.lineThickness;d.strokeStyle=
786
- this.lineColor;d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));m=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;d.beginPath();if(this.scaleBreaks&&!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+c;else for(h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(m,e),d.lineTo(m,this.scaleBreaks._appliedBreaks[h].startPixel+
787
- b),e=this.scaleBreaks._appliedBreaks[h].endPixel+c;e&&(d.moveTo(m,e),d.lineTo(m,g));d.stroke()}u&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),d.clearRect(0,0,this.chart.width,this.chart.height));d.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var d={};if("bottom"===this._position||"top"===this._position)d.x=this.convertValueToPixel(a),
788
- d.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)d.y=this.convertValueToPixel(a),d.x=this.lineCoordinates.x2;return d};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);
789
- if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/
790
- Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/
791
- e[c].size;b/=e[c].size;d=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
792
- e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=
793
- e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;d=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;
794
- d=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-
795
- e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);d=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-
796
- e[c].startValue-e[c].size;b-=e[c].size;d=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-
797
- e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),d=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-
798
- e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;d=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size}else break;d=this.conversionParameters.minimum+a}return d};y.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,
799
- a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,
800
- d,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=k(c)?d/a:c;for(var g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*e[g].startValue*e[g].size:a>=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*a*Math.pow(e[g].size,Math.log(e[g].endValue/a)/Math.log(e[g].endValue/e[g].startValue)):a<=e[g].startValue&&d<=e[g].endValue?c=c/d*e[g].startValue*Math.pow(e[g].size,Math.log(d/e[g].startValue)/Math.log(e[g].endValue/
801
- e[g].startValue)):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a*Math.pow(e[g].size,Math.log(d/a)/Math.log(e[g].endValue/e[g].startValue))))}else for(c=k(c)?Math.abs(d-a):c,g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c-e[g].endValue+e[g].startValue+e[g].size:a>e[g].startValue&&d>=e[g].endValue?c=c-e[g].endValue+a+e[g].size*(e[g].endValue-a)/(e[g].endValue-e[g].startValue):a<=e[g].startValue&&d<e[g].endValue?c=c-d+e[g].startValue+e[g].size*(d-e[g].startValue)/
802
- (e[g].endValue-e[g].startValue):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a+e[g].size*(d-a)/(e[g].endValue-e[g].startValue)));return c};y.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=Math.max(a,d)};y.prototype.getXValueAt=function(a){if(!a)return null;var d=null;"left"===this._position?d=this.convertPixelToValue(a.y):"bottom"===this._position&&(d=this.convertPixelToValue(a.x));
803
- return d};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=
804
- a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):
805
- c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));
806
- else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,
807
- c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):
808
- c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?-1:1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===
809
- this._position||"right"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?1:-1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;this.conversionParameters=d};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),d=!1,
810
- c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,g,m,b=0;!k(this.options.viewportMinimum)&&(!k(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&
811
- (this.viewportMinimum=this.viewportMaximum=null);if(k(this.options.viewportMinimum)&&!k(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(k(this.options.viewportMaximum)&&!k(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;
812
- else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!k(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!k(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.minimum)&&
813
- this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,
814
- 1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b);Infinity!==this.dataInfo.minDiff?m=this.dataInfo.minDiff:1<g-e?m=0.5*Math.abs(g-e):(m=this.dataInfo.min===
815
- this.dataInfo.max?1:Math.abs(this.dataInfo.max-this.dataInfo.min),c&&(d=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,m=Math.pow(2,50),isFinite(e)||isFinite(g)?isFinite(e)?isFinite(g)||(g=e):e=g:(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),
816
- 0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(e>=m||g>=m||e<=-m||g<=-m)&&10>g-e?g+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,g,null,!0)),0.05),0!==g&&(g+=b),0!==e&&(e-=b)),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=
817
- 0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>g&&(g=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,
818
- this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):
819
- b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*H.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*H.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*H.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*H.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*H.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*H.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*H.secondDuration)<=
820
- a?(this.interval=30,this.intervalType="second"):b/(1*H.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*H.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*H.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*H.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*H.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*H.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*H.minuteDuration)<=
821
- a?(this.interval=30,this.intervalType="minute"):b/(1*H.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*H.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*H.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*H.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*H.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*H.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*H.dayDuration)<=a?(this.interval=4,this.intervalType=
822
- "day"):b/(1*H.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*H.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*H.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*H.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*H.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*H.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*H.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/
823
- (1*H.yearDuration)<=a?1:b/(2*H.yearDuration)<=a?2:b/(4*H.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/H.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-m/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=g+m/2;d?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":
824
- "week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType=
825
- "number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?g+m/2:Math.ceil(g/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?
826
- this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b),m=Infinity!==
827
- this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(g)?0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,g,null,!0)),0.05),0!==g&&(g+=b),
828
- 0!==e&&(e-=b)):(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>g&&(g=0)),Math.abs(this.getApparentDifference(e,g,null,!0)),"axisX"===this.type&&c){this.valueType=
829
- "dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-m/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=g+m/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=
830
- this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,k(this.sessionVariables.newViewportMinimum)||isNaN(this.sessionVariables.newViewportMinimum)?k(this.sessionVariables.viewportMinimum)||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum:this.sessionVariables.newViewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?g+m/2:Math.ceil(g/
831
- this.interval)*this.interval,this.maximum=Math.max(this.maximum,k(this.sessionVariables.newViewportMaximum)||isNaN(this.sessionVariables.newViewportMaximum)?k(this.sessionVariables.viewportMaximum)||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum:this.sessionVariables.newViewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));k(this.sessionVariables.newViewportMinimum)&&
832
- (this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));k(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,
833
- 2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,g,m;m=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
834
- this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(m=0;m<this.scaleBreaks._appliedBreaks.length;m++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue||!k(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[m].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue)&&
835
- (!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue)){this.scaleBreaks._appliedBreaks.splice(m,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?
836
- this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e=
837
- "undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(m=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=m,b/=m):b>e?(m=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/m:e=b*m):(m=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=m),1!==b&&(b/=m)),g=Infinity!==this.dataInfo.minDiff?
838
- this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));m=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?
839
- e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";m=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(m)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(m)/d/(a-1),!0),c=y.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,
840
- this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&
841
- "undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(m)/d)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?
842
- this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(m=Math.pow(this.logarithmBase,this.interval),e*=m,b/=m):b>e?(m=Math.min(0.01*(b/e),5),1<=e?b=e/m:e=b*m):(m=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,
843
- 0.04)),1!==e&&(e*=m),1!==b&&(b/=m)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,
844
- this.interval*Math.floor(Math.log(b)/d/this.interval)),k(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:
845
- this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),k(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||
846
- isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,
847
- this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=
848
- Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval=!1;this.intervalStartPosition=d;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&
849
- (this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;if(2<d)for(m=0;m<d-2;m++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,d){var c="#,##0.",b=d;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/
850
- Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};
851
- y.prototype.getLabelStartPoint=function(){var a=H[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||
852
- 0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),
853
- a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),
854
- a.setSeconds(0),a.setMilliseconds(0));return a};ra(ba,U);ra(Z,U);Z.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};Z.prototype.render=function(a){if(0!==
855
- this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=
856
- this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;V(this.id);var g,m,h,k,l,p;a=Math.max(this.spacing,3);var n=Math.max(0,this.lineThickness);this.ctx.lineWidth=n;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,n));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===n%2?(b.x<<0)+0.5:b.x<<0,m=1===n%2?(e.x<<0)+0.5:e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,h=this.chart.plotArea.y2+
857
- n/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-n/2+0.5<<0,a*=-1),this.bounds={x1:b-n/2,y1:e,x2:m+n/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(m,h),this.ctx.lineTo(m,e);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(h-l)/a/3;for(var q=0;q<p;q++)this.ctx.bezierCurveTo(k+g*a,l+a,k+g*a,l+2*a,k,l+3*a),l+=3*a,g*=-1;this.ctx.bezierCurveTo(k+g*a,
858
- l+a,k+g*a,l+2*a,k,l+3*a);k=m;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+g*a,l-a,k+g*a,l-2*a,k,l-3*a),l-=3*a,g*=-1}else{if("zigzag"===this.type){g=-1;l=e+a;k=b+a;p=(h-l)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),k+=2*g*a,l+=2*a,g*=-1;this.ctx.lineTo(k,l);k+=m-b;for(q=0;q<p+1;q++)this.ctx.lineTo(k,l),k+=2*g*a,l-=2*a,g*=-1;this.ctx.lineTo(k+g*a,l+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===this.scaleBreaks.parent._position)if(e=1===n%2?(e.y<<0)+0.5:e.y<<
859
- 0,h=1===n%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,m=this.chart.plotArea.x2+n/2+0.5<<0):(b=this.chart.plotArea.x2,m=this.chart.plotArea.x1-n/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-n/2,x2:m,y2:h+n/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(m,e),this.ctx.lineTo(m,h),this.ctx.lineTo(b,h);else if("wavy"===this.type){k=b;l=e;g=0.5;p=
860
- (m-k)/a/3;for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l),k+=3*a,g*=-1;this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l);l=h;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k-a,l+g*a,k-2*a,l+g*a,k-3*a,l),k-=3*a,g*=-1}else if("zigzag"===this.type){g=1;l=e-a;k=b+a;p=(m-k)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),l+=2*g*a,k+=2*a,g*=-1;this.ctx.lineTo(k,l);l+=h-e;for(q=0;q<p+1;q++)this.ctx.lineTo(k,l),l+=2*g*a,k-=2*a,g*=-1;this.ctx.lineTo(k+a,l+g*a)}0<n&&this.ctx.stroke();
861
- this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ra(ia,U);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===
862
- typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;V(this.id);var e,g,h,
863
- k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=g=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:g+d/2,y2:k};else if("left"===this.parent._position||"right"===this.parent._position)a=
864
- "pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=k=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,g=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-d/2,x2:g,y2:k+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(g,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(fa,U);fa.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=
865
- this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===d.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?d.axisY:d.axisX:"top"===this.parent._position?b=e?d.axisY2:d.axisX2:"left"===this.parent._position?b=e?d.axisX:d.axisY:"right"===this.parent._position&&(b=e?d.axisX2:d.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var g=
866
- b[e],h=0;h<d[g].length;h++){var s=d[g][h],r=s._crosshairValue;s.crosshair&&s.crosshair.enabled&&(this.parent===s&&(s.sessionVariables.crosshairShownByPixel=!1,s.sessionVariables.crosshairValue=s.crosshair._updatedValue=r||a),!k(r)&&r>=s.viewportMinimum&&r<=s.viewportMaximum?(s.showCrosshair(r),this===s.crosshair&&(c=!0)):void 0!==r&&(s.sessionVariables.crosshairValue=null,s.crosshair._updatedValue=null))}this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&
867
- this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};fa.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};fa.prototype.render=function(a,d,c){var b,e,g,h,s=null,r=null,l=null,p="";this.valueFormatString||
868
- ("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(l=0,l="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,
869
- l)));var n=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,u=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(k(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=k(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=k(this.options.labelWrap)||
870
- this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);l=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:p,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
871
- fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var x=0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)x=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseY:d});else if("left"===this.parent._position||"right"===
872
- this.parent._position)x=this.parent.convertPixelToValue({y:d});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));z=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var w=z=0;yPercent=cumulativeY=0;for(var x=Infinity,v,t=0;t<p.length;t++){if("rangeBar"===p[t].dataSeries.type||"error"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(var A=
873
- 0;A<p[t].dataPoint.y.length;A++)w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedBar"===p[t].dataSeries.type?(cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),w<=x&&(x=w,z=t)):"stackedBar100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,k(v)&&(v=Math.abs(a-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/
874
- p[0].dataSeries.plotUnit.dataPointYSums[w])))),cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,yPercent=100*(cumulativeY/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(a-this.parent.convertValueToPixel(yPercent)),w<=v&&(v=w,z=t)):(w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y)),w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===
875
- v.dataSeries.type||"error"===v.dataSeries.type){x=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<x&&(x=w,t=p);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;this.value=v.dataPoint.y[t];0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
876
- Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,
877
- s=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):
878
- k(this.options.label)?ga(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,yPercent=100*(cumulativeY/v.dataSeries.plotUnit.dataPointYSums[w]),s=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,
879
- this.value=yPercent,0!==yPercent%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):k(this.options.label)?ga(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<
880
- 0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,this.value=v.dataPoint.y,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):k(this.options.label)?ga(v.dataPoint.y,this.valueFormatString,
881
- this.chart._cultureInfo):this.label);b=e=s;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2?l.x=this.chart.bounds.x2-l.width:l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);l.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-l.height+this.parent.tickLength:l.fontSize/2)+2;l.y+l.height>this.chart.bounds.y2?l.y=this.chart.bounds.y2-l.height:l.y<this.chart.bounds.y1&&(l.y=this.chart.bounds.y1)}else if("left"===
882
- this.parent._position||"right"===this.parent._position){g=h=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({y:d}),
883
- z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==v.dataPoint.x%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
671
+ function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=k(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(d=0;d<this._labels.length;d++)if(!(this._labels[d].position<this.viewportMinimum||this._labels[d].position>this.viewportMaximum)){var g=this._labels[d].textBlock,g=g.measureText(),m=0,m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
672
+ 180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=m&&(this.labelEffectiveWidth=a=m);this._labels[d].effectiveWidth=m}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[d].textBlock,g=g.measureText(),m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
673
+ 180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[d].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(m,0<b.length?Math.max.apply(null,b):m)),a<=m&&(a=m),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=m,b.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?
674
+ c+this.tickLength:Math.max(c,this.tickLength))+e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var d=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=k(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var g=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++)if(!(this._labels[b].position<
675
+ this.viewportMinimum||this._labels[b].position>this.viewportMaximum)){c=this._labels[b].textBlock;c=c.measureText();var m=0,m=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<=m&&(this.labelEffectiveHeight=a=m);this._labels[b].effectiveHeight=m}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&
676
+ this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),m=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)),d=Math.max(d,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(m,0<g.length?Math.max.apply(null,g):m)),a<=m&&(a=m),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=
677
+ m,g.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?d+this.tickLength:Math.max(d,this.tickLength))+e};y.setLayout=function(a,d,c,b,e,g){var m,h,r,l,p=a[0]?a[0].chart:d[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&a[f].calculateAxisParameters();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();
678
+ if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateAxisParameters();for(f=0;f<q.length;f++)if(q[f]&&q[f].scaleBreaks&&q[f].scaleBreaks._appliedBreaks.length)for(var u=q[f].scaleBreaks._appliedBreaks,x=0;x<u.length&&!(u[x].startValue>q[f].viewportMaximum);x++)u[x].endValue<q[f].viewportMinimum||(k(q[f].scaleBreaks.firstBreakIndex)&&(q[f].scaleBreaks.firstBreakIndex=x),u[x].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=x));for(var y=x=0,t=0,w=0,v=0,A=0,B=0,C,D,E=h=0,H,J,N,u=
679
+ H=J=N=!1,f=0;f<q.length;f++)q[f]&&q[f].title&&(q[f]._titleTextBlock=new ka(q[f].ctx,{text:q[f].title,fontSize:q[f].titleFontSize,fontFamily:q[f].titleFontFamily,fontWeight:q[f].titleFontWeight,fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var L=
680
+ 1.5*q[f].titleFontSize+("object"===typeof q[f].titlePadding?(q[f].titlePadding.top||0)+(q[f].titlePadding.bottom||0):2*q[f].titlePadding);q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=-90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?
681
+ 0.8*g.height:Math.min(L,0.8*g.height),q[f]._titleTextBlock.angle=0}}if("normal"===e){for(var w=[],v=[],A=[],B=[],Q=[],R=[],U=[],F=[];4>x;){var X=0,V=0,T=0,W=0,aa=L=e=0,ba=0,Y=0,Z=0,M=m=0;if(c&&0<c.length)for(A=[],f=m=0;f<c.length;f++)A.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),m+=A[f],aa+=c[f]&&!p.isNavigator?c[f].margin:0;else A.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));U.push(A);if(b&&0<b.length)for(B=[],f=M=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():
682
+ 0)),M+=B[f],ba+=b[f]?b[f].margin:0;else B.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));F.push(B);m=Math.round(g.x1+m+aa-(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);r=Math.round(Math.min(g.x2-M-ba+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+
683
+ (p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&0<a.length)for(w=[],f=Y=0;f<a.length;f++)a[f]&&(a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(r-m),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:a[f].lineCoordinates.width),w.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),Y+=w[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else w.push(Math.ceil(a[0]?
684
+ a[0].createLabelsAndCalculateHeight():0));Q.push(w);if(d&&0<d.length)for(v=[],f=Z=0;f<d.length;f++)d[f]&&(d[f].lineCoordinates={}),d[f].lineCoordinates.width=Math.abs(r-m),d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.width?d[f].titleMaxWidth:d[f].lineCoordinates.width),v.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateHeight():0)),Z+=v[f],L+=d[f]&&!p.isNavigator?d[f].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():
685
+ 0));R.push(v);if(a&&0<a.length){for(f=0;f<a.length;f++){if(a[f]){a[f].lineCoordinates.x1=m;r=Math.round(Math.min(g.x2-M-ba+(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[f]._labels&&1<a[f]._labels.length){var S=h=0;h=a[f]._labels[1];S="dateTime"===a[f].valueType?
686
+ a[f]._labels[a[f]._labels.length-2]:a[f]._labels[a[f]._labels.length-1];y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+S.textBlock.height*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))}!a[f]||(!a[f].labelAutoFit||k(C)||k(D)||p.isNavigator||p.stockChart)||(h=0,0<a[f].labelAngle?(l=t-(S.textBlock.height-S.textBlock._lineHeight/
687
+ 2)*Math.sin(Math.PI/180*S.textBlock.angle),D+l>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h+=D+l-r-M)):0>a[f].labelAngle?C-y<m&&C-y<a[f].viewportMinimum&&(E=m-(aa+a[f].tickLength+A+C-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(D+t>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h=D+t/2-r-M),C-y<m&&C-y<a[f].viewportMinimum&&(E=m-aa-a[f].tickLength-A-C+y/2)),a[f].viewportMaximum===
688
+ a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0<a[f].labelAngle&&0<h?r-=h:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0>a[f].labelAngle&&0<E?m+=E:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<E&&(m+=E),0<h&&(r-=h)));p.panEnabled?Y=k(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y;h=Math.round(g.y2-Y-e+X)-("inside"!==
689
+ a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);l=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[f].lineCoordinates.x2=r;a[f].lineCoordinates.width=r-m;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:m,y1:h,x2:r,y2:l-(Y+e-w[f]-X),width:r-m};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&
690
+ (a[f].lineCoordinates.y1=a[0].bounds.y1+X+(a[f].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}X+=w[f]+a[f].margin}aa=0===a[0].dataSeries.length;if(!aa)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){aa=!1;break}aa=!0}if(aa)for(aa=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&
691
+ (aa?a[f].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2,aa=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].lineCoordinates.x1=m,d[f].lineCoordinates.x2=r,d[f].lineCoordinates.width=Math.abs(r-m),d[f]._labels&&1<d[f]._labels.length&&(h=d[f]._labels[1],S="dateTime"===d[f].valueType?d[f]._labels[d[f]._labels.length-2]:d[f]._labels[d[f]._labels.length-
692
+ 1],y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))),p.panEnabled?Z=k(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=Z:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=Z,h=
693
+ Math.round(g.y1)+("inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=d[f].lineCoordinates.y1=h+Z+L-V,d[f].lineCoordinates.y2=h,d[f].bounds={x1:m,y1:h+(Z+L-v[f]-V),x2:r,y2:l,width:r-m},d[f].bounds.height=d[f].bounds.y2-d[f].bounds.y1,"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.y1=d[0].bounds.y2-V-(d[f].labelEffectiveHeight||0)-5),"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.y1-=d[f].tickLength),V+=v[f]+d[f].margin;
694
+ if(c&&0<c.length)for(f=0;f<c.length;f++)aa=p.isNavigator?0:10,c[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x1:d[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)),aa=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:n,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+5:0)+("inside"===
695
+ d[0].tickPlacement?d[0].tickLength:0):0),0<d.length?0:aa))+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),aa=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:n,l=Math.round(g.y2-Y+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-aa)-(!a.length||"inside"!==a[a.length-1].labelPlacement||
696
+ a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[f].lineCoordinates={x1:m-T,y1:h,x2:r-T,y2:l,height:Math.abs(l-h)},c[f].bounds={x1:m-(A[f]+T),y1:h,x2:r-T,y2:l,height:l-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+A[0]-T-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=
697
+ c[f].tickLength,c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),T+=A[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?
698
+ b[0].tickLength:0):0)),aa=Math.max(b[f]._labels&&0<b[f]._labels.length?b[f]._labels[b[f]._labels.length-1].textBlock.height/2:0,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<d.length?0:aa)),aa=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?
699
+ b[f]._labels[0].textBlock.height/2:0,l=Math.round(g.y2-(Y+e+aa)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(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[f].lineCoordinates={x1:m+W,y1:h,x2:m+W,y2:l,height:Math.abs(l-h)},b[f].bounds={x1:m+W,y1:h,x2:r+B[f]+W,y2:l,height:l-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,
700
+ "inside"===b[f].labelPlacement&&(b[f].lineCoordinates.x1=Math.round(b[0].bounds.x1+W+(b[f].labelEffectiveWidth||0)+(p.isNavigator?0:5)),b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),
701
+ W+=B[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++)a[f]&&(a[f].calculateValueToPixelConversionParameters(),a[f].calculateBreaksSizeInValues(),a[f]._labels&&1<a[f]._labels.length&&(C=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,m=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,
702
+ m=a[f].getApparentDifference(a[f].viewportMinimum,m),D=a[f].logarithmic?(1<m?Math.log(m)/a[f].conversionParameters.lnLogarithmBase*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1:(0<m?m*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateValueToPixelConversionParameters(),d[f].calculateBreaksSizeInValues(),d[f]._labels&&1<d[f]._labels.length&&(C=(d[f].logarithmic?Math.log(d[f]._labels[1].position/
703
+ d[f].viewportMinimum)/d[f].conversionParameters.lnLogarithmBase:d[f]._labels[1].position-d[f].viewportMinimum)*Math.abs(d[f].conversionParameters.pixelPerUnit)+d[f].lineCoordinates.x1,m=d[f]._labels[d[f]._labels.length-("dateTime"===d[f].valueType?2:1)].position,m=d[f].getApparentDifference(d[f].viewportMinimum,m),D=d[f].logarithmic?(1<m?Math.log(m)/d[f].conversionParameters.lnLogarithmBase*Math.abs(d[f].conversionParameters.pixelPerUnit):0)+d[f].lineCoordinates.x1:(0<m?m*Math.abs(d[f].conversionParameters.pixelPerUnit):
704
+ 0)+d[f].lineCoordinates.x1);for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=U[x-1][f]===U[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)N=F[x-1][f]===F[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(a&&
705
+ 0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),d[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels()}else{n=[];C=[];E=[];y=[];t=[];D=[];Q=[];for(R=[];4>
706
+ x;){Y=W=T=ba=aa=L=e=F=U=V=Z=0;if(a&&0<a.length)for(E=[],f=W=0;f<a.length;f++)E.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateWidth():0)),W+=E[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));Q.push(E);if(d&&0<d.length)for(y=[],f=Y=0;f<d.length;f++)y.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateWidth():0)),Y+=y[f],L+=d[f]?d[f].margin:0;else y.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));R.push(y);if(c&&0<c.length)for(f=
707
+ 0;f<c.length;f++)c[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):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].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:
708
+ 0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-10)),c[f].labelAutoFit&&!k(w)&&(0<!a.length&&(m=0>c[f].labelAngle?Math.max(m,w):0===c[f].labelAngle?Math.max(m,w/2):m),0<!d.length&&(r=0<c[f].labelAngle?r-v/2:0===c[f].labelAngle?r-v/2:r)),c[f].lineCoordinates.x1=m,c[f].lineCoordinates.x2=r,c[f].lineCoordinates.width=Math.abs(r-m),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<
709
+ c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):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].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?
710
+ d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!k(A)&&(0<!a.length&&(m=0<b[f].labelAngle?Math.max(m,A):0===b[f].labelAngle?Math.max(m,A/2):m),0<!d.length&&(r-=B/2)),b[f].lineCoordinates.x1=m,b[f].lineCoordinates.x2=r,b[f].lineCoordinates.width=Math.abs(r-m),b[f].title&&
711
+ (b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width);if(c&&0<c.length)for(n=[],f=T=0;f<c.length;f++)n.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateHeight():0)),T+=n[f]+c[f].margin,aa+=c[f].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(n);if(b&&0<b.length)for(C=[],f=0;f<b.length;f++)C.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateHeight():0)),ba+=b[f].margin;else C.push(Math.ceil(b[0]?
712
+ b[0].createLabelsAndCalculateHeight():0));D.push(C);if(c&&0<c.length)for(f=0;f<c.length;f++)0<c[f]._labels.length&&(h=c[f]._labels[0],S=c[f]._labels[c[f]._labels.length-1],w=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),v=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));
713
+ if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&0<b[f]._labels.length&&(h=b[f]._labels[0],S=b[f]._labels[b[f]._labels.length-1],A=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));if(p.panEnabled)for(f=0;f<c.length;f++)n[f]=k(p.sessionVariables.axisY[f].height)?
714
+ p.sessionVariables.axisY[f].height=n[f]:p.sessionVariables.axisY[f].height;else for(f=0;f<c.length;f++)p.sessionVariables.axisY[f].height=n[f];if(c&&0<c.length)for(f=c.length-1;0<=f;f--)h=Math.round(g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y2>c[f].chart.height?c[f].chart.height:g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
715
+ 0:5),c[f].lineCoordinates.y1=h-(n[f]+c[f].margin+Z),c[f].lineCoordinates.y2=h-(n[f]+c[f].margin+Z),"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.y1=c[f].lineCoordinates.y1+c[f].labelEffectiveHeight+(p.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),c[f].bounds={x1:m,y1:h-(n[f]+Z+c[f].margin),x2:r,y2:l-(Z+c[f].margin),
716
+ width:r-m,height:n[f]},c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width),Z+=n[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(g.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y1+(C[f]+b[f].margin+V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-
717
+ 1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[f].lineCoordinates.y1=l,b[f].lineCoordinates.y2=l,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.y1=l-b[f].labelEffectiveHeight-5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:m,y1:h+(b[f].margin+V),x2:r,y2:l,width:r-m},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,
718
+ b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width),V+=C[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++){aa=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;m=Math.round(g.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;r=Math.round(g.x1+W+e);l=c&&0<c.length?Math.round(c[0]?
719
+ c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(r=c[S].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=0>c[S].labelAngle||0===c[S].labelAngle?r-W:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(r=b[S].lineCoordinates.x1+
720
+ (a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=r-W);a[f].lineCoordinates={x1:r-U,y1:h,x2:r-U,y2:l,height:Math.abs(l-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+
721
+ a[f].lineThickness/2);a[f].bounds={x1:r-(E[f]+U),y1:h,x2:r-U,y2:l,height:l-h};a[f].bounds.width=a[f].bounds.x2-a[f].bounds.x1;a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();U+=E[f]+a[f].margin}if(d&&0<d.length)for(f=0;f<d.length;f++){aa=d[f]._labels&&0<d[f]._labels.length?d[f]._labels[0].textBlock.fontSize/
722
+ 2:0;r=Math.round(g.x1-L);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;m=Math.round(g.x2-Y-L);l=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(m=c[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+
723
+ (p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=0>c[S].labelAngle||0===c[S].labelAngle?m+Y:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(m=b[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=m+Y);d[f].lineCoordinates={x1:m+F,y1:h,x2:m+F,y2:l,height:Math.abs(l-h)};"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.x1=d[f].lineCoordinates.x1+
724
+ d[f].labelEffectiveWidth+(p.isNavigator?0:5),d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.x1+=d[f].tickLength,d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);d[f].bounds={x1:m+F,y1:h,x2:m+y[f]+F,y2:l,height:l-h};d[f].bounds.width=d[f].bounds.x2-d[f].bounds.x1;d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.height?d[f].titleMaxWidth:d[f].lineCoordinates.height);
725
+ d[f].calculateValueToPixelConversionParameters();d[f].calculateBreaksSizeInValues();F+=y[f]+d[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=t[x-1][f]===t[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<
726
+ b.length;f++)N=D[x-1][f]===D[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),
727
+ d[f].calculateBreaksInPixels()}};y.render=function(a,d,c,b,e){var g=a[0]?a[0].chart:d[0].chart,m=g.ctx,h=[];h.push.apply(h,a);h.push.apply(h,d);h.push.apply(h,c);h.push.apply(h,b);g.alignVerticalAxes&&g.alignVerticalAxes();m.save();"normal"===e&&(m.beginPath(),a&&a.length&&m.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),d&&d.length&&m.rect(2,d[d.length-1].bounds.y1,d[0].chart.width-4,d[0].bounds.y2),m.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();
728
+ if(d&&0<d.length)for(e=0;e<d.length;e++)d[e].renderLabelsTicksAndTitle();m.restore();if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();g.preparePlotArea();a=g.plotArea;m.save();m.beginPath();m.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));m.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}m.restore();
729
+ m=!1;if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderGrid(),u&&(h[e].createMask(),h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),h[e].crosshair&&h[e].crosshair.enabled&&(m=!0,g.clearedOverlayedCanvas=h[e].type)}if(m||!m&&g.clearedOverlayedCanvas&&0<=g.clearedOverlayedCanvas.indexOf("axis"))g.resetOverlayedCanvas(),g.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=
730
+ 0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(d,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(d)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=
731
+ function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!k(this.scaleBreaks.options.spacing),e,g=0;g<d.length;g++)e=b||!k(d[g].options.spacing),
732
+ d[g].spacing=Wa(d[g].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[g].size=0>d[g].spacing?0:Math.abs(d[g].spacing/c),this.logarithmic&&(d[g].size=Math.pow(this.logarithmBase,d[g].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<
733
+ this.conversionParameters.minimum||(k(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,g=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===
734
+ typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,m,h=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||m<Math.log(h/n.position)*k/e)||(c.push(n),h=n.position,m=
735
+ n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(m=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=m);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&
736
+ !this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,h=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||p<Math.log(h/n.position)*k)||(c.push(n),h=n.position,p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=
737
+ 0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var l=0,n,q;if("bottom"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],
738
+ n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?
739
+ q.y-(("inside"===this.tickPlacement?this.tickLength:0)+n.textBlock.height-n.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*
740
+ Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-n.textBlock.width*Math.sin(Math.PI/
741
+ 180*this.labelAngle)-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),
742
+ a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/
743
+ 2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),
744
+ this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*
745
+ Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*
746
+ Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
747
+ function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
748
+ this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,
749
+ this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):
750
+ 0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===
751
+ this.tickPlacement?0:this.tickLength)-5):(n.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*
752
+ this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<
753
+ 0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||
754
+ n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x-
755
+ n.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-
756
+ ("inside"===this.tickPlacement?this.tickLength:0)-5:q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-
757
+ ("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
758
+ a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}g=0;
759
+ if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)n=a._labels[l],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||d&&0!==g++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||d&&0!==g++%2&&this.labelAutoFit)||n.textBlock.render(!0)};y.prototype.renderInterlacedColors=
760
+ function(){var a=this.chart.plotArea.ctx,d,c,b=this.chart.plotArea,e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,d.x),b.y1,Math.abs(c.x-d.x),Math.abs(b.y1-b.y2)),d=!1):
761
+ d=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,d.y),Math.abs(b.x1-b.x2),Math.abs(d.y-c.y)),d=!1):d=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&
762
+ 0<this.stripLines.length&&a){var d=this,c,b,e=0,g=0,m=!1;b=!1;for(var h=[],r=[],l=!1,p,e=0;e<this.stripLines.length;e++){var n=this.stripLines[e];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||k(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&n.endValue>=this.viewportMaximum||k(n.startValue)||k(n.endValue)||isNaN(this.range))||h.push(n))}for(e=0;e<
763
+ this._stripLineLabels.length;e++)if(n=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){n&&(this.ctx.strokeStyle=n.tickColor?n.tickColor:n.color,this.ctx.lineWidth=n.tickThickness=k(n.tickThickness)?"pixel"===n._thicknessType?n.thickness:this.thickness:n.tickThickness,k(n.opacity)||"pixel"!==n._thicknessType||(p=n.ctx.globalAlpha,
764
+ n.ctx.globalAlpha=n.opacity));if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=n.tickLength+5+(0>this.labelAngle?
765
+ Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-n.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=n.tickLength+c.textBlock.height-c.textBlock.fontSize/
766
+ 2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&
767
+ (this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):
768
+ c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=n.tickLength+5+(0<
769
+ this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;r.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/
770
+ 2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+
771
+ c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-
772
+ c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+
773
+ 3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/
774
+ 2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-
775
+ 3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
776
+ 2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,r.push(c));if(!l){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<h.length;e++)n=h[e],n.showOnTop?m||(m=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
777
+ this.chart.plotArea.height);this.ctx.clip();for(g=0;g<h.length;g++)n=h[g],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(e=0;e<r.length;e++)c=r[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(g=0;g<r.length;g++)c=r[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),
778
+ d.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(b=!1,e=0;e<r.length;e++)c=r[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
779
+ this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=va(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=
780
+ this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var d=0;d<a.length;d++)a[d].endValue<this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&
781
+ this.crosshair.render(a,d)};y.prototype.showCrosshair=function(a){k(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
782
+ a.setLineDash(J(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.x<<0)+0.5:d.x<<0,a.moveTo(d,c.y1<<0),a.lineTo(d,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=
783
+ 0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.y<<0)+0.5:d.y<<0,a.moveTo(c.x1<<0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
784
+ (this.reversed?2:-2)),e,g;d.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,g=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,g=this.lineCoordinates.x2);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var m=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks&&
785
+ !k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(e,m),d.lineTo(this.scaleBreaks._appliedBreaks[h].startPixel+c,m),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,m),d.lineTo(g,m));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
786
+ (e=this.lineCoordinates.y1,g=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,g=this.lineCoordinates.y1);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor;d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));m=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;d.beginPath();if(this.scaleBreaks&&!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
787
+ c;else for(h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(m,e),d.lineTo(m,this.scaleBreaks._appliedBreaks[h].startPixel+b),e=this.scaleBreaks._appliedBreaks[h].endPixel+c;e&&(d.moveTo(m,e),d.lineTo(m,g));d.stroke()}u&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),d.clearRect(0,0,this.chart.width,
788
+ this.chart.height));d.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var d={};if("bottom"===this._position||"top"===this._position)d.x=this.convertValueToPixel(a),d.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)d.y=this.convertValueToPixel(a),d.x=this.lineCoordinates.x2;return d};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
789
+ a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
790
+ e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=
791
+ e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;d=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
792
+ e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
793
+ e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;d=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/
794
+ e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;d=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<
795
+ this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);d=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
796
+ e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;d=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
797
+ this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
798
+ d=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;d=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
799
+ b+=e[c].size}else break;d=this.conversionParameters.minimum+a}return d};y.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
800
+ 0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,d,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=k(c)?d/a:c;for(var g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*e[g].startValue*e[g].size:a>=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*a*Math.pow(e[g].size,Math.log(e[g].endValue/
801
+ a)/Math.log(e[g].endValue/e[g].startValue)):a<=e[g].startValue&&d<=e[g].endValue?c=c/d*e[g].startValue*Math.pow(e[g].size,Math.log(d/e[g].startValue)/Math.log(e[g].endValue/e[g].startValue)):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a*Math.pow(e[g].size,Math.log(d/a)/Math.log(e[g].endValue/e[g].startValue))))}else for(c=k(c)?Math.abs(d-a):c,g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c-e[g].endValue+e[g].startValue+e[g].size:a>e[g].startValue&&
802
+ d>=e[g].endValue?c=c-e[g].endValue+a+e[g].size*(e[g].endValue-a)/(e[g].endValue-e[g].startValue):a<=e[g].startValue&&d<e[g].endValue?c=c-d+e[g].startValue+e[g].size*(d-e[g].startValue)/(e[g].endValue-e[g].startValue):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a+e[g].size*(d-a)/(e[g].endValue-e[g].startValue)));return c};y.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
803
+ Math.max(a,d)};y.prototype.getXValueAt=function(a){if(!a)return null;var d=null;"left"===this._position?d=this.convertPixelToValue(a.y):"bottom"===this._position&&(d=this.convertPixelToValue(a.x));return d};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
804
+ if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
805
+ a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
806
+ 100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,
807
+ c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
808
+ this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),
809
+ d.pixelPerUnit=(this.reversed?-1:1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?1:-1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
810
+ this.conversionParameters=d};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),d=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
811
+ (b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,g,m,b=0;!k(this.options.viewportMinimum)&&(!k(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(k(this.options.viewportMinimum)&&!k(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
812
+ this.minimum;if(k(this.options.viewportMaximum)&&!k(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!k(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!k(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=
813
+ 0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||
814
+ !k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;g=null!==this.viewportMaximum?
815
+ this.viewportMaximum:this.dataInfo.viewPortMax;0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b);Infinity!==this.dataInfo.minDiff?m=this.dataInfo.minDiff:1<g-e?m=0.5*Math.abs(g-e):(m=this.dataInfo.min===this.dataInfo.max?1:Math.abs(this.dataInfo.max-this.dataInfo.min),c&&(d=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,
816
+ m=Math.pow(2,50),isFinite(e)||isFinite(g)?isFinite(e)?isFinite(g)||(g=e):e=g:(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(e>=m||g>=m||e<=-m||g<=-m)&&10>g-e?g+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,
817
+ g,null,!0)),0.05),0!==g&&(g+=b),0!==e&&(e-=b)),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>g&&(g=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum,null,
818
+ !0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=
819
+ 200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*H.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*H.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*H.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*H.secondDuration)<=
820
+ a?(this.interval=10,this.intervalType="second"):b/(15*H.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*H.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*H.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*H.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*H.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*H.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*H.minuteDuration)<=
821
+ a?(this.interval=10,this.intervalType="minute"):b/(15*H.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*H.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*H.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*H.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*H.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*H.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*H.hourDuration)<=a?(this.interval=
822
+ 6,this.intervalType="hour"):b/(1*H.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*H.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*H.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*H.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*H.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*H.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*H.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*H.monthDuration)<=
823
+ a?(this.interval=2,this.intervalType="month"):b/(3*H.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*H.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*H.yearDuration)<=a?1:b/(2*H.yearDuration)<=a?2:b/(4*H.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/H.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-m/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
824
+ g+m/2;d?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString=
825
+ "hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||
826
+ isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?g+m/2:Math.ceil(g/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=
827
+ null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(g)?0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),
828
+ 5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,g,null,!0)),0.05),0!==g&&(g+=b),0!==e&&(e-=b)):(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.minimum||
829
+ isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>g&&(g=0)),Math.abs(this.getApparentDifference(e,g,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-m/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=
830
+ g+m/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,k(this.sessionVariables.newViewportMinimum)||isNaN(this.sessionVariables.newViewportMinimum)?k(this.sessionVariables.viewportMinimum)||
831
+ isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum:this.sessionVariables.newViewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?g+m/2:Math.ceil(g/this.interval)*this.interval,this.maximum=Math.max(this.maximum,k(this.sessionVariables.newViewportMaximum)||isNaN(this.sessionVariables.newViewportMaximum)?k(this.sessionVariables.viewportMaximum)||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum:this.sessionVariables.newViewportMaximum)),
832
+ 0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));k(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));k(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),
833
+ this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===
834
+ this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,g,m;m=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(m=0;m<this.scaleBreaks._appliedBreaks.length;m++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue||
835
+ !k(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[m].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue)&&(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue)){this.scaleBreaks._appliedBreaks.splice(m,
836
+ 1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:
837
+ this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(m=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=m,b/=m):b>e?(m=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/m:e=b*m):(m=Math.min(e/
838
+ b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=m),1!==b&&(b/=m)),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));m=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||
839
+ null===this.viewportMinimum?b:this.viewportMinimum);var h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";m=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(m)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(m)/d/(a-1),!0),c=y.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||
840
+ isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
841
+ 1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(m)/d)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(m=Math.pow(this.logarithmBase,
842
+ "undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(m=Math.pow(this.logarithmBase,this.interval),e*=m,b/=m):b>e?(m=
843
+ Math.min(0.01*(b/e),5),1<=e?b=e/m:e=b*m):(m=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=m),1!==b&&(b/=m)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
844
+ 1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval)),k(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
845
+ isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),k(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
846
+ 0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
847
+ this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
848
+ Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval=
849
+ !1;this.intervalStartPosition=d;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;
850
+ if(2<d)for(m=0;m<d-2;m++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,d){var c="#,##0.",b=d;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
851
+ Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=H[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
852
+ 0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<
853
+ a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
854
+ 0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ra(ba,U);ra(Z,U);Z.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
855
+ this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};Z.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
856
+ e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;V(this.id);var g,m,h,k,l,p;a=Math.max(this.spacing,3);var n=Math.max(0,this.lineThickness);this.ctx.lineWidth=n;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,n));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===n%2?(b.x<<0)+0.5:b.x<<0,m=1===n%2?(e.x<<0)+0.5:
857
+ e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,h=this.chart.plotArea.y2+n/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-n/2+0.5<<0,a*=-1),this.bounds={x1:b-n/2,y1:e,x2:m+n/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(m,h),this.ctx.lineTo(m,e);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(h-l)/a/3;for(var q=0;q<p;q++)this.ctx.bezierCurveTo(k+
858
+ g*a,l+a,k+g*a,l+2*a,k,l+3*a),l+=3*a,g*=-1;this.ctx.bezierCurveTo(k+g*a,l+a,k+g*a,l+2*a,k,l+3*a);k=m;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+g*a,l-a,k+g*a,l-2*a,k,l-3*a),l-=3*a,g*=-1}else{if("zigzag"===this.type){g=-1;l=e+a;k=b+a;p=(h-l)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),k+=2*g*a,l+=2*a,g*=-1;this.ctx.lineTo(k,l);k+=m-b;for(q=0;q<p+1;q++)this.ctx.lineTo(k,l),k+=2*g*a,l-=2*a,g*=-1;this.ctx.lineTo(k+g*a,l+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
859
+ this.scaleBreaks.parent._position)if(e=1===n%2?(e.y<<0)+0.5:e.y<<0,h=1===n%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,m=this.chart.plotArea.x2+n/2+0.5<<0):(b=this.chart.plotArea.x2,m=this.chart.plotArea.x1-n/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-n/2,x2:m,y2:h+n/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(m,e),this.ctx.lineTo(m,h),
860
+ this.ctx.lineTo(b,h);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(m-k)/a/3;for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l),k+=3*a,g*=-1;this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l);l=h;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k-a,l+g*a,k-2*a,l+g*a,k-3*a,l),k-=3*a,g*=-1}else if("zigzag"===this.type){g=1;l=e-a;k=b+a;p=(m-k)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),l+=2*g*a,k+=2*a,g*=-1;this.ctx.lineTo(k,l);l+=h-e;for(q=0;q<p+1;q++)this.ctx.lineTo(k,
861
+ l),l+=2*g*a,k-=2*a,g*=-1;this.ctx.lineTo(k+a,l+g*a)}0<n&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ra(ia,U);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),d=
862
+ this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();
863
+ var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;V(this.id);var e,g,h,k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=g=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:g+d/2,y2:k};
864
+ else if("left"===this.parent._position||"right"===this.parent._position)a="pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=k=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,g=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-d/2,x2:g,y2:k+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(g,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(fa,U);fa.prototype.showAt=function(a){if(!this.enabled)return!1;
865
+ var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===d.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?d.axisY:d.axisX:"top"===this.parent._position?b=e?d.axisY2:d.axisX2:"left"===this.parent._position?b=e?d.axisX:d.axisY:"right"===this.parent._position&&(b=e?d.axisX2:d.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?
866
+ a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var g=b[e],h=0;h<d[g].length;h++){var s=d[g][h],r=s._crosshairValue;s.crosshair&&s.crosshair.enabled&&(this.parent===s&&(s.sessionVariables.crosshairShownByPixel=!1,s.sessionVariables.crosshairValue=s.crosshair._updatedValue=r||a),!k(r)&&r>=s.viewportMinimum&&r<=s.viewportMaximum?(s.showCrosshair(r),this===s.crosshair&&(c=!0)):void 0!==r&&(s.sessionVariables.crosshairValue=null,s.crosshair._updatedValue=null))}this.chart.toolTip&&
867
+ (this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};fa.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};fa.prototype.render=
868
+ function(a,d,c){var b,e,g,h,s=null,r=null,l=null,p="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(l=0,l="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
869
+ 2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,l)));var n=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,u=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(k(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=k(this.options.labelMaxWidth)?
870
+ 0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=k(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);l=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,
871
+ text:p,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var x=0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)x=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?
872
+ this.chart.sessionVariables.mouseY:d});else if("left"===this.parent._position||"right"===this.parent._position)x=this.parent.convertPixelToValue({y:d});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));z=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var w=z=0;yPercent=cumulativeY=0;for(var x=Infinity,v,t=
873
+ 0;t<p.length;t++){if("rangeBar"===p[t].dataSeries.type||"error"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(var A=0;A<p[t].dataPoint.y.length;A++)w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedBar"===p[t].dataSeries.type?(cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),w<=x&&(x=w,z=t)):"stackedBar100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():
874
+ p[0].dataPoint.x,k(v)&&(v=Math.abs(a-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,yPercent=100*(cumulativeY/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(a-this.parent.convertValueToPixel(yPercent)),w<=v&&(v=w,z=t)):(w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y)),
875
+ w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===v.dataSeries.type||"error"===v.dataSeries.type){x=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<x&&(x=w,t=p);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;this.value=
876
+ v.dataPoint.y[t];0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===
877
+ v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
878
+ 1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):k(this.options.label)?ga(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,yPercent=100*(cumulativeY/v.dataSeries.plotUnit.dataPointYSums[w]),
879
+ s=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,0!==yPercent%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):k(this.options.label)?
880
+ ga(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,this.value=v.dataPoint.y,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
881
+ axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):k(this.options.label)?ga(v.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=s;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2?l.x=this.chart.bounds.x2-l.width:l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);l.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-l.height+this.parent.tickLength:
882
+ l.fontSize/2)+2;l.y+l.height>this.chart.bounds.y2?l.y=this.chart.bounds.y2-l.height:l.y<this.chart.bounds.y1&&(l.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){g=h=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<
883
+ this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({y:d}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||
884
+ this.parent.logarithmic?(0!==v.dataPoint.x%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?ga(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):l.text=
885
+ this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?Da(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.x;l.y=h+l.fontSize/2-l.measureText().height/2+2;l.y-l.fontSize/2<this.chart.bounds.y1?l.y=this.chart.bounds.y1+l.fontSize/2+2:l.y+l.measureText().height-l.fontSize/2>this.chart.bounds.y2&&(l.y=this.chart.bounds.y2-l.measureText().height+l.fontSize/2);"left"===
886
+ this.parent._position?l.x=this.parent.lineCoordinates.x2-l.measureText().width:"right"===this.parent._position&&(l.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){x=this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,
887
+ b){return a.distance-b.distance});v=p[0];b=e=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({x:a}),z=null,
888
+ t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==v%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
884
889
  Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?ga(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?Da(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
885
- this.label;this.value=v.dataPoint.x;l.y=h+l.fontSize/2-l.measureText().height/2+2;l.y-l.fontSize/2<this.chart.bounds.y1?l.y=this.chart.bounds.y1+l.fontSize/2+2:l.y+l.measureText().height-l.fontSize/2>this.chart.bounds.y2&&(l.y=this.chart.bounds.y2-l.measureText().height+l.fontSize/2);"left"===this.parent._position?l.x=this.parent.lineCoordinates.x2-l.measureText().width:"right"===this.parent._position&&(l.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){x=
886
- this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});v=p[0];b=e=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;
887
- this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({x:a}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
888
- value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==v%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?
889
- ga(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?Da(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.x;l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2&&(l.x=this.chart.bounds.x2-l.width);l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);"bottom"===this.parent._position?
890
- l.y=this.parent.lineCoordinates.y2+l.fontSize/2+2:"top"===this.parent._position&&(l.y=this.parent.lineCoordinates.y1-l.height+l.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!k(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(x=this.parent.dataSeries[0].axisX.convertPixelToValue({x:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseX:a}));for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,
891
- !0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});w=z=0;x=Infinity;for(t=0;t<p.length;t++){if("rangeColumn"===p[t].dataSeries.type||"rangeArea"===p[t].dataSeries.type||"error"===p[t].dataSeries.type||"rangeSplineArea"===p[t].dataSeries.type||"candlestick"===p[t].dataSeries.type||"ohlc"===p[t].dataSeries.type||"boxAndWhisker"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(A=
892
- 0;A<p[t].dataPoint.y.length;A++)w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedColumn"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedArea"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedColumn100"===p[t].dataSeries.type||"stackedArea100"===
893
- p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,k(v)&&(v=Math.abs(d-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),"stackedColumn100"===p[t].dataSeries.type?(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),
894
- w<=v&&(v=w,z=t)):"stackedArea100"===p[t].dataSeries.type&&(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=v&&(v=w,z=t))):"waterfall"===p[t].dataSeries.type?(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataSeries.dataPointEOs[p[t].index].cumulativeSum)),w<=x&&(v=x=w,z=t)):(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y)),
895
- w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("rangeColumn"===v.dataSeries.type||"rangeArea"===v.dataSeries.type||"error"===v.dataSeries.type||"rangeSplineArea"===v.dataSeries.type||"candlestick"===v.dataSeries.type||"ohlc"===v.dataSeries.type||"boxAndWhisker"===v.dataSeries.type){x=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<x&&(x=w,t=p);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<
896
- 0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,
897
- this.chart._cultureInfo):this.label;this.value=v.dataPoint.y[t]}else"stackedColumn"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?
898
- this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
899
- Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%
900
- 2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):
901
- this.label,this.value=a):"stackedArea100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>
902
- this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===v.dataSeries.type?(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0,0!==
903
- v.dataSeries.dataPointEOs[v.index].cumulativeSum%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataSeries.dataPointEOs[v.index].cumulativeSum}):k(this.options.label)?ga(v.dataSeries.dataPointEOs[v.index].cumulativeSum,
890
+ this.label;this.value=v.dataPoint.x;l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2&&(l.x=this.chart.bounds.x2-l.width);l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);"bottom"===this.parent._position?l.y=this.parent.lineCoordinates.y2+l.fontSize/2+2:"top"===this.parent._position&&(l.y=this.parent.lineCoordinates.y1-l.height+l.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!k(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(x=this.parent.dataSeries[0].axisX.convertPixelToValue({x:this.parent.sessionVariables.crosshairShownByPixel?
891
+ this.chart.sessionVariables.mouseX:a}));for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});w=z=0;x=Infinity;for(t=0;t<p.length;t++){if("rangeColumn"===p[t].dataSeries.type||"rangeArea"===p[t].dataSeries.type||"error"===p[t].dataSeries.type||"rangeSplineArea"===p[t].dataSeries.type||
892
+ "candlestick"===p[t].dataSeries.type||"ohlc"===p[t].dataSeries.type||"boxAndWhisker"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(A=0;A<p[t].dataPoint.y.length;A++)w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedColumn"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedArea"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,
893
+ w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedColumn100"===p[t].dataSeries.type||"stackedArea100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,k(v)&&(v=Math.abs(d-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),"stackedColumn100"===p[t].dataSeries.type?(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?
894
+ p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=v&&(v=w,z=t)):"stackedArea100"===p[t].dataSeries.type&&(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=v&&(v=w,z=t))):"waterfall"===p[t].dataSeries.type?(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataSeries.dataPointEOs[p[t].index].cumulativeSum)),
895
+ w<=x&&(v=x=w,z=t)):(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y)),w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("rangeColumn"===v.dataSeries.type||"rangeArea"===v.dataSeries.type||"error"===v.dataSeries.type||"rangeSplineArea"===v.dataSeries.type||"candlestick"===v.dataSeries.type||"ohlc"===v.dataSeries.type||"boxAndWhisker"===v.dataSeries.type){x=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[p])),
896
+ w<x&&(x=w,t=p);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):
897
+ k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.y[t]}else"stackedColumn"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
898
+ 2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=
899
+ y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():
900
+ v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
901
+ value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
902
+ Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===v.dataSeries.type?(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<
903
+ 0,0!==v.dataSeries.dataPointEOs[v.index].cumulativeSum%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataSeries.dataPointEOs[v.index].cumulativeSum}):k(this.options.label)?ga(v.dataSeries.dataPointEOs[v.index].cumulativeSum,
904
904
  this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataSeries.dataPointEOs[v.index].cumulativeSum):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?
905
905
  this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):k(this.options.label)?ga(v.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataPoint.y);g=h=r;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};l.y=h+l.fontSize/2-l.measureText().height/2+2;l.y-l.fontSize/2<this.chart.bounds.y1?l.y=this.chart.bounds.y1+l.fontSize/2+2:l.y+l.measureText().height-l.fontSize/2>this.chart.bounds.y2&&
906
906
  (l.y=this.chart.bounds.y2-l.measureText().height+l.fontSize/2);"left"===this.parent._position?l.x=this.parent.lineCoordinates.x2-l.measureText().width:"right"===this.parent._position&&(l.x=this.parent.lineCoordinates.x2)}p=null;f.globalAlpha=n;0<q&&f.setLineDash&&f.setLineDash(J(this.lineDashType,q));if("bottom"===this.parent._position||"top"===this.parent._position)"top"===this.parent._position&&l.y-l.fontSize/2<this.chart.bounds.y1&&(l.y=this.chart.bounds.y1+l.fontSize/2),"bottom"===this.parent._position&&
@@ -991,7 +991,7 @@ onComplete:b});for(a=[];0<this.animations.length;)if(d=this.animations.shift(),c
991
991
  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*
992
992
  ((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}}},Y={drawMarker:function(a,d,c,b,e,g,h,k){if(c){var r=1;c.fillStyle=g?g:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=k?k:0;c.setLineDash&&c.setLineDash(J("solid",k));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),g&&c.fill(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r))):"square"===b?
993
993
  (c.beginPath(),c.rect(a-e/2,d-e/2,e,e),g&&c.fill(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r))):"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(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r)),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(),
994
- 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];Y.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return r}();r.version="v3.14.10 GA";window.CanvasJS&&(r&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=r)})();
994
+ 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];Y.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return r}();r.version="v3.15.0 GA";window.CanvasJS&&(r&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=r)})();
995
995
 
996
996
  /*
997
997
  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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canvasjs/charts",
3
- "version": "3.14.10",
3
+ "version": "3.15.0",
4
4
  "description": "CanvasJS JavaScript Charts - Official",
5
5
  "main": "canvasjs.min.js",
6
6
  "keywords": [