/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.6.0
*/
FusionCharts.register("module",["private","modules.renderer.js-charts",function(){function Aa(a){var p={left:a.offsetLeft,top:a.offsetTop};for(a=a.offsetParent;a;)p.left+=a.offsetLeft,p.top+=a.offsetTop,a!==Ia.body&&a!==Ia.documentElement&&(p.left-=a.scrollLeft,p.top-=a.scrollTop),a=a.offsetParent;return p}function na(a,p){for(var c=[],d=0,q=a.length;d<q;d++)c[d]=p.call(a[d],a[d],d,a);return c}function fa(a,p){var c=p?360:U;a=(a||0)%c;return 0>a?c+a:a}function La(a,p){return a<=y?a:p<=y?p:p>a?0:p}
function Oa(a,p,c,d,q){return $((p-c[1]-d.top)/q,a-c[0]-d.left)}function Ma(a,p,c,d,q,b,t,ea,e,r){"object"===typeof a&&(p=a.y,c=a.r,d=a.innerR,q=a.radiusYFactor,b=a.depth,t=a.seriesGroup,ea=a.renderer,a=a.x);if(0>q||1<=q)q=.6;a=a||0;p=p||0;c=c||1;d=d||0;b=b||0;this.renderer=ea;this.hasOnePoint=e;this.use3DLighting=r;this.cx=a;this.cy=p;this.rx=c;this.ry=c*q;this.radiusYFactor=q;this.isDoughnut=0<d;this.innerRx=d;this.innerRy=d*q;this.depth=b;this.leftX=a-c;this.rightX=a+c;this.leftInnerX=a-d;this.rightInnerX=
a+d;this.depthY=p+b;this.topY=p-this.ry;this.bottomY=this.depthY+this.ry;this.bottomBorderGroup=ea.group("bottom-border",t).attr({transform:"t0,"+b});this.outerBackGroup=ea.group("outer-back-Side",t);this.slicingWallsBackGroup=ea.group("slicingWalls-back-Side",t);this.innerBackGroup=ea.group("inner-back-Side",t);this.innerFrontGroup=ea.group("inner-front-Side",t);this.slicingWallsFrontGroup=ea.group("slicingWalls-front-Side",t);this.topGroup=ea.group("top-Side",t);this.moveCmdArr=["M"];this.lineCmdArr=
["L"];this.closeCmdArr=["Z"];this.centerPoint=[a,p];this.leftPoint=[this.leftX,p];this.topPoint=[a,this.topY];this.rightPoint=[this.rightX,p];this.bottomPoint=[a,p+this.ry];this.leftDepthPoint=[this.leftX,this.depthY];this.rightDepthPoint=[this.rightX,this.depthY];this.leftInnerPoint=[this.leftInnerX,p];this.rightInnerPoint=[this.rightInnerX,p];this.leftInnerDepthPoint=[this.leftInnerX,this.depthY];this.rightInnerDepthPoint=[this.rightInnerX,this.depthY];this.pointElemStore=[];this.slicingWallsArr=
[];a=["A",this.rx,this.ry,0,0,1,this.rightX,p];c=["A",this.rx,this.ry,0,0,1,this.leftX,p];d=["A",this.rx,this.ry,0,0,0,this.rightX,this.depthY];q=["A",this.rx,this.ry,0,0,0,this.leftX,this.depthY];b=["A",this.innerRx,this.innerRy,0,0,0,this.rightInnerX,p];p=["A",this.innerRx,this.innerRy,0,0,0,this.leftInnerX,p];t=["A",this.innerRx,this.innerRy,0,0,1,this.rightInnerX,this.depthY];ea=["A",this.innerRx,this.innerRy,0,0,1,this.leftInnerX,this.depthY];this.isDoughnut?(this.topBorderPath=this.moveCmdArr.concat(this.leftPoint,
a,c,this.moveCmdArr,this.leftInnerPoint,b,p),this.topPath=this.moveCmdArr.concat(this.leftPoint,a,c,this.lineCmdArr,this.leftInnerPoint,b,p,this.closeCmdArr),this.innerFrontPath=this.moveCmdArr.concat(this.leftInnerPoint,b,this.lineCmdArr,this.rightInnerDepthPoint,ea,this.closeCmdArr),this.innerBackPath=this.moveCmdArr.concat(this.rightInnerPoint,p,this.lineCmdArr,this.leftInnerDepthPoint,t,this.closeCmdArr)):this.topBorderPath=this.topPath=this.moveCmdArr.concat(this.leftPoint,a,c,this.closeCmdArr);
this.outerBackPath=this.moveCmdArr.concat(this.leftPoint,a,this.lineCmdArr,this.rightDepthPoint,q,this.closeCmdArr);this.outerFrontPath=this.moveCmdArr.concat(this.rightPoint,c,this.lineCmdArr,this.leftDepthPoint,d,this.closeCmdArr);this.clipPathforOuter=["M",this.leftX,this.topY,"L",this.rightX,this.topY,this.rightX,this.bottomY,this.leftX,this.bottomY,"Z"];this.clipPathforInner=["M",this.leftInnerX,this.topY,"L",this.rightInnerX,this.topY,this.rightInnerX,this.bottomY,this.leftInnerX,this.bottomY,
"Z"];this.clipPathforNoClip=["M",this.leftInnerX,this.topY,"L",this.leftInnerX,this.bottomY,"Z"];this.colorObjs=[]}var qa=this,z=qa.hcLib,la=z.Raphael,s=qa.window,Ia=s.document,L=z.BLANKSTRING,Va=z.createTrendLine,g=z.pluck,wa=z.getValidValue,Fa=z.parseTooltext,k=z.pluckNumber,Ga=z.getFirstValue,Wa=z.getDefinedColor,ka=z.parseUnsafeString,ta=z.FC_CONFIG_STRING,ua=z.extend2,Da=z.getDashStyle,C=z.toRaphaelColor,Pa=z.toPrecision,Ta=z.stubFN,da=z.hasSVG,xa=z.each,ya=z.TOUCH_THRESHOLD_PIXELS,Qa=z.CLICK_THRESHOLD_PIXELS,
sa=z.plotEventHandler,b=z.hasTouch?ya:Qa,e="rgba(192,192,192,"+(z.isIE?.002:1E-6)+")",h=8===s.document.documentMode?"visible":"",f=Math,V=f.sin,O=f.cos,$=f.atan2,v=f.round,Z=f.min,m=f.max,X=f.abs,w=f.PI,G=f.ceil,u=f.floor,oa=f.sqrt,pa=w/180,W=180/w,y=Math.PI,Xa=y/2,U=2*y,Ea=y+Xa,ma=z.graphics.getColumnColor,ca=z.getFirstColor,aa=z.setLineHeight,Ja=z.pluckFontSize,Na=z.getFirstAlpha,ia=z.graphics.getDarkColor,ha=z.graphics.getLightColor,ja=z.graphics.convertColor,Ra=z.COLOR_TRANSPARENT,Ua=z.POSITION_CENTER,
$a=z.POSITION_TOP,Ya=z.POSITION_BOTTOM,ab=z.POSITION_RIGHT,bb=z.POSITION_LEFT,cb=z.parsexAxisStyles,Za=z.hashify,n=z.chartAPI,db=z.graphics.mapSymbolName,ya=n.singleseries,ba=z.COMMASTRING,Ca=z.ZEROSTRING,Ka=z.ONESTRING,Ha=z.HUNDREDSTRING,Sa=z.PXSTRING,eb=z.COMMASPACE,Ba=!/fusioncharts\.com$/i.test(s.location.hostname);n("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:Ba,rendererId:"cartesian"},n.column2dbase);n("column3d",{friendlyName:"3D Column Chart",defaultSeriesType:"column3d",
defaultPlotShadow:1,is3D:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},n.column2d);n("bar2d",{friendlyName:"Bar Chart",isBar:!0,defaultSeriesType:"bar",spaceManager:n.barbase},n.column2d);n("bar3d",{friendlyName:"3D Bar Chart",defaultSeriesType:"bar3d",defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,defaultZeroPlaneHighlighted:!1},n.bar2d);n("line",{friendlyName:"Line Chart",standaloneInit:!0,creditLabel:Ba,rendererId:"cartesian"},n.linebase);n("area2d",{friendlyName:"Area Chart",standaloneInit:!0,
creditLabel:Ba,rendererId:"cartesian"},n.area2dbase);n("pie2d",{friendlyName:"Pie Chart",standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,reverseLegend:1,alignCaptionWithCanvas:0,sliceOnLegendClick:!0,rendererId:"pie",point:function(a,p,c,d,q){a=q[ta];var b=this.colorManager,t=a.is3d,ea=k(d.plotborderthickness),e=k(ea,t?.1:1),r=k(d.enablemultislicing,1),T=k(d.use3dlighting,1),l=T?k(d.radius3d,d["3dradius"],90):100,va=k(d.showzeropies,1),h=k(d.showpercentintooltip,1),f=k(d.showlabels,
1),x=k(d.showvalues,1),n=k(d.showpercentvalues,d.showpercentagevalues,0),A=g(d.tooltipsepchar,d.hovercapsepchar,eb),fb=g(d.labelsepchar,A),P=g(d.plotbordercolor,d.piebordercolor),B=q[ta].numberFormatter,O=c.length,V=k(d.plotborderdashed,0),N=k(d.plotborderdashlen,5),D=k(d.plotborderdashgap,4),H=k(d.showvalueinlegend,0),J=k(d.showlabelinlegend,1),v=k(d.valuebeforelabelinlegend,0),ga=k(d.showvalueaspercentinlegend,1),I=k(d.reverseplotorder,0),Q=g(d.legendsepchar,", "),S=q.plotOptions.series.dataLabels.style,
R=0,m=[],u,M,Y,E,F,K,y,G,w,Z,U,z,s,$,C,W,X,pa,oa,aa=-1;X=p.centerLabelConfig={label:ka(g(d.defaultcenterlabel,"")),font:g(d.centerlabelfont,S.fontFamily),fontSize:k(d.centerlabelfontsize,parseInt(S.fontSize,10)),color:ca(g(d.centerlabelcolor,d.valuefontcolor,a.inCanvasStyle.color,"555555")),alpha:k(d.centerlabelalpha,100),bold:k(d.centerlabelbold,S.fontWeight),italic:k(d.centerlabelitalic,S.style),bgColor:g(d.centerlabelbgcolor,""),bgAlpha:k(d.centerlabelbgalpha,100),borderColor:g(d.centerlabelbordercolor,
S.borderColor),borderAlpha:k(d.centerlabelborderalpha,100),borderThickness:k(d.centerlabelborderthickness,S.borderThickness),borderRadius:k(d.centerlabelborderradius,S.borderRadius),textPadding:k(d.centerlabeltextpadding,S.borderPadding),padding:k(d.centerlabelpadding,2),bgOval:k(d.centerlabelbgoval,0),shadow:k(d.showcenterlabelshadow,0),hoverColor:d.centerlabelhovercolor&&ca(g(d.centerlabelhovercolor)),hoverAlpha:k(d.centerlabelhoveralpha),toolText:ka(g(d.centerlabeltooltext,""))};100<l&&(l=100);
0>l&&(l=0);k(d.showlegend,0)&&(q.legend.enabled=!0,q.legend.reversed=!Boolean(k(d.reverselegend,0)),p.showInLegend=!0);for(M=0;M<O;M+=1)E=c[M],Y=B.getCleanValue(E.value,!0),null===Y||!va&&0===Y||(m.push(E),R+=Y);0===R&&(m=[]);p.enableRotation=1<m.length?k(d.enablerotation,1):0;p.alphaAnimation=k(d.alphaanimation,1);p.is3D=t;p.placeLabelsInside=d.placevaluesinside;p.use3DLighting=T;p.pieYScale=k(d.pieyscale,40);1>p.pieYScale&&(p.pieYScale=1);100<=p.pieYScale&&(p.pieYScale=80);p.pieYScale/=100;p.pieSliceDepth=
k(d.pieslicedepth,15);1>p.pieSliceDepth&&(p.pieSliceDepth=1);p.managedPieSliceDepth=p.pieSliceDepth;p.enableMultiSlicing=!!r;t&&d.showplotborder!=Ka&&!ea&&(p.showBorderEffect=1);for(M=m.length-1;0<=M;M-=1){E=m[M];Y=B.getCleanValue(E.value,!0);u=ka(g(E.label,E.name,L));O=g(E.color,b.getPlotColor(M));K=g(E.alpha,d.plotfillalpha);y=g(E.bordercolor,P);G=g(E.borderalpha,d.plotborderalpha,d.pieborderalpha);t&&(y||void 0!==G)&&(p.showBorderEffect=0);y=g(y,ha(O,t?90:25)).split(ba)[0];G=d.showplotborder==
Ca?Ca:g(G,K,"80");K=g(K,Ha);va={opacity:Math.max(K,G)/100};if(c=Boolean(k(E.issliced,d.issliced,0)))r||(-1!==aa&&(p.data[m.length-aa-1].sliced=!1),aa=M),a.preSliced=c;ea=(C=k(E.dashed,V))?Da(g(E.dashlen,N),g(E.dashgap,D),e):void 0;F=wa(ka(g(E.tooltext,a.tooltext)));U=B.percentValue(Y/R*100);z=B.dataLabels(Y)||L;Z=1===k(E.showlabel,f)?u:L;w=1===(s=k(E.showvalue,x))?1===n?U:z:L;$=wa(ka(E.displayvalue));w=void 0!==$&&s?$:w!==L&&Z!==L?Z+fb+w:g(Z,w);void 0!==F?F=Fa(F,[1,2,3,5,6,7,14,24,25],{formattedValue:z,
label:u,yaxisName:ka(d.yaxisname),xaxisName:ka(d.xaxisname),percentValue:U,sum:B.dataLabels(R),unformattedSum:R},E,d):(F=u,s=h?U:z,F=F!=L?F+A+s:s);s=J?u:L;H&&(W=ga?B.legendPercentValue(Y/R*100):B.legendValue(Y),s=v?W+(s&&Q+s):(s&&s+Q)+W);C=this.pointHoverOptions(E,p,{plotType:"pie",use3DLighting:T,color:O,alpha:K,borderWidth:e,borderColor:y,borderAlpha:G,borderDashed:C,borderDashGap:g(E.dashgap,D),borderDashLen:k(E.dashlen,N),radius3D:l,shadow:va});u={label:g((pa=E.centerlabel||d.centerlabel)&&this.replaceMacros(pa,
["\\$value","\\$percentValue","\\$displayValue","\\$label"],[z,U,void 0===$?"":$,u]),""),font:X.font,fontSize:k(E.centerlabelfontsize,X.fontSize),color:ca(g(E.centerlabelcolor,X.color)),alpha:k(E.centerlabelalpha,X.alpha),bold:k(E.centerlabelbold,X.bold),italic:k(E.centerlabelitalic,X.italic),bgColor:g(E.centerlabelbgcolor,X.bgColor),bgAlpha:k(E.centerlabelbgalpha,X.bgAlpha),borderColor:g(E.centerlabelbordercolor,X.borderColor),borderAlpha:k(E.centerlabelborderalpha,X.borderAlpha),borderThickness:X.borderThickness,
borderRadius:X.borderRadius,textPadding:X.textPadding,padding:X.padding,bgOval:X.bgOval,shadow:X.shadow,hoverColor:(oa=g(E.centerlabelhovercolor,X.hoverColor))&&ca(oa),hoverAlpha:k(E.centerlabelhoveralpha,X.hoverAlpha),toolText:g(E.centerlabeltooltext,"")};p.data.push({displayValue:w,style:cb(E,{},d,S,O),categoryLabel:Z,showInLegend:s!==L,y:Y,name:s,shadow:va,toolText:F,color:this.getPointColor(O,K,l),_3dAlpha:K,borderColor:ja(y,G),borderWidth:e,link:wa(E.link),sliced:c,dashStyle:ea,doNotSlice:g(d.enableslicing,
Ka)!=Ka,hoverEffects:C.enabled&&C.options,rolloverProperties:C.enabled&&C.rolloverOptions,centerLabelConfig:u})}I&&(p.reversePlotOrder=!0,p.data&&p.data.reverse());p.valueTotal=R;q.legend.enabled=d.showlegend===Ka?!0:!1;p.startAngle=k(d.startingangle,0);q.chart.startingAngle=g(1<m.length?d.startingangle:0,0);return p},replaceMacros:function(a,p,c){for(var d=p.length||0,q;d--;)q=new RegExp(p[d],"gi"),a=a.replace(q,c[d]);return a},containsMacro:function(a,p){for(var c=p.length||0,d;c--;)if(d=new RegExp(p[c],
"gi"),d=a.match(d))return!0;return!1},getPointColor:function(a,p,c){var d,q;a=ca(a);p=Na(p);100>c&&da?(d=Math.floor(85*(100-.35*c))/100,d=ia(a,d),q=Math.floor(50*(100+c))/100,a=ha(a,q),p={FCcolor:{color:a+ba+d,alpha:p+ba+p,ratio:c+","+(100-c),radialGradient:!0,gradientUnits:"userSpaceOnUse"}}):p={FCcolor:{color:a+ba+a,alpha:p+ba+p,ratio:"0,100"}};return p},configureAxis:function(a,p){var c=0,d=a[ta],q=p.chart,b=a.xAxis.labels.style,t,ea;t=(t=Ga(q.valuebordercolor,L))?ja(t,k(q.valueborderalpha,q.valuealpha,
100)):L;b={fontFamily:g(q.valuefont,b.fontFamily),fontSize:g(q.valuefontsize,parseInt(b.fontSize,10))+Sa,lineHeight:b.lineHeight,color:ja(g(q.valuefontcolor,b.color),k(q.valuefontalpha,q.valuealpha,100)),fontWeight:k(q.valuefontbold)?"bold":"normal",fontStyle:k(q.valuefontitalic)?"italic":"normal",border:t||q.valuebgcolor?k(q.valueborderthickness,1)+"px solid":void 0,borderColor:t,borderThickness:k(q.valueborderthickness,1),borderPadding:k(q.valueborderpadding,2),borderRadius:k(q.valueborderradius,
0),backgroundColor:q.valuebgcolor?ja(q.valuebgcolor,k(q.valuebgalpha,q.valuealpha,100)):L,borderDash:k(q.valueborderdashed,0)?Da(k(q.valueborderdashlen,4),k(q.valueborderdashgap,2),k(q.valueborderthickness,1)):"none"};a.plotOptions.series.dataLabels.style=b;delete d.x;delete d[0];delete d[1];a.chart.plotBorderColor=a.chart.plotBackgroundColor=Ra;d=d.pieDATALabels=[];if(1===a.series.length&&(ea=a.series[0].data)&&0<(c=a.series[0].data.length)&&a.plotOptions.series.dataLabels.enabled)for(;c--;)ea[c]&&
void 0!==wa(ea[c].displayValue)&&d.push({text:ea[c].displayValue,style:ea[c].style})},spaceManager:function(a,p,c,d){var q=a[ta],b=q.is3d,t=this.name,ea=this.colorManager,e=this.smartLabel||q.smartLabel,r=k(q.pieDATALabels&&q.pieDATALabels.length,0),T=0,l=p.chart,va=k(l.managelabeloverflow,0),h=k(l.slicingdistance),f=q.preSliced||l.enableslicing!==Ca||l.showlegend===Ka&&l.interactivelegend!==Ca?X(k(h,20)):0,x=k(l.pieradius,0),n=k(l.enablesmartlabels,l.enablesmartlabel,1),A=n?k(l.skipoverlaplabels,
l.skipoverlaplabel,1):0,O=k(l.issmartlineslanted,1),P=r?k(l.labeldistance,l.nametbdistance,5):f,B=k(l.smartlabelclearance,5);c-=a.chart.marginRight+a.chart.marginLeft;var V=d-(a.chart.marginTop+a.chart.marginBottom);d=Z(V,c);var v=g(l.smartlinecolor,ea.getColor("plotFillColor")),N=k(l.smartlinealpha,100),D=k(l.smartlinethickness,.7),H=a.plotOptions.series.dataLabels,ea=H.style,J=r?k(parseInt(ea.lineHeight,10),12):0,ea=a.series[0]||{},u=ea.pieYScale,ga=ea.pieSliceDepth;d=0===x?.15*d:x;var I=0,I=2*
d,Q=k("doughnut2d"===t?0:l.placevaluesinside);H.connectorWidth=D;H.connectorPadding=k(l.connectorpadding,5);H.connectorColor=ja(v,N);r&&(n&&(P=B),P+=f);B=I+2*(J+P);V-=this.titleSpaceManager(a,p,c,m(B<V?V-B:V/2,parseFloat(a.title.style.lineHeight,10)));l.showlegend===Ka&&(g(l.legendposition,Ya).toLowerCase()!==ab?V-=this.placeLegendBlockBottom(a,p,c,V/2,!0):c-=this.placeLegendBlockRight(a,p,c/3,V,!0));if(1!==r)for(;r--;)e.setStyle(q.pieDATALabels[r].style),p=e.getOriSize(q.pieDATALabels[r].text),T=
m(T,p.width);0===x&&(b?(V-=ga,I=Z(c/2-T-f,(V/2-J)/u)-P):I=Z(c/2-T-f,V/2-J)-P,I>=d?d=I:h||(f=P=m(Z(P-(d-I),f),10)));b&&(r=V-2*(d*u+J),ga>r&&(ea.managedPieSliceDepth=ga-r));a.plotOptions.pie3d.slicedOffset=a.plotOptions.pie.slicedOffset=f;a.plotOptions.pie3d.size=a.plotOptions.pie.size=2*d;a.plotOptions.series.dataLabels.distance=P;a.plotOptions.series.dataLabels.isSmartLineSlanted=O;a.plotOptions.series.dataLabels.enableSmartLabels=n;a.plotOptions.series.dataLabels.skipOverlapLabels=A;a.plotOptions.series.dataLabels.manageLabelOverflow=
va;a.plotOptions.series.dataLabels.placeLabelsInside=Q;if("doughnut2d"===t||"doughnut3d"===t)if(t=k(l.doughnutradius,0),r=(r=k(l.use3dlighting,1))?k(l.radius3d,l["3dradius"],50):100,100<r&&(r=100),0>r&&(r=0),l=0===t||t>=d?d/2:t,a.plotOptions.pie3d.innerSize=a.plotOptions.pie.innerSize=2*l,0<r&&da&&(l=parseInt(l/d*100,10),t=(100-l)/2,r=parseInt(t*r/100,10),l=l+ba+r+ba+2*(t-r)+ba+r,a.series[0]&&a.series[0].data))for(va=a.series[0].data,a=0,r=va.length;a<r;a+=1)t=va[a],t.color.FCcolor&&(t.color.FCcolor.ratio=
l,t.rolloverProperties.color&&(t.rolloverProperties.color.FCcolor.ratio=l))},creditLabel:Ba,eiMethods:{isPlotItemSliced:function(a){var p=this.jsVars.hcObj,c,d,q;return p&&p.datasets&&p.datasets[0]&&(c=p.datasets[0].data)&&(q=c.length)&&c[a=q-a-1]&&(d=c[a].plot)&&d.sliced},slicePlotItem:function(a,p){var c=this.jsVars.hcObj,d,q,b,t;return c&&c.datasets&&(d=c.datasets[0])&&(q=d.data)&&(t=q.length)&&q[a=d.reversePlotOrder?a:t-a-1]&&(b=q[a].plot)&&((!!p!==b.sliced||void 0===p)&&c.plotGraphicClick.call(b)||
b.sliced)},centerLabel:function(a,p){var c=this.jsVars.hcObj,d=c.options,q=d.series[0],d=d.plotOptions.pie.innerSize,b=c.canvasLeft+.5*c.canvasWidth,t=c.canvasTop+.5*c.canvasHeight,e=q.centerLabelConfig,k;if("object"!==typeof p)p=e;else for(k in e)void 0===p[k]&&(p[k]=e[k]);p.label=a;q.centerLabelConfig=p;d&&c.drawDoughnutCenterLabel(a||"",b,t,d,d,p,!0)},startingAngle:function(a,p){var c=this.jsVars.hcObj,d=c.datasets[0].plot,q="pie"===c.options.chart.defaultSeriesType,b,t=(b=c.datasets[0].startAngle)*
(q?-W:1)+(0>(q?-1:1)*b?360:0);if(!isNaN(a)){if(d.singletonCase||d.isRotating)return;a+=p?t:0;q?((q=c.options.series[0]).startAngle=-a*pa,c.rotate(d,q)):c.rotate(a);t=a}return v(100*((t%=360)+(0>t?360:0)))/100}}},ya);n.pie2d.eiMethods.togglePieSlice=n.pie2d.eiMethods.sliceDataItem=n.pie2d.eiMethods.slicePlotItem;n.pie2d.eiMethods.enableSlicingMovement=n.pie2d.eiMethods.enablelink=function(){qa.raiseWarning(this,"1301081430","run","JSRenderer~enablelink()","Method deprecated.")};n("pie3d",{friendlyName:"3D Pie Chart",
defaultSeriesType:"pie3d",rendererId:"pie3d",creditLabel:Ba,fireGroupEvent:!0,getPointColor:function(a){return a},defaultPlotShadow:0},n.pie2d);n("doughnut2d",{friendlyName:"Doughnut Chart",getPointColor:function(a,p,c){var d;a=ca(a);p=Na(p);100>c&&da?(d=ia(a,u(100*(85-.2*(100-c)))/100),a=ha(a,u(100*(100-.5*c))/100),p={FCcolor:{color:d+","+a+","+a+","+d,alpha:p+","+p+","+p+","+p,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:c}}):p={FCcolor:{color:a+","+a,alpha:p+","+p,ratio:"0,100"}};return p}},
n.pie2d);n("doughnut3d",{friendlyName:"3D Doughnut Chart",defaultSeriesType:"pie3d",rendererId:"pie3d",fireGroupEvent:!0,getPointColor:n.pie3d,defaultPlotShadow:0},n.doughnut2d);n("pareto2d",{standaloneInit:!0,friendlyName:"Pareto Chart",point:function(a,p,c,d,q){a=c.length;var b=0,t=0,e={},h=this.colorManager,r=/3d$/.test(q.chart.defaultSeriesType),T=this.isBar,l=g(360-d.plotfillangle,90),va=g(d.showplotborder,r?Ca:Ka)===Ka?r?1:k(d.plotborderthickness,1):0,f=q.chart.useRoundEdges,n=g(d.tooltipsepchar,
", "),x=g(d.plotbordercolor,h.getColor("plotBorderColor")).split(ba)[0],V=d.showplotborder==Ca?Ca:g(d.plotborderalpha,d.plotfillalpha,Ha),A=q.xAxis,O=k(d.showcumulativeline,1),P=q[ta],B=P.axisGridManager,v=P.x,m=d.showtooltip!=Ca,N=[],D=k(d.use3dlighting,1),H=q[ta].numberFormatter,J=k(d.showlinevalues,d.showvalues),u=k(d.plotborderdashed,0),ga,I=k(d.plotborderdashlen,5),Q=k(d.plotborderdashgap,4),S=ka(d.xaxisname),R=ka(d.yaxisname),y=P.numberFormatter,G=p,M,Y,E,F,K,w,s,Z,X,U,z,$,C,W,pa,oa,aa,ia,ha,
ra,ja,fa,Ea,la,V=r?d.showplotborder?V:Ca:V,x=r?g(d.plotbordercolor,"#FFFFFF"):x;E=k(d.useplotgradientcolor,1)?Wa(d.plotgradientcolor,h.getColor("plotGradientColor")):L;for(pa=Y=0;Y<a;Y+=1)ra=c[Y],c[Y].vline?B.addVline(A,ra,pa,q):(M=H.getCleanValue(ra.value,!0),null!==M&&(t+=ra.value=M,N.push(ra),pa+=1));a=N.length;N.sort(function(a,c){return c.value-a.value});O&&0<t?(U=k(d.linedashed,0),ja=ca(g(d.linecolor,h.getColor("plotBorderColor"))),e=g(d.linealpha,100),z=k(d.linedashlen,5),F=k(d.linedashgap,
4),Y=k(d.linethickness,2),C={opacity:e/100},ha=g(d.valueposition,"auto"),W=k(d.drawanchors,d.showanchors),void 0===W&&(W=e!=Ca),aa=k(d.anchorborderthickness,1),ia=k(d.anchorsides,0),ga=k(d.anchorradius,3),oa=ca(g(d.anchorbordercolor,ja)),M=ca(g(d.anchorbgcolor,h.getColor("anchorBgColor"))),pa=Na(g(d.anchoralpha,Ha)),c=Na(g(d.anchorbgalpha,pa))*pa/100,U=U?Da(z,F,Y):void 0,F=Boolean(k(ra.anchorshadow,d.anchorshadow,0)),z=this.pointHoverOptions(ra,p,{plotType:"anchor",anchorBgColor:M,anchorAlpha:pa,
anchorBgAlpha:c,anchorAngle:g(d.anchorstartangle,90),anchorBorderThickness:aa,anchorBorderColor:oa,anchorBorderAlpha:pa,anchorSides:ia,anchorRadius:ga,shadow:$}),e={yAxis:1,data:[],type:"line",color:{FCcolor:{color:ja,alpha:e}},lineWidth:Y,marker:{enabled:W,shadow:F&&1<=ga?{opacity:pa/100}:!1,fillColor:{FCcolor:{color:M,alpha:c}},lineColor:{FCcolor:{color:oa,alpha:pa}},lineWidth:aa,radius:ga,symbol:db(ia),startAngle:g(d.anchorstartangle,90)}},G=[G,e],P[1]||(P[1]={}),P[1].stacking100Percent=!0):("1"!==
d.showsecondarylimits&&(d.showsecondarylimits="0"),"1"!==d.showdivlinesecondaryvalue&&(d.showdivlinesecondaryvalue="0"));P[1]||(P[1]={});P[1].stacking100Percent=!0;for(Y=0;Y<a;Y+=1)ra=N[Y],$=k(ra.showlabel,d.showlabels,1),c=ka($?Ga(ra.label,ra.name):L),s=g(ra.color,h.getPlotColor()),B.addXaxisCat(A,Y,Y,c,ra,{},d,s),b+=M=ra.value,F=k(ra.dashed,u),K=g(ra.dashgap,Q),w=g(ra.dashlen,I),Z=g(ra.alpha,d.plotfillalpha,Ha),X=g(ra.ratio,d.plotfillratio),$={opacity:Z/100},fa=g(ra.alpha,V)+L,ja=ma(s+ba+E.replace(/,+?$/,
""),Z,X,l,f,x+L,fa+L,T,r),ga=F?Da(w,K,va):"none",pa=b/t*100,aa=H.percentValue(pa),oa=null===M?M:y.dataLabels(M),ia=wa(ka(ra.displayvalue)),ia=k(ra.showvalue,P.showValues)?void 0!==ia?ia:oa:L,P.showTooltip?void 0!==(W=wa(ka(g(ra.tooltext,P.tooltext))))?(Ea={formattedValue:oa,label:c,yaxisName:R,xaxisName:S,cumulativeValue:b,cumulativeDataValue:y.dataLabels(b),cumulativePercentValue:aa,sum:y.dataLabels(t),unformattedSum:t},la=[1,2,3,5,6,7,20,21,22,23,24,25],W=Fa(W,la,Ea,ra,d)):W=null===oa?!1:c!==L?
c+P.tooltipSepChar+oa:oa:W=L,K=this.pointHoverOptions(ra,p,{plotType:"column",is3d:r,isBar:T,use3DLighting:D,isRoundEdged:f,color:s,gradientColor:E,alpha:Z,ratio:X,angle:l,borderWidth:va,borderColor:x,borderAlpha:fa,borderDashed:F,borderDashGap:K,borderDashLen:w,shadow:$}),F=g(ra.link),p.data.push({link:F,toolText:W,displayValue:ia,categoryLabel:c,y:M,shadow:$,color:ja[0],borderColor:ja[1],borderWidth:va,use3DLighting:D,dashStyle:ga,tooltipConstraint:this.tooltipConstraint,hoverEffects:K.enabled&&
K.options,rolloverProperties:K.enabled&&K.rolloverOptions}),this.pointValueWatcher(q,M),O&&(M=wa(ka(g(ra.cumulativeplottooltext,d.cumulativeplottooltext))),$=1==J?aa:0===J||ia===L?L:aa,W=m?void 0!==M?Fa(M,la||[1,2,3,5,6,7,20,21,22,23,24,25],Ea||{formattedValue:oa,label:c,yaxisName:R,xaxisName:S,cumulativeValue:b,cumulativeDataValue:y.dataLabels(b),cumulativePercentValue:aa,sum:y.dataLabels(t),unformattedSum:t},ra,d):(c!==L?c+n:L)+aa:L,e.data.push({shadow:C,color:e.color,marker:e.marker,y:pa,toolText:W,
displayValue:$,valuePosition:ha,categoryLabel:c,link:F,dashStyle:U,hoverEffects:z.enabled&&z.options,rolloverProperties:z.enabled&&z.rolloverOptions}));v.catCount=a;return G},defaultSeriesType:"column",isDual:!0,creditLabel:Ba,rendererId:"cartesian"},ya);n("pareto3d",{friendlyName:"3D Pareto Chart",defaultSeriesType:"column3d",fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0},n.pareto2d);n("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",creditLabel:Ba,rendererId:"cartesian"},
n.mscolumn2dbase);n("mscolumn3d",{defaultSeriesType:"column3d",friendlyName:"Multi-series 3D Column Chart",defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,defaultZeroPlaneHighlighted:!1},n.mscolumn2d);n("msbar2d",{friendlyName:"Multi-series Bar Chart",isBar:!0,defaultSeriesType:"bar",spaceManager:n.barbase},n.mscolumn2d);n("msbar3d",{defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart",fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,defaultZeroPlaneHighlighted:!1},n.msbar2d);n("msline",
{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:Ba,rendererId:"cartesian"},n.mslinebase);n("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",creditLabel:Ba,rendererId:"cartesian"},n.msareabase);n("stackedcolumn2d",{friendlyName:"Stacked Column Chart",isStacked:!0},n.mscolumn2d);n("stackedcolumn3d",{friendlyName:"3D Stacked Column Chart",isStacked:!0},n.mscolumn3d);n("stackedbar2d",{friendlyName:"Stacked Bar Chart",isStacked:!0},n.msbar2d);n("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",
isStacked:!0},n.msbar3d);n("stackedarea2d",{friendlyName:"Stacked Area Chart",isStacked:!0,areaAlpha:100,showSum:0},n.msarea);n("marimekko",{friendlyName:"Marimekko Chart",isValueAbs:!0,distributedColumns:!0,isStacked:!0,xAxisMinMaxSetter:Ta,postSeriesAddition:function(a,p){var c=a[ta],d=0,b=a.xAxis,e=100/c.marimekkoTotal,t=[],ea=a.series,h=0,r=ua({},a.plotOptions.series.dataLabels.style),T=parseInt(r.fontSize,10),l=k(p.chart.plotborderthickness,1),va=a.chart.rotateValues,f=k(p.chart.rotatexaxispercentvalues,
0),n=-.5*l-(l%2+(f?1:0)+!a.chart.plotBorderWidth),x=f?T/2*1.2:0,V=va?270:0,A=c[0],O=A.stacking100Percent,P=!O,B=c.inCanvasStyle,g=this.numberFormatter,m=p.categories&&p.categories[0]&&p.categories[0].category||[],N=0,D=[],H,J,y,ga,I,Q,S,R,w,s,l=[];c.isXYPlot=!0;c.distributedColumns=!0;b.min=0;b.max=100;b.labels.enabled=!1;b.gridLineWidth=0;b.alternateGridColor=Ra;H=A.stack;p.chart.interactivelegend="0";A=0;for(J=a.xAxis.plotLines.length;A<J;A+=1)y=b.plotLines[A],y.isGrid&&(y.isCat=!0,t[y.value]=y,
y._hideLabel=!0);for(A=J=0;A<m.length;A+=1)m[A].vline||(N+=D[J]=g.getCleanValue(m[A].widthpercent||0),J+=1);y=H.floatedcolumn&&H.floatedcolumn[0]||[];if(100===N&&(y&&y.length)!==J)for(;J--;)y[J]||(y[J]={p:null});N=v(N);if(y)for(I=0,J=y.length;I<J;){s=y[I];d+=ga=s&&s.p||0;S=100===N?D[I]:ga*e;Q=h+S/2;R=h+S;l.push(R);for(A=0;A<ea.length;A+=1)if(a.series[A].visible=!0,m=a.series[A].data[I],m._FCX=h,m._FCW=S,w=g.percentValue(m.y/ga*100),m.toolText=Fa(m.toolText,[14,24,25,111,112],{xAxisPercentValue:g.percentValue(S),
percentValue:w,sum:g.dataLabels(ga),unformattedSum:ga}),O){if(m.y||0===m.y)H=m.y/ga*100,m.y=H,m.showPercentValues&&(m.displayValue=w);if(m.previousY||0===m.previousY)m.previousY=m.previousY/ga*100}c.showStackTotal&&a.xAxis.plotLines.push({value:Q,width:0,isVline:P,isTrend:!P,_isStackSum:1,zIndex:4,label:{align:Ua,textAlign:Ua,rotation:V,style:r,verticalAlign:$a,offsetScale:P?0>ga?s.n:s.p:void 0,offsetScaleIndex:0,y:0>ga?270===va?4:T:-4,x:0,text:g.yAxis(Pa(ga,10))}});t[I]&&(t[I].value=Q,t[I]._weight=
S,t[I]._hideLabel=!1);I+=1;c.showXAxisPercentValues&&I<J&&a.xAxis.plotLines.push({value:R,width:0,isVine:!0,label:{align:Ua,textAlign:f?bb:Ua,rotation:f?270:0,backgroundColor:"#ffffff",backgroundOpacity:1,borderWidth:"1px",borderType:"solid",borderColor:B.color,style:{color:B.color,fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight},verticalAlign:Ya,y:n,x:x,text:this.numberFormatter.percentValue(R)},zIndex:5});h=R}I=0;for(J=t.length;I<J;I+=1)t[I]&&t[I]._hideLabel&&(t[I].value=null);
A=0;for(J=a.xAxis.plotLines.length;A<J;A+=1)if(y=b.plotLines[A],y.isVline&&!y._isStackSum&&(c=y.value))c-=.5,d=l[u(c)],e=l[G(c)],y.value=d+(e-d)*(c-u(c))},defaultSeriesType:"floatedcolumn"},n.stackedcolumn2d);n("msstackedcolumn2d",{friendlyName:"Multi-series Stacked Column Chart",series:function(a,p,c){var d,b,e,t,ea=p[ta],h=0,r,T;r=[];var l;p.legend.enabled=Boolean(k(a.chart.showlegend,1));if(a.dataset&&0<a.dataset.length){this.categoryAdder(a,p);d=0;for(b=a.dataset.length;d<b;d+=1)if(l=a.dataset[d].dataset)for(e=
0,t=l.length;e<t;e+=1,h+=1)r={hoverEffects:this.parseSeriesHoverOptions(a,p,l[e],c),visible:!k(l[e].initiallyhidden,0),data:[],numColumns:b,columnPosition:d},T=Math.min(ea.oriCatTmp.length,l[e].data&&l[e].data.length),r=this.point(c,r,l[e],a.chart,p,T,h,d),p.series.push(r);if(this.isDual&&a.lineset&&0<a.lineset.length)for(e=0,t=a.lineset.length;e<t;e+=1,h+=1)d=a.lineset[e],r={hoverEffects:this.parseSeriesHoverOptions(a,p,d,c),visible:!k(d.initiallyhidden,0),data:[],yAxis:1,type:"line"},T=Math.min(ea.oriCatTmp.length,
d.data&&d.data.length),p.series.push(n.msline.point.call(this,"msline",r,d,a.chart,p,T,h));this.configureAxis(p,a);a.trendlines&&Va(a.trendlines,p.yAxis,p[ta],this.isDual,this.isBar)}},postSpaceManager:function(a,p,c){var d=a[ta],b,e,t;n.base.postSpaceManager.call(this);if(this.isStacked&&d.showStackTotal&&(b=a.chart,a=(p=a.xAxis)&&p.plotLines,b=c-b.marginLeft-b.marginRight,c=d.plotSpacePercent,d=d[0].stack,d=d.column&&d.column.length,e=(1-2*c)/d,p=b/(p.max-p.min),50<p*e&&.1==c))for(p=50/p,c=a&&a.length,
d=-((d-1)/2)*p,t=0;t<c;t+=1)e=a[t],e._isStackSum&&(b=e._catPosition+(d+p*e._stackIndex),e.value=b)}},n.stackedcolumn2d);n("mscombi2d",{friendlyName:"Multi-series Combination Chart",standaloneInit:!0,creditLabel:Ba,rendererId:"cartesian"},n.mscombibase);n("mscombi3d",{friendlyName:"Multi-series 3D Combination Chart",series:n.mscombi2d.series,eiMethods:function(a){var p={};xa(a.split(","),function(a){p[a]=function(){qa.raiseWarning(this,"1301081430","run","JSRenderer~"+a+"()","Method not applicable.")}});
return p}("view2D,view3D,resetView,rotateView,getViewAngles,fitToStage")},n.mscolumn3d);n("mscolumnline3d",{friendlyName:"Multi-series Column and Line Chart"},n.mscombi3d);n("stackedcolumn2dline",{friendlyName:"Stacked Column and Line Chart",isStacked:!0,stack100percent:0},n.mscombi2d);n("stackedcolumn3dline",{friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,stack100percent:0},n.mscombi3d);n("mscombidy2d",{friendlyName:"Multi-series Dual Y-Axis Combination Chart",isDual:!0,secondarySeriesType:void 0},
n.mscombi2d);n("mscolumn3dlinedy",{friendlyName:"Multi-series 3D Column and Line Chart",isDual:!0,secondarySeriesType:"line"},n.mscolumnline3d);n("stackedcolumn3dlinedy",{friendlyName:"Stacked 3D Column and Line Chart",isDual:!0,secondarySeriesType:"line"},n.stackedcolumn3dline);n("msstackedcolumn2dlinedy",{friendlyName:"Multi-series Dual Y-Axis Stacked Column and Line Chart",isDual:!0,stack100percent:0,secondarySeriesType:"line"},n.msstackedcolumn2d);n("scrollcolumn2d",{friendlyName:"Scrollable Multi-series Column Chart",
postSeriesAddition:n.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},n.mscolumn2d);n("scrollline2d",{friendlyName:"Scrollable Multi-series Line Chart",postSeriesAddition:n.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:75},n.msline);n("scrollarea2d",{friendlyName:"Scrollable Multi-series Area Chart",postSeriesAddition:n.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,
avgScrollPointWidth:75},n.msarea);n("scrollstackedcolumn2d",{friendlyName:"Scrollable Stacked Column Chart",postSeriesAddition:function(a,p,c,d){n.base.postSeriesAddition.call(this,a,p,c,d);n.scrollbase.postSeriesAddition.call(this,a,p,c,d)},canvasborderthickness:1,tooltipConstraint:"plot",avgScrollPointWidth:75},n.stackedcolumn2d);n("scrollcombi2d",{friendlyName:"Scrollable Combination Chart",postSeriesAddition:n.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},
n.mscombi2d);n("scrollcombidy2d",{friendlyName:"Scrollable Dual Y-Axis Combination Chart",postSeriesAddition:n.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},n.mscombidy2d);n("scatter",{friendlyName:"Scatter Chart",isXY:!0,standaloneInit:!0,defaultSeriesType:"scatter",defaultZeroPlaneHighlighted:!1,creditLabel:Ba},n.scatterbase);n("bubble",{friendlyName:"Bubble Chart",standaloneInit:!0,standaloneInut:!0,defaultSeriesType:"bubble",rendererId:"bubble",
point:function(a,p,c,d,b){a=k(d.ignoreemptydatasets,0);var e=!1,t=this.colorManager,ea,h,r,T,l,f,n,V,x,O,A,m,P,B,y,v,N=k(c.showvalues,b[ta].showValues);ea=k(d.bubblescale,1);var D=g(d.negativecolor,"FF0000"),H=b.plotOptions.bubble,J=this.numberFormatter,u=p._showRegression=k(c.showregressionline,d.showregressionline,0),ga,I,Q,S;p.name=wa(c.seriesname);r=Boolean(k(c.drawanchors,c.showanchors,d.drawanchors,1));V=g(c.plotfillalpha,c.bubblefillalpha,d.plotfillalpha,Ha);x=k(c.showplotborder,d.showplotborder,
1);O=ca(g(c.plotbordercolor,d.plotbordercolor,"666666"));A=g(c.plotborderthickness,d.plotborderthickness,1);m=g(c.plotborderalpha,d.plotborderalpha,"95");x=1===x?A:0;t=g(c.color,c.plotfillcolor,d.plotfillcolor,t.getPlotColor());p.marker={enabled:r,fillColor:this.getPointColor(t,Ha),lineColor:ja(O,x?m:0),lineWidth:x,symbol:"circle"};if(A=c.data){v=A.length;H.bubbleScale=ea;if(0===k(c.includeinlegend)||void 0===p.name)p.showInLegend=!1;u&&(p.events={hide:this.hideRLine,show:this.showRLine},ga={sumX:0,
sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},I=k(c.showyonx,d.showyonx,1),Q=ca(g(c.regressionlinecolor,d.regressionlinecolor,t)),S=k(c.regressionlinethickness,d.regressionlinethickness,1),ea=Na(k(c.regressionlinealpha,d.regressionlinealpha,100)),Q=ja(Q,ea));for(h=0;h<v;h+=1)(T=A[h])?(ea=J.getCleanValue(T.y),P=J.getCleanValue(T.x),B=J.getCleanValue(T.z,!0),null===ea?p.data.push({y:null,x:P}):(e=!0,n=0!==k(d.use3dlighting,T.is3d,c.is3d,d.is3d),l=ca(g(T.color,0>T.z?D:t)),f=g(T.alpha,
V),y=this.getPointStub(T,ea,P,b,c,N),l=n?this.getPointColor(l,f):{FCcolor:{color:l,alpha:f}},null!==B&&(H.zMax=H.zMax>B?H.zMax:B,H.zMin=H.zMin<B?H.zMin:B),T=this.pointHoverOptions(T,p,{plotType:"bubble",is3d:n,seriesAnchorSymbol:"circle",color:l,negativeColor:D,alpha:f,borderWidth:x,borderColor:O,borderAlpha:m,shadow:!1}),p.data.push({y:ea,x:P,z:B,displayValue:y.displayValue,toolText:y.toolText,link:y.link,hoverEffects:T.enabled&&T.options,rolloverProperties:T.enabled&&T.rolloverOptions,marker:{enabled:r,
fillColor:l,lineColor:{FCcolor:{color:O,alpha:m}},lineWidth:x,symbol:"circle"}}),this.pointValueWatcher(b,ea,P,u&&ga))):p.data.push({y:null});u&&(c={type:"line",color:Q,showInLegend:!1,lineWidth:S,enableMouseTracking:!1,marker:{enabled:!1},data:this.getRegressionLineSeries(ga,I,v),zIndex:0},p=[p,c])}a&&!e&&(p.showInLegend=!1);return p},getPointStub:function(a,p,c,d,b,e){var t=this.dataObj.chart;d=d[ta];p=null===p?p:d.numberFormatter.dataLabels(p);var ea,h=d.tooltipSepChar,r=wa(ka(g(a.tooltext,b.plottooltext,
d.tooltext)));d.showTooltip?void 0!==r?b=Fa(r,[4,5,6,7,8,9,10,11,12,13,118],{yDataValue:p,xDataValue:d.numberFormatter.xAxis(c),yaxisName:ka(t.yaxisname),xaxisName:ka(t.xaxisname),zDataValue:d.numberFormatter.dataLabels(a.z)},a,t,b):null===p?b=!1:(d.seriesNameInToolTip&&(ea=g(b&&b.seriesname)),b=ea?ea+h:L,b+=c?d.numberFormatter.xAxis(c)+h:L,b=b+p+(a.z?h+d.numberFormatter.dataLabels(a.z):L)):b=L;c=k(a.showvalue,e,d.showValues)?void 0!==g(a.displayvalue,a.name,a.label)?ka(g(a.displayvalue,a.name,a.label)):
p:L;a=wa(a.link);return{displayValue:c,toolText:b,link:a}}},n.scatter);n("ssgrid",{friendlyName:"Grid Component",standaloneInit:!0,defaultSeriesType:"ssgrid",rendererId:"ssgrid",chart:function(a,b){var c=this.containerElement,d=ua({},this.dataObj),q=d.chart||(d.chart=d.graph||{}),e=this.chartInstance,t=0,ea=[],h=d.data,r=h&&h.length,T=this.smartLabel,l=this.numberFormatter,f=c.offsetHeight,V=c.offsetWidth,O=this.colorManager,x,m,A,y,P,B,v,u,N,D,H,J,s,ga,I,Q,S,R,w,G,M,Y,E,F,K,Z=0;m=0;var c={_FCconf:{0:{stack:{}},
1:{stack:{}},x:{stack:{}},noWrap:!1,marginLeftExtraSpace:0,marginRightExtraSpace:0,marginBottomExtraSpace:0,marginTopExtraSpace:0,marimekkoTotal:0},chart:{ignoreHiddenSeries:!1,events:{},spacingTop:0,spacingRight:0,spacingBottom:0,spacingLeft:0,marginTop:0,marginRight:0,marginBottom:0,marginLeft:0,borderRadius:0,borderColor:"#000000",borderWidth:1,defaultSeriesType:"ssgrid",style:{fontFamily:g(q.basefont,"Verdana,sans"),fontSize:Ja(q.basefontsize,20)+Sa,color:g(q.basefontcolor,O.getColor("baseFontColor")).replace(/^#?([a-f0-9]+)/ig,
"#$1")},plotBackgroundColor:Ra},labels:{smartLabel:T},colors:"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),credits:{href:z.CREDIT_HREF,text:z.CREDIT_STRING,enabled:Ba},legend:{enabled:!1},series:[],subtitle:{text:L},title:{text:L},tooltip:{enabled:!1},exporting:{buttons:{exportButton:{},printButton:{enabled:!1}}}},X=c[ta],$=x=m=Z=0,U=t=ga=0;K=e.jsVars.cfgStore;e=c.chart;
P=e.toolbar={button:{}};B=P.button;delete d.graph;aa(c.chart.style);e.events.click=this.linkClickFN;B.scale=k(q.toolbarbuttonscale,1.15);B.width=k(q.toolbarbuttonwidth,15);B.height=k(q.toolbarbuttonheight,15);B.radius=k(q.toolbarbuttonradius,2);B.spacing=k(q.toolbarbuttonspacing,5);B.fill=ja(g(q.toolbarbuttoncolor,"ffffff"));B.labelFill=ja(g(q.toolbarlabelcolor,"cccccc"));B.symbolFill=ja(g(q.toolbarsymbolcolor,"ffffff"));B.hoverFill=ja(g(q.toolbarbuttonhovercolor,"ffffff"));B.stroke=ja(g(q.toolbarbuttonbordercolor,
"bbbbbb"));B.symbolStroke=ja(g(q.toolbarsymbolbordercolor,"9a9a9a"));B.strokeWidth=k(q.toolbarbuttonborderthickness,1);B.symbolStrokeWidth=k(q.toolbarsymbolborderthickness,1);d=B.symbolPadding=k(q.toolbarsymbolpadding,5);B.symbolHPadding=k(q.toolbarsymbolhpadding,d);B.symbolVPadding=k(q.toolbarsymbolvpadding,d);B=P.position=g(q.toolbarposition,"tr").toLowerCase();switch(B){case "tr":case "tl":case "br":case "bl":break;default:B="tr"}d=P.hAlign="left"===(L+q.toolbarhalign).toLowerCase()?"l":B.charAt(1);
B=P.vAlign="bottom"===(L+q.toolbarvalign).toLowerCase()?"b":B.charAt(0);P.hDirection=k(q.toolbarhdirection,"r"===d?-1:1);P.vDirection=k(q.toolbarvdirection,"b"===B?-1:1);P.vMargin=k(q.toolbarvmargin,6);P.hMargin=k(q.toolbarhmargin,10);P.x=k(q.toolbarx,"l"===d?0:a);P.y=k(q.toolbary,"t"===B?0:b);void 0!==g(q.clickurl)&&(e.link=q.clickurl,e.style.cursor="pointer");x=k(K.showpercentvalues,q.showpercentvalues,0);m=g(K.numberitemsperpage,q.numberitemsperpage);k(K.showshadow,q.showshadow,0);t=g(K.basefont,
q.basefont,"Verdana,sans");A=Ja(K.basefontsize,q.basefontsize,10);A+=Sa;y=ca(g(K.basefontcolor,q.basefontcolor,O.getColor("baseFontColor")));d=ca(g(K.alternaterowbgcolor,q.alternaterowbgcolor,O.getColor("altHGridColor")));P=g(K.alternaterowbgalpha,q.alternaterowbgalpha,O.getColor("altHGridAlpha"))+L;B=k(K.listrowdividerthickness,q.listrowdividerthickness,1);v=ca(g(K.listrowdividercolor,q.listrowdividercolor,O.getColor("borderColor")));u=k(K.listrowdivideralpha,q.listrowdivideralpha,O.getColor("altHGridAlpha"))+
15+L;N=k(K.colorboxwidth,q.colorboxwidth,8);D=k(K.colorboxheight,q.colorboxheight,8);H=k(K.navbuttonradius,q.navbuttonradius,7);J=ca(g(K.navbuttoncolor,q.navbuttoncolor,O.getColor("canvasBorderColor")));s=ca(g(K.navbuttonhovercolor,q.navbuttonhovercolor,O.getColor("altHGridColor")));ga=k(K.textverticalpadding,q.textverticalpadding,3);I=k(K.navbuttonpadding,q.navbuttonpadding,5);Q=k(K.colorboxpadding,q.colorboxpadding,10);S=k(K.valuecolumnpadding,q.valuecolumnpadding,10);R=k(K.namecolumnpadding,q.namecolumnpadding,
5);w=k(K.borderthickness,q.borderthickness,1);G=ca(g(K.bordercolor,q.bordercolor,O.getColor("borderColor")));M=g(K.borderalpha,q.borderalpha,O.getColor("borderAlpha"))+L;Y=g(K.bgcolor,q.bgcolor,"FFFFFF");E=g(K.bgalpha,q.bgalpha,Ha);F=g(K.bgratio,q.bgratio,Ha);K=g(K.bgangle,q.bgangle,Ca);e.borderRadius=w/16;e.borderWidth=w;e.borderColor=C({FCcolor:{color:G,alpha:M}});e.backgroundColor={FCcolor:{color:Y,alpha:E,ratio:F,angle:K}};e.borderRadius=k(q.borderradius,0);K={fontFamily:t,fontSize:A,color:y};
aa(K);T.setStyle(K);for(t=0;t<r;t+=1)if(A=h[t],w=l.getCleanValue(A.value),G=ka(Ga(A.label,A.name)),y=ca(g(A.color,O.getPlotColor())),g(A.alpha,q.plotfillalpha,Ha),G!=L||null!=w)ea.push({value:w,label:G,color:y}),Z+=w,U+=1;for(t=0;t<U;t+=1)A=ea[t],w=A.value,A.dataLabel=A.label,A.displayValue=x?l.percentValue(w/Z*100):l.dataLabels(w),h=T.getOriSize(A.displayValue),$=Math.max($,h.width+S);m?m>=U?(x=f/U,m=U):(l=f-2*(I+H),x=l/m):(Z=parseInt(K.lineHeight,10),Z=Math.max(Z+2*ga,D),m=f/Z,m>=U?(x=f/U,m=U):
(l=f-2*(I+H),m=Math.floor(l/Z),x=l/m));ga=V-Q-N-R-$-S;t=Q+N+R;l=g(q.basefont,"Verdana,sans");$=Ja(q.basefontsize,10);O=g(q.basefontcolor,O.getColor("baseFontColor"));h=g(q.outcnvbasefont,l);A=Ja(q.outcnvbasefontsize,$);r=A+Sa;q=g(q.outcnvbasefontcolor,O).replace(/^#?([a-f0-9]+)/ig,"#$1");$+=Sa;O=O.replace(/^#?([a-f0-9]+)/ig,"#$1");X.trendStyle=X.outCanvasStyle={fontFamily:h,color:q,fontSize:r};aa(X.trendStyle);X.inCanvasStyle={fontFamily:l,fontSize:$,color:O};c.tooltip.style={fontFamily:l,fontSize:$,
lineHeight:void 0,color:O};c.tooltip.shadow=!1;e.height=f;e.width=V;e.rowHeight=x;e.labelX=t;e.colorBoxWidth=N;e.colorBoxHeight=D;e.colorBoxX=Q;e.valueX=Q+N+R+ga+S;e.valueColumnPadding=S;e.textStyle=K;e.listRowDividerAttr={"stroke-width":B,stroke:{FCcolor:{color:v,alpha:u}}};e.alternateRowColor={FCcolor:{color:d,alpha:P}};e.navButtonRadius=H;e.navButtonPadding=I;e.navButtonColor=J;e.navButtonHoverColor=s;e.lineHeight=parseInt(K.lineHeight,10);f=[];q=0;X=!0;for(t=0;t<U&0!==m;t+=1)0===t%m&&(f.push({data:[],
visible:X}),X=!1,q+=1),A=ea[t],V=T.getSmartText(A.dataLabel,ga,x),f[q-1].data.push({label:V.text,originalText:V.tooltext,displayValue:A.displayValue,y:A.value,color:A.color});c.series=f;n.base.parseExportOptions.call(this,c);c.tooltip.enabled=!!c.exporting.enabled;return c},creditLabel:Ba},n.base);n("renderer.bubble",{drawPlotBubble:function(a,p){var c=this,d=c.options,q=d.chart,h=d.plotOptions.series,t=h.dataLabels&&h.dataLabels.style||{},ea={fontFamily:t.fontFamily,fontSize:t.fontSize,lineHeight:t.lineHeight,
fontWeight:t.fontWeight,fontStyle:t.fontStyle},t=c.paper,f=c.elements,r=a.items,T=a.graphics=a.graphics||[],l=c.xAxis[p.xAxis||0],va=c.yAxis[p.yAxis||0],O=a.data,V=!1!==(d.tooltip||{}).enabled,x,n,h=isNaN(+h.animation)&&h.animation.duration||1E3*h.animation,A=!1===p.visible?"hidden":"visible",d=d.plotOptions.bubble,m=d.zMax,d=d.bubbleScale,g=Z(c.canvasHeight,c.canvasWidth)/8,m=oa(m),B,y,u,N,D,H,J,w,s,I,Q;B=c.layers;y=B.dataset=B.dataset||t.group("dataset-orphan");var S=B.tracker,R,G,$=function(a){sa.call(this,
c,a)},M=function(a,d,b){return function(p){a.attr(d);sa.call(this,c,p,b)}};c.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",ea);B.datalabels?B.datalabels.attr("class","fusioncharts-datalabels"):B.datalabels=t.group({"class":"fusioncharts-datalabels"},"datalables").insertAfter(y);ea=y.bubble=y.bubble||t.group("bubble",y);q.clipBubbles&&!ea.attrs["clip-rect"]&&ea.attr({"clip-rect":f["clip-canvas"]});B=0;for(y=O.length;B<y;B+=1){u=O[B];I=Q=G=null;s=u.marker;if(null!==u.y&&s&&s.enabled){N=
u.link;q=u.toolText;D=k(u.x,B);H=u.y;f={index:B,link:N,value:H,y:H,x:D,z:u.z,displayValue:u.displayValue,toolText:u.toolText,id:a.userID,datasetIndex:a.index,datasetName:a.name,visible:a.visible};w=va.getAxisPosition(H);J=l.getAxisPosition(D);n=oa(u.z);R=v(n*g/m)*d||0;n=x={};u.hoverEffects&&(n={fill:C(s.fillColor),"stroke-width":s.lineWidth,stroke:C(s.lineColor),r:R},x=u.rolloverProperties,x={fill:C(x.fillColor),"stroke-width":x.lineWidth,stroke:C(x.lineColor),r:R*x.scale});I=t.circle(J,w,0,ea).attr({fill:C(s.fillColor),
"stroke-width":s.lineWidth,stroke:C(s.lineColor),visibility:A}).animate({r:R||0},h,"easeOut",c.getAnimationCompleteFn());if(N||V)R<b&&(R=b),Q=t.circle(J,w,R,S).attr({cursor:N?"pointer":"",stroke:e,"stroke-width":s.lineWidth,fill:e,ishot:!!N,visibility:A});(Q||I).data("eventArgs",f).click($).hover(M(I,x,"DataPlotRollOver"),M(I,n,"DataPlotRollOut")).tooltip(q);r[B]={index:B,x:D,y:H,z:u.z,value:H,graphic:I,dataLabel:G,tracker:Q};G=c.drawPlotLineLabel(a,p,B,J,w)}else r[B]={index:B,x:D,y:H};G&&T.push(G);
I&&T.push(I);Q&&T.push(Q)}a.visible=!1!==p.visible;return a}},n["renderer.cartesian"]);n("renderer.ssgrid",{drawGraph:function(){var a=this.options.series,b=this.elements,c=b.plots,d=a.length,q;c||(c=this.plots=this.plots||[],b.plots=c);this.drawSSGridNavButton();for(q=0;q<d;q++)(b=c[q])||c.push(b={items:[],data:a[q].data}),a[q].data&&a[q].data.length&&this.drawPlot(b,a[q]);1<d&&this.nenagitePage(0)},drawPlot:function(a){var b=a.data,c=this.paper,d=this.options.chart,q=d.colorBoxHeight,e=d.colorBoxWidth,
t=d.colorBoxX,h=d.labelX,f=d.valueX,r=d.rowHeight,k=d.width,l=d.listRowDividerAttr,O=l["stroke-width"],l=C(l.stroke),V=O%2/2,n=d.textStyle,x=this.layers,x=x.dataset=x.dataset||c.group("dataset-orphan"),d=C(d.alternateRowColor);a=a.items;var m=0,A,y,g,B;b&&b.length||(b=[]);l={stroke:l,"stroke-width":O};B=0;for(O=b.length;B<O;B+=1)g=b[B],y=g.y,A=a[B]={index:B,value:y,graphic:null,dataLabel:null,dataValue:null,alternateRow:null,listRowDivider:null,hot:null},null!==y&&void 0!==y&&(0===B%2&&(A.alternateRow=
c.rect(0,m,k,r,0,x).attr({fill:d,"stroke-width":0})),y=v(m)+V,A.listRowDivider=c.path(["M",0,y,"L",k,y],x).attr(l),A.graphic=c.rect(t,m+r/2-q/2,e,q,0,x).attr({fill:g.color,"stroke-width":0,stroke:"#000000"}),y=A.dataLabel=c.text().attr({text:g.label,title:g.originalText||"",x:h,y:m+r/2,fill:n.color,"text-anchor":"start"}).css(n),x.appendChild(y),A=A.dataValue=c.text().attr({text:g.displayValue,title:g.originalText||"",x:f,y:m+r/2,fill:n.color,"text-anchor":"start"}).css(n),x.appendChild(A),m+=r);
y=v(m)+V;c.path(["M",0,y,"L",k,y],x).attr(l)},drawSSGridNavButton:function(){var a=this,b=a.paper,c=a.options,d=c.chart,q=c.series,e=d.navButtonColor,t=d.navButtonHoverColor,c=d.navButtonRadius,h=.67*c,f=d.navButtonPadding+h+(q&&q[0].data&&q[0].data.length*d.rowHeight)+.5*c,d=d.width-20,r,k,l,O;1<q.length&&(O=a.naviigator=b.group("navigation"),a.navElePrv=q=b.group(O),r=b.path(["M",20,f,"L",20+c+h,f-h,20+c,f,20+c+h,f+h,"Z"]).attr({fill:e,"stroke-width":0,cursor:"pointer"}),q.appendChild(r),l=b.circle(20+
c,f,c).attr({fill:Ra,"stroke-width":0,cursor:"pointer"}).mouseover(function(){r.attr({fill:t,cursor:"pointer"})}).mouseout(function(){r.attr({fill:e})}).click(function(){a.nenagitePage(-1)}),q.appendChild(l),a.navEleNxt=q=b.group(O),k=b.path(["M",d,f,"L",d-c-h,f-h,d-c,f,d-c-h,f+h,"Z"]).attr({fill:e,"stroke-width":0,cursor:"pointer"}),q.appendChild(k),b=b.circle(d-c,f,c).attr({fill:Ra,"stroke-width":0,cursor:"pointer"}).mouseover(function(){k.attr({fill:t})}).mouseout(function(){k.attr({fill:e})}).click(function(){a.nenagitePage(1)}),
q.appendChild(b))},nenagitePage:function(a){var b=this.plots,c=b.length;a=(this.currentSeriesIndex||0)+(a||0);var d,q=function(a){a.graphic&&a.graphic.hide();a.dataLabel&&a.dataLabel.hide();a.dataValue&&a.dataValue.hide();a.alternateRow&&a.alternateRow.hide();a.listRowDivider&&a.listRowDivider.hide()};if(b[a]){for(d=c;d--;)xa(b[d].items,q);xa(b[a].items,function(a){a.graphic&&a.graphic.show();a.dataLabel&&a.dataLabel.show();a.dataValue&&a.dataValue.show();a.alternateRow&&a.alternateRow.show();a.listRowDivider&&
a.listRowDivider.show()});this.currentSeriesIndex=a;qa.raiseEvent("pageNavigated",{pageId:a,data:this.options.series[a].data},this.logic.chartInstance);0===a?this.navElePrv.hide():this.navElePrv.show();a===c-1?this.navEleNxt.hide():this.navEleNxt.show()}}},n["renderer.root"]);Ma.prototype={getArcPath:function(a,b,c,d,q,e,t,h,f,r){return c==q&&d==e?[]:["A",t,h,0,r,f,q,e]},parseColor:function(a,b){var c,d,q,e,t,h,f,r,k,l,O=b/2,m,n,x,V,A;A=3;this.use3DLighting?(c=ia(a,80),d=ia(a,75),h=ha(a,85),f=ha(a,
70),r=ha(a,40),k=ha(a,50),ha(a,30),l=ha(a,65),ia(a,85),q=ia(a,69),e=ia(a,75),t=ia(a,95)):(A=10,c=ia(a,90),d=ia(a,87),h=ha(a,93),f=ha(a,87),r=ha(a,80),l=k=ha(a,85),ha(a,80),t=ia(a,85),q=ia(a,75),e=ia(a,80));m=d+ba+h+ba+f+ba+h+ba+d;x=b+ba+b+ba+b+ba+b+ba+b;n=d+ba+a+ba+h+ba+a+ba+d;V=O+ba+O+ba+O+ba+O+ba+O;r=d+ba+a+ba+r+ba+a+ba+d;q=e+ba+h+ba+k+ba+h+ba+q;e="FFFFFF"+ba+"FFFFFF"+ba+"FFFFFF"+ba+"FFFFFF"+ba+"FFFFFF";A=0+ba+O/A+ba+b/A+ba+O/A+ba+0;return{frontOuter:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,
y1:0,x2:this.rightX,y2:0,color:q,alpha:x,angle:0,ratio:"0,20,15,15,50"}},backOuter:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,y1:0,x2:this.rightX,y2:0,color:r,alpha:V,angle:0,ratio:"0,62,8,8,22"}},frontInner:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,y1:0,x2:this.rightInnerX,y2:0,color:n,alpha:V,angle:0,ratio:"0,25,5,5,65"}},backInner:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,y1:0,x2:this.rightInnerX,y2:0,color:m,alpha:x,angle:0,ratio:"0,62,8,8,22"}},
topBorder:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,y1:0,x2:this.rightX,y2:0,color:e,alpha:A,angle:0,ratio:"0,20,15,15,50"}},topInnerBorder:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,y1:0,x2:this.rightInnerX,y2:0,color:e,alpha:A,angle:0,ratio:"0,50,15,15,20"}},top:da?{FCcolor:{gradientUnits:"userSpaceOnUse",radialGradient:!0,cx:this.cx,cy:this.cy,r:this.rx,fx:this.cx-.3*this.rx,fy:this.cy+1.2*this.ry,color:l+ba+t,alpha:b+ba+b,ratio:"0,100"}}:{FCcolor:{gradientUnits:"objectBoundingBox",
color:f+ba+f+ba+h+ba+d,alpha:b+ba+b+ba+b+ba+b,angle:-72,ratio:"0,8,15,77"}},bottom:C(ja(a,O)),startSlice:C(ja(c,b)),endSlice:C(ja(c,b))}},rotate:function(a){if(!this.hasOnePoint){for(var b=this.pointElemStore,c=0,d=b.length,e;c<d;c+=1)e=b[c],e=e._confObject,e.start+=a,e.end+=a,this.updateSliceConf(e);this.refreshDrawing()}},refreshDrawing:function(){return function(){var a=this.slicingWallsArr,b=0,c,d=a.length,e,h,t,f,k=this.slicingWallsFrontGroup,r=this.slicingWallsBackGroup;a:{var O=a[0]&&a[0]._conf.index,
l,m;f=O<=y;e=1;for(c=a.length;e<c;e+=1)if(m=a[e]._conf.index,l=m<=y,l!=f||m<O)break a;e=0}for(;b<d;b+=1,e+=1)e===d&&(e=0),c=a[e],f=c._conf.index,f<Xa?k.appendChild(c):f<=y?(h?c.insertBefore(h):k.appendChild(c),h=c):f<Ea?(t?c.insertBefore(t):r.appendChild(c),t=c):r.appendChild(c)}}(),updateSliceConf:function(a,b){var c=this.getArcPath,d=a.start,e=a.end,h=fa(d),t=fa(e),f,k,r,T,l,m,n,g,x,u,A,v,P,B,w,s,N=this.cx,D=this.cy,H=this.rx,J=this.ry,G=H+(da?-1:2),Z=J+(da?-1:2),I=this.innerRx,Q=this.innerRy,S=
this.depth,R=this.depthY,$=a.elements,X,M,Y,E,F,K,z;f=O(h);k=V(h);r=O(t);T=V(t);l=N+H*f;m=D+J*k;n=N+G*f;g=D+Z*k;X=m+S;M=N+H*r;Y=D+J*T;x=N+G*r;u=D+Z*T;E=Y+S;this.isDoughnut?(A=N+I*f,v=D+Q*k,w=v+S,P=N+I*r,B=D+Q*T,s=B+S,a.startSlice=["M",l,m,"L",l,X,A,w,A,v,"Z"],a.endSlice=["M",M,Y,"L",M,E,P,s,P,B,"Z"]):(a.startSlice=["M",l,m,"L",l,X,N,R,N,D,"Z"],a.endSlice=["M",M,Y,"L",M,E,N,R,N,D,"Z"]);da?(c=(h>t?U:0)+t-h,a.clipTopPath=this.isDoughnut?["M",l,m,"A",H,J,0,c>y?1:0,1,M,Y,"L",P,B,"A",I,Q,0,c>y?1:0,0,A,
v,"Z"]:["M",l,m,"A",H,J,0,c>y?1:0,1,M,Y,"L",this.cx,this.cy,"Z"],a.clipOuterFrontPath1=this.clipPathforNoClip,a.clipTopBorderPath=["M",n,g,"A",G,Z,0,c>y?1:0,1,x,u,"L",M,Y,M,Y+1,"A",H,J,0,c>y?1:0,0,l,m+1,"L",l,m,"Z"],d!=e?h>t?h<y?(a.clipOuterFrontPath=["M",this.rightX,D,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,this.rightX,D+S,"Z"],a.clipOuterFrontPath1=["M",this.leftX,D,"A",H,J,0,0,0,l,m,"v",S,"A",H,J,0,0,1,this.leftX,D+S,"Z"],a.clipOuterBackPath=["M",this.rightX,D,"A",H,J,0,1,0,this.leftX,D,"v",S,"A",
H,J,0,1,1,this.rightX,D+S,"Z"],this.isDoughnut&&(a.clipInnerBackPath=["M",this.rightInnerX,D,"A",I,Q,0,1,0,this.leftInnerX,D,"v",S,"A",I,Q,0,1,1,this.rightInnerX,D+S,"Z"],a.clipInnerFrontPath=["M",this.rightInnerX,D,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,this.rightInnerX,D+S,"Z","M",this.leftInnerX,D,"A",I,Q,0,0,0,A,v,"v",S,"A",I,Q,0,0,1,this.leftInnerX,D+S,"Z"])):t>y?(a.clipOuterFrontPath=["M",this.rightX,D,"A",H,J,0,1,1,this.leftX,D,"v",S,"A",H,J,0,1,0,this.rightX,D+S,"Z"],a.clipOuterBackPath=["M",
this.leftX,D,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,this.leftX,D+S,"Z","M",this.rightX,D,"A",H,J,0,0,0,l,m,"v",S,"A",H,J,0,0,1,this.rightX,D+S,"Z"],this.isDoughnut&&(a.clipInnerFrontPath=["M",this.rightInnerX,D,"A",I,Q,0,1,1,this.leftInnerX,D,"v",S,"A",I,Q,0,1,0,this.rightInnerX,D+S,"Z"],a.clipInnerBackPath=["M",this.leftInnerX,D,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,this.leftInnerX,D+S,"Z","M",this.rightInnerX,D,"A",I,Q,0,0,0,A,v,"v",S,"A",I,Q,0,0,1,this.rightInnerX,D+S,"Z"])):(a.clipOuterFrontPath=
["M",this.rightX,D,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,this.rightX,D+S,"Z"],a.clipOuterBackPath=["M",l,m,"A",H,J,0,0,1,this.rightX,D,"v",S,"A",H,J,0,0,0,l,X,"Z"],this.isDoughnut&&(a.clipInnerFrontPath=["M",this.rightInnerX,D,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,this.rightInnerX,D+S,"Z"],a.clipInnerBackPath=["M",A,v,"A",I,Q,0,0,1,this.rightInnerX,D,"v",S,"A",I,Q,0,0,0,A,w,"Z"])):h<y?t>y?(a.clipOuterFrontPath=["M",l,m,"A",H,J,0,0,1,this.leftX,D,"v",S,"A",H,J,0,0,0,l,X,"Z"],a.clipOuterBackPath=["M",
this.leftX,D,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,this.leftX,D+S,"Z"],this.isDoughnut&&(a.clipInnerFrontPath=["M",A,v,"A",I,Q,0,0,1,this.leftInnerX,D,"v",S,"A",I,Q,0,0,0,A,w,"Z"],a.clipInnerBackPath=["M",this.leftInnerX,D,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,this.leftInnerX,D+S,"Z"])):(a.clipOuterFrontPath=["M",l,m,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,l,X,"Z"],a.clipOuterBackPath=this.clipPathforNoClip,this.isDoughnut&&(a.clipInnerFrontPath=["M",A,v,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,A,w,"Z"],
a.clipInnerBackPath=this.clipPathforNoClip)):(a.clipOuterFrontPath=this.clipPathforNoClip,a.clipOuterBackPath=["M",l,m,"A",H,J,0,0,1,M,Y,"v",S,"A",H,J,0,0,0,l,X,"Z"],this.isDoughnut&&(a.clipInnerFrontPath=this.clipPathforNoClip,a.clipInnerBackPath=["M",A,v,"A",I,Q,0,0,1,P,B,"v",S,"A",I,Q,0,0,0,A,w,"Z"])):a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=this.clipPathforNoClip,b||(a.elements.startSlice._conf.index=h,a.elements.endSlice._conf.index=t,a.elements.frontOuter._conf.index=
La(t,h),a.elements.frontOuter1&&(a.elements.frontOuter1._conf.index=h,a.elements.frontOuter1.attr("litepath",[a.clipOuterFrontPath1])),a.thisElement.attr("litepath",[a.clipTopPath]),a.elements.bottom.attr("litepath",[a.clipTopPath]),a.elements.bottomBorder.attr("litepath",[a.clipTopPath]),a.elements.topBorder&&a.elements.topBorder.attr("litepath",[a.clipTopBorderPath]),a.elements.frontOuter.attr("litepath",[a.clipOuterFrontPath]),a.elements.backOuter.attr("litepath",[a.clipOuterBackPath]),this.isDoughnut&&
(a.elements.backInner.attr("litepath",[a.clipInnerBackPath]),a.elements.frontInner.attr("litepath",[a.clipInnerFrontPath]),a.elements.backInner._conf.index=La(t,h)),this.hasOnePoint?(a.elements.startSlice.hide(),a.elements.endSlice.hide()):(a.elements.startSlice.attr("litepath",[a.startSlice]).show(),a.elements.endSlice.attr("litepath",[a.endSlice]).show()))):(n=this.moveCmdArr,g=this.lineCmdArr,x=this.closeCmdArr,F=this.centerPoint,u=this.leftPoint,G=this.topPoint,Z=this.rightPoint,S=this.bottomPoint,
K=this.leftDepthPoint,z=this.rightDepthPoint,f=this.leftInnerPoint,k=this.rightInnerPoint,r=this.leftInnerDepthPoint,T=this.rightInnerDepthPoint,a.clipOuterFrontPath1=[],d!=e?(h>t?h<y?(d=c(N,D,l,m,this.leftX,D,H,J,1,0),e=c(N,D,this.leftX,D,this.rightX,D,H,J,1,0),Y=c(N,D,this.rightX,D,M,Y,H,J,1,0),a.clipOuterBackPath=n.concat(u,e,g,z,c(N,R,this.rightX,R,this.leftX,R,H,J,0,0),x),a.clipOuterFrontPath1=n.concat([l,m],d,g,K,c(N,R,this.leftX,R,l,X,H,J,0,0),x),a.clipOuterFrontPath=n.concat(Z,Y,g,[M,E],c(N,
R,M,E,this.rightX,R,H,J,0,0),x),a.clipTopBorderPath=n.concat([l,m],d,e,Y),this.isDoughnut?(l=c(N,D,P,B,this.rightInnerX,D,I,Q,0,0),m=c(N,D,this.rightInnerX,D,this.leftInnerX,D,I,Q,0,0),v=c(N,D,this.leftInnerX,D,A,v,I,Q,0,0),a.clipInnerBackPath=n.concat(k,m,g,r,c(N,R,this.leftInnerX,R,this.rightInnerX,R,I,Q,1,0),x),a.clipInnerFrontPath=n.concat(f,v,g,[A,w],c(N,R,A,w,this.leftInnerX,R,I,Q,1,0),x,n,[P,B],l,g,T,c(N,R,this.rightInnerX,R,P,s,I,Q,1,0),x),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],
l,m,v,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(n,[P,B],l,m,v)):a.clipTopPath=a.clipTopBorderPath.concat(g,F,x)):t>y?(d=c(N,D,l,m,this.rightX,D,H,J,1,0),e=c(N,D,this.rightX,D,this.leftX,D,H,J,1,0),Y=c(N,D,this.leftX,D,M,Y,H,J,1,0),a.clipOuterFrontPath=n.concat(Z,e,g,K,c(N,R,this.leftX,R,this.rightX,R,H,J,0,0),x),a.clipOuterBackPath=n.concat([l,m],d,g,z,c(N,R,this.rightX,R,l,X,H,J,0,0),x,n,u,Y,g,[M,E],c(N,R,M,E,this.leftX,R,H,J,0,0),x),a.clipTopBorderPath=n.concat([l,m],d,e,Y),this.isDoughnut?
(l=c(N,D,P,B,this.leftInnerX,D,I,Q,0,0),m=c(N,D,this.leftInnerX,D,this.rightInnerX,D,I,Q,0,0),v=c(N,D,this.rightInnerX,D,A,v,I,Q,0,0),a.clipInnerFrontPath=n.concat(f,m,g,T,c(N,R,this.rightInnerX,R,this.leftInnerX,R,I,Q,1,0),x),a.clipInnerBackPath=n.concat(k,v,g,[A,w],c(N,R,A,w,this.rightInnerX,R,I,Q,1,0),x,n,[P,B],l,g,r,c(N,R,this.leftInnerX,R,P,s,I,Q,1,0),x),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],l,m,v,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(n,[P,B],l,m,v)):a.clipTopPath=a.clipTopBorderPath.concat(g,
F,x)):(d=c(N,D,l,m,this.rightX,D,H,J,1,0),e=c(N,D,this.rightX,D,M,Y,H,J,1,0),a.clipOuterFrontPath=n.concat(Z,e,g,[M,E],c(N,R,M,E,this.rightX,R,H,J,0,0),x),a.clipOuterBackPath=n.concat([l,m],d,g,z,c(N,R,this.rightX,R,l,X,H,J,0,0),x),a.clipTopBorderPath=n.concat([l,m],d,e),this.isDoughnut?(l=c(N,D,P,B,this.rightInnerX,D,I,Q,0,0),m=c(N,D,this.rightInnerX,D,A,v,I,Q,0,0),a.clipInnerFrontPath=n.concat([P,B],l,g,T,c(N,R,this.rightInnerX,R,P,s,I,Q,1,0),x),a.clipInnerBackPath=n.concat(k,m,g,[A,w],c(N,R,A,
w,this.rightInnerX,R,I,Q,1,0),x),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],l,m,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(n,[P,B],l,m)):a.clipTopPath=a.clipTopBorderPath.concat(g,F,x)):h<y?t>y?(d=c(N,D,l,m,this.leftX,D,H,J,1,0),e=c(N,D,this.leftX,D,M,Y,H,J,1,0),a.clipOuterBackPath=n.concat(u,e,g,[M,E],c(N,R,M,E,this.leftX,R,H,J,0,0),x),a.clipOuterFrontPath=n.concat([l,m],d,g,K,c(N,R,this.leftX,R,l,X,H,J,0,0),x),a.clipTopBorderPath=n.concat([l,m],d,e),this.isDoughnut?(l=c(N,D,P,B,this.leftInnerX,
D,I,Q,0,0),m=c(N,D,this.leftInnerX,D,A,v,I,Q,0,0),a.clipInnerBackPath=n.concat([P,B],l,g,r,c(N,R,this.leftInnerX,R,P,s,I,Q,1,0),x),a.clipInnerFrontPath=n.concat(f,m,g,[A,w],c(N,R,A,w,this.leftInnerX,R,I,Q,1,0),x),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],l,m,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(n,[P,B],l,m)):a.clipTopPath=a.clipTopBorderPath.concat(g,F,x)):(d=c(N,D,l,m,M,Y,H,J,1,0),a.clipOuterBackPath=n.concat([l,m]),a.clipTopBorderPath=a.clipOuterBackPath.concat(d),a.clipOuterFrontPath=
a.clipTopBorderPath.concat(g,[M,E],c(N,R,M,E,l,X,H,J,0,0),x),this.isDoughnut?(l=c(N,D,P,B,A,v,I,Q,0,0),a.clipInnerBackPath=n.concat([P,B]),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],l,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(n,[P,B],l),a.clipInnerFrontPath=a.clipInnerBackPath.concat(l,g,[A,w],c(N,R,A,w,P,s,I,Q,1,0),x)):a.clipTopPath=a.clipTopBorderPath.concat(g,F,x)):(d=c(N,D,l,m,M,Y,H,J,1,0),a.clipOuterFrontPath=n.concat([l,m]),a.clipTopBorderPath=a.clipOuterFrontPath.concat(d),a.clipOuterBackPath=
a.clipTopBorderPath.concat(g,[M,E],c(N,R,M,E,l,X,H,J,0,0),x),this.isDoughnut?(l=c(N,D,P,B,A,v,I,Q,0,0),a.clipInnerFrontPath=n.concat([P,B]),a.clipTopPath=a.clipTopBorderPath.concat(g,[P,B],l,x),a.clipTopBorderPath=a.clipTopBorderPath.concat(a.clipInnerFrontPath,l),a.clipInnerBackPath=a.clipInnerFrontPath.concat(l,g,[A,w],c(N,R,A,w,P,s,I,Q,1,0),x)):a.clipTopPath=a.clipTopBorderPath.concat(g,F,x)),d=n.concat(u,g,Z),l=n.concat(G,g,S),a.clipTopPath=a.clipTopPath.concat(d,l),a.clipOuterFrontPath=a.clipOuterFrontPath.concat(d),
a.clipOuterFrontPath1=a.clipOuterFrontPath1.concat(d),a.clipOuterBackPath=a.clipOuterBackPath.concat(d),this.isDoughnut&&(l=n.concat(f,g,k),a.clipInnerFrontPath=a.clipInnerFrontPath.concat(l),a.clipInnerBackPath=a.clipInnerBackPath.concat(l))):(a.clipTopPath=a.clipOuterFrontPath=a.clipOuterBackPath=[],this.isDoughnut&&(a.clipInnerFrontPath=a.clipInnerBackPath=[])),b||(a.elements.startSlice._conf.index=h,a.elements.endSlice._conf.index=t,a.elements.frontOuter._conf.index=La(t,h),a.elements.frontOuter1&&
(a.elements.frontOuter1._conf.index=h,$.frontOuter1.attr({path:a.clipOuterFrontPath1})),a.thisElement.attr({path:a.clipTopPath}),$.topBorder.attr({path:a.clipTopBorderPath}),$.bottom.attr({path:a.clipTopPath}),$.bottomBorder.attr({path:a.clipTopBorderPath}),$.frontOuter.attr({path:a.clipOuterFrontPath}),$.backOuter.attr({path:a.clipOuterBackPath}),this.isDoughnut&&($.frontInner.attr({path:a.clipInnerFrontPath}),$.backInner.attr({path:a.clipInnerBackPath})),this.hasOnePoint?(a.elements.startSlice.hide(),
a.elements.endSlice.hide()):(a.elements.startSlice.attr({path:a.startSlice}).show(),a.elements.endSlice.attr({path:a.endSlice}).show())))},onPlotHover:function(a,b){var c=this.pointElemStore[a]._confObject,d=c.thisElement,e=c.elements,h=this.colorObjs[a],t=h.hoverProps,f=b?t.hoverColorObj:h.color,k=h.showBorderEffect,r=b?t.borderColor:h.borderColor,h=b?t.borderWidth:h.borderWidth;da?(t={fill:C(f.top),"stroke-width":0},1!==k&&(t.stroke=r,t["stroke-width"]=h),d._attr(t),k&&e.topBorder.attr({fill:C(f.topBorder),
"stroke-width":0})):(d._attr({fill:C(f.top),"stroke-width":0}),e.topBorder.attr({stroke:r,"stroke-width":h}));e.bottom.attr({fill:C(f.bottom),"stroke-width":0});e.bottomBorder.attr({stroke:r,"stroke-width":h});e.frontOuter.attr({fill:C(f.frontOuter),"stroke-width":0});e.backOuter.attr({fill:C(f.backOuter),"stroke-width":0});e.startSlice.attr({fill:C(f.startSlice),stroke:r,"stroke-width":h});e.endSlice.attr({fill:C(f.endSlice),stroke:r,"stroke-width":h});d=fa(c.start);c=fa(c.end);(d>c?U:0)+c-d>y&&
e.frontOuter1.attr({fill:C(f.frontOuter),"stroke-width":0});this.isDoughnut&&(e.frontInner.attr({fill:C(f.frontInner),"stroke-width":0}),e.backInner.attr({fill:C(f.backInner),"stroke-width":0}))},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,transform:!0,fill:!0,opacity:!0,ishot:!0,start:!0,end:!0,cursor:!0},b=function(b,c){var d,e,p=this,h=p._confObject,q,f=h.elements,k,m,n=h.Pie3DManager;
"string"===typeof b&&void 0!==c&&null!==c&&(d=b,b={},b[d]=c);if(b&&"string"!==typeof b){void 0!==b.cx&&(b.start=b.cx);void 0!==b.cy&&(b.end=b.cy);for(d in b)if(e=b[d],a[d])if(h[d]=e,"ishot"===d||"cursor"===d){q={};q[d]=e;for(k in f)f[k].attr(q);p._attr(q)}else if("transform"===d){for(k in f)f[k].attr({transform:b[d]});p._attr({transform:b[d]})}else"stroke"===d||"strokeWidth"===d||"stroke-width"===d||"dashstyle"===d||"stroke-dasharray"===d?(q={},q[d]=e,f.topBorder&&f.topBorder.attr(q),f.startSlice.attr(q),
f.endSlice.attr(q),f.bottomBorder.attr(q)):"fill"===d||"start"!==d&&"end"!==d||(m=!0);else p._attr(d,e);m&&(n.updateSliceConf(h),n.refreshDrawing())}else p=p._attr(b);return p},c=function(a,b,c,d){var e=this._confObject.elements,p;for(p in e)if(c)e[p].drag(b,c,d);else e[p].on(a,b);return c?this.drag(b,c,d):this._on(a,b)},d=function(){var a=this._confObject.elements,b;for(b in a)a[b].hide();return this._hide()},e=function(){var a=this._confObject.elements,b;for(b in a)a[b].show();return this._show()},
h=function(){var a=this._confObject,b=a.elements,c;for(c in b)b[c].destroy();da&&(a.clipTop.destroy(),a.clipOuterFront.destroy(),a.clipOuterBack.destroy(),a.clipOuterFront1&&a.clipOuterFront1.destroy(),a.clipInnerFront&&a.clipInnerFront.destroy(),a.clipInnerBack&&a.clipInnerBack.destroy());return this._destroy()};return function(a,f,k,r,m,l,n,g,O,x){var V=this.renderer;k=this.parseColor(k,r);a={start:a,end:f,elements:{},Pie3DManager:this};f=this.slicingWallsArr;r=a.elements;var A,v=da?"litepath":
"path";x&&(this.colorObjs[n]={color:k,borderColor:m,borderWidth:l,showBorderEffect:!1},x.hoverColorObj=this.parseColor(x.color,x.alpha),this.colorObjs[n].hoverProps=x);this.updateSliceConf(a,!0);da?(x={fill:C(k.top),"stroke-width":0},1!==O&&(x.stroke=m,x["stroke-width"]=l),x=V[v](a.clipTopPath,this.topGroup).attr(x),O&&(r.topBorder=V[v](a.clipTopBorderPath,this.topGroup).attr({fill:C(k.topBorder),"stroke-width":0}))):(x=V[v](a.clipTopPath,this.topGroup).attr({fill:C(k.top),"stroke-width":0}),r.topBorder=
V[v](a.clipTopBorderPath,this.topGroup).attr({stroke:m,"stroke-width":l}));r.bottom=V[v](a.clipTopPath,this.bottomBorderGroup).attr({fill:C(k.bottom),"stroke-width":0});r.bottomBorder=V[v](da?a.clipTopPath:a.clipTopBorderPath,this.bottomBorderGroup).attr({stroke:m,"stroke-width":l});r.frontOuter=V[v](a.clipOuterFrontPath,this.slicingWallsFrontGroup).attr({fill:C(k.frontOuter),"stroke-width":0});r.backOuter=V[v](a.clipOuterBackPath,this.outerBackGroup).attr({fill:C(k.backOuter),"stroke-width":0});
r.startSlice=V[v](a.startSlice,this.slicingWallsFrontGroup).attr({fill:C(k.startSlice),stroke:m,"stroke-width":l});r.endSlice=V[v](a.endSlice,this.slicingWallsFrontGroup).attr({fill:C(k.endSlice),stroke:m,"stroke-width":l});m=fa(a.start);l=fa(a.end);O=(m>l?U:0)+l-m;O>y&&(r.frontOuter1=V[v](a.clipOuterFrontPath1,this.slicingWallsFrontGroup).attr({fill:C(k.frontOuter),"stroke-width":0}),r.frontOuter1._conf={index:m,isStart:.5,pIndex:n},da&&(a.clipOuterFront1=a.clipOuterFrontPath1));r.frontOuter._conf=
{index:La(l,m),isStart:.5,pIndex:n};r.startSlice._conf={index:m,isStart:0,pIndex:n};r.endSlice._conf={index:l,isStart:1,pIndex:n};this.hasOnePoint&&(r.startSlice.hide(),r.endSlice.hide());this.isDoughnut?(r.frontInner=V[v](a.clipInnerFrontPath,this.innerFrontGroup).attr({fill:C(k.frontInner),"stroke-width":0}),r.backInner=V[v](a.clipInnerBackPath,this.innerBackGroup).attr({fill:C(k.backInner),"stroke-width":0}),r.backInner._conf={index:La(l,m),isStart:.5,pIndex:n},O>y?da?f.push(r.startSlice,r.frontOuter1,
r.frontOuter,r.backInner,r.endSlice):f.push(r.startSlice,r.frontOuter1,r.frontOuter,r.endSlice):da?f.push(r.startSlice,r.frontOuter,r.backInner,r.endSlice):f.push(r.startSlice,r.frontOuter,r.endSlice)):O>y?f.push(r.startSlice,r.frontOuter1,r.frontOuter,r.endSlice):f.push(r.startSlice,r.frontOuter,r.endSlice);if(void 0!==g){for(A in r)r[A].tooltip(g);x.tooltip(g)}da&&(a.clipTop=a.clipTopPath,a.clipOuterFront=a.clipOuterFrontPath,a.clipOuterBack=a.clipOuterBackPath,this.isDoughnut&&(a.clipInnerFront=
a.clipInnerFrontPath,a.clipInnerBack=a.clipInnerBackPath));x._confObject=a;a.thisElement=x;x._destroy=x.destroy;x.destroy=h;x._show=x.show;x.show=e;x._hide=x.hide;x.hide=d;x._on=x.on;x.on=c;x._attr=x.attr;x.attr=b;this.pointElemStore.push(x);return x}}()};Ma.prototype.constructor=Ma;n("renderer.pie3d",{type:"pie3d",isHovered:!1,translate:function(){var a=0,b=this.options,c=b.series[0],d=b.plotOptions.series.dataLabels,e=b.plotOptions.pie3d,h=g(c.startAngle,0)%360,m=c.managedPieSliceDepth,n=c.slicedOffset=
e.slicedOffset,y=this.canvasWidth,r=this.canvasHeight,T=[this.canvasLeft+.5*y,this.canvasTop+.5*r-.5*m],l,w,s,G,x,b=c.data,X,A=Z(y,r),$,P,B,z=d.distance,W=c.pieYScale,N=c.pieSliceDepth,D=c.slicedOffsetY=n*W;T.push(e.size,e.innerSize||0);T=na(T,function(a,b){return($=/%$/.test(a))?[y,r-m,A,A][b]*parseInt(a,10)/100:a});T[2]/=2;T[3]/=2;T.push(T[2]*W);T.push((T[2]+T[3])/2);T.push(T[5]*W);c.getX=function(a,b){s=f.asin((a-T[1])/(T[2]+z));return T[0]+(b?-1:1)*O(s)*(T[2]+z)};c.center=T;xa(b,function(b){a+=
b.y});c.labelsRadius=T[2]+z;c.labelsRadiusY=c.labelsRadius*W;c.quadrantHeight=(r-m)/2;c.quadrantWidth=y/2;G=-h*pa;G=v(1E3*G)/1E3;x=G+U;e=k(parseInt(d.style.fontSize,10),10)+4;c.maxLabels=u(c.quadrantHeight/e);c.labelFontSize=e;c.connectorPadding=k(d.connectorPadding,5);c.isSmartLineSlanted=g(d.isSmartLineSlanted,!0);c.connectorWidth=k(d.connectorWidth,1);c.enableSmartLabels=d.enableSmartLabels;c.Pie3DManager||(c.Pie3DManager=new Ma(T[0],T[1],T[2],T[3],W,N,this.layers.dataset,this.paper,1===c.data.length,
c.use3DLighting));xa(b,function(b){l=G;X=a?b.y/a:0;G=v(1E3*(G+X*U))/1E3;G>x&&(G=x);w=G;b.shapeArgs={start:v(1E3*l)/1E3,end:v(1E3*w)/1E3};b.centerAngle=s=(w+l)/2%U;b.slicedTranslation=[v(O(s)*n),v(V(s)*D)];P=O(s)*T[2];c.radiusY=B=V(s)*T[4];b.tooltipPos=[T[0]+.7*P,T[1]+B];b.percentage=100*X;b.total=a})},drawPlotPie3d:function(a,b){this.translate();var c=this,d=a.items,e=a.data,h=c.options,f=h.plotOptions,m=f.series,n=c.layers,r=c.elements.plots[0],g=c.datasets[0],f=f.series.dataLabels,l=m.dataLabels.style,
m=k(a.moveDuration,m.animation.duration),v=c.paper,y=h.tooltip||{},y=y&&!1!==y.enabled,u=g.slicedOffset,x=g.slicedOffsetY,w=c.plotGraphicClick,A=c.plotDragMove,s=c.plotDragStart,G=c.plotDragEnd,B=c.plotMouseDown,X=c.plotMouseUp,$=c.plotRollOver,N=c.plotRollOut,D=!!c.datasets[0].enableRotation,H=b.showBorderEffect,J=e.length,h=h.chart.usePerPointLabelColor,Z={fontFamily:l.fontFamily,fontSize:l.fontSize,lineHeight:l.lineHeight,fontWeight:l.fontWeight,fontStyle:l.fontStyle},U=function(a){return function(){c.legendClick(a,
!0,!1)}},I=function(a){return function(){return c.getEventArgs(a)}},Q=function(a){return function(b,c,d,e,p){A.call(a,b,c,d,e,p)}},S=function(a){return function(b,c,d){s.call(a,b,c,d)}},R=function(a){return function(){G.call(a)}},z=function(a){return function(){B.call(a)}},W=function(a){return function(b){X.call(a,b)}},M=function(a){return function(b){N.call(a,b)}},Y=function(a){return function(b){$.call(a,b)}},E,F,K,pa,oa,ba,aa,L,ia,ca;e&&J||(e=[]);r.singletonCase=1===J;r.chartPosition=Aa(c.container);
r.pieCenter=g.center;r.timerThreshold=30;for(ca=-1;++ca<J;)K=e[ca],l=K.y,pa=K.displayValue,Z=K.sliced,L=K.shapeArgs,E=K.centerAngle,ia=K.toolText,ba=(oa=!!K.link)||D||!K.doNotSlice,null===l||void 0===l||(F=d[ca])||(b.data[ca].plot=F=d[ca]={chart:c,index:ca,seriesData:r,value:l,angle:E,link:K.link,shapeArgs:L,slicedX:Z&&!r.singletonCase?O(E)*u:0,slicedY:Z&&!r.singletonCase?V(E)*x:0,sliced:Z,labelText:pa,name:K.name,label:K.name,percentage:K.percentage,toolText:ia,originalIndex:J-ca-1,style:K.style,
graphic:g.Pie3DManager.createSlice(L.start,L.end,K.color,K._3dAlpha,K.borderColor,K.borderWidth,ca,y?ia:"",H,K.rolloverProperties)},b.data[ca].legendClick=U(F),b.data[ca].getEventArgs=I(F),F.graphic.plotItem=F,F.graphic.data("plotItem",F),F.transX=O(E)*u,F.transY=V(E)*x,F.slicedTranslation="t"+F.transX+","+F.transY,E={index:b.reversePlotOrder?ca:J-1-ca,link:K.link,value:K.y,displayValue:K.displayValue,categoryLabel:K.categoryLabel,isSliced:K.sliced,toolText:K.toolText},F.graphic.attr({transform:"t"+
F.slicedX+","+F.slicedY,ishot:ba,cursor:oa?"pointer":""}).click(w).drag(Q(F),S(F),R(F)).mousedown(z(F.graphic)).mouseup(W(F.graphic)).data("groupId",ca).data("eventArgs",E).mouseover(Y(F)).mouseout(M(F)),void 0!==pa&&(l=K.style,Z={fontFamily:l.fontFamily,fontSize:l.fontSize,lineHeight:l.lineHeight,fontWeight:l.fontWeight,fontStyle:l.fontStyle},F.dataLabel=v.text(n.dataset).css(Z).attr({text:pa,title:K.originalText||"",fill:(h?C(K.color):l.color)||"#000000","text-bound":[l.backgroundColor,l.borderColor,
l.borderThickness,l.borderPadding,l.borderRadius,l.borderDash],visibility:"hidden",ishot:ba,cursor:oa?"pointer":""}).data("eventArgs",E).hover(Y(F),M(F)).click(w).mousedown(B,F.dataLabel).mouseup(X,F.dataLabel).data("plotItem",F),0<f.distance&&(aa=f.connectorWidth)&&f.enableSmartLabels&&(F.connector=v.path("M 0 0 l 0 0",n.dataset).attr({"stroke-width":aa,stroke:f.connectorColor||"#606060",visibility:"hidden",ishot:ba,cursor:oa?"pointer":""}).data("eventArgs",E).click(w).hover(Y(F),M(F)).mousedown(B,
F.connector).mouseup(X,F.connector).data("plotItem",F))));g.Pie3DManager.refreshDrawing();0<m?c.animate(d,m):c.placeDataLabels(!1,d)},rotate:function(a){var b=this.datasets[0],c=this.elements.plots[0].items,d=b.slicedOffset,e=b.slicedOffsetY,h=b.startAngle,f;a=isNaN(a)?-b._lastAngle:a;f=(a-h)%360;b.startAngle=k(a,b.startAngle)%360;f=-(f*w)/180;b.Pie3DManager&&b.Pie3DManager.rotate(f);xa(c,function(a){var b=a.graphic,c=a.shapeArgs,p=c.start+=f,c=c.end+=f,h=a.angle=fa((p+c)/2),p=a.sliced,c=O(h),h=V(h);
a.slicedTranslation=[v(c*d),v(h*e)];a.transX=a.slicedTranslation[0];a.transY=a.slicedTranslation[1];a.slicedX=p?O(f)*d:0;a.slicedY=p?V(f)*e:0;b&&p&&a.graphic.attr({transform:"t"+a.slicedTranslation[0]+","+a.slicedTranslation[1]})});this.placeDataLabels(!0,c)},plotRollOver:function(a){var b=this.chart,c=b.datasets[0].Pie3DManager;this.seriesData.isRotating||(sa.call(this.graphic,b,a,"DataPlotRollOver"),c.colorObjs[this.index]&&c.onPlotHover(this.index,!0));b.isHovered=!0},plotRollOut:function(a){var b=
this.chart,c=b.datasets[0].Pie3DManager;this.seriesData.isRotating||(sa.call(this.graphic,b,a,"DataPlotRollOut"),c.colorObjs[this.index]&&c.onPlotHover(this.index,!1));b.isHovered=!1},plotDragStart:function(a,b,c){var d=this.seriesData,e=this.chart.datasets[0];e.enableRotation&&(a=Oa.call(c,a,b,d.pieCenter,d.chartPosition,e.pieYScale),e.dragStartAngle=a,e._lastAngle=-e.startAngle,e.startingAngleOnDragStart=e.startAngle)},plotDragEnd:function(){var a=this.chart,b=a.datasets[0],c=b.Pie3DManager,d=b.startAngle,
e=this.seriesData,h={hcJSON:{series:[{startAngle:d}]}};a.disposed||ua(a.logic.chartInstance.jsVars._reflowData,h,!0);e.isRotating&&(setTimeout(function(){e.isRotating=!1},0),qa.raiseEvent("rotationEnd",{startingAngle:fa(d,!0),changeInAngle:d-b.startingAngleOnDragStart},a.logic.chartInstance),!a.isHovered&&c.colorObjs[this.index]&&c.onPlotHover(this.index,!1))},plotDragMove:function(a,b,c,d,e){var h=this.chart;a=h.datasets[0];b=this.seriesData;h.options.series[0].enableRotation&&!b.singletonCase&&
(b.isRotating||(b.isRotating=!0,qa.raiseEvent("rotationStart",{startingAngle:fa(a.startAngle,!0)},h.logic.chartInstance)),c=Oa.call(e,c,d,b.pieCenter,b.chartPosition,a.pieYScale),d=c-a.dragStartAngle,a.dragStartAngle=c,b.moveDuration=0,a._lastAngle+=180*d/w,c=(new Date).getTime(),!a._lastTime||a._lastTime+b.timerThreshold<c)&&(a._lastTime||h.rotate(),b.timerId=setTimeout(function(){h.disposed&&h.disposing||h.rotate()},b.timerThreshold),a._lastTime=c)},animate:function(a,b){var c,d,e,h=a.length,f,
m,k,n=this,g,l=function(){n.disposed||n.disposing||n.placeDataLabels(!1,a)};if(n.datasets[0].alphaAnimation)n.layers.dataset.attr({opacity:0}),n.layers.dataset.animate({opacity:1},b,"ease-in",function(){n.disposed||n.disposing||n.placeDataLabels(!1,a)});else for(c=0;c<h;c++)f=a[c],m=f.graphic,k=f.shapeArgs,f=2*w,m&&(m.attr({start:f,end:f}),g=k.start,k=k.end,d?m.animateWith(d,e,{cx:g-f,cy:k-f},b,"ease-in"):(e=la.animation({cx:g-f,cy:k-f},b,"ease-in",l),d=m.animate(e)))},placeDataLabels:function(){var a=
function(a,b){return a.point.value-b.point.value},b=function(a,b){return a.angle-b.angle},c=["start","start","end","end"],d=[-1,1,1,-1],e=[1,1,-1,-1];return function(n,g){var u=this.datasets[0],w=this.smartLabel,r=this.options.plotOptions.series.dataLabels,s=r.style,l=k(G(parseFloat(s.lineHeight)),12),$=Ga(r.placeInside,!1),z=r.skipOverlapLabels,W=r.manageLabelOverflow,x=r.connectorPadding,pa=r.connectorWidth,A,C,P=0<r.distance,B=u.center,oa=B[1],ca=B[0],N=B[2],D=B[4],H=[[],[],[],[]],J,ba,ga,I=this.canvasLeft,
Q=this.canvasTop,S=this.canvasWidth,R,aa,L,M,Y,E,F,K,ia,ja,ha,fa=u.labelsRadius,la=v(100*u.labelsRadiusY)/100,ma=u.labelFontSize,ka=ma,da=ka/2,x=[x,x,-x,-x],qa=u.maxLabels,na=u.isSmartLineSlanted,Ja=u.enableSmartLabels,za,u=u.pieSliceDepth/2;n||w.setStyle(s);if(1==g.length)M=g[0],za=M.dataLabel,M.slicedTranslation=[I,Q],za&&(za.attr({visibility:h,"text-anchor":"middle",x:ca,y:oa+da-2}),za.x=ca);else if($)xa(g,function(a){if(za=a.dataLabel){ha=a.angle;ja=oa+B[6]*V(ha)+da-2;F=ca+B[5]*O(ha);za.x=F;za._x=
F;za.y=ja;if(a.sliced){a=a.slicedTranslation;var b=a[1]-Q;F+=a[0]-I;ja+=b}za.attr({visibility:h,align:"middle",x:F,y:ja})}});else{xa(g,function(a){if(za=a.dataLabel)ha=a.angle,0>ha&&(ha=U+ha),J=0<=ha&&ha<Xa?1:ha<y?2:ha<Ea?3:0,H[J].push({point:a,angle:ha})});for(ga=$=4;ga--;){if(z&&(M=H[ga].length-qa,0<M))for(H[ga].sort(a),ba=H[ga].splice(0,M),aa=0,L=ba.length;aa<L;aa+=1)M=ba[aa].point,M.dataLabel.attr({visibility:"hidden"}),M.connector&&M.connector.attr({visibility:"hidden"});H[ga].sort(b)}ga=m(H[0].length,
H[1].length,H[2].length,H[3].length);la=m(Z(ga,qa)*ka,la+ka);H[1].reverse();H[3].reverse();for(w.setStyle(s);$--;){aa=H[$];L=aa.length;z||(ka=L>qa?la/L:ma,da=ka/2);M=L*ka;s=la;for(ga=0;ga<L;ga+=1,M-=ka)C=X(la*V(aa[ga].angle)),s<C?C=s:C<M&&(C=M),s=(aa[ga].oriY=C)-ka;ba=c[$];L=la-(L-1)*ka;s=0;for(ga=aa.length-1;0<=ga;ga-=1,L+=ka)M=aa[ga].point,ha=aa[ga].angle,Y=M.sliced,za=M.dataLabel,C=X(la*V(ha)),C<s?C=s:C>L&&(C=L),s=C+ka,K=(C+aa[ga].oriY)/2,C=ca+e[$]*fa*O(f.asin(K/la)),K*=d[$],K+=oa,ia=oa+D*V(ha),
E=ca+N*O(ha),(2>$&&C<E||1<$&&C>E)&&(C=E),F=C+x[$],ja=K+da-2,A=F+x[$],za.x=A,za._x=A,W&&(R=1<$?A-this.canvasLeft:this.canvasLeft+S-A,w.setStyle(M.style),l=k(G(parseFloat(M.style.lineHeight)),12)+2*G(parseFloat(M.style.border),12),l=w.getSmartText(M.labelText,R,l),za.attr({text:l.text,title:l.tooltext||""})),ha<y&&(K+=u,ia+=u,ja+=u),za.y=ja,Y&&(l=M.transX,Y=M.transY,F+=l,C+=l,E+=l,ia+=Y,A+=l),za.attr({visibility:h,"text-anchor":ba,x:A,y:K}),P&&pa&&Ja&&(A=M.connector,M.connectorPath=C=["M",E,ia,"L",
na?C:E,K,F,K],A?(A.attr({path:C}),A.attr("visibility",h)):M.connector=A=this.paper.path(C).attr({"stroke-width":pa,stroke:r.connectorColor||"#606060",visibility:h}))}}}}()},n["renderer.piebase"]);n("renderer.pie",{drawDoughnutCenterLabel:function(a,b,c,d,e,f,k){var m=this.options.series[0];f=f||m.lastCenterLabelConfig;var n=this.paper,g=this.smartLabel,O=this.layers.dataset,l=this.elements,V=f.padding,y=2*f.textPadding,v={fontFamily:f.font,fontSize:f.fontSize+"px",lineHeight:1.2*f.fontSize+"px",fontWeight:f.bold?
"bold":"",fontStyle:f.italic?"italic":""},x=1.414*(.5*d-V)-y;e=1.414*(.5*e-V)-y;var u;g.setStyle(v);g=g.getSmartText(a,x,e);(e=l.doughnutCenterLabel)?(e.attr("text")!==a&&this.centerLabelChange(a),u=l.centerLabelOvalBg):(f.bgOval&&(l.centerLabelOvalBg=u=n.circle(b,c,.5*d-V,O)),e=l.doughnutCenterLabel=n.text(O).hover(this.centerLabelRollover,this.centerLabelRollout).click(this.centerLabelClick),e.chart=this);a?(e.css(v).attr({x:b,y:c,text:g.text,visibility:h,title:f.toolText?"":g.tooltext||"",fill:C({FCcolor:{color:f.color,
alpha:f.alpha}}),"text-bound":f.bgOval?"none":[C({FCcolor:{color:f.bgColor,alpha:f.bgAlpha}}),C({FCcolor:{color:f.borderColor,alpha:f.borderAlpha}}),f.borderThickness,f.textPadding,f.borderRadius]}).tooltip(f.toolText),f.bgOval&&u&&u.attr({visibility:h,fill:Za(f.bgColor),"fill-opacity":f.bgAlpha/100,stroke:Za(f.borderColor),"stroke-width":f.borderThickness,"stroke-opacity":f.borderAlpha/100})):(e.attr("visibility","hidden"),u&&u.attr("visibility","hidden"));k&&(m.lastCenterLabelConfig=f)},centerLabelRollover:function(){var a=
this.chart,b=a.fusionCharts,c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&qa.raiseEvent("centerLabelRollover",b,a.logic.chartInstance,this,a.hoverOnCenterLabel)},centerLabelRollout:function(){var a=this.chart,b=a.fusionCharts,c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,
width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&qa.raiseEvent("centerLabelRollout",b,a.logic.chartInstance,this,a.hoverOffCenterLabel)},centerLabelClick:function(){var a=this.chart,b=a.fusionCharts,c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,
renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&qa.raiseEvent("centerLabelClick",b,a.logic.chartInstance)},centerLabelChange:function(a){var b=this.fusionCharts;qa.raiseEvent("centerLabelChanged",{height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:a},this.logic.chartInstance)},hoverOnCenterLabel:function(){var a=
this.chart.options.series[0].lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:C({FCcolor:{color:a.hoverColor||a.color,alpha:a.hoverAlpha||a.alpha}})})},hoverOffCenterLabel:function(){var a=this.chart.options.series[0].lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:C({FCcolor:{color:a.color,alpha:a.alpha}})})},drawPlotPie:function(a,b){var c=this,d=a.items,e=a.data,f=c.options,m=f.series[0],n=f.plotOptions,g=n.pie,r=n.series,v=c.layers,l=v.dataset,u=c.elements.plots[0],
n=n.series.dataLabels,w=r.dataLabels.style,s=r.shadow,r=k(a.moveDuration,r.animation.duration),x=c.paper,G=f.tooltip||{},G=G&&!1!==G.enabled,A=((b.startAngle*=-y/180)||0)%U,$=g.slicedOffset,X=b.valueTotal,B=U/X,Z=c.canvasLeft+.5*c.canvasWidth,z=c.canvasTop+.5*c.canvasHeight,N=.5*g.size,g=.5*(g.innerSize||0),D=c.plotGraphicClick,H=c.plotDragMove,J=c.plotDragStart,W=c.plotDragEnd,pa=c.plotMouseDown,I=c.plotMouseUp,Q=c.plotRollOver,S=c.plotRollOut,R=!!c.datasets[0].enableRotation,oa=e.length,f=f.chart.usePerPointLabelColor,
aa=m.centerLabelConfig,M=aa.label,Y={fontFamily:w.fontFamily,fontSize:w.fontSize,lineHeight:w.lineHeight,fontWeight:w.fontWeight,fontStyle:w.fontStyle},E,F,K,L,ca,ba,ia,ha,ja,ka,fa=a.shadowGroup,ma,da,Ea,qa,na,Ja=function(a){return function(){c.legendClick(a,!0,!1)}},ra=function(a){return function(){return c.getEventArgs(a)}},Na=function(){c.disposed||c.disposing||c.paper.ca.redrawDataLabels||(c.placeDataLabels(!1,d,a),c.paper.ca.redrawDataLabels=c.redrawDataLabels)};e&&oa||(e=[]);fa||(fa=a.shadowGroup=
x.group(l).toBack());u.singletonCase=1===oa;u.chartPosition||(u.chartPosition=Aa(c.container));u.pieCenter=[Z,z];u.timerThreshold=30;ja=ha=A;for(ma=oa;ma--;)F=e[ma],Y=F.y,K=F.displayValue,ca=F.sliced,w=F.toolText,ba=(L=!!F.link)||R||!F.doNotSlice,null!==Y&&void 0!==Y&&(E=F.color.FCcolor,E.r=N,E.cx=Z,E.cy=z,F.rolloverProperties&&(E=F.rolloverProperties.color.FCcolor,E.r=N,E.cx=Z,E.cy=z),ja=ha,ha-=u.singletonCase?U:Y*B,ia=.5*(ha+ja),r?qa=na=A:(qa=ha,na=ja),(E=d[ma])||(b.data[ma].plot=E=d[ma]={chart:c,
index:ma,seriesData:u,value:Y,angle:ia,slicedX:O(ia)*$,slicedY:V(ia)*$,sliced:ca,labelText:K,toolText:w,label:F.name,link:F.link,percentage:X?Y*X/100:0,originalIndex:oa-ma-1,style:F.style,color:F.color,borderColor:F.borderColor,borderWidth:F.borderWidth,rolloverProperties:F.rolloverProperties,center:[Z,z],innerDiameter:2*g,centerLabelConfig:F.centerLabelConfig,graphic:x.ringpath(Z,z,N,g,qa,na,v.dataset).attr({"stroke-width":F.borderWidth,"stroke-linejoin":"round",stroke:F.borderColor,fill:C(F.color),
"stroke-dasharray":F.dashStyle,redrawDataLabels:A,ishot:ba,cursor:L?"pointer":""}).shadow(s&&F.shadow,fa).drag(H,J,W).mousedown(pa).mouseup(I).hover(Q,S)},E.graphic.click(D),G&&E.graphic.tooltip(w),b.data[ma].legendClick=Ja(E),b.data[ma].getEventArgs=ra(E),E.graphic.data("plotItem",E),L={index:b.reversePlotOrder?ma:oa-1-ma,link:F.link,value:F.y,displayValue:F.displayValue,categoryLabel:F.categoryLabel,isSliced:F.sliced,toolText:F.toolText},E.graphic.data("eventArgs",L),void 0!==K&&(w=F.style,Y={fontFamily:w.fontFamily,
fontSize:w.fontSize,lineHeight:w.lineHeight,fontWeight:w.fontWeight,fontStyle:w.fontStyle},E.dataLabel=x.text(l).css(Y).attr({text:K,fill:(f?C(F.color):w.color)||"#000000","text-bound":[w.backgroundColor,w.borderColor,w.borderThickness,w.borderPadding,w.borderRadius,w.borderDash],ishot:ba,visibility:"hidden"}).click(D).drag(H,J,W).mousedown(pa).mouseup(I).hover(Q,S).data("eventArgs",L).hide(),E.dataLabel.data("plotItem",E),0<n.distance&&(ka=n.connectorWidth)&&n.enableSmartLabels&&(E.connector=x.path("M 0 0 l 0 0",
l).attr({"stroke-width":ka,stroke:n.connectorColor||"#606060",visibility:h,ishot:!0}).click(D).data("eventArgs",L).drag(H,J,W).mousedown(pa).mouseup(I).hover(Q,S),E.connector.data("plotItem",E)))),E.angle=ia,E.transX=O(ia)*$,E.transY=V(ia)*$,E.slicedTranslation="t"+O(ia)*$+","+V(ia)*$,r?da?E.graphic.animateWith(da,Ea,{ringpath:[Z,z,N,g,ha,ja],transform:E.sliced?E.slicedTranslation:""},r,"easeIn"):(Ea=la.animation({ringpath:[Z,z,N,g,ha,ja],redrawDataLabels:c,transform:E.sliced?E.slicedTranslation:
""},r,"easeIn",Na),da=E.graphic.animate(Ea)):E.graphic.attr({transform:E.sliced?E.slicedTranslation:""}));M&&g&&c.drawDoughnutCenterLabel(M,Z,z,2*g,2*g,aa,!0);m.lastCenterLabelConfig=aa;r?m.doughnutCenterLabel&&m.doughnutCenterLabel.attr({"fill-opacity":0}).animate(la.animation({"fill-opacity":100},100).delay(100<r?r-100:0)):c.placeDataLabels(!1,d,a)},rotate:function(a,b){var c=a.items,d=a.data,e=this.options.plotOptions.pie,f=e.slicedOffset,h=U/b.valueTotal,m=this.canvasLeft+.5*this.canvasWidth,
k=this.canvasTop+.5*this.canvasHeight,n=.5*e.size,e=.5*(e.innerSize||0),g,l,u,w,v;u=(b.startAngle||0)%U;for(v=d.length;v--;)g=d[v],l=g.y,null!==l&&void 0!==l&&(g=c[v],w=u,u-=g.seriesData.singletonCase?U:l*h,l=.5*(u+w),g.angle=l,g.transX=O(l)*f,g.transY=V(l)*f,g.slicedTranslation="t"+O(l)*f+","+V(l)*f,g.graphic.attr({ringpath:[m,k,n,e,u,w],transform:g.sliced?g.slicedTranslation:""}));this.placeDataLabels(!0,c,a)}},n["renderer.piebase"])},[3,2,2,"sr4"]]);
FusionCharts.register("module",["private","modules.renderer.js-zoomline",function(){var Aa=this,na=Aa.hcLib,fa=Aa.window,La=/msie/i.test(fa.navigator.userAgent)&&!fa.opera,Oa=na.chartAPI,Ma=na.chartAPI,qa=na.extend2,z=na.raiseEvent,la=na.pluck,s=na.pluckNumber,Ia=na.getFirstColor,L=na.graphics.convertColor,Va=na.bindSelectionEvent,g=na.createTrendLine,wa=na.parseUnsafeString,Fa=na.regescape,k=na.Raphael,Ga=na.hasTouch,Wa=na.getMouseCoordinate,ka=na.FC_CONFIG_STRING,ta="rgba(192,192,192,"+(La?.002:
1E-6)+")",ua=fa.Math,Da=ua.ceil,C=ua.floor,Pa=ua.max,Ta=ua.min,da=ua.cos,xa=ua.sin,ya=fa.parseFloat,Qa=fa.parseInt,sa;qa(na.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});Oa("zoomline",{friendlyName:"Zoomable and Panable Multi-series Line Chart",rendererId:"zoomline",standaloneInit:!0,hasVDivLine:!0,defaultSeriesType:"stepzoom",canvasborderthickness:1,defaultPlotShadow:1,chart:function(){var b=this.base.chart.apply(this,arguments),e=b[ka],h=this.dataObj.chart,
f=this.colorManager.getColor("canvasBorderColor");qa(b.chart,{animation:!1,zoomType:"x",canvasPadding:s(h.canvaspadding,0),scrollColor:Ia(la(h.scrollcolor,this.colorManager.getColor("altHGridColor"))),scrollShowButtons:!!s(h.scrollshowbuttons,1),scrollHeight:s(h.scrollheight,16)||16,scrollBarFlat:e.flatScrollBars,allowPinMode:s(h.allowpinmode,1),skipOverlapPoints:s(h.skipoverlappoints,1),showToolBarButtonTooltext:s(h.showtoolbarbuttontooltext,1),btnResetChartTooltext:la(h.btnresetcharttooltext,"Reset Chart"),
btnZoomOutTooltext:la(h.btnzoomouttooltext,"Zoom out one level"),btnSwitchToZoomModeTooltext:la(h.btnswitchtozoommodetooltext,"<strong>Switch to Zoom Mode</strong><br/>Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:la(h.btnswitchtopinmodetooltext,"<strong>Switch to Pin Mode</strong><br/>Select a subset of data and compare with the rest of the view"),pinPaneFill:L(la(h.pinpanebgcolor,f),s(h.pinpanebgalpha,15)),zoomPaneFill:L(la(h.zoompanebgcolor,"#b9d5f1"),s(h.zoompanebgalpha,
30)),zoomPaneStroke:L(la(h.zoompanebordercolor,"#3399ff"),s(h.zoompaneborderalpha,80)),crossline:{enabled:s(h.showcrossline,1),line:{"stroke-width":s(h.crosslinethickness,1),stroke:Ia(la(h.crosslinecolor,"#000000")),"stroke-opacity":s(h.crosslinealpha,20)/100},labelEnabled:s(h.showcrosslinelabel,h.showcrossline,1),labelstyle:{fontSize:ya(h.crosslinelabelsize)?ya(h.crosslinelabelsize)+"px":e.outCanvasStyle.fontSize,fontFamily:la(h.crosslinelabelfont,e.outCanvasStyle.fontFamily)},valueEnabled:s(h.showcrosslinevalues,
h.showcrossline,1),valuestyle:{fontSize:ya(h.crosslinevaluesize)?ya(h.crosslinevaluesize)+"px":e.inCanvasStyle.fontSize,fontFamily:la(h.crosslinevaluefont,e.inCanvasStyle.fontFamily)}},useCrossline:s(h.usecrossline,1),tooltipSepChar:la(h.tooltipsepchar,", ")});return b},preSeriesAddition:function(){var b=this.dataObj,e=b.chart,h=this.hcJSON,f=h[ka],k=this.smartLabel,g=s(e.compactdatamode,0),$=la(e.dataseparator,"|"),v=s(e.showlabels,1),Z=e.labeldisplay&&e.labeldisplay.toLowerCase(),m=v&&s(e.labelheight),
X="rotate"===Z?270:s(e.rotatelabels,1)?270:0,w=h.xAxis.labels.style,G=ya(w.lineHeight),u=h.chart.labelPadding=s(e.labelpadding,.2*G)+h.chart.plotBorderWidth,z,C,W,y=0,L=-1,U,da,ma;0>m&&(m=void 0);0>u&&(u=(h.chart.plotBorderWidth||0)+2);z=(z=b.categories)&&z[0]||{};b=z.category;delete z.category;h.categories=Z=qa({data:C=g&&b&&b.split&&b.split($)||b||[],rotate:X,wrap:"none"!==Z},z);void 0!==b&&(z.category=b);z=C.length||0;if(U=!g&&v&&0!==m&&z||0){for(;U--;)C[U]=C[U]&&(W=C[U].label||"")&&((da=W.length)>
y&&(y=da,L=U,W)||W)||"";y&&(W=C[L])}else if(g&&z&&!m)if(X){g=fa.document.createElement("div");m=fa.document.createElement("span");g.setAttribute("class","fusioncharts-zoomline-localsmartlabel");g.style.cssText="display:block;width:1px;position:absolute;";for(ma in w)g.style[ma]=w[ma];m.innerHTML=b.replace(/\s*/g,"").replace(/\{br\}/ig,"<br />").replace(new RegExp(Fa($),"g")," ");g.appendChild(m);fa.document.body.appendChild(g);m=m.offsetWidth||void 0;g.parentNode.removeChild(g)}else W=C[z-1]||C[0];
void 0!==m&&0!==m||!v||(W?(k.setStyle(w),W=k.getSmartText(W),m=X?W.width:W.height):m=G*(X&&3||1));m>.3*f.height&&(m=.3*f.height);Z.labelHeight=m&&m+6||0;Z.show=m&&v||0;Z.css=qa({},w);X?(Z.css.rotation=X,Z.css["text-anchor"]="end"):Z.css["vertical-align"]="top";h.xAxis.min=0;h.xAxis.max=z&&z-1||0;m+=s(e.scrollheight,16)||16;h.chart.marginBottom+=u;f.marginBottomExtraSpace+=m;la(e.caption,e.subcaption)||(f.marginTopExtraSpace+=16)},series:function(){var b=this.dataObj,e=b.chart,h=b.dataset,f=this.hcJSON,
k=f[ka],O=k[0],$=f.series,v=s(e.yaxismaxvalue),Z=s(e.yaxisminvalue),m=s(e.forceyaxislimits,0),z=s(e.compactdatamode,0),w=la(e.dataseparator,"|"),G=Fa(e.indecimalseparator),u=Fa(e.inthousandseparator),C=s(e.drawanchors,e.showanchors,1),L=!!s(e.showlegend,1),W,y,fa,U,da,ma=Infinity,ca=-Infinity,aa;da=f.categories.data.length;if(h&&h.length&&da){G&&(G=new RegExp(G,"g"));u&&(u=new RegExp(u,"g"));!u&&!G&&z&&m&&void 0!==v&&void 0!==Z?(m=!0,ca=Pa(v,Z),ma=Ta(Z,v)):m=!1;v=0;for(Z=h.length;v<Z;v++){W=h[v];
fa=W.data;delete W.data;z?(U=fa||"",u&&(U=U.replace(u,"")),G&&(U=U.replace(G,".")),U=U.split(w)):U=fa||[];U.length>da&&(U.length=da);aa=U.length;if(z){if(!m)for(;aa--;)y=ya(U[aa]),isNaN(y)&&(y=void 0),y>ca&&(ca=y),y<=ma&&(ma=y),U[aa]=y}else for(;aa--;)y=U[aa]&&U[aa].value||"",u&&(y=y.replace(u,"")),G&&(y=y.replace(G,".")),y=ya(y),isNaN(y)&&(y=void 0),y>ca&&(ca=y),y<=ma&&(ma=y),U[aa]=y;$.push(y={index:v,type:"zoomline",data:U,name:W.seriesname||"",showInLegend:W.seriesname&&s(W.includeinlegend,1)&&
L||!1,showAnchors:s(W.drawanchors,W.showanchors,C),visible:!s(W.initiallyhidden,0),lineWidth:2});U.length=da;void 0!==fa&&(W.data=fa);y.attrs=this.seriesGraphicsAttrs(W);W=y.attrs.anchors;y.color=y.attrs.graphics.stroke;y.ancorRadius=W.r+W["stroke-width"]/2;y.marker={fillColor:W.fill,lineColor:W.stroke,lineWidth:1,symbol:"circle"}}-Infinity!==ca&&Infinity!==ma||(ca=ma=void 0);m=Qa(s(e.displaystartindex,1),10)-1;w=Qa(s(e.displayendindex,da||2),10)-1;1>(h=s(e.pixelsperpoint,15))&&(h=1);($=s(e.pixelsperlabel,
e.xaxisminlabelwidth,f.categories.rotate?20:60))<h&&($=h);(0>m||m>=(da-1||1))&&(m=0);(w<=m||w>(da-1||1))&&(w=da-1||1);f.stepZoom={cnd:s(e.connectnulldata,0),amrd:s(e.anchorminrenderdistance,20),nvl:s(e.numvisiblelabels,0),cdm:z,oppp:h,oppl:$,dsi:m,dei:w,vdl:w-m,dmax:O.max=ca,dmin:O.min=ma,clen:da,offset:0,step:1,llen:0,alen:0,ddsi:m,ddei:w,ppc:0};this.configureAxis(f,b);b.trendlines&&g(b.trendlines,f.yAxis,k,!1,this.isBar)}},seriesGraphicsAttrs:function(b){var e=this.dataObj.chart,h="0"!=(b.dashed||
e.linedashed||"0"),f,g,h={"stroke-width":s(b.linethickness,e.linethickness,2),stroke:Ia(la(b.color,e.linecolor,this.colorManager.getPlotColor())),"stroke-opacity":s(b.alpha,e.linealpha,100)/100,"stroke-dasharray":h?[s(b.linedashlen,e.linedashlen,5),s(b.linedashgap,e.linedashgap,4)]:"none","stroke-linejoin":"round","stroke-linecap":"round"};f=qa({},h);g=h["stroke-width"]+s(e.pinlinethicknessdelta,1);f["stroke-width"]=0<g&&g||0;f["stroke-dasharray"]=[3,2];return{graphics:h,pin:f,shadow:{opacity:h["stroke-opacity"],
apply:s(e.showshadow,+!k.vml)},anchors:{"stroke-linejoin":"round","stroke-linecap":"round",r:s(b.anchorradius,e.anchorradius,h["stroke-width"]+2),stroke:Ia(la(b.anchorbordercolor,e.anchorbordercolor,h.stroke)),"stroke-opacity":s(b.anchorborderalpha,e.anchorborderalpha,100)/100,"stroke-width":s(b.anchorborderthickness,e.anchorborderthickness,h["stroke-width"]),fill:Ia(la(b.anchorbgcolor,e.anchorbgcolor,"#ffffff")),"fill-opacity":s(b.anchorbgalpha,e.anchorbgalpha,100)/100,opacity:s(b.anchoralpha,e.anchoralpha,
100)/100},anchorShadow:s(e.anchorshadow,e.showshadow,+!k.vml)&&{apply:!0,opacity:s(b.anchoralpha,e.anchoralpha,100)/100}}},eiMethods:{zoomOut:function(){var b=this.jsVars,e;if(b&&(e=b.hcObj))return e.zoomOut&&b.hcObj.zoomOut()},zoomTo:function(b,e){var h=this.jsVars,f;if(h&&(f=h.hcObj))return f.zoomRange&&h.hcObj.zoomRange(b,e)},resetChart:function(){var b=this.jsVars,e;b&&(e=b.hcObj)&&(e.pinRangePixels&&b.hcObj.pinRangePixels(),e.resetZoom&&b.hcObj.resetZoom())},setZoomMode:function(b){var e=this.jsVars,
h;e&&(h=e.hcObj)&&h.activatePin&&h.activatePin(!b)},getViewStartIndex:function(){var b=this.jsVars,e;if(b&&b.hcObj&&(e=b.hcObj._zoominfo))return e.ddsi},getViewEndIndex:function(){var b=this.jsVars,e;if(b&&b.hcObj&&(e=b.hcObj._zoominfo))return b=e.ddei-1,(b>=e.clen?e.clen:b)-1}}},Oa.msline);Ma("renderer.zoomline",{resetZoom:function(){var b=this._zoomhistory,e=this.options.stepZoom;if(!b.length)return!1;b.length=0;this.zoomTo(e.dsi,e.dei)&&z("zoomReset",this._zoomargs,this.fusionCharts,[this.fusionCharts.id]);
return!0},zoomOut:function(){var b=this._zoomhistory.pop(),e=this.options.stepZoom,h,f,k;b?(h=b.dsi,f=b.dei):this._prezoomed&&(h=0,f=e.clen-1);(k=this.zoomTo(h,f))&&Aa.raiseEvent("zoomedout",k,this.fusionCharts);return!0},zoomRangePixels:function(b,e){var h=this._zoomhistory,f=this._zoominfo,k=f.ppp,f=f.ddsi,g;h.push(this._zoominfo);(g=this.zoomTo(f+C(b/k),f+C(e/k)))?Aa.raiseEvent("zoomedin",g,this.fusionCharts):h.pop()},zoomRange:function(b,e){var h=this._zoomhistory,f;h.push(this._zoominfo);(f=
this.zoomTo(+b,+e))?Aa.raiseEvent("zoomedin",f,this.fusionCharts):h.pop()},zoomTo:function(b,e){var h=this.xlabels.data,f=this._zoominfo,k=this._zoomhistory,g=f.clen;0>b&&(b=0);b>=g-1&&(b=g-1);e<=b&&(e=b+1);e>g-1&&(e=g-1);if(b===e||b===f.dsi&&e===f.dei)return!1;this.pinRangePixels();f=qa({},f);f.dsi=b;f.dei=e;f=this._zoominfo=f;this.updatePlotZoomline();this.zoomOutButton[f.vdl===f.clen-1?"hide":"show"]();this.resetButton[k.length?"show":"hide"]();this.elements.zoomscroller.attr({"scroll-ratio":f.vdl/
(g-!!g),"scroll-position":[f.dsi/(g-f.vdl-1),!0]});h={level:k.length+1,startIndex:b,startLabel:h[b],endIndex:e,endLabel:h[e]};z("zoomed",h,this.fusionCharts,[this.fusionCharts.id,b,e,h.startLabel,h.endLabel,h.level]);return h},activatePin:function(b){var e=this._zoominfo,h=this.options.chart,f=this.pinButton;if(f&&e.pinned^(b=!!b))return b||this.pinRangePixels(),z("zoomModeChanged",{pinModeActive:b},this.fusionCharts,[]),h.showToolBarButtonTooltext&&f.tooltip(h[b&&"btnSwitchToZoomModeTooltext"||"btnSwitchToPinModeTooltext"]||
""),f.attr("button-active",b),e.pinned=b},pinRangePixels:function(b,e){var h=this.paper,f=this.elements,k=this.xlabels.data,g=this._zoominfo,s=this.layers.zoompin,v=f.pinrect,Z=f["clip-pinrect"],m=this._pingrouptransform,X=this.plots,w=e-b,G,u;if(g&&s&&v){if(b===e)return s.hide(),f.pintracker.hide(),this.pinButton.attr("button-active",!1),g.pinned=!1;for(u=X.length;u--;)v=X[u],G=v.pinline,G||(G=v.pinline=h.path(void 0,s).attr(v.attrPin)),G.attr("path",v.graphic.attrs.path);Z[0]=b+this.canvasLeft;
Z[2]=w;s.attr({"clip-rect":Z,transform:m}).show();f.pintracker.__pindragdelta=0;f.pintracker.show().attr({transform:m,x:b,width:w});b=this.getValuePixel(b);e=this.getValuePixel(e);z("pinned",{startIndex:b,endIndex:e,startLabel:k[b],endLabel:k[e]},this.fusionCharts,[this.fusionCharts.id,b,e,k[b],k[e]]);return g.pinned=!0}},getValuePixel:function(b){var e=this._zoominfo;return e.ddsi+C(b/e.ppp)},getParsedLabel:function(b){var e=this.xlabels;return e.parsed[b]||(e.parsed[b]=wa(e.data[b]||""))},drawGraph:function(){var b=
this,e=b.paper,h=b.canvasLeft,f=b.canvasTop,g=b.canvasWidth,O=b.canvasHeight,s=b.options,v=s.chart,z=v.plotBorderWidth,m=v.useRoundEdges,X=v.showToolBarButtonTooltext,w=v.crossline,G=b.layers,u=b.toolbar,C=b.elements,L=v.allowPinMode,W=s.categories,y=!1,da,U,fa,ma,ca,aa,ka;aa=b._zoominfo=qa({},s.stepZoom);b._zoomhistory=[];aa.clen&&(y=b._prezoomed=aa.dei-aa.dsi<aa.clen-1,ca=b._visw=b.canvasWidth-2*v.canvasPadding,ma=b._visx=b.canvasLeft+v.canvasPadding,b._visout=-(b.chartHeight+b.canvasHeight+1E3),
b.base.drawGraph.apply(b,arguments),b._ypvr=b.yAxis[0]&&b.yAxis[0].pixelValueRatio||0,ka=b._ymin||(b._ymin=b.yAxis[0].endY),b._yminValue=b.yAxis[0].min,s=G.dataset.attr("clip-rect",[b._visx,b.canvasTop,b._visw,b.canvasHeight]),fa=G.scroll||(G.scroll=e.group("scroll").insertAfter(G.layerAboveDataset)),b.xlabels=[],b.xlabels.show=W.show,b.xlabels.height=W.labelHeight,b.xlabels.wrap=W.wrap,b.xlabels.rotate=W.rotate,b.xlabels.data=W.data||[],b.xlabels.parsed=[],b.xlabels.css=W.css,b.xlabels.group=e.group("zoomline-plot-xlabels",
G.datalabels),G.datalabels.transform(["T",ma,f+O+v.scrollHeight+v.labelPadding]),b._lcmd=W.rotate?"y":"x",L&&(L=k.crispBound(0,f-ka,0,O,z),da=C["clip-pinrect"]=[L.x,f,L.width,L.height],U=G.zoompin=e.group("zoompin").insertBefore(s).transform(b._pingrouptransform=["T",ma,ka]).hide(),C.pinrect=e.rect(0,f-ka,b._visw,O,G.zoompin).attr({"stroke-width":0,stroke:"none",fill:v.pinPaneFill,"shape-rendering":"crisp",ishot:!0}),C.pintracker=e.rect(G.tracker).attr({transform:U.transform(),x:0,y:f-ka,width:0,
height:O,stroke:"none",fill:ta,ishot:!0,cursor:k.svg&&"ew-resize"||"e-resize"}).drag(function(b){var e=ma+b+this.__pindragdelta,f=this.__pinboundleft,h=this.__pinboundright,g=this.data("cliprect").slice(0);e<f?e=f:e>h&&(e=h);U.transform(["T",e,ka]);C.pintracker.transform(U.transform());k.svg||(g[0]=g[0]+e-ma-this.__pindragdelta,U.attr("clip-rect",g));this.__pindragoffset=b},function(){this.__pinboundleft=0-da[0]+ma+h;this.__pinboundright=this.__pinboundleft+ca-da[2];this.data("cliprect",U.attr("clip-rect"));
U._.clipispath=!0},function(){U._.clipispath=!1;this.__pindragdelta=this.__pindragoffset;delete this.__pindragoffset;delete this.__pinboundleft;delete this.__pinboundright}),b.pinButton=u.add("pinModeIcon",function(){b.activatePin(!b._zoominfo.pinned)},{tooltip:X&&v.btnSwitchToPinModeTooltext||""})),z++,L=k.crispBound(h-z,f+O+z,g+z+z,v.scrollHeight,z),z--,C.zoomscroller=e.scroller(L.x+(m&&-1||z%2),L.y-(m&&4||2),L.width-(!m&&2||0),L.height,!0,{showButtons:v.scrollShowButtons,scrollRatio:aa.vdl/(aa.clen-
!!aa.clen),scrollPosition:[aa.dsi/(aa.clen-aa.vdl-1),!1],displayStyleFlat:v.scrollBarFlat},fa).attr({fill:v.scrollColor,r:m&&2||0}).scroll(b.updatePlotZoomline,b),m&&C.zoomscroller.shadow(!0),function(){var e;k.eve.on("raphael.scroll.start."+C.zoomscroller.id,function(f){e=f;b.crossline&&b.crossline.disable(!0);Aa.raiseEvent("scrollstart",{scrollPosition:f},b.logic.chartInstance)});k.eve.on("raphael.scroll.end."+C.zoomscroller.id,function(f){b.crossline&&b.crossline.disable(!1);Aa.raiseEvent("scrollend",
{prevScrollPosition:e,scrollPosition:f},b.logic.chartInstance)})}(),Va(b,{attr:{stroke:v.zoomPaneStroke,fill:v.zoomPaneFill,strokeWidth:0},selectionStart:function(){},selectionEnd:function(e){var f=e.selectionLeft-h;e=f+e.selectionWidth;b.crossline&&b.crossline.hide();b[b._zoominfo.pinned?"pinRangePixels":"zoomRangePixels"](f,e)}}),b.zoomOutButton=u.add("zoomOutIcon",function(){b.zoomOut()},{tooltip:X&&v.btnZoomOutTooltext||""})[y&&"show"||"hide"](),b.resetButton=u.add("resetIcon",function(){b.resetZoom()},
{tooltip:X&&v.btnResetChartTooltext||""}).hide(),L=b.resetButton.attr("fill"),L[2]="rgba(255,255,255,0)",b.resetButton.attr("fill",[L[0],L[1],L[2],L[3]]),w&&0!==w.enabled&&1===v.useCrossline&&(b.crossline=new sa(b,w)),b.updatePlotZoomline())},drawPlotZoomline:function(b,e){var h=this.paper,f=e.attrs,k=e.visible,g=k?"show":"hide",s=this.layers.dataset,v=b.group||(b.group=h.group("plot-zoomline-dataset",s)),s=b.anchorGroup||(b.anchorGroup=h.group("plot-zoomline-anchors",s)),h=b.graphic||(b.graphic=
h.path(void 0,v)),z=["T",this._visx,this._ymin||(this._ymin=this.yAxis[0].endY)];v.transform(z)[g]();s.transform(z)[g]();b.graphic=h.attr(f.graphics).shadow(f.shadow);b.attrPin=f.pin;b.visible=k;b.anchors=[];b.anchors.show=e.showAnchors;b.anchors.attrs=f.anchors;b.anchors.attrsShadow=f.anchorShadow;b.anchors.left=-(f.anchors.r+.5*f.anchors["stroke-width"]);b.anchors.right=this._visw-b.anchors.right},updatePlotZoomline:function(b,e){var h=this.paper,f=this._ypvr,k=this._visw,g=this.xlabels,s=g.css,
v=g.group,z=this.plots,m,C,w,G,u,L,da;!e&&(e=this._zoominfo);w=e.oppp;G=e.vdl=e.dei-e.dsi;u=e.ppl=e.nvl?k/e.nvl:e.oppl;k=e.step=(C=e.ppp=k/G)<w?Da(w/C):1;u=e.lskip=Da(Pa(u,ya(s.lineHeight))/C/k);void 0!==b?(w=(e.clen-G-1)*b,e.offset=(w-(w=Qa(w)))*C,L=w+G):(w=e.dsi,L=e.dei,e.offset=0);G=e.norm=w%k;e.ddsi=w-=G;e.ddei=L=L+2*k-G;e.pvr=f;e._ymin=this._ymin;e._yminValue=this._yminValue;f=g.show?Da((L-w)/k/u):0;G=e.llen-1;e.llen=f;da=e.ppc=C*u*k;if(f>G)for(u=G,G=f;u<G;u++)(m=g[u])&&m.show()||(g[u]=h.text(0,
0,"",v).css(s));else for(u=f,G+=1;u<G;u++)g[u].hide();f=C*k<e.amrd?0:Da((L-w)/k);s=f-e.alen;e.alen=f;g.wrap&&(g.rotate?(g._width=g.height,g._height=da):(g._width=da,g._height=g.height));for(k=z.length;k--;){v=z[k];e.plotName=v.name||"";m=v.anchors;if(m.show&&s){C=m.attrs;u=0;for(G=f;u<G;u++)m[u]=m[u]&&m[u].show()||h.circle(C,v.anchorGroup);u=f;for(G=m.length;u<G;u++)m[u]&&m[u].hide()}this.drawPlotZoomlineGraphics(e,v.data,v.graphic,m,!k&&g)}fa.FC_DEV_ENVIRONMENT&&fa.jQuery&&(FusionCharts["debugger"].enable()?
(this.debug=this.debug||(fa.jQuery("#fc-zoominfo").length||fa.jQuery("body").append('<pre id="fc-zoominfo">'),fa.jQuery("#fc-zoominfo").css({position:"absolute",left:"10px",top:"0","pointer-events":"none",opacity:.7,width:"250px",zIndex:"999",border:"1px solid #cccccc","box-shadow":"1px 1px 3px #cccccc",background:"#ffffff"})),this.debug.text(JSON.stringify(e,0,2))):(this.debug&&fa.jQuery("#fc-zoominfo").remove(),delete this.debug))},drawPlotZoomlineGraphics:function(b,e,h,f,k){var g=this.smartLabel,
s=this.numberFormatter,v=this.options.chart,z=v.useCrossline,m=[],C=!b.cnd,w=b.ddei,G=b.clen,u=b.step,L=b.lskip,da=b.ppp,W=b.offset,y=b.pvr,ka=this._visw,U=this._visout,fa=this._lcmd,ma="M",ca,aa,la=k&&k[0],qa,ia;f=f[0];var ha={},ja={},na,ta,sa=0,xa,ya,wa=-b.norm,ua=b.ddsi,Aa=0,n,v=v.tooltipSepChar;la&&(k.group.transform(["T",-W,0]),ya=k.wrap,qa=k._height,ia=k._width,ya&&g.setStyle(k.css));for(;ua<=w;ua+=u,wa+=u)aa=this.getParsedLabel(ua),z||(n=aa+v+s.yAxis(e[ua]),n=b.plotName&&b.plotName+v+n||n),
xa=sa/3+Aa,ta=wa*da,void 0===(ca=e[ua])?(C&&(ma="M"),na=U,k=ta-W,ca=U,Aa++):(m[sa++]=ma,m[sa++]=na=k=ta-W,m[sa++]=ca=(ca-b._yminValue)*y,ma="L"),z?f&&(f=f.attr((ha.cx=na,ha.cy=ca,ha)).next):f&&(f=f.attr((ha.cx=na,ha.cy=ca,ha)).tooltip(n).next),!la||xa%L||(na=la.attrs,k=0>k||k>ka?U:ta,la._prevtext===aa?delete ja.text:ja.text=la._prevtext=aa,na[fa]===k?delete ja[fa]:ja[fa]=k,ya&&aa&&(ja.text=g.getSmartText(aa,ia,qa).text),la=la.attr(ja).next);w>=G&&(void 0!==(ca=e[G-1])&&(m[sa++]="L",m[sa++]=(wa-(w-
G))*da-W,m[sa++]=ca*y),f&&f.attr((ha.cx=U,ha.cy=U,ha)));h.attr("path",m)},legendClick:function(b){var e=!b.visible,h=e?"show":"hide";b.group[h]();b.anchorGroup[h]();this.base.legendClick.apply(this,arguments);return b.visible=e},dispose:function(){var b;this.crossline&&(this.crossline.dispose(),delete this.crossline);(b=this.elements.pintracker)&&(b.undrag(),delete this.elements.pintracker);delete this.zoomOutButton;delete this.resetButton;delete this.pinButton;this.xlabels&&(this.xlabels.length=
0);delete this.xlabels;this.base.dispose.apply(this)}},Ma["renderer.cartesian"]);sa=function(b,e){var h=b.paper,f=this.left=b._visx,k=this.width=b._visw,g=this.top=b.canvasTop,s=this.height=b.canvasHeight,v=this._visout=b._visout,z=this.plots=b.plots,m=b.layers.dataset,C,w=e.labelstyle,G=e.valuestyle;C=this.group=h.group("crossline-labels",m).attr({transform:["T",f,b._ymin]});this.tracker=h.rect(f,g,k,s,m).attr({stroke:"none","stroke-width":0,fill:ta}).toFront().mousedown(this.onMouseDown,this).mouseup(this.onMouseUp,
this,!0).mouseout(this.onMouseOut,this).mousemove(this.onMouseMove,this);Ga&&this.tracker.touchstart(this.onMouseMove,this);this.container=b.container;this.line=h.path(void 0,m).attr(qa({path:["M",f,g,"l",0,s]},e.line)).toBack();f=this.labels=e.valueEnabled&&h.set();e.labelEnabled&&(this.positionLabel=h.text(v,g+s+(b.options.chart.scrollHeight||0)+2.5,"").insertAfter(b.xlabels.group.parent).css(w).attr({"vertical-align":"top","text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]}));this.hide();
this.pixelRatio=b._ypvr;this.yminValue=b._yminValue;this.positionLabels=b.xlabels||{data:[],parsed:[]};this.getZoomInfo=function(){return b._zoominfo};this.getDataIndexFromPixel=function(e){return b.getValuePixel(e)};this.getPositionLabel=function(e){return b.getParsedLabel(e)};if(e.valueEnabled){g=0;for(s=z.length;g<s;g++)w=z[g],w=w.graphic.attrs.stroke,f.push(h.text(0,v,"",C).css(G).attr({fill:w,"text-bound":["rgba(255,255,255,0.8)","rgba(0,0,0,0.2)",1,2.5]}));this.numberFormatter=b.numberFormatter}};
sa.prototype.disable=function(b){void 0!==b&&(this.disabled=!!b)&&this.visible&&this.hide();return this.disabled};sa.prototype.onMouseOut=function(){this.hide()};sa.prototype.onMouseDown=function(){!Ga&&this.hide();this._mouseIsDown=!0};sa.prototype.onMouseUp=function(){!Ga&&this.hide();delete this._mouseIsDown};sa.prototype.onMouseMove=function(b){if(!(this.disabled||this._mouseIsDown&&!Ga)){var e=this.getZoomInfo(),h=this.line,f=this.left,k=e.step,g=e.ppp*k;b=Wa(this.container,b).chartX-f;var s;
b=(b+=g/2+e.offset)-b%g;s=(s=this.getDataIndexFromPixel(Da(b)))+s%k;b-=e.offset;h.transform(["T",C(b),0]);this.hidden&&this.show();if(s!==this.position||this.hidden)this.position=s,this.lineX=b,this.updateLabels()}};sa.prototype.updateLabels=function(){var b=this,e=b.labels,h=b.plots,f=b.width,k=b.position,g=b.lineX,s=C(g),v=b.pixelRatio,z=b.yminValue,m=b._visout,L=b.numberFormatter;e&&e.forEach(function(e,C){var u=h[C],da=u.data[k],fa,W;e.attr({text:L.xAxis(da)});fa=e.getBBox();W=.5*fa.width+10;
fa=fa.height;u=void 0!==da&&u.visible?(da-z)*v:m;u<-1*(b.height-fa)?u+=fa:u>z*v-fa&&(u-=fa);e.attr({x:Pa(0,Ta(s,f)),y:u,"text-anchor":g<=W&&"start"||g+W>=f&&"end"||"middle"})});b.positionLabel&&b.positionLabel.attr({x:g+b.left,text:b.getPositionLabel(k)})};sa.prototype.show=function(){this.disabled||(this.hidden=!1,this.group.attr("visibility","visible"),this.line.attr("visibility","visible"),this.positionLabel&&this.positionLabel.attr("visibility","visible"))};sa.prototype.hide=function(){this.hidden=
!0;this.group.attr("visibility","hidden");this.line.attr("visibility","hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};sa.prototype.dispose=function(){for(var b in this)this.hasOwnProperty(b)&&delete this[b]};k.addSymbol({pinModeIcon:function(b,e,h){var f=.5*h,k=b-h,g=b+h,s=b-f,v=b+f,z=b+.5,m=z+1,C=z+1.5,w=e-h,G=e+f,u=e-f,f=e+(h-f);return["M",k,w,"L",s,u,s,f,k,G,b-.5,G,b,e+h+.5,z,G,g,G,v,f,v,u,g,w,C,w,C,u,C,f,m,f,m,u,C,u,C,w,"Z"]},zoomOutIcon:function(b,e,h){b-=.2*h;e-=
.2*h;var f=.8*h,g=k.rad(43),s=k.rad(48),z=b+f*da(g),g=e+f*xa(g),v=b+f*da(s),s=e+f*xa(s),C=k.rad(45),m=z+h*da(C),L=g+h*xa(C),w=v+h*da(C);h=s+h*xa(C);return["M",z,g,"A",f,f,0,1,0,v,s,"Z","M",z+1,g+1,"L",m,L,w,h,v+1,s+1,"Z","M",b-2,e,"L",b+2,e,"Z"]},resetIcon:function(b,e,h){var f=b-h,g=(ua.PI/2+ua.PI)/2;b+=h*da(g);var g=e+h*xa(g),k=2*h/3;return["M",f,e,"A",h,h,0,1,1,b,g,"L",b+k,g-1,b+2,g+k-.5,b,g]}})}]);
