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