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

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

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

 @version 3.11.0

 @attributions (infers respective third-party copyrights)
 Raphael 2.1.0 (modified as 'Red Raphael') <http://raphaeljs.com/license.html>
 JSON v2 <http://www.JSON.org/js.html>
 Firebug Lite 1.3.0 <http://getfirebug.com/firebuglite>
*/
(function(){if(!window.FusionCharts||!window.FusionCharts.version){var k=window,m=k.document,C=k.navigator,r={window:k},e=r.modules={},a=r.interpreters={},M=Object.prototype.toString,J=/msie/i.test(C.userAgent)&&!k.opera,I=/loaded|complete/,n=!1,z=function(){var a=r.ready;r.ready=!0;r.raiseEvent&&(r.readyNotified=!0,r.raiseEvent("ready",{version:r.core.version,now:!a},r.core));r.readyNow=!a},G=function(a,e){var c,p;if(e instanceof Array)for(c=0;c<e.length;c+=1)"object"!==typeof e[c]?a[c]=e[c]:("object"!==
typeof a[c]&&(a[c]=e[c]instanceof Array?[]:{}),G(a[c],e[c]));else for(c in e)"object"===typeof e[c]?(p=M.call(e[c]),"[object Object]"===p?("object"!==typeof a[c]&&(a[c]={}),G(a[c],e[c])):"[object Array]"===p?(a[c]instanceof Array||(a[c]=[]),G(a[c],e[c])):a[c]=e[c]):a[c]=e[c];return a};r.extend=function(a,e,c,p){var d;c&&a.prototype&&(a=a.prototype);if(!0===p)G(a,e);else for(d in e)a[d]=e[d];return a};r.uniqueId=function(){return"chartobject-"+(r.uniqueId.lastId+=1)};r.uniqueId.lastId=0;r.policies=
{options:{chartTypeSourcePath:["typeSourcePath",""],product:["product","v3"],insertMode:["insertMode","replace"],safeMode:["safeMode",!0],overlayButton:["overlayButton",void 0],containerBackgroundColor:["containerBackgroundColor","#ffffff"],containerBackgroundOpacity:["containerBackgroundOpacity",1],containerClassName:["containerClassName","fusioncharts-container"],chartType:["type",void 0],baseChartMessageFont:["baseChartMessageFont","Verdana,sans"],baseChartMessageFontSize:["baseChartMessageFontSize",
"10"],baseChartMessageColor:["baseChartMessageColor","#666666"],baseChartMessageImageHAlign:["baseChartMessageImageHAlign","middle"],baseChartMessageImageVAlign:["baseChartMessageImageVAlign","middle"],baseChartMessageImageAlpha:["baseChartMessageImageAlpha",100],baseChartMessageImageScale:["baseChartMessageImageScale",100],dataLoadStartMessage:["dataLoadStartMessage","Retrieving data. Please wait."],dataLoadErrorMessage:["dataLoadErrorMessage","Error in loading data."],dataInvalidMessage:["dataInvalidMessage",
"Invalid data."],dataEmptyMessage:["dataEmptyMessage","No data to display."],typeNotSupportedMessage:["typeNotSupportedMessage","Chart type not supported."],browserNotSupportedMessage:["browserNotSupportedMessage","This browser is not supported."],loadMessage:["loadMessage","Loading chart. Please wait."],renderErrorMessage:["renderErrorMessage","Unable to render chart."]},attributes:{lang:["lang","EN"],id:["id",void 0]},width:["width","400"],height:["height","300"],src:["swfUrl",""]};a.stat="swfUrl id width height debugMode registerWithJS backgroundColor scaleMode lang detectFlashVersion autoInstallRedirect".split(" ");
r.parsePolicies=function(a,e,c){var p,d,B;for(d in e)if(r.policies[d]instanceof Array)B=c[e[d][0]],a[d]=void 0===B?e[d][1]:B;else for(p in"object"!==typeof a[d]&&(a[d]={}),e[d])B=c[e[d][p][0]],a[d][p]=void 0===B?e[d][p][1]:B};r.parseCommands=function(e,t,c){var p,d;"string"===typeof t&&(t=a[t]||[]);p=0;for(d=t.length;p<d;p++)e[t[p]]=c[p];return e};r.registrars={module:function(){return r.core.apply(r.core,arguments)}};r.core=function(q){if(!(this instanceof r.core)){if(1===arguments.length&&q instanceof
Array&&"private"===q[0]){if(e[q[1]])return;e[q[1]]={};q[3]instanceof Array&&(r.core.version[q[1]]=q[3]);return"function"===typeof q[2]?q[2].call(r,e[q[1]]):r}if(1===arguments.length&&"string"===typeof q)return r.core.items[q];r.raiseError&&r.raiseError(this,"25081840","run","",new SyntaxError('Use the "new" keyword while creating a new FusionCharts object'))}var t={};this.__state={};1===arguments.length&&"object"===typeof arguments[0]?t=arguments[0]:r.parseCommands(t,a.stat,arguments);1<arguments.length&&
"object"===typeof arguments[arguments.length-1]&&(delete t[a.stat[arguments.length-1]],r.extend(t,arguments[arguments.length-1]));this.id="undefined"===typeof t.id?this.id=r.uniqueId():t.id;this.args=t;r.core.items[this.id]instanceof r.core&&r.raiseWarning(this,"06091847","param","",Error('A FusionCharts object with the specified id "'+this.id+'" already exists. Renaming it to '+(this.id=r.uniqueId())));r.parsePolicies(this,r.policies,t);this.attributes.id=this.id;this.resizeTo&&this.resizeTo(t.width,
t.height,!0);this.chartType&&this.chartType(t.type||t.swfUrl,!0);r.raiseEvent("beforeInitialize",t,this);r.core.items[this.id]=this;r.core.defaultOptions=r.core.options;r.raiseEvent("initialized",t,this);return this};r.core.prototype={};r.core.prototype.constructor=r.core;r.extend(r.core,{id:"FusionCharts",version:["3","11","0"],items:{},options:{},getObjectReference:function(a){return r.core.items[a].ref},register:function(a){return r.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&r.registrars[a].apply(r.core,
Array.prototype.slice.call(arguments,1))},get:function(a){return r.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&r.registrars[a].apply(r.core,Array.prototype.slice.call(arguments,1))}});k.FusionCharts=r.core;k.FusionMaps&&k.FusionMaps.legacy&&(r.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),n=!0);I.test(m.readyState)||m.loaded?(r.ready=!0,setTimeout(z,1)):function(){function a(){arguments.callee.done||(arguments.callee.done=!0,c&&clearTimeout(c),n||(k.FusionMaps&&
k.FusionMaps.legacy&&r.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),k.FusionMaps=r.core),setTimeout(z,1))}function e(){I.test(m.readyState)?a():c=setTimeout(e,10)}var c,p;m.addEventListener?m.addEventListener("DOMContentLoaded",a,!1):m.attachEvent&&k.attachEvent("onLoad",a);if(J)try{"https:"===k.location.protocol?m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="//:">\x3c/script>'):m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="javascript:void(0)">\x3c/script>'),
p=m.getElementById("__ie_onload_fusioncharts"),p.onreadystatechange=function(){"complete"==this.readyState&&a()}}catch(d){}/WebKit/i.test(C.userAgent)&&(c=setTimeout(e,10));k.onload=function(c){return function(){a();c&&c.call&&c.call(k)}}(k.onload)}();k.FusionMaps=r.core}})();
FusionCharts.register("module",["private","modules.mantle.errormanager",function(){var k=this,m=k.window,C={type:"TypeException",range:"ValueRangeException",impl:"NotImplementedException",param:"ParameterException",run:"RuntimeException",comp:"DesignTimeError",undefined:"UnspecifiedException"},r=function(a,e,J,I,n,z){var G="#"+e+" "+(a?a.id:"unknown-source")+I+" "+z+" >> ";n instanceof Error?(n.name=C[J],n.module="FusionCharts"+I,n.level=z,n.message=G+n.message,G=n.message,m.setTimeout(function(){throw n;
},0)):G+=n;e={id:e,nature:C[J],source:"FusionCharts"+I,message:G};k.raiseEvent(z,e,a);if("function"===typeof m["FC_"+z])m["FC_"+z](e)},e;k.raiseError=function(a,e,k,m,n){r(a,e,k,m,n,"Error")};k.raiseWarning=function(a,e,k,m,n){r(a,e,k,m,n,"Warning")};e={outputHelpers:{text:function(a,k){e.outputTo("#"+a.eventId+" ["+(a.sender.id||a.sender).toString()+'] fired "'+a.eventType+'" event. '+("error"===a.eventType||"warning"===a.eventType?k.message:""))},event:function(a,e){this.outputTo(a,e)},verbose:function(a,
k){e.outputTo(a.eventId,a.sender.id,a.eventType,k)}},outputHandler:function(a,m){"function"!==typeof e.outputTo?k.core["debugger"].outputFailed=!0:(k.core["debugger"].outputFailed=!1,e.currentOutputHelper(a,m))},currentOutputHelper:void 0,outputTo:void 0,enabled:!1};e.currentOutputHelper=e.outputHelpers.text;k.extend(k.core,{"debugger":{syncStateWithCharts:!0,outputFormat:function(a){return a&&"function"===typeof a.toLowerCase&&"function"===typeof e.outputHelpers[a=a.toLowerCase()]?(e.currentOutputHelper=
e.outputHelpers[a],!0):!1},outputTo:function(a){"function"===typeof a?e.outputTo=a:null===a&&(k.core["debugger"].enable(!1),delete e.outputTo)},enable:function(a,m,J){var I;"object"===typeof a&&1===arguments.length&&(I=a,a=I.state,m=I.outputTo,J=I.outputFormat);"function"===typeof a&&("string"!==typeof m||2!==arguments.length&&!I||(J=m),m=a,a=!0);if("boolean"===typeof a&&a!==e.enabled)k.core[(e.enabled=a)?"addEventListener":"removeEventListener"]("*",e.outputHandler);"function"===typeof m&&(e.outputTo=
m);k.core["debugger"].outputFormat(J);return e.enabled},enableFirebugLite:function(){var a;m.console&&m.console.firebug?k.core["debugger"].enable(m.console.log,"verbose"):((a=m.document.getElementsByTagName("html"))&&a[0].setAttribute("debug","true"),k.loadScript("https://getfirebug.com/firebug-lite.js#overrideConsole=false,startOpened=true",function(){k.core["debugger"].enable(m.console.log,"verbose")},"{ startOpened: true }",!0,!0))}},debugMode:{enabled:function(){m.setTimeout(function(){throw Error("Deprecated! Please use FusionCharts.debugger.enable instead.");
},0);return k.core["debugger"].enable.apply(k.core["debugger"],arguments)}}},!1)}]);
FusionCharts.register("module",["private","modules.mantle.eventmanager",function(){var k=this,m=k.window,C=k.core,r=m.Object.prototype.toString,e=r.call([]),a=function(a,e,t,c){try{a[0].call(e,t,c||{})}catch(p){setTimeout(function(){throw p;},0)}},M=function(e,q,t){if(e instanceof Array)for(var c=0,p;c<e.length;c+=1){if(e[c][1]===q.sender||void 0===e[c][1])p=e[c][1]===q.sender?q.sender:k.core,a(e[c],p,q,t),!0===q.detached&&(e.splice(c,1),--c,q.detached=!1);if(!0===q.cancelled)break}},J={unpropagator:function(){return!1===
(this.cancelled=!0)},detacher:function(){return!1===(this.detached=!0)},undefaulter:function(){return!1===(this.prevented=!0)},listeners:{},lastEventId:0,addListener:function(a,q,t){var c,p;if(r.call(a)===e){c=[];for(p=0;p<a.length;p+=1)c.push(J.addListener(a[p],q,t));return c}if("string"!==typeof a)k.raiseError(t||k.core,"03091549","param","::EventTarget.addListener",Error("Unspecified Event Type"));else if("function"!==typeof q)k.raiseError(t||k.core,"03091550","param","::EventTarget.addListener",
Error("Invalid Event Listener"));else return a=a.toLowerCase(),J.listeners[a]instanceof Array||(J.listeners[a]=[]),J.listeners[a].push([q,t]),q},removeListener:function(a,e,t){var c;if("function"!==typeof e)k.raiseError(t||k.core,"03091560","param","::EventTarget.removeListener",Error("Invalid Event Listener"));else if(a instanceof Array)for(c=0;c<a.length;c+=1)J.removeListener(a[c],e,t);else if("string"!==typeof a)k.raiseError(t||k.core,"03091559","param","::EventTarget.removeListener",Error("Unspecified Event Type"));
else if(a=a.toLowerCase(),a=J.listeners[a],a instanceof Array)for(c=0;c<a.length;c+=1)a[c][0]===e&&a[c][1]===t&&(a.splice(c,1),--c)},triggerEvent:function(a,e,t,c,p,d){if("string"!==typeof a)k.raiseError(e,"03091602","param","::EventTarget.dispatchEvent",Error("Invalid Event Type"));else{a=a.toLowerCase();var B={eventType:a,eventId:J.lastEventId+=1,sender:e||Error("Orphan Event"),cancelled:!1,stopPropagation:this.unpropagator,prevented:!1,preventDefault:this.undefaulter,detached:!1,detachHandler:this.detacher};
M(J.listeners[a],B,t);M(J.listeners["*"],B,t);switch(B.prevented){case !0:if("function"===typeof d)try{d.call(c||e||m,B,t||{})}catch(n){setTimeout(function(){throw n;},0)}break;default:if("function"===typeof p)try{p.call(c||e||m,B,t||{})}catch(l){setTimeout(function(){throw l;},0)}}return!0}}},I=k.raiseEvent=function(a,e,t,c,p,d){return J.triggerEvent(a,t,e,c,p,d)},n=k.legacyEventList={},z={};k.disposeEvents=function(a){var e,t;for(e in J.listeners)for(t=0;t<J.listeners[e].length;t+=1)J.listeners[e][t][1]===
a&&J.listeners[e].splice(t,1)};k.raiseEventWithLegacy=function(a,e,t,c,p,d,B){var k=n[a];I(a,e,t,p,d,B);k&&"function"===typeof m[k]&&setTimeout(function(){m[k].apply(p||m,c)},0)};k.raiseEventGroup=function(a,e,t,c,p,d,B){var n=c.id,l=a+n;z[l]?(clearTimeout(z[l]),delete z[l]):n&&l?z[l]=setTimeout(function(){I(e,t,c,p,d,B);delete z[l]},0):I(e,t,c,p,d,B)};k.addEventListener=function(a,e){return J.addListener(a,e)};k.removeEventListener=function(a,e){return J.removeListener(a,e)};k.extend(C,{addEventListener:function(a,
e){return J.addListener(a,e)},removeEventListener:function(a,e){return J.removeListener(a,e)},ready:function(a,e,t){k.ready?(C.ready=function(c,a){"function"===typeof c&&setTimeout(function(){c.call(a||C,e||C)},0)},C.ready(a,t)):"function"===typeof a&&C.addEventListener("ready",function(){C.ready(a,e,t)});return this}});C.on=C.addEventListener;k.extend(C.prototype,{addEventListener:function(a,e){return J.addListener(a,e,this)},removeEventListener:function(a,e){return J.removeListener(a,e,this)}});
C.prototype.on=C.prototype.addEventListener;k.policies.options.events=["events",{}];k.addEventListener("beforeInitialize",function(a){a=a.sender;var e=a.options.events,t;if(e)for(t in e)"function"===typeof e[t]&&a.addEventListener(t,e[t])});k.ready&&!k.readyNotified&&(k.readyNotified=!0,k.raiseEvent("ready",{version:k.core.version,now:k.readyNow},k.core))}]);
FusionCharts.register("module",["private","modules.mantle.ajax",function(){var k=this,m=k.window,C=parseFloat(m.navigator.appVersion.split("MSIE")[1]),r=5.5<=C&&7>=C?!0:!1,e=/mozilla/i.test(m.navigator.userAgent),a="file:"===m.location.protocol,M=m.ActiveXObject,J=(!M||!a)&&m.XMLHttpRequest,I={objects:0,xhr:0,requests:0,success:0,failure:0,idle:0},n=function(){var a;if(J)return n=function(){I.xhr++;return new J},n();try{a=new M("Msxml2.XMLHTTP"),n=function(){I.xhr++;return new M("Msxml2.XMLHTTP")}}catch(e){try{a=
new M("Microsoft.XMLHTTP"),n=function(){I.xhr++;return new M("Microsoft.XMLHTTP")}}catch(q){a=!1}}return a};k.core.ajax={stats:function(a){return a?I[a]:k.extend({},I)},headers:{"If-Modified-Since":"Sat, 29 Oct 1994 19:43:31 GMT","X-Requested-With":"XMLHttpRequest","X-Requested-By":"FusionCharts",Accept:"text/plain, */*","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}};C=k.ajax=function(a,e){this.onSuccess=a;this.onError=e;this.open=!1;I.objects++;I.idle++};k.extend(C.prototype,
{headers:k.core.ajax.headers,transact:function(z,J,q,t){var c=this,p=c.xmlhttp,d=c.headers,B=c.onError,Q=c.onSuccess;z="POST"===z;var l,w=Object.prototype.hasOwnProperty,H;-1!==J.search(/^(http:\/\/|https:\/\/)/)&&m.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(J)[2]?delete d["X-Requested-By"]:!w.call(d,"X-Requested-By")&&(d["X-Requested-By"]="FusionCharts");if(!p||r||e)p=n(),c.xmlhttp=p;p.onreadystatechange=function(){try{4===p.readyState&&(!p.status&&a||200<=p.status&&300>p.status||
304===p.status||1223===p.status||0===p.status?(Q&&Q(p.responseText,c,t,J),I.success++):B&&(B(Error("XmlHttprequest Error"),c,t,J),I.failure++),I.idle--,c.open=!1)}catch(d){B&&B(d,c,t,J),m.FC_DEV_ENVIRONMENT&&setTimeout(function(){throw d;},0),I.failure++}};try{p.open(z?"POST":"GET",J,!0);p.overrideMimeType&&p.overrideMimeType("text/plain");if(z)if("string"===typeof q)l=q;else{l=[];for(H in q)l.push(H+"="+(q[H]+"").replace(/\=/g,"%3D").replace(/\&/g,"%26"));l=l.join("&")}else l=null;for(H in d)p.setRequestHeader(H,
d[H]);p.send(l);I.requests++;I.idle++;c.open=!0}catch(F){k.raiseError(k.core,"1110111515A","run","XmlHttprequest Error",F.message)}return p},get:function(a,e){return this.transact("GET",a,void 0,e)},post:function(a,e,q){return this.transact("POST",a,e,q)},abort:function(){var a=this.xmlhttp;this.open=!1;return a&&"function"===typeof a.abort&&a.readyState&&0!==a.readyState&&a.abort()},dispose:function(){this.open&&this.abort();delete this.onError;delete this.onSuccess;delete this.xmlhttp;delete this.open;
I.objects--;return null}})}]);
FusionCharts.register("module",["private","modules.mantle.runtime;1.1",function(){var k=this,m=k.window,C=/(^|[\/\\])(fusioncharts\.js)([\?#].*)?$/ig,r=/[\\\"<>;&]/,e=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,a={},M={},J={},I={},n=k.purgeDOM=function(a){var e=a.attributes,c,p;if(e)for(c=e.length-1;0<=c;--c)p=e[c].name,"function"===typeof a[p]&&(a[p]=null);if(e=a.childNodes)for(e=e.length,c=0;c<e;c+=1)n(a.childNodes[c])},z=function(a,e,c){var p,d;for(p in a)if(a[p]instanceof Array)e[a[p][0]]=c[p];else for(d in a[p])e[a[p][d][0]]=
c[p][d]},G=/^(FusionCharts|FusionWidgets|FusionMaps)/;k.getScriptBaseUri=function(a){var e=m.document.getElementsByTagName("script"),c=e.length,p,d;for(d=0;d<c;d+=1)if(p=e[d].getAttribute("src"),void 0!==p&&null!==p&&null!==p.match(a))return p.replace(a,"$1")};k.core.options.scriptBaseUri=function(){var a=k.getScriptBaseUri(C);return void 0===a?(k.raiseError(FusionCharts,"1603111624","run",">GenericRuntime~scriptBaseUri","Unable to locate FusionCharts script source location (URL)."),""):a}();k.isXSSSafe=
function(a,n){return n&&null!==e.exec(a)?!1:null===r.exec(a)};k.xssEncode=function(a){return null===a||void 0===a||"function"!==typeof a.toString?"":a=a.toString().replace(/&/g,"&amp;").replace(/\'/g,"&#39;").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")};k.loadScript=function(e,n,c,p,d){if(!e)return!1;var B=n&&n.success||n,z=n&&n.failure,l,w={type:"script",success:!1},H=function(){I[l]=clearTimeout(I[l]);w.success?B&&B(e,l):z&&z(e,l);k.raiseEvent("externalresourceload",w,k.core)};
d=d?"":k.core.options.scriptBaseUri;l=d+e;k.isXSSSafe(l,!1)||(l="function"===typeof m.encodeURIComponent?m.encodeURIComponent(l):m.escape(l));w.path=d;w.src=l;w.file=e;if(!0===J[l]&&p)return w.success=!0,w.notReloaded=!0,"function"===typeof n&&(n(),k.raiseEvent("externalresourceload",w,k.core)),!0;if(a[l]&&p)return!1;a[l]=!0;M[l]&&M[l].parentNode&&M[l].parentNode.removeChild(M[l]);n=M[l]=m.document.createElement("script");n.type="text/javascript";n.src=l;c&&(n["\v"==="v"?"text":"innerHTML"]=c);"function"===
typeof B&&(J[l]=!1,I[l]=clearTimeout(I[l]),n.onload=function(){J[l]=!0;w.success=!0;H()},n.onerror=function(){J[l]=!1;a[l]=!1;H()},n.onreadystatechange=function(){if("complete"===this.readyState||"loaded"===this.readyState)J[l]=!0,w.success=!0,H()});m.document.getElementsByTagName("head")[0].appendChild(n);"function"===typeof z&&(I[l]=setTimeout(function(){J[l]||H()},k.core.options.html5ResourceLoadTimeout||15E3));return!0};k.capitalizeString=function(a,e){return a?a.replace(e?/(^|\s)([a-z])/g:/(^|\s)([a-z])/,
function(a,p,d){return p+d.toUpperCase()}):a};k.extend(k.core,{clone:function(a,e){var c=typeof a,p,d=k.extend({},this.args,!1,!1);z(k.policies,d,this);z(k.renderer.getRendererPolicy(this.options.renderer),d,this);delete d.id;delete d.animate;delete d.stallLoad;p=d.link;d=k.extend({},d,!1,!1);d.link=p;switch(c){case "object":k.extend(d,a);break;case "boolean":e=a}return e?d:new k.core(d)},isActive:function(){if(!this.ref||m.document.getElementById(this.id)!==this.ref)return!1;try{return G.test(this.ref.signature())}catch(a){return!1}},
chartType:function(a,e){var c=this.src,p=!0===e,d=this.options,B;"string"===typeof a&&(e="object"===typeof e?e:{},c=a.replace(/[\?\#][\s\S]*$/g,""),B=null!==c.match(/\.swf\s*?$/ig),c=c.replace(/\.swf\s*?$/ig,""),d.chartType=c.replace(/^[\s\S]*\//ig,"").replace(/^fcmap_/i,""),d.chartTypeSourcePath=-1===c.indexOf("/")?e.chartTypeSourcePath||this.options.chartTypeSourcePath||k.core.options.chartTypeSourcePath||"":c.replace(/[^\/]*?$/ig,""),this.src=((k.core.options.scriptBaseUri||"")+(d.chartTypeSourcePath||
k.core.options.chartTypeSourcePath||"")).replace(/\/\s*$/g,"")+"/"+d.chartType.replace(/\.swf\s*?$/ig,"")+".swf",B&&(k.raiseWarning(this,"08101320181","comp","FusionCharts#chartType",'Chart type has ".swf" in alias and as such has been deprecated. Please use chart type alias.'),d.chartTypeSourcePath=k.core.options.chartTypeSourcePath||""),void 0!==e.dataSource&&null!==e.dataSource?this.setChartData(e.dataSource,e.dataFormat,e.dataConfiguration):this.isActive()&&!p&&this.render());return(d.chartType||
"").toLowerCase()}},!0);m.getChartFromId=function(a){k.raiseWarning(this,"11133001041","comp","GenericRuntime~getObjectFromId()",'Use of deprecated getChartFromId() or getMapFromId(). Replace with "FusionCharts()" or FusionCharts.items[].');return k.core.items[a]instanceof k.core?k.core.items[a].ref:m.swfobject&&m.swfobject.getObjectById(a)};m.getMapFromId=m.getChartFromId}]);
FusionCharts.register("module",["private","api.printmanager",function(){var k=this;k.extend(k.core,{printManager:{configure:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.configure","PrintManager is deprecated")},isReady:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.isReady","PrintManager is deprecated");return!1},enabled:function(){k.raiseWarning(k.core,"28141714","impl",".printManager.enabled","PrintManager is deprecated");return!1},managedPrint:function(){k.raiseWarning(k.core,
"28141714","impl",".printManager.managedPrint","PrintManager is deprecated")}}},!1)}]);
FusionCharts.register("module",["private","modules.interface.renderer",function(){var k=this,m=k.window,C=m.document,r=function(){k.raiseError(this,"25081845","run","::RendererManager",Error("No active renderer"))},e=k.FusionChartsDOMInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},a={undefined:{render:r,remove:r,update:r,resize:r,config:r,policies:{}}},M={},J=function(a){return function(){var p=this.ref;if(void 0===p||null===p||"function"!==typeof p[a])k.raiseError(this,"25081617",
"run","#"+a+"()","ExternalInterface call failed. Check whether chart has been rendered.");else return p[a].apply(p,arguments)}},I=function(a,p){return"function"===typeof a[p]?function(){return a[p].apply(a,arguments)}:a[p]},n=function(a,p){var d=C.getElementById(a),e=p.id||p.getAttribute("id"),n,l;if(null===d)return!1;if(a===e)return!0;e=p.getElementsByTagName("*");n=0;for(l=e.length;n<l;n++)if(e[n]===d)return!1;return!0},z=/[^\%\d]*$/ig,G=function(){var a=function(p){var d=p.parentNode;if(9===d.nodeType)return!1;
var e="display";m.getComputedStyle?e=m.getComputedStyle(p)[e]:p.currentStyle&&(e=p.currentStyle[e]);return"none"===e?!0:d?a(d):!1};return a}(),q=function(){var a={},p,d=function(){var e=0,n=parseInt(k.core.options.visibilityTrackingInterval,10)||300,l,w,H,F,q;for(l in a)if(e+=1,w=a[l].chart,H=a[l].container,F=a[l].insertMode,q=a[l].callback,w.disposed||!G(H))delete a[l],--e,!w.disposed&&w.renderChart.call(w,H,F,q);p=e?setTimeout(d,n):clearTimeout(p)};return function(e,n,l,w){a[e.id]={chart:e,container:n,
insertMode:l,callback:w};p||(p=setTimeout(d,parseInt(k.core.options.visibilityTrackingInterval,10)||300))}}(),t;k.policies.options.containerElementId=["renderAt",void 0];k.policies.options.renderer=["renderer",void 0];k.policies.options.containerElementType=["containerElementType",void 0];k.policies.options.visibilityTrackingInterval=300;k.normalizeCSSDimension=function(a,p,d){a=void 0===a?d.offsetWidth||parseFloat(d.style.width):a;p=void 0===p?d.offsetHeight||parseFloat(d.style.height):p;var e={},
n=d.style,l;n.width=a=a.toString?a.toString():"0";n.height=p=p.toString?p.toString():"0";if((e.widthIsRelative=a.match(/^\s*\d*\.?\d*\%\s*$/)&&!a.match(/^\s*0\%\s*$/))&&0===d.offsetWidth)for(l=d;l=l.offsetParent;)if(0<l.offsetWidth){a=(l.offsetWidth*parseFloat(a.match(/\d*/)[0])/100).toString();break}if((e.heightIsRelative=p.match(/^\s*\d*\.?\d*\%\s*$/)&&!p.match(/^\s*0\%\s*$/))&&20>=d.offsetHeight)for(l=d;l=l.offsetParent;)if(0<l.offsetHeight){p=(l.offsetHeight*parseFloat(p.match(/\d*/)[0])/100).toString();
break}e.width=a.replace?a.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):a;e.height=p.replace?p.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):p;n.width=e.width;n.height=e.height;e.pixelWidth=e.widthIsRelative?d.offsetWidth:parseInt(e.width,10)||0;e.pixelHeight=e.heightIsRelative?d.offsetHeight:parseInt(e.height,10)||0;return e};t=k.renderer={register:function(c,e){if(!c||"function"!==typeof c.toString)throw Error("#03091436 ~renderer.register() Invalid value for renderer name.");c=c.toString().toLowerCase();if(void 0!==
a[c])return k.raiseError(k.core,"03091438","param","::RendererManager>register",'Duplicate renderer name specified in "name"'),!1;a[c]=e;return!0},userSetDefault:!1,setDefault:function(c){if(!c||"function"!==typeof c.toString)return k.raiseError(k.core,"25081731","param","::RendererManager>setDefault",'Invalid renderer name specified in "name"'),!1;if(void 0===a[c=c.toString().toLowerCase()])return k.raiseError(k.core,"25081733","range","::RendererManager>setDefault","The specified renderer does not exist."),
!1;this.userSetDefault=!1;k.policies.options.renderer=["renderer",c];return!0},notifyRender:function(a){var e=k.core.items[a&&a.id];e&&(!1!==a.success||a.silent)||k.raiseError(k.core.items[a.id],"25081850","run","::RendererManager",Error("There was an error rendering the chart. Enable FusionCharts JS debugger for more information."));if(e.ref=a.ref)a.ref.FusionCharts=k.core.items[a.id];k.raiseEvent("internal.DOMElementCreated",{},e)},protectedMethods:{options:!0,attributes:!0,src:!0,ref:!0,constructor:!0,
signature:!0,link:!0,addEventListener:!0,removeEventListener:!0},getRenderer:function(c){return a[c]},getRendererPolicy:function(c){c=a[c].policies;return"object"===typeof c?c:{}},currentRendererName:function(){return k.policies.options.renderer[1]},update:function(a){M[a.id].update.apply(a,Array.prototype.slice.call(arguments,1))},render:function(a){M[a.id].render.apply(a,Array.prototype.slice.call(arguments,1))},remove:function(a){M[a.id].remove.apply(a,Array.prototype.slice.call(arguments,1))},
resize:function(a){M[a.id].resize.apply(a,Array.prototype.slice.call(arguments,1))},config:function(a){M[a.id].config.apply(a,Array.prototype.slice.call(arguments,1))},dispose:function(a){M[a.id].dispose.apply(a,Array.prototype.slice.call(arguments,1))}};k.addEventListener("beforeInitialize",function(c){c=c.sender;var e=c.options.renderer.toLowerCase(),d;"string"===typeof c.options.renderer&&void 0===a[e]&&(c.options.renderer=k.policies.options.renderer[1]);c.options.renderer=e;M[c.id]=a[c.options.renderer];
!0!==M[c.id].initialized&&"function"===typeof M[c.id].init&&(M[c.id].init(),M[c.id].initialized=!0);k.parsePolicies(c,M[c.id].policies||{},c.args);for(d in M[c.id].prototype)c[d]=M[c.id].prototype[d];for(d in M[c.id].events)c.addEventListener(d,M[c.id].events[d])});k.addEventListener(["rendered","dataloaderror","nodatatodisplay","rendercancelled"],function(a,e){var d=a.sender;d instanceof k.core&&d.__state&&d.__state.rendering&&(k.raiseEvent("internal.rendered",e,d),delete d.__state.rendering)});
k.addEventListener("loaded",function(a){var e=a.sender;a=a.sender.ref;var d,B;if(void 0!==a&&null!==a&&"function"===typeof a.getExternalInterfaceMethods){try{d=a.getExternalInterfaceMethods(),d="string"===typeof d?d.split(","):[]}catch(n){d=[],k.raiseError(e,"13111126041","run","RendererManager^Loaded",Error("Error while retrieving data from the chart-object."+(n.message&&0<=n.message.indexOf("NPObject")?" Possible cross-domain security restriction.":"")))}for(a=0;a<d.length;a+=1)B=d[a],void 0===
e[B]&&(e[B]=J(B));if(e.ref)for(B in d=t.protectedMethods,a=t.getRenderer(e.options.renderer).protectedMethods,e)if(a&&!d[B]&&!a[B]&&void 0===e.ref[B])try{e.ref[B]=I(e,B)}catch(l){}}});k.legacyEventList.resized="FC_Resized";k.extend(k.core.prototype,{render:function(a,e,d){d?"function"!==typeof d&&(d=void 0):"function"===typeof e?(d=e,e=void 0):e||"function"!==typeof a||(d=a,a=void 0);void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===
a)return k.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;G(a)?q(this,a,e,d):this.renderChart.call(this,a,e,d);return this},renderChart:function(a,p,d){var B=this,q,l,w;if((w=m[this.id])&&w.FusionCharts&&w.FusionCharts===this||(w=this.ref)&&w.FusionCharts&&w.FusionCharts===this)k.renderer.dispose(this),w===m[this.id]&&(m[this.id]=void 0);void 0!==m[this.id]&&k.raiseError(this,"25081843","comp",".render",Error("#25081843:IECompatibility() Chart Id is same as a JavaScript variable name. Variable naming error. Please use unique name forchart JS variable, chart-id and container id."));
d?"function"!==typeof d&&(d=void 0):"function"===typeof p?(d=p,p=void 0):p||"function"!==typeof a||(d=a,a=void 0);p=(p||this.options.insertMode).toLowerCase()||e.REPLACE;void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=C.getElementById(a));if(void 0===a||null===a)return k.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;if(n(this.id,a))return k.raiseError(this,"05102109","run",".render()",Error("A duplicate object already exists with the specific Id: "+
this.id)),this;q=C.createElement(this.options.containerElementType||"span");q.setAttribute("id",this.id);if("append"!==p&&"prepend"!==p)for(;a.hasChildNodes();)a.removeChild(a.firstChild);"prepend"===p&&a.firstChild?a.insertBefore(q,a.firstChild):a.appendChild(q);this.options.containerElement=a;this.options.containerElementId=a.id;if(p=q.style)p.position="relative",p.textAlign="left",p.lineHeight="normal",p.display="inline-block",p.zoom="1",p.fontWeight="normal",p.fontVariant="normal",p.fontStyle=
"normal",p.textDecoration="none",p["*DISPLAY"]="inline",p.padding="0",p.margin="0",p.border="none",p.direction="ltr";this.options.containerClassName&&(q.className=this.options.containerClassName);p=k.normalizeCSSDimension(this.width,this.height,q);this.__state.renderedWidth=p.pixelWidth;this.__state.renderedHeight=p.pixelHeight;this.__state.rendering=!0;k.raiseEvent("beforeRender",l={container:a,width:this.width,height:this.height,renderer:this.options.renderer},this,void 0,function(a,l){!0!==this.disposed&&
k.renderer.render(B,q,function(){k.renderer.notifyRender.apply(this,arguments);if(d)try{d.call(a.sender,l.container)}catch(c){setTimeout(function(){throw c;})}})},function(){k.raiseEvent("renderCancelled",l,B)});return this},remove:function(){k.renderer.remove(this);return this},resizeTo:function(a,e,d){var B=this,n=B.width,l=B.height,w=B.__state;(B.apiInstance&&B.apiInstance.config||{}).resize=!0;"object"===typeof a&&(d=e,e=a.h,a=a.w);a=null===a||void 0===a?n:a.toString().replace(z,"");e=null===
e||void 0===e?l:e.toString().replace(z,"");!0!==d?k.raiseEvent("beforeresize",{currentWidth:n,currentHeight:l,newWidth:a,newHeight:e},B,void 0,function(){B.width=a;B.height=e;k.renderer.resize(B,{width:a,height:e});k.raiseEventWithLegacy("resized",{width:B.width,height:B.height,prevWidth:n,prevHeight:l,pixelWidth:B.ref&&B.ref.offsetWidth||0,pixelHeight:B.ref&&B.ref.offsetHeight||0,originalWidth:w.renderedWidth,originalHeight:w.renderedHeight},B,[B.id,B.width,B.height])},function(){k.raiseEvent("resizecancelled",
{currentWidth:n,currentHeight:l,cancelledTargetWidth:a,cancelledTargetHeight:e},B)}):(B.width=a,B.height=e);return this},dispose:function(){var a=this,e={};k.raiseEvent("beforeDispose",e,a,void 0,function(){k.renderer.dispose(a);k.raiseEvent("disposed",e,a);k.disposeEvents(a);delete k.core.items[a.id];for(var d in a)a.hasOwnProperty(d)&&delete a[d];a.disposed=!0},function(){k.raiseEvent("disposeCancelled",e,a)})},configure:function(a,e){var d;a&&("string"===typeof a?(d={},d[a]=e):d=a,k.renderer.config(this,
d))}});k.extend(k.core,{setCurrentRenderer:function(){var a=t.setDefault.apply(t,arguments);t.userSetDefault=!0;return a},getCurrentRenderer:function(){return t.currentRendererName.apply(t,arguments)},render:function(a,e){return a instanceof k.core?(a.render(e),a):(new k.core(a)).render(e)}},!1)}]);
FusionCharts.register("module",["private","modules.interface.transcoder",function(){var k=this,m=k.window,C=k.transcoders={},r={},e={},a=/url$/i,M=k._interactiveCharts={selectscatter:[!0,!1],dragcolumn2d:[!0,!0],dragarea:[!0,!0],dragline:[!0,!0],dragnode:[!0,!0]},J=function(a,d,c,e){var l=c.obj;c=c.args;c.dataSource=a;c.xmlHttpRequestObject=d;c.source="XmlHttpRequest";c.url=e;k.raiseEvent("dataLoadRequestCompleted",c,l,void 0,n,z)},I=function(a,d,c){var e=c.obj;c=c.args;c.error=a;c.httpStatus=d.xhr&&
d.xhr.status?d.xhr.status:-1;c.xmlHttpRequestObject=d;k.raiseEvent("dataLoadError",c,e);"function"===typeof m.FC_DataLoadError&&m.FC_DataLoadError(e.id,c)},n=function(a,d){a.sender.setChartData(d.dataSource,d.dataFormat,d.config,d.successcallback,d.silent)},z=function(a,d){k.raiseEvent("dataLoadCancelled",d,a.sender);d.xmlHttpRequestObject.abort()},G=function(a,d){var c=a.sender,e=c.__state,l=d.url;c.options.dataSource=d.url;e.dhmXhrObj||(e.dhmXhrObj=new k.ajax(J,I));e.dhmXhrObj.get("function"===
typeof m.decodeURIComponent?m.decodeURIComponent(l):m.unescape(l),{obj:c,args:d})},q=function(a,d){var c=a.sender,e=c.__state;k.raiseEvent("dataLoadRequestCancelled",d,c);e&&e.dhmXhrObj&&e.dhmXhrObj.abort()},t=function(a,d){var c=a.sender,n=c.__state,l=c.id;r[l]=d;e[l]&&delete e[l];e[l]={};n.dataReady=void 0;n.dataAvailable=!0;!0!==d.silent&&(!0!==c.options.safeMode||!0!==n.rendering||c.isActive()?(delete n.args,k.renderer.update(c,d)):(n.updatePending=d,k.raiseWarning(c,"23091255","run","::DataHandler~update",
"Renderer update was postponed due to async loading.")));k.raiseEvent("dataUpdated",d,c,void 0,d.successcallback)},c=function(a,d){k.raiseEvent("dataUpdateCancelled",d,a.sender,void 0,d.failurecallback)};k.dataFormats={};k.policies.options.dataSource=["dataSource",void 0];k.policies.options.dataFormat=["dataFormat",void 0];k.policies.options.dataConfiguration=["dataConfiguration",void 0];k.policies.options.showDataLoadingMessage=["showDataLoadingMessage",!1];k.addDataHandler=function(a,d){if("string"!==
typeof a||void 0!==C[a.toLowerCase()])k.raiseError(k.core,"03091606","param","::DataManager.addDataHandler",Error("Invalid Data Handler Name"));else{var c={},e=a.toLowerCase();C[e]=d;d.name=a;c["set"+a+"Data"]=function(d,c,e){return this.setChartData(d,a,c,e)};d.transportable&&(c["set"+a+"Url"]=function(d,c,e){return this.setChartDataUrl(d,a,c,e)},k.dataFormats[a+"URL"]=e+"Url");c["get"+a+"Data"]=function(){return this.getChartData(a)};k.dataFormats[a]=e;k.extend(k.core,c,!0)}};k.extend(k.core.prototype,
{setChartDataUrl:function(c,d,e,n,l){if(void 0===d||null===d||"function"!==typeof d.toString)d=this.options.dataFormat,k.raiseWarning(this,"03091609","param","FusionCharts#setChartDataUrl","Invalid Data Format. Reverting to current data format - "+d);d=d.toString().toLowerCase();d=a.test(d)?d.slice(0,-3):d;k.raiseEvent("dataLoadRequested",{source:"XmlHttpRequest",url:c,dataFormat:d,silent:!!l,config:e,successcallback:n},this,void 0,G,q)},setChartData:function(e,d,n,q,l){var w=this.options,H,F;if(void 0===
d||null===d||"function"!==typeof d.toString)d=w.dataFormat,k.raiseWarning(this,"03091610","param","FusionCharts#setChartData","Invalid Data Format. Reverting to current data format - "+d);d=d.toString().toLowerCase();a.test(d)?this.setChartDataUrl(e,d,n,q,l):(w.dataSource=e,H=d,w.dataFormat=d,F=C[H],"undefined"===typeof F?k.raiseError(k.core,"03091611","param","FusionCharts#setChartData",Error("Data Format not recognized")):(d=(d=k.renderer&&k.renderer.getRenderer(w.renderer||k.renderer.currentRendererName()))&&
d.dataFormat,n=d===H?F.passthrough?F.passthrough(e,n,w.chartType):{data:e}:F.encode(e,this,n||w.dataConfiguration)||{},n["native"]=d===H,n.format=n["native"]?d:"xml",n.dataFormat=H,n.dataSource=e,n.silent=!!l,"function"===typeof q&&(n.successcallback=q),k.raiseEvent("beforeDataUpdate",n,this,void 0,t,c)))},getChartData:function(a,d){var c=this.options,n=this.id,l;if(void 0===a||"function"!==typeof a.toString||void 0===(l=C[a=a.toString().toLowerCase()]))k.raiseError(this,"25081543","param","::transcoder~getChartData()",
Error('Unrecognized data-format specified in "format"'));else return e[n][a]&&(e[n][a]=null),e[n][a]?c=e[n][a]:r[n]?(a===r[n].format?e[n][a]=r[n]:(e[n].xml||(e[n].xml="xml"===r[n].format?r[n]:C[r[n].format].encode(r[n].data,this,c.dataConfiguration)),e[n][a]||(e[n][a]=l.decode(e[n].xml.data,this,c.dataConfiguration))),c=e[n][a]):c={error:Error("Data not defined")},!0===Boolean(d)?c:c.data},dataReady:function(a){return a?this.__state.dataAvailable:this.__state.dataReady}});k.extend(k.core,{transcodeData:function(a,
d,c,e,l){if(d&&"function"===typeof d.toString&&c&&"function"===typeof c.toString&&void 0!==C[c=c.toString().toLowerCase()]&&void 0!==C[d=d.toString().toLowerCase()])return a=C[d].encode(a,this,l),d=C[c].decode(a.data,this,l,d),d.error instanceof Error||(d.error=a.error),e?d:d.data;k.raiseError(this,"14090217","param",".transcodeData()",Error("Unrecognized data-format specified during transcoding."))}},!1);k.getRenderer&&!k.getRenderer("flash")||k.addEventListener("DataLoadRequested",function(a){var d=
a.sender;d.options&&"flash"===d.options.renderer&&d.options.useLegacyXMLTransport&&a.preventDefault()});k.addEventListener("beforeInitialize",function(c){c=c.sender;var d=c.options,n=d.dataSource,q=k.renderer&&k.renderer.getRenderer(d.renderer);delete r[c.id];e[c.id]={};if(void 0!==n&&null!==n){c.__state.dataSetDuringConstruction=!0;if("string"!==typeof d.dataFormat)switch(typeof n){case "function":n=d.dataSource=n.call(c,d.dataConfiguration);d.dataFormat="JSON";break;case "string":d.dataFormat=/^\s*?\{[\s\S]*\}\s*?$/g.test(c.options.dataFormat)?
"JSON":"XML";break;case "object":d.dataFormat="JSON"}d.dataFormat&&d.dataFormat.toString&&(c.__state.dataFetchDuringConstruction=a.test(d.dataFormat.toString()));c.setChartData(n,d.dataFormat,void 0,void 0,!0)}else q&&(c.__state.dataSetDuringConstruction=!1,k.raiseWarning(c,"1810131922A","param",":dataHandler~event:beforeInitialize","Data source was not defined during construction, hence set to blank renderer default - "+q.dataFormat),c.setChartData("",q.dataFormat,void 0,void 0,!0),c.__state.dataAvailable=
!1)});k.addEventListener("beforeDispose",function(a){var d=a.sender;delete r[a.sender.id];delete e[a.sender.id];d&&d.__state&&d.__state.dhmXhrObj&&d.__state.dhmXhrObj.abort()});k.addEventListener("disposed",function(a){delete e[a.sender.id]});k.addEventListener("loaded",function(a){a=a.sender;var d=a.__state.updatePending;a instanceof k.core&&void 0!==d&&(delete a.__state.updatePending,k.renderer.update(a,d))});k.addEventListener("dataUpdated",function(a,d){var c=a.sender,e=c.__state;e.rendering&&
(e.dataFetchDuringConstruction||e.updatePending)&&(delete e.dataFetchDuringConstruction,delete e.updatePending,k.renderer.update(c,d))});k.addEventListener(["dataLoadError","dataInvalid"],function(a){a.sender.__state.dataAvailable=!1});k.addEventListener("loaded",function(a){a=a.sender;var d=a.__state,c,e,l;l=function(a,d){return function(c){return!1===c?d.apply(this):this.ref.getUpdatedXMLData?k.core.transcodeData(this.ref.getUpdatedXMLData(),"xml",a):this.getData?this.getData(a):d.apply(this)}};
if(a.chartType&&M[a.chartType()]&&M[a.chartType()][0]){for(c in k.transcoders)e=k.transcoders[c].name,e="get"+e+"Data",a[e]=l(c,a.constructor.prototype[e]),a[e]._dynamicdatarouter=!0;d.dynamicDataRoutingEnabled=!0}else if(d.dynamicDataRoutingEnabled){for(c in k.transcoders)e=k.transcoders[c].name,e="get"+e+"Data",a.hasOwnProperty(e)&&a[e]._dynamicdatarouter&&delete a[e];d.dynamicDataRoutingEnabled=!1}})}]);"object"!==typeof JSON&&(JSON={});
(function(){function k(a){return 10>a?"0"+a:a}function m(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var e=J[a];return"string"===typeof e?e:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function C(e,k){var J,q,t,c,p=a,d,B=k[e];B&&"object"===typeof B&&"function"===typeof B.toJSON&&(B=B.toJSON(e));"function"===typeof I&&(B=I.call(k,e,B));switch(typeof B){case "string":return m(B);case "number":return isFinite(B)?String(B):"null";case "boolean":case "null":return String(B);
case "object":if(!B)return"null";a+=M;d=[];if("[object Array]"===Object.prototype.toString.apply(B)){c=B.length;for(J=0;J<c;J+=1)d[J]=C(J,B)||"null";t=0===d.length?"[]":a?"[\n"+a+d.join(",\n"+a)+"\n"+p+"]":"["+d.join(",")+"]";a=p;return t}if(I&&"object"===typeof I)for(c=I.length,J=0;J<c;J+=1)"string"===typeof I[J]&&(q=I[J],(t=C(q,B))&&d.push(m(q)+(a?": ":":")+t));else for(q in B)Object.prototype.hasOwnProperty.call(B,q)&&(t=C(q,B))&&d.push(m(q)+(a?": ":":")+t);t=0===d.length?"{}":a?"{\n"+a+d.join(",\n"+
a)+"\n"+p+"}":"{"+d.join(",")+"}";a=p;return t}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+k(this.getUTCMonth()+1)+"-"+k(this.getUTCDate())+"T"+k(this.getUTCHours())+":"+k(this.getUTCMinutes())+":"+k(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var r=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,a,M,J={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},I;"function"!==typeof JSON.stringify&&(JSON.stringify=function(e,k,m){var q;M=a="";if("number"===typeof m)for(q=0;q<m;q+=1)M+=" ";else"string"===typeof m&&(M=m);if((I=k)&&"function"!==typeof k&&("object"!==typeof k||"number"!==typeof k.length))throw Error("JSON.stringify");return C("",{"":e})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,e){function k(a,c){var p,d,n=a[c];if(n&&"object"===typeof n)for(p in n)Object.prototype.hasOwnProperty.call(n,p)&&(d=k(n,p),void 0!==d?n[p]=d:delete n[p]);return e.call(a,c,n)}var q;a=String(a);r.lastIndex=0;r.test(a)&&(a=a.replace(r,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return q=eval("("+a+")"),"function"===typeof e?k({"":q},""):q;throw new SyntaxError("JSON.parse");})})();
FusionCharts.register("module",["private","modules.data.json",function(){var k=this,m=k.window,C=m.document,r=k.xssEncode,e,a,M=function(a){var e,n;for(e in a)a.hasOwnProperty(e)&&(n=e.toLowerCase(),e!==n&&(a[n]=a[e],delete a[e]),"object"===typeof a[n]&&"data"!==n&&M(a[n]))};void 0===m.JSON&&k.raiseError(this,"1113062012","run","JSONDataHandler",Error("Could not find library support for JSON parsing."));k.policies.options.allowIESafeXMLParsing=["_allowIESafeXMLParsing",!0];e=function(){var a={set:!0,
trendlines:!0,vtrendlines:!0,line:{trendlines:!0,vtrendlines:!0},data:!0,dataset:!0,lineset:!0,categories:!0,category:!0,tasks:!0,linkeddata:!0,application:!0,definition:!0,axis:!0,connectors:!0,connector:{connectors:!0},trendset:!0,row:{rows:!0},column:{columns:!0},label:{labels:!0},color:{colorrange:!0},dial:{dials:!0},pointer:{pointers:!0},point:{trendpoints:!0},process:{processes:!0},task:{tasks:!0},milestone:{milestones:!0},datacolumn:{datatable:!0},text:{datacolumn:!0},item:{legend:!0},alert:{alerts:!0},
groups:{annotations:!0},items:{groups:!0,data:!0},shapes:!0,shape:{shapes:!0},entitydef:!0,entity:{entitydef:!0}},e={chart:"linkedchart",map:"linkedmap",set:"data",vline:{chart:"data",graph:"data",dataset:"data",categories:"category",linkedchart:"data"},apply:{application:"application"},style:{definition:"definition"},marker:{application:"application",definition:"definition",data:"items"},entity:{entitydef:"entitydef",data:"data"},shape:{shapes:"shapes"},connector:{connectors:{chart:"connector",linkedchart:"connector",
map:"connectors",linkedmap:"connectors"}},annotationgroup:{annotations:"groups"},annotation:{groups:"items"}},n={vline:{vline:"true"}},z={chart:!0,map:!0,graph:!0},M={dataset:"data",categories:"category"},q={target:"target",value:"value"},t={styles:{definition:!0,application:!0},chart:{value:!0,target:!0},graph:{value:!0,target:!0},linkedchart:{value:!0,target:!0},markers:{definition:!0,application:!0,shapes:!0,connectors:!0,data:!0},map:{entitydef:!0,data:!0},linkedmap:{entitydef:!0,data:!0}},c,
p,d;c={append:function(d,c,l,e){!a[l]||!0!==a[l]&&!0!==a[l][e]?c[l]=d:(c[l]instanceof Array||(c[l]=[]),c[l].push(d))},child:function(a,d,l,w){var p,F,m,D,J,P;for(p=0;p<d.length;p+=1)switch(m=d[p],F=m.nodeName.toLowerCase(),m.nodeType){case 1:D=c.attr(m.attributes);P=z[F];!0===P&&(J=D,D={},D[F]=J);P=n[F];"object"===typeof P&&k.extend(D,P);if(P=e[F])if("object"===typeof P&&"object"===typeof P[l])for(J in J=void 0,P[l]){if(w[J]){F=P[l][J];break}}else"object"===typeof P&&"string"===typeof P[l]?F=P[l]:
"string"===typeof P&&(F=P);m.childNodes.length&&((P=t[l])&&P[F]?c.child(a,m.childNodes,F,w):c.child(D,m.childNodes,F,w));(P=t[l])&&P[F]||c.append(D,a,F,l);break;case 3:if(P=q[l])F=P,D=m.data,c.append(D,a,F,l);P=M[l];"string"===typeof P&&w.chart&&parseInt(w.chart.compactdatamode,10)&&(F=P,D=m.data,a[F]=a[F]?a[F]+D:D)}},attr:function(a){var c,l={};if(!a||!a.length)return l;for(c=0;c<a.length;c+=1)"xml"===d&&(a[c].value?a[c].value=a[c].value.replace(/</g,"&lt;").replace(/>/g,"&gt;"):a[c].nodeValue&&
(a[c].nodeValue=a[c].nodeValue.replace(/</g,"&lt;").replace(/>/g,"&gt;"))),l[a[c].nodeName.toLowerCase()]=a[c].value||a[c].nodeValue;return l}};p=function(a){var d={},l,e,n,F,q,D,t,z,J;if("object"!==typeof a&&a&&"function"!==typeof a.toString)return p.errorObject=new TypeError("xml2json.parse()"),d;a=a.toString().replace(/<\!--[\s\S]*?--\x3e/g,"").replace(/<\?xml[\s\S]*?\?>/ig,"").replace(/&(?!([^;\n\r]+?;))/g,"&amp;$1");a=a.replace(/^\s\s*/,"");for(var M=/\s/,I=a.length;M.test(a.charAt(--I)););a=
a.slice(0,I+1);if(!a)return d;try{m.DOMParser?l=(new m.DOMParser).parseFromString(a,"text/xml"):C.body&&k.core.options.allowIESafeXMLParsing?(e=C.createElement("xml"),e.innerHTML=a,C.body.appendChild(e),l=e.XMLDocument,C.body.removeChild(e)):(l=new m.ActiveXObject("Microsoft.XMLDOM"),l.async="false",l.loadXML(a));if(!(l&&l.childNodes&&1===l.childNodes.length&&(n=l.childNodes[0])&&n.nodeName&&(F=n.nodeName.toLowerCase()))||"chart"!==F&&"map"!==F&&"graph"!==F)return p.errorObject=new TypeError("xml2json.parse()"),
d;if("graph"===F){q=l.createElement("chart");for(J=(t=n.attributes)&&t.length||0;J--;)q.setAttribute(t[J].name,t[J].value),t.removeNamedItem(t[J].name);if(J=(z=n.childNodes)&&z.length||0)--J,D=n.removeChild(z[J]),q.appendChild(D);for(;J--;)D=n.removeChild(z[J]),q.insertBefore(D,q.firstChild);l.replaceChild(q,n);n=q}}catch(G){p.errorObject=G}n?(n.attributes&&(d[F]=c.attr(n.attributes)),n.childNodes&&c.child(d,n.childNodes,F,d),delete p.errorObject):p.errorObject=new TypeError("xml2json.parse()");return d};
return function(a){delete p.errorObject;d=arguments[arguments.length-1];return{data:p(a),error:p.errorObject}}}();a=function(){var a,e;a={items:{explode:{data:"set",groups:{annotations:"annotationgroup"},items:{groups:"annotation"}},text:{chart:{target:"target",value:"value"},graph:{target:"target",value:"value"}},dsv:{dataset:{data:"dataset"},categories:{category:"categories"}},attr:{chart:{chart:"chart"},graph:{graph:"graph"},map:{map:"map"},linkedmap:{map:"map"},linkedchart:{chart:"chart"}},group:{styles:{definition:"style",
application:"apply"},map:{data:"entity",entitydef:"entity"},markers:{definition:"marker",application:"marker",shapes:"shape",connectors:"connector",items:"marker"}},tag:{markers:{items:"data"}}},qualify:function(a,e,k){return"object"===typeof this.items[a][k]?this.items[a][k][e]:this.items[a][k]}};e=function(n,k,m,q){var t="",c="",p="",d="",B,M,l;k&&"function"===typeof k.toLowerCase&&(k=k.toLowerCase());if(void 0===m&&n[k])for(B in n[k])M=B.toLowerCase(),"compactdatamode"===M&&(q.applyDSV=1==n[k][B]);
if(n instanceof Array)for(B=0;B<n.length;B+=1)p="string"===typeof n[B]?p+r(n[B]):p+e(n[B],k,m,q);else{for(B in n)M=B.toLowerCase().replace(/[`~!@#$%^&*()|+\=?;:'", <>\{\}\[\]\\\/]/gi,""),n[B]instanceof Array&&(l=a.qualify("group",M,k))?(p=a.qualify("tag",M,k)||M,c+="<"+p+">"+e(n[B],l,k,q)+"</"+p+">"):"object"===typeof n[B]?(l=a.qualify("attr",M,k))?(d=e(n[B],l,k,q).replace(/\s*\/\>/ig,""),k=M):c+=e(n[B],M,k,q):q.applyDSV&&(l=a.qualify("dsv",M,k))?c+=n[B]:(l=a.qualify("text",M,k))?(p=a.qualify("tag",
M,k)||l,c+="<"+p+">"+n[B]+"</"+p+">"):"vline"===M&&Boolean(n[B])?k="vline":t+=" "+M+'="'+r(n[B]).toString().replace(/\"/ig,"&quot;")+'"';if(l=a.qualify("explode",m,k))k=l;p=k;p=(""!==d?d:"<"+p)+t+(""!==c?">"+c+"</"+p+">":" />")}return p};return function(a){delete e.errorObject;if(a&&"string"===typeof a)try{a=JSON.parse(a)}catch(k){e.errorObject=k}return{data:e(a,a&&a.graph?"graph":a&&a.map?"map":"chart",void 0,{}),error:e.errorObject}}}();k.addDataHandler("JSON",{encode:a,decode:e,passthrough:function(a,
e,n){e={data:{}};n=!!/zoomscatter/ig.test(n);if(!a)return e;if("string"!==typeof a)try{a=JSON.stringify(a)}catch(k){return e.error=k,e}try{n?(e.data=JSON.parse(a),M(e.data)):e.data=JSON.parse(a.replace(/"([^"]+)"[\s]*:/g,function(a,e){return'"'+e.toLowerCase()+'":'}))}catch(m){console.log(m),e.error=m}return e},transportable:!0})}]);FusionCharts.register("module",["private","modules.data.xml",function(){var k=function(k){return{data:k,error:void 0}};this.addDataHandler("XML",{encode:k,decode:k,transportable:!0})}]);
FusionCharts.register("module",["private","modules.data.csv",function(){var k=this,m=k.window,C=k.core,r=m.parseInt,e=m.parseFloat,a=function(a){return a},M;M=function(a){this.data=[];this.columnCount=this.rowCount=0;this.configure(a)};M.decodeLiterals=function(a,e){return void 0!==a&&null!==a&&a.toString?a.replace("{tab}","\t").replace("{quot}",'"').replace("{apos}","'"):e};M.prototype.set=function(a,e,n){var k;if(this.rowCount<=a){for(k=this.rowCount;k<=a;k+=1)this.data[k]=[];this.rowCount=a+1}this.columnCount<=
e&&(this.columnCount=e+1);this.data[a][e]=n};M.prototype.setRow=function(a,e){var n;if(this.rowCount<=a){for(n=this.rowCount;n<=a;n+=1)this.data[n]=[];this.rowCount=a+1}this.columnCount<e.length&&(this.columnCount=e.length);this.data[a]=e};M.prototype.get=function(a,e){var n=this.data;return n[a]&&n[a][e]};M.prototype.configure=function(a){var e=M.decodeLiterals;this.delimiter=e(a.delimiter,",");this.qualifier=e(a.qualifier,'"');this.eolCharacter=e(a.eolCharacter,"\r\n");this.numberFormatted=!!r(a.numberFormatted,
0)};M.prototype.clear=function(){this.data=[];this.columnCount=this.rowCount=0};M.prototype.toString=function(){var a,e,n="";for(a=0;a<this.rowCount;a+=1)e=this.qualifier+this.data[a].join(this.qualifier+this.delimiter+this.qualifier)+this.qualifier,n+='""'===e?this.eolCharacter:e+this.eolCharacter;0<this.rowCount&&(n=n.slice(0,n.length-2));return n};k.addDataHandler("CSV",{encode:function(a,e){k.raiseError(e,"0604111215","run","::CSVDataHandler.encode()","FusionCharts CSV data-handler only supports encoding of data.");
throw Error("FeatureNotSupportedException()");},decode:function(k,m){var n=C.transcodeData(k,"xml","json")||{},z=m.jsVars,G=z&&z.instanceAPI,q=G&&G.components,t,c,p,d,B,r,l=n.chart||n.map||n.graph||{},w=Boolean(l.exporterrorcolumns||0),H=n.categories&&n.categories[0]&&n.categories[0].category||[],F=n.map&&!n.chart||z&&z.instanceAPI&&"geo"===z.instanceAPI.defaultSeriesType,T=!1,D=!1,V=!1,P=!1;p=!1;var fa=a,$={},ba,ia,ea,X,ca,ga,da,Z,Ja,R,ua;c=0;var Ha=-1;t=new M({separator:l.exportdataseparator,qualifier:l.exportdataqualifier,
numberFormatted:l.exportdataformattedval});C.formatNumber&&t.numberFormatted&&(fa=function(a){return C.formatNumber(a,l)});if(F)for(R in $.geo=!0,H=(z=q&&z.instanceAPI.components.dataset&&z.instanceAPI.components.dataset[0])&&z.components.data||[],t.setRow(0,["Id"," Short Name","Long Name","Value","Formatted Value"]),z=0,H)D=H[R],ua=D.config,c=ua.cleanValue,!0!==D.hidden&&t.setRow(++z,[R,ua.shortLabel,ua.label,null===c?"":c,ua.formattedValue]);else if(void 0!==(ba=n.dials&&n.dials.dial||n.pointers&&
n.pointers.pointer||n.value))if($.gauge=!0,"string"===typeof ba)t.set(0,0,fa(ba)),$.singlevalue=!0,"string"===typeof n.target&&(t.set(0,1,fa(n.target)),$.bullet=!0);else for(t.setRow(0,["Id","Value"]),$.multivalue=!0,z=0,r=1,B=ba.length;z<B;z+=1,r+=1)t.setRow(r,[r,fa(ba[z].value)]);else if(ba=n.dataset||!(n.data instanceof Array)&&[]){$.multiseries=!0;p=1;if(ia=n.lineset)ba=ba.concat(ia),$.lineset=!0;if(ea=n.axis)ba=ba.concat(ea),$.multiaxis=!0;R=G.defaultDatasetType&&G.defaultDatasetType.toLowerCase();
"dragnode"!==R&&"dragcolumn"!==R&&"dragline"!==R&&"dragarea"!==R||!G.getJSONData||(ba=G.getJSONData().dataset);ga=ba.length;ca=H.length;if(!(ga=ba.length)){for(z=0;z<ca;z+=1)da=H[z],t.set(z+1,0,da.label||da.name);$.multilevel=!0}for(z=0;z<ga;z+=1)for(Z=ba,Z[z].dataset?(Z=Z[z].dataset,d=0,X=Z.length):(Z=ba,d=z,X=d+1);d<X&&!T&&!V;d+=1)if(F=Z[d],Ha++,!(q&&q.dataset&&q.dataset[Ha]&&!1===q.dataset[Ha].visible)){t.set(0,p,F.seriesname);"string"===typeof F.data&&($.compactdata=!0,F.data=F.data.split(l.dataseparator||
"|"));r=B=0;for(Ja=F.data&&F.data.length||0;B<Ja||B<ca;B+=1){da=H[B];c=r+1;R=F.data&&F.data[r]||{};if(void 0!==R.x&&void 0!==R.y){T=$.xy=!0;break}if(void 0!==R.open||void 0!==R.high||void 0!==R.close||void 0!==R.low){P=$.ohlc=!0;break}if(void 0!==R.rowid&&void 0!==R.columnid){V=$.heatmap=!0;break}if(B<ca&&!da.vline){t.set(c,0,da.label||da.name);da=e(R?R.value:"");da=isNaN(da)?"":fa(da);t.set(c,p,da);if(D||w||R.errorvalue)D||t.set(0,p+1,"Error"),ua=1,t.set(c,p+1,fa(R.errorvalue));r+=1}}ua&&(p+=ua,
ua=0);p+=1}ia&&(ba=ba.slice(0,-ia.length));ea&&(ba=ba.slice(0,-ea.length))}else if(ba=n.data){t.set(0,1,l.yaxisname||"Value");$.singleseries=!0;p="1"==l.showsumatend;z=0;for(ca=ba.length;z<ca;z+=1)R=ba[z],R.vline||(da=e(R.value?R.value:""),t.setRow(z+1,[R.label||R.name,isNaN(da)?"":(c+=da,fa(da))]));p&&($.summation=!0,t.setRow(z+1,[l.sumlabel||"Total",fa(c)]))}if(P)for(t.clear(),t.setRow(0,["Open","Close","High","Low"]),z=0,c=1,ba=n.dataset,X=ba.length;z<X;z+=1)for(B=0,F=ba[z]&&ba[z].data||[],ga=
F.length;B<ga;B+=1,c+=1)R=F[B]||{},t.setRow(B+1,[fa(R.open),fa(R.close),fa(R.high),fa(R.low)]);else if(T)for(t.clear(),D=!1,ua=0,t.setRow(0,["Series","x","y"]),z=0,c=1,ba=n.dataset,X=ba.length;z<X;z+=1){if(!(q&&q.dataset&&q.dataset[z]&&!1===q.dataset[z].visible))for(R=G.defaultDatasetType&&G.defaultDatasetType.toLowerCase(),"dragnode"===R&&G.getJSONData&&(ba=G.getJSONData().dataset),B=0,F=ba[z]&&ba[z].data||[],ga=F.length;B<ga;B+=1,c+=1){R=F[B]||{};da=[ba[z].seriesname,fa(R.x),fa(R.y)];void 0!==R.z&&
(da.push(fa(R.z)),ua||(t.set(0,3,"z"),ua=1));if(D||w||void 0!==R.errorvalue||void 0!==R.horizontalerrorvalue||void 0!==R.verticalerrorvalue)n=fa(R.errorvalue),da.push(R.errorvalue,void 0===R.horizontalerrorvalue?n:fa(R.horizontalerrorvalue),void 0===R.verticalerrorvalue?n:fa(R.verticalerrorvalue)),D||(t.set(0,ua+3,"Error"),t.set(0,ua+4,"Horizontal Error"),t.set(0,ua+5,"Vertical Error")),D=$.error=!0;t.setRow(c,da)}}else if(V){t.clear();w={};T={};z=0;B=1;H=n.rows&&n.rows.row||[];for(G=H.length;z<G;z+=
1,B+=1)da=H[z],da.id&&(w[da.id.toLowerCase()]=B,t.set(B,0,da.label||da.id));z=0;B=1;H=n.columns&&n.columns.column||[];for(G=H.length;z<G;z+=1,B+=1)da=H[z],da.id&&(T[da.id.toLowerCase()]=B,t.set(0,B,da.label||da.id));F=n.dataset&&n.dataset[0]&&n.dataset[0].data||[];q=q&&q.dataset&&q.dataset[0]&&q.dataset[0].components&&q.dataset[0].components.data||[];z=0;for(G=F.length;z<G;z+=1)R=F[z],c=R.rowid.toLowerCase(),p=R.columnid.toLowerCase(),q[z]&&!1===q[z].visible||(w[c]||(w[c]=t.rowCount,t.set(t.rowCount,
0,R.rowid)),T[p]||(T[p]=t.columnCount,t.set(0,t.columnCount,R.columnid)),t.set(w[c],T[p],fa(R.value)))}ba=H=ia=ea=null;0<t.rowCount&&void 0===t.get(0,0)&&t.set(0,0,l.xaxisname||"Label");return{data:t.toString(),error:void 0,predictedFormat:$}},transportable:!1});C.addEventListener("Loaded",function(a){a=a.sender;"javascript"!==a.options.renderer||a.getDataAsCSV||(a.getDataAsCSV=a.ref.getDataAsCSV=a.getCSVData)})}]);
FusionCharts.register("module",["private","modules.renderer.js",function(){var k=this,m=k.window,C=m.document,r=k.core.options,e=/msie/i.test(m.navigator.userAgent)&&!m.opera,a=Boolean(m.SVGAngle||C.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),M=function(){},J=k.hcLib={cmdQueue:[]},I=J.moduleCmdQueue={base:[],charts:[],powercharts:[],widgets:[],maps:[]},n=J.moduleDependencies={},z=J.moduleMeta={base:"fusioncharts.js",charts:"fusioncharts.charts.js",powercharts:"fusioncharts.powercharts.js",
widgets:"fusioncharts.widgets.js",maps:"fusioncharts.maps.js"},G={},q=J.getMetaSentence=function(){var a={};return function(d){d=d&&d.replace(/(^\s*)|(\s*$)/g,"")||"";return a[d]||(a[d]={key:d,subject:d.replace(/[^\/]*?$/ig,""),predicate:d.replace(/^.*\//ig,"")})}}(),t=J.getDependentModuleName=function(a){var d=[],c,l;a=q(a).predicate;for(c in n)void 0!==(l=n[c][a])&&(d[l]=c);return d},c=J.hasModule=function(a){var d,c;if(a instanceof Array){d=0;for(c=a.length;d<c;d+=1)if(!Boolean(k.modules["modules.renderer.js-"+
q(a[d]).predicate]))return!1;return!0}return Boolean(k.modules["modules.renderer.js-"+q(a).predicate])},p=J.loadModule=function(a,d,l,e){a instanceof Array||(a=[a]);var p=a.length,n=0,q;q=function(){if(n>=p)d&&d();else{var t=a[n],B=t&&t.match(/[^\/]*$/i)[0],m=z[t];n+=1;if(t){if(c(B)){q();return}if(G[B]){k.raiseError(e||k.core,"1112201445A","run","JavaScriptRenderer~loadModule() ","required resources are absent or blocked from loading.");l&&l(B);return}}else l&&l(B);t=k.core.options["html5"+k.capitalizeString(B)+
"Src"];k.loadScript(void 0===t?m:t,{success:function(){c(B)?q():l&&l(B)},failure:l&&function(){l(B)}},void 0,!0)}};q()},d=J.executeWaitingCommands=function(a){for(var d;d=a.shift();)"object"===typeof d&&M[d.cmd].apply(d.obj,d.args)},B=function(a){delete a.sender.jsVars._reflowData;a.sender.jsVars._reflowData={};delete a.sender.jsVars._reflowClean},Q=function(){var a=function(){};a.prototype={LoadDataErrorText:"Error in loading data.",XMLLoadingText:"Retrieving data. Please wait",InvalidXMLText:"Invalid data.",
ChartNoDataText:"No data to display.",ReadingDataText:"Reading data. Please wait",ChartNotSupported:"Chart type not supported.",PBarLoadingText:"",LoadingText:"Loading chart. Please wait",RenderChartErrorText:"Unable to render chart."};return a.prototype.constructor=a}(),l=J.getContainerBackgroundColor=function(d){d=d.chartInstance;var c=d.options,l=c.containerBackgroundColor,c=c.containerBackgroundOpacity,p=d.jsVars.transparent;void 0!==p&&null!==p?c=d.jsVars.transparent?0:1:(c=parseFloat(c),0>c?
c=0:1<c&&(c=1));l||(l="#ffffff");if(e&&!a)return c?l:"transparent";l=l.replace(/^#?([a-f0-9]+)/ig,"$1");l=J.graphics.HEXtoRGB(l);l[3]=c.toString();return"rgba("+l.join(",")+")"};J.injectModuleDependency=function(a,d,c){var l=!1,e=q(a).subject;a=q(a).predicate;d=void 0===d?a:q(d).predicate;n[a]||(n[a]={},I[a]||(I[a]=[],J.moduleMeta[a]=e+r.html5ScriptNamePrefix+(d&&d.replace&&d.replace(/^[\s\S]*\//ig,"").replace(/\?/g,"%3F").replace(/\#/g,"%23").replace(/\:/g,"%3A")||"")+r.html5ScriptNameSuffix),l=
!0);n[a][d]=c||0;return l};J.needsModule=function(a,d){a=q(a).predicate;d=q(d).predicate;return void 0!==(J.moduleDependencies[a]&&J.moduleDependencies[a][d])};J.cleanupWaitingCommands=function(a){for(var d=a.chartType(),d=t(d),c,l=[],e;c=d.shift();){for(c=I[c]||[];e=c.shift();)"object"===typeof e&&e.obj!==a&&l.push(e);c.concat(l);l=[]}};k.extend(k.core.options,{html5ScriptNameSuffix:".js",html5ScriptNamePrefix:"fusioncharts."});k.extend(M,{dataFormat:"json",ready:!1,policies:{jsVars:{},options:{showChartLoadingMessage:["showChartLoadingMessage",
!0]}},init:function(){c("base")?M.ready=!0:p("base",function(){M.ready=!0;d(J.cmdQueue)},void 0,k.core)},render:function(a){var d=a,c=this.jsVars.msgStore;d&&this.options.showChartLoadingMessage&&(d.innerHTML='<small style="display: inline-block; *zoom:1; *display:inline; width: 100%; font-family: Verdana,sans; font-size: 10px; color: #666666; text-align: center; padding-top: '+(parseInt(d.style.height,10)/2-5)+'px">'+(c.PBarLoadingText||c.LoadingText)+"</small>",d.style.backgroundColor=l(this));
J.cmdQueue.push({cmd:"render",obj:this,args:arguments})},update:function(){J.cmdQueue.push({cmd:"update",obj:this,args:arguments})},resize:function(){J.cmdQueue.push({cmd:"resize",obj:this,args:arguments})},dispose:function(){var a=J.cmdQueue,d,c;d=0;for(c=a.length;d<c;d+=1)a[d].obj===this&&(a.splice(d,1),--c,--d)},load:function(){J.cmdQueue.push({cmd:"load",obj:this,args:arguments})},config:function(a,d){var c,l=this.jsVars,e=l.msgStore,l=l.cfgStore,p=this.options,n;n={LoadingText:"loadMessage",
ChartNotSupported:"typeNotSupportedMessage",RenderChartErrorText:"renderErrorMessage",XMLLoadingText:"dataLoadStartMessage",ChartNoDataText:"dataEmptyMessage",LoadDataErrorText:"dataLoadErrorMessage",InvalidXMLText:"dataInvalidMessage"};"string"===typeof a&&1<arguments.length&&(c=a,a={},a[c]=d);for(c in a)void 0!==e[c]?e[c]=a[c]:l[c.toLowerCase()]=a[c],n[c]?p[n[c]]=a[c]:p[c]=a[c]},protectedMethods:{},events:{beforeInitialize:function(a){var d=a.sender;a=d.jsVars;var c;a.fcObj=d;a.msgStore=a.msgStore||
new Q;a.cfgStore=a.cfgStore||{};a.previousDrawCount=-1;a.drawCount=0;a._reflowData={};d.addEventListener("beforeRender",function(a){a.sender.jsVars.smartLabel=new J.SmartLabelManager(d.id,C.body||C.getElementsByTagName("body")[0]);a.detachHandler()});a.userModules instanceof Array||(c=a.userModules,a.userModules=[],"string"===typeof c&&(a.userModules=a.userModules.concat(c.split(","))));J.chartAPI&&J.chartAPI[void 0]||(a.needsLoaderCall=!0)},initialized:function(a){a=a.sender;var d=a.jsVars;d.needsLoaderCall&&
(delete d.needsLoaderCall,M.load.call(a))},beforeDataUpdate:B,beforeDispose:function(a){var d=a.sender.jsVars;d.smartLabel&&!d.smartLabel.disposed&&d.smartLabel.dispose();B.apply(this,arguments)},beforeRender:function(a){var d=a.sender.jsVars;delete d.drLoadAttempted;delete d.waitingModule;delete d.waitingModuleError;B.apply(this,arguments)},dataLoadRequested:function(a){a=a.sender;var d=a.jsVars;delete d.loadError;a.ref&&a.options.showDataLoadingMessage?d.hcObj&&!d.hasNativeMessage&&d.hcObj.showLoading?
d.hcObj.showMessage(d.msgStore.XMLLoadingText):a.ref.showChartMessage?a.ref.showChartMessage("XMLLoadingText"):d.stallLoad=!0:d.stallLoad=!0},dataLoadRequestCompleted:function(a){delete a.sender.jsVars.stallLoad},dataLoadError:function(a){var d=a.sender,c=d.jsVars,l=d.args,e=d.options;delete c.stallLoad;c.loadError=!0;d._chartMessageImageStyle={imageHAlign:l.dataLoadErrorMessageImageHAlign||e.baseChartMessageImageHAlign,imageVAlign:l.dataLoadErrorMessageImageVAlign||e.baseChartMessageImageVAlign,
imageAlpha:l.dataLoadErrorMessageImageAlpha||e.baseChartMessageImageAlpha,imageScale:l.dataLoadErrorMessageImageScale||e.baseChartMessageImageScale};d._chartMessageStyle={color:l.dataLoadErrorMessageColor||e.baseChartMessageColor,fontFamily:l.dataLoadErrorMessageFont||e.baseChartMessageFont,fontSize:l.dataLoadErrorMessageFontSize||e.baseChartMessageFontSize};d.apiInstance.setChartMessage&&(d.apiInstance.setChartMessage(e.dataLoadErrorMessage,d),d.apiInstance.drawChartMessage());d.__state.dataFetchDuringConstruction&&
delete d.__state.dataFetchDuringConstruction;B.apply(this,arguments)}},_call:function(a,d,c){a.apply(c||m,d||[])}});k.extend(M.prototype,{getSWFHTML:function(){k.raiseWarning(this,"11090611381","run","JavaScriptRenderer~getSWFHTML()","getSWFHTML() is not supported for JavaScript charts.")},addVariable:function(){k.raiseWarning(this,"11090611381","run","JavaScriptRenderer~addVariable()",'Use of deprecated "addVariable()". Replace with "configure()".');k.core.prototype.configure.apply(this,arguments)},
getXML:function(){k.raiseWarning(this,"11171116291","run","JavaScriptRenderer~getXML()",'Use of deprecated "getXML()". Replace with "getXMLData()".');return this.getXMLData.apply(this,arguments)},setDataXML:function(){k.raiseWarning(this,"11171116292","run","JavaScriptRenderer~setDataXML()",'Use of deprecated "setDataXML()". Replace with "setXMLData()".');return this.setXMLData.apply(this,arguments)},setDataURL:function(){k.raiseWarning(this,"11171116293","run","JavaScriptRenderer~setDataURL()",'Use of deprecated "SetDataURL()". Replace with "setXMLUrl()".');
return this.setXMLUrl.apply(this,arguments)},hasRendered:function(){return!(!this.jsVars.hcObj||!this.jsVars.hcObj.hasRendered)},setTransparent:function(a){var d;if(d=this.jsVars)"boolean"!==typeof a&&null!==a&&(a=!0),d.transparent=null===a?!1:!0===a?!0:!1}});k.extend(k.core,{_fallbackJSChartWhenNoFlash:function(){m.swfobject.hasFlashPlayerVersion(k.core.options.requiredFlashPlayerVersion)||k.renderer.setDefault("javascript")},_enableJSChartsForSelectedBrowsers:function(a){void 0!==a&&null!==a&&k.renderer.setDefault((new RegExp(a)).test(m.navigator.userAgent)?
"javascript":"flash")},_doNotLoadExternalScript:function(a){var d,c;for(d in a)c=d.toLowerCase(),z[c]&&(G[c]=Boolean(a[d]))},_preloadJSChartModule:function(){throw"NotImplemented()";}});k.renderer.register("javascript",M);a||e?k.renderer.setDefault("javascript"):m.swfobject&&m.swfobject.hasFlashPlayerVersion&&!m.swfobject.hasFlashPlayerVersion(k.core.options.requiredFlashPlayerVersion)&&(k.raiseWarning(k.core,"1204111846","run","JSRenderer","Switched to JavaScript as default rendering due to absence of required Flash Player."),
k.renderer.setDefault("javascript"))}]);
FusionCharts.register("module",["private","modules.renderer.polyfill",function(){"function"!=typeof Object.create&&(Object.create=function(){function k(){}var m=Object.prototype.hasOwnProperty;return function(C){var r,e,a;if("object"!=typeof C)throw new TypeError("Object prototype may only be an Object or null");k.prototype=C;a=new k;k.prototype=null;if(1<arguments.length)for(e in r=Object(arguments[1]),r)m.call(r,e)&&(a[e]=r[e]);return a}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(k,
m){var C,r,e;if(null==this)throw new TypeError('"this" is null or not defined');r=Object(this);e=r.length>>>0;if(0===e)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=e)return-1;for(C=Math.max(0<=C?C:e-Math.abs(C),0);C<e;){if(C in r&&r[C]===k)return C;C++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(k,m){var C,r,e,a,M;if(null==this)throw new TypeError(" this is null or not defined");e=Object(this);a=e.length>>>0;if("function"!==typeof k)throw new TypeError(k+" is not a function");
1<arguments.length&&(C=m);for(r=0;r<a;)r in e&&(M=e[r],k.call(C,M,r,e)),r++});Array.prototype.indexOf||(Array.prototype.indexOf=function(k,m){var C;if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),e=r.length>>>0;if(0===e)return-1;C=+m||0;Infinity===Math.abs(C)&&(C=0);if(C>=e)return-1;for(C=Math.max(0<=C?C:e-Math.abs(C),0);C<e;){if(C in r&&r[C]===k)return C;C++}return-1});"function"!=typeof Object.create&&(Object.create=function(){function k(){}var m=Object.prototype.hasOwnProperty;
return function(C){var r,e,a;if("object"!=typeof C)throw TypeError("Object prototype may only be an Object or null");k.prototype=C;r=new k;k.prototype=null;if(1<arguments.length)for(a in e=Object(arguments[1]),e)m.call(e,a)&&(r[a]=e[a]);return r}}());Function.prototype.bind||(Function.prototype.bind=function(k){if("function"!==typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var m=Array.prototype.slice.call(arguments,1),C=this,r=function(){},
e=function(){return C.apply(this instanceof r?this:k,m.concat(Array.prototype.slice.call(arguments)))};this.prototype&&(r.prototype=this.prototype);e.prototype=new r;return e});Array.prototype.reduce||(Array.prototype.reduce=function(k){if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!==typeof k)throw new TypeError(k+" is not a function");var m=Object(this),C=m.length>>>0,r=0,e;if(2==arguments.length)e=arguments[1];else{for(;r<C&&!(r in m);)r++;
if(r>=C)throw new TypeError("Reduce of empty array with no initial value");e=m[r++]}for(;r<C;r++)r in m&&(e=k(e,m[r],r,m));return e});Object.keys||(Object.keys=function(){var k=Object.prototype.hasOwnProperty,m=!{toString:null}.propertyIsEnumerable("toString"),C="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),r=C.length;return function(e){if("object"!==typeof e&&("function"!==typeof e||null===e))throw new TypeError("Object.keys called on non-object");
var a=[],M;for(M in e)k.call(e,M)&&a.push(M);if(m)for(M=0;M<r;M++)k.call(e,C[M])&&a.push(C[M]);return a}}())}]);
(function(){var k=window,m=k.document,C={},r={};k.SvgDeCanvo=function(e,a,k,m,I,n,z){var G={svg:"",context:"",callBack:"",imageArr:[],canvas:"",dimention:{}};if(!(this instanceof SvgDeCanvo))throw"This function should be used as class";this._getStore=function(a){return"undefined"!=typeof G[a]?G[a]:!1};this._setStore=function(a,e){"undefined"!=typeof G[a]&&(G[a]=e)};this._setStore("dimention",{x:k,y:m,width:I,height:n});e&&this.setSVG(e);a&&this.setContext(a);z&&this.setCallback(z);this.drawOnCanvas()};
SvgDeCanvo.prototype.setContext=function(e){var a;if(e.getContext&&e.getContext("2d"))a=e.getContext("2d"),this._setStore("canvas",e),this._setStore("context",a);else throw"Please provide valid canvas";};SvgDeCanvo.prototype.getContext=function(){return this._getStore("context")};SvgDeCanvo.prototype.setSVG=function(e){if("undefined"!=typeof e.documentElement)this._setStore("svg",e);else if("<"==e.substr(0,1))e=r.StrToDom(e),this._setStore("svg",e);else throw"Please provide valid SVG";};SvgDeCanvo.prototype.getSVG=
function(){return this._getStore("svg")};SvgDeCanvo.prototype.setCallback=function(e){"function"===typeof e&&this._setStore("callBack",e)};SvgDeCanvo.prototype.getCallback=function(){return this._getStore("callBack")};SvgDeCanvo.prototype.drawOnCanvas=function(e,a,k,m,I,n,z){var G,q,t,c;e&&this.setSVG(e);a&&this.setContext(a);z&&this.setCallback(z);a=a||this._getStore("canvas");t=this._getStore("dimention");z=this.getCallback();G=this.getContext();(e=this.getSVG())&&G&&(c=r.getSvgDimention(e),q=c.width,
a=c.height,k=k||t.x||0,m=m||t.y||0,I=I||t.width||q,n=n||t.height||a,q=c.width?I/q:1,a=c.height?n/a:1,r.startTransform("translate("+k+","+m+") scale("+q+","+a+")",G),G.save(),G.fillStyle="#ffffff",G.fillRect(0,0,I,n),G.restore(),r.storeImagesInArr(this),r.drawNodes([e],[],this,G,function(){"function"===typeof z&&z();r.resetTransform(G)}))};C.common=function(e,a,k,m,I){var n=e.childNodes,z=function(){e.attributes&&m.restore();I&&I()};for(i in a)a.hasOwnProperty(i)&&"class"!=a[i].name&&"id"!=a[i].name&&
"transform"!=a[i].name&&"clip-path"!=a[i].name&&"object"==typeof a[i]&&e.attributes&&!e.attributes[a[i].name]&&e.setAttribute([a[i].name],a[i].value);if(e.attributes&&e.attributes.style)for(i in styleArr=e.attributes.style.value.replace(/;$/,"").split(";"),styleArr)if(styleArr.hasOwnProperty(i)&&(styleName=styleArr[i].split(":")[0].trim(),!e.attributes[styleName]||"undefined"==e.attributes[styleName].value))try{e.setAttribute(styleName,styleArr[i].split(":")[1].trim())}catch(G){}e.attributes&&(m.save(),
e.attributes.transform&&r.startTransform(e.attributes.transform.value,m),e.attributes["clip-path"]&&r.applyClip(e.attributes["clip-path"].value,m,k));if(0==n.length||1==n.length&&!n[0].tagName)if("undefined"!==typeof e.tagName)if(a="draw"+e.tagName,C[a])if(e.attributes.display&&"none"==e.attributes.display.value)z();else C[a](e,m,k,"draw",z);else z();else z();else r.drawNodes(n,"svg"==e.tagName?[]:e.attributes,k,m,z)};C.drawtext=function(e,a,k,m,I){this.drawtspan(e,a,k,m,I)};C.drawtspan=function(e,
a,M,J,I){var n=e.innerHTML||e.textContent,z=e.attributes.x?e.attributes.x.value:0,G=e.attributes.y?e.attributes.y.value:0,q=e.attributes.dx?e.attributes.dx.value:0,t=e.attributes.dy?e.attributes.dy.value:0,c="serief",p="normal",d="16px",B=[],Q;m.getElementsByTagName("body")[0]&&(Q=k.getComputedStyle(m.getElementsByTagName("body")[0],null),Q.getPropertyValue("font-family")&&(c=Q.getPropertyValue("font-family")),Q.getPropertyValue("font-weight")&&(p=Q.getPropertyValue("font-weight")),Q.getPropertyValue("font-size")&&
(d=Q.getPropertyValue("font-size")));c=e.attributes["font-family"]?e.attributes["font-family"].value:c;p=e.attributes["font-weight"]?e.attributes["font-weight"].value:p;Q=e.attributes["text-anchor"]?e.attributes["text-anchor"].value:"start";d=e.attributes["font-size"]?e.attributes["font-size"].value:d;z=Number(z)+Number(q);G=Number(G)+Number(t);n=n.trim();Q="middle"==Q?"center":Q;a.save();a.font=p+" "+d+" "+c;a.textAlign=Q;if("draw"===J){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,
a,M,B),a.fillText(n,z,G),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,M,B),a.strokeText(n,z,G),r.endStrokeEffect(e,a)}a.restore();"function"===typeof I&&I()};C.drawcircle=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),z=Number(e.attributes.cy.value),G=Number(e.attributes.r.value),q=[];a.beginPath();a.arc(n,z,G,0,2*Math.PI);r.bBoxFromPoint([n,1*n+1*G,1*n-1*G],[z,1*z+1*G,1*z-1*G],q);if("draw"===m){if(!e.attributes.fill||
e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,q),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,q),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawrect=function(e,a,k,m,I){var n=Number(e.attributes.x.value),z=Number(e.attributes.y.value),G=e.attributes.rx?Number(e.attributes.rx.value):0,q=e.attributes.ry?Number(e.attributes.ry.value):0,t=Number(e.attributes.height.value),
c=Number(e.attributes.width.value),p=[];r.bBoxFromPoint([n,n+c],[z,z+t],p);a.beginPath();a.moveTo(n+G,z);a.lineTo(n+c-G,z);a.quadraticCurveTo(n+c,z,n+c,z+q);a.lineTo(n+c,z+t-q);a.quadraticCurveTo(n+c,z+t,n+c-G,z+t);a.lineTo(n+G,z+t);a.quadraticCurveTo(n,z+t,n,z+t-q);a.lineTo(n,z+q);a.quadraticCurveTo(n,z,n+G,z);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,p),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&
"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,p),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawellipse=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),z=Number(e.attributes.cy.value),G=Number(e.attributes.rx.value),q=Number(e.attributes.ry.value),t=.5522848*G,c=.5522848*q,p=n+G,d=z+q,B=[];a.beginPath();a.moveTo(n-G,z);a.bezierCurveTo(n-G,z-c,n-t,z-q,n,z-q);a.bezierCurveTo(n+t,z-q,p,z-c,p,z);a.bezierCurveTo(p,z+c,n+t,d,n,d);a.bezierCurveTo(n-
t,d,n-G,z+c,n-G,z);r.bBoxFromPoint([n+G,n-G],[z+q,z-q],B);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,B),a.fill(),r.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,B),a.stroke(),r.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawimage=function(e,a,k,m,I){var n=e.attributes.x?Number(e.attributes.x.value):0,z=e.attributes.y?Number(e.attributes.y.value):
0,G=e.attributes.height?Number(e.attributes.height.value):0,q=e.attributes.width?Number(e.attributes.width.value):0,t,c=k._getStore("imageArr");a.save();e.attributes.opacity&&(a.globalAlpha=e.attributes.opacity.value);e.attributes["xlink:href"]?(t=e.attributes["xlink:href"].value,"complete"===c[t].status?(a.drawImage(c[t].obj,n,z,q,G),a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"error"===c[t].status?(a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"progress"===c[t].status?(c[t].callback=
function(){a.drawImage(c[t].obj,n,z,q,G);a.globalAlpha=1;a.restore();"function"===typeof I&&I()},c[t].errCallback=function(){a.globalAlpha=1;a.restore();"function"===typeof I&&I()}):(a.globalAlpha=1,a.restore(),"function"===typeof I&&I())):(a.globalAlpha=1,a.restore(),"function"===typeof I&&I())};C.drawpath=function(e,a,k,m,I){var n=e.attributes.d.value.match(/[a-z][^a-z"]*/ig),z=[],G,q,t,c=0,p=0,d;a.beginPath();for(G in n)if(n.hasOwnProperty(G))switch(q=n[G].substring(0,1),t=r.getArgsAsArray(n[G].substring(1,
n[G].length)),q){case "M":c=Number(t[0]);p=Number(t[1]);a.moveTo(c,p);break;case "m":c+=Number(t[0]);p+=Number(t[1]);a.moveTo(c,p);break;case "L":for(d=0;t[d];d+=2)r.bBoxFromPoint([c,t[d]],[p,t[d+1]],z),c=Number(t[d]),p=Number(t[d+1]),a.lineTo(c,p);break;case "l":for(d=0;t[d];d+=2)r.bBoxFromPoint([c,1*c+1*t[d]],[p,1*p+1*t[d+1]],z),c+=Number(t[d]),p+=Number(t[d+1]),a.lineTo(c,p);break;case "V":for(d=0;t[d];d+=1)r.bBoxFromPoint([c],[p,t[d]],z),p=Number(t[d]),a.lineTo(c,p);break;case "v":for(d=0;t[d];d+=
1)r.bBoxFromPoint([c],[p,1*p+1*t[d]],z),p+=Number(t[d]),a.lineTo(c,p);break;case "H":for(d=0;t[d];d+=1)r.bBoxFromPoint([c,t[d]],[p],z),c=Number(t[d]),a.lineTo(c,p);break;case "h":for(d=0;t[d];d+=1)r.bBoxFromPoint([c,1*c+1*t[d]],[p],z),c+=Number(t[d]),a.lineTo(c,p);break;case "Q":for(d=0;t[d];d+=4)r.qBezierBBox(c,p,t[d],t[d+1],t[d+2],t[d+3],z),a.quadraticCurveTo(Number(t[d]),Number(t[d+1]),Number(t[d+2]),Number(t[d+3])),c=Number(t[d+2]),p=Number(t[d+3]);break;case "q":for(d=0;t[d];d+=4)r.qBezierBBox(c,
p,c+1*t[d],p+1*t[d+1],1*c+1*t[d+2],1*p+1*t[d+3],z),a.quadraticCurveTo(c+1*t[d],p+1*t[d+1],c+=Number(t[d+2]),p+=Number(t[d+3]));break;case "C":for(d=0;t[d];d+=6)r.cBezierBBox(c,p,t[d],t[d+1],t[d+2],t[d+3],t[d+4],t[d+5],z),a.bezierCurveTo(t[d],t[d+1],t[d+2],t[d+3],t[d+4],t[d+5]),c=Number(t[d+4]),p=Number(t[d+5]);break;case "c":for(d=0;t[d];d+=6)r.cBezierBBox(c,p,c+1*t[d],1*p+1*t[d+1],c+1*t[d+2],1*p+1*t[d+3],c+1*t[d+4],1*p+1*t[d+5],z),a.bezierCurveTo(c+Number(t[d]),p+Number(t[d+1]),c+Number(t[d+2]),
p+Number(t[d+3]),c+=Number(t[d+4]),p+=Number(t[d+5]));break;case "a":case "A":for(d=0;t[d];d+=7){var B=Number(t[d]),Q=Number(t[d+1]),l,w,H,F,T,D,V,P,C,$,ba,ia,ea,X;l=Math.PI/180*Number(t[d+2]);w=Number(t[d+3]);H=Number(t[d+4]);F=Number(t[d+5]);T=Number(t[d+6]);D=Math.cos(l)*(c-F)/2+Math.sin(l)*(p-T)/2;V=-Math.sin(l)*(c-F)/2+Math.cos(l)*(p-T)/2;B=0>B?-B:B;Q=0>Q?-Q:Q;ia=Math.pow(D,2)/Math.pow(B,2)+Math.pow(V,2)/Math.pow(Q,2);1<ia&&(B*=Math.sqrt(ia),Q*=Math.sqrt(ia));ia=B>Q?B:Q;ea=B>Q?1:B/Q;X=B>Q?Q/
B:1;w=(w==H?-1:1)*Math.sqrt((Math.pow(B,2)*Math.pow(Q,2)-Math.pow(B,2)*Math.pow(V,2)-Math.pow(Q,2)*Math.pow(D,2))/(Math.pow(B,2)*Math.pow(V,2)+Math.pow(Q,2)*Math.pow(D,2)));isNaN(w)&&(w=0);P=w*B*V/Q;C=-w*Q*D/B;$=P*Math.cos(l)-C*Math.sin(l)+(c+F)/2;ba=P*Math.sin(l)+C*Math.cos(l)+(p+T)/2;w=r.angleBetweenVectors(1,0,(D-P)/B,(V-C)/Q);D=r.angleBetweenVectors((D-P)/B,(V-C)/Q,(-D-P)/B,(-V-C)/Q);0==H&&0<D&&(D-=Math.PI/180*360);1==H&&0>D&&(D+=Math.PI/180*360);if(0==B&&0==Q){a.lineTo(F,T);break}a.save();B=
r.combineTransformMatrix([[1,0,$,0,1,ba],[Math.cos(l),Math.sin(l),0,Math.sin(l),Math.cos(l),0],[ea,0,0,0,X,0]]);a.transform(B[0],B[3],B[1],B[4],B[2],B[5]);a.arc(0,0,ia,w,w+D,1-H);a.restore();r.arcBBox(0,0,ia,w,w+D,1-H,[B[0],B[3],B[1],B[4],B[2],B[5]],z);"A"==q?(c=Number(t[d+5]),p=Number(t[d+6])):(c+=Number(t[d+5]),p+=Number(t[d+6]))}break;case "Z":case "z":a.closePath()}if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)r.applyFillEffect(e,a,k,z),a.fill(),r.endFillEffect(e,
a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)r.applyStrokeEffect(e,a,k,z),a.stroke(),r.endStrokeEffect(e,a);I()}};r.drawNodes=function(e,a,k,m,I){var n=e.length,z=-1,G=0,q=0,t=function(){var c;z+=1;z<n?(c=e[z],c.tagName&&"defs"===c.tagName&&(z+=1,c=e[z]),c.attributes&&(c.attributes.dy&&(q=c.attributes.dy.value=1*c.attributes.dy.value+1*q),c.attributes.dx&&(G=c.attributes.dx.value=1*c.attributes.dx.value+1*G)),C.common(c,a,k,m,t)):I&&I()};t()};r.getSvgDimention=
function(e){var a={width:0,height:0};node=e.childNodes&&e.childNodes[0]&&e.childNodes[0].attributes;a.width=Number(node.width&&node.width.value||0);a.height=Number(node.height&&node.height.value||0);return a};r.storeImagesInArr=function(e){var a=e.getSVG(),k,m;k=e._getStore("imageArr");e=a.getElementsByTagName("image");for(m in e)e.hasOwnProperty(m)&&e[m].attributes&&e[m].attributes["xlink:href"]&&(a=e[m].attributes["xlink:href"].value,k[a]||(k[a]=[],k[a].status="progress",k[a].callback=null,k[a].obj=
new Image,k[a].obj.onload=function(a){return function(){var e=k[a].callback;e?(k[a].status="complete",e()):k[a].status="complete"}}(a),k[a].obj.onerror=function(a){return function(){var e=k[a].errCallback;e?(k[a].status="error",e()):k[a].status="error"}}(a),k[a].obj.src=a))};r.startTransform=function(e,a){var k=e.match(/[^\s][a-z,0-9.\-(\s]+\)/gi),m,I;for(I in k)k.hasOwnProperty(I)&&(-1<k[I].indexOf("matrix")&&(m=r.stringToArgs(k[I]),a.transform(m[0],m[1],m[2],m[3],m[4],m[5])),-1<k[I].indexOf("translate")&&
(m=r.stringToArgs(k[I]),a.translate(m[0]||0,m[1]||0)),-1<k[I].indexOf("rotate")&&(m=r.stringToArgs(k[I]),3==m.length?(a.translate(m[1],m[2]),a.rotate(Math.PI/180*m[0]),a.translate(-m[1],-m[2])):a.rotate(Math.PI/180*m[0])),-1<k[I].indexOf("scale")&&(m=r.stringToArgs(k[I]),1==m.length?a.scale(m[0]||1,m[0]||1):a.scale(m[0]||1,m[1]||1)),-1<k[I].indexOf("skewX")&&(m=r.stringToArgs(k[I]),a.transform(1,0,Math.tan(Math.PI/180*m[0]),1,0,0)),-1<k[I].indexOf("skewY")&&(m=r.stringToArgs(k[I]),a.transform(1,Math.tan(Math.PI/
180*m[0]),0,1,0,0)))};r.resetTransform=function(e){e.setTransform(1,0,0,1,0,0)};r.stringToArgs=function(e){e=/\(([^\)]+)/.exec(e)[1];return r.getArgsAsArray(e)};r.getArgsAsArray=function(e){var a;e=e.trim().split(/[\s,]+/);for(a=0;a<e.length;a++)e[a].trim(),0==e[a].length&&e.splice(a,1);return e};r.applyFillEffect=function(e,a,k,m){a.globalAlpha=e.attributes["fill-opacity"]&&"none"!=e.attributes["fill-opacity"].value?e.attributes["fill-opacity"].value:1;e.attributes.fill&&-1<e.attributes.fill.value.indexOf("url(")?
(e=r.getFillStyleById(/url\(.*#([^\)'"]+)/.exec(e.attributes.fill.value)[1],a,k,m),a.fillStyle=e):a.fillStyle=e.attributes.fill?e.attributes.fill.value:"#000000"};r.endFillEffect=function(e,a){a.globalAlpha=1};r.applyStrokeEffect=function(e,a,k,m){e.attributes["stroke-opacity"]&&"none"!=e.attributes["stroke-opacity"].value&&(a.globalAlpha=e.attributes["stroke-opacity"].value);e.attributes["stroke-width"]&&(a.lineWidth=e.attributes["stroke-width"].value,0==e.attributes["stroke-width"].value&&(a.globalAlpha=
0));e.attributes["stroke-linecap"]&&"none"!=e.attributes["stroke-linecap"].value&&(a.lineCap=e.attributes["stroke-linecap"].value);e.attributes["stroke-linejoin"]&&"none"!=e.attributes["stroke-linejoin"].value&&(a.lineJoin=e.attributes["stroke-linejoin"].value);e.attributes["stroke-dasharray"]&&"none"!=e.attributes["stroke-dasharray"].value&&a.setLineDash&&a.setLineDash(r.getArgsAsArray(e.attributes["stroke-dasharray"].value));a.strokeStyle=e.attributes.stroke?e.attributes.stroke.value:"#000000"};
r.endStrokeEffect=function(e,a){e.attributes["stroke-opacity"]&&"none"!=e.attributes["stroke-opacity"].value&&(a.globalAlpha=1,a.setLineDash&&a.setLineDash([]),a.lineWidth=1);a.globalAlpha=1};r.applyClip=function(e,a,k){var m=k.getSVG(),I,n;if(-1!==e.indexOf("url(")){e=/url\(.*#([^\)'"]+)/.exec(e)[1];m=m.getElementById(e);m.attributes&&(a.save(),m.attributes.transform&&r.startTransform(m.attributes.transform.value,a));e=m.childNodes;for(I in e)e.hasOwnProperty(I)&&e[I].tagName&&e[I].constructor!==
Array&&(n="draw"+e[I].tagName,e[I].attributes&&(a.save(),e[I].attributes.transform&&r.startTransform(e[I].attributes.transform.value,a)),C[n]&&(C[n](e[I],a,k,"clip"),a.closePath()),e[I].attributes&&a.restore());m.attributes&&a.restore();a.clip()}};r.getFillStyleById=function(e,a,k,m){e=k.getSVG().getElementById(e);return"linearGradient"==e.tagName?r.getLinearGradient(e,a,m):"radialGradient"==e.tagName?r.getRadialGradient(e,a,m):"#FFFFFF"};r.getLinearGradient=function(e,a,k){var m=e.attributes.x1?
r.getPercentValue(e.attributes.x1.value,k.xMax-k.xMin,k.xMin):0,I=e.attributes.y1?r.getPercentValue(e.attributes.y1.value,k.yMax-k.yMin,k.yMin):0,n=e.attributes.x2?r.getPercentValue(e.attributes.x2.value,k.xMax-k.xMin,k.xMin):0;k=e.attributes.y2?r.getPercentValue(e.attributes.y2.value,k.yMax-k.yMin,k.yMin):0;var z;linGrad=a.createLinearGradient(m,I,n,k);e=e.childNodes;for(z in e)e.hasOwnProperty(z)&&e[z].attributes&&e[z].attributes["stop-color"]&&(a=r.toRGB(e[z].attributes["stop-color"].value),m=
e[z].attributes["stop-opacity"]?e[z].attributes["stop-opacity"].value:1,a.status?linGrad.addColorStop(r.getPercentValue(e[z].attributes.offset.value,1,0),"rgba("+a.r+","+a.g+","+a.b+","+Number(m)+")"):linGrad.addColorStop(r.getPercentValue(e[z].attributes.offset.value,1,0),e[z].attributes["stop-color"].value));return linGrad};r.getRadialGradient=function(e,a,k){var m=e.attributes.cx?r.getPercentValue(e.attributes.cx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),I=e.attributes.cy?r.getPercentValue(e.attributes.cy.value,
k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin),n=e.attributes.fx?r.getPercentValue(e.attributes.fx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),z=e.attributes.fy?r.getPercentValue(e.attributes.fy.value,k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin);k=e.attributes.r?r.getPercentValue(e.attributes.r.value,(k.yMax-k.yMin+k.xMax-k.xMin)/2,0):r.getPercentValue("50%",(k.yMax-k.yMin+k.xMax-k.xMin)/2,0);var G;a=a.createRadialGradient(n,z,0,m,I,k);e=e.childNodes;for(G in e)e.hasOwnProperty(G)&&
e[G].attributes&&e[G].attributes["stop-color"]&&(m=r.toRGB(e[G].attributes["stop-color"].value),I=e[G].attributes["stop-opacity"]?e[G].attributes["stop-opacity"].value:1,m.status?a.addColorStop(r.getPercentValue(e[G].attributes.offset.value,1,0),"rgba("+m.r+","+m.g+","+m.b+","+Number(I)+")"):a.addColorStop(r.getPercentValue(e[G].attributes.offset.value,1,0),e[G].attributes["stop-color"].value));return a};r.getPercentValue=function(e,a,k){return-1!=e.indexOf("%")?(e=/(\d.*)%/.exec(e)[1],100<e&&(e=
100),e*a/100+1*k):1<e?e:e*a+1*k};r.bBoxFromPoint=function(e,a,k){"undefined"!==typeof k.xMin&&(e.push(k.xMin,k.xMax),a.push(k.yMin,k.yMax));k.xMin=Math.min.apply(this,e);k.xMax=Math.max.apply(this,e);k.yMin=Math.min.apply(this,a);k.yMax=Math.max.apply(this,a)};r.arcBBox=function(e,a,k,m,r,n,z,G){var q,t,c;z instanceof Array&&(e=e*z[0]+e*z[2]+z[4],a=a*z[1]+a*z[3]+z[5]);c=function(a,d,c){a=(a+2*Math.PI)%(2*Math.PI);d=(d+2*Math.PI)%(2*Math.PI);if(a<=d)return a<=c&&c<=d?!0:!1;if(a>=d)return a>=c&&c>=
d?!1:!0};z=m%(2*Math.PI);q=r%(2*Math.PI);n&&(z=r%(2*Math.PI),q=m%(2*Math.PI));n=e+k*Math.cos(z);m=a+k*Math.sin(z);t=e+k*Math.cos(q);r=a+k*Math.sin(q);n=[n,t];m=[m,r];c(z,q,0)&&(n.push(1*e+1*k),m.push(a));c(z,q,.5*Math.PI)&&(n.push(e),m.push(1*a+1*k));c(z,q,Math.PI)&&(n.push(e-1*k),m.push(a));c(z,q,1.5*Math.PI)&&(n.push(e),m.push(a-1*k));e=Math.max.apply(this,n);a=Math.min.apply(this,n);k=Math.max.apply(this,m);z=Math.min.apply(this,m);"undefined"!==typeof G.xMin?(G.xMin=Math.min(a,G.xMin),G.xMax=
Math.max(e,G.xMax),G.yMin=Math.min(z,G.yMin),G.yMax=Math.max(k,G.yMax)):(G.xMin=a,G.xMax=e,G.yMin=z,G.yMax=k)};r.qBezierBBox=function(e,a,k,m,r,n,z){var G=1*e-2*k+1*r,q=1*a-2*m+1*n;0==G||0==q?(m=Math.max(e,r),e=Math.min(e,r),r=Math.max(a,n),a=Math.min(a,n)):(G=(e-k)/G,q=(a-m)/q,k=e*Math.pow(1-G,2)+2*k*(1-G)*G+r*Math.pow(G,2),q=a*Math.pow(1-q,2)+2*m*(1-q)*q+n*Math.pow(q,2),m=Math.max(e,r,k),e=Math.min(e,r,k),r=Math.max(a,n,q),a=Math.min(a,n,q));"undefined"!==typeof z.xMin?(z.xMin=Math.min(e,z.xMin),
z.xMax=Math.max(m,z.xMax),z.yMin=Math.min(a,z.yMin),z.yMax=Math.max(r,z.yMax)):(z.xMin=e,z.xMax=m,z.yMin=a,z.yMax=r)};r.cBezierBBox=function(e,a,k,m,r,n,z,G,q){var t,c,p,d,B,C,l;null==r&&null==n&&(k=e+2/3*(k-e),r=a+2/3*(m-a),m=k+1/3*(z-e),n=r+1/3*(G-a));l=function(a,d,c,l,e){return a*Math.pow(1-e,3)+3*d*e*Math.pow(1-e,2)+3*c*e*e*(1-e)+l*e*e*e};p=3*z-9*r+9*k-3*e;d=6*e-12*k+6*r;B=3*k-3*e;B=Math.pow(d,2)-4*p*B;c=t=e;z<t&&(t=z);z>c&&(c=z);0<=B&&(C=(-d+Math.sqrt(B))/(2*p),0<C&&1>C&&(C=l(e,k,r,z,C),C<t&&
(t=C),C>c&&(c=C)),p=(-d-Math.sqrt(B))/(2*p),0<p&&1>p&&(C=l(e,k,r,z,p),C<t&&(t=C),C>c&&(c=C)));p=3*G-9*n+9*m-3*a;d=6*a-12*m+6*n;B=3*m-3*a;B=Math.pow(d,2)-4*p*B;k=e=a;G<e&&(e=G);G>k&&(k=G);0<=B&&(C=(-d+Math.sqrt(B))/(2*p),0<C&&1>C&&(r=l(a,m,n,G,C),r<e&&(e=r),r>k&&(k=r)),p=(-d-Math.sqrt(B))/(2*p),0<p&&1>p&&(r=l(a,m,n,G,p),r<e&&(e=r),r>k&&(k=r)));"undefined"!==typeof q.xMin?(q.xMin=Math.min(t,q.xMin),q.xMax=Math.max(c,q.xMax),q.yMin=Math.min(e,q.yMin),q.yMax=Math.max(k,q.yMax)):(q.xMin=t,q.xMax=c,q.yMin=
e,q.yMax=k)};r.combineTransformMatrix=function(e){var a=e.length-1,k;if(0>=a)return e[0];k=e[0];for(i=1;i<=a;i++)k[0]=k[0]*e[i][0]+k[1]*e[i][3],k[1]=k[0]*e[i][1]+k[1]*e[i][4],k[2]=k[0]*e[i][2]+k[1]*e[i][5]+1*k[2],k[3]=k[3]*e[i][0]+k[4]*e[i][3],k[4]=k[3]*e[i][1]+k[4]*e[i][4],k[5]=k[3]*e[i][2]+k[4]*e[i][5]+1*k[5];return k};r.angleBetweenVectors=function(e,a,k,m){var r=e*m<a*k?-1:1,n=e*k+a*m;e=Math.sqrt(Math.pow(e,2)+Math.pow(a,2));k=Math.sqrt(Math.pow(k,2)+Math.pow(m,2));return r*Math.acos(n/(e*k))};
r.toRGB=function(e){var a={r:0,g:0,b:0,status:0},k,m;k=function(e){for(m in e)e.hasOwnProperty(m)&&(0>e[m]||isNaN(e[m])?e[m]=0:255<e[m]&&(e[m]=255));return a={r:e[0],g:e[1],b:e[2],status:1}};e=e.trim();e.match(/^rgb\(|^rgba\(/i)?(e=/\(\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/.exec(e),k([parseInt(e[1]),parseInt(e[2]),parseInt(e[3])])):e.match(/^#/)&&(e=/(\w{2})(\w{2})(\w{2})/.exec(e),k([parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]));return a};r.StrToDom=function(e){var a;k.DOMParser?(a=new DOMParser,
a=a.parseFromString(e,"text/xml")):(a=new ActiveXObject("Microsoft.XMLDOM"),a.async=!1,a.loadXML(e));return a}})();
FusionCharts.register("module",["private","modules.renderer.js-lib-attr",function(){var k=this.hcLib||(this.hcLib={}),m=k.attrTypeNum=1,C=k.attrTypeBool=2;k.parseConfiguration=function(r,e,a,M){var J=k.attribDefs||{},I,n,z,G=1,q,t;M=M||{};for(I in r)if(!M[I]&&((n=r[I])||!1===n||0===n))switch(z=J[I]&&J[I].type,z){case m:n=Number(n);isNaN(n)||(e[I]=n);break;case C:n=Number(n);isNaN(n)||(e[I]=!!n);break;default:e[I]=n}if(a)for(I in e)void 0===e[I]&&J[I]&&(q=J[I].pAttr)&&(e[I]=a[q]);for(;G;)for(I in G=
0,e)void 0===e[I]&&(J[I]&&(q=J[I].attr)?e[q]&&(e[I]=e[q],G+=1):J[I]&&(t=J[I].parser)&&t&&void 0!==(n=t(e,a))&&(e[I]=n,G+=1))};k.setAttribDefs=function(m,e){var a=k.attribDefs,C,J;"string"===typeof m?(C={},C[m]=e):C=m;for(J in C)a[J]||(a[J]=C[J])};k.hasAttribDefs=function(m){return!!k.attribDefs[m]};k.attribDefs={setBorderWidth:{type:m,pAttr:"plotborderthickness"},plotborderthickness:{type:m,pAttr:"plotborderthickness"},showBorderEffect:{parser:function(k,e){return"1"!=e.showplotborder&&.1==e.plotborderthickness?
1:0}},alphaanimation:{type:m},showplotborder:{type:m,pAttr:"showplotborder"},zeroplanethickness:{type:m},showzeroplaneontop:{type:m},usemessagelog:{type:m},showtooltip:{type:m,pAttr:"showtooltip"}}}]);
FusionCharts.register("module",["private","modules.renderer.js-lib",function(){var k=this,m=k.window,C,r=m.SvgDeCanvo,e=m.document,a=m.navigator,M=Boolean(m.SVGAngle||e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),J=/msie/i.test(a.userAgent)&&!m.opera,I=m.parseFloat,n=/\s+/g,z=/^#?/,G=/^rgba/i,q=/[#\s]/ig,t=/\{br\}/ig,c=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,p=Math.abs,d=Math.pow,B=Math.round,Q=d(2,-24),l=Object.prototype.toString,w="ontouchstart"in e,a=w&&!(a.maxTouchPoints||
a.msMaxTouchPoints),H="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial&pver="+m.escape(k.core.version);C=Math;var F=C.max,T=C.min,D=m.Image,V={pageX:0,pageY:0},P="createTouch"in e,fa=P&&!(m.navigator.maxTouchPoints||m.navigator.msMaxTouchPoints),$=k.hcLib||(k.hcLib={}),ba=function(b){var f=b.data,h=f.chart,g=h.components.paper,a=b.state,s=Ha(ua(b.originalEvent)),u=s.target||s.originalTarget||s.srcElement||s.relatedTarget||s.fromElement,v=h.components.resizeBox,A=f.layerX=s.pageX-
f.chartPosLeft,N=f.layerY=s.pageY-f.chartPosTop,Y=A-f.ox,d=N-f.oy,c=f.bBox,L=f.ox,l=f.oy,O=f.zoomX,e=f.zoomY,c=f.canvasY,pa=f.canvasX,S=f.canvasW,W=f.canvasH,Ma=f.canvasX2,K=f.canvasY2,R=f.strokeWidth,Y=f.attr;switch(a){case "start":b=X(this);f.chartPosLeft=b.left;f.chartPosTop=b.top;A=s.pageX-f.chartPosLeft;N=s.pageY-f.chartPosTop;f.oy=N;f.ox=A;f.allowMove=!1;v||(v=h.components.resizeBox=g.rect(h.graphics.trackerGroup).attr(Y));A>pa&&A<Ma&&N>c&&N<K&&(f.allowMove=!0);u&&u.ishot&&(f.allowMove=!1);
v.attr({x:0,y:0,width:0,height:0}).show();break;case "end":c=v.getBBox();h={chart:h,selectionLeft:c.x,selectionTop:c.y,selectionHeight:c.height,selectionWidth:c.width,originalEvent:b.originalEvent};f.isDragged&&(f.selectionEnd&&f.selectionEnd(h),f.isDragged=0);v.hide();delete f.oy;delete f.ox;break;default:if(!f.allowMove)break;Y=A-f.ox;d=N-f.oy;L=f.ox;l=f.oy;f.isDragged||(h={chart:h,selectionLeft:(O?T(L,L+Y):pa)+.5*R,selectionTop:(e?T(l,l+d):c)+.5*R,selectionHeight:0,selectionWidth:0,originalEvent:b.originalEvent},
f.selectionStart&&f.selectionStart(h),f.isDragged=1);Y=-(L-T(L-(L-F(L+Y,pa)),Ma));d=-(l-T(l-(l-F(l+d,c)),K));v.attr({x:(O?T(L,L+Y):pa)+.5*R,y:(e?T(l,l+d):c)+.5*R,width:O?p(Y):S,height:e?p(d):W})}},ia=function(b){var f=b.data;b=b.originalEvent;var h=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,g=b.type,a=b.layerX,s=b.layerY;void 0===a&&(a=b.pageX-f.chartPosLeft,s=b.pageY-f.chartPosTop);"mousedown"===g&&(h.ishot=a>f.canvasX&&a<f.canvasX2&&s>f.canvasY&&s<f.canvasY2);"mouseup"===
g&&setTimeout(function(){h.ishot=!1},1)},ea=function(){var b="innerWidth",f="innerHeight",h=e.documentElement||e.body,g=h;"innerWidth"in m?g=m:(b="clientWidth",f="clientHeight");return function(){return{width:g[b],height:g[f],scrollTop:h.scrollTop,scrollLeft:h.scrollLeft}}}(),X=function(b,f){var h={left:b.offsetLeft||0,top:b.offsetTop||0};for(b=b.offsetParent;b;)h.left+=b.offsetLeft||0,h.top+=b.offsetTop||0,b===e.body||b===e.documentElement||f||(h.left-=b.scrollLeft,h.top-=b.scrollTop),b=b.offsetParent;
return h},ca=function(b){return b&&b.replace(/\$/g,"$$$$")},ga=function(b,f){return b||!1===b||0===b?b:f},da=function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b;return""},Z=function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b},Ja=function(b,f,h,g){return $.dem.listen(b,f,h,g)},R=function(b,f,h){return $.dem.unlisten(b,f,h)},ua=function(b){b=b.sourceEvent||b.originalEvent||b;return w&&b&&b.touches&&b.touches[0]||
b||V},Ha=function(){var b;return function(f){void 0===f.pageX&&(f.pageX=f.clientX+(b||(b=m.document.body||m.document.documentElement)).scrollLeft,f.pageY=f.clientY+b.scrollTop);return f}}(),U=function(b,f){f=Ha(ua(f));var h=f.pageX,g=f.pageY,a=X(b);return{chartX:h-a.left,chartY:g-a.top,pageX:h,pageY:g}},Na=function(b,f,h){b=e.createElement(b);for(var g in f)b.setAttribute(g,f[g]);h&&h.appendChild&&h.appendChild(b);return b},la=function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none"},oa=
function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if(((b=arguments[f])||!1===b||0===b)&&!isNaN(b=Number(b)))return b},Ca=function(b,f){b=b||!1===b||0===b?Number(b):NaN;return isNaN(b)?null:f?p(b):b},Fa=function(b){return"string"===typeof b?b.replace(t,"<br />"):""},na=function(b,f){b=b.split(",")[f||0];b=b.replace(n,"");""==b&&(b="000000");return b.replace(z,"#")},ra=function(b){b=parseInt(b,10);if(isNaN(b)||100<b||0>b)b=100;return b},Da=function(b,f){for(var h=f.length,g=-1;h--;)if(b===f[h]){g=
h;break}return g},ha=function(){if(Array.isArray)return Array.isArray;var b=Object.prototype.toString,f=b.call([]);return function(h){return b.call(h)===f}}(),Ia=function(b,f,h,g,a){var s,u,v,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(s=0;s<f.length;s+=1){try{u=b[s],v=f[s]}catch(N){continue}if("object"!==typeof v)h&&void 0===v||(b[s]=v);else{if(null===u||"object"!==typeof u)u=b[s]=v instanceof Array?[]:{};A=Da(v,a);-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)}}else for(s in f){try{u=b[s],
v=f[s]}catch(Y){continue}if(null!==v&&"object"===typeof v)if(A=l.call(v),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[s]={};A=Da(v,a);-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[s]=[]),A=Da(v,a),-1!==A?u=b[s]=g[A]:Ia(u,v,h,g,a)):b[s]=v;else b[s]=v}return b},wa=function(b,f,h){if("object"!==typeof b&&"object"!==typeof f)return null;if("object"!==typeof f||null===f)return b;"object"!==typeof b&&(b=f instanceof Array?[]:{});Ia(b,f,h);return b},
Ta=function(b,f){var h;if(f instanceof Array)for(h=f.length-1;0<=h;--h)"object"!==typeof f[h]?!0===f[h]&&b&&b.splice&&b.splice(h,1):l.call(f[h])===l.call(b[h])&&Ta(b[h],f[h]);else for(h in f)"object"!==typeof f[h]?!0===f[h]&&b&&b.splice&&b.splice(h,1):l.call(f[h])===l.call(b[h])&&Ta(b[h],f[h]);return b},qa=function(){var b=/^@window_/g;return function(f,h){var g=f.replace(/\[[\'\"]/g,".").replace(/[\'\"]\]/g,"").replace(/\[/g,".@window_").replace(/\]/g,"").split("."),a=m,s,u;u="";var v,A,N;A=g.length;
for(N=0;N<A;N+=1){v=g[N];s=a;if(v.match(b))u=m[v.replace(b,"")],a=a[u];else{if(void 0===a||null===a)throw(u||v).replace(b,"")+" is not defined";a=a[v]}u=v}!a||"function"!==typeof a.call&&a!==m.alert?setTimeout(function(){throw v.replace(b,"")+"() is not a function";},0):a===m.alert?a(h):a.call(s,h)}}(),Oa=function(){var b="FusionChartslinkEval"+parseInt(+new Date,10);return function(f){try{m[b]=new Function(f),eval('window["'+b+'"]();')}catch(h){setTimeout(function(){throw h;},0)}M?delete m[b]:m[b]=
null}}(),Pa=function(b){var f={image:!1};void 0!==b&&(b=b.replace(/^\s+/,"").replace(/\s+$/,""),/^i\s*[\-]\s*/i.test(b)?(f.image=!0,f.string=b.replace(/^i\s*[\-]\s*/i,"")):f.string=b.replace(/^\\/,""));return f},ab=function(b,f){b=Number(b);b=isNaN(b)?100:b;void 0!==f&&(b=b*f/100);return b%101},b=function(b,f,h){b=b.split(",");var g;void 0!==h&&(h=oa(h.split(",")[0]));b[0]=ab(b[0],h);for(g=1;g<f;g+=1)b[g]=b[0]*ab(b[g],h)/100;return b.join(",")},f=function(b,f,h){var g=0,a=0,s=0;h&&h.match(G)&&(h=
h.split(","),g=h[0].slice(h[0].indexOf("(")+1),a=h[1],s=h[2],f||0===f||(f=parseInt(100*h[3].slice(0,h[3].indexOf(")")),10)));if(b)if(b.match(G))h=b.split(","),g=h[0].slice(h[0].indexOf("(")+1),a=h[1],s=h[2];else{b=b.replace(q,"").split(",")[0];switch(b.length){case 3:b=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+b.charAt(2);break;case 6:break;default:b=(b+"FFFFFF").slice(0,6)}g=parseInt(b.slice(0,2),16);a=parseInt(b.slice(2,4),16);s=parseInt(b.slice(4,6),16)}f||0===f||(f=100);"string"===
typeof f&&(f=f.split(",")[0]);f=parseInt(f,10)/100;return"rgba("+g+","+a+","+s+","+f+")"},g=function(){var b={};return function(f){var h=(f=f||this)&&f.FCcolor||f,g=h.color,a=h.ratio,s=h.angle,u=h.alpha,v=h.r,A=h.cx,N=h.cy,Y=h.fx,d=h.fy,c=h.gradientUnits,L=h.x1,l=h.y1,O=h.x2,e=h.y2,pa=1,W,Ma,K,R;if("string"===typeof f)return b[R="~"+f]||(b[R]=f.replace(/^#?([a-f0-9]{3,6})/ig,"#$1"));g=g||"";if(!g)return W;R=[g,u,a,s,v,A,N,c,Y,d,L,O,l,e].join("_").replace(/[\(\)\s,\xb0#]/g,"_");if(b[R])return b[R];
a=a&&(a+"").split(",")||[];u=(u||0===u)&&(u+"").split(",")||[];if(g=g.split(","))if(W="",1===g.length)K=g[0].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),W=u.length?"rgba("+S(K).join(",")+","+.01*I(u[0])+")":K.replace(/^#?([a-f0-9]{3,6})/ig,"#$1");else{f=0;for(Ma=g.length;f<Ma;f++)K=g[f].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),isNaN(a[f])||(a[f]=I(a[f]),K+=":"+a[f],isNaN(a[f+1])||(a[f+1]=I(a[f+1])+a[f])),isNaN(u[f])||""===u[f]||(pa=.01*u[f]),g[f]="rgba("+S(K).join(",")+","+pa+")",isNaN(a[f])||(g[f]=g[f]+":"+
a[f]);W+=g.join("-");if(void 0!==v||void 0!==Y||void 0!==A||h.radialGradient)W="xr("+[Y,d,v,A,N,c].join()+")"+W;else{W="-"+W;if(void 0!==L||void 0!==l||void 0!==O||void 0!==e)W="("+[L,l,O,e,c].join()+")"+W;void 0===s&&(s=0);W=360-I(s)%360+W}}return b[R]=W}}(),u=function(){return function(){return""}}(),N=function(b){return b.replace(q,"").replace(z,"#")},L=function(b,f){f=(0>f||100<f?100:f)/100;b=b.replace(q,"");var h=parseInt(b,16),g=Math.floor(h/65536),a=Math.floor((h-65536*g)/256);return("000000"+
(g*f<<16|a*f<<8|(h-65536*g-256*a)*f).toString(16)).slice(-6)},O=function(b,f){f=(0>f||100<f?100:f)/100;b=b.replace(q,"");var h=parseInt(b,16),g=Math.floor(h/65536),a=Math.floor((h-65536*g)/256);return("000000"+(256-(256-g)*f<<16|256-(256-a)*f<<8|256-(256-(h-65536*g-256*a))*f).toString(16)).slice(-6)},S=function(b){b=parseInt(b,16);var f=Math.floor(b/65536),h=Math.floor((b-65536*f)/256);return[f,h,Math.floor(b-65536*f-256*h)]},W=function(b,f){if("object"!==typeof b)return"";if(b.fontSize||b["font-size"])!b.fontSize&&
b["font-size"]&&(b.fontSize=b["font-size"],delete b["font-size"]),b.lineHeight=(parseFloat(b.fontSize)||f||10)*$.lineHeightFactor+"px",delete b["line-height"];!b.lineHeight&&b["line-height"]&&(b.lineHeight=b["line-height"],delete b["line-height"]);return b.lineHeight},ja=function(b,h,g,a,u){var v=da(b.labelbordercolor,h.bordercolor,g.labelbordercolor,""),A=Z(b.labelbgcolor,h.bgcolor,g.labelbgcolor),N=oa(b.labelborderthickness,h.borderthickness,g.labelborderthickness,1);u=oa(g.usedataplotcolorforlabels,
0)?u||a.color:a.color;v=v?f(v,oa(b.labelborderalpha,h.borderalpha,g.labelborderalpha,b.labelalpha,h.alpha,g.labelalpha,100)):"";b={fontFamily:Z(b.labelfont,h.font,g.labelfont,a.fontFamily),fontSize:Z(b.labelfontsize,h.fontsize,g.labelfontsize,parseInt(a.fontSize,10))+"px",color:f(Z(b.labelfontcolor,h.fontcolor,g.labelfontcolor,u),oa(b.labelfontalpha,h.fontalpha,g.labelfontalpha,b.labelalpha,h.alpha,g.labelalpha,100)),fontWeight:oa(b.labelfontbold,h.fontbold,g.labelfontbold)?"bold":"normal",fontStyle:oa(b.labelfontitalic,
h.fontitalic,g.labelfontitalic)?"italic":"normal",border:v||A?N+"px solid":"",borderColor:v,borderThickness:N,borderPadding:oa(b.labelborderpadding,h.borderpadding,g.labelborderpadding,2),borderRadius:oa(b.labelborderradius,h.borderradius,g.labelborderradius,0),backgroundColor:A?f(A,oa(b.labelbgalpha,h.bgalpha,g.labelbgalpha,b.labelalpha,h.alpha,g.labelalpha,100)):"",borderDash:oa(b.labelborderdashed,h.borderdashed,g.labelborderdashed,0)?s(oa(b.labelborderdashlen,h.borderdashlen,g.labelborderdashlen,
4),oa(b.labelborderdashgap,h.borderdashgap,g.labelborderdashgap,2),N):"none"};b.lineHeight=W(b);return b},La=function(){var b={top:{align:"center",verticalAlign:"top",textAlign:"center"},right:{align:"right",verticalAlign:"middle",textAlign:"left"},bottom:{align:"center",verticalAlign:"bottom",textAlign:"center"},left:{align:"left",verticalAlign:"middle",textAlign:"right"}},h=/([^\,^\s]+)\)$/g,g=function(b,f){var h;/^(bar|bar3d)$/.test(b)&&(this.isBar=!0,this.yPos="bottom",this.yOppPos="top",this.xPos=
"left",this.xOppPos="right");h=parseInt(f.labelstep,10);this.labelStep=1<h?h:1;this.showLabel=oa(f.showlabels,f.shownames,1);this.is3D=/3d$/.test(b)};g.prototype={isBar:!1,yPos:"left",yOppPos:"right",xPos:"bottom",xOppPos:"top",addAxisGridLine:function(f,g,a,s,u,v,A,N){var Y=""===a?!1:!0,d=0<s||0<v.match(h)[1]?!0:!1,c;if(Y||d)d||(v="rgba(0,0,0,0)",s=.1),c={isGrid:!0,width:s,dashStyle:u,color:v,value:g,zIndex:void 0===A?2:A},Y&&(g=f.opposite?N?this.xOppPos:this.yOppPos:N?this.xPos:this.yPos,g=b[g],
c.label={text:a,style:f.labels.style,textAlign:g.textAlign,align:g.align,verticalAlign:g.verticalAlign,rotation:0,x:0,y:0}),f.plotLines.push(c);return c},addAxisAltGrid:function(b,f){if(!this.is3D){var h=oa(b._lastValue,b.min),g=Z(b._altGrid,!1);g&&b.plotBands.push({isGrid:!0,color:b.alternateGridColor,to:f,from:h,zIndex:1});b._lastValue=f;b._altGrid=!g}},addXaxisCat:function(f,h,g,a,s,u,v,A){var N=b[f.opposite?this.xOppPos:this.xPos];h={isGrid:!0,isDataLabel:!0,width:.1,color:"rgba(0,0,0,0)",value:h,
label:{text:a,link:Z(s.labellink,u.link,v.labellink),style:ja(s,u,v,f.labels.style,A),textAlign:N.textAlign,align:N.align,verticalAlign:N.verticalAlign,rotation:0,x:0,y:0}};0!==g%this.labelStep&&(h.stepped=!0,h.label.style=f.steppedLabels.style);f.plotLines.push(h)},addVline:function(b,h,g,a){a=a._FCconf;var u=a.isBar,v=a.divlineStyle,A=Fa(h.label),N=Boolean(oa(h.showlabelborder,a.showVLineLabelBorder,1)),Y=Boolean(oa(h.showlabelbackground,1)),d=Z(h.labelhalign,u?"left":"center"),c=Z(h.labelvalign,
u?"middle":"bottom").toLowerCase(),L=oa(h.labelposition,0),l=oa(h.lineposition,.5),O=oa(h.showvlines,a.showVLines,1),e=oa(h.alpha,a.vLineAlpha,80),pa=Z(h.color,a.vLineColor).replace(/^#?/,"#"),S=Y?Z(h.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):"",W=Z(h.labelcolor,a.vLineLabelColor,h.color,a.vLineColor).replace(/^#?/,"#"),K=oa(h.thickness,a.vLineThickness,1),Ma=.5*K,R=Boolean(Number(Z(h.dashed,0))),E=oa(h.dashlen,5),dc=oa(h.dashgap,2),k=a.smartLabel,ja=parseInt(v.fontSize,10)+2,
Ga=0,Ua=oa(h.rotatelabel,a.rotateVLineLabels)?270:0,l=0>l||1<l?.5:l,L=0>L||1<L?0:L;k.setStyle(v);k=k.getOriSize(A);pa=f(pa,O?e:"0");if(u){switch(c){case "top":ja-=k.height+Ma+2;break;case "middle":ja-=.5*k.height+1;break;default:ja+=Ma}h.labelhalign||(Ga-=k.width*L)}else{switch(c){case "top":ja=.5*-k.height+1;break;case "middle":ja=0;break;default:ja=.5*k.height}switch(d){case "left":Ga+=K;break;case "right":Ga-=K+1}}b.plotLines.push({isVline:!0,color:pa,width:K,value:g-1+l,zIndex:oa(h.showontop,
a.showVLinesOnTop)?5:3,dashStyle:R?s(E,dc,K):"none",label:{text:A,align:u?"left":"center",offsetScale:L,rotation:Ua,y:ja,x:Ga,textAlign:d,backgroundColor:S,borderWidth:O&&N?1:0,borderType:O&&N?"solid":"",borderColor:O&&N?W:"",backgroundOpacity:O&&Y?Z(h.labelbgalpha,a.vLineLabelBgAlpha)/100:0,style:{color:O?W:pa,fontSize:v.fontSize,fontFamily:v.fontFamily,lineHeight:v.lineHeight,backgroundColor:S}}})}};return g.prototype.constructor=g}(),K=function(){var b=function(b,h,g,a,s){b=Math.abs(h-b);h=b/(g+
1);f(b,g,a)||(s&&Number(h)/Number(a)<(1<a?2:.5)&&(a/=10),h=(Math.floor(h/a)+1)*a,b=h*(g+1));return b},f=function(b,f,g){return h(b/(f+1))>h(g)?!1:!0},h=function(b){b=Math.abs(b);b=String(b);var f=0,h=b.indexOf(".");-1!=h&&(f=b.length-h-1);return f};return function(h,g,a,s,u,v,A,N){var Y,d,c,L,l,O,e,pa=0;h=!0===isNaN(h)||void 0===h?.1:h;g=!0===isNaN(g)||void 0===g?0:g;h===g&&0===h&&(h=.1);u=void 0===typeof u?!0:u;v=void 0===typeof v?!0:v;Y=Math.floor(Math.log(Math.abs(h))/Math.LN10);d=Math.floor(Math.log(Math.abs(g))/
Math.LN10);d=Math.max(d,Y);Y=Math.pow(10,d);2>Math.abs(h)/Y&&2>Math.abs(g)/Y&&(d--,Y=Math.pow(10,d));d=Math.floor(Math.log(h-g)/Math.LN10);c=Math.pow(10,d);0<h-g&&10<=Y/c&&(Y=c);d=(Math.floor(h/Y)+1)*Y;0>g?c=-1*(Math.floor(Math.abs(g/Y))+1)*Y:v?c=0:(c=Math.floor(Math.abs(g/Y)-1)*Y,c=0>c?0:c);u&&0>=h&&(d=0);u=a||0===a?!0:!1;v=s||0===s?!0:!1;h=!1===u||!0===u&&Number(a)<h&&h-Number(a)>Q?d:Number(a);g=!1===v||!0===v&&Number(s)>g&&Number(s)-g>Q?c:Number(s);s=Math.abs(h-g);if(!1===v&&!1===u&&N)if(0<h&&
0>g)for(a=!1,u=10<Y?Y/10:Y,N=b(g,h,A,u,!1),v=N-(A+1)*u;!1===a;){if(v+=(A+1)*u,f(v,A,u))if(N=v-s,d=v/(A+1),L=Math.min(Math.abs(g),h),c=L==Math.abs(g)?-1:1,0===A)a=!0;else for(O=1;O<=Math.floor((A+1)/2);O++)l=d*O,!(l-L>N)&&l>L&&(e=v-l,e/d==Math.floor(e/d)&&l/d==Math.floor(l/d)&&(s=v,h=-1==c?e:l,g=-1==c?-l:-e,a=!0))}else a=b(g,h,A,Y,!0),N=a-s,s=a,0<h?h+=N:g-=N;else N&&(a=function(b,h,g){for(var a=0,s=1,u;;){u=b+a*s;u=0===u?1:u;if(f(h,u,g))break;a=-1==s||a>b?++a:a;if(25<a){u=0;break}s=a<=b?-1*s:1}return u},
0<A&&(N=a(A,s,Y),0===N&&(N=a(A,s+1,Y),pa=1),A=N));return{Max:h,Min:g,Range:s,interval:Y,divGap:(h-g+pa)/(A+1)}}}(),E=function(){var b=function(b,f,h){var g=h.jsVars&&h.jsVars.smartLabel,a=b.offsetWidth,s=b.offsetHeight,u=this.chart;b=this.title;var v=h._chartMessageImageStyle,A=Pa(f);b.y=s/2;b.x=a/2;u.bgSWF=b.text=void 0;f=A.string;A.image?(u.bgSWF=f,u.bgImageHAlign=v.imageHAlign,u.bgImageVAlign=v.imageVAlign,u.bgImageScale=v.imageScale,u.bgSWFAlpha=v.imageAlpha):void 0!==f&&(g?(W(b.style),g.setStyle(b.style),
f=g.getSmartText(Fa(f),a,s),b.text=f.text):b.text=Fa(f),b.verticalAlign="middle");b.style=h._chartMessageStyle;delete h._chartMessageImageStyle;delete h._chartMessageStyle};b.prototype={chart:{events:{},margin:[0,0,0,0],backgroundColor:{FCcolor:{alpha:0}}},credits:{href:H,text:"FusionCharts XT Trial",enabled:!1},legend:{enabled:!1},title:{text:"",style:{fontFamily:"Verdana,sans",fontSize:"10px",color:"#666666"}},plotOptions:{series:{}},series:[{}],exporting:{enabled:!1},nativeMessage:!0};return b.prototype.constructor=
b}(),aa={"true":{"true":{"true":"center","false":"center"},"false":{"true":"center","false":"center"}},"false":{"true":{"true":"right","false":"left"},"false":{"true":"left","false":"right"}}},Qa=function(){return function(b,h,g,a,u,v,A){var N,d=g.trendStyle,c,L,l,O,e,pa,S,W,K,Ma,R,E,k,ja=v?"xAxis":"dataLabels";if(v?g.showVLines:g.showTrendlines)for(N=0,L=b.length;N<L;N+=1)if((k=b[N])&&k.line)for(c=0,l=k.line.length;c<l;c+=1)O=k.line[c],Ma=g.numberFormatter.getCleanValue(Z(O.startvalue,O.value,0)),
R=g.numberFormatter.getCleanValue(Z(O.endvalue,Z(O.startvalue,O.value,0))),v?W=h:a&&O.parentyaxis&&/^s$/i.test(O.parentyaxis)?(W=h[1],E=1):W=h[0],pa=W.max,S=W.min,e=!1,pa>=Ma&&pa>=R&&S<=Ma&&S<=R&&(a&&O.parentyaxis&&/^s$/i.test(O.parentyaxis)?e="1"!==Z(O.valueonleft,g.trendlineValuesOnOpp):a||(e="1"===Z(O.valueonright,g.trendlineValuesOnOpp)),pa=Boolean(oa(O.istrendzone,v?1:0)),(S=(v?g.showVLineLabels:g.showTrendlineLabels)?Fa(Z(O.displayvalue,g.numberFormatter[ja](e?R:Ma,E))):"")?(K=Ma<R,e={text:S,
textAlign:u?"center":e?"left":"right",align:u?aa[pa][!A][K]:e?"right":"left",verticalAlign:u?"bottom":"middle",rotation:0,x:0,y:0,style:d},S=Z(O.color,g.trendlineColor),O.alwaysVisible=pa,S&&(e.style=wa({},d),e.style.color=f(S,oa(O.alpha,100)))):e=void 0,S=ga(Fa(Z(O.tooltext,k.tooltext,g.trendLineToolText))),S=Y(S,[7,15,16,17,18,19],{startValue:Ma,startDataValue:g.numberFormatter[ja](Ma,E),endValue:R,endDataValue:g.numberFormatter[ja](R,E),axisName:W.title&&W.title.text},O),K=oa(O.thickness,g.trendlineThickness,
1),pa?W.plotBands.push({isTrend:!0,color:f(Z(O.color,g.trendlineColor),Z(O.alpha,g.trendlineAlpha,40)),from:Ma,to:R,label:e,zIndex:g.is3d||"1"!==Z(O.showontop,g.showTrendlinesOnTop)?3:5,tooltext:S,alwaysVisible:O.alwaysVisible}):W.plotLines.push({isTrend:!0,color:f(Z(O.color,g.trendlineColor,g.trendlineColor),Z(O.alpha,g.trendlineAlpha,99)),value:Ma,to:R,width:K,dashStyle:"1"==Z(O.dashed,g.trendlinesAreDashed)?s(oa(O.dashlen,g.trendlinesDashLen),oa(O.dashgap,g.trendlinesDashGap),K):"none",label:e,
zIndex:g.is3d||"1"!==Z(O.showontop,g.showTrendlinesOnTop)?3:5,tooltext:S}))}}(),s=function(b,f,h,g){return g||void 0===g?[b,f]:"none"},v=function(){},A=function(b,f,h,g,a){var s,u=A[b],N;u||(N=function(){},N.prototype=h instanceof v?h:new v,N.prototype.constructor=N,u=A[b]=new N,h&&(u.base=h),u.name=b,u.config={},null!==a&&(b=(a instanceof v?a:h instanceof v?h:{}).config)&&wa(u.config,b));g&&wa(u.config,g);for(s in f)switch(typeof f[s]){case "object":if(f[s]instanceof v){u[s]=f[s][s];break}default:u[s]=
f[s];break;case "undefined":delete u[s]}return this instanceof A?(f=function(){this.config={};this.__setDefaultConfig=function(){u&&u.config&&wa(this.config,u.config)};this.__setDefaultConfig()},f.prototype=u,f.prototype.constructor=f,new f):u},Y=function(){var b=[{regex:/((^|[^\\])((\\)\\)*\$cleanvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cleanvalue))/ig,argIndex:2,argKey:"cleanvalue"},{regex:/((^|[^\\])((\\)\\)*\$datavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datavalue))/ig,argIndex:2,argKey:"formattedValue"},
{regex:/((^|[^\\])((\\)\\)*\$value)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$value))/ig,argIndex:3,argKey:"value"},{regex:/((^|[^\\])((\\)\\)*\$label)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$label))/ig,argIndex:2,argKey:"label"},{regex:/((^|[^\\])((\\)\\)*\$seriesname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$seriesname))/ig,argIndex:5,argKey:"seriesname"},{regex:/((^|[^\\])((\\)\\)*\$yaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yaxisname))/ig,argIndex:2,argKey:"yaxisName"},{regex:/((^|[^\\])((\\)\\)*\$xaxisname)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxisname))/ig,argIndex:2,argKey:"xaxisName"},{regex:/((^|[^\\])((\\)\\)*\$displayvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$displayvalue))/ig,argIndex:3,argKey:"displayvalue"},{regex:/((^|[^\\])((\\)\\)*\$xdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xdatavalue))/ig,argIndex:2,argKey:"xDataValue"},{regex:/((^|[^\\])((\\)\\)*\$ydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$ydatavalue))/ig,argIndex:2,argKey:"yDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xvalue))/ig,argIndex:3,argKey:"x"},{regex:/((^|[^\\])((\\)\\)*\$yvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yvalue))/ig,argIndex:3,argKey:"y"},{regex:/((^|[^\\])((\\)\\)*\$zvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zvalue))/ig,argIndex:3,argKey:"z"},{regex:/((^|[^\\])((\\)\\)*\$name)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$name))/ig,argIndex:3,argKey:"name"},{regex:/((^|[^\\])((\\)\\)*\$percentValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentValue))/ig,
argIndex:2,argKey:"percentValue"},{regex:/((^|[^\\])((\\)\\)*\$startValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startValue))/ig,argIndex:2,argKey:"startValue"},{regex:/((^|[^\\])((\\)\\)*\$startDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startDataValue))/ig,argIndex:2,argKey:"startDataValue"},{regex:/((^|[^\\])((\\)\\)*\$endValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endValue))/ig,argIndex:2,argKey:"endValue"},{regex:/((^|[^\\])((\\)\\)*\$endDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endDataValue))/ig,
argIndex:2,argKey:"endDataValue"},{regex:/((^|[^\\])((\\)\\)*\$axisName)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$axisName))/ig,argIndex:2,argKey:"axisName"},{regex:/((^|[^\\])((\\)\\)*\$cumulativevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativevalue))/ig,argIndex:2,argKey:"cumulativeValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativedatavalue))/ig,argIndex:2,argKey:"cumulativeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativePercentValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativePercentValue))/ig,argIndex:2,argKey:"cumulativePercentValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativepercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativepercentdatavalue))/ig,argIndex:2,argKey:"cumulativePercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$sum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sum))/ig,argIndex:2,argKey:"sum"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsum))/ig,argIndex:2,
argKey:"unformattedSum"},{regex:/((^|[^\\])((\\)\\)*\$targetvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetvalue))/ig,argIndex:2,argKey:"targetValue"},{regex:/((^|[^\\])((\\)\\)*\$targetdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetdatavalue))/ig,argIndex:2,argKey:"targetDataValue"},{regex:/((^|[^\\])((\\)\\)*\$processname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$processname))/ig,argIndex:2,argKey:"processName"},{regex:/((^|[^\\])((\\)\\)*\$start)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$start))/ig,
argIndex:2,argKey:"start"},{regex:/((^|[^\\])((\\)\\)*\$end)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$end))/ig,argIndex:2,argKey:"end"},{regex:/((^|[^\\])((\\)\\)*\$percentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentcomplete))/ig,argIndex:2,argKey:"percentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskpercentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskpercentcomplete))/ig,argIndex:2,argKey:"taskPercentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskstartdate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskstartdate))/ig,
argIndex:2,argKey:"taskStartDate"},{regex:/((^|[^\\])((\\)\\)*\$taskenddate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskenddate))/ig,argIndex:2,argKey:"taskEndDate"},{regex:/((^|[^\\])((\\)\\)*\$tasklabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tasklabel))/ig,argIndex:2,argKey:"taskLabel"},{regex:/((^|[^\\])((\\)\\)*\$date)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$date))/ig,argIndex:2,argKey:"date"},{regex:/((^|[^\\])((\\)\\)*\$percentofprevvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentofprevvalue))/ig,
argIndex:2,argKey:"percentOfPrevValue"},{regex:/((^|[^\\])((\\)\\)*\$sname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sname))/ig,argIndex:2,argKey:"sName"},{regex:/((^|[^\\])((\\)\\)*\$lname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lname))/ig,argIndex:2,argKey:"lName"},{regex:/((^|[^\\])((\\)\\)*\$fromid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromid))/ig,argIndex:2,argKey:"fromId"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},
{regex:/((^|[^\\])((\\)\\)*\$toid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toid))/ig,argIndex:2,argKey:"toId"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$fromxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxvalue))/ig,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromyvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromyvalue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromxdatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxdatavalue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromydatavalue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxvalue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toyvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toyvalue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxdatavalue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toydatavalue))/ig,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$openvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$openvalue))/ig,argIndex:2,argKey:"openValue"},{regex:/((^|[^\\])((\\)\\)*\$closevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closevalue))/ig,argIndex:2,argKey:"closeValue"},{regex:/((^|[^\\])((\\)\\)*\$highvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highvalue))/ig,argIndex:2,argKey:"highValue"},{regex:/((^|[^\\])((\\)\\)*\$lowvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowvalue))/ig,argIndex:2,argKey:"lowValue"},{regex:/((^|[^\\])((\\)\\)*\$opendatavalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$opendatavalue))/ig,argIndex:2,argKey:"openDataValue"},{regex:/((^|[^\\])((\\)\\)*\$closedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closedatavalue))/ig,argIndex:2,argKey:"closeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$highdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highdatavalue))/ig,argIndex:2,argKey:"highDataValue"},{regex:/((^|[^\\])((\\)\\)*\$lowdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowdatavalue))/ig,argIndex:2,argKey:"lowDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$maxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxvalue))/ig,argIndex:2,argKey:"maxValue"},{regex:/((^|[^\\])((\\)\\)*\$maxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxdatavalue))/ig,argIndex:2,argKey:"maxDataValue"},{regex:/((^|[^\\])((\\)\\)*\$minvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$minvalue))/ig,argIndex:2,argKey:"minValue"},{regex:/((^|[^\\])((\\)\\)*\$mindatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mindatavalue))/ig,argIndex:2,argKey:"minDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$q1)/ig,argIndex:2,argKey:"Q1"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ1)/ig,argIndex:2,argKey:"unformattedQ1"},{regex:/((^|[^\\])((\\)\\)*\$q3)/ig,argIndex:2,argKey:"Q3"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ3)/ig,argIndex:2,argKey:"unformattedQ3"},{regex:/((^|[^\\])((\\)\\)*\$median)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$median))/ig,argIndex:2,argKey:"median"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMedian)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMedian))/ig,
argIndex:2,argKey:"unformattedMedian"},{regex:/((^|[^\\])((\\)\\)*\$SD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$SD))/ig,argIndex:2,argKey:"SD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsd)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsd))/ig,argIndex:2,argKey:"unformattedsd"},{regex:/((^|[^\\])((\\)\\)*\$QD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$QD))/ig,argIndex:2,argKey:"QD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedQD))/ig,argIndex:2,
argKey:"unformattedQD"},{regex:/((^|[^\\])((\\)\\)*\$MD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$MD))/ig,argIndex:2,argKey:"MD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMD))/ig,argIndex:2,argKey:"unformattedMD"},{regex:/((^|[^\\])((\\)\\)*\$mean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mean))/ig,argIndex:2,argKey:"mean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},
{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$volumeValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeValue))/ig,argIndex:2,argKey:"volumeValue"},{regex:/((^|[^\\])((\\)\\)*\$volumeDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeDataValue))/ig,argIndex:2,argKey:"volumeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXValue))/ig,
argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYValue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXDataValue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYDataValue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromLabel))/ig,
argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXValue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYValue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXDataValue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYDataValue))/ig,
argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$tlLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlLabel))/ig,argIndex:5,argKey:"tlLabel"},{regex:/((^|[^\\])((\\)\\)*\$trlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trlabel))/ig,argIndex:5,argKey:"trLabel"},{regex:/((^|[^\\])((\\)\\)*\$bllabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$bllabel))/ig,argIndex:5,argKey:"blLabel"},
{regex:/((^|[^\\])((\\)\\)*\$brlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brlabel))/ig,argIndex:5,argKey:"brLabel"},{regex:/((^|[^\\])((\\)\\)*\$rowlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$rowlabel))/ig,argIndex:5,argKey:"rowLabel"},{regex:/((^|[^\\])((\\)\\)*\$columnlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$columnlabel))/ig,argIndex:5,argKey:"columnLabel"},{regex:/((^|[^\\])((\\)\\)*\$errorvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorvalue))/ig,argIndex:2,argKey:"errorValue"},
{regex:/((^|[^\\])((\\)\\)*\$errordatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errordatavalue))/ig,argIndex:2,argKey:"errorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentvalue))/ig,argIndex:2,argKey:"errorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentdatavalue))/ig,argIndex:2,argKey:"errorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorValue))/ig,argIndex:2,argKey:"horizontalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorDataValue))/ig,argIndex:2,argKey:"horizontalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorValue))/ig,argIndex:2,argKey:"verticalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorDataValue))/ig,
argIndex:2,argKey:"verticalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentValue))/ig,argIndex:2,argKey:"horizontalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentDataValue))/ig,argIndex:2,argKey:"horizontalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentValue))/ig,
argIndex:2,argKey:"verticalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentDataValue))/ig,argIndex:2,argKey:"verticalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xaxispercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxispercentvalue))/ig,argIndex:2,argKey:"xAxisPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$percentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentdatavalue))/ig,argIndex:2,
argKey:"percentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$trType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trType))/ig,argIndex:4,argKey:"trtype"},{regex:/((^|[^\\])((\\)\\)*\$tlType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlType))/ig,argIndex:4,argKey:"tltype"},{regex:/((^|[^\\])((\\)\\)*\$brType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brType))/ig,argIndex:4,argKey:"brtype"},{regex:/((^|[^\\])((\\)\\)*\$blType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$blType))/ig,argIndex:4,argKey:"bltype"},{regex:/((^|[^\\])((\\)\\)*\$colorRangeLabel)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$colorRangeLabel))/ig,argIndex:5,argKey:"colorRangeLabel"},{regex:/((^|[^\\])((\\)\\)*\$zdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zdatavalue))/ig,argIndex:2,argKey:"zDataValue"},{regex:/((^|[^\\])((\\)\\)*\$svalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$svalue))/ig,argIndex:3,argKey:"svalue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorValue))/ig,argIndex:2,argKey:"positiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorValue))/ig,argIndex:2,argKey:"negativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$datasvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datasvalue))/ig,argIndex:2,argKey:"formattedsValue"}],f=[],h,g=b.length;for(h=0;h<g;h+=1)f.push(h);return function(){var h=arguments[0],g=arguments[1],a,s,u,v,A;ha(g)||(g=f);if(h)for(A=g.length,v=0;v<A;v+=1)if(u=b[g[v]])a=ca(ga((s=arguments[u.argIndex])&&s[u.argKey],"")+""),h=h.replace(u.regex,"$2$4"+(u.parsingMethod?
u.parsingMethod(a):a)),h=h.replace(u.escapeRegex,"$2$4$5");return h}}(),h=function(){var b=e.createElement("canvas");return!(!b.getContext||!b.getContext("2d"))},pa=function(b){var f,h,g;f=0<=b.split(",")[0].indexOf("base64")?m.atob(b.split(",")[1]):m.unescape(b.split(",")[1]);b=b.split(",")[0].split(":")[1].split(";")[0];h=new Uint8Array(f.length);for(g=0;g<f.length;g++)h[g]=f.charCodeAt(g);return new m.Blob([h],{type:b})},Ma=function(){var b=m.navigator.userAgent,f;return-1!==(f=b.indexOf("Edge"))?
{name:"Edge",version:b.substring(f+5,f+11)}:-1!==(f=b.indexOf("Chrome"))?{name:"Chrome",version:b.substring(f+7,f+11)}:-1!==(f=b.indexOf("MSIE"))||-1!==(f=b.indexOf("rv"))&&-1!==b.indexOf("Trident")?{name:"ie",version:b.substring(f+5,f+9)}:-1!==(f=b.indexOf("Firefox"))?{name:"Firefox",version:b.substring(f+8,f+12)}:-1!==(f=b.indexOf("Safari"))?{name:"Safari",version:b.substring(f+7,f+11)}:{name:"default",version:"Not Known"}},Ga=function(b){return b.replace(/<image [^\>]*\>/gi,function(b){return b.match(/href=["']\s*["']/)||
b.match(/href=["']http:\/\/|href=["']https:\/\//)&&/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]&&m.location.hostname!==/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]?"":b})},Ua=function(b,f,h){var g=Ma(),a;"Chrome"===g.name||"Firefox"===g.name?("blob"===b&&(f=m.URL.createObjectURL(f)),a=e.createElement("a"),a.download=h,a.href=f,e.body.appendChild(a),a.onclick=function(){a.parentNode.removeChild(a)},a.click()):"ie"!==g.name&&"Edge"!==g.name||!m.navigator.msSaveBlob||
(b="url"===b?pa(f):f,m.navigator.msSaveBlob(b,h))},ta=function(b,f){var h,g,a,s;s=f.exportTargetWindow;var u=f.exportCallback,v=f.fusionCharts,A=f.paper,N=f.chartId;g=f.exportHandler;var Y;if("download"===f.exportAction){/webkit/ig.test(m.navigator.userAgent)&&"_self"===s&&(s=a=N+"export_iframe",Y||(Y=a=Na("IFRAME",{name:a,width:"1px",height:"1px"},e.body),a.style.cssText="position:absolute;left:-10px;top:-10px;"));g=Na("form",{method:"POST",action:g,target:s,style:"display:none;"},e.body);for(h in b)Na("input",
{type:"hidden",name:h,value:b[h]},g);g.submit();e.body.removeChild(g);g=void 0;return!0}s=new k.ajax(function(b){var f={};b.replace(RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,h,g,a){f[h]=a});u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,f);k.raiseEvent("exported",f,v)},function(b){b={statusCode:0,statusMessage:"failure",error:b,DOMId:N,width:A&&A.width,height:A&&A.height};u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,b);k.raiseEvent("exported",b,v,[b])});for(h in b)b.hasOwnProperty(h)&&(b[h]=
encodeURIComponent(b[h]));s.post(g,b)},Ob=function(b,f){var h=0,g,a=0,s;b=b.replace(/NS\d+:/gi,"xlink:");b=Ga(b);-1===b.indexOf("<image ")?f(b):(g=b.match(/<image [^\>]*\>/gi).length,b=b.replace(/<image [^\>]*\>/gi,function(u){u=u.replace(/(:href=")([^"]*)(")/gi,function(b,f,g,a){s=g;return f+"{{{"+h+"}}}"+a});var v=e.createElement("canvas"),A,N;A=v.getContext("2d");N=new D;N.src=s;N.ind=h;N.onload=function(){v.width=this.width;v.height=this.height;A.drawImage(this,0,0);var h=v.toDataURL("image/png");
(new D).src=h;b=b.replace(new RegExp("\\{\\{\\{"+N.ind+"\\}\\}\\}","g"),h);a++;g===a&&f(b)};h++;return u}))},Kb=function(b,f){Ob(b,function(b){f("data:image/svg+xml;base64,"+m.btoa(m.unescape(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+b))))})},zb=function(){var b,f,h,g,a,s,u,v;if(this&&this!==m){this.disposing=!0;if(b=this.components)for(h in b)if(f=b[h],f instanceof Array)for(g=f.length,
a=0;a<g;a++)(v=f[a])&&!this.disposing&&(v.dispose?v.dispose():zb.call(v));else f&&!f.disposing&&(f.dispose?f.dispose():zb.call(f));b=this.graphics;for(s in b)if(f=b[s])if(f.hide)f.hide(),f.followers&&f.followers[0]&&(f=f.followers[0].el)&&f.hide&&f.hide();else for(u in f)g=f[u],g.hide&&g.hide();for(h in this)delete this[h]}},oc=function(b,f){return(b.pIndex||0)-(f.pIndex||0)},gc={},xa=Ma();xa.hasCanvas=h();xa.hasSvg=M;k.registrars.component=function(b){var f,h,g,a,s,u,v,A,N;if(b&&b.length&&b[0]&&
b[0].toLowerCase&&(u=b[0].toLowerCase(),A=gc[u]||(gc[u]={}),b[1]&&b[1].toLowerCase)){u=b[1].toLowerCase();if(2==b.length){if("undefined"===typeof A[u])return}else{g=A[u]=A[u]||{constructor:function(){this.config={};this.__setDefaultConfig=function(){g&&g.defConfig&&wa(this.config,g.defConfig)};this.__setDefaultConfig()},defConfig:{}};a=g.constructor;N=g.defConfig;"undefined"!==typeof b[3]&&(v=b[3].toLowerCase(),h=A[v]);if(v&&h){f=new h.constructor;a.prototype=f;a.prototype.constructor=a;v=b[2]||{};
for(s in v)a.prototype[s]="undefined"!==typeof v[s]?v[s]:f[s];a.prototype.__base__=new h.constructor}else if(A[u])for(f in s=b[2],s)a.prototype[f]=s[f];else a.prototype=b[2],a.prototype.constructor=a;null!==b[5]&&("undefined"!==typeof b[5]&&(v=b[5].toLowerCase(),h=A[v]),h&&(h=h.defConfig,wa(N,h)));"undefined"!==typeof b[4]&&wa(N,b[4])}return A[u]&&A[u].constructor}};k.core._setLineHeightFactor=function(b){!(b=I(b))||0>b||($.lineHeightFactor=b)};$.ColorRange=C=function(b){this.linkedItems={iapi:b};
this.configure()};C.prototype={configure:function(){var b=this.linkedItems.iapi,f=b.jsonData,h=f.colorrange&&wa({},f.colorrange).color,f=T(F(oa(f.chart.palette,0)-1,0),4),f=b.defaultPaletteOptions&&b.defaultPaletteOptions.paletteColors[f||0]||$.defaultPaletteOptions.paletteColors[f||0],g=function(b,f){return b.minvalue-f.minvalue},a=b.components,s,u,v,A,N;delete this.defaultAsigned;f instanceof Array||(f=a.colorManager.getPlotColor(0));if(h&&0<h.length){for(u=v=h.length-1;0<=u;--u)if(b=h[u])b.minvalue=
a.numberFormatter.getCleanValue(b.minvalue),b.maxvalue=a.numberFormatter.getCleanValue(b.maxvalue),null===b.minvalue&&(null!==b.maxvalue?b.minvalue=b.maxvalue:u!==v&&h.splice(u,1)),void 0!==b.label&&(b.label=Fa(b.label)),void 0!==b.name&&(b.name=Fa(b.name)),null!==b.maxvalue&&b.minvalue>b.maxvalue&&(A=b.minvalue,b.minvalue=b.maxvalue,b.maxvalue=A);h.sort(g);h[0].code||(h[0].code=f[0]);void 0===ga(h[0].alpha)&&(h[0].alpha="100");u=0;for(v=h.length-1;u<v;u+=1)if(a=u+1,b=h[u],g=h[a],g.code||(g.code=
f[a]),void 0===ga(g.alpha)&&(g.alpha="100"),null===b.maxvalue&&(b.maxvalue=g.minvalue),b.maxvalue>g.minvalue){if(b.maxvalue>g.maxvalue){a=wa(b);a.maxvalue=b.maxvalue;N=a.minvalue=g.maxvalue;for(A=u+2;A<v&&h[A].minvalue<N;A+=1);h.splice(A,0,a);v+=1}b.maxvalue=g.minvalue}b=h[u];null===b.maxvalue&&(b.maxvalue=b.minvalue)}h&&0<h.length||(s||(s={code:"CCCCCC",alpha:"100",bordercolor:"000000",borderalpha:"100"}),h=[s],this.defaultAsigned=!0);this.colorArr=h},getColorObj:function(b){for(var f=this.colorArr,
h=0,g=f.length,a,s,u={};h<g;h+=1){u.index=h;a=f[h];s=f[h+1];if(b<a.minvalue)return u.nextObj=a,u;if(b>=a.minvalue&&b<=a.maxvalue)return u.colorObj=a,s&&b==s.minvalue&&(u.nextObj=s,u.isOnMeetPoint=!0),u;u.prevObj=a}u.index=h-1;return u},getColorRangeArr:function(b,f){var h,g=this.colorArr,a,s,u=[],v,A;if(!this.defaultAsigned&&(b>f&&(h=b,b=f,f=h),b<f&&(a=this.getColorObj(b),s=this.getColorObj(f),a&&s))){h=b;a=a.index;for(s=s.index;a<=s;a+=1)v=wa({},g[a]),v.minvalue!==h&&(v.minvalue=h),u.push(v),A=v,
h=v.maxvalue;A.maxvalue=f}return u}};C.prototype.constructor=C;$.nonGradientColorRange=C=function(b){var f=b.sortLegend||!1,h=b.mapByCategory||!1,g=b.numberFormatter;b=(b.colorRange||{}).color;var a=this.colorArr=[],s,u,v,A,N,Y,d=function(b,f){return b.maxvalue-f.maxvalue};this.mapByCategory=h;if(b&&(s=b.length)){for(u=0;u<s;u+=1)A=b[u],v=Z(A.color,A.code),N=oa(A.maxvalue),Y=oa(A.minvalue),A=Z(A.label,A.displayvalue,h?"":g.dataLabels(Y)+" - "+g.dataLabels(N)),(v&&N>Y||h&&A)&&a.push({code:v,maxvalue:N,
minvalue:Y,label:Fa(A),labelId:A.toLowerCase()});a.length?f&&a.sort(d):this.noValidRange=!0}};C.prototype={getColorObj:function(b){var f=this.colorArr,h=this.gradient?1:0,g=f[h],a;if(this.mapByCategory){for(b=Fa(b).toLowerCase();g;){if(g.labelId===b)return{code:g.code,seriesIndex:h};h+=1;g=f[h]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=b&&this.scaleMax>=b){for(;g&&g.maxvalue<b;)h+=1,g=f[h];b=(b-g.minvalue)/g.range;f=f[h-1].codeRGB;g=g.codeRGB;h=f[0];a=f[1];f=f[2];return{code:("000000"+
(h+(g[0]-h)*b<<16|a+(g[1]-a)*b<<8|f+(g[2]-f)*b).toString(16)).slice(-6)}}return{outOfRange:!0}}for(;g;){if(g.maxvalue>b&&g.minvalue<=b)return{code:g.code,seriesIndex:h};g.maxvalue===b&&(a=h);h+=1;g=f[h]}return(g=f[a])&&g.maxvalue===b?{code:g.code,seriesIndex:a}:{outOfRange:!0}}};C.prototype.constructor=C;k.extend($,{BLANKSTRINGPLACEHOLDER:"#BLANK#",BLANKSTRING:"",COLOR_BLACK:"000000",COLOR_GLASS:"rgba(255, 255, 255, 0.3)",COLOR_WHITE:"FFFFFF",COLOR_TRANSPARENT:"rgba(0,0,0,0)",HASHSTRING:"#",BREAKSTRING:"<br />",
STRINGSTRING:"string",OBJECTSTRING:"object",COMMASTRING:",",ZEROSTRING:"0",SAMPLESTRING:"Ay0",TESTSTR:"Ag",ONESTRING:"1",DECIMALSTRING:".",STRINGUNDEFINED:"undefined",POSITION_TOP:"top",POSITION_RIGHT:"right",POSITION_BOTTOM:"bottom",POSITION_LEFT:"left",POSITION_CENTER:"center",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_END:"end",FC_CONFIG_STRING:"_FCconf",SHAPE_RECT:"rect",HUNDREDSTRING:"100",PXSTRING:"px",COMMASPACE:", ",TEXTANCHOR:"text-anchor",TOUCH_THRESHOLD_PIXELS:15,CLICK_THRESHOLD_PIXELS:5,
regex:{stripWhitespace:n,dropHash:z,startsRGBA:G,cleanColorCode:q,breakPlaceholder:t,hexcode:/^#?[0-9a-f]{6}/i},fireEvent:function(b,f,h,g){$.dem.fire(b,f,h,g)},plotEventHandler:function(b,f,h){f=f||{};var g=f.type,a=U(b.linkedItems.container,f),a=wa(a,this.data("eventArgs")),s=b.fireGroupEvent,u=this.data("groupId"),v=function(b,h){f.FusionChartsPreventEvent=!0;J&&h.toolText&&$.toolTip&&$.toolTip.preventTooltip()};"index"in a&&!("dataIndex"in a)&&(a.dataIndex=a.index);"value"in a&&!("dataValue"in
a)&&(a.dataValue=a.value);h=Z(h,"dataplotclick").toLowerCase();"dataplotrollover"===h?(f.FusionChartsPreventEvent=!1,s?k.raiseEventGroup(u,h,a,b.chartInstance,void 0,void 0,v):k.raiseEvent(h,a,b.chartInstance,void 0,void 0,v)):s&&"dataplotclick"!==h?k.raiseEventGroup(u,h,a,b.chartInstance):k.raiseEvent(h,a,b.chartInstance);if(("click"===g||"mouseup"===g||"touchend"===g)&&/click/i.test(h)){if(P&&!fa){h=(new Date).getTime();if(this.lastClickTimeStamp&&400>h-this.lastClickTimeStamp){f&&(f.originalEvent||
f).preventDefault();return}this.lastClickTimeStamp=h}b.linkedItems&&b.linkedItems.linkClickFN.call({link:a.link},b)}},getEventCoordinate:Ha,getMouseCoordinate:U,addEvent:Ja,removeEvent:R,getTouchEvent:ua,extend2:wa,deltend:function(b,f){if("object"!==typeof b||"object"!==typeof f)return null;Ta(b,f);return b},imprint:function(b,f,h){var g;if("object"!==typeof b||null===b)return f;if("object"!==typeof f||null===f)return b;for(g in f)if(void 0===b[g]||!h&&null===b[g])b[g]=f[g];return b},pluck:Z,pluckNumber:oa,
getFirstDefinedValue:function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b||""==b)return b},createElement:Na,hashify:la,dehashify:function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"$1")||"none"},pluckFontSize:function(){var b,f,h;f=0;for(h=arguments.length;f<h;f+=1)if(((b=arguments[f])||!1===b||0===b)&&!isNaN(b=Number(b)))return 1>b?1:b;return 1},getValidValue:ga,getPosition:X,getViewPortDimension:ea,bindSelectionEvent:function(b,f){f=f||{};var h=b.config,g=
b.linkedItems.container,a=h.zoomType,s=wa({},f.attr||{}),u=s["stroke-width"]=oa(s.strokeWidth,s["stroke-width"],1),v=X(g),A=b.eventListeners||(b.eventListeners=[]);f=wa({chart:b,zoomX:/x/.test(a),zoomY:/y/.test(a),canvasY:h.canvasTop,canvasX:h.canvasLeft,canvasW:h.canvasWidth,canvasH:h.canvasHeight,canvasX2:h.canvasLeft+h.canvasWidth,canvasY2:h.canvasTop+h.canvasHeight,strokeWidth:u,chartPosLeft:v.left,chartPosTop:v.top,attr:s},f);s.stroke=da(s.stroke,"rgba(51,153,255,0.8)");s.fill=da(s.fill,"rgba(185,213,241,0.3)");
s.ishot=!0;g&&(R(g,"pointerdrag",ba),A.push(Ja(g,"pointerdrag",ba,f)));h.link&&(R(b.linkedItems.container,"mouseup mousedown",ia),A.push(Ja(b.linkedItems.container,"mouseup mousedown",ia,f)))},createContextMenu:function(b){var f=b.chart,h=f.smartLabel,g=f.logic.hcJSON&&f.logic.hcJSON.chart.useRoundEdges,a=$.Raphael,s=function(b){var f=b.menufillcolor&&la(b.menufillcolor),h=b.menulabelcolor&&la(b.menulabelcolor),g=b.menufillhovercolor&&la(b.menufillhovercolor);b=b.menulabelhovercolor&&la(b.menulabelhovercolor);
return{attrs:{backgroundColor:f,color:h},hover:{backgroundColor:g,color:b}}}(f.definition.chart),u=function(b,f,h){f=f||{};b=(b=(b=b&&a.tintshade(b.color,.7))&&a.getRGB(b))&&"rgb("+[b.r,b.g,b.b].join()+")";return{backgroundColor:f.backgroundHoverColor||h.backgroundColor||b||"rgb(64, 64, 64)",color:f.hoverColor||h.color||"#FFFFFF"}}(b.basicStyle,b.hover,s.hover),v=function(b,f,h){f=wa({},f||{});f=wa(f,b);return{fontFamily:f.fontFamily||"Verdana,sans",fontSize:f.fontSize||"10px",color:f.color||h.color||
"#000000",backgroundColor:f.backgroundColor||h.backgroundColor||"rgb(255, 255, 255)"}}(b.basicStyle,b.attrs,s.attrs),A={textAlign:"left",align:"left",paddingLeft:"5px",paddingRight:"5px",paddingTop:"5px",cursor:"pointer",borderWidth:"0px"},N=b.items,Y=b.position,d=b.verticalPadding||3,c=b.horizontalPadding||6,L={},O,l,pa,S,W,Ma,K,R,E,k,ja,Ga,Ua;if(f)O=X(f.linkedItems.container);else return!1;S=function(){var b=L.items,f=b.length,a=0,s=0,u=0,N,Y;L.menuItems||(L.menuItems=[]);for(h.setStyle(v);f--;)N=
b[f],N=h.getOriSize(N.text),u||(u=N.height+2*d),a+=u,s=F(s,N.width+2*c);L.height=a;L.width=s;L.itemH=u;this.style.width=s+"px";L.menuRect||(a=L.menuRect=e.createElement("div"),a.style.border="1px solid rgb(100, 100, 100)",g&&(a.style.mozBorderRadius="4px",a.style.webkitBorderRadius="4px",a.style.borderRadius="4px",a.style.overflow="hidden"),J&&!M?a.style.filter="progid:DXImageTransform.Microsoft.Shadow(Color=#999999,direction=135,strength=3)":(a.style.mozBoxShadow="3px 3px 3px #999",a.style.webkitBoxShadow=
"3px 3px 3px #999",a.style.boxShadow="3px 3px 3px #999"),this.appendChild(a));s=b.length;for(f=0;f<s;f+=1)if(N=b[f],L.menuItems[f])L.menuItems[f].label.innerHTML=N.text;else{L.menuItems[f]={};a=L.menuItems[f].box=e.createElement("div");a.style.height=u+"px";a.style.lineHeight=u+"px";for(Y in A)a.style[Y]=A[Y];for(Y in v)a.style[Y]=v[Y];L.menuRect.appendChild(a);a.innerHTML=N.text;$.dem.listen(a,"click",Ua);$.dem.listen(a,"pointerhover",k);L.menuItems[f].box._itemIdx=f}for(;L.menuItems[f];)L.menuItems[f].box.parentNode.removeChild(L.menuItems[f].box),
L.menuItems.splice(f,1)};W=function(){pa||(pa=e.createElement("div"),pa.style.position="absolute",pa.style.zIndex="50",pa.style.display="none",f.linkedItems.container.appendChild&&f.linkedItems.container.appendChild(pa));return pa};Ma=function(){l=setTimeout(L.hide,800)};K=function(){l&&clearTimeout(l)};R=function(b){var h=b.x;b=b.y;var g={x:h,y:b},a=L.width,s=L.height,u=f.chartHeight,v=f.chartWidth;h+a>v&&0<h-a?g.x-=a:h+a>v&&(g.x=0);b+s>u&&0<b-s&&(g.y-=s);return g};E=function(){L.hide()};k=function(b){b.target&&
b.target.parentNode&&("start"===b.state?ja:Ga).call(b.target)};ja=function(){var b=L.menuItems[this._itemIdx],f;K();for(f in u)b.box.style[f]=u[f]};Ga=function(){var b=L.menuItems[this._itemIdx],f;for(f in v)b.box.style[f]=v[f];Ma()};Ua=function(b){var f=L.items[this._itemIdx];f.onclick&&f.onclick.call(f,b);b.originalEvent.stopPropagation?b.originalEvent.stopPropagation():b.originalEvent.cancelBubble=!0;L.hide()};L.showItem=function(b){b=this.menuItems[b];var f=this.height,h=this.itemH;b&&b._isHidden&&
(b.box.style.display="",this.height=f+h,b._isHidden=!1,b=R(Y),this.left=b.x,this.top=b.y)};L.hideItem=function(b){b=this.menuItems[b];var f=this.height,h=this.itemH;b&&!b._isHidden&&(b.box.style.display="none",this.height=f-h,b._isHidden=!0,b=R(Y),this.left=b.x,this.top=b.y)};L.redraw=function(){var b=this.menuContainer;this.items=N;b?S.call(this.menuContainer):Y&&void 0!==Y.x&&void 0!==Y.y?(this.menuContainer=W(),S.call(this.menuContainer),b=R(Y),this.left=b.x,this.top=b.y,this.menuContainer.style.left=
this.left+"px",this.menuContainer.style.top=this.top+"px"):(this.menuContainer=W(),S.call(this.menuContainer))};L.show=function(b){var f=this;b&&void 0!==b.x&&void 0!==b.y?(b=R(b),f.menuContainer.style.left=b.x+"px",f.menuContainer.style.top=b.y+"px"):(f.menuContainer.style.left=f.left+"px",f.menuContainer.style.top=f.top+"px");f.menuContainer.style.display="";setTimeout(function(){f.visible=!0;a.click(E)},400)};L.hide=function(){this.visible&&(this.visible=!1,L.menuContainer.style.display="none",
L.menuContainer.style.left=-L.width+"px",L.menuContainer.style.top=-L.height+"px",a.unclick(E))};L.update=function(b){b&&b.length&&(this.items=b,this.redraw())};L.updatePosition=function(b){var h=O.left,g=O.top;O=X(f.linkedItems.container);b?(Y=b,b=R(b),this.left=b.x,this.top=b.y):(this.left-=h-O.left,this.top-=g-O.top)};L.add=function(b){var f=this.menuItems,g=f.length,a;h.setStyle(v);this.width=F(this.width,h.getOriSize(b.text).width);f[g]={};f=f[g].box=e.createElement("div");f.style.height=this.itemH+
"px";f.style.lineHeight=this.itemH+"px";for(a in A)f.style[a]=A[a];for(a in v)f.style[a]=v[a];L.menuRect.appendChild(f);f.innerHTML=b.text;$.dem.listen(f,"click",Ua);$.dem.listen(f,"pointerhover",k);L.menuItems[g].box._itemIdx=g;this.height+=this.itemH};L.removeItems=function(){for(var b=this.menuItems,f=b&&b.length,h;f--;)h=b[f],$.dem.unlisten(h.box,"click",Ua),$.dem.unlisten(h.box,"pointerhover",k),h.box&&h.box.parentNode&&h.box.parentNode.removeChild(h.box);delete this.menuItems;delete this.items};
L.setPosition=function(b){void 0!==b.x&&void 0!==b.y&&(this.menuContainer.style.x=b.x,this.menuContainer.style.y=b.y)};L.destroy=function(){this.removeItems();this.menuContainer.parentNode.removeChild(this.menuContainer)};N&&N.length&&(L.redraw(),L.hide());return L},each:function(b,f,h,g){var a;h||(h=b);g||(g={});if(ha(b))for(a=0;a<b.length;a+=1){if(!1===f.call(h,b[a],a,b,g))return a}else if(null!==b&&void 0!==b)for(a in b)if(!1===f.call(h,b[a],a,b,g))return a},getDefinedColor:function(b,f){return b||
0===b||""===b?b:f},getFirstValue:da,getFirstColor:na,getColorCodeString:function(b,f){var h="",g,a,s=0,u=f.split(",");for(a=u.length;s<a;s+=1)g=u[s].split("-"),h=2===g.length?"-1"!==g[0].indexOf("dark")?h+(O(b,100-parseInt(g[1],10))+","):h+(L(b,100-parseInt(g[1],10))+","):h+(u[s]+",");return h.substring(0,h.length-1)},pluckColor:function(b){if(ga(b))return b=b.split(",")[0],b=b.replace(n,""),""==b&&(b="000000"),b.replace(z,"#")},toRaphaelColor:g,gradientify:u,trimString:function(b){b=b.replace(/^\s\s*/,
"");for(var f=/\s/,h=b.length;f.test(b.charAt(--h)););return b.slice(0,h+1)},getFirstAlpha:ra,parsePointValue:Ca,parseUnsafeString:Fa,parseTooltext:Y,toPrecision:function(b,f){var h=d(10,f);return B(b*h)/h},hasTouch:a,CREDIT_HREF:H,CREDIT_STRING:"FusionCharts XT Trial",getSentenceCase:function(b){b=b||"";return b.charAt(0).toUpperCase()+b.substr(1)},getCrispValues:function(b,f,h){var g=h%2/2;h=B(b+g)-g;b=B(b+f+g)-g-h;return{position:h,distance:b}},regescape:function(b){return b&&b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,
"\\$&")},regReplaceEscape:ca,getImageURL:Pa,isArray:ha,preDefStr:{colors:{B90000:"B90000"},line:"line",bar:"bar",column:"column",volume:"volume"},stubFN:function(){},falseFN:function(){return!1},stableSort:function(b,f){var h=b.length,g;for(g=0;g<h;g++)b[g].ssI=g;b.sort(function(b,h){var g=f(b,h);return 0===g?b.ssI-h.ssI:g});for(g=0;g<h;g++)delete b[g].ssI},hasSVG:M,isIE:J,lineHeightFactor:1.2,getLinkAction:function(b,f){var h=function(b){return b};return function(g){var a=b.chart||b.map||{},s=oa(a.unescapelinks,
1),a=oa(a.clickurloverridesplotlinks,0),u=da(this.link,"");g=g.config&&g.config.link||"";var v=a?Z(g,u):Z(u,g),A=v,N,Y,d,L,c,O,l,e,pa,S;void 0!==v&&(s&&(v=m.decodeURIComponent?m.decodeURIComponent(v):m.unescape(v)),v=v.replace(/^\s+/,"").replace(/\s+$/,""),-1!==v.search(/^[a-z]*\s*[\-\:]\s*/i)&&(c=v.split(/\s*[\-\:]\s*/)[0].toLowerCase(),S=c.length),setTimeout(function(){switch(c){case "j":v=v.replace(/^j\s*\-/i,"j-");N=v.indexOf("-",2);-1===N?qa(v.slice(2)):qa(v.substr(2,N-2).replace(/\s/g,""),v.slice(N+
1));break;case "javascript":Oa(v.replace(/^javascript\s*\:/i,""));break;case "n":v.replace(/^n\s*\-/i,"n-");m.open(h(v.slice(2),s));break;case "f":v=v.replace(/^f\s*\-/i,"f-");N=v.indexOf("-",2);-1!==N?(Y=v.substr(2,N-2))&&m.frames[Y]?m.frames[Y].location=h(v.slice(N+1),s):m.open(h(v.slice(N+1),s),Y):m.open(h(v.slice(2),s));break;case "p":v=v.replace(/p\s*\-/i,"p-");N=v.indexOf("-",2);d=v.indexOf(",",2);-1===N&&(N=1);L=h(v.slice(N+1),s);m.open(L,v.substr(2,d-2),v.substr(d+1,N-d-1)).focus();break;
case "newchart":case "newmap":":"===v.charAt(S)&&(N=v.indexOf("-",S+1),pa=v.substring(S+1,N),S=N);N=v.indexOf("-",S+1);O=v.substring(S+1,N).toLowerCase();switch(O){case "xmlurl":case "jsonurl":e=v.substring(N+1,v.length);break;case "xml":case "json":var g=l=v.substring(N+1,v.length),a={chart:{}},u,g=g.toLowerCase();if(b.linkeddata)for(u=0;u<b.linkeddata.length;u+=1)b.linkeddata[u].id.toLowerCase()===g&&(a=b.linkeddata[u].linkedchart||b.linkeddata[u].linkedmap);e=a;O="json"}k.raiseEvent("linkedChartInvoked",
{alias:pa,linkType:O.toUpperCase(),data:e},f);break;default:m.location.href=v}k.raiseEvent("linkClicked",{linkProvided:A,linkInvoked:v,linkAction:c&&c.toLowerCase()},f)},0))}},graphics:{parseAlpha:b,convertColor:f,getDarkColor:L,getLightColor:O,mapSymbolName:function(b,f){var h="circle";b=Ca(b);3<=b&&(h=(f?"spoke_":"poly_")+b);return h},getColumnColor:function(f,h,g,a,s,u,v,A,N){var Y,d;Y=f.split(",");d=h.split(",");u=u.split(",");v=v.split(",");f=f.replace(/\s/g,"").replace(/\,$/,"");N?A={FCcolor:{color:Y[0],
alpha:d[0]}}:s?(f=Y[0],d=d[0],A={FCcolor:{color:L(f,75)+","+O(f,10)+","+L(f,90)+","+O(f,55)+","+L(f,80),alpha:d+","+d+","+d+","+d+","+d,ratio:"0,11,14,57,18",angle:A?"90":"0"}},u=[L(f,70)]):(h=b(h,Y.length),A={FCcolor:{color:f,alpha:h,ratio:g,angle:A?-a:a}});return[A,{FCcolor:{color:u[0],alpha:v[0]}}]},getPointColor:function(b,f){var h,g;b=na(b);f=ra(f);h=O(b,70);g=L(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:h+","+g,alpha:f+","+f,ratio:void 0,radialGradient:!0}}},
getAngle:function(b,f,h){b=180*Math.atan(f/b)/Math.PI;2==h?b=180-b:3==h?b+=180:4==h&&(b=360-b);return b},parseColor:N,getValidColor:function(b){return c.test(N(b))&&b},HSBtoRGB:function(b){var f=b[0],h=0,g=0,a=0,s=[],s=b[1]/100;b=b[2]/100;var u=f/60-Math.floor(f/60),v=b*(1-s),A=b*(1-u*s),s=b*(1-(1-u)*s);switch(Math.floor(f/60)%6){case 0:h=b;g=s;a=v;break;case 1:h=A;g=b;a=v;break;case 2:h=v;g=b;a=s;break;case 3:h=v;g=A;a=b;break;case 4:h=s;g=v;a=b;break;case 5:h=b,g=v,a=A}return s=[B(255*h),B(255*
g),B(255*a)]},RGBtoHSB:function(b){var f=b[0],h=b[1];b=b[2];var g=Math.max(Math.max(f,h),b),a=Math.min(Math.min(f,h),b),s=0,u=0;g==a?s=0:g==f?s=(60*(h-b)/(g-a)+360)%360:g==h?s=60*(b-f)/(g-a)+120:g==b&&(s=60*(f-h)/(g-a)+240);u=0===g?0:(g-a)/g;return[B(s),B(100*u),B(g/255*100)]},RGBtoHex:function(b){return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},rawRGBtoHEX:function(b){b=b.match(/[\d+]+/g).splice(0,3);return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},HEXtoRGB:S},setImageDisplayMode:function(b,
f,h,g,a,s,u,v){var A=g/100*v.width;g=g/100*v.height;v={};var N,Y=s-2*a;N=u-2*a;var d=function(b,f,h,g,s,v){var u={};switch(b){case "top":u.y=a;break;case "bottom":u.y=v-g-a;break;case "middle":u.y=(v-g)/2}switch(f){case "left":u.x=a;break;case "right":u.x=s-h-a;break;case "middle":u.x=(s-h)/2}return u};switch(b){case "center":v.width=A;v.height=g;v.y=u/2-g/2;v.x=s/2-A/2;break;case "stretch":v.width=s-2*a;v.height=u-2*a;v.y=a;v.x=a;break;case "tile":v.width=A;v.height=g;v.tileInfo={};v.tileInfo.xCount=
b=Math.ceil(Y/A);v.tileInfo.yCount=N=Math.ceil(N/g);f=d(f,h,A*b,g*N,s,u);v.y=f.y;v.x=f.x;break;case "fit":b=A/g>Y/N?Y/A:N/g;v.width=A*b;v.height=g*b;f=d(f,h,v.width,v.height,s,u);v.y=f.y;v.x=f.x;break;case "fill":b=A/g>Y/N?N/g:Y/A;v.width=A*b;v.height=g*b;f=d(f,h,v.width,v.height,s,u);v.y=f.y;v.x=f.x;break;default:f=d(f,h,A,g,s,u),v.width=A,v.height=g,v.y=f.y,v.x=f.x}return v},setLineHeight:W,parsexAxisStyles:ja,supportedStyle:{font:"font",fontFamily:"font-family","font-family":"font-family",fontWeight:"font-weight",
"font-weight":"font-weight",fontSize:"font-size","font-size":"font-size",lineHeight:"line-height","line-height":"line-height",textDecoration:"text-decoration","text-decoration":"text-decoration",color:"color",whiteSpace:"white-space","white-space":"white-space",padding:"padding",margin:"margin",background:"background",backgroundColor:"background-color","background-color":"background-color",backgroundImage:"background-image","background-image":"background-image",backgroundPosition:"background-position",
"background-position":"background-position",backgroundPositionLeft:"background-position-left","background-position-left":"background-position-left",backgroundPositionTop:"background-position-top","background-position-top":"background-position-top",backgroundRepeat:"background-repeat","background-repeat":"background-repeat",border:"border",borderColor:"border-color","border-color":"border-color",borderStyle:"border-style","border-style":"border-style",borderThickness:"border-thickness","border-thickness":"border-thickness",
borderTop:"border-top","border-top":"border-top",borderTopColor:"border-top-color","border-top-color":"border-top-color",borderTopStyle:"border-top-style","border-top-style":"border-top-style",borderTopThickness:"border-top-thickness","border-top-thickness":"border-top-thickness",borderRight:"border-right","border-right":"border-right",borderRightColor:"border-right-color","border-right-color":"border-right-color",borderRightStyle:"border-right-style","border-right-style":"border-right-style",borderRightThickness:"border-right-thickness",
"border-right-thickness":"border-right-thickness",borderBottom:"border-bottom","border-bottom":"border-bottom",borderBottomColor:"border-bottom-color","border-bottom-color":"border-bottom-color",borderBottomStyle:"border-bottom-style","border-bottom-style":"border-bottom-style",borderBottomThickness:"border-bottom-thickness","border-bottom-thickness":"border-bottom-thickness",borderLeft:"border-left","border-left":"border-left",borderLeftColor:"border-left-color","border-left-color":"border-left-color",
borderLeftStyle:"border-left-style","border-left-Style":"border-left-style",borderLeftThickness:"border-left-thickness","border-left-thickness":"border-left-thickness"},getAxisLimits:K,createTrendLine:Qa,getDashStyle:s,axisLabelAdder:La,chartAPI:A,createDialog:E,isCanvasElemSupported:h,componentDispose:zb,componentConfigurer:function(b){var f,h,g=[],a,s,v,u={};b=b||this;f=b.components;for(v in f)if(h=f[v],h instanceof Array)for(s=h.length,a=0;a<s;a+=1)g.push(h[a]);else g.push(h);g.sort(oc);s=g.length;
for(a=0;a<s;a+=1)h=g[a],f=h.customConfigFn,null!==f&&(f&&b[f]?u[f]||(b[f](),u[f]=!0):h.configure&&h.configure())},getSvgDataurl:Kb,removeCrossDomainImages:Ga,getBrowserDetails:Ma,dataurlToBlob:pa,downloadCharts:function(b,f,h,g,a){f?Ua(b,f,h):ta(g,a)},browserDetails:xa,drawSvgOnCanvas:function(b,f,h,g,a,s,v){"ie"==xa.name?(b=Ga(b),new r(b,f,h,g,a,s,function(){v()})):Kb(b,function(b){var u,A;u=f.getContext("2d");A=new D;A.src=b;A.onload=function(){u.drawImage(A,h,g,a,s);v()}})}})}]);
window.FusionCharts&&window.FusionCharts.register("module",["private","vendor.redraphael",function(){var k=this.hcLib,m=window.Raphael,C;(function(){(function(k,e){var a=/[\.\/]/,m=function(){},C=function(a,e){return a-e},I,n,z={n:{}},G=function(a,e){a=String(a);var c=n,k=Array.prototype.slice.call(arguments,2),d=G.listeners(a),m=0,z,l=[],w={},H=[],F=I;I=a;for(var r=n=0,D=d.length;r<D;r++)"zIndex"in d[r]&&(l.push(d[r].zIndex),0>d[r].zIndex&&(w[d[r].zIndex]=d[r]));for(l.sort(C);0>l[m];)if(z=w[l[m++]],
H.push(z.apply(e,k)),n)return n=c,H;for(r=0;r<D;r++)if(z=d[r],"zIndex"in z)if(z.zIndex==l[m]){H.push(z.apply(e,k));if(n)break;do if(m++,(z=w[l[m]])&&H.push(z.apply(e,k)),n)break;while(z)}else w[z.zIndex]=z;else if(H.push(z.apply(e,k)),n)break;n=c;I=F;return H.length?H:null};G._events=z;G.listeners=function(e){e=e.split(a);var k=z,c,p,d,n,m,l,w,H=[k],F=[];d=0;for(n=e.length;d<n;d++){w=[];m=0;for(l=H.length;m<l;m++)for(k=H[m].n,c=[k[e[d]],k["*"]],p=2;p--;)if(k=c[p])w.push(k),F=F.concat(k.f||[]);H=w}return F};
G.on=function(e,k){e=String(e);if("function"!=typeof k)return function(){};for(var c=e.split(a),p=z,d=0,n=c.length;d<n;d++)p=p.n,p=p.hasOwnProperty(c[d])&&p[c[d]]||(p[c[d]]={n:{}});p.f=p.f||[];d=0;for(n=p.f.length;d<n;d++)if(p.f[d]==k)return m;p.f.push(k);return function(a){+a==+a&&(k.zIndex=+a)}};G.f=function(a){var e=[].slice.call(arguments,1);return function(){G.apply(null,[a,null].concat(e).concat([].slice.call(arguments,0)))}};G.stop=function(){n=1};G.nt=function(a){return a?(new RegExp("(?:\\.|\\/|^)"+
a+"(?:\\.|\\/|$)")).test(I):I};G.nts=function(){return I.split(a)};G.off=G.unbind=function(e,k){if(e){var c=e.split(a),p,d,n,m,l,w,H=[z];m=0;for(l=c.length;m<l;m++)for(w=0;w<H.length;w+=n.length-2){n=[w,1];p=H[w].n;if("*"!=c[m])p[c[m]]&&n.push(p[c[m]]);else for(d in p)p.hasOwnProperty(d)&&n.push(p[d]);H.splice.apply(H,n)}m=0;for(l=H.length;m<l;m++)for(p=H[m];p.n;){if(k){if(p.f){w=0;for(c=p.f.length;w<c;w++)if(p.f[w]==k){p.f.splice(w,1);break}!p.f.length&&delete p.f}for(d in p.n)if(p.n.hasOwnProperty(d)&&
p.n[d].f){n=p.n[d].f;w=0;for(c=n.length;w<c;w++)if(n[w]==k){n.splice(w,1);break}!n.length&&delete p.n[d].f}}else for(d in delete p.f,p.n)p.n.hasOwnProperty(d)&&p.n[d].f&&delete p.n[d].f;p=p.n}}else G._events=z={n:{}}};G.once=function(a,e){var c=function(){G.unbind(a,c);return e.apply(this,arguments)};return G.on(a,c)};G.version="0.4.2";G.toString=function(){return"You are running Eve 0.4.2"};"undefined"!=typeof module&&module.exports?module.exports=G:e||"undefined"==typeof define?k.eve=G:define("eve",
[],function(){return G})})(this,!0);(function(k,e,a){!a&&"function"===typeof define&&define.amd?define(["eve"],function(a){return e(k,a)}):e(k,k.eve)})(this,function(k,e){function a(b){var f,h;void 0===a._url&&(a._url="");if(a.is(b,"function"))return B?b():e.on("raphael.DOMload",b);if(a.is(b,w))return a._engine.create[Q](a,b.splice(0,3+a.is(b[0],l))).add(b);f=Array.prototype.slice.call(arguments,0);return a.is(f[f.length-1],"function")?(h=f.pop(),B?h.call(a._engine.create[Q](a,f)):e.on("raphael.DOMload",
function(){h.call(a._engine.create[Q](a,f))})):a._engine.create[Q](a,arguments)}function m(){return this.hex}function J(b,f){for(var h=[],g=0,a=b.length;a-2*!f>g;g+=2){var s=[{x:+b[g-2],y:+b[g-1]},{x:+b[g],y:+b[g+1]},{x:+b[g+2],y:+b[g+3]},{x:+b[g+4],y:+b[g+5]}];f?g?a-4==g?s[3]={x:+b[0],y:+b[1]}:a-2==g&&(s[2]={x:+b[0],y:+b[1]},s[3]={x:+b[2],y:+b[3]}):s[0]={x:+b[a-2],y:+b[a-1]}:a-4==g?s[3]=s[2]:g||(s[0]={x:+b[g],y:+b[g+1]});h.push(["C",(-s[0].x+6*s[1].x+s[2].x)/6,(-s[0].y+6*s[1].y+s[2].y)/6,(s[1].x+
6*s[2].x-s[3].x)/6,(s[1].y+6*s[2].y-s[3].y)/6,s[2].x,s[2].y])}return h}function I(b,f,h,g,a,s,v,u,A){null==A&&(A=1);A=(1<A?1:0>A?0:A)/2;for(var N=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],Y=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,L=0;12>L;L++)var c=A*N[L]+A,O=c*(c*(-3*b+9*h-9*a+3*v)+6*b-12*h+6*a)-3*b+3*h,c=c*(c*(-3*f+9*g-9*s+3*u)+6*f-12*g+6*s)-3*f+3*g,d=d+Y[L]*Da(O*O+c*c);return A*d}function n(b,f,h,g,a,s,v,u,A){if(!(0>A||
I(b,f,h,g,a,s,v,u)<A)){var N=.5,Y=1-N,d;for(d=I(b,f,h,g,a,s,v,u,Y);.01<Ca(d-A);)N/=2,Y+=(d<A?1:-1)*N,d=I(b,f,h,g,a,s,v,u,Y);return Y}}function z(b,f,h){b=a._path2curve(b);f=a._path2curve(f);for(var g,s,v,u,A,N,Y,d,c,L,O=h?0:[],l=0,e=b.length;l<e;l++)if(c=b[l],"M"==c[0])g=A=c[1],s=N=c[2];else{"C"==c[0]?(c=[g,s].concat(c.slice(1)),g=c[6],s=c[7]):(c=[g,s,g,s,A,N,A,N],g=A,s=N);for(var pa=0,S=f.length;pa<S;pa++)if(L=f[pa],"M"==L[0])v=Y=L[1],u=d=L[2];else{"C"==L[0]?(L=[v,u].concat(L.slice(1)),v=L[6],u=
L[7]):(L=[v,u,v,u,Y,d,Y,d],v=Y,u=d);var W;var Ma=c,K=L;W=h;var R=a.bezierBBox(Ma),k=a.bezierBBox(K);if(a.isBBoxIntersect(R,k)){for(var R=I.apply(0,Ma),k=I.apply(0,K),R=la(~~(R/5),1),k=la(~~(k/5),1),E=[],ja=[],Ga={},Ua=W?0:[],ta=0;ta<R+1;ta++){var aa=a.findDotsAtSegment.apply(a,Ma.concat(ta/R));E.push({x:aa.x,y:aa.y,t:ta/R})}for(ta=0;ta<k+1;ta++)aa=a.findDotsAtSegment.apply(a,K.concat(ta/k)),ja.push({x:aa.x,y:aa.y,t:ta/k});for(ta=0;ta<R;ta++)for(Ma=0;Ma<k;Ma++){var La=E[ta],w=E[ta+1],K=ja[Ma],aa=ja[Ma+
1],Ob=.001>Ca(w.x-La.x)?"y":"x",p=.001>Ca(aa.x-K.x)?"y":"x",n;n=La.x;var F=La.y,m=w.x,ua=w.y,zb=K.x,xa=K.y,Qa=aa.x,U=aa.y;if(la(n,m)<oa(zb,Qa)||oa(n,m)>la(zb,Qa)||la(F,ua)<oa(xa,U)||oa(F,ua)>la(xa,U))n=void 0;else{var Kb=(n*ua-F*m)*(zb-Qa)-(n-m)*(zb*U-xa*Qa),q=(n*ua-F*m)*(xa-U)-(F-ua)*(zb*U-xa*Qa),t=(n-m)*(xa-U)-(F-ua)*(zb-Qa);if(t){var Kb=Kb/t,q=q/t,t=+Kb.toFixed(2),D=+q.toFixed(2);n=t<+oa(n,m).toFixed(2)||t>+la(n,m).toFixed(2)||t<+oa(zb,Qa).toFixed(2)||t>+la(zb,Qa).toFixed(2)||D<+oa(F,ua).toFixed(2)||
D>+la(F,ua).toFixed(2)||D<+oa(xa,U).toFixed(2)||D>+la(xa,U).toFixed(2)?void 0:{x:Kb,y:q}}else n=void 0}n&&Ga[n.x.toFixed(4)]!=n.y.toFixed(4)&&(Ga[n.x.toFixed(4)]=n.y.toFixed(4),La=La.t+Ca((n[Ob]-La[Ob])/(w[Ob]-La[Ob]))*(w.t-La.t),K=K.t+Ca((n[p]-K[p])/(aa[p]-K[p]))*(aa.t-K.t),0<=La&&1.001>=La&&0<=K&&1.001>=K&&(W?Ua++:Ua.push({x:n.x,y:n.y,t1:oa(La,1),t2:oa(K,1)})))}W=Ua}else W=W?0:[];if(h)O+=W;else{R=0;for(k=W.length;R<k;R++)W[R].segment1=l,W[R].segment2=pa,W[R].bez1=c,W[R].bez2=L;O=O.concat(W)}}}return O}
function G(b,f,h,g,a,s){null!=b?(this.a=+b,this.b=+f,this.c=+h,this.d=+g,this.e=+a,this.f=+s):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}function q(){return this.x+" "+this.y+" "+this.width+" × "+this.height}function t(b,f,h,g,a,s){function v(b,f){var h,g,a,s;a=b;for(g=0;8>g;g++){s=((N*a+A)*a+u)*a-b;if(Ca(s)<f)return a;h=(3*N*a+2*A)*a+u;if(1E-6>Ca(h))break;a-=s/h}h=0;g=1;a=b;if(a<h)return h;if(a>g)return g;for(;h<g;){s=((N*a+A)*a+u)*a;if(Ca(s-b)<f)break;b>s?h=a:g=a;a=(g-h)/2+h}return a}var u=
3*f,A=3*(g-f)-u,N=1-u-A,Y=3*h,d=3*(a-h)-Y,c=1-Y-d;return function(b,f){var h=v(b,f);return((c*h+d)*h+Y)*h}(b,1/(200*s))}function c(b,f){var h=[],g={};this.ms=f;this.times=1;if(b){for(var a in b)b.hasOwnProperty(a)&&(g[Ha(a)]=b[a],h.push(Ha(a)));h.sort(aa)}this.anim=g;this.top=h[h.length-1];this.percents=h}function p(b,f,h,u,v,A,N){h=Ha(h);var Y,d,c,L,O,pa,S,W=b.ms,R={},Ma={},k={};if(u)for(E=0,ja=Ra.length;E<ja;E++){if(pa=Ra[E],pa.el.id==f.id&&pa.anim==b){pa.percent!=h?(delete pa.el.e,delete pa.el,
Ra.splice(E,1),c=1):d=pa;f.attr(pa.totalOrigin);break}}else u=+Ma;for(var E=0,ja=b.percents.length;E<ja;E++)if(b.percents[E]==h||b.percents[E]>u*b.top){h=b.percents[E];O=b.percents[E-1]||0;W=W/b.top*(h-O);L=b.percents[E+1];Y=b.anim[h];break}else u&&f.attr(b.anim[b.percents[E]]);if(Y){if(d)d.initstatus=u,d.start=new Date-d.ms*u;else{for(var Ga in Y)if(Y.hasOwnProperty(Ga))if(K.hasOwnProperty(Ga)||f.ca[Ga]){R[Ga]=f.attr(Ga);null==R[Ga]&&(R[Ga]=La[Ga]);Ma[Ga]=Y[Ga];pa=!1;switch(K[Ga]){case l:((S=Ma[Ga]-
R[Ga])||isNaN(S))&&(pa=!0);k[Ga]=S/W;break;case "colour":R[Ga]=a.getRGB(R[Ga]);E=a.getRGB(Ma[Ga]);S={};S.r=E.r-R[Ga].r;S.g=E.g-R[Ga].g;S.b=E.b-R[Ga].b;(S.r||S.g||S.b)&&(pa=!0);k[Ga]={r:S.r/W,g:S.g/W,b:S.b/W};break;case "path":S=ka(R[Ga],Ma[Ga]);var Ua=S[1];pa=!0;R[Ga]=S[0];k[Ga]=[];E=0;for(ja=R[Ga].length;E<ja;E++){k[Ga][E]=[0];for(var ta=1,aa=R[Ga][E].length;ta<aa;ta++)S=Ua[E][ta]-R[Ga][E][ta],k[Ga][E][ta]=S/W}break;case "transform":S=f._;E=yc(S[Ga],Ma[Ga]);pa=!0;if(E)for(R[Ga]=E.from,Ma[Ga]=E.to,
k[Ga]=[],k[Ga].real=!0,E=0,ja=R[Ga].length;E<ja;E++)for(k[Ga][E]=[R[Ga][E][0]],ta=1,aa=R[Ga][E].length;ta<aa;ta++)k[Ga][E][ta]=(Ma[Ga][E][ta]-R[Ga][E][ta])/W;else E=f.matrix||new G,S={_:{transform:S.transform},getBBox:function(){return f.getBBox(1)}},R[Ga]=[E.a,E.b,E.c,E.d,E.e,E.f],Va(S,Ma[Ga]),Ma[Ga]=S._.transform,k[Ga]=[(S.matrix.a-E.a)/W,(S.matrix.b-E.b)/W,(S.matrix.c-E.c)/W,(S.matrix.d-E.d)/W,(S.matrix.e-E.e)/W,(S.matrix.f-E.f)/W];break;case "csv":ja=ua(Y[Ga]).split(ab);Ua=ua(R[Ga]).split(ab);
if("clip-rect"==Ga)for(R[Ga]=Ua,k[Ga]=[],E=Ua.length;E--;)((S=ja[E]-R[Ga][E])||isNaN(S))&&(pa=!0),k[Ga][E]=S/W;Ma[Ga]=ja;break;default:for(ja=[].concat(Y[Ga]),Ua=[].concat(R[Ga]),k[Ga]=[],E=f.ca[Ga].length;E--;)((S=(ja[E]||0)-(Ua[E]||0))||isNaN(S))&&(pa=!0),k[Ga][E]=S/W}pa||(delete R[Ga],delete Ma[Ga],delete Y[Ga],delete k[Ga])}else if(a._availableAttrs.hasOwnProperty(Ga)||"text"===Ga||f.ca[Ga])f.attr(Ga,Y[Ga]),delete Y[Ga];pa=Y.easing;Ga=a.easing_formulas[pa];if(!Ga)if((Ga=ua(pa).match(g))&&5==Ga.length){var w=
Ga;Ga=function(b){return t(b,+w[1],+w[2],+w[3],+w[4],W)}}else Ga=s;pa=Y.start||b.start||+new Date;f.e=pa={anim:b,percent:h,timestamp:pa,start:pa+(b.del||0),status:0,initstatus:u||0,stop:!1,ms:W,easing:Ga,from:R,diff:k,to:Ma,el:f,callback:Y.callback,prev:O,next:L,repeat:A||b.times,origin:f.attr(),totalOrigin:v,parentEl:N};Ra.push(pa);if(u&&!d&&!c&&(pa.stop=!0,pa.start=new Date-W*u,1==Ra.length))return db();c&&(pa.start=new Date-pa.ms*u);1==Ra.length&&Ya(db)}!1!==a.stopEvent&&e("raphael.anim.start."+
f.id,f,b)}}function d(b){for(var f=0;f<Ra.length;f++)Ra[f].el.paper==b&&Ra.splice(f--,1)}a.upgrade="1.0.0";a.version="2.1.0";a.eve=e;C=a;var B,Q="apply",l="number",w="array",H=Array.prototype.slice,F=Array.prototype.splice,T=Array.prototype.shift,D=function(){return function(){}.hasOwnProperty("prototype")}(),V={doc:document,win:k},P=Object.prototype.hasOwnProperty.call(V.win,"Raphael"),fa=V.win.Raphael,$=V.doc,ba=V.win,ia=a.supportsTouch="createTouch"in $,ea=a.supportsOnlyTouch=ia&&!(ba.navigator.maxTouchPoints||
ba.navigator.msMaxTouchPoints),X=function(){};a.ca=a.customAttributes=X.prototype;var ca=function(){this.ca=this.customAttributes=new X;this._CustomAttributes=function(){};this._CustomAttributes.prototype=this.ca;this._elementsById={};this.id=a._oid++;e("raphael.new",this)},ga=a.fn=ca.prototype=a.prototype,da={circle:1,rect:1,path:1,ellipse:1,text:1,image:1,group:1},Z="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel dragstart dragmove dragend".split(" "),
Ja=a._touchMap={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},R=a._dragEventMap={dragstart:"mousedown",dragmove:"mousemove",dragend:"mouseup"},ua=ba.String,Ha=ba.parseFloat,U=ba.parseInt,Na=ba.Math,la=Na.max,oa=Na.min,Ca=Na.abs,Fa=Na.pow,na=Na.cos,ra=Na.sin,Da=Na.sqrt,ha=Na.round,Ia=Na.PI,wa=Ia/180,Ta=180/Ia,qa=ua.prototype.toLowerCase,Oa=ua.prototype.toUpperCase,Pa=ba.Object.prototype.toString,ab=/[, ]+/,b=/\{(\d+)\}/g;a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var f=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
g=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,u=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,N=/,?([achlmqrstvxz]),?/gi,L=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
O=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,S=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
a._radial_gradient=/^x?r(?:\(([^\)]*?)\))?/;var W={NaN:1,Infinity:1,"-Infinity":1},ja={hs:1,rg:1},La=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9","clip-path":"",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"about:blank","letter-spacing":0,"line-height":12,"vertical-align":"middle",opacity:1,path:"M0,0",r:0,rx:0,ry:0,
src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",visibility:"",title:"",transform:"",rotation:0,width:0,x:0,y:0},K=a._availableAnimAttrs={blur:l,"clip-rect":"csv","clip-path":"path",cx:l,cy:l,fill:"colour","fill-opacity":l,"font-size":l,height:l,opacity:l,path:"path",r:l,rx:l,ry:l,stroke:"colour","stroke-opacity":l,"stroke-width":l,transform:"transform",width:l,
x:l,y:l},E={},aa=function(b,f){return Ha(b)-Ha(f)},Qa=function(){},s=function(b){return b},v=a._rectPath=function(b,f,h,g,a){return a?[["M",b+a,f],["l",h-2*a,0],["a",a,a,0,0,1,a,a],["l",0,g-2*a],["a",a,a,0,0,1,-a,a],["l",2*a-h,0],["a",a,a,0,0,1,-a,-a],["l",0,2*a-g],["a",a,a,0,0,1,a,-a],["z"]]:[["M",b,f],["l",h,0],["l",0,g],["l",-h,0],["z"]]},A=function(b,f,h,g){null==g&&(g=h);return[["M",b,f],["m",0,-g],["a",h,g,0,1,1,0,2*g],["a",h,g,0,1,1,0,-2*g],["z"]]},Y=a._getPath={group:function(){return!1},
path:function(b){return b.attr("path")},circle:function(b){b=b.attrs;return A(b.cx,b.cy,b.r)},ellipse:function(b){b=b.attrs;return A(b.cx,b.cy,b.rx,b.ry)},rect:function(b){b=b.attrs;return v(b.x,b.y,b.width,b.height,b.r)},image:function(b){b=b.attrs;return v(b.x,b.y,b.width,b.height)},text:function(b){b=b._getBBox();return v(b.x,b.y,b.width,b.height)}},h=a.mapPath=function(b,f){if(!f)return b;var h,g,a,s,u,v,A;b=ka(b);a=0;for(u=b.length;a<u;a++)for(A=b[a],s=1,v=A.length;s<v;s+=2)h=f.x(A[s],A[s+1]),
g=f.y(A[s],A[s+1]),A[s]=h,A[s+1]=g;return b};a.pick=function(){for(var b,f=0,h=arguments.length;f<h;f+=1)if((b=arguments[f])||!1===b||0===b)return b};var pa=a._lastArgIfGroup=function(b,f){var h=b.length-1,g=b[h];if(g&&g.constructor===a.el.constructor&&"group"===g.type)return f&&(b[h]=void 0,delete b[h],F.call(b,h,1)),g},Ma=a._serializeArgs=function(b){var f=b[0],h,g;if(a.is(f,"object")&&!a.is(f,"array")&&"group"!==f.type)for(h=f,f.path&&(f=f.path)&&!a.is(f,"string")&&a.is(f[0],w),f=1,g=arguments.length;f<
g;f+=2)h[arguments[f]]||(h[arguments[f]]=arguments[f+1]);else for(h={},f=1,g=arguments.length;f<g;f+=2)h[arguments[f]]=b[(f-1)/2]||arguments[f+1];return h},Ga=a.merge=function(b,f,h,g,a){var s,u,v,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(s=0;s<f.length;s+=1){try{u=b[s],v=f[s]}catch(N){continue}if("object"!==typeof v)h&&void 0===v||(b[s]=v);else{if(null===u||"object"!==typeof u)u=b[s]=v instanceof Array?[]:{};A=checkCyclicRef(v,a);-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)}}else for(s in f){try{u=
b[s],v=f[s]}catch(Y){continue}if(null!==v&&"object"===typeof v)if(A=Pa.call(v),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[s]={};A=checkCyclicRef(v,a);-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[s]=[]),A=checkCyclicRef(v,a),-1!==A?u=b[s]=g[A]:Ga(u,v,h,g,a)):b[s]=v;else b[s]=v}return b};a.extend=function(b,f,h){if("object"!==typeof b&&"object"!==typeof f)return null;if("object"!==typeof f||null===f)return b;"object"!==typeof b&&(b=f instanceof
Array?[]:{});Ga(b,f,h);return b};var Ua=a.is=function(b,f){f=qa.call(f);return"finite"==f?!W.hasOwnProperty(+b):f==w?b instanceof Array:"object"!==f||void 0!==b&&null!==b?"null"==f&&null===b||f==typeof b&&null!==b||"object"==f&&b===Object(b)||"array"==f&&Array.isArray&&Array.isArray(b)||Pa.call(b).slice(8,-1).toLowerCase()==f:!1};a.createUUID=function(b,f){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(b,f).toUpperCase()}}(/[xy]/g,function(b){var f=16*Na.random()|0;return("x"==
b?f:f&3|8).toString(16)});a.getElementID=function(b){return"rr-"+b};var ta=a.clone=D?function(b){if(Object(b)!==b)return b;var f=new b.constructor,h;for(h in b)"prototype"!==h&&b.hasOwnProperty(h)&&(f[h]=ta(b[h]));return f}:function(b){if(Object(b)!==b)return b;var f=new b.constructor,h;for(h in b)b.hasOwnProperty(h)&&(f[h]=ta(b[h]));return f};a._g=V;a.type=ba.ENABLE_RED_CANVAS&&(ba.CanvasRenderingContext2D||$.createElement("canvas").getContext)?"CANVAS":ba.SVGAngle||$.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")?"SVG":"VML";if("VML"==a.type){var Ob=$.createElement("div"),Kb;Ob.innerHTML='<v:shape adj="1"/>';Kb=Ob.firstChild;Kb.style.behavior="url(#default#VML)";if(!Kb||"object"!=typeof Kb.adj)return a.type="";Ob=null}a.svg=!((a.vml="VML"==a.type)||(a.canvas="CANVAS"==a.type));a._Paper=ca;a._id=0;a._oid=0;a.angle=function(b,f,h,g,s,u){return null==s?(b-=h,f-=g,b||f?(Na.atan2(-f,-b)*Ta+540)%360:0):a.angle(b,f,s,u)-a.angle(h,g,s,u)};a.rad=function(b){return b%360*wa};a.deg=function(b){return b*Ta%360};
a.snapTo=function(b,f,h){var g;Ua(h,"finite")||(h=10);if(Ua(b,w))for(g=b.length;g--;){if(Ca(b[g]-f)<=h)return b[g]}else{b=+b;g=f%b;if(g<h)return f-g;if(g>b-h)return f-g+b}return f};a.setWindow=function(b){e("raphael.setWindow",a,V.win,b);ba=V.win=b;$=V.doc=V.win.document;a._engine.initWin&&a._engine.initWin(V.win)};var zb=function(b){if(a.vml){var f=/^\s+|\s+$/g,h;try{var g=new ActiveXObject("htmlfile");g.write("<body>");g.close();h=g.body}catch(s){h=createPopup().document.body}var u=h.createTextRange();
zb=vb(function(b){try{h.style.color=ua(b).replace(f,"");var g=u.queryCommandValue("ForeColor");return"#"+("000000"+((g&255)<<16|g&65280|(g&16711680)>>>16).toString(16)).slice(-6)}catch(a){return"none"}})}else{var v=V.doc.createElement("i");v.title="Raphaël Colour Picker";v.style.display="none";V.doc.body.appendChild(v);zb=vb(function(b){v.style.color=b;return V.doc.defaultView.getComputedStyle(v,"").getPropertyValue("color")})}return zb(b)},oc=function(){return"hsb("+[this.h,this.s,this.b]+")"},gc=
function(){return"hsl("+[this.h,this.s,this.l]+")"},xa=function(){return this.hex},dc=function(b,f,h){null==f&&Ua(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(h=b.b,f=b.g,b=b.r);null==f&&Ua(b,"string")&&(h=a.getRGB(b),b=h.r,f=h.g,h=h.b);if(1<b||1<f||1<h)b/=255,f/=255,h/=255;return[b,f,h]},rc=function(b,f,h,g){var s={r:b*=255,g:f*=255,b:h*=255,hex:a.rgb(b,f,h),toString:xa};Ua(g,"finite")&&(s.opacity=g);return s};a.color=function(b){var f;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(f=a.hsb2rgb(b),b.r=
f.r,b.g=f.g,b.b=f.b,b.hex=f.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(f=a.hsl2rgb(b),b.r=f.r,b.g=f.g,b.b=f.b,b.hex=f.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(f=a.rgb2hsl(b),b.h=f.h,b.s=f.s,b.l=f.l,f=a.rgb2hsb(b),b.v=f.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1));b.toString=xa;return b};a.hsb2rgb=function(b,f,h,g){this.is(b,"object")&&"h"in b&&"s"in b&&"b"in b&&(h=b.b,f=b.s,b=b.h,g=b.o);var a,s,u;b=360*b%360/60;u=h*f;f=u*(1-Ca(b%2-1));h=a=
s=h-u;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];s+=[0,0,f,u,u,f][b];return rc(h,a,s,g)};a.hsl2rgb=function(b,f,h,g){this.is(b,"object")&&"h"in b&&"s"in b&&"l"in b&&(h=b.l,f=b.s,b=b.h);if(1<b||1<f||1<h)b/=360,f/=100,h/=100;var a,s,u;b=360*b%360/60;u=2*f*(.5>h?h:1-h);f=u*(1-Ca(b%2-1));h=a=s=h-u/2;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];s+=[0,0,f,u,u,f][b];return rc(h,a,s,g)};a.rgb2hsb=function(b,f,h){h=dc(b,f,h);b=h[0];f=h[1];h=h[2];var g,a;g=la(b,f,h);a=g-oa(b,f,h);b=((0==a?null:g==b?(f-
h)/a:g==f?(h-b)/a+2:(b-f)/a+4)+360)%6*60/360;return{h:b,s:0==a?0:a/g,b:g,toString:oc}};a.rgb2hsl=function(b,f,h){h=dc(b,f,h);b=h[0];f=h[1];h=h[2];var g,a,s;g=la(b,f,h);a=oa(b,f,h);s=g-a;b=((0==s?null:g==b?(f-h)/s:g==f?(h-b)/s+2:(b-f)/s+4)+360)%6*60/360;g=(g+a)/2;return{h:b,s:0==s?0:.5>g?s/(2*g):s/(2-2*g),l:g,toString:gc}};a._path2string=function(){return this.join(",").replace(N,"$1")};var vb=a._cacher=function(b,f,h){function g(){var a=H.call(arguments,0),s=a.join("␀"),u=g.cache=g.cache||{},v=g.count=
g.count||[];if(u.hasOwnProperty(s)){a:for(var a=v,v=s,A=0,N=a.length;A<N;A++)if(a[A]===v){a.push(a.splice(A,1)[0]);break a}return h?h(u[s]):u[s]}1E3<=v.length&&delete u[v.shift()];v.push(s);u[s]=b[Q](f,a);return h?h(u[s]):u[s]}return g};a._preload=function(b,f){var h=$.createElement("img");h.style.cssText="position:absolute;left:-9999em;top:-9999em";h.onload=function(){f.call(this);this.onload=null;$.body.removeChild(this)};h.onerror=function(){$.body.removeChild(this)};$.body.appendChild(h);h.src=
b};a.getRGB=vb(function(b){var h,g,s,v,A;b&&Ua(b,"object")&&"opacity"in b&&(h=b.opacity);if(!b||(b=ua(b)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:m};if("none"==b)return{r:-1,g:-1,b:-1,hex:"none",toString:m};!ja.hasOwnProperty(b.toLowerCase().substring(0,2))&&"#"!==b.charAt()&&(b=zb(b));if(b=b.match(f)){b[2]&&(v=U(b[2].substring(5),16),s=U(b[2].substring(3,5),16),g=U(b[2].substring(1,3),16));b[3]&&(v=U((A=b[3].charAt(3))+A,16),s=U((A=b[3].charAt(2))+A,16),g=U((A=b[3].charAt(1))+
A,16));b[4]&&(A=b[4].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"rgba"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100));if(b[5])return A=b[5].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsba"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),
A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsb2rgb(g,s,v,h);if(b[6])return A=b[6].split(u),g=Ha(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),s=Ha(A[1]),"%"==A[1].slice(-1)&&(s*=2.55),v=Ha(A[2]),"%"==A[2].slice(-1)&&(v*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsla"==b[1].toLowerCase().slice(0,4)&&(h=Ha(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsl2rgb(g,s,v,h);b={r:g,g:s,b:v,toString:m};b.hex="#"+(16777216|v|s<<8|g<<16).toString(16).slice(1);a.is(h,"finite")&&(b.opacity=h);return b}return{r:-1,
g:-1,b:-1,hex:"none",error:1,toString:m}},a);a.tintshade=vb(function(b,f){var h=a.getRGB(b),g;g=255;0>f&&(f*=-1,g=0);1<f&&(f=1);g=0===f?h:{r:g-(g-h.r)*f,g:g-(g-h.g)*f,b:g-(g-h.b)*f,toString:m};g.hex=a.rgb(g.r,g.g,g.b);h.error&&(g.error=h.error);"opacity"in h?(g.rgba="rgba("+[g.r,g.g,g.b,h.opacity].join()+")",g.opacity=h.opacity):g.rgba="rgb("+[g.r,g.g,g.b].join()+")";return g},a);a.hsb=vb(function(b,f,h){return a.hsb2rgb(b,f,h).hex});a.hsl=vb(function(b,f,h){return a.hsl2rgb(b,f,h).hex});a.rgb=vb(function(b,
f,h){return"#"+(16777216|h|f<<8|b<<16).toString(16).slice(1)});a.getColor=function(b){b=this.getColor.start=this.getColor.start||{h:0,s:1,b:b||.75};var f=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075;1<b.h&&(b.h=0,b.s-=.2,0>=b.s&&(this.getColor.start={h:0,s:1,b:b.b}));return f.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=function(b){if(!b)return null;var f=Yb(b);if(f.arr)return Ab(f.arr);var h={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},g=[];a.is(b,w)&&a.is(b[0],w)&&(g=Ab(b));g.length||
ua(b).replace(L,function(b,f,a){var s=[];b=f.toLowerCase();a.replace(S,function(b,f){f&&s.push(+f)});"m"==b&&2<s.length&&(g.push([f].concat(s.splice(0,2))),b="l",f="m"==f?"l":"L");if("r"==b)g.push([f].concat(s));else for(;s.length>=h[b]&&(g.push([f].concat(s.splice(0,h[b]))),h[b]););});g.toString=a._path2string;f.arr=Ab(g);return g};a.parseTransformString=vb(function(b){if(!b)return null;var f=[];a.is(b,w)&&a.is(b[0],w)&&(f=Ab(b));f.length||ua(b).replace(O,function(b,h,g){var a=[];qa.call(h);g.replace(S,
function(b,f){f&&a.push(+f)});f.push([h].concat(a))});f.toString=a._path2string;return f});var Yb=function(b){var f=Yb.ps=Yb.ps||{};f[b]?f[b].sleep=100:f[b]={sleep:100};setTimeout(function(){for(var h in f)f.hasOwnProperty(h)&&h!=b&&(f[h].sleep--,!f[h].sleep&&delete f[h])});return f[b]};a.findDotsAtSegment=function(b,f,h,g,a,s,u,v,A){var N=1-A,Y=Fa(N,3),d=Fa(N,2),c=A*A,L=c*A,O=Y*b+3*d*A*h+3*N*A*A*a+L*u,Y=Y*f+3*d*A*g+3*N*A*A*s+L*v,d=b+2*A*(h-b)+c*(a-2*h+b),L=f+2*A*(g-f)+c*(s-2*g+f),l=h+2*A*(a-h)+c*
(u-2*a+h),c=g+2*A*(s-g)+c*(v-2*s+g);b=N*b+A*h;f=N*f+A*g;a=N*a+A*u;s=N*s+A*v;v=90-180*Na.atan2(d-l,L-c)/Ia;(d>l||L<c)&&(v+=180);return{x:O,y:Y,m:{x:d,y:L},n:{x:l,y:c},start:{x:b,y:f},end:{x:a,y:s},alpha:v}};a.bezierBBox=function(b,f,h,g,s,u,v,A){a.is(b,"array")||(b=[b,f,h,g,s,u,v,A]);b=va.apply(null,b);return{x:b.min.x,y:b.min.y,x2:b.max.x,y2:b.max.y,width:b.max.x-b.min.x,height:b.max.y-b.min.y}};a.isPointInsideBBox=function(b,f,h){return f>=b.x&&f<=b.x2&&h>=b.y&&h<=b.y2};a.isBBoxIntersect=function(b,
f){var h=a.isPointInsideBBox;return h(f,b.x,b.y)||h(f,b.x2,b.y)||h(f,b.x,b.y2)||h(f,b.x2,b.y2)||h(b,f.x,f.y)||h(b,f.x2,f.y)||h(b,f.x,f.y2)||h(b,f.x2,f.y2)||(b.x<f.x2&&b.x>f.x||f.x<b.x2&&f.x>b.x)&&(b.y<f.y2&&b.y>f.y||f.y<b.y2&&f.y>b.y)};a.pathIntersection=function(b,f){return z(b,f)};a.pathIntersectionNumber=function(b,f){return z(b,f,1)};a.isPointInsidePath=function(b,f,h){var g=a.pathBBox(b);return a.isPointInsideBBox(g,f,h)&&(1==z(b,[["M",f,h],["H",g.x2+10]],1)%2||1==z(b,[["M",f,h],["V",g.y2+10]],
1)%2)};a._removedFactory=function(b){return function(){e("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var nc=a.pathBBox=function(b){var f=Yb(b);if(!b)return{x:0,y:0,width:0,height:0,x2:0,y2:0};b=ka(b);for(var h=0,g=0,a=[],s=[],u,v=0,A=b.length;v<A;v++)u=b[v],"M"==u[0]?(h=u[1],g=u[2],a.push(h),s.push(g)):(h=va(h,g,u[1],u[2],u[3],u[4],u[5],u[6]),a=a.concat(h.min.x,h.max.x),s=s.concat(h.min.y,h.max.y),h=u[5],g=u[6]);b=oa[Q](0,a);u=oa[Q](0,s);a=la[Q](0,a);s=la[Q](0,
s);s={x:b,y:u,x2:a,y2:s,width:a-b,height:s-u};f.bbox=ta(s);return s},Ab=function(b){b=ta(b);b.toString=a._path2string;return b},ya=a._pathToRelative=function(b){var f=Yb(b);if(f.rel)return Ab(f.rel);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));var h=[],g=0,s=0,u=0,v=0,A=0;"M"==b[0][0]&&(g=b[0][1],s=b[0][2],u=g,v=s,A++,h.push(["M",g,s]));for(var N=b.length;A<N;A++){var Y=h[A]=[],d=b[A];if(d[0]!=qa.call(d[0]))switch(Y[0]=qa.call(d[0]),Y[0]){case "a":Y[1]=d[1];Y[2]=d[2];Y[3]=d[3];Y[4]=d[4];Y[5]=
d[5];Y[6]=+(d[6]-g).toFixed(3);Y[7]=+(d[7]-s).toFixed(3);break;case "v":Y[1]=+(d[1]-s).toFixed(3);break;case "m":u=d[1],v=d[2];default:for(var c=1,L=d.length;c<L;c++)Y[c]=+(d[c]-(c%2?g:s)).toFixed(3)}else for(h[A]=[],"m"==d[0]&&(u=d[1]+g,v=d[2]+s),Y=0,c=d.length;Y<c;Y++)h[A][Y]=d[Y];d=h[A].length;switch(h[A][0]){case "z":g=u;s=v;break;case "h":g+=+h[A][d-1];break;case "v":s+=+h[A][d-1];break;default:g+=+h[A][d-2],s+=+h[A][d-1]}}h.toString=a._path2string;f.rel=Ab(h);return h},Aa=a._pathToAbsolute=
function(b){var f=Yb(b),h;if(f.abs)return Ab(f.abs);a.is(b,w)&&a.is(b&&b[0],w)||(b=a.parsePathString(b));if(!b||!b.length)return h=["M",0,0],h.toString=a._path2string,h;var g=0,s=0,u=0,v=0,A=0;h=[];"M"==b[0][0]&&(g=+b[0][1],s=+b[0][2],u=g,v=s,A++,h[0]=["M",g,s]);for(var N=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),Y,d=A,c=b.length;d<c;d++){h.push(A=[]);Y=b[d];if(Y[0]!=Oa.call(Y[0]))switch(A[0]=Oa.call(Y[0]),A[0]){case "A":A[1]=Y[1];A[2]=Y[2];A[3]=Y[3];A[4]=Y[4];
A[5]=Y[5];A[6]=+(Y[6]+g);A[7]=+(Y[7]+s);break;case "V":A[1]=+Y[1]+s;break;case "H":A[1]=+Y[1]+g;break;case "R":for(var L=[g,s].concat(Y.slice(1)),O=2,l=L.length;O<l;O++)L[O]=+L[O]+g,L[++O]=+L[O]+s;h.pop();h=h.concat(J(L,N));break;case "M":u=+Y[1]+g,v=+Y[2]+s;default:for(O=1,l=Y.length;O<l;O++)A[O]=+Y[O]+(O%2?g:s)}else if("R"==Y[0])L=[g,s].concat(Y.slice(1)),h.pop(),h=h.concat(J(L,N)),A=["R"].concat(Y.slice(-2));else for(L=0,O=Y.length;L<O;L++)A[L]=Y[L];switch(A[0]){case "Z":g=u;s=v;break;case "H":g=
A[1];break;case "V":s=A[1];break;case "M":u=A[A.length-2],v=A[A.length-1];default:g=A[A.length-2],s=A[A.length-1]}}h.toString=a._path2string;f.abs=Ab(h);return h},ma=function(b,f,h,g){return[b,f,h,g,h,g]},Ka=function(b,f,h,g,a,s){var u=1/3,v=2/3;return[u*b+v*h,u*f+v*g,u*a+v*h,u*s+v*g,a,s]},sc=function(b,f,h,g,a,s,u,v,A,N){var Y=120*Ia/180,d=wa*(+a||0),c=[],L,O=vb(function(b,f,h){var g=b*na(h)-f*ra(h);b=b*ra(h)+f*na(h);return{x:g,y:b}});if(N)pa=N[0],L=N[1],s=N[2],l=N[3];else{L=O(b,f,-d);b=L.x;f=L.y;
L=O(v,A,-d);v=L.x;A=L.y;na(wa*a);ra(wa*a);L=(b-v)/2;pa=(f-A)/2;l=L*L/(h*h)+pa*pa/(g*g);1<l&&(l=Da(l),h*=l,g*=l);var l=h*h,e=g*g,l=(s==u?-1:1)*Da(Ca((l*e-l*pa*pa-e*L*L)/(l*pa*pa+e*L*L)));s=l*h*pa/g+(b+v)/2;var l=l*-g*L/h+(f+A)/2,pa=Na.asin(((f-l)/g).toFixed(9));L=Na.asin(((A-l)/g).toFixed(9));pa=b<s?Ia-pa:pa;L=v<s?Ia-L:L;0>pa&&(pa=2*Ia+pa);0>L&&(L=2*Ia+L);u&&pa>L&&(pa-=2*Ia);!u&&L>pa&&(L-=2*Ia)}if(Ca(L-pa)>Y){var c=L,e=v,S=A;L=pa+Y*(u&&L>pa?1:-1);v=s+h*na(L);A=l+g*ra(L);c=sc(v,A,h,g,a,0,u,e,S,[L,c,
s,l])}s=L-pa;a=na(pa);Y=ra(pa);u=na(L);L=ra(L);s=Na.tan(s/4);h=4/3*h*s;s*=4/3*g;g=[b,f];b=[b+h*Y,f-s*a];f=[v+h*L,A-s*u];v=[v,A];b[0]=2*g[0]-b[0];b[1]=2*g[1]-b[1];if(N)return[b,f,v].concat(c);c=[b,f,v].concat(c).join().split(",");N=[];v=0;for(A=c.length;v<A;v++)N[v]=v%2?O(c[v-1],c[v],d).y:O(c[v],c[v+1],d).x;return N},ec=function(b,f,h,g,a,s,u,v,A){var N=1-A;return{x:Fa(N,3)*b+3*Fa(N,2)*A*h+3*N*A*A*a+Fa(A,3)*u,y:Fa(N,3)*f+3*Fa(N,2)*A*g+3*N*A*A*s+Fa(A,3)*v}},va=vb(function(b,f,h,g,a,s,u,v){var A=a-2*
h+b-(u-2*a+h),N=2*(h-b)-2*(a-h),Y=b-h,d=(-N+Da(N*N-4*A*Y))/2/A,A=(-N-Da(N*N-4*A*Y))/2/A,L=[f,v],c=[b,u];"1e12"<Ca(d)&&(d=.5);"1e12"<Ca(A)&&(A=.5);0<d&&1>d&&(d=ec(b,f,h,g,a,s,u,v,d),c.push(d.x),L.push(d.y));0<A&&1>A&&(d=ec(b,f,h,g,a,s,u,v,A),c.push(d.x),L.push(d.y));A=s-2*g+f-(v-2*s+g);N=2*(g-f)-2*(s-g);Y=f-g;d=(-N+Da(N*N-4*A*Y))/2/A;A=(-N-Da(N*N-4*A*Y))/2/A;"1e12"<Ca(d)&&(d=.5);"1e12"<Ca(A)&&(A=.5);0<d&&1>d&&(d=ec(b,f,h,g,a,s,u,v,d),c.push(d.x),L.push(d.y));0<A&&1>A&&(d=ec(b,f,h,g,a,s,u,v,A),c.push(d.x),
L.push(d.y));return{min:{x:oa[Q](0,c),y:oa[Q](0,L)},max:{x:la[Q](0,c),y:la[Q](0,L)}}}),ka=a._path2curve=vb(function(b,f){var h=!f&&Yb(b);if(!f&&h.curve)return Ab(h.curve);var g=Aa(b),a=f&&Aa(f),s={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},u={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},v=function(b,f){var h,g;if(!b)return["C",f.x,f.y,f.x,f.y,f.x,f.y];b[0]in{T:1,Q:1}||(f.qx=f.qy=null);switch(b[0]){case "M":f.X=b[1];f.Y=b[2];break;case "A":b=["C"].concat(sc[Q](0,[f.x,f.y].concat(b.slice(1))));break;
case "S":h=f.x+(f.x-(f.bx||f.x));g=f.y+(f.y-(f.by||f.y));b=["C",h,g].concat(b.slice(1));break;case "T":f.qx=f.x+(f.x-(f.qx||f.x));f.qy=f.y+(f.y-(f.qy||f.y));b=["C"].concat(Ka(f.x,f.y,f.qx,f.qy,b[1],b[2]));break;case "Q":f.qx=b[1];f.qy=b[2];b=["C"].concat(Ka(f.x,f.y,b[1],b[2],b[3],b[4]));break;case "L":b=["C"].concat(ma(f.x,f.y,b[1],b[2]));break;case "H":b=["C"].concat(ma(f.x,f.y,b[1],f.y));break;case "V":b=["C"].concat(ma(f.x,f.y,f.x,b[1]));break;case "Z":b=["C"].concat(ma(f.x,f.y,f.X,f.Y))}return b},
A=function(b,f){if(7<b[f].length){b[f].shift();for(var h=b[f];h.length;)b.splice(f++,0,["C"].concat(h.splice(0,6)));b.splice(f,1);d=la(g.length,a&&a.length||0)}},N=function(b,f,h,s,u){b&&f&&"M"==b[u][0]&&"M"!=f[u][0]&&(f.splice(u,0,["M",s.x,s.y]),h.bx=0,h.by=0,h.x=b[u][1],h.y=b[u][2],d=la(g.length,a&&a.length||0))},Y=0,d=la(g.length,a&&a.length||0);for(;Y<d;Y++){g[Y]=v(g[Y],s);A(g,Y);a&&(a[Y]=v(a[Y],u));a&&A(a,Y);N(g,a,s,u,Y);N(a,g,u,s,Y);var L=g[Y],c=a&&a[Y],O=L.length,l=a&&c.length;s.x=L[O-2];s.y=
L[O-1];s.bx=Ha(L[O-4])||s.x;s.by=Ha(L[O-3])||s.y;u.bx=a&&(Ha(c[l-4])||u.x);u.by=a&&(Ha(c[l-3])||u.y);u.x=a&&c[l-2];u.y=a&&c[l-1]}a||(h.curve=Ab(g));return a?[g,a]:g},null,Ab);a._parseDots=vb(function(b){for(var f=[],h=0,g=b.length;h<g;h++){var s={},u=b[h].match(/^([^:]*):?([\d\.]*)/);s.color=a.getRGB(u[1]);if(s.color.error)return null;s.opacity=s.color.opacity;s.color=s.color.hex;u[2]&&(s.offset=u[2]+"%");f.push(s)}h=1;for(g=f.length-1;h<g;h++)if(!f[h].offset){b=Ha(f[h-1].offset||0);u=0;for(s=h+1;s<
g;s++)if(f[s].offset){u=f[s].offset;break}u||(u=100,s=g);u=Ha(u);for(u=(u-b)/(s-h+1);h<s;h++)b+=u,f[h].offset=b+"%"}return f});var sa=a._tear=function(b,f){b==f.top&&(f.top=b.prev);b==f.bottom&&(f.bottom=b.next);b.next&&(b.next.prev=b.prev);b.prev&&(b.prev.next=b.next)};a._tofront=function(b,f){if(f.top===b)return!1;sa(b,f);b.next=null;b.prev=f.top;f.top.next=b;f.top=b;return!0};a._toback=function(b,f){if(f.bottom===b)return!1;sa(b,f);b.next=f.bottom;b.prev=null;f.bottom.prev=b;f.bottom=b;return!0};
a._insertafter=function(b,f,h,g){sa(b,h);b.parent=g;f===g.top&&(g.top=b);f.next&&(f.next.prev=b);b.next=f.next;b.prev=f;f.next=b};a._insertbefore=function(b,f,h,g){sa(b,h);b.parent=g;f===g.bottom&&(g.bottom=b);f.prev&&(f.prev.next=b);b.prev=f.prev;f.prev=b;b.next=f};var xc=a.toMatrix=function(b,f){var h=nc(b),g={_:{transform:""},getBBox:function(){return h}};Va(g,f);return g.matrix};a.transformPath=function(b,f){return h(b,xc(b,f))};var Va=a._extractTransform=function(b,f){if(null==f)return b._.transform;
f=ua(f).replace(/\.{3}|\u2026/g,b._.transform||"");var h=a.parseTransformString(f),g=0,s=0,u=0,v=1,A=1,N=b._,u=new G;N.transform=h||[];if(h)for(var s=0,Y=h.length;s<Y;s++){var d=h[s],L=d.length,c=ua(d[0]).toLowerCase(),O=d[0]!=c,l=O?u.invert():0;"t"==c&&3==L?O?(L=l.x(0,0),c=l.y(0,0),O=l.x(d[1],d[2]),l=l.y(d[1],d[2]),u.translate(O-L,l-c)):u.translate(d[1],d[2]):"r"==c?2==L?(l=N.bb||(N.bb=b.getBBox(1)),u.rotate(d[1],l.x+l.width/2,l.y+l.height/2),g+=d[1]):4==L&&(O?(O=l.x(d[2],d[3]),l=l.y(d[2],d[3]),
u.rotate(d[1],O,l)):u.rotate(d[1],d[2],d[3]),g+=d[1]):"s"==c?2==L||3==L?(l=N.bb||(N.bb=b.getBBox(1)),u.scale(d[1],d[L-1],l.x+l.width/2,l.y+l.height/2),v*=d[1],A*=d[L-1]):5==L&&(O?(O=l.x(d[3],d[4]),l=l.y(d[3],d[4]),u.scale(d[1],d[2],O,l)):u.scale(d[1],d[2],d[3],d[4]),v*=d[1],A*=d[2]):"m"==c&&7==L&&u.add(d[1],d[2],d[3],d[4],d[5],d[6]);N.dirtyT=1;b.matrix=u}b.matrix=u;N.sx=v;N.sy=A;N.deg=g;N.dx=s=u.e;N.dy=u=u.f;1==v&&1==A&&!g&&N.bbox?(N.bbox.x+=+s,N.bbox.y+=+u):N.dirtyT=1},Sb=function(b){var f=b[0];
switch(f.toLowerCase()){case "t":return[f,0,0];case "m":return[f,1,0,0,1,0,0];case "r":return 4==b.length?[f,0,b[2],b[3]]:[f,0];case "s":return 5==b.length?[f,1,1,b[3],b[4]]:3==b.length?[f,1,1]:[f,1]}},yc=a._equaliseTransform=function(b,f){f=ua(f).replace(/\.{3}|\u2026/g,b);b=a.parseTransformString(b)||[];f=a.parseTransformString(f)||[];for(var h=la(b.length,f.length),g=[],s=[],u=0,v,A,N,Y;u<h;u++){N=b[u]||Sb(f[u]);Y=f[u]||Sb(N);if(N[0]!=Y[0]||"r"==N[0].toLowerCase()&&(N[2]!=Y[2]||N[3]!=Y[3])||"s"==
N[0].toLowerCase()&&(N[3]!=Y[3]||N[4]!=Y[4]))return;g[u]=[];s[u]=[];v=0;for(A=la(N.length,Y.length);v<A;v++)v in N&&(g[u][v]=N[v]),v in Y&&(s[u][v]=Y[v])}return{from:g,to:s}};a._getContainer=function(b,f,h,g){var s;s=null!=g||a.is(b,"object")?b:V.doc.getElementById(b);if(null!=s)return s.tagName?null==f?{container:s,width:s.style.pixelWidth||s.offsetWidth,height:s.style.pixelHeight||s.offsetHeight}:{container:s,width:f,height:h}:{container:1,x:b,y:f,width:h,height:g}};a.pathToRelative=ya;a._engine=
{};a.path2curve=ka;a.matrix=function(b,f,h,g,a,s){return new G(b,f,h,g,a,s)};(function(b){function f(b){return b[0]*b[0]+b[1]*b[1]}function h(b){var g=Da(f(b));b[0]&&(b[0]/=g);b[1]&&(b[1]/=g)}b.add=function(b,f,h,g,a,s){var u=[[],[],[]],v=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];f=[[b,h,a],[f,g,s],[0,0,1]];b&&b instanceof G&&(f=[[b.a,b.c,b.e],[b.b,b.d,b.f],[0,0,1]]);for(b=0;3>b;b++)for(h=0;3>h;h++){for(g=a=0;3>g;g++)a+=v[b][g]*f[g][h];u[b][h]=a}this.a=u[0][0];this.b=u[1][0];this.c=
u[0][1];this.d=u[1][1];this.e=u[0][2];this.f=u[1][2]};b.invert=function(){var b=this.a*this.d-this.b*this.c;return new G(this.d/b,-this.b/b,-this.c/b,this.a/b,(this.c*this.f-this.d*this.e)/b,(this.b*this.e-this.a*this.f)/b)};b.clone=function(){return new G(this.a,this.b,this.c,this.d,this.e,this.f)};b.translate=function(b,f){this.add(1,0,0,1,b,f)};b.scale=function(b,f,h,g){null==f&&(f=b);(h||g)&&this.add(1,0,0,1,h,g);this.add(b,0,0,f,0,0);(h||g)&&this.add(1,0,0,1,-h,-g)};b.rotate=function(b,f,h){b=
a.rad(b);f=f||0;h=h||0;var g=+na(b).toFixed(9);b=+ra(b).toFixed(9);this.add(g,b,-b,g,f,h);this.add(1,0,0,1,-f,-h)};b.x=function(b,f){return b*this.a+f*this.c+this.e};b.y=function(b,f){return b*this.b+f*this.d+this.f};b.get=function(b){return+this[ua.fromCharCode(97+b)].toFixed(4)};b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};b.toMatrixString=function(){return"matrix("+
[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"};b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};b.split=function(){var b={};b.dx=this.e;b.dy=this.f;var g=[[this.a,this.c],[this.b,this.d]];b.scalex=Da(f(g[0]));h(g[0]);b.shear=
g[0][0]*g[1][0]+g[0][1]*g[1][1];g[1]=[g[1][0]-g[0][0]*b.shear,g[1][1]-g[0][1]*b.shear];b.scaley=Da(f(g[1]));h(g[1]);b.shear/=b.scaley;var s=-g[0][1],g=g[1][1];0>g?(b.rotate=a.deg(Na.acos(g)),0>s&&(b.rotate=360-b.rotate)):b.rotate=a.deg(Na.asin(s));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};b.toTransformString=function(b){b=
b||this.split();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:"")+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:"")+(b.rotate?"r"+[b.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}})(G.prototype);var fc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);"Apple Computer, Inc."==navigator.vendor&&(fc&&4>fc[1]||"iP"==
navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&fc&&8>fc[1]?ga.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()});return!0}:ga.safari=Qa;for(var zc=function(){this.returnValue=!1},Ba=function(){return this.originalEvent.preventDefault()},eb=function(){this.cancelBubble=!0},za=function(){return this.originalEvent.stopPropagation()},Bb=a.addEvent=function(){if(V.doc.addEventListener)return function(b,f,h,
g){var a=ea&&Ja[f]||f,s;Ja[R[f]]&&(a=Ja[R[f]]);s=function(a){var s=V.doc.documentElement.scrollTop||V.doc.body.scrollTop,u=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft,v;if(ia&&Ja.hasOwnProperty(ea?f:R[f]))for(var A=0,N=a.targetTouches&&a.targetTouches.length;A<N;A++)if(v=a.targetTouches[A].target,v==b||"tspan"==v.nodeName&&v.parentNode==b){v=a;a=a.targetTouches[A];a.originalEvent=v;a.preventDefault=Ba;a.stopPropagation=za;break}return h.call(g,a,a.clientX+u,a.clientY+s)};b.addEventListener(a,
s,!1);return function(){b.removeEventListener(a,s,!1);return!0}};if(V.doc.attachEvent)return function(b,f,h,g){var a=function(b){b=b||V.win.event;var f=b.clientX+(V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft),a=b.clientY+(V.doc.documentElement.scrollTop||V.doc.body.scrollTop);b.preventDefault=b.preventDefault||zc;b.stopPropagation=b.stopPropagation||eb;return h.call(g,b,f,a)};b.attachEvent("on"+f,a);return function(){b.detachEvent("on"+f,a);return!0}}}(),Tb=[],Zb=function(b){for(var f=
b.clientX,h=b.clientY,g=V.doc.documentElement.scrollTop||V.doc.body.scrollTop,s=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft,u,v=Tb.length;v--;){u=Tb[v];if(ia&&"touchmove"===b.type)for(var A=b.touches.length,N;A--;){if(N=b.touches[A],N.identifier==u.el._drag.id){f=N.clientX;h=N.clientY;(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();if(!u.el.removed){var A=a._engine.getNode(u.el),Y=A.nextSibling,d=A.parentNode,L=A.style.display;V.win.opera&&d.removeChild(A);
A.style.display="none";N=u.el.paper.getElementByPoint(f,h);A.style.display=L;V.win.opera&&(Y?d.insertBefore(A,Y):d.appendChild(A));N&&e("raphael.drag.over."+u.el.id,u.el,N);f+=s;h+=g;e("raphael.drag.move."+u.el.id,u.move_scope||u.el,f-u.el._drag.x,h-u.el._drag.y,f,h,b)}}},Ub=function(b){a.undragmove(Zb).undragend(Ub);a.unmousemove(Zb).unmouseup(Ub);for(var f=Tb.length,h;f--;)h=Tb[f],h.el._drag={},e("raphael.drag.end."+h.el.id,h.end_scope||h.start_scope||h.move_scope||h.el,b);Tb=[]},Ea=a.el={},Fb=
Z.length;Fb--;)(function(b){a[b]=Ea[b]=function(f,h){a.is(f,"function")&&(this.events=this.events||[],this.events.push({name:b,f:f,unbind:Bb(this.shape||this.node||V.doc,b,f,h||this)}));return this};a["un"+b]=Ea["un"+b]=function(f){for(var h=this.events||[],g=h.length;g--;)if(h[g].name==b&&h[g].f==f){h[g].unbind();h.splice(g,1);!h.length&&delete this.events;break}return this}})(Z[Fb]);Ea.data=function(b,f){var h=E[this.id]=E[this.id]||{};if(1==arguments.length){if(a.is(b,"object")){for(var g in b)b.hasOwnProperty(g)&&
this.data(g,b[g]);return this}e("raphael.data.get."+this.id,this,h[b],b);return h[b]}h[b]=f;e("raphael.data.set."+this.id,this,f,b);return this};Ea.removeData=function(b){null==b?delete E[this.id]:E[this.id]&&delete E[this.id][b];return this};Ea.getData=function(){return ta(E[this.id]||{})};var Vb=[],bc=function(){this.untrack=Bb(V.doc,"mouseup",hc,this)},hc=function(){this.untrack();this.untrack=null;return this.fn&&this.fn.apply(this.scope||this.el,arguments)};Ea.mouseup=function(b,f,h){if(!h)return a.mouseup.apply(this,
arguments);Vb.push(h={el:this,fn:b,scope:f});h.unbind=Bb(this.shape||this.node||V.doc,"mousedown",bc,h);return this};Ea.unmouseup=function(b){for(var f=Vb.length,h;f--;)Vb[f].el===this&&Vb[f].fn===b&&(h=Vb[f],h.unbind(),h.untrack&&h.untrack(),Vb.splice(f,1));return h?this:a.unmouseup.apply(this,arguments)};Ea.hover=function(b,f,h,g){return this.mouseover(b,h).mouseout(f,g||h)};Ea.unhover=function(b,f){return this.unmouseover(b).unmouseout(f)};var Qb=[];Ea.drag=function(b,f,h,g,s,u){function v(A){var N=
V.doc.documentElement.scrollTop||V.doc.body.scrollTop,Y=V.doc.documentElement.scrollLeft||V.doc.body.scrollLeft;this._drag.x=A.clientX+Y;this._drag.y=A.clientY+N;this._drag.id=A.identifier;ia&&!ea&&!Tb.length&&a.dragmove(Zb).dragend(Ub);!Tb.length&&a.mousemove(Zb).mouseup(Ub);Tb.push({el:this,move_scope:g,start_scope:s,end_scope:u});f&&e.on("raphael.drag.start."+this.id,f);b&&e.on("raphael.drag.move."+this.id,b);h&&e.on("raphael.drag.end."+this.id,h);e("raphael.drag.start."+this.id,s||g||this,A.clientX+
Y,A.clientY+N,A)}this._drag={};Qb.push({el:this,start:v});ia&&!ea&&this.dragstart(v);this.mousedown(v);return this};Ea.onDragOver=function(b){b?e.on("raphael.drag.over."+this.id,b):e.unbind("raphael.drag.over."+this.id)};Ea.undrag=function(){for(var b=Qb.length;b--;)Qb[b].el==this&&(this.unmousedown(Qb[b].start),Qb.splice(b,1),e.unbind("raphael.drag.*."+this.id));!Qb.length&&a.unmousemove(Zb).unmouseup(Ub);delete this._drag};Ea.follow=function(b,f,h){if(b.removed||b.constructor!==a.el.constructor)return this;
b.followers.push({el:this,stalk:h={before:"insertBefore",after:"insertAfter"}[h],cb:f});h&&this[h](b);return this};Ea.unfollow=function(b){if(b.removed||b.constructor!==a.el.constructor)return this;for(var f=0,h=b.followers.length;f<h;f++)if(b.followers[f].el===this){b.followers.splice(f,1);break}return this};ga.hide=function(){this.canvas.style.visibility="hidden";return this};ga.show=function(){this.canvas.style.visibility="";return this};ga.group=function(){var b=arguments,f=pa(b,!0),b=a._engine.group(this,
b[0],f);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ga.circle=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"cx",0,"cy",0,"r",0,"fill","none","stroke","#000"),f=a._engine.circle(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.rect=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"width",0,"height",0,"r",0,"fill","none","stroke","#000"),f=a._engine.rect(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};
ga.ellipse=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"rx",0,"ry",0,"fill","none","stroke","#000"),f=a._engine.ellipse(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.path=function(){var b=arguments,f=pa(b,!0),h=this.config,b=Ma(b,"path","","fill","none","stroke","#000","stroke-linecap",h&&h["stroke-linecap"]||"butt"),f=a._engine.path(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.image=function(){var b=arguments,
f=pa(b,!0),b=Ma(b,"src","","x",0,"y",0,"width",0,"height",0);out=a._engine.image(this,b,f);return this.__set__&&this.__set__.push(out),this._elementsById[out.id]=out};ga.text=function(){var b=arguments,f=pa(b,!0),b=Ma(b,"x",0,"y",0,"text","","stroke","none","fill","#000","text-anchor","middle","vertical-align","middle"),f=a._engine.text(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ga.set=function(b){!a.is(b,"array")&&(b=F.call(arguments,0,arguments.length));var f=
new Za(b);this.__set__&&this.__set__.push(f);return f};ga.setConfig=function(b,f){void 0!==b&&void 0!==f&&(this.config=this.config||{},this.config[b]=f);return this.config};ga.setStart=function(b){this.__set__=b||this.set()};ga.setFinish=function(b){b=this.__set__;delete this.__set__;return b};ga.setSize=function(b,f){return a._engine.setSize.call(this,b,f)};ga.setDimension=function(b,f){"object"===typeof b?this.setSize(b.width,b.height):this.setSize(b,f)};ga.attr=function(b){if(null==b)return{width:this.width,
height:this.height};if(a.is(b,"string"))return this[b];this.setDimension(b);return this};ga.status=function(b,f){return Ea.status.call(this,b,f)};ga.animateWith=function(b,f,h,g,a,s){return Ea.animateWith.call(this,b,f,h,g,a,s)};ga.animate=function(b,f,h,g){return Ea.animate.call(this,b,f,h,g)};ga.setViewBox=function(b,f,h,g,s){return a._engine.setViewBox.call(this,b,f,h,g,s)};ga.top=ga.bottom=null;ga.raphael=a;ga.getElementByPoint=function(b,f){var h,g,a=this.canvas,s=V.doc.elementFromPoint(b,f);
if(V.win.opera&&"svg"==s.tagName){g=a.getBoundingClientRect();h=a.ownerDocument;var u=h.body,v=h.documentElement;h=g.top+(V.win.pageYOffset||v.scrollTop||u.scrollTop)-(v.clientTop||u.clientTop||0);g=g.left+(V.win.pageXOffset||v.scrollLeft||u.scrollLeft)-(v.clientLeft||u.clientLeft||0);u=a.createSVGRect();u.x=b-g;u.y=f-h;u.width=u.height=1;h=a.getIntersectionList(u,null);h.length&&(s=h[h.length-1])}if(!s)return null;for(;s.parentNode&&s!=a.parentNode&&!s.raphael;)s=s.parentNode;s==this.canvas.parentNode&&
(s=a);return s=s&&s.raphael?this.getById(s.raphaelid):null};ga.getElementsByBBox=function(b){var f=this.set();this.forEach(function(h){a.isBBoxIntersect(h.getBBox(),b)&&f.push(h)});return f};ga.getById=function(b){return this._elementsById[b]||null};ga.forEach=function(b,f){for(var h=this.bottom;h&&!1!==b.call(f,h);)h=h.next;return this};ga.getElementsByPoint=function(b,f){var h=this.set();this.forEach(function(g){g.isPointInside(b,f)&&h.push(g)});return h};Ea.isPointInside=function(b,f){var h=this.realPath=
this.realPath||Y[this.type](this),g;return a.isPointInsidePath((g=this.attr("transform"))&&g.length&&a.transformPath(h,g)||h,b,f)};Ea.getBBox=function(b){if(this.removed)return{};var f=this._;if(b){if(f.dirty||!f.bboxwt)this.realPath=Y[this.type](this),f.bboxwt=nc(this.realPath),f.bboxwt.toString=q,f.dirty=0;return f.bboxwt}if(f.dirty||f.dirtyT||!f.bbox){if(f.dirty||!this.realPath)f.bboxwt=0,this.realPath=Y[this.type](this);f.bbox=nc(h(this.realPath,this.matrix));f.bbox.toString=q;f.dirty=f.dirtyT=
0}return f.bbox};Ea.clone=function(){if(this.removed)return null;var b=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(b);return b};Ea.glow=function(b){if("text"==this.type)return null;b=b||{};var f=(b.width||10)+(+this.attr("stroke-width")||1),g=b.fill||!1,a=b.opacity||.5,s=b.offsetx||0,u=b.offsety||0;b=b.color||"#000";for(var v=f/2,A=this.paper,N=A.set(),d=this.realPath||Y[this.type](this),d=this.matrix?h(d,this.matrix):d,L=1;L<v+1;L++)N.push(A.path(d).attr({stroke:b,fill:g?
b:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(f/v*L).toFixed(3),opacity:+(a/v).toFixed(3)}));return N.insertBefore(this).translate(s,u)};var Rb=function(b,f,h,g,s,u,v,A,N){return null==N?I(b,f,h,g,s,u,v,A):a.findDotsAtSegment(b,f,h,g,s,u,v,A,n(b,f,h,g,s,u,v,A,N))},yb=function(b,f){return function(h,g,s){h=ka(h);for(var u,v,A,N,Y="",d={},L=0,c=0,O=h.length;c<O;c++){A=h[c];if("M"==A[0])u=+A[1],v=+A[2];else{N=Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6]);if(L+N>g){if(f&&!d.start){u=
Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6],g-L);Y+=["C"+u.start.x,u.start.y,u.m.x,u.m.y,u.x,u.y];if(s)return Y;d.start=Y;Y=["M"+u.x,u.y+"C"+u.n.x,u.n.y,u.end.x,u.end.y,A[5],A[6]].join();L+=N;u=+A[5];v=+A[6];continue}if(!b&&!f)return u=Rb(u,v,A[1],A[2],A[3],A[4],A[5],A[6],g-L),{x:u.x,y:u.y,alpha:u.alpha}}L+=N;u=+A[5];v=+A[6]}Y+=A.shift()+A}d.end=Y;u=b?L:f?d:a.findDotsAtSegment(u,v,A[0],A[1],A[2],A[3],A[4],A[5],1);u.alpha&&(u={x:u.x,y:u.y,alpha:u.alpha});return u}},bb=yb(1),cb=yb(),$a=yb(0,1);a.getTotalLength=
bb;a.getPointAtLength=cb;a.getSubpath=function(b,f,h){if(1E-6>this.getTotalLength(b)-h)return $a(b,f).end;b=$a(b,h,1);return f?$a(b,f).end:b};Ea.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():bb(this.attrs.path)};Ea.getPointAtLength=function(b){if("path"==this.type)return cb(this.attrs.path,b)};Ea.getSubpath=function(b,f){if("path"==this.type)return a.getSubpath(this.attrs.path,b,f)};var Sa=a.easing_formulas={linear:function(b){return b},
"<":function(b){return Fa(b,1.7)},">":function(b){return Fa(b,.48)},"<>":function(b){var f=.48-b/1.04,h=Da(.1734+f*f);b=h-f;b=Fa(Ca(b),1/3)*(0>b?-1:1);f=-h-f;f=Fa(Ca(f),1/3)*(0>f?-1:1);b=b+f+.5;return 3*(1-b)*b*b+b*b*b},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){--b;return b*b*(2.70158*b+1.70158)+1},elastic:function(b){return b==!!b?b:Fa(2,-10*b)*ra(2*(b-.075)*Ia/.3)+1},bounce:function(b){b<1/2.75?b*=7.5625*b:b<2/2.75?(b-=1.5/2.75,b=7.5625*b*b+.75):b<2.5/2.75?(b-=2.25/
2.75,b=7.5625*b*b+.9375):(b-=2.625/2.75,b=7.5625*b*b+.984375);return b}};Sa.easeIn=Sa["ease-in"]=Sa["<"];Sa.easeOut=Sa["ease-out"]=Sa[">"];Sa.easeInOut=Sa["ease-in-out"]=Sa["<>"];Sa["back-in"]=Sa.backIn;Sa["back-out"]=Sa.backOut;var Ra=[],Ya=k.requestAnimationFrame||k.webkitRequestAnimationFrame||k.mozRequestAnimationFrame||k.oRequestAnimationFrame||k.msRequestAnimationFrame||function(b){setTimeout(b,16)},db=function(){for(var b=+new Date,f=0;f<Ra.length;f++){var h=Ra[f];if(!(h.el.removed||h.paused||
h.parentEl&&h.parentEl.e.paused)){var g=b-h.start,s=h.ms,u=h.easing,v=h.from,A=h.diff,N=h.to,Y=h.el,d={},L,c={},O=!1!==a.stopEvent,pa;h.initstatus?(g=(h.initstatus*h.anim.top-h.prev)/(h.percent-h.prev)*s,h.status=h.initstatus,delete h.initstatus,h.stop&&(delete h.el,Ra.splice(f--,1))):h.status=(h.prev+g/s*(h.percent-h.prev))/h.anim.top;if(!(0>g))if(g<s){var S=u(g/s),W;for(W in v)if(v.hasOwnProperty(W)){switch(K[W]){case l:L=+v[W]+S*s*A[W];break;case "colour":L="rgb("+[fb(ha(v[W].r+S*s*A[W].r)),fb(ha(v[W].g+
S*s*A[W].g)),fb(ha(v[W].b+S*s*A[W].b))].join()+")";break;case "path":L=[];g=0;for(u=v[W].length;g<u;g++){L[g]=[v[W][g][0]];N=1;for(c=v[W][g].length;N<c;N++)L[g][N]=(+v[W][g][N]+S*s*A[W][g][N]).toFixed(4);L[g]=L[g].join(" ")}L=L.join(" ");break;case "transform":if(A[W].real)for(L=[],g=0,u=v[W].length;g<u;g++)for(L[g]=[v[W][g][0]],N=1,c=v[W][g].length;N<c;N++)L[g][N]=v[W][g][N]+S*s*A[W][g][N];else L=function(b){return+v[W][b]+S*s*A[W][b]},L=[["m",L(0),L(1),L(2),L(3),L(4),L(5)]];break;case "csv":if("clip-rect"==
W)for(L=[],g=4;g--;)L[g]=+v[W][g]+S*s*A[W][g];break;default:for(u=[].concat(v[W]),L=[],g=Y.ca[W].length;g--;)L[g]=+u[g]+S*s*A[W][g]}d[W]=L}Y.attr(d);O&&function(b,f,h){setTimeout(function(){e("raphael.anim.frame."+b,f,h)})}(Y.id,Y,h.anim)}else{(function(b,f,h){setTimeout(function(){O&&e("raphael.anim.frame."+f.id,f,h);O&&e("raphael.anim.finish."+f.id,f,h);a.is(b,"function")&&b.call(f)})})(h.callback,Y,h.anim);Y.attr(N);delete h.el;Ra.splice(f--,1);if(1<h.repeat&&!h.next){for(pa in N)N.hasOwnProperty(pa)&&
(c[pa]=h.totalOrigin[pa]);h.el.attr(c);p(h.anim,h.el,h.anim.percents[0],null,h.totalOrigin,h.repeat-1)}h.next&&!h.stop&&p(h.anim,h.el,h.next,null,h.totalOrigin,h.repeat)}}}a.svg&&Y&&Y.paper&&Y.paper.safari();Ra.length&&Ya(db)},fb=function(b){return 255<b?255:0>b?0:b};Ea.animateWith=function(b,f,h,g,s,u){var v=this;if(v.removed)return u&&u.call(v),v;if(0==g)return setTimeout(function(){a.is(u,"function")&&u.call(v)},0),v.attr(h);h=h instanceof c?h:a.animation(h,g,s,u);p(h,v,h.percents[0],null,v.attr(),
void 0,b);h=0;for(g=Ra.length;h<g;h++)if(Ra[h].anim==f&&Ra[h].el==b){Ra[g-1].start=Ra[h].start;break}return v};Ea.onAnimation=function(b){b?e.on("raphael.anim.frame."+this.id,b):e.unbind("raphael.anim.frame."+this.id);return this};c.prototype.delay=function(b){var f=new c(this.anim,this.ms);f.times=this.times;f.del=+b||0;return f};c.prototype.repeat=function(b){var f=new c(this.anim,this.ms);f.del=this.del;f.times=Na.floor(la(b,0))||1;return f};a.animation=function(b,f,h,g,s){if(b instanceof c)return b;
if(a.is(h,"function")||!h)g=g||h||null,h=null;void 0===a.stopEvent&&(a.stopEvent=s);b=Object(b);f=+f||0;s={};var u,v;for(v in b)b.hasOwnProperty(v)&&Ha(v)!=v&&Ha(v)+"%"!=v&&(u=!0,s[v]=b[v]);return u?(h&&(s.easing=h),g&&(s.callback=g),new c({100:s},f)):new c(b,f)};Ea.animate=function(b,f,h,g){if(this.removed)return g&&g.call(this),this;b=b instanceof c?b:a.animation(b,f,h,g);p(b,this,b.percents[0],null,this.attr());return this};Ea.setTime=function(b,f){b&&null!=f&&this.status(b,oa(f,b.ms)/b.ms);return this};
Ea.status=function(b,f){var h=[],g=0,a,s;if(null!=f)return p(b,this,-1,oa(f,1)),this;for(a=Ra.length;g<a;g++)if(s=Ra[g],s.el.id==this.id&&(!b||s.anim==b)){if(b)return s.status;h.push({anim:s.anim,status:s.status})}return b?0:h};Ea.pause=function(b,f){var h=+new Date,g,a;for(a=0;a<Ra.length;a++)g=Ra[a],!(g.el.id===this.id||f&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===e("raphael.anim.pause."+this.id,this,g.anim)||(g.paused=!0,g.pauseStart=h);return this};Ea.resume=
function(b,f){var h=+new Date,g,a;for(a=0;a<Ra.length;a++)g=Ra[a],!(g.el.id===this.id||f&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===e("raphael.anim.resume."+this.id,this,g.anim)||(delete g.paused,g.el.status(g.anim,g.status),g.pauseEnd=h,g.start+=(g.parentEl&&g.parentEl.e.pauseEnd||g.pauseEnd)-(g.parentEl&&g.parentEl.e.pauseStart||g.pauseStart)||0);return this};Ea.stop=function(b,f,h){var g;if(f)for(g=Ra.length-1;0<=g;g--)f=Ra[g],!(f.el.id===this.id||f.parentEl&&
f.parentEl.id===this.id)||b&&Ra[g].anim!=b||(ele=f.el,h&&ele.attr(f.to),f.callback&&f.callback.call(ele),delete ele.e,delete f.el,Ra.splice(g,1));else for(g=0;g<Ra.length;g++)f=Ra[g],f.el.id!==this.id||b&&f.anim!==b||!1!==e("raphael.anim.stop."+this.id,this,f.anim)&&Ra.splice(g--,1);return this};e.on("raphael.remove",d);e.on("raphael.clear",d);Ea.toString=function(){return"Raphaël’s object"};Ea.toFront=function(){if(this.removed)return this;var b=a._engine.getNode(this),f=this.parent,h=this.followers,
g;a._tofront(this,f)&&f.canvas.appendChild(b);b=0;for(f=h.length;b<f;b++)(g=h[b]).stalk&&g.el[g.stalk](this);return this};Ea.toBack=function(){if(this.removed)return this;var b=a._engine.getNode(this),f=this.parent,h=this.followers,g;a._toback(this,f)&&f.canvas.insertBefore(b,f.canvas.firstChild);b=0;for(f=h.length;b<f;b++)(g=h[b]).stalk&&g.el[g.stalk](this);return this};Ea.insertAfter=function(b){if(this.removed)return this;var f=a._engine.getNode(this),h=a._engine.getLastNode(b),g=b.parent.canvas,
s=this.followers,u;h.nextSibling?g.insertBefore(f,h.nextSibling):g.appendChild(f);a._insertafter(this,b,this.parent,b.parent);f=0;for(h=s.length;f<h;f++)(u=s[f]).stalk&&u.el[u.stalk](b);return this};Ea.insertBefore=function(b){if(this.removed)return this;var f=a._engine.getNode(this),h=a._engine.getNode(b),g=this.followers,s;b.parent.canvas.insertBefore(f,h);a._insertbefore(this,b,this.parent,b.parent);this.parent=b.parent;f=0;for(h=g.length;f<h;f++)(s=g[f]).stalk&&s.el[s.stalk](b);return this};Ea.appendChild=
function(b){if(this.removed||"group"!==this.type)return this;var f=this.followers,h,g,s;if(b.parent===this)return b.toFront(),this;g=a._engine.getNode(b);a._tear(b,b.parent);this.canvas.appendChild(g);b.parent=this;!this.bottom&&(this.bottom=b);b.prev=this.top;b.next=null;this.top&&(this.top.next=b);this.top=b;g=0;for(s=f.length;g<s;g++)(h=f[g]).stalk&&h.el[h.stalk](b);return this};Ea.removeChild=function(b){if(this.removed||"group"!==this.type||b.parent!==this)return this;var f=a._engine.getNode(b),
h=this.paper;a._tear(b,this);h.canvas.appendChild(f);this.parent=h;!h.bottom&&(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=null;return this};var Za=function(b){this.items=[];this.length=0;this.type="set";if(b)for(var f=0,h=b.length;f<h;f++)!b[f]||b[f].constructor!=Ea.constructor&&b[f].constructor!=Za||(this[this.items.length]=this.items[this.items.length]=b[f],this.length++)},Xa=Za.prototype;Xa.push=function(){for(var b,f,h=0,g=arguments.length;h<g;h++)!(b=arguments[h])||
b.constructor!=Ea.constructor&&b.constructor!=Za||(f=this.items.length,this[f]=this.items[f]=b,this.length++);return this};Xa.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};Xa.forEach=function(b,f){for(var h=0,g=this.items.length;h<g&&!1!==b.call(f,this.items[h],h);h++);return this};for(var hb in Ea)Ea.hasOwnProperty(hb)&&(Xa[hb]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b][Q](h,f)})}}(hb));Xa.attr=function(b,f){if(b&&a.is(b,w)&&
a.is(b[0],"object"))for(var h=0,g=b.length;h<g;h++)this.items[h].attr(b[h]);else for(h=0,g=this.items.length;h<g;h++)this.items[h].attr(b,f);return this};Xa.clear=function(){for(;this.length;)this.pop()};Xa.splice=function(b,f,h){b=0>b?la(this.length+b,0):b;f=la(0,oa(this.length-b,isNaN(f)&&this.length||f));var g=[],a=[],s=[],u;for(u=2;u<arguments.length;u++)s.push(arguments[u]);for(u=0;u<f;u++)a.push(this[b+u]);for(;u<this.length-b;u++)g.push(this[b+u]);var v=s.length;for(u=0;u<v+g.length;u++)this.items[b+
u]=this[b+u]=u<v?s[u]:g[u-v];for(u=this.items.length=this.length-=f-v;this[u];)delete this[u++];return new Za(a)};Xa.exclude=function(b){for(var f=0,h=this.length;f<h;f++)if(this[f]==b)return this.splice(f,1),!0};Xa.animate=function(b,f,h,g){!a.is(h,"function")&&h||(g=h||null);var s=this.items.length,u=s,v=this,A;if(!s)return this;g&&(A=function(){!--s&&g.call(v)});h=a.is(h,"string")?h:A;f=a.animation(b,f,h,A);for(b=this.items[--u].animate(f);u--;)this.items[u]&&!this.items[u].removed&&this.items[u].animateWith(b,
f,f);return this};Xa.insertAfter=function(b){for(var f=this.items.length;f--;)this.items[f].insertAfter(b);return this};Xa.getBBox=function(){for(var b=[],f=[],h=[],g=[],a=this.items.length;a--;)if(!this.items[a].removed){var s=this.items[a].getBBox();b.push(s.x);f.push(s.y);h.push(s.x+s.width);g.push(s.y+s.height)}b=oa[Q](0,b);f=oa[Q](0,f);h=la[Q](0,h);g=la[Q](0,g);return{x:b,y:f,x2:h,y2:g,width:h-b,height:g-f}};Xa.clone=function(b){b=new Za;for(var f=0,h=this.items.length;f<h;f++)b.push(this.items[f].clone());
return b};Xa.toString=function(){return"Raphaël‘s set"};Xa.glow=function(b){var f=this.paper.set();this.forEach(function(h,g){var a=h.glow(b);null!=a&&a.forEach(function(b,h){f.push(b)})});return f};a.registerFont=function(b){if(!b.face)return b;this.fonts=this.fonts||{};var f={w:b.w,face:{},glyphs:{}},h=b.face["font-family"],g;for(g in b.face)b.face.hasOwnProperty(g)&&(f.face[g]=b.face[g]);this.fonts[h]?this.fonts[h].push(f):this.fonts[h]=[f];if(!b.svg){f.face["units-per-em"]=U(b.face["units-per-em"],
10);for(var a in b.glyphs)if(b.glyphs.hasOwnProperty(a)&&(h=b.glyphs[a],f.glyphs[a]={w:h.w,k:{},d:h.d&&"M"+h.d.replace(/[mlcxtrv]/g,function(b){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[b]||"M"})+"z"},h.k))for(var s in h.k)h.hasOwnProperty(s)&&(f.glyphs[a].k[s]=h.k[s])}return b};ga.getFont=function(b,f,h,g){g=g||"normal";h=h||"normal";f=+f||{normal:400,bold:700,lighter:300,bolder:800}[f]||400;if(a.fonts){var s=a.fonts[b];if(!s){b=new RegExp("(^|\\s)"+b.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)",
"i");for(var u in a.fonts)if(a.fonts.hasOwnProperty(u)&&b.test(u)){s=a.fonts[u];break}}var v;if(s)for(u=0,b=s.length;u<b&&(v=s[u],v.face["font-weight"]!=f||v.face["font-style"]!=h&&v.face["font-style"]||v.face["font-stretch"]!=g);u++);return v}};ga.print=function(b,f,h,g,s,u,v){u=u||"middle";v=la(oa(v||0,1),-1);var A=ua(h).split(""),N=0,Y=0,d="";a.is(g,h)&&(g=this.getFont(g));if(g){h=(s||16)/g.face["units-per-em"];var L=g.face.bbox.split(ab);s=+L[0];var c=L[3]-L[1],O=0;u=+L[1]+("baseline"==u?c+ +g.face.descent:
c/2);for(var L=0,l=A.length;L<l;L++){if("\n"==A[L])Y=pa=N=0,O+=c;else var e=Y&&g.glyphs[A[L-1]]||{},pa=g.glyphs[A[L]],N=N+(Y?(e.w||g.w)+(e.k&&e.k[A[L]]||0)+g.w*v:0),Y=1;pa&&pa.d&&(d+=a.transformPath(pa.d,["t",N*h,O*h,"s",h,h,s,u,"t",(b-s)/h,(f-u)/h]))}}return this.path(d).attr({fill:"#000",stroke:"none"})};ga.add=function(b){if(a.is(b,"array"))for(var f=this.set(),h=0,g=b.length,s;h<g;h++)s=b[h]||{},da.hasOwnProperty(s.type)&&f.push(this[s.type]().attr(s));return f};a.format=function(f,h){var g=a.is(h,
w)?[0].concat(h):arguments;f&&a.is(f,"string")&&g.length-1&&(f=f.replace(b,function(b,f){return null==g[++f]?"":g[f]}));return f||""};a.fullfill=function(){var b=/\{([^\}]+)\}/g,f=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,h=function(b,h,g){var a=g;h.replace(f,function(b,f,h,g,s){f=f||g;a&&(f in a&&(a=a[f]),"function"==typeof a&&s&&(a=a()))});return a=(null==a||a==g?b:a)+""};return function(f,g){return String(f).replace(b,function(b,f){return h(b,f,g)})}}();a.ninja=function(){P?V.win.Raphael=
fa:delete Raphael;return a};var nb=a.vml&&.5||0;a.crispBound=vb(function(b,f,h,g,a){var s={},u;b=b||0;f=f||0;h=h||0;g=g||0;a=a||0;u=a%2/2+nb;s.x=ha(b+u)-u;s.y=ha(f+u)-u;s.width=ha(b+h+u)-u-s.x;s.height=ha(f+g+u)-u-s.y;s["stroke-width"]=a;0===s.width&&0!==h&&(s.width=1);0===s.height&&0!==g&&(s.height=1);return s},a);Ea.crisp=function(){var b=this.attrs,f,h=this.attr(["x","y","width","height","stroke-width"]),h=a.crispBound(h.x,h.y,h.width,h.height,h["stroke-width"]);for(f in h)b[f]===h[f]&&delete h[f];
return this.attr(h)};a.st=Xa;a.define=function(b,f,h,g,s,u){var v;if(a.is(b,w))for(u=0,v=b.length;u<v;u++)a.define(b[u]);else if(a.is(b,"object"))a.define(b.name,b[b.name],b.ca,b.fn,b.e,b.data);else if(b&&!a.fn[b])return a.fn[b]=function(){var u=arguments,v=f.apply(this,u),A;if(g&&a.is(g,"object"))for(A in g)v[A]=g[A];if(s&&a.is(s,"object"))for(A in s)v[A]&&v[A](s[A]);if(h){if(a.is(h,"function"))v.ca[b]=h;else for(A in h)v.ca[A]=h[A];v.ca[b]&&(a._lastArgIfGroup(u,!0),u.length&&v.attr(b,H.call(u)))}return v},
h&&(a.fn[b].ca=h),g&&(a.fn[b].fn=g),s&&(a.fn[b].e=s),u&&(a.fn[b].data=u),a.fn[b]};(function(b,f,h){function g(){/in/.test(b.readyState)?setTimeout(g,9):a.eve("raphael.DOMload")}null==b.readyState&&b.addEventListener&&(b.addEventListener(f,h=function(){b.removeEventListener(f,h,!1);b.readyState="complete"},!1),b.readyState="loading");g()})(document,"DOMContentLoaded");e.on("raphael.DOMload",function(){B=!0});(function(){function b(f){for(var h={},g=f,a=h;g;)g.node&&g.node.style&&"none"===g.node.style.display&&
(g.show(),a._doHide=!0),g=g.parent,a.parent={},a=a.parent;return function(){for(var b=f,g=h;b;)g._doHide&&b.hide(),b=b.parent,g=g.parent}}if(a.svg){var f=String,h=parseFloat,g=parseInt,s=Math,u=s.max,v=s.abs,A=s.pow,N=s.sqrt,Y=/[, ]+/,d=!(!/AppleWebKit/.test(a._g.win.navigator.userAgent)||/Chrome/.test(a._g.win.navigator.userAgent)&&!(29>a._g.win.navigator.appVersion.match(/Chrome\/(\d+)\./)[1])),L=a.eve,c={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",
open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},O={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};a._url="";var l=function(b,f){var h=b.gradient;if(h){if(h===f)return;h.refCount--;h.refCount||h.parentNode.removeChild(h);delete b.gradient}f&&(b.gradient=f,f.refCount++)},e=a._createNode=function(b,h){if(h){"string"==typeof b&&(b=e(b));for(var g in h)h.hasOwnProperty(g)&&("xlink:"==g.substring(0,6)?b.setAttributeNS("http://www.w3.org/1999/xlink",
g.substring(6),f(h[g])):b.setAttribute(g,f(h[g])))}else b=a._g.doc.createElementNS("http://www.w3.org/2000/svg",b);return b},pa={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},S={pad:"pad",redlect:"reflect",repeat:"repeat"},W=function(b,g){if(!b.paper||!b.paper.defs)return 0;var Y="linear",d=b.paper,L=a.getElementID((d.id+"-"+g).replace(/[\(\)\s%:,\xb0#]/g,"_")),c=.5,O=.5,W,R,E,Ma,K,k=b.node,Ga=k.style,ja=a._g.doc.getElementById(L);if(!ja){g=f(g).replace(a._radial_gradient,
function(b,f){Y="radial";f=f&&f.split(",")||[];Ma=f[5];K=f[6];var g=f[0],a=f[1],s=f[2],u=f[3],v=f[4],d=g&&a,L;s&&(W=/\%/.test(s)?s:h(s));if(Ma===pa.userSpaceOnUse)return d&&(c=g,O=a),u&&v&&(R=u,E=v,d||(c=R,O=E)),"";d&&(c=h(g),O=h(a),g=2*(.5<O)-1,.25<(L=A(c-.5,2))+A(O-.5,2)&&.25>L&&(O=N(.25-L)*g+.5)&&.5!==O&&(O=O.toFixed(5)-1E-5*g));u&&v&&(R=h(u),E=h(v),g=2*(.5<E)-1,.25<(L=A(R-.5,2))+A(E-.5,2)&&.25>L&&(E=N(.25-L)*g+.5)&&.5!==E&&(E=E.toFixed(5)-1E-5*g),d||(c=R,O=E));return""});g=g.split(/\s*\-\s*/);
if("linear"==Y){var ja=g.shift(),Ua=ja.match(/\((.*)\)/),ta,Ua=Ua&&Ua[1]&&Ua[1].split(/\s*\,\s*/),ja=-h(ja);if(isNaN(ja))return null;Ua&&Ua.length?(Ua[0]in pa?(Ma=Ua.shift(),Ua[0]in S&&(K=Ua.shift())):(Ua[4]&&(Ma=Ua[4]),Ua[5]&&(K=Ua[5])),ta=[Ua[0]||"0%",Ua[1]||"0%",Ua[2]||"100%",Ua[3]||"0%"]):(ta=[0,0,s.cos(a.rad(ja)),s.sin(a.rad(ja))],ja=1/(u(v(ta[2]),v(ta[3]))||1),ta[2]*=ja,ta[3]*=ja,0>ta[2]&&(ta[0]=-ta[2],ta[2]=0),0>ta[3]&&(ta[1]=-ta[3],ta[3]=0))}Ua=a._parseDots(g);if(!Ua)return null;ja=e(Y+"Gradient",
{id:L});ja.refCount=0;Ma in pa&&ja.setAttribute("gradientUnits",f(Ma));K in S&&ja.setAttribute("spreadMethod",f(K));"radial"===Y?(void 0!==W&&ja.setAttribute("r",f(W)),void 0!==R&&void 0!==E&&(ja.setAttribute("cx",f(R)),ja.setAttribute("cy",f(E))),ja.setAttribute("fx",f(c)),ja.setAttribute("fy",f(O))):e(ja,{x1:ta[0],y1:ta[1],x2:ta[2],y2:ta[3]});ta=0;for(var aa=Ua.length;ta<aa;ta++)ja.appendChild(e("stop",{offset:Ua[ta].offset?Ua[ta].offset:ta?"100%":"0%","stop-color":Ua[ta].color||"#fff","stop-opacity":void 0===
Ua[ta].opacity?1:Ua[ta].opacity}));d.defs.appendChild(ja)}l(b,ja);e(k,{fill:"url('"+a._url+"#"+L+"')",opacity:1,"fill-opacity":1});Ga.fill="";Ga.opacity=1;return Ga.fillOpacity=1},R=function(b){var f=b.getBBox(1);e(b.pattern,{patternTransform:b.matrix.invert()+" translate("+f.x+","+f.y+")"})},E=function(b,h,g){if("path"==b.type){for(var s=f(h).toLowerCase().split("-"),u=b.paper,v=g?"end":"start",A=b.node,N=b.attrs,Y=N["stroke-width"],d=s.length,L="classic",l,pa,S=3,W=3,E=5;d--;)switch(s[d]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":L=
s[d];break;case "wide":W=5;break;case "narrow":W=2;break;case "long":S=5;break;case "short":S=2}"open"==L?(S+=2,W+=2,E+=2,l=1,pa=g?4:1,s={fill:"none",stroke:N.stroke}):(pa=l=S/2,s={fill:N.stroke,stroke:"none"});b._.arrows?g?(b._.arrows.endPath&&O[b._.arrows.endPath]--,b._.arrows.endMarker&&O[b._.arrows.endMarker]--):(b._.arrows.startPath&&O[b._.arrows.startPath]--,b._.arrows.startMarker&&O[b._.arrows.startMarker]--):b._.arrows={};if("none"!=L){var d="raphael-marker-"+L,R="raphael-marker-"+v+L+S+W+
"-obj"+b.id;a._g.doc.getElementById(d)?O[d]++:(u.defs.appendChild(e(e("path"),{"stroke-linecap":"round",d:c[L],id:d})),O[d]=1);var Ma=a._g.doc.getElementById(R);Ma?(O[R]++,S=Ma.getElementsByTagName("use")[0]):(Ma=e(e("marker"),{id:R,markerHeight:W,markerWidth:S,orient:"auto",refX:pa,refY:W/2}),S=e(e("use"),{"xlink:href":"#"+d,transform:(g?"rotate(180 "+S/2+" "+W/2+") ":"")+"scale("+S/E+","+W/E+")","stroke-width":(1/((S/E+W/E)/2)).toFixed(4)}),Ma.appendChild(S),u.defs.appendChild(Ma),O[R]=1);e(S,s);
u=l*("diamond"!=L&&"oval"!=L);g?(g=b._.arrows.startdx*Y||0,Y=a.getTotalLength(N.path)-u*Y):(g=u*Y,Y=a.getTotalLength(N.path)-(b._.arrows.enddx*Y||0));s={};s["marker-"+v]="url('"+a._url+"#"+R+"')";if(Y||g)s.d=a.getSubpath(N.path,g,Y);e(A,s);b._.arrows[v+"Path"]=d;b._.arrows[v+"Marker"]=R;b._.arrows[v+"dx"]=u;b._.arrows[v+"Type"]=L;b._.arrows[v+"String"]=h}else g?(g=b._.arrows.startdx*Y||0,Y=a.getTotalLength(N.path)-g):(g=0,Y=a.getTotalLength(N.path)-(b._.arrows.enddx*Y||0)),b._.arrows[v+"Path"]&&e(A,
{d:a.getSubpath(N.path,g,Y)}),delete b._.arrows[v+"Path"],delete b._.arrows[v+"Marker"],delete b._.arrows[v+"dx"],delete b._.arrows[v+"Type"],delete b._.arrows[v+"String"];for(s in O)O.hasOwnProperty(s)&&!O[s]&&(b=a._g.doc.getElementById(s))&&b.parentNode.removeChild(b)}},Ma={"":["none"],none:["none"],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},K=function(b,h,g){var s=Ma[f(h).toLowerCase()],u,v,A;if(h=
s||void 0!==h&&[].concat(h)){u=b.attrs["stroke-width"]||1;g={round:u,square:u,butt:0}[g["stroke-linecap"]||b.attrs["stroke-linecap"]]||0;v=h.length;A=s?u:1;if("none"==h[0])s=h;else for(s=[];v--;)s[v]=h[v]*A+(v%2?1:-1)*g,0>=s[v]&&(s[v]=.01+(1>=u?g:0)),isNaN(s[v])&&(s[v]=0);a.is(h,"array")&&e(b.node,{"stroke-dasharray":s.join(",")})}},k=function(b,f){for(var h in f)L("raphael.attr."+h+"."+b.id,b,f[h],h),b.ca[h]&&b.attr(h,f[h])},Ga=a._setFillAndStroke=function(b,h){if(b.paper.canvas){var s=b.node,A=
b.attrs,N=b.paper,L=s.style,c=L.visibility;h&&h.text&&(h.text=h.text.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&<br\/>lt;|&l<br\/>t;|&lt<br\/>;/g,"<<br/>").replace(/&<br\/>gt;|&g<br\/>t;|&gt<br\/>;/g,"><br/>"));L.visibility="hidden";for(var O in h)if(h.hasOwnProperty(O)&&a._availableAttrs.hasOwnProperty(O)){var pa=h[O];A[O]=pa;switch(O){case "blur":b.blur(pa);break;case "href":case "title":case "target":var S=s.parentNode;if("a"!=S.tagName.toLowerCase()){if(""==pa)break;var Ma=e("a");Ma.raphael=
!0;Ma.raphaelid=s.raphaelid;S.insertBefore(Ma,s);Ma.appendChild(s);S=Ma}"target"==O?S.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==pa?"new":pa):S.setAttributeNS("http://www.w3.org/1999/xlink",O,pa);s.titleNode=S;break;case "cursor":L.cursor=pa;break;case "transform":b.transform(pa);break;case "rotation":a.is(pa,"array")?b.rotate.apply(b,pa):b.rotate(pa);break;case "arrow-start":E(b,pa);break;case "arrow-end":E(b,pa,1);break;case "clip-path":var k=!0;case "clip-rect":S=!k&&f(pa).split(Y);
b._.clipispath=!!k;if(k||4==S.length){b.clip&&b.clip.parentNode.parentNode.removeChild(b.clip.parentNode);var Ma=e("clipPath"),Ga=e(k?"path":"rect");Ma.id=a.getElementID(a.createUUID());e(Ga,k?{d:pa?A["clip-path"]=a._pathToAbsolute(pa):a._availableAttrs.path,fill:"none"}:{x:S[0],y:S[1],width:S[2],height:S[3],transform:b.matrix.invert()});Ma.appendChild(Ga);N.defs.appendChild(Ma);e(s,{"clip-path":"url('"+a._url+"#"+Ma.id+"')"});b.clip=Ga}!pa&&(pa=s.getAttribute("clip-path"))&&((pa=a._g.doc.getElementById(pa.replace(/(^url\(#|\)$)/g,
"")))&&pa.parentNode.removeChild(pa),e(s,{"clip-path":""}),delete b.clip);break;case "path":"path"==b.type&&(e(s,{d:pa?A.path=a._pathToAbsolute(pa):a._availableAttrs.path}),b._.dirty=1,b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1)));break;case "width":if(s.setAttribute(O,pa),b._.dirty=1,A.fx)O="x",pa=A.x;else break;case "x":A.fx&&(pa=-A.x-(A.width||0));case "rx":if("rx"==O&&"rect"==b.type)break;case "cx":s.setAttribute(O,
pa);b.pattern&&R(b);b._.dirty=1;break;case "height":if(s.setAttribute(O,pa),b._.dirty=1,A.fy)O="y",pa=A.y;else break;case "y":A.fy&&(pa=-A.y-(A.height||0));case "ry":if("ry"==O&&"rect"==b.type)break;case "cy":s.setAttribute(O,pa);b.pattern&&R(b);b._.dirty=1;break;case "r":"rect"==b.type?e(s,{rx:pa,ry:pa}):s.setAttribute(O,pa);b._.dirty=1;break;case "src":"image"==b.type&&s.setAttributeNS("http://www.w3.org/1999/xlink","href",pa);break;case "stroke-width":if(1!=b._.sx||1!=b._.sy)pa/=u(v(b._.sx),v(b._.sy))||
1;N._vbSize&&(pa*=N._vbSize);d&&0===pa&&(pa=1E-6);s.setAttribute(O,pa);A["stroke-dasharray"]&&K(b,A["stroke-dasharray"],h);b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1));break;case "stroke-dasharray":K(b,pa,h);break;case "fill":var ja=f(pa).match(a._ISURL);if(ja){var Ma=e("pattern"),ta=e("image");Ma.id=a.getElementID(a.createUUID());e(Ma,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});e(ta,{x:0,y:0,"xlink:href":ja[1]});
Ma.appendChild(ta);(function(b){a._preload(ja[1],function(){var f=this.offsetWidth,h=this.offsetHeight;e(b,{width:f,height:h});e(ta,{width:f,height:h});N.safari()})})(Ma);N.defs.appendChild(Ma);L.fill="url('"+a._url+"#"+Ma.id+"')";e(s,{fill:L.fill});b.pattern=Ma;b.pattern&&R(b);break}S=a.getRGB(pa);if(!S.error)delete h.gradient,delete A.gradient,!a.is(A.opacity,"undefined")&&a.is(h.opacity,"undefined")&&e(s,{opacity:A.opacity}),!a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&
e(s,{"fill-opacity":A["fill-opacity"]}),b.gradient&&l(b);else if(("circle"==b.type||"ellipse"==b.type||"r"!=f(pa).charAt())&&W(b,pa)){if("opacity"in A||"fill-opacity"in A)if(S=a._g.doc.getElementById(s.getAttribute("fill").replace(/^url\(#|\)$/g,"")))S=S.getElementsByTagName("stop"),e(S[S.length-1],{"stop-opacity":("opacity"in A?A.opacity:1)*("fill-opacity"in A?A["fill-opacity"]:1)});A.gradient=pa;A.fill="none";L.fill="";break}S.hasOwnProperty("opacity")?(e(s,{"fill-opacity":L.fillOpacity=1<S.opacity?
S.opacity/100:S.opacity}),b._.fillOpacityDirty=!0):b._.fillOpacityDirty&&a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&(s.removeAttribute("fill-opacity"),L.fillOpacity="",delete b._.fillOpacityDirty);case "stroke":S=a.getRGB(pa);s.setAttribute(O,S.hex);L[O]=S.hex;"stroke"==O&&(S.hasOwnProperty("opacity")?(e(s,{"stroke-opacity":L.strokeOpacity=1<S.opacity?S.opacity/100:S.opacity}),b._.strokeOpacityDirty=!0):b._.strokeOpacityDirty&&a.is(A["stroke-opacity"],"undefined")&&
a.is(h["stroke-opacity"],"undefined")&&(s.removeAttribute("stroke-opacity"),L.strokeOpacity="",delete b._.strokeOpacityDirty),b._.arrows&&("startString"in b._.arrows&&E(b,b._.arrows.startString),"endString"in b._.arrows&&E(b,b._.arrows.endString,1)));break;case "gradient":"circle"!=b.type&&"ellipse"!=b.type&&"r"==f(pa).charAt()||W(b,pa);break;case "line-height":case "vertical-align":break;case "visibility":"hidden"===pa?b.hide():b.show();break;case "opacity":A.gradient&&!A.hasOwnProperty("stroke-opacity")&&
e(s,{"stroke-opacity":1<pa?pa/100:pa});case "fill-opacity":if(A.gradient){if(S=a._g.doc.getElementById(s.getAttribute("fill").replace(/^url\(#|\)$/g,"")))S=S.getElementsByTagName("stop"),e(S[S.length-1],{"stop-opacity":pa});break}default:"font-size"==O&&(pa=g(pa,10)+"px"),S=O.replace(/(\-.)/g,function(b){return b.substring(1).toUpperCase()}),L[S]=pa,b._.dirty=1,s.setAttribute(O,pa)}}"text"===b.type&&Ua(b,h);L.visibility=c}},ja=a._updateFollowers=function(){var b,f,h,g=arguments,a=T.call(g),s=T.call(g);
b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[s].apply(h,g)},Ua=function(b,g){if("text"==b.type&&(g.hasOwnProperty("text")||g.hasOwnProperty("font")||g.hasOwnProperty("font-size")||g.hasOwnProperty("x")||g.hasOwnProperty("y")||g.hasOwnProperty("line-height")||g.hasOwnProperty("vertical-align"))){var u=b.attrs,v=b.node,A=v.firstChild&&a._g.doc.defaultView.getComputedStyle(v.firstChild,""),N=A?h(a._g.doc.defaultView.getComputedStyle(v.firstChild,"").getPropertyValue("font-size")):10,Y=
h(g["line-height"]||u["line-height"])||1.2*N,d=u.hasOwnProperty("vertical-align")?u["vertical-align"]:"middle",L=(g.direction||(A?A.getPropertyValue("direction"):"initial")).toLowerCase(),c=!!document.documentMode;isNaN(Y)&&(Y=1.2*N);a.is(g.text,"array")&&(g.text=g.text.join("<br>"));d="top"===d?-.5:"bottom"===d?.5:0;if(g.hasOwnProperty("text")&&(g.text!==u.text||b._textdirty)){for(u.text=g.text;v.firstChild;)v.removeChild(v.firstChild);for(var O=f(g.text).split(/\n|<br\s*?\/?>/ig),N=[],l=0,pa=O.length;l<
pa;l++)A=e("tspan"),l?e(A,{dy:Y,x:u.x}):e(A,{dy:Y*O.length*d,x:u.x}),O[l]||(A.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),O[l]=" "),A.appendChild(a._g.doc.createTextNode(O[l])),v.appendChild(A),N[l]=A,!c&&"rtl"===L&&l<pa-1&&(A=e("tspan"),e(A,{visibility:"hidden","font-size":"0px"}),A.appendChild(a._g.doc.createTextNode("i")),v.appendChild(A));b._textdirty=!1}else for(N=v.getElementsByTagName("tspan"),l=c=0,pa=N.length;l<pa;l++)if(A=N[l],L=A.attributes[0],!L||"visibility"!==
L.name&&"visibility"!==L.nodeName||"hidden"!==L.value&&"hidden"!==L.nodeValue)l?e(A,{dy:Y,x:u.x}):(L=N[1]&&N[1].attributes[0],!L||"visibility"!==L.name&&"visibility"!==L.nodeName||"hidden"!==L.value&&"hidden"!==L.nodeValue||(c=s.floor(.5*N.length)),e(N[0],{dy:Y*(N.length-c)*d,x:u.x}));e(v,{x:u.x,y:u.y});b._.dirty=1;v=b._getBBox();Y=u.y-(v.y+v.height/2);if(v.isCalculated)switch(u["vertical-align"]){case "top":Y=.75*v.height;break;case "bottom":Y=-(.25*v.height);break;default:Y=u.y-(v.y+.25*v.height)}Y&&
a.is(Y,"finite")&&N[0]&&e(N[0],{dy:Y})}},ta=function(b,f,h){h=h||f;h.canvas&&h.canvas.appendChild(b);this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.matrix=a.matrix();this.realPath=null;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=f;this.ca=this.customAttributes=this.customAttributes||new f._CustomAttributes;this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};this.parent=h;!h.bottom&&(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=
null},aa=a.el;ta.prototype=aa;aa.constructor=ta;a._engine.getNode=function(b){b=b.node||b[0].node;return b.titleNode||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.titleNode||b};aa.rotate=function(b,g,a){if(this.removed)return this;ja(this,"rotate",b,g,a);b=f(b).split(Y);b.length-1&&(g=h(b[1]),a=h(b[2]));b=h(b[0]);null==a&&(g=a);if(null==g||null==a)a=this.getBBox(1),g=a.x+a.width/2,a=a.y+a.height/2;this.transform(this._.transform.concat([["r",b,g,a]]));return this};aa.scale=
function(b,g,a,s){var u;if(this.removed)return this;ja(this,"scale",b,g,a,s);b=f(b).split(Y);b.length-1&&(g=h(b[1]),a=h(b[2]),s=h(b[3]));b=h(b[0]);null==g&&(g=b);null==s&&(a=s);if(null==a||null==s)u=this.getBBox(1);a=null==a?u.x+u.width/2:a;s=null==s?u.y+u.height/2:s;this.transform(this._.transform.concat([["s",b,g,a,s]]));return this};aa.translate=function(b,g){if(this.removed)return this;ja(this,"translate",b,g);b=f(b).split(Y);b.length-1&&(g=h(b[1]));b=h(b[0])||0;this.transform(this._.transform.concat([["t",
b,+g||0]]));return this};aa.transform=function(b){var f=this._;if(null==b)return f.transform;a._extractTransform(this,b);this.clip&&!f.clipispath&&e(this.clip,{transform:this.matrix.invert()});this.pattern&&R(this);this.node&&e(this.node,{transform:this.matrix});if(1!=f.sx||1!=f.sy)b=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":b});return this};aa.hide=function(){ja(this,"hide");!this.removed&&this.paper.safari(this.node.style.display="none");return this};
aa.show=function(){ja(this,"show");!this.removed&&this.paper.safari(this.node.style.display="");return this};aa.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),f=this.paper,h=f.defs;f.__set__&&f.__set__.exclude(this);L.unbind("raphael.*.*."+this.id);for(this.gradient&&h&&l(this);h=this.followers.pop();)h.el.remove();for(;h=this.bottom;)h.remove();this._drag&&this.undrag();if(this.events)for(;h=this.events.pop();)h.unbind();this.parent.canvas.removeChild(b);this.removeData();
delete f._elementsById[this.id];a._tear(this,this.parent);for(h in this)this[h]="function"===typeof this[h]?a._removedFactory(h):null;this.removed=!0}};aa._getBBox=function(){var f,h=this.node,g={},a=this.attrs,s,u,v="text"===this.type,A=!!document.documentMode;A&&v?f=b(this):"none"===h.style.display&&(this.show(),u=!0);try{g=h.getBBox(),v&&(void 0===g.x&&(g.isCalculated=!0,s=a["text-anchor"],g.x=(a.x||0)-g.width*("start"===s?0:"middle"===s?.5:1)),void 0===g.y&&(g.isCalculated=!0,s=a["vertical-align"],
g.y=(a.y||0)-g.height*("bottom"===s?1:"middle"===s?.5:0)))}catch(N){}finally{g=g||{}}A&&v?f&&f():u&&this.hide();return g};aa.attr=function(b,f){if(this.removed)return this;if(null==b){var h={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(h[g]=this.attrs[g]);h.gradient&&"none"==h.fill&&(h.fill=h.gradient)&&delete h.gradient;h.transform=this._.transform;h.visibility="none"===this.node.style.display?"hidden":"visible";return h}if(null==f&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&
this.attrs.gradient)return this.attrs.gradient;if("transform"==b)return this._.transform;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var h=b.split(Y),s={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?s[b]=this.attrs[b]:a.is(this.ca[b],"function")?s[b]=this.ca[b].def:s[b]=a._availableAttrs[b];return g-1?s:s[h[0]]}if(null==f&&a.is(b,"array")){s={};u=0;for(g=b.length;u<g;u++)s[b[u]]=this.attr(b[u]);return s}null!=f?(h={},h[b]=f):null!=b&&a.is(b,"object")&&(h=b);
if(!1!==a.stopEvent)for(u in h)L("raphael.attr."+u+"."+this.id,this,h[u],u);var v={};for(u in this.ca)if(this.ca[u]&&h.hasOwnProperty(u)&&a.is(this.ca[u],"function")&&!this.ca["_invoked"+u]){this.ca["_invoked"+u]=!0;g=this.ca[u].apply(this,[].concat(h[u]));delete this.ca["_invoked"+u];for(s in g)g.hasOwnProperty(s)&&(h[s]=g[s]);this.attrs[u]=h[u];!1===g&&(v[u]=h[u],delete h[u])}Ga(this,h);var A,u=0;for(g=this.followers.length;u<g;u++)A=this.followers[u],A.cb&&!A.cb.call(A.el,h,this)||A.el.attr(h);
for(s in v)h[s]=v[s];return this};aa.blur=function(b){if(0!==+b){var f=e("filter"),h=e("feGaussianBlur");this.attrs.blur=b;f.id=a.getElementID(a.createUUID());e(h,{stdDeviation:+b||1.5});f.appendChild(h);this.paper.defs.appendChild(f);this._blur=f;e(this.node,{filter:"url('"+a._url+"#"+f.id+"')"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),this.node.removeAttribute("filter")};aa.on=function(b,f){if(this.removed)return this;var h=f;a.supportsTouch&&
(b=a._touchMap[b]||"click"===b&&"touchstart"||b,h=function(b){b.preventDefault();f()});this.node["on"+b]=h;return this};a._engine.path=function(b,f,h){var g=e("path");b=new ta(g,b,h);b.type="path";Ga(b,f);k(b,f);return b};a._engine.group=function(b,f,h){var g=e("g");b=new ta(g,b,h);b.type="group";b.canvas=b.node;b.top=b.bottom=null;b._id=f||"";f&&g.setAttribute("class","raphael-group-"+b.id+"-"+f);return b};a._engine.circle=function(b,f,h){var g=e("circle");b=new ta(g,b,h);b.type="circle";Ga(b,f);
k(b,f);return b};a._engine.rect=function(b,f,h){var g=e("rect");b=new ta(g,b,h);b.type="rect";f.rx=f.ry=f.r;Ga(b,f);k(b,f);return b};a._engine.ellipse=function(b,f,h){var g=e("ellipse");b=new ta(g,b,h);b.type="ellipse";Ga(b,f);k(b,f);return b};a._engine.image=function(b,f,h){var g=e("image");b=new ta(g,b,h);b.type="image";g.setAttribute("preserveAspectRatio","none");Ga(b,f);k(b,f);return b};a._engine.text=function(b,f,h){var g=e("text");b=new ta(g,b,h);b.type="text";b._textdirty=!0;Ga(b,f);k(b,f);
return b};a._engine.setSize=function(b,f){this.width=b||this.width;this.height=f||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this};a._engine.create=function(){var b=a._getContainer.apply(0,arguments),f=b&&b.container,h=b.x,g=b.y,s=b.width,b=b.height;if(!f)throw Error("SVG container not found.");var u=e("svg"),v,h=h||0,g=g||0,s=s||512,b=b||342;e(u,{height:b,version:1.1,width:s,
xmlns:"http://www.w3.org/2000/svg"});1==f?(u.style.cssText="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;position:absolute;left:"+h+"px;top:"+g+"px",a._g.doc.body.appendChild(u),v=1):(u.style.cssText="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;position:relative",
f.firstChild?f.insertBefore(u,f.firstChild):f.appendChild(u));f=new a._Paper;f.width=s;f.height=b;f.canvas=u;e(u,{id:"raphael-paper-"+f.id});f.clear();f._left=f._top=0;v&&(f.renderfix=function(){});f.renderfix();return f};a._engine.setViewBox=function(b,f,h,g,a){L("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var s=u(h/this.width,g/this.height),v=this.top,A=a?"meet":"xMinYMin",N;null==b?(this._vbSize&&(s=1),delete this._vbSize,N="0 0 "+this.width+" "+this.height):(this._vbSize=s,N=b+" "+f+
" "+h+" "+g);for(e(this.canvas,{viewBox:N,preserveAspectRatio:A});s&&v;)A="stroke-width"in v.attrs?v.attrs["stroke-width"]:1,v.attr({"stroke-width":A}),v._.dirty=1,v._.dirtyT=1,v=v.prev;this._viewBox=[b,f,h,g,!!a];return this};a.prototype.renderfix=function(){var b=this.canvas,f=b.style,h;try{h=b.getScreenCTM()||b.createSVGMatrix()}catch(g){h=b.createSVGMatrix()}b=-h.e%1;h=-h.f%1;if(b||h)b&&(this._left=(this._left+b)%1,f.left=this._left+"px"),h&&(this._top=(this._top+h)%1,f.top=this._top+"px")};a.prototype._desc=
function(b){var f=this.desc;if(f)for(;f.firstChild;)f.removeChild(f.firstChild);else this.desc=f=e("desc"),this.canvas.appendChild(f);f.appendChild(a._g.doc.createTextNode(a.is(b,"string")?b:"Created with Red Raphaël "+a.version))};a.prototype.clear=function(){var b;for(L("raphael.clear",this);b=this.bottom;)b.remove();for(b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null;b.appendChild(this.desc=e("desc"));b.appendChild(this.defs=e("defs"))};a.prototype.remove=function(){var b;
for(L("raphael.remove",this);b=this.bottom;)b.remove();this.defs&&this.defs.parentNode.removeChild(this.defs);this.desc&&this.desc.parentNode.removeChild(this.desc);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0};var La=a.st,w;for(w in aa)aa.hasOwnProperty(w)&&!La.hasOwnProperty(w)&&(La[w]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(w))}})();
(function(){if(a.vml){var b=String,f=parseFloat,h=Math,g=h.round,s=h.max,u=h.min,v=h.sqrt,A=h.abs,N=/[, ]+/,Y=a.eve,d={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},L=/([clmz]),?([^clmz]*)/gi,c=/ progid:\S+Blur\([^\)]+\)/g,O=/-?[^,\s-]+/g,l={path:1,rect:1,image:1},e={circle:1,ellipse:1},pa=function(f){var h=/[ahqstv]/ig,s=a._pathToAbsolute;b(f).match(h)&&(s=a._path2curve);h=/[clmz]/g;if(s==a._pathToAbsolute&&!b(f).match(h))return(f=b(f).replace(L,function(b,f,h){var a=[],s="m"==f.toLowerCase(),
u=d[f];h.replace(O,function(b){s&&2==a.length&&(u+=a+d["m"==f?"l":"L"],a=[]);a.push(g(21600*b))});return u+a}))||"m0,0";var h=s(f),u;f=[];for(var v=0,A=h.length;v<A;v++){s=h[v];u=h[v][0].toLowerCase();"z"==u&&(u="x");for(var N=1,Y=s.length;N<Y;N++)u+=g(21600*s[N])+(N!=Y-1?",":"");f.push(u)}return f.length?f.join(" "):"m0,0"},S=function(b,f,h){var g=a.matrix();g.rotate(-b,.5,.5);return{dx:g.x(f,h),dy:g.y(f,h)}},W=function(b,f,h,g,a,s){var u=b._,v=b.matrix,N=u.fillpos;b=b.node;var Y=b.style,d=1,L="",
c=21600/f,O=21600/h;Y.visibility="hidden";if(f&&h){b.coordsize=A(c)+" "+A(O);Y.rotation=s*(0>f*h?-1:1);s&&(a=S(s,g,a),g=a.dx,a=a.dy);0>f&&(L+="x");0>h&&(L+=" y")&&(d=-1);Y.flip=L;b.coordorigin=g*-c+" "+a*-O;if(N||u.fillsize)if(g=(g=b.getElementsByTagName("fill"))&&g[0])b.removeChild(g),N&&(a=S(s,v.x(N[0],N[1]),v.y(N[0],N[1])),g.position=a.dx*d+" "+a.dy*d),u.fillsize&&(g.size=u.fillsize[0]*A(f)+" "+u.fillsize[1]*A(h)),b.appendChild(g);Y.visibility="visible"}};a._url="";a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+
this.version};var E=function(f,h,g){h=b(h).toLowerCase().split("-");g=g?"end":"start";for(var a=h.length,s="classic",u="medium",v="medium";a--;)switch(h[a]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":s=h[a];break;case "wide":case "narrow":v=h[a];break;case "long":case "short":u=h[a]}f=f.node.getElementsByTagName("stroke")[0];f[g+"arrow"]=s;f[g+"arrowlength"]=u;f[g+"arrowwidth"]=v},R=function(b,f){for(var h in f)Y("raphael.attr."+h+"."+b.id,b,f[h],h),b.ca[h]&&b.attr(h,
f[h])},Ma=a._setFillAndStroke=function(h,v){if(h.paper.canvas){h.attrs=h.attrs||{};var A=h.node,Y=h.attrs,d=A.style,L=l[h.type]&&(v.x!=Y.x||v.y!=Y.y||v.width!=Y.width||v.height!=Y.height||v.cx!=Y.cx||v.cy!=Y.cy||v.rx!=Y.rx||v.ry!=Y.ry||v.r!=Y.r),c=e[h.type]&&(Y.cx!=v.cx||Y.cy!=v.cy||Y.r!=v.r||Y.rx!=v.rx||Y.ry!=v.ry),O="group"===h.type,S;for(S in v)v.hasOwnProperty(S)&&(Y[S]=v[S]);L&&(Y.path=a._getPath[h.type](h),h._.dirty=1);v.href&&(A.href=v.href);v.title&&(A.title=v.title);v.target&&(A.target=v.target);
v.cursor&&(d.cursor=v.cursor);"blur"in v&&h.blur(v.blur);if(v.path&&"path"==h.type||L)A.path=pa(~b(Y.path).toLowerCase().indexOf("r")?a._pathToAbsolute(Y.path):Y.path),"image"==h.type&&(h._.fillpos=[Y.x,Y.y],h._.fillsize=[Y.width,Y.height],W(h,1,1,0,0,0));"transform"in v&&h.transform(v.transform);"rotation"in v&&(d=v.rotation,a.is(d,"array")?h.rotate.apply(h,d):h.rotate(d));"visibility"in v&&("hidden"===v.visibility?h.hide():h.show());c&&(d=+Y.cx,c=+Y.cy,L=+Y.rx||+Y.r||0,S=+Y.ry||+Y.r||0,A.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",
g(21600*(d-L)),g(21600*(c-S)),g(21600*(d+L)),g(21600*(c+S)),g(21600*d)));"clip-rect"in v&&(d=b(v["clip-rect"]).split(N),4==d.length&&(d[0]=+d[0],d[1]=+d[1],d[2]=+d[2]+d[0],d[3]=+d[3]+d[1],L=O?A:A.clipRect||a._g.doc.createElement("div"),c=L.style,O?(h.clip=d.slice(),L=h.matrix.offset(),L=[f(L[0]),f(L[1])],d[0]-=L[0],d[1]-=L[1],d[2]-=L[0],d[3]-=L[1],c.width="1px",c.height="1px"):A.clipRect||(c.top="0",c.left="0",c.width=h.paper.width+"px",c.height=h.paper.height+"px",A.parentNode.insertBefore(L,A),
L.appendChild(A),L.raphael=!0,L.raphaelid=A.raphaelid,A.clipRect=L),c.position="absolute",c.clip=a.format("rect({1}px {2}px {3}px {0}px)",d)),v["clip-rect"]||(O&&h.clip?(A.style.clip="rect(0px 10800px 10800px 0px)",delete h.clip):A.clipRect&&(A.clipRect.style.clip="rect(0px 10800px 10800px 0px)")));h.textpath&&(O=h.textpath.style,v.font&&(O.font=v.font),v["font-family"]&&(O.fontFamily='"'+v["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),v["font-size"]&&(O.fontSize=v["font-size"]),
v["font-weight"]&&(O.fontWeight=v["font-weight"]),v["font-style"]&&(O.fontStyle=v["font-style"]));"arrow-start"in v&&E(h,v["arrow-start"]);"arrow-end"in v&&E(h,v["arrow-end"],1);if(null!=v.opacity||null!=v["stroke-width"]||null!=v.fill||null!=v.src||null!=v.stroke||null!=v["stroke-width"]||null!=v["stroke-opacity"]||null!=v["fill-opacity"]||null!=v["stroke-dasharray"]||null!=v["stroke-miterlimit"]||null!=v["stroke-linejoin"]||null!=v["stroke-linecap"]){O=A.getElementsByTagName("fill");d=-1;O=O&&O[0];
!O&&(O=ja("fill"));"image"==h.type&&v.src&&(O.src=v.src);v.fill&&(O.on=!0);if(null==O.on||"none"==v.fill||null===v.fill)O.on=!1;O.on&&v.fill&&((c=b(v.fill).match(a._ISURL))?(O.parentNode==A&&A.removeChild(O),O.rotate=!0,O.src=c[1],O.type="tile",L=h.getBBox(1),O.position=L.x+" "+L.y,h._.fillpos=[L.x,L.y],a._preload(c[1],function(){h._.fillsize=[this.offsetWidth,this.offsetHeight]})):(c=a.getRGB(v.fill),O.color=c.hex,O.src="",O.type="solid",c.error&&(h.type in{circle:1,ellipse:1}||"r"!=b(v.fill).charAt())&&
K(h,v.fill,O)?(Y.fill="none",Y.gradient=v.fill,O.rotate=!1):"opacity"in c&&!("fill-opacity"in v)&&(d=c.opacity)));if(-1!==d||"fill-opacity"in v||"opacity"in v)c=((+Y["fill-opacity"]+1||2)-1)*((+Y.opacity+1||2)-1)*((+d+1||2)-1),c=u(s(c,0),1),O.opacity=c,O.src&&(O.color="none");A.appendChild(O);O=A.getElementsByTagName("stroke")&&A.getElementsByTagName("stroke")[0];d=!1;!O&&(d=O=ja("stroke"));if(v.stroke&&"none"!=v.stroke||v["stroke-width"]||null!=v["stroke-opacity"]||v["stroke-dasharray"]||v["stroke-miterlimit"]||
v["stroke-linejoin"]||v["stroke-linecap"])O.on=!0;"none"!=v.stroke&&null!==v.stroke&&null!=O.on&&0!=v.stroke&&0!=v["stroke-width"]||(O.on=!1);c=a.getRGB("stroke"in v?v.stroke:Y.stroke);O.on&&v.stroke&&(O.color=c.hex);c=((+Y["stroke-opacity"]+1||2)-1)*((+Y.opacity+1||2)-1)*((+c.opacity+1||2)-1);L=.75*(f(v["stroke-width"])||1);c=u(s(c,0),1);null==v["stroke-width"]&&(L=Y["stroke-width"]);v["stroke-width"]&&(O.weight=L);L&&1>L&&(c*=L)&&(O.weight=1);O.opacity=c;v["stroke-linejoin"]&&(O.joinstyle=v["stroke-linejoin"])||
d&&(d.joinstyle="miter");O.miterlimit=v["stroke-miterlimit"]||8;v["stroke-linecap"]&&(O.endcap="butt"==v["stroke-linecap"]?"flat":"square"==v["stroke-linecap"]?"square":"round");v["stroke-dasharray"]&&(c={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},O.dashstyle=c.hasOwnProperty(v["stroke-dasharray"])?c[v["stroke-dasharray"]]:v["stroke-dasharray"].join&&v["stroke-dasharray"].join(" ")||
"");d&&A.appendChild(O)}if("text"==h.type){h.paper.canvas.style.display="";A=h.paper.span;O=Y.font&&Y.font.match(/\d+(?:\.\d*)?(?=px)/);c=Y["line-height"]&&(Y["line-height"]+"").match(/\d+(?:\.\d*)?(?=px)/);d=A.style;Y.font&&(d.font=Y.font);Y["font-family"]&&(d.fontFamily=Y["font-family"]);Y["font-weight"]&&(d.fontWeight=Y["font-weight"]);Y["font-style"]&&(d.fontStyle=Y["font-style"]);O=f(Y["font-size"]||O&&O[0])||10;d.fontSize=100*O+"px";c=f(Y["line-height"]||c&&c[0])||12;Y["line-height"]&&(d.lineHeight=
100*c+"px");a.is(v.text,"array")&&(v.text=h.textpath.string=v.text.join("\n").replace(/<br\s*?\/?>/ig,"\n"));h.textpath.string&&(A.innerHTML=b(h.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));A=A.getBoundingClientRect();h.W=Y.w=(A.right-A.left)/100;h.H=Y.h=(A.bottom-A.top)/100;h.X=Y.x;h.Y=Y.y;switch(Y["vertical-align"]){case "top":h.bby=h.H/2;break;case "bottom":h.bby=-h.H/2;break;default:h.bby=0}("x"in v||"y"in v||void 0!==h.bby)&&(h.path.v=a.format("m{0},{1}l{2},{1}",
g(21600*Y.x),g(21600*(Y.y+(h.bby||0))),g(21600*Y.x)+1));A="x y text font font-family font-weight font-style font-size line-height".split(" ");O=0;for(d=A.length;O<d;O++)if(A[O]in v){h._.dirty=1;break}switch(Y["text-anchor"]){case "start":h.textpath.style["v-text-align"]="left";h.bbx=h.W/2;break;case "end":h.textpath.style["v-text-align"]="right";h.bbx=-h.W/2;break;default:h.textpath.style["v-text-align"]="center",h.bbx=0}h.textpath.style["v-text-kern"]=!0}}},k=a._updateFollowers=function(){var b,
f,h,g=arguments,a=T.call(g),s=T.call(g);b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[s].apply(h,g)},K=function(h,g,s){h.attrs=h.attrs||{};var u=Math.pow,A="linear",N=".5 .5";h.attrs.gradient=g;g=b(g).replace(a._radial_gradient,function(b,h){A="radial";h=h&&h.split(",")||[];var g=h[3],a=h[4];g&&a&&(g=f(g),a=f(a),.25<u(g-.5,2)+u(a-.5,2)&&(a=v(.25-u(g-.5,2))*(2*(.5<a)-1)+.5),N=g+" "+a);return""});g=g.split(/\s*\-\s*/);if("linear"==A){var Y=g.shift(),Y=-f(Y);if(isNaN(Y))return null}g=a._parseDots(g);
if(!g)return null;h=h.shape||h.node;if(g.length){s.parentNode==h&&h.removeChild(s);s.on=!0;s.method="none";s.color=g[0].color;s.color2=g[g.length-1].color;for(var d=[],L=1,c=void 0===g[0].opacity?1:g[0].opacity,O=0,l=g.length;O<l;O++)g[O].offset&&d.push(g[O].offset+" "+g[O].color),void 0!==g[O].opacity&&(L=g[O].opacity);s.colors=d.length?d.join():"0% "+s.color;s.opacity=L;s["o:opacity2"]=c;"radial"==A?(s.type="gradientTitle",s.focus="100%",s.focussize="0 0",s.focusposition=N,s.angle=0):(s.type="gradient",
s.angle=(270-Y)%360);h.appendChild(s)}return 1},Ga=function(b,f,h){h=h||f;var g;h.canvas&&h.canvas.appendChild(b);g=ja("skew");g.on=!0;b.appendChild(g);this.skew=g;this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.Y=this.X=0;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=f;this.ca=this.customAttributes=this.customAttributes||new f._CustomAttributes;this.matrix=a.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};this.parent=h;!h.bottom&&
(h.bottom=this);(this.prev=h.top)&&(h.top.next=this);h.top=this;this.next=null},h=a.el;Ga.prototype=h;h.constructor=Ga;h.transform=function(f){if(null==f)return this._.transform;var h=this.paper._viewBoxShift,g=h?"s"+[h.scale,h.scale]+"-1-1t"+[h.dx,h.dy]:"",s;h&&(s=f=b(f).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,g+f);var h=this.matrix.clone(),u=this.skew;f=this.node;var g=~b(this.attrs.fill).indexOf("-"),v=!b(this.attrs.fill).indexOf("url(");h.translate(-.5,-.5);v||
g||"image"==this.type?(u.matrix="1 0 0 1",u.offset="0 0",u=h.split(),g&&u.noRotation||!u.isSimple?(f.style.filter=h.toFilter(),h=this.getBBox(),g=this.getBBox(1),v=h.x2&&g.x2&&"x2"||"x",u=h.y2&&g.y2&&"y2"||"y",v=h[v]-g[v],h=h[u]-g[u],f.coordorigin=-21600*v+" "+-21600*h,W(this,1,1,v,h,0)):(f.style.filter="",W(this,u.scalex,u.scaley,u.dx,u.dy,u.rotate))):(f.style.filter="",u.matrix=b(h),u.offset=h.offset());s&&(this._.transform=s);return this};h.rotate=function(h,g,a){if(this.removed)return this;k(this,
"rotate",h,g,a);if(null!=h){h=b(h).split(N);h.length-1&&(g=f(h[1]),a=f(h[2]));h=f(h[0]);null==a&&(g=a);if(null==g||null==a)a=this.getBBox(1),g=a.x+a.width/2,a=a.y+a.height/2;this._.dirtyT=1;this.transform(this._.transform.concat([["r",h,g,a]]));return this}};h.translate=function(h,g){if(this.removed)return this;k(this,"translate",h,g);h=b(h).split(N);h.length-1&&(g=f(h[1]));h=f(h[0])||0;g=+g||0;this._.bbox&&(this._.bbox.x+=h,this._.bbox.y+=g);this.transform(this._.transform.concat([["t",h,g]]));return this};
h.scale=function(h,g,a,s){if(this.removed)return this;k(this,"scale",h,g,a,s);h=b(h).split(N);h.length-1&&(g=f(h[1]),a=f(h[2]),s=f(h[3]),isNaN(a)&&(a=null),isNaN(s)&&(s=null));h=f(h[0]);null==g&&(g=h);null==s&&(a=s);if(null==a||null==s)var u=this.getBBox(1);a=null==a?u.x+u.width/2:a;s=null==s?u.y+u.height/2:s;this.transform(this._.transform.concat([["s",h,g,a,s]]));this._.dirtyT=1;return this};h.hide=function(b){k(this,"hide",b);!this.removed&&(this.node.style.display="none");return this};h.show=
function(b){k(this,"show",b);!this.removed&&(this.node.style.display="");return this};h._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y+(this.bby||0)-this.H/2,width:this.W,height:this.H}};h.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),f=this.paper,h=this.shape;f.__set__&&f.__set__.exclude(this);Y.unbind("raphael.*.*."+this.id);h&&h.parentNode.removeChild(h);for(b.parentNode&&b.parentNode.removeChild(b);b=this.followers.pop();)b.el.remove();
for(;b=this.bottom;)b.remove();this._drag&&this.undrag();if(this.events)for(;b=this.events.pop();)b.unbind();this.removeData();delete f._elementsById[this.id];a._tear(this,this.parent);for(b in this)this[b]="function"===typeof this[b]?a._removedFactory(b):null;this.removed=!0}};h.attr=function(b,f){if(this.removed)return this;if(null==b){var h={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(h[g]=this.attrs[g]);h.gradient&&"none"==h.fill&&(h.fill=h.gradient)&&delete h.gradient;h.transform=
this._.transform;h.visibility="none"===this.node.style.display?"hidden":"visible";return h}if(null==f&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var h=b.split(N),s={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?s[b]=this.attrs[b]:a.is(this.ca[b],"function")?s[b]=this.ca[b].def:s[b]=a._availableAttrs[b];return g-1?s:s[h[0]]}if(this.attrs&&null==f&&a.is(b,
"array")){s={};u=0;for(g=b.length;u<g;u++)s[b[u]]=this.attr(b[u]);return s}null!=f&&(h={},h[b]=f);null==f&&a.is(b,"object")&&(h=b);if(!1!==a.stopEvent)for(u in h)Y("raphael.attr."+u+"."+this.id,this,h[u],u);if(h){var v={};for(u in this.ca)if(this.ca[u]&&h.hasOwnProperty(u)&&a.is(this.ca[u],"function")&&!this.ca["_invoked"+u]){this.ca["_invoked"+u]=!0;g=this.ca[u].apply(this,[].concat(h[u]));delete this.ca["_invoked"+u];for(s in g)g.hasOwnProperty(s)&&(h[s]=g[s]);this.attrs[u]=h[u];!1===g&&(v[u]=h[u],
delete h[u])}"text"in h&&"text"==this.type&&(a.is(h.text,"array")&&(h.text=h.text.join("\n")),this.textpath.string=h.text.replace(/<br\s*?\/?>/ig,"\n"));Ma(this,h);var A,u=0;for(g=this.followers.length;u<g;u++)A=this.followers[u],A.cb&&!A.cb.call(A.el,h,this)||A.el.attr(h);for(s in v)h[s]=v[s]}return this};h.blur=function(b){var f=this.node.runtimeStyle,h=f.filter,h=h.replace(c,"");0!==+b?(this.attrs.blur=b,f.filter=h+"  progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+b||1.5)+")",f.margin=
a.format("-{0}px 0 0 -{0}px",g(+b||1.5))):(f.filter=h,f.margin=0,delete this.attrs.blur);return this};h.on=function(b,f){if(this.removed)return this;this.node["on"+b]=function(){var b=a._g.win.event;b.target=b.srcElement;f(b)};return this};a._engine.getNode=function(b){b=b.node||b[0].node;return b.clipRect||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.clipRect||b};a._engine.group=function(b,f,h){var g=a._g.doc.createElement("div"),s=new Ga(g,b,h);g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";
s._id=f||"";f&&(g.className="raphael-group-"+s.id+"-"+f);(h||b).canvas.appendChild(g);s.type="group";s.canvas=s.node;s.transform=a._engine.group.transform;s.top=null;s.bottom=null;return s};a._engine.group.transform=function(h){if(null==h)return this._.transform;var g=this.node.style,s=this.clip,u=this.paper._viewBoxShift,v=u?"s"+[u.scale,u.scale]+"-1-1t"+[u.dx,u.dy]:"";u&&(h=b(h).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,v+h);h=this.matrix;v=h.offset();u=f(v[0])||0;
v=f(v[1])||0;g.left=u+"px";g.top=v+"px";g.zoom=(this._.tzoom=h.get(0))+"";s&&(g.clip=a.format("rect({1}px {2}px {3}px {0}px)",[s[0]-u,s[1]-v,s[2]-u,s[3]-v]));return this};a._engine.path=function(b,f,h){var g=ja("shape");g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";g.coordsize="21600 21600";g.coordorigin=b.coordorigin;b=new Ga(g,b,h);b.type=f.type||"path";b.path=[];b.Path="";f.type&&delete f.type;Ma(b,f);R(b,f);return b};a._engine.rect=function(b,f,h){var g=a._rectPath(f.x,
f.y,f.w,f.h,f.r);f.path=g;f.type="rect";b=b.path(f,h);f=b.attrs;b.X=f.x;b.Y=f.y;b.W=f.width;b.H=f.height;f.path=g;return b};a._engine.ellipse=function(b,f,h){f.type="ellipse";b=b.path(f,h);f=b.attrs;b.X=f.x-f.rx;b.Y=f.y-f.ry;b.W=2*f.rx;b.H=2*f.ry;return b};a._engine.circle=function(b,f,h){f.type="circle";b=b.path(f,h);f=b.attrs;b.X=f.x-f.r;b.Y=f.y-f.r;b.W=b.H=2*f.r;return b};a._engine.image=function(b,f,h){var g=a._rectPath(f.x,f.y,f.w,f.h);f.path=g;f.type="image";f.stroke="none";b=b.path(f,h);h=
b.attrs;var g=b.node,s=g.getElementsByTagName("fill")[0];h.src=f.src;b.X=h.x=f.x;b.Y=h.y=f.y;b.W=h.width=f.w;b.H=h.height=f.h;s.parentNode==g&&g.removeChild(s);s.rotate=!0;s.src=h.src;s.type="tile";b._.fillpos=[h.x,h.y];b._.fillsize=[h.w,h.h];g.appendChild(s);W(b,1,1,0,0,0);return b};a._engine.text=function(f,h,s){var u=ja("shape"),v=ja("path"),A=ja("textpath");x=h.x||0;y=h.y||0;text=h.text;v.v=a.format("m{0},{1}l{2},{1}",g(21600*h.x),g(21600*h.y),g(21600*h.x)+1);v.textpathok=!0;A.string=b(h.text).replace(/<br\s*?\/?>/ig,
"\n");A.on=!0;u.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";u.coordsize="21600 21600";u.coordorigin="0 0";f=new Ga(u,f,s);f.shape=u;f.path=v;f.textpath=A;f.type="text";f.attrs.text=b(h.text||"");f.attrs.x=h.x;f.attrs.y=h.y;f.attrs.w=1;f.attrs.h=1;Ma(f,h);R(f,h);u.appendChild(A);u.appendChild(v);return f};a._engine.setSize=function(b,f){var h=this.canvas.style;this.width=b;this.height=f;b==+b&&(b+="px");f==+f&&(f+="px");b&&(h.width=b);f&&(h.height=f);h.clip="rect(0 "+h.width+
" "+h.height+" 0)";this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this};a._engine.setViewBox=function(b,f,h,g,a){Y("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var u=this.width,v=this.height,A=1/s(h/u,g/v),N,d;a&&(N=v/g,d=u/h,h*N<u&&(b-=(u-h*N)/2/N),g*d<v&&(f-=(v-g*d)/2/d));this._viewBox=[b,f,h,g,!!a];this._viewBoxShift={dx:-b,dy:-f,scale:A};this.forEach(function(b){b.transform("...")});return this};var ja;a._engine.initWin=function(f){var h=f.document;h.createStyleSheet().addRule(".rvml",
"behavior:url(#default#VML)");try{!h.namespaces.rvml&&h.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),ja=a._createNode=function(f,g){var a=h.createElement("<rvml:"+f+' class="rvml">'),s;for(s in g)a[s]=b(g[s]);return a}}catch(g){ja=a._createNode=function(f,g){var a=h.createElement("<"+f+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'),s;for(s in g)a[s]=b(g[s]);return a}}};a._engine.initWin(a._g.win);a._engine.create=function(){var b=a._getContainer.apply(0,arguments),f=b.container,
h=b.height,g=b.width,s=b.x,b=b.y;if(!f)throw Error("VML container not found.");var u=new a._Paper,v=u.canvas=a._g.doc.createElement("div"),A=v.style,s=s||0,b=b||0,g=g||512,h=h||342;u.width=g;u.height=h;g==+g&&(g+="px");h==+h&&(h+="px");u.coordsize="21600000 21600000";u.coordorigin="0 0";v.id="raphael-paper-"+u.id;u.span=a._g.doc.createElement("span");u.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";v.appendChild(u.span);A.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;cursor:default;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",
g,h);1==f?(a._g.doc.body.appendChild(v),A.left=s+"px",A.top=b+"px",A.position="absolute"):f.firstChild?f.insertBefore(v,f.firstChild):f.appendChild(v);u.renderfix=function(){};return u};a.prototype.clear=function(){var b;for(Y("raphael.clear",this);b=this.bottom;)b.remove();this.canvas.innerHTML="";this.span=a._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=
this.top=null};a.prototype.remove=function(){var b;for(Y("raphael.remove",this);b=this.bottom;)b.remove();this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var ta=a.st,Ua;for(Ua in h)h.hasOwnProperty(Ua)&&!ta.hasOwnProperty(Ua)&&(ta[Ua]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(Ua))}})();P?V.win.Raphael=a:Raphael=a;return a},!0)})();k.Raphael=C;k.Raphael.desc=
"";m&&m!==C?window.Raphael=m:window.Raphael===C&&(window.Raphael=void 0)}]);FusionCharts.register("module",["private","fusioncharts.redraphael.helper",function(){var k={};this.hcLib.Raphael.fn._elementFromEvent=function(m){if(!m||this.removed)return null;var C=m.srcElement||m.target||(m=m.originalEvent)&&(m.srcElement||m.target)||k;"tspan"===C.nodeName&&(C=C.parentNode);return this.getById(C.raphaelid)}}]);
FusionCharts.register("module",["private","fusioncharts.redraphael.css",function(){var k=this.hcLib.Raphael,m=k.eve,C=k._g,r=k.fn,e=k.el,a=/[, ]+/,M=/\B([A-Z]{1})/g,J,I;J=function(a){this.styleSheet="";this.rules={};this.ns=a||""};I=J.prototype;I.getSheet=function(){var a=this.node;this.styleSheet=I.getStyleSheet("fusioncharts-raphael-stylesheet");this.styleSheet||(a=this.node=C.doc.createElement("style"),a.setAttribute("id",k.format("raphael-stylesheet-{0}",k._oid++)),a.setAttribute("type","text/css"),
a.setAttribute("title","fusioncharts-raphael-stylesheet"),(C.doc.head||C.doc.getElementsByTagName("head")[0]).appendChild(this.node),this.styleSheet=I.getStyleSheet("fusioncharts-raphael-stylesheet"));return this.styleSheet};I.getStyleSheet=function(a){for(var e=C.doc.styleSheets,k=e.length,m;k--;)if(m=e[k],m.title===a)return m};I.applyCSSRule=function(a,e){var k=this.styleSheet,m;if(!k)if(a&&e)k=this.getSheet();else return;m=(k.rules||k.cssRules||{}).length||0;k.insertRule?k.insertRule(a+"{"+e+"}",
m):k.addRule&&k.addRule(a,e,m)};I.removeCSS=function(a){var e=this.styleSheet,k=e.rules||e.cssRules||{},m=k.length||0,t;for(a=a||this.ns;m--;)t=k[m],(new RegExp(a)).test(t.selectorText)&&(e.removeRule?e.removeRule(m):e.deleteRule(m))};I.destroy=function(){this.removeCSS();delete this.node;delete this.styleSheet;delete this.ns;delete this.rules};I.clear=function(){this.removeCSS();this.rules={}};I.add=function(a,e,k){var m,t="",c=this.rules[a]||(this.rules[a]={}),p=k?"":"\t";k=k?":":": ";for(m in e)(c[m]=
e[m])&&(t+=p+m.replace(M,"-$1").toLowerCase()+k+c[m]+";");this.applyCSSRule(a,t)};I.render=function(){this.setCssText()};I.setCssText=function(a){var e=a?"":"\t";a=a?":":": ";var k="",m="",t,c;for(t in this.rules){k="";m=t.replace(/(^|\,)/g,"$1"+this.ns+" ");t=this.rules[t];for(c in t)t[c]&&(k+=e+c.replace(M,"-$1").toLowerCase()+a+t[c]+";");this.applyCSSRule(m,k)}};m.on("raphael.new",function(){this._stylesheet=this._stylesheet||new J;this.cssNamespace("")});m.on("raphael.remove",function(){this._stylesheet&&
this._stylesheet.destroy();delete this._stylesheet});r.cssNamespace=function(a){arguments.length&&(this._stylesheet.ns=k.format("{0}#raphael-paper-{1}",a&&a+" "||"",this.id));return this._stylesheet.ns};r.cssAddRule=function(a,e){if(1===arguments.length&&"object"===typeof a){for(var k in a)this.cssAddRule(k,a[k]);return this}return this._stylesheet.add(a,e),this};r.cssRender=function(){return k.svg&&this._stylesheet.render(),this};r.cssClear=function(){return this._stylesheet.clear(),this};k.ca["class"]=
function(a){var e=this.node,m=this.paper,q="."+a,m=m._stylesheet&&m._stylesheet.rules,t=this.parent,c=this.attrs,p={},d;if(k.svg)a=a||"",e.setAttribute("class","group"===this.type&&this._id?"raphael-group-"+this.id+"-"+this._id+" "+a:a);else if(k.vml&&(e.className="group"===this.type?a&&this._id+" "+a||this._id:"rvml "+a,q&&m)){a=m[q];for(d in a)"color"===d&&"text"===this.type&&(d="fill"),!c[d]&&(p[d]=a[d]);for(;t&&t.attr;){if(a=t.attr("class"))for(d in q="."+a+" "+q,a=m[q],a)"color"===d&&"text"===
this.type&&(d="fill"),c[d]||p[d]||(p[d]=a[d]);t=t.parent}this.css(p)}};e.css=function(e,z){var r,q,t,c;if(this.removed)return this;this.styles||(this.styles={});if(null==z&&k.is(e,"string")){r=e.split(a);q={};c=0;for(t=r.length;c<t;c++)e=r[c],e in this.styles&&(q[e]=this.styles[e]);return t-1?q:q[r[0]]}if(null==z&&k.is(e,"array")){q={};c=0;for(t=e.length;c<t;c++)q[e[c]]=this.styles(e[c]);return q}null!=z?(r={},r[e]=z):null!=e&&k.is(e,"object")&&(r=e);q={};for(c in r)t=c.replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),
k._availableAttrs.hasOwnProperty(t)||"color"===t?("color"===t&&"text"===this.type&&(t="fill"),q[t]=r[c],q.dirty=!0):(m("raphael.css."+t+"."+this.id,this,r[c],t),this.node.style[t]=r[c],this.styles[t]=r[c]);c=0;for(t=this.followers.length;c<t;c++)this.followers[c].el.attr(r);q.hasOwnProperty("dirty")&&(delete q.dirty,this.attr(q));return this}}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelexport",function(){var k=this.hcLib,m=k.Raphael,C=k.pluckNumber,r=k.pluck,e=m._availableAttrs,a=/^matrix\(|\)$/g,M=/\,/g,J=/\n|<br\s*?\/?>/ig,I=/[^\d\.]/ig,n=/[\%\(\)\s,\xb0#]/g,z=/group/ig,G=/&/g,q=/"/g,t=/'/g,c=/</g,p=/>/g,d=0;(function(k){var m=Math,l=parseFloat,w=m.max,H=m.abs,F=m.pow,T=String,D=/[, ]+/,V=[{reg:/xmlns\=\"http\:\/\/www.w3.org\/2000\/svg\"/ig,repStr:""},{reg:/^.*<svg /,repStr:'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" '},
{reg:/\/svg>.*$/,repStr:"/svg>"},{reg:/<desc\>[^<]*<\/desc\>/,repStr:""},{reg:/zIndex="[^"]+"/g,repStr:""},{reg:/url\((\\?[\'\"])[^#]+#/g,repStr:"url($1#"},{reg:/ href=/g,repStr:" xlink:href="},{reg:/(id|class|width|height)=([^" >]+)/g,repStr:'$1="$2"'},{reg:/:(path|rect)/g,repStr:"$1"},{reg:/<ima?ge? ([^\>]+?[^\/])\>/gi,repStr:"<image $1 />"},{reg:/<\/ima?ge?\>/g,repStr:""},{reg:/style="([^"]+)"/g,repStr:function(a){return a.toLowerCase()}}],P={blur:function(){},transform:function(){},src:function(a,
d){d.attrSTR+=' xlink:href="'+d.attrs.src+'"'},path:function(a,d){var c=d.attrs.path,c=k._pathToAbsolute(c||"");d.attrSTR+=' d="'+(c.toString&&c.toString()||"").replace(M," ")+'"'},gradient:function(a,d,c){var e=a.attrs.gradient,p="linear",q,t,D,R=.5,ua=.5,Ha=t="",U="",z,la,r,P;q=e.replace(n,"_");if(!c[q]){e=T(e).replace(k._radial_gradient,function(a,d){var c,e,k,w,n,U,q;d=d&&d.split(",")||[];p="radial";c=d[0];e=d[1];k=d[2];w=d[3];n=d[4];P=d[5];q=c&&e;k&&(r=/\%/.test(k)?k:l(k));if("userSpaceOnUse"===
P)return q&&(R=c,ua=e),w&&n&&(z=w,la=n,q||(R=z,ua=la)),"";q&&(R=l(c),ua=l(e),c=2*(.5<ua)-1,.25<(U=F(R-.5,2))+F(ua-.5,2)&&.25>U&&(ua=m.sqrt(.25-U)*c+.5)&&.5!==ua&&(ua=ua.toFixed(5)-1E-5*c));w&&n&&(z=l(w),la=l(n),c=2*(.5<la)-1,.25<(U=F(z-.5,2))+F(la-.5,2)&&.25>U&&(la=m.sqrt(.25-U)*c+.5)&&.5!==la&&(la=la.toFixed(5)-1E-5*c),q||(R=z,ua=la));return""});e=e.split(/\s*\-\s*/);if("linear"===p){t=e.shift();t=-l(t);if(isNaN(t))return null;D=[0,0,m.cos(k.rad(t)),m.sin(k.rad(t))];t=1/(w(H(D[2]),H(D[3]))||1);D[2]*=
t;D[3]*=t;0>D[2]&&(D[0]=-D[2],D[2]=0);0>D[3]&&(D[1]=-D[3],D[3]=0)}e=k._parseDots(e);if(!e)return null;"radial"===p?(t='<radialGradient fx = "'+R+'" fy = "'+ua+'" cy = "'+la+'" cx = "'+z+'" r = "'+r+'" gradientUnits = "'+P+'" id = "'+q+'">',Ha="</radialGradient>"):(t='<linearGradient x1 = "'+D[0]+'" y1 = "'+D[1]+'" x2 = "'+D[2]+'" y2 = "'+D[3]+'" gradientTransform ="matrix('+a.matrix.invert()+')" id = "'+q+'">',Ha="</linearGradient>");a=0;for(D=e.length;a<D;a++)U+='<stop offset="'+(e[a].offset?e[a].offset:
a?"100%":"0%")+'" stop-color="'+(e[a].color||"#fff")+'" stop-opacity="'+(void 0===e[a].opacity?1:e[a].opacity)+'" />';c[q]=!0;c.str+=t+U+Ha}d.attrSTR+=" fill=\"url('#"+q+"')\""},fill:function(a,d){var c=d.attrs,e=c.fill,l;a.attrs.gradient||(e=k.color(e),l=e.opacity,"text"===a.type?d.styleSTR+="fill:"+e+"; stroke-opacity:0; ":(d.attrSTR+=' fill="'+e+'"',c["fill-opacity"]||!l&&0!==l||(d.attrSTR+=' fill-opacity="'+l+'"')))},stroke:function(a,d){var c=d.attrs,e,l;e=k.color(c.stroke);l=e.opacity;"text"!==
a.type&&(d.attrSTR+=' stroke="'+e+'"',c["stroke-opacity"]||!l&&0!==l||(d.attrSTR+=' stroke-opacity="'+l+'"'))},"clip-rect":function(c,e,l){var k=T(e.attrs["clip-rect"]),w=k.split(D),k=k.replace(n,"_")+"__"+d++;4===w.length&&(l[k]||(l[k]=!0,l.str+='<clipPath id="'+k+'"><rect x="'+w[0]+'" y="'+w[1]+'" width="'+w[2]+'" height="'+w[3]+'" transform="matrix('+c.matrix.invert().toMatrixString().replace(a,"")+')"/></clipPath>'),e.attrSTR+=' clip-path="url(#'+k+')"')},cursor:function(a,d){var c=d.attrs.cursor;
c&&(d.styleSTR+="cursor:"+c+"; ")},font:function(a,d){d.styleSTR+="font:"+d.attrs.font.replace(/\"/ig," ")+"; "},"font-size":function(a,d){var c=r(d.attrs["font-size"],"10");c&&c.replace&&(c=c.replace(I,""));d.styleSTR+="font-size:"+c+"px; "},"font-weight":function(a,d){d.styleSTR+="font-weight:"+d.attrs["font-weight"]+"; "},"font-family":function(a,d){d.styleSTR+="font-family:"+d.attrs["font-family"]+"; "},"line-height":function(){},"clip-path":function(){},visibility:function(){},"vertical-align":function(){},
"text-anchor":function(a,d){var c=d.attrs["text-anchor"]||"middle";"text"===a.type&&(d.attrSTR+=' text-anchor="'+c+'"')},title:function(){},text:function(a,d){var e=d.attrs,l=e.text,k=r(e["font-size"],e.font,"10"),w=r(e["line-height"]),m,F,R;k&&k.replace&&(k=k.replace(I,""));k=C(k);w&&w.replace&&(w=w.replace(I,""));w=C(w,k&&1.2*k);m=k?.85*k:.75*w;k=e.x;F=r(e["vertical-align"],"middle").toLowerCase();l=T(l).split(J);R=l.length;e=0;for(m="top"===F?m:"bottom"===F?m-w*R:m-w*R*.5;e<R;e++)d.textSTR+="<tspan ",
F=(l[e]||"").replace(G,"&amp;").replace(q,"&quot;").replace(t,"&#39;").replace(c,"&lt;").replace(p,"&gt;"),d.textSTR=e?d.textSTR+('dy="'+w+'" x="'+k+'" '):d.textSTR+('dy="'+m+'"'),d.textSTR+=">"+F+"</tspan>"}},fa=function(d,c){var l="",k={attrSTR:"",styleSTR:"",textSTR:"",attrs:d.attr()},w=d.isShadow,p="",m="",F,R,n=k.attrs;if("none"===d.node.style.display||w)d.next&&(l+=fa(d.next,c));else{for(F in n)if("gradient"!==F&&(void 0!==e[F]||P[F])&&void 0!==n[F])if(P[F])P[F](d,k,c);else k.attrSTR+=" "+F+
'="'+n[F]+'"';d.attrs.gradient&&P.gradient(d,k,c);"rect"===d.type&&n.r&&(k.attrSTR+=' rx="'+n.r+'" ry="'+n.r+'"');for(R in d.styles)k.styleSTR+=R+":"+d.styles[R]+"; ";"image"===d.type&&(k.attrSTR+=' preserveAspectRatio="none"');if("text"===d.type&&!n["text-anchor"])P["text-anchor"](d,k);d.bottom&&(p=fa(d.bottom,c));d.next&&(m=fa(d.next,c));w=d.type;w.match(z)&&(w="g");l+="<"+w+' transform="matrix('+d.matrix.toMatrixString().replace(a,"")+')" style="'+k.styleSTR+'"'+k.attrSTR+">"+k.textSTR+p+"</"+
w+">"+m}return l},$=function(a){a=JSON.stringify(a);a=a.replace(/([a-z]+)([A-Z]+)([a-z]+)/g,function(a,d,c,e){return d+"-"+c.toLowerCase()+e});a=a.replace(/\"\,\"/g,'";"');a=a.replace(/\"/g," ");return a=a=a.replace(/\{|\}/g,"")},ba=function(a,d){var c,e,l,k,w,p=function(a){return a=a.match(/style\s*=/)?a.replace(/(style\s*=")([^"]+)/g,function(a,d,c){return d+l+c}):a.replace(/class\s*="[^"]*"/i,function(a){return a+' style="'+l+'" '})};for(c in d)if(d.hasOwnProperty(c))for(w in e=/\s+/,e=c.split(e),
l=$(d[c]),e)e.hasOwnProperty(w)&&(k=e[w].trim().replace(".",""),k=new RegExp("<[^>]+("+k+")[^>]+","g"),a=a.replace(k,p));return a};k.fn.toSVG=function(a){var d="",c={str:""},e=0,l=V.length,w="";if(k.svg){if(this.canvas&&this.canvas.parentNode){for(d=this.canvas.parentNode.innerHTML;e<l;e+=1)c=V[e],d=d.replace(c.reg,c.repStr);this._stylesheet&&this._stylesheet.rules&&(d=ba(d,this._stylesheet.rules))}a||(d=d.replace(/<image[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}))}else d=
'<svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+this.width+'" version="1.1" height="'+this.height+'">',this.bottom&&(w=fa(this.bottom,c)),d+="<defs>"+c.str+"</defs>"+w+"</svg>",a||(d=d.replace(/<image[^\>]*\>[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}));return d}})(m)}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelshadow",function(){var k=this.window,m=k.Math.sqrt,C=k.parseFloat,r=k.parseInt,k=k.SVGFilterElement||k.SVGFEColorMatrixElement&&2===k.SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE,e=this.hcLib.Raphael,a={"drop-shadow":"drop-shadow",stroke:"stroke",fill:"fill","stroke-width":"stroke-width","stroke-opacity":"stroke-opacity","stroke-linecap":"stroke-linecap","stroke-linejoin":"stroke-linejoin","shape-rendering":"shape-rendering",
transform:"transform"},M=e._createNode,J;e.svg?(k&&(e.el.dropshadow=function(a,k,z,r){var q=this.node,t=this._.shadowFilter,c=this.paper.cacheShadows||(this.paper.cacheShadows={}),p="drop-shadow"+[a,k,z,r].join(" "),d;if("none"===a){if(t){--t.use;this.node.removeAttribute("filter");if(!t.use){p=t.hash;for(d in t)a=t[d],a.parentNode&&a.parentNode.removeChild(a),delete t[d];delete c[p]}delete this._.shadowFilter}}else t&&c[p]===t||(t=this.paper.defs.appendChild(M("filter",{id:e.getElementID(e.createUUID()),
width:"200%",height:"200%"})),r=e.color(r),r.error&&(r=e.color("rgba(0,0,0,1)")),d=e.pick(r.opacity,1),this._.shadowFilter=c[p]={use:1,filter:t,hash:p,offset:t.appendChild(M("feOffset",{result:"offOut","in":"SourceGraphic",dx:C(a),dy:C(k)})),matrix:t.appendChild(M("feColorMatrix",{result:"matrixOut","in":"offOut",type:"matrix",values:"0 0 0 0 "+r.r/255+" 0 0 0 0 "+r.g/255+" 0 0 0 0 "+r.b/255+" 0 0 0 "+d+" 0"})),blur:t.appendChild(M("feGaussianBlur",{result:"blurOut","in":"matrixOut",stdDeviation:m(C(z))})),
blend:t.appendChild(M("feComposite",{"in":"SourceGraphic",in2:"blurOut",operator:"over"}))},q.setAttribute("filter",'url("'+e._url+"#"+t.id+'")'));return this}),J=function(e,k){var m=this.__shadowscale,r={},q,t;for(t in e)switch(a[t]&&(r[t]=e[t],delete e[t]),t){case "transform":q=k.matrix.clone();q.translate(this.__shadowx,this.__shadowy);this.transform(q.toTransformString());break;case "stroke-width":e[t]=((r[t]||1)+6-2*this.__shadowlevel)*m}this.attr(e);for(t in r)e[t]=r[t]},e.ca["drop-shadow"]=
function(a,k,m,C,q,t){m=this._.shadows||(this._.shadows=[]);var c,p,d,B,Q;if(!this.__shadowblocked)if("none"===a)for(;p=m.pop();)p.remove();else for(C=e.color(C),C.error&&(C=e.color("rgba(0,0,0,1)")),q instanceof Array?(c=q[0],q=q[1]):c=q,c=1/e.pick(c,1),q=1/e.pick(q,1),a=e.pick(a,1)*c,k=e.pick(k,1)*c,c=.05*e.pick(C.opacity,1),d=r(this.attr("stroke-width")||1,10)+6,B=this.matrix.clone(),B.translate(a,k),Q=1;3>=Q;Q++)p=(m[Q-1]||this.clone().follow(this,J,!t&&"before")).attr({stroke:C.hex,"stroke-opacity":c*
Q,"stroke-width":(d-2*Q)*q,transform:B.toTransformString(),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none"}),p.__shadowlevel=Q,p.__shadowscale=q,p.__shadowx=a,p.__shadowy=k,t&&t.appendChild(p),m.push(p);return!1},e.el.shadow=function(a,k,m,r){var q;m&&m.constructor===e.el.constructor&&(r=m,m=void 0);"object"===typeof a&&(k&&k.constructor===e.el.constructor&&(r=k),k=a.opacity,m=a.scalefactor,q=!!a.useFilter,a=void 0===a.apply?!!k:a.apply);void 0===k&&(k=1);if(this.dropshadow){if(q)return a&&
this.dropshadow(1,1,3,"rgb(64,64,64)")||this.dropshadow("none"),this;this._.shadowFilter&&this.dropshadow("none")}return this.attr("drop-shadow",a?[1,1,3,"rgba(64,64,64,"+k+")",m,r]:"none")}):e.vml?(e.ca["drop-shadow"]=function(a,k,m,r,q,t){var c=this._.shadow,p,d;if(this.isShadow)return!1;"none"===a?c&&(this._.shadow=c.remove()):(c||(c=this._.shadow=this.clone(),t&&t.appendChild(c.follow(this))||c.follow(this,void 0,"before"),c.attr({fill:"none","fill-opacity":.5,"stroke-opacity":1}).isShadow=!0,
0>=c.attr("stroke-width")&&c.attr("stroke-width",1)),t=c.node.runtimeStyle,p=t.filter.replace(/ progid:\S+Blur\([^\)]+\)/g,""),r=e.color(r),r.error&&(r=e.color("rgba(0,0,0,1)")),d=e.pick(r.opacity,1)/5,q=1/e.pick(q,1),a=e.pick(a,1)*q,k=e.pick(k,1)*q,c.translate(a,k),t.filter=p+" progid:DXImageTransform.Microsoft.Blur(pixelRadius="+C(.4*m)+" makeShadow=True Color="+r.hex+' shadowOpacity="'+d+'");');return!1},e.el.shadow=function(a,k,m,r){m&&m.constructor===e.el.constructor&&(r=m,m=void 0);"object"===
typeof a&&(k&&"group"===k.type&&(r=k),k=a.opacity,m=a.scalefactor,a=void 0===a.apply?!!k:a.apply);void 0===k&&(k=1);return this.attr("drop-shadow",a||!k?[1,1,5,"rgba(64,64,64,"+k+")",m,r]:"none")}):e.canvas&&(e.el.shadow=function(){return this})}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaelshapes",function(){var k=this.window,m="createTouch"in k.document,C=/msie/i.test(k.navigator.userAgent)&&!k.opera,r=k.Math,e=r.cos,a=r.sin,M=r.abs,J=r.pow,I=r.atan2,n=r.tan,z=r.acos,G=r.min,q=r.round,t=r.PI,c=r.sqrt,p=2*t,d=k.parseInt,B=k.parseFloat,Q=String,l=Array.prototype.slice,w=J(2,-24),H="rgba(192,192,192,"+(C?.002:1E-6)+")",F=this.hcLib.Raphael,T=F.eve,D=F._createNode,V=F._setFillAndStroke,P=F.el.constructor,fa={speed:"optimizeSpeed",
crisp:"crispEdges",precision:"geometricPrecision"},$={enabled:!1,"false":!1,0:!1,disabled:!0,"true":!0,1:!0},ba={Q:"L",Z:"X",q:"l",z:"x",",":" "},ia=/,?([achlmqrstvxz]),?/gi,ea=/\s*\,\s*/g,X,ca=function(){return this.join(",").replace(ia,X)},ga,da,Z=F._cacher(function(a,d,e,l){return c(J(e-a,2)+J(l-d,2))}),Ja=F._cacher(function(a,d,c,e,l){var k=c-a,w=e-d;c=Z(a,d,c,e);return{x:a+k/c*l,y:d+w/c*l}});if(F.svg)T.on("raphael.attr.shape-rendering",function(a,d){var c=this.node;this.attrs[d]=a=fa[a]||a||
"auto";c.setAttribute(d,a);c.style.shapeRendering=a});else if(F.vml)T.on("raphael.attr.shape-rendering",function(a){this.node.style.antialias="crisp"!==a});F.define&&F.define([{name:"polypath",polypath:function(){return this.path(void 0,F._lastArgIfGroup(arguments))},ca:{polypath:function(c,l,k,w,m,p){var n,q,D;n=[];c=d(c,10)||0;l=B(l)||0;k=B(k)||0;w=B(w)||0;m=null===m||isNaN(m)?.5*t:F.rad(m);p=null===p||isNaN(p)?0:B(p);q=m;if(2<c)switch(m=2*t/c,p){case 0:for(p=0;p<c;p++)n.push("L",l+w*e(-q),k+w*
a(-q)),q+=m;n[0]="M";n.push("Z");break;case 1:for(p=0;p<c;p++)n.push("M",l,k,"L",l+w*e(-q),k+w*a(-q)),q+=m;break;default:m*=.5;D=w*e(m)*(1-p);for(p=0;p<c;p++)n.push("L",l+w*e(-q),k+w*a(-q)),q+=m,n.push("L",l+D*e(-q),k+D*a(-q)),q+=m;n[0]="M";n.push("Z")}else 0===w?n.push("M",l,k,"L",l,k,"Z"):n.push("M",l-w,k,"A",w,w,0,0,0,l+w,k,"A",w,w,0,0,0,l-w,k,"Z");return{path:n}},r:function(a){var d=this.attrs.polypath;d[3]=a;this.attr("polypath",d);return!1}}},{name:"ringpath",ringpath:function(){return this.path(void 0,
F._lastArgIfGroup(arguments))},ca:function(d,c,l,k,m,F){var n=F%p-m%p,q=F-m,D,B,H,r,z,Ja;this._.ringangle=.5*(m+F);M(q)<w?(D=e(m),q=a(m),l=["M",d+l*D,c+l*q,"L",d+k*D,c+k*q,"Z"]):(M(q)>w&&+(M(q)%p<w||p-M(q)%p<w)?(l=["M",d-l,c,"A",l,l,0,0,0,d+l,c,"A",l,l,0,0,0,d-l,c],0!==k&&(l=l.concat(["M",d-k,c,"A",k,k,0,0,1,d+k,c,"A",k,k,0,0,1,d-k,c]))):(D=e(m),q=a(m),B=e(F),F=a(F),n%=p,0>n&&(n+=p),n=n<t?0:1,H=d+l*D,z=c+l*q,r=d+l*B,Ja=c+l*F,B=d+k*B,F=c+k*F,.01>M(H-r)&&.01>M(z-Ja)&&(H=d+l*e(m+1.745329E-4),z=c+l*a(m+
1.745329E-4)),l=["M",H,z,"A",l,l,0,n,1,r,Ja,"L",B,F],0!==k&&(D=d+k*D,q=c+k*q,.01>M(B-D)&&.01>M(F-q)&&(D=d+k*e(m+1.745329E-4),q=c+k*a(m+1.745329E-4)),l.push("A",k,k,0,n,0,D,q))),l.push("Z"));return{path:l}}},{name:"cubepath",cubepath:function(){var a={"stroke-linejoin":"round","shape-rendering":"precision",stroke:"none"},d=arguments,c=d.length-1,e=d[c],l,k;e&&e.constructor===F.el.constructor?d[c]=void 0:e=void 0;c=this.path(a,e);l=this.path(a,e);a=this.path(a,e);a._.cubetop=c.follow(a,void 0,"before");
a._.cubeside=l.follow(a,void 0,"before");for(k in F.fn.cubepath.ca)a.ca[k]=F.fn.cubepath.ca[k];return a.attr("cubepath",[d[0],d[1],d[2],d[3],d[4],d[5]])},fn:{_getBBox2:function(){var a=this._.cubeside.getBBox(),d=this._.cubetop.getBBox(),c=this.getBBox();return{x:c.x+d.height,y:c.y-a.width,width:c.width,height:c.height}}},ca:{cubepath:function(a,d,c,e,l,k){var w=this._.cubetop,m=this._.cubeside;a=a||0;d=d||0;c=c||0;e=e||0;l=l||0;k=k||0;this.attr("path",["M",a+c,d,"l",0,e,-c,0,0,-e,"z"]);w.attr("path",
["M",a,d,"l",1,1,c-1,0,0,-1,l,-k,-c,0,"z"]);m.attr("path",["M",a+c-1,d+1,"l",0,e-1,1,0,l,-k,0,-e,-l,k]);return!1},"stroke-linejoin":function(){return{"stroke-linejoin":"round"}},"drop-shadow":function(a,d,c,e){var l=this._.cubetop,k=this._.cubeside;this.dropshadow&&(l.dropshadow(a,-d,c,e),k.dropshadow(a,-d,c,e));return!1},fill:function(a,d){var c=this._.cubetop,e=this._.cubeside,l=this.attr("cubepath")||[0,0,0,0,0,0],k=l[2],w=l[4],l=l[5],m;a=F.color(a);d?(this.attr("fill",a),c.attr("fill",F.tintshade(a,
-.78).rgba),e.attr("fill",F.tintshade(a,-.65).rgba)):(m="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")",this.attr("fill",[270,F.tintshade(m,.55).rgba,F.tintshade(m,-.65).rgba].join("-")),e.attr("fill",[270,F.tintshade(m,-.75).rgba,F.tintshade(m,-.35).rgba].join("-")),c.attr("fill",[45+F.deg(I(l,w+k)),F.tintshade(m,-.78).rgba,F.tintshade(m,.22).rgba].join("-")));return!1}}},{name:"arcpath",arcpath:function(){return this.path(void 0,F._lastArgIfGroup(arguments))},ca:function(a,
d,c,e){var l=(e-90)/180*Math.PI,k=a+c*Math.cos(l),l=d+c*Math.sin(l);return{path:["M",a,d-c,"A",c,c,0,180<e?1:0,1,k,l]}}},{name:"scroller",scroller:function(a,d,c,e,l,k,w){var m=this.group("scroller",w),p=m.attrs,n=m._.scroller={};l=l&&"horizontal"||"vertical";var q,D={},t,H,r;n.track=this.rect(m).mousedown(function(a){var d=p["scroll-position"];a="horizontal"===p["scroll-orientation"]?a.layerX||a.x:a.layerY||a.y;a=(a-n.anchorOffset)/n.trackLength;q=F.animation({"scroll-position":a},2E3*M(d-a),"easeIn");
m.animate(q);T("raphael.scroll.start."+m.id,m,d)}).mouseup(n._mouseupTrack=function(){this.stop(q);T("raphael.scroll.end."+this.id,this,p["scroll-position"])},m,!0);n.anchor=this.rect(m).drag(function(){D["scroll-position"]=t+arguments[H]/n.trackLength;m.animate(D,0)},function(a,d,c){H="horizontal"===p["scroll-orientation"]?0:1;T("raphael.scroll.start."+m.id,m,t=p["scroll-position"]);c.stopPropagation()},function(){T("raphael.scroll.end."+m.id,m,t=p["scroll-position"])});for(r in F.fn.scroller.fn)m[r]=
F.fn.scroller.fn[r];for(r in F.fn.scroller.ca)m.ca[r]=F.fn.scroller.ca[r];p["scroll-orientation"]=l;p["stroke-width"]=1;m.ca["scroll-repaint"]=m.ca["scroll-repaint-"+l];!F.is(k,"object")&&(k={});return m.attr({ishot:!0,"scroll-display-buttons":k.showButtons&&"arrow"||"none","scroll-display-style":k.displayStyleFlat&&"flat"||"3d","scroll-ratio":B(k.scrollRatio)||1,"scroll-position":B(k.scrollPosition)||0,"scroll-repaint":[a,d,c,e]})},fn:{scroll:function(a,d){var c=this._.scroller;d=d||this;c.callback=
function(){return a.apply(d,arguments)};return this},remove:function(){var a=this._.scroller,d;this.attr("scroll-display-buttons","none");a.track.unmouseup(a._mouseupTrack);for(d in a)a[d]&&a[d].remove&&a[d].remove(),a[d]=null;delete this._.scroller;F.el.remove.apply(this,arguments)}},ca:{"stroke-width":function(){return!1},"drop-shadow":function(a,d,c,e,l,k){this._.scroller.track.attr("drop-shadow",[a,d,c,e,l,k]);return!1},"scroll-display-style":function(a){var d=this.attrs,c=d["scroll-display-style"],
e=d.fill;a={flat:"flat","3d":"3d",transparent:"transparent"}[a]||c;e&&a!==c&&(d["scroll-display-style"]=a,this.attr("fill",e));return{"scroll-display-style":a}},"scroll-display-buttons":function(a){var d=this,c=d.paper,e=d._.scroller,l=d.attrs,k=l["scroll-display-buttons"],w=l["scroll-repaint"],m,p;void 0===k&&(k="none");a={none:"none",arrow:"arrow"}[a]||k;a!==k&&(l["scroll-display-buttons"]=a,"none"===a&&e.start?(e.arrowstart.remove(),delete e.arrowstart,e.arrowend.remove(),delete e.arrowend,e.start.unmouseup(e._mouseupStart),
e.start.remove(),delete e.start,e.end.unmouseup(e._mouseupEnd),e.end.remove(),delete e.end):(e.arrowstart=c.polypath(d),e.arrowend=c.polypath(d),e.start=c.rect(d).mousedown(function(){var a;0!==(a=l["scroll-position"])&&(d.animate({"scroll-position":a-.1},100).animate(m=F.animation({"scroll-position":0},4500*a,"easeIn")),T("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupStart=function(){d.stop(m);T("raphael.scroll.end."+d.id,d,l["scroll-position"])},d,!0),e.end=c.rect(d).mousedown(function(){var a;
1!==(a=l["scroll-position"])&&(d.animate({"scroll-position":a+.1},100).animate(p=F.animation({"scroll-position":1},4500*(1-a),"easeIn")),T("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupEnd=function(){d.stop(p);T("raphael.scroll.end."+d.id,d,l["scroll-position"])},d,!0),l.fill&&d.attr("fill",l.fill)),w&&d.attr("scroll-repaint",w));return{"scroll-display-buttons":a}},"scroll-orientation":function(a){var d=this.attrs,c=d["scroll-repaint"],e=d["scroll-orientation"];a={horizontal:"horizontal",
vertical:"vertical"}[a]||e;e!==a&&(this.ca["scroll-repaint"]=this.ca["scroll-repaint-"+a],c&&(c[2]+=c[3],c[3]=c[2]-c[3],c[2]-=c[3],this.attr("scroll-repaint",c)),d.fill&&this.attr("fill",d.fill));return{"scroll-orientation":a}},"scroll-ratio":function(a){var d=this.attrs,c=d["scroll-ratio"],e=d["scroll-repaint"];a=1<a?1:.01>a?.01:B(a);e&&a!==c&&(d["scroll-ratio"]=a,this.attr("scroll-repaint",e));return{"scroll-ratio":a}},"scroll-position":function(a,d){var c=this.attrs,e="horizontal"===c["scroll-orientation"],
l=c["scroll-repaint"],k=c["scroll-position"],w=this._.scroller,m=w.anchor;a=1<a?1:0>a?0:B(a);isNaN(a)&&(a=k);l&&(k!==a||d)&&(k=w.start&&w.start.attr(e&&"width"||"height")||0,e&&m.attr("x",l[0]+k+(l[2]-2*k-m.attr("width"))*a+.5)||m.attr("y",l[1]+k+(l[3]-2*k-m.attr("height"))*a+.5),!d&&1>c["scroll-ratio"]&&(T("raphael.scroll.change."+this.id,this,a),w.callback&&w.callback(a)));return{"scroll-position":a}},r:function(a){var d=this._.scroller;d.track.attr("r",a);d.anchor.attr("r","none"===this.attrs["scroll-display-buttons"]&&
a||0);return!1},"scroll-repaint-horizontal":function(a,d,c,e){var l=this.attrs,k=this._.scroller,w=l["scroll-ratio"],m=l["scroll-position"],p=0,F=c*w,l="none"===l["scroll-display-buttons"];c&&--c;a&&(a+=.5);e&&--e;d&&(d+=.5);k.track.attr({width:c,height:e,y:d,x:a}).crisp();l||(p=G(e,.5*c),F-=2*p*w,k.start.attr({width:p,height:e,x:a,y:d}),k.arrowstart.attr("polypath",[3,a+.5*p,d+.5*e,.25*p,180]),k.end.attr({width:p,height:e,x:a+c-p,y:d}),k.arrowend.attr("polypath",[3,a+c-.5*p,d+.5*p,.25*p,0]));k.trackLength=
c-2*p-F;k.trackOffset=a+p+.5;k.anchorOffset=k.trackOffset+.5*(F-1);k.anchor.attr({height:e,width:F-1,y:d,x:k.trackOffset+k.trackLength*m}).crisp()},"scroll-repaint-vertical":function(a,d,c,e){var l=this.attrs,k=this._.scroller,w=l["scroll-ratio"],m=l["scroll-position"],p=0,F=e*w,l="none"===l["scroll-display-buttons"];c&&--c;a&&(a+=.5);e&&--e;d&&(d+=.5);k.track.attr({width:c,height:e,y:d,x:a}).crisp();l||(p=G(c,.5*e),F-=2*p*w,k.start.attr({width:c,height:p,x:a,y:d}),k.arrowstart.attr("polypath",[3,
a+.5*c,d+.5*p,.25*p,90]),k.end.attr({width:c,height:p,x:a,y:d+e-p}),k.arrowend.attr("polypath",[3,a+.5*c,d+e-.5*p,.25*p,-90]));k.trackLength=e-2*p-F;k.trackOffset=d+p+.5;k.anchorOffset=k.trackOffset+.5*(F-1);k.anchor.attr({height:0>F-1?0:F-1,width:c,y:k.trackOffset+k.trackLength*m,x:a}).crisp()},fill:function(a){var d=this.attrs,c=this._.scroller,e=d["scroll-repaint"],l="flat"===d["scroll-display-style"],k="horizontal"===d["scroll-orientation"],w={stroke:"none"},p;m&&e&&3<(p=16-e[k&&3||2])&&(w.stroke=
H,w["stroke-width"]=p);a=F.color(a);a.error&&(a=F.color("#000000"));a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")";w.fill=l&&a||[90*k,F.tintshade(a,.15).rgba,a].join("-");w.stroke=F.tintshade(a,-.75).rgba;c.track.attr(w);w.fill=l&&F.tintshade(a,-.6).rgba||[270*k,F.tintshade(a,.3).rgba+":40",F.tintshade(a,-.7).rgba].join("-");w.stroke=F.tintshade(a,-.6).rgba;c.anchor.attr(w);w.stroke="none";"none"!==d["scroll-display-buttons"]&&(w.fill=H,c.start.attr(w),c.end.attr(w),
w.fill=F.tintshade(a,-.4).rgba,c.arrowstart.attr(w),c.arrowend.attr(w));return!1}}},{name:"button",button:function(a,d,c,e,l,k){k=this.group("button",k);var w;k._.button={bound:this.rect(k),tracker:this.rect(k).attr({fill:H,stroke:H,cursor:"pointer"}).data("compositeButton",k)};!F.is(l,"object")&&(l={});for(w in F.fn.button.fn)k[w]=F.fn.button.fn[w];for(w in F.fn.button.ca)k.ca[w]=F.fn.button.ca[w];return k.attr({ishot:!0,"button-padding":[l.horizontalPadding,l.verticalPadding],"button-label":c,"button-symbol":e,
"button-disabled":l.disabled||"false","button-symbol-position":l.symbolPosition,"button-symbol-padding":l.symbolPadding}).attr("button-repaint",[a,d,l.width,l.height,l.r])},data:{hoverin:function(){var a=this._.button,d=a.hoverbackIn,c=this._hover||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&
a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor),d&&d()):d&&!1===d(arguments)||this.attr("fill","hover");this.hovered=!0},hoverout:function(){var a=this._.button,d=a.hoverbackOut,c=this._normal||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&
a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor),d&&d()):d&&!1===d(arguments)||this.attr("fill",(this.pressed||this.active)&&"active"||"normal");this.hovered=!1},mousedown:function(){var a=this._.button,d=this._pressed||{};d.fill||d.stroke||d["stroke-width"]||d.cursor?(d.fill&&this.bottom.attr("fill",d.fill)&&a.symbol.attr("fill",d.fill),d.stroke&&this.bottom.attr("stroke",d.stroke)&&a.symbol.attr("stroke",d.stroke),d["stroke-width"]&&this.bottom.attr("stroke-width",
d["stroke-width"])&&a.symbol.attr("stroke-width",d["stroke-width"]),d.cursor&&a.tracker.attr("cursor",d.cursor)):this.attr("fill","active");this.pressed=!0},mouseup:function(){var a=this._.button,d=a.callback,c=this._normal||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&a.symbol.attr("stroke-width",
c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor)):this.attr("fill",this.hovered&&"hover"||this.active&&"active"||"normal");this.pressed=!1;d&&d(arguments)},mousemove:function(){var a=this._.button.mousemove;a&&a(arguments)}},fn:{tooltip:function(){F.el.tooltip&&F.el.tooltip.apply(this._.button.tracker,arguments);return this},buttonclick:function(a,d){var c=this._.button;d=d||this;c.callback=function(){return a.apply(d,arguments)};return this},labelcss:function(){var a=this._.button,
d=a.label;a.cssArg=arguments;d&&d.css.apply(d,arguments);return this.attr("button-repaint",this.attrs["button-repaint"])},buttonhover:function(a,d,c,e,l,k){var w=this._.button;c=c||this;e=e||this;k=k||this;l&&(w.mousemove=function(){return l.apply(k,arguments)});w.hoverbackIn=function(){return a.apply(c,arguments)};w.hoverbackOut=function(){return d.apply(e,arguments)};return this},remove:function(){var a=this._.button,d;this.attr("button-disabled","true");for(d in a)a[d]&&a[d].remove&&a[d].remove(),
a[d]=null;delete this._.button;F.el.remove.apply(this,arguments)}},ca:{"button-active":function(a){this.attr("fill",(this.active=!!a)?"active":this.hovered&&"hover"||"normal")},"button-disabled":function(a){var d=this._.button,c=d.tracker,e=this.attrs["button-disabled"],l=this.paper.button.data,k=this._disabled||{};a=$[a];e=$[e];if(void 0!==a&&a!==e)switch(a){case !0:k.fill||k.stroke||k["stroke-width"]||k.cursor?(k.fill&&this.bottom.attr("fill",k.fill)&&d.symbol.attr("fill",k.fill),k.stroke&&this.bottom.attr("stroke",
k.stroke)&&d.symbol.attr("stroke",k.stroke),k["stroke-width"]&&this.bottom.attr("stroke-width",k["stroke-width"]&&d.symbol.attr("fill",k.fill)),k.cursor&&d.tracker.attr("cursor",k.cursor)):c.attr("fill","rgba(204,204,205,.5)");c.unmousedown(l.mousedown).unmouseup(l.mouseup).unhover(l.hoverin,l.hoverout).unmousemove(l.mousemove);break;case !1:c.attr("fill",H).mousedown(l.mousedown,this).mouseup(l.mouseup,this,!0).hover(l.hoverin,l.hoverout,this,this).mousemove(l.mousemove,this)}},"button-label":function(a){var d=
this._.button,c=this.attrs,e=d.label,l=d.cssArg,k=this.attrs["button-repaint"];a=Q(a||"");"none"===a?e&&(d.label=e.remove()):a&&(!e&&(e=d.label=this.paper.text(this).insertBefore(d.tracker)),e.attr({text:a,"text-anchor":"middle","vertical-align":"middle"}),l&&l.length&&e.css.apply(e,l));k&&c["button-label"]!==a&&this.attr("button-repaint",k)},"button-symbol":function(a){var d=this._.button,c=d.symbol,e=this.attrs["button-repaint"];a=Q(a||"");"none"===a?(c&&(d.symbol=c.remove()),delete d.symbol):a&&
!c&&(d.symbol=this.paper.symbol(this).insertAfter(d.bound));e&&this.attr("button-repaint",e)},"button-symbol-position":function(a){return{"button-symbol-position":{top:"top",right:"right",bottom:"bottom",left:"left",none:"none"}[Q(a).toLowerCase()]||"none"}},"button-symbol-padding":function(a){return{"button-symbol-padding":B(a)}},"button-padding":function(a,d){return{"button-padding":[null==a&&(a=5)||B(a),null==d&&a||B(d)]}},"button-repaint":function(a,d,c,e,l){var k=this._.button,w=k.bound,m=k.label,
p=k.symbol,n=this.attrs,D=n["button-padding"],t=D[0],B=D[1],H,r;void 0===a&&(a=0);void 0===d&&(d=0);if(void 0===c||void 0===e)H=m&&m.getBBox()||{width:0,height:0},void 0===c&&(c=2*t+H.width),void 0===e&&(e=2*B+H.height);w=F.crispBound(a,d,c,e,w.attr("stroke-width"));w.r=F.pick(l,q(.1*G(e,c)));a=w.x;d=w.y;c=w.width;e=w.height;m&&m.attr({x:a+c/2,y:d+e/2});if(p){!F.is(r=n["button-symbol-padding"],"finite")&&(r=.2*e);l=e-B;H=.5*l;switch(n["button-symbol-position"]+(m&&"+"||"-")){case "right+":a=a+(c+
(2*H+B))-H-t;d+=.5*e;m.attr("transform",["t",-(l+r),0]);break;case "left+":a=a+t+H;d+=.5*e;m.attr("transform",["t",l+r,0]);break;case "top+":a+=.5*c;d=d+D[1]+H;m.attr("transform",["t",0,l+r]);break;case "bottom+":a+=.5*c;d=d+(e+(2*H+r))-B-H;m.attr("transform",["t",0,-(l+r)]);break;default:a+=.5*c,d+=.5*e}p.attr("symbol",[n["button-symbol"],a,d,H])}k.bound.attr(w);k.tracker.attr(w)},fill:function(a,d,c,e,l){var k=this._.button,w=k.bound,m=k.symbol,p=k.label,n={normal:k.gradient,active:k.gradientActive,
hover:k.gradientHover}[a];n||(l||(a=F.getRGB(a),a.error&&(a=F.color("#cccccc")),a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")"),k.gradient=l?a:[90,F.tintshade(a,-.8).rgba+":0",F.tintshade(a,.8).rgba+":100"].join("-"),k.gradientActive=[270,F.tintshade(a,-.8).rgba+":0",F.tintshade(a,.8).rgba+":100"].join("-"),e=F.getRGB(e),e.error&&(e=a)||(e="opacity"in e?"rgba("+[e.r,e.g,e.b,e.opacity]+")":"rgb("+[e.r,e.g,e.b]+")"),k.gradientHover=l?e:[90,F.tintshade(e,-.9).rgba+":0",
F.tintshade(e,.7).rgba+":100"].join("-"),c=c||F.tintshade(a,.2).rgba,d=d||F.tintshade(a,-.2).rgba,k.symbolFill=c,k.labelFill=d,n=(this.pressed||this.active)&&k.gradientActive||this.hovered&&k.gradienthover||k.gradient);w.attr("fill",n);m&&m.attr("fill",k.symbolFill);p&&p.attr("fill",k.labelFill);return!1},stroke:function(a,d){var c=this._.button,e=c.symbol;a=F.color(a);a.error&&(a=F.color("#999999"));c.bound.attr("stroke",a);e&&e.attr("stroke",d||a);return!1},"stroke-width":function(a,d){var c=this._.button,
e=c.symbol;c.bound.attr("stroke-width",a);c.tracker.attr("stroke-width",a);e&&e.attr("stroke-width",d);return!1},config:function(a){a.hover&&(this._hover={fill:a.hover.fill,stroke:a.hover.stroke,"stroke-width":a.hover["stroke-width"],cursor:a.hover.cursor});a.disabled&&(this._disabled={fill:a.disabled.fill,stroke:a.disabled.stroke,"stroke-width":a.disabled["stroke-width"],cursor:a.disabled.cursor});a.pressed&&(this._pressed={fill:a.pressed.fill,stroke:a.pressed.stroke,"stroke-width":a.pressed["stroke-width"],
cursor:a.pressed.cursor});a.normal&&(this._normal={fill:a.normal.fill,stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"],cursor:a.normal.cursor});a.symbol&&(a.symbol={stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"]})}}},{name:"trianglepath",trianglepath:function(){var a=arguments,d=F._lastArgIfGroup(a);return this.path(d).attr("trianglepath",[a[0],a[1],a[2],a[3],a[4],a[5],a[6]||0,a[7]||0,a[8]||0])},fn:{sides:function(){var a=this._args;return[Z(a[0],a[1],a[2],a[3]),Z(a[2],
a[3],a[4],a[5]),Z(a[4],a[5],a[0],a[1])]},enclosedAngles:function(){var a=this._sides;return[z((J(a[0],2)+J(a[2],2)-J(a[1],2))/(2*a[0]*a[2])),z((J(a[0],2)+J(a[1],2)-J(a[2],2))/(2*a[0]*a[1])),z((J(a[2],2)+J(a[1],2)-J(a[0],2))/(2*a[2]*a[1]))]},semiperimeter:function(){var a=this._sides||this.sides();return(a[0]+a[1]+a[2])/2}},ca:{trianglepath:function(a,d,e,l,k,w,m,p,F){if(m||p||F){this._args=arguments;this._sides=this.sides();var q=this.enclosedAngles(),D;D=this.semiperimeter();D=c(D*(D-this._sides[0])*
(D-this._sides[1])*(D-this._sides[2]))/D;q=[G(m,D)/n(q[0]/2),G(p,D)/n(q[1]/2),G(F,D)/n(q[2]/2)];q=[Ja(a,d,k,w,q[0]),Ja(a,d,e,l,q[0]),Ja(e,l,a,d,q[1]),Ja(e,l,k,w,q[1]),Ja(k,w,e,l,q[2]),Ja(k,w,a,d,q[2])];this.attr({path:["M",q[0].x,q[0].y,"Q",a,d,q[1].x,q[1].y,"L",q[2].x,q[2].y,"Q",e,l,q[3].x,q[3].y,"L",q[4].x,q[4].y,"Q",k,w,q[5].x,q[5].y,"L",q[0].x,q[0].y]})}else this.attr({path:["M",a,d,"L",e,l,k,w,"Z"]})}}}]);F.ca["text-bound"]=function(a,d,c,e,l,k){e=this.paper;var w=this._.textbound;if("text"===
this.type){if(!(d&&"none"!==d||a&&"none"!==a))return this._.textbound=w&&w.unfollow(this).remove(),!1;c&&F.is(c,"finite")||(c=0);l&&F.is(l,"finite")||(l=0);!w&&(w=this._.textbound=e.rect(0,0,0,0,this.group).follow(this,F.ca["text-bound"].reposition,"before"));w.attr({stroke:d,"stroke-width":c,fill:a,"shape-rendering":1===c&&"crisp"||"",r:l});k&&w.attr("stroke-dasharray",k);F.ca["text-bound"].reposition.call(w,this.attr(),this);return!1}};F.ca["text-bound"].reposition=function(a,d){var c={},e,l,k,
w,m;a.hasOwnProperty("visibility")&&this.attr("visibility",a.visibility);if(a.hasOwnProperty("text-bound")||a.hasOwnProperty("x")||a.hasOwnProperty("y")||a.hasOwnProperty("text")||a.hasOwnProperty("text-anchor")||a.hasOwnProperty("text-align")||a.hasOwnProperty("font-size")||a.hasOwnProperty("line-height")||a.hasOwnProperty("vertical-align")||a.hasOwnProperty("transform")||a.hasOwnProperty("rotation"))e=d.attrs["text-bound"],l=Q(e&&e[3]||"0").split(ea),e=B(l[0])||0,l=F.pick(B(l[1]),e),k=d.getBBox(),
w=k.width,m=k.height,isNaN(w)||(c.x=k.x-e,c.y=k.y-l,c.width=w+2*e,c.height=m+2*l),this.attr(c)};F.fn.symbol=function(){var a=arguments,d=a.length-1,c=a[d];c&&c.constructor===F.el.constructor?a[d]=void 0:c=void 0;d=this.path(void 0,c);d.ca.symbol=F.fn.symbol.ca.symbol;return a.length===!!c+0?d:d.attr("symbol",a)};F.fn.getSuggestiveRotation=function(){var a,d,c;a=arguments[0];1===arguments.length?(d=a.angle,c=a.x,a=a.y):(d=a,c=arguments[1],a=arguments[2]);return"r"+(d||0)+","+c+","+a};F.fn.symbol.cache=
{"":F._cacher(function(a,d,c,e){return 3<arguments.length?["M",a,d,"h",c,"v",e,"h",-c,"v",-e,"z"]:["M",a-c,d-c,"h",c*=2,"v",c,"h",-c,"v",-c,"z"]})};F.fn.symbol.ca={symbol:function(a){var d=F.is(a,"object")&&1===arguments.length&&!F.is(a,"function")?a:arguments,c;d===a&&(a=d[0]);d=(c=F.is(a,"function")&&a||F.fn.symbol.cache[a]||F.fn.symbol.cache[""])&&c.apply(F,l.call(d,1));F.is(d,"array")||F.is(d,"string")?this.attr("path",d):d&&this.attr(d)}};F.addSymbol=function(a,d){var c=F.is(d,"function")&&(c=
{},c[a]=d,c)||a,e=F.fn.symbol.cache,l=[],k;for(k in c)d=c[k],e[k]=F.is(d,"function")&&F._cacher(d,F)||(l.push(k),d);for(;k=l.pop();)e[k]=e[e[k]]};F.svg?(X="$1",ga=function(a){a?"string"===typeof a?a=a.replace(ia,X):a.toString=ca:a="M0,0";this.node.setAttribute("d",a.toString())},F._engine.litepath=function(a,d,c,e){a=D("path");(e||d).canvas.appendChild(a);d=new P(a,d,e);d.type="litepath";d.id=a.raphaelid=F._oid++;a.raphael=!0;V(d,{fill:"none",stroke:"#000"});return d},F._getPath.litepath=function(a){return F.parsePathString(a.node.getAttribute("d"))}):
F.vml&&(X=function(a,d){return ba[d]||d},da=function(){this._transform.apply(this,arguments);this._.bcoord&&(this.node.coordsize=this._.bcoord);return this},ga=function(a){a?"string"===typeof a?a=a.replace(ia,X):a.toString=ca:a="M0,0";this.node.path=a;return this},F._engine.litepath=function(a,d,c,e){a=D("shape");var l=a.style,k=new P(a,d,e);l.cssText="position:absolute;left:0;top:0;width:21600px;height:21600px;";c=B(c);isNaN(c)?a.coordsize="21600 21600":(k._.bzoom=c,l.width="1px",l.height="1px",
a.coordsize=k._.bcoord=c+" "+c);a.coordorigin=d.coordorigin;k.type="litepath";k.id=a.raphaelid=F._oid++;a.raphael=!0;k._transform=k.transform;k.transform=da;F._setFillAndStroke(k,{fill:"none",stroke:"#000"});(e||d).canvas.appendChild(a);d=D("skew");d.on=!0;a.appendChild(d);k.skew=d;return k},F._getPath.litepath=function(a){return F.parsePathString(a.node.path||"")});F.fn.litepath=function(a,d,c){d&&d.constructor===P&&(c=d,d=void 0);a&&a.constructor===P&&(c=a,a="");d=F._engine.litepath(a,this,d,c);
d.ca.litepath=ga;a&&d.attr("litepath",F.is(a,"array")?[a]:a);return this.__set__&&this.__set__.push(d),this._elementsById[d.id]=d}}]);
FusionCharts.register("module",["private","modules.renderer.js-htmlrenderer",function(){var k=this.hcLib,m=k.Raphael,C=k.dem,r=this.window,e=r.document,a=/msie/i.test(r.navigator.userAgent)&&!r.opera,M="VML"===m.type,J=k.hasTouch,I={cursor:"cursor"},n={x:"left",y:"top",strokeWidth:"borderThickness","stroke-width":"borderThickness",width:"width",height:"height"},z={fill:"backgroundColor",stroke:"borderColor",color:"color"},G={left:0,top:0,padding:0,border:"none",margin:0,outline:"none","-webkit-apperance":"none",
position:"absolute",zIndex:20},q,t=function(a,d,c,k){a=e.createElement(a);for(var l in d)n[l]?a.style[l]=d[l]:a.setAttribute(l,d[l]);for(l in c)a.style[l]=c[l];k&&k.appendChild&&k.appendChild(a);return a},c;c=function(a,d,e){d&&d instanceof c&&(d=d.element);(this.element=t(a,e,G,d)).ishot="true";this.nodeName=a.toLowerCase();this.added=Boolean(d)};c.prototype={attr:function(c){var d=this.element,k={},m,l,w,q,F,t,D;if("object"!==typeof c){if(!(k=this[c])){if("string"===typeof c)d&&d.getAttribute&&
(q=d.getAttribute(c));else if(void 0!==c&&null!==c&&"object"===typeof c)for(w in c)d.setAttribute(w,c[w]);k=q}return k}for(m in c){w=c[m];if(I[m]){switch(m){case "cursor":"pointer"===w&&M&&(w="hand")}d.style[I[m]]=w;l=!0}else if(n[m])d.style[n[m]]=w+"px",l=!0;else if(z[m])d.style[z[m]]=w&&w.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none",l=!0;else if(/^visibility$/i.test(m))l="hidden"===w,d.style.display=l?"none":"",this.hidden=l,l=!0;else if(/^opacity$/i.test(m))d.style.opacity=w,a&&(l=100*Number(w),d.style.filter=
"progid:DXImageTransform.Microsoft.Alpha(Opacity="+l+")"),l=!0;else if(/^innerhtml$/i.test(m)){if(M&&"select"==d.nodeName.toLowerCase()){for(l=w.match(/<option\s?[\s\S]*?(\/>|><\/option>|>[\s\S]*?<\/option>)/ig);d.firstChild;)d.removeChild(d.firstChild);F=0;for(t=l.length;F<t;F+=1)q=l[F],D=e.createElement("option"),/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig.test(q)&&(D.value=q.replace(/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig,"$1").replace(/[\s\S]*value\s*\=\s*[\'\"]([\s\S]*)[\'\"]/,
"$1")),D.text=q.replace(/<option\s*[\s\S]*[\'\"]?\s*?[\/>|\>]([\s\S]*)<\/option>/ig,"$1 "),d.options.add(D)}else"input"!==d.nodeName.toLowerCase()&&void 0!==w&&(d.innerHTML=w||"");l=!0}else/^text$/i.test(m)?("input"!==d.nodeName.toLowerCase()&&(d.innerHTML="",void 0!==w&&d.appendChild(e.createTextNode(w))),l=!0):/^type$/i.test(m)&&a&&this.added&&(l=!0);l&&(k[m]=w,delete c[m],l=!1)}for(m in c)d.setAttribute(m,c[m]);for(m in k)this[m]=c[m]=k[m],delete k[m];return this},val:function(a){var d=this.element,
c=void 0===a;return"input"===this.nodeName&&"checkbox"===d.getAttribute("type")?c?this.checked()?1:0:this.checked(a):c?d.value:(d.value=a,this)},checked:function(a){var d=this.element;return void 0===a?d.checked:(a?d.setAttribute("checked","checked"):d.removeAttribute("checked"),this)},css:function(a,d){var c=this.element.style,e;if("object"===typeof a)for(e in a)c[e]=a[e];else e&&void 0!==d&&(c[e]=d);return this},translate:function(a,d){var c=this.element;void 0!==a&&(c.style.left=a+"px");void 0!==
d&&(c.style.top=d+"px");return this},add:function(a,d){var c=this.element,e=a.element;d?e.insertBefore(c,e.firstChild):e.appendChild(c);this.added=!0;return this},hide:function(){this.element.style.display="none";return this},show:function(){this.element.style.display="";return this},focus:function(){"function"===typeof this.element.focus?this.element.focus():k.dem.fire(this.element,"focus")},destroy:function(){var a=this.element||{};a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.onblur=a.onfocus=
null;q||(q=t("div"));a&&q.appendChild(a);q.innerHTML="";delete this.element;return null},on:M?function(a,d){this.element["on"+a]=function(){var a=r.event;a.target=a.srcElement;d(a)};return this}:function(a,d){var c=d;J&&"click"===a&&(a="touchstart",c=function(a){a.preventDefault();d()});this.element["on"+a]=c;return this},bind:function(a,d,c){C.listen(this.element,a,d,c);return this},unbind:function(a,d){C.unlisten(this.element,a,d);return this},trigger:function(a,d){C.fire(this.element,a,d);return this},
fadeIn:function(a,d){var c="fast"===a?400:1E3;this.show();this.attr({opacity:0});k.danimate.animate(this.element,{opacity:1},c,"linear",d)},animate:function(a,d,c,e){k.danimate.animate(this.element,a,d,c,e)}};c.prototype.constructor=c;m.fn.html=function(a,d,e,k){var l={},w;d&&"type"in d&&(l.type=d.type,delete d.type);a=(new c(a,k,l)).css(e).attr(d);for(w in l)d[w]=l[w];return a}}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaeltooltip",function(){var k=this,m=k.window,C=m.document,r=C.body||C.getElementsByTagName("body")[0],e=k.hcLib,a=e.Raphael,M=a.eve,J=e.createElement,I=e.addEvent,n=e.removeEvent,z=e.getPosition,G=e.hasTouch,q=e.getTouchEvent,t=m.Math,c=t.ceil,p=t.floor,d={},B=m.screen.availHeight,Q=m.screen.availWidth,l={E:1,moz:1,webkit:1,o:1,ms:1},w={borderRadius:"borderRadius",boxShadow:"boxShadow"},H=/\-([a-z])/ig,F=function(a,d){return d.toUpperCase()},
T=function(d){var c=D.forbiddenStyle,e,k,m;for(e in d)k=H.test(e)?e.replace(H,F):e,void 0!==d[e]&&!c[k]&&(this[k]=d[e]),a.vml&&/color/ig.test(k)&&(this[k]=a.getRGB(this[k]).toString());for(e in w)if(this[e])for(m in l)this[m+e]=this[e]},D=e.toolTip={elementId:"fusioncharts-tooltip-element",element:null,lastTarget:null,currentTarget:null,currentPaper:null,pointeroffset:12,prevented:!1,defaultStyle:e.extend2(T.prototype,{backgroundColor:"#ffffee",borderColor:"#000000",borderWidth:"1px",color:"#000000",
fontSize:"10px",lineHeight:"12px",padding:"3px",borderStyle:"solid"}),defaultContainerStyle:{position:"absolute",textAlign:"left",margin:"0",zIndex:"99999",pointer:"default",display:"block"},forbiddenStyle:{}},V=function(a){!0===D._oobready?D._oobready=!1:(n(r,"touchstart",V),!D.hidden&&D.currentTarget&&(a=a.srcElement||a.target||d,a.raphael&&D.currentTarget.paper.getById(a.raphaelid)===D.currentTarget||D.hide()))};a.svg&&(D.defaultContainerStyle.pointerEvents="none",D.defaultStyle.borderRadius="0",
D.defaultStyle.boxShadow="none");a.vml&&(D.forbiddenStyle.borderRadius=!0,D.forbiddenStyle.boxShadow=!0,D.defaultStyle.filter="");D.setup=function(){var d=D.container,c=D.textElement,e=D.style,l=D.defaultContainerStyle,w=D.forbiddenStyle,m;d||(d=D.element=J("span"),(C.body||C.getElementsByTagName("body")[0]).appendChild(d),d.setAttribute("id",D.elementId),e=D.containerStyle=d.style,c=D.textElement=J("span"),d.appendChild(c),D.style=a.vml?c.runtimeStyle:c.style,D.style.overflow="hidden",D.style.display=
"block",D.hidden=!1,D.hide());for(m in l)!w[m]&&(e[m]=l[m]);D.scatted=!0;M.on("raphael.drag.start.*",function(){D.scatted&&(D.waitingScat=!0)});M.on("raphael.drag.move.*",function(){D.waitingScat&&(D.block(),D.waitingScat=!1)});M.on("raphael.drag.end.*",function(){D.waitingScat=!1;D.scatted&&D.unblock(!0)});M.on("raphael.remove",function(){if(D.currentPaper===this||D.currentTarget&&D.currentTarget.paper===this)D.hide(),D.currentTarget=D.currentPaper=null});k.addEventListener("LinkedChartInvoked",
function(a){D.currentPaper===a.sender.apiInstance.components.paper&&D.hide()});k.addEventListener("realTimeUpdateComplete",function(a){D.currentPaper===a.sender.apiInstance.components.paper&&D.hide()})};D.restyle=function(a){var d=D.style,c;for(c in a)d[c]=a[c]};D.onelement=function(a){if(!a.__tipProcessed){var d=this.paper,c="group"===this.type?d&&d._elementFromEvent(a):this,e=d.__tipStyle;c&&e&&c.__tipNeeded&&((a.originalEvent||a).FusionChartsPreventEvent&&D.preventTooltip(),D.hiding&&(D.hiding=
clearTimeout(D.hiding)),D.currentPaper!==d&&(d.__tipCp=d.canvas&&z(d.canvas.parentNode,!0)||{},D.restyle(d.__tipStyle),D.currentPaper=d),D.lastTarget=D.currentTarget,D.currentTarget=c,(D.scatted=c.__tipScatted)&&D.unblock(!0),D.onredraw.call(this,a),a.__tipProcessed=!0,G&&(D._oobready=!0,I(r||(r=C.body||C.getElementsByTagName("body")[0]),"touchstart",V)))}};D.onredraw=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===D.currentTarget&&(a=q(a),D.x=p(a.pageX||
a.clientX+C.body.scrollLeft+C.documentElement.scrollLeft||0),D.y=p(a.pageY||a.clientY+C.body.scrollTop+C.documentElement.scrollTop||0),D.redraw()))};D.onhide=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===D.currentTarget&&(D.hiding=setTimeout(D.hide,200)))};D.redraw=function(){if(!D.prevented&&!D.blocked&&D.currentTarget&&D.currentTarget.__tipNeeded){var a=D.currentTarget,d=a.paper,e=D.textElement,l=D.containerStyle,k=D.style,w=a.__tipText,a=D.pointeroffset,
m=d.__tipCp,p=C.documentElement||C.body,F=p.scrollLeft,p=p.scrollTop,n=D.x,q=D.y,t,R=d.width,H=d.height,d=d.__tipConstrain;if(100>R||100>H)d=!1;D.hidden&&(D.containerStyle.top="-999em",D.show());w!==D.text&&(D.text=w,l.width=l.height="",e.innerHTML=w,k.whiteSpace="nowrap",t=c(k.pixelWidth||e.offsetWidth||0),w=c(k.pixelHeight||e.offsetHeight||0),(D.textWidthOverflow=n+t>m.left+R)?(t=R-2*a>t?l.width:R-2*a||0,l.width=t&&t+"px"||"",k.whiteSpace="normal"):l.width="",(D.textHeightOverflow=w>H)?(l.height=
(H||0)-2*a+"px",k.whiteSpace="normal"):l.height="");t=c(k.pixelWidth||e.offsetWidth||0);w=c(k.pixelHeight||e.offsetHeight||0);d?(D.textWidthOverflow?n=(n-t<m.left?m.left:n-t)-F:n+a+t>m.left-F+R-a&&(n=n-t-a),D.textHeightOverflow?q=m.top-p:q+a+w>m.top-p+H-a&&(q=q-w-1.5*a)):(F+Q<n+a+t&&(n=n-t-a),p+B<q+a+w&&(q=q-w-1.5*a));l.left=(n+a||0)+"px";l.top=(q+a||0)+"px";D.hidden&&D.show()}};D.hide=function(){D.hiding&&(D.hiding=clearTimeout(D.hiding));D.containerStyle.display="none";D.hidden=!0;D.prevented=!1};
D.show=function(){D.blocked||(D.hiding&&(D.hiding=clearTimeout(D.hiding)),D.containerStyle.display="inline",D.hidden=!1)};D.preventTooltip=function(){D.prevented=!0};D.block=function(){D.blocked=!0;D.containerStyle.display="none"};D.unblock=function(a){D.blocked=!1;a&&(D.containerStyle.display=D.hidden&&"none"||"inline")};a.fn.tooltip=function(d,c,e){c&&(c=.4*(void 0===c.opacity?1:c.opacity),a.svg?d.boxShadow="1px 1px 3px rgba(64,64,64,"+c+")":d.filter='progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color="#404040", shadowOpacity="'+
c/2+'")');this.__tipStyle=new T(d);this.__tipCp=this.canvas&&z(this.canvas.parentNode,!0)||{};this.__tipConstrain=Boolean(e);D.style&&D.restyle(this.__tipStyle);D.containerStyle&&D.hide();return this};a.el.trackTooltip=function(a){var d=!!this.__tiptracking;if(void 0===a||(a=!!a)===d)return this;a?G?this.touchstart(D.onelement):(this.mouseover(D.onelement),this.mousemove(D.onredraw),this.mouseout(D.onhide)):G?this.untouchstart(D.onelement):(this.unmouseover(D.onelement),this.unmousemove(D.onredraw),
this.unmouseout(D.onhide));this.__tiptracking=a;return this};a.el.tooltip=function(d,c,e,l,k){D.setup();a.el.tooltip=function(a,d,c,e,l){if(D.element && !document.getElementById(D.element.id)){D.setup();}d=!1===a||void 0===a||""===a;this.__tipScatted=void 0===e?this.__tipScatted:!e;void 0===this.__tipScatted&&(this.__tipScatted=!0);null!==l&&(this.__tip_blocked=l);d^!this.__tipText&&(this.__tipNeeded=!d);this.__tipText=a;if(D.currentTarget===this&&a!==D.text&&!D.hidden)D[d?"hide":"redraw"]();return this};return a.el.tooltip.call(this,d,c,e,l,k)};k.core._setTooltipZIndex=
function(a){a=parseInt(a,10);D&&!isNaN(a)&&(D.defaultContainerStyle.zIndex=a,D.containerStyle&&(D.containerStyle.zIndex=a))}}]);
FusionCharts.register("module",["private","modules.renderer.js-smartlabel",function(){var k=this.hcLib,m=k.isIE,C=k.hasSVG,r=Math.max,e=this.window,a=/ HtmlUnit/.test(e.navigator.userAgent),M=e.document,J=/ AppleWebKit\//.test(e.navigator.userAgent),I=!!M.createElement("canvas").getContext,n=!(!I||!M.createElement("canvas").getContext("2d").measureText),z=/<br\/>/ig,G=[],e=function(){function e(a,d,c){if(!a||!a.length)return 0;var l=c.getWidthFunction(),k=0,w=0,w=l(a),m=w/a.length;c=d;k=Math.ceil(d/
m);if(w<d)return a.length-1;k>a.length&&(c=d-w,k=a.length);for(;0<c;)if(c=d-l(a.substr(0,k)),w=Math.floor(c/m))k+=w;else return k;for(;0>c;)if(c=d-l(a.substr(0,k)),w=Math.floor(c/m))k+=w;else break;return k}function t(a,d){d=5<d?d:5;this.maxContainers=20>d?d:20;this.last=this.first=null;this.containers={};this.length=0;this.rootNode=a;if(V){var c=M.createElementNS("http://www.w3.org/2000/svg","svg");c.setAttributeNS("http://www.w3.org/2000/svg","xlink","http://www.w3.org/1999/xlink");c.setAttributeNS("http://www.w3.org/2000/svg",
"height","0");c.setAttributeNS("http://www.w3.org/2000/svg","width","0");this.svgRoot=c;this.rootNode.appendChild(c)}}function c(d,c,e){if("undefined"!==typeof d&&"object"!==typeof d){this.id=d;var l;"string"===typeof c&&(c=M.getElementById(c));a:{if(c&&(c.offsetWidth||c.offsetHeight)){if(c.appendChild){c.appendChild(c=M.createElement("div"));c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");d=c;break a}}else if((d=M.getElementsByTagName("body")[0])&&
d.appendChild){c=M.createElement("div");c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");d.appendChild(c);d=c;break a}d=void 0}d=this.parentContainer=d;d.innerHTML="WgI";if(a||!m&&!d.offsetHeight&&!d.offsetWidth)V=!0;d.innerHTML="";for(l in B)d.style[l]=B[l];this.containerManager=new t(d,10);this.showNoEllipses=!e;this.init=!0;this.style={};this.setStyle()}}var p=k.supportedStyle,d={fontWeight:1,"font-weight":1,fontStyle:1,
"font-style":1,fontSize:1,"font-size":1,fontFamily:1,"font-family":1},B={position:"absolute",top:"-9999em",whiteSpace:"nowrap",padding:"0px",width:"1px",height:"1px",overflow:"hidden"},Q=J?0:4.5,l=0,w=/\b_SmartLabel\b/,H=/\b_SmartLabelBR\b/,F=/(<[^<\>]+?\>)|(&(?:[a-z]+|#[0-9]+);|.)/ig,T=RegExp("\\<span[^\\>]+?_SmartLabel[^\\>]{0,}\\>(.*?)\\<\\/span\\>","ig"),D=/<[^>][^<]*[^>]+>/i,V=!1,P=0,fa=0,$,ba,ia;M.getElementsByClassName?($="getElementsByClassName",ba="_SmartLabel",ia=!0):($="getElementsByTagName",
ba="span",ia=!1);t.prototype={get:function(a){var d=this.containers,c=this.length,e=this.maxContainers,l,k="",w="",w=this.getCanvasFont(a);for(l in p)void 0!==a[l]&&(k+=p[l]+":"+a[l]+";");if(!k)return!1;if(d[k])k=d[k],this.first!==k&&(k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),k.next=this.first,k.next.prev=k,this.last===k&&(this.last=k.prev),k.prev=null,this.first=k);else{if(c>=e)for(a=c-e+1;a--;)this.removeContainer(this.last);k=this.addContainer(k,w)}return k},getCanvasFont:function(a){var c,
e=[];if(!I||!n)return!1;for(c in d)void 0!==a[c]&&e.push(a[c]);return e.join(" ")},setMax:function(a){var d=this.length;a=5<a?a:5;a=20>a?a:20;if(a<d){for(d-=a;d--;)this.removeContainer(this.last);this.length=a}this.maxContainers=a},addContainer:function(a,d){var c,e;this.containers[a]=e={next:null,prev:null,node:null,ellipsesWidth:0,lineHeight:0,dotWidth:0,avgCharWidth:4,keyStr:a,canvasStr:d,charCache:{}};e.next=this.first;e.next&&(e.next.prev=e);this.first=e;this.last||(this.last=e);this.length+=
1;c=e.node=M.createElement("div");this.rootNode.appendChild(c);m&&!C?c.style.setAttribute("cssText",a):c.setAttribute("style",a);c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");c.style.display="inline-block";c.innerHTML="WgI";e.lineHeight=c.offsetHeight;e.avgCharWidth=c.offsetWidth/3;V?(c=e.svgText=M.createElementNS("http://www.w3.org/2000/svg","text"),c.setAttribute("style",a),this.svgRoot.appendChild(c),c.textContent="WgI",e.lineHeight=c.getBBox().height,e.avgCharWidth=
(c.getBBox().width-Q)/3,c.textContent="...",e.ellipsesWidth=c.getBBox().width-Q,c.textContent=".",e.dotWidth=c.getBBox().width-Q):d?(c=e.canvas=M.createElement("canvas"),c.style.height=c.style.width="0px",this.rootNode.appendChild(c),e.context=c=c.getContext("2d"),c.font=d,e.ellipsesWidth=c.measureText("...").width,e.dotWidth=c.measureText(".").width):(c.innerHTML="...",e.ellipsesWidth=c.offsetWidth,c.innerHTML=".",e.dotWidth=c.offsetWidth,c.innerHTML="");return e},removeContainer:function(a){var d=
a.keyStr;d&&this.length&&a&&(--this.length,a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),this.first===a&&(this.first=a.next),this.last===a&&(this.last=a.prev),a.node.parentNode.removeChild(a.node),a.canvas&&a.canvas.parentNode.removeChild(a.canvas),delete this.containers[d])},dispose:function(){var a,d=this.containers;this.maxContainers=null;for(a in d)this.removeContainer(d[a]);this.rootNode.parentNode.removeChild(this.rootNode);this.last=this.first=this.rootNode=null}};t.prototype.constructor=
t;c.prototype={dispose:function(){this.init&&(this.containerManager&&this.containerManager.dispose&&this.containerManager.dispose(),delete this.container,delete this.context,delete this.cache,delete this.containerManager,delete this.containerObj,delete this.id,delete this.style,delete this.parentContainer,delete this.showNoEllipses)},useEllipsesOnOverflow:function(a){this.init&&(this.showNoEllipses=!a)},getWidthFunction:function(){var a=this.context,d=this.container,c=this.containerObj.svgText;return c?
function(a){var d;c.textContent=a;a=c.getBBox();d=a.width-Q;1>d&&(d=a.width);return d}:a?function(d){d=d&&d.split?d.split(z):G;for(var c=0,e=d.length,l=0,c=0;c<e;c+=1)l=r(a.measureText(d[c]||"").width,l);return l}:function(a){d.innerHTML=a;return d.offsetWidth}},getSmartText:function(a,d,c,k){if(!this.init)return!1;if(void 0===a||null===a)a="";var m={text:a,maxWidth:d,maxHeight:c,width:null,height:null,oriTextWidth:null,oriTextHeight:null,oriText:a,isTruncated:!1},p=!1,n,t,B=0,z,U,C,la=-1,G=p=-1;
t=this.container;var I=this.context,J=0;C=0;var na,Q,Da;Da=[];var ha=0,Ia=this.showNoEllipses?"":"...";U=this.lineHeight;var wa,J=[],la=n=-1;wa=function(a){a=a.replace(/^\s\s*/,"");for(var d=/\s/,c=a.length;d.test(a.charAt(--c)););return a.slice(0,c+1)};p=-1;Q=this.getWidthFunction();c===U&&(c*=1.2);if(t){if(!V){t.innerHTML=a;m.oriTextWidth=p=t.offsetWidth;m.oriTextHeight=C=t.offsetHeight;if(C<=c&&p<=d)return m.width=m.oriTextWidth=p,m.height=m.oriTextHeight=C,m;if(U>c)return m.text="",m.width=m.oriTextWidth=
0,m.height=m.oriTextHeight=0,m}a=wa(a).replace(/(\s+)/g," ");p=D.test(a);U=this.showNoEllipses?d:d-l;if(p){B=a.replace(F,"$2");a=a.replace(F,'$1<span class="_SmartLabel">$2</span>');a=a.replace(/(<br\s*\/*\>)/g,'<span class="_SmartLabel _SmartLabelBR">$1</span>');t.innerHTML=a;ha=t[$](ba);I=0;for(Q=ha.length;I<Q;I+=1)if(a=ha[I],ia||w.test(a.className))wa=a.innerHTML,""!==wa&&(" "===wa?la=J.length:"-"===wa&&(n=J.length),J.push({spaceIdx:la,dashIdx:n,elem:a}),Da.push(wa));ha=0;n=J.length;P=J[0].elem.offsetWidth;
if(P>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;P>U&&!this.showNoEllipses&&(U=d-2*fa,U>P?Ia="..":(U=d-fa,U>P?Ia=".":(U=0,Ia="")));Da=J[0].elem.offsetLeft;I=J[0].elem.offsetTop;if(k)for(;ha<n;ha+=1)a=J[ha].elem,Q=a.offsetLeft-Da+a.offsetWidth,Q>U&&(na||(na=ha),t.offsetWidth>d&&(z=ha,ha=n));else for(;ha<n;ha+=1)a=J[ha].elem,wa=a.offsetHeight+(a.offsetTop-I),Q=a.offsetLeft-Da+a.offsetWidth,k=null,Q>U?(na||(na=ha),Q>d&&(p=J[ha].spaceIdx,la=J[ha].dashIdx,p>G?(J[p].elem.innerHTML=
"<br/>",G=p):la>G?(J[la].elem.innerHTML=la===ha?"<br/>-":"-<br/>",G=la):a.parentNode.insertBefore(k=M.createElement("br"),a),a.offsetHeight+a.offsetTop>c?(k?k.parentNode.removeChild(k):G===la?J[la].elem.innerHTML="-":J[p].elem.innerHTML=" ",z=ha,ha=n):na=null)):wa>c&&(z=ha,ha=n);if(z<n){m.isTruncated=!0;na=na?na:z;for(ha=n-1;ha>=na;--ha)a=J[ha].elem,a.parentNode.removeChild(a);for(;0<=ha;--ha)a=J[ha].elem,H.test(a.className)?a.parentNode.removeChild(a):ha=0}m.text=t.innerHTML.replace(T,"$1").replace(/\&amp\;/g,
"&");m.isTruncated&&(m.text+=Ia,m.tooltext=B)}else{Da=a.split("");n=Da.length;t="";z=[];na=Da[0];this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]={width:P});if(U>P)z=a.substr(0,e(a,U,this)).split(""),ha=z.length;else{if(P>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;Ia&&(U=d-2*fa,U>P?Ia="..":(U=d-fa,U>P?Ia=".":(U=0,Ia="")))}J=Q(z.join(""));C=this.lineHeight;if(k){for(;ha<n;ha+=1)if(na=z[ha]=Da[ha],this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]=
{width:P}),J+=P,J>U&&(t||(t=z.slice(0,-1).join("")),J>d))return m.text=wa(t)+Ia,m.tooltext=m.oriText,m.width=Q(m.text),m.height=this.lineHeight,m;m.text=z.join("");m.width=J;m.height=this.lineHeight}else{for(;ha<n;ha+=1)if(na=z[ha]=Da[ha]," "!==na||I||(na="&nbsp;"),this.cache[na]?P=this.cache[na].width:(P=Q(na),this.cache[na]={width:P}),J+=P,J>U&&(t||(t=z.slice(0,-1).join("")),J>d)){p=a.substr(0,z.length).lastIndexOf(" ");la=a.substr(0,z.length).lastIndexOf("-");p>G?(J=Q(z.slice(G+1,p).join("")),
z.splice(p,1,"<br/>"),G=p,k=p+1):la>G?(la===z.length-1?(J=Q(z.slice(G+1,p).join("")),z.splice(la,1,"<br/>-")):(J=Q(z.slice(G+1,p).join("")),z.splice(la,1,"-<br/>")),G=la,k=la+1):(z.splice(z.length-1,1,"<br/>"+Da[ha]),p=z.length-2,J=Q(z.slice(G+1,p+1).join("")),G=p,k=ha);C+=this.lineHeight;if(C>c)return m.text=wa(t)+Ia,m.tooltext=m.oriText,m.width=d,m.height=C-this.lineHeight,m;B=r(B,J);t=null;na=e(a.substr(k),U,this);J=Q(a.substr(k,na||1));z.length<k+na&&(z=z.concat(a.substr(z.length,k+na-z.length).split("")),
ha=z.length-1)}B=r(B,J);m.text=z.join("");m.width=B;m.height=C}return m}m.height=t.offsetHeight;m.width=t.offsetWidth}else m.error=Error("Body Tag Missing!");return m},setStyle:function(a){if(!this.init)return!1;if(a!==this.style||this.styleNotSet){a||(a=this.style);var d=a,c=d.fontSize=d.fontSize||"12px";d.lineHeight=d.lineHeight||d["line-height"]||1.2*parseInt(c,10)+"px";this.style=a;(this.containerObj=a=this.containerManager.get(a))?(this.container=a.node,this.context=a.context,this.cache=a.charCache,
this.lineHeight=a.lineHeight,l=a.ellipsesWidth,fa=a.dotWidth,this.styleNotSet=!1):this.styleNotSet=!0}},getTextSize:function(a,d,c){if(!this.init)return!1;var e={text:a,width:null,height:null,oriTextWidth:null,oriTextHeight:null,isTruncated:!1},l=this.container;l&&(l.innerHTML=a,e.oriTextWidth=l.offsetWidth,e.oriTextHeight=l.offsetHeight,e.width=Math.min(e.oriTextWidth,d),e.height=Math.min(e.oriTextHeight,c),e.width<e.oriTextWidth||e.height<e.oriTextHeight)&&(e.isTruncated=!0);return e},getOriSize:function(a){if(!this.init)return!1;
var d={text:a,width:null,height:null},c=this.container,e=this.getWidthFunction(),l=0;if(V){a=a.split(/(<br\s*\/*\>)/g);c=a.length;for(d.height=this.lineHeight*c;c--;)l=r(l,e(a[c]));d.width=l}else c&&(c.innerHTML=a,d.width=c.offsetWidth,d.height=c.offsetHeight);return d}};return c.prototype.constructor=c}();k.SmartLabelManager=e}]);
FusionCharts.register("module",["private","modules.renderer.js-numberformatter",function(){var k=this,m=k.hcLib,C=m.pluckNumber,r=m.extend2,e=m.getValidValue,a=m.pluck,M=m.getFirstValue,J=Math.abs,I=Math.pow,n=Math.round,z=function(a){return a&&a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},G={},q=function(a){var e=[],d;for(d in a)e.push(d+"_"+a[d]);e.sort();return e.join(",")},t=function(a){var e={},d;for(d in a)e[d.toLowerCase()]=a[d];return e};m.NumberFormatter=function(){function c(a,d,c){var e;
if(0>=d)return n(a)+"";if(isNaN(d))return a+="",12<a.length&&-1!=a.indexOf(".")&&(d=12-a.split(".")[0].length,e=I(10,d),a=n(a*e)/e+""),a;e=I(10,d);a=n(a*e)/e+"";if(1==c)for(-1==a.indexOf(".")&&(a+=".0"),c=a.split("."),d-=c[1].length,c=1;c<=d;c++)a+="0";return a}function k(a,d,c,e,l){var m=Number(a),p="",n=!1,q="",t="",z=q=0;if(isNaN(m))return"";if(1E15<m)return m.toExponential(l?1:14);q=0;z=a.length;-1!=a.indexOf(".")&&(p=a.substring(a.indexOf(".")+1,a.length),z=a.indexOf("."));0>m&&(n=!0,q=1);q=
a.substring(q,z);a=q.length;l=e.length-1;m=e[l];if(a<m)t=q;else for(;a>=m;)t=(a-m?c:"")+q.substr(a-m,m)+t,a-=m,m=0>=--l?e[0]:e[l],a<m&&(t=q.substring(a,0)+t);""!=p&&(t=t+d+p);!0===n&&(t="-"+t);return t}var d,m={formatnumber:"1",formatnumberscale:"1",forcenumberscale:"0",defaultnumberscale:"",numberscaleunit:["K","M"],numberscalevalue:[1E3,1E3],numberprefix:"",numbersuffix:"",decimals:"",forcedecimals:"0",yaxisvaluedecimals:"2",decimalseparator:".",thousandseparator:",",thousandseparatorposition:[3],
indecimalseparator:"",inthousandseparator:"",sformatnumber:"1",sformatnumberscale:"0",sforcenumberscale:"0",sdefaultnumberscale:"",snumberscaleunit:["K","M"],snumberscalevalue:[1E3,1E3],snumberprefix:"",snumbersuffix:"",sdecimals:"2",sforcedecimals:"0",syaxisvaluedecimals:"2",xFormatNumber:"0",xFormatNumberScale:"0",xforcenumberscale:"0",xDefaultNumberScale:"",xNumberScaleUnit:["K","M"],xNumberScaleValue:[1E3,1E3],xNumberPrefix:"",xNumberSuffix:""},q={mscombidy2d:{formatnumberscale:"1"}},l=function(a,
d){var c=a.name,e=this.csConf=r({},m);(c=q[c])&&r(e,c);this.linkedItems={iapi:a};this.configure(d)};l.prototype={configure:function(d){var c=this.linkedItems.iapi,l=c.jsonData;d=d||l.chart;var l=c.name,k=this.csConf,p,n,q,t,J,G,I,Q,X,ca,ga,da,Z,Ja,R,ua,Ha,U,Na,la;this.csConf=k;this.useScaleRecursively=c.useScaleRecursively;e(d.numberscaleunit)&&(p=d.numberscaleunit.split(","));if(n=e(d.snumberscaleunit,d.numberscaleunit))n=n.split(",");if(q=e(d.xnumberscaleunit,d.numberscaleunit))q=q.split(",");if(t=
e(d.ticknumberscaleunit,d.numberscaleunit))t=t.split(",");if(J=e(d.ynumberscaleunit,d.numberscaleunit))J=J.split(",");e(d.numberscalevalue)&&(G=d.numberscalevalue.split(","));if(ga=e(d.snumberscalevalue,d.numberscalevalue))ga=ga.split(",");if(I=e(d.xnumberscalevalue,d.numberscalevalue))I=I.split(",");if(Q=e(d.ticknumberscalevalue,d.numberscalevalue))Q=Q.split(",");if(X=e(d.ynumberscalevalue,d.numberscalevalue))X=X.split(",");if(e(d.thousandseparatorposition))for(ca=d.thousandseparatorposition.split(","),
da=ca.length,Ja=m.thousandseparatorposition[0];da--;)Z=parseInt(ca[da],10),0>=Z&&(Z=Ja),Ja=ca[da]=Z;c||(c={});da=C(d.scalerecursively,0);Z=C(d.sscalerecursively,da);Ja=C(d.xscalerecursively,da);R=C(d.maxscalerecursion,-1);ua=C(d.smaxscalerecursion,R);Ha=C(d.xmaxscalerecursion,R);U=e(d.scaleseparator," ");Na=e(d.sscaleseparator,U);la=e(d.xscaleseparator,U);R||(R=-1);this.baseConf=ca={cacheStore:[],formatnumber:a(d.formatnumber,c.formatnumber,k.formatnumber),formatnumberscale:a(d.formatnumberscale,
c.formatnumberscale,k.formatnumberscale),forcenumberscale:a(d.forcenumberscale,c.forcenumberscale,k.forcenumberscale),defaultnumberscale:M(d.defaultnumberscale,c.defaultnumberscale,k.defaultnumberscale),numberscaleunit:a(p,c.numberscaleunit,k.numberscaleunit).concat(),numberscalevalue:a(G,c.numberscalevalue,k.numberscalevalue).concat(),numberprefix:M(d.numberprefix,c.numberprefix,k.numberprefix),numbersuffix:M(d.numbersuffix,c.numbersuffix,k.numbersuffix),decimalprecision:parseInt("auto"===d.decimals?
k.decimalprecision:a(d.decimals,d.decimalprecision,c.decimals,k.decimals,c.decimalprecision,k.decimalprecision),10),forcedecimals:a(d.forcedecimals,c.forcedecimals,k.forcedecimals),decimalseparator:a(d.decimalseparator,c.decimalseparator,k.decimalseparator),thousandseparator:a(d.thousandseparator,c.thousandseparator,k.thousandseparator),thousandseparatorposition:a(ca,c.thousandseparatorposition,k.thousandseparatorposition),indecimalseparator:M(d.indecimalseparator,c.indecimalseparator,k.indecimalseparator),
inthousandseparator:M(d.inthousandseparator,c.inthousandseparator,k.inthousandseparator),scalerecursively:da,maxscalerecursion:R,scaleseparator:U};e(ca.inthousandseparator)&&(this.baseConf._REGinthousandseparator=new RegExp(z(ca.inthousandseparator),"g"));e(ca.indecimalseparator)&&(this.baseConf._REGindecimalseparator=new RegExp(z(ca.indecimalseparator)));this.Y=[];p={cacheStore:[],formatnumber:ca.formatnumber,formatnumberscale:ca.formatnumberscale,forcenumberscale:ca.forcenumberscale,defaultnumberscale:ca.defaultnumberscale,
numberscaleunit:ca.numberscaleunit.concat(),numberscalevalue:ca.numberscalevalue.concat(),numberprefix:ca.numberprefix,numbersuffix:ca.numbersuffix,decimalprecision:ca.decimalprecision,forcedecimals:ca.forcedecimals,decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition,indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};c.useScaleRecursively&&
(p.numberscalevalue&&p.numberscalevalue.length)==(p.numberscaleunit&&p.numberscaleunit.length)||(p.scalerecursively=da=0);G={cacheStore:[],formatnumber:p.formatnumber,formatnumberscale:p.formatnumberscale,forcenumberscale:p.forcenumberscale,defaultnumberscale:p.defaultnumberscale,numberscaleunit:p.numberscaleunit.concat(),numberscalevalue:p.numberscalevalue.concat(),numberprefix:p.numberprefix,numbersuffix:p.numbersuffix,decimalprecision:parseInt(a(d.yaxisvaluedecimals,p.decimalprecision,2),10),forcedecimals:a(d.forceyaxisvaluedecimals,
p.forcedecimals),decimalseparator:p.decimalseparator,thousandseparator:p.thousandseparator,thousandseparatorposition:p.thousandseparatorposition.concat(),indecimalseparator:p.indecimalseparator,inthousandseparator:p.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};ga={cacheStore:[],formatnumber:a(d.sformatnumber,c.sformatnumber,m.sformatnumber),formatnumberscale:a(d.sformatnumberscale,c.sformatnumberscale,m.sformatnumberscale),forcenumberscale:a(d.sforcenumberscale,c.sforcenumberscale,
m.sforcenumberscale),defaultnumberscale:M(d.sdefaultnumberscale,c.sdefaultnumberscale,p.defaultnumberscale),numberscaleunit:a(n,c.snumberscaleunit,m.snumberscaleunit).concat(),numberscalevalue:a(ga,c.snumberscalevalue,m.snumberscalevalue).concat(),numberprefix:M(d.snumberprefix,c.snumberprefix,m.snumberprefix),numbersuffix:M(d.snumbersuffix,c.snumbersuffix,m.snumbersuffix),decimalprecision:parseInt(a(d.syaxisvaluedecimals,d.sdecimals,d.decimals,c.sdecimals,m.sdecimals),10),forcedecimals:a(d.forcesyaxisvaluedecimals,
d.sforcedecimals,d.forcedecimals,c.sforcedecimals,m.sforcedecimals),decimalseparator:a(d.decimalseparator,c.decimalseparator,m.decimalseparator),thousandseparator:a(d.thousandseparator,c.thousandseparator,m.thousandseparator),thousandseparatorposition:p.thousandseparatorposition.concat(),indecimalseparator:a(d.indecimalseparator,c.indecimalseparator,m.indecimalseparator),inthousandseparator:a(d.inthousandseparator,c.inthousandseparator,m.inthousandseparator),scalerecursively:Z,maxscalerecursion:ua,
scaleseparator:Na};n=r({},ga);n.decimalprecision=parseInt(a(d.sdecimals,d.decimals,d.syaxisvaluedecimals,c.sdecimals,m.sdecimals),10);n.forcedecimals=a(d.sforcedecimals,d.forcedecimals,d.forcesyaxisvaluedecimals,c.sforcedecimals,m.sforcedecimals);n.cacheStore=[];c.useScaleRecursively&&(ga.numberscalevalue&&ga.numberscalevalue.length)==(ga.numberscaleunit&&ga.numberscaleunit.length)||(ga.scalerecursively=Z=0);/^(bubble|scatter|selectscatter|zoomscatter)$/.test(l)&&(G.formatnumber=a(d.yformatnumber,
G.formatnumber),G.formatnumberscale=a(d.yformatnumberscale,G.formatnumberscale),G.forcenumberscale=a(d.yforcenumberscale,G.forcenumberscale),G.defaultnumberscale=M(d.ydefaultnumberscale,G.defaultnumberscale),G.numberscaleunit=a(J,G.numberscaleunit),G.numberscalevalue=a(X,G.numberscalevalue),G.numberprefix=a(d.ynumberprefix,G.numberprefix),G.numbersuffix=a(d.ynumbersuffix,G.numbersuffix),p.formatnumber=a(d.yformatnumber,p.formatnumber),p.formatnumberscale=a(d.yformatnumberscale,p.formatnumberscale),
p.forcenumberscale=a(d.yforcenumberscale,p.forcenumberscale),p.defaultnumberscale=M(d.ydefaultnumberscale,p.defaultnumberscale),p.numberscaleunit=a(d.ynumberscaleunit,p.numberscaleunit.concat()),p.numberscalevalue=a(d.ynumberscalevalue,p.numberscalevalue.concat()),p.numberprefix=a(d.ynumberprefix,p.numberprefix),p.numbersuffix=a(d.ynumbersuffix,p.numbersuffix));/^(pie2d|pie3d|doughnut2d|doughnut3d|marimekko|pareto2d|pareto3d)$/.test(l)&&(p.decimalprecision=a(d.decimals,"2"));da&&(p.numberscalevalue.push(1),
p.numberscaleunit.unshift(p.defaultnumberscale),G.numberscalevalue.push(1),G.numberscaleunit.unshift(G.defaultnumberscale));Z&&(ga.numberscalevalue.push(1),ga.numberscaleunit.unshift(ga.defaultnumberscale),n.numberscalevalue.push(1),n.numberscaleunit.unshift(n.defaultnumberscale));this.Y[0]={yAxisLabelConf:G,dataLabelConf:p};this.Y[1]={yAxisLabelConf:ga,dataLabelConf:n};this.paramLabels=p;this.param1=G;this.param2=ga;this.paramLabels2=n;this.paramX={cacheStore:[],formatnumber:a(d.xformatnumber,ca.formatnumber),
formatnumberscale:a(d.xformatnumberscale,ca.formatnumberscale),forcenumberscale:a(d.xforcenumberscale,ca.forcenumberscale),defaultnumberscale:M(d.xdefaultnumberscale,ca.defaultnumberscale),numberscaleunit:a(q,ca.numberscaleunit.concat()),numberscalevalue:a(I,ca.numberscalevalue.concat()),numberprefix:a(d.xnumberprefix,ca.numberprefix),numbersuffix:a(d.xnumbersuffix,ca.numbersuffix),decimalprecision:parseInt(a(d.xaxisvaluedecimals,d.xaxisvaluesdecimals,ca.decimalprecision,2),10),forcedecimals:a(d.forcexaxisvaluedecimals,
0),decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition.concat(),indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:Ja,maxscalerecursion:Ha,scaleseparator:la};this.paramLegend=r(r({},ca),{cacheStore:[],decimalprecision:parseInt(C(d.legendvaluedecimals,ca.decimalprecision,2),10),forcedecimals:C(d.legendvalueforcedecimals,ca.forcedecimals,0),formatnumberscale:a(d.legendvalueformatnumberscale,
ca.formatnumberscale),forcenumberscale:a(d.legendvalueforcenumberscale,ca.forcenumberscale),formatnumber:a(d.legendvalueformatnumber,ca.formatnumber)});da&&(this.paramLegend.numberscalevalue.push(1),this.paramLegend.numberscaleunit.unshift(this.paramLegend.defaultnumberscale));c.useScaleRecursively&&(this.paramX.numberscalevalue&&this.paramX.numberscalevalue.length)==(this.paramX.numberscaleunit&&this.paramX.numberscaleunit.length)||(this.paramX.scalerecursively=Ja=0);Ja&&(this.paramX.numberscalevalue.push(1),
this.paramX.numberscaleunit.unshift(this.paramX.defaultnumberscale));this.paramScale={cacheStore:[],formatnumber:a(d.tickformatnumber,ca.formatnumber),formatnumberscale:a(d.tickformatnumberscale,ca.formatnumberscale),forcenumberscale:a(d.tickforcenumberscale,ca.forcenumberscale),defaultnumberscale:M(d.tickdefaultnumberscale,ca.defaultnumberscale),numberscaleunit:a(t,ca.numberscaleunit.concat()),numberscalevalue:a(Q,ca.numberscalevalue.concat()),numberprefix:a(d.ticknumberprefix,ca.numberprefix),numbersuffix:a(d.ticknumbersuffix,
ca.numbersuffix),decimalprecision:parseInt(a(d.tickvaluedecimals,ca.decimalprecision,"2"),10),forcedecimals:a(d.forcetickvaluedecimals,ca.forcedecimals,0),decimalseparator:ca.decimalseparator,thousandseparator:ca.thousandseparator,thousandseparatorposition:ca.thousandseparatorposition.concat(),indecimalseparator:ca.indecimalseparator,inthousandseparator:ca.inthousandseparator,scalerecursively:da,maxscalerecursion:R,scaleseparator:U};da&&(this.paramScale.numberscalevalue.push(1),this.paramScale.numberscaleunit.unshift(this.paramScale.defaultnumberscale));
this.timeConf={inputDateFormat:a(d.inputdateformat,d.dateformat,"mm/dd/yyyy"),outputDateFormat:a(d.outputdateformat,d.inputdateformat,d.dateformat,"mm/dd/yyyy"),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),months:"January February March April May June July August September October November December".split(" "),daySuffix:" st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" ")};this.cleaneValueCacheStore={};this.percentStrCacheStore=
{}},cleaneValueCacheStore:{},percentStrCacheStore:{},dispose:function(){this.Y&&delete this.Y;this.cleaneValueCacheStore&&delete this.cleaneValueCacheStore;this.percentStrCacheStore&&delete this.percentStrCacheStore;this.paramLabels&&delete this.paramLabels;this.param1&&delete this.param1;this.param2&&delete this.param2;this.paramLabels2&&delete this.paramLabels2;this.csConf&&delete this.csConf;this.iapi&&delete this.iapi;this.baseConf&&delete this.baseConf;this.timeConf&&delete this.timeConf;this.paramX&&
delete this.paramX;this.paramScale&&delete this.paramScale},parseMLAxisConf:function(d,c){var l=this.baseConf,k=this.csConf,p=C(d.scalerecursively,l.scalerecursively),n=C(d.maxscalerecursion,l.maxscalerecursion),q=e(d.scaleseparator,l.scaleseparator),t,z,r,G,I,Q;c=C(c,this.Y.length);e(d.numberscaleunit)&&(t=d.numberscaleunit.split(","));e(d.numberscalevalue)&&(z=d.numberscalevalue.split(","));n||(n=-1);if(e(d.thousandseparatorposition))for(r=d.thousandseparatorposition.split(","),G=r.length,Q=m.thousandseparatorposition[0];G--;)(I=
C(J(r[G])))?Q=I:I=Q,r[G]=I;l={cacheStore:[],formatnumber:a(d.formatnumber,l.formatnumber),formatnumberscale:a(d.formatnumberscale,l.formatnumberscale),forcenumberscale:a(d.forcenumberscale,l.forcenumberscale),defaultnumberscale:M(d.defaultnumberscale,l.defaultnumberscale),numberscaleunit:a(t,l.numberscaleunit).concat(),numberscalevalue:a(z,l.numberscalevalue).concat(),numberprefix:M(d.numberprefix,l.numberprefix),numbersuffix:M(d.numbersuffix,l.numbersuffix),forcedecimals:a(d.forcedecimals,l.forcedecimals),
decimalprecision:parseInt("auto"===d.decimals?k.decimalprecision:a(d.decimals,l.decimalprecision),10),decimalseparator:a(d.decimalseparator,l.decimalseparator),thousandseparator:a(d.thousandseparator,l.thousandseparator),thousandseparatorposition:a(r,l.thousandseparatorposition),indecimalseparator:M(d.indecimalseparator,l.indecimalseparator),inthousandseparator:M(d.inthousandseparator,l.inthousandseparator),scalerecursively:p,maxscalerecursion:n,scaleseparator:q};this.useScaleRecursively&&(l.numberscalevalue&&
l.numberscalevalue.length)==(l.numberscaleunit&&l.numberscaleunit.length)||(l.scalerecursively=p=0);n={cacheStore:[],formatnumber:l.formatnumber,formatnumberscale:l.formatnumberscale,forcenumberscale:l.forcenumberscale,defaultnumberscale:l.defaultnumberscale,numberscaleunit:l.numberscaleunit.concat(),numberscalevalue:l.numberscalevalue.concat(),numberprefix:l.numberprefix,numbersuffix:l.numbersuffix,decimalprecision:parseInt(a(d.yaxisvaluedecimals,l.decimalprecision,2),10),forcedecimals:a(d.forceyaxisvaluedecimals,
l.forcedecimals),decimalseparator:l.decimalseparator,thousandseparator:l.thousandseparator,thousandseparatorposition:l.thousandseparatorposition.concat(),indecimalseparator:l.indecimalseparator,inthousandseparator:l.inthousandseparator,scalerecursively:p,maxscalerecursion:n,scaleseparator:q};p&&(l.numberscalevalue.push(1),l.numberscaleunit.unshift(l.defaultnumberscale),n.numberscalevalue.push(1),n.numberscaleunit.unshift(n.defaultnumberscale));this.Y[c]={dataLabelConf:l,yAxisLabelConf:n}},percentValue:function(a){var d=
this.percentStrCacheStore[a];void 0===d&&(d=isNaN(this.paramLabels.decimalprecision)?"2":this.paramLabels.decimalprecision,d=this.percentStrCacheStore[a]=k(c(a,d,this.paramLabels.forcedecimals),this.paramLabels.decimalseparator,this.paramLabels.thousandseparator,this.paramLabels.thousandseparatorposition)+"%");return d},getCleanValue:function(a,d){var c=this.cleaneValueCacheStore[a];if(void 0===c||d){var e=this.baseConf,c=a+"";e._REGinthousandseparator&&(c=c.replace(e._REGinthousandseparator,""));
e._REGindecimalseparator&&(c=c.replace(e._REGindecimalseparator,"."));c=parseFloat(c);c=isFinite(c)?c:NaN;this.cleaneValueCacheStore[a]=c=isNaN(c)?null:d?J(c):c}return c},dataLabels:function(a,c){var e=this.Y[c]||(c?this.Y[1]:this.Y[0]),l,e=e&&e.dataLabelConf||this.baseConf;l=e.cacheStore[a];void 0===l&&(l=e.cacheStore[a]=d(a,e));return l},yAxis:function(a,c){var e=this.Y[c]||(c?this.Y[1]:this.Y[0]),l,e=e&&e.yAxisLabelConf||this.baseConf;l=e.cacheStore[a];void 0===l&&(l=e.cacheStore[a]=d(a,e,!0));
return l},xAxis:function(a){var c=this.paramX.cacheStore[a];void 0===c&&(c=this.paramX.cacheStore[a]=d(a,this.paramX,!0));return c},sYAxis:function(a){var c=this.Y[1],e,c=c&&c.yAxisLabelConf||this.baseConf;e=c.cacheStore[a];void 0===e&&(e=c.cacheStore[a]=d(a,c));return e},scale:function(a){var c=this.paramScale.cacheStore[a];void 0===c&&(c=this.paramScale.cacheStore[a]=d(a,this.paramScale));return c},getCleanTime:function(a){var d;this.timeConf.inputDateFormat&&Date.parseExact&&(d=Date.parseExact(a,
this.timeConf.inputDateFormat));return d&&d.getTime()},legendValue:function(a){var c=this.paramLegend.cacheStore[a];void 0===c&&(c=this.paramLegend.cacheStore[a]=d(a,this.paramLegend));return c},legendPercentValue:function(a){var d=this.percentStrCacheStore[a],e=this.paramLegend;void 0===d&&(d=isNaN(e.decimalprecision)?"2":e.decimalprecision,d=this.percentStrCacheStore[a]=k(c(a,d,e.forcedecimals),e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+"%");return d},getDateValue:function(a){var d,
c,e;a&&!/\//.test(this.timeConf.inputDateFormat)&&(a=a.replace(new RegExp(this.timeConf.inputDateFormat.replace(/[a-z]/ig,"").slice(0,1),"g"),"/"));a=/^dd/.test(this.timeConf.inputDateFormat)&&a&&a.replace(/(\d{1,2})\/(\d{1,2})\/(\d{2,4})/,"$2/$1/$3")||a;d=new Date(a);c=d.getTime();!c&&a&&/\:/.test(a)&&(a=a.split(":"),c=C(a[0],0),e=C(a[1],0),a=C(a[2],0),c=23<c?24===c&&0===e&&0===a?c:23:c,e=59<e?59:e,a=59<a?59:a,d=new Date,d.setHours(c),d.setMinutes(e),d.setSeconds(a),c=d.getTime());return{ms:c,date:d}},
getFormattedDate:function(d,c){var e="object"===typeof d&&d||new Date(d),l=this.timeConf,k=a(c,l.outputDateFormat),m=e.getFullYear(),p=e.getMonth(),n=e.getDate(),q=e.getDay(),t=e.getMinutes(),z=e.getSeconds(),e=e.getHours(),t=9<t?""+t:"0"+t,z=9<z?""+z:"0"+z,e=9<e?""+e:"0"+e;k.match(/dnl/)&&(k=k.replace(/dnl/ig,l.days[q]));k.match(/dns/)&&(k=k.replace(/dns/ig,l.days[q]&&l.days[q].substr(0,3)));k.match(/dd/)&&(k=k.replace(/dd/ig,n));k.match(/mnl/)&&(k=k.replace(/mnl/ig,l.months[p]));k.match(/mns/)&&
(k=k.replace(/mns/ig,l.months[p]&&l.months[p].substr(0,3)));k.match(/mm/)&&(k=k.replace(/mm/ig,p+1));k.match(/yyyy/)&&(k=k.replace(/yyyy/ig,m));k.match(/yy/)&&(k=k.replace(/yy/ig,(m%1E3%100+"").replace(/^(\d)$/,"0$1")));k.match(/hh12/)&&(k=k.replace(/hh12/ig,e%12||12));k.match(/hh/)&&(k=k.replace(/hh/ig,e));k.match(/mn/)&&(k=k.replace(/mn/ig,t));k.match(/ss/)&&(k=k.replace(/ss/ig,z));k.match(/ampm/)&&(k=k.replace(/ampm/ig,12>e?"AM":"PM"));k.match(/ds/)&&(k=k.replace(/ds/ig,l.daySuffix[n]));return k}};
l.prototype.constructor=l;d=function(d,e,l){if(null!==d){d=Number(d);var m=d+"",n,q,t,z,r;n=1==e.formatnumberscale?e.defaultnumberscale:"";r=(r=m.split(".")[1])?r.length:e.forcedecimals?"2":"";if(1==e.formatnumberscale){m=d;q=e.defaultnumberscale;d=e.numberscalevalue;n=e.numberscaleunit;var B=e.scalerecursively;t=e.forcenumberscale;z={};var G=q,J=0,I=[],Q=[],M;t=C(t)||0;if(B){G=C(d[0])||1E3;for(J=0;J<d.length;J++)if(B=C(d[J])||1E3,Math.abs(Number(m))>=B&&J<d.length-1)M=m%B,m=(m-M)/B,0===J&&0!==M&&
""===n[J]&&t?(I.push(M/G),Q.push(n[1]||"")):0!==M&&(1===J&&""===q&&t?(B=M+(I.length?I.pop():0),Q.pop(),I.push(B)):I.push(M),Q.push(n[J]));else{0===J&&""===q&&t?(m=Number(m)/G,I.push(m),Q.push(n[1]||"")):(1===J&&""===q&&t?(B=m+(I.length?I.pop():0),Q.pop(),I.push(B)):I.push(m),Q.push(n[J]));break}I.reverse();Q.reverse();z.value=I;z.scale=Q}else{if(d.length===n.length)for(J=0;J<d.length;J++)if(B=C(d[J])||1E3,Math.abs(Number(m))>=B)G=n[J]||"",m=Number(m)/B;else{0===J&&""===q&&t&&(G=n[0]||"",m=Number(m)/
B);break}z.value=m;z.scale=G}q=z;d=m=q.value;n=q.scale}if(e.scalerecursively&&0!==e.formatnumberscale&&"0"!==e.formatnumberscale){l=q.value;q=q.scale;d=-1==e.maxscalerecursion?l.length:Math.min(l.length,e.maxscalerecursion);if(1==e.formatnumber)for(m="",z=0;z<d;z++)n=0===z?l[z]:Math.abs(l[z]),t=n+"",z==d-1&&(t=c(n,a(e.decimalprecision,r),e.forcedecimals)),m=m+k(t,e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+q[z]+(z<d-1?e.scaleseparator:"");else for(m="",z=0;z<d;z++)m=m+(0===
z?l[z]:Math.abs(l[z])+"")+q[z]+(z<d-1?e.scaleseparator:"");m=(e.numberprefix||"")+m+(e.numbersuffix||"")}else 1==e.formatnumber&&(m=c(d,a(e.decimalprecision,r),e.forcedecimals),m=k(m,e.decimalseparator,e.thousandseparator,e.thousandseparatorposition,l)),m=(e.numberprefix||"")+m+n+(e.numbersuffix||"");return m}};return l}();k.extend(k.core,{formatNumber:function(a,e){e=e&&t(e)||{};var d=q(e),k;G[d]?k=G[d]:G[d]=k=new m.NumberFormatter(e,{useScaleRecursively:!0});return k.dataLabels(a)}},!1);k.extend(k.core,
{formatNumber:function(a,e,d,n){d=d&&t(d)||{};var z=this.jsVars.instanceAPI||{},l=z.numberFormatter,w;""===q(d)?l?w=l:(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},d=q(l),G[d]?w=G[d]:G[d]=w=new m.NumberFormatter(l,z)):(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},l=r(r({},l),d),d=q(l),G[d]?w=G[d]:G[d]=w=new m.NumberFormatter(l,z));switch((e&&e.toLowerCase?e:"").toLowerCase()){case "yaxisvalues":a=w.yAxis(a,n);break;case "xaxisvalues":a=w.xAxis(a);
break;case "scale":a=w.scale(a);break;default:a=w.dataLabels(a,n)}return a}},!0)}]);
FusionCharts.register("module",["private","modules.renderer.js-dom",function(){var k=this.hcLib,m=this.window,C=m.document,r=k.extend2,e="ontouchstart"in m;(function(a){var k=function(){var a={},k;a.pointerdrag={start:["mousedown"],end:["mouseup"],onStart:["mousemove"],postHandlers:{},preHandlers:{}};a.pointerhover={start:["mouseover"],end:["mouseout"]};a.click={start:["click"]};a.escape={start:["keydown"],preHandlers:{start:function(a){a=a||m.event;return a.keyCode&&27===a.keyCode?!0:!1}}};e&&(k=
a.pointerdrag,k.start.push("touchstart"),k.end.push("touchend"),k.onStart.push("touchmove"),k.postHandlers.onStart=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1});return a}(),J;J=r({},k);a.dem=new function(){var a={},e={},k=C.addEventListener?function(a,d,c){a.addEventListener(d,c,!1)}:function(a,d,c){a.attachEvent("on"+d,c)},G=C.removeEventListener?function(a,d,c){a.removeEventListener(d,c,!1)}:function(a,d,c){a.detachEvent("on"+d,c)},q=function(a,d,c){var e=[],l,k,n;n=J[d];c.start=
function(d){d=d||m.event;for(var e=n.onStart,l=n.end,k=[],q=[],w=e&&e.length||0;w--;)k.push(t(a,e[w],c,"onStart"));for(w=l&&l.length||0;w--;)q.push(t(a,l[w],c,"end"));c.startUn=c.startUn?c.startUn.concat(k):k;c.endUn=c.endUn?c.endUn.concat(q):q;c.state="start";c.closure(d)};c.onStart=function(a){a=a||m.event;c.state="on";if(c.gDef&&c.gDef.preHandlers&&"function"===typeof c.gDef.preHandlers.onStart)c.gDef.preHandlers.onStart(a);c.closure(a);if(c.gDef&&c.gDef.postHandlers&&"function"===typeof c.gDef.postHandlers.onStart)c.gDef.postHandlers.onStart(a)};
c.end=function(a){a=a||m.event;for(var d=c.startUn,e=c.endUn,l=d&&d.length||0;l--;)d[l]();delete c.startUn;c.startUn=[];for(l=e&&e.length||0;l--;)e[l]();delete c.endUn;c.endUn=[];c.state="end";c.closure(a)};if(n)for(d=n.start,k=d.length;k--;)(l=d[k])&&e.push(t(a,l,c,"start"));return e},t=function(a,d,c,e){e=e||"closure";k(a,d,c[e]);return function(){G(a,d,c[e])}},c=function(a){return function(d){d=d||m.event;a.handler.call(a.context||a.elem,{data:a.data,type:a.type,state:a.state,isGesture:a.isGesture,
target:d.target||d.srcElement,originalEvent:d})}};return{listen:function(k,d,m,z,l){var w=this;d="string"===typeof d?d.split(" "):d;var r=d.length,F=[],G=function(a,d,c){F.push(function(){w.unlisten(a,d,c)})},D,V,P,M,$;if(k.ownerDocument&&k.ownerDocument===C)for(;r--;)V=d[r],M=Boolean(J[V]),$="function"===typeof m?m:m[r],P={handler:$,elem:k,type:V,isGesture:M,gDef:M?J[V]:null,data:z,context:l,start:[],end:[],links:{prev:null,next:null}},P.closure=c(P),M?((D=e[V])||(D=e[V]=[]),D.push(P),q(k,V,P)):
((D=a[V])||(D=a[V]=[]),D.push(P),t(k,V,P)),G(k,V,$);else for(;r--;)V=d[r],$="function"===typeof m?m:m[r],P={handler:$,elem:k,type:V,isGesture:M,data:z,context:l,start:[],end:[],links:{prev:null,next:null}},P.closure=c(P),(D=a[V])||(D=a[V]=[]),D.push(P),t(k,V,P),G(k,V,$);return{unlisten:function(){for(var a=F.length;a--;)F[a]();F.length=0;F=null}}},unlisten:function(c,d,k){var m,l=!1,q,t;if(Boolean(J[d]))for(q=(m=e[d])&&m.length||0;q--;){if(t=m[q],t.handler===k&&t.elem===c){var l=c,F=void 0,z=void 0,
r=void 0,F=void 0;if(F=J[d])for(F=F.start,r=F.length;r--;)(z=F[r])&&G(l,z,t.start);m.splice(q,1);l=!0}}else for(q=(m=a[d])&&m.length||0;q--;)t=m[q],t.handler===k&&t.elem===c&&(G(c,d,t.closure),m.splice(q,1),l=!0);return l},fire:function(c,d,e,k){var l;if(c.ownerDocument&&c.ownerDocument===C)C.createEvent?(l=C.createEvent("HTMLEvents"),l.initEvent(d,!0,!0),e&&(e.originalEvent?e.originalEvent=l:r(l,e)),"function"===typeof c[d]&&c[d].call(c),c.dispatchEvent(l)):(l=C.createEventObject(),l.eventType=d,
e&&(e.originalEvent?e.originalEvent=l:r(l,e)),"function"===typeof c[d]&&c[d].call(c),c.fireEvent("on"+d,l)),k&&!l.returnValue&&k(l);else for(k=(d=a[d])&&d.length||0;k--;)l=d[k],l.elem===c&&l.closure(e)}}}})(k||m);(function(a){function e(a,k){var m="";C.defaultView&&C.defaultView.getComputedStyle?m=C.defaultView.getComputedStyle(a,"").getPropertyValue(k):a.currentStyle&&(k=k.replace(/\-(\w)/g,function(a,e){return e.toUpperCase()}),m=a.currentStyle[k]);m=parseInt(m,10);return isNaN(m)?0:m}function k(a,
e,t,c,p,d,r,C){var l=e/40,w=n[d||"linear"](c-t,l),J=0,F,I,D=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||m.msRequestAnimationFrame||function(a){setTimeout(a,40)},V=function(d){var k;k=!1;d?(F||(F=d),I=d-F,d=Math.abs(t-c),k=(k=0>t-c?!1:!0)?Math.max(t-d/e*I,c)+C:Math.min(t+d/e*I,c)+C,a.style[p]=k,z&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),I<e?D(V):r&&r()):J<l?(k=w[J],a.style[p]=
t+k+C,z&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),J+=1,setTimeout(V,40)):r&&r()};C=C||"";D(V)}var I={width:{suffix:"px"},height:{suffix:"px"},opacity:!0,top:{suffix:"px"},left:{suffix:"px"}},n={linear:function(a,e){for(var k=[],c=a/e,m=0;m<e;m+=1)k[m]=c*(m+1);return k}},z=/msie/i.test(m.navigator.userAgent)&&!m.opera;a.danimate=r({animate:function(a,m,n,c,p){c={};var d={},z=function(){l+=1;l===r&&"function"===typeof p&&p()},r=0,l=0,w,
C;if(40>n){for(C in m)a.style[C]=m[C];p&&p()}else for(C in m)w=null,"x"===C?(w=C,C="left"):"y"===C&&(w=C,C="top"),I[C]&&(r+=1,c[C]=m[w||C],d[C]=e(a,C),w="object"===typeof I[C]&&I[C].suffix,k(a,n,d[C],c[C],C,"linear",z,w))}},{})})(k||m)}]);
FusionCharts.register("module",["private","modules.renderer.js-colormanager",function(){var k=this.hcLib,m=k.pluckNumber,C=k.graphics.getDarkColor,r=k.graphics.getLightColor,e="AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),a="8BBA00 F6BD0F FF654F AFD8F8 FDB398 CDC309 B1D0D2 FAD1B9 B8A79E D7CEA5 C4B3CE E9D3BE EFE9AD CEA7A2 B2D9BA".split(" "),M=k.defaultPaletteOptions={paletteColors:[e,
e,e,e,e],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],showShadow:[0,
1,1,1,1],divLineColor:["717170","7B7D6D","92CDD6","965B01","68001B"],divLineAlpha:[40,45,65,40,30],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],anchorBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E",
"025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotGradientColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],plotBorderColor:["333333","8A8A8A","FFFFFF","FFFFFF","FFFFFF"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],bgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAlpha3D:["100",
"100","100","100","100"],bgAngle3D:[90,90,90,90,90],bgRatio3D:["","","","",""],canvasBgColor3D:["DDE3D5","D8D8D7","EEDFCA","CFD2D8","FEE8E0"],canvasBaseColor3D:["ACBB99","BCBCBD","C8A06C","96A4AF","FAC7BC"],divLineColor3D:["ACBB99","A4A4A4","BE9B6B","7C8995","D49B8B"],divLineAlpha3D:[100,100,100,100,100],legendBgColor3D:["F0F3ED","F3F3F3","F7F0E8","EEF0F2","FEF8F5"],legendBorderColor3D:["C6CFB8","C8C8C8","DFC29C","CFD5DA","FAD1C7"],toolTipbgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor3D:["49563A",
"666666","49351D","576373","681C09"],baseFontColor3D:["49563A","4A4A4A","49351D","48505A","681C09"],anchorBgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"]},e=k.colorManager=function(a){this.linkedItems={iapi:a};this.configure()};e.prototype={configure:function(){var a=this.linkedItems.iapi,e=a.jsonData.chart||{},n=k.extend2({},M),z=a.defaultPaletteOptions||{},G;n||(n={});for(G in z)n[G]=z[G];n=this.paletteOptions=n;z=this.themeEnabled=e.palettethemecolor;this.paletteIndex=(0<e.palette&&6>
e.palette?e.palette:m(a.paletteIndex,1))-1;this.iterator=0;this.paletteColors=n.paletteColors[this.themeEnabled?0:this.paletteIndex];G=e.palettecolors;void 0!==G&&null!==G&&""!==e.palettecolors&&(this.paletteColors=e.palettecolors.split(/\s*\,\s*/));this.paletteLen=this.paletteColors.length;this.useFlatColors=m(e.useflatdataplotcolor,a.useFlatColor,0);z&&(this.paletteIndex=5,n.bgColor[5]=r(z,35)+","+r(z,10),n.bgAngle[5]=270,n.bgRatio[5]="0,100",n.bgAlpha[5]="50,50",n.canvasBgColor[5]="FFFFFF",n.canvasBgAngle[5]=
0,n.canvasBgAlpha[5]="100",n.canvasBgRatio[5]="",n.canvasBorderColor[5]=C(z,80),n.canvasBorderAlpha[5]=100,n.showShadow[5]=1,n.divLineColor[5]=C(z,20),n.divLineAlpha[5]=40,n.altHGridColor[5]=r(z,20),n.altHGridAlpha[5]=15,n.altVGridColor[5]=r(z,80),n.altVGridAlpha[5]=10,n.anchorBgColor[5]="FFFFFF",n.toolTipBgColor[5]="FFFFFF",n.toolTipBorderColor[5]=C(z,80),n.baseFontColor[5]=z.split&&z.split(",")[0],n.borderColor[5]=C(z,60),n.borderAlpha[5]=50,n.legendBgColor[5]="FFFFFF",n.legendBorderColor[5]=C(z,
80),n.plotGradientColor[5]="FFFFFF",n.plotBorderColor[5]=C(z,85),n.plotFillColor[5]=C(z,85),n.bgColor3D[5]="FFFFFF",n.bgAlpha3D[5]="100",n.bgAngle3D[5]=90,n.bgRatio3D[5]="",n.canvasBgColor3D[5]=r(z,20),n.canvasBaseColor3D[5]=r(z,40),n.divLineColor3D[5]=C(z,20),n.divLineAlpha3D[5]=40,n.legendBgColor3D[5]="FFFFFF",n.legendBorderColor3D[5]=C(z,80),n.toolTipbgColor3D[5]="FFFFFF",n.toolTipBorderColor3D[5]=C(z,80),n.baseFontColor3D[5]=z.split&&z.split(",")[0],n.anchorBgColor3D[5]="FFFFFF",n.tickColor&&
(n.tickColor[5]=C(z,90)),n.trendDarkColor&&(n.trendDarkColor[5]=C(z,90)),n.trendLightColor&&(n.trendLightColor[5]=r(z,n.TrendLightShadeOffset)),n.msgLogColor&&(n.msgLogColor[5]=r(z,80)),n.dialColor&&(n.dialColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.dialBorderColor&&(n.dialBorderColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.pivotColor&&(n.pivotColor[5]=r(z,95)+",FFFFFF,"+r(z,95)),n.pivotBorderColor&&(n.pivotBorderColor[5]=C(z,95)+",FFFFFF,"+C(z,95)),n.pointerBorderColor&&(n.pointerBorderColor[5]=C(z,75)),n.pointerBgColor&&
(n.pointerBgColor[5]=C(z,75)),n.thmBorderColor&&(n.thmBorderColor[5]=C(z,90)),n.thmFillColor&&(n.thmFillColor[5]=r(z,55)),n.gaugeBorderColor&&(n.gaugeBorderColor[5]=C(z,90)),n.gaugeFillColor&&(n.gaugeFillColor[5]=r(z,55)),n.cylFillColor&&(n.cylFillColor[5]=r(z,55)),n.periodColor&&(n.periodColor[5]=r(z,10)),n.winColor&&(n.winColor[5]="666666"),n.lossColor&&(n.lossColor[5]="CC0000"),n.drawColor&&(n.drawColor[5]="666666"),n.scorelessColor&&(n.scorelessColor[5]="FF0000"),n.gridColor&&(n.gridColor[5]=
r(z,30)),n.categoryBgColor&&(n.categoryBgColor[5]=r(z,10)),n.dataTableBgColor&&(n.dataTableBgColor[5]=r(z,10)),n.gridResizeBarColor&&(n.gridResizeBarColor[5]=C(z,90)),n.scrollBarColor&&(n.scrollBarColor[5]=r(z,50)))},getColor:function(a){return this.paletteOptions[a][this.paletteIndex]},getPlotColor:function(a){var e=this.paletteColors;a=this.useFlatColors?this.getColor("plotFillColor"):e[a%this.paletteLen];a||(this.iterator===this.paletteLen&&(this.iterator=0),a=e[this.iterator],this.iterator+=1);
return a},parseColorMix:function(a,e){var k=[],m,G,q,t,c,p,d,B,M,l;e=e.replace(/\s/g,"");e=e.toLowerCase();if(""===e||null===e||void 0===e)k=[a];else for(G=e.split(","),q=a.split(","),t=Math.max(G.length,q.length,1),c=G[0],p=q[0],M=/[\{\}]/ig,l=0;l<t;l++)d=(G[l]||c).replace(M,""),B=q[l]||p,"color"==d?k.push(B):"light"==d.substr(0,5)?(m=d.indexOf("-"),m=-1==m?1:d.substr(m+1,d.length-m),m=100-m,k.push(r(B,m))):"dark"==d.substr(0,4)?(m=d.indexOf("-"),m=-1==m?1:d.substr(m+1,d.length-m),m=100-m,k.push(C(B,
m))):k.push(d);return k},parseAlphaList:function(a,e){var k=a.split(","),z=[],r,q=100,t;for(t=0;t<e;t++)r=m(k[t]),void 0!==r&&null!==r&&(q=r),z[t]=q;return z.join()},parseRatioList:function(a,e){var k=a.split(","),m=[],r=0,q,t;for(t=0;t<e;t++)q=k[t],q=isNaN(q)||void 0===q?0:Math.abs(Number(q)),q=100<q?100:q,m[t]=q,r+=q;r=100<r?100:r;if(k.length<e)for(t=k.length;t<e;t++)m[t]=(100-r)/(e-k.length);m[-1]=0;return m.join()}};e.prototype.constructor=e;k.defaultGaugePaletteOptions={paletteColors:[a,a,a,
a,a],bgColor:["CBCBCB,E9E9E9","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["50,50","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendDarkColor:["333333","60634E",
"025B6A","A15E01","68001B"],trendLightColor:["f1f1f1","F3F5DD","EDFBFE","FFF5E8","FFD1DD"],pointerBorderColor:["545454","60634E","415D6F","845001","68001B"],pointerBgColor:["545454","60634E","415D6F","845001","68001B"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],altHGridColor:["EEEEEE",
"D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["545454","545454","415D6F","845001","D55979"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],msgLogColor:["717170",
"7B7D6D","92CDD6","965B01","68001B"],TrendLightShadeOffset:30}}]);
FusionCharts.register("module",["private","modules.renderer.js-annotations",function(){var k=this,m=k.core,C=k.hcLib,r=k.window,e=/msie/i.test(r.navigator.userAgent)&&!r.opera,a=C.addEvent,M=C.removeEvent,J=C.hasTouch,I=r.Number,n=J?6:5,z="rgba(192,192,192,"+(e?.002:1E-6)+")",e=r.Math,G=e.min,q=e.max,t=e.sin,c=e.cos,p=e.PI,d=p/180,B=e.abs,Q=k.extend,l=C.pluck,w=C.pluckNumber,H=C.graphics.convertColor,F=C.getValidValue,T=C.parseUnsafeString,D=C.setImageDisplayMode,V=C.graphics.parseColor,P=C.setLineHeight,
fa=C.getMouseCoordinate,$={style:{}},ba=C.toRaphaelColor,ia=function(a,d){return{start:-a,end:-d,angle:a-d}},ea=function(a,d){var c=0;switch(a){case "startx":c=d.x;break;case "starty":c=d.y;break;case "x":case "middlex":case "centerx":c=d.x+d.width/2;break;case "y":case "middley":case "centery":c=d.y+d.height/2;break;case "endx":c=d.x+d.width;break;case "endy":c=d.y+d.height;break;default:c=0}return c},X=function(a,d,c,e,l){var k,m,p=0,n=0;m=void 0===d||null===d?1:d;var q;if(!a||!a.toString)return{value:c,
hasDynamicMacros:!1};a=a.toString();a=a.toLowerCase().replace(/\s/g,"");if(c=a.match(/^[\+\-]?\d+(\.\d+)?|[\+\-]\d+(\.\d+)?/g)){for(d=0;d<c.length;d+=1)p+=Number(c[d])||0;p*=m}if(c=a.match(/^[\+\-]?(\$[a-z0-9\.]+)|[\+\-](\$[a-z0-9\.]+)/g))for(d=0;d<c.length;d+=1){k=c[d];var w=e,t=l,F=k.split("."),r=void 0,z=void 0,D=0;for(m=void 0;r=F.shift();)switch(typeof(z=w[r])){case "object":w=z[r];break;case "function":z=z(F,t),"-"===k.charAt()&&(z*=-1),m=!0;default:D+=I(z)||0,F.length=0}k=D;m&&(q=!0);n+=k}if(c=
a.match(/^[\+\-]?\$\d+(\.\d+)?|[\+\-]\$\d+(\.\d+)?/g))for(d=0;d<c.length;d+=1)n=n+Number(c[d].replace("$",""))||0;return{value:p+n,hasDynamicMacros:q}},ca=function(a,d,c){if(!d.removed){d=d.data("annotation");var e=d.getRenderer(),l=fa(e.linkedItems.container,c),m=l.annotationOptions=d.options,p=l.groupOptions=d.group.options;l._shape=d;"id"in m&&(l.annotationId=m.id);"id"in p&&(l.groupId=p.id);k.raiseEvent(a,l,e.chartInstance,c)}},ga,da,Z;da=function(a,d,c,e,l,k){this.options=a;this.attrs={};this.css=
{};this.bounds={};this.shared=d;this.snaps=c||{};this.annotations=l;this.items=d=[];this._idstore=e;a.id&&(this._id=a.id,e[a.id]=this);if(a=a.items)for(e=0,c=a.length;e<c;e+=1)d.push(new Z(a[e],this)),d[e].chart=k};Q(da.prototype,{scaleImageX:1,scaleImageY:1,scaleText:1,scaleValue:1,scaleValueComplement:1,scaleX:1,scaleY:1});da.prototype.setup=function(){var a=this.options,d=this.shared,c=this.getRenderer();c&&(this.isBelow=0!==w(a.showbelow,a.showbelowchart,d.showbelow),this.useTracker=!this.isBelow&&
c.graphics.trackerGroup&&this.shared.useTracker,this.raiseOwnEvents=d.interactionevents)};da.prototype.scale=function(){var a=this.options,d=this.shared,c=this.bounds,e=this.snaps,k=this.getRenderer(),m=d.rootxscale,p=d.rootyscale,n=c.xs=w(a.xscale,d.xscale,100)/100,q=c.ys=w(a.yscale,d.yscale,100)/100,t,F,r;k&&(this.scaleText*=q,this.scaleImageX*=n,this.scaleImageY*=q,0!==w(a.autoscale,d.autoscale)&&(n=w(a.origw,d.origw),q=w(a.origh,d.origh),n=k.config.width/n,q=k.config.height/q,k=0!==w(a.constrainedscale,
d.constrainedscale),t=n<q?n:q,F=k?t:n,r=k?t:q,this.scaleValue=da.prototype.scaleValue*t,this.scaleValueComplement=da.prototype.scaleValueComplement*(k?t:n<q?q:n),this.scaleX=da.prototype.scaleX*F,this.scaleY=da.prototype.scaleX*r,c.xs*=F,c.ys*=r,m*=F,p*=r,"1"==l(a.scaletext,d.scaletext)&&(this.scaleText=da.prototype.scaleText*r),"1"==l(a.scaleimages,d.scaleimages)&&(this.scaleImageX=da.prototype.scaleImageX*F,this.scaleImageY=da.prototype.scaleImageY*r)),c.x=X(l(a.x,a.xpos),m,0,e,this.isBelow).value+
w(a.grpxshift,d.grpxshift,0),c.y=X(l(a.y,a.ypos),p,0,e,this.isBelow).value+w(a.grpyshift,d.grpyshift,0),this.xshift=w(a.xshift,d.xshift,0),this.yshift=w(a.yshift,d.yshift,0))};da.prototype.draw=function(){var a=this.getRenderer(),d=this.options,c=this.bounds,e=this.items,l=a&&a.graphics,k,m=this.wrapper,p,n=[],q,t,F=this.chart;k=F&&F.config||{};var F=k.annRenderDelay,r=k.resize,z=function(){q=0;for(t=n.length;q<t;q++)p=n[q],p.draw()};if(a){a.annotationRelativeLayer&&"axis"===a.annotationRelativeLayer?
(k=l.axisTopGroup||l.datasetGroup,l=l.axisBottomGroup||l.datasetGroup):k=l=l.datasetGroup;m||(this.wrapper=m=a.components.paper.group("annotations"),k&&l&&(this.isBelow?m.insertBefore(l):m.insertAfter(a.graphics.datalabelsGroup||k)));this.wrapper.attr({x:0,y:0,visibility:w(d.visible,1)?"":"hidden"}).translate(c.x,c.y);q=0;for(t=e.length;q<t;q+=1)p=e[q],p.scale(!0),p.queueDraw?p.queue():(n.push(p),p.setup());F&&!r?setTimeout(function(){z()},F):z();return this}};da.prototype.destroy=function(){for(var a=
this.wrapper,d=this.items,c;c=d.shift();)c.destroy();a&&(this.wrapper=a.remove());this._idstore[this._id]===this&&delete this._idstore[this._id]};da.prototype.addItem=function(a,d,c){var e=this.items,l=this._idstore;this.chart=c;e.push(a=new Z(a,this,l));d&&null!==this.getRenderer()&&(a.scale(),a.setup(),a.draw());return a};da.prototype.removeItem=function(a){for(var d=this.items,c=d.length;c--;)if(a===d[c]._id)return d.splice(c,1)};da.prototype.getRenderer=function(){return this.annotations&&this.annotations.getRenderer()||
null};Z=function(a,d){var c=!1,e;this.options=a;this.chart=(this.group=d)&&d.chart;this.args=[];this.attrs={};this.attrsTracker={};this.style={};this.bounds={};this._idstore=d._idstore;a.id&&(this._id=a.id,d._idstore[a.id]=this);this.type=a.type&&a.type.toLowerCase&&a.type.toLowerCase();for(e in Z.eventNames)"function"===typeof a[e]&&(this[e]=a[e],c=!0);this.hasEvents=c;"function"===typeof a.onload&&(this.onload=a.onload)};k.extend(Z.prototype,{getAbsoluteBounds:function(){var a=this.bounds,d=a.x1,
c=a.y1,e=a.x2,l=a.y2,k=G(d,e),m=G(c,l),d=q(d,e)-k,c=q(c,l)-m;return{x:k,width:d,y:m,height:c,r:a.r,unscaled:{width:d/a.xs,height:c/a.ys}}},queue:function(){this.group.annotations.shapesToDraw.push(this)},scale:function(a){var d=this,c=d.group,e=c.bounds,k=d.bounds,m=d.options,p=c.snaps,n=l(m.x,m.xpos),q=l(m.y,m.ypos),t=l(m.tox,m.toxpos),F=l(m.toy,m.toypos),r=k.xs=e.xs,e=k.ys=e.ys,z=w(m.xshift,c.xshift,0),D=w(m.yshift,c.yshift,0),B;B=function(e,l,k,m){e=X(e,l,k,m,c.isBelow);e.hasDynamicMacros&&a&&
(d.queueDraw=!0);return e.value};d.hasDimension=!0;d.hasDimensionX=!0;d.hasDimensionY=!0;k.x1=B(n,r,0,p)+z;void 0===t?(d.hasDimension=!1,d.hasDimensionX=!1,k.x2=k.x1):k.x2=B(t,r,0,p)+z;k.y1=B(q,e,0,p)+D;void 0===F?(d.hasDimension=!1,d.hasDimensionY=!1,k.y2=k.y1):k.y2=B(F,e,0,p)+D;Z.angularShapeTypes[d.type]&&(k.angles=ia(B(m.startangle,1,0,p),B(m.endangle,1,360,p)));k.r=B(m.radius,c.scaleValue,0,p)},setup:function(){var a=this.options,d=this.group,c=d.options,e=this.attrs,k=this.style,m=d.scaleValue,
p=w(c.fillalpha,c.alpha,100),n=this.fillAlpha=l(a.fillalpha,a.alpha,p),q=this.fillColor=l(a.fillcolor,a.color,c.color),t=this.fillPattern=l(a.fillpattern&&a.fillpattern.toLowerCase&&a.fillpattern.toLowerCase(),c.fillpattern&&c.fillpattern.toLowerCase&&c.fillpattern.toLowerCase()),r=this.bordered=w(a.showborder,Z.borderedShapeTypes[this.type],!!F(a.bordercolor)),D=this.borderColor=l(a.bordercolor,c.bordercolor,q),p=this.borderAlpha=w(a.borderalpha,a.alpha,c.borderalpha,p),B=this.dashed=!!w(a.dashed,
0),C=w(a.borderthickness,a.thickness,2)*m;this.link=l(a.link,c.link);this.shadow="1"==l(a.showshadow,c.showshadow);void 0===q&&(q=Z.borderedShapeTypes[this.type]&&"none"||"#ff0000",void 0===D&&(D="#ff0000"));r&&C?(e.stroke=H(D,p),e["stroke-linecap"]="round",e["stroke-width"]=C,B&&(e["stroke-dasharray"]=[w(a.dashlen,5)*m,w(a.dashgap,3)*m])):e.stroke="none";this.fillOptions={gradientUnits:"objectBoundingBox",color:q,alpha:n,ratio:l(a.fillratio,c.fillratio),angle:360-w(a.fillangle,0),radialGradient:"radial"===
t};this.link&&(k.cursor="pointer",k._cursor="hand");e.visibility=w(a.visible,1)?"":"hidden";this.useTracker=d.useTracker;this.toolText=T(l(a.tooltext,c.tooltext));if(this.useTracker||this.link||this.toolText)Q(this.attrsTracker,{stroke:z,fill:z}),this.link&&(this.attrsTracker.ishot=+new Date);this.raiseOwnEvents=d.raiseOwnEvents},draw:function(){var d=this.getRenderer(),c=this.type,e=this.attrs,l=this.style,k=d&&d.components.paper,m=Z.types[c]&&Z.types[c].call&&Z.types[c].call(this,d),p=Z.imageShapeTypes[m],
n=Z.textShapeTypes[m],t=p||n||Z.trackerShapeTypes[m],w=this.link||this.toolText,F=this.wrapper,c=this.tracker,r=d&&d.graphics.trackerGroup||this.group.wrapper,z=!1,D=c||F,B=Z.eventNames,C=Z.ownEvents,J,G;if(d){if(m){if(F)if(F.elemType!==m){if(this.ownEventsAttached){for(G in C)D["un"+G].apply(F,C[G]);this.ownEventsAttached=!1}F=F.remove()}else if(this.hasEvents)for(J in B)(G=this[J])&&G.eventAttached&&(M(D.node,B[J],G),G.eventAttached=!1);p||(e.fill=ba(this.fillOptions));F?F.attr(e).css(l):(this.args.push(this.group.wrapper),
F=this.wrapper=k[m].apply(k,this.args).attr(e).css(l),F.elemType=m,F.data("annotation",this),z=!0,this.args.pop());!this.shadow||this.shadowAdded||p||n?F.shadow(this.shadowAdded=!1):F.shadow(this.shadowAdded=!0,q(this.borderAlpha,this.fillOptions.alpha)/100);w?this.useTracker&&(c||(this.args.push(r),c=this.tracker=t?k.rect(0,0,0,0,0,r):k[m].apply(k,this.args),this.args.pop()),c.attr(e).attr(this.attrsTracker)):c&&(c=c.remove());D=c||F;if(this.raiseOwnEvents&&!this.ownEventsAttached){for(G in C)D[G].apply(F,
C[G]);this.ownEventsAttached=!0}this.link&&D.click(d.linkedItems.linkClickFN,this);this.toolText&&(D.tooltip(this.toolText||""),this.group.wrapper.trackTooltip(!0));if(this.hasEvents)for(J in B)(G=this[J])&&!G.eventAttached&&(a(D.node,B[J],G,this),G.eventAttached=!0);p||(c&&t&&(d=F.getBBox(),c.attr({x:d.x,y:d.y,width:d.width,height:d.height})),z&&this.onload&&this.onload(e))}return this}},destroy:function(){var a=this.wrapper,d=this.tracker,c=d||a,e=Z.eventNames,l=Z.ownEvents,k,m;if(a){if(this.ownEventsAttached){for(m in l)c["un"+
m].apply(a,l[m]);this.ownEventsAttached=!1}if(this.hasEvents)for(k in e)(m=this[k])&&m.eventAttached&&(M(c.node,e[k],m),m.eventAttached=!1);d&&(this.tracker=d.remove());this.wrapper=a.remove()}this._idstore[this._id]===this&&delete this._idstore[this._id]},getRenderer:function(){return this.group&&this.group.getRenderer()||null}});k.extend(Z,{imageShapeTypes:{image:!0},angularShapeTypes:{circle:!0,arc:!0},textShapeTypes:{text:!0},trackerShapeTypes:{image:!0,text:!0},borderedShapeTypes:{path:!0,line:!0},
eventNames:{onmouseover:J?"touchstart":"mouseover",onmouseout:"mouseout",onmousemove:J?"touchmove":"mousemove",onclick:"click"},ownEvents:{click:[function(a){ca("annotationClick",this,a)}],hover:[function(a){ca("annotationRollOver",this,a)},function(a){ca("annotationRollOut",this,a)}]},textAlignOptions:{left:"start",right:"end",center:"middle"},textVerticalAlignOptions:{top:"bottom",middle:"middle",bottom:"top"},textRotationOptions:{0:"0",1:"270",right:"90",cw:"90",left:"270",ccw:"270"},types:{rectangle:function(){var a=
this.args,d=this.attrs,c=this.getAbsoluteBounds(),e=.5*c.width;c.r>e&&(c.r=e);a[0]=d.x=c.x;a[1]=d.y=c.y;a[2]=d.width=c.width;a[3]=d.height=c.height;a[4]=d.r=c.r;return"rect"},line:function(){var a=this.attrs,d=this.bounds;this.args[0]=a.path=["M",d.x1,d.y1,"L",d.x2,d.y2];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");a["stroke-width"]<n&&(this.attrsTracker["stroke-width"]=n);this.bordered&&this.dashed&&(this.attrsTracker["stroke-dasharray"]="solid");return"path"},path:function(){var a=this.attrs,
d=this.bounds;this.args[0]=a.path=this.options.path;a.transform=["T",d.x1,d.y1,"S",d.xs,d.ys,d.x1,d.y1];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");return"path"},polygon:function(){var a=this.args,d=this.attrs,c=this.options,e=this.bounds,l=this.group,k=l.snaps;a[0]=X(c.sides,1,5,k,l.isBelow).value;a[1]=e.x1;a[2]=e.y1;a[3]=e.r;a[4]=X(c.startangle,1,0,k,l.isBelow).value;a[5]=0;d.polypath=a.slice(0);return"polypath"},circle:function(a){var e=this.args,k=this.attrs,m=this.options,n=this.bounds,
q=a.config.width,w=a.config.height,F=this.group.scaleValueComplement,r=this.group.snaps,z=n.angles,D=this.group;a=n.r;l(m.radius)||(n.r=q<w?q*n.xs:w*n.ys,n.r=a=.3*n.r);m=X(m.yradius,F,a,r,D.isBelow).value;this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);w=z.angle%360;if(!w&&a===m)return e[0]=k.cx=n.x1,e[1]=k.cy=n.y1,e[2]=k.r=n.r,"circle";w||(z.angle=0<z.angle?z.angle-.001:z.angle+.001,z.start=
z.end-z.angle);w||w==z.angle||(w=360);q=z.start*d;z=z.end*d;w*=d;r=n.x1;D=n.y1;n=r+c(q)*a;F=D+t(q)*m;r+=c(z)*a;D+=t(z)*m;a=["M",n,F,"A",a,m,0,B(w)>=p?1:0,q<z?1:0,r,D,"Z"];e[0]=k.path=a;return"path"},arc:function(a){var c=this.options,e=this.args,k=this.attrs,m=this.bounds,p=a.config.width;a=a.config.height;var n=this.group,q=n.scaleValue,t=m.angles;l(c.radius)||(m.r=p<a?p*m.xs:a*m.ys,m.r*=.3);m.innerR=X(c.innerradius,q,.8*m.r,this.group.snaps,n.isBelow).value;m.innerR>m.r&&(m.innerR+=m.r,m.r=m.innerR-
m.r,m.innerR-=m.r);this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);e[0]=m.x1;e[1]=m.y1;e[2]=m.r;e[3]=m.innerR;e[4]=t.end*d;e[5]=t.start*d;k.ringpath=e.slice(0);return"ringpath"},text:function(a){var d=this.args,c=this.style,e=this.attrs,k=this.group,m=this.bounds,p=this.options,n=this.getAbsoluteBounds(),q=l(p.align,k.options.textalign,"center").toLowerCase(),t=l(p.valign,k.options.textvalign,
"middle").toLowerCase(),F=T(l(p.text,p.label)),r=a.linkedItems.smartLabel,z=w(p.wrap,k.options.wraptext,1),D,B,C=l(p.rotatetext,k.options.rotatetext,"0").toLowerCase(),C=Z.textRotationOptions[C],G="0"!==C?"y":"x",J=a.config.orphanStyles;a=Q({},J.defaultStyle.style||{});J=k.id&&J[k.id.toLowerCase()]||$;a=Q(a,J.style);var J=parseFloat(a.fontSize),H=l(p.font,k.options.font,a.fontFamily),k=w(p.fontsize,k.options.fontsize,J)*k.scaleText;z&&(D=w(p.wrapwidth,this.hasDimensionX?n.width/m.xs:void 0),B=w(p.wrapheight,
this.hasDimensionY?n.height/m.ys:void 0),D&&(D*=m.xs),B&&(B*=m.ys));c.fontFamily=H;c.fontWeight=w(p.bold,p.isbold,0)?"bold":"normal";w(p.italic,p.isitalic,0)&&(c.fontStyle="italic");p.bgcolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][0]=V(p.bgcolor));p.bordercolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][1]=V(p.bordercolor),e["text-bound"][2]=w(p.borderthickness,1),e["text-bound"][3]=w(p.padding,1));p.fontcolor&&(e.fill=V(p.fontcolor),this.fillOptions&&(this.fillOptions.color=
e.fill));c.fontSize=k+"px";k===J?c.lineHeight=a.lineHeight:P(c);e["text-anchor"]=Z.textAlignOptions[q]||Z.textAlignOptions.center;r.setStyle(c);c=r.getSmartText(F,D,B,!1);e["vertical-align"]=Z.textVerticalAlignOptions[t]||Z.textVerticalAlignOptions.middle;e["text-anchor"]===Z.textAlignOptions.left?n[G]+=w(p.leftmargin,0):e["text-anchor"]===Z.textAlignOptions.center&&(n[G]+=.5*w(p.leftmargin,0));"0"!==C&&(e.rotation=[parseFloat(C),n.x,n.y]);d[0]=e.x=n.x;d[1]=e.y=n.y;d[2]=e.text=c.text;c.tooltext&&
(e.title=c.tooltext);delete e.stroke;delete e["stroke-weight"];return"text"},image:function(a){var d=this,c=d.style,e=a.config.width,k=a.config.height;a=d.options;var m=d.attrs,p=d.args,n=F(a.url),t=d.group.scaleImageX*l(Number(a.xscale),100)/100,z=d.group.scaleImageY*l(Number(a.yscale),100)/100,B=d.getAbsoluteBounds(),C={width:1,height:1},G;if(!n)return p[0]=m.x=B.x,p[1]=m.y=B.y,p[2]=m.width=B.width,p[3]=m.height=B.height,p[4]=m.r=B.r,"rect";G=new r.Image;G.onload=function(){C=D("none","top","left",
100,0,e,k,G);delete C.x;delete C.y;C=Q(C,{width:(d.hasDimensionX?B.unscaled.width:C.width)*t,height:(d.hasDimensionY?B.unscaled.height:C.height)*z});setTimeout(function(){var a,e,l;if(a=d.wrapper){a.attr(C);if(e=d.tracker)l=a.getBBox(),e.attr({x:l.x,y:l.y,width:l.width,height:l.height});a.css({opacity:c.opacity=q(w(d.fillAlpha,d.borderAlpha),d.borderAlpha)/100})}d.onload&&d.onload(C)},0)};G.src=n;p[0]=m.src=n;p[1]=m.x=B.x;p[2]=m.y=B.y;p[3]=m.width=(d.hasDimensionX?B.unscaled.width:C.width)*t;p[4]=
m.height=(d.hasDimensionY?B.unscaled.height:C.height)*z;c.opacity=q(w(d.fillAlpha,d.borderAlpha),d.borderAlpha)/100;delete m.stroke;delete m.fill;delete m["stroke-linecap"];return"image"}}});ga=function(){this.groups=[];this._idstore={};this._options={}};C.Annotations=ga;k.extend(ga.prototype,{reset:function(a,d,c){var e=this.groups,l,k;this.chart=c;this.clear();if(k=this.setSnapPoints()){l={};for(var m in k)switch(typeof k[m]){case "object":case "function":l["-$"+m]=l["$"+m]=l["+$"+m]=k[m];break;
default:l["$"+m]=l["+$"+m]=k[m],l["-$"+m]=-1*k[m]}l=this._literals=l}d&&(this._options=d);if(a&&a.groups&&e)for(k=0;k<a.groups.length;k+=1)e.push(new da(a.groups[k],d,l,this._idstore,this,c)),e[k].chart=c},getRenderer:function(){return this._renderer},addGroup:function(a){var d=this.getRenderer();this.groups.push(a=new da(a,this._options,this._literals,this._idstore,this,this.chart));d&&(a.setup(),a.scale(),a.draw());return a},addItem:function(a,d,c){var e,l=this.getRenderer();"string"===typeof a?
e=this._idstore[a]:(c=d,d=a);if(e&&e.addItem){if(!l&&c){k.raiseWarning(this,"04031411430","run","Annotations~addItem()","Cannot draw the shapeif the group has not been drawn. Use Annotations~draw() to draw the group and pass the renderer to it.");return}a=e.addItem(d,c)}else a=this.addGroup({}).addItem(d,c);return a},draw:function(a){var d=this.groups,c,e;if(d&&(this._renderer=a||this._renderer))for(c=0,e=d.length;c<e;c++)a=d[c],a.setup(),a.scale(),a.draw()},clear:function(){var a=this.groups,d;if(a){for(;d=
a.shift();)d.destroy();this.shapesToDraw=[]}},dispose:function(){var a;this.disposing=!0;this.clear();for(a in this)delete this[a];this.disposed=!0},hide:function(a){if(a=this._idstore[a])return a.attrs.visibility="hidden",a.wrapper&&a.wrapper.hide(),a},show:function(a){if(a=this._idstore[a])return a.attrs.visibility="",a.wrapper&&a.wrapper.show(),a},update:function(a,d,c){a=this._idstore[a];var e;if(a&&d){if("object"===typeof d)for(e in d.id&&delete d.id,d.type&&delete d.type,d)a.options[(e+"").toLowerCase()]=
d[e]+"";else a.options[(d+"").toLowerCase()]=c+"";a.wrapper&&(a.scale(),a.setup(),a.draw());return a}},destroy:function(a){var d=this._idstore[a],c=d.group;d&&"function"===typeof d.destroy&&(c&&c.removeItem(a),d.destroy())},shapesToDraw:[],setSnapPoints:function(){var a=this.chart,d=a.config,c=a.components,e=c.legend,l=c.gradientLegend,k=c.caption.config,c=c.subCaption.config,m=k.width||0,p=c.width||0,n,q=this.datasetFunction.bind(a),t=this.xAxisFunction.bind(a),w=this.yAxisFunction.bind(a);"end"===
k.align?(a=k.x-m,n=k.x-p):"start"===k.align?a=n=k.x:(a=k.x-m/2,n=k.x-p/2);e=d.gLegendEnabled?l.conf:e.config;return{canvasendx:d.canvasRight,canvasendy:d.canvasBottom,canvasheight:d.canvasHeight,canvasstartx:d.canvasLeft,canvasstarty:d.canvasTop,canvaswidth:d.canvasWidth,canvascenterx:d.canvasCenterX||(d.canvasRight-d.canvasLeft)/2,canvascentery:d.canvasCenterY||(d.canvasBottom-d.canvasTop)/2,chartcenterx:d.width/2,chartcentery:d.height/2,chartstartx:0,chartstarty:0,chartendx:d.width,chartendy:d.height,
chartheight:d.height,chartwidth:d.width,chartleftmargin:d.marginLeft,chartrightmargin:d.marginRight,chartbottommargin:d.marginBottom,charttopmargin:d.marginTop,captionendx:a+k.width,captionendy:k.y+k.height,captionheight:k.height,captionstartx:a,captionstarty:k.y,captionwidth:m,subcaptionendx:n+c.width,subcaptionendy:c.y+c.height,subcaptionheight:c.height,subcaptionstartx:n,subcaptionstarty:c.y,subcaptionwidth:p,legendendx:e.xPos+e.width,legendendy:e.yPos+e.height,legendheight:e.height,legendstartx:e.xPos,
legendstarty:e.yPos,legendwidth:e.width,dataset:q,xaxis:t,yaxis:w,gaugestartx:d.gaugeStartX,gaugestarty:d.gaugeStartY,gaugeendx:d.gaugeEndX,gaugeendy:d.gaugeEndY,gaugecenterx:d.gaugeCenterX,gaugecentery:d.gaugeCenterY,gaugestartangle:d.gaugeStartAngle,gaugeendangle:d.gaugeEndAngle,gaugeradius:d.gaugeRadius,plotwidth:d.plotWidth,plotsemiwidth:d.plotSemiWidth}},datasetFunction:function(a,d){var c=this.components.dataset,e,l,k,m;k=this.is3D;if(!c||!c.length)return 0;isNaN(a[0])?e=0:(e=Number(a[0]),a=
a.slice(1));l=a[0];if("set"===l){isNaN(a[1])?(m=0,a=a.slice(1)):(m=Number(a[1]),a=a.slice(2));l=a[0];c=(c=c[e]&&c[e].components.data[m])&&(c.graphics.element||c.graphics.hotElement||c.graphics.upperBoxElem);if(!c)return 0;k=d&&k?c._getBBox2():c.getBBox();m=ea(l,k)}return m},xAxisFunction:function(a){var d=this.components&&this.components.xAxis&&this.components.xAxis[0],c,e;if(!d)return 0;e=a[0];if("label"===e){isNaN(a[1])?(c=0,a=a.slice(1)):(c=Number(a[1]),a=a.slice(2));e=a[0];a=d._getLabelElement(c);
if(!a)return 0;a=a.getBBox();c=ea(e,a)}return c},yAxisFunction:function(a){var d=this.components&&this.components.yAxis,c,e;if(!d||!d.length)return 0;isNaN(a[0])?c=0:(c=Number(a[0]),a=a.slice(1));c=d[c];if(!c)return 0;d=a[0];if("label"===d){isNaN(a[1])?(e=0,a=a.slice(1)):(e=Number(a[1]),a=a.slice(2));d=a[0];a=c._getLabelElement(e);if(!a)return 0;a=a.getBBox();e=ea(d,a)}return e}});k.core.addEventListener("beforeinitialize",function(a){"javascript"===a.sender.options.renderer&&(a.sender.annotations=
new ga)});k.core.addEventListener("disposed",function(a){a.sender.annotations&&a.sender.annotations.dispose()});k.addEventListener("internal.animationComplete",function(a){a=a.sender;var d=a.annotations,c=d&&d.shapesToDraw,e=c&&c.length,l,k;a=a.apiInstance.config;var m=a.annRenderDelay,p=a.resize,n=(new Date).getTime(),q,t=function(){for(k=0;k<e;k++)l=c[k],l.draw()};if(e){for(k=0;k<e;k++)l=c[k],l.queueDraw=!1,l.scale(),l.setup();q=(new Date).getTime();m&&!p?setTimeout(function(){t();d.shapesToDraw=
[]},m-(q-n)):(t(),d.shapesToDraw=[])}a.resize=!1});m.addEventListener("rendered",function(a,d){if("javascript"===d.renderer){var c=a.sender;c.apiInstance&&(c.apiInstance.showAnnotation||(c.apiInstance.showAnnotation=function(){c.annotations.show.apply(c.annotations,arguments)}),c.apiInstance.hideAnnotation||(c.apiInstance.hideAnnotation=function(){c.annotations.hide.apply(c.annotations,arguments)}))}})}]);
FusionCharts.register("module",["private","modules.renderer.jpegtopdf",function(){var k=this.window,m=k.btoa,C=k.atob;this.hcLib.JpegToPdf=function(k,e){var a=[],M=0,J=k||500,I=e||500,n,z,G;n=function(e){M+=e.length+1;a.push(e)};this.addImage=function(a){a=/base64,(.+?)$/g.exec(a);G=C(a[1])};z=function(){var e=[],k,c;n("%PDF-1.7");e[1]=M;n("1 0 obj");n("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");n("endobj");e[4]=M;n("4 0 obj");n("<< /Length 36>>");n("stream");n("q "+I+" 0 0 "+J+" 0 0 cm /Im3 Do Q");
n("endstream");n("endobj");e[5]=M;n("5 0 obj");n("<</Type /Page /Parent 2 0 R /MediaBox [0 0 "+I+" "+J+"] /Contents [4 0 R ] /Resources <</ProcSet 1 0 R /Font <<>> /XObject <</Im3 3 0 R >> >> >>");n("endobj");e[3]=M;n("3 0 obj");n("<</Type /XObject /Subtype /Image /Width "+I+" /Height "+J+" /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length "+G.length+">>");n("stream");n(G);n("endstream");n("endobj");e[2]=M;n("2 0 obj");n("<</Type /Pages /Kids [5 0 R ] /Count 1>>");n("endobj");
e[6]=M;n("6 0 obj");n("<</Type /Catalog /Pages 2 0 R >>");n("endobj");k=M;n("xref");n("0 7");n("0000000000 65535 f ");for(c=1;6>=c;c++)n(("0000000000"+e[c]).slice(-10)+" 00000 n ");n("trailer");n("<</Size 7 /Root 6 0 R >>");n("startxref");n(k);n("%%EOF");return a.join("\n")};this.getDataUrl=function(){return"data:application/pdf;base64,"+m(z())}}}]);
FusionCharts.register("module",["private","modules.exporter.batch-export",function(){var k=this.window,m=this.hcLib,C=k.Math.max,r=k.Image,e=m.drawSvgOnCanvas,a=m.downloadCharts,M=m.browserDetails,J=m.pluckNumber,I=m.pluck,n=m.JpegToPdf,z=k.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),G="https:"===k.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/";FusionCharts.batchExport=function(m){var t=m||{},c,p,d,B,Q,l=0,w=!1,H,F,T,D={exportTargetWindow:I(t.exportTargetWindow,
z?"_blank":"_self"),exportAction:t.exportAction&&"save"===t.exportAction.toString().toLowerCase()&&"save"||"download",exportFileName:I(t.exportFileName,"FusionCharts"),exportHandler:I(t.exportHandler,G),exportParameters:I(t.exportParameters,""),exportFormat:I(t.exportFormat,"PNG"),exportCallBack:I(t.exportCallBack,""),exportAtClientSide:J(t.exportAtClientSide,1)},V=D.exportFormat.toLowerCase(),P=0,fa=0,$,ba=k.document,ia=FusionCharts.items,ea=function(a){return a.match(/http:\/\/|https:\/\//)&&/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]&&
k.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]?!1:!0},X=function(a,d,c,e){var l=a,k=d;isNaN(l)&&(l=J(d,e)*(c/e));isNaN(k)&&(k=J(a,c)*(e/c));return{width:l,height:k}},ca=function(d){!D.exportAtClientSide||"undefined"===typeof k.btoa||"Chrome"!==M.name&&"Firefox"!==M.name&&"Edge"!==M.name&&"ie"!==M.name?(d={charttype:"combined",stream:d,stream_type:"IMAGE-DATA",parameters:["exportfilename="+D.exportFileName,"exportformat="+V,"exportaction="+D.exportAction,"exportparameters="+D].join("|")},
a(null,null,null,d,D)):a("url",d,D.exportFileName+"."+V)},ga=function(a){var c;e(a,d,this.x,this.y,this.width,this.height,function(){--l;if(0===l&&w)switch(V){case "png":ca(d.toDataURL("image/png"));break;case "jpeg":ca(d.toDataURL("image/jpeg"));break;case "pdf":c=new n(P,fa);c.addImage(d.toDataURL("image/jpeg"));ca(c.getDataUrl());break;default:ca(d.toDataURL("image/png"))}})};m=function(a){var c=t.background;d=ba.createElement("canvas");d.id="newCanvas";d.width=fa;d.height=P;d.style.border="1px solid black";
B=d.getContext("2d");B.fillStyle=c&&c.bgColor||"#ffffff";B.fillRect(0,0,fa,P);c&&c.bgImage&&ea(c.bgImage)?(F=new r,F.src=c.bgImage,F._userData=c,B.globalAlpha=J(c.bgImageAlpha,100)/100,F.onload=function(){var d=this._userData,c=J(d.bgImageX,0),e=J(d.bgImageY,0),l=X(Number(d.bgImageWidth),Number(d.bgImageHeight),this.width,this.height),d=l.width,l=l.height;try{B.drawImage(this,c,e,d,l)}finally{B.globalAlpha=1,a()}},F.onerror=function(){a()}):a()};if(M.hasCanvas){(function(){var a=t.charts,d,c,e,l;
p=[];if(a)for(e in a)a.hasOwnProperty(e)&&(d=ia[a[e].id])&&(c=a[e],l=X(Number(c.width),Number(c.height),d.width,d.height),p.push({id:d.id,width:l.width,height:l.height,x:c.x,y:c.y}));else for(e in ia)ia.hasOwnProperty(e)&&(d=ia[e],p.push({id:d.id,width:d.width,height:d.height}))})();$=0;for(H=p.length;$<H;$+=1)T=p[$],T.x=J(T.x,5),T.y=J(T.y,P+5),T.height=J(T.height),T.width=J(T.width),P=C(P,T.y+T.height),fa=C(fa,T.x+T.width);P=t.imageHeight||P+5;fa=t.imageWidth||fa+5;m(function(){return function(){$=
0;for(H=p.length;$<H;$+=1){T=p[$];$===H-1&&(w=!0);var a=T;c=FusionCharts.items[T.id];Q=c.jsVars.instanceAPI.components.paper.toSVG(!0);l+=1;ga.call(a?a:c,Q)}}}())}}}]);
FusionCharts.register("module",["private","modules.exporter.main",function(){var k=this,m=k.window,C=k.hcLib,r=C.extend2,e=C.BLANKSTRING,a=C.graphics.RGBtoHex,M=/\s\bx\b=['"][^'"]+?['"]/ig,J=/\s\by\b=['"][^'"]+?['"]/ig,I=m.document,n=m.Image,z=C.JpegToPdf,G=C.browserDetails;C.exportChart=function(q){var t=this,c=t.config,p=t.components,d=t.chartInstance,B=C.getSvgDataurl,Q=C.removeCrossDomainImages,l=C.downloadCharts,w=c.exportOption;q="object"===typeof q&&function(a){var d={},c;for(c in a)d[c.toLowerCase()]=
a[c];return d}(q)||{};var H=r(r({},w),q),F=(H.exportformat||"png").toLowerCase(),T=H.exporthandler,D=(H.exportaction||e).toLowerCase(),V=H.exporttargetwindow||e,P=H.exportfilename,fa=H.exportparameters,$=H.exportcallback,ba=H.exportwithimages,ia=H.exportatclientside,ea,X,ca;if(!w||!w.enabled||!T)return!1;k.raiseEvent("beforeExport",H,d,void 0,function(){function q(){var a,b,f;b=function(b){Na.stream=b;Na.stream_type="IMAGE-DATA";l(null,null,null,Na,Pa)};G.hasCanvas&&"undefined"!==typeof m.btoa?(a=
I.createElement("canvas"),a.width=U.width,a.height=U.height,"svg"===F?B(oa,function(a){b(a)}):C.drawSvgOnCanvas(oa,a,0,0,U.width,U.height,function(){switch(F){case "png":b(a.toDataURL("image/png"));break;case "jpeg":b(a.toDataURL("image/jpeg"));break;case "pdf":f=new z(U.height,U.width);f.addImage(a.toDataURL("image/jpeg"));b(f.getDataUrl());break;default:b(a.toDataURL("image/jpeg"))}})):-1!==la.indexOf("<image ")?Ca?(na=(Fa=la.match(/<image [^\>]*\>/gi))&&Fa.length,ha=function(b){var a,f;(f=b.match(/data:image\/(.*);/))?
b=f[1]:(a=b&&b.split("/"),a=a[a.length-1],b=a.split("."),a=b[0],b=b[1]||"png","jpg"===b&&(b="jpeg"));return{name:a,type:b}},Ia=function(b,a,f,d,c){var e=new n;e.onload=function(){var l="image/"+f,k=I.createElement("canvas"),m=k.getContext("2d"),K="";k.width=e.width;k.height=e.height;m.drawImage(e,0,0);K=k.toDataURL(l);qa[b]=K;Ta(K,a,f,d,c)};e.onerror=function(){wa()};e.src=b},Ta=function(b,a,f,d,c){Da["image_"+ra]={name:a,type:f,encodedData:b,width:d,height:c};wa()},wa=function(){var b={},a,f,d,c,
e,k=!1;ra<na?(a=Fa[ra].replace(/\"/g,""),a.split(" ").forEach(function(a){a=a.split(/=(.+)?/);b[a[0]]=a[1]}),b["xlink:href"]&&(a=(f=ha(b["xlink:href"]))&&f.name||"temp_image_"+ra,d=f&&f.type||"png",c=parseInt(b.width,10),e=parseInt(b.height,10),f=a+"."+d,qa[b["xlink:href"]]?k=!0:Ia(b["xlink:href"],a,d,c,e)),a='xlink:href="'+b["xlink:href"],la=la.replace(a,'xlink:href="temp/'+f),ra+=1,k&&wa()):(Na.encodedImgData=JSON.stringify(Da),Na.stream=la,l(null,null,null,Na,Pa))},wa()):l(null,null,null,Na,Pa):
l(null,null,null,Na,Pa)}function w(){var a=P+"."+F;"svg"===F?B(oa,function(b){l("url",b,a)}):ua(F,R)}function r(){var a=0;ea=[];X.replace(/[^\r\n]+/g,function(b){ea[a]=[];b.replace(/"([^",]+)/g,function(b,g){ea[a].push(g)});a+=1})}function Ja(){return"data:application/vnd.ms-excel;base64,"+function(a){return m.btoa(m.unescape(encodeURIComponent(a)))}("<html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>"+
function(){var a,b,f,g,d,c;if(!ea.length)return"";f=0;for(c=ea.length;f<c;f+=1)if(0===f){a="<thead valign='top'><tr>";g=0;for(d=ea[f].length;g<d;g+=1)a+="<th>"+ea[f][g]+"</th>";a+="</tr></thead>";b="<tbody>"}else{b+="<tr>";g=0;for(d=ea[f].length;g<d;g+=1)b+="<td>"+ea[f][g]+"</td>";b+="</tr>"}return"<table align='center' >"+a+(b+"</tbody>")+"</table>"}()+"</body></html>")}function R(a,b,f){f=f+"."+a;switch(a){case "pdf":a=new C.JpegToPdf(U.height,U.width);a.addImage(b);b=a.getDataUrl();l("url",b,f);
break;default:l("url",b,f)}}function ua(a,b){var f;f=I.createElement("canvas");f.width=U.width;f.height=U.height;C.drawSvgOnCanvas(oa,f,0,0,U.width,U.height,function(){switch(a){case "png":b(a,f.toDataURL("image/png"),P);break;case "jpeg":b(a,f.toDataURL("image/jpeg"),P);break;default:b(a,f.toDataURL("image/jpeg"),P)}})}var Ha=d.id,U=p.paper,Na,la,oa,Ca=C.isCanvasElemSupported(),Fa,na,ra=0,Da={},ha,Ia,wa,Ta,qa={},Oa={DOMId:Ha,height:U.height,width:U.width,fileName:P+"."+F,statusCode:void 0,statusMessage:void 0,
notice:void 0},Pa={exportAction:D,exportTargetWindow:V,exportCallback:$,fusionCharts:t,paper:U,chartId:Ha,exportHandler:T};if("xls"===F)if("undefined"!==typeof m.btoa)X=d.getCSVData();else return k.raiseEvent("exportCancelled",H,d),!1;else p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","hidden"),la=U.toSVG(ba&&Ca&&"svg"!==F),oa=U.toSVG(ba&&Ca),p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","visible"),la=la.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),la=la.replace(/NS\d+:/gi,
"xlink:"),la=Q(la),oa=oa.replace(/NS\d+:/gi,"xlink:"),oa=oa.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),oa=oa.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),la=la.replace(/[\w\-]+\=\"undefined\"/ig,""),la=la.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),la=la.replace(/rgba\(([^\)]+)\)/ig,function(d,b){return"#"+new a(b.split(","))}),la=la.replace(/<svg[^>]+/i,function(a){a.match(/height/i)||!U.height&&!c.height||(a+=' height="'+(U.height||c.height)+'"');a.match(/width/i)||!U.width&&
!c.width||(a+=' width="'+(U.width||c.width)+'"');return a}),la=la.replace(/(([\w]+\-)?opacity\s*=\s*)['"][\d\.]+e[\-\+][\d]+["']/ig,'$1"0.001"'),la=la.replace(/(([\w]+\-)?opacity\s*:\s*)[\d\.]+e[\-\+][\d]+/ig,"$10.001"),la=la.replace(/<text[^\>]+/ig,function(a){a=a.replace(/stroke\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/stroke-opacity\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke-opacity\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/(<text[^\>]+fill\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,
'$1$2 stroke=$2 stroke-width="0.2"$3');return a=a.replace(/(<text[^\>]+fill-opacity\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,"$1$2 stroke-opacity=$2 $3")}),la=la.replace(/<(\b[^<>s\s]+\b)[^\>]+?opacity\s*=\s*['"][^1][^\>]+?(\/>|>[\s\r\n]*?<\/\1>)/ig,function(a,b){var f=M.exec(a)||e,g=J.exec(a)||e;return a+"<"+b+f+g+' opacity="1" stroke-opacity="1" fill="#cccccc" stroke-width="0" r="0" height="0.5" width="0.5" d="M 0 0 L 1 1" />'}),Na={charttype:d.chartType(),stream:la,stream_type:"svg",meta_bgColor:H.bgcolor||
"",meta_bgAlpha:H.bgalpha||"1",meta_DOMId:d.id,meta_width:U.width||c.width,meta_height:U.height||c.height,parameters:["exportfilename="+P,"exportformat="+F,"exportaction="+D,"exportparameters="+fa].join("|")};k.raiseEvent("exportDataReady",Na,d);"xls"===F?(r(),ca=Ja(),!ia||"download"!==D||"undefined"===typeof m.btoa||"Chrome"!==G.name&&"Firefox"!==G.name&&"Edge"!==G.name&&"ie"!==G.name?(Na={charttype:"combined",stream:ca,stream_type:"IMAGE-DATA",parameters:["exportfilename="+P,"exportformat="+F,"exportaction="+
D,"exportparameters="+Pa].join("|")},l(null,null,null,Na,Pa)):(l("url",ca,P+"."+F),k.raiseEvent("exported",Oa,d))):ia&&"download"===D?"undefined"===typeof m.btoa||"Chrome"!==G.name&&"Firefox"!==G.name&&"Edge"!==G.name&&"ie"!==G.name?(k.raiseWarning(this,"14038823867","run","Export Feature","Client side export requirement not fulfiled so exporting through server side"),q()):(w(),k.raiseEvent("exported",Oa,d)):q()},function(){k.raiseEvent("exportCancelled",H,d)})}}]);
FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function k(a){"number"===typeof a&&(a="'"+a+"'");return a.split("").reduce(function(a,d){a=(a<<5)-a+d.charCodeAt(0);return a&a},0)}function m(a,d){var c;if(a.getBBox)return a;c=a.getBoundingClientRect();a.getBBox=function(){return{x:d.x,y:d.y,width:c.right-c.left,height:c.bottom-c.top,isArtificial:!0}};return a}function C(a,d,c){var e,l;for(e in a)l=a[e],void 0!==l&&null!==l&&(c?d[e]||(d[e]=l):d[e]=l)}function r(a,
d){switch(a){case "click":return function(a){e.dem.listen(d,"click",function(d){d.target&&d.target.parentNode&&a.call(d.target)})};case "hover":return function(a,c){e.dem.listen(d,"pointerhover",function(d){d.target&&d.target.parentNode&&("start"===d.state?a:c).call(d.target)})}}}var e=this.hcLib,a=e.Raphael,M=this.window.document,J=e.graphics,I=J.convertColor,n=J.getLightColor,z=J.rawRGBtoHEX,G=e.pluckNumber,q=e.pluck,t={},c={},p={},d=e.extend2,B,Q,l,w,H=function(){},F=I("FFFFFF",0),T=0,D;B=function(a,
d,c){return["M",a-c,d-c]};Q=function(a,d,c){var e=c/4;return["M",a-3*e,d,"L",a-e,d+c,a+c,d-c]};l=function(){a.addSymbol("Internal_CB",B);return{register:function(){var d,c,e;if(1===arguments.length){c=arguments[0];if(null==c||"object"!==typeof c)return;e=c}else if(1<arguments.length){d=arguments[0];c=arguments[1];if("string"!==typeof d||"function"!==typeof c)return;e={};e[d]=c}else return;for(d in e)c=e[d],{}.hasOwnProperty.call(e,d)&&a.addSymbol(d,c)}}}();D=function(){function a(){this.pool={}}function d(a){var c,
e,l,k,m,p;if(a)for(c in a)for(e in l=a[c],l)if(k=l[e],k instanceof Array)for(m=0,p=k.length;m<p;m++)k[m].hide&&k[m].hide();else k.hide&&k.hide()}var c={},e,l,k,m,p={};a.prototype.constructor=a;l={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",KEY_PATH:"path",KEY_DIV:"div"};c[l.KEY_DIV]=function(){return M.createElement("div")};c[l.KEY_RECT]=function(a){return m.paper.rect(a)};c[l.KEY_TEXT]=function(a){return m.paper.text(a)};c[l.KEY_GROUP]=function(a,
d){return m.paper.group(a,d)};c[l.KEY_SCROLLER]=function(a,d,c,e,l,k,p){return m.paper.scroller(a,d,c,e,l,k,p)};c[l.KEY_BUTTON]=function(a,d,c,e,l,k){return m.paper.button(a,d,c,e,l,k)};c[l.KEY_PATH]=function(a,d){return m.paper.path(a,d)};return{init:function(c,l){var k;m=c;k=p[l]||(p[l]={});d(k.pool);k.initialized||(e=k.pool=(new a).pool,e._tmp=l,k.initialized=!0)},isInitialized:function(){},getCreationStatus:function(){return k},emptyPool:function(a){a=p[a]||{};a.pool&&(a.pool={})},hideRecursive:function(a){d((p[a]||
{}).pool)},getComponent:function(a,d,e,l){d=(p[d||0]||{}).pool;var m=d[a],n,q,t,w=0;m||(m=d[a]={});return(q=m[e])&&!(q instanceof Array)||q instanceof Array&&0<q.length?function(){k=!1;return l?(t=q[w++])?t.show():q[w]=c[e].apply(this,arguments):q.show&&"function"===typeof q.show&&q.show()||q}:function(){k=!0;return l?(n=m[e]||(m[e]=[]),q=c[e].apply(this,arguments),n.push(q),q.show&&"function"===typeof q.show&&q.show()||q):m[e]=c[e].apply(this,arguments)}},getKeys:function(){return l}}}();w=function(){function a(d){d=
d||{};this.name=d.name;this.handler=d.handler||H;this.action=d.action&&d.action.toLowerCase()||"click";this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:p.baseFontFamily,fontSize:p.baseFontSize+"px"};this.hoverOverStyle=d.hoverOverStyle||{};this.hoverOutStyle=d.hoverOutStyle||{};C(d.style||{},this.style);this.node=this.subConRef=void 0}function e(a,d){var c=this,l,k;l=d&&d.top||0;var m=d&&d.left,p=d&&d.right;this.container=a;this.position=e.POSITION_BOTTOM;this.atomicLists=
[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;m&&p||(this.positionCalculation=!0);this.hoverOverStyle={background:"#333333",color:"#FFFFFF",cursor:"pointer"};this.hoverOutStyle={background:"#FFFFFF",color:"#000000"};this._defaultStyle={position:"absolute","z-index":50,top:void 0===l?"auto":l+"px",right:void 0===p?"auto":p+"px",left:void 0===m?"auto":m+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",
padding:"5px 3px",display:"none"};l=this.container.style;for(k in this._defaultStyle)l[k]=this._defaultStyle[k];Ha.linkedItems&&(Ha.linkedItems.container.appendChild(this.container),k=r("hover",this.container),k(function(){c.show(this)},function(){c.hide(300,this)}))}function q(a){this.listContainer=this.container=void 0;this.measurement=a}function w(a,d,c,e){this.symbol=a;this._id="TB_SYMBOL"+(c||0);this.node=void 0;this.pId=e;this.isPlaintext=d;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};
this.evt={tooltext:void 0,click:H,hover:[H,H]}}function J(a,d,c,e){w.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(c||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:Ja};this.pId=e;this.checked=!!d;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function T(a,d,e){w.call(this);this._id="TB_SCROLLER"+(d||0);this.pId=e;this.conf={};this.userConf=c;this.setConfiguaration(a);this.evt.scroll=H;return this}function ea(a,
d,c){var e;w.call(this,a,void 0,d,c);this.rawContextDefinitation=void 0;this.listContainerManager=(new q(this.position)).init(c);e=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){e.show(m(a.target||a.fromElement,a))},function(a){e.hide(300,a.target)}]}function X(a,c){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=c;d(this.btnConfig={},t);d(this.groupConfig={},da)}function ca(a,d){ga[this.id="TB_MASTER"+a||k((new Date).getTime())]=this;this.toolbarRect=
void 0;this.componentGroups=[];this.toolbarConfig=Z;this.group=void 0;this.pId=d}var ga={},da={hPadding:3,vPadding:3,borderRadius:2,fill:I("DBDBDB",100),borderColor:I("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},Z={hPadding:3,vPadding:3,borderRadius:0,fill:I("EBEBEB",100),borderColor:I("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},Ja={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},R,ua,Ha;a.prototype.assignSubContainer=
function(a){a instanceof e&&(this.subConRef=a)};a.prototype.stickIntoContainer=function(a,d){var c=this.node=M.createElement("div"),e=this.style,l,k,m,p=this;this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(c);c.innerHTML=this.name;k=c.style;for(l in e)k[l]=e[l];e=r("hover",c);r("click",c)(function(){p.handler&&((m=p.eventMap.click)&&m.apply(p,[Ha]),d.hide())});e(function(){var a,d=c.style,e=p.hoverOverStyle;for(a in e)d[a]=e[a];p.subConRef&&p.subConRef.show(this)},function(){var a,
d=c.style,e=p.hoverOutStyle;for(a in e)d[a]=e[a];p.subConRef&&p.subConRef.hide(300,this)})};a.prototype.setStyle=function(a){C(a||{},this.style)};a.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};e.POSITION_TOP="top";e.POSITION_BOTTOM="bottom";e.prototype.addAtomicListItem=function(d){d instanceof a&&(this.atomicLists.push(d),d.stickIntoContainer(this.container,this))};e.prototype.show=function(a){var d=this.hideFnIds,c=Ha.config.width,e=this.positionCalculation,
l=0,k;this.target=this.target||a;for(k=d.length;l<k;l++)clearTimeout(d[l]);d.length=0;(d=this.parentListCon)?(d.show(this.target),this.container.style.left=d.container.offsetLeft+d.container.offsetWidth+"px",this.container.style.top=d.container.offsetTop+this.target.offsetTop+"px"):(d=a&&a.nodeName&&"DIV"===a.nodeName.toUpperCase()?!0:!1,d||(a=a.getBBox(),e&&(this.container.style.display="block",e=this.container.offsetWidth,e+a.x>c?(this.container.style.left="auto",this.container.style.right=c-a.x-
a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===ea.POSITION_BOTTOM?(c=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*c+"px",this.container.style.bottom="auto"):(this.container.style.bottom=Ha.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};e.prototype.hide=function(a){var d=this.container,c;(c=this.parentListCon)&&c.hide(300);this.hideFnIds.push(setTimeout(function(){d.style.display=
"none"},a))};e.prototype.dispose=function(){var a=this.atomicLists,d=this.refContainers,c,e;c=this.hideFnIds.length=0;for(e=a.length;c<e;c++)a[c].dispose();c=a.length=0;for(e=d.length;c<e;c++)d[c].dispose();d.length=0};q.prototype.init=function(a){var d=D.getKeys();this.container||(a=D.getComponent("div0",a,d.KEY_DIV),(a=a())&&(a.innerHTML=""),this.container=new e(a,this.measurement));return this};q.prototype.getFirstContainer=function(){return this.container};q.prototype.appendAsList=function(d,
c){var l=this,k,m=this.container.hoverOverStyle,p=this.container.hoverOutStyle;(function ra(d,c){var n,q=0,w,t,F,r,z,b,f,g;f=c?c:l.container;n=d instanceof Array?d:[d];for(w=n.length;q<w;q++){t=n[q];F=new a({hoverOverStyle:m,hoverOutStyle:p});for(r in t)F.name=r,z=t[r],F.action=z.action,F.setStyle(z.style),-1!==r.search(/^<[^<]+>$/)&&(F.hoverOverStyle={},F.hoverOutStyle={},z.handler=H),b=z.handler,"function"!==typeof b?g=ra(b,new e(M.createElement("div"))):F.handler=z.handler;f.addAtomicListItem(F);
g&&(g.parentListCon=f,f.refContainers.push(g),F.assignSubContainer(g));g=void 0}return k=f})(d,c);return k};q.prototype.dispose=function(){this.container.dispose();this.container=void 0};w.prototype.registerSymbol=function(a){l.register(this.symbol,a)};w.prototype._setConfiguaration=function(a){this.conf?C(a,this.conf,!0):this.conf=a};w.prototype.attachEventHandlers=function(a,d){var c=this.evt,e=a.tooltext,l=a.click||H,k=a.hover,m=d&&d.click||H,p=this;e&&(c.tooltext=e);c.click="function"===typeof l?
function(){m();l.apply(p,arguments)}:function(){var a=l.fn,d=l.context,c=(l.args||[]).slice(0);l.hasOwnProperty("context")?c.push(p):d=p;[].push.apply(c,arguments);m();a.apply(d,c)};k&&k instanceof Array&&(c.hover=k);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);return p};w.prototype.getLogicalSpace=function(){return{width:this.conf.width,height:this.conf.height}};w.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};
w.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};w.prototype.draw=function(a,d,c){var e=this.conf||{},l,k,m=D.getKeys(),p=Ha.get("config","animationObj"),q=p.animObj,w=p.dummyObj,t=p.duration;this.isPlaintext?k=this.symbol:l=this.symbol;void 0!==c.idCount&&(this._id+=c.idCount);e.hoverFill=e.hoverFill?I(e.hoverFill):I(n(z(e.fill),80));c=this.node=D.getComponent(this._id,this.pId,m.KEY_BUTTON,!0)(a,d,k,l,{width:e.width,height:e.height,r:e.radius,verticalPadding:e.symbolHPadding*
e.scale,horizontalPadding:e.symbolHPadding},c.parentLayer).labelcss(this.conf.btnTextStyle);c.attr({ishot:!0,fill:[e.fill,e.labelFill,e.symbolFill,e.hoverFill,!0],stroke:[e.stroke,e.symbolStroke],"stroke-width":[e.strokeWidth,e.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);D.getCreationStatus()||(this.node.unclick(),this.node.animateWith(w,q,{"button-repaint":[a,d,e.width,e.height,e.radius]},t,p.animType),this.node.attr({"button-label":k,
"button-padding":[e.symbolHPadding,e.symbolHPadding*e.scale]}),this.node.buttonclick(this.evt.click));c.getBBox=function(){return{x:a,y:d,width:e.width,height:e.height}};return c};w.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};J.prototype=Object.create(w.prototype);J.prototype.constructor=J;J.prototype.check=function(){var a=this.pos;this.checked=!0;this.regSymbolCmd=Q;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,
a.height,a.r]}))};J.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=B;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};J.prototype.click=function(){this.checked?this.uncheck():this.check()};J.prototype.attachEventHandlers=function(a){var d=this;w.prototype.attachEventHandlers.apply(this,[a,{click:function(){d.click()}}])};J.prototype.getLogicalSpace=function(){var a=Ha.linkedItems.smartLabel,d=this.text.style,
c;c=w.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(Ha.config.useEllipsesWhenOverflow);a.setStyle(d);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+c.width,height:Math.max(c.height,a.height)}};J.prototype.draw=function(a,d,c){var e,l=this.conf,k;k=Ha.linkedItems.smartLabel;var m=R.colorManager,p=this.text.plaintext,n,q=D.getKeys();this.registerSymbol(this.regSymbolCmd);e=this.node=w.prototype.draw.apply(this,arguments);this.pos={x:a,y:d,width:l.width,
height:l.height,r:l.radius};n=this.text.style;n.fill=n.fill||"#"+m.getColor("baseFontColor");k.useEllipsesOnOverflow(Ha.config.useEllipsesWhenOverflow);k.setStyle(n);k=k.getSmartText(p);e=e.getBBox();m=D.getComponent(this._id,this.pId,q.KEY_TEXT);this.textNode=m(c.parentLayer).attr({text:p,x:e.x+e.width+k.width/2+this.interPadding,y:e.y+e.height/2}).css(n);l=l.height>k.height?l.height:k.height;m=D.getComponent(this._id,this.pId,q.KEY_RECT);return m(c.parentLayer).attr({height:l,width:e.width+k.width+
this.interPadding,x:a,y:d,stroke:F})};J.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;w.prototype.dispose.call(this)};T.prototype=Object.create(w.prototype);T.prototype.constructor=J;T.prototype.setConfiguaration=function(a){var d=R.colorManager;c.color||(c.color="#"+d.getColor("altHGridColor"));C(c,this.conf);C(a,this.conf)};T.prototype.getLogicalSpace=function(){var a=this.conf,d={};C(c,d);C(d,a);return w.prototype.getLogicalSpace.call(this)};T.prototype.getDefaultLayer=
function(){var a=D.getKeys();return D.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};T.prototype.registerSymbol=void 0;T.prototype._setConfiguaration=function(){};T.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);w.prototype.attachEventHandlers.apply(this,arguments);return this};T.prototype.draw=function(){var a,d,e,l,k,m,p,n,q,w,t,F,r,z,B,J;B=this.conf;var H,b=D.getKeys(),f={},g=Ha.get("config","animationObj"),u=g.animObj,N=
g.dummyObj;e={};var L=g.duration;1===arguments.length?(B=arguments[0],a=B.x,d=B.y,p=B.parentLayer,k=!!B.sepLayer):(a=arguments[0],d=arguments[1],k=arguments[2],B&&k?C(k,B):k={},p=k.parentLayer,k=!!k.sepLayer);C(c,e);B.isHorizontal?delete e.width:delete e.height;C(e,B);d+=B.padding;e=B.height;l=B.width;m=B.isHorizontal;J=B.startPercent;n=B.scrollRatio;q=B.showButtons;w=B.displayFlat;t=B.fullCanvasWidth;F=B.windowedCanvasWidth;r=B.color;z=B.roundEdges;f["scroll-repaint"]=[a,d,l,e];p=p?p:this.getDefaultLayer();
H=D.getComponent(this._id,this.pId,b.KEY_RECT);p=k?H("scroll-child"):p;H=D.getComponent(this._id,this.pId,b.KEY_SCROLLER);this.node=H(a,d,l,e,m,{scrollPosition:B.scrollPosition||G(J,0),displayStyleFlat:w,showButtons:q},p).data("fullCanvasWidth",t).data("windowedCanvasWidth",F).attr({"scroll-ratio":n,fill:r,r:z&&2||0}).scroll(this.evt.scroll);D.getCreationStatus()||(this.node.undrag(),this.node.animateWith(N,u,f,L,g.animType),this.node.attr({"scroll-display-style":w?"flat":"3d","scroll-position":B.scrollPosition||
G(J,0)}).scroll(this.evt.scroll));return this.node};ea.POSITION_TOP="top";ea.POSITION_BOTTOM="bottom";ea.prototype=Object.create(w.prototype);ea.prototype.constructor=ea;ea.allNodes=[];ea.prototype.getListRefernce=function(){return this.listContainerManager};ea.prototype.attachEventHandler=function(a){var d=this.evt;if(a=a.tooltext)d.tooltext=a};ea.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:w.prototype.getLogicalSpace.call(this)};
ea.prototype.draw=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;if(a&&0===a.length)return this.hide(),{getBBox:function(){return{width:0,height:0}}};a=w.prototype.draw.apply(this,arguments);ea.allNodes.push(this.node);return a};ea.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;w.prototype.dispose.call(this)};X.prototype.addSymbol=function(a,d){var c=this.symbolList;d?c.unshift(a):c.push(a)};
X.prototype.setConfiguaration=function(a){var d=a.buttons;a=a.group;d&&C(d,this.btnConfig);a&&C(a,this.groupConfig)};X.prototype.draw=function(a,d,c){var e=this.preId,l=this.symbolList,k,m,p=this.groupConfig,n=this.btnConfig,q=d.x,w=d.y,t=0,F=0,r=Number.NEGATIVE_INFINITY;k=D.getKeys();e=this.id=e.toString()+c;ua.toolbarGroup=ua.toolbar||{};c=D.getComponent(this.id,this.pId,k.KEY_GROUP);a=c("toolbar-group"+e,a).trackTooltip(!0);c=D.getComponent(this.id,this.pId,k.KEY_RECT);e=this.groupRect=c(a).attr({height:0,
width:0,x:q,y:w});q+=p.hPadding;w+=p.vPadding;F+=p.hPadding;t+=p.vPadding;k=0;for(c=l.length;k<c;k++)m=l[k],m._setConfiguaration(n),m=m.draw(q,w,{parentLayer:a}),m=m.getBBox(),r<m.height&&(r=m.height),q+=m.width+(m=n.spacing);F+=q+p.hPadding-d.x-m-p.offsetAdjustment;t+=r+p.vPadding+p.offsetAdjustment;isFinite(t)||(t=0);isFinite(F)||(F=0);e.attr({height:t,width:F}).attr({fill:p.fill,r:p.radius,stroke:p.borderColor,"stroke-width":p.borderThickness});m=e.getBBox();return{height:m.height,width:m.width}};
X.prototype.getLogicalSpace=function(){var a=this.symbolList,d,c,e,l=0,k=0,m=Number.NEGATIVE_INFINITY,p=0;c=0;for(e=a.length;c<e;c++)d=a[c],d._setConfiguaration(this.btnConfig),d=d.getLogicalSpace(),k+=d.width+this.btnConfig.spacing,p+=d.width,m=m<d.height?d.height:m;if(!p)return{width:0,height:0};m!==Number.NEGATIVE_INFINITY&&k&&(k-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,l=m+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:k,
height:l}};X.prototype.dispose=function(){for(var a=this.symbolList,d=0,c=a.length;d<c;d++)a[d].dispose();a.length=0;this.groupRect.remove()};ca.prototype.getId=function(){return this.id};ca.prototype.addComponent=function(a){this.componentGroups.push(a)};ca.prototype.draw=function(a,d){var c=this.componentGroups,e,l,k,m;m=this.id;var p=a,n=d,q,w=this.toolbarConfig,t,F=Number.NEGATIVE_INFINITY;l=D.getKeys();ua.toolbar=ua.toolbar||{};q=D.getComponent(this.id,this.pId,l.KEY_GROUP,!0);this.group=m=q(m);
q=D.getComponent(this.id,this.pId,l.KEY_RECT,!0);q=this.toolbarRect=q(m).attr({height:0,width:0,x:p,y:n});p+=w.hPadding;n+=w.vPadding;l=0;for(k=c.length;l<k;l++)e=c[l],t=e.groupConfig.spacing||1,e=e.draw(m,{x:p,y:n},l),p+=e.width+t,F=F>e.height?F:e.height;c=F;p=p-t-w.hPadding-a;isFinite(c)||(c=0);isFinite(p)||(p=0);q.attr({height:c+=2*w.vPadding,width:p+=2*w.hPadding}).attr({fill:w.fill,r:w.radius,stroke:w.borderColor,"stroke-width":w.borderThickness});return{height:c,width:p}};ca.prototype.getLogicalSpace=
function(){var a=this.componentGroups,d,c,e,l=d=0,k=Number.NEGATIVE_INFINITY,m,p=0;d=0;for(c=a.length;d<c;d++)e=a[d],m=e.getLogicalSpace(),e=e.groupConfig.spacing||1,l+=m.width+e,p+=m.width,k=k<m.height?m.height:k;if(!p)return{width:0,height:0};l-=e-2*this.toolbarConfig.hPadding;d=k+2*this.toolbarConfig.vPadding;return{width:l,height:d}};ca.prototype.dispose=function(){for(var a=this.componentGroups,d=0,c=a.length;d<c;d++)a[d].dispose();a.length=0;this.toolbarRect.remove();D.emptyPool(this.pId)};
return{init:function(a){ua=a.graphics;Ha=a.chart;R=a.components},HorizontalToolbar:ca,ComponentGroup:X,Symbol:w,CheckboxSymbol:J,Scroller:T,SymbolWithContext:ea,getInstanceById:function(a){return ga[a]}}}();FusionCharts.register("component",["toolbox","toolbox",{onceInitialized:!1,ALIGNMENT_HORIZONTAL:0,ALIGNMENT_VERTICAL:1,POSITION_TOP:0,POSITION_RIGHT:1,POSITION_BOTTOM:2,POSITION_LEFT:3,init:function(a){if(this.onceInitialized)return this.configure(),this._iCount;w.init(a);this._options=a;this._chart=
a.chart;this._iCount=++T;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,d;w.init(this._options);t.scale=G(a.toolbarbuttonscale,1.15);t.width=G(a.toolbarbuttonwidth,15);t.height=G(a.toolbarbuttonheight,15);t.radius=G(a.toolbarbuttonradius,2);t.spacing=G(a.toolbarbuttonspacing,5);t.fill=I(q(a.toolbarbuttoncolor,"ffffff"));t.labelFill=I(q(a.toolbarlabelcolor,"cccccc"));t.symbolFill=I(q(a.toolbarsymbolcolor,"ffffff"));t.hoverFill=q(a.toolbarbuttonhovercolor);
t.stroke=I(q(a.toolbarbuttonbordercolor,"bbbbbb"));t.symbolStroke=I(q(a.toolbarsymbolbordercolor,"9a9a9a"));t.strokeWidth=G(a.toolbarbuttonborderthickness,1);t.symbolStrokeWidth=G(a.toolbarsymbolborderthickness,1);d=t.symbolPadding=G(a.toolbarsymbolpadding,5);t.symbolHPadding=G(a.toolbarsymbolhpadding,d);t.symbolVPadding=G(a.toolbarsymbolvpadding,d);c.color=a.scrollcolor&&I(a.scrollcolor);c.padding=G(a.scrollpadding,0);c.height=G(a.scrollheight,12);c.width=G(a.scrollwidth,12);c.displayFlat=G(a.flatscrollbars,
0);c.scrollBar3DLighting=G(a.scrollbar3dlighting,1);c.startPercent=Math.min(1,Math.max(0,parseFloat(a.scrolltoend)||0));c.showButtons=!!G(a.scrollshowbuttons,1);c.buttonPadding=G(a.scrollbtnpadding,0);p.baseFontFamily=q(a.basefont,"Verdana,sans");p.baseFontSize=G(a.basefontsize,10);p.baseFontColor=q(a.basefontcolor,"595959")},getAPIInstances:function(a){var d=this._chart,c={};switch(a){case this.ALIGNMENT_HORIZONTAL:c.Toolbar=w.HorizontalToolbar}D.init(d.components,this._iCount);c.ComponentGroup=
w.ComponentGroup;c.Symbol=w.Symbol;c.Scroller=w.Scroller;c.SymbolWithContext=w.SymbolWithContext;c.SymbolStore=l;c.CheckboxSymbol=w.CheckboxSymbol;return c},getDefaultConfiguration:function(){return t},clean:function(){D.hideRecursive(this._iCount)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-base",function(){var k=this,m=k.hcLib,C=m.Raphael,r=C._availableAnimAttrs,e="VML"===C.type,a=k.window,M=a.document,J=m.BLANKSTRING,I=m.parseConfiguration,n=m.componentConfigurer,z=m.BLANKSTRING,G="https:"===a.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/",q=m.pluck,t=m.getValidValue,c=m.pluckNumber,p=m.getFirstValue,d=m.parseUnsafeString,B=m.extend2,Q=m.getDashStyle,l=m.graphics.mapSymbolName,
w=m.regex.dropHash,H=m.HASHSTRING,F=a.Image,T=m.setImageDisplayMode,D=m.removeEvent,V=m.getPosition,P=m.getMouseCoordinate,fa=m.addEvent,$=8===a.document.documentMode?"visible":"",ba=m.toRaphaelColor,ia=a.Math,ea=ia.min,X=ia.max,ca=ia.abs,ga=ia.ceil,da=ia.floor,Z=ia.round,Ja=ia.sin,R=ia.cos,ua=Math.PI,Ha=ua/2,U=2*ua,Na=ua+Ha,la=m.getFirstColor,oa=m.setLineHeight,Ca=m.pluckFontSize,Fa=m.graphics.getDarkColor,na=m.graphics.getLightColor,ra=m.graphics.convertColor,Da=m.POSITION_CENTER,ha=m.POSITION_TOP,
Ia=m.POSITION_BOTTOM,wa=m.POSITION_RIGHT,Ta=m.POSITION_LEFT,qa=m.chartAPI,Oa=m.COMMASTRING,Pa=m.PXSTRING,ab=m.componentDispose,b,f=a.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),g={left:"start",right:"end",center:"middle"},u=m.each,N="rgba(255,0,0,"+(m.isIE?.002:1E-6)+")",L=m.BGRATIOSTRING,O=m.graphics.getAngle,S=m.NumberFormatter,W=m.getLinkAction,ja=m.hasTouch=void 0!==M.documentElement.ontouchstart,La={1:"bold",0:"normal"},K=function(b){b=b.replace("rgba(","").split(",");return"#"+("000000"+
(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},E=m.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:"divLineAlpha3D",legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",anchorBgColor:"anchorBgColor3D"}},aa=function(){var b={},a,f=function(){var g,h,d,c,u=0,e,l,N=parseInt(k.core.options.resizeTrackingInterval,10)||300,L={},O=function(){L.itemVar._containerOffsetW=
L.parentEle.offsetWidth;L.itemVar._containerOffsetH=L.parentEle.offsetHeight},m;for(g in b)u+=1,h=b[g],d=h.jsVars,e=h.ref,!h.disposed&&(c=e&&e.parentNode)&&(l=e.style)&&(/\%/g.test(l.width)||/\%/g.test(l.height))?(e=c.offsetWidth,m=c.offsetHeight,!d.resizeLocked&&(e&&d._containerOffsetW!==e||m&&d._containerOffsetH!==m)&&(h.resizeTo&&h.resizeTo(),L.itemVar=d,L.parentEle=c,setTimeout(O,1))):(delete b[g],--u);a=u?setTimeout(f,N):clearTimeout(a)};return function(g,h){var d=g.jsVars,c=h||g.ref&&g.ref.parentNode||
{};d._containerOffsetW=c.parentNode.offsetWidth;d._containerOffsetH=c.parentNode.offsetHeight;b[g.id]=g;a||(a=setTimeout(f,parseInt(k.core.options.resizeTrackingInterval,10)||300))}}(),Qa={getExternalInterfaceMethods:function(){var b=qa[this.jsVars.type],b=b&&b.eiMethods,a="saveAsImage,print,exportChart,getXML,hasRendered,signature,cancelExport,getSVGString,lockResize,showChartMessage,",f;if("string"===typeof b)a+=b+Oa;else if(void 0!==b||null!==b)for(f in b)a+=f+Oa;return a.substr(0,a.length-1)},
drawOverlayButton:function(b){var a=this.jsVars,f=a.overlayButton,g,h;if(b&&b.show){f||(f=a.overlayButton=M.createElement("span"),m.dem.listen(f,"click",function(){k.raiseEvent("OverlayButtonClick",b,a.fcObj)}));for(g=b.message?b.message:"Back";f.firstChild;)f.removeChild(f.firstChild);f.appendChild(M.createTextNode(g));a.overlayButtonMessage=g;g={border:"1px solid "+(b.borderColor?b.borderColor.replace(w,H):"#7f8975"),backgroundColor:b.bgColor?b.bgColor.replace(w,H):"#edefec",fontFamily:b.font?b.font:
"Verdana,sans",color:"#"+b.fontColor?b.fontColor:"49563a",fontSize:(b.fontSize?b.fontSize:"10")+Pa,padding:(b.padding?b.padding:"3")+Pa,fontWeight:0===parseInt(b.bold,10)?"normal":"bold",position:"absolute",top:"0",right:"0",_cursor:"hand",cursor:"pointer"};for(h in g)f.style[h]=g[h];a.hcObj.container.appendChild(f);a.overlayButtonActive=!0}else f&&(a.overlayButton=f.parentNode.removeChild(f),a.overlayButtonActive=!1,delete a.overlayButtonMessage)},print:function(b){var f=this.apiInstance,g=B({},
b);if(f.config.isPrinting||!f.config.hasRendered)return!1;k.raiseEvent("BeforePrint",g,f.chartInstance,void 0,function(){var b=f.linkedItems.container,h=[],d=b.parentNode,c=M.body||M.getElementsByTagName("body")[0],s=c.childNodes,e,l,N,L;f.config.isPrinting=!0;u(s,function(b,a){1==b.nodeType&&(h[a]=b.style.display,b.style.display="none")});if(!1!==g.hideButtons){l=f.components.chartMenuBar.componentGroups[0].symbolList;L=0;for(e=l.length;L<e;L++)if((N=l[L])instanceof f.components.toolBoxAPI.SymbolWithContext){N=
N.getListRefernce().getFirstContainer();break}N.container.style.display="none"}c.appendChild(f.linkedItems.container);a.print();setTimeout(function(){N.container.style.display="visible";d.appendChild(b);u(s,function(b,a){1==b.nodeType&&(b.style.display=h[a])});!1!==g.hideButtons&&(N.container.style.display="visible");f.config.isPrinting=!1;k.raiseEvent("PrintComplete",g,f.chartInstance)},1E3)},function(){k.raiseEvent("PrintCancelled",g,f.chartInstance)})},exportChart:function(b){return m.exportChart.call(this.apiInstance,
b)},getSVGString:function(){return this.jsVars&&this.jsVars.instanceAPI&&this.jsVars.instanceAPI.components&&this.jsVars.instanceAPI.components.paper&&this.jsVars.instanceAPI.components.paper.toSVG()},resize:function(){var b=this.jsVars,a=b.container;b.instanceAPI&&b.instanceAPI.redraw?b.instanceAPI.redraw():m.createChart(b.fcObj,a,b.type,void 0,void 0,!1,!0);delete b.isResizing},lockResize:function(b){return"boolean"!==typeof b?!!this.jsVars.resizeLocked:this.jsVars.resizeLocked=b},showChartMessage:function(b,
a,f){var g=this.jsVars,h=this.FusionCharts.apiInstance;g.msgStore[b]&&(b=g.msgStore[b]);a&&h&&h.config.hasRendered?(h._show(),this.showMessage(b,f)):(h._hide(),h.setChartMessage(b),h.drawChartMessage());return b},showMessage:function(b,a){var f=this.apiInstance,g=f.config,h=f.components,d=f.graphics.messageGroup,c=h.chartMessage||(h.chartMessage={}),c=c.graphics||(c.graphics={}),u=h.paper,e=f.linkedItems.smartLabel,h=c.messageText,l=c.messageVeil,N=u.width,k=u.height;d||(f.graphics.messageGroup=d=
u.group("messageGroup"));l||(l=c.messageVeil=u.rect(0,0,N,k,d).attr({fill:"rgba(0,0,0,0.2)",stroke:"none"}));l.show().toFront().attr("cursor",a?"pointer":"default")[a?"click":"unclick"](f._hideChartMessage,f);h||(h=c.messageText=u.text(N/2,k/2,z,d).attr({fill:"rgba(255,255,255,1)","font-family":"Verdana,sans","font-size":10,"line-height":14,ishot:!0}));b=b||z;e.setStyle({"line-height":"14px","font-family":"Verdana,sans","font-size":"10px"});g=e.getSmartText(b,N-(g.marginRight||0)-(g.marginLeft||0),
k-(g.marginTop||0)-(g.marginBotton||0));h.attr({text:g.text,ishot:!0,cursor:a?"pointer":"default"})[a?"click":"unclick"](f._hideChartMessage,f).show().toFront()},signature:function(){return"FusionCharts/3.4.0 (XT)"}};delete r.fill;delete r.stroke;k.core.options.resizeTrackingInterval=300;k.core.options.preventTrackResize=!1;k.core.options.SVGDefinitionURL="relative";m.createChart=function(b,f,g,d,h,u,e){var l=b.jsVars,N,L=qa[g||(g=b.chartType())],O=b.apiInstance,S=l.hasNativeMessage;u=b.options;var W=
b.args,E;f.offsetWidth&&f.offsetHeight&&(/^\s*absolute\s*$/i.test(k.core.options.SVGDefinitionURL)&&(C._url=(C._g&&C._g.win||a).location.href.replace(/#.*?$/,J)),E=function(a){var h={renderer:"javascript"},c=l.fcObj,u=c.width,N=c.height,pa=L&&L.eiMethods,W=l.overlayButton,E;f.jsVars=b.jsVars;S=l.hasNativeMessage;l.container=f;l.hcObj=a;l.type=g;l.width=f.offsetWidth;l.height=f.offsetHeight;l.instanceAPI=O;if(a.hasRendered){k.extend(f,Qa);if(pa&&"string"!==typeof pa)for(E in pa)f[E]=pa[E];l.overlayButtonActive&&
W&&(W.innerHTML="",W.appendChild(M.createTextNode(l.overlayButtonMessage)),a.container.appendChild(W))}(/\%/g.test(u)||/\%/g.test(N))&&f&&f.parentNode&&!k.core.options.preventTrackResize&&aa(c,f);if(d&&(d({success:a.hasRendered,ref:f,id:b.id}),a.hasRendered)){m.raiseEvent("loaded",{type:g,renderer:"javascript"},b,[b.id]);O.config.hasRendered=!0;if(!0===b.disposed)return;S||(c.__state.firstRenderNotified=!0,setTimeout(function(){m.raiseEvent("rendered",{renderer:"javascript"},c,[c.id])},0))}a.hasRendered&&
l.previousDrawCount<l.drawCount&&(h.width=l.width,h.height=l.height,h.drawCount=l.drawCount,h.displayingMessage=S,h.renderer=c.options.renderer,m.raiseEvent("drawcomplete",h,c,[c.id]),S||e||setTimeout(function(){c.__state&&!c.__state.firstRenderNotified&&m.raiseEvent("rendered",{renderer:"javascript"},c,[c.id]);k.raiseEvent("renderComplete",h,c)},0))},O&&O.inited?(k.raiseEvent("internal.drawStart",{chartType:g,logicName:O.name,logicBase:O.base&&O.base.name,defaultSeriesType:O.defaultSeriesType},b),
h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),N=h.data,O.config&&O.config.hasChartMessage&&O._hideChartMessage(),O.jsonData=N,e||m.raiseEvent("dataloaded",{},b,[b.id]),O.configure(),O._feedAxesRawData(),O._setCategories(),n(O),O.draw(),E({hasRendered:!0,container:f})):O&&"base"===g?(O.setChartMessage(h,b,f),O.drawChartMessage()):(O&&"base"===O.name&&"base"!==g&&(O.dispose(),O=void 0),O?O.config&&O.config.hasChartMessage&&O._hideChartMessage():
O=b.apiInstance=L?new qa(g):new qa("base"),O.chartInstance=b,O.origRenderWidth=b.__state.renderedWidth,O.origRenderHeight=b.__state.renderedHeight,"base"===g?(O.setChartMessage(h,b,f),O.drawChartMessage()):void 0!==h?"string"===typeof h&&(O.setChartMessage(h,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):!O||!O.init||O&&"base"===O.name?(b._chartMessageImageStyle={imageHAlign:q(W.typeNotSupportedMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.typeNotSupportedMessageImageVAlign,
u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.typeNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.typeNotSupportedMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:W.typeNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:W.typeNotSupportedMessageFont||u.baseChartMessageFont,fontSize:W.typeNotSupportedMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(u.typeNotSupportedMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=
!0):l.message?(O.setChartMessage(l.message,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):l.loadError?(b._chartMessageImageStyle={imageHAlign:q(W.dataLoadErrorMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataLoadErrorMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataLoadErrorMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.dataLoadErrorMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={color:W.dataLoadErrorMessageColor||
u.baseChartMessageColor,fontFamily:W.dataLoadErrorMessageFont||u.baseChartMessageFont,fontSize:W.dataLoadErrorMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(u.dataLoadErrorMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0):l.stallLoad?(b._chartMessageImageStyle={imageHAlign:q(W.dataLoadStartMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataLoadStartMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataLoadStartMessageImageAlpha,
u.baseChartMessageImageAlpha),imageScale:c(W.dataLoadStartMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:W.dataLoadStartMessageFont||u.baseChartMessageFont,fontSize:W.dataLoadStartMessageFontSize||u.baseChartMessageFontSize,color:W.dataLoadStartMessageColor||u.baseChartMessageColor},O.setChartMessage(u.dataLoadStartMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0,E({hasRendered:!0,container:f})):"zoomscatter"!==g||M.createElement("canvas").getContext?(k.raiseEvent("internal.drawStart",
{chartType:g,logicName:O.name,logicBase:O.base&&O.base.name,defaultSeriesType:O.defaultSeriesType},b),h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),N=h.data,h.error instanceof Error?(b._chartMessageImageStyle={imageHAlign:q(W.dataInvalidMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.dataInvalidMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.dataInvalidMessageImageAlpha,
u.baseChartMessageImageAlpha),imageScale:c(W.dataInvalidMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:W.dataInvalidMessageFont||u.baseChartMessageFont,fontSize:W.dataInvalidMessageFontSize||u.baseChartMessageFontSize,color:W.dataInvalidMessageColor||u.baseChartMessageColor},O.setChartMessage(u.dataInvalidMessage,b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0,b.__state.dataReady=!1,e||k.raiseEvent("dataInvalid",{error:h.error},l.fcObj,void 0,function(){m.raiseEvent("dataxmlinvalid",
{},b,[b.id])})):(e||m.raiseEvent("dataloaded",{},b,[b.id]),!0!==O.chartInstance.disposed&&O.init(f,N,b,E))):(b._chartMessageImageStyle={imageHAlign:q(W.browserNotSupportedMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(W.browserNotSupportedMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(W.browserNotSupportedMessageImageAlpha,u.baseChartMessageImageAlpha),imageScale:c(W.browserNotSupportedMessageImageScale,u.baseChartMessageImageScale)},b._chartMessageStyle=
{color:W.browserNotSupportedMessageColor||u.baseChartMessageColor,fontFamily:W.browserNotSupportedMessageFont||u.baseChartMessageFont,fontSize:W.browserNotSupportedMessageFontSize||u.baseChartMessageFontSize},O.setChartMessage(q(W.browserNotSupportedMessage,u.browserNotSupportedMessage),b,f),O.drawChartMessage(),S=l.hasNativeMessage=!0)))};FusionCharts.register("component",["legend","legend",{customConfigFn:null,init:function(){this.graphics||(this.graphics={});this.item||(this.items=[]);this.components||
(this.components={})},drawLegend:function(b,a){var f,g,h,d=this.chart,u=d.config;f=d.components;var e=f.paper,l=this.config,N=this.graphics||(this.graphics={}),k=d.graphics.legendGroup,L;g=N.box;var O=N.caption,m,S=u.height-u.canvasBottom,W=u.canvasLeft,E=u.canvasWidth,K=l.chartMarginLeft||0,p=l.chartMarginRight||0,ja=l.chartMarginBottom||0,n=u.actionBarHeight||0,aa=l.actualCanvasMarginLeft||0,q=u.actualCanvasMarginBottom||0,La=u.actualCanvasMarginRight||0,w=l.alignLegendWithCanvas,t=u.height,F=u.canvasTop,
Qa=l.width,r=l.height,z=u.borderWidth;h=l.borderRadius;var D=l.backgroundColor,J=l.borderColor,O=l.borderWidth||0,G=l.legendPos,H=.5*O,I=.5*O+2,T=c(l.padding,4),M=.5*T,V=l.scroll.enabled,Q=l.drawn,P=d.get("config","animationObj"),R=P.dummyObj,$=P.animObj,ba=P.transposeAnimDuration,fa=P.animType,Ea,ca,ga,na,da,P=f.legendScrollBar,ia=0,Z=0,ia=u.oriCanvasLeft,la=u.oriTopSpace,Z=u.oriBottomSpace,U=f.tb,ra=f.toolBoxAPI.Scroller;"right"===G&&(l.align=wa,l.verticalAlign="middle",m=l.layout="vertical");m?
(void 0===b&&(b=u.width-p-La-Qa-z),void 0===a&&(ia=c(la,F),Z=c(Z,S),a=ia+.5*(t-Z-ia-r)+(l.y||0))):(void 0===b&&(m=u.width-(K+aa+(p+La)),m=w?E-Qa:m-Qa,W=w?c(ia,W):K+aa,b=W+m/2),void 0===a&&(a=t-r-q-ja-n));r=C.crispBound(b,a,Qa,r,O);b=r.x;a=r.y;Qa=r.width;r=r.height;Q?(l.xL&&(l.xL=ea(X(l.xL,I),u.width-l.width-I)),l.yL&&(l.yL=ea(X(l.yL,I),u.height-l.height-I)),k.show().animateWith(R,$,{transform:["T",l.xL||b,l.yL||a]},ba,fa)):k.show().transform(["T",b,a]).attr("class","fusioncharts-legend");l.xPos=b;
l.yPos=a;d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",B({"text-anchor":l.title.align},l.title.style));k.attr("class","fusioncharts-legend");k.attr({cursor:l.legendAllowDrag?"move":""});l.legendAllowDrag&&!l._dragEvtListenerBinded&&(k.drag(function(b,a){l.legendAllowDrag&&(na=ca+b,da=ga+a,na=ea(X(na,I),u.width-l.width-I),da=ea(X(da,I),u.height-l.height-I),k.transform("t"+na+","+da),l.xPos=l.xL=na,l.yPos=l.yL=da)},function(){l.legendAllowDrag&&(ca=l.xL||l.xPos,ga=l.yL||l.yPos)}),
l._dragEvtListenerBinded=!0);Q={x:0,y:0,width:Qa,height:r,r:h,stroke:J,"stroke-width":O,fill:D||"none",ishot:l.legendAllowDrag};g?(g.animateWith(R,$,{x:0,y:0,width:Qa,height:r,r:h},ba,fa),g.attr({stroke:J,"stroke-width":O,fill:D||"none"})):g=N.box=e.rect(Q,k);Q=l.drawn=!0;g.shadow(l&&l.shadow);L=N.itemGroup||(N.itemGroup=e.group("item",k));V?(g={isHorizontal:!1},h={scroll:function(b){L.transform(["T",0,(Ea-l.totalHeight)*b])},mousedown:function(b){b.preventDefault();b.stopPropagation()}},P=f.legendScrollBar,
P||(f.legendScrollBar=P=(new ra(g,(U.idCount||0)+1,U.pId)).attachEventHandlers(h)),Ea=r-T,L.attr({"clip-rect":"0,"+M+(","+Qa+","+Ea)}),f=(Ea+T)/l.totalHeight,P.draw(Qa-10+M-O,H,{height:r-O,scrollRatio:f,startPercent:0,color:l.legendScrollBgColor}),k.appendChild(P.node)):(P&&P.node&&P.node.hide(),L.attr({"clip-rect":null}),L.node&&L.node.removeAttribute("clip-path"));d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",B({"text-anchor":l.title.align},l.title.style));O=N.caption;if(l.title&&
""!==l.title.text&&l.validLegendItem){switch(l.title.align){case "start":d=T;break;case "end":d=Qa-T-(V?10:0);break;default:d=.5*Qa}k.trackTooltip(!0);Qa=l.title.style;Q={"class":"fusioncharts-caption","text-anchor":l.title.align,text:l.title.text,title:l.title.originalText||"",x:d,y:T,fill:l.title.style.color,"vertical-align":"top","font-weight":Qa.fontWeight,"font-style":Qa.fontStyle,"font-family":Qa.fontFamily,"font-size":Qa.fontSize,"line-height":Qa.lineHeight,direction:l.textDirection};O||(O=
N.caption=e.text(L).attr("class","fusioncharts-caption"));O.show().attr(Q);O.tooltip(l.title.originalText)}else O&&O.hide();l.showLegend&&!1!==l.enabled?this._drawPointLegendItem():k.hide()},_manageLegendPosition:function(b){var a=this.config,f=a.legendPos,g=this.components.items,a=a.reversed;g&&a&&g.reverse();return"right"===f?this._placeLegendBlockRight(b):this._placeLegendBlockBottom(b)},_placeLegendBlockBottom:function(b){var a=this.chart,f=this.components,g=a.config,h=m.TESTSTR,u=g.width,e=g.height,
l=g.canvasLeft,N=g.width-(g.canvasRight||0),k=a.linkedItems.smartLabel,L=this.config,O=L.chartMarginLeft,S=L.chartMarginRight,W=L.chartMarginTop,E=L.alignLegendWithCanvas,K=L.minimiseWrappingInLegend,p=L.legendScale,ja=L.numColumns,n=L.padding,aa=2*b,q=2*n,La=q,w=L.title,t=w.padding,F=parseInt(L.itemStyle.fontSize,10)||10,Qa=f.items||[],r=Qa.length,f=L.oriSymbolPadding,z=L.textPadding,D=L.legendPadding,B=g.canvasMarginRight,C=g.canvasMarginLeft,G=a.components.yAxis||[],a=G[0],G=G[1],a=a&&a.config.axisData||
{},G=G&&G.config.axisData||{},H=a.nameMaxW,I=G.nameMaxW,T=a.name&&a.name.style||{},M=G.name&&G.name.style||{},P=a.axisName||"",Q=G.axisName||"",V=0,R=0,$=0,ba=0,fa=G=0,ca=0,Ea=0,na=[],ia=!1,Z=0,la=0,U,ra,oa=a=g.canvasWidth-g.canvasMarginLeft-g.canvasMarginRight,ha;L.paddingBottom=g.height-g.canvasBottom;k.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);k.setStyle(T);ba=k.getOriSize(P);k.setStyle(M);M=k.getOriSize(Q);F+=1;0>=F&&(F=1);a-=q;f*=p;F=ea(F*p,a);0>=F&&(f=F=0);L.symbolWidth=F;L.textPadding=
4;L.legendHeight=g=F+2*f;L.rowHeight=p=X(parseInt(L.itemStyle.lineHeight,10)||12,g);n=z+f+n;k.setStyle(L.itemStyle);T=k.getOriSize(h).height;h=D+L.borderWidth/2+1;h=ea(h,b-T-8);D=.05*p;if(ba||M)U=c(ba.height,0)>c(M.height,0)?(ha=H)&&ba.width:(ha=I)&&M.width;a=E?a:u-(U+W>e-b?2*ha+S+O+B+C:S+O+C+B);L.initialItemY=0;L.initialItemX=0;if(L.showLegend&&0!==r){for(u=0;u<r;u+=1)U=Qa[u],e=U.config||(U.config={}),W=U.configuration,U=e.name=d(W.label),U===J||0===W.enabled||!1===W.enabled?e.enabled=0:(e.enabled=
1,$+=1,ra=!0,U=k.getOriSize(U),V=X(V,U.width),fa=X(fa,ea(U.height,aa)),R+=U.width);L.validLegendItem=ra;ba=R/$;W=g+D+z+f+q;R+=W*$;L.x=(l-O-N+S)/2;L.x=!E&&R>oa?0:L.x;if(ra){ba+=W;V+=W;0<ja&&$<ja&&(ja=$);R<=a&&(0>=ja||ja===$)?(ja=$,G=R/$,ia=!0,fa>p&&(Ea=(fa-p)/2,p=fa)):0<ja&&(G=a/ja)>ba?G>V&&(G=V):a>V&&(K||1.5*ba>V)?(ja=da(a/V),$<ja&&(ja=$),G=V):a>=2*ba?(ja=da(a/ba),$<ja&&(ja=$),G=da(a/ja),G>V&&(G=V)):(ja=1,G=a);L.itemWidth=G;l=ga(G-W);0>l&&(f=l=z=0);L.symbolPadding=f;L.textPadding=z;L.width=G*ja-D;
w.oriText!==J&&(k.setStyle(w.style),U=k.getSmartText(w.oriText,a,aa),w.text=U.text,U.tooltext&&(w.originalText=U.tooltext),w=U.width+q,L.width<w&&(L.initialItemX=(w-L.width)/2,L.width=w),L.initialItemY=ca=U.height+t);k.setStyle(L.itemStyle);for(u=0;u<r;u+=1)if(U=Qa[u],e=U.config,0!==e.enabled){0===l&&(na[la]=!0,e.name=J,t=1,w=parseInt(la/ja,10),N=la%ja,e._legendX=N*G,e._legendY=w*p+q,e._legendH=t*p,e._totalWidth=F+f);if(ia)U=k.getOriSize(e.name),U.height<p&&(e._legendTestY=(p-U.height)/2),e._markerYGutter=
Ea,e._legendX=Z,e._legendY=q,e._legendH=p,e._totalWidth=F+n+U.width,Z+=U.width+W;else{U=k.getSmartText(e.name,l,aa);e.name=U.text;for(U.tooltext&&(e.originalText=U.tooltext);!0===na[la];)la+=1;w=U.height/p;N=la;for(t=0;t<w;t+=1,N+=ja)na[N]=!0;U.height<p&&(e._legendTestY=(p-U.height)/2);w=parseInt(la/ja,10);N=la%ja;e._legendX=N*G;e._legendY=w*p+q;e._legendH=t*p;e._totalWidth=F+n+U.width}la++}k=ia?1:ga(na.length/ja);L.height=L.totalHeight=La+(k*p+ca);L.rowHeight=p;L.legendNumColumns=ja;L.height-2*f>
b?(L.height=b,b=L.scroll||(L.scroll={}),b.enabled=!0,b.flatScrollBars=L.flatScrollBars,b.scrollBar3DLighting=L.scrollBar3DLighting,L.width=L.width+12>a?L.width:L.width+12):L.scroll.enabled=!1;h+=L.height;L.isActive=!0;L.enabled=!0}else L.enabled=!1,h=L.width=0}else h=0,L.height=0,L.width=0;return{bottom:h,right:0}},_placeLegendBlockRight:function(b){var a=this.config,f=this.components,g=this.chart,h=g.config,c=g.linkedItems.smartLabel,u=g.components.canvas.config.canvasBorderThickness||0,e=a.textPadding,
g=a.title.padding,l=a.oriSymbolPadding,N=a.legendPadding,k=a.legendScale,L=parseInt(a.itemStyle.fontSize,10),O=2*h.canvasHeight,m=0,S=2*a.padding,W=S,E={},K=!1,f=f.items||[],ja=f.length,p,n,aa,q=0;b-=S+N;L+=1;0>=L&&(L=1);l*=k;L=ea(L*k,b);0>=L&&(l=L=0);a.symbolPadding=l;a.symbolWidth=L;a.legendHeight=k=L+2*l;a.rowHeight=X(parseInt(a.itemStyle.lineHeight,10)||12,k);u=N+a.borderWidth/2+u;n=b-k-N-e;0>n&&(n=0);c.useEllipsesOnOverflow(h.useEllipsesWhenOverflow);c.setStyle(a.itemStyle);if(a.showLegend&&
0!==ja){for(q=0;q<ja;q+=1)p=f[q],h=p.config||(p.config={}),aa=p.configuration,p=h.name=d(aa.label),h._legendX=0,h._legendY=W,0===aa.enabled||!1===aa.enabled||p===J?h.enabled=0:(h.enabled=1,K=!0,0===n?(W+=h._legendH=k,h.name=J,h._totalWidth=L+l):(p=c.getSmartText(p,n,O),h.name=p.text,p.tooltext&&(h.originalText=p.tooltext),p.height<k&&(h._legendTestY=(k-p.height)/2),h._totalWidth=L+l+e+p.width+N,W+=h._legendH=X(p.height,k),m=X(p.width,m)));(a.validLegendItem=K)?(a.itemWidth=m+k+N+e,a.width=a.itemWidth+
S,a.title.oriText!==J&&(c.setStyle(a.title.style),p=c.getSmartText(a.title.oriText,b,O),a.title.text=p.text,p.tooltext&&(a.title.originalText=p.tooltext),c=p.width+S,a.width<c&&(a.initialItemX=(c-a.width)/2,a.width=c),a.initialItemY=p.height+g,W+=a.initialItemY),a.height=a.totalHeight=W,u=ea(a.width+u,b),E.right=u+N,a.isActive=!0,a.enabled=!0):(a.enabled=!1,a.width=0,E.right=0)}else E.right=0,a.height=0,a.width=0;return E},postSpaceManager:function(){var b=this.config,a=this.chart.config.canvasHeight;
"right"===b.legendPos&&(b.height>a?(b.height=a,b.scroll.enabled=!0,b.scroll.flatScrollBars=b.flatScrollBars,b.scroll.scrollBar3DLighting=b.scrollBar3DLighting,b.width+=(b.scroll.scrollBarWidth=10)+(b.scroll.scrollBarPadding=2)):b.scroll.enabled=!1)},configure:function(){var b=this.chart,a=this.config,f=b.config,u=f.style,h=b.jsonData.chart||b.jsonData.map,e=b.components.colorManager,l=b.is3D?E.chart3D:E.chart2D,N,k,L=c(h.useroundedges,0);N=u.outCancolor;k=c(h.legendpadding,7);var O=q(h.legenditemfont,
u.outCanfontFamily),m=c(h.legendiconscale,1),S=Ca(h.legenditemfontsize,u.fontSize),W=q(h.legenditemfontcolor,N).replace(/^#?([a-f0-9]+)/ig,"#$1"),K=q(h.legendiconbgcolor),ja=q(h.legendiconbordercolor),n=q(h.legendiconbgalpha,h.legendiconalpha,100),aa=q(h.legendiconborderalpha,h.legendiconalpha,100),w=c(h.legendiconsides,4),t=c(h.legendiconborderthickness),F=c(h.legendiconstartangle,45),Qa=la(q(h.legenditemhoverfontcolor,W)),r=La[c(h.legenditemfontbold,0)]||"",u=Ca(h.legendcaptionfontsize,u.fontSize)+
"px";a.isActive=!1;a.chartMarginTop=f.origMarginTop;a.chartMarginRight=f.origMarginRight;a.chartMarginBottom=f.origMarginBottom;a.chartMarginLeft=f.origMarginLeft;a.showLegend=c(h.showlegend,!b.dontShowLegendByDefault,1);S+="px";a.legendPos=q(h.legendposition,b.legendposition,"bottom").toLowerCase();a.numColumns=c(h.legendnumcolumns,0);a.xL=a.yL=0;if(0>=m||5<m)m=1;a.drawCustomLegendIcon=c(h.drawcustomlegendicon,0);a.customLegendConfig={bgColor:K,borderColor:ja,bgAlpha:n,borderAlpha:aa,borderThickness:t,
startAngle:F,sides:w};a.legendScale=m;a.legendPadding=k;a.oriSymbolPadding=3;a.textPadding=4;a.alignLegendWithCanvas=c(h.alignlegendwithcanvas,1);a.itemStyle={color:ra(W),fontFamily:O,fontSize:S,fontWeight:r};oa(a.itemStyle);a.itemHiddenStyle={fontFamily:O,fontSize:S,color:ra(q(h.legenditemhiddencolor,"cccccc").replace(/^#?([a-f0-9]+)/ig,"#$1")),fontWeight:r};oa(a.itemHiddenStyle);a.title.style={fontFamily:q(h.legendcaptionfont,O),fontSize:u,color:q(h.legendcaptionfontcolor,N).replace(/^#?([a-f0-9]+)/ig,
"#$1"),fontWeight:La[c(h.legendcaptionfontbold,1)]||""};a.title.align=g[h.legendcaptionalignment&&h.legendcaptionalignment.toLowerCase()||g.center]||g.center;a.itemHoverStyle={color:ra(Qa.replace(/^#?([a-f0-9]+)/ig,"#$1"))};a.padding=4;f=q(h.legendbordercolor,e.getColor(l.legendBorderColor));N=c(h.legendborderalpha,100);k=c(h.legendbgalpha,100);a.backgroundColor=ra(q(h.legendbgcolor,e.getColor(l.legendBgColor)),k);a.borderColor=ra(f,N);a.borderWidth=c(h.legendborderthickness,!L||h.legendbordercolor?
1:0);a.borderRadius=c(L,0);a.shadow=Boolean(c(h.legendshadow,1));a.symbol3DLighting=Boolean(c(h.use3dlighting,h.useplotgradientcolor,1));a.shadow&&(a.shadow={enabled:a.shadow,opacity:X(N,k)/100});a.reversed=Boolean(c(h.reverselegend,0));a.style={padding:4};a.lineWidth=c(h.linethickness,2);(a.interactiveLegend=!1!==b.hasInteractiveLegend&&Boolean(c(h.interactivelegend,1)))?(a.interactiveLegend=!0,a.symbolStyle={_cursor:"hand",cursor:"pointer"}):(a.interactiveLegend=!1,a.itemStyle.cursor="default",
a.itemHoverStyle.cursor="inherit");a.borderRadius=c(h.legendborderradius,L?3:0);a.legendAllowDrag=Boolean(c(h.legendallowdrag,0));a.title.text=a.title.oriText=d(p(h.legendcaption,J));a.legendScrollBgColor=la(q(h.legendscrollbgcolor,h.scrollcolor,e.getColor("altHGridColor")));a.legendScrollBarColor=q(h.legendscrollbarcolor,f);a.legendScrollBtnColor=q(h.legendscrollbtncolor,f);a.minimiseWrappingInLegend=c(h.minimisewrappinginlegend,0);a.flatScrollBars=c(h.flatscrollbars,0);a.scrollBar3DLighting=c(h.scrollbar3dlighting,
1)},_drawPointLegendItem:function(){var b=this,a=b.chart,f=a.config,g=a.get("config","animationObj"),h=g.transposeAnimDuration,d=g.animType,u=g.dummyObj,g=g.animObj,e=a.components.dataset,L=a.components.paper,O=b.config,S=O.reversed,W=b.components.items||[],E=O.legendHeight,p=O.symbolPadding,ja=O.symbolWidth,n=O.interactiveLegend,aa=O.textPadding||2,La=c(O.padding,4),f=f.textDirection,t=O.itemHiddenStyle,F=O.itemStyle,Qa=O.itemHoverStyle,r=O.lineWidth,z=F.color,D=t&&t.color||"#CCCCCC",t=b.graphics,
B=t.itemGroup,C=O.drawCustomLegendIcon,G=O.customLegendConfig,J,I,T,M,V,Q,R,X,$,ea,Ba,fa,za,Bb,U,ca,ga,Ea,ia,da,la,Z,ha,oa,ua,Fa,Ca,qa,Sa,wa=m.hashify,Ha=function(b){var f=this.data("legendItem"),h=f.configuration.datasetObj||f.dataset,f=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);f.chartX=b.chartX;f.chartY=b.chartY;f.pageX=b.pageX;f.pageY=b.pageY;f.preventDefaults=function(){};k.raiseEvent("LegendItemClicked",f,a.chartInstance)},Ia=function(b){var f=this.data("legendItem")||{},h=f.configuration.datasetObj||
f.dataset,g=this.data("interactive"),h=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);var d=this.data("itemHoverStyle"),c=f.graphics&&f.graphics.legendItemText;!1!==f.dataset.visible&&g&&c&&c.attr({fill:d.color});h.chartX=b.chartX;h.chartY=b.chartY;h.pageX=b.pageX;h.pageY=b.pageY;h.legendItemIndex=f.index;h.legendItemId=f.legendItemId;k.raiseEvent("LegendItemRollover",h,a.chartInstance)},Ja=function(b){var f=this.data("legendItem")||{},h=f.configuration.datasetObj||f.dataset,g=this.data("interactive"),
h=h.getEventArgs?h.getEventArgs(f):{};b=P(a.chartInstance,b);var d=!1!==f.dataset.visible,c=this.data("itemStyle"),u=f.graphics&&f.graphics.legendItemText;d&&g&&u&&u.attr({fill:c.color});h.chartX=b.chartX;h.chartY=b.chartY;h.pageX=b.pageX;h.pageY=b.pageY;h.legendItemIndex=f.index;h.legendItemId=f.legendItemId;k.raiseEvent("LegendItemRollout",h,a.chartInstance)},Za=function(a){var f=this.data("legendItem"),h=f.dataset;this.data("interactive")&&f.legendClickFN.call(b,h,f,e);Ha.call(this,a)},Xa=function(){Ea=
.5*ja;ga=X+p+Ea;M=$+(U._markerYGutter||0)+p+Ea;Pa&&(Ea*=.6);qa=l(Z.anchorSide);da=Z.symbol=qa&&qa.split("_")||[];ia="spoke"===da[0]?1:0;ib={polypath:[da[1]||2,ga,M,Ea,Z.startAngle,Z.spoke||ia]};Da={cursor:F.cursor||"pointer",stroke:T?ha:D,fill:T?oa:D,"stroke-width":la,ishot:n}},Na,Da,Oa={},Pa,ib;J=O.initialItemX||0;I=O.initialItemY||0;if(!1!==O.enabled&&O.showLegend){Ba=0;for(fa=W.length;Ba<fa;Ba+=1)O=W[Ba],O.index=Ba,Z=O.configuration,Q=Z.type,U=O.config=O.config||(O.config={}),t=O.graphics||(O.graphics=
{}),za=O.dataset,za.graphics&&(za.graphics.legendGraphics=t),ha=U.strokeColor=Z.strokeColor||"000000",oa=U.fillColor=Z.fillColor||"000000",U.interactiveLegend=Z.interactiveLegend,U.legendBackgroundColor=Z.legendBackgroundColor?ba({color:Z.legendBackgroundColor,alpha:20}):ba(N),ua=Z.anchorSide,Fa=U.drawLine=Z.drawLine,r=Z.lineWidth||r,Ca=Z.lineColor||ha,X=J+U._legendX+La,$=I+U._legendY-La,la=U.strokeWidth=Z.strokeWidth||.5,ea=U._legendH,T=!1!==za.visible,za=t.legendItemBackground,V=t.legendItemText,
Bb=t.legendItemLine,ca=t.legendItemSymbol,n=q(U.interactiveLegend,n),!n&&(F.cursor="default"),0!==U.enabled?(Sa={x:X+E+aa-2,y:$+(U._legendTestY||0)},R={"class":"fusioncharts-legenditem",text:U.name,fill:T?z:D,"vertical-align":"top",direction:f,"text-anchor":"start",cursor:F.cursor||"pointer","line-height":F.lineHeight,"font-size":F.fontSize,"font-weight":F.fontWeight,"font-family":F.fontFamily},Na=ib=null,U.textAttr=R,V?V.show().animateWith(u,g,{x:X+E+aa-2,y:$+(U._legendTestY||0)},h):V=t.legendItemText=
L.text(Sa,B).data("legendItem",U),V.attr(R),Pa=!1,C&&!1!==Z.customLegendIcon?(Sa=G.borderColor,V=q(G.borderAlpha),Ca=G.bgColor,R=q(G.bgAlpha,"100"),ua||"line"===Q||Fa||"spline"===Q?(Q=wa(Z.rawStrokeColor),Z.rawFillColor=wa(Z.rawFillColor),oa=q(Ca,Z.rawFillColor,U.color),/^#/.test(oa)&&(oa=ra(oa,R)),Ca=q(Sa,Q,U.strokeColor),Ca=ra(Ca,V),U.anchorSide=G.sides):(Q=q(Z.rawFillColor,U.fillColor),oa=q(Ca,Q),oa=ra(oa,R),G.borderColor?Ca=ra(G.borderColor,V):(/rgb/.test(Q)&&(Q=K(Q)),Ca=na(Q,60).replace(w,H),
Ca=ra(Ca,V))),U.fillColor=oa,U.strokeColor=Ca,Ea=.5*ja,ga=X+p+Ea,M=$+(U._markerYGutter||0)+p+Ea,da=(qa=l(G.sides))&&l(G.sides).split("_")||[],ia="spoke"===da[0]?1:0,ib={polypath:[da[1]||2,ga,M,Ea,G.startAngle,ia]},Da={cursor:F.cursor||"pointer",stroke:T?Ca:D,fill:T?oa:D,"stroke-width":c(G.borderThickness,1),ishot:n}):"line"===Q||Fa?(M=$+(U._markerYGutter||0)+p+.5*ja,Na={path:["M",X+p,M,"L",X+p+ja,M]},Pa=!0,Oa={"stroke-width":r,stroke:T?Ca:D,cursor:F.cursor||"pointer",ishot:n},ua&&Xa()):ua?Xa():"line"!==
Q&&(ca=t.legendItemSymbol,Q=b._getSymbolPath(X+p,$+(U._markerYGutter||0)+p,ja,ja,Q),ib={path:Q.path},Da={"stroke-width":.5,stroke:T?ha:D,fill:T?oa:D,cursor:F.cursor||"pointer",ishot:n}),Na&&Pa?(U.lineAttr=Oa,Bb||(Bb=t.legendItemLine=L.path(B),Bb.attr(Na)),Bb.show().animateWith(u,g,Na,h,d),Bb.attr(Oa).data("legendItem",U)):Bb&&Bb.hide(),ib?(U.symbolAttr=Da,ca||(ca=t.legendItemSymbol=L.polypath(B),ca.attr(ib)),ca.show().animateWith(u,g,ib,h,d),ca.attr(Da),ca.data("legendItem",U)):ca&&ca.hide(),ea={x:X,
y:$,width:U._totalWidth,height:ea},Bb={r:0,fill:U.legendBackgroundColor,"stroke-width":1,stroke:"none",cursor:F.cursor||"pointer",ishot:n},za||(za=t.legendItemBackground=L.rect(B),za.attr(ea).mouseover(Ia).mouseout(Ja).click(Za)),za.show().animateWith(u,g,ea,h,d),za.attr(Bb),za.data("legendItem",O).data("interactive",n).data("itemHoverStyle",Qa).data("itemStyle",F)):(V&&V.hide(),za&&za.hide(),ca&&ca.hide(),Bb&&Bb.hide());S&&W.reverse()}},_getSymbolPath:function(b,a,f,g,h){var d=["M"],c,u,e;switch(h){case "column":case "dragcolumn":case "column3d":c=
.25*f;h=.5*c;u=.7*g;e=.4*g;d=d.concat([b,a+g,"l",0,-u,c,0,0,u,"z","m",c+h,0,"l",0,-g,c,0,0,g,"z","m",c+h,0,"l",0,-e,c,0,0,e,"z"]);break;case "bar":case "bar3d":c=.3*f;h=.6*f;u=g/4;e=u/2;d=d.concat([b,a,"L",b+h,a,b+h,a+u,b,a+u,"Z","M",b,a+u+e,"L",b+f,a+u+e,b+f,a+u+e+u,b,a+2*u+e,"Z","M",b,a+2*(u+e),"L",b+c,a+2*(u+e),b+c,a+g,b,a+g,"Z"]);break;case "area":case "area3d":case "areaspline":case "dragarea":u=.6*g;e=.2*g;h=.8*g;d=d.concat([b,a+h,"L",b,a+u,b+.3*f,a+e,b+.6*f,a+u,b+f,a+e,b+f,a+h,"Z"]);break;
case "pie2d":case "pie3d":case "doughnut2d":case "doughnut3d":c=.5*f;h=.9*c;f=b+c+1;g=a+c-1;b=b+c-1;a=a+c+1;d=d.concat(["M",f,g,"L",f,g-h+1,"A",h-1,h-1,0,0,1,f+h-1,g,"Z","M",b,a,"L",b,a-h,"A",h,h,0,1,0,b+h,a,"Z"]);break;case "boxandwhisker2d":d=d.concat([b,a,"L",b+f,a,b+f,a+g,b,a+g,"Z"]);break;default:d=d.concat([b,a,"L",b+f,a,b+f,a+g,b,a+g,"Z"])}return{path:d}},emptyItems:function(b,a){var f=this.components,g=f.items||(f.items=[]),h,d,f=void 0!==a?a:g.length,c=g.splice(b,f);b=0;for(f=c.length;b<
f;b+=1)for(h in g=(c[b]||(c[b]={})).graphics,g)(d=g[h])&&d.remove&&"function"===typeof d.remove&&d.remove()},removeItem:function(b){var a=this.getItems()||[],f,g,h,d=a.length;for(f=0;f<d;f++)if(g=a[f],h=g.legendItemId,b===h){ab.call(g);a.splice(f,1);break}},addItems:function(b,a,f){var g,h=this.components;g=this.lastItemId;var d=q(b.legendItemId,f.legendItemId),h=h.items||(h.items=[]);void 0!==d?(this.configureItems(d,{legendClickFN:a,configuration:f,dataset:b}),g=d):(void 0===g?this.lastItemId=g=
"FCLEGEND_0":(g=(g=g.split("_"))&&g[1],this.lastItemId=g="FCLEGEND_"+ ++g),h.push({legendItemId:g,dataset:b,legendClickFN:a,configuration:f||{}}));return g},configureItems:function(b,a){var f=this.components.items,g,h,d=f.length,c,u;for(h=0;h<d&&(u=f[h],!u.dataset||(c=q(u.dataset.legendItemId,u.legendItemId),c!==b));h++);for(g in u)if(g in a)switch(g){case "configuration":this.mergeConf(a[g],u[g]);break;default:u[g]=a[g]}},mergeConf:function(b,a){var f,g;for(f in b)g=b[f],void 0!==g&&null!==g&&(a[f]=
g)},getItems:function(){return this.components.items},hide:function(){this.chart.graphics.legendGroup.hide()}},void 0,{enabled:!0,symbolWidth:12,borderRadius:1,backgroundColor:"#FFFFFF",initialItemX:0,title:{text:"",x:0,y:0,padding:2},scroll:{},itemStyle:{}}]);FusionCharts.register("component",["toolbox","horizontaltoolbox",{init:function(b){this.config={type:b};this.components={};this.graphics={};this._configure()},_getPosition:function(){var b=this.config.type,a=b.frame,f=b.orientation,g=b.placement,
h={chart:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}},canvas:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}}};!b&&(b={});return a&&g&&f?h[a][g][f]:b},_configure:function(){var b,a,f=this.config,g=this.chart,h=g.jsonData.chart,d=g.config,g=d.width,d=d.height;f.scale=c(h.toolbarbuttonscale,1.15);f.width=c(h.toolbarbuttonwidth,15);f.height=c(h.toolbarbuttonheight,15);f.radius=c(h.toolbarbuttonradius,2);f.spacing=c(h.toolbarbuttonspacing,
5);f.fill=ra(q(h.toolbarbuttoncolor,"ffffff"));f.labelFill=ra(q(h.toolbarlabelcolor,"cccccc"));f.symbolFill=ra(q(h.toolbarsymbolcolor,"ffffff"));f.hoverFill=ra(q(h.toolbarbuttonhovercolor,"ffffff"));f.stroke=ra(q(h.toolbarbuttonbordercolor,"bbbbbb"));f.symbolStroke=ra(q(h.toolbarsymbolbordercolor,"9a9a9a"));f.strokeWidth=c(h.toolbarbuttonborderthickness,1);f.symbolStrokeWidth=c(h.toolbarsymbolborderthickness,1);b=f.symbolPadding=c(h.toolbarsymbolpadding,5);f.symbolHPadding=c(h.toolbarsymbolhpadding,
b);f.symbolVPadding=c(h.toolbarsymbolvpadding,b);a=f.position=q(h.toolbarposition,"tr").toLowerCase();switch(a){case "tr":case "rt":case "top right":case "right top":a="tr";break;case "br":case "rb":case "bottom right":case "right bottom":a="br";break;case "tl":case "lt":case "top left":case "left top":a="tl";break;case "bl":case "lb":case "bottom left":case "left bottom":a="bl";break;default:a="tr"}b=f.hAlign="left"===(J+h.toolbarhalign).toLowerCase()?"l":a.charAt(1);a=f.vAlign="bottom"===(J+h.toolbarvalign).toLowerCase()?
"b":a.charAt(0);f.hDirection=c(h.toolbarhdirection,"r"===b?-1:1);f.vDirection=c(h.toolbarvdirection,"b"===a?-1:1);f.vMargin=c(h.toolbarvmargin,6);f.hMargin=c(h.toolbarhmargin,10);f.x=c(h.toolbarx,"l"===b?0:g);f.y=c(h.toolbary,"t"===a?0:d)},_manageToolBoxPosition:function(b,a){var f,g,h=0,d=this.components;for(f in d)d.hasOwnProperty(f)&&(g=d[f],g=g._spaceOccupied(),h=X(h,g.height));h>a&&this._postSpaceManager();return{top:0,bottom:h,left:0,right:0}},addItem:function(b){var a,f,g,h=this.components;
for(a=0;a<b.length;a+=1)g=b[a],f=h[g.name]=new (FusionCharts.register("component",["toolButton","button"])),f.init(this,g),f.chart=this.chart},draw:function(){var b,a,f=this.components,g=this.x,h=this.y;for(b in f)f.hasOwnProperty(b)&&(a=f[b],a.draw(g,h))},_postSpaceManager:function(){}}]);FusionCharts.register("component",["toolBox","verticalToolBox",{},"horizontaltoolbox"]);FusionCharts.register("component",["toolButton","button",{init:function(){this.config={};this.components={};this.graphics=
{};this._configure.apply(this,arguments)},_configure:function(b,a){var f=b.config,g=this.config;g.type=a.type;g.scale=c(a.scale,f.scale);g.width=c(a.width,f.width);g.height=c(a.height,f.height);g.radius=c(a.radius,f.radius);g.spacing=c(a.spacing,f.spacing);g.fill=ra(q(a.fill,f.fill));f.x=c(a.x,f.x);f.y=c(a.y,f.y)},draw:function(){this["_draw"+this.config.type]()},_drawScroller:function(){var b=this.chart,a=b.components,f=b.config,g=b.jsonData.chart,h=a.paper,d=b.graphics,u=a.xAxis["0"]||{},a=u.config,
e=a.rawAttr.axisLineThickness,l=a.axisData||{},a=f.scrollOptions||{},N=f.canvasTop,L=f.canvasLeft,O=f.canvasWidth,S=f.canvasHeight,W=f.canvasBorderWidth,l=W||(l.showLine?e:0),E=W||e,e=W||e,g=f.useRoundEdges||(f.useRoundEdges=c(g.useroundedges,0)),p,K,ja,n,aa,q,La,w,t,F,Qa,r=d.scroller,W=d.datasetGroup,z;a.enabled&&(z=d.scroll=d.scroll||h.group("scroll").insertAfter(W),W=a.scrollRatio,n=c(a.startPercent),aa=a.viewPortMax,q=a.viewPortMin,K=a.vxLength,ga(K),La=a.showButtons,w=a.height,t=a.padding,F=
a.color,Qa=a.flatScrollBars,K=a.windowedCanvasWidth=u.getAxisPosition(K),p=a.fullCanvasWidth=u.getAxisPosition(aa-q)-K,ja=Z(n*p),r||(r=d.scroller=h.scroller(L-E,N+S+l+t-!!l,O+E+e,w,!0,{showButtons:La,displayStyleFlat:Qa,scrollRatio:W,scrollPosition:n},z).data("fullCanvasWidth",p).data("windowedCanvasWidth",K).attr({"scroll-display-style":Qa,fill:F,r:g&&2||0}).scroll(function(a){var h=f.viewPortConfig;ja=-Z(a*p);h.x=-ja/h.scaleX;m.chartAPI.mscolumn2d._drawDataset.call(b);u.draw()})),function(){var a;
C.eve.on("raphael.scroll.start."+r.node.id,function(f){a=f;k.raiseEvent("scrollstart",{scrollPosition:f},b.chartInstance)});C.eve.on("raphael.scroll.end."+r.node.id,function(f){k.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:f},b.chartInstance)})}());this._finalizeScrollPlots();return a.enabled},_finalizeScrollPlots:function(){var b=this.chart,a=b.config,f=b.container,g=b.graphics,h=g.scroller,d=g.datasetGroup,u=g.datalabelsGroup,e=g.trackerGroup,l,N={},L,O,S=b.components.xAxis["0"]||
{};L=a.scrollOptions||{};var W=c(L.startPercent),E=L.fullCanvasWidth,p,K=a.animation,n=L.startPercent,a=[X(0,a.canvasLeft),X(0,a.canvasTop),X(1,a.canvasWidth),X(1,a.canvasHeight)];L.enabled&&(d.attr({"clip-rect":a}),u.attr({"clip-rect":a}),e.attr({"clip-rect":a}),L=function(a){var f=g.canvas,d=l.left,c=l.top,u={pageX:0,pageY:0},e=a.state,u=ja&&m.getTouchEvent(a)||u;a=a.originalEvent;d=(a.clientX||a.pageX||u.pageX)-d;c=(a.clientY||a.pageY||u.pageY)-c;switch(e){case "start":O=f.isPointInside(d,c);N.ox=
O&&d||null;if(!O)return!1;N.prevScrollPosition=h.attrs["scroll-position"];k.raiseEvent("scrollstart",{scrollPosition:N.prevScrollPosition},b.logic.chartInstance);break;case "end":k.raiseEvent("scrollend",{prevScrollPosition:N.prevScrollPosition,scrollPosition:N.scrollPosition},b.logic.chartInstance);O=!1;N={};break;default:if(!O)break;f=d-N.ox;N.ox=d;N.scrollPosition=h.attrs["scroll-position"]-f/E;h.attr({"scroll-position":N.scrollPosition})}},ja&&(l=V(f),f&&(D(f,"pointerdrag",L),fa(f,"pointerdrag",
L))),0<W&&(p=-Z(W*E),d&&d.transform(["T",p,0]),e&&e.transform(["T",p,0]),S.setOffset&&S.setOffset(p),K&&n?b.animationCompleteQueue.push({fn:function(){u&&u.transform(["T",p,0])},scope:b}):u&&u.transform(["T",p,0])))},_spaceOccupied:function(){var b=this.config;return{x:b.x,y:b.y,width:b.width,height:b.height}}}]);qa("base",{creditLabel:!1,setChartMessage:function(b,a,f){var g=this.components||(this.components={}),h=this.chartInstance,u=h.options,e=h.args,l=this.config||(this.config={}),N=this.linkedItems&&
this.linkedItems.smartLabel||h.jsVars.smartLabel,k=m.getImageURL(void 0!==b?b:u.dataEmptyMessage),L,O;f&&!this.linkedItems?this.linkedItems={container:f}:f=this.linkedItems.container;L=l.prevWidth=f.offsetWidth;O=l.prevHeight=f.offsetHeight;b=l.height=Number(O);h=l.width=Number(L);l.hasChartMessage=!0;g.paper?g.paper.setSize(L,O):(f=g.paper=new C(f,L,O),f.setConfig("stroke-linecap","round"));k.image?(b=k.string,a=a?{imageHAlign:q(a._chartMessageImageStyle.imageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),
imageVAlign:q(a._chartMessageImageStyle.imageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(a._chartMessageImageStyle.imageAlpha,u.baseChartMessageImageAlpha),imageScale:c(a._chartMessageImageStyle.imageScale,u.baseChartMessageImageScale)}:{imageHAlign:q(e.dataEmptyMessageImageHAlign,u.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(e.dataEmptyMessageImageVAlign,u.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(e.dataEmptyMessageImageAlpha,u.baseChartMessageImageAlpha),
imageScale:c(e.dataEmptyMessageImageScale,u.baseChartMessageImageScale)},l.chartMessageType="image"):(a=a?{"font-family":a._chartMessageStyle.fontFamily||u.baseChartMessageFont,"font-size":a._chartMessageStyle.fontSize||u.baseChartMessageFontSize,fill:a._chartMessageStyle.color||u.baseChartMessageColor}:{"font-family":e.dataEmptyMessageFont||u.baseChartMessageFont,"font-size":e.dataEmptyMessageFontSize||u.baseChartMessageFontSize,fill:e.dataEmptyMessageColor||u.baseChartMessageColor},N.setStyle(a),
u=N.getSmartText(d(k.string),h,b),b={text:u.text,x:h/2,y:b/2},l.chartMessageType="text");l.chartMessageAttr=b;l.chartMessageStyle=a},_hideChartMessage:function(){var b=this.config,a=this.components.chartMessage.graphics,f;"image"===b.chartMessageType&&!a.backgroundImage&&a.backgroundElement&&(b.stopImageDraw=!0);b&&(b.hasChartMessage=!1);for(f in a)a[f].hide?a[f].hide():a[f][0]&&a[f][0].hide()},drawChartMessage:function(){var b=this.config,a=this.components,f=a.paper,g,a=a.chartMessage||(a.chartMessage=
{}),a=a.graphics||(a.graphics={});g=this.graphics||(this.graphics={});g=g.messageGroup||(g.messageGroup=f.group("messageGroup"));this._hideChartMessage();b.hasChartMessage=!0;"image"===b.chartMessageType?this._drawBackground(b.chartMessageAttr,b.chartMessageStyle):a.message||"text"!==b.chartMessageType?(a.message=a.message.attr(b.chartMessageAttr).attr(b.chartMessageStyle),a.message.show()):a.message=f.text(b.chartMessageAttr,g).attr(b.chartMessageStyle);this._drawCreditLabel()},dispose:function(){var b=
this.components,b=b&&b.paper,a=this.linkedItems&&this.linkedItems.eventListeners,f=a&&a.length;for(this._clearTimers&&this._clearTimers();f--;)a[f].unlisten();b&&(b.clear(),b.remove());this.chartInstance&&delete this.chartInstance.apiInstance;ab.call(this)},_drawBackground:function(b,a){var f=this,g=f.components,h=f.graphics,d=f.jsonData&&f.jsonData.chart||{},u=g.paper,e=b?g.chartMessage:g.background,l=e.graphics,g=l.backgroundElement,N=l.borderElement,e=e.config||{},L=f.config,O=L.width,S=L.height,
W,E,p,K,ja,n,aa,La=f.get&&f.get("config","animationObj")||{},w=La.animType,Qa=La.animObj,r=La.dummyObj,z=La.duration,D,B,C=b?h.messageGroup:h.backgroundGroup,G=e.borderWidth||0,h=e.borderRadius,La=e.borderDashStyle,H=e.borderColor,I=e.bgSWF=q(b,d.bgimage,d.bgswf),M=e.bgSWFAlpha=c(a&&a.imageAlpha,d.bgimagealpha,d.bgswfalpha,100),V=e.imgClipRect=G+","+G+","+(O-2*G)+","+(S-2*G),Q=q(d.bgimagedisplaymode,"none").toLowerCase(),P=(a&&t(a.imageVAlign)||t(d.bgimagevalign,J)).toLowerCase(),R=(a&&a.imageHAlign||
d.bgimagehalign||J).toLowerCase(),X=e.bgImageScale=c(a&&a.imageScale,d.bgimagescale,100),d=e.containerBackgroundColor=m.getContainerBackgroundColor(f);u.canvas.style.backgroundColor=d;"tile"==Q||"fill"==Q||"fit"==Q?(P!=ha&&"middle"!=P&&P!=Ia&&(P="middle"),R!=Ta&&"middle"!=R&&R!=wa&&(R="middle")):(P!=ha&&"middle"!=P&&P!=Ia&&(P=ha),R!=Ta&&"middle"!=R&&R!=wa&&(R=Ta));e.bgSWFAlpha=M;e.bgImageVAlign=P;e.bgImageHAlign=R;e.backgroundColor=e=!b&&f._getBackgroundCosmetics();d={x:G,y:G,width:O-2*G,height:S-
2*G,stroke:"none",fill:ba(e)};g?(g.animateWith(r,Qa,{x:G,y:G,width:O-2*G,height:S-2*G},z,w),g.attr({stroke:"none",fill:ba(e)})):l.backgroundElement=u.rect(d,C);d={x:G/2,y:G/2,width:O-G,height:S-G,stroke:H,"stroke-width":G,"stroke-dasharray":La,fill:"none",r:h||0};N||b?b||(N.animateWith(r,Qa,{x:G/2,y:G/2,width:O-G,height:S-G,r:h||0},z,w),N.attr({stroke:H,"stroke-width":G,"stroke-dasharray":La,fill:"none"})):l.borderElement=u.rect(d,C);if(I)W=new F,p=E=1,W.onload=function(){if(L.stopImageDraw)L.stopImageDraw=
!1;else{!l.backgroundImage&&(l.backgroundImage=[]);if(l.backgroundImage)for(B=0,D=l.backgroundImage.length;B<D;B++)l.backgroundImage[B].hide();K=T(Q,P,R,X,G,O,S,W);K["clip-rect"]=V;if(K.tileInfo)for(E=K.tileInfo.xCount,p=n=K.tileInfo.yCount,ja=K.y,delete K.tileInfo,aa=0;E&&K.width&&K.height;)--n,l.backgroundImage[aa]||(l.backgroundImage[aa]=u.image(I,C)),l.backgroundImage[aa].show(),l.backgroundImage[aa].animateWith(r,Qa,K,z,w),l.backgroundImage[aa].attr({src:I}).css({opacity:.01*M}),K.y+=K.height,
0===n&&(n=p,--E,K.x+=K.width,K.y=ja),aa++;else l.backgroundImage[0]||(l.backgroundImage[0]=u.image(I,C),l.backgroundImage[0].attr(K)),l.backgroundImage[0].show(),l.backgroundImage[0].animateWith(r,Qa,K,z,w),l.backgroundImage[0].css({opacity:.01*M}).attr({src:I,visibility:$,"clip-rect":V});k.raiseEvent("BackgroundLoaded",{url:I,bgImageAlpha:100*M,bgImageDisplayMode:Q,bgImageVAlign:P,bgImageHAlign:R,bgImageScale:X,imageWidth:W.width,imageHeight:W.height},f.chartInstance)}},W.onerror=function(b){k.raiseEvent("BackgroundLoadError",
{url:I,bgImageAlpha:100*M,error:b,bgImageDisplayMode:Q,bgImageVAlign:P,bgImageHAlign:R,bgImageScale:X},f.chartInstance)},W.src=I;else if(l.backgroundImage)for(B=0,D=l.backgroundImage.length;B<D;B++)l.backgroundImage[B].hide()},redraw:function(){this.draw&&this.draw()},_drawCreditLabel:function(){var b=this.creditLabel,f=this.config.height,g=this.graphics,d=g.creditLabel,h=g.creditGroup,c=g.parentGroup||g.messageGroup,u=this.components.paper,e={href:m.CREDIT_HREF,text:m.CREDIT_STRING};h||(h=g.creditGroup=
u.group("creditgroup"));c&&h.insertAfter(c);f={text:e.text,x:6,y:f-4,"vertical-align":Ia,"text-anchor":"start",fill:"rgba(0,0,0,0.5)",title:e.title||""};g={fontSize:9,fontFamily:"Verdana,sans",cursor:"pointer",_cursor:"hand"};b&&(d||(d=this.graphics.creditLabel=u.text(h)),d.attr(f).css(g).click(function(){try{a.open(e.href)}catch(b){(a.top||a).location.href=e.href}}))},eiMethods:{hideChartMessage:function(){var b=this.apiInstance;b._show.apply(b);b._hideChartMessage(b)}}});qa("mscartesian",{standaloneInit:!1,
tooltipConstraint:"chart",annotationInteractionEvents:!0,useScaleRecursively:!0,init:function(b,a,f,g){f=this.chartInstance||f;var h=f.jsVars,d=a.colorrange,c;a.chart=a.chart||a.graph||a.map||{};this.jsonData=a;a=this.components||(this.components={});a.background||(a.background={graphics:{},config:{}});a.canvas||(a.canvas={graphics:{},config:{}});c=FusionCharts.register("component",["caption","caption"]);a.caption||(a.caption=new c);a.caption.init();a.caption.chart=this;c=FusionCharts.register("component",
["caption","subCaption"]);a.subCaption||(a.subCaption=new c);a.subCaption.init();a.dataset||(a.dataset=[]);this.linkedItems={container:b,smartLabel:h.smartLabel};a.colorManager=new m.colorManager(this);a.numberFormatter=new S(this);d&&(a.colorRange=new m.ColorRange(this));this._checkInvalidData()?m.raiseEvent("nodatatodisplay",{},f,[f.id]):(this._createLegend(),this._createGradientLegend(),this.configure(),this.disposeChartStyleSheet(),this._createAxes(),this._feedAxesRawData(),this.config.realtimeEnabled&&
(f=FusionCharts.get("component",["manager","alert"]))&&(a.alertManager=new f,a.alertManager.init(this),a.alertManager.configure()),this._createDatasets(),this._createQuadrant&&this._createQuadrant(),this.draw(),this.setChartEvents());g({hasRendered:!0,container:b})},_checkInvalidData:function(){var b=this.jsonData,a=this.chartInstance;if(!(this.isWidget||this.isMap||b.data&&0!==b.data.length||b.dataset||b.value||b.lineset||b.annotations||b.category||b.tasks||b.process||b.axis))return this.setChartMessage(),
this.drawChartMessage(),a.__state.dataReady=!1,a.jsVars.hasNativeMessage=!0,a.jsVars.drawCount+=1,!0},_createToolBox:function(){var b,f,g,d,h,u,e,l;h=!!a.btoa;var k=this,L=k.jsonData.chart,O=c(L.exportshowmenuitem),S=L.exportformats,W=k.chartMenuTools,L=W.get,E=W.set,W=this.components,p=k.config,K=p.exportOption.enabled;b=W.chartMenuBar;var p=p.printOption.enabled,ja={PNG:"Export As PNG",JPG:"Export As JPG",PDF:"Export As PDF",SVG:"Export As SVG",XLS:"Export As XLS"},n={},aa=[],q;if(!b||!b.drawn){b=
W.tb||(W.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));l=b.init({graphics:k.graphics||(k.graphics={}),chart:k,components:W});W.toolBoxAPI=g=W.toolBoxAPI||(W.toolBoxAPI=b.getAPIInstances(b.ALIGNMENT_HORIZONTAL));d=g.SymbolWithContext;f=g.SymbolStore;u=g.ComponentGroup;e=g.Toolbar;b.idCount=b.idCount||0;b.pId=l;g=b.getDefaultConfiguration();f.register("ContextIcon",function(b,a,f){var h=2*f;f=Z(h/4);var g=.7*Z(h/2),h=b-g;b+=g;g=a+f;f=a-f;return["M",h,a,"L",b,a,"M",h,g,"L",b,g,"M",
h,f,"L",b,f]});f=new d("ContextIcon",b.idCount++,l);d=f.getListRefernce();if(K&&0!==O){if(S)for(O=S.split("|"),n=0,K=O.length;n<K;n++)S=O[n].split("="),q=S[0].toUpperCase(),ja[q]&&(ja[q]=S[1]);O=function(b){return function(){m.exportChart.call(k,b)}};for(q in ja)if("XLS"!==q||h)n={},n[ja[q]]={handler:O({exportformat:q}),action:"click"},aa.push(n);E(aa)}p&&E([{Print:{handler:function(b){k.chartInstance.print.call(k.chartInstance,b)},action:"click"}}]);d.appendAsList(L());h=new u(b.idCount++,l);h.setConfiguaration({buttons:g,
group:{fill:N,borderColor:N}});h.addSymbol(f);b=W.chartMenuBar=new e(b.idCount++,b.pId);b.addComponent(h)}},chartMenuTools:function(){var b=[];return{get:function(){return b},set:function(a){var f,g=a.length||0;for(f=0;f<g;f+=1)b.push(a[f])},reset:function(a,f){var g=f.components.chartMenuBar;g&&(g.drawn=!1);b.length=0;a&&(a.idCount=0,a.clean())}}}(),getConfig:function(b){return b?this.config[b]:this.config},get:function(b,a){var f=this[b];return a?f&&f[a]:f},disposeChartStyleSheet:function(){var b=
this.components.paper;b&&b.cssClear()},createChartStyleSheet:function(){this.components.paper.cssRender()},configure:function(){var b,a,g,u=this.components,h=this.jsonData,e,l=this.chartInstance,N=u.colorManager,k=this.is3D,L=k?E.chart3D:E.chart2D,O=this.isBar,S,K;S=!1;var ja=u.legend,n={linear:"linear",easein:"easeIn",easeout:"easeOut",easeinout:"easeInOut",backin:"backIn",backout:"backOut",elastic:"elastic",bounce:"bounce"};h.chart=h.chart||h.graph||h.map||{};delete h.map;delete h.graph;e=h.chart;
!e&&(e=h.chart={});u.colorRange||(u.colorRange=new m.ColorRange(this));h=this.config||(this.config={});this.__setDefaultConfig();I(e,h);h.snapLiterals={};h.viewPortConfig={scaleY:1,scaleX:1,x:0,y:0};k&&(O?(h.xDepth=5,h.yDepth=5):(h.xDepth=10,h.yDepth=10),h.showCanvasBase=O=Boolean(c(e.showcanvasbase,1)),h.canvasBasePadding=c(e.canvasbasepadding,2),h.canvasBaseDepth=O?c(e.canvasbasedepth,10):0,h.canvasBgDepth=c(e.canvasbgdepth,3));u.colorManager&&u.colorManager.configure();h.placeAxisLabelsOnTop=c(e.placexaxislabelsontop,
0);O=c(e.animation,e.defaultanimation,1);u=c(e.transposeanimation,0);O=O?1E3*c(e.animationduration,1):0;u=u?1E3*c(e.transposeanimduration,.2):0;h.animationObj&&(S=!0);h.animationObj=u={initAnimDuration:O,transposeAnimDuration:u};u.duration=S||void 0!==u.duration?u.transposeAnimDuration:u.initAnimDuration;for(K in n)K===q(e.animationeffect)&&(h.animationeffect=n[K]);h.showToolTip=c(e.showtooltip,1);h.exportOption={enabled:c(e.exportenabled,0),bgcolor:l.jsVars.transparent||0===c(l.options.containerBackgroundOpacity,
1)?J:l.options.containerBackgroundColor||"#ffffff",bgalpha:(l.jsVars.transparent?0:c(l.options.containerBackgroundOpacity,1))+J,exporttargetwindow:q(e.exporttargetwindow,f?"_blank":"_self"),exportaction:e.exportaction&&"save"===e.exportaction.toString().toLowerCase()&&"save"||"download",exportfilename:q(e.exportfilename,"FusionCharts"),exporthandler:q(e.html5exporthandler,e.exporthandler,G),exportparameters:q(e.exportparameters,J),exportformat:q(e.exportformat,"PNG"),exportcallback:q(e.exportcallback,
J),exportwithimages:c(e.exportwithimages,1),exportatclientside:c(e.exportatclientside,0)};h.printOption={enabled:c(e.printshowbutton,e.showprintmenuitem,0)};h.chartMenuOptions={position:b=q(e.toolbarposition,"tr").toLowerCase(),hAlign:a="left"===(J+e.toolbarhalign).toLowerCase()?"l":b.charAt(1),vAlign:g="bottom"===(J+e.toolbarvalign).toLowerCase()?"b":b.charAt(0),hDirection:c(e.toolbarhdirection,"r"===a?-1:1),vDirection:c(e.toolbarvdirection,"b"===g?-1:1),vMargin:c(e.toolbarvmargin,6),hMargin:c(e.toolbarhmargin,
10),x:c(e.toolbarx,"l"===a?0:h.width),y:c(e.toolbary,"t"===g?0:h.height)};b=h.style={};h.textDirection="1"===e.hasrtltext?"rtl":"";b.inCanfontFamily=a=q(e.basefont,"Verdana,sans");b.inCanfontSize=g=Ca(e.basefontsize,10);b.inCancolor=l=q(e.basefontcolor,N.getColor(L.baseFontColor));b.outCanfontFamily=q(e.outcnvbasefont,a);b.fontSize=S=Ca(e.outcnvbasefontsize,g);b.outCanfontSize=S+Pa;b.outCancolor=q(e.outcnvbasefontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1");b.baseFontSize=g;b.inCanfontSize=g+Pa;b.inCancolor=
l.replace(/^#? ([a-f0-9]+)/ig,"#$1");b.inCanvasStyle=S={fontFamily:a,fontSize:g,color:l};b.inCanLineHeight=S=oa(S);K=(K=p(e.valuebordercolor,J))?ra(K,c(e.valueborderalpha,e.valuealpha,100)):J;h.showBorder=c(e.showborder,k?0:1);h.borderWidth=X(h.showBorder?c(e.borderthickness,1):0,0);h.valuefontbold=c(e.valuefontbold,h.valuefontbold);h.dataLabelStyle=k={fontFamily:q(e.valuefont,a),fontSize:q(e.valuefontsize,parseInt(g,10))+Pa,lineHeight:S,color:ra(q(e.valuefontcolor,l),c(e.valuefontalpha,e.valuealpha,
100)),fontWeight:h.valuefontbold?"bold":"normal",fontStyle:c(e.valuefontitalic)?"italic":"normal",border:K||e.valuebgcolor?c(e.valueborderthickness,1)+"px solid":"",borderColor:K,borderThickness:c(e.valueborderthickness,1),borderPadding:c(e.valueborderpadding,2),borderRadius:c(e.valueborderradius,0),backgroundColor:e.valuebgcolor?ra(e.valuebgcolor,c(e.valuebgalpha,e.valuealpha,100)):J,borderDash:c(e.valueborderdashed,0)?Q(c(e.valueborderdashlen,4),c(e.valueborderdashgap,2),c(e.valueborderthickness,
1)):"none"};oa(k);h.orphanStyles={defaultStyle:{style:B({},b.inCanvasStyle)},connectorlabels:{style:B({},h.dataLabelStyle)},vyaxisname:{style:B({},b.inCanvasStyle)}};h.legendPosition=q(e.legendposition,Ia);h.logoURL=t(e.logourl);h.logoPosition=q(e.logoposition,"tl").toLowerCase();h.logoAlpha=c(e.logoalpha,100);h.logoLink=t(e.logolink);h.logoScale=c(e.logoscale,100);h.logoLeftMargin=c(e.logoleftmargin,0);h.logoTopMargin=c(e.logotopmargin,0);h.minChartWidthPercent=c(e.minchartwidth,50)/100;h.minChartHeightPercent=
c(e.minchartheight,50)/100;h.minCanvasWidthPercent=c(e.mincanvaswidth,60)/100;h.minCanvasHeightPercent=c(e.mincanvasheight,30)/100;this._parseBackgroundCosmetics();this.components.caption.configure();this._parseCanvasCosmetics();h.origMarginTop=c(e.charttopmargin,this.chartTopMargin,15);h.origMarginLeft=c(e.chartleftmargin,this.chartLeftMargin,15);h.origMarginBottom=c(e.chartbottommargin,this.chartBottomMargin,15);h.origMarginRight=c(e.chartrightmargin,this.chartRightMargin,15);L=q(e.zeroplanecolor,
e.divlinecolor,N.getColor(L.divLineColor));N=q(e.zeroplanealpha,e.divlinealpha,N.getColor("divLineAlpha"));h.zeroPlaneColor=ra(L,N);h.zeroPlaneBorderColor=ra(q(e.zeroplanebordercolor,L),c(e.zeroplaneshowborder,1)?N:0);h.zeroPlaneShowBorder=c(e.zeroplaneshowborder,1);h.dataStreamURL=d(e.datastreamurl);h.realtimeEnabled=N=c(e.realtimeenabled,this.isRealTime);h.showLegend=c(e.showlegend,this.showLegend,1);h.link=e.clickurl;h.annRenderDelay=1E3*c(e.annrenderdelay,0);h.transposeAxis=c(this.transposeAxis,
e.transposeaxis,0);h.useEllipsesWhenOverflow=c(e.useellipseswhenoverflow,e.useellipsewhenoverflow,1);this.chartMenuTools.reset(this.components.tb,this);h.gLegendPadding=c(e.legendpadding,10);N&&this._realTimeConfigure();this._setToolTipOptions();ja.configure();this.linkedItems.linkClickFN=W(this.jsonData,this.chartInstance);this._createConfigurableComponents()},_createConfigurableComponents:function(){var b=this.config,a=this.components,f;b.realtimeEnabled&&b.usemessagelog&&(b=FusionCharts.get("component",
["logger","message"]))&&(f=a.messageLogger,f||(a.messageLogger=new b,a.messageLogger.init(this)),a.messageLogger.configure())},_parseBackgroundCosmetics:function(){var b=this.is3D,a=this.components.background.config,f=this.components.colorManager,g=this.jsonData.chart,h;h=a.showBorder=c(g.showborder,this.showBorder,b?0:1);a.borderWidth=h=X(h?c(g.borderthickness,1):0,0);a.borderRadius=a.borderRadius=c(g.borderradius,0);a.borderDashStyle=a.borderDashStyle=c(g.borderdashed,0)?Q(c(g.borderdashlen,4),
c(g.borderdashgap,2),h):"none";a.borderAlpha=q(g.borderalpha,b?"100":f&&f.getColor("borderAlpha"));a.borderColor=a.borderColor=ra(q(g.bordercolor,b?"#666666":f&&f.getColor("borderColor")),a.borderAlpha)},_parseCanvasCosmetics:function(){var b,a,f=this.config;a=this.components;var g=a.canvas.config,h=this.jsonData.chart;a=a.colorManager;var d,u=this.is3D?E.chart3D:E.chart2D,e=g.isRoundEdges=c(h.useroundedges,0);b=c(h.showxaxisline,h.showyaxisline,h.showaxislines,0)?0:1;g.canvasBorderRadius=c(h.plotborderradius,
e?2:0);b=g.showCanvasBorder=Boolean(c(h.showcanvasborder,b,void 0,e?0:1));d=g.oriCanvasBorderThickness=X(c(h.canvasborderthickness,e?0:c(this.canvasborderthickness,2),0));g.canvasBorderWidth=this.is3D?0:b?d:0;g.canvasBorderColor=ra(q(h.canvasbordercolor,a.getColor("canvasBorderColor")),q(h.canvasborderalpha,a.getColor("canvasBorderAlpha")));b=g.canBGAlpha=q(h.canvasbgalpha,a.getColor("canvasBgAlpha"));g.canBGColor={FCcolor:{color:q(h.canvasbgcolor,a.getColor(u.canvasBgColor)),alpha:q(h.canvasbgalpha,
100),angle:q(h.canvasbgangle,0),ratio:q(h.canvasbgratio)}};a=g.shadow=c(h.showshadow,e,0)&&e?{enabled:!0,opacity:b/100}:0;g.shadowOnCanvasFill=a&&a.enabled;f.origMarginTop=c(h.charttopmargin,15);f.origMarginLeft=c(h.chartleftmargin,15);f.origMarginBottom=c(h.chartbottommargin,15);f.origMarginRight=c(h.chartrightmargin,15);f.origCanvasLeftMargin=c(h.canvasleftmargin,0);f.origCanvasRightMargin=c(h.canvasrightmargin,0);f.origCanvasTopMargin=c(h.canvastopmargin,0);f.origCanvasBottomMargin=c(h.canvasbottommargin,
0);g.canvasPadding=c(h.canvaspadding,0);g.origCanvasTopPad=c(h.canvastoppadding,0);g.origCanvasBottomPad=c(h.canvasbottompadding,0);g.origCanvasLeftPad=c(h.canvasleftpadding,0);g.origCanvasRightPad=c(h.canvasrightpadding,0)},_preDraw:function(){this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._setAxisValuePadding();this._setAxisLimits()},_manageSpace:function(){var b=this.components.canvas.config,a=this.linkedItems.container,f=this.config,g,h,d,c,u,e,l,
N,k,L,O;f.width=g=a.offsetWidth;f.height=O=a.offsetHeight;f.minChartHeight=k=f.minChartHeightPercent*O;f.minChartWidth=L=f.minChartWidthPercent*g;f.minCanvasWidth=a=f.minCanvasWidthPercent*L;f.minCanvasHeight=h=f.minCanvasHeightPercent*k;f.marginTop=d=f.origMarginTop;f.marginLeft=c=f.origMarginLeft;f.marginBottom=u=f.origMarginBottom;f.marginRight=e=f.origMarginRight;f.canvasMarginTop=f.origCanvasTopMargin;f.canvasMarginLeft=f.origCanvasLeftMargin;f.canvasMarginBottom=f.origCanvasBottomMargin;f.canvasMarginRight=
f.origCanvasRightMargin;f.canvasHeight=l=f.height-f.marginTop-f.marginBottom;f.canvasWidth=N=f.width-f.marginLeft-f.marginRight;f.availableHeight=l-h;f.availableWidth=N-a;l<k&&(l=O-k,f.canvasHeight=k,O=d+u,f.marginTop=l*d/O,f.marginBottom=l*u/O,f.availableHeight=k-h);N<L&&(l=g-L,O=e+c,f.canvasWidth=L,f.marginLeft=l*c/O,f.marginRight=l*e/O,f.availableWidth=L-a);f.canvasLeft=f.marginLeft;f.canvasTop=f.marginTop;b.canvasPaddingLeft=ea(b.origCanvasLeftPad,Z(.1*f.height));b.canvasPaddingRight=ea(b.origCanvasRightPad,
Z(.1*f.height));b.canvasPaddingTop=ea(b.origCanvasTopPad,Z(.1*f.height));b.canvasPaddingBottom=ea(b.origCanvasBottomPad,Z(.1*f.height));this._spaceManager()},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.xAxis&&a.xAxis[0],g=a.yAxis&&a.yAxis[0],h=a.legend,d=b.xDepth,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPadding||0,e=c.canvasPaddingLeft,l=c.canvasPaddingRight,N=c.canvasPaddingTop,c=c.canvasPaddingBottom;f&&f.setAxisDimention({x:b.canvasLeft+(d||0)+X(e,u),y:b.canvasBottom+
(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-(d||0)-X(e,u)-X(l,u)});f&&this._allocateXAxisLabelSpace(f);g&&g.setAxisDimention({x:b.canvasLeft-a,y:b.canvasTop+N,opposite:b.canvasRight+a,axisLength:b.canvasHeight-N-c});f&&f.shiftLabels(-d,0);h.postSpaceManager();this._adjustCanvasPadding()},_allocateXAxisLabelSpace:function(b){var a=this.config,f=b.getAxisEndLabelDisplaySpace();b=f.left;var g=f.right,h=f.top,f=f.bottom,d=a.availableWidth,c=a.availableHeight,u=a.canvasLeft,e=a.canvasRight,
l=a.canvasTop,N=a.canvasBottom,k=a.width,L=a.height,O=function(b,a){return b<a&&0<a?a-b:0};h+f>c&&(a=h+f,h=c*h/a,f=c*f/a);b+g>d&&(a=b+g,b=d*b/a,g=d*g/a);b=O(u,b);g=O(k-e,g);h=O(l,h);f=O(L-N,f);this._allocateSpace({left:b,right:g,top:h,bottom:f})},_animCallBack:function(){var b=this.config;b.animationStarted&&(k.raiseEvent("internal.animationComplete",{},this.chartInstance),b.animationStarted=!1)},_setAnimDuration:function(){var b=this.config.animationObj;b&&(b.duration=b.transposeAnimDuration)},_updateVisuals:function(){var b=
this.linkedItems.container,a=this.components,f=a.paper,g=a.tooltip,h=this.chartInstance,d=this.get("config","animationObj"),c=d.animType,u=d.dummyObj,e=d.animObj,d=d.duration,l=this.config,N,k=l.prevWidth,L=l.prevHeight;l.animationStarted=!0;f?((k||L)&&f.setSize(k,L),k={width:b.offsetWidth,height:b.offsetHeight},N=!0,this._chartAnimation(!0),f.animateWith(u,e,k,d,c)):(f=a.paper=new C(b,b.offsetWidth,b.offsetHeight),f.setConfig("stroke-linecap","round"));l.prevWidth=b.offsetWidth;l.prevHeight=b.offsetHeight;
f.tooltip(g.style,g.config.shadow,g.config.constrain);this.setChartCursor();this._createLayers();!N&&this._chartAnimation(!0);this._drawBackground();!1!==this.hasCanvas&&this._drawCanvas();this._drawChartMenuBar();this._manageCaptionPosition();a.caption&&a.caption.draw();this.drawLegend();this.drawActionBar&&this.drawActionBar();this._drawAxis&&this._drawAxis();this._drawDataset();this._drawQuadrant&&this._drawQuadrant();this._drawCreditLabel();this._drawLogo();h.annotations&&this._drawAnnotations();
this.drawAxisUpdateUI&&this.drawAxisUpdateUI();a.messageLogger&&a.messageLogger.isDrawn()&&a.messageLogger.draw();this.drawScrollBar&&this.drawScrollBar();this.showRTvalue&&l.realTimeConfig.showRTValue&&this._drawRealTimeValue()},_chartAnimation:function(b){var a=this,f=a.graphics,g=a.components.paper,h=a.config.animationObj,d,c=h.duration||h.transposeAnimDuration,u=a.config,e=u.animationeffect,l=function(){a._animCallBack()};!c||u.parentElementPause?setTimeout(a._animCallBack.bind(a),0):(h.animObj=
c=C.animation({x:0},c,e,l,!1),h.animType=e,(d=f.dummyObj)?d.attr({x:100}):(f.dummyObj=d=g.rect({x:100,y:0,width:10,height:30}),d.hide()),h.dummyObj=f.dummyObj,b?(d.stop(void 0,!0,!0),d.animate(c),d.pause(void 0,!0),u.parentElementPause=!0,setTimeout(function(){u.parentElementPause=!1;a._setAnimDuration();d.resume(void 0,!0)},0)):(setTimeout(function(){a._setAnimDuration()},0),d.animate(c)))},draw:function(){var b=this.chartInstance;this.config.hasChartMessage?(this._hide(),this.drawChartMessage(),
m.raiseEvent("nodatatodisplay",{},b,[b.id]),this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!1,this.chartInstance.jsVars.hasNativeMessage=!0):(this._show(),this._preDraw(),this._createToolBox(),this._manageSpace(),this._postSpaceManagement(),this._updateVisuals(),this.inited=!0,this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!0,this.chartInstance.jsVars.hasNativeMessage=!1)},drawLegend:function(){var b=this.components,a=b.legend,b=b.gradientLegend,
f=this.hasLegend;this.config.gLegendEnabled?(a&&a.hide(),this.drawGradientLegend&&this.drawGradientLegend()):(b&&b.elem&&b.elem.gl.carpet&&b.elem.gl.carpet.node&&b.elem.gl.carpet.group.hide(),!1!==f&&a.drawLegend())},manageGradientLegendSpace:function(b){var a=this.components.gradientLegend,f=a&&a.conf,g;g=ea(this.config.gLegendPadding,.5*b);f?(f=f.legendPosition,b=a.getLogicalSpace(b),g=f===Ia?{bottom:(b.height||0)+g}:{right:(b.width||0)+g}):g={bottom:0,right:0};return g},drawGradientLegend:function(){var b=
this.components,a=this.config,f=this.jsonData.colorrange,g=b.gradientLegend||{},h=(g.conf||{}).legendPosition,d=a.canvasLeft,c=a.canvasTop,u=a.canvasWidth,e=a.canvasHeight,l=a.marginBottom,N=a.marginRight,k=this.hasGradientLegend,L,O,m;L=g.getLogicalSpace();O=L.width;m=L.height;h===Ia?(h=u-O,N=d+(0>h?0:h/2),l=a.height-L.height-l):(h=e-m,l=c+(0>h?0:h/2),N=a.width-L.width-N);f&&k&&g.draw(N,l,{paper:b.paper,parentGroup:this.graphics.parentGroup})},_drawAxis:function(){var b=this.components,a=b.yAxis||
[],f=b.xAxis||[],b=b.scale,g,h;g=0;for(h=f.length;g<h;g++)f[g].draw();g=0;for(h=a.length;g<h;g++)a[g].draw();b&&b.draw()},_drawAnnotations:function(){var b=this.jsonData,a=b.chart,f=this.config,g=f.width,h=f.height,f=b&&b.annotations||{},d=this.chartInstance.annotations;if(b&&a&&c(a.showannotations,1)){var b=c(f.scaleonresize,a.scaleonresize,1),a={interactionevents:q(this.annotationInteractionEvents,!0),showbelow:q(f.showbelow,f.showbelowchart),autoscale:f.autoscale,scaletext:f.scaletext,scaleimages:f.scaleimages,
constrainedscale:f.constrainedscale,scaleonresize:b,origw:q(a.origw,this.origRenderWidth,g),origh:q(a.origh,this.origRenderHeight,h),xshift:f.xshift,yshift:f.yshift,grpxshift:f.grpxshift,grpyshift:f.grpyshift,xscale:f.xscale,yscale:f.yscale,rootxscale:c(f.xscale,100)/100,rootyscale:c(f.yscale,100)/100},u;a||(a={});for(u in void 0)a[u]=(void 0)[u];d.reset(f,a,this)}else d.clear();d.draw(this)},_clearTimers:function(){var b=this.linkedItems.timers,a=b&&b.setTimeout,b=b&&b.setInterval,f;for(f in a)clearTimeout(a[f]);
for(f in b)clearInterval(b[f])},_createLayers:function(){var b=this.graphics||(this.graphics={}),a,f,g=this.components.paper,b=this.graphics;b.parentGroup=a=b.parentGroup||g.group("parentgroup");b.backgroundGroup=b.backgroundGroup||g.group("background",a);b.canvasGroup=b.canvasGroup||g.group("canvas",a);b.axisBottomGroup=b.axisBottomGroup||g.group("axisbottom",a);b.datasetGroup=f=b.datasetGroup||g.group("dataset",a);b.axisTopGroup=b.axisTopGroup||g.group("axistop",a);b.datalabelsGroup=b.datalabelsGroup||
g.group("datalabel",a);b.legendGroup=b.legendGroup||g.group("legend",a);b.captionGroup=b.captionGroup||g.group("caption",a);b.captionGroup.trackTooltip(!0);b.sumLabelsLayer=b.sumLabelsLayer||g.group("sumlabels",a);b.columnGroup=b.columnGroup||g.group("column",f);b.areaGroup=b.areaGroup||g.group("area",f);b.lineGroup=b.lineGroup||g.group("line",f);b.trackerGroup||(b.trackerGroup=g.group("tracker",a),b.trackerGroup.trackTooltip(!0));b.buttonGroup=b.buttonGroup||g.group("buttons")},_spaceManager:function(){var b,
a,f=this.config,g=this.components,h=g.xAxis&&g.xAxis[0],d=g.yAxis&&g.yAxis||[],c,u;a=g.legend.config.legendPos;var e=f.xDepth,l=f.yDepth,N=f.canvasBgDepth,k=f.canvasBaseDepth,L=f.canvasBasePadding,O=g.canvas.config.canvasBorderWidth,m=f.realTimeConfig&&f.realTimeConfig.showRTValue,S=f.borderWidth,W=f.canvasMarginTop,E=f.canvasMarginBottom,K=f.canvasMarginLeft,p=f.canvasMarginRight,g=f.minCanvasHeight,ja=f.minCanvasWidth;b=f.minChartWidth;var n=f.minChartHeight,aa=f.height,q=f.width,La=!1,w=!1,t,F=
f.origCanvasTopMargin,Qa=f.origCanvasBottomMargin,r=f.origCanvasLeftMargin,z=f.origCanvasRightMargin,D,B,C=[];f.canvasWidth-2*S<b&&(u=(f.canvasWidth-b)/2);f.canvasHeight-2*S<n&&(c=(f.canvasHeight-n)/2);this._allocateSpace({top:c||S,bottom:c||S,left:u||S,right:u||S});S=0;for(u=d.length;S<u;S++)c=d[S],b=.7*f.availableWidth,b=c&&c.placeAxis(b)||{},C.push({axisIndex:S,spaceTaken:b}),c&&this._allocateSpace(b);f.yAxisSpaceAllocation=C;d=.225*f.availableHeight;d=this._manageActionBarSpace&&this._manageActionBarSpace(d)||
{};this._allocateSpace(d);this._manageLegendSpace(void 0);a=a===Ia?.6*f.availableHeight:.6*f.availableWidth;l&&(this._allocateSpace({bottom:l}),f.shift=e+L+k);N&&this._allocateSpace({right:N});f.canvasWidth-2*O<ja&&(B=(f.canvasWidth-ja)/2);this._allocateSpace({left:B||O,right:B||O});ja>q-K-p&&(w=!0,l=f.canvasWidth-ja,e=K+p,K=f.canvasMarginLeft=l*K/e,p=f.canvasMarginRight=l*p/e);K=K>f.canvasLeft?K-f.canvasLeft:0;p=p>q-f.canvasRight?p+f.canvasRight-q:0;this._allocateSpace({left:K,right:p});w&&(e=r+
z,w=f.canvasWidth,w>ja&&(l=w-ja,K=l*r/e,p=l*z/e),this._allocateSpace({left:K,right:p}));f.actualCanvasMarginRight=p;f.actualCanvasMarginBottom=t;this._manageChartMenuBar(a);a=.2*f.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*f.availableHeight;f.realtimeEnabled&&(m?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());this._resetViewPortConfig&&this._resetViewPortConfig();this._setAxisScale&&this._setAxisScale();a=.6*f.availableHeight;f.xAxisSpaceAllocation=
t=h&&h.placeAxis(a);h&&this._allocateSpace(t);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*f.canvasWidth));a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*O<g&&(D=(f.canvasHeight-g)/2);this._allocateSpace({top:D||O,bottom:D||O});this._allocateSpace({bottom:k});g>aa-W-E&&(La=!0,l=f.canvasHeight-g,e=W+E,W=f.canvasMarginTop=l*W/e,E=f.canvasMarginBottom=l*E/e);h=W>f.canvasTop?W-f.canvasTop:0;t=E>aa-f.canvasBottom?E+f.canvasBottom-aa:0;
this._allocateSpace({top:h,bottom:t});La&&(e=F+Qa,k=f.canvasHeight,k>g&&(l=k-g,h=l*F/e,t=l*Qa/e),this._allocateSpace({top:h,bottom:t}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=K},_manageLegendSpace:function(){var b=this.config,a=this.components,f=a.legend,g=a.gradientLegend,h;h=this.jsonData.colorrange;var a=this.hasLegend,d={},u=this.hasGradientLegend,e=c(this.jsonData.chart.mapbycategory,0);u&&h&&c(h.gradient)&&!e?(h=g.conf,u=!0,b.gLegendEnabled=!0,g=.5,h=h.legendPosition):(h=f.config,
u=!1,b.gLegendEnabled=!1,h=h.legendPos,g="right"===h?.8:.4);b="right"===h?b.availableWidth*g:b.availableHeight*g;u?d=this.manageGradientLegendSpace(b):!1!==a&&(d=f._manageLegendPosition(b));this._allocateSpace({bottom:d.bottom||0,right:d.right||0})},_getSumValueSpace:function(b){var a={},f=this.isBar,g=this.jsonData.chart,a=0!==this.showsum?c(g.showsum,this.showsum,0):0,h=this.config.stack100Percent,d=this.isStacked,g=0,u=this.components["datasetGroup_"+this.defaultDatasetType],e=0;a&&h&&d&&u&&(a=
u.getMaxSumValueSpace(),f?g=a.maxWidth:e=a.maxHeight,e>b&&(e=b),g>b&&(g=b));return{top:e,right:g}},_setAxisValuePadding:function(){var b=this.components.dataset,a=b.length,f,g,h=-Infinity,d=-Infinity,c=this.components.xAxis;for(f=0;f<a;f++)g=b[f],g=g.getAxisValuePadding&&g.getAxisValuePadding()||{},h=X(h,g.left||-Infinity),d=X(d,g.right||-Infinity);-Infinity===h&&(h=0);-Infinity===d&&(d=0);c&&c[0].setAxisPadding(h,d)},_fetchCaptionPos:function(b){var a=this.config,f=this.components,g=f.chartMenuBar.getLogicalSpace(),
f=f.caption.config;return"middle"===f.align?a.width-b-f.width/2-a.origMarginRight-g.width:"start"===f.align?a.width-a.canvasLeft-f.width-a.origMarginRight-g.width+f.horizontalPadding:-1},_manageChartMenuBar:function(b){var a=this.config,f=this.components,g=f.chartMenuBar.getLogicalSpace(),f=f.caption.config,h=a.width/2,d=a.canvasRight,d=d?(a.canvasLeft+d)/2:h,a=0,h=f.alignWithCanvas?d:h;f.isOnTop?(b=this._manageCaptionSpacing(b),a=this._fetchCaptionPos(h),f._offsetHeight=0>a?g.height:0,b.top=0>a?
c(b.top,0)+g.height:X(b.top,g.height)):(this._allocateSpace({top:g.height}),b=this._manageCaptionSpacing(b));this._allocateSpace(b);return{top:X(g.height,b.top),bottom:b.bottom}},_getDSspace:function(b){var a=this.components.dataset,f,g=a.length,h,d,c={},u={left:0,right:0,top:0,bottom:0,paddingLeft:0,paddingRight:0,paddingBottom:0,paddingTop:0},e;for(h=0;h<g;h++)if(f=a[h],d=f.groupManager)c[f.type]=d;else if(f.manageSpace)for(e in f=f.manageSpace&&f.manageSpace(),f)u[e]=X(f[e],u[e]);for(e in c)if(d=
c[e],d.manageSpace)for(e in f=d.manageSpace&&d.manageSpace(b),f)u[e]=X(f[e],u[e]);a=u.paddingLeft;g=u.paddingRight;h=a+g;b<h&&(u.paddingLeft=b*a/h,u.paddingRight=b*g/h);return u},_adjustCanvasPadding:function(){for(var b=this.config,a=this.components,f=a.dataset,g=f.length,h=a.xAxis&&a.xAxis[0],d=b.xDepth,c={},u,e,l,N=a.canvas.config,k=N.canvasBorderWidth,L=N.canvasPadding,a=0;a<g;a++)u=f[a],(e=u.groupManager)&&(c[u.type]=e);for(l in c)e=c[l],e.preDrawCalculate&&e.preDrawCalculate();this._getDSspace&&
(this._allocateSpace(this._getDSspace(.4*b.canvasWidth)),h&&h.setAxisDimention({x:b.canvasLeft+(d||0)+X(N.canvasPaddingLeft,L),y:b.canvasBottom+(b.shift||0)+k,opposite:b.canvasTop-k,axisLength:b.canvasWidth-(d||0)-X(N.canvasPaddingLeft,L)-X(N.canvasPaddingRight,L)}))},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,c=-Infinity,u=Infinity,e=Infinity,l=-Infinity,N,k,L,O={},m=[],S=function(b){k=q(b.xMax,-Infinity);L=q(b.xMin,Infinity);c=X(c,b.max);u=ea(u,
b.min);l=X(l,k);e=ea(e,L)};for(d=0;d<h;d++)g=a[d],(N=g.groupManager)?O[g.type]=N:m.push(g);for(N in O)a=O[N].getDataLimits(),S(a);h=m.length;for(d=0;d<h;d++)a=m[d].getDataLimits(),S(a);-Infinity===c&&(c=0);Infinity===u&&(u=0);this.config.yMax=c;this.config.yMin=u;f[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});f[0].setDataLimit(c,u);if(-Infinity!==l||Infinity!==e)b[0].config.xaxisrange={max:l,min:e},b[0].setDataLimit(l,e)},_setToolTipOptions:function(){var b=this.components,
a=this.components.colorManager,f=this.jsonData.chart,g=b.tooltip||(g=b.tooltip={}),b=g.config||(b=g.config={}),h=this.config,d=h.style,h=h.style.inCanvasStyle,u,e,l;u=ra(q(f.tooltipbgcolor,a.getColor("toolTipBgColor")),q(f.tooltipbgalpha,100));a=ra(q(f.tooltipbordercolor,a.getColor("toolTipBorderColor")),q(f.tooltipborderalpha,100));e=c(f.tooltipborderthickness,1)+"px";l=c(f.tooltippadding,3)+"px";g=g.style={fontFamily:d.inCanfontFamily,fontSize:d.inCanfontSize,lineHeight:h.lineHeight,color:ra(d.inCancolor),
backgroundColor:u,borderColor:a,borderWidth:e,padding:l};f.tooltipcolor&&(g.color=la(f.tooltipcolor));if(f.tooltipborderradius||f.useroundedges)g.borderRadius=c(f.tooltipborderradius,2)+"px";b.shadow=c(f.showtooltipshadow,f.showshadow,1)?{enabled:!0,opacity:X(c(f.tooltipbgalpha,100),c(f.tooltipborderalpha,100))/100}:!1;b.constrain=c(f.constraintooltip,1)},_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;
b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u=this.is3d,e=u?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:h.xaxisbreaks,axisNamePadding:h.xaxisnamepadding,
axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,
axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,
h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:c(h.numvdivlines,this.numVDivLines),labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,
labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,maxLabelHeight:h.maxlabelheight,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:c(h.setadaptivexmin,this.setadaptivexmin,b.setadaptivexmin),adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:c(h.showvlimits,
this.showvlimits),showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues,this.showvdivlinevalues),showZeroPlane:c(h.showvzeroplane,this.showzeroplane),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:c(h.showvzeroplanevalue,this.showzeroplanevalue),trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,
trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,this.showxaxisline,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:h.yaxisbreaks,axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,
axisNameBgAlpha:h.yaxisnamebgalpha,axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:h.yaxisname,divLineColor:q(h.divlinecolor,
f.getColor(e.divLineColor)),divLineAlpha:q(h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:c(h.numdivlines,
this.numDivLines),axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,setAdaptiveMin:c(h.setadaptivesymin,h.setadaptiveymin),adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue,this.showyaxisvalues),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue,this.showdivlinevalues),showZeroPlane:c(h.showzeroplane,this.showzeroplane),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,
h.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:c(h.showzeroplanevalue,this.showzeroplanevalue),showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,this.showyaxisline,0),axisLineThickness:c(h.yaxislinethickness,
h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;b.trendlines=g.trendlines;g=a.yAxis&&a.yAxis[0];a=a.xAxis&&a.xAxis[0];g&&(g.setCommonConfigArr(b,!0,!1,!1),g.configure());a&&(a.setCommonConfigArr(d,!1,!1,!1),a.configure())},_createLegend:function(){var a=this.components,f=FusionCharts.register("component",["legend","legend"]);b=a.legend=new f;b.chart=this;b.init()},_createGradientLegend:function(){var b=
this.components,a;this.hasGradientLegend&&(a=b.gradientLegend=b.gradientLegend||new (FusionCharts.register("component",["gradientLegend","gradientLegend"])),b.postLegendInitFn=a.init({chart:this}))},_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,b=b.categories&&b.categories[0].category;a&&a[0].setCategory(b)},_getDiff:function(b,a,f,g){f>b&&(b=f,a=g);return{diff:b,startIndex:a}},_createDatasets:function(){var b,a=this.components,f=a.xAxis[0],g=this.jsonData,h=g.dataset,c=h&&
h.length,u,e,l,N=this.defaultDatasetType,k=this.applicableDSList,L=this.components.legend.components.items||[],O,m,S,W=this.isStacked,E,K,p=[],ja=this.isRealTime,n=this.config.catLen,aa={};h&&0!==h.length||this.setChartMessage();this.config.categories=g.categories&&g.categories[0].category;u=a.dataset||(a.dataset=[]);e=u.length;for(g=0;g<c;g++)if(S=h[g],S.seriesname&&(S.seriesname=d(S.seriesname)),l=S.parentyaxis||"",m=(m=this.isDual&&"s"===l.toLowerCase()?q(S.renderas,this.sDefaultDatasetType):q(S.renderas,
N))&&m.toLowerCase(),k[m]||(m=N),b=FusionCharts.get("component",["dataset",m]))void 0===aa[m]?aa[m]=0:aa[m]++,E="datasetGroup_"+m,l=FusionCharts.register("component",["datasetGroup",m]),(O=a[E])&&p.push(O),l&&!O&&(O=a[E]=new l,O.chart=this,O.init()),(l=u[g])?(m=f.getCategoryLen(),b=n-m,E=ja?l.components:l.JSONData,K=E.data&&E.data.length,E=ja?0:S.data&&S.data.length||0,K-=E,b=this._getDiff(K,E,b,m),m=b.diff,b=b.startIndex,0<m&&l.removeData(b,m,!1),u[g].JSONData=S,u[g].configure(),u[g]._deleteGridImages&&
u[g]._deleteGridImages()):(l=new b,u.push(l),l.chart=this,l.index=g,O&&(W?O.addDataSet(l,0,aa[m]):O.addDataSet(l,aa[m],0)),l.init(S));if(e>c){m=e-c;O&&W&&O.removeDataSet(0,g,m);a=g;for(c=m+g;a<c;a++)O&&!W&&O.removeDataSet(g,0,1),ab.call(u[a]);u.splice(g,m);L.splice(g,m)}this.config.catLen=f.getCategoryLen()},_drawDataset:function(){var b=this.components.dataset,a,f=b.length,g,h,d={},c=[];for(g=0;g<f;g++)a=b[g],(h=a.groupManager)?d[a.type]=h:c.push(a);for(h in d)d[h].draw();f=c.length;for(g=0;g<f;g++)c[g].draw()},
_drawCanvas:function(){var b=this.jsonData.chart,a=this.components,f=this.config,g=this.graphics,h=a.paper,d=a.canvas,a=d.graphics,u=d.config,d=u.clip={},e=a.canvasBorderElement,l=this.get("config","animationObj"),N=l.animType,k=l.animObj,L=l.dummyObj,l=l.duration,O=a.canvasElement,m=f.canvasLeft,S=f.canvasTop,W=f.canvasWidth,E=f.canvasHeight,K=u.xDepth=f.xDepth||0,f=u.yDepth=f.yDepth||0,g=g.canvasGroup,p=u.canvasBorderRadius,ja=u.canvasBorderWidth,n=.5*ja,aa=u.canvasBorderColor,q=u.canBGColor,La=
u.canBGAlpha,w=u.shadow,b=u.showCanvasBG=Boolean(c(b.showcanvasbg,1)),t=u.shadowOnCanvasFill,F=u.showCanvasBorder,u={x:m-n,y:S-n,width:W+ja,height:E+ja,r:p,"stroke-width":ja,stroke:aa,"stroke-linejoin":2<ja?"round":"miter"};F?e?(e.show(),e.animateWith(L,k,{x:m-n,y:S-n,width:W+ja,height:E+ja,r:p},l,N),e.attr({"stroke-width":ja,stroke:aa,"stroke-linejoin":2<ja?"round":"miter"}),e.shadow(w)):a.canvasBorderElement=h.rect(u,g).shadow(w):e&&e.hide();d["clip-canvas"]=[X(0,m-K),X(0,S-f),X(1,W+2*K),X(1,E+
f)];d["clip-canvas-init"]=[X(0,m-K),X(0,S-f),1,X(1,E+2*f)];b?(u={x:m,y:S,width:W,height:E,r:p,"stroke-width":0,stroke:"none",fill:ba(q)},O?(O.show(),O.animateWith(L,k,{x:m,y:S,width:W,height:E,r:p},l,N),O.attr({"stroke-width":0,stroke:"none",fill:ba(q)})):O=a.canvasElement=h.rect(u,g),t?O.shadow({opacity:La/100}):O.shadow(!1)):O&&O.hide()},_getBackgroundCosmetics:function(){var b=this.jsonData.chart,a=this.components.colorManager,f=this.is3D?E.chart3D:E.chart2D;return{FCcolor:{color:q(b.bgcolor,this.bgColor,
a.getColor(f.bgColor)),alpha:q(b.bgalpha,this.bgAlpha,a.getColor(f.bgAlpha)),angle:q(b.bgangle,a.getColor(f.bgAngle)),ratio:q(b.bgratio,a.getColor(f.bgRatio))}}},_manageCaptionSpacing:function(b,a){return this.components.caption.manageSpace(b,a)},_manageCaptionPosition:function(){this.components.caption.managePosition()},_drawChartMenuBar:function(){var b=this.config,a=this.components.chartMenuBar,f=a.getLogicalSpace();a.toolbarConfig.fill=N;a.toolbarConfig.borderColor=N;a.draw(b.width-(b.marginRight+
f.width),b.marginTop);a.drawn=!0},_drawLogo:function(){var b=this,a=b.components.paper,f=b.config,g=f.borderWidth||0,h=f.height,d=f.width,c=b.graphics.logoImage,u=f.logoURL,l=f.logoAlpha/100,N=f.logoPosition,L=f.logoLink,O=f.logoScale,m=f.logoLeftMargin,S=f.logoTopMargin,W,E,f=b.get("config","animationObj"),K=f.animType,p=f.animObj,ja=f.dummyObj,n=f.duration,f={tr:{vAlign:ha,hAlign:wa},bl:{vAlign:Ia,hAlign:Ta},br:{vAlign:Ia,hAlign:wa},cc:{vAlign:"middle",hAlign:"middle"}},aa,q,La;u?(aa=new F,(La=
f[N])||(La={vAlign:ha,hAlign:Ta}),aa.onload=function(){q=T("none",La.vAlign,La.hAlign,O,g,d,h,aa);e&&(q.w=q.width||0,q.h=q.height||0);q.src=u;c?c.animateWith(ja,p,q,n,K):c=b.graphics.logoImage=a.image(q);c.show();c.translate(m,S).css("opacity",l);L?c.css({cursor:"pointer",_cursor:"hand"}):c.css({cursor:"default",_cursor:"normal"});if(c.events&&c.events.length)for(E=0,W=c.events.length;E<W;E++)c.events[E].unbind(),c.events.splice(E,1),--W,--E;c.mouseover(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoRollover",
{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.mouseout(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoRollout",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.click(function(a){a=P(b.chartInstance.ref,a);k.raiseEvent("LogoClick",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,
logoLink:L,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance,void 0,function(){L&&b.linkedItems.linkClickFN.call({link:L},b)})});k.raiseEvent("LogoLoaded",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L},b.chartInstance)},aa.onerror=function(a){k.raiseEvent("LogoLoadError",{logoURL:u,logoAlpha:100*l,logoPosition:N||"tl",logoScale:O,logoLink:L,error:a},b.chartInstance)},aa.src=u):c&&c.hide()},_addCSSDefinition:function(b,a){var f=this.components.paper;
a.color&&(a.fill=a.color);f.cssAddRule(b,a)},_allocateSpace:function(b){var a=this.components.canvas.config,f=this.config,g=f.canvasHeight,h=f.canvasWidth,d=f.availableHeight,c=f.availableWidth;f.canvasLeft+=b.left||0;f.canvasTop+=b.top||0;h=f.canvasWidth=h-((b.left||0)+(b.right||0));g=f.canvasHeight=g-((b.top||0)+(b.bottom||0));f.availableHeight=X(d-((b.top||0)+(b.bottom||0)),0);f.availableWidth=X(c-((b.left||0)+(b.right||0)),0);f.canvasRight=f.canvasLeft+h;f.canvasBottom=f.canvasTop+g;a.canvasPaddingLeft=
X(a.canvasPaddingLeft,b.paddingLeft||0);a.canvasPaddingRight=X(a.canvasPaddingRight,b.paddingRight||0);a.canvasPaddingTop=X(a.canvasPaddingTop,b.paddingTop||0);a.canvasPaddingBottom=X(a.canvasPaddingBottom,b.paddingBottom||0)},_updateCategory:function(b){var a=this.jsonData,a=a.categories&&a.categories[0].category,f=b.category,g=f.length,h=b.index,d=b.prepend;b=b.add;var c;for(c=0;c<g;c++)h?(b&&a.splice(h-1+c,0,f[c]),!b&&(a[h-1+c]=f[c])):d?(b&&a.splice(c,0,f[c]),!b&&(a[c]=f[c])):(b&&a.push(f),!b&&
(a[a.length-1]=f))},realTimeUpdate:function(b){var a=this.components,f=a.xAxis&&a.xAxis[0],a=a.dataset,g=b.dataset;b=b.categories&&b.categories.category||[];var h=f&&f.getCategoryLen(),d=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),c=0,u;if(a){if(f){f.categoryInsert(h,b,!0);h=0;for(u=b.length;h<u;h++)b[h].vline||(c+=1);f.categoryDelete(0,c,!0)}this.config._sumValuesUpdated=!1;h=0;for(u=a.length;h<u;h++)c=g[h],a[h].addData(c),a[h].removeData(0,c.data.length),
a[h].maxminFlag&&(d.maxminFlag=a[h].maxminFlag)}},_RTmanageSpace:function(){var b=this.config,a=this.components,f=a.xAxis[0],g=a.yAxis[0],h=a.yAxis[1],d,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPaddingTop,e=c.canvasPaddingBottom,l=c.canvasPadding||0,N=c.canvasPaddingLeft,c=c.canvasPaddingRight,k;d=b.xAxisSpaceAllocation;k=b.yAxisSpaceAllocation||[];var L=k[0]&&k[0].spaceTaken||{},O=k[1]&&k[1].spaceTaken||{},m=b.primaryAxisOnleft,S,W,E;d=(b.xAxisSpaceAllocation=f.placeAxis(b.availableHeight+
d.bottom)).bottom-d.bottom;0!==d&&(this._allocateSpace({bottom:d}),d=b.availableWidth,k[0].spaceTaken=d=g.placeAxis(d+L.left),this._allocateSpace({left:d.left-L.left}),d=b.availableWidth,L=b.canvasLeft-a,W=b.canvasRight+a,h&&(S=W,E=L,0===m&&(m=L,L=S,S=m,m=W,W=E,E=m),k[1].spaceTaken=k=h.placeAxis(d+(O.right||0)),this._allocateSpace({right:(k.right||0)-(O.right||0)}),h.setAxisDimention({x:S,y:b.canvasTop+u,opposite:E,axisLength:b.canvasHeight-u-e})),f&&f.setAxisDimention({x:b.canvasLeft+X(N,l),y:b.canvasBottom+
(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-X(N,l)-X(c,l)}),g&&g.setAxisDimention({x:L,y:b.canvasTop+u,opposite:W,axisLength:b.canvasHeight-u-e}),g.draw(),this._drawCanvas())},realTimeDraw:function(b,a,f,g,h){var d=this.components,c=d.xAxis&&d.xAxis[0],u=d.yAxis&&d.yAxis[0],e=d.yAxis&&d.yAxis[1],l=d.scale,d=d.dataset,N=this.config.realTimeConfig,L=N.sync,O=N.showRTValue,m=N.maxminFlag,S,W,E=d.length;W=(new Date).getTime();this._chartAnimation(L);this.rtManageSpace&&this._RTmanageSpace();
if(d){c&&c.draw();this._setAxisLimits();m&&u&&u.draw();e&&e.draw();m&&l&&l.draw();for(c=0;c<E;c++)S=d[c].groupManager,!S&&d[c].draw();O&&this._drawRealTimeValue&&this._drawRealTimeValue();S&&S.draw()}W=(new Date).getTime()-W;a={data:a,updateObject:N.legacyUpdateObj,prevData:f,source:b?"XmlHttpRequest":"feedData",latency:W};b&&(a.networkLatency=h,a.url=g);k.raiseEvent("realTimeUpdateComplete",a,this.chartInstance)},_getPrevData:function(){return this.config.realTimeConfig&&this.config.realTimeConfig.prevData},
feedData:function(b,a,f,g){var h=this,d=h.config.realtimeEnabled,c=h.config.realTimeConfig||(h.config.realTimeConfig={}),u,e=h.components,l=e.xAxis,N=h.components.dataset,k,L,O=c.clearInterval,m=c.refreshInterval,S=c.updateInterval,W=h.linkedItems.timers||(h.linkedItems.timers={setTimeout:{},setInterval:{}}),E=N.length,K=c.prevData;u=h._linearDataParser(b);if(d&&h.chartInstance.isActive()){if(c.clear){for(d=0;d<E;d++)N[d]._realTimeConfigure(!0);c.clear=!1}m<S&&(m=c.refreshInterval=c.updateInterval);
e.messageLogger&&e.messageLogger.addLog(u);e.alertManager&&e.alertManager.processRTData(u);h.realTimeUpdate(u);h.canvasPadding&&h._adjustCanvasPadding();m&&!1===c.clearIntervalFlag?(h.realTimeDraw(a,b,K,f,g),c.refreshIntervalFlag=!1):m&&!c.refreshIntervalFlag?(c.refreshIntervalFlag=!0,W.setTimeout.loadData=setTimeout(function(){k=(new Date).getTime();h.realTimeDraw(a,b,K,f,g);L=(new Date).getTime();c.refreshIntervalFlag=!1;c.refreshIntervalTimeDifference=L-k},1E3*m-(c.refreshIntervalTimeDifference||
0))):m||h.realTimeDraw(a,b,K,f,g);O&&!c.clearIntervalFlag&&l&&(c.clearIntervalFlag=!0,W.setTimeout.clearData=setTimeout(function(b){k=(new Date).getTime();try{clearTimeout(b.setTimeout.loadData)}catch(a){clearTimeout(W.setTimeout.loadData)}h._clearChart();L=(new Date).getTime();c.clearIntervalTimeDifference=L-k;c.clearIntervalFlag=!1},1E3*O-(c.clearIntervalTimeDifference||0),W));return!0}return!1},_clearChart:function(b){var a=this.components,f=a.xAxis&&a.xAxis[0],a=a.dataset,g=f.getCategoryLen(),
h=this.config.realTimeConfig||(this.config.realTimeConfig={}),d=a.length;h.clear=!0;if(a){f&&f.categoryDelete(0,g,!0);this.config._sumValuesUpdated=!1;for(g=0;g<d;g++)f=a[g],a[g].removeData(0,f.components.data.length),a[g].maxminFlag&&(h.maxminFlag=a[g].maxminFlag);this.realTimeDraw()}this._setRealTimeCategories();m.raiseEvent("ChartCleared",{source:b},this.chartInstance,[this.id,b])},_linearDataParser:function(b,a){var f,g,h,d,c,u,e,l,N,k,L,O,m,S,W,E,K,p,ja,n,aa,q,La=this.components.dataset,La=La&&
La.length;S=this.config.realTimeConfig;var w=S.prevData=[],t=S.legacyUpdateObj={},F=t.values=[],Qa=t.target=[],r=t.valueVisibility=[],z=t.toolTexts=[],D=t.toolTextsTarget=[],B=t.colors=[],C=t.links=[],G=0,H={categories:{category:[]},dataset:[]},I=H.categories.category,T=H.dataset,M;b=b&&b.toString&&b.toString()||"";this.rtParserModify&&(b=b.replace(/\|/g,","));f=b.split("&");S=0;for(W=f.length;S<W;S+=1)if(g=f[S].split("="),h=g[1],g=g[0],g!==J&&void 0!==g&&void 0!==h&&(h!==J||a))switch(M=g.toLowerCase(),
M){case "label":t.labels=E=h.split(",");break;case "vline":t.vlines=K=h.split(",");break;case "vlinelabel":t.vlineLabels=N=h.split(",");break;case "vlinecolor":t.vlineColors=k=h.split(",");break;case "vlinethickness":t.vlineThickness=L=h.split(",");break;case "vlinedashed":t.vlineDashed=O=h.split(",");break;case "value":p=h.split("|");break;case "target":ja=h.split("|");break;case "showlabel":t.showLabels=m=h.split(",");break;case "showvalue":d=h.split("|");break;case "tooltext":c=h.split("|");break;
case "targettooltext":u=h.split("|");break;case "link":l=h.split("|");break;case "color":e=h.split("|");break;case "datastamp":t.dataStamp=n=h;break;case "stopupdate":t.pause=aa="1"==h;break;case "clear":t.clear=q="1"==h;break;default:t[g]=H[g]=h}f=p&&p.length;for(S=0;S<f;S++)F[S]=p[S].split(","),Qa[S]=ja&&ja[S]&&ja[S].split(","),r[S]=d&&d[S]&&d[S].split(","),z[S]=c&&c[S]&&c[S].split(","),D[S]=u&&u[S]&&u[S].split(","),B[S]=e&&e[S]&&e[S].split(","),C[S]=l&&l[S]&&l[S].split(","),G=X(G,F[S].length);
d=X(E&&E.length||0,G||0);for(S=0;S<d;S++)I.push({label:E&&E[S],color:k&&k[S],showlabel:m&&m[S]});K&&I.push({label:N&&N[0],vline:K&&K[0],color:k&&k[0],thickness:L&&L[0],dashed:O&&O[0],showlabel:m&&m[0]});for(S=0;S<La;S++){L={};N=L.data=[];O=w[S]=[];for(k=0;k<d;k++)N.push({value:F[S]&&F[S][k],target:Qa[S]&&Qa[S][k],showvalue:r[S]&&r[S][k],tooltext:z[S]&&z[S][k],tooltexttarget:D[S]&&D[S][k],color:B[S]&&B[S][k],link:C[S]&&C[S][k]}),O.push(F[S]&&F[S][k]);T.push(L)}aa&&this._stopUpdate();q&&this._clearChart();
n&&(this.config.dataStamp=n);return H},exportChart:function(b){return m.exportChart.call(this,b)},chartHoverManager:function(){return function(b){var f=b.type,g=b.data,d=g.linkedItems.eventListeners||(g.linkedItems.eventListeners=[]);"mouseover"!==f&&"touchstart"!==f||!1!==g.mouseStateIn||(g.mouseStateIn=!0,g.onContainerRollOver(b),d.push(fa(e?M:a,"mouseover",g.winMouseHover,g)))}}(),setChartEvents:function(){var b=this.linkedItems.eventListeners||(this.linkedItems.eventListeners=[]),a=this.components.paper.canvas,
f=this.linkedItems.container,g=c(this.jsonData.chart.enablechartmousemoveevent,0);D(f,"click",this.onContainerClick);b.push(fa(f,"click",this.onContainerClick,this));D(a,"mouseover",this.chartHoverManager,this);D(a,"touchstart",this.chartHoverManager,this);D(a,"mouseout",this.chartHoverManager,this);D(a,"touchend",this.chartHoverManager,this);b.push(fa(a,"mouseover touchstart mouseout touchend",this.chartHoverManager,this));D(f,"mousemove",this.onContainerMouseMove,this);D(f,"touchmove",this.onContainerMouseMove,
this);g&&b.push(fa(f,"mousemove touchmove",this.onContainerMouseMove,this))},setChartCursor:function(){var b=this.config.link,a=this.components.paper.canvas.style;C.svg?a.cursor=b?"pointer":"default":this.components.paper.canvas.style.cursor=b?"hand":"default"},onContainerClick:function(b){var a=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,f=a&&a.parentElement,g=a&&a.nodeName.toLowerCase(),h=b.data,d=h.chartInstance;b=m.getMouseCoordinate(h.linkedItems.container,b.originalEvent);
d.ref&&(d=B({height:d.args.height,width:d.args.width,pixelHeight:d.ref.offsetHeight,pixelWidth:d.ref.offsetWidth,id:d.args.id,renderer:d.args.renderer,container:d.options.containerElement},b),k.raiseEvent("chartclick",d,h.chartInstance),a&&a.ishot&&h||"tspan"===g&&f&&f.ishot&&h||h.config.link&&h.linkedItems.linkClickFN.call(h,h))},onContainerMouseMove:function(b){var a=b.data,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);f.ref&&(f=B({height:f.args.height,width:f.args.width,
pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},b),k.raiseEvent("chartMouseMove",f,a.chartInstance))},onContainerRollOver:function(b){var a=b.data,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);f.ref&&(f=B({height:f.args.height,width:f.args.width,pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},
b),k.raiseEvent("chartRollOver",f,a.chartInstance))},onContainerRollOut:function(b){var a=b.chart,f=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.event);f.ref&&(f=B({height:f.args.height,width:f.args.width,pixelHeight:f.ref.offsetHeight,pixelWidth:f.ref.offsetWidth,id:f.args.id,renderer:f.args.renderer,container:f.options.containerElement},b),k.raiseEvent("chartRollOut",f,a.chartInstance))},mouseStateIn:!1,winMouseHover:function(b){var f=b.originalEvent,f=f.target||f.originalTarget||
f.srcElement||f.relatedTarget||f.fromElement,g=b.data,d=g.components.paper;b={chart:g,event:b.originalEvent};e?d.getById(f.parentNode.raphaelid)||(g.onContainerRollOut(b),g.mouseStateIn=!1,D(M,"mouseover",g.winMouseHover)):f.viewportElement||(g.mouseStateIn=!1,g.onContainerRollOut(b),D(a,"mouseover",g.winMouseHover))},_show:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.show()},_hide:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.hide()}},
qa.base,{valuefontbold:0,usemessagelog:0,zeroplanethickness:void 0,animationeffect:"easeIn"});FusionCharts.register("component",["caption","caption",{pIndex:2,customConfigFn:null,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})},configure:function(){var b=this.chart,a=b.jsonData.chart,f=b.components,g=f.caption,h=g.config,u=b.config.style,e=u.outCanfontFamily,l=u.outCancolor,u=u.fontSize,f=f.subCaption,N=f.config;g.components.text=d(a.caption);f.components.text=
d(a.subcaption);h.style={fontFamily:q(a.captionfont,e),color:ra(q(a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.captionfontsize,u+3)+Pa,fontWeight:0===c(a.captionfontbold)?"normal":"bold"};h.align=N.align=q(a.captionalignment,Da);switch(h.align){case wa:h.align="end";break;case Ta:h.align="start";break;default:h.align="middle"}h.isOnTop=N.isOnTop=c(a.captionontop,1);h.isOnLeft=!c(a.captiononright,0);h.captionPosition=t(a.captionposition,"top").toLowerCase();h.alignWithCanvas=
N.alignWithCanvas=c(b.aligncaptionwithcanvas,a.aligncaptionwithcanvas,1);h.horizontalPadding=N.horizontalPadding=c(a.captionhorizontalpadding,h.alignWithCanvas?0:15);h.drawCaption=!0;oa(h.style);N.style={fontFamily:q(a.subcaptionfont,a.captionfont,e),color:ra(q(a.subcaptionfontcolor,a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.subcaptionfontsize,c(X(c(a.captionfontsize)-3,-1),u)+c(b.subTitleFontSizeExtender,1))+Pa,fontWeight:0===c(a.subcaptionfontbold,b.subTitleFontWeight,
a.captionfontbold)?"normal":"bold"};oa(N.style)},draw:function(){var b=this.chart,a=b.config,f=b.components,g=b.config.textDirection,h=b.graphics,d=h.captionGroup,c=f.paper,u=b.linkedItems.smartLabel,e=f.caption,l=e.graphics,N=l.captionElement,k=f.subCaption,f=k.graphics,L=f.subCaptionElement,O=e.components,e=e.config,m=k.config,S=e.style,W=m.style,k=k.components,E=O.text,K=k.text,p=e.x,ja=e.align,n,aa=a.showToolTip;n=b.get("config","animationObj");var q=n.animType,La=n.animObj,w=n.dummyObj,t=n.duration;
!E&&!K||d||(d=h.captionGroup=c.group("caption"),d.trackTooltip(!0),h.tracker?d.insertBefore(h.trackerGroup):d.insertAfter(h.datasetGroup));E?(b._addCSSDefinition(".fusioncharts-caption",S),n={"class":"fusioncharts-caption",text:O.text,fill:S.color,x:p,y:e.y,"text-anchor":ja||"middle","vertical-align":e.verticalAlign||"top",visibility:e.drawCaption?"visible":"hidden",direction:g},N?(N.animateWith(w,La,{x:p,y:e.y,"text-anchor":ja||"middle","vertical-align":e.verticalAlign||"top",direction:g},t,q),N.attr({"class":"fusioncharts-caption",
"text-anchor":ja||"middle",text:O.text,fill:S.color,visibility:e.drawCaption?"visible":"hidden"})):N=l.captionElement=c.text(n,d).attr("class","fusioncharts-caption"),N.tooltip(O.originalText),N.css(S),u&&(u.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),u.setStyle(S),u.getOriSize(O.text))):N&&(l.captionElement=N.remove());K?(b._addCSSDefinition(".fusioncharts-subcaption",W),n={"class":"fusioncharts-subcaption",text:k.text,fill:W.color,x:p,y:m.y,"text-anchor":ja||"middle","vertical-align":"top",
direction:g,visibility:e.drawCaption?"visible":"hidden"},L?(L.animateWith(w,La,{x:p,y:m.y,"text-anchor":ja||"middle","vertical-align":"top",direction:g},t,q),L.attr({"class":"fusioncharts-subcaption","text-anchor":ja||"middle",text:k.text,fill:W.color,visibility:e.drawCaption?"visible":"hidden"})):L=f.subCaptionElement=c.text(n,d).attr("class","fusioncharts-subcaption"),L.css(W),L.tooltip(k.originalText)):L&&(f.subCaptionElement=L.remove());d&&d.trackTooltip(aa?!0:!1);E||K||!d||(h.captionGroup=d.remove())},
manageSpace:function(b,a){var f=this.chart,g=f.config,h=f.components,u=h.caption,e=h.subCaption,l=u.config,N=e.config,u=u.components,e=e.components,k=f.jsonData.chart,f=f.linkedItems.smartLabel,L=b,O=d(k.caption),m=d(k.subcaption),S=k=c(k.captionpadding,10),W=g.canvasWidth,E=!1,K,p,ja=0,n=0,aa=0,q=0,La=0,n=X(h.canvas.config.canvasBorderThickness,0),w=h=0;!a&&(a=W);if(3<L){k<n&&(k=n+2);O!==J&&(K=l.style,q=ga(c(parseFloat(K.fontHeight,10),parseFloat(K.lineHeight,10),12)));m!==J&&(p=N.style,La=c(parseInt(p.fontHeight,
10),parseInt(p.lineHeight,10),12));if(0<q||0<La)L=X(L,0),ja=q+La+k,ja>L?(n=L-ja,E=!0,n<k?k=X(n,5):(n-=k,k=0,La>n?(aa=La-n+10,La=0,e._originalText=e.text,e.text=""):(n-=La,La=0,q>n&&(aa=q-n)))):aa=L-ja,f.useEllipsesOnOverflow(g.useEllipsesWhenOverflow),0<q&&(f.setStyle(K),q+=aa,K=f.getSmartText(O,a,q),aa=q-K.height,l.height=q=K.height,u.text=K.text,u.originalText=K.tooltext?K.tooltext:!1,h=K.width),0<La&&(f.setStyle(p),La+=aa,p=f.getSmartText(m,a,La),aa=La-p.height,La=p.height,e.text=p.text,N.height=
p.height,e.originalText=p.tooltext?p.tooltext:!1,w=p.width),E&&0<aa&&(k+=ea(S-k,aa)),l.captionPadding=k,l.height=q,l.width=h,N.width=w,N.height=La,ja=q+La+k;ja>g.canvasHeight?(ja=0,l.drawCaption=!1):l.drawCaption=!0;g=l.isOnTop?{top:ja}:{bottom:ja,top:5}}else g={bottom:0,top:0},l.drawCaption=!1;return g},managePosition:function(){var b=this.chart,a=b.config,f=b.components,g=f.caption,h=g.config,d=h.widgetValueHeight||0,u=f.subCaption.config,e=h.x,l=a.canvasWidth,e=h.align,g=g.components.text,N=h.alignWithCanvas,
k=h.horizontalPadding,L=a.width,O=a.canvasLeft,m=a.canvasRight,S=a.marginRight,W=a.marginLeft,a=a.marginTop,E=(Z(O)||0)+c(l,L)/2,l=h.height,K=u.height,p=f.legend.config,ja=p.height,n=p.legendPadding,aa=p.legendPos,q=f.gradientLegend,La=0,w=b.config.borderWidth,f=f.actionBar,t=0;p.isActive||(ja=0);b.config.gLegendEnabled&&(La=q.getLogicalSpace().height);switch(e){case "end":e=N?m-k:L-k;break;case "start":e=N?O+k:k;break;default:e=N?E:W+.5*(L-W-S)||L/2}h.x=e;h.isOnTop?h.y=(w||0)+(a||0)+(h._offsetHeight||
0):("right"===aa&&(La=ja=n=0),f&&(e=f.getLogicalSpace()||{},t=e.height,void 0===t||Infinity===t||0>t)&&(t=0),h.y=b.config.height-b.config.marginBottom-l-(K||0)-(w||0)-(n||0)-(ja||0)-La-d-t);u.y=g?h.y+l+2:h.y||a||0}}]);FusionCharts.register("component",["caption","subcaption",{pIndex:2,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})}}]);qa("scrollbase",{standaloneInit:!1,_scrollBar:function(){var b=[];return{get:function(){return b},clear:function(){b.length=
0},add:function(a,f){b.push({conf:a,handler:f})}}}()},qa.mscartesian);qa("msinversecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=this.config,f=b.colorManager,g=this.jsonData,h=g.chart,d,u=(d=this.is3d)?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,
h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(u.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,
axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,
h.divlinecolor,f.getColor(u.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,d?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,
f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numvdivlines,maxLabelHeight:h.maxlabelheight,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,
rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues),showZeroPlane:h.showvzeroplane,zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:h.vzeroplanethickness,zeroPlaneAlpha:h.vzeroplanealpha,showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,
trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};a={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(u.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,axisNameBgAlpha:h.yaxisnamebgalpha,
axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:h.yaxisname,divLineColor:q(h.divlinecolor,f.getColor(u.divLineColor)),
divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numdivlines,axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,
setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),showZeroPlane:h.showzeroplane,zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,a.zeroplanethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.zeroplanealpha,a.zeroplanealpha,80),showZeroPlaneValue:h.showzeroplanevalue,
trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;a.trendlines=g.trendlines;g=b.yAxis&&b.yAxis[0];
b=b.xAxis&&b.xAxis[0];g&&(g.setCommonConfigArr(a,!0,!0,!1),g.configure());b&&(b.setCommonConfigArr(d,!1,!1,!1),b.configure(),b.setAxisConfig({isRelativeAxisInverse:!0}))}},qa.mscartesian);qa("sscartesian",{standaloneInit:!1,hasLegend:!1,_createDatasets:function(){var b=this.components,a=b.legend,f=this.jsonData,g=f.dataset,h=f.data||g&&g[0].data,d=this.defaultDatasetType,c,u,g=this._dataSegregator(h);this.config.categories=g.data;f=b.dataset||(b.dataset=[]);if(!h||0===h.length)this.setChartMessage();
else if(d&&(u=FusionCharts.get("component",["dataset",d])))if(h="datasetGroup_"+d,c=FusionCharts.register("component",["datasetGroup",d]),d=b[h],c&&!d&&(d=b[h]=new c,d.chart=this,d.init()),f[0]){d=f[0].JSONData;b=f[0].components.data||[];h=d.data.length;u=g.data&&g.data.length||0;if(h>u){if(a)for(d=u;d<h;d++)b[d]&&b[d].legendItemId&&a.removeItem(b[d].legendItemId);f[0].removeData(u,h-u,!1)}f[0].JSONData=g;f[0].configure()}else a=new u,f.push(a),a.chart=this,d&&d.addDataSet(a,0,0),a.index=0,a.init(g)},
_dataSegregator:function(b){var a=[];u(b,function(b){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline&&a.push(b)});return{data:a}},_setCategories:function(){var b=this.jsonData,a=b.dataset;this.components.xAxis[0].setCategory(b.data||a&&a[0].data)}},qa.mscartesian);qa("msdybasecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a,f=FusionCharts.register("component",["axis","cartesian"]),g;b.yAxis=[];b.xAxis=[];b.yAxis[0]=g=new f;b.yAxis[1]=a=new f;b.xAxis[0]=b=new f;
g.chart=this;a.chart=this;b.chart=this;g.init();a.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u,e=this.is3d,l=e?E.chart3D:E.chart2D,N,k=b.primaryAxisOnleft=c(h.primaryaxisonleft,1),L=c(h.syncaxislimits,0);u=[{line:[]}];N=[{line:[]}];var O,m=g.trendlines||[];d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,axisValuePadding:h.labelpadding,axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,
axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,e?f.getColor("divLineAlpha3D"):
f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,0),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numvdivlines,
maxLabelHeight:h.maxlabelheight,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),
showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,h.showvdivlinevalues),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,
showAxisLine:e?0:c(h.showxaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:c(h.pyaxisnamepadding,
h.yaxisnamepadding),axisValuePadding:c(h.pyaxisvaluespadding,h.yaxisvaluespadding),axisNameFont:q(h.pyaxisnamefont,h.yaxisnamefont),axisNameFontSize:c(h.pyaxisnamefontsize,h.yaxisnamefontsize),axisNameFontColor:q(h.pyaxisnamefontcolor,h.yaxisnamefontcolor),axisNameFontBold:c(h.pyaxisnamefontbold,h.yaxisnamefontbold),axisNameFontItalic:c(h.pyaxisnamefontitalic,h.yaxisnamefontitalic),axisNameBgColor:q(h.pyaxisnamebgcolor,h.yaxisnamebgcolor),axisNameBorderColor:q(h.pyaxisnamebordercolor,h.yaxisnamebordercolor),
axisNameAlpha:c(h.pyaxisnamealpha,h.yaxisnamealpha),axisNameFontAlpha:c(h.pyaxisnamefontalpha,h.yaxisnamefontalpha),axisNameBgAlpha:c(h.pyaxisnamebgalpha,h.yaxisnamebgalpha),axisNameBorderAlpha:c(h.pyaxisnameborderalpha,h.yaxisnameborderalpha),axisNameBorderPadding:c(h.pyaxisnameborderpadding,h.yaxisnameborderpadding),axisNameBorderRadius:c(h.pyaxisnameborderradius,h.yaxisnameborderradius),axisNameBorderThickness:c(h.pyaxisnameborderthickness,h.yaxisnameborderthickness),axisNameBorderDashed:c(h.pyaxisnameborderdashed,
h.yaxisnameborderdashed),axisNameBorderDashLen:c(h.pyaxisnameborderdashlen,h.yaxisnameborderdashlen),axisNameBorderDashGap:c(h.pyaxisnameborderdashgap,h.yaxisnameborderdashgap),axisNameWidth:c(h.pyaxisnamewidth,h.yaxisnamewidth),useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,1),axisName:q(h.pyaxisname,h.yaxisname),divLineColor:q(h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,
1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numdivlines,axisMinValue:L?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):c(h.pyaxisminvalue,h.yaxisminvalue),axisMaxValue:L?c(h.syaxismaxvalue,
h.pyaxismaxvalue,h.yaxismaxvalue):c(h.pyaxismaxvalue,h.yaxismaxvalue),setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showzeroplanevalue,
trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:e?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000")};f={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,
h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,axisNameFont:h.syaxisnamefont,axisNameFontSize:h.syaxisnamefontsize,axisNameFontColor:h.syaxisnamefontcolor,axisNameFontBold:h.syaxisnamefontbold,axisNameFontItalic:h.syaxisnamefontitalic,axisNameBgColor:h.syaxisnamebgcolor,axisNameBorderColor:h.syaxisnamebordercolor,axisNameAlpha:h.syaxisnamealpha,
axisNameFontAlpha:h.syaxisnamefontalpha,axisNameBgAlpha:h.syaxisnamebgalpha,axisNameBorderAlpha:h.syaxisnameborderalpha,axisNameBorderPadding:h.syaxisnameborderpadding,axisNameBorderRadius:h.syaxisnameborderradius,axisNameBorderThickness:h.syaxisnameborderthickness,axisNameBorderDashed:h.syaxisnameborderdashed,axisNameBorderDashLen:h.syaxisnameborderdashlen,axisNameBorderDashGap:h.syaxisnameborderdashgap,axisNameWidth:h.syaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,rotateAxisName:c(h.rotateyaxisname,
1),axisName:h.syaxisname,divLineColor:q(h.divlinecolor,f.getColor(l.divLineColor)),divLineAlpha:q(h.divlinealpha,f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),
numDivLines:h.numdivlines,axisMinValue:L?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):h.syaxisminvalue,axisMaxValue:L?c(h.syaxismaxvalue,h.pyaxismaxvalue,h.yaxismaxvalue):h.syaxismaxvalue,setAdaptiveMin:h.setadaptivesymin||h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showsyaxisvalues,h.showsyaxisvalue,h.showyaxisvalues,h.showyaxisvalue),showLimits:c(h.showsecondarylimits,h.showyaxislimits,h.showlimits),showDivLineValues:c(h.showdivlinesecondaryvalue,
h.showyaxisvalues,h.showyaxisvalue,1),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:h.zeroplanealpha,showZeroPlaneValue:h.showzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:e?0:c(h.showsyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.syaxislinethickness,
h.axislinethickness,1),axisLineAlpha:c(h.syaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.syaxislinecolor,h.axislinecolor,"#000000")};d.vtrendlines=g.vtrendlines;L=0;for(l=m.length;L<l;L++)for(g=m[L]&&m[L].line||[],e=g.length,O=0;O<e;O++)h=g[O]||{},h.parentyaxis&&h.parentyaxis.toLowerCase(),"s"===h.parentyaxis?u[0].line.push(h):N[0].line.push(h);b.trendlines=N;f.trendlines=u;N=a.yAxis[0];u=a.yAxis[1];a=a.xAxis[0];1===k?(N.setCommonConfigArr(b,!0,!1,!1),u.setCommonConfigArr(f,!0,!1,!0)):(N.setCommonConfigArr(b,
!0,!1,!0),u.setCommonConfigArr(f,!0,!1,!1));a.setCommonConfigArr(d,!1,!1,!1);N.configure();u.configure();a.configure();u.setAxisConfig({isActive:!1,isPercent:this.isPercentage,axisIndex:1,uniqueClassName:1})},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,u=-Infinity,e=Infinity,l=-Infinity,N=Infinity,k=Infinity,L=-Infinity,O,m=c(this.jsonData.chart.syncaxislimits,0),S={},W=function(b){return-Infinity===b||Infinity===b?null:b},E=function(b){K?(l=X(l,
b.sYMax||b.max),N=ea(N,b.sYMin||b.min)):(u=X(u,b.max),e=ea(e,b.min));L=X(L,b.xMax||-Infinity);k=ea(k,b.xMin||Infinity)},K=0;for(d=0;d<h;d++)g=a[d],O=g.groupManager,K=g.config.parentYAxis,O?(S[g.type]=O,S[g.type].yAxisIndex=K):(g=g.getDataLimits(),E(g));for(O in S)K=S[O].yAxisIndex,g=S[O].getDataLimits(),u=X(u,g.max),e=ea(e,g.min),l=X(l,g.sYMax),N=ea(N,g.sYMin);m?(a=X(u,l),O=ea(e,N),f[0].setDataLimit(a,O),f[1].setDataLimit(a,O)):(u=W(u),e=W(e),l=W(l),N=W(N),f[0].setDataLimit(u,e),f[1].setDataLimit(l,
N));f[0].getDivLineCount();if(-Infinity!==L||Infinity!==k)b[0].config.xaxisrange={max:L,min:k},b[0].setDataLimit(L,k)},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.yAxis,g=a.xAxis&&a.xAxis[0],h=f[0],f=f[1],d=a.legend,c=b.xDepth,u=a.canvas.config,e=u.canvasBorderWidth,l=u.canvasPadding,N=u.canvasPaddingLeft,k=u.canvasPaddingRight,a=u.canvasPaddingTop,L=b.primaryAxisOnleft,u=u.canvasPaddingBottom;g&&g.setAxisDimention({x:b.canvasLeft+(c||0)+X(N,l),y:b.canvasBottom+(b.shift||
0)+e,opposite:b.canvasTop-e,axisLength:b.canvasWidth-(c||0)-X(N,l)-X(k,l)});L?(b.yAxisStartXPos=b.canvasLeft-e,b.sYAxisStartXPos=b.canvasRight+e):(b.yAxisStartXPos=b.canvasRight+e,b.sYAxisStartXPos=b.canvasLeft-e);e=b.yAxisStartXPos;l=b.sYAxisStartXPos;h&&h.setAxisDimention({x:e,y:b.canvasTop+a,opposite:l,axisLength:b.canvasHeight-a-u});f&&f.setAxisDimention({x:l,y:b.canvasTop+a,opposite:e,axisLength:b.canvasHeight-a-u});g&&g.shiftLabels(-c,0);d.postSpaceManager();this.config.realtimeEnabled&&this._setRealTimeCategories&&
this._setRealTimeCategories();this._adjustCanvasPadding()}},qa.mscartesian);qa("mscartesian3d",{standaloneInit:!1,is3d:!0,_createDatasets:function(){var b=this.components,a=b.xAxis[0],f=this.jsonData,g=f.dataset,h=g&&g.length,c,u,e,l=this.defaultDatasetType,N=this.applicableDSList,k=this.components.legend,L,O,m,S,W=this.isStacked,E,K,p=[],ja=this.isRealTime,n=this.config.catLen,aa={};g||this.setChartMessage();this.config.categories=f.categories&&f.categories[0].category;c=b.dataset||(b.dataset=[]);
u=c.length;for(f=0;f<h;f++)if(S=g[f],S.seriesname&&(S.seriesname=d(S.seriesname)),e=S.parentyaxis||"",O=(O=this.isDual&&"s"===e.toLowerCase()?q(S.renderas,this.sDefaultDatasetType):q(S.renderas,l))&&O.toLowerCase(),N[O]||(O=l),m=FusionCharts.get("component",["dataset",O]))void 0===aa[O]?aa[O]=0:aa[O]++,E="datasetGroup_"+O,e=FusionCharts.register("component",["datasetGroup",O]),(L=b[E])&&p.push(L),e&&!L&&(L=b[E]=new e,L.chart=this,L.init()),(e=c[f])?(O=a.getCategoryLen(),E=n-O,m=ja?e.components:e.JSONData,
K=m.data&&m.data.length||0,m=S.data&&S.data.length||0,K-=m,E>K||(E=K,O=m),0<E&&e.removeData(O,E,!1),c[f].JSONData=S,c[f].configure(),c[f]._deleteGridImages&&c[f]._deleteGridImages()):(e=new m,c.push(e),e.chart=this,e.index=f,L&&(W?L.addDataSet(e,0,aa[O]):L.addDataSet(e,aa[O],0)),e.init(S));if(u>h){E=u-h;L&&W&&L.removeDataSet(0,f,E);b=f;for(h=E+f;b<h;b++)L&&!W&&L.removeDataSet(f,0,1),c[b].visible=!1,c[b].draw(),k.removeItem(c[b].legendItemId);c.splice(f,E)}this.config.catLen=a.getCategoryLen()},_drawCanvas:function(){var b=
this.config,a=b.canvasLeft,f=b.canvasTop,g=b.canvasWidth,h=b.canvasHeight,d=this.jsonData.chart,u=this.components,e=u.canvas,l=u.colorManager,u=u.paper,N=e.graphics,k=N.canvasBorderElement,m=N.canvasElement,S=e.config,W=S.clip={},e=this.graphics.canvasGroup,K=N.canvasBg,p=N.canvas3DBase,ja=this.get("config","animationObj"),n=ja.animType,aa=ja.animObj,La=ja.dummyObj,ja=ja.duration,t=N.canvas3dbaseline,F=S.canvasBgColor,Qa=S.showCanvasBG=Boolean(c(d.showcanvasbg,1)),r=b.canvasBgDepth,z=b.showCanvasBase,
D=b.canvasBaseDepth,B=S.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),G=S.use3DLighting=c(d.use3dlighting,1),F=E.chart3D,J=S.canvasBorderRadius=c(d.plotborderradius,0),I=S.canvasBorderColor=ra(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),T=S.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),M=S.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),V=b.xDepth,d=b.yDepth,l=b.canvasBasePadding||2,F=G?S.canvasBgColor={FCcolor:{color:Fa(M,85)+Oa+na(M,55),
alpha:T+Oa+T,ratio:L,angle:O(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:S.canvasBgColor=ra(M,T);M.split(Oa);T.split(Oa);V=S.xDepth=10;d=S.yDepth=10;b={x:a-0,y:f-0,width:g+0,height:h+0,r:J,"stroke-width":0,stroke:I,"stroke-linejoin":"miter"};k?(k.animateWith(La,aa,{x:a-0,y:f-0,width:g+0,height:h+0,r:J},ja,n),k.attr({"stroke-width":0,stroke:I,"stroke-linejoin":"miter"})):N.canvasBorderElement=u.rect(b,e);W["clip-canvas"]=[X(0,a-V),X(0,f),X(1,g+V),X(1,h+d)];W["clip-canvas-init"]=
[X(0,a-V),X(0,f-d),1,X(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:J,"stroke-width":0,stroke:"none",fill:ba(F)};Qa?(m?(m.show(),m.animateWith(La,aa,{x:a,y:f,width:g,height:h,r:J},ja,n),m.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):N.canvasElement=u.rect(b,e),b=["M",a+g,",",f,"L",a+g+r,",",f+1.2*r,",",a+g+r,",",f+h-r,",",a+g,",",f+h,"Z"],K?(K.show(),K.animateWith(La,aa,{path:b},ja,n),K.attr({path:b})):K=N.canvasBg=u.path(b,e),K.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):(m&&m.hide(),K&&
K.hide());z?(b=a-V-l,k=f+h+d+l,m=V+l,K=d+l,p?(p.show(),p._.cubeside.show(),p._.cubetop.show(),p.animateWith(La,aa,{cubepath:[b,k,g,D,m,K]},ja,n),p.attr({cubepath:[b,k,g,D,m,K]})):p=N.canvas3DBase=u.cubepath(b,k,g,D,m,K,e),p.attr({stroke:"none","stroke-width":0,fill:[B.replace(w,H),!G]}),t?(t.show(),t.animateWith(La,aa,{path:["M",a,f+h,"H",g+a]},ja,n)):t=N.canvas3dbaseline=u.path(void 0,e),t.attr({path:["M",a,f+h,"H",g+a],stroke:C.tintshade(B.replace(w,H),.05).rgba})):(p&&(p.hide(),p._.cubeside.hide(),
p._.cubetop.hide()),t&&t.hide())}},qa.mscartesian);qa("msdybasecartesian3d",{standaloneInit:!1,is3d:!0,_drawCanvas:qa.mscartesian3d},qa.msdybasecartesian);qa("sscartesian3d",{standaloneInit:!1,hasLegend:!1,is3d:!0,_drawCanvas:qa.mscartesian3d},qa.sscartesian);qa("msbarcartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.get("component",["axis","cartesian"]),f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new a;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();
this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,f=a.colorManager,g=this.jsonData,h=g.chart,d,u=this.is3d,e=u?E.chart3D:E.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.xaxisnamepadding,maxLabelWidthPercent:h.maxlabelwidthpercent,axisValuePadding:h.labelpadding,
axisNameFont:h.xaxisnamefont,axisNameFontSize:h.xaxisnamefontsize,axisNameFontColor:h.xaxisnamefontcolor,axisNameFontBold:h.xaxisnamefontbold,axisNameFontItalic:h.xaxisnamefontitalic,axisNameBgColor:h.xaxisnamebgcolor,axisNameBorderColor:h.xaxisnamebordercolor,axisNameAlpha:h.xaxisnamealpha,axisNameFontAlpha:h.xaxisnamefontalpha,axisNameBgAlpha:h.xaxisnamebgalpha,axisNameBorderAlpha:h.xaxisnameborderalpha,axisNameBorderPadding:h.xaxisnameborderpadding,axisNameBorderRadius:h.xaxisnameborderradius,
axisNameBorderThickness:h.xaxisnameborderthickness,axisNameBorderDashed:h.xaxisnameborderdashed,axisNameBorderDashLen:h.xaxisnameborderdashlen,axisNameBorderDashGap:h.xaxisnameborderdashgap,axisNameWidth:h.xaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,divLineColor:q(h.vdivlinecolor,h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.vdivlinealpha,h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.vdivlinethickness,h.divlinethickness,
1),divLineIsDashed:Boolean(c(h.vdivlinedashed,h.vdivlineisdashed,h.divlinedashed,h.divlineisdashed,0)),divLineDashLen:c(h.vdivlinedashlen,h.divlinedashlen,4),divLineDashGap:c(h.vdivlinedashgap,h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatehgridcolor,1),alternateGridColor:q(h.alternatehgridcolor,f.getColor("altHGridColor")),alternateGridAlpha:q(h.alternatehgridalpha,f.getColor("altHGridAlpha")),numDivLines:h.numvdivlines,labelFont:h.labelfont,labelFontSize:h.labelfontsize,labelFontColor:h.labelfontcolor,
labelFontAlpha:h.labelalpha,labelFontBold:h.labelfontbold,labelFontItalic:h.labelfontitalic,axisName:h.xaxisname,axisMinValue:h.xaxisminvalue,axisMaxValue:h.xaxismaxvalue,setAdaptiveMin:h.setadaptivexmin,adjustDiv:h.adjustvdiv,labelDisplay:h.labeldisplay,showLabels:h.showlabels,rotateLabels:h.rotatelabels,slantLabel:c(h.slantlabels,h.slantlabel),labelStep:c(h.labelstep,h.xaxisvaluesstep),showAxisValues:c(h.showxaxisvalues,h.showxaxisvalue),showLimits:h.showvlimits,showDivLineValues:c(h.showvdivlinevalues,
h.showvdivlinevalues),zeroPlaneColor:h.vzeroplanecolor,zeroPlaneThickness:c(h.vzeroplanethickness,h.vdivlinethickness,2),zeroPlaneAlpha:c(h.vzeroplanealpha,h.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showvzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,rotateAxisName:c(h.rotatexaxisname,1),trendlineAlpha:h.trendlinealpha,showTrendlinesOnTop:h.showtrendlinesontop,showAxisLine:u?0:c(h.showxaxisline,h.showaxislines,
h.drawAxisLines,0),axisLineThickness:c(h.xaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.xaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.xaxislinecolor,h.axislinecolor,"#000000")};b={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:Ca(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:h.yaxisnamepadding,axisValuePadding:h.yaxisvaluespadding,
axisNameFont:h.yaxisnamefont,axisNameFontSize:h.yaxisnamefontsize,axisNameFontColor:h.yaxisnamefontcolor,axisNameFontBold:h.yaxisnamefontbold,axisNameFontItalic:h.yaxisnamefontitalic,axisNameBgColor:h.yaxisnamebgcolor,axisNameBorderColor:h.yaxisnamebordercolor,axisNameAlpha:h.yaxisnamealpha,axisNameFontAlpha:h.yaxisnamefontalpha,axisNameBgAlpha:h.yaxisnamebgalpha,axisNameBorderAlpha:h.yaxisnameborderalpha,axisNameBorderPadding:h.yaxisnameborderpadding,axisNameBorderRadius:h.yaxisnameborderradius,
axisNameBorderThickness:h.yaxisnameborderthickness,axisNameBorderDashed:h.yaxisnameborderdashed,axisNameBorderDashLen:h.yaxisnameborderdashlen,axisNameBorderDashGap:h.yaxisnameborderdashgap,axisNameWidth:h.yaxisnamewidth,useEllipsesWhenOverflow:h.useellipseswhenoverflow,axisName:h.yaxisname,divLineColor:q(h.divlinecolor,f.getColor(e.divLineColor)),divLineAlpha:q(h.divlinealpha,u?f.getColor("divLineAlpha3D"):f.getColor("divLineAlpha")),divLineThickness:c(h.divlinethickness,1),divLineIsDashed:Boolean(c(h.divlinedashed,
h.divlineisdashed,0)),divLineDashLen:c(h.divlinedashlen,4),divLineDashGap:c(h.divlinedashgap,2),showAlternateGridColor:c(h.showalternatevgridcolor,1),alternateGridColor:q(h.alternatevgridcolor,f.getColor("altVGridColor")),alternateGridAlpha:q(h.alternatevgridalpha,f.getColor("altVGridAlpha")),numDivLines:h.numdivlines,axisMinValue:h.yaxisminvalue,axisMaxValue:h.yaxismaxvalue,setAdaptiveMin:h.setadaptiveymin,adjustDiv:h.adjustdiv,labelStep:h.yaxisvaluesstep,showAxisValues:c(h.showyaxisvalues,h.showyaxisvalue),
showLimits:c(h.showyaxislimits,h.showlimits,this.showLimits),showDivLineValues:c(h.showdivlinevalues,h.showdivlinevalue),zeroPlaneColor:h.zeroplanecolor,zeroPlaneThickness:c(h.zeroplanethickness,h.divlinethickness,2),zeroPlaneAlpha:c(h.zeroplanealpha,h.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:h.showzeroplanevalue,trendlineColor:h.trendlinecolor,trendlineToolText:h.trendlinetooltext,trendlineThickness:h.trendlinethickness,trendlineAlpha:h.trendlinealpha,isTrendZone:0,showTrendlinesOnTop:h.showtrendlinesontop,
showAxisLine:u?0:c(h.showyaxisline,h.showaxislines,h.drawAxisLines,0),axisLineThickness:c(h.yaxislinethickness,h.axislinethickness,1),axisLineAlpha:c(h.yaxislinealpha,h.axislinealpha,100),axisLineColor:q(h.yaxislinecolor,h.axislinecolor,"#000000"),numberFormatterFn:"yAxis"};b.vtrendlines=g.trendlines;d.trendlines=g.vtrendlines;g=a.yAxis[0];a=a.xAxis[0];g.setCommonConfigArr(b,!1,!1,!1);a.setCommonConfigArr(d,!0,!0,!1);g.configure();a.configure()},_spaceManager:function(){var b,a,f=this.config,g=this.components,
h=g.yAxis&&g.yAxis[0],d=g.xAxis&&g.xAxis||[];a=g.legend.config.legendPos;var c=f.xDepth,u=f.yDepth,e=f.canvasBgDepth,l=f.canvasBaseDepth,N=f.canvasBasePadding,k=g.canvas.config.canvasBorderWidth,L=f.realTimeConfig&&f.realTimeConfig.showRTValue,O=f.borderWidth,m=f.canvasMarginTop,S=f.canvasMarginBottom,W=f.canvasMarginLeft,E=f.canvasMarginRight,g=f.minCanvasHeight,K=f.minCanvasWidth,p=f.minChartWidth,ja=f.minChartHeight,n=f.height,aa=f.width,q=!1,La=!1,t,w=f.origCanvasTopMargin,F=f.origCanvasBottomMargin,
Qa=f.origCanvasLeftMargin,r=f.origCanvasRightMargin,z,D,B;f.canvasWidth-2*O<p&&(z=(f.canvasWidth-p)/2);f.canvasHeight-2*O<ja&&(b=(f.canvasHeight-ja)/2);this._allocateSpace({top:b||O,bottom:b||O,left:z||O,right:z||O});d=d[0];b=.7*f.availableWidth;f.yAxisSpaceAllocation=b=d&&d.placeAxis(b);d&&this._allocateSpace(b);d=.225*f.availableHeight;d=this._manageActionBarSpace&&this._manageActionBarSpace(d)||{};this._allocateSpace(d);this._manageLegendSpace();a=a===Ia?.6*f.availableHeight:.6*f.availableWidth;
u&&(this._allocateSpace({left:u}),f.shift=c+N+l);e&&this._allocateSpace({top:e});f.canvasWidth-2*k<K&&(B=(f.canvasWidth-K)/2);this._allocateSpace({left:B||k,right:B||k});K>aa-W-E&&(La=!0,u=f.canvasWidth-K,c=W+E,W=f.canvasMarginLeft=u*W/c,E=f.canvasMarginRight=u*E/c);W=W>f.canvasLeft?W-f.canvasLeft:0;E=E>aa-f.canvasRight?E+f.canvasRight-aa:0;this._allocateSpace({left:W,right:E});this._allocateSpace({left:l});La&&(c=Qa+r,l=f.canvasWidth,l>K&&(u=l-K,W=u*Qa/c,E=u*r/c),this._allocateSpace({left:W,right:E}));
f.actualCanvasMarginRight=E;f.actualCanvasMarginBottom=t;this._manageChartMenuBar(a);a=.2*f.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*f.availableHeight;f.realtimeEnabled&&(L?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());a=.6*f.availableHeight;f.xAxisSpaceAllocation=t=h&&h.placeAxis(a);h&&this._allocateSpace(t);a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*k<g&&(D=(f.canvasHeight-g)/
2);this._allocateSpace({top:D||k,bottom:D||k});g>n-m-S&&(q=!0,u=f.canvasHeight-g,c=m+S,m=f.canvasMarginTop=u*m/c,S=f.canvasMarginBottom=u*S/c);h=m>f.canvasTop?m-f.canvasTop:0;t=S>n-f.canvasBottom?S+f.canvasBottom-n:0;this._allocateSpace({top:h,bottom:t});q&&(c=w+F,S=f.canvasHeight,S>g&&(u=S-g,h=u*w/c,t=u*F/c),this._allocateSpace({top:h,bottom:t}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=W},_postSpaceManagement:function(){var b=this.config,a=this.components,f=a.xAxis&&a.xAxis[0],g=a.yAxis&&
a.yAxis[0],h=a.legend,d=b.xDepth,c=a.canvas.config,a=c.canvasBorderWidth,u=c.canvasPadding,e,l,N;g&&this._allocateXAxisLabelSpace(g);e=c.canvasPaddingLeft;l=c.canvasPaddingRight;N=c.canvasPaddingTop;c=c.canvasPaddingBottom;g&&g.setAxisDimention({x:b.canvasLeft+e,y:b.canvasBottom+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-e-l});f&&f.setAxisDimention({x:b.canvasLeft-(b.shift||0)-a,y:b.canvasTop+(d||0)+X(N,u),opposite:b.canvasRight+a,axisLength:b.canvasHeight-(d||0)-X(N,u)-X(c,u)});h.postSpaceManager()}},
qa.mscartesian);qa("ssbarcartesian",{standaloneInit:!1,_createAxes:qa.msbarcartesian,_feedAxesRawData:qa.msbarcartesian,_spaceManager:qa.msbarcartesian,_postSpaceManagement:qa.msbarcartesian,_allocateXAxisLabelSpace:qa.msbarcartesian},qa.sscartesian);qa("msbarcartesian3d",{standaloneInit:!1,_createDatasets:qa.mscartesian3d,is3d:!0,_drawCanvas:function(){var b=this.config,a=b.canvasLeft,f=b.canvasTop,g=b.canvasWidth,h=b.canvasHeight,d=this.jsonData.chart,u=this.components,e=u.canvas,l=u.colorManager,
u=u.paper,N=e.graphics,k=N.canvasBorderElement,m=N.canvasElement,S=e.config,W=S.clip={},e=this.graphics.canvasGroup,K=N.canvasBg,p=N.canvas3DBase,ja=this.get("config","animationObj"),n=ja.animType,aa=ja.animObj,La=ja.dummyObj,ja=ja.duration,t=N.canvas3dbaseline,F=S.canvasBgColor,Qa=S.showCanvasBG=Boolean(c(d.showcanvasbg,1)),r=b.canvasBgDepth,z=b.showCanvasBase,D=b.canvasBaseDepth,B=S.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),G=S.use3DLighting=c(d.use3dlighting,1),F=E.chart3D,
J=S.canvasBorderRadius=c(d.plotborderradius,0),I=S.canvasBorderWidth=0,T=.5*I,M=S.canvasBorderColor=ra(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),V=S.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),Q=S.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),l=S.xDepth,d=S.yDepth,F=G?S.canvasBgColor={FCcolor:{color:Fa(Q,85)+Oa+na(Q,55),alpha:V+Oa+V,ratio:L,angle:O(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:S.canvasBgColor=ra(Q,V);Q.split(Oa);
V.split(Oa);l=S.xDepth=5;d=S.yDepth=5;b={x:a-T,y:f-T,width:g+I,height:h+I,r:J,"stroke-width":I,stroke:M,"stroke-linejoin":2<I?"round":"miter"};k?(k.animateWith(La,aa,{x:a-T,y:f-T,width:g+I,height:h+I,r:J},ja,n),k.attr({"stroke-width":I,stroke:M,"stroke-linejoin":2<I?"round":"miter"})):N.canvasBorderElement=u.rect(b,e);W["clip-canvas"]=[X(0,a-l),X(0,f),X(1,g+l),X(1,h+d)];W["clip-canvas-init"]=[X(0,a-l),X(0,f-d),1,X(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:J,"stroke-width":0,stroke:"none",fill:ba(F)};
Qa?(m?(m.show(),m.animateWith(La,aa,{x:a,y:f,width:g,height:h,r:J},ja,n),m.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):N.canvasElement=u.rect(b,e),g=["M",a,",",f,"L",a+1.2*r,",",f-r,",",a+g-r,",",f-r,",",a+g,",",f,"Z"],K?(K.show(),K.animateWith(La,aa,{path:g},ja,n),K.attr({path:g})):K=N.canvasBg=u.path(g,e),K.attr({"stroke-width":0,stroke:"none",fill:ba(F)})):(m&&m.hide(),K&&K.hide());z?(g=a-l-D-1,b=f+d+1,k=l+1,m=d+1,p?(p.show(),p._.cubeside.show(),p._.cubetop.show(),p.animateWith(La,aa,{cubepath:[g,
b,D,h,k,m]},ja,n),p.attr({cubepath:[g,b,D,h,k,m]})):p=N.canvas3DBase=u.cubepath(g,b,D,h,k,m,e),p.attr({stroke:"none","stroke-width":0,fill:[B.replace(w,H),!G]}),t?(t.show(),t.animateWith(La,aa,{path:["M",a,f,"V",h+f]},ja,n)):t=N.canvas3dbaseline=u.path(void 0,e),t.attr({path:["M",a,f,"V",h+f],stroke:C.tintshade(B.replace(w,H),.05).rgba})):(p&&(p.hide(),p._.cubeside.hide(),p._.cubetop.hide()),t&&t.hide())}},qa.msbarcartesian);qa("ssbarcartesian3d",{standaloneInit:!1,_createAxes:qa.msbarcartesian,_feedAxesRawData:qa.msbarcartesian,
_drawCanvas:qa.msbarcartesian3d,_spaceManager:qa.msbarcartesian,_postSpaceManagement:qa.msbarcartesian,_allocateXAxisLabelSpace:qa.msbarcartesian},qa.sscartesian3d);qa("mspolar",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","polarcartesan"]),f=FusionCharts.register("component",["axis","polar"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=a=new a;b.xAxis[0]=b=new f;a.chart=this;b.chart=this;a.init();b.init();a.setAxisConfig({polarAxis:b});
this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,f=this.jsonData,g=f.chart,h,d=(h=this.is3d)?E.chart3D:E.chart2D;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,
axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,
axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:q(g.vdivlinecolor,g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.vdivlinealpha,g.divlinealpha,h?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:c(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:Boolean(c(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.vdivlinedashlen,
g.divlinedashlen,4),divLineDashGap:c(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatevgridcolor,1),alternateGridColor:q(g.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:q(g.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.yaxisname,axisMinValue:g.xaxisminvalue,
axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:c(g.slantlabels,g.slantlabel),labelStep:c(g.labelstep,g.xaxisvaluesstep),showAxisValues:c(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:c(g.showvdivlinevalues,g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,
trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:c(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.xaxislinecolor,g.axislinecolor,"#000000"),showRadarBorder:g.showradarborder,radarBorderColor:g.radarbordercolor,radarBorderThickness:g.radarborderthickness,
radarBorderAlpha:g.radarborderalpha,radarFillColor:g.radarfillcolor,radarFillAlpha:g.radarfillalpha,radarSpikeColor:g.radarspikecolor,radarSpikeThickness:g.radarspikethickness,radarSpikeAlpha:g.radarspikealpha,radarInLineAlpha:g.radarinlinealpha};a={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,
axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,
axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:c(g.rotateyaxisname,1),axisName:g.xaxisname,divLineColor:q(g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:c(g.divlinethickness,1),divLineIsDashed:Boolean(c(g.divlinedashed,
g.divlineisdashed,0)),divLineDashLen:c(g.divlinedashlen,4),divLineDashGap:c(g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatehgridcolor,1),alternateGridColor:q(g.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:q(g.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:c(g.showyaxisvalues,g.showyaxisvalue),
showLimits:c(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:c(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:c(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showyaxisline,
g.showaxislines,g.drawAxisLines,0),axisLineThickness:c(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.yaxislinecolor,g.axislinecolor,"#000000")};h.vtrendlines=f.trendlines;a.trendlines=f.vtrendlines;f=b.yAxis[0];b=b.xAxis[0];f.setCommonConfigArr(a,!0,!1,!1);b.setCommonConfigArr(h,!1,!1,!1);f.configure();b.configure()},_spaceManager:function(){var b,a,f=this.config;a=this.components;var g=f.radarBorderThickness,h=f.legendPosition,
d=a.xAxis&&a.xAxis[0],u=a.yAxis&&a.yAxis[0];b=this.hasLegend;a=a.legend;var c;c=h===Ia?.3*f.canvasHeight:.3*f.canvasWidth;!1!==b&&d&&this._allocateSpace(a._manageLegendPosition(c));a=.7*f.canvasHeight;b=.7*f.canvasWidth;d&&this._allocateSpace(d.placeAxis(b,a));b=.7*f.canvasWidth;u&&u.placeAxis(b);b=0<f.radarRadius?2*f.radarRadius:ea(f.canvasHeight,f.canvasWidth);f.canvasHeight>b&&(a=ca((f.canvasHeight-b)/2),this._allocateSpace({top:a,bottom:a}));f.canvasWidth>b&&(a=ca((f.canvasWidth-b)/2),this._allocateSpace({left:a,
right:a}));a=h===Ia?.6*f.availableHeight:.6*f.availableWidth;this._manageChartMenuBar(a);u.setAxisDimention({x:f.canvasLeft+f.canvasWidth/2-g/2,y:f.canvasTop,axisLength:f.canvasHeight/2});d.setAxisConfig({centerX:f.canvasLeft+f.canvasWidth/2,centerY:f.canvasTop+f.canvasHeight/2,radius:ea(f.canvasWidth/2,f.canvasHeight/2)-g/2})}},qa.mscartesian);qa("mslog",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),f=FusionCharts.register("component",
["axis","log"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=f=new f;b.xAxis[0]=b=new a;f.chart=this;b.chart=this;f.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,f=this.jsonData,g=f.chart,h,d=(h=this.is3d)?E.chart3D:E.chart2D,u=1===c(g.invertyaxis,0)?!0:!1;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,
axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:q(g.vdivlinecolor,g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.vdivlinealpha,g.divlinealpha,h?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:c(g.vdivlinethickness,
g.divlinethickness,1),divLineIsDashed:Boolean(c(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:c(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatevgridcolor,0),alternateGridColor:q(g.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:q(g.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,
labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:c(g.slantlabels,g.slantlabel),labelStep:c(g.labelstep,g.xaxisvaluesstep),showAxisValues:c(g.showxaxisvalues,g.showxaxisvalue),
showLimits:g.showvlimits,showDivLineValues:c(g.showvdivlinevalues,g.showvdivlinevalues),showZeroPlane:g.showvzeroplane,zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showxaxisline,g.showaxislines,g.drawAxisLines,
0),axisLineThickness:c(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:q(g.xaxislinecolor,g.axislinecolor,"#000000")};a={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ca(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:q(g.outcnvbasefontcolor,g.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,
axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,
axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:c(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:q(g.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:q(g.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:c(g.divlinethickness,2),divLineIsDashed:Boolean(c(g.divlinedashed,g.divlineisdashed,0)),divLineDashLen:c(g.divlinedashlen,
4),divLineDashGap:c(g.divlinedashgap,2),showAlternateGridColor:c(g.showalternatehgridcolor,1),alternateGridColor:q(g.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:q(g.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:c(g.showyaxisvalues,g.showyaxisvalue),showLimits:c(g.showyaxislimits,g.showlimits,
this.showLimits),showDivLineValues:c(g.showdivlinevalues,g.showdivlinevalue),showZeroPlane:g.showzeroplane,zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:g.zeroplanethickness,zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:c(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),
axisLineThickness:c(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:c(g.yaxislinealpha,g.axislinealpha,100),base:g.base,logBase:g.logbase,axisLineColor:q(g.yaxislinecolor,g.axislinecolor,"#000000"),showMinorDivLineValues:c(g.showminordivlinevalues,0),numMinorDivLines:g.numminordivlines};"1"===a.base&&(a.base=10,a.logBase=10);a.minorDivlinecolor=q(g.minordivlinecolor,a.divLineColor);a.minorDivLineThickness=q(g.minordivlinethickness,1);a.minorDivLineAlpha=q(g.minordivlinealpha,a.divLineAlpha/
2);h.vtrendlines=f.vtrendlines;a.trendlines=f.trendlines;f=b.yAxis[0];b=b.xAxis[0];f.setCommonConfigArr(a,!0,u,!1);b.setCommonConfigArr(h,!1,!1,!1);f.configure();b.configure()},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,u=-Infinity,c=Infinity,e=Infinity,l=-Infinity,N,k={},L=[],O=function(b){u=X(u,b.max);c=ea(c,b.min);l=X(l,b.xMax||-Infinity);e=ea(e,b.xMin||Infinity)};for(d=0;d<h;d++)g=a[d],(N=g.groupManager)?k[g.type]=N:L.push(g);for(N in k)a=k[N].getDataLimits(),
O(a);h=L.length;for(d=0;d<h;d++)a=L[d].getDataLimits(),O(a);-Infinity===u&&(u=1);Infinity===c&&(c=1);f[0].setDataLimit(u,c);if(-Infinity!==l||Infinity!==e)b[0].config.xaxisrange={max:l,min:e},b[0].setDataLimit(l,e)}},qa.mscartesian);qa("guageBase",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_adjustCanvasPadding:function(){},placeDataLabels:function(){var b=function(b,a){return b.point.value-a.point.value},
a=function(b,a){return b.angle-a.angle},f=["start","start","end","end"],g=[-1,1,1,-1],h=[1,1,-1,-1];return function(d,e,l,N){var k=this.config,L=this.components.dataset[0].conf,O=k.canvasLeft,m=k.canvasTop,S=k.canvasWidth,W=O+.5*k.canvasWidth,E=m+.5*k.canvasHeight,K=this.linkedItems.smartLabel,ja=L.dataLabelOptions,n=ja.style,aa=c(ga(parseFloat(n.lineHeight)),12),La=p(ja.placeLabelsInside,1===e.length?!0:!1),q=ja.skipOverlapLabels,t=ja.manageLabelOverflow,w=ja.connectorPadding,F;F=N&&N.metrics||[W,
E,2*L.pieMinRadius,L.innerSize||0];var Qa=F[1],r=F[0];N=.5*F[2];var z=[[],[],[],[]],L=l.labelsRadius=N+ja.distance,E=W=parseInt(n.fontSize,10),D=E/2,w=[w,w,-w,-w];l=l.labelsMaxInQuadrant||(l.labelsMaxInQuadrant=da(L/E));var ja=ja.isSmartLineSlanted,B=F[3]/2,C,G,J,H,I,T,M,V,Q,P,ba,fa,Z,na,Ea,la;F=Number.POSITIVE_INFINITY;var ra,oa;J=[];G=[];K.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);d||K.setStyle(n);if(1==e.length&&!B&&La)J=e[0],(ba=J.dataLabel)&&ba.show(),J.slicedTranslation=[O,m],ba&&(ba.attr({visibility:$,
align:"middle",transform:["t",r,Qa]}),ba.x=r);else if(La)la=B+(N-B)/2,u(e,function(b){ra=b.config;oa=b.graphics;(ba=oa.label)&&ba.show();ba&&(P=ra.angle,Q=Qa+la*Ja(P),I=r+la*R(P),ba.x=I,ba._x=I,ba.y=Q,b.sliced&&(Ea=b.slicedTranslation,Z=Ea[0]-O,na=Ea[1]-m,I+=Z,Q+=na),ba.attr({visibility:$,align:"middle",transform:["t",I,Q]}))});else{u(e,function(b){ra=b.config;oa=b.graphics;(ba=oa.label)&&ba.show();ba&&(P=ra.angle%U,0>P&&(P=U+P),fa=0<=P&&P<Ha?1:P<ua?2:P<Na?3:0,z[fa].push({point:b,angle:P}))});for(e=
d=4;e--;){if(q&&(k=z[e].length-l,0<k))for(z[e].sort(b),n=z[e].splice(0,k),k=0,G=n.length;k<G;k+=1)J=n[k].point,J.dataLabel.attr({visibility:"hidden"}),J.connector&&J.connector.attr({visibility:"hidden"});z[e].sort(a)}e=X(z[0].length,z[1].length,z[2].length,z[3].length);k=X(ea(e,l)*E,L+E);G=z[0].concat(z[1]);J=z[2].concat(z[3]);for(e=G.length-1;0<=e;e--)n=G[e].point.config,delete n.clearance,delete n.clearanceShift,B=ca(k*Ja(n.angle)),Math.abs(F-B)<2*aa&&(n.clearance=0,G[e+1].point.clearanceShift=
aa/2),F=B;F=Number.POSITIVE_INFINITY;e=0;for(G=J.length;e<G;e++)n=J[e].point.config,delete n.clearance,delete n.clearanceShift,B=ca(k*Ja(n.angle)),Math.abs(F-B)<2*aa&&(n.clearance=0,J[e-1].point.clearanceShift=aa/2),F=B;z[1].reverse();for(z[3].reverse();d--;){n=z[d];G=n.length;q||(E=G>l?k/G:W,D=E/2);aa=G*E;F=k;for(e=0;e<G;e+=1,aa-=E)B=ca(k*Ja(n[e].angle)),F<B?B=F:B<aa&&(B=aa),F=(n[e].oriY=B)-E;La=f[d];G=k-(G-1)*E;F=0;for(e=n.length-1;0<=e;--e,G+=E)if(J=n[e].point,P=n[e].angle,ra=J.config,oa=J.graphics,
J=ra.sliced,ba=oa.label,B=ca(k*Ja(P)),B<F?B=F:B>G&&(B=G),F=B+E,aa=void 0===ra.clearance?2*ga(c(parseFloat(ra.style.border),12),12):2*ga(c(parseFloat(ra.style.border),ra.clearance)),M=(B+n[e].oriY)/2,B=r+h[d]*L*R(ia.asin(M/k)),M*=g[d],M+=Qa,V=Qa+N*Ja(P),H=r+N*R(P),(2>d&&B<H||1<d&&B>H)&&(B=H),I=B+w[d],Q=M-D-2,T=I+w[d],ba.x=T,ba._x=T,t&&(C=1<d?T-this.canvasLeft:this.canvasLeft+S-T,K.setStyle(ra.style),aa=c(ga(parseFloat(ra.style.lineHeight)),12)+aa,aa=K.getSmartText(ra.labelText,C,aa),void 0===ra.clearance&&
aa.height>E&&(M+=E),ba.attr({text:aa.text}).tooltip(aa.tooltext)),ba.y=Q,J&&(Z=ra.transX,na=ra.transY,I+=Z,B+=Z,H+=Z,V+=na,T+=Z),ba.attr({visibility:$,"text-anchor":La,vAlign:"middle",x:T,y:M}),aa=oa.connector)oa.connectorPath=J=["M",H,V,"L",ja?B:H,M,I,M],aa.attr({path:J,visibility:$})}}}}()},qa.sscartesian);qa("scatterBase",{standaloneInit:!1,_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,f=q(b.chart.xaxislabelmode,"categories"),b=b.categories&&b.categories[0].category;a[0].setAxisData({xAxisLabelMode:"categories"});
"auto"!==f&&"mixed"!==f&&b&&0<b.length?a[0].setCategory(b):"auto"!==f?(a[0].setCategory(b,!1),a[0].setAxisData({xAxisLabelMode:"mixed"})):a[0].setAxisData({xAxisLabelMode:"auto"})},_setAxisLimits:function(){var b=this.components,a=this.jsonData,f=b.xAxis,g=q(a.chart.xaxislabelmode,"categories"),a=a.categories&&a.categories[0],a=(a&&a.category||[]).slice(),h,d,u,c,e;h=Infinity;u=-Infinity;var l,N;qa("mscartesian")._setAxisLimits.call(this);d=f[0].getLimit();c=d.tickInterval;for(e=0;e<a.length;e+=1)if(l=
a[e].x)l<h&&(h=l),l>u&&(u=l);if(u>d.max||h<d.min)u=X(u,d.max),h=ea(h,d.min),f[0].setDataLimit(u,h);if("mixed"===g||"auto"===g||!(a&&0<a.length)){u=[];h=b.numberFormatter.xAxis;if("mixed"===g)for(e=0,g=a.length;e<g;e+=1)u[a[e].x||a[e].y||e]=!0;else a=[];l=f[0].getAxisData();N=e=d.min;for(g=d.max;e<=g;)u[e]||a.push({label:""+h.call(b.numberFormatter,e),x:e,showverticalline:0===e?l.showZeroPlane:1,isNumeric:!0,linecolor:0===e?l.zeroPlaneColor:l.divLineColor,linealpha:0===e?l.zeroPlaneAlpha:l.divLineAlpha,
linethickness:0===e?l.zeroPlaneThickness:l.divLineThickness,linedashed:l.divLineIsDashed,linedashLen:l.divLineDashLen,linedashgap:l.divLineDashGap}),0>e&&0<e+c?(e=0,N+=c):e<N?e=N:(e+=c,N+=c);f[0].setCategory(a,!1)}},_createQuadrant:function(){var b;b=this.components;var a=FusionCharts.register("component",["quadrant","cartesian"]);b.quadrant=b=new a;b.chart=this;b.init()},_drawQuadrant:function(){this.components.quadrant.draw()},_getDiff:function(b,a){return{diff:b,startIndex:a}}},qa.mscartesian,
{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,setadaptivexmin:1})}]);
FusionCharts.register("module",["private","modules.renderer.js-renderer",function(){var k=this.window,m=this.hcLib,C=m.Raphael,r=m.parseConfiguration,e=/msie/i.test(k.navigator.userAgent)&&!k.opera,a=k.Image,M="VML"===C.type,J=m.BLANKSTRING,I=m.getPosition,n=m.COMMASPACE,z=m.ZEROSTRING,G=m.BGRATIOSTRING,q=m.hasSVG,t="rgba(192,192,192,"+(e?.002:1E-6)+")",e=m.TOUCH_THRESHOLD_PIXELS,c=m.CLICK_THRESHOLD_PIXELS,p=m.extend2,d=m.pluck,B=m.parsexAxisStyles,Q=m.toPrecision,l=m.pluckNumber,w=m.setLineHeight,
H=m.pluckFontSize,F=m.toRaphaelColor,T=m.graphics.convertColor,D=m.parseUnsafeString,V=m.getDefinedColor,P=m.graphics.getDarkColor,fa=m.ONESTRING,$=m.getFirstAlpha,ba=m.HUNDREDSTRING,ia=m.getDashStyle,ea=m.plotEventHandler,X=m.hasTouch?e:c,ca=m.getCrispValues,ga=m.getValidValue,da=m.getFirstValue,Z=m.parseTooltext,Ja=m.regex.dropHypeash,R=m.HASHSTRING,ua=function(b,a){var g=!1;b[1]===b[4]&&(b[1]=b[4]=Ca(b[1])+a%2/2,g=!0);b[2]===b[5]&&(b[2]=b[5]=Ca(b[2])+a%2/2,g=!0);return{path:b,isCrisped:g}},Ha=
8===k.document.documentMode?"visible":"",U=k.Math,Na=U.sqrt,la=U.sin,oa=U.cos,Ca=U.round,Fa=U.min,na=U.max,ra=U.abs,Da=U.ceil,ha=U.floor,Ia=U.pow,wa=U.log,Ta=U.PI,qa=2*Ta,Oa=m.getFirstColor,Pa=m.graphics.getLightColor,ab=m.POSITION_TOP;C.ca.ishot=function(b){if(this.removed)return!1;var a=this.node;b=b||"";a.ishot=b;switch(this.type){case "group":for(a=this.bottom;a;)a.attr("ishot",b),a=a.next;break;case "text":if(C.svg)for(a=a.getElementsByTagName("tspan")[0];a;)a.ishot=b,a=a.nextSibling}return!1};
C.addSymbol({printIcon:function(b,a,g){var d=.75*g,c=.5*g,e=.33*g,l=Ca(b-g)+.5,k=Ca(a-g)+.5,m=Ca(b+g)+.5;g=Ca(a+g)+.5;var p=Ca(b-d)+.5,n=Ca(a-d)+.5,d=Ca(b+d)+.5,K=Ca(a+c)+.5,E=Ca(b+c)+.5,aa=Ca(a+e)+.5;b=Ca(b-c)+.5;e=Ca(a+e+e)+.5;return["M",p,k,"L",d,k,d,n,p,n,"Z","M",l,n,"L",l,K,p,K,p,a,d,a,d,K,m,K,m,n,"Z","M",p,a,"L",p,g,d,g,d,a,"Z","M",E,aa,"L",b,aa,"M",E,e,"L",b,e]},exportIcon:function(b,a,g){var d=.66*g,c=.5*d,e=Ca(b-g)+.5,l=Ca(a-g)+.5,k=Ca(b+g)+.5;g=Ca(a+g)-.5;var m=Ca(b-c)+.5,p=a<g-3?g-3:Ca(a)+
.5,c=Ca(b+c)-.5,n=Ca(b+d)-.5,d=Ca(b-d)+.5;return["M",e,p,"L",e,g,k,g,k,p,k,g,e,g,"Z","M",b,g-1,"L",d,a,m,a,m,l,c,l,c,a,n,a,"Z"]}});FusionCharts.register("component",["axis","cartesian",{pIndex:2,customConfigFn:"_feedAxesRawData",init:function(b,a,g,d){var c;this.graphics={};this.components={};c=this.config;c.isVertical=a;c.isReverse=g;c.isOpposit=d;c.isActive=!0;c.drawLabels=!0;c.drawOnlyCategoryLine=!1;c.drawLabelsOpposit=!1;c.drawLabelOnBothSide=!1;c.drawPlotlines=!0;c.drawAxisLine=!0;c.drawPlotBands=
!0;c.drawAxisName=!0;c.drawAxisNameOpposit=!1;c.axisNameAlignCanvas=!1;c.drawAxisNameFromBottom=!1;c.drawTrendLines=!0;c.drawTrendLabels=!0;c.drawTick=!0;c.drawTickMinor=!0;c.animateAxis=!0;c.drawAxisLineWRTCanvas=!0;c.isRelativeAxisInverse=!1;c.axisIndex=0;c.uniqueClassName=0;c.viewPortRatio={};c.axisData={};c.canvas={};c.rawAttr=b;c.axisRange={};c.isConfigured=!0;c._setRangeAgain=!1},setCommonConfigArr:function(b,a,g,d){var c=this.config;c.rawAttr=b;c.isVertical=a;c.isReverse=g;c.isOpposit=d},configure:function(){var b=
this.config,a=b.axisData,g=b.rawAttr,c=this.chart,e=c.components,k=this.chart.is3D,c=c.jsonData.chart,O=e.numberFormatter;b.trendLines=g.trendlines;b.vTrendLines=g.vtrendlines;a.axisName=D(g.axisName);a.axisValuePadding=a.axisNamePadding||l(g.axisValuePadding,4);a.axisNamePadding=a.axisNamePadding||l(g.axisNamePadding,5);a.maxLabelWidthPercent=l(g.maxLabelWidthPercent);a.maxLabelWidthPercent=ra(a.maxLabelWidthPercent);a.numDivLines=l(g.numDivLines,4);0>a.numDivLines&&(a.numDivLines=0);a.categoryNumDivLines=
l(g.numDivLines,0);0>a.axisValuePadding&&(a.axisValuePadding=0);a.categoryDivLinesFromZero=1;a.axisMinValue=O.getCleanValue(g.axisMinValue);a.axisMaxValue=O.getCleanValue(g.axisMaxValue);a.setAdaptiveMin=l(g.setAdaptiveMin,0);a.adjustDiv=l(g.adjustDiv,1);a.axisNameWidth=l(g.axisNameWidth);a.rotateAxisName=l(g.rotateAxisName,0);a.useEllipsesWhenOverflow=l(g.useEllipsesWhenOverflow,1);a.divLineColor=g.divLineColor;a.divLineAlpha=g.divLineAlpha;a.divLineThickness=g.divLineThickness;a.divLineIsDashed=
g.divLineIsDashed;a.divLineDashLen=g.divLineDashLen;a.divLineDashGap=g.divLineDashGap;a.showAlternateGridColor=g.showAlternateGridColor;a.alternateGridColor=g.alternateGridColor;a.alternateGridAlpha=g.alternateGridAlpha;a.showZeroPlane=l(g.showZeroPlane,1);a.zeroPlaneColor=d(g.zeroPlaneColor,g.divLineColor);a.zeroPlaneThickness=d(g.zeroPlaneThickness,g.divLineThickness);a.zeroPlaneAlpha=l(g.zeroPlaneAlpha,m.COLOR_TRANSPARENT);a.showZeroPlaneValue=l(g.showZeroPlaneValue,1);a.zeroPlaneOnTop=l(g.showZeroPlaneOnTop,
1);a.showAxisLine=g.showAxisLine;a.axisLineThickness=g.axisLineThickness;a.axisLineAlpha=g.axisLineAlpha;a.axisLineColor=T(g.axisLineColor,g.axisLineAlpha);a.tickAlpha=l(g.tickAlpha,a.axisLineAlpha);a.tickColor=T(d(g.tickColor,g.axisLineColor),a.tickAlpha);a.tickWidth=l(g.tickWidth,a.axisLineThickness);a.tickLength=g.tickLength;a.showVLines=l(c.showvlines,1);a.showVLinesOnTop=l(c.showvlinesontop,0);a.showVLineLabels=l(c.showvlinelabels,this.showVLineLabels,1);a.showVLineLabelBorder=l(c.showvlinelabelborder,
1);a.rotateVLineLabels=l(c.rotatevlinelabels,0);a.vLineColor=d(c.vlinecolor,"333333");a.vLineLabelColor=d(c.vlinelabelcolor);a.vLineThickness=d(c.vlinethickness,1);a.vLineAlpha=l(c.vlinealpha,80);a.vLineLabelBgColor=d(c.vlinelabelbgcolor,"ffffff");a.vLineLabelBgAlpha=l(c.vlinelabelbgalpha,k?50:100);a.staggerLines=Math.max(l(c.staggerlines,2),2);1>a.staggerlines&&(a.staggerlines=1);a.trendlineToolText=d(g.trendlineToolText);a.trendlineColor=d(g.trendlineColor,"333333");a.trendlineThickness=d(g.trendlineThickness,
1);a.trendlineAlpha=l(g.trendlineAlpha);a.showTrendlinesOnTop=l(g.showTrendlinesOnTop,0);a.trendlineValuesOnOpp=d(g.trendlineValuesOnOpp,g.trendlineValuesOnOpp,0);a.trendlinesAreDashed=l(g.trendlinesAreDashed,0);a.trendlinesDashLen=l(g.trendlinesDashLen,5);a.trendlinesDashGap=l(g.trendlinesDashGap,2);a.isTrendZone=g.isTrendZone;a.showTrendlines=l(g.showTrendlines,1);a.showTrendlineLabels=l(g.showTrendlineLabels,1);a.labelDisplay=d(g.labelDisplay,"auto").toLowerCase();a.showLabels=l(g.showLabels,1);
a.maxLabelHeight=l(g.maxLabelHeight);a.rotateLabels=l(g.rotateLabels,0);a.slantLabel=l(g.slantLabel,0);a.labelStep=l(g.labelStep,0);a.labelStep=Ca(a.labelStep);0>a.labelStep&&(a.labelStep=0);a._oriLabelStep=a.labelStep;a.showAxisValues=l(g.showAxisValues,1);a.showLimits=l(g.showLimits,a.showAxisValues);a.showUpperLimit=g.showLimits;a.showDivLineValues=l(g.showDivLineValues,a.showAxisValues);a.showTooltip=l(c.showtooltip,1);a.showCanvasBorder=e.canvas.config.showCanvasBorder?1:0;a.axisBreak=g.axisBreaks;
a.isBreak=!!a.axisBreak;a.isBreak&&this._processAxisBreak();e=(e=da(g.axisNameBorderColor,""))?T(e,l(g.axisNameBorderAlpha,g.axisNameAlpha,100)):"";a.name=a.name||{};a.name.style={fontFamily:d(g.axisNameFont,g.outCanfontFamily),fontSize:d(g.axisNameFontSize,parseInt(g.outCanfontSize,10))+"px",color:T(d(g.axisNameFontColor,g.outCancolor),l(g.axisNameFontAlpha,g.axisNameAlpha,100)),fontWeight:l(g.axisNameFontBold,1)?"bold":"normal",fontStyle:l(g.axisNameFontItalic)?"italic":"normal",border:e||g.axisNameBgColor?
l(g.axisNameBorderThickness,1)+"px solid":void 0,borderColor:e,borderThickness:l(g.axisNameBorderThickness,1),borderPadding:l(g.axisNameBorderPadding,2),borderRadius:l(g.axisNameBorderRadius,0),backgroundColor:g.axisNameBgColor?T(g.axisNameBgColor,l(g.axisNameBgAlpha,g.axisNameAlpha,100)):"",borderDash:l(g.axisNameBorderDashed,0)?ia(l(g.axisNameBorderDashLen,4),l(g.axisNameBorderDashGap,2),l(g.axisNameBorderThickness,1)):"none"};a.name.style.lineHeight=w(a.name.style);e=(e=da(c.trendvaluebordercolor,
""))?T(e,l(c.trendvalueborderalpha,c.trendvaluealpha,100)):"";a.trend=a.trend||{};a.trend.trendStyle={fontFamily:d(c.trendvaluefont,g.outCanfontFamily),color:d(c.trendvaluefontcolor,g.trendlineColor,g.outCancolor,"333333"),fontSize:H(c.trendvaluefontsize,parseInt(g.outCanfontSize,10))+"px",fontWeight:l(c.trendvaluefontbold)?"bold":"normal",fontStyle:l(c.trendvaluefontitalic)?"italic":"normal",border:e||c.trendvaluebgcolor?l(c.trendvalueborderthickness,1)+"px solid":"",borderColor:e,borderThickness:l(c.trendvalueborderthickness,
1),borderPadding:l(c.trendvalueborderpadding,2),borderRadius:l(c.trendvalueborderradius,0),backgroundColor:c.trendvaluebgcolor?T(c.trendvaluebgcolor,l(c.trendvaluebgalpha,c.trendvaluealpha,100)):"",borderDash:l(c.trendvalueborderdashed,0)?ia(l(c.trendvalueborderdashlen,4),l(c.trendvalueborderdashgap,2),l(c.trendvalueborderthickness,1)):"none"};a.trend.trendStyle.lineHeight=w(a.trend.trendStyle);a.labels=a.labels||{};a.lines=a.lines||{};a.band=a.band||{};e=(e=da(c.labelbordercolor,""))?T(e,l(c.labelborderalpha,
c.labelalpha,100)):"";a.labels.style={fontFamily:d(g.labelFont,g.outCanfontFamily),fontSize:l(g.labelFontSize,parseInt(g.outCanfontSize,10))+"px",fontWeight:l(g.labelFontBold)?"bold":"normal",fontStyle:l(g.labelFontItalic)?"italic":"normal",color:T(d(g.labelFontColor,g.outCancolor),l(g.labelFontAlpha,100)),labelLink:c.labellink,border:e||c.labelbgcolor?l(c.labelborderthickness,1)+"px solid":"",borderColor:e,borderThickness:l(c.labelborderthickness,1),borderPadding:l(c.labelborderpadding,2),borderRadius:l(c.labelborderradius,
0),backgroundColor:c.labelbgcolor?T(c.labelbgcolor,l(c.labelbgalpha,c.labelalpha,100)):"",borderDash:l(c.labelborderdashed,0)?ia(l(c.labelborderdashlen,4),l(c.labelborderdashgap,2),l(c.labelborderthickness,1)):"none"};a.labels.style.lineHeight=w(a.labels.style);a.numberFormatterFn=d(g.numberFormatterFn);a.axisEndLabelDisplaySpace={left:0,right:0,top:0,bottom:0};b.isConfigured=!0},_processAxisBreak:function(){var b=this.config.axisData,a,g,d,c;b.breakPoints=[];a=b.axisBreak.split("|");d=0;c=a.length;
for(g=0;d<c;d+=1)a[d]=a[d].split(","),isNaN(a[d][0])||isNaN(a[d][1])||(b.breakPoints[g]={start:l(a[d][0]),end:l(a[d][1]),length:l(a[d][2],0)},g+=1);b.breakPoints.sort(function(b,a){return b.start-a.start});b.hasBreakPoints=!0;this._validateBreakPoints()},_validateBreakPoints:function(){var b=this.config.axisData,a=b.breakPoints,g=0,d,c=a.length;for(d=0;d<c;d+=1)g+=a[d].end-a[d].start;b.totalBreakAmount=g},_getRelativeBreakValue:function(b){var a=this.config.axisData.breakPoints,g,d=a.length,c=0;for(g=
0;g<d;g+=1){if(b>=a[g].start&&b<=a[g].end)return a[g].start-c;if(b<a[g].start)break;c+=a[g].end-a[g].start}return b-c},_getRealBreakValue:function(b){var a=this.config.axisData.breakPoints,g,d=a.length;for(g=0;g<d;g+=1)if(b>=a[g].start)b+=a[g].end-a[g].start;else if(b<a[g].start)break;return b},getBreakPoints:function(){var b=this.config.axisData;return b.hasBreakPoints?b.breakPoints:!1},setCanvas:function(b){this.config.canvas=b},getAxisBase:function(){var b=this.config,a=b.axisRange.min,g=b.axisRange.max;
return 0>a&&0<g?0:b.isReverse?g:0>=g?g:a},getValue:function(b){var a=this.config,g=a.axisRange,d=a.canvas,c=a.axisData.axisDimention||{},e=this.chart.config,l=e.viewPortConfig,k=c.axisLength||d.canvasWidth||e.canvasWidth,c=c.axisLength||d.canvasHeight||e.canvasHeight,d=g.max,g=g.min,e=d-g;a.isVertical?(k=c*l.scaleY/e,b=a.isReverse?g+(l.y*l.scaleY+Number(b))/k:d-(l.y*l.scaleY+Number(b))/k):(k=k*l.scaleX/e,b=a.isReverse?d-(l.x*l.scaleX+Number(b))/k:g+(l.x*l.scaleX+Number(b))/k);return b},_getLabelElement:function(b){var a=
this.components;return this.config.axisData.hasCategory?a&&a.categoryLabel&&a.categoryLabel[b]&&a.categoryLabel[b].graphics&&a.categoryLabel[b].graphics.label:this.graphics&&this.graphics.labels&&this.graphics.labels[b]},_getVisibleConfig:function(){var b=this.config,a=b.axisRange,g=b.canvas,d=b.axisData.axisDimention||{},c=this.chart.config,e=c.viewPortConfig,l=d.axisLength||g.canvasWidth||c.canvasWidth,g=d.axisLength||g.canvasHeight||c.canvasHeight,d=a.max,a=a.min,c=d-a;b.isVertical?(c/=g,b=e.scaleY,
l=d-c*e.y,g=d-c*(e.y+g/b)):(c/=l,b=e.scaleX,g=a+c*e.x,l=a+c*(e.x+l/b));return{maxValue:l,minValue:g}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,g=b.axisData,d=b.isVertical,c=b.axisRange,e=m.getAxisLimits,k=g.numDivLines,S=g.setAdaptiveMin,W=g.adjustDiv,W=b.rawAttr,p,n,K;g.hasCategory||(d=d?a.scaleY:a.scaleX,a=l(W.axisrange?W.axisrange.max:c.max),K=l(W.axisrange?W.axisrange.min:c.min),b=c.max,n=c.min,S=p=!S,W=l(1===d?g.adjustDiv:0),g=e(a,K,b,n,p,S,k*
d,W),c.min=Number(Q(g.Min,10)),c.max=Number(Q(g.Max,10)),c.tickInterval=Number(Q(g.divGap,10)),0===c.tickInterval&&(c.tickInterval=1))},_getAttribAsObj:function(b){var a,g={};for(a in b)b.hasOwnProperty(a)&&"string"===typeof b[a]&&b[a]&&(g[a]=b[a]);return g},_extractAttribToEnd:function(b,a){var g;b._attrib=p({},a);b._attrib=p(b._attrib,this._getAttribAsObj(b));for(g in b)b.hasOwnProperty(g)&&b[g]&&"object"===typeof b[g]&&"_attrib"!==g&&this._extractAttribToEnd(b[g],b._attrib)},setCategory:function(b,
a){var g;function d(b){var a={labelfont:["fontFamily"],labelfontcolor:["fontColor"],labelfontsize:["fontSize",function(b){return b?l(b)+"px":void 0}],labelfontbold:["fontWeight",function(b){return b?"bold":"normal"}],labelfontitalic:["fontStyle",function(b){return b?"italic":"normal"}],labelfontalpha:["fontAlpha"]},f=function(b){return b},g=!1,c,u,k,N={},O,s;for(c in e)"category"===c||c in b||(u=e[c],b[c]=u);for(c in a){k=a[c];O=k[0];s=k[1]||f;u=b[c];k=b[O.toLowerCase()];if(void 0!==u||void 0!==k)if(void 0!==
(u=s(u))||void 0!==(u=s(k)))N[O]=u,g=!0;g&&(b.style=N)}}var c=this.chart.jsonData.categories,e=c&&c[0]||{},c=this.config;g=c.axisData;var k=c.axisRange,m=b&&b.length,W=c.startPad||0,p=c.endPad||0,n=0,K=void 0!==a?a:!0,E,aa,q,s,v,A;g.hasCategory=1;g.categories={};s=g.categories.category=[];v=g.categories.vline=[];aa=g.categories.catIdMap={};c.isCategoryAnimate=!1;c.isCategoryVlineAnimate=!1;for(q=0;q<m;q+=1)(E=b[q])||(E={}),A=Number(E.x),"true"!==E.vline&&!0!==E.vline&&1!==E.vline&&"1"!==E.vline?(E.id&&
(aa[E.id.toLowerCase()]={catObj:E,index:q}),d(E),A===A&&(E.x=A,g.irregularCatAxis=!0),s.push(E),s[n].label=D(s[n].label),n+=1):(E.startIndex=s.length-1,v.push(E));c.oriCatLen=n-1;1===n&&(0===W&&(W=.5),0===p&&(p=.5));K&&(g=n-1+p,k.min=Number(Q(-W,10)),k.max=Number(Q(g,10)),k.tickInterval=Number(Q(1,10)));c.isConfigured=!0},updateCategory:function(b,a){var g=this.config,d,c;d=g.axisData.categories.category;if(d[b])for(c in a)a.hasOwnProperty(c)&&(d[b][c]=a[c]);g.isConfigured=!0},categoryInsert:function(b,
a,g){var d=this.config,c=d.axisData,e=d.axisRange,l=a.length,k=d.endPad||0,m,p,n,K;m=c.categories.category;p=c.categories.catIdMap;c=c.categories.vline;for(n=0;n<l;n+=1)K=a[n],"true"!==K.vline&&!0!==K.vline&&1!==K.vline&&"1"!==K.vline?(K.id&&(p[K.id]={catObj:K,i:b}),m.splice(b,0,K),b+=1):(K.startIndex=b-2,c.push(K));g&&(e.max=Number(Q(m.length-1+k,10)));d.isConfigured=!0},categoryDelete:function(b,a,g){var d=this.config,c=d.axisData,e=d.axisRange,l,k,m;d.isCategoryAnimate=!0;l=d.animateCategories=
c.categories.category.slice();k=0;for(m=l.length;k<m;k++)l[k].animate=!0,l[k].leftShift=a,l[k]["delete"]=k<a;d.isCategoryVlineAnimate=!0;l=d.animateCategoriesVline=c.categories.vline.slice();k=0;for(m=l.length;k<m;k++)l[k].animate=!0,l[k].leftShift=a;c.categories.category.splice(b,a);this._shiftVline(b,a,"left");g&&(e.max-=a);d.isConfigured=!0},categoryUpdate:function(b,a){var g=this.config,d;d=g.axisData.categories.category;d[b]&&(d[b]=a);g.isConfigured=!0},_getRotateTextTransformString:function(b,
a,g){var d,c="";b=b.matrix.toMatrixString();b.replace(/\(([^\)]*)/,function(b,e){d=e.split(",");d[4]=Number(d[4])+a;d[5]=Number(d[5])+g;c=d.join();return b});c="m"+c;""===b&&(c="t"+a+","+g);return c},_shiftVline:function(b,a,g){var d=this.config.axisData,c=d.categories.vline,d=d.categories.category.length,e=c.length,l,k;for(l=0;l<e;l+=1)if(k=c[l],k.startIndex>=b&&(k.startIndex="right"===g?k.startIndex+a:k.startIndex-a,0>k.startIndex-a||k.startIndex-a>=d))c.splice(l,1),--e,--l},shiftLabels:function(b,
a){var g=this.config.axisData.labels;g.shiftX=b;g.shiftY=a},setAxisPadding:function(b,a){var g=this.config,d=g.axisData;b=g.startPad=l(b,0);a=g.endPad=l(a,0);0===g.oriCatLen&&(0===b&&(b=.5),0===a&&(a=.5));d.hasCategory?0<=g.oriCatLen&&this.setAxisRange({max:g.oriCatLen+a,min:-b}):g.originalMax&&g.originalMin&&this.setDataLimit(g.originalMax,g.originalMin)},setAxisConfig:function(b){var a=this.config,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},getAxisConfig:function(b){return this.config[b]},setAxisData:function(b){var a=
this.config.axisData,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},setLabelConfig:function(b){var a=this.config.axisData.labels,g;for(g in b)b.hasOwnProperty(g)&&(a[g]=b[g])},setAxisRange:function(b){var a=this.config.axisRange,g;for(g in b)b.hasOwnProperty(g)&&void 0!==a[g]&&(a[g]=b[g])},getAxisEndLabelDisplaySpace:function(){return this.config.axisData.axisEndLabelDisplaySpace||{}},getAxisData:function(b){var a=this.config.axisData;return b?a[b]:a},getDivLineCount:function(){var b=this.config.axisRange;
return ra((b.max-b.min)/b.tickInterval)-1},getLabel:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.category[b])?b:{}},getCategoryFromId:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.catIdMap[b])?b:{}},getCategoryPositionById:function(b){var a=this.config.axisData;return(b=a.categories&&a.categories.catIdMap[b])?b.catObj.x||b.index:!1},getClosestDiv:function(b,a){var g=this.config,d=g.axisData,g=g.axisRange,c=g.tickInterval,e=g.min,g=b;d.hasCategory&&
(e=0,c=1);a=a||c/2;e=(b-e)%c;c-=e;d.showZeroPlaneValue&&0>b-e&&0<b&&(e=b);d.showZeroPlaneValue&&0<b+c&&0>b&&(c=-b);e<=c?e<=a&&(g=b-e):c<=a&&(g=b+c);return g},setAxisDimention:function(b){var a=this.config.axisData,a=a.axisDimention||(a.axisDimention={});a.x=l(b.x,a.x);a.y=l(b.y,a.y);a.opposite=l(b.opposite,a.opposite);a.axisLength=l(b.axisLength,a.axisLength)},setDataLimit:function(b,a){var g=this.config,d=g.axisData,c=g.axisRange,e=m.getAxisLimits,k=g.isPercent?100:d.axisMaxValue,S=g.isPercent?0:
d.axisMinValue,W=d.numDivLines,p=d.setAdaptiveMin,n=d.adjustDiv,K=g.startPad||0,E=g.endPad||0;g.originalMax=b;g.originalMin=a;b=g.isPercent?100:b+E;a=g.isPercent?0:a-K;g=p=!p;d.hasBreakPoints&&(b-=d.totalBreakAmount);d=e(l(b,k),l(a,S),k,S,p,g,W,n);c.min=Number(Q(d.Min,10));c.max=Number(Q(d.Max,10));c.tickInterval=Number(Q(d.divGap,10));0===c.tickInterval&&(c.tickInterval=1)},getPixel:function(b){var a=this.config,g=a.canvas,d=this.chart.config,c=a.axisData,e=c.axisDimention||{},l=d.viewPortConfig,
k=e.axisLength||g.canvasHeight||d.canvasHeight,m=e.y||g.canvasTop||d.canvasTop,p=e.x||g.canvasLeft||d.canvasLeft,n=e.y+e.axisLength||g.canvasBottom||d.canvasBottom,g=e.x+e.axisLength||g.canvasRight||d.canvasRight,d=a.axisRange.min;c.hasBreakPoints&&(b=this._getRelativeBreakValue(b));l||(l={x:p,y:m,scaleX:1,scaleY:1});a.isVertical?(c=-this.getPVR(),b=a.isReverse?n-((b-d)*c+(k*l.scaleY-l.y*l.scaleY)):m+((b-d)*c+(k*l.scaleY-l.y*l.scaleY))):(c=this.getPVR(),b=a.isReverse?g-((b-d)*c-l.x*l.scaleX):p+((b-
d)*c-l.x*l.scaleX));return b},_getCustomPixel:function(b,a){var g=this.config,d=g.canvas,c=this.chart.config,e=g.axisRange,l=c.viewPortConfig,k=a||d.canvasHeight||c.canvasHeight,m=a||d.canvasWidth||c.canvasWidth,p=d.canvasTop||c.canvasTop,n=d.canvasLeft||c.canvasLeft,K=K||c.canvasBottom,d=d.canvasRight||c.canvasRight,c=e.min,e=e.max-c;g.axisData.hasBreakPoints&&(b=this._getRelativeBreakValue(b));l||(l={x:n,y:p,scaleX:1,scaleY:1});g.isVertical?(m=-(k*l.scaleY/e),g=g.isReverse?K-((b-c)*m+(k*l.scaleY-
l.y*l.scaleY)):p+((b-c)*m+(k*l.scaleY-l.y*l.scaleY))):(m=m*l.scaleX/e,g=g.isReverse?d-((b-c)*m-l.x*l.scaleX):n+((b-c)*m-l.x*l.scaleX));return g},getLimit:function(){var b=this.config.axisRange;return{min:b.min,max:b.max,tickInterval:b.tickInterval}},getAxisPosition:function(b){return this.getPixel(b)},getPVR:function(){var b=this.config,a=b.canvas,g=b.isVertical,d=b.axisRange,c=b.axisData.axisDimention||{},e=this.chart.config,b=e.viewPortConfig,l=c.axisLength||a.canvasHeight||e.canvasHeight,a=c.axisLength||
a.canvasWidth||e.canvasWidth,d=d.max-d.min,d=0<d?d:1;return g?l*b.scaleY/d:a*b.scaleX/d},_isZoomed:function(){var b=this.chart.config;if(this.config.isVertical){if(b.viewPortConfig&&1===b.viewPortConfig.scaleY)return!1}else if(b.viewPortConfig&&1===b.viewPortConfig.scaleX)return!1;return!0},draw:function(){var b=this.config,a=b.canvas,g=this.chart,d=g.config,c=b.isVertical,e=g.graphics,l=g.components.paper,k=d.viewPortConfig,m=b.viewPortRatio||{},p=b.axisData,n=a.canvasLeft||d.canvasLeft,K=a.canvasTop||
d.canvasTop,E=a.canvasWidth||d.canvasWidth,aa=a.canvasHeight||d.canvasHeight,a=p.axisContainer,d=p.axisLabelContainerTop,q=p.axisPlotLineContainer,s=p.axisPlotLineContainerTop,v=p.vlineLabelContainer,A=p.axisBandContainer,t=p.axisNameContainer,h=p.axisTrendContainerTop,w=p.axisTrendContainerBottom,F=p.axisTrendLabelContainer,r=p.axisAxisLineContainer,z=p.axisAxisLineContainerBottom,ta=p.divLineThickness||0,D=e.axisBottomGroup,B=e.axisTopGroup,b=b.animateAxis,G,C,J,xa,H,I,T,M,V,Q,P,R,ma;V=k.y*k.scaleY;
Q=k.x*k.scaleX;g=g.get("config","animationObj");P=g.animObj;R=g.dummyObj;G=g.transposeAnimDuration;ma=c?n+","+(K-ta)+","+E+","+(aa+2*ta):n-ta+","+K+","+(E+2*ta)+","+aa;ta=e.axisBandGroup=e.axisBandGroup||l.group("dataset-Band-group",D);C=e.axisPlotLineGroup=e.axisPlotLineGroup||l.group("dataset-Line-group",D);M=e.axisTrendGroupBottom=e.axisTrendGroupBottom||l.group("dataset-Trend-group-bottom",D);J=e.axisPlotLineGroupTop=e.axisPlotLineGroupTop||l.group("dataset-Line-group-top",B);H=e.axisNameGroup=
e.axisNameGroup||l.group("dataset-Name-group",D);xa=e.axisLineGroup=e.axisLineGroup||l.group("axis-Line-group",B);T=e.axisTrendGroupTop=e.axisTrendGroupTop||l.group("dataset-Trend-group-top",B);I=e.axisLabelGroup=e.axisLabelGroup||l.group("dataset-Label-group",D);e=e.axisLabelGroupTop=e.axisLabelGroupTop||l.group("dataset-Label-group",B);a||(p.axisContainer=a=l.group("dataset-axis",I));d||(p.axisLabelContainerTop=d=l.group("dataset-top-label",e));r||(p.axisAxisLineContainer=l.group("axis-line-tick",
xa));v||(p.vlineLabelContainer=v=l.group("axis-vline-label",xa));A?G&&b?A.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):A.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisBandContainer=A=l.group("dataset-axis-bands",ta),A.attr({"clip-rect":n+","+K+","+E+","+aa}));q?G&&b?q.animateWith(R,P,{"clip-rect":ma},G,g.animType):q.attr({"clip-rect":ma}):(p.axisPlotLineContainer=q=l.group("dataset-axis-lines",C),q.attr({"clip-rect":ma}));s?G&&b?s.animateWith(R,P,{"clip-rect":ma},G,g.animType):
s.attr({"clip-rect":ma}):(p.axisPlotLineContainerTop=s=l.group("dataset-axis-lines-top",J),s.attr({"clip-rect":ma}));h?G&&b?h.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):h.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisTrendContainerTop=h=l.group("dataset-axis-trend-top",T),h.attr({"clip-rect":n+","+K+","+E+","+aa}));w?G&&b?w.animateWith(R,P,{"clip-rect":n+","+K+","+E+","+aa},G,g.animType):w.attr({"clip-rect":n+","+K+","+E+","+aa}):(p.axisTrendContainerBottom=w=l.group("dataset-axis-trend-bottom",
M),w.attr({"clip-rect":n+","+K+","+E+","+aa}));F||(p.axisTrendLabelContainer=l.group("dataset-axis-trend-label",T));t||(p.axisNameContainer=l.group("dataset-axis-name",H));z||(p.axisAxisLineContainerBottom=l.group("axis-line-tick-bottom",D));m.scaleX!==k.scaleX||m.scaleY!==k.scaleY?(m.scaleX=k.scaleX,m.scaleY=k.scaleY):c?(c=V-k.y*k.scaleY,v.transform("t0,"+c),a.transform("t0,"+c),d.transform("t0,"+c),q.transform("t0,"+c),s.transform("t0,"+c),A.transform("t0,"+c),h.transform("t0,"+c),w.transform("t0,"+
c)):(c=Q-k.x*k.scaleX,v.transform("t"+c+",0"),a.transform("t"+c+",0"),d.transform("t"+c+",0"),q.transform("t"+c+",0"),s.transform("t"+c+",0"),A.transform("t"+c+",0"),h.transform("t"+c+",0"),w.transform("t"+c+",0"));this._drawComponents()},hide:function(){var b=this.config.axisData;b.axisContainer&&(b.axisLabelContainerTop.hide(),b.axisContainer.hide(),b.axisPlotLineContainer.hide(),b.axisPlotLineContainerTop.hide(),b.axisBandContainer.hide(),b.axisNameContainer.hide(),b.axisTrendContainerTop.hide(),
b.axisTrendContainerBottom.hide(),b.axisTrendLabelContainer.hide(),b.axisAxisLineContainer.hide(),b.axisAxisLineContainerBottom.hide())},show:function(){var b=this.config.axisData;b.axisContainer&&(b.axisLabelContainerTop.show(),b.axisContainer.show(),b.axisPlotLineContainer.show(),b.axisPlotLineContainerTop.show(),b.axisBandContainer.show(),b.axisNameContainer.show(),b.axisTrendContainerTop.show(),b.axisTrendContainerBottom.show(),b.axisTrendLabelContainer.show(),b.axisAxisLineContainer.show(),b.axisAxisLineContainerBottom.show())},
_drawComponents:function(){var b=this.config,a=this.chart.is3D,g=b.axisData,d,c;b.drawAxisName&&this._drawAxisName();b.drawAxisLine&&this._drawAxisLine();b.drawAxisLine&&g.hasBreakPoints&&this._drawBreakPoints();b.isActive||(d=g.lines.isDraw,c=g.band.isDraw,g.lines.isDraw=0,g.band.isDraw=0);g.hasCategory?(b.drawLabels&&this._drawCategory(),b.drawOnlyCategoryLine&&this._drawCategoryLine()):(b.drawLabels&&this._drawLabel(),b.drawPlotlines&&this._drawPlotLine());g.hasCategory&&"auto"!==g.xAxisLabelMode?
(b.drawPlotlines&&this._drawCategoryVline(),b.drawPlotlines&&!a&&this._drawCategoryPlotLine(),b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawCategoryPlotBand(),"mixed"===g.xAxisLabelMode&&b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawPlotBand()):b.drawPlotBands&&!g.hasBreakPoints&&!a&&this._drawPlotBand();b.isActive||(g.lines.isDraw=d,g.band.isDraw=c);b.drawTrendLines&&this._drawTrendLine();b.isConfigured=!1},_manageReuseableElement:function(b,a,g){var d=this.config.isConfigured,c=this.chart.components.paper,
e,l,k,m;e=b._graphicElem||(b._graphicElem=[]);l=b._freeElem||(b._freeElem=[]);k=b._usedElem||(b._usedElem={});m=b._drawnIds={};return{getElement:function(b){m[b]=!0;if(k[b])return k[b]._applyAllAttr=d,k[b]._firstTimeDraw=!1,k[b].attr({visibility:Ha}),k[b];if(0<l.length)return k[b]=l.pop(),k[b]._applyAllAttr=!0,k[b]._firstTimeDraw=!1,k[b].attr({visibility:Ha}),k[b];e.push(c[a](g));k[b]=e[e.length-1];k[b]._firstTimeDraw=!0;k[b]._applyAllAttr=!0;return k[b]},freeUnusedElement:function(){for(var b in k)k.hasOwnProperty(b)&&
!m[b]&&(k[b].attr({visibility:"hidden"}),l.push(k[b]),delete k[b])}}},_drawLabel:function(){var b=this.config,a=b.axisData,g=b.canvas,d=a.axisDimention||{},c=this.chart,e=c.config,l=c.components,k=b.axisRange,m=b.isOpposit,p,n="Fusioncharts-axis-labels-"+b.uniqueClassName,K=a.labels,E=K.style,aa,q,s=b.isVertical,v=b.animateAxis,A=k.max,t=k.min,h=g.canvasTop||e.canvasTop,w=g.canvasLeft||e.canvasLeft,F=g.canvasBottom||e.canvasBottom,g=g.canvasRight||e.canvasRight,e=a.axisNameContainer,r=a.labelPadding,
z=a.showUpperLimit,D=l.paper,B=a.labelMaxH,G=a.labelMaxW,C=s?d.x:d.y,d=d.opposite,J=b.drawLabelOnBothSide,H=this.graphics.labels||[],xa=0,I=!0,T,M,V,Q,P,R={fontFamily:E.fontFamily,fontSize:E.fontSize,fontWeight:E.fontWeight,fontStyle:E.fontStyle,lineHeight:E.lineHeight},Aa,ma,Ka,X,$,va,ka=function(){(z||!z&&1>=a.labels.step)&&aa<A&&aa+p>A&&aa&&(q=aa=A-p);a.showZeroPlane&&0>aa&&0<aa+p?(aa=0,q+=p):aa<q?aa=q:(aa+=p,q+=p)};E.lineHeight&&(V=E.lineHeight,-1!==V.indexOf("px")&&(V=V.replace("px",""),V=parseFloat(V)));
if(a.labels.isDraw){!J&&b.drawLabelsOpposit&&(m=!m,C=d);T=c.get("config","animationObj");$=T.animObj;va=T.dummyObj;M=T.transposeAnimDuration;T=T.animType;I=ra(this.getPixel(t)-this.getPixel(t+k.tickInterval));s?a.labelMaxH>I&&!a.hasCategory&&(Q=Da(a.labelMaxH/I)):a.labelMaxW>I&&!a.hasCategory&&(Q=Da(a.labelMaxW/I));Q>a.labels.step&&(a.labels.step=Q);a.labels.step?p=k.tickInterval*a.labels.step:p=k.tickInterval;P=a.labels.rotation;k=this._getVisibleConfig();I=this._isZoomed();xa=t+p*ha((k.minValue-
3*p-t)/p);Q=t+p*ha((k.maxValue+3*p-t)/p);xa=xa<t?t:xa;Q=Q>A?A:Q;Aa={fill:E.color,"line-height":V,"font-size":E.fontSize};J&&(ma={fill:E.color,"line-height":V,"font-size":E.fontSize});s?this.graphics.labels||(c._addCSSDefinition("."+n+"-yAxis",R),e.attr({"class":n+"-yAxis"})):(this.graphics.labels||(e.attr({"class":n+"-xAxis"}),c._addCSSDefinition("."+n+"-xAxis",R)),P?(Aa["text-anchor"]=m?"start":"end",Aa["vertical-align"]="center",J&&(ma["text-anchor"]=m?"end":"start",ma["vertical-align"]="center")):
(Aa["vertical-align"]=m?"bottom":"top",J&&(ma["vertical-align"]=m?"top":"bottom")));q=aa=xa;for(xa=0;aa<=Q;){if(Q==0.11&&Q-aa<=0.0000001){break;}if(!I||!(aa<k.minValue||aa>k.maxValue))if(a.labels.drawNormalVal||a.labels.drawLimitVal&&(aa===t||aa===A))if(a.labels.drawNormalVal||aa===t||aa===A)if(a.labels.drawLimitVal||aa!==t&&aa!==A)if(0!==a.showZeroPlane&&0!==a.showZeroPlaneValue||0!==aa){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>aa&&0<aa+p||0<aa&&0>aa-p)&&aa!==t&&aa!==A)if(s){if(this.getPixel(aa)+B>=this.getPixel(0)&&this.getPixel(0)>=
this.getPixel(aa)-B){ka();continue}}else if(this.getPixel(aa)+G>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(aa)-G){ka();continue}E=a.hasBreakPoints?this._getRealBreakValue(aa):aa;if(s)c=a.numberFormatterFn?l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.yAxis,V=""+c.call(l.numberFormatter,E,b.axisIndex),c={"text-anchor":m?"start":"end",text:V},n={x:m?(C||g)+r:(C||w)-r,y:this.getPixel(E)},J&&(Ka={"text-anchor":m?"end":"start",text:V},X={x:m?
(d||w)-r:(d||g)+r,y:this.getPixel(E)});else{c=a.numberFormatterFn?l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.xAxis;V=""+c.call(l.numberFormatter,E);c={text:V};n={x:this.getPixel(E),y:m?(C||h)-r:(C||F)+r};if(aa!==A&&n.x+a.labelMaxW>g){ka();continue}J&&(Ka={text:V},X={x:this.getPixel(E),y:m?(d||F)+r:(d||h)-r})}K.shiftX&&(c.x+=K.shiftX);K.shiftY&&(c.y+=K.shiftY);n.transform=D.getSuggestiveRotation(P,n.x,n.y);H[xa]?(E=H[xa],E.attr({"text-anchor":"middle",
"vertical-align":"center"}),E.attr(c),M&&v?E.animateWith(va,$,n,M,T):E.attr(n)):(H[xa]=E=D.text(c,e),E.attr(n));E.attr(Aa);E._lastPos={x:n.x,y:n.y};xa+=1;J&&(X.transform=D.getSuggestiveRotation(P,X.x,X.y),H[xa]?(E=H[xa],P&&E.attr({"text-anchor":"middle","vertical-align":"center"}),E.attr(Ka),M&&v?(E.attr(ma),E.animateWith(va,$,X,M,T)):(E.attr(X),E.attr(ma))):(H[xa]=E=D.text(Ka,e),E.attr(X),E.attr(ma)),E._lastPos={x:X.x,y:X.y},xa+=1)}ka()}if(H[xa])for(aa=xa;aa<H.length;aa++)H[aa].attr({text:""});this.graphics.labels=
H}else if(H[xa])for(aa=xa;aa<H.length;aa++)H[aa].attr({text:""})},_drawAxisName:function(){var b=this.config,a=b.axisData,g=b.canvas,d=this.chart,c=d.config,e=d.components,k=a.axisDimention||{},m=a.name.style,W=a.name.value,p="fusioncharts-axis-"+b.uniqueClassName,n=b.isVertical,K=b.isOpposit,E=d.linkedItems.smartLabel,aa=g.canvasBottom||c.canvasBottom,q=g.canvasLeft||c.canvasLeft,s=g.canvasRight||c.canvasRight,v=g.canvasTop||c.canvasTop,A=g.canvasHeight||c.canvasHeight,t=g.canvasWidth||c.canvasWidth,
g=a.axisNameContainer,h=a.axisNamePadding,w=a.nameMaxH,F=a.nameMaxW,r=n?k.x:k.y,z=k.opposite,D=this.graphics.axisName||{},k=l(a.name.rotation,n?270:90),e=e.paper,B={fontFamily:m.fontFamily,fontSize:m.fontSize,lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle},G=b.animateAxis,C,J,H,xa,I;J=D;a.name.isDraw?(C=d.get("config","animationObj"),H=C.animObj,xa=C.dummyObj,D=C.transposeAnimDuration,I=C.animType,C={fontFamily:m.fontFamily,fill:m.color,"vertical-align":"center","font-size":m.fontSize,
"line-height":m.lineHeight},E.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),E.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight}),!b.drawLabelOnBothSide&&b.drawAxisNameOpposit&&(K=!K,r=z),n?(d._addCSSDefinition("."+p+"-yAxis",B),b.relativeAxis&&b.relativeAxis.config&&b.relativeAxis.config.axisData&&b.relativeAxis.config.axisData.axisNamePadding&&(h=na(b.relativeAxis.config.axisData.axisNamePadding,h)),K&&c.canvasMarginRight&&(h=na(h,c.canvasMarginRight-
c.marginLeft-F)),!K&&c.canvasMarginLeft&&(h=na(h,c.canvasMarginLeft-c.marginRight-F)),t=b.axisNameAlignCanvas||c.captionalignment&&"left"==c.captionalignment?A:na(A,a.oriCanvasHeight||0),k?(W=E.getSmartText(W,t,F),E=W.tooltext,t=W.width):(W=E.getSmartText(W,F,t),E=W.tooltext,t=W.height),aa=b.drawAxisNameFromBottom?aa-t/2:t>A?c.height/2:v+A/2,p={"class":p+"-yAxis",text:W.text},K={x:K?(r||s)+h+F/2:(r||q)-h-F/2,y:aa}):(d._addCSSDefinition("."+p+"-xAxis",B),W=E.getSmartText(W,t,w),E=W.tooltext,p+="-xAxis",
K&&c.canvasMarginTop&&(h=na(h,c.canvasMarginTop-c.marginTop-w)),!K&&c.canvasMarginBottom&&(h=na(h,c.canvasMarginBottom-c.marginBottom-w)),p={"class":p,text:W.text},K={x:q+t/2,y:K?(r||v)-h-w/2:(r||aa)+h+w/2}),K.transform=e.getSuggestiveRotation(n?k:0,K.x,K.y),this.graphics.axisName?(this.graphics.axisName.attr({visibility:"visible"}),J.attr(p),D&&G&&(K.x!==J._lastPos.x||K.y!==J._lastPos.y)?J.animateWith(xa,H,K,D,I):J.attr(K),J.attr(C).tooltip(E)):(J=e.text(p,g).tooltip(E),J.attr(K),J.attr(C)),a.showTooltip&&
E&&J.trackTooltip(!0),J._lastPos={x:K.x,y:K.y},""!==W.text?setTimeout(function(){J.attr({"line-height":m.lineHeight,"text-bound":[m.backgroundColor,m.borderColor,m.borderThickness,m.borderPadding,m.borderRadius,m.borderDash]})},0):J.attr({"text-bound":[]}),this.graphics.axisName=J):this.graphics.axisName&&this.graphics.axisName.attr({visibility:"hidden"})},_drawPlotLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=g.tickInterval,c=b.isVertical,e=b.canvas,l=this.chart,k=this.chart.is3D,
m=l.config,p=e.canvasBottom||m.canvasBottom,n=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,e=e.canvasTop||m.canvasTop,m=g.max,g=g.min,E=a.axisPlotLineContainer,aa=a.axisPlotLineContainerTop,q=a.showCanvasBorder,s=l.components.paper,v=this.graphics.line||[],A=0,t=T(a.divLineColor,a.divLineAlpha),h=a.divLineThickness,w=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,h):"none",F=T(a.zeroPlaneColor,a.zeroPlaneAlpha),r=a.zeroPlaneThickness,b=b.animateAxis,z,D,B,C,G,J,H,xa,I,w={stroke:t,
"stroke-width":h,"stroke-dasharray":w};2>ra(this.getPixel(g)-this.getPixel(g+d))&&(a.lines.isDraw=0);if(a.lines.isDraw){A=l.get("config","animationObj");H=A.animObj;xa=A.dummyObj;l=A.transposeAnimDuration;I=A.animType;D=this._getVisibleConfig();A=g+d*ha((D.minValue-3*d-g)/d);D=g+d*ha((D.maxValue+3*d-g)/d);A=A<g?g:A;D=D>m?m:D;J=E;G=C=A;for(A=0;C<=D;)0===a.showZeroPlane&&0===C||q&&(C===m||C===g)||(0===C&&C!==g&&C!==m&&(w.stroke=F,w["stroke-width"]=r,a.zeroPlaneOnTop&&!k&&(J=aa)),B=a.hasBreakPoints?
this._getRealBreakValue(C):C,z=c?ua(["M",n,this.getPixel(B),"L",K,this.getPixel(B)],h):ua(["M",this.getPixel(B),e,this.getPixel(B),p],h),B={path:z.path},w["shape-rendering"]=z.isCrisped?"crisp":void 0,v[A]?(z=v[A],J.appendChild(z),l&&b?z.animateWith(xa,H,B,l,I):z.attr(B),z.attr(w)):(z=s.path(B,J),z.attr(w),v[A]=z),0===C&&C!==g&&C!==m&&(w.stroke=t,w["stroke-width"]=h,J=E),A+=1),a.showZeroPlane&&0>C&&0<C+d?(C=0,G+=d):C<G?C=G:(C+=d,G+=d);if(v[A])for(C=A;C<v.length;C++)v[C].attr({path:[]});this.graphics.line=
v}else if(v[A])for(C=A;C<v.length;C++)v[C].attr({path:[]})},_drawAxisLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.isVertical,c=b.isOpposit,e=b.canvas,k=this.chart,m=k.config,p=a.breakPoints,n=e.canvasBottom||m.canvasBottom,q=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,E=e.canvasTop||m.canvasTop,e=a.axisDimention||{},aa=d?e.x:e.y,t=b.drawAxisLineWRTCanvas,s=k.jsonData.chart,e=k.components.paper,m=this.graphics.axisLine||[],v=0,A=g.max,w=g.min,g=g.tickInterval,h=a.axisAxisLineContainerBottom,
F={},r=b.animateAxis,z,D,B,F=1===l(s.showyaxisline,s.showyaxisline)?l(s.yaxislinethickness,s.pyaxislinethickness,1):0;if(a.showAxisLine){z=k.get("config","animationObj");s=z.animObj;B=z.dummyObj;k=z.transposeAnimDuration;z=z.animType;if(d)if(c?aa=(t?K:aa||K)+a.axisLineThickness/2:(aa=t?q:aa||q,aa-=a.axisLineThickness/2),a.hasBreakPoints){q=["M",aa,n,"L"];n=0;for(t=p.length;n<t;n+=1)F=this.getPixel(p[n].start),q.push(aa,F,"M",aa,F-4,"L");q.push(aa,E)}else D=ua(["M",aa,n,"L",aa,E],a.axisLineThickness),
q=D.path;else if(c?(aa=t?E:aa||E,aa-=a.axisLineThickness/2):(aa=t?n:aa||n,aa+=a.axisLineThickness/2),a.hasBreakPoints){q=["M",q-F,aa,"L"];n=0;for(t=p.length;n<t;n+=1)F=this.getPixel(p[n].start),q.push(F,aa,"M",F-4,aa,"L");q.push(K,aa)}else D=ua(["M",q-F,aa,"L",K,aa],a.axisLineThickness),q=D.path;m[v]?(p=m[v],k&&r?p.animateWith(B,s,{path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,"shape-rendering":D.isCrisped?"crisp":void 0},k,z):p.attr({path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,
"shape-rendering":D.isCrisped?"crisp":void 0})):(p=e.path({path:q,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},h),m[v]=p);v+=1;if(b.drawTick&&a.tickLength)for(b={stroke:a.tickColor,"stroke-width":a.tickWidth},c=d?c?aa+a.tickLength:aa-a.tickLength:c?aa-a.tickLength:aa+a.tickLength,D=this._getVisibleConfig(),v=w+g*ha((D.minValue-3*g-w)/g),D=w+g*ha((D.maxValue+3*g-w)/g),D=D>A?A:D,n=v<w?w:v,v=1;n<=D;n+=g)w=a.hasBreakPoints?this._getRealBreakValue(n):n,w=this.getPixel(w),F=d?{path:"M"+aa+
" "+w+"L"+c+" "+w}:{path:"M"+w+" "+aa+"L"+w+" "+c},m[v]?(w=m[v],k&&r?w.animateWith(B,s,F,k,z):w.attr(F),w.attr(b)):(w=e.path(F,h),w.attr(b),m[v]=w),n<A&&n+g>A&&n&&(n=A-g),v+=1}if(m[v])for(n=v;n<m.length;n++)m[n].attr({path:[]});this.graphics.axisLine=m},_drawBreakPoints:function(){var b=this.config,a=b.axisData,g=b.isVertical,d=this.chart,c=d.config,e=a.breakPoints,c=b.canvas.canvasLeft||c.canvasLeft,l=d.components.paper,k=this.graphics.brokeLine||[],m=d.graphics,b=b.animateAxis,p,n,K,E,aa,q,s,v;
if(a.showAxisLine)for(p=d.get("config","animationObj"),q=p.animObj,s=p.dummyObj,d=p.transposeAnimDuration,v=p.animType,p=0,E=e.length;p<E;p+=1)g?(n=c-a.axisLineThickness/2,K=this.getPixel(e[p].start),K=["M",n-4,K+4/3,"L",n+4,K-4/3,"M",n-4,K-8/3,"L",n+4,K-16/3]):K=["M",0,0],k[p]?(n=k[p],d&&b?n.animateWith(s,q,{path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},d,v):n.attr({path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):(n=l.path({path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},
m.axisLineGroup),k[p]=n),aa+=1;if(k[aa])for(p=aa;p<k.length;p++)k[p].attr({path:[]});this.graphics.brokeLine=k},_drawPlotBand:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.canvas,c=this.chart,e=c.config,l=d.canvasLeft||e.canvasLeft,k=d.canvasTop||e.canvasTop,m=d.canvasHeight||e.canvasHeight,d=d.canvasWidth||e.canvasWidth,e=g.tickInterval,p=b.isVertical,n=b.isReverse,K=g.max,E=g.min,g=a.axisBandContainer,aa=c.components.paper,q=this.graphics.band||[],s=0,v=a.showAlternateGridColor,A=
a.alternateGridColor,t=a.alternateGridAlpha,b=b.animateAxis,h,w,r,z,D,B;2>ra(this.getPixel(E)-this.getPixel(E+e))&&(a.band.isDraw=0);if(v&&a.band.isDraw){s=c.get("config","animationObj");v=s.animObj;D=s.dummyObj;c=s.transposeAnimDuration;B=s.animType;w=this._getVisibleConfig();s=E+e*ha((w.minValue-3*e-E)/e);w=E+e*ha((w.maxValue+3*e-E)/e);s=s<E?E:s;w=w>K?K:w;K=Ca((s-E)/e)+1;A={fill:F(T(A,t)),"stroke-width":0};E=this.getPVR();r=t=s;for(s=0;t<w;K+=1)0===K%2&&(h=a.showZeroPlane&&0>t&&0<t+e?t:t!==r?r-
t:e,h=p?{x:l,y:this.getPixel(n?t:t+ra(h)),width:d,height:ra(h*E)}:{x:this.getPixel(t),y:k,width:ra(h*E),height:m},q[s]?(z=q[s],c&&b?z.animateWith(D,v,h,c,B):z.attr(h),z.attr(A)):(z=aa.rect(h,g),z.attr(A),q[s]=z),s+=1),a.showZeroPlane&&0>t&&0<t+e?(t=0,r+=e):t<r?t=r:(t+=e,r+=e);if(q[s])for(t=s;t<q.length;t++)q[t].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=q}else if(q[s])for(t=s;t<q.length;t++)q[t].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},_drawTrendLine:function(){var b=
this.config,a=b.axisData,g=b.canvas,c=this.chart,e=c.config,k=c.components,O=b.isOpposit,m=b.isVertical,p=c.is3D,n=b.axisIndex,q=k.numberFormatter,K=g.canvasBottom||e.canvasBottom,E=g.canvasLeft||e.canvasLeft,aa=g.canvasRight||e.canvasRight,t=g.canvasTop||e.canvasTop,s=g.canvasHeight||e.canvasHeight,g=g.canvasWidth||e.canvasWidth,v=b.axisRange,e=v.max,v=v.min,A=a.trend.trendStyle,w=a.labelPadding,h=a.axisTrendContainerTop,F=a.axisTrendContainerBottom,r=a.axisTrendLabelContainer,k=k.paper,z=this.components.trendObj||
[],B="Fusioncharts-axis-trendlines-label-"+b.uniqueClassName,ta=b.vTrendLines,C=b.trendLines,G=!0,J=b.drawTrendLabels,H=a.axisDimention||{},b=b.animateAxis,I,xa,M,V,vb,Q,P=0,R,ya,Aa,ma,Ka,X,$,va,ka,sa,ba,U;c._addCSSDefinition("."+B,{fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,fontWeight:A.fontWeight,fontStyle:A.fontStyle});va=this._getVisibleConfig();a.hasBreakPoints&&(va.minValue=this._getRealBreakValue(va.minValue),va.maxValue=this._getRealBreakValue(va.maxValue));Ka={};
B={"class":B,"line-height":A.lineHeight};G=this._isZoomed();G||(va.minValue=v,va.maxValue=e);ta?G=O?(H.opposite||K)-(a.trendBottomPadding||0):(H.y||K)+(a.trendBottomPadding||0):(G=O?(H.opposite||E)+(w||0):(H.x||E)-(w||0),ba=O?(H.x||aa)+(w||0):(H.opposite||aa)+(w||0));if(O=C||ta){I=c.get("config","animationObj");w=I.animObj;H=I.dummyObj;c=I.transposeAnimDuration;U=I.animType;M=0;for(V=O.length;M<V;M+=1)for(xa=0,I=O[M].line&&O[M].line.length;xa<I;xa+=1)if(ka=O[M].line[xa],ya=m?"yAxis":"xAxis",R=q.getCleanValue(d(ka.startvalue,
ka.value,0)),Q=Number(ka.endvalue)||void 0,vb=ga(D(d(ka.tooltext,O[0].tooltext,a.trendlineToolText))),vb=Z(vb,[7,15,16,17,18,19],{startValue:R,startDataValue:q[ya](R,n),endValue:Q||R,endDataValue:q[ya](Q||R,n),axisName:a.axisName},ka),!(R>e||R<v||Q>e||Q<v)&&(ta&&R>=va.minValue&&R<=va.maxValue||Q&&Q>=va.minValue&&Q<=va.maxValue||Q&&R<=va.minValue&&Q>=va.maxValue||C&&R>va.minValue&&R<=va.maxValue||Q&&Q>=va.minValue&&Q<=va.maxValue||Q&&R>=va.minValue&&Q<=va.maxValue)){if(ta){if(X=D(ka.displayvalue||
""),ya=this.getPixel(a.hasBreakPoints?this._getRelativeBreakValue(R):R),Aa=l(ka.istrendzone,a.isTrendZone,1),sa=Q?this.getPixel(a.hasBreakPoints?this._getRelativeBreakValue(Q):Q):0,void 0!==Q&&""!==Q&&Q!==R&&Aa?(Aa={fill:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,40)),"stroke-width":0},ma={path:["M",ya,t,"L",ya,K,"L",sa,K,"L",sa,t,"Z"]},X={fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:X},$={x:ya+(sa-ya)/2,y:G}):(Aa=l(ka.thickness,a.trendlineThickness,
1),Aa=Aa>g?1:Aa,ma=Q?ua(["M",ya,t,"L",sa,K],Aa):ua(["M",ya,t,"L",ya,K],Aa),Aa={stroke:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,99)),"stroke-width":Aa,"stroke-dasharray":d(ka.dashed,a.trendlinesAreDashed)===fa?ia(l(ka.dashlen,a.trendlinesDashLen),l(ka.dashgap,a.trendlinesDashGap),Aa):"none","shape-rendering":ma.isCrisped?"crisp":void 0},ma={path:ma.path},X={fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:X},$={x:Q?sa:ya,y:G}),!J||X.x>this.getPixel(va.maxValue)||
X.x<this.getPixel(va.minValue))X.text=""}else C&&(X=D(ka.displayvalue||""),$=l(ka.valueonright,0),Aa=l(ka.istrendzone,a.isTrendZone,0),ya=this.getPixel(R),sa=Q?this.getPixel(Q):0,void 0!==Q&&""!==Q&&Q!==R&&Aa?(Aa={fill:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,40)),"stroke-width":0},ma={path:["M",E,ya,"L",aa,ya,"L",aa,sa,"L",E,sa,"Z"]},X={"text-anchor":$?"start":"end",fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),text:X},$={x:$?ba:G,y:ya+(sa-ya)/2}):(Aa=l(ka.thickness,
a.trendlineThickness,1),Aa=Aa>s?1:Aa,ma=Q?ua(["M",E,ya,"L",aa,sa],Aa):ua(["M",E,ya,"L",aa,ya],Aa),Aa={stroke:T(d(ka.color,a.trendlineColor),d(ka.alpha,a.trendlineAlpha,99)),"stroke-width":Aa,"stroke-dasharray":d(ka.dashed,a.trendlinesAreDashed)===fa?ia(l(ka.dashlen,a.trendlinesDashLen),l(ka.dashgap,a.trendlinesDashGap),Aa):"none","shape-rendering":ma.isCrisped?"crisp":void 0},ma={path:ma.path},X={"text-anchor":$?"start":"end",fill:T(d(ka.color,A.color),d(ka.alpha,a.trendlineAlpha,99)),text:X},$={x:$?
ba:G,y:Q?$?sa:ya:ya}),!J||X.y<this.getPixel(va.maxValue)||X.y>this.getPixel(va.minValue))&&(X.text="");Q=l(ka.showontop);Q=p||1!==Q&&1!==a.showTrendlinesOnTop?F:h;z[P]?(R=z[P].graphics.drawing,ya=z[P].graphics.label,Q.appendChild(R),R.attr(Aa),ya.attr(X),z[P].graphics.config.text=X.text,c&&b?(R.animateWith(H,w,ma,c,U),ya.animateWith(H,w,$,c,U)):(R.attr(ma),ya.attr($)),ya.tooltip(ka.valueToolText),R.attr(Ka),ya.attr(B)):(R=k.path(Aa,Q),R.attr(ma),R.attr(Ka),ya=k.text(X,r),ya.attr($).attr(B).tooltip(ka.valueToolText),
z[P]={},z[P].graphics={},z[P].graphics.drawing=R,z[P].graphics.label=ya,z[P].graphics.config={text:X.text});a.showTooltip&&ka.valueToolText?ya.trackTooltip(!0):ya.trackTooltip(!1);a.showTooltip&&vb?R.tooltip(vb).trackTooltip(!0):R.trackTooltip(!1);P+=1}if(z[P])for(xa=P;xa<z.length;xa++)z[xa].graphics.drawing.attr({path:["M",0,0]}),z[xa].graphics.label.attr({text:"","text-bound":[]});this.components.trendObj=z;a.trendBackgroundSetter&&(clearTimeout(a.trendBackgroundSetter),a.trendBackgroundSetter=
void 0);a.trendBackgroundSetter=setTimeout(function(){for(xa=0;xa<P;xa++)z[xa].graphics.label.attr({"line-height":A.lineHeight,"text-bound":z[xa].graphics.config.text?[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]:[]});a.trendBackgroundSetter=void 0},0)}if(z[P])for(xa=P;xa<z.length;xa++)z[xa].graphics.drawing.attr({path:["M",0,0]}),z[xa].graphics.label.attr({text:"","text-bound":[]})},_drawCategory:function(){var b,a,g,c,e,k,O=this.config,m=O.axisData,
p=m.axisDimention||{},n=O.canvas,q=this.chart,K=q.config,E=O.isOpposit,aa=m.labels,t=aa.style,s=O.isVertical,v=n.canvasBottom||K.canvasBottom,A=n.canvasLeft||K.canvasLeft,F=n.canvasRight||K.canvasRight,n=n.canvasTop||K.canvasTop,h=m.axisContainer,K=m.labelPadding,z=q.components.paper,r=s?p.x:p.y,p=p.opposite,D=O.drawLabelOnBothSide,B=this.components.categoryLabel||(this.components.categoryLabel=[]),ta=q.jsonData.categories,C,G,J,H,I=function(b){return function(a){ea.call(this,q,a,b)}},xa=0,xa=0,M=
O.animateAxis,Q,V,P,R,X,ya,Aa,ma,Ka,$={},ba,va,ka,sa,U,Va,Sb,fa;X=(P=O.isCategoryAnimate&&O.animateCategories?O.animateCategories:m.categories.category)?P.length-1:0;sa=0<m.labels.step?m.labels.step:1;this._drawCategoryLine(P,0,X);if(m.labels.isDraw){Q=q.get("config","animationObj");Va=Q.animObj;Sb=Q.dummyObj;V=Q.transposeAnimDuration;Q=Q.animType;s&&(R=ra(this.getPixel(0)-this.getPixel(1)),m.labelMaxH>R&&(xa=Da(m.labelMaxH/R)),xa>m.labels.step&&(m.labels.step=xa));R=this.getPVR();U=this._isZoomed();
Aa=this._getVisibleConfig();ma=m.labels.rotation;!O.drawLabelOnBothSide&&O.drawLabelsOpposit&&(E=!E,r=p);ta&&ta[0]&&"auto"!==m.xAxisLabelMode&&(C=ta[0].font,G=ta[0].fontsize,J=ta[0].fontcolor);fa=this._manageReuseableElement(this.components.categoryLabel,"text",h);for(xa=h=0;h<=X;h+=sa)if(ta=P[h])b=l(ta.x,ta.y,h),0===l(ta.showlabel,m.showLabels,1)||U&&(b<Aa.minValue||b>Aa.maxValue)||!("auto"!==m.xAxisLabelMode&&"mixed"!==m.xAxisLabelMode||0!==m.showZeroPlane&&0!==m.showZeroPlaneValue||0!==b)||!m.labels.drawNormalVal&&
(!m.labels.drawLimitVal||0!==h&&h!==X)||!m.labels.drawNormalVal&&0!==h&&h!==X||!(m.labels.drawLimitVal||0!==h&&h!==X)||(H=d(ta.font,ta.labelfont),a=d(ta.fontsize,ta.labelfontsize),c=d(ta.fontbold,ta.labelfontbold)?l(ta.fontbold,ta.labelfontbold,0)?"bold":"normal":void 0,e=d(ta.fontitalic,ta.labelfontitalic)?l(ta.fontitalic,ta.labelfontitalic,0)?"italic":"normal":void 0,g=T(d(ta.fontcolor,ta.labelfontcolor,J,t.color),l(ta.labelalpha,O.rawAttr.labelFontAlpha,q.singleseries?void 0:ta.alpha,100)),H={fontFamily:d(H,
C,t.fontFamily),fontSize:d(a,G,t.fontSize),fontWeight:d(c,t.fontWeight),fontStyle:d(e,t.fontStyle)},H.lineHeight=w(H),H.lineHeight&&(Ka=H.lineHeight,-1!==Ka.indexOf("px")&&(Ka=Ka.replace(/px/i,""),Ka=parseFloat(Ka))),a={fill:g,"line-height":Ka},D&&($={fill:g,"line-height":Ka}),ka=this.getPixel(b),s?(e=ta.label||"",k=Number(ta.labelPadding)||0,c={opacity:1,"text-anchor":E?"start":"end",text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},g={x:E?(r||F)+K:(r||A)-K,y:k?ka+k:ka},D&&(ba={opacity:1,
"text-anchor":E?"end":"start",text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},va={x:E?(p||A)-K:(p||F)+K,y:k?ka+k:ka})):(e=ta.label||"",k=Number(ta.labelPadding)||0,c={opacity:1,text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},g={x:ka,y:E?(r||n)-K:(r||v)+K},D&&(ba={opacity:1,text:e,cursor:ta.link||ta.labellink||t.labelLink?"pointer":""},va={x:ka,y:E?(p||v)+K:(p||n)-K}),ma?(a["text-anchor"]=E?"start":"end",a["vertical-align"]="center",D&&($["text-anchor"]=E?"end":"start",
$["vertical-align"]="center")):(a["text-anchor"]="middle",a["vertical-align"]=E?"bottom":"top",D&&($["vertical-align"]=E?"top":"bottom",$["text-anchor"]="middle")),k&&(g.y=E?g.y-k:g.y+k,D&&(va.y=E?va.y+k:va.y-k))),aa.shiftX&&(g.x+=aa.shiftX,D&&(va.x+=aa.shiftX)),aa.shiftY&&(g.y+=aa.shiftY,D&&(va.y+=aa.shiftY)),g.transform=z.getSuggestiveRotation(ma,g.x,g.y),D&&(va.transform=z.getSuggestiveRotation(ma,va.x,va.y)),B[xa]||(B[xa]={},B[xa].graphics={},B[xa].config={}),e=B[xa].graphics.label=fa.getElement("p"+
b),ma&&e.attr({"text-anchor":"middle","vertical-align":"center"}),e._applyAllAttr&&(e.attr(c),e.css(H)),e.attr(a),V&&M&&!ta.animate&&!e._firstTimeDraw?e.animateWith(Sb,Va,g,V,Q):e.attr(g),m.showTooltip&&ta.labelTooltext?(e.tooltip(ta.labelTooltext),e.trackTooltip(!0)):e.trackTooltip(!1),D&&(ya=B[xa].graphics.secondLabel=fa.getElement("s"+b),ma&&e.attr({"text-anchor":"middle","vertical-align":"center"}),ya.attr(ba),V&&M&&!ta.animate&&!e._firstTimeDraw?ya.animateWith(Sb,Va,va,V,Q):ya.attr(va),ya.attr($),
ya.css(H),m.showTooltip&&ta.labelTooltext?(ya.tooltip(ta.labelTooltext),ya.trackTooltip(!0)):ya.trackTooltip(!1)),e._firstTimeDraw&&e.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),e.data("eventArgs",{link:ta.link||ta.labellink||t.labelLink,text:c.text,index:xa}),D&&(ya._firstTimeDraw&&ya.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),B[xa].graphics.secondLabel.data("eventArgs",{link:ta.link||ta.labellink||t.labelLink,text:c.text,index:xa})),
ta.animate&&!s&&(b={x:g.x-ta.leftShift*R},ta["delete"]&&(b.opacity=0),b.transform=z.getSuggestiveRotation(ma,b.x,g.y),B[xa].graphics.label.animateWith(Sb,Va,b,V,Q),D&&(b={x:va.x-ta.leftShift*R},ta["delete"]&&(b.opacity=0),b.transform=z.getSuggestiveRotation(ma,b.x,va.y),B[xa].graphics.secondLabel.animateWith(Sb,Va,b,V,Q))),e._applyAllAttr&&(l(ta.borderthickness,ta.labelborderthickness)&&l(ta.borderthickness,ta.labelborderthickness,1),b=ta.bordercolor||ta.labelbordercolor?T(ta.bordercolor||ta.labelbordercolor,
l(ta.borderalpha,ta.labelborderalpha,ta.alpha,ta.labelalpha,100)):"",a=l(ta.borderthickness,ta.labelborderthickness),g=l(ta.borderpadding,ta.labelborderpadding),c=l(ta.borderradius,ta.labelborderradius),e=ta.bgcolor||ta.labelbgcolor?T(ta.bgcolor||ta.labelbgcolor,l(ta.bgalpha,ta.labelbgalpha,ta.alpha,ta.labelalpha,O.rawAttr.labelFontAlpha,100)):"",k=l(ta.borderdashed,ta.labelborderdashed,0)?ia(l(ta.borderdashlen,ta.labelborderdashlen,4),l(ta.borderdashgap,ta.labelborderdashgap,2),l(ta.borderthickness,
ta.labelborderthickness,1)):0===l(ta.borderdashed,ta.labelborderdashed)?"none":t.borderDash,ta.label?(B[xa].graphics.label.attr({"line-height":H.lineHeight,"text-bound":[d(e,t.backgroundColor),d(b,t.borderColor),d(a,t.borderThickness),d(g,t.borderPadding),d(c,t.borderRadius),d(k,t.borderDash)]}),D&&B[xa].graphics.secondLabel.attr({"line-height":H.lineHeight,"text-bound":[d(e,t.backgroundColor),d(b,t.borderColor),d(a,t.borderThickness),d(g,t.borderPadding),d(c,t.borderRadius),d(k,t.borderDash)]})):
(B[xa].graphics.label.attr({"text-bound":[]}),D&&B[h].graphics.secondLabel.attr({"text-bound":[]}))),xa+=1);this.components.categoryLabel=B;fa.freeUnusedElement()}},_drawCategoryLine:function(b,a,g){var c=this.config,e=c.axisData,k=c.canvas,m=this.chart,p=m.config,W=m.components,n=c.isVertical,q=k.canvasBottom||p.canvasBottom,K=k.canvasLeft||p.canvasLeft,E=k.canvasRight||p.canvasRight,k=k.canvasTop||p.canvasTop,p=e.axisPlotLineContainer,aa=e.showCanvasBorder,t=e.xAxisLabelMode,s=W.paper,W=W.colorManager,
v=this.components.categoryLabelLine||[],A=m.jsonData.categories,w,h,F,z,r,D,B=0,C=c.animateAxis,G,J,H,I,xa,M,Q,V;b||(b=c.isCategoryAnimate&&c.animateCategories?c.animateCategories:e.categories.category);a=a||0;g=g||b?b.length-1:0;if(c.drawPlotlines){B=m.get("config","animationObj");m=B.animObj;Q=B.dummyObj;c=B.transposeAnimDuration;V=B.animType;this.getPVR();M=this._isZoomed();J=this._getVisibleConfig();A&&A[0]&&(w=A[0].verticallinecolor,h=A[0].verticallinealpha,F=A[0].verticallinethickness,z=A[0].verticallinedashed,
r=A[0].verticallinedashlen,D=A[0].verticallinedashgap);A=a;for(B=0;A<=g;A+=1)(G=b[A])&&(!aa||"auto"!==t&&"mixed"!==t||A!==g&&A!==a)&&(I=l(G.x,G.y,A),1!==Number(G.showverticalline)||M&&(I<J.minValue||I>J.maxValue)||(H=this.getPixel(I),I={stroke:T(d(G.linecolor,w,e.divLineColor,W.getColor("divLineColor")),d(G.linealpha,h,W.getColor("divLineAlpha"))),"stroke-width":l(G.linethickness,F,1)},I["stroke-dasharray"]=l(G.linedashed,z,0)?ia(l(G.linedashLen,r,4),l(G.linedashgap,D,2),I["stroke-width"]):"none",
xa=n?ua(["M",K,H,"L",E,H],I["stroke-width"]):ua(["M",H,k,"L",H,q],I["stroke-width"]),H={path:xa.path},I["shape-rendering"]=xa.isCrisped?"crisp":void 0,v[B]?(xa=v[B].graphics.line,xa.attr(I),c&&C&&!G.animate?xa.animateWith(Q,m,H,c,V):xa.attr(H)):(xa=s.path(I,p),xa.attr(H),v[B]={},v[B].graphics={},v[B].config={},v[B].graphics.line=xa),B+=1));this.components.categoryLabelLine=v}if(v[B])for(A=B;A<v.length;A++)v[A].graphics.line.attr({path:["M",0,0]})},_drawCategoryVline:function(){var b=this.config,a=
b.axisData,g=b.axisRange,c=g.min,g=g.max,e=b.canvas,k=this.chart,m=k.config,p=m.style||{},W=k.components.paper,n=e.canvasBottom||m.canvasBottom,q=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,E=e.canvasTop||m.canvasTop,aa=e.canvasHeight||m.canvasHeight,e=e.canvasWidth||m.canvasWidth,t=a.categories.category,s=b.isVertical,v=k.linkedItems.smartLabel,A=a.axisPlotLineContainerTop,w=a.axisPlotLineContainer,h=a.vlineLabelContainer,F=b.isRelativeAxisInverse,z={fontFamily:m.style.inCanfontFamily,
fontSize:m.style.inCanfontSize,color:m.style.inCancolor,lineHeight:m.style.inCanLineHeight},r=this.components.categoryVline||[],B=0,ta=b.animateAxis,C,G,H,I,M,xa,Q,V,P,R,X,$,ya,Aa,ma,Ka,ba,U,va,ka,sa,ea={},Va,fa={},ca,Z,ga,Ba,na,za,da,la,oa,ha;G=b.isCategoryVlineAnimate&&b.animateCategoriesVline?b.animateCategoriesVline:a.categories.vline;C=k.get("config","animationObj");za=C.animObj;da=C.dummyObj;k=C.transposeAnimDuration;C=C.animType;I=G.length;H=this.getPVR();la=this._isZoomed();oa=this._getVisibleConfig();
for(Q=0;Q<I;Q++)M=G[Q],xa=D(M.label),V=Boolean(l(M.showlabelborder,a.showVLineLabelBorder,1)),P=Boolean(l(M.showlabelbackground,1)),R=d(M.labelhalign,s?"start":"middle"),"center"==R?R="middle":"left"==R?R="start":"right"==R&&(R="end"),X=d(M.labelvalign,s?"middle":"bottom").toLowerCase(),"middle"==X?X="center":"top"==X?X="bottom":"bottom"==X&&(X="top"),$=l(M.labelposition,0),ya=l(M.lineposition,.5),Aa=l(M.showvlines,a.showVLines,1),ma=l(M.alpha,a.vLineAlpha,80),Ka=d(M.color,a.vLineColor).replace(/^#?/,
"#"),P=P?d(M.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):J,Va=d(M.labelcolor,a.vLineLabelColor,M.color,p.inCancolor,a.vLineColor).replace(/^#?/,"#"),ba=l(M.thickness,a.vLineThickness,1),U=Boolean(Number(d(M.dashed,0))),va=l(M.dashlen,5),sa=l(M.dashgap,2),ka=z.fontSize,parseInt(ka.replace(/px/i,""),10),ka=l(M.rotatelabel,a.rotateVLineLabels)?270:0,ya=0>ya||1<ya?.5:ya,$=0>$||1<$?0:$,v.useEllipsesOnOverflow(m.useEllipsesWhenOverflow),v.setStyle(z),v.getOriSize(xa),Ka=T(Ka,Aa?ma:"0"),
ma=1===Number(M.showontop)||1===a.showVLinesOnTop?A:w,Ba=!1,ha=M.animate&&!s?M.startIndex+1:M.startIndex,ca=t[ha],Z=t[ha+1],ca?Z||(ga=t[0]&&t[0].x?g:b.oriCatLen,Ba=!0):(ga=t[0]&&t[0].x?c:-1,Ba=!0),Ba||(ga=l(ca.x,ca.y,ha),ya*=ga-l(Z.x,Z.y,ha+1)),ya=ga+ra(ya),la&&(ya<oa.minValue||ya>oa.maxValue)||!M.animate&&(ya<c||ya>g)||M.animate&&(ya<c||ya>g+na)||(ya=this.getPixel(ya),U={opacity:1,stroke:Ka,"stroke-width":ba,"stroke-dasharray":U?ia(va,sa,ba):"none"},va={opacity:1,text:xa,"text-anchor":R,"vertical-align":X,
"text-bound":[]},Va={fill:Aa?Va:Ka,fontSize:z.fontSize,fontFamily:z.fontFamily,lineHeight:z.lineHeight,backgroundColor:P},s?(ba=ua(["M",q,ya,"L",K,ya],ba),ea.path=ba.path,fa.x=q+e*(F?1-$:$),fa.y=ya):(ba=ua(["M",ya,E,"L",ya,n],ba),ea.path=ba.path,fa.x=ya,fa.y=E+aa*(F?1-$:$)),U["shape-rendering"]=ba.isCrisped?"crisp":void 0,"start"==R?fa.x+=2:"end"==R&&(fa.x-=2),"top"==X?fa.Y+=2:"bottom"==X&&(fa.Y-=2),r[B]?(R=r[B].graphics.drawing,X=r[B].graphics.label,X.css(Va).attr({transform:"r "+ka}),ma.appendChild(R),
R.attr(U),k&&ta&&!M.animate?(R.animateWith(da,za,ea,k),X.animateWith(da,za,fa,k,C)):(R.attr(ea),X.attr(fa)),X.attr(va)):(R=W.path(U,ma),R.attr(ea),X=W.text(va,h).css(Va).attr(fa).attr({transform:"r "+ka}),r[B]={},r[B].graphics={},r[B].config={},r[B].graphics.drawing=R,r[B].graphics.label=X),M.animate&&!s&&(na=M.leftShift*H,R={x:fa.x-na},X={path:["M",ya-na,E,"L",ya-na,n]},M["delete"]&&(R.opacity=0,R["text-bound"]=[],X.opacity=0),r[B].graphics.label.animateWith(da,za,R,k,C),r[B].graphics.drawing.animateWith(da,
za,X,k,C)),M={label:xa,lineHeight:z.lineHeight,backgroundColor:P,borderPadding:2,borderWidth:Aa&&V?1:0,borderType:Aa&&V?"solid":J,borderColor:Aa&&V?Ka:J},xa?r[B].graphics.label.attr({"line-height":z.lineHeight,"text-bound":[M.backgroundColor,M.borderColor,M.borderWidth,M.borderPadding,M.borderRadius,M.borderType]}):r[B].graphics.label.attr({"text-bound":[]}),B++);if(r[B])for(Q=B;Q<r.length;Q++)r[Q].graphics.drawing.attr({path:["M",0,0]}),r[Q].graphics.label.attr({text:"","text-bound":[]});this.components.categoryVline=
r},_drawCategoryPlotLine:function(){var b=this.config,a=b.axisData,g=b.isVertical,d=b.axisRange,c=d.max,e=d.min,l=b.canvas,k=this.chart,m=k.config,p=a.categories.category,n=p.length,d=l.canvasBottom||m.canvasBottom,K=l.canvasLeft||m.canvasLeft,E=l.canvasRight||m.canvasRight,l=l.canvasTop||m.canvasTop,m=a.axisPlotLineContainer,aa=k.components.paper,q=this.graphics.line||[],s=0,v=T(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,t=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,A):"none",
b=b.animateAxis,h,w,F,v={stroke:v,"stroke-width":A,"stroke-dasharray":t};if(p[0]&&(void 0!==p[0].x||void 0!==p[0].y)){if(q[s]&&"categories"===a.xAxisLabelMode)for(c=s;c<q.length;c++)q[c].attr({path:[]})}else if(a.lines.isDraw&&a.categoryNumDivLines){s=k.get("config","animationObj");p=s.animObj;t=s.dummyObj;k=s.transposeAnimDuration;F=s.animType;a.categoryDivLinesFromZero&&(e=0,c=n-1);n=ra(c-e)/(a.categoryNumDivLines+1);n=0===n?1:n;w=this._getVisibleConfig();s=e+n*ha((w.minValue-3*n-e)/n);w=e+n*ha((w.maxValue+
3*n-e)/n);s=(s<e?e:s)+n;w=(w>c?c:w)-n;c=s;for(s=0;c<=w;c+=n)e=a.hasBreakPoints?this._getRealBreakValue(c):c,h=g?ua(["M",K,this.getPixel(e),"L",E,this.getPixel(e)],A):ua(["M",this.getPixel(e),l,"L",this.getPixel(e),d],A),e={path:h.path},v["shape-rendering"]=h.isCrisped?"crisp":void 0,q[s]?(h=q[s],k&&b?h.animateWith(t,p,e,k,F):h.attr(e),h.attr(v)):(h=aa.path(e,m),h.attr(v),q[s]=h),s+=1;if(q[s])for(c=s;c<q.length;c++)q[c].attr({path:[]});this.graphics.line=q}else if(q[s])for(c=s;c<q.length;c++)q[c].attr({path:[]})},
_drawCategoryPlotBand:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=g.max,c=g.min,e=b.canvas,l=this.chart,k=l.config,m=a.categories.category,p=m.length,g=e.canvasLeft||k.canvasLeft,n=e.canvasRight||k.canvasRight,K=e.canvasTop||k.canvasTop,E=e.canvasHeight||k.canvasHeight,e=e.canvasWidth||k.canvasWidth,k=b.isVertical,q=a.axisBandContainer,t=l.components.paper,s=this.graphics.band||[],v=0,A=a.showAlternateGridColor,w=a.alternateGridColor,h=a.alternateGridAlpha,r=a.categoryDivLinesFromZero,
b=b.animateAxis,z,B,D,C;if(m[0]&&(void 0!==m[0].x||void 0!==m[0].y)){if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})}else if(A&&a.band.isDraw&&a.categoryNumDivLines){v=l.get("config","animationObj");m=v.animObj;A=v.dummyObj;l=v.transposeAnimDuration;C=v.animType;r&&(c=0,d=p-1);a=ra(d-c)/(a.categoryNumDivLines+1);a=0===a?1:a;v=this._getVisibleConfig();p=c+a*ha((v.minValue-3*a-c)/a);r=c+a*ha((v.maxValue+3*a-c)/a);p=p<c?c:p;r=r>d?d:r;c=Ca((p-c)/a);p+=a;
w={fill:F(T(w,h)),"stroke-width":0};B=this.getPVR();h=p;for(v=0;h-a<r;c+=1,h+=a)0===c%2&&(z=h===p?a+ra(this.getValue(0))+1:h===r?a+ra(this.getValue(n-g)-d):a,z=k?{x:g,y:h===r?this.getPixel(h-ra(a)):this.getPixel(h-ra(z)),width:e,height:ra(z*B)}:{x:h===r?this.getPixel(h-ra(a)):this.getPixel(h-ra(z)),y:K,width:ra(z*B),height:E},s[v]?(D=s[v],l&&b?D.animateWith(A,m,z,l,C):D.attr(z),D.attr(w)):(D=t.rect(z,q),D.attr(w),s[v]=D),v+=1);if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,
"stroke-width":0});this.graphics.band=s}else if(s[v])for(h=v;h<s.length;h++)s[h].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},resetNumericAxisComponents:function(){var b=this.graphics.line,a=this.graphics.labels,g;if(b&&b[0])for(g=0;g<b.length;g+=1)b[g].attr({path:[]});if(a&&a[0])for(g=0,b=a.length;g<b;g+=1)a[g].attr({text:""})},resetCategoryAxisComponents:function(){var b=this.graphics.line,a=this.components.categoryVline,g=this.components.categoryLabel,d=this.components.categoryLabelLine,
c;if(b&&b[0])for(c=0;c<b.length;c+=1)b[c].attr({path:[]});if(g&&g[0])for(c=0,b=g.length;c<b;c+=1)g[c].graphics.label.attr({text:"","text-bound":[]}),g[c].graphics.secondLabel&&g[c].graphics.secondLabel.attr({text:"","text-bound":[]});if(d&&d[0])for(c=0,b=d.length;c<b;c+=1)d[c].graphics.line.attr({path:["M",0,0]});if(a&&a[0])for(c=0,b=a.length;c<b;c+=1)a[c].graphics.drawing.attr({path:["M",0,0]}),a[c].graphics.label.attr({text:"","text-bound":[]})},placeAxis:function(b){return this.config.isVertical?
this._placeVerticalAxis(b):this._placeHorizontalAxis(b)},_placeVerticalAxis:function(b){var a=this.config,g=this.chart,c=g.config,e=g.components,k=g.linkedItems.smartLabel,m=a.axisData,p=a.axisRange,W=m.name,n=a.isOpposit,q=e.numberFormatter,K=c.canvasHeight,E=m.labelPadding=l(a.rawAttr.axisValuePadding,4),aa=l(a.rawAttr.axisNamePadding,5),t=m.useEllipsesWhenOverflow,s=m.name.style,v=m.trend.trendStyle,A=m.axisName,w=a.trendLines,h=a.drawLabelsOpposit,F=a.drawAxisNameOpposit,r=a.drawLabelOnBothSide,
z=0,B=0,C=0,G=0,J=0,H={left:0,right:0},I="",M="",xa=0,T,Q,R,V,P,X,ya;c.viewPortConfig&&1!==c.viewPortConfig.scaleY&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();m.oriCanvasHeight=K;0>E&&(m.labelPadding=2);xa=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(E,2)+xa,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:xa)+2),b-=m.axisLineThickness):(m.labelPadding=l(E,2),0>m.labelPadding&&(m.labelPadding=
2));E=p.max;Q=p.min;m.name.rotation=0;m.labels.step=m.labelStep;m.labels.isDraw=1;m.lines.isDraw=1;m.band.isDraw=1;m.labels.drawNormalVal=m.showDivLineValues;m.labels.drawLimitVal=m.showLimits;xa=s.lineHeight;xa=Number(xa.replace(/px/i,""));xa<b&&(b-=xa);1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);T=a.drawLabels?this._getVMaxLabelDimention(r?b-2*m.labelPadding/2:b-m.labelPadding):{width:0,height:0};if(T.width+m.labelPadding>b&&!m.hasCategory||0===T.width)m.labels.isDraw=0;m.labels.isDraw&&
(m.labelMaxW=T.width,m.labelMaxH=T.height,z=T.width+m.labelPadding,B=r?2*z:z);if(a.drawTrendLines&&a.drawTrendLabels&&w){p=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis;k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);k.setStyle({fontSize:v.fontSize,fontFamily:v.fontFamily,lineHeight:v.lineHeight,fontWeight:v.fontWeight});c=0;for(v=w.length;c<v;c+=1)for(T=0,V=w[c].line&&w[c].line.length;T<V;T+=1)P=w[c].line[T],X=q.getCleanValue(d(P.startvalue,
P.value,0)),ya=l(P.endvalue,X),X<=E&&X>=Q&&ya<=E&&ya>=Q&&(a.isOpposit&&(P.valueonright=1),R=1===Number(P.valueonright)?P.origText||P.displayvalue||P.endvalue||P.startvalue||"":P.origText||P.displayvalue||P.startvalue||P.endvalue||"",R=D(R),R===(P.endvalue||P.startvalue)&&(R=""+p.call(e.numberFormatter,R)),(X=l(P.valueonright,0))?R.length>M.length&&(M=R):R.length>I.length&&(I=R));T=k.getOriSize(M);J=T.width+m.labelPadding;T=k.getOriSize(I);G=T.width+m.labelPadding;n?(J>B&&J>b&&(J=b),B=na(B,J+m.labelPadding),
G>b-B&&(G=Fa(G,b-B))):(G>B&&G>b&&(G=b),B=na(B,G+m.labelPadding),J>b-B&&(J=Fa(J,b-B)));c=0;for(v=w.length;c<v;c+=1)for(T=0,V=w[c].line&&w[c].line.length;T<V;T+=1){P=w[c].line[T];X=q.getCleanValue(d(P.startvalue,P.value,0));ya=l(P.endvalue,X);R=1===Number(P.valueonright)?P.origText||P.displayvalue||""+ya||"":P.origText||P.displayvalue||""+X||"";R=D(""+R);if(Number(R)===ya||Number(R)===X)R=""+p.call(e.numberFormatter,R);P.origText=R;I=(X=l(P.valueonright,0))?k.getSmartText(R,J,g.canvasHeight,t):k.getSmartText(R,
B,g.canvasHeight,t);P.displayvalue=I.text;I.tooltext?P.valueToolText=I.tooltext:delete P.valueToolText}}b+=xa;!a.drawAxisName||0>=b-B-J||""===A?(W.isDraw=!1,W.value=""):(k.setStyle({fontSize:s.fontSize,fontFamily:s.fontFamily,lineHeight:s.lineHeight,fontWeight:s.fontWeight}),W.isDraw=!0,m.rotateAxisName?(m.name.rotation=n?90:270,a=k.getSmartText(A,K,b-B-J),W.value=A,m.nameMaxW=Fa(a.height)):(a=k.getSmartText(A,b-B-J,K),W.value=A,m.nameMaxW=Fa(a.width,b-B),m.nameMaxH=a.height,0<=m.axisNameWidth&&(m.nameMaxW=
Fa(m.nameMaxW,m.axisNameWidth))),C=m.nameMaxW+aa);n?(r?(H.left+=na(z,G),H.right+=na(z,J)):h?(H.left+=na(z,G),H.right+=J):(H.left+=G,H.right+=na(z,J)),F?(m.axisNamePadding=H.left+aa,H.left+=C):(m.axisNamePadding=H.right+aa,H.right+=C)):(r?(H.left+=na(z,G),H.right+=na(z,J)):h?(H.left+=G,H.right+=na(z,J)):(H.left+=na(z,G),H.right+=J),F?(m.axisNamePadding=H.right+aa,H.right+=C):(m.axisNamePadding=H.left+aa,H.left+=C));W.isDraw&&m.axisNamePadding+m.nameMaxW>b&&(m.axisNamePadding=b-m.nameMaxW);return H},
_placeHorizontalAxis:function(b){var a=this.config,g=this.chart,c=g.config,e=g.components,k=g.linkedItems.smartLabel,m=a.axisData,p=a.axisRange,n=m.name,q=a.isOpposit,t=e.numberFormatter,K=a.drawLabelsOpposit,E=a.drawAxisNameOpposit,aa=a.drawLabelOnBothSide,w=0,s=c.canvasWidth,v=m.labelPadding=l(a.rawAttr.axisValuePadding,4),A=l(a.rawAttr.axisNamePadding,5),F=m.useEllipsesWhenOverflow,h=m.name.style,z=m.trend.trendStyle,r=m.axisName,B=a.vTrendLines,C,G=0,J=0,H={top:0,bottom:0},I=0,M=0,T,xa,Q,P,R,
V,X;c.viewPortConfig&&1!==c.viewPortConfig.scaleX&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();0>v&&(m.labelPadding=2);M=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(v,2)+M,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:M)+2),b-=m.axisLineThickness):(m.labelPadding=l(v,2),0>m.labelPadding&&(m.labelPadding=2));v=p.max;p=p.min;m.labels.rotation=0;m.labels.step=m.labelStep;m.labels.isDraw=1;m.lines.isDraw=
1;m.band.isDraw=1;m.labels.drawNormalVal=m.showDivLineValues;m.labels.drawLimitVal=m.showLimits;M=h.lineHeight;M=Number(M.replace(/px/i,""));M<b&&(b-=M);m.rotateLabels&&"stagger"!==m.labelDisplay&&"none"!==m.labelDisplay&&(m.labelDisplay="rotate");1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);P=a.drawLabels?this._getHMaxLabelDimention(aa?(b-2*m.labelPadding)/2:b-m.labelPadding):{width:0,height:0};m.labels.rotation?P.width+m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0):P.height+
m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0);m.labels.isDraw&&(m.labels.rotation?(m.labelMaxW=P.height,m.labelMaxH=P.width,w=P.width+m.labelPadding):(m.labelMaxW=P.width,m.labelMaxH=P.height,w=P.height+m.labelPadding),G=aa?2*w:w);G=na(G,m.labelPadding);P=G<=b?b-G:b;if(a.drawTrendLines&&a.drawTrendLabels&&B&&a.isActive)for(X=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis,k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),k.setStyle({fontSize:z.fontSize,
fontFamily:z.fontFamily,lineHeight:z.lineHeight,fontWeight:z.fontWeight}),c=0,C=B.length;c<C;c+=1)for(T=0,Q=B[c].line&&B[c].line.length;T<Q;T+=1)R=B[c].line[T],xa=t.getCleanValue(d(R.startvalue,R.value,0)),V=l(R.endvalue,xa),xa<=v&&xa>=p&&V<=v&&V>=p&&(xa=R.origText||R.displayvalue||R.endvalue||R.startvalue||"",xa=D(xa),xa===(R.endvalue||R.startvalue)&&(xa=""+X.call(e.numberFormatter,xa)),R.origText=xa,xa=k.getSmartText(xa,g.canvasWidth,z.lineHeight,F),V=xa.height+2,0>P-V?R.displayvalue="":(R.displayvalue=
xa.text,I=I<xa.height?xa.height:I),xa.tooltext?R.valueToolText=xa.tooltext:delete R.valueToolText);G+=I;P=P-I+M;b+=M;!a.drawAxisName||0>=P||""===r?(n.isDraw=!1,n.value=""):(k.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight}),n.isDraw=!0,a=k.getSmartText(r,s,P),n.value=r,m.nameMaxW=s,m.nameMaxH=a.height,J=a.height+A,m.axisNamePadding=A+G,m.axisNamePadding+a.height>b&&(m.axisNamePadding=b-a.height,J=a.height+m.axisNamePadding-G));q?(aa?(H.bottom+=
w+I,H.top+=w):K?H.bottom+=w+I:(H.top+=w,H.bottom+=I),m.trendBottomPadding=H.bottom-I+2,E?H.bottom+=J:H.top+=J):(aa?(H.bottom+=w+I,H.top+=w):K?(H.top+=w,H.bottom+=I):H.bottom+=w+I,m.trendBottomPadding=H.bottom-I+2,E?H.top+=J:H.bottom+=J);return H},_getHMaxLabelDimention:function(b){function a(b,f){switch(f.toLowerCase()){case "left":return Math.abs(g._getCustomPixel(b));case "right":return Math.abs(e.width-g._getCustomPixel(b))}}var g=this,d=g.config,c=g.chart,e=c.config,k=c.components,m=c.linkedItems.smartLabel,
n=d.axisData,q=d.axisRange,t=n.labels,c=n.labelDisplay,K=n.slantLabel,E=t.style,aa=n.maxLabelHeight,F=q.tickInterval,s=n.staggerLines,v=n.labelStep,A=e.canvasLeft,z=e.canvasRight,h=s-2,r,B,D=q.max,G=q.min,v=0,q=n.categories&&n.categories.category,C=0,H,J,I,M={text:void 0,width:Number.NEGATIVE_INFINITY,style:void 0},T=Number.NEGATIVE_INFINITY,xa,P,R,Q,V=function(){},X=V,$=V,ya=V,Aa={},ma,Ka,ba,U,va,ka=0,sa=!1,fa=0,ea,ca=!1,Z,ga,na,Ba=Number.POSITIVE_INFINITY,da,za=Number.POSITIVE_INFINITY;if(n.hasCategory&&
(!q||0===q.length))return{width:0,height:0};n.hasCategory||(n.irregularCatAxis=!1);r=0===h?1:1===h?1.5:h;m.useEllipsesOnOverflow(e.useEllipsesWhenOverflow);m.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});if(n.irregularCatAxis){q.sort(function(b,a){return b.x-a.x});h=0;for(C=q.length;h<C;h++){H=q[h];if(void 0!==U){za=Math.min(za,H.x-U);ga=ra(g._getCustomPixel(G)-g._getCustomPixel(G+za));m.setStyle(H.style||{});Z=m.getOriSize("W");Z=Z.width;
if(ga<1.2*Z){H.label="";za=Ba;continue}na._individualIWR=ga;H._individualIWL=ga;Ba=za}na=H;U=H.x}za===Number.POSITIVE_INFINITY&&(za=Math.floor(Math.min(H.x,D-H.x)),za=Math.max(za,4));h=0;for(C=q.length;h<C;h++)H=q[h],h||(H._individualIWL=a(H.x,"left")),h===C-1&&(H._individualIWR=a(H.x,"right")),H.individualIW=Math.min(H._individualIWL,H._individualIWR);I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+za));I=Math.min(2*a(q[0].x,"left"),2*a(q[C-1].x,"right"),I)}else I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+
F));b=aa?aa:b;Aa.__root__={getHeight:function(){return I},getWidth:function(){return b},getCalculatedLabelStep:function(b){var a=0,f=b.length,h=Number.NEGATIVE_INFINITY,d,c=0;if(n.irregularCatAxis)return n.labelStep;for(;a<f;a++)if(d=b[a])d.label||(d.label=""),J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight},c++,d.style=d.style||{},p(J,d.style),J.lineHeight=w(J),m.setStyle(J),xa=m.getSmartText(d.label),h=Math.max(xa.height,h);b=Math.floor(ra(g._getCustomPixel(D)-
g._getCustomPixel(G))/h);if(c<=b)return n.labelStep;c=Math.max(Math.ceil(c/b),n.labelStep);I=ra(g._getCustomPixel(G)-g._getCustomPixel(G+c));return c}};Aa._inProp={};Aa.getCopyById=function(b){var a=this.__root__,f=this._inProp.copyStore,g,f=f||{};if(g=f[b])return g;p(g=f[b]={},a);return g};if(n.hasCategory){switch(c){case "rotate":t.rotation=K?300:270;Q=Aa.getCopyById("rotate");break;case "stagger":Q=Aa.getCopyById("stagger");Q.getHeight=function(b){var a;a=(b=n.categories.category[b])&&b.style||
(b.style={});J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight};p(J,a);m.setStyle(J);return m.getOriSize(b.label).height};Q.getWidth=function(b){return b.individualIW?b.individualIW:2*I*r-4};ya=function(a){var f,g=a.length,h=0,d,c,e;m.setStyle(E);f=m.getOriSize("WWW").height;if(Math.floor(a[g-1]._cumulativeSum)<=Math.ceil(g*(f+2)))c=Math.floor(b/f),s=0>c-s?c:s;else{c=Math.floor(b/(f+4));do for(h=0,e=c,d=e-1,g=a.length;d<g;){g-d<c&&(d=g-1);f=a[d];h=f._cumulativeSum-
h;if(~~h>-~b){sa=!0;break}else sa=!1;h=f._cumulativeSum;d+=e}while(c--&&sa);c++;s=Math.min(s,c)}};X=function(b){var a,f,g,h,d=0;h=0;for(g=b.length;h<g;h++)a=b[h],a.stepSkipped||(f=a&&a.style||{},(f=f.lineHeight)||(f=E.lineHeight),(B=d++%s)?a.labelPadding=f.replace(/px/i,"")*B:a.labelPadding=0)};break;case "none":Q=Aa.getCopyById("none");Q.getHeight=V;$=Q.getWidth=V;n.rotateLabels&&(t.rotation=K?300:270,ea=b);Q.getCalculatedLabelStep=function(){return n.labelStep};break;default:Q=Aa.getCopyById("auto"),
Q.getHeight=function(){return b},Q.getWidth=function(b){return b.individualIW?b.individualIW:I-8},$=function(b,a){var f,g,h,d;if(!n.irregularCatAxis&&(m.setStyle(b),f=m.getOriSize("WWW"),f=f.width,f>=I)){t.rotation=K?300:270;t.forceRotate=!0;Q=Aa.getCopyById("rotate");P=Q.getWidth;R=Q.getHeight;f=M.width=0;for(g=a.length;f<g;f++)(h=a[f])&&(h.label||h.oriLabel)&&0!==l(h.showlabel,n.showLabels,1)&&(d=h._ovrStyle,m.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight}),
xa=m.getSmartText(h.oriLabel,P(h),R(f)),h.label=xa.text,h.labelTooltext=xa.tooltext,h._sLabel=xa,M.width<xa.width&&(M.text=xa.text,M.width=xa.width,M.style=d));ma=M.text}}}P=Q.getWidth;R=Q.getHeight;v=n.labels.step=n.labelStep=n._oriLabelStep;v=n.labels.step=n.labelStep=Q.getCalculatedLabelStep(q);h=0;for(C=q.length;h<C;h++)(H=q[h])&&(H.label||H.oriLabel)&&0!==l(H.showlabel,n.showLabels,1)&&(ca=!0,J={fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight},p(J,
H.style),J.lineHeight=w(J),m.setStyle(J),h%v&&(H.stepSkipped=!0,fa++),xa=m.getSmartText(H.oriLabel||H.label,P(H),R(h)),ka+=H._nLineHeight=xa.height+2,H._cumulativeSum=ka,H._ovrStyle=J,H.oriLabel=H.oriLabel||H.label,H.label=xa.text,H.labelTooltext=xa.tooltext,H._sLabel=xa,M.width<xa.oriTextWidth&&(p(M,xa),M.style=J),T<xa.height&&(T=xa.height));if(!ca)return{height:0,width:0};ya(q,fa);X(q,fa);$(M.style,q);ma=M.text||"";if("mixed"===n.xAxisLabelMode)for(H=d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis,
v=ma.length,h=G;h<=D;h+=F)U=n.hasBreakPoints?g._getRealBreakValue(h):h,U=""+H.call(k.numberFormatter,U,d.axisIndex),U.length>v&&(ma=U,v=U.length);M.height=Math.max(T,M.height||0);Ka=q.length;h=0;for(C=q.length;h<C&&(va=q[h],!va._sLabel);h++);C=q.length;for(h=C-1;0<=h&&(da=q[h],!da._sLabel);h--);ba=g._isZoomed();t.rotation||ba?(n.axisEndLabelDisplaySpace.left=0,n.axisEndLabelDisplaySpace.right=0):(n.axisEndLabelDisplaySpace.left=Math.max(A-(g._getCustomPixel(va.x||0)-va._sLabel.width/2),0),n.axisEndLabelDisplaySpace.right=
Math.max(g._getCustomPixel(da.x||Ka-1)+da._sLabel.width/2-z,0));va=M}else{H=n.numberFormatterFn?k.numberFormatter[n.numberFormatterFn]:d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis;for(h=G;h<=D;h+=F)U=n.hasBreakPoints?g._getRealBreakValue(h):h,U=""+H.call(k.numberFormatter,U,d.axisIndex),h===G&&(Ka=U),h===D&&(ba=U),U.length>v&&(ma=U,v=U.length);m.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});va=m.getOriSize(ma||"");"rotate"===
c&&(t.rotation=270);n.rotateLabels&&(t.rotation=K?300:270);t.rotation||(Ka=m.getOriSize(Ka||""),ba=m.getOriSize(ba||""),n.axisEndLabelDisplaySpace.left=Ka.width/2,n.axisEndLabelDisplaySpace.right=ba.width/2)}n.hasCategory&&"stagger"===c&&(va.height=s*M.height);va.width=ea?Math.min(ea,va.width):va.width;return va},_getVMaxLabelDimention:function(b){var a,g,c,e,k=this.config,m=this.chart,p=m.components,n=m.config,q=m.linkedItems.smartLabel,t=k.axisData,K=k.axisRange,E=t.labels.style,aa=K.tickInterval,
F=t.useEllipsesWhenOverflow;c=t.maxLabelWidthPercent;a=K.max;e=K.min;var K=0,s=m.jsonData.categories,m={height:0,width:0},v,A;q.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);q.setStyle({fontSize:E.fontSize,fontFamily:E.fontFamily,lineHeight:E.lineHeight,fontWeight:E.fontWeight});if(t.hasCategory){s&&(v=s[0].font,A=s[0].fontsize);c&&(n=c/100*n.width,n<b&&(b=n));k=t.categories.category;n=0;for(p=k.length;n<p;n++)aa=k[n],0!==l(aa.showlabel,t.showLabels)&&(a=d(aa.font,aa.labelfont,v,E.fontFamily),
g=d(aa.fontsize,aa.labelfontsize,A,E.fontSize).replace(/px/i,"")+"px",c="normal"==E.fontWeight?l(aa.fontbold,aa.labelfontbold,0)?"bold":"normal":E.fontWeight,e="normal"==E.fontStyle?l(aa.fontitalic,aa.labelfontitalic,0)?"italic":"normal":E.fontStyle,a={fontFamily:d(a,v,E.fontFamily),fontSize:d(g,A,E.fontSize),fontWeight:d(c,E.fontWeight),fontStyle:d(e,E.fontStyle)},a.lineHeight=w(a),q.setStyle(a),a=q.getSmartText(aa.oriLabel||aa.label,b,E.lineHeight,F),aa.oriLabel=aa.oriLabel||aa.label,aa.label=a.text,
aa.labelTooltext=a.tooltext,a.width>K&&(m=a,K=a.width));return m}b=t.numberFormatterFn?p.numberFormatter[t.numberFormatterFn]:k.isPercent?p.numberFormatter.percentValue:p.numberFormatter.yAxis;for(n=e;n<=a;n+=aa)E=t.hasBreakPoints?this._getRealBreakValue(n):n,E=""+b.call(p.numberFormatter,E,k.axisIndex),E.length>K&&(g=E,K=E.length);return q.getOriSize(g)},getLogAxisLimits:function(b,a,g,d,c,e){var l=function(b){return null===b||void 0===b||""===b||isNaN(b)?!1:!0},k=0,m=[],p,n,K,E,q,t,s,v;b===a&&(a-=
a/100);l(g)&&Number(g)>=b?b=Number(g):(g=1<c?Da(wa(b)/wa(c)):ha(wa(b)/wa(c)),b=Ia(c,g),n=g);n||(n=1<c?Da(wa(b)/wa(c)):ha(wa(b)/wa(c)));l(d)&&Number(d)<=a?a=Number(d):(g=1<c?ha(wa(a)/wa(c)):Da(wa(a)/wa(c)),a=Ia(c,g),p=g);p||(p=1<c?ha(wa(a)/wa(c)):Da(wa(a)/wa(c)));d=Number(String(wa(c)/wa(10)));e=Number(e)||(ha(d)==d?8:4);1<c?(K=n,E=p):0<c&&1>c&&(K=p,E=n);d=n;for(p=K;p>=E;--p)if(K=Ia(c,d),a<=K&&b>=K&&(m[k++]={value:K,ismajor:!0}),p!=E){n=1<c?-1:1;K=Ia(c,d)-Ia(c,d+n);g=K/(e+1);for(l=1;l<=e;++l)K=Ia(c,
d+n)+g*l,a<=K&&b>=K&&(m[k++]={value:K,ismajor:!1});1<c?d--:d++}for(s in m)for(v in m[s])"value"==v&&(q||(q=m[s][v]==a&&(m[s].isextreme=m[s].isMin=!0)),t||(t=m[s][v]==b&&(m[s].isextreme=m[s].isMax=!0)));q||(m[k++]={value:a,ismajor:!0,isMin:!0,isextreme:!0});t||(m[k]={value:b,ismajor:!0,isMax:!0,isextreme:!0});return{Max:b,Min:a,divArr:m}},getCategoryLen:function(){return this.config.axisData.categories?this.config.axisData.categories.category.length:0},getCleanValue:function(b,a){var g=this.chart;
return(this.components.numberFormatter||g.components.numberFormatter).getCleanValue(b,a)},dataLabels:function(b){var a=this.chart;return(this.components.numberFormatter||a.components.numberFormatter).dataLabels(b,this.config.axisIndex)},setNumberFormatter:function(b){this.components.numberFormatter=b}}]);FusionCharts.register("component",["axis","log",{configure:function(){var b=this.config,a=b.axisData,b=b.rawAttr,g=this.chart.components,c=g.numberFormatter,g=g.colorManager;FusionCharts.register("component",
["axis","cartesian"]).prototype.configure.call(this);a.base=l(b.base,b.logBase,10);a.showMinorDivLineValues=l(b.showMinorDivLineValues,1);a.numMinorDivLines=l(b.numMinorDivLines);a.minorDivlinecolor=T(d(b.minorDivlinecolor,g.getColor("divLineColor")),l(b.minorDivLineAlpha,g.getColor("divLineAlpha")/2));a.axisMinValue=c.getCleanValue(b.axisMinValue);a.axisMaxValue=c.getCleanValue(b.axisMaxValue);0>=a.axisMinValue&&(a.axisMinValue=void 0);0>=a.axisMaxValue&&(a.axisMaxValue=void 0);a.minorDivLineThickness=
l(b.minorDivLineThickness,1)},setDataLimit:function(b,a){var g=this.config,d=g.axisData,g=g.axisRange,c=this.getLogAxisLimits,e=d.axisMaxValue,k=d.axisMinValue,d=c(l(b,e),l(a,k),e,k,d.base,d.numMinorDivLines);g.min=Number(Q(d.Min,10));g.max=Number(Q(d.Max,10));g.divArr=d.divArr||{}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,g=b.axisData,d=b.isVertical,c=b.axisRange,e=this.getLogAxisLimits,b=b.rawAttr,k,m;g.hasCategory||(d=d?a.scaleY:a.scaleX,a=l(b.axisrange?
b.axisrange.max:c.max),m=l(b.axisrange?b.axisrange.min:c.min),b=1===d?g.axisMaxValue:c.max,k=1===d?g.axisMinValue:c.min,l(1===d?g.adjustDiv:0),g=e(a,m,b,k,g.base,g.numMinorDivLines),c.min=Number(Q(g.Min,10)),c.max=Number(Q(g.Max,10)),c.divArr=g.divArr||{})},getPixel:function(b){var a=this.config,g=this.chart.config,d=a.axisRange,c=g.viewPortConfig,e=g.canvasHeight,l=g.canvasWidth,k=g.canvasTop,m=g.canvasLeft,p=g.canvasBottom,g=g.canvasRight,n=d.max,d=d.min,K=a.axisData.base,E=wa(n)/K,q=wa(d)/K;b=
wa(b)/K-q;c||(c={x:m,y:k,scaleX:1,scaleY:1});a.isVertical?(l=-e*c.scaleY/(E-q),a=a.isReverse?p-(b*l+(e*c.scaleY-c.y*c.scaleY)):k+(b*l+(e*c.scaleY-c.y*c.scaleY))):(l=l*c.scaleX/(wa(n-d)/K),a=a.isReverse?g-(b*l-c.x*c.scaleX):m+(b*l-c.x*c.scaleX));return a},_drawPlotLine:function(){var b=this.config,a=b.axisData,g=b.axisRange,d=b.isVertical,c=this.chart,e=c.config,l=e.canvasLeft,k=e.canvasRight,m=e.canvasTop,e=e.canvasBottom,p=a.showCanvasBorder,n=g.max,K=g.min,E=a.axisPlotLineContainer,q=c.components.paper,
t=this.graphics.line||[],s=0,v=T(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,w=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,A):"none",h=T(a.zeroPlaneColor,a.zeroPlaneAlpha),F=a.zeroPlaneThickness,b=b.animateAxis,z,r,B,D,G,C,H,J,I,M;D={stroke:v,"stroke-width":A,"stroke-dasharray":w};w={stroke:a.minorDivlinecolor,"stroke-width":a.minorDivLineThickness,"stroke-dasharray":w};if(a.lines.isDraw){z=c.get("config","animationObj");I=z.animObj;M=z.dummyObj;c=z.transposeAnimDuration;z=z.animType;
this._getVisibleConfig();G=g.divArr;C=G.length;for(g=0;g<C;g++)if(H=G[g],J=H.value,r=this.getPixel(J),!p||J!==K&&J!==n)if(0!==a.showZeroPlaneValue||0!==a.showZeroPlane||0!==J)0===J&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(D.stroke=h,D["stroke-width"]=F),B=d?{path:"M"+l+" "+r+"L"+k+" "+r}:{path:"M"+r+" "+m+"L"+r+" "+e},t[s]?(r=t[s],c&&b?r.animateWith(M,I,B,c,z):r.attr(B),r.attr(H.ismajor?D:w)):(r=q.path(B,E),r.attr(H.ismajor?D:w),t[s]=r),0===J&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&
(D.stroke=v,D["stroke-width"]=A),s+=1;if(t[s])for(g=s;g<t.length;g++)t[g].attr({path:[]});this.graphics.line=t}else if(t[s])for(g=s;g<t.length;g++)t[g].attr({path:[]})},_drawLabel:function(){var b=this.config,a=b.axisData,g=this.chart,d=g.config,c=g.components,e=b.axisRange,l=b.isOpposit,k,m=a.labels,p=m.style,n=b.isVertical,K=e.max,E=e.min,q=d.canvasBottom,t=d.canvasLeft,s=d.canvasRight,d=d.canvasTop,v=a.axisContainer,A=a.labelPadding,w=c.paper,h=a.labelMaxH,F=a.labelMaxW,r=a.axisStartPosition,z=
this.graphics.labels||[],B=0,D=b.animateAxis,G,C,H,J,I,M,T,Q={fontFamily:p.fontFamily,fontSize:p.fontSize,fontWeight:p.fontWeight,fontStyle:p.fontStyle,lineHeight:p.lineHeight},P,R,V={},X,ya,$,ma;p.lineHeight&&(M=p.lineHeight,-1!==M.indexOf("px")&&(M=M.replace("px",""),M=parseFloat(M)));if(a.labels.isDraw){G=g.get("config","animationObj");X=G.animObj;ya=G.dummyObj;$=G.animType;G=G.transposeAnimDuration;ra(this.getPixel(E)-this.getPixel(E+e.tickInterval));ma=this._isZoomed();a.labels.step?k=e.tickInterval*
a.labels.step:k=e.tickInterval;I=a.labels.rotation;J=this._getVisibleConfig();p={fill:p.color,"line-height":M,"font-size":p.fontSize};M=e.divArr;R=M.length;for(e=0;e<R;e++)if(C=M[e],H=C.value,P=this.getPixel(H),!(!C.ismajor&&!a.showMinorDivLineValues||T&&P>T-a.labelMaxH&&P<T+a.labelMaxH||ma&&(H<J.minValue||H>J.maxValue)||!a.labels.drawNormalVal&&(!a.labels.drawLimitVal||H!==E&&H!==K)||!a.labels.drawNormalVal&&H!==E&&H!==K||!(a.labels.drawLimitVal||H!==E&&H!==K)||0===a.showZeroPlaneValue&&0===a.showZeroPlane&&
0===H)){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>H&&0<H+k||0<H&&0>H-k))if(n){if(P+h>=this.getPixel(0)&&this.getPixel(0)>=P-h)continue}else if(P+F>=this.getPixel(0)&&this.getPixel(0)>=P-F)continue;n?(T=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.yAxis,H=""+T.call(c.numberFormatter,H),T=a.hasCategory?a.categories.category[e].labelPadding||0:0,this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
Q),v.attr({"class":"Fusioncharts-axis-labels-yAxis"})),H={"text-anchor":l?"start":"end",text:H},P={x:l?(r||s)+A:(r||t)-A,y:T?P+T:P},T=P.y):(T=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis,H=""+T.call(c.numberFormatter,H),T=a.hasCategory?Number(a.categories.category[e].labelPadding)||0:0,this.graphics.labels||(v.attr({"class":"Fusioncharts-axis-labels-xAxis"}),g._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",Q)),H=
{text:H},P={x:P,y:l?(r||d)-A:(r||q)+A},T&&(H.y+=T),I?(p["text-anchor"]=l?"start":"end",p["vertical-align"]="center",V.transform="r "+I):p["vertical-align"]=l?"bottom":"top",T=P.x);m.shiftX&&(P.x+=m.shiftX);m.shiftY&&(P.y+=m.shiftY);P.transform=w.getSuggestiveRotation(I,P.x,P.y);z[B]?(C=z[B],I&&C.attr({"text-anchor":"middle","vertical-align":"center"}),C.attr(H),G&&D?C.animateWith(ya,X,P,G,$):(C.attr(P),C.attr(p))):(z[B]=C=w.text(H,v),C.attr(P),C.attr(V),C.attr(p));C.css(Q);B+=1}if(z[B])for(e=B;e<
z.length;e++)z[e].attr({text:""});this.graphics.labels=z}else if(z[B])for(e=B;e<z.length;e++)z[e].attr({text:""})},_drawPlotBand:function(){},_getVMaxLabelDimention:function(){var b=this.config,a=this.chart,g=a.components,d=a.linkedItems.smartLabel,c=b.axisData.labels.style,e=0,l=b.axisRange.divArr,k=l.length,m;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:c.fontSize,fontFamily:c.fontFamily,lineHeight:c.lineHeight,fontWeight:c.fontWeight});a=b.isPercent?g.numberFormatter.percentValue:
g.numberFormatter.xAxis;for(b=0;b<k;b++)c=l[b],c=""+a.call(g.numberFormatter,c.value),c.length>e&&(m=c,e=c.length);return d.getOriSize(m)},_getHMaxLabelDimention:function(){var b=this.config,a=this.chart,g=a.components,d=a.linkedItems.smartLabel,c=b.axisData.labels.style,e=0,l=b.axisRange.divArr,k=l.length,m;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:c.fontSize,fontFamily:c.fontFamily,lineHeight:c.lineHeight,fontWeight:c.fontWeight});a=b.isPercent?g.numberFormatter.percentValue:
g.numberFormatter.xAxis;for(b=0;b<k;b++)c=l[b],c=""+a.call(g.numberFormatter,c.value),c.length>e&&(m=c,e=c.length);return d.getOriSize(m)},getCleanValue:function(b){var a=null,g=this.chart.components.numberFormatter;b=ra(b);0<b&&(a=g.getCleanValue(b));return a}},"cartesian"]);FusionCharts.register("component",["axis","polarcartesan",{_drawComponents:function(){var b=this.config;b.drawLabels&&this._drawLabel();b.drawPlotlines&&this._drawPlotLine()},_drawPlotLine:function(){var b=this.config,a=b.axisData,
g=b.axisRange,d=g.tickInterval,c=b.isVertical,e=this.chart,k=e.config,m=k.canvasLeft,p=k.canvasRight,n=k.canvasTop,q=k.canvasBottom,K=g.max,g=g.min,E=e.jsonData.chart,k=a.axisPlotLineContainer,t=e.components.paper,w=this.graphics.line||[],s=this.graphics.axisLine||[],v=e.graphics,A=0,F=T(a.divLineColor,a.divLineAlpha),h=a.divLineThickness,z=a.divLineIsDashed?ia(a.divLineDashLen,a.divLineDashGap,h):"none",r=T(a.zeroPlaneColor,a.zeroPlaneAlpha),B=a.zeroPlaneThickness,D=b.animateAxis,C,G,H,z={stroke:F,
"stroke-width":h,"stroke-dasharray":z};C=e.get("config","animationObj");G=C.animObj;H=C.dummyObj;e=C.transposeAnimDuration;C=C.animType;E=l(E.xaxislinethickness,E.axislinethickness,1);a.showAxisLine?(c=c?["M",m-a.axisLineThickness/2,q,"L",m-a.axisLineThickness/2,n]:["M",m-E,q+a.axisLineThickness/2,"L",p,q+a.axisLineThickness/2],s[0]?(m=s[0],e&&D?(m.animate({path:c},e),m.attr({stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):m.attr({path:c,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness})):
(m=t.path({path:c,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},v.axisLineGroup),s[0]=m)):s[0]&&(m=s[0],m.attr({path:"M0,0"}));this.graphics.axisLine=s;if(a.lines.isDraw){c=this._getVisibleConfig();A=g+d*ha((c.minValue-3*d-g)/d);c=g+d*ha((c.maxValue+3*d-g)/d);A=A<g?g:A;c=c>K?K:c;p=K=A;for(A=0;K<c;){if(K!==g&&(0!==a.showZeroPlane||0!==K)){0===K&&1===a.showZeroPlane&&(z.stroke=r,z["stroke-width"]=B);m={path:["M"]};n=b.polarAxis;s=n.config.axisData.categories.category;q=s.length;for(s=0;s<
q;s++)v=n.getPixel(s,n.config.centerY-this.getPixel(K)),m.path.push(v.x,v.y,"L");m.path.pop();m.path.push("Z");w[A]?(n=w[A],e&&D?n.animateWith(H,G,m,e,C):n.attr(m),n.attr(z)):(n=t.path(m,k),n.attr(z),w[A]=n);0===K&&1===a.showZeroPlane&&(z.stroke=F,z["stroke-width"]=h);A+=1}a.showZeroPlane&&0>K&&0<K+d?(K=0,p+=d):K<p?K=p:(K+=d,p+=d)}if(w[A])for(K=A;K<w.length;K++)w[K].attr({path:[]});this.graphics.line=w}else if(w[A])for(K=A;K<w.length;K++)w[K].attr({path:[]})}},"cartesian"]);FusionCharts.register("component",
["axis","gauge",{configure:function(){var a=this.config,f=a.axisData,a=a.rawAttr,g=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);f.majorTMColor=T(d(a.majorTMColor,g.getColor("tickColor")),l(a.majorTMAlpha,100));f.majorTMNumber=l(a.majorTMNumber,5);f.majorTMHeight=l(a.majorTMHeight,6);f.tickValueStep=l(a.tickValueStep,1);f.tickValueStep=Ca(f.tickValueStep);0>=f.tickValueStep&&(f.tickValueStep=1);f.showTickMarks=l(a.showTickMarks,
1);f.connectTickMarks=f.showTickMarks?l(a.connectTickMarks,1):0;f.showTickValues=l(a.showTickValues,f.showTickMarks);f.majorTMThickness=l(a.majorTMThickness,1);f.upperlimit=a.upperlimit;f.lowerlimit=a.lowerlimit;f.reverseScale=1==l(a.reverseScale,0);f.adjustTM=Boolean(l(a.adjustTM,1));f.minorTMNumber=l(a.minorTMNumber,4);f.minorTMColor=T(d(a.minorTMColor,f.majorTMColor),l(a.minorTMAlpha,f.majorTMAlpha,100));f.minorTMHeight=f.showTickMarks?l(a.minorTMHeight,Ca(f.majorTMHeight/2)):0;f.minorTMThickness=
l(a.minorTMThickness,1);f.tickMarkDistance=l(a.tickMarkDistance,3);f.tickValueDistance=l(a.tickValueDistance,0)+2;f.placeTicksInside=l(a.placeTicksInside,0);f.placeValuesInside=l(a.placeValuesInside,0);f.upperLimitDisplay=D(a.upperLimitDisplay)||"";f.lowerLimitDisplay=D(a.lowerLimitDisplay)||"";f.drawTickMarkConnector=a.drawTickMarkConnector||0},setDataLimit:function(a,f){var g=this.config,d=g.axisData,g=g.axisRange,c=this.getGaugeAxisLimit,e=d.upperlimit,k=d.lowerlimit,m=d.majorTMNumber,p=d.adjustTM,
n,d=n=!d.setAdaptiveMin,c=c.call(this,l(a,e),l(f,k),e,k,n,d,m,p);g.min=Number(Q(c.min,10));g.max=Number(Q(c.max,10));g.tickInterval=c.majorTickInt||1;g.numMajorTM=c.numMajorTM},_setTickIntervalAfterZoom:function(){},_drawComponents:function(){var a=this.config;a.drawTick&&this._drawTick();a.drawLabels&&this._drawLabel();a.drawTrendLines&&this._drawTrendLine()},_drawTick:function(){var a=this.config,f=a.axisData,g=a.axisRange,d=g.tickInterval,c=a.isVertical,e=a.isOpposit,l=a.drawTick,k=a.drawTickMinor,
m=a.canvas,p=this.chart,n=p.config,K=m.canvasBottom||n.canvasBottom,E=m.canvasLeft||n.canvasLeft,q=m.canvasRight||n.canvasRight,t=m.canvasTop||n.canvasTop,m=g.max,n=g.min,s=p.components.paper,v=this.graphics.tick||[],A=f.minorTMNumber,g=g.numMajorTM||f.majorTMNumber,w=f.axisAxisLineContainer,h=0,a=a.animateAxis,F,z,r,B,D,C,G;r={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};z={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&
l){F=p.get("config","animationObj");p=F.animObj;G=F.dummyObj;l=F.transposeAnimDuration;F=F.animType;c?e?f.placeTicksInside?(e=q-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):(e=q+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):f.placeTicksInside?(e=E+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):(e=E-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):e?f.placeTicksInside?(e=t+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight):(e=t-f.tickMarkDistance,
K=e-f.majorTMHeight,E=e-f.minorTMHeight):f.placeTicksInside?(e=K-f.tickMarkDistance,K=e-f.majorTMHeight,E=e-f.minorTMHeight):(e=K+f.tickMarkDistance,K=e+f.majorTMHeight,E=e+f.minorTMHeight);q=f.drawTickMarkConnector?c?["M",e,this.getPixel(n),"L",e,this.getPixel(m)]:["M",this.getPixel(n),e,"L",this.getPixel(m),e]:[];v[h]?(f=v[h],l&&a?f.animateWith(G,p,{path:q},l,F):f.attr({path:q}),f.attr(r)):(f=s.path(r,w),f.attr({path:q}),v[h]=f);h+=1;for(q=0;q<g;q+=1)if(t=q<g-1?Q(Number(n+d*q),10):m,B=c?{path:"M"+
e+" "+this.getPixel(t)+"L"+K+" "+this.getPixel(t)}:{path:"M"+this.getPixel(t)+" "+e+"L"+this.getPixel(t)+" "+K},v[h]?(f=v[h],l&&a?f.animateWith(G,p,B,l,F):f.attr(B),f.attr(r)):(f=s.path(r,w),f.attr(B),v[h]=f),h+=1,t!==m&&k)for(D=d/(A+1),C=1;C<=A;C+=1)B=c?{path:"M"+e+" "+this.getPixel(t+D*C)+"L"+E+" "+this.getPixel(t+D*C)}:{path:"M"+this.getPixel(t+D*C)+" "+e+"L"+this.getPixel(t+D*C)+" "+E},v[h]?(f=v[h],l&&a?f.animateWith(G,p,B,l,F):f.attr(B),f.attr(z)):(f=s.path(z,w),v[h]=f,f.attr(B)),h+=1;if(v[h])for(q=
h;q<v.length;q++)v[q].attr({path:[]});this.graphics.tick=v}else if(v[h])for(q=h;q<v.length;q++)v[q].attr({path:[]})},_drawLabel:function(){var a=this.config,f=a.axisData,g=a.canvas,d=f.axisDimention||{},c=this.chart,e=c.config,l=c.components,k=c.linkedItems.smartLabel,m=a.axisRange,p=a.isOpposit,n=a.isReverse,K=m.numMajorTM||f.majorTMNumber,E=f.labels,q=E.style,t=a.isVertical,s=m.max,v=m.min,A=g.canvasTop||e.canvasTop,w=g.canvasLeft||e.canvasLeft,h=g.canvasBottom||e.canvasBottom,g=g.canvasRight||
e.canvasRight,F=f.axisLabelContainerTop,z=f.labelPadding,r=l.paper,B=f.labelMaxH,D=f.labelMaxW,d=t?d.x:d.y,C=this.graphics.labels||[],G=0,a=a.animateAxis,H,J,I,M,T,P,R,V={fontFamily:q.fontFamily,fontSize:q.fontSize,fontWeight:q.fontWeight,fontStyle:q.fontStyle,lineHeight:q.lineHeight},X,$,ya,Aa,ma;q.lineHeight&&(T=q.lineHeight,-1!==T.indexOf("px")&&(T=T.replace("px",""),T=parseFloat(T)));if(f.labels.isDraw){H=c.get("config","animationObj");$=H.animObj;ya=H.dummyObj;J=H.transposeAnimDuration;H=H.animType;
R=ra(this.getPixel(v)-this.getPixel(v+m.tickInterval));t?(f.labelMaxH>R&&!f.hasCategory&&(P=Da(f.labelMaxH/R)),P>f.labels.step&&(f.labels.step=P)):(f.labelMaxW>R&&!f.hasCategory&&(P=Da(f.labelMaxW/R)),P>f.labels.step&&(f.labels.step=P),Aa=w,ma=e.width-g);P=(t?D:R/2)*f.labels.step;B=t?R/2:B;m=m.tickInterval;R=f.labels.step?f.labels.step:1;D={fill:q.color,"line-height":T,"font-size":q.fontSize};k.useEllipsesOnOverflow(e.useEllipsesWhenOverflow);k.setStyle({fontSize:q.fontSize,fontFamily:q.fontFamily,
lineHeight:q.lineHeight,fontWeight:q.fontWeight});for(e=0;e<K;e+=R)if(I=e<K-R?Q(Number(v+m*e),10):s,f.labels.drawNormalVal||f.labels.drawLimitVal&&(I===v||I===s))if(f.labels.drawNormalVal||I===v||I===s)if(f.labels.drawLimitVal||I!==v&&I!==s)q=l.numberFormatter.scale,I===v&&f.lowerLimitDisplay?(q=k.getSmartText(f.lowerLimitDisplay,P,B+T/2),M=q.text):I===s&&f.upperLimitDisplay?(q=k.getSmartText(f.upperLimitDisplay,P,B+T/2),M=q.text):(M=q.call(l.numberFormatter,I),q=k.getOriSize(""+M)),t?(this.graphics.labels||
(c._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",V),F.attr({"class":"Fusioncharts-axis-labels-yAxis"})),M={"text-anchor":p?"start":"end",text:M},X={x:p?(d||g)+z:(d||w)-z,y:this.getPixel(I)},(!n&&I===v&&f.lowerLimitDisplay||n&&I===s&&f.upperLimitDisplay)&&q.height>T&&(M["vertical-align"]="bottom"),(!n&&I===s&&f.upperLimitDisplay||n&&I===v&&f.lowerLimitDisplay)&&q.height>T&&(M["vertical-align"]="top"),f.placeValuesInside&&(M["text-anchor"]=p?"end":"start")):(this.graphics.labels||(F.attr({"class":"Fusioncharts-axis-labels-xAxis"}),
c._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",V)),M={text:M,"text-anchor":"middle"},X={x:this.getPixel(I),y:p?(d||A)-z:(d||h)+z},(!n&&I===v||n&&I===s)&&q.width>2*Aa&&(M["text-anchor"]="start"),(!n&&I===s||n&&I===v)&&q.width>2*ma&&(M["text-anchor"]="end"),M["vertical-align"]=f.placeValuesInside?p?"top":"bottom":p?"bottom":"top"),E.shiftX&&(M.x+=E.shiftX),E.shiftY&&(M.y+=E.shiftY),C[G]?(I=C[G],I.attr(M),J&&a?I.animateWith(ya,$,X,J,H):I.attr(X)):(C[G]=I=r.text(M,F),I.attr(X)),I.attr(D),I.css(V),
q&&q.tooltext?(I.tooltip(q.tooltext),I.trackTooltip(!0)):I.trackTooltip(!1),G+=1;if(C[G])for(e=G;e<C.length;e++)C[e].attr({text:""});this.graphics.labels=C}else if(C[G])for(e=G;e<C.length;e++)C[e].attr({text:""})},placeAxis:function(a){var f=this.chart,g=f.components,d=f.linkedItems.smartLabel,c=this.config,e=c.axisRange,l=c.axisData,k=c.isVertical,m=c.isOpposit,p=l.labels.style,n=e.tickInterval,K=e.max,E=e.min,q=0,t=0,e="",s;s={left:0,right:0,top:0,bottom:0};if(0>=a)return s;l.labels.isDraw=!0;l.labels.drawNormalVal=
l.showTickValues;l.labels.drawLimitVal=l.showLimits;l.lines.isDraw=!0;l.labels.step=l.tickValueStep;l.labelPadding=0;d.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);d.setStyle({fontSize:p.fontSize,fontFamily:p.fontFamily,lineHeight:p.lineHeight,fontWeight:p.fontWeight});c.drawTick&&l.showTickMarks&&l.lines.isDraw?(a-=l.tickMarkDistance,t=na(l.minorTMHeight,l.majorTMHeight),l.placeTicksInside?(a+=l.tickMarkDistance,l.placeValuesInside&&(l.labelPadding=l.tickMarkDistance+t)):t>a?l.lines.isDraw=
!1:(k?m?s.right+=t+l.tickMarkDistance:s.left+=t+l.tickMarkDistance:m?s.top+=t+l.tickMarkDistance:s.bottom+=t+l.tickMarkDistance,a-=t,l.placeValuesInside||(l.labelPadding=l.tickMarkDistance+t))):l.lines.isDraw=!1;a-=l.tickValueDistance;if(c.drawLabels&&(l.showTickValues||l.showLimits)){c=ra(this._getCustomPixel(E)-this._getCustomPixel(E+n))/2;l.labelPadding+=l.tickValueDistance;a-=l.tickValueDistance;p=g.numberFormatter.scale;for(f=E+n;f<K;f+=n)t=""+p.call(g.numberFormatter,f),t.length>q&&(e=t,q=t.length);
q=d.getOriSize(e);k?q.width>a&&(l.labels.isDraw=!1):q.height>a&&(l.labels.isDraw=!1);l.showLimits?(f=l.upperLimitDisplay||""+p.call(g.numberFormatter,K),g=l.lowerLimitDisplay||""+p.call(g.numberFormatter,E),p=d.getOriSize(f),p.width>q.width&&(e=f,q=d.getOriSize(e)),f=d.getOriSize(g),f.width>q.width&&(e=g)):l.labels.drawLimitVal=!1;g=k?a:c;p=k?c:a;if(k)d.getSmartText(e,g,p);else for(f=E;f<=K;f+=n)if(E=d.getSmartText(e,g,p),""===E.text)g+=c;else break;E=d.getSmartText(e,g,p);l.labelMaxW=na(E.width,
q.width);l.labelMaxH=na(E.height,q.height);!l.placeValuesInside&&l.labels.isDraw?k?(l.labelMaxW=Fa(l.labelMaxW,a),m?s.right+=l.labelMaxW+l.tickValueDistance:s.left+=l.labelMaxW+l.tickValueDistance):(l.labelMaxH=Fa(l.labelMaxH,a),m?s.top+=l.labelMaxH+l.tickValueDistance:s.bottom+=l.labelMaxH+l.tickValueDistance):l.labelPadding=-l.labelPadding}else l.labels.isDraw=!1;return l.spaceTaken=s},getGaugeAxisLimit:function(a,f,g,d,c,e,l,k){var m=!0,p=!0,n=Number(g),K=Number(d),E,q;l={max:0,min:0,MajorTickInterval:1,
numMajorTM:l};if(g&&d)n>a&&(a=n),K<f&&(f=K);else if(isNaN(a)&&(a=.9,p=!1),isNaN(f)&&(f=0,m=!1),a===f&&0===a&&(isNaN(n)||(a=n),isNaN(n)||0===n))a=.9;E=Math.floor(Math.log(Math.abs(a))/Math.LN10);q=Math.floor(Math.log(Math.abs(f))/Math.LN10);q=Math.max(q,E);E=Ia(10,q);2>Math.abs(a)/E&&2>Math.abs(f)/E&&(q--,E=Ia(10,q));q=Math.floor(Math.log(a-f)/Math.LN10);q=Ia(10,q);0<a-f&&10<=E/q&&(E=q);q=(Math.floor(a/E)+1)*E;0>f?e=-1*(Math.floor(Math.abs(f/E))+1)*E:e?e=0:(e=Math.floor(Math.abs(f/E)-1)*E,e=0>e?0:
e);c&&0>=a&&(q=0);l.max=!g||g&&n<a&&p?q:n;l.min=!d||d&&K>f&&m?e:K;l.min>l.max?l.min==K&&l.max==n?(a=l.min,l.min=l.max,l.max=a):l.min==K?l.max=l.min+1:l.max==n&&(l.min=l.max-1):l.min==l.max&&(l.max=l.min+1);l.range=Math.abs(l.max-l.min);l.MajorTickInterval=E;this.calcTickInterval(l,g,k);return l},calcTickInterval:function(a,f,g){var d=0;-1!=a.numMajorTM&&2>a.numMajorTM&&(a.numMajorTM=2);f||f||-1===a.numMajorTM?(a.numMajorTM=-1==a.numMajorTM?5:a.numMajorTM,!0===g&&(f=function(a,b){for(var f=0,g=1,d;;){d=
a.numMajorTM+f*g;d=0===d?1:d;if(b.isRangeDivisible(a.range,d,a.MajorTickInterval))break;f=-1==g||f>a.numMajorTM?++f:f;if(25<f){d=a.numMajorTM;break}g=f<=a.numMajorTM?-1*g:1}a.numMajorTM=1<d?d:a.numMajorTM},g=a.numMajorTM,f(a,this),2===a.numMajorTM&&(a.numMajorTM=g,a.range+=1,f(a,this),d=1))):(a.numMajorTM=-1==a.numMajorTM?5:a.numMajorTM,f=this.getDivisibleRange(a.min,a.max,a.numMajorTM,a.MajorTickInterval,!0),g=f-a.range,a.range=f,0<a.max?a.max+=g:a.min-=g);a.majorTickInt=(a.max-a.min+d)/(a.numMajorTM-
1)},isRangeDivisible:function(a,f,g){a/=f-1;f=new m.MathExt;return f.numDecimals(a)>f.numDecimals(g)?!1:!0},getDivisibleRange:function(a,f,g,d,c){if(3>g)return this.range;a=Math.abs(f-a);f=a/(g-1);this.isRangeDivisible(a,g,d)||(c&&Number(f)/Number(d)<(1<d?2:.5)&&(d/=10),f=(Math.floor(f/d)+1)*d,a=f*(g-1));return a}},"cartesian"]);FusionCharts.register("component",["axis","polarGauge",{configure:function(){var a=this.config,f=a.axisData,g=a.rawAttr;FusionCharts.register("component",["axis","gauge"]).prototype.configure.call(this);
a.trendPoints=g.trendPoints;f.ticksBelowGauge=g.ticksBelowGauge;f.ticksBelowGraph=g.ticksBelowGraph;f.trendValueDistance=g.trendValueDistance;f.upperLimitDisplay=g.upperLimitDisplay||"";f.lowerLimitDisplay=g.lowerLimitDisplay||"";f.polarPadding=4},_drawComponents:function(){var a=this.config;a.drawTick&&this._drawTick();a.drawLabels&&this._drawLabel();a.drawTrendLines&&this._drawTrendLine()},getAxisPosition:function(a,f){return this.getPixel(a,f)},getPixel:function(a,f){var g=this.config,d=g.axisRange,
c=d.min,e=d.max-c,k=g.startAngle||qa/2,m=g.totalAngle||qa/2,p=g.centerX||0,d=g.centerY||0;f=l(f,g.radius,0);g=k+m/e*(a-c);c=p+f*oa(g);d+=f*la(g);return{x:c,y:d,angle:g}},getAngle:function(a){var f=this.config,g=f.axisRange,d=g.min;return(f.startAngle||qa/2)+(f.totalAngle||qa/2)/(g.max-d)*(a-d)},placeAxis:function(a){var f=this.config,g=this.chart,d=g.components,c=g.linkedItems.smartLabel,e=f.axisData,l=f.axisRange,k=e.labels.style,m=l.tickInterval,p=e.upperLimitDisplay,n=e.lowerLimitDisplay,K=l.max,
E=l.min,l=0,q,t;t={left:0,right:0,top:0,bottom:0};c.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);c.setStyle({fontSize:k.fontSize,fontFamily:k.fontFamily,lineHeight:k.lineHeight,fontWeight:k.fontWeight});e.labels.isDraw=1;e.labels.drawNormalVal=1;e.labels.drawLimitVal=1;e.lines.isDraw=1;e.labels.step=e.tickValueStep;e.labelPadding=0;if(f.drawLabels&&e.showTickValues&&0<a){ra(this.getPixel(E)-this.getPixel(E+m));e.labelPadding+=e.tickValueDistance;f=d.numberFormatter.scale;for(g=E;g<=K;g+=
m)k=""+f.call(d.numberFormatter,g),k.length>l&&(q=k,l=k.length);d=c.getOriSize(q);if(d.width>a/2)return e.labels.isDraw=!1,t;e.showLimits?(p.length>l&&(q=p,l=p.length),n.length>l&&(q=n)):e.labels.drawLimitVal=!1;d=c.getOriSize(q);e.labelMaxW=d.width;e.labelMaxW>a/2&&(e.labelMaxW=a/2);e.labelMaxH=d.height;e.placeValuesInside?e.labelPadding=-e.labelPadding:(t.right+=e.labelMaxW+e.tickValueDistance,t.left+=e.labelMaxW+e.tickValueDistance,t.top+=e.labelMaxH+e.tickValueDistance,t.bottom+=e.labelMaxH+e.tickValueDistance)}else e.labels.isDraw=
!1;return t},_drawLabel:function(){var a=this.config,f=a.axisData,g=this.chart,d=g.components,c=a.axisRange,e=g.linkedItems.smartLabel,k,m=f.labels.style,p=f.labelPadding||0,n=a.radius,q=l(a.gaugeOuterRadius,n),n=l(a.gaugeInnerRadius,n),K=a.centerX,E=a.centerY,t=f.placeValuesInside,w=f.labelMaxH,s=f.labelMaxW,v=c.max,A=c.min,F=f.axisLabelContainerTop,h=d.paper,z=this.graphics.labels||[],r=0,a=a.animateAxis,B,D,C,G,H={fontFamily:m.fontFamily,fontSize:m.fontSize,fontWeight:m.fontWeight,fontStyle:m.fontStyle,
lineHeight:m.lineHeight},J,I,M,T;m.lineHeight&&(G=m.lineHeight,-1!==G.indexOf("px")&&(G=G.replace("px",""),G=parseFloat(G)));e.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);e.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight});if(f.labels.isDraw){r=g.get("config","animationObj");I=r.animObj;M=r.dummyObj;B=r.transposeAnimDuration;T=r.animType;G={fill:m.color,"line-height":G,"font-size":m.fontSize};f.labels.step?k=c.tickInterval*f.labels.step:
k=c.tickInterval;c=A;for(r=0;c<=v;c+=k)if(f.labels.drawNormalVal||f.labels.drawLimitVal&&(c===A||c===v))if(f.labels.drawNormalVal||c===A||c===v)if(f.labels.drawLimitVal||c!==A&&c!==v)if(0!==f.showZeroPlaneValue||0!==f.showZeroPlane||0!==c)D=d.numberFormatter.scale,c===A&&f.lowerLimitDisplay?(D=e.getSmartText(f.lowerLimitDisplay,s,w),D=D.text):c===v&&f.upperLimitDisplay?(D=e.getSmartText(f.upperLimitDisplay,s,w),D=D.text):D=D.call(d.numberFormatter,c),this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
H),F.attr({"class":"Fusioncharts-axis-labels-yAxis"})),C=t?this.getPixel(c,n+p-f.polarPadding):this.getPixel(c,q+p+f.polarPadding),D={text:D},J={x:C.x,y:C.y},C.x>K-10&&C.x<K+10&&C.y<E?(D["text-anchor"]="middle",D["text-valign"]=t?"top":"bottom"):C.x>K-10&&C.x<K+10&&C.y<E?(D["text-anchor"]="middle",D["text-valign"]=t?"bottom":"top"):(D["text-anchor"]=C.x<K?t?"start":"end":t?"end":"start",D["text-valign"]="center"),z[r]?(C=z[r],C.attr(D),B&&a?C.animateWith(M,I,J,B,T):C.attr(J)):(z[r]=C=h.text(D,F),
C.attr(J)),C.attr(G),C.css(m),r+=1,c<v&&c+k>v&&c&&(c=v-k);if(z[r])for(c=r;c<z.length;c++)z[c].attr({text:""});this.graphics.labels=z}else if(z[r])for(c=r;c<z.length;c++)z[c].attr({text:""})},_drawTick:function(){var a=this.config,f=a.axisData,g=a.axisRange,d=g.tickInterval,c=a.drawTick,e=a.drawTickMinor,k=this.chart,m=k.components,p=g.max,n=g.min,q=a.radius,g=l(a.gaugeOuterRadius,q),q=l(a.gaugeInnerRadius,q),m=m.paper,K=this.graphics.tick||[],E=f.minorTMNumber,t=0,a=a.animateAxis,w,s,v,A,F,h,z,r,
B,D;r=f.axisAxisLineContainer;A={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};v={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&c){t=k.get("config","animationObj");k=t.animObj;B=t.dummyObj;c=t.transposeAnimDuration;D=t.animType;s=this._getVisibleConfig();t=n+d*U.floor((s.minValue-3*d-n)/d);s=n+d*U.floor((s.maxValue+3*d-n)/d);s=s>p?p:s;n=t<n?n:t;for(t=0;n<=s;n+=d)if(f.placeTicksInside?(w=this.getPixel(n,q),h=
this.getPixel(n,q+f.majorTMHeight)):(w=this.getPixel(n,g),h=this.getPixel(n,g-f.majorTMHeight)),h={path:"M"+w.x+" "+w.y+"L"+h.x+" "+h.y},K[t]?(w=K[t],w.attr(A),c&&a?w.animateWith(B,k,h,c,D):w.attr(h)):(w=m.path(A,r),w.attr(h),K[t]=w),t+=1,n<p&&n+d>p&&n&&(n=p-d),n<p&&e)for(h=d/(E+1),z=1;z<=E;z+=1)F=n+h*z,f.placeTicksInside?(w=this.getPixel(F,q),F=this.getPixel(F,q+f.minorTMHeight)):(w=this.getPixel(F,g),F=this.getPixel(F,g-f.minorTMHeight)),F={path:"M"+w.x+" "+w.y+"L"+F.x+" "+F.y},K[t]?(w=K[t],w.attr(v),
c&&a?w.animateWith(B,k,F,c,D):w.attr(F)):(w=m.path(v,r),w.attr(F),K[t]=w),t+=1;if(K[t])for(n=t;n<K.length;n++)K[n].attr({path:[]});this.graphics.tick=K}else if(K[t])for(n=t;n<K.length;n++)K[n].attr({path:[]})},_drawPlotBand:function(){},_drawPlotLine:function(){},_drawTrendLine:function(){var a,f,g,c,e,k,m,p,n,q,t,K,E,w,F,s,v,A,z=this.config,h=z.axisData,r=z.axisRange,B=r.max,r=r.min,C=this.chart;K=C.config;var G=C.linkedItems.smartLabel,H=C.components,J=H.colorManager,I=z.scaleFactor,M=z.centerX||
0,P=z.centerY||0,Q=z.canvas.canvasWidth||K.canvasWidth,R=h.trend.trendStyle,V=h.axisTrendContainerTop,X=h.axisTrendContainerBottom,$=h.axisTrendLabelContainer,ba=H.paper,fa=this.components.trendObj||[],Ab={fontFamily:R.fontFamily,fontSize:R.fontSize,lineHeight:R.lineHeight,fontWeight:R.fontWeight,fontStyle:R.fontStyle},ya=z.trendPoints,Aa=U.PI/180,ma={},Ka=z.animateAxis,ea,ca,va=0,ka;c={};p={};g={};e={};var sa={};E={};var Z,Va,na,la,ra,oa,Ba,eb,za,ha;this.components.trendObj||C._addCSSDefinition(".Fusioncharts-axis-trendlines-label",
Ab);if(ya){ea=C.get("config","animationObj");za=ea.animObj;ha=ea.dummyObj;C=ea.transposeAnimDuration;ea=ea.animType;G.useEllipsesOnOverflow(K.useEllipsesWhenOverflow);G.setStyle(Ab);va=ca=0;for(Ab=ya.point.length;ca<Ab;ca+=1)Z=ya.point[ca],Va=l(Z.startvalue,Z.value),na=l(Z.endvalue,Va),ka=Va!==na,Va<=B&&Va>=r&&na<=B&&na>=r&&(a=Va,f=na,ga(D(Z.markertooltext)),g=ga(D(Z.displayvalue),ka?"":H.numberFormatter.scale(Va)),l(Z.showontop,h.ticksBelowGauge,h.ticksBelowGraph,1),c=d(Z.color,J.getColor("trendLightColor")),
e=l(Z.alpha,99),k=l(Z.thickness,1),m=Z.dashed?ia(Z.dashlen||2,Z.dashgap||2,Z.thickness||1):"",p=l(Z.usemarker,0),n=T(d(Z.markercolor,Z.color,J.getColor("trendLightColor")),100),q=T(d(Z.markerbordercolor,Z.bordercolor,J.getColor("trendDarkColor")),100),t=l(l(Z.markerradius)*I,5),K=da(Z.markertooltext),E=l(l(Z.trendvaluedistance,h.trendValueDistance)*I,h.tickValueDistance),w=l(Z.valueinside,h.placeValuesInside,0),F=l(Z.showborder,1),s=T(d(Z.bordercolor,Z.color,J.getColor("trendDarkColor")),l(Z.borderalpha,
Z.alpha,100)),v=l(l(Z.radius)*I),A=l(l(Z.innerradius)*I),Z=Math.cos(89.99*Aa),la=-Z,v=l(v,z.gaugeOuterRadius),A=l(A,ka?Math.max(z.gaugeInnerRadius-15,0):z.gaugeInnerRadius),ra=this.getPixel(Va,v),oa=this.getPixel(Va,A),Ba=ra.x,ra=ra.y,eb=oa.x,oa=oa.y,na=this.getAngle(na),Va=this.getAngle(Va),ka?(Va>na&&(Va+=na,na=Va-na,Va-=na),c={fill:T(c,e),"stroke-width":F?k:0,stroke:s,"stroke-dasharray":m},e={ringpath:[M,P,v,A,Va,na]}):(c={"stroke-width":F?k:0,stroke:s,"stroke-linecap":"round","stroke-dasharray":m},
e={path:["M",Ba,ra,"L",eb,oa]}),p?(p={fill:n,"stroke-width":1,stroke:q},sa={polypath:[3,Ba,ra,t,(-Va+Math.PI)/Aa,0]}):p={},""!==g?(ma=(f+a)/2,na=this.getAngle(ma-r),a=Math.cos(na),f=Math.sin(na),t=G.getOriSize(g).width,w?(ma=A-2-E,E=a>Z?"end":a<la?"start":"middle"):(ma=v+2+E,E=a>Z?"start":a<la?"end":"middle"),Ba=M+ma*a,ra=P+ma*f,ma=G.getOriSize(g).height,ma=G.getSmartText(g,Q,ma),Ba=Q<Ba+t?Q-t/2:Ba<t?t/2:Ba,t>Q&&(Ba=Q/2),g={text:ma.text,"text-anchor":E,"vertical-align":ab},E={x:Ba,y:ra},Ba=ma.height,
ra=a>Z||a<la?ra+(-(Ba/2)+.4*Ba*f*(w?-1:1)):w?ra+-(0>f?0:Ba):ra+-(0<f?0:Ba),E.y=ra):(g={},E={}),fa[va]?(w=fa[va].graphics.drawing,ka=fa[va].graphics.label,Z=fa[va].graphics.marker,w.attr(c),Z.attr(p),Z.tooltip(K),ka.attr(g).css(R).tooltip(ma.oriText),C&&Ka?(w.animateWith(ha,za,e,C,ea),Z.animateWith(ha,za,sa,C,ea),ka.animateWith(ha,za,E,C,ea)):(w.attr(e),Z.attr(sa),ka.attr(E)),h.showTooltip&&ma.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),Z.trackTooltip(h.showTooltip&&""!==K)):(w=ka?ba.ringpath(M,
P,v,A,Va,na,X):ba.path(V),ka=ba.text($),Z=ba.polypath(V),w.attr(c),w.attr(e),Z.attr(p),Z.attr(sa),Z.tooltip(K),ka.attr(g),ka.attr(E).css(R).tooltip(ma.oriText),h.showTooltip&&ma.oriText?ka.trackTooltip(!0):ka.trackTooltip(!1),Z.trackTooltip(h.showTooltip&&""!==K),fa[va]={},fa[va].graphics={},fa[va].graphics.drawing=w,fa[va].graphics.label=ka,fa[va].graphics.marker=Z),va+=1);this.components.trendObj=fa}if(fa[va])for(ca=va;ca<fa.length;ca++)fa[ca].graphics.drawing.attr({path:["M",0,0]}),fa[ca].graphics.marker.attr({polypath:["M",
0,0]}),fa[ca].graphics.label.attr({text:"","text-bound":[]});h.trendBackgroundSetter&&(clearTimeout(h.trendBackgroundSetter),h.trendBackgroundSetter=void 0);h.trendBackgroundSetter=setTimeout(function(){for(ca=0;ca<va;ca++)fa[ca].graphics.label.attr({"line-height":R.lineHeight,"text-bound":[R.backgroundColor,R.borderColor,R.borderThickness,R.borderPadding,R.borderRadius,R.borderDash]});h.trendBackgroundSetter=void 0},0)}},"gauge"]);FusionCharts.register("component",["axis","polar",{configure:function(){var a=
this.config,f=a.axisData,a=a.rawAttr,g=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);f.axisValuePadding=l(a.axisValuePadding,10);f.gridLineColor=T(d(a.radarSpikeColor,g.getColor("divLineColor")),l(a.radarSpikeAlpha,a.radarInLineAlpha,g.getColor("divLineAlpha")));f.gridLineWidth=l(a.radarSpikeThickness,1);f.showRadarBorder=l(a.showRadarBorder,1);f.radarBorderThickness=l(a.radarBorderThickness,2);f.radarBorderColor=T(d(a.radarBorderColor,
g.getColor("divLineColor")),l(a.radarBorderAlpha,100));f.radarFillColor=T(d(a.radarFillColor,g.getColor("altHGridColor")),l(a.radarFillAlpha,g.getColor("altHGridAlpha")))},getAxisPosition:function(a,f){return this.getPixel(a,f)},getPixel:function(a,f){var g=this.config,d=g.axisRange,c=d.min,e=d.max-c+1,k=g.startAngle||-(qa/4),m=g.totalAngle||-qa,p=g.centerX||0,d=g.centerY||0;f=l(f,g.radius,0);g=k+m/e*(a-c);c=p+f*oa(g);d+=f*la(g);return{x:c,y:d}},_drawCategory:function(){var a=this.config,f=a.axisData,
g=this.chart,c=a.isOpposit,e=f.labels,k=e.style,m=f.axisContainer,p=f.axisPlotLineContainer,n=g.components.paper,q=this.components.categoryLabel||[],t=this.graphics.radarBorder||[],K=g.jsonData.categories,E=f.categories.category,F=f.labelPadding,z,s,v,A,r,h,B,D=f.gridLineColor,C=f.gridLineWidth,G=function(a){return function(b){ea.call(this,g,b,a)}},H=0,J=a.centerX,I=a.centerY,M=a.animateAxis,P,R,Q,V,X,$,ba,Z,U,ya,Aa,ma;ya=l(a.radius,0);V=E?E.length-1:0;P=g.get("config","animationObj");Aa=P.animObj;
ma=P.dummyObj;R=P.transposeAnimDuration;P=P.animType;A={stroke:f.radarBorderColor,fill:f.radarFillColor,"stroke-width":f.radarBorderThickness};ba={path:["M"]};if(0!==f.showRadarBorder){for(H=Q=0;Q<=V;Q++)U=this.getPixel(Q,ya),ba.path.push(U.x,U.y,"L");ba.path.pop();ba.path.push("Z")}t[0]?(t[0].attr(A),R&&M?t[0].animate(ba,R):t[0].attr(ba)):(t[0]=n.path(A,p),t[0].attr(ba));this.graphics.radarBorder=t;if(f.labels.isDraw){t=this._getVisibleConfig();K&&(z=K[0].font,s=K[0].fontsize,v=K[0].fontcolor);for(H=
Q=0;Q<=V;Q++)if(K=E[Q],U=l(K.x,K.y,Q),!(U<t.minValue||U>t.maxValue||!f.labels.drawNormalVal&&(!f.labels.drawLimitVal||0!==Q&&U!==V)||!f.labels.drawNormalVal&&0!==U&&U!==V)&&(f.labels.drawLimitVal||0!==U&&U!==V)){A=d(K.font,K.labelfont);r=d(K.fontsize,K.labelfontsize);h=l(K.fontbold,K.labelfontbold,0)?"bold":void 0;B=l(K.fontitalic,K.labelfontitalic,0)?"italic":void 0;ba=T(d(K.fontcolor,K.labelfontcolor,v,k.color),l(K.labelalpha,a.rawAttr.labelFontAlpha,100));A={fontFamily:d(A,z,k.fontFamily),fontSize:d(r,
s,k.fontSize),fontWeight:d(h,k.fontWeight),fontStyle:d(B,k.fontStyle)};A.lineHeight=w(A);A.lineHeight&&($=A.lineHeight,-1!==$.indexOf("px")&&($=$.replace(/px/i,""),$=parseFloat($)));ba={fill:ba,"line-height":$,"font-size":k.fontSize};r=this.getPixel(U,ya+F);B=r.x;Z=r.y;r=K.label||"";if(0===l(K.showlabel,1)||0===f.showLabels)r="";X=Number(K.labelPadding)||0;h={text:r,cursor:K.link?"pointer":""};B={x:B,y:Z};X&&(B.y+=X);ba["vertical-align"]=c?"bottom":"top";0===Q?(ba["text-anchor"]="middle",ba["vertical-align"]=
"bottom"):Q===(V+1)/2?(ba["text-anchor"]="middle",ba["vertical-align"]="top"):(ba["text-anchor"]=Q<(V+1)/2?"end":"start",ba["vertical-align"]="center");U=this.getPixel(U,ya);X={stroke:D,"stroke-width":C,"stroke-dasharray":"none"};Z={path:["M",J,I,"L",U.x,U.y]};e.shiftX&&(B.x+=e.shiftX);e.shiftY&&(B.y+=e.shiftY);q[H]?(U=q[H].graphics.line,U.attr(X),R&&M?U.animateWith(ma,Aa,Z,R,P):U.attr(Z),X=q[H].graphics.label,X.attr(h),R&&M?X.animateWith(ma,Aa,B,R,P):X.attr(B),X.attr(ba).css(A),f.showTooltip&&K.tooltext?
(X.tooltip(K.tooltext),X.trackTooltip(!0)):X.trackTooltip(!1)):(U=n.path(X,p),U.attr(Z),X=n.text(h,m),X.attr(B).attr(ba).css(A),f.showTooltip&&K.tooltext?(X.tooltip(K.tooltext),X.trackTooltip(!0)):X.trackTooltip(!1),X.click(G("datalabelclick")).hover(G("dataLabelRollOver"),G("dataLabelRollOut")),q[H]={},q[H].graphics={},q[H].config={},q[H].graphics.line=U,q[H].graphics.label=X);q[H].config.labelBox={label:r,lineHeight:A.lineHeight,border:l(K.borderthickness,K.labelborderthickness)?l(K.borderthickness,
K.labelborderthickness,1)+"px solid":"",borderColor:K.bordercolor||K.labelbordercolor?T(K.bordercolor||K.labelbordercolor,l(K.borderalpha,K.labelborderalpha,K.alpha,K.labelalpha,100)):"",borderThickness:l(K.borderthickness,K.labelborderthickness),borderPadding:l(K.borderpadding,K.labelborderpadding),borderRadius:l(K.borderradius,K.labelborderradius),backgroundColor:K.bgcolor||K.labelbgcolor?T(K.bgcolor||K.labelbgcolor,l(K.bgalpha,K.labelbgalpha,K.alpha,K.labelalpha,100)):"",borderDash:l(K.borderdashed,
K.labelborderdashed,0)?ia(l(K.borderdashlen,K.labelborderdashlen,4),l(K.borderdashgap,K.labelborderdashgap,2),l(K.borderthickness,K.labelborderthickness,1)):0===l(K.borderdashed,K.labelborderdashed)?"none":k.borderDash};q[H].graphics.label.data("eventArgs",{link:K.link||K.labellink||k.labelLink,text:h.text,index:H});H+=1}if(q[H])for(Q=H;Q<q.length;Q++)q[Q].graphics.line.attr({path:["M",0,0]}),q[Q].graphics.label.attr({text:"","text-bound":[]});this.components.categoryLabel=q}else if(q[H])for(Q=H;Q<
q.length;Q++)q[Q].graphics.line.attr({path:["M",0,0]}),q[Q].graphics.label.attr({text:"","text-bound":[]});f.catLabelBackgroundSetter=setTimeout(function(){var a;for(Q=0;Q<H;Q++)a=q[Q].config.labelBox,a.label?q[Q].graphics.label.attr({"line-height":k.lineHeight,"text-bound":[d(a.backgroundColor,k.backgroundColor),d(a.borderColor,k.borderColor),d(a.borderThickness,k.borderThickness),d(a.borderPadding,k.borderPadding),d(a.borderRadius,k.borderRadius),d(a.borderDash,k.borderDash)]}):q[Q].graphics.label.attr({"text-bound":[]});
f.catLabelBackgroundSetter=void 0},0)},_drawCategoryVline:function(){},_drawPlotBand:function(){},_drawPlotLine:function(){},placeAxis:function(a,f){var g,c,e,k,m,p,n=this.config,q=this.chart,t=q.linkedItems.smartLabel,K=n.axisData,E=K.labels.style,F=q.jsonData.categories,n=K.labelPadding=l(n.rawAttr.axisValuePadding,10),z=K.useEllipsesWhenOverflow,s=0,v=0,A=0,r=0,h=f/2,B=f/2,D=a/2,C=a/2,G,H;G=K.categories.category;K.labels.isDraw=1;K.labels.drawNormalVal=1;K.labels.drawLimitVal=1;if(K.showLabels)for(F&&
(m=F[0].font,p=F[0].fontsize),K=0,F=G.length;K<F;K++)H=G[K],g=H.font,c=H.fontsize,e=H.fontbold?"bold":"normal",k=H.fontitalic?"italic":"normal",g={fontFamily:d(g,m,E.fontFamily),fontSize:d(c,p,E.fontSize),fontWeight:d(e,E.fontWeight),fontStyle:d(k,E.fontStyle)},c=w(g),t.useEllipsesOnOverflow(q.config.useEllipsesWhenOverflow),t.setStyle(g),0===K?(g=t.getSmartText(H.label,a,Fa(c,h),z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.height>s&&(r=s=g.height)):K===F/2?(g=t.getSmartText(H.label,
a,Fa(c,B),z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.height>r&&(r=g.height)):K<F/2?(g=t.getSmartText(H.label,C,c,z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.width>v&&(v=g.width)):(g=t.getSmartText(H.label,D,c,z),H.oriLabel=H.label,H.label=g.text,g.width+=n,g.height+=n,g.width>A&&(A=g.width));return{top:s,left:v,right:A,bottom:r}}},"cartesian"]);FusionCharts.register("component",["dataset","Column",{type:"column",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var a=
this.chart,f=this.config,g=this.JSONData,c=a.singleseries,e=a.isDual,k=a.config,p=a.jsonData.chart,n=a.components.colorManager,q=f.plotColor=n.getPlotColor(this.index||this.positionIndex),t=l(g.dashed,p.plotborderdashed),w=l(p.useplotgradientcolor,1),K,E,F,z=m.getDashStyle,s=a.isBar,v=a.is3D,A=a.isStacked;f.showPlotBorder=l(p.showplotborder,v?0:1);f.plotDashLen=K=l(p.plotborderdashlen,5);f.plotDashGap=E=l(p.plotborderdashgap,4);f.plotFillAngle=l(360-p.plotfillangle,s?180:90);f.plotFillAlpha=F=d(g.alpha,
p.plotfillalpha,ba);f.plotColor=d(g.color,q);f.legendSymbolColor=f.plotColor;f.isRoundEdges=l(p.useroundedges,0);f.plotRadius=l(p.useRoundEdges,f.isRoundEdges?1:0);f.plotFillRatio=d(g.ratio,p.plotfillratio);f.plotgradientcolor=m.getDefinedColor(p.plotgradientcolor,n.getColor("plotGradientColor"));!w&&(f.plotgradientcolor="");f.plotBorderAlpha=d(p.plotborderalpha,F,ba);f.plotBorderColor=d(p.plotbordercolor,v&&!c?"#ffffff":n.getColor("plotBorderColor"));f.plotBorderThickness=c=l(p.plotborderthickness,
1);f.plotBorderDashStyle=t?z(K,E,c):"none";f.showValues=l(g.showvalues,p.showvalues,1);f.valuePadding=l(p.valuepadding,2);f.enableAnimation=t=l(p.animation,p.defaultanimation,1);f.animation=t?{duration:1E3*l(p.animationduration,1)}:!1;f.transposeAnimation=l(p.transposeanimation,t);f.transposeAnimDuration=1E3*l(p.transposeanimduration,.2);f.showShadow=v?l(p.showshadow,1):l(p.showshadow,n.getColor("showShadow"));f.showHoverEffect=l(p.plothovereffect,p.showhovereffect,void 0);f.showTooltip=l(p.showtooltip,
1);f.stack100Percent=n=l(a.stack100percent,p.stack100percent,0);a.config.stack100Percent=f.stack100Percent;f.definedGroupPadding=na(l(p.plotspacepercent),0);f.plotSpacePercent=na(l(p.plotspacepercent,20)%100,0);f.maxColWidth=ra(l(s?p.maxbarheight:p.maxcolwidth,50));f.showPercentValues=s=l(p.showpercentvalues,A&&n?1:0);f.showPercentInToolTip=l(p.showpercentintooltip,A&&(n||s)?1:0);f.plotPaddingPercent=l(p.plotpaddingpercent);f.rotateValues=l(p.rotatevalues)?270:0;f.placeValuesInside=l(p.placevaluesinside,
0);f.zeroPlaneColor=k.zeroPlaneColor;f.zeroPlaneBorderColor=k.zeroPlaneBorderColor;f.zeroPlaneShowBorder=k.zeroPlaneShowBorder;f.use3DLighting=l(p.use3dlighting,1);f.useDataPlotColorForLabels=l(p.usedataplotcolorforlabels,0);f.includeInLegend=l(g.includeinlegend,1);f.parentYAxis=e?"s"===d(g.parentyaxis&&g.parentyaxis.toLowerCase(),"p")?1:0:0;this.visible=1===l(g.visible,!Number(g.initiallyhidden),1);!0===this.visible?this._conatinerHidden=!1:this._containerHidden=!0;this._setConfigure();this._realTimeConfigure&&
this._realTimeConfigure();!1!==a.hasLegend&&this._addLegend()},_setConfigure:function(a,f){var g=this.chart,c=this.config,e=this.JSONData,k=a||e.data,p=g.singleseries,n=g.components,q=n.xAxis[0],t=q.getCategoryLen(),t=a?a.data.length:t,w=g.jsonData.chart,n=n.colorManager,K=c.showPlotBorder,E=c.plotColor,z=l(w.showtooltip,1),r=m.parseUnsafeString,s=r(w.yaxisname),v=r(w.xaxisname),A=r(d(w.tooltipsepchar,", ")),B=l(w.seriesnameintooltip,1),h=m.parseTooltext,D,C,H,G,J,I,M=c.plotDashLen;H=c.plotDashGap;
var Q=c.plotBorderThickness,P=c.isRoundEdges,R=c.showHoverEffect,V=c.plotFillAngle,X,$,ba,U=c.plotBorderDashStyle,Z,fa,ya,Aa,ma,Ka,ea,ca,va,ka=m.getDashStyle,sa=this.components.data,ra=g.isBar,Va=g.is3D,la,ia=-Infinity,oa=Infinity,ha=this.yAxis,Ba=c.useDataPlotColorForLabels,eb;sa||(sa=this.components.data=[]);this.visible=1===l(this.visible,this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);for(la=0;la<t;la++)a?(I=a&&a.data[la]||{},eb=void 0!==f?f+la:sa.length-t+la,H=sa[eb]):(H=sa[la],
I=k&&k[la]||{}),g=H&&H.config,H||(H=sa[la]={}),H.config||(g=sa[la].config={}),g.showValue=l(I.showvalue,c.showValues),g.setValue=C=ha.getCleanValue(I.value,c.stack100Percent),g.setLink=d(I.link),g.toolTipValue=H=ha.dataLabels(C),g.setDisplayValue=E=r(I.displayvalue),g.displayValue=d(E,H),E=l(I.dashed),D=l(I.dashlen,M),Z=H=l(I.dashgap,c.plotDashGap),null!==C&&(ia=na(ia,C),oa=Fa(oa,C)),g.plotBorderDashStyle=D=1===E?ka(D,Z,Q):0===E?"none":U,p?(E=n.getPlotColor(l(eb-t,la)),E=d(I.color,E),Ba&&q.updateCategory(la,
{labelfontcolor:T(E)}),ba=d(I.alpha,I.borderalpha,c.plotBorderAlpha,X).toString()):(E=d(I.color,c.plotColor),ba=d(I.alpha,c.plotBorderAlpha,X).toString()),$=d(I.ratio,c.plotFillRatio),X=d(I.alpha,c.plotFillAlpha),g.shadow={opacity:c.showShadow?X/100:0},0>C&&!P&&(J=c.plotFillAngle,V=ra?180-V:360-V),g.colorArr=Z=m.graphics.getColumnColor(E+","+c.plotgradientcolor,X,$,V,P,c.plotBorderColor,ba,ra?1:0,Va?!0:!1),fa=q.getLabel(l(eb-t,la)),g.origLabel=C=ga(r(fa.oriLabel||fa.label)),C=g.label=ga(r(fa.tooltext))||
C,0!==R&&(fa=d(I.hovercolor,e.hovercolor,w.plotfillhovercolor,w.columnhovercolor,E),ya=d(I.hoveralpha,e.hoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,X),Aa=d(I.hovergradientcolor,e.hovergradientcolor,w.plothovergradientcolor,c.plotgradientcolor),!Aa&&(Aa=""),$=d(I.hoverratio,e.hoverratio,w.plothoverratio,$),ma=l(360-I.hoverangle,360-e.hoverangle,360-w.plothoverangle,V),Ka=d(I.borderhovercolor,e.borderhovercolor,w.plotborderhovercolor,c.plotBorderColor),ea=d(I.borderhoveralpha,e.borderhoveralpha,
w.plotborderhoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,ba,X),ba=l(I.borderhoverthickness,e.borderhoverthickness,w.plotborderhoverthickness,c.showPlotBorder&&Q),ca=I.borderhoverdashed||e.borderhoverdashed||w.plotborderhoverdashed,va=l(I.borderhoverdashgap,e.borderhoverdashgap,w.plotborderhoverdashgap,M),H=l(I.borderhoverdashlen,e.borderhoverdashlen,w.plotborderhoverdashlen,H),H=void 0!==ca?Number(ca)?ka(H,va,ba):"":D,1==R&&fa===E&&(fa=Pa(fa,70)),E=m.graphics.getColumnColor(fa+","+Aa,ya,$,ma,
P,Ka,ea.toString(),ra?1:0,Va?!0:!1),g.setRolloutAttr={fill:Va?[F(Z[0]),!c.use3DLighting]:F(Z[0]),stroke:K&&F(Z[1]),"stroke-width":Q,"stroke-dasharray":D},g.setRolloverAttr={fill:Va?[F(E[0]),!c.use3DLighting]:F(E[0]),stroke:F(E[1]),"stroke-width":ba,"stroke-dasharray":H}),D=g.toolTipValue,g.origToolText=H=ga(r(d(I.tooltext,e.plottooltext,w.plottooltext))),z?null===D?I=!1:void 0!==H?(E=[1,2,3,4,5,6,7],C={yaxisName:s,xaxisName:v,formattedValue:D,label:C},I=h(H,E,C,I,w,e)):(B&&(G=da(e&&e.seriesname)),
I=G?G+A:"",I+=C?C+A:""):I=!1,g.toolText=I,g.setTooltext=I,J&&(V=J),eb++;c.maxValue=ia;c.minValue=oa},init:function(a){var f=this.chart,g=f.components,d=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0;this.yAxis=g=g.yAxis[d];if(!a)return!1;this.JSONData=a;this.yAxis=g;this.chartGraphics=f.chartGraphics;this.components={};this.graphics={};this.configure()},_addLegend:function(){var a=this.chart,f=a.isBar,g=a.jsonData.chart,d,c;c=this.config;var e=Oa(c.legendSymbolColor),a=a.components.legend;
d=l(g.use3dlighting,g.useplotgradientcolor,1);g=Pa(e,60).replace(Ja,R);d?(d=Pa(e,40),f={FCcolor:{color:e+","+e+","+d+","+e+","+e,ratio:"0,30,30,30,10",angle:f?0:270,alpha:"100,100,100,100,100"}}):f={FCcolor:{color:e,angle:f?0:270,ratio:"0",alpha:"100"}};c={enabled:c.includeInLegend,type:this.type,fillColor:F(f),strokeColor:F(g),rawFillColor:e,rawStrokeColor:e,label:da(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,c)},legendInteractivity:function(a,f){var g=
this.config,d=a.visible,c=f.config,e=f.graphics,l=g.itemHiddenStyle.color,g=g.itemStyle.color,k=c.fillColor,m,c=c.strokeColor;d?a.hide():a.show();d={legendItemSymbol:{fill:d?l:k,stroke:d?l:c},legendItemText:{fill:d?l:g},legendItemLine:{stroke:d?l:c}};for(m in e)(l=e[m])&&d[m]&&l.attr(d[m])},draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=c.legendInteractivity,k=a.groupManager,n=a.index,q,w,z=a.visible,r=a.chart,K=r.components,E=K.paper,aa=K.xAxis[0],B=aa.getCategoryLen(),
s=a.yAxis,v=r.graphics.columnGroup,A=r.isStacked,D,h,C,H=r.graphics,G=m.parseUnsafeString,J=m.getValidValue,I=m.Raphael,M=c.showTooltip,Q=r.get("config","animationObj"),P=Q.animObj,T=Q.dummyObj,R=Q.duration,V=Q.animType,$=aa.getAxisPosition(0),ba=aa.getAxisPosition(1),U=c.groupMaxWidth=ba-$,Z=c.definedGroupPadding,fa=c.plotSpacePercent/200,ca=k.getDataSetPosition(a),ya=k.stackSumValue[a.positionIndex],Aa=k.manageClip,ma=c.maxColWidth,Ka=(1-.01*Z)*U||Fa(U*(1-2*fa),1*ma),na=l(ca.columnWidth,Ka/1),la,
va=ca.xPosOffset||0,ka=ca.height,sa,ga,Va=a.components,da=Va.data,ia,oa,ha,Ba,eb,za,Ca,ua,qa,wa=a.drawn,Ea=Va.removeDataArr,Fb=Ea&&Ea.length,Ha=Va.addDataArr,Ia=Ha&&Ha.length,Ja={},Na={},Da=r.config.dataLabelStyle,Oa=K.canvas.config.showCanvasBorder,Pa={fontFamily:Da.fontFamily,fontSize:Da.fontSize,lineHeight:Da.lineHeight,fontWeight:Da.fontWeight,fontStyle:Da.fontStyle,color:Da.color},cb=s.getLimit(),$a=cb.min,Sa=0<cb.max&&0>$a,Ra,Ya=s.getAxisBase(),db=s.yBasePos=s.getAxisPosition(Ya),fb,Za,Xa=c.plotBorderThickness,
hb=c.plotRadius,nb=a.graphics,pb=nb.container,Ta=nb.trackerContainer,ib=nb.dataLabelContainer,gb=nb.shadowContainer,Wa=Va.pool,rb=H.trackerGroup,kb,ob=1,Cb,Db,qb,sb,Eb=aa.getAxisPosition(B-1)+va,ab=aa.getAxisPosition(0)+va,Hb,wb=!0,jb=!1,lb=!1,xb=a.startPosition,Ib=c.showHoverEffect,mb=function(a){ea.call(this,r,a)},tb=function(a){return function(b){var f=this.getData();0!==f.showHoverEffect&&!0!==f.draged&&(a.attr(this.getData().setRolloverAttr),ea.call(this,r,b,"DataPlotRollOver"))}},Lb=function(a){return function(b){var f=
this.getData();0!==f.showHoverEffect&&!0!==f.draged&&(a.attr(this.getData().setRolloutAttr),ea.call(this,r,b,"DataPlotRollOut"))}},ub=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(pb.hide(),Ta.hide(),gb.hide(),ib&&ib.hide(),a._conatinerHidden=!0);this.show()},Nb=function(){a.visible&&a.drawLabel();k.drawSumValueFlag&&k.drawSumValue()},Gb=function(){return xb?function(a,b){a.x=ab-U*(Ia-b);a.y=h;a.height=sa}:!1===xb?function(a){a.x=Eb+U*ob++;a.y=h;a.height=sa}:function(a){a.width=
0}},Mb,Jb=r.config.viewPortConfig,$b=Jb.x,Wb=Jb.scaleX;wa&&(Gb=Gb());pb||(pb=a.graphics.container=E.group("columns",v),z?pb.show():pb.hide());Ta||(Ta=a.graphics.trackerContainer=E.group("col-hot",rb),z||Ta.hide());r._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Pa);gb||(gb=a.graphics.shadowContainer=E.group("shadow",v).toBack(),z||gb.hide());z&&(pb.show(),Ta.show(),gb.show());for(w=0;w<B;w++)if(za=(qa=(ia=da[w])&&ia.config)&&qa.setValue,void 0===ia||void 0===za||null===za){if(Cb=
ia&&ia.graphics)for(Db in Cb)Cb[Db].hide()}else{Ra=0<=za;eb=qa.setLink;kb=qa.colorArr;ia.graphics||(da[w].graphics={});ua=qa.displayValue;fb=Ra?qa.previousPositiveY:qa.previousNegativeY;oa=J(G(d(qa.origToolText,f.plottooltext,g.plottooltext)));A&&(fb=a._parseValues(w,fb,ya[w],oa),za=qa.value);Za=s.getAxisPosition(fb||Ya);D=aa.getAxisPosition(w)+va+$b*Wb;0!==ka?(h=s.getAxisPosition(za+(fb||0)),sa=ra(Za-h)):(sa=0,h=Za);h=Fa(h,Za);Oa&&!Sa&&Aa&&z&&0<Xa&&(sa+=Xa,k.manageClip=!1);k.isCrisp?(C=I.crispBound(D,
h,na,sa,Xa),D=C.x,h=C.y,la=C.width,sa=C.height):la=na;Mb=qa.shadow;ga=!1!==qa.toolText&&qa.toolText+(oa?"":qa.toolTipValue);Hb=qa.plotBorderDashStyle;Ca={index:w,link:eb,value:za,displayValue:ua,categoryLabel:qa.origLabel,toolText:ga,id:"",datasetIndex:n,datasetName:f.seriesname,visible:z};Ja=qa.setRolloutAttr;Na=qa.setRolloverAttr;ia._xPos=D;ia._yPos=h;ia._height=sa;ia._width=la;ia._index=w;(ha=ia.graphics.element)||(q={x:D,y:db,width:la,height:1,r:hb,ishot:!M,fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?
Xa:0,"stroke-dasharray":Hb,"stroke-linejoin":"miter",visibility:z},wa&&(Gb(q,w),Wa&&Wa.hotElement[0]&&(ia.graphics.hotElement=Wa.hotElement[0],Wa.hotElement.splice(0,1)),Wa&&Wa.element[0]&&(ha=ia.graphics.element=Wa.element[0],ha.attr(q),Wa.element.splice(0,1)),ia._newXPos=q.x),ha?qb=!1:(ha=ia.graphics.element=E.rect(q,pb),qb=!0),wa||(ha.animateWith(T,P,{y:h,height:sa||1},R,V,wb&&Nb),wb=!1));(ha=ia.graphics.element)&&wa&&(lb=jb=!0,q={x:D,y:h,width:la,height:sa||1,r:hb},A||!1!==a.visible||0===ka||
(delete q.y,delete q.height),e||ha.attr({fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?Xa:0,"stroke-linejoin":"miter","stroke-dasharray":Hb,ishot:!M,visibility:z}),ha.animateWith(T,P,q,R,V,wb&&ub),wb=!1);ha.shadow(Mb,gb).data("BBox",C);if(eb||M)sa<X&&(h-=(X-sa)/2,sa=X),q={x:D,y:h,width:la,height:sa},e||(q=p(q,{r:hb,cursor:eb?"pointer":"",stroke:t,"stroke-width":c.showPlotBorder?Xa:0,fill:t,ishot:!0,visibility:z})),ia.graphics.hotElement?(ia.graphics.hotElement.attr(q),sb=!1):(Ba=ia.graphics.hotElement=
E.rect(q,Ta),sb=!0);Ba=ia.graphics.hotElement;(Ba||ha).data("eventArgs",Ca).data("groupId",void 0).data("showHoverEffect",Ib).data("setRolloverAttr",Na).data("setRolloutAttr",Ja).tooltip(ga);(sb||qb)&&(Ba||ha).click(mb).hover(tb(ha),Lb(ha))}jb&&a.drawLabel();k.drawSumValueFlag&&lb&&k.drawSumValueFlag&&k.drawSumValue();a.drawn=!0;Fb&&a.remove()},show:function(){var a=this.graphics&&this.graphics.container,f=this.graphics&&this.graphics.trackerContainer,g=this.graphics&&this.graphics.dataLabelContainer,
d=this.graphics&&this.graphics.shadowContainer,c=this.chart.is3D,e=this.components.data,l=this.chart.config.categories,k=this.yAxis,m=this.chart,l=Fa(this.JSONData.data&&this.JSONData.data.length,l&&l.length);this.config.legendInteractivity=!0;m._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(c)for(a=0;a<l;a++)e[a]&&e[a].graphics&&e[a].graphics.element&&e[a].graphics.element.attr({visibility:"visible"}),e[a]&&e[a].graphics&&e[a].graphics.hotElement&&e[a].graphics.hotElement.attr({visibility:"visible"});
else a.show(),f.show();d.show();g&&g.show();m.config.transposeAxis&&(m._setAxisLimits(),k.draw());m._drawDataset();this.config.legendInteractivity=!1},hide:function(){var a=this.yAxis,f=this.chart;f._chartAnimation();this.visible=!1;this.config.legendInteractivity=!0;f.config.transposeAxis&&(f._setAxisLimits(),a.draw());f._drawDataset();this.config.legendInteractivity=!1},drawLabel:function(a,f){var g=this.chart,d=g.graphics,c=g.components,e=g.get("config","animationObj"),k=e.dummyObj,m=e.animObj,
n=e.animType,e=e.duration,q=c.paper,t=g.linkedItems.smartLabel,K=g.config.dataLabelStyle,E=this.config,w=E.legendInteractivity,F=c.xAxis[0].getCategoryLen(),s=this.components,c=s.data,s=s.pool,v=this.visible,A,z,E=E.rotateValues,h,r,B,D,C,H=this.graphics.dataLabelContainer,G=this.labelDrawn;A=l(a,0);F=l(f,F);d=d.datalabelsGroup;H||(H=this.graphics.dataLabelContainer=q.group("datalabel",d));v&&H.show();t.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);t.setStyle(K);for(d=A;d<F;d++)if(A=c[d],
void 0!==A&&(v=A.graphics))C=A&&A.config,B=A._yPos,D=A._xPos,r=C.setValue,z=C.displayValue,(h=C.showValue)&&null!==r?(w&&C._state||(h=t.getOriSize(z),C._state=E?{labelWidth:h.height,labelHeight:h.width}:{labelWidth:h.width,labelHeight:h.height}),r=this._getValuePosition({labelWidth:C._state.labelWidth,labelHeight:C._state.labelHeight,width:A._width,height:A._height,yPos:B,xPos:D,value:r}),B=r.textX,r=r.textY,z={x:B,y:r,text:z},w||(z=p(z,{"class":"fusioncharts-label","font-size":K.fontSize,"font-weight":K.fontWeight,
"font-style":K.fontStyle,"font-family":K.fontFamily,visibility:"visible","line-height":K.lineHeight})),!v.label&&G&&g.isRealTime&&(C=p({},z),C.x=z.x-D+(A._newXPos||0),C.transform=q.getSuggestiveRotation(E,C.x,r),s&&s.label[0]?(v.label=s.label[0].attr(C),s.label.splice(0,1)):v.label=q.text(C,H)),z.transform=q.getSuggestiveRotation(E,B,r),(A=v.label)||(A=v.label=q.text(H),A.attr(z)),A.show(),w||A.attr({fill:K.color,"text-bound":[K.backgroundColor,K.borderColor,K.borderThickness,K.borderPadding,K.borderRadius,
K.borderDash]}),G&&A.animateWith(k,m,z,e,n)):v.label&&(v.label.attr({"text-bound":[]}),v.label.hide());this.labelDrawn=!0},_getValuePosition:function(a){var f=this.config,g=this.chart,c=g.components,e=g.config,l=c.canvas.config,k=c.yAxis[0],c=l.xDepth,l=l.yDepth,m=e.canvasTop,p=e.canvasHeight+l,n,q,K,E=a.yPos,e=g.is3D,g=g.isStacked,t=f.valuePadding+2,w=a.height;n=a.width;f=f.placeValuesInside;K=a.labelHeight;var s=k.getAxisConfig("isReverse"),v=k.getAxisConfig("axisRange"),A=v.min,k=a.value,v=0<v.max&&
0>A;a=a.xPos;s&&v&&(q=0>k?!1:!0);q=d(q,0>k);K=s=K+t;t=.5*s+t;n=a+.5*n;a=q?m+p-(E+w+l):E-m;g?(p=Fa(m+p-.5*K,E+.5*w+(l||0)),p=na(m+.5*K,p),n-=c):f?w>=K?(p=E+(q?w-t:t),e&&(n-=c,p+=l)):a>=K?(p=E+(q?w+t:-t),e&&q&&(n-=c,p+=l)):(p=E+(q?w-t:t),e&&(n-=c,p+=l)):a>=K?(p=E+(q?w+t:-t),e&&(q?(n-=c,p+=l):n-=c/2)):(p=E+(q?w-t:t),e&&(n-=c,p+=l));return{textX:n,textY:p}},_parseValues:function(a,f,g,d){var c=this.config;a=this.components.data[a].config;var e=c.showPercentValues,l=c.showPercentInToolTip,k=a.setValue,
c=c.stack100Percent,m=this.chart.components.numberFormatter,p=this.yAxis,n=a.setDisplayValue,k=(this.visible?k||0:0)/g*100,m=m.percentValue(k);c&&(a.value=k,f=(f||0)/g*100);l&&(a.toolTipValue=m);e&&!n&&(a.displayValue=m);d&&(a.toolText=Z(a.setTooltext,[14,24,25,112],{percentValue:m,sum:p.dataLabels(g),unformattedSum:g}));return f},getDataLimits:function(){return{max:this.config.maxValue,min:this.config.minValue}},addData:function(a,f,g){var d=this.components,c=this.chart.components.numberFormatter,
e=d.data,l=a.data,k=l.length,m=this.config,p=m.maxValue,m=m.minValue,n=this.maxminFlag,q;d.addDataArr=a.data;if(0===f)this.startPosition=!0;else if(f+k===e.length||void 0===f)this.startPosition=!1;for(q=0;q<k;q++)if(void 0!==f?e.splice(f+q,0,{config:{}}):e.push({config:{}}),!n&&(d=c.getCleanValue(l[q].value),d>p||d<m))n=this.maxminFlag=!0;this._setConfigure(a,f);n&&this.setMaxMin();g&&this.draw()},hideElements:function(a){a.hide()},removeData:function(a,f,g){var d=this.components,c=d.data,e=d.removeDataArr||
(d.removeDataArr=[]),l=this.config,k=this.groupManager,m=this.maxminFlag;void 0===f&&(f=1);a=a||0;if(a+f===c.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;d.removeDataArr=e=e.concat(c.splice(a,f));k&&k.removeSumLabels&&k.removeSumLabels(a,f,this.positionIndex);d=e.length;for(a=0;a<d;a++)if(e[a]){f=e[a].config;if(f.setValue===l.maxValue||f.setValue===l.minValue)m=this.maxminFlag=!0;if(m)break}m&&this.setMaxMin();g&&this.draw()},updateData:function(a,f,g){var d=this.config,
c=d.maxValue,e=d.prevMin,l=this.chart,k=this.groupManager||this,m=l.components,p=m.xAxis||m.yAxis,n=p&&m.xAxis[0],m=p&&m.yAxis[0];this._setConfigure(a,f);this.setMaxMin();if(d.maxValue!==c||d.minValue!==e)this.maxminFlag=!0;g&&(l._setAxisLimits(),p&&n.draw(),p&&m.draw(),k.draw())},setMaxMin:function(){var a=this.components.data,f=this.config,g,d,c=a.length,e=-Infinity,l=Infinity;for(g=0;g<c;g++)a[g]&&(d=a[g].config,d=d.setValue,void 0!==d&&(e=na(e,d),l=Fa(l,d)));f.maxValue=e;f.minValue=l},hidingPosition:function(){var a=
this.components.removeDataArr.length,f=this.config.groupMaxWidth;return!1===this.endPosition?function(g){return{x:g._xPos-f*a,y:g._yPos}}:!0===this.endPosition?function(g){return{x:g._xPos+f*a||0,y:g._yPos}}:function(){return{width:0}}},remove:function(){var a=this.components,f=a.removeDataArr,g=a.pool||(a.pool={element:[],hotElement:[],label:[]}),d=this.chart,c=d.get("config","animationObj"),e=c.duration,l=c.dummyObj,k=c.animObj,c=c.animType,m=this.maxminFlag,p,n,q,E,t=d.components.paper,w=this.config.rotateValues,
s=this.chart.config.realTimeConfig&&this.chart.config.realTimeConfig.clear,v=this.hidingPosition(),A=function(){this.hide()};for(q=f.length-1;0<=q;q--)if(d=f[q],f.splice(q,1),d&&d.graphics){n=d.graphics;for(p in n)"label"===p&&void 0===this.startPosition&&void 0===this.endPosition&&n[p].hide(),E=v(d),"label"===p&&(E.transform=t.getSuggestiveRotation(w,E.x,E.y)),s&&n[p].hide(),n[p].animateWith(l,k,E,e,c,A);d.graphics.element&&(g.element=g.element.concat(d.graphics.element));d.graphics.hotElement&&
(g.hotElement=g.hotElement.concat(d.graphics.hotElement));d.graphics.label&&(g.label=g.label.concat(d.graphics.label))}a.pool=g;m&&this.setMaxMin()},getAxisValuePadding:function(){return{left:.5,right:.5}},manageSpace:function(){var a=this.chart,f=this.config.rotateValues,g=a.components.xAxis[0],d=a.config.dataLabelStyle,c=(this.components||{}).data||[],e=c[0],c=c[c.length-1],k,m,p={};k={};var n=0,q=0,t,E=g.getPixel(0),p=a.linkedItems.smartLabel,w={paddingLeft:0,paddingRight:0};k=0;var F=this.groupManager,
F="column"===this.type&&F.getDataSetPosition(this),s=this.getAxisValuePadding();e&&(e=e.config,t=e.showValue,m=e&&e.anchorProps||{},t&&(k=e.displayValue,p.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow),p.setStyle(d),k=p.getOriSize(k),k=f?k.height:k.width),null!==e.setValue&&(n=l(m.radius,0)+l(m.borderThickness,0),q=(k||0)/2-(g.getPixel(s.left)-E)-(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),w.paddingLeft=na(n,q));c&&(e=c.config,t=e.showValue,m=e&&e.anchorProps||{},t&&!f&&(k=e.displayValue,
p.setStyle(d),p=p.getOriSize(k),k=f?p.height:p.width),null!==e.setValue&&(n=l(m.radius,0)+l(m.borderThickness,0),q=(k||0)/2-(g.getPixel(s.right)-E)+(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),w.paddingRight=na(n,q));return w},getPlotClickFn:function(a){return function(f){ea.call(this,a,f)}},getEventArgs:function(){return{datasetName:(this.JSONData||{}).seriesname,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},rolloverResponseSetter:function(a,f){var g=f.jsonData.chart;
return function(d){var c=this.data("hoverEnabled"),e=this.data("draged"),l=this.data("dataset");!0!==e&&(l._hoverFunc(a,"DataPlotRollOver",g,c),ea.call(this,f,d,"DataPlotRollOver"))}},rolloutResponseSetter:function(a,f){var g=f.jsonData.chart;return function(d){var c=this.data("hoverEnabled"),e=this.data("draged"),l=this.data("dataset");!0!==e&&(l._hoverFunc(a,"DataPlotRollOut",g,c),ea.call(this,f,d,"DataPlotRollOut"))}}}]);FusionCharts.register("component",["dataset","realtimecolumn",{_realTimeConfigure:function(a){var f=
this.chart,g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"Column"]);FusionCharts.register("component",["dataset","scrollcolumn2d",{},"Column"]);FusionCharts.register("component",["dataset","Column3D",{draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=a.chart.config.categories,n,q,w,z=
a.chart,K=z.components.paper,E=z.components.xAxis[0],r=a.yAxis,B=z.graphics.columnGroup,s=z.isStacked,v,A,D,h=z.graphics,C=m.parseUnsafeString,H=m.getValidValue,G=c.showTooltip,J=z.get("config","animationObj"),I=J.animType,M=J.animObj,Q=J.dummyObj,J=J.duration,P=E.getAxisPosition(0),T=E.getAxisPosition(1),T=c.groupMaxWidth=T-P,R=c.definedGroupPadding,V=c.plotSpacePercent/200,$=e.getDataSetPosition(a),P=e.stackSumValue[a.positionIndex],ba=c.maxColWidth,T=(1-.01*R)*T||Fa(T*(1-2*V),1*ba),T=l($.columnWidth,
T/1),U,R=$.xPosOffset||0,$=$.height,Z,V=a.components.data,fa,ca,ya,Aa,ma,Ka,na,ia;Aa={};Ka={};ba=r.getLimit();fa=ba.max;var va=ba.min,ba=r.getAxisBase(),ka=r.yBasePos=r.getAxisPosition(ba),sa,la=0,Va=c.plotBorderThickness;na=a.graphics.container;var ga=a.graphics.dataLabelContainer,da=a.graphics.shadowContainer,oa=h.trackerGroup,ha,Ba,eb,za,qa,Ca,ua,h=c.use3DLighting,wa,Ea,Ha,Ia,Ja=!0,Da=!1,Na=!1,Oa=a.visible,Pa,bb=(a.components.removeDataArr||[]).length,cb=a.components.pool||[],$a=c.showHoverEffect,
Sa=function(a){ea.call(this,z,a)},Ra=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,z,b,"DataPlotRollOver"))}},Ya=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,z,b,"DataPlotRollOut"))}},db=function(){var f,g;if(!1===a.visible&&(!1===a._conatinerHidden||void 0===a._conatinerHidden)){f=a.components.data;for(g=0;g<n;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&
f[g].graphics.element.attr({visibility:"hidden"}),f[g]&&f[g].graphics&&f[g].graphics.hotElement&&f[g].graphics.hotElement.attr({visibility:"hidden"});da.hide();ga&&ga.hide();a._conatinerHidden=!0}},fb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};na||(na=a.graphics.container=z.datasetLayers=z.datasetLayers||K.group("columns",B));da||(da=a.graphics.shadowContainer=K.group("shadow",B).toBack());n=E.getCategoryLen();if(Oa)for(w=0;w<n;w++)V[w].graphics&&V[w].graphics.element&&V[w].graphics.element.attr({visibility:"visible"}),
V[w].graphics&&V[w].graphics.hotElement&&V[w].graphics.hotElement.attr({visibility:"visible"});B=na.negative=na.negative||K.group("negative-values",na);Ba=na.column=na.column||K.group("positive-values",na);eb=oa.negative=oa.negative||K.group("negative-values",oa);oa=oa.column=oa.column||K.group("positive-values",oa);0>va&&0<=fa?(w=na.zeroPlane)?(w=[z.config.canvasLeft-10,ka+10,z.config.canvasWidth,1,10,10,w],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),
e.graphics.zeroplane.animateWith(Q,M,{cubepath:w},J,I),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,!h],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(w=na.zeroPlane=K.group("zero-plane",na).insertBefore(Ba),!e.graphics&&(e.graphics={}),e.graphics.zeroplane=K.cubepath(z.config.canvasLeft-10,ka+10,z.config.canvasWidth,1,10,10,w).attr({fill:[c.zeroPlaneColor,!h],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):e.graphics&&e.graphics.zeroplane&&
e.graphics.zeroplane.hide()&&e.graphics.zeroplane._.cubetop.hide()&&e.graphics.zeroplane._.cubeside.hide();(va=B.data("categoryplots"))||(B.data("categoryplots",Array(n)),va=B.data("categoryplots"));(za=Ba.data("categoryplots"))||(Ba.data("categoryplots",Array(n)),za=Ba.data("categoryplots"));(qa=eb.data("categoryplots"))||(eb.data("categoryplots",Array(n)),qa=eb.data("categoryplots"));(Ca=oa.data("categoryplots"))||(oa.data("categoryplots",Array(n)),Ca=oa.data("categoryplots"));for(w=0;w<n;w++)if(na=
w,Aa=(ia=(fa=V[w])&&fa.config)&&ia.setValue,Pa=!1,!fa||void 0!==Aa&&null!==Aa||(fa.graphics&&fa.graphics.element&&(fa.graphics.element.hide(),fa.graphics.element._.cubeside.hide(),fa.graphics.element._.cubetop.hide()),fa.graphics&&fa.graphics.hotElement&&fa.graphics.hotElement.hide()),void 0!==fa&&void 0!==Aa&&null!==Aa){va[w]=va[w]||K.group(B);za[w]=za[w]||K.group(Ba);qa[w]=qa[w]||K.group(eb);Ca[w]=Ca[w]||K.group(oa);fa.graphics||(V[w].graphics={});ya=ia.setLink;ha=ia.colorArr;Ka=ia.displayValue;
A=0<=Aa?ia.previousPositiveY:ia.previousNegativeY;Z=H(C(d(ia.origToolText,f.plottooltext,g.plottooltext)));s&&(A=a._parseValues(w,A,P[w],Z),Aa=ia.value);sa=r.getAxisPosition(A||ba);v=E.getAxisPosition(w)+R;0!==$?(D=r.getAxisPosition(Aa+(A||0)),A=ra(sa-D)):(A=0,D=sa);D=Fa(D,sa);U=T;(ua=0>Aa)?(q=va,sa=qa):(q=za,sa=Ca);Z=ia.toolText+(Z?"":ia.toolTipValue);ma={index:w,link:ya,value:Aa,displayValue:Ka,categoryLabel:p[w].label,toolText:Z,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Oa};Aa=ia.setRolloutAttr;
Ka=ia.setRolloverAttr;J||(ka=D,la=A);wa=v;Ea=D;Ha=U;Ia=A;v-=10;D+=10;fa.graphics.element?(Na=Da=!0,ca=fa.graphics.element,q[w].appendChild(ca._.cubetop),q[w].appendChild(ca._.cubeside),q[w].appendChild(ca),q={cubepath:[v,!0===a.visible||0===$||s?D:ca.attrs.cubepath[1],U,!0===a.visible||0===$||s?A:ca.attrs.cubepath[3],10,10]},ca.animateWith(Q,M,q,J,I,Ja&&db),ca.attr({fill:[F(ha[0]),!h],ishot:!0,stroke:c.showPlotBorder&&F(ha[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,
cursor:ya?"pointer":""})):(cb.element&&cb.element.length?(ca=fa.graphics.element=cb.element.shift(),q[w].appendChild(ca._.cubetop),q[w].appendChild(ca._.cubeside),q[w].appendChild(ca),ca.show()):(ca=fa.graphics.element=K.cubepath(q[w]),Pa=!0),ca.attr({cubepath:[v,J?ka+10:D,U,J?0:la,10,10],fill:[F(ha[0]),!h],ishot:!0,stroke:c.showPlotBorder&&F(ha[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:ya?"pointer":"",visibility:Oa?"visible":"hidden"}),
ca.animateWith(Q,M,{cubepath:[v,D,U,A,10,10]},J,I,Ja&&fb),J?Ja=!1:Na=Da=!0,fa._newXPos=v);ca.shadow(ia.shadow,da).data("BBox",{height:la,width:U,x:v,y:D});if(ya||G)A<X&&(D-=(X-A)/2,A=X),q={cubepath:[v,D,U,A,10,10],cursor:ya?"pointer":"",stroke:Va&&t||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:0,fill:t,ishot:!0},fa.graphics.hotElement?(v=fa.graphics.hotElement,sa[w].appendChild(v),sa[w].appendChild(v._.cubetop),sa[w].appendChild(v._.cubeside)):cb.hotElement&&cb.hotElement.length?
(v=fa.graphics.hotElement=cb.hotElement.shift(),sa[w].appendChild(v),sa[w].appendChild(v._.cubetop),sa[w].appendChild(v._.cubeside),v.show()):(v=fa.graphics.hotElement=K.cubepath(sa[w]),Pa=!0),v.attr(q);v=fa.graphics.hotElement;(v||ca).data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).tooltip(Z);(v||ca)._.cubetop.data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",
Aa).tooltip(Z);(v||ca)._.cubeside.data("eventArgs",ma).data("groupId",na).data("showHoverEffect",$a).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).tooltip(Z);Pa&&((v||ca).click(Sa).hover(Ra(ca),Ya(ca)),(v||ca)._.cubetop.click(Sa).hover(Ra(ca),Ya(ca)),(v||ca)._.cubeside.click(Sa).hover(Ra(ca),Ya(ca)));s&&ua&&(ca.toBack(),v&&v.toBack());fa._xPos=wa;fa._yPos=Ea;fa._height=Ia;fa._width=Ha}Da&&a.drawLabel();e.drawSumValueFlag&&Na&&e.drawSumValueFlag&&e.drawSumValue();bb&&a.remove()},remove:function(){var a=
this,f=a.components,g=f.removeDataArr,d=f.pool||(f.pool={element:[],hotElement:[],label:[]}),c=g.length,e=a.config.groupMaxWidth,l,k=a.maxminFlag,m,p,n;(function(){return!1===a.endPosition?function(){return{x:l._xPos-e*c}}:!0===a.endPosition?function(){return{x:l._xPos+e*c||0}}:function(){return{width:0}}})();for(n=0;n<c;n++)if(l=g[0],g.splice(0,1),l&&l.graphics){p=l.graphics;for(m in p)if(p[m].hide(),"element"===m||"hotElement"===m)p[m]._.cubetop.hide(),p[m]._.cubeside.hide();l.graphics.element&&
(d.element=d.element.concat(l.graphics.element));l.graphics.hotElement&&(d.hotElement=d.hotElement.concat(l.graphics.hotElement));l.graphics.label&&(d.label=d.label.concat(l.graphics.label))}f.pool=d;k&&a.setMaxMin()}},"Column"]);FusionCharts.register("component",["dataset","Waterfall2D",{configure:function(){var a,f,g=this.chart,c=g.components;a=this.config;f=this.JSONData;var e=f.data,k=g.config.categories,k=Fa(k&&k.length,e&&e.length),p=g.jsonData,n=p.chart,q=c.colorManager,t,w=q.getPlotColor(this.index||
this.positionIndex),K=l(f.dashed,n.plotborderdashed),E=l(n.useplotgradientcolor,1),z=l(n.showtooltip,1),r=m.parseUnsafeString,s=r(n.yaxisname),v=r(n.xaxisname),A=r(d(n.tooltipsepchar,", ")),B=m.parseTooltext,h,D,C,H,G,I,M,Q,P,R,X,xa,$,U,fa,Z,ca,ea,ya,Aa,ma,Ka,ia,la,va,ka,sa,ra=m.getDashStyle,Va=this.components.data,oa=c.numberFormatter,ha;t={};t=t.dataObj||(t.dataObj={});ha=t.chart||(t.chart={});ca=d(n.connectorthickness,1);var qa,Ca=-Infinity,Ba=Infinity,eb=0,za=0,ua=0,wa,Ha,Ia,Ea;this.visible=1===
l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);t=a.showplotborder=l(n.showplotborder,1);a.plotBorderThickness=G=t?l(n.plotborderthickness,1):0;a.isRoundEdges=I=l(n.useroundedges,0);a.plotBorderAlpha=X=t?d(n.plotborderalpha,C,ba):0;a.plotBorderColor=xa=d(n.plotbordercolor,q.getColor("plotBorderColor").split(",")[0]);a.plotgradientcolor=R=E?V(n.plotgradientcolor,q.getColor("plotGradientColor")):J;a.plotDashLen=E=l(n.plotborderdashlen,6);a.plotDashGap=H=l(n.plotborderdashgap,3);a.use3DLighting=
l(n.use3dlighting,1);a.showSum=qa=l(n.showsumatend,1);a.plotColor=d(f.color,w);a.plotfillAngle=Q=l(360-n.plotfillangle,90);a.showShadow=I?l(n.showshadow,1):l(n.showshadow,q.getColor("showShadow"));a.showHoverEffect=M=l(n.plothovereffect,n.showhovereffect,void 0);a.plotFillAlpha=d(f.alpha,n.plotfillalpha,ba);a.plotRadius=l(n.useRoundEdges,a.isRoundEdges?1:0);a.plotFillRatio=P=d(f.ratio,n.plotfillratio);a.plotBorderDashStyle=$=K?ra(E,H,G):"none";a.showValues=l(f.showvalues,n.showvalues,1);a.valuePadding=
l(n.valuepadding,2);a.enableAnimation=w=l(n.animation,n.defaultanimation,1);a.animation=w?{duration:1E3*l(n.animationduration,1)}:!1;ha.transposeAnimation=a.transposeAnimation=l(n.transposeanimation,ha.transposeAnimation,w);a.transposeAnimDuration=1E3*l(n.transposeanimduration,.2);a.showTooltip=l(n.showtooltip,1);a.stack100Percent=l(g.stack100percent,n.stack100percent,0);a.definedGroupPadding=na(l(n.plotspacepercent),0);a.plotSpacePercent=na(l(n.plotspacepercent,20)%100,0);a.maxColWidth=l(n.maxcolwidth,
50);a.showPercentValues=l(n.showpercentvalues,0);a.showPercentInToolTip=l(n.showpercentintooltip,0);a.plotPaddingPercent=l(n.plotpaddingpercent);a.rotateValues=l(n.rotatevalues)?270:0;a.placeValuesInside=l(n.placevaluesinside,0);a.parentYAxis=ha="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;Va||(Va=this.components.data=[]);a.zLine=Ha={step:!0,data:[],dashStyle:"1"===n.connectordashed?ra(l(n.connectordashlen,2),l(n.connectordashgap,2),ca):"none",useForwardSteps:!0,color:T(d(n.connectorcolor,
"000000"),d(n.connectoralpha,100)),lineWidth:ca};for(g=0;g<k;g+=1)U=e[g],Z=oa.getCleanValue(U.value),D=l(U.issum,0),U.vline||D||(eb+=Z,U._value=Z);wa=oa.dataLabels(eb);qa&&(qa=!0,k+=1,Ia={label:da(n.sumlabel,"Total"),_value:eb,value:eb,issum:1,cumulative:1});for(Ea=g=0;g<k;g+=1)U=e[g],ca=(Z=Va[g])&&Z.config,Z||(Z=Va[g]={graphics:{}}),Z.config||(ca=Va[g].config={}),!U&&qa&&(p.data||(p.data=[]),p.data[g]=U=e[g]=Ia),w=d(U.color,q.getPlotColor(g)),Z.vline||(Z=U._value,delete U._value,ca.issum=D=l(U.issum,
0),C=ca.isCumulative=l(U.cumulative,1),D?(Z=C?za:za===ua?za:za-ua,ca.lastComTotal=ua,ua=za,Ha.data.push({y:null,x:Ea-.5})):za+=Z,Ca=na(Ca,za),Ba=Fa(Ba,za),ca.total=za,D=ca.showLabel=l(U.showlabel,n.showlabels,1),D=ca.dataLabel=r(D?da(U.label,U.name):J),0<Z?(ea=d(U.color,n.positivecolor,w),0!==M&&(ya=d(U.positivehovercolor,n.positivehovercolor,n.plotfillhovercolor,n.columnhovercolor,ea))):(ea=d(U.color,n.negativecolor,w),0!==M&&(ya=d(U.negativehovercolor,n.negativehovercolor,n.plotfillhovercolor,n.columnhovercolor,
ea))),C=d(U.alpha,a.plotFillAlpha),h=l(U.dashed,K),Aa=l(U.dashlen,E),ma=H=l(U.dashgap,H),ca.showValue=l(U.showvalue,a.showValues),ca.setValue=fa=Z,ca.setLink=d(U.link),ca.toolTipValue=fa=oa.dataLabels(fa,ha),ca.setDisplayValue=Ka=ga(r(U.displayvalue)),ca.displayValue=d(Ka,fa),ca.plotBorderDashStyle=h=1===h?ra(Aa,ma,G):0===h?"none":$,ca.colorArr=ea=m.graphics.getColumnColor(ea+","+R.replace(/,+?$/,""),C,P,Q,I,xa,X.toString(),0,!1),0!==M&&(Aa=d(U.alpha,U.hoveralpha,f.hoveralpha,n.plotfillhoveralpha,
n.columnhoveralpha,C),ma=d(U.hovergradientcolor,f.hovergradientcolor,n.plothovergradientcolor,R),!ma&&(ma=""),fa=d(U.hoverratio,f.hoverratio,U.ratio,n.plothoverratio,P),Ka=l(360-U.hoverangle,360-f.hoverangle,360-n.plothoverangle,Q),ia=d(U.borderhovercolor,f.borderhovercolor,n.plotborderhovercolor,xa),la=d(U.borderhoveralpha,f.borderhoveralpha,n.plotborderhoveralpha,X,C),C=l(U.borderhoverthickness,f.borderhoverthickness,n.plotborderhoverthickness,G),va=l(U.borderhoverdashed,f.borderhoverdashed,n.plotborderhoverdashed),
ka=l(U.borderhoverdashgap,f.borderhoverdashgap,n.plotborderhoverdashgap,E),sa=l(U.borderhoverdashlen,f.borderhoverdashlen,n.plotborderhoverdashlen,H),va=va?ra(sa,ka,C):h,1===M&&ya===w&&(ya=Pa(ya,70)),w=m.graphics.getColumnColor(ya+","+ma,Aa,fa,Ka,I,ia,la.toString(),0,!1),ca.setRolloutAttr={fill:F(ea[0]),stroke:t&&F(ea[1]),"stroke-width":G,"stroke-dasharray":h},ca.setRolloverAttr={fill:F(w[0]),stroke:t&&F(w[1]),"stroke-width":C,"stroke-dasharray":va}),h=ca.toolTipValue,w=ga(r(d(U.tooltext,f.plottooltext,
n.plottooltext))),z?void 0!==w?(C=[1,2,3,5,6,7,20,21,24,25],D={formattedValue:h,label:D,yaxisName:s,xaxisName:v,cumulativeValue:za,cumulativeDataValue:oa.dataLabels(za),sum:wa,unformattedSum:eb},w=B(w,C,D,U,n,f)):w=null===h?!1:D!==J?D+A+h:h:w=!1,Ha.data.push({y:null===Z?null:za,x:Ea}),Ea+=1,ca.toolText=w,ca.setTooltext=w);a.maxValue=Ca;a.minValue=Ba;a.connectNullData=l(n.connectnulldata,0);a.showConnectors=l(n.showconnectors,1);a=f.catData;for(g=0;g<a.length;g+=1)f=a[g],e.splice(f.index,0,f.data);
c.xAxis[0].setCategory(e)},draw:function(){var a,f,g,d=this,c=d.chart,e=c.config.canvasBottom,k=c.graphics.datasetGroup,p=d.JSONData,n=d.config,q=d.groupManager,w=d.positionIndex,K=d.chart.config.categories,E=p.data,z=K&&K.length,r=E&&E.length,s,E=d.visible,v=c.components.paper,A=c.components.xAxis[0],D=c.components.yAxis[0],h=d.components,B=h.removeDataArr,B=B&&B.length,C,H,G,J=c.graphics,I=m.Raphael,M=n.showTooltip,Q=A.getAxisPosition(0),Q=A.getAxisPosition(1)-Q,P=n.definedGroupPadding,T=n.plotSpacePercent/
200,R=q.getDataSetPosition(d),V=n.maxColWidth,Q=(1-.01*P)*Q||Fa(Q*(1-2*T),1*V),Q=l(R.columnWidth,Q/1),U,P=R.xPosOffset||0,R=R.height,$,ba,h=h.data,Z,fa,ca,Aa,ma,Ka;Aa={};Ka={};var T=D.getAxisBase(),V=D.yBasePos=D.getAxisPosition(T),ea=0,na=n.showShadow,va=n.plotBorderThickness,ka=n.plotRadius,sa=d.graphics.container,ia=d.graphics.trackerContainer,la=d.graphics.dataLabelContainer,ga=d.graphics.shadowContainer;ca=J.trackerGroup;var J=!0,da=!1,oa=d.pool||(d.pool={}),ha=function(){!1!==d.visible||!1!==
d._conatinerHidden&&void 0!==d._conatinerHidden||(sa.hide(),ia.hide(),ga.hide(),la&&la.hide(),d._conatinerHidden=!0)},Ba=function(){d.drawLabel()},qa=c.get("config","animationObj"),za=qa.duration||0,ua=qa.dummyObj,wa=qa.animObj,qa=qa.animType;sa||(sa=d.graphics.container=v.group("columns",k),E||sa.hide());ia||(ia=d.graphics.trackerContainer=v.group("col-hot",ca),E||ia.hide());ga||(ga=d.graphics.shadowContainer=v.group("shadow",k).toBack(),E||ga.hide());n.showConnectors&&d.drawLine();k=Fa(z,r);for(z=
0;z<k;z++)if(Ka=(r=h[z])&&r.config)if(Aa=Ka.setValue,C=0<=Aa,null!==Aa){ca=Ka.setLink;s=Ka.colorArr;r.graphics||(h[z].graphics={});ma=Ka.displayValue;H=C?Ka.previousPositiveY:Ka.previousNegativeY;Ka.issum?Ka.isCumulative||(H=Ka.lastComTotal):H=h[z-1]&&h[z-1].config.total;U=D.getAxisPosition(H||T);C=A.getAxisPosition(z)+P;0!==R?(H=D.getAxisPosition(Aa+(H||0)),$=ra(U-H)):($=0,H=U);H=Fa(H,U);Ca(H+$)>=e&&($+=va/2);q.isCrisp?(G=I.crispBound(C,H,Q,$,va),C=G.x,H=G.y,U=G.width,$=G.height):U=Q;ba=Ka.toolText;
a=Ka.plotBorderDashStyle;ma={index:z,link:ca,value:Aa,displayValue:ma,categoryLabel:K[z].label,toolText:ba,id:"",datasetIndex:w,datasetName:p.seriesname,visible:E};Aa=Ka.setRolloutAttr;Ka=Ka.setRolloverAttr;za||(V=H,ea=$);s={ishot:!M,fill:F(s[0]),stroke:F(s[1]),"stroke-width":va,"stroke-linejoin":"miter",visibility:E};f={x:C,y:V,width:U,height:ea||1,r:ka,"stroke-dasharray":a};r._xPos=C;r._yPos=H;r._height=$;r._width=U;g=r.graphics;Z=g.element;a=!1;Z?(da=!0,f.y=H,f.height=$||1,Z.attr(s).animateWith(ua,
wa,f,za,qa,J&&ha)):(oa.element&&oa.element.length?Z=g.element=oa.element.shift():(Z=g.element=v.rect(sa),a=!0),Z.attr(s).attr(f),za?(Z.animateWith(ua,wa,{y:H,height:$||1},za,qa,J&&Ba),J=!1):da=!0);Z.shadow({opacity:na},ga).data("BBox",G);if(ca||M)$<X&&(H-=(X-$)/2,$=X),s={x:C,y:H,width:U,height:$,r:ka,cursor:ca?"pointer":"",stroke:t,"stroke-width":va,fill:t,ishot:!0,visibility:E},(fa=g.hotElement)||(fa=g.hotElement=v.rect(s,ia),a=!0),fa.attr(s);(fa||Z).data("eventArgs",ma).data("groupId",void 0).tooltip(ba).data("hoverEnabled",
n.showHoverEffect).data("setRolloverAttr",Ka).data("setRolloutAttr",Aa).data("setElem",Z).data("dataset",d);a&&(fa||Z).click(d.getPlotClickFn(c)).hover(d.rolloverResponseSetter(r,c),d.rolloutResponseSetter(r,c))}da&&d.drawLabel();B&&d.remove()},drawLine:function(){var a=this.chart,f=a.components,g=a.graphics,d=this.config,c=f.paper,e,k,m=f.xAxis[0],f=f.yAxis[0],p=f.getAxisBase();e=f.getAxisPosition(p);var p=this.graphics.lineContainer,n=d.definedGroupPadding,q=d.plotSpacePercent/200,t=m.getAxisPosition(0),
t=m.getAxisPosition(1)-t,E=d.maxColWidth,n=((1-.01*n)*t||Fa(t*(1-2*q),1*E))/2,w=d.zLine,d=d.connectNullData,q=w.data,t=q.length,E=this.graphics,F=w.dashStyle,s=w.color,w=w.lineWidth,v,A=E.zLine,z=null,h=[],r=[],D=a.get("config","animationObj"),a=D.duration||0,B=D.dummyObj,C=D.animObj,D=D.animType,g=g.datalabelsGroup;k=E.dataLabelContainer;k||(k=this.graphics.dataLabelContainer=c.group("datalabel",g));p||(p=E.lineContainer=c.group("line-connector",k));f.yBasePos=e;for(g=0;g<t;g+=1)k=q[g],e=k.y,null===
e?(r.length=0,0===d&&(z=null)):(k=l(k.x,g),e=f.getAxisPosition(e),k=m.getAxisPosition(k),k=ca(k,w,w).position,e=ca(e,w,w).position,null!==z?(r.length&&(h=h.concat(r),r.length=0),h.push("M",v,z,"m",-n,0,"H",k,"h",n,"m",0,e-z)):r.push("M",k,e),v=k,z=e);A||(A=E.zLine=c.path(p).attr({path:h,"stroke-linecap":"round","stroke-opacity":0}));A.animateWith(B,C,{path:h,"stroke-opacity":1,"stroke-dasharray":F,stroke:s,"stroke-linejoin":2<=w?"round":"miter","stroke-width":w},a,D)},hidingPosition:function(){return function(){return{width:0}}},
_hoverFunc:function(a,f){var g=a.graphics.hotElement,g="DataPlotRollOver"===f?g.data("setRolloverAttr"):g.data("setRolloutAttr");a.graphics.element.attr(g)}},"Column"]);FusionCharts.register("component",["dataset","Bar2D",{type:"bar",draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=f.data,n=a.chart.config.categories,q,w,z,K,E=a.chart,r=E.components.paper,D=E.components.xAxis[0],s=E.components.yAxis[0];q=E.graphics.columnGroup;var v=E.isStacked,
A,B,h,C=E.graphics,H=m.parseUnsafeString,G=m.getValidValue,J=m.Raphael,I=c.showTooltip,M=D.getAxisPosition(0),Q=D.getAxisPosition(1),P=c.groupMaxWidth=ra(Q-M),T=c.definedGroupPadding,R=c.plotSpacePercent/200,V=e.getDataSetPosition(a),M=e.stackSumValue[a.positionIndex],Q=e.manageClip,U=c.maxColWidth,$=E.get("config","animationObj"),Z=$.animType,ba=$.animObj,fa=$.dummyObj,$=$.duration,ca=E.components.canvas.config.showCanvasBorder,P=(1-.01*T)*P||Fa(P*(1-2*R),1*U),P=l(V.columnWidth,P/1),ya,T=V.xPosOffset||
0,V=V.height,Aa,R=a.components.data,ma,Ka,ia,na,va,ka,sa;na={};ka={};var U=s.getLimit(),la=U.min,U=0<U.max&&0>la,la=s.getAxisBase(),ga=s.yBasePos=s.getAxisPosition(la),da=0,oa,ha=c.plotBorderThickness,qa=c.plotRadius,Ba=a.graphics.container,ua=a.graphics.trackerContainer,za=a.graphics.dataLabelContainer,Ca=a.graphics.shadowContainer;K=C.trackerGroup;var wa,C=a.visible,Ha=!0,Ia=!1,Ea=!1,Fb,Ja=(a.components.removeDataArr||[]).length,Da=a.components.pool||[],Na=c.showHoverEffect,Oa=function(a){ea.call(this,
E,a)},Pa=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,E,b,"DataPlotRollOver"))}},Ta=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,E,b,"DataPlotRollOut"))}},bb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Ba.hide(),ua.hide(),Ca.hide(),za&&za.hide(),a._conatinerHidden=!0)},cb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};
Ba||(Ba=a.graphics.container=r.group("bars",q),C||Ba.hide());ua||(ua=a.graphics.trackerContainer=r.group("bar-hot",K),C||ua.hide());Ca||(Ca=a.graphics.shadowContainer=r.group("shadow",q).toBack(),C||Ca.hide());C&&(Ba.show(),ua.show(),Ca.show());q=D.getCategoryLen();for(K=0;K<q;K++)if(w=p&&p[K],na=(sa=(ma=R[K])&&ma.config)&&sa.setValue,!ma||void 0!==na&&null!==na||(ma.graphics&&ma.graphics.element&&ma.graphics.element.hide(),ma.graphics&&ma.graphics.hotElement&&ma.graphics.hotElement.hide()),void 0!==
ma&&void 0!==na&&null!==na){ia=sa.setLink;wa=sa.colorArr;ma.graphics||(R[K].graphics={});ka=sa.displayvalue;A=0<=na?sa.previousPositiveY:sa.previousNegativeY;Aa=G(H(d(w.tooltext,f.plottooltext,g.plottooltext)));v&&(A=a._parseValues(K,A,M[K],Aa),na=sa.value);ya=s.getAxisPosition(A||la);w=D.getAxisPosition(K)+T;0!==V?(B=s.getAxisPosition(na+(A||0)),A=Math.abs(ya-B)):(A=0,B=ya);B=Math.min(B,ya);ca&&!U&&Q&&C&&0<ha&&(A+=ha,B-=ha,e.manageClip=!1);e.isCrisp?(h=J.crispBound(w,B,P,A,ha),w=h.x,B=h.y,ya=h.width,
A=h.height):ya=P;Aa=sa.toolText+(Aa?"":sa.toolTipValue);oa=sa.plotBorderDashStyle;va={index:K,link:ia,value:na,displayValue:ka,categoryLabel:n[K].label,toolText:Aa,id:"",datasetIndex:k,datasetName:f.seriesname,visible:C};na=sa.setRolloutAttr;ka=sa.setRolloverAttr;$||(ga=B,da=A);z={x:ga,y:w,width:da||1,height:ya,r:qa,ishot:!I,fill:F(wa[0]),stroke:F(wa[1]),"stroke-width":c.showPlotBorder?ha:0,"stroke-dasharray":oa,"stroke-linejoin":"miter",visibility:"visible"};ma._xPos=B;ma._yPos=w;ma._height=ya;ma._width=
A;if(ma.graphics.element){Ia=Ea=!0;Ka=ma.graphics.element;z={x:B,y:w,height:ya};if(!0===a.visible||0===V||v)z.width=A;Ka.animateWith(fa,ba,z,$,Z,Ha&&bb);Ka.attr({ishot:!I,fill:F(wa[0]),stroke:F(wa[1]),"stroke-width":c.showPlotBorder?ha:0,"stroke-dasharray":oa,"stroke-linejoin":"miter",visibility:"visible"})}else Da.element&&Da.element.length?(Ka=ma.graphics.element=Da.element.shift(),Ka.show()):(Ka=ma.graphics.element=r.rect(Ba),Fb=!0),Ka.attr(z),Ka.animateWith(fa,ba,{x:B,width:A||1},$,Z,Ha&&cb),
$?Ha=!1:Ia=Ea=!0;Ka.shadow(sa.shadow,Ca).data("BBox",h);if(ia||I)A<X&&(B-=(X-A)/2,A=X),z={x:B,y:w,width:A,height:ya,r:qa,cursor:ia?"pointer":"",stroke:t,"stroke-width":c.showPlotBorder?ha:0,fill:t,ishot:!0,visibility:C},ma.graphics.hotElement||(Da.hotElement&&Da.hotElement.length?(ia=ma.graphics.hotElement=Da.hotElement.shift(),ia.show()):(ia=ma.graphics.hotElement=r.rect(ua),Fb=!0)),ma.graphics.hotElement.attr(z);ia=ma.graphics.hotElement;(ia||Ka).data("eventArgs",va).data("groupId",void 0).data("showHoverEffect",
Na).data("setRolloverAttr",ka).data("setRolloutAttr",na).tooltip(Aa);Fb&&(ia||Ka).click(Oa).hover(Pa(Ka),Ta(Ka))}Ia&&a.drawLabel();e.drawSumValueFlag&&Ea&&e.drawSumValueFlag&&e.drawSumValue();Ja&&a.remove()},drawLabel:function(){var a=this.chart,f=a.graphics,g=a.config,d=a.components.canvas.config,c=a.config.dataLabelStyle,e=this.JSONData.data,k=a.config.categories,m=a.is3D,p=a.isStacked,n=k&&k.length,q=e.length,k=this.components.data,t=a.components.paper,E,w,z=d.yDepth,d=d.xDepth,s=a.components.numberFormatter;
w="";var v=this.config,A,F=v.placeValuesInside,h=g.canvasWidth,g=g.canvasLeft,r,B,v=v.valuePadding+2,D,C,H,G=a.get("config","animationObj"),a=G.duration,I=G.animType,M=G.dummyObj,G=G.animObj,Q=this.graphics.dataLabelContainer,P,T,R,V,X=this.components.pool||{};C=this.visible;f=f.datalabelsGroup;Q||(Q=this.graphics.dataLabelContainer=t.group("datalabel"),C||Q.hide());f&&f.appendChild(Q);C&&Q.show();f=n<q?n:q;for(n=0;n<f;n++)if(E=k[n],void 0!==E&&(r=E.graphics))if(R=r.label,A=e[n],D=E._yPos,C=E._xPos,
T=E.config,H=s.getCleanValue(A.value),q=0>l(H),B=E._height,E=E._width,P=p?"middle":q?F?"start":"end":F?"end":"start",w=T.displayValue,T.showValue&&void 0!==w&&null!==w&&w!==J&&null!==H){w={text:w,"class":"fusioncharts-label",fill:c.color,"text-bound":[c.backgroundColor,c.borderColor,c.borderThickness,c.borderPadding,c.borderRadius,c.borderDash],"font-size":c.fontSize,"font-weight":c.fontWeight,"font-style":c.fontStyle,"font-family":c.fontFamily,"line-height":c.lineHeight,visibility:"visible"};R||
(X.label&&X.label.length?R=r.label=X.label.shift():(R=r.label=t.text({x:0,y:0},Q),V=!0));R.attr(w);A._state&&A._state.labelWidth||(w=R.getBBox(),A._state={labelWidth:w.width,labelHeight:w.height});w=A._state.labelWidth;w+=v;A=v;B=D+.5*B;D=C+(q?0:E);r=q?C-g:g+h-(C+E);p?(D+=.5*(q?E:-E),D=na(g+.5*w,D),D=Fa(g+h-.5*w,D),D-=m?d:0,B+=m?z:0):F?E>=w?(D+=q?A:-A,m&&(B+=z,D-=d)):w<r?(D+=q?-A:A,P=q?"end":"start",m&&q&&(D-=d)):(q?(D=C+E+na(w-C-E+g,0)-A,P="end"):(D=C-na(w-(g+h-C),0)+A,P="start"),m&&(D-=d,B+=z)):
r>=w?(D+=q?-A:A,m&&q&&(D-=d,B+=d)):(D+=q?A+w:-(A+w),m&&(D-=d,B+=z));if(D>g+h||D<g)D=g+4,P="start";V&&R.attr({x:D,y:B});R.show().animateWith(M,G,{x:D,y:B},a,I).attr({"text-anchor":P})}else R&&R.hide().attr({"text-bound":[]})},remove:function(){var a=this.components,f=a.removeDataArr,g=a.pool||(a.pool={element:[],hotElement:[],label:[]}),d=f.length,c,e=this.maxminFlag,l,k,m;for(m=0;m<d;m++)if(c=f[0],f.splice(0,1),c&&c.graphics){k=c.graphics;for(l in k)k[l].hide();c.graphics.element&&(g.element=g.element.concat(c.graphics.element));
c.graphics.hotElement&&(g.hotElement=g.hotElement.concat(c.graphics.hotElement));c.graphics.label&&(g.label=g.label.concat(c.graphics.label))}a.pool=g;e&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["dataset","Bar3D",{draw:function(){var a=this,f=a.JSONData,g=a.chart.jsonData.chart,c=a.config,e=a.groupManager,k=a.index,p=f.data,n=a.chart.config.categories,q,w,z,K,E=a.chart,r=E.components.paper,D=E.components.xAxis[0],s=E.components.yAxis[0],v=E.graphics.columnGroup,A=E.isStacked,
B,h,C,H=E.graphics,G=m.parseUnsafeString,J=m.getValidValue,I=c.showTooltip,M=D.getAxisPosition(0),Q=D.getAxisPosition(1),P=c.groupMaxWidth=ra(Q-M),T=c.definedGroupPadding,R=c.plotSpacePercent/200,V=e.getDataSetPosition(a),U=e.stackSumValue[a.positionIndex],$=c.maxColWidth,Z=E.get("config","animationObj"),ba=Z.animType,fa=Z.animObj,ca=Z.dummyObj,ya=Z.duration,Aa=(1-.01*T)*P||Fa(P*(1-2*R),1*$),ma=l(V.columnWidth,Aa/1),Ka,na=V.xPosOffset||0,ia=V.height,va,ka=a.components.data,sa,la,ga,da,oa,ha,qa,Ba,
ua,za,Ca={},wa={},Ha,Ia=s.getLimit(),Ea=Ia.max,Da=Ia.min,Ja=s.getAxisBase(),Na=s.yBasePos=s.getAxisPosition(Ja),Oa,Pa,Ta=0,yb=c.plotBorderThickness,bb=a.graphics.container,cb=a.graphics.dataLabelContainer,$a=a.graphics.shadowContainer,Sa=H.trackerGroup,Ra,Ya,db,fb,Za,Xa,hb,nb,pb,ab,ib,gb,Wa,rb,kb,ob,Cb,Db,qb=c.use3DLighting,sb=!0,Eb=!1,Pb=!1,Hb=a.visible,wb,jb=(a.components.removeDataArr||[]).length,lb=a.components.pool||[],xb=c.showHoverEffect,Ib=function(a){ea.call(this,E,a)},mb=function(a){return function(b){0!==
this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),ea.call(this,E,b,"DataPlotRollOver"))}},tb=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),ea.call(this,E,b,"DataPlotRollOut"))}},Lb=function(){var f,g;if(!1===a.visible&&(!1===a._conatinerHidden||void 0===a._conatinerHidden)){cb&&cb.hide();f=a.components.data;for(g=0;g<q;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&f[g].graphics.element.attr({visibility:"hidden"}),f[g]&&f[g].graphics&&
f[g].graphics.hotElement&&f[g].graphics.hotElement.attr({visibility:"hidden"});$a.hide();a._conatinerHidden=!0}},ub=function(){var f=a.components.data,g;for(g=0;g<q;g++)f[g]&&f[g].graphics&&f[g].graphics.element&&f[g].graphics.element.attr({fill:[F(f[g].config.colorArr[0]),!qb]});a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};bb||(bb=a.graphics.container=E.datasetLayers=E.datasetLayers||r.group("bars",v));$a||($a=a.graphics.shadowContainer=r.group("shadow",v).toBack());q=D.getCategoryLen();if(Hb)for(K=
0;K<q;K++)ka[K].graphics&&ka[K].graphics.element&&ka[K].graphics.element.attr({visibility:"visible"}),ka[K].graphics&&ka[K].graphics.hotElement&&ka[K].graphics.hotElement.attr({visibility:"visible"});fb=bb.negative=bb.negative||r.group("negative-values",bb);Za=bb.column=bb.column||r.group("positive-values",bb);Xa=Sa.negative=Sa.negative||r.group("negative-values",Sa);hb=Sa.column=Sa.column||r.group("positive-values",Sa);0>Da&&0<=Ea?(nb=bb.zeroPlane)?(Ha=[Na-5,E.config.canvasTop+5,1,E.config.canvasHeight,
5,5,nb],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),e.graphics.zeroplane.animateWith(ca,fa,{cubepath:Ha},ya,ba),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,!qb],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(nb=bb.zeroPlane=r.group("zero-plane",bb).insertBefore(Za),!e.graphics&&(e.graphics={}),e.graphics.zeroplane=r.cubepath(Na-5,E.config.canvasTop+5,1,E.config.canvasHeight,5,5,nb).attr({fill:[c.zeroPlaneColor,
!qb],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):e.graphics&&e.graphics.zeroplane&&e.graphics.zeroplane.hide()&&e.graphics.zeroplane._.cubetop.hide()&&e.graphics.zeroplane._.cubeside.hide();(pb=fb.data("categoryplots"))||(fb.data("categoryplots",Array(q)),pb=fb.data("categoryplots"));(ab=Za.data("categoryplots"))||(Za.data("categoryplots",Array(q)),ab=Za.data("categoryplots"));(ib=Xa.data("categoryplots"))||(Xa.data("categoryplots",Array(q)),ib=Xa.data("categoryplots"));
(gb=hb.data("categoryplots"))||(hb.data("categoryplots",Array(q)),gb=hb.data("categoryplots"));for(K=0;K<q;K+=1)pb[K]=pb[K]||r.group(fb),ab[K]=ab[K]||r.group(Za),ib[K]=ib[K]||r.group(Xa),gb[K]=gb[K]||r.group(hb);K=0;for(Wa=q-1;K<q;K++,Wa--)if(ua=K,w=p&&p[K],ha=(za=(sa=ka[K])&&sa.config)&&za.setValue,wb=!1,!sa||void 0!==ha&&null!==ha||(sa.graphics&&sa.graphics.element&&(sa.graphics.element.hide(),sa.graphics.element._.cubeside.hide(),sa.graphics.element._.cubetop.hide()),sa.graphics&&sa.graphics.hotElement&&
sa.graphics.hotElement.hide()),void 0!==sa&&void 0!==ha&&null!==ha){oa=za.setLink;Ra=za.colorArr;sa.graphics||(ka[K].graphics={});Ba=za.displayvalue;Oa=0<=ha?za.previousPositiveY:za.previousNegativeY;la=J(G(d(w.tooltext,f.plottooltext,g.plottooltext)));A&&(Oa=a._parseValues(K,Oa,U[K],la),ha=za.value);Pa=s.getAxisPosition(Oa||Ja);B=D.getAxisPosition(K)+na;0!==ia?(C=s.getAxisPosition(ha+(Oa||0)),h=Math.abs(Pa-C)):(h=0,C=Pa);C=Math.min(C,Pa);Ka=ma;(rb=0>ha)?(Ya=pb,db=ib):(Ya=ab,db=gb);va=za.toolText+
(la?"":za.toolTipValue);qa={index:K,link:oa,value:ha,displayValue:Ba,categoryLabel:n[K].label,toolText:va,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Hb};Ca=za.setRolloutAttr;wa=za.setRolloverAttr;ya||(Na=C,Ta=h);kb=B;ob=C;Cb=Ka;Db=h;B+=5;C-=5;sa.graphics.element?(Pb=Eb=!0,ga=sa.graphics.element,Ya[Wa].appendChild(ga._.cubetop),Ya[Wa].appendChild(ga._.cubeside),Ya[Wa].appendChild(ga),z={cubepath:[C,B,!0===a.visible||0===ia||A?h:ga.attrs.cubepath[2],Ka,5,5]},ga.animateWith(ca,fa,z,ya,ba,
sb&&Lb),ga.attr({fill:[F(Ra[0]),!qb],ishot:!0,stroke:c.showPlotBorder&&F(Ra[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":za.plotBorderDashStyle,cursor:oa?"pointer":""})):(lb.element&&lb.element.length?(ga=sa.graphics.element=lb.element.shift(),Ya[Wa].appendChild(ga._.cubetop),Ya[Wa].appendChild(ga._.cubeside),Ya[Wa].appendChild(ga),ga.show()):(ga=sa.graphics.element=r.cubepath(Ya[Wa]),wb=!0),ga.attr({cubepath:[ya?Na-5:C,B,ya?0:Ta,Ka,5,5],fill:[F(Ra[0]),!qb],ishot:!0,
stroke:c.showPlotBorder&&F(Ra[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":za.plotBorderDashStyle,cursor:oa?"pointer":"",visibility:Hb?"visible":"hidden"}),ga.animateWith(ca,fa,{cubepath:[C,B,h,Ka,5,5]},ya,ba,sb&&ub),ya?sb=!1:Pb=Eb=!0,sa._newXPos=B);ga.shadow(za.shadow,$a).data("BBox",{height:Ka,width:Ta,x:C,y:B});if(oa||I)h<X&&(C-=(X-h)/2,h=X),z={cubepath:[C,B,h,Ka,5,5],cursor:oa?"pointer":"",stroke:yb&&t||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:
0,fill:t,ishot:!0},sa.graphics.hotElement?(da=sa.graphics.hotElement,db[Wa].appendChild(da),db[Wa].appendChild(da._.cubetop),db[Wa].appendChild(da._.cubeside)):lb.hotElement&&lb.hotElement.length?(da=sa.graphics.hotElement=lb.hotElement.shift(),db[Wa].appendChild(da),db[Wa].appendChild(da._.cubetop),db[Wa].appendChild(da._.cubeside),da.show()):(da=sa.graphics.hotElement=r.cubepath(db[Wa]),wb=!0),da.attr(z);da=sa.graphics.hotElement;(da||ga).data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",
xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);(da||ga)._.cubetop.data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);(da||ga)._.cubeside.data("eventArgs",qa).data("groupId",ua).data("showHoverEffect",xb).data("setRolloverAttr",wa).data("setRolloutAttr",Ca).tooltip(va);wb&&((da||ga).click(Ib).hover(mb(ga),tb(ga)),(da||ga)._.cubetop.click(Ib).hover(mb(ga),tb(ga)),(da||ga)._.cubeside.click(Ib).hover(mb(ga),
tb(ga)));if(!A||rb)ga.toBack(),da&&da.toBack();sa._xPos=ob;sa._yPos=kb;sa._height=Cb;sa._width=Db}Eb&&a.drawLabel();e.drawSumValueFlag&&Pb&&e.drawSumValueFlag&&e.drawSumValue();jb&&a.remove()},remove:function(){var a=this,f=a.components,g=f.removeDataArr,d=f.pool||(f.pool={element:[],hotElement:[],label:[]}),c=g.length,e=a.config.groupMaxWidth,l,k=a.maxminFlag,m,p,n;(function(){return!1===a.endPosition?function(){return{x:l._xPos-e*c}}:!0===a.endPosition?function(){return{x:l._xPos+e*c||0}}:function(){return{width:0}}})();
for(n=0;n<c;n++)if(l=g[0],g.splice(0,1),l&&l.graphics){p=l.graphics;for(m in p)if(p[m].hide(),"element"===m||"hotElement"===m)p[m]._.cubetop.hide(),p[m]._.cubeside.hide();l.graphics.element&&(d.element=d.element.concat(l.graphics.element));l.graphics.hotElement&&(d.hotElement=d.hotElement.concat(l.graphics.hotElement));l.graphics.label&&(d.label=d.label.concat(l.graphics.label))}f.pool=d;k&&a.setMaxMin()}},"Bar2D"]);FusionCharts.register("component",["datasetGroup","Column",{init:function(){this.positionStackArr=
[];this.stackSumValue=[];this.stackConfig=[];this.drawSumValueFlag=!0},addDataSet:function(a,f,g){var d=this.positionStackArr[f];a.groupManager=this;a.positionIndex=f;a.stackIndex=g;d||(d=this.positionStackArr[f]=[]);d[g]={dataSet:a}},removeDataSet:function(a,f,g){var d=this.positionStackArr[a];d&&d[f]&&d.splice(f,g);0===d.length&&this.positionStackArr.splice(a,1)},draw:function(){var a=this.positionStackArr,f=a.length,g,d,c,e,l=this.chart;g=l.config.viewPortConfig.scaleX||1;d=l.graphics.columnGroup;
e=l.graphics;c=l.components.canvas.config.clip["clip-canvas"].slice(0);e=e.datalabelsGroup;var k=l.get("config","animationObj"),l=k.animType,m=k.animObj,p=k.dummyObj,n=c[2],k=k.duration;c[2]*=g;d.animateWith(p,m,{"clip-rect":c},k,l);e.animateWith(p,m,{"clip-rect":[c[0],0,n,c[3]+c[1]]},k,l);this.preDrawCalculate();this.drawSumValueFlag=!0;for(g=0;g<f;g++)for(d=a[g],c=d.length,this.manageClip=!0,d=0;d<c;d++)e=a[g][d].dataSet,e.draw()},getDataSetPosition:function(a){var f=this.numVisiblePositions,g=
this.stackConfig[a.positionIndex||0];a=a.visible;var d;if(g){if(!a&&g.visible||0===f)d=0;return{xPosOffset:g.xPosOffset,columnWidth:g.columnWidth,height:d}}},preDrawCalculate:function(){var a=this.chart,f=a.config.transposeAxis,g=this.stackConfig,d=this.stackSumValue,c=this.positionStackArr,e=this.sumValues=[],k=this.dataLimits=[],m=!1,p=a.isStacked,n=c.length,q,w,E,t,r,s,v,A,z,h,F,D,B,C,H,G,J,I,M=a.isBar,Q=a.jsonData.chart,P=a.components.xAxis[0],T=l(M?Q.overlapbars:Q.overlapcolumns,a.is3D?0:1),
R=P.getAxisPosition(0),V=P.getAxisPosition(1),X=ra(V-R),U=na(l(Q.plotspacepercent),0),$=l(Q.plotpaddingpercent),R=na(l(Q.plotspacepercent,20)%100,0),Z=R/200,V=!0,ba,fa;for(v=this.numVisiblePositions=0;v<n;v++){A=c[v].length;J=g[v]||(g[v]={});J.visible=!1;J.previousVisibleCount=this.numVisiblePositions;for(I=0;I<A;I++)if(fa=Infinity,t=c[v][I],ba=t.dataSet.yAxis,t&&!1!==t.dataSet.visible&&(J.visible=!0),p){s=c[v][I+1];z=I;for(m=!1;0<=z&&!m;)m=(q=c[v][--z])&&q.dataSet.visible;r=t&&t.dataSet.components.data;
G=s&&s.dataSet.components.data;h=t.dataSet.components.data;F=q&&q.dataSet.components.data;h||(h=t.dataSet.components.data=[]);D=r&&r.length;for(s=0;s<D;s++){(B=h[s])||(B=h[s]={config:{}});C=F&&F[s];if(!C)for(;0<=z&&!C;)if(m=(q=c[v][--z])&&q.dataSet.visible)C=(F=q&&q.dataSet.components.data)&&F[s];B=B.config;B.value=m=ba.getCleanValue(r[s].config.setValue);H=C&&C.config;w=(H&&H.previousPositiveY||0)+(H&&(0<H.value?H.value:0)||0);E=(H&&H.previousNegativeY||0)+(H&&(0>H.value?H.value:0)||0);B.previousPositiveY=
w;B.previousNegativeY=E;fa=Fa(fa,(E||w)+B.setValue);G&&G[s]&&G[s].config.setValue||(d[v]||(d[v]=[]),d[v][s]=w+(t.dataSet.visible&&ra(m))+ra(E),!d[v][s]&&(d[v][s]=1),e&&(e[v]||(e[v]=[]),e[v][s]=e[v][s]||{},null!==m&&(e[v][s].positive=w+(0<=m?t.dataSet.visible&&m:0),e[v][s].negative=E+(0>m?t.dataSet.visible&&m:0))))}s=c[v][I+1];z=I;if(!f)for(q=c[v][I-1],r=t&&t.dataSet.components.data,G=s&&s.dataSet.components.data,h=t.dataSet.components.data,F=q&&q.dataSet.components.data,D=r&&r.length,s=0;s<D;s++){B=
h[s];C=F&&F[s];if(!C)for(;0<=z&&!C;)C=(F=(q=c[v][--z])&&q.dataSet.components.data)&&F[s];B=B.config;B.value=m=ba.getCleanValue(r[s].config.setValue);H=C&&C.config;fa=Fa(fa,(E||w)+B.setValue);C=(H&&H.previousPositiveDataLimit||0)+(H&&(0<H.value?H.value:0)||0);H=(H&&H.previousNegativeDataLimit||0)+(H&&(0>H.value?H.value:0)||0);B.previousPositiveDataLimit=C;B.previousNegativeDataLimit=H;G&&G[s]&&G[s].config.setValue||!k||(k[v]||(k[v]=[]),k[v][s]=k[v][s]||{},null!==m&&(k[v][s].positive=C+(0<=m?m:0),k[v][s].negative=
H+(0>m?m:0)))}fa&&(t.dataSet.config.minValue=fa)}J.visible&&(this.numVisiblePositions+=1)}f&&(this.dataLimits=this.sumValues);f=this.numVisiblePositions;v=ra(l(M?Q.maxbarheight:Q.maxcolwidth,a.maxColWidth||50));a=(1-.01*U)*X||Fa(X*(1-2*Z),v*(f||1));M=a/2;Q=0===f?a:a/f;T=Fa(Q-1,1<f?T||void 0!==$?0<$?Q*$/100:0:4:0);for(v=0;v<n;v++)g=this.stackConfig[v],$=g.previousVisibleCount,g.xPosOffset=$*Q-M+T/2,Q-=T,g.columnWidth=g.visible||0===f?Q:0,Q+=T;n=P.getAxisPosition(0)-M;4>P.getAxisPosition(1)-M-(n+a)&&
(V=!1);"0"==R&&(V=!0);this.isCrisp=V},getMaxSumValueSpace:function(){var a=this.stackSumValue,f=this.chart,g={},d=a.length,c=f.components.numberFormatter,e,l=0,k=0,m,p,n,q=f.linkedItems.smartLabel;m=f.config.dataLabelStyle;q.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);q.setStyle(m);for(f=0;f<d;f++)for(m=a[f],n=m.length,p=0;p<n;p++)g=m[p],g=c.dataLabels(g),g=q.getOriSize(g),e=g.width,g=g.height,k=na(k,e),l=na(l,g);return{maxWidth:k,maxHeight:l}},drawSumValue:function(){var a=this.chart,
f=a.components,g=f.paper,d=this.positionStackArr,c=this.stackConfig,e,k,f=f.xAxis[0],m,p=a.isStacked,n,q=a.config.dataLabelStyle,w,t,r,z,s,v,A,F,h,D,B=this.sumValuesDrawn,C,H,G,J=f.getPVR(),I,M=this.pool,Q=!1,P=!1,T=a.get("config","animationObj"),R=T.duration,V=T.dummyObj,X=T.animObj,T=T.animType,U,$;z=l(a.jsonData.chart.showsum,a.showsum,0);var Z=1,ba;ba=!1;var fa=this.sumValues;A=a.config.canvasTop;var ca=a.components.canvas.config.clip["clip-canvas"].slice(0),Ka,ea=a.graphics.sumLabelsLayer;ca[1]=
0;ca[3]+=A;this.drawSumValueFlag=!1;if(p)if(z){ea.show();!this.graphics&&(this.graphics={});e=this.graphics.sumLabels;p=this.graphics.sumLabelContainer;e||(e=this.graphics.sumLabels=[]);p||(p=this.graphics.sumLabelContainer=[]);Q=e.length;z=fa.length;if(Q>z)for(;z<Q;z++){Ka=e[z].length;for(A=0;A<Ka;A++)k=e[z][A]||{},(t=k.element)&&t.hide().attr({"text-bound":[]});(A=p[z])&&A.hide();e.pop();p.pop()}Ka=d.length;for(z=0;z<Ka;z++){(e=p[z])||(e=p[z]=this.graphics.sumLabelContainer[z]||g.group("sumlabels",
ea));a.isRealTime&&e.attr({"clip-rect":ca});s=d[z][0].dataSet;m=s.yAxis;n=fa[z];F=f.getCategoryLen();v=this.graphics.sumLabels[z]=this.graphics.sumLabels[z]||[];D=0;c[z].visible||(P=!0);U=s.config.stack100Percent;$=c[z].xPosOffset;I=c[z].columnWidth;G=f.getPixel(F-1)+$;C=s.addDataArr&&s.addDataArr.length;Q=s.startPosition;H=this.removedSumLabels&&this.removedSumLabels[z]&&this.removedSumLabels[z].length;for(A=0;A<F;A++)if(ba=!1,k=l(s.config.rotateValues,0)?270:0,e.show(),t=n[A]||{},r=t.positive,h=
t.negative,!v[D]&&(v[D]={}),void 0===r&&void 0===h)D++;else if(t=r+h,t=m.dataLabels(t),w=ra(h)>r?h:r,r===h&&(t=""),t||""===t)r=q.backgroundColor,h=q.borderColor,r={text:t,"class":"fusioncharts-label",fill:q.color,"text-bound":[r,h,q.borderThickness,q.borderPadding,q.borderRadius,q.borderDash],"font-weight":q.fontWeight,"font-style":q.fontStyle,"font-family":q.fontFamily,"font-size":q.fontSize,"line-height":q.lineHeight,visibility:"visible"},t=v[D].element,t||(M&&M.sumLabels[z]&&M.sumLabels[z][0]?
(v[D].element=t=M.sumLabels[z][0],M.sumLabels[z].shift()):v[D].element=t=g.text(e),ba=!0),t.attr(r),r=this.getSumValueConfig({xValue:A,columnWidth:I,sumValue:w,xPosOffset:$,stack100percent:U,yAxis:m}),r=this.getSumValuePosition(t,{stack100percent:U,rotateValues:k,xPos:r.xPos,yPos:r.yPos,sumValue:w}),w=r.x,ba&&B&&(ba=Q,ba=!0===ba?NaN-J*(C-z):!1===ba?G+J*Z++:w,t.attr({x:ba,y:r.y,transform:g.getSuggestiveRotation(k,ba,r.y)}),ba=!1),r.transform=g.getSuggestiveRotation(k,w,r.y),ba&&t.attr(r),t.show().animateWith(V,
X,r,R,T),D++;H&&this.removeGraphics(z);P&&(e.hide(),P=!1)}}else ea.hide();this.sumValuesDrawn=!0},getSumValueConfig:function(a){var f=this.chart,g=a.columnWidth,d=a.yAxis,c=f.config.viewPortConfig,e=c.x,l=c.scaleX,c=a.stack100percent,k=a.sumValue,m=a.xPosOffset;a=f.components.xAxis[0].getAxisPosition(a.xValue)+m+e*l;d=d.getAxisPosition(c?100:k);return{xPos:a+.5*g,yPos:d}},getSumValuePosition:function(a,f){var g=this.chart,d=g.config,c=d.canvasBottom,e=d.canvasTop,l=g.is3D,k=f.stack100percent,m=d.yDepth,
d=d.xDepth,p,n=f.yPos,q,t=f.xPos,w=g.components.canvas.config.canvasBorderWidth,g=f.sumValue;q=f.rotateValues;a._state&&a._state.labelWidth||(p=a.getBBox(),a._state=q?{labelWidth:p.height,labelHeight:p.width}:{labelWidth:p.width,labelHeight:p.height});q=p=a._state.labelHeight;q=q/2+2;k?n=e<=p?q:e-q-w:(0<=g&&(e=n-e,n=e<p?n+q-e:n-q),0>g&&(n=c-n<p?n-q:n+q,l&&(t-=d,n+=m)));return{x:t,y:n}},removeGraphics:function(a){var f=this.removedSumLabels||[],g=this.positionStackArr[a][0].dataSet,d=g.endPosition,
c=g.config.rotateValues,e=this.chart,g=(e.config.realTimeConfig||{}).clear,l=e.components.paper,k=f[a]&&f[a].length||0,m=e.components.xAxis[0],p=this.pool||(this.pool={sumLabels:[]}),n=m.getPVR(),q=e.get("config","animationObj"),t,e=function(){this.hide()},m=q.dummyObj,w=q.animObj,z=q.transposeAnimDuration,s=q.animType,v;v=function(){return!1===d?function(a){var b=a.attr("x")-n*k;a=a.attr("y");return{x:b,transform:l.getSuggestiveRotation(c,b,a)}}:function(a){var b=a.attr("x")+n*k||0;a=a.attr("y");
return{x:b,transform:l.getSuggestiveRotation(c,b,a)}}}();p.sumLabels||(p.sumLabels=[]);for(q=0;q<k;q++)t=f[a][0]&&f[a][0].element,f[a].splice(0,1),t&&(void 0===d||g?t&&t.hide().attr({"text-bound":[]}):z?t.animateWith(m,w,v(t),z,s,e):(t.stop(),t.attr(v(t))),p.sumLabels[a]||(p.sumLabels[a]=[]),p.sumLabels[a]=p.sumLabels[a].concat(t))},removeSumLabels:function(a,f,g){var d=this.chart,c=(this.graphics||{}).sumLabels||[],e;if(c.length){this.removedSumLabels||(this.removedSumLabels=[]);this.removedSumLabels[g]||
(this.removedSumLabels[g]=[]);if(!this.removedSumLabels[g].length||!d.config._sumValuesUpdated){for(e=a;e<a+f;e++)c[g].push({});this.removedSumLabels[g]=this.removedSumLabels[g].concat(c[g].splice(a,f))}d.config._sumValuesUpdated=!0}},getDataLimits:function(){var a=this.chart,f=this.positionStackArr,g,d,c,e,l,k=-Infinity,m=Infinity,p,n;g=a.isStacked;var a=a.config.transposeAxis,q=-Infinity,t=Infinity;l=Infinity;this.preDrawCalculate();e=this.dataLimits;if(g){g=0;for(p=e.length;g<p;g++)for(c=e[g].length,
d=0;d<c;d++)n=e[g][d],void 0!==n.positive&&void 0!==n.negative&&(q=na(q,n.positive),t=Fa(t,n.negative),l=Fa(l,q));0===t&&(t=l)}e=f.length;for(g=0;g<e;g++)for(d=f[g],l=d.length,d=0;d<l;d++)c=f[g][d].dataSet,!1===c.visible&&a||(c=c.config,1===c.parentYAxis?(k=na(k,c.maxValue),m=Fa(m,c.minValue)):(q=na(q,c.maxValue),t=Fa(t,c.minValue)));this.maxValue=q;this.minValue=t;return{max:q,min:t,sYMax:k,sYMin:m}},manageSpace:function(){var a=this.positionStackArr,f,g,d,c,e=a.length,l={paddingLeft:-Infinity,paddingRight:-Infinity};
for(f=0;f<e;f++)for(d=a[f].length,c=0;c<d;c++)g=a[f][c].dataSet,g=g.manageSpace&&g.manageSpace()||{},l.paddingLeft=na(g.paddingLeft,l.paddingLeft),l.paddingRight=na(g.paddingRight,l.paddingRight);return l}}]);FusionCharts.register("component",["datasetGroup","realtimecolumn",{},"Column"]);FusionCharts.register("component",["datasetGroup","Waterfall2D",{},"column"]);FusionCharts.register("component",["datasetGroup","Column3d",{},"column"]);FusionCharts.register("component",["datasetGroup","bar2d",
{getSumValueConfig:function(a){var f=this.chart,g=a.columnWidth,d=a.yAxis,c=f.config.viewPortConfig,e=c.x,l=c.scaleX,c=a.stack100percent,k=a.sumValue,m=a.xPosOffset;a=f.components.xAxis[0].getAxisPosition(a.xValue)+m+e*l;d=d.getAxisPosition(c?100:k);return{xPos:d,yPos:a+.5*g}},getSumValuePosition:function(a,f){var g=this.chart,d=g.config,c=d.canvasLeft,e=d.canvasWidth,l=d.canvasRight,k=d.width,m=g.is3D,p=f.stack100percent,n=d.yDepth,d=d.xDepth,q,t,w={},z=f.sumValue,s=f.xPos,v=f.yPos,g=g.components.canvas.config.canvasBorderWidth;
t=f.rotateValues;a._state&&a._state.labelWidth||(q=a.getBBox(),a._state=t?{labelWidth:q.height,labelHeight:q.width}:{labelWidth:q.width,labelHeight:q.height});q=t=a._state.labelWidth;q=q/2+2;p?(s=void 0>=k-l?s+q:s+g,w["text-anchor"]="start"):0<=z?(c=c+e-s,c<t?(s=s-q+c,m&&(s-=d,v+=n)):s+=q):(c=s-c,c<t?(s=s+q-c-(m?d:0),v+=m?n:0):(s-=q,m&&(s-=d,v+=n)));w.x=s;w.y=v;return w}},"column"]);FusionCharts.register("component",["datasetGroup","bar3d",{},"bar2d"]);FusionCharts.register("component",["datasetGroup",
"scrollcolumn2d",{},"column"]);FusionCharts.register("component",["datasetGroup","Area",{draw:function(){var a=this.chart,f=a.graphics,g=this.positionStackArr,d,c=g.length;d=f.areaGroup;var f=f.columnGroup,e=a.components.paper,a=l(a.jsonData.chart.areaovercolumns,1);d.area=d.area||e.group("area",d);d.areaConnector=d.areaConnector||e.group("area-connector",d);d.shadows||(d.shadows=e.group("shadow",d).toBack());a?f&&d.insertAfter(f):d.toBack();this.preDrawCalculate();for(d=0;d<c;d++)for(a=g[d],a=a.length,
f=0;f<a;f++)e=g[d][f].dataSet,e.draw();this.drawn=!0}},"column"]);FusionCharts.register("component",["datasetGroup","scrollarea2d",{},"Area"]);FusionCharts.register("component",["dataset","area",{type:"area",_parseShadowOptions:function(){var a=this.chart,f=this.config,g=a.jsonData.chart,a=l(a.defaultPlotShadow,a.components.colorManager.getColor("showShadow"));return{opacity:l(g.showshadow,a)?f.lineAlpha/100:0}},configure:function(){var a=this.chart,f=a.components,g=a.config,c=this.config,e=this.JSONData,
k=a.jsonData.chart,p=a.singleseries,n=f.colorManager,q=l(this.index,this.stackIndex),t=l(e.showplotborder,k.showplotborder||1),w=!p||ga(k.palettecolors)?n.getPlotColor(q):n.getColor("plotFillColor").split(/\s*\,\s*/)[0],K=a.areaAlpha,E=a.use3dlineshift,z=a.isDual,q=l(e.dashed,k.linedashed),r=a.isStacked,s=a.hasLineSet;c.use3dlineshift=void 0!==E?l(k.use3dlineshift,E):1;c.plotColor=w;c.drawFullAreaBorder=l(k.drawfullareaborder,1);c.parentYAxis=z?s?1:"s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),
"p")?1:0:0;this.yAxis=f.yAxis[c.parentYAxis];c.connectNullData=l(k.connectnulldata,0);c.includeInLegend=l(e.includeinlegend,1);c.enableAnimation=f=l(k.animation,k.defaultanimation,1);c.animation=f?{duration:1E3*l(k.animationduration,1)}:!1;c.transposeanimation=l(k.transposeanimation,f);c.transposeanimduration=1E3*l(k.transposeanimduration,.2);c.showValues=l(e.showvalues,k.showvalues,g.showValues,a.showValues,1);c.valuePadding=l(k.valuepadding,2);if(g=d(e.valueposition,k.valueposition,"auto"))c.valuePosition=
g.toLowerCase();c.stack100Percent=g=l(k.stack100percent,0);c.showPercentValues=l(k.showpercentvalues,r&&g?1:0);c.showPercentInToolTip=l(k.showpercentintooltip,r&&g?1:0);c.showTooltip=l(k.showtooltip,1);c.seriesNameInTooltip=l(k.seriesnameintooltip,1);c.plotFillColor=d(e.color,k.plotfillcolor,w);c.plotFillAngle=d(k.plotfillangle,270);c.plotFillAlpha=d(e.alpha,k.plotfillalpha,K,p?"90":"70");w=l(k.useplotgradientcolor,1);c.plotGradientColor=0!==w?m.getDefinedColor(k.plotgradientcolor,n.getColor("plotGradientColor")):
"";c.fillColor={color:c.plotFillColor+(c.plotGradientColor?","+c.plotGradientColor:""),alpha:c.plotFillAlpha,angle:c.plotFillAngle};c.plotBorderAlpha=t?d(e.plotborderalpha,k.plotborderalpha,e.alpha,k.plotfillalpha,"95"):0;c.plotBorderColor=d(e.plotbordercolor,k.plotbordercolor,k.areabordercolor,p?ga(k.palettecolors)?n.getPlotColor(0):n.getColor("plotBorderColor").split(/\s*\,\s*/)[0]:"666666");c.dashed=t=l(e.dashed,k.plotborderdashed);c.plotBorderDashLen=d(e.plotborderdashlen,k.plotborderdashlen,
5);c.plotBorderDashGap=d(e.plotborderdashgap,k.plotborderdashgap,4);c.plotBorderThickness=l(e.plotborderthickness,k.plotborderthickness,1);c.plotBorderDashStyle=t?m.getDashStyle(c.plotBorderDashLen,c.plotBorderDashGap,c.plotBorderThickness):"none";a.config.stack100Percent=c.stack100Percent;c.showHoverEffect=l(k.plothovereffect,k.anchorhovereffect,k.showhovereffect,void 0);c.rotateValues=l(k.rotatevalues)?270:0;c.lineThickness=l(e.linethickness,k.linethickness,p?4:2);c.lineDashLen=l(e.linedashlen,
k.linedashlen,5);c.lineDashGap=l(e.linedashgap,k.linedashgap,4);c.lineAlpha=l(e.alpha,k.linealpha,ba);c.lineColor=d(e.color,k.linecolor,c.plotColor);c.lineDashed=l(e.dashed,k.linedashed);c.legendSymbolColor="line"===this.type?c.lineColor:c.plotFillColor;p=m.getDashStyle(c.lineDashLen,c.lineDashGap,c.lineThickness);c.lineDashStyle=q?p:"none";c.showShadow=l(k.showshadow,1);c.shadow=this._parseShadowOptions();c.drawAnchors=l(e.drawanchors,e.showanchors,k.drawanchors,k.showanchors);c.anchorBgColor=d(e.anchorbgcolor,
k.anchorbgcolor,n.getColor("anchorBgColor"));c.anchorBorderColor=d(e.anchorbordercolor,k.anchorbordercolor,c.lineColor,c.plotColor);c.anchorRadius=l(e.anchorradius,k.anchorradius,3);c.anchorAlpha=d(e.anchoralpha,k.anchoralpha,a.anchorAlpha);c.anchorBgAlpha=d(e.anchorbgalpha,k.anchorbgalpha,100);c.anchorBorderThickness=d(e.anchorborderthickness,k.anchorborderthickness,1);c.anchorSides=d(e.anchorsides,k.anchorsides,1);c.minimizeTendency=l(k.minimizetendency,k.minimisetendency,0);c.anchorImageUrl=d(e.anchorimageurl,
k.anchorimageurl);c.anchorImageAlpha=l(e.anchorimagealpha,k.anchorimagealpha,100);c.anchorImageScale=l(e.anchorimagescale,k.anchorimagescale,100);c.anchorImagePadding=l(e.anchorimagepadding,k.anchorimagepadding,1);c.anchorStartAngle=l(e.anchorstartangle,k.anchorstartangle,90);c.anchorShadow=l(e.anchorshadow,k.anchorshadow,0);this.components.data=this.components.data||(this.components.data=[]);this.visible=1===l(e.visible,!Number(e.initiallyhidden),1);this._setConfigure();this._realTimeConfigure&&
this._realTimeConfigure();!1!==a.hasLegend&&this._addLegend()},_setConfigure:function(a,f){var g=this.chart,c=m.parseUnsafeString,e=this.config,k=this.JSONData,p=g.jsonData.chart,n=a||k.data||[],q,t=g.components.xAxis[0],w=a?a.data.length:t.getCategoryLen(),K,E,z,r,s,v,A,F=-Infinity,h=Infinity,D=c(p.yaxisname),B=c(p.xaxisname),C=this.yAxis,H=d(p.tooltipsepchar,", "),G=l(k.dashed,p.linedashed),J;K=this.components.data;K||(K=this.components.data=[]);for(z=0;z<w;z++)a?(g=a&&a.data[z]||{},J=void 0!==
f?f+z:K.length-w+z,q=K[J]):(q=K[z],g=n&&n[z]||{}),E=q&&q.config,q||(q=K[z]={}),q.config||(E=K[z].config={}),q.graphics||(q.graphics={}),r=l(J+1,z),E.setValue=s=C.getCleanValue(g.value,e.stack100Percent),E.setLink=d(g.link),E.anchorProps=this._parseAnchorProperties(r),v=t.getLabel(r),E.label=ga(c(v.tooltext||v.oriLabel||v.label)),E.showValue=l(g.showvalue,e.showValues),E.dashed=l(g.dashed,G),E.dashStyle=E.dashed?m.getDashStyle(e.lineDashLen,e.lineDashGap,e.lineThickness):"none",E.color=d(g.color,e.lineColor),
E.setColor=g.color,E.setAlpha=g.alpha,E.setDashed=g.dashed,E.alpha=d(g.alpha,g.linealpha,e.lineAlpha),null!==s&&(F=na(F,s),h=Fa(h,s)),E.setTooltext=c(g.toolText),E.toolTipValue=s=C.dataLabels(s),E.setDisplayValue=v=c(g.displayvalue),E.displayValue=d(v,s),E.formatedVal=s=E.toolTipValue,t.getLabel(r),E.setTooltext=m.getValidValue(c(d(g.tooltext,k.plottooltext,p.plottooltext))),E.valuePosition=d(g.valueposition,e.valuePosition),E.valuePosition&&(E.valuePosition=E.valuePosition.toLowerCase()),e.showTooltip?
null===s?r=!1:void 0!==E.setTooltext?(r=[1,2,3,4,5,6,7],s={yaxisName:D,xaxisName:B,formattedValue:s,label:E.label},r=m.parseTooltext(E.setTooltext,r,s,g,p,k)):(e.seriesNameInTooltip&&(A=m.getFirstValue(k&&k.seriesname)),r=A?A+H:"",r+=E.label?E.label+H:""):r=!1,E.toolText=r,E.setLevelTooltext=E.setTooltext,E.setTooltext=r,E.hoverEffects=this._parseHoverEffectOptions(q,g),E.anchorProps.isAnchorHoverRadius=E.hoverEffects.anchorRadius;e.maxValue=F;e.minValue=h;this.ErrorValueConfigure&&this.ErrorValueConfigure()},
init:function(a){var f=this.chart,g=f.components,f=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0,g=g.yAxis[f];this.JSONData=a;this.yAxis=g;this.components={};this.graphics={};this.configure()},draw:function(){var b=this,f=b.chart,g=f.graphics,c=f.config,e=f.components,l=b.JSONData,k=f.jsonData.chart,n=b.config,q=f.isStacked,w=b.groupManager.stackSumValue[0],z=b.stackIndex,K,E,r,D=e.paper,s=e.xAxis[0],v=b.yAxis,A,B,h,C=n.showTooltip,H,G=b.components.data,J=b.components.removeDataArr||
[],I=J.length,M,Q,P,T,R,V,U,$,ba,Z=c.style,fa={fontFamily:Z.fontFamily,fontSize:Z.fontSize,lineHeight:Z.lineHeight,fontWeight:Z.fontWeight,fontStyle:Z.fontStyle,color:Z.color},ea=g.areaGroup,ya=v.getAxisBase(),Aa,ma,Ka=n.plotBorderColor,ia=n.plotBorderAlpha,da=n.plotBorderDashStyle,va=n.plotBorderThickness,ka=b.graphics.container,sa=b.graphics.trackerContainer,la=g.trackerGroup,oa,ha=m.parseUnsafeString,ra=n.fillColor,qa=f.is3D,ua=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||
(ka.areaGroup.hide(),Ha.hide(),ka.anchorShadowGroup.hide(),ka.anchorGroup.hide(),sa.hide(),Ja&&Ja.hide(),b._conatinerHidden=!0)},Ba=function(){!1!==b.visible&&(ka.anchorShadowGroup.show(),ka.anchorGroup.show(),Ja.show(),Ha.show());ea.area.attr({"clip-rect":null});ea.area.node&&ea.area.node.removeAttribute("clip-path");f._animCallBack()},Ca=n.shadow,za,wa=b.visible,Fa,Ha=b.graphics.shadowContainer,Ia,Ea={},Da=g.datalabelsGroup,Ja=b.graphics.dataLabelContainer,Na=s.getPVR(),Oa,Pa=qa?10:0,Ta,yb=qa?10:
0,bb=n.anchorRadius,cb=f.components.scrollBar,$a=f.components.canvas.config.clip,Sa=p([],$a["clip-canvas"]),Ra=p([],$a["clip-canvas-init"]),Ya=c.height,db=!n.drawFullAreaBorder,fb=b.graphics.connector,Za=b.components.pool||(b.components.pool={}),Xa=0,hb=!0!==b.drawn,nb,pb,ab,ib=b.startPosition,gb={},Wa={},rb=f.get("config","animationObj")||{},kb=rb.duration,ob=rb.dummyObj,Cb=rb.animObj,Db=rb.animType,qb=n.lastPath||{},sb,Eb=!0,Pb,Hb,wb,jb,lb,xb=f.config.viewPortConfig,Ib=xb.x,mb=xb.scaleX,tb,Lb,ub,
Nb,Gb,Mb,Jb=b.chart.config.realTimeConfig&&b.chart.config.realTimeConfig.clear,$b=n.noOfImages=n.noOfImages||(n.noOfImages=0),Wb=!hb&&kb;b.noOfNewDataAtEnd=0;ka||(ka=b.graphics.container={anchorShadowGroup:D.group("anchor-shadow",ea.areaConnector),areaGroup:D.group("area",ea.area),anchorGroup:D.group("anchors",ea.areaConnector)},wa||(ka.anchorShadowGroup.hide(),ka.areaGroup.hide(),ka.anchorGroup.hide()));Ha||(Ha=b.graphics.shadowContainer=D.group("shadows",ea.shadows),wa||Ha.hide());sa||(sa=b.graphics.trackerContainer=
D.group("area-hot",la));Ja||(Ja=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||D.group("datalabel",Da),wa||Ja.hide());wa&&(ka.anchorShadowGroup.show(),ka.areaGroup.show(),ka.anchorGroup.show(),Ha.show(),Ja.show(),sa.show(),b._conatinerHidden=!1);n.groupMaxWidth=s.getAxisPosition(1)-s.getAxisPosition(0);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",fa);K=s.getCategoryLen();Oa=Na*K;if(Jb)for(r=0,K=J.length;r<K;r++)b._removeDataVisuals(J.shift());else b._shiftOffRemovedPoints();
gb=n.removePath;f.isRealTime&&(Sa[1]=0,Sa[3]=Ya,ka.areaGroup.attr({"clip-rect":Sa}),Ja.attr({"clip-rect":Sa}),ka.anchorGroup.attr({"clip-rect":Sa}),ka.anchorShadowGroup.attr({"clip-rect":Sa}),Ha.attr({"clip-rect":Sa}));for(r=0;r<K;r++)H=(M=G[r])&&M.config,M&&void 0!==H.setValue&&(M.graphics||(M.graphics={}),nb=s.getLabel(r).label,V=H.setValue,R=H.setLink,Ea=H.anchorProps||{},Ia=Ea.shadow,A=ga(ha(d(H.setLevelTooltext,l.plottooltext,k.plottooltext))),H&&(Aa=0<=V?H.previousPositiveY:H.previousNegativeY),
q&&V&&(Aa=b._parseValues(r,Aa,w[r],A),V=H.value),P=M.graphics.element,tb=M.graphics.image,T=M.graphics.hotElement,null!==V?(ma=v.getAxisPosition(Aa||ya)+yb,h=!b.visible&&kb?ma:v.getAxisPosition(V+(Aa||0))+yb,B=s.getAxisPosition(r)-Pa+Ib*mb,B=ca(B,va,va).position,h=ca(h,va,va).position,Lb=Ea.symbol,ub=Ea.radius,Nb=Ea.startAngle,Pb=Ea.bgColor,lb=Ea.bgAlpha,Hb=Ea.borderColor,jb=Ea.borderAlpha,wb=Ea.borderThickness,za=H.hoverEffects,Q=C?H.toolText+(A?"":H.toolTipValue):"",U={index:r,link:R,value:V,displayValue:H.displayValue,
categoryLabel:nb,toolText:Q,id:b.userID,datasetIndex:z||0,datasetName:l.seriesname,visible:wa},za.enabled&&(H.setRolloverAttr={polypath:[za.anchorSides||2,B,h,za.anchorRadius,za.startAngle,za.dip],fill:F({color:za.anchorColor,alpha:za.anchorBgAlpha}),stroke:F({color:za.anchorBorderColor,alpha:za.anchorBorderAlpha}),"stroke-width":za.anchorBorderThickness},H.setRolloutAttr={polypath:[Ea.symbol[1]||2,B,h,Ea.radius,Ea.startAngle,0],fill:F({color:Ea.bgColor,alpha:Ea.bgAlpha}),stroke:F({color:Ea.borderColor,
alpha:Ea.borderAlpha}),"stroke-width":Ea.borderThickness},ba=H.setRolloverAttr,$=H.setRolloutAttr),Mb={polypath:[Lb[1]||2,B,h,ub,Nb,0]},Gb=!1,!P&&Wb&&!0!==ib&&(ab=K+Xa,pb=s.getPixel(ab),M._baseXPos=M._xPos=pb,M._yPos=h,M._baseYPos=ma,qb=this.getLinePath([M],qb),Xa++),Ea.imageUrl?(Fa=new a,Fa.onload=b._onAnchorImageLoad(b,r,U,B,h,M),Fa.onerror=b._onErrorSetter(b,r),Fa.src=Ea.imageUrl,$b++):(tb&&tb.hide(),P||(Za.element&&Za.element.length?P=M.graphics.element=Za.element.shift():(P=M.graphics.element=
D.polypath(ka.anchorGroup),P.attr(Mb),Gb=!0),Wb&&P.attr({polypath:[Ea.symbol[1]||2,pb,h,Ea.radius,Ea.startAngle,0]})),P.show().attr({transform:""}).animateWith(ob,Cb,Mb,kb,Db,Eb&&ua),P.attr({fill:F({color:Pb,alpha:lb}),stroke:F({color:Hb,alpha:jb}),"stroke-width":wb,visibility:ub?wa:"hidden"}).shadow(Ia,ka.anchorShadowGroup),kb||Eb&&ua(),Eb=!1,tb&&tb.hide(),za.enabled&&P&&P.data("anchorRadius",Ea.radius).data("anchorHoverRadius",za.anchorRadius).data("setRolloverAttr",ba).data("setRolloutAttr",$),
bb=na(Ea.radius,za&&!q&&za.anchorRadius||0,X),E={cx:B,cy:h,r:bb,cursor:R?"pointer":"",stroke:t,"stroke-width":Ea.borderThickness,fill:t,ishot:!0,visibility:"visible"},T=M.graphics.hotElement,T||(Za.hotElement&&Za.hotElement.length?(T=M.graphics.hotElement=Za.hotElement.shift(),T.show()):(T=M.graphics.hotElement=D.circle(E,sa),Gb=!0)),T.show().attr(E),(T||P).data("eventArgs",U).data("groupId",void 0).data("hoverEnabled",za.enabled).data("dataset",b).tooltip(Q),Gb&&(T||P).click(b.getPlotClickFn(f)).hover(b.rolloverResponseSetter(M,
f),b.rolloutResponseSetter(M,f)))):(P&&P.hide(),tb&&tb.hide(),T&&T.hide()),M._xPos=B,M._yPos=h,M._baseXPos=B,M._baseYPos=ma,b.drawLabel(r));n.noOfImages=$b;Wa=this.getLinePath(G,{});I&&f.isRealTime?(gb=this.getLinePath(G,gb),sb=gb.getPathArr()):sb=Wa.getPathArr();n.lastPath=Wa;cb&&(Ta=cb.conf.startPercent,Sa[2]=Oa+Ra[0],1===Ta&&(Ra[0]=Sa[2],Sa[0]=0));Sa[3]+=yb;(oa=b.graphics.lineElement)?kb&&f.isRealTime&&oa.attr({path:qb.getPathArr()}):(oa=b.graphics.lineElement=D.path(ka.areaGroup),oa.attr({path:Wa.getPathArr()}).shadow(Ca,
Ha),kb&&wa&&(ka.anchorGroup.hide(),ka.anchorShadowGroup.hide(),Ha.hide(),Ja.hide(),ea.area.attr({"clip-rect":Ra}).animate({"clip-rect":Sa},kb,Db,Ba)));Jb?oa.hide():oa.show().animateWith(ob,Cb,{path:sb},kb,Db,Eb&&ua);Eb=!1;oa.attr({stroke:F({color:Ka,alpha:ia}),"stroke-width":db?0:va,fill:F(ra),"stroke-linecap":"round","stroke-linejoin":2<va?"round":"miter","stroke-dasharray":da});db&&(fb=b.graphics.connector,fb||(fb=b.graphics.connector=D.path({path:Wa.pathArr,stroke:F({color:Ka,alpha:ia}),"stroke-width":va,
"stroke-linecap":"round","stroke-linejoin":2<va?"round":"miter","stroke-dasharray":da},ka.areaGroup)),fb.show().animateWith(ob,Cb,{path:sb},kb,Db));b.drawn=!0},getPathArr:function(){var a=this.pathArr,f=this.path2Arr;return a.length||f.length?a.concat(f):[]},_getPathString:function(a){var f=a.length,g="",d;for(d=0;d<f;d+=1)g+=" "+a[d];return g},getLinePath:function(a,f,g){var d=this.config.connectNullData,c=f||{};f=c.lastValidValue||!1;var e=c.temp||[],l=c.temp2||[],k=c.pathArr||[],m=c.path2Arr||
[],p,n,q,t,w=a.length,c=c.pointsJoined||0,r,s,w=g&&g.end||w;for(g=g&&g.begin||0;g<w;g++)if(r=a[g])p=r.config,s=p.setValue,void 0!==s&&(p=r._xPos,n=r._yPos,q=r._baseXPos,t=r._baseYPos,null===s?d||(0<c&&("Z"!==m[m.length-1]&&void 0!==t&&m.push("Z"),k=k.concat(m),m=[]),e=[],l=[],f=!1):f?(e.length&&(k=k.concat(e),void 0!==q&&(m=l,l=[]),e=[],c++),k.push(p,",",n),void 0!==t&&m.unshift(p,",",t)):(e.push("M",p,",",n,"L"),void 0!==t&&l.push(q,",",t),c=0,f=!0));"Z"!==m[m.length-1]&&0<c&&void 0!==t&&m.push("Z");
return{pathArr:k,path2Arr:m,lastValidValue:f,pointsJoined:c,temp:e,temp2:l,getPathArr:this.getPathArr}},_shiftOffRemovedPoints:function(){var a=this,f=a.chart,g=a.config,d=a.components.removeDataArr,c,e=f.components.xAxis[0].getPVR();c=f.get("config","animationObj");var f=c.duration,l=a.drawn&&f,k=c.dummyObj,m=c.animObj,p=c.animType,n,q,t,w,r,s={},v,A,z=a.components.removeElementsArr=a.components.removeElementsArr||(a.components.removeElementsArr=[]),h=g.hideAnimFlag=!1,F=function(){var f=a.components.removeElementsArr,
g=f.length,d;for(d=0;d<g;d++)a._removeDataVisuals(f.shift())},D,B;if(d){c=d.length;for(v=0;v<c;v++){if(B=d[0])if(z.push(B),l){n=B.config.setValue;q=B._xPos;if(void 0==q){d.splice(0,1);continue}t=B.graphics.element;w=B.graphics.label;r=B.graphics.image;A=B.graphics.connector;null!==n&&(n=c*e,D="T,"+-n+",0",B._xPos=q-n,q=B._xPos,B._baseXPos=q,t&&t.animateWith(k,m,{transform:D},f,p,!h&&F),g.hideAnimFlag=!0,w&&w.animateWith(k,m,{transform:D},f,p),r&&r.animateWith(k,m,{transform:D},f,p),A&&A.hide());s=
a.getLinePath([B],s)}else F();d.splice(0,1)}g.removePath=s}},_removeDataVisuals:function(a){var f=this.components.pool||(this.components.pool={}),g,d,c;if(a)for(g in d=a.graphics,d)a=f[g]||(f[g]=[]),c=d[g],c.hide&&"function"===typeof c.hide&&(c.attr({"text-bound":[]}),c.hide(),c.shadow&&c.shadow(!1)),a.push(d[g])},_parseAnchorProperties:function(a,f){var g=this.config,c=this.type,e="area"===(!this.chart.anchorAlpha&&c)?0:1,k=this.JSONData,p=this.chart.jsonData.chart,n=(f||k.data||[])[a]||{},c={},
q=m.graphics.mapSymbolName,t,w;t=void 0!==d(n.anchorstartangle,k.anchorstartangle,p.anchorstartangle,n.anchorimagealpha,k.anchorimagealpha,p.anchorimagealpha,n.anchorimagescale,k.anchorimagescale,p.anchorimagescale,n.anchorimagepadding,k.anchorimagepadding,p.anchorimagepadding,n.anchorimageurl,k.anchorimageurl,p.anchorimageurl,n.anchorradius,k.anchorradius,p.anchorradius,n.anchorbgcolor,k.anchorbgcolor,p.anchorbgcolor,n.anchorbordercolor,k.anchorbordercolor,p.anchorbordercolor,n.anchoralpha,k.anchoralpha,
p.anchoralpha,n.anchorsides,k.anchorsides,p.anchorsides,n.anchorborderthickness,k.anchorborderthickness,p.anchorborderthickness,void 0);w=l(n.drawanchors,g.drawAnchors);c.enabled=t?l(w,t):l(w,e);c.startAngle=l(n.anchorstartangle,g.anchorStartAngle);c.imageAlpha=l(n.anchorimagealpha,g.anchorImageAlpha);c.imageScale=l(n.anchorimagescale,g.anchorImageScale);c.imagePadding=l(n.anchorimagepadding,g.anchorImagePadding);0>c.imagePadding&&(c.imagePadding=0);c.imageUrl=d(n.anchorimageurl,g.anchorImageUrl);
c.radius=l(n.anchorradius,g.anchorRadius);c.isAnchorRadius=d(n.anchorradius,k.anchorradius,p.anchorradius);c.bgColor=d(n.anchorbgcolor,g.anchorBgColor);e=c.enabled?$(d(n.anchoralpha,g.anchorAlpha,c.enabled?ba:"0")):0;c.anchorAlpha=e;c.bgAlpha=$(d(n.anchorbgalpha,g.anchorBgAlpha,e))*e/100;c.imageAlpha=c.imageAlpha*e/100;c.borderColor=d(n.anchorbordercolor,g.anchorBorderColor);c.borderAlpha=e;c.sides=d(n.anchorsides,g.anchorSides);c.borderThickness=d(n.anchorborderthickness,g.anchorBorderThickness);
c.symbol=q(c.sides).split("_");g=l(n.anchorshadow,g.anchorShadow)&&1<=c.radius;c.shadow={opacity:g?e/100:0};return c},_onErrorSetter:function(a,f){return function(){a.drawLabel(f)}},_onAnchorImageLoad:function(a,f,g,d,c,e){return function(){var l=a.chart,k=a.config,m=l.components.paper,n=a.components.data,q=void 0!==e?e:n[f],w=q.config,E=q.graphics,r=w.anchorProps,z=a.graphics.container,s=z.anchorGroup,v=z.anchorShadowGroup,z=!1===a.visible?"hidden":"visible",A=l.get("config","animationObj"),D=A.dummyObj,
h=A.animObj,B=A.animType,A=A.duration,C=r.imageUrl,H=l.components.xAxis[0],G=n.length,n=w.hoverEffects,J=q.config.showValue,I=r.imageScale,Q=r.imageAlpha,P=n.imageHoverAlpha,T=n.imageHoverScale,R=this.height*I*.01,V=this.width*I*.01,X=this.width*T*.01,U=this.height*T*.01,$=k.showTooltip,ba=a.startPosition,Z=a.noOfNewDataAtEnd,fa=a.allImagesDrawn&&A,ca=w.setLink,Aa=w.groupId||"",ma,ea,ia,ga,va,ka,sa,da,la,oa,ha,ra=a.config.animFlag,qa=g.toolText,Ba=a.graphics.trackerContainer,ua=k.noOfImages,za=k.noOfImagesDrawn=
k.noOfImagesDrawn||(k.noOfImagesDrawn=0),za=a.components.pool||{};if(!w.isRemoving){if(M){if(va={x:d-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q},da={x:d-this.width*T*.005,y:c-this.height*T*.005,width:X,height:this.height*T*.01,alpha:P},(P=E.element)&&"image"!==P.type&&(P.remove(),P=E.element=null),P||(E.element=P=m.image(C,s)),P.css({opacity:.01*Q}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",da).data("setRolloutAttr",va).data("imgRef",
this).data("anchorRadius",I).data("anchorHoverRadius",T),P.animateWith(D,h,va,A,B),ca||$||n)ma=E.hotElement?E.hotElement:E.hotElement=m.circle(Ba),ma.attr({cx:d,cy:c,r:Fa(V,R)/2}).attr({cursor:ca?"pointer":"",stroke:t,"stroke-width":r.borderThickness,fill:t,ishot:!0,visibility:z}).data("eventArgs",g).data("groupId",Aa).data("dataset",a).data("hoverEnabled",n.enabled).click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,l),a.rolloutResponseSetter(q,l)).tooltip(qa)}else{ea=r.symbol[1];ka=n.isAnchorHoverRadius;
w=r.isAnchorRadius;w=r.radius=w?r.radius:Fa(V,R)/2;ia=r.shadow;va=r.imagePadding;n.radius=ka?n.anchorRadius:w+1;ga=n.radius-va-.5*n.anchorBorderThickness;ka=w-va-.5*r.borderThickness;da={};ha=[ea||2,d,c,w,r.startAngle,void 0];oa={fill:F({color:r.bgColor,alpha:r.bgAlpha}),"stroke-width":r.borderThickness,stroke:F({color:r.borderColor,alpha:r.borderAlpha})};va=p({polypath:ha},oa);n&&(da={polypath:[n.anchorSides||2,d,c,n.radius,n.startAngle,n.dip],fill:F({color:n.anchorColor,alpha:n.anchorBgAlpha}),
"stroke-width":n.anchorBorderThickness,stroke:F({color:n.anchorBorderColor,alpha:n.anchorBorderAlpha})},sa=na(n.anchorAlpha,n.anchorBorderAlpha),P>sa&&(P=sa));r.bgAlpha&&r.borderAlpha&&(sa=na(r.bgAlpha,r.borderAlpha),Q>sa&&(Q=sa));sa=E.element;ha={polypath:va.polypath};sa||(za.element&&za.element.length?sa=E.element=za.element.shift():(sa=E.element=m.polypath(s),sa.attr(ha)),fa&&!0!==ba&&(la=H.getPixel(G+Z),a.noOfNewDataAtEnd+=1,H=[ea||2,la,c,w,r.startAngle,void 0],sa.attr({transform:"",polypath:H})));
sa&&sa.attr({transform:""});sa.show().animateWith(D,h,ha,A,B,ra&&void 0).attr(oa);ra=a.config.animFlag=!1;sa.attr({fill:F({color:r.bgColor,alpha:r.bgAlpha}),ishot:!$,"stroke-width":r.borderThickness,stroke:F({color:r.borderColor,alpha:r.borderAlpha}),cursor:ca?"pointer":"",visibility:w?"visible":"hidden"}).data("alwaysInvisible",!w).data("setRolloverProperties",n).data("setRolloverAttr",da).data("setRolloutAttr",va).data("anchorRadius",w).data("anchorHoverRadius",n&&n.radius).shadow(ia,v);v=m.polypath(ea||
2,d,c,0<ka?ka:0,r.startAngle,void 0,s).attr({visibility:"hidden"});va=a._getPathString(v.attrs.path);v.remove();v=m.polypath(ea||2,d,c,0<ga?ga:0,n.startAngle,n.dip,s).attr({visibility:"hidden"});H=a._getPathString(v.attrs.path);v.remove();r.imgRefWidth=this.width;r.imgRefHeight=this.height;r.imgRefScale=I;r.rolloutClipRadius=ka;va={x:d-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q,"clip-path":va};da={x:d-this.width*T*.005,y:c-this.height*T*.005,width:X,height:U,alpha:P,"clip-path":H};
P=E.image;P||(za.image&&za.image.length?(P=E.image=za.image.shift(),P.show()):E.image=P=m.image(C,s),fa&&(v=m.polypath(ea||2,la,c,0<ka?ka:0,r.startAngle,void 0).attr({visibility:"hidden"}),s=a._getPathString(v.attrs.path),v.remove(),la={x:la-this.width*I*.005,y:c-this.height*I*.005,width:V,height:R,alpha:Q,"clip-path":s},P.attr({transform:""}).attr(la)));P.attr({src:C});P.attr({visibility:w?"visible":"hidden"}).css({opacity:.01*Q}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",
da).data("setRolloutAttr",va).data("anchorRadius",I).data("imgRef",this).data("anchorHoverRadius",T);P.attr({transform:""}).animateWith(D,h,{x:va.x,y:va.y,width:va.width,height:va.height,"clip-path":va["clip-path"]},A,B,ra&&void 0);P.attr({alpha:va.alpha});if(ca||$||n)w=na(w,n&&n.anchorRadius||0,2),E.hotElement?ma=E.hotElement.attr({cx:d,cy:c,r:w}):za.hotElement&&za.hotElement.length?ma=E.hotElement=za.hotElement.shift():(ma=E.hotElement=m.circle({cx:d,cy:c,r:w},Ba),ma.click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,
l),a.rolloutResponseSetter(q,l))),ma.attr({cursor:ca?"pointer":"",stroke:t,"stroke-width":r.borderThickness,fill:t,ishot:!0,visibility:z});(ma||P).data("eventArgs",g).data("groupId",Aa).data("dataset",a).data("hoverEnabled",n.enabled).tooltip(qa)}q._xPos=d;q._yPos=c;a.drawTracker&&a.drawTracker(f);J&&a.drawLabel(f,d,c,q);za=k.noOfImagesDrawn+=1;za===ua&&(a.allImagesDrawn=!0)}}},_hideGraphics:function(a){var f,g;for(g in a)a.hasOwnProperty(g)&&(f=a[g])&&(f.hide?f.hide():this._hideGraphics(f))},getPlotClickFn:function(a){return function(f){ea.call(this,
a,f)}},show:function(){var a=this.chart,f=this.yAxis;a._chartAnimation();this.visible=!0;this._conatinerHidden=!1;a.config.transposeAxis&&(a._setAxisLimits(),f.draw());a._drawDataset()},hide:function(){var a=this.chart,f=this.yAxis;a._chartAnimation();this.visible=!1;a.config.transposeAxis&&(a._setAxisLimits(),f.draw());a._drawDataset()},_parseHoverEffectOptions:function(a,f){var g=this.JSONData,c=this.chart.jsonData.chart,e=this.config,k=a.config.anchorProps||{},m=e.showHoverEffect,n=e.drawAnchors,
p={enabled:!1};f=f||{};0!==m&&0!==n&&(p.enabled=void 0!==d(f.hovercolor,f.anchorhovercolor,f.hovercolor,g.hovercolor,f.anchorbghovercolor,g.anchorbghovercolor,c.anchorbghovercolor,g.anchorhovercolor,c.anchorhovercolor,f.hoveralpha,f.anchorhoveralpha,g.anchorhoveralpha,c.anchorhoveralpha,f.bghoveralpha,f.anchorbghoveralpha,g.anchorbghoveralpha,c.anchorbghoveralpha,f.anchorborderhovercolor,f.borderhovercolor,g.anchorborderhovercolor,c.anchorborderhovercolor,f.anchorborderhoverthickness,f.borderhoverthickness,
g.anchorborderhoverthickness,c.anchorborderhoverthickness,f.anchorborderhoveralpha,f.borderhoveralpha,g.anchorborderhoveralpha,c.anchorborderhoveralpha,f.hoverdip,f.anchorhoverdip,g.anchorhoverdip,c.anchorhoverdip,f.anchorhoverstartangle,g.anchorhoverstartangle,c.anchorhoverstartangle,f.hoversides,f.anchorhoversides,g.anchorhoversides,c.anchorhoversides,f.hoverradius,f.anchorhoverradius,g.anchorhoverradius,c.anchorhoverradius,g.plotfillhovercolor,c.plotfillhovercolor,e.showHoverEffect,void 0),p.startAngle=
l(f.anchorhoverstartangle,g.anchorhoverstartangle,c.anchorhoverstartangle,k.startAngle),p.anchorSides=l(f.hoversides,f.anchorhoversides,g.anchorhoversides,c.anchorhoversides,k.sides),p.anchorRadius=l(f.anchorhoverradius,g.anchorhoverradius,c.anchorhoverradius),p.isAnchorHoverRadius=p.anchorRadius,p.anchorRadius=l(p.anchorRadius,k.radius+(m?2:0)),p.anchorScale=d(f.hoverscale,g.anchorscale,c.anchorscale),p.imageHoverScale=l(f.anchorimagehoverScale,g.anchorimagehoverscale,c.anchorimagehoverscale,110),
p.imageHoverAlpha=l(f.anchorimagehoveralpha,g.anchorimaghoverealpha,c.anchorimagehoveralpha),p.anchorAlpha=d(f.anchorhoveralpha,f.hoveralpha,g.anchorhoveralpha,c.anchorhoveralpha,k.anchorAlpha),p.anchorColor=Oa(d(f.hovercolor,f.anchorhovercolor,f.hoverColor,f.anchorbghovercolor,g.anchorbghovercolor,g.anchorhovercolor,g.hovercolor,c.anchorbghovercolor,c.anchorhovercolor,c.plotfillhovercolor,k.bgColor)),p.anchorBgAlpha=d(f.bghoveralpha,f.anchorbghoveralpha,g.anchorbghoveralpha,c.anchorbghoveralpha,
c.plotfillhoveralpha,k.bgAlpha),p.anchorBgAlpha=p.anchorBgAlpha*p.anchorAlpha/100,p.anchorBorderColor=d(f.borderhovercolor,f.anchorborderhovercolor,g.anchorborderhovercolor,c.anchorborderhovercolor,k.borderColor),p.anchorBorderAlpha=d(f.borderhoveralpha,f.anchorborderhoveralpha,g.anchorborderhoveralpha,c.anchorborderhoveralpha,p.anchorAlpha,k.borderAlpha),p.anchorBorderThickness=l(f.borderhoverthickness,f.anchorborderhoverthickness,g.anchorborderhoverthickness,c.anchorborderhoverthickness,c.anchorBorderThickness,
k.borderThickness),p.dip=d(f.hoverdip,f.anchorhoverdip,g.anchorhoverdip,c.anchorhoverdip,k.dip),p.anchorAnimation=l(f.anchorhoveranimation,g.anchorhoveranimation,c.anchorhoveranimation,1));return p},_hoverPlotAnchor:function(a,f){var g=a.graphics.element,d=a.graphics.label,c=a.config||{},c=c&&c.anchorProps.imageUrl,e=M&&c?a.graphics.element:a.graphics.image,l=g.data("setRolloverAttr"),k=g.data("setRolloutAttr"),m="DataPlotRollOver"===f?g.data("setRolloverAttr"):g.data("setRolloutAttr"),c="image"===
g.type,n=g.data("anchorRadius"),p=g.data("anchorHoverRadius"),q=d&&(d.data("isBelow")?1:-1)*(c?.5*(l.height-k.height):p-n),t=a.config.hoverEffects,w,r={polypath:m.polypath},m={fill:m.fill,"stroke-width":m["stroke-width"],stroke:m.stroke},s=d&&d.data("rotation")||"",q={transform:"T0,"+("DataPlotRollOver"===f?q:0)+s},l=!(/,0\)$/.test(l.fill)&&/,0\)$/.test(k.fill))&&g.data("anchorHoverRadius")-g.data("anchorRadius")&&t.anchorAnimation&&50;e&&(w=e.data("setRolloverAttr"),k=e.data("setRolloutAttr"),w=
"DataPlotRollOver"==f?w:k);if("DataPlotRollOver"==f&&0!==p||"DataPlotRollOut"==f&&0!==n)g.attr({visibility:"visible"}),e&&e.attr({visibility:"visible"});e&&e.css({opacity:.01*w.alpha});c?g.css({opacity:.01*r.alpha}):g.attr(m);g.stop();g.animate(r,l,"easeOut",function(){("DataPlotRollOver"==f&&!p||"DataPlotRollOut"==f&&!n)&&g.attr({visibility:"hidden"})});e&&e.animate(w,l,"easeOut",function(){("DataPlotRollOver"==f&&!p||"DataPlotRollOut"==f&&!n)&&e.attr({visibility:"hidden"})});d&&d.stop();l&&d&&d.animate(q,
l,"easeOut")},drawLabel:function(a){var f=this.chart,g=f.config,d=f.config.dataLabelStyle,c=this.components.data,e=f.components.paper,l,k="",m=this.config,n=f.get("config","animationObj"),p=n.duration,q=n.animType,t=m.rotateValues,w=g.canvasTop,r=g.canvasHeight,s,g=m.valuePadding+2,v;s=this.graphics.dataLabelContainer;var A,z,h,F,D,B,C=f.components.xAxis[0],H=C.getCategoryLen(),G=this.startPosition;A=this.components.pool||{};var k=f.isStacked,I,f=!0===this.drawn&&p;I=m.stack100Percent;var m=n.dummyObj,
M=n.animObj;l=c[a];z=l.config;v=z.anchorProps;n=l.graphics;F=l._yPos;h=l._xPos;l=n.element?l.graphicImage&&.5*n.element.attr("height")||v.radius-3:0;g+=l;switch(z.valuePosition){case "above":c=0;break;case "below":c=1;break;default:D=c[a-1]&&c[a-1].config||{},c=c[a+1]&&c[a+1].config||{},k&&I?(k=D.value,c=c.value,D=z.value):(k=D.setValue,c=c.setValue,D=z.setValue),c=a?k>D?1:(null==c&&c)>D?1:0:0}k=z.displayValue;I=z.showValue;a=n.label;void 0!==k&&null!==k&&k!==J&&null!==D&&I?(d={text:k,"class":"fusioncharts-label",
fill:d.color,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash],"font-weight":d.fontWeight,"font-style":d.fontStyle,"font-family":d.fontFamily,"font-size":d.fontSize,"line-height":d.lineHeight,visibility:"visible"},a||(A.label&&A.label.length?(n.label=a=A.label.shift(),n.label.show()):n.label=a=e.text(s),B=!0),a.attr(d),d=n.label.getBBox(),t?(z._state={labelWidth:!0===z._rotated?d.width:d.height,labelHeight:!0===z._rotated?d.height:d.width},
z._rotated=!0):(z._state={labelWidth:!0===z._rotated?d.height:d.width,labelHeight:!0===z._rotated?d.width:d.height},z._rotated=!1),d=s=z._state.labelHeight,s=.5*s+g,A=F-w,r=w+r-F,w=F,d=d+g+4,c?r>d?(w+=s,z._valueBelowPoint=1):A>d&&(w-=s,z._valueBelowPoint=0):A>d?(w-=s,z._valueBelowPoint=0):r>d&&(w+=s,z._valueBelowPoint=1),B&&(a.attr({x:h,y:w,transform:e.getSuggestiveRotation(t,h,w)}),f&&!0!==G&&(B=C.getPixel(H+0),B instanceof Object&&(B=B.x),n.label.attr({x:B,y:w,transform:e.getSuggestiveRotation(t,
B,w)}))),a.data("isBelow",z._valueBelowPoint),a.data("rotation",e.getSuggestiveRotation(t,h,w)),a.show().animateWith(m,M,{x:h,y:w,transform:e.getSuggestiveRotation(t,h,w)},p,q)):a&&a.hide().attr({"text-bound":[]})},getAxisValuePadding:function(){var a=(this.chart||{}).hasScroll;return{left:a?.5:0,right:a?.5:0}},hidingPosition:function(){return function(){return{polypath:[[2,0,0,0,0,0]],text:""}}},_hoverFunc:function(a,f,g,d){if(d)return this._hoverPlotAnchor(a,f,g)}},"column"]);FusionCharts.register("component",
["dataset","scrollarea2d",{},"area"]);FusionCharts.register("component",["dataset","realtimearea",{init:function(a){var f=this.chart,g=f.components,d=f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0;this.yAxis=g=g.yAxis[d];if(!a)return!1;this.JSONData=a;this.yAxis=g;this.chartGraphics=f.chartGraphics;this.components={};this.graphics={};this.visible=1===l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_realTimeConfigure:function(a){var f=this.chart,
g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"area"]);FusionCharts.register("component",["datasetGroup","realtimearea",{},"area"]);FusionCharts.register("component",["datasetGroup","radar",{},"area"]);FusionCharts.register("component",["dataset","radar",{type:"radar",configure:function(){var a=this.config,f=this.chart,g=f.jsonData.chart,
c=this.JSONData,e=f.components.colorManager.getPlotColor(this.index);this.__base__.configure.call(this);a.plotFillColor=d(c.color,g.plotfillcolor,e);a.plotBorderColor=d(c.plotbordercolor,g.plotbordercolor,g.areabordercolor,e).split(",")[0];a.fillColor.color=a.plotFillColor;a.legendSymbolColor=a.plotFillColor;f.config.radarRadius=l(g.radarradius,0);f.config.radarBorderThickness=l(g.radarborderthickness,2)},_addLegend:function(){var a=this.chart,f=a.jsonData.chart,g,d;d=this.config;var a=a.components.legend,
c=d.legendSymbolColor;g=l(f.us3dlighting,f.useplotgradientcolor,1);f=Pa(c,60).replace(Ja,R);g?(g=Pa(c,40),g={FCcolor:{color:c+","+c+","+g+","+c+","+c,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):g={FCcolor:{color:c,angle:0,ratio:"0",alpha:"100"}};d={enabled:d.includeInLegend,type:this.type,fillColor:F(g),strokeColor:F(f),rawFillColor:c,label:da(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,d)},draw:function(){var b=this,f=b.chart,g=f.graphics,c=
f.config,e=f.components,l=b.JSONData,k=f.jsonData.chart,n=b.config,p=f.isStacked,q=b.groupManager.stackSumValue[0],w=b.index,r=l.data||[],E,z,D,s,v=e.paper,A=e.xAxis[0],B=b.yAxis,h,C,H,G,I=n.showTooltip,J,M=b.components.data,P,Q,T,R,V,U,e=c.style,$={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle,color:e.color},ba=B.getAxisBase(),Z,e=n.plotBorderColor,fa=n.plotBorderAlpha,ca=n.plotBorderDashStyle,ya=n.plotBorderThickness,Aa=b.graphics.container,
ma=b.graphics.trackerContainer,ia=g.trackerGroup,da=[],la=m.parseUnsafeString,va=!1,ka=n.fillColor,sa=f.is3D,oa=g.areaGroup,ha=f.get("config","animationObj"),ra=ha.duration,qa=ha.dummyObj,ua=ha.animObj,ha=ha.animType,Ca=function(){!1===b.visible&&(Aa.areaGroup.hide(),Ja.hide(),Aa.lineShadowGroup.hide(),Aa.anchorShadowGroup.hide(),Aa.anchorGroup.hide(),ma.hide(),Na&&Na.hide(),b._conatinerHidden=!0)},Ba=function(){Aa.areaGroup.attr({"clip-rect":null});!1!==b.visible&&(Aa.lineShadowGroup.show(),Aa.anchorShadowGroup.show(),
Aa.anchorGroup.show(),Na.show());f._animCallBack()},n=n.shadow,wa,za=b.visible,Ha=function(a){ea.call(this,f,a)},Fa=function(a,g){return function(d){g&&b._hoverPlotAnchor(a,"DataPlotRollOver",k);ea.call(this,f,d,"DataPlotRollOver")}},Ia=function(a,g){return function(d){g&&b._hoverPlotAnchor(a,"DataPlotRollOut",k);ea.call(this,f,d,"DataPlotRollOut")}},Ja=Aa&&Aa.shadowContainer,Ea,Da={},Da=g.datalabelsGroup,Na=b.graphics.dataLabelContainer,Oa=sa?10:0,g=b.components.removeDataArr||[],sa=g.length,Pa=
b.components.pool||{},Ta,ab=!0,yb,bb=0,cb;Aa||(Aa=b.graphics.container={lineShadowGroup:v.group("connector-shadow",oa.areaConnector),anchorShadowGroup:v.group("anchor-shadow",oa.areaConnector),areaGroup:v.group("area",oa.area),anchorGroup:v.group("anchors",oa.areaConnector)},za||(Aa.lineShadowGroup.hide(),Aa.anchorShadowGroup.hide(),Aa.areaGroup.hide(),Aa.anchorGroup.hide()));Ja||(Ja=b.graphics.shadowContainer=oa.shadows||(oa.shadows=v.group("shadows",Aa.areaGroup).toBack()),za||Ja.hide());ma||(ma=
b.graphics.trackerContainer=v.group("area-hot"),za||ma.hide());M||(M=b.components.data);ia&&ia.appendChild(ma);Na||(Na=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||v.group("datalabel",Da),za||Na.hide());za&&(Aa.lineShadowGroup.show(),Aa.anchorShadowGroup.show(),Aa.areaGroup.show(),Aa.anchorGroup.show(),Na.show(),ma.show());f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",$);E=A.getCategoryLen();$=A.config.centerX;ia=A.config.centerY;for(s=0;s<E;s++)z=r[s]||{},J=(P=
M[s])&&P.config,R=A.getLabel(s).label,G=J.showValue,T=J.setValue,D=J.setLink,Da=J.anchorProps,Ea=Da.shadow,h=ga(la(d(z.tooltext,l.plottooltext,k.plottooltext))),P.graphics||(P.graphics={}),J&&(Z=0<=T?J.previousPositiveY:J.previousNegativeY),p&&T&&(Z=b._parseValues(s,Z,q[s],h),T=J.value),yb=!1,Ta=P.graphics,z=Ta.element,Q=Ta.hotElement,cb=Ta.image,Ta=Ta.label,null===T?(!1!==va?da.push("L",$,",",ia):da.push("M",$,",",ia),va=!1):(C=B.getAxisPosition(Z||ba)+Oa,H=b.visible?B.getAxisPosition(T+(Z||0))+
Oa:C,C=A.getAxisPosition(s,c.canvasTop+c.canvasHeight/2-H),H=C.y,C=C.x,wa=J.hoverEffects,h=I?J.toolText+(h?"":J.toolTipValue):"",R={index:s,link:D,value:T,displayValue:J.displayValue,categoryLabel:R,toolText:h,id:b.userID,datasetIndex:w||0,datasetName:l.seriesname,visible:za},wa.enabled&&(J.setRolloverAttr={polypath:[wa.anchorSides||2,C,H,wa.anchorRadius,wa.startAngle,wa.dip],fill:F({color:wa.anchorColor,alpha:wa.anchorBgAlpha}),stroke:F({color:wa.anchorBorderColor,alpha:wa.anchorBorderAlpha}),"stroke-width":wa.anchorBorderThickness},
J.setRolloutAttr={polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0],fill:F({color:Da.bgColor,alpha:Da.bgAlpha}),stroke:F({color:Da.borderColor,alpha:Da.borderAlpha}),"stroke-width":Da.borderThickness},U=J.setRolloverAttr,V=J.setRolloutAttr),Da.imageUrl?(D=new a,D.onload=b._onAnchorImageLoad(b,s,R,C,H),D.onerror=b._onErrorSetter(C,H,s,b),D.src=Da.imageUrl):(cb&&cb.hide(),z||(Pa.element&&Pa.element.length?z=P.graphics.element=Pa.element.shift():(z=P.graphics.element=v.polypath(Aa.anchorGroup),
z.attr({polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0]}),yb=!0)),z.show().animateWith(qa,ua,{polypath:[Da.symbol[1]||2,C,H,Da.radius,Da.startAngle,0]},ra,ha,ab&&Ca),ab=!1,z.attr({fill:F({color:Da.bgColor,alpha:Da.bgAlpha}),stroke:F({color:Da.borderColor,alpha:Da.borderAlpha}),"stroke-width":Da.borderThickness,visibility:Da.radius?za:"hidden"}).shadow(Ea,Aa.anchorShadowGroup).data("anchorRadius",Da.radius).data("anchorHoverRadius",wa.anchorRadius).data("setRolloverAttr",U).data("setRolloutAttr",
V),wa.enabled&&z&&z.data("anchorRadius",Da.radius).data("anchorHoverRadius",wa.anchorRadius).data("setRolloverAttr",U).data("setRolloutAttr",V),J=na(Da.radius,wa&&!p&&wa.anchorRadius||0,X),D={cx:C,cy:H,r:J,cursor:D?"pointer":"",stroke:t,"stroke-width":Da.borderThickness,fill:t,ishot:!0,visibility:"visible"},Q||(Pa.hotElement&&Pa.hotElement.length?Q=P.graphics.hotElement=Pa.hotElement.shift():(Q=P.graphics.hotElement=v.circle(ma),yb=!0)),Q.show().attr(D),yb&&(Q||z).click(Ha).hover(Fa(P,wa.enabled),
Ia(P,wa.enabled)),(Q||z).data("eventArgs",R).data("groupId",void 0).data("hoverEnabled",wa.enabled).tooltip(h)),P._xPos=C,P._yPos=H,va?(da.push("L",C,",",H),bb++):(0===s?da.push("M",C,",",H):da.push("L",C,",",H),va=!0)),G&&!Da.imageUrl&&this.drawLabel(s),null===T&&(z&&z.hide(),Q&&Q.hide()),0!==G&&null!==T||!Ta||(Ta.hide(),Ta.attr({"text-bound":[]}));da.push("Z");l=da.concat([]);c=b.graphics.lineElement;c||(c=b.graphics.lineElement=v.path(Aa.areaGroup),c.attr({path:da}),ra&&za&&(Aa.anchorGroup.hide(),
Aa.anchorShadowGroup.hide(),Na.hide(),oa.scale(.01,.01,$,ia).animateWith(qa,ua,{transform:"s1,1"},ra,ha,Ba)));c.show().animateWith(qa,ua,{path:l},ra,ha,ab&&Ca).attr({stroke:F({color:e,alpha:fa}),"stroke-width":ya,fill:F(ka),"stroke-linecap":"round","stroke-linejoin":2<ya?"round":"miter","stroke-dasharray":ca}).shadow(n,Ja);b.drawn=!0;for(s=0;s<sa;s++)b._removeDataVisuals(g.shift())}},"area"]);FusionCharts.register("component",["dataset","Line",{type:"line",init:function(a){var f=this.chart,g=f.components,
d=f.hasLineSet,c=a.parentyaxis,d=f.isDual&&(c&&"s"===c.toLowerCase()||d)?1:0;this.chart=f;this.yAxis=g.yAxis[d];this.components={};this.graphics={};this.JSONData=a;this.visible=1===l(a.visible,!Number(a.initiallyhidden),1);this.configure()},_parseShadowOptions:function(){var a=this.chart,f=this.config,g=a.jsonData.chart,a=l(a.defaultPlotShadow,a.components.colorManager.getColor("showShadow"));return{opacity:l(g.showshadow,a)?f.lineAlpha/100:0}},_addLegend:function(){var a=this.config,f=this.chart.components.legend,
g=l(a.drawAnchors,1),a={enabled:a.includeInLegend,type:this.type,drawLine:d(a.drawLine,!0),fillColor:F({color:a.anchorBgColor,alpha:a.anchorBgAlpha}),strokeColor:F({color:a.anchorBorderColor,alpha:"100"}),rawFillColor:a.anchorBgColor,rawStrokeColor:a.anchorBorderColor,anchorSide:g?a.anchorSides:0,strokeWidth:a.anchorBorderThickness,label:da(this.JSONData.seriesname)};this.legendItemId=f.addItems(this,this.legendInteractivity,a)},draw:function(){var b,f,g=this,c=g.JSONData,e=g.chart,l=e.components,
k=l.canvas.config.clip,m=g.config,n=g.index,p=e.config,q=g.components,w=g.graphics,E=q.data,r=E.length,z=l.paper,s=l.xAxis[0],v=g.yAxis,A=q.removeDataArr||[],D=e.graphics,h=D.datalabelsGroup,B,H,G,J=p.style,I={fontFamily:J.fontFamily,fontSize:J.fontSize,lineHeight:J.lineHeight,fontWeight:J.fontWeight,fontStyle:J.fontStyle,color:J.color},M=m.lineThickness,P=w.container,Q=w.trackerContainer,T=D.trackerGroup,R=m.showTooltip,V,U=D.lineGroup,$,ba=m.shadow,Z,fa=w.dataLabelContainer,ea={},ya,Aa,ma,ia=e.is3D,
ga=m.use3dlineshift,da=m.transposeanimation,va=g.graphics.errorGroupContainer,ka=g.graphics.errorTrackerContainer,sa=g.graphics.errorShadowContainer,la=function(){!1!==g.visible||!1!==g._conatinerHidden&&void 0!==g._conatinerHidden||(P.lineGroup.hide(),P.lineShadowGroup.hide(),P.anchorShadowGroup.hide(),P.anchorGroup.hide(),Q.hide(),fa&&fa.hide(),va&&va.hide(),ka&&ka.hide(),sa&&sa.hide(),g._conatinerHidden=!0)},oa=function(){U.lineConnector.attr({"clip-rect":null});U.lineConnector.node&&U.lineConnector.node.removeAttribute("clip-path");
!1!==g.visible&&(P.lineShadowGroup.show(),P.anchorShadowGroup.show(),P.anchorGroup.show(),Q.show(),fa&&fa.show())},ha=!0,ra,qa,ua,Ba=v.getAxisBase(),wa=v.yBasePos=v.getAxisPosition(Ba),za=s.getPVR(),Ca,Da=ia?10:0,Ha=ia&&ga?10:0,Fa=k["clip-canvas"].slice(0),Ea=k["clip-canvas-init"].slice(0),Ja=l.scrollBar,Ia=e.hasScroll||!1,Na,Pa=m.lineDashStyle,Oa={color:m.lineColor,alpha:m.lineAlpha},Ta=[F(Oa),Pa].join(":"),ab,bb,cb,$a,Sa,Ra=w.lineElement,Ya=g.visible,db,fb,Za=0,Xa=!0!==g.drawn,hb=g.components.pool||
(g.components.pool={}),nb,pb,pc=g.startPosition,ib={},gb=r,Wa,rb={},kb=m.anchorRadius,ob=m.lastPath||{},Cb=!Xa&&da,Db,qb,sb=0,Eb=e.config.viewPortConfig,Pb=Eb.x,Hb=Eb.scaleX,wb,jb,lb,xb,Ib,mb,tb,Lb,ub,Nb,Gb,Mb,Jb,$b,Wb,tc,ac,cc,ic,uc=m.noOfImages=m.noOfImages||(m.noOfImages=0),qc,jc=e.get("config","animationObj"),Xb=jc.duration,kc=jc.dummyObj,lc=jc.animObj,mc=jc.animType,vc,Ac=p.height,wc=p.realTimeConfig&&p.realTimeConfig.clear,Bc=gb;g.noOfNewDataAtEnd=0;m.hideAnimFlag=!1;U.lineConnector=U.lineConnector||
z.group("line-connector",U);P||(P=g.graphics.container={lineShadowGroup:z.group("connector-shadow",U.lineConnector),anchorShadowGroup:z.group("anchor-shadow",U.lineConnector),lineGroup:z.group("line",U.lineConnector),anchorGroup:z.group("anchors",U.lineConnector)},Ya||(P.lineShadowGroup.hide(),P.anchorShadowGroup.hide(),P.lineGroup.hide(),P.anchorGroup.hide()));Q||(Q=g.graphics.trackerContainer=z.group("line-hot",T),Ya||Q.hide());E||(E=g.components.data=[]);e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",
I);fa||(fa=g.graphics.dataLabelContainer=g.graphics.dataLabelContainer||z.group("datalabel",h),Ya||fa.hide());Ya&&(P.lineShadowGroup&&P.lineShadowGroup.show(),P.lineGroup&&P.lineGroup.show(),P.anchorGroup&&P.anchorGroup.show(),Q&&Q.show(),g._conatinerHidden=!1,fa.show());Ca=za*gb;e.isRealTime&&(Fa[1]=0,Fa[3]=Ac,fa.attr({"clip-rect":Fa}),P.anchorGroup.attr({"clip-rect":Fa}),P.anchorShadowGroup.attr({"clip-rect":Fa}),P.lineGroup.attr({"clip-rect":Fa}),P.lineShadowGroup.attr({"clip-rect":Fa}));if(wc)for(Wa=
0,gb=A.length;Wa<gb;Wa++)g._removeDataVisuals(A.shift());else g._shiftOffRemovedPoints();ib=m.removePath||{};tc=P.anchorShadowGroup;for(Wa=0;Wa<Bc;Wa++)if(B=E[Wa])ma=B.config||{},mb=ma.setValue,void 0!==mb&&(xb=B.graphics,Ib=ma.setLink,db=ma.x||Wa,ra=ma.setLevelTooltext,ea=ma.anchorProps,Aa=ea.symbol,ub=ea.radius,Z=ea.shadow,Nb=ea.startAngle,Gb=ea.bgColor,Mb=ea.bgAlpha,Jb=ea.borderColor,$b=ea.borderAlpha,Wb=ea.borderThickness,Lb=ma.displayValue,fb=ma.dip||0,B||(B=E[Wa]={graphics:{}}),b=ma.setColor,
f=ma.setAlpha,ua=ma.dashStyle,$a=ma.xPos||s.getAxisPosition(db)-Da+Pb*Hb,Sa=!g.visible&&Xb?wa:v.getAxisPosition(mb)+Ha,$a=ca($a,m.lineThickness,m.lineThickness).position,Sa=ca(Sa,m.lineThickness,m.lineThickness).position,$=ma.hoverEffects,ea.isAnchorHoverRadius=$.anchorRadius,Db=s.getLabel(Wa)||{},wb=R?ma.toolText+(ra?"":ma.toolTipValue):"",tb={index:Wa,link:Ib,value:mb,displayValue:Lb,categoryLabel:Db.label,toolText:wb,id:m.userID,datasetIndex:n||0,datasetName:c.seriesname,visible:Ya},ic=!1,jb=B.graphics.element,
cc=B.graphics.image,lb=B.graphics.hotElement,qc={polypath:[Aa[1]||2,$a,Sa,ub,Nb,ma.dip||0]},null!==mb?(!jb&&Cb&&!0!==pc&&(pb=gb+Za,nb=s.getPixel(pb),B._xPos=nb,B._yPos=Sa,ob=g.getLinePath([B],ob),Za++),ea.imageUrl?(ya=new a,ya.onload=g._onAnchorImageLoad(g,Wa,tb,$a,Sa,B),ya.onerror=g._onErrorSetter($a,Sa,Wa,g),ya.src=ea.imageUrl,uc++):(cc&&cc.hide(),jb||(hb.element&&hb.element.length?(jb=xb.element=hb.element.shift(),jb.show()):(jb=xb.element=z.polypath(P.anchorGroup),jb.attr(qc),ic=!0),Cb&&jb.attr({polypath:[Aa[1]||
2,nb,Sa,ub,Nb,0]})),jb.show().attr({transform:""}).animateWith(kc,lc,qc,Xb,mc,ha&&la),Xb||ha&&la(),ha=!1,jb.attr({fill:F({color:Gb,alpha:Mb}),stroke:F({color:Jb,alpha:$b}),"stroke-width":Wb,visibility:ub?Ya:"hidden"}).shadow(Z,tc).data("anchorRadius",ub).data("anchorHoverRadius",$.anchorRadius),$.enabled&&(G={polypath:[$.anchorSides||2,$a,Sa,$.anchorRadius,$.startAngle,$.dip],fill:F({color:$.anchorColor,alpha:$.anchorBgAlpha}),stroke:F({color:$.anchorBorderColor,alpha:$.anchorBorderAlpha}),"stroke-width":$.anchorBorderThickness},
H={polypath:[ea.sides,$a,Sa,ea.radius,ea.startAngle,fb],fill:F({color:ea.bgColor,alpha:ea.bgAlpha}),stroke:F({color:ea.borderColor,alpha:ea.borderAlpha}),"stroke-width":ea.borderThickness},jb&&jb.data("anchorRadius",ea.radius).data("anchorHoverRadius",$.anchorRadius).data("setRolloverAttr",G).data("setRolloutAttr",H)),kb=na(ub,$&&$.anchorRadius||0,X),V={cx:$a,cy:Sa,r:kb,cursor:Ib?"pointer":"",stroke:t,"stroke-width":Wb,fill:t,ishot:!0,visibility:Ya,transform:""},lb||(hb.hotElement&&hb.hotElement.length?
lb=xb.hotElement=hb.hotElement.shift():(lb=xb.hotElement=z.circle(Q),ic=!0)),lb.show().attr(V),(lb||jb).data("eventArgs",tb).data("groupId",void 0).data("hoverEnabled",$.enabled).data("dataset",g).tooltip(wb),ic&&(lb||jb).click(g.getPlotClickFn(e)).hover(g.rolloverResponseSetter(B,e),g.rolloutResponseSetter(B,e)))):(jb&&jb.hide(),cc&&cc.hide(),lb&&lb.hide()),B._xPos=$a,B._yPos=Sa,!ea.imageUrl&&g.drawLabel(Wa),cb=Ta!==[F({color:d(b,Oa.color),alpha:d(f,Oa.alpha)}),ua||Pa].join(":"),qa=B.graphics.connector,
qb=[],cb&&(ac=Wa,rb=g.getLinePath(E,{},{begin:sb,end:ac+1}),ma.connStartIndex=sb,ma.connEndIndex=ac,qb=rb.getPathArr(),qb.length&&(vc=C.animation({path:qb},Xb,mc,ha&&la),qa||(hb.connector&&hb.connector.length?qa=B.graphics.connector=hb.connector.shift():(qa=B.graphics.connector=z.path(P.lineGroup),qa.attr({path:qb}))),qa.show().animateWith(kc,lc,vc),qa.attr({"stroke-dasharray":bb,"stroke-width":M,stroke:ab,"stroke-linecap":"round","stroke-linejoin":2<M?"round":"miter"}).shadow(ba,P.lineShadowGroup),
sb=Wa,rb={}),ac=null),cb||qb.length||qa&&qa.hide(),null!==mb&&(ab=F({color:d(b,Oa.color),alpha:d(f,Oa.alpha)}),bb=ua||Pa),Ta=[ab,bb].join(":"));m.pathStartIndex=sb;m.pathEndIndex=ac;m.noOfImages=uc;rb=g.getLinePath(E,{},{begin:sb,end:ac});A&&e.isRealTime&&(ib=g.getLinePath(E,ib));e.isRealTime&&(m.lastPath=rb);Ra?Xb&&e.isRealTime&&Ra.attr({path:ob.getPathArr()}):Ra=w.lineElement=z.path({path:rb.getPathArr()},P.lineGroup);wc?Ra.hide():Ra.show().animateWith(kc,lc,{path:ib.getPathArr&&e.isRealTime?ib.getPathArr():
rb.getPathArr()},Xb,mc,ha&&la);Ra.attr({"stroke-width":M,"stroke-dasharray":bb,stroke:ab,"stroke-linecap":"round","stroke-linejoin":2<=M?"round":"miter"}).shadow(ba,P.lineShadowGroup);Ia&&(Na=Ja.conf.startPercent,Fa[2]=Ca+Ea[0],1===Na&&(Ea[0]=Fa[2],Fa[0]=0));Fa[3]+=Ha;g._drawTracker&&g._drawTracker();Xb&&Ya&&!g.drawn&&(P.anchorGroup.hide(),P.anchorShadowGroup.hide(),fa.hide(),U.lineConnector.attr({"clip-rect":Ea}).animateWith(kc,lc,{"clip-rect":Fa},Xb,mc,oa));g.drawn=!0;g.drawErrorValue&&g.drawErrorValue()},
getDataLimits:function(){var a=this.config,f=a.maxValue,a=a.minValue,g=this.chart.config.transposeAxis;!1===this.visible&&g&&(f=-Infinity,a=Infinity);return{max:f,min:a}},pointValueWatcher:function(a,f,g){var d=g.obj||(g.obj={}),c=g.objX||(g.objX={});null!==f&&(d.max=d.max>f?d.max:f,d.min=d.min<f?d.min:f);null!==a&&(c.max=c.max>a?c.max:a,c.min=c.min<a?c.min:a);g.isRegression&&(a=a||0,f=f||0,g.sumX+=a,g.sumY+=f,g.sumXY+=a*f,g.sumXsqure+=Ia(a,2),g.xValues.push(a),g.sumYsqure+=Ia(f,2),g.yValues.push(f))}},
"area"]);FusionCharts.register("component",["dataset","Realtimeline",{_realTimeConfigure:function(a){var f=this.chart,g=this.components.data,d=[],c=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<c?(d.length=c-a,this.components.data=d.concat(g)):a>c&&this.components.data.splice(c,a-c)}},"line"]);FusionCharts.register("component",["quadrant","cartesian",{pIndex:1,init:function(){var a=this.chart.components,f=a.xAxis[0];this.yAxis=a.yAxis[0];this.xAxis=f;this.components=
{};this.conf={};this.graphics={};this.configure()},configure:function(){var a,f,g,c,e,k,m,n,p,q,t=this.conf;p=this.chart;k=p.config;var r=p.jsonData.chart;f=p.components.canvas.config;var E=k.dataLabelStyle;a=p.linkedItems.smartLabel;if(t.enabled=l(r.drawquadrant,0))p=l(r.quadrantxval),q=l(r.quadrantyval),n=T(d(r.quadrantlinecolor,f.canvasBorderColor),d(r.quadrantlinealpha,r.quadrantlinealpha,ba)),f=l(r.quadrantlinethickness,f.canvasBorderThickness),c=l(r.quadrantlinedashed,r.quadrantlineisdashed,
0),g=l(r.quadrantlinedashlen,4),e=l(r.quadrantlinedashgap,2),g=c?ia(g,e,f):"none",t.xVal=p,t.yVal=q,t.quadrantLineColor=n,t.quadrantLineThickness=f,t.dashStyle=g,f=ga(r.quadrantlabeltl,""),n=ga(r.quadrantlabeltr,""),p=ga(r.quadrantlabelbl,""),q=ga(r.quadrantlabelbr,""),t.quadrantLabelPadding=l(r.quadrantlabelpadding,3),a.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),a.setStyle(E),""!==f&&(a=da(r.quadrantlabeltlbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabeltlbgcolor,r.quadrantlabelbgcolor),
k=l(r.quadrantlabeltlborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabeltlborderalpha,r.quadrantlabelborderalpha,r.quadrantlabeltlalpha,r.quadrantlabelalpha,100)):"",m=t.tlConfig,m||(m=t.tlConfig={enabled:!0,styleObj:{}}),m.label=f,m.styleObj.fontSize=d(l(r.quadrantlabeltlfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",m.styleObj.lineHeight=E.lineHeight,m.styleObj.fontFamily=d(r.quadrantlabeltlfont,r.quadrantlabelfont,E.fontFamily),m.styleObj.color=T(d(r.quadrantlabeltlfontcolor,
r.quadrantlabelfontcolor,E.color),l(r.quadrantlabeltlfontalpha,r.quadrantlabelfontalpha,100)),m.styleObj.fontWeight=l(r.quadrantlabeltlfontbold,r.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=l(r.quadrantlabeltlfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(m.styleObj),f=l(r.quadrantlabeltlborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabeltlborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabeltlbgalpha,r.quadrantlabelbgalpha,r.quadrantlabeltlalpha,
r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabeltlborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabeltlborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabeltlborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[c,a,k,f,g,e]),""!==n&&(a=da(r.quadrantlabeltrbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabeltrbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabeltrborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabeltrborderalpha,
r.quadrantlabelborderalpha,r.quadrantlabeltralpha,r.quadrantlabelalpha,100)):"",n=t.trConfig,n||(n=t.trConfig={enabled:!0,styleObj:{}}),n.label=ga(r.quadrantlabeltr,""),n.styleObj.fontSize=d(l(r.quadrantlabeltrfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",n.styleObj.lineHeight=E.lineHeight,n.styleObj.fontFamily=d(r.quadrantlabeltrfont,r.quadrantlabelfont,E.fontFamily),n.styleObj.color=T(d(r.quadrantlabeltrfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabeltrfontalpha,r.quadrantrabelfontalpha,
100)),n.styleObj.fontWeight=l(r.quadrantlabeltrfontbold,r.quadrantlabelfontbold)?"bold":"normal",n.styleObj.fontStyle=l(r.quadrantlabeltrfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(n.styleObj),f=l(r.quadrantlabeltrborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabeltrborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabeltrbgalpha,r.quadrantlabelbgalpha,r.quadrantlabeltralpha,r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabeltrborderdashed,r.quadrantlabelborderdashed,
0)?ia(l(r.quadrantlabeltrborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabeltrborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",n["text-bound"]=[c,a,k,f,g,e]),""!==p&&(a=da(r.quadrantlabelblbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabelblbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabelblborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabelblborderalpha,r.quadrantlabelborderalpha,r.quadrantlabelblalpha,r.quadrantlabelalpha,100)):"",n=t.blConfig,
n||(n=t.blConfig={enabled:!0,styleObj:{}}),n.label=p,n.styleObj.fontSize=d(l(r.quadrantlabelblfontsize,r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",n.styleObj.lineHeight=E.lineHeight,n.styleObj.fontFamily=d(r.quadrantlabelblfont,r.quadrantlabelfont,E.fontFamily),n.styleObj.color=T(d(r.quadrantlabelblfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabelblfontalpha,r.quadrantlabelfontalpha,100)),n.styleObj.fontWeight=l(r.quadrantlabelblfontbold,r.quadrantlabelfontbold)?"bold":"normal",
n.styleObj.fontStyle=l(r.quadrantlabelblfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(n.styleObj),f=l(r.quadrantlabelblborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabelblborderradius,r.quadrantlabelborderradius,0),c=c?T(c,l(r.quadrantlabelblbgalpha,r.quadrantlabelbgalpha,r.quadrantlabelblalpha,r.quadrantlabelalpha,100)):"",e=l(r.quadrantlabelblborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabelblborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabelblborderdashgap,
r.quadrantlabelborderdashgap,2),k):"none",n["text-bound"]=[c,a,k,f,g,e]),""!==q&&(a=da(r.quadrantlabelbrbordercolor,r.quadrantlabelbordercolor,""),c=d(r.quadrantlabelbrbgcolor,r.quadrantlabelbgcolor),k=l(r.quadrantlabelbrborderthickness,r.quadrantlabelborderthickness,1),a=a?T(a,l(r.quadrantlabelbrborderalpha,r.quadrantlabelborderalpha,r.quadrantlabelbralpha,r.quadrantlabelalpha,100)):"",p=t.brConfig,p||(p=t.brConfig={enabled:!0,styleObj:{}}),p.label=ga(r.quadrantlabelbr,""),p.styleObj.fontSize=d(l(r.quadrantlabelbrfontsize,
r.quadrantlabelfontsize),parseInt(E.fontSize,10))+"px",p.styleObj.lineHeight=E.lineHeight,p.styleObj.fontFamily=d(r.quadrantlabelbrfont,r.quadrantlabelfont,E.fontFamily),p.styleObj.color=T(d(r.quadrantlabelbrfontcolor,r.quadrantlabelfontcolor,E.color),l(r.quadrantlabelbrfontalpha,r.quadrantrabelfontalpha,100)),p.styleObj.fontWeight=l(r.quadrantlabelbrfontbold,r.quadrantlabelfontbold)?"bold":"normal",p.styleObj.fontStyle=l(r.quadrantlabelbrfontitalic,r.quadrantlabelfontitalic)?"italic":"normal",w(p.styleObj),
c=c?T(c,l(r.quadrantlabelbrbgalpha,r.quadrantlabelbgalpha,r.quadrantlabelbralpha,r.quadrantlabelalpha,100)):"",f=l(r.quadrantlabelbrborderpadding,r.quadrantlabelborderpadding,2),g=l(r.quadrantlabelbrborderradius,r.quadrantlabelborderradius,0),e=l(r.quadrantlabelbrborderdashed,r.quadrantlabelborderdashed,0)?ia(l(r.quadrantlabelbrborderdashlen,r.quadrantlabelborderdashlen,4),l(r.quadrantlabelbrborderdashgap,r.quadrantlabelborderdashgap,2),k):"none",p["text-bound"]=[c,a,k,f,g,e])},_preDraw:function(){var a,
f,g,c,d,e;g=this.conf;var l=this.chart;c=l.components;e=c.yAxis[0];d=c.xAxis[0].getLimit();var k=e.getLimit();c=d.max;e=k.max;var m=d.min;d=k.min;var l=l.config,n=l.canvasWidth,p=l.canvasHeight,l=g.quadrantLabelPadding,k=g.tlConfig,q=g.trConfig,w=g.blConfig,t=g.brConfig;a=g.xVal||(g.xVal=(m+c)/2);f=g.yVal||(g.yVal=(d+e)/2);if(f>=d&&f<=e&&a>=m&&a<=c){g=n/(c-m)*(a-m);c=n-g;e=p/(e-d)*(f-d);g-=l;d=p-e-l;e-=l;if(0>d||0>g)k.enabled=!1;if(0>d||0>c-l)q.enabled=!1;if(0>e||0>g)w.enabled=!1;if(0>e||0>g)t.enabled=
!1}else g.enabled=!1;return this},draw:function(){var a=this._preDraw(),f=a.conf,g=a.chart,d=g.graphics,c=g.config,e=g.components,l=g.linkedItems.smartLabel,a=a.graphics,k=a.tlLabel,m=a.trLabel,n=a.blLabel,p=a.brLabel,q=c.textDirection,w=e.xAxis[0],t=e.yAxis[0],e=e.paper,r=a.container,s=f.tlConfig||{},v=f.trConfig||{},A=f.blConfig||{},z=f.brConfig||{},s=s.enabled&&s.label,v=v.enabled&&v.label,A=A.enabled&&A.label,z=z.enabled&&z.label,h=c.canvasLeft,F=c.canvasTop,B=f.quadrantLabelPadding,D=w.getLimit(),
C=t.getLimit(),H=D.max,G=C.max,C=C.min,D=w.getPixel(D.min)+B,H=w.getPixel(H)-B,C=t.getPixel(C)-B,B=t.getPixel(G)+B,w=w.getPixel(f.xVal),J=t.getPixel(f.yVal),t=w-D,G=H-w,I=J-B,P=C-J,M=a.horizontalQuadLine,Q=a.verticalQuadLine,T=g.get("config","animationObj"),g=T.duration||0,R=T.dummyObj,T=T.animObj,V=!1;f.enabled?(r||(V=!0,r=a.container=e.group("quadrant").insertBefore(d.datasetGroup)),r.animateWith(R,T,{"clip-rect":c.canvasLeft+","+c.canvasTop+","+c.canvasWidth+","+c.canvasHeight},V?0:g),M||(M=a.horizontalQuadLine=
e.path(r)),M.animateWith(R,T,{path:"M"+h+" "+J+"h"+c.canvasWidth},g).attr({stroke:f.quadrantLineColor,"stroke-dasharray":f.dashStyle,"stroke-width":f.quadrantLineThickness,"stroke-linecap":"butt"}),Q||(Q=a.verticalQuadLine=e.path(r)),Q.animateWith(R,T,{path:"M"+w+" "+F+"v"+c.canvasHeight},g).attr({stroke:f.quadrantLineColor,"stroke-width":f.quadrantLineThickness,"stroke-dasharray":f.dashStyle,"stroke-linecap":"butt"}),s?(k||(k=a.tlLabel=e.text(r).attr({"text-anchor":"start","vertical-align":"top"}).css(f.tlConfig.styleObj)),
l.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),l.setStyle(f.tlConfig.styleObj),d=l.getSmartText(s,t,I),s&&k.animateWith(R,T,{x:D,y:B},V?0:g).attr({text:d.text,direction:q,"text-bound":f.tlConfig["text-bound"]}).show()):k&&k.hide(),v?(m||(m=a.trLabel=e.text(r).attr({"text-anchor":"end","vertical-align":"top",direction:q}).css(f.trConfig.styleObj)),l.setStyle(f.trConfig.styleObj),d=l.getSmartText(v,G,I),v&&m.animateWith(R,T,{x:H,y:B},V?0:g).attr({text:d.text,"text-bound":f.trConfig["text-bound"]}).show()):
m&&m.hide(),A?(n||(n=a.blLabel=e.text(r).attr({"text-anchor":"start","vertical-align":"bottom",direction:q}).css(f.blConfig.styleObj)),l.setStyle(f.blConfig.styleObj),d=l.getSmartText(A,t,P),A&&n.animateWith(R,T,{x:D,y:C},V?0:g).attr({text:d.text,"text-bound":f.blConfig["text-bound"]}).show()):n&&n.hide(),z?(p||(p=a.brLabel=e.text(r).attr({"text-anchor":"end","vertical-align":"bottom",direction:q}).css(f.brConfig.styleObj)),l.setStyle(f.brConfig.styleObj),d=l.getSmartText(z,G,P),z&&p.animateWith(R,
T,{x:H,y:C},V?0:g).attr({text:d.text,"text-bound":f.brConfig["text-bound"]}).show()):p&&p.hide()):r&&r.hide()}}]);FusionCharts.register("component",["dataset","Scatter",{type:"scatter",manageSpace:function(){},configure:function(){var a,f,g,c=this.chart,e=m.parseUnsafeString,k=this.config,n=this.JSONData,p=c.areaAlpha,q=c.jsonData.chart,w=c.components.colorManager;a=l(n.showplotborder,q.showplotborder||1);var t=w.getPlotColor(this.index),r=k.lineDashed=l(n.linedashed,n.dashed,q.linedashed,0);f=this.isLineSet;
k.plotColor=t;g=l(c.defaultPlotShadow,w.getColor("showShadow"));k.xAxisLabelMode=d(q.xaxislabelmode,"categories");k.toolTipSepChar=d(q.tooltipsepchar,", ");k.parentYAxis=f?1:"s"===d(n.parentyaxis&&n.parentyaxis.toLowerCase(),"p")?1:0;k.connectNullData=l(q.connectnulldata,0);k.includeInLegend=l(n.includeinlegend,1);k.enableAnimation=f=l(q.animation,q.defaultanimation,1);k.animation=f?{duration:1E3*l(q.animationduration,1)}:!1;k.transposeanimation=l(q.transposeanimation,f);k.transposeanimduration=1E3*
l(q.transposeanimduration,.2);k.showValues=l(n.showvalues,q.showvalues);k.valuePadding=l(q.valuepadding,2);k.valuePosition=d(n.valueposition,q.valueposition,"auto");k.showTooltip=l(q.showtooltip,1);k.seriesNameInTooltip=l(q.seriesnameintooltip,1);k.showRegressionLine=l(n.showregressionline,q.showregressionline,0);k.plotFillColor=d(n.color,q.plotfillcolor,t);k.plotFillAngle=d(q.plotfillangle,270);k.plotFillAlpha=d(n.alpha,q.plotfillalpha,p,"70");p=l(q.useplotgradientcolor,1);k.plotGradientColor=0!==
p?m.getDefinedColor(q.plotgradientcolor,w.getColor("plotGradientColor")):"";k.fillColor={color:k.plotFillColor+(k.plotGradientColor?","+k.plotGradientColor:J),alpha:k.plotFillAlpha,angle:k.plotFillAngle};k.plotBorderAlpha=a?d(n.plotborderalpha,q.plotborderalpha,n.alpha,"95"):0;k.plotBorderColor=d(n.plotbordercolor,q.plotbordercolor,q.areabordercolor,"666666");k.dashed=a=l(n.dashed,q.plotborderdashed);k.plotBorderDashLen=d(n.plotborderdashlen,q.plotborderdashlen,5);k.plotBorderDashGap=d(n.plotborderdashgap,
q.plotborderdashgap,4);k.plotBorderThickness=l(n.plotborderthickness,q.plotborderthickness,1);k.plotBorderDashStyle=a?m.getDashStyle(k.plotBorderDashLen,k.plotBorderDashGap,k.plotBorderThickness):"none";k.showHoverEffect=l(q.plothovereffect,q.anchorhovereffect,q.showhovereffect,void 0);k.rotateValues=l(q.rotatevalues)?270:0;k.drawLine=l(n.drawline,q.drawlines,0);k.lineThickness=l(n.linethickness,q.linethickness,2);k.lineDashLen=l(n.linedashlen,q.linedashlen,5);k.lineDashGap=l(n.linedashgap,q.linedashgap,
4);k.lineAlpha=l(n.linealpha,q.linealpha,n.alpha,ba);k.lineColor=d(n.linecolor,q.linecolor,n.color,k.plotColor);k.lineDashStyle=m.getDashStyle(k.lineDashLen,k.lineDashGap,k.lineThickness);k.lineDashStyle=r?k.lineDashStyle:"none";k.shadow={opacity:l(q.showshadow,g)?k.lineAlpha/100:0};k.drawAnchors=l(n.drawanchors,n.showanchors,q.drawanchors,q.showanchors);k.anchorBgColor=Oa(d(n.anchorbgcolor,q.anchorbgcolor,w.getColor("anchorBgColor")));k.anchorBorderColor=Oa(d(n.anchorbordercolor,n.color,q.anchorbordercolor,
k.lineColor));k.anchorRadius=l(n.anchorradius,q.anchorradius,3);k.anchorAlpha=d(n.anchoralpha,n.alpha,q.anchoralpha,ba);k.anchorBgAlpha=d(n.anchorbgalpha,n.alpha,q.anchorbgalpha,ba);k.anchorBorderThickness=d(n.anchorborderthickness,q.anchorborderthickness,1);k.anchorSides=l(n.anchorsides,q.anchorsides,this.index+3);k.anchorImageUrl=d(n.anchorimageurl,q.anchorimageurl);k.anchorImageAlpha=l(n.anchorimagealpha,q.anchorimagealpha,100);k.anchorImageScale=l(n.anchorimagescale,q.anchorimagescale,100);k.anchorImagePadding=
l(n.anchorimagepadding,q.anchorimagepadding,1);k.anchorStartAngle=l(n.anchorstartangle,q.anchorstartangle,90);k.anchorShadow=l(n.anchorshadow,q.anchorshadow,0);k.plotToolText=m.getValidValue(e(d(n.plottooltext,q.plottooltext)));k.showRegressionLine&&(k.regressionObj={isRegression:!0,sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},k.showYOnX=l(n.showyonx,q.showyonx,1),k.regressionLineColor=Oa(d(n.regressionlinecolor,q.regressionlinecolor,k.anchorBorderColor)),k.regressionLineThickness=
l(n.regressionlinethickness,q.regressionlinethickness,k.anchorBorderThickness),k.regressionLineAlpha=$(l(n.regressionlinealpha,q.regressionlinealpha,k.anchorAlpha)),k.regLineColor=T(k.regressionLineColor,k.regressionLineAlpha));k.seriesNameInTooltip&&(k.seriesname=m.getFirstValue(n&&n.seriesname));this.visible=1===l(n.visible,!Number(n.initiallyhidden),1);this._setConfigure();!1!==c.hasLegend&&this._addLegend()},_setConfigure:function(){var a,f,g,c,e,k,n,p,q,w=-Infinity,t=Infinity,r=Infinity,E=-Infinity,
z=this.components.data||(this.components.data=[]);a=this.chart;var F=m.parseUnsafeString,s=this.config,v=this.JSONData,A=a.jsonData.chart,B=v.data||[],h=B.length,D=a.components.numberFormatter,C=F(A.yaxisname),H=F(A.xaxisname),G=s.lineDashed,I=s.lineDashStyle,P=s.parentYAxis,M=s.toolTipSepChar,Q=s.seriesname;for(a=0;a<h;a+=1)c=B[a],g=z[a]||(z[a]={}),f=g.config||(g.config={}),f.setValue=e={x:D.getCleanValue(c.x),y:D.getCleanValue(c.y)},null!==e.x&&null!==e.y&&(E=na(E,e.x),r=Fa(r,e.x),w=na(w,e.y),t=
Fa(t,e.y)),s.showRegressionLine&&this.pointValueWatcher(e.x,e.y,s.regressionObj),f.setLink=d(c.link),f.anchorProps=this._parseAnchorProperties(a),f.showValue=l(c.showvalue,s.showValues),f.dashed=l(c.dashed,G),f.color=d(c.color,s.lineColor),f.alpha=d(c.alpha,s.lineAlpha),f.dashStyle=f.dashed?I:"none",f.toolTipValue=k=D.dataLabels(e.y,P),f.setDisplayValue=q=F(c.displayvalue),p=f.formatedVal=d(c.toolTipValue,D.dataLabels(e.y,P)),n=D.xAxis(e.x),f.displayValue=d(q,k),f.setTooltext=m.getValidValue(F(d(c.tooltext,
s.plotToolText))),s.showTooltip?void 0!==f.setTooltext?(e=[4,5,6,7,8,9,10,11],n={yaxisName:C,xaxisName:H,yDataValue:p,xDataValue:n},c=Z(f.setTooltext,e,n,c,A,v)):null===p?c=!1:(c=Q?Q+M:J,c+=e.x?n+M:J,c+=k):c=!1,f.toolText=c,g?g.graphics||(z[a].graphics={}):g=z[a]={graphics:{}},f.hoverEffects=this._parseHoverEffectOptions(g),f.anchorProps.isAnchorHoverRadius=f.hoverEffects.anchorRadius;s.xMax=E;s.xMin=r;s.yMin=t;s.yMax=w;s.showRegressionLine&&(s.regressionData=this.getRegressionLineSeries(s.regressionObj,
s.showYOnX,h));this.ErrorValueConfigure&&this.ErrorValueConfigure()},sortFN:function(a,f){return a-f},getRegressionLineSeries:function(a,f,g){var c,d,e,k;k=a.sumXY;var l=a.sumX,m=a.sumY;d=a.xValues;e=a.sumXsqure;c=a.yValues;a=a.sumYsqure;f?(d.sort(this.sortFN),c=d[0],d=d[d.length-1],k=(g*k-l*m)/(g*e-Ia(l,2)),e=!isNaN(k)&&isFinite(k)?k*(c-l/g)+m/g:m/g,g=!isNaN(k)&&isFinite(k)?k*(d-l/g)+m/g:m/g,g=[{x:c,y:e},{x:d,y:g}]):(c.sort(this.sortFN),e=c[0],c=c[c.length-1],k=(g*k-l*m)/(g*a-Ia(m,2)),d=isNaN(k)?
l/g:k*(e-m/g)+l/g,g=isNaN(k)?l/g:k*(c-m/g)+l/g,g=[{x:d,y:e},{x:g,y:c}]);return g},draw:function(){var b,f,g,c,e,k,l,n,p,q,w,r,E,z,B,s=this.JSONData,v=this.chart,A=v.components,D=this.components.removeDataArr,D=D&&D.length,h=v.jsonData.chart,C=this.config,H=this.index,G=s.data||[],J=v.config,I=A.paper,P=A.xAxis[0],A=A.yAxis[0],M=m.parseUnsafeString,Q=m.getValidValue,T=this.components.data,R=T.length;z={};var V={},$=C.lineThickness,V=v.graphics;c=V.datalabelsGroup;var X=this.graphics.container,U=this.graphics.trackerContainer;
w=V.trackerGroup;var ba=this.pool||(this.pool={}),Z=C.connectNullData,fa=C.showTooltip;e=V.datasetGroup;var ca=C.shadow,ea=this.graphics.dataLabelContainer;g={};var ma=[na(0,J.canvasLeft),na(0,J.canvasTop),na(1,J.canvasWidth),na(1,J.canvasHeight)],J=[na(0,J.canvasLeft),na(0,J.canvasTop),1,na(1,J.canvasHeight)],ia=C.lineDashStyle,ga={color:C.lineColor,alpha:C.lineAlpha},da=[],la=[],ka=null,sa=[],oa=!1,ha=this.graphics.lineElement;g=this.graphics.regressionLineElement;var ra=this.visible,qa=v.get("config",
"animationObj"),ua=qa.duration||0,wa=qa.dummyObj,Ba=qa.animObj,qa=qa.animType,Ca;p=!1;e.line=e.line||I.group("line",e);e.lineConnector=e.lineConnector||I.group("line-connector",e);X||(X=this.graphics.container={lineShadowGroup:I.group("connector-shadow",e.lineConnector),anchorShadowGroup:I.group("anchor-shadow",e.lineConnector),lineGroup:I.group("connector",e.lineConnector),anchorGroup:I.group("anchors",e.lineConnector)});U||(U=this.graphics.trackerContainer=I.group("line-hot"));T||(T=this.components.data=
[]);w&&w.appendChild(U);ea||(ea=this.graphics.dataLabelContainer=I.group("datalabel",c).attr("class","fusioncharts-datalabels"));C.showRegressionLine&&ra?(c=C.regressionData[0],w=C.regressionData[1],g?g.attr({path:"M "+P.getAxisPosition(c.x)+","+A.getAxisPosition(c.y)+" L "+P.getAxisPosition(w.x)+","+A.getAxisPosition(w.y)}).show():g=this.graphics.regressionLineElement=I.path("M "+P.getAxisPosition(c.x)+","+A.getAxisPosition(c.y)+" L "+P.getAxisPosition(w.x)+","+A.getAxisPosition(w.y),X.lineGroup).attr({stroke:F({color:C.regressionLineColor,
alpha:C.regressionLineAlpha}),"stroke-width":C.regressionLineThickness})):g&&g.hide();for(c=0;c<R;c+=1)if(g=G[c],w=T[c],E=w.config,V=w.graphics,p=E.setValue,n=E.setLink,Q(M(d(g.tooltext,s.plottooltext,h.plottooltext))),g=E.anchorProps,z=g.symbol,r=g.shadow,q=E.displayValue,w||(w=T[c]={graphics:{}}),f=p.y,b=p.x,e=E.toolText,null!==f&&null!==b){E=E.hoverEffects;b=P.getAxisPosition(b);f=A.getAxisPosition(f);q={index:c,link:n,value:p,displayValue:q,toolText:e,id:C.userID,datasetIndex:H||0,datasetName:s.seriesname,
visible:ra};p=!1;g.imageUrl?(r=new a,ra||V.image&&V.image.animateWith(wa,Ba,{opacity:0},ua,qa),r.onload=this._onAnchorImageLoad(this,c,q,b,f),r.onerror=this._onErrorSetter(b,f,c,this),r.src=g.imageUrl):(k=V.element,(Ca=V.image)&&Ca.hide(),k||(ba.element&&ba.element.length?k=V.element=ba.element.shift():(k=V.element=I.polypath(X.anchorGroup),p=!0),oa=!0,ua&&oa&&k.attr({polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],opacity:0,"fill-opacity":0,"stroke-opacity":0})),k.attr({fill:F({color:g.bgColor,alpha:g.bgAlpha}),
stroke:F({color:g.borderColor,alpha:g.borderAlpha}),"stroke-width":g.borderThickness,cursor:n?"pointer":"",visibility:g.radius?ra:"hidden"}).shadow(r,X.anchorShadowGroup).animateWith(wa,Ba,{polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],opacity:ra?g.bgAlpha/100:0,"fill-opacity":ra?g.bgAlpha/100:0,"stroke-opacity":ra?g.borderAlpha/100:0},ua,qa));E.enabled&&(V={polypath:[E.anchorSides||2,b,f,E.anchorRadius,E.startAngle,E.dip],fill:F({color:E.anchorColor,alpha:E.anchorBgAlpha}),stroke:F({color:E.anchorBorderColor,
alpha:E.anchorBorderAlpha}),"stroke-width":E.anchorBorderThickness},z={polypath:[z[1]||2,b,f,g.radius,g.startAngle,0],fill:F({color:g.bgColor,alpha:g.bgAlpha}),stroke:F({color:g.borderColor,alpha:g.borderAlpha}),"stroke-width":g.borderThickness},k&&k.data("anchorRadius",g.radius).data("anchorHoverRadius",E.anchorRadius).data("setRolloverAttr",V).data("setRolloutAttr",z));if(n||fa||E)l=na(g.radius,E.anchorRadius||0),n={cx:b,cy:f,r:l,cursor:n?"pointer":"",stroke:t,"stroke-width":g.borderThickness,fill:t,
ishot:!0,visibility:ra},l=w.graphics.hotElement,w.graphics.hotElement||(l=w.graphics.hotElement=I.circle(U),p=!0),l.attr(n);(l||k).data("eventArgs",q).data("groupId",void 0).tooltip(e).data("hoverEnabled",E.enabled).data("dataset",this);p&&(l||k).click(this.getPlotClickFn(v)).hover(this.rolloverResponseSetter(w,v),this.rolloutResponseSetter(w,v));g.isAnchorHoverRadius=E.anchorRadius;null!==ka?(sa.length&&(da=da.concat(sa),sa.length=0),da.join("")||da.push("M",B,ka),da.push("L",b,f)):sa.push("M",b,
f);B=b;ka=f;w._xPos=b;w._yPos=f;!g.imageUrl&&this.drawLabel(c)}else sa.length=0,Z||(ka=null);da.length&&(la=la.concat(da));C.drawLine&&la.join("")?(ha||(ha=this.graphics.lineElement=I.path({path:la},X.lineGroup),oa=!0),ra&&ha.attr({"stroke-dasharray":ia,"stroke-width":$,stroke:F(ga),"stroke-linecap":"round","stroke-linejoin":2<=$?"round":"miter"}),ra?ha.animateWith(wa,Ba,{path:la,"stroke-opacity":1},ua,qa,function(){this.shadow(ca,X.lineShadowGroup)}):ha.animateWith(wa,Ba,{path:la,"stroke-opacity":0},
oa?0:ua,qa).shadow(!1)):ha&&ha.animateWith(wa,Ba,{"stroke-opacity":0},ua,qa).shadow(!1);X.lineShadowGroup.hide();X.anchorShadowGroup.hide();ea.hide();oa&&X.lineGroup.attr({"clip-rect":J});X.lineGroup.animateWith(wa,Ba,{"clip-rect":ma},ua,qa,function(){X.lineGroup.attr({"clip-rect":null});ra?(X.lineShadowGroup.show(),X.anchorShadowGroup.show(),X.anchorGroup.show(),U.show(),ea&&ea.show()):(X.lineShadowGroup.hide(),X.anchorShadowGroup.hide(),X.anchorGroup.hide(),U.hide(),ea&&ea.hide())});D&&this.remove();
this.drawErrorValue&&this.drawErrorValue()},getDataLimits:function(){var a=this.config,f=a.yMax,c=a.yMin,d=a.xMax,a=a.xMin,e=this.chart.config.transposeAxis;!1===this.visible&&e&&(f=-Infinity,c=Infinity,d=-Infinity,a=Infinity);return{max:f,min:c,xMax:d,xMin:a}},getAxisValuePadding:function(){return{left:0,right:0}},_addLegend:function(){var a,f=this.config,c=this.chart.components.legend,e=l(f.drawAnchors,1);a=this.getPointColor(f.anchorBgColor,ba);var k={FCcolor:{color:f.anchorBorderColor,alpha:f.anchorAlpha}};
c.config.symbol3DLighting?a&&a.FCcolor?(a=p({},a),a.FCcolor.alpha="100"):a=d(a):a={FCcolor:{color:d(a&&(a.FCcolor&&a.FCcolor.color.split(",")[0]||a)),angle:0,ratio:"0",alpha:"100"}};this.legendItemId=c.addItems(this,this.legendInteractivity,{enabled:f.includeInLegend,type:this.type,drawLine:d(f.drawLine,!0),fillColor:F(a),strokeColor:F(d(k&&(k.FCcolor&&k.FCcolor.color.split(",")[0]||k))),rawFillColor:f.anchorBgColor,rawStrokeColor:f.anchorBorderColor,anchorSide:e?f.anchorSides:0,strokeWidth:f.anchorBorderThickness,
label:da(this.JSONData.seriesname)})},getPointColor:function(a,f){var c,d;a=Oa(a);f=$(f);c=Pa(a,70);d=P(a,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:c+","+d,alpha:f+","+f,ratio:G,radialGradient:!0}}}},"Line"]);FusionCharts.register("component",["dataset","Pareto",{configure:function(){var a=this.chart,f=this.config,c=a.components,e=c.xAxis[0],k=this.JSONData,n=k.data,q=n&&n.length,w=a.jsonData.chart,t=c.colorManager,r,z=t.getPlotColor(this.index||this.positionIndex),
B=l(k.dashed,w.plotborderdashed),E=l(w.useplotgradientcolor,1),D=l(w.showtooltip,1),C=m.parseUnsafeString,s=C(w.yaxisname),v=C(w.xaxisname),A=m.parseTooltext,H,h,G,J,I,P,M,Q,R,V,X,$,U,Z,fa,ca=m.getDashStyle,ea=this.components.data,c=c.numberFormatter,ia,da=a.is3D,ya,Aa,ma,la,oa,ha,va,ka,sa=-Infinity,qa=Infinity,ua=this.type.toLowerCase(),wa,Ca,Da=0,Ha=[],Ba=0,Ja,za=f.tootipSepChar=d(w.tooltipsepchar,", ");f.enableAnimation=M=l(w.animation,w.defaultanimation,1);f.animation=M?{duration:1E3*l(w.animationduration,
1)}:!1;f.showTooltip=l(w.showtooltip,1);f.valuePadding=l(w.valuepadding,2);f.rotateValues=l(w.rotatevalues)?270:0;f.showHoverEffect=M=l(w.plothovereffect,w.showhovereffect,void 0);f.showShadow=P||da?l(w.showshadow,1):l(w.showshadow,t.getColor("showShadow"));f.useDataPlotColorForLabels=Ja=l(w.usedataplotcolorforlabels,0);f.use3dlineshift=l(w.use3dlineshift,a.use3dlineshift);/column/.test(ua)&&(r=f.showPlotBorder=l(w.showplotborder,da?0:1),f.plotDashLen=G=l(w.plotborderdashlen,5),f.plotDashGap=J=l(w.plotborderdashgap,
4),f.plotfillAngle=Q=l(360-w.plotfillangle,90),f.plotFillAlpha=R=d(w.plotfillalpha,ba),f.plotColor=z,f.isRoundEdges=P=l(w.useroundedges,0),f.plotRadius=l(w.useRoundEdges,f.isRoundEdges?1:0),f.plotFillRatio=V=d(w.plotfillratio),f.plotgradientcolor=X=m.getDefinedColor(w.plotgradientcolor,t.getColor("plotGradientColor")),!E&&(X=""),f.plotBorderAlpha=$=r&&!da?d(w.plotborderalpha,R,ba):0,f.plotBorderColor=U=d(w.plotbordercolor,da?"#ffffff":t.getColor("plotBorderColor")),f.plotBorderThickness=I=l(w.plotborderthickness,
1),f.plotBorderDashStyle=Z=B?ca(G,J,I):"none",f.showValues=l(w.showvalues,1),f.definedGroupPadding=na(l(w.plotspacepercent),0),f.plotSpacePercent=na(l(w.plotspacepercent,20)%100,0),f.maxColWidth=l(w.maxcolwidth,50),f.plotPaddingPercent=l(w.plotpaddingpercent),f.placeValuesInside=l(w.placevaluesinside,0),f.use3DLighting=l(w.use3dlighting,1),f.parentYAxis=0);"line"===ua&&(f.lineColor=Oa(d(w.linecolor,t.getColor("plotBorderColor"))),f.lineThickness=l(w.linethickness,2),f.lineAlpha=d(w.linealpha,ba),
f.lineDashed=l(w.linedashed,0),f.lineDashLen=l(k.linedashlen,w.linedashlen,5),f.lineDashGap=l(k.linedashgap,w.linedashgap,4),B=m.getDashStyle(f.lineDashLen,f.lineDashGap,f.lineThickness),f.lineDashStyle=f.lineDashed?B:"none",f.drawAnchors=l(w.drawanchors,w.showanchors),f.anchorBgColor=d(w.anchorbgcolor,t.getColor("anchorBgColor")),f.anchorBorderColor=d(w.anchorbordercolor,f.lineColor),f.anchorRadius=l(w.anchorradius,3),f.anchorAlpha=d(w.anchoralpha),f.anchorBgAlpha=d(w.anchorbgalpha,100),f.anchorBorderThickness=
d(w.anchorborderthickness,1),f.anchorSides=d(w.anchorsides,0),f.anchorImageUrl=d(w.anchorimageurl),f.anchorImageAlpha=l(w.anchorimagealpha,100),f.anchorImageScale=l(w.anchorimagescale,100),f.anchorImagePadding=l(w.anchorimagepadding,1),f.anchorStartAngle=l(w.anchorstartangle,90),f.parentYAxis=1,f.valuePosition=d(w.valueposition,"auto"),f.showValues=l(w.showlinevalues,w.showvalues,1),f.showShadow&&(f.shadow={opacity:f.lineAlpha/100}),f.showCumulativeLine=l(w.showcumulativeline,1));ea||(ea=this.components.data=
[]);for(B=0;B<q;B++)E=ra(c.getCleanValue(n[B].value)),Da+=E,Ha[B]=p({},n[B]),Ha[B].value=E;Ha.sort(function(a,b){return b.value-a.value});for(B=0;B<q;B++)E=Ha[B],(z=ea[B])||(z=ea[B]={graphics:{}}),z.config||(n=ea[B].config={}),a=ra(c.getCleanValue(E.value)),null!==a&&(n=z&&z.config,ia=e.getLabel(B),n.label=ga(C(d(ia.label))),n.showValue=l(E.showvalue,f.showValues),n.setValue=a,n.setLink=d(E.link),n.setDisplayValue=ia=C(E.displayvalue),Ba+=n.setValue,wa=c.dataLabels(a),/column/.test(ua)?(z=l(E.dashed),
H=l(E.dashlen,G),fa=J=l(E.dashgap,J),n.plotBorderDashStyle=H=1===z?ca(H,fa,I):0===z?"none":Z,z=t.getPlotColor(B),z=d(E.color,z),V=d(E.ratio,f.plotFillRatio),R=d(E.alpha,f.plotFillAlpha),$=d(R,f.plotBorderAlpha),0>a&&!P&&(h=Q,Q=360-Q),n.colorArr=fa=m.graphics.getColumnColor(z+","+X,R,V,Q,P,U,$.toString(),0,da?!0:!1),0!==M&&(ya=d(E.hovercolor,w.plotfillhovercolor,w.columnhovercolor,z),Aa=d(E.hoveralpha,w.plotfillhoveralpha,w.columnhoveralpha,R),ma=d(E.hovergradientcolor,w.plothovergradientcolor,X),
!ma&&(ma=""),V=d(E.hoverratio,w.plothoverratio,V),la=l(360-E.hoverangle,360-k.hoverangle,360-w.plothoverangle,Q),oa=d(E.borderhovercolor,w.plotborderhovercolor,U),$=d(E.borderhoveralpha,k.borderhoveralpha,w.plotborderhoveralpha,w.plotfillhoveralpha,$,R),R=l(E.borderhoverthickness,k.borderhoverthickness,w.plotborderhoverthickness,I),ha=l(E.borderhoverdashed,w.plotborderhoverdashed),va=l(E.borderhoverdashgap,w.plotborderhoverdashgap,G),ka=l(E.borderhoverdashlen,w.plotborderhoverdashlen,J),ha=ha?ca(ka,
va,R):H,1==M&&ya===z&&(ya=Pa(ya,70)),ya=m.graphics.getColumnColor(ya+","+ma,Aa,V,la,P,oa,$.toString(),0,da?!0:!1),n.setRolloutAttr={fill:da?[F(fa[0]),!f.use3DLighting]:F(fa[0]),stroke:r&&F(fa[1]),"stroke-width":I,"stroke-dasharray":H},n.setRolloverAttr={fill:da?[F(ya[0]),!f.use3DLighting]:F(ya[0]),stroke:r&&F(ya[1]),"stroke-width":R,"stroke-dasharray":ha}),Ja&&e.updateCategory(B,{labelfontcolor:T(z)}),n.displayValue=d(ia,wa),H=n.setTooltext=n.origToolText=ga(C(d(E.tooltext,w.plottooltext))),n.toolTipValue=
c.dataLabels(a,f.parentYAxis)):(a=n.setValue=Ba/Da*100,Ca=c.percentValue(a),n.toolTipValue=Ca,n.displayValue=Ca,n.valuePosition=d(E.valueposition,f.valuePosition),n.anchorProps=this._parseAnchorProperties(B,Ha),n.hoverEffects=this._parseHoverEffectOptions(z)),z=n.toolTipValue,sa=na(sa,a),qa=Fa(qa,a),D?(f.showTooltip?void 0!==H?(z={formattedValue:z,label:n.label,yaxisName:s,xaxisName:v,cumulativeValue:Ba,cumulativeDataValue:c.dataLabels(Ba),cumulativePercentValue:Ca,sum:c.dataLabels(Da),unformattedSum:Da},
a=[1,2,3,5,6,7,20,21,22,23,24,25],E=A(H,a,z,E,w)):E=n.label?n.label+za:"":E=!1,n.toolText=E):E=!1,n.toolText=E,n.tooltext=H,n.setTooltext=E,h&&(Q=h));f.maxValue=sa;f.minValue=qa},init:function(a,f,c){var d=a.chart.components;a.JSONData={data:f};a.type=c;a.yAxis="line"===c?d.yAxis[1]:d.yAxis[0];a.components={};a.graphics={};a.visible=!0;this.configure.call(a)}}]);FusionCharts.register("component",["datasetGroup","MSSplineArea",{},"area"]);FusionCharts.register("component",["dataset","MSSplineArea",
{configure:function(){FusionCharts.get("component",["dataset","area"]).prototype.configure.call(this);this._calculateMaxMin()},_calculateMaxMin:function(){var a=this.config,f=this.chart,c=f.origRenderWidth,d=a.connectNullData,e=this.components.data,k=Number.MIN_VALUE,l=Number.MAX_VALUE;0===a.minimizeTendency&&(f=f.getSplineExtremities(e,c,d),a.maxValue=na(a.maxValue,f.max),a.minValue=Fa(a.minValue,f.min),a.maxValue===k&&(a.maxValue=0),a.minValue===l&&(a.minValue=0))},getSplinePath:function(a,f,c,
d){var e=function(a,b,f,c){b=(c-b)/Na((f-a)*(f-a)+(c-b)*(c-b));b=ra(.5*b);return a*b+f*(1-b)},k=function(a,b,f,c){var d=a.length,g=a[d-1],h=g.length,e=g[0],g=g[h-2];3>h||("R"!==e&&"C"!==e||3!==h||(a[d-1][0]="L"),b&&a.push(["L",g,c,f,c,"Z"]))},l=/area/ig.test(this.defaultDatasetType),m=[null],n=[],p=[],q=f.getAxisBase();f=f.getAxisPosition(q);var w,t,r,z,s,v,A,F,h,B,D,C,H,G,J,I;J=0;for(I=a.length;J<I;J+=1)if(h=a[J],r=a[J-1]||{},z=a[J+1]||{},s=h.x,q=h.y,w=r.x,r=r.y,v=z.x,z=z.y,A=h.lastYPos,F=h.lastXPos,
D=n.length,h=p.length,d)if(null!==A)if(t=H,J===a.length-1){A=m[J-C-1];h=v=(s+w)/2;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,(q+r)/2,s,q);n.push(H);p.push(H);l&&k(n,!0,G,f);l&&k(p,!1)}else{A=m[J-C-1];if(r>q&&z>=q||r<q&&z<=q)if(B=0,v=e(w,r,s,q),z=q,1!==J-C){h=v;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,z,s,q)}else H.push((s+w)/2,(q+r)/2,v,z,s,q);else if(r===q)B=0,H.push(w,r,s,q,s,q);else if(r>q&&q>z||r<q&&q<z){B=(z-r)/(v-w);v=e(w,r,s,q);z=(v-s)*B+q;if(r>q&&
z>r||r<q&&z<r)z=r,v=(z-q)/B+s;if(1!==J-C){h=v;D=(h-w)*A+r;if(r>q&&D<q||r<q&&D>q)D=q,h=(D-r)/A+w;H.push(h,D,v,z,s,q)}else H.push((s+w)/2,(q+r)/2,v,z,s,q)}m.push(B)}else null===A&&0!==J?(t||(t=[]),"C"===t[0]&&(n.push(H),p.push(H),l&&k(n,!0,G,f),l&&k(p,!1)),n.push(["M",s,q]),p.push(["M",s,q]),G=s,H=["C"],C=J,m=[null]):(n.push(["M",s,q]),p.push(["M",s,q]),G=s,H=["C"],C=J);else null!==A?2<=D?("M"===n[D-1][0]&&n.push(["R"]),"M"===p[h-1][0]&&p.push(["R"]),D=n.length,h=p.length,t=n[D-1],w=t.length,n[D-1].push(s),
n[D-1].push(q),p[h-1].push(s),p[h-1].push(q),J===c-1&&"R"===t[0]&&(k(n,!0,G,f),k(p,!1))):(n.push(["M",F,A]),n.push(["R",s,q]),p.push(["M",F,A]),p.push(["R",s,q]),G=F):null===A&&2<=D&&(t=n[D-1],"R"===t[0]&&(k(n,!0,G,f),k(p,!1)),n.push(["M",s,q]),p.push(["M",s,q]),G=s);t=n[n.length-1];l&&t&&(w=t.length,"Z"===t[w-1]||"R"!==t[0]&&"C"!==t[0]||(k(n,!0,G,f),k(p,!1)));l||(n=d?n:p,2<=n.length&&k(n,!1));return{closedPath:n,openPath:p}},draw:function(){var b=this,f=b.config,c=b.chart,d=b.JSONData,e=c.components,
k=e.canvas.config,l=b.index,m,n,p,q=e.paper,e=e.xAxis[0],w=b.yAxis,r,z,B,s,v=null,A=[],D=[],h=c.graphics,C=f.showTooltip,H,G=b.components.data,J,I,P,M,Q=f.connectNullData,T,R,V=c.config.style,$={fontFamily:V.fontFamily,fontSize:V.fontSize,lineHeight:V.lineHeight,fontWeight:V.fontWeight,fontStyle:V.fontStyle,color:V.color},V=f.minimizeTendency,U=w.getAxisBase(),fa,ba=f.plotBorderColor,Z=f.plotBorderAlpha,ca=f.plotBorderDashStyle,ea=f.plotBorderThickness,ia=b.graphics.container,ma=b.graphics.trackerContainer,
da=[],ga,la=f.fillColor,ha=h.areaGroup,ka=c.get("config","animationObj"),oa=ka.duration,ra=ka.animType,qa=b.components.removeDataArr||[],ua=qa.length,wa=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(ia.areaGroup.hide(),za.hide(),ia.lineShadowGroup.hide(),ia.anchorShadowGroup.hide(),ia.anchorGroup.hide(),ma.hide(),Ha&&Ha.hide(),b._conatinerHidden=!0)},Ca=function(){ha.area.attr({"clip-rect":null});ha.area.node&&ha.area.node.removeAttribute("clip-path");!1!==b.visible&&
(ia.lineShadowGroup.show(),ia.anchorShadowGroup.show(),ia.anchorGroup.show(),Ha.show(),za.show());c._animCallBack()},Da=f.shadow,Ba,Fa=b.visible;m=h.trackerGroup;var za=ia&&ia.shadowContainer,da={},da=h.datalabelsGroup,Ha=b.graphics.dataLabelContainer,Ja,h=k.clip["clip-canvas"].slice(0),k=k.clip["clip-canvas-init"].slice(0),f=!f.drawFullAreaBorder,Ia=!0,Na=b.components.pool||[],Ea=ka.dummyObj,Oa,ka=ka.animObj,Pa=b.graphics.connector,Ta;ia||(ia=b.graphics.container={lineShadowGroup:q.group("connector-shadow",
ha.areaConnector),anchorShadowGroup:q.group("anchor-shadow",ha.areaConnector),areaGroup:q.group("area",ha.area),anchorGroup:q.group("anchors",ha.areaConnector)},Fa||(ia.lineShadowGroup.hide(),ia.anchorShadowGroup.hide(),ia.areaGroup.hide(),ia.anchorGroup.hide()));za||(za=b.graphics.shadowContainer=q.group("shadows",ha.shadows),Fa||za.hide());ma||(ma=b.graphics.trackerContainer=q.group("area-hot",m),Fa||ma.hide());G||(G=b.components.data);Ha||(Ha=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||
q.group("datalabel",da),Fa||Ha.hide());Fa&&(ia.lineShadowGroup.show(),ia.anchorShadowGroup.show(),ia.areaGroup.show(),ia.anchorGroup.show(),Ha.show(),za.show(),ma.show());c._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",$);m=e.getCategoryLen();$=b.graphics.splineElement;for(p=0;p<m;p++)if(J=G[p])H=J&&J.config,Ja=H.showValue,M=H.setValue,n=H.setLink,da=H.anchorProps,ga=da.shadow,r=H.setLevelTooltext,H&&(fa=0<=M?H.previousPositiveY:H.previousNegativeY),I=J.graphics.element,P=J.graphics.hotElement,
Oa=J.graphics.label,Ta=J.graphics.image,null===M?(I&&I.hide(),P&&P.hide(),Ta&&Ta.hide(),Q||(v=null)):(w.getAxisPosition(fa||U),B=w.getAxisPosition(M+(fa||0)),z=e.getAxisPosition(p),!1===Fa&&oa&&(B=w.getPixel(w.getAxisBase())),Ba=H.hoverEffects,r=C?H.toolText+(r?"":H.toolTipValue):"",M={index:p,link:n,value:M,displayValue:H.displayValue,categoryLabel:e.getLabel(p).label,toolText:r,id:b.userID,datasetIndex:l||0,datasetName:d.seriesname,visible:Fa},Ba.enabled&&(H.setRolloverAttr={polypath:[Ba.anchorSides||
2,z,B,Ba.anchorRadius,Ba.startAngle,Ba.dip],fill:F({color:Ba.anchorColor,alpha:Ba.anchorBgAlpha}),stroke:F({color:Ba.anchorBorderColor,alpha:Ba.anchorBorderAlpha}),"stroke-width":Ba.anchorBorderThickness},H.setRolloutAttr={polypath:[da.symbol[1]||2,z,B,da.radius,da.startAngle,0],fill:F({color:da.bgColor,alpha:da.bgAlpha}),stroke:F({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness},R=H.setRolloverAttr,T=H.setRolloutAttr),H=[da.symbol[1]||2,z,B,da.radius,da.startAngle,0],
da.imageUrl?(I=new a,I.onload=b._onAnchorImageLoad(b,p,M,z,B),I.onerror=b._onErrorSetter(z,B,p,b),I.src=da.imageUrl):(Ta&&Ta.hide(),I||(Na.element&&Na.element.length?I=J.graphics.element=Na.element.shift():(I=J.graphics.element=q.polypath(ia.anchorGroup),I.attr({polypath:H}))),Ta&&Ta.hide(),I.show().animateWith(Ea,ka,{polypath:H},oa,ra,Ia&&void 0).attr({fill:F({color:da.bgColor,alpha:da.bgAlpha}),stroke:F({color:da.borderColor,alpha:da.borderAlpha}),"stroke-width":da.borderThickness,visibility:da.radius?
Fa:"hidden"}).shadow(ga,ia.anchorShadowGroup).data("anchorRadius",da.radius).data("anchorHoverRadius",Ba.anchorRadius).data("setRolloverAttr",R).data("setRolloutAttr",T),Ba.enabled&&I&&I.data("anchorRadius",da.radius).data("anchorHoverRadius",Ba.anchorRadius).data("setRolloverAttr",R).data("setRolloutAttr",T),ga=na(da.radius,Ba&&Ba.anchorRadius||0,X),n={cx:z,cy:B,r:ga,cursor:n?"pointer":"",stroke:t,"stroke-width":da.borderThickness,fill:t,ishot:!0,visibility:"visible"},P?P.attr(n):P=J.graphics.hotElement=
q.circle(n,ma),(P||I).data("eventArgs",M).data("groupId",void 0).click(b.getPlotClickFn(c)).data("dataset",b).data("hoverEnabled",Ba.enabled).tooltip(r).hover(b.rolloverResponseSetter(J,c),b.rolloutResponseSetter(J,c))),J._xPos=z,J._yPos=B,D.push({x:z,y:B,lastXPos:s,lastYPos:v}),s=z,v=B),Ja&&!da.imageUrl&&this.drawLabel(p),Ja||Oa&&Oa.hide().attr({"text-bound":[]});da=this.getSplinePath.call(c,D,w,m,V).closedPath;da=da.join();$||($=b.graphics.splineElement=q.path(ia.areaGroup),$.attr({path:da}),oa&&
Fa&&(ia.anchorGroup.hide(),ia.anchorShadowGroup.hide(),Ha.hide(),za.hide(),ha.area.attr({"clip-rect":k}).animateWith(Ea,ka,{"clip-rect":h},oa,ra,Ca)));""===da?$.hide():$.show().animateWith(Ea,ka,{path:da},oa,ra,Ia&&wa);Ia=!1;$.attr({stroke:F({color:ba,alpha:Z}),"stroke-width":f?0:ea,fill:F(la),"stroke-linecap":"round","stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ca}).shadow(Da,za);f&&(Pa||(Pa=b.graphics.connector=q.path(ia.areaGroup)),Pa.animateWith(Ea,ka,{path:A},oa,ra),Pa.attr({stroke:F({color:ba,
alpha:Z}),"stroke-width":ea,"stroke-linecap":"round","stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ca}));for(p=0;p<ua;p++)b._removeDataVisuals(qa.shift())}},"area"]);FusionCharts.register("component",["dataset","MSSpline",{type:"spline",configure:function(){var a=FusionCharts.get("component",["dataset","line"]),f=FusionCharts.get("component",["dataset","MSSplineArea"]);a.prototype.configure.call(this);f.prototype._calculateMaxMin.call(this)},getSplinePath:function(a,f,c){var d=function(a,
b,f,c){b=(c-b)/Na((f-a)*(f-a)+(c-b)*(c-b));b=ra(.5*b);return a*b+f*(1-b)},e=function(a,b,f,c){var d=a.length,g=a[d-1],h=g.length,e=g[0],g=g[h-2];3>h||("R"!==e&&"C"!==e||3!==h||(a[d-1][0]="L"),b&&a.push(["L",g,c,f,c,"Z"]))},k=/area/ig.test(this.chart.defaultSeriesType);f=f.getAxisPosition(f.getAxisBase());var l=this.config.minimizeTendency,m=[null],n=[],p=[],q,w,t,r,z,s,v,A,B,h,F,D,C,H,G,J,I;J=0;for(I=a.length;J<I;J+=1)if(h=a[J],r=a[J-1]||{},z=a[J+1]||{},s=h.x,t=h.y,q=r.x,r=r.y,v=z.x,z=z.y,A=h.lastYPos,
B=h.lastXPos,D=n.length,h=p.length,l)if(null!==A)if(w=H,J===a.length-1){A=m[J-C-1];h=v=(s+q)/2;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,(t+r)/2,s,t);n.push(H);p.push(H);k&&e(n,!0,G,f);k&&e(p,!1)}else{A=m[J-C-1];if(r>t&&z>=t||r<t&&z<=t)if(F=0,v=d(q,r,s,t),z=t,1!==J-C){h=v;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,z,s,t)}else H.push((s+q)/2,(t+r)/2,v,z,s,t);else if(r===t)F=0,H.push(q,r,s,t,s,t);else if(r>t&&t>z||r<t&&t<z){F=(z-r)/(v-q);v=d(q,r,s,t);z=(v-s)*
F+t;if(r>t&&z>r||r<t&&z<r)z=r,v=(z-t)/F+s;if(1!==J-C){h=v;D=(h-q)*A+r;if(r>t&&D<t||r<t&&D>t)D=t,h=(D-r)/A+q;H.push(h,D,v,z,s,t)}else H.push((s+q)/2,(t+r)/2,v,z,s,t)}m.push(F)}else null===A&&0!==J?(w||(w=[]),"C"===w[0]&&(n.push(H),p.push(H),k&&e(n,!0,G,f),k&&e(p,!1)),n.push(["M",s,t]),p.push(["M",s,t]),G=s,H=["C"],C=J,m=[null]):(n.push(["M",s,t]),p.push(["M",s,t]),G=s,H=["C"],C=J);else null!==A?2<=D?("M"===n[D-1][0]&&n.push(["R"]),"M"===p[h-1][0]&&p.push(["R"]),D=n.length,h=p.length,w=n[D-1],q=w.length,
n[D-1].push(s),n[D-1].push(t),p[h-1].push(s),p[h-1].push(t),J===c-1&&"R"===w[0]&&(e(n,!0,G,f),e(p,!1))):(n.push(["M",B,A]),n.push(["R",s,t]),p.push(["M",B,A]),p.push(["R",s,t]),G=B):null===A&&2<=D&&(w=n[D-1],"R"===w[0]&&(e(n,!0,G,f),e(p,!1)),n.push(["M",s,t]),p.push(["M",s,t]),G=s);w=n[n.length-1];k&&w&&(q=w.length,"Z"===w[q-1]||"R"!==w[0]&&"C"!==w[0]||(e(n,!0,G,f),e(p,!1)));k||(n=l?n:p,2<=n.length&&e(n,!1));return{closedPath:n,openPath:p}},draw:function(){var b=this,f=b.JSONData,c=[],e=[],k=b.chart,
l=k.components,n=l.canvas.config,e=b.config,p=k.config,q=b.index||b.positionIndex,w=p.categories,r=l.paper,l=l.xAxis[0],z=b.yAxis,E,D,B=k.graphics;E=B.datalabelsGroup;var s=m.parseUnsafeString,v=m.getValidValue,A,H,h,C,G,J,I=b.components.data,P,M,p=p.style;D={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle,color:p.color};var p=e.lineThickness,Q=b.graphics.container,T=b.graphics.trackerContainer;P=B.trackerGroup;var R=e.connectNullData,
V=e.showTooltip,$=B.datasetGroup,U,B=e.shadow,fa=b.graphics.dataLabelContainer,ba={},Z,ca=k.get("config","animationObj"),ea=ca.duration,da=ca.animType,ia=b.components.removeDataArr||[],ma=ia.length,ga=b.components.pool||[],ha,la=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(Q.lineGroup.hide(),Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.anchorGroup.hide(),T.hide(),fa&&fa.hide())},oa=function(){$.lineConnector.attr({"clip-rect":null});$.lineConnector.node&&
$.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(Q.lineShadowGroup.show(),Q.anchorShadowGroup.show(),Q.anchorGroup.show(),T.show(),fa&&fa.show());k._animCallBack()},ka=b.config.animFlag=b.config.animFlag||(b.config.animFlag=!0),sa,ra=n.clip["clip-canvas"].slice(0),n=n.clip["clip-canvas-init"].slice(0),qa=null,ua,wa=!1,Ca=e.lineDashStyle,Fa={color:e.lineColor,alpha:e.lineAlpha},Ba,Ha,za,Da,Ja=ca.dummyObj,ca=ca.animObj,ba=b.graphics.SplineElement,Ia=b.visible;$.lineConnector=$.lineConnector||
r.group("line-connector",$);Q||(Q=b.graphics.container={lineShadowGroup:r.group("connector-shadow",$.lineConnector),anchorShadowGroup:r.group("anchor-shadow",$.lineConnector),lineGroup:r.group("spline",$.lineConnector),anchorGroup:r.group("anchors",$.lineConnector)},Ia||(Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.lineGroup.hide(),Q.anchorGroup.hide()));T||(T=b.graphics.trackerContainer=r.group("line-hot"),Ia||T.hide());I||(I=b.components.data=[]);P&&P.appendChild(T);k._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",
D);fa||(fa=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||r.group("datalabel",E),Ia||fa.hide());Ia&&(Q.lineShadowGroup.show(),Q.anchorShadowGroup.show(),Q.lineGroup.show(),Q.anchorGroup.show(),fa.show(),T.show());Ha=l.getCategoryLen();for(Ba=0;Ba<Ha;Ba++)if(P=I[Ba])A=P.config,G=A.setValue,C=A.setLink,sa=A.setLevelTooltext,ha=A.showValue,ba=A.anchorProps,Z=ba.symbol,M=ba.shadow,J=A.displayValue,P||(P=I[Ba]={graphics:{}}),H=P.graphics.element,Da=P.graphics.image,za=P.graphics.label,h=
P.graphics.hotElement,null===G?(H&&H.hide(),za&&za.hide(),h&&h.hide(),Da&&Da.hide(),R||(qa=null)):(E=l.getAxisPosition(Ba),D=z.getAxisPosition(G),U=A.hoverEffects,ba.isAnchorHoverRadius=U.anchorRadius,!1===Ia&&ea&&(D=z.getPixel(z.getAxisBase())),v(s(d(w[Ba].tooltext,w[Ba].label))),A=V?A.toolText+(sa?"":A.toolTipValue):"",G={index:Ba,link:C,value:G,displayValue:J,categoryLabel:l.getLabel(Ba).label,toolText:A,id:e.userID,datasetIndex:q||0,datasetName:f.seriesname,visible:Ia},J=!1,ba.imageUrl?(H=new a,
H.onload=b._onAnchorImageLoad(b,Ba,G,E,D),H.onerror=b._onErrorSetter(E,D,Ba,b),H.src=ba.imageUrl):(Da&&Da.hide(),h=[Z[1]||2,E,D,ba.radius,ba.startAngle,0],H||(ga.element&&ga.element.length?H=P.graphics.element=ga.element.shift():(H=P.graphics.element=r.polypath(Q.anchorGroup),H.attr({polypath:h}),J=!0)),H.show().animateWith(Ja,ca,{polypath:h},ea,da,ka&&la),H.attr({fill:F({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:F({color:ba.borderColor,alpha:ba.borderAlpha}),"stroke-width":ba.borderThickness,visibility:ba.radius?
Ia:"hidden"}).shadow(M,Q.anchorShadowGroup),ka=!1,U.enabled&&(M={polypath:[U.anchorSides||2,E,D,U.anchorRadius,U.startAngle,U.dip],fill:F({color:U.anchorColor,alpha:U.anchorBgAlpha}),stroke:F({color:U.anchorBorderColor,alpha:U.anchorBorderAlpha}),"stroke-width":U.anchorBorderThickness},h={polypath:[ba.sides,E,D,ba.radius,ba.startAngle,0],fill:F({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:F({color:ba.borderColor,alpha:ba.borderAlpha}),"stroke-width":ba.borderThickness},H&&H.data("anchorRadius",ba.radius).data("anchorHoverRadius",
U.anchorRadius).data("setRolloverAttr",M).data("setRolloutAttr",h)),h=na(ba.radius,U&&U.anchorRadius||0,X),C={cx:E,cy:D,r:h,cursor:C?"pointer":"",stroke:t,"stroke-width":ba.borderThickness,fill:t,ishot:!0,visibility:Ia},h=P.graphics.hotElement,h||(ga.hotElement&&ga.hotElement.length?h=P.graphics.hotElement=ga.hotElement.shift():(h=P.graphics.hotElement=r.circle(T),J=!0)),h.show().attr(C),J&&(h||H).click(b.getPlotClickFn(k)).hover(b.rolloverResponseSetter(P,k),b.rolloutResponseSetter(P,k)),(h||H).data("eventArgs",
G).data("groupId",void 0).data("hoverEnabled",U.enabled).data("dataset",b).tooltip(A)),c.push({x:E,y:D,lastXPos:ua,lastYPos:qa}),ua=E,qa=D,P._xPos=E,P._yPos=D,ha&&!ba.imageUrl&&this.drawLabel(Ba),ha||za&&za.hide().attr({"text-bound":[]}));e=b.getSplinePath(c,z).closedPath;ba=b.graphics.SplineElement;2<=e.length?(ba||(ba=b.graphics.SplineElement=r.path(e,Q.lineGroup),wa=!0),ba.show().animateWith(Ja,ca,{path:e},ea,da,ka&&la),ba.attr({"stroke-dasharray":Ca,"stroke-width":p,stroke:F(Fa),"stroke-linecap":"round"}).shadow(B,
Q.lineShadowGroup),ka=!1):ba&&ba.hide();ea&&Ia&&wa&&(Q.anchorGroup.hide(),Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),fa.hide(),$.lineConnector.attr({"clip-rect":n}).animateWith(Ja,ca,{"clip-rect":ra},ea,da,oa));b.drawn=!0;for(Ba=0;Ba<ma;Ba++)b._removeDataVisuals(ia.shift())}},"Line"]);FusionCharts.register("component",["dataset","Bubble",{type:"bubble",configure:function(){var a=this.chart,f=a.components,a=a.jsonData.chart,c=this.JSONData,e=this.config,k=c.data||[],n,p,q,w,t;n=f.colorManager;
p=this.index;var f=f.numberFormatter,r,z=m.parseUnsafeString,E=d(z(a.tooltipsepchar),", "),D,B,s,v,A,H,h=-Infinity,C=Infinity,G=-Infinity,J=Infinity,I=-Infinity,P=Infinity,M,Q=m.graphics.getPointColor;e.includeInLegend=l(c.includeinlegend,1);e.seriesname=z(c.seriesname);e.anchorBgColor=d(c.color,c.plotfillcolor,a.plotfillcolor,n.getPlotColor(p));e.showPlotBorder=l(c.showplotborder,a.showplotborder,1);e.anchorBorderThickness=e.showPlotBorder?d(c.plotborderthickness,a.plotborderthickness,1):0;e.anchorBorderColor=
Oa(d(c.plotbordercolor,a.plotbordercolor,"666666"));e.plotFillAlpha=d(c.plotfillalpha,c.bubblefillalpha,a.plotfillalpha,"100");e.plotBorderAlpha=d(c.plotborderalpha,a.plotborderalpha,"95");e.negativeColor=d(a.negativecolor,"FF0000");e.is3d=0!==l(a.use3dlighting,c.is3d,a.is3d);e.bubbleScale=l(a.bubblescale,1);e.minBubbleRadius=l(a.minbubbleradius);e.clipBubbles=l(a.clipbubbles,1);e.showRegressionLine=l(c.showregressionline,a.showregressionline,0);e.enableAnimation=n=l(a.animation,a.defaultanimation,
1);e.animation=n?{duration:1E3*l(a.animationduration,1)}:!1;e.showTooltip=l(a.showtooltip,1);e.transposeAnimation=l(a.transposeanimation,n);e.transposeAnimDuration=1E3*l(a.transposeanimduration,.2);e.seriesNameInTooltip=l(a.seriesnameintooltip,1);e.rotateValues=l(a.rotatevalues)?270:0;e.showHoverEffect=l(a.plothovereffect,a.showhovereffect,void 0);e.showValues=l(c.showvalues,a.showvalues,0);w=this.components.data=this.components.data||(this.components.data=[]);n=k.length;e.showRegressionLine&&(this.events=
{hide:this.hideRLine,show:this.showRLine},r={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[],isRegression:!0},e.showYOnX=l(c.showyonx,a.showyonx,1),e.regressionLineColor=Oa(d(c.regressionlinecolor,a.regressionlinecolor,e.anchorBgColor)),e.regressionLineThickness=l(c.regressionlinethickness,a.regressionlinethickness,1),e.regressionLineAlpha=$(l(c.regressionlinealpha,a.regressionlinealpha,100)),e.regLineColor=T(e.regressionLineColor,e.regressionLineAlpha));e.fillColor=e.is3d?F(Q(e.anchorBgColor,
e.plotFillAlpha)):F({color:e.anchorBgColor,alpha:e.plotFillAlpha});e.strokeColor=F({color:e.anchorBorderColor,alpha:e.plotFillAlpha});for(p=0;p<n;p++)if(B=k[p],q=w[p]=w[p]||(w[p]={}),!q.graphics&&(q.graphics={}),s=q.config={},s.x=f.getCleanValue(B.x),s.y=f.getCleanValue(B.y),s.z=f.getCleanValue(B.z,!0),s.showValue=l(B.showvalue,e.showValues),s.anchorProps={},H=s.label=s.x,s.setLink=ga(B.link),e.max=I=na(I,s.z||0),e.min=P=Fa(P,s.z||0),s.is3d=0!==l(B.is3d,e.is3d),h=na(h,s.x),C=Fa(C,s.x),G=na(G,s.y),
J=Fa(J,s.y),q=s.color=Oa(d(B.color,0>B.z?e.negativeColor:e.anchorBgColor)),t=s.alpha=d(B.alpha,e.plotFillAlpha),s.colorObj=M=s.is3d?Q(q,t):{color:q,alpha:t},s.setDisplayValue=v=z(d(B.displayvalue,B.name,B.label)),D=s.formatedVal=null===s.y?s.y:f.dataLabels(s.y),s.displayValue=d(v,s.formatedVal),s.setTooltext=m.getValidValue(z(d(B.tooltext,c.plottooltext,a.plottooltext))),e.showTooltip?null===D?v=!1:void 0!==s.setTooltext?(v=[4,5,6,7,8,9,10,11,12,13,118],D={yDataValue:D,xDataValue:f.xAxis(H),yaxisName:z(a.yaxisname),
xaxisName:z(a.xaxisname),zDataValue:f.dataLabels(s.z)},v=m.parseTooltext(s.setTooltext,v,D,B,a,c)):(e.seriesNameInTooltip&&(A=m.getFirstValue(c&&c.seriesname)),v=A?A+E:"",v+=H?f.xAxis(H)+E:"",v+=D,v+=B.z?E+f.dataLabels(B.z):""):v=!1,s.toolText=v,this.pointValueWatcher(s.x,s.y,e.showRegressionLine&&r),D=s.hoverEffects={},0!==e.showHoverEffect){H=D.enabled=void 0!==d(B.hoveralpha,c.hoveralpha,a.bubblehoveralpha,B.hovercolor,c.hovercolor,c.bubblehovercolor,a.bubblehovercolor,B.borderhovercolor,c.borderhovercolor,
a.plotborderhovercolor,B.borderhoveralpha,c.borderhoveralpha,a.plotborderhoveralpha,B.hoverscale,c.bubblehoverscale,a.bubblehoverscale,B.borderhovercolor,c.borderhovercolor,a.plotborderhovercolor,B.borderhoverthickness,c.borderhoverthickness,a.plotborderhoverthickness,B.negativehovercolor,c.negativeColor,a.negativecolor,B.is3donhover,a.plotfillhovercolor,c.is3donhover,a.is3donhover,void 0);D.negativeColor=d(B.negativehovercolor,c.negativehovercolor,a.negativehovercolor,e.negativeColor);D.is3d=l(B.is3donhover,
c.is3donhover,a.is3donhover,s.is3d);D.color=d(B.hovercolor,c.hovercolor,c.bubblehovercolor,a.plotfillhovercolor,a.bubblehovercolor,s.is3d?M.FCcolor.color:q);D.color=D.negativeColor&&0>B.z?D.negativeColor:D.color;D.scale=d(B.hoverscale,c.hoverscale,c.bubblehoverscale,a.bubblehoverscale,1);D.color=Oa(D.color);D.alpha=d(B.hoveralpha,c.hoveralpha,a.plotfillhoveralpha,a.bubblehoveralpha,t);D.borderColor=d(B.borderhovercolor,c.borderhovercolor,a.plotborderhovercolor,e.anchorBorderColor);D.borderAlpha=d(B.borderhoveralpha,
c.borderhoveralpha,a.plotborderhoveralpha,D.alpha,e.plotBorderAlpha);D.borderThickness=l(B.borderhoverthickness,c.borderhoverthickness,a.plotborderhoverthickness,e.anchorBorderThickness);D.color=D.is3d?Q(D.color,D.alpha):{FCcolor:{color:D.color,alpha:D.alpha}};B=H||1===e.showHoverEffect&&D.color?0:e.showHoverEffect;if(1===B){s=(B="string"==typeof D.color)?D.color.split(/\s{0,},\s{0,}/):D.color.FCcolor.color.split(/\s{0,},\s{0,}/);t=s.length;for(q=0;q<t;q++)s[q]=Pa(s[q],70);B?D.color=s.join(","):D.color.FCcolor.color=
s.join(",")}!1===H&&(D.enabled=Boolean(e.showHoverEffect))}else D.enabled=!1;e.xMax=h;e.xMin=C;e.yMin=J;e.yMax=G;e.regressionData=e.showRegressionLine&&this.getRegressionLineSeries(r,e.showYOnX,n);this.visible=1===l(c.visible,!Number(c.initiallyhidden),1);this._addLegend()},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.configure()},_addLegend:function(){var a=this.config;this.legendItemId=this.chart.components.legend.addItems(this,
this.legendInteractivity,{enabled:a.includeInLegend,fillColor:a.fillColor,strokeColor:a.strokeColor,rawFillColor:a.anchorBgColor,rawStrokeColor:a.anchorBorderColor,anchorSide:1,type:this.type,label:a.seriesname})},draw:function(){var a=this,c=a.JSONData,d=U.sqrt,e=a.chart,k=e.components,m=k.canvas.config,n=k.paper,p=e.config,q=e.graphics,w=p.style,r={fontFamily:w.fontFamily,fontSize:w.fontSize,lineHeight:w.lineHeight,fontWeight:w.fontWeight,fontStyle:w.fontStyle},p=Fa(p.canvasHeight,p.canvasWidth)/
8,z=q.datasetGroup,D,w=a.yAxis,k=k.xAxis[0],B=a.config,H,s,v,A;D=m.clip["clip-canvas"].slice(0);A=m.clip["clip-canvas-init"].slice(0);var C,h,m=a.components.data,G=a.components.removeDataArr||[],J=G.length,I=a.graphics.container,P=function(){!1===a.visible&&(I.bubbleGroup.hide(),I.regLineGroup.hide(),ha.hide(),la.hide(),a._containerHidden=!0)};C=function(){a.visible&&(ha.attr({"clip-rect":null}),I.regLineGroup.attr({"clip-rect":null}));e._animCallBack()};var M=function(a){ea.call(this,e,a)},Q=function(a,
b){return function(c){var f="DataPlotRollOut"===b?this.data("setRolloutAttr"):this.data("setRolloverAttr");this.data("hoverEnabled")&&a.attr(f);ea.call(this,e,c,b)}},T=B.minBubbleRadius,R=B.bubbleScale,V=e.getDataLimits().zMax||0,V=d(V),$=B.clipBubbles,ba=e.get("config","animationObj"),fa=ba.duration;h=a.graphics.regressionLineElement;var Z=B.showRegressionLine,ca=a.visible,da=B.showTooltip,ia=q.trackerGroup,ga=q.datalabelsGroup,ha=a.graphics.dataLabelContainer,la=a.graphics.trackerContainer,ma,oa;
ma={};var ra,qa,q=!0,va=ba.dummyObj,ka=ba.animObj,ba=ba.animType,sa=a.components.pool||{},ua;ma=a.drawn;e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",r);I||(I=a.graphics.container={bubbleGroup:n.group("bubble",z),regLineGroup:n.group("regLine",z)},ca||(I.bubbleGroup.hide(),I.regLineGroup.hide()));la||(la=a.graphics.trackerContainer=n.group("bubble-hot"),ca||la.hide());ha||(ha=a.graphics.dataLabelContainer=n.group("datalabel",ga),ha.attr({"clip-rect":A}).animateWith(va,ka,{"clip-rect":D},
fa,ba,C),ca||ha.hide());$?ma?I.bubbleGroup.animateWith(va,ka,{"clip-rect":D},fa,ba):I.bubbleGroup.attr({"clip-rect":D}):(I.bubbleGroup.attr({"clip-rect":null}),I.bubbleGroup.node&&I.bubbleGroup.node.removeAttribute&&I.bubbleGroup.node.removeAttribute("clip-path"));ia&&ia.appendChild(la);ca&&(I.bubbleGroup.show(),I.regLineGroup.show(),ha.show(),la.show());Z?(ma=B.regressionData[0],r=B.regressionData[1],h?h.animateWith(va,ka,{path:"M "+k.getAxisPosition(ma.x)+","+w.getAxisPosition(ma.y)+" L "+k.getAxisPosition(r.x)+
","+w.getAxisPosition(r.y)},fa,ba):(h=a.graphics.regressionLineElement=n.path("M "+k.getAxisPosition(ma.x)+","+w.getAxisPosition(ma.y)+" L "+k.getAxisPosition(r.x)+","+w.getAxisPosition(r.y),I.regLineGroup).attr({stroke:F({color:B.regressionLineColor,alpha:B.regressionLineAlpha}),"stroke-width":B.regressionLineThickness,"stroke-linecap":"round","stroke-linejoin":2<B.regressionLineThickness?"round":"miter"}),I.regLineGroup.attr({"clip-rect":A}),I.regLineGroup.animateWith(va,ka,{"clip-rect":D},fa,ba,
C))):h&&h.hide();A=0;for(C=m.length;A<C;A+=1)if(z=m[A],h=z.config,v=l(h.x,A),s=h.y,H=h.z,r=z.graphics.element,ia=h.setLink,oa=h.displayValue,$=h.toolText,Z=h.showValue,ma=h.hoverEffects,r=z.graphics.element,D=z.graphics.hotElement,qa=z.graphics.label,ga=!1,null!==s){oa={index:A,link:ia,value:s,y:s,x:v,z:H,displayValue:oa,toolText:$,id:a.userID,datasetIndex:a.index||0,datasetName:c.seriesname,visible:ca};s=w.getAxisPosition(s);v=k.getAxisPosition(v);H=d(H);H=Ca(H*p/V)*R||0;T&&(H=na(H,T));ua=h.setRolloutAttr=
{fill:F(h.colorObj),"stroke-width":B.anchorBorderThickness,stroke:F({color:B.anchorBorderColor,alpha:B.plotBorderAlpha}),r:H};!1!==ma.enabled&&(ra=h.setRolloverAttr={fill:F(ma.color),"stroke-width":ma.borderThickness,stroke:F({color:ma.borderColor,alpha:ma.borderAlpha}),r:H*ma.scale});a.visible||(H=0);r||(sa.element&&sa.element.length?r=z.graphics.element=sa.element.shift():(r=z.graphics.element=n.circle(I.bubbleGroup),ga=!0,r.attr({cx:v,cy:s,r:fa?0:H})));r.show().animateWith(va,ka,{cx:v,cy:s,r:H||
0},fa,ba,q&&P).attr({fill:F(h.colorObj),ishot:!da,"stroke-width":B.anchorBorderThickness,stroke:ua.stroke,visibility:ca});q=!1;if(ia||da)H<X&&(H=X),D||(D=sa.hotElement&&sa.hotElement.length?z.graphics.hotElement=sa.hotElement.shift():z.graphics.hotElement=n.circle(la)),D.attr({cx:v,cy:s,r:H,cursor:ia?"pointer":"",stroke:t,"stroke-width":B.anchorBorderThickness,fill:t,ishot:!!ia,visibility:ca});(D||r).data("eventArgs",oa).data("setRolloverAttr",ra).data("setRolloutAttr",ua).data("hoverEnabled",ma.enabled).tooltip($);
ga&&(D||r).click(M).hover(Q(r,"DataPlotRollOver"),Q(r,"DataPlotRollOut"));z._xPos=v;z._yPos=s;Z?this.drawLabel(A):qa&&qa.hide()}else r&&r.hide(),D&&D.hide(),qa&&qa.hide();a.drawn=!0;for(A=0;A<J;A++)a._removeDataVisuals(G.shift())},show:function(){var a=this.chart,c=this.graphics.container,d=this.graphics.dataLabelContainer,e=this.graphics.trackerContainer;this.visible=!0;c.bubbleGroup.show();c.regLineGroup&&c.regLineGroup.show();d.show();e.show();a._setAxisLimits();a._drawAxis();a._drawDataset()},
hide:function(){var a=this.chart;this.visible=!1;a._setAxisLimits();a._drawAxis();a._drawDataset()},getDataLimits:function(){var a=this.config,c=a.yMax,d=a.yMin,e=this.chart.config.transposeAxis,k=a.xMin,l=a.xMax,m=a.max,a=a.min;!1===this.visible&&e&&(c=-Infinity,k=d=Infinity,l=-Infinity);return{max:c,min:d,xMin:k,xMax:l,zMax:m,zMin:a}},drawLabel:function(a){var c=this.chart,d=c.config.dataLabelStyle,e=this.components.data,k=c.components.paper,l;l="";var m=this.config,n=c.get("config","animationObj"),
c=n.duration,p=n.animType,q=n.animObj,n=n.dummyObj,m=m.rotateValues,w=this.graphics.dataLabelContainer,t,r,z,D,s=this.components.pool||{};l=e[a];t=l.config;a=l.graphics;e=l._yPos;r=l._xPos;l=t.displayValue;D=a.label;void 0!==l&&null!==l&&l!==J&&null!==t.z&&(D||(D=s.label&&s.label.length?a.label=s.label.shift():a.label=k.text(w),z=!0),d={text:l,"class":"fusioncharts-label",fill:d.color,"text-bound":[d.backgroundColor,d.borderColor,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash],"font-weight":d.fontWeight,
"font-style":d.fontStyle,"font-family":d.fontFamily,"font-size":d.fontSize,"line-height":d.lineHeight,visibility:"visible"},a.label.attr(d),z&&D.attr({x:r,y:e,transform:k.getSuggestiveRotation(m,r,e)}),D.show().animateWith(n,q,{x:r,y:e,transform:k.getSuggestiveRotation(m,r,e)},c,p))}},"scatter"]);FusionCharts.register("component",["dataset","Pie2D",{type:"pie2d",configure:function(){var a=this.chart,c=a.config,g=c.dataLabelStyle,e=this.config,k=this.JSONData,p=a.jsonData.chart,q=m.parseUnsafeString,
w=a.is3D,t,z;this.__setDefaultConfig();r({},this.config,a&&a.config);z=e.enableAnimation=l(p.animation,p.defaultanimation,1);e.animation=z?{duration:1E3*l(p.animationduration,p.moveduration,1)}:!1;e.transposeAnim=z||l(e.transposeanimation,1)?{duration:1E3*l(p.transposeanimduration,.2)}:!1;e.showPlotBorder=l(p.showplotborder,1);e.showHoverEffect=l(p.plothovereffect,p.showhovereffect,void 0);e.showTooltip=l(p.showtooltip,1);e.toolText=ga(q(d(k.plottooltext,p.plottooltext)));z=e.enableMultiSlicing=l(p.enablemultislicing,
1);t=e.use3DLighting=l(p.use3dlighting,1);e.radius3D=t?l(p.radius3d,90):100;e.showZeroPies=l(p.showzeropies,1);e.showPercentInToolTip=l(p.showpercentintooltip,1);e.showLabels=l(p.showlabels,1);e.showValues=l(k.showvalues,p.showvalues,1);e.showPercentValues=l(p.showpercentvalues,p.showpercentagevalues,0);t=e.toolTipSepChar=d(p.tooltipsepchar,p.hovercapsepchar,n);e.labelSepChar=d(p.labelsepchar,t);e.pieBorderColor=d(p.plotbordercolor,p.piebordercolor);e.pieBorderAlpha=l(p.plotborderalpha,p.pieborderalpha);
e.pieBorderThickness=e.showPlotBorder?l(p.plotborderthickness,p.pieborderthickness,c.plotborderthickness,1):0;e.plotDashLen=l(p.plotborderdashlen,5);e.plotDashGap=l(p.plotborderdashgap,4);e.showValueInLegend=l(p.showvalueinlegend,0);e.showLabelInLegend=l(p.showlabelinlegend,1);e.valueBeforeLabelInLegend=l(p.valuebeforelabelinlegend,0);e.showValueAsPercentInLegend=l(p.showvalueaspercentinlegend,1);e.legendSepChar=d(p.legendsepchar,", ");e.showvalues=l(p.showvalues,1);e.chartPosition=I(a.linkedItems.container);
e.timerThreshold=30;e.centerLabelConfig={label:q(d(p.defaultcenterlabel,"")),font:d(p.centerlabelfont,g.fontFamily),fontSize:l(p.centerlabelfontsize,parseInt(g.fontSize,10)),color:Oa(d(p.centerlabelcolor,p.valuefontcolor,c.style.inCanvasStyle.color,"555555")),alpha:l(p.centerlabelalpha,100),bold:l(p.centerlabelbold,g.fontWeight),italic:l(p.centerlabelitalic,g.style),bgColor:d(p.centerlabelbgcolor,""),bgAlpha:l(p.centerlabelbgalpha,100),borderColor:d(p.centerlabelbordercolor,g.borderColor),borderAlpha:l(p.centerlabelborderalpha,
100),borderThickness:l(p.centerlabelborderthickness,g.borderThickness),borderRadius:l(p.centerlabelborderradius,g.borderRadius),textPadding:l(p.centerlabeltextpadding,g.borderPadding),padding:l(p.centerlabelpadding,2),bgOval:l(p.centerlabelbgoval,0),shadow:l(p.showcenterlabelshadow,0),hoverColor:p.centerlabelhovercolor&&Oa(d(p.centerlabelhovercolor)),hoverAlpha:l(p.centerlabelhoveralpha),toolText:q(d(p.centerlabeltooltext,""))};e.showLegend=l(p.showlegend,0);e.reverselegend=!Boolean(l(p.reverselegend,
0));a.is3D=w;e.pieYScale=l(p.pieyscale,40);1>e.pieYScale&&(e.pieYScale=1);100<=e.pieYScale&&(e.pieYScale=80);e.pieYScale/=100;e.pieSliceDepth=l(p.pieslicedepth,15);1>e.pieSliceDepth&&(e.pieSliceDepth=1);e.managedPieSliceDepth=e.pieSliceDepth;e.enableMultiSlicing=!!z;e.startAngle=l(p.startingangle,0)*-(Ta/180);e.usePerPointLabelColor=p.colorlabelsfromplot==fa;e.reversePlotOrder=l(p.reverseplotorder,0);e.animateClockWise=l(p.animateclockwise,e.reversePlotOrder);e.showShadow=l(p.showshadow,1);e.singletonCase=
1===k.data.length;e.valueTotal=0;this._setConfigure();this._addLegend()},_parseDisplayProperties:function(a,c){var g,e,k="",m,n,p,q,w,t,r;g=this.chart;var z=g.components.numberFormatter,B=g.jsonData.chart;q=this.config;n=l(c.y,z.getCleanValue(a.value,!0));var F=q.valueTotal;p=q.showLabels;var s=D(d(c.seriesName,a.label,a.name,""));t=q.showPercentValues;m=q.showPercentInToolTip;var v=q.labelSepChar,A=q.toolTipSepChar,H=q.showTooltip;g=ga(D(d(a.tooltext,q.toolText)));e=c.pValue=z.percentValue(n/F*100);
n=c.value=z.dataLabels(n)||"";p=1===l(a.showlabel,p)?s:"";q=1===(r=l(a.showvalue,q.showValues))?1===t?e:n:"";m=m?e:n;w=ga(D(a.displayvalue));t=d(w,s+v+(t?e:n),"");q=void 0!==w&&r?w:""!==q&&""!==p?p+v+q:d(p,q);H&&(void 0!==g?k=Z(g,[1,2,3,5,6,7,14,24,25],{formattedValue:n,label:s,yaxisName:D(B.yaxisname),xaxisName:D(B.xaxisname),percentValue:e,sum:z.dataLabels(F),unformattedSum:F},a,B):(k=s,k=""!=k?k+A+m:m));c.displayValue=q;c.displayValueArgs=t;c.toolText=k;c.seriesName=s;c.categoryLabel=p},foldingFn:function(a){a=
a.data("plotItem");return{ringpath:[a.center[0],a.center[1],a.radius,a.innerDiameter/2,a.angle,a.angle]}},_setConfigure:function(a,c){var g,e,k,m,n,p,q,w,t,r,z,F,H,s,v,A,C,h;n=this.chart;var G=n.jsonData.chart,J=n.components;m=J.legend;var I=this.config,P=this.JSONData;e=(r=(a||P).data)&&r.length;F=I.showZeroPies;var P=I.valueTotal||0,M=[],Q=n.config.dataLabelStyle,R=l(G.plotborderdashed,0),V=this.components.data||(this.components.data=[]),$=J.numberFormatter,J=J.colorManager,U=I.labelInLeg,X=I.valInLeg,
Z=I.centerLabelConfig,ca=I.pieBorderThickness,ea=I.reversePlotOrder,da=I.radius3D,ha=I.enableMultiSlicing,la=I.lastSlicedid||0,oa=l(G.plotBorderDashed,5),ra=l(G.plotborderdashgap,4),ma=l(G.valuebeforelabelinlegend,0),qa=l(G.showvalueaspercentinlegend,1);h=0;var ua=d(G.legendsepchar,", ");n=n.get("config","animationObj");t=n.duration||0;p=n.dummyObj;w=n.animObj;z=n.animType;for(n=0;n<e;n+=1)q=r[n],k=$.getCleanValue(q.value,!0),null===k||!F&&0===k?h+=1:(M.push(q),P+=k);if(h&&V.length>e-h)for(m&&m.emptyItems(V.length-
h),n=V.length-1;0<h;--n,--h)if(V[n]){q=V[n];e=q.config;k=q.graphics;for(g in k)m=k[g],m.animateWith(p,w,this.foldingFn.call(this,m),t,z,this.hideFn.call(this,k,g));e.y=null;q.legendItemId=void 0}0===P&&(M=[]);I.valueTotal=P;I.dataLabelCounter=0;for(n=(e=M.length)-1;0<=n;--n){k=n;a?(h=M[n],k=void 0!==c?c+n:V.length-e+n,q=V[k]):(q=V[n]||(V[n]={graphics:{},config:{}}),h=M[n]);g=q&&q.config;g||(g=V[k].config={});q.graphics||(V[k].graphics={});g.y=k=$.getCleanValue(h.value,!0);g.seriesName=p=D(d(h.label,
h.name,""));q=d(h.color,J.getPlotColor(n));m=d(h.alpha,G.plotfillalpha,ba);w=g.borderConfig=this._parseBorderConfig(q,m,h);t=w.setPlotBorderColor;w=w.setPlotBorderAlpha;r={opacity:na(m,w)/100};if(F=Boolean(l(h.issliced,G.issliced,0)))ha||(-1!==la&&(V[V.length-la-1].sliced=!1),I.lastSlicedid=n),I.preSliced=F;s=(z=l(h.dashed,R))?ia(d(h.dashlen,oa),d(h.dashgap,ra),ca):"none";this._parseDisplayProperties(h,g);z=U?p:"";X&&(k=qa?$.legendPercentValue(k/P*100):$.legendValue(k),z=ma?k+(z&&ua+z):(z&&z+ua)+
k);(k=g.displayValue)&&(I.dataLabelCounter+=1);A=g.value;v=g.pValue;k={label:d((H=h.centerlabel||G.centerlabel)&&this.replaceMacros(H,["\\$value","\\$percentValue","\\$displayValue","\\$label"],[A,v,void 0===k?"":k,p]),""),font:Z.font,fontSize:l(h.centerlabelfontsize,Z.fontSize),color:Oa(d(h.centerlabelcolor,Z.color)),alpha:l(h.centerlabelalpha,Z.alpha),bold:l(h.centerlabelbold,Z.bold),italic:l(h.centerlabelitalic,Z.italic),bgColor:d(h.centerlabelbgcolor,Z.bgColor),bgAlpha:l(h.centerlabelbgalpha,
Z.bgAlpha),borderColor:d(h.centerlabelbordercolor,Z.borderColor),borderAlpha:l(h.centerlabelborderalpha,Z.borderAlpha),borderThickness:Z.borderThickness,borderRadius:Z.borderRadius,textPadding:Z.textPadding,padding:Z.padding,bgOval:Z.bgOval,shadow:Z.shadow,hoverColor:(C=d(h.centerlabelhovercolor,Z.hoverColor))&&Oa(C),hoverAlpha:l(h.centerlabelhoveralpha,Z.hoverAlpha),toolText:d(h.centerlabeltooltext,"")};g.style=B(h,{},G,Q,q);g.showInLegend=""!==z;g.isVisible=!0;g.name=z;g.shadow=r;g.setColor=q;g.color=
this._getPointColor(q,m,da);g._3dAlpha=m;g.borderColor=T(t,w);g.borderWidth=ca;g.link=ga(h.link);g.sliced=F;g.dashStyle=s;g.doNotSlice=d(G.enableslicing,fa)!=fa;this._parseHoverEffectOptions(n);g.centerLabelConfig=k;g.radius3D=da}ea&&V&&V.reverse();I.dataArr=M;I.enableRotation=1<V.length?l(G.enablerotation,1):0},_parseHoverEffectOptions:function(a){var c,g,e,k,m,n,p,q,w;n=this.chart.jsonData.chart;g=this.config;var t=this.components.data[a].config;p=this.JSONData;q=p.data[a];e=t.setColor;k=t._3dAlpha;
a=g.radius3D;w=t.borderConfig;m=w.setPlotBorderAlpha;var r=w.setPlotBorderColor;w=g.setBorderWidth;g=l(t.hovereffect,g.showHoverEffect);t=t.hoverEffects={enabled:g};void 0===g&&(g=t.enabled=void 0!==d(q.hovercolor,p.hovercolor,n.plotfillhovercolor,q.hoveralpha,p.hoveralpha,n.plotfillhoveralpha,q.borderhovercolor,p.borderhovercolor,n.plotborderhovercolor,q.borderhoveralpha,p.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,q.borderhoverthickness,p.borderhoverthickness,n.plotborderhoverthickness,
void 0));if(g){c=l(q.highlightonhover,p.highlight,n.highlight,1);(g=d(q.hovercolor,p.hovercolor,n.plotfillhovercolor))&&c&&(c=0);g=d(g,e);e=d(q.hoveralpha,p.hoveralpha,n.plotfillhoveralpha,k);k=d(q.borderhovercolor,p.borderhovercolor,n.plotborderhovercolor,r);m=d(q.borderhoveralpha,p.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,m);n=l(q.borderhoverthickness,p.borderhoverthickness,n.plotborderhoverthickness,w);g.replace(/,+?$/,"");if(1===c){q=(p="string"==typeof g)?g.split(/\s{0,},\s{0,}/):
g.color.split(/\s{0,},\s{0,}/);w=q.length;for(c=0;c<w;c++)q[c]=Pa(q[c],70);p?g=q.join(","):g.color=q.join(",")}this._setHoverColor(t,g,e,a);t.borderColor=T(k,m);t.borderWidth=n}else t.enabled=!1},_setHoverColor:function(a,c,d,e){a.color=this._getPointColor(c,d,e)},replaceMacros:function(a,c,d){for(var e=c.length||0,k;e--;)k=new RegExp(c[e],"gi"),a=a.replace(k,d[e]);return a},containsMacro:function(a,c){for(var d=c.length||0,e;d--;)if(e=new RegExp(c[d],"gi"),e=a.match(e))return!0;return!1},updateData:function(a,
c){this.config.valueTotal-=this.components.data[c].config.y;this.__base__.updateData.apply(this,arguments)},_parsePiePlotOptions:function(){var a=this.config;return{size:a.pieMinRadius,slicedOffset:a.slicingDistance}},_parseDataLabelOptions:function(){return{style:this.chart.config.style,enabled:!0}},_addLegend:function(){var a,c,d,e=this.chart.components.legend,k=this.components.data;for(a=0;a<k.length;a+=1)d=k[a],c=d.config,null!==c.y&&(d.legendItemId=e.addItems(this,this.legendInteractivity,{index:a,
fillColor:F(c.setColor),strokeColor:F(c.borderColor),type:this.type,label:c.seriesName,enabled:l(c.includeInLegend,1),legendItemId:d.legendItemId}))},_parseBorderConfig:function(a,c,g){var e=this.chart.jsonData.chart,k=d(g.bordercolor,this.config.pieBorderColor);g=d(g.borderalpha,e.plotborderalpha,e.pieborderalpha);k=d(k,Pa(a,25)).split(",")[0];g=e.showplotborder==z?z:d(g,c,"80");return{setPlotBorderColor:k,setPlotBorderAlpha:g}},_getPointColor:function(a,c,d){var e,k;a=Oa(a);c=$(c);100>d&&q?(e=Math.floor(85*
(100-.35*d))/100,e=P(a,e),k=Math.floor(50*(100+d))/100,a=Pa(a,k),c={color:a+","+e,alpha:c+","+c,ratio:d+","+(100-d),radialGradient:!0,gradientUnits:"userSpaceOnUse"}):c={color:a+","+a,alpha:c+","+c,ratio:"0,100"};return c},hideElements:function(){var a=this.data&&this.data("plotItem").chart,c=0,d=this._&&this._.shadows||[];if(a&&a.components.dataset[0])for(this.hide();c<d.length;c+=1)d[c].hide()},hideFn:function(a,c){return function(){a[c].hide()}},singleFillColor:function(a){return F({color:Oa(a.color),
alpha:$(a.alpha)})},draw:function(){var a,c,d=this.chart,e=d.graphics,k=d.config,l=d.graphics,m=this.config,n=m.showShadow,p,q=d.components.paper,w=this.components,t=w.data;p=w.removeDataArr||[];var r,z,D,s,v;r=k.style;var A=e.datasetGroup.trackTooltip(!0),B=this.graphics,h=this.pool,H=B.container,C=this.visible,G=B.shadowContainer;z=e.datalabelsGroup;var J=B.dataLabelContainer,I,P,Q,T,R,V,$,U,X,ba=w.data||[],Z=ba.length,w=k.canvasLeft+.5*k.canvasWidth,e=k.canvasTop+.5*k.canvasHeight,fa=l.datasetGroup;
s=k.alphaanimation;var ca=!1,l=function(){ca||(ca=!0,J.show(),d.placeDataLabels(!1,t,m),fa.animateWith(Pa,Oa,{opacity:1},Da,Ta))},ea=function(){var a,b;if(c)for(a=0;a<Z;a+=1)b=ba[a],b.graphics.element&&b.graphics.element.attr({fill:F(b.config.color)})};P=function(){var a=m.pieCenter||[],b={cx:a[0],cy:a[1],r:(m.piePlotOptions||[]).size,r2:.5*(m.innerSize||0)};return function(a){var c,d=!1;for(c in a)if(5<ra(a[c]-b[c])){d=!0;break}return d}}();D=function(){ca||ea()};var da=d._plotDragMove,ia=d._plotDragStart,
ga=d._plotDragEnd,ha=d._plotRollOver,na=d._plotRollOut,va=!!m.enableRotation,ka=m.piePlotOptions=this._parsePiePlotOptions(),k=k.textDirection,sa=m.dataLabelOptions,ua=ka.slicedOffset,wa,ka=ka.size,Ca=.5*(m.innerSize||0),Fa=(m.startAngle||0)%qa,Da,Ja,Ba,Ia,za=Fa-qa,Na=m.animateClockWise;I=d.get("config","animationObj");v=I.duration||0;var Pa=I.dummyObj,Oa=I.animObj,Ta=I.animType;H?(Ia=!0,v&&(Da=v,Ja=D),c=P({cx:w,cy:e,r:ka,r2:Ca})):(A.pie=q.group("pie",A),A.pieLabels=q.group("pie",A),H=B.container=
{lineShadowGroup:q.group("connector-shadow",A.pieLabels),anchorShadowGroup:q.group("anchor-shadow",A.pieLabels),pieGroup:B.pieContainer=q.group("pie",A.pie),dataLabel:q.group("dataLabel",A.pie)},G=B.shadowContainer=A.shadows||(A.shadows=q.group("shadows",H.pieGroup).toBack()),J=B.dataLabelContainer=this.graphics.dataLabelContainer||q.group("datalabel",z).trackTooltip(!0),v&&(Da=v,Ja=l,J.hide()));C||(H.lineShadowGroup.hide(),H.anchorShadowGroup.hide(),H.pieGroup.hide(),H.dataLabel.hide(),G.hide(),
J.hide());s&&fa.attr({opacity:0});p.length&&this.remove();H=m.valueTotal;C=qa/H;d._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",r);m.pieCenter=[w,e];I=A=Fa;for(p=0;p<Z;p+=1)if(r=ba[p],v=r.graphics,P=r.config,Q=P.y,T=P.displayValue,R=P.sliced,z=P.toolText,s=!!P.link,r=P.style,V=s||va||!P.doNotSlice,null!==Q&&void 0!==Q&&!1!==P.isVisible){D=P.color;D.r=ka;D.cx=w;D.cy=e;I=A;A-=m.singletonCase?qa:Q*C;$=.5*(A+I);D=v.element;U=v.label;wa=v.connector;if(!D){D=h&&h.element.length?v.element=
h.element.splice(0,1)[0].show():v.element=q.ringpath(B.pieContainer).attr({"stroke-linejoin":"round",ishot:V}).drag(da,ia,ga).hover(ha,na);if(Ia){if(p<Z)for(Ba=void 0,a=p+1;a<Z&&void 0===Ba;a+=1)Ba=ba[a].config.endAngle;void 0===Ba&&(Ba=za)}else Ba=Na?za:Fa;D.attr({ringpath:[w,e,ka,Ca,Ba,Ba]})}void 0!==T?(U||(U=h&&h.label.length?v.label=h.label.splice(0,1)[0]:v.label=q.text(J).drag(da,ia,ga).hover(ha,na).attr({ishot:V})),U.css({fontFamily:r.fontFamily,fontSize:r.fontSize,lineHeight:r.lineHeight,fontWeight:r.fontWeight,
fontStyle:r.fontStyle}).show().attr({text:T,fill:r.color||"#000000","text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash],direction:k}),0<sa.distance&&(X=sa.connectorWidth)&&sa.enableSmartLabels?(wa||(wa=h&&h.connector.length?v.connector=h.connector.splice(0,1)[0]:v.connector=q.path("M 0 0 l 0 0",J).attr({visibility:Ha,ishot:!0}).drag(da,ia,ga).hover(ha,na)),wa.attr({"stroke-width":X,stroke:sa.connectorColor||"#606060"}).show()):wa&&wa.hide()):
(U&&U.hide(),wa&&wa.hide());r=P.plotItem={chart:d,index:p,seriesData:m,value:Q,angle:P.angle=$,angle1:P.startAngle=A,angle2:P.endAngle=I,slicedX:oa($)*ua,slicedY:la($)*ua,sliced:R,labelText:T,toolText:z,name:P.name,link:P.link,percentage:H?Q*H/100:0,originalIndex:Z-p-1,style:P.style,color:F(P.color),borderColor:P.borderColor,borderWidth:P.borderWidth,rolloverProperties:P.hoverEffects,radius:ka,center:[w,e],innerDiameter:2*Ca,centerLabelConfig:P.centerLabelConfig,graphic:D,isVisible:P.isVisible,label:U,
connector:wa,transX:P.transX=oa($)*ua,transY:P.transY=la($)*ua,slicedTranslation:P.slicedTranslation="t"+oa($)*ua+","+la($)*ua};v={index:m.reversePlotOrder?Z-1-p:p,link:P.link,value:P.y,displayValue:P.displayValueArgs,categoryLabel:P.categoryLabel,isSliced:R,toolText:z};D.animateWith(Pa,Oa,{ringpath:[w,e,ka,Ca,A,I]},Da,Ta,Ja);D.attr({"stroke-width":P.borderWidth,stroke:P.borderColor,fill:M||Ia&&c?this.singleFillColor(P.color):F(P.color),"stroke-dasharray":P.dashStyle,redrawDataLabels:Fa,cursor:s?
"pointer":"",transform:r.sliced?r.slicedTranslation:""}).show().shadow(n&&P.shadow,G).tooltip(z).data("plotItem",r).data("eventArgs",v);U&&U.data("plotItem",r).data("eventArgs",v);wa&&wa.data("plotItem",r).data("eventArgs",v)}Da?Ia&&d.placeDataLabels(!1,t,m):(ea(),l())},remove:function(){var a=this.components.removeDataArr||[],c=this.pool=this.pool={},d=a.length,e=this.config,k,l=e.pieCenter,m,n=l[0],l=l[1],p=this.hideElements,q=e.pieMinRadius,w=.5*(e.innerSize||0),t,e=e.startAngle-qa;t=this.chart.get("config",
"animationObj");var r=t.duration||0,z=t.dummyObj,D=t.animObj,s=t.animType;for(t=0;t<d;t++){k=a[0];k=k.graphics;for(m in k)k[m].data("plotItem"),k[m].animateWith(z,D,{ringpath:[n,l,q,w,e,e+.01]},r,s,p),c[m]||(c[m]=[]),c[m].push(k[m]);a.splice(0,1)}},legendInteractivity:function(a,c){a.chart._plotGraphicClick.call(a.components.data[c.configuration.index].graphics.element)},init:function(a){var c=this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=c.chartGraphics;this.components={};this.graphics=
{};this.visible=1===l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_getInnerSize:function(){var a,c=this.config,d=this.chart.jsonData.chart;a=l(d.doughnutradius,0);var d=l(d.use3dlighting,1)?l(d.radius3d,d["3dradius"],50):100,e,k,m;e=c.pieMinRadius;100<d&&(d=100);0>d&&(d=0);a=0>=a||a>=e?e/2:a;c.innerRadius=a;if(0<d&&q&&(c=parseInt(a/e*100,10),e=(100-c)/2,d=parseInt(e*d/100,10),d=c+","+d+","+2*(e-d)+","+d,this&&(m=this.components.data)))for(c=0,e=m.length;c<e;c+=
1)k=m[c],k=k.config,k.color&&(k.color.ratio=d,k.hoverEffects&&k.hoverEffects.color&&(k.hoverEffects.color.ratio=d));return 2*a},getEventArgs:function(a){a=a.configuration.index;var c=this.components.data[a].config||{};return{datasetName:c.seriesName,datasetIndex:a,id:c.userID,visible:c.isVisible,label:c.seriesName,value:c.value,percentValue:c.pValue,tooltext:c.toolText,link:c.link,sliced:c.sliced}}},"area"]);FusionCharts.register("component",["dataset","Pie3D",{type:"pie3d",_parsePie3DOptions:function(){var a=
this.config;return{size:2*a.pieMinRadius,slicedOffset:a.slicingDistance,allowPointSelect:!0,cursor:"pointer",innerSize:"pie3d"===this.type?0:this._getInnerSize()}},_parseBorderConfig:function(a,c,g){var e=this.chart.jsonData.chart,k=d(g.bordercolor,this.config.pieBorderColor);g=d(g.borderalpha,e.plotborderalpha,e.pieborderalpha);k=d(k,Pa(a,90)).split(",")[0];g=e.showplotborder==z?z:d(g,c,"80");return{setPlotBorderColor:k,setPlotBorderAlpha:g}},_setHoverColor:function(a,c,d){a.color=c;a.alpha=d},draw:function(){var a,
c,d=this.pool||(this.pool={}),e=this.components,k=this.config,l=this.chart,m=l.get("config","animationObj"),n=m.duration||0,p=m.dummyObj,q=m.animObj,w=m.animType;c=l.config;a=l.graphics;var t=e.data,m=k.dataLabelOptions,r=m.style,z=l.components.paper,D=c.tooltip||{},D=D&&!1!==D.enabled,s=k.slicingDistance,v=k.slicedOffsetY||(k.slicedOffsetY=s*k.pieYScale),A=l._plotDragMove,B=l._plotDragStart,h=l._plotDragEnd,H=l._plotRollOver,C=l._plotRollOut,G=!!k.enableRotation,I=k.showBorderEffect,P=t.length,M=
k.usePerPointLabelColor,Q=c.textDirection,T,R,V,$,U,X,ba,Z,fa,ca,ea,da,ia,r=e.removeDataArr||[],ga;$=this.visible;var ha,na,ra=!1,ka=this.graphics.dataLabelContainer,sa=(k.startAngle||0)%qa,ua,wa,Ca,Da,Fa=sa-qa,Ha=k.animateClockWise,Ba,Ia=a.datasetGroup;c=c.alphaanimation;var za=function(){ra||(ra=!0,Ia.animateWith(p,q,{opacity:1},n,w,function(){ka.show()}))};fa=function(){var a,b;if(!ra)for(za(),a=0;a<P;a+=1)b=t[a],b.graphics.element&&b.graphics.element.attr({fill:F(b.config.color)})};ka?(Da=!0,
n&&(ua=n,wa=fa)):(ka=this.graphics.dataLabelContainer=z.group("datalabel",a.datalabelsGroup).trackTooltip(!0),n&&(ua=n,wa=za,ka.hide(),c&&Ia.attr({opacity:0})));$||ka.hide();r.length&&this.remove();l._preDrawCalculate();a=k.center;c=k.pieYScale;t&&P||(t=[]);for(ha=-1;++ha<P;)if(T=t[ha],ea=T.config,da=T.graphics,R=ea.y,V=ea.displayValue,U=ea.sliced,fa=ea.shapeArgs,ba=ea.centerAngle,ca=ea.toolText,$=!!ea.link,r=ea.style,X=$||G||!ea.doNotSlice,null!==R&&void 0!==R){Ba=da.element;ia=da.label;ga=da.connector;
if(!Ba){Ba=da.element=e.Pie3DManager.useSliceFromPool();if(Da){if(ha<P)for(Ca=void 0,na=ha+1;na<P&&void 0===Ca;na+=1)Ca=t[na].config.shapeArgs.end;void 0===Ca&&(Ca=sa)}else Ca=Ha?sa:Fa;Ba||(Ba=da.element=e.Pie3DManager.createSlice().drag(A,B,h).mouseover(H).mouseout(C).attr({ishot:X}));Ba.attr({start:-Ca,end:-Ca,cx:a[0],cy:a[1],r:a[2],innerR:a[3],radiusYFactor:c})}void 0!==V?(ia||(ia=d&&d.graphics&&d.graphics.label&&d.graphics.label.length?da.label=d.graphics.label.splice(0,1):da.label=z.text(ka).drag(A,
B,h).hover(H,C).attr({ishot:X})),ia.attr({text:V,title:T.originalText||"",fill:(M?F(T.color):r.color)||"#000000","text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash],visibility:"hidden",direction:Q,cursor:$?"pointer":""}).show().css({fontFamily:r.fontFamily,fontSize:r.fontSize,lineHeight:r.lineHeight,fontWeight:r.fontWeight,fontStyle:r.fontStyle}),0<m.distance&&(Z=m.connectorWidth)&&m.enableSmartLabels?(ga||(ga=d&&d.graphics&&d.graphics.connector&&
d.graphics.connector.length?da.connector=d.graphics.connector.splice(0,1):da.connector=z.path("M 0 0 l 0 0",ka).attr({visibility:"hidden",ishot:X}).drag(A,B,h).hover(H,C)),ga.attr({"stroke-width":Z,stroke:m.connectorColor||"#606060",cursor:$?"pointer":""}).show()):ga&&ga.hide()):(ia&&ia.hide(),ga&&ga.hide());T={chart:l,index:ha,seriesData:k,value:R,angle:ea.angle=ba,link:ea.link,shapeArgs:fa,slicedX:U&&!k.singletonCase?oa(ba)*s:0,slicedY:U&&!k.singletonCase?la(ba)*v:0,sliced:U,labelText:V,name:ea.name,
percentage:ea.percentage,toolText:ca,originalIndex:P-ha-1,style:ea.style,graphic:Ba,transX:ea.transX=oa(ba)*s,transY:ea.transY=la(ba)*v,slicedTranslation:ea.slicedTranslation="t"+ea.transX+","+ea.transY,label:ia,connector:ga};r={index:k.reversePlotOrder?ha:P-1-ha,link:ea.link,value:ea.y,displayValue:ea.displayValueArgs,categoryLabel:ea.categoryLabel,isSliced:ea.sliced,toolText:ea.toolText};Ba.attr({transform:"t"+T.slicedX+","+T.slicedY,cursor:$?"pointer":"",color:ea.color.color.split(",")[0],alpha:ea._3dAlpha,
borderWidth:ea.borderWidth,borderColor:ea.borderColor,showBorderEffect:I}).animateWith(p,q,{start:fa.start,end:fa.end,r:a[2],innerR:a[3],cx:a[0],cy:a[1],radiusYFactor:c},ua,w,wa).tooltip(D?ca:J).data("groupId",ha).data("plotItem",T).data("eventArgs",r);ia&&ia.data("plotItem",T).data("eventArgs",r);ga&&ga.data("plotItem",T).data("eventArgs",r)}l.placeDataLabels(!1)},hideFn:function(a,c,d){var e=d&&d.components||{};return function(){"element"===c?(e.Pie3DManager.removeSlice(a.element),delete a.element):
a[c].hide()}},remove:function(){var a=this.chart,c=this.config,d=this.components.removeDataArr||[],e=this.pool=this.pool=[],k=d.length,l,m,n,p,q=this.hideFn,c=c.startAngle;n=a.get("config","animationObj");var a=n.duration||0,w=n.dummyObj,t=n.animObj,r=n.animType;for(n=0;n<k;n++){l=d[0];l=l.graphics;for(m in l)p=l[m],e[m]||(e[m]=[]),"element"===m?p.animateWith(w,t,{start:-c,end:-c+.01},a,r,q(l,m,this)):e[m].push(p.hide());d.splice(0,1)}},foldingFn:function(){var a=this.config.startAngle;return{start:-a,
end:-a+.01}},_getPointColor:function(a,c){a=Oa(a);c=$(c);return{color:a+","+a,alpha:c+","+c,ratio:"0,100"}}},"pie2D",{setBorderWidth:void 0,showBorderEffect:void 0}]);FusionCharts.register("component",["dataset","Doughnut2D",{type:"doughnut2d",_getPointColor:function(a,c,d){var e;a=Oa(a);c=$(c);100>d&&q?(e=P(a,ha(100*(85-.2*(100-d)))/100),a=Pa(a,ha(100*(100-.5*d))/100),c={color:e+","+a+","+a+","+e,alpha:c+","+c+","+c+","+c,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:d}):c={color:a+","+a,alpha:c+
","+c,ratio:"0,100"};return c},_parsePiePlotOptions:function(){var a=this.__base__._parsePiePlotOptions.call(this);a.innerSize=this._getInnerSize();return a},draw:function(){var a=this.chart,c=a.config,d=this.config,e=c.canvasLeft+.5*c.canvasWidth,c=c.canvasTop+.5*c.canvasHeight,k,l=d.centerLabelConfig,m=l.label;k=.5*((d.innerSize=this._getInnerSize())||0);this.__base__.draw.call(this);m&&k&&a.drawDoughnutCenterLabel(m,e,c,2*k,2*k,l,!0);d.lastCenterLabelConfig=l},singleFillColor:function(a){return F({color:Oa(a.color,
1),alpha:$(a.alpha,1)})}},"Pie2D"]);FusionCharts.register("component",["dataset","Doughnut3D",{type:"doughnut3d"},"Pie3D"]);FusionCharts.register("component",["datasetGroup","marimekko",{init:function(){this.__base__.init.call(this);this.stackConf=[]},getDataSetPosition:function(a,c){var d=this.numVisiblePositions,e=this.stackConfig[a.positionIndex||0],k=this.stackConf[c],l;if(!a.visible&&e.visible||0===d)l=0;return{columnWidth:k.columnWidth,height:l,x:k.x}},draw:function(){var a=this.positionStackArr,
c=a.length,d,e,k,l;this.preDrawCalculate();this.drawLabel();this.drawSumValueFlag=!0;for(d=0;d<c;d++)for(e=a[d],k=e.length,this.manageClip=!0,e=0;e<k;e++)l=a[d][e].dataSet,l.draw()},preDrawCalculate:function(){var a=this.chart,c=this.stackSumValue,d,e=a.isBar,k=a.jsonData.chart,m=a.components.xAxis[0];d=l(e?k.overlapbars:k.overlapcolumns,a.is3D?0:1);var n=m.getAxisPosition(0),p=m.getAxisPosition(1),q=ra(p-n),w=na(l(k.plotspacepercent),0),t=l(k.plotpaddingpercent),r,n=a.config.canvasWidth,z,D=p=0,
B=m.config.axisRange.min,m=m.config.axisRange.max-B,s=a.config.categories,v;z=0;var A=a.components.numberFormatter;this.__base__.preDrawCalculate.call(this);a=B;r=this.numVisiblePositions;e=l(e?k.maxbarheight:k.maxcolwidth,Infinity);e=(1-.01*w)*q||Fa(1*q,e*(r||1));e=0===r?e:e/r;Fa(e-1,1<r?d||void 0!==t?0<t?e*t/100:0:4:0);d=0;for(t=c[0].length;d<t;d++)p+=c[0][d];this.totalSumValue=p;for(d=0;d<s.length;d++)e=s[d],e.widthpercent&&(z+=A.getCleanValue(e.widthpercent));100===z&&(v=this.setUserWidth=1);
d=0;for(t=c[0].length;d<t;d++)e=s[d],this.stackConf[d]||(this.stackConf[d]={}),z=this.stackConf[d],e=v?A.getCleanValue(e.widthpercent)/100:c[0][d]/p,z.columnWidth=e*n,D+=e,e=e*m/2+a,a=D*m+B,z.x=e;this.isCrisp=!0},getStackSumPercent:function(){var a=this.stackSumValue,c=this.totalSumValue,d,e=this.chart.components.numberFormatter,k=this.chart.config.categories,l=this.setUserWidth,m=[];for(d=0;d<a[0].length;d++)m[d]=l?e.getCleanValue(k[d].widthpercent):a[0][d]/c*100;return m},drawLabel:function(){var a=
this.chart,c=a.components,e=this.getStackSumPercent(),k=this.stackConf,m,n,p,q=a.graphics.datalabelsGroup,w=c.numberFormatter,t=a.get("config","animationObj"),r=t.transposeAnimDuration,t=t.animType,z=0,D,B=c.paper,F=a.config.canvasBottom,s=c.xAxis[0];m=a.config.style;var v=a.config.dataLabelStyle,A=e.length,H,h=this.sumValues[0],C,G;n=a.jsonData.chart;a=c.canvas.config.clip["clip-canvas"];q=this.labelContainer=this.labelContainer||B.group("labelGroup",q);n=l(n.showxaxispercentvalues,1);c=this.xLabels=
this.xLabels||[];q.attr({"clip-rect":a});if(n)for(a=d(v.backgroundColor,"#ffffff"),C=d(""===v.borderColor?"#"+m.inCancolor:v.borderColor,"#000000"),G=d(v.borderThickness,1),p=0;p<A-1;p++)z+=e[p],D=w.percentValue(z),m=s.getAxisPosition(k[p].x)+k[p].columnWidth/2,n=F,H=c[p],h[p].positive===h[p].negative?H&&H.hide().attr({"text-bound":[]}):(D={text:D,"class":"fusioncharts-label",fill:v.color,"text-bound":[a,C,G,v.borderPadding,v.borderRadius,v.borderDash],"font-weight":v.fontWeight,"font-style":v.fontStyle,
"font-family":v.fontFamily,"font-size":v.fontSize,"line-height":v.lineHeight,visibility:"visible"},H||(c[p]=H=B.text(q)),H.show().attr(D),H._state&&H._state.labelWidth||(D=H.getBBox(),c[p]._state={labelWidth:D.width,labelHeight:D.height}),n=n-c[p]._state.labelHeight/2-G,0===H.attrs.x&&0===H.attrs.y?H.attr({x:m,y:n}):(D={x:m,y:n},r?H.animate(D,r,t):H.attr(D)))},getSumValueConfig:function(a){var c=a.yAxis,d=a.stack100percent,e=a.sumValue;a=this.chart.components.xAxis[0].getAxisPosition(this.stackConf[a.xValue].x);
c=c.getAxisPosition(d?100:e);return{xPos:a,yPos:c}}},"column"]);FusionCharts.register("component",["dataset","marimekko",{type:"marimekko",configure:function(){var a=this.config,c=this.chart,d=c.jsonData.chart,e=l(d.usepercentdistribution,1);m.each(this.JSONData.data,function(a){a&&(a.value=ra(a.value))});c.stack100percent=e;this.__base__.configure.call(this);c.config.stack100Percent=l(e,1);a.stack100Percent=c.config.stack100Percent;a.showPercentValues=l(d.showpercentvalues,0);a.showSum=l(d.showsum,
1)},_addLegend:function(){var a=this.chart,c=a.jsonData.chart,d,e;e=this.config;var a=a.components.legend,k=e.legendSymbolColor;d=l(c.us3dlighting,c.useplotgradientcolor,1);c=Pa(k,60).replace(Ja,R);d?(d=Pa(k,40),d={FCcolor:{color:k+","+k+","+d+","+k+","+k,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):d={FCcolor:{color:k,angle:0,ratio:"0",alpha:"100"}};e={enabled:e.includeInLegend,type:this.type,fillColor:F(d),strokeColor:F(c),rawFillColor:k,label:da(this.JSONData.seriesname)};this.legendItemId=
a.addItems(this,this.legendInteractivity,e)},draw:function(){var a=this,c=a.JSONData,e=a.chart,k=e.jsonData.chart,n=e.config,p=a.config,q=a.groupManager,w=a.index,r,z,D=a.visible,B=e.components,H=B.canvas.config.clip,C=B.paper,G=B.xAxis[0],s=G.getCategoryLen(),v=a.yAxis,A=e.graphics.datasetGroup,J=e.isStacked,h,I,P,Q=e.graphics,T=m.parseUnsafeString,R=m.getValidValue,V=m.Raphael,$=p.showTooltip,U=e.get("config","animationObj"),ba=U.duration,Z=U.dummyObj,fa=U.animObj,ca=U.animType,da=G.getAxisPosition(0),
ia=G.getAxisPosition(1),ga=p.groupMaxWidth=ia-da,ha=q.stackSumValue[a.positionIndex],la=p.maxColWidth,na=p.transposeAnimation,oa=(1-.01*p.definedGroupPadding)*ga||Fa(1*ga,1*la),ma,qa,ua,wa=a.components,va=wa.data,ka,sa,Da,Ha,Ia,Ja,Na,Pa,Ba,Oa=a.drawn,za=wa.removeDataArr,Ta=za&&za.length,ab=wa.addDataArr,Zb=ab&&ab.length,Ub={},Ea={},Fb=e.config.dataLabelStyle,Vb={fontFamily:Fb.fontFamily,fontSize:Fb.fontSize,lineHeight:Fb.lineHeight,fontWeight:Fb.fontWeight,fontStyle:Fb.fontStyle,color:Fb.color},bc,
hc=v.getAxisBase(),Qb=v.yBasePos=v.getAxisPosition(hc),Rb,yb,bb=0,cb=p.showShadow,$a=p.plotBorderThickness,Sa=p.plotRadius,Ra=a.graphics,Ya=Ra.container,db=Ra.trackerContainer,fb=Ra.dataLabelContainer,Za=Ra.shadowContainer,Xa=Ra.pool,hb=Q.trackerGroup,nb,pb=1,pc=G.getAxisPosition(s-1)+0,ib=G.getAxisPosition(0)+0,gb,Wa=!0,rb=!1,kb=!1,ob,Cb,Db=a.startPosition,qb=q.stackConf,sb=p.showPlotBorder,Eb=function(a){ea.call(this,e,a)},Pb=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloverAttr");
b.attr(c);ea.call(this,e,a,"DataPlotRollOver")},Hb=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloutAttr");b.attr(c);ea.call(this,e,a,"DataPlotRollOut")},wb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Ya.hide(),db.hide(),Za.hide(),fb&&fb.hide(),a._conatinerHidden=!0)},jb=function(){Wa&&wb();this.show()},lb=function(){a.drawLabel();q.drawSumValueFlag&&q.drawSumValue()},xb=function(){return Db?function(a,b){a.x=ib-ga*(Zb-b);a.y=I;a.height=
qa}:!1===Db?function(a){a.x=pc+ga*pb++;a.y=I;a.height=qa}:function(a){a.width=0}},Ib,mb,tb=e.components.canvas.config,Lb=tb.oriCanvasBorderThickness,ub=0<tb.canvasBorderWidth,Nb=n.canvasRight,Gb=n.canvasTop,Mb=n.canvasLeft,Jb;Oa&&(xb=xb());Ya||(Ya=a.graphics.container=C.group("columns",A),D||Ya.hide());db||(db=a.graphics.trackerContainer=C.group("col-hot",hb),D||db.hide());e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Vb);Za||(Za=a.graphics.shadowContainer=C.group("shadow",A).toBack(),
D||Za.hide());mb=H["clip-canvas"];ub||(mb[3]+=Lb/2,M&&(mb[2]+=2*Lb));Oa?(Ya.animateWith(Z,fa,{"clip-rect":mb},ba,ca),Za.animateWith(Z,fa,{"clip-rect":mb},ba,ca)):(Ya.attr({"clip-rect":mb}),Za.attr({"clip-rect":mb}));for(z=0;z<s;z++)if(Ja=(Ba=(ka=va[z])&&ka.config)&&Ba.setValue,void 0!==ka&&null!==Ja){bc=q.getDataSetPosition(a,z);ob=l(bc.columnWidth,oa/1);Cb=bc.height;Ia=Ba.setLink;nb=Ba.colorArr;ka.graphics||(va[z].graphics={});Pa=Ba.displayValue;Rb=Ba.previousPositiveY;sa=R(T(d(Ba.origToolText,c.plottooltext,
k.plottooltext)));J&&(Rb=a._parseValues(z,Rb,ha[z],sa),Ja=Ba.value);Ib=qb[z].x;yb=v.getAxisPosition(Rb||hc);h=G.getAxisPosition(Ib)-ob/2;0!==Cb?(I=v.getAxisPosition(Ja+(Rb||0)),qa=ra(yb-I)):(qa=0,I=yb);I=Fa(I,yb);parseInt(I)<=Gb&&(qa-=Gb-I-+ub,I=Gb-+ub);1>=$a&&(Ca(h)<=Mb&&(ob+=h,h=Mb-$a/2+ +!!$a-+ub,ob-=h),Ca(h+ob)>=Nb&&(ob=Nb-h+$a/2-+!!$a+ +ub));q.isCrisp?(P=V.crispBound(h,I,ob,qa,$a),h=P.x,I=P.y,ma=P.width,qa=P.height):ma=ob;ua=Ba.toolText+(sa?"":Ba.toolTipValue);gb=Ba.plotBorderDashStyle;Na={index:z,
link:Ia,value:Ja,displayValue:Pa,categoryLabel:Ba.label,toolText:ua,id:"",datasetIndex:w||0,datasetName:c.seriesname,visible:D};Ub=Ba.setRolloutAttr;Ea=Ba.setRolloverAttr;ba||(Qb=I,bb=qa);r={x:h,y:Qb,width:ma,height:bb||1,r:Sa,ishot:!$,fill:F(nb[0]),stroke:F(nb[1]),"stroke-width":sb?$a:0,"stroke-dasharray":gb,"stroke-linejoin":"miter",visibility:D};ka._xPos=h;ka._yPos=I;ka._height=qa;ka._width=ma;ka._index=z;Jb=!1;!ka.graphics.element&&Oa&&(xb(r,z),Xa&&Xa[0].graphics.element?(Da=Xa[0].graphics.element,
Da.attr(r)):(Da=ka.graphics.element=C.rect(r,Ya),Jb=!0),Xa&&Xa[0].graphics.hotElement&&(ka.graphics.hotElement=Xa[0].graphics.hotElement),Xa&&Xa.splice(0,1));ka.graphics.element?(kb=rb=!0,r={x:h,y:I,width:ma,height:qa||1},na?Da=ka.graphics.element.animateWith(Z,fa,r,ba,ca,jb):(Da=ka.graphics.element.attr(r),Wa&&wb())):(Da=ka.graphics.element=C.rect(r,Ya),ba?(Da.animateWith(Z,fa,{y:I,height:qa||1},ba,ca,Wa&&lb),Wa=!1):kb=rb=!0);Da.attr({r:Sa,ishot:!$,fill:F(nb[0]),stroke:F(nb[1]),"stroke-width":sb?
$a:0,"stroke-dasharray":gb,"stroke-linejoin":"miter"}).shadow({opacity:cb},Za).data("BBox",P);if(Ia||$)qa<X&&(I-=(X-qa)/2,qa=X),r={x:h,y:I,width:ma,height:qa,r:Sa,cursor:Ia?"pointer":"",stroke:t,"stroke-width":$a,fill:t,ishot:!0,visibility:D},ka.graphics.hotElement?ka.graphics.hotElement.attr(r):(Ha=ka.graphics.hotElement=C.rect(r,db),Jb=!0);Ha=ka.graphics.hotElement;(Ha||Da).data("eventArgs",Na).data("groupId",void 0).tooltip(ua).data("dataObj",ka).data("setRolloutAttr",Ub).data("setRolloverAttr",
Ea);Jb&&(Ha||Da).click(Eb).hover(Pb,Hb)}rb&&a.drawLabel();q.drawSumValueFlag&&kb&&q.drawSumValueFlag&&q.drawSumValue();a.drawn=!0;Ta&&a.remove()},getDataLimits:function(){var a=this.conf;return{max:a.yMax,min:a.yMin,xMax:100,xMin:0}}},"column"])}]);
FusionCharts.register("module",["private","modules.renderer.js-interface",function(){var k=this,m=k.hcLib,C=k.renderer.getRenderer("javascript"),r=m.hasModule,e=m.loadModule,a=m.getMetaSentence,M=m.moduleCmdQueue,J=m.executeWaitingCommands,I=m.injectModuleDependency,n=m.moduleDependencies,z=m.getDependentModuleName,G,q;G=function(e){var c,n,d,q={},r;e=a(e);for(c in k.core.items)c=k.core.items[c],n=c.chartType(),d=c.options.chartTypeSourcePath+n,(n=c.jsVars)&&n.waitingModule&&c.__state.rendering&&
m.needsModule(e.predicate,d)&&(n.waitingModuleError=!0,n=z(d).concat(n.userModules),n.length&&(n=n[n.length-1],q[n]=m.moduleCmdQueue[n]));for(r in q)J(q[r]);k.raiseError(k.core,"11171116151","run","HC-interface~renderer.load","Unable to load required modules and resources: "+e.key)};q=function(a,c,e){var d=a.args,m=a.options;a._chartMessageImageStyle={imageHAlign:d.typeNotSupportedMessageImageHAlign||m.baseChartMessageImageHAlign,imageVAlign:d.typeNotSupportedMessageImageVAlign||m.baseChartMessageImageVAlign,
imageAlpha:d.typeNotSupportedMessageImageAlpha||m.baseChartMessageImageAlpha,imageScale:d.typeNotSupportedMessageImageScale||m.baseChartMessageImageScale};a._chartMessageStyle={color:d.typeNotSupportedMessageColor||m.baseChartMessageColor,fontFamily:d.typeNotSupportedMessageFont||m.baseChartMessageFont,fontSize:d.typeNotSupportedMessageFontSize||m.baseChartMessageFontSize};k.hcLib.createChart(a,c,"base",e,m.typeNotSupportedMessage)};m.eventList=k.extend(k.legacyEventList,{loaded:"FC_Loaded",dataloaded:"FC_DataLoaded",
rendered:"FC_Rendered",drawcomplete:"FC_DrawComplete",dataxmlinvalid:"FC_DataXMLInvalid",nodatatodisplay:"FC_NoDataToDisplay",exported:"FC_Exported"});m.raiseEvent=k.raiseEventWithLegacy;n.charts=k.extend(n.charts||{},{column2d:0,column3d:0,bar2d:0,bar3d:0,pie2d:0,pie3d:0,line:0,area2d:0,doughnut2d:0,doughnut3d:0,pareto2d:0,pareto3d:0,mscolumn2d:0,mscolumn3d:0,msline:0,msarea:0,msbar2d:0,msbar3d:0,stackedcolumn2d:0,marimekko:0,stackedcolumn3d:0,stackedarea2d:0,stackedcolumn2dline:0,stackedcolumn3dline:0,
stackedbar2d:0,stackedbar3d:0,msstackedcolumn2d:0,mscombi2d:0,mscombi3d:0,mscolumnline3d:0,mscombidy2d:0,mscolumn3dlinedy:0,stackedcolumn3dlinedy:0,msstackedcolumn2dlinedy:0,scatter:0,bubble:0,ssgrid:0,scrollcolumn2d:0,scrollcolumn3d:0,scrollline2d:0,scrollarea2d:0,scrollstackedcolumn2d:0,scrollcombi2d:0,scrollcombidy2d:0,zoomline:0,zoomlinedy:0,zoomscatter:0});n.powercharts=k.extend(n.powercharts||{},{spline:0,splinearea:0,msspline:0,mssplinearea:0,mssplinedy:0,multiaxisline:0,multilevelpie:0,waterfall2d:0,
msstepline:0,inversemsline:0,inversemscolumn2d:0,inversemsarea:0,errorbar2d:0,errorscatter:0,errorline:0,logmsline:0,logmscolumn2d:0,logstackedcolumn2d:0,radar:0,dragnode:0,candlestick:0,selectscatter:0,dragcolumn2d:0,dragline:0,dragarea:0,boxandwhisker2d:0,kagi:0,heatmap:0,treemap:0});n.widgets=k.extend(n.widgets||{},{angulargauge:0,bulb:0,cylinder:0,drawingpad:0,funnel:0,hbullet:0,hled:0,hlineargauge:0,vlineargauge:0,pyramid:0,realtimearea:0,realtimecolumn:0,realtimeline:0,realtimelinedy:0,realtimestackedarea:0,
realtimestackedcolumn:0,sparkcolumn:0,sparkline:0,sparkwinloss:0,thermometer:0,vbullet:0,gantt:0,vled:0});n.maps=k.extend(n.maps||{},{});k.extend(C,{render:function(a,c){var e=this.chartType(),d=this.options.chartTypeSourcePath+e,n=this.jsVars,G=this.__state,l=m.chartAPI,w=this.options,H=this.args,F=this.options.showChartLoadingMessage,J,D;J=z(d).concat(n.userModules);n.isResizing&&(n.isResizing=clearTimeout(n.isResizing));n.hcObj&&n.hcObj.destroy&&n.hcObj.destroy();if(l[e]){if(l[G.lastRenderedType]&&
G.lastRenderedType!==e)for(D in k.raiseEvent("chartTypeChanged",{previousType:G.lastRenderedType,newType:e},this),l[G.lastRenderedType].eiMethods)delete this[D];G.lastRenderedType=e;G.lastRenderedSrc=this.src;!n.waitingModuleError&&m.raiseEvent("internal.loaded",{type:e,triggeredModuleLoad:n.drLoadAttempted||n.waitingModule},this,[this.id]);delete n.waitingModule;delete n.waitingModuleError;delete n.drLoadAttempted;k.hcLib.createChart(this,a,e,c)}else{if(e&&r(J)){if(n.drLoadAttempted){k.raiseError(this,
11112822001,"run","HC-interface~renderer.render","Chart runtimes not loaded even when resource is present");q(this,a,c);return}I(d)&&(J=z(d).concat(n.userModules));n.drLoadAttempted=!0}else{if(!J.length){q(this,a,c);return}if(n.waitingModuleError){q(this,a,c);delete n.waitingModule;delete n.waitingModuleError;return}}(e=M[J[J.length-1]])?(e.push({cmd:"render",obj:this,args:arguments}),n.waitingModule||(n=F?w.PBarLoadingText||w.loadMessage:"",this._chartMessageImageStyle={imageHAlign:H.loadMessageImageHAlign||
w.baseChartMessageImageHAlign,imageVAlign:H.loadMessageImageVAlign||w.baseChartMessageImageVAlign,imageAlpha:H.loadMessageImageAlpha||w.baseChartMessageImageAlpha,imageScale:H.loadMessageImageScale||w.baseChartMessageImageScale},this._chartMessageStyle={color:H.loadMessageColor||w.baseChartMessageColor,fontFamily:H.loadMessageFont||w.baseChartMessageFont,fontSize:H.loadMessageFontSize||w.baseChartMessageFontSize},k.hcLib.createChart(this,a,"base",void 0,n),C.load.call(this,a,c))):(k.raiseError(this,
12080515551,"run","HC-interface~renderer.render","Unregistered module in dependentModule definition."),this._chartMessageImageStyle={imageHAlign:H.renderErrorMessageImageHAlign||w.baseChartMessageImageHAlign,imageVAlign:H.renderErrorMessageImageVAlign||w.baseChartMessageImageVAlign,imageAlpha:H.renderErrorMessageImageAlpha||w.baseChartMessageImageAlpha,imageScale:H.renderErrorMessageImageScale||w.baseChartMessageImageScale},this._chartMessageStyle={color:H.renderErrorMessageColor||w.baseChartMessageColor,
fontFamily:H.renderErrorMessageFont||w.baseChartMessageFont,fontSize:H.renderErrorMessageFontSize||w.baseChartMessageFontSize},k.hcLib.createChart(this,a,"base",void 0,w.renderErrorMessage))}},update:function(a){var c=this.ref,e=this.jsVars,d=e&&e.fcObj,d=e.container||d&&d.options&&d.options.containerElement&&d.options.containerElement.childNodes[0];e.hcObj&&e.hcObj.destroy&&e.hcObj.destroy();e.isResizing&&(e.isResizing=clearTimeout(e.isResizing));void 0===a.error?(delete e.stallLoad,delete e.loadError,
this.isActive()?this.src!==this.__state.lastRenderedSrc?this.render():k.hcLib.createChart(this,d):this.__state.rendering&&!e.waitingModule&&k.hcLib.createChart(this,d)):(this.isActive()&&"function"===typeof c.showChartMessage&&c.showChartMessage("InvalidXMLText"),delete e.loadError)},resize:function(a){var c=this.ref,e,d=this.jsVars;c&&c.resize&&(d.isResizing&&(d.isResizing=clearTimeout(d.isResizing)),d.isResizing=setTimeout(function(){e=k.normalizeCSSDimension(a.width,a.height,c);void 0!==a.width&&
(c.style.width=e.width);void 0!==a.height&&(c.style.height=e.height);c.resize();delete d.isResizing},0))},dispose:function(){var a,c=this.jsVars;c.isResizing&&(c.isResizing=clearTimeout(c.isResizing));c.instanceAPI&&c.instanceAPI.dispose&&(c.instanceAPI.dispose(),delete c.instanceAPI);if(a=this.ref)k.purgeDOM(a),a.parentNode&&a.parentNode.removeChild(a);c.container=null;m.cleanupWaitingCommands(this)},load:function(a,c){var n=this.jsVars,d=this.chartType(),r=k.hcLib.chartAPI[d],d=z(d).concat(n.userModules),
C=d[d.length-1];r||!d||d&&0===d.length?(delete n.waitingModule,a&&q(this,a||this.ref,c)):n.waitingModule||(n.waitingModule=!0,delete n.waitingModuleError,e(d,function(){delete n.waitingModule;J(m.moduleCmdQueue[C])},G,this))}})}]);
FusionCharts.register("module",["private","modules.api.dynamicchartattributes",function(){var k=this;k.extend(k.core,{setChartAttribute:function(m,C){var r,e,a,M;if("string"===typeof m)r=m,m={},m[r]=C;else if(null===m||"object"!==typeof m)return;M=0;if(a=(r=this.getChartData(k.dataFormats.JSON))&&(r.chart||r.graph||r.map)){for(e in m)M+=1,null===m[e]?delete a[e.toLowerCase()]:a[e.toLowerCase()]=m[e];0<M&&("undefined"===typeof a.animation&&(a.animation="0"),this.setChartData(r,k.dataFormats.JSON))}else k.raiseError(this,
"2105141421","run","#setChartAttribute()","Could not retrieve attribute list. Is data ready?")},getChartAttribute:function(m){var C=this.getChartData(k.dataFormats.JSON),C=C&&(C.chart||C.graph||C.map),r,e;if(0===arguments.length||void 0===m||void 0===C)return C;if("string"===typeof m)r=C[m.toString().toLowerCase()];else if(m instanceof Array)for(r={},e=0;e<m.length;e+=1)r[m[e]]=C[m[e].toString().toLowerCase()];else k.raiseError(this,"25081429","param","~getChartAttribute()",'Unexpected value of "attribute"');
return r}},!0)}]);
FusionCharts.register("module",["private","api.linkmanager",function(){var k=this,m=k.FusionChartsDOMInsertModes,C={},r=function(a,e){this.items={};this.root=a;this.parent=e;e instanceof k.core?this.level=this.parent.link.level+1:(C[a.id]=[{}],this.level=0)},e=function(a,e){return(a.options.containerElement===e.options.containerElement||a.options.containerElementId===e.options.containerElementId)&&a.options.insertMode===m.REPLACE};k.policies.link=["link",void 0];r.prototype.configuration=function(){return C[this.root.id][this.level]||
(C[this.root.id][this.level]={})};k.extend(k.core,{configureLink:function(a,e){var m;if(a instanceof Array){for(m=0;m<a.length;m+=1)"object"!==typeof C[this.link.root.id][m]&&(C[this.link.root.id][m]={}),k.extend(C[this.link.root.id][m],a[m]);C[this.link.root.id].splice(a.length)}else"object"===typeof a?("number"!==typeof e&&(e=this.link.level),void 0===C[this.link.root.id][e]&&(C[this.link.root.id][e]={}),k.extend(C[this.link.root.id][e],a)):k.raiseError(this,"25081731","param","~configureLink()",
"Unable to update link configuration from set parameters")}},!0);k.addEventListener("beforeInitialize",function(a){a.sender.link instanceof r?a.sender.link.parent instanceof k.core&&(a.sender.link.parent.link.items[a.sender.id]=a.sender):a.sender.link=new r(a.sender)});k.addEventListener("linkedChartInvoked",function(a,m){var C=a.sender,I=C.clone({dataSource:m.data,dataFormat:m.linkType,link:new r(C.link.root,C)},!0),n=m.alias,z;n&&(!I.typeSource&&I.swfUrl&&(I.typeSource=I.swfUrl.replace(/(.*?)?[^\/]*\.swf.*?/ig,
"$1")),I.type=n);C.args&&0!==parseInt(C.args.animate,10)&&delete I.animate;k.extend(I,C.link.configuration());k.raiseEvent("beforeLinkedItemOpen",{level:C.link.level},C.link.root,void 0,function(){k.core.items[I.id]instanceof k.core&&k.core.items[I.id].dispose();z=new k.core(I);e(z,C)||C.options.overlayButton&&C.options.overlayButton.message||("object"!==typeof C.options.overlayButton&&(C.options.overlayButton={}),C.options.overlayButton.message="Close");z.render();k.raiseEvent("linkedItemOpened",
{level:C.link.level,item:z},C.link.root)})});k.addEventListener("overlayButtonClick",function(a,m){if("LinkManager"===m.id){var r=a.sender,C=r.link.level-1,n=r.link.parent,z=r.link.root;k.raiseEvent("beforeLinkedItemClose",{level:C,item:r},z,r,function(){setTimeout(function(){k.core.items[r.id]&&r.dispose();k.raiseEvent("linkedItemClosed",{level:C},z)},0);n.disposed||n.isActive()||!e(r,n)||n.render()})}});k.addEventListener("Loaded",function(a){a=a.sender;var e;a&&void 0!==a.link&&a.link.root!==a&&
a.link.parent instanceof k.core&&(a.ref&&"function"===typeof a.ref.drawOverlayButton?(e=k.extend({show:!0,id:"LinkManager"},a.link.parent.options.overlayButton),k.extend(e,a.link.parent.link.configuration().overlayButton||{}),a.ref.drawOverlayButton(e)):k.raiseWarning(a,"04091602","run","::LinkManager^Loaded","Unable to draw overlay button on object. -"+a.id))});k.addEventListener("beforeDispose",function(a){var e=a.sender;e&&e.link instanceof r&&(e&&e.link&&e.link.parent instanceof k.core&&e.link.parent.link&&
e.link.parent.link.items&&delete e.link.parent.link.items[a.sender.id],delete C[e.id])})}]);
FusionCharts.register("module",["private","modules.renderer.js-thememanager",function(){var k=this,m,C,r,e=/\s+!important$/,a=/\\!important$/,M=function(a,e){for(var d=e.length,k=-1;d--;)if(a===e[d]){k=d;break}return k},J=function(a,e,d,k,m){var l,n,q,r;m?(k.push(a),m.push(e)):(k=[a],m=[e]);if(e instanceof Array)for(l=0;l<e.length;l+=1){try{n=a[l],q=e[l]}catch(t){continue}if("object"!==typeof q)d&&void 0===q||(a[l]=q);else{if(null===n||"object"!==typeof n)n=a[l]=q instanceof Array?[]:{};r=M(q,m);
-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)}}else for(l in e){try{n=a[l],q=e[l]}catch(z){continue}if(null!==q&&"object"===typeof q)if(r=Object.prototype.toString.call(q),"[object Object]"===r){if(null===n||"object"!==typeof n)n=a[l]={};r=M(q,m);-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)}else"[object Array]"===r?(null!==n&&n instanceof Array||(n=a[l]=[]),r=M(q,m),-1!==r?n=a[l]=k[r]:J(n,q,d,k,m)):a[l]=q;else a[l]=q}return a},I=function(a,e,d){if("object"!==typeof a&&"object"!==typeof e)return null;if("object"!==typeof e||
null===e)return a;"object"!==typeof a&&(a=e instanceof Array?[]:{});J(a,e,d);return a},n=function(c){var k={important:!1,str:""};if(!c)return k;c=c.toString();e.test(c)?(c=c.replace(e,""),k.important=!0):(c=c.replace(a,"!imporant"),k.important=!1);k.str=c;return k},z=function(a,e){var d,k,m,l,n,q,r=0,t=0;for(d in a)if(k=a[d],k instanceof Array)for(q=k.length,n=0;n<q;n+=1){if(l=k[n],"object"===typeof l)if("category"===d)if("true"===l.vline){if(m=e.component("vline",r,l))G(l,m),r+=1}else{if(m=e.component("category",
t,l,q))G(l,m),t+=1}else if(m=e.component(d,n,l,q))G(l,m),z(l,m)}else"object"===typeof k&&(m=e.component(d,null,k))&&(G(k,m),z(k,m))},G=function(a,e){var d=e.getAll(),k,m;for(k in d)m=d[k].toString(),m=n(m),m.important?a[k.toLowerCase()]=m.str:void 0===a[k.toLowerCase()]&&(a[k.toLowerCase()]=m.str)},q=function(a,e){"geo"===e.defaultSeriesType&&t.call(this,a,e)},t=function(a,e){var d=a.sender,m=d.getChartData(k.dataFormats.JSON,!0),n;m.error||((n=m.data.chart.theme)?r.themify(n,d,d.chartType(),m.data,
"geo"===e.defaultSeriesType&&"geo"):d.jsVars&&d.jsVars.themeObject&&d.jsVars.themeObject.dispose())};m=function(){this.themeStore={}};m.prototype={constructor:m,add:function(a){for(var e=0,d=a.length,k;e<d;e+=1)(k=a[e].name)&&(this.themeStore[k]=a[e])},themify:function(a,e,d,m,n){var l=e.jsVars,w=a.split(","),r=[],z=w.length,G,D;if(z){for(D=0;D<z;D+=1){G=this.themeStore;var I;I=w[D];I=I.replace(/^\s\s*/,"");for(var J=/\s/,M=I.length;J.test(I.charAt(--M)););I=I.slice(0,M+1);(G=G[I])&&r.push(this.evaluateThemeJSON(G.theme,
e,d,n))}r.length?(l.themeObject=new C(r,e,!1,m),this.applyTheme(e),e.addEventListener("chartTypeChanged",t),e.addEventListener("internal.drawstart",q)):k.raiseWarning(e,"14051100501","run","api.themes~themify()",'The theme "'+a+'" requested has not been registered.')}},evaluateThemeJSON:function(a,e,d,k){var m={},l=e.jsVars,n=function(a){var c,d;for(c in a)d=a[c],m[c]=d instanceof Array?I(m[c]||[],d):"object"===typeof d?I(m[c]||{},d):d};d=d||e.chartType();l.themeObject&&a!==l.themeObject&&(l.themeObject.dispose(),
delete l.themeObject);n(a.base);k&&a[k]&&n(a[k]);d&&a[d]&&n(a[d]);return m},applyTheme:function(a){a=a.jsVars.themeObject;var e=a.getThemedJSONData().data;e&&z(e,a)}};C=function(a,e,d,k){this.themeArray=a;this.themeComponents={};this.base={};this.chartInstance=e;this.isChildInstance=Boolean(d);this.themedData=d?null:I({},k);this.length=a.length;e=0;for(d=a.length;e<d;e+=1)this.parse(a[e])};C.prototype={constructor:C,pushTheme:function(a){a&&(this.themeArray.push(a),this.parse(a),this.length+=1)},
popTheme:function(){},parse:function(a){var e=this.themeComponents,d=this.chartInstance,k=this.base,m,l,q;for(l in a)if("string"===typeof a[l]||"number"===typeof a[l])if(k[l]){if(m=n(a[l]),q=n(k[l]),m.important||!q.important)k[l]=a[l]}else k[l]=a[l];else e[l]||(e[l]=[]),m=e[l],a[l]instanceof Array?m.push(I([],a[l])):"object"===typeof a[l]?m.push(new C([a[l]],d,!0)):"function"===typeof a[l]&&m.push(a[l])},merge:function(a){var e=this.base,d=a.base,k=this.themeComponents,m=a.themeComponents,l,q,r;for(r in d)if(l=
n(e[r]),q=n(d[r]),!l.important||q.important)e[r]=d[r];for(r in m)k[r]=k[r]?k[r].concat(m[r]):[].concat(m[r]);this.length+=a.length},get:function(a){return this.base[a]},getAll:function(){return I({},this.base)},component:function(a,e,d,k){var m=this.themeComponents,l=this.chartInstance,n=new C([],l,!0),q,r,t;r=m[a];if(!r)return null;a=0;for(m=r.length;a<m;a+=1)t=r[a],"function"===typeof t?(e=e||0,n.pushTheme(t.call(l,e,d,k))):t instanceof Array?(e=e||0,q=t.length,e%=q,q=t[e],q instanceof C?n.merge(q):
"function"===typeof q?n.pushTheme(q.call(l,e,d,k)):n.pushTheme(q)):t instanceof C?n.merge(t):n.pushTheme(t);return n},getThemedJSONData:function(){return{data:this.themedData}},dispose:function(){var a=this.themeComponents,e=this.chartInstance,d,k;for(d in a)if(k=a[d].length){for(;k--;)a[d][k].dispose&&a[d][k].dispose();delete a[d]}this.isChildInstance||(e.removeEventListener("chartTypeChanged",t),e.removeEventListener("internal.drawstart",q));this.dataWithoutTheme=this.isChildInstance=this.themeArray=
this.base=this.chartInstance=this.themeComponents=null}};r=new m;k.registrars.theme=k.registerTheme=function(a){a&&("[object Array]"!==Object.prototype.toString.call(a)&&(a=[a]),r.add(a))};k.addEventListener("beforeDataUpdate",function(a,e){var d=a.sender,m=k.core.transcodeData(e.data,e.format,k.dataFormats.JSON),n=m.chart&&m.chart.theme;n?r.themify(n,d,d.args.type,m):d.jsVars&&d.jsVars.themeObject&&(d.jsVars&&d.jsVars.themeObject.dispose(),d.jsVars&&delete d.jsVars.themeObject)})}]);
FusionCharts.register("theme",{name:"default",theme:{base:{chart:{labelDisplay:"stagger !important",caption:"Theme Caption \\!important",canvasBgColor:"#56EF22",borderThickness:"5 !important",borderColor:"#E60539",baseFontColor:"#781129"},categories:[{fontColor:"#0F4F40",fontSize:15,category:function(k){return{showLabel:k%2?0:1}},vline:{color:"#000000",thickness:2}}],dataset:[{color:"#8C3146",data:function(k,m){8==k&&(m.value="");return{color:32E3>Number(m.value)?"#8C3146":"#FF0000",alpha:"100"}}}],
trendlines:[{line:function(k){return k?{color:"#ff0000",thickness:3}:{color:"#ffff00",thickness:3}}}]},pie2d:{chart:{bgColor:"#FF0000"}},msline:{chart:{canvasBgColor:"#ff0000"}},geo:{chart:{canvasBgColor:"#0000ff"}},world:{chart:{canvasBgColor:"#00ff00"}}}});
FusionCharts.register("module",["private","modules.renderer.js-highlightmanager",function(){var k=this,m=k.hcLib,C=m.extend2,r=m.pluckNumber,e=m.toRaphaelColor,a=/^#?[0-9a-f]{6}/i,M=/FFFFFF/i,J=/255,255,255/,I=m.getFirstAlpha,n=function(a){a=a.replace("rgba(","").split(",");return"#"+("000000"+(a[0]<<16|a[1]<<8|a[2]).toString(16)).slice(-6)},z=m.pluck,G=function(a){if(/rgb/.test(a))return a=a.match(/[\d\.]+\)/g),parseFloat(a&&a[0]);if(a.FCcolor)return I(a.FCcolor.alpha)},q=function(a){a=a.split(",");
var c,d,e,k={},l;c=0;for(d=a.length;c<d;c++)e=a[c].split("="),l=e[0],e=e[1],k[l]=e;return k},t=function(c,d,k){var l,m=d.color;if(/rgb/.test(c))d=z(d.alpha,100*G(c)),/rgb/.test(m)&&(m=n(m)),l=k?e({color:z(m,n(c)),alpha:d}):c;else if(c.FCcolor){if(k){c=c.FCcolor;var p;k={};var q;for(p in c)if("alpha"===p){m=p;if(d.alpha){l=c[p];var r=d.alpha,t=void 0,B=void 0,C=[];if("number"===typeof l)l=r;else{B=l.split&&l.split(",");for(t=0;t<B.length;t++)C.push(r);l=C.join()}}else l=c[p];k[m]=l}else"color"===p?
(-1!==c[p].indexOf(",")&&d.color&&(q=d.color+","+c[p].substring(c[p].indexOf(",")+1)),k[p]=z(q||d.color,c[p])):k[p]=c[p];d=e(k)}else d=e(c.FCcolor);l=d}else a.test(c.color||c)&&(l=k?e({color:z(d.color,c.color,c),alpha:z(d.alpha,c.alpha)}):e({color:c.color||c,alpha:c.alpha}));return l},c=function(a,c,d){var k,l,m,n=a.chart;k=n.config;n=n.config.dataLabelStyle;a=a.components.data;var p,q,r,t,B,C;p=0;for(q=a.length;p<q;p++)if(k=a[p])for(t in r=k.graphics,k=k.config,m=k.anchorProps,k={FCcolor:{alpha:d?
z(c.anchorbgalpha,c.alpha,m.bgAlpha):m.bgAlpha,color:d?z(c.anchorbgcolor,c.color,m.bgColor):m.bgColor}},l={FCcolor:{alpha:d?z(c.borderalpha,c.alpha,m.borderAlpha):m.borderAlpha,color:d?z(c.anchorbordercolor,c.color,m.borderColor):m.borderColor}},m=d?c.alpha:m.imageAlpha,d||G(n.color),r)switch(C=(B=r[t])&&B.type,C){case "path":B.attr({fill:e(k),stroke:e(l)});break;case "image":B.attr({opacity:m/100});break;case "text":Q(B,c,n,d)}},p=function(c,d,k,l){var m=d.symbolAttr||{},p=m.fill,m=m.stroke,q=d.textAttr||
{},q=l?z(k.color,n(q.fill)):n(q.fill),r=c.legendItemText,B=c.legendItemSymbol;c=c.legendItemLine;d=(d.lineAttr||{}).stroke;c&&d&&(a.test(d)?c.attr({stroke:l?e({color:z(k.color,d),alpha:k.alpha}):d}):(d=t(d,k,l),c.attr({stroke:d})));B&&(p&&(p=p.match(a)?l&&!M.test(p)?e({color:k.color||p,alpha:k.alpha}):p:J.test(p)?p:t(p,k,l)),m&&(m=a.test(m)?l&&!M.test(m)?e({color:k.color||m,alpha:k.alpha}):m:l&&!J.test(m)?k.color?e({color:k.color,alpha:k.alpha}):m:m),B.attr({fill:p||"none",stroke:m||"none"}));r&&
r.attr({fill:e({color:q,alpha:l?k.alpha:100})})},d={area:function(a,d,k){var l=this.chart,m=l.config,n=l.components.legend.components.items,r,t=this.legendItemId,B=n.length,l=m.showShadow;a=q(a);var C=this.graphics||{},I=C.legendGraphics,J=m.dataLabelStyle,M=C.dataLabelContainer,m=this.config,Q;if(!k){a.alpha=a.alpha||30;for(k=0;k<B&&(r=n[k]||{},r.legendItemId!==t);k++);M&&M.attr({opacity:d?a.alpha/100:G(J.color)});n=m.plotBorderColor;J=m.plotFillColor;k=m.plotBorderAlpha;t=m.plotFillAlpha;B=m.plotGradientColor;
C=z(C.lineElement,C.splineElement);n=d?z(a.bordercolor,a.color,n):n;a.color&&(Q=a.color+(B?","+B:""));B=J+(B?","+B:"");Q=d?z(Q,B):B;m=m.plotFillAngle;t=d?a.alpha:t;k=d?z(a.borderalpha,a.alpha):k;C.attr({fill:e({color:Q,alpha:t,angle:m}),stroke:e({color:n,alpha:k})}).shadow({opacity:l?d?a.alpha/100:t/100:0});I&&!0===this.visible&&p(I,r.config,a,d);c(this,a,d)}},bubble:function(a,c,d){var k=this.chart,l=k.components.legend.components.items||[],n,r=l.length,t=this.legendItemId,k=k.config.dataLabelStyle,
B=this.graphics,C=B.legendGraphics,J=m.graphics.getPointColor,M=B.dataLabelContainer;a=q(a);if(!1===d){a.alpha||(a.alpha=30);B=this.components.data||[];for(d=0;d<r&&(n=l[d]||{},n.legendItemId!==t);d++);p(C,n.config,a,c);M&&M.attr({opacity:c?a.alpha/100:G(k.color)});d=0;for(r=B.length;d<r;d++)if(l=B[d])t=l.graphics,n=l.config,l=n.colorObj,C=n.is3d,n=t.element,t=t.label,C?(C=c?J(z(a.color,l.FCcolor.color),z(a.alpha,I(l.alpha))):l,C=e(C)):(C=c?z(a.color,l.color):l.color,l=c?a.alpha:l.alpha,C=e({color:C,
alpha:l})),n&&n.attr({fill:C}),t&&Q(t,a,k,c)}},pie:function(a,c,d,k){var l=k.chart,m;k=k._getPointColor;var n=this,r,t,B,I;B={};var n=this.legendItemId,J;t=l.components.legend.getItems()||[];a=q(a);if(!1===d){a.alpha||(a.alpha=30);d=this.graphics.element;r=this.config;I=0;for(l=t.length;I<l&&(m=t[I],J=m.legendItemId,J!==n);I++);n=m.graphics;p(n,m.config,a,c);t=r.color.color;n=d.data("plotItem");l=n.chart;m=n.style;l=l.is3D;if(I=n.center)B=I[0],I=I[1],n=n.radius,B={cx:B,cy:I,r:n};t=c?k(z(a.color,t),
a.alpha,90):r.color;k=c?a.alpha:t.alpha;t=C(t,B);l?d&&d.attr({color:t.color.split(",")[0],alpha:k}):d&&d.attr({fill:e(t)});k=this.graphics.label;d=this.graphics.connector;k&&Q(k,a,m,c);d&&d.attr({opacity:c?a.alpha/100:G(m.color)})}},line:function(a,d,k){var l=this.chart,m=l.components.legend.components.items||[],n=m.length,r,t=this.legendItemId,l=l.config.dataLabelStyle;a=q(a);var B=this.graphics||{},C=B.legendGraphics,I=B.dataLabelContainer,J=B.errorGroupContainer,M=this.config,Q=M.showShadow,ga=
M.lineColor,da=M.lineAlpha;if(!k){a.alpha||(a.alpha=30);for(k=0;k<n&&(r=m[k]||{},r.legendItemId!==t);k++);J&&(m=G(M.errorBarColor),m=d?z(a.alpha/100,m):m,J.attr({opacity:m}));I&&I.attr({opacity:d?a.alpha/100:G(l.color)});l=z(B.lineElement,B.SplineElement);ga=d?z(a.color,ga):ga;da=d?z(a.alpha,da):da;l&&l.attr({stroke:e({color:ga,alpha:da})}).shadow({opacity:Q?d?a.alpha/100:da/100:0});C&&!0===this.visible&&p(C,r.config,a,d);c(this,a,d)}},boxandwhisker2d:function(a,c,d){var k=this.config.isRoundEdges,
l=this.graphics,r=l.legendGraphics,z=l.lowerWhiskerContainer,B=l.upperWhiskerContainer,C=l.dataLabelContainer,I=this.legendItemId,J=this.chart.components.legend.components.items||[],l=J.length,M;a=q(a);if(!1===d){a.alpha||(a.alpha=30);for(d=0;d<l&&(M=J[d]||{},M.legendItemId!==I);d++);p(r,M.config,a,c);z&&z.attr({opacity:c?a.alpha/100:1});B&&B.attr({opacity:c?a.alpha/100:1});C&&C.attr({opacity:c?a.alpha/100:1});r=this.components.data;d=0;for(l=r.length;d<l;d++){z=r[d];B=z.config;z=z.graphics;M=a;var C=
c,I=k,Q={},ca={},ga=Q=ca=void 0,da=J=void 0,Z=void 0,Ja=void 0,R=void 0;C?(ca=m.graphics.getColumnColor(M.color||B.upperColorArr[0].FCcolor.color,M.alpha.toString(),B.upperColorArr[0].FCcolor.ratio,B.upperColorArr[0].FCcolor.angle,I,M.bordercolor||n(B.upperBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(B.lowerBoxBorder.color)).toString()),ca=e(ca[0]),Q=m.graphics.getColumnColor(M.color||B.lowerColorArr[0].FCcolor.color,M.alpha.toString(),B.lowerColorArr[0].FCcolor.ratio,B.lowerColorArr[0].FCcolor.angle,
I,M.bordercolor||n(B.lowerBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(B.lowerBoxBorder.color)).toString()),Q=e(Q[0]),ga=t(B.median.color,M,C),Z=t(B.lowerQuartile.color,M,C),Ja=t(B.upperQuartile.color,M,C)):(ca=e(B.upperColorArr[0]),Q=e(B.lowerColorArr[0]),ga=B.median.color,J=B.upperBoxBorder.color,da=B.lowerBoxBorder.color,Ja=B.upperQuartile.color,Z=B.lowerQuartile.color);R=z.upperBoxElem;R.attr({fill:ca,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,
1,3,"rgba(64,64,64,"+G(ca)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:"none"});R=z.lowerBoxElem;R.attr({fill:Q,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,1,3,"rgba(64,64,64,"+G(Q)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:"none"});R=z.lowerBoxBorderEle;R.attr({stroke:da});z.upperBoxBorderEle&&z.upperBoxBorderEle.attr({stroke:J});z.lowerQuartileEle&&z.lowerQuartileEle.attr({stroke:Z});z.upperQuartileEle&&z.upperQuartileEle.attr({stroke:Ja});z.midLineElem&&z.midLineElem.attr({stroke:ga})}}},
heatmap:function(a,c,d,k){var l=k.chart,m=l.config;k=m.dataLabelStyle;var m=l.components.legend,r,t,l=this.legendItemId,B,C;a=q(a);var I=m.getItems()||[];if(!d){a.alpha||(a.alpha=30);m=this.config;B=0;for(d=I.length;B<d&&(r=I[B],C=r.legendItemId,C!==l);B++);l=r.graphics;p(l,r.config,a,c);r=n(m.color);m=G(m.color);r=c?z(a.color,r):r;m=c?a.alpha:100*m;d=this.graphics;l=d.element;l.attr({fill:e({color:r,alpha:m})});c||G(k.color);for(t in d)l=d[t],"text"===l.type&&Q(l,a,k,c)}},funnelpyramid:function(a,
c,d,k){k=k.chart.components.legend;var l,m,r,t,B;a=q(a);k=k.getItems()||[];m=this.legendItemId;if(!1===d){a.alpha||(a.alpha=30);r=0;for(d=k.length;r<d&&(l=k[r],t=l.legendItemId,t!==m);r++);d=l.graphics;p(d,l.config,a,c);l=this.style;k=this.color;d=n(k);k=G(k);d=c?z(a.color,d):d;r=c?a.alpha:100*k;m=this.plot.graphic;t=this.plot.dataLabel;B=this.plot.connector;k=this.plot.point.style;m&&m.attr({fill:e({color:d,alpha:r})});t&&Q(t,a,k,c);B&&B.attr({opacity:c?a.alpha/100:G(l.color)})}},"default":function(a,
c,d){var k=this.config,l=this.chart,n=l.config,t=n.dataLabelStyle,B=k.useRoundEdges,C=l.is3D,J,M,ea;a=q(a);var X=this.graphics,ca=X.legendGraphics,ga=X.dataLabelContainer;ea=X.errorGroupContainer;var da,Z,n="",n=this.legendItemId,Ja=l.components.legend.components.items||[];da=Ja.length;l=k.showShadow;X=m.graphics.getColumnColor;if(!1===d){a.alpha||(a.alpha="30");d=this.components.data||[];for(J=0;J<da&&(M=Ja[J]||{},M.legendItemId!==n);J++);ca&&p(ca,M.config,a,c);ga&&ga.attr({opacity:c?a.alpha/100:
G(t.color)});ea&&(da=G(k.errorBarColor),da=c?z(a.alpha/100,da):da,ea.attr({opacity:da}));J=0;for(da=d.length;J<da;J++)if(k=d[J]){n=k.config;ea=n.colorArr[0];M=n.colorArr[1];ca=M.FCcolor.alpha;n=ea.FCcolor.color;n=-1!==(Z=n.indexOf(","))&&a.color?a.color+n.substring(Z):z(a.color,n);ga=C?ca:z(a.borderalpha,a.alpha,ca);0===r(ca)&&(ga="0");ca=c?X(n,a.alpha,ea.FCcolor.ratio,ea.FCcolor.angle,B,z(a.bordercolor,M.FCcolor.color),ga,!1,C):[ea,M];if(ea=k.graphics.element)n=e(ca[0]),M=e(ca[1]),ea.attr({stroke:M,
fill:n}).shadow({opacity:l?I(ca[0].alpha)/100:0});k=k.graphics.label;Q(k,a,t,c)}}}},B=function(){this.effectStore={};this.eventHandlers={}},Q=function(a,c,d,k){var l,m,p,q,r;l=n(d.color);p=100*G(d.color);m=k?z(c.valuefontcolor,l):l;q=k?z(c.valuefontalpha,c.alpha,p):p;l=""===d.backgroundColor?"":n(d.backgroundColor);p=""===d.backgroundColor?0:100*G(d.backgroundColor);isNaN(p)&&(p=0);r=k?z(c.valuebgcolor,l):l;p=k?z(c.valuebgalpha,c.alpha,p):p;r=e({color:r,alpha:p});l=""===d.borderColor?"":n(d.borderColor);
p=""===d.borderColor?"":100*G(d.borderColor);isNaN(p)&&(p=0);l=k?z(c.valuebordercolor,l):l;c=k?z(c.valueborderalpha,c.alpha,p):p;c=e({color:l,alpha:c});a&&a.attr({fill:e({color:m,alpha:q}),"text-bound":[r,c,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash]})},l=new B;B.prototype.add=function(a){this.effectStore[a.name]=a};B.prototype.attachEventHandlers=function(a,c){this.eventHandlers[a]||(this.eventHandlers[a]={},this.eventHandlers[a].listenerFn=k.addEventListener(a,c))};B.prototype.applyEffect=
function(a,c,d){var e=this.effectStore,k=a.jsonData.chart,l=a.defaultDatasetType,m=k.plothighlighteffect&&k.plothighlighteffect.toLowerCase(),k=a.components.dataset;a=a.isSingleSeries?k[0].components.data:k;c=z(c.itemId,c.legendItemId,c.legendItemIndex);var n,p,q,r="",t;m&&(m=m.replace(/\s+/g,"").split("|"),t=m[0],r=m[1]||"");if(t&&e[t])for(p=0,q=a.length;p<q;p++)m=a[p],l=m.type||l,l=l.toLowerCase(),n=z(m.itemId,m.legendItemId),void 0!==n&&(n=n===c,e[t][l]?e[t][l].call(m,r,d,n,k[0]):e[t]["default"].call(m,
r,d,n,k[0]))};k.registrars.highlighteffect=function(a){a&&l.add(a)};l.attachEventHandlers("legenditemrollover",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&l.applyEffect(d,c,!0)});l.attachEventHandlers("legenditemrollout",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&l.applyEffect(d,c,!1)});FusionCharts.register("highlightEffect",{name:"fadeout",area:d.area,radar:d.area,bubble:d.bubble,pie2d:d.pie,line:d.line,spline:d.line,areaspline:d.area,
pie3d:d.pie,zoomline:d.line,funnel:d.funnelpyramid,pyramid:d.funnelpyramid,scatter:d.line,doughnut2d:d.pie,doughnut3d:d.pie,heatmap:d.heatmap,boxandwhisker2d:d.boxandwhisker2d,multiaxisline:d.line,"default":d["default"]})}]);
/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-charts",function(){function ya(c,D){for(var h=[],a=0,p=c.length;a<p;a++)h[a]=D.call(c[a],c[a],a,c);return h}function O(c,D){var h=D?360:l;c=(c||0)%h;return 0>c?h+c:c}function Ja(c,D,h,a,p){return Oa((D-h[1]-a.top)/p,c-h[0]-a.left)}function fa(c){this.config={};this.linkedItems={chart:c}}var ea=this,U=ea.hcLib,Pa=U.hasTouch,Da=ea.window,la=Da.document,na=U.Raphael,Ga=U.BLANKSTRING,R=U.pluck,x=U.pluckNumber,Sa=U.getFirstValue,Ia=U.extend2,
ka=U.toRaphaelColor,za=U.hasSVG,Ta=U.hashify,oa="createTouch"in la,Ea=oa&&!(Da.navigator.maxTouchPoints||Da.navigator.msMaxTouchPoints),Ca=U.each,Ka=U.plotEventHandler,Ha=U.componentDispose,Aa=8===Da.document.documentMode?"visible":"",ma=Math,qa=ma.sin,ra=ma.cos,Oa=ma.atan2,ja=ma.round,sa=ma.min,ua=ma.max,va=ma.abs,wa=ma.PI,xa=ma.ceil,pa=ma.floor,a=wa/180,b=180/wa,d=Math.PI,k=d/2,l=2*d,m=d+k,f=U.getFirstColor,B=U.getFirstAlpha,q=U.graphics.getDarkColor,v=U.graphics.getLightColor,r=U.graphics.convertColor,
S=U.POSITION_BOTTOM,P=U.POSITION_RIGHT,e=U.chartAPI,n=U.COMMASTRING,H=U.ZEROSTRING,ba=U.ONESTRING,L={},N={};e("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:!1,defaultDatasetType:"column",applicableDSList:{column:!0},singleseries:!0},e.sscartesian);e("column3d",{friendlyName:"3D Column Chart",defaultDatasetType:"column3d",applicableDSList:{column3d:!0},defaultPlotShadow:1,creditLabel:!1,is3D:!0,standaloneInit:!0,hasLegend:!1,singleseries:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},
e.sscartesian3d);e("bar2d",{friendlyName:"Bar Chart",isBar:!0,standaloneInit:!0,defaultDatasetType:"bar2d",creditLabel:!1,applicableDSList:{bar2d:!0},singleseries:!0,spaceManager:e.barbase},e.ssbarcartesian);e("bar3d",{friendlyName:"3D Bar Chart",defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,standaloneInit:!0,creditLabel:!1,is3D:!0,isBar:!0,singleseries:!0,defaultZeroPlaneHighlighted:!1},e.ssbarcartesian3d);e("line",{friendlyName:"Line Chart",standaloneInit:!0,
creditLabel:!1,defaultPlotShadow:1,singleseries:!0,axisPaddingLeft:0,axisPaddingRight:0,defaultDatasetType:"line"},e.sscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});e("area2d",{friendlyName:"Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"area",singleseries:!0,defaultPlotShadow:0},e.sscartesian);e("pareto2d",{defaultDatasetType:"column2d",singleseries:!0,creditLabel:!1,_createDatasets:function(){var c=this.components,D=this.jsonData,h=this.is3D,a=c.numberFormatter,
p=D.data||D.dataset&&D.dataset[0]&&D.dataset[0].data,g=p&&p.length,K=D.chart,b=this.defaultDatasetType,D=new (FusionCharts.get("component",["dataset","Pareto"])),d=x(K.showcumulativeline,1),J=[],s,u;if(p){for(K=0;K<g;K++)s=p[K],u=a.getCleanValue(s.value),null!==u&&"true"!==s.vline&&!0!==s.vline&&1!==s.vline&&"1"!==s.vline&&J.push(s);this.config.categories=J;a=c.dataset||(c.dataset=[]);(p=R(b))&&p.toLowerCase();p=FusionCharts.register("component",["datasetGroup","column"]);p=c[void 0]=new p;p.chart=
this;p.init();if(g=h?FusionCharts.get("component",["dataset","Column3d"]):FusionCharts.get("component",["dataset","Column"]))(h=a[0])?(b=J.length,p=h.components.data.length,b<p&&h.removeData(b,p-b),h.JSONData={data:J},D.configure.call(h)):(h=new g,a.push(h),h.chart=this,h.index=K,p&&p.addDataSet(h,0,0),D.init(h,J,b));c=c.yAxis[1];if(d)c&&c.setAxisConfig({drawLabels:!0,drawPlotLines:!0,drawAxisName:!0,drawAxisLine:!0,drawPlotBands:!0,drawTrendLines:!0,drawTrendLabels:!0}),c.show(),g=FusionCharts.get("component",
["dataset","line"]),(h=a[1])?(b=J.length,p=h.components.data.length,b<p&&h.removeData(b,p-b),h.JSONData={data:J},D.configure.call(h)):(h=new g,a.push(h),h.chart=this,h.index=K,D.init(h,J,"line"));else{if(h=a[1])Ha.call(h),a.pop();c&&(c.setAxisConfig({drawLabels:!1,drawPlotLines:!1,drawAxisName:!1,drawAxisLine:!1,drawPlotBands:!1,drawTrendLines:!1,drawTrendLabels:!1}),c.hide())}}else this.setChartMessage()},_setCategories:function(){var c=this.components,D=this.jsonData,h=D.dataset,a=c.numberFormatter,
c=c.xAxis,D=D.data||h&&h[0].data||[],h=[],p,g=D.length,K,b={},d=0,J;for(K=0;K<g;K++){p=D[K];J=a.getCleanValue(p.value,!0);if("true"===p.vline||"1"===p.vline||1===p.vline||!0===p.vline)b[d]=p;else if(null===J)continue;else p.value=J,h.push(p);d++}h.sort(function(c,h){return h.value-c.value});for(K in b)h.splice(K,0,b[K]);c[0].setCategory(h)},standaloneInit:!0,hasLegend:!1,isPercentage:!0},e.msdybasecartesian);e("pareto3d",{standaloneInit:!0,is3D:!0,friendlyName:"3D Pareto Chart",creditLabel:!1,fireGroupEvent:!0,
defaultPlotShadow:1,singleseries:!0,hasLegend:!1,defaultDatasetType:"column3d",_createDatasets:e.pareto2d,_setCategories:e.pareto2d,use3dlineshift:1,isPercentage:!0},e.msdybasecartesian3d);e("pie2d",{friendlyName:"Pie Chart",standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,reverseLegend:1,alignCaptionWithCanvas:0,sliceOnLegendClick:!0,isSingleSeries:!0,dontShowLegendByDefault:!0,defaultDatasetType:"Pie2D",applicableDSList:{Pie2D:!0},defaultZeroPlaneHighlighted:!1,creditLabel:!1,_plotDragMove:function(c,
D,h,a,p){var g=this.data("plotItem"),K=g.chart,g=g.seriesData,b=K.components.dataset[0].config;isNaN(c)||isNaN(D)||!b.enableRotation||g.singletonCase||g.isRightClicked||(c=Ja.call(p,h,a,g.pieCenter,g.chartPosition,1),g.isRotating||(g.dragStartAngle!==c&&(g.isRotating=!0),ea.raiseEvent("RotationStart",{startingAngle:O(g.startingAngleOnDragStart,!0)},K.chartInstance)),b.startAngle+=c-g.dragStartAngle,g.dragStartAngle=c,g.moveDuration=0,b.updateInited||(b.updateInited=!0,setTimeout(K._batchRotate||(K._batchRotate=
function(){K._rotate();b.updateInited=!1}),50)))},_plotDragStart:function(c,D,h){var a=this.data("plotItem"),p=a.chart,a=a.seriesData,g=p.components.dataset[0].config,K=-g.startAngle;a.isRightClicked=Pa||0===h.button||1===h.button?!1:!0;if(g.enableRotation&&!a.isRightClicked){a.isRotating=!1;g=p.linkedItems.container;p={left:0,top:0};if(g.getBoundingClientRect)g=g.getBoundingClientRect(),p.top=g.top+(Da.pageYOffset||la.scrollTop||0)-(la.clientTop||0),p.left=g.left+(Da.pageXOffset||la.scrollLeft||
0)-(la.clientLeft||0);else for(;g;)p.left+=g.offsetLeft||0,p.top+=g.offsetTop||0,g!==la.body&&g!==la.documentElement&&(p.left-=g.scrollLeft||0,p.top-=g.scrollTop||0),g=g.offsetParent;a.chartPosition=p;c=Ja.call(h,c,D,a.pieCenter,a.chartPosition,1);a.dragStartAngle=c;a.startingAngleOnDragStart=K}},_plotDragEnd:function(c){var D=this.data("plotItem"),h=D.chart,a=D.seriesData,p=-a.startAngle;a.isRightClicked||(h.disposed||h._rotate(),!a.isRotating&&h._plotGraphicClick.call(D.graphic,c),a.isRotating&&
(setTimeout(function(){a.isRotating=!1},0),ea.raiseEvent("RotationEnd",{startingAngle:O(p,!0),changeInAngle:p-a.startingAngleOnDragStart},h.chartInstance)))},_plotRollOver:function(c){var D=this.plotItem||this.data("plotItem"),h=D.chart,a=h.components.dataset[0].config,p,g;a.isRotating||(Ka.call(this,h,c,"DataPlotRollOver"),h.onPlotHover(this,!0));a.isHovered=!0;(c=D.innerDiameter)&&(p=D.centerLabelConfig)&&(g=p.label)&&h.drawDoughnutCenterLabel(g,D.center[0],D.center[1],c,c,p,!1)},onPlotHover:function(c,
D){var h=c.data("plotItem"),a=h.center,p=h.rolloverProperties||{},g=D?p.color:h.color,K=D?p.borderWidth:h.borderWidth,b=D?p.borderColor:h.borderColor;g&&(D&&(g.cx=a[0],g.cy=a[1],g.r=h.radius),p.enabled&&h.graphic.attr({fill:ka(g),"stroke-width":K,stroke:b}))},_plotRollOut:function(c){var D=this.plotItem||this.data("plotItem"),h=D.chart,a=h.components.dataset[0].config,p,g;a.isRotating||(Ka.call(this,h,c,"DataPlotRollOut"),h.onPlotHover(this,!1));a.isHovered=!1;(c=D.innerDiameter)&&(p=a.centerLabelConfig)&&
((g=p.label)||!g)&&h.drawDoughnutCenterLabel(g,D.center[0],D.center[1],c,c,p,!1)},_rotate:function(){var c,D,h=this.components.dataset[0],a=h.config,p=h.components.data,g=this.config,K=a.slicingDistance,h=h.config,b=l/h.valueTotal,d=g.canvasLeft+.5*g.canvasWidth,g=g.canvasTop+.5*g.canvasHeight,J=a.pieMinRadius,s=.5*(a.piePlotOptions.innerSize||0),u,t,A,e,f;u=(a.startAngle||0)%l;for(f=0;f<p.length;f+=1)A=p[f].config,e=p[f].graphics,c=A.y,null!==c&&void 0!==c&&(t=u,u-=h.singletonCase?l:c*b,c=.5*(u+
t),A.angle=c,A.transX=ra(c)*K,A.transY=qa(c)*K,A.slicedTranslation="t"+ra(c)*K+n+qa(c)*K,(D=A._rotateAttrs)||(D=A._rotateAttrs={ringpath:[],transform:Ga}),c=D.ringpath,c[0]=d,c[1]=g,c[2]=J,c[3]=s,c[4]=u,c[5]=t,D.transform=A.sliced?A.slicedTranslation:Ga,e.element.attr(D));this.placeDataLabels(!0,p,a)},getPlotData:function(c,D){var h=this.components.dataset[0],a=h.components.data[c].config,h=h.config.userData||(h.config.userData=[]),p,g;if(h[c])h=h[c];else{h=h[c]={};for(g in a)"object"!==typeof(p=
a[g])&&"function"!==typeof p&&0!==g.indexOf("_")&&(h[g]=p);h.value=h.y;h.categoryLabel=h.label=h.seriesName;delete h.y;delete h.total;delete h.doNotSlice;delete h.name;delete h.seriesName;delete h.centerAngle;delete h.showInLegend;delete h.angle;delete h.endAngle;delete h.isVisible;delete h.setColor;delete h.slicedTranslation;delete h.startAngle;delete h.transX;delete h.transY;delete h.pValue}h.sliced=D;return h},_plotGraphicClick:function(c){var D,h=this.element||this,a=h.plotItem||h.data("plotItem"),
p=h.data("eventArgs")||{},g=a.chart,K=a.index,b=g.components.dataset[0],d=b.config,J=d.enableMultiSlicing,b=b.components.data[K],s=b.graphics,b=b.config,u=b.doNotSlice,t;D=b.slicedTranslation;var A=g.get("config","animationObj"),e=A.duration||200,l=A.dummyObj,f=A.animObj,A=A.animType;!d.isRotating&&Ka.call(h,g,c);if(!(d.isRotating||d.singletonCase||u||(c=!J&&g.sliceInOtherPies(K),(t=b.sliced)&&c))){if(oa&&!Ea){c=(new Date).getTime();if(a.lastSliceTimeStamp&&400>c-a.lastSliceTimeStamp)return;a.lastSliceTimeStamp=
c}c=s.element;a=s.connector;s=s.label||s.dataLabel;D="object"===typeof D?"t"+D:D;J=b.connectorPath;h=(t?-1:1)*b.transX;d=(t?-1:1)*b.transY;u=c.data("eventArgs")||c.data("eventArgs",{});ea.raiseEvent("slicingStart",{slicedState:t,dataIndex:"index"in p&&p.index,data:g.getPlotData(K,t)},g.chartInstance);c.animateWith(l,f,{transform:t?"t0,0":D},e,A,function(){ea.raiseEvent("slicingEnd",{slicedState:t,dataIndex:"index"in p&&p.index,data:g.getPlotData(K,t)},g.chartInstance)});s&&s.x&&((D=s.data("textPos"))||
(D=s.data("textPos",{x:s.x,y:s.y})),s.animateWith(l,f,{x:s.x+(t?0:h)},e,A),D.x=s.x+(t?0:h));J&&(J[1]+=h,J[2]+=d,J[4]+=h,J[6]+=h,a.animateWith(l,f,{path:J},e,A));return u.isSliced=t=b.sliced=!t}},sliceInOtherPies:function(c){var D=this.components.dataset[0],h=D.components.data,a=h.length,p=0,g;for(D.enableMultiSlicing=!0;a--;)a!==c&&(g=h[a]).config.sliced&&++p&&this._plotGraphicClick.call(g.graphics);D.enableMultiSlicing=!1;return!!p},placeDataLabels:function(){var c=function(c,h){return c.point.value-
h.point.value},D=function(c,h){return c.angle-h.angle},h=["start","start","end","end"],a=[-1,1,1,-1],p=[1,1,-1,-1];return function(g,b,e,f){var J=this.config,s=this.components.dataset[0].config,u=J.canvasLeft,t=J.canvasTop,A=J.canvasWidth,Ua=u+.5*J.canvasWidth,ta=t+.5*J.canvasHeight,n=this.linkedItems.smartLabel,q=s.dataLabelOptions,y=q.style,ha=x(xa(parseFloat(y.lineHeight)),12),G=1===b.length?J.singletonPlaceValue:!1,r=q.skipOverlapLabels,S=q.manageLabelOverflow,v=q.connectorPadding,B;B=f&&f.metrics||
[Ua,ta,2*s.pieMinRadius,s.innerSize||0];var H=B[1],I=B[0];f=.5*B[2];var w=[[],[],[],[]],s=e.labelsRadius=f+q.distance,ta=Ua=parseInt(y.fontSize,10),C=ta/2,v=[v,v,-v,-v];e=e.labelsMaxInQuadrant||(e.labelsMaxInQuadrant=pa(s/ta));var q=q.isSmartLineSlanted,z=B[3]/2,T,P,E,Q,F,M,La,V,$,da,L,X,ga,ca,W,ia,O;B=Number.POSITIVE_INFINITY;var aa,N;T=[];E=[];T=this.get("config","animationObj");var ja=g?0:T.duration||0,ba=T.dummyObj,U=T.animObj,R=T.animType;n.useEllipsesOnOverflow(J.useEllipsesWhenOverflow);g||
n.setStyle(y);if(1==b.length&&!z&&G)z=b[0],N=z.graphics,X=N.label,z.slicedTranslation=[u,t],X&&(X.attr({visibility:Aa,"text-anchor":"middle",x:0,y:0,transform:["t",I,H]}),X.x=I,X.data("textPos",{x:I,y:H})),N.connector&&N.connector.attr({path:[]});else if(G)O=z+(f-z)/2,Ca(b,function(c){aa=c.config;N=c.graphics;if(X=N.label)X.attr({transform:"t0,0"}),L=aa.angle,da=H+O*qa(L),M=I+O*ra(L),X.x=M,X._x=M,X.y=da,c.sliced&&(ia=c.slicedTranslation,ca=ia[0]-u,W=ia[1]-t,M+=ca,da+=W),X.animateWith(ba,U,{visibility:Aa,
"text-anchor":"middle",x:0,y:0,transform:["t",M,da]},ja,R)});else{Ca(b,function(c){aa=c.config;N=c.graphics;if(X=N.label)X.attr({transform:"t0,0"}),L=aa.angle%l,0>L&&(L=l+L),ga=0<=L&&L<k?1:L<d?2:L<m?3:0,w[ga].push({point:c,angle:L})});for(b=g=4;b--;){if(r&&(y=w[b].length-e,0<y))for(w[b].sort(c),G=w[b].splice(0,y),y=0,E=G.length;y<E;y+=1)z=G[y].point,N=z.graphics,N.label.attr({visibility:"hidden"}),N.connector&&N.connector.attr({visibility:"hidden"});w[b].sort(D)}b=ua(w[0].length,w[1].length,w[2].length,
w[3].length);y=ua(sa(b,e)*ta,s+ta);E=w[0].concat(w[1]);T=w[2].concat(w[3]);for(b=E.length-1;0<=b;b--)G=E[b].point.config,delete G.clearance,delete G.clearanceShift,z=va(y*qa(G.angle)),Math.abs(B-z)<2*ha&&(G.clearance=0,E[b+1].point.clearanceShift=ha/2),B=z;B=Number.POSITIVE_INFINITY;b=0;for(E=T.length;b<E;b++)G=T[b].point.config,delete G.clearance,delete G.clearanceShift,z=va(y*qa(G.angle)),Math.abs(B-z)<2*ha&&(G.clearance=0,T[b-1].point.clearanceShift=ha/2),B=z;w[1].reverse();for(w[3].reverse();g--;){G=
w[g];E=G.length;r||(ta=E>e?y/E:Ua,C=ta/2);ha=E*ta;B=y;for(b=0;b<E;b+=1,ha-=ta)z=va(y*qa(G[b].angle)),B<z?z=B:z<ha&&(z=ha),B=(G[b].oriY=z)-ta;T=h[g];E=y-(E-1)*ta;B=0;for(b=G.length-1;0<=b;--b,E+=ta)if(z=G[b].point,L=G[b].angle,aa=z.config,N=z.graphics,Q=aa.sliced,X=N.label,z=va(y*qa(L)),z<B?z=B:z>E&&(z=E),B=z+ta,ha=void 0===aa.clearance?2*xa(x(parseFloat(aa.style.border),12),12):2*xa(x(parseFloat(aa.style.border),aa.clearance)),V=(z+G[b].oriY)/2,z=I+p[g]*s*ra(ma.asin(V/y)),V*=a[g],V+=H,$=H+f*qa(L),
F=I+f*ra(L),(2>g&&z<F||1<g&&z>F)&&(z=F),M=z+v[g],da=V-C-2,La=M+v[g],X.x=La,X._x=La,S&&(P=1<g?La-J.canvasLeft:J.canvasLeft+A-La,n.setStyle(aa.style),ha=x(xa(parseFloat(aa.style.lineHeight)),12)+ha,ha=n.getSmartText(aa.displayValue,P,ha),void 0===aa.clearance&&ha.height>ta&&(V+=ta),X.attr({text:ha.text}).tooltip(ha.tooltext)),X.y=da,Q&&(ca=aa.transX,W=aa.transY,M+=ca,z+=ca,F+=ca,$+=W,La+=ca),X.attr({"text-anchor":T,vAlign:"middle"}),aa._textAttrs||(aa._textAttrs={}),aa._textAttrs.x=La,aa._textAttrs.y=
V,(ha=X.data("textPos"))?X.attr({x:ha.x,y:ha.y}).animateWith(ba,U,aa._textAttrs,ja):X.attr(aa._textAttrs),X.data("textPos",{x:La,y:V}),ha=N.connector)aa.connectorPath=z=["M",F,$,"L",q?z:F,V,M,V],(F=ha.data("connectorPath"))?ha.attr({path:F.path}).animateWith(ba,U,{path:z},ja):ha.attr({path:z}),ha.data("connectorPath",{path:z})}}}}(),_spaceManager:function(){var c=this.config,D=this.components,h=D.dataset[0],a=h.components.data,b=h.config,g=D.legend,d=D.colorManager,e=this.linkedItems.smartLabel,f=
b.dataLabelCounter,J=0,s=this.jsonData.chart,D=x(s.managelabeloverflow,0),u=x(s.slicingdistance),t=b.preSliced||s.enableslicing!==H||s.showlegend===ba&&s.interactivelegend!==H?va(x(u,20)):0,A=x(s.pieradius,0),l=(u=x(s.enablesmartlabels,s.enablesmartlabel,1))?x(s.skipoverlaplabels,s.skipoverlaplabel,1):0,k=x(s.issmartlineslanted,1),m=f?x(s.labeldistance,s.nametbdistance,5):t,n=x(s.smartlabelclearance,5),y=c.width-(c.marginRight+c.marginLeft),q=c.height-(c.marginTop+c.marginBottom),G=sa(q,y),B=R(s.smartlinecolor,
d.getColor("plotFillColor")),v=x(s.smartlinealpha,100),L=x(s.smartlinethickness,.7),h=b.dataLabelOptions||(b.dataLabelOptions=h._parseDataLabelOptions()),d=h.style,d=f?x(parseInt(d.lineHeight,10),12):0,N=0===A?.15*G:A,Z=2*N,I={bottom:0,right:0},w=b.pieYScale,G=b.pieSliceDepth;h.connectorWidth=L;h.connectorPadding=x(s.connectorpadding,5);h.connectorColor=r(B,v);f&&(u&&(m=n),m+=t);n=Z+2*(d+m);n=this._manageChartMenuBar(n<q?q-n:q/2);q-=(n.top||0)+(n.bottom||0);b.showLegend&&(this.hasLegend=!0,R(s.legendposition,
S).toLowerCase()!==P?(I=g._manageLegendPosition(q/2),q-=I.bottom):(I=g._manageLegendPosition(q/2),y-=I.right));this._allocateSpace(I);e.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);if(1!==f)for(;f--;)e.setStyle(a[f].config.style),c=e.getOriSize(a[f].config.displayValue),J=ua(J,c.width);0===A?N=this._stubRadius(y,J,q,m):(b.slicingDistance=t,b.pieMinRadius=N,h.distance=m);a=q-2*(N*w+d);b.managedPieSliceDepth=G>a?G-a:b.pieSliceDepth;h.isSmartLineSlanted=k;h.enableSmartLabels=u;h.skipOverlapLabels=
l;h.manageLabelOverflow=D},_stubRadius:function(c,D,h,a){var b=this.components.dataset[0],g=b.config,d=g.dataLabelCounter,e=this.jsonData.chart,f=x(e.slicingdistance),J=g.preSliced||e.enableslicing!==H||e.showlegend===ba&&e.interactivelegend!==H?va(x(f,20)):0,e=x(e.pieradius,0),s=sa(h,c),b=g.dataLabelOptions||(g.dataLabelOptions=b._parseDataLabelOptions()),u=b.style,d=d?x(parseInt(u.lineHeight,10),12):0,e=0===e?.15*s:e,s=0,s=sa(c/2-D-J,h/2-d)-a;s>=e?e=s:f||(J=a=ua(sa(a-(e-s),J),10));g.slicingDistance=
J;g.pieMinRadius=e;b.distance=a;return e},getDataSet:function(c){return this.components.dataset[c]},_startingAngle:function(c,D){var h,d=this.components.dataset[0].config,p=(h=d.startAngle)*-b+(0>-1*h?360:0);if(!isNaN(c)){if(d.singletonCase||d.isRotating)return;c+=D?p:0;d.startAngle=-c*a;this._rotate(c);p=c}return ja(100*((p%=360)+(0>p?360:0)))/100},eiMethods:{isPlotItemSliced:function(c){var D,h,a,b=this.apiInstance;return b&&b.components.dataset&&(a=b.components.dataset[0])&&(D=a.components.data)&&
D.length&&D[c]&&(h=D[c].config)&&h.sliced},addData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.addData.apply(c,arguments)},removeData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.removeData.apply(c,arguments)},updateData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.updateData.apply(c,arguments)},slicePlotItem:function(c,a){var h,b,p,g,d=
this.apiInstance;return d&&d.components.dataset&&(h=d.components.dataset[0])&&(b=h.components.data)&&(g=b.length)&&b[c=h.config.reversePlotOrder?g-c-1:c]&&(p=b[c].config)&&((!!a!==p.sliced||void 0===a)&&d._plotGraphicClick.call(b[c].graphics.element)||p.sliced)},centerLabel:function(c,a){var h=this.apiInstance,b=h.components.dataset[0],p=b.config,g=p.piePlotOptions.innerSize,d=p.pieCenter,e=d[0],d=d[1],p=p.centerLabelConfig,f;if("object"!==typeof a)a=p;else for(f in p)void 0===a[f]&&(a[f]=p[f]);a.label=
c;b.centerLabelConfig=a;g&&h.drawDoughnutCenterLabel(c||"",e,d,g,g,a,!0)},startingAngle:function(c,a){return this.apiInstance._startingAngle(c,a)}}},e.guageBase,{plotborderthickness:1,alphaanimation:0,singletonPlaceValue:!0});e("pie3d",{defaultDatasetType:"Pie3D",applicableDSList:{Pie3D:!0},is3D:!0,friendlyName:"3D Pie Chart",fireGroupEvent:!0,creditLabel:!1,getPointColor:function(c){return c},_configureManager:function(){var c=this.components.dataset[0],a=c.config,h=c.components,c=h.Pie3DManager,
h=h.data;c&&c.configure(a.pieSliceDepth,1===h.length,a.use3DLighting,!1)},defaultPlotShadow:0,_preDrawCalculate:function(){var c,a,h=this.config,b=0,p=this.components.dataset[0],g=p.config;c=p.components;a=g.dataLabelOptions;var d=g.pie3DOptions=p._parsePie3DOptions(),e=R(g.startAngle,0)%l,f=g.managedPieSliceDepth,J=g.slicedOffset=d.slicedOffset,s=h.canvasWidth,u=h.canvasHeight,t=[h.canvasLeft+.5*s,h.canvasTop+.5*u-.5*f],A,k,h=c.data,m,n=sa(s,u),q,y=a.distance;A=g.pieYScale;var r=g.slicedOffsetY||
(g.slicedOffsetY=J*g.pieYScale);m=c.Pie3DManager;t.push(2*g.pieMinRadius,d.innerSize||0);t=ya(t,function(c,a){return(q=/%$/.test(c))?[s,u-f,n,n][a]*parseInt(c,10)/100:c});t[2]/=2;t[3]/=2;t.push(t[2]*A);t.push((t[2]+t[3])/2);t.push(t[5]*A);p.getX=function(c,a){k=ma.asin((c-t[1])/(t[2]+y));return t[0]+(a?-1:1)*ra(k)*(t[2]+y)};g.center=t;Ca(h,function(c){b+=c.config.y});g.labelsRadius=t[2]+y;g.labelsRadiusY=g.labelsRadius*A;g.quadrantHeight=(u-f)/2;g.quadrantWidth=s/2;p=ja(1E3*e)/1E3;d=p+l;e=x(parseInt(a.style.fontSize,
10),10)+4;g.maxLabels=pa(g.quadrantHeight/e);g.labelFontSize=e;g.connectorPadding=x(a.connectorPadding,5);g.isSmartLineSlanted=R(a.isSmartLineSlanted,!0);g.connectorWidth=x(a.connectorWidth,1);g.enableSmartLabels=a.enableSmartLabels;m||(m=c.Pie3DManager=new fa(this),this.get("graphics","datasetGroup").trackTooltip(!0));this._configureManager();for(c=h.length-1;0<=c;--c)a=h[c],a=a.config,e=p,m=b?a.y/b:0,p=ja(1E3*(p+m*l))/1E3,p>d&&(p=d),A=p,a.shapeArgs={start:ja(1E3*e)/1E3,end:ja(1E3*A)/1E3},a.centerAngle=
k=(A+e)/2%l,a.slicedTranslation=[ja(ra(k)*J),ja(qa(k)*r)],e=ra(k)*t[2],g.radiusY=A=qa(k)*t[4],a.tooltipPos=[t[0]+.7*e,t[1]+A],a.percentage=100*m,a.total=b},placeDataLabels:function(){var c=function(c,a){return c.point.value-a.point.value},a=function(c,a){return c.angle-a.angle},h=["start","start","end","end"],b=[-1,1,1,-1],p=[1,1,-1,-1];return function(g){var K,e,f,J=this.config,s=this.components.dataset[0],u=s.config,t=s.components.data,A=u.piePlotOptions,n=J.canvasLeft,q=J.canvasTop,s=J.canvasWidth,
r=n+.5*J.canvasWidth,B=q+.5*J.canvasHeight,y=this.linkedItems.smartLabel,v=u.dataLabelOptions,G=v.style;K=x(xa(parseFloat(G.lineHeight)),12);var S=Sa(v.placeInside,!1),H=v.skipOverlapLabels,P=v.manageLabelOverflow,L=v.connectorPadding,Z=v.distance,I=v.connectorWidth,w=[[],[],[],[]],C=parseInt(G.fontSize,10),z=C,T=z/2,L=[L,L,-L,-L],Y=v.isSmartLineSlanted,E,Q,F,M,N,V,$,da,O,X,ga,ca,W,ia,Z=0<Z,ba=u.center||(u.center=[r,B,A.size,A.innerSize||0]),aa=ba[1],U=ba[0],A=ba[2],r=ba[4],B=u.labelsRadius,R=ja(100*
u.labelsRadiusY)/100,ea=u.maxLabels,la=u.enableSmartLabels,ka=u.pieSliceDepth/2,fa=this.get("config","animationObj"),pa=g?0:fa.duration,na=fa.dummyObj,oa=fa.animObj,fa=fa.animType;y.useEllipsesOnOverflow(J.useEllipsesWhenOverflow);if(u.dataLabelCounter)if(g||y.setStyle(G),1==t.length)K=t[0],ia=K.graphics,W=K.config,ga=ia.label,V=ia.connector,W.slicedTranslation=[n,q],ga&&null!==W.y&&(ga.attr({visibility:Aa,"text-anchor":"middle",x:U,y:aa+T-2}),ga.x=U),V&&V.hide();else if(S)Ca(t,function(c){ia=c.graphics;
W=c.config;if((ga=ia.label)&&null!==W.y){X=W.angle;O=aa+ba[6]*qa(X)+T-2;N=U+ba[5]*ra(X);ga.x=N;ga._x=N;ga.y=O;if(W.sliced){c=c.slicedTranslation;var a=c[1]-q;N+=c[0]-n;O+=a}ga.attr({visibility:Aa,align:"middle",x:N,y:O})}});else{Ca(t,function(c){ia=c.graphics;W=c.config;if(ga=ia.label)X=W.angle,0>X&&(X=l+X),ca=0<=X&&X<k?1:X<d?2:X<m?3:0,w[ca].push({point:c,angle:X})});for(u=J=4;u--;){if(H&&(t=w[u].length-ea,0<t))for(w[u].sort(c),S=w[u].splice(0,t),t=0,Q=S.length;t<Q;t+=1)K=S[t].point,ia=K.graphics,
ia.label.attr({visibility:"hidden"}),ia.connector&&ia.connector.attr({visibility:"hidden"});w[u].sort(a)}u=ua(w[0].length,w[1].length,w[2].length,w[3].length);R=ua(sa(u,ea)*z,R+z);w[1].reverse();w[3].reverse();for(y.setStyle(G);J--;){t=w[J];Q=t.length;H||(z=Q>ea?R/Q:C,T=z/2);S=Q*z;G=R;for(u=0;u<Q;u+=1,S-=z)K=va(R*qa(t[u].angle)),G<K?K=G:K<S&&(K=S),G=(t[u].oriY=K)-z;S=h[J];Q=R-(Q-1)*z;G=0;for(u=t.length-1;0<=u;--u,Q+=z)K=t[u].point,ia=K.graphics,W=K.config,null!==W.y&&(X=t[u].angle,f=W.sliced,ga=ia.label,
K=va(R*qa(X)),K<G?K=G:K>Q&&(K=Q),G=K+z,$=(K+t[u].oriY)/2,F=U+p[J]*B*ra(ma.asin($/R)),$*=b[J],$+=aa,da=aa+r*qa(X),M=U+A*ra(X),(2>J&&F<M||1<J&&F>M)&&(F=M),N=F+L[J],O=$+T-2,V=N+L[J],ga.x=V,ga._x=V,P&&(E=1<J?V-n:n+s-V,y.setStyle(W.style),K=x(xa(parseFloat(W.style.lineHeight)),12)+(2*xa(parseFloat(W.style.border),12)||0),K=y.getSmartText(W.displayValue,E,K),ga.attr({text:K.text}).tooltip(K.tooltext)),X<d&&($+=ka,da+=ka,O+=ka),ga.y=O,f&&(K=W.transX,f=W.transY,N+=K,F+=K,M+=K,da+=f,V+=K),ga.attr({visibility:Aa,
"text-anchor":S}),(f=ga.data("textPos"))&&ga.attr({x:f.x,y:f.y}),K={x:V,y:$},!g&&f?ga.animateWith(na,oa,K,pa,fa):ga.attr(K),ga.data("textPos",{x:V,y:$}),Z&&I&&la&&(V=ia.connector,W.connectorPath||(e=!0),W.connectorPath=K=["M",M,da,"L",Y?F:M,$,N,$],K={path:K,"stroke-width":I,stroke:v.connectorColor||"#606060",visibility:Aa},V&&(g||e?V.attr(K):V.animateWith(na,oa,K,pa,fa))))}}}}(),animate:function(){var c,a,h,b,p=this,g=p.components.dataset[0],d=g.components.data;c=p.graphics.datasetGroup;var e=d.length;
a=g.config.alphaAnimation;h=function(){p.disposed||p.disposing||p.placeDataLabels(!1)};var f=p.get("config","animationObj"),g=f.duration||0,J=f.dummyObj,s=f.animObj,f=f.animType;if(a)c.attr({opacity:0}),c.animateWith(J,s,{opacity:1},g,f,h);else for(c=0;c<e;c++)if(a=d[c],h=a.graphics,a=a.config,b=a.shapeArgs,a=2*wa,h=h.element)h.attr({start:a,end:a}),h=b.start,b=b.end,(void 0).animateWith(J,s,{cx:h-a,cy:b-a},g,f)},_rotate:function(c){var a=this.components.dataset[0],h=a.config,a=a.components,b=a.data,
p=h.slicedOffset,g=h.slicedOffsetY,d=h.startAngle,e;c=isNaN(c)?-h._lastAngle:c;e=(c-d)%360;h.startAngle=x(c,h.startAngle)%360;e=-(e*wa)/180;a.Pie3DManager&&a.Pie3DManager.rotate(e);Ca(b,function(c){var a=[],h=c.config;c=c.graphics.element;var a=h.shapeArgs,b=a.start+=e,a=a.end+=e,D=h.angle=O((b+a)/2),b=h.sliced,a=ra(D),D=qa(D),a=h.slicedTranslation=[ja(a*p),ja(D*g)];h.transX=a[0];h.transY=a[1];h.slicedX=b?ra(e)*p:0;h.slicedY=b?qa(e)*g:0;c&&b&&c.attr({transform:"t"+a[0]+","+a[1]})});this.placeDataLabels(!0,
b)},_plotRollOver:function(c){var a=this.data("plotItem"),h=a.chart,b=h.config,p=h.components.dataset[0],g=p.components.data[a.index],a=g.graphics.element,g=g.config.hoverEffects;p.config.isRotating||(Ka.call(a,h,c,"DataPlotRollOver"),g.enabled&&a.attr(g));b.isHovered=!0},_plotRollOut:function(c){var a=this.data("plotItem"),h=a.chart,b=h.config,p=h.components.dataset[0],g=p.components.data[a.index],a=g.config,g=g.graphics.element;p.config.isRotating||(Ka.call(g,h,c,"DataPlotRollOut"),g.attr({color:a.color.color.split(",")[0],
alpha:a._3dAlpha,borderWidth:a.borderWidth,borderColor:a.borderColor}));b.isHovered=!1},_plotDragStart:function(c,a,h){var b=this.data("plotItem").chart.components.dataset[0].config;b.isRightClicked=Pa||0===h.button||1===h.button?!1:!0;b.enableRotation&&!b.isRightClicked&&(b.isRotating=!1,c=Ja.call(h,c,a,b.center,b.chartPosition,b.pieYScale),b.dragStartAngle=c,b._lastAngle=-b.startAngle,b.startingAngleOnDragStart=b.startAngle)},_plotDragEnd:function(c){var a=this.data("plotItem"),h=a.index,a=a.chart,
b=a.config,p=a.components.dataset[0],g=p.config,p=p.components.Pie3DManager,d=g.startAngle;g.isRightClicked||(g.isRotating?(setTimeout(function(){g.isRotating=!1},0),ea.raiseEvent("rotationEnd",{startingAngle:O(d,!0),changeInAngle:d-g.startingAngleOnDragStart},a.chartInstance),!b.isHovered&&p.colorObjs[h]&&p.onPlotHover(h,!1)):a._plotGraphicClick.call(this,c))},_plotDragMove:function(c,a,h,b,p){var g=this.data("plotItem").chart,d=g.components.dataset[0].config;isNaN(c)||isNaN(a)||!d.enableRotation||
d.singletonCase||d.isRightClicked||(c=Ja.call(p,h,b,d.center,d.chartPosition,d.pieYScale),d.isRotating||(d.dragStartAngle!==c&&(d.isRotating=!0),ea.raiseEvent("rotationStart",{startingAngle:O(d.startAngle,!0)},g.chartInstance)),a=c-d.dragStartAngle,d.dragStartAngle=c,d.moveDuration=0,d._lastAngle+=180*a/wa,c=(new Date).getTime(),d._lastTime&&!(d._lastTime+d.timerThreshold<c))||(d._lastTime||g._rotate(),d.timerId=setTimeout(function(){g.disposed&&g.disposing||g._rotate()},d.timerThreshold),d._lastTime=
c)},_stubRadius:function(c,a,h,b){var d=this.components.dataset[0],g=d.config,e=x(d.components.data&&d.components.data.length,0),f=d.config,l=x(f.slicingdistance),J=g.preSliced||f.enableslicing!==H||f.showlegend===ba&&f.interactivelegend!==H?va(x(l,20)):0,f=x(f.pieradius,0),s=sa(h,c),d=g.dataLabelOptions||(g.dataLabelOptions=d._parseDataLabelOptions()),u=d.style,e=e?x(parseInt(u.lineHeight,10),12):0,f=0===f?.15*s:f,s=0,s=g.pieYScale;h-=g.pieSliceDepth;s=sa(c/2-a-J,(h/2-e)/s)-b;s>=f?f=s:l||(J=b=ua(sa(b-
(f-s),J),10));g.slicingDistance=J;g.pieMinRadius=f;d.distance=b;return f},_startingAngle:function(c,a){var h,b=this.components.dataset[0].config,d=(h=b.startAngle)+(0>h?360:0);if(!isNaN(c)){if(b.singletonCase||b.isRotating)return;c+=a?d:0;this._rotate(c);d=c}return ja(100*((d%=360)+(0>d?360:0)))/100}},e.pie2d,{plotborderthickness:.1,alphaanimation:1});e("doughnut2d",{friendlyName:"Doughnut Chart",defaultDatasetType:"Doughnut2D",creditLabel:!1,applicableDSList:{Doughnut2D:!0},getPointColor:function(c,
a,h){var b;c=f(c);a=B(a);100>h&&za?(b=q(c,pa(100*(85-.2*(100-h)))/100),c=v(c,pa(100*(100-.5*h))/100),a={FCcolor:{color:b+","+c+","+c+","+b,alpha:a+","+a+","+a+","+a,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:h}}):a={FCcolor:{color:c+","+c,alpha:a+","+a,ratio:"0,100"}};return a},drawDoughnutCenterLabel:function(c,a,h,b,d,g,e){var f=this.components,l=f.dataset[0].config;g=g||l.lastCenterLabelConfig;var f=f.paper,J=this.linkedItems.smartLabel,s=this.graphics,u=s.datasetGroup,t=g.padding,A=2*
g.textPadding,k={fontFamily:g.font,fontSize:g.fontSize+"px",lineHeight:1.2*g.fontSize+"px",fontWeight:g.bold?"bold":"",fontStyle:g.italic?"italic":""},m=1.414*(.5*b-t)-A;d=1.414*(.5*d-t)-A;var n;J.setStyle(k);J.useEllipsesOnOverflow(this.config.useEllipsesWhenOverflow);J=J.getSmartText(c,m,d);(d=s.doughnutCenterLabel)?(d.attr("text")!==c&&this.centerLabelChange(c),n=s.centerLabelOvalBg):(g.bgOval&&(s.centerLabelOvalBg=n=f.circle(a,h,.5*b-t,u)),d=s.doughnutCenterLabel=f.text(u).hover(this.centerLabelRollover,
this.centerLabelRollout).click(this.centerLabelClick),d.chart=this);c?(d.css(k).attr({x:a,y:h,text:J.text,visibility:Aa,direction:l.textDirection,fill:ka({FCcolor:{color:g.color,alpha:g.alpha}}),"text-bound":g.bgOval?"none":[ka({FCcolor:{color:g.bgColor,alpha:g.bgAlpha}}),ka({FCcolor:{color:g.borderColor,alpha:g.borderAlpha}}),g.borderThickness,g.textPadding,g.borderRadius]}).tooltip(g.toolText||J.tooltext),g.bgOval&&n&&n.attr({visibility:Aa,fill:Ta(g.bgColor),"fill-opacity":g.bgAlpha/100,stroke:Ta(g.borderColor),
"stroke-width":g.borderThickness,"stroke-opacity":g.borderAlpha/100})):(d.attr("visibility","hidden"),n&&n.attr("visibility","hidden"));e&&(l.lastCenterLabelConfig=g,l.centerLabelConfig=g)},centerLabelRollover:function(){var c=this.chart,a=c.config,h=c.chartInstance,b=h.ref,d=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:h.id,renderer:h.args.renderer,container:c.linkedItems.container,centerLabelText:d&&
d.label};this.attr("text")&&ea.raiseEvent("centerLabelRollover",a,h,this,c.hoverOnCenterLabel)},centerLabelRollout:function(){var c=this.chart,a=c.config,h=c.chartInstance,b=h.ref,d=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:h.id,renderer:h.args.renderer,container:c.linkedItems.container,centerLabelText:d&&d.label};this.attr("text")&&ea.raiseEvent("centerLabelRollout",a,h,this,c.hoverOffCenterLabel)},
centerLabelClick:function(){var c=this.chart,a=c.config,h=c.chartInstance,b=h.ref,d=c.components.dataset[0].config.lastCenterLabelConfig,c={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:h.id,renderer:h.args.renderer,container:c.linkedItems.container,centerLabelText:d&&d.label};this.attr("text")&&ea.raiseEvent("centerLabelClick",c,h)},centerLabelChange:function(c){var a=this.config,h=this.chartInstance,b=h.ref;ea.raiseEvent("centerLabelChanged",{height:a.height,
width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:h.id,renderer:h.args.renderer,container:this.linkedItems.container,centerLabelText:c},h)},hoverOnCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&this.attr({fill:ka({FCcolor:{color:c.hoverColor||c.color,alpha:c.hoverAlpha||c.alpha}})})},hoverOffCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&
this.attr({fill:ka({FCcolor:{color:c.color,alpha:c.alpha}})})}},e.pie2d,{singletonPlaceValue:!1});e("doughnut3d",{friendlyName:"3D Doughnut Chart",defaultDatasetType:"Doughnut3D",creditLabel:!1,applicableDSList:{Doughnut3D:!0},_configureManager:function(){var c=this.components.dataset[0],a=c.config,b=c.components,c=b.Pie3DManager,b=b.data;c&&c.configure(a.pieSliceDepth,1===b.length,a.use3DLighting,!0)}},e.pie3d);e("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",creditLabel:!1,
defaultDatasetType:"column",applicableDSList:{column:!0},eiMethods:{}},e.mscartesian);e("mscolumn3d",{standaloneInit:!0,defaultDatasetType:"column3d",friendlyName:"Multi-series 3D Column Chart",applicableDSList:{column3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,creditLabel:!1,defaultZeroPlaneHighlighted:!1},e.mscartesian3d);e("msbar2d",{standaloneInit:!0,friendlyName:"Multi-series Bar Chart",isBar:!0,hasLegend:!0,creditLabel:!1,defaultDatasetType:"bar2d",applicableDSList:{bar2d:!0}},e.msbarcartesian);
e("msbar3d",{standaloneInit:!0,defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart",fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,isBar:!0,hasLegend:!0,creditLabel:!1,defaultZeroPlaneHighlighted:!1,defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0}},e.msbarcartesian3d);e("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",creditLabel:!1,defaultDatasetType:"area",showValues:1,defaultPlotShadow:0,applicableDSList:{area:!0}},e.mscartesian);e("msline",{standaloneInit:!0,
friendlyName:"Multi-series Line Chart",creditLabel:!1,defaultDatasetType:"line",defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},e.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});e("stackedarea2d",{friendlyName:"Stacked Area Chart",isStacked:!0,showsum:0,creditLabel:!1,areaAlpha:100},e.msarea);e("stackedcolumn2d",{friendlyName:"Stacked Column Chart",isStacked:!0,creditLabel:!1},e.mscolumn2d);e("stackedcolumn3d",{friendlyName:"3D Stacked Column Chart",
isStacked:!0,creditLabel:!1},e.mscolumn3d);e("stackedbar2d",{friendlyName:"Stacked Bar Chart",isStacked:!0,creditLabel:!1},e.msbar2d);e("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",isStacked:!0,creditLabel:!1},e.msbar3d);e("marimekko",{standaloneInit:!0,friendlyName:"Marimekko Chart",isValueAbs:!0,distributedColumns:!0,stack100percent:!0,defaultDatasetType:"marimekko",applicableDSList:{marimekko:!0},isStacked:!0,showsum:1,creditLabel:!1,_setAxisLimits:function(){var c=this.components,a=c.dataset,
b=c.yAxis,c=c.xAxis,d,p=a.length,g,e=-Infinity,f=Infinity,l=Infinity,k=-Infinity,s,u,t={};s=this.config.categories;var A=[],m=function(c){e=ua(e,c.max);f=sa(f,c.min);k=ua(k,c.xMax||-Infinity);l=sa(l,c.xMin||Infinity)};for(g=0;g<p;g++)d=a[g],(u=d.groupManager)?t[d.type]=u:A.push(d);for(u in t)a=t[u].getDataLimits(),m(a);p=A.length;for(g=0;g<p;g++)a=A[g].getDataLimits(),m(a);-Infinity===e&&(e=0);Infinity===f&&(f=0);b[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});b[0].setDataLimit(e,
f);if(-Infinity!==k||Infinity!==l)c[0].config.xaxisrange={max:k,min:l},c[0].setDataLimit(k,l);b=t[u].getStackSumPercent();g=b.length;u=c[0].getCategoryLen();u>g&&s.splice(g,u-g);this._setCategories();g=c[0].getLimit();l=g.min;k=g.max;s=l;u=k-l;for(g=0;g<b.length;g++)a=b[g],p=u*a/100,a=s+p/2,c[0].updateCategory(g,{x:a}),s+=p}},e.mscartesian);e("msstackedcolumn2d",{standaloneInit:!0,isStacked:!0,defaultDatasetType:"column",applicableDSList:{column:!0},friendlyName:"Multi-series Stacked Column Chart",
_createDatasets:function(){var c=this.components,a=this.jsonData,b=a.dataset,d=b&&b.length||0,p,g,e,f=this.defaultDatasetType,l=this.applicableDSList,k,s,u,t,A,m,n=a.lineset||[],q=this.config,r=q.dataSetMap,y=q.lineSetMap,v=r&&r.length,B=c.legend,S=[],x=[],H=0;u=0;var L,P=-1,I,w=this.config.catLen,C=c.xAxis[0],z,T,N=c.dataset;if(b||0!==n.length){this.config.categories=a.categories&&a.categories[0].category;g=c.dataset=[];for(a=0;a<d;a++){A=b[a];P++;if(A.dataset)for(T=!0,m=A.dataset&&A.dataset.length||
0,S[a]=[],p=0;p<m;p++){if(u=A.dataset[p],k=(k=R(u.renderas,f))&&k.toLowerCase(),l[k]||(k=f),e=FusionCharts.get("component",["dataset",k]))t="datasetGroup_"+k,s=FusionCharts.register("component",["datasetGroup",k]),k=c[t],s&&!k?(k=c[t]=new s,k.chart=this,k.init()):k&&r&&0!==r.length&&!L&&(k.init(),L=!0),r&&r[a]&&r[a][p]?(e=r[a][p],e.index=H,t=e.JSONData,s=t.data.length,t=u.data&&u.data.length||0,I=C.getCategoryLen(),z=w-I,s-=t,s=this._getDiff(s,t,z,I),t=s.diff,s=s.startIndex,0<t&&e.removeData(s,t,
!1),e.JSONData=u,e.configure()):(e=new e,e.chart=this,e.index=H,e.init(u)),H++,S[a].push(e),g.push(e),k&&k.addDataSet(e,P,p)}else m=p=0,P--;A=r&&r[a]&&r[a].length;if(A>m)for(u=p,A=A-m+p;u<A;u++)k=r[a][u],B.removeItem(k.legendItemId),Ha.call(k)}if(v>d)for(u=a,A=v-d+a;u<A;u++)for(m=r[u].length,p=0;p<m;p++)k=r[u][p],B.removeItem(k.legendItemId),Ha.call(k);q.dataSetMap=S;if(this.lineset){a=0;for(d=n.length;a<d;a++)b=n[a],e=FusionCharts.get("component",["dataset","line"]),e=new e,y&&y[a]?(e=y[a],e.index=
H,t=e.JSONData,s=t.data.length,t=b.data&&b.data.length||0,s>t&&e.removeData(t,s-t,!1),e.JSONData=b,e.configure()):(e.chart=this,e.index=H,e.init(b)),x.push(e),g.push(e),H++;n=y&&y.length;if(n>d)for(u=a,A=n-d+a;u<A;u++)k=y[u],B.removeItem(k.legendItemId),Ha.call(k);q.lineSetMap=x}T?this.config.catLen=C.getCategoryLen():(c.dataset=N,this.setChartMessage())}else this.setChartMessage()},creditLabel:!1},e.mscartesian);e("mscombi2d",{friendlyName:"Multi-series Combination Chart",standaloneInit:!0,creditLabel:!1,
defaultDatasetType:"column",applicableDSList:{line:!0,area:!0,column:!0},_createDatasets:function(){var c=this.components,a=this.jsonData,b=a.dataset,d=b&&b.length,p,g,e=this.defaultDatasetType,f=this.applicableDSList,k=this.components.legend,l=c.xAxis[0],s,u,t,A,m,n=this.isStacked,q,r,y=[],v={},B=this.config,S=this.config.catLen,x=B.datasetMap||(B.datasetMap={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]}),H={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]};b||this.setChartMessage();
this.config.categories=a.categories&&a.categories[0].category;p=c.dataset=[];for(a=0;a<d;a++)if(m=b[a],A=m.parentyaxis||"",u=(u=this.isDual&&"s"===A.toLowerCase()?"line"===this.defaultSecondaryDataset?this.sDefaultDatasetType:R(m.renderas,this.sDefaultDatasetType):R(m.renderas,e))&&u.toLowerCase(),f[u]||(u=e),t=FusionCharts.get("component",["dataset",u]))void 0===v[u]?v[u]=0:v[u]++,g="datasetGroup_"+u,A=FusionCharts.register("component",["datasetGroup",u]),(s=c[g])&&y.push(s),A&&!s&&(s=c[g]=new A,
s.chart=this,s.init()),A=x[u],(g=A[0])?(s=l.getCategoryLen(),t=S-s,r=g.JSONData,q=r.data&&r.data.length,r=m.data&&m.data.length||0,q-=r,t=this._getDiff(q,r,t,s),s=t.diff,t=t.startIndex,0<s&&g.removeData(t,s,!1),g.JSONData=m,g.configure(),A.splice(0,1)):(g=new t,g.chart=this,g.index=a,s&&(n?s.addDataSet(g,0,v[u]):s.addDataSet(g,v[u],0)),g.init(m)),H[u].push(g),p.push(g);for(b in x)if(A=x[b],e=A[0]&&A[0].groupManager,d=A.length,f=void 0===v[b]?0:v[b]+1,d)for(n&&e&&e.removeDataSet(0,f,d),c=0;c<d;c++)e&&
!n&&e.removeDataSet(f,0,1),k.removeItem(A[c].legendItemId),"column"===A[c].type&&!0===this.is3D?(A[c].visible=!1,A[c].draw()):Ha.call(A[c]);B.datasetMap=H;this.config.catLen=l.getCategoryLen()}},e.mscartesian);e("mscombi3d",{standaloneInit:!0,friendlyName:"Multi-series 3D Combination Chart",defaultDatasetType:"column3d",is3D:!0,creditLabel:!1,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0,area:!0},_createDatasets:e.mscombi2d},e.mscartesian3d);e("mscolumnline3d",{friendlyName:"Multi-series Column and Line Chart",
use3dlineshift:1,is3D:!0,creditLabel:!1,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0}},e.mscombi3d);e("stackedcolumn2dline",{friendlyName:"Stacked Column and Line Chart",isStacked:!0,stack100percent:0,defaultDatasetType:"column",creditLabel:!1,applicableDSList:{line:!0,column:!0}},e.mscombi2d);e("stackedcolumn3dline",{friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,is3D:!0,use3dlineshift:1,creditLabel:!1,stack100percent:0,applicableDSList:{column3d:!0,line:!0}},e.mscombi3d);
e("mscombidy2d",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Combination Chart",defaultDatasetType:"column",sDefaultDatasetType:"line",_createDatasets:e.mscombi2d,isDual:!0,creditLabel:!1,applicableDSList:{column:!0,line:!0,area:!0}},e.msdybasecartesian);e("mscolumn3dlinedy",{standaloneInit:!0,friendlyName:"Multi-series 3D Column and Line Chart",defaultDatasetType:"column3d",sDefaultDatasetType:"line",is3D:!0,isDual:!0,use3dlineshift:1,creditLabel:!1,_createDatasets:e.mscombi2d,defaultPlotShadow:1,
applicableDSList:{column3d:!0,line:!0}},e.msdybasecartesian3d);e("stackedcolumn3dlinedy",{standaloneInit:!0,friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,is3D:!0,isDual:!0,use3dlineshift:1,defaultDatasetType:"column3d",creditLabel:!1,sDefaultDatasetType:"line",defaultSecondaryDataset:"line",_createDatasets:e.mscombi2d,applicableDSList:{column3d:!0,line:!0}},e.msdybasecartesian3d);e("msstackedcolumn2dlinedy",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Stacked Column and Line Chart",
isDual:!0,stack100percent:0,isStacked:!0,defaultDatasetType:"column",sDefaultDatasetType:"line",hasLineSet:!0,creditLabel:!1,applicableDSList:{column:!0},lineset:!0,_createDatasets:e.msstackedcolumn2d},e.msdybasecartesian);e("scrollcolumn2d",{standaloneInit:!0,friendlyName:"Scrollable Multi-series Column Chart",tooltipConstraint:"plot",canvasborderthickness:1,creditLabel:!1,defaultDatasetType:"scrollcolumn2d",applicableDSList:{scrollcolumn2d:!0},avgScrollPointWidth:40,hasScroll:!0,defaultPlotShadow:1,
_manageScrollerPosition:function(){var c=this.config,a;a=this._scrollBar.get;var b=this.components.scrollBar,d;a=a()[0];b.setConfiguaration(a.conf);a=c.scrollEnabled;d=b.getLogicalSpace();this._allocateSpace({bottom:c.shift=!1===a?0:d.height+b.conf.padding})},_resetViewPortConfig:function(){this.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}},updateManager:function(c){var a=this.config,b=this.config.viewPortConfig,d=b.scaleX,p=this.graphics.datasetGroup,g=this.graphics.datalabelsGroup,e=this.graphics.trackerGroup,
f=a.canvasWidth*(d-1)*c,k=this.components.xAxis[0],l=this.graphics.sumLabelsLayer;b.x=f/d;b="t"+-ja(f)+",0";a.lastScrollPosition=c;p.attr({transform:b});g.attr({transform:b});e.attr({transform:b});l&&l.attr({transform:b});c=k.getAxisConfig("animateAxis");k.setAxisConfig({animateAxis:!1});k.draw();k.setAxisConfig({animateAxis:c})},_createToolBox:function(){var c=this.components,a=this._scrollBar,b=a.get,d=a.add,p,g,f=c.scrollBar;e.mscartesian._createToolBox.call(this);p=c.tb;g=(c.toolBoxAPI||p.getAPIInstances(p.ALIGNMENT_HORIZONTAL)).Scroller;
a.clear();d({isHorizontal:!0},{scroll:function(c){return function(){c.updateManager.apply(c,arguments)}}(this)});a=b()[0];f||(c.scrollBar=(new g(a.conf,p.idCount,p.pId)).attachEventHandlers(a.handler))},_setAxisScale:function(){var c=this.config,a=this.components.xAxis[0].getCategoryLen(),b=this.jsonData,d=c.scrollOptions||(c.scrollOptions={}),e=this.components.dataset,g=e.length,f,k,l=0,m;m=c.canvasWidth;var s=c.scrollToEnd,u=c.lastScrollPosition,b=x(b.chart.numvisibleplot,pa(c.width/this.avgScrollPointWidth));
for(k=0;k<g;k++)f=e[k],"column"===f.type&&l++;this.isStacked&&(l=1);a*=l||1;2<=b&&b<a?(c.viewPortConfig.scaleX=a/=b,m=m*(a-1)*(void 0!==u?u:s?1:0),c.viewPortConfig.x=m/a,d.vxLength=b/g,c.scrollEnabled=!0):c.scrollEnabled=!1},drawScrollBar:function(){var c=this,a=c.config,b=a.viewPortConfig,d=c.components,e=d.xAxis[0],g=e.config.axisData,f=e.config.axisRange,k=a.scrollOptions||(a.scrollOptions={}),l=f.max,m=f.min,s=k.vxLength,u=d.scrollBar,f=u.node,t=a.scrollToEnd,A=a.lastScrollPosition,n=b.scaleX,
q,r,v,y,B;y=void 0!==A?A:t?1:0;b=a.canvasLeft;t=a.canvasTop;A=a.canvasHeight;q=a.canvasWidth;d=d.canvas.config;r=d.canvasBorderWidth;v=g.showAxisLine?g.axisLineThickness||0:0;B=x(r,g.lineStartExtension);g=x(r,g.lineEndExtension);k.viewPortMin=m;k.viewPortMax=l;n=k.scrollRatio=1/n;s=k.windowedCanvasWidth=e.getAxisPosition(s);e=k.fullCanvasWidth=e.getAxisPosition(l-m)-s;!1!==a.scrollEnabled?(u.draw(b-B,t+A+r+v-2,{width:q+B+g,scrollRatio:n,roundEdges:d.isRoundEdges,fullCanvasWidth:e,windowedCanvasWidth:s,
scrollPosition:y}),!f&&function(){var a;na.eve.on("raphael.scroll.start."+u.node.id,function(b){a=b;ea.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});na.eve.on("raphael.scroll.end."+u.node.id,function(b){ea.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):u&&u.node&&u.node.hide()},_drawDataset:function(){this._setClipping();e.mscartesian._drawDataset.call(this)},_setClipping:function(){var c=this.config,a=this.graphics.datasetGroup,b=this.graphics.datalabelsGroup,
d=this.graphics.trackerGroup,e=c.viewPortConfig,g=this.graphics.sumLabelsLayer,f=e.scaleX,k=this.get("config","animationObj"),l=k.duration,m=k.dummyObj,s=k.animObj,k=k.animType,e=e.x,c=c.height,u=this.components.canvas.config.clip["clip-canvas"],u=u&&u.slice(0)||[];this.config.clipSet?(a.animateWith(m,s,{"clip-rect":u},l,k),b.animateWith(m,s,{"clip-rect":u},l,k),d.attr({"clip-rect":u}),u[3]=c,u[1]=0,g&&g.animateWith(m,s,{"clip-rect":u},l,k)):(a.attr({"clip-rect":u}),b.attr({"clip-rect":u}),d.attr({"clip-rect":u}),
u[3]=c,u[1]=0,g&&g.attr({"clip-rect":u}));a.attr({transform:"T"+-(e*f)+",0"});b.attr({transform:"T"+-(e*f)+",0"});d.attr({transform:"T"+-(e*f)+",0"});g&&g.attr({transform:"T"+-(e*f)+",0"});this.config.clipSet=!0},configure:function(){var c=this.jsonData.chart,a;e.mscolumn2d.configure.call(this);a=this.config;a.scrollToEnd=x(c.scrolltoend,0);a.lastScrollPosition=void 0}},e.scrollbase);e("scrollarea2d",{friendlyName:"Scrollable Multi-series Area Chart",tooltipConstraint:"plot",canvasborderthickness:1,
creditLabel:!1,hasScroll:!0,defaultDatasetType:"scrollarea2d",applicableDSList:{scrollarea2d:!0},avgScrollPointWidth:75,defaultPlotShadow:0,_setAxisScale:function(){var c=this.config,a=this.components.xAxis[0].getCategoryLen(),b=this.jsonData,d=c.scrollOptions||(c.scrollOptions={}),e;e=c.lastScrollPosition;var g=c.scrollToEnd,f=c.canvasWidth,b=x(b.chart.numvisibleplot,pa(c.width/this.avgScrollPointWidth));2<=b&&b<a?(c.viewPortConfig.scaleX=a/=b,e=f*(a-1)*(void 0!==e?e:g?1:0),c.viewPortConfig.x=e/
a,d.vxLength=b,c.scrollEnabled=!0):c.scrollEnabled=!1}},e.scrollcolumn2d);e("scrollline2d",{friendlyName:"Scrollable Multi-series Line Chart",tooltipConstraint:"plot",canvasborderthickness:1,defaultDatasetType:"line",creditLabel:!1,avgScrollPointWidth:75},e.scrollarea2d);e("scrollstackedcolumn2d",{friendlyName:"Scrollable Stacked Column Chart",canvasborderthickness:1,tooltipConstraint:"plot",avgScrollPointWidth:75,creditLabel:!1,isStacked:!0},e.scrollcolumn2d);e("scrollcombi2d",{friendlyName:"Scrollable Combination Chart",
tooltipConstraint:"plot",hasScroll:!0,canvasborderthickness:1,avgScrollPointWidth:40,applicableDSList:{area:!0,line:!0,column:!0},creditLabel:!1,_createDatasets:e.mscombi2d},e.scrollcolumn2d);e("scrollcombidy2d",{friendlyName:"Scrollable Dual Y-Axis Combination Chart",tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40,hasScroll:!0,_drawDataset:e.scrollcolumn2d,updateManager:e.scrollcolumn2d,_setAxisScale:e.scrollcolumn2d,_createToolBox:e.scrollcolumn2d,_scrollBar:e.scrollcolumn2d,
_manageScrollerPosition:e.scrollcolumn2d,drawScrollBar:e.scrollcolumn2d,_setClipping:e.scrollcolumn2d,creditLabel:!1,configure:e.scrollcolumn2d},e.mscombidy2d);e("scatter",{friendlyName:"Scatter Chart",isXY:!0,standaloneInit:!0,hasLegend:!0,defaultZeroPlaneHighlighted:!1,creditLabel:!1,defaultDatasetType:"Scatter",applicableDSList:{Scatter:!0}},e.scatterBase);Ia(U.eventList,{zoomedOut:"FC_ZoomedOut"});e("bubble",{friendlyName:"Bubble Chart",standaloneInit:!0,defaultDatasetType:"bubble",creditLabel:!1,
applicableDSList:{bubble:!0},getDataLimits:function(){var c=this.components.dataset,a,b,d,e=-Infinity,g=Infinity;a=0;for(d=c.length;a<d;a++)b=c[a],b=b.getDataLimits(),e=ua(e,b.zMax||-Infinity),g=sa(g,b.zMin||Infinity);e=-Infinity===e?0:e;g=Infinity===g?0:g;return{zMax:e,zMin:g}}},e.scatter);na._availableAnimAttrs&&na._availableAnimAttrs.cx&&(na._availableAnimAttrs.innerR=na._availableAnimAttrs.depth=na._availableAnimAttrs.radiusYFactor=na._availableAnimAttrs.start=na._availableAnimAttrs.end=na._availableAnimAttrs.cx);
fa.prototype={configure:function(c,a,b,d){var e=this.linkedItems.chart,g=e.get("components","paper"),e=e.get("graphics","datasetGroup");"object"===typeof c&&(c=c.depth,a=c.hasOnePoint,b=c.use3DLighting,d=c.isDoughnut);this.renderer||(this.renderer=g);this.hasOnePoint=a;this.use3DLighting=b;this.isDoughnut=d;this.depth=c;!this.bottomBorderGroup&&(this.bottomBorderGroup=g.group("bottom-border",e));this.bottomBorderGroup.attr({transform:"t0,"+c});!this.slicingWallsBackGroup&&(this.slicingWallsBackGroup=
g.group("slicingWalls-back-Side",e));!this.slicingWallsFrontGroup&&(this.slicingWallsFrontGroup=g.group("slicingWalls-front-Side",e));!this.topGroup&&(this.topGroup=g.group("top-Side",e));!this.pointElemStore&&(this.pointElemStore=[]);!this.slicingWallsArr&&(this.slicingWallsArr=[]);this.moveCmdArr=["M"];this.lineCmdArr=["L"];this.closeCmdArr=["Z"];this.colorObjs=[]},getArcPath:function(c,a,b,d,e,g,f,k,l,m){return b==e&&d==g?[]:["A",f,k,0,m,l,e,g]},_parseSliceColor:function(c,a,b){var d,e,g,f,k,l,
m,s,u,t,A,B,S,x,H;H=3;var y=(d=this.use3DLighting)?L:N,ha=b.radiusYFactor,G=b.cx,P=b.cy,O=b.r,ba=O*ha,U=b.innerR||0,Z=G+O,I=G-O,w=G+U,C=G-U;a=a||100;b=a/2;y[c]&&y[c][a]?y=y[c][a]:(y[c]||(y[c]={}),y[c][a]||(y[c][a]={}),y=y[c][a],d?(d=q(c,80),e=q(c,75),l=v(c,85),m=v(c,70),s=v(c,40),u=v(c,50),v(c,30),t=v(c,65),q(c,85),g=q(c,69),f=q(c,75),k=q(c,95)):(H=10,d=q(c,90),e=q(c,87),l=v(c,93),m=v(c,87),s=v(c,80),t=u=v(c,85),v(c,80),k=q(c,85),g=q(c,75),f=q(c,80)),A=e+n+l+n+m+n+l+n+e,S=a+n+a+n+a+n+a+n+a,B=e+n+
c+n+l+n+c+n+e,x=b+n+b+n+b+n+b+n+b,s=e+n+c+n+s+n+c+n+e,g=f+n+l+n+u+n+l+n+g,f="FFFFFF"+n+"FFFFFF"+n+"FFFFFF"+n+"FFFFFF"+n+"FFFFFF",H=0+n+b/H+n+a/H+n+b/H+n+0,y.top=za?{FCcolor:{gradientUnits:"userSpaceOnUse",radialGradient:!0,color:t+n+k,alpha:a+n+a,ratio:"0,100"}}:{FCcolor:{gradientUnits:"objectBoundingBox",color:m+n+m+n+l+n+e,alpha:a+n+a+n+a+n+a,angle:-72,ratio:"0,8,15,77"}},y.frontOuter={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:g,alpha:S,angle:0,ratio:"0,20,15,15,50"}},y.backOuter=
{FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:s,alpha:x,angle:0,ratio:"0,62,8,8,22"}},y.frontInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:B,alpha:x,angle:0,ratio:"0,25,5,5,65"}},y.backInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:A,alpha:S,angle:0,ratio:"0,62,8,8,22"}},y.topBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:f,alpha:H,angle:0,ratio:"0,20,15,15,50"}},y.topInnerBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:f,
alpha:H,angle:0,ratio:"0,50,15,15,20"}},y.bottom=ka(r(c,b)),y.startSlice=ka(r(d,a)),y.endSlice=ka(r(d,a)));if(y.cx!==G||y.cy!==P||y.rx!==O||y.radiusYFactor!==ha||y.innerRx!==U)za&&(y.top.FCcolor.cx=G,y.top.FCcolor.cy=P,y.top.FCcolor.r=O,y.top.FCcolor.fx=G-.3*O,y.top.FCcolor.fy=P+1.2*ba),y.topBorder.FCcolor.x1=y.backOuter.FCcolor.x1=y.frontOuter.FCcolor.x1=I,y.topBorder.FCcolor.x2=y.backOuter.FCcolor.x2=y.frontOuter.FCcolor.x2=Z,y.topInnerBorder.FCcolor.x1=y.backInner.FCcolor.x1=y.frontInner.FCcolor.x1=
C,y.topInnerBorder.FCcolor.x2=y.backInner.FCcolor.x2=y.frontInner.FCcolor.x2=w,y.cx=G,y.cy=P,y.rx=O,y.radiusYFactor=ha,y.innerRx=U;return y},rotate:function(a){var b=this.pointElemStore,d=0,e=b.length,f;if(!this.hasOnePoint){for(;d<e;d+=1)f=b[d],f=f._confObject,f.start+=a,f.end+=a,this._setSliceShape(f);this.refreshDrawing()}},removeSlice:function(a){var b=this.pointElemStore,d=a._confObject.elements,e=this.slicingWallsArr,f;f=b.length;var g;for(--f;0<=f;--f)g=b[f],g===a&&b.splice(f,1);f=e.length;
for(--f;0<=f;--f)b=e[f],b!==d.startSlice&&b!==d.frontOuter1&&b!==d.frontOuter&&b!==d.backInner&&b!==d.endSlice||e.splice(f,1);a.hide&&a.hide();this._slicePool||(this._slicePool=[]);this._slicePool.push(a);this.refreshDrawing()},useSliceFromPool:function(){var a=this._slicePool||(this._slicePool=[]),b=this.slicingWallsArr,d=!1;a.length&&(d=a.shift(),this.pointElemStore.push(d),d.show(),a=d._confObject.elements,b.push(a.startSlice,a.frontOuter1,a.frontOuter),a.backInner&&b.push(a.backInner),b.push(a.endSlice));
return d},refreshDrawing:function(){var a=function(a,c){return a._conf.index-c._conf.index||a._conf.cIndex-c._conf.cIndex||a._conf.isStart-c._conf.isStart||a._conf.si-c._conf.si};return function(){var b=this.slicingWallsArr,e=0,f,l=b.length,g,n,q,r,v=this.slicingWallsFrontGroup,s=this.slicingWallsBackGroup;b.sort(a);a:{var u=b[0]&&b[0]._conf.index,t,A;r=u<=d;g=1;for(f=b.length;g<f;g+=1)if(A=b[g]._conf.index,t=A<=d,t!=r||A<u)break a;g=0}for(;e<l;e+=1,g+=1)g===l&&(g=0),f=b[g],r=f._conf.index,r<k?v.appendChild(f):
r<=d?(n?f.insertBefore(n):v.appendChild(f),n=f):r<=m?(q?f.insertBefore(q):s.appendChild(f),q=f):s.appendChild(f)}}(),_setSliceShape:function(a,b){var e=this.getArcPath,f=a.start,p=a.end,g=O(f),n=O(p),q,r,v,s,u,t,A,B,S,H,x,y,P,G,L,N,U,ba=this.isDoughnut,Z=a.radiusYFactor,I=a.cx,w=a.cy,C=a.r,z=C*Z,T=C+(za?-1:2),Y=z+(za?-1:2),E=a.innerR||0,Q=E*Z,F=this.depth,M=F+w,R=I+C,V=I-C,$=I+E,da=I-E,ja=w-z,X=["M",da,ja,"L",da,M+z,"Z"],Z=a.elements,ga,ca,W,ia,fa,aa="path",ea=(g+n)/2,ka=g>n;r=ra(g);v=qa(g);s=ra(n);
u=qa(n);t=I+C*r;A=w+z*v;B=I+T*r;S=w+Y*v;ga=A+F;ca=I+C*s;W=w+z*u;H=I+T*s;x=w+Y*u;ia=W+F;ba?(y=I+E*r,P=w+Q*v,N=P+F,G=I+E*s,L=w+Q*u,U=L+F,a.startSlice=["M",t,A,"L",t,ga,y,N,y,P,"Z"],a.endSlice=["M",ca,W,"L",ca,ia,G,U,G,L,"Z"]):(a.startSlice=["M",t,A,"L",t,ga,I,M,I,w,"Z"],a.endSlice=["M",ca,W,"L",ca,ia,I,M,I,w,"Z"]);za?(q=(g>n?l:0)+n-g,a.clipTopPath=ba?[["M",t,A,"A",C,z,0,q>d?1:0,1,ca,W,"L",G,L,"A",E,Q,0,q>d?1:0,0,y,P,"Z"]]:[["M",t,A,"A",C,z,0,q>d?1:0,1,ca,W,"L",I,w,"Z"]],a.clipOuterFrontPath1=[X],a.clipTopBorderPath=
[["M",B,S,"A",T,Y,0,q>d?1:0,1,H,x,"L",ca,W,ca,W+1,"A",C,z,0,q>d?1:0,0,t,A+1,"L",t,A,"Z"]],f!=p?g>n?g<d?(a.clipOuterFrontPath=[["M",R,w,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,0,0,0,R,w+F,"Z"]],a.clipOuterFrontPath1=[["M",V,w,"A",C,z,0,0,0,t,A,"v",F,"A",C,z,0,0,1,V,w+F,"Z"]],a.clipOuterBackPath=[["M",R,w,"A",C,z,0,1,0,V,w,"v",F,"A",C,z,0,1,1,R,w+F,"Z"]],ba&&(a.clipInnerBackPath=[["M",$,w,"A",E,Q,0,1,0,da,w,"v",F,"A",E,Q,0,1,1,$,w+F,"Z"]],a.clipInnerFrontPath=[["M",$,w,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,
0,$,w+F,"Z","M",da,w,"A",E,Q,0,0,0,y,P,"v",F,"A",E,Q,0,0,1,da,w+F,"Z"]])):n>d?(a.clipOuterFrontPath=[["M",R,w,"A",C,z,0,1,1,V,w,"v",F,"A",C,z,0,1,0,R,w+F,"Z"]],a.clipOuterBackPath=[["M",V,w,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,0,0,0,V,w+F,"Z","M",R,w,"A",C,z,0,0,0,t,A,"v",F,"A",C,z,0,0,1,R,w+F,"Z"]],ba&&(a.clipInnerFrontPath=[["M",$,w,"A",E,Q,0,1,1,da,w,"v",F,"A",E,Q,0,1,0,$,w+F,"Z"]],a.clipInnerBackPath=[["M",da,w,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,0,da,w+F,"Z","M",$,w,"A",E,Q,0,0,0,y,P,"v",F,"A",E,
Q,0,0,1,$,w+F,"Z"]])):(a.clipOuterFrontPath=[["M",R,w,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,0,0,0,R,w+F,"Z"]],a.clipOuterBackPath=[["M",t,A,"A",C,z,0,0,1,R,w,"v",F,"A",C,z,0,0,0,t,ga,"Z"]],ba&&(a.clipInnerFrontPath=[["M",$,w,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,0,$,w+F,"Z"]],a.clipInnerBackPath=[["M",y,P,"A",E,Q,0,0,1,$,w,"v",F,"A",E,Q,0,0,0,y,N,"Z"]])):g<d?n>d?(a.clipOuterFrontPath=[["M",t,A,"A",C,z,0,0,1,V,w,"v",F,"A",C,z,0,0,0,t,ga,"Z"]],a.clipOuterBackPath=[["M",V,w,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,
0,0,0,V,w+F,"Z"]],ba&&(a.clipInnerFrontPath=[["M",y,P,"A",E,Q,0,0,1,da,w,"v",F,"A",E,Q,0,0,0,y,N,"Z"]],a.clipInnerBackPath=[["M",da,w,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,0,da,w+F,"Z"]])):(a.clipOuterFrontPath=[["M",t,A,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,0,0,0,t,ga,"Z"]],a.clipOuterBackPath=[X],ba&&(a.clipInnerFrontPath=[["M",y,P,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,0,y,N,"Z"]],a.clipInnerBackPath=[X])):(a.clipOuterFrontPath=[X],a.clipOuterBackPath=[["M",t,A,"A",C,z,0,0,1,ca,W,"v",F,"A",C,z,0,0,0,t,ga,
"Z"]],ba&&(a.clipInnerFrontPath=[X],a.clipInnerBackPath=[["M",y,P,"A",E,Q,0,0,1,G,L,"v",F,"A",E,Q,0,0,0,y,N,"Z"]])):a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=[X],aa="litepath",a.clipBottomBorderPath=a.clipTopPath,a.startSlice=[a.startSlice],a.endSlice=[a.endSlice]):(T=this.moveCmdArr,Y=this.lineCmdArr,r=this.closeCmdArr,F=[I,w],v=[V,w],ja=[I,ja],s=[R,w],u=[I,w+z],X=[V,M],fa=[R,M],B=[da,w],S=[$,w],H=[da,M],x=[$,M],a.clipOuterFrontPath1=[],f!=p?(g>n?g<d?(f=e(I,
w,t,A,V,w,C,z,1,0),p=e(I,w,V,w,R,w,C,z,1,0),W=e(I,w,R,w,ca,W,C,z,1,0),a.clipOuterBackPath=T.concat(v,p,Y,fa,e(I,M,R,M,V,M,C,z,0,0),r),a.clipOuterFrontPath1=T.concat([t,A],f,Y,X,e(I,M,V,M,t,ga,C,z,0,0),r),a.clipOuterFrontPath=T.concat(s,W,Y,[ca,ia],e(I,M,ca,ia,R,M,C,z,0,0),r),a.clipTopBorderPath=T.concat([t,A],f,p,W),ba?(C=e(I,w,G,L,$,w,E,Q,0,0),z=e(I,w,$,w,da,w,E,Q,0,0),P=e(I,w,da,w,y,P,E,Q,0,0),a.clipInnerBackPath=T.concat(S,z,Y,H,e(I,M,da,M,$,M,E,Q,1,0),r),a.clipInnerFrontPath=T.concat(B,P,Y,[y,
N],e(I,M,y,N,da,M,E,Q,1,0),r,T,[G,L],C,Y,x,e(I,M,$,M,G,U,E,Q,1,0),r),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,z,P,r),a.clipTopBorderPath=a.clipTopBorderPath.concat(T,[G,L],C,z,P)):a.clipTopPath=a.clipTopBorderPath.concat(Y,F,r)):n>d?(f=e(I,w,t,A,R,w,C,z,1,0),p=e(I,w,R,w,V,w,C,z,1,0),W=e(I,w,V,w,ca,W,C,z,1,0),a.clipOuterFrontPath=T.concat(s,p,Y,X,e(I,M,V,M,R,M,C,z,0,0),r),a.clipOuterBackPath=T.concat([t,A],f,Y,fa,e(I,M,R,M,t,ga,C,z,0,0),r,T,v,W,Y,[ca,ia],e(I,M,ca,ia,V,M,C,z,0,0),r),a.clipTopBorderPath=
T.concat([t,A],f,p,W),ba?(C=e(I,w,G,L,da,w,E,Q,0,0),z=e(I,w,da,w,$,w,E,Q,0,0),P=e(I,w,$,w,y,P,E,Q,0,0),a.clipInnerFrontPath=T.concat(B,z,Y,x,e(I,M,$,M,da,M,E,Q,1,0),r),a.clipInnerBackPath=T.concat(S,P,Y,[y,N],e(I,M,y,N,$,M,E,Q,1,0),r,T,[G,L],C,Y,H,e(I,M,da,M,G,U,E,Q,1,0),r),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,z,P,r),a.clipTopBorderPath=a.clipTopBorderPath.concat(T,[G,L],C,z,P)):a.clipTopPath=a.clipTopBorderPath.concat(Y,F,r)):(f=e(I,w,t,A,R,w,C,z,1,0),p=e(I,w,R,w,ca,W,C,z,1,0),a.clipOuterFrontPath=
T.concat(s,p,Y,[ca,ia],e(I,M,ca,ia,R,M,C,z,0,0),r),a.clipOuterBackPath=T.concat([t,A],f,Y,fa,e(I,M,R,M,t,ga,C,z,0,0),r),a.clipTopBorderPath=T.concat([t,A],f,p),ba?(C=e(I,w,G,L,$,w,E,Q,0,0),z=e(I,w,$,w,y,P,E,Q,0,0),a.clipInnerFrontPath=T.concat([G,L],C,Y,x,e(I,M,$,M,G,U,E,Q,1,0),r),a.clipInnerBackPath=T.concat(S,z,Y,[y,N],e(I,M,y,N,$,M,E,Q,1,0),r),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,z,r),a.clipTopBorderPath=a.clipTopBorderPath.concat(T,[G,L],C,z)):a.clipTopPath=a.clipTopBorderPath.concat(Y,
F,r)):g<d?n>d?(f=e(I,w,t,A,V,w,C,z,1,0),p=e(I,w,V,w,ca,W,C,z,1,0),a.clipOuterBackPath=T.concat(v,p,Y,[ca,ia],e(I,M,ca,ia,V,M,C,z,0,0),r),a.clipOuterFrontPath=T.concat([t,A],f,Y,X,e(I,M,V,M,t,ga,C,z,0,0),r),a.clipTopBorderPath=T.concat([t,A],f,p),ba?(C=e(I,w,G,L,da,w,E,Q,0,0),z=e(I,w,da,w,y,P,E,Q,0,0),a.clipInnerBackPath=T.concat([G,L],C,Y,H,e(I,M,da,M,G,U,E,Q,1,0),r),a.clipInnerFrontPath=T.concat(B,z,Y,[y,N],e(I,M,y,N,da,M,E,Q,1,0),r),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,z,r),a.clipTopBorderPath=
a.clipTopBorderPath.concat(T,[G,L],C,z)):a.clipTopPath=a.clipTopBorderPath.concat(Y,F,r)):(f=e(I,w,t,A,ca,W,C,z,1,0),a.clipOuterBackPath=T.concat([t,A]),a.clipTopBorderPath=a.clipOuterBackPath.concat(f),a.clipOuterFrontPath=a.clipTopBorderPath.concat(Y,[ca,ia],e(I,M,ca,ia,t,ga,C,z,0,0),r),ba?(C=e(I,w,G,L,y,P,E,Q,0,0),a.clipInnerBackPath=T.concat([G,L]),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,r),a.clipTopBorderPath=a.clipTopBorderPath.concat(T,[G,L],C),a.clipInnerFrontPath=a.clipInnerBackPath.concat(C,
Y,[y,N],e(I,M,y,N,G,U,E,Q,1,0),r)):a.clipTopPath=a.clipTopBorderPath.concat(Y,F,r)):(f=e(I,w,t,A,ca,W,C,z,1,0),a.clipOuterFrontPath=T.concat([t,A]),a.clipTopBorderPath=a.clipOuterFrontPath.concat(f),a.clipOuterBackPath=a.clipTopBorderPath.concat(Y,[ca,ia],e(I,M,ca,ia,t,ga,C,z,0,0),r),ba?(C=e(I,w,G,L,y,P,E,Q,0,0),a.clipInnerFrontPath=T.concat([G,L]),a.clipTopPath=a.clipTopBorderPath.concat(Y,[G,L],C,r),a.clipTopBorderPath=a.clipTopBorderPath.concat(a.clipInnerFrontPath,C),a.clipInnerBackPath=a.clipInnerFrontPath.concat(C,
Y,[y,N],e(I,M,y,N,G,U,E,Q,1,0),r)):a.clipTopPath=a.clipTopBorderPath.concat(Y,F,r)),f=T.concat(v,Y,s),C=T.concat(ja,Y,u),a.clipTopPath=a.clipTopPath.concat(f,C),a.clipOuterFrontPath=a.clipOuterFrontPath.concat(f),a.clipOuterFrontPath1=a.clipOuterFrontPath1.concat(f),a.clipOuterBackPath=a.clipOuterBackPath.concat(f),ba&&(C=T.concat(B,Y,S),a.clipInnerFrontPath=a.clipInnerFrontPath.concat(C),a.clipInnerBackPath=a.clipInnerBackPath.concat(C))):(a.clipTopPath=a.clipOuterFrontPath=a.clipOuterBackPath=[],
ba&&(a.clipInnerFrontPath=a.clipInnerBackPath=[])),a.clipBottomBorderPath=a.clipTopBorderPath);b||(Z.startSlice._conf.index=g,Z.endSlice._conf.index=n,Z.backOuter._conf.index=y=ka&&(g<=m||n>m)||g<=m&&n>m?m:g>d?g:n,Z.frontOuter._conf.index=e=n<=k?n:g>n||g<=k?k:g,Z.frontOuter1._conf.index=g,Z.frontOuter1._conf.cIndex=d,g>n?(Z.backOuter._conf.cIndex=g<m?m:l,Z.startSlice._conf.cIndex=g<d?(g+d)/2:(g+l)/2,Z.endSlice._conf.cIndex=Z.frontOuter._conf.cIndex=0):Z.backOuter._conf.cIndex=Z.startSlice._conf.cIndex=
Z.endSlice._conf.cIndex=Z.frontOuter._conf.cIndex=ea,q>d?Z.frontOuter1.show().attr(aa,a.clipOuterFrontPath1):Z.frontOuter1.hide(),a.thisElement._attr(aa,a.clipTopPath),Z.bottom.attr(aa,a.clipTopPath),Z.bottomBorder.attr(aa,a.clipBottomBorderPath),Z.topBorder&&Z.topBorder.attr(aa,a.clipTopBorderPath),Z.frontOuter.attr(aa,a.clipOuterFrontPath),Z.backOuter.attr(aa,a.clipOuterBackPath),ba&&(Z.backInner.attr(aa,a.clipInnerBackPath),Z.frontInner.attr(aa,a.clipInnerFrontPath),Z.backInner._conf.index=y,Z.frontInner._conf.index=
e,g>n?(Z.backInner._conf.cIndex=l,Z.frontInner._conf.cIndex=0):Z.backInner._conf.cIndex=Z.frontInner._conf.cIndex=ea),this.hasOnePoint?(Z.startSlice.hide(),Z.endSlice.hide()):(Z.startSlice.attr(aa,a.startSlice).show(),Z.endSlice.attr(aa,a.endSlice).show()))},_setSliceCosmetics:function(a){var b=a.thisElement,d=a.showBorderEffect,e=a.elements,f=r(a.borderColor,x(a.borderAlpha,a.alpha)),g=a.borderWidth,k;a.color&&(a=this._parseSliceColor(a.color,a.alpha,a),za?(k={fill:ka(a.top),"stroke-width":0},d?
e.topBorder.show().attr({fill:ka(a.topBorder),"stroke-width":0}):(e.topBorder.hide(),k.stroke=f,k["stroke-width"]=g),b._attr(k)):(b._attr({fill:ka(a.top),"stroke-width":0}),e.topBorder.attr({stroke:f,"stroke-width":g})),e.bottom.attr({fill:ka(a.bottom)}),e.bottomBorder.attr({stroke:f,"stroke-width":g}),e.frontOuter.attr({fill:ka(a.frontOuter)}),e.frontOuter1.attr({fill:ka(a.frontOuter)}),e.backOuter.attr({fill:ka(a.backOuter)}),e.startSlice.attr({fill:ka(a.startSlice),stroke:f,"stroke-width":g}),
e.endSlice.attr({fill:ka(a.endSlice),stroke:f,"stroke-width":g}),this.isDoughnut&&(e.frontInner.attr({fill:ka(a.frontInner)}),e.backInner.attr({fill:ka(a.backInner)})))},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,fill:!0,opacity:!0,transform:!0,ishot:!0,cursor:!0,start:!0,end:!0,color:!0,alpha:!0,borderColor:!0,borderAlpha:!0,borderWidth:!0,rolloverProps:!0,showBorderEffect:!0,positionIndex:!0,
cx:!0,cy:!0,radiusYFactor:!0,r:!0,innerR:!0},b=function(b,d){var e,g,f=this,h=f._confObject,k={},l=h.elements,m,p,n,r=h.Pie3DManager,q;"string"===typeof b&&void 0!==d&&null!==d&&(e=b,b={},b[e]=d);if(b&&"string"!==typeof b){for(e in b)if(g=b[e],a[e])if(h[e]=g,"ishot"===e||"cursor"===e||"transform"===e)k[e]=g,q=!0;else if("start"===e||"end"===e||"cx"===e||"cy"===e||"radiusYFactor"===e||"r"===e||"innerR"===e)p=!0;else{if("color"===e||"alpha"===e||"borderColor"===e||"borderAlpha"===e||"borderWidth"===
e)n=!0}else f._attr(e,g);p&&(r._setSliceShape(h),r.refreshDrawing());(n||p)&&r._setSliceCosmetics(h);if(q){for(m in l)l[m].attr(k);f._attr(k)}}else f=a[b]?h[b]:f._attr(b);return f},d=function(a,b){var c=this._confObject.elements,d;for(d in c)c[d].on(a,b);return this._on(a,b)},e=function(a,b,c){var d,e=this._confObject.elements,g=-1<Da.navigator.userAgent.toLowerCase().indexOf("android");for(d in e)g?"topBorder"!==d&&"frontOuter"!==d&&"startSlice"!==d&&"endSlice"!==d||e[d].drag(a,b,c):e[d].drag(a,
b,c);return this._drag(a,b,c)},f=function(){var a=this._confObject.elements,b;for(b in a)a[b].hide();return this._hide()},g=function(){var a=this._confObject.elements,b;for(b in a)a[b].show();return this._show()},k=function(){var a=this._confObject,b=a.elements,c;for(c in b)b[c].destroy();za&&(a.clipTop.destroy(),a.clipOuterFront.destroy(),a.clipOuterBack.destroy(),a.clipOuterFront1&&a.clipOuterFront1.destroy(),a.clipInnerFront&&a.clipInnerFront.destroy(),a.clipInnerBack&&a.clipInnerBack.destroy());
return this._destroy()},l=function(a){var b=this._confObject.elements,c;for(c in b)b[c].tooltip(a);return this._tooltip(a)},m=function(a,b){var c=this._confObject.elements,d;if(void 0===b)return this._data(a);for(d in c)c[d].data(a,b);return this._data(a,b)},n=0;return function(){var a=this.renderer,c,r={elements:{},Pie3DManager:this},A=this.slicingWallsArr,q=r.elements,v=za?"litepath":"path";c=a[v](this.topGroup);c._confObject=r;r.thisElement=c;c._destroy=c.destroy;c.destroy=k;c._show=c.show;c.show=
g;c._hide=c.hide;c.hide=f;c._on=c.on;c.on=d;c._drag=c.drag;c.drag=e;c._attr=c.attr;c.attr=b;c._tooltip=c.tooltip;c.tooltip=l;c._data=c.data;c.data=m;this.pointElemStore.push(c);q.topBorder=a[v](this.topGroup);q.bottom=a[v](this.bottomBorderGroup).attr({"stroke-width":0});q.bottomBorder=a[v](this.bottomBorderGroup);q.frontOuter=a[v](this.slicingWallsFrontGroup).attr({"stroke-width":0});q.backOuter=a[v](this.slicingWallsFrontGroup).attr({"stroke-width":0});q.startSlice=a[v](this.slicingWallsFrontGroup);
q.endSlice=a[v](this.slicingWallsFrontGroup);q.frontOuter1=a[v](this.slicingWallsFrontGroup).attr({"stroke-width":0});q.frontOuter._conf={si:n,isStart:.5};q.frontOuter1._conf={si:n,isStart:.5};q.startSlice._conf={si:n,isStart:0};q.endSlice._conf={si:n,isStart:1};q.backOuter._conf={si:n,isStart:.4};A.push(q.startSlice,q.frontOuter1,q.frontOuter,q.backOuter,q.endSlice);this.isDoughnut&&(q.frontInner=a[v](this.slicingWallsFrontGroup).attr({"stroke-width":0}),q.backInner=a[v](this.slicingWallsFrontGroup).attr({"stroke-width":0}),
q.backInner._conf={si:n,isStart:.5},q.frontInner._conf={si:n,isStart:.4},A.push(q.frontInner,q.backInner));n+=1;return c}}()};fa.prototype.constructor=fa},[3,2,2,"sr4"]]);
FusionCharts.register("module",["private","modules.renderer.js-zoomline",function(){var ya=this,O=ya.hcLib,Ja=O.hashify,fa=ya.window,ea=fa.document,U=fa.Image,Pa=fa.MouseEvent,Da=/msie/i.test(fa.navigator.userAgent)&&!fa.opera,la=O.chartAPI,na=O.extend2,Ga=O.addEvent,R=O.pluck,x=O.pluckNumber,Sa=O.getFirstColor,Ia=O.graphics.convertColor,ka=O.bindSelectionEvent,za=O.parseUnsafeString,Ta=O.componentDispose,oa=O.Raphael,Ea=O.toRaphaelColor,Ca=O.hasTouch,Ka=O.plotEventHandler,Ha=O.getMouseCoordinate,
Aa="rgba(192,192,192,"+(Da?.002:1E-6)+")",ma=fa.Math,qa=ma.ceil,ra=ma.floor,Oa=ma.round,ja=ma.max,sa=ma.min,ua=ma.cos,va=ma.sin,wa=fa.parseFloat,xa=fa.parseInt,pa;na(O.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});la("zoomline",{standaloneInit:!0,canvasborderthickness:1,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},friendlyName:"Zoomable and Panable Multi-series Line Chart",creditLabel:!1,_drawAxis:function(){var a=this.components.yAxis||[],b,
d;b=0;for(d=a.length;b<d;b++)a[b].draw()},_setCategories:function(){var a=this.config,b=this.jsonData,d=this.components.xAxis,k,l,m;l=a.cdmchar;var f=b.categories&&b.categories[0].category||[];if((a.cdm||"string"===typeof f)&&f.split){a=f.split(l);k=[];l=0;for(m=a.length;l<m;l+=1)k.push({label:a[l]});this.config.categories=b.categories[0].category=k}d[0].setAxisPadding(0,0);d[0].setCategory(k||f)},_createDatasets:function(){var a,b,d,k,l,m,f,B,q;l={};var v=this.config;a=this.components;B=this.jsonData;
var r=B.dataset,S=r&&r.length,P=v.cdmchar,e=v.cdm,n=this.defaultDatasetType,H=this.applicableDSList,v=this.components.legend.components.items||[];B=B.categories&&B.categories[0].category;r&&B||this.setChartMessage();this.config.categories=B;B=a.dataset||(a.dataset=[]);q=B.length;for(a=0;a<S;a++){f=r[a];if(e&&f.data&&f.data.split){m=f.data.split(P);k=[];b=0;for(d=m.length;b<d;b++)k.push({value:m[b]});f.data=k}b=f.parentyaxis||"";b=(b=this.isDual&&"s"===b.toLowerCase()?R(f.renderas,this.sDefaultDatasetType):
R(f.renderas,n))&&b.toLowerCase();H[b]||(b=n);if(d=FusionCharts.get("component",["dataset",b]))void 0===l[b]?l[b]=0:l[b]++,(b=B[a])?(d=(b.JSONData.data||[]).length,k=(f.data||[]).length,d>k&&b.removeData(k,d-k,!1),B[a].JSONData=f,B[a].configure(),B[a]._deleteGridImages&&B[a]._deleteGridImages()):(b=new d,B.push(b),b.chart=this,b.index=a,b.init(f))}if(q>S){l=q-S;b=a;for(S=l+a;b<S;b++)Ta.call(B[b]);B.splice(a,l);v.splice(a,l)}},isWithinCanvas:function(a,b){var d=O.getMouseCoordinate(b.get("linkedItems",
"container"),a),k=d.chartX,l=d.chartY,m=b.get("config"),f=m.canvasLeft,B=m.canvasTop,q=m.canvasLeft+m.canvasWidth,m=m.canvasHeight+m.canvasTop;d.insideCanvas=!1;d.originalEvent=a;k>f&&k<q&&l>B&&l<m&&(d.insideCanvas=!0);return d},highlightPoint:function(a,b,d,k,l,m){var f=this,B=f.config,q=f.components,v=f.graphics,r=q.paper,S=v.tracker,P=(q=q.dataset[l])&&q.config;l=q&&P.zoomedRadius||0;var e=q&&P.hoverCosmetics,q=e&&e.fill,P=e&&e.borderColor,e=e&&e.borderThickness,n={},n=function(a){O.plotEventHandler.call(this,
f,a)},H=function(a){O.plotEventHandler.call(this,f,a,"dataplotRollover")},x=function(a){O.plotEventHandler.call(this,f,a,"dataplotRollout")};S||(S=v.tracker=r.circle(0,0,0,v.trackerGroup).attr({"clip-rect":B.canvasLeft+","+B.canvasTop+","+B.canvasWidth+","+B.canvasHeight}).click(n).trackTooltip(!0).hover(H,x));k&&S.data("eventArgs",{x:k.x,y:k.y,tooltip:k.tooltip,link:k.link});B.lastHoveredPoint=k;n=Number(a)?{r:l,fill:q,stroke:P,"stroke-width":e}:{r:l,fill:Aa,stroke:Aa,"stroke-width":0};S.attr(n).tooltip(m).transform("t"+
(b+B.canvasLeft)+","+(d+B.canvasTop));k&&f.fireMouseEvent("mouseover",S&&S.node,B.lastMouseEvent)},fireMouseEvent:function(a,b,d){var k;b&&a&&(d||(d={}),d.originalEvent&&(d=d.originalEvent),d.touches&&(d=d.touches[0]),b.dispatchEvent?(Pa?k=new Pa(a,{bubbles:!!d.bubbles,cancelable:!!d.cancelable,clientX:d.clientX||d.pageX&&d.pageX-ea.body.scrollLeft-ea.documentElement.scrollLeft||0,clientY:d.clientY||d.pageY&&d.pageY-ea.body.scrollTop-ea.documentElement.scrollTop||0,screenX:d.screenX||0,screenY:d.screenY||
0,pageX:d.pageX||0,pageY:d.pageY||0}):ea.createEvent&&(k=ea.createEvent("HTMLEvents"),k.initEvent(a,!!d.bubbles,!!d.cancelable)),k.eventName=a,k&&b.dispatchEvent(k)):ea.createEventObject&&b.fireEvent&&(k=ea.createEventObject(),k.eventType=a,k.eventName=a,b.fireEvent("on"+a,k)))},configure:function(){var a,b=this.jsonData.chart||{},d=this.components.colorManager,k=d.getColor("canvasBorderColor"),l;b.animation=0;b.showvalues=0;la.msline.configure.call(this);l=this.config;a=l.style;na(l,{useRoundEdges:x(b.useroundedges,
0),animation:!1,zoomType:"x",canvasPadding:x(b.canvaspadding,0),scrollColor:Sa(R(b.scrollcolor,d.getColor("altHGridColor"))),scrollShowButtons:!!x(b.scrollshowbuttons,1),scrollHeight:x(b.scrollheight,16)||16,scrollBarFlat:x(b.flatscrollbars,0),allowPinMode:x(b.allowpinmode,1),skipOverlapPoints:x(b.skipoverlappoints,1),showToolBarButtonTooltext:x(b.showtoolbarbuttontooltext,1),btnResetChartTooltext:R(b.btnresetcharttooltext,"Reset Chart"),btnZoomOutTooltext:R(b.btnzoomouttooltext,"Zoom out one level"),
btnSwitchToZoomModeTooltext:R(b.btnswitchtozoommodetooltext,"<strong>Switch to Zoom Mode</strong><br/>Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:R(b.btnswitchtopinmodetooltext,"<strong>Switch to Pin Mode</strong><br/>Select a subset of data and compare with the rest of the view"),pinPaneFill:Ia(R(b.pinpanebgcolor,k),x(b.pinpanebgalpha,15)),zoomPaneFill:Ia(R(b.zoompanebgcolor,"#b9d5f1"),x(b.zoompanebgalpha,30)),zoomPaneStroke:Ia(R(b.zoompanebordercolor,"#3399ff"),
x(b.zoompaneborderalpha,80)),showPeakData:x(b.showpeakdata,0),maxPeakDataLimit:x(b.maxpeakdatalimit,b.maxpeaklimit,null),minPeakDataLimit:x(b.minpeakdatalimit,b.minpeaklimit,null),crossline:{enabled:x(b.showcrossline,1),line:{"stroke-width":x(b.crosslinethickness,1),stroke:Sa(R(b.crosslinecolor,"#000000")),"stroke-opacity":x(b.crosslinealpha,20)/100},labelEnabled:x(b.showcrosslinelabel,b.showcrossline,1),labelstyle:{fontSize:wa(b.crosslinelabelsize)?wa(b.crosslinelabelsize)+"px":a.outCanfontSize,
fontFamily:R(b.crosslinelabelfont,a.outCanfontFamily)},valueEnabled:x(b.showcrosslinevalues,b.showcrossline,1),valuestyle:{fontSize:wa(b.crosslinevaluesize)?wa(b.crosslinevaluesize)+"px":a.inCanfontSize,fontFamily:R(b.crosslinevaluefont,a.inCanvasStyle.fontFamily)}},useCrossline:x(b.usecrossline,1),tooltipSepChar:R(b.tooltipsepchar,", "),showTerminalValidData:x(b.showterminalvaliddata,0),cdmchar:R(b.dataseparator,"|"),cdm:x(b.compactdatamode,0)})},getValuePixel:function(a){var b=this.config.viewPortConfig;
return b.ddsi+ra(a/b.ppp)},__toolbar:function(){var a,b,d,k,l=this,m=l.components,f=m.tb=new (FusionCharts.register("component",["toolbox","toolbox"])),B=f.getDefaultConfiguration(),q,v;f.init({iAPI:{chart:l},graphics:l.graphics,chart:l,components:m});a=m.toolBoxAPI||f.getAPIInstances(f.ALIGNMENT_HORIZONTAL);b=a.SymbolStore;d=a.ComponentGroup;k=a.Toolbar;q=a.Symbol;v=a.Scroller;f.graphics={};return{reInit:function(){f.init({iAPI:{chart:l},graphics:l.graphics,chart:l,components:m})},addSymbol:function(a,
b,d,e){a=new q(a);d&&e.setConfiguaration({buttons:na(na({},B),d)});b.tooltext=d.tooltip;b&&a.attachEventHandlers(b);e.addSymbol(a);return a},addScroll:function(a,b){var d=new v(a);b&&d.attachEventHandlers(b);return d},addComponentGroup:function(a,b){var f;f=new d;f.setConfiguaration({group:{fill:b?b.fill:Ia("EBEBEB",0),borderThickness:b?x(b.borderThickness,0):0}});return f},addToolBox:function(a){var b,d=new k;for(b=0;b<a.length;b+=1)d.addComponent(a[b]);return d},setDrawingArea:function(a,b){a.drawingArea=
b;return a},draw:function(a){var b,d,e;for(b=0;b<a.length;b+=1)d=a[b],e=d.drawingArea,d.draw(e.x,e.y)},registerSymbol:function(a,d){b.register(a,d)},getLogicalSpace:function(a){return a.getLogicalSpace()},getNode:function(a){return a.node}}},__preDraw:function(){var a,b,d,k,l,m,f,B,q,v,r=this,S=r.components,P=S.paper,e=r.graphics;b=e.imageContainer;var n=r.config,H=n.canvasLeft,R=n.canvasWidth;a=r.jsonData.chart;var L=n.cdm;d=S.xAxis[0];var N=n.viewPortConfig,c=r.components.canvas.config,D=ja(c.canvasPadding,
c.canvasPaddingLeft,c.canvasPaddingRight);v=S.yAxis[0];B=e.datasetGroup;var c=n.canvasHeight,h=n.canvasTop,O=r.jsonData.chart,O=n.borderWidth||(n.borderWidth=x(O.showborder,1)?x(O.borderthickness,1):0),p=n.allowPinMode,g=n.crossline,N=d.getCategoryLen(),K=xa(x(a.displaystartindex,1),10)-1,U=xa(x(a.displayendindex,N||2),10)-1,fa=0,J=S.dataset,s=J.length,S=e.crossline;n.updateAnimDuration=500;b.transform("t"+H+","+h);b.attr({"clip-rect":H+","+h+","+R+","+c});n.status="zoom";n.maxZoomLimit=x(a.maxzoomlimit,
1E3);n.viewPortHistory=[];1>(b=x(a.pixelsperpoint,15))&&(b=1);(d=x(a.pixelsperlabel,a.xaxisminlabelwidth,d.getAxisData("labels").rotation?20:60))<b&&(d=b);(0>K||K>=(N-1||1))&&(K=0);(U<=K||U>(N-1||1))&&(U=N-1||1);N=n.viewPortConfig=na(n.viewPortConfig,{amrd:x(a.anchorminrenderdistance,20),nvl:x(a.numvisiblelabels,0),cdm:L,oppp:b,oppl:d,dsi:K,dei:U,vdl:U-K,clen:N,offset:0,step:1,llen:0,alen:0,ddsi:K,ddei:U,ppc:0});if(N.clen){for(;s--;)a=J[s].config,fa=ja(fa,a.drawAnchors&&(a.anchorRadius||0)+(Number(a.anchorBorderThickness)||
0)||0);n.overFlowingMarkerWidth=fa;D=n.canvasPadding=ja(fa,D);n._prezoomed=N.dei-N.dsi<N.clen-1;k=n._visw=n.canvasWidth-2*D;l=n._visx=n.canvasLeft+D;n._visout=-(n.height+c+1E3);n._ypvr=v&&v.getPVR()||0;a=n._yminValue=v.getLimit().min;m=n._ymin=v.getPixel(a);v=B.attr("clip-rect",[l-fa,h,k+2*fa,c]);e.scroll||(e.scroll=P.group("scroll").insertAfter(e.datasetGroup));p&&(B=oa.crispBound(0,h-m,0,c,O),f=n["clip-pinrect"]=[B.x,h,B.width,B.height],q=(e.zoompin=P.group("zoompin")).insertBefore(v).transform(n._pingrouptransform=
["T",l,m]).hide(),e.pinrect=P.rect(0,h-m,k,c,q).attr({"stroke-width":0,stroke:"none",fill:n.pinPaneFill,"shape-rendering":"crisp",ishot:!0}),e.pintracker=P.rect(e.trackerGroup).attr({transform:q.transform(),x:0,y:h-m,width:0,height:c,stroke:"none",fill:Aa,ishot:!0,cursor:oa.svg&&"ew-resize"||"e-resize"}).hide().drag(function(a){var b=l+a+this.__pindragdelta,c=this.__pinboundleft,d=this.__pinboundright,f=this.data("cliprect").slice(0);b<c?b=c:b>d&&(b=d);q.transform(["T",b,m]);e.pintracker.transform(q.transform());
oa.svg||(f[0]=f[0]+b-l-this.__pindragdelta,q.attr("clip-rect",f));this.__pindragoffset=a},function(){this.__pinboundleft=0-f[0]+l+H;this.__pinboundright=this.__pinboundleft+k-f[2];this.data("cliprect",q.attr("clip-rect"));q._.clipispath=!0},function(){q._.clipispath=!1;this.__pindragdelta=this.__pindragoffset;delete this.__pindragoffset;delete this.__pinboundleft;delete this.__pinboundright}));O++;B=oa.crispBound(H-O,h+c+O,R+O+O,n.scrollHeight,O);O--;ka(r,{attr:{stroke:n.zoomPaneStroke,fill:n.zoomPaneFill,
strokeWidth:0},selectionStart:function(){},selectionEnd:function(a){var b=a.selectionLeft-H;a=b+a.selectionWidth;e.crossline&&e.crossline.hide();r[n.viewPortConfig.pinned?"pinRangePixels":"zoomRangePixels"](b,a)}});g&&0!==g.enabled&&1===n.useCrossline?(S||(S=e.crossline=new pa),S.configure(r,g)):S&&S.hide()}},resetZoom:function(){var a=this.config.viewPortHistory,b=a[0];if(!a.length)return!1;a.length=0;this.zoomTo(b.dsi,b.dei,b)&&ya.raiseEvent("zoomReset",this._zoomargs,this.chartInstance,[this.chartInstance.id]);
return!0},eiMethods:{zoomOut:function(){var a;if(a=this.apiInstance)return a.zoomOut&&a.zoomOut()},zoomTo:function(a,b){var d;if(d=this.apiInstance)return d.zoomRange&&d.zoomRange(a,b)},resetChart:function(){var a;if(a=this.apiInstance)a.pinRangePixels&&a.pinRangePixels(),a.resetZoom&&a.resetZoom()},setZoomMode:function(a){var b;(b=this.apiInstance)&&b.activatePin&&b.activatePin(!a)},getViewStartIndex:function(){var a;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return a.ddsi},
getViewEndIndex:function(){var a,b;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return b=a.ddei-1,(b>=a.clen?a.clen:b)-1}},zoomOut:function(){var a,b,d=this.config;b=d.viewPortHistory;var k,l,m;a=b.pop();b=b[0]||d.viewPortConfig;a?(k=a.dsi,l=a.dei):d._prezoomed&&(k=0,l=b.clen-1);(m=this.zoomTo(k,l,a))&&ya.raiseEvent("zoomedout",m,this.chartInstance);return!0},zoomRangePixels:function(a,b){var d=this.config,k=d.viewPortHistory,d=d.viewPortConfig,l=d.ppp,m=d.ddsi,f;k.push(d);(f=this.zoomTo(m+
ra(a/l),m+ra(b/l)))?ya.raiseEvent("zoomedin",f,this.chartInstance):k.pop()},zoomRange:function(a,b){var d,k,l=this.config,m=l.viewPortConfig;k=this.components.xAxis[0];var f=l.viewPortHistory,B;f.push(m);d=k.getPixel(a);k=k.getPixel(b);m.x=d;m.scaleX=l.canvasWidth/(d-k);(B=this.zoomTo(+a,+b))?ya.raiseEvent("zoomedin",B,this.chartInstance):f.pop()},zoomTo:function(a,b,d){var k,l;k=this.config;var m=this.components,f=k.viewPortConfig,B=k.canvasHeight;l=k.canvasLeft;var q=k.canvasTop,v=k.canvasBottom,
r=k.viewPortHistory,S=f.clen,x=this.components.xAxis[0];0>a&&(a=0);a>=S-1&&(a=S-1);b<=a&&(b=a+1);b>S-1&&(b=S-1);if(a===b||a===f.dsi&&b===f.dei)return!1;this.pinRangePixels();f=na({},f);f.dsi=a;f.dei=b;f=k.viewPortConfig=f;d?this.updateVisual(d.x,d.y,d.scaleX,d.scaleY):(d=x.getPixel(a),k=x.getPixel(b),l=this.getOriginalPositions(d-l,q,k-l,v-q),this.zoomSelection(l[0],0,l[2],B));m.scrollBar.node.attr({"scroll-ratio":f.vdl/(S-!!S),"scroll-position":[f.dsi/(S-f.vdl-1),!0]});m={level:r.length+1,startIndex:a,
startLabel:x.getLabel(a).oriLabel,endIndex:b,endLabel:x.getLabel(b).oriLabel};ya.raiseEvent("zoomed",m,this.chartInstance,[this.chartInstance.id,a,b,m.startLabel,m.endLabel,m.level]);return m},activatePin:function(a){var b=this.config.viewPortConfig,d=this.components.tb.graphics.pinButton;if(b.pinned^(a=!!a))return a||this.pinRangePixels(),ya.raiseEvent("zoomModeChanged",{pinModeActive:a},this.chartInstance,[]),this.updateButtonVisual(d.node,a?"pressed":"enable"),b.pinned=a},updateButtonVisual:function(a,
b){return a.attr({disable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1,stroke:"#E3E3E3","stroke-opacity":1},enable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},
normal:{fill:"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1},pressed:{config:{pressed:{fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0]}},fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#E3E3E3"}}[b])},
pinRangePixels:function(a,b){var d,k=this.components,l=k.paper,m=this.graphics,f=this.config,B=f.canvasLeft,q=f.viewPortConfig,v=m.zoompin;d=m.pinrect;var r=f["clip-pinrect"],x=f._pingrouptransform,k=k.dataset,P=b-a,e,n,H,m=m.pintracker;if(q&&v&&d){if(a===b)return v.hide(),m.hide(),q.pinned=!1;for(H=k.length;H--;)e=k[H],d=e.graphics,n=d.pinline,n||(n=d.pinline=l.path(v)),n.attr({path:d.lineElement.attrs.path,transform:["T",-f._visx,-f._ymin]}).attr(e.config.pin);r[0]=a+B;r[2]=P;v.attr({"clip-rect":r,
transform:x}).show();m.__pindragdelta=0;m.show().attr({transform:x,x:a,width:P});this.getValuePixel(a);this.getValuePixel(b);return q.pinned=!0}},_createLayers:function(){var a,b=this.components.paper;la.scatter._createLayers.call(this);a=this.graphics;a.imageContainer=b.group("dataset-orphan",a.dataSetGroup);this.__preDraw();this.toogleDragPan(!0)},getValue:function(a){var b=this.config,d=this.components,k=b.viewPortConfig;a=this.getOriginalPositions(a.x,a.y,a.x,a.y);var l=d.xAxis[0].config.axisRange,
d=d.yAxis[0].config.axisRange,m=l.min,f=d.max;return{x:m+(a[0]-b.canvasLeft)/(b.canvasWidth*k.scaleX/(l.max-m)),y:f-(a[1]-b.canvasTop)/(b.canvasHeight*k.scaleY/(f-d.min))}},getOriginalPositions:function(a,b,d,k){var l=this.config,m=l.viewPortConfig,f=m.scaleX,B=m.scaleY,q=m.x,m=m.y,v=sa(a,d);a=ja(a,d);d=sa(b,k);b=ja(b,k);a=a>l.canvasWidth?l.canvasWidth:a;b=b>l.canvasHeight?l.canvasHeight:b;v=0>v?0:v;d=0>d?0:d;return[q+v/f,m+d/B,(a-v)/f,(b-d)/B]},zoomSelection:function(a,b,d,k){var l=this.config;d&&
k&&(d=Math.abs(l.canvasWidth/d),k=Math.abs(l.canvasHeight/k),this.updateVisual(a,b,d,k))},updateVisual:function(a,b,d,k,l){var m=this.config,f=m.viewPortConfig,B=m.canvasWidth,q=m.canvasHeight,v=m.viewPortHistory.slice(-1)[0]||f,m=m.maxZoomLimit;f.x=isNaN(a)?a=v.x:a;f.y=isNaN(b)?b=v.y:b;f.scaleX=d||(d=v.scaleX);f.scaleY=k||(k=v.scaleY);d>m&&(f.x=sa(a,B-B/m),f.scaleX=m);k>m&&(f.y=sa(b,q-q/m),f.scaleY=m);this.updateManager(l)},toogleDragPan:function(a){var b=this.config.viewPortConfig,d=b.status;a&&
(b.status="zoom"===d?"pan":"zoom")},resize:function(){var a=this.config,b=this.graphics,d=this.components.canvas,k=d.graphics,l=k.canvasBorderElement,k=k.canvasElement,d=d.config.canvasBorderThickness,m=d/2,f=a.canvasHeight-=d,B=a.canvasWidth-=2*d,q=a.canvasLeft+=d;a.canvasBottom-=d;a.canvasRight-=d;k?k.attr({x:q,y:a.canvasTop,height:f,width:B}):this.drawCanvas();l&&l.attr({x:q-m,y:a.canvasTop-m,height:f+d,width:B+d,"stroke-width":d});b.imageContainer.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+
","+a.canvasWidth+","+a.canvasHeight}).transform("t"+a.canvasLeft+","+a.canvasTop);b.trackerElem.attr({x:a.canvasLeft,y:a.canvasTop,width:a.canvasWidth,height:a.canvasHeight});b.tracker&&b.tracker.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+","+a.canvasWidth+","+a.canvasHeight})},updateManager:function(a){var b,d=this.components,k=d.dataset,l=k.length,m=this.config,f=m.viewPortConfig,B=m._ypvr,q=m._visw,v=this.components.xAxis[0],r=function(){return v.getPixel.apply(v,arguments)},x=v.getAxisData("labels").style,
P,e,n,H,O=this.updateButtonVisual,L=d.tb.graphics,N=L.zoomOutButton,L=L.resetButton,c=m.viewPortHistory;!f&&(f=m.viewPortConfig);P=f.oppp;b=n=f.nvl;e=f.vdl=f.dei-f.dsi;n=f.ppl=b?q/b:f.oppl;q=f.step=(H=f.ppp=q/e)<P?qa(P/H):1;x=f.lskip=qa(ja(n,wa(x.lineHeight))/H/q);void 0!==a?(n=(f.clen-e-1)*a,f.offset=(n-(n=xa(n)))*H,e=n+e):(n=f.dsi,e=f.dei,f.offset=0);H=f.norm=n%q;f.ddsi=n-=H;f.ddei=e=e+2*q-H;f.pvr=B;f._ymin=m._ymin;f._yminValue=m._yminValue;f.x=(r(n)-r(v.getLimit().min)+f.offset)/f.scaleX;e-n>v.getCategoryLen()?
f.scaleX=1:f.scaleX=v.getCategoryLen()/Math.abs(e-n-q-.9);void 0!==a&&d.scrollBar.node.attr({"scroll-position":a});a=v._getVisibleConfig();a=Math.ceil((a.maxValue-a.minValue+1)/b);v.setLabelConfig({step:b?a:x*q});v.setAxisData({labelStep:b?a:x*q});v.setAxisConfig({animateAxis:!1});v.draw();v.setAxisConfig({animateAxis:!0});for(b=0;b<l;b+=1)k[b].draw();O(N.node,f.vdl===f.clen-1?"disable":"enable");O(L.node,0<c.length?"enable":"disable");fa.FC_DEV_ENVIRONMENT&&fa.jQuery&&(FusionCharts["debugger"].enable()?
(this.debug=this.debug||(fa.jQuery("#fc-zoominfo").length||fa.jQuery("body").append('<pre id="fc-zoominfo">'),fa.jQuery("#fc-zoominfo").css({position:"absolute",left:"10px",top:"0","pointer-events":"none",opacity:.7,width:"250px",zIndex:"999",border:"1px solid #cccccc","box-shadow":"1px 1px 3px #cccccc",background:"#ffffff"})),this.debug.text(JSON.stringify(f,0,2))):(this.debug&&fa.jQuery("#fc-zoominfo").remove(),delete this.debug))},_drawDataset:function(){la.zoomline.updateManager.call(this)},getParsedLabel:function(a){var b=
this.xlabels;return b.parsed[a]||(b.parsed[a]=za(b.data[a]||""))},_createToolBox:function(){var a,b,d,k,l,m,f,B=this,q=B.config;f=q.allowPinMode;k=B.components;var v=q.showToolBarButtonTooltext;a=k.chartMenuBar;a&&a.drawn||(la.scrollcolumn2d._createToolBox.call(B),a=k.tb,b=a.graphics||(a.graphics={}),d=k.toolBoxAPI||a.getAPIInstances(a.ALIGNMENT_HORIZONTAL),d=d.Symbol,k=k.chartMenuBar.componentGroups[0],l=b.zoomOutButton=(new d("zoomOutIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){B.zoomOut()},
tooltext:v&&q.btnZoomOutTooltext||""}),m=b.resetButton=(new d("resetIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){B.resetZoom()},tooltext:v&&q.btnResetChartTooltext||""}),f&&(f=b.pinButton=(new d("pinModeIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){B.activatePin(!q.viewPortConfig.pinned)},tooltext:v&&q.btnSwitchToPinModeTooltext||""}),k.addSymbol(f,!0)),k.addSymbol(m,!0),k.addSymbol(l,!0))},_scrollBar:la.scrollcolumn2d,_manageScrollerPosition:la.scrollcolumn2d,
draw:function(){var a,b,d,k,l,m,f,B,q,v,r=this,x=r.config,P=r.graphics||(r.graphics={});m=r.components;a=r.jsonData;k=a.dataset;var e=a.categories&&a.categories[0].category;la.msline.draw.call(r);f=x.canvasLeft;B=x.canvasTop;q=x.canvasHeight;v=x.canvasWidth;a=x.borderWidth;b=x.useRoundEdges;d=x.viewPortConfig;k&&e&&(a++,k=oa.crispBound(f-a,B+q+a,v+a+a,x.scrollHeight,a),a--,m=(l=m.scrollBar)&&l.node,l.draw(k.x+(b&&-1||a%2),k.y-(b&&4||2),{isHorizontal:!0,width:k.width-(!b&&2||0),height:k.height,showButtons:x.scrollShowButtons,
scrollRatio:d.vdl/(d.clen-!!d.clen),scrollPosition:[d.dsi/(d.clen-d.vdl-1),!1],r:b&&2||0,parentLayer:P.parentGroup}),!m&&function(){var a;oa.eve.on("raphael.scroll.start."+l.node.id,function(b){a=b;r.crossline&&r.crossline.disable(!0);ya.raiseEvent("scrollstart",{scrollPosition:b},r.chartInstance)});oa.eve.on("raphael.scroll.end."+l.node.id,function(b){r.crossline&&r.crossline.disable(!1);ya.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},r.chartInstance)})}())}},la.msline,{showValues:0});
la("zoomlinedy",{isDual:!0,standaloneInit:!0,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},creditLabel:!1,friendlyName:"Zoomable and Panable Multi-series Dual-axis Line Chart",_spaceManager:la.msdybasecartesian._spaceManager,_setAxisLimits:la.msdybasecartesian._setAxisLimits,_createAxes:la.msdybasecartesian._createAxes,_feedAxesRawData:la.msdybasecartesian._feedAxesRawData},la.zoomline);FusionCharts.register("component",["dataset","zoomline",{_setConfigure:function(){var a=this.config,
b=this.chart.jsonData.chart,d=this.JSONData;a.drawAnchors=x(b.drawanchors,b.showanchors,1);a.anchorRadius=x(d.anchorradius,b.anchorradius,a.lineThickness+2);this.__base__._setConfigure.apply(this,arguments)},configure:function(){var a,b,d={};a=this.chart.jsonData.chart;a.animation=0;a.showvalues=x(a.showvalues,0);this.__base__.configure.call(this);b=this.config;a=b.lineThickness+x(a.pinlinethicknessdelta,1);d["stroke-width"]=0<a&&a||0;d["stroke-dasharray"]=[3,2];d.stroke=O.hashify(b.lineColor);d["stroke-opacity"]=
b.lineAlpha/100;d["stroke-linejoin"]=b["stroke-linejoin"]="round";d["stroke-linecap"]=b["stroke-linecap"]="round";b.pin=d;b.animation=!1;b.transposeanimduration=0},draw:function(){var a,b,d=!1,k=!1,l=this,m=l.JSONData,f=l.chart,B=f.components,q=l.config,v=l.index||l.positionIndex,r=f.config,S=f.jsonData.chart,P=l.components,e=P.data,n=e.length,H,ba=B.paper,L=B.xAxis[0],N=l.yAxis,c,D,h=f.graphics,fa=h.datalabelsGroup,p=O.parseUnsafeString,g=O.getValidValue,K,ea,ka,J,s,u,t,A,Ua,ta,Wa=r.style,lb={fontFamily:Wa.fontFamily,
fontSize:Wa.fontSize,lineHeight:Wa.lineHeight,fontWeight:Wa.fontWeight,fontStyle:Wa.fontStyle,color:Wa.color},y=q.lineThickness,ha=l.graphics.container,G=l.graphics.trackerContainer,la=function(a){Ka.call(this,f,a)},ma=function(a,b){return function(c){b&&l._hoverPlotAnchor(a,"DataPlotRollOver",S);Ka.call(this,f,c,"DataPlotRollOver")}},pa=function(a,b){return function(c){b&&l._hoverPlotAnchor(a,"DataPlotRollOut",S);Ka.call(this,f,c,"DataPlotRollOut")}},na=r.viewPortConfig,Z=q.showTooltip,I,w=h.datasetGroup,
C,z=q.shadow,T,Y=l.graphics.dataLabelContainer,E={},Q,F,M=f.is3D,qa=q.use3dlineshift,V,$,da,ra=N.getAxisBase(),X=N.yBasePos=N.getAxisPosition(ra),ga=L.getAxisPosition(0),ca=L.getAxisPosition(1)-ga,W,ia=M?10:0,oa=M&&qa?10:0,aa=[ja(0,r.canvasLeft-ia),ja(0,r.canvasTop-oa),ja(1,r.canvasWidth+2*ia),ja(1,r.canvasHeight+oa)],ua=[ja(0,r.canvasLeft-ia),ja(0,r.canvasTop-oa),1,ja(1,r.canvasHeight+2*oa)],va=L.axisData&&L.axisData.scroll||{},ya=f.hasScroll||!1,za,wa=q.lineDashStyle,xa={color:q.lineColor,alpha:q.lineAlpha};
[Ea(xa),wa].join(":");var Ca,Da,Ga,Ha=l.graphics.lineElement,Va=l.visible,Ja,Ia,Fa=l.pool||(l.pool={element:[]}),Pa={},Oa={},Sa={},Ta=q.anchorRadius,fb,ab=[],gb,Ba,Xa,Ya,bb,cb,mb=r.showTerminalValidData,db=r.viewPortConfig,nb=r.showPeakData,hb=r.maxPeakDataLimit,ib=r.minPeakDataLimit,ob=x(r.useCrossline,0),Ma=db.step,eb=L.getPixel(db.step)-ga<db.amrd,jb=function(a,b){var d=a.graphics;F=a.config;s=F.setValue;J=F.setLink;Ja=F.x||b;$=g(p(R(F.setLevelTooltext,m.plottooltext,S.plottooltext)));V=F.showValue;
E=F.anchorProps;T=E.shadow;t=F.displayValue;Ia=F.dip||0;a||(a=e[b]={graphics:{}});Ga={color:F.color,alpha:F.alpha};da=F.dashStyle;c=F.xPos||L.getAxisPosition(Ja)-ia;D=l.visible?N.getAxisPosition(s)+oa:X;C=F.hoverEffects;E.isAnchorHoverRadius=C.anchorRadius;fb=L.getLabel(b);K=ob?"":F.toolText+($?"":F.toolTipValue);u={index:b,link:J,value:s,displayValue:t,categoryLabel:fb,toolText:K,id:q.userID,datasetIndex:v,datasetName:m.seriesname,visible:Va};null===F.setValue||eb||(E.imageUrl?(Q=new U,Q.onload=
l._onAnchorImageLoad(l,b,u,c,D),Q.onerror=l._onErrorSetter(c,D,b,l),Q.src=E.imageUrl):(ea=d.element,ea||(ea=Fa.element&&Fa.element.length?d.element=Fa.element.shift():d.element=ba.polypath(ha.anchorGroup)),ea.attr({polypath:[E.symbol[1]||2,c,D,E.radius,E.startAngle,Ia],fill:Ea({color:E.bgColor,alpha:E.bgAlpha}),stroke:Ea({color:E.borderColor,alpha:E.borderAlpha}),"stroke-width":E.borderThickness,visibility:E.radius?Va:"hidden"}).shadow(T,ha.anchorShadowGroup).data("anchorRadius",E.radius).data("anchorHoverRadius",
C.anchorRadius).data("setRolloverAttr",ta).data("setRolloutAttr",Ua),ea[F.setValue?"show":"hide"]()),C.enabled&&(ta={polypath:[C.anchorSides||2,c,D,C.anchorRadius,C.startAngle,C.dip],fill:Ea({color:C.anchorColor,alpha:C.anchorBgAlpha}),stroke:Ea({color:C.anchorBorderColor,alpha:C.anchorBorderAlpha}),"stroke-width":C.anchorBorderThickness},Ua={polypath:[E.sides,c,D,E.radius,E.startAngle,Ia],fill:Ea({color:E.bgColor,alpha:E.bgAlpha}),stroke:Ea({color:E.borderColor,alpha:E.borderAlpha}),"stroke-width":E.borderThickness},
ea&&ea.data("anchorRadius",E.radius).data("anchorHoverRadius",C.anchorRadius).data("setRolloverAttr",ta).data("setRolloutAttr",Ua)),Ta=ja(E.radius,C&&C.anchorRadius||0),I={cx:c,cy:D,r:Ta,cursor:J?"pointer":"",stroke:Aa,"stroke-width":E.borderThickness,fill:Aa,ishot:!0,visibility:Va},E.imageUrl||!J&&!Z||(ka=d.hotElement,ka||(ka=Fa.hotElement&&Fa.hotElement.length?d.hotElement=Fa.hotElement.shift():d.hotElement=ba.circle(G)),ka.show().attr(I),(ka||ea).data("eventArgs",u).data("groupId",void 0).click(la).tooltip(K),
C.enabled&&(ka||ea).hover(ma(a,C.enabled),pa(a,C.enabled))));a._xPos=c;a._yPos=D;[Ea(Ga||xa),da||wa].join(":");Sa=l.getLinePath([a],Sa);Ca=Ea(Ga||xa);Da=da||wa;R(F.setColor,F.setAlpha,F.setDashed);[Ca,Da].join(":");V&&!E.imageUrl&&l.drawLabel(b);ab.push(a)},pb=function(a,b){var c=a&&a.length,d=a.slice().sort(function(a,b){return a.config.setValue-b.config.setValue}),e=d&&d.pop().config.setValue,f=d.length&&d.shift().config.setValue||e,d=0;if(e>hb||f<ib)for(;d<c;){ea=a[d];e=ea.config.setValue;if(e>
hb||e<ib)e=b+d,jb(ea,e);d+=1}},Za=function(b,c){--b;c+=1;var d;for(H=b;H<c;H+=1)for(d in a=e[H]&&e[H].graphics||{},e[H]&&(e[H].config.isRemoving=!0),a)Fa[d]||(Fa[d]=[]),a[d]&&(Fa[d].push(a[d].hide()),a[d]=void 0)},$a=na.ddsi||0,Na=na.ddei||n,Qa=q._oldStartIndex,Ra=q._oldEndIndex,qb=q._oldStep,kb=P.removeDataArr,rb=kb&&kb.length;w.line=w.line||ba.group("line",w);w.lineConnector=w.lineConnector||ba.group("line-connector",w);ha||(ha=l.graphics.container={lineShadowGroup:ba.group("connector-shadow",w.line),
anchorShadowGroup:ba.group("anchor-shadow",w.lineConnector),lineGroup:ba.group("line",w.line),anchorGroup:ba.group("anchors",w.lineConnector)},Va||(ha.lineShadowGroup.hide(),ha.anchorShadowGroup.hide(),ha.lineGroup.hide(),ha.anchorGroup.hide()));G||(G=l.graphics.trackerContainer=ba.group("line-hot",G).toBack(),Va||G.hide());e||(e=l.components.data=[]);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",lb);Y||(Y=l.graphics.dataLabelContainer=l.graphics.dataLabelContainer||ba.group("datalabel",
fa),Va||Y.hide());W=ca*n;eb&&!q._oldHideAnchors?Za(Qa,Ra):Ma!==qb?Za(Qa,Ra):($a>Qa&&Za(Qa,$a>Ra?Ra:$a),Na<Ra&&Za(Na<Qa?Qa:Na,Ra),($a<Qa||Na>Ra)&&Za(Qa,Ra));q._oldHideAnchors=eb;q._oldEndIndex=Na;q._oldStep=Ma;l.setVisibility(Va);for(H=q._oldStartIndex=$a;H<=Na;H+=Ma){A=e[H]||{};F=A.config||{};F.isRemoving=!1;s=F.setValue||null;Xa=H;if(mb)if(0===H&&null===s){gb=0;for(Ba=b=H;Ba<n;)if(null!==e[Ba].config.setValue||d?d=!0:Ba++,null===e[b].config.setValue&&!k&&b<=n?(b+=Ma,gb++):k=!0,d&&k){d=k=!1;break}0!==
Ba%Ma&&(F=e[Ba].config,Xa=Ba)}else if(H>=n&&null===s){for(Ba=b=H;0<Ba&&(void 0!==e[Ba]||d?d=!0:Ba--,void 0===e[b]&&!k&&0<=b?b-=Ma:k=!0,!d||!k););0!==Ba%Ma&&(F=e[Ba].config,Xa=Ba)}if(A=e[Xa])jb(A,Xa),nb&&1<Ma&&(Ya=sa(H+1,Na),cb=sa(Ya+Ma,Na),bb=cb===Na?e.slice(Ya):e.slice(Ya,cb),bb.length&&pb(bb,Ya))}Oa=l.getLinePath(ab,{});Pa=l.getLinePath(ab,Pa);q.lastPath=Oa;Ha||(Ha=Fa.lineElement&&Fa.lineElement.length?l.graphics.lineElement=Fa.lineElement.shift():l.graphics.lineElement=ba.path(ha.lineGroup));Ha.attr({path:Oa.getPathArr(),
"stroke-dasharray":wa,"stroke-width":y,stroke:Ea(xa),"stroke-linecap":"round","stroke-linejoin":2<=y?"round":"miter"}).shadow(z,ha.lineShadowGroup);ya&&(za=va.startPercent,aa[2]=W+ua[0],1===za&&(ua[0]=aa[2],aa[0]=0));aa[3]+=oa;l.drawn=!0;rb&&l.remove()},setVisibility:function(a,b){var d=this.graphics&&this.graphics.container,k=this.graphics&&this.graphics.trackerContainer,l=this.graphics&&this.graphics.dataLabelContainer,m=a?"show":"hide";d.lineGroup[m]();d.anchorGroup[m]();d.anchorShadowGroup[m]();
d.lineShadowGroup[m]();k[m]();l[m]();b&&this.transposeLimits(a)},transposeLimits:function(a){var b=this.chart,d=this.yAxis;b._chartAnimation();this.visible=a;this._conatinerHidden=!a;b._setAxisLimits();d.draw();b._drawDataset()},hide:function(){this.setVisibility(!1,!0)},show:function(){this.setVisibility(!0,!0)}},"Line"]);pa=function(){};pa.prototype.configure=function(a,b){var d,k,l,m=this,f=a.components,B=f.numberFormatter,q=f.paper,v=a.config;d=a.graphics;k=this.left=v._visx;l=this.top=v.canvasTop;
var r=this.height=v.canvasHeight,x=this._visout=v._visout,P=this.plots=a.components.dataset,e=d.datalabelsGroup,n,H,O=b.labelstyle,L=b.valuestyle,N=f.yAxis[0],c=N.getLimit(),D=f.yAxis[1],h=D&&D.getLimit();H=this.tracker;var f=this.labels,R=this.positionLabel;n=a.get("linkedItems");var p=n.container,g=n.eventListeners||(n.eventListeners=[]);m.width=v._visw;n=this.group;n||(n=this.group=q.group("crossline-labels",e),this.container=p);n.attr({transform:["T",k,v._ymin]});H||(H=m.tracker=p,g.push(Ga(p,
"touchstart mousemove",function(b){var c=m.onMouseMove,d=m.onMouseOut;a.isWithinCanvas(b,a).insideCanvas?c.call(m,b):d.call(m,b)},m)),g.push(Ga(p,"mousedown",function(){m.onMouseDown()},m)),g.push(Ga(p,"mouseup",function(){m.onMouseUp()},m)),g.push(Ga(p,"mouseout",function(){m.onMouseOut()},m)));H=this.line;H||(H=this.line=q.path(e).toBack());H.attr(na({path:["M",k,l,"l",0,r]},b.line));f||(f=this.labels=b.valueEnabled&&q.set());b.labelEnabled&&(R||(R=this.positionLabel=q.text("").insertAfter(d.datalabelsGroup)),
R.attr({x:x,y:l+r+(v.scrollHeight||0)+2.5,"vertical-align":"top",direction:v.textDirection,text:""}).css(O));this.hide();this.ppixelRatio=-N.getPVR();this.spixelRatio=D&&-D.getPVR();this.yminValue=v._yminValue;this.pyaxisminvalue=c.min;this.pyaxismaxvalue=c.max;this.syaxisminvalue=h&&h.min;this.syaxismaxvalue=h&&h.max;this.positionLabels=v.xlabels||{data:[],parsed:[]};this.chart=a;this.getZoomInfo=function(){return v.viewPortConfig};this.getDataIndexFromPixel=function(b){return Math.round(a.components.xAxis[0].getValue(b))};
this.getPositionLabel=function(b){return a.components.xAxis[0].getLabel(b).oriLabel};if(b.valueEnabled){d=0;for(k=P.length;d<k;d+=1)l=P[d],l=Ja(l.config.lineColor),f[d]||(f[d]=f.items[d]=q.text(n)),f[d].attr({x:0,y:x,text:"",fill:l,direction:v.textDirection}).css(L);for(;d<f.items.length;d+=1)f[d].remove(),delete f[d],f.items.splice(d,1);this.numberFormatter=B}else if(f.items.length){for(d=0;d<f.items.length;d+=1)f[d].remove(),delete f[d];f.length=0}};pa.prototype.disable=function(a){void 0!==a&&
(this.disabled=!!a)&&this.visible&&this.hide();return this.disabled};pa.prototype.onMouseOut=function(){this.hide();this.position=void 0};pa.prototype.onMouseDown=function(){!Ca&&this.hide();this._mouseIsDown=!0};pa.prototype.onMouseUp=function(){!Ca&&this.hide();delete this._mouseIsDown};pa.prototype.onMouseMove=function(a){if(!(this.disabled||this._mouseIsDown&&!Ca)){var b,d=this.getZoomInfo(),k=this.line,l=this.left,d=d.step,m=this.chart,f=m.components.xAxis[0],B=f.getCategoryLen(),q=m.get("config"),
m=q.canvasLeft,q=q.canvasRight;a=Ha(this.container,a).chartX-l;var l=f.getLimit().min,v=f.config.axisData.axisDimention.x-m,r;r=(r=this.getDataIndexFromPixel(Oa(a)))+((b=r%d)>d/2?d-b:-b);a=f.getPixel(r)-v-m;a<=q-m&&(k.transform(["T",Oa(a),0]),this.hidden&&this.show(),(r>=B||r<l)&&this.hide(),r!==this.position||this.hidden)&&(this.position=r,this.lineX=a,this.updateLabels())}};pa.prototype.updateLabels=function(){var a=this,b=a.labels,d=a.plots,k=a.width,l=a.position,m=a.lineX,f=ra(m),B=a.ppixelRatio,
q=a.spixelRatio,v=a.yminValue,r=a._visout,x=a.numberFormatter,P=a.pyaxisminvalue,e=a.pyaxismaxvalue,n=a.syaxisminvalue,H=a.syaxismaxvalue,O=function(){function b(){this.y=0;this.lRef=void 0;this.__index=this.__shift=0}function d(a){for(var b=0;b<a;)this.push(b++);return this}function c(a){var b,c,d,e,f=Number.POSITIVE_INFINITY;for(b=0;b<this.length;b++)c=this[b]-a,0>c?d=s.NEG:d=s.POS,c=q(c),c<=f&&(f=c,e={absValue:c,noScaleSide:d});return e}function e(a){this.holes=d.call([],a)}var f=-1*a.height,k=
v*B,l=0,g,m={},n,q=Math.abs,x=Math.floor,s={};"function"!=typeof Object.create&&(Object.create=function(){function a(){}var b=Object.prototype.hasOwnProperty;return function(c){var d,e,f;if("object"!=typeof c)throw new TypeError("Object prototype may only be an Object or null");a.prototype=c;f=new a;a.prototype=null;if(1<arguments.length)for(e in d=Object(arguments[1]),d)b.call(d,e)&&(f[e]=d[e]);return f}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var c,d,e;if(null==this)throw new TypeError('"this" is null or not defined');
d=Object(this);e=d.length>>>0;if(0===e)return-1;c=+b||0;Infinity===Math.abs(c)&&(c=0);if(c>=e)return-1;for(c=Math.max(0<=c?c:e-Math.abs(c),0);c<e;){if(c in d&&d[c]===a)return c;c++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d,e,f,g;if(null==this)throw new TypeError(" this is null or not defined");e=Object(this);f=e.length>>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1<arguments.length&&(c=b);for(d=0;d<f;)d in e&&(g=e[d],a.call(c,g,
d,e)),d++});b.prototype.constructor=b;b.prototype.applyShift=function(a){this.__shift=a;this.lRef.calcY=this.y+=a*l};b.prototype.applyDirectIndex=function(a){this.__index=a;this.lRef.calcY=this.y=f-a*l*-1};try{Object.defineProperty(s,"POS",{enumerable:!1,configurable:!1,get:function(){return 1}}),Object.defineProperty(s,"NEG",{enumerable:!1,configurable:!1,get:function(){return-1}})}catch(u){s.POS=1,s.NEG=-1}e.prototype=Object.create(Array.prototype);e.prototype.constructor=e;e.prototype.repositionHoles=
function(){var a,b=0,c;for(a=this.holes.length=0;a<this.length;a++)c=this[a],!c&&(this.holes[b++]=a)};e.prototype.attachShift=function(a,d,e){var f,g=this.length;if(a===r)e.calcY=r;else if(g=d>g-1?g-1:d,f=this[g],d=new b,d.y=a,d.lRef=e,f){a=c.call(this.holes,g);e=g+a.absValue*a.noScaleSide;if(a.noScaleSide===s.POS)return d.applyDirectIndex(e),this.splice(e,1,d),this.holes.splice(this.holes.indexOf(e),1),e;if(a.noScaleSide===s.NEG){a=this.splice(e+1,this.length-1);this.pop();a.forEach(function(a){a&&
a.applyShift(-1)});for([].push.apply(this,a);this[e];)e++;this.push(0);this.repositionHoles();a=c.call(this.holes,e);e+=a.absValue*a.noScaleSide;d.applyDirectIndex(e);this.splice(e,1,d);this.repositionHoles();return this.length-1}}else d.applyDirectIndex(g),this.splice(g,1,d),this.holes.splice(this.holes.indexOf(g),1)};try{Object.defineProperty(m,"top",{enumerable:!1,configurable:!1,get:function(){return f}}),Object.defineProperty(m,"bottom",{enumerable:!1,configurable:!1,get:function(){return k}})}catch(t){m.top=
f,m.bottom=k}m.init=function(a,b){var c;l=a+2;f+=l/2;n=x(q(f)/l);g=new e(n);for(c=0;c<n;c++)g.push(0)};m.occupy=function(a,b){var c=x(q(f-a)/l);g.attachShift(a,c,b)};return m}();b&&(b[0].attr({text:x.yAxis("0")}),O.init(b[0].getBBox().height,b.length),b.forEach(function(a,b){var c=d[b],f=c.components.data[l]&&c.components.data[l].config.setValue,h=c.config.parentYAxis;O.occupy(void 0===f||!c.visible||(h?f>H||f<n:f>e||f<P)?r:h?(f-n)*q:(f-P)*B,a)}));b&&b.forEach(function(a,b){var c=d[b];(c=x[c.config.parentYAxis?
"sYAxis":"yAxis"](c.components.data[l]&&c.components.data[l].config.setValue))?(a.attr({text:c}),c=a.getBBox(),c=c.width,c=.5*c+10,a.attr({x:ja(0,sa(f,k)),y:a.calcY,"text-anchor":m<=c&&"start"||m+c>=k&&"end"||"middle","text-bound":["rgba(255,255,255,0.8)","rgba(0,0,0,0.2)",1,2.5]})):a.attr({x:-k})});a.positionLabel&&a.positionLabel.attr({x:m+a.left,text:a.getPositionLabel(l),"text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]})};pa.prototype.show=function(){this.disabled||(this.hidden=!1,this.group.attr("visibility",
"visible"),this.line.attr("visibility","visible"),this.positionLabel&&this.positionLabel.attr("visibility","visible"))};pa.prototype.hide=function(){this.hidden=!0;this.group.attr("visibility","hidden");this.line.attr("visibility","hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};pa.prototype.dispose=function(){for(var a in this)this.hasOwnProperty(a)&&delete this[a]};oa.addSymbol({pinModeIcon:function(a,b,d){var k=.5*d,l=a-d,m=a+d,f=a-k,B=a+k,q=a+.5,v=q+1,r=q+1.5,x=b-
d,P=b+k,e=b-k,k=b+(d-k);return["M",l,x,"L",f,e,f,k,l,P,a-.5,P,a,b+d+.5,q,P,m,P,B,k,B,e,m,x,r,x,r,e,r,k,v,k,v,e,r,e,r,x,"Z"]},zoomOutIcon:function(a,b,d){a-=.2*d;b-=.2*d;var k=.8*d,l=oa.rad(43),m=oa.rad(48),f=a+k*ua(l),l=b+k*va(l),x=a+k*ua(m),m=b+k*va(m),q=oa.rad(45),v=f+d*ua(q),r=l+d*va(q),O=x+d*ua(q);d=m+d*va(q);return["M",f,l,"A",k,k,0,1,0,x,m,"Z","M",f+1,l+1,"L",v,r,O,d,x+1,m+1,"Z","M",a-2,b,"L",a+2,b,"Z"]},resetIcon:function(a,b,d){var k=a-d,l=(ma.PI/2+ma.PI)/2;a+=d*ua(l);var l=b+d*va(l),m=2*
d/3;return["M",k,b,"A",d,d,0,1,1,a,l,"L",a+m,l-1,a+2,l+m-.5,a,l]}})}]);
/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

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

 @version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-spark",function(){var K=this.hcLib,fa=K.BLANKSTRING,k=K.pluck,s=K.pluckNumber,E=K.extend2,g=K.chartAPI,y=K.graphics.getLightColor,e=K.COMMASTRING,A=K.graphics.convertColor,Ga=K.getValidValue,ma=Math,la=ma.min,ha=ma.max,ia=ma.ceil,ka=K.toRaphaelColor,L=K.parseUnsafeString,r=K.graphics.getColumnColor,f=K.graphics.parseColor,da=K.COLOR_TRANSPARENT,O=K.POSITION_BOTTOM,n=K.POSITION_MIDDLE,xa=K.POSITION_START,ea=K.POSITION_END,Ja=K.HUNDREDSTRING,
ma=E({},K.defaultGaugePaletteOptions),ca=function(){var e=this.chart,g=e.config,k=g.dataLabelStyle,Ma=e.components.paper,u=this.config.valuePadding+2,n=this.graphics.dataLabelContainer||e.graphics.datalabelsGroup,r=g.sparkValues||(g.sparkValues={}),f=e.graphics,f=f.sparkLabels||(f.sparkLabels={}),s=e.linkedItems.smartLabel,y=e.get("config","animationObj"),e=y.transposeAnimDuration,y=y.animType,L="[",E="]",A="|",O={"class":"fusioncharts-label","text-anchor":ea,fill:k.color,"font-size":k.fontSize,"font-weight":k.fontWeight,
"font-style":k.fontStyle,"font-family":k.fontFamily,visibility:"visible"},J={x:0,y:0};n&&n.attr({"clip-rect":null});J.y=.5*g.canvasHeight+g.canvasTop;J.x=g.canvasLeft-u;if(r.openValue&&r.openValue.label||f.openValue)f.openValue||(f.openValue=Ma.text(n).attr(J)),f.openValue.attr({text:r.openValue.label}).attr(O).attr({"line-height":k.lineHeight,"text-bound":[k.backgroundColor,k.borderColor,k.borderThickness,k.borderPadding,k.borderRadius,k.borderDash]}).css("color",r.openValue.color),e?f.openValue.animate(J,
e,y):f.openValue.attr(J);O["text-anchor"]=xa;J.x=g.canvasWidth+g.canvasLeft+u;if(r.closeValue&&r.closeValue.label||f.closeValue)f.closeValue||(f.closeValue=Ma.text(n).attr(J)),f.closeValue.attr({text:r.closeValue.label}).attr(O).attr({"line-height":k.lineHeight,"text-bound":[k.backgroundColor,k.borderColor,k.borderThickness,k.borderPadding,k.borderRadius,k.borderDash]}).css("color",r.closeValue.color),e?f.closeValue.animate(J,e,y):f.closeValue.attr(J),J.x+=r.closeValue.smartObj&&r.closeValue.smartObj.width+
2+u||0;if(r.highLowValue&&r.highLowValue.label||f.highValue)r.highLowValue&&r.highLowValue.label===fa&&(A=L=E=fa),f.startBraces||(f.startBraces=Ma.text(n).attr(J).attr(O)),f.highValue||(f.highValue=Ma.text(n).attr(J).attr(O)),f.separater||(f.separater=Ma.text(n).attr(J).attr(O)),f.lowValue||(f.lowValue=Ma.text(n).attr(J).attr(O)),f.endBraces||(f.endBraces=Ma.text(n).attr(J).attr(O)),s.useEllipsesOnOverflow(g.useEllipsesWhenOverflow),s.setStyle(k),f.startBraces.attr({text:L}),e?f.startBraces.animate(J,
e,y):f.startBraces.attr(J),J.x+=s.getSmartText(L).width,f.highValue.attr({text:r.highValue.label}).css("color",r.highValue.color),e?f.highValue.animate(J,e,y):f.highValue.attr(J),J.x+=s.getSmartText(r.highValue.label).width,f.separater.attr({text:A}),e?f.separater.animate(J,e,y):f.separater.attr(J),J.x+=s.getSmartText(A).width,f.lowValue.attr({text:r.lowValue.label}).css("color",r.lowValue.color),e?f.lowValue.animate(J,e,y):f.lowValue.attr(J),J.x+=s.getSmartText(r.lowValue.label).width,f.endBraces.attr({text:E}),
e?f.endBraces.animate(J,e,y):f.endBraces.attr(J);this.labelDrawn=!0},Sa=function(){var e=this.chart,g=e.jsonData.chart,f=e.components,e=f.colorManager,r=this.components.data,f=f.xAxis[0],u=s(g.periodlength,0),n;n=f.getLimit();f.config.axisData.band.isDraw=!0;u&&f.setAxisData({alternateGridColor:k(g.periodcolor,e.getColor("periodColor")),alternateGridAlpha:k(g.periodalpha,100),showAlternateGridColor:!0,categoryNumDivLines:r&&(n.max-n.min)/u-1,categoryDivLinesFromZero:0});f.draw()};g("sparkchartbase",
{standaloneInit:!0,creditLabel:!1,showBorder:0,chartTopMargin:3,chartRightMargin:3,chartBottomMargin:3,chartLeftMargin:3,canvasBorderThickness:1,subTitleFontSizeExtender:0,subTitleFontWeight:0,defaultPaletteOptions:function(e,g){var k;e||(e={});for(k in g)e[k]=g[k];return e}(E({},ma),{paletteColors:[["555555","A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101","FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],
bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:[fa,fa,fa,fa,fa],canvasBorderColor:["BCBCBC","BEC5A7","93ADBF","C97901","FF97B1"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],
toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["666666","60634E","415D6F","845001","68001B"],plotFillColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"],winColor:["666666","60634E","025B6A","A15E01","FF97B1"],lossColor:["CC0000","CC0000","CC0000","CC0000","CC0000"],
drawColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],scorelessColor:["FF0000","FF0000","FF0000","FF0000","FF0000"]}),_setAxisLimits:function(){var e=this.components.yAxis;e[0]&&e[0].setAxisData({numDivLines:0});g.mscartesian._setAxisLimits.call(this)},_fetchCaptionPos:function(){return-1},_spaceManager:function(){var e,g=this.config,k=g.canvasBaseDepth,f=this.components.canvas.config.canvasBorderWidth;e=g.borderWidth;var u=g.canvasMarginTop,r=g.canvasMarginBottom,n=g.canvasMarginLeft,s=g.canvasMarginRight,
y=g.minCanvasHeight,L=g.minCanvasWidth,E=g.height,A=g.width,O=!1,K=!1,J=g.origCanvasTopMargin,da=g.origCanvasBottomMargin,fa=g.origCanvasLeftMargin,W=g.origCanvasRightMargin;this._allocateSpace({top:e,bottom:e,left:e,right:e});e=.325*g.availableHeight;this._getDSspace&&this._allocateSpace(this._getDSspace(e));g.availableWidth=g.width;e=.75*g.availableWidth;e=e-g.origMarginLeft-g.origMarginRight-2*g.borderWidth;e=ha(.1*g.availableWidth,e);this._manageChartMenuBar(e);e=.75*(g.availableWidth-2*g.borderWidth);
this._placeOpenCloseValues&&this._allocateSpace(this._placeOpenCloseValues(e));this._allocateSpace({top:f,bottom:f,left:f,right:f});this._allocateSpace({bottom:k});y>E-u-r&&(O=!0,f=g.canvasHeight-y,k=u+r,u=g.canvasMarginTop=f*u/k,r=g.canvasMarginBottom=f*r/k);L>A-n-s&&(K=!0,f=g.canvasWidth-L,k=n+s,n=g.canvasMarginLeft=f*n/k,s=g.canvasMarginRight=f*s/k);u=u>g.canvasTop?u-g.canvasTop:0;r=r>E-g.canvasBottom?r+g.canvasBottom-E:0;n=n>g.canvasLeft?n-g.canvasLeft:0;s=s>A-g.canvasRight?s+g.canvasRight-A:
0;this._allocateSpace({top:u,bottom:r,left:n,right:s});O&&(k=J+da,O=g.canvasHeight,O>y&&(f=O-y,u=f*J/k,r=f*da/k),this._allocateSpace({top:u,bottom:r}));K&&(k=fa+W,y=g.canvasWidth,y>L&&(f=y-L,n=f*fa/k,s=f*W/k),this._allocateSpace({left:n,right:s}));void 0!==g.origCanvasLeftMargin&&(g.canvasWidth=ha(g.canvasWidth+g.canvasLeft-g.origCanvasLeftMargin,.2*g.availableWidth),g.canvasLeft=g.origCanvasLeftMargin)},_manageCaptionSpacing:function(e){var g=this.config,f=this.components,r=f.caption,u=f.subCaption,
n=r.config,y=u.config,r=r.components,u=u.components,ta=this.jsonData.chart,aa=this.linkedItems.smartLabel,E=L(ta.caption),A=L(ta.subcaption),ta=n.captionPadding=s(ta.captionpadding,2),O=f.chartMenuBar.getLogicalSpace(),K=g.height-O.height,da=0,O=0,J=ha(f.canvas.config.canvasBorderThickness,0),ka=0,f={},ea,W;3<.7*K&&(ta<J&&(ta=J+2),n.captionPadding=y.captionPadding=ta,E!==fa&&(W=n.style,da=n.captionLineHeight=ia(parseFloat(k(W.fontHeight,W.lineHeight),10),12)),A!==fa&&(ea=y.style,O=ia(parseInt(k(ea.lineHeight,
ea.fontHeight),10),12)),aa.useEllipsesOnOverflow(g.useEllipsesWhenOverflow),0<da||0<O)&&(aa.setStyle(W),g=aa.getSmartText(E,e,K),0<g.width&&(g.width+=2,ka=g.height),aa.setStyle(ea),ea=aa.getSmartText(A,e,K-ka),0<ea.width&&(ea.width+=2),n.captionSubCaptionGap=g.height+0+.2*O,Math.max(g.width,ea.width),r.text=g.text,n.height=g.height,n.width=g.width,n.tooltext&&(r.originalText=g.tooltext),u.text=ea.text,y.height=ea.height,y.width=ea.width,y.tooltext&&(r.originalText=ea.tooltext),r=Math.max(g.width,
ea.width),n.captionPadding=ta=la(e-r,ta),0<r&&(r=la(e,r+ta)),n.maxCaptionWidth=y.maxCaptionWidth=r,n.isOnLeft?f.left=r:f.right=r);return f},_manageCaptionPosition:function(){var e=this.config,g=this.components,f=g.caption.config,g=g.subCaption.config,k=f.captionPosition,r=ha(f.width,g.width),y=e.borderWidth||0,s=e.height,L=(e.sparkValues||{}).openValueWidth||0,aa=f.captionPadding,E=f.captionSubCaptionGap;switch(k){case n:f.y=(s-(f.height+g.height))/2+.5*(f._offsetHeight||0);break;case O:f.y=s-(f.height+
g.height)-e.marginBottom-y;break;default:f.y=e.marginTop+y+(f._offsetHeight||0)}g.y=f.y+E;f.isOnLeft?(f.align=g.align=ea,f.x=g.x=e.canvasLeft-(y+L+2+aa)+e.borderWidth):(f.align=g.align=xa,f.x=g.x=e.width-e.marginRight-r-y)}},g.sscartesian);g("sparkcolumn",{standaloneInit:!0,creditLabel:!1,friendlyName:"sparkcolumn Chart",defaultDatasetType:"sparkcolumn",_parseCanvasCosmetics:function(){var e,g,f=this.config;g=this.components;var r=g.canvas.config,u=this.jsonData.chart;g=g.colorManager;var n,y=this.is3D?
K.chartPaletteStr.chart3D:K.chartPaletteStr.chart2D,L=r.isRoundEdges=s(u.useroundedges,0);e=s(u.showxaxisline,u.showyaxisline,0)?0:1;r.canvasBorderRadius=s(u.plotborderradius,L?2:0);e=r.showCanvasBorder=Boolean(s(u.showcanvasborder,e,void 0,L?0:1));n=r.oriCanvasBorderThickness=ha(s(u.canvasborderthickness,L?0:s(this.canvasborderthickness,1),0));r.canvasBorderWidth=this.is3D?0:e?n:0;r.canvasBorderColor=A(k(u.canvasbordercolor,g.getColor("canvasBorderColor")),k(u.canvasborderalpha,g.getColor("canvasBorderAlpha")));
e=r.canBGAlpha=k(u.canvasbgalpha,g.getColor("canvasBgAlpha"));r.canBGColor={FCcolor:{color:k(u.canvasbgcolor,g.getColor(y.canvasBgColor)),alpha:k(u.canvasbgalpha,100),angle:k(u.canvasbgangle,0),ratio:k(u.canvasbgratio)}};g=r.shadow=s(u.showshadow,L,0)&&L?{enabled:!0,opacity:e/100}:0;r.shadowOnCanvasFill=g&&g.enabled;f.origMarginTop=s(u.charttopmargin,3);f.origMarginLeft=s(u.chartleftmargin,3);f.origMarginBottom=s(u.chartbottommargin,3);f.origMarginRight=s(u.chartrightmargin,3);f.origCanvasLeftMargin=
s(u.canvasleftmargin);f.origCanvasRightMargin=s(u.canvasrightmargin);f.origCanvasTopMargin=s(u.canvastopmargin);f.origCanvasBottomMargin=s(u.canvasbottommargin);r.canvasPadding=s(u.canvaspadding,0);r.origCanvasTopPad=s(u.canvastoppadding,0);r.origCanvasBottomPad=s(u.canvasbottompadding,0);r.origCanvasLeftPad=s(u.canvasleftpadding,0);r.origCanvasRightPad=s(u.canvasrightpadding,0)},canvasBorderThickness:1,singleseries:!1},g.sparkchartbase);FusionCharts.register("component",["dataset","sparkcolumn",
{_setConfigure:function(g){var f=this.chart,n=f.jsonData.chart,L=this.config,u=this.JSONData,oa=g||u.data,E=oa&&oa.length,ta=f.config.categories,ta=ta&&ta.length;g=g&&g.data.length||la(ta,E);var E=L.showHoverEffect,aa=f.components.colorManager,f=L.isRoundEdges,A,O,K,ea,da,J,ca,ha,W,xa,ia,ma,Ga,ya,va,sa,ja,Na,qa;L.plotgradientcolor=fa;L.showValues=s(u.showvalues,n.showvalues,0);L.showShadow=s(n.showshadow,0);this.__base__._setConfigure.call(this);ta=this.components.data;Na=L.maxValue;qa=L.minValue;
aa=k(n.plotfillcolor,aa.getColor("plotFillColor"));W=k(n.plotfillalpha,Ja);xa=k(n.plotborderalpha,Ja);ia=k(n.plotbordercolor,aa);ma=k(n.highcolor,"000000");Ga=k(n.lowcolor,"000000");ya=k(n.highbordercolor,n.plotbordercolor,ma);va=k(n.lowbordercolor,n.plotbordercolor,Ga);L.plotBorderThickness=ca=s(n.showplotborder,0)?s(n.plotborderthickness,1):0;for(ja=0;ja<g;ja++)if(sa=oa[ja],ea=ta[ja],ha=ea.config,A=aa,O=ia,ha.setValue==Na&&(A=ma,O=ya),ea.config.setValue==qa&&(A=Ga,O=va),ha.colorArr=A=r(A+e+L.plotgradientcolor,
W,"0","90",f,O,xa,0,0),0!==E&&A){O=K=void 0;ha.setValue==Na&&(O=n.highhovercolor,K=n.highhoveralpha);ea.config.setValue==qa&&(O=n.lowhovercolor,K=n.lowhoveralpha);O=k(sa.hovercolor,u.hovercolor,O,n.plotfillhovercolor,n.columnhovercolor,A[0].FCcolor.color);O=O.split(/\s{0,},\s{0,}/);ea=O.length;for(da=0;da<ea;da++)O[da]=y(O[da],70);O=O.join(",");K=k(sa.hoveralpha,u.hoveralpha,K,n.plotfillhoveralpha,n.columnhoveralpha,W);ea=k(sa.hovergradientcolor,u.hovergradientcolor,n.plothovergradientcolor,L.plotgradientcolor);
!ea&&(ea=fa);da=k(sa.borderhovercolor,u.borderhovercolor,n.plotborderhovercolor,L.plotBorderColor);J=k(sa.borderhoveralpha,u.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,xa,W);s(sa.borderhoverthickness,u.borderhoverthickness,n.plotborderhoverthickness,ca);1==E&&O===A[0].FCcolor.color&&(O=y(O,70));sa=r(O+e+ea,K,"0","90",f,da,J.toString(),0,0);ha.setRolloutAttr={fill:ka(A[0]),stroke:ca&&ka(A[1]),"stroke-width":ca};ha.setRolloverAttr={fill:ka(sa[0]),stroke:ca&&ka(sa[1]),"stroke-width":ca}}},
draw:function(){this.__base__.draw.call(this);Sa.call(this)}},"Column"]);FusionCharts.register("component",["datasetGroup","SparkColumn",{},"column"]);g("sparkwinloss",{standaloneInit:!0,friendlyName:"sparkwinloss Chart",creditLabel:!1,defaultDatasetType:"sparkwinloss",canvasBorderThickness:0,applicableDSList:{sparkwinloss:!0},_setAxisLimits:function(){var e=this.components.yAxis;g.mscartesian._setAxisLimits.call(this);e[0]&&e[0].setAxisRange({min:-1,max:1})},_placeOpenCloseValues:function(e){var g=
this.config,f=this.components.dataset[0],n=this.linkedItems.smartLabel,r=g.dataLabelStyle,k=s(r.borderThickness,0),y=f.config.valuePadding+2+k,L=0,f=0,k=g.sparkValues||{};n.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);n.setStyle(r);k.openValue&&k.openValue.label&&(k.openValue.smartObj=n.getSmartText(k.openValue.label),L=k.openValue.smartObj.width+y);k.closeValue&&k.closeValue.label&&(k.closeValue.smartObj=n.getSmartText(k.closeValue.label),f+=k.closeValue.smartObj.width+y);k.highValue&&k.highValue.label&&
(k.highValue.smartObj=n.getSmartText(k.highValue.label));k.lowValue&&k.lowValue.label&&(k.lowValue.smartObj=n.getSmartText(k.lowValue.label));k.highLowValue&&k.highLowValue.label&&(k.highLowValue.smartObj=n.getSmartText(k.highLowValue.label),f+=k.highLowValue.smartObj.width+y);g=k.openValueWidth=la(L,e);e=k.closeValueWidth=la(f,e-g);return{left:g,right:e}},_parseCanvasCosmetics:function(){var e,g;e=this.components;var f=this.config,n=e.canvas.config,r=this.jsonData.chart,y=e.colorManager;n.canvasBorderRadius=
0;e=n.canvasBorderThickness=0;g=n.showCanvasBorder=0;n.canvasBorderWidth=g?e:0;n.canvasBorderColor=A(k(r.canvasbordercolor,y.getColor("canvasBorderColor")));n.canBGColor=da;e=n.shadow=0;n.shadowOnCanvasFill=e&&e.enabled;n.origCanvasTopPad=s(r.canvastoppadding,0);n.origCanvasBottomPad=s(r.canvasbottompadding,0);n.origCanvasLeftPad=s(r.canvasleftpadding,0);n.origCanvasRightPad=s(r.canvasrightpadding,0);f.origCanvasLeftMargin=s(r.canvasleftmargin);f.origCanvasRightMargin=s(r.canvasrightmargin);f.origCanvasTopMargin=
s(r.canvastopmargin);f.origCanvasBottomMargin=s(r.canvasbottommargin)},singleseries:!0},g.sparkchartbase);FusionCharts.register("component",["dataset","sparkwinloss",{_setConfigure:function(e,g){var f=this.chart,n=this.config,r=this.JSONData,L=e||r.data,O=L&&L.length,A=f.config.categories,A=A&&A.length,O=e&&e.data.length||la(A,O),A=f.jsonData.chart,aa=f.components,E=aa.colorManager,aa=aa.xAxis[0],ea=n.showPlotBorder,da=n.plotColor=E.getPlotColor(this.index||this.positionIndex),ca=K.parseUnsafeString,
xa=k(A.plotfillcolor,E.getColor("plotFillColor")),J=k(A.wincolor,E.getColor("winColor")),ia=k(A.losscolor,E.getColor("lossColor")),ma=k(A.drawcolor,E.getColor("drawColor")),E=k(A.scorelesscolor,E.getColor("scorelessColor")),W=A.winhovercolor,Sa=A.losshovercolor,hb=A.drawhovercolor,Qa=A.scorelesshovercolor,ob=0,ya=0,va=0,sa,ja,Na=n.plotBorderThickness,qa=n.isRoundEdges,cb=n.showHoverEffect,Pa=n.plotFillAngle,Ea,ab,Ra,Ta,bb=n.plotBorderDashStyle,ga,Ha,ra,Ua,Va,a,d,b,c,l,M=K.getDashStyle,h=this.components.data,
q=f.isBar,m=f.is3D,X,Wa=n.maxValue||-Infinity,p=n.minValue||Infinity,ua;h||(h=this.components.data=[]);this.__base__._setConfigure.call(this);n.plotgradientcolor="";ra=n.showPlotBorder=s(A.showplotborder,0);n.plotBorderAlpha=ra?k(A.plotborderalpha,Ea,Ja):0;for(X=n.showTooltip=0;X<O;X++){e?(ga=e&&e.data[X],ua=void 0!==g?g+X:h.length-O+X,ja=h[ua]):(ja=h[X],ga=L[X]);ra=ja&&ja.config;ja||(ja=h[X]={});ja.config||(ra=h[X].config={});switch((ga.value||"").toLowerCase()){case "w":da=k(ga.color,J,xa);Ua=k(ga.hovercolor,
W,da);ra.setValue=Ha=1;ob+=1;break;case "l":da=k(ga.color,ia,xa);Ua=k(ga.hovercolor,Sa,da);ra.setValue=Ha=-1;ya+=1;break;case "d":da=k(ga.color,ma,xa);Ua=k(ga.hovercolor,hb,da);ra.setValue=Ha=.1;va+=1;break;default:ra.setValue=Ha=null}1==ga.scoreless&&(da=k(ga.color,E,xa),Ua=k(ga.hovercolor,Qa,ga.color,E,Ua));ra.toolText=!1;ra.setLink=k(ga.link);ra.setDisplayValue=ca(ga.displayvalue);Ta=s(ga.dashed);Ea=s(ga.dashlen,void 0);Va=ja=s(ga.dashgap,n.plotDashGap);null!==Ha&&(Wa=ha(Wa,Ha),p=la(p,Ha));ra.plotBorderDashStyle=
Ta=1===Ta?M(Ea,Va,Na):0===Ta?"none":bb;Ea=k(ga.alpha,n.plotFillAlpha);Ra=k(ga.alpha,n.plotBorderAlpha,Ea).toString();0>Ha&&!qa&&(sa=n.plotfillAngle,Pa=q?180-Pa:360-Pa);ra.colorArr=Ha=K.graphics.getColumnColor(da+","+n.plotgradientcolor,Ea,ab=n.plotFillRatio,Pa,qa,n.plotBorderColor,Ra,q?1:0,m?!0:!1);ra.label=Ga(ca(aa.getLabel(s(ua-O,X)).label));0!==cb&&(Ua=k(ga.hovercolor,r.hovercolor,A.plotfillhovercolor,A.columnhovercolor,da),Va=k(ga.hoveralpha,r.hoveralpha,A.plotfillhoveralpha,A.columnhoveralpha,
Ea),a=k(ga.hovergradientcolor,r.hovergradientcolor,A.plothovergradientcolor,n.plotgradientcolor),!a&&(a=""),ab=k(ga.hoverratio,r.hoverratio,A.plothoverratio,ab),d=s(360-ga.hoverangle,360-r.hoverangle,360-A.plothoverangle,Pa),b=k(ga.borderhovercolor,r.borderhovercolor,A.plotborderhovercolor,n.plotBorderColor),Ra=k(ga.borderhoveralpha,r.borderhoveralpha,A.plotborderhoveralpha,Ra,Ea),Ea=s(ga.borderhoverthickness,r.borderhoverthickness,A.plotborderhoverthickness,Na),c=s(ga.borderhoverdashed,r.borderhoverdashed,
A.plotborderhoverdashed),l=s(ga.borderhoverdashgap,r.borderhoverdashgap,A.plotborderhoverdashgap,void 0),ga=s(ga.borderhoverdashlen,r.borderhoverdashlen,A.plotborderhoverdashlen,ja),ga=c?M(ga,l,Ea):Ta,1==cb&&Ua===da&&(Ua=y(Ua,70)),ja=K.graphics.getColumnColor(Ua+","+a,Va,ab,d,qa,b,Ra.toString(),q?1:0,m?!0:!1),ra.setRolloutAttr={fill:m?[ka(Ha[0]),!n.use3DLighting]:ka(Ha[0]),stroke:ea&&ka(Ha[1]),"stroke-width":Na,"stroke-dasharray":Ta},ra.setRolloverAttr={fill:m?[ka(ja[0]),!n.use3DLighting]:ka(ja[0]),
stroke:ea&&ka(ja[1]),"stroke-width":Ea,"stroke-dasharray":ga});sa&&(Pa=sa);ua++}n.maxValue=1;n.minValue=-1;1==s(A.showvalue,1)&&(f.config.sparkValues={closeValue:{}},f.config.sparkValues.closeValue.label=ob+"-"+ya+(0<va?"-"+va:fa))},draw:function(){this.__base__.draw.call(this);Sa.call(this)},drawLabel:ca},"Column"]);FusionCharts.register("component",["datasetGroup","SparkWinLoss",{manageSpace:function(){},draw:function(){var e=this.positionStackArr,g=e.length,f,n,r,k,y=this.chart;f=y.config.viewPortConfig.scaleX||
1;n=y.is3D;r=y.graphics.columnGroup;var L=y.graphics;k=y.components.canvas.config.clip["clip-canvas"].slice(0);L=L.datalabelsGroup;y=y.get("config","animationObj").duration;k[2]*=f;r.clip||n||(r.attr({"clip-rect":k}),L.attr({}));y?(!n&&r.animate({"clip-rect":k},y,"normal"),!n&&L.animate({},y,"normal")):(!n&&r.attr({"clip-rect":k}),!n&&L.attr({}));this.preDrawCalculate();this.drawSumValueFlag=!0;for(f=0;f<g;f++)for(n=e[f],r=n.length,this.manageClip=!0,n=0;n<r;n++)k=e[f][n].dataSet,k.draw()}},"column"]);
g("sparkline",{standaloneInit:!0,friendlyName:"SparkLine Chart",creditLabel:!1,defaultDatasetType:"sparkline",singleseries:!0,showValues:0,_parseCanvasCosmetics:g.sparkwinloss._parseCanvasCosmetics,_placeOpenCloseValues:g.sparkwinloss._placeOpenCloseValues,defaultPlotShadow:0,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},g.sparkchartbase,{showValues:0});FusionCharts.register("component",["dataset","sparkline",{type:"sparkline",configure:function(){var e=this.config,g=this.JSONData,
f=this.chart.jsonData.chart;this.__base__.configure.call(this);e.lineThickness=s(g.linethickness,f.linethickness,1)},_setConfigure:function(e){var g=this.chart,n=this.config,r=this.JSONData,u=g.jsonData.chart,r=e||r.data,L,A=g.components.xAxis[0];e=e&&e.data.length||A.getCategoryLen();var O=g.components.colorManager,g=g.config,E,da,A=f(k(u.opencolor,"0099FF")),ea=f(k(u.closecolor,"0099FF")),K=f(k(u.highcolor,"00CC00")),ca=f(k(u.lowcolor,"CC0000")),ka=f(k(u.anchorcolor,O.getColor("plotFillColor")));
da=s(u.showopenanchor,u.drawanchors,u.showanchors,1);var J=s(u.showcloseanchor,u.drawanchors,u.showanchors,1),ha=s(u.showhighanchor,u.drawanchors,u.showanchors,1),xa=s(u.showlowanchor,u.drawanchors,u.showanchors,1),W=s(u.anchoralpha,100),ia=s(u.drawanchors,u.showanchors,0)?s(u.anchoralpha,100):0,ma=k(u.linecolor,O.getColor("plotFillColor")),la,Ja,ya,va,sa,ja;this.__base__._setConfigure.call(this);O=this.components.data;Ja=n.maxValue;ya=n.minValue;n.shadow={opacity:s(u.showshadow,0)?n.lineAlpha/100:
0};L=O[0];E=L.config;E.anchorProps.bgColor=k(L.anchorbgcolor,A);E.anchorProps.enabled=!!da;E.anchorProps.bgAlpha=da?va:0;E.anchorProps.enabled&&E.hoverEffects&&(E.hoverEffects.anchorColor=k(u.openhovercolor,u.anchorhovercolor,u.plotfillhovercolor,y(A,70)),E.hoverEffects.anchorBgAlpha=s(u.openhoveralpha,u.anchorhoveralpha,u.plotfillhoveralpha,100));n=E.displayValue;L=O[e-1];E=L.config;E.anchorProps.bgColor=k(L.anchorbgcolor,ea);E.anchorProps.enabled=!!J;E.anchorProps.bgAlpha=J?va:0;E.anchorProps.enabled&&
E.hoverEffects&&(E.hoverEffects.anchorColor=k(u.closehovercolor,u.anchorhovercolor,u.plotfillhovercolor,y(ea,70)),E.hoverEffects.anchorBgAlpha=s(u.closehoveralpha,u.anchorhoveralpha,u.plotfillhoveralpha,100));J=E.displayValue;for(da=0;da<e;da++)L=O[da],E=L.config,L=r[da],va=s(L.anchorbgalpha,W),0!==da&&da!==e-1&&(E.anchorProps.bgColor=k(L.anchorbgcolor,ka),E.anchorProps.bgAlpha=s(L.anchorbgalpha,ia),E.hoverEffects.anchorColor=f(k(u.anchorhovercolor,u.plotfillhovercolor,y(ma,70))),E.hoverEffects.anchorBgAlpha=
s(u.lowhoveralpha,u.anchorhoveralpha,u.plotfillhoveralpha,100)),E.anchorProps.radius=s(u.anchorradius,L.anchorradius,2),E.anchorProps.borderThickness=0,E.hoverEffects.anchorBorderThickness=0,E.hoverEffects.anchorRadius=s(u.anchorhoverradius,u.anchorradius,L.anchorradius,3),E.setValue===ya&&(E.anchorProps.bgColor=k(L.anchorbgcolor,ca),E.hoverEffects.anchorColor=k(u.lowhovercolor,u.anchorhovercolor,u.plotfillhovercolor,y(ca,70)),E.hoverEffects.anchorBgAlpha=s(u.lowhoveralpha,u.anchorhoveralpha,u.plotfillhoveralpha,
100),E.anchorProps.enabled=!!xa,E.anchorProps.bgAlpha=xa?va:0,ja=E.displayValue),E.setValue===Ja&&(E.anchorProps.bgColor=k(L.anchorbgcolor,K),E.hoverEffects.anchorColor=k(u.highhovercolor,u.anchorhovercolor,u.plotfillhovercolor,y(K,70)),E.hoverEffects.anchorBgAlpha=s(u.highhoveralpha,u.anchorhoveralpha,u.plotfillhoveralpha,100),E.anchorProps.enabled=!!ha,E.anchorProps.bgAlpha=ha?va:0,sa=E.displayValue),va=E.setValue,void 0!==va&&null!==va&&(la=1);r=g.sparkValues={openValue:{color:A},closeValue:{color:ea},
highValue:{color:K},lowValue:{color:ca},highLowValue:{}};la&&(r.openValue.label=s(u.showopenvalue,1)?n:fa,r.closeValue.label=s(u.showclosevalue,1)?J:fa,s(u.showhighlowvalue,1)&&(r.highLowValue.label="["+sa+" | "+ja+"]",r.highValue.label=sa,r.lowValue.label=ja))},draw:function(){this.__base__.draw.call(this);this._drawSparkValues();Sa.call(this)},_drawSparkValues:function(){ca.call(this)}},"Line"])},[3,2,0,"sr2"]]);
FusionCharts.register("module",["private","modules.renderer.js-messagelogger",function(){var K=this.window,fa=K.document,k=8===fa.documentMode,s=this.hcLib,E=s.Raphael,g=s.componentDispose,y=s.pluckNumber,e=s.isIE,A=s.graphics.HEXtoRGB,Ga=s.graphics.convertColor,ma=s.pluck,la=Math.min,ha,ia={},ka={display:"block",paddingLeft:"10px",paddingRight:"10px","font-family":"Arial","font-size":"11px"};ia.literal=ia.info={title:'<span style="color: #005900">$titleVal$</span>',body:"<span>$msgVal$</span>"};
ia.link={title:ia.info.title,body:'<a href="$msgLinkVal$">$msgVal$</a>'};ia.error={title:'<span style="color: #CC0000">$titleVal$</span>',body:'<span style="color: #CC0000">$msgVal$</span>'};ha=function(e,g){var f=this.config={},k=(e.msgType||"").toLowerCase(),y=e.msgTitle,n=e.msgText,E=ma(e.msgLink,n);f.totalHTML="";this.graphics={};this.linkedItems={msgLogger:g};k=ia[k]||ia.literal;y&&(f.titleHTML=k.title.replace("$titleVal$",y),f.totalHTML+=f.titleHTML);n&&(f.msgHTML=k.body.replace("$msgVal$",
n),f.msgHTML=f.msgHTML.replace("$msgLinkVal$",E),f.totalHTML+=f.msgHTML)};ha.prototype={draw:function(){var g=this.config,r=this.graphics,f,y=r.element,E=this.linkedItems.msgLogger,n=E.graphics,s=n&&n.log&&n.log.element,n=n.logWrapper&&n.logWrapper.element,E=E.config;if(!y){y=r.element=fa.createElement("span");for(f in ka)y.style[f]=ka[f];s.appendChild&&s.appendChild(y)}r.element.innerHTML=g.totalHTML;e&&k&&(g=s.innerHTML,s.innerHTML=g);E.scrollToBottom&&(E.dynamicScrolling=!0,s=n.scrollHeight,n.scrollTop=
s)},dispose:function(){var e=this.graphics,r=this.linkedItems.msgLogger;r&&r.graphics&&r.graphics.log&&r.graphics.log.element&&r.graphics.log.element.removeChild&&r.graphics.log.element.removeChild(e.element);delete e.element;g.call(this)}};ha.prototype.constractor=ha;FusionCharts.register("component",["logger","message",{pIndex:1,customConfigFn:null,init:function(e){var g=this.linkedItems||(this.linkedItems={});this.components=this.components||{};this.components.messages=this.components.messages||
[];this.graphics=this.graphics||{};g.chart=e},configure:function(){var e=this,g=e.config||(e.config={}),f=e.linkedItems.chart,k=f.get&&f.get("jsonData","chart")||{},E=f.chartMenuTools,f=g.usemessagelog=f.get("config","usemessagelog");g.messageLogWPercent=la(y(k.messagelogwpercent,80),100);g.messageLogHPercent=la(y(k.messageloghpercent,70),100);g.messageLogShowTitle=y(k.messagelogshowtitle,1);g.messageLogTitle=ma(k.messagelogtitle,"Message Log");g.messageLogColor=ma(k.messagelogcolor,"#fbfbfb").replace(/^#?([a-f0-9]+)/ig,
"$1");g.messageLogColorRgb=A(g.messageLogColor);g.messageGoesToJS=y(k.messagegoestojs,0);g.messageGoesToLog=y(k.messagegoestolog,1);g.messageJSHandler=ma(k.messagejshandler,"");g.messagePassAllToJS=y(k.messagepassalltojs,0);g.messagePassAsObject=y(k.messagepassasobject,0);g.messageLogIsCancelable=y(k.messagelogiscancelable,1);g.alwaysShowMessageLogMenu=y(k.alwaysshowmessagelogmenu,f);f&&E&&E.set([{"Show Log":{handler:function(){e.show()},action:"click"}}]);g.dynamicScrolling=!1;g.scrollToBottom=!0},
_createMessage:function(e){e=new ha(e,this);this.graphics.container&&e.draw();return e},addLog:function(e){var g=this.config,f=this.components.messages,k=y(e.msgGoesToLog,g.messageGoesToLog),E=y(e.msgGoesToJS,g.messageGoesToJS),n=K[g.messageJSHandler],s=ma(e.msgId,""),A=ma(e.msgTitle,""),ka=ma(e.msgText,""),ca=ma(e.msgType,"literal");g.usemessagelog&&(E&&n&&"function"===typeof n&&(g.messagePassAllToJS?g.messagePassAsObject?n(e):n(s,A,ka,ca):n(ka)),"1"===e.clearLog&&this.clearLog(),k&&(e.msgTitle||
e.msgText)&&(e=this._createMessage(e),f.push(e),1!==f.length||g.visible||this.show()))},show:function(){var e=this.graphics,g=this.config;g.visible||(g.visible=!0,e.container||this.draw(),e.container&&e.container.show())},hide:function(){var e=this.graphics;this.config.visible=!1;e.container&&e.container.hide()},clearLog:function(){var e=this.components.messages,g,f=e.length;for(g=0;g<f;g+=1)e[g]&&e[g].dispose&&e[g].dispose();e.splice(0,f)},isDrawn:function(){return!!this.graphics.container},draw:function(){var e=
this.config,g=this.components.messages,f;if(e.usemessagelog)for(this._createHTMLDialogue(),e.visible||this.hide(),f=g.length,e=0;e<f;e+=1)g[e]&&g[e].draw&&g[e].draw();else this.isDrawn()&&(this.clearLog(),this.hide())},_createHTMLDialogue:function(){var e=this,g=e.config,f=e.graphics,k=e.components,y=e.linkedItems.chart,n=y.get("components","paper"),s=y.get("linkedItems","container"),A=y.get("config"),K=A.width,ka=A.height,fa=(y=A.style)&&y.inCanvasStyle,ha=g.messageLogShowTitle,ia=g.messageLogIsCancelable,
ma=g.messageLogColor,la=g.messageLogTitle,u=k.paper,oa=f.cg,Da=g.messageLogWPercent/100*K,ta=g.messageLogHPercent/100*ka,aa=(K-Da)/2,Za=(ka-ta)/2,nb=Da-18-22,Ya=ta-18-22,Oa=aa+Da-21,eb=Za+3,y=f.container,A=e.isDrawn()&&A.animation&&A.animation.transposeAnimDuration;y||(y=f.container=n.html("div",{fill:"transparent"},{fontSize:"10px",lineHeight:"15px"},s),f.veil=n.html("div",{id:"veil",fill:"000000",opacity:.1},void 0,y).on("click",function(){ia&&e.hide()}),la&&ha&&(f.title=n.html("p",{id:"Title",
innerHTML:la,x:5,y:5},{"font-weight":"bold"},y)),f.dialog=n.html("div",{id:"dialog",strokeWidth:1},{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")'},y),f.logBackground=n.html("div",{id:"dialogBackground",x:0,y:0},void 0,f.dialog),ia&&(f.closeBtnContainer=n.html("div",{id:"closeBtnContainer"},{},y),k.paper=u=new E("closeBtnContainer",
18,18),u.setConfig("stroke-linecap","round"),oa=f.cg=u.group("closeGroup"),f.closeButton=u.symbol("closeIcon",0,0,6,oa).attr({transform:"t9,9","stroke-width":2,stroke:Ga("999999"),ishot:!0,"stroke-linecap":"round","stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){e.hide()})),f.logWrapper=n.html("div",{id:"logWrapper"},{overflow:"auto"},f.dialog).on("scroll",function(){var e=this&&this.scrollTop,n=this&&this.scrollHeight,f=this&&this.offsetHeight;g.dynamicScrolling?
g.dynamicScrolling=!1:g.scrollToBottom=n-e===f?!0:!1}),f.log=n.html("div",{id:"log",x:0,y:0},{},f.logWrapper));y.css({fontFamily:fa.fontFamily});f.dialog.attr({fill:"ffffff",stroke:ma});f.logBackground.attr({fill:ma});k={width:K,height:ka};n={x:aa,y:Za,width:Da,height:ta};s={width:Da,height:ta};Oa={width:18,height:18,x:Oa,y:eb};Da={x:(Da-nb)/2,y:(ta-Ya)/2,width:nb,height:Ya};A?(y.animate(k,A,"normal"),f.veil.animate(k,A,"normal"),f.dialog.animate(n,A,"normal"),f.logBackground.animate(s,A,"normal"),
f.closeBtnContainer&&f.closeBtnContainer.animate(Oa,A,"normal"),f.logWrapper.animate(Da,A,"normal")):(y.attr(k),f.veil.attr(k),f.dialog.attr(n),f.logBackground.attr(s),f.closeBtnContainer&&f.closeBtnContainer.attr(Oa),f.logWrapper.attr(Da))}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-alertmanager",function(){var K=this,fa=function(k){return function(){eval(k.param)}};FusionCharts.register("component",["manager","alert",{pIndex:1,init:function(k){this.linkedItems={chart:k}},configure:function(){var k=this.linkedItems.chart,s=k.get("jsonData","alerts"),s=s&&s.alert,k=k.get("components","numberFormatter"),E=this.config||(this.config={}),g,y;if(s&&s.length)for(E.alertArr=s,E=s.length,g=0;g<E;g+=1)y=s[g],y.minvalue=k.getCleanValue(y.minvalue),
y.maxvalue=k.getCleanValue(y.maxvalue);else E.alertArr=[]},processRTData:function(k){var s=this.linkedItems.chart.get("components","numberFormatter"),E,g,y,e,A,K,fa;if(k&&k.dataset&&k.dataset.length)for(y=k.dataset.length,E=0;E<y;E+=1)if(e=k.dataset[E],e.data&&e.data.length)for(A=e.data.length,g=0;g<A;g+=1)fa=(K=e.data[g])&&s.getCleanValue(K.value),null!==fa&&this._doAlert(s.getCleanValue(K.value))},_doAlert:function(k){var s=this.linkedItems.chart,E=this.config.alertArr,g=E.length,y,e,A;for(e=0;e<
g;e+=1)if(y=E[e],A=y.action&&y.action.toLowerCase(),y.minvalue<=k&&y.maxvalue>=k){if("1"!==y.occuronce||!y.hasOccurred){y.hasOccurred=!0;y.state="1";switch(A){case "calljs":setTimeout(fa(y),0);break;case "showannotation":s.showAnnotation&&s.showAnnotation(y.param)}K.raiseEvent("AlertComplete",{alertValue:k,alertMaxValue:y.maxvalue,alertMinValue:y.minvalue},s.chartInstance)}}else"showannotation"===A&&"1"===y.state&&s.hideAnnotation&&s.hideAnnotation(y.param),y.state="2"}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-realtime",function(){var K=this,fa=K.window,k=Math.random,s=K.hcLib.pluckNumber,E=function(g,e,k){clearTimeout(k);return setTimeout(g,e)},g;g=function(g){var e=g.sender,A=e.__state,Ga,ma,la,ha,ia,ka,L,r,f,da;A.dataSetDuringConstruction&&!A.rtStateChanged&&void 0===A.rtPreInit&&(e.dataReady()?(A.rtStateChanged=!0,A.rtPreInit=!0):A.rtPreInit=!1);A.rtStateChanged&&(A.rtStateChanged=!1,la=(ma=e.jsVars)&&ma.instanceAPI)&&(ha=la.config||{},
Ga=la.jsonData&&la.jsonData.chart,la=ha&&ha.chart||{},ia=1E3*s(ha.updateInterval,ha.refreshInterval),ka=1E3*s(ha.clearInterval,0),L=ha.dataStreamURL,la=Boolean(ha&&ha.realtimeEnabled&&0<ia&&void 0!==L&&""!==L&&la),ha=ha&&ha.plotOptions&&ha.plotOptions.series.animation&&ha.plotOptions.series.animation.duration||0,r=A._rtAjaxObj,f=function(){e.clearChart&&e.clearChart();ka&&(A._toClearChart=setTimeout(f,ka))},da=function(){var e=L,g=Ga&&Ga.datastamp,e=e+((-1===L.indexOf("?")?"?num=":"&num=")+k());g&&
(e+="&dataStamp="+g);r.open&&r.abort();r.get(e);A._rtAjaxLatencyStart=new Date},0>=ia?(A._toRealtime=clearTimeout(A._toRealtime),r&&r.abort()):10>ia&&(ia=10),A._toClearChart=clearTimeout(A._toClearChart),0<ka&&(10>ka?ka=10:A._toClearChart=setTimeout(f,ka)),A._rtStaticRefreshMS=ia,la&&(void 0===A._rtPaused&&(A._rtPaused=!1),A._rtDataUrl=L,A.lastSetValues=null,r=A._rtAjaxObj||(A._rtAjaxObj=new K.ajax),r.onSuccess=function(f,n,k,r){if(!e.disposed){n=ma.instanceAPI;k=n.feedData;var E={},s=n.config;A._rtAjaxLatencyStart&&
(A._rtAjaxLatency=new Date-A._rtAjaxLatencyStart);if(k&&s.realtimeEnabled&&L){n._getPrevData();n.feedData(f,!0,r,A._rtAjaxLatency||0);f=(E.realtimeDrawingLatency||0)+(A._rtAjaxLatency||0);try{fa.FC_ChartUpdated&&fa.FC_ChartUpdated(g.sender.id)}catch(K){setTimeout(function(){throw K;},1)}A._rtPaused||(f>=A._rtStaticRefreshMS&&(f=A._rtStaticRefreshMS-1),A._toRealtime=setTimeout(da,A._rtStaticRefreshMS-f))}else A._toRealtime=clearTimeout(A._toRealtime)}},r.onError=function(f,n,k,r){A._rtAjaxLatencyStart&&
(A._rtAjaxLatency=new Date-A._rtAjaxLatencyStart);K.raiseEvent("realtimeUpdateError",{source:"XmlHttpRequest",url:r,xmlHttpRequestObject:n.xhr,error:f,httpStatus:n.xhr&&n.xhr.status?n.xhr.status:-1,networkLatency:A._rtAjaxLatency},g.sender);A._toRealtime=e.isActive()?setTimeout(da,ia):clearTimeout(A._toRealtime)},A._rtPaused||(A._toRealtime=E(da,ha>ia?ha:ia,A._toRealtime))))};K.addEventListener(["beforeDataUpdate","beforeRender"],function(g){g=g.sender;var e=g.__state;g.jsVars&&(g.jsVars._rtLastUpdatedData=
null);e._toRealtime&&(e._toRealtime=clearTimeout(e._toRealtime));e._toClearChart&&(e._toClearChart=clearTimeout(e._toClearChart));e._rtAjaxLatencyStart=null;e._rtAjaxLatency=null});K.addEventListener(["renderComplete","dataUpdated"],function(k){var e=k.sender.__state;e&&(void 0===e.rtPreInit&&(e.rtPreInit=!1),e._rtPaused&&delete e._rtPaused,e.rtStateChanged||(e.rtStateChanged=!0,g.apply(this,arguments)))});K.core.addEventListener("beforeDispose",function(g){g=g.sender.__state;g._toRealtime&&(g._toRealtime=
clearTimeout(g._toRealtime));g._toClearChart&&(g._toClearChart=clearTimeout(g._toClearChart))});K.core.addEventListener("drawComplete",g)}]);
FusionCharts.register("module",["private","modules.renderer.js-widgets",function(){function K(){}var fa=this,k=fa.hcLib,s=k.Raphael,E=k.BLANKSTRING,g=k.pluck,y=k.getValidValue,e=k.pluckNumber,A=k.getFirstDefinedValue,Ga=k.getColorCodeString,ma={},la=k.extend2,ha=k.hasSVG,ia=k.getFirstValue,ka=k.graphics.getDarkColor,L=k.graphics.getLightColor,r=k.graphics.convertColor,f=k.chartAPI,da=k.getDashStyle,O=k.parseTooltext,n=k.COMMASTRING,xa=k.ZEROSTRING,ea=k.parseUnsafeString,Ja=fa.window,ca=/msie/i.test(Ja.navigator.userAgent)&&
!Ja.opera,Sa=k.regex.hexcode,Fa="rgba(192,192,192,"+(ca?.002:1E-6)+")",mb=ca?.002:1E-6,ca=Math,Ka=ca.round,Ma=ca.ceil,u=ca.max,oa=ca.min,Da=ca.abs,ta=ca.atan2,aa=ca.pow,Za=ca.sqrt,ca=ca.PI,nb=2*ca,Ya=ca/180,Oa=k.regex.dropHash,eb=k.toPrecision,J=k.POSITION_START,vb=k.POSITION_END,$a=k.HASHSTRING,W=k.toRaphaelColor,ca=k.TOUCH_THRESHOLD_PIXELS,gb=k.CLICK_THRESHOLD_PIXELS,hb=void 0!==Ja.document.documentElement.ontouchstart,Qa=hb?ca:gb,ob=k.getPosition,ya=k.plotEventHandler,va={"true":void 0,"false":"crisp"},
sa=function(a,d,b){var c=0,l=a.length;if(b)for(;c<l;c++){if(!1===d.call(b,a[c],c,a))return c}else for(;c<l;c++)if(!1===d.call(a[c],a[c],c,a))return c},ca=function(a,d){var b;a||(a={});for(b in d)a[b]=d[b];return a},ja=function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},Na=function(a){return"string"===typeof a},qa=function(a){return void 0!==a&&null!==a},cb=k.regex.startsRGBA,Pa=k.setLineHeight,Ea=k.pluckFontSize,ab=k.POSITION_MIDDLE,Ra=k.POSITION_TOP,Ta=k.POSITION_BOTTOM,
bb=k.POSITION_MIDDLE,ga=k.HUNDREDSTRING,Ha=k.COMMASPACE,ra={right:"end",left:"start",middle:"middle",start:"start",end:"end",center:"middle",undefined:"","":""},Ua=function(){return function(a,d,b){var c,l=this,M=this._Attr,h=s.vml?-1.5:0,e=s.vml?-1.5:0,m;M||(M=l._Attr={});Na(a)&&qa(d)&&(c=a,a={},a[c]=d);if(Na(a)||void 0===a)l="angle"==a?l._Attr[a]:l._attr(a);else for(c in a)d=a[c],"angle"===c?(M[c]=d,m=d*Ya,M.tooltipPos[0]=M.cx+M.toolTipRadius*Math.cos(m),M.tooltipPos[1]=M.cy+M.toolTipRadius*Math.sin(m),
M.prevValue=d,b&&b.duration?l.animate({transform:"R"+d+","+h+","+e},b.duration,"easeIn"):l.attr({transform:"R"+d+","+h+","+e})):l._attr(c,d);return l}},Va=function(a){var d=[],b;(function(a){(b=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?d=[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseFloat(b[4])]:(b=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(d=[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16),1])})(a);
return{get:function(b){return d&&!isNaN(d[0])?"rgb"===b?"rgb("+d[0]+","+d[1]+","+d[2]+")":"hex"===b?"#"+("000000"+(d[0]<<16|d[1]<<8|d[2]).toString(16)).slice(-6):"a"===b?d[3]:"rgba("+d.join(",")+")":a},brighten:function(a){if(!isNaN(a)&&0!==a){var b;for(b=0;3>b;b++)d[b]+=parseInt(255*a,10),0>d[b]&&(d[b]=0),255<d[b]&&(d[b]=255)}return this},setOpacity:function(a){d[3]=a;return this}}},gb=la({},k.defaultGaugePaletteOptions);Array.prototype.forEach||(Array.prototype.forEach=function(a,d){var b,c,l,M,
h;if(null==this)throw new TypeError(" this is null or not defined");l=Object(this);M=l.length>>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1<arguments.length&&(b=d);for(c=0;c<M;)c in l&&(h=l[c],a.call(b,h,c,l)),c++});K.prototype={numDecimals:function(a){a=eb(a,10);a=Math.abs(a);a=eb(a-Math.floor(a),10);a=String(a).length-2;return 0>a?0:a},toRadians:function(a){return a/180*Math.PI},toDegrees:function(a){return a/Math.PI*180},flashToStandardAngle:function(a){return-1*a},
standardToFlashAngle:function(a){return-1*a},flash180ToStandardAngle:function(a){var d=360-(0>(a%=360)?a+360:a);return 360==d?0:d},getAngularPoint:function(a,d,b,c){c*=Math.PI/180;a+=b*Math.cos(c);d-=b*Math.sin(c);return{x:a,y:d}},remainderOf:function(a,d){var b=a%d,c=void 0,c=aa(10,void 0===c?2:c),b=Ka(Number(String(b*c)));return b/=c},boundAngle:function(a){return 0<=a?K.prototype.remainderOf(a,360):360-K.prototype.remainderOf(Math.abs(a),360)},toNearestTwip:function(a){var d=0>a?-1:1;a=Math.abs(a);
a=Ka(100*a);var b=Math.floor(a/5);return(2<Number(String(a-5*b))?5*b+5:5*b)/100*d},roundUp:function(a,d){var b=aa(10,void 0===d?2:d);a=Ka(Number(String(a*b)));return a/=b}};K.prototype.constructor=K;k.MathExt=K;f("realtimecolumn",{showRTvalue:!0,canvasPadding:!0,isRealTime:!0,standaloneInit:!0,creditLabel:!1,defaultDatasetType:"realtimecolumn",applicableDSList:{realtimecolumn:!0},transposeAxis:!0,rtManageSpace:!0,_realTimeConfigure:function(){var a=this.config.realTimeConfig||(this.config.realTimeConfig=
{}),d,b,c,l;d=this.jsonData;var M=d.chart;l=d.categories&&d.categories[0]&&d.categories[0].category&&d.categories[0].category.length||0;a.showRTValue=e(M.showrealtimevalue,1);a.dataStreamURL=g(M.datastreamurl,"");a.dataStamp=M.datastamp;a.useMessageLog=e(M.usemessagelog,0);a.clearInterval=e(M.clearchartinterval,0);a.realtimeValueSeparator=g(M.realtimevaluesep,", ");a.refreshInterval=d=e(M.refreshinterval,M.updateinterval,2);a.updateInterval=this.config.updateInterval=e(M.updateinterval,d);a.realtimeValuePadding=
e(M.realtimevaluepadding);a.realtimeValueFont=g(M.realtimevaluefont,"");a.realtimeValueFontBold=g(M.realtimevaluefontbold,0);a.realtimeValueFontColor=b=g(M.realtimevaluefontcolor,"");a.realtimeValueFontSize=c=e(M.realtimevaluefontsize,"");a.realTimeValuePadding=e(M.realtimevaluepadding,5);a.fontWeight=e(M.realtimevaluefontbold,0)?"bold":"normal";a.numDisplaySets=e(M.numdisplaysets,u(l,15));a.refreshInstantly=e(M.refreshinstantly,0);a.showRTmenuItem=l=e(M.showrtmenuitem,0);a.sync=e(M.sync,.6<d?!0:
!1);b&&(a.realtimeValueFontColor=b.replace(Oa,$a));c&&(a.realtimeValueFontSize=c+"px");l&&this._setRTmenu()},_setRealTimeCategories:function(){var a=this.components.xAxis[0],d=[],b=this.config.realTimeConfig,c=b&&b.clear?void 0:this.jsonData.categories&&this.jsonData.categories[0]&&this.jsonData.categories[0].category,l=a.getCategoryLen(),b=b.numDisplaySets,l=a.getCategoryLen();l<b?(d.length=b-l,c=c?d.concat(c):d,a.setCategory(c)):l>b&&(c.splice(b,l-b),a.setCategory(c))},_realTimeValuePositioning:function(a){var d=
this.components,b=this.linkedItems.smartLabel,c;c=this.config;var l=c.realTimeConfig||(c.realTimeConfig={}),M=l.realTimeValuePadding,d=d.xAxis[0].config.axisData,h=d.trend.trendStyle,d=l.style={color:r(g(l.realtimeValueFontColor,h.color),g(d.trendlineAlpha,99)),fontFamily:g(l.realtimeValueFont,h.fontFamily),fontSize:g(l.realtimeValueFontSize,h.fontSize),fontWeight:g(l.fontWeight,h.fontWeight),lineHeight:e(h.lineHeight)};b.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);b.setStyle(d);l.height=b=b.getOriSize(k.TESTSTR).height;
l.canvasBottom=c.canvasBottom;c=b+M;c>a&&(c=a);return{bottom:c}},_drawRealTimeValue:function(){var a=this.components,d=this.config,b=a.dataset,c=a.paper,l=this.linkedItems.smartLabel,M=d.realTimeConfig,h=M.realtimeValueSeparator,e=b.length,m="",X=this.get("config","animationObj"),g=X.animObj,p=X.dummyObj,X=X.duration,ua=M.canvasBottom,t=M.height,D=d.canvasLeft,v=d.canvasRight,f=M.style||{},a=a.realTimeValue||(a.realTimeValue={}),z=a.graphics,w=this.graphics.parentGroup,n,k;if(M.clear)a.graphics.attr({text:""});
else{for(M=0;M<e;M++)n=b[M].components.data,n=(n=n[n.length-1])&&n.config.displayValue,m+=n?void 0===n?"":n+h:"";m=m.substring(0,m.length-h.length);l.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);l.setStyle(f);l.getOriSize(m);d={x:(D+v)/2||0,y:ua-t/2||0,"font-size":f.fontSize,"font-weight":f.fontWeight,"font-family":f.fontFamily,"line-height":f.lineHeight,visibility:"visible"};z||(z=a.graphics=c.text(d,w),k=!0);z.attr({text:m,fill:f.color});z&&!k&&(z.show(),z.animateWith(p,g,d,X))}},_hideRealTimeValue:function(){var a=
this.components;(a=(a=a.realTimeValue||(a.realTimeValue={}),a.graphics))&&a.hide()},_getData:function(){var a=this.components,d=a.dataset,a=a.xAxis&&a.xAxis[0]||a.scale,b,c,l,M=[],h=0,e,m;if(d){b=d.length;for(c=0;c<b;c++)h=u(h,d[c].components.data.length);for(c=0;c<h;c++)for(m=M[c]=[],m[0]=a.getLabel(c).label,l=1;l<=b;l++)e=d[l-1].components.data[c],m[l]=e&&e.config.setValue;return M}},_setData:function(a,d){var b="";if(a&&a.toString||""===a||0===a)b="value="+a.toString();if(d&&d.toString||""===d)b=
b+"&label="+d.toString();b&&this.feedData(b)},_stopUpdate:function(a){var d=this.config.realTimeConfig,b=this.linkedItems.timers&&this.linkedItems.timers.setTimeout.loadData,c=this.chartInstance,l=c.__state;clearTimeout(l._toRealtime);l._rtAjaxObj&&l._rtAjaxObj.abort();l._rtPaused=!0;b&&clearTimeout(b);d.clearIntervalFlag=!1;fa.raiseEvent("realimeUpdateStopped",{source:a},c)},_restartUpdate:function(){var a=this.chartInstance.__state;a._rtDataUrl&&a._rtPaused&&(a._rtPaused=!1,a._rtAjaxObj.get(a._rtDataUrl))},
_isUpdateActive:function(){return!this.chartInstance.__state._rtPaused},_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},action:"click"}},{"Clear Chart":{handler:function(){a._clearChart.call(a)},action:"click"}}])},_getDataJSON:function(){return this.config.realTimeConfig.legacyUpdateObj||{values:[]}},eiMethods:{feedData:function(){return this.apiInstance.feedData.apply(this.apiInstance,arguments)},setData:function(){this.apiInstance._setData.apply(this.apiInstance,
arguments)},stopUpdate:function(){this.apiInstance._stopUpdate.apply(this.apiInstance,arguments)},restartUpdate:function(){this.apiInstance._restartUpdate.apply(this.apiInstance,arguments)},isUpdateActive:function(){return this.apiInstance._isUpdateActive.apply(this.apiInstance,arguments)},clearChart:function(){this.apiInstance._clearChart.apply(this.apiInstance,arguments)},getData:function(){return this.apiInstance._getData.apply(this.apiInstance,arguments)},showLog:function(){var a=this.apiInstance.components&&
this.apiInstance.components.messageLogger;return a&&a.show&&a.show.apply(a,arguments)},hideLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.hide&&a.hide.apply(a,arguments)},clearLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.clearLog&&a.clearLog.apply(a,arguments)},getDataForId:function(){return this.apiInstance._getDataForId.apply(this.apiInstance,arguments)},setDataForId:function(){return this.apiInstance._setDataForId.apply(this.apiInstance,
arguments)},getDataJSON:function(){return this.apiInstance._getDataJSON.apply(this.apiInstance,arguments)}}},f.mscartesian);f("realtimestackedcolumn",{isStacked:!0},f.realtimecolumn);f("gaugebase",{creaditLabel:!1,defaultPaletteOptions:gb,multiValueGauge:!1,decimals:2,formatnumberscale:0,drawAnnotations:!0,useScaleRecursively:!0,includeColorRangeInLimits:!1,isWidget:!0,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},realTimeUpdate:function(a){var d=
this.components.dataset,b=a.dataset;a=a.categories&&a.categories.category||[];var c=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),l,M,h;if(d){h=b[0];b=h.data;M=0;for(l=b.length;M<l;M++)b[M].label=a[M]&&a[M].label;d[0].updateData(h);d[0].maxminFlag&&(c.maxminFlag=d[0].maxminFlag)}},_clearChart:function(){},_realTimeConfigure:f.realtimecolumn,_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},
action:"click"}}])},_getData:f.realtimecolumn,_setData:f.realtimecolumn,_stopUpdate:f.realtimecolumn,_restartUpdate:f.realtimecolumn,_isUpdateActive:f.realtimecolumn,eiMethods:f.realtimecolumn},f.sscartesian,{valuefontbold:1});f("axisgaugebase",{chartLeftMargin:15,chartRightMargin:15,chartTopMargin:10,chartBottomMargin:10,annotationRelativeLayer:"axis",_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=
this.components,d=a.colorManager,b=this.jsonData,c=b.chart,l=k.chartPaletteStr.chart2D,M=e(c.ticksbelowgauge),h=e(c.ticksonright),M=e(c.axisontop,void 0!==c.axisonleft?!e(c.axisonleft):void 0,void 0!==M?!M:void 0,void 0!==h?h:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),q=e(c.showtickmarks,1),m=e(c.showtickvalues),q=m||void 0===m?q||void 0!==m?!0:!1:!1,d={outCanfontFamily:g(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Ea(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:g(c.outcnvbasefontcolor,
c.basefontcolor,d.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:g(c.vdivlinecolor,d.getColor(l.divLineColor)),divLineAlpha:g(c.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:g(c.alternatevgridcolor,
d.getColor("altVGridColor")),alternateGridAlpha:g(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,
slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,
showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:g(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,
majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits||q,adjustTM:c.adjusttm,minorTMNumber:e(c.minortmnumber,this.minorTMNumber,4),minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,
c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,drawTickMarkConnector:this.isHorizontal?1:0},a=a.scale;a.vtrendlines=b.trendpoints;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,h,M);a.configure()},_setAxisLimits:function(){var a=this.components,d=this.jsonData.chart,b=a.scale,a=a.dataset[0].getDataLimits();-Infinity===a.max&&(a.max=0);Infinity===a.min&&(a.min=0);this.colorRange&&
b.setAxisData({lowerlimit:e(d.lowerlimit,a.min),upperlimit:e(d.upperlimit,a.max)});b.setDataLimit(a.max,a.min)},_spaceManager:function(){var a,d=this.config,b=this.components,c=b.dataset[0],b=b.scale,l=this.jsonData.chart,M=e(l.showborder,this.is3D?0:1),h=this.isHorizontal,q=d.minChartWidth,m=d.minChartHeight,l=d.borderWidth=M?e(l.borderthickness,1):0,X;d.canvasWidth-2*l<q&&(a=(d.canvasWidth-q)/2);d.canvasHeight-2*l<m&&(X=(d.canvasHeight-m)/2);this._allocateSpace({top:X||l,bottom:X||l,left:a||l,right:a||
l});a=.7*d.availableWidth;h?this._allocateSpace(b.placeAxis(a)):this._allocateSpace(b.placeAxis(d.availableHeight));this._manageChartMenuBar(.4*d.availableHeight);c._manageSpace&&this._allocateSpace(c._manageSpace(.3*d.availableHeight));b.setAxisConfig({drawPlotlines:this.drawPlotlines,drawPlotBands:this.drawPlotBands})},_postSpaceManagement:function(){var a=this.config,d=this.components.scale;this.isHorizontal?d.setAxisDimention({axisLength:a.canvasWidth}):d.setAxisDimention({axisLength:a.canvasHeight})},
_getDataJSON:function(){var a=0,d,b,c=[],l=[],M=[],h=this.components.dataset[0].components.data;for(d=h&&h.length?h.length:0;a<d;a+=1)b=h[a].config,c.push(b.itemValue),l.push(b.formatedVal||""),M.push(b.toolText||"");return{values:c,labels:l,toolTexts:M}}},f.gaugebase);f("funnelpyramidbase",{showRTvalue:!1,canvasPadding:!1,sliceOnLegendClick:!0,defaultDatasetType:"funnelpyramidbaseds",applicableDSList:{funnel:!0},hasCanvas:!1,defaultPlotShadow:1,subTitleFontSizeExtender:0,tooltippadding:3,defaultPaletteOptions:k.defaultPaletteOptions,
drawAnnotations:!0,hasLegend:!0,isDataLabelBold:!1,dontShowLegendByDefault:!0,formatnumberscale:1,isSingleSeries:!0,alignCaptionWithCanvas:0,_updateVisuals:function(){var a=this.config,d=this.linkedItems.container,b=this.components,c=b.legend,l=b.paper,M=b.tooltip,h=this.chartInstance,e=this.get("config","animationObj"),m=e.animType,X=e.dummyObj,g=e.animObj,e=e.duration,p;a.animationStarted=!0;l?(a={width:d.offsetWidth,height:d.offsetHeight},p=!0,this._chartAnimation(!0),l.animateWith(X,g,a,e,m)):
(l=b.paper=new s(d,d.offsetWidth,d.offsetHeight),l.setConfig("stroke-linecap","round"));l.tooltip(M.style,M.config.shadow,M.config.constrain);this.setChartCursor();this._createLayers();!p&&this._chartAnimation(!0);this._drawBackground();this._drawChartMenuBar();this._manageCaptionPosition();b.caption&&b.caption.draw();this._drawDataset();!1!==this.hasLegend&&c.drawLegend();this._drawCreditLabel();this._drawLogo();h.annotations&&this._drawAnnotations();this.createChartStyleSheet()}},f.gaugebase);f("funnel",
{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"funnel",applicableDSList:{funnel:!0},useSortedData:!0},f.funnelpyramidbase);f("pyramid",{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"pyramid",applicableDSList:{pyramid:!0},useSortedData:!1},f.funnelpyramidbase);FusionCharts.register("component",["dataset","FunnelPyramidBase",{type:"funnelpyramidbase",pIndex:2,customConfigFn:"_createDatasets",init:function(a){var d=this.utils,b=d.invokeHookFns,
c=this.postInitHook;if(!a)return!1;d.setContext(this);this.JSONData=a;this.components={};this.conf={};this.graphics={};b(c);this.configure()},removeData:function(){},_configure:function(){var a=this.chart,d=a.components.colorManager,b=a.config,c=b.style,l=this.components,M=this.conf||{},h=this.JSONData.data||[],a=a.jsonData?a.jsonData.chart:{},q=this.utils,m=q.invokeHookFns,q=q.copyProperties,X=k.setLineHeight,b=b.canvasHeight,Wa=this.configureSpecifics,p=this.preDrawingHook,ua=d.getColor("baseFontColor");
q(a,M,[["showlabels","showLabels",e,1],["showvalues","showValues",e,1],["plottooltext","toolText",g,""],["enableslicing","enableSlicing",e,1],["plotfillalpha","plotFillAlpha",e,100],["showplotborder","showPlotBorder",e,0],["plotborderalpha","plotBorderAlpha",e,void 0],["plotbordercolor","plotBorderColor",g,void 0],["plotborderthickness","plotBorderThickness",e,1],["showshadow","showShadow",e,1],["showhovereffect","showHoverEffect",e,0],["hovercapsepchar","hoverCapSepChar",g,Ha],["tooltipsepchar",
"tooltipSepChar",g,"$hoverCapSepChar"],["labelsepchar","labelSepChar",g,"$tooltipSepChar"],["showpercentintooltip","showPercentInToolTip",e,1],["showpercentvalues","showPercentValues",e,0],["","slicingDistance",e,.1*b],["slicingdistance","slicingHeight",e,"$slicingDistance",function(a){a.slicingDistance=a.slicingHeight>2*a.slicingDistance?0:a.slicingHeight}],["","blankSpace",e,3],["labeldistance","labelDistance",e,50],["issliced","isSliced",e,0],["is2d","is2d",e,0],["","blankSpace",e,3],["showlabelsatcenter",
"showLabelsAtCenter",e,0],["smartlinethickness","connectorWidth",e,1],["smartlinealpha","connectorAlpha",e,100],["smartlinecolor","rawSmartLineColorCode",g,function(){return d.getColor("baseFontColor")}],["labelalpha","labelAlpha",e,100],["basefontsize","baseFontSize",e,10],["basefontcolor","baseFontColor",g,ua],["labelfontcolor","labelFontColor",g,"$baseFontColor"],["showtooltip","showTooltip",e,1],["percentofprevious","percentOfPrevious",e,0],["animationduration","animationDuration",e,1,function(a){a.animationDuration*=
1E3}]]);M.connectorColor=r(M.rawSmartLineColorCode,M.connectorAlpha);X(c);c.nLineHeight=c.lineHeight.match(/^\d+/)[0];q(c,M,[["","lineHeight",e,M.baseFontSize]]);delete c.nLineHeight;m(Wa);M.showLabels||M.showValues||(M.datalabelDisabled=!0);l.data=this.getNormalizeDataSet(h);m(p)},_checkValidData:function(a){var d=this.chart;return a&&a.length?!0:(d.setChartMessage(),!1)},addLegend:function(){var a=this.chart,d=a.jsonData.chart,b,c=this.JSONData.data,l=a.components.legend;l.emptyItems();for(a=0;a<
c.length;a+=1)b=c[a],b.pseudoPoint||(b.legendItemId=l.addItems(this,void 0,{type:this.type,label:b.label,index:a,enabled:e(d.includeinlegend,1),legendItemId:b.legendItemId}))},getNormalizeDataSet:function(a,d){var b=this.getPointInContext(),c=this.chart,l=this.conf,M=c.components,h=M.numberFormatter,q=this.chart.linkedItems.smartLabel,M=M.colorManager,m,X=[],Wa,p,ua,t=0,D,v,f,z,w,G=0,B,F,x,La,C,u,na=l.showPercentValues,s=l.labelSepChar,Q=c.jsonData.chart,N=l.isSliced,I,H,A,R,V={apply:l.showShadow,
opacity:1},P,S,U=l.plotBorderThickness;Wa=l.dataConnectorStyle={};var Y=c.config.PLOT_COLOR_INDEX_START,ib,$,jb,W;la(P=l.style={},c.config.style);P.borderDash="none";P.borderPadding=2;P.borderRadius=0;P.borderThickness=1;P.color=r(l.labelFontColor,l.labelAlpha);P.fontFamily="Verdana,sans";P.fontSize=l.baseFontSize+"px";P.fontStyle="normal";P.fontWeight="normal";Wa.connectorWidth=l.connectorWidth;Wa.connectorColor=l.connectorColor;ib=this.datasetCalculations(a);p=ib.hasValidPoint;Wa=ib.refreshedData;
t=ib.sumValue;ua=ib.highestValue;if(p)for(l.sumValue=t,p=h.dataLabels(t),D=Wa.length,q.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),c=0;c<D;c+=1){m=Wa[c];$=m.legendItemId;v=m.cleanValue;f=c?Wa[c-1].value:v;z=ea(g(m.label,m.name,E));w=q.getOriSize(z);H=m.alpha||l.plotFillAlpha;jb=g(m.color,M.getPlotColor(Y++));W=r(jb);I=r(jb,H);A=g(m.bordercolor,l.plotBorderColor,L(jb,25)).split(n)[0];R=l.showPlotBorder?g(m.borderalpha,l.plotBorderAlpha,"80"):xa;V.opacity=Math.max(H,R)/100;if(B=e(m.issliced,
N))G+=1,l.preSliced=B;ib.prevPerValReq&&(t=f);F=h.percentValue(v/t*100);l.datalabelDisabled||(x=h.dataLabels(v)||E,La=1===l.showLabels?z:E,C=1===e(m.showvalue,l.showValues)?1===na?F:x:E,u=y(ea(m.displayvalue)),S=g(u,z+s+(na?F:x),E),C=u?u:C!==E&&La!==E?La+s+C:g(La,C)||E);La=y(ea(g(m.tooltext,l.toolText)));void 0!==La?(f={formatedVal:x,name:z,pValue:F,sum:p,sumValue:p,dataValue:v,prevValue:f,highestValue:ua},La=O(La,[1,2,3,7,14,24,25,37],this.getTooltipMacroStub(f),m,Q)):(f=1===l.showPercentInToolTip?
F:x,La=z!==E?z+l.tooltipSepChar+f:f);f=this.pointHoverOptions(m,{color:jb,alpha:H,borderColor:A,borderAlpha:R,borderWidth:U});m={displayValue:C,displayValueArgs:S,style:k.parsexAxisStyles(m,{},Q,P,I),name:z,categoryLabel:z,rawColor:jb,rawAlpha:H,toolText:La,legendCosmetics:void 0,legendItemId:$,showInLegend:void 0,y:v,shadow:V,smartTextObj:w,legendColor:W,color:I,alpha:H,borderColor:r(A,R),borderWidth:U,link:y(m.link),isSliced:B,doNotSlice:!l.enableSlicing,hoverEffects:f.enabled&&f.options,rolloverProperties:f.enabled&&
f.rolloverOptions};X.push(new b(m))}l.noOFSlicedElement=G;return X},datasetCalculations:function(a){var d=this.chart.components.numberFormatter,b,c,l,e,h={refreshedData:[]};h.sumValue=h.countPoint=0;h.highestValue=Number.NEGATIVE_INFINITY;b=0;for(c=a.length;b<c;b++)l=a[b],l.vline||(l.cleanValue=e=Math.abs(d.getCleanValue(l.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(l),h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,h.itemValue)));
return h},pointHoverOptions:function(a,d){var b=this.chart,c=e(a.showhovereffect,this.conf.showHoverEffect),l={enabled:c},M={},h,b=b.jsonData?b.jsonData.chart:{};c||(c=l.enabled=void 0!==g(a.hovercolor,b.plotfillhovercolor,a.hoveralpha,b.plotfillhoveralpha,a.borderhovercolor,b.plotborderhovercolor,a.borderhoverthickness,b.plotborderhoverthickness,a.borderhoveralpha,b.plotborderhoveralpha));if(c){l.highlight=e(a.highlightonhover,b.highlightonhover);l.color=g(a.hovercolor,b.plotfillhovercolor);l.alpha=
g(a.hoveralpha,b.plotfillhoveralpha,d.alpha);l.borderColor=g(a.borderhovercolor,b.plotborderhovercolor,d.borderColor);l.borderThickness=e(a.borderhoverthickness,b.plotborderhoverthickness,d.borderWidth);l.borderAlpha=g(a.borderhoveralpha,b.plotborderhoveralpha,d.borderAlpha);0!==l.highlight&&void 0===l.color&&(l.highlight=1);l.color=g(l.color,d.color).replace(/,+?$/,E);if(1===l.highlight){M=l.color.split(/\s{0,},\s{0,}/);b=M.length;for(h=0;h<b;h+=1)M[h]=L(M[h],70);l.color=M.join(",")}M={color:l.color,
alpha:+l.alpha,borderColor:r(l.borderColor,l.borderAlpha),borderWidth:l.borderThickness}}return{enabled:c,options:l,rolloverOptions:M}},getTooltipMacroStub:function(a){return{formattedValue:a.formatedVal,label:a.name,percentValue:a.pValue,sum:a.sum,unformattedSum:a.sumValue}},preDrawingSpaceManagement:function(){var a=this.getPointInContext(),d=this.chart,b=d.config,c=d.components,l=c.caption.config.height||0,M=c.subCaption.config.height||0,h=this.conf,q=h.slicingDistance,m;m=b.height-(b.marginTop+
b.marginBottom);var X=b.width-(b.marginRight+b.marginLeft),g=this.components.data,p,f;p=h.blankSpace;var t=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,a=a.upperRadiusFactor,D,v,n,z,w,k,B=d.linkedItems.smartLabel,F,x,r,C,y,E,s;y=0;var Q,N=0;F=this.utils.invokeHookFns;y=this.prePointProcessingHookFn;var I=c.legend;b.oriCanvasLeft=d.config.canvasLeft;b.oriBottomSpace=d.config.marginBottom;b.oriTopSpace=d.config.marginTop;c=h._tempSnap={top3DSpace:0,bottom3DSpace:0,topLabelSpace:0,rightLabelSpace:0};m=
Math.min(2*(m-q),X);b.marginTop+=q/2;b.marginBottom+=q/2;q=g.length;p=h.labelDistance+p;f=h.showLabelsAtCenter;D=Math.min(m,.3*X);v=X-D;n=X-D-p;z=0;w=g[0]&&g[0].y?g[0].y:1;k=.8/w;F(y,[g]);F=h.totalValue||0;for(B.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);t<q;t+=1)x=g[t],x.legendItemId&&I.configureItems(x.legendItemId,{configuration:{fillColor:x.legendColor}}),y=x.style,Pa(y),r=e(Ma(parseFloat(y.lineHeight)+y.borderPadding+y.borderThickness),10),B.setStyle(y),y=x.y,f?B.getSmartText(x.displayValue,
X,r):(y=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(F)||y,y=x.getRatioK(y,k,F,w),E=D*y,s=n+(D-E)/2,C=B.getSmartText(x.displayValue,s,r),x.displayValue=C.text,C.tooltext&&(x.originalText=C.tooltext),z=Math.max(z,C.width),0<v&&(C=0<C.width?s-C.width:s+p,y=1/(y+1)*(E+2*C+D),v=Math.min(v,y-D)),F+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal(t):h.offsetVal);"right"===I.config.legendPos?(d.isLegendRight=!0,b.marginRight+=I.config.width):d.isLegendRight=!1;x&&(Q=x.getLowestRadiusFactor(w));
d=D+v;d>m&&(d=m);F=void 0===h.offsetVal?0:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;if(!f)for(t=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,q=g.length;t<q;t+=1)x=g[t],y=x.y,y=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(F)||y,y=x.getRatioK(y,k,F,w),E=d*y,s=n+(D-E)/2,C=B.getSmartText(x.displayValue,s,r),N=u(N,.5*E+C.width+p),F+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;0<z?(c.rightLabelSpace=X-d,g=N-.5*b.canvasWidth,0<g&&(b.marginRight+=
g,b.marginLeft-=g),b.marginRight+=.5*c.rightLabelSpace,b.marginLeft+=.5*c.rightLabelSpace):p=0;h.labelDistance=h.connectorWidth=p;(f||!z)&&m<X&&(b.marginLeft+=.5*(X-m-p),b.marginRight+=.5*(X-m-p));h.is2d||(b.marginTop+=c.top3DSpace=d*h.yScale*a/2,b.marginBottom+=c.bottom3DSpace=d*h.yScale*Q/2);b.gaugeStartX=b.marginLeft;b.gaugeStartY=b.marginTop+(l+M+5);b.gaugeEndX=d+b.marginLeft;b.gaugeEndY=b.canvasHeight+b.marginTop;b.gaugeCenterX=b.gaugeStartX+(b.gaugeEndX-b.gaugeStartX)/2-b.marginLeft/2;b.gaugeCenterY=
b.gaugeStartY+(b.gaugeEndY-b.gaugeStartY)/2;b.plotSemiWidth=(b.canvasWidth-c.rightLabelSpace)/2;b.canvasCenterX=b.oriCanvasLeft+d/2},hide:function(a){var d,b,c;if(a&&0!==a.length)for(d=0,b=a.length;d<b;d++)c=a[d],c.connector&&c.connector.hide(),c.dataLabel&&c.dataLabel.hide(),c.graphic&&c.graphic.hide(),c.trackerObj&&c.trackerObj.hide()},animateElements:function(a,d,b,c,l){function e(){f||(l(),f=!0)}function h(a,b){var d=(b||{}).alpha,d=void 0===d?c.post:{opacity:d};a&&(a.attr(c.pre),a.animateWith(X,
g,d,m,p,e))}var q=this.chart.get("config","animationObj"),m=q.duration,X=q.dummyObj,g=q.animObj,p=q.animType,f=!1,t,D,v,n,z;l=l||function(){};b=b||[];t=0;for(D=a.length;t<D;t++)if(v=a[t])if(b.length)for(n=0,z=b.length;n<z;n++)q=a[t][d][b[n]],h(q,v.point);else q=v,h(q[d],v.point)},drawIndividualDataLabel:function(a,d){var b=this.conf,c=this.components.data,l=a.displayValue,M=a.plot,h=a.labelY,q=a.labelX,m=a.labelAline,X=a.style||{},g=e(parseInt(X.fontSize,10),b.baseFontSize),p=b.lineHeight,f=.3*g,
t=.3*p,g={fontFamily:X.fontFamily,fontSize:X.fontSize,lineHeight:X.lineHeight,fontWeight:X.fontWeight,fontStyle:X.fontStyle,color:X.color},D,v=b.connectorEndSwitchHistoryY,n=b.labelDistance,z=b.blankSpace,w=b.streamLinedData;b.showLabelsAtCenter?(c=0===d&&w?h-t+(c[1].plot.distanceAvailed||0):h-t+(M.distanceAvailed||0),l!==E?M.dataLabel.attr({transform:"t"+q+","+c,"text-anchor":ra[m],text:l,fill:X.color,"font-size":X.fontSize,"text-bound":[X.backgroundColor,X.borderColor,X.borderThickness,X.borderPadding,
X.borderRadius,X.borderDash]}).css(g).show():M.dataLabel&&M.dataLabel.hide()):(t=h-f-a.distributionFactor*p,f=h-f,D=v[a.alignmentSwitch],void 0!==b.lastplotY&&void 0!==D&&D-f<p&&(h=f=D-p),a.displayValue&&(v[a.alignmentSwitch]=f),b.lastplotY=a.plotY,b.labelAlignment===b.alignmentType.alternate?a.alignmentSwitch?(p=q+z+a.virtualWidth,b=p+n+a.distributionFactor*b.globalMinXShift):(p=q-z,b=p-(n-(a.lOverflow||0))-a.distributionFactor*b.globalMinXShift):(p=q-z,b=p-(n-(a.lOverflow||0))-a.distributionFactor*
b.globalMinXShift),"undefined"===typeof l||l===E||0===d&&w?M.connector&&M.connector.hide():(b=["M",b,t,"L",p,f],M.connector.attr({path:b,"shape-rendering":t===f&&1>f?"crisp":""}).show()),c=0===d&&w?h+(c[1].plot.dy||0):f+(M.dy||0),l!==E?M.dataLabel.attr({transform:"t"+q+","+c,"text-anchor":ra[m],text:l,fill:"FF0000","font-size":10,"text-bound":[X.backgroundColor,X.borderColor,X.borderThickness,X.borderPadding,X.borderRadius,X.borderDash]}).css(g).show():M.dataLabel&&M.dataLabel.hide())},drawTracker:function(a){var d=
this.chart,b=d.components.paper,d=d.graphics.trackerGroup,c,l,e=+new Date,h,q;h=a.plot;l=h.trackerObj;h.graphic&&(c=h.graphic.Shapeargs.silhuette,q={link:a.link,value:a.y,displayValue:a.displayValueArgs,categoryLabel:a.categoryLabel,dataIndex:h.index||"",toolText:a.toolText},a.datasetIndex=h.index,l?l.attr({path:c,isTracker:e,fill:Fa,stroke:"none",transform:"t0,"+(h._startTranslateY||0),ishot:!0,cursor:h.cursor}):l=h.trackerObj=b.path(c,d).attr({isTracker:e,fill:Fa,stroke:"none",transform:"t0,"+(h._startTranslateY||
0),ishot:!0,cursor:h.cursor}),l.data("eventArgs",q),l.show())},calculatePositionCoordinate:function(a,d){var b=this.conf,c=b.maxValue,l=b.is2d,e=b.x,h=this.graphics.plotItems||[],q=this.chart,m=q.config,X=m.canvasTop,g=b.unitHeight,p=b.drawingRadius,f=b.labelDistance,t=b.showLabelsAtCenter,D=b.isHollow,v=.3*m.style.fontSize,n=b.yScale,z=b.blankSpace,w=b.lastRadius,k=q.linkedItems.smartLabel,B,F=0,x,r,C=a.length-1,y=!1,u=0,E,s,N=b.lineHeight,I=.8/m.effCanvasHeight,H=q.config.width-2,A=b.streamLinedData;
B={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var R={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var l,e;c.dontPlot||(this.point&&this.sLabel?(l=a(this.point,this.sLabel),e=a(c,d),b(l,e)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},V={},P={},S={},U={},Y=b.slicingGapPosition={};fa.extend(V,B);fa.extend(P,B);V.setAll=function(a,b,c){var d=this.point,l=this.sLabel;this.flag=a;d&&l?(a=d.labelX-(l.oriTextWidth-
l.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};P.setAll=function(a,b,c){var d=this.point,l=this.sLabel;this.flag=a;d&&l?(a=d.labelX+l.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};fa.extend(S,R);fa.extend(U,R);S.set=function(){return R.set.apply(S,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();U.set=function(){return R.set.apply(U,[function(a,b){return a.labelX+
b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;k.useEllipsesOnOverflow(m.useEllipsesWhenOverflow);m=0;for(B=a.length;m<B;m++)if(x=a[m])x.x=m,h[m]&&(x.isSliced=h[m].sliced||!!x.isSliced||!!b.isSliced),m?(d&&(y=!y),x.isSliced&&(s=x.x,1<s&&!Y[s]&&(Y[s]=!0,b.noOfGap+=1),s<C&&(Y[s+1]=!0,b.noOfGap+=1)),A?(s=1==b.useSameSlantAngle?c?p*x.y/c:p:c?p*Za(x.y/c):p,r=g*(a[m-1].y-x.y)||1):(F+=r=g*a[m].y,s=p*(1-F*I)),x.shapeArgs={x:e,y:X,R1:w,R2:s,h:r||1,r3dFactor:n,isHollow:D,gStr:"point",is2D:l,
renderer:q.components.paper,isFunnel:!0},k.setStyle(x.style),x.oriText=x.displayValue,E=E=k.getSmartText(x.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),t?(x.labelAline="middle",x.labelX=e,x.labelY=(l?X:X+n*w)+r/2+v):(x.labelAline="start",x.alignmentSwitch=y,x.distributionFactor=x.distributionFactor||0,y?(x.labelX=e-(f+s+z+E.width),x.labelX-=x.distributionFactor*b.globalMinXShift,S.set(x,E)):(x.labelX=e+f+s+z,x.labelX+=x.distributionFactor*b.globalMinXShift,U.set(x,E)),u=x.distributionFactor*
N,x.labelY=X+v+r+u),d&&(y&&0>x.labelX?(w=x.labelX+E.width,w=k.getSmartText(x.displayValue,w,Number.POSITIVE_INFINITY,!0),x.labelX=2,x.isLabelTruncated=!0,x.displayValue=w.text,x.virtualWidth=w.maxWidth,V.setAll(!0,x,w)):!y&&x.labelX+E.width>H&&(w=k.getSmartText(x.displayValue,H-x.labelX,Number.POSITIVE_INFINITY,!0),x.isLabelTruncated=!0,x.displayValue=w.text,x.virtualWidth=w.maxWidth,P.setAll(!0,x,w))),x.pWidth=x.virtualWidth=x.virtualWidth||E.width,X+=r,w=s):(x.oriText=x.displayValue,s=1==b.useSameSlantAngle?
c?p*x.y/c:p:c?p*Za(x.y/c):p,x.labelWidth>2*s&&!d?(x.labelAline="start",x.labelX=0):(x.labelAline="middle",x.labelX=e),r=2*f,x.displayValue=k.getSmartText(x.displayValue,2*s+r,Number.POSITIVE_INFINITY,!0).text,x.labelY=(l?X:X-n*w)-v-z),x.plotX=e,x.plotY=X;this.findBestPosition.call(this,a,{lTrimmedInfo:V,rTrimmedInfo:P,lLargestLabel:S,rLargestLabel:U})},findBestPosition:function(a,d){var b=this.conf,c=this.chart,l=c.config,e=0,h=d.lTrimmedInfo,q=d.rTrimmedInfo,m=d.lLargestLabel,X=d.rLargestLabel,g=
c.linkedItems.smartLabel,p=0,f=b.streamLinedData,t=b.blankSpace,b=l.width-b.blankSpace;if(!h.flag||!q.flag){if(q.flag){if(!m.point)return;e=q.sLabel;e=e.oriTextWidth-e.width;m=m.point.labelX-t;e=-Math.ceil(Math.min(e,m))}else if(h.flag){if(!X.point)return;e=h.sLabel;e=e.oriTextWidth-e.width;m=b-(X.point.labelX+X.sLabel.width);e=Math.ceil(Math.min(e,m))}if(e)for(m=0,X=a.length;m<X;m++)l=a[m],!m&&f?l.labelX+=e:(l.alignmentSwitch?(c=0>e?g.getSmartText(l.oriText,l.pWidth,Number.POSITIVE_INFINITY,!0):
g.getSmartText(l.oriText,l.pWidth+e,Number.POSITIVE_INFINITY,!0),l.isLabelTruncated&&(p=c.width-l.pWidth)):c=0<e?g.getSmartText(l.oriText,l.pWidth,Number.POSITIVE_INFINITY,!0):g.getSmartText(l.oriText,l.pWidth-e,Number.POSITIVE_INFINITY,!0),l.virtualWidth=c.width,l.displayValue=c.text,l.labelX+=e-p,l.shapeArgs&&(l.shapeArgs.x+=e),p=0);else for(g.useEllipsesOnOverflow(l.useEllipsesWhenOverflow),m=0,X=a.length;m<X;m++)l=a[m],0<(p=l.labelX+l.pWidth-b)&&(l.lOverflow=p,l.labelX-=p,c.isLegendRight?l.displayValue=
g.getSmartText(l.oriText,l.pWidth-p,Number.POSITIVE_INFINITY,!0).text:(l.lOverflow=p,l.labelX-=p))}},getPlotData:function(a){var d=this.components.data[a],b=this.userData||(this.userData=[]),c="y name color alpha borderColor borderWidth link label displayValue datasetIndex toolText".split(" "),l;if(b[a])a=b[a];else{a=b[a]={};for(b=0;b<c.length;b++)a[l=c[b]]=d[l];a.value=a.y;a.label=a.name;delete a.y;delete a.name}return a},pyramidFunnelShape:function(){var a={y:!0,R1:!0,R2:!0,h:!0,r3dFactor:!0,color:!0,
opacity:!0,fill:!0,stroke:!0,strokeColor:!0,strokeAlpha:!0,"stroke-width":!0},d=function(a,b,c,d,l,e,p,g,t,f,v){"object"===typeof a&&(b=a.y,c=a.R1,d=a.R2,l=a.h,e=a.r3dFactor,p=a.is2D,f=a.isHollow,t=a.isFunnel,a=a.x);g=a-c;v=a+c;var n=a-d,z=a+d,w=b+l,k,B;if(p)k={silhuette:["M",g,b,"L",v,b,z,w,n,w,"Z"]},t||(a=Math.round(a),k.lighterHalf=["M",g,b,"L",a,b,a,w,n,w,"Z"],k.darkerHalf=["M",a,b,"L",v,b,z,w,a,w,"Z"]);else if(t){n=a;z=b;b=c||.01;v=d||.01;a=f;g=b*e;e*=v;l=z+l;w=aa(v,2)-aa(b,2);c=-2*(aa(v,2)*
z-aa(b,2)*l);d=aa(b*e,2)+aa(v*z,2)-aa(v*g,2)-aa(b*l,2);f=Za(aa(c,2)-4*w*d);d=(-c+f)/(2*w);w=(-c-f)/(2*w);d<l&&d>z?B=w:w<l&&w>z&&(B=d);d=Za((aa(B-z,2)-aa(g,2))/aa(b,2));c=-d;w={x:Ka(aa(b,2)*d/(B-z)*100)/100,y:Ka(100*(aa(g,2)/(B-z)+z))/100};d={x:Ka(aa(v,2)*d/(B-l)*100)/100,y:Ka(100*(aa(e,2)/(B-l)+l))/100};f={x:Ka(aa(b,2)*c/(B-z)*100)/100,y:Ka(100*(aa(g,2)/(B-z)+z))/100};B={x:Ka(aa(v,2)*c/(B-l)*100)/100,y:Ka(100*(aa(e,2)/(B-l)+l))/100};w={topLeft:f,bottomLeft:B,topRight:w,bottomRight:d};for(k in w)if(isNaN(w[k].x)||
isNaN(w[k].y))w[k].x="topLeft"===k||"bottomLeft"===k?-b:b,w[k].y="bottomRight"===k||"bottomLeft"===k?l:z;l=w.topLeft;c=w.bottomLeft;k=n+l.x;B=n+w.topRight.x;z=n+c.x;n+=w.bottomRight.x;l=l.y;c=c.y;w=["A",b,g,0,0,0,B,l];d=["A",b,g,0,1,1,B,l];f=["A",v,e,0,0,1,z,c];v=["A",v,e,0,1,0,z,c];v={front:["M",k,l].concat(w,["L",n,c],f,["Z"]),back:["M",k,l].concat(d,["L",n,c],v,["Z"]),silhuette:["M",k,l].concat(d,["L",n,c],f,["Z"])};a||(v.top=["M",k,l].concat(w,["L",B,l],["A",b,g,0,1,0,k,l],["Z"]));k=v}else k=
c*e,B=d*e,l=oa(5,c),c=oa(2,2*k),d=oa(2,c),e=d/e,k={top:["M",g,b,"L",a,b+k,v,b,a,b-k,"Z"],front:["M",g,b,"L",a,b+k,v,b,z,w,a,w+B,n,w,"Z"],topLight:["M",g,b+.5,"L",a,b+k+.5,a,b+k-c,g+e,b,"Z"],topLight1:["M",v,b+.5,"L",a,b+k+.5,a,b+k-d,v-e,b,"Z"],silhuette:["M",g,b,"L",a,b-k,v,b,z,w,a,w+B,n,w,"Z"],centerLight:["M",a,b+k,"L",a,w+B,a-5,w+B,a-l,b+k,"Z"],centerLight1:["M",a,b+k,"L",a,w+B,a+5,w+B,a+l,b+k,"Z"]};return k},b=function(b,c){var l,m,g=this,f,p,k=!1,t=!1,D=this._3dAttr,v;Na(b)&&qa(c)&&(l=b,b={},
b[l]=c);if(Na(b))g=a[b]?this._3dAttr[b]:this._attr(b);else{for(l in b)m=b[l],a[l]?(D[l]=m,"fill"===l?(m&&m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),cb.test(m)?(p=new Va(m),f=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(f=m.FCcolor.color.split(n)[0],p=m.FCcolor.opacity.split(n)[0]):Sa.test(m)&&(f=m.replace(Oa,$a),p=e(D.opacity,100)),D.color=f,D.opacity=p,t=!0):"color"===l||"opacity"===l?(D.fill=W(r(D.color,e(D.opacity,100))),t=!0):"stroke"===l||"strokeColor"===l||"strokeAlpha"===l?D.is2D&&
("stroke"===l?(m&&m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),cb.test(m)?(p=new Va(m),f=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(f=m.FCcolor.color.split(n)[0],p=m.FCcolor.opacity.split(n)[0]):Sa.test(m)&&(f=m.replace(Oa,$a),p=e(D.opacity,100)),D.strokeColor=f,D.strokeAlpha=p):D.stroke=r(D.strokeColor,e(D.strokeAlpha,100)),D.isFunnel?this.funnel2D.attr("stroke",D.stroke):this.borderElement.attr("stroke",D.stroke)):"stroke-width"===l?D.is2D&&(D.isFunnel?this.funnel2D.attr(l,m):this.borderElement.attr(l,
m)):k=!0):this._attr(l,m);D.is2D?(k&&(f=d(D.x,D.y,D.R1,D.R2,D.h,D.r3dFactor,D.is2D),g.shadowElement.attr({path:f.silhuette}),D.isFunnel?g.funnel2D.attr({path:f.silhuette}):(g.lighterHalf.attr({path:f.lighterHalf}),g.darkerHalf.attr({path:f.darkerHalf}),g.borderElement.attr({path:f.silhuette}))),t&&(D.isFunnel?g.funnel2D.attr("fill",W(r(D.color,e(D.opacity,100)))):(!1===D.use3DLighting?f=p=D.color:(f=ka(D.color,80),p=L(D.color,80)),g.lighterHalf.attr("fill",W(r(p,e(D.opacity,100)))),g.darkerHalf.attr("fill",
W(r(f,e(D.opacity,100))))))):(k&&(f=d(D.x,D.y,D.R1,D.R2,D.h,D.r3dFactor,D.is2D),g.shadowElement.attr("path",f.silhuette),D.isFunnel?(g.front.attr("path",f.front),g.back.attr("path",f.back),g.toptop&&f.top&&g.toptop.attr("path",f.top)):(g.front.attr("path",f.front),g.toptop.attr("path",f.top),g.topLight.attr("path",f.topLight),g.topLight1.attr("path",f.topLight1),g.centerLight.attr("path",f.centerLight),g.centerLight1.attr("path",f.centerLight1))),t&&(f=D.color,p=D.opacity,D.isFunnel?(t=L(f,60),k=
ka(f,60),g.back.attr("fill",W({FCcolor:{color:k+n+t+n+f,alpha:p+n+p+n+p,ratio:"0,60,40",angle:0}})),g.front.attr("fill",W({FCcolor:{color:f+n+t+n+k,alpha:p+n+p+n+p,ratio:"0,40,60",angle:0}})),g.toptop&&g.toptop.attr("fill",W({FCcolor:{color:t+n+k,alpha:p+n+p,ratio:"0,100",angle:-65}}))):(t=L(f,80),l=L(f,70),k=ka(f,80),m="0,"+p,v=f+n+l,D=5/(D.R1*D.r3dFactor)*100,g.centerLight.attr("fill",W({FCcolor:{color:v,alpha:m,ratio:"0,100",angle:0}})),g.centerLight1.attr("fill",W({FCcolor:{color:v,alpha:m,ratio:"0,100",
angle:180}})),g.topLight.attr("fill",W({FCcolor:{color:l+n+l+n+f+n+f,alpha:p+n+p+n+0+n+0,ratio:"0,50,"+D+n+(50-D),angle:-45}})),g.topLight1.attr("fill",W({FCcolor:{color:l+n+f+n+k,alpha:p+n+p+n+p,ratio:"0,50,50",angle:0}})),g.front.attr("fill",W({FCcolor:{color:f+n+f+n+k+n+k,alpha:p+n+p+n+p+n+p,ratio:"0,50,0,50",angle:0}})),g.toptop.attr("fill",W({FCcolor:{color:t+n+f+n+k+n+k,alpha:p+n+p+n+p+n+p,ratio:"0,25,30,45",angle:-45}})))))}return g},c=function(){var a=this.shadowElement;c&&a.shadow.apply(a,
arguments)},l=function(a,b,c){var d=a.chart.get("config","animationObj"),l=d.duration,e=d.dummyObj,g=d.animObj,f=d.animType;return function(d,m,k){if(d=c[d])return d.animateWith(e,g,{path:m},l,f,a.postPlotCallback);k=k||ma;a.postPlotCallback();return b.path(m,c).attr(k)}};return function(a,h,q,m,g,f,p,k,t,n,v,r){var z=this.chart.graphics.datasetGroup,w;"object"===typeof a&&(h=a.y,q=a.R1,m=a.R2,g=a.h,f=a.r3dFactor,p=a.gStr,k=a.is2D,r=a.use3DLighting,t=a.renderer,v=a.isHollow,n=a.isFunnel,w=a.graphics,
a=a.x);f=e(f,.15);a={x:a,y:h,R1:q,R2:m,h:g,r3dFactor:f,is2D:k,use3DLighting:r,isHollow:v,isFunnel:n,renderer:t};h=d(a);q="silhuette lighterHalf darkerHalf centerLight centerLight1 front toptop topLight topLight1 shadowElement funnel2D back".split(" ");if(w){if(m=w._3dAttr,m.isFunnel!==a.isFunnel||m.is2D!==a.is2D||m.isHollow!==a.isHollow)for(g=0,v=q.length;g<v;g++)if(f=q[g],m=w[f])delete w[f],m.remove()}else w=void 0;p=w||t.group(p,z);p.toFront();p.Shapeargs=h;t=l(this,t,p,"easeIn");p.shadowElement=
t("shadowElement",h.silhuette,{fill:Fa,stroke:"none"});p._attr=p._attr||p.attr;p.attr=b;p.shadow=c;p._3dAttr=a;n?k?p.funnel2D=t("funnel2D",h.silhuette):(p.back=t("back",h.back,{"stroke-width":0,stroke:"none"}),p.front=t("front",h.front,{"stroke-width":0,stroke:"none"}),h.top&&(p.toptop=t("toptop",h.top,{"stroke-width":0,stroke:"none"}))):k?(p.lighterHalf=t("lighterHalf",h.lighterHalf,{"stroke-width":0}),p.darkerHalf=t("darkerHalf",h.darkerHalf,{"stroke-width":0}),p.borderElement=t("borderElement",
h.silhuette,{fill:Fa,stroke:"none"})):(p.front=t("front",h.front,{"stroke-width":0}),p.centerLight=t("centerLight",h.centerLight,{"stroke-width":0}),p.centerLight1=t("centerLight1",h.centerLight1,{"stroke-width":0}),p.toptop=t("toptop",h.top,{"stroke-width":0}),p.topLight=t("topLight",h.topLight,{"stroke-width":0}),p.topLight1=t("topLight1",h.topLight1,{"stroke-width":0}));return p}}(),utils:function(){function a(){var b=[],d=0;this.set=function(a,e){d++;b[a]=e};this.get=function(a){return b[a]};
this.getAll=function(){return b};this.mergeWith=function(d){var l,e,m=b.slice(0);if(!(d instanceof Array))if(d instanceof a)d=d.getAll();else return;for(l in d)e=d[l],m[l]||(m[l]=e);return m};this.getEffectiveLength=function(){return d}}function d(a){this.distributionLength=a;this.distributedMatrix=[];this.altDistributedMatrix=[];this.nonDistributedMatrix={};this.forcePushObj={};this.flags={exhaustion:!1}}var b;a.prototype.constructor=a;d.prototype.constructor=d;d.prototype.push=function(a,b){this.nonDistributedMatrix[b]=
this.nonDistributedMatrix[b]||[];this.nonDistributedMatrix[b].push(a)};d.prototype.forcePush=function(a,b){this.forcePushObj[b]=a};d.prototype.distribute=function(c){var d=b,e=!0,h=new a,q=new a,m=new a,g=new a,f=this.flags,p,k,t,n,v,r=0,z=d.components.data;if(c){if(0<z.length-this.distributionLength)for(k in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[k],n=1;n<d.length;n++)v=d[n],v.dontPlot=!0,v.displayValue=""}else if(0<z.length-2*this.distributionLength)for(k in this.nonDistributedMatrix)for(d=
this.nonDistributedMatrix[k],n=1;n<d.length-1;n++)v=d[n],v.dontPlot=!0,v.displayValue="";if(z.length>this.distributionLength&&!c){f.exhaustion=!0;for(k in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[k],n=0,c=d.length;n<c;n++)v=d[n],v.dontPlot?e?p=m:p=g:(e?p=h:p=q,p.getEffectiveLength()>parseInt(k,10)?v.distributionFactor=p.getEffectiveLength()-1-k:v.distributionFactor=0),p.set(r++,v),e=!e;this.distributedMatrix=h.mergeWith(m);this.altDistributedMatrix=q.mergeWith(g)}else{for(t in this.nonDistributedMatrix)for(d=
this.nonDistributedMatrix[t],n=0,c=d.length;n<c;n++)v=d[n],v.dontPlot?p=m:(p=h,p.getEffectiveLength()>parseInt(t,10)?v.distributionFactor=p.getEffectiveLength()-1-t:v.distributionFactor=0),p.set(r++,v);this.distributedMatrix=h.mergeWith(m)}};d.prototype.getDistributedResult=function(){var a=b,d=a.chart,e=d.components.legend,h=a.conf.alignmentType,a=[],q=e&&"right"===e.align&&1||0;e.width||(q=0);d.isLegendRight=q;this.distribute(q);q?(d=h["default"],a.push(this.distributedMatrix)):(d=this.flags.exhaustion?
h.alternate:h["default"],this.flags.exhaustion?[].push.call(a,this.distributedMatrix,this.altDistributedMatrix):a.push(this.distributedMatrix));return{forceMatrix:this.forcePushObj,suggestion:d,matrix:a}};return{DistributionMatrix:d,setContext:function(a){b=a},invokeHookFns:function(){var a,d=[],e=b;switch(arguments.length){case 3:e=arguments[2];case 2:d=arguments[1];case 1:a=arguments[0];break;default:return}a&&"function"===typeof a&&a.apply(e,d)},copyProperties:function(a,d,e){function h(a){return"string"===
typeof a&&0===a.indexOf("$")?(a=a.substring(1),d[a]):"function"===typeof a?a.call(b,d):a}var q,m,g,f,p,k,t,n=function(){};q=0;for(m=e.length;q<m;q++)g=e[q],f=g[0],p=g[1],k=g[2],t=h(g[3]),g=g[4]||n,d[p]=k(a[f],t),g(d)},sortObjArrByKey:function(a,b){return a.sort(function(a,c){return Math.abs(c[b])-Math.abs(a[b])})},getSumValueOfObjArrByKey:function(a,b){var d,e,q=0;d=0;for(e=a.length;d<e;d++)q+=parseFloat(a[d][b],10);return q}}}(),slice:function(a,d,b,c){d=this.plotItem;var l=this.datasetStore,e=l.chart,
h=e.get("config","animationObj");b=h.duration;var q=h.dummyObj,m=h.animObj,h=h.animType,g=l.conf,f=g.slicingDistance/2,p=0,k=0,n=l.graphics.plotItems,D=n.length,v,r,z,w,G;d&&ya.call(d.trackerObj,e,a,"dataplotclick");if(!g.sliceLock)for(g.sliceLock=1,c=d.sliced=qa(c)?c:!d.sliced,w=-f,G=function(){return function(){g.sliceLock=0;fa.raiseEvent("SlicingEnd",{slicedState:c,data:l.getPlotData(z)},e.chartInstance)}},p=0;p<D;p+=1)a=n[p],a!==d?r=a.sliced=!1:(r=!0,z=p),a.graphic&&(v=a.dy,v=-v,c&&(a.x<d.x?(v+=
w,k+=1):a.x==d.x?k?p==D-1&&(v+=.5*f):v+=.5*-f:v+=f),a.graphic.attr({transform:"t0,"+a.dy}),a.dy+=v,v={transform:"...t0,"+v},r&&fa.raiseEvent("SlicingStart",{slicedState:!c,data:l.getPlotData(z)},e.chartInstance),a.graphic.animateWith(q,m,v,b,h,r&&G(c,z)),a.dataLabel&&a.dataLabel.animateWith(q,m,v,b,h),a.connector&&a.connector.animateWith(q,m,v,b,h),a.trackerObj&&a.trackerObj.animateWith(q,m,v,b,h),1==p&&!n[0].graphic&&n[0].dataLabel&&n[0].dataLabel.animateWith(q,m,v,b,h))},legendClick:function(a){this.slice.call(a)},
getEventArgs:function(a){a=this.components.data[a.configuration.index]||{};return{alpha:a.alpha,value:a.y,color:a.color,borderColor:a.borderColor,borderWidth:a.borderWidth,link:a.link,displayValue:a.displayValue,datasetIndex:a.datasetIndex,toolText:a.toolText,label:a.categoryLabel}}}]);FusionCharts.register("component",["dataset","Funnel",{type:"funnel",LABEL_PLACEMENT_ITERATOR_INDEX_START:1,configure:function(){var a=this.chart,d=a.components.numberFormatter,b=this.utils.sortObjArrByKey,c=a.jsonData?
a.jsonData.chart:{},a=this.JSONData.data,l,e,h;if(this._checkValidData(a)){l=0;for(h=a.length;l<h;l++)(e=a[l])&&void 0!==e.value&&(e.value=d.getCleanValue(e.value,!0));d=+(void 0===c.streamlineddata?1:c.streamlineddata);this.JSONData.data=d?b(a,"value"):a;d&&(a[0].pseudoPoint=!0);this.addLegend()}},configureSpecifics:function(){var a=this.chart,d=this.conf,b=this.utils.copyProperties;b(a.jsonData?a.jsonData.chart:{},d,[["streamlineddata","streamLinedData",e,1],["funnelyscale","yScale",e,void 0,function(a){var b=
a.yScale;a.yScale=0<=b&&40>=b?b/200:.2}],["usesameslantangle","useSameSlantAngle",e,function(a){return a.streamLinedData?0:1}],["ishollow","isHollow",e,void 0,function(a){void 0===a.isHollow&&(a.isHollow=a.streamLinedData?1:0)}]]);a.config.PLOT_COLOR_INDEX_START=d.streamLinedData?-1:0},preDrawingHook:function(){var a=this.components.data,d=this.conf;d.streamLinedData||a.splice(0,0,{displayValue:"",y:d.sumValue})},prePointProcessingHookFn:function(a){var d=this.chart,b=d.config,c=this.conf,l=b.canvasWidth,
e=d.linkedItems.smartLabel,h=!c.streamLinedData,q,m;(q=a[0])&&(q.pseudoPoint=!0);q&&q.displayValue&&(e.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow),e.setStyle(q.style),Pa(q.style),d=parseFloat(q.style.lineHeight.match(/^\d+/)[0]||c.lineHeight,10),m=e.getOriSize(q.displayValue).height,l=e.getSmartText(q.displayValue,l,m),q.displayValue=l.text,l.tooltext&&(q.originalText=l.tooltext),q.labelWidth=e.getOriSize(l.text).width,b.marginTop+=d+4);c.totalValue=h?a[0].y-a[1].y:0;c.offsetVal=function(b){return h?
-(a[b+1]&&a[b+1].y||0):q.y}},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.legendItemId=a.legendItemId;this.name=a.name;this.alpha=a.alpha;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.legendColor=
a.legendColor;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=1;a.prototype.getModifiedCurrentValue=function(){};a.prototype.getRatioK=function(a,c,l,e){a=d.conf;var h=a.useSameSlantAngle;return a.streamLinedData?this.y?h?this.y/e:Math.sqrt(this.y/e):1:.2+c*l};a.prototype.getLowestRadiusFactor=function(a){var c=
d.conf,l=c.useSameSlantAngle;return c.streamLinedData?this.y?l?this.y/a:Math.sqrt(this.y/a):1:.2};return a},datasetCalculations:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c,l,e,h={},q=d.streamLinedData,m=d.percentOfPrevious;h.highestValue=Number.NEGATIVE_INFINITY;h.refreshedData=[];d=h.sumValue=h.countPoint=0;for(c=a.length;d<c;d++)l=a[d],l.vline||(l.cleanValue=e=Math.abs(b.getCleanValue(l.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(l),
h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,e)));q&&(h.sumValue=h.highestValue,m&&(h.prevPerValReq=!0));return h},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,l=a.utils,e=l.getSumValueOfObjArrByKey,h=l.DistributionMatrix,q=a.calculatePositionCoordinate,m=b.marginTop,g=b.marginBottom,l=a.components.data,f,p,k,n=d.graphics.datalabelsGroup,D=c.streamLinedData,v,r=2;f=l.length;var z=c.maxValue=l[0].y;k=c.minValue=l[f-1].y;var w=v=0,G=c.lineHeight,
B=Math.floor,F=Math.min,x,y=a.graphics.plotItems,C=[],s;if(c.sumValue&&(a.preDrawingSpaceManagement(),a.hide(a.graphics.plotItems),a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}},a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}},a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}},a.animateFunction=function(a){return function(){d._animCallBack();
a.attr({opacity:1})}},a.postPlotCallback=function(){},b.canvasTop+=b.marginTop-m,b.effCanvasHeight=v=b.canvasHeight-(b.marginTop+b.marginBottom)+(m+g),b.effCanvasWidth=m=b.width-(b.marginLeft+b.marginRight),p=c.drawingRadius=m/r,c.x=p+b.canvasLeft,r=c.slicingDistance,g=r/2,!(D&&2>f))){D?(k=v/(z-k),z=(e=e(l,"value"))?v/e:v):z=k=z?v/z:v;c.unitHeight=k;c.lastRadius=p;c.globalMinXShift=0;e=c.alignmentType={};e["default"]=1;e.alternate=2;k=new h(B(v/G));for(h=0;h<f;h++)p=l[h],!D&&0===h||!D&&h===f-1?k.forcePush(p,
h):(v=p.y*z,w+=p.y*z,v=w-v+v/2,v=B(v/G),k.push(p,v));D=k.getDistributedResult();l.length=0;if(void 0===D.matrix[1])[].push.apply(l,D.matrix[0]);else for(w=D.matrix[0],G=D.matrix[1],f=Math.max(w.length,G.length),h=0;h<f;h++)v=w[h],B=G[h],l.push(v?v:B);w=Object.keys(D.forceMatrix);if(0<w.length)for(x in D.forceMatrix)[].splice.apply(l,[parseInt(x,10),0].concat(D.forceMatrix[x]));switch(D.suggestion){case e["default"]:q.call(a,l,!1);break;case e.alternate:c.labelAlignment=e.alternate,p=m/3,b.canvasLeft=
b.canvasWidth/2-p,c.x=b.canvasLeft+p,q.call(a,l,!0)}if(b=c.noOfGap)c.perGapDistance=F(1.5*g,r/b),c.distanceAvailed=g;n.trackTooltip(!0);h=l.length;y||(a.graphics.plotItems=[]);n.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){s||(s=!0,a.animateFunction(n)())});for(;h--;)C.push(a.drawIndividualPlot(l[h],h));!c.alreadyPlotted&&a.animateElements(C,"graphic",[],{pre:{opacity:mb},post:{opacity:100}},a.animateFunction(n));c.connectorEndSwitchHistoryY={};for(h=l.length;h--;)l[h].plot||
(l[h].plot=y[h]),a.drawIndividualDataLabel(l[h],h);for(h=l.length;h--;)a.drawTracker(l[h],h);c.alreadyPlotted=!0}},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,l=a.y,e=a.displayValue,h=b.isSliced,g={},m=this.components.data,f=this.chart,k=f.graphics,p=k.datalabelsGroup,n=k.trackerGroup,t,D=b.showLabelsAtCenter,v=f.components.paper,r=!!a.link,k=b.distanceAvailed,z=f.components.legend,f=f.get("config","animationObj").duration;t=h?1:a.isSliced;if(null!==l&&void 0!==l&&a.shapeArgs)return(h=
c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=f,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=f,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:v.text(p),trackerObj:v.path(n)},D&&0===d&&b.streamLinedData||(h.connector=v.path(p))),b.showTooltip?
h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=l,h.displayValue=e,h.sliced=!!t,h.cursor=r?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:e,ishot:!0,direction:"",cursor:r?"pointer":"",x:0,y:0}).css(g).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:r?"pointer":""}),z.configureItems(m[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,
plotItem:h})}),c=l={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},l=a.rolloverProperties,l={color:l.color,opacity:l.alpha,"stroke-width":l.borderWidth,stroke:l.borderColor}),e={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,e),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,l),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,e),h.dataLabel.hover(this.rolloverResponseSetter(h,
l),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(k&&(h._startTranslateY=c="t0,"+k,h.dy=h.distanceAvailed=k,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h&&(h.point=a),h;a.plot=c[d]?c[d]:c[d]={dataLabel:v.text(p).attr({text:e,direction:"",x:0,y:0}).css(g)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&
(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);FusionCharts.register("component",["dataset","Pyramid",{type:"pyramid",LABEL_PLACEMENT_ITERATOR_INDEX_START:0,configure:function(){this._checkValidData(this.JSONData.data)&&this.addLegend()},configureSpecifics:function(){var a=this.chart,d=this.utils.copyProperties;
d(a.jsonData?a.jsonData.chart:{},this.conf,[["pyramidyscale","yScale",e,void 0,function(a){var c=a.yScale;a.yScale=0<=c&&40>=c?c/200:.2}],["use3dlighting","use3DLighting",e,1]]);a.config.PLOT_COLOR_INDEX_START=0},preDrawingHook:function(){},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,e=a.utils.DistributionMatrix,g=a.calculatePositionCoordinate,h=b.marginTop,q=b.marginBottom,m=a.components.data,f,k,p,n=d.graphics.datalabelsGroup,t,D=2,v=m.length,r,z=r=0,w=c.lineHeight,
G=Math.floor,B=Math.min,F,x=a.graphics.plotItems,y=[],C;if(c.sumValue){a.preDrawingSpaceManagement();a.hide(a.graphics.plotItems);a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}};a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}};a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}};a.animateFunction=function(a){return function(){d._animCallBack();a.attr({opacity:1})}};
a.postPlotCallback=function(){};b.canvasTop+=b.marginTop-h;b.effCanvasHeight=f=b.canvasHeight-(b.marginTop+b.marginBottom)+(h+q);b.effCanvasWidth=h=b.width-(b.marginLeft+b.marginRight);t=c.drawingRadius=h/D;c.x=t+b.canvasLeft;D=c.slicingDistance;q=D/2;t=Math.atan(h/2/f);c.unitHeight=p=f/c.sumValue;c.lastRadius=0;c.globalMinXShift=Math.floor(w/Math.cos(t));t=c.alignmentType={};t["default"]=1;t.alternate=2;F=new e(G(f/w));e=0;for(f=v;e<f;e++)k=m[e],r=k.y*p,z+=k.y*p,r=z-r+r/2,r=G(r/w),F.push(k,r);z=
F.getDistributedResult();m.length=0;if(void 0===z.matrix[1])[].push.apply(m,z.matrix[0]);else for(w=z.matrix[0],G=z.matrix[1],f=Math.max(w.length,G.length),e=0;e<f;e++)r=w[e],p=G[e],m.push(r?r:p);switch(z.suggestion){case t["default"]:g.call(a,m,!1);break;case t.alternate:c.labelAlignment=t.alternate,c.drawingRadius=t=h/3,b.canvasLeft=b.canvasWidth/2-t,c.x=b.canvasLeft+t,g.call(a,m,!0)}if(b=c.noOfGap)c.perGapDistance=B(1.5*q,D/b),c.distanceAvailed=q;n.trackTooltip(!0);e=m.length;x||(x=a.graphics.plotItems=
[]);n.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){C||(C=!0,a.animateFunction(n)())});for(;e--;)y.push(a.drawIndividualPlot(m[e],e));!c.alreadyPlotted&&a.animateElements(y,"graphic",[],{pre:{opacity:mb},post:{opacity:100}},a.animateFunction(n));x.splice(v,x.length-v);c.connectorEndSwitchHistoryY={};for(e=m.length;e--;)m[e].plot||(m[e].plot=x[e]),a.drawIndividualDataLabel(m[e],e);for(e=m.length;e--;)a.drawTracker(m[e],e);c.alreadyPlotted=!0}},calculatePositionCoordinate:function(a,
d){var b=this.conf,c=b.is2d,e=b.x,g=this.graphics.plotItems||[],h=this.chart,q=h.config,m=q.canvasTop,f=b.unitHeight,k=b.labelDistance,p=b.showLabelsAtCenter,n=.3*q.style.fontSize,t=b.yScale,D=b.blankSpace,v=b.lastRadius,r=h.linkedItems.smartLabel,z,w,G,B=a.length-1,F=!1,x=0,y,C,s=b.lineHeight,E=0;z={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var u={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var e,l;c.dontPlot||(this.point&&
this.sLabel?(e=a(this.point,this.sLabel),l=a(c,d),b(e,l)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},A={},N={},I={},H={},T=h.config.width-2,R=b.slicingGapPosition={};fa.extend(A,z);fa.extend(N,z);A.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=d.labelX-(e.oriTextWidth-e.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};N.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=
d.labelX+e.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};fa.extend(I,u);fa.extend(H,u);I.set=function(){return u.set.apply(I,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();H.set=function(){return u.set.apply(H,[function(a,b){return a.labelX+b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;r.useEllipsesOnOverflow(q.useEllipsesWhenOverflow);q=0;for(z=a.length;q<z;q++)if(w=a[q])w.x=q,g[q]&&(w.isSliced=g[q].sliced||
!!w.isSliced||!!b.isSliced),d&&(F=!F),w.isSliced&&((G=w.x)&&!R[G]&&(R[G]=!0,b.noOfGap+=1),G<B&&(R[G+1]=!0,b.noOfGap+=1)),r.setStyle(w.style),w.oriText=w.displayValue,y=y=r.getSmartText(w.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),E+=w.y,C=b.drawingRadius*E/b.sumValue,G=f*w.y,w.shapeArgs={x:e,y:m,R1:v,R2:C,h:G,r3dFactor:t,gStr:"point",is2D:c,use3DLighting:!!b.use3DLighting,renderer:h.components.paper},p?(w.labelAline="middle",w.labelX=e,w.labelY=(c?m:m+t*v)+G/2+n):(w.labelAline=
"start",w.alignmentSwitch=F,w.distributionFactor=w.distributionFactor||0,F?(w.labelX=e-(k+(C+v)/2+D+y.width),w.labelX-=w.distributionFactor*b.globalMinXShift,I.set(w,y)):(w.labelX=e+k+(C+v)/2+D,w.labelX+=w.distributionFactor*b.globalMinXShift,H.set(w,y)),x=w.distributionFactor*s,w.labelY=m+n+G/2+x),d&&(F&&0>w.labelX?(v=w.labelX+y.width,v=r.getSmartText(w.displayValue,v,Number.POSITIVE_INFINITY,!0),w.labelX=2,w.isLabelTruncated=!0,w.displayValue=v.text,w.virtualWidth=v.maxWidth,A.setAll(!0,w,v)):!F&&
w.labelX+y.width>T&&(v=r.getSmartText(w.displayValue,T-w.labelX,Number.POSITIVE_INFINITY,!0),w.isLabelTruncated=!0,w.displayValue=v.text,w.virtualWidth=v.maxWidth,N.setAll(!0,w,v)),w.pWidth=w.virtualWidth||y.width,x=w.distributionFactor*s,w.labelY=m+n+G/2+x),m+=G,w.plotX=e,w.plotY=m-G/2,v=C,w.virtualWidth=w.virtualWidth||y.width;this.findBestPosition.call(this,a,{lTrimmedInfo:A,rTrimmedInfo:N,lLargestLabel:I,rLargestLabel:H})},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;
this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.legendColor=a.legendColor;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.alpha=a.alpha;this.name=a.name;this.legendItemId=a.legendItemId;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;
this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=0;a.prototype.getModifiedCurrentValue=function(a){return a+this.y/2};a.prototype.getRatioK=function(a){var c=d.conf;return a?a/c.sumValue:1};a.prototype.getLowestRadiusFactor=function(){return 1};return a},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,e=a.y,g=a.displayValue,h=b.isSliced,q={},m=this.chart,f=this.components.data,
k=m.graphics,p=k.datalabelsGroup,n=k.trackerGroup,t,D=b.showLabelsAtCenter,v=m.components.paper,r=!!a.link,k=b.distanceAvailed,z=m.components.legend,m=m.get("config","animationObj").duration;t=h?1:a.isSliced;if(null!==e&&void 0!==e&&a.shapeArgs)return(h=c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=m,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=
m,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:v.text(p),trackerObj:v.path(n)},D&&0===d&&b.streamLinedData||(a.connectorHOffset=-(a.shapeArgs.h/2),h.connector=v.path(p))),b.showTooltip?h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=e,h.displayValue=g,h.sliced=!!t,h.cursor=r?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:g,ishot:!0,direction:"",cursor:r?"pointer":"",
x:0,y:0}).css(q).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:r?"pointer":""}),z.configureItems(f[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,plotItem:h})}),c=e={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},e=a.rolloverProperties,e={color:e.color,opacity:e.alpha,"stroke-width":e.borderWidth,
stroke:e.borderColor}),g={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,g),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,g),h.dataLabel.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(k&&(h._startTranslateY=c="t0,"+k,h.dy=h.distanceAvailed=k,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),
b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h.point=a,h;a.plot=c[d]?c[d]:c[d]={dataLabel:v.text(p).attr({text:g,direction:"",x:0,y:0}).css(q).tooltip(a.oriText)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;
c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);f("vled",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,creditLabel:!1,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,hasCanvas:!1,isRealTime:!0,defaultDatasetType:"led",colorRange:!0,
applicableDSList:{led:!0},_getData:function(){var a=this.components.dataset;if(a&&(a=a[0].components.data)&&a[0])return a=a[0].config,e(a.setValue,a.itemValue)},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.value,c=d.target,e=this.defaultDatasetType,g,h,d=[];a.dataset||(a.dataset=[]);d.push({value:b,target:c});b={data:d};this.config.categories=d;d=a.dataset||(a.dataset=[]);e&&(h=FusionCharts.get("component",["dataset",e]))&&(c="datasetGroup_"+e,g=FusionCharts.register("component",
["datasetGroup",e]),e=a[c],g&&!e&&(e=a[c]=new g,e.chart=this,e.init()),d[0]?(a=d[0].JSONData,a=a.data.length,e=b.data.length,a>e&&d[0].removeData(e-1,a-e,!1),d[0].JSONData=b,d[0].configure()):(a=new h,d.push(a),a.chart=this,e&&e.addDataSet(a,0,0),a.init(b)))},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()}},f.axisgaugebase);f("vbullet",{friendlyName:"Vertical Bullet Gauge",creditLabel:!1,defaultSeriesType:"bullet",
gaugeType:4,ticksOnRight:0,standaloneInit:!0,hasCanvas:!0,singleseries:!0,isHorizontal:!1,isAxisOpposite:!1,isAxisReverse:!1,defaultDatasetType:"bullet",applicableDSList:{bullet:!0},defaultPaletteOptions:{paletteColors:[["A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101","FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,
270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["545454","60634E","415D6F","845001","68001B"],plotFillColor:["545454","60634E","415D6F","845001","68001B"],borderColor:["767575",
"545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50]},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData.chart,c=k.chartPaletteStr.chart2D,l=e(b.ticksbelowgraph,1),l=e(b.ticksonright,b.axisontop,void 0!==b.axisonleft?!e(b.axisonleft):void 0,!l,this.isAxisOpposite),d={outCanfontFamily:g(b.outcnvbasefont,b.basefont,"Verdana,sans"),
outCanfontSize:Ea(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:g(b.outcnvbasefontcolor,b.basefontcolor,d.getColor(c.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:g(b.vdivlinecolor,d.getColor(c.divLineColor)),divLineAlpha:g(b.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(b.vdivlinethickness,1),divLineIsDashed:Boolean(e(b.vdivlinedashed,b.vdivlineisdashed,0)),divLineDashLen:e(b.vdivlinedashlen,4),divLineDashGap:e(b.vdivlinedashgap,
2),showAlternateGridColor:e(b.showalternatevgridcolor,0),alternateGridColor:g(b.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:g(b.alternatevgridalpha,d.getColor("altVGridAlpha")),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.lowerlimit,axisMaxValue:b.upperlimit,setAdaptiveMin:b.setadaptivexmin,
adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:b.showlabels,rotateLabels:b.rotatelabels,slantLabel:e(b.slantlabels,b.slantlabel),labelStep:e(b.labelstep,b.xaxisvaluesstep),showAxisValues:e(b.showxaxisvalues,b.showxaxisvalue),showDivLineValues:e(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:e(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:e(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:e(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:g(b.xaxislinecolor,b.axislinecolor,"#000000"),majorTMNumber:b.majortmnumber,majorTMColor:b.majortmcolor,majorTMAlpha:b.majortmalpha,majorTMHeight:b.majortmheight,
tickValueStep:b.tickvaluestep,showTickMarks:b.showtickmarks,connectTickMarks:b.connecttickmarks,showTickValues:b.showtickvalues,majorTMThickness:b.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(b.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(b.lowerlimit),reverseScale:b.reversescale,showLimits:e(b.showlimits,b.showtickmarks),adjustTM:b.adjusttm,minorTMNumber:e(b.minortmnumber,0),minorTMColor:b.minortmcolor,minorTMAlpha:b.minortmalpha,minorTMHeight:e(b.minortmheight,b.minortmwidth),
minorTMThickness:b.minortmthickness,tickMarkDistance:e(b.tickmarkdistance,b.tickmarkgap),tickValueDistance:e(b.tickvaluedistance,b.displayvaluedistance),placeTicksInside:b.placeticksinside,placeValuesInside:b.placevaluesinside,upperLimitDisplay:b.upperlimitdisplay,lowerLimitDisplay:b.lowerlimitdisplay},a=a.scale;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,!1,l);a.configure()},_drawCanvas:function(){}},f.vled);f("hled",{friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,
standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,isHorizontal:!0,isAxisOpposite:!1,creditLabel:!1},f.vled);f("hlineargauge",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:!1,defaultDatasetType:"hlineargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,minorTMNumber:4,isRealTime:!0,colorRange:!0,
applicableDSList:{hlineargauge:!0},rtParserModify:!0,_drawCanvas:function(){var a=this.components,d=this.config,b=this.graphics.datasetGroup,c=d.canvasWidth,l=d.canvasHeight,M=d.canvasTop,h=d.canvasLeft,q=a.scale,m=q.config.axisRange.min,f=q.config.axisRange.max,k=this.jsonData,q=k.chart,p=k.trendpoints&&k.trendpoints.point,k=e(q.showgaugeborder,1),ua=A(q.colorrangefillmix,q.gaugefillmix,"{light-10},{dark-20},{light-50},{light-85}"),t=A(q.colorrangefillratio,q.gaugefillratio,q.gaugefillratio,"0,8,84,8"),
D=g(q.colorrangebordercolor,q.gaugebordercolor,"{dark-20}"),v=e(q.colorrangeborderalpha,q.gaugeborderalpha,100),y=k?e(q.colorrangeborderthickness,q.gaugeborderthickness,1):0,z=a.colorRange&&a.colorRange.getColorRangeArr(m,f),w=e(q.showshadow,1),G,B,F,x,s=a.paper,C=a.colorManager,E,na,ba,q=this.get("config","animationObj"),Q=q.duration,N=q.dummyObj,I=q.animObj,H=q.animType,T={top:1,bottom:3},R=q=0,k=0,a=a.canvas.graphics;d.gaugeStartX=d.canvasLeft;d.gaugeEndX=d.canvasLeft+c;d.gaugeStartY=d.canvasTop;
d.gaugeEndY=d.canvasTop+l;d.gaugeCenterX=d.canvasLeft+c/2;d.gaugeCenterY=d.canvasTop+l/2;b.transform(["T",h,M]);(M=a.linear)||(a.linear=M=s.group("colorrange",b),M.trackTooltip(!0),a.outerRect=s.rect(b));a.outerRect.attr({x:0,y:0,width:c,height:l,stroke:"none",r:0});G=function(a,b){return{x:a*c/(f-m),y:0,width:(b-a)*c/(f-m),height:l}};a.colorRangeElems||(a.colorRangeElems=[]);b=0;for(h=z&&z.length;b<h;b+=1)F=z[b],x=G(F.minvalue-m,F.maxvalue-m),F.x=x.x,F.y=x.y,F.width=x.width,F.height=x.height,B=F.code,
B=r(Ga(g(F.bordercolor,B),D),e(F.borderalpha,v)),w&&Math.max(F.alpha,v),E=C.parseColorMix(F.code,ua),na=C.parseAlphaList(F.alpha,E.length),ba=e(F.borderAlpha,v),F=na.split(n),F=u.apply(Math,F),F=u(y&&ba||0,F),ba={x:x.x,y:x.y,width:x.width,height:x.height,r:0,"stroke-width":y},(x=a.colorRangeElems[b])||(x=a.colorRangeElems[b]=s.rect(M),x.attr(ba)),x.attr({stroke:B,fill:W({FCcolor:{color:E.toString(),ratio:t,alpha:na,angle:270}})}),x.animateWith(N,I,ba,Q,H),x.shadow({apply:w,opacity:F/100}),x.show();
for(;a.colorRangeElems[b];)a.colorRangeElems[b].shadow(!1),a.colorRangeElems[b].hide(),b++;if(p)for(d=d.trendPointConfig,a.trendObjElems||(a.trendObjElems=[]),a.trendZoneElems||(a.trendZoneElems=[]),a.marker||(a.marker=[]),b=0,h=d.length;b<h;b+=1)p=d[b],x=G(p.startValue-m,p.endValue-m),p.isTrendZone?((ua=a.trendZoneElems[q])||(ua=a.trendZoneElems[q]=s.rect({height:0<x.height?x.height:0},M)),ua.attr({fill:W({FCcolor:{color:p.color,alpha:p.alpha}})}),ua.animateWith(N,I,{x:x.x,y:x.y,width:0<x.width?
x.width:0,height:0<x.height?x.height:0,r:0,"stroke-width":0},Q,H).tooltip(p.tooltext),ua.show(),q++):((ua=a.trendObjElems[R])||(ua=a.trendObjElems[R]=s.path(M)),ua.attr({stroke:r(p.color,p.alpha),"stroke-dasharray":p.dashStyle,"stroke-width":p.thickness}),ua.animateWith(N,I,{path:["M",x.x,x.y,"L",x.x,x.y+x.height]},Q,H).tooltip(p.tooltext),ua.show(),R++),p.useMarker&&(p.showOnTop?(t="bottom",ua=0):(t="top",ua=l),D=90*T[t],(t=a.marker[k])||(a.marker[k]=t=s.polypath(M)),t.attr({fill:p.markerColor,stroke:p.markerBorderColor}),
t.animateWith(N,I,{polypath:[3,x.x,ua,p.markerRadius,D,0],"stroke-width":1},Q,H).shadow({apply:w}).tooltip(p.tooltext),t.show(),k++);if(w=a.trendObjElems)for(;w[R];)w[R].hide(),R++;if(w=a.trendZoneElems)for(;w[q];)w[q].hide(),q++;if(t=a.marker)for(;t[k];)t[k].hide(),t[k].shadow(!1),k++},_configueTrendPoints:function(){var a=this.jsonData,d=this.config,b=d.style,c=a.trendpoints&&a.trendpoints.point,l,M=this.components,h=M.scale.config,q=h.axisRange,m=q.max,f=q.min,h=h.scaleFactor||1,n=M.colorManager,
p,ua,t,D=d.trendPointConfig=[],a=a.chart,v=c.length;b.trendStyle={fontFamily:b.outCanfontFamily,color:b.outCancolor,fontSize:b.outCanfontSize};for(l=0;l<v;l++)b=c[l],p=e(b.startvalue,b.value),ua=e(b.endvalue,p),t=p!==ua,p<=m&&p>=f&&ua<=m&&ua>=f&&D.push({startValue:p,endValue:ua,tooltext:y(ea(b.markertooltext)),displayValue:y(ea(b.displayvalue),t?E:M.numberFormatter.scale(p)),showOnTop:e(b.showontop,a.ticksbelowgauge,1),color:g(b.color,n.getColor("trendLightColor")),alpha:e(b.alpha,99),thickness:e(b.thickness,
1),dashStyle:Number(b.dashed)?da(b.dashlen||2,b.dashgap||2,b.thickness||1):"",useMarker:e(b.usemarker,0),markerColor:r(g(b.markercolor,b.color,n.getColor("trendLightColor")),100),markerBorderColor:r(g(b.markerbordercolor,b.bordercolor,n.getColor("trendDarkColor")),100),markerRadius:e(e(b.markerradius)*h,5),markerToolText:ia(b.markertooltext),trendValueDistance:e(e(b.trendvaluedistance)*h,q.tickInterval),isTrendZone:t});k.stableSort&&k.stableSort(d.trendPointConfig,function(a,b){return a.startValue-
b.startValue})},_createDatasets:function(){var a=this.components,d=this.jsonData.pointers,b;b=this.defaultDatasetType;var c,a=a.dataset||(a.dataset=[]);b&&(b=FusionCharts.get("component",["dataset",b]))&&(a[0]?(b=a[0].pointerArr&&a[0].pointerArr.pointer&&a[0].pointerArr.pointer.length,c=d&&d.pointer&&d.pointer.length||0,b>c&&a[0].removeData(b-c),a[0].pointerArr=d,a[0].configure()):(b=new b,a.push(b),b.chart=this,b.init(d)))},_getData:function(a){var d=this.components.dataset;if(d)return(d=d[0].components.data)&&
d[--a]?(a=d[a].config,e(a.setValue,a.itemValue)):null},_setData:function(a,d){var b="value=",c;if(void 0!==a&&void 0!==d){for(c=1;c<Number(a);c++)b+=",";d.toString&&(b+=d.toString());b&&this.feedData(b)}},_getDataForId:function(a){var d=this.components.dataset[0].idMap;return d&&d[a]&&d[a].config.itemValue||null},_setDataForId:function(a,d){var b=this.components.dataset[0].idMap;return b&&b[a]&&this._setData(b[a].index+1,d)}},f.axisgaugebase);FusionCharts.register("component",["dataset","hlineargauge",
{pIndex:2,customConfigFn:"_createDatasets",init:function(a){this.pointerArr=a;this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=a.components,l=c.numberFormatter,c=c.colorManager,M=this.config||(this.config={}),h=this.components||(this.components={}),q=(d=d.pointers&&d.pointers.pointer)&&d.length||1,m,f,k,p,ua,t,D,v,s,z,w,a=a.config.style,G,B,F,x,u,C,A,na,ba,Q,N,I,H,T;M.valuePadding=e(b.valuepadding,2);M.tooltipSepChar=g(b.tooltipsepchar,n);z=e(b.ticksbelowgauge,
b.ticksbelowgraph,1);M.axisPosition=z?3:1;M.pointerOnOpp=p=Number(!e(b.pointerontop,z,1));M.valueabovepointer=z=e(b.valueabovepointer,!p,1);M.valueInsideGauge=z===p?1:0;M.showPointerShadow=e(b.showpointershadow,b.showshadow,1);M.showTooltip=e(b.showtooltip,1);M.textDirection="1"===b.hasrtltext?"rtl":"";M.showGaugeLabels=e(b.showgaugelabels,1);M.colorRangeStyle={fontFamily:a.inCanfontFamily,fontSize:a.inCanfontSize,lineHeight:a.inCanLineHeight,color:a.inCancolor.replace(/^#?/,"#")};M.showValue=e(b.showvalue,
1);M.editMode=e(b.editmode,0);M.pointerSides=a=e(b.pointersides,3);M.pointerBorderThickness=T=e(b.pointerborderthickness);M.showHoverEffect=z=e(b.showhovereffect,b.plothovereffect);M.upperLimit=e(b.upperlimit);M.lowerLimit=e(b.lowerlimit);M.startAngle=90*{top:1,right:0,left:2,bottom:3}[p?"top":"bottom"];v=h.data||(h.data=[]);for(p=0;p<q;p++)f=v[p]||(h.data[p]={}),f=f.config||(f.config={}),m=d&&d[p]||{},f.itemValue=k=l.getCleanValue(m.value),f.formatedVal=t=l.dataLabels(k),f.setDisplayValue=D=y(ea(m.displayvalue)),
f.setToolText=ua=y(ea(m.tooltext)),f.id=g(m.id,"pointer_"+p),f.showHoverEffect=k=e(m.showhovereffect,z),f.showBorder=B=e(m.showborder,b.showplotborder,1),f.borderWidth=na=B?e(m.borderthickness,T):0,(f.showValue=s=e(m.showvalue,M.showValue))?void 0!==D?(f.displayValue=D,f.isLabelString=!0):f.displayValue=y(t," "):f.displayValue=E,f.sides=D=e(m.sides,a),3>D&&(f.sides=3),f.radius=D=e(m.radius,b.pointerradius,10),void 0!==ua?(f.toolText=O(ua,[1,2],{formattedValue:t},m,b),f.isTooltextString=!0):f.toolText=
null===t?!1:t,f.tempToolText=f.toolText,f.bgAlpha=s=e(m.alpha,m.bgalpha,b.pointerbgalpha,100),f.bgColor=w=g(m.color,m.bgcolor,b.pointerbgcolor,b.pointercolor,c.getColor("pointerBgColor")),f.fillColor=H=r(w,s),f.showBorder=e(m.showborder,b.showplotborder,1),f.borderAlpha=t=e(m.borderalpha,b.pointerborderalpha,100),f.borderColor=ua=g(m.bordercolor,b.pointerbordercolor,c.getColor("pointerBorderColor")),f.pointerBorderColor=G=r(ua,t),f.dataLink=y(m.link),f.editMode=e(m.editmode,M.editMode),0!==k&&(k||
m.bghovercolor||b.pointerbghovercolor||b.plotfillhovercolor||m.bghoveralpha||b.pointerbghoveralpha||b.plotfillhoveralpha||0===m.bghoveralpha||0===b.pointerbghoveralpha||m.showborderonhover||b.showborderonhover||0===m.showborderonhover||0===b.showborderonhover||m.borderhoverthickness||b.pointerborderhoverthickness||0===m.borderhoverthickness||0===b.pointerborderhoverthickness||m.borderhovercolor||b.pointerborderhovercolor||m.borderhoveralpha||b.pointerborderhoveralpha||0===m.borderhoveralpha||0===
b.pointerborderhoveralpha||m.hoverradius||b.pointerhoverradius||0===m.hoverradius||0===b.pointerhoverradius)&&(k=!0,x=g(m.bghovercolor,b.pointerbghovercolor,b.plotfillhovercolor,"{dark-10}"),F=e(m.bghoveralpha,b.pointerbghoveralpha,b.plotfillhoveralpha),ba=e(m.showborderonhover,b.showborderonhover),void 0===ba&&(ba=m.borderhoverthickness||0===m.borderhoverthickness||m.borderhovercolor||m.borderhoveralpha||0===m.borderhoveralpha?1:B),u=g(m.borderhovercolor,b.pointerborderhovercolor,"{dark-10}"),B=
e(m.borderhoveralpha,b.pointerborderhoveralpha),C=ba?e(m.borderhoverthickness,b.pointerborderhoverthickness,na||1):0,A=e(m.hoverradius,b.pointerhoverradius,D+2),m=!!e(m.showhoveranimation,b.showhoveranimation,1),f.hoverAttr=ba={},f.outAttr=Q={},na!==C&&(ba["stroke-width"]=C,Q["stroke-width"]=na),Q.fill=H,x=(na=/\{/.test(x))?c.parseColorMix(w,x)[0]:x,ba.fill=r(x,e(F,s)),C&&(Q.stroke=G,na=/\{/.test(u),ba.stroke=r(na?c.parseColorMix(ua,u)[0]:u,e(B,t))),A&&(m?(N={r:A},I={r:D}):(ba.r=A,Q.r=D))),f.rolloverProperties=
{enabled:k,hoverAttr:ba,hoverAnimAttr:N,outAttr:Q,outAnimAttr:I}},_manageSpace:function(a){var d=this.chart,b=this.components,c=d.config,l=this.config,g=d.linkedItems.smartLabel,h=c.canvasWidth,q,m=c.dataLabelStyle,f=c.style.trendStyle,k=d.jsonData,p=k.trendpoints&&k.trendpoints.point,n=e(parseInt(m.lineHeight,10),12),k=l.valuePadding,t=l.valueInsideGauge,D,v=D=0,r=0,z=0,w=0,G=0,B=0,F=d.components.scale.config.axisData.spaceTaken,x=0,y=this.pointerArr&&this.pointerArr.pointer&&this.pointerArr.pointer.length,
C=l.pointerOnOpp,b=b.data;p&&d._configueTrendPoints();g.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);for(g.setStyle(m);x<y;x+=1)d=b[x].config,D=k+d.radius*(3>=d.sides?.5:d.sides%2?1.1-1/d.sides:1),z=Math.max(z,D),d.showValue&&d.displayValue!==E&&(d.isLabelString?(q=g.getSmartText(d.displayValue,h,a-z),d.displayValue=q.text,q.tooltext&&(d.originalText=q.tooltext)):q=g.getOriSize(d.displayValue)," "===d.displayValue&&(q={height:n})),D=q&&0<q.height&&!t?q.height+D:D,D>a&&(D=a),C?(3===l.axisPosition&&
(G=Math.max(F.bottom,G),D=Math.max(F.bottom,D)),v=Math.max(v,D)):(1===l.axisPosition&&(B=Math.max(F.top,B),D=Math.max(F.top,D)),r=Math.max(D,r)),l.align=ab;l.currentValuePadding=z;g.setStyle(f);if(p){c=c.trendPointConfig;x=0;for(y=c.length;x<y;x+=1)(h=c[x])&&h.displayValue!==E&&(f=k+.5*h.markerRadius,w=Math.max(f,w),q=g.getOriSize(h.displayValue),0<q.height&&(D=q.height+f),D>a&&(D=a),h.showOnTop?(1===l.axisPosition&&(B=Math.max(F.top,B),D=Math.max(F.top,D)),r=Math.max(r,D)):(3===l.axisPosition&&(G=
Math.max(F.bottom,G),D=Math.max(F.bottom,D)),v=Math.max(D,v)));l.currentTrendPadding=w}return{top:r-B,bottom:v-G}},draw:function(a,d){var b=this,c=b.idMap,l=b.chart,g=l.components,h=l.config,q=l.graphics,m=q.datalabelsGroup,f=q.tempGroup,k=g.paper,p=g.scale,n=b.pointerArr&&b.pointerArr.pointer,g=h.canvasWidth,h=h.canvasHeight,t=b.config,h=t.pointerOnOpp?h:0,D=t.showPointerShadow,v=t.showTooltip,r=p.config.axisRange.min,z=p.config.axisRange.max,w=(z-r)/g,n=n&&n.length||1,G,B,F=b.components.data,x=
l.get("config","animationObj"),y=x.animObj,C=x.dummyObj,s=x.animType,x=(a||x).duration,E={pageX:0,pageY:0},u=function(a){!1!==this.editMode&&(G=l._getDataJSON(),this.dragStartX=a)},A=function(){var a=this.config,b,c=l.chartInstance;if(!1!==this.config.editMode){(b=c&&c.jsVars)&&(b._rtLastUpdatedData=l._getDataJSON());fa.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:G.values,source:"editMode",url:null},c);try{Ja.FC_ChartUpdated&&
Ja.FC_ChartUpdated(c.id)}catch(d){setTimeout(function(){throw d;},1)}t.showTooltip?I.tooltip(a.toolText):I.tooltip("")}},N=function(a,c,d,l,h){a=hb&&(hb&&h.sourceEvent&&h.sourceEvent.touches&&h.sourceEvent.touches[0]||h)||E;l=p.getLimit();c=l.min;l=l.max;var g=e(this.itemValue,c),m=g-(this.dragStartX-d)*w,q=0,f=[],M=[];if(!1!==this.editMode){this.drag=!0;for(m<c?m=c:m>l&&(m=l);q<this.index;q+=1)f.push(""),M.push("");f.push({value:m});M.push(m);g!==m&&b.updateData({data:f},{duration:0})&&(this.updatedValStr=
M.join("|"),this.dragStartX=d||h.pageX||a.pageX)}},I,H,T,R,V,P,S,U,Y=b.pool;f||(f=q.tempGroup=k.group("tempGroup",m).trackTooltip(!0));P=function(a){var b=this.data("eventArgs").index,b=F[b].config;!0===b.drag?b.drag=!1:ya.call(this,l,a)};S=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.hoverAttr),b.hoverAnimAttr&&this.animate(b.hoverAnimAttr,100,"easeIn"));ya.call(this,l,a,"DataPlotRollOver")};for(U=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.outAttr),
b.outAnimAttr&&this.animate(b.outAnimAttr,100,"easeIn"));ya.call(this,l,a,"DataPlotRollOut")};n--;)q=F[n].config,H=F[n].graphics||(F[n].graphics={}),R=q.rolloverProperties||{},B=t.startAngle,c[q.id]={index:n,config:q},B+=.2,m=D?{opacity:Math.max(q.bgAlpha,q.borderAlpha)/100}:!1,T=q.dataLink,V={index:n,link:T,value:q.itemValue,displayValue:q.displayValue,toolText:q.toolText},(I=H.pointer)||(Y&&Y.pointer[0]?(I=H.pointer=Y.pointer[0],Y.pointer.splice(0,1)):I=H.pointer=k.polypath(f).click(P).hover(S,
U),I.attr({polypath:[q.sides,0,h||0,q.radius,B,0,f]}),I.show(),I.drag(N,u,A,q,q,F[n])),d||(I.attr({fill:q.fillColor,stroke:q.pointerBorderColor,ishot:!0,"stroke-width":q.borderWidth}).shadow(!!m,m&&m.opacity).data("eventArgs",V).data("rolloverProperties",R),T||q.editMode?I.css({cursor:"pointer",_cursor:"hand"}):I.css({cursor:"",_cursor:""}),q._startAngle=B,q.editMode?(q.index=n,q.editMode=!0,I.attr({ishot:!0})):(q.editMode=!1,I.attr({ishot:!1}))),v?I.tooltip(q.toolText,null,null,!0):I.tooltip(""),
I.animateWith(C,y,{polypath:[q.sides,g*(e(q.itemValue,r)-r)/(z-r),h||0,q.radius,B,0],r:q.radius},x,s);d?b.drawPointerValues(a):b._drawWidgetLabel(a);b.removeDataArr&&b.remove()},removeData:function(a){var d=this.components.data;this.removeDataArr||(this.removeDataArr=[]);this.removeDataArr=this.removeDataArr.concat(d.splice(0,a))},remove:function(){var a=this.removeDataArr,d=a.length,b,c,e,g,h=this.pool||(this.pool={pointer:[],pointerValue:[]});for(g=0;g<d;g++)b=a[g].graphics,e=b.pointer,c=b.pointerValue,
h.pointer[g]=b.pointer,h.pointerValue[g]=b.pointerValue,c.hide(),e.hide(),e.undrag(),e.shadow(!1);delete this.removeDataArr},_drawWidgetLabel:function(a){var d=this.chart,b=d.config,c=d.components,l=c.numberFormatter,f=c.scale,h=c.paper,q=d.graphics.datalabelsGroup,m=f.config.axisRange.min,k=f.config.axisRange.max,n=this.config,f=n.textDirection,p=c.colorRange&&c.colorRange.getColorRangeArr(m,k),c=n.colorRangeStyle||{},r=n.showvalue,t,D=d.jsonData.trendpoints&&d.jsonData.trendpoints.point,v=b.trendPointConfig,
y=b.canvasWidth,z=b.canvasHeight,w=b.marginRight,G=n.pointerOnOpp;t=n.valueInsideGauge;var B=n.showGaugeLabels,F=b.dataLabelStyle,x=d.get("config","animationObj"),s=x.animObj,C=x.dummyObj,u=x.animType,A=x.duration,ba,Q,N,I,H,T,R,V;R=!1;var d=d.linkedItems.smartLabel,P,S,U=e(parseInt(F.fontHeight,10),parseInt(F.lineHeight,10),12),Y=n.currentValuePadding+.5*U,x=n.currentTrendPadding+.5*U,W,n=n.currentTrendPadding;N={fontFamily:F.fontFamily,fontSize:F.fontSize,lineHeight:F.lineHeight,fontWeight:F.fontWeight,
fontStyle:F.fontStyle};var $=this.pointerArr&&this.pointerArr.pointer,L,F=this.components,K=F.data,O=F.dataLabels||(F.dataLabels=[]),J=F.trendLabels||(F.trendLabels=[]);q.transform(["T",b.canvasLeft,b.canvasTop]);Y=t===G?Y-U/4:Y+U/4;d.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);d.setStyle(N);S=d.getOriSize("W...").width;N=this.getPointerLabelXY=function(a,b,c,d,e){b=c?b?z-d-Y:z+Y:b?Y:-(Y+d);W=(a-m)*y/(k-m);W+e>y+w&&(W=y-e+w);return{x:W,y:b,align:"middle"}};I=function(a,b){return{x:(a-m+(b-a)/
2)*y/(k-m),y:z/2,width:(b-a)*y/(k-m),height:z}};if($&&$.length)for(b=$.length;b--;)if(L=K[b].config,0!==r&&L.displayValue!==E&&(P=d.getOriSize(L.displayValue),L.setWidth&&(P=d.getSmartText(L.displayValue,L.setWidth,P.height,!0)),H=this.getPointerLabelXY(L.itemValue,t,G,P.height/2,P.width/2),L.isLabelString)){R=!1;for(V=1;!R;){T=$[b+V];if(!T)break;T.isLabelString?R=!0:V+=1}T&&(R=d.getOriSize(T.displayValue),ba=N(T.y,t,G,R.height/2),V=ba.x-R.width/2-(H.x+P.width/2),ba=ba.x-H.x,0>V&&(Q=P.width+V,Q>ba&&
(L.setWidth=Q=ba),Q>S?(H=L.setWidth&&L.setWidth<=Q?d.getSmartText(L.displayValue,L.setWidth,P.height,!0):d.getSmartText(L.displayValue,Q,P.height,!0),L.displayValue=H.text,H.tooltext&&(L.originalText=H.tooltext)):(H=d.getSmartText(L.displayValue,S,P.height,!0),L.displayValue=H.text,H.tooltext&&(L.originalText=H.tooltext),V=2*V+S-4),L.setWidth=null,Q=R.width+V-4,T.setWidth=Q>ba?ba:Q>S?Q:S));L.setWidth&&(H=d.getSmartText(L.displayValue,L.setWidth,P.height,!0),L.displayValue=H.text,H.tooltext&&(L.originalText=
H.tooltext),L.setWidth=null)}this.drawPointerValues(a);d.setStyle(c);if(p&&B)for(b=0,a=p.length;b<a;b+=1)r=O[b]||(F.dataLabels[b]={}),r=r.graphics||(r.graphics={}),t=p[b],G=g(t.label,t.name),H=I(t.minvalue,t.maxvalue),P=H.width-4>S&&H.height-4>U?d.getSmartText(G,H.width-4,H.height-4):d.getSmartText(G,H.width,H.height),G={"text-anchor":bb,"vertical-align":bb,x:H.x,y:H.y,direction:f},(t=r.value)||(t=r.value=h.text(q),t.attr(G)),t.show(),t.attr({fill:c.color,text:P.text}),t.animateWith(C,s,G,A,u).css(c).tooltip(P.tooltext);
else b=0;for(;r=O&&O[b++];)r.graphics.value.hide();if(D)for(b=0,a=v.length;b<a;b+=1){p=J[b]||(F.trendLabels[b]={});r=p.graphics||(p.graphics={});p=v[b];p.displayValue=g(p.displayValue,l.dataLabels(p.startValue));d.setStyle(p.style);U=d.getOriSize("Wg").height;P=d.getOriSize(p.displayValue);H=N(p.startValue,0,!p.showOnTop);p.setWidth&&(P=d.getSmartText(p.displayValue,p.setWidth,P.height,!0));R=!1;for(V=1;!R;){T=D[b+V];if(!T)break;T.showOnTop===p.showOnTop?R=!0:V+=1}T&&(R=d.getOriSize(T.displayValue),
ba=N(T.startValue,0,!T.showOnTop),V=ba.x-R.width/2-(H.x+P.width/2),0>V&&(ba=ba.x-H.x,Q=P.width+V,Q>ba&&(p.setWidth=Q=ba),Q>S?(P=p.setWidth&&p.setWidth<=Q?d.getSmartText(p.displayValue,p.setWidth,P.height,!0):d.getSmartText(p.displayValue,P.width+V-4,P.height,!0),p.displayValue=P.text,P.tooltext&&(p.originalText=P.tooltext)):(P=d.getSmartText(p.displayValue,S,P.height,!0),p.displayValue=P.text,P.tooltext&&(p.originalText=P.tooltext),V=2*V+S-4),p.setWidth=null,Q=R.width+V-4,T.setWidth=Q>ba?ba:Q>S?Q:
S));p.setWidth&&(P=d.getSmartText(p.displayValue,p.setWidth,P.height,!0),p.displayValue=P.text,P.tooltext&&(p.originalText=P.tooltext),p.setWidth=null);C=p.showOnTop?-(n+P.height/2):z+x;s=p.isTrendZone?I(p.startValue,p.endValue).x:H.x;r.value||(r.value=h.text(q));r.value.attr({x:s,y:C,text:p.displayValue,"text-anchor":ra[H.align],direction:f,title:p.originalText||""}).css(c);r.value.show()}else b=0;for(;p=J&&J[b++];)p.graphics.value.hide()},drawPointerValues:function(a){var d=this.chart,b=d.graphics.datalabelsGroup,
c=d.components.paper,e=this.components.data,g=this.config,h=g.pointerOnOpp,q=g.valueInsideGauge,g=g.textDirection,m,f=d.linkedItems.smartLabel,k=this.pointerArr&&this.pointerArr.pointer,p=d.config.dataLabelStyle,k=k&&k.length,n,t,r=d.get("config","animationObj"),v=r.animObj,y=r.dummyObj,z=r.animType;a=(a||r).duration;n=d.config;var d=n.marginLeft,r={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle},w,G,B,F=this.pool;for(f.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);k--;)B=
e[k].graphics,n=e[k].config,w=n.displayValue,m=n.showValue,0!==m&&w!==E?(t=f.getOriSize(w),m=t.width/2,G=this.getPointerLabelXY(n.itemValue,q,h,t.height/2,m),(t=B.pointerValue)||(F&&F.pointerValue[0]?(t=B.pointerValue=F.pointerValue[0],F.pointerValue.splice(0,1)):t=B.pointerValue=c.text(b),t.attr({x:0,y:G.y})),t.attr({"text-anchor":ra[G.align],title:n.originalText||"",text:w,fill:p.color,direction:g,"text-bound":[p.backgroundColor,p.borderColor,p.borderThickness,p.borderPadding,p.borderRadius,p.borderDash]}).css(r),
t.show(),m>d+G.x&&(G.x=m-d),t.animateWith(y,v,{x:G.x,y:G.y},a,z)):B.pointerValue&&B.pointerValue.hide()},getDataLimits:function(){for(var a=this.config,d=this.chart.jsonData,b=this.pointerArr&&this.pointerArr.pointer||d.dials&&d.dials.dial,d=(d=d.colorrange)&&d.color,c=b&&b.length,e=a.upperLimit,g=a.lowerLimit,h,q=-Infinity,m=Infinity,a=0;a<c;a++)h=b[a].value,""!==h&&(q=u(q,Number(b[a].value)),m=oa(m,Number(b[a].value)));c=d&&d.length;for(a=0;a<c;a++)b=Number(d[a].maxvalue),h=Number(d[a].minvalue),
e&&b>e&&(b=e),g&&h<g&&(h=g),q=u(q,b),m=oa(m,h);return{max:q,min:m}},updateData:function(a,d){if(a===this.lastUpdatedObj)return!1;var b=this.chart,c=b.components.numberFormatter,e=this.components.data,g,h,q=this.components.data,q=q&&q.length||0,m,f,k=null,p=[],n,t,r;a=a.data;t=d||b.get("config","animationObj");if(q){for(;q--;)if(m={},r={},f=e[q].config,h=a[q])n=h.value,g=h.tooltext,b=h.label,h=h.showlabel,void 0!==n&&""!==n?(m.value=r.value=n,k=r.displayvalue=r.tooltext=c.dataLabels(r.value),r.hasNewData=
!0):r.value=f.formatedVal,b&&(r.displayvalue=b,r.hasNewData=!0),"0"==h&&(r.displayvalue=E,r.hasNewData=!0),g&&(g=y(ea(g)),r.hasNewData=!0),r.hasNewData&&(p[q]=r,la(f,{itemValue:r.value,displayValue:f.displayValue||"1"==h?r.displayvalue:E,toolText:void 0!==g?O(g,[1,2],{formattedValue:k},m):f.setToolText?f.tempToolText:k}));p.length&&(this.lastUpdatedObj=a,this.draw(t,!0));return Boolean(p.length)}}}]);FusionCharts.register("component",["dataset","bullet",{init:function(a){var d=this.chart,b=d.components;
if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();!1!==d.hasLegend&&this._addLegend()},configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.jsonData.chart,l=a.components.colorManager,f,h=d.plotColor=l.getColor("plotFillColor"),q=e(b.dashed,c.plotborderdashed);e(c.useplotgradientcolor,1);var m,n,y,p=k.getDashStyle,
s=this.components.data,t=a.isBar,D=a.is3D,v=a.isStacked;d.targetCapStyle=m=g(c.targetcapstyle,"round").toLowerCase();"butt"!==m&&"round"!==m&&"square"!==m&&"inherit"!==m&&(d.targetCapStyle="round");d.upperLimit=e(c.upperlimit);d.lowerLimit=e(c.lowerlimit);d.initAnimation=!0;f=d.showplotborder=e(c.showplotborder,0);d.plotDashLen=m=e(c.plotborderdashlen,5);d.plotDashGap=n=e(c.plotborderdashgap,4);d.plotfillAngle=e(360-c.plotfillangle,t?180:90);d.plotFillAlpha=y=g(b.alpha,c.plotfillalpha,ga);d.plotColor=
g(c.plotfillcolor,h);d.isRoundEdges=h=e(c.useroundedges,0);d.plotRadius=e(c.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=g(b.ratio,c.plotfillratio);d.plotgradientcolor=k.getDefinedColor(c.plotgradientcolor,l.getColor("plotGradientColor"));d.showPlotBorderOnHover=e(c.showplotborderonhover,0);d.plotBorderAlpha=g(c.plotborderalpha,y,ga);d.plotBorderColor=g(c.plotbordercolor,D?"#ffffff":l.getColor("plotBorderColor"));d.plotBorderThickness=f=f?e(c.plotborderthickness,0):0;d.plotBorderDashStyle=q?
p(m,n,f):"none";d.showValue=e(b.showvalue,c.showvalue,1);d.valuePadding=e(c.valuepadding,2);d.showShadow=h||D?e(c.showshadow,1):e(c.showshadow,l.getColor("showShadow"));d.showHoverEffect=e(c.plothovereffect,c.showhovereffect,0);d.showTooltip=e(c.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,c.stack100percent,0);d.definedGroupPadding=u(e(c.plotspacepercent),0);d.plotSpacePercent=u(e(c.plotspacepercent,20)%100,0);d.maxColWidth=e(t?c.maxbarheight:c.maxcolwidth,50);d.showPercentValues=e(c.showpercentvalues,
v&&a?1:0);d.showPercentInToolTip=e(c.showpercentintooltip,v&&a?1:0);d.plotPaddingPercent=e(c.plotpaddingpercent);d.rotateValues=e(c.rotatevalues)?270:0;d.placeValuesInside=e(c.placevaluesinside,0);d.use3DLighting=e(c.use3dlighting,1);s||(this.components.data=[]);d.plotAsDot=s=e(c.plotasdot,0);d.plotFillPercent=e(c.plotfillpercent,s?25:40);d.targetFillPercent=e(c.targetfillpercent,60);d.targetThickness=e(c.targetthickness,3);s=d.targetalpha=e(c.targetalpha,100);d.targetColor=r(g(c.targetcolor,l.getColor("plotFillColor")),
s);this._setConfigure()},_setConfigure:function(a){var d=this.chart,b=this.config,c=this.JSONData,l=a||c.data,f=l&&l.length,h=d.config.categories,h=h&&h.length,f=a&&a.data.length||oa(h,f),q=d.jsonData.chart,h=d.components.colorManager,m=b.showplotborder,n=b.showPlotBorderOnHover,s=b.plotColor,p=k.parseUnsafeString,E=p(g(q.tooltipsepchar,", ")),t=e(q.seriesnameintooltip,1),D=k.parseTooltext,v,A,z,w,G,B,F=b.plotBorderThickness,x=b.isRoundEdges,La=b.showHoverEffect,C=b.plotFillAngle,L,na=b.plotBorderAlpha,
ba,Q=b.plotBorderDashStyle,N,I,H,T,R,V,P,S,U,Y,K,$,O=k.getDashStyle,J=this.components.data,ea=d.isBar,fa=d.is3D,da=-Infinity,Z=Infinity,pa=d.components.numberFormatter,ga=function(a){b.showTooltip?null===v?a=!1:void 0!==a?(w=[1,2,3,4,5,6,7,26,27],A={formattedValue:v,targetValue:H.target,targetDataValue:H.toolTipValueTarget},a=D(a,w,A,N,q,c)):(t&&(z=ia(c&&c.seriesname)),a=z?z+E:"",a+=H.label?H.label+E:""):a=!1;return a};J||(J=this.components.data=[]);for(d=0;d<f;d++)N=a?a&&a.data[d]:l[d],H=(s=J[d])&&
s.config,s||(s=J[d]={}),s.config||(H=J[d].config={}),H.showValue=e(N.showvalue,b.showValues),H.valuePadding=e(q.valuepadding,2),H.setValue=I=pa.getCleanValue(N.value),H.target=s=pa.getCleanValue(N.target),H.setLink=g(N.link),H.toolTipValue=ba=pa.dataLabels(I),H.toolTipValueTarget=pa.dataLabels(s),H.setDisplayValue=T=p(N.displayvalue),H.displayValue=g(N.label,T,ba),ba=e(N.dashed),T=e(N.dashlen,void 0),R=B=e(N.dashgap,B),da=u(da,I,s),Z=oa(Z,I,s),H.plotBorderDashStyle=ba=1===ba?O(T,R,F):0===ba?"none":
Q,s=g(N.color,b.plotColor),L=g(N.alpha,b.plotFillAlpha),0>I&&!x&&(G=C,C=ea?180-C:360-C),H.colorArr=I=k.graphics.getColumnColor(s,L,void 0,C,x,b.plotBorderColor,na.toString(),ea?1:0,fa?!0:!1),0!==La&&(T=g(N.hovercolor,c.hovercolor,q.plotfillhovercolor,q.columnhovercolor,s),R=g(N.hoveralpha,c.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,L),V=g(N.hovergradientcolor,c.hovergradientcolor,q.plothovergradientcolor,b.plotgradientcolor),!V&&(V=""),V=g(N.hoverratio,c.hoverratio,q.plothoverratio,void 0),
P=e(360-N.hoverangle,360-c.hoverangle,360-q.plothoverangle,C),S=g(N.borderhovercolor,c.borderhovercolor,q.plotborderhovercolor,q.plotfillhovercolor,b.plotBorderColor),U=g(N.borderhoveralpha,c.borderhoveralpha,q.plotborderhoveralpha,na,L),L=e(N.borderhoverthickness,c.borderhoverthickness,q.plotborderhoverthickness,F),Y=e(N.borderhoverdashed,c.borderhoverdashed,q.plotborderhoverdashed),K=e(N.borderhoverdashgap,c.borderhoverdashgap,q.plotborderhoverdashgap,void 0),$=e(N.borderhoverdashlen,c.borderhoverdashlen,
q.plotborderhoverdashlen,B),Y=Y?O($,K,L):ba,1==La&&T===s&&(T=ka(T,90)),T=k.graphics.getColumnColor(T,R,V,P,x,S,U.toString(),ea?1:0,!1),H.setPlotRolloutAttr={fill:fa?[W(I[0]),!b.use3DLighting]:W(I[0]),stroke:m&&W(I[1]),"stroke-width":F,"stroke-dasharray":ba},H.setPlotRolloverAttr={fill:fa?[W(T[0]),!b.use3DLighting]:W(T[0]),stroke:W(T[1]),"stroke-width":n?L||1:L,"stroke-dasharray":Y}),0!==La&&(La||q.targethovercolor||q.targethoveralpha||0===q.targethoveralpha||q.targethoverthickness||0===q.targethoverthickness)&&
(La=!0,ba={},I={},V=e(q.targethoverthickness,b.targetThickness+2),b.targetThickness!==V&&(ba["stroke-width"]=V,I["stroke-width"]=b.targetThickness),T=g(q.targethovercolor,"{dark-10}"),R=e(q.targethoveralpha,b.targetalpha),V&&(I.stroke=b.targetColor,V=/\{/.test(T),ba.stroke=r(V?h.parseColorMix(g(q.targetcolor,s),T)[0]:T,R)),H.tagetHoverAttr=ba,H.targetOutAttr=I),v=H.toolTipValue,s=y(p(g(N.tooltext,c.plottooltext,q.plottooltext))),H.toolText=ga(s),H.setTooltext=void 0,G&&(C=G),s=y(p(g(N.tooltexttarget,
c.targettooltext,q.targettooltext))),H.toolTextTarget=ga(s);b.maxValue=da;b.minValue=Z},_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,l=c.components.caption.config,g=c.config,c=c.linkedItems.smartLabel,h=g.dataLabelStyle,q=e(parseInt(h.lineHeight,10),12),m=d.valuePadding,f=0,k=0,b=(b=b[k])&&b.config;c.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);for(c.setStyle(h);1>k;k+=1)d.showValue&&(g=c.getOriSize(b.toolTipValue)," "===b.toolTipValue&&(g={height:q}),0<g.height&&
(f=g.height+m),f>a&&(f=a));l.widgetValueHeight=f;d.heightUsed=f;return{top:0,bottom:f}},_manageSpaceHorizontal:function(a){var d=this.config,b=this.components.data,c=this.chart,l=c.config,c=c.linkedItems.smartLabel,g=l.dataLabelStyle,h=e(parseInt(g.lineHeight,10),12),q=d.valuePadding,m=0,f=0,b=(b=b[f])&&b.config;c.useEllipsesOnOverflow(l.useEllipsesWhenOverflow);for(c.setStyle(g);1>f;f+=1)b&&b.displayValue!==E&&void 0!==b.displayValue&&d.showValue&&(l=c.getOriSize(b.displayValue)," "===b.displayValue&&
(l={height:h}),0<l.height&&(m=l.width+q+2),m>a&&(m=a));d.widthUsed=m;return{top:0,right:m}},updateData:function(a,d,b){var c=this.config,e=c.maxValue,g=c.prevMin,h=this.chart,q=this.groupManager||this,m=h.components.scale;this._setConfigure(a,d);this.setMaxMin();if(c.maxValue!==e||c.minValue!==g)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),q.draw())},setMaxMin:function(){var a=this.components.data,d=this.config,b,c,e=a.length,g=-Infinity,h=Infinity;for(b=0;b<e;b++)a[b]&&(c=a[b].config,g=u(g,
c.setValue,c.target),h=oa(h,c.setValue,c.target));d.maxValue=g;d.minValue=h},draw:function(){var a=this.chart,d=a.components,b=a.jsonData.chart,c=a.config,l=d.paper,f=d.canvas,h=f.graphics,q=f.config,f=h.canvasElement,m=c.canvasLeft,X=c.canvasRight,y=c.canvasTop,p=c.canvasBottom,s=c.canvasWidth,t=c.canvasHeight,D=a.graphics.datasetGroup,v,E=d.scale,z=E.getLimit().min,E=E.getLimit().max,w=a.isHorizontal,G=a.get("config","animationObj"),B=G.animType,F=G.animObj,x=G.dummyObj,G=G.duration,A,C,L=a.components.colorManager,
na,ba,Q,N,I,H,T,R;A=w?270:180;q.colorRangeFillMix=C=k.getFirstDefinedValue(b.colorrangefillmix,b.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");q.colorRangeFillRatio=a=k.getFirstDefinedValue(b.colorrangefillratio,b.gaugefillratio,a.colorRangeFillRatio,b.gaugefillratio,"0,10,80,10");q.colorRangeGetter=d=d.colorRange;q.colorArray=d=d&&d.getColorRangeArr(z,E);na=g(b.colorrangebordercolor,b.gaugebordercolor,"{dark-20}");ba=e(b.colorrangeborderalpha,b.gaugeborderalpha,100);
Q=e(b.showshadow,1);N=e(b.showgaugeborder,b.showcolorrangeborder,0);q.colorRangeBorderThickness=b=N?e(b.colorrangeborderthickness,b.gaugeborderthickness,2):0;q=d&&d.length;if(f)for(h=f.colorRangeElems.length;h>q;--h)f.colorRangeElems[h-1].hide(),f.colorRangeElems[h-1].shadow({opacity:0});else h.canvasElement=f={},f.colorRangeElems=[];for(h=0;h<q;h+=1)N=d[h],I=N.minvalue-z,H=N.maxvalue-z,I=w?w?{x:m+I*s/(E-z),y:y,width:(H-I)*s/(E-z),height:t}:void 0:{x:m,y:y+(t-H*t/(E-z)),width:s,height:(H-I)*t/(E-
z)},N.x=I.x,N.y=I.y,N.width=I.width,N.height=I.height,H=N.code,H=r(Ga(g(N.bordercolor,H),na),e(N.borderalpha,ba)),Q&&Math.max(N.alpha,ba),T=L.parseColorMix(N.code,C),R=L.parseAlphaList(N.alpha,T.length),v=e(N.borderAlpha,ba),N=R.split(n),N=u.apply(Math,N),N=u(b&&v||0,N),v={x:I.x,y:I.y,width:I.width,height:I.height,r:0,"stroke-width":b,stroke:H,fill:W({FCcolor:{color:T.toString(),ratio:a,alpha:R,angle:A}})},f.colorRangeElems[h]?(f.colorRangeElems[h].show(),v={"stroke-width":b,stroke:H,fill:W({FCcolor:{color:T.toString(),
ratio:a,alpha:R,angle:A}})},f.colorRangeElems[h].animateWith(x,F,{x:I.x,y:I.y,width:I.width,height:I.height,r:0},G,B),f.colorRangeElems[h].attr(v)):f.colorRangeElems[h]=l.rect(v,D),f.colorRangeElems[h].shadow({apply:Q,opacity:N/100});c.gaugeStartX=m;c.gaugeEndX=X;c.gaugeStartY=y;c.gaugeEndY=p;c.gaugeCenterX=m+.5*s;c.gaugeCenterY=y+.5*t;c.gaugeRadius=.5*s;this.drawPlot()},drawPlot:function(){var a=this,d=a.JSONData,b=a.chart.jsonData.chart,c=a.config,e=a.chart.config.categories,f=d.data,h=e&&e.length,
q=f&&f.length,m,n,e=a.visible,r=a.chart,p=r.config,y=p.canvasLeft,t=p.canvasRight,D=p.canvasTop,v=p.canvasBottom,s=p.canvasHeight,z=p.canvasWidth,w=r.components.paper,G=r.components.scale,B=r.graphics.datasetGroup,F,x,u,C=r.graphics,A=k.parseUnsafeString,L=k.getValidValue,ba=k.Raphael,Q=c.showTooltip,N=r.get("config","animationObj"),I=N.animType,H=N.animObj,T=N.dummyObj,N=N.duration,R,V,P,S=a.components.data,U,Y,K,$,O,J,ea=G.max,fa=G.min,ea=G.yBasePos=G.getAxisPosition(0>=ea&&0>fa?ea:0<ea&&0<=fa?
fa:0),ka=fa=0,Z=c.showShadow,pa=c.plotBorderThickness,da=c.plotRadius,ga=a.graphics.container,ha=a.graphics.trackerContainer,aa=a.graphics.targetContainer;$=a.graphics.trackerTargetContainer;var ca=a.graphics.dataLabelContainer,ia=a.graphics.shadowContainer,Ia=a.graphics.shadowTargetContainer;u=C.trackerGroup;var la,ma,qa=!0,ta=!1,ja;P=C.datalabelsGroup;var C=r.config.dataLabelStyle,ra=c.heightUsed,sa=c.lowerLimit,xa={fontFamily:C.fontFamily,fontSize:C.fontSize,lineHeight:C.lineHeight,fontWeight:C.fontWeight,
fontStyle:C.fontStyle},Aa=c.showHoverEffect,Ba=function(a){ya.call(this,r,a)},za=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloverAttr"));ya.call(this,r,b,"DataPlotRollOver")}},wa=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloutAttr"));ya.call(this,r,b,"DataPlotRollOut")}},Ca=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(ga.hide(),ha.hide(),ia.hide(),ca&&ca.hide(),a._conatinerHidden=
!0)};ga||(ga=a.graphics.container=w.group("bar",B),e||ga.hide());ca||(ca=a.graphics.dataLabelContainer=w.group("datalabel",P));aa||(aa=a.graphics.targetContainer=w.group("target",B).trackTooltip(!0),e||aa.hide());ha||(ha=a.graphics.trackerContainer=w.group("bar-hot",u),e||ha.hide());$||($=a.graphics.trackerTargetContainer=w.group("target-hot",u),e||$.hide());ia||(ia=a.graphics.shadowContainer=w.group("shadow",B).toBack(),e||ia.hide());Ia||(Ia=a.graphics.shadowTargetContainer=w.group("shadow",B).toBack(),
e||Ia.hide());oa(h,q);for(h=0;1>h;h++)if(m=f[h],$=(q=S[h])&&q.config,U=$.setValue,0>U&&(ta=!0),Y=$.setLink,la=$.colorArr,Ia=ja=!1,q.graphics||(S[h].graphics={}),B=$.displayValue,L(A(g(m.tooltext,d.plottooltext,b.plottooltext))),r.isHorizontal){V=c.plotFillPercent/100*s;x=Da(D+v)/2-V/2;c.plotAsDot?(F=G.getAxisPosition(U)-V/2,u=V):(u=sa&&sa<=U&&0<=G.config.axisRange.min?sa:0,F=ta?G.getAxisPosition(U):G.getAxisPosition(u),u=ta?G.getAxisPosition(0)-G.getAxisPosition(U):G.getAxisPosition(U)-G.getAxisPosition(u));
u=ba.crispBound(F,x,u,V,pa);F=u.x;x=u.y;R=u.width;V=u.height;P=""===$.toolText?$.toolTipValue:$.toolText;ma=$.plotBorderDashStyle;K={link:Y,value:U,displayValue:B,toolText:P};O=$.setPlotRolloutAttr;J=$.setPlotRolloverAttr;N||(ka=R);n={x:F,y:x,width:ka||1,height:V,r:da,ishot:!0,fill:W(la[0]),stroke:W(la[1]),"stroke-width":pa,"stroke-dasharray":ma,"stroke-linejoin":"miter",visibility:e};if(null!==U){q.graphics.element?(q.graphics.element.show(),n={x:F,y:x,width:R,height:V||1,r:da},U=q.graphics.element,
U.animateWith(T,H,n,N,I,qa&&Ca),U.attr({ishot:!0,fill:W(la[0]),stroke:W(la[1]),"stroke-width":pa,"stroke-dasharray":ma,"stroke-linejoin":"miter",visibility:e})):(U=q.graphics.element=w.rect(n,ga),ja=!0,U.animateWith(T,H,{width:R||1},N,I),N&&(qa=!1));U.shadow({opacity:Z},ia).data("BBox",u);if(Y||Q)V<Qa&&(x-=(Qa-V)/2,V=Qa),n={x:F,y:x,width:R,height:V,r:da,cursor:Y?"pointer":"",stroke:Fa,"stroke-width":pa,fill:Fa,ishot:!0,visibility:e},q.graphics.hotElement?(q.graphics.hotElement.show(),q.graphics.hotElement.attr(n)):
(F=q.graphics.hotElement=w.rect(n,ha),ja=!0);F=q.graphics.hotElement;(F||U).data("eventArgs",K).data("groupId",void 0).data("showHoverEffect",Aa).data("setRolloverAttr",J).data("setRolloutAttr",O).tooltip(P);ja&&(F||U).click(Ba).hover(za(U),wa(U))}else q.graphics.element&&q.graphics.element.hide(),q.graphics.hotElement&&q.graphics.hotElement.hide();$.target?(L(A(g(m.tooltext,d.targettooltext,b.targettooltext))),P=""===$.toolTextTarget?$.toolTipValueTarget:$.toolTextTarget,x=c.targetFillPercent/100*
s,m=ja=G.getAxisPosition($.target),F=(D+v)/2-x/2,x=F+x,m=["M",m,F,"L",ja,x],n={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":va[!1]},(U=q.graphics.targetElement)?(q.graphics.targetElement.show(),n={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":va[!1]},U.animateWith(T,H,n,N,I)):(U=q.graphics.targetElement=w.path(m,aa).attr(n),Ia=!0),Ia&&U.click(Ba).hover(za(U),
wa(U)),U.shadow({opacity:Z},ia).data("BBox",u).data("eventArgs",K).data("groupId",void 0).data("showHoverEffect",Aa).data("setRolloverAttr",$.tagetHoverAttr).data("setRolloutAttr",$.targetOutAttr),Q?U.tooltip(P):U.tooltip(!1)):q.graphics.targetElement&&q.graphics.targetElement.hide();Ia=parseInt(C.lineHeight,10);x=.5*(D+s);B!==E&&void 0!==B&&c.showValue?(n={text:B,"text-anchor":"start",x:t+c.valuePadding+2,y:x,"vertical-align":"top",fill:C.color,direction:$.textDirection,"text-bound":[C.backgroundColor,
C.borderColor,C.borderThickness,C.borderPadding,C.borderRadius,C.borderDash]},q.graphics.label?(q.graphics.label.show(),q.graphics.label.animateWith(T,H,{x:t+c.valuePadding+2,y:x},N,I)):q.graphics.label=w.text(n,ca),q.graphics.label.attr(n).css(xa),B=q.graphics.label.getBBox(),0>B.x+p.marginLeft&&(B=B.width-p.marginLeft,p.width<B&&(B=p.width-p.marginLeft),n={x:B/2},q.graphics.label.animateWith(T,H,n,N,I))):q.graphics.label&&q.graphics.label.hide()&&q.graphics.label.attr({"text-bound":[]})}else{u=
c.plotFillPercent/100*z;F=Da(y+t)/2-u/2;c.plotAsDot?(x=G.getAxisPosition(U)-u/2,V=u):(x=ta?G.getAxisPosition(0):G.getAxisPosition(U),V=ta?G.getAxisPosition(U)-G.getAxisPosition(0):G.getAxisPosition(sa&&sa<=U&&0<=G.config.axisRange.min?sa:0)-x);u=ba.crispBound(F,x,u,V,pa);F=u.x;x=u.y;R=u.width;V=u.height;P=""===$.toolText?$.toolTipValue:$.toolText;ma=$.plotBorderDashStyle;K={link:Y,value:U,displayValue:B,toolText:P};O=$.setPlotRolloutAttr;J=$.setPlotRolloverAttr;N||(ea=x,fa=V);n={x:F,y:ea,width:R,
height:fa||1,r:da,ishot:!0,fill:W(la[0]),stroke:W(la[1]),"stroke-width":pa,"stroke-dasharray":ma,"stroke-linejoin":"miter",visibility:e};q._xPos=F;q._yPos=x+V;q._height=V;q._width=R;if(null!==U){q.graphics.element?(q.graphics.element.show(),n={x:F,y:x,width:R,height:V||1,r:da},U=q.graphics.element,U.animateWith(T,H,n,N,I,qa&&Ca),U.attr({ishot:!0,fill:W(la[0]),stroke:W(la[1]),"stroke-width":pa,"stroke-dasharray":ma,"stroke-linejoin":"miter",visibility:e})):(U=q.graphics.element=w.rect(n,ga),ja=!0,
U.animateWith(T,H,{y:x,height:V||1},N,I),N&&(qa=!1));U.shadow({opacity:Z},ia).data("BBox",u);if(Y||Q)V<Qa&&(x-=(Qa-V)/2,V=Qa),n={x:F,y:x,width:R,height:V,r:da,cursor:Y?"pointer":"",stroke:Fa,"stroke-width":pa,fill:Fa,ishot:!0,visibility:e},q.graphics.hotElement?(q.graphics.hotElement.show(),q.graphics.hotElement.attr(n)):(F=q.graphics.hotElement=w.rect(n,ha),ja=!0);F=q.graphics.hotElement;(F||U).data("eventArgs",K).data("groupId",void 0).data("showHoverEffect",Aa).data("setRolloverAttr",J).data("setRolloutAttr",
O).tooltip(P);ja&&(F||U).click(Ba).hover(za(U),wa(U))}else q.graphics.element&&q.graphics.element.hide(),q.graphics.hotElement&&q.graphics.hotElement.hide();$.target?(L(A(g(m.tooltext,d.targettooltext,b.targettooltext))),P=""===$.toolTextTarget?$.toolTipValueTarget:$.toolTextTarget,x=c.targetFillPercent/100*z,m=(y+t)/2-x/2,ja=m+x,F=x=G.getAxisPosition($.target),m=["M",m,F,"L",ja,x],n={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":va[!1]},
(U=q.graphics.targetElement)?(q.graphics.targetElement.show(),n={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":va[!1]},U.animateWith(T,H,n,N,I)):(U=q.graphics.targetElement=w.path(m,aa).attr(n),Ia=!0),Ia&&U.click(Ba).hover(za(U),wa(U)),U.shadow({opacity:Z},ia).data("BBox",u).data("eventArgs",K).data("groupId",void 0).data("showHoverEffect",Aa).data("setRolloverAttr",$.tagetHoverAttr).data("setRolloutAttr",$.targetOutAttr),
Q?U.tooltip(P):U.tooltip(!1)):q.graphics.targetElement&&q.graphics.targetElement.hide();Ia=parseInt(C.lineHeight,10);x=Ia>ra?p.height-p.marginBottom-ra+Ia/2:p.height-p.marginBottom-Ia/2;x-=p.borderWidth;B!==E&&void 0!==B&&c.showValue?(n={text:B,"text-anchor":"middle",x:z/2+y,y:x,"vertical-align":"middle",fill:C.color,direction:$.textDirection,"text-bound":[C.backgroundColor,C.borderColor,C.borderThickness,C.borderPadding,C.borderRadius,C.borderDash]},q.graphics.label?(q.graphics.label.show(),q.graphics.label.animateWith(T,
H,{x:z/2+y,y:x},N,I)):q.graphics.label=w.text(n,ca),q.graphics.label.attr(n).css(xa),B=q.graphics.label.getBBox(),0>B.x+p.marginLeft&&(B=B.width-p.marginLeft,p.width<B&&(B=p.width-p.marginLeft),n={x:B/2},q.graphics.label.animateWith(T,H,n,N,I))):q.graphics.label&&q.graphics.label.hide()&&q.graphics.label.attr({"text-bound":[]})}},addData:function(){},removeData:function(){},getDataLimits:function(){for(var a=this.config,d=this.pointerArr&&this.pointerArr.pointer,b=this.chart.jsonData.colorrange,b=
b&&b.color,d=d&&d.length,c=a.upperLimit,e=a.lowerLimit,g,h,f=a.maxValue,m=a.minValue,d=b&&b.length,a=0;a<d;a++)g=Number(b[a].maxvalue),h=Number(b[a].minvalue),c&&g>c&&(g=c),e&&h<e&&(h=e),f=u(f,g),m=oa(m,h);return{max:f,min:m}}},"hlineargauge"]);FusionCharts.register("component",["dataset","led",{init:function(a){var d=this.chart,b=d.components;if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,
!Number(this.JSONData.initiallyhidden),1);this.configure()},draw:function(){var a=this.chart,d=this.config,b=a.components,c=a.jsonData.chart,l=a.config,f=a.graphics,h=b.paper,q=b.canvas,m=q.graphics,X=q.config,y=a.get("config","animationObj"),q=y.animType,p=y.animObj,s=y.dummyObj,y=y.duration,t=m.canvasBorderElement,D=m.canvasElement,v=m.canvasElementPath,E=m.canvasHotElement,z=l.canvasLeft,w=l.canvasRight,G=l.canvasTop,B=l.canvasBottom,F=l.canvasWidth,x=l.canvasHeight,f=f.datasetGroup,A=b.scale,
C=A.getLimit().min,K=A.getLimit().max,na=e(a.jsonData.chart.reverseaxis,a.isAxisReverse),ba=a.isHorizontal,Q=function(a,b){if(na&&!ba)return{x:z,y:G+a*x/(K-C),width:F,height:(b-a)*x/(K-C)};if(na||ba){if(na&&ba)return{x:z+(F-b*F/(K-C)),y:G,width:(b-a)*F/(K-C),height:x};if(!na&&ba)return{x:z+a*F/(K-C),y:G,width:(b-a)*F/(K-C),height:x}}else return{x:z,y:G+(x-b*x/(K-C)),width:F,height:(b-a)*x/(K-C)}},N,I,H,T=a.components.colorManager,R,V,P,S,U,Y,O,$,J,ea,fa,da,ha,Z,pa,aa,ca,ia,la,ma,ja,Ia,qa;S=a.components.numberFormatter;
var ta,oa,sa,ra=d.showHoverEffect,xa=function(b){ya.call(this,a,b)},va=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloverAttr")[b])}},Da=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloutAttr")[b])}},Aa=[],Ba=[],za=this.graphics.trackerContainer,A=a.graphics.trackerGroup,wa=0,Ca,Xa,Ea=!1;za||(za=this.graphics.trackerContainer=
h.group("led-hot",A));V=e(c.showgaugeborder,1);A=g(c.gaugebordercolor,a.gaugeBorderColor,"333333");V=V?e(c.gaugeborderthickness,a.gaugeBorderThickness,2):0;R=g(c.gaugeborderalpha,ga);X.gaugeFillColor=aa=g(c.gaugefillcolor,c.ledbgcolor,"000000");da=e(c.usesamefillcolor,0);ha=e(c.usesamefillbgcolor,da);d.ledGap=Z=e(c.ledgap,2);d.ledSize=pa=e(c.ledsize,2);e(c.showhovereffect,0);X.colorRangeFillMix=N=k.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");
X.colorRangeFillRatio=I=k.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio,"0,10,80,10");X.colorRangeGetter=R=b.colorRange;X.colorArray=H=R&&R.getColorRangeArr(C,K);A=g(A,"000000").replace(Oa,$a);R=e(c.colorrangeborderalpha,c.gaugeborderalpha,100);b=e(c.showshadow,1);V=e(c.showgaugeborder,1);X.colorRangeBorderThickness=V=V?e(c.colorrangeborderthickness,c.gaugeborderthickness,2):0;X=Z+pa||1;ca=(ba?F:x)-pa;P=K-C;ia=V/2;la=z-ia;ma=G-ia;ja=z+F+ia;ia=G+
x+ia;Ia=parseInt(ca/X,10)+1;d.sizeGapSum=X=pa+ca%X/Ia+Z;d.perLEDValueLength=ca=P/Ia;d=z;pa=G;c=g(c.clickurl);D||(m.canvasElement=D={},D.colorRangeElems=[]);oa=S.getCleanValue(a.jsonData.value);if(da||ha)for(S=0,U=H.length;S<U;S+=1)if(oa>=H[S].minvalue&&oa<=H[S].maxvalue){qa=H[S].code||T.getPlotColor(S);sa=S;break}H&&0<H.length&&(ta=H[0].code||T.getPlotColor(0));Ca=na?w:z;Xa=na?G:B;S=0;for(U=H&&H.length;S<U;S+=1)P=H[S],Y=Q(P.minvalue-C,P.maxvalue-C),O=Ka((P.maxvalue-C)/ca),$=O-wa,wa=O,O=$*X,ba||na?
!ba&&na?(Y.height=O-Z,Y.y=Xa,Xa+=O):ba&&!na?(Y.width=O-Z,Y.x=Ca,Ca+=O):ba&&na&&(Y.width=O-Z,Y.x=Ca-Y.width,Ca-=O):(Y.height=O-Z,Y.y=Xa-Y.height,Xa-=O),P.x=Y.x,P.y=Y.y,P.width=Y.width,P.height=Y.height,O=da?qa:ha&&S>sa?ta:ta=P.code||T.getPlotColor(S),$=r(Ga(g(P.bordercolor,O),A),e(P.borderalpha,R)),b&&Math.max(P.alpha,R),J=T.parseColorMix(P.code,N),ea=T.parseAlphaList(P.alpha,J.length),J=e(P.borderAlpha,R),fa=ea.split(n),fa=u.apply(Math,fa),fa=u(V&&J||0,fa),J={x:Y.x,y:Y.y,width:0>Y.width?0:Y.width,
height:0>Y.height?0:Y.height,r:0,"stroke-width":0,stroke:$,fill:W({FCcolor:{color:O,ratio:I,alpha:ea,angle:180}})},D.colorRangeElems[S]?(D.colorRangeElems[S].show(),D.colorRangeElems[S].animateWith(s,p,{x:Y.x,y:Y.y,width:0>Y.width?0:Y.width,height:0>Y.height?0:Y.height,r:0},y,q),D.colorRangeElems[S].attr({"stroke-width":0,stroke:$,fill:W({FCcolor:{color:O,ratio:I,alpha:ea,angle:180}})})):D.colorRangeElems[S]=h.rect(J,f).toBack(),D.colorRangeElems[S].shadow({apply:b,opacity:fa/100}),Aa.push({"stroke-width":0,
fill:W({FCcolor:{color:ka(g(O,"000000"),80)+","+L(g(O,"000000"),80),alpha:e(P.alpha,100),angle:ba?90:0}})}),Ba.push({"stroke-width":0,fill:W({FCcolor:{color:g(O,"000000"),alpha:e(P.alpha,100)}})});if(H&&0===H.length)for(S=0,U=D.colorRangeElems.length;S<U;S++)D.colorRangeElems[S].hide();qa={link:c,value:oa};J={x:z,y:G,width:F,height:x,"stroke-width":0,fill:Fa};E?E.attr(J):(E=m.canvasHotElement=h.rect(J,za),Ea=!0);E.data("eventArgs",qa).data("showHoverEffect",ra).data("setRolloverAttr",Aa).data("setRolloutAttr",
Ba);Ea&&(c&&E.click(xa),E.hover(va(D.colorRangeElems),Da(D.colorRangeElems)));ba?d+=X-Z/2:pa+=X-Z/2;qa=[];J={path:["M",la,ma,"L",ja,ma,ja,ia,la,ia,"Z"],stroke:r(A,R),"stroke-width":V,"stroke-linecap":"butt"};t?(t.animateWith(s,p,{path:["M",la,ma,"L",ja,ma,ja,ia,la,ia,"Z"]},y,q),t.attr({stroke:r(A,R),"stroke-width":V})):m.canvasBorderElement=h.path(J,f).shadow({apply:b}).toBack();for(S=1;S<Ia;S+=1)ba?(qa.push("M",d,pa,"L",d,pa+x),d+=X):(qa.push("M",d,pa,"L",d+F,pa),pa+=X);J={path:qa,stroke:r(aa,100),
"stroke-width":Z,"stroke-linecap":"butt"};v?(v.animateWith(s,p,{path:qa},y,q),v.attr({stroke:r(aa,100),"stroke-width":Z})):m.canvasElementPath=h.path(J,f);l.gaugeStartX=z;l.gaugeEndX=w;l.gaugeStartY=G;l.gaugeEndY=B;l.gaugeCenterX=z+.5*F;l.gaugeCenterY=G+.5*x;l.gaugeRadius=.5*F;this.drawShade()},drawShade:function(){var a=this.config,d=this.components.data,b=this.chart,c=b.config,l=c.canvasLeft,g=c.canvasTop,h=c.canvasHeight,f=c.canvasWidth,m=b.components.paper,k=b.graphics.datasetGroup,n=this.graphics.container,
p,y=b.components.numberFormatter,t=e(this.chart.jsonData.chart.reverseaxis,b.isaxisreverse),D=b.isHorizontal,v=b.get("config","animationObj"),s=v.animType,z=v.animObj,w=v.dummyObj,v=v.duration,d=d[0],G=d.graphics,B=d&&d.config,F=this.graphics.dataLabelContainer,x=b.graphics.datalabelsGroup,u=b.config.dataLabelStyle,G=a.heightUsed,C=a.initAnimation,A;A=b.components.scale.getLimit().min;var L={fontFamily:u.fontFamily,fontSize:u.fontSize,lineHeight:u.lineHeight,fontWeight:u.fontWeight,fontStyle:u.fontStyle};
p=b.components.canvas.config.gaugeFillColor;n||(n=this.graphics.container=m.group("shade",k));F||(F=this.graphics.dataLabelContainer=m.group("datalabel",x));y=y.getCleanValue(B.setValue);d.graphics||(d.graphics={});k=d.graphics.element;y=Ka((y-A)/a.perLEDValueLength)*a.sizeGapSum-a.ledGap;A=Math.ceil(h-y);x=Math.ceil(f-y);t&&!D?(t={x:l,y:v&&C?g:g+y,width:f,height:v&&C?h:A,r:0,"stroke-width":0,fill:r(p,50)},k?(k.animateWith(w,z,{x:l,y:g+y,width:f,height:A,r:0},v,s),k.attr({"stroke-width":0,fill:r(p,
50)})):(k=d.graphics.element=m.rect(t,n),k.animateWith(w,z,{y:g+y,height:A},v,s))):t||D?!t&&D?(t={x:v&&C?l:l+y,y:g,width:v&&C?f:x,height:h,r:0,"stroke-width":0,fill:r(p,50)},k?(k.animateWith(w,z,{x:l+y,y:g,width:x,height:h,r:0},v,s),k.attr({"stroke-width":0,fill:r(p,50)})):(k=d.graphics.element=m.rect(t,n),k.animateWith(w,z,{x:l+y,width:x},v,s))):t&&D&&(t={x:l,y:g,width:v&&C?f:x,height:h,r:0,"stroke-width":0,fill:r(p,50)},k?(k.animateWith(w,z,{x:l,y:g,width:x,height:h,r:0},v,s),k.attr({"stroke-width":0,
fill:r(p,50)})):(k=d.graphics.element=m.rect(t,n),k.animateWith(w,z,{width:x},v,s))):(t={x:l,y:g,width:f,height:v&&C?h:A,r:0,"stroke-width":0,fill:r(p,50)},k?(k.animateWith(w,z,{x:l,y:g,width:f,height:A,r:0},v,s),k.attr({"stroke-width":0,fill:r(p,50)})):(k=d.graphics.element=m.rect(t,n),k.animateWith(w,z,{height:A},v,s)));g=""===B.setTooltext||void 0===B.setTooltext?B.toolTipValue:B.setTooltext;a.showTooltip?b.components.canvas.graphics.canvasHotElement.tooltip(g):b.components.canvas.graphics.canvasHotElement.tooltip(!1);
b=parseInt(u.lineHeight,10);b=b>G?c.height-c.marginBottom-G+b/2:c.height-c.marginBottom-b/2;b-=c.borderWidth;G=d.graphics;B.displayValue!==E&&void 0!==B.displayValue&&a.showValue?(t={text:B.displayValue,"text-anchor":"middle",x:f/2+l,y:b,"vertical-align":"middle",fill:u.color,direction:B.textDirection,"text-bound":[u.backgroundColor,u.borderColor,u.borderThickness,u.borderPadding,u.borderRadius,u.borderDash]},G.label?(G.label.animateWith(w,z,{x:f/2+l,y:b},v,s),G.label.attr({text:B.displayValue,"text-anchor":"middle",
"vertical-align":"middle",fill:u.color,direction:B.textDirection,"text-bound":[u.backgroundColor,u.borderColor,u.borderThickness,u.borderPadding,u.borderRadius,u.borderDash]})):G.label=m.text(t,F),G.label.attr(t).css(L),a=G.label.getBBox(),0>a.x+c.marginLeft&&(a=a.width-c.marginLeft,c.width<a&&(a=c.width-c.marginLeft),t={x:a/2},G.label.animateWith(w,z,t,v,s))):G.label&&(G.label=G.label.remove())}},"bullet"]);f("hbullet",{friendlyName:"Horizontal Bullet Gauge",creditLabel:!1,defaultSeriesType:"hbullet",
gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,rendererId:"hbullet",isHorizontal:!0,isAxisOpposite:!0,rtManageSpace:!0,_RTmanageSpace:function(){var a=this.config,d=this.components,b=d.scale,d=d.dataset[0]._manageSpaceHorizontal(.7*a.oriCanvasWidth);this._allocateSpace({right:d.right-a.labelSpace.right});b.setAxisDimention({axisLength:a.canvasWidth});a.labelSpace=d},_spaceManager:function(){var a,d=this.config,b=this.components,c=b.dataset[0],l=b.scale,g=this.jsonData.chart,h=e(g.showborder,
this.is3D?0:1),f,m=d.minChartWidth,k=d.minChartHeight,g=d.borderWidth=h?e(g.borderthickness,1):0;d.canvasWidth-2*g<m&&(f=(d.canvasWidth-m)/2);d.canvasHeight-2*g<k&&(a=(d.canvasHeight-k)/2);this._allocateSpace({top:a||g,bottom:a||g,left:f||g,right:f||g});a=.7*d.canvasWidth;this._allocateSpace(l.placeAxis(a));d.oriCanvasWidth=d.canvasWidth;d.labelSpace=c._manageSpaceHorizontal(a);c._manageSpace&&this._allocateSpace(d.labelSpace);this._manageChartMenuBar(.225*d.canvasHeight);d.oriCanvasWidth-=u(b.subCaption.config.width||
0,b.caption.config.width||0)},_manageCaptionSpacing:function(){var a=this.config,d=this.components,b=d.caption,c=d.subCaption,d=b.config,l=c.config,b=b.components,c=c.components,f=this.jsonData.chart,h=this.linkedItems.smartLabel,q=ea(f.caption),m=ea(f.subcaption),f=e(f.captionpadding,2),k=a.height,n=0,p=0,r=0,t=.7*a.width,D={},v,y;3<.7*k&&(d.captionPadding=l.captionPadding=f,q!==E&&(y=d.style,n=d.captionLineHeight=Ma(parseFloat(g(y.fontHeight,y.lineHeight),10),12)),m!==E&&(v=l.style,p=Ma(parseInt(g(v.lineHeight,
v.fontHeight),10),12)),0<n||0<p)&&(h.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),h.setStyle(y),a=h.getSmartText(q,t,k),0<a.width&&(a.width+=2,r=a.height),h.setStyle(v),v=h.getSmartText(m,t,k-r),0<v.width&&(v.width+=2),d.captionSubCaptionGap=a.height+0+.2*p,Math.max(a.width,v.width),b.text=a.text,d.height=a.height,d.width=a.width,d.tooltext&&(b.originalText=a.tooltext),c.text=v.text,l.height=v.height,l.width=v.width,l.tooltext&&(b.originalText=v.tooltext),v=Math.max(a.width,v.width),0<v&&(v+=
f),d.maxCaptionWidth=l.maxCaptionWidth=v,d.isOnLeft?D.left=v:D.right=v);d.align=d.isOnLeft?l.align=vb:l.align=J;return D},_manageCaptionPosition:function(){var a=this.config,d=this.components,b=d.caption.config,d=d.subCaption.config,c=b.captionPosition,e=u(b.width,d.width),g=a.borderWidth||0,h=b.captionSubCaptionGap;switch(c){case bb:b.y=.5*(a.canvasTop+a.canvasHeight);break;case Ta:b.y=a.canvasBottom-(b.height+d.height);break;default:b.y=a.canvasTop}d.y=b.y+h;b.x=b.isOnLeft?d.x=a.marginLeft+e+g:
d.x=a.width-a.marginRight-e-g},_fetchCaptionPos:function(){return"end"===this.components.caption.config.align?0:-1}},f.vbullet);f("thermometer",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:!1,defaultDatasetType:"thermometer",defaultPaletteOptions:ca(la({},k.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6",
"FFF2F5"]}),standaloneInit:!0,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,hasCanvas:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,isRealTime:!0,applicableDSList:{thermometer:!0},_getData:function(){var a=this.components.dataset;if(a&&a[0])return a[0].config.value},_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,c=b.numberFormatter,b=b.colorManager;a.use3DLighting=e(d.use3dlighting,1);a.thmOriginX=e(d.thmoriginx,d.gaugeoriginx);a.thmOriginY=e(d.thmoriginy,
d.gaugeoriginy);a.thmBulbRadius=e(c.getCleanValue(d.thmbulbradius,!0));a.thmHeight=e(c.getCleanValue(e(d.thmheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=qa(a.thmOriginX);a.yDefined=qa(a.thmOriginY);a.rDefined=qa(a.thmBulbRadius);a.hDefined=qa(a.thmHeight);a.gaugeFillColor=g(d.gaugefillcolor,d.thmfillcolor,b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.thmfillalpha,ga);a.showGaugeBorder=e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,
40):0;a.gaugeBorderColor=r(g(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=g(d.thmglasscolor,L(a.gaugeFillColor,30))},_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b={data:[{value:this.jsonData.value}]},a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(a[0].setValue(b&&b.data&&b.data[0]),a[0].configure()):(d=new d,a.push(d),d.chart=this,d.init(b)))}},
f.axisgaugebase);f("cylinder",{defaultDatasetType:"cylinder",applicableDSList:{cylinder:!0},defaultPaletteOptions:ca(la({},k.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["CCCCCC","ADB68F","E1F5FF","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"]}),glasscolor:"ffffff",_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,c=b.numberFormatter,b=b.colorManager;a.use3DLighting=
e(d.use3dlighting,1);a.gaugeOriginX=e(d.thmoriginx,d.cyloriginx,d.gaugeoriginx);a.gaugeOriginY=e(d.thmoriginy,d.cyloriginy,d.gaugeoriginy);a.gaugeRadius=e(c.getCleanValue(e(d.thmbulbradius,d.cylradius,d.gaugeradius),!0));a.gaugeHeight=e(c.getCleanValue(e(d.thmheight,d.cylheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=qa(a.gaugeOriginX);a.yDefined=qa(a.gaugeOriginY);a.rDefined=qa(a.gaugeRadius);a.hDefined=qa(a.gaugeHeight);a.gaugeFillColor=g(d.gaugefillcolor,d.cylfillcolor,
b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.cylfillalpha,ga);a.gaugeYScale=e(d.cylyscale,d.gaugeyscale,30);if(50<a.gaugeYScale||0>a.gaugeYScale)a.gaugeYScale=30;a.gaugeYScale/=100;a.showGaugeBorder=e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,40):0;a.gaugeBorderColor=r(g(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=g(d.cylglasscolor,L(a.gaugeFillColor,30))}},f.thermometer);
FusionCharts.register("component",["dataset","thermometer",{init:function(a){this.configure();this.setValue(a&&a.data&&a.data[0])},setValue:function(a,d){var b=this.config,c=this.chart,e=c.jsonData.chart,c=c.components.numberFormatter,f=a.value;b.value=f=c.getCleanValue(f);null!==f?(c=b.formattedValue=c.dataLabels(b.value),b.displayValue=b.showValue?a.label||y(c," "):E,b.toolText=b.showTooltip?void 0!==e.plottooltext?O(g(a.tooltext,e.plottooltext),[1,2],{formattedValue:c},{},e):g(a.tooltext,null===
c?E:c):E):(b.displayValue=E,b.toolText=E,b.formattedValue=null);d&&this.draw()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=this.config||(this.config={}),l=a.components.colorManager,f=a.config,h,q=e(b.showhovereffect),m;c.showValue=e(b.showvalue,b.showvalues,1);c.showTooltip=e(b.showtooltip,1);c.valuePadding=e(b.valuepadding,2);c.tooltipSepChar=g(b.tooltipsepchar,n);c.pointerOnOpp=e(b.pointerontop,0);c.axisPosition=e(b.ticksbelowgauge,b.ticksbelowgraph,this.ticksbelowgauge,1)?3:
1;c.valueAbovePointer=e(b.valueabovepointer,1);c.labelStyle=f.dataLabelStyle;m=c.gaugeFillColor=g(b.gaugefillcolor,b.thmfillcolor,b.cylfillcolor,l.getColor("gaugeFillColor"));f=c.gaugeFillAlpha=e(b.gaugefillalpha,b.cylfillalpha,b.thmfillalpha,ga);c.showGaugeBorder=e(b.showgaugeborder,1);h=c.showGaugeBorder?e(b.gaugeborderalpha,40):0;c.gaugeBorderColor=r(g(b.gaugebordercolor,l.getColor("gaugeBorderColor")),h);c.gaugeBorderThickness=e(b.gaugeborderthickness,1);c.gaugeContainerColor=g(b.thmglasscolor,
b.cylglasscolor,a.glasscolor,L(m,30));0!==q&&(q||b.plotfillhovercolor||b.plotfillhoveralpha||0===b.plotfillhoveralpha)&&(c.showHoverEffect=!0,q=g(b.plotfillhovercolor,b.cylfillhovercolor,b.thmfillhovercolor,"{dark-10}"),c.plotFillHoverAlpha=e(b.plotfillhoveralpha,b.cylfillhoveralpha,b.thmfillhoveralpha,f),c.plotFillHoverColor=/\{/.test(q)?l.parseColorMix(m,q)[0]:q);this.setValue(d);a._parseSpecialConfig&&a._parseSpecialConfig()},_getLabelSpace:function(){var a=this.config,d=this.chart,b=d.get("linkedItems",
"smartLabel");b.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);b.setStyle(a.labelStyle);d=b.getOriSize(""!==a.displayValue?a.displayValue:"dummy");return d.height?d.height+a.valuePadding:0},_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,l=a.canvasRight,g=a.canvasTop,h=a.xDefined,f=a.yDefined,m=a.rDefined,k=a.hDefined,n=a.thmOriginX,p=a.thmOriginY,r=a.thmBulbRadius,t=a.thmHeight,D=ja(a.origW,a.origH,a.width,a.height),v=0,y=0,z=0,w=0,s;s=this._getLabelSpace();
b-=s;y+=s;r=m?r*D:Math.min(d/2,.13*e(t,b));a.effectiveR=r;m=.643*r;a=2*m;v+=m;g+=m;b-=m;h?c=n*D-m-c:(c=(l-c)/2-m,c+a>d&&(c=d-a));z+=c;w+=d-c-a;f&&(p*=D);k?(t*=D,f?v+=p-t-g:p=g+t):f||(t=Math.max(b-1.766*r,3*r),p=g+t);return{top:v,bottom:y+(g+b-p),left:z,right:w}},draw:function(){var a=this.config,d=this.chart,b=d.get("graphics","datalabels"),c=d.get("graphics","trackerGroup"),l=this.graphics||(this.graphics={}),g=d.get("components","scale"),h=d.get("graphics","datasetGroup"),f=d.get("config"),m=d.get("components",
"paper"),k=f.canvasLeft,y=f.canvasTop,p=f.canvasHeight,s=f.effectiveR||10,t=.643*s,D=f.use3DLighting,v=k+t,u=y-t,z=u+t,w=z+p,G=w+.766*s,B=e(a.value,g.getLimit().min),F=g.getPixel(B),g=.33*t,B=u+g,x=.9*t,E=t-g,C=s+x-t,A=v-t,na=v+t,K=v-E,E=v+E,Q=v-x,N=v+x,I=parseInt(v-.6*t,10),t=v+t/2,H=G-Math.abs(Math.sqrt(C*C-x*x)),T=l.container,R=l.fluid,V=l.topLightGlow,P=l.topLight,S=l.label,U=l.dataLabelContainer,Y=l.canvasBorderElement,x=l.bulbBorderLight,O=l.bulbTopLight,$=l.bulbCenterLight,J=l.trackerContainer,
ea=l.cylLeftLight,fa=l.cylRightLight,da=l.cylLeftLight1,ia=l.cylRightLight1,J=l.hotElement,Z=ka(a.gaugeFillColor,D?70:80),pa=a.gaugeFillAlpha,ga=a.gaugeContainerColor,ha=ka(ga,80),ga=L(ga,80),aa=a.gaugeBorderThickness,ca=a.gaugeBorderColor,U=a.showHoverEffect,la=a.plotFillHoverAlpha,ma=a.plotFillHoverColor,ja=d.get("config","animationObj"),qa=ja.animType,ta=ja.animObj,oa=ja.dummyObj,sa=ja.duration,ra=ja&&ja.duration,xa=f.canvasRight,va=f.canvasBottom,Da=f.canvasWidth,Aa=d.config.dataLabelStyle,Ba=
{fontFamily:Aa.fontFamily,fontSize:Aa.fontSize,lineHeight:Aa.lineHeight,fontWeight:Aa.fontWeight,fontStyle:Aa.fontStyle},ja=function(){d._animCallBack&&d._animCallBack()},za=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(oa,ta,c,sa,qa,d);return a},wa,Ca=a.fluidAttr;Ca||(Ca=a.fluidAttr={});U&&(Ca.hover={fill:r(ka(ma,D?70:80),la)});Ca.out={fill:r(Z,pa)};pa=["M",K,u,"A",g,g,0,0,0,A,B,"L",A,w,"A",s,s,0,1,0,na,w,"L",na,B,"A",g,g,0,0,0,E,u,"Z"];f.gaugeStartX=k;f.gaugeEndX=xa;f.gaugeStartY=y;f.gaugeEndY=
va;f.gaugeCenterX=k+.5*Da;f.gaugeCenterY=y+.5*p;f.gaugeRadius=.5*Da;T?ra?(b=c="animate",wa=ja):b=c="attr":(T=l.container=m.group("thermometer",h),Y=l.canvasBorderElement=m.path(T),R=l.fluid=m.path(T).attr({"stroke-width":0}),P=l.topLight=m.path(T).attr({"stroke-width":1}),V=l.topLightGlow=m.path(T).attr({"stroke-width":0}),x=l.bulbBorderLight=m.path(T).attr({"stroke-width":0,stroke:"#00FF00"}),O=l.bulbTopLight=m.path(T).attr({"stroke-width":0}),$=l.bulbCenterLight=m.path(T).attr({"stroke-width":0}),
ea=l.cylLeftLight=m.path(T).attr({"stroke-width":0}),fa=l.cylRightLight=m.path(T).attr({"stroke-width":0}),da=l.cylLeftLight1=m.path(T).attr({"stroke-width":0}),ia=l.cylRightLight1=m.path(T).attr({"stroke-width":0}),J=l.trackerContainer=m.group("col-hot",c),J=l.hotElement=m.path({stroke:Fa,fill:Fa},J).click(function(a){ya.call(this,d,a)}).hover(function(b){a.showHoverEffect&&l.fluid&&l.fluid.attr(Ca.hover);ya.call(this,d,b,"DataPlotRollOver")},function(b){a.showHoverEffect&&l.fluid&&l.fluid.attr(Ca.out);
ya.call(this,d,b,"DataPlotRollOut")}),U=l.dataLabelContainer=m.group("datalabel",b),S=l.label=m.text({text:"","text-anchor":"middle","vertical-align":"top"},U),ra?(c="animate",wa=ja,R.attr({path:["M",Q,H,"A",C,C,0,1,0,N,H,"L",N,H,Q,H,"Z"]})):c="attr",b="attr");za(R,c,{path:["M",Q,H,"A",C,C,0,1,0,N,H,"L",N,F,Q,F,"Z"]},wa).attr(Ca.out);za(Y,b,{path:pa}).attr({"stroke-width":aa,stroke:ca});za(P,b,{path:["M",Q,z,"L",N,z]}).attr({stroke:r(Z,40)});za(J,b,{path:pa}).tooltip(a.toolText);a.showValue?za(S.show(),
b,{x:v,y:G+s+(a.valuePadding||0),fill:Aa.color,"text-bound":[Aa.backgroundColor,Aa.borderColor,Aa.borderThickness,Aa.borderPadding,Aa.borderRadius,Aa.borderDash]}).attr({text:a.displayValue}).css(Ba):(S.hide(),S.attr({"text-bound":[]}));D?(za(V.show(),b,{path:["M",Q,z,"L",N,z,N,B,Q,B,"Z"]}).attr({fill:W({FCcolor:{color:Z+n+Z,alpha:"40,0",ratio:"0,80",radialGradient:!0,cx:.5,cy:1,r:"70%"}})}),s=["M",A,w,"A",s,s,0,0,1,na,w,"A",s,s,0,0,0,A,w,"A",s,s,0,1,0,na,w,"Z"],za(x.show(),b,{path:s}).attr({fill:W({FCcolor:{cx:.5,
cy:.5,r:"50%",color:ha+n+ga,alpha:"0,50",ratio:"78,30",radialGradient:!0}})}),za(O.show(),b,{path:s}).attr({fill:W({FCcolor:{cx:.3,cy:.1,r:"100%",color:ga+n+ha,alpha:"60,0",ratio:"0,30",radialGradient:!0}})}),za($.show(),b,{path:s}).attr({fill:W({FCcolor:{cx:.25,cy:.7,r:"100%",color:ga+n+ha,alpha:"80,0",ratio:"0,70",radialGradient:!0}})}),za(ea.show(),b,{path:["M",v,u,"L",K,u,"A",g,g,0,0,0,A,B,"L",A,w,v,w,"Z"]}).attr({fill:W({FCcolor:{color:ga+n+ha,alpha:"50,0",ratio:"0,80",angle:0}})}),za(fa.show(),
b,{path:["M",A,u,"L",E,u,"A",g,g,0,0,1,na,B,"L",na,w,A,w,"Z"]}).attr({fill:W({FCcolor:{color:ga+n+ha+n+ha,alpha:"50,0,0",ratio:"0,40,60",angle:180}})}),za(da.show(),b,{path:["M",I,B,"L",A,B,A,w,I,w,"Z"]}).attr({fill:W({FCcolor:{color:ga+n+ha,alpha:"60,0",ratio:"0,100",angle:180}})}),za(ia.show(),b,{path:["M",I-.01,B,"L",t,B,t,w,I-.01,w,"Z"]}).attr({fill:W({FCcolor:{color:ga+n+ha,alpha:"60,0",ratio:"0,100",angle:0}})})):(V.hide(),x.hide(),O.hide(),$.hide(),ea.hide(),fa.hide(),da.hide(),ia.hide());
wa||ja()},getDataLimits:function(){var a=this.config,d,b;b=d=a.value;a.maxValue=b;a.minValue=d;return{max:b,min:d}},updateData:function(a,d,b){d=this.config;var c=d.maxValue,e=d.prevMin,g=d.value,h=this.chart,f=this.groupManager||this,m=h.components.scale;this.setValue(a.data[0]);d.maxValue=g;d.minValue=g;if(d.maxValue!==c||d.minValue!==e)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),f.draw())},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",["dataset","cylinder",
{_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,e=a.canvasTop,g=a.canvasRight,h=a.xDefined,f=a.yDefined,m=a.rDefined,k=a.hDefined,n=a.gaugeOriginX,p=a.gaugeOriginY,r=a.gaugeRadius,t=a.gaugeHeight,D=a.gaugeYScale,v=ja(a.origW,a.origH,a.width,a.height),y=0,z=0,w=0,s=0,B;B=this._getLabelSpace();b-=B;z+=B;r=m?r*v:u(oa(d,1.2*b)/2,5);a.effectiveR=r;a=2*r;D*=r;y+=D;e+=D;b-=2*D;h?c=n*v-r-c:(c=(g-c)/2-r,c+a>d&&(c=d-a));s+=d-c-a;f&&(p*=v);k?(t*=v,f?y+=p-t-e:
p=e+t):f||(p=e+b);z=z+D+(e+b-p);return{top:y,bottom:z+8,left:w+c,right:s}},draw:function(){var a=this.config,d=this.chart,b=this.graphics||(this.graphics={}),c=d.graphics,l=c.datalabels,g=c.trackerGroup,h=c.datasetGroup,c=b.fluidTop,f=b.fluid,m=b.cylinterTop,k=b.frontLight1,y=b.frontLight,p=b.front,s=b.back,t=b.btnBorderLight,D=b.btnBorder1,v=b.btnBorder,E=b.label,z=b.dataLabelContainer,w=b.trackerContainer,w=b.hotElement,G=d.components,B=G.scale,z=d.config,F=G.paper,x=z.canvasLeft,G=z.canvasTop,
A=z.canvasHeight,C=z.effectiveR||40,K=e(a.value,B.getLimit().min),B=B.getPixel(K),K=x+C,na=d.config.dataLabelStyle,O={fontFamily:na.fontFamily,fontSize:na.fontSize,lineHeight:na.lineHeight,fontWeight:na.fontWeight,fontStyle:na.fontStyle},Q=a.gaugeFillColor,N=ka(Q,70),I=L(Q,70),H=ka(N,90),T=z.gaugeFillAlpha,R=a.gaugeContainerColor,Q=ka(R,80),V=ka(R,90),R=L(R,80),P=b.container,S=C*z.gaugeYScale,U=C-1.5,Y=G+A,J=K-C,$=K+C,ea=J+1.5,fa=$-1.5,ga=J-2,da=$+2,ha=C+2,Z=S+2,pa=Y+4,ia=pa+.001,aa=.85*C,ca=K-aa,
ja=K+aa,aa=Math.sqrt((1-aa*aa/(C*C))*S*S),la=G+aa,ma=Y+aa,aa=G-1,qa=z.use3DLighting,ta=a.showHoverEffect,oa=a.plotFillHoverAlpha,sa=a.plotFillHoverColor,ra=d.get("config","animationObj"),xa=ra.animType,va=ra.animObj,Da=ra.dummyObj,Ea=ra.duration,Aa=ra&&ra.duration,ra=function(){d._animCallBack&&d._animCallBack()},Ba=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(Da,va,c,Ea,xa,d);return a},za,wa=a.fluidAttr,Ca=z.canvasRight,Ga=z.canvasBottom,Ja=z.canvasWidth,Ha=r(Q,50);z.gaugeStartX=x;z.gaugeEndX=
Ca;z.gaugeStartY=G;z.gaugeEndY=Ga;z.gaugeCenterX=x+.5*Ja;z.gaugeCenterY=G+.5*A;z.gaugeRadius=.5*Ja;wa||(wa=a.fluidAttr={});P?Aa?(g=l="animate",za=ra):g=l="attr":(P=b.container=F.group("thermometer",h),v=b.btnBorder=F.path(P).attr({"stroke-width":4}),D=b.btnBorder1=F.path(P).attr({"stroke-width":4}),t=b.btnBorderLight=F.path(P).attr({"stroke-width":0}),s=b.back=F.path(P).attr({"stroke-width":1}),f=b.fluid=F.path(P).attr({"stroke-width":0}),c=b.fluidTop=F.path(P).attr({"stroke-width":2}),p=b.front=
F.path(P).attr({"stroke-width":1}),y=b.frontLight=F.path(P).attr({"stroke-width":0}),k=b.frontLight1=F.path(P).attr({"stroke-width":0}),m=b.cylinterTop=F.path(P).attr({"stroke-width":2}),w=b.trackerContainer=F.group("col-hot",g),w=b.hotElement=F.path({stroke:Fa,fill:Fa},w).click(function(a){ya.call(this,d,a)}).hover(function(c){a.showHoverEffect&&(b.fluid&&b.fluid.attr(wa.bodyHover),b.fluidTop&&b.fluidTop.attr(wa.topHover));ya.call(this,d,c,"DataPlotRollOver")},function(c){a.showHoverEffect&&(b.fluid&&
b.fluid.attr(wa.bodyOut),b.fluidTop&&b.fluidTop.attr(wa.topOut));ya.call(this,d,c,"DataPlotRollOut")}),z=b.dataLabelContainer=F.group("datalabel",l),E=b.label=F.text({text:"","text-anchor":"middle","vertical-align":"top"},z),Aa?(l="animate",za=ra,f.attr({path:["M",J,Y,"A",C,u(S,1),0,0,0,$,Y,"L",$,Y,"A",C,u(S,1),0,0,1,J,Y,"Z"]}),c.attr({path:["M",ea,Y,"A",U,S,0,0,0,fa,Y,"L",fa,Y,"A",U,S,0,0,0,ea,Y,"Z"]})):l="attr",g="attr");qa?(h=R+n+Q+n+R+n+Q+n+V+n+V+n+Q+n+R,z=W({FCcolor:{cx:.5,cy:0,r:"100%",color:I+
n+N,alpha:T+n+T,ratio:"0,100",radialGradient:!0}}),F=W({FCcolor:{cx:.5,cy:.7,r:"100%",color:I+n+N,alpha:T+n+T,ratio:"0,100",radialGradient:!0}}),H=r(I,T),I=R+n+Q+n+R+n+R+n+Q+n+R+n+Q+n+R,y.show().attr({fill:W({FCcolor:{color:I,alpha:"40,0",ratio:"0,100",angle:0}})}),Ba(y,g,{path:["M",J,Y,"A",C,S,1,0,0,ca,ma,"L",ca,la,"A",C,S,0,0,1,J,G,"Z"]}),k.show().attr({fill:W({FCcolor:{color:I,alpha:"40,0",ratio:"0,100",angle:180}})}),Ba(k,g,{path:["M",ja,ma,"A",C,S,0,0,0,$,Y,"L",$,G,"A",C,S,1,0,0,ja,la,"Z"]})):
(h=R+n+Q+n+Q+n+Q+n+Q+n+Q+n+Q+n+R,F=z=r(N,T),H=r(H),I=Q+n+Q+n+Q+n+Q+n+Q+n+Q+n+Q+n+Q,y.hide(),k.hide());wa.bodyOut={fill:z};wa.topOut={stroke:H,fill:F};ta&&(k=ka(sa,70),y=L(sa,70),ca=ka(k,90),qa?(wa.bodyHover={fill:W({FCcolor:{cx:.5,cy:0,r:"100%",color:y+n+k,alpha:oa+n+oa,ratio:"0,100",radialGradient:!0}})},wa.topHover={stroke:r(y,oa),fill:W({FCcolor:{cx:.5,cy:.7,r:"100%",color:y+n+k,alpha:oa+n+oa,ratio:"0,100",radialGradient:!0}})}):(wa.bodyHover={fill:r(k,oa)},wa.topHover={stroke:r(ca),fill:r(k,oa)}));
f.attr(wa.bodyOut);c.attr(wa.topOut);Ba(f,l,{path:["M",J,Y,"A",C,u(S,1),0,0,0,$,Y,"L",$,B,"A",C,u(S,1),0,0,1,J,B,"Z"]},za);Ba(c,l,{path:["M",ea,B,"A",U,S,0,0,0,fa,B,"L",fa,B,"A",U,S,0,0,0,ea,B,"Z"]});v.attr({stroke:r(Q,80)});Ba(v,g,{path:["M",ga,pa,"A",ha,Z,0,0,0,da,pa,"L",da,ia,"A",ha,Z,0,0,0,ga,ia,"Z"]});D.attr({stroke:Ha});Ba(D,g,{path:["M",J,pa,"A",C,S,0,0,0,$,pa,"L",$,ia,"A",C,S,0,0,0,J,ia,"Z"]});t.attr({fill:W({FCcolor:{color:R+n+Q+n+R+n+R+n+Q+n+N+n+Q+n+R,alpha:"50,50,50,50,50,70,50,50",ratio:"0,15,0,12,0,15,43,15",
angle:0}})});Ba(t,g,{path:["M",J,Y,"A",C,S,0,0,0,$,Y,"A",C,S,0,0,0,J,Y,"Z"]});s.attr({stroke:Ha,fill:W({FCcolor:{color:h,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,43,15,0,12,0,15",angle:0}})});Ba(s,g,{path:["M",J,Y,"A",C,S,0,0,0,$,Y,"L",$,G,"A",C,S,0,0,0,J,G,"Z"]});p.attr({stroke:Ha,fill:W({FCcolor:{color:I,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,0,12,0,15,43,15",angle:0}})});Ba(p,g,{path:["M",J,Y,"A",C,S,0,0,0,$,Y,"L",$,G,"A",C,S,0,0,1,J,G,"Z"]});m.attr({stroke:r(Q,40)});Ba(m,g,{path:["M",
J,aa,"A",C,S,0,0,0,$,aa,"L",$,aa,"A",C,S,0,0,0,J,aa,"Z"]});Ba(w,g,{path:["M",J,Y,J,pa+4,"A",C,S,0,0,0,$,pa+4,"L",$,Y,$,G,"A",C,S,0,0,0,J,G,"Z"]}).tooltip(a.toolText);a.showValue?(E.show().attr({text:a.displayValue}),Ba(E,g,{x:K,y:Y+S+(a.valuePadding||0)+8,fill:na.color,"text-bound":[na.backgroundColor,na.borderColor,na.borderThickness,na.borderPadding,na.borderRadius,na.borderDash]}).css(O)):(E.hide(),E.attr({"text-bound":[]}));za||ra()}},"thermometer"]);f("angulargauge",{friendlyName:"Angular Gauge",
creditLabel:!1,defaultDatasetType:"angulargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,isRealTime:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,colorRange:!0,defaultPaletteOptions:ca(la({},k.defaultGaugePaletteOptions),{dialColor:["999999,ffffff,999999","ADB68F,F3F5DD,ADB68F","A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],dialBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"],pivotColor:["999999,ffffff,999999","ADB68F,F3F5DD,ADB68F",
"A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],pivotBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"]}),rtParserModify:!0,applicableDSList:{angulargauge:!0},_spaceManager:function(){var a,d,b=this.config,c=this.components,l=c.dataset[0],c=c.scale,g=l.chart.jsonData.chart,l=l.config,h=l.scaleFactor,f=0,m=0,k=l.pivotRadius,n=b.dataLabels.style.fontSize,f=b.dataLabels.style.lineHeight,p=b.displayValueCount,k=b.borderWidth,r=b.minChartWidth,t=b.minChartHeight;a=0;var s;
b.canvasWidth-2*k<r&&(d=(b.canvasWidth-r)/2);b.canvasHeight-2*k<t&&(s=(b.canvasHeight-t)/2);this._allocateSpace({top:s||k,bottom:s||k,left:d||k,right:d||k});b.scaleFactor=b.autoScale?h=this._getScaleFactor(l.origW,l.origH,b.width,b.height):h=1;n=n.replace(/px/i,"");f=f.replace(/px/i,"");s=/^\d+\%$/.test(l.gaugeinnerradius)?parseInt(l.gaugeinnerradius,10)/100:.7;a=k=e(y(g.pivotradius)*h,5);l.pivotRadius=a;k=Math.max(k,l.rearExtension*h);l.compositPivotRadius=k;f=p*f+2+a;l.valueBelowPivot||(m=f,f=0);
l.gaugeOuterRadius=e(Math.abs(y(g.gaugeouterradius)*h));l.gaugeInnerRadius=e(Math.abs(y(g.gaugeinnerradius)*h),l.gaugeOuterRadius*s);a=.7*b.canvasWidth;d=.7*b.canvasHeight;a=c.placeAxis(oa(a,d));a=u(a.left,a.right,a.top,a.bottom);d=.225*b.canvasHeight;this._manageChartMenuBar(d);g=this._angularGaugeSpaceManager(l.gaugeStartAngle,l.gaugeEndAngle,b.canvasWidth,b.canvasHeight,l.gaugeOuterRadius,e(y(g.gaugeoriginx)*h-b.canvasLeft),e(y(g.gaugeoriginy)*h-b.canvasTop),Math.max(k,n),f,m);g.radius=e(g.radius,
g.maxRadius);l.gaugeOriginX=g.centerX+b.canvasLeft;l.gaugeOriginY=g.centerY+b.canvasTop;l.gaugeOuterRadius||(l.gaugeOuterRadius=g.radius,l.gaugeOuterRadius-=a);void 0===l.gaugeInnerRadius&&(l.gaugeInnerRadius=l.gaugeOuterRadius*s);c.setAxisConfig({centerX:l.gaugeOriginX,centerY:l.gaugeOriginY,radius:g.radius||l.gaugeOuterRadius,gaugeOuterRadius:l.gaugeOuterRadius,gaugeInnerRadius:l.gaugeInnerRadius,scaleFactor:h});g=c.getLimit();c.getPixel(g.min);c.getPixel(g.max);b.gaugeStartX=b.canvasLeft;b.gaugeStartY=
b.canvasTop;b.gaugeEndX=b.canvasRight;b.gaugeEndY=b.canvasBottom;b.gaugeCenterX=l.gaugeOriginX;b.gaugeCenterY=l.gaugeOriginY;b.gaugeStartAngle=l.gaugeStartAngle/Ya;b.gaugeEndAngle=l.gaugeEndAngle/Ya},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","polarGauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData,c=b.chart,l=k.chartPaletteStr.chart2D,f=e(c.axisontop,c.axisonleft,void 0!==
c.ticksbelowgauge?!c.ticksbelowgauge:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),d={outCanfontFamily:g(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Ea(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:g(c.outcnvbasefontcolor,c.basefontcolor,d.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:g(c.vdivlinecolor,d.getColor(l.divLineColor)),divLineAlpha:g(c.vdivlinealpha,d.getColor("divLineAlpha")),
divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:g(c.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:g(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,
labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,
zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,
100),axisLineColor:g(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits,
adjustTM:c.adjusttm,minorTMNumber:c.minortmnumber,minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,ticksBelowGauge:c.ticksbelowgauge,ticksBelowGraph:c.ticksbelowgraph,
trendValueDistance:c.trendvaluedistance};d.trendPoints=b.trendpoints;a=a.scale;a.setCommonConfigArr(d,!this.isHorizontal,h,f);a.configure()},_drawCanvas:function(){var a=this.components,d=a.dataset[0],b=d.config,d=d.graphics||(d.graphics={}),c=a.scale,l=a.colorManager,f=c.config.axisRange,h=a.colorRange,k=this.graphics.datasetGroup,m=this.graphics.datalabelGroup,a=a.paper,y=b.gaugeOuterRadius,s=b.gaugeInnerRadius,p=b.gaugeFillRatio,E=b.gaugeBorderColor,t=b.gaugeBorderThickness,D=b.gaugeBorderAlpha,
v=b.gaugeFillMix,A=b.gaugeOriginX,z=b.gaugeOriginY,w=b.gaugeStartAngle,G=b.showShadow,B=f.min,f=f.max,F=h?h.getColorRangeArr(B,f):[],x=this.get("config","animationObj"),h=x.duration,B=x.dummyObj,L=x.animObj,x=x.animType,C=0,K=F.length,J,O,Q,N,I,H,T=0;d.band=d.band||[];d.bandGroup||(d.bandGroup=a.group("bandGroup",k));for(d.pointGroup?d.pointGroup.animateWith(B,L,{transform:"t"+A+","+z},h,x):d.pointGroup=a.group("pointers",m).translate(A,z);C<K;C+=1)J=F[C],k=c.getAngle(Math.min(J.maxvalue,f)),Q=l.parseColorMix(J.code,
v),N=l.parseAlphaList(J.alpha,Q.length),I=l.parseRatioList(s/y*100+p,Q.length),H=J.bordercolor,O=e(J.borderAlpha,D),H=H&&-1==H.indexOf("{")?r(H,O):l.parseColorMix(J.code,g(H,E))[0],H=r(H,O),J=N.split(n),J=u.apply(Math,J),J=G?u(t&&O||0,J):0,O=k,w>k&&(w+=k,k=w-k,w-=k),d.band[C]?d.band[C].animateWith(B,L,{ringpath:[A,z,y,s,w,k]},h,x):d.band[C]=a.ringpath(A,z,y,s,w,k,d.bandGroup),d.band[C].attr({fill:W({FCcolor:{cx:A,cy:z,r:y,gradientUnits:"userSpaceOnUse",color:Q.join(),alpha:N,ratio:I,radialGradient:!0}}),
"stroke-width":t,stroke:H}).shadow({apply:G,opacity:J/100}),w=O,T+=1;C=T;for(K=d.band.length;C<K;C+=1)d.band[C].attr({ringpath:[0,0,0,0,0]});c=b.isRadialGradient?{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!0,angle:b.pivotFillAngle,cx:.5,cy:.5,r:"50%"}:{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!1,angle:b.pivotFillAngle};d.pivot?d.pivot.animateWith(B,L,{cx:A,cy:z,r:b.pivotRadius},h,x):(d.pivot=a.circle(m),d.pivot.attr({cx:A,
cy:z,r:b.pivotRadius}));d.pivot.attr({fill:W({FCcolor:c}),"stroke-width":b.pivotBorderThickness,stroke:b.pivotBorderColor}).shadow({apply:G})},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.pointers||d.dials,c;c=this.defaultDatasetType;b||(d.dials=b={dial:[{value:0}]});a=a.dataset||(a.dataset=[]);c&&(c=FusionCharts.get("component",["dataset",c]))&&(a[0]?(c=a[0].components.data&&a[0].components.data.length,b=b.dial&&b.dial.length||0,c>b&&a[0].removeData(c-b),a[0].configure()):
(c=new c,a.push(c),c.chart=this,c.init(b)))},_setCategories:function(){},_angularGaugeSpaceManager:function(a,d,b,c,e,g,h,f,m,k){var n=qa(e),p=qa(g),r=qa(h),t=2*Math.PI,y=Math.PI,v=Math.PI/2,s=y+v,z;e={radius:e,centerX:g,centerY:h};var w,u,B,F,x=!1,A,C=a%t;0>C&&(C+=t);(f=f||0)&&f<b/2&&f<c/2&&(x=!0);m>c/2&&(m=c/2);k>c/2&&(k=c/2);u=Math.cos(a);F=Math.sin(a);B=Math.cos(d);A=Math.sin(d);w=Math.min(u,B,0);B=Math.max(u,B,0);u=Math.min(F,A,0);F=Math.max(F,A,0);if(!n||!p||!r){d-=a;a=C+d;if(a>t||0>a)B=1;if(0<
d){if(C<v&&a>v||a>t+v)F=1;if(C<y&&a>y||a>t+y)w=-1;if(C<s&&a>s||a>t+s)u=-1}else{if(C>v&&a<v||a<-s)F=1;if(C>y&&a<y||a<-y)w=-1;if(C>s&&a<s||a<-v)u=-1}p?n||(t=b-g,z=w?Math.min(t/B,-g/w):t/B):(p=b/(B-w),g=-p*w,z=p,x&&(b-g<f?(g=b-f,t=b-g,z=w?Math.min(t/B,-g/w):t/B):g<f&&(g=f,t=b-g,z=w?Math.min(t/B,-g/w):t/B)),e.centerX=g);r?n||(t=c-h,z=Math.min(z,u?Math.min(t/F,-h/u):t/F)):(p=c/(F-u),h=-p*u,x&&(c-h<f?(h=c-f,t=c-h,z=Math.min(z,u?Math.min(t/F,-h/u):t/F)):h<f&&(h=f,t=c-h,z=Math.min(z,u?Math.min(t/F,-h/u):
t/F))),c-h<m?(h=c-m,t=c-h,z=Math.min(z,u?Math.min(t/F,-h/u):t/F)):h<k&&(h=k,t=c-h,z=Math.min(z,u?Math.min(t/F,-h/u):t/F)),z=Math.min(z,p),e.centerY=h);e.maxRadius=z;0>=e.maxRadius&&(e.maxRadius=Math.min(b/2,c/2))}return e},_getScaleFactor:function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},_setData:f.hlineargauge,_getData:f.hlineargauge,_getDataForId:f.hlineargauge,_setDataForId:f.hlineargauge},f.axisgaugebase);FusionCharts.register("component",["dataset","angulargauge",
{type:"angulargauge",pIndex:2,customConfigFn:"_createDatasets",init:function(){this.components=this.components||{};this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.config,b=a.jsonData,c=b.chart,l=b.pointers||b.dials,f=l.pointer||l.dial,h=this.components.data||(this.components.data=[]),b=a.components,n=b.scale,b=b.colorManager,m=this.config||(this.config={}),s=e(c.gaugescaleangle,180),u=e(c.gaugestartangle),p=e(c.gaugeendangle),A=qa(u),t=ha?.001:.01,D=qa(p),v,L,z,w;z=d.displayValueCount=
0;for(w=f.length;z<w;z+=1)h[z]=h[z]||(h[z]={}),h[z].basewidth=f[z].basewidth,h[z].color=f[z].color,h[z].alpha=f[z].alpha,h[z].bgcolor=f[z].bgcolor,h[z].borderalpha=f[z].borderalpha,h[z].bordercolor=f[z].bordercolor,h[z].borderthickness=f[z].borderthickness,h[z].editmode=f[z].editmode,h[z].id=g(f[z].id,"dial"+z),h[z].link=f[z].link,h[z].radius=f[z].radius,h[z].rearextension=f[z].rearextension,h[z].showvalue=f[z].showvalue,h[z].tooltext=f[z].tooltext,h[z].topwidth=f[z].topwidth,h[z].value=f[z].value,
h[z].valuex=f[z].valuex,h[z].valuey=f[z].valuey,h[z].baseradius=f[z].baseradius,h[z].displayvalue=f[z].displayvalue,v=m.showValue=e(c.showvalue,c.showrealtimevalue,0),v=e(h[z].showvalue,v),L=e(y(h[z].valuey)),v&&!qa(L)&&(d.displayValueCount+=1);if(360<s||-360>s)s=0<s?360:-360;if(360<p||-360>p)p%=360;if(360<u||-360>u)u%=360;if(A&&D){if(s=u-p,360<s||-360>s)s%=360,p=u-s}else if(A){if(p=u-s,360<p||-360>p)p%=360,u+=0<p?-360:360}else if(D){if(u=p+s,360<u||-360>u)u%=360,p+=0<u?-360:360}else 360===s?(u=180,
p=-180):-360===s?p=u=-180:(u=90+s/2,p=u-s);360===Math.abs(s)&&(s+=0<s?-t:t,p=u-s);p=360-p;u=360-u;if(360<u||360<p)u-=360,p-=360;m.gaugeStartAngle=u*=Ya;m.gaugeEndAngle=p*Ya;m.gaugeScaleAngle=s=-s*Ya;m.upperLimit=e(c.upperlimit);m.lowerLimit=e(c.lowerlimit);n.setAxisConfig({startAngle:u,totalAngle:-s});f=e(c.scaleonresize,1);m.origW=e(c.origw,f?a.origRenderWidth:d.width);m.origH=e(c.origh,f?a.origRenderHeight:d.height);d.showtooltip=e(c.showtooltip,1);d.autoScale=e(c.autoscale,1);m.rearExtension=e(l.rearextension,
0);m.gaugeinnerradius=c.gaugeinnerradius;m.valueBelowPivot=e(c.valuebelowpivot,0);m.showShadow=e(c.showshadow,1);l=e(c.showgaugeborder,1);m.gaugeFillMix=k.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{light-70},{dark-10}");m.gaugeFillRatio=k.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio);void 0===m.gaugeFillRatio?m.gaugeFillRatio=",6":""!==m.gaugeFillRatio&&(m.gaugeFillRatio=","+m.gaugeFillRatio);m.gaugeBorderColor=
g(c.gaugebordercolor,"{dark-20}");m.gaugeBorderThickness=l?e(c.gaugeborderthickness,1):0;m.gaugeBorderAlpha=e(c.gaugeborderalpha,100);a=b.parseColorMix(g(c.pivotfillcolor,c.pivotcolor,c.pivotbgcolor,b.getColor("pivotColor")),g(c.pivotfillmix,"{light-10},{light-30},{dark-20}"));m.pivotFillAlpha=b.parseAlphaList(g(c.pivotfillalpha,ga),a.length);m.pivotFillRatio=b.parseRatioList(g(c.pivotfillratio,xa),a.length);m.pivotFillColor=a.join();m.pivotFillAngle=e(c.pivotfillangle,0);m.isRadialGradient="radial"==
g(c.pivotfilltype,"radial").toLowerCase();m.showPivotBorder=e(c.showpivotborder,0);m.pivotBorderThickness=e(c.pivotborderthickness,1);m.pivotBorderColor=r(g(c.pivotbordercolor,b.getColor("pivotBorderColor")),1==m.showPivotBorder?g(c.pivotborderalpha,ga):xa);d.dataLabels=d.dataLabels||{};a=(a=ia(c.valuebordercolor,E))?r(a,e(c.valueborderalpha,c.valuealpha,100)):E;d=d.dataLabels.style={fontFamily:g(c.valuefont,d.style.inCanfontFamily),fontSize:g(c.valuefontsize,parseInt(d.style.inCanfontSize,10))+"px",
color:r(g(c.valuefontcolor,d.style.inCancolor),e(c.valuefontalpha,c.valuealpha,100)),fontWeight:e(c.valuefontbold)?"bold":"normal",fontStyle:e(c.valuefontitalic)?"italic":"normal",border:a||c.valuebgcolor?e(c.valueborderthickness,1)+"px solid":void 0,borderColor:a,borderThickness:e(c.valueborderthickness,1),borderPadding:e(c.valueborderpadding,2),borderRadius:e(c.valueborderradius,0),backgroundColor:c.valuebgcolor?r(c.valuebgcolor,e(c.valuebgalpha,c.valuealpha,100)):E,borderDash:e(c.valueborderdashed,
0)?da(e(c.valueborderdashlen,4),e(c.valueborderdashgap,2),e(c.valueborderthickness,1)):""};Pa(d)},draw:function(a){var d=this,b=d.chart,c=d.idMap,l=b.config,f=b.jsonData.chart,h=d.components.data,k=d.config,m=d.graphics,n=b.components,s=n.numberFormatter,p=n.paper,u=n.colorManager,t=Number(k.gaugeOriginX),D=Number(k.gaugeOriginY),v=k.gaugeStartAngle,A=k.gaugeEndAngle,z=k.showShadow,w=l.showtooltip,G=n.scale.config.axisRange,B=G.min,F=G.max,x=m.pointGroup,L=m.dataLabelGroup,C=F-B,J=A-v,K=C/J,ba,Q=
e(f.showhovereffect),N=d.showValue=e(f.showvalue,f.showrealtimevalue,0),I=0,H=l.dataLabels.style,T={fontFamily:H.fontFamily,fontSize:H.fontSize,lineHeight:H.lineHeight,fontWeight:H.fontWeight,fontStyle:H.fontStyle},R=l.scaleFactor,V=e(parseInt(H.lineHeight,10),12),P=k.valueBelowPivot,S=b.get("config","animationObj"),U=S.duration,Y=S.dummyObj,ga=S.animObj,$=S.animType,da=0,aa=0,ha,ia,ca,Z,pa,ja,la,ka,ma,oa,ra,sa=h&&h.length,xa,va,Ea,Ha={pageX:0,pageY:0},Ga=Ua(v,A),Fa=ob(b.linkedItems.container),Ka=
function(a,c){var d=h[this.pos],e=d.config||{};if(d.editMode){t=Number(k.gaugeOriginX);D=Number(k.gaugeOriginY);var g;g=[t,D];g=ta(c-g[1]-Fa.top,a-g[0]-Fa.left);l.rotationStartAngle=g;e.dragStartY=d.value;Ea=b._getDataJSON()}},Na=function(){var a=h[this.pos],c=b.chartInstance,d;if(a.editMode){(d=c&&c.jsVars)&&(d._rtLastUpdatedData=b._getDataJSON());fa.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:Ea.values,source:"editMode",url:null},
c);try{Ja.FC_ChartUpdated&&Ja.FC_ChartUpdated(c.id)}catch(e){setTimeout(function(){throw e;},1)}}},Aa=function(a,b,c,e,g){a=h[this.pos];b=hb&&(hb&&g.sourceEvent&&g.sourceEvent.touches&&g.sourceEvent.touches[0]||g)||Ha;var f,m;if(a.editMode){l.fromDrag=!0;t=Number(k.gaugeOriginX);D=Number(k.gaugeOriginY);B=G.min;F=G.max;v=k.gaugeStartAngle;A=k.gaugeEndAngle;C=F-B;J=A-v;K=C/J;f=[t,D];c=ta(e-f[1]-Fa.top,c-f[0]-Fa.left);c=l.rotationStartAngle-c;e=0>c?nb+c:c-nb;c=a.config.dragStartY-c*K;e=a.config.dragStartY-
e*K;(c<B||c>F)&&e>=B&&e<=F&&(c=e);c<B?c=Da(e-F)<Da(c-B)?F:B:c>F&&(c=Da(c-F)<Da(e-B)?F:B);a.config.updatedValStr=c+"";a.config.updatedVal=c;e=[];f=0;for(m=a.config.index;f<m;f+=1)e.push("");e.push({value:c,animation:{duration:0,transposeAnimDuration:0,initAnimDuration:0}});a.config.y!==c&&d.updateData({data:e})&&(a.updatedValStr=e.join("|"),a.dragStartX=t||g.pageX||b.pageX)}},Ba,za,wa,Ca,Xa,Ma,Oa,Pa,Sa,Qa,Ta,Za,Ra,fb,Va,db,ab,bb,$a,cb,eb,gb,wb,xb,yb,kb,pb,tb,mb,zb,Db,lb,Eb,vb,Ab,qb,Fb,rb,Gb,Bb,sb,
Cb,ub;Ab=qb=k.pivotRadius;void 0===k.dataById&&(k.dataById={});a=a||S;L||(L=m.dataLabelGroup=p.group("datalabels").insertAfter(m.pointGroup));m.pointersPath||(m.pointersPath=[]);m.pointersTpath||(m.pointersTpath=[]);m.dataLabel||(m.dataLabel=[]);Ta=function(a){l.fromDrag?l.fromDrag=!1:ya.call(this,b,a)};sa||(sa=0);for(0!==Q&&(Q||f.dialborderhovercolor||f.dialborderhoveralpha||0===f.dialborderhoveralpha||f.dialborderhoverthickness||0===f.dialborderhoverthickness||f.dialbghovercolor||f.plotfillhovercolor||
f.dialbghoveralpha||f.plotfillhoveralpha||0===f.dialbghoveralpha)&&(Q=1);I<sa;I+=1){Z=h[I];Z.config=Z.config||{};Ra=Z.config;Z.config.index=I;c[Z.id]={index:I,config:Z.config};ub=!1;void 0!==Z.id&&(k.dataById[Z.id]={index:I,point:Z});fb=s.getCleanValue(Z.value);ma=e(Z.rearextension,0)*R;Ab=Math.max(Ab,ma*R);Va=s.dataLabels(fb);db=y(Z.displayvalue,Va,E);ab=e(Z.showvalue,N);bb=e(y(Z.valuey)*R);Fb=e(y(Z.valuex)*R);g(Z.tooltext,Z.hovertext);Ra.itemValue=fb;Ra.formatedVal=Va;ab&&qa(bb);$a=($a=y(ea(g(Z.tooltext,
Z.hovertext))))?O($a,[1,2],{formattedValue:Va},Z,f):db;cb=g(Z.color,Z.bgcolor,u.getColor("dialColor"));eb=e(Z.alpha,Z.bgalpha,100);gb=W({FCcolor:{color:cb,alpha:eb,angle:90}});wb=g(Z.bordercolor,u.getColor("dialBorderColor"));xb=e(Z.borderalpha,100);yb=r(wb,xb);kb=e(Z.borderthickness,1);pa=e(Z.radius)*R;ja=e(e(Z.basewidth*R,1.6*qb));la=e(Z.topwidth,0)*R;ka=e(Z.baseradius,0);ba=e(Z.editmode,f.editmode,0);Ba=g(Z.link,E);rb=$a;Ra.toolText=rb;Gb=g(db,E);db=ab?g(db," "):E;pb=e(Z.showhovereffect,Q);if(0!==
pb&&(pb||Z.borderhovercolor||Z.borderhoveralpha||0===Z.borderhoveralpha||Z.borderhoverthickness||0===Z.borderhoverthickness||Z.bghovercolor||Z.bghoveralpha||0===Z.bghoveralpha)){pb=!0;ca={};ia={};tb=g(Z.borderhovercolor,f.dialborderhovercolor,"{dark-10}");mb=e(Z.borderhoveralpha,f.dialborderhoveralpha,xb);if(zb=e(Z.borderhoverthickness,f.dialborderhoverthickness,kb))ca.stroke=yb,Db=/\{/.test(tb),ia.stroke=r(Db?u.parseColorMix(wb,tb)[0]:tb,mb);zb!==kb&&(ia["stroke-width"]=zb,ca["stroke-width"]=kb);
lb=g(Z.bghovercolor,f.dialbghovercolor,f.plotfillhovercolor,"{dark-10}");Eb=e(Z.bghoveralpha,f.dialbghoveralpha,f.plotfillhoveralpha,eb);ca.fill=gb;lb=(vb=/\{/.test(lb))?u.parseColorMix(cb,lb).join():lb;ha={FCcolor:{color:lb,alpha:Eb,angle:90}};ia.fill=W(ha)}wa=Z.rolloverProperties={enabled:pb,hasHoverSizeChange:void 0,hoverRadius:e(Xa*R),baseHoverWidth:e(Ma*R,1.6*qb),topHoverWidth:e(Pa*R),rearHoverExtension:e(Qa*R),hoverFill:ha,hoverAttr:ia,outAttr:ca};pa=e(pa,(Number(k.gaugeOuterRadius)+Number(k.gaugeInnerRadius))/
2);oa=ja/2;ra=la/2;Z.tooltipPos=[t,D];Ba=Z.editMode?void 0:Z.link;Ca=["M",pa,-ra,"L",pa,ra,-ma,oa,-ma,-oa,"Z"];wa.hasHoverSizeChange&&(wa.outAttr.path=Ca,Xa=e(wa.hoverRadius,pa),Ma=wa.baseHoverWidth,Oa=Ma/2,Pa=wa.topHoverWidth,Sa=Pa/2,Qa=wa.rearHoverExtension,wa.hoverAttr.path=["M",Xa,-Sa,"L",Xa,Sa,-Qa,Oa,-Qa,-Oa,"Z"]);za={link:Z.link,value:fb,displayValue:Gb,toolText:rb};m.pointersTpath[I]?la?(m.pointersPath[I].animateWith(Y,ga,{path:Ca},U,$),m.pointersTpath[I]._attr({trianglepath:[0,0,0,0,0,0,0,
0,0]})):(m.pointersTpath[I].animateWith(Y,ga,{trianglepath:[pa,ra,-ma,oa,-ma,-oa,0,ka,ka]},U,$),m.pointersPath[I]._attr({path:"M00"})):(la?(m.pointersPath[I]=p.path(Ca,x),m.pointersTpath[I]=p.trianglepath(0,0,0,0,0,0,0,0,0,x)):(m.pointersPath[I]=p.path(["M",0,0],x),m.pointersTpath[I]=p.trianglepath(pa,ra,-ma,oa,-ma,-oa,0,ka,ka,x)),ub=!0);va=la?m.pointersPath[I]:m.pointersTpath[I];m.pointersPath[I]._attr||(m.pointersPath[I]._attr=m.pointersPath[I].attr,m.pointersPath[I].attr=Ga);m.pointersTpath[I]._attr||
(m.pointersTpath[I]._attr=m.pointersTpath[I].attr,m.pointersTpath[I].attr=Ga);va._attr({fill:gb,stroke:yb,ishot:!0,"stroke-width":kb}).data("eventArgs",za);(ja||la||kb)&&va.shadow({apply:z});va._Attr={tooltipPos:Z.tooltipPos,cx:t,cy:D,toolTipRadius:pa-ma,color:Z.color};ub&&(xa=v/Ya,va.attr({angle:xa}));Z.index=I;Z.editMode=ba;va.css({cursor:ba||Ba?"pointer":"default",_cursor:ba?"hand":"default"}).attr({ishot:ba?!0:!1});ub&&(m.pointersPath[I].drag(Aa,Ka,Na,{pos:I},{pos:I},{pos:I}).click(Ta),m.pointersTpath[I].drag(Aa,
Ka,Na,{pos:I},{pos:I},{pos:I}).click(Ta));Ra.y=fb;fb>=B&&fb<=F&&(Za=(fb-B)/C*J,xa=(v+Za)/Ya,va.attr({angle:xa},null,a),w&&""!==rb?(va.tooltip(rb),va.trackTooltip(!0)):va.trackTooltip(!1));aa+=1;qa(db)&&db!==E&&(Bb=D+(P?V/2+qb+2:-(V/2)-qb-2),sb=bb,Cb=e(Fb,t),qa(sb)||(sb=P?Bb+V*da:Bb-V*da),m.dataLabel[I]?(m.dataLabel[I].attr({text:db,title:Z.originalText||"",fill:H.color,"text-bound":[H.backgroundColor,H.borderColor,H.borderThickness,H.borderPadding,H.borderRadius,H.borderDash]}).css(T).tooltip(Z.originalText),
m.dataLabel[I].animateWith(Y,ga,{x:Cb,y:sb},U,$)):m.dataLabel[I]=p.text(L).attr({x:Cb,y:sb,text:db,direction:l.textDirection,fill:H.color,"text-bound":[H.backgroundColor,H.borderColor,H.borderThickness,H.borderPadding,H.borderRadius,H.borderDash]}).css(T).tooltip(Z.originalText),da+=1)}I=aa;for(sa=m.pointersPath.length;I<sa;I+=1)m.pointersPath[I].attr({path:["M",0,0]}),m.pointersTpath[I].attr({trianglepath:[0,0,0,0,0,0,0,0,0]});I=da;for(sa=m.dataLabel.length;I<sa;I+=1)m.dataLabel[I].attr({text:"",
"text-bound":[]})},updateData:function(a){if(a===this.lastUpdatedObj)return!1;var d=this.chart,b=this.components.data,c,g=this.components.data,g=g&&g.length||0,f,h;a=a.data;if(g){for(;g--;)if(c=a[g])h=c.animation||d.get("config","animationObj"),f=c.value,c=c.label,b[g].value=e(f,b[g].value,0),b[g].displayvalue=c;this.lastUpdatedObj=a;this.draw(h);return!0}}},"hlineargauge"]);f("bulb",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Bulb Gauge",defaultSeriesType:"bulb",defaultPlotShadow:1,standaloneInit:!0,
drawAnnotations:!0,charttopmargin:10,chartrightmargin:10,chartbottommargin:10,chartleftmargin:10,realtimeEnabled:!0,isRealTime:!0,defaultDatasetType:"bulb",applicableDSList:{bulb:!0},creditLabel:!1,_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b=[],c;b.push({value:this.jsonData.value});c={data:b};this.config.categories=b;a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(d=a[0].JSONData,d=d.data.length,b=c.data.length,d>b&&a[0].removeData(b-
1,d-b,!1),a[0].JSONData=c,a[0].configure()):(d=new d,a.push(d),d.chart=this,d.init(c)))},_drawCanvas:function(){},_spaceManager:function(){var a,d=this.hasLegend;a=this.config;var b=this.components,c=b.legend,b=b.dataset[0],g=b.config,f=this.jsonData.chart,h=e(f.showborder,this.is3D?0:1),k,m,n=a.minChartWidth,r=a.minChartHeight,f=a.borderWidth=h?e(f.borderthickness,1):0;g.scaleFactor=g.autoScale?this._getScaleFactor(g.origW,g.origH,a.width,a.height):1;a.canvasWidth-2*f<n&&(m=(a.canvasWidth-n)/2);
a.canvasHeight-2*f<r&&(k=(a.canvasHeight-r)/2);this._allocateSpace({top:k||f,bottom:k||f,left:m||f,right:m||f});a=.225*a.canvasHeight;!1!==d&&this._allocateSpace(c._manageLegendPosition(a));this._manageChartMenuBar(a);b._manageSpace&&this._allocateSpace(b._manageSpace(a))},_getData:f.vled,_getScaleFactor:f.angulargauge},f.gaugebase);f("progressgauge",{friendlyName:"Progress Gauge",creditLabel:!1,defaultSeriesType:"progressgauge",singleseries:!0,gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,
hasLegend:!0,defaultDatasetType:"progressgauge",applicableDSList:{progressgauge:!0},_createDatasets:function(){var a=this.components,d=this.jsonData.data,b;b=this.defaultDatasetType;var c=[];if(d){if(sa(d,function(a){a.vline||c.push(a)}),d={data:c},this.config.categories=c,a=a.dataset||(a.dataset=[]),b&&(b=FusionCharts.get("component",["dataset",b])))b=new b,a.push(b),b.chart=this,b.init(d)}else this.setChartMessage()},getDataSet:function(a){return this.components.dataset[a]}},f.bulb);FusionCharts.register("component",
["dataset","bulb",{pIndex:2,customConfigFn:"_createDatasets",_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,g=c.config,f=c.linkedItems.smartLabel,h=g.dataLabelStyle,c=e(parseInt(h.lineHeight,10),12),k=d.valuePadding,m=0,b=(b=b[0])&&b.config;f.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);f.setStyle(h);b&&b.displayValue!==E&&!d.placeValuesInside&&d.showValue&&(g=f.getOriSize(b.displayValue)," "===b.displayValue&&(g={height:c}),0<g.height&&(m=g.height+k),m>a&&(m=a));
d.heightUsed=m;return{top:0,bottom:m}},configure:function(){var a=this.chart,d=this.config,b=a.config,c=a.jsonData.chart;e(c.is3d,1);e(c.showtooltip,1);e(c.is3d,1);d.autoScale=e(c.autoscale,1);d.origW=e(c.origw,d.autoScale?a.origRenderWidth:b.width||a.origRenderWidth);d.origH=e(c.origh,d.autoScale?a.origRenderHeight:b.height||a.origRenderHeight);d.placeValuesInside=e(c.placevaluesinside,0);d.hasGaugeOriginX=g(c.gaugeoriginx,void 0);d.hasGaugeOriginY=g(c.gaugeoriginy,void 0);d.hasGaugeRadius=g(c.gaugeradius,
void 0);d.gaugeOriginX=e(c.gaugeoriginx,0);d.gaugeOriginY=e(c.gaugeoriginy,0);d.gaugeRadius=e(c.gaugeradius,0);d.valuePadding=e(c.valuepadding,2);d.showGaugeBorder=e(c.showgaugeborder,0);d.showHoverEffect=e(c.showhovereffect);e(c.showtooltip,1);d.setToolText=y(ea(g(c.plottooltext,void 0)));d.useColorNameAsValue=e(c.usecolornameasvalue,0);d.enableAnimation=a=e(c.animation,c.defaultanimation,1);d.animation=a?{duration:1E3*e(c.animationduration,1)}:!1;d.showValue=e(c.showvalue,1);this._setConfigure()},
_setConfigure:function(a){var d=this.chart,b=this.config,c=this.JSONData,f=a||c.data,s=f&&f.length,s=a&&a.data.length||s,h=d.jsonData.chart,q=d.components.colorManager,m=e(h.showtooltip,1),u=k.parseUnsafeString;u(g(h.tooltipsepchar,", "));var A=k.parseTooltext,p,E,t=b.showHoverEffect,D=this.components.data,v,J,z,w=e(h.is3d,1),G,B=d.components.numberFormatter,F,x,K,C,O,na,ba,Q,N,I,H,T,R,V,P,S=function(a,b,c){return c?{FCcolor:{cx:.4,cy:.4,r:"80%",color:L(a,65)+n+L(a,75)+n+ka(a,65),alpha:b+n+b+n+b,
ratio:"0,30,70",radialGradient:!0}}:r(a,b)},U;D||(D=this.components.data=[]);for(G=0;G<s;G++)v=a?a&&a.data[G]:f[G],J=(p=D[G])&&p.config,p||(p=D[G]={}),p.config||(J=D[G].config={}),J.setValue=p=B.getCleanValue(v.value)||0,p=B.dataLabels(p),z=y(u(v.displayvalue)),J.colorRangeGetter=F=d.components.colorRange,x=F.getColorObj(J.setValue),x=x.colorObj||x.prevObj||x.nextObj,K=e(h.gaugefillalpha,x.alpha,100),F=u(g(x.label,x.name)),E=g(x.bordercolor,h.gaugebordercolor,ka(x.code,70)),C=e(x.borderalpha,h.gaugeborderalpha,
"90")*K/100,E=(O=/\{/.test(E))?q.parseColorMix(g(x.bordercolor,x.code),E)[0]:E,J.gaugeBorderColor=ba=r(E,C),J.gaugeBorderThickness=Q=b.showGaugeBorder?e(h.gaugeborderthickness,1):0,J.fillColor=na=S(x.code,K,w),0!==t&&(t||h.gaugefillhovercolor||h.plotfillhovercolor||h.gaugefillhoveralpha||h.plotfillhoveralpha||0===h.gaugefillhoveralpha||h.is3donhover||0===h.is3donhover||h.showgaugeborderonhover||0===h.showgaugeborderonhover||h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||
h.gaugeborderhoverthickness||0===h.gaugeborderhoverthickness)&&(t=!0,N=g(h.gaugefillhovercolor,h.plotfillhovercolor,"{dark-10}"),I=e(h.gaugefillhoveralpha,h.plotfillhoveralpha),H=e(h.showgaugeborderonhover),void 0===H&&(H=h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||h.gaugeborderhoverthickness||0===h.gaugeborderhoverthickness?1:b.showGaugeBorder),T=g(h.gaugeborderhovercolor,"{dark-10}"),R=e(h.gaugeborderhoveralpha),V=H?e(h.gaugeborderhoverthickness,Q||1):0,P=!!e(h.is3donhover,
w),e(h.showhoveranimation,1),H={},U={},Q!==V&&(H["stroke-width"]=V,U["stroke-width"]=Q),U.fill=W(na),N=(na=/\{/.test(N))?q.parseColorMix(x.code,N)[0]:g(N,x.code),H.fill=W(S(N,e(I,K),P)),V&&(U.stroke=ba,x=/\{/.test(T),H.stroke=r(x?q.parseColorMix(O?N:E,T)[0]:T,e(R,C)))),J.setTooltext=k.getValidValue(u(g(v.tooltext,c.plottooltext,h.plottooltext))),E=m?void 0!==J.setTooltext?A(J.setTooltext,[1,2],{formattedValue:p},v,h):b.useColorNameAsValue?F:null===p?!1:p:!1,v=void 0!==z?z:v.label||(b.useColorNameAsValue?
F:p),J.toolText=E,J.displayValue=v,J.rolloverProperties={enabled:t,hoverAttr:H,hoverAnimAttr:void 0,outAttr:U}},init:function(a){var d=this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=!0;this.configure()},updateData:function(a,d,b){this._setConfigure(a,d);b&&this.draw()},draw:function(){var a=this.components.data,d=this.chart,b=this.config,c=d.get("config","animationObj"),e=c.animType,g=c.animObj,f=c.dummyObj,c=c.duration,
k=d.config,m=k.canvasLeft,n=k.canvasTop,r=k.canvasHeight,p=k.canvasWidth,s=d.components.paper,t=d.graphics.datasetGroup,u=this.graphics.container,v=this.graphics.trackerContainer,y=d.graphics,z=y.trackerGroup,w=a[0],a=w&&w.config,A=b.gaugeOriginX,B=b.gaugeOriginY,F=b.gaugeRadius,x=b.hasGaugeOriginX,L=b.hasGaugeOriginY,C=b.hasGaugeRadius,J=this.graphics.dataLabelContainer,K=d.config.dataLabelStyle,O=y.datalabelsGroup,Q=!1,y={fontFamily:K.fontFamily,fontSize:K.fontSize,lineHeight:K.lineHeight,fontWeight:K.fontWeight,
fontStyle:K.fontStyle},N=a.rolloverProperties||{},I=function(a){ya.call(this,d,a)},H=function(a){return function(b){a.attr(this.data("setRolloverAttr"));ya.call(this,d,b,"DataPlotRollOver")}},T=function(a){return function(b){a.attr(this.data("setRolloutAttr"));ya.call(this,d,b,"DataPlotRollOut")}};u||(u=this.graphics.container=s.group("bulb",t));v||(v=this.graphics.trackerContainer=s.group("bulb-hot",z));J||(J=this.graphics.dataLabelContainer=s.group("datalabel"));O&&O.appendChild(J);z=a.setValue;
t=a.toolText;z={value:z,displayValue:a.displayValue,toolText:t};w.graphics||(w.graphics={});A=x?A:m+p/2;x&&(A*=b.scaleFactor);B=L?B:n+r/2;L&&(B*=b.scaleFactor);n=A;m=B;r=C?F:oa(p/2,r/2);C&&(r*=b.scaleFactor);k.gaugeStartX=A-r;k.gaugeEndX=A+r;k.gaugeStartY=B-r;k.gaugeEndY=B+r;k.gaugeCenterX=A;k.gaugeCenterY=B;k.gaugeRadius=r;k={cx:n,cy:m,r:.001,"stroke-linecap":"round",stroke:W(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:W(a.fillColor),ishot:!0};(p=w.graphics.element)?(w.graphics.element.animateWith(f,
g,{cx:n,cy:m,r:r},c,e),p=w.graphics.element.attr({"stroke-linecap":"round",stroke:W(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:W(a.fillColor),ishot:!0})):(p=w.graphics.element=s.circle(k,u),p.animateWith(f,g,{r:r},c,e));k={cx:n,cy:m,r:r,cursor:a.setLink?"pointer":"",stroke:Fa,"stroke-width":a.plotBorderThickness,fill:Fa,ishot:!0,visibility:"visible"};(u=w.graphics.hotElement)?u=w.graphics.hotElement.attr(k):(u=w.graphics.hotElement=s.circle(k,v),Q=!0);u.data("eventArgs",z).data("setRolloverAttr",
N.hoverAttr).data("setRolloutAttr",N.outAttr).tooltip(t);Q&&u.click(I).hover(H(p),T(p));v=w.graphics;b.placeValuesInside?(u=m,w=bb):(u=m+r+b.valuePadding,w=Ra);a.setValue!==E&&b.showValue?(k={text:a.displayValue,"text-anchor":"middle",x:A,y:u,"vertical-align":w,fill:K.color,direction:a.textDirection,"text-bound":[K.backgroundColor,K.borderColor,K.borderThickness,K.borderPadding,K.borderRadius,K.borderDash]},v.label?(v.label.show(),v.label.animateWith(f,g,{x:A,y:u},c,e),v.label.attr({text:a.displayValue,
"text-anchor":"middle","vertical-align":w,fill:K.color,direction:a.textDirection,"text-bound":[K.backgroundColor,K.borderColor,K.borderThickness,K.borderPadding,K.borderRadius,K.borderDash]})):v.label=s.text(k,J),v.label.css(y).tooltip(t)):v.label&&v.label.hide()&&v.label.attr({"text-bound":[]})},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",["dataset","progressgauge",{type:"doughnut2d",configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.config,
f=a.jsonData.chart,n=a.components.colorManager,h,q=d.plotColor=n.getPlotColor(this.index||this.positionIndex),m=e(b.dashed,f.plotborderdashed);e(f.useplotgradientcolor,1);var r,s,p,y=k.getDashStyle,t=a.isBar,D=a.is3D,v=a.isStacked,A={},A=A.dataObj||(A.dataObj={}),A=A.chart||(A.chart={});d.showLegend=e(f.showlegend,0);d.legendSymbolColor=d.plotColor;h=d.showplotborder=e(f.showplotborder,D?0:1);d.plotDashLen=r=e(f.plotborderdashlen,5);d.plotDashGap=s=e(f.plotborderdashgap,4);d.plotfillAngle=e(360-f.plotfillangle,
t?180:90);d.plotFillAlpha=p=g(b.alpha,f.plotfillalpha,"70");d.plotColor=g(b.color,q);d.isRoundEdges=q=e(f.useroundedges,0);d.plotRadius=e(f.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=g(b.ratio,f.plotfillratio);d.plotgradientcolor=k.getDefinedColor(f.plotgradientcolor,n.getColor("plotGradientColor"));d.plotBorderAlpha=h?g(f.plotborderalpha,p,ga):0;d.plotBorderColor=g(f.plotbordercolor,D?"#ffffff":n.getColor("plotBorderColor"));d.plotBorderThickness=h=e(f.plotborderthickness,1);d.plotBorderDashStyle=
m?y(r,s,h):"none";d.showValues=e(b.showvalues,f.showvalues,1);d.valuePadding=e(f.valuepadding,2);d.enableAnimation=m=e(f.animation,f.defaultanimation,1);d.animation=m?{duration:1E3*e(f.animationduration,1)}:!1;A.transposeAnimation=d.transposeAnimation=e(f.transposeanimation,A.transposeAnimation,m);d.transposeAnimDuration=700*e(f.transposeanimduration,1);d.showShadow=q||D?e(f.showshadow,1):e(f.showshadow,n.getColor("showShadow"));d.showHoverEffect=e(f.plothovereffect,f.showhovereffect,void 0);d.showTooltip=
e(f.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,f.stack100percent,0);d.definedGroupPadding=u(e(f.plotspacepercent),0);d.plotSpacePercent=u(e(f.plotspacepercent,20)%100,0);d.maxColWidth=e(t?f.maxbarheight:f.maxcolwidth,50);d.showPercentValues=e(f.showpercentvalues,v&&a?1:0);d.showPercentInToolTip=e(f.showpercentintooltip,v&&a?1:0);d.plotPaddingPercent=e(f.plotpaddingpercent);d.rotateValues=e(f.rotatevalues)?270:0;d.placeValuesInside=e(f.placevaluesinside,0);d.zeroPlaneColor=c.zeroPlaneColor;
d.zeroPlaneBorderColor=c.zeroPlaneBorderColor;d.zeroPlaneShowBorder=c.zeroPlaneShowBorder;d.use3DLighting=e(f.use3dlighting,1);d.parentYAxis="s"===g(b.parentyaxis&&b.parentyaxis.toLowerCase(),"p")?1:0;this._setConfigure()},_setConfigure:function(a,d){var b=this.chart,c=this.config,f=this.JSONData,n=a||f.data,h=n&&n.length,q=b.config.categories,m=b.singleseries,q=q&&q.length,h=a&&a.data.length||oa(q,h),q=b.jsonData.chart,r=b.components.colorManager,s=c.showPlotBorder,p=c.plotColor=r.getPlotColor(this.index||
this.positionIndex),A=e(q.showtooltip,1),t=k.parseUnsafeString,D=t(q.yaxisname),v=t(q.xaxisname),E=t(g(q.tooltipsepchar,", ")),z=e(q.seriesnameintooltip,1),w=k.parseTooltext,G,B,F,x,J,C,K,O=c.plotBorderThickness,ba=c.isRoundEdges,Q=c.showHoverEffect,N=c.plotFillAngle,I,H,T,R=c.plotBorderDashStyle,V,P,S,U,Y,da,$,ea,fa,ga=k.getDashStyle,aa=this.components.data,ha=b.isBar,Z=b.is3D,ca,ja=c.maxValue||-Infinity,la=c.minValue||Infinity,ma=this.chart.components.numberFormatter,ka;aa||(aa=this.components.data=
[]);for(ca=0;ca<h;ca++)a?(C=a&&a.data[ca],ka=void 0!==d?d+ca:aa.length-h+ca,B=aa[ka]):(B=aa[ca],C=n[ca]),b=B&&B.config,B||(B=aa[ca]={}),B.config||(b=aa[ca].config={}),b.visible=e(C.visible,!0),b.showValue=e(C.showvalue,c.showValues),b.setValue=B=ma.getCleanValue(C.value),b.setLink=g(C.link),b.toolTipValue=p=ma.dataLabels(B,c.parentYAxis),b.setDisplayValue=x=t(C.displayvalue),b.displayValue=g(x,p),p=e(C.dashed),x=e(C.dashlen,void 0),G=K=e(C.dashgap,K),ja=u(ja,B),la=oa(la,B),b.plotBorderDashStyle=x=
1===p?ga(x,G,O):0===p?"none":R,m?(p=r.getPlotColor(isNaN(ka)?ca:ka),p=g(C.color,p),H=g(C.ratio,c.plotFillRatio)):p=g(C.color,c.plotColor),I=g(C.alpha,c.plotFillAlpha),T=g(C.alpha,c.plotBorderAlpha,I).toString(),b.plotColor=p,b.plotFillAlpha=g(C.alpha,c.plotFillAlpha),b.plotBackgroundFillAlpha=e(C.plotbackgroundfillalpha,q.plotbackgroundfillalpha,30),0>B&&!ba&&(J=N,N=ha?180-N:360-N),b.colorArr=G=k.graphics.getColumnColor(p,I,H,N,ba,c.plotBorderColor,T,ha?1:0,Z?!0:!1),B=y(t(g(C.tooltext,C.label))),
0!==Q&&(V=g(C.hovercolor,f.hovercolor,q.plotfillhovercolor,q.columnhovercolor,p),P=g(C.hoveralpha,f.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,I),S=g(C.hovergradientcolor,f.hovergradientcolor,q.plothovergradientcolor,c.plotgradientcolor),!S&&(S=""),U=g(C.hoverratio,f.hoverratio,q.plothoverratio,H),Y=e(360-C.hoverangle,360-f.hoverangle,360-q.plothoverangle,N),da=g(C.borderhovercolor,f.borderhovercolor,q.plotborderhovercolor,c.plotBorderColor),T=g(C.borderhoveralpha,f.borderhoveralpha,q.plotborderhoveralpha,
T,I),I=e(C.borderhoverthickness,f.borderhoverthickness,q.plotborderhoverthickness,O),$=e(C.borderhoverdashed,f.borderhoverdashed,q.plotborderhoverdashed),ea=e(C.borderhoverdashgap,f.borderhoverdashgap,q.plotborderhoverdashgap,void 0),fa=e(C.borderhoverdashlen,f.borderhoverdashlen,q.plotborderhoverdashlen,K),$=$?ga(fa,ea,I):x,1==Q&&V===p&&(V=L(V,70)),p=k.graphics.getColumnColor(V+","+S,P,U,Y,ba,da,T.toString(),ha?1:0,Z?!0:!1),b.setRolloutAttr={fill:Z?[W(G[0]),!c.use3DLighting]:W(G[0]),stroke:s&&W(G[1]),
"stroke-width":O,"stroke-dasharray":x},b.setRolloverAttr={fill:Z?[W(p[0]),!c.use3DLighting]:W(p[0]),stroke:s&&W(p[1]),"stroke-width":I,"stroke-dasharray":$}),G=b.toolTipValue,p=y(t(g(C.tooltext,f.plottooltext,q.plottooltext))),A?null===G?C=!1:void 0!==p?(x=[1,2,3,4,5,6,7],B={yaxisName:D,xaxisName:v,formattedValue:G,label:B},C=w(p,x,B,C,q,f)):(z&&(F=ia(f&&f.seriesname)),C=F?F+E:"",C+=B?B+E:""):C=!1,b.toolText=C,b.setTooltext=C,J&&(N=J),ka++;c.maxValue=ja;c.minValue=la},init:function(a){var d=this.chart;
if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();this.config.showLegend&&this._addLegend()},_addLegend:function(){var a=this.chart,d=a.jsonData.chart,b=this.JSONData.data,c,f,g,h=this.components.data,k;for(f=0;f<h.length;f+=1)g=h[f],c=g.config,k=b[f].label?b[f].label:"Type "+(f+1),g={FCcolor:{color:c.plotColor,angle:0,ratio:"0",alpha:"100"}},c=L(c.plotColor,
60).replace(Oa,$a),a.components.legend.addItems(this,this.legendInteractivity,{type:this.type,fillColor:W(g),strokeColor:W(c),enabled:e(d.includeinlegend,1),label:k,index:f})},legendInteractivity:function(a,d){var b=a.components.data[d.configuration.index],c=a.config,e=b.graphics,f=b.config.visible,g=this.config,k=d.config,m=d.graphics,n=g.itemHiddenStyle.color,g=g.itemStyle.color,s=k.fillColor,k=k.strokeColor;b.config.visible=f?0:1;f?(c.animation.duration&&c.transposeAnimation||(e.gaugeBackground.hide(),
e.gaugeMeter.hide(),e.hotElement.hide()),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:n,stroke:n}),m.legendItemText&&m.legendItemText.attr({fill:r(n)}),m.legendIconLine&&m.legendIconLine.attr({stroke:n})):(e.gaugeBackground.show(),e.gaugeMeter.show(),e.hotElement.show(),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:s,stroke:k}),m.legendItemText&&m.legendItemText.attr({fill:r(g)}),m.legendIconLine&&m.legendIconLine.attr({stroke:s}));a.draw()},draw:function(){var a=this,d=a.JSONData,b=a.config,
c=a.chart.jsonData.chart,e=a.components.data,f=a.components.data,h=a.chart,k=h.components.paper,m=h.config,n=m.canvasLeft,s=m.canvasTop,p=m.canvasHeight,u=m.canvasWidth,t=h.graphics.datasetGroup,m=a.graphics.gaugeBackgroundContainer,A=a.graphics.gaugeMeterContainer,v=a.graphics.trackerContainer,E=h.graphics.trackerGroup,z=a.components.data.length||0,w,G,B,F,x,J,C,L,K,O,Q,N=b.animation.duration,I=b.transposeAnimation,b=b.transposeAnimDuration;J=0;var H=function(){var b=a.components.data,c,d=a.components.data.length,
e;for(w=0;w<d;w++)c=b[w].config,e=b[w].graphics,c.visible||e.hotElement.hide()};m||(m=a.graphics.gaugeBackgroundContainer=k.group("gauge-background",t));A||(A=a.graphics.gaugeMeterContainer=k.group("gauge-meter",t));v||(v=a.graphics.trackerContainer=k.group("meter-hot",E));for(w=0;w<z;w++)G=e[w],B=(t=f[w])&&t.config,B.visible&&(J+=1);t=oa(p/2,u/2);h=E=.2*oa(h.config.canvasWidth,h.config.canvasHeight);J=(t-J-h)/J;n+=.5*u;s+=.5*p;for(w=0;w<z;w++)if(G=e[w],B=(t=f[w])&&t.config,(u=B.visible)||N)t.graphics||
(f[w].graphics={}),F=B.setValue,p=B.setLink,G=y(ea(g(G.tooltext,d.plottooltext,c.plottooltext))),G=B.toolText+(G?"":B.toolTipValue),x=B.colorArr,Q=w,O={index:w,link:p,value:F,displayValue:B.displayValue,toolText:G,id:"",datasetIndex:a.datasetIndex,datasetName:d.seriesname,dataSet:a,visible:"visible",cx:n,cy:s,radius:E},C=h,L=h+J,K=6.283,t.graphics.gaugeBackground?(B={ringpath:[n,s,C,L,0,K],fill:r(B.plotColor,B.plotBackgroundFillAlpha),"stroke-width":0},I?(B=u?[n,s,C,L,0,K]:[n,s,C,C,0,K],t.graphics.gaugeBackground.animate({ringpath:B},
b,"easeIn")):t.graphics.gaugeBackground.attr(B)):t.graphics.gaugeBackground=k.ringpath(n,s,C,L,0,K,m).attr({fill:r(B.plotColor,B.plotBackgroundFillAlpha),"stroke-width":0}),K=oa(3.6*F,359.99),C=[n,s,h+J/2,oa(3.6*F,359.99)],N&&(K=0),t.graphics.gaugeMeter?(B={arcpath:C,stroke:W(x[0]),"stroke-width":J,"stroke-linecap":"round"},I?u?t.graphics.gaugeMeter.animate({arcpath:C,"stroke-width":J},b,"easeIn",H):(C=[n,s,h,0],t.graphics.gaugeMeter.animate({arcpath:C,"stroke-width":0},b,"easeIn",H)):t.graphics.gaugeMeter.attr(B)):
(t.graphics.gaugeMeter=k.arcpath(n,s,h+J/2,K,A).attr({stroke:W(x[0]),"stroke-width":J,"stroke-linecap":"round"}),N&&t.graphics.gaugeMeter.animate({arcpath:C},N,"easeIn")),B={arcpath:C,cursor:p?"pointer":"",stroke:Fa,"stroke-width":J,"stroke-linecap":"round",ishot:!0},t.graphics.hotElement?t.graphics.hotElement.attr(B):(B=t.graphics.hotElement=k.arcpath(n,s,h+J/2,oa(3.6*F,359.99),v),t.graphics.hotElement.attr({cursor:p?"pointer":"",stroke:Fa,"stroke-width":J,"stroke-linecap":"round",ishot:!0})),B=
t.graphics.hotElement,B.data("eventArgs",O).data("groupId",Q).hover(a._plotRollOver,a._plotRollOut).tooltip(G),u&&(h+=J+1)},_drawDoughnutCenterLabel:function(a,d,b,c,e,f,g,k,m){var n=this.chart;d=this.config;var r=f||d.lastCenterLabelConfig;f=n.components.paper;var p=n.linkedItems.smartLabel;b=this.components.data[m.index];g={fontFamily:"Verdana",fontSize:"12px",lineHeight:1.2*12+"px",fontWeight:"bold",fontStyle:""};c=1.414*(.5*c-2)-4;var s=1.414*(.5*e-2)-4,t=n.graphics.datalabelsGroup;e=this.graphics.dataLabelContainer;
p.useEllipsesOnOverflow(n.config.useEllipsesWhenOverflow);p.setStyle(g);a=p.getSmartText(a,c,s);e||(e=this.graphics.dataLabelContainer=f.group("datalabel",t));m={x:m.cx,y:m.cy,text:a.text,direction:d.textDirection,opacity:k?0:1,fill:W(b.config.colorArr[0]),"text-bound":r.bgOval?"none":[W({color:r.bgColor,alpha:r.bgAlpha}),W({color:r.borderColor,alpha:r.borderAlpha}),r.borderThickness,r.textPadding,r.borderRadius]};b.graphics.label||(b.graphics.label=f.text(m,e));b.graphics.label.attr(m).css(g);k?
b.graphics.label.animate({opacity:1},100,"easeIn"):b.graphics.label.animate({opacity:0},100,"easeOut")},_plotRollOver:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!0,a)},_plotRollOut:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!1,a)},updateData:function(a,d,b){var c=this.config,e=c.maxValue,f=c.prevMin,g=this.chart;this._setConfigure(a,d);
this.setMaxMin();if(c.maxValue!==e||c.minValue!==f)this.maxminFlag=!0;b&&(g._setAxisLimits(),this.draw())},removeData:function(a,d,b){var c=this.components,e=c.data,f=c.removeDataArr||(c.removeDataArr=[]),g=this.config,k=this.maxminFlag;d=d||1;a=a||0;if(a+d===e.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;e[a]&&(e[a].config.visible=0);b&&this.draw();c.removeDataArr=f=f.concat(e.splice(a,d));b=f.length;for(a=0;a<b;a++)if(f[a]){d=f[a].config;if(d.setValue===g.maxValue||d.setValue===
g.minValue)k=this.maxminFlag=!0;if(k)break}k&&this.setMaxMin()}},"Column"]);f("drawingpad",{standaloneInit:!0,friendlyName:"Drawing Pad",creditLabel:!1,bgColor:"#ffffff",bgAlpha:"100",draw:function(){var a=this.config,d=this.linkedItems.container,b=this.chartInstance,c=this.components,e=c.paper,f=this.get("config","animationObj").transposeAnimDuration,g=c.tooltip;a.width=d.offsetWidth;a.height=d.offsetHeight;this._show();this.config.animationStarted=!0;e?(a={width:d.offsetWidth,height:d.offsetHeight},
f&&e.animate(a,f,"normal"),e.setDimension(a)):(e=c.paper=new s(d,d.offsetWidth,d.offsetHeight),e.setConfig("stroke-linecap","round"));e.tooltip(g.style,g.config.shadow,g.config.constrain);this._createLayers();this._drawBackground();b.annotations?(this._drawAnnotations(),this._drawCreditLabel()):this.setChartMessage()},_createDatasets:function(){}},f.mscartesian);f("pyramid",{friendlyName:"Pyramid Chart",subTitleFontSizeExtender:0,drawAnnotations:!0,standaloneInit:!0,defaultSeriesType:"pyramid",defaultPlotShadow:1,
useSortedData:!1,isPyramid:1,creditLabel:!1,rendererId:"pyramid"},f.funnel);f("realtimestackedcolumn",{isStacked:!0},f.realtimecolumn);f("realtimearea",{defaultDatasetType:"realtimearea",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimearea:!0}},f.realtimecolumn);f("realtimestackedarea",{defaultDatasetType:"realtimearea",isStacked:!0,applicableDSList:{realtimearea:!0}},f.realtimearea);f("realtimeline",{defaultDatasetType:"realtimeline",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimeline:!0}},
f.realtimecolumn);f("realtimelinedy",{isRealTime:!0,defaultDatasetType:"realtimeline",axisPaddingLeft:0,isDual:!0,axisPaddingRight:0,applicableDSList:{realtimeline:!0},_createAxes:f.msdybasecartesian._createAxes,_setAxisLimits:f.msdybasecartesian._setAxisLimits,_postSpaceManagement:f.msdybasecartesian._postSpaceManagement,_feedAxesRawData:f.msdybasecartesian._feedAxesRawData},f.realtimecolumn)},[3,2,0,"sr2"]]);
/*
 FusionCharts JavaScript Library - Gantt Chart
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gantt",function(){ var P=this,z=P.hcLib,ba=P.window,ca=/msie/i.test(ba.navigator.userAgent)&&!ba.opera,Y=z.chartAPI,W=z.extend2,r=z.pluck,q=z.pluckNumber,oa=z.pluckFontSize,T=z.getFirstColor,ja=z.parseConfiguration,ba=z.setAttribDefs,ka=z.graphics,N=ka.convertColor,Z=ka.getDarkColor,Q=z.parseUnsafeString,ga=z.getFirstValue,pa=z.getValidValue,$=z.toPrecision,S=z.Raphael,qa=z.chartPaletteStr,xa=z.componentDispose,ya=z.COMMASTRING,V=z.setLineHeight,
ha=z.getDashStyle,X=z.toRaphaelColor,ra=z.each,H=z.attrTypeNum,aa=z.attrTypeBool,za=z.dropHash,Aa=z.HASHSTRING,da="rgba(192,192,192,"+(ca?.002:1E-6)+")",sa=ka.mapSymbolName,ca=Math,K=ca.max,ia=ca.min,ta=ca.abs,Ba=parseInt,ua=parseFloat,va=z.graphics.getLightColor,M=z.plotEventHandler,ea,U,la=function(c){return void 0!==c&&null!==c},Ca={left:"start",right:"end",center:"middle"},Da={left:0,right:1,center:.5,undefined:.5},Ea={left:5,right:-5,center:0,undefined:0},Fa=function(){},ma=function(){for(var c=
0,a=arguments.length,d=!1,c=0;c<a;c++){d=arguments[c];if(isNaN(d))return!1;d=!0}return d};Y("gantt",{defaultDatasetType:"task",applicableDSList:{task:!0,milestone:!0,connectors:!0},fireGroupEvent:!0,aligncaptionwithcanvas:0,hasInteractiveLegend:!1,creditLabel:!1,_createDatasets:function(){var c=this.config,a=this.components,d=this.jsonData,b=[],g,e,h=this.defaultDatasetType,n=this.applicableDSList,f,p,l,t=c.datasetMap||(c.datasetMap={task:[],milestone:[],connectors:[]}),m={task:[],milestone:[],connectors:[]},
s,A,u,k={};d.tasks&&(b=b.concat(d.tasks));d.milestones&&(b=b.concat(d.milestones));d.connectors&&(b=b.concat(d.connectors));g=b&&b.length;!b||b instanceof Array||(b=[b],g=1);g||this.setChartMessage();this.config.categories=d.categories&&d.categories[0].category;d=a.dataset=[];for(a=0;a<g;a++)if(l=b[a],l.task?u=f="task":l.milestone?u=f="milestone":l.connector&&(f="connectors",u="connector"),f=f&&f.toLowerCase(),n[f]||(f=h),p=FusionCharts.get("component",["dataset",f]))void 0===k[f]?k[f]=0:k[f]++,e=
t[f],(s=e[0])?(p=s.JSONData,p=p[u].length,A=l[u].length,m[f].push(s),d.push(s),s.index=a,p>A&&s.removeData(A-1,p-A,!1),s.JSONData=l,s.configure(),e.shift()):(e=new p,m[f].push(e),d.push(e),e.chart=this,e.index=a,e.init(l));this._createLegendItems();for(f in t)if(b=t[f],g=b.length)for(a=0;a<g;a++)(e=b[a])&&xa.call(e);c.datasetMap=m},configure:function(){var c=this.config,a=this.components.background.config,d=this.jsonData.chart;this.__setDefaultConfig();Y.mscartesian.configure.call(this);c.showBorder=
q(d.showborder,0);c.borderWidth=c.showBorder?q(d.borderthickness,1):0;a.borderWidth=c.borderWidth;c.lastVScrollPosition=void 0;c.lastHScrollPosition=void 0},_createLegendItems:function(){var c=this.components,a=this.jsonData,d=c.legend,b,g,e,h,n,f,p=c.legendItems,a=a.legend&&a.legend.item||[];b=c.legendItems&&c.legendItems.length||0;g=a.length;b>g&&(d.emptyItems(g,b-g),p&&p.splice(g,b-g));p||(c.legendItems=p=[]);b=0;for(c=a.length;b<c;b++)n=a[b],f=p[b],h=n.color,g=va(h,60).replace(za,Aa),e=va(h,40),
e={FCcolor:{color:h+","+h+","+e+","+h+","+h,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}},!f&&(f=p[b]={}),g={fillColor:X(e),strokeColor:X(g),label:n.label,interactiveLegend:!1,legendItemId:f.legendItemId},p[b].legendItemId=d.addItems(this,Fa,g)},_setAxisLimits:function(){},_createAxes:function(){var c=this.components,a=FusionCharts.get("component",["axis","time"]),d=FusionCharts.get("component",["axis","process"]);c.yAxis=[];c.xAxis=[];c.yAxis[0]=d=new d;c.xAxis[0]=c=new a;d.chart=this;
c.chart=this;d.init();c.init()},_feedAxesRawData:function(){var c=this.components,a=c.colorManager,d=this.jsonData,b=d.chart,g,e=this.is3d,h=e?qa.chart3D:qa.chart2D;g={outCanfontFamily:r(b.outcnvbasefont,b.basefont,"Verdana,sans"),outCanfontSize:oa(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:r(b.outcnvbasefontcolor,b.basefontcolor,a.getColor(h.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:b.xaxisbreaks,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:r(b.vdivlinecolor,a.getColor(h.divLineColor)),divLineAlpha:r(b.vdivlinealpha,e?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:q(b.vdivlinethickness,1),divLineIsDashed:Boolean(q(b.vdivlinedashed,b.vdivlineisdashed,0)),divLineDashLen:q(b.vdivlinedashlen,4),divLineDashGap:q(b.vdivlinedashgap,
2),showAlternateGridColor:q(b.showalternatevgridcolor,0),alternateGridColor:r(b.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:r(b.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:q(b.numvdivlines,this.numVDivLines),labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,maxLabelHeight:b.maxlabelheight,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:q(b.slantlabels,b.slantlabel),labelStep:q(b.labelstep,b.xaxisvaluesstep),showAxisValues:q(b.showxaxisvalues,b.showxaxisvalue),showLimits:q(b.showvlimits,this.showvlimits),showDivLineValues:q(b.showvdivlinevalues,b.showvdivlinevalues),zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness||2,zeroPlaneAlpha:b.vzeroplanealpha,
showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:q(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:q(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:q(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:r(b.xaxislinecolor,b.axislinecolor,"#000000")};a={outCanfontFamily:r(b.outcnvbasefont,
b.basefont,"Verdana,sans"),outCanfontSize:oa(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:r(b.outcnvbasefontcolor,b.basefontcolor,a.getColor(h.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:b.yaxisbreaks,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:q(b.rotateyaxisname,1),axisName:b.yaxisname,divLineColor:r(b.divlinecolor,a.getColor(h.divLineColor)),divLineAlpha:r(b.divlinealpha,e?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:q(b.divlinethickness,1),divLineIsDashed:Boolean(q(b.divlinedashed,b.divlineisdashed,0)),divLineDashLen:q(b.divlinedashlen,4),divLineDashGap:q(b.divlinedashgap,2),showAlternateGridColor:q(b.showalternatehgridcolor,1),alternateGridColor:r(b.alternatehgridcolor,
a.getColor("altHGridColor")),alternateGridAlpha:r(b.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:q(b.numdivlines,this.numDivLines),axisMinValue:b.yaxisminvalue,axisMaxValue:b.yaxismaxvalue,setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showAxisValues:q(b.showyaxisvalues,b.showyaxisvalue),showLimits:q(b.showlimits,this.showLimits),showDivLineValues:q(b.showdivlinevalues,b.showdivlinevalue),zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:b.zeroplanethickness||
2,zeroPlaneAlpha:b.zeroplanealpha,showZeroPlaneValue:b.showzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:q(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:q(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:q(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:r(b.yaxislinecolor,b.axislinecolor,"#000000")};
g.vtrendlines=d.trendlines;d=c.yAxis[0];c=c.xAxis[0];d.setCommonConfigArr(a,!0,!0,!1);c.setCommonConfigArr(g,!1,!1,!0);d.configure();c.configure()},_setCategories:function(){var c=this.get("components"),a=this.jsonData,d=c.xAxis,c=c.yAxis,b=a.processes,g=a.datatable,a=a.categories;c[0].setAxisPadding(.5,.5);c[0].setProcess(b);c[0].setDataTable(g);d[0].setCategory(a)},_setAxisValuePadding:function(){var c=this.components.dataset,a=c.length,d,b,g=-Infinity,e=-Infinity;for(d=0;d<a;d++)b=c[d],b=b.getAxisValuePadding&&
b.getAxisValuePadding()||{},g=K(g,b.left||-Infinity),e=K(e,b.right||-Infinity)},_spaceManager:function(){var c,a=this.config,d=this.components,b=d.xAxis&&d.xAxis[0],g=d.yAxis&&d.yAxis[0],e=d.legend.config.legendPos,h=100-(a.ganttwidthpercent||67);c=a.borderWidth;var n=d=0;this._resetViewPortConfig&&this._resetViewPortConfig();b.resetTransletAxis();g.resetTransletAxis();this._allocateSpace({top:c,bottom:c,left:c,right:c});c="bottom"===e?.225*a.canvasHeight:.225*a.canvasWidth;this._manageChartMenuBar(c);
this._manageLegendSpace("right"===e?.3*a.canvasWidth:.3*a.canvasHeight);a.actualCanvasTop=a.canvasTop;a.actualCanvasLeft=a.canvasLeft;e=g.placeAxis(h/100*a.canvasWidth);d+=(e.left||0)+(e.right||0);g&&this._allocateSpace(e);c=.6*a.canvasHeight;e=b.placeAxis(c);n+=e.top||0;a.totalWidth=d;a.totalHeight=n;b&&this._allocateSpace(e);a=g&&g.setProcessHeight();g.setAxisData({processTotalHeight:a})},_drawCanvas:function(){var c=this.jsonData.chart,a=this.components,d=this.config,b=this.graphics,g=a.paper,
e=a.canvas,a=e.graphics,h=e.config,e=h.clip={},n=a.canvasBorderElement,f=this.get("config","animationObj"),p=f.duration,l=f.dummyObj,t=f.animObj,f=f.animType,m=a.canvasElement,s=d.actualCanvasLeft,A=d.actualCanvasTop,u=d.canvasWidth,k=d.canvasHeight,r=d.canvasLeft,F=d.canvasTop,D=d.canvasWidth+d.totalWidth,d=d.canvasHeight+d.totalHeight,b=b.canvasGroup,y=h.canvasBorderRadius,x=h.canvasBorderWidth,w=.5*x,v=h.canvasBorderColor,E=h.canBGColor,G=h.shadow,c=h.showCanvasBG=Boolean(q(c.showcanvasbg,1)),
B=h.shadowOnCanvasFill,C=h.showCanvasBorder,h={x:s-w,y:A-w,width:D+x,height:d+x,r:y,"stroke-width":x,stroke:v,"stroke-linejoin":2<x?"round":"miter"};C?n?(n.show(),n.animateWith(l,t,{x:s-w,y:A-w,width:D+x,height:d+x,r:y},p,f),n.attr({"stroke-width":x,stroke:v,"stroke-linejoin":2<x?"round":"miter"}),n.shadow(G)):a.canvasBorderElement=g.rect(h,b).shadow(G):n&&n.hide();e["clip-canvas"]=[K(0,r),K(0,F),K(1,u),K(1,k)];e["clip-canvas-init"]=[K(0,r),K(0,F),1,K(1,k)];c?(h={x:s,y:A,width:D,height:d,r:y,"stroke-width":0,
stroke:"none",fill:X(E)},m?(m.show(),p&&m.animateWith(l,t,{x:s,y:A,width:D,height:d,r:y},p,f),m.attr(h),m.shadow(B)):a.canvasElement=g.rect(h,b).shadow(B)):m&&m.hide()},_postSpaceManagement:function(){var c=this.config,a=this.components,d=a.xAxis&&a.xAxis[0],b=a.yAxis&&a.yAxis[0],g=b.getAxisData("processTotalHeight"),e=c.canvasHeight,h=a.legend,n=c.xDepth,f=a.canvas.config,p=f.canvasBorderWidth,l=f.canvasPadding,t=a.vScrollBar.userConf,m,s=f.canvasPaddingLeft,f=f.canvasPaddingRight,A=c.ganttpanedurationunit,
u=a.hProcessScrollBar,a=(a=a.hScrollBar)&&a.userConf.height||0,u=u&&u.userConf.height||0,k,q;q=void 0!==Number(c.ganttpaneduration)&&void 0!==A?!0:!1;A=b.getAxisData("totalWidth");k=b.getAxisData("totalVisiblelWidth");a=K(A>k?u:0,q?a:0);g>e-a&&(m=!0);g=m?t.width||0:0;g=c.canvasWidth-(n||0)-K(s,l)-K(f,l)-g;d&&d.setAxisDimention({x:c.canvasLeft+(n||0)+K(s,l),y:c.canvasTop-(c.shift||0),opposite:c.canvasBottom+p,axisLength:g});c.currentCanvasWidth=g;b&&b.setAxisDimention({x:c.canvasLeft-(c.shift||0),
y:c.canvasTop,opposite:c.canvasRight+p,axisLength:c.canvasHeight});this._manageScrollerPosition();h.postSpaceManager()},_resetViewPortConfig:function(){this.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}},_manageScrollerPosition:function(){var c=this.config,a=this.components,d,b=a.hScrollBar,g=a.vScrollBar,e=a.hProcessScrollBar,h=c.totalWidth||0,n=c.totalHeight||0;this._setAxisScale&&this._setAxisScale();d=c.vScrollEnabled;a=c.hScrollEnabled;b=b.getLogicalSpace();c.hScrollHeight=!1===a?0:b.height+
g.conf.padding;b=g.getLogicalSpace();c.vScrollWidth=!1!==d?b.width+g.conf.padding:0;b=e.getLogicalSpace();c.hProcessScrollHeight=c.hProcessScrollEnabled?b.height+e.conf.padding:0;n+=K(c.hProcessScrollHeight,c.hScrollHeight);this._allocateSpace({bottom:K(c.hProcessScrollHeight,c.hScrollHeight)});c.totalWidth=h;c.totalHeight=n},updateManager:function(c,a){var d=this.config,b=this.config.viewPortConfig,g=b.scaleX,e=this.components.xAxis[0],h=this.components.yAxis[0],n=this.graphics.datasetGroup,f=this.graphics.datalabelsGroup,
p=this.graphics.trackerGroup,l=d.xOffset||0,t=d.yOffset||0,m=d.canvasHeight,s=d.currentCanvasWidth,A=b.scaleY;a?d.lastHScrollPosition=c:d.lastVScrollPosition=c;a?(l=d.xOffset=s*(g-1)*c,b.x=l/g,e.translateAxis(-l,void 0)):(t=d.yOffset=m*(A-1)*c,b.y=t/A,h.translateAxis(void 0,-t));d="t"+-l+", "+-t;n.attr({transform:d});f.attr({transform:d});p.attr({transform:d})},_setAxisScale:function(){var c=this.components,a=this.config,d=c.xAxis[0],b=d.getLimit(),g=b.max,b=b.min,e=new Date(b),h=c.yAxis[0],n=this.components.numberFormatter,
f=Number(a.ganttpaneduration),p=a.scrollOptions||(a.scrollOptions={}),l=a.ganttpanedurationunit,t=g-b,b=a.canvasHeight,m=a.scrolltodate,s=a.canvasWidth,A=a.canvasLeft,u=c.hProcessScrollBar,c=(c=c.hScrollBar)&&c.userConf.height||0,u=u&&u.userConf.height||0,k=d.getPixel(g)-A,g=h.getAxisData("processTotalHeight");if(void 0===f||void 0===l)a.hScrollEnabled=!1;else{switch(l){case "y":e.setFullYear(e.getFullYear()+f);break;case "m":e.setMonth(e.getMonth()+f);break;case "d":e.setDate(e.getDate()+f);break;
case "h":e.setHours(e.getHours()+f);break;case "mn":e.setMinutes(e.getMinutes()+f);break;default:e.setSeconds(e.getSeconds()+f)}e=e.getTime();e=d.getPixel(e)-A;a.hScrollEnabled=!0;a.viewPortConfig.scaleX=e=k/e;p.horizontalVxLength=t/NaN*f;m&&(n=n.getDateValue(m).ms,d=d.getPixel(n),a.viewPortConfig.x=ia(d-A,s*(e-1))/e)}d=h.getAxisData("totalWidth");h=h.getAxisData("totalVisiblelWidth");a.hProcessScrollEnabled=d>h?!0:!1;h=K(a.hProcessScrollEnabled?u:0,a.hScrollEnabled?c:0);b-=h;Math.floor(g)>b?(a.viewPortConfig.scaleY=
g/b,a.vScrollEnabled=!0):a.vScrollEnabled=!1},drawScrollBar:function(){var c=this,a=c.config,d=c.components,b=d.xAxis[0],g=b.config.axisData,e=b.config.axisRange,h=a.viewPortConfig,n=a.scrollOptions||(a.scrollOptions={}),f=e.max,p=e.min,l=n.horizontalVxLength,t=d.hScrollBar,e=t.node,m=d.vScrollBar,s=m.node,A=d.hProcessScrollBar,u=A.node,k=a.useverticalscrolling,r=f-p,F=a.canvasRight,D=h.scaleX,y=h.scaleY,x,w,v,E,G,B=a.vScrollEnabled,C=d.yAxis[0],L=B?m.conf.width:0;x=a.canvasLeft;w=a.canvasTop;v=a.canvasHeight;
E=a.canvasWidth;d=d.canvas.config;G=d.canvasBorderWidth;q(G,g.showLine?g.axisLineThickness:0);q(G,g.lineStartExtension);q(G,g.lineEndExtension);n.viewPortMin=p;n.viewPortMax=f;n.scrollRatio=l/r;g=n.windowedCanvasWidth=b.getAxisPosition(l);f=n.fullCanvasWidth=b.getAxisPosition(f-p)-g;b=n.fullCanvasHeight=C.getAxisData("processTotalHeight");n=n.windowedCanvasHeight=v;p=C.getAxisData("totalWidth");C=C.getAxisData("totalVisiblelWidth");y=1/y;!1!==a.hScrollEnabled?(t.draw(x,w+v,{width:E-L,scrollRatio:1/
D,scrollPosition:h.x*D/(E*(D-1)),roundEdges:d.isRoundEdges,fullCanvasWidth:f,windowedCanvasWidth:g}),!e&&function(){var a;S.eve.on("raphael.scroll.start."+t.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+t.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):t&&t.node&&t.node.hide();!1!==B&&k?(m.draw(F-L,w,{height:v,scrollRatio:y,roundEdges:d.isRoundEdges,fullCanvasWidth:b,
windowedCanvasWidth:n}),!s&&function(){var a;S.eve.on("raphael.scroll.start."+m.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+m.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):m&&m.node&&m.node.hide();C<p?(A.draw(x-C,w+v,{width:C,scrollRatio:C/p,roundEdges:d.isRoundEdges,fullCanvasWidth:f,windowedCanvasWidth:g}),!u&&function(){var a;S.eve.on("raphael.scroll.start."+
A.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+A.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):A&&A.node&&A.node.hide()},_createLayers:function(){var c=this.components.paper,a,d;Y.mscartesian._createLayers.call(this);d=this.graphics;a=d.datasetGroup;d.parentTaskGroup=d.parentTaskGroup||c.group("parentTaskGroup",a);d.parentConnectorsGroup=d.parentConnectorsGroup||
c.group("parentConnectorsGroup",a);d.parentMilestoneGroup=d.parentMilestoneGroup||c.group("parentMilestoneGroup",a)},_drawDataset:function(){this._setClipping();Y.mscartesian._drawDataset.call(this)},drawLegend:function(){var c=this.config,a=this.components.legend,d=a.config,b=d.width,g=d.height,e=c.marginLeft,h=c.marginTop,n=c.width,f=c.marginRight,p=c.marginBottom,l=c.totalWidth+c.canvasWidth,t=c.totalHeight+c.canvasHeight,c=c.height;"right"===d.legendPos?(d=t-g,b=n-b-f,g=h+(0>d?0:d)/2):(d=l-b,
b=e+(0>d?0:d)/2,g=c-g-p);a.drawLegend(b,g)},_setClipping:function(){var c=this.config,a=this.graphics.datasetGroup,d=this.graphics.datalabelsGroup,b=this.graphics.trackerGroup,g=c.viewPortConfig,e=g.scaleX,g=g.x,h=this.config.animationObj,n=h.dummyAnimElem,f=h.animObj,p=h.animType,h=h.transposeAnimDuration,l=this.components.canvas.config.clip["clip-canvas"].slice(0);this.config.clipSet?(a.animateWith(n,f,{"clip-rect":l},h,p),d.animateWith(n,f,{"clip-rect":l},h,p),b.animateWith(n,f,{"clip-rect":l},
h,p)):(a.attr({"clip-rect":l}),d.attr({"clip-rect":l}),b.attr({"clip-rect":l}));c.xOffset=g*e;a.attr({transform:"T"+-(g*e)+",0"});d.attr({transform:"T"+-(g*e)+",0"});b.attr({transform:"T"+-(g*e)+",0"});this.config.clipSet=!0},_createToolBox:function(){var c=this.components,a=c.yAxis[0],d=this._scrollBar,b=d.get,g=d.add,e,h;(c.chartMenuBar||{}).drawn||(Y.mscartesian._createToolBox.call(this),e=c.tb,h=c.toolBoxAPI,h=h.Scroller,d.clear(),g({isHorizontal:!0},{scroll:function(a,b){return function(c){a.updateManager.call(a,
c,b)}}(this,!0)}),g({isHorizontal:!1},{scroll:function(a,b){return function(c){a.updateManager.call(a,c,b)}}(this,!1)}),g({isHorizontal:!0},{scroll:function(){return function(b){a.manageProcessScroll(b)}}(this,!0)}),d=b()[0],g=b()[1],b=b()[2],c.hScrollBar=c.hScrollBar||(new h(d.conf,1,e.pId)).attachEventHandlers(d.handler),c.vScrollBar=c.vScrollBar||(new h(g.conf,2,e.pId)).attachEventHandlers(g.handler),c.hProcessScrollBar=c.hProcessScrollBar||(new h(b.conf,3,e.pId)).attachEventHandlers(b.handler))},
_preDraw:function(){this._setAxisValuePadding();this._setCategories()},defaultPaletteOptions:function(){var c=arguments;return z.extend2(z.extend2(z.extend2(z.extend2({},c[0]),c[1]),c[2]),c[3])}(W({},z.defaultGaugePaletteOptions),{paletteColors:["AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" ")],
bgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAngle:[270,270,270,270,270],bgRatio:["100","100","100","100","100"],bgAlpha:["100","100","100","100","100"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],gridColor:["DDDDDD","D8DCC5","99C4CD","DEC49C","FEC1D0"],gridResizeBarColor:["999999",
"545454","415D6F","845001","D55979"],categoryBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],dataTableBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],
legendBorderColor:["666666","545454","415D6F","845001","D55979"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],plotFillColor:["EEEEEE","D8DCC5","BCD8DE","E9D8BE","FEDAE3"],scrollBarColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"]})},Y.scrollbase,{taskbarroundradius:0,taskbarfillmix:" { light-10 }, { dark-20 }, { light-50 }, { light-85 }",taskbarfillratio:"0,8,84,8",showslackasfill:1,dateintooltip:1,tasklabelsalign:"center",datepadding:3,showtasknames:0,showpercentlabel:!1,showhovereffect:1,
slackfillcolor:"FF5E5E",connectorextension:10,tasklabelspadding:2,taskdatepadding:3,showlabels:void 0,showtooltip:1,showtaskhovereffect:void 0,useverticalscrolling:1,ganttpanedurationunit:void 0,ganttpaneduration:void 0,showtaskstartdate:void 0,showtaskenddate:void 0,ganttwidthpercent:void 0,showshadow:1});ba&&ba({showpercentlabel:{type:aa,pAttr:"showpercentlabel"},fontsize:{type:H},alpha:{type:H},showborder:{type:aa},borderthickness:{type:H},borderalpha:{type:H},showHoverEffect:{type:H},hoverFillAlpha:{type:H},
slackHoverFillColor:{type:H},slackHoverFillAlpha:{type:aa},showlabels:{type:aa,pAttr:"showtasknames"},slackfillcolor:{pAttr:"slackfillcolor"},showtasklabels:{type:aa,pAttr:"showtasknames"},showtasknames:{type:aa,pAttr:"showlabels"},showconnectorhovereffect:{type:H,pAttr:"showhovereffect"},connectorextension:{type:H},tasklabelspadding:{type:H},taskdatepadding:{type:H},showstartdate:{type:H,pAttr:"showtaskstartdate"},showenddate:{type:H,pAttr:"showtaskenddate"},showtaskhovereffect:{type:H,pAttr:"showhovereffect"},
useverticalscrolling:{type:H},taskbarroundradius:{type:H},showshadow:{type:H}});FusionCharts.register("component",["dataset","Task",{type:"task",configure:function(){var c=W({},this.JSONData);this.__setDefaultConfig();ja(c,this.config,this.chart&&this.chart.config,{task:!0});this._setConfigure()},_setConfigure:function(c){var a=this.config,d=this.chart,b=d.jsonData,g=b.chart,e=this.JSONData;c=c||e.task;var h=(b.processes||{}).process||[],b=c&&c.length,n=d.components.colorManager,f=d.get("config"),
p=d.get("components","numberFormatter"),l=f.taskbarfillmix,t=f.taskbarfillratio,m=f.showslackasfill,s=this.components.data,A,u,k,R,F,D,y,x=f.dateintooltip,w,v,h=h.length,E={right:"right",left:"left",undefined:"center",center:"center"},G,B,C,L,fa,I,J,H,M=d.components.tasksMap={},na=f.style.inCanvasStyle,S,wa,O,P=0;s||(s=this.components.data=[]);a.showlabels=r(e.showlabels,e.showlabels,e.showname,g.showtasklabels,g.showtasknames,0);if(b)for(d=0;d<b;d+=1)v=c[d],A=P%h,(G=r(v.processid))&&"string"===typeof G&&
(G=G.toLowerCase()),O=v.id,B=q(v.alpha,a.alpha),I=r(v.color,a.color,n.getColor("plotFillColor")),C=q(v.borderalpha,a.borderalpha,"100"),L=r(v.bordercolor,a.bordercolor,n.getColor("plotBorderColor")),fa=ga(r(v.label,v.name),""),R=n.parseColorMix(I,l),F=n.parseAlphaList(B.toString(),R.length),D=n.parseRatioList(t,R.length),J=q(v.angle,a.angle),w=s[d]||(s[d]={config:{}}),w=w.config,w.index=d,w.link=v.link,w.processId=r(v.processid,"__FCDPID__"+A),w.style={color:T(r(v.fontcolor,a.fontcolor,na.color)),
fontSize:q(v.fontsize,a.fontsize,na.fontSize)+"px",fontFamily:r(v.font,a.font,na.fontFamily)},V(w.style),w.startMs=p.getDateValue(v.start).ms,w.endMs=p.getDateValue(v.end).ms,k=p.getFormattedDate(w.startMs),u=p.getFormattedDate(w.endMs),w.tAlpha=B,w.tBorderColor=L,w.tBorderAlpha=C,y="",w.percentComplete=A=ia(q(v.percentcomplete,-1),100),w.labelAlign=E[[r(v.labelalign,f.tasklabelsalign).toLowerCase()]],w.showAsGroup=q(v.showasgroup,0),H=w.showPercentLabel=q(v.showpercentlabel,a.showpercentlabel),q(v.showlabel,
v.showname,a.showlabels)&&(y=fa),H&&-1!==A&&(y+=" "+A+"%"),w.percentComplete=A,wa={FCcolor:{color:R.join(),alpha:F,ratio:D,angle:J}},S=n.parseColorMix(r(v.slackfillcolor,a.slackfillcolor),l),S=m?{FCcolor:{color:S.join(),alpha:F,ratio:D,angle:J}}:da,F={FCcolor:{color:n.parseColorMix(r(v.hoverfillcolor,a.hoverfillcolor,f.taskhoverfillcolor,Z(I,80)),l).join(),alpha:n.parseAlphaList(r(v.hoverfillalpha,a.hoverfillalpha).toString(),R.length),ratio:D,angle:J}},I=N(r(v.hoverbordercolor,a.hoverbordercolor,
Z(L,80)),r(v.hoverborderalpha,a.hoverborderalpha,C)),R=m?{FCcolor:{color:n.parseColorMix(Z(r(v.slackhoverfillcolor,a.slackhoverfillcolor,f.slackfillcolor),80),l).join(),alpha:n.parseAlphaList(r(v.slackhoverfillalpha,a.slackhoverfillalpha,"100").toString(),R.length),ratio:D,angle:J}}:da,w.color=X(wa),w.slackColor=X(S),w.hoverFillColor=X(F),w.hoverBorderColor=I,w.slackHoverColor=X(R),w.showHoverEffect=q(v.showhovereffect,a.showhovereffect,f.showtaskhovereffect,1),w.taskHeight=r(v.height,"35%"),w.topPadding=
r(v.toppadding,"35%"),w.showPercentLabel=H,w.endDate=q(v.showenddate,a.showenddate)?u:void 0,w._endDate=u,w.startDate=q(v.showstartdate,a.showstartdate)?k:void 0,w._startDate=k,w.shadow={opacity:K(B,C)/100,inverted:!0},w.id=G,w.taskId=O,w.borderColor=N(L,C),w.borderThickness=q(v.showborder,a.showborder)?q(v.borderthickness,a.borderthickness):0,v=pa(Q(r(v.tooltext,a.hovertext,a.plottooltext,g.plottooltext))),v=void 0!==v?z.parseTooltext(v,[3,28,29,30,31],{end:u,start:k,label:fa,percentComplete:-1!==
A?p.percentValue(A):"",processName:""},a):(""!==fa?fa+(x?", ":""):"")+(x?k+" - "+u:""),w.label=y,w.toolText=v,"string"===typeof O&&(O=O.toLowerCase()),void 0!==O&&(M[O]=s[d]),P+=1;this.visible=q(e.visible,1)},getAxisValuePadding:function(){},draw:function(){var c;c=this.visible;var a=this.chart,d=a.jsonData,b=a.get("config"),g=a.get("config","animationObj"),e=g.duration,h=g.dummyObj,n=g.animObj,g=g.animType,f=a.components,p=b.canvasTop,l=f.paper,f=f.xAxis[0],t,m=this.yAxis;t=a.graphics.parentTaskGroup;
var s=this.components,A=s.data,u,k,r=s.removeDataArr,F=r&&r.length,D=a.config.dataLabelStyle;u=a.graphics.datalabelsGroup;var y=this.graphics.dataLabelContainer;k={fontFamily:D.fontFamily,fontSize:D.fontSize,lineHeight:D.lineHeight,fontWeight:D.fontWeight,fontStyle:D.fontStyle,color:D.color};var D=function(){y.show();a._animCallBack()},x=this.graphics,w=x.container,x=x.shadowContainer,s=s.pool||[],v,E,G,B,C,L,z,I,J,H,K,M,P,N,O,T,Q;Q=b.showtooltip;var V=b.datepadding,U=b.viewPortConfig,W=U.x,d=d.processes.process&&
d.processes.process.length,U=U.scaleX,X=b.taskbarroundradius,Y=b.showshadow;w||(w=this.graphics.container=l.group("columns",t),c?w.show():w.hide());y||(y=this.graphics.dataLabelContainer=l.group("labels",u),c?y.show():y.hide());a._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",k);x||(x=this.graphics.shadowContainer=l.group("shadow",t).toBack(),c||x.hide());Q?w.trackTooltip(!0):w.trackTooltip(!1);t=A.length;for(c=Q=0;c<t;c++)E=(k=(u=A[c])&&u.config)&&k.startMs,G=k&&k.endMs,void 0!==
u&&void 0!==E&&null!==G&&(B=k.toolText,G=k.taskHeight,E=k.link,M=k.borderThickness,C=k.id,T=k.color,P=!1,Q>d-1&&(Q=0),I=void 0!==k.id?m.getProcessPositionById(C):m.getProcessPositionByIndex(Q),Q++,L=I.height,J=L*(/%/g.test(k.topPadding)&&.01*ua(k.topPadding,10))||q(k.topPadding,L),G=k.height=L*(/%/g.test(G)&&.01*ua(G,10))||q(G,L),void 0!==k.id&&m.getProcessPositionById(C),C=k.xPos=f.getAxisPosition(k.startMs)+W*U,v=f.getAxisPosition(k.endMs)+W*U,v=k.width=ta(z=v-C),I=I.bottom+p-L,I=k.yPos=I+ia(J,
L-G),N=.5*G,!u.graphics&&(u.graphics={}),O=S.crispBound(C,I,v,G,M),C=O.x,I=O.y,v=O.width,G=O.height,!1!==ma(C,I,v,G)&&(J=u.graphics.element,k.showAsGroup?(L="path",z={path:["M",C,I]},N={path:["M",C,I,"v",G,"L",C+N,I+N,"H",C+v-N,"L",C+v,I+G,"v",-G,"H",C]}):(L="rect",N={x:O.x,y:O.y,width:O.width||1,height:G},z=e?{x:O.x,y:O.y,width:0,height:G}:N),J&&J&&J.type!==L&&(J.hide(),J=u.graphics.element=null),J||(L=k.showAsGroup?"path":"rect",s.element&&s.element.length&&(J=s.element[0]).type===L?u.graphics.element=
J=s.element.shift():(J=u.graphics.element=l[L](w).attr(z).data("dataset",this),P=!0,this.slackElemHandlers(J,a))),L={processId:k.processId,taskId:k.taskId,start:k._startDate,end:k._endDate,showAsGroup:k.showAsGroup,link:k.link,sourceType:"task",percentComplete:-1!==k.percentComplete},-1===k.percentComplete||k.showAsGroup?(u.graphics.taskFill&&u.graphics.taskFill.hide(),u.graphics.slackElem&&u.graphics.slackElem.hide()):(z=v*k.percentComplete*.01,T=da,H=u.graphics.taskFill,K=u.graphics.slackElem,H||
(s.taskFill&&s.taskFill.length?H=u.graphics.taskFill=s.taskFill.shift():(H=u.graphics.taskFill=l.rect(w),this.slackElemHandlers(H,a),P=!0,H.attr({x:C,y:I,height:G,width:e?0:z}))),K||(s.slackElem&&s.slackElem.length?K=u.graphics.slackElem=s.slackElem.shift():(K=u.graphics.slackElem=l.rect(w),this.slackElemHandlers(K,a),P=!0,K.attr({x:C,y:I,width:0,height:G}))),H.show().animateWith(h,n,{x:C,y:I,height:G,width:z,r:0},e,g),H.attr({fill:k.color,cursor:E?"pointer":"",ishot:!0,"stroke-width":0}).data("chart",
a).data("dataObj",u).data("dataset",this).tooltip(B),K.show().animateWith(h,n,{x:C+z||1,y:I,width:v-z,height:G,r:0},e,g),K.attr({fill:k.slackColor,cursor:E?"pointer":"",ishot:!0,"stroke-width":0}),H&&H.data("eventArgs",L),K&&K.data("eventArgs",L).data("dataObj",u).data("dataset",this).data("chart",a)),J.show().animateWith(h,n,N,e,g).attr({fill:T,stroke:k.borderColor,cursor:E?"pointer":"",ishot:!0,r:X,"stroke-width":M}).shadow({opacity:Y},x).tooltip(B).data("dataObj",u).data("chart",a).data("dataset",
this).data("eventArgs",L),e&&P&&(y.hide(),J.animateWith(h,n,{width:O.width||1},e,g,D)),M=u.graphics.label,la(k.label)&&""!==k.label?(B=k.labelAlign,M||(s.valElem&&s.valElem.length?M=u.graphics.label=s.valElem.shift():(M=u.graphics.label=l.text(y).data("dataset",this),this.slackElemHandlers(M,a))),M.show().animateWith(h,n,{x:C+v*Da[B]+Ea[B],y:I-.5*Ba(k.style.lineHeight,10)-b.tasklabelspadding},e,g).attr({text:k.label,"text-anchor":Ca[B],direction:b.textDirection,cursor:E?"pointer":"",ishot:!0}).css(k.style).data("dataObj",
u).data("dataObj",u).data("eventArgs",L)):M&&M.hide().attr({"text-bound":[]}),B=u.graphics.startLabel,la(k.startDate)&&""!==k.startDate?(B||(s.startValElem&&s.startValElem.length?B=u.graphics.startLabel=s.startValElem.shift():(B=u.graphics.startLabel=l.text(y).data("dataset",this),this.slackElemHandlers(B,a))),B.show().animateWith(h,n,{x:C-2-V,y:I+.5*G},e,g).attr({text:k.startDate,"text-anchor":"end",cursor:E?"pointer":"",ishot:!0,direction:b.textDirection}).css(k.style).data("dataObj",u).data("chart",
a).data("eventArgs",L)):B&&B.hide().attr({"text-bound":[]}),B=u.graphics.endLabel,la(k.endDate)&&""!==k.endDate?(B||(s.endValElem&&s.endValElem.length?B=u.graphics.endLabel=s.endValElem.shift():(B=u.graphics.endLabel=l.text(y).data("dataset",this),this.slackElemHandlers(B,a))),B.show().animateWith(h,n,{x:C+v+2+V,y:I+.5*G},e,g).attr({text:k.endDate,cursor:E?"pointer":"",ishot:!0,direction:b.textDirection,"text-anchor":"start"}).css(k.style).data("dataObj",u).data("chart",a).data("eventArgs",L)):B&&
B.hide().attr({"text-bound":[]})));this.drawn=!0;for(c=0;c<F;c++)this._removeDataVisuals(r.shift())},slackElemHandlers:function(c,a){var d=this;c&&c.click(function(b){M.call(this,a,b)}).hover(function(b){var c=this.data("dataObj");M.call(this,a,b,"DataPlotRollOver");c.config.showHoverEffect&&d.taskHoverHandler.call(this,a)},function(b){var c=this.data("dataObj");M.call(this,a,b,"DataPlotRollOut");c.config.showHoverEffect&&d.taskHoverOutHandler.call(this,a)})},taskHoverHandler:function(){var c=this.data("dataObj")||
{},a=this.data("dataset").components.data,c=c.config||{},d=c.index,a=a[d]&&a[d].graphics,d={fill:c.hoverFillColor,stroke:c.hoverBorderColor};-1===c.percentComplete||c.showAsGroup||(a.slackElem.attr({fill:c.slackHoverColor}),a.taskFill.attr({fill:c.hoverFillColor}),delete d.fill);a.element.attr(d)},taskHoverOutHandler:function(){var c=this.data("dataObj")||{},a=(this.data("dataset")||{}).components.data,c=c.config||{},d=c.index,a=a[d]&&a[d].graphics,d={fill:c.color,stroke:c.borderColor,"stroke-width":c.borderThickness,
"stroke-dasharray":c.dashedStyle};a&&(-1===c.percentComplete||c.showAsGroup||(a.slackElem.attr({fill:c.slackColor}),a.taskFill.attr({fill:c.color}),delete d.fill),a.element.attr(d))},slackElemClickHandler:function(c){var a=this.data("chart");M.call(this,a,c)},_removeDataVisuals:function(c){var a=this.components.pool||(this.components.pool={}),d,b,g;if(c)for(d in b=c.graphics,b)c=a[d]||(a[d]=[]),g=b[d],g.hide&&"function"===typeof g.hide&&(g.attr({"text-bound":[]}),g.hide(),g.transform&&g.transform("")),
c.push(b[d])}},"column",{showpercentlabel:void 0,showlabels:void 0,showborder:1,borderthickness:1,font:"",fontcolor:"",fontsize:"",color:"",alpha:"100",angle:270,slackfillcolor:void 0,borderalpha:"100",hoverfillcolor:"",hoverfillalpha:"100",slackhoverfillalpha:"100",showstartdate:void 0,showenddate:void 0}]);FusionCharts.register("component",["dataset","Milestone",{type:"Milestone",configure:function(){var c=this.config,a=W({},this.JSONData);this.__setDefaultConfig();ja(a,c,{milestones:!0});this._setConfigure()},
_setConfigure:function(c){var a=this.chart,d=this.JSONData,b=(c=c||d.milestone)&&c.length,g=a.components.colorManager,e=a.get("config"),h=a.get("components","numberFormatter"),n=this.components.data,f=a.config.style,p=f.inCanvasStyle,a=a.components.tasksMap,l,t,m,s,A,u,k,R;n||(n=this.components.data=[]);for(t=0;t<b;t+=1)m=c[t],(l=n[t])||(l=n[t]={config:{}}),l=l.config,R=ga(m.taskid,"").toLowerCase(),A=r(m.shape,"polygon").toLowerCase(),s=q(m.numsides,5),u=0,"star"===A?u=.4:(sa(s),sa(s).split("-")),
A=r(m.color,g.getColor("legendBorderColor")),k=pa(Q(r(m.tooltext,m.hovertext,e.milestonetooltext))),void 0!==k&&a[R]?(f=a[R].config,k=z.parseTooltext(k,[28,32,33,34,35,36],{date:h.getFormattedDate(m.date),taskStartDate:f._startDate,taskEndDate:f._endDate,taskLabel:f.label,taskPercentComplete:-1!==f.percentComplete?h.percentValue(f.percentComplete):"",processName:""},m)):(f=(new Date(m.date)).getTime(),k=isNaN(f)?m.date:h.getFormattedDate(m.date)),f={color:T(r(m.fontcolor,e.milestonefontcolor,p.color)),
fontSize:q(m.fontsize,e.milestonefontsize,p.fontSize)+"px",fontFamily:r(m.font,e.milestonefont,p.fontFamily),fontWeight:q(m.fontbold,e.milestonefontbold,0)&&"bold"||"normal",fontStyle:q(m.fontitalic,e.milestonefontitalic,0)&&"italic"||"normal"},V(f),l.numSides=s,l.startAngle=q(m.startangle,90),l.radius=m.radius,l.origDate=m.date,l.date=h.getDateValue(m.date),l.fillColor=T(A),l.fillAlpha=.01*q(m.fillalpha,m.alpha,100),l.borderColor=T(r(m.bordercolor,A)),l.borderAlpha=.01*q(m.borderalpha,m.alpha,100),
l.displayValue=Q(m.label),l.style=f,l.hoverFillColor=T(r(m.hoverfillcolor,e.milestonehoverfillcolor,Z(A,80))),l.hoverFillAlpha=.01*q(m.hoverfillalpha,e.milestonehoverfillalpha,m.fillalpha,m.alpha,100),l.hoverBorderColor=T(r(m.hoverbordercolor,e.milestonehoverbordercolor,Z(r(m.bordercolor,A),80))),l.hoverBorderAlpha=.01*q(m.hoverborderalpha,e.milestonehoverborderalpha,m.borderalpha,m.alpha,100),l.showHoverEffect=q(m.showhovereffect,e.showmilestonehovereffect,e.showhovereffect,1),l.depth=u,l.taskId=
R,l.borderThickness=q(m.borderthickness,1),l.link=m.link,l.toolText=k;this.visible=q(d.visible,1)},draw:function(){var c=this.chart,a=c.components,d=a.xAxis[0],b=this.components.data,g=a.tasksMap,e=c.config,h=c.get("config","animationObj"),n=h.duration,f=c.graphics.datalabelsGroup,p=this.graphics.container,l=c.graphics.parentMilestoneGroup,t=this.graphics.dataLabelContainer,m=this.visible,a=a.paper,s=this.components.removeDataArr||[],A=s.length,u=h.dummyObj,k=h.animObj,h=h.animType,r,F,D,y,x,w,v,
E,G;D=e.showtooltip;var B=this.components.pool||[];p||(p=this.graphics.container=a.group("milestone",l),m?p.show():p.hide());t||(t=this.graphics.dataLabelContainer=a.group("labels",f),m?t.show():t.hide());D?p.trackTooltip(!0):p.trackTooltip(!1);G=b&&b.length;for(E=0;E<G;E+=1)if(f=b[E])m=f.config,r=g[m.taskId],!f.graphics&&(f.graphics={}),l=f.graphics,D=l.element,v=l.label,r?(F=r.config,w=S.animation({"fill-opacity":m.fillAlpha,"stroke-opacity":m.borderAlpha},n,h),r={sides:m.sides,date:m.origDate,
radius:m.radius,taskId:m.taskId,toolText:m.toolText,link:m.link,numSides:m.numSides},y=d.getPixel(m.date.ms),x=F.yPos+.5*F.height,F=q(m.radius,.6*F.height),!1!==ma(y,x,F)&&(F=[m.numSides,y,x,F,m.startAngle,m.depth],D||(D=B.element&&B.element.length?l.element=B.element.shift():l.element=a.polypath(p).click(this.clickHandler(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c))),D.show().animateWith(u,k,{polypath:F},n,h).attr({fill:m.fillColor,"fill-opacity":n?0:m.fillAlpha,stroke:m.borderColor,
"stroke-opacity":n?0:m.borderAlpha,groupId:"gId"+E,ishot:!0,cursor:m.link?"pointer":"","stroke-width":m.borderThickness}).tooltip(m.toolText).data("eventArgs",r).data("dataObj",f),""!==m.displayValue&&void 0!==m.displayValue&&(v||(v=B.label&&B.label.length?l.label=B.label.shift():l.label=a.text(t).click(this.clickHandler(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c))),v.show().animateWith(u,k,{x:y,y:x},n,h).attr({text:m.displayValue,groupId:"gId"+E,cursor:m.link?"pointer":"",ishot:!0,direction:e.textDirection,
"text-anchor":"middle"}).css(m.style).tooltip(m.toolText).data("eventArgs",r).data("dataObj",f)),n&&w&&l.element.animate(w.delay(n)))):(D&&D.hide(),v&&v.hide().attr({"text-bound":[]}));for(E=0;E<A;E++)this._removeDataVisuals(s.shift())},clickHandler:function(c){return function(a){M.call(this,c,a,"MilestoneClick")}},rollOverHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config;M.call(this,c,a,"MilestoneRollOver");b.showHoverEffect&&d.graphics.element.attr({fill:b.hoverFillColor,
stroke:b.hoverBorderColor,"fill-opacity":b.hoverFillAlpha,"stroke-opacity":b.hoverBorderAlpha})}},rollOutHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config;M.call(this,c,a,"MilestoneRollOut");b.showHoverEffect&&d.graphics.element.attr({fill:b.fillColor,stroke:b.borderColor,"fill-opacity":b.fillAlpha,"stroke-opacity":b.borderAlpha})}}},"Task",{showpercentlabel:0,showstartdate:0,showenddate:0,showlabels:void 0,showborder:1,borderthickness:1,showHoverEffect:1,slackFillColor:"FF5E5E",
font:"",fontcolor:"",fontsize:"",color:"",alpha:"100",bordercolor:"",borderalpha:"100",hoverFillColor:"",hoverFillAlpha:"100",slackHoverFillColor:10,slackHoverFillAlpha:"100"}]);FusionCharts.register("component",["dataset","Connectors",{configure:function(){var c=this.config,a=W({},this.JSONData);this.__setDefaultConfig();ja(a,c,{connector:!0});this._setConfigure()},_setConfigure:function(c){var a=this.config,d=this.chart,b=this.JSONData,g=(c=c||b.connector)&&c.length||0,e=d.components.colorManager,
d=d.get("config"),h=this.components.data,n,f,p,l,t,m,s;h||(h=this.components.data=[]);for(n=0;n<g;n+=1)p=c[n],(f=h[n])||(f=h[n]={config:{}}),!f.config&&(f.config={}),f=f.config,l=r(p.color,a.color,e.getColor("plotBorderColor")),t=q(p.alpha,a.alpha,100),m=q(p.thickness,a.thickness,1),s=q(p.isdashed,a.isdashed,1),f.fromTaskId=ga(p.fromtaskid,"").toLowerCase(),f.toTaskId=ga(p.totaskid,"").toLowerCase(),f.fromTaskConnectStart=q(p.fromtaskconnectstart,0),f.toTaskConnectStart=q(p.totaskconnectstart,1),
f.color=N(l),f.alpha=.01*t,f.link=p.link,f.showHoverEffect=q(p.showhovereffect,a.showhovereffect,d.showconnectorhovereffect,1),f.hoverColor=N(r(p.hovercolor,a.hovercolor,d.connectorhovercolor,Z(l,80)),q(p.hoveralpha,a.hoveralpha,d.connectorhoveralpha,t)),f.hoverThickness=q(p.hoverthickness,a.hoverthickness,d.connectorhoverthickness,m),f.thickness=m,f.dashedStyle=s?ha(q(p.dashlen,a.dashlen,5),q(p.dashgap,a.dashgap,m),m):"none";this.visible=q(b.visible,1)},draw:function(){var c=this.chart,a=c.components,
d=this.components.data,b=a.paper,g=d.length,a=a.tasksMap,e=c.config.connectorextension,h=c.graphics.parentConnectorsGroup,n=this.graphics.container,f=this.components.pool||[],p=this.visible,l=c.get("config","animationObj"),t=l.duration,m=l.dummyObj,s=l.animObj,l=l.animType,A=this.components.removeDataArr||[],u=A.length,k,q,r,D,y,x,w,v,E,G,B,C,z,H,I,J;n||(n=this.graphics.container=b.group("connectors",h),p?n.show():n.hide());for(J=0;J<=g;J+=1)if(h=d[J])if(B=h.config,!h.graphics&&(h.graphics={}),p=
h.graphics,k=B.fromTaskId&&B.fromTaskId.toLowerCase(),q=B.toTaskId&&B.toTaskId.toLowerCase(),k=a[k],r=a[q],q=p.connector,k&&r){if(C=k.config,v=r.config,k=C.yPos+.5*C.height,r=v.yPos+.5*v.height,D=k==r,y=C.xPos,x=C.xPos+C.width,w=v.xPos,v=v.xPos+v.width,!1!==ma(y,x,w,v)){G=0;0===B.fromTaskConnectStart&&1===B.toTaskConnectStart&&(G=1);0===B.fromTaskConnectStart&&0===B.toTaskConnectStart&&(G=2);1===B.fromTaskConnectStart&&1===B.toTaskConnectStart&&(G=3);1===B.fromTaskConnectStart&&0===B.toTaskConnectStart&&
(G=4);if(D)switch(C=C.height,G){case 1:E=(w-x)/10;E=["M",x,k,x+E,k,"L",x+E,k,x+E,k-C,"L",x+E,k-C,w-E,k-C,"L",w-E,k-C,w-E,k,"L",w-E,k,w,r];break;case 2:E=["M",x,k,x+e,k,"L",x+e,k,x+e,k-C,"L",x+e,k-C,v+e,k-C,"L",v+e,r-C,v+e,r,v,r];break;case 3:E=["M",y,k,y-e,k,"L",y-e,k,y-e,k-C,"L",y-e,k-C,w-e,k-C,"L",w-e,k-C,w-e,k,"L",w-e,k,w,k];break;case 4:E=["M",y,k,y-e,k,"L",y-e,k,y-e,k-C,"L",y-e,k-C,v+e,k-C,"L",v+e,k-C,v+e,k,"L",v+e,k,v,k]}else switch(G){case 1:E=x<=w?["M",x,k,x+(w-x)/2,k,"L",x+(w-x)/2,k,x+(w-
x)/2,r,"L",x+(w-x)/2,r,w,r]:["M",x,k,x+e,k,"L",x+e,k,x+e,k+(r-k)/2,"L",x+e,k+(r-k)/2,w-e,k+(r-k)/2,"L",w-e,k+(r-k)/2,w-e,r,"L",w-e,r,w,r];break;case 2:E=0>v-x?0:v-x;E=["M",x,k,x+e+E,k,"L",x+e+E,k,x+e+E,r,"L",x+e+E,r,v,r];break;case 3:E=0>y-w?0:y-w;E=["M",y,k,y-e-E,k,"L",y-e-E,k,y-e-E,r,"L",y-e-E,r,w,r];break;case 4:E=y>v?["M",y,k,y-(y-v)/2,k,"L",y-(y-v)/2,k,y-(y-v)/2,r,"L",y-(y-v)/2,r,v,r]:["M",y,k,y-e,k,"L",y-e,k,y-e,k+(r-k)/2,"L",y-e,k+(r-k)/2,v+e,k+(r-k)/2,"L",v+e,k+(r-k)/2,v+e,r,"L",v+e,r,v,r]}q||
(q=f.connector&&f.connector.length?p.connector=f.connector.shift():p.connector=b.path(n),t?(I=S.animation({"stroke-opacity":B.alpha},t,l),z=0,H=t):z=B.alpha);q.show().animateWith(m,s,{path:E},t,l).attr({stroke:B.color,"stroke-opacity":z,"stroke-width":B.thickness,"stroke-dasharray":B.dashedStyle});I&&q.animate(I.delay(H||0));q={fromTaskId:B.fromTaskId,toTaskId:B.toTaskId,fromTaskConnectStart:B.fromTaskConnectStart,toTaskConnectStart:B.toTaskConnectStart,link:B.link,sourceType:"connector"};k=p.tracker;
k||(k=f.tracker&&f.tracker.length?p.tracker=f.tracker.shift():p.tracker=b.path(n).click(this.connectorClick(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c)));k.attr({path:E,stroke:da,"stroke-width":K(B.thickness,10),ishot:!0,cursor:B.link?"pointer":""}).data("dataObj",h).data("eventArgs",q)}}else q&&q.hide();for(J=0;J<u;J++)this._removeDataVisuals(A.shift())},connectorClick:function(c){return function(a){M.call(this,c,a,"ConnectorClick")}},rollOverHandler:function(c){return function(a){var d=
this.data("dataObj"),b=d.config,g=c.components.tasksMap,e=g[b.fromTaskId],g=g[b.toTaskId],h={stroke:b.hoverColor,"stroke-dasharray":b.dashedStyle,"stroke-width":b.hoverThickness},d=d.graphics.connector;M.call(this,c,a,"ConnectorRollOver");b.showHoverEffect&&(ra([e,g],function(a){var b={fill:a.config.hoverFillColor,stroke:a.config.hoverBorderColor},c=a.graphics.slackElem,d=a.graphics.element,e=a.graphics.taskFill;a.config.percentComplete&&!a.config.showAsGroup&&(c&&c.attr({fill:a.config.slackHoverColor}),
e&&e.attr({fill:a.config.hoverFillColor,stroke:a.config.hoverBorderColor}),delete b.fill);d&&d.attr(b)}),d&&d.attr(h))}},rollOutHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config,g=c.components.tasksMap,e=g[b.fromTaskId],g=g[b.toTaskId],h={stroke:b.color,"stroke-width":b.thickness,"stroke-dasharray":b.dashedStyle},d=d.graphics.connector;M.call(this,c,a,"ConnectorRollOut");b.showHoverEffect&&(ra([e,g],function(a){var b={fill:a.config.color,stroke:a.config.borderColor,"stroke-width":a.config.borderThickness,
"stroke-dasharray":a.config.dashedStyle},c=a.graphics.slackElem,d=a.graphics.element,e=a.graphics.taskFill;a.config.percentComplete&&!a.config.showAsGroup&&(c&&c.attr({fill:a.config.slackColor}),e&&e.attr({fill:a.config.color}),delete b.fill);d&&d.attr(b)}),d&&d.attr(h))}}},"Task",{isdashed:1,thickness:1}]);FusionCharts.get("component",["axis","ganttCommon",{_drawPlotLine:function(){var c=this.config,a=this.chart,d=c.canvas,b=a.config,g=c.axisData.ganttPlotLineContainer,e=d.canvasBottom||b.canvasBottom,
h=d.canvasLeft||b.canvasLeft,n=d.canvasRight||b.canvasRight,f=d.canvasTop||b.canvasTop,p=a.components.paper,l=c.gridArr,d=this.graphics.line||[],b=c.animateAxis,t,m=0,s,r,u=[],k,q;t=a.get("config","animationObj");k=t.animObj;q=t.dummyObj;a=t.transposeAnimDuration;t=t.animType;c={"stroke-dasharray":c.plotLineDashStyle,"stroke-width":c.plotLineThickness,stroke:c.plotLineColor};s=0;for(r=l.length;s<r;s+=1)void 0!==l[s].x?u.push("M",l[s].x,f,"L",l[s].x,e):u.push("M",h,l[s].y,"L",n,l[s].y);d[m]?(g=d[m].graphics,
a&&b?g.animateWith(q,k,{path:u},a,t):g.attr({path:u}),g.attr(c)):(g=p.path(u,g),g.attr(c),d[m]={},d[m].graphics=g);s=m+1;for(r=d.length;s<r;s+=1)d[s].graphics.attr({path:"M0,0"});this.graphics.line=d},_drawPlotBand:function(){},translateAxis:function(c,a){var d=this.config,b=d.axisData,g=d.isVertical,e=b.lastTranslate||(b.lastTranslate={x:0,y:0}),h=b.ganttPlotHoverBandContainer,n,f;n=void 0!==c?c-e.x:0;f=void 0!==a?a-e.y:0;e.x=void 0!==c?c:e.x;e.y=void 0!==a?a:e.y;b.labelContainer&&b.labelContainer.translate(n,
f);b.hotContainer&&b.hotContainer.translate(n,f);b.headerContainer&&b.headerContainer.translate(n,0);g?(b.ganttPlotLineContainer&&b.ganttPlotLineContainer.translate(0,f),h&&h.translate(0,f)):(b.ganttPlotLineContainer&&b.ganttPlotLineContainer.translate(n,0),h&&h.translate(n,0),this.setAxisConfig({animateAxis:!1}),d.drawTrendLines&&this._drawTrendLine(),this.setAxisConfig({animateAxis:!0}))},resetTransletAxis:function(){var c=this.config.axisData,a;a={transform:"t0,0"};c.lastTranslate={x:0,y:0};c.labelContainer&&
c.labelContainer.attr(a);c.headerContainer&&c.headerContainer.attr(a);c.ganttPlotLineContainer&&c.ganttPlotLineContainer.attr(a);c.ganttPlotHoverBandContainer&&c.ganttPlotHoverBandContainer.attr(a);c.hotContainer&&c.hotContainer.attr(a)},_drawProcessAndDataTableStyleParser:function(c){var a=this.config.axisData,d=this.chart,b=d.linkedItems.smartLabel,g=d.components.colorManager,e=a.labels.style,h=c.elem||{},n=c.dimension,f=h._attrib||{},p=n.left,l=n.right,t=n.top,m=n.bottom,s,A,u,k,R,F,D,y,x,w,v,
E,G;switch(c.type){case "category":case "datatable":case "process":s=r(f.font,e.fontFamily);A=r(f.fontsize,e.fontSize).replace(/px/i,"")+"px";k=r(Number(f.isitalic)?"italic":void 0,e.fontStyle);R=N(r(f.bgcolor?T(f.bgcolor):void 0,g.getColor("categoryBgColor")),q(f.bgalpha,100));v=r(f.fontcolor?T(f.fontcolor):void 0,e.color);E=q(f.isunderline,0)&&"underline"||"none";x=r(f.valign,"center").toLowerCase();w=r(f.align,"middle").toLowerCase();y=h.drawLabel||"";u=r(Number(f.isbold)?"bold":void 0,e.fontWeight);
G=h.link;break;case "header":s=r(f.headerfont,e.fontFamily),A=r(f.headerfontsize,e.fontSize).replace(/px/i,"")+"px",u=r(1===Number(f.headerisbold)?"bold":void 0===f.headerisbold?"bold":void 0,e.fontWeight),v=r(f.headerfontcolor?T(f.headerfontcolor):void 0,e.color),E=q(f.headerisunderline,0)&&"underline"||"none",k=r(f.headerisitalic?"italic":void 0,e.fontStyle),R=N(r(f.headerbgcolor?T(f.headerbgcolor):void 0,g.getColor("categoryBgColor")),q(f.headerbgalpha,100)),x=r(f.headervalign,"center").toLowerCase(),
w=r(f.headeralign,"middle").toLowerCase(),y=h.drawLabel||"",G=h.headerlink}switch(c.type){case "category":a.gridLinePath+="M"+p+","+t+"L"+p+","+m+"L"+l+","+m;u=r(1===Number(f.isbold)?"bold":void 0===f.isbold?"bold":void 0,e.fontWeight);break;case "datatable":case "process":a.gridLinePath+="M"+p+","+m+"L"+l+","+m+"L"+l+","+t;break;case "header":a.gridLineHeaderPath+="M"+p+","+m+"L"+l+","+m+"L"+l+","+t}g=r(h._attrib.hoverbandcolor,a.hoverColor);f=q(h._attrib.hoverbandalpha,a.hoverAlpha);"left"===w?
(F=p+2,w="start"):"right"===w?(F=p+(l-p)-2,w="end"):(w="middle",F=p+(l-p)/2);"top"===x?D=t-2:"bottom"===x?D=t+(m-t)-2:(x="center",D=t+(m-t)/2);e={fontFamily:s,fontSize:A,fontWeight:u,fontStyle:k,color:v,textDecoration:E};s=V(e);s=Number(s.replace(/px/i,""));s=m-t>s?m-t:s;b.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);b.setStyle(e);d=b.getSmartText(y,l-p,s);e={posAttr:{x:F,y:D},textAttr:{text:d.text,"text-anchor":w,"vertical-align":x,cursor:G?"pointer":"default"},css:e,rectAttr:{x:p,y:t,
width:p<l?l-p:0,height:t<m?m-t:0},rectFill:{fill:R,"stroke-width":0,cursor:G?"pointer":"default"},eventArgs:{isHeader:"header"===c.type,label:y,vAlign:x,align:w,link:G,id:h.id},tooltext:d.oriText};"datatable"===c.type||"process"===c.type||"category"===c.type?(l=N(g,f),p=q(h._attrib.showhoverband,a.useHover),a=q(h._attrib.showganttpanehoverband,a.usePlotHover,p),e.dataArgs={rollOverColor:l,useHover:p,usePlotHover:a,dimension:n,hoverEle:h,type:c.type,pos:c.pos,axis:this,groupId:c.elemIndex}):e.dataArgs=
{rollOverColor:void 0,useHover:0,usePlotHover:0,dimension:n,hoverEle:h,type:c.type,pos:c.pos,axis:this,groupId:c.elemIndex};return e},_drawProcessAndDataTableElement:function(c){var a=this,d=a.config,b=d.axisData,g=a.chart,e=g.components,h=a.components.categoryElement||[],n=b.hoverElemsArr||(b.hoverElemsArr=[]),f=e.paper,e=c.elemIndex,p=b.labelHoverEventName,d=d.animateAxis,l,t,m,s,r,u,k=g.config.showtooltip,q,F=function(a){M.call(this,g,a,p.click)},D=function(b){ea=clearTimeout(ea);if(!U||U.removed)U=
null;U&&a._gridOutHandler.call(U);a._gridHoverHandler.call(this);M.call(this,g,b,p.rollOver)},y=function(b){U=this;ea=clearTimeout(ea);ea=setTimeout(function(){a._gridOutHandler.call(U)},500);M.call(U,g,b,p.rollOut)};l=g.get("config","animationObj");r=l.animObj;u=l.dummyObj;t=l.transposeAnimDuration;q=l.animType;"header"===c.type?(l=b.headerBackContainer,m=b.headerTextContainer):(l=b.labelBackContainer,m=b.labelTextContainer);b=a._drawProcessAndDataTableStyleParser(c);h[e]?(f=h[e].graphics.label,
s=h[e].graphics.rect,l.appendChild(s),m.appendChild(f),t&&d?(s.animateWith(u,r,b.rectAttr,t,q),f.animateWith(u,r,b.posAttr,t,q)):(s.attr(b.rectAttr),f.attr(b.posAttr)),s.attr(b.rectFill),f.attr(b.textAttr).css(b.css)):(s=f.rect(b.rectAttr,l),f=f.text(b.posAttr,m),f.attr(b.textAttr).css(b.css),s.attr(b.rectFill),h[e]={},h[e].graphics={},h[e].config={},h[e].graphics.label=f,h[e].graphics.rect=s,s.hover(D,y).click(F),f.hover(D,y).click(F));"header"!==c.type&&(n[c.pos]||(n[c.pos]=[]),n[c.pos].push({bgElem:s,
bgColor:b.rectFill.fill}));s.data("dataObj",c.elem).data("eventArgs",b.eventArgs).data("data",b.dataArgs);f.data("dataObj",c.elem).data("eventArgs",b.eventArgs).data("data",b.dataArgs).tooltip(b.tooltext).trackTooltip(k?!0:!1);a.components.categoryElement=h},_drawGridLine:function(){var c=this.config,a=c.axisData,d=this.chart,b=d.components.paper,g=this.graphics.gridLine||[],e=c.animateAxis,h,n,f=0,p=0,l=2,t,m,s;h=d.get("config","animationObj");m=h.animObj;s=h.dummyObj;d=h.transposeAnimDuration;h=
h.animType;for(c={"stroke-dasharray":c.lineDashStyle,"stroke-width":c.lineThickness,stroke:c.lineColor};p<l;p+=1){if(0===p)t=a.gridLinePath,n=a.labelLineContainer;else if(t=a.gridLineHeaderPath,n=a.headerLineContainer,!t)continue;g[f]?(n=g[f].graphics,d&&e?n.animateWith(s,m,{path:t},d,h):n.attr({path:t}),n.attr(c)):(n=b.path(t,n),n.attr(c),g[f]={},g[f].graphics=n);f+=1}p=f;for(l=g.length;p<l;p+=1)g[p].graphics.attr({path:"M0,0"});this.graphics.gridLine=g},_gridHoverHandler:function(){var c=this.data("data"),
a=c.type,d=c.dimension,b=c.axis,g=b.chart,e=g.config,h=g.components.paper,n=b.config.axisData,g=n.hoverElemsArr||[],n=n.ganttPlotHoverBandContainer,b=b.graphics.plotHoverElement||(b.graphics.plotHoverElement=[]),a="category"===a?{x:d.left,y:e.canvasTop,width:d.left<d.right?d.right-d.left:0,height:e.height,fill:c.rollOverColor,"stroke-width":0}:{y:d.top,x:e.canvasLeft,height:d.top<d.bottom?d.bottom-d.top:0,width:e.width,fill:c.rollOverColor,"stroke-width":0};c.usePlotHover&&(b[0]?b[0].attr(a).show():
b[0]=h.rect(a,n));if(c.useHover&&g[c.pos])for(a=0,d=g[c.pos].length;a<d;a+=1)g[c.pos][a].bgElem.attr({fill:c.rollOverColor})},_gridOutHandler:function(){var c=this.data("data"),a=c.axis,d=a.config.axisData.hoverElemsArr||[],a=a.graphics.plotHoverElement||[],b,g;c.usePlotHover&&a[0]&&a[0].hide();if(c.useHover&&d[c.pos])for(a=0,b=d[c.pos].length;a<b;a+=1)g=d[c.pos][a],g.bgElem.attr({fill:g.bgColor})},_disposeExtraProcessAndDataTableElement:function(c){var a=this.components.categoryElement||[],d;for(d=
a.length;c<d;c+=1)a[c].graphics.label.attr({text:""}),a[c].graphics.rect.attr({x:0,y:0,width:0,heigth:0})}},"cartesian"]);FusionCharts.get("component",["axis","time",{configure:function(){var c=this.config,a=c.axisData,d=c.rawAttr,b=this.chart,g=b.jsonData.chart,b=b.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);c.plotLineColor=c.lineColor=N(r(g.ganttlinecolor,b.getColor("gridColor")),q(g.ganttlinealpha,100));c.plotLineThickness=c.lineThickness=
q(g.ganttlinethickness,1);c.plotLineDashStyle=c.lineDashStyle=q(g.ganttlinedashed,0)?ha(q(g.ganttlinedashlen,1),g.ganttlinedashgap,c.lineThickness):"none";a.hoverColor=r(g.categoryhoverbandcolor,g.hoverbandcolor,b.getColor("gridColor"));a.hoverAlpha=q(g.categoryhoverbandalpha,g.hoverbandalpha,30);a.useHover=q(g.showcategoryhoverband,g.showhoverband,g.showhovereffect,1);a.usePlotHover=q(g.showganttpaneverticalhoverband);a.trendlinesDashLen=q(d.trendlinesDashLen,3);a.trendlinesDashGap=q(d.trendlinesDashGap,
3);a.gridLineHeaderPath="";a.gridLinePath=""},setCategory:function(c){var a;a=this.chart.get("components").numberFormatter;var d=this.config,b=d.axisData,g=d.axisRange,e=d.startPad||0,h=d.endPad||0,n,f,d=Infinity,p=-Infinity,l,t;b.categories={};if(c){b.hasCategory=1;b=b.categories.category=W({},c);this._extractAttribToEnd(b,{});for(l in b)if(b.hasOwnProperty(l)&&"_attrib"!==l)for(t=0,c=b[l].category.length;t<c;t+=1)n=b[l].category[t],f=a.getDateValue(n.start).ms,n=a.getDateValue(n.end).ms,isNaN(f)&&
(f=void 0),f>p&&(p=f),f<=d&&(d=f),isNaN(n)&&(n=void 0),n>p&&(p=n),n<=d&&(d=n);a=p+h;g.min=Number($(d-e,10));g.max=Number($(a,10));g.tickInterval=Number($(1,10))}else b.hasCategory=0},_drawComponents:function(){var c=this.config;this._drawCategories();c.drawPlotlines&&this._drawPlotLine();c.drawPlotBand&&this._drawPlotBand();c.drawTrendLines&&this._drawTrendLine()},_drawCategories:function(){var c=this.config,a=c.axisData,d=(a.axisDimention||{}).y,b=a.totalHeight||0,g=this.chart,e=g.components,h=g.config,
n=h.viewPortConfig,f=e.paper,e=e.numberFormatter,p=c.canvas,l=c.gridArr||(c.gridArr=[]),l=p.canvasLeft||h.canvasLeft,t=p.canvasTop||h.canvasTop,m=p.canvasHeight||h.canvasHeight,s=p.canvasWidth||h.canvasWidth,h=a.lastTranslate||(a.lastTranslate={x:0,y:0}),r=g.graphics,q=r.axisBottomGroup,k,p=0,z,F,D,y,x;F=g.get("config","animationObj");g=F.animObj;D=F.dummyObj;y=F.transposeAnimDuration;F=F.animType;x=ia(b,t-(a.maxTopSpaceAvailable||0));x=0<x?x:0;r.ganttPlotHoverBandContainerParent=r.ganttPlotHoverBandContainerParent||
f.group("guntt-plot-band-container-parent",q);a.ganttPlotHoverBandContainer?a.ganttPlotHoverBandContainer.animateWith(D,g,{"clip-rect":l+","+t+","+s+","+m},y,F):(a.ganttPlotHoverBandContainer=f.group("guntt-plot-band-container",r.ganttPlotHoverBandContainerParent),a.ganttPlotHoverBandContainer.attr({"clip-rect":l+","+t+","+s+","+m}));a.ganttPlotLineContainer?a.ganttPlotLineContainer.animateWith(D,g,{"clip-rect":l+","+t+","+s+","+m},y,F):(a.ganttPlotLineContainer=f.group("guntt-plot-line-container",
q),a.ganttPlotLineContainer.attr({"clip-rect":l+","+t+","+s+","+m}));a.labelContainer?a.labelContainer.animateWith(D,g,{"clip-rect":l+","+(t-x)+","+s+","+x},y,F):(a.labelContainer=f.group("guntt-label-container",q),a.labelContainer.attr({"clip-rect":l+","+(t-x)+","+s+","+x}));a.labelBackContainer||(a.labelBackContainer=f.group("guntt-label-back-container",a.labelContainer));a.labelLineContainer||(a.labelLineContainer=f.group("guntt-label-line-container",a.labelContainer));a.labelTextContainer||(a.labelTextContainer=
f.group("guntt-label-text-container",a.labelContainer));a.gridLinePath="";a.gridLineHeaderPath="";a.hoverElemsArr=[];a.labelHoverEventName={click:"CategoryClick",rollOver:"CategoryRollOver",rollOut:"CategoryRollOut"};if(a.hasCategory){f=a.categories.category;for(k in f)if(f.hasOwnProperty(k)&&"_attrib"!==k)for(z in t=f[k].category,m=void 0,l=c.gridArr=[],t)s=e.getDateValue(t[z].start).ms,r=e.getDateValue(t[z].end).ms,!t.hasOwnProperty(z)||"_attrib"===z||isNaN(s)||isNaN(r)||(s={elem:t[z],elemIndex:p,
pos:p,dimension:{left:m||this.getPixel(s),right:this.getPixel(r),top:d-b+f[k]._attrib.topPos,bottom:d-b+f[k]._attrib.bottomPos},type:"category",isHeader:!1},m=s.dimension.right,this._drawProcessAndDataTableElement(s),p+=1,l.push({x:s.dimension.left}));0<n.x?h.x=-(n.x*n.scaleX):a.lastTranslate={x:0,y:0}}this._drawGridLine();this._disposeExtraProcessAndDataTableElement(p)},placeAxis:function(c){var a=this.config,d=this.chart,b=d.config,g=d.get("components").numberFormatter,e=d.linkedItems.smartLabel,
h=a.axisData,n=h.labels.style,f=0,p={top:0,bottom:0},l=0,t,m,s,q,u,k,z,F=h.trend.trendStyle,D=a.vTrendLines,y=h.useEllipsesWhenOverflow,x=0,w=0;e.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);e.setStyle({fontSize:n.fontSize,fontFamily:n.fontFamily,lineHeight:n.lineHeight,fontWeight:n.fontWeight});h.maxTopSpaceAvailable=b.canvasTop;if(h.hasCategory)for(s in t=h.categories.category,t)if(t.hasOwnProperty(s)&&"_attrib"!==s){f=0;m=t[s].category;for(u in m)m.hasOwnProperty(u)&&"_attrib"!==u&&(q=m[u],
q.drawLabel=Q(q.label||q.name),k=q._attrib,k={fontFamily:r(k.fontfamily,n.fontFamily).replace(/px/i,"")+"px",fontSize:r(k.fontsize,n.fontSize),fontWeight:r(1===Number(k.isbold)?"bold":void 0===k.isbold?"bold":void 0,n.fontWeight),fontStyle:r(k.isitalic?"italic":void 0,n.fontStyle)},V(k),e.setStyle(k),q=e.getOriSize(q.drawLabel),q.height>f&&(z=q,f=q.height));t[s]._attrib.topPos=l;l+=z.height+8;t[s]._attrib.bottomPos=l}n=c-l;if(a.drawTrendLines&&a.drawTrendLabels&&D&&a.isActive)for(e.setStyle({fontSize:F.fontSize,
fontFamily:F.fontFamily,lineHeight:F.lineHeight,fontWeight:F.fontWeight}),h.trendBottomPadding=-1,u=0,a=D.length;u<a;u+=1)for(s=0,f=D[u].line.length;s<f;s+=1)t=D[u].line[s],q=t.origText||t.displayvalue||t.endvalue||t.startvalue||"",q=Q(q),t.startvalue=t.start&&g.getDateValue(t.start).ms,t.endvalue=t.end&&g.getDateValue(t.end).ms,t.origText=q,q=e.getSmartText(q,d.canvasWidth,F.lineHeight,y),m=q.height+2,0>n-m?t.displayvalue="":(t.displayvalue=q.text,x=x<q.height?q.height:x),q.tooltext?t.valueToolText=
q.tooltext:delete t.valueToolText;h.totalHeight=l;0<x&&(w+=x+ta(h.trendBottomPadding||0));l=l>c?c:l;p.top+=l;p.bottom+=w;b.categorySpaceUsed=l;return p}},"ganttCommon"]);FusionCharts.get("component",["axis","process",{configure:function(){var c=this.config,a=c.axisData,d=this.chart,b=d.jsonData.chart,d=d.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);c.lineColor=N(r(b.gridbordercolor,d.getColor("gridColor")),q(b.gridborderalpha,100));
c.lineThickness=q(b.gridborderthickness,1);c.lineDashStyle=q(b.gridborderdashed,0)?ha(q(b.gridborderdashlen,1),b.gridborderdashgap,c.lineThickness):"none";c.plotLineColor=N(r(b.ganttlinecolor,d.getColor("gridColor")),q(b.ganttlinealpha,100));c.plotLineThickness=q(b.ganttlinethickness,1);c.plotLineDashStyle=q(b.ganttlinedashed,0)?ha(q(b.ganttlinedashlen,1),b.ganttlinedashgap,c.lineThickness):"none";c.gridResizeBarColor=N(r(b.gridresizebarcolor,d.getColor("gridResizeBarColor")),q(b.gridresizebaralpha,
100));c.gridResizeBarThickness=q(b.gridresizebarthickness,1);c.forceRowHeight=q(b.forcerowheight,0);c.rowHeight=q(b.rowheight,0);a.hoverColor=r(b.processhoverbandcolor,b.hoverbandcolor,d.getColor("gridColor"));a.hoverAlpha=q(b.processhoverbandalpha,b.hoverbandalpha,30);a.useHover=q(b.showprocesshoverband,b.showhoverband,b.showhovereffect,1);a.usePlotHover=q(b.showganttpanehorizontalhoverband);a.showFullDataTable=q(b.showfulldatatable,1);a.useVerticalScrolling=q(b.useverticalscrolling,1);a.gridLineHeaderPath=
"";a.gridLinePath=""},setDataTable:function(c){var a=this.config.axisData;a.dataTables={};a.dataTables.dataTable={};c?(a.hasDataTables=1,W(a.dataTables.dataTable,c),c=a.dataTables.dataTable,this._extractAttribToEnd(c,{})):a.hasDataTables=0},setProcess:function(c){var a;a=this.config;var d=a.axisData,b=a.axisRange,g=a.startPad||0;a=a.endPad||0;var e,h,n;d.processes={};if(c){d.hasProcess=1;e=d.processes.process=W({},c);this._extractAttribToEnd(e,{});c=e.process.length;n=d.processes.processMap={};d.processes.processHeightMap=
{};for(d=0;d<c;d+=1)h=e.process[d],h.id&&(n[h.id.toLowerCase()]={catObj:h,index:d});a=c-1+a;b.min=Number($(-g,10));b.max=Number($(a,10));b.tickInterval=Number($(1,10))}else d.hasProcess=0},getProcessPositionById:function(c){var a=this.config.axisData;c=a.processes&&a.processes.processMap[c];a=a.processes.processHeightMap;return c?a[c.index]:!1},getProcessPositionByIndex:function(c){var a=this.config.axisData.processes.processHeightMap;return a[c]?a[c]:!1},setProcessHeight:function(){var c=this.config,
a=c.axisData,d=this.chart.config.canvasHeight,b=a.processes.process.process,g=a.processes.processHeightMap,e=a.processMaxHeight,h=0,n=c.forceRowHeight,c=c.rowHeight;if(e*b.length<d||0===a.useVerticalScrolling)e=d/b.length;0===n?c&&c>e&&(e=c):e=c||e;n=0;for(d=b.length;n<d;n++)a=q(b[n].height,e),g[n]={top:h,bottom:h+a,height:a},h+=a;return h},_drawComponents:function(){var c=this.config;this._drawProcessAndDataTable();c.drawPlotlines&&this._drawPlotLine();c.drawPlotBand&&this._drawPlotBand();this._drawVerticalLineAndTracker();
this._drawGridLine()},_drawProcessAndDataTable:function(){var c=this.config,a=c.axisData,d=this.chart,b=(a.axisDimention||{}).x,g=a.totalWidth||0,e=c.gridArr||(c.gridArr=[]),h=c.canvas,n=d.config,e=d.components.paper,f=h.canvasTop||n.canvasTop,p=h.canvasLeft||n.canvasLeft,l=h.canvasHeight||n.canvasHeight,t=h.canvasWidth||n.canvasWidth,m=d.graphics,q=m.axisBottomGroup,h=a.totalVisiblelWidth,r,u=0,k,z,F,D;z=d.get("config","animationObj");d=z.animObj;F=z.dummyObj;D=z.transposeAnimDuration;z=z.animType;
m.ganttPlotHoverBandContainerParent=m.ganttPlotHoverBandContainerParent||e.group("guntt-plot-band-container-parent",q);a.ganttPlotHoverBandContainer?a.ganttPlotHoverBandContainer.animateWith(F,d,{"clip-rect":p+","+f+","+t+","+l},D,z):(a.ganttPlotHoverBandContainer=e.group("guntt-plot-band-container",m.ganttPlotHoverBandContainerParent),a.ganttPlotHoverBandContainer.attr({"clip-rect":p+","+f+","+t+","+l}));a.ganttPlotLineContainer?a.ganttPlotLineContainer.animateWith(F,d,{"clip-rect":p+","+f+","+t+
","+l},D,z):(a.ganttPlotLineContainer=e.group("guntt-plot-line-container",q),a.ganttPlotLineContainer.attr({"clip-rect":p+","+f+","+t+","+l}));a.headerContainer?a.headerContainer.animateWith(F,d,{"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+n.categorySpaceUsed},D,z):(a.headerContainer=e.group("guntt-header-container",q),a.headerContainer.attr({"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+n.categorySpaceUsed}));
a.headerBackContainer||(a.headerBackContainer=e.group("guntt-header-back-container",a.headerContainer));a.headerLineContainer||(a.headerLineContainer=e.group("guntt-header-line-container",a.headerContainer));a.headerTextContainer||(a.headerTextContainer=e.group("guntt-header-text-container",a.headerContainer));a.labelContainer?a.labelContainer.animateWith(F,d,{"clip-rect":p-a.totalVisiblelWidth+","+f+","+a.totalVisiblelWidth+","+l},D,z):(a.labelContainer=e.group("guntt-label-container",q),a.labelContainer.attr({"clip-rect":p-
a.totalVisiblelWidth+","+f+","+a.totalVisiblelWidth+","+l}));a.labelBackContainer||(a.labelBackContainer=e.group("guntt-label-back-container",a.labelContainer));a.labelLineContainer||(a.labelLineContainer=e.group("guntt-label-line-container",a.labelContainer));a.labelTextContainer||(a.labelTextContainer=e.group("guntt-label-text-container",a.labelContainer));a.hotContainer?a.hotContainer.animateWith(F,d,{"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+(l+
n.categorySpaceUsed)},D,z):(a.hotContainer=e.group("guntt-hot-container",a.axisLabelGroup),a.hotContainer.attr({"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+(l+n.categorySpaceUsed)}));a.gridLinePath="";a.gridLineHeaderPath="";a.hoverElemsArr=[];a.labelHoverEventName={click:"ProcessClick",rollOver:"ProcessRollOver",rollOut:"ProcessRollOut"};if(a.hasProcess)for(process=a.processes.process.process,p={elem:a.processes.process,elemIndex:u,dimension:{left:b-
g+process._attrib.leftPos,right:b-g+process._attrib.rightPos,top:f-n.categorySpaceUsed,bottom:f},type:"header"},this._drawProcessAndDataTableElement(p),u+=1,e=c.gridArr=[],r=0,l=process.length;r<l;r++)c=this.getProcessPositionByIndex(r),p={elem:process[r],elemIndex:u,pos:r,dimension:{left:b-g+process._attrib.leftPos,right:b-g+process._attrib.rightPos,top:f+c.top,bottom:f+c.bottom},type:"process"},this._drawProcessAndDataTableElement(p),u+=1,e.push({y:p.dimension.bottom});if(a.hasDataTables){e=a.dataTables.dataTable.datacolumn;
for(r in e)if(e.hasOwnProperty(r)&&"_attrib"!==r)for(k in p={elem:e[r],elemIndex:u,pos:r,dimension:{left:b-g+e[r]._attrib.leftPos,right:b-g+e[r]._attrib.rightPos,top:f-n.categorySpaceUsed,bottom:f},type:"header"},this._drawProcessAndDataTableElement(p),u+=1,l=e[r].text,l)l[k]._attrib&&process[k]&&process[k]._attrib&&(l[k]._attrib.hoverbandcolor=process[k]._attrib.hoverbandcolor,l[k]._attrib.hoverbandalpha=process[k]._attrib.hoverbandalpha,l[k]._attrib.showhoverband=process[k]._attrib.showhoverband),
l.hasOwnProperty(k)&&"_attrib"!==k&&(c=this.getProcessPositionByIndex(k),p={elem:l[k],elemIndex:u,pos:k,dimension:{left:b-g+e[r]._attrib.leftPos,right:b-g+e[r]._attrib.rightPos,top:f+c.top,bottom:f+c.bottom},type:"datatable"},this._drawProcessAndDataTableElement(p),u+=1);a.drawFromProcessVlineDrag?a.drawFromProcessVlineDrag=!1:g>h?this.translateAxis(g-h,void 0):(this.resetTransletAxis(),this.resetTransletAxis())}this._drawGridLine();this._disposeExtraProcessAndDataTableElement(u)},_drawVerticalLineAndTracker:function(){var c=
this,a=c.config,d=a.axisData,b=c.chart,g=b.config,e=(d.axisDimention||{}).x,h=d.totalWidth||0,n=a.canvas.canvasTop||g.canvasTop,f=b.components.paper,p=c.components.processVline||(c.components.processVline=[]),l=d.processVlineArr,r=d.hotContainer,m=0,q,A,u,k,z,F,D=function(){var a=this.data("drag-options"),c=a.vHoverLine;a.origX=a.lastX||(a.lastX=0);c.show();b.trackerClicked=!0;a.draged=!1},y=function(a){var b=this.data("drag-options"),c=b.vHoverLine,d=b.vLineSetting,e=d.xPos+a,g=d.leftLimit,f=d.rightLimit;
e<g&&(a=g-d.xPos);e>f&&(a=f-d.xPos);d={transform:"t"+(b.origX+a)+ya+0};this.attr(d);c.attr(d);b.draged=!0;b.lastX=a},x=function(){var a=this.data("drag-options"),e=a.vLineSetting,g=a.vHoverLine,f=a.vLineIndex;b.trackerClicked=!1;g.hide();a.draged&&(e.left.rightPos+=a.lastX||0,e.right.leftPos+=a.lastX||0,e.xPos+=a.lastX||0,l[f-1]&&(l[f-1].rightLimit+=a.lastX||0),l[f+1]&&(l[f+1].leftLimit+=a.lastX||0),d.drawFromProcessVlineDrag=!0,c._drawProcessAndDataTable(),c._drawVerticalLineAndTracker(),a={transform:"t0,0"},
this.attr(a),g.attr(a))},a={stroke:a.gridResizeBarColor,"stroke-width":a.gridResizeBarThickness,visibility:"hidden"};z={stroke:da,ishot:!0,"stroke-width":30};k=n-g.categorySpaceUsed;g=0;for(q=l.length;g<q;g+=1)A="process"===l[g].type?d.processes.process.process:d.dataTables.dataTable.datacolumn[l[g].ind],A=e-h+A._attrib.rightPos,A=["M",A,k,"L",A,n+d.processTotalHeight],p[m]?(F=p[m].graphics.vHoverLine,F.attr({path:A}).attr(a),u=p[m].graphics.hotElement,u.attr({path:A}).attr(z)):(F=f.path(A,r),F.attr(a),
u=f.path(A,r),u.attr(z),p[m]={},p[m].graphics={},p[m].config={},p[m].graphics.vHoverLine=F,p[m].graphics.hotElement=u),u.css("cursor",S.svg&&"ew-resize"||"e-resize").drag(y,D,x).data("drag-options",{vHoverLine:p[m].graphics.vHoverLine,vLineSetting:l[g],vLineIndex:g}),m+=1;g=m;for(q=p.length;g<q;g+=1)p[g].graphics.vHoverLine.attr({path:["M",0,0]}),p[g].graphics.hotElement.attr({path:["M",0,0]})},manageProcessScroll:function(c){var a=this.config.axisData,d=a.totalWidth||0,a=a.totalVisiblelWidth;d>a&&
this.translateAxis((d-a)*(1-c),void 0)},placeAxis:function(c){var a=this.chart,d=a.linkedItems.smartLabel,b=this.config.axisData,g=b.labels.style,e=0,h=0,n={left:0,right:0},f=0,p=!1,l=0,q=0,m,s,A,u,k,z=0;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:g.fontSize,fontFamily:g.fontFamily,lineHeight:g.lineHeight,fontWeight:g.fontWeight});0===b.showFullDataTable&&(z=c/((b.hasDataTables&&b.dataTables&&b.dataTables.dataTable&&b.dataTables.dataTable.datacolumn?b.dataTables.dataTable.datacolumn.length:
0)+1));if(b.hasProcess){process=b.processes.process.process;m=b.processes.process;"right"===m.positioningrid&&(p=!0);m.headertext&&(m.drawLabel=Q(m.headertext),a=m._attrib,a={fontFamily:r(a.headerfontfamily,g.fontFamily),fontSize:r(a.headerfontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(1===Number(a.headerisbold)?"bold":void 0===a.headerisbold?"bold":void 0,g.fontWeight),fontStyle:r(a.headerisitalic?"italic":void 0,g.fontStyle)},a.lineHeight=V(a),d.setStyle(a),a=d.getOriSize(m.drawLabel),
a.width>h&&(e=a,h=a.width));m=0;for(s=process.length;m<s;m++)A=process[m],a=A._attrib,A.drawLabel=Q(A.label||A.name),a={fontFamily:r(a.fontfamily,g.fontFamily),fontSize:r(a.fontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(a.isbold?"bold":void 0,g.fontWeight),fontStyle:r(a.isitalic?"italic":void 0,g.fontStyle)},a.lineHeight=V(a),d.setStyle(a),a=d.getOriSize(A.drawLabel),a.width>h&&(e=a,h=a.width),a.height>q&&(q=a.height);b.processMaxHeight=q+8;process._attrib.leftPos=f;p?l=z||e.width+4:f+=
z||e.width+4;process._attrib.rightPos=f}if(b.hasDataTables)for(m in e=b.dataTables.dataTable.datacolumn,e)if(e.hasOwnProperty(m)&&"_attrib"!==m){q=e[m];h=0;q.headertext&&(a=q._attrib,q.drawLabel=Q(q.headertext),s={fontFamily:r(a.headerfontfamily,g.fontFamily),fontSize:r(a.headerfontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(1===Number(a.headerisbold)?"bold":void 0===a.headerisbold?"bold":void 0,g.fontWeight),fontStyle:r(a.headerisitalic?"italic":void 0,g.fontStyle)},s.lineHeight=V(s),d.setStyle(s),
a=d.getOriSize(q.drawLabel),a.width>h&&(k=a,h=a.width));q=q.text;for(u in q)q.hasOwnProperty(u)&&"_attrib"!==u&&(a=q[u],a.drawLabel=Q(a.label||a.name),s=a._attrib,s={fontFamily:r(s.fontfamily,g.fontFamily),fontSize:r(s.fontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(s.isbold?"bold":void 0,g.fontWeight),fontStyle:r(s.isitalic?"italic":void 0,g.fontStyle)},s.lineHeight=V(s),d.setStyle(s),a=d.getOriSize(a.drawLabel),a.width>h&&(k=a,h=a.width));e[m]._attrib.leftPos=f;f+=z||k.width+4;e[m]._attrib.rightPos=
f}b.hasProcess&&p&&(process._attrib.leftPos+=f,process._attrib.rightPos+=f+l,f+=l);b.totalWidth=f;this.adjustWidth();f=b.totalWidth>c?c:b.totalWidth;b.totalVisiblelWidth=f;n.left+=f;return n},adjustWidth:function(){var c=this.config.axisData,a=c.totalWidth,d=a,b=0,g=!1,e,h,n,f,p,l;e=c.processVlineArr=[];d-=20*(c.hasDataTables&&c.dataTables&&c.dataTables.dataTable&&c.dataTables.dataTable.datacolumn?c.dataTables.dataTable.datacolumn.length+1:1);n=function(b){d+=20;b=b.match(/%/g)?q(a*Number(b.replace(/%/g,
"")/100),0):q(b,0);20>d?b=20:b>d&&(b=d);d-=b;return b};c.hasProcess&&(process=c.processes.process.process,f=c.processes.process,"right"===f.positioningrid&&(g=!0),h=process._attrib,p=b,b+=n(h.width||""+(h.rightPos-h.leftPos)),h.leftPos=p,h.rightPos=b,g?b=0:e.push({type:"process",ind:0,xPos:h.rightPos,left:h,leftLimit:h.leftPos+20}));if(c.hasDataTables)for(l in f=c.dataTables.dataTable.datacolumn,f)if(f.hasOwnProperty(l)&&"_attrib"!==l){h=f[l];h=h._attrib;p=b;b+=n(h.width||""+(h.rightPos-h.leftPos));
h.leftPos=p;h.rightPos=b;if(p=e[e.length-1])p.right=h,p.rightLimit=h.rightPos-20;e.push({type:"dataTable",ind:l,xPos:h.rightPos,left:h,leftLimit:h.leftPos+20})}if(c.hasProcess)if(g){if(h=process._attrib,h.rightPos=b+(h.rightPos-h.leftPos),h.leftPos=b,b+=h.rightPos-h.leftPos,p=e[e.length-1])p.right=h,p.rightLimit=h.rightPos-20}else e.pop();c.totalWidth=b}},"ganttCommon"])}]);
/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-ssgrid",function(){var E=this,p=E.hcLib,q=p.BLANKSTRING,g=p.pluck,d=p.pluckNumber,I=p.chartAPI,w=p.graphics.convertColor,x=p.getFirstColor,M=p.setLineHeight,v=Math,N=v.min,F=v.max,O=v.ceil,P=v.round,Q=p.toRaphaelColor,J=p.POSITION_START,K=p.HUNDREDSTRING,L=p.COLOR_TRANSPARENT;I("ssgrid",{standaloneInit:!0,creditLabel:!1,friendlyName:"ssgrid Chart",defaultDatasetType:"ssgrid",canvasBorderThickness:1,singleseries:!0,bgColor:"#FFFFFF",bgAlpha:100,
_drawCaption:function(){},_drawCanvas:function(){},_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_spaceManager:function(){var e=this.components.dataset[0];e._manageSpace&&this._allocateSpace(e._manageSpace())}},I.sscartesian);FusionCharts.register("component",["dataset","ssgrid",{init:function(e){var a=this.chart;if(!e)return!1;this.JSONData=e;this.chartGraphics=a.chartGraphics;this.components={};this.config={};this.graphics={};this.visible=
1===d(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},configure:function(){var e=this.chart,a=this.config,b=e.jsonData.chart||{},l=e.components.colorManager;a.plotFillAngle=d(360-b.plotfillangle,e.isBar?180:90);a.plotFillAlpha=g(b.plotfillalpha,K);a.plotBorderAlpha=g(b.plotborderalpha,K);a.plotBorderColor=g(b.plotbordercolor,l.getColor("plotBorderColor"));a.plotDashLen=d(b.plotborderdashlen,5);a.plotDashGap=d(b.plotborderdashgap,4);a.showPercentValues=d(b.showpercentvalues,
0);a.numberItemsPerPage=d(b.numberitemsperpage)||void 0;a.showShadow=d(b.showshadow,0);a.baseFont=g(b.basefont,"Verdana,sans");a.baseFontSize=g(b.basefontsize,10)+"px";a.baseFontColor=x(g(b.basefontcolor,l.getColor("baseFontColor")));a.alternateRowBgColor=x(g(b.alternaterowbgcolor,l.getColor("altHGridColor")));a.alternateRowBgAlpha=g(b.alternaterowbgalpha,l.getColor("altHGridAlpha"))+q;a.listRowDividerThickness=d(b.listrowdividerthickness,1);a.listRowDividerColor=x(g(b.listrowdividercolor,l.getColor("borderColor")));
a.listRowDividerAlpha=d(d(b.listrowdivideralpha,l.getColor("altHGridAlpha")+15))+q;a.colorBoxWidth=d(b.colorboxwidth,8);a.colorBoxHeight=d(b.colorboxheight,8);a.navButtonRadius=d(b.navbuttonradius,7);a.navButtonColor=x(g(b.navbuttoncolor,l.getColor("canvasBorderColor")));a.navButtonHoverColor=x(g(b.navbuttonhovercolor,l.getColor("altHGridColor")));a.textVerticalPadding=d(b.textverticalpadding,3);a.navButtonPadding=d(b.navbuttonpadding,5);a.colorBoxPadding=d(b.colorboxpadding,10);a.valueColumnPadding=
d(b.valuecolumnpadding,10);a.nameColumnPadding=d(b.namecolumnpadding,5);a.shadow=d(b.showshadow,0)?{enabled:!0,opacity:a.plotFillAlpha/100}:!1;this.currentPage=0;this._setConfigure()},_setConfigure:function(){var e=this.chart,a=this.config,b=this.JSONData,l=e.jsonData&&e.jsonData.data,b=F(l&&l.length||0,b&&b.data&&b.data.length||0),n=e.components,e=n.colorManager,m=n.numberFormatter,k=a.plotColor=e.getPlotColor(this.index||this.positionIndex),r=p.parseUnsafeString,c=a.plotBorderThickness,H=a.plotBorderDashStyle,
h,f,R=p.getDashStyle,t=this.components.data,s,z,y,A,D=n=0,G;t||(t=this.components.data=[]);for(A=0;A<b&&l;A++)if(h=l[A])if(k=m.getCleanValue(h.value),f=r(g(h.label,h.name)),null!=k||f!=q)f=t[n]||(t[n]={config:{}}),f=f.config,f.tooltext=h.tooltext,f.showValue=d(h.showvalue,a.showValues),f.setValue=k=m.getCleanValue(h.value),f.setLink=g(h.link),f.toolTipValue=m.dataLabels(k),f.setDisplayValue=r(h.displayvalue),f.displayValue=m.dataLabels(k)||q,f.dataLabel=r(g(h.label,h.name))||q,s=d(h.dashed),z=d(h.dashlen,
void 0),y=d(h.dashgap,a.plotDashGap),D+=k,n+=1,f.plotBorderDashStyle=1===s?R(z,y,c):0===s?"none":H,k=g(h.color,e.getPlotColor(d(G-b,A))),g(h.ratio,a.plotFillRatio),s=g(h.alpha,a.plotFillAlpha),f.color=w(k,s),f.borderColor=w(a.plotBorderColor,g(h.alpha,a.plotBorderAlpha).toString()),G++;l={fontFamily:a.baseFont,fontSize:a.baseFontSize,color:a.baseFontColor};M(l);a.textStyle=l;a.actualDataLen=n;a.sumOfValues=D},_manageSpace:function(){var e=this.chart,a=this.config,b=e.linkedItems.smartLabel,l=this.components.data,
n=e.config,m=e.jsonData.chart||{},m=n.borderThickness=d(m.showborder,1)?d(m.borderthickness,1):0,k=n.height-2*m,m=n.width-2*m,r=a.textStyle,c=a.actualDataLen,H=a.sumOfValues,h=e.components.numberFormatter,e=0,f,g;b.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);b.setStyle(r);g=l.length;for(n=0;n<g;n++)if(f=l[n])f=f&&f.config,a.showPercentValues&&(f.displayValue=h.percentValue(f.setValue/H*100)),f=b.getOriSize(f.displayValue),e=F(e,f.width+a.valueColumnPadding);b=parseInt(r.lineHeight,10);b+=2*a.textVerticalPadding;
b=F(b,a.colorBoxHeight+a.listRowDividerThickness);l=k/b;a.numberItemsPerPage&&l>=a.numberItemsPerPage?a.numberItemsPerPage>=c?(a.numberItemsPerPage=c,k/=a.numberItemsPerPage):(k-=2*(a.navButtonPadding+a.navButtonRadius),c=a.numberItemsPerPage,k/=c):(l>=c||(k-=2*(a.navButtonPadding+a.navButtonRadius),c=Math.floor(k/b)),k/=c);m=m-a.colorBoxPadding-a.colorBoxWidth-a.nameColumnPadding-e-a.valueColumnPadding;a.labelX=a.colorBoxPadding+a.colorBoxWidth+a.nameColumnPadding;a.valueX=a.colorBoxPadding+a.colorBoxWidth+
a.nameColumnPadding+m+a.valueColumnPadding;a.valueColumnPadding=a.valueColumnPadding;a.rowHeight=k;a.itemsPerPage=c;a.listRowDividerAttr={"stroke-width":a.listRowDividerThickness,stroke:w(a.listRowDividerColor,a.listRowDividerAlpha)};a.alternateRowColor=w(a.alternateRowBgColor,a.alternateRowBgAlpha);return{top:0,bottom:0}},draw:function(){var e=this.config,a=this.chart,b=a.linkedItems.smartLabel,l=a.components.paper,n=a.graphics.datasetGroup,m=this.components.data,k=a.jsonData&&a.jsonData.data,k=
k&&k.length||0,d=F(k,m.length),c=this.graphics,g,c=a.config,h=c.borderThickness,f=h,a=a.config.width-c.borderThickness,p=Q(e.alternateRowColor),t=e.rowHeight,s=e.listRowDividerAttr,z=s["stroke-width"]%2/2,y=e.colorBoxPadding+h,A=e.colorBoxHeight,D=e.colorBoxWidth,G=e.labelX+h,S=e.valueX+h,q=e.textStyle,x=e.itemsPerPage,B=0,w=this.currentPage||(this.currentPage=0),v={},E,C,u;this.graphics.container||(this.graphics.container=[]);this.currentPage=w=N(O(d/x)-1,w);for(C=0;C<d;C++)if(1!=(C+1)%x&&1!=x&&
g||(f=h,(g=this.graphics.container[B])||(g=this.graphics.container[B]=l.group("grid-"+B,n)),B!==w?g.hide():g.show(),B+=1,v={pageId:B,data:[]},g.data("eventArgs",v)),c=m[C])u=c&&c.config,c=c&&(c.graphics||(c.graphics={})),C>=k?(c.alternateRow&&c.alternateRow.remove(),c.alternateRow=void 0,c.listRowDivideElem&&c.listRowDivideElem.remove(),c.listRowDivideElem=void 0,c.element&&c.element.remove(),c.element=void 0,c.label&&c.label.remove(),c.label=void 0,c.displayValue&&c.displayValue.remove(),c.displayValue=
void 0,c.listRowDivideElem&&c.listRowDivideElem.remove(),c.listRowDivideElem=void 0):(0===C%2&&(c.alternateRow||(c.alternateRow=l.rect()),g.appendChild(c.alternateRow),c.alternateRow.attr({x:h,y:f+.5*e.listRowDividerThickness,width:a-h,height:t,fill:p,"stroke-width":0})),c.element||(c.element=l.rect()),g.appendChild(c.element),c.element.attr({x:y,y:f+t/2-A/2,width:D,height:A,fill:u.color,"stroke-width":0,stroke:"#000000"}).shadow(e.shadow),E=b.getSmartText(u.displayValue).width||0,c.displayValue||
(c.displayValue=l.text()),g.appendChild(c.displayValue),c.displayValue.attr({text:u.displayValue,x:S,y:f+t/2,fill:q.color,direction:e.textDirection,"text-anchor":J}).css(q),c.label||(c.label=l.text()),u.label=b.getSmartText(u.dataLabel,a-(E+D+y),t),g.appendChild(c.label),c.label.attr({text:u.label.text,x:G,y:f+t/2,fill:q.color,direction:e.textDirection,"text-anchor":J}).css(q),v.data.push({color:u.color,displayValue:u.displayValue,label:u.dataLabel,originalText:u.label.text,y:f+t/2}),f+=t,u=P(f)+
z,c.listRowDivideElem||(c.listRowDivideElem=l.path()),g.appendChild(c.listRowDivideElem),c.listRowDivideElem.attr("path",["M",h,u,"L",a,u]).attr(s));for(d=this.graphics.container.length-1;d>=B;--d)g=this.graphics.container,g[d].remove(),g.splice(d,1);this._drawSSGridNavButton()},_drawSSGridNavButton:function(){var e=this,a=e.chart,b=e.config,l=b.actualDataLen,g=b.itemsPerPage,d=e.graphics,k=a.components.paper,r=a.config.borderThickness,c=b.navButtonColor,p=b.navButtonHoverColor,h=b.navButtonRadius,
f=.67*h,b=r+b.navButtonPadding+f+b.itemsPerPage*b.rowHeight+.5*h,r=20+r,q=a.config.width-r,a=a.graphics,t=a.trackerGroup,s=a.pageNavigationLayer,z=a.pagePreNavigationLayer,y=a.pageNextNavigationLayer,A=d.container.length,x=e.currentPage,w,v;s||(s=a.pageNavigationLayer=k.group("page-nav",t));z||(z=a.pagePreNavigationLayer=k.group("page-prev-nav",s));y||(y=a.pageNextNavigationLayer=k.group("page-next-nav",s));l>g?(s.show(),d.navElePrv||(d.navElePrv=k.path(z)),w=d.navElePrv.attr({path:["M",r,b,"L",r+
h+f,b-f,r+h,b,r+h+f,b+f,"Z"],fill:c,"stroke-width":0,cursor:"pointer"}),d.navTrackerPrv||(d.navTrackerPrv=k.circle(z).mouseover(function(){w.attr({fill:p,cursor:"pointer"})}).mouseout(function(){w.attr({fill:c})}).click(function(){e._nenagitePage(-1)})),d.navTrackerPrv.attr({cx:r+h,cy:b,r:h,fill:L,"stroke-width":0,cursor:"pointer"}),d.navEleNxt||(v=d.navEleNxt=k.path(y)),v=d.navEleNxt.attr({path:["M",q,b,"L",q-h-f,b-f,q-h,b,q-h-f,b+f,"Z"],fill:c,"stroke-width":0,cursor:"pointer"}),d.navTrackerNxt||
(d.navTrackerNxt=k.circle(y).mouseover(function(){v.attr({fill:p})}).mouseout(function(){v.attr({fill:c})}).click(function(){e._nenagitePage(1)})),d.navTrackerNxt.attr({cx:q-h,cy:b,r:h,fill:L,"stroke-width":0,cursor:"pointer"}),0===x?z.hide():z.show(),x===A-1?y.hide():y.show()):s.hide()},_nenagitePage:function(e){var a=this.chart,b=this.graphics.container,d=this.currentPage,g=a.graphics,m=g.pagePreNavigationLayer,g=g.pageNextNavigationLayer,k=b.length;b[d+e]&&(b[d].hide(),b[d+e].show(),d=this.currentPage+=
e);e=b[d].data("eventArgs");E.raiseEvent("pageNavigated",{pageId:d,data:e.data},a.chartInstance);0===d?m.hide():m.show();d===k-1?g.hide():g.show()}}])},[3,2,0,"sr2"]]);
/*
 FusionCharts JavaScript Library - ZoomScatter Chart
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-zoomscatter",function(){function O(){}var A=this,x=A.hcLib,V=x.parseTooltext,L=x.Raphael,W=x.addEvent,ba=x.removeEvent,P=A.window,X=P.MouseEvent,D=P.document,E=x.BLANKSTRING,y=x.pluck,C=x.pluckNumber,ca=x.getFirstValue,da=x.toRaphaelColor,ea=x.hasSVG,Y=x.isIE,Q=x.getFirstColor,N=x.hasTouch,R="rgba(192,192,192,"+(Y?.002:1E-6)+")",M=Math,F=M.round,z=M.min,B=M.max,S=M.abs,K=M.cos,H=M.sin,Z=M.floor,fa=2*Math.PI,ga=x.getMouseCoordinate,ha=
x.POSITION_BOTTOM,I=x.chartAPI,T=x.HUNDREDSTRING,$,aa,J=function(c,b){var a=ga(b.linkedItems.container,c),d=a.chartX,e=a.chartY,f=b.config,k=f.canvasLeft,h=f.canvasTop,g=f.canvasLeft+f.canvasWidth,f=f.canvasHeight+f.canvasTop;a.insideCanvas=!1;a.originalEvent=c;d>k&&d<g&&e>h&&e<f&&(a.insideCanvas=!0);return a},ia=function(c,b,a){var d;b&&c&&(a||(a={}),a.originalEvent&&(a=a.originalEvent),a.touches&&(a=a.touches[0]),b.dispatchEvent?(X?d=new X(c,{bubbles:!!a.bubbles,cancelable:!!a.cancelable,clientX:a.clientX||
a.pageX&&a.pageX-D.body.scrollLeft-D.documentElement.scrollLeft||0,clientY:a.clientY||a.pageY&&a.pageY-D.body.scrollTop-D.documentElement.scrollTop||0,screenX:a.screenX||0,screenY:a.screenY||0,pageX:a.pageX||0,pageY:a.pageY||0}):D.createEvent&&(d=D.createEvent("HTMLEvents"),d.initEvent(c,!!a.bubbles,!!a.cancelable)),d.eventName=c,d&&b.dispatchEvent(d)):D.createEventObject&&b.fireEvent&&(d=D.createEventObject(),d.eventType=c,d.eventName=c,b.fireEvent("on"+c,d)))};I("zoomscatter",{standaloneInit:!0,
defaultDatasetType:"zoomscatter",applicableDSList:{zoomscatter:!0},friendlyName:"ZoomScatter Chart",isXY:!0,defaultZeroPlaneHighlighted:!1,creditLabel:!1,configure:function(){var c,b=this.config;I.scatter.configure.apply(this,arguments);c=this.jsonData.chart;b.stepZoom=1-C(c.stepzoom,25)/100;b.showToolBarButtonToolText=C(c.showtoolbarbuttontooltext,1);b.btnResetChartToolText=y(c.btnresetcharttooltext,"Reset Chart");b.btnZoomOutToolText=y(c.btnzoomouttooltext,"Zoom out to previous level");b.btnZoomInToolText=
y(c.btnzoomintooltext,"<strong>Zoom in</strong><br/>Or double-click on plot to zoom-in");b.btnSelectZoomToolText=y(c.btnselectzoomtooltext,"<strong>Select a region to zoom-in</strong><br/>Click to enable pan mode.");b.btnPanToolText=y(c.btnpantooltext,"<strong>Drag to move across chart</strong><br/>Click to enable select-zoom mode.")},_setAxisLimits:function(){var c=this.jsonData,b=this.components.xAxis,a=y(c.chart.xaxislabelmode,"categories"),c=c.categories&&c.categories[0],c=(c&&c.category||[]).slice(),
d,e=Infinity,f=-Infinity,k;if("auto"===a||0===c.length){I.mscartesian._setAxisLimits.call(this);a=b[0].getLimit();b[0].setAxisData({hasCategory:0});b[0].resetCategoryAxisComponents();for(d=0;d<c.length;d+=1)if(k=c[d].x)k<e&&(e=k),k>f&&(f=k);if(f>a.max||e<a.min)f=B(f,a.max),e=z(e,a.min),b[0].setDataLimit(f,e)}else b[0].resetNumericAxisComponents(),I.scatterBase._setAxisLimits.call(this)},_createAxes:function(){var c=this.components;I.scatter._createAxes.call(this,arguments);c.yAxis[0].setAxisConfig({animateAxis:!1});
c.xAxis[0].setAxisConfig({animateAxis:!1})},_spaceManager:function(){var c,b,a=this.config,d=this.components,e=d.xAxis&&d.xAxis[0];b=d.yAxis&&d.yAxis||[];var f,k,h=d.legend.config.legendPos,g=a.xDepth,l=a.yDepth,m=a.canvasBgDepth,n=a.canvasBaseDepth,t=a.canvasBasePadding,q=d.canvas.config.canvasBorderWidth,p=a.realTimeConfig&&a.realTimeConfig.showRTValue,r=a.borderWidth,s=a.canvasMarginTop,w=a.canvasMarginBottom,u=a.canvasMarginLeft,v=a.canvasMarginRight,d=a.minCanvasHeight,U=a.minCanvasWidth;c=a.minChartWidth;
var y=a.minChartHeight,z=a.height,x=a.width,G=a._initConfig||(a._initConfig={}),B=!1,A=a.origCanvasTopMargin,E=a.origCanvasBottomMargin,C,D,F=[];G.canvasLeft=a.canvasLeft;G.canvasWidth=a.canvasWidth;G.canvasHeight=a.canvasHeight;G.canvasTop=a.canvasTop;G.availableHeight=a.availableHeight;G.availableWidth=a.availableWidth;a.canvasWidth-2*r<c&&(k=(a.canvasWidth-c)/2);a.canvasHeight-2*r<y&&(f=(a.canvasHeight-y)/2);this._allocateSpace({top:f||r,bottom:f||r,left:k||r,right:k||r});a.origCanvasWidth=a.canvasWidth;
a.origCanvasLeft=a.canvasLeft;a.canvasRight=a.canvasLeft+a.canvasWidth;a.origCanvasRight=a.canvasRight;r=0;for(k=b.length;r<k;r++)f=b[r],c=.7*a.availableWidth,c=f&&f.placeAxis(c)||{},F.push({axisIndex:r,spaceTaken:c}),f&&this._allocateSpace(c);b=.7*a.canvasHeight;this._manageActionBarSpace&&this._allocateSpace(this._manageActionBarSpace(b));this._manageLegendSpace(void 0);l&&(this._allocateSpace({bottom:l}),a.shift=g+t+n);m&&this._allocateSpace({right:m});a.canvasWidth-2*q<U&&(D=(a.canvasWidth-U)/
2);this._allocateSpace({left:D||q,right:D||q});U>x-u-v&&(l=a.canvasWidth-U,g=u+v,u=a.canvasMarginLeft=l*u/g,v=a.canvasMarginRight=l*v/g);u=u>a.canvasLeft?u-a.canvasLeft:0;this._allocateSpace({left:u,right:v>x-a.canvasRight?v+a.canvasRight-x:0});b=h===ha?.6*a.canvasHeight:.6*a.canvasWidth;this._manageChartMenuBar(b);b=.2*a.availableHeight;this._allocateSpace(this._getSumValueSpace(b));b=.3*a.availableHeight;a.origCanvasHeight=a.canvasHeight;a.canvasBottom=a.canvasTop+a.canvasHeight;a.origCanvasBottom=
a.canvasBottom;a.origCanvasTop=a.canvasTop;a.realtimeEnabled&&(p?this._allocateSpace(this._realTimeValuePositioning(b)):this._hideRealTimeValue());b=.6*a.availableHeight;a.xAxisSpaceAllocation=h=e&&e.placeAxis(b);e&&this._allocateSpace(h);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*a.canvasWidth));b=.3*a.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(b);a.canvasHeight-2*q<d&&(C=(a.canvasHeight-d)/2);this._allocateSpace({top:C||q,bottom:C||q});this._allocateSpace({bottom:n});
d>z-s-w&&(B=!0,l=a.canvasHeight-d,g=s+w,s=a.canvasMarginTop=l*s/g,w=a.canvasMarginBottom=l*w/g);e=s>a.canvasTop?s-a.canvasTop:0;n=w>z-a.canvasBottom?w+a.canvasBottom-z:0;this._allocateSpace({top:e,bottom:n});B&&(g=A+E,B=a.canvasHeight,B>d&&(l=B-d,e=l*A/g,n=l*E/g),this._allocateSpace({top:e,bottom:n}));a.actualCanvasMarginTop=e;a.actualCanvasMarginLeft=u},_createToolBox:function(){var c,b,a,d,e,f,k,h,g,l=this,m=l.config;d=l.components;c=d.chartMenuBar;g=m.showToolBarButtonToolText;var n=m.stepZoom;
c&&c.drawn||(I.mscartesian._createToolBox.call(l),c=d.tb,b=c.graphics||(c.graphics={}),a=c.getAPIInstances(c.ALIGNMENT_HORIZONTAL),a=a.Symbol,d=d.chartMenuBar.componentGroups[0],e=b.zoomInButton=(new a("zoomInIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.zoom(n)},tooltext:g&&m.btnZoomInToolText||E}),f=b.zoomOutButton=(new a("zoomOutIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){var a=m.viewPortHistory;1<a.length&&(a=a.slice(-2,-1)[0],l.updateVisual(a.x,
a.y,a.scaleX,a.scaleY))},tooltext:g&&m.btnZoomOutToolText||E}),k=b.resetButton=(new a("resetIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){var a=m.viewPortConfig,b=l.graphics;1<m.viewPortHistory.length&&(a.isReset=!0,l.zoomSelection(0,0,m.canvasWidth,m.canvasHeight),m.viewPortHistory.splice(1),b.trackerGroup.attr({cursor:"default"}),l.updateButtonVisual(),l.updateSelectionBox(0,0,0,0));A.raiseEvent("zoomReset",{},l.chartInstance,[l.chartInstance.id])},tooltext:g&&m.btnResetChartToolText||
E}),h=b.toggleZoomInButton=(new a("zoomModeIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.toogleDragPan(!0)},tooltext:g&&m.btnSelectZoomToolText||E}),g=b.togglePanButton=(new a("panModeIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.toogleDragPan(!0)},tooltext:g&&m.btnPanToolText||E}),d.addSymbol(g,!0),d.addSymbol(h,!0),d.addSymbol(k,!0),d.addSymbol(f,!0),d.addSymbol(e,!0))},_createLayers:function(){var c=this.graphics,b=this.components.paper;I.scatter._createLayers.call(this);
!c.imageContainer&&(c.imageContainer=b.group("dataset-orphan",c.datasetGroup));this.__preDraw()},_dist:function(c,b){var a=this.components,d;d=a.xAxis[0];a=a.yAxis[0];if(c&&b)return d=(c.x-b.x)*d.getPVR(),a=(c.y-b.y)*a.getPVR(),Math.sqrt(Math.pow(d,2)+Math.pow(a,2))},__preDraw:function(){var c=this.graphics,b=c.imageContainer,a=this.config,d=a.canvasLeft,e=a.canvasTop,f=a.canvasWidth,k=a.canvasHeight,h=this.jsonData.chart,g=this.linkedItems,g=g.eventListeners||(g.eventListeners=[]),l=this.linkedItems.container,
m=this.components.paper;a.updateAnimDuration=500;b.transform("t"+d+","+e);b.attr({"clip-rect":d+","+e+","+f+","+k});a.status="zoom";a.maxZoomLimit=C(h.maxzoomlimit,1E3);a.viewPortHistory=[{scaleX:1,scaleY:1,x:0,y:0}];!c.trackerElem&&(c.trackerElem=m.rect(d,e,f,k,0,c.trackerGroup).attr({fill:R,stroke:R}));ba(l,N?"touchstart":"mousemove",this.searchMouseMove);g.push(W(l,"touchstart mousemove",this.searchMouseMove,this));this.zoomPanManager(b)},searchMouseMove:function(c){var b,a,d,e=c.data,f=e.config,
k=f.viewPortConfig;a=e.components;var h=a.xAxis[0],g=a.yAxis[0];e.linkedItems.container&&!f.isDragging&&((b=J(c,e))&&b.insideCanvas?(a=f.canvasTop,d=f.canvasLeft,k.lastMouseCoordinate={x:Number(h.getValue(b.chartX-d)),y:Number(g.getValue(b.chartY-a))},clearTimeout(k.neighbourSearchTimer),f.lastMouseEvent=c,k.neighbourSearchTimer=setTimeout(function(){f.isDragging||e._bestNeighbour(k.lastMouseCoordinate)},100)):e.highlightPoint(!1))},updateSelectionBox:function(c,b,a,d){var e=this.config,f=this.graphics,
k=this.components.paper,h=e.viewPortConfig,g=e.cursor,l=f.selectionBox,m=e.canvasRight,n=e.canvasLeft,t=e.canvasTop,q=e.canvasBottom,p=c<a?c:a,r=b<d?b:d,s=c>a?c:a,w=b>d?b:d,u=a-c,v=b-d,g=g?0<u&&0<v?"ne-resize":0>u&&0<v?"nw-resize":0>u&&0>v?"sw-resize":0<u&&0>v?"se-resize":"default":"default",p=p<n?n:p>m?m:p,r=r<t?t:r>q?q:r,u=c===a&&b===d?0:(s>m?m:s<n?n:s)-p,v=c===a&&b===d?0:(w>q?q:w<t?t:w)-r;l?l.attr({x:p,y:r,width:u,height:v,cursor:g}):f.selectionBox=k.rect(p,r,u,v).attr({"stroke-width":1,stroke:"red",
fill:"#00FF00",opacity:.2,cursor:g});f.trackerGroup.attr({cursor:g});e.cursor=g;h.selectionDimensions||(h.selectionDimensions={startX:0,endX:0,startY:0,endY:0});h.selectionDimensions.startX=c;h.selectionDimensions.endX=b;h.selectionDimensions.startY=a;h.selectionDimensions.endY=d},getValue:function(c){var b=this.config,a=this.components,d=b.viewPortConfig;c=this.getOriginalPositions(c.x,c.y,c.x,c.y);var e=a.xAxis[0].config.axisRange,a=a.yAxis[0].config.axisRange,f=e.min,k=a.max;return{x:f+(c[0]-b.canvasLeft)/
(b.canvasWidth*d.scaleX/(e.max-f)),y:k-(c[1]-b.canvasTop)/(b.canvasHeight*d.scaleY/(k-a.min))}},_getTouchViewPort:function(c,b,a){var d,e;e=this.config;var f=e.canvasLeft,k=e.canvasTop;d=e.canvasWidth;e=e.canvasHeight;var h=z(c[0].chartX,c[1].chartX)-f,g=z(c[0].chartY,c[1].chartY)-k,l=Math.abs(c[1].chartX-c[0].chartX);c=Math.abs(c[1].chartY-c[0].chartY);var f=z(b[0].chartX,b[1].chartX)-f,k=z(b[0].chartY,b[1].chartY)-k,m=Math.abs(b[1].chartX-b[0].chartX),n=Math.abs(b[1].chartY-b[0].chartY);b=m/l*a.scaleX;
l=n/c*a.scaleY;h=a.x+h/a.scaleX-f/b;a=a.y+g/a.scaleY-k/l;h=0>h?0:h;a=0>a?0:a;l=1>l?1:l;b=1>b?1:b;d-=d/b;e-=e/l;return{x:h>d?d:h,y:a>e?e:a,scaleX:b,scaleY:l}},getOriginalPositions:function(c,b,a,d){var e=this.config,f=e.viewPortConfig,k=f.scaleX,h=f.scaleY,g=f.x,f=f.y,l=z(c,a);c=B(c,a);a=z(b,d);b=B(b,d);c=c>e.canvasWidth?e.canvasWidth:c;b=b>e.canvasHeight?e.canvasHeight:b;l=0>l?0:l;a=0>a?0:a;return[g+l/k,f+a/h,(c-l)/k,(b-a)/h]},zoomSelection:function(c,b,a,d){var e=this.config;a&&d&&(a=Math.abs(e.canvasWidth/
a),d=Math.abs(e.canvasHeight/d),this.updateVisual(c,b,a,d))},toogleDragPan:function(c){var b=this.config,a=b.status;c&&(b.status="zoom"===a?"pan":"zoom",A.raiseEvent("zoomModeChanged",{panModeActive:b.status},this.chartInstance,[this.chartInstance.id]));this.updateButtonVisual()},updateManager:function(c){var b,a=this.components.dataset,d=a.length;for(b=0;b<d;b+=1)a[b].draw(c);c||this._drawQuadrant()},zoomPanManager:function(){var c,b=[],a=[],d=this,e=d.config,f=d.graphics,k=d.components,h=k.eventListeners||
(k.eventListeners=[]),g=d.viewPortConfig,l=!1,m=0,n,t={},q=function(a){var b=a.chartX,c=a.chartY,d=e.canvasLeft,f=e.canvasTop,g=e.canvasRight,h=e.canvasBottom;b<d&&(a.chartX=B(b,d));b>g&&(a.chartX=z(b,g));c<f&&(a.chartY=B(c,f));c>h&&(a.chartY=z(c,h))},p={start:function(a){g=e.viewPortConfig;N=a.touches?!0:!1;b[0]=J(a,d);d.updateSelectionBox(0,0,0,0);N&&(l=!1,c=a.touches.length,2===c&&(l=!0,t.x=g.x,t.y=g.y,t.scaleX=g.scaleX,t.scaleY=g.scaleY,b[0]=J(a.touches.item(0),d),b[1]=J(a.touches.item(1),d)));
e.isDragging=!1;"pan"===e.status&&(e.panStartX=g.x,e.panStartY=g.y,b[0].insideCanvas&&f.trackerGroup.attr({cursor:"move"}))},on:function(c){var h,m,n,q;n=e.panStartX;var p=e.panStartY;h=g.scaleX;m=g.scaleY;var z=k.xAxis[0],x=k.yAxis[0];N=c.touches?!0:!1;a[0]=J(c,d);a[0].insideCanvas?"pan"===e.status&&f.trackerGroup.attr({cursor:"move"}):f.trackerGroup.attr({cursor:"default"});N&&c&&(q=c.touches.length,2===q?(l=!0,a[0]=J(c.touches.item(0),d),a[1]=J(c.touches.item(1),d)):l=!1);!e.isDragging&&(!N||2<
S(a[0].chartX-b[0].chartX)||2<S(a[0].chartY-b[0].chartY))&&(e.isDragging=!0,d.highlightPoint(!1),"zoom"===e.status&&(b[0].pointValue=d.getValue({x:b[0].chartX,y:b[0].chartY}),A.raiseEvent("selectionStart",{chartX:b[0].chartX,chartY:b[0].chartY,pageX:b[0].pageX,pageY:b[0].pageY,selectionTop:b[0].chartX+e.canvasLeft,selectionLeft:b[0].chartY+e.canvasTop,selectionWidth:0,selectionHeight:0,startXVAlue:b[0].pointValue.x,startYVAlue:b[0].pointValue.y},d.chartInstance,[d.chartInstance.id])));if(e.isDragging)if(l){if(b[0].insideCanvas||
b[1].insideCanvas)n=d._getTouchViewPort(b,a,t),d.updateVisual(n.x,n.y,n.scaleX,n.scaleY,!0)}else"zoom"===e.status?d.updateSelectionBox(b[0].chartX,b[0].chartY,a[0].chartX,a[0].chartY):"pan"!==e.status||1===h&&1===m||!b[0].insideCanvas||(c=b&&a[0].chartX-b[0].chartX,q=b&&a[0].chartY-b[0].chartY,n-=c/h,p-=q/m,h=e.canvasWidth*(h-1)/h,m=e.canvasHeight*(m-1)/m,g.x=n>h?h:0>n?0:n,g.y=p>m?m:0>p?0:p,d.updateManager(),z.draw(),x.draw())},end:function(c){var g=J(c,d),h=e.canvasLeft,k=e.canvasTop,p;p=e.canvasWidth/
4;var z=e.canvasHeight/4,g=isNaN(g.chartX)||isNaN(g.chartY)?a[0]||b[0]:g;if(e.isDragging){if(l){if(b[0].insideCanvas||b[1].insideCanvas)c=d._getTouchViewPort(b,a,t),d.updateVisual(c.x,c.y,c.scaleX,c.scaleY);l=!1}else"zoom"===e.status&&(c=g,p=b[0],q(p),q(c),k=d.getOriginalPositions(p.chartX-h,p.chartY-k,c.chartX-h,c.chartY-k))&&(c.pointValue=d.getValue({x:c.chartX,y:c.chartY}),A.raiseEvent("selectionEnd",{chartX:c.chartX,chartY:c.chartY,pageX:c.pageX,pageY:c.pageY,selectionTop:c.chartX+e.canvasLeft,
selectionLeft:c.chartY+e.canvasTop,selectionWidth:Math.abs(c.chartX-p.chartX),selectionHeight:Math.abs(c.chartY-p.chartY),startXVAlue:p.pointValue.x,startYVAlue:p.pointValue.y,endXValue:c.pointValue.x,endYValue:c.pointValue.y},d.chartInstance,[d.chartInstance.id]),p.chartX!==c.chartX&&p.chartY!==c.chartY&&d.zoomSelection(k[0],k[1],k[2],k[3]),d.updateSelectionBox(0,0,0,0));e.isDragging=!1;c=a[0]||b[0];c.data=d;d.searchMouseMove(c)}else g.insideCanvas&&(m+=1,setTimeout(function(){m=0;n=void 0},500),
2===m?(c&&c.touches?!0:!1)===n&&(h=g.chartX-h,k=g.chartY-k,k=d.getOriginalPositions(h-p,k-z,h+p,k+z),d.zoomSelection(k[0],k[1],k[2],k[3]),c.preventDefault()):n=c&&c.touches?!0:!1);f.trackerGroup.attr({cursor:"default"})}};h.push(W(d.linkedItems.container,"pointerdrag",function(a){p[a.state](a.originalEvent)}))},_drawDataset:function(){var c,b=this.components.dataset,a=b.length;for(c=0;c<a;c+=1)b[c]._deleteGridImages(),b[c].graphics._grid={};this.updateVisual()},updateVisual:function(c,b,a,d,e){var f,
k,h,g,l;f=this.config;var m=this.components,n=f.viewPortConfig;l=f.canvasWidth;var t=f.canvasHeight,q=l,p=t,r=f.viewPortHistory,p=r.slice(-1)[0],s=[],s=f.status,w=f._initConfig;k=m.xAxis[0];g=m.yAxis[0];h=this.graphics;m=(m=m.quadrant)&&m.graphics.container;q=f.maxZoomLimit;n.x=isNaN(c)?c=p.x:c;n.y=isNaN(b)?b=p.y:b;n.scaleX=a||(a=p.scaleX);n.scaleY=d||(d=p.scaleY);a>q&&(n.x=c=z(c,l-l/q),n.scaleX=a=q);d>q&&(n.y=b=z(b,t-t/q),n.scaleY=d=q);if(e)this.updateManager(e);else for(1<a||1<d?("zoom"===s&&this.toogleDragPan(!0),
a>=p.scaleX||d>=p.scaleY?(r.push({scaleX:a,scaleY:d,x:c,y:b}),s=["zoomed","zoomIn"]):(r.pop(),p=r.slice(-1)[0],n.x=p.x,n.y=p.y,n.scaleX=p.scaleX,n.scaleY=p.scaleY,s=["zoomed","zoomOut"])):(1<r.length&&r.pop(),"pan"===s&&this.toogleDragPan(!0),s=["zoomed","zoomOut"]),this.toogleDragPan(),q=f.canvasWidth,p=f.canvasHeight,c&&(c=n.x*=q/l),b&&(n.y*=p/t),f.canvasLeft=w.canvasLeft,f.canvasWidth=w.canvasWidth,f.canvasHeight=w.canvasHeight,f.canvasTop=w.canvasTop,f.availableHeight=w.availableHeight,f.availableWidth=
w.availableWidth,this._spaceManager(),this._postSpaceManagement(),this.updateManager(),k.draw(),g.draw(),this._drawCanvas(),l={"clip-rect":f.canvasLeft+","+f.canvasTop+","+f.canvasWidth+","+f.canvasHeight},f.viewPortConfig&&this.graphics.imageContainer.attr({x:f.canvasLeft,y:f.canvasRight}),h.imageContainer.attr(l).transform("T"+f.canvasLeft+","+f.canvasTop),h.tracker&&h.tracker.attr(l),m&&m.attr(l),f=k.getValue(0),k=k.getValue(q),h=g.getValue(0),g=g.getValue(p),0===arguments.length&&(s=E),l=0;l<
s.length;l+=1)"zoomed"===s[l]&&A.raiseEvent("zoomed",{level:r.length,startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]),"zoomIn"===s[l]?A.raiseEvent("zoomedIn",{level:r.length,startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]):"zoomOut"!==s[l]||n.isReset||A.raiseEvent("zoomedOut",{level:r.length,startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]);this.highlightPoint(!1);n.isReset=!1},getFillColor:function(c,b){b=parseFloat(b/
100);0>b?b=0:1<b&&(b=1);c||(c="#FFFFFF");if(Y&&!ea)return b?c:"transparent";c=c.replace(/^#?([a-f0-9]+)/ig,"$1");c=x.graphics.HEXtoRGB(c);c[3]=b.toString();return"rgba("+c.join(",")+")"},_bestNeighbour:function(c){var b=this.components,a=this.config,d=b.xAxis[0],e=b.yAxis[0],f=this.jsonData.chart,k=a.canvasLeft,h=a.canvasTop,g,l,m,n,t,q,p,r,s,w,u,v;v=b.numberFormatter;s=b.dataset;for(g=s.length-1;0<=g;--g)if(b=s[g],u=b.config,l=u.showHoverEffect,r=u.showTooltip,b.components.kDTree&&b.visible&&(n=
b.getElement(c),b=this._dist(c,n),!t||b<q))if(m=g,t=n,q=b,p=s[m]&&u.zoomedRadius||0,q<=p)break;q<=B(p+2,5)?(c=d.getPixel(t.x)-k,h=e.getPixel(t.y)-h,k=y(t.tooltext,u.plotToolText),b=s[m],u=b.config,s=u.tooltip.toolTipSepChar,q=u.tooltip.seriesNameInToolTip,p=t.x,g=t.y,t&&(w=v.yAxis(g),v=v.xAxis(p),w=Number(r)?void 0!==k?V(k,[4,5,6,7,8,9,10,11],{yaxisName:e.getAxisData("axisName"),xaxisName:d.getAxisData("axisName"),yDataValue:w,xDataValue:v},t,f,b.config):(q?u.seriesname?u.seriesname+s:"":"")+"x:"+
v+s+"y:"+w:E),a.lastHoveredPoint!==t&&this.highlightPoint(l,c,h,t,m,w)):this.highlightPoint(!1)},highlightPoint:function(c,b,a,d,e,f){var k=this,h=k.config,g=k.components,l=k.graphics,m=g.paper,n=l.tracker,t=(g=g.dataset[e])&&g.config;e=g&&t.zoomedRadius||0;var q=g&&t.hoverCosmetics,g=q&&q.fill,t=q&&q.borderColor,q=q&&q.borderThickness,p={},p=function(a){x.plotEventHandler.call(this,k,a)},r=function(a){x.plotEventHandler.call(this,k,a,"dataplotRollover")},s=function(a){x.plotEventHandler.call(this,
k,a,"dataplotRollout")},w=d&&d.link;n||(n=l.tracker=m.circle(0,0,0,l.trackerGroup).attr({"clip-rect":h.canvasLeft+","+h.canvasTop+","+h.canvasWidth+","+h.canvasHeight}).click(p).trackTooltip(!0).hover(r,s));d&&n.data("eventArgs",{x:d.x,y:d.y,tooltip:f,link:w});h.lastHoveredPoint=d;p=Number(c)?{r:e,fill:g,stroke:t,"stroke-width":q}:{r:e,fill:R,stroke:R,"stroke-width":0};p.cursor=w?"pointer":"";n.attr(p).tooltip(f).transform("t"+(b+h.canvasLeft)+","+(a+h.canvasTop));d&&ia("mouseover",n&&n.node,h.lastMouseEvent)},
zoom:function(c){var b,a,d=this.config,e=d.viewPortConfig;b=e.x;a=e.y;var f=d.canvasWidth,d=d.canvasHeight,k=f/e.scaleX,h=d/e.scaleY,e=k*c;c*=h;e=e>f?f:e;c=c>d?d:c;b=b+k/2-e/2;a=a+h/2-c/2;b=0>b?0:b;a=0>a?0:a;b=b+e>f?f-e:b;a=a+c>d?d-c:a;this.zoomSelection(b,a,e,c)},updateButtonVisual:function(){var c,b,a,d;a=this.config;var e=this.components.tb.graphics;c=a.status;var f;1>=a.viewPortHistory.length?(a=["zoomOutButton","resetButton","togglePanButton"],d=["zoomInButton"],f="toggleZoomInButton"):(d=["resetButton",
"zoomOutButton","zoomInButton"],a=[],"zoom"===c?(d.push("togglePanButton"),f="toggleZoomInButton"):"pan"===c&&(d.push("toggleZoomInButton"),f="togglePanButton"));for(c=0;c<a.length;c+=1)b=a[c],e[b].node.attr({config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","stroke-width":1,
stroke:"#E3E3E3",cursor:"default"}},fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],"button-disabled":!1,stroke:"#E3E3E3","stroke-opacity":1});for(c=0;c<d.length;c+=1)b=d[c],e[b].node.attr({config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},normal:{fill:"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",
cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1});e[f].node.attr({config:{hover:{fill:"#EFEFEF","stroke-width":1,stroke:"#EFEFEF",cursor:"default"},normal:{fill:"#EFEFEF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#E6E6E6","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1,fill:["#EFEFEF",
"#EFEFEF","#EFEFEF","#EFEFEF",!0],stroke:"#E3E3E3","stroke-opacity":1})}},I.scatterBase);FusionCharts.register("component",["dataset","zoomscatter",{type:"zoomscatter",configure:function(){var c,b,a,d,e,f,k;f=this.chart;d=f.jsonData.chart;var h=f.getFillColor,g=this.JSONData;this.__base__.configure.call(this);f=this.config;b=this.components;c=y(g.anchorbordercolor,d.anchorbordercolor);f.anchorBorderThickness=y(g.anchorborderthickness,d.anchorborderthickness,c?1:0);b.kDTree=new O;f.chunkSize=Math.floor(z((g.data||
[]).length/5,5E4));c=f.staticRadius=C(d.staticradius,0);f.radius=C(g.radius,g.anchorradius,d.radius,d.anchorradius,c?3:.5);k=f.showHoverEffect;c=Q(y(g.plotfillhovercolor,g.hovercolor,d.plotfillhovercolor,d.hovercolor,f.anchorBgColor));b=y(g.plotfillhoveralpha,g.hoveralpha,d.plotfillhoveralpha,d.hoveralpha,T);a=Q(y(g.plotfillhovercolor,g.hovercolor,d.plotfillhovercolor,d.hovercolor,c));e=y(g.plotfillhoveralpha,g.hoveralpha,d.plotfillhoveralpha,d.hoveralpha,T);d=C(g.borderhoverthickness,d.borderhoverthickness,
1);f.hoverCosmetics={showHoverEffect:k,fill:h(c,b),borderColor:h(a,e),borderThickness:d};f.tooltip={toolTipVisible:f.showTooltip,seriesNameInToolTip:f.seriesNameInTooltip,toolTipSepChar:f.toolTipSepChar};f.lastViewPort={}},draw:function(c){var b,a,d;b=this.graphics;d=this.chart;a=d.components;var e=d.graphics.imageContainer,f=a.paper;d=d.config;var k=this.visible,h=d.viewPortConfig,g=this.config,l=g.lastViewPort||{},m=!1;b.container||(b.container=f.group("grid-container",e));k&&this._conatinerHidden?
this.show():k||this._conatinerHidden||this.hide();if(c)this._pixelatedDraw();else{if(l.scaleX!==h.scaleX||l.scaleY!==h.scaleY)l.scaleX=h.scaleX,l.scaleY=h.scaleY,c=a.xAxis[0],b=a.yAxis[0],a=c.getPVR(),c=b.getPVR(),d=B(g.zoomedRadius=z(g.staticRadius?g.radius:g.radius*z(h.scaleX,h.scaleY),d.canvasWidth/2,d.canvasHeight/2),2),this.components.kDTree._setSearchLimit(d/a,d/c),this._deleteGridImages(),this.graphics._grid={},m=!0;this._gridDraw(m)}},_pixelatedDraw:function(){var c,b,a,d,e,f=this.chart.config;
a=this.config;d=this.graphics;var k=a.drawLine,h=a.lastViewPort||{},g=h.scaleX,l=h.scaleY;e=f.viewPortConfig;var m=e.scaleX,n=e.scaleY,h=this.graphics._grid||(this.graphics._grid=[]),g=m/g,l=n/l,n=f.canvasWidth*g,f=f.canvasHeight*l;a=a._batchDarwTimers;d=d.container;clearTimeout(this.timer);if(a&&a.length)for(;a.length;)clearTimeout(a.shift());d.transform("t"+F(-e.x*e.scaleX)+","+F(-e.y*e.scaleY));for(c in h)if(e=h[c])for(b in e)(d=e[b])&&d.drawState&&(a=d.image,a.attr({x:d.xPixel*g,y:d.yPixel*l,
width:n,height:f}),k&&(a=d.lineImage,a.attr({x:d.xPixel*g,y:d.yPixel*l,width:n,height:f})))},_deleteGridImages:function(){var c,b,a,d,e;b=this.config;var f=this.graphics,k=f._imagePool||(f._imagePool=[]),h=f._canvasPool||(f._canvasPool=[]),g=f._lineImagePool||(f._lineImagePool=[]),l=f._lineCanvasPool||(f._lineCanvasPool=[]),m=f._grid||[];if((b=b._batchDarwTimers)&&b.length)for(;b.length;)clearTimeout(b.shift());for(a in m)if(e=m[a])for(d in e)(b=e[d])&&b.drawState&&(c=b.image,c.attr({src:"",width:0,
height:0}),k.push(c),delete b.image,c=b.canvas,h.push(c),delete b.canvas,delete b.ctx,c=b.lineImage)&&(c.attr({src:"",width:0,height:0}),g.push(c),delete b.lineImage,c=b.lineCanvas,l.push(c),delete b.lineCanvas,delete b.lineCtx);delete f._grid},_gridDraw:function(c){var b=this,a=b.graphics,d=b.config,e=b.chart.config.viewPortConfig;clearTimeout(d.timer);a.container.transform("t"+F(-e.x*e.scaleX)+","+F(-e.y*e.scaleY));c?b._gridManager():d.timer=setTimeout(function(){b._gridManager()},10)},_gridManager:function(){var c,
b,a,d,e,f,k,h,g,l=this,m=l.config,n=l.graphics._grid,t=m._drawGrid||(m._drawGrid=[]),q=l.chart,p=q.config,r=q.components;e=p.viewPortConfig;f=e.scaleX;var s=e.scaleY;k=Math.ceil(s);d=Math.ceil(f);var q=p.canvasWidth,p=p.canvasHeight,w=r.xAxis[0],u=r.yAxis[0],v=w.config,x=u.config,r=v.axisRange.min,v=v.axisRange.max,y=x.axisRange.min,x=x.axisRange.max,C=(v-r)/f,A=(x-y)/s;b=m.radius*z(e.scaleX,e.scaleY)+m.plotCosmetics.borderWidth;w=S(b/(q*e.scaleX/(w.max-w.min)));u=S(b/(p*e.scaleY/(u.max-u.min)));
b=q/f;g=p/s;c=z(1,b/10,g/10);var s={},G=[];f=e.x+c;b=e.x-c+b;h=e.y+c;c=e.y+g-c;e=l._getFocusedGrid(f,h);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(b,h);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(b,c);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(f,c);g=s[e.row]||(s[e.row]={});g[e.col]=!0;f=l._getFocusedGrid();e=f.row;f=f.col;b=B(e-1,0);e=z(e+1,k-1);k=B(f-1,0);f=z(f+1,d-1);d=x-b*A;for(h=b;h<=e;h+=1){n[h]||(n[h]={});b=r+k*C;for(g=k;g<=f;g+=1)c=n[h][g],c||(a=
B(d-A,y),c=z(b+C,v),c=n[h][g]={xPixel:g*q,yPixel:h*p,xMinValue:b,yMinValue:a,xMaxValue:c,yMaxValue:d,drawState:0,xMinWPad:B(b-w,r),yMinWPad:B(a-u,y),xMaxWPad:z(c+w,v),yMaxWPad:z(d+u,x)}),c.drawState||(s[h]&&s[h][g]?t.push({row:h,col:g}):G.push({row:h,col:g})),b+=C;d-=A}(t.length||G.length)&&l._drawGridArr(function(){m._drawGrid=G;l._drawGridArr()})},_getFocusedGrid:function(c,b){var a=this.chart.config,d=a.viewPortConfig,e=a.canvasWidth/d.scaleX,a=a.canvasHeight/d.scaleY,f=isNaN(c)?d.x+e/2:c,d=isNaN(b)?
d.y+a/2:b;return{row:Z(d/a),col:Z(f/e)}},_drawGridArr:function(c){var b,a,d,e,f=this.chart,k=f.config,h=k.viewPortConfig,g=this.config,l=g.drawLine,m=g._drawGrid,n=[],t=this.graphics.container,f=f.components.paper,q=k.canvasWidth,k=k.canvasHeight,p=this.graphics._grid,r=this.graphics._imagePool||[],s=this.graphics._canvasPool||[],w=this.graphics._lineImagePool||[],u=this.graphics._lineCanvasPool||[],v=g.plotCosmetics,h=g.radius*z(h.scaleX,h.scaleY);if(m.length){for(;m.length;)b=m.shift(),b=p[b.row][b.col],
2!==b.drawState&&(b.drawState=2,l&&(b.lineImage=w.length?w.shift():f.image("",t),b.lineImage.attr({x:b.xPixel,y:b.yPixel,width:q,height:k}),b.lineCanvas=s.length?d=u.shift():d=P.document.createElement("canvas"),d.setAttribute("width",q),d.setAttribute("height",k),e=b.lineCtx=d.getContext("2d"),e.fillStyle=v.fillStyle,e.strokeStyle=v.lineStrokeStyle,e.lineWidth=v.lineWidth),b.image=r.length?r.shift():f.image("",t),b.image.attr({x:b.xPixel,y:b.yPixel,width:q,height:k}),b.canvas=s.length?a=s.shift():
a=P.document.createElement("canvas"),a.setAttribute("width",q),a.setAttribute("height",k),e=b.ctx=a.getContext("2d"),1>h?(e.strokeStyle=v.fillStyle,e.lineWidth=.5):(e.fillStyle=v.fillStyle,e.strokeStyle=v.strokeStyle,e.lineWidth=v.borderWidth),n.push(b));g._batchDrawindex=this.JSONData.data&&this.JSONData.data.length-1||0;this._drawGridArrBatch(n,c,!g.animation.enabled)}else c&&c()},_drawGridArrBatch:function(c,b,a){var d,e,f,k,h,g,l,m,n,t,q,p,r,s,w,u,v=this;g=v.config;var x=v.chart.components;u=
v.config;var z=u.drawLine;m=u.plotCosmetics;k=u._batchDrawindex;f=v.components.data;h=k-u.chunkSize;var y=x.yAxis[0],B=u.zoomedRadius,x=x.xAxis[0].getPVR(),y=y.getPVR(),C=g.showRegressionLine,A=u._store||[],D=m.lineWidth||1>B;C&&(s=g.regLineColor,w=g.regressionLineThickness);for(m=0;m<c.length;m+=1)c[m].ctx.beginPath(),z&&c[m].lineCtx.beginPath();for(h=0>=h?0:h;k>=h;--k)if((q=f[k]&&f[k].config.setValue)&&!isNaN(q.x)&&!isNaN(q.y))for(m=0;m<c.length;m+=1)(d=c[m],p=d.xMinValue,r=d.yMaxValue,q.x<d.xMinWPad||
q.x>d.xMaxWPad||q.y<d.yMinWPad||q.y>d.yMaxWPad||(n=d.ctx,t=d.lineCtx,d=F((q.x-p)*x),e=F((r-q.y)*y),(l=A[d])||(l=A[d]={}),l[e]))||(l[e]=!0,z&&(l=0<=k-1&&f[k-1].config.setValue)&&(t.moveTo(F((l.x-p)*x),F((r-l.y)*y)),t.lineTo(d,e)),1>B?(n.moveTo(d,e),n.lineTo(d+1,e)):(n.moveTo(d+B,e),n.arc(d,e,B,0,fa)));for(m=0;m<c.length;m+=1)d=c[m],n=d.ctx,n.fill(),D&&n.stroke(),n.closePath(),z&&(t=d.lineCtx,t.fill(),D&&t.stroke(),t.closePath());u._batchDrawindex=k;if(0<=k){if(!a)for(m=0;m<c.length;m+=1)n=c[m].image,
f=c[m].canvas,n.attr({src:f.toDataURL("image/png")}),u.drawLine&&(s=c[m].lineImage,w=c[m].lineCanvas,s.attr({src:w.toDataURL("image/png")}));(u._batchDarwTimers||(u._batchDarwTimers=[])).push(setTimeout(function(){v.chart&&v._drawGridArrBatch(c,b,a)},0))}else{delete u._store;if(C)for(u=g.regressionData,m=0;m<c.length;m+=1)d=c[m],k=d.xMinValue,g=d.yMaxValue,n=d.image,f=d.canvas,n=d.ctx,f=(u[0].x-k)*x,h=(g-u[0].y)*y,k=(u[1].x-k)*x,g=(g-u[1].y)*y,n.beginPath(),n.strokeStyle=s,n.lineWidth=w,n.moveTo(f,
h),n.lineTo(k,g),n.stroke(),n.closePath();for(m=0;m<c.length;m+=1)d=c[m],n=d.image,f=d.canvas,d.drawState=1,n.attr({src:f.toDataURL("image/png")}),z&&(s=d.lineImage,w=d.lineCanvas,s.attr({src:w.toDataURL("image/png")}));v.tree||setTimeout(function(){v._buildKdTree()},250);b&&b()}},_buildKdTree:function(){var c=this.config;c._kdPoints=(this.JSONData.data||[]).slice();this.components.kDTree||(this.components.kDTree=new O);this.components.kDTree.buildKdTree(c._kdPoints);delete c._kdPoints},getElement:function(c){if(this.components.kDTree)return this.components.kDTree.getNeighbour(c)},
show:function(){var c=this.graphics,c=c&&c.container;this.visible=!0;this._conatinerHidden=!1;c.show()},hide:function(){var c=this.graphics,c=c&&c.container;this.visible=!1;this._conatinerHidden=!0;c.hide()},_addLegend:function(){var c=this.chart,b=c.jsonData.chart,a=this.config,d=this.JSONData,e=c.getFillColor,f=y(d.anchorbordercolor,b.anchorbordercolor),k=Q(y(f,a.plotBorderColor)),f=C(d.anchorborderthickness,b.anchorborderthickness,f?1:0),h=Q(y(d.anchorbgcolor,d.color,b.anchorbgcolor,a.plotColor)),
g=y(d.anchoralpha,d.alpha,b.anchoralpha,T),b=y(d.anchorbgalpha,d.alpha,b.anchorbgalpha,T),d={color:a.lineColor,alpha:a.lineAlpha},e=a.plotCosmetics={fillStyle:e(h,g*b/100),strokeStyle:e(k,g),borderWidth:f,lineWidth:a.lineThickness,lineStrokeStyle:da(d)};this.legendItemId=c.components.legend.addItems(this,this.legendInteractivity,{enabled:a.includeInLegend,type:this.type,fillColor:e.fillStyle,strokeColor:e.strokeStyle,anchorSide:2,strokeWidth:a.anchorBorderThickness,label:ca(this.JSONData.seriesname)})},
_setConfigure:function(){var c,b,a,d,e,f,k,h,g,l=-Infinity,m=Infinity,n=Infinity,t=-Infinity,q=this.components.data||(this.components.data=[]);c=this.chart;var p=x.parseUnsafeString,r=this.config,s=this.JSONData,w=c.jsonData.chart,u=s.data||[],v=u.length,A=c.components.numberFormatter,D=p(w.yaxisname),F=p(w.xaxisname),K=r.lineDashed,G=r.lineDashStyle,H=r.parentYAxis,I=r.toolTipSepChar,J=r.seriesname;for(c=0;c<v;c+=1)d=u[c],a=q[c]||(q[c]={}),b=a.config||(a.config={}),b.setValue=e={x:A.getCleanValue(d.x),
y:A.getCleanValue(d.y),index:c},t=B(t,e.x),n=z(n,e.x),l=B(l,e.y),m=z(m,e.y),r.showRegressionLine&&this.pointValueWatcher(e.x,e.y,r.regressionObj),b.setLink=y(d.link),b.anchorProps=this._parseAnchorProperties(c),b.showValue=C(d.showvalue,r.showValues),b.dashed=C(d.dashed,K),b.color=y(d.color,r.lineColor),b.alpha=y(d.alpha,r.lineAlpha),b.dashStyle=b.dashed?G:"none",b.toolTipValue=f=A.dataLabels(e.y,H),b.setDisplayValue=g=p(d.displayvalue),h=b.formatedVal=y(d.toolTipValue,A.dataLabels(e.y,H)),k=A.xAxis(e.x),
b.displayValue=y(g,f),b.setTooltext=x.getValidValue(p(y(d.tooltext,r.plotToolText))),r.showTooltip?void 0!==b.setTooltext?(e=[4,5,6,7,8,9,10,11],k={yaxisName:D,xaxisName:F,yDataValue:h,xDataValue:k},d=V(b.setTooltext,e,k,d,w,s)):null===h?d=!1:(d=J?J+I:E,d+=e.x?k+I:E,d+=f):d=!1,b.toolText=d,a?a.graphics||(q[c].graphics={}):a=q[c]={graphics:{}},b.hoverEffects=this._parseHoverEffectOptions(a),b.anchorProps.isAnchorHoverRadius=b.hoverEffects.anchorRadius;r.xMax=t;r.xMin=n;r.yMin=m;r.yMax=l;r.showRegressionLine&&
(r.regressionData=this.getRegressionLineSeries(r.regressionObj,r.showYOnX,v));this.ErrorValueConfigure&&this.ErrorValueConfigure()}},"Scatter"]);$=function(c,b){return c.x-b.x};aa=function(c,b){return c.y-b.y};O.prototype={buildKdTree:function(c){this.tree=this._buildKdTree(c,!1)},getNeighbour:function(c){var b=this.tree,a={x1:c.x-this.xLimit,x2:c.x+this.xLimit,y1:c.y-this.yLimit,y2:c.y+this.yLimit};c=this._getIsWithinLimitFn(c);if(b)return this._searchBtwnLimit(a,b,!1,c)},_getIsWithinLimitFn:function(c){var b=
this;return function(a){return a&&1>=Math.pow((a.x-c.x)/b.xLimit,2)+Math.pow((a.y-c.y)/b.yLimit,2)?!0:!1}},_compair2closest:function(c,b){if(c){if(b)return b.i>c.i?b:c}else return b;return c},_searchBtwnLimit:function(c,b,a,d){var e,f,k,h;k=a?"x":"y";var g=a?c.x1:c.y1,l=a?c.x2:c.y2;if(b)return e=b.point1?b.point1[k]:l,f=b.point2?b.point2[k]:l,k=b.point3?b.point3[k]:l,d(b.point1)&&(h=this._compair2closest(h,b.point1)),e>=g&&b.left&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.left,!a,d))),
e<=l&&b.middle1&&(d(b.point2)&&(h=this._compair2closest(h,b.point2)),f>=g&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.middle1,!a,d))),f<=l&&b.middle2&&(d(b.point3)&&(h=this._compair2closest(h,b.point3)),k>=g&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.middle2,!a,d))),k<=l&&b.right&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.right,!a,d))))),h},_buildKdTree:function(c,b){var a,d,e;if(a=c&&c.length)return c.sort(b?$:aa),7<a?(a=Math.floor(a/4),d=2*(a+1)-1,e=3*(a+1)-1,{left:this._buildKdTree(c.slice(0,
a),!b),point1:c[a],middle1:this._buildKdTree(c.slice(a+1,d),!b),point2:c[d],middle2:this._buildKdTree(c.slice(d+1,e),!b),point3:c[e],right:this._buildKdTree(c.slice(e+1),!b)}):{left:2<=a?{point1:c[0]}:void 0,point1:1<=a?1===a?c[0]:c[1]:void 0,middle1:3<=a?{point1:c[2]}:void 0,point2:4<=a?c[3]:void 0,middle2:5<=a?{point1:c[4]}:void 0,point3:6<=a?c[5]:void 0,right:7==a?{point1:c[6]}:void 0}},_setSearchLimit:function(c,b){this.xLimit=c;this.yLimit=b}};O.prototype.constructor=O;L.addSymbol({zoomInIcon:function(c,
b,a){c-=.2*a;b-=.2*a;var d=.8*a,e=L.rad(43),f=L.rad(48),k=c+d*K(e),e=b+d*H(e),h=c+d*K(f),f=b+d*H(f),g=L.rad(45),l=k+a*K(g),m=e+a*H(g),n=h+a*K(g)-1;a=f+a*H(g)-1;return["M",k,e,"A",d,d,0,1,0,h,f,"Z","M",k+1,e+1,"L",l,m,n,a,h+1,f+1,"Z","M",c-2,b,"L",c+2,b,"Z","M",c,b-2,"L",c,b+2,"Z"]},zoomModeIcon:function(c,b,a){var d=[];c-=.2*a;b-=.2*a;var e=.8*a,f=L.rad(43),k=L.rad(48),h=c+e*K(f),f=b+e*H(f),g=c+e*K(k),k=b+e*H(k),l=L.rad(45),m=h+a*K(l),n=f+a*H(l),t=g+a*K(l)-1;a=k+a*H(l)-1;return d=d.concat(["M",h,
f,"A",e,e,0,1,0,g,k,"Z","M",h+1,f+1,"L",m,n,t,a,t+1,a-1,t+1.5,a+1.5,t-1,a+1,t,a,g+1,k+1,"Z","M",c-2,b,"L",c+2,b,"Z","M",c,b-2,"L",c,b+2,"Z"])},panModeIcon:function(c,b,a){var d=c-11.25,d=c;a*=2.5;return[].concat(["M",d-a/16,b-a/8,"L",d+a/16,b-a/8,"L",d+a/16,b-a/3.2,"L",d+6*a/32,b-10*a/32,"L",d,b-a/2,"L",d-6*a/32,b-10*a/32,"L",d-a/16,b-a/3.2,"Z","M",d+4*a/32,b-2*a/32,"L",d+10*a/32,b-2*a/32,"L",d+10*a/32,b-6*a/32,"L",d+16*a/32,b,"L",d+10*a/32,b+6*a/32,"L",d+10*a/32,b+2*a/32,"L",d+4*a/32,b+2*a/32,"Z",
"M",d+2*a/32,b+5*a/32,"L",d+2*a/32,b+10*a/32,"L",d+6*a/32,b+10*a/32,"L",d,b+16*a/32,"L",d-6*a/32,b+10*a/32,"L",d-2*a/32,b+10*a/32,"L",d-2*a/32,b+5*a/32,"Z","M",d-4*a/32,b-2*a/32,"L",d-10*a/32,b-2*a/32,"L",d-10*a/32,b-6*a/32,"L",d-16*a/32,b,"L",d-10*a/32,b+6*a/32,"L",d-10*a/32,b+2*a/32,"L",d-4*a/32,b+2*a/32,"Z"])}})}]);
