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

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

 @version 3.11.3
*/
(function(rb,wb){"object"===typeof module&&module.exports?module.exports=rb.document?wb(rb):function(J){if(!J.document)throw Error("Window with document not present");return wb(J,!0)}:rb.FusionCharts=wb(rb,!0)})("undefined"!==typeof window?window:this,function(rb,wb){FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function J(n,k){(function r(k,n){var v,w;for(w in k)cb.call(k,w)&&(v=k[w],void 0===n[w]?n[w]=v:"object"===typeof v&&r(v,n[w]))})(n,k);return k}
function t(n){return oa(n?n:$a)||$a}function ab(n){var k=n.fontSize+"";if(!k)return n;k=k.replace(/(\d+)(px)*/,"$1px");n.fontSize=k;return n}function Da(n){return void 0===n||"undefined"===typeof n||null===n||n!==n?!0:!1}function Ra(n,k){this.carpet=n;this._componentPool=k}function Xa(n){this.conf=n;this._id="GL_CARPET";this.compositionsByCategory={};this._lSpace=this.group=this.node=void 0;this.autoRecalculate=!1;this.groupName="fc-gradient-legend";this.moveInstructions={}}function sb(){Xa.apply(this,
arguments)}function ba(n,k){this.rawText=n;this.conf=k;this._id="GL_CAPTION";this._lSpace=this.bound=this.node=void 0}function ra(n,k,m){this.colorRange=n;this.conf=k;this.childTextConf=m;this._id="GL_BODY";this.bound=void 0;this.compositionsByCategory={};this._lSpace=void 0}function Oa(){ra.apply(this,arguments)}function db(n){this.conf=n;this._id="GL_LABELS"}function lb(){db.apply(this,arguments)}function ca(){db.apply(this,arguments);this._id="GL_VALUES"}function Fa(){ca.apply(this,arguments);
this._id="GL_VALUES"}function Ga(n){this.conf=n;this._id="FL_AXIS";this.markerLine=this.shadow=this.node=void 0;this.compositionsByCategory={}}function pa(){Ga.apply(this,arguments)}function Ka(n){var k={};this._id="GL_SG1";this.conf=n;k.conf=n;this.extremes=[];this.sliders={};k.sliderGroup=this;this.valueRange=[];this.callbacks=[];this.sliders[!1]=new xa(!1,k,this._id+"_0");this.sliders[!0]=new xa(!0,k,this._id+"_1")}function xa(n,k,m){this.conf=k.conf;this.sliderIndex=n;this.rangeGroup=k.sliderGroup;
this._id=m;this.tracker=this.node=void 0;this.currPos=0;this.swing=[]}function Pa(n,k,m){m=m.components.numberFormatter;var r,u,B,v,w,F;this.data=n;this.options=k||{};F=this.mapByPercent=!!n.mapByPercent;this.appender="";u=this.mapByPercent?0:k.min;k=this.mapByPercent?100:k.max;2===n.colorRange.length&&(r=n.colorRange[0],B=n.colorRange[1],v=r.value=Da(r.value)?u:r.value,w=B.value=Da(B.value)?k:B.value,v===w&&(v=r.value=u,w=B.value=k),r.displayValue=F?v+"%":m.legendValue(v),B.displayValue=F?w+"%":
m.legendValue(w));Da(u)&&Da(r.value)||Da(k)&&Da(r.value)||!n.gradient?this._preparationGoneWrong=!0:this._preparationGoneWrong=!1;m=this.colorRange=n.colorRange.sort(function(k,n){return k.value-n.value});this.valueRatio=void 0;this.values=[];n=0;for(r=m.length;n<r;n++)this.values.push(m[n].value)}function bb(){Ra.apply(this,arguments)}var ga=this,X=ga.hcLib,ia=X.pluckNumber,sa=X.pluck,nc=X.toRaphaelColor,$b=X.graphics,Ia=X.dehashify,Mc=X.hashify,xb=$b.convertColor,Xb=$b.RGBtoHex,Aa=$b.HEXtoRGB,ua=
$b.getLightColor,oa=$b.getValidColor,mb="rgba(192,192,192,"+(X.isIE?.002:1E-6)+")",V,$a=X.COLOR_BLACK,cb={}.hasOwnProperty,yb,Ma={};V=function(){function n(n){var m=k.numberFormatter,r,w,F;r=0;for(w=n.length;r<w;r++)if(F=n[r].maxvalue)n[r].maxvalue=m.getCleanValue(F)}var k,m,r={legendCarpetConf:{spreadFactor:.85,allowDrag:!1,captionAlignment:"center",padding:{v:3,h:3},style:{fill:"#e4d9c1",stroke:"#c4b89d"}},legendCaptionConf:{spreadFactor:.2,padding:{v:2,h:2},style:{fill:"#786B50",fontFamily:"sans-serif",
fontSize:"12px",fontWeight:"bold",fontStyle:"normal"},bound:{style:{stroke:"none"}}},legendBodyConf:{spreadFactor:.8,padding:{v:2,h:2},bound:{style:{stroke:"none"}}}};r.legendAxisConf={legendAxisHeight:11,spreadFactor:.4,padding:{v:1,h:1},style:{stroke:"none","stroke-opacity":0,"stroke-width":1},line:{grooveLength:3,offset:8,style:{stroke:"rgba(255, 255, 255, 0.65)","stroke-width":1.5}},shadow:{style:{stroke:"none",fill:nc({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}},
bound:{style:{stroke:"none"}}};r.sliderGroupConf={showTooltip:1,outerCircle:{rFactor:1.4,style:{fill:mb,stroke:"#757575","stroke-width":3}},innerCircle:{rFactor:.65,style:{fill:mb,stroke:"#FFFFFF"}}};r.axisTextItemConf={spreadFactor:.3,padding:{v:1,h:1},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",fontWeight:"normal",fontStyle:"normal"}};return{init:function(n){m=n.chart;k=m.components},setConf:function(k){},legacyDataParser:function(m,r){var v={},w=k.numberFormatter,F,z,C,A,D,J,
q,H,h;if(!m)return!1;v.mapByPercent=h=!!ia(m.mapbypercent,0);F=m.color||[];void 0===m.minvalue&&(m.minvalue=void 0!==r.min?h?0:r.min:0);void 0===m.maxvalue&&(m.maxvalue=void 0!==r.max?h?100:r.max:100);J=!1;C=0;for(A=F.length;C<A;C++)if(F[C].maxvalue){J=!0;break}J||(F=[]);C=m.code;J=v.colorRange=[];v.gradient=!!ia(m.gradient,1);F.length?C=t(C):(C?(A=t(C),C=t()):(C=t(),A=ua(C,1)),F.push({code:A,maxvalue:m.maxvalue,label:void 0}));n(F);F=F.sort(function(h,q){return h.maxvalue-q.maxvalue});q=H=m.minvalue&&
w.getCleanValue(m.minvalue);H=(void 0!==q||null!==q)&&(h?q+"%":w.legendValue(q));J.push({code:Ia(C),value:q,displayValue:H,label:m.startlabel});C=0;for(A=F.length;C<A;C++)z=F[C],D=t(z.code||z.color),q=H=z.maxvalue,isNaN(parseInt(q,10))||(H=(void 0!==q||null!==q)&&(h?q+"%":w.legendValue(q)),J.push(Object({code:Ia(D),value:q,displayValue:H,label:z.label||z.displayvalue})));J[J.length-1].label=m.endlabel||z.label;return v},getDefaultConf:function(k){return r[k]}}}();yb=function(n){var k=n.chartInstance.id,
m=Ma[k]||(Ma[k]={});return function(){function r(){var k,n,r,u,v,B;for(k in m)for(n in r=m[k],r)if(u=r[n],u instanceof Array)for(v=0,B=u.length;v<B;v++)u[v]&&u[v].hide();else u.hide()}var u,B={},v;u={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_CIRCLE:"circle",KEY_PATH:"path"};B[u.KEY_RECT]=function(k){return v.rect(k)};B[u.KEY_TEXT]=function(k,n){return v.text(k,n)};B[u.KEY_GROUP]=function(k,n){return v.group(k,n)};B[u.KEY_CIRCLE]=function(k){return v.circle(k)};B[u.KEY_PATH]=function(k,
n){return v.path(k,n)};return{init:function(k){v=k;r()},emptyPool:function(){m=Ma[k]={}},getChart:function(){return n},getComponent:function(k,n,r){var u=m[k],v,D,t,q=0;u||(u=m[k]={});return(D=u[n])&&!(D instanceof Array)||D instanceof Array&&0<D.length?function(){return r?(t=D[q++])?t.show():D[q]=B[n].apply(this,arguments):D.show()}:function(){return r?(v=u[n]||(u[n]=[]),D=B[n].apply(this,arguments),v.push(D),D.show()):u[n]=B[n].apply(this,arguments)}},hideAll:function(){r()},getKeys:function(){return u}}}()};
Ra.prototype.constructor=Ra;Ra.prototype.draw=function(n){n.componentPool=this._componentPool;return this.carpet.draw(n)};Ra.prototype.getLogicalSpace=function(n,k){n.componentPool=this._componentPool;return this.carpet.getLogicalSpace(n,k)};Ra.prototype.dispose=function(){this.carpet&&this.carpet.group&&this.carpet.group.remove();this._componentPool.emptyPool()};Xa.prototype.constructor=Xa;Xa.prototype.addCompositions=function(n,k){this.compositionsByCategory[k]=n};Xa.prototype.getBoundingBox=function(n){var k=
this.conf,m=n.refSide,r=n.alignment,u=n.refOffset,B=n.x,v=n.y,k=k.width=m*k.spreadFactor;!r||void 0!==B&&null!==B||(B=(u+m)/2-k/2);return{width:k,height:n.maxOtherSide,x:B,y:v}};Xa.prototype.getPostCalcDecisions=function(n,k){var m=this.conf.padding,r,u=0;for(r in k)u+=k[r].height||0;n.height=u+2*m.v};Xa.prototype.getLogicalSpace=function(n,k){var m=this._lSpace,r=this.conf.padding,u=this.compositionsByCategory,B,v,w;w=0;var F={},t,C=0;if(m&&!k)return m.isImpure=!0,m;m=this._lSpace=v=this.getBoundingBox(n);
if(Da(m.x)||Da(m.y)||Da(m.height)||Da(m.width))this.autoRecalculate=!0;m=J(v,{});m.height-=2*r.v;m.width-=2*r.h;m.x+=r.h;m.y+=r.v;for(t in u)B=u[t],r=J(m,{}),r.y+=w,w=m.height*B.conf.spreadFactor,r.height=w+C,w=B.getLogicalSpace(J(r,{}),n,k),C=r.height-w.height,F[t]=w,w=w.height;this.getPostCalcDecisions(v,F);return this._lSpace=v};Xa.prototype.setupDragging=function(){var n=this.group,k=0,m=0,r=0,u=0;n.css({cursor:"move"});n.drag(function(B,v){k=B;m=v;n.attr({transform:"t"+(r+k)+","+(u+m)})},function(){r+=
k;u+=m},function(){})};Xa.prototype.draw=function(n){var k=this.conf,m=this.compositionsByCategory,r=n.paper,u=n.parentGroup,B=n.componentPool,v,w,F=B.getChart().get("config","animationObj").duration,t,C=B.getKeys();this.getLogicalSpace(n,this.autoRecalculate);w=this._lSpace;t=B.getComponent(this._id,C.KEY_GROUP);this.group=u=t(this.groupName,u);u.attr({opacity:0});u.animate({opacity:1},F,"easeIn");t=B.getComponent(this._id,C.KEY_RECT);this.node=t(u).attr(w).css(k.style);for(v in m)B=m[v],B.draw(k.captionAlignment,
w,{colorRange:n.colorRange,numberFormatter:n.numberFormatter,paper:r,parentLayer:u,smartLabel:n.smartLabel,moveInstructions:this.moveInstructions[v],componentPool:n.componentPool});k.allowDrag&&this.setupDragging();return this.node};sb.prototype=Object.create(Xa.prototype);sb.prototype.constructor=sb;sb.prototype.getBoundingBox=function(n){var k=this.conf,m=n.refSide,r=n.alignment,u=n.refOffset,B=n.x,v=n.y,k=k.height=m*k.spreadFactor;!r||void 0!==v&&null!==v||(v=(u+m)/2-k/2);return{width:n.maxOtherSide,
height:k,x:B,y:v}};sb.prototype.getPostCalcDecisions=function(n,k){var m=this.conf.padding,r=Number.NEGATIVE_INFINITY,u,B,v=this.moveInstructions;Xa.prototype.getPostCalcDecisions.apply(this,arguments);for(B in k)u=k[B].width,r=r<u?u:r;n.width=r+2*m.h;for(B in k)if(u=k[B].width,m=r-u)v[B]="t"+m/2+",0"};ba.prototype.constructor=ba;ba.LEFT={x:function(n,k){return k.x+n.width/2+2}};ba.RIGHT={x:function(n,k){return k.x+k.width-n.width/2-2}};ba.CENTER={x:function(n,k){return k.x+k.width/2}};ba.prototype.getLogicalSpace=
function(n,k,m){var r=this.conf.padding,u=this._lSpace,B=this.rawText,v=k.componentPool.getChart();if(u&&!m)return u.isImpure=!0,u;u=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartText:void 0}};m=k.smartLabel;if(!B)return u.bound;k=J(n,{});k.height-=2*r.v;k.width-=2*r.h;k.x+=r.h;k.y+=r.v;m.useEllipsesOnOverflow(v.config.useEllipsesWhenOverflow);v=J(this.conf.style,{});ab(v);m.setStyle(this._metaStyle=v);B=m.getSmartText(B,k.width,k.height);k.height=B.height;k.width=B.width;n.height=
B.height+2*r.v;n.width=B.width+2*r.h;u.node.smartText=B;u.node.logicArea=k;return u.bound=n};ba.prototype.draw=function(){var n=this.conf,k,m=n.bound||{},r,u,B,v,w,t,z;3<=arguments.length?(B=arguments[0],v=arguments[1],w=arguments[2]):2<=arguments.length&&(B=arguments[0],w=arguments[1]);k=w.parentLayer;t=w.componentPool;z=t.getKeys();r=t.getComponent(this._id,z.KEY_GROUP);this.group=k=r("legend-caption",k).css(n.style);this.getLogicalSpace(v,w);r=this._lSpace;w=r.node;u=r.bound;r=t.getComponent(this._id,
z.KEY_RECT);this.bound=m=r(k).attr(u).css(m.style);B="string"===typeof B?ba[B.toUpperCase()].x(w.smartText,v||w.logicArea):B;r=t.getComponent(this._id,z.KEY_TEXT);this.node=r({},k).attr({text:w.smartText.text,x:B,y:w.logicArea.y+w.smartText.height/2,lineHeight:this._metaStyle.lineHeight,fill:n.style.fill});return{group:k,bound:m,node:this.node}};ra.SC_STACK=["LEGEND_LABEL","LEGEND_AXIS","AXIS_VALUE"];ra.DARW_STACK=["AXIS_VALUE","LEGEND_AXIS","LEGEND_LABEL"];ra.prototype.constructor=ra;ra.prototype.addCompositions=
function(n,k){this.compositionsByCategory[k]=n};ra.prototype.getCompositionPlotAreaFor=function(n){var k;k=J(n,{});return function(m,r){m=m||{};k.y+=m.height||0;k.height=n.height*r;return k}};ra.prototype.getSpaceTaken=function(n){return n.height};ra.prototype.updateEffectivePlotArea=function(n,k,m){var r=this.conf.padding;k.height=m;n.height=m+2*r.v};ra.prototype.getLogicalSpace=function(n,k,m){var r=this._lSpace,u=this.conf.padding,B=this.compositionsByCategory,v,w,t,z=0,C,A;if(r&&!m)return r.isImpure=
!0,r;r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};w=J(n,{});w.height-=2*u.v;w.width-=2*u.h;w.x+=u.h;w.y+=u.v;t=this.getCompositionPlotAreaFor(w);k.colorRange=this.colorRange;C=0;for(A=ra.SC_STACK.length;C<A;C++)if(u=B[ra.SC_STACK[C]])v=t(v,u.conf.spreadFactor),v=u.getLogicalSpace(J(v,{}),k,m),z+=this.getSpaceTaken(v);this.updateEffectivePlotArea(n,w,z);r.node.logicArea=w;return r.bound=n};ra.prototype.draw=function(){var n=this.childTextConf,k=this.conf.bound.style||{},m=this.compositionsByCategory,
r,u,B,v,w,t,z;3<=arguments.length?(B=arguments[1],w=arguments[2]):2<=arguments.length&&(w=arguments[1]);r=w.parentLayer;v=w.componentPool;t=v.getKeys();this.getLogicalSpace(B,w);B=this._lSpace;z=v.getComponent(this._id,t.KEY_GROUP);n=z("legend-body",r).attr({transform:"t0,0"}).css(n.style);z=v.getComponent(this._id,t.KEY_RECT);this.bound=k=z(n).attr(B.bound).css(k);w.colorRange=this.colorRange;w.parentLayer=n;v=0;for(t=ra.DARW_STACK.length;v<t;v++)(u=m[ra.DARW_STACK[v]])&&u.draw(w);w.moveInstructions&&
n.attr({transform:w.moveInstructions});return{bound:k,group:n}};Oa.prototype=Object.create(ra.prototype);Oa.prototype.constructor=Oa;Oa.prototype.getCompositionPlotAreaFor=function(n){var k;k=J(n,{});return function(m,r){m=m||{};k.x+=m.width||0;k.width=n.width*r;return k}};Oa.prototype.updateEffectivePlotArea=function(n,k,m){var r=this.conf.padding;k.width=m;n.width=m+2*r.h};Oa.prototype.getSpaceTaken=function(n){return n.width};db.prototype.constructor=db;db.prototype.getEffectivePlotArea=function(n){var k=
this.conf.padding;n.height-=2*k.v;n.width-=2*k.h;n.x+=k.h;n.y+=k.v;this.node=[];return n};db.prototype.getLogicalSpace=function(n,k,m){var r=this._lSpace,u=this.conf,B=u.padding,v,w,t=[],z,C,A,D,X,q=0,H,h,V;X=k.componentPool.getChart();var M=[];if(r&&!m)return r.isImpure=!0,r;r=k.colorRange;k=k.smartLabel;m=r.getCumulativeValueRatio();v=r.colorRange;r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};D=r.node.smartTexts;z=J(n,{});z=this.getEffectivePlotArea(z);k.useEllipsesOnOverflow(X.config.useEllipsesWhenOverflow);
u=J(u.style,{});ab(this._metaStyle=u);k.setStyle(u);X=k.getSmartText("W");w=0;for(u=v.length;w<u;w++)(C=v[w].label)?(q++,M.push({oriIndex:w,label:C})):D[w]=void 0;u=M.length;if(0===u)return{height:0,width:0};C=A=1<u?(m[M[u-1].oriIndex]-m[M[0].oriIndex])/2*z.width/100:Math.max(m[M[0].oriIndex],100-m[M[0].oriIndex])/2*z.width/100;q=k.getSmartText(M[0].label,C,z.height);q.x=m[M[0].oriIndex]*z.width/100;w=q.x+q.width;t.push(q.height);D[M[0].oriIndex]=q;q=k.getSmartText(M[u-1].label,C,z.height);q.x=m[M[u-
1].oriIndex]*z.width/100;v=q.x-q.width;t.push(q.height);D[M[u-1].oriIndex]=q;h=w;for(w=1;w<u-1;w++)C=M[w].label,V=M[w].oriIndex,q=void 0,A=w+1===u-1?v:m[M[w+1].oriIndex]*z.width/100,H=m[M[w].oriIndex]*z.width/100,A=Math.min(H-h,A-H),A>2*X.width&&(q=k.getSmartText(C,A,z.height),q.x=m[V]*z.width/100,h=A,t.push(q.height)),D[M[w].oriIndex]=q;t=Math.max.apply(Math,t);z.height=t;n.height=t+2*B.v;r.node.logicArea=z;return r.bound=n};db.prototype.draw=function(){var n,k,m=this.conf;k=m.bound&&m.bound.style||
{stroke:"none"};var r,u,B,v,w,t,z,C;2<=arguments.length?(u=arguments[0],v=arguments[1]):1<=arguments.length&&(v=arguments[0]);n=v.parentLayer;v.colorRange.getCumulativeValueRatio();r=v.componentPool;w=r.getKeys();this.getLogicalSpace(u,v);B=this._lSpace;u=B.node.logicArea;v=B.node.smartTexts;C=r.getComponent(this._id,w.KEY_GROUP);n=C("legend-labels",n);C=r.getComponent(this._id,w.KEY_RECT);this.bound=k=C(n).attr(B.bound).css(k);C=r.getComponent(this._id,w.KEY_TEXT,!0);w=0;for(B=v.length;w<B;w++)if(r=
v[w])t=u.y+r.height/2,z=w===B-1?u.x+r.x-r.width/2:w?u.x+r.x:u.x+r.x+r.width/2,this.node.push(C({},n).attr({text:r.text,x:z,y:t,lineHeight:this._metaStyle.lineHeight,fill:m.style.fill}).transform("R0"));return{group:n,bound:k,node:this.node}};lb.prototype=Object.create(db.prototype);lb.prototype.constructor=lb;lb.prototype.getLogicalSpace=function(n,k,m){var r=this._lSpace,u=this.conf,B=u.padding,v,w,t=[],z,C,A,D,X,q=0,H,h,V;X=k.componentPool.getChart();var M=[];if(r&&!m)return r.isImpure=!0,r;r=k.colorRange;
k=k.smartLabel;m=r.getCumulativeValueRatio();v=r.colorRange;r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};D=r.node.smartTexts;z=J(n,{});z=this.getEffectivePlotArea(z);k.useEllipsesOnOverflow(X.config.useEllipsesWhenOverflow);u=J(u.style,{});ab(this._metaStyle=u);k.setStyle(u);X=k.getSmartText("W");w=0;for(u=v.length;w<u;w++)(C=v[w].label)?(q++,M.push({oriIndex:w,label:C})):D[w]=void 0;u=M.length;if(0===u)return{height:0,width:0};C=A=1<u?(m[M[u-1].oriIndex]-m[M[0].oriIndex])/
2*z.height/100:Math.max(m[M[0].oriIndex],100-m[M[0].oriIndex])/2*z.height/100;q=k.getSmartText(M[0].label,C,z.width);q.y=m[M[0].oriIndex]*z.height/100;w=q.y+q.width;t.push(q.height);D[M[0].oriIndex]=q;q=k.getSmartText(M[u-1].label,C,z.width);q.y=m[M[u-1].oriIndex]*z.height/100;v=q.y-q.width;t.push(q.height);D[M[u-1].oriIndex]=q;h=w;for(w=1;w<u-1;w++)C=M[w].label,V=M[w].oriIndex,q=void 0,A=w+1===u-1?v:m[M[w+1].oriIndex]*z.height/100,H=m[M[w].oriIndex]*z.height/100,A=Math.min(H-h,A-H),A>2*X.width&&
(q=k.getSmartText(C,A,z.width),q.y=m[V]*z.height/100,h=A,t.push(q.height)),D[M[w].oriIndex]=q;t=Math.max.apply(Math,t);z.width=t;n.width=t+2*B.v;r.node.logicArea=z;return r.bound=n};lb.prototype.draw=function(){var n,k,m=this.conf;k=m.bound&&m.bound.style||{stroke:"none"};var r,u,B,v,w,t,z,C;2<=arguments.length?(u=arguments[0],v=arguments[1]):1<=arguments.length&&(v=arguments[0]);n=v.parentLayer;v.colorRange.getCumulativeValueRatio();r=v.componentPool;w=r.getKeys();this.getLogicalSpace(u,v);B=this._lSpace;
u=B.node.logicArea;v=B.node.smartTexts;C=r.getComponent(this._id,w.KEY_GROUP);n=C("legend-labels",n);C=r.getComponent(this._id,w.KEY_RECT);this.bound=k=C(n).attr(B.bound).css(k);C=r.getComponent(this._id,w.KEY_TEXT,!0);w=0;for(B=v.length;w<B;w++)if(r=v[w])t=u.x+r.height/2,z=w===B-1?u.y+r.y-r.width/2:w?u.y+r.y:u.y+r.y+r.width/2,this.node.push(C({},n).attr({text:r.text,x:t,y:z,lineHeight:this._metaStyle.lineHeight,fill:m.style.fill}).transform("R270,"+t+","+z));return{group:n,bound:k,node:this.node}};
ca.prototype=Object.create(db.prototype);ca.prototype.constructor=ca;ca.prototype.getLogicalSpace=function(n,k,m){var r=this._lSpace,u=this.conf,B=u.padding,v=k.componentPool.getChart(),w,t,z,C,A,D,X=[],q,H,h,V;if(r&&!m)return r.isImpure=!0,r;r=k.colorRange;k=k.smartLabel;m=r.colorRange;z=r.getCumulativeValueRatio();r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};V=r.node.smartTexts;H=J(n,{});H.height-=2*B.v;H.width-=2*B.h;H.x+=B.h;H.y+=B.v;k.useEllipsesOnOverflow(v.config.useEllipsesWhenOverflow);
u=J(u.style,{});ab(this._metaStyle=u);k.setStyle(u);v=k.getSmartText("W");u=m.length;D=(z[u-1]-z[0])/2*H.width/100;w=m[0].displayValue;w=k.getSmartText("string"!==typeof w&&void 0!==w&&w.toString()||w,D,H.height);w.x=z[0]*H.width/100;t=w.x+w.width;X.push(w.height);V[0]=w;w=k.getSmartText(m[u-1].displayValue,D,H.height);w.x=z[u-1]*H.width/100;D=w.x-w.width;X.push(w.height);V[u-1]=w;q=t;for(t=1;t<u-1;t++)w=void 0,h=m[t].displayValue,C=t+1===u-1?D:z[t+1]*H.width/100,A=z[t]*H.width/100,C=Math.min(A-q,
C-A),C>1.5*v.width&&(w=k.getSmartText(h,2*C,H.height),w.x=z[t]*H.width/100,q=C,X.push(w.height)),V[t]=w;X=Math.max.apply(Math,X);H.height=X;n.height=X+2*B.v;r.node.logicArea=H;return r.bound=n};ca.prototype.draw=function(){var n=this.conf,k=n.bound&&n.bound.style||{stroke:"none"},m,r,u,t,v,w,F,z,C;2<=arguments.length?(v=arguments[0],F=arguments[1]):1<=arguments.length&&(F=arguments[0]);t=F.parentLayer;r=F.colorRange.getCumulativeValueRatio();u=F.componentPool;m=u.getKeys();this.getLogicalSpace(v,
F);w=this._lSpace;v=w.node.logicArea;F=w.node.smartTexts;C=u.getComponent(this._id,m.KEY_GROUP);t=C("legend-values",t);C=u.getComponent(this._id,m.KEY_RECT);this.bound=k=C(t).attr(w.bound).css(k);C=u.getComponent(this._id,m.KEY_TEXT,!0);m=0;for(w=r.length;m<w;m++)if(z=F[m])r=v.y+z.height/2,u=m===w-1?v.x+z.x-z.width/2:m?v.x+z.x:v.x+z.x+z.width/2,C({},t).attr({text:z.text,x:u,y:r,lineHeight:this._metaStyle.lineHeight,fill:n.style.fill});return{group:t,bound:k}};Fa.prototype=Object.create(ca.prototype);
Fa.prototype.constructor=Fa;Fa.prototype.getLogicalSpace=function(n,k,m){var r=this._lSpace,u=this.conf,t=u.padding,v=k.componentPool.getChart(),w,F,z,C,A,D,X=[],q,H,h,V;if(r&&!m)return r.isImpure=!0,r;r=k.colorRange;k=k.smartLabel;m=r.colorRange;F=r.getCumulativeValueRatio();r=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};V=r.node.smartTexts;A=J(n,{});A.height-=2*t.v;A.width-=2*t.h;A.x+=t.h;A.y+=t.v;k.useEllipsesOnOverflow(v.config.useEllipsesWhenOverflow);u=J(u.style,
{});ab(u);k.setStyle(this._metaStyle=u);h=k.getSmartText("W");v=m.length;D=(F[v-1]-F[0])/2*A.height/100;u=k.getSmartText(m[0].displayValue,A.width,D);u.y=F[0]*A.height/100;w=u.y+u.width;X.push(u.width);V[0]=u;u=k.getSmartText(m[v-1].displayValue,A.width,D);u.y=F[v-1]*A.height/100;D=u.y-u.height;X.push(u.width);V[v-1]=u;q=w;for(w=1;w<v-1;w++)u=void 0,H=m[w].displayValue,z=w+1===v-1?D:F[w+1]*A.height/100,C=F[w]*A.height/100,z=Math.min(C-q,z-C),z>2*h.height&&(u=k.getSmartText(H,A.width,2*z),u.y=F[w]*
A.height/100,q=z,X.push(u.width)),V[w]=u;X=Math.max.apply(Math,X);A.width=X;n.width=X+2*t.h;r.node.logicArea=A;return r.bound=n};Fa.prototype.draw=function(){var n,k,m=this.conf;k=m.bound&&m.bound.style||{stroke:"none"};var r,u,t,v,w,F,z,C;2<=arguments.length?(r=arguments[0],t=arguments[1]):1<=arguments.length&&(t=arguments[0]);n=t.parentLayer;v=t.colorRange.getCumulativeValueRatio();w=t.componentPool;F=w.getKeys();this.getLogicalSpace(r,t);u=this._lSpace;r=u.node.logicArea;t=u.node.smartTexts;C=
w.getComponent(this._id,F.KEY_GROUP);n=C("legend-values",n);C=w.getComponent(this._id,F.KEY_RECT);this.bound=k=C(n).attr(u.bound).css(k);C=w.getComponent(this._id,F.KEY_TEXT,!0);w=0;for(F=v.length;w<F;w++)if(v=t[w])u=r.x+v.width/2,z=w===F-1?r.y+v.y-v.height/2:w?r.y+v.y:r.y+v.y+v.height/2,C({},n).attr({text:v.text,x:u,y:z,lineHeight:this._metaStyle.lineHeight,fill:m.style.fill});return{group:n,bound:k}};Ga.prototype.constructor=Ga;Ga.prototype.addCompositions=function(n,k){this.compositionsByCategory[k]=
n};Ga.prototype.getLogicalSpace=function(n,k,m){k=this._lSpace;var r=this.conf,u=r.padding,t,v;v=r.legendAxisHeight;var w=this.compositionsByCategory,F;F=0;if(k&&!m)return k.isImpure=!0,k;k=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};m=J(n,{});m.height-=2*u.v;m.width-=2*u.h;m.x+=u.h;m.y+=u.v;r=v/2+r.line.offset;t=v/2;if(w=w.RANGE)F=w.sliders[!1],F=F.conf.outerCircle.rFactor*v,t+=F=Math.max(F/2-v/2,0);m.y+=F;m.height=v=t+r+F;n.height=v+2*u.v;k.node.logicArea=m;return k.bound=n};
Ga.prototype.getDrawableAxisArea=function(n){var k=this.conf;return{x:n.x,y:n.y,width:n.width,height:k.legendAxisHeight,r:k.legendAxisHeight/2}};Ga.prototype.preDrawingRangeParam=function(n){return{y:n.y+n.height/2,calculationBase:n.height,rangeStart:n.x,rangeEnd:n.x+n.width,prop:"y"}};Ga.prototype.getScaleMarkerPathStr=function(n,k){var m=J(n,{}),r=this.conf.line,u,t,v,w,F="";m.x+=m.r;m.width-=2*m.r;w=m.y+m.height;u=0;for(t=k.length;u<t;u++)v=k[u],v=m.x+v*m.width/100,F+="M"+v+","+(w-r.grooveLength)+
"L"+v+","+(w+r.offset);m=""+("M"+m.x+","+(w+r.offset)+"L"+(m.x+m.width)+","+(w+r.offset));return F+m};Ga.prototype.getColorGradient=function(n){return{axis:n.getBoxFill(),shadow:nc({FCcolor:{alpha:"25,0,0",angle:90,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};Ga.prototype.draw=function(){var n,k=this.conf,m=k.line,r=(k.bound||{}).style||{},u,t,v=this.compositionsByCategory,w,F,z,C,A,D;2<=arguments.length?(u=arguments[0],A=arguments[1]):1<=arguments.length&&(A=arguments[0]);n=A.parentLayer;w=
A.colorRange;F=w.getCumulativeValueRatio();D=A.componentPool;z=D.getKeys();this.getLogicalSpace(u,A);C=this._lSpace;u=D.getComponent(this._id,z.KEY_GROUP);n=u("legend-axis",n);u=D.getComponent(this._id,z.KEY_RECT,!0);this.bound=u(n).attr(C.bound).css(r);r=this.getDrawableAxisArea(C.node.logicArea);w=this.getColorGradient(w);k.style.fill=w.axis;k.shadow.style.fill=w.shadow;this.node=u(n).attr(r).css(k.style);this.shadow=u(n).attr(r).css(k.shadow.style);k=this.getScaleMarkerPathStr(r,F);u=D.getComponent(this._id,
z.KEY_PATH);u("M0,0",n).attr({path:k}).css(m.style);for(t in v)switch(m=v[t],t){case "RANGE":z=this.preDrawingRangeParam(r),A[z.prop]=z[z.prop],A.key=z.prop,A.rCalcBase=z.calculationBase,A.parentLayer=n,m.draw(z.rangeStart,z.rangeEnd,A)}};pa.prototype=Object.create(Ga.prototype);pa.prototype.constructor=pa;pa.prototype.getLogicalSpace=function(n,k,m){k=this._lSpace;var r=this.conf,u=r.padding,t,v;v=r.legendAxisHeight;var w=this.compositionsByCategory,F;F=0;if(k&&!m)return k.isImpure=!0,k;k=this._lSpace=
{bound:{height:0,width:0},node:{logicArea:void 0}};m=J(n,{});m.height-=2*u.v;m.width-=2*u.h;m.x+=u.h;m.y+=u.v;r=v/2+r.line.offset;t=v/2;if(w=w.RANGE)F=w.sliders[!1],F=F.conf.outerCircle.rFactor*v,t+=F=Math.max(F/2-v/2,0);m.x+=F;m.width=v=t+r+F;n.width=v+2*u.v;k.node.logicArea=m;return k.bound=n};pa.prototype.getDrawableAxisArea=function(n){var k=this.conf;return{x:n.x,y:n.y,width:k.legendAxisHeight,height:n.height,r:k.legendAxisHeight/2}};pa.prototype.getScaleMarkerPathStr=function(n,k){var m=J(n,
{}),r=this.conf.line,u,t,v,w,F="";m.y+=m.r;m.height-=2*m.r;w=m.x+m.width;u=0;for(v=k.length;u<v;u++)t=k[u],t=m.y+t*m.height/100,F+="M"+(w-r.grooveLength)+","+t+"L"+(w+r.offset)+","+t;m=""+("M"+(w+r.offset)+","+m.y+"L"+(w+r.offset)+","+(m.y+m.height));return F+m};pa.prototype.getColorGradient=function(n){return{axis:n.getBoxFill(!0),shadow:nc({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};pa.prototype.preDrawingRangeParam=function(n){return{x:n.x+n.width/2,calculationBase:n.width,
rangeStart:n.y,rangeEnd:n.y+n.height,prop:"x"}};Ka.prototype.constructor=Ka;Ka.prototype.initRange=function(n,k){this.extremes[+n.sliderIndex]=k};Ka.prototype.updateRange=function(n,k){var m=n.sliderIndex;this.sliders[!m].updateSwingRange(m,k)};Ka.prototype.reset=function(){var n={};n.conf=this.conf;n.sliderGroup=this;this.sliders[!1]=new xa(!1,n,this._id+"_0");this.sliders[!0]=new xa(!0,n,this._id+"_1");this.draw.apply(this,this._drawParams)};Ka.prototype.clearListeners=function(){this.callbacks.length=
0};Ka.prototype.draw=function(n,k,m){var r=this.sliders,u=r[!1],r=r[!0],t=m.colorRange,v=t.colorRange,w=this._fcChart=m.componentPool.getChart();this.getValueFormPixel=function(k,n,m,r){var u=(n-k)/(r-m);this.getValueFormPixel=function(n){return k+u*n}};this.updateWhenInMove=function(k,n){this.updateWhenInMove=function(m,r){var u=this.extremes,u=this.getValueFormPixel(m.sliderIndex?u[1]-u[0]+r:r);return u=n?parseFloat(u).toFixed(2)+"%":k.legendValue(u)}};this._drawParams=[n,k,m];this.updateWhenInMove(w.components.numberFormatter,
t.mapByPercent);n=u.draw(n,v[0].displayValue,m[m.key],m);n=r.draw(k,v[v.length-1].displayValue,m[m.key],m);u.swing=this.extremes.slice(0);r.swing=this.extremes.slice(0);this.getValueFormPixel(v[0].value,v[v.length-1].value,this.extremes[0],this.extremes[1]);return n};Ka.prototype.registerListener=function(n,k,m){this.callbacks.push({fn:n,context:k,params:m||[]})};Ka.prototype.updateWhenInRest=function(n,k){var m=this.sliders,r=this.extremes,u=n.sliderIndex,t,v=this.callbacks,w,F;u?(t=m[!u].currPos,
m=r[1]-r[0]+k):(t=k,m=r[1]-r[0]+m[!u].currPos);r=0;for(u=v.length;r<u;r++)w=v[r],F=w.params.slice(0),F.unshift(this.getValueFormPixel(m)),F.unshift(this.getValueFormPixel(t)),w.fn.apply(w.context,F)};Ka.prototype.dragStarted=function(n){var k=this.sliders,m=this.extremes,r=n.conf,u=this._fcChart;ga.raiseEvent("legendpointerdragstart",{pointerIndex:+n.sliderIndex,pointers:[{value:this.getValueFormPixel(k[!1].currPos)},{value:this.getValueFormPixel(m[1]-m[0]+k[!0].currPos)}],legendPointerHeight:r.outerRadius,
legendPointerWidth:r.innerRadius,outerRadius:r.outerRadius,innerRadius:r.innerRadius},u.chartInstance,[u.id])};Ka.prototype.dragCompleted=function(n,k,m){var r=this.sliders,u=this.extremes,t=n.conf,v=this.getValueFormPixel(r[!1].currPos),r=this.getValueFormPixel(u[1]-u[0]+r[!0].currPos),w=this._fcChart,F;n.sliderIndex?(F=v,m=this.getValueFormPixel(u[1]-u[0]+m)):(F=this.getValueFormPixel(m),m=r);k&&ga.raiseEvent("legendrangeupdated",{previousMinValue:v,previousMaxValue:r,minValue:F,maxValue:m},w.chartInstance,
[w.id]);ga.raiseEvent("legendpointerdragstop",{pointerIndex:+n.sliderIndex,pointers:[{value:v},{value:r}],legendPointerHeight:t.outerRadius,legendPointerWidth:t.innerRadius,outerRadius:t.outerRadius,innerRadius:t.innerRadius},w.chartInstance,[w.id])};xa.prototype.constructor=xa;xa.prototype.updateSwingRange=function(n,k){this.swing[+n]=k};xa.prototype.draw=function(n,k,m,r){var u=r.parentLayer,t=this.conf,v=t.outerCircle,w=t.innerCircle,F=Math.ceil(v.rFactor*r.rCalcBase/2),z=Math.ceil(w.rFactor*r.rCalcBase/
2),C=F-z,A=this.rangeGroup,D=this.sliderIndex,X,q,H=r.componentPool,h=H.getKeys();t.outerRadius=F;t.innerRadius=z;this._scaleVal=k;w.style["stroke-width"]=C;C=Math.ceil(v.style["stroke-width"]/2);z+=C;q=H.getComponent(this._id,h.KEY_GROUP);u=this.node=q("fc-gl-slider",u).attr({cursor:"pointer",transform:"t0,0"});"x"===r.key?n=X=n+(D?-z:+z):(X=m,n=m=n+(D?-z:+z));A.initRange(this,n);q=H.getComponent(this._id,h.KEY_CIRCLE,!0);q(u).attr({cx:m,cy:X,r:F}).css(v.style);q(u).attr({cx:m,cy:X,r:z}).css(w.style);
k=this.tracker=q(u).attr({cx:m,cy:X,r:F+5,ishot:!0,fill:mb,stroke:0,cursor:"pointer"}).trackTooltip(t.showTooltip?!0:!1).tooltip(k,null,null,!0);this._dragAPI=r=this.getDragAPI("x"===r.key);k.undrag();k.drag(r.dragging,r.dragStart,r.dragEnd);return{translateAscending:F+C}};xa.prototype.getDragAPI=function(n){var k=this,m=k.node,r=k.sliderIndex,u=k.rangeGroup,t,v,w,F=k.conf.innerRadius,z;return{dragging:function(C,A,D,X,q){var H;q.stopPropagation();q.preventDefault();H=n?A:C;r?(C=t[0]-t[1]+F,A=0):
(C=0,A=t[1]-t[0]-F);if(!(k.currPos+H<C||k.currPos+H>A))return m.attr({transform:n?"t0,"+(k.currPos+H):"t"+(k.currPos+H)+",0"}),v=H,w&&clearTimeout(w),w=setTimeout(function(){u.updateWhenInRest(k,k.currPos+H)},100),k.tracker.tooltip(u.updateWhenInMove(k,k.currPos+H),null,null,!0),z=!0},dragStart:function(r,w,v){v.stopPropagation();v.preventDefault();m.attr({transform:n?"t0,"+k.currPos:"t"+k.currPos+",0"});t=t||k.swing;z=!1;u.dragStarted(k)},dragEnd:function(){var n;u.dragCompleted(k,z,k.currPos+v);
z&&(w&&clearTimeout(w),w=setTimeout(function(){u.updateWhenInRest(k,k.currPos)},100),k.currPos+=v,n=t[+r]+k.currPos,u.updateRange(k,n))}}};Pa.prototype.constructor=Pa;Pa.prototype.getValueRatio=function(){var n=this.colorRange,k,m,r=n.length,u=this.valueRatio,t=n[0].value,v=n[r-1].value-t,w=0;if(u)return u;u=this.valueRatio=[];for(m=0;m<r;m++)k=n[m],k=(k.value-t)/v,u.push(100*(k-w)),w=k;return u};Pa.prototype.getCumulativeValueRatio=function(){var n=this.colorRange,k,m,r=n.length,u=n[0].value,t=n[r-
1].value,v=[];for(m=0;m<r;m++)k=n[m],v.push((k.value-u)/(t-u)*100);return v};Pa.prototype.getBoxFill=function(n){var k=this.colorRange,m,r=k.length,u=[],t;t=n?90:0;for(m=0;m<r;m++)n=k[m],u.push(n.code);k={FCcolor:{alpha:"100,100,100",angle:t,color:u.join(","),ratio:this.getValueRatio().join(",")}};return nc(k)};Pa.prototype.getColorByValue=function(n){var k=this.values,m=this.colorRange,r,u,t,v;if(void 0!==n&&null!==n){u=0;for(r=k.length;u<r;u++)if(n===k[u]){v=m[u].code;break}else if(!u&&n<k[u]){t=
!0;break}else if(u===r-1&&n>k[u]){t=!0;break}else if(n>k[u]&&n<k[u+1]){k=m[u];r=m[u+1];m=k.value;u=Aa(k.code);k=r.value;r=Aa(r.code);v=v=void 0;v=k-m;v=[Math.round(u[0]+(r[0]-u[0])/v*(n-m)),Math.round(u[1]+(r[1]-u[1])/v*(n-m)),Math.round(u[2]+(r[2]-u[2])/v*(n-m))];v=Xb(v);break}if(!t)return v}};bb.prototype=Object.create(Ra.prototype);bb.prototype.constructor=bb;FusionCharts.register("component",["gradientLegend","gradientLegend",{pIndex:1,enabled:!1,init:function(n){function k(k){m.data=n.chart.jsonData.colorrange;
(v=m.nData=V.legacyDataParser(m.data,k))?(m.drawOptions={smartLabel:r.linkedItems.smartLabel,colorRange:m.colorRange=t=new Pa(v,k,w),maxOtherSide:k.maxOtherSide},m._dontPlot=!1,t&&t._preparationGoneWrong&&(m._dontPlot=!0),m._recalculateLogicalSpace=!0,m._configure()):m._dontPlot=!0}var m=this,r=n.chart,u,t,v,w;V.init(n);w=m._chart=n.chart;m._cpool=yb(w);if(!(u=n.dataExtremes))return k;k(u)},_configure:function(){var n=this._chart,k=n.jsonData.chart,m=this.conf={},r=k.outcnvbasefont,t=k.outcnvbasefontsize,
B=k.outcnvbasefontcolor,n=n.config.dataLabelStyle,v,w,F,z,X,A,D;m.caption=sa(k.legendcaption);m.legendPosition=sa(k.legendposition,"bottom").toLowerCase();m.showLegend=ia(k.showlegend,1);m.interactiveLegend=ia(k.interactivelegend,1);m.showLegendLabels=ia(k.showlegendlabels,1);v=k.legenditemfontcolor||B;w=k.legenditemfont||r;F=k.legenditemfontsize||t;z=ia(k.legenditemfontbold,0);B=k.legendcaptionfontcolor||B;r=k.legendcaptionfont||r;t=k.legendcaptionfontsize||t;X=ia(k.legendcaptionfontbold,1);D=(A=
k.legendaxisbordercolor?Mc(Ia(k.legendaxisbordercolor)):void 0)?ia(k.legendaxisborderalpha,100)/100:void 0;m.axisTextItemConf={style:{fill:v?xb(sa(v)):n.color,fontFamily:w?sa(w):n.fontFamily,fontSize:F?ia(F):n.fontSize.match(/\d+/)[0],fontWeight:z?"bold":n.fontWeight}};m.legendCaptionConf={style:{fill:B?xb(sa(B)):n.color,fontFamily:r?sa(r):n.fontFamily,fontSize:t?ia(t):n.fontSize.match(/\d+/)[0],fontWeight:X?"bold":n.fontWeight,fontStyle:"normal"}};m.legendAxisConf={legendAxisHeight:11,style:{stroke:A,
"stroke-opacity":D},line:{style:{stroke:xb(sa(k.legendscalelinecolor,"FFF8E9"),ia(k.legendscalelinealpha,100)),"stroke-width":ia(k.legendscalelinethickness)}}};m.sliderGroupConf={showTooltip:ia(k.showtooltip,1),outerCircle:{rFactor:ia(k.sliderdiameterfactor),style:{stroke:xb(sa(k.legendpointerbordercolor,"757575"),ia(k.legendpointerborderalpha,100))}},innerCircle:{rFactor:ia(k.sliderholediameterfactor),style:{stroke:xb(sa(k.legendpointercolor,"FFFFFF"),ia(k.legendpointeralpha,100))}}};m.legendCarpetConf=
{spreadFactor:ia(k.legendspreadfactor),allowDrag:!!ia(k.legendallowdrag,0),captionAlignment:sa(k.legendcaptionalignment,"center"),style:{fill:xb(sa(k.legendbgcolor,"e4d9c1"),ia(k.legendbgalpha,100)),stroke:xb(sa(k.legendbordercolor,"c4b89d"),ia(k.legendborderalpha,100)),"stroke-width":ia(k.legendborderthickness,1)}}},postConfigureInit:function(){var n=this.conf,k,m,r,t,B,v,w;this.elem={};n.caption&&(m=J(V.getDefaultConf("legendCaptionConf"),n.legendCaptionConf),k=new ba(n.caption,m));n.interactiveLegend&&
(m=J(V.getDefaultConf("sliderGroupConf"),n.sliderGroupConf),this.elem.sGroup=t=new Ka(m),this.listeners&&0<this.listeners.length&&t.registerListener.apply(t,this.listeners));m=J(V.getDefaultConf("legendCarpetConf"),n.legendCarpetConf);"bottom"===n.legendPosition?(this.drawOptions.refSideKey="canvasWidth",this.drawOptions.refOffsetKey="canvasLeft",m=new Xa(m),B=J(V.getDefaultConf("axisTextItemConf"),n.axisTextItemConf),v=new ra(this.drawOptions.colorRange,V.getDefaultConf("legendBodyConf"),B),r=new Ga(J(V.getDefaultConf("legendAxisConf"),
n.legendAxisConf)),n.showLegendLabels&&(w=new db(B)),n=new ca(B)):(this.drawOptions.refSideKey="canvasHeight",this.drawOptions.refOffsetKey="canvasTop",B=J(V.getDefaultConf("axisTextItemConf"),n.axisTextItemConf),m=new sb(m),v=new Oa(this.drawOptions.colorRange,V.getDefaultConf("legendBodyConf"),B),r=new pa(J(V.getDefaultConf("legendAxisConf"),n.legendAxisConf)),n.showLegendLabels&&(w=new lb(B)),n=new Fa(B));t&&r.addCompositions(t,"RANGE");w&&v.addCompositions(w,"LEGEND_LABEL");v.addCompositions(r,
"LEGEND_AXIS");v.addCompositions(n,"AXIS_VALUE");k&&m.addCompositions(k,"CAPTION");m.addCompositions(v,"LEGEND_BODY");this.elem.gl=new bb(m,this._cpool)},notifyWhenUpdate:function(n,k,m){var r;(r=this.elem&&this.elem.sGroup)?r.registerListener(n,k,m):this.listeners=[n,k,m]},dispose:function(){this.elem&&this.elem.gl&&this.elem.gl.dispose();this.elem={}},getLogicalSpace:function(n){var k=this.conf,m={height:0,width:0},r=this.drawOptions,t=this._chart;if(!this._recalculateLogicalSpace)return k=r.refSideKey,
r=r.refOffsetKey,this.drawOptions.refSide=t.config[k],this.drawOptions.refOffset=t.config[r],(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))||m;if(this._dontPlot)return m;this._recalculateLogicalSpace=!1;this.postConfigureInit();if(!k.showLegend)return m;k=r.refSideKey;r=r.refOffsetKey;this.drawOptions.refSide=t.config[k];this.drawOptions.refOffset=t.config[r];this.drawOptions.maxOtherSide=n||this.drawOptions.maxOtherSide;return this.elem.gl&&(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,
!0))},resetLegend:function(){var n;(n=this.elem&&this.elem.sGroup)&&n.reset()},clearListeners:function(){var n;(n=this.elem&&this.elem.sGroup)&&n.clearListeners()},draw:function(n,k,m){var t=this.conf;this._dontPlot||(this._cpool.init(m.paper),t.showLegend?(this.drawOptions.paper=m.paper,this.drawOptions.parentGroup=m.parentGroup,this.drawOptions.x=n,this.drawOptions.y=k,this.drawOptions.maxOtherSide=this.drawOptions.maxOtherSide||m.maxOtherSide,n=this.elem.gl.draw(this.drawOptions),n=n.getBBox(),
t.xPos=n.x,t.yPos=n.y,t.height=n.height,t.width=n.width,this.enabled=!0):this.enabled=!1)}}])}]);FusionCharts.register("module",["private","modules.renderer.js-msstepline",function(){var J=this.hcLib,t=J.chartAPI,ab=J.pluckNumber,Da=J.pluck,Ra=this.window.Image,Xa=J.preDefStr,sb=J.schedular,ba=Xa.line,ra=J.toRaphaelColor,Oa=J.getFirstValue,db=Xa.configStr,lb=Xa.animationObjStr,ca=Xa.dataLabelStr,Fa=J.BLANKSTRING,Ga=Xa.hiddenStr,pa=Math.max,Ka=J.TOUCH_THRESHOLD_PIXELS,xa=J.CLICK_THRESHOLD_PIXELS,Pa=
J.hasTouch?Ka:xa,bb=Xa.ROUND,ga=Xa.miterStr;t("msstepline",{friendlyName:"Multi-series Step Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"msstepline",defaultPlotShadow:1,applicableDSList:{msstepline:!0}},t.mscartesian,{drawverticaljoins:1,useforwardsteps:1,zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},t.areabase);FusionCharts.register("component",["dataset","MSStepLine",{type:"stepline",_addLegend:function(){var t=this.config,J=this.chart.components.legend,ga=ab(t.drawanchors,
1),t={enabled:t.includeinlegend,type:ba,drawLine:Da(t.drawLine,!0),fillColor:ra({color:t.anchorbgcolor,alpha:t.anchorbgalpha}),strokeColor:ra({color:t.anchorbordercolor,alpha:"100"}),rawFillColor:t.anchorbgcolor,rawStrokeColor:t.anchorbordercolor,anchorSide:ga?t.anchorsides:0,strokeWidth:t.anchorborderthickness,label:Oa(this.JSONData.seriesname),lineWidth:t.linethickness};this.legendItemId=J.addItems(this,this.legendInteractivity,t)},draw:function(){var t=this,ia=t.JSONData,sa=t.chart,Xa=sa.getJobList(),
Ka=sa.components,Ia=t.config,xa=t.index||t.positionIndex,Oa=sa.config,Xb,Aa,ua=Ka.paper,oa=Ka.xAxis[0],mb=t.yAxis,V,$a,cb=sa.graphics;Xb=cb.datalabelsGroup;var yb,Ma,n,k,m,r,u=t.components.data,B,v=t.components.removeDataArr||[],w=v.length,F=Ia.linethickness,z=t.graphics.container,C=t.graphics.trackerContainer;Aa=cb.trackerGroup;var A=Oa.connectnulldata,D=cb.datasetGroup,Qa,cb=Ia.shadow,q,H=t.graphics.dataLabelContainer,h={},Ba,M,h=sa.get(db,lb),Y=h.dummyObj,nb=h.animObj,fa=h.duration,ab=t.components.pool||
[],Bb=function(){!1!==t.visible||!1!==t._conatinerHidden&&void 0!==t._conatinerHidden||(z.lineGroup.hide(),z.lineShadowGroup.hide(),z.anchorShadowGroup.hide(),z.anchorGroup.hide(),C.hide(),H&&H.hide(),t._conatinerHidden=!0)},rb=function(){D.lineConnector.attr({"clip-rect":null});D.lineConnector.node&&D.lineConnector.node.removeAttribute("clip-path");!1!==t.visible&&(z.lineShadowGroup.show(),z.anchorShadowGroup.show(),z.anchorGroup.show(),C.show(),H&&H.show())},fb=!0,Pb,ac=mb.getAxisBase(),ac=mb.yBasePos=
mb.getAxisPosition(ac),Yb=Ka.canvas.config.clip,Ka=Yb["clip-canvas-init"].slice(0),Yb=Yb["clip-canvas"].slice(0),wb=Ia.lineDashStyle,Za={color:Ia.linecolor,alpha:Ia.alpha},bc,Qb,Ya,zb,Sa=[],Zb=0,Rb=[],cc=null,Ib,gb=[],Ca=!1,oc,dc=t.graphics.lineElement,Jb=t.visible,pc=Ia.drawverticaljoins,ya=Ia.useforwardsteps,hb,Tb=h.animType,ja=0,da,sa=sa.config.stepatmiddle?.5*oa.getPVR():0;Ia.imagesLoaded=0;D.lineConnector=D.lineConnector||ua.group("line-connector",D);z||(z=t.graphics.container={lineShadowGroup:ua.group("connector-shadow",
D.lineConnector),anchorShadowGroup:ua.group("anchor-shadow",D.lineConnector),lineGroup:ua.group(ba,D.lineConnector),anchorGroup:ua.group("anchors",D.lineConnector)},Jb||(z.lineShadowGroup.hide(),z.anchorShadowGroup.hide(),z.lineGroup.hide(),z.anchorGroup.hide()));C||(C=t.graphics.trackerContainer=ua.group("line-hot",Aa),Jb||C.hide());u||(u=t.components.data=[]);H||(H=t.graphics.dataLabelContainer=t.graphics.dataLabelContainer||ua.group(ca,Xb),Jb||H.hide());Jb&&(z.lineShadowGroup.show(),z.anchorShadowGroup.show(),
z.lineGroup.show(),z.anchorGroup.show(),C.show(),H.show());Xb=oa.getCategoryLen();for(Aa=0;Aa<Xb;Aa++)if(B=u[Aa])M=B.config,k=M.setValue,n=M.setLink,m=M.setLevelTooltext,h=M.anchorProps,Ba=h.symbol,q=h.shadow,r=M.displayValue,Ma=B.graphics.element,hb=B.graphics.image,V=B.graphics.hotElement,$a=B.graphics.label,B||(B=u[Aa]={graphics:{}}),null===k?(gb.length=0,A||(cc=null),Ma&&Ma.hide(),hb&&hb.hide(),$a&&$a.hide(),V&&V.hide()):(zb={color:M.color,alpha:M.alpha},Pb=M.dashStyle,V=oa.getAxisPosition(Aa),
$a=!t.visible&&fa?ac:mb.getAxisPosition(k),Qa=M.hoverEffects,h.isAnchorHoverRadius=Qa.anchorRadius,da=oa.getLabel(Aa),yb=Oa.showtooltip?M.toolText+(m?Fa:M.toolTipValue):Fa,M.finalTooltext=yb,m=M.eventArgs||(M.eventArgs={}),m.index=Aa,m.link=n,m.value=k,m.displayValue=r,m.categoryLabel=da,m.toolText=yb,m.id=Ia.userID,m.datasetIndex=xa,m.datasetName=ia.seriesname,m.visible=Jb,h.imageUrl?(M.anchorImageLoaded=!1,B._xPos=V,B._yPos=$a,q=new Ra,q.onload=this._onAnchorImageLoad(t,Aa,m,V,$a),q.onerror=this._onErrorSetter(t,
Aa),q.src=h.imageUrl,ja++):(hb&&hb.hide(),k=[Ba[1]||2,V,$a,h.radius,h.startAngle,h.dip],n={fill:ra({color:h.bgColor,alpha:h.bgAlpha}),stroke:ra({color:h.borderColor,alpha:h.borderAlpha}),"stroke-width":h.borderThickness,visibility:h.radius?Jb:Ga},Ma||(ab.element&&ab.element.length?Ma=B.graphics.element=ab.element.shift():(Ma=B.graphics.element=ua.polypath(z.anchorGroup),Ma.attr({polypath:k}))),Ma.show().animateWith(Y,nb,{polypath:k},fa,Tb,fb&&Bb),Ma.attr(n).shadow(q,z.anchorShadowGroup),fb=!1),q=
B.graphics.connector,Qa.enabled&&(k={polypath:[Qa.anchorSides||2,V,$a,Qa.anchorRadius,Qa.startAngle,Qa.dip],fill:ra({color:Qa.anchorColor,alpha:Qa.anchorBgAlpha}),stroke:ra({color:Qa.anchorBorderColor,alpha:Qa.anchorBorderAlpha}),"stroke-width":Qa.anchorBorderThickness},n={polypath:[h.sides,V,$a,h.radius,h.startAngle,0],fill:ra({color:h.bgColor,alpha:h.bgAlpha}),stroke:ra({color:h.borderColor,alpha:h.borderAlpha}),"stroke-width":h.borderThickness},Ma&&Ma.data("anchorRadius",h.radius).data("anchorHoverRadius",
Qa.anchorRadius).data("setRolloverAttr",k).data("setRolloutAttr",n)),M.trackerConfig||(M.trackerConfig={}),M.trackerConfig.trackerRadius=pa(h.radius,Qa&&Qa.anchorRadius||0,Pa)+(h.borderThickness||0)/2,Ya=Ya!==[ra(zb||Za),Pb||wb].join(":"),null!==cc?(gb.length&&(Sa=Sa.concat(gb),gb.length=0),Sa.join(Fa)||Sa.push("M",Ib,cc),ya?(Sa.push("H",V-sa),pc?Sa.push("V",$a):Sa.push("M",V-sa,$a),sa&&Sa.push("H",V)):(pc?Sa.push("V",$a):Sa.push("M",Ib,$a),Sa.push("H",V)),Ya&&(Zb?Rb=Rb.concat(Sa):(q||(q=B.graphics.connector=
ua.path(Sa,z.lineGroup),Ca=!0),q.animateWith(Y,nb,{path:Sa},fa,Tb,fb&&Bb),q.attr({"stroke-dasharray":Qb,"stroke-width":F,stroke:bc,"stroke-linecap":bb,"stroke-linejoin":2<F?bb:ga}).shadow(oc,z.lineShadowGroup),fb=!1),Sa=[]),Ya||q&&q.hide()):gb.push("M",V,$a),Ib=V,cc=$a,bc=ra(zb||Za),oc=zb?{opacity:zb&&zb.alpha/100}:cb,Qb=Pb||wb,Zb=void 0===Da(M.color,M.alpha,M.dashed)?1:0,Ya=[bc,Qb].join(":"),B._xPos=V,B._yPos=$a,!h.imageUrl&&this.drawLabel(Aa));Ia.noOfImages=Ia.totalImages=ja;0===ja&&(Xa.trackerDrawID.push(sb.addJob(t.drawTracker,
t,[],J.priorityList.tracker)),Xa.labelDrawID.push(sb.addJob(t.drawLabel,t,[],J.priorityList.label)));Sa.length&&(Rb=Rb.concat(Sa));ia={path:Rb};n={"stroke-dasharray":wb,"stroke-width":F,stroke:ra(Za),"stroke-linecap":bb,"stroke-linejoin":2<=F?bb:ga};dc||(dc=t.graphics.lineElement=ua.path({path:Rb},z.lineGroup),Ca=!0);dc.show().animateWith(Y,nb,ia,fa,Tb,fb&&Bb);dc.attr(n).shadow(cb,z.lineShadowGroup);fb=!1;fa&&Jb&&Ca&&(z.anchorGroup.hide(),z.lineShadowGroup.hide(),z.anchorShadowGroup.hide(),H.hide(),
D.lineConnector.attr({"clip-rect":Ka}).animateWith(Y,nb,{"clip-rect":Yb},fa,"normal",rb));for(Aa=0;Aa<w;Aa++)t._removeDataVisuals(v.shift());t.drawn=!0}},ba,{drawverticaljoins:void 0,useforwardsteps:void 0}])}]);FusionCharts.register("module",["private","modules.renderer.js-powercharts",function(){var J=this,t=J.hcLib,ab=t.Raphael,Da="VML"===ab.type,Ra=J.window,Xa=Ra.Image,sb=Ra.document,ba=t.preDefStr,ra=ba.colors,Oa=ra.B90000,db=ra.FFFFFF,lb=ra.AAAAAA,ca=ra.c000000,Fa=ba.defaultFontStr,Ga=ba.divLineAlpha3DStr,
pa=ba.divLineAlphaStr,Ka=ba.altVGridColorStr,xa=ba.altVGridAlphaStr,Pa=ba.altHGridColorStr,bb=ba.altHGridAlphaStr,ga=ba.configStr,X=ba.animationObjStr,ia=ba.showHoverEffectStr,sa=ba.columnStr,wb=ba.colHotStr,$b=ba.shadowStr,Ia=ba.errorBarStr,rb=ba.errorHotStr,xb=ba.errorShadowStr,Xb=ba.dataLabelStr,Aa=ba.miterStr,ua=ba.hiddenStr,oa=ba.visibleStr,mb=ba.visiblilityStr,V=ba.ROUND,$a=ba.PERCENTAGESTRING,cb=t.ZEROSTRING,yb=ba.pStr,Ma=ba.sStr,n=ba.POSITION_START,k=ba.POSITION_TOP,m=ba.POSITION_END,r=ba.POSITION_BOTTOM,
u=ba.PLOTFILLCOLOR_STR,B=ba.UNDERSCORE,v=ba.NORMAL,w=ba.line,F=ba.column,z=ba.bar,C=ba.volume,A=t.BLANKSTRING,D=t.BLANKSTRING,Qa=t.parseTooltext,q=t.pluck,H=t.getValidValue,h=t.pluckNumber,Ba=t.getFirstValue,M=t.parseUnsafeString,Y=t.extend2,nb=t.getDashStyle,fa=t.toRaphaelColor,vc=t.toPrecision,Bb=t.hasSVG,zc=t.isIE,fb=t.regex.dropHash,Pb=t.HASHSTRING,ac=t.hashify,Yb=t.setAttribDefs,Nc=t.parseConfiguration,Za=t.attrTypeNum,bc=function(a,c){var d;a||(a={});for(d in c)a[d]=c[d];return a},Qb=t.COMMASPACE,
Ya=t.schedular,zb=t.chartPaletteStr={chart2D:{bgColor:"bgColor",bgAlpha:"bgAlpha",bgAngle:"bgAngle",bgRatio:"bgRatio",canvasBgColor:"canvasBgColor",canvasBaseColor:"canvasBaseColor",divLineColor:"divLineColor",legendBgColor:"legendBgColor",legendBorderColor:"legendBorderColor",toolTipbgColor:"toolTipbgColor",toolTipBorderColor:"toolTipBorderColor",baseFontColor:"baseFontColor",anchorBgColor:"anchorBgColor"},chart3D:{bgColor:"bgColor3D",bgAlpha:"bgAlpha3D",bgAngle:"bgAngle3D",bgRatio:"bgRatio3D",canvasBgColor:"canvasBgColor3D",
canvasBaseColor:"canvasBaseColor3D",divLineColor:"divLineColor3D",divLineAlpha:Ga,legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",anchorBgColor:"anchorBgColor3D"}},Sa=t.each,Zb=t.addEvent,Rb=t.removeEvent,cc=t.getTouchEvent,Ib=t.componentDispose,gb=function(a){return void 0!==a&&null!==a},Ca="rgba(192,192,192,"+(zc?.002:1E-6)+")",oc=t.TOUCH_THRESHOLD_PIXELS,dc=t.CLICK_THRESHOLD_PIXELS,
Jb=8===Ra.document.documentMode?oa:D,pc=t.BGRATIOSTRING,ya=Math,hb=ya.sin,Tb=ya.cos,ja=ya.round,da=ya.min,W=ya.max,Ea=ya.abs,wc=ya.PI,Ac=ya.ceil,xc=ya.floor,Oc=ya.sqrt,Pc=ya.pow,Bc=wc/180,Ub=t.hasTouch,Ta=Ub?oc:dc,Ja=t.getFirstColor,Cc=t.setLineHeight,Vb=t.pluckFontSize,Wb=t.getFirstAlpha,Qc=t.graphics.getDarkColor,Ob=t.graphics.getLightColor,aa=t.graphics.convertColor,Dc=t.POSITION_RIGHT,Ec=t.POSITION_LEFT,Rc=t.bindSelectionEvent,I=t.chartAPI,Sc=t.graphics.mapSymbolName,yc=t.COMMASTRING,Ha=t.HUNDREDSTRING,
qc=t.getMouseCoordinate,Z=t.plotEventHandler,Fc=J.xssEncode,lc=t.SHAPE_RECT,Gc=t.graphics,Tc=Gc.parseColor,Uc=Gc.getValidColor,rc,sc=function(){this.data("move",!1);clearTimeout(this._longpressactive);delete this._longpressactive},Vc=t.createElement;t.eventList.chartupdated="FC_ChartUpdated";t.eventList.dataposted="FC_DataPosted";t.eventList.dataposterror="FC_DataPostError";t.eventList.datarestored="FC_DataRestored";J.addEventListener("rendered",function(a){a=a.sender;var c=a.__state,d=a.jsVars&&
a.jsVars.instanceAPI;!c.listenersAdded&&d&&"function"===typeof d.getCollatedData&&(a.addEventListener(["chartupdated","dataupdated","rendered"],function(a){delete a.sender.__state.hasStaleData}),c.listenersAdded=!0)});I("spline",{friendlyName:"Spline Chart",standaloneInit:!0,singleseries:!0,creditLabel:!1,defaultDatasetType:"msspline",defaultPlotShadow:1,applicableDSList:{spline:!0},getSplineExtremities:function(a,c,d,b,e){var f=[],g=!1;b=b||0;for(e=e||{max:Number.MIN_VALUE,min:Number.MAX_VALUE};b<
a.length;++b)if(g)if(isNaN(a[b].config.setValue)||null===a[b].config.setValue){if(!d)break}else f.push({index:b,y:a[b].config.setValue});else isNaN(a[b].config.setValue)||null===a[b].config.setValue||(g=!0,f.push({index:b,y:a[b].config.setValue}));2<f.length&&this.evalSplineExtremities(f,c,e);b<a.length&&!d&&this.getSplineExtremities(a,c,d,b,e);return e},evalSplineExtremities:function(a,c,d){var b={},e,f,g;for(f=0;f<a.length;++f)e=a[f].index,b["D"+e]=0;for(e=0;10>e;++e)for(f=0;f<a.length;++f)g=0===
f?(3*(a[f+1].y-a[f].y)-b["D"+a[f+1].index])/2:f===a.length-1?(3*(a[f].y-a[f-1].y)-b["D"+a[f-1].index])/2:(3*(a[f+1].y-a[f-1].y)-b["D"+a[f+1].index]-b["D"+a[f-1].index])/4,b["D"+a[f].index]=g;c=ja(c/(a.length-1));for(f=1;f<a.length;++f)this.getSegmentExtremities(f,a,b,d,c)},getSegmentExtremities:function(a,c,d,b,e){var f,g,l,x,P;f=d["D"+c[0].index];g=d["D"+c[a].index];d=c[0].y;l=3*(c[a].y-c[0].y)-2*f-g;a=2*(c[0].y-c[a].y)+f+g;c=b.max;g=b.min;for(x=0;x<=e;x++)P=x/e,P=d+f*P+l*P*P+a*P*P*P,P<g&&(g=P),
P>c&&(c=P);b.max=c;b.min=g}},I.sscartesian,{minimizetendency:0,zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);I("splinearea",{friendlyName:"Spline Area Chart",standaloneInit:!0,hasLegend:!1,singleseries:!0,creditLabel:!1,defaultDatasetType:"mssplinearea",defaultPlotShadow:0},I.spline,{anchoralpha:Ha,minimizetendency:0},I.areabase);I("msspline",{standaloneInit:!0,friendlyName:"Multi-series Spline  Chart",creditLabel:!1,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},
defaultPlotShadow:1,getSplineExtremities:I.spline.getSplineExtremities,evalSplineExtremities:I.spline.evalSplineExtremities,getSegmentExtremities:I.spline.getSegmentExtremities},I.mscartesian,{minimizetendency:0,zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);I("mssplinearea",{friendlyName:"Multi-series Spline Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"mssplinearea",defaultPlotShadow:0},I.msspline,{minimizetendency:0},I.areabase);I("mssplinedy",{friendlyName:"Multi-series Dual Y-Axis Spline Chart",
standaloneInit:!0,creditLabel:!1,isDual:!0,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},getSplineExtremities:I.spline.getSplineExtremities,evalSplineExtremities:I.spline.evalSplineExtremities,getSegmentExtremities:I.spline.getSegmentExtremities},I.msdybasecartesian,{minimizetendency:0,zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.msspline);I("multiaxisline",{friendlyName:"Multi-axis Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"multiaxisline",defaultPlotShadow:1,
axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{LINE:!0},_createDatasets:function(){var a=this.components,c=this.config,d=this.jsonData,b=d.axis,e,f,g,l,x=0,P,y,p=this.defaultDatasetType,h=this.applicableDSList,jb=a.legend.components.items||[],U,ta,k,n,t=this.config.isstacked,ma,m={},ob=0,r;if(b){e=b.length;this.config.categories=d.categories&&d.categories[0].category;d=a.dataset||(a.dataset=[]);l=d.length;r=c.axisDataSetMap=[];for(f=0;f<e;f++)if(g=b[f].dataset,r[f]=[],g)for(y=g.length,x+=
y,c=0;c<y;c++)if(n=g[c],n.seriesname&&(n.seriesname=M(n.seriesname)),P=n.parentyaxis||D,ta=(ta=this.isDual&&P.toLowerCase()===Ma?q(n.renderas,this.sDefaultDatasetType):q(n.renderas,p))&&ta.toLowerCase(),h[ta]||(ta=p),P=FusionCharts.get("component",["dataset",ta]))void 0===m[ta]?m[ta]=0:m[ta]++,ma="datasetGroup_"+ta,k=FusionCharts.register("component",["datasetGroup",ta]),U=a[ma],k&&!U&&(U=a[ma]=new k,U.chart=this,U.init()),d[ob]?(P=d[ob],U=P.JSONData,U=U.data?U.data.length:0,ta=n.data?n.data.length:
0,U>ta&&P.removeData(ta-1,U-ta,!1),P.JSONData=n,P.index=f,P.axisIndex=f,P.configure(),r[f].push(ob),ob+=1):(P=new P,d.push(P),P.chart=this,P.index=f,P.axisIndex=f,r[f].push(ob),ob+=1,U&&(t?U.addDataSet(P,0,m[ta]):U.addDataSet(P,m[ta],0)),P.init(n));if(l>x){a=l-x;for(c=x;c<l;c++)Ib.call(d[c]);d.splice(x,a);jb.splice(x,a)}}else this.setChartMessage()},_createAxes:function(){var a=this.components,c=FusionCharts.register("component",["axis","cartesian"]);a.yAxis=[];a.xAxis=[];a.xAxis[0]=a=new c;a.chart=
this;a.init();this._setCategories()},_feedAxesRawData:function(){var a=this.components,c=this.config,d=a.colorManager,b=a.numberFormatter,e=this.jsonData,f=e.chart,g,l,x=this.is3d;l=x?zb.chart3D:zb.chart2D;var P=FusionCharts.register("component",["axis","cartesian"]),y,p,S,jb,U,ta,k,n,t,ma,m,ob;g=!1;var r=0;g={outCanfontFamily:q(f.outcnvbasefont,f.basefont,Fa),outCanfontSize:Vb(f.outcnvbasefontsize,f.basefontsize,10),outCancolor:q(f.outcnvbasefontcolor,f.basefontcolor,d.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:f.xaxisnamepadding,axisValuePadding:f.labelpadding,axisNameFont:f.xaxisnamefont,axisNameFontSize:f.xaxisnamefontsize,axisNameFontColor:f.xaxisnamefontcolor,axisNameFontBold:f.xaxisnamefontbold,axisNameFontItalic:f.xaxisnamefontitalic,axisNameBgColor:f.xaxisnamebgcolor,axisNameBorderColor:f.xaxisnamebordercolor,axisNameAlpha:f.xaxisnamealpha,axisNameFontAlpha:f.xaxisnamefontalpha,axisNameBgAlpha:f.xaxisnamebgalpha,axisNameBorderAlpha:f.xaxisnameborderalpha,axisNameBorderPadding:f.xaxisnameborderpadding,
axisNameBorderRadius:f.xaxisnameborderradius,axisNameBorderThickness:f.xaxisnameborderthickness,axisNameBorderDashed:f.xaxisnameborderdashed,axisNameBorderDashLen:f.xaxisnameborderdashlen,axisNameBorderDashGap:f.xaxisnameborderdashgap,useEllipsesWhenOverflow:f.useellipseswhenoverflow,divLineColor:q(f.vdivlinecolor,f.divlinecolor,d.getColor(l.divLineColor)),divLineAlpha:q(f.vdivlinealpha,f.divlinealpha,x?d.getColor(Ga):d.getColor(pa)),divLineThickness:h(f.vdivlinethickness,f.divlinethickness,1),divLineIsDashed:!!h(f.vdivlinedashed,
f.vdivlineisdashed,f.divlinedashed,f.divlineisdashed,0),divLineDashLen:h(f.vdivlinedashlen,f.divlinedashlen,4),divLineDashGap:h(f.vdivlinedashgap,f.divlinedashgap,2),showAlternateGridColor:h(f.showalternatevgridcolor,0),alternateGridColor:q(f.alternatevgridcolor,d.getColor(Ka)),alternateGridAlpha:q(f.alternatevgridalpha,d.getColor(xa)),numDivLines:f.numvdivlines,labelFont:f.labelfont,labelFontSize:f.labelfontsize,labelFontColor:f.labelfontcolor,labelFontBold:f.labelfontbold,labelFontItalic:f.labelfontitalic,
labelFontAlpha:f.labelalpha,maxLabelHeight:f.maxlabelheight,axisName:f.xaxisname,axisMinValue:f.xaxisminvalue,axisMaxValue:f.xaxismaxvalue,setAdaptiveMin:f.setadaptivexmin,adjustDiv:f.adjustvdiv,labelDisplay:f.labeldisplay,showLabels:f.showlabels,rotateLabels:f.rotatelabels,slantLabel:h(f.slantlabels,f.slantlabel),labelStep:h(f.labelstep,f.xaxisvaluesstep),showAxisValues:h(f.showxaxisvalues,f.showxaxisvalue),showLimits:f.showvlimits,showDivLineValues:h(f.showvdivlinevalues,f.showvdivlinevalues),showZeroPlane:f.showvzeroplane,
zeroPlaneColor:f.vzeroplanecolor,zeroPlaneThickness:f.vzeroplanethickness,zeroPlaneAlpha:f.vzeroplanealpha,showZeroPlaneValue:f.showvzeroplanevalue,trendlineColor:f.trendlinecolor,trendlineToolText:f.trendlinetooltext,trendlineThickness:f.trendlinethickness,trendlineAlpha:f.trendlinealpha,showTrendlinesOnTop:f.showtrendlinesontop,showAxisLine:h(f.showxaxisline,f.showaxislines,f.drawAxisLines,0),axisLineThickness:h(f.xaxislinethickness,f.axislinethickness,1),axisLineAlpha:h(f.xaxislinealpha,f.axislinealpha,
100),axisLineColor:q(f.xaxislinecolor,f.axislinecolor,ca)};l={outCanfontFamily:q(f.outcnvbasefont,f.basefont,Fa),outCanfontSize:Vb(f.outcnvbasefontsize,f.basefontsize,10),outCancolor:q(f.outcnvbasefontcolor,f.basefontcolor,d.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:f.useellipseswhenoverflow,showAlternateGridColor:0,axisNameFont:f.yaxisnamefont,axisNameFontSize:f.yaxisnamefontsize,axisNameFontColor:f.yaxisnamefontcolor,axisNameFontBold:f.yaxisnamefontbold,
axisNameFontItalic:f.yaxisnamefontitalic,axisNameBgColor:f.yaxisnamebgcolor,axisNameBorderColor:f.yaxisnamebordercolor,axisNameAlpha:f.yaxisnamealpha,axisNameFontAlpha:f.yaxisnamefontalpha,axisNameBgAlpha:f.yaxisnamebgalpha,axisNameBorderAlpha:f.yaxisnameborderalpha,axisNameBorderPadding:f.yaxisnameborderpadding,axisNameBorderRadius:f.yaxisnameborderradius,axisNameBorderThickness:f.yaxisnameborderthickness,axisNameBorderDashed:f.yaxisnameborderdashed,axisNameBorderDashLen:f.yaxisnameborderdashlen,
axisNameBorderDashGap:f.yaxisnameborderdashgap};x=a.xAxis[0];x.setCommonConfigArr(g,!1,!1,!1);x.configure();c.axesArr={leftAxes:[],rightAxes:[],axesMap:[],checkBox:[],leftSideSelected:!1};x=c.axesArr.leftAxes=[];ta=c.axesArr.rightAxes=[];k=c.axesArr.axesMap=[];y=e.axis||[];p=0;for(S=y.length;p<S;p+=1){a.yAxis[p]?e=a.yAxis[p]:(e=a.yAxis[p]=new P,e.chart=this,e.init());U=y[p];g=!1;ob=0;for(jb=U.dataset?U.dataset.length:0;ob<jb;ob+=1)0!==Number(U.dataset[ob].visible)&&(g=!0);ob=h(U.showaxis,1);jb=d.getPlotColor(p);
n=q(U.color,f.axiscolor,jb);aa(n,100);t=h(U.divlinethickness,f.divlinethickness,1);ma=h(U.tickwidth,f.axistickwidth,2);m=h(U.axislinethickness,f.axislinethickness,2);(jb=!h(U.axisonleft,1))?(k.push({side:"r",index:ta.length,showAxis:ob,checkBoxChecked:g}),ta.push({index:p,showAxis:ob,checkBoxChecked:g})):(ob&&(c.axesArr.leftSideSelected=!0),k.push({side:"l",index:x.length,showAxis:ob,checkBoxChecked:g}),x.push({index:p,showAxis:ob,checkBoxChecked:g}));l.labelStep=h(U.yaxisvaluesstep,U.yaxisvaluestep,
f.yaxisvaluesstep,f.yaxisvaluestep);l.axisMaxValue=U.maxvalue;l.axisMinValue=U.minvalue;l.setAdaptiveMin=h(U.setadaptiveymin,f.setadaptiveymin);l.numDivLines=h(U.numdivlines,f.numdivlines,4);l.adjustDiv=h(U.adjustdiv,f.adjustdiv);l.showAxisValues=h(U.showyaxisvalues,U.showyaxisvalue,f.showyaxisvalues,f.showyaxisvalue,1);l.showLimits=h(U.showlimits,f.showyaxislimits,f.showlimits,l.showAxisValues);l.showDivLineValues=h(U.showdivlinevalue,f.showdivlinevalues,U.showdivlinevalues,l.showAxisValues);l.showZeroPlane=
h(U.showzeroplane,f.showzeroplane);l.showZeroPlaneValue=h(U.showzeroplanevalue,f.showzeroplanevalue);l.zeroPlaneColor=U.zeroplanecolor;l.zeroPlaneThickness=h(U.zeroplanethickness,U.divlinethickness,c.zeroplanethickness,2);l.zeroPlaneAlpha=h(U.zeroplanealpha,U.divlinealpha,c.zeroplanealpha);l.showZeroPlaneOnTop=c.showzeroplaneontop;l.divLineColor=q(U.divlinecolor,n);l.divLineAlpha=h(U.divlinealpha,f.divlinealpha,d.getColor(pa),100);l.divLineThickness=t;l.divLineIsDashed=!!h(U.divlinedashed,U.divlineisdashed,
f.divlinedashed,f.divlineisdashed,0);l.divLineDashLen=h(U.divlinedashlen,f.divlinedashlen,4);l.divLineDashGap=h(U.divlinedashgap,f.divlinedashgap,2);l.showAxisLine=1;l.axisLineThickness=m;l.axisLineAlpha=100;l.axisLineColor=n;l.tickLength=ma;l.tickColor=n;l.tickAlpha=100;l.tickWidth=m;l.axisName=U.title;l.rotateAxisName=1;e.setCommonConfigArr(Y({},l),!0,!1,jb);e.configure();b.parseMLAxisConf(U,p);0===h(U.showaxis)?(e.hide(),e.setAxisConfig({axisIndex:p,drawAxisLineWRTCanvas:!1,drawLabels:!1,drawPlotlines:!1,
drawAxisLine:!1,drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!1,drawTrendLabels:!1,drawTick:!1,drawTickMinor:!1})):(e.show(),e.setAxisConfig({axisIndex:p,drawAxisLineWRTCanvas:!1,drawLabels:!0,drawPlotlines:!0,drawAxisLine:!0,drawPlotBands:!0,drawAxisName:!0,drawTrendLines:!0,drawTrendLabels:!0,drawTick:!0,drawTickMinor:!0}));r+=1}p=r;for(S=a.yAxis.length;p<S;p+=1)a.yAxis[p].hide()},_setAxisLimits:function(){var a=this.components,c=this.config.axisDataSetMap,d=a.dataset,a=a.yAxis,b=c.length,e,
f=-Infinity,g=Infinity,l,x,P;for(e=0;e<b;e+=1){l=0;for(x=c[e].length;l<x;l+=1)P=d[c[e][l]].getDataLimits(),f=W(f,P.max),g=da(g,P.min);Infinity===g&&(g=0);-Infinity===f&&(f=g+1);a[e].setDataLimit(f,g);f=-Infinity;g=Infinity}},_spaceManager:function(){var a,c,d,b=this.config,e=b.axesArr,f=this.components;d=b.legendPosition;var g=f.xAxis;a=f.yAxis;var l=this.hasLegend,x=b.yDepth;c=f.legend;var P=b.axesPadding,y=0,p=0,S=b.axisDataSetMap.length,q,U,ta,k=this.jsonData.chart,n=h(k.showborder,this.is3D?0:
1),f=f.canvas.config.canvasBorderWidth;q=b.borderWidth=n?h(k.borderthickness,1):0;var t=b.canvasMarginTop,ma=b.canvasMarginBottom,m=b.canvasMarginLeft,k=b.canvasMarginRight,ob=b.height,n=b.width;this._allocateSpace({top:q,bottom:q,left:q,right:q});this._allocateSpace({left:b.canvasMarginLeft,right:b.canvasMarginRight});q=e.axesMap;U=e.leftAxes;e=e.rightAxes;ta="right"===d?.3*b.canvasWidth:.3*b.canvasHeight;!1!==l&&g&&this._allocateSpace(c._manageLegendPosition(ta));for(l=0;l<S;l+=1)0!==q[l].showaxis&&
(c=.7*b.canvasWidth,c=a[l].placeAxis(c),a[l]&&this._allocateSpace(c),ta=q[l],"r"===ta.side?(e[ta.index].width=c.right,y+=P):(U[ta.index].width=c.left,p+=P));a=.225*b.availableHeight;a=this._manageActionBarSpace&&this._manageActionBarSpace(a)||{};this._allocateSpace(a);d=d===r?.6*b.canvasHeight:.6*b.canvasWidth;this._manageChartMenuBar(d);c=.7*b.canvasWidth;c>y+p&&this._allocateSpace({left:p,right:y});d=.6*b.canvasHeight;g[0]&&this._allocateSpace(g[0].placeAxis(d));d=.325*b.canvasHeight;this._getDSspace&&
this._allocateSpace(this._getDSspace(d));x&&this._allocateSpace({bottom:x});this._allocateSpace({top:f,bottom:f,left:f,right:f});g=t>b.canvasTop?t-b.canvasTop:0;x=ma>ob-b.canvasBottom?ma+b.canvasBottom-ob:0;y=m>b.canvasLeft?m-b.canvasLeft:0;p=k>n-b.canvasRight?k+b.canvasRight-n:0;this._allocateSpace({top:g,bottom:x,left:y,right:p});b.actualCanvasMarginTop=g;b.actualCanvasMarginLeft=y;b.actualCanvasMarginRight=p;b.actualCanvasMarginBottom=x},_postSpaceManagement:function(){var a=this.config,c=this.components,
d=c.xAxis&&c.xAxis[0],b=c.legend,e=a.xDepth,f=c.canvas.config,c=f.canvasBorderWidth,g=f.canvasPadding,l=f.canvasPaddingLeft,f=f.canvasPaddingRight;d&&d.setAxisDimention({x:a.canvasLeft+(e||0)+W(l,g),y:a.canvasBottom+(a.shift||0)+c,opposite:a.canvasTop-c,axisLength:a.canvasWidth-(e||0)-W(l,g)-W(f,g)});d&&d.shiftLabels(-e,0);b.postSpaceManager()},_resuffelAxis:function(){var a=this.data("axisDetails"),c=a.iapi,d=c.config.axesArr,b,e,f,g,l;b=d.leftAxes;e=d.rightAxes;if("l"===a.position){for(g=b.length-
1;g>a.index;g--)if(b[g].showAxis){f=g;l=a.index;break}void 0!==f&&(a=Y({},b[l]),b[l]=Y({},b[f]),b[f]=Y({},a));if(d.leftSideSelected&&void 0===f)return;d.leftSideSelected=!0}else{for(g=0;g<a.index;g++)if(e[g].showAxis){f=g;l=a.index;break}void 0!==f&&(a=Y({},e[l]),e[l]=Y({},e[f]),e[f]=Y({},a));if(!d.leftSideSelected&&void 0===f)return;d.leftSideSelected=!1}c._drawAxis(!0)},_dolegendInteraction:function(a,c){var d=c.components.dataset,b=c.components.legend,e;if(this.checked)for(e in d)d.hasOwnProperty(e)&&
(d[e].visible||d[e].axisIndex!==a||d[e].show());else for(e in d)d.hasOwnProperty(e)&&d[e].visible&&d[e].axisIndex===a&&d[e].hide();b.drawLegend()},_drawAxis:function(a){var c=this.config,d=c.axesArr,b=this.components,e=b.yAxis||[],f=b.xAxis||[],g=b.paper,l=c.allowAxisShift,x=c.allowSelection,P=this.graphics.axisHotElement||[],y=this.graphics.trackerContainer,p=this.graphics.buttonGroup,h=b.canvas.config,q=h.canvasBorderWidth,U=h.canvasPaddingTop,h=h.canvasPaddingBottom,ta=c.axesPadding,k=this.components.tb,
n=0,t=0,m=0,K,r,u,E,w,v,G,N,L,z,A,B,T,na,Q,F,H=!1,C=0,J,O;L=this.get(ga,X);J=L.animObj;O=L.dummyObj;A=L.transposeAnimDuration;B=L.animType;L=b.tb||(b.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));L.init({iAPI:this,graphics:this.graphics,chart:this,components:b});z=b.toolBoxAPI.CheckboxSymbol;w=d.leftAxes;b=d.rightAxes;na=d.checkBox;for(v in na)na.hasOwnProperty(v)&&na[v].checkbox.hide();N={cursor:"col-resize",stroke:Ca,fill:Ca,ishot:!0,visibility:!0};for(v=w.length-1;0<=v;--v)if(0!==
w[v].showAxis&&(K=c.canvasLeft-q-n-ta,r=c.canvasTop+U,u=c.canvasHeight-U-h,E=w[v].width,T=w[v].index,G=e[T],G.setAxisDimention({x:K,y:r,opposite:c.canvasRight+q,axisLength:u}),n+=E+ta,!H&&d.leftSideSelected?(G.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),H=!0):G.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),x&&(na[T]?(G=na[T],Q=K-E-na[T].checkboxPrePos.x,F=r+u+4-na[T].checkboxPrePos.y,G.checkbox.show(),G.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,
args:[T,this]}}),A?G.checkbox.node.animateWith(O,J,{transform:"t"+Q+","+F},A,B):G.checkbox.node.attr({transform:"t"+Q+","+F})):(G=na[T]={},G.checkbox=new z(D,!0,C++,k.pId),G.checkbox.conf=L.getDefaultConfiguration(),G.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[T,this]}}),G.checkbox.draw(K-E,r+u+4,{parentLayer:p}),G.checkboxPrePos={x:K-E,y:r+u+4}),G.checkbox.node.attr({stroke:fa({color:c.checkBoxColor,alpha:100})}),G.checkbox.node.attr({"stroke-width":[1,2]}),c.axisConfigured&&
(w[v].checkBoxChecked?G.checkbox.check():G.checkbox.uncheck())),l)){N.x=K-E;N.y=r;N.width=E;N.height=u;if(P[m])for(u=P[m].attr(N),u.show(),K=0,r=u.events.length;K<r;K++)u.events[K].unbind(),u.events.splice(K,1),--r;else u=P[m]=g.rect(N,y);u.data("axisDetails",{iapi:this,position:"l",index:v});Ub?u.touchstart(this._resuffelAxis):u.mousedown(this._resuffelAxis);m+=1}v=0;for(n=b.length;v<n;v+=1)if(0!==b[v].showAxis&&(T=b[v].index,G=e[T],K=c.canvasRight+q+t+ta,r=c.canvasTop+U,u=c.canvasHeight-U-h,E=b[v].width,
G.setAxisDimention({x:K,y:r,opposite:c.canvasLeft-q,axisLength:u}),t+=b[v].width+ta,H||d.leftSideSelected?G.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}):(G.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),H=!0),w=G.getAxisConfig("axisNamePadding"),x&&(na[T]?(G=na[T],Q=K-E-G.checkboxPrePos.x,F=r+u+4-G.checkboxPrePos.y,G.checkbox.show(),G.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[T,this]}}),A?G.checkbox.node.animateWith(O,
J,{transform:"t"+Q+","+F},A,B):G.checkbox.node.attr({transform:"t"+Q+","+F})):(G=na[T]={},G.checkbox=new z(D,!0,C++,k.pId),G.checkbox.conf=L.getDefaultConfiguration(),G.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[T,this]}}),G.checkbox.draw(K+w,r+u+4,{parentLayer:p}),G.checkboxPrePos={x:K-E,y:r+u+4}),G.checkbox.node.attr({stroke:fa({color:c.checkBoxColor,alpha:100})}),G.checkbox.node.attr({"stroke-width":[1,2]}),c.axisConfigured&&(b[v].checkBoxChecked?G.checkbox.check():
G.checkbox.uncheck())),l)){N.x=K;N.y=r;N.width=E;N.height=u;if(P[m])for(u=P[m].attr(N),u.show(),K=0,r=u.events.length;K<r;K++)u.events[K].unbind(),u.events.splice(K,1),--r;else u=P[m]=g.rect(N,y);u.data("axisDetails",{iapi:this,position:"r",index:v});Ub?u.touchstart(this._resuffelAxis):u.mousedown(this._resuffelAxis);m+=1}this.graphics.axisHotElement=P;v=m;for(n=P.length;v<n;v+=1)P[v].hide();if(!a)for(v=0,n=f.length;v<n;v++)f[v].draw();v=0;for(n=e.length;v<n;v++)e[v].draw();c.axisConfigured=!1}},
I.mscartesian,{},I.areabase);I("inversemsline",{friendlyName:"Inverted Y-Axis Multi-series Line Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:w,defaultPlotShadow:1,applicableDSList:{LINE:!0}},I.msinversecartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);I("inversemsarea",{friendlyName:"Inverted Y-Axis Multi-series Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"area",applicableDSList:{area:!0}},I.msinversecartesian,{},I.areabase);I("inversemscolumn2d",
{friendlyName:"Inverted Y-Axis Multi-series Column Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:F,applicableDSList:{COLUMN:!0},isInverse:!0},I.msinversecartesian);I("logmsline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:!1,defaultDatasetType:w,defaultPlotShadow:1,applicableDSList:{LINE:!0}},I.mslog,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);I("logmscolumn2d",{friendlyName:"Multi-series Log Column Chart",standaloneInit:!0,creditLabel:!1,
defaultDatasetType:F,applicableDSList:{COLUMN:!0}},I.mslog);I("logstackedcolumn2d",{friendlyName:"Stacked Log Column Chart",standaloneInit:!0,creditLabel:!1},I.logmscolumn2d,{isstacked:!0});I("errorbar2d",{friendlyName:"Error Bar Chart",standaloneInit:!0,creditLabel:!1,showValues:0,isErrorChart:!0,fireGroupEvent:!0,hasLegend:!0,defaultDatasetType:"errorbar2d",applicableDSList:{errorbar2d:!0},eiMethods:{}},I.mscartesian);FusionCharts.register("component",["dataset","ErrorBar2D",{configure:function(){var a=
this.chart,c=this.config,d=this.JSONData,b=d.data,e=a.config.categories,f=da(e&&e.length,b&&b.length),g=a.jsonData.chart,l=a.components.colorManager,x,P=l.getPlotColor(this.index||this.positionIndex),y=h(d.dashed,g.plotborderdashed),p=h(g.useplotgradientcolor,1),S=t.parseUnsafeString,jb=S(g.yaxisname),U=S(g.xaxisname),ta=S(q(g.tooltipsepchar,Qb)),k=h(g.seriesnameintooltip,1),n=t.parseTooltext,m,ma,K,r,u,E,w,v,G,N,L,z,A,B,T,F,Q,C,J,mc,I,O,M,V,R,X,ga,la,ba=t.getDashStyle,aa=this.components.data,ka=
a.components.numberFormatter,ia=a.isBar,Y=a.is3D;Q=a.isStacked;var La,ea,Z;x={};x=x.dataObj||(x.dataObj={});N=x.chart||(x.chart={});c.legendSymbolColor=P;x=c.showplotborder=h(g.showplotborder,Y?0:1);c.plotDashLen=w=h(g.plotborderdashlen,5);c.plotDashGap=v=h(g.plotborderdashgap,4);c.plotfillAngle=L=h(360-g.plotfillangle,ia?180:90);c.plotFillAlpha=z=q(d.alpha,g.plotfillalpha,Ha);c.plotColor=q(d.color,P);c.legendSymbolColor=c.plotColor;c.isRoundEdges=G=h(g.useroundedges,0);c.plotRadius=h(g.useRoundEdges,
c.isRoundEdges?1:0);c.plotFillRatio=A=q(d.ratio,g.plotfillratio);c.plotgradientcolor=B=t.getDefinedColor(g.plotgradientcolor,l.getColor("plotGradientColor"));!p&&(B=D);c.plotBorderAlpha=T=x?q(g.plotborderalpha,z,Ha):0;c.plotBorderColor=F=q(g.plotbordercolor,Y?db:l.getColor("plotBorderColor"));c.plotBorderThickness=p=h(g.plotborderthickness,1);c.plotBorderDashStyle=y=y?ba(w,v,p):"none";c.showValues=h(d.showvalues,g.showvalues,1);c.valuePadding=h(g.valuepadding,2);c.enableAnimation=La=h(g.animation,
g.defaultanimation,1);c.animation=La?{duration:1E3*h(g.animationduration,1)}:!1;N.transposeAnimation=c.transposeAnimation=h(g.transposeanimation,N.transposeAnimation,La);c.transposeAnimDuration=1E3*h(g.transposeanimduration,.2);c.showShadow=G||Y?h(g.showshadow,1):h(g.showshadow,l.getColor("showShadow"));c.showHoverEffect=N=h(g.plothovereffect,g.showhovereffect,void 0);c.showTooltip=l=h(g.showtooltip,1);c.stack100Percent=La=h(a.stack100percent,g.stack100percent,0);c.definedGroupPadding=W(h(g.plotspacepercent),
0);c.plotSpacePercent=W(h(g.plotspacepercent,20)%100,0);c.maxColWidth=h(ia?g.maxbarheight:g.maxcolwidth,50);c.showPercentValues=h(g.showpercentvalues,Q&&La?1:0);c.showPercentInToolTip=h(g.showpercentintooltip,Q&&La?1:0);c.plotPaddingPercent=h(g.plotpaddingpercent);c.rotateValues=h(g.rotatevalues)?270:0;c.placeValuesInside=h(g.placevaluesinside,0);c.includeInLegend=h(d.includeinlegend,1);c.errorInPercent=ea=h(d.errorinpercent,g.errorinpercent);c.use3DLighting=h(g.use3dlighting,1);c.parentYAxis=La=
q(d.parentyaxis&&d.parentyaxis.toLowerCase(),yb)===Ma?1:0;aa||(aa=this.components.data=[]);for(Z=0;Z<f;Z++)E=b&&b[Z],Q=(r=aa[Z])&&r.config,r||(r=aa[Z]={graphics:{}}),r.config||(Q=aa[Z].config={}),Q.showValue=h(E.showvalue,c.showValues),Q.setValue=r=ka.getCleanValue(E.value),Q.setLink=q(E.link),Q.toolTipValue=ma=ka.dataLabels(r,La),Q.setDisplayValue=P=S(E.displayvalue),Q.displayValue=q(P,ma),ma=h(E.dashed),P=h(E.dashlen,w),m=v=h(E.dashgap,v),Q.plotBorderDashStyle=m=1===ma?ba(P,m,p):0===ma?"none":y,
P=q(E.color,c.plotColor),z=q(E.alpha,c.plotFillAlpha),0>r&&!G&&(u=L,L=ia?180-L:360-L),Q.colorArr=C=t.graphics.getColumnColor(P+","+B,z,A,L,G,F,T.toString(),ia?1:0,Y?!0:!1),Q.label=ma=H(S(q(e[Z].tooltext,e[Z].label))),0!==N&&(J=q(E.hovercolor,d.hovercolor,g.plotfillhovercolor,g.columnhovercolor,P),mc=q(E.hoveralpha,d.hoveralpha,g.plotfillhoveralpha,g.columnhoveralpha,z),I=q(E.hovergradientcolor,d.hovergradientcolor,g.plothovergradientcolor,B),!I&&(I=D),O=q(E.hoverratio,d.hoverratio,g.plothoverratio,
A),M=h(360-E.hoverangle,360-d.hoverangle,360-g.plothoverangle,L),V=q(E.borderhovercolor,d.borderhovercolor,g.plotborderhovercolor,F),R=q(E.borderhoveralpha,d.borderhoveralpha,g.plotborderhoveralpha,g.plotfillhoveralpha,T,z),z=h(E.borderhoverthickness,d.borderhoverthickness,g.plotborderhoverthickness,p),X=h(E.borderhoverdashed,d.borderhoverdashed,g.plotborderhoverdashed),ga=h(E.borderhoverdashgap,d.borderhoverdashgap,g.plotborderhoverdashgap,w),la=h(E.borderhoverdashlen,d.borderhoverdashlen,g.plotborderhoverdashlen,
v),X=X?ba(la,ga,z):m,1==N&&J===P&&(J=Ob(J,70)),P=t.graphics.getColumnColor(J+","+I,mc,O,M,G,V,R.toString(),ia?1:0,Y?!0:!1),Q.setRolloutAttr={fill:Y?[fa(C[0]),!c.use3DLighting]:fa(C[0]),stroke:x&&fa(C[1]),"stroke-width":p,"stroke-dasharray":m},Q.setRolloverAttr={fill:Y?[fa(P[0]),!c.use3DLighting]:fa(P[0]),stroke:x&&fa(P[1]),"stroke-width":z,"stroke-dasharray":X}),m=Q.toolTipValue,P=H(S(q(E.tooltext,d.plottooltext,g.plottooltext))),Q.setErrorValue=C=ka.getCleanValue(E.errorvalue),Q.errorInPercent=h(E.errorinpercent,
ea,0),Q.errorInPercent&&(Q.setErrorValue=C=h((C/100*r).toFixed(2))),Q.positiveErrorValue=ka.getCleanValue(E.positiveerrorvalue),Q.errorInPercent&&Q.positiveErrorValue&&(Q.positiveErrorValue=h((Q.positiveErrorValue/100*r).toFixed(2))),Q.negativeErrorValue=ka.getCleanValue(E.negativeerrorvalue),Q.errorInPercent&&Q.negativeErrorValue&&(Q.negativeErrorValue=h((Q.negativeErrorValue/100*r).toFixed(2))),Q.errorToolTipValue=J=ka.dataLabels(C,La),Q.negativeErrorToolTipValue=ka.dataLabels(Q.negativeErrorValue,
La),Q.positiveErrorToolTipValue=ka.dataLabels(Q.positiveErrorValue,La),Q.errorPercentValue=mc=ja(C/r*Ha*Ha)/Ha+$a,l?null===m?E=!1:void 0!==P?(r=[1,2,3,4,5,6,7,99,100,101,102,120,121],ma={yaxisName:jb,xaxisName:U,formattedValue:m,errorValue:C,errorDataValue:J,errorPercentValue:mc,errorPercentDataValue:mc,positiveErrorValue:Q.positiveErrorToolTipValue,negativeErrorValue:Q.negativeErrorToolTipValue,label:ma},E=n(P,r,ma,E,g,d)):(k&&(K=Ba(d&&d.seriesname)),E=K?K+ta:D,E+=ma?ma+ta:D):E=!1,Q.toolText=E,Q.setTooltext=
E,u&&(L=u);c=this.config.includeInLegend;!1!==a.hasLegend&&c&&this._addLegend();this.ErrorValueConfigure()},ErrorValueConfigure:function(){var a=this.chart,c=this.config,d=this.JSONData,b=d.data,e=a.config.categories,e=da(e&&e.length,b&&b.length),f=a.jsonData.chart,a=t.parseUnsafeString,g,l,x,P=this.components.data,y=a(f.yaxisname),p=a(f.xaxisname),S=h(f.seriesnameintooltip,1),jb,U=a(q(f.tooltipsepchar,Qb)),ta,k,n,m,ma,r,u,w=-Infinity,E=Infinity,v,Hc,G,N,L=function(a){c.showTooltip?null===ma?a=!1:
void 0!==a?(ta=[1,2,3,4,5,6,7,99,100,101,102,120,121],k={yaxisName:y,xaxisName:p,formattedValue:x.toolTipValue,errorValue:m,errorDataValue:x.errorToolTipValue,errorPercentValue:x.errorPercentValue,errorPercentDataValue:x.errorPercentValue,positiveErrorValue:x.positiveErrorToolTipValue,negativeErrorValue:x.negativeErrorToolTipValue,label:x.label},a=Qa(a,ta,k,g,f,d)):(S&&(jb=Ba(d&&d.seriesname)),a=jb?jb+U:D,a+=x.label?x.label+U:D):a=!1;return a},z;c.showValues=h(d.showvalues,f.showvalues,0);c.errorBarShadow=
u=h(f.errorbarshadow,f.showshadow,1);c.ignoreEmptyDatasets=h(d.ignoreemptydatasets,0);Hc=h(f.halferrorbar,1);c.notHalfErrorBar=!h(f.halferrorbar,1);n=Wb(q(d.errorbaralpha,f.errorbaralpha,c.plotFillAlpha));c.errorBarWidthPercent=h(d.errorbarwidthpercent,f.errorbarwidthpercent,70);c.errorBarColor=aa(Ja(q(d.errorbarcolor,f.errorbarcolor,lb)),n);c.errorBarThickness=h(d.errorbarthickness,f.errorbarthickness,1);c.shadowOpacity=u?n/250:0;for(z=0;z<e;z++)if(g=b&&b[z],x=(l=P[z])&&l.config,u=n=void 0,void 0!==
h(g.value)){l||(l=P[z]={graphics:{}});l.config||(x=P[z].config={});x.notHalfErrorBar=c.notHalfErrorBar;x.halfErrorBar=Hc;v=x.setValue;x.showValue=h(g.showvalue,c.showValues);x.hasErrorValue=void 0!==h(g.errorvalue)?1:0;m=x.setErrorValue;x.errorValue=m;ma=l=x.errorToolTipValue;r=H(a(q(g.errorplottooltext,d.errorplottooltext,f.errorplottooltext,ma)));l=L(r);(r=H(a(q(g.errorplottooltext,d.errorplottooltext,f.errorplottooltext,x.positiveErrorToolTipValue))))&&x.positiveErrorToolTipValue&&(n=L(r));(r=
H(a(q(g.errorplottooltext,d.errorplottooltext,f.errorplottooltext,x.negativeErrorToolTipValue))))&&x.negativeErrorToolTipValue&&(u=L(r));G=x.positiveErrorValue;N=x.negativeErrorValue;if(G||N)x.halfErrorBar=0,x.notHalfErrorBar=!0;r=v+(null!==G?G:m);v-=x.halfErrorBar?0:0>N&&0>v?0:null!=N?N:m;w=W(w,r,v);E=da(E,r,v);null==m&&(m=void 0);x.errorValueArr=[];x.errorValueArr.push({errorValue:null!=N?N:null!==G?m:-m,tooltext:u||l});x.notHalfErrorBar&&x.errorValueArr.push({errorValue:null!==G?-G:null!=N?-m:
m,tooltext:n||l})}c.maxValue=w;c.minValue=E},init:function(a){var c=this.chart,d=c.components,d=c.isDual?d.yAxis[this.yAxis||0]:d.yAxis[0];if(!a)return!1;this.JSONData=a;this.yAxis=d;this.chartGraphics=c.chartGraphics;this.components={};this.graphics={};this.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},draw:function(){var a=this,c=a.JSONData,d=a.chart.jsonData.chart,b=a.config,e=a.groupManager,f=a.index,g=a.chart.config.categories,l=c.data,x,P,y,
p,S=a.visible,jb=a.chart,U=jb.getJobList(),ta=jb.components.paper,n=jb.components.xAxis[0],k=jb.components.yAxis[0];x=jb.graphics.columnGroup;var m,r,K=jb.graphics,u=t.parseUnsafeString,w=t.getValidValue,E=t.Raphael,v=b.showTooltip,z=n.getAxisPosition(0),G=n.getAxisPosition(1),N=b.groupMaxWidth=G-z,L=b.definedGroupPadding,A=b.plotSpacePercent/200,B=e.getDataSetPosition(a),z=e.manageClip,F=b.maxColWidth,T=jb.get(ga,X),jb=T.animType,G=T.animObj,C=T.dummyObj,T=T.duration,N=(1-.01*L)*N||da(N*(1-2*A),
1*F),N=h(B.columnWidth,N/1),Q,L=B.xPosOffset||0,B=B.height,H,J,A=a.components.data,I,M,O,W,V,F=k.getLimit(),R=F.min,F=0<F.max&&0>R,R=k.getAxisBase(),ba=k.yBasePos=k.getAxisPosition(R),aa=0,la=b.showShadow,Z=b.plotBorderThickness,b=b.plotRadius,Y=a.graphics.container,ka=a.graphics.trackerContainer,ia=a.graphics.dataLabelContainer,ja=a.graphics.shadowContainer,La=a.graphics.errorGroupContainer,ea=a.graphics.errorTrackerContainer,oa=a.graphics.errorShadowContainer;p=K.trackerGroup;var ca,K=!0,ra=!1,
Ba=!1,Ha=(a.components.removeDataArr||[]).length,ua=a.components.pool||[],Ma,Na=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Y.hide(),ka.hide(),ja.hide(),ia&&ia.hide(),La&&La.hide(),ea&&ea.hide(),oa&&oa.hide(),a._conatinerHidden=!0)},Ja=function(){a.drawLabel();a.drawErrorValue()};Y||(Y=a.graphics.container=ta.group(sa,x),S||Y.hide());ka||(ka=a.graphics.trackerContainer=ta.group(wb,p),S||ka.hide());ja||(ja=a.graphics.shadowContainer=ta.group($b,x).toBack(),S||
ja.hide());x=n.getCategoryLen();for(p=0;p<x;p++)if(P=l&&l[p],I=A[p])if(Ma=I.trackerConfig={},y=(V=I&&I.config)&&V.setValue,void 0!==I&&void 0!==y&&null!==y&&(m=0<=y,O=V.setLink,ca=V.colorArr,I.graphics||(A[p].graphics={}),W=V.displayValue,m=m?V.previousPositiveY:V.previousNegativeY,M=w(u(q(P.tooltext,c.plottooltext,d.plottooltext))),Q=k.getAxisPosition(m||R),P=n.getAxisPosition(p)+L,0!==B?(m=k.getAxisPosition(y+(m||0)),H=Ea(Q-m)):(H=0,m=Q),m=da(m,Q),!F&&z&&S&&0<Z&&(H+=Z,e.manageClip=!1),I._oriXPos=
P,I._oriYPos=m,I._oriHeight=H,I._oriWidth=N,e.isCrisp?(r=E.crispBound(P,m,N,H,Z),P=r.x,m=r.y,Q=r.width,H=r.height):Q=N,J=!1!==V.toolText&&V.toolText+(M?"":V.toolTipValue),M=V.plotBorderDashStyle,Ma.eventArgs={index:p,link:O,value:y,displayValue:W,categoryLabel:g[p].label,toolText:J?J:"",id:D,datasetIndex:f,datasetName:c.seriesname,visible:S},T||(ba=m,aa=H),y={x:P,y:ba,width:Q,height:aa||1,r:b,ishot:!v,fill:fa(ca[0]),stroke:fa(ca[1]),"stroke-width":Z,"stroke-dasharray":M,"stroke-linejoin":Aa,visibility:S},
I._xPos=P,I._yPos=m,I._height=H,I._width=Q,I.graphics.element?(ra=Ba=!0,I=I.graphics.element,y={x:P,y:m,width:Q,height:H||1},I.animateWith(C,G,y,T,jb,K&&Na),I.attr({r:b,ishot:!v,fill:fa(ca[0]),stroke:fa(ca[1]),"stroke-width":Z,"stroke-dasharray":M,"stroke-linejoin":Aa,visibility:S}),V.elemCreated=!1):(ua.element&&ua.element.length?(I=I.graphics.element=ua.element.shift(),I.show()):I=I.graphics.element=ta.rect(y,Y),I.attr(y),I.animateWith(C,G,{y:m,height:H||1},T,jb,K&&Ja),K=!1,V.elemCreated=!0),I.shadow({opacity:la},
ja).data("BBox",r),O||v))H<Ta&&(m-=(Ta-H)/2,H=Ta),Ma.attr={x:P,y:m,width:Q,height:H,r:b,cursor:O?"pointer":D,stroke:Ca,"stroke-width":Z,fill:Ca,ishot:!0,visibility:S};U.trackerDrawID.push(Ya.addJob(a.drawTracker,a,[],t.priorityList.tracker));Ha&&a.remove();ra&&a.drawLabel();Ba&&a.drawErrorValue()},show:function(){var a=this.graphics&&this.graphics.container,c=this.graphics&&this.graphics.trackerContainer,d=this.graphics&&this.graphics.dataLabelContainer,b=this.graphics&&this.graphics.shadowContainer,
e=this.graphics&&this.graphics.errorGroupContainer,f=this.graphics&&this.graphics.errorTrackerContainer,g=this.graphics&&this.graphics.errorShadowContainer,l=this.chart.is3D,x=this.components.data,P=this.chart.config.categories,y=this.yAxis,p=this.chart,P=da(this.JSONData.data&&this.JSONData.data.length,P&&P.length);p._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(l)for(a=0;a<P;a++)x[a].graphics.element&&x[a].graphics.element.attr(mb,oa),x[a].graphics.hotElement&&x[a].graphics.hotElement.attr(mb,
oa);else a.show(),c.show();b.show();d&&d.show();e&&e.show();f&&f.show();g&&g.show();p._setAxisLimits();y.draw();p._drawDataset()},hide:function(){var a=this.yAxis,c=this.chart;c._chartAnimation();this.visible=!1;c._setAxisLimits();a.draw();c._drawDataset()},drawErrorValue:function(){var a=this.config,c=this.chart.config.categories,d=this.JSONData.data,b=c&&c.length,e=d&&d.length,f,g=this.visible,l=this.chart,d=l.getJobList(),x=l.graphics.columnGroup,c=l.components.paper,P=l.components.yAxis[0],y=
this.components.data,p=this.groupManager.getDataSetPosition(this).height,h=l.get(ga,X),q=h.animType,U=h.animObj,ta=h.dummyObj,h=h.duration,k=a.errorBarThickness,n=a.errorBarWidthPercent,m=a.errorBarColor,r=a.showTooltip,a=a.shadowOpacity,K=this.graphics.errorGroupContainer,u=this.graphics.errorTrackerContainer,w=this.graphics.errorShadowContainer,l=l.graphics.trackerGroup,v,Va,z,G,N,L,A,B,F,T;K||(K=this.graphics.errorGroupContainer=c.group(Ia,x),g||K.hide());u||(u=this.graphics.errorTrackerContainer=
c.group(rb,l),g||u.hide());w||(w=this.graphics.errorShadowContainer=c.group(xb,x).toBack(),g||w.hide());b=da(b,e);for(e=0;e<b;e++)if(g=y[e],u=g.errorTrackerConfig={},u.errorTrackerArr=[],z=(v=g&&g.config)&&v.setValue,!g||void 0!==z&&null!==z||(g.graphics.element&&(g.graphics.element.hide(),g.graphics.element.shadow(!1)),g.graphics.hotElement&&g.graphics.hotElement.hide(),g.graphics.error&&g.graphics.error[0]&&(g.graphics.error[0].hide(),g.graphics.error[0].shadow({opacity:0})),g.graphics.error&&g.graphics.error[1]&&
(g.graphics.error[1].hide(),g.graphics.error[1].shadow({opacity:0})),g.graphics.errorTracker&&g.graphics.errorTracker[0]&&(g.graphics.errorTracker[0].hide(),g.graphics.errorTracker[0].shadow({opacity:0})),g.graphics.errorTracker&&g.graphics.errorTracker[1]&&(g.graphics.errorTracker[1].hide(),g.graphics.errorTracker[1].shadow({opacity:0}))),void 0!==g&&void 0!==z&&null!==z)if(x=v.errorValueArr,u.errorLen=l=x.length,!g.graphics.error&&(g.graphics.error=[]),!g.graphics.errorTracker&&(g.graphics.errorTracker=
[]),v.errorValue===D||void 0===v.errorValue||null===v.errorValue&&null===v.positiveErrorValue&&null===v.negativeErrorValue)g.graphics.error&&g.graphics.error[0]&&(g.graphics.error[0].hide(),g.graphics.error[0].shadow({opacity:0})),g.graphics.error&&g.graphics.error[1]&&(g.graphics.error[1].hide(),g.graphics.error[1].shadow({opacity:0})),g.graphics.errorTracker&&g.graphics.errorTracker[0]&&(g.graphics.errorTracker[0].hide(),g.graphics.errorTracker[0].shadow({opacity:0})),g.graphics.errorTracker&&g.graphics.errorTracker[1]&&
(g.graphics.errorTracker[1].hide(),g.graphics.errorTracker[1].shadow({opacity:0}));else for(v=v.setLink,A=0>z,Va=g._oriXPos,B=g._oriYPos,F=g._oriWidth,T=g._oriHeight,z=A?B+T:B,Va+=F/2;l--;)u.errorTrackerArr[l]={},L=x[l],u.errorTrackerArr[l].tooltext=L.tooltext,f=z,G=L.errorValue,null===G||isNaN(G)?(g.graphics.error&&g.graphics.error[l]&&(g.graphics.error[l].hide(),g.graphics.error[l].shadow({opacity:l})),g.graphics.errorTracker&&g.graphics.errorTracker[l]&&(g.graphics.errorTracker[l].hide(),g.graphics.errorTracker[l].shadow({opacity:l}))):
(L=n/100*F,L/=2,N=0===p?0:1,G=B+(P.getAxisPosition(0)-P.getAxisPosition(1))*G*N,A&&(G+=T),G=ja(G)+k%2/2,N=ja(Va)+k%2/2,L=["M",N,f,"V",G,"M",N-L,G,"H",N+L],g.graphics.error[l]?(f={path:L},G=g.graphics.error[l],G.animateWith(ta,U,f,h,q),G.attr({stroke:m,ishot:!r,"stroke-width":k,cursor:v?"pointer":D,"stroke-linecap":V})):G=g.graphics.error[l]=c.path(L,K).attr({stroke:m,ishot:!r,"stroke-width":k,cursor:v?"pointer":D,"stroke-linecap":V}),G.show(),G.shadow({opacity:a},w),u.errorTrackerArr[l].attr={path:L,
stroke:Ca,"stroke-width":k<Ta?Ta:k,cursor:v?"pointer":D,ishot:!!v});d.trackerDrawID.push(Ya.addJob(this.drawErrorTracker,this,[],t.priorityList.tracker))},drawErrorTracker:function(){var a=this.config,c=this.chart,d=this.components.data,b=c.components,e=b.paper,b=b.xAxis[0].getCategoryLen(),f=this.graphics.errorTrackerContainer,g,l,x,P,y,p,h,q,U,ta=function(a){Z.call(this,c,a)},k=function(a){Z.call(this,c,a,"DataPlotRollOver")},n=function(a){Z.call(this,c,a,"DataPlotRollOut")},m=function(a){return function(){void 0!==
a&&c.linkClickFN.call({link:a},c)}};for(y=0;y<b;y++)if(p=d[y]){P=p&&p.config;l=p.trackerConfig;g=p.errorTrackerConfig;x=g.errorTrackerArr;for(g=g.errorLen;g--;)if(x[g]&&(U=x[g].attr)){if(p.graphics.errorTracker[g])p.graphics.errorTracker[g].show(),p.graphics.errorTracker[g].attr(U);else if(P.setLink||a.showTooltip)h=p.graphics.errorTracker[g]=e.path(f).attr(U);q=l.eventArgs;(h=p.graphics.errorTracker[g])&&h.data("eventArgs",q);h&&h.click(ta).data("groupId",void 0).hover(k,n);a.showTooltip?h&&h.tooltip(x[g].tooltext):
h&&h.tooltip(!1);(P.setLink||a.showTooltip)&&h&&h.click(m(P.setLink))}P.notHalfErrorBar||(p.graphics.error&&p.graphics.error[1]&&p.graphics.error[1].hide()&&p.graphics.error[1].shadow({opacity:0}),p.graphics.errorTracker&&p.graphics.errorTracker[1]&&p.graphics.errorTracker[1].hide()&&p.graphics.errorTracker[1].shadow({opacity:0}))}},remove:function(){var a=this.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),b=c.length,e,f=this.maxminFlag,g,l;for(l=0;l<b;l++)e=
c[0],c.splice(0,1),e&&e.graphics&&(g=e.graphics,g.element&&g.element.hide()&&g.element.shadow({opacity:0}),g.error&&g.error[0]&&g.error[0].hide()&&g.error[0].shadow({opacity:0}),g.error&&g.error[1]&&g.error[1].hide()&&g.error[1].shadow({opacity:0}),g.errorTracker&&g.errorTracker[0]&&g.errorTracker[0].hide()&&g.errorTracker[0].shadow({opacity:0}),g.errorTracker&&g.errorTracker[1]&&g.errorTracker[1].hide()&&g.errorTracker[1].shadow({opacity:0}),g.hotElement&&g.hotElement.hide()&&g.hotElement.attr({width:0}),
e.graphics.element&&(d.element=d.element.concat(e.graphics.element)),e.graphics.hotElement&&(d.hotElement=d.hotElement.concat(e.graphics.hotElement)),e.graphics.label&&(d.label=d.label.concat(e.graphics.label)));a.pool=d;f&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["datasetGroup","errorbar2d",{},F]);I("errorline",{friendlyName:"Error Line Chart",useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,creditLabel:!1,defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,canvasPaddingModifiers:["anchor",
"errorbar"],defaultDatasetType:"errorline",applicableDSList:{errorline:!0}},I.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);FusionCharts.register("component",["dataset","ErrorLine",{type:w,ErrorValueConfigure:function(){var a=this.chart,c=this.config,d=a.config,b=c.parentYAxis,e=this.JSONData,f=e.data,g=a.jsonData.chart,l=a.components.xAxis[0].getCategoryLen(),x=t.parseUnsafeString,P,y,p,S=this.components.data,a=a.components.numberFormatter,k,U,ta,n,m=c.linethickness,
r=-Infinity,ma=Infinity,u,v=x(g.yaxisname),w=x(g.xaxisname),E=q(g.tooltipsepchar,Qb),Va,z,G,N=h(g.seriesnameintooltip,1),L=function(a){d.showtooltip?null===ta?a=!1:void 0!==a?(Va=[1,2,3,4,5,6,7,99,100,101,102],z={yaxisName:v,xaxisName:w,formattedValue:p.toolTipValue,errorValue:U,errorDataValue:p.errorToolTipValue,errorPercentValue:p.errorPercentValue,errorPercentDataValue:p.errorPercentValue,label:p.label},a=Qa(a,Va,z,P,g,e)):(N&&(G=Ba(e&&e.seriesname)),a=G?G+E:D,a+=p.label?p.label+E:D):a=!1;return a};
c.errorBarShadow=n=h(g.errorbarshadow,g.showshadow,1);c.ignoreEmptyDatasets=h(e.ignoreemptydatasets,0);u=h(g.halferrorbar,1);c.notHalfErrorBar=!h(g.halferrorbar,1);k=Wb(q(e.errorbaralpha,g.errorbaralpha,c.alpha));c.errorBarWidth=h(e.errorbarwidth,g.errorbarwidth,5);c.errorBarColor=aa(Ja(q(e.errorbarcolor,g.errorbarcolor,lb)),k);y=h(e.errorbarthickness,g.errorbarthickness,1);c.errorBarThickness=y>m?m:y;c.shadowOpacity=n?k/250:0;for(k=0;k<l;k++)P=f&&f[k],f&&P&&(p=(y=S[k])&&y.config,y||(y=S[k]={graphics:{}}),
y.config||(p=S[k].config={}),m=p.setValue,U=a.getCleanValue(P.errorvalue),p.errorToolTipValue=a.dataLabels(U,b),ja(U/m*Ha*Ha),p.hasErrorValue=void 0!==h(P.errorvalue)?1:0,U=a.getCleanValue(P.errorvalue),ta=y=p.errorToolTipValue,y=H(x(q(P.errorplottooltext,e.errorplottooltext,g.errorplottooltext,ta))),p.errorValue=P.errorvalue,n=m+U,m-=u?0:U,r=W(r,n,m),ma=da(ma,n,m),y=L(y),p.errorValueArr=[],p.errorValueArr.push({errorValue:-U,tooltext:y}),c.notHalfErrorBar&&p.errorValueArr.push({errorValue:U,tooltext:y}),
p.toolText=L(p.setTooltext));c.maxValue=r;c.minValue=ma},init:function(a){var c=this.chart,d=c.components,b=c.isDual;this.chart=c;this.yAxis=b?d.yAxis[this.yAxis||0]:d.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},show:function(){var a=this.chart,c=this.yAxis,d=this.graphics&&this.graphics.container,b=this.graphics&&this.graphics.trackerContainer,e=this.graphics&&this.graphics.dataLabelContainer,
f=this.graphics&&this.graphics.errorGroupContainer,g=this.graphics&&this.graphics.errorTrackerContainer,l=this.graphics&&this.graphics.errorShadowContainer;a._chartAnimation();d.lineGroup.show();d.anchorGroup.show();d.anchorShadowGroup.show();d.lineShadowGroup.show();b.show();e.show();this.visible=!0;f&&f.show();g&&g.show();l&&l.show();this._conatinerHidden=!1;a._setAxisLimits();c.draw();a._drawDataset()},hide:function(){var a=this.chart,c=this.yAxis;a._chartAnimation();this.visible=!1;a._setAxisLimits();
c.draw();a._drawDataset()},drawErrorValue:function(){var a=this.config,c=this.chart,d=c.getJobList(),b=c.graphics.datasetGroup,e=c.components,f=e.xAxis[0].getCategoryLen(),g,l,x=this.visible,e=e.paper,P=this.yAxis,h=this.components.data,p=c.get(ga,X),S=p.animType,q=p.animObj,U=p.dummyObj,p=p.duration,k=a.errorBarThickness,n=a.errorBarWidth,m=a.errorBarColor,r=c.config.showtooltip,a=a.shadowOpacity;l=this.graphics.container.lineGroup;var u=this.graphics.errorGroupContainer,K=this.graphics.errorTrackerContainer,
v=this.graphics.errorShadowContainer,c=c.graphics.trackerGroup,w=this.graphics.trackerContainer,E,Va,z,G,N,L,A;u||(u=this.graphics.errorGroupContainer=e.group(Ia,b).insertAfter(l),x||u.hide());K||(K=this.graphics.errorTrackerContainer=e.group(rb,c).insertBefore(w),x||K.hide());v||(v=this.graphics.errorShadowContainer=e.group(xb,b).insertBefore(u),x||v.hide());for(b=0;b<f;b++)if(c=h[b],l=c.errorTrackerConfig={},l.errorTrackerArr=[],K=(E=c&&c.config)&&E.setValue,void 0===c||void 0===K||null===K){if(c.graphics.error)for(l=
0;l<c.graphics.error.length;l++)c.graphics.error[l].hide(),c.graphics.errorTracker[l].hide(),c.graphics.error[l].shadow(!1)}else if(K=E.errorValueArr,l.errorLen=w=K.length,!c.graphics.error&&(c.graphics.error=[]),!c.graphics.errorTracker&&(c.graphics.errorTracker=[]),E.errorValue===D||void 0===E.errorValue)c.graphics.error&&c.graphics.error[0]&&(c.graphics.error[0].hide(),c.graphics.error[0].shadow({opacity:0})),c.graphics.error&&c.graphics.error[1]&&(c.graphics.error[1].hide(),c.graphics.error[1].shadow({opacity:0}));
else for(E=E.setLink,Va=c._xPos,z=A=c._yPos;w--;)l.errorTrackerArr[w]={},L=K[w],l.errorTrackerArr[w].tooltext=L.tooltext,g=z,N=L.errorValue,L=n/2,G=x?1:0,G=A+(P.getAxisPosition(0)-P.getAxisPosition(1))*N*G,G=ja(G)+k%2/2,N=ja(Va)+k%2/2,L=["M",N,g,"V",G,"M",N-L,G,"H",N+L],c.graphics.error[w]?(g={path:L},G=c.graphics.error[w],G.animateWith(U,q,g,p,S),G.attr({stroke:m,ishot:!r,"stroke-width":k,cursor:E?"pointer":D,"stroke-linecap":V})):G=c.graphics.error[w]=e.path(L,u).attr({stroke:m,ishot:!r,"stroke-width":k,
cursor:E?"pointer":D,"stroke-linecap":V}),G.show(),G.shadow({opacity:a},v),l.errorTrackerArr[w].attr={path:L,stroke:Ca,"stroke-width":k<Ta?Ta:k,cursor:E?"pointer":D,ishot:!!E};d.trackerDrawID.push(Ya.addJob(this.drawErrorTracker,this,[],t.priorityList.tracker))},drawErrorTracker:function(){var a=this.config,c=this.chart,d=this.components.data,b=c.components,e=b.paper,b=b.xAxis[0].getCategoryLen(),f=this.graphics.errorTrackerContainer,g,l,x,h,y,p=c.config.showtooltip,S,q,U,k=function(a){Z.call(this,
c,a)},n=function(a){Z.call(this,c,a,"DataPlotRollOver")},m=function(a){Z.call(this,c,a,"DataPlotRollOut")},t=function(a){return function(){void 0!==a&&c.linkClickFN.call({link:a},c)}};for(h=0;h<b;h++){x=(y=d[h])&&y.config;g=y.errorTrackerConfig;l=g.errorTrackerArr;for(g=g.errorLen;g--;)if(l[g]&&(U=l[g].attr)){if(y.graphics.errorTracker[g])y.graphics.errorTracker[g].show(),y.graphics.errorTracker[g].attr(U);else if(x.setLink||p)S=y.graphics.errorTracker[g]=e.path(f).attr(U);q=x.eventArgs;(S=y.graphics.errorTracker[g])&&
S.data("eventArgs",q);S&&S.click(k).data("groupId",void 0).hover(n,m);p?S&&S.tooltip(l[g].tooltext):S&&S.tooltip(!1);(x.setLink||p)&&S&&S.click(t(x.setLink))}a.notHalfErrorBar||(y.graphics.error&&y.graphics.error[1]&&y.graphics.error[1].hide()&&y.graphics.error[1].shadow({opacity:0}),y.graphics.errorTracker&&y.graphics.errorTracker[1]&&y.graphics.errorTracker[1].hide()&&y.graphics.errorTracker[1].shadow({opacity:0}))}},manageSpace:function(){var a=.5*this.config.errorBarWidth,c=this.chart,d=c.config.dataLabelStyle,
b=(this.components||{}).data||[],e=b[0],b=b[b.length-1],f,g;f={};var l,x,P,y=c.linkedItems.smartLabel,p={paddingLeft:0,paddingRight:0};e&&(e=e.config,P=e.showValue,g=e&&e.anchorProps||{},P&&(f=e.displayValue,y.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),y.setStyle(d),f=y.getOriSize(f)),e.setValue&&(l=W(h(g.radius,0),a)+h(g.borderThickness,0),x=(f.width||0)/2),p.paddingLeft=W(l,x));b&&(e=b.config,P=e.showValue,g=e&&e.anchorProps||{},P&&(f=e.displayValue,y.setStyle(d),f=y.getOriSize(f)),
e.setValue&&(l=W(h(g.radius,0),a)+h(g.borderThickness,0),x=(f.width||0)/2),p.paddingRight=W(l,x));return p},_removeDataVisuals:function(a){a&&(a=a.graphics,a.element&&a.element.hide()&&a.element.shadow({opacity:0}),a.error&&a.error[0]&&a.error[0].hide()&&a.error[0].shadow({opacity:0}),a.error&&a.error[1]&&a.error[1].hide()&&a.error[1].shadow({opacity:0}),a.errorTracker&&a.errorTracker[0]&&a.errorTracker[0].hide()&&a.errorTracker[0].shadow({opacity:0}),a.errorTracker&&a.errorTracker[1]&&a.errorTracker[1].hide()&&
a.errorTracker[1].shadow({opacity:0}),a.hotElement&&a.hotElement.hide()&&a.hotElement.attr({width:0}))}},w]);I("errorscatter",{friendlyName:"Error Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:!1,defaultDatasetType:"errorscatter",applicableDSList:{errorscatter:!0},defaultZeroPlaneHighlighted:!1,useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,initAnimation:!0},I.scatterBase);FusionCharts.register("component",["dataset","ErrorScatter",{ErrorValueConfigure:function(){var a=this.chart,c=a.components,
d=this.config,b=this.JSONData,e=a.config.categories,f=a.jsonData.chart,g=b.data,l=c.xAxis[0].getCategoryLen(),l=g&&g.length||l,x=t.parseUnsafeString,P,y,p,S=this.components.data,k=c.numberFormatter,U,n,m,r,u,ma,K,w,v,E,Va,z,G,N,L=q(f.tooltipsepchar,Qb),D=x(f.yaxisname),B=x(f.xaxisname),F=d.parentYAxis,T,C,Q,I,J,M,V,O,X,fa=-Infinity,R=Infinity,ba=Infinity,ga=-Infinity,la=function(a,c){var e;d.showTooltip?null===C?e=!1:void 0!==a?(J=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],M=
{yaxisName:D,xaxisName:B,yDataValue:C,xDataValue:p.label,formattedValue:p.toolTipValue,horizontalErrorValue:v,horizontalErrorDataValue:Va,verticalErrorValue:E,verticalErrorDataValue:G,horizontalErrorPercent:Q,verticalErrorPercent:I,label:p.label,errorValue:c,errorDataValue:c,errorPercentValue:p.errorPercentValue,errorPercentDataValue:p.errorPercentValue},e=Qa(a,J,M,P,f,b)):null===C?e=!1:(d.seriesNameInTooltip&&(V=t.getFirstValue(b&&b.seriesname)),e=V?V+L:A,e+=T.x?k.xAxis(T.x)+L:A,e+=p.toolTipValue):
e=!1;return e};d.errorBarShadow=c=h(f.errorbarshadow,f.showshadow,0);d.ignoreEmptyDatasets=h(b.ignoreemptydatasets,0);d.notHalfErrorBar=!h(f.halferrorbar,1);d.errorBarAlpha=Wb(q(b.errorbaralpha,f.errorbaralpha));d.errorBarWidth=n=h(b.errorbarwidth,f.errorbarwidth,5);d.errorBarColor=m=aa(Ja(q(b.errorbarcolor,f.errorbarcolor,lb)),void 0);d.errorBarThickness=U=h(b.errorbarthickness,f.errorbarthickness,1);d.shadowOpacity=c?NaN:0;d.halfHorizontalErrorBar=r=h(f.halfhorizontalerrorbar,1);d.halfVerticalErrorBar=
u=h(f.halfverticalerrorbar,1);void 0===d.initAnimation&&(d.initAnimation=a.initAnimation);a=q(b.horizontalerrorbaralpha,b.errorbaralpha,f.horizontalerrorbaralpha,void 0);ma=h(b.verticalerrorbaralpha,b.errorbaralpha,f.verticalerrorbaralpha,void 0);K=aa(q(b.horizontalerrorbarcolor,b.errorbarcolor,f.horizontalerrorbarcolor,m),a);m=aa(q(b.verticalerrorbarcolor,b.errorbarcolor,f.verticalerrorbarcolor,m),ma);w=h(b.horizontalerrorbarthickness,b.errorbarthickness,f.horizontalerrorbarthickness,U);U=h(b.verticalerrorbarthickness,
b.errorbarthickness,f.verticalerrorbarthickness,U);d.horizontalErrorBarWidth=h(b.horizontalerrorbarwidth,f.horizontalerrorbarwidth,n);d.verticalErrorBarWidth=h(b.verticalerrorbarwidth,f.verticalerrorbarwidth,n);for(n=0;n<l;n++)g&&(P=g&&g[n],p=(y=S[n])&&y.config,y||(y=S[n]={graphics:{}}),y.config||(p=S[n].config={}),y=k.getCleanValue(P.errorvalue),T=p.setValue,p.errorValue=P.errorvalue,p.hErrorValue=v=k.getCleanValue(q(P.horizontalerrorvalue,P.errorvalue)),p.vErrorValue=E=k.getCleanValue(q(P.verticalerrorvalue,
P.errorvalue)),Va=k.dataLabels(v,F),z=H(x(q(P.errorplottooltext,b.errorplottooltext,f.errorplottooltext,Va))),G=k.dataLabels(E,d.parentYAxis),N=H(x(q(P.errorplottooltext,b.errorplottooltext,f.errorplottooltext,G))),e&&e[n]&&(p.label=H(x(q(e[n].tooltext,e[n].label)))),null!==T.x&&(O=T.x+Number(v),X=T.x-(r?0:Number(v)),ga=W(ga,O,X),ba=da(ba,O,X)),null!==T.y&&(O=T.y+Number(E),X=T.y-(u?0:Number(E)),fa=W(fa,O,X),R=da(R,O,X)),p.useHorizontalErrorBar=h(P.usehorizontalerrorbar,b.usehorizontalerrorbar,f.usehorizontalerrorbar,
0),p.useVerticalErrorBar=h(P.useverticalerrorbar,b.useverticalerrorbar,f.useverticalerrorbar,1),p.errorValueArr=[],p.errorValueArr.push({errorValue:-v,tooltext:la(z,Va),errorBarColor:K,isHorizontal:1,errorBarThickness:w,shadowOpacity:c?a/250:0}),p.errorValueArr.push({errorValue:v,tooltext:la(z,Va),errorBarColor:K,isHorizontal:1,errorBarThickness:w,shadowOpacity:c?a/250:0}),p.errorValueArr.push({errorValue:-E,tooltext:la(N,G),errorBarColor:m,errorBarThickness:U,shadowOpacity:c?ma/250:0}),p.errorValueArr.push({errorValue:E,
tooltext:la(N,G),errorBarColor:m,errorBarThickness:U,shadowOpacity:c?ma/250:0}),T=p.setValue,ja(y/T*Ha*Ha),Q=ja(v/T*Ha*Ha)/Ha+$a,I=ja(E/T*Ha*Ha)/Ha+$a,C=p.formatedVal,d.showTooltip?void 0!==p.setTooltext?(J=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],M={yaxisName:D,xaxisName:B,yDataValue:C,xDataValue:p.label,formattedValue:p.toolTipValue,horizontalErrorValue:v,horizontalErrorDataValue:Va,verticalErrorValue:E,verticalErrorDataValue:G,horizontalErrorPercent:Q,verticalErrorPercent:I,
label:p.label},y=Qa(p.setTooltext,J,M,P,f,b)):null===C?y=!1:(d.seriesNameInTooltip&&(V=t.getFirstValue(b&&b.seriesname)),y=V?V+L:A,y+=T.x?k.xAxis(T.x)+L:A,y+=p.toolTipValue):y=!1,p.toolText=y);d.xMax=ga;d.xMin=ba;d.yMin=R;d.yMax=fa},drawErrorValue:function(){var a=this.chart,c=a.getJobList(),d=a.components,b=this.parentContainer,e=this.config,f=this.JSONData.data,f=f&&f.length,g,l=this.visible,x=d.paper,d=d.xAxis[0],P=this.yAxis,y=this.components.data,p,S,q,U,k=a.graphics,n=e.showTooltip,m=e.shadowOpacity,
r=a.get(ga,X),a=r.animType,u=r.animObj,K=r.dummyObj,r=r.duration,v=this.graphics.container.lineGroup,w=this.graphics.errorGroupContainer,E=this.graphics.errorTrackerContainer,Va=this.graphics.errorShadowContainer,z=this.graphics.trackerContainer,k=k.trackerGroup,G,N,L,A,B,F,T,C,Q;w||(w=this.graphics.errorGroupContainer=x.group(Ia,b).insertAfter(v),l||w.hide());E||(E=this.graphics.errorTrackerContainer=x.group(rb,k).insertBefore(z),l||E.hide());Va||(Va=this.graphics.errorShadowContainer=x.group(xb,
b).insertBefore(w),l||Va.hide());for(b=0;b<f;b++)if(k=y[b],z=k.errorTrackerConfig={},z.errorTrackerArr=[],U=(v=k&&k.config)&&v.setValue,E=v.errorValueArr,void 0!==k&&void 0!==U&&null!==U&&E&&(E=v.errorValueArr,z.errorLen=F=E.length,!k.graphics.error&&(k.graphics.error=[]),!k.graphics.errorTracker&&(k.graphics.errorTracker=[]),null===v.vErrorValue&&(k.graphics.error&&k.graphics.error[0]&&(k.graphics.error[0].hide(),k.graphics.error[0].shadow({opacity:0})),k.graphics.error&&k.graphics.error[1]&&(k.graphics.error[1].hide(),
k.graphics.error[1].shadow({opacity:0}))),null===v.hErrorValue&&(k.graphics.error&&k.graphics.error[2]&&(k.graphics.error[2].hide(),k.graphics.error[2].shadow({opacity:0})),k.graphics.error&&k.graphics.error[3]&&(k.graphics.error[3].hide(),k.graphics.error[3].shadow({opacity:0}))),null!==v.hErrorValue||null!==v.vErrorValue))for(G=v.setLink,T=k._xPos,L=C=k._yPos,N=T,Q=0;Q<F;Q++)!v.useHorizontalErrorBar&&(0===Q||1===Q)||!v.useVerticalErrorBar&&(2===Q||3===Q)||1===Q&&e.halfHorizontalErrorBar||3===Q&&
e.halfVerticalErrorBar?(k.graphics.error&&k.graphics.error[Q]&&k.graphics.error[Q].hide()&&k.graphics.error[Q].shadow({opacity:0}),k.graphics.errorTracker&&k.graphics.errorTracker[Q]&&k.graphics.errorTracker[Q].hide()&&k.graphics.errorTracker[Q].shadow({opacity:0})):(z.errorTrackerArr[Q]={},S=E[Q],z.errorTrackerArr[Q].tooltext=S.tooltext,g=L,A=S.errorValue,U=S.errorBarColor,p=h(S.isHorizontal,0),S=h(S.errorBarThickness,e.errorBarThickness,1),q=p?e.horizontalErrorBarWidth:e.verticalErrorBarWidth,q=
l?q/2:0,B=l?1:0,p?(A=T+(d.getAxisPosition(0)-d.getAxisPosition(1))*A*B,p=ja(g)+S%2/2,A=ja(A)+S%2/2,q=["M",N,p,"H",A,"M",A,p-q,"V",p+q]):(A=C+(P.getAxisPosition(0)-P.getAxisPosition(1))*A*B,p=ja(A)+S%2/2,A=ja(N)+S%2/2,q=["M",A,g,"V",p,"M",A-q,p,"H",A+q]),k.graphics.error[Q]?(p=k.graphics.error[Q],g={path:q,"stroke-width":l?S:0},p.animateWith(K,u,g,r,a),p.attr({stroke:U,ishot:!n,cursor:G?"pointer":D,"stroke-linecap":V})):(p=k.graphics.error[Q]=x.path(q,w).attr({stroke:U,ishot:!n,"stroke-width":S,cursor:G?
"pointer":D,"stroke-linecap":V}),e.initAnimation&&p.attr({opacity:0}).animateWith(K,u,{opacity:1},r,a)),p.show(),p.shadow({opacity:m},Va),z.errorTrackerArr[Q].attr={path:q,stroke:Ca,"stroke-width":l?S<Ta?Ta:S:0,cursor:G?"pointer":D,ishot:!!G});e.initAnimation=!1;c.trackerDrawID.push(Ya.addJob(this.drawErrorTracker,this,[],t.priorityList.tracker))},drawErrorTracker:function(){var a=this.config,c=this.chart,d=this.components.data,b=c.components,e=b.paper,b=b.xAxis[0].getCategoryLen(),f=this.graphics.errorTrackerContainer,
g,l,x,h,y,p,S,k,U,q=function(a){Z.call(this,c,a)},n=function(a){Z.call(this,c,a,"DataPlotRollOver")},m=function(a){Z.call(this,c,a,"DataPlotRollOut")},r=function(a){return function(){void 0!==a&&c.linkClickFN.call({link:a},c)}};for(h=0;h<b;h++)if(p=d[h])for(x=p&&p.config,g=p.errorTrackerConfig,l=g.errorTrackerArr,g=g.errorLen,y=0;y<g;y++)if(l[y]&&(U=l[y].attr)){if(p.graphics.errorTracker[y])p.graphics.errorTracker[y].show(),p.graphics.errorTracker[y].attr(U);else if(x.setLink||a.showTooltip)S=p.graphics.errorTracker[y]=
e.path(f).attr(U);k=x.eventArgs;(S=p.graphics.errorTracker[y])&&S.data("eventArgs",k);S&&S.click(q).data("groupId",void 0).hover(n,m);a.showTooltip?S&&S.tooltip(l[y].tooltext):S&&S.tooltip(!1);(x.setLink||a.showTooltip)&&S&&S.click(r(x.setLink))}},show:function(){var a=this.chart,c=this.yAxis,d=this.graphics&&this.graphics.errorGroupContainer,b=this.graphics&&this.graphics.errorTrackerContainer,e=this.graphics&&this.graphics.errorShadowContainer;a._chartAnimation();this.visible=!0;this._conatinerHidden=
!1;d&&d.show();b&&b.show();e&&e.show();a._setAxisLimits();c.draw();this.draw()},remove:function(){var a=this.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),b=c.length,e,f=this.maxminFlag,g,l,x;for(l=0;l<b;l++)if(e=c[0],c.splice(0,1),e&&e.graphics){g=e.graphics;g.element&&g.element.hide()&&g.element.shadow({opacity:0});for(x=0;4>x;x++)g.error&&g.error[x]&&g.error[x].hide()&&g.error[x].shadow({opacity:0}),g.errorTracker&&g.errorTracker[x]&&g.errorTracker[x].hide()&&
g.errorTracker[x].shadow({opacity:0});g.hotElement&&g.hotElement.hide()&&g.hotElement.attr({width:0});e.graphics.element&&(d.element=d.element.concat(e.graphics.element));e.graphics.hotElement&&(d.hotElement=d.hotElement.concat(e.graphics.hotElement));e.graphics.label&&(d.label=d.label.concat(e.graphics.label))}a.pool=d;f&&this.setMaxMin()}},"Scatter"]);FusionCharts.register("component",["dataset","multiaxisline",{type:"multiaxisline",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var a=
this.chart,c=this.JSONData,d=this.config,b=a.config,e=a.components,f=a.jsonData,g=f.chart,l=f.axis[this.axisIndex],x=a.singleseries,f=FusionCharts.get("component",["dataset",w]).prototype;f.configure.call(this);this.yAxis=e.yAxis[this.axisIndex];b.axesPadding=5;b.allowAxisShift=h(g.allowaxisshift,1);b.allowSelection=h(g.allowselection,1);b.checkBoxColor=q(g.checkboxcolor,"#2196f3");b.axisConfigured=!0;d.linethickness=h(c.linethickness,l.linethickness,g.linethickness,x?4:2);d.lineDashLen=h(c.linedashlen,
l.linedashlen,g.linedashlen,5);d.lineDashGap=h(c.linedashgap,l.linedashgap,g.linedashgap,4);d.alpha=h(c.alpha,l.linealpha,g.linealpha,Ha);d.linecolor=q(c.color,l.linecolor,l.color,g.linecolor,d.plotColor);d.legendSymbolColor=this.type===w?d.lineColor:d.plotFillColor;e=h(c.dashed,l.linedashed,g.linedashed);b=t.getDashStyle(d.lineDashLen,d.lineDashGap,d.linethickness);d.anchorBorderColor=q(c.anchorbordercolor,g.anchorbordercolor,d.lineColor,d.plotColor);d.lineDashStyle=e?b:"none";f._setConfigure.call(this);
!1!==a.hasLegend&&this._addLegend()},init:function(a){this.chart=this.chart;this.components={};this.conf={};this.graphics={};this.JSONData=a;this.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},legendInteractivity:function(a,c){var d=a.chart,b=d.components.dataset,e=this.config,f=a.visible,g=c.config,l=c.graphics,x=e.itemHiddenStyle.color,e=e.itemStyle.color,h=g.fillColor,g=g.strokeColor,y=a.axisIndex,p=!0,S,d=d.config.axesArr.checkBox;f?a.hide():a.show();
if(f){for(S in b)b.hasOwnProperty(S)&&b[S].visible&&b[S].axisIndex===y&&(p=!1);p&&d[y]&&d[y].checkbox.uncheck()}else d[y]&&d[y].checkbox.check();f?(l.legendItemSymbol&&l.legendItemSymbol.attr({fill:x,stroke:x}),l.legendItemText&&l.legendItemText.attr({fill:x}),l.legendIconLine&&l.legendIconLine.attr({stroke:x})):(l.legendItemSymbol&&l.legendItemSymbol.attr({fill:h,stroke:g}),l.legendItemText&&l.legendItemText.attr({fill:e}),l.legendIconLine&&l.legendIconLine.attr({stroke:h}))}},w]);I("waterfall2d",
{standaloneInit:!0,friendlyName:"Waterfall Chart",creditLabel:!1,defaultDatasetType:"Waterfall2D",applicableDSList:{Waterfall2D:!0},singleseries:!0,hasLegend:!1,_dataSegregator:function(a){var c=[],d=[];Sa(a,function(a,e){"true"!==a.vline&&!0!==a.vline&&1!==a.vline&&"1"!==a.vline?c.push(a):d.push({index:e,data:a})});return{data:c,catData:d}}},I.sscartesian);I("multilevelpie",{standaloneInit:!0,friendlyName:"Multi-level Pie Chart",creditLabel:!1,defaultDatasetType:"multiLevelPie",applicableDSList:{multiLevelPie:!0},
is3d:!0,hasLegend:!1,hasCanvas:!1,_createDatasets:function(){var a=this.components,c=this.jsonData,d=c.dataset||[],b=d.length,e,f,g=this.defaultDatasetType,l=this.applicableDSList,x;e=[];var h={};e=this.config.categories=c.category||[];c=e.length;!b&&c&&(d=e,b=c);c||this.setChartMessage();e=a.dataset||(a.dataset=[]);for(a=0;a<b;a+=1)if(c=d[a],c.seriesname&&(c.seriesname=M(c.seriesname)),f=c.parentyaxis||D,f=(f=f.toLowerCase()===Ma?q(c.renderas,this.sDefaultDatasetType):q(c.renderas,g))&&f.toLowerCase(),
l[f]||(f=g),x=FusionCharts.get("component",["dataset",f]))void 0===h[f]?h[f]=0:h[f]++,e[0]?(f=e[0],f.JSONData=c):(f=new x,e.push(f),f.chart=this,f.index=a),f.init(d)},_spaceManager:function(){var a=this.config;this._allocateSpace(this._manageActionBarSpace&&this._manageActionBarSpace(.225*a.availableHeight)||{});this._manageChartMenuBar(.7*a.canvasHeight)}},I.guageBase);FusionCharts.register("component",["dataset","multiLevelPie",{init:function(a){!this.components&&(this.components={data:[]});this.conf=
{};this.graphics={};this.JSONData=a;this.configure()},configure:function(){var a,c,d=this,b=d.chart,e=b.config,f=d.conf||(d.conf={}),g=f.dataLabelOptions||(f.dataLabelOptions={}),l=f.piePlotOptions,x=b.config.style,P=d.JSONData,b=b.jsonData.chart;a=f.enableAnimation=h(b.animation,b.defaultanimation,1);var y=h(-b.centerangle,180),p=h(b.totalangle,360);f.animation=a?{duration:1E3*h(b.animationduration,b.moveduration,1)}:!1;f.showShadow=h(b.showshadow,0);a=f.useHoverColor=!!h(b.usehovercolor,1);f.hoverFillColor=
aa(q(b.hoverfillcolor,"FF5904"),h(b.hoverfillalpha,100));f.pierad=parseInt(b.pieradius,10);c=(c=Ba(b.valuebordercolor,A))?aa(c,h(b.valueborderalpha,b.valuebgalpha,b.valuealpha,100)):A;!g.style&&(g.style={fontFamily:q(b.valuefont,x.fontFamily),fontSize:h(b.valuefontsize,parseInt(x.fontSize,10))+"px",color:aa(q(b.valuefontcolor,x.color),h(b.valuefontalpha,b.valuealpha,100)),fontWeight:h(b.valuefontbold)?"bold":"normal",fontStyle:h(b.valuefontitalic)?"italic":"normal",backgroundColor:b.valuebgcolor?
aa(b.valuebgcolor,h(b.valuebgalpha,b.valuealpha,100)):A,border:c||b.valuebgcolor?h(b.valueborderthickness,1)+"px solid":A,borderPadding:h(b.valueborderpadding,2),borderThickness:h(b.valueborderthickness,x.borderThickness,1),borderRadius:h(b.valueborderradius,x.borderRadius,0),borderColor:c,borderDash:h(b.valueborderdashed,0)?nb(h(b.valueborderdashlen,4),h(b.valueborderdashgap,2),h(b.valueborderthickness,1)):"none"});!l&&(l=f.piePlotOptions={});l.allowPointSelect=!1;f.borderColor=aa(q(b.plotbordercolor,
b.piebordercolor,db),b.showplotborder!=cb?q(b.plotborderalpha,b.pieborderalpha,100):0);f.showTooltip=h(b.showtooltip,1);f.borderWidth=h(b.pieborderthickness,b.plotborderthickness,1);l.startingAngle=0;l.size="100%";f.showLabels=h(b.showlabels,1);f.showValues=h(b.showvalues,0);f.showValuesInTooltip=h(b.showvaluesintooltip,b.showvalues,0);f.showPercentValues=h(b.showpercentvalues,b.showpercentagevalues,0);f.showPercentInTooltip=h(b.showpercentintooltip,0);f.toolTipSepChar=q(b.tooltipsepchar,b.hovercapsepchar,
Qb);f.labelSepChar=q(b.labelsepchar,f.toolTipSepChar);f.tooltext=b.plottooltext;f.alpha=q(b.plotfillalpha,b.piefillalpha,100);f.startAngle=wc/180*(y-p/2);f.endtAngle=wc/180*(y+p/2);f.initialAngle=f.endtAngle;f.originX=h(b.originx);f.originY=h(b.originy);a&&(f.events={mouseOver:function(){for(var a=this.data("plotItem").selfRef,b=d.conf;a.graphics.element;)a.graphics.element.attr({fill:b.hoverFillColor}),a=a.linkedItems.parent},mouseOut:function(){for(var a=this.data("plotItem"),b=a.selfRef;b.graphics.element;)b.graphics.element.attr({fill:(b.config||
a).color}),b=b.linkedItems.parent}});e.plotBorderWidth=0;e.plotBorderWidth=0;f.maxLevel=d.addMSPieCat(P,1,d,f.startAngle,f.endtAngle);f.pieRadius=parseInt(b.pieradius,10);g.distance=0;g.placeLabelsInside=!0},removalFn:function(a,c,d){var b,e,f=this.pool||(this.pool={});b=this.chart.get(ga,X);var g=b.duration,l=b.dummyObj,x=b.animObj,h=b.animType,y=function(a){(a||this).hide()};!f[d]&&(f[d]=[]);"element"===d?(e=a.attr("ringpath"),b=(e[4]+e[5])/2,c?a.animateWith(l,x,{ringpath:[e[0],e[1],e[2],e[3],b,
b]},g,h,y):f[d].push(a)):c?y(a):f[d].push(a)},removeGraphics:function(a,c){var d,b,e=a.components&&a.components.data,f,g=a.graphics;if(e)for(f=e.length,d=0;d<f;d+=1)this.removeGraphics(e[d]);if(a.graphics)for(b in g)g.hasOwnProperty(b)&&this.removalFn(a.graphics[b],c,b)},removeChild:function(a,c,d){var b,e;if(a.length)for(b=0;b<a.length;b+=1)e=a[b],d?this.removalFn(e,c,d):this.removeGraphics(e,c);else for(b in a)this.removeChild(a[b],c,b)},addMSPieCat:function(a,c,d,b,e){var f,g,l,x=a.length,P=this,
y=d.components.data,p=P.chart.components,S=P.conf,k=S.borderWidth,U=S.borderColor,n=p.numberFormatter,p=p.colorManager,m,r=0,t,u,K=S.labelSepChar,v,w,E,z,D,G=c,N=y.length,L=function(){P.removeChild.apply(P,arguments)},B=a.length;m=e-b;var F=0,C;for(u=0;u<x;u+=1)e=a[u],e._userValue=n.getCleanValue(e.value,!0),e._value=h(e._userValue,1),r+=e._value;r=r||1;m/=r;for(u=x-1;0<=u;--u)e=a[u],t=m*e._value,f=M(q(e.label,e.name)),w=null!==e._userValue?n.dataLabels(e._userValue):A,E=n.percentValue(e._value/r*
100),v=h(e.alpha,S.alpha),D=S.showLabels?f:A,S.showValues&&(S.showPercentValues?D+=D!==A?K+E:E:void 0!==w&&w!==A&&(D+=D!==A?K+w:w)),z=S.showTooltip?M(q(e.tooltext,e.hovertext,S.tooltext)):void 0,z===A?(z=f,S.showValuesInTooltip&&(S.showPercentInTooltip?z+=z!==A?K+E:E:void 0!==w&&w!==A&&(z+=z!==A?K+w:w))):z=Qa(z,[1,2,3,14],{percentValue:E,label:f,formattedValue:w},e),f=y[u],w=b+F,F+=t,f||(f=y[u]={components:{data:[]},linkedItems:{},config:{},graphics:{}}),f.graphics.element&&(C=f.config.startAngle+
f.config.angleStrech),f.config={initialAngle:C||(d.conf||d.config).initialAngle,startAngle:w,angleStrech:t,level:c,displayValue:D,toolText:z,link:H(e.link),doNotSlice:!0,color:aa(e.color||p.getPlotColor(),v),borderWidth:h(e.borderwidth,k),borderColor:q(e.bordercolor,U),dashStyle:h(e.valueborderdashed,0)?nb(h(e.borderdashlen,4),h(e.borderdashgap,2),h(e.borderthickness,1)):"none",shadow:{opacity:.01*ja(50<v?v*v*v*1E-4:v*v*.01)},isSingleTon:1<x?!1:!0},f.linkedItems.parent=d,e.category?(G=W(G,P.addMSPieCat(e.category,
c+1,f,w,t+w)),(g=f.components.data.length)>(l=e.category.length)&&L(f.components.data.splice(g-1,l))):(g=f.components.data.length)&&L(f.components.data.splice(0,g));N>B&&L(y.splice(N-1,B));return G},draw:function(a){var c,d,b,e=this,f=e.conf||{},g=e.chart,l=g.getJobList(),x=g.config,P=g.graphics,y=e.components,p=y.data.length,S=x.dataLabelStyle;c=f.showShadow;var k=g.components.paper,U=x.textDirection,q=x.tooltip||{};d=q&&!1!==q.enabled;var p=x.canvasWidth,n=x.canvasHeight,q=h(f.originX,x.canvasLeft+
.5*p),x=h(f.originY,x.canvasTop+.5*n),m,r,u,K,v,w=P.datasetGroup.trackTooltip(!0),E=g.get(ga,X),z=E.duration||0,A=E.dummyObj,G=E.animObj,E=E.animType,N,L,B,F=f.events||{},C=function(a){var b=F.mouseOver;Z.call(this,g,a,"DataPlotRollOver");b&&b.call(this)},T=function(a){var b=F.mouseOut;Z.call(this,g,a,"DataPlotRollOut");b&&b.call(this)},H=function(a){Z.call(this,g,a)},Q=function(){f._drawn||(f._drawn=!0,J.show(),l.labelDrawID.push(Ya.addJob(e.drawLabel,e,[],t.priorityList.label)),g._animCallBack())},
I=e.pool||(e.pool={}),y=(y=y.removeDataArr)&&y.length,n=h(2*f.pieRadius,da(p,n))/(2*f.maxLevel),J=P.datalabels||(P.datalabels=k.group("datalabels").insertAfter(w));y&&e.remove();z&&J.hide();a||(a=e,J.css(S));p=a.components.data.length;for(P=0;P<p;P+=1)e.draw(a.components.data[P]);p=a.config;(b=p.level)?(y=b*n,n*=b-1,N=a.graphics,r=p.angleStrech,b=p.displayValue,u=!!p.link,m=p.color,K=p.startAngle,v=K+p.angleStrech,B=p.initialAngle,L=N.element,L||(I.element&&I.element.length?(L=N.element=I.element.shift(),
L.show()):L=N.element=k.ringpath(w).mouseover(C).mouseout(T).mouseup(H),L.attr({ringpath:[q,x,y,n,B,B]})),p.plotItem=a={chart:g,link:p.link,value:r,color:m,labelText:b,graphics:{element:L},selfRef:a},p.eventArgs=k={link:p.link,label:p.displayValue,toolText:p.toolText},L.attr({"stroke-width":p.borderWidth,stroke:p.borderColor,fill:fa(p.color),"stroke-dasharray":p.dashStyle,ishot:!d,cursor:u?"pointer":D}).tooltip(p.toolText).shadow(c&&!!p.shadow).data("plotItem",a).data("eventArgs",k),void 0!==b&&b!==
D&&(c=(K+v)/2,p._textAttr||(p._textAttr={}),a=0===n&&p.isSingleTon?0:n+(y-n)/2,(d=p._textAttrs)||(d=p._textAttrs={}),d.text=b,d.fill=S.color||ca,d.direction=U,d.ishot=u,d.cursor=u?"pointer":D,d.x=q+a*Tb(c),d.y=x+a*hb(c),d["text-bound"]=[S.backgroundColor,S.borderColor,S.borderThickness,S.borderPadding,S.borderRadius,S.borderDash]),L.animateWith(A,G,{ringpath:[q,x,y,n,K,v]},z,E,!P&&Q)):(f._drawn&&e.drawLabel(),e.removeChild(e.pool,!0))},drawLabel:function(a){var c,d=this.chart,b=d.config,e=d.graphics;
c=this.components.data.length;var f=b.dataLabelStyle,g=d.components.paper,b=(b=b.tooltip||{},!1!==b.enabled),l,x,h,y,p=(this.conf||{}).events||{},S=function(a){var b=p.mouseOver;Z.call(this,d,a,"DataPlotRollOver");b&&b.call(this)},k=function(a){var b=p.mouseOut;Z.call(this,d,a,"DataPlotRollOut");b&&b.call(this)},U=function(a){Z.call(this,d,a)},q=this.pool||(this.pool={}),e=e.datalabels;!a&&(a=this);c=a.components.data.length;for(l=0;l<c;l+=1)this.drawLabel(a.components.data[l]);h=a.config;l=h.plotItem;
x=h.displayValue;c=h._textAttrs;h.level?(a=a.graphics,y=a.label,void 0!==x&&x!==D?((y=a.label)?y.attr(c).css(f):q.label&&q.label.length?(y=a.label=q.label.shift(),y.attr(c).css(f)):y=a.label=g.text(c,f,e).mouseover(S).mouseout(k).mouseup(U),l.label=y.show().data("plotItem",l).data("eventArgs",h.eventArgs),b&&y.tooltip(void 0)):y&&y.hide()):this.removeChild(this.pool,!0)}},"Pie2D"]);I("radar",{friendlyName:"Radar Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"radar",applicableDSList:{radar:!0},
hasLegend:!0,areaAlpha:50,defaultPlotShadow:0,_postSpaceManagement:function(){var a=this.components,c=this.config,d=a.legend;(a.yAxis&&a.yAxis[0]).setAxisDimention({x:c.canvasLeft+c.canvasWidth/2,y:c.canvasTop,axisLength:c.canvasHeight/2});d.postSpaceManager()}},I.mspolar,{radarradius:0,radarborderthickness:2,showvalues:0,plotfillalpha:50},I.areabase);I("dragbase",{configure:function(){var a=this.jsonData.chart,c,d;this.base.base.configure.call(this);d=this.config;d.formAction=H(a.formaction);a.submitdataasxml!==
cb||a.formdataformat||(a.formdataformat=J.dataFormats.CSV);d.formDataFormat=q(a.formdataformat,J.dataFormats.XML);d.formTarget=q(a.formtarget,"_self");d.formMethod=q(a.formmethod,"POST");d.submitFormAsAjax=h(a.submitformusingajax,1);d.restoreBtnTitle=q(a.restorebtntitle,"Restore");d.submitBtnTitle=q(a.formbtntitle,"Submit");d.showFormBtn=h(a.showformbtn,1)&&d.formAction;d.showRestoreBtn=h(a.showrestorebtn,1);d.formBtnTitle=q(a.formbtntitle,"Submit");d.formBtnBorderColor=q(a.formbtnbordercolor,"CBCBCB");
d.formBtnBgColor=q(a.formbtnbgcolor,db);d.btnPadding=h(a.btnpadding,7);d.btnSpacing=h(a.btnspacing,5);d.formBtnStyle={fontSize:d.style.outCanfontSize,fontFamily:d.style.outCanfontFamily,fontWeight:"bold"};d.formBtnLabelFill=d.style.outCancolor;a.btntextcolor&&(d.formBtnLabelFill=a.btntextcolor.replace(fb,Pb));0<=(c=h(a.btnfontsize))&&(d.formBtnStyle.fontSize=c+"px");d.restoreBtnWidth=h(a.restorebtnwidth,0);d.formBtnWidth=h(a.formbtnwidth,0);d.restoreBtnBorderColor=q(a.restorebtnbordercolor,d.formBtnBorderColor);
d.restoreBtnBgColor=q(a.restorebtnbgcolor,d.formBtnBgColor);d.restoreBtnStyle={fontSize:d.formBtnStyle.fontSize,fontFamily:d.formBtnStyle.fontFamily,fontWeight:"bold"};d.restoreBtnLabelFill=d.formBtnLabelFill;a.toolbary||a.toolbarx?d.spaceHardCoded=!0:delete d.spaceHardCoded},_createToolBox:function(){var a=this,c=a.components.tb||(a.components.tb=new (FusionCharts.register("component",["toolbox","toolbox"]))),d,b,e,f=a.components,g,l,x,h=a.linkedItems.smartLabel,y=a.config,p=y.showRestoreBtn,S=y.formAction,
k=y.restoreBtnTitle,U=y.submitBtnTitle,q=y.formBtnStyle,n=y.restoreBtnStyle,m=y.restoreBtnWidth,r=y.restoreBtnBgColor,t=y.restoreBtnBorderColor,u=y.formBtnBgColor,v=y.formBtnBorderColor,w=y.restoreBtnLabelFill,E=y.formBtnLabelFill,z=y.btnSpacing,D=y.btnPadding,G=y.formBtnWidth;d=f.chartMenuBar;l=f.actionBar;d&&d.drawn||l&&l.drawn||(d=c.init({graphics:a.graphics||(a.graphics={}),chart:a,components:a.components}),c.pId=d,d=f.toolBoxAPI=c.getAPIInstances(c.ALIGNMENT_HORIZONTAL),b=d.ComponentGroup,e=
d.Toolbar,g=d.Symbol,c.getDefaultConfiguration(),d=c.getDefaultConfiguration(),x=new g(k,!0,(c.idCount=c.idCount||0,c.idCount++),c.pId),g=new g(U,!0,c.idCount++,c.pId),I.mscartesian._createToolBox.call(a),y.spaceHardCoded&&(l=f.actionBar=f.chartMenuBar||f.actionBar),(l=f.actionBar)||(l=new e(c.idCount++,c.pId),l=f.actionBar=l),a.addConfigureOptions&&a.addConfigureOptions(),c=new b(c.idCount++,c.pId),h.useEllipsesOnOverflow(y.useEllipsesWhenOverflow),h.setStyle(n),k=h.getOriSize(k),m=W(k.width,m),
y=k.height,h.setStyle(q),k=h.getOriSize(U),G=W(G,k.width),h=k.height,x.conf.width=m+D,g.conf.width=G+D,x.conf.stroke=aa(t,100),x.conf.height=y+D,g.conf.height=h+D,g.conf.fill=aa(u,100),g.conf.labelFill=aa(E,100),x.conf.fill=aa(r,100),x.conf.labelFill=aa(w,100),g.conf.stroke=aa(v,100),g.conf.btnTextStyle.fontSize=q.fontSize,x.conf.btnTextStyle.fontSize=n.fontSize,d.spacing=z,c.setConfiguaration({buttons:d,group:{fill:aa(db,0),borderThickness:0}}),p&&(c.addSymbol(x),x.attachEventHandlers({click:function(){a.restoreData()}})),
S&&(c.addSymbol(g),g.attachEventHandlers({click:function(){a.submitData(J)}})),c.btnConfig.vAlign="b",l.addComponent(c),l.toolbarConfig.fill=aa("EBEBEB",0),l.toolbarConfig.borderThickness=0)},addConfigureOptions:function(){var a=this,c=a.chartMenuTools,d=a.components,b=d.actionBar,d=(d.chartMenuBar||b).componentGroups[0].symbolList[0].getListRefernce(),b=h(a.jsonData.chart.allowaxischange,1),c=c.set,e=[{"Increase Upper Limit":{handler:function(){var b=a.components.yAxis[0].config.axisRange;a.changeUpperLimits(b.max+
b.tickInterval)},action:"click"}},{"Increase Lower Limit":{handler:function(){var b=a.components.yAxis[0].config.axisRange;a.changeLowerLimits(b.min+b.tickInterval)},action:"click"}},{"Decrease Upper Limit":{handler:function(){var b=a.components.yAxis[0].config.axisRange;a.changeUpperLimits(b.max-b.tickInterval)},action:"click"}},{"Decrease Lower Limit":{handler:function(){var b=a.components.yAxis[0].config.axisRange;a.changeLowerLimits(b.min-b.tickInterval)},action:"click"}}];b&&(c(e),d.appendAsList(e))},
drawAxisUpdateUI:function(){var a=this,c=a.graphics,d=a.components.yAxis[0],b=d.config.axisRange,e=d.getAxisConfig("extremeLabels")||[],d=a.config,f=b.min,b=b.max,g=e.lastLabel.graphic,l=e.firstLabel.graphic,x=a.linkedItems.container,e=bc({outline:"none","-webkit-appearance":"none",filter:"alpha(opacity=0)",position:"absolute",background:"transparent",border:"1px solid #cccccc",textAlign:"right",top:0,left:0,width:50,zIndex:20,opacity:0,borderRadius:0,display:"block"},a.config.style.inCanvasStyle||
{}),h=t.hashify,f={max:{label:g,value:b},min:{label:l,value:f}},y,p,S,k,U,q,n=function(b,c,d){return b===c+D?null:d?a.changeUpperLimits(Number(b),!0):a.changeLowerLimits(Number(b),!0)},l=function(){var b={opacity:1,filter:"alpha(opacity=100)",color:(a.config.style.inCanvasStyle||{}).color},c;b.color&&(b.color=h(b.color));this.value=this.dataValue;for(c in b)this.style[c]=b[c];this.hasFocus=this.justFocussed=!0;this.axisLabel&&this.axisLabel.hide();a.graphics.hiddenAxisLabels||(a.graphics.hiddenAxisLabels=
[]);a.graphics.hiddenAxisLabels.push(this.axisLabel)},m=function(){return function(){var a=this;a.justFocussed&&(a.justFocussed=!1,Ub||setTimeout(function(){a.select()},0))}}(),r=function(){!0!==n(this.value,this.oldValue,this.isMaxLabel)&&(this.style.opacity=0,this.style.filter="alpha(opacity=0)",this.axisLabel&&this.axisLabel.show());zc&&sb.getElementsByTagName("body")[0].focus&&sb.getElementsByTagName("body")[0].focus();this.hasFocus=this.justFocussed=!1},u=function(a){var b=a.originalEvent.keyCode,
c=this.value,d=this.oldValue,e=this.isMaxLabel;13===b?(b=n(c,d,e),!1===b?this.style.color="#dd0000":t.dem.fire(this,"blur",a)):27===b&&(this.value=d,t.dem.fire(this,"blur",a))},v=function(a){return function(b){a.parentNode&&t.dem.fire(a,"blur",b)}},w=function(b,c){return function(){Rb(a,"defaultprevented",c);b.parentNode.removeChild(b)}},z=function(a){return function(b){b.srcElement!==a&&a.hasFocus&&t.dem.fire(a,"blur",b)}},E=function(a,b){return function(){Rb(x,"mousedown",b);a.parentNode.removeChild(a)}},
A;for(A in f)if(y=f[A],b=y.label,g=y.value,y.oldValue=g,p=b&&b.getBBox(),y="max"===A?!0:!1,c.inputElements||(c.inputElements={}),S=c.inputElements[A],p&&b){k=p.x+p.width-d.marginLeft;U=d.canvasLeft-k-(Bb?4:5);bc(e,{top:p.y+(Bb?-1:0)+"px",left:U+"px",width:k+"px"});S||(S=c.inputElements[A]=Vc("input",{type:"text",value:g,name:g||D},x,!0),t.dem.listen(S,["focus","mouseup","blur","keyup"],[l,m,r,u]),S.setAttribute("isOverlay","true"),Bb?(Zb(x,"defaultprevented",p=v(S)),Zb(x,"destroy",w(S,p))):(Zb(x,
"mousedown",p=z(S)),Zb(x,"destroy",E(S,p))));S.dataValue=g;e.color&&(e.color=h(e.color));for(q in e)S.style[q]=e[q];S.value=g;S.oldValue=g;S.name=g||D;S.axisLabel=b;S.isMaxLabel=y}else S&&(S.style.display="none")},changeUpperLimits:function(a){var c=this.components,d=c.yAxis[0],b=d.config.axisRange,e=b.min,f=b.max,g=this.config.yMax,b=!1,l=this.graphics.hiddenAxisLabels||[],x=l.length;void 0!==a&&a>g&&a!==f?b=!0:a=g>f?g:f;if(b){d.setAxisConfig({axisMaxValue:a,axisMinValue:e,showUpperLimit:!0});d.setDataLimit(a,
e);this._manageSpace();this._postSpaceManagement();this._drawCanvas();this.chartMenuBar&&this._drawChartMenuBar();this._manageCaptionPosition();this._drawCanvas();c.caption&&c.caption.draw();this.drawLegend();this.drawActionBar&&this.drawActionBar();for(c=0;c<x;c++)d=l[c],d.show();this._drawAxis&&this._drawAxis();this._drawDataset();this.drawAxisUpdateUI()}return b},changeLowerLimits:function(a){var c=this.components,d=c.yAxis[0],b=d.config.axisRange,e=this.config.yMin,f=b.max,g,l=!1,x=this.graphics.hiddenAxisLabels||
[],h=x.length,b=b.min;void 0!==a&&a<e&&a!==b?(g=a,l=!0):a=e<b?e:b;if(l){d.setAxisConfig({axisMaxValue:f,axisMinValue:a});d.setDataLimit(f,g);this._manageSpace();this._postSpaceManagement();this._drawCanvas();this.chartMenuBar&&this._drawChartMenuBar();this._manageCaptionPosition();this._drawCanvas();c.caption&&c.caption.draw();this.drawLegend();this.drawActionBar&&this.drawActionBar();for(a=0;a<h;a++)c=x[a],c.show();this._drawAxis&&this._drawAxis();this._drawDataset();this.drawAxisUpdateUI()}return l},
eiMethods:{getDataWithId:function(){for(var a=this.jsVars.instanceAPI.getJSONData(),c=[[A]],d=a.dataset,a=a.categories&&a.categories[0]&&a.categories[0].category,b=d&&d.length||0,e=0,f,g,l,x,h,y;b--;)if(g=d[b])for(c[0][b+1]=g.id||g.seriesname,x=g.id||b+1,y=(g=g.data)&&g.length||0,h=0;h<y;h+=1){l=h+1;if(!c[l]){for(f=a&&a[h+e]||{};f.vline;)e+=1,f=a[h+e]||{};f=f.label||f.name||A;c[l]=[f]}f=c[l];l=g[h].id||l+B+x;f[b+1]=[l,Number(g[h].value)]}return c},getData:function(a){var c=this.jsVars.instanceAPI,
d=c.getJSONData(),b=[[A]],e=d.dataset,f=d.categories&&d.categories[0]&&d.categories[0].category,g=e&&e.length||0,l=0,x,h;if(a)b=/^json$/ig.test(a)?d:J.core.transcodeData.call(c.chartInstance,d,"json",a);else for(;g--;)if(a=e[g])for(b[0][g+1]=e[g].seriesname,c=(a=e[g]&&e[g].data)&&a.length||0,d=0;d<c;d+=1){h=d+1;if(!b[h]){for(x=f&&f[d+l]||{};x.vline;)l+=1,x=f[d+l]||{};x=x.label||x.name||A;b[h]=[x]}h=b[h];h[g+1]=Number(a[d].value)}return b},setUpperLimit:function(){return this.apiInstance.changeUpperLimits.apply(this.apiInstance,
arguments)},setLowerLimit:function(){return this.apiInstance.changeLowerLimits.apply(this.apiInstance,arguments)},getLowerLimit:function(){var a=this.apiInstance.components;if(a=a.yAxis&&a.yAxis[0])return a.config.axisRange.min},getUpperLimit:function(){var a=this.apiInstance.components;if(a=a.yAxis&&a.yAxis[0])return a.config.axisRange.max}},restoreData:function(){var a=this.components,c=a.yAxis[0],d=a.dataset,a=a.legend,b=d.length,e,f=this.graphics.hiddenAxisLabels||[],g;for(g=0;g<b;g++)e=d[g],
e.configure();c.setAxisConfig({axisMaxValue:void 0,axisMinValue:void 0});this._setAxisLimits();b=f.length;for(g=0;g<b;g++)c=f[g],c.show();this._drawAxis();this._drawDataset();a._drawPointLegendItem();this.drawAxisUpdateUI();t.raiseEvent("dataRestored",{},this.chartInstance,[this.chartInstance.id])},submitData:function(a){var c=this.chartInstance,d=new a.ajax,b=this.config,e=a.dataFormats.JSON,f=a.dataFormats.CSV,g=a.dataFormats.XML,l=b.formAction,x=this.chartInstance,h=b.submitFormAsAjax,y,p,S,k,
U;b.formDataFormat===e?(y=e,p=JSON.stringify(this.getJSONData())):this.formDataFormat===f?(y=f,p=c.getCSVString&&c.getCSVString(),void 0===p&&(p=a.core.transcodeData(this.getJSONData(),e,f))):(y=g,p=a.core.transcodeData(this.getJSONData(),e,g));a.raiseEvent("beforeDataSubmit",{data:p},x,void 0,function(){h?(d.onError=function(a,b,c,d){t.raiseEvent("dataSubmitError",{xhrObject:b.xhr,url:d,statusText:a,httpStatus:b.xhr&&b.xhr.status?b.xhr.status:-1,data:p},x,[x.id,a,b.xhr&&b.xhr.status])},d.onSuccess=
function(a,b,c,e){t.raiseEvent("dataSubmitted",{xhrObject:d,response:a,url:e,data:p},x,[x.id,a])},S={},S["str"+y.toUpperCase()]=p,d.open&&d.abort(),d.post(l,S)):(k=Ra.document.createElement("span"),k.innerHTML='<form style="display:none" action="'+l+'" method="'+b.formMethod+'" target="'+b.formTarget+'"> <input type="hidden" name="strXML" value="'+Fc(p)+'"><input type="hidden" name="dataFormat" value="'+y.toUpperCase()+'" /></form>',U=k.removeChild(k.firstChild),Ra.document.body.appendChild(U),U.submit&&
U.submit(),U.parentNode.removeChild(U),k=U=null)},function(){a.raiseEvent("dataSubmitCancelled",{data:p},x)})},getJSONData:function(){var a=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),c=this.components,d=c["datasetGroup_"+a],a=c.dataset,b=this.jsonData.dataset,e,f=this.jsonData,g=a.length,c=[],l;if(d)c=d.getJSONData();else for(d=0;d<g;d++)e=a[d],l=e.getJSONData(),e=b[d]||{},delete e.data,c.push(Y(e,l));a=Y({},f);a.dataset=c;return a},_setDataLimits:function(){var a=this.components.dataset,
c=this.config,d=-Infinity,b=Infinity,e,f,g;f=a.length;for(g=0;g<f;g++)e=a[g],e=e.getDataLimits(),d=W(d,e.max),b=da(b,e.min);c.yMax=d;c.yMin=b}},I.mscartesian);I("dragnode",{friendlyName:"Dragable Node Chart",standaloneInit:!0,hasLegend:!0,numVDivLines:0,numDivLines:0,showLimits:0,setadaptivexmin:1,showdivlinevalues:0,showzeroplane:0,showyaxisvalues:0,dontShowLegendByDefault:!0,creditLabel:!1,defaultDatasetType:"dragnode",configure:function(){var a=this.jsonData.chart,c;I.dragbase.configure.call(this);
c=this.config;c.formAction=H(a.formaction);a.submitdataasxml!==cb||a.formdataformat||(a.formdataformat=J.dataFormats.CSV);c.formDataFormat=q(a.formdataformat,J.dataFormats.XML);c.formTarget=q(a.formtarget,"_self");c.formMethod=q(a.formmethod,"POST");c.submitFormAsAjax=h(a.submitformusingajax,1);c.viewMode=h(a.viewmode,0)},_createDatasets:function(){var a=this.config,c=this.components,d=this.jsonData,b=d.dataset,e=d.connectors,f=d.labels&&d.labels.label||[],g=b&&b.length,l=e&&e.length,x=f&&f.length||
[],h=c.legend,y,p,S,k,U,q,n,m,r,t;m=0;var u=a.datasetMap||(a.datasetMap={connectors:[],dragnode:[],labels:[]}),v,w={connectors:[],dragnode:[],labels:[]},E={};if(b){this.config.categories=d.categories&&d.categories[0].category;p=c.dataset=[];y=FusionCharts.register("component",["datasetGroup","dragnode"]);d=c.datasetGroup_dragnode;y&&!d&&(d=c.datasetGroup_dragnode=new y,d.chart=this,d.init());U=FusionCharts.get("component",["dataset","Dragnode"]);q=FusionCharts.get("component",["dataset","Connector"]);
n=FusionCharts.get("component",["dataset","DragableLabels"]);for(y=0;y<g;y++)c="dragnode",S=u[c],v=S[0],void 0===E[c]?E[c]=0:E[c]++,v?(k=b[y],r=v.components&&v.components.data||[],w[c].push(v),p.push(v),r=r.length,t=k&&k.data&&k.data.length||0,r>t&&v.removeData(t-1,r-t),v.JSONData=k,v.configure(),S.shift()):(k=b[y],S=new U,S.chart=this,w[c].push(S),p.push(S),S.chart=this,S.index=y,S.init(k),d.addDataset(S,y)),m++;for(y=0;y<l;y++)c="connectors",g=e[y],S=u[c],v=S[0],void 0===E[c]?E[c]=0:E[c]++,v?(r=
v.components&&v.components.data||[],r=r.length,t=g.connector&&g.connector.length||0,w[c].push(v),p.push(v),r>t&&v.removeData(t-1,r-t),v.JSONData=g,v.configure(),S.shift()):(S=new q,S.chart=this,S.index=y,w[c].push(S),p.push(S),S.init(g),d.addConnectors(S,y)),m++;c="labels";S=u[c];v=S[0];void 0===E[c]?E[c]=0:E[c]++;v?(r=v.JSONData,r=r.length,t=x,w[c].push(v),p.push(v),r>t&&v.removeData(t-1,r-t),v.JSONData=f,v.configure(),S.shift()):(m=new n,m.chart=this,w[c].push(m),p.push(m),m.init(f),d.addLabels(m,
0));this.config._datasetUpdated=!0;for(b in u)if(S=u[b],f=S.length,m=E[b]||-1,f)for(e=0;e<f;e++)"dragnode"===b?(d.removeNodeDataset(m),d._clearConnectors(),h.removeItem(S[e].legendItemId)):"connectors"===b?d.removeConnectorSet(m):d.removeLabelSet(m),Ib.call(S[e]),m+=1;a.datasetMap=w}else this.setChartMessage()},addConfigureOptions:function(){var a=this.chartMenuTools,c=this.components,d=c.actionBar,b=this.components["datasetGroup_"+this.defaultDatasetType],c=(c.chartMenuBar||d).componentGroups[0].symbolList[0].getListRefernce(),
a=a.set,d=this.config.viewMode,e=[{"Add Node":{handler:function(){b.showNodeAddUI()},action:"click"}},{"Add Connector":{handler:function(){b.showConnectorAddUI(b.chart,{})},action:"click"}},{"Add Label":{handler:function(){b.showLabelUpdateUI(b.chart,{})},action:"click"}}];a(e);!d&&c.appendAsList(e)},_redrawDragNode:function(a,c){var d=this.chart;this.draw();t.raiseEvent("chartUpdated",Y({sourceEvent:c},a),d.chartInstance,[d.chartInstance.id])},addNode:function(a){var c=this.components.dataset,d=
a.datasetId,b=c.length,e,f,g,l;for(l=0;l<b;l++)if(e=c[l]||{},g=e.config&&e.config.id,void 0!==g&&(g=g.toString()),g===d){f=!0;break}e&&f&&(c=e.groupManager,d=e.components.data,a.add=!0,b=d.length,d={index:b,dataIndex:b,link:a.link,y:a.y,x:a.x,shape:a.shape,width:a.width,height:a.height,radius:a.radius,sides:a.sides,label:a.name,toolText:a.tooltext,id:a.id,datasetIndex:e.index,datasetName:e.JSONData.seriesname,sourceType:"dataplot"},e._setConfigure(b,a),this._redrawDragNode.call(c,d,"nodeAdded"),J.raiseEvent("nodeAdded",
d,this.chartInstance))},updateNode:function(a){var c=this.components["datasetGroup_"+this.defaultDatasetType],d=c.datasets,b=d.length,e,f,g,l,x,h,y;a.update=!0;for(x=0;x<b;x++)for(g=d[x].dataset,h=g.components.data||[],e=h.length,y=0;y<e;y++)if(l=h[y],l.config.id===a.id){f=!0;break}g&&f&&(d={index:y,dataIndex:y,link:a.link,y:a.y,x:a.x,shape:a.shape,width:a.width,height:a.height,radius:a.radius,sides:a.sides,label:a.name,toolText:a.tooltext,id:a.id,datasetIndex:g.index,datasetName:g.JSONData.seriesname,
sourceType:"dataplot"},g._setConfigure(y,a),this._redrawDragNode.call(c,d,"nodeupdated"),J.raiseEvent("nodeupdated",d,this.chartInstance))},deleteNode:function(a){var c=this.components["datasetGroup_"+this.defaultDatasetType].nodes,d=c[a],b,e,f,g,l,x,h,y,p=function(a){for(var b in a)a[b].remove()};if(d){b=d.dataset;e=b.components.data;f=d.config.startConnectors;g=d.config.endConnectors;y=e.length;for(d=0;d<y;d++)if(x=e[d],x.config.id===a){l=!0;break}if(!0===l){e=x.graphics;p(e);for(h in f)l=f[h]||
{},e=l.graphics,p(e),delete l.graphics,l.removed=!0;for(h in g)l=g[h]||{},e=l.graphics,p(e),delete l.graphics,l.removed=!0;delete c[a];x.removed=!0;a=x.config||{};b={index:d,dataIndex:d,link:a.link,y:a.y,x:a.x,shape:a.shape,width:a.width,height:a.height,radius:a.radius,sides:a.sides,label:a.displayValue,toolText:a.toolText,id:a.id,datasetIndex:d,datasetName:b.JSONData.seriesname,sourceType:"dataplot"};t.raiseEvent("chartUpdated",Y({sourceEvent:"nodedeleted"},b),this.chartInstance,[this.chartInstance.id]);
J.raiseEvent("nodedeleted",b,this.chartInstance)}}},addConnector:function(a){var c=this.components["datasetGroup_"+this.defaultDatasetType],d=c.connectorSet[0].connectors,b=d.components.data.length;a.add=!0;d._setConfigure(b,a);a={arrowAtEnd:!!a.arrowAtEnd,arrowAtStart:!!a.arrowAtStart,fromNodeId:a.from,id:a.id,label:a.label,link:a.connectorLink,sourceType:"connector",toNodeId:a.to};this._redrawDragNode.call(c,a,"connectoradded");J.raiseEvent("connectoradded",a,this.chartInstance)},editConnector:function(a){var c=
this.components["datasetGroup_"+this.defaultDatasetType],d=a.from,b=a.to,e=c.connectorSet,f,g,l,x,h,y,p,k,q=e.length;for(f=0;f<q;f++)for(l=(k=e[f].connectors)&&k.components.data||[],g=l.length,y=0;y<g;y++)if(x=l[y],h=x.config,x=h.from,h=h.to,x===d&&h===b){p=!0;break}a.update=!0;p&&(k._setConfigure(y,a),a={arrowAtEnd:!!a.arrowatend,arrowAtStart:!!a.arrowatstart,fromNodeId:a.from,id:a.id,label:a.label,link:a.link,sourceType:"connector",toNodeId:a.to},this._redrawDragNode.call(c,a,"connectorupdated"),
J.raiseEvent("connectorupdated",a,this.chartInstance))},deleteConnector:function(a){var c=a.from;a=a.to;var d=this.components["datasetGroup_"+this.defaultDatasetType].connectorSet,b,e,f,g,l,x=!1,h=d.length;for(b=0;b<h;b++)for(e=d[b].connectors,g=e.components.data,l=g.length,e=0;e<l;e++)if(f=g[e],f.config.from===c&&f.config.to===a){x=!0;break}if(x){c=f.config||{};c={arrowAtEnd:c.arrowAtEnd,arrowAtStart:c.arrowAtStart,fromNodeId:c.from,id:c.id,label:c.label,link:c.connectorLink,sourceType:"connector",
toNodeId:c.to};a=f.graphics;for(var y in a)a[y].remove();delete f.graphics;f.removed=!0;t.raiseEvent("chartUpdated",Y({sourceEvent:"connectordeleted"},c),this.chartInstance,[this.chartInstance.id]);J.raiseEvent("connectordeleted",c,this.chartInstance)}},addLabel:function(a){var c=this.components["datasetGroup_"+this.defaultDatasetType],d=c.labelSet,b=FusionCharts.get("component",["dataset","DragableLabels"]);a.add=!0;d.length?(d=c.labelSet[0].labels,b=d.components.data,b=b.length,d._setConfigure(b,
a)):(d=new b,d.chart=this,d.init([a]),c.addLabels(d,0));d={text:a.text,x:a.x,y:a.y,allowdrag:a.allowdrag,sourceType:"labelnode",link:a.link};this._redrawDragNode.call(c,d,"labeladded");J.raiseEvent("labeladded",d,this.chartInstance);a.add=!0},deleteLabel:function(a){a=this.components["datasetGroup_"+this.defaultDatasetType].labelSet[0].labels.components.data[a];var c,d;if(c=a.graphics.element)d=c.data("eventArgs"),c.remove(),delete a.graphics;t.raiseEvent("chartUpdated",Y({sourceEvent:"labeldeleted"},
d),this.chartInstance,[this.chartInstance.id]);J.raiseEvent("labeldeleted",d,this.chartInstance);a.removed=!0},restoreData:function(){var a=this.components["datasetGroup_"+this.defaultDatasetType],c=a.datasets,d=this.components.legend,b=a.connectorSet,e,f,g,l,x=a.labelSet,h=function(a){var b,c;for(b=0;b<a.length;b++)if(g=a[b],delete g.removed,g.config.add)for(c in l=a[b].graphics,l)l[c].remove()};for(e=0;e<c.length;e++)f=c[e].dataset,a=f.components.data,h(a),f.drawn=!1,f.configure();for(e=0;e<b.length;e++)f=
b[e].connectors,a=f.components.data,h(a),f.drawn=!1,f.configure();x.length&&(c=x[0].labels,a=c.components.data,h(a),c.configure());this._setAxisLimits();this._drawAxis();this._drawDataset();d._drawPointLegendItem();t.raiseEvent("dataRestored",{},this.chartInstance,[this.chartInstance.id])},getJSONData:function(){var a=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),c=this.components,d=c["datasetGroup_"+a],a=c.dataset,b=this.jsonData,e=a.length,c=[],f;if(d)c=d.getJSONData();else for(d=
0;d<e;d++)f=a[d],f=f.getJSONData(),c.push(f);a=Y({},b);a.dataset=c.dataset;a.connectors=c.connectors;a.labels=c.labels;return a},_setCategories:function(){var a=this.jsonData,c=this.components.xAxis,a=a.categories&&a.categories[0].category||[],d=a.length,b=[],e,f;for(e=0;e<d;e++)f=a[e]||{},void 0!==f.x&&b.push(f);c&&c[0].setCategory(b)},_drawDataset:function(){var a=this.components["datasetGroup_"+this.defaultDatasetType];a&&a.draw()},_setAxisLimits:function(){var a=this.components,c=this.jsonData,
c=c.categories&&c.categories[0].category||[],d,b=a.dataset,e=a.yAxis,a=a.xAxis,f,g=b.length,l,x=-Infinity,h=Infinity,y=Infinity,p=-Infinity,k,n,U={},m=[],r=function(a){k=q(a.xMax,-Infinity);n=q(a.xMin,Infinity);x=W(x,a.max);h=da(h,a.min);p=W(p,k);y=da(y,n)};for(l=0;l<g;l++)f=b[l],(d=f.groupManager)?U[f.type]=d:m.push(f);for(d in U)b=U[d].getDataLimits(),r(b);g=m.length;for(l=0;l<g;l++)b=m[l].getDataLimits(),r(b);-Infinity===x&&(x=0);Infinity===h&&(h=0);this.config.yMax=x;this.config.yMin=h;e[0].setAxisConfig({isPercent:this.isStacked?
this.config.stack100Percent:0});e[0].setDataLimit(x,h);if(-Infinity!==p||Infinity!==y){l=0;for(g=c.length;l<g;l++)if(d=c[l],d=d.x)d<y&&(y=d),d>p&&(p=d);a[0].setDataLimit(p,y)}}},I.dragbase);FusionCharts.register("component",["datasetGroup","DragNode",{init:function(){this.connectorSet=[];this.nodes={};this.datasets=[];this.components=[];this.graphics={};this.labelSet=[]},addDataset:function(a,c){var d=this.datasets[c];a.groupManager=this;a.datasetIndex=c;d||(this.datasets[c]={dataset:a})},addLabels:function(a,
c){var d=this.labelSet[c];a.groupManager=this;d||(this.labelSet[c]={labels:a})},addConnectors:function(a,c){var d=this.connectorSet[c];a.groupManager=this;d||(this.connectorSet[c]={connectors:a})},showNodeAddUI:function(){var a=this.chart,c=a.components.dataset,d=D,b,e,f;for(f=0;f<c.length;f++)e=c[f]||{},b=e.config,e=e.plotType,"dragnode"===e&&(d+='<option value="'+b.id+'">'+(b.name!==A&&void 0!==b.name&&b.name+yc+" "||A)+b.id+"</option>");this.showNodeUpdateUI(a,{dataset:{innerHTML:d}})},showConnectorAddUI:function(){var a=
this.chart,c=this.nodes,d=D,b,e;for(e in c)b=c[e],b=b.config,b=b.id,d+='<option value="'+b+'">'+b+"</option>";this.showConnectorUpdateUI(a,{fromid:{innerHTML:d},toid:{innerHTML:d}})},draw:function(){var a=this.datasets,c=this.connectorSet,d,b,e=this.labelSet,f;this.updateUIvisuals();d=0;for(f=a.length;d<f;d++)b=a[d].dataset,b.draw();d=0;for(f=c.length;d<f;d++)a=c[d].connectors,a.draw();d=0;for(f=e.length;d<f;d++)c=e[d].labels,c.draw();this.drawn=!0},getJSONData:function(){var a=this.datasets,c=this.connectorSet,
d=this.labelSet,b={},e,f,g;b.dataset=[];b.connectors=[];b.labels=[];e=0;for(f=a.length;e<f;e++)g=a[e]&&a[e].dataset,b.dataset[e]||(b.dataset[e]=Y({},g.JSONData)),b.dataset[e].data=g.getJSONData();e=0;for(f=c.length;e<f;e++)g=c[e]&&c[e].connectors,b.connectors[e]||(b.connectors[e]=Y({},g.JSONData)),b.connectors[e].connector=g.getJSONData();e=0;for(f=d.length;e<f;e++)g=d[e]&&d[e].labels,b.labels[e]||(b.labels[e]={label:[]}),b.labels[e].label=g.getJSONData();return b},clearLongPress:function(){this.data("move",
!1);clearTimeout(this._longpressactive);delete this._longpressactive},createHtmlDialog:function(a,c,d,b,e,f,g){var l=a.components.paper,x=a.config.style.inCanvasStyle||{},h=a.config.width,y=a.config.height,p=a.get(ga,X).transposeAnimDuration,k={color:ac(x.color),textAlign:"center",paddingTop:"1px",border:"1px solid #cccccc",borderRadius:"4px",cursor:"pointer",_cursor:"hand",backgroundColor:Pb+db,zIndex:21,"-webkit-border-radius":"4px"},q=g;q?p?q.animate({width:h,height:y},p,"normal"):q.attr({width:h,
height:y}):q=l.html("div",{fill:"transparent",width:h,height:y},{fontSize:"10px",lineHeight:"15px",fontFamily:x.fontFamily},a.linkedItems.container);q.veil?p?q.veil.animate({width:h,height:y},p,"normal"):q.veil.attr({width:h,height:y}):q.veil=l.html("div",{fill:ca,width:h,height:y,opacity:.3},void 0,q);a={x:(h-c)/2,y:(y-d)/2,fill:"efefef",strokeWidth:1,stroke:ca,width:c,height:d};q.dialog?p?q.dialog.animate({x:a.x,y:a.y,width:a.width,height:a.height},p,"normal"):q.dialog.attr(a):q.dialog=l.html("div",
a,{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},q);a={x:c-70-5,y:d-23-5,width:65,height:17,text:"Submit",tabIndex:1};q.ok?p?q.ok.animate({x:a.x,y:a.y,width:a.width,height:a.height},p,"normal"):q.ok.attr(a):q.ok=l.html("div",a,k,q.dialog).on("click",b);b={x:c-140-5,y:d-23-5,width:65,height:17,text:"Cancel",tabIndex:2};q.cancel?
p?q.cancel.animate({x:b.x,y:b.y,width:b.width,height:b.height},p,"normal"):q.cancel.attr(b):q.cancel=l.html("div",b,k,q.dialog).on("click",e);c={x:c-210-5,y:d-23-5,width:65,height:17,text:"Delete",tabIndex:3};q.remove?p?q.remove.animate({x:c.x,y:c.y,width:c.width,height:c.height},p,"normal"):q.remove.attr(c):q.remove=l.html("div",c,k,q.dialog).on("click",f);q.handleKeyPress||(q.handleKeyPress=function(a){13===a.keyCode?q.ok.trigger(Ub?"touchStart":"click",a):27===a.keyCode&&q.cancel.trigger(Ub?"touchStart":
"click",a)});return q},updateUIvisuals:function(){var a=this.graphics.cacheConnectorUpdateUI,c=this.chart,d=this.graphics.cacheLabelUpdateUI,b=this.graphics.cacheLabelDeleteUI,e=this.graphics.cacheUpdateUI;a&&this.createHtmlDialog(c,350,215,void 0,void 0,void 0,a);e&&this.createHtmlDialog(c,350,215,void 0,void 0,void 0,e);d&&this.createHtmlDialog(c,350,215,void 0,void 0,void 0,d);b&&this.createHtmlDialog(c,350,215,void 0,void 0,void 0,b)},showConnectorUpdateUI:function(a,c,d){var b=a.components.paper,
e=this.cacheConnectorUpdateUI,f={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(a.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},g={textAlign:"right"},l=e&&e.fields,x=e&&e.labels,h,y,p,k=function(){var b=e&&e.fields,b={from:b.fromid.val(),to:b.toid.val(),id:b.id.val()};a.deleteConnector(b);e.hide()},n;e?(e.attr({width:a.config.width,height:a.config.height}),e.veil.attr({width:a.config.width,height:a.config.height}),e.dialog.attr({x:(a.config.width-315)/2,y:(a.config.height-
215)/2,width:315,height:215})):(e=this.graphics.cacheConnectorUpdateUI=this.createHtmlDialog(a,315,215,function(){var b=e&&e.fields,c;b&&(c={from:b.fromid.val(),to:b.toid.val(),id:b.id.val(),label:b.label.val(),color:b.color.val(),alpha:b.alpha.val(),link:b.url.val(),tooltext:b.tooltext.val(),strength:b.strength.val(),arrowatstart:b.arratstart.val(),arrowatend:b.arratend.val(),dashed:b.dashed.val(),dashlen:b.dashlen.val(),dashgap:b.dashgap.val()},c.from?c.to?c.from!=c.to?(d?a.editConnector(c):a.addConnector(c),
e.enableFields(),e.hide(),e.clearFields()):(e.error.attr({text:"Connector cannot start and end at the same node!"}),b.fromid.focus()):(e.error.attr({text:"Please select a valid connector end."}),b.toid.focus()):(e.error.attr({text:"Please select a valid connector start."}),b.fromid.focus()))},function(){e.error.attr({text:D});e.enableFields();e.hide()},k),n=e.dialog,x=e.labels={},l=e.fields={});e.config=c;e.enableFields||(e.enableFields=function(){for(var a in c)c[a]&&c[a].disabled&&l[a]&&l[a].element.removeAttribute("disabled")});
e.clearFields||(e.clearFields=function(){var a,b=e.fields;for(a in b)b[a].element.disabled||(b[a].element.value=D)});Sa(this.connectorUpdateUIDefinition,function(a){var d=a.key,k=c[d]||{};x[d]||(x[d]=b.html("label",{x:a.x,y:a.y,width:a.labelWidth||45,text:a.text},g,n));if(!a.noInput){if(!(y=l[d])){y=l[d]=b.html(a.inputType||"input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50,name:d||D},f);if("select"!==a.inputType)y.attr({type:a.type||"text"}).on("keyup",
e.handleKeyPress);y.add(x[d])}(h=q(k.innerHTML,a.innerHTML))&&y.attr({innerHTML:h});void 0!==(p=q(k.val,a.val))&&y.val(p);k.disabled&&y.attr({disabled:"disabled"})}});e.checkDash=function(){var a=l.dashed&&l.dashed.val()?"show":"hide";x.dashgap&&x.dashgap[a]();l.dashgap&&l.dashgap[a]();x.dashlen&&x.dashlen[a]();l.dashlen&&l.dashlen[a]()};e.checkDash();l.dashed.on("click",e.checkDash);e.error||(e.error=b.html("span",{color:"ff0000",x:10,y:170},void 0,n));e.remove[d?"show":"hide"]();a.animation?e.fadeIn("fast"):
e.show()},labelUpdateUIDefinition:[{key:"label",text:"Label*",x:10,y:15,inputWidth:235},{key:"size",text:"Size",x:10,y:40},{key:"padding",text:"Padding",x:10,y:65},{key:"x",text:"Position",x:120,y:65,labelWidth:70,inputWidth:25},{key:"y",text:",",x:225,y:65,labelWidth:10,inputWidth:25},{key:"xy",text:"(x, y)",x:260,y:65,noInput:!0},{key:"allowdrag",text:"Allow Drag",x:120,y:40,inputType:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:70,val:1},{key:"color",text:"Color",x:10,y:90},{key:"alpha",
text:"Alpha",x:145,y:90,inputWidth:30,val:Ha},{key:"bordercolor",text:"Border Color",x:10,y:125,labelWidth:100},{key:"bgcolor",text:"Background Color",x:10,y:150,labelWidth:100}],showLabelUpdateUI:function(a,c){var d=a.components.paper,b=this.graphics.cacheLabelUpdateUI,e={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(a.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},f={textAlign:"right"},g=b&&b.fields,l=b&&b.labels,x,h,y;b||(b=this.graphics.cacheLabelUpdateUI=
this.createHtmlDialog(a,315,205,function(){var c=b&&b.fields,d;c&&(d={text:c.label.val(),x:c.x.val(),y:c.y.val(),color:c.color.val(),alpha:c.alpha.val(),bgcolor:c.bgcolor.val(),bordercolor:c.bordercolor.val(),fontsize:c.size.val(),allowdrag:c.allowdrag.val(),padding:c.padding.val()},d.text?(a.addLabel&&a.addLabel(d),b.hide()):(b.error.attr({text:"Label cannot be blank."}),c.label.focus()))},function(){b.error.attr({text:D});b.hide()}),y=b.dialog,l=b.labels={},g=b.fields={});Sa(this.labelUpdateUIDefinition,
function(a){var k=a.key;l[k]||(l[k]=d.html("label",{x:a.x,y:a.y,width:a.labelWidth||45,text:a.text},f,y));a.noInput||((x=g[k])||(x=g[k]=d.html("input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50,type:a.inputType||"text",name:k||D},e,l[k]).on("keyup",b.handleKeyPress)),void 0!==(h=q(c[k],a.val))&&x.val(h))});b.error||(b.error=d.html("span",{color:"ff0000",x:10,y:180},void 0,y));a.animation?b.fadeIn("fast"):b.show();b.fields.label.focus()},showLabelDeleteUI:function(a){var c=
this.chart,d=c.get(ga,X).duration,b=c.components.paper,e=this.graphics.cacheLabelDeleteUI;e||(e=this.graphics.cacheLabelDeleteUI=this.createHtmlDialog(c,250,100,void 0,function(){e.hide()},function(){c.deleteLabel(a.config.index);e.hide()}),e.message=b.html("span",{x:10,y:10,width:230,height:80}).add(e.dialog),e.ok.hide(),e.remove.translate(175).show());e.message.attr({text:'Would you really like to delete the label: "'+a.config.text+'"?'});d?e.fadeIn("fast"):e.show()},connectorUpdateUIDefinition:[{key:"fromid",
text:"Connect From",inputType:"select",x:10,y:15,labelWidth:80,inputWidth:100},{key:"toid",text:"Connect To",inputType:"select",x:10,y:40,labelWidth:80,inputWidth:100},{key:"arratstart",text:"Arrow At Start",x:200,y:15,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"arratend",text:"Arrow At End",x:200,y:40,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"label",text:"Label",x:10,y:75,labelWidth:40,inputWidth:120},{key:"id",text:"Node ID",x:190,y:75,inputWidth:55},
{key:"color",text:"Color",x:10,y:100,labelWidth:40,inputWidth:35},{key:"alpha",text:"Alpha",x:110,y:100,inputWidth:25,labelWidth:35},{key:"strength",text:"Strength",x:190,y:100,inputWidth:55,val:"0.1"},{key:"url",text:"Link",x:10,y:125,labelWidth:40,inputWidth:120},{key:"tooltext",text:"Tooltip",x:190,y:125,labelWidth:40,inputWidth:60},{key:"dashed",text:"Dashed",x:10,y:150,type:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:40},{key:"dashgap",text:"Dash Gap",x:85,y:150,labelWidth:60,inputWidth:25},
{key:"dashlen",text:"Dash Length",x:190,y:150,labelWidth:70,inputWidth:30}],nodeUpdateUIDefinition:[{key:"id",text:"Id",inputWidth:60,x:10,y:15},{key:"dataset",text:"dataset",inputType:"select",inputWidth:110,innerHTML:void 0,x:170,y:15},{key:"x",text:"Value",x:10,y:40,inputWidth:21},{key:"y",text:",",x:88,y:40,inputWidth:21,labelWidth:5},{text:"(x, y)",x:125,y:40,labelWidth:33,noInput:!0},{key:"tooltip",text:"Tooltip",inputWidth:105,x:170,y:40},{key:"label",text:"Label",inputWidth:92,x:10,y:65},
{key:"labelalign",text:"Align",labelWidth:70,inputWidth:110,inputType:"select",innerHTML:'<option></option><option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:145,y:63},{key:"color",text:"Color",x:10,y:90,inputWidth:60},{key:"colorOut",innerHTML:"&nbsp;",x:85,y:90,inputWidth:15,inputType:"span"},{key:"alpha",text:"Alpha",x:170,y:90,inputWidth:20},{key:"draggable",text:"Allow Drag",value:!0,inputWidth:20,x:250,y:90,labelWidth:58,inputPaddingTop:3,
type:"checkbox"},{key:"shape",text:"Shape",inputType:"select",inputWidth:97,innerHTML:'<option value="rect">Rectangle</option><option value="circ">Circle</option><option value="poly">Polygon</option>',x:10,y:115},{key:"rectHeight",text:"Height",x:170,y:115,inputWidth:20},{key:"rectWidth",text:"Width",x:255,y:115,inputWidth:20},{key:"circPolyRadius",text:"Radius",x:170,y:115,inputWidth:20},{key:"polySides",text:"Sides",x:255,y:115,inputWidth:20},{key:"link",text:"Link",x:10,y:140,inputWidth:92},{key:"image",
text:"Image",type:"checkbox",inputPaddingTop:4,inputWidth:20,x:10,y:170},{key:"imgUrl",text:"URL",inputWidth:105,x:170,y:170},{key:"imgWidth",text:"Width",inputWidth:20,x:10,y:195},{key:"imgHeight",text:"Height",inputWidth:20,x:82,y:195},{key:"imgAlign",text:"Align",inputType:"select",inputWidth:75,innerHTML:'<option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:170,y:195}],showNodeUpdateUI:function(){var a=function(){for(var a=this.graphics.cacheUpdateUI,
c=a.fields.shape,d=["rectWidth","rectHeight","circPolyRadius","polySides"],g=d.length,l;g--;)l=d[g],/rect|poly|circ/ig.test(l)&&(a.labels[l].hide(),a.fields[l].hide()),(new RegExp(q(c.val(),"rect"),"ig")).test(l)&&(a.labels[l].show(),a.fields[l].show())},c=function(){var a=this.graphics.cacheUpdateUI.fields,c=Uc(a.color.val());c&&a.colorOut.css({background:Tc(c)})},d=function(a,c){var d=this.graphics.cacheUpdateUI,g=a.config.height,l=d.fields.image.val(),x=c?300:0,h=["imgWidth","imgHeight","imgAlign",
"imgUrl"],y,p,k;y=l?250:215;d.ok.hide();d.cancel.hide();d.remove.hide();d.error.hide();for(p=h.length;!l&&p--;)k=h[p],d.labels[k].hide(),d.fields[k].hide();t.danimate.animate(d.dialog.element,{top:(g-y)/2,height:y},x,"linear",function(){for(p=h.length;p--&&l;)k=h[p],d.labels[k].show(),d.fields[k].show();d.ok.attr({y:y-23-5}).show();d.cancel.attr({y:y-23-5}).show();d.remove.attr({y:y-23-5});d.error.attr({y:y-23-5+4}).show();d.edit?d.remove.show():d.remove.hide()})};return function(b,e,f){var g=this,
l=g.graphics,x=l.cacheUpdateUI,h=g.nodes,y=b.config,p=y.animation,k=b.components.paper,q={width:"80px",border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",padding:"2px",fontFamily:(y.style.inCanvasStyle||{}).fontFamily},n={textAlign:"right"},m=x&&x.fields,r=x&&x.labels,t,y=function(){var a=x&&x.fields,b=x.edit,c=g.chart,d=c.components,e,f,l;e=d.xAxis[0].config.axisRange.min;d=d.yAxis[0].config.axisRange.min;if(a){switch(a.shape.val()){case "circ":l="circle";break;case "poly":l="polygon";
break;default:l="rectangle"}e={x:Ba(a.x.val(),e),y:Ba(a.y.val(),d),id:a.id.val(),datasetId:a.dataset.val(),name:a.label.val(),tooltext:a.tooltip.val(),color:a.color.val(),alpha:a.alpha.val(),labelalign:a.labelalign.val(),allowdrag:a.draggable.val(),shape:l,width:a.rectWidth.val(),height:a.rectHeight.val(),radius:a.circPolyRadius.val(),numsides:a.polySides.val(),imagenode:a.image.val(),imagewidth:a.imgWidth.val(),imageheight:a.imgHeight.val(),imagealign:a.imgAlign.val(),imageurl:a.imgUrl.val(),link:a.link.val()};
h[e.id]&&(f=!0);if(f&&void 0===b)x.error.attr({text:"ID already exist."}),a.label.focus();else{a=e.datasetId;if(a!==D||b)b?c.updateNode(e):c.addNode(e),x.hide(),x.visible=!1;return}}x.enableFields()},u=function(){x.hide();x.visible=!1;x.enableFields();x.error.attr({text:A});x.visible=!1},v=function(){b.deleteNode(x.fields.id.val());x.hide();x.visible=!1};x||(x=l.cacheUpdateUI=this.createHtmlDialog(b,350,215,y,u,v),t=x.dialog,r=x.labels={},m=x.fields={});x.config=e;x.edit=f;x.error||(x.error=k.html("span",
{color:"ff0000",x:30,y:228},void 0,t));x.enableFields||(x.enableFields=function(){for(var a in e)e[a]&&e[a].disabled&&m[a]&&m[a].element.removeAttribute("disabled")});x.clearFields||(x.clearFields=function(){var a,b=x.fields;for(a in b)b[a].element.disabled||(b[a].element.value=D)});Sa(this.nodeUpdateUIDefinition,function(f){var l,h=f.key,p={},y=e[h]||{},P,u;!r[h]&&(r[h]=k.html("label",{x:f.x,y:f.y,width:f.labelWidth||45,text:f.text},n,t));if(!f.noInput){l=m[h];if(!l){q.border="checkbox"==f.type?
A:"1px solid #cccccc";l=m[h]=k.html(f.inputType||"input",{x:f.labelWidth&&f.labelWidth+5||50,y:-2+(f.inputPaddingTop||0),width:f.inputWidth||50,name:h||D},q);if("select"!==f.inputType)l.attr({type:f.type||"text"}).on("keyup",x.handleKeyPress);l.add(r[h])}gb(P=Ba(y.innerHTML,f.innerHTML))&&(p.innerHTML=P);y.disabled?p.disabled="disabled":l.element&&(l.element.disabled=!1);l.attr(p);gb(u=Ba(y.value,f.value))&&l.val(u);"shape"==h&&l.on("change",function(){a.call(g,b)});"image"==h&&l.on("click",function(){d.call(g,
b,!0)});"color"==h&&l.on("keyup",function(){c.call(g,b)})}});c.call(this,b);d.call(this,b);a.call(this,b);p?x.fadeIn("fast"):x.show();x.visible=!0;x.fields[f?"label":"id"].focus()}}(),getDataLimits:function(){var a=this.datasets,c,d=Infinity,b=-Infinity,e=-Infinity,f=Infinity,g;for(c=0;c<a.length;c++)g=a[c].dataset.config,b=W(b,g.yMax),d=da(d,g.yMin),e=W(e,g.xMax),f=da(f,g.xMin);return{max:b,min:d,xMax:e,xMin:f}},removeNodeDataset:function(a){this.datasets.splice(a)},removeConnectorSet:function(a){this.connectorSet.splice(a)},
removeLabelSet:function(a){this.labelSet.splice(a)},_clearConnectors:function(){var a=this.nodes,c,d,b,e,f;for(c in a)if(b=a[c]){d=b.config.startConnectors||{};b=b.config.endConnectors||{};for(f in d)e={graphics:d[f].graphics||{}},Ib.call(e);for(f in b)e={graphics:b[f].graphics||{}},Ib.call(e)}this.nodes={}}}]);FusionCharts.register("component",["dataset","Dragnode",{type:"dragnode",configure:function(){var a=this.index,c=this.chart,d=this.JSONData,b=c.jsonData.chart,e=(d.data||[]).length,f=this.config,
c=c.components.colorManager,g,l,x,P,y,p;f.showValues=h(d.showvalues,b.showvalues,1);p=f.useRoundEdges=h(b.useroundedges);f.zIndex=1;f.name=H(d.seriesname);f.viewMode=h(b.viewmode,0);f.id=q(d.id,this.index);if(0===h(d.includeinlegend)||void 0===f.name)f.showInLegend=!1;f.includeInLegend=h(d.includeinlegend,1);f.showTooltip=h(b.showtooltip,1);f.seriesNameInTooltip=h(b.seriesnameintooltip,1);f.tooltipSepChar=q(b.tooltipsepchar," - ");g=f.plotFillAlpha=q(b.plotfillalpha,Ha);l=f.showPlotBorder=h(b.showplotborder,
1);x=f.plotBorderColor=Ja(q(b.plotbordercolor,"666666"));P=f.plotBorderThickness=h(b.plotborderthickness,p?2:1);y=f.plotBorderAlpha=q(b.plotborderalpha,b.plotfillalpha,p?"35":"95");f.use3DLighting=!!h(b.use3dlighting,b.is3d,p?1:0);f.color=Ja(q(d.color,c.getPlotColor(a)));f.alpha=q(d.plotfillalpha,d.nodeFillAlpha,d.alpha,g);f.datasetShowPlotBorder=!!h(d.showplotborder,l);f.datasetPlotBorderColor=Ja(q(d.plotbordercolor,d.nodebordercolor,x));f.datasetPlotBorderThickness=h(d.plotborderthickness,d.nodeborderthickness,
P);f.datasetPlotBorderAlpha=f.datasetShowPlotBorder?q(d.plotborderalpha,d.nodeborderalpha,d.alpha,y):cb;f.seriesname=M(d.seriesname);f.datasetAllowDrag=!!h(d.allowdrag,1);f.colorObj={fillColor:aa(f.color,f.alpha),lineColor:{FCcolor:{color:f.datasetPlotBorderColor,alpha:f.datasetPlotBorderAlpha}}};f.lineWidth=void 0;f.symbol="poly_4";a=this.components.data=this.components.data||(this.components.data=[]);b=a.length;b>e&&a.splice(e,b-e);this.visible=1===h(d.visible,!Number(d.initiallyhidden),1);f.yMin=
f.yMax=f.xMax=f.xMin=0;this._refreshData=!0;for(d=0;d<e;d+=1)this._setConfigure(d);this._refreshData=!1;this._addLegend()},_setConfigure:function(a,c){var d=this.JSONData,b=d.data,e=c?c:b[a],f=this.components.data,b=this.config,f=f[a]=f[a]||(f[a]={}),g=f.config=f.config||(f.config={}),l=b.id,x=b.yMin||Infinity,P=b.yMax||-Infinity,y=b.xMax||-Infinity,p=b.xMin||Infinity,S,n,m=b.use3DLighting,r=b.datasetPlotBorderThickness,t=b.datasetPlotBorderColor,u=b.datasetPlotBorderAlpha,v=this.chart.jsonData.chart,
w=b.color,K=b.alpha,z=b.datasetAllowDrag,D=this.chart.components.numberFormatter;!f.graphics&&(f.graphics={});g._options=Y({},e);if(e||c){S=g.y=D.getCleanValue(q(e.y));n=g.x=D.getCleanValue(q(e.x));g.index=a;g.dragStart||(g.dragStart={});P=W(P,g.y);x=da(x,g.y);y=W(y,g.x);p=da(p,g.x);if(null===S)g.value=null;else{n=D.xAxis(n);g.formatedVal=null===S?S:D.dataLabels(S);g.setTooltext=H(M(q(e.tooltext,d.plottooltext,v.plottooltext)));g.pointLabel=q(e.label,e.name);d=M(g.pointLabel);g.label=d;g.name=d;g.displayValue=
d;g.xValue=n;g.startConnectors={};g.endConnectors={};g.toolText=b.showTooltip?this._configureTooltext(g,b,v):!1;g.link=e.link;g.id=q(e.id,l+B+a);g.allowDrag=!!h(e.allowdrag,z);d=g.shape=H(q(e.shape),"rectangle").toLowerCase();g.height=H(q(e.height),10);g.width=H(q(e.width),10);g.radius=H(q(e.radius),10);g.numSides=H(q(e.numsides),4);g.color=Ja(q(e.color,w));g.borderColor=Ja(q(e.bordercolor,t));g.alpha=q(e.alpha,K);g.imageURL=H(e.imageurl);g.imageNode=!!h(e.imagenode);g.imageWidth=e.imagewidth;g.imageHeight=
e.imageheight;g.imageAlign=H(e.imagealign,A).toLowerCase();g.labelAlign=q(e.labelalign,g.imageNode&&gb(g.imageURL)?k:"middle");switch(g.shape){case "circle":e=0;break;case "polygon":e=2;d=Sc(g.numSides);break;default:e=1}g.symbol=d;m?(g.fillColor=this.getPointColor(g.color,g.alpha,e),g.cloneFillColor=this.getPointColor(g.color,50,e)):(g.fillColor={color:g.color,alpha:g.alpha},g.cloneFillColor=aa(g.color,50));g.rollOverProperties=this.pointHoverOptions(f,v,{shapeType:e,use3D:m,height:g.height,width:g.width,
radius:g.radius,color:g.color,alpha:g.alpha,borderColor:g.borderColor,borderAlpha:u,borderThickness:r})}!g.update&&c&&(g.update=c.update);!g.add&&c&&(g.add=c.add);!0===this._refreshData&&delete f.removed}f.dataset=this;b.xMax=y;b.xMin=p;b.yMin=x;b.yMax=P},_configureTooltext:function(a,c,d){var b=a.setTooltext,e=a.formatedVal,f=c.seriesname,g=a.label,l=a.xValue,x=a.pointLabel,h=c.tooltipSepChar;void 0!==b?a=Qa(b,[3,4,5,6,8,9,10,11],{yaxisName:M(d.yaxisname),xaxisName:M(d.xaxisname),yDataValue:e,xDataValue:l,
label:g},a,d,c):void 0!==x?a=g:null===e?a=!1:(c.seriesNameInToolTip&&(f=Ba(c.seriesname)),a=f?f+h:A,a+=l?l+h:A,a+=e);return a},updatePointConfig:function(a,c){var d=this.chart,b=this.config,e=(this.components.data[c]||{}).config,f=d.components.numberFormatter,d=d.jsonData.chart,g=b.yMin||Infinity,l=b.yMax||-Infinity,x=b.xMax||-Infinity,h=b.xMin||Infinity;void 0!==e&&(e.y=f.getCleanValue(q(a.y)),e.x=f.getCleanValue(q(a.x)),e._options.x=e.x,e._options.y=e.y,W(l,e.y),da(g,e.y),W(x,e.x),da(h,e.x),g=f.xAxis(e.x),
e.formatedVal=null===e.y?e.y:f.dataLabels(e.y),e.xValue=g,e.toolText=b.showTooltip?this._configureTooltext(e,b,d):!1,e.update=a.update)},pointHoverOptions:function(a,c,d){var b=h(a.showhovereffect,this.showhovereffect,c.plothovereffect,c.showhovereffect),e={},f=!!q(a.hovercolor,this.hovercolor,c.plotfillhovercolor,a.hoveralpha,this.hoveralpha,c.plotfillhoveralpha,a.borderhovercolor,this.borderhovercolor,c.plotborderhovercolor,a.borderhoveralpha,this.borderhoveralpha,c.plotborderhoveralpha,a.borderhoverthickness,
this.borderhoverthickness,c.plotborderhoverthickness,a.hoverheight,this.hoverheight,c.plothoverheight,a.hoverwidth,this.hoverwidth,c.plothoverwidth,a.hoverradius,this.hoverradius,c.plothoverradius,b),g=!1;if(void 0===b&&f||b)g=!0,b=q(a.hovercolor,this.hovercolor,c.plotfillhovercolor,Ob(d.color,70)),f=q(a.hoveralpha,this.hoveralpha,c.plotfillhoveralpha,d.alpha),e={stroke:aa(q(a.borderhovercolor,this.borderhovercolor,c.plotborderhovercolor,d.borderColor),h(a.borderhoveralpha,this.borderhoveralpha,c.plotborderhoveralpha,
f,d.borderAlpha)),"stroke-width":h(a.borderhoverthickness,this.borderhoverthickness,c.plotborderhoverthickness,d.borderThickness),height:h(a.hoverheight,this.hoverheight,c.plothoverheight,d.height),width:h(a.hoverwidth,this.hoverwidth,c.plothoverwidth,d.width),r:h(a.hoverradius,this.hoverradius,c.plothoverradius,d.radius)},a=d.use3D?this.getPointColor(Ja(q(a.hovercolor,this.hovercolor,c.plotfillhovercolor,Ob(d.color,70))),q(a.hoveralpha,this.hoveralpha,c.plotfillhoveralpha,d.alpha),d.shapeType):aa(b,
f),e.fill=fa(a);return{enabled:g,rollOverAttrs:e}},getJSONData:function(){var a=this.components.data,c=a.length,d=[],b,e;for(e=0;e<c;e++)b=a[e],!b.removed&&b.config._options&&(delete b.config._options.update,delete b.config._options.add,d.push(b.config._options));return d},getPointColor:function(a,c,d){var b;a=Ja(a);c=Wb(c);b=Ob(a,80);a=Qc(a,65);c={FCcolor:{gradientUnits:"objectBoundingBox",color:b+","+a,alpha:c+","+c,ratio:pc}};d?c.FCcolor.angle=1===d?0:180:(c.FCcolor.cx=.4,c.FCcolor.cy=.4,c.FCcolor.r=
"50%",c.FCcolor.radialGradient=!0);return c},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.plotType="dragnode";this.configure()},_addLegend:function(){var a=this.config,c=this.chart.components.legend,a={enabled:a.includeInLegend,type:this.type,fillColor:fa({color:a.color,alpha:a.alpha}),strokeColor:fa({color:a.plotBorderColor,alpha:Ha}),anchorSide:4,strokeWidth:a.anchorBorderThickness,label:Ba(this.JSONData.seriesname)};this.legendItemId=
c.addItems(this,this.legendInteractivity,a)},draw:function(){var a=this.components,c=this.graphics,d=this.chart,b=d.getJobList(),e=d.linkedItems.smartLabel,a=a.data,f=this.components.removeDataArr||[],g=f.length,l=d.components.paper,x,h=d.config.dataLabelStyle,y={fontFamily:h.fontFamily,fontSize:h.fontSize,lineHeight:h.lineHeight,fontWeight:h.fontWeight,fontStyle:h.fontStyle},p;x=d.graphics;p=x.datasetGroup;var k=x.trackerGroup;x=c.group=c.group||l.group(p);p=c.dragLabelGroup=c.dragLabelGroup||l.group("dragLabelGroup",
p);c.trackerContainer=c.trackerContainer||l.group("tracker",k);e.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);e.setStyle(h);x.css(y);d=0;for(e=a.length;d<e;d+=1)l=a[d].removed,!l&&this._drawNode(d);b.trackerDrawID.push(Ya.addJob(this.drawTracker,this,[],t.priorityList.tracker));!this.drawn&&b.labelDrawID.push(Ya.addJob(this.drawLabel,this,[],t.priorityList.label));this.drawn=!0;this.visible&&(x.show(),p.show(),c.trackerContainer.show());for(d=0;d<g;d++)this._removeDataVisuals(f.shift())},
_drawNode:function(a){var c=this.chart,d=c.components,b=this.groupManager,e=b.nodes,f=d.paper,g=this.xAxis=d.xAxis[0],l=this.yAxis=d.yAxis[0],d=this.components.data[a],x=d.config,P=this.config,y=c.get(ga,X)||{},p=y.duration,k=y.dummyObj,n=y.animObj,y=d.graphics||(d.graphics={}),m=x.symbol,t,u,v,w,ma,K,z,F,E=P.colorObj.lineColor,Va=P.datasetPlotBorderThickness,C,G;w=this.graphics;z=c.graphics.datasetGroup;var c=w.group,N=d.config.rollOverProperties,L,H,I,J=this.components.pool||{},T;t=y.graphic;var na=
y.cloneGraphic,Q=y.cloneImage,V=y.image,M,W=y.label;w.cloneGraphicGroup=w.cloneGraphicGroup||f.group("clone",z);w.cloneGraphicGroup.attr({opacity:.3});x._yPos=l=l.getAxisPosition(x.y);x._xPos=g=g.getAxisPosition(x.x);if(void 0!==l&&!isNaN(l)){x.shapeArg={};K=x.shapeArg;u=h(x.height);t=h(x.width);v=h(x.radius);m="rectangle"===m;w=x.id;ma=x.imageNode;z=x.imageURL;F=x.imageAlign;C=m?t:1.4*v;L=h(x.imageWidth,C);G=m?u:1.4*v;v=h(x.imageHeight,G);I=fa(x.fillColor);x._plotWidth=C;x._plotHeight=G;H={fill:I,
"stroke-width":Va,stroke:fa(E)};m=K.symbol=q(x.symbol,P.symbol,A);m=m.split(B);T=[m[1],g,l,x.radius,x.startAngle,0];"poly"===m[0]||"circle"===m[0]?(x.shapeType=m[0],M="polypath",P="path",T={polypath:T},K.x=g,K.y=l,K.radius=x.radius,K.sides=m[1]):(x.shapeType=lc,P=M="rect",K.x=g-t/2,K.y=l-u/2,K.r=0,K.width=t,K.height=u,T={x:K.x,y:K.y,width:t,height:u,r:0},H.width=t,H.height=u,H.x=g-t/2,H.y=l-u/2,N&&N.enabled&&(m=N.rollOverAttrs,m.x=g-m.width/2,m.y=l-m.height/2,delete m.r));m=(t=y.element)&&t.type;
-1===M.indexOf(m)&&t&&(t.remove(),t=y.element=null,W&&W.remove(),V&&V.remove(),delete y.label,delete y.image,V=null);t||(J.element&&J.element[P]&&J.element[P].length?(t=y.element=J.element[P].shift(),t.toFront()):(t=y.element=f[M](c),t.attr(T)));t.show().animateWith(k,n,T,p);t.attr({fill:I,"stroke-width":Va,stroke:fa(E)});b.animationDone=!0;na&&(na.transform(D),na.attr(T));if(ma&&z){v>G&&(v=G);L>C&&(L=C);switch(F){case "middle":b=l-v/2;break;case r:b=G>v?l+G/2-v:l-v/2;break;default:b=G>v?l-.5*G:l-
v/2}x.imageX=g-L/2;x.imageY=b;x.imageWidth=L;x.imageHeight=v;P="image";V||(J.image&&J.image[P]&&J.image[P].length?(V=y.image=J.image[P].shift(),V.toFront()):V=y.image=f.image(c));V.show().attr({src:z,x:x.imageX,y:b,width:L,height:v});Q&&(Q.transform(D),Q.attr({src:z,x:x.imageX,y:b,width:L,height:v}))}x.pointAttr=H;this.drawn&&this.drawLabel(a);e[w]=d}},drawLabel:function(a){var c=this.chart,d=c.components.paper,b=this.components.data,e=b.length,f,g,l=this.graphics.group,x=c.config.dataLabelStyle,
h=c.get("config","animationObj"),y=h.dummyObj,p=h.animObj,q=h.duration,m=this.components.pool||{},n=c.config,t,u,h=h.animType,v,w,ma,c=c.linkedItems.smartLabel;for(void 0!==a?e=a+1:a=0;a<e;a++)if(u=b[a],f=u.config,w=f._plotWidth,t=f._plotHeight,g=f.displayValue,v=f.labelAlign,ma=u.graphics,gb(g)||g!==A){c.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);g=c.getSmartText(g,w,t);t=.5*t-.5*g.height;switch(v){case k:t=-t;break;case r:break;default:t=0}v=f._xPos;f=f._yPos;u._yAdjustment=u=t;u=f+u;f={text:g.text,
title:g.tooltext||D,fill:x.color,"text-bound":[x.backgroundColor,x.borderColor,x.borderThickness,x.borderPadding,x.borderRadius,x.borderDash]};(g=ma.label=ma.label||m.label&&m.label.text&&m.label.text.shift())?(g.attr(f),g.show().animateWith(y,p,{x:v,y:u},q,h)):(f.x=v,f.y=u,g=ma.label=d.text(f,l));(ma=ma&&(ma.image||ma.element))&&g.insertAfter(ma)}else ma.label&&ma.label.hide()},_removeDataVisuals:function(a){var c=this.components.pool||(this.components.pool={}),d,b,e,f;if(a)for(b in a=a.graphics,
a)d=c[b]||(c[b]={}),e=(f=a[b])&&f.type,d=d[e]||(d[e]=[]),f.hide&&"function"===typeof f.hide&&(f.attr({"text-bound":[]}),f.hide(),f.transform&&f.transform(D)),d.push(a[b])},show:function(){var a=this.graphics,c=this.graphics.trackerContainer,d=a.dragLabelGroup;a.group.show();d.show();c.show();this.visible=!0},hide:function(){var a=this.graphics,c=this.graphics.trackerContainer,d=a.dragLabelGroup;a.group.hide();c.hide();d.hide();this.visible=!1},drawTracker:function(a,c){for(var d=this,b=d.components.data,
e=d.chart,f=e.components.paper,g,l,x,h,y,p,k,m,n,t,r,u=d.graphics.trackerContainer,v={},w,K,z,A={circle:"path",rect:"rect",poly:"path"},E=function(a,b){return function(c){var d=this.data("hoverAttr");b&&a.graphics.element.attr(d);Z.call(this,e,c,"DataPlotRollOver")}},B=function(a,b){return function(c){var d=this.data("unHoverAttr");b&&a.graphics.element.attr(d);Z.call(this,e,c,"DataPlotRollOut")}},F,G,N,L,C=function(a){d._dragUp.call(this,a)},H=function(a,b,c,f){d._dragMove.call(this,a,b,c,f,e)},
J=function(a){d._dragStart.call(this,a,e)},T=a||0,I=c||b.length,T=0;T<I;T++)L=b[T],L.removed||(g=L.config,l=g.shapeArg,x=l.width,h=l.height,y=l.x,p=l.y,k=g.pointAttr,m=g.shapeType,n=l.sides,t=l.radius,l=L.graphics.trackerElement,r=L.graphics.cloneGraphic,z=g.rollOverProperties,v={},w=L.graphics.cloneImage,K=L.graphics.cloneText,F=l&&l.data("type"),G=g.toolText,N=g.link?"pointer":g.allowDrag?"move":D,v.fill=Ca,v.stroke=Ca,v.cursor=N,v.ishot=!0,F!==A[m]&&l&&(l.remove(),l=L.graphics.trackerElement=null),
l?(m!==lc?l.attr({polypath:[n||2,y,p,t,g.startAngle,0]}).attr(v):l.attr({x:y,y:p,width:x,height:h}).attr(v),l.tooltip(G)):(m!==lc?(l=L.graphics.trackerElement=f.polypath(n||2,y,p,t,g.startAngle,0,u),l.data("type","path")):(l=L.graphics.trackerElement=f.rect(y,p,x,h,0,u),l.data("type","rect")),r&&(r.remove(),delete L.graphics.cloneGraphic),w&&(w.remove(),delete L.graphics.cloneImage),K&&(K.remove(),delete L.graphics.cloneText),l.attr(v).tooltip(G),l.hover(E(L,z&&z.enabled),B(L,z&&z.enabled)),l.data("drag-options",
{dataObj:L,dataset:d,datasetIndex:d.index,pointIndex:L.config.index,cursor:N,chart:e,link:L.link}),l.drag(H,J,C)),g={index:T,link:g.link,y:g.y,x:g.x,shape:q(m,"rect"),width:x,height:h,radius:t,sides:g.numSides,label:g.displayValue,toolText:g.toolText,id:g.id,datasetIndex:d.index,datasetName:d.JSONData.seriesname,sourceType:"dataplot"},l.data("eventArgs",g),l.data("hoverAttr",z&&z.rollOverAttrs),l.data("unHoverAttr",k))},_dragStart:function(a,c){var d=this,b=d.data("drag-options"),e=d.getBBox(),f=
b.dataObj,g=f.config,l=b.dataset,x=l.groupManager,h=x.graphics,y=h.waitElement,p=b.dataset.config,b=p.viewMode;Ub&&cc(a);var k=c.components.paper,q=l.graphics.trackerContainer,m=g.dragStart||(g.dragStart={}),n=f.graphics.cloneGraphic,t=l.graphics.cloneGraphicGroup,r=f.graphics.cloneText,u=f.graphics.image,v=f.graphics.cloneImage,w=f.graphics.label,z={circle:"circ",rectangle:"rect",polygon:"poly"};Da&&(d._.dirty=1);g.symbol.split(B);g.allowDrag&&(!n&&f.graphics.element&&(n=f.graphics.cloneGraphic=
f.graphics.element.clone(),t.appendChild(n)),w&&!r&&(r=f.graphics.cloneText=f.graphics.label.clone(),r.followers[0]&&r.followers[0].el&&t.appendChild(r.followers[0].el),t.appendChild(r)),u&&!v&&(v=f.graphics.cloneImage=f.graphics.image.clone(),t.appendChild(v)),r&&r.show(),v&&v.show(),n&&n.show());m.xPos=g._xPos;m.yPos=g._yPos;m.x=g.x;m.y=g.y;m.bBox=e;m.origX=m.lastDx||(m.lastDx=0);m.origY=m.lastDy||(m.lastDy=0);d.data("fire_click_event",1);d.data("mousedown",1);clearTimeout(d._longpressactive);d.data("move",
!0);b||(y||(y=h.waitElement=k.ringpath(g._xPos,g._yPos,8,11,0,0,q).attr({fill:fa({alpha:"100,100",angle:120,color:"CCCCCC,FFFFFF",ratio:"30,50"}),"stroke-width":0})),y.attr({ringpath:[g._xPos,g._yPos,8,11,0,0]}).show().animate({ringpath:[g._xPos,g._yPos,8,11,0,6.28]},1E3),d._longpressactive=setTimeout(function(){var a=p.name!==A&&void 0!==p.name?p.name+yc+" ":A,b=p.id;h.waitElement&&h.waitElement.hide();d.data("fire_click_event",0);x.showNodeUpdateUI(c,{x:{value:g.x},y:{value:g.y},draggable:{value:Ba(g.allowdrag,
1)},color:{value:g.color},alpha:{value:g.alpha},label:{value:Ba(g.label,g.name)},tooltip:{value:g.toolText},shape:{value:z[g.shape]},rectWidth:{value:g.width},rectHeight:{value:g.height},circPolyRadius:{value:g.radius},polySides:{value:g.numsides},image:{value:g.imageNode},imgWidth:{value:g.imageWidth},imgHeight:{value:g.imageHeight},imgAlign:{value:g.imageAlign},imgUrl:{value:g.imageURL},id:{value:g.id,disabled:!0},link:{value:g.link},dataset:{innerHTML:'<option value="'+b+'">'+a+b+"</option>",disabled:!0},
datasetIndex:l.index},!0)},1E3));n&&n.show();r&&r.show();v&&v.show()},_dragMove:function(a,c,d,b,e){var f=this.data("drag-options"),g=f.dataObj;d=g.graphics.cloneGraphic;b=g.graphics.cloneImage;var l=g.graphics.cloneText,g=g.config,x=g.dragStart,h=x.bBox.x+a,y=x.bBox.x2+a,p=x.bBox.y+c,k=x.bBox.y2+c,q=f.dataset.groupManager.graphics,m=e.config.canvasLeft,n=e.config.canvasRight,t=e.config.canvasTop;e=e.config.canvasBottom;h<m&&(a+=m-h);y>n&&(a-=y-n);p<t&&(c+=t-p);k>e&&(c-=k-e);if(a||c)q.waitElement&&
q.waitElement.hide(),this.data("fire_click_event",0),sc.call(this);g.allowDrag&&(x.draged=!0,x.lastDx=a,x.lastDy=c,e=f._transformObj={transform:"t"+(x.origX+a)+","+(x.origY+c)},d&&d.attr(e),b&&b.attr(e),l&&l.attr({x:g._xPos+a,y:g._yPos+c}))},removeData:function(a,c){var d=this.components,b=this.groupManager,e=d.data,f=d.removeDataArr||(d.removeDataArr=[]);a=a||0;0>a&&(a=0);d.removeDataArr=f.concat(e.splice(a,c||1));b._clearConnectors()},_dragUp:function(a){var c=this.data("drag-options"),d=c.dataset,
b=d.chart,e=d.components.data,f=c.dataObj,g=c.dataset.groupManager,l=this.data("fire_click_event"),c=f.config,x=b.config.canvasTop,h=b.config.canvasLeft,y=f.config.dragStart||{},p=d.yAxis,k=f.graphics.cloneText,q=d.groupManager.graphics,m=b.components.xAxis[0],n={},r,u,v,w,K,z=f.graphics.cloneGraphic,D=f.graphics.cloneImage,E=function(a){var b;if(a)for(b in a)if(K=a[b])v=K.config.datasetIndex,r=K.config.fromPointObj,u=K.config.toPointObj,(w=g.connectorSet[v])&&w&&w.connectors.drawConnector(K,r,u)};
q.waitElement&&q.waitElement.hide();sc.call(this);this.data("mousedown",0);l&&Z.call(this,b,a);if(y.draged){y.origX+=y.lastDx;y.origY+=y.lastDy;f.config._xPos=y.xPos+y.lastDx;f.config._yPos=y.yPos+y.lastDy;n.x=m.getValue(f.config._xPos-h);n.y=p.getValue(f.config._yPos-x);n.update=!0;l=0;for(h=e.length;l<h&&(x=e[l],f.config.id!==x.config.id);l++);d.updatePointConfig(n,l);e=this.data("eventArgs");e.x=n.x;e.y=n.y;d._drawNode(l);d.drawTracker(l,l+1);d=f.config.startConnectors;f=f.config.endConnectors;
E(d);E(f);a=qc(b.linkedItems.container,a);a.sourceEvent="dataplotdragend";t.raiseEvent("chartupdated",Y(a,e),b.chartInstance);y.draged=!1}k&&k.hide();z&&z.hide();D&&D.hide();delete c.dragStart},getDataLimits:function(){var a=this.config;return{max:a.yMax,min:a.yMin,xMax:a.xMax,xMin:a.xMin}}},"Area"]);FusionCharts.register("component",["dataset","Connector",{type:"connector",configure:function(){var a=this.chart.jsonData.chart,c=this.config,d=this.components.data||(this.components.data=[]),b=this.JSONData,
e=b.connector,f=e&&e.length,g=t.parseUnsafeString;c.connectorsTooltext=H(g(q(b.connectortooltext,a.connectortooltext)));c.stdThickness=h(b.stdthickness,1);c.conColor=Ja(q(b.color,"FF5904"));c.conAlpha=q(b.alpha,Ha);c.conDashGap=h(b.dashgap,5);c.conDashLen=h(b.dashlen,5);c.conDashed=!!h(b.dashed,0);c.arrowAtStart=!!h(b.arrowatstart,1);c.arrowAtEnd=!!h(b.arrowatend,1);c.conStrength=h(b.strength,1);c.toolTipSepChar=q(a.tooltipsepchar," - ");c.showTooltip=h(a.showtooltip,1);c.viewMode=h(a.viewmode,1);
a=d.length;a>f&&d.splice(f,a-f);c._refreshData=!0;for(d=0;d<f;d+=1)this._setConfigure(d,e[d]);c._refreshData=!0},_setConfigure:function(a,c){var d=this.components.data,d=d[a]||(d[a]=d[a]={}),b=this.config,e=this.chart,f=M(q(c.label,c.name)),g=q(c.alpha,b.conAlpha),l=e.linkedItems.smartLabel,x="$fromLabel"+b.toolTipSepChar+"$toLabel",g={FCcolor:{color:Ja(q(c.color,b.conColor)),alpha:g}},k=H(M(q(c.tooltext,b.connectorsTooltext)));l.useEllipsesOnOverflow(e.config.useEllipsesWhenOverflow);e=l.getOriSize(f);
d.config=d.config||(d.config={});!d.graphics&&(d.graphics={});x=b.showTooltip?q(k,f?"$label":x):!1;f=d.config={_options:c,id:q(c.id,a).toString(),from:q(c.from,A),to:q(c.to,A),label:f,toolText:x,customToolText:k,color:g,index:a,dashStyle:h(c.dashed,b.conDashed)?nb(h(c.dashlen,b.conDashLen),h(c.dashgap,b.conDashGap),b.stdThickness):"none",dashed:c.dashed,dashlen:c.dashlen,dashgap:c.dashgap,arrowAtStart:!!h(c.arrowatstart,b.arrowAtStart),arrowAtEnd:!!h(c.arrowatend,b.arrowAtEnd),conStrength:h(c.strength,
b.conStrength),link:c.link,stdThickness:b.stdThickness,labelWidth:e.widht,labelHeight:e.height};f.datasetIndex=this.index;f.add=c.add;f.update=c.update;b._refreshData&&delete d.removed},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.configure()},draw:function(){var a=this.chart,c=this.config,d=a.graphics,b=this.groupManager.nodes,e=this.components.data,f,g,l=this.chart.components.paper,x=a.getJobList();g=d.datasetGroup;f=a.config.dataLabelStyle;
var a=e.length,d=this.components.removeDataArr||[],h=d.length,y;y||(y=this.graphics.connectorGroup=this.graphics.connectorGroup||l.group("connectorGroup").insertBefore(g));c.showTooltip&&y.trackTooltip(!0);c.cleared=!1;y.css(f);for(l=0;l<a;l++)c=e[l],y=c.config,c.graphics||(c.graphics={}),f=y.from,g=y.to,f=b[f],g=b[g],f&&g&&!0!==y.deleted&&this.drawConnector(c,f,g,l);!0!==this.drawn&&x.labelDrawID.push(Ya.addJob(this.drawLabel,this,[],t.priorityList.label));this.drawn=!0;for(l=0;l<h;l++)this._removeDataVisuals(d.shift())},
mouseDown:function(){var a=this,c=a.data(ga),d=a.data("dataset"),b=d.groupManager,e=d.chart,f=d.config,g=c||{};a._longpressactive=clearTimeout(a._longpressactive);a.data("fire_click_event",1);a._longpressactive=setTimeout(function(){a.data("fire_click_event",0);a.data("viewMode")||b.showConnectorUpdateUI(e,{fromid:{val:g.from,innerHTML:"<option>"+g.from+"</option>",disabled:!0},toid:{val:g.to,innerHTML:"<option>"+g.to+"</option>",disabled:!0},datasetIndex:d.index,index:c.index,arratstart:{val:!!h(g.arrowatstart,
1)},arratend:{val:!!h(g.arrowatend,1)},dashed:{val:h(g.dashed)},dashgap:{val:g.dashgap},dashlen:{val:g.dashlen},label:{val:g.label},tooltext:{val:g.tooltext},id:{val:f.id,disabled:!0},strength:{val:g.conStrength},alpha:{val:g.alpha},color:{val:g.color.FCcolor.color}},!0)},1E3)},mousemove:function(){this.data("fire_click_event",0);sc.call(this)},mouseup:function(a){var c=this.data("dataset").chart;sc.call(this);Z.call(this,c,a,"ConnectorClick")},hoverIn:function(a){var c=this.data("dataset").chart;
Z.call(this,c,a,"ConnectorRollover")},hoverOut:function(a){var c=this.data("dataset").chart;Z.call(this,c,a,"ConnectorRollout")},drawConnector:function(a,c,d){if(!a.removed){var b=this.chart,e,f,g,l,x=b.components.paper,h=b.components.numberFormatter,y=a.graphics,p=b.get("config","animationObj"),b=this.graphics.connectorGroup,k=p.animObj,m=p.dummyObj,n=p.animType,p=p.duration,t=a.config;f=t.toolText;var r,u,v=t.eventArgs||(t.eventArgs={}),w=this.config,K=this.components.pool||{};t.fromPointObj=c;
t.toPointObj=d;r=c.config;u=d.config;t.fromX=e=r._xPos;t.fromY=g=r._yPos;t.toX=f=u._xPos;t.toY=l=u._yPos;t._labelX=(e+f)/2;t._labelY=(g+l)/2;t.strokeWidth=e=t.conStrength*t.stdThickness;g=t.color;t.textBgColor=g&&g.FCcolor&&g.FCcolor.color;v.label=t.label;v.arrowAtStart=t.arrowAtStart;v.arrowAtEnd=t.arrowAtEnd;v.link=t.link;v.id=t.id;v.fromNodeId=r.id;v.toNodeId=u.id;f=t.toolText=Qa(t.toolText,[3,83,84,85,86,87,88,89,90,91,92],{label:t.label,fromXValue:h.dataLabels(c.config.x),fromYValue:h.dataLabels(c.config.y),
fromXDataValue:c.config.x,fromYDataValue:c.config.y,fromLabel:q(c.config.displayValue,c.config.id),toXValue:h.dataLabels(d.config.x),toYValue:h.dataLabels(d.config.y),toXDataValue:d.config.x,toYDataValue:d.config.y,toLabel:q(d.config.displayValue,d.config.id)});r=c.config;u=d.config;c=r.startConnectors;d=u.endConnectors;h=a.config.id+"-"+r.id+"-"+u.id;c[h]=a;d[h]=a;c=this._getlinePath(a);d=y.graphic;y.graphic||(K.graphic&&K.graphic.path&&K.graphic.path.length?d=y.graphic=K.graphic.path.shift():(d=
y.graphic=x.path(b).mousedown(this.mouseDown).mousemove(this.mousemove).mouseup(this.mouseup).hover(this.hoverIn,this.hoverOut),d.attr({path:c})));d.show().animateWith(m,k,{path:c},p,n);d.attr({"stroke-width":e,ishot:!0,"stroke-dasharray":t.dashStyle,cursor:t.link?"pointer":D,stroke:fa(g)}).data("eventArgs",v).data("viewMode",w.viewMode).data(ga,t).data("dataset",this).tooltip(f);this.drawn&&this.drawLabel(a)}},drawLabel:function(a){var c=this,d=c.config,b=c.chart,e=b.components.paper,f=b.get("config",
"animationObj"),g=c.graphics.connectorGroup,l=f.animObj,x=f.dummyObj,h=f.animType,y=f.duration,p,k,m,n,t=b.config.dataLabelStyle,r,v,u,w,K,z,b=c.components.data,A=c.components.pool||{},f=b.length,E=function(a){p=a.config;m=p.toolText;v=a.graphics;k=p.label;w=p._labelX;K=p._labelY;z=p.textBgColor;k?(r=v.text=v.text||A.element&&A.element.text&&A.element.text.shift(),n={text:k,fill:t.color,ishot:!0,direction:D,cursor:p.link?"pointer":D,"text-bound":[q(t.backgroundColor,z),q(t.borderColor,z),1,"2"]},
v.text?(r.show().animateWith(x,l,{x:w,y:K},y,h),r.attr(n)):(n.x=w,n.y=K,v.text=r=e.text(n,g).mousedown(c.mouseDown).mousemove(c.mousemove).mouseup(c.mouseup).hover(c.hoverIn,c.hoverOut)),r.data("eventArgs",p.eventArgs).data("viewMode",d.viewMode).data(ga,p).data("dataset",c).tooltip(m)):v.text&&v.text.hide()};if(a)E(a);else for(u=0;u<f;u++)a=b[u],E(a)},getJSONData:function(){var a=this.components.data,c=a.length,d=[],b,e;for(e=0;e<c;e++)b=a[e],b.removed||(b.config._options&&(delete b.config._options.update,
delete b.config._options.add),d.push(b.config._options));return d},_updateFromPos:function(a,c){this.fromX=a;this.fromY=c;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_updateToPos:function(a,c){this.toX=a;this.toY=c;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_getlinePath:function(a){a=a.config;
var c=a.fromPointObj,d=a.toPointObj,b=a.fromX,e=a.fromY,f=a.toX,g=a.toY,l=["M",b,e];a.arrowAtStart&&(c=c.config,l=c.shapeType===lc?l.concat(this._drawArrow(b,e,f,g,c.shapeArg.width,c.shapeArg.height)):l.concat(this._drawArrow(b,e,f,g,c.shapeArg.radius)));a.arrowAtEnd&&(c=d.config,l=c.shapeType===lc?l.concat(this._drawArrow(f,g,b,e,c.shapeArg.width,c.shapeArg.height)):l.concat(this._drawArrow(f,g,b,e,c.shapeArg.radius)));l.push("L",f,g);return l},_drawArrow:function(a,c,d,b,e,f){var g=ya.atan((c-b)/
(a-d)),l=[];0>g&&(g=2*ya.PI+g);if(b>c){if(d>=a&&g>ya.PI||d<a&&g>ya.PI)g-=ya.PI}else if(d>=a&&g<ya.PI&&0!==g||d<a&&g<ya.PI)g+=ya.PI;"undefined"==typeof f?(d=a+e*Tb(g),e=c+e*hb(g)):(e=Ea(e)/2,f=Ea(f)/2,d=a+(e=a<d?e:-e),e=c+e*ya.tan(g),Ea(c-e)>Ea(f)&&(e=c+(f=c<b?f:-f),d=a+f/ya.tan(g)));l.push("L",d,e,d+10*Tb(g+.79),e+10*hb(g+.79),"M",d+10*Tb(g-.79),e+10*hb(g-.79),"L",d,e);return l},removeData:function(a,c){var d=this.components,b=d.data;0>a&&(a=0);d.removeDataArr=b.splice(a,c)}},"Dragnode"]);FusionCharts.register("component",
["dataset","DragableLabels",{configure:function(){var a=(this.JSONData||[]).length,c,d=this.components.data;this.config.viewMode=h(this.chart.jsonData.chart.viewmode,0);d||(d=this.components.data=[]);c=d.length;c>a&&d.splice(a,c-a);for(c=0;c<a;c++)this._setConfigure(c)},_setConfigure:function(a,c){var d=this.JSONData,d=c?c:d[a],b=this.components.data,e,f=this.chart.config.style.inCanvasStyle,g=f.fontSize;e=b[a];!e&&(e=b[a]={});!e.graphics&&(e.graphics={});b=e.config=e.config||(e.config={});e=M(q(d.text,
d.label));b._options=d;b.add=d.add;e&&(b.text=e,b.x=d.x||0,b.y=d.y||0,b.labelFontSize=g=h(d.fontsize,g),b.labelColor=ac(q(d.color,f.color)),b.alpha=h(d.alpha,100)/100,b.allowdrag=h(d.allowdrag,1),b.padding=h(d.padding,5),b.labelCSS=d.fontsize?{fontSize:g+"px"}:void 0,b.labelBGColor=q(d.bgcolor&&d.bgcolor.replace(fb,Pb)),b.labelBDColor=q(d.bordercolor&&d.bordercolor.replace(fb,Pb)),b.link=d.link,b.allowDrag=h(d.allowdrag,1),b.borderThickness=d.borderthickness,b.dashLen=d.dashlen,b.dashGap=d.dashgap,
b.dashed=d.dashed,b.radius=d.radius)},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.configure()},getJSONData:function(){var a=this.components.data,c=a.length,d=[],b,e;for(e=0;e<c;e++)b=a[e],b.removed||b.config._options&&d.push(b.config._options);return d},draw:function(){var a=this.components.data,c=this.chart,d=c.getJobList(),b=c.get(ga,X),e=b.duration,f=b.animType,g=b.dummyObj,b=b.animObj,l=c.components.paper,x=c.components.yAxis[0],
k=c.components.xAxis[0],y=c.linkedItems.smartLabel,p=c.graphics.datalabelsGroup,q=c.graphics.trackerGroup,m=c.config.dataLabelStyle,n,r,v,u,w,ma,K,z,A,E,B,F,G,N,L,C=a.length,H=this.components.removeDataArr||[],J=H.length,T=this.components.pool||{},I,Q,p=this.graphics.dataLabelContainer=this.graphics.dataLabelContainer||l.group("datalabels",p);this.graphics.trackerContainer=this.graphics.trackerContainer||l.group("tracker",q);p.css({"font-weight":m.fontWeight,"font-style":m.fontStyle,"font-size":m.fontSize,
"font-family":m.fontFamily});for(I=0;I<C;I++)B=a[I],B.removed||(E=B.config,!B.graphics&&(B.graphics={}),E.index=I,q=k.getPixel(E.x),u=x.getPixel(E.y),ma=E.text,K=E.labelBGColor,z=E.labelBDColor,A=E.padding,F=E.allowDrag,G=E.labelFontSize,w=E.labelColor,N=E.radius,v=E.dashed,n=E.dashLen,r=E.dashGap,L=E.borderThickness,Q=E.labelCSS,n={x:q,y:u,text:ma,align:"center",fill:w,"text-bound":[K||D,z||D,h(L,1),A,h(N,0),h(v,0)?nb(h(n,5),h(r,4),h(L,1)):"none"],visibility:oa},K={backgroundColor:K,borderColor:z,
borderPadding:A,fontSize:G+"px",fontStyle:m.fontStyle,fontWeight:m.fontWeight,borderRadius:0,borderDash:"none",fontFamily:m.fontFamily},Cc(K),y.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),y.setStyle(K),F={link:E.link,text:ma,x:q,y:u,allowdrag:F,sourceType:"labelnode"},(K=B.graphics.element=B.graphics.element||T.element&&T.element.text&&T.element.text.shift())?(E.labelCSSApplied&&!Q&&K.removeCSS(),K.show().animateWith(g,b,n,e,f).css(Q)):K=B.graphics.element=l.text(n,Q,p),E.labelCSSApplied=
Q,K.data("eventArgs",F),ma=y.getOriSize(ma),E.width=ma.width,E.height=ma.height,E.xPos=q,E.yPos=u);d.trackerDrawID.push(Ya.addJob(this.drawTracker,this,[],t.priorityList.tracker));for(I=0;I<J;I++)this._removeDataVisuals(H.shift())},removeData:function(a,c){var d=this.components;d.removeDataArr=d.data.splice(a,c)},drawTracker:function(){var a=this,c=a.components.data,d=a.chart,b=d.components.paper,e=a.groupManager,f=a.config,g=a.graphics.trackerContainer,l=c.length,x,h,y,p=function(a){var b=this;b.data("fire_click_event",
1);clearTimeout(b._longpressactive);b._longpressactive=setTimeout(function(){b.data("fire_click_event",0);b.data("viewMode")||e.showLabelDeleteUI(a)},1E3)},k=function(){this.data("fire_click_event")&&(this.data("fire_click_event",0),e.clearLongPress.call(this))},q=function(a){var b=this.data("fire_click_event");e.clearLongPress.call(this);b&&Z.call(this,d,a,"LabelClick")},m=function(a){Z.call(this,d,a,"LabelRollover")},n=function(a){Z.call(this,d,a,"LabelRollout")},t,r,v,u,w,z,A,E=function(b,c,e,
f,g){a._labelDragMove.call(this,b,c,e,f,d,g)},B=function(b){a._labelDragStart.call(this,b,d)},F=function(b){a._labelDragUp.call(this,b)},G;for(G=0;G<l;G++)x=c[G],x.removed||(h=x.config,y=h.padding||0,z=h.width,A=h.height,u=h.xPos-z/2,w=h.yPos-A/2,t=h.allowDrag,r=h.text,v=x.graphics.trackerElement,y={x:u-y,y:w-y,width:z+2*y,height:A+2*y,cursor:h.allowDrag?"move":D,fill:Ca,stroke:Ca,ishot:!0},h={link:h.link,text:r,x:u,y:w,allowdrag:t,sourceType:"labelnode"},v||(v=x.graphics.trackerElement=b.rect(g).mousedown(p).mousemove(k).mouseup(q).data("viewMode",
f.viewMode).data("eventArgs",h).hover(m,n).drag(E,B,F)),v.attr(y),v.data("drag-options",{index:G,dataset:a}))},_labelDragStart:function(){var a=this,c=a.getBBox(),d=a.data("drag-options"),b=d.dataset,e=b.groupManager,f=b.components.data[d.index],b=f.graphics.element,g=f.dragStart=f.dragStart||(f.dragStart={});d.ox=b.attr("x");d.oy=b.attr("y");d.bBox=c;g.xPos=f.config.xPos;g.yPos=f.config.yPos;g.bBox=c;a.data("fire_click_event",1);a.data("fire_dragend",0);clearTimeout(a._longpressactive);a._longpressactive=
setTimeout(function(){a.data("fire_click_event",0);a.data("viewMode")||e.showLabelDeleteUI(f)},1E3)},_labelDragMove:function(a,c,d,b,e,f){b=e.config;d=b.canvasLeft;var g=b.canvasRight,l=b.canvasBottom;b=b.canvasTop;var x=this.data("drag-options"),h=x.dataset,y=h.groupManager,h=h.components.data[x.index],p=h.graphics.element,k=h.dragStart,q=k.bBox,m=k.bBox.x+a,n=k.bBox.x2+a,t=k.bBox.y+c,r=k.bBox.y2+c,v=e.components.yAxis[0],u=e.components.xAxis[0];m<d&&(a+=d-m);n>g&&(a-=n-g);t<b&&(c+=b-t);r>l&&(c-=
r-l);k.draged=!0;this.attr({x:q.x+a,y:q.y+c});g=x.ox+a;l=x.oy+c;p.attr({x:x.ox+a,y:x.oy+c});h.config.x=u.getValue(g-d);h.config.y=v.getValue(l-b);this.data("fire_dragend")||(Z.call(this,e,f,"LabelDragStart"),this.data("fire_dragend",1));this.data("fire_click_event")&&(this.data("fire_click_event",0),y.clearLongPress.call(this))},_labelDragUp:function(a){var c=this.data("drag-options"),d=c.dataset,b=d.chart,e=d.groupManager,f=d.components.data[c.index].dragStart,c=this.data("eventArgs"),d=d.yAxis;
c.x=b.components.xAxis[0].getValue(this.attr("x"));c.y=d.getValue(this.attr("y"));f.draged=!1;this.data("fire_dragend")&&(d=qc(b.linkedItems.container,a),d.sourceEvent="labeldragend",t.raiseEvent("chartupdated",Y(d,c),b.chartInstance),Z.call(this,b,a,"labeldragend"));e.clearLongPress.call(this)}},"Dragnode"]);I("dragarea",{friendlyName:"Dragable Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"dragarea",decimals:2,applicableDSList:{dragarea:!0}},I.dragbase,{anchoralpha:Ha},I.areabase);
I("dragline",{friendlyName:"Dragable Line Chart",standaloneInit:!0,creditLabel:!1,decimals:2,defaultDatasetType:"dragline",applicableDSList:{dragline:!0},defaultPlotShadow:1},I.dragbase,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0},I.areabase);I("dragcolumn2d",{friendlyName:"Dragable Column Chart",standaloneInit:!0,creditLabel:!1,decimals:2,defaultDatasetType:"DragColumn",applicableDSList:{dragcolumn:!0}},I.dragbase);FusionCharts.register("component",["dataset","DragColumn",{configure:function(){var a,
c=this.chart.jsonData.chart,d,b;b=this.JSONData;var e=this.JSONData.data||[],f,g;this.__base__.configure.call(this);a=this.config;d=this.components.data;a.allowDrag=h(b.allowdrag,1);a.allowNegDrag=h(b.allownegativedrag,1);a.allowAxisChange=h(c.allowaxischange,1);a.snapToDivOnly=h(c.snaptodivonly,0);a.snapToDiv=a.snapToDivOnly?1:h(c.snaptodiv,1);a.doNotSnap=h(c.donotsnap,0);a.snapToDivRelaxation=h(c.snaptodivrelaxation,10);a.doNotSnap&&(a.snapToDiv=a.snapToDivOnly=0);f=d.length;for(c=0;c<f;c++)g=e[c]||
{},b=d[c].config,b.allowDrag=h(g.allowdrag,a.allowDrag),b.allowNegDrag=h(g.allownegativedrag,a.allowNegDrag)},drawTracker:function(){var a=this.chart,c,d=a.components.paper,b,e,f,g,l,x=Ub?40:10,h,y=this.components.pool||{},p=this.graphics.trackerContainer,k,q,m,n;FusionCharts.get("component",["dataset","column"]).prototype.drawTracker.call(this);c=this.components.data;n=c.length;for(m=0;m<n;m++)b=c[m],g=b.config,l=b._yPos+(0>g.setValue&&b._height)||0,k=g.setValue,q=g.allowDrag,e=b._width,f=b._xPos,
g=b.graphics.element,h=b.graphics.dragTracker||y.dragTracker&&y.dragTracker.shift(),null!==k&&q&&g?(k=["M",f,l,"L",f+e,l,"Z"],k={path:k,stroke:Ca,"stroke-width":x,ishot:!0,cursor:Bb&&"ns-resize"||"n-resize"},h||(h=b.graphics.dragTracker=d.path(p),h.drag(this.dragMove,this.dragStart,this.dragUp)),h.show().attr(k).data("drag-options",{items:g,yPos:l,chart:a,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:m,dataObj:b}),b.graphics.dragTracker=h):h&&h.hide()},dragStart:function(){var a=
this.data("drag-options"),c=a.chart,d=c.config,b=c.components.yAxis[0],c=b.config.axisRange.max,b=b.config.axisRange.min,e=this.getBBox();a.barH=a.items.getBBox().height;a.isAllPositive=0<c&&0<b;a.isAllPositiveZero=0<c&&0<=b;a.isAllNegative=0>c&&0>b;a.isAllNegativeZero=0>=c&&0>b;a.isPositiveNegative=0<c&&0>b;a.boundaryTop=d.canvasTop;a.boundaryBottom=d.canvasTop+d.canvasHeight;a.bBoxY=e.y;a.bBoxY2=e.y2||e.y+e.height;a.startValue=a.dataObj.config.setValue;a.origX=a.lastX||(a.lastX=0);a.origY=a.lastY||
(a.lastY=0);a.draged=!1},dragMove:function(a,c){var d=this.data("drag-options"),b=d.items,e=d.dataObj,f=d.chart,g=e.config,l=f.config,x=f.components,h=x.canvas.config,y=x.yAxis[0],p=x.dataset[d.datasetIndex],x=x.numberFormatter,k=y.getPixel(y.getAxisBase()),m={},n=d.bBoxY2+c,t=d.bBoxY+c,r=l.canvasBottom,v=e.config.allowNegDrag?r:k,l=l.canvasTop,u=parseFloat(p.config.plotBorderThickness)||0,h=h.showCanvasBorder,w=d.isAllNegativeZero,K=d.isPositiveNegative,z=e._xPos,D=e._width,E=e.graphics.hotElement,
A=e.graphics.element;t<d.boundaryTop&&(c=d.boundaryTop-d.bBoxY);n>v&&(c=v-d.bBoxY2);d.draged||(n={dataIndex:d.pointIndex+1,datasetIndex:d.datasetIndex,startValue:d.startValue,datasetName:d.name},J.raiseEvent("dataplotDragStart",n,f.chartInstance));n=d.yPos+c;n<=k?(m.y=n,m.height=k-n):(m.y=k,m.height=n-k);h&&!K&&(w?m.y-=m.y-(l-u/2):m.height=r-m.y+u);this.attr({path:["M",z,n,"L",z+D,n]});b.animate(m);(E||A).data("draged",!0);d.shapeAttr=m;b=d.value=ja(y.getValue(n-l));g.setValue=b;y=y.getPixel(y.getAxisBase());
e._yPos=da(n,y);e._height=m.height;y=x.dataLabels(b);g.toolTipValue=y;g.displayValue=q(g.setDisplayValue,y);d.draged=!0;d.lastX=a;d.lastY=c;e.draged=!0;e.lastX=a;e.lastY=c;f=f.config.animationObj;e=f.duration;f.duration=0;p.drawLabel(d.pointIndex,d.pointIndex+1);f.duration=e},dragUp:function(){var a=this.data("drag-options"),c=a.chart,d=c.components,b=d.numberFormatter,e=c.config,d=d.dataset[a.datasetIndex],f=d.config,g=!f.doNotSnap,l=a.dataObj,x=d.yAxis,h,y,p,k=e.canvasTop,q=l.config.setTooltext,
m=l.config.origToolText,n=f.snapToDivRelaxation,r=f.snapToDiv,v=l.graphics.hotElement,u=l.graphics.element,w=f.snapToDivOnly,K=l.config,z=K.setValue,f=l.trackerConfig,e=e.showtooltip;a.draged&&(y=h=a.yPos+a.lastY,g&&r&&(y=Ea(x.getValue(h+n-k)-z),p=l.config.setValue=x.getClosestDiv(z,w?null:y),y=x.getPixel(p),l._yPos=y,y-h&&d.dragMove.call(this,0,y-a.yPos)),b=K.toolTipValue=b.dataLabels(p),l={dataIndex:a.pointIndex+1,datasetIndex:a.datasetIndex+1,startValue:a.startValue,endValue:l.config.setValue,
datasetName:a.name},x=[c.chartInstance.id,l.dataIndex,l.datasetIndex,l.datsetName,l.startValue,l.endValue],J.raiseEvent("dataplotDragEnd",l,c.chartInstance),t.raiseEvent("chartupdated",l,c.chartInstance,x),a.yPos=y,a.lastX+=a.origX,a.lastY+=a.origY,(v||u).data("draged",!1),q=f.eventArgs.toolText=q+(m?"":b),e&&v&&v.attr(a.shapeAttr).tooltip(q),d.setMaxMin(),c._setDataLimits())},getJSONData:function(){var a=this.JSONData.data,c=this.components.data,d=[],b={},e,f,g,l,x;x=0;for(l=a.length;x<l;x++){f=
a[x];e=c[x];b={};for(g in f)b[g]="value"===g?e.config.setValue:f[g];d.push(b)}return{data:d}}},"Column"]);FusionCharts.register("component",["datasetGroup","DragColumn",{getJSONData:function(){var a=this.chart,c=a.components.dataset,a=a.jsonData&&a.jsonData.dataset,d=[],b,e,f,g=c.length;for(f=0;f<g;f++)b=c[f],e=Y({},a[f]),delete e.data,b=b.getJSONData(),d.push(Y(e,b));return d}},F]);FusionCharts.register("component",["dataset","DragArea",{configure:function(){var a,c=this.chart.jsonData.chart;a=FusionCharts.get("component",
["dataset","area"]);var d,b,e;b=this.JSONData;var f=b.data||[],g;a.prototype.configure.call(this);a=this.config;d=this.components.data;a.allowDrag=h(b.allowdrag,1);a.allowNegDrag=h(b.allownegativedrag,1);a.allowAxisChange=h(c.allowaxischange,1);a.snapToDivOnly=h(c.snaptodivonly,0);a.doNotSnap=h(c.donotsnap,0);a.snapToDiv=h(c.snaptodiv,1);a.snapToDivRelaxation=h(c.snaptodivrelaxation,10);a.doNotSnap&&(a.snapToDiv=a.snapToDivOnly=0);g=d.length;for(c=0;c<g;c++)e=f[c]||{},b=d[c].config,b.allowDrag=h(e.allowdrag,
a.allowDrag),b.allowNegDrag=h(e.allownegativedrag,a.allowNegDrag)},drawTracker:function(){var a=this.chart,c,d,b=this.dragStart,e=FusionCharts.get("component",["dataset","DragArea"]).prototype.dragUp,f=this.dragMove,g,l,x,h,y;FusionCharts.get("component",["dataset","area"]).prototype.drawTracker.call(this);g=this.components.data;h=g.length;for(x=0;x<h;x++)c=g[x],l=c.config,y=c._yPos,(d=c.graphics.hotElement)&&l.allowDrag?(l.dragEventListenerAttached||(d.drag(f,b,e),l.dragEventListenerAttached=!0),
d.attr({cursor:Bb&&"ns-resize"||"n-resize",ishot:!0}).data("drag-options",{items:g,yPos:y,chart:a,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:x,dataObj:c})):(d&&d.undrag(f,b,e),l.dragEventListenerAttached=!1)},dragStart:function(){var a=this.data("drag-options"),c=a.chart.config;a._origY=a._lastY||(a._lastY=0);a.boundaryTop=c.canvasTop;a.boundaryBottom=c.canvasTop+c.canvasHeight;a.startValue=a.dataObj.config.setValue;a.origY=this.attr("cy");a.origX=this.attr("cx");a.draged=!1},
dragMove:function(a,c){var d=this.data("drag-options"),b=d.items,e=d.dataObj,f=d.chart,g=f.config.animationObj,l=f.components,x=l.dataset[d.datasetIndex],h=x.graphics.lineElement,y=l.yAxis[0],p=e._xPos,k=e.config,m=g.duration,l=l.numberFormatter,n=f.config.canvasTop,t=b[d.pointIndex].graphics,r=y.getPixel(y.getAxisBase()),v=e.config.allowNegDrag?d.boundaryBottom:r,r=t.image,u=x.graphics.anchorGroup,w=e.config.anchorProps,K=w.imageUrl,z=t.element,D,t=e.config.showValue,E;E=d.origY+c;d.draged||(D={dataIndex:d.pointIndex+
1,datasetIndex:d.datasetIndex,startValue:d.startValue,datasetName:d.name},J.raiseEvent("dataplotDragStart",D,f.chartInstance));E<d.boundaryTop&&(c=d.boundaryTop-d.origY);E>v&&(c=v-d.origY);E=d.origY+c;this.attr({cy:E});Da&&K?r=z:(v=z.data("setRolloverAttr"),(K=z.data("setRolloutAttr"))&&(K.polypath[2]=E),v&&(v.polypath[2]=E),z&&z.attr({polypath:[w.symbol[1]||2,p,E,w.radius,90,0]}),z.data("setRolloverAttr",v),z.data("setRolloutAttr",K));e._yPos=E;r&&x.updateImage(e,f,u);e=k.setValue=y.getValue(E-n);
e=l.dataLabels(e);k.toolTipValue=e;k.displayValue=q(k.setDisplayValue,e);g.duration=0;t&&x.drawLabel(d.pointIndex);g.duration=m;d.draged=!0;this.data("draged",!0);d.lastY=c;d=x.getLinePath(b,{});x.config.lastPath=d;h&&h.attr({path:d.getPathArr()})},updateImage:function(a){var c=this.chart,d=a.graphics,d=d.image||d.element,b=a.config,e=b.anchorProps,f=b.hoverEffects,b=d&&d.data("imgRef"),g=function(a){var b=a.length,c=D,d;for(d=0;d<b;d+=1)c+=" "+a[d];return c},l=e.imageScale,x=c.components.paper,h=
b.height*l*.01,y=b.width*l*.01,c=a._xPos;a=a._yPos;var p=f.imageHoverScale,k=b.width*p*.01,q=b.height*p*.01,m=e.radius=e.isAnchorRadius?e.radius:da(y,h)/2,n=e.imagePadding,t=m-n-.5*e.borderThickness,n=f.radius-n-.5*f.anchorBorderThickness,m=e.symbol[1],e=x.polypath(m||2,c,a,0<t?t:0,e.startAngle,0).attr({visibility:ua}),t=g(e.attrs.path),l={x:c-b.width*l*.005,y:a-b.height*l*.005,width:y,height:h,alpha:100};Da||(l["clip-path"]=t);e.remove();e=x.polypath(m||2,c,a,0<n?n:0,f.startAngle,f.dip);f=g(e.attrs.path);
e.remove();b={x:c-b.width*p*.005,y:a-b.height*p*.005,width:k,height:q,alpha:100};Da||(b["clip-path"]=f);d.attr(l);d.data("setRolloverAttr",b);d.data("setRolloutAttr",l)},dragUp:function(){var a=this.data("drag-options"),c=a.dataObj,d=a.chart,b=d.config,e=d.components.dataset[a.datasetIndex],f=e.config,g=b.showtooltip,l=c.config.setTooltext,x=c.config.setLevelTooltext,h=!f.doNotSnap,y=b.canvasTop,b=e.yAxis,p=f.snapToDivRelaxation,k=f.snapToDivOnly,q=f.snapToDiv,m,n;n=c.config.setValue;var r,v=d.components.numberFormatter,
f=c.graphics.hotElement;a.draged&&(m=r=a.yPos+a.lastY,h&&q&&(m=Ea(b.getValue(r+p-y)-n),m=n=c.config.setValue=b.getClosestDiv(n,k?null:m),m=b.getPixel(m),m-r&&e.dragMove.call(this,0,m-a.yPos)),b=c.config.toolTipValue=v.dataLabels(n),n={dataIndex:a.pointIndex+1,datasetIndex:a.datasetIndex+1,startValue:a.startValue,endValue:n,datasetName:a.name},h=[d.chartInstance.id,n.dataIndex,n.datasetIndex,n.datsetName,n.startValue,n.endValue],J.raiseEvent("dataplotDragEnd",n,d.chartInstance),t.raiseEvent("chartupdated",
n,d.chartInstance,h),a.yPos=m,c._yPos=m,l+=x?"":b,f&&f.attr({y:a.yPos}).tooltip(g?l:D),a._lastY=a.lastY+a._origY,a.lastY+=a.origY,this.data("draged",!1),e.setMaxMin(),d._setDataLimits())},getJSONData:function(){var a=this.JSONData.data,c=this.components.data,d=[],b={},e,f,g,l,x;x=0;for(l=a.length;x<l;x++){e=a[x];f=c[x];b={};for(g in e)b[g]="value"===g?f.config.setValue:e[g];d.push(b)}return{data:d}}},"Area"]);FusionCharts.register("component",["datasetGroup","DragArea",{getJSONData:function(){var a=
this.chart,c=a.components.dataset,a=a.jsonData&&a.jsonData.dataset,d=[],b,e,f,g=c.length;for(f=0;f<g;f++)b=c[f],e=Y({},a[f]),delete e.data,b=b.getJSONData(),d.push(Y(e,b));return d}},"area"]);FusionCharts.register("component",["dataset","DragLine",{configure:FusionCharts.get("component",["dataset","DragArea"]).prototype.configure,drawTracker:FusionCharts.get("component",["dataset","DragArea"]).prototype.drawTracker,dragStart:function(){var a=this.data("drag-options"),c=a.chart.config;a._origY=a._lastY||
(a._lastY=0);a.boundaryTop=c.canvasTop;a.boundaryBottom=c.canvasTop+c.canvasHeight;a.startValue=a.dataObj.config.setValue;a.origY=this.attr("cy");a.origX=this.attr("cx");a.latestY=a.origY;a.draged=!1},dragMove:function(a,c){var d=this.data("drag-options"),b=d.items,e=b[d.pointIndex],f=d.dataObj,g=f.config,l=d.chart,x=l.components,h=x.dataset[d.datasetIndex],y=FusionCharts.get("component",["dataset","DragArea"]),p=l.config.animationObj,k=x.yAxis[0],m=f._xPos,n=p.duration,t=x.numberFormatter,r=l.config.canvasTop,
v=e.graphics,e=k.getPixel(k.getAxisBase()),u=f.config.allowNegDrag?d.boundaryBottom:e,w=v.image,z=f.config.anchorProps,D=z.imageUrl,e=h.graphics.lineElement,x=f.config.showValue,A=b.length,E,v=v.element,B;B=d.origY+c;d.draged||(E={dataIndex:d.pointIndex+1,datasetIndex:d.datasetIndex,startValue:d.startValue,datasetName:d.name},J.raiseEvent("dataplotDragStart",E,l.chartInstance));B<d.boundaryTop&&(c=d.boundaryTop-d.origY);B>u&&(c=u-d.origY);B=d.origY+c;this.attr({cy:B});Da&&D?w=v:(u=v.data("setRolloverAttr"),
(l=v.data("setRolloutAttr"))&&(l.polypath[2]=B),u&&(u.polypath[2]=B),v&&v.attr({polypath:[z.symbol[1]||2,m,B,z.radius,90,0]}),v.data("setRolloverAttr",u),v.data("setRolloutAttr",l));f._yPos=B;w&&y.prototype.updateImage.call(h,f);d.latestY=B;f._yPos=B;f=g.setValue=k.getValue(B-r);f=t.dataLabels(f);g.toolTipValue=f;g.displayValue=q(g.setDisplayValue,f);for(g=0;g<A;g++)if(v=b[g].graphics,f=v.connector)k=b[g],y=k.config.connStartIndex,k=k.config.connEndIndex,y=h.getLinePath(b,{},{begin:y,end:k+1}),f.attr({path:y.getPathArr()});
e&&(g=h.config,y=g.pathStartIndex,k=g.pathEndIndex,y=h.getLinePath(b,{},{begin:y,end:k}),e.attr({path:y.getPathArr()}));p.duration=0;x&&h.drawLabel(d.pointIndex);p.duration=n;d.draged=!0;this.data("draged",!0);d.lastY=c},getJSONData:function(){var a=this.JSONData.data,c=this.components.data,d=[],b={},e,f,g,l,h;h=0;for(l=a.length;h<l;h++){e=a[h];g=c[h];b={};for(f in e)b[f]="value"===f?g.config.setValue:e[f];d.push(b)}return{data:d}}},w]);I("selectscatter",{isXY:!0,hasLegend:!0,applicableDSList:{selectScatter:!0},
friendlyName:"Dragable Scatter Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"selectScatter",defaultZeroPlaneHighlighted:!1,configure:I.dragbase.configure,_createToolBox:I.dragbase._createToolBox,_manageActionBarSpace:I.dragbase._manageActionBarSpace,drawActionBar:I.dragbase.drawActionBar,getData:function(a){var c=this.getCollatedData(),d=[],b=c.dataset,e=b&&b.length||0,f=0,g=0,l;if(a)d=/^json$/ig.test(a)?c:/^csv$/ig.test(a)?this.getCSVString():J.core.transcodeData(c,"json",a);else for(;f<
e;f+=1)if(c=b[f]){for((l=a=(c=b[f]&&b[f].data)&&c.length||0)&&(d[g]||(d[g]=[H(b[f].id,"null")]));l--;)d[g][l+1]=H(c[l].id,"null");a&&(g+=1)}return d},getCSVString:function(){for(var a=this.getData(),c=a.length;c--;)a[c]=a[c].join(",");return a.join("|")},getCollatedData:function(){for(var a=this.config._selectEleArr,c=a&&a.length,d=Y({},this.chartInstance.getChartData(J.dataFormats.JSON)),b=d.dataset,e,f,g,l,h,k,y,p,q,m=[];c--;)if(e=a[c])for(k=e.startX,y=e.endX,p=e.startY,q=e.endY,l=b.length;l--;)for(m[l]||
(m[l]={data:[]}),h=(g=b[l].data)&&g.length;h--;)f=g[h],e=f.x,f=f.y,e>k&&e<y&&f<p&&f>q&&(m[l].data[h]=!0);for(l=b.length;l--;)for(h=(g=b[l].data)&&g.length;h--;)m[l]&&m[l].data[h]||g.splice(h,1);return this.updatedDataObj=d},createSelectionBox:function(a){var c=a.chart,d=c.components,b=d.paper,e=c.config,f=d.yAxis&&d.yAxis[0],d=d.xAxis&&d.xAxis[0],g=a.selectionLeft,l=a.selectionTop,h=a.selectionWidth;a=a.selectionHeight;var k=g+h,y=l+a,p=15<h&&15<a,q={resizeEleRadius:15,canvasTop:e.canvasTop,canvasRight:e.canvasLeft+
e.canvasWidth,canvasLeft:e.canvasLeft,canvasBottom:e.canvasTop+e.canvasHeight},m=c.graphics.trackerGroup,n=e._selectEleArr||(e._selectEleArr=[]);q.index=n.length;q.id="SELECT_"+q.index;q.selectBoxG=m=b.group("selection-box",m).toFront();q.selectBoxTracker=b.rect(g,l,h,a,m).attr({"stroke-width":1,stroke:fa(e.selectBorderColor),ishot:!0,fill:e.selectFillColor}).css({cursor:"move"});q.selectBoxTracker.data(ga,{position:6,selectEleObj:q,xChange:!0,yChange:!0});q.topTracker=b.rect(g,l-6,h,12,m).attr({"stroke-width":0,
ishot:!0,fill:Ca}).css("cursor",Bb&&"ns-resize"||"n-resize");q.topTracker.data(ga,{position:1,selectEleObj:q,yChange:!0});q.rightTracker=b.rect(g+h-6,l,12,a,m).attr({"stroke-width":0,ishot:!0,fill:Ca}).css("cursor",Bb&&"ew-resize"||"w-resize");q.rightTracker.data(ga,{position:2,selectEleObj:q,xChange:!0});q.bottomTracker=b.rect(g,l+a-6,h,12,m).attr({"stroke-width":0,ishot:!0,fill:Ca}).css("cursor",Bb&&"ns-resize"||"n-resize");q.bottomTracker.data(ga,{position:3,selectEleObj:q,yChange:!0});q.leftTracker=
b.rect(g-6,l,12,a,m).attr({"stroke-width":0,ishot:!0,fill:Ca}).css("cursor",Bb&&"ew-resize"||"e-resize");q.leftTracker.data(ga,{position:4,selectEleObj:q,xChange:!0});q.cornerInnerSymbol=b.symbol("resizeIcon",0,0,15,m).attr({transform:"t"+k+","+y,"stroke-width":1,visibility:p?Jb:ua,ishot:!0,stroke:"#999999"});q.cornerOuterSymbol=b.symbol("resizeIcon",0,0,-12,m).attr({transform:"t"+k+","+y,strokeWidth:1,visibility:p?ua:Jb,ishot:!0,stroke:"#777777"});q.resizeTracker=b.circle(k,y,12,m).attr({"stroke-width":1,
stroke:Ca,ishot:!0,fill:Ca}).css("cursor",Bb&&"nwse-resize"||"nw-resize");q.resizeTracker.data(ga,{position:5,selectEleObj:q,yChange:!0,xChange:!0});q.closeButton=b.symbol("closeIcon",0,0,6,m).attr({transform:"t"+k+","+l,"stroke-width":2,stroke:e.selectionCancelButtonBorderColor,fill:e.selectionCancelButtonFillColor,"stroke-linecap":V,ishot:!0,"stroke-linejoin":V}).css({cursor:"pointer",_cursor:"hand"}).click(function(){c.deleteSelection(this,c)});q.closeButton.data(ga,{index:q.index});q.chart=c;
q.startX=d.getValue(g-e.canvasLeft);q.startY=f.getValue(l-e.canvasTop);q.endX=d.getValue(k-e.canvasLeft);q.endY=f.getValue(y-e.canvasTop);q.isVisible=!0;n.push(q);c.bindDragEvent(q)},_deleteAllSelection:function(){var a=this.config._selectEleArr,c,d,b,e;for(b in a)if(a.hasOwnProperty(b)){c=a[b];for(e in c)c.hasOwnProperty(e)&&(d=c[e],d.remove&&d.remove(),delete c[e]);delete a[b]}},deleteSelection:function(a,c){var d=a.data(ga).index,b=c.components,e=c.config._selectEleArr,f=e[d],g,l;l=f.selectBoxTracker.getBBox();
l={selectionLeft:l.x,selectionTop:l.y,selectionWidth:l.width,selectionHeight:l.height,startXValue:b.xAxis[0].getAxisPosition(l.x,1),startYValue:b.yAxis[0].getAxisPosition(l.y,1),endXValue:b.xAxis[0].getAxisPosition(l.x+l.width,1),endYValue:b.yAxis[0].getAxisPosition(l.y+l.height,1),data:c.getCollatedData(),id:f.id};for(g in f)f.hasOwnProperty(g)&&(b=f[g],b.remove&&b.remove(),delete f[g]);delete e[d];J.raiseEvent("selectionRemoved",l,c.chartInstance)},bindDragEvent:function(a){for(var c in a)/Tracker/.test(c)&&
a[c].drag(this.move,this.start,this.up)},start:function(){var a=this.data(ga).selectEleObj,c=a.topTracker,d=a.rightTracker,b=a.bottomTracker,e=a.leftTracker,f=a.resizeTracker,g=c.data(ga),l=d.data(ga),h=b.data(ga),k=e.data(ga),y=f.data(ga),p=a.selectBoxTracker.data(ga),q=a.selectBoxTracker.getBBox();g.ox=q.x;g.oy=q.y;l.ox=q.x2;l.oy=q.y;h.ox=q.x;h.oy=q.y2;k.ox=q.x;k.oy=q.y;g.ox=q.x;g.oy=q.y;y.ox=q.x2;y.oy=q.y2;p.ox=q.x;p.oy=q.y;p.ow=q.width;p.oh=q.height;p.ox2=q.x2;p.oy2=q.y2;a.selectBoxG.toFront();
c.hide();d.hide();b.hide();e.hide();f.hide();this.show()},move:function(a,c){var d=this.data(ga),b=d.selectEleObj,e=b.chart,f=e.config,g=e.components,l=b.topTracker,h=b.rightTracker,k=b.bottomTracker,y=b.leftTracker,p=b.resizeTracker,q=b.selectBoxTracker,m=b.canvasLeft,n=b.canvasRight,t=b.canvasTop,r=b.canvasBottom,v=q.data(ga),u={},w,z;a=d.xChange?a:0;c=d.yChange?c:0;w=a+d.ox;z=c+d.oy;w=da(n-(d.ow||0),W(w,m));z=da(r-(d.oh||0),W(z,t));switch(d.position){case 1:u.y=da(v.oy2,z);u.height=Ea(v.oy2-z)||
1;l.attr({y:z+-6});break;case 2:u.x=da(v.ox,w);u.width=Ea(v.ox-w)||1;h.attr({x:w+-6});break;case 3:u.y=da(v.oy,z);u.height=Ea(v.oy-z)||1;k.attr({y:z+-6});break;case 4:u.x=da(v.ox2,w);u.width=Ea(v.ox2-w)||1;y.attr({x:w+-6});break;case 5:u.x=da(v.ox,w);u.width=Ea(v.ox-w)||1;u.y=da(v.oy,z);u.height=Ea(v.oy-z)||1;p.attr({cx:w,cy:z});break;default:u.x=w,u.y=z}this.data("dragStarted")||(d=q.getBBox(),f={selectionLeft:d.x,selectionTop:d.y,selectionWidth:d.width,selectionHeight:d.height,startXValue:g.xAxis[0].getValue(d.x-
f.canvasLeft),startYValue:g.yAxis[0].getValue(d.y-f.canvasTop),endXValue:g.xAxis[0].getValue(d.x+d.width-f.canvasLeft),endYValue:g.yAxis[0].getValue(d.y+d.height-f.canvasTop),id:b.id},J.raiseEvent("BeforeSelectionUpdate",f,e.chartInstance),this.data("dragStarted",1));q.animate(u);b.isVisible&&(b.closeButton.hide(),b.cornerInnerSymbol.hide(),b.cornerOuterSymbol.hide(),b.isVisible=!1)},up:function(){var a=this,c=a.data(ga).selectEleObj,d=c.chart,b=d.components,e=d.config,f=b.xAxis&&b.xAxis[0],g=b.yAxis&&
b.yAxis[0],l=c.topTracker,h=c.rightTracker,k=c.bottomTracker,y=c.leftTracker,p=c.resizeTracker,q=c.selectBoxTracker,m,n;setTimeout(function(){m=q.getBBox();c.startX=f.getValue(m.x-e.canvasLeft);c.startY=g.getValue(m.y-e.canvasTop);c.endX=f.getValue(m.x2-e.canvasLeft);c.endY=g.getValue(m.y2-e.canvasTop);l.attr({x:m.x,y:m.y+-6,width:m.width});h.attr({x:m.x2+-6,y:m.y,height:m.height});k.attr({x:m.x,y:m.y2+-6,width:m.width});y.attr({x:m.x+-6,y:m.y,height:m.height});p.attr({cx:m.x2,cy:m.y2});c.closeButton.transform("t"+
m.x2+","+m.y);c.cornerInnerSymbol.transform("t"+m.x2+","+m.y2);c.cornerOuterSymbol.transform("t"+m.x2+","+m.y2);c.closeButton.show();15>m.width||15>m.height?(c.cornerInnerSymbol.hide(),c.cornerOuterSymbol.show()):(c.cornerInnerSymbol.show(),c.cornerOuterSymbol.hide());c.isVisible=!0;l.show();h.show();k.show();y.show();p.show();a.data("dragStarted")&&(n={selectionLeft:m.x,selectionTop:m.y,selectionWidth:m.width,selectionHeight:m.height,startXValue:b.xAxis[0].getValue(m.x-e.canvasLeft),startYValue:b.yAxis[0].getValue(m.y-
e.canvasTop),endXValue:b.xAxis[0].getValue(m.x+m.width-e.canvasLeft),endYValue:b.yAxis[0].getValue(m.y+m.height-e.canvasTop),data:d.getCollatedData(),id:c.id},J.raiseEvent("SelectionUpdated",n,d.chartInstance),a.data("dragStarted",0))},100)},restoreData:function(){var a=this.components.dataset,c;this._deleteAllSelection();for(c=0;c<a.length;c++)a[c].draw();t.raiseEvent("dataRestored",{},this.chartInstance,[this.chartInstance.id]);return!0},submitData:function(){var a=this.chartInstance,c=new J.ajax,
d=this.config,b=J.dataFormats.JSON,e=J.dataFormats.CSV,f=J.dataFormats.XML,g=d.formAction||"",l=d.submitFormAsAjax,h,k,y,p,q;d.formDataFormat===b?(h=b,k=JSON.stringify(this.getCollatedData())):this.formDataFormat===e?(h=e,k=a.getCSVString&&a.getCSVString(),void 0===k&&(k=J.core.transcodeData(this.getCollatedData(),b,e))):(h=f,k=J.core.transcodeData(this.getCollatedData(),b,f));J.raiseEvent("beforeDataSubmit",{data:k},a,void 0,function(){l?(c.onError=function(b,c,d,e){t.raiseEvent("dataSubmitError",
{xhrObject:c.xhr,url:e,statusText:b,httpStatus:c.xhr&&c.xhr.status?c.xhr.status:-1,data:k},a,[a.id,b,c.xhr&&c.xhr.status])},c.onSuccess=function(b,d,e,f){t.raiseEvent("dataSubmitted",{xhrObject:c,response:b,url:f,data:k},a,[a.id,b])},y={},y["str"+h.toUpperCase()]=k,c.open&&c.abort(),c.post(g,y)):(p=Ra.document.createElement("span"),p.innerHTML='<form style="display:none" action="'+g+'" method="'+d.formMethod+'" target="'+d.formTarget+'"> <input type="hidden" name="strXML" value="'+Fc(k)+'"><input type="hidden" name="dataFormat" value="'+
h.toUpperCase()+'" /></form>',q=p.removeChild(p.firstChild),Ra.document.body.appendChild(q),q.submit&&q.submit(),q.parentNode.removeChild(q),p=q=null)},function(){J.raiseEvent("dataSubmitCancelled",{data:k},a)})},_postSpaceManagement:function(){I("mscartesian")._postSpaceManagement.call(this);this._deleteAllSelection()},eiMethods:{getData:function(a){var c=this.apiInstance;return c&&c.getData(a)},restoreData:function(){var a=this.apiInstance;return a&&a.restoreData()},submitData:function(){var a=
this.apiInstance;return a&&a.submitData()}}},I.scatterBase);FusionCharts.register("component",["dataset","selectScatter",{configure:function(){var a=this.chart,c=a.config,d=a.jsonData.chart,a=a.components.colorManager,b=q(d.selectbordercolor,a.getColor("canvasBorderColor")),e=h(d.selectborderalpha,a.getColor("canvasBorderAlpha"));FusionCharts.get("component",["dataset","scatter"]).prototype.configure.call(this);c.selectBorderColor={FCcolor:{color:b,alpha:e}};c.selectFillColor=aa(q(d.selectfillcolor,
a.getColor(Pa)),h(d.selectfillalpha,a.getColor(bb)));c.selectionCancelButtonBorderColor=aa(q(d.selectioncancelbuttonbordercolor,b),h(d.selectioncancelbuttonborderalpha,e));c.selectionCancelButtonFillColor=aa(q(d.selectioncancelbuttonfillcolor,db),h(d.selectioncancelbuttonfillalpha,100));c.connativeZoom=!1;c.zoomType="xy";c.formAction=H(d.formaction);d.submitdataasxml!==cb||d.formdataformat||(d.formdataformat=J.dataFormats.CSV);c.formDataFormat=q(d.formdataformat,J.dataFormats.XML);c.formTarget=q(d.formtarget,
"_self");c.formMethod=q(d.formmethod,"POST");c.submitFormAsAjax=h(d.submitformusingajax,1)},draw:function(){var a=this.chart,c=a.linkedItems.container;FusionCharts.get("component",["dataset","scatter"]).prototype.draw.call(this);Rc(a,{selectionStart:function(a){var b=qc(c,a.originalEvent),b=Y({selectionLeft:a.selectionLeft,selectionTop:a.selectionTop,selectionWidth:a.selectionWidth,selectionHeight:a.selectionHeight,startXValue:a.chart.components.xAxis[0].getAxisPosition(a.selectionLeft,1),startYValue:a.chart.components.yAxis[0].getAxisPosition(a.selectionTop,
1)},b);J.raiseEvent("selectionStart",b,a.chart.chartInstance)},selectionEnd:function(a){var b=qc(c,a.originalEvent),e=a.chart.components.xAxis[0],f=a.chart.components.yAxis[0],b=Y({selectionLeft:a.selectionLeft,selectionTop:a.selectionTop,selectionWidth:a.selectionWidth,selectionHeight:a.selectionHeight,startXValue:e.getAxisPosition(a.selectionLeft,1),startYValue:f.getAxisPosition(a.selectionTop,1),endXValue:e.getAxisPosition(a.selectionLeft+a.selectionWidth,1),endYValue:f.getAxisPosition(a.selectionTop+
a.selectionHeight,1)},b);J.raiseEvent("selectionEnd",b,a.chart.chartInstance);a.chart.createSelectionBox(a)}})}},"scatter"]);I("candlestick",{friendlyName:"Candlestick Chart",standaloneInit:!0,creditLabel:!1,paletteIndex:3,defaultDatasetType:"candlestick",hasLegend:!0,applicableDSList:{candlestick:!0},canvasborderthickness:1,hasInteractiveLegend:!1,init:function(a,c,d,b){var e;this.jsonData=c;e=this.components=this.components||(this.components={});e.canvasVolume=e.canvasVolume||(e.canvasVolume={graphics:{},
config:{}});I.mscartesian.init.call(this,a,c,d,b)},configure:function(){var a,c,d,b=this.components.colorManager,e=this.jsonData.chart,f=this.components;this.base.configure.call(this);a=this.config;d=f.canvas.config;a.showVolumeChart=h(e.showvolumechart,1);c=h(e.volumeheightpercent,40);a.volumeHeightPercent=20>c?20:80<c?80:c;a.canvasBorderWidth=h(e.canvasborderthickness,1);a.rollOverBandColor=aa(q(e.rolloverbandcolor,b.getColor(Pa)),q(e.rolloverbandalpha,b.getColor(bb)));Y(f.canvasVolume.config,d)},
_createDatasets:function(){var a=this.config,c=this.components,d=this.jsonData,b=d.dataset,e=d.trendset||[],f=this.config.showVolumeChart,g=b&&b.length,l,h,k=this.defaultDatasetType,y=q(M(d.chart.plotpriceas),F),p,m,n,t,r,v=0,u=a.datasetMap||(a.datasetMap={trendset:[],candlestick:[]}),w,z={},K={trendset:[],candlestick:[]},D=c.legend;if(b){this.config.categories=d.categories&&d.categories[0].category;l=c.dataset=[];d=0;for(g=b.length;d<g;d++)n=b[d],n.seriesname&&(n.seriesname=M(n.seriesname)),p=(p=
q(n.renderas,k))&&p.toLowerCase(),m=FusionCharts.get("component",["dataset",p]),w=u[p],h=w[0],m&&(void 0===z[p]?z[p]=0:z[p]++,h?(t=h,h.index=d,y!==t.config.plotType?(Ib.call(t),h=l[v]=new m,h.chart=this,h.index=v,h.init(n)):(t=(t=h.JSONData)&&t.data&&t.data.length,r=n.data&&n.data.length,t>r&&h.removeData(r-1,t-r,!1),h.JSONData=n),h.configure(),K[p].push(h),l.push(h),w.shift()):(h=new m,l.push(h),K[p].push(h),h.chart=this,h.index=v,h.init(n))),v++,w=c.yAxis&&c.yAxis[1],f&&this.config.drawVolume?(w&&
w.show(),m&&(void 0===z[p]?z[p]=0:z[p]++,w=u[p],(h=w[0])?(t=(t=h.JSONData)&&t.data&&t.data.length,r=n.data&&n.data.length,t>r&&h.removeData(r-1,t-r,!1),h.JSONData=n,h.configure(),l.push(h),K[p].push(h),w.shift()):(h=new m,h.chart=this,l.push(h),K[p].push(h),h.init(n,C))),v++):w&&w.hide(),f=this.config.drawVolume&&f?this.config.showVolumeChart=1:this.config.showVolumeChart=0;d=0;for(g=e.length;d<g;d++)n=e[d],p="trendset",w=u[p],h=w[0],void 0===z[p]?z[p]=0:z[p]++,h?(t=(t=h.JSONData)&&t.data&&t.data.length,
r=n.data&&n.data.length,K[p].push(h),l.push(h),h.index=v,t>r&&h.removeData(r-1,t-r,!1),h.JSONData=n,h.configure(),w.shift()):(m=FusionCharts.get("component",["dataset",p]),c=new m,l.push(c),K[p].push(c),c.chart=this,c.index=v,c.init(n)),v++;for(b in u)if(w=u[b],g=w.length)for(e=0;e<g;e++)D.removeItem(w[e].legendItemId),Ib.call(w[e]);a.datasetMap=K}else this.setChartMessage()},_spaceManager:function(){var a,c,d,b=this.config,e=this.components,f=b.legendPosition,g=e.xAxis&&e.xAxis[0],l=e.xAxis&&e.xAxis[1],
h=e.yAxis&&e.yAxis[0],k=e.yAxis&&e.yAxis[1];c=this.hasLegend;var y=e.legend,p,q=this.config.showVolumeChart,m=q?b.volumeHeightPercent:0,n=e.canvas.config,t=e.canvasVolume.config,v=b.width,u=b.height,w={};a=b.chartBorderWidth;e=e.canvas.config.canvasBorderWidth;p=b.minCanvasHeight;d=b.minCanvasWidth;var z=b.canvasMarginLeft,K=b.canvasMarginRight,D=b.canvasMarginTop,A=b.canvasMarginBottom,E,B,F=b.origCanvasTopMargin,G=b.origCanvasBottomMargin,N=b.origCanvasLeftMargin,L=b.origCanvasRightMargin;this._allocateSpace({top:a,
bottom:a,left:a,right:a});a=.225*b.availableHeight;a=this._manageActionBarSpace&&this._manageActionBarSpace(a)||{};this._allocateSpace(a);a=f===Dc?.225*b.canvasWidth:.3*b.canvasHeight;!1!==c&&g&&this._allocateSpace(y._manageLegendPosition(a));c=.7*b.canvasWidth;h=h.placeAxis(c);k=q?k.placeAxis(c):{};w.left=W(h.left,k.left||0);w.right=W(h.right,k.right||0);this._allocateSpace(w);d>v-z-K&&(B=!0,k=b.canvasWidth-d,w=z+K,z=b.canvasMarginLeft=k*z/w,K=b.canvasMarginRight=k*K/w);z=z>b.canvasLeft?z-b.canvasLeft:
0;v=K>v-b.canvasRight?K+b.canvasRight-v:0;this._allocateSpace({left:z,right:v});B&&(w=N+L,B=b.canvasWidth,B>d&&(k=B-d,z=k*N/w,v=k*L/w),this._allocateSpace({left:z,right:v}));d=f===r?.6*b.canvasHeight:.6*b.canvasWidth;this._manageChartMenuBar(d);this._allocateSpace({top:b.canvasMarginTop,bottom:b.canvasMarginBottom});d=.3*b.canvasHeight;f=g.placeAxis(d);g&&this._allocateSpace(f);f.bottom+=6;q&&(g=l.placeAxis(d),this._allocateSpace(g));this._allocateSpace({top:e,bottom:2*e,left:e,right:e});p>u-D-A&&
(E=!0,k=b.canvasHeight-p,w=D+A,D=b.canvasMarginTop=k*D/w,A=b.canvasMarginBottom=k*A/w);g=D>b.canvasTop?D-b.canvasTop:0;u=A>u-b.canvasBottom?A+b.canvasBottom-u:0;this._allocateSpace({top:g,bottom:u});E&&(w=F+G,E=b.canvasHeight,E>p&&(k=E-p,g=k*F/w,u=k*G/w),this._allocateSpace({top:g,bottom:u}));p=b.canvasHeight;n.canvasHeight=ja((100-m)/100*p);t.canvasHeight=m/100*p;n.canvasTop=b.canvasTop;n.canvasLeft=b.canvasLeft;n.canvasBottom=n.canvasTop+n.canvasHeight;n.canvasWidth=b.canvasWidth;n.canvasRight=
b.canvasRight;t.canvasTop=n.canvasBottom+f.bottom+2*e;t.canvasLeft=b.canvasLeft;t.canvasBottom=t.canvasTop+t.canvasHeight+2*e;t.canvasRight=b.canvasRight;t.canvasWidth=b.canvasWidth;m=b.canvasTop+n.canvasHeight+e;b=b.canvasTop+n.canvasHeight+f.bottom+2*e;n.canvasY=m;t.canvasY=b},_postSpaceManagement:function(){var a=this.components,c=this.config.showVolumeChart,d=a.xAxis&&a.xAxis[0],b=a.yAxis&&a.yAxis[0],e=a.xAxis&&a.xAxis[1],f=a.yAxis&&a.yAxis[1],g=a.canvas.config,l=a.legend,a=a.canvasVolume.config,
h=g.canvasBorderWidth;d&&d.setAxisDimention({x:g.canvasLeft,y:g.canvasY,opposite:g.canvasTop-h,axisLength:g.canvasWidth});b&&b.setAxisDimention({x:g.canvasLeft-h,y:g.canvasTop,opposite:g.canvasRight+h,axisLength:g.canvasHeight});c&&(e&&e.setAxisDimention({x:g.canvasLeft,y:a.canvasBottom,opposite:a.canvasTop-h,axisLength:g.canvasWidth}),f&&f.setAxisDimention({x:g.canvasLeft-h,y:a.canvasY,opposite:a.canvasRight+h,axisLength:a.canvasHeight}),e&&e.setCanvas(a),f&&f.setCanvas(a));d.setCanvas(g);b.setCanvas(g);
l.postSpaceManager()},_drawCanvas:function(){var a=this.components,c=this.graphics,d=a.paper,b=a.canvas,e=a.canvas.config,f=e.clip||(e.clip=[]),g=a.canvasVolume.config,l=b.graphics,a=a.canvasVolume.graphics,h=b.config,k=l.topCanvas,y=l.topCanvasBorderElement,b=a.volumeCanvas,p=e.canvasLeft,q=e.canvasTop,m=e.canvasWidth,e=e.canvasHeight,n=g.canvasTop,g=g.canvasHeight,c=c.canvasGroup,t=h.canvasBorderRadius,r=h.canvasBorderWidth,v=.5*r,u=h.canvasBorderColor,w=this.get(ga,X),z=w.dummyObj,D=w.animObj,
A=w.animType,w=w.transposeAnimDuration,E,B=this.config.showVolumeChart,F=h.shadow,G=h.shadowOnCanvasFill,h=h.canBGColor;E={x:p-v,y:q-v,width:m+r,height:e+r,r:t,"stroke-width":r,stroke:u,"stroke-linejoin":2<r?V:Aa};y?w?y.animateWith(z,D,{x:p-v,y:q-v,width:m+r,height:e+r,r:t},w,A):y.attr(E):y=l.topCanvasBorderElement=d.rect(E,c).shadow(F);y.attr({"stroke-width":r,stroke:u,"stroke-linejoin":2<r?V:Aa});f["clip-canvas"]=[W(0,p),W(0,q),W(1,m),W(1,e)];f["clip-canvas-init"]=[W(0,p),W(0,q),1,W(1,e)];k?w?k.animate({x:p,
y:q,width:m,height:e},w,A).attr({r:t}):k.attr(void 0):(l.topCanvas=k=d.rect(c),k.attr({x:p,y:q,width:m,height:e}).shadow(G));k.animateWith(z,D,{x:p,y:q,width:m,height:e},w,A);k.attr({r:t,"stroke-width":0,stroke:"none",fill:fa(h)});B?(f={x:p-v,y:n-v-1,width:m+r,height:g+r},b||(a.volumeCanvas=b=d.rect(c).attr(f).shadow(G).crisp()),b.show().animateWith(z,D,f,w,A).attr({r:t,fill:fa(h),"stroke-width":r,stroke:u,"stroke-linejoin":2<r?V:Aa,"shape-rendering":"crisp"})):b&&b.hide()},_createAxes:function(){var a=
this.components,c,d=FusionCharts.register("component",["axis","cartesian"]),b=this.config.showVolumeChart,e,f;a.yAxis=[];a.xAxis=[];a.yAxis[0]=e=new d;a.yAxis[1]=c=new d;a.xAxis[0]=f=new d;e.chart=this;c.chart=this;f.chart=this;b&&(a.xAxis[1]=a=new d,a.chart=this,a.init());e.init();c.init();f.init();this._setCategories()},_feedAxesRawData:function(){var a=this.components,c=a.colorManager,d=this.jsonData,b=d.chart,e,f,g=this.is3d,l=g?zb.chart3D:zb.chart2D,x=FusionCharts.register("component",["axis",
"cartesian"]),k=this.config.showVolumeChart;e={outCanfontFamily:q(b.outcnvbasefont,b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,c.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:b.xaxisnamepadding,axisValuePadding:b.labelpadding,axisNameFont:b.xaxisnamefont,axisNameFontSize:b.xaxisnamefontsize,axisNameFontColor:b.xaxisnamefontcolor,axisNameFontBold:b.xaxisnamefontbold,axisNameFontItalic:b.xaxisnamefontitalic,
axisNameBgColor:b.xaxisnamebgcolor,axisNameBorderColor:b.xaxisnamebordercolor,axisNameAlpha:b.xaxisnamealpha,axisNameFontAlpha:b.xaxisnamefontalpha,axisNameBgAlpha:b.xaxisnamebgalpha,axisNameBorderAlpha:b.xaxisnameborderalpha,axisNameBorderPadding:b.xaxisnameborderpadding,axisNameBorderRadius:b.xaxisnameborderradius,axisNameBorderThickness:b.xaxisnameborderthickness,axisNameBorderDashed:b.xaxisnameborderdashed,axisNameBorderDashLen:b.xaxisnameborderdashlen,axisNameBorderDashGap:b.xaxisnameborderdashgap,
useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:q(b.vdivlinecolor,b.divlinecolor,c.getColor(l.divLineColor)),divLineAlpha:q(b.vdivlinealpha,b.divlinealpha,g?c.getColor(Ga):c.getColor(pa)),divLineThickness:h(b.vdivlinethickness,b.divlinethickness,1),divLineIsDashed:!!h(b.vdivlinedashed,b.vdivlineisdashed,b.divlinedashed,b.divlineisdashed,0),divLineDashLen:h(b.vdivlinedashlen,b.divlinedashlen,4),divLineDashGap:h(b.vdivlinedashgap,b.divlinedashgap,2),showAlternateGridColor:h(b.showalternatevgridcolor,
0),alternateGridColor:q(b.alternatevgridcolor,c.getColor(Ka)),alternateGridAlpha:q(b.alternatevgridalpha,c.getColor(xa)),numDivLines:b.numvdivlines,labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,axisName:b.xaxisname,axisMinValue:b.xaxisminvalue,axisMaxValue:b.xaxismaxvalue,setAdaptiveMin:b.setadaptivexmin,adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:b.showlabels,
rotateLabels:b.rotatelabels,slantLabel:h(b.slantlabels,b.slantlabel),labelStep:h(b.labelstep,b.xaxisvaluesstep),showAxisValues:h(b.showxaxisvalues,b.showxaxisvalue),showLimits:b.showvlimits,showDivLineValues:h(b.showvdivlinevalues,b.showvdivlinevalues),showZeroPlane:b.showvzeroplane,zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness,zeroPlaneAlpha:b.vzeroplanealpha,showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,
trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.xaxislinecolor,b.axislinecolor,ca)};g={outCanfontFamily:q(b.outcnvbasefont,b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,
c.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:b.xaxisnamepadding,axisValuePadding:b.labelpadding,axisNameFont:b.xaxisnamefont,axisNameFontSize:b.xaxisnamefontsize,axisNameFontColor:b.xaxisnamefontcolor,axisNameFontBold:b.xaxisnamefontbold,axisNameFontItalic:b.xaxisnamefontitalic,axisNameBgColor:b.xaxisnamebgcolor,axisNameBorderColor:b.xaxisnamebordercolor,axisNameAlpha:b.xaxisnamealpha,axisNameFontAlpha:b.xaxisnamefontalpha,axisNameBgAlpha:b.xaxisnamebgalpha,axisNameBorderAlpha:b.xaxisnameborderalpha,
axisNameBorderPadding:b.xaxisnameborderpadding,axisNameBorderRadius:b.xaxisnameborderradius,axisNameBorderThickness:b.xaxisnameborderthickness,axisNameBorderDashed:b.xaxisnameborderdashed,axisNameBorderDashLen:b.xaxisnameborderdashlen,axisNameBorderDashGap:b.xaxisnameborderdashgap,useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:q(b.vdivlinecolor,c.getColor(l.divLineColor)),divLineAlpha:q(b.vdivlinealpha,c.getColor(pa)),divLineThickness:h(b.vdivlinethickness,1),divLineIsDashed:!!h(b.vdivlinedashed,
b.vdivlineisdashed,0),divLineDashLen:h(b.vdivlinedashlen,4),divLineDashGap:h(b.vdivlinedashgap,2),showAlternateGridColor:h(b.showalternatevgridcolor,0),alternateGridColor:q(b.alternatevgridcolor,c.getColor(Ka)),alternateGridAlpha:q(b.alternatevgridalpha,c.getColor(xa)),numDivLines:b.numvdivlines,labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,axisName:b.xaxisname,axisMinValue:b.xaxisminvalue,
axisMaxValue:b.xaxismaxvalue,setAdaptiveMin:b.setadaptivexmin,adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:1,rotateLabels:b.rotatelabels,slantLabel:h(b.slantlabels,b.slantlabel),labelStep:h(b.labelstep,b.xaxisvaluesstep),showAxisValues:h(b.showxaxisvalues,b.showxaxisvalue),showLimits:b.showvlimits,showDivLineValues:h(b.showvdivlinevalues,b.showvdivlinevalues),showZeroPlane:b.showvzeroplane,zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness,zeroPlaneAlpha:b.vzeroplanealpha,
showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.xaxislinecolor,b.axislinecolor,ca)};f={outCanfontFamily:q(b.outcnvbasefont,
b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,c.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:b.yaxisnamepadding,axisValuePadding:b.yaxisvaluespadding,axisNameFont:b.pyaxisnamefont,axisNameFontSize:b.pyaxisnamefontsize,axisNameFontColor:b.pyaxisnamefontcolor,axisNameFontBold:b.pyaxisnamefontbold,axisNameFontItalic:b.pyaxisnamefontitalic,axisNameBgColor:b.pyaxisnamebgcolor,axisNameBorderColor:b.pyaxisnamebordercolor,
axisNameAlpha:b.pyaxisnamealpha,axisNameFontAlpha:b.pyaxisnamefontalpha,axisNameBgAlpha:b.pyaxisnamebgalpha,axisNameBorderAlpha:b.pyaxisnameborderalpha,axisNameBorderPadding:b.pyaxisnameborderpadding,axisNameBorderRadius:b.pyaxisnameborderradius,axisNameBorderThickness:b.pyaxisnameborderthickness,axisNameBorderDashed:b.pyaxisnameborderdashed,axisNameBorderDashLen:b.pyaxisnameborderdashlen,axisNameBorderDashGap:b.pyaxisnameborderdashgap,axisNameWidth:b.yaxisnamewidth,useEllipsesWhenOverflow:b.useellipseswhenoverflow,
rotateAxisName:h(b.rotateyaxisname,1),axisName:b.pyaxisname,divLineColor:q(b.divlinecolor,c.getColor(l.divLineColor)),divLineAlpha:q(b.divlinealpha,c.getColor(pa)),divLineThickness:h(b.divlinethickness,1),divLineIsDashed:!!h(b.divlinedashed,b.divlineisdashed,1),divLineDashLen:h(b.divlinedashlen,4),divLineDashGap:h(b.divlinedashgap,2),showAlternateGridColor:h(b.showalternatehgridcolor,1),alternateGridColor:q(b.alternatehgridcolor,c.getColor(Pa)),alternateGridAlpha:q(b.alternatehgridalpha,c.getColor(bb)),
numDivLines:h(b.numpdivlines,5),axisMinValue:b.pyaxisminvalue,axisMaxValue:b.pyaxismaxvalue,setAdaptiveMin:h(b.setadaptiveymin,1),adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showAxisValues:h(b.showyaxisvalues,b.showyaxisvalue),showLimits:h(b.showyaxislimits,b.showlimits,this.showLimits),showDivLineValues:h(b.showdivlinevalues,b.showdivlinevalue),showZeroPlane:b.showzeroplane,zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:b.zeroplanethickness,zeroPlaneAlpha:b.zeroplanealpha,showZeroPlaneValue:b.showzeroplanevalue,
trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.yaxislinecolor,b.axislinecolor,ca)};c={outCanfontFamily:q(b.outcnvbasefont,b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,
b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,c.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:b.yaxisnamepadding,axisValuePadding:b.yaxisvaluespadding,axisNameFont:b.vyaxisnamefont,axisNameFontSize:b.vyaxisnamefontsize,axisNameFontColor:b.vyaxisnamefontcolor,axisNameFontBold:b.vyaxisnamefontbold,axisNameFontItalic:b.vyaxisnamefontitalic,axisNameBgColor:b.vyaxisnamebgcolor,axisNameBorderColor:b.vyaxisnamebordercolor,axisNameAlpha:b.vyaxisnamealpha,
axisNameFontAlpha:b.vyaxisnamefontalpha,axisNameBgAlpha:b.vyaxisnamebgalpha,axisNameBorderAlpha:b.vyaxisnameborderalpha,axisNameBorderPadding:b.vyaxisnameborderpadding,axisNameBorderRadius:b.vyaxisnameborderradius,axisNameBorderThickness:b.vyaxisnameborderthickness,axisNameBorderDashed:b.vyaxisnameborderdashed,axisNameBorderDashLen:b.vyaxisnameborderdashlen,axisNameBorderDashGap:b.vyaxisnameborderdashgap,axisNameWidth:b.yaxisnamewidth,useEllipsesWhenOverflow:b.useellipseswhenoverflow,rotateAxisName:h(b.rotateyaxisname,
1),axisName:b.vyaxisname,divLineColor:q(b.divlinecolor,c.getColor(l.divLineColor)),divLineAlpha:q(b.divlinealpha,c.getColor(pa)),divLineThickness:h(b.divlinethickness,1),divLineIsDashed:!!h(b.divlinedashed,b.divlineisdashed,1),divLineDashLen:h(b.divlinedashlen,4),divLineDashGap:h(b.divlinedashgap,2),showAlternateGridColor:h(b.showalternatehgridcolor,1),alternateGridColor:q(b.alternatehgridcolor,c.getColor(Pa)),alternateGridAlpha:q(b.alternatehgridalpha,c.getColor(bb)),numDivLines:b.numdivlines,axisMinValue:b.vyaxisminvalue,
axisMaxValue:b.vyaxismaxvalue,setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showAxisValues:h(b.showyaxisvalues,b.showyaxisvalue),showLimits:h(b.showsecondarylimits,b.showlimits),showDivLineValues:h(b.showdivlinevalues,b.showdivlinevalue),showZeroPlane:b.showzeroplane,zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:b.zeroplanethickness,zeroPlaneAlpha:b.zeroplanealpha,showZeroPlaneValue:b.showzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,
trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.yaxislinecolor,b.axislinecolor,ca)};e.vtrendlines=d.vtrendlines;g.vtrendlines=d.vtrendlines;f.trendlines=d.trendlines;b=a.yAxis[0];d=a.yAxis[1];l=a.xAxis[0];b.setCommonConfigArr(f,!0,!1,
!1);b.configure();d.setCommonConfigArr(c,!0,!1,!1);d.configure();b.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,relativeAxis:d});d.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,uniqueClassName:1,relativeAxis:b});l.setCommonConfigArr(e,!1,!1,!1);l.configure();l.setAxisConfig({drawTrendLabels:k?!1:!0});k?(a.xAxis[1]?a.xAxis[1].show():(x=a.xAxis[1]=new x,x.chart=this,x.init()),x=a.xAxis[1],x.setCommonConfigArr(g,!1,!1,!1),x.configure(),x.setAxisConfig({drawLabels:!1,drawPlotlines:!0,
drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!0,drawOnlyCategoryLine:!0,uniqueClassName:1})):a.xAxis[1]&&a.xAxis[1].hide()},_setCategories:function(){var a=this.jsonData,c=this.components.xAxis,a=a.categories&&a.categories[0].category||[],d=[],b,e;for(e=0;e<a.length;e++)b=Y({},a[e]),b.label=D,d.push(b);c[0].setAxisPadding(.5,.5);c[0].setCategory(a);c[1]&&c[1].setAxisPadding(.5,.5);c[1]&&c[1].setCategory(d)},_setAxisLimits:function(){var a=this.components,c=a.dataset,d=a.yAxis,a=a.xAxis,b,e=c.length,
f,g=-Infinity,l=Infinity,h=-Infinity,k=Infinity,y=Infinity,p=-Infinity,q,m=0,n={};for(f=0;f<e;f++)b=c[f],q=b.groupManager,m=b.config.parentYAxis,q?(n[b.type]=q,n[b.type].yAxisIndex=m):(b=b.getDataLimits(),1===m?(h=W(h,b.max),k=da(k,b.min)):(g=W(g,b.max),l=da(l,b.min)),p=W(p,b.xMax||-Infinity),y=da(y,b.xMin||Infinity));for(q in n)b=n[q].getDataLimits(),g=W(g,b.max),l=da(l,b.min);c=this._getTrendLineMinMax("h");g=W(g,c.max);l=da(l,c.min);d[0].setDataLimit(g,l);d[1].setDataLimit(h,k);if(-Infinity!==
p||Infinity!==y)a[0].setAxisRange({min:y-.5,max:p+.5,tickInterval:1}),a[1]&&a[1].setAxisRange({min:y-.5,max:p+.5,tickInterval:1})},isDual:!0},I.mscartesian);FusionCharts.register("component",["dataset","Candlestick",{type:"Candlestick",configure:function(){if(this.plotType===C)this._configureVolume();else{var a=this.config,c=this.chart,d=c.components,b=this.JSONData,e=b.data||[],f=c.jsonData.chart,g=e.length,l=a.plotPriceAs=H(f.plotpriceas,D).toLowerCase(),x=d.numberFormatter,k=d.colorManager,y,p,
m,n,d=a.bearBorderColor=Ja(q(f.bearbordercolor,Oa)),r=a.bearFillColor=Ja(q(f.bearfillcolor,Oa)),v=a.bullBorderColor=Ja(q(f.bullbordercolor,k.getColor("canvasBorderColor"))),u=a.bullFillColor=Ja(q(f.bullfillcolor,db)),A=a.linethickness=a.plotBorderThickness=h(f.plotlinethickness,l==w||l==z?2:1),I=a.plotLineDashLen=h(f.plotlinedashlen,5),ma=a.plotLineDashGap=h(f.plotlinedashgap,4),K=!!h(f.drawanchors,1),J=h(f.anchorstartangle,90),V=h(f.anchorradius,this.anchorRadius,3),E=Ja(q(f.anchorbordercolor,v)),
Va=h(f.anchorborderthickness,this.anchorBorderThickness,1),k=Ja(q(f.anchorbgcolor,k.getColor("anchorBgColor"))),X=q(f.anchoralpha,cb),G=q(f.anchorbgalpha,X),N,L,fa,Sb,ba,T,na,Q,ga,aa,Z,Y,O,ia=!1,ja=-Infinity,R=Infinity,wa=-Infinity,ca=Infinity,la=t.graphics.mapSymbolName;a.parentYAxis=0;a.toolText=H(M(q(b.tooltext,f.plottooltext)));a.name=H(b.seriesname);a.showTooltip=q(f.showtooltip,1);switch(l){case w:a.plotType=w;break;case z:a.plotType=z;break;default:a.plotType=F,a.showErrorValue=!0,a.errorBarWidthPercent=
0,ia=!0}a.animation={duration:200};N=q(f.maxcolwidth);a.maxColWidth=Ea(h(N,50))||1;a.enableAnimation=N=h(f.animation,f.defaultanimation,1);a.animation=N?{duration:1E3*h(f.animationduration,1)}:!1;a.lineAlpha=q(f.plotlinealpha,"100");N=W(h(f.plotspacepercent,20)%100,0);a.plotSpacePercent=a.groupPadding=N/200;Z=this.components.data=this.components.data||(this.components.data=[]);a.valuePadding=h(b.valuepadding,f.valuepadding,2);a.plotBorderThickness=A;for(N=0;N<g;N+=1)if(Y=e[N],(L=Z[N])||(L=Z[N]={}),
!L.config&&(L.config={}),!L.graphics&&(L.graphics={}),O=L.config,Y&&!Y.vline){O.setLink=q(Y.link);L=O.open=x.getCleanValue(Y.open);Sb=O.close=x.getCleanValue(Y.close);ba=O.high=x.getCleanValue(Y.high);T=O.low=x.getCleanValue(Y.low);na=O.volume=x.getCleanValue(Y.volume,!0);null!==na&&(c.config.drawVolume=!0);na=O.x=x.getCleanValue(Y.x);O.openVal=ia?Ea(Sb-L):L;ga=O.closeVal=da(L,Sb);aa=O.yVal=W(L,Sb);n=l===w?1:0;fa=da(L,Sb,ba,T);Q=W(L,Sb,ba,T);M(H(Y.valuetext,D));p=Ja(q(Y.bordercolor,Sb<L?d:v));m=q(Y.alpha,
n?a.lineAlpha:"100");y=Ja(q(Y.color,Sb<L?r:u));n=h(Y.dashed)?nb(I,ma):"none";O.dashStyle=n;n={opacity:m/100};O.color=ia?y:p;O.alpha=m;O.setColor=O.color;O.setAlpha=O.alpha;O.anchorImageUrl=q(Y.anchorimageurl,b.anchorimageurl,f.anchorimageurl);p=O.borderColor=p;O.borderAlpha=O.plotLineAlpha;O.colorArr=[{color:O.color,alpha:O.alpha},{color:O.borderColor,alpha:O.borderAlpha}];O.anchorSides=h(Y.anchorsides,b.anchorsides,f.anchorsides);O.symbol=la(O.anchorSides).split(B);O.anchorProps={enabled:K,bgColor:k,
symbol:O.symbol,bgAlpha:G*X/100+D,borderColor:E,borderAlpha:X,borderThickness:Va,imageUrl:O.anchorImageUrl,radius:V,imageScale:h(Y.imagescale,b.imagescale,f.imagescale,100),imagePadding:h(Y.anchorimagepadding,b.anchorimagepadding,f.anchorimagepadding,1),imageAlpha:h(b.anchorimagealpha,f.anchorimagealpha,100),startAngle:J};O.showValue=1;O.hoverEffects={};switch(a.plotType){case w:O.y=Sb;O.link=q(Y.link);break;case F:O.y=Ea(Sb-L);O.previousY=ga;O.link=q(Y.link);O.errorValue=[];0<ba-aa&&O.errorValue.push({errorValue:ba-
aa,errorStartValue:aa,errorBarColor:p,errorBarThickness:A,opacity:1});0>T-ga&&O.errorValue.push({errorValue:T-ga,errorStartValue:ga,errorBarColor:p,errorBarThickness:A,opacity:1});break;default:O.y=L,O.previousY=Sb,O.link=q(Y.link)}O.setValue=O.y;null!==fa&&(!ja&&0!==ja&&(ja=fa),!R&&0!==R&&(R=fa),ja=W(ja,fa),R=da(R,fa));null!==Q&&(!ja&&(ja=Q),!R&&(R=Q),ja=W(ja,Q),R=da(R,Q));null!==na&&(wa=W(wa,na),ca=da(ca,na));fa=this._parseToolText(N);O.toolText=fa;O.toolTipValue=D;na=na?na:N+1;O.x=na;O.displayValue=
M(q(Y.displayvalue,Y.valuetext,D));O.high=W(L,Sb,ba,T);O.low=da(L,Sb,ba,T);O.shadow=n}a.yMax=ja;a.yMin=R;a.xMax=wa;a.xMin=ca}},_parseToolText:function(a){var c=this.config,d=this.chart,b=d.jsonData.chart,e=c.plotType===w?1:0,f=this.JSONData.data[a],g=this.components.data[a].config,d=d.components.xAxis[0].getLabel(g.x).label;a=g.open;var l=g.close,h=this.yAxis,k=g.high,y=g.low,g=g.volume,p=void 0!==g?f.volumetooltext:void 0;c.showTooltip?(c=H(M(q(p,f.tooltext,c.volumeToolText,c.toolText))),void 0!==
c?c=Qa(c,[3,5,6,10,54,55,56,57,58,59,60,61,81,82],{label:d,yaxisName:M(b.yaxisname),xaxisName:M(b.xaxisname),openValue:f.open,openDataValue:h.dataLabels(a),closeValue:f.close,closeDataValue:h.dataLabels(l),highValue:f.high,highDataValue:h.dataLabels(k),lowValue:f.low,lowDataValue:h.dataLabels(y),volumeValue:f.volume,volumeDataValue:h.dataLabels(g)},f,b):(c=null===a||e?D:"<b>Open:</b> "+h.dataLabels(a)+"<br />",c+=null!==l?"<b>Close:</b> "+h.dataLabels(l)+"<br />":D,c+=null===k||e?D:"<b>High:</b> "+
h.dataLabels(k)+"<br />",c+=null===y||e?D:"<b>Low:</b> "+h.dataLabels(y)+"<br />",c+=null!==g?"<b>Volume:</b> "+h.dataLabels(g):D)):c=D;return c},init:function(a,c){var d=this.chart;this.yAxis=c===C?d.components.yAxis[1]:d.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.visible=1;this.plotType=c;this.configure()},_configureVolume:function(){var a=this.config,c=this.chart,d=this.JSONData,b=d.data||[],e=c.jsonData.chart,f=b.length,g=c.components.colorManager,l,x,k,y,p,m,
n=a.bearBorderColor=Ja(q(e.bearbordercolor,Oa)),r=a.bearFillColor=Ja(q(e.bearfillcolor,Oa)),g=a.bullBorderColor=Ja(q(e.bullbordercolor,g.getColor("canvasBorderColor"))),v=a.bullFillColor=Ja(q(e.bullfillcolor,db)),u=h(e.showvplotborder,1)?h(e.vplotborderthickness,1):0,w=a.plotLineDashLen=h(e.plotlinedashlen,5),z=a.plotLineDashGap=h(e.plotlinedashgap,4),A,K=this.yAxis,B=-Infinity,C=Infinity,E=-Infinity,I=Infinity;p=c.components.vNumberFormatter;a.plotType=F;a.parentYAxis=1;a.volumeToolText=H(M(q(d.volumetooltext,
e.volumetooltext,e.plottooltext)));a.name=H(d.seriesname);a.showTooltip=q(e.showtooltip,1);a.enableAnimation=d=h(e.animation,e.defaultanimation,1);a.animation=d?{duration:1E3*h(e.animationduration,1)}:!1;d=q(e.maxcolwidth);a.maxColWidth=Ea(h(d,50))||1;d=W(h(e.plotspacepercent,20)%100,0);a.plotSpacePercent=a.groupPadding=d/200;a.plotBorderThickness=u;d=this.components.data=this.components.data||(this.components.data=[]);e=Y(Y({},e),{forcedecimals:Ba(e.forcevdecimals,e.forcedecimals),forceyaxisvaluedecimals:Ba(e.forcevyaxisvaluedecimals,
e.forceyaxisvaluedecimals),yaxisvaluedecimals:Ba(e.vyaxisvaluedecimals,e.yaxisvaluedecimals),formatnumber:Ba(e.vformatnumber,e.formatnumber),formatnumberscale:Ba(e.vformatnumberscale,e.formatnumberscale),defaultnumberscale:Ba(e.vdefaultnumberscale,e.defaultnumberscale),numberscaleunit:Ba(e.vnumberscaleunit,e.numberscaleunit),vnumberscalevalue:Ba(e.vnumberscalevalue,e.numberscalevalue),scalerecursively:Ba(e.vscalerecursively,e.scalerecursively),maxscalerecursion:Ba(e.vmaxscalerecursion,e.maxscalerecursion),
scaleseparator:Ba(e.vscaleseparator,e.scaleseparator),numberprefix:Ba(e.vnumberprefix,e.numberprefix),numbersuffix:Ba(e.vnumbersuffix,e.numbersuffix),decimals:Ba(e.vdecimals,e.decimals)});p?p.configure(e):p=c.components.vNumberFormatter=new t.NumberFormatter(c,e);K.setNumberFormatter(p);for(c=0;c<f;c+=1)p=b[c],(e=d[c])||(e=d[c]={}),!e.config&&(e.config={}),!e.graphics&&(e.graphics={}),A=e.config,p&&!p.vline&&(y=A.open=K.getCleanValue(p.open),l=A.close=K.getCleanValue(p.close),A.high=K.getCleanValue(p.high),
A.low=K.getCleanValue(p.low),m=A.volume=K.getCleanValue(p.volume,!0),e=A.x=K.getCleanValue(p.x),A.openVal=Ea(l-y),A.closeVal=da(y,l),B=W(B,m),C=da(C,m),E=W(E,e),I=da(I,e),M(H(p.valuetext,D)),x=Ja(q(p.bordercolor,l<y?n:g)),k=q(p.alpha,"100"),l=Ja(q(p.color,l<y?r:v)),A.dashStyle=h(p.dashed)?nb(w,z):"none",y={opacity:k/100},A.color=l,A.alpha=k,A.setLink=p.link,A.borderWidth=u,A.borderColor=x,A.borderAlpha=q(A.plotLineAlpha,k),A.y=m,A.colorArr=[{color:A.color,alpha:A.alpha},{color:A.borderColor,alpha:A.borderAlpha}],
A.setValue=A.y,p=this._parseToolText(c),A.toolText=p,A.toolTipValue=D,e=e?e:c+1,A.x=e,A.shadow=y);a.yMax=B;a.yMin=C;a.xMax=E;a.xMin=I},draw:function(){var a=this.config,c=a.plotType;c===w?this.__base__.draw.call(this):c===F?(this._drawColumn(),a.showErrorValue&&this._drawErrorValue()):this._drawCandlestickBar();this.drawn=!0},_drawColumn:function(){var a=this,c=a.JSONData,d=a.chart,b=d.getJobList(),e=a.chart.jsonData.chart,f=a.config,g=a.index,l=c.data,x=l&&l.length,k,y,p=a.visible,m=d.components.paper,
n=d.components.xAxis[0],r=a.yAxis,v,u,w=d.graphics,z=t.parseUnsafeString,A=t.getValidValue,K=t.Raphael,C=f.showTooltip,I=d.get(ga,X),E=I.duration,H=I.dummyObj,J=I.animObj,G=n.getPVR(),N=f.plotSpacePercent,L=f.maxColWidth,G=(1-.01*f.definedGroupPadding)*G||da(G*(1-2*N),1*L),N=G/2,G=G/1,L=da(G-1,0),N=0*G-N+L/2,V,L=a.components.data,M,W,T,na,Q,Y=r.getAxisBase(),ba=r.yBasePos=r.getAxisPosition(Y),aa=f.plotBorderThickness,ja=f.plotRadius||0,O=a.graphics.container,Z=a.graphics.trackerContainer,ia=a.graphics.shadowContainer;
Q=w.trackerGroup;var R,wa,ca=!d.config.plotAnimDone,la=a.components.removeDataArr||[],oa=la.length,ra=FusionCharts.get("component",["dataset",F]).prototype.drawLabel,ka=function(){var b=a.graphics.errorGroupContainer;b&&b.show()};R=w.datasetGroup;w=a.components.pool||[];O||(O=a.graphics.container=m.group(sa,R),p||O.hide());Z||(Z=a.graphics.trackerContainer=m.group(wb,Q),p||Z.hide());ia||(ia=a.graphics.shadowContainer=m.group($b,R).toBack(),p||ia.hide());Z=G;f.columnWidth=G;for(f=0;f<x;f++)k=l[f],
Q=(y=L[f])&&y.config,M=Q.setLink,W=Q.y,v=h(Q.x,f),R=Q.colorArr,null!==W&&(M=Q.setLink,y.graphics||(L[f].graphics={}),na=a.index+B+f,Q.groupId=na,na=Q.displayValue,A(z(q(k.tooltext,c.plottooltext,e.plottooltext))),k=Q.previousY,u=r.getAxisPosition(k||Y),k=r.getAxisPosition(W+(k||0)),v=n.getAxisPosition(v)+N,u=Ea(k-u),u=K.crispBound(v,k,Z,u,aa),v=u.x,k=u.y,Z=u.width,u=u.height||1,V=Q.toolText,wa=Q.dashStyle,T=Q.eventArgs,T||(T=Q.eventArgs={}),T.index=f,T.link=M,T.value=W,T.displayValue=na,T.categoryLabel=
n.getLabel(f).label,T.toolText=V,T.id=D,T.datasetIndex=g,T.datasetName=c.seriesname,T.visible=p,y._xPos=v,y._yPos=k,y._height=u,y._width=G,M=y.graphics.element,M||(w.element&&w.element.length?M=y.graphics.element=w.element.shift():(M=y.graphics.element=m.rect(O),E&&M.attr({x:v,y:ba,width:Z,height:0}))),y=Q._elemPositions,y||(y=Q._elemPositions={}),y.x=v,y.y=k,y.width=Z,y.height=u,M.show().animateWith(H,J,y,E,I.animType,ca&&ka),y=Q._elemCosmetics,y||(y=Q._elemCosmetics={}),y.r=ja,y.ishot=!C,y.fill=
fa(R[0]),y.stroke=fa(R[1]),y["stroke-width"]=aa,y["stroke-dasharray"]=wa,y["stroke-linejoin"]=Aa,y.visibility=p,M.attr(y).shadow(Q.shadow,ia),d.config.plotAnimDone=!0);b.trackerDrawID.push(Ya.addJob(a.drawTracker,a,[],t.priorityList.tracker));a.drawn?ra.call(a,0,L.length):b.labelDrawID.push(Ya.addJob(ra,a,[0,L.length],t.priorityList.label));for(f=0;f<oa;f++)if(y=la[0])a._removeDataVisuals(y.graphics),la.shift();a.drawn=!0},rolloverResponseSetter:function(a,c){return function(d){c.graphics.rollOverBand.transform("t"+
(a._xPos+(a._width||0)/2)+",0").show();Z.call(this,c,d,"DataPlotRollOver")}},rolloutResponseSetter:function(a,c){return function(a){c.graphics.rollOverBand.hide();Z.call(this,c,a,"DataPlotRollOut")}},drawTracker:function(){var a=this.graphics.trackerContainer,c=this.components.data,d=this.config,b=this.chart,e=b.components.paper,f=c.length,g,l,h,k,y=this.components.pool||{},p=function(a){Z.call(this,b,a)},q=function(a){Z.call(this,b,a,"DataPlotRollOver")},m=function(a){Z.call(this,b,a,"DataPlotRollOut")},
n,t=this.visible,r=d.plotRadius||0,v=d.plotBorderThickness,u,z,A,B,F,E,C,I=b.components,G=b.graphics.datasetGroup,N=b.graphics.rollOverBand,L=I.canvas.config,H=I.canvasVolume.config,I=d.columnWidth,J=b.config.rollOverBandColor,M=this.graphics.errorTrackerContainer;A=FusionCharts.get("component",["dataset","line"]).prototype.drawTracker;if(d.plotType===w)A.call(this);else for(d=0;d<f;d++)for(E=c[d],k=E.config,l=E._width,h=E._height,u=E._yPos,z=E._xPos,C=k.eventArgs,A=k.setLink,g=E.graphics.hotElement,
F=k.toolText,h<Ta&&(u-=(Ta-h)/2,h=Ta),B=k.groupId,n=k._hotElemAttrs,n||(n=k._hotElemAttrs={}),n.x=z,n.y=u,n.width=l,n.height=h,n.r=r,n.cursor=A?"pointer":D,n.stroke=Ca,n["stroke-width"]=v,n.fill=Ca,n.ishot=!0,n.visibility=t,g=E.graphics.hotElement||y.hotElement&&y.hotElement.shift(),g||(g=E.graphics.hotElement=e.rect(a),g.click(p).mouseover(this.rolloverResponseSetter(E,b)).mouseout(this.rolloutResponseSetter(E,b))),g.data("x",z+l/2),g.attr(n),g.data("eventArgs",C).data("groupId",B).tooltip(F),g=
(h=k.errorValue)&&h.length||0;g--;)l=E.graphics.error[g],n=l.errorTrackerElem||y.errorTrackerElem&&y.errorTrackerElem.shift(),k=h[g],k=k.errorPath,n||(n=l.errorTrackerElem=e.path(M),n.click(p).hover(q,m)),n.attr({path:k,stroke:Ca,"stroke-width":Ta,cursor:A?"pointer":D,ishot:!!A,visibility:t}).data("groupId",B).tooltip(F),n.data("eventArgs",C);a=["M",0,L.canvasTop,"L",0,L.canvasBottom,"M",0,H.canvasTop-H.canvasBorderWidth,"L",0,H.canvasTop+H.canvasHeight+H.canvasBorderWidth/2];N||(N=b.graphics.rollOverBand=
e.path(G));N.transform(D);N.attr({path:a,"stroke-width":I,ishot:!0,stroke:J,"stroke-linecap":"butt"});N.data("width",I);N.toBack();N.hide()},_removeDataVisuals:function(a){var c=this.components.pool||(this.components.pool={}),d,b,e,f,g;a.graphics&&(a=a.graphics);for(b in a){d=c[b]||(c[b]=[]);e=a[b];if(e instanceof Array)for(f=0,g=e.length;f<g;f++)this._removeDataVisuals(e[f]);else e.hide&&"function"===typeof e.hide&&e.hide();d.push(a[b])}},_drawCandlestickBar:function(){var a=this.chart,c=a.components,
d,b=this.config,e=this.components.data,f=e.length,g=c.xAxis[0],l=this.yAxis,x=a.graphics,c=c.paper,k=b.numColumns||1,y=b.columnPosition||0,p=g.getPVR(),q=b.groupPadding,m=b.maxColWidth,p=(1-.01*b.plotspacepercent)*p||da(p*(1-2*q),m*k),k=p/k*y-p/2,x=x.datasetGroup,n,t,r,v,u,y=a.get(ga,X)||{},p=y.duration,q=y.dummyObj,m=y.animObj,w=this.graphics.container,z=this.components.pool||{};d=this.visible;var A,B,E,F=this.components.removeDataArr||[],C=F.lengt,G;w||(w=this.graphics.container=c.group(sa,x),d||
w.hide());for(n=0;n<f;n+=1)t=e[n],d=t.config,G=t.graphics,v=d.y,null!==v&&(r=h(d.x,n),t=d.link,r=g.getAxisPosition(r),u=d.previousY,u=l.getAxisPosition(u),v=l.getAxisPosition(v),A=l.getAxisPosition(d.high),B=l.getAxisPosition(d.low),Ea(v-u),E=k,u=["M",r,B,"L",r,A,"M",r,v,"L",r+E,v,"M",r,u,"L",r-E,u],r=G.element,r||(z.element&&z.element.length?G.element=c.path(x):r=G.element=c.path(u,w)),r.show().animateWith(q,m,{path:u},p,y.animType),a.config.plotAnimDone=!0,r.attr({fill:fa(d.color),stroke:fa(d.borderColor),
"stroke-width":b.linethickness,"stroke-dasharray":d.dashStyle,"stroke-linecap":V,"stroke-linejoin":V,"shape-rendering":"crisp",cursor:t?"pointer":D,visibility:oa}).shadow(d.shadow));for(n=0;n<C;n++)this._removeDataVisuals(F.shift())},_drawErrorValue:function(){var a=this.config,c=this.JSONData.data,c=c&&c.length,d;d=this.visible;var b=this.chart,e=b.components.paper,f=b.components.yAxis[0],g=this.components.data,l,h=a.errorBarWidthPercent,k,q=b.graphics,p=q.datasetGroup,a=a.showTooltip,m=this.graphics.errorGroupContainer,
n=this.graphics.errorTrackerContainer,t=q.trackerGroup,r,v,u,w,z,A,B,b=b.get(ga,X),q=b.duration,F=b.dummyObj,E=b.animObj,C,I,G,N;r=this.drawn;var L,H=this.components.pool||[],J;m||(m=this.graphics.errorGroupContainer=e.group(Ia,p),d||m.hide());n||(n=this.graphics.errorTrackerContainer=e.group(rb,t).toBack(),d||n.hide());d&&(m.show(),n.show());q&&!r&&m.hide();for(d=0;d<c;d++)if(r=(p=g[d])&&p.config,w=r.y,n=r.errorValue,t=n.length,!p.graphics.error&&(p.graphics.error=[]),null!==w){r=r.setLink;w=0>w;
v=p._xPos;u=p._yPos;N=p._width;J=p._height;u+=J;v+=N/2;l=p.graphics.error;k=l.length;if(k>t)for(L=t;L<k;L++)G=l.pop(),this._removeDataVisuals(G);for(;t--;)(L=p.graphics.error[t])||(L=p.graphics.error[t]={}),G=L.errorLineElem,C=n[t],z=C.errorValue,A=C.errorStartValue,k=C.errorBarColor,l=C.errorBarThickness,B=isNaN(A)?u:f.getAxisPosition(A),I=h/100*N,I/=2,z=f.getAxisPosition((gb(A)?A:void 0)+z),w&&(z+=J),z=ja(z)+l%2/2,A=ja(v)+l%2/2,B=["M",A,B,"V",z,"M",A-I,z,"H",A+I],C.errorPath=B,C=p.graphics.hotElement||
p.graphics.element,C.data("groupId"),G||(G=H.errorLineElem&&H.errorLineElem.length?L.errorLineElem=H.errorLineElem.shift():L.errorLineElem=e.path(m)),G.show().animateWith(F,E,{path:B},q,b.animType),G.attr({stroke:k,ishot:!a,"stroke-width":l,cursor:r?"pointer":D,"stroke-linecap":V})}},getDataLimits:function(){var a=this.config;return{max:a.yMax,min:a.yMin,xMax:a.xMax,xMin:a.xMin}},removeData:function(a,c){var d=this.components,b=d.data,e=d.removeDataArr||(d.removeDataArr=[]);d.removeDataArr=e.concat(b.splice(a||
0,c||1))}},w]);FusionCharts.register("component",["dataset","Trendset",{configure:function(){var a=this.chart,c=a.jsonData.chart,d=this.JSONData,b=this.index,e=d.data||d.set||[],f=this.config,g,l=this.components.data,x,k=-Infinity,m=Infinity,p,n=-Infinity,t=Infinity,r=a.components.numberFormatter,b=Ja(q(d.color,c.trendsetcolor,"666666"));x=q(d.alpha,c.trendsetalpha,"100");p=h(d.thickness,c.trendsetthickness,2);g=!!h(d.dashed,c.trendsetdashed,0);var v=h(d.dashlen,c.trendsetdashlen,4),u=h(d.dashgap,
c.trendsetdashgap,4);f.includeInLegend=h(d.includeinlegend,1);f.lineColor=b;f.lineAlpha=x;f.connectNullData=h(c.connectnulldata,0);f.lineThickness=p;f.lineDashStyle=g?nb(v,u):"none";f.name=H(d.name);f.includeInLegend=h(d.includeinlegend,1);l||(l=this.components.data=[]);b=0;for(p=e.length;b<p;b+=1)(g=e[b])&&!g.vline&&(d=l[b]=l[b]||(l[b]={}),x=d.config=d.config||(d.config={}),c=x.setValue=r.getCleanValue(g.value),g=r.getCleanValue(g.x),g=x.x=null!==g?g:b+1,k=W(k,c),m=da(m,c),t=da(t,g),n=W(n,g),d.graphics||
(d.graphics={}));f.max=k;f.min=m;f.xMax=n;f.xMin=t;this.yAxis=a.components.yAxis[0];this.visible=!0;this._addLegend()},_addLegend:function(){var a=this.JSONData,c=this.config,d=this.chart.components.legend,a={enabled:c.includeInLegend,interactiveLegend:!1,type:this.type,drawLine:!0,strokeColor:fa({color:c.lineColor,alpha:Ha}),label:Ba(a.name)};this.legendItemId=d.addItems(this,this.legendInteractivity,a)},legendInteractivity:function(){},draw:function(){var a=this.chart,c=a.components,d=this.config,
b=c.canvas.config.clip,e=this.components.data.length,f,g=c.paper,c=c.xAxis[0],l=this.yAxis,h,k,q=a.graphics,p=a.get(ga,X),a=p.duration,m=p.dummyObj,n=p.animObj,p=p.animType,t=this.components.data,r,v=d.lineThickness,u=this.graphics.container,z=q.datasetGroup,q=d.shadow,A=function(){z.line.attr({"clip-rect":null});u.lineShadowGroup.show()},K=b["clip-canvas"].slice(0),b=b["clip-canvas-init"].slice(0),D=d.lineDashStyle,d={color:d.lineColor,alpha:d.lineAlpha},B=!1,E=this.graphics.lineElement,F=this.visible;
z.line=z.line||g.group(w,z);z.lineConnector=z.lineConnector||g.group("line-connector",z);u||(u=this.graphics.container={lineShadowGroup:g.group("connector-shadow",z.line),lineGroup:g.group(w,z.line)},F||(u.lineShadowGroup.hide(),u.lineGroup.hide()));for(f=0;f<e;f++)r=t[f],h=r.config,k=h.setValue,h=h.x,h=c.getAxisPosition(h),k=l.getAxisPosition(k),r._xPos=h,r._yPos=k;e=this.getLinePath(t,{}).getPathArr();E||(E=this.graphics.lineElement=g.path(u.lineGroup),B=!0);E.show().animateWith(m,n,{path:e},a,
p);E.attr({"stroke-dasharray":D,"stroke-width":v,stroke:fa(d),"stroke-linecap":V,"stroke-linejoin":2<=v?V:Aa}).shadow(q,u.lineShadowGroup);a&&F&&B&&(u.lineShadowGroup.hide(),z.line.attr({"clip-rect":b}).animateWith(m,n,{"clip-rect":K},a,p,A))},getDataLimits:function(){var a=this.config;return{max:a.max,min:a.min,xMax:a.xMax,xMin:a.xMin}}},w]);I("kagi",{standaloneInit:!0,friendlyName:"Kagi Chart",creditLabel:!1,defaultDatasetType:"kagi",applicableDSList:{kagi:!0},singleseries:!0,hasLegend:!1,_postSpaceManagement:function(){var a=
this.config,c=this.components,d=c.xAxis&&c.xAxis[0],b=c.yAxis&&c.yAxis[0],e=c.canvas.config,f=e.canvasBorderWidth,g=e.canvasPadding||15,l=e.canvasPaddingTop,e=e.canvasPaddingBottom,x=this.jsonData.chart,k=(c=c.dataset[0].config)&&c.shiftCount,q=h(d.getAxisConfig("axisMinValue"),0),p=h(d.getAxisConfig("axisMaxValue"),k-1),m=this.config.canvasWidth;da(h(x.canvaspadding,0),m/2-10);var x=h(x.maxhshiftpercent,10),m=m-2*g,n;b&&b.setAxisDimention({x:a.canvasLeft-f,y:a.canvasTop+l,opposite:a.canvasRight+
f,axisLength:a.canvasHeight-l-e});this._setPosition();c&&(n=c.xShiftLength=da(m/k,(0>=x?10:x)*m/100),W(k-1,1),p=W(p,1));this._adjustCanvasPadding();d&&d.setAxisDimention({x:this.config.canvasLeft+g+n/2,axisLength:n*(p-q),y:a.canvasBottom+(a.shift||0)+f,opposite:a.canvasTop-f})},_setPosition:function(){var a,c,d,b,e,f,g;a=this.components;b=this.jsonData;var l=a.dataset[0],h=b.data||l&&l[0]&&l[0].data,k=(l=l.components.data)&&l.length,m=a.yAxis[0],p=0,n=p,t=[];for(a=0;a<k;a++)c=l[a].config,d=c.setValue,
(b=l[a])||(l[a]={graphics:{}}),c.isDefined||(d=c.plotValue),d=q(c.plotValue,d),c.plotY=vc(m.getAxisPosition(c.setValue),2),c.graphY=vc(m.getAxisPosition(d),2),c.plotX=n,c.isShift?(n=p+=1,h&&t.push(h[a])):a===k-1&&h&&t.push(h[a]),a&&(g=l[a-1].config,b=c&&c.objParams&&c.objParams.isRally,d=c&&c.objParams&&c.objParams.lastHigh,e=c&&c.objParams&&c.objParams.lastLow,f=c&&c.objParams&&c.objParams.isRallyInitialised,g&&f&&g.isRally!==c.isRally?(c.isChanged=!0,c.ty=vc(m.getAxisPosition(b?d:e),2)):c.isChanged=
!1)},_setAxisLimits:function(){var a=this.components,c=a.dataset,d=a.yAxis,a=a.xAxis,b,e=c.length,f,g=-Infinity,l=Infinity,h=Infinity,k=-Infinity,m,p={},q=[],n=function(a){g=W(g,a.max);l=da(l,a.min);k=W(k,a.xMax||-Infinity);h=da(h,a.xMin||Infinity)};for(f=0;f<e;f++)b=c[f],(m=b.groupManager)?p[b.type]=m:q.push(b);for(m in p)c=p[m].getDataLimits(),n(c);e=q.length;for(f=0;f<e;f++)c=q[f].getDataLimits(),n(c);n(this._getTrendLineMinMax("h"));-Infinity===g&&(g=0);Infinity===l&&(l=0);this.config.yMax=g;
this.config.yMin=l;d[0].setAxisConfig({setAdaptiveMin:!0});d[0].setDataLimit(g,l);if(-Infinity!==k||Infinity!==h)a[0].config.xaxisrange={max:k,min:h},a[0].setDataLimit(k,h)}},I.waterfall2d,{},I.areabase);t.BoxAndWhiskerStatisticalCalc=rc=function(a,c,d){this.nf=c;this.dataSeparator=d;this.method=(a||A).toLowerCase().replace(/\s/g,D)};rc.prototype={setArray:function(a){var c=this.nf,d=this.dataSeparator,b=0;!a&&(a=A);for(a=this.dataLength=(d=a.replace(/\s/g,A).split(d))&&d.length;a--;)b+=d[a]=c.getCleanValue(d[a]);
d&&d.sort(function(a,b){return a-b});this.values=d;this.mean=b/this.dataLength;this.getFrequencies()},getQuartiles:function(){var a=this.values,c=this.dataLength,d=c%2,b,e;switch(this.method){case "tukey":d?(d=(c+3)/4,c=(3*c+1)/4):(d=(c+2)/4,c=(3*c+2)/4);break;case "mooremccabe":d?(d=(c+1)/4,c=3*d):(d=(c+2)/4,c=(3*c+2)/4);break;case "freundperles":d=(c+3)/4;c=(3*c+1)/4;break;case "mendenhallsincich":d=ja((c+1)/4);c=ja(3*d);break;default:d=(c+1)/4,c=3*d}--d;--c;b=xc(d);e=xc(c);d=d-b?a[b]+(a[Ac(d)]-
a[b])*(d-b):a[d];a=c-e?a[e]+(a[Ac(c)]-a[e])*(c-e):a[c];return this.quartiles={q1:d,q3:a}},getMinMax:function(){var a=this.values;return{min:a[0],max:a[this.dataLength-1]}},getMean:function(){return this.mean},getMD:function(){for(var a=this.mean,c=this.frequencies,d=c.length,b,e=0;d--;)b=c[d],e+=b.frequency*Ea(b.value-a);return e/this.dataLength},getSD:function(){for(var a=this.mean,c=this.values,d=this.dataLength,b=d,e=0;d--;)e+=Pc(c[d]-a,2);return Oc(e)/b},getQD:function(){return.5*(this.quartiles.q3-
this.quartiles.q1)},getFrequencies:function(){var a=[],c=this.dataLength,d=this.values,b=0,e,f,g;for(g=0;g<c;g+=1)b+=e=d[g],gb(a[g])?a[g].frequency+=1:(f={},f.value=e,f.frequency=1,a[g]=f);this.sum=b;this.frequencies=a},getMedian:function(){var a=this.dataLength,c=.5*a,d=this.values;return 0===a%2?(d[c]+d[c-1])/2:d[xc(c)]}};rc.prototype.constructor=rc;Yb&&Yb({whiskerslimitswidthratio:{type:Za,pAttr:"whiskerslimitswidthratio"},outliersupperrangeratio:{type:Za,pAttr:"outliersupperrangeratio"},outlierslowerrangeratio:{type:Za,
pAttr:"outlierslowerrangeratio"},showalloutliers:{type:Za,pAttr:"showalloutliers"},showmean:{type:Za,pAttr:"showmean"},showsd:{type:Za,pAttr:"showsd"},showmd:{type:Za,pAttr:"showmd"},showqd:{type:Za,pAttr:"showqd"},showminvalues:{type:Za,pAttr:"showminvalues"},showmaxvalues:{type:Za,pAttr:"showmaxvalues"},showq1values:{type:Za,pAttr:"showq1values"},showq3values:{type:Za,pAttr:"showq3values"},showmedianvalues:{type:Za,pAttr:"showmedianvalues"}});I("boxandwhisker2d",{friendlyName:"Box and Whisker Chart",
standaloneInit:!0,creditLabel:!1,chart:I.errorbar2d.chart,drawErrorValue:I.errorbar2d.drawErrorValue,decimals:2,maxColWidth:Infinity,useErrorAnimation:1,avoidCrispError:0,tooltipsepchar:": ",defaultDatasetType:"boxandwhisker2d",applicableDSList:{boxandwhisker2d:!0},hasSubDataset:!0,fireGroupEvent:!0,fireInitialAnimation:!0,_drawDataset:function(){var a=this.components.dataset,c,d=a.length,b,e,f={};for(b=0;b<d;b++)c=a[b],e=c.groupManager,f[c.type]=e;for(e in f)f[e].draw();a.flag=!0;for(b=0;b<d;b++)for(a[b].components.mean&&
a[b].components.mean.draw(),a[b].components.sd&&a[b].components.sd.draw(),a[b].components.md&&a[b].components.md.draw(),a[b].components.qd&&a[b].components.qd.draw(),e=a[b].config.maxNumberOfOutliers||a[b].components.outliers.length,c=0;c<e;c++)a[b].config.showOutliersLegend||(a[b].components.outliers[c].visible=!1),a[b].components.outliers&&a[b].components.outliers[c].draw()},_createDatasets:function(){var a=this.components,c=a.xAxis[0],d=this.jsonData,b=d.dataset,e=b&&b.length,f,g,l,h=this.defaultDatasetType,
k=this.applicableDSList,m=this.components.legend;f=m.components.items||[];var p,n,t,r,v=this.isStacked,u,w,z=[],A=this.isRealTime,K=this.config.catLen,B={};b||this.setChartMessage();this.config.categories=d.categories&&d.categories[0].category;d=a.dataset||(a.dataset=[]);g=d.length;m.emptyItems(0,f.length);for(f=0;f<e;f++)if(r=b[f],r.seriesname&&(r.seriesname=M(r.seriesname)),l=r.parentyaxis||D,n=(n=this.isDual&&l.toLowerCase()===Ma?q(r.renderas,this.sDefaultDatasetType):q(r.renderas,h))&&n.toLowerCase(),
k[n]||(n=h),t=FusionCharts.get("component",["dataset",n]))void 0===B[n]?B[n]=0:B[n]++,u="datasetGroup_"+n,l=FusionCharts.register("component",["datasetGroup",n]),(p=a[u])&&z.push(p),l&&!p&&(p=a[u]=new l,p.chart=this,p.init()),(l=d[f])?(n=c.getCategoryLen(),u=K-n,t=A?l.components:l.JSONData,w=t.data&&t.data.length||0,t=r.data&&r.data.length||0,w-=t,u>w||(u=w,n=t),0<u&&l.removeData(n,u,!1),d[f].JSONData=r,d[f].configure(),d[f]._deleteGridImages&&d[f]._deleteGridImages()):(l=new t,d.push(l),l.chart=
this,l.index=f,p&&(v?p.addDataSet(l,0,B[n]):p.addDataSet(l,B[n],0)),l.init(r));if(g>e){u=g-e;p&&v&&p.removeDataSet(0,f,u);a=f;for(e=u+f;a<e;a++)p&&!v&&p.removeDataSet(f,0,1),m.removeItem(d[a].legendItemId),Ib.call(d[a]);d.splice(f,u)}this.config.catLen=c.getCategoryLen()}},I.mscartesian,{showplotborder:1,plotborderdashlen:5,plotborderdashgap:4,plotfillalpha:Ha,useroundedges:0,plotborderthickness:1,showvalues:1,valuepadding:2,showtooltip:1,maxcolwidth:50,rotatevalues:0,use3dlighting:1,whiskerslimitswidthratio:40,
outliersupperrangeratio:0,outlierslowerrangeratio:0,showalloutliers:0,showmean:0,showsd:0,showmd:0,showqd:0,showminvalues:1,showmaxvalues:1,showq1values:0,showq3values:0,showmedianvalues:1});FusionCharts.register("component",["dataset","boxandwhisker2d",{type:"boxandwhisker2d",configure:function(){var a=this.chart,c=this.config,d=this.JSONData,b=d.data,e=a.config.categories,f=a.singleseries,g=a.config,l=da(e&&e.length,b&&b.length),k=a.jsonData.chart,m=a.components.colorManager,n=this.index||this.positionIndex,
p,r=c.plotColor=m.getPlotColor(n),u=h(d.dashed,k.plotborderdashed),v=h(k.useplotgradientcolor,1),w,z=t.parseUnsafeString,A=z(k.yaxisname),B=z(k.xaxisname),F=z(q(k.tooltipsepchar,": ")),K=t.parseTooltext,C,I,E,J,M,G,N,L,V,X,Y,T,na,Q,ba,ga,Z,ja,O,ia,ca,R,wa,oa,la,ra,Ba,ka,ua,Aa,La,ea,sa,Ca,Xa,Ka,Qa,Jc,$a,Na,Sa,ya,Kb=t.getDashStyle,tc=this.components.data,va=a.components.numberFormatter,Ea,db,Eb,kc,Kc,Lc,tb,eb=0,Ya=0,gb=t.BoxAndWhiskerStatisticalCalc,pa,Ia,Da,Fa,Ga,Ua,Ab,pb,xa,Wa,cb,kb,ha,Ra,za,Cb,Db,
qb,Oa,qa,ub,Za,Ta,Pa,bb,vb,Gb,Fb=0,ab;this.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.__setDefaultConfig();Nc(d,c,g,{data:!0});c.includeInLegend=h(d.includeinlegend,1);c.legendSymbolColor=c.plotColor;p=c.showplotborder;N=c.plotborderdashlen;L=c.plotborderdashgap;na=c.plotfillalpha;X=c.useroundedges;Q=c.ratio;V=c.plotborderthickness;qb=c.showvalues;w=c.showtooltip;c.rotatevalues&&(c.rotatevalues=270);Oa=c.showalloutliers;c.plotfillAngle=T=h(360-k.plotfillangle,
90);c.plotColor=r=q(d.color,r);c.plotRadius=h(k.useroundedges,X?1:0);c.plotgradientcolor=ba=t.getDefinedColor(k.plotgradientcolor,m.getColor("plotGradientColor"));!v&&(ba=D);c.plotBorderAlpha=ga=p?q(k.plotborderalpha,na,Ha):0;c.plotBorderColor=Z=q(k.plotbordercolor,m.getColor("plotBorderColor"));c.plotBorderDashStyle=ja=u?Kb(N,L,V):"none";c.showShadow=X?h(k.showshadow,1):h(k.showshadow,m.getColor("showShadow"));c.showHoverEffect=Y=h(k.plothovereffect,k.showhovereffect,void 0);c.definedGroupPadding=
W(h(k.plotspacepercent),0);c.plotSpacePercent=W(h(k.plotspacepercent,20)%100,0);c.parentYAxis=Eb=q(d.parentyaxis&&d.parentyaxis.toLowerCase(),yb)===Ma?1:0;c.dataSeparator=yc;c.bwCalc=pa=new gb(void 0,va,c.dataSeparator);c.textDirection="1"===k.hasrtltext?"rtl":D;c.showMeanLegend=c.showSDLegend=c.showMDLegend=c.showQDLegend=c.showOutliersLegend=0;!this.components.data&&(this.components.data=[]);tc=this.components.data;for(tb=0;tb<l;tb++)if(O=b&&b[tb],R=(ca=tc[tb])&&ca.config,ca||(ca=tc[tb]={graphics:{}}),
ca.config||(R=tc[tb].config={}),O.value){O.value&&(pa.setArray(O.value),Ia=pa.getQuartiles(),Da=Ia.q1,Fa=Ia.q3,Ga=pa.getMinMax(),R.min=Ua=Ga.min,R.max=Ab=Ga.max,pb=pa.getMedian(),R.mean=xa=pa.getMean(),R.md=Wa=pa.getMD(),R.sd=cb=pa.getSD(),R.qd=kb=pa.getQD());O.outliers&&(R.outliers=O.outliers.split(","),Fb=W(Fb,R.outliers.length));R.showMean=Za=h(O.showmean,c.showmean);R.showSD=Ta=h(O.showsd,c.showsd);R.showMD=Pa=h(O.showmd,c.showmd);R.showQD=bb=h(O.showqd,c.showqd);O.outliers&&(c.showOutliersLegend=
1);Za&&(c.showMeanLegend=1);Ta&&(c.showSDLegend=1);Pa&&(c.showMDLegend=1);bb&&(c.showQDLegend=1);R.upperQuartile={value:Fa,color:aa(q(O.upperquartilecolor,d.upperquartilecolor,k.upperquartilecolor,k.plotbordercolor,m.getColor("plotBorderColor")),h(O.upperquartilealpha,d.upperquartilealpha,k.upperquartilealpha,k.plotborderalpha,100)),borderWidth:h(O.upperquartilethickness,d.upperquartilethickness,k.upperquartilethickness,k.plotborderthickness,X?0:1),displayValue:va.dataLabels(Fa)};R.lowerQuartile=
{value:Da,color:aa(q(O.lowerquartilecolor,d.lowerquartilecolor,k.lowerquartilecolor,k.plotbordercolor,m.getColor("plotBorderColor")),h(O.lowerquartilealpha,d.lowerquartilealpha,k.lowerquartilealpha,k.plotborderalpha,100)),borderWidth:h(O.lowerquartilethickness,d.lowerquartilethickness,k.lowerquartilethickness,k.plotborderthickness,X?0:1),displayValue:va.dataLabels(Da)};R.upperBoxBorder={color:aa(q(O.upperboxbordercolor,d.upperboxbordercolor,k.upperboxbordercolor,k.plotbordercolor,m.getColor("plotBorderColor")),
h(O.upperboxborderalpha,d.upperboxborderalpha,k.upperboxborderalpha,k.plotborderalpha,100)),borderWidth:h(O.upperboxborderthickness,d.upperboxborderthickness,k.upperboxborderthickness,!X&&k.plotborderthickness,X?0:1)};R.lowerBoxBorder={color:aa(q(O.lowerboxbordercolor,d.lowerboxbordercolor,k.lowerboxbordercolor,k.plotbordercolor,m.getColor("plotBorderColor")),h(O.lowerboxborderalpha,d.lowerboxborderalpha,k.lowerboxborderalpha,k.plotborderalpha,100)),borderWidth:h(O.lowerboxborderthickness,d.lowerboxborderthickness,
k.lowerboxborderthickness,!X&&k.plotborderthickness,X?0:1)};R.median={value:pb,color:aa(q(O.mediancolor,d.mediancolor,k.mediancolor,k.plotbordercolor,m.getColor("plotBorderColor")),h(O.medianalpha,d.medianalpha,k.medianalpha,k.plotborderalpha,100)),borderWidth:h(O.medianthickness,d.medianthickness,k.medianthickness,k.plotborderthickness,1),displayValue:va.dataLabels(pb)};c.upperBoxColor=ha=q(O.upperboxcolor,d.upperboxcolor,k.upperboxcolor,m.getPlotColor(2*n));Ra=c.upperBoxAlpha=q(O.upperboxalpha,
d.upperboxalpha,k.upperboxalpha,na,Ha);c.lowerBoxColor=za=q(O.lowerboxcolor,d.lowerboxcolor,k.lowerboxcolor,m.getPlotColor(2*n+1));Cb=c.lowerBoxAlpha=q(O.lowerboxalpha,d.lowerboxalpha,k.lowerboxalpha,na,Ha);R.upperColorArr=t.graphics.getColumnColor(ha,Ra,void 0,void 0,X,Z,ga.toString(),0,!1);R.lowerColorArr=t.graphics.getColumnColor(za,Cb,void 0,void 0,X,Z,ga.toString(),0,!1);R.showMinValues=qb?h(O.showminvalues,c.showminvalues):0;R.showMaxValues=qb?h(O.showmaxvalues,c.showmaxvalues):0;R.showQ1Values=
qb?h(O.showq1values,c.showq1values):0;R.showQ3Values=qb?h(O.showq3values,c.showq3values):0;R.showMedianValues=qb?h(O.showmedianvalues,c.showmedianvalues):0;R.upperWhiskerAlpha=Db=Wb(q(O.upperwhiskeralpha,d.upperwhiskeralpha,k.upperwhiskeralpha,k.plotborderalpha,100));R.upperWhiskerColor=aa(Ja(q(O.upperwhiskercolor,d.upperwhiskercolor,k.upperwhiskercolor,k.plotbordercolor,m.getColor("plotBorderColor"))),Db);R.upperWhiskerThickness=h(O.upperwhiskerthickness,d.upperwhiskerthickness,k.upperwhiskerthickness,
k.plotborderthickness,1);R.upperWhiskerShadowOpacity=c.showShadow?Db/250:0;R.lowerWhiskerAlpha=ub=Wb(q(O.lowerwhiskeralpha,d.lowerwhiskeralpha,k.lowerwhiskeralpha,k.plotborderalpha,100));R.lowerWhiskerColor=aa(Ja(q(O.lowerwhiskercolor,d.lowerwhiskercolor,k.lowerwhiskercolor,k.plotbordercolor,m.getColor("plotBorderColor"))),ub);R.lowerWhiskerThickness=h(O.lowerwhiskerthickness,d.lowerwhiskerthickness,k.lowerwhiskerthickness,k.plotborderthickness,1);R.lowerWhiskerShadowOpacity=c.showShadow?ub/250:0;
R.showValue=h(O.showvalue,c.showvalues);R.setValue=ia=va.getCleanValue(O.value);R.setLink=q(O.link);R.toolTipValue=Ea=va.dataLabels(ia,Eb);R.setDisplayValue=db=z(O.displayvalue);R.displayValue=q(db,Ea);kc=h(O.dashed);Kc=h(O.dashlen,N);Lc=L=h(O.dashgap,L);eb=W(eb,Ab);Ya=da(Ya,Ua);if(Oa&&O.outliers)for(ab=0;ab<R.outliers.length;ab++)eb=W(eb,R.outliers[ab]),Ya=da(Ya,R.outliers[ab]);R.plotBorderDashStyle=1===kc?Kb(Kc,Lc,V):0===kc?"none":ja;f?(r=m.getPlotColor(tb),r=q(O.color,r),Q=q(O.ratio,c.ratio)):
r=q(O.color,c.plotColor);na=q(O.alpha,c.plotfillalpha);0>ia&&!X&&(M=T,T=360-T);R.colorArr=t.graphics.getColumnColor(r+","+ba,na,Q,T,X,Z,ga.toString(),0,!1);R.label=wa=H(z(q(e[tb].tooltext,e[tb].label)));0!==Y&&(oa=q(O.upperboxhovercolor,d.upperboxhovercolor,k.upperboxhovercolor,ha),la=q(O.upperboxhoveralpha,d.upperboxhoveralpha,k.upperboxhoveralpha,Ra),ra=q(O.upperboxborderhovercolor,d.upperboxborderhovercolor,k.upperboxborderhovercolor,O.upperboxbordercolor,d.upperboxbordercolor,k.upperboxbordercolor,
k.plotbordercolor,m.getColor("plotBorderColor")),Ba=q(O.upperboxborderhoveralpha,d.upperboxborderhoveralpha,k.upperboxborderhoveralpha,O.upperboxborderalpha,d.upperboxborderalpha,k.upperboxborderalpha,k.plotborderalpha,100),ka=X?0:q(O.upperboxborderhoverthickness,d.upperboxborderhoverthickness,k.upperboxborderhoverthickness,R.upperBoxBorder.borderWidth),ua=q(O.lowerboxhovercolor,d.lowerboxhovercolor,k.lowerboxhovercolor,za),Aa=q(O.lowerboxhoveralpha,d.lowerboxhoveralpha,k.lowerboxhoveralpha,Cb),La=
q(O.lowerboxborderhovercolor,d.lowerboxborderhovercolor,k.lowerboxborderhovercolor,O.lowerboxbordercolor,d.lowerboxbordercolor,k.lowerboxbordercolor,k.plotbordercolor,m.getColor("plotBorderColor")),ea=q(O.lowerboxborderhoveralpha,d.lowerboxborderhoveralpha,k.lowerboxborderhoveralpha,O.lowerboxborderalpha,d.lowerboxborderalpha,k.lowerboxborderalpha,k.plotborderalpha,100),sa=X?0:q(O.lowerboxborderhoverthickness,d.lowerboxborderhoverthickness,k.lowerboxborderhoverthickness,R.lowerBoxBorder.borderWidth),
Ca=q(O.upperquartilehovercolor,d.upperquartilehovercolor,k.upperquartilehovercolor,O.upperquartilecolor,d.upperquartilecolor,k.upperquartilecolor,k.plotbordercolor,m.getColor("plotBorderColor")),Xa=q(O.upperquartilehoveralpha,d.upperquartilehoveralpha,k.upperquartilehoveralpha,O.upperquartilealpha,d.upperquartilealpha,k.upperquartilealpha,k.plotborderalpha,100),Ka=q(O.upperquartilehoverthickness,d.upperquartilehoverthickness,k.upperquartilehoverthickness,R.upperQuartile.borderWidth),Qa=q(O.lowerquartilehovercolor,
d.lowerquartilehovercolor,k.lowerquartilehovercolor,O.lowerquartilecolor,d.lowerquartilecolor,k.lowerquartilecolor,k.plotbordercolor,m.getColor("plotBorderColor")),Jc=q(O.lowerquartilehoveralpha,d.lowerquartilehoveralpha,k.lowerquartilehoveralpha,O.lowerquartilealpha,d.lowerquartilealpha,k.lowerquartilealpha,k.plotborderalpha,100),$a=q(O.lowerquartilehoverthickness,d.lowerquartilehoverthickness,k.lowerquartilehoverthickness,R.lowerQuartile.borderWidth),Na=q(O.medianhovercolor,d.medianhovercolor,k.medianhovercolor,
O.mediancolor,d.mediancolor,k.mediancolor,k.plotbordercolor,m.getColor("plotBorderColor")),Sa=q(O.medianhoveralpha,d.medianhoveralpha,k.medianhoveralpha,O.medianalpha,d.medianalpha,k.medianalpha,k.plotborderalpha,100),ya=q(O.medianhoverthickness,d.medianhoverthickness,k.medianhoverthickness,R.median.borderWidth),1==Y&&(ha===oa&&(oa=Ob(oa,70)),za===ua&&(ua=Ob(ua,70))),R.upperBoxHoverColorArr=t.graphics.getColumnColor(oa,la,void 0,void 0,X,Z,ga.toString(),0,!1),R.lowerBoxHoverColorArr=t.graphics.getColumnColor(ua,
Aa,void 0,void 0,X,Z,ga.toString(),0,!1),R.setUpperBoxRolloutAttr={fill:fa(R.upperColorArr[0])},R.setUpperBoxRolloverAttr={fill:fa(R.upperBoxHoverColorArr[0])},R.setLowerBoxRolloutAttr={fill:fa(R.lowerColorArr[0])},R.setLowerBoxRolloverAttr={fill:fa(R.lowerBoxHoverColorArr[0])},R.setUpperBoxBorderRolloverAttr={stroke:aa(ra,Ba),"stroke-width":ka},R.setUpperBoxBorderRolloutAttr={stroke:R.upperBoxBorder.color,"stroke-width":R.upperBoxBorder.borderWidth},R.setLowerBoxBorderRolloverAttr={stroke:aa(La,
ea),"stroke-width":sa},R.setLowerBoxBorderRolloutAttr={stroke:R.lowerBoxBorder.color,"stroke-width":R.lowerBoxBorder.borderWidth},R.setUpperQuartileRolloverAttr={stroke:aa(Ca,Xa),"stroke-width":Ka},R.setUpperQuartileRolloutAttr={stroke:R.upperQuartile.color,"stroke-width":R.upperQuartile.borderWidth},R.setLowerQuartileRolloverAttr={stroke:aa(Qa,Jc),"stroke-width":$a},R.setLowerQuartileRolloutAttr={stroke:R.lowerQuartile.color,"stroke-width":R.lowerQuartile.borderWidth},R.setMedianRolloverAttr={stroke:aa(Na,
Sa),"stroke-width":ya},R.setMedianRolloutAttr={stroke:R.median.color,"stroke-width":R.median.borderWidth});C=R.toolTipValue;E=H(z(q(O.tooltext,d.plottooltext,k.plottooltext)));w?null===C?G=!1:void 0!==E?(J=[1,2,3,4,5,6,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],I={maxValue:Ab,maxDataValue:va.dataLabels(Ab),minValue:Ua,minDataValue:va.dataLabels(Ua),Q1:va.dataLabels(Da),unformattedQ1:Da,Q3:va.dataLabels(Fa),unformattedQ3:Fa,median:va.dataLabels(pb),unformattedMedian:pb,SD:va.dataLabels(cb),
unformattedsd:cb,QD:va.dataLabels(kb),unformattedQD:kb,MD:va.dataLabels(Wa),unformattedMD:Wa,mean:va.dataLabels(xa),unformattedMean:xa,label:wa,yaxisName:A,xaxisName:B,formattedValue:C,value:wa},G=K(E,J,I,O,k,d)):G="<b>Maximum"+F+"</b>"+va.dataLabels(Ab)+"<br /><b>Q3"+F+"</b>"+va.dataLabels(Fa)+"<br /><b>Median"+F+"</b>"+va.dataLabels(pb)+"<br /><b>Q1"+F+"</b>"+va.dataLabels(Da)+"<br /><b>Minimum"+F+"</b>"+va.dataLabels(Ua):G=!1;R.toolText=G;R.setTooltext=G;M&&(T=M)}c.maxNumberOfOutliers=Fb;c.maxValue=
eb;c.minValue=Ya;Oa||(qa=eb-Ya,c.maxValue+=c.outliersupperrangeratio*qa,c.minValue-=c.outlierslowerrangeratio*qa);!1!==a.hasLegend&&this._addLegend();this.subDS=0;this.components.mean=this._createSubDS(0,"Mean");c.showMeanLegend&&this._addLegendSubDS(this.components.mean);c.showMeanLegend&&(this.subDS+=1);this.components.sd=this._createSubDS(1,"SD");c.showSDLegend&&this._addLegendSubDS(this.components.sd);c.showSDLegend&&(this.subDS+=1);this.components.md=this._createSubDS(2,"MD");c.showMDLegend&&
this._addLegendSubDS(this.components.md);c.showMDLegend&&(this.subDS+=1);this.components.qd=this._createSubDS(3,"QD");c.showQDLegend&&this._addLegendSubDS(this.components.qd);c.showQDLegend&&(this.subDS+=1);!this.components.outliers&&(this.components.outliers=[]);Gb=this.config.maxNumberOfOutliers||this.components.outliers.length;for(tb=0;tb<Gb;tb++)vb=this._createSubDS(4+tb,"Outliers",tb),this.components.outliers[tb]=vb;c.showOutliersLegend&&this._addLegendOutliers(this.components.outliers);c.showOutliersLegend&&
(this.subDS+=1)},_createSubDS:function(a,c,d){var b=this.chart,e=b.jsonData.dataset,f=e&&e.length,g=this.components,l,h,e=b.components.legend,k={},g=g.dataset||(g.dataset=[]),f=f*(a+1)+this.index;if(g[a])h=g[a],h.index=f,b=Y({},this.JSONData),h.JSONData=b;else if(l=FusionCharts.get("component",["dataset","subDS"]))void 0===k.subDS?k.subDS=0:k.subDS++,h=new l,h.chart=b,h.index=f,g.push(h),b=Y({},this.JSONData),this.initSubDataset(b,h),h.name=c;switch(a){case 0:this.configureMean(h);!this.config.showMeanLegend&&
e.removeItem(h.legendItemId);break;case 1:this.configureSD(h);!this.config.showQDLegend&&e.removeItem(h.legendItemId);break;case 2:this.configureMD(h);!this.config.showMDLegend&&e.removeItem(h.legendItemId);break;case 3:this.configureQD(h);!this.config.showQDLegend&&e.removeItem(h.legendItemId);break;default:this.configureOutliers(h,d),!this.config.showOutliersLegend&&e.removeItem(this.components.outliers.legendItemId)}return h},configureMean:function(a){var c=a.chart,d=c.components,b=t.parseUnsafeString,
e=a.config,f=a.JSONData,g=c.jsonData.chart,l=d.colorManager,k=a.index||a.stackIndex,m=a.type,n=!c.singleseries||H(g.palettecolors)?l.getPlotColor(k):l.getColor(u).split(/\s*\,\s*/)[0],k=f.data,p,r=c.config.categories,r=da(r&&r.length,k&&k.length),v=d.numberFormatter,z=c.use3dlineshift,A,B=-Infinity,D=Infinity,F,C,K=q(g.tooltipsepchar,": "),I=h(f.dashed,g.linedashed);C=c.isStacked;p=c.hasLineSet;d=d.xAxis[0];a.visible=1===h(a.JSONData.visible,!Number(a.JSONData.initiallyhidden),1);e.use3dlineshift=
void 0!==z?h(g.use3dlineshift,z):1;e.plotColor=n;e.legendSymbolColor=e.plotColor;c=h(c.defaultPlotShadow,l.getColor("showShadow"));e.drawFullAreaBorder=h(g.drawfullareaborder,1);e.parentYAxis=p?F=1:F=q(f.parentyaxis&&f.parentyaxis.toLowerCase(),yb)===Ma?1:0;e.connectNullData=h(g.connectnulldata,0);e.enableAnimation=l=h(g.animation,g.defaultanimation,1);e.animation=l?{duration:1E3*h(g.animationduration,1)}:!1;e.transposeanimation=h(g.transposeanimation,l);e.transposeanimduration=1E3*h(g.transposeanimduration,
.2);e.showValues=0;e.valuePadding=h(g.valuepadding,2);e.valuePosition=q(f.valueposition,g.valueposition,"auto");e.stack100Percent=l=h(g.stack100percent,0);e.showPercentValues=h(g.showpercentvalues,C&&l?1:0);e.showPercentInToolTip=h(g.showpercentintooltip,C&&l?1:0);e.showTooltip=h(g.showtooltip,1);e.seriesNameInTooltip=h(g.seriesnameintooltip,1);e.showHoverEffect=h(g.plothovereffect,g.anchorhovereffect,g.showhovereffect,void 0);e.rotateValues=h(g.rotatevalues)?270:0;e.linethickness=h(f.linethickness,
g.linethickness,1);e.lineDashLen=h(f.linedashlen,g.linedashlen,5);e.lineDashGap=h(f.linedashgap,g.linedashgap,4);e.drawLine=e.alpha=h(g.drawmeanconnector,f.drawmeanconnector,0)&&100;C=t.getDashStyle(e.lineDashLen,e.lineDashGap,e.linethickness);e.lineDashStyle=I?C:"none";e.shadow={opacity:h(g.showshadow,c)?m===w?e.alpha/100:e.plotBorderAlpha/100:0};e.drawAnchors=h(f.drawanchors,f.showanchors,g.drawanchors,g.showanchors);e.anchorBgColor=q(f.meaniconcolor,g.meaniconcolor,ca);e.anchorBorderColor=ca;e.anchorRadius=
h(f.meaniconradius,g.meaniconradius,5);e.anchorAlpha=q(f.alpha,f.meaniconalpha,g.meaniconalpha);e.anchorBgAlpha=q(f.meaniconalpha,g.meaniconalpha,100);e.anchorBorderThickness=q(f.anchorborderthickness,g.anchorborderthickness,1);e.anchorSides=q(f.meaniconsides,g.meaniconsides,3);e.linecolor=e.anchorBgColor;e.minimizeTendency=h(g.minimizetendency,g.minimisetendency,0);e.anchorImageUrl=q(f.anchorimageurl,g.anchorimageurl);e.anchorImageAlpha=h(f.anchorimagealpha,g.anchorimagealpha,100);e.anchorImageScale=
h(f.anchorimagescale,g.anchorimagescale,100);e.anchorImagePadding=h(f.anchorimagepadding,g.anchorimagepadding,1);e.anchorStartAngle=h(f.anchorstartangle,g.anchorstartangle,90);e.anchorShadow=h(f.anchorshadow,g.anchorshadow,0);!a.components.data&&(a.components.data=[]);c=a.components.data;for(n=0;n<r;n++)p=k&&k[n],m=c[n]=c[n]||{},m.config=m.config||{},l=m.config,z=this.components.data[n].config,p.value=z.showMean?z.mean:null,l.x=this.components.data[n]._xPos,l.setValue=z=v.getCleanValue(p.value),l.setLink=
q(p.link),l.anchorProps=this._parseAnchorProperties(n,a,"mean"),A=d.getLabel(n),l.label=t.getValidValue(b(q(A.tooltext,A.label,A.name))),l.showValue=0,l.dashed=h(p.dashed,I),l.color=q(p.color,e.lineColor),l.alpha=q(p.alpha,p.alpha,e.alpha),B=W(B,z),D=da(D,z),l.dashStyle=l.dashed?C:"none",l.toolTipValue=z=v.dataLabels(z,F),l.setDisplayValue=A=b(p.displayvalue),l.displayValue=q(A,z),l.formatedVal=l.toolTipValue,l.setTooltext=t.getValidValue(b(q(p.tooltext,f.plottooltext,g.plottooltext))),p=q(p.meaniconshape,
f.meaniconshape,g.meaniconshape,"polygon"),e.dip=l.dip="polygon"===p?0:"spoke"===p?1:0,p=e.showTooltip?"<b>Mean"+K+"</b>":!1,l.toolText=p,l.setTooltext=p,m?m.graphics||(c[n].graphics={}):c[n]={graphics:{}},l.hoverEffects={enabled:!1};e.maxValue=B;e.minValue=D},configureSD:function(a){var c=a.chart,d=c.components,b=t.parseUnsafeString,e=a.config,f=a.JSONData,g=c.jsonData.chart,l=d.colorManager,k=a.index||a.stackIndex,m=a.type,n=!c.singleseries||H(g.palettecolors)?l.getPlotColor(k):l.getColor(u).split(/\s*\,\s*/)[0],
k=f.data,p,r=c.config.categories,r=da(r&&r.length,k&&k.length),v=d.numberFormatter,z=c.use3dlineshift,A,B=-Infinity,D=Infinity,F,C,K=q(g.tooltipsepchar,": "),I=h(f.dashed,g.linedashed);C=c.isStacked;p=c.hasLineSet;d=d.xAxis[0];a.visible=1===h(a.JSONData.visible,!Number(a.JSONData.initiallyhidden),1);e.use3dlineshift=void 0!==z?h(g.use3dlineshift,z):1;e.plotColor=n;e.legendSymbolColor=e.plotColor;c=h(c.defaultPlotShadow,l.getColor("showShadow"));e.drawFullAreaBorder=h(g.drawfullareaborder,1);e.parentYAxis=
p?F=1:F=q(f.parentyaxis&&f.parentyaxis.toLowerCase(),yb)===Ma?1:0;e.connectNullData=h(g.connectnulldata,0);e.enableAnimation=l=h(g.animation,g.defaultanimation,1);e.animation=l?{duration:1E3*h(g.animationduration,1)}:!1;e.transposeanimation=h(g.transposeanimation,l);e.transposeanimduration=1E3*h(g.transposeanimduration,.2);e.showValues=0;e.valuePadding=h(g.valuepadding,2);e.valuePosition=q(f.valueposition,g.valueposition,"auto");e.stack100Percent=l=h(g.stack100percent,0);e.showPercentValues=h(g.showpercentvalues,
C&&l?1:0);e.showPercentInToolTip=h(g.showpercentintooltip,C&&l?1:0);e.showTooltip=h(g.showtooltip,1);e.seriesNameInTooltip=h(g.seriesnameintooltip,1);e.showHoverEffect=h(g.plothovereffect,g.anchorhovereffect,g.showhovereffect,void 0);e.rotateValues=h(g.rotatevalues)?270:0;e.linethickness=h(f.linethickness,g.linethickness,1);e.lineDashLen=h(f.linedashlen,g.linedashlen,5);e.lineDashGap=h(f.linedashgap,g.linedashgap,4);e.drawLine=e.alpha=h(g.drawsdconnector,f.drawsdconnector,0)&&100;C=t.getDashStyle(e.lineDashLen,
e.lineDashGap,e.linethickness);e.lineDashStyle=I?C:"none";e.shadow={opacity:h(g.showshadow,c)?m===w?e.alpha/100:e.plotBorderAlpha/100:0};e.drawAnchors=h(f.drawanchors,f.showanchors,g.drawanchors,g.showanchors);e.anchorBgColor=q(f.sdiconcolor,g.sdiconcolor,ca);e.anchorBorderColor=ca;e.anchorRadius=h(f.sdiconradius,g.sdiconradius,5);e.anchorAlpha=q(f.alpha,f.sdiconalpha,g.sdiconalpha);e.anchorBgAlpha=q(f.sdiconalpha,g.sdiconalpha,100);e.anchorBorderThickness=q(f.anchorborderthickness,g.anchorborderthickness,
1);e.anchorSides=q(f.sdiconsides,g.sdiconsides,3);e.linecolor=e.anchorBgColor;e.minimizeTendency=h(g.minimizetendency,g.minimisetendency,0);e.anchorImageUrl=q(f.anchorimageurl,g.anchorimageurl);e.anchorImageAlpha=h(f.anchorimagealpha,g.anchorimagealpha,100);e.anchorImageScale=h(f.anchorimagescale,g.anchorimagescale,100);e.anchorImagePadding=h(f.anchorimagepadding,g.anchorimagepadding,1);e.anchorStartAngle=h(f.anchorstartangle,g.anchorstartangle,90);e.anchorShadow=h(f.anchorshadow,g.anchorshadow,0);
!a.components.data&&(a.components.data=[]);c=a.components.data;for(n=0;n<r;n++)p=k&&k[n],m=c[n]=c[n]||{},m.config=m.config||{},l=m.config,z=this.components.data[n].config,p.value=z.showSD?z.sd:null,l.x=this.components.data[n]._xPos,l.setValue=z=v.getCleanValue(p.value),l.setLink=q(p.link),l.anchorProps=this._parseAnchorProperties(n,a,"sd"),A=d.getLabel(n),l.label=t.getValidValue(b(q(A.tooltext,A.label,A.name))),l.showValue=0,l.dashed=h(p.dashed,I),l.color=q(p.color,e.lineColor),l.alpha=q(p.alpha,
p.alpha,e.alpha),B=W(B,z),D=da(D,z),l.dashStyle=l.dashed?C:"none",l.toolTipValue=z=v.dataLabels(z,F),l.setDisplayValue=A=b(p.displayvalue),l.displayValue=q(A,z),l.formatedVal=z=l.toolTipValue,l.setTooltext=t.getValidValue(b(q(p.tooltext,f.plottooltext,g.plottooltext))),p=q(p.sdiconshape,f.sdiconshape,g.sdiconshape,"polygon"),e.dip=l.dip="polygon"===p?0:"spoke"===p?1:0,p=e.showTooltip?null===z?!1:"<b>SD"+K+"</b>":!1,l.toolText=p,l.setTooltext=p,m?m.graphics||(c[n].graphics={}):c[n]={graphics:{}},l.hoverEffects=
{enabled:!1};e.maxValue=B;e.minValue=D},configureMD:function(a){var c=a.chart,d=c.components,b=t.parseUnsafeString,e=a.config,f=a.JSONData,g=c.jsonData.chart,l=d.colorManager,k=a.index||a.stackIndex,m=a.type,n=!c.singleseries||H(g.palettecolors)?l.getPlotColor(k):l.getColor(u).split(/\s*\,\s*/)[0],k=f.data,p,r=c.config.categories,r=da(r&&r.length,k&&k.length),v=d.numberFormatter,z=c.use3dlineshift,A,B=-Infinity,D=Infinity,F,C,K=q(g.tooltipsepchar,": "),I=h(f.dashed,g.linedashed);C=c.isStacked;p=c.hasLineSet;
d=d.xAxis[0];a.visible=1===h(a.JSONData.visible,!Number(a.JSONData.initiallyhidden),1);e.use3dlineshift=void 0!==z?h(g.use3dlineshift,z):1;e.plotColor=n;e.legendSymbolColor=e.plotColor;c=h(c.defaultPlotShadow,l.getColor("showShadow"));e.drawFullAreaBorder=h(g.drawfullareaborder,1);e.parentYAxis=p?F=1:F=q(f.parentyaxis&&f.parentyaxis.toLowerCase(),yb)===Ma?1:0;e.connectNullData=h(g.connectnulldata,0);e.enableAnimation=l=h(g.animation,g.defaultanimation,1);e.animation=l?{duration:1E3*h(g.animationduration,
1)}:!1;e.transposeanimation=h(g.transposeanimation,l);e.transposeanimduration=1E3*h(g.transposeanimduration,.2);e.showValues=0;e.valuePadding=h(g.valuepadding,2);e.valuePosition=q(f.valueposition,g.valueposition,"auto");e.stack100Percent=l=h(g.stack100percent,0);e.showPercentValues=h(g.showpercentvalues,C&&l?1:0);e.showPercentInToolTip=h(g.showpercentintooltip,C&&l?1:0);e.showTooltip=h(g.showtooltip,1);e.seriesNameInTooltip=h(g.seriesnameintooltip,1);e.showHoverEffect=h(g.plothovereffect,g.anchorhovereffect,
g.showhovereffect,void 0);e.rotateValues=h(g.rotatevalues)?270:0;e.linethickness=h(f.linethickness,g.linethickness,1);e.lineDashLen=h(f.linedashlen,g.linedashlen,5);e.lineDashGap=h(f.linedashgap,g.linedashgap,4);e.drawLine=e.alpha=h(g.drawmdconnector,f.drawmdconnector,0)&&100;C=t.getDashStyle(e.lineDashLen,e.lineDashGap,e.linethickness);e.lineDashStyle=I?C:"none";e.shadow={opacity:h(g.showshadow,c)?m===w?e.alpha/100:e.plotBorderAlpha/100:0};e.drawAnchors=h(f.drawanchors,f.showanchors,g.drawanchors,
g.showanchors);e.anchorBgColor=q(f.mdiconcolor,g.mdiconcolor,ca);e.anchorBorderColor=ca;e.anchorRadius=h(f.mdiconradius,g.mdiconradius,5);e.anchorAlpha=q(f.alpha,f.mdiconalpha,g.mdiconalpha);e.anchorBgAlpha=q(f.mdiconalpha,g.mdiconalpha,100);e.anchorBorderThickness=q(f.anchorborderthickness,g.anchorborderthickness,1);e.anchorSides=q(f.mdiconsides,g.mdiconsides,3);e.linecolor=e.anchorBgColor;e.minimizeTendency=h(g.minimizetendency,g.minimisetendency,0);e.anchorImageUrl=q(f.anchorimageurl,g.anchorimageurl);
e.anchorImageAlpha=h(f.anchorimagealpha,g.anchorimagealpha,100);e.anchorImageScale=h(f.anchorimagescale,g.anchorimagescale,100);e.anchorImagePadding=h(f.anchorimagepadding,g.anchorimagepadding,1);e.anchorStartAngle=h(f.anchorstartangle,g.anchorstartangle,90);e.anchorShadow=h(f.anchorshadow,g.anchorshadow,0);!a.components.data&&(a.components.data=[]);c=a.components.data;for(n=0;n<r;n++)p=k&&k[n],m=c[n]=c[n]||{},m.config=m.config||{},l=m.config,z=this.components.data[n].config,p.value=z.showMD?z.md:
null,l.x=this.components.data[n]._xPos,l.setValue=z=v.getCleanValue(p.value),l.setLink=q(p.link),l.anchorProps=this._parseAnchorProperties(n,a,"md"),A=d.getLabel(n),l.label=t.getValidValue(b(q(A.tooltext,A.label,A.name))),l.showValue=0,l.dashed=h(p.dashed,I),l.color=q(p.color,e.lineColor),l.alpha=q(p.alpha,p.alpha,e.alpha),B=W(B,z),D=da(D,z),l.dashStyle=l.dashed?C:"none",l.toolTipValue=z=v.dataLabels(z,F),l.setDisplayValue=A=b(p.displayvalue),l.displayValue=q(A,z),l.formatedVal=l.toolTipValue,l.setTooltext=
t.getValidValue(b(q(p.tooltext,f.plottooltext,g.plottooltext))),p=q(p.mdiconshape,f.mdiconshape,g.mdiconshape,"polygon"),e.dip=l.dip="polygon"===p?0:"spoke"===p?1:0,p=e.showTooltip?"<b>MD"+K+"</b>":!1,l.toolText=p,l.setTooltext=p,m?m.graphics||(c[n].graphics={}):c[n]={graphics:{}},l.hoverEffects={enabled:!1};e.maxValue=B;e.minValue=D},configureQD:function(a){var c=a.chart,d=c.components,b=t.parseUnsafeString,e=a.config,f=a.JSONData,g=c.jsonData.chart,l=d.colorManager,k=a.index||a.stackIndex,n=a.type,
m=!c.singleseries||H(g.palettecolors)?l.getPlotColor(k):l.getColor(u).split(/\s*\,\s*/)[0],k=f.data,p,r=c.config.categories,r=da(r&&r.length,k&&k.length),v=d.numberFormatter,z=c.use3dlineshift,A,B=-Infinity,D=Infinity,F,C,K=q(g.tooltipsepchar,": "),I=h(f.dashed,g.linedashed);C=c.isStacked;p=c.hasLineSet;d=d.xAxis[0];a.visible=1===h(a.JSONData.visible,!Number(a.JSONData.initiallyhidden),1);e.use3dlineshift=void 0!==z?h(g.use3dlineshift,z):1;e.plotColor=m;e.legendSymbolColor=e.plotColor;c=h(c.defaultPlotShadow,
l.getColor("showShadow"));e.drawFullAreaBorder=h(g.drawfullareaborder,1);e.parentYAxis=p?F=1:F=q(f.parentyaxis&&f.parentyaxis.toLowerCase(),yb)===Ma?1:0;e.connectNullData=h(g.connectnulldata,0);e.enableAnimation=l=h(g.animation,g.defaultanimation,1);e.animation=l?{duration:1E3*h(g.animationduration,1)}:!1;e.transposeanimation=h(g.transposeanimation,l);e.transposeanimduration=1E3*h(g.transposeanimduration,.2);e.showValues=0;e.valuePadding=h(g.valuepadding,2);e.valuePosition=q(f.valueposition,g.valueposition,
"auto");e.stack100Percent=l=h(g.stack100percent,0);e.showPercentValues=h(g.showpercentvalues,C&&l?1:0);e.showPercentInToolTip=h(g.showpercentintooltip,C&&l?1:0);e.showTooltip=h(g.showtooltip,1);e.seriesNameInTooltip=h(g.seriesnameintooltip,1);e.showHoverEffect=h(g.plothovereffect,g.anchorhovereffect,g.showhovereffect,void 0);e.rotateValues=h(g.rotatevalues)?270:0;e.linethickness=h(f.linethickness,g.linethickness,1);e.lineDashLen=h(f.linedashlen,g.linedashlen,5);e.lineDashGap=h(f.linedashgap,g.linedashgap,
4);e.drawLine=e.alpha=h(g.drawqdconnector,f.drawqdconnector,0)&&100;C=t.getDashStyle(e.lineDashLen,e.lineDashGap,e.linethickness);e.lineDashStyle=I?C:"none";e.shadow={opacity:h(g.showshadow,c)?n===w?e.alpha/100:e.plotBorderAlpha/100:0};e.drawAnchors=h(f.drawanchors,f.showanchors,g.drawanchors,g.showanchors);e.anchorBgColor=q(f.qdiconcolor,g.qdiconcolor,ca);e.anchorBorderColor=ca;e.anchorRadius=h(f.qdiconradius,g.qdiconradius,5);e.anchorAlpha=q(f.alpha,f.qdiconalpha,g.qdiconalpha);e.anchorBgAlpha=
q(f.qdiconalpha,g.qdiconalpha,100);e.anchorBorderThickness=q(f.anchorborderthickness,g.anchorborderthickness,1);e.anchorSides=q(f.qdiconsides,g.qdiconsides,3);e.linecolor=e.anchorBgColor;e.minimizeTendency=h(g.minimizetendency,g.minimisetendency,0);e.anchorImageUrl=q(f.anchorimageurl,g.anchorimageurl);e.anchorImageAlpha=h(f.anchorimagealpha,g.anchorimagealpha,100);e.anchorImageScale=h(f.anchorimagescale,g.anchorimagescale,100);e.anchorImagePadding=h(f.anchorimagepadding,g.anchorimagepadding,1);e.anchorStartAngle=
h(f.anchorstartangle,g.anchorstartangle,90);e.anchorShadow=h(f.anchorshadow,g.anchorshadow,0);!a.components.data&&(a.components.data=[]);c=a.components.data;for(m=0;m<r;m++)p=k&&k[m],n=c[m]=c[m]||{},n.config=n.config||{},l=n.config,z=this.components.data[m].config,p.value=z.showQD?z.qd:null,l.x=this.components.data[m]._xPos,l.setValue=z=v.getCleanValue(p.value),l.setLink=q(p.link),l.anchorProps=this._parseAnchorProperties(m,a,"qd"),A=d.getLabel(m),l.label=t.getValidValue(b(q(A.tooltext,A.label,A.name))),
l.showValue=0,l.dashed=h(p.dashed,I),l.color=q(p.color,e.lineColor),l.alpha=q(p.alpha,p.alpha,e.alpha),B=W(B,z),D=da(D,z),l.dashStyle=l.dashed?C:"none",l.toolTipValue=z=v.dataLabels(z,F),l.setDisplayValue=A=b(p.displayvalue),l.displayValue=q(A,z),l.formatedVal=z=l.toolTipValue,l.setTooltext=t.getValidValue(b(q(p.tooltext,f.plottooltext,g.plottooltext))),p=q(p.qdiconshape,f.qdiconshape,g.qdiconshape,"polygon"),e.dip=l.dip="polygon"===p?0:"spoke"===p?1:0,p=e.showTooltip?null===z?!1:"<b>QD"+K+"</b>":
!1,l.toolText=p,l.setTooltext=p,n?n.graphics||(c[m].graphics={}):c[m]={graphics:{}},l.hoverEffects={enabled:!1};e.maxValue=B;e.minValue=D},configureOutliers:function(a,c){var d=a.chart,b=d.components,e=t.parseUnsafeString,f=a.config,g=a.JSONData,l=d.jsonData.chart,k=b.colorManager,m=a.index||a.stackIndex,n=a.type,p=!d.singleseries||H(l.palettecolors)?k.getPlotColor(m):k.getColor(u).split(/\s*\,\s*/)[0],m=g.data,r,v=d.config.categories,v=da(v&&v.length,m&&m.length),z=b.numberFormatter,A=d.use3dlineshift,
B,D=-Infinity,F=Infinity,C,K,I=q(l.tooltipsepchar,": "),J=h(g.dashed,l.linedashed);K=d.isStacked;r=d.hasLineSet;b=b.xAxis[0];a.visible=1===h(a.JSONData.visible,!Number(a.JSONData.initiallyhidden),1);f.use3dlineshift=void 0!==A?h(l.use3dlineshift,A):1;f.plotColor=p;f.legendSymbolColor=f.plotColor;d=h(d.defaultPlotShadow,k.getColor("showShadow"));f.drawFullAreaBorder=h(l.drawfullareaborder,1);f.parentYAxis=r?C=1:C=q(g.parentyaxis&&g.parentyaxis.toLowerCase(),yb)===Ma?1:0;f.connectNullData=h(l.connectnulldata,
0);f.enableAnimation=k=h(l.animation,l.defaultanimation,1);f.animation=k?{duration:1E3*h(l.animationduration,1)}:!1;f.transposeanimation=h(l.transposeanimation,k);f.transposeanimduration=1E3*h(l.transposeanimduration,.2);f.showValues=0;f.valuePadding=h(l.valuepadding,2);f.valuePosition=q(g.valueposition,l.valueposition,"auto");f.stack100Percent=k=h(l.stack100percent,0);f.showPercentValues=h(l.showpercentvalues,K&&k?1:0);f.showPercentInToolTip=h(l.showpercentintooltip,K&&k?1:0);f.showTooltip=h(l.showtooltip,
1);f.seriesNameInTooltip=h(l.seriesnameintooltip,1);f.showHoverEffect=h(l.plothovereffect,l.anchorhovereffect,l.showhovereffect,void 0);f.rotateValues=h(l.rotatevalues)?270:0;f.linethickness=h(g.linethickness,l.linethickness,1);f.lineDashLen=h(g.linedashlen,l.linedashlen,5);f.lineDashGap=h(g.linedashgap,l.linedashgap,4);f.alpha=0;K=t.getDashStyle(f.lineDashLen,f.lineDashGap,f.linethickness);f.lineDashStyle=J?K:"none";f.shadow={opacity:h(l.showshadow,d)?n===w?f.alpha/100:f.plotBorderAlpha/100:0};f.drawAnchors=
h(g.drawanchors,g.showanchors,l.drawanchors,l.showanchors);f.anchorBgColor=q(g.outliericoncolor,l.outliericoncolor,ca);f.anchorBorderColor=ca;f.anchorRadius=h(g.outliericonradius,l.outliericonradius,5);f.anchorAlpha=q(g.alpha,g.outliericonalpha,l.outliericonalpha);f.anchorBgAlpha=q(g.outliericonalpha,l.outliericonalpha,100);f.anchorBorderThickness=q(g.anchorborderthickness,l.anchorborderthickness,1);f.anchorSides=q(g.outliericonsides,l.outliericonsides,3);f.linecolor=f.anchorBgColor;f.minimizeTendency=
h(l.minimizetendency,l.minimisetendency,0);f.anchorImageUrl=q(g.anchorimageurl,l.anchorimageurl);f.anchorImageAlpha=h(g.anchorimagealpha,l.anchorimagealpha,100);f.anchorImageScale=h(g.anchorimagescale,l.anchorimagescale,100);f.anchorImagePadding=h(g.anchorimagepadding,l.anchorimagepadding,1);f.anchorStartAngle=h(g.anchorstartangle,l.anchorstartangle,90);f.anchorShadow=h(g.anchorshadow,l.anchorshadow,0);!a.components.data&&(a.components.data=[]);d=a.components.data;for(p=0;p<v;p++)r=m&&m[p],n=d[p]=
d[p]||{},n.config=n.config||{},k=n.config,B=this.components.data[p].config,r.value=B.outliers?B.outliers[c]:null,k.x=this.components.data[p]._xPos,k.setValue=A=z.getCleanValue(r.value),A>=B.min&&A<=B.max&&(k.setValue=r.value=null),k.setLink=q(r.link),k.anchorProps=this._parseAnchorProperties(p,a,"outlier"),B=b.getLabel(p),k.label=t.getValidValue(e(q(B.tooltext,B.label,B.name))),k.showValue=0,k.dashed=h(r.dashed,J),k.color=q(r.color,f.lineColor),k.alpha=q(r.alpha,r.alpha,f.alpha),D=W(D,A),F=da(F,A),
k.dashStyle=k.dashed?K:"none",k.toolTipValue=A=z.dataLabels(A,C),k.setDisplayValue=B=e(r.displayvalue),k.displayValue=q(B,A),k.formatedVal=A=k.toolTipValue,k.setTooltext=t.getValidValue(e(q(r.tooltext,g.plottooltext,l.plottooltext))),r=q(r.outliericonshape,g.outliericonshape,l.outliericonshape,"polygon"),f.dip=k.dip="polygon"===r?0:"spoke"===r?1:0,r=f.showTooltip?null===A?!1:"<b>Outlier"+I+"</b>":!1,k.toolText=r,k.setTooltext=r,n?n.graphics||(d[p].graphics={}):d[p]={graphics:{}},k.hoverEffects={enabled:!1};
f.maxValue=D;f.minValue=F},initSubDataset:function(a,c){var d=c.chart,b=d.components,e=d.hasLineSet,e=a.parentyaxis&&a.parentyaxis.toLowerCase()===Ma||e?1:0;c.chart=d;c.yAxis=b.yAxis[e];c.components={};c.graphics={};c.JSONData=a},_parseAnchorProperties:function(a,c,d){var b=c.config,e="area"===c.type?0:1,f=c.JSONData,g=c.chart.jsonData.chart;a=f.data[a];c={};var l=t.graphics.mapSymbolName,f=void 0!==q(a.anchorstartangle,f.anchorstartangle,g.anchorstartangle,a.anchorimagealpha,f.anchorimagealpha,g.anchorimagealpha,
a.anchorimagescale,f.anchorimagescale,g.anchorimagescale,a.anchorimagepadding,f.anchorimagepadding,g.anchorimagepadding,a.anchorimageurl,f.anchorimageurl,g.anchorimageurl,a.meaniconradius,f.meaniconradius,g.meaniconradius,a.meaniconcolor,f.meaniconcolor,g.meaniconcolor,a.anchorbordercolor,f.anchorbordercolor,g.anchorbordercolor,a.anchoralpha,f.anchoralpha,g.anchoralpha,a.meaniconsides,f.meaniconsides,g.meaniconsides,a.anchorborderthickness,f.anchorborderthickness,g.anchorborderthickness,void 0),g=
h(a.drawanchors,b.drawAnchors);c.enabled=f?h(g,f):h(g,e);c.startAngle=h(a.anchorstartangle,b.anchorStartAngle);c.imageAlpha=h(a.anchorimagealpha,b.anchorImageAlpha);c.imageScale=h(a.anchorimagescale,b.anchorImageScale);c.imagePadding=h(a.anchorimagepadding,b.anchorImagePadding);0>c.imagePadding&&(c.imagePadding=0);c.imageUrl=q(a.anchorimageurl,b.anchorImageUrl);c.radius=h(a[d+"iconradius"],b.anchorRadius);c.isAnchorRadius=c.radius;c.bgColor=q(a[d+"iconcolor"],b.anchorBgColor);e=c.enabled?Wb(q(a.anchoralpha,
b.anchorAlpha,c.enabled?Ha:cb)):0;c.bgAlpha=Wb(q(a[d+"iconalpha"],b.meaniconalpha,e));c.borderColor=q(a.anchorbordercolor,b.anchorBorderColor);c.borderAlpha=e;c.sides=q(a[d+"iconsides"],b.anchorSides);c.borderThickness=q(a.anchorborderthickness,b.anchorBorderThickness);c.symbol=l(c.sides).split(B);c.shadow=h(a.anchorshadow,b.anchorShadow)&&1<=c.radius?{opacity:e/100}:!1;return c},init:function(a){var c=this.chart,d=c.components,b=a.parentyaxis&&a.parentyaxis.toLowerCase()===Ma?1:0,d=d.yAxis[b];if(!a)return!1;
this.JSONData=a;this.yAxis=d;this.chartGraphics=c.chartGraphics;this.components={};this.graphics={};this.configure()},draw:function(){var a,c,d,b,e,f,g,l=this,q=l.JSONData,t=l.config,y=l.groupManager,p=l.index,v=l.chart.config.categories,u=q.data,w=v&&v.length,z=u&&u.length,F,C,I,H=l.visible,K=l.chart,J=K.config,M=K.components.paper,E=K.components.xAxis[0],Va=l.yAxis,Y=K.graphics.columnGroup,G,N,L=K.graphics,ba=t.showtooltip,aa=K.get(ga,X),ca=aa.animType,T=aa.animObj,na=aa.dummyObj,Q=aa.duration,
ra=E.getAxisPosition(0),Ic=E.getAxisPosition(1)-ra,ua=t.definedGroupPadding,Ba=t.plotSpacePercent/200,O=y.getDataSetPosition(l),Ma=t.maxcolwidth,Ha=(1-.01*ua)*Ic||da(Ic*(1-2*Ba),1*Ma),R=h(O.columnWidth,Ha/1),wa,Aa=O.xPosOffset||0,la=O.height,sa,Ja=l.components.data,ka,pa,Ca,La,ea,Xa,Ka=Va.getAxisBase(),Ya,Qa,$a=t.showShadow,Da=l.graphics.upperBoxContainer,Fa=l.graphics.lowerBoxContainer,Na=l.graphics.medianContainer,Sa=l.graphics.upperWhiskerContainer,ya=l.graphics.lowerWhiskerContainer,Kb=l.graphics.dataLabelContainer,
Ea=l.graphics.shadowContainer,va,db,Ia,Eb,kc,Ga,xa,tb,eb,cb,Ra,Oa,ab,Za,Ta,Pa,Ua,Ab,pb,bb,Wa,yb,kb,ha=K.config.dataLabelStyle,Bb=L.datalabelsGroup,za=t.rotatevalues,Cb=t.valuepadding,Db=K.components.numberFormatter,qb=za?Ec:"middle",rb=K.linkedItems.smartLabel,qa,ub,wb,uc,sb,lb,vb,Gb,Fb,nb,hb,xb,mb,fb,zb,Ib=Infinity,ib,Jb,Hb=!0,Tb=(l.components.removeDataArr||[]).length,Ob,Pb,Qb,Rb,Ub,Vb,Wb,Yb,Zb,ec,fc,gc=t.showHoverEffect,Lb,Mb,ac,bc,cc,dc,hc=function(a){Z.call(this,K,a)},ic=function(a){return function(b){var c;
if(0!==this.data(ia))for(c in a)"label"!==c&&(a[c].attr(this.data("setRolloverAttr")[c]),Z.call(this,K,b,"DataPlotRollOver"))}},jc=function(a){return function(b){var c;if(0!==this.data(ia))for(c in a)"label"!==c&&(a[c].attr(this.data("setRolloutAttr")[c]),Z.call(this,K,b,"DataPlotRollOut"))}},Nb=function(){!1!==l.visible||!1!==l._conatinerHidden&&void 0!==l._conatinerHidden||(Da.hide(),Fa.hide(),Sa.hide(),ya.hide(),Na.hide(),Ea.hide(),Kb&&Kb.hide(),l._conatinerHidden=!0)};Kb||(Kb=l.graphics.dataLabelContainer=
M.group(Xb,Bb),H||Kb.hide());Da||(Da=l.graphics.upperBoxContainer=M.group("upperBox",Y).trackTooltip(!0).toBack(),H||Da.hide());Sa||(Sa=l.graphics.upperWhiskerContainer=M.group("upperWhisker",Y).trackTooltip(!0),H||Sa.hide());Fa||(Fa=l.graphics.lowerBoxContainer=M.group("lowerBox",Y).trackTooltip(!0).toBack(),H||Fa.hide());ya||(ya=l.graphics.lowerWhiskerContainer=M.group("lowerWhisker",Y).trackTooltip(!0),H||ya.hide());Na||(Na=l.graphics.medianContainer=M.group("median",Y).trackTooltip(!0),H||Na.hide());
Ea||(Ea=l.graphics.shadowContainer=M.group($b,Y).toBack(),H||Ea.hide());H&&(Da.show(),Fa.show(),Sa.show(),ya.show(),Na.show(),Ea.show(),Kb&&Kb.show(),l._conatinerHidden=!1,l.components.mean.visible&&l.components.mean.show(),l.components.sd.visible&&l.components.sd.show(),l.components.qd.visible&&l.components.qd.show(),l.components.md.visible&&l.components.md.show());F=da(w,z);for(I=0;I<F;I++)if(Ca=(ea=(ka=Ja[I])&&ka.config)&&ea.setValue,Zb=Yb=Wb=Vb=Ub=Rb=Qb=Pb=Ob=!1,void 0!==ka&&void 0!==Ca&&null!==
Ca)for(qa=ka.graphics,Xa=0<=Ca,pa=ea.setLink,ka.graphics||(Ja[I].graphics={}),qa.label||(Ja[I].graphics.label=[]),Ya=Xa?ea.previousPositiveY:ea.previousNegativeY,Qa=Va.getAxisPosition(Ya||Ka),G=E.getAxisPosition(I)+Aa,0===la&&(Ib=0,ib=Qa),N=da(N,Qa),wa=R,Ia=((db=(va=ea.upperQuartile||{},va.value))||0===db)&&Va.getAxisPosition(db),Ga=((kc=(Eb=ea.lowerQuartile||{},Eb.value))||0===kc)&&Va.getAxisPosition(kc),eb=((tb=(xa=ea.median)&&xa.value)||0===tb)&&Va.getAxisPosition(tb),cb=eb-Ia,Ra=Ga-eb,Oa=ea.upperBoxBorder||
{},ab=ea.lowerBoxBorder||{},sa=ea.toolText,ub=l.index+B+I,La={index:I,link:pa,maximum:ea.max,minimum:ea.min,median:tb,q3:va.value,q1:Eb.value,maxDisplayValue:ea.showMaxValues?Db.dataLabels(ea.max):D,minDisplayValue:ea.showMinValues?Db.dataLabels(ea.min):D,medianDisplayValue:ea.showMedianValues?Db.dataLabels(tb):D,q1DisplayValue:ea.showQ1Values?Db.dataLabels(Eb.value):D,q3DisplayValue:ea.showQ3Values?Db.dataLabels(va.value):D,categoryLabel:ea.label,toolText:sa,datasetIndex:p,datasetName:q.seriesname,
visible:H},Wa=ja(G)+Oa.borderWidth%2*.5,yb=ja(G+wa)+Oa.borderWidth%2*.5,kb=ja(Ia)+va.borderWidth%2*.5,wa=yb-Wa,a={fill:fa(ea.upperColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:pa?"pointer":D,ishot:!0,visibility:H},c={fill:fa(ea.lowerColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:pa?"pointer":A,ishot:!0,visibility:H},d={stroke:Oa.color,"stroke-width":Oa.borderWidth,"stroke-linecap":V,dashstyle:Oa.dashStyle,ishot:!0,visibility:H},b={stroke:ab.color,"stroke-width":ab.borderWidth,
dashstyle:ab.dashStyle,"stroke-linecap":V,ishot:!0,visibility:H},e={stroke:fa(va.color),"stroke-width":va.borderWidth,"stroke-dasharray":va.dashSyle,"stroke-linecap":V,cursor:pa?"pointer":A,ishot:!0,visibility:H},f={stroke:fa(Eb.color),"stroke-width":Eb.borderWidth,"stroke-dasharray":Eb.dashSyle,cursor:pa?"pointer":D,"stroke-linecap":V,ishot:!0,visibility:H},g={stroke:fa(xa.color),"stroke-width":xa.borderWidth,"stroke-dasharray":xa.dashSyle,cursor:pa?"pointer":D,"stroke-linecap":V,ishot:!0,visibility:H},
ac=ib||kb,C={x:Wa,y:ib||kb,width:W(wa,0),height:W(da(Ib,cb),0),r:0},(Za=ka.graphics.upperBoxElem)?(Za.animateWith(na,T,C,Q,ca,Hb&&Nb),Hb=!1):(Za=ka.graphics.upperBoxElem=M.rect(C,Da),Ob=!0),Za.attr(a).shadow({opacity:$a?t.upperBoxAlpha/100:0},Ea),C={path:["M",Wa,ib||kb,"V",ib||kb+cb,"M",yb,ib||kb,"V",ib||kb+cb]},(Ta=ka.graphics.upperBoxBorderEle)?Ta.animateWith(na,T,C,Q,ca,Hb&&Nb):(Ta=ka.graphics.upperBoxBorderEle=M.path(C,Da),Qb=!0),Ta.attr(d),C={path:["M",Wa,ib||kb,"H",Wa+wa]},(Pa=ka.graphics.upperQuartileEle)?
Pa.animateWith(na,T,C,Q,ca,Hb&&Nb):(Pa=ka.graphics.upperQuartileEle=M.path(C,Da),Ub=!0),Pa.attr(e),wb=kb,uc=t.whiskerslimitswidthratio/100*wa,sb=uc/2,Gb=lb=Va.getAxisPosition(ea.max),vb=Wa,Gb=ja(lb)+ea.upperWhiskerThickness%2/2,Wa=ja(Wa+wa/2)+ea.upperWhiskerThickness%2/2,nb=["M",Wa,ib||wb,"V",da(ib||Gb,ac),"M",Wa-sb,da(ib||Gb,ac),"H",Wa+sb],Fb=ka.graphics.upperWhiskerEle,C={path:nb,ishot:!ba,"stroke-width":ea.upperWhiskerThickness,cursor:pa?"pointer":D,"stroke-linecap":V},Fb?Fb.animateWith(na,T,C,
Q,ca,Hb&&Nb):(Fb=ka.graphics.upperWhiskerEle=M.path(C,Sa),Yb=!0),Fb.attr({stroke:ea.upperWhiskerColor}),Fb.shadow({opacity:ea.upperWhiskerShadowOpacity},Ea),rb.useEllipsesOnOverflow(K.config.useEllipsesWhenOverflow),rb.setStyle(ha),xb=rb.getOriSize(Db.dataLabels(ea.max)),mb=za?xb.width:xb.height,zb=lb-.5*ea.upperWhiskerThickness-Cb-mb*(za?.5:1),zb-(za?mb/2:0)<J.canvasTop&&(zb=J.canvasTop+(za?mb/2:0)),C={text:Db.dataLabels(ea.max),x:vb+wa/2,title:va.originalText||D,y:zb,"text-anchor":za?"middle":qb,
"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,transform:M.getSuggestiveRotation(za,vb+wa/2,zb),"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]},ea.showMaxValues?(qa.label[3]?(qa.label[3].show(),Lb=vb+wa/2,Mb=ib||zb,qa.label[3].attr({text:Db.dataLabels(ea.max),title:va.originalText||D,"text-anchor":za?"middle":qb,"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,
"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]}),qa.label[3].animateWith(na,T,{x:Lb,y:Mb,transform:M.getSuggestiveRotation(za,Lb,Mb)},Q,ca,Hb&&Nb)):qa.label[3]=M.text(C,Kb),qa.label[3].data("groupId",ub)):qa.label[3]&&qa.label[3].hide()&&qa.label[3].attr({"text-bound":[]}),Wa=ja(G)+ab.borderWidth%2*.5,yb=ja(G+wa)+ab.borderWidth%2*.5,kb=ja(eb+Ra)+Eb.borderWidth%2*.5,bc=ib||eb,cc=W(da(Ib,kb-eb),0),dc=bc+cc,C={x:Wa,y:bc,width:W(wa,0),
height:cc,r:0},(Ua=ka.graphics.lowerBoxElem)?Ua.animateWith(na,T,C,Q,ca,Hb&&Nb):(Ua=ka.graphics.lowerBoxElem=M.rect(C,Fa),Pb=!0),Ua.attr(c).shadow({opacity:$a?t.lowerBoxAlpha/100:0},Ea),C={path:["M",Wa,ib||eb,"V",ib||eb+Ra,"M",yb,ib||eb,"V",ib||eb+Ra]},(Ab=ka.graphics.lowerBoxBorderEle)?Ab.animateWith(na,T,C,Q,ca,Hb&&Nb):(Ab=ka.graphics.lowerBoxBorderEle=M.path(C,Fa),Rb=!0),Ab.attr(b),kb=ja(eb+Ra)+Eb.borderWidth%2*.5,C={path:["M",Wa,ib||kb,"H",Wa+wa]},(pb=ka.graphics.lowerQuartileEle)?pb.animateWith(na,
T,C,Q,ca,Hb&&Nb):(pb=ka.graphics.lowerQuartileEle=M.path(C,Fa),Vb=!0),pb.attr(f),wb=kb,uc=t.whiskerslimitswidthratio/100*wa,sb=uc/2,Gb=lb=Va.getAxisPosition(ea.min),vb=Wa,Gb=ja(lb)+ea.lowerWhiskerThickness%2/2,vb=ja(vb+wa/2)+ea.lowerWhiskerThickness%2/2,nb=["M",vb,ib||wb,"V",W(ib||Gb,dc),"M",vb-sb,W(ib||Gb,dc),"H",vb+sb],hb=ka.graphics.lowerWhiskerEle,rb.setStyle(ha),xb=rb.getOriSize(Db.dataLabels(ea.min)),mb=za?xb.width:xb.height,fb=lb+.5*ea.lowerWhiskerThickness+Cb,fb+mb>J.canvasBottom&&(fb=J.canvasBottom-
mb),C={text:Db.dataLabels(ea.min),x:vb,title:va.originalText||D,y:fb,"text-anchor":za?m:qb,"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,transform:M.getSuggestiveRotation(za,vb,fb),"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]},ea.showMinValues?(qa.label[4]?(qa.label[4].show(),Lb=vb,Mb=ib||fb,qa.label[4].animateWith(na,T,{x:Lb,y:Mb,transform:M.getSuggestiveRotation(za,Lb,Mb)},Q,ca,Hb&&Nb),qa.label[4].attr({text:Db.dataLabels(ea.min),
title:va.originalText||D,"text-anchor":za?m:qb,"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]})):qa.label[4]=M.text(C,Kb),qa.label[4].data("groupId",ub)):qa.label[4]&&qa.label[4].hide()&&qa.label[4].attr({"text-bound":[]}),C={path:nb,ishot:!ba,"stroke-width":ea.lowerWhiskerThickness,cursor:pa?"pointer":D,"stroke-linecap":V},hb?hb.animateWith(na,T,
C,Q,ca,Hb&&Nb):(hb=ka.graphics.lowerWhiskerEle=M.path(C,ya),Zb=!0),hb.attr({stroke:ea.lowerWhiskerColor}),hb.shadow({opacity:ea.lowerWhiskerShadowOpacity},Ea),kb=ja(eb)+xa.borderWidth%2*.5,C={path:["M",Wa,ib||kb,"H",Wa+wa]},(bb=ka.graphics.midLineElem)?bb.animateWith(na,T,C,Q,ca,Hb&&Nb):(bb=ka.graphics.midLineElem=M.path(C,Na),Wb=!0),bb.attr(g),ec={upperBoxElem:ea.setUpperBoxRolloverAttr,lowerBoxElem:ea.setLowerBoxRolloverAttr,upperBoxBorderEle:ea.setUpperBoxBorderRolloverAttr,lowerBoxBorderEle:ea.setLowerBoxBorderRolloverAttr,
upperQuartileEle:ea.setUpperQuartileRolloverAttr,lowerQuartileEle:ea.setLowerQuartileRolloverAttr,midLineElem:ea.setMedianRolloverAttr},fc={upperBoxElem:ea.setUpperBoxRolloutAttr,lowerBoxElem:ea.setLowerBoxRolloutAttr,upperBoxBorderEle:ea.setUpperBoxBorderRolloutAttr,lowerBoxBorderEle:ea.setLowerBoxBorderRolloutAttr,upperQuartileEle:ea.setUpperQuartileRolloutAttr,lowerQuartileEle:ea.setLowerQuartileRolloutAttr,midLineElem:ea.setMedianRolloutAttr},Za.data("groupId",ub).data("eventArgs",La).data(ia,
gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Ob&&Za.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),Ua.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Pb&&Ua.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),Ta.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Qb&&Ta.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),Ab.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",
ec).data("setRolloutAttr",fc),Rb&&Ab.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),Pa.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Ub&&Pa.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),pb.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Vb&&pb.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),bb.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",
fc),Wb&&bb.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),Fb.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Yb&&Fb.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),hb.data("groupId",ub).data("eventArgs",La).data(ia,gc).data("setRolloverAttr",ec).data("setRolloutAttr",fc),Zb&&hb.click(hc).hover(ic(ka.graphics),jc(ka.graphics)),qb=za?Ec:"middle",C={text:va.displayValue,x:G+wa/2,title:va.originalText||D,y:Ia-Cb,"text-anchor":za?n:qb,"vertical-align":za?
"middle":r,visibility:oa,direction:t.textDirection,fill:ha.color,transform:M.getSuggestiveRotation(za,G+wa/2,Ia-Cb),"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]},gb(va.displayValue)&&va.displayValue!==A&&ea.showQ3Values?(qa.label[0]?(qa.label[0].show(),Lb=G+wa/2,Mb=ib||Ia-Cb,qa.label[0].animateWith(na,T,{x:Lb,y:Mb,transform:M.getSuggestiveRotation(za,Lb,Mb)},Q,ca,Hb&&Nb),qa.label[0].attr({text:va.displayValue,title:va.originalText||
D,"text-anchor":za?n:qb,"vertical-align":za?"middle":r,visibility:oa,direction:t.textDirection,fill:ha.color,"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]})):qa.label[0]=M.text(C,Kb),qa.label[0].data("groupId",ub)):qa.label[0]&&qa.label[0].hide()&&qa.label[0].attr({"text-bound":[]}),C={text:xa.displayValue,x:Wa+wa/2,y:eb-Cb,title:xa.originalText||D,"text-anchor":za?n:qb,"vertical-align":za?"middle":r,visibility:oa,direction:t.textDirection,
fill:ha.color,transform:M.getSuggestiveRotation(za,Wa+wa/2,eb-Cb),"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]},gb(xa.displayValue)&&xa.displayValue!==A&&ea.showMedianValues?(qa.label[1]?(qa.label[1].show(),Lb=Wa+wa/2,Mb=ib||eb-Cb,qa.label[1].animateWith(na,T,{x:Lb,y:Mb,transform:M.getSuggestiveRotation(za,Lb,Mb)},Q,ca,Hb&&Nb),qa.label[1].attr({text:xa.displayValue,title:xa.originalText||D,"text-anchor":za?n:qb,"vertical-align":za?
"middle":r,visibility:oa,direction:t.textDirection,fill:ha.color,"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]})):qa.label[1]=M.text(C,Kb),qa.label[1].data("groupId",ub)):qa.label[1]&&qa.label[1].hide()&&qa.label[1].attr({"text-bound":[]}),C={text:Eb.displayValue,x:G+wa/2,y:Ga+Cb,title:Eb.originalText||D,"text-anchor":za?n:qb,"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,transform:M.getSuggestiveRotation(za,
G+wa/2,Ga+Cb),"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]},gb(Eb.displayValue)&&Eb.displayValue!==A&&ea.showQ1Values?(qa.label[2]?(qa.label[2].show(),Lb=G+wa/2,Mb=ib||Ga+Cb,qa.label[2].animateWith(na,T,{x:Lb,y:Mb,transform:M.getSuggestiveRotation(za,Lb,Mb)},Q,ca,Hb&&Nb),qa.label[2].attr({text:Eb.displayValue,title:Eb.originalText||D,"text-anchor":za?n:qb,"vertical-align":za?"middle":k,visibility:oa,direction:t.textDirection,fill:ha.color,
"text-bound":[ha.backgroundColor,ha.borderColor,ha.borderThickness,ha.borderPadding,ha.borderRadius,ha.borderDash]})):qa.label[2]=M.text(C,Kb),qa.label[2].data("groupId",ub)):qa.label[2]&&qa.label[2].hide()&&qa.label[2].attr({"text-bound":[]}),Hb&&Nb(),ba?(Za.tooltip(sa),Ua.tooltip(sa),Ta.tooltip(sa),Ab.tooltip(sa),Pa.tooltip(sa),pb.tooltip(sa),bb.tooltip(sa),Fb.tooltip(sa),hb.tooltip(sa)):(Za.tooltip(!1),Ua.tooltip(!1),Ta.tooltip(!1),Ab.tooltip(!1),Pa.tooltip(!1),pb.tooltip(!1),bb.tooltip(!1),Fb.tooltip(!1),
hb.tooltip(!1)),G+=wa/2,l.components.mean.components.data[I].config.xPos=G,l.components.sd.components.data[I].config.xPos=G,l.components.qd.components.data[I].config.xPos=G,l.components.md.components.data[I].config.xPos=G,Jb=0;Jb<t.maxNumberOfOutliers;Jb++)l.components.outliers[Jb].components.data[I].config.xPos=G;l.flag=!0;Tb&&l.remove()},remove:function(){var a=this.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),b=c.length,e,f=this.maxminFlag,g,l,h,k,m;for(h=
0;h<b;h++)if(e=c[0],c.splice(0,1),e&&e.graphics){l=e.graphics;for(g in l)if("label"!==g)l[g].shadow({opacity:0}),l[g].hide();else for(k=l[g].length,m=0;m<k;m++)l[g][m]&&(l[g][m].shadow({opacity:0}),l[g][m].hide(),l[g][m].attr({"text-bound":[]}));e.graphics.element&&(d.element=d.element.concat(e.graphics.element));e.graphics.hotElement&&(d.hotElement=d.hotElement.concat(e.graphics.hotElement));e.graphics.label&&(d.label=d.label.concat(e.graphics.label))}a.pool=d;f&&this.setMaxMin()},removeData:function(a,
c,d){var b=this.components,e=b.data,f=b.removeDataArr||(b.removeDataArr=[]),g=b.mean.components.removeDataArr||(b.mean.components.removeDataArr=[]),l=b.sd.components.removeDataArr||(b.sd.components.removeDataArr=[]),h=b.md.components.removeDataArr||(b.md.components.removeDataArr=[]),k=b.qd.components.removeDataArr||(b.qd.components.removeDataArr=[]),m=this.config,p=this.groupManager,n=this.maxminFlag;c=c||1;a=a||0;if(a+c===e.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;
b.removeDataArr=f=f.concat(e.splice(a,c));b.mean.components.removeDataArr=g.concat(b.mean.components.data.splice(a,c));b.sd.components.removeDataArr=l.concat(b.sd.components.data.splice(a,c));b.md.components.removeDataArr=h.concat(b.md.components.data.splice(a,c));b.qd.components.removeDataArr=k.concat(b.qd.components.data.splice(a,c));g=b.outliers.length;for(e=0;e<g;e++)l=b.outliers[e].components.removeDataArr||(b.outliers[e].components.removeDataArr=[]),b.outliers[e].components.removeDataArr=l.concat(b.outliers[e].components.data.splice(a,
c));p&&p.removeSumLabels&&p.removeSumLabels(a,c,this.positionIndex);g=f.length;for(e=0;e<g;e++)if(f[e]){a=f[e].config;if(a.setValue===m.maxValue||a.setValue===m.minValue)n=this.maxminFlag=!0;if(n)break}n&&this.setMaxMin();d&&this.draw()},_addLegendSubDS:function(a){var c;c=a.config;var d=a.chart.components.legend,b=c.anchorBgColor;c={anchorSide:c.anchorSides,legendBackgroundColor:this.config.upperBoxColor,fillColor:aa(b),strokeColor:aa(ca),enabled:this.config.includeInLegend,label:this.JSONData.seriesname&&
Ba(a.name),customLegendIcon:!1,spoke:c.dip?1:0,drawLine:c.drawLine?!0:!1,lineColor:fa({color:b,alpha:Ha})};a.itemId=d.addItems(a,a.legendInteractivity,c)},_addLegendOutliers:function(a){var c=this.JSONData,d=this.chart.jsonData.chart,b=this.config,e=b.upperBoxColor,f=this.chart.components.legend,g=q(c.outliericoncolor,d.outliericoncolor,ca),c={anchorSide:h(c.outliericonsides,d.outliericonsides,3),fillColor:aa(g),legendBackgroundColor:e,strokeColor:aa(ca),enabled:b.includeInLegend,label:this.JSONData.seriesname&&
"Outliers",customLegendIcon:!1,spoke:a[0].config.dip?1:0,drawLine:!1,datasetObj:a[0]};a.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);a[0]&&(a[0].itemId=f.addItems(a,this.legendInteractivityOutliers,c))},legendInteractivityOutliers:function(a,c){var d=this.config,b=c.config,e=c.graphics,f=d.itemHiddenStyle.color,d=d.itemStyle.color,g=b.fillColor,b=b.strokeColor,l,h;a.visible=a.visible?!1:!0;for(l=0;l<a.length;l++)h=a[l].visible,a[l].visible=h?!1:!0,a[l].draw(),h?(a.visible=
!1,e.legendItemSymbol&&e.legendItemSymbol.attr({fill:f,stroke:f}),e.legendItemText&&e.legendItemText.attr({fill:f}),e.legendIconLine&&e.legendIconLine.attr({stroke:f})):(e.legendItemSymbol&&e.legendItemSymbol.attr({fill:g,stroke:b}),e.legendItemText&&e.legendItemText.attr({fill:d}),e.legendIconLine&&e.legendIconLine.attr({stroke:g}))},_addLegend:function(){var a;a=this.config;var c=this.chart.components.legend,d=a.upperBoxColor;a={fillColor:fa({FCcolor:{color:d+","+a.lowerBoxColor,angle:90,ratio:"50, 0",
alpha:"100, 100"}}),legendBackgroundColor:d,strokeColor:fa(ca),rawFillColor:d,rawStrokeColor:ca,enabled:a.includeInLegend,label:Ba(this.JSONData.seriesname),index:this.index,mainDS:!0};this.itemId=c.addItems(this,this.legendInteractivity,a)},legendInteractivity:function(a,c){var d=this.config,b=a.visible,e=c.config,f=c.graphics,g=d.itemHiddenStyle.color,d=d.itemStyle,l=d.color,h=e.fillColor,e=e.strokeColor,k=c.index,m=a.subDS;b?a.hide():a.show();if(b)for(f.legendItemSymbol&&f.legendItemSymbol.attr({fill:g,
stroke:g}),f.legendItemText&&f.legendItemText.attr({fill:g}),f.legendItemLine&&f.legendItemLine.attr({stroke:g}),b=k+1;b<=k+m;b++){if(f=(e=this.components.items[b])&&e.graphics)f.legendItemSymbol&&f.legendItemSymbol.attr({fill:g,stroke:g}),f.legendItemText&&f.legendItemText.attr({fill:g}),f.legendItemLine&&f.legendItemLine.attr({stroke:g})}else for(f.legendItemSymbol&&f.legendItemSymbol.attr({fill:h,stroke:e}),f.legendItemText&&f.legendItemText.attr({fill:l}),f.legendItemLine&&f.legendItemLine.attr({stroke:h}),
b=k+1;b<=k+m;b++)if(f=(e=this.components.items[b])&&e.graphics)e=e.config,l=d.color,h=e.fillColor,e=e.strokeColor,f.legendItemSymbol&&f.legendItemSymbol.attr({fill:h,stroke:e}),f.legendItemText&&f.legendItemText.attr({fill:l}),f.legendItemLine&&f.legendItemLine.attr({stroke:h})},show:function(){var a=this.graphics.upperBoxContainer,c=this.graphics.lowerBoxContainer,d=this.graphics.medianContainer,b=this.graphics.upperWhiskerContainer,e=this.graphics.lowerWhiskerContainer,f=this.graphics.dataLabelContainer,
g=this.graphics.shadowContainer,l=this.chart,h=this.yAxis;l._chartAnimation();this.visible=!0;this.components.outliers.visible=!0;this._conatinerHidden=!1;a.show();c.show();d.show();b.show();e.show();f.show();g.show();for(a=0;a<this.config.maxNumberOfOutliers;a++)this.components.outliers[a].show();l._setAxisLimits();h.draw();l._drawDataset();this.components.mean.show();this.components.sd.show();this.components.qd.show();this.components.md.show()},hide:function(){var a=this.chart,c=this.yAxis,d,b;
a._chartAnimation();this.visible=!1;d=this.config.maxNumberOfOutliers;for(b=0;b<d;b++)this.components.outliers[b].hide();a._setAxisLimits();c.draw();a._drawDataset();this.components.mean.hide();this.components.sd.hide();this.components.qd.hide();this.components.md.hide();d=this.config.maxNumberOfOutliers||this.components.outliers.length;this.components.outliers.visible=!1;for(b=0;b<d;b++)this.components.outliers[b].visible=!1,this.components.outliers[b].draw()}},"Column",{showplotborder:void 0,plotborderdashlen:void 0,
plotborderdashgap:void 0,plotfillalpha:void 0,useroundedges:void 0,ratio:void 0,plotborderthickness:void 0,showvalues:void 0,valuepadding:void 0,showtooltip:void 0,maxcolwidth:void 0,rotatevalues:void 0,use3dlighting:void 0,whiskerslimitswidthratio:void 0,outliersupperrangeratio:void 0,outlierslowerrangeratio:void 0,showalloutliers:void 0,showmean:void 0,showsd:void 0,showmd:void 0,showqd:void 0,showminvalues:void 0,showmaxvalues:void 0,showq1values:void 0,showq3values:void 0,showmedianvalues:void 0}]);
FusionCharts.register("component",["dataset","subDS",{show:function(){var a=this.chart,c=this.yAxis;a._chartAnimation();this.visible=!0;this._conatinerHidden=!1;a.config.transposeAxis&&(a._setAxisLimits(),c.draw());this.draw()},hide:function(){var a=this.chart,c=this.yAxis;a._chartAnimation();this.visible=!1;a.config.transposeAxis&&(a._setAxisLimits(),c.draw());this.draw()},getEventArgs:function(){return{datasetName:this.name,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},
legendInteractivity:function(a,c){var d=this.config,b=a.visible,e=c.config,f=c.graphics,g=d.itemHiddenStyle.color,d=d.itemStyle.color,l=e.fillColor,h,k=e.strokeColor;b?a.hide():a.show();b={legendItemSymbol:{fill:b?g:l,stroke:b?g:k},legendItemText:{fill:b?g:d},legendItemLine:{stroke:b?g:e.lineAttr&&e.lineAttr.stroke}};for(h in f)(e=f[h])&&b[h]&&e.attr(b[h])}},"Line"]);FusionCharts.register("component",["datasetGroup","boxandwhisker2d",{draw:function(){var a=this.positionStackArr,c=a.length,d,b,e,f;
d=this.chart;b=d.graphics.datasetGroup;var g=d.graphics;e=d.components.canvas.config.clip["clip-canvas"].slice(0);f=Y([],d.components.canvas.config.clip["clip-canvas-init"]);var g=g.datalabelsGroup,h=d.get(ga,X),k=h.animType,m=h.animObj,n=h.dummyObj,h=h.duration;d.fireInitialAnimation&&(b.attr({"clip-rect":f}),g.attr({"clip-rect":f}));d.fireInitialAnimation=!1;b.animateWith(n,m,{"clip-rect":e},h,k);g.animateWith(n,m,{"clip-rect":e},h,k);this.preDrawCalculate();this.drawSumValueFlag=!0;for(d=0;d<c;d++)for(b=
a[d],e=b.length,this.manageClip=!0,b=0;b<e;b++)f=a[d][b].dataSet,f.draw()}},F]);I("heatmap",{friendlyName:"Heatmap Chart",standaloneInit:!0,creditLabel:!1,hasLegend:!0,tooltipsepchar:": ",tooltipConstraint:"chart",defaultDatasetType:"heatmap",applicableDSList:{heatmap:!0},isSingleSeries:!0,hasGradientLegend:!0,_createAxes:function(){var a=this.components,c=FusionCharts.register("component",["axis","cartesian"]),d;a.yAxis=[];a.xAxis=[];a.yAxis[0]=d=new c;a.xAxis[0]=a=new c;d.chart=this;a.chart=this;
d.init();a.init()},_postSpaceManagement:function(){var a=this.config,c=a.placeAxisLabelsOnTop,d=this.components,b=d.xAxis&&d.xAxis[0],e=d.yAxis&&d.yAxis[0],f=d.legend,g=a.xDepth,d=d.canvas.config.canvasBorderWidth;b&&b.setAxisDimention({x:a.canvasLeft,y:c?a.canvasTop+(a.shift||0)-d:a.canvasBottom+(a.shift||0)+d,opposite:a.canvasTop-d,axisLength:a.canvasWidth});e&&e.setAxisDimention({x:a.canvasLeft-d,y:a.canvasTop,opposite:a.canvasRight+d,axisLength:a.canvasHeight});b&&b.shiftLabels(-g,0);f.postSpaceManager();
this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._adjustCanvasPadding()},_adjustCanvasPadding:function(){},_feedAxesRawData:function(){var a=this.components,c=a.colorManager,d=this.jsonData,b=d.chart,e;e=this.is3d;var f=t.chartPaletteStr,f=e?f.chart3D:f.chart2D;e={outCanfontFamily:q(b.outcnvbasefont,b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,
"#$1"),axisNamePadding:b.xaxisnamepadding,axisValuePadding:b.labelpadding,axisNameFont:b.xaxisnamefont,axisNameFontSize:b.xaxisnamefontsize,axisNameFontColor:b.xaxisnamefontcolor,axisNameFontBold:b.xaxisnamefontbold,axisNameFontItalic:b.xaxisnamefontitalic,axisNameBgColor:b.xaxisnamebgcolor,axisNameBorderColor:b.xaxisnamebordercolor,axisNameAlpha:b.xaxisnamealpha,axisNameFontAlpha:b.xaxisnamefontalpha,axisNameBgAlpha:b.xaxisnamebgalpha,axisNameBorderAlpha:b.xaxisnameborderalpha,axisNameBorderPadding:b.xaxisnameborderpadding,
axisNameBorderRadius:b.xaxisnameborderradius,axisNameBorderThickness:b.xaxisnameborderthickness,axisNameBorderDashed:b.xaxisnameborderdashed,axisNameBorderDashLen:b.xaxisnameborderdashlen,axisNameBorderDashGap:b.xaxisnameborderdashgap,useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:q(b.vdivlinecolor,b.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:q(b.vdivlinealpha,b.divlinealpha,e?c.getColor(Ga):c.getColor(pa)),divLineThickness:h(b.vdivlinethickness,b.divlinethickness,1),divLineIsDashed:!!h(b.vdivlinedashed,
b.vdivlineisdashed,b.divlinedashed,b.divlineisdashed,0),divLineDashLen:h(b.vdivlinedashlen,b.divlinedashlen,4),divLineDashGap:h(b.vdivlinedashgap,b.divlinedashgap,2),showAlternateGridColor:h(b.showalternatevgridcolor,0),alternateGridColor:q(b.alternatevgridcolor,c.getColor(Ka)),alternateGridAlpha:q(b.alternatevgridalpha,c.getColor(xa)),numDivLines:b.numvdivlines,labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,
labelFontItalic:b.labelfontitalic,axisName:b.xaxisname,axisMinValue:b.xaxisminvalue,axisMaxValue:b.xaxismaxvalue,setAdaptiveMin:b.setadaptivexmin,adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:h(b.showxaxislabels,b.showlabels),rotateLabels:b.rotatexaxislabels,slantLabel:h(b.slantlabels,b.slantlabel),labelStep:h(b.labelstep,b.xaxisvaluesstep),showAxisValues:h(b.showxaxisvalues,b.showxaxisvalue),maxLabelHeight:b.maxlabelheight,showZeroPlane:b.showvzeroplane,zeroPlaneColor:b.vzeroplanecolor,
zeroPlaneThickness:b.vzeroplanethickness,zeroPlaneAlpha:b.vzeroplanealpha,showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.xaxislinecolor,
b.axislinecolor,ca)};c={outCanfontFamily:q(b.outcnvbasefont,b.basefont,Fa),outCanfontSize:Vb(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:q(b.outcnvbasefontcolor,b.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:b.yaxisnamepadding,axisValuePadding:b.yaxisvaluespadding,axisNameFont:b.yaxisnamefont,axisNameFontSize:b.yaxisnamefontsize,axisNameFontColor:b.yaxisnamefontcolor,axisNameFontBold:b.yaxisnamefontbold,axisNameFontItalic:b.yaxisnamefontitalic,
axisNameBgColor:b.yaxisnamebgcolor,axisNameBorderColor:b.yaxisnamebordercolor,axisNameAlpha:b.yaxisnamealpha,axisNameFontAlpha:b.yaxisnamefontalpha,axisNameBgAlpha:b.yaxisnamebgalpha,axisNameBorderAlpha:b.yaxisnameborderalpha,axisNameBorderPadding:b.yaxisnameborderpadding,axisNameBorderRadius:b.yaxisnameborderradius,axisNameBorderThickness:b.yaxisnameborderthickness,axisNameBorderDashed:b.yaxisnameborderdashed,axisNameBorderDashLen:b.yaxisnameborderdashlen,axisNameBorderDashGap:b.yaxisnameborderdashgap,
axisNameWidth:b.yaxisnamewidth,useEllipsesWhenOverflow:b.useellipseswhenoverflow,rotateAxisName:h(b.rotateyaxisname,1),axisName:b.yaxisname,showAlternateGridColor:h(b.showalternatehgridcolor,1),alternateGridColor:q(b.alternatehgridcolor,c.getColor(Pa)),alternateGridAlpha:q(b.alternatehgridalpha,c.getColor(bb)),numDivLines:b.numdivlines,axisMinValue:b.yaxisminvalue,axisMaxValue:b.yaxismaxvalue,setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showLabels:h(b.showyaxislabels,
b.showlabels),maxLabelWidthPercent:b.maxlabelwidthpercent,showAxisValues:h(b.showyaxisvalues,b.showyaxisvalue),divLineColor:q(b.hdivlinecolor,c.getColor(f.divLineColor)),divLineAlpha:q(b.hdivlinealpha,c.getColor(pa)),divLineThickness:h(b.hdivlinethickness,1),divLineIsDashed:!!h(b.hdivlinedashed,b.hdivlineisdashed,0),divLineDashLen:h(b.hdivlinedashlen,4),divLineDashGap:h(b.hdivlinedashgap,2),showZeroPlane:b.showzeroplane,zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:b.zeroplanethickness,zeroPlaneAlpha:b.zeroplanealpha,
showZeroPlaneValue:b.showzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:h(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:h(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:h(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:q(b.yaxislinecolor,b.axislinecolor,ca)};e.vtrendlines=d.vtrendlines;c.trendlines=
d.trendlines;d=a.yAxis[0];a=a.xAxis[0];d.setCommonConfigArr(c,!0,!0,!1);a.setCommonConfigArr(e,!1,!1,this.config.placeAxisLabelsOnTop?!0:!1);d.configure();a.configure();this._setCategories()},_setAxisLimits:function(){},_setCategories:function(){var a=this.components,c=this.jsonData,d=a.xAxis,a=a.yAxis,b=c.dataset&&c.dataset[0].data&&c.dataset[0].data.length,e,f,g,h,k,m=[],n=[],p;if(!c.columns||!c.rows)for(c.columns={},c.columns.column=h=[],c.rows={},c.rows.row=k=[],e=0;e<b;e++){g=f=!0;for(p=0;p<
h.length;p++)c.dataset[0].data[e].columnid==h[p].id&&(f=!1);f&&(f={id:c.dataset[0].data[e].columnid,label:c.dataset[0].data[e].columnid},c.columns.column.push(f));for(p=0;p<k.length;p++)c.dataset[0].data[e].rowid==k[p].id&&(g=!1);g&&(g={id:c.dataset[0].data[e].rowid,label:c.dataset[0].data[e].rowid},c.rows.row.push(g))}h=c.columns.column;k=c.rows.row;for(e=0;e<(h&&h.length);e++)h[e].label=q(h[e].label,h[e].name,h[e].id),void 0!==h[e].label&&m.push(h[e]);c.columns.column=m;for(e=0;e<(k&&k.length);e++)k[e].label=
q(k[e].label,k[e].name,k[e].id),void 0!==k[e].label&&n.push(k[e]);c.rows.row=n;c.columns&&d[0].setAxisPadding(.5,.5);c.columns&&d[0].setCategory(c.columns.column);c.columns&&a[0].setAxisPadding(.5,.5);c.rows&&a[0].setCategory(c.rows.row);d[0].setAxisConfig({categoryNumDivLines:c.columns.column.length-1,categoryDivLinesFromZero:0,showAlternateGridColor:0});a[0].setAxisConfig({categoryNumDivLines:c.rows.row.length-1,categoryDivLinesFromZero:0,showAlternateGridColor:0})}},I.mscartesian);FusionCharts.register("component",
["dataset","HeatMap",{type:"heatmap",configure:function(){var a=this.chart,c=a.components,d=c.postLegendInitFn,b=c.gradientLegend,e=a.config.style,f=this.config,g=a.jsonData,l=this.JSONData,k=l.data,m=a.singleseries,n=k&&k.length,p=a.jsonData.chart,r=a.components.colorManager,u,w=f.plotColor=r.getPlotColor(this.index||this.positionIndex),z=h(l.dashed,p.plotborderdashed),B=h(p.useplotgradientcolor,1),C=h(p.showtooltip,1),F=t.parseUnsafeString,I=F(p.yaxisname),K=F(p.xaxisname),J=F(q(p.tooltipsepchar,
": ")),M=t.parseTooltext,E,V,X,G,N,L,Y,ba,ga,T,na,Q,Z,ca,ia,oa,O,ra,sa,R,wa,ua,la,pa=g.colorrange||{},Ba=a.components.xAxis[0],ka=a.components.yAxis[0],Ea,Da,La=f.mapByPercent=h(pa.mapbypercent,0),ea=f.mapByCategory=h(p.mapbycategory,0),Fa=a.jsonData,xa=Fa.colorrange&&h(Fa.colorrange.gradient),Ca=t.nonGradientColorRange,Ja,Aa,Sa,ya,Na,Xa,Ia,Qa,Ya,va,Ka,$a,Ga,Za=t.getDashStyle,Ta=this.components.data,Oa=a.components.numberFormatter,ab,eb,Ra=a.isBar,Pa=a.is3D,bb,cb,gb,hb,rb,Ua,Ab=-Infinity,pb=Infinity,
sb,Wa,lb=H(p.tltype,A),kb=H(p.trtype,A),ha=H(p.bltype,A),mb=H(p.brtype,A),za,Cb,Db,qb,wb=A,qa=A,ub=A,xb=A,fb,zb,nb,vb,Gb,Fb,Bb;u=f.showplotborder=h(p.showplotborder,Pa?0:1);f.plotDashLen=Y=h(p.plotborderdashlen,5);f.plotDashGap=ba=h(p.plotborderdashgap,4);f.plotfillAngle=Q=h(360-p.plotfillangle,Ra?180:90);f.plotFillAlpha=Z=q(l.alpha,p.plotfillalpha,Ha);f.plotColor=w=q(l.color,w);f.isRoundEdges=T=h(p.useroundedges,0);f.plotRadius=h(p.useRoundEdges,f.isRoundEdges?1:0);f.plotFillRatio=ca=q(l.ratio,p.plotfillratio);
f.plotgradientcolor=ia=t.getDefinedColor(p.plotgradientcolor,r.getColor("plotGradientColor"));!B&&(ia=D);f.plotBorderAlpha=oa=u?q(p.plotborderalpha,Z,Ha):0;f.plotBorderColor=O=q(p.plotbordercolor,Pa?db:r.getColor("plotBorderColor"));f.plotBorderThickness=ga=h(p.plotborderthickness,1);f.plotBorderDashStyle=sa=z?Za(Y,ba,ga):"none";f.showValues=h(l.showvalues,p.showvalues,1);f.valuePadding=h(p.valuepadding,2);f.enableAnimation=bb=h(p.animation,p.defaultanimation,1);f.animation=bb?{duration:1E3*h(p.animationduration,
1)}:!1;f.transposeAnimation=h(p.transposeanimation,bb);f.transposeAnimDuration=1E3*h(p.transposeanimduration,.2);f.showShadow=T||Pa?h(p.showshadow,1):h(p.showshadow,r.getColor("showShadow"));f.showHoverEffect=na=h(p.plothovereffect,p.showhovereffect,void 0);f.showTooltip=h(p.showtooltip,1);f.definedGroupPadding=W(h(p.plotspacepercent),0);f.plotSpacePercent=W(h(p.plotspacepercent,20)%100,0);f.maxColWidth=h(Ra?p.maxbarheight:p.maxcolwidth,50);f.plotPaddingPercent=h(p.plotpaddingpercent);f.rotateValues=
h(p.rotatevalues)?270:0;f.placeValuesInside=h(p.placevaluesinside,0);nb=e.inCanfontFamily;vb=parseInt(e.inCanfontSize,10);Gb=e.inCancolor;f.tlLabelStyle={fontFamily:q(p.tlfont,nb),fontSize:h(p.tlfontsize,vb)+"px",color:aa(q(p.tlfontcolor,Gb),100),fontWeight:v,fontStyle:v};Cc(f.tlLabelStyle);f.trLabelStyle={fontFamily:q(p.trfont,nb),fontSize:h(p.trfontsize,vb)+"px",color:aa(q(p.trfontcolor,Gb),100),fontWeight:v,fontStyle:v};f.brLabelStyle={fontFamily:q(p.brfont,nb),fontSize:h(p.brfontsize,vb)+"px",
color:aa(q(p.brfontcolor,Gb),100),fontWeight:v,fontStyle:v};f.blLabelStyle={fontFamily:q(p.blfont,nb),fontSize:h(p.blfontsize,vb)+"px",color:aa(q(p.blfontcolor,Gb),100),fontWeight:v,fontStyle:v};f.use3DLighting=h(p.use3dlighting,1);f.parentYAxis=cb=q(l.parentyaxis&&l.parentyaxis.toLowerCase(),yb)===Ma?1:0;Ta||(Ta=this.components.data=[]);for(Ua=0;Ua<n;Ua++)R=k&&k[Ua],la=(ua=Ta[Ua])&&ua.config,ua||(ua=Ta[Ua]={graphics:{}}),ua.config||(la=Ta[Ua].config={}),la.showValue=h(R.showvalue,f.showValues),la.setValue=
wa=Oa.getCleanValue(R.value),la.setLink=q(R.link),la.toolTipValue=ab=Oa.dataLabels(wa,cb),la.setDisplayValue=eb=F(R.displayvalue),la.displayValue=q(eb,ab),gb=h(R.dashed),hb=h(R.dashlen,Y),rb=ba=h(R.dashgap,ba),Ab=W(Ab,wa),pb=da(pb,wa),la.plotBorderDashStyle=ra=1===gb?Za(hb,rb,ga):0===gb?"none":sa,m?(w=r.getPlotColor(Ua),w=q(R.color,w),ca=q(R.ratio,f.plotFillRatio)):w=q(R.color,f.plotColor),la.plotFillAlpha=Z=q(R.alpha,f.plotFillAlpha),0>wa&&!T&&(N=Q,Q=Ra?180-Q:360-Q),la.colorArr=t.graphics.getColumnColor(w+
","+f.plotgradientcolor,Z,ca=f.plotFillRatio,Q,T,f.plotBorderColor,oa.toString(),Ra?1:0,Pa?!0:!1),E=la.toolTipValue,N&&(Q=N);f.maxValue=Ab;f.minValue=pb;sb=Ab-pb;if(xa&&!ea)d({min:pb,max:Ab}),this.components.colorRange=pa=b.colorRange;else{this.components.colorRange=pa=new Ca({colorRange:g.colorrange,dataMin:pb,dataMax:Ab,sortLegend:0,mapByCategory:ea,defaultColor:"cccccc",numberFormatter:Oa});f.colorMap=[];for(Ua=0;Ua<pa.colorArr.length;Ua++)f.colorMap[Ua]={config:pa.colorArr[Ua],dataSet:this},f.colorMap[Ua].config.visible=
!0;0===f.colorMap.length&&(a.setChartMessage(),b&&b.elem&&b.elem.gl.carpet.group.hide())}for(Ua=0;Ua<n;Ua++)R=k&&k[Ua],la=(ua=Ta[Ua])&&ua.config,la.percentValue=La?fb=R.value&&ja((R.value-pb)/sb*1E4)/100:void 0,la.value=Fb=ea?R.colorrangelabel||R.categoryid:La?fb:la.setValue,xa&&!ea?Bb=pa.getColorByValue(Fb):(Wa=pa.getColorObj(Fb),ua.legendItemIndex=Wa.seriesIndex),void 0===Wa&&void 0===Bb?la.visible=!1:Wa&&Wa.outOfRange?(la.visible=!1,la.displayValue=D):(la.visible=!0,w=q(R.color,Wa&&Wa.code||Bb),
la.color=aa(w,q(R.alpha,f.plotFillAlpha)),0!==na&&(Ja=q(R.hovercolor,l.hovercolor,p.plotfillhovercolor,p.columnhovercolor,w),Aa=q(R.hoveralpha,l.hoveralpha,p.plotfillhoveralpha,p.columnhoveralpha,"25"),Sa=q(R.hovergradientcolor,l.hovergradientcolor,p.plothovergradientcolor,ia),!Sa&&(Sa=D),ya=q(R.hoverratio,l.hoverratio,p.plothoverratio,ca),Na=h(360-R.hoverangle,360-l.hoverangle,360-p.plothoverangle,Q),Xa=q(R.borderhovercolor,l.borderhovercolor,p.plotborderhovercolor,O),Ia=q(R.borderhoveralpha,l.borderhoveralpha,
p.plotborderhoveralpha,oa,Z),Qa=h(R.borderhoverthickness,l.borderhoverthickness,p.plotborderhoverthickness,ga),Ya=h(R.borderhoverdashed,l.borderhoverdashed,p.plotborderhoverdashed),va=h(R.borderhoverdashgap,l.borderhoverdashgap,p.plotborderhoverdashgap,Y),Ka=h(R.borderhoverdashlen,l.borderhoverdashlen,p.plotborderhoverdashlen,ba),$a=Ya?Za(Ka,va,Qa):ra,1==na&&Ja===w&&(Ja=Ob(Ja,70)),Ga=t.graphics.getColumnColor(Ja,Aa,ya,Na,T,Xa,Ia.toString(),Ra?1:0,Pa?!0:!1),la.setRolloutAttr={fill:fa(la.color),stroke:u&&
fa(Ga[1]),"stroke-width":ga,"stroke-dasharray":ra},la.setRolloverAttr={fill:fa(Ga[0]),stroke:u&&fa(Ga[1]),"stroke-width":Qa,"stroke-dasharray":$a}),La&&(fb=Oa.percentValue(fb)),la.setValue=wa=Oa.getCleanValue(R.value),la.toolTipValue=ab=Oa.dataLabels(wa,cb),E=la.toolTipValue,X=H(F(q(R.tooltext,l.plottooltext,p.plottooltext))),la.tlLabel=za=F(q(R.tllabel,R.ltlabel)),la.trLabel=Cb=F(q(R.trlabel,R.rtlabel)),la.blLabel=Db=F(q(R.bllabel,R.lblabel)),la.brLabel=qb=F(q(R.brlabel,R.rblabel)),eb=H(F(R.displayvalue)),
zb=ea?eb:q(R.displayvalue,E),la.displayValue=q(eb,fb,la.toolTipValue),lb!==A&&(wb="<b>"+lb+J+"</b>"),kb!==A&&(qa="<b>"+kb+J+"</b>"),ha!==A&&(ub="<b>"+ha+J+"</b>"),mb!==A&&(xb="<b>"+mb+J+"</b>"),Ea=Ba.getCategoryFromId(k[Ua].columnid.toLowerCase()),Da=ka.getCategoryFromId(k[Ua].rowid.toLowerCase()),C?(null===E?L=!1:void 0!==X?(G=[1,2,5,6,7,14,93,94,95,96,97,98,112,113,114,115,116,117],V={formattedValue:E,value:R.value,yaxisName:I,xaxisName:K,displayValue:eb,percentValue:La?fb:A,tlLabel:za,trLabel:Cb,
blLabel:Db,brLabel:qb,rowLabel:Da.catObj&&Da.catObj.label,columnLabel:Ea.catObj&&Ea.catObj.label,percentDataValue:La?fb:A,trtype:kb,tltype:lb,brType:mb,blType:ha,colorRangeLabel:la.colorRangeLabel},L=M(X,G,V,R,p,V)):L=(La?"<b>Value"+J+"</b>"+E+"<br /><b>Percentage"+J+"</b>"+fb:zb)+(za!==A?"<br />"+(wb+za):A)+(Cb!==A?"<br />"+qa+Cb:A)+(Db!==A?"<br />"+ub+Db:A)+(qb!==A?"<br />"+xb+qb:A),la.toolText=L,la.setTooltext=L):la.toolText=!1);!1===a.hasLegend||xa&&!ea||this._addLegend()},init:function(a){var c=
this.chart,d=c.components,b=a.parentyaxis&&a.parentyaxis.toLowerCase()===Ma?1:0,d=d.yAxis[b];if(!a)return!1;this.JSONData=a;this.yAxis=d;this.chartGraphics=c.chartGraphics;this.components={};this.graphics={};this.visible=1===h(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_addLegend:function(){var a=this.components.data,c=this.chart,d=c.jsonData.chart,b,e,f=this.config.colorMap,g=this.components.colorRange,l,k,m,n;k=c.components.legend;d=h(d.us3dlighting,d.useplotgradientcolor,
1);k.emptyItems();k=0;for(m=f.length;k<m;k++)n=f[k],l=g.colorArr[k].code,b=Ob(l,60).replace(fb,Pb),Ob(l,40),d?(e=Ob(l,40),e={FCcolor:{color:l+","+l+","+e,ratio:"0,70,30",angle:270,alpha:"100,100,100"}}):e={FCcolor:{color:l,angle:0,ratio:cb,alpha:Ha}},b={fillColor:fa(e),label:n.config.label,rawFillColor:l,strokeColor:fa(b),datasetObj:this},f[k].legendItemId=c.components.legend.addItems(n,this.legendInteractivity,b);for(k=0;k<a.length;k++)for(d=g.getColorObj(a[k].config.value).code,c=0;c<f.length;c++)if(f[c].config.code==
d){a[k].legendItemId=f[c].legendItemId;a[k].datasetIndex=c;a[k].datasetName=f[c].config.label;break}},legendInteractivity:function(a,c){var d=this.config,b=a.config.visible,e=a.dataSet,f=c.config,g=c.graphics,h=d.itemHiddenStyle.color,d=d.itemStyle.color,k=f.fillColor,f=f.strokeColor;b?e.hide(a):e.show(a);b?(g.legendItemSymbol&&g.legendItemSymbol.attr({fill:h,stroke:h}),g.legendItemText&&g.legendItemText.attr({fill:h}),g.legendIconLine&&g.legendIconLine.attr({stroke:h})):(g.legendItemSymbol&&g.legendItemSymbol.attr({fill:k,
stroke:f}),g.legendItemText&&g.legendItemText.attr({fill:d}),g.legendIconLine&&g.legendIconLine.attr({stroke:k}))},hide:function(a){var c=this.components.data,d=this.chart.get(ga,X),b=d.animType,e=d.animObj,f=d.dummyObj,d=d.duration,g=this.components.colorRange,h,k,m,n,p;n=a.config.code;h=0;for(k=c.length;h<k;h++)p=g.getColorObj(c[h].config.value).code,m=c[h].config,n===p&&(c[h].graphics.element&&c[h].graphics.element.animateWith(f,e,{"fill-opacity":0,"stroke-width":0},d,b),c[h].graphics.hotElement&&
c[h].graphics.hotElement.hide(),c[h].graphics.valEle&&c[h].graphics.valEle.hide(),c[h].graphics.tlLabel&&c[h].graphics.tlLabel.hide(),c[h].graphics.trLabel&&c[h].graphics.trLabel.hide(),c[h].graphics.blLabel&&c[h].graphics.blLabel.hide(),c[h].graphics.brLabel&&c[h].graphics.brLabel.hide(),m.visible=!1,c[h].visible=!1);a.visible=!1;a.config.visible=!1},show:function(a){var c=this.components.data,d=this.config,b=this.chart.get(ga,X),e=b.animType,f=b.animObj,g=b.dummyObj,b=b.duration,h,k,m=this.components.colorRange,
n,p,q,r;q=a.config.code;n=0;for(p=c.length;n<p;n++)h=c[n].config,k=h.plotFillAlpha/100,r=m.getColorObj(c[n].config.value).code,q===r&&(c[n].graphics.element&&c[n].graphics.element.attr({visibility:oa}).animateWith(g,f,{"fill-opacity":k,"stroke-width":d.plotBorderThickness},b,e),c[n].graphics.hotElement&&c[n].graphics.hotElement.show(),c[n].graphics.valEle&&c[n].graphics.valEle.show(),c[n].graphics.tlLabel&&c[n].graphics.tlLabel.show(),c[n].graphics.trLabel&&c[n].graphics.trLabel.show(),c[n].graphics.blLabel&&
c[n].graphics.blLabel.show(),c[n].graphics.brLabel&&c[n].graphics.brLabel.show(),h.visible=!0,c[n].visible=!0);a.visible=!0;a.config.visible=!0},updatePlot:function(a,c){var d=this.config,b=this.chart.get(ga,X),e=b.animType,f=b.animObj,g=b.dummyObj,b=b.duration,h,k,n=this.components.data,m,p,q;m=0;for(p=n.length;m<p;m++)h=n[m].config,k=h.plotFillAlpha/100,q=n[m].config.value,q<a||q>c?h.visible&&(n[m].graphics.element&&n[m].graphics.element.animateWith(g,f,{"fill-opacity":0,"stroke-width":0},b,e),
n[m].graphics.hotElement&&n[m].graphics.hotElement.hide(),n[m].graphics.valEle&&n[m].graphics.valEle.hide(),n[m].graphics.tlLabel&&n[m].graphics.tlLabel.hide(),n[m].graphics.trLabel&&n[m].graphics.trLabel.hide(),n[m].graphics.blLabel&&n[m].graphics.blLabel.hide(),n[m].graphics.brLabel&&n[m].graphics.brLabel.hide(),h.visible=!1,n[m].visible=!1):h.visible||(n[m].graphics.element&&n[m].graphics.element.animateWith(g,f,{"fill-opacity":k,"stroke-width":d.plotBorderThickness},b,e),n[m].graphics.hotElement&&
n[m].graphics.hotElement.show(),n[m].graphics.valEle&&n[m].graphics.valEle.show(),n[m].graphics.tlLabel&&n[m].graphics.tlLabel.show(),n[m].graphics.trLabel&&n[m].graphics.trLabel.show(),n[m].graphics.blLabel&&n[m].graphics.blLabel.show(),n[m].graphics.brLabel&&n[m].graphics.brLabel.show(),h.visible=!0,n[m].visible=!0)},draw:function(){var a=this.config,c=this.JSONData.data,d,b,e,f=this.visible;e=this.chart;var g=e.getJobList(),h=e.components.paper,k=e.components.xAxis[0],n=e.components.yAxis[0],m=
e.components.gradientLegend;d=e.graphics.datasetGroup;var p,q,r=e.graphics,v=e.config.showtooltip,u=e.get(ga,X),w=u.animType,z=u.animObj,A=u.dummyObj,B=u.duration,C,F,I,E=this.components.data,H,J,G,N,L=n.getAxisBase();b=n.yBasePos=n.getAxisPosition(L);var M=0,L=a.showShadow,V=a.plotBorderThickness,Y=a.plotRadius,T=this.graphics.container,W=this.graphics.trackerContainer;F=this.graphics.dataLabelContainer;var Q=this.graphics.shadowContainer;N=r.datalabelsGroup;var ba=r.trackerGroup,Z,r=e.components.legend.config.isActive,
da,ca=[],O=(this.components.removeDataArr||[]).length;m&&m.enabled&&(m.resetLegend(),m.clearListeners());m.notifyWhenUpdate(this.updatePlot,this);T||(T=this.graphics.container=h.group(sa,d),f||T.hide());W||(W=this.graphics.trackerContainer=h.group(wb,ba),f||W.hide());Q||(Q=this.graphics.shadowContainer=h.group($b,d).toBack(),f||Q.hide());F||(F=this.graphics.dataLabelContainer=h.group(Xb,N),f||F.hide());d=c&&c.length;W=e.config.canvasWidth/e.jsonData.columns.column.length;F=e.config.canvasHeight/e.jsonData.rows.row.length;
for(e=0;e<d;e++)if(H=E[e],ba=H.trackerConfig={},N=H&&H.config,b=N.setValue,m&&m.enabled&&!r&&(N.visible=!0),M=k.getCategoryFromId(c[e].columnid.toLowerCase()),da=n.getCategoryFromId(c[e].rowid.toLowerCase()),M.catObj&&da.catObj&&N.value!==D)if(a.mapByCategory||null!==b){if(p=M.index.toString()+da.index.toString(),ca.push(p),J=N.setLink,Z=N.colorArr,H.graphics||(E[e].graphics={}),G=N.displayValue,p=k.getAxisPosition(M.index)-W/2,q=n.getAxisPosition(da.index)-F/2,C=W,I=N.toolText,H.graphics.valEle&&
H.graphics.valEle.hide(),H.graphics.tlLabel&&H.graphics.tlLabel.hide(),H.graphics.trLabel&&H.graphics.trLabel.hide(),H.graphics.blLabel&&H.graphics.blLabel.hide(),H.graphics.brLabel&&H.graphics.brLabel.hide(),ba.eventArgs={index:e,link:J,value:N.percentValue||b,displayValue:G,columnId:M.catObj.id,rowId:da.catObj.id,tlLabel:N.tlLabel,trLabel:N.trLabel,blLabel:N.blLabel,brLabel:N.brLabel,toolText:I?I:"",id:D,datasetIndex:r?H.datasetIndex:void 0,datasetName:r?H.datasetName:void 0,visible:f},b=q,M=F,
b={x:p,y:b,width:C,height:M||1,r:Y,ishot:!v,fill:N.color,stroke:fa(Z[1]),"stroke-width":B?0:V,"stroke-dasharray":void 0,"fill-opacity":B?0:N.plotFillAlpha/100,"stroke-linejoin":Aa,visibility:N.visible?oa:ua},H._xPos=p,H._yPos=q,H._height=F,H._width=C,H.graphics.element?(b={x:p,y:q,width:C,height:F||1},H=H.graphics.element,H.animateWith(A,z,b,B,u.animType),H.attr({ishot:!v,fill:N.color,stroke:fa(Z[1]),"fill-opacity":N.visible?N.plotFillAlpha/100:0,"stroke-width":N.visible?V:0,"stroke-dasharray":void 0,
"stroke-linejoin":Aa,visibility:N.visible?oa:ua}),N.elemCreated=!1):(H=H.graphics.element=h.rect(b,T),H.animateWith(A,z,{"fill-opacity":N.plotFillAlpha/100,"stroke-width":V},B,w),N.elemCreated=!0),H.shadow({opacity:L},Q).data("BBox",void 0),J||v)F<Ta&&(q-=(Ta-F)/2,F=Ta),ba.attr={x:p,y:q,width:C,height:F,r:Y,cursor:J?"pointer":D,stroke:Ca,"stroke-width":V,fill:Ca,ishot:!0,visibility:N.visible?oa:ua}}else H.graphics.element&&H.graphics.element.hide(),H.graphics.hotElement&&H.graphics.hotElement.hide();
g.trackerDrawID.push(Ya.addJob(this.drawTracker,this,[],t.priorityList.tracker));this.drawn?this.drawLabel():g.labelDrawID.push(Ya.addJob(this.drawLabel,this,[],t.priorityList.label));this.drawn=!0;O&&this.remove()},drawTracker:function(){var a=this.JSONData.data,c=this.chart,d=this.components,b=d.pool,d=d.data,e=c.config.plothovereffect,f=c.components.paper,a=a&&a.length,g=this.graphics.trackerContainer,h,k,n,m,p,q,r,t,v=function(a){Z.call(this,c,a)},u=function(a){return function(b){var d=this.getData();
0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),Z.call(this,c,b,"DataPlotRollOver"))}},w=function(a){return function(b){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),Z.call(this,c,b,"DataPlotRollOut"))}};for(n=0;n<a;n++)if(m=d[n],void 0!==m&&(k=m&&m.config,h=m.trackerConfig,(p=m.graphics)&&p.element)){p=p.element;r=m.graphics.hotElement;if(t=h.attr)(r=m.graphics.hotElement)?r.attr(t):b&&b.hotElement[0]?(r=m.graphics.hotElement=
b.hotElement[0],b.hotElement.splice(0,1)):(r=m.graphics.hotElement=f.rect(t,g),q=!0);(r||p).data("eventArgs",h.eventArgs).data(ia,e).data("setRolloverAttr",k.setRolloverAttr||{}).data("setRolloutAttr",k.setRolloutAttr||{}).tooltip(h.eventArgs&&h.eventArgs.toolText);(q||k.elemCreated)&&(r||p).click(v).hover(u(p),w(p))}},drawLabel:function(){var a=this.chart,c=a.config,d=a.graphics,b=a.components.paper,e=a.linkedItems.smartLabel,f=a.config.dataLabelStyle,g=this.config,h=this.JSONData.data.length,q=
this.components.data,t=this.visible,v,p,u,w,z,B,C=this.graphics.dataLabelContainer,F=this.graphics.tlLabelContainer,H=this.graphics.blLabelContainer,I=this.graphics.trLabelContainer,K=this.graphics.brLabelContainer,J,M,E,V,W,G,N,L,Y,ba,da,T,Z,Q,a=a.get(ga,X),fa=a.animObj,ca=a.dummyObj,aa=a.duration,d=d.datalabelsGroup;C||(C=this.graphics.dataLabelContainer=b.group(Xb,d),t||C.hide());F||(F=this.graphics.tlLabelContainer=b.group("tlLabel",d));H||(H=this.graphics.blLabelContainer=b.group("blLabel",d));
I||(I=this.graphics.trLabelContainer=b.group("trLabel",d));K||(K=this.graphics.brLabelContainer=b.group("brLabel",d));t=g.tlLabelStyle;d=g.trLabelStyle;J=g.blLabelStyle;M=g.brLabelStyle;v={fontFamily:t.fontFamily,fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight,fontStyle:t.fontStyle};u={fontFamily:d.fontFamily,fontSize:d.fontSize,lineHeight:d.lineHeight,fontWeight:d.fontWeight,fontStyle:d.fontStyle};E={fontFamily:J.fontFamily,fontSize:J.fontSize,lineHeight:J.lineHeight,fontWeight:J.fontWeight,
fontStyle:J.fontStyle};V={fontFamily:M.fontFamily,fontSize:M.fontSize,lineHeight:M.lineHeight,fontWeight:M.fontWeight,fontStyle:M.fontStyle};e.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);e.setStyle(f);F.css(v);H.css(E);I.css(u);K.css(V);for(v=0;v<h;v++)if(c=q[v],void 0!==c&&(u=c.graphics))if(u=c&&c.config,E=u.setValue,g.mapByCategory||null!==E){if(p=u.displayValue,E=c.graphics.element)E=c._width,V=c._height,W=c._xPos,G=c._yPos,e.setStyle(f),gb(p)&&p!==A&&u.showValue?(N=e.getSmartText(p,E,V,!1),
p=N.text,w=G+.5*V,z=W+.5*E,c.graphics.valEle?(c.graphics.valEle.animateWith(ca,fa,{x:z,y:w},aa,a.animType),c.graphics.valEle.attr({text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:f.color,direction:u.textDirection,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]})):(p={text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:f.color,direction:u.textDirection,x:z,y:w,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,
f.borderPadding,f.borderRadius,f.borderDash]},c.graphics.valEle=b.text(p,C)),u.visible&&c.graphics.valEle.show(),p=u.tlLabel,z=u.trLabel,L=u.blLabel,Y=u.brLabel,B=gb(p)&&p!==A,ba=gb(z)&&z!==A,da=gb(L)&&L!==A,T=gb(Y)&&Y!==A,Z=E*(B&&ba?.5:.9),Q=.5*(V-(N&&N.height||0)),w=G+4,B?(e.setStyle(t),N=e.getSmartText(p,Z,Q,!1),p=N.text,B=W,c.graphics.tlLabel?(c.graphics.tlLabel.animateWith(ca,fa,{x:B+4,y:w},aa,a.animType),c.graphics.tlLabel.attr({text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:t.color,
"text-anchor":n,"vertical-align":k,direction:u.textDirection,"text-bound":[t.backgroundColor,t.borderColor,t.borderThickness,t.borderPadding,t.borderRadius,t.borderDash]})):(p={text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:t.color,"text-anchor":n,"vertical-align":k,direction:u.textDirection,x:B+4,y:w,"text-bound":[t.backgroundColor,t.borderColor,t.borderThickness,t.borderPadding,t.borderRadius,t.borderDash]},c.graphics.tlLabel=b.text(p,F)),u.visible&&c.graphics.tlLabel.show()):c.graphics.tlLabel&&
(c.graphics.tlLabel.remove(),delete c.graphics.tlLabel),ba?(e.setStyle(d),N=e.getSmartText(z,Z,Q,!1),p=N.text,B=W+E,c.graphics.trLabel?(c.graphics.trLabel.animateWith(ca,fa,{x:B-4,y:w},aa,a.animType),c.graphics.trLabel.attr({text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:d.color,"text-anchor":m,"vertical-align":k,direction:u.textDirection,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash]})):(p={text:p,title:N.tooltext||D,visibility:u.visible?
oa:ua,fill:d.color,"text-anchor":m,"vertical-align":k,direction:u.textDirection,x:B-4,y:w,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash]},c.graphics.trLabel=b.text(p,I)),u.visible&&c.graphics.trLabel.show()):c.graphics.trLabel&&(c.graphics.trLabel.remove(),delete c.graphics.trLabel),w=G+V-4,da?(e.setStyle(J),N=e.getSmartText(L,Z,Q,!1),p=N.text,B=W,c.graphics.blLabel?(c.graphics.blLabel.animateWith(ca,fa,{x:B+4,y:w},aa,a.animType),c.graphics.blLabel.attr({text:p,
title:N.tooltext||D,visibility:u.visible?oa:ua,fill:J.color,"text-anchor":n,"vertical-align":r,direction:u.textDirection,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]})):(p={text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:J.color,"text-anchor":n,"vertical-align":r,direction:u.textDirection,x:B+4,y:w,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]},c.graphics.blLabel=
b.text(p,H)),u.visible&&c.graphics.blLabel.show()):c.graphics.blLabel&&(c.graphics.blLabel.remove(),delete c.graphics.blLabel),T?(e.setStyle(J),N=e.getSmartText(Y,Z,Q,!1),p=N.text,B=W+E-4,c.graphics.brLabel?(c.graphics.brLabel.animateWith(ca,fa,{x:B,y:w},aa,a.animType),c.graphics.brLabel.attr({text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:M.color,"text-anchor":m,"vertical-align":r,direction:u.textDirection,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,
M.borderRadius,M.borderDash]})):(p={text:p,title:N.tooltext||D,visibility:u.visible?oa:ua,fill:M.color,"text-anchor":m,"vertical-align":r,direction:u.textDirection,x:B,y:w,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,M.borderRadius,M.borderDash]},c.graphics.brLabel=b.text(p,K)),u.visible&&c.graphics.brLabel.show()):c.graphics.brLabel&&(c.graphics.brLabel.remove(),delete c.graphics.brLabel)):(c.graphics.valEle&&(c.graphics.valEle.remove(),delete c.graphics.valEle),
c.graphics.tlLabel&&(c.graphics.tlLabel.remove(),delete c.graphics.tlLabel),c.graphics.trLabel&&(c.graphics.trLabel.remove(),delete c.graphics.trLabel),c.graphics.blLabel&&(c.graphics.blLabel.remove(),delete c.graphics.blLabel),c.graphics.brLabel&&(c.graphics.brLabel.remove(),delete c.graphics.brLabel))}else c.graphics.valEle&&c.graphics.valEle.hide(),c.graphics.tlLabel&&c.graphics.tlLabel.hide(),c.graphics.trLabel&&c.graphics.trLabel.hide(),c.graphics.blLabel&&c.graphics.blLabel.hide(),c.graphics.brLabel&&
c.graphics.brLabel.hide();this.labelDrawn=!0},remove:function(){var a=this.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),b=c.length,e,f=this.maxminFlag,g,h,k;for(k=0;k<b;k++)if(e=c[0],c.splice(0,1),e&&e.graphics){h=e.graphics;for(g in h)h[g].stop(),h[g].hide();e.graphics.element&&(d.element=d.element.concat(e.graphics.element));e.graphics.hotElement&&(d.hotElement=d.hotElement.concat(e.graphics.hotElement));e.graphics.label&&(d.label=d.label.concat(e.graphics.label))}a.pool=
d;f&&this.setMaxMin()},getEventArgs:function(a){var c=a.dataset.config||{};return{datasetName:c.label,datasetIndex:a.index,visible:c.visible}}},"Column"]);FusionCharts.register("component",["datasetGroup","heatmap",{},F]);FusionCharts.register("component",["dataset","Kagi",{type:"kagi",_parseShadowOptions:function(){var a=this.config;return{opacity:h(this.chart.jsonData.chart.showshadow,1)?a.alpha/100:0}},configure:function(){var a,c,d=this.chart,b=d.components.xAxis[0],e=0,f,g=[],l,m,n,u,p,v,w,z,
A,B,C=t.getDashStyle,D,F,K,H,I,E,J,M,G,N;A=0;var L;this.__base__.configure.call(this);a=this.components;f=a.data;l=this.config;m=this.JSONData.data;d=d.jsonData.chart;n=l.maxValue;u=l.minValue;c=a.removeDataArr||(a.removeDataArr=[]);a=!1;p=0;v=h(d.reversalvalue,-1);w=h(d.reversalpercentage,5);for(z=0;z<f.length;z+=1)f[z].config.__nullCount=A,null===f[z].config.setValue&&(c.push(f.splice(z,1)[0]),A++,--z);if(f.length){l.rallyColor=q(d.rallycolor,"FF0000");l.rallyAlpha=h(d.rallyalpha,d.linealpha,100);
l.declineColor=q(d.declinecolor,"0000FF");l.declineAlpha=h(d.declinealpha,d.linealpha,100);l.canvasPadding=h(d.canvaspadding,15);l.maxHShiftPercent=h(d.maxhshiftpercent,10);l.rallyThickness=h(d.rallythickness,d.linethickness,2);z=h(d.rallydashlen,d.linedashlen,5);A=h(d.rallydashgap,d.linedashgap,4);l.declineThickness=h(d.declinethickness,d.linethickness,2);c=h(d.declinedashlen,d.linedashlen,5);B=h(d.declinedashgap,d.linedashgap,4);l.lineDashed={"true":h(d.rallydashed,d.linedashed,0),"false":h(d.declinedashed,
d.linedashed,0)};l.rallyDashed=h(d.rallydashed,d.linedashed,0)?C(z,A,l.rallyThickness):"none";l.declineDashed=h(d.declinedashed,d.linedashed,0)?C(c,B,l.declineThickness):"none";l.canvasPadding=h(d.canvaspadding,this.canvasPadding,15);v=0<v?v:w*(n-u)/100;C=f[0].config.setValue;n=function(a,b){for(var c,d=1,e=f[0].config.setValue;d<a;)c=f[d].config.setValue,b?c<=e&&(f[d].config.isDefined=!1):c>=e&&(f[d].config.isDefined=!1),d+=1;f[0].config.vAlign=b?r:k;f[0].config.align="center"};u=m.length;for(w=
z=0;w<u;w+=1,z+=1)if(D=m[w],!D||!D.vline)if(c=f[z]&&f[z].config,F&&(F=!1),c&&(c.isDefined=!0),D.tooltext||this.JSONData.plottooltext||d.plottooltext||c&&(c.toolText+=c.displayValue),z&&c){c.isShift=void 0;K=f[z-1].config;c.vAlign="middle";c.align=Dc;c.showLabel=!1;A=null;B=c.setValue;H=f[z+1]&&f[z+1].config.setValue;I=Ea(C-B);a?B<J&&E?E=!1:B>M&&!E&&(E=!0):(B>C&&I>v?(E=!0,J=C,M=null,a=G=!0,n(z,E)):B<C&&I>v?(E=!1,J=null,M=C,G=!1,a=!0,n(z,E)):(G=E=null,a=!1),gb(K)&&(K.isRally=E),null!=E&&(f[0].config.isRally=
E));c.isRally=E;if(G&&B<C||!G&&B>C)A=C;N=A?A:B;I=Ea(N-H);H=null==G?null:G?N>H&&I>=v:N<H&&I>=v;if(K&&K.isShift)for(G?(J=C,L=r):G||(M=C,L=k),K=z;1<K;--K)if(f[K].y==C){f[K].vAlign=L;f[K].align="center";f[K].showLabel=!0;break}H?(p+=1,F=!0,G=!G,c.isShift=!0,C=N,g.push(m[z+c.__nullCount]),e=this._appendCategory(e,z,g,0)):G&&B>C||!G&&B<C?C=B:A=C;c.plotValue=A;c.objParams={isRally:E,lastHigh:M,lastLow:J,isRallyInitialised:a}}this._appendCategory(e,z,g,1);g.push(D);b.setCategory(g);l.shiftCount=p+1}},_appendCategory:function(a,
c,d,b){var e,f,g,l=this.JSONData.catData;if(a<l.length)for(e=a;e<l.length;e+=1,a=e){f=l[e];g=f.data;f=f.index-(e+1);if(f<c)g.lineposition=h(g.lineposition,b);else if(f>c)break;d.push(g)}return a},draw:function(){var a,c,d,b=this,e=b.graphics,f=b.JSONData;a=b.chart;var g=a.getJobList(),h=a.components,k=a.config,m=b.config,n=b.components,p=n.data,q=(n=n.removeDataArr)&&n.length,r=p&&p.length,n=p&&p.length,u=h.paper,v=h.xAxis[0],z,A,h=a.graphics,B=h.datalabelsGroup,C,D,F,H,E,I=b.components.data,J,G,
N,L=e.container,M=e.trackerContainer,Y=h.tracker,ba,T=h.datasetGroup,Z,h=m.shadow,Q,ca=e.dataLabelContainer,aa={},ia,oa,O,ra=function(){L.lineGroup.attr({"clip-rect":null});L.lineShadowGroup.show();L.anchorShadowGroup.show();L.anchorGroup.show();M.show();ca&&ca.show()},pa=!0,R=v.getAxisPosition(0),wa=v.getAxisPosition(1)-R,sa={"clip-rect":[W(0,k.canvasLeft),W(0,k.canvasTop),W(1,k.canvasWidth),W(1,k.canvasHeight)]},la={"clip-rect":[W(0,k.canvasLeft),W(0,k.canvasTop),1,W(1,k.canvasHeight)]},k=m.rallyThickness,
Ba=m.declineThickness,Ja={stroke:fa({color:m.rallyColor,alpha:m.rallyAlpha}),"stroke-linecap":V,"stroke-linejoin":V,"stroke-width":k,"stroke-dasharray":m.rallyDashed},ka={stroke:fa({color:m.declineColor,alpha:m.declineAlpha}),"stroke-linecap":V,"stroke-linejoin":V,"stroke-width":Ba,"stroke-dasharray":m.declineDashed},Ea={"true":k,"false":Ba},Da=[],La=[],ea=e.rallyElem,xa=e.declineElem,Fa=b.visible,Aa=v.getAxisPosition(0),Ca=p[0]&&!!p[0].isRally,Ma,R=R-wa/2,ya,Ha,Na,Oa=e.lineElement,Qa=b.pool||(b.pool=
{});a=a.get(ga,X);var Ga=a.duration||0,Ia=a.dummyObj,va=a.animObj,Ra=0,Ka=a.animType,Pa;m.imagesLoaded=0;q&&b.remove();if(p.length){ea&&ea.show();xa&&xa.show();L||(L=b.graphics.container={lineShadowGroup:u.group("connector-shadow",T).attr(la),anchorShadowGroup:u.group("anchor-shadow",T).attr(la),lineGroup:u.group(w,T).attr(la),anchorGroup:u.group("anchors",T).attr(la)},Fa||(L.lineShadowGroup.hide(),L.anchorShadowGroup.hide(),L.lineGroup.hide(),L.anchorGroup.hide()));M||(M=b.graphics.trackerContainer=
u.group("line-hot").trackTooltip(!0),Fa||M.hide());I||(I=b.components.data=[]);Y&&Y.appendChild(M);ca||(ca=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||u.group(Xb,B),Fa||ca.hide());da(r,n);if(p[0].config.setValue)ya=p[0].config.plotY;else for(a=1;a<n;a+=1)if(H=p[a].config.setValue){ya=p[a].config.plotY;break}Ca=!!p[0].config.isRally;a=ja(ya)+Ea[Ca]%2/2;Ca?Da.push("M",R,a,"H",Aa):La.push("M",R,a,"H",Aa);Sa(p,function(a,e){a=a.config;J=I[e];O=J.config;c=a.trackerConfig={};d=J.graphics;
Pa=d.image;Z=O.hoverEffects;H=O.setValue;E=O.displayValue;Ha=p[e+1]&&p[e+1].config||{};Na=["M",Aa,ya];Ca=a.isRally;a.isShift&&(Aa+=wa,ya=a.graphY,Na.push("H",Aa),Na[2]=ja(Na[2])+Ea[Ca]%2/2,Na=Na.toString(),Ca?Da.push(Na):La.push(Na),Na=["M",Aa,ya]);Ha.isChanged&&(ya=Ha.ty,Na.push("V",ya),Na[1]=ja(Na[1])+Ea[Ca]%2/2,Na=Na.toString(),Ca?Da.push(Na):La.push(Na),Na=["M",Aa,ya]);Ma=Ha.isRally;Ha.graphY!==Na[2]&&(Na.push("V",Ha.graphY),Na[1]=ja(Na[1])+Ea[Ma]%2/2,Na=Na.toString(),Ma?Da.push(Na):La.push(Na));
ya=Ha.graphY;z=J._xPos=v.getAxisPosition(a.plotX);A=J._yPos=a.plotY;aa=O.anchorProps;oa=aa.symbol;Q=aa.shadow;C=a.finalTooltext=a.toolText;F=O.setLink;void 0!==A&&!isNaN(A)&&a.isDefined?(a.eventArgs={index:e,link:F,value:H,displayValue:E,categoryLabel:O.label,toolText:C,id:m.userID,datasetIndex:0,datasetName:f.seriesname,visible:Fa},G=N={},aa.imageUrl?(ia=new Xa,O.anchorImageLoaded=!1,ia.onload=b._onAnchorImageLoad(b,e,void 0,z,A,J),ia.onerror=b._onErrorSetter(b,e),ia.src=aa.imageUrl,Ra++):(Pa&&Pa.hide(),
(D=d.element)?(D.animateWith(Ia,va,{polypath:[oa[1]||2,z,A,aa.radius,aa.startAngle,0]},Ga,Ka),pa&&ra(),pa=!1):(D=Qa.element&&Qa.element.length?d.element=Qa.element.shift():d.element=u.polypath(L.anchorGroup),D.attr({polypath:[oa[1]||2,z,A,aa.radius,aa.startAngle,0]})),D.attr({fill:fa({color:aa.bgColor,alpha:aa.bgAlpha}),stroke:fa({color:aa.borderColor,alpha:aa.borderAlpha}),"stroke-width":aa.borderThickness,visibility:aa.radius?Fa:ua}).shadow(Q,L.anchorShadowGroup),ba=W(aa.radius,Z&&Z.anchorRadius||
0,Ta)+aa.borderThickness/2,c.trackerRadius=ba),Z.enabled&&(N={polypath:[Z.anchorSides||2,z,A,Z.anchorRadius,Z.startAngle,Z.dip],fill:fa({color:Z.anchorColor,alpha:Z.anchorBgAlpha}),stroke:fa({color:Z.anchorBorderColor,alpha:Z.anchorBorderAlpha}),"stroke-width":Z.anchorBorderThickness},G={polypath:[aa.sides,z,A,aa.radius,aa.startAngle,0],fill:fa({color:aa.bgColor,alpha:aa.bgAlpha}),stroke:fa({color:aa.borderColor,alpha:aa.borderAlpha}),"stroke-width":aa.borderThickness},D&&D.data("anchorRadius",aa.radius).data("anchorHoverRadius",
Z.anchorRadius).data("setRolloverAttr",N).data("setRolloutAttr",G))):(d.element&&d.element.hide(),Pa&&Pa.hide())});Oa||(ea||(Oa=ea=e.rallyElem=u.path(L.lineGroup)),ea.animateWith(Ia,va,{path:Da},pa?0:Ga,Ka).attr(Ja).shadow(k&&h,L.lineShadowGroup),xa||(Oa=xa=e.declineElem=u.path(L.lineGroup)),xa.animateWith(Ia,va,{path:La},pa?0:Ga,Ka).attr(ka).shadow(Ba&&h,L.lineShadowGroup));Ga&&pa||(pa=!1);m.noOfImages=m.totalImages=Ra;0===Ra&&(!0===b.drawn?b.drawTracker():g.trackerDrawID.push(Ya.addJob(b.drawTracker,
b,[],t.priorityList.tracker)),b.drawn?b.drawLabel():g.labelDrawID.push(Ya.addJob(b.drawLabel,b,[],t.priorityList.tracker)));b.drawn=!0;L.anchorGroup.animateWith(Ia,va,sa,Ga,Ka);ca.hide();L.lineShadowGroup.animateWith(Ia,va,sa,Ga,Ka);L.anchorShadowGroup.animateWith(Ia,va,sa,Ga,Ka);L.lineShadowGroup.animateWith(Ia,va,sa,Ga,Ka);L.lineGroup.animateWith(Ia,va,sa,Ga,Ka,ra)}else ea&&ea.hide(),xa&&xa.hide()},hidingPosition:function(){return function(a){a=a.graphics.element;return{polypath:(a&&a.attr("polypath"))[3]=
0,r:0,text:D}}}},"Line"]);ab.addSymbol({resizeIcon:function(a,c,d){var b=h(d,15)/3,e=[];0>b&&(b=-b,d=-d,a+=d-b/2,c+=d-b/2);for(d=3;0<d;--d)e.push("M",a-b*d,c-3,"L",a-3,c-b*d);return e},closeIcon:function(a,c,d){var b=1.3*d,e=43*Bc,f=48*Bc,g=a+b*Tb(e),e=c+b*hb(e),h=a+b*Tb(f),k=c+b*hb(f),f=.71*(d-2);d=.71*(d-2);b=["A",b,b,0,1,0,h,k];g=["M",g,e];g=g.concat(b);return g=g.concat(["M",a+f,c-d,"L",a-f,c+d,"M",a-f,c-d,"L",a+f,c+d])},configureIcon:function(a,c,d){--d;var b=.71*d,e=.71*(d+2),f=a-d,g=c-d,h=
a+d;d=c+d;var k=a+.5,m=c+.5,n=a-.5,p=c-.5,q=f-2,r=g-2,t=h+2,u=d+2,v=a+b,w=c+b,z=a-b,b=c-b,A=a+e,B=c+e;a-=e;c-=e;return["M",f,m,"L",q,m,q,p,f,p,z-.25,b+.25,a-.25,c+.25,a+.25,c-.25,z+.25,b-.25,n,g,n,r,k,r,k,g,v-.25,b-.25,A-.25,c-.25,A+.25,c+.25,v+.25,b+.25,h,p,t,p,t,m,h,m,v+.25,w-.25,A+.25,B-.25,A-.25,B+.25,v-.25,w+.25,k,d,k,u,n,u,n,d,z+.25,w+.25,a+.25,B+.25,a-.25,B-.25,z-.25,w-.25,"Z"]},axisIcon:function(a,c,d){--d;var b=.33*d,e=d/2,f=a-d,g=c-d,h=a+e;d=c+d;a-=e;e=c+b;c-=b;return["M",f,g,"L",h,g,h,
d,f,d,"M",a,e,"L",h,e,"M",a,c,"L",h,c]},loggerIcon:function(a,c,d){--d;a-=d;c-=d;var b=a+2*d,e=a+2,f=b-2,g=c+2;d=g+d;var h=d+2;return["M",a,c,"L",b,c,b,g,f,g,f,d,b,d,b,h,a,h,a,d,e,d,e,g,a,g,a,c]}})},[3,2,1,"release"]]);wb&&(rb.FusionCharts=FusionCharts);return FusionCharts});
