Files
controls-web/controls-rework/OLD/charts/js/fusioncharts.js
2026-02-17 09:29:34 -06:00

1874 lines
915 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
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,v={window:k},e=v.modules={},a=v.interpreters={},M=Object.prototype.toString,H=/msie/i.test(C.userAgent)&&!k.opera,I=/loaded|complete/,n=!1,s=function(){var a=v.ready;v.ready=!0;v.raiseEvent&&(v.readyNotified=!0,v.raiseEvent("ready",{version:v.core.version,now:!a},v.core));v.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};v.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};v.uniqueId=function(){return"chartobject-"+(v.uniqueId.lastId+=1)};v.uniqueId.lastId=0;v.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(" ");
v.parsePolicies=function(a,e,c){var p,d,D;for(d in e)if(v.policies[d]instanceof Array)D=c[e[d][0]],a[d]=void 0===D?e[d][1]:D;else for(p in"object"!==typeof a[d]&&(a[d]={}),e[d])D=c[e[d][p][0]],a[d][p]=void 0===D?e[d][p][1]:D};v.parseCommands=function(e,r,c){var p,d;"string"===typeof r&&(r=a[r]||[]);p=0;for(d=r.length;p<d;p++)e[r[p]]=c[p];return e};v.registrars={module:function(){return v.core.apply(v.core,arguments)}};v.core=function(q){if(!(this instanceof v.core)){if(1===arguments.length&&q instanceof
Array&&"private"===q[0]){if(e[q[1]])return;e[q[1]]={};q[3]instanceof Array&&(v.core.version[q[1]]=q[3]);return"function"===typeof q[2]?q[2].call(v,e[q[1]]):v}if(1===arguments.length&&"string"===typeof q)return v.core.items[q];v.raiseError&&v.raiseError(this,"25081840","run","",new SyntaxError('Use the "new" keyword while creating a new FusionCharts object'))}var r={};this.__state={};1===arguments.length&&"object"===typeof arguments[0]?r=arguments[0]:v.parseCommands(r,a.stat,arguments);1<arguments.length&&
"object"===typeof arguments[arguments.length-1]&&(delete r[a.stat[arguments.length-1]],v.extend(r,arguments[arguments.length-1]));this.id="undefined"===typeof r.id?this.id=v.uniqueId():r.id;this.args=r;v.core.items[this.id]instanceof v.core&&v.raiseWarning(this,"06091847","param","",Error('A FusionCharts object with the specified id "'+this.id+'" already exists. Renaming it to '+(this.id=v.uniqueId())));v.parsePolicies(this,v.policies,r);this.attributes.id=this.id;this.resizeTo&&this.resizeTo(r.width,
r.height,!0);this.chartType&&this.chartType(r.type||r.swfUrl,!0);v.raiseEvent("beforeInitialize",r,this);v.core.items[this.id]=this;v.core.defaultOptions=v.core.options;v.raiseEvent("initialized",r,this);return this};v.core.prototype={};v.core.prototype.constructor=v.core;v.extend(v.core,{id:"FusionCharts",version:["3","11","0"],items:{},options:{},getObjectReference:function(a){return v.core.items[a].ref},register:function(a){return v.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&v.registrars[a].apply(v.core,
Array.prototype.slice.call(arguments,1))},get:function(a){return v.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&v.registrars[a].apply(v.core,Array.prototype.slice.call(arguments,1))}});k.FusionCharts=v.core;k.FusionMaps&&k.FusionMaps.legacy&&(v.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),n=!0);I.test(m.readyState)||m.loaded?(v.ready=!0,setTimeout(s,1)):function(){function a(){arguments.callee.done||(arguments.callee.done=!0,c&&clearTimeout(c),n||(k.FusionMaps&&
k.FusionMaps.legacy&&v.core(["private","modules.core.geo",k.FusionMaps.legacy,k.FusionMaps.version]),k.FusionMaps=v.core),setTimeout(s,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(H)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=v.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"},v=function(a,e,H,I,n,s){var G="#"+e+" "+(a?a.id:"unknown-source")+I+" "+s+" >> ";n instanceof Error?(n.name=C[H],n.module="FusionCharts"+I,n.level=s,n.message=G+n.message,G=n.message,m.setTimeout(function(){throw n;
},0)):G+=n;e={id:e,nature:C[H],source:"FusionCharts"+I,message:G};k.raiseEvent(s,e,a);if("function"===typeof m["FC_"+s])m["FC_"+s](e)},e;k.raiseError=function(a,e,k,m,n){v(a,e,k,m,n,"Error")};k.raiseWarning=function(a,e,k,m,n){v(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,H){var I;"object"===typeof a&&1===arguments.length&&(I=a,a=I.state,m=I.outputTo,H=I.outputFormat);"function"===typeof a&&("string"!==typeof m||2!==arguments.length&&!I||(H=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(H);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,v=m.Object.prototype.toString,e=v.call([]),a=function(a,e,r,c){try{a[0].call(e,r,c||{})}catch(p){setTimeout(function(){throw p;},0)}},M=function(e,q,r){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,r),!0===q.detached&&(e.splice(c,1),--c,q.detached=!1);if(!0===q.cancelled)break}},H={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,r){var c,p;if(v.call(a)===e){c=[];for(p=0;p<a.length;p+=1)c.push(H.addListener(a[p],q,r));return c}if("string"!==typeof a)k.raiseError(r||k.core,"03091549","param","::EventTarget.addListener",Error("Unspecified Event Type"));else if("function"!==typeof q)k.raiseError(r||k.core,"03091550","param","::EventTarget.addListener",
Error("Invalid Event Listener"));else return a=a.toLowerCase(),H.listeners[a]instanceof Array||(H.listeners[a]=[]),H.listeners[a].push([q,r]),q},removeListener:function(a,e,r){var c;if("function"!==typeof e)k.raiseError(r||k.core,"03091560","param","::EventTarget.removeListener",Error("Invalid Event Listener"));else if(a instanceof Array)for(c=0;c<a.length;c+=1)H.removeListener(a[c],e,r);else if("string"!==typeof a)k.raiseError(r||k.core,"03091559","param","::EventTarget.removeListener",Error("Unspecified Event Type"));
else if(a=a.toLowerCase(),a=H.listeners[a],a instanceof Array)for(c=0;c<a.length;c+=1)a[c][0]===e&&a[c][1]===r&&(a.splice(c,1),--c)},triggerEvent:function(a,e,r,c,p,d){if("string"!==typeof a)k.raiseError(e,"03091602","param","::EventTarget.dispatchEvent",Error("Invalid Event Type"));else{a=a.toLowerCase();var D={eventType:a,eventId:H.lastEventId+=1,sender:e||Error("Orphan Event"),cancelled:!1,stopPropagation:this.unpropagator,prevented:!1,preventDefault:this.undefaulter,detached:!1,detachHandler:this.detacher};
M(H.listeners[a],D,r);M(H.listeners["*"],D,r);switch(D.prevented){case !0:if("function"===typeof d)try{d.call(c||e||m,D,r||{})}catch(n){setTimeout(function(){throw n;},0)}break;default:if("function"===typeof p)try{p.call(c||e||m,D,r||{})}catch(l){setTimeout(function(){throw l;},0)}}return!0}}},I=k.raiseEvent=function(a,e,r,c,p,d){return H.triggerEvent(a,r,e,c,p,d)},n=k.legacyEventList={},s={};k.disposeEvents=function(a){var e,r;for(e in H.listeners)for(r=0;r<H.listeners[e].length;r+=1)H.listeners[e][r][1]===
a&&H.listeners[e].splice(r,1)};k.raiseEventWithLegacy=function(a,e,r,c,p,d,D){var k=n[a];I(a,e,r,p,d,D);k&&"function"===typeof m[k]&&setTimeout(function(){m[k].apply(p||m,c)},0)};k.raiseEventGroup=function(a,e,r,c,p,d,D){var n=c.id,l=a+n;s[l]?(clearTimeout(s[l]),delete s[l]):n&&l?s[l]=setTimeout(function(){I(e,r,c,p,d,D);delete s[l]},0):I(e,r,c,p,d,D)};k.addEventListener=function(a,e){return H.addListener(a,e)};k.removeEventListener=function(a,e){return H.removeListener(a,e)};k.extend(C,{addEventListener:function(a,
e){return H.addListener(a,e)},removeEventListener:function(a,e){return H.removeListener(a,e)},ready:function(a,e,r){k.ready?(C.ready=function(c,a){"function"===typeof c&&setTimeout(function(){c.call(a||C,e||C)},0)},C.ready(a,r)):"function"===typeof a&&C.addEventListener("ready",function(){C.ready(a,e,r)});return this}});C.on=C.addEventListener;k.extend(C.prototype,{addEventListener:function(a,e){return H.addListener(a,e,this)},removeEventListener:function(a,e){return H.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,r;if(e)for(r in e)"function"===typeof e[r]&&a.addEventListener(r,e[r])});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]),v=5.5<=C&&7>=C?!0:!1,e=/mozilla/i.test(m.navigator.userAgent),a="file:"===m.location.protocol,M=m.ActiveXObject,H=(!M||!a)&&m.XMLHttpRequest,I={objects:0,xhr:0,requests:0,success:0,failure:0,idle:0},n=function(){var a;if(H)return n=function(){I.xhr++;return new H},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(s,H,q,r){var c=this,p=c.xmlhttp,d=c.headers,D=c.onError,P=c.onSuccess;s="POST"===s;var l,z=Object.prototype.hasOwnProperty,N;-1!==H.search(/^(http:\/\/|https:\/\/)/)&&m.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(H)[2]?delete d["X-Requested-By"]:!z.call(d,"X-Requested-By")&&(d["X-Requested-By"]="FusionCharts");if(!p||v||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?(P&&P(p.responseText,c,r,H),I.success++):D&&(D(Error("XmlHttprequest Error"),c,r,H),I.failure++),I.idle--,c.open=!1)}catch(d){D&&D(d,c,r,H),m.FC_DEV_ENVIRONMENT&&setTimeout(function(){throw d;},0),I.failure++}};try{p.open(s?"POST":"GET",H,!0);p.overrideMimeType&&p.overrideMimeType("text/plain");if(s)if("string"===typeof q)l=q;else{l=[];for(N in q)l.push(N+"="+(q[N]+"").replace(/\=/g,"%3D").replace(/\&/g,"%26"));l=l.join("&")}else l=null;for(N in d)p.setRequestHeader(N,
d[N]);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,v=/[\\\"<>;&]/,e=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,a={},M={},H={},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])},s=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===v.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 D=n&&n.success||n,s=n&&n.failure,l,z={type:"script",success:!1},N=function(){I[l]=clearTimeout(I[l]);z.success?D&&D(e,l):s&&s(e,l);k.raiseEvent("externalresourceload",z,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));z.path=d;z.src=l;z.file=e;if(!0===H[l]&&p)return z.success=!0,z.notReloaded=!0,"function"===typeof n&&(n(),k.raiseEvent("externalresourceload",z,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 D&&(H[l]=!1,I[l]=clearTimeout(I[l]),n.onload=function(){H[l]=!0;z.success=!0;N()},n.onerror=function(){H[l]=!1;a[l]=!1;N()},n.onreadystatechange=function(){if("complete"===this.readyState||"loaded"===this.readyState)H[l]=!0,z.success=!0,N()});m.document.getElementsByTagName("head")[0].appendChild(n);"function"===typeof s&&(I[l]=setTimeout(function(){H[l]||N()},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);s(k.policies,d,this);s(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,D;"string"===typeof a&&(e="object"===typeof e?e:{},c=a.replace(/[\?\#][\s\S]*$/g,""),D=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",D&&(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,v=function(){k.raiseError(this,"25081845","run","::RendererManager",Error("No active renderer"))},e=k.FusionChartsDOMInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},a={undefined:{render:v,remove:v,update:v,resize:v,config:v,policies:{}}},M={},H=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},s=/[^\%\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,z,N,F,q;for(l in a)if(e+=1,z=a[l].chart,N=a[l].container,F=a[l].insertMode,q=a[l].callback,z.disposed||!G(N))delete a[l],--e,!z.disposed&&z.renderChart.call(z,N,F,q);p=e?setTimeout(d,n):clearTimeout(p)};return function(e,n,l,z){a[e.id]={chart:e,container:n,
insertMode:l,callback:z};p||(p=setTimeout(d,parseInt(k.core.options.visibilityTrackingInterval,10)||300))}}(),r;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};r=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,D;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)D=d[a],void 0===
e[D]&&(e[D]=H(D));if(e.ref)for(D in d=r.protectedMethods,a=r.getRenderer(e.options.renderer).protectedMethods,e)if(a&&!d[D]&&!a[D]&&void 0===e.ref[D])try{e.ref[D]=I(e,D)}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 D=this,q,l,z;if((z=m[this.id])&&z.FusionCharts&&z.FusionCharts===this||(z=this.ref)&&z.FusionCharts&&z.FusionCharts===this)k.renderer.dispose(this),z===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(D,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,D)});return this},remove:function(){k.renderer.remove(this);return this},resizeTo:function(a,e,d){var D=this,n=D.width,l=D.height,z=D.__state;(D.apiInstance&&D.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(s,"");e=null===
e||void 0===e?l:e.toString().replace(s,"");!0!==d?k.raiseEvent("beforeresize",{currentWidth:n,currentHeight:l,newWidth:a,newHeight:e},D,void 0,function(){D.width=a;D.height=e;k.renderer.resize(D,{width:a,height:e});k.raiseEventWithLegacy("resized",{width:D.width,height:D.height,prevWidth:n,prevHeight:l,pixelWidth:D.ref&&D.ref.offsetWidth||0,pixelHeight:D.ref&&D.ref.offsetHeight||0,originalWidth:z.renderedWidth,originalHeight:z.renderedHeight},D,[D.id,D.width,D.height])},function(){k.raiseEvent("resizecancelled",
{currentWidth:n,currentHeight:l,cancelledTargetWidth:a,cancelledTargetHeight:e},D)}):(D.width=a,D.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=r.setDefault.apply(r,arguments);r.userSetDefault=!0;return a},getCurrentRenderer:function(){return r.currentRendererName.apply(r,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={},v={},e={},a=/url$/i,M=k._interactiveCharts={selectscatter:[!0,!1],dragcolumn2d:[!0,!0],dragarea:[!0,!0],dragline:[!0,!0],dragnode:[!0,!0]},H=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,s)},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)},s=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(H,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()},r=function(a,d){var c=a.sender,n=c.__state,l=c.id;v[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 z=this.options,N,F;if(void 0===
d||null===d||"function"!==typeof d.toString)d=z.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):(z.dataSource=e,N=d,z.dataFormat=d,F=C[N],"undefined"===typeof F?k.raiseError(k.core,"03091611","param","FusionCharts#setChartData",Error("Data Format not recognized")):(d=(d=k.renderer&&k.renderer.getRenderer(z.renderer||k.renderer.currentRendererName()))&&
d.dataFormat,n=d===N?F.passthrough?F.passthrough(e,n,z.chartType):{data:e}:F.encode(e,this,n||z.dataConfiguration)||{},n["native"]=d===N,n.format=n["native"]?d:"xml",n.dataFormat=N,n.dataSource=e,n.silent=!!l,"function"===typeof q&&(n.successcallback=q),k.raiseEvent("beforeDataUpdate",n,this,void 0,r,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]:v[n]?(a===v[n].format?e[n][a]=v[n]:(e[n].xml||(e[n].xml="xml"===v[n].format?v[n]:C[v[n].format].encode(v[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 v[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 v[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=H[a];return"string"===typeof e?e:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function C(e,k){var H,q,r,c,p=a,d,D=k[e];D&&"object"===typeof D&&"function"===typeof D.toJSON&&(D=D.toJSON(e));"function"===typeof I&&(D=I.call(k,e,D));switch(typeof D){case "string":return m(D);case "number":return isFinite(D)?String(D):"null";case "boolean":case "null":return String(D);
case "object":if(!D)return"null";a+=M;d=[];if("[object Array]"===Object.prototype.toString.apply(D)){c=D.length;for(H=0;H<c;H+=1)d[H]=C(H,D)||"null";r=0===d.length?"[]":a?"[\n"+a+d.join(",\n"+a)+"\n"+p+"]":"["+d.join(",")+"]";a=p;return r}if(I&&"object"===typeof I)for(c=I.length,H=0;H<c;H+=1)"string"===typeof I[H]&&(q=I[H],(r=C(q,D))&&d.push(m(q)+(a?": ":":")+r));else for(q in D)Object.prototype.hasOwnProperty.call(D,q)&&(r=C(q,D))&&d.push(m(q)+(a?": ":":")+r);r=0===d.length?"{}":a?"{\n"+a+d.join(",\n"+
a)+"\n"+p+"}":"{"+d.join(",")+"}";a=p;return r}}"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 v=/[\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,H={"\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);v.lastIndex=0;v.test(a)&&(a=a.replace(v,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,v=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"}},s={chart:!0,map:!0,graph:!0},M={dataset:"data",categories:"category"},q={target:"target",value:"value"},r={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,z){var p,F,m,E,H,V;for(p=0;p<d.length;p+=1)switch(m=d[p],F=m.nodeName.toLowerCase(),m.nodeType){case 1:E=c.attr(m.attributes);V=s[F];!0===V&&(H=E,E={},E[F]=H);V=n[F];"object"===typeof V&&k.extend(E,V);if(V=e[F])if("object"===typeof V&&"object"===typeof V[l])for(H in H=void 0,V[l]){if(z[H]){F=V[l][H];break}}else"object"===typeof V&&"string"===typeof V[l]?F=V[l]:
"string"===typeof V&&(F=V);m.childNodes.length&&((V=r[l])&&V[F]?c.child(a,m.childNodes,F,z):c.child(E,m.childNodes,F,z));(V=r[l])&&V[F]||c.append(E,a,F,l);break;case 3:if(V=q[l])F=V,E=m.data,c.append(E,a,F,l);V=M[l];"string"===typeof V&&z.chart&&parseInt(z.chart.compactdatamode,10)&&(F=V,E=m.data,a[F]=a[F]?a[F]+E:E)}},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,E,r,s,H;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(H=(r=n.attributes)&&r.length||0;H--;)q.setAttribute(r[H].name,r[H].value),r.removeNamedItem(r[H].name);if(H=(s=n.childNodes)&&s.length||0)--H,E=n.removeChild(s[H]),q.appendChild(E);for(;H--;)E=n.removeChild(s[H]),q.insertBefore(E,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 r="",c="",p="",d="",D,M,l;k&&"function"===typeof k.toLowerCase&&(k=k.toLowerCase());if(void 0===m&&n[k])for(D in n[k])M=D.toLowerCase(),"compactdatamode"===M&&(q.applyDSV=1==n[k][D]);
if(n instanceof Array)for(D=0;D<n.length;D+=1)p="string"===typeof n[D]?p+v(n[D]):p+e(n[D],k,m,q);else{for(D in n)M=D.toLowerCase().replace(/[`~!@#$%^&*()|+\=?;:'", <>\{\}\[\]\\\/]/gi,""),n[D]instanceof Array&&(l=a.qualify("group",M,k))?(p=a.qualify("tag",M,k)||M,c+="<"+p+">"+e(n[D],l,k,q)+"</"+p+">"):"object"===typeof n[D]?(l=a.qualify("attr",M,k))?(d=e(n[D],l,k,q).replace(/\s*\/\>/ig,""),k=M):c+=e(n[D],M,k,q):q.applyDSV&&(l=a.qualify("dsv",M,k))?c+=n[D]:(l=a.qualify("text",M,k))?(p=a.qualify("tag",
M,k)||l,c+="<"+p+">"+n[D]+"</"+p+">"):"vline"===M&&Boolean(n[D])?k="vline":r+=" "+M+'="'+v(n[D]).toString().replace(/\"/ig,"&quot;")+'"';if(l=a.qualify("explode",m,k))k=l;p=k;p=(""!==d?d:"<"+p)+r+(""!==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,v=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=!!v(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")||{},s=m.jsVars,G=s&&s.instanceAPI,q=G&&G.components,r,c,p,d,D,v,l=n.chart||n.map||n.graph||{},z=Boolean(l.exporterrorcolumns||0),N=n.categories&&n.categories[0]&&n.categories[0].category||[],F=n.map&&!n.chart||s&&s.instanceAPI&&"geo"===s.instanceAPI.defaultSeriesType,Y=!1,E=!1,O=!1,V=!1;p=!1;var ba=a,ha={},aa,va,na,W,ca,ka,da,wa,pa,T,ta;c=0;var za=-1;r=new M({separator:l.exportdataseparator,
qualifier:l.exportdataqualifier,numberFormatted:l.exportdataformattedval});C.formatNumber&&r.numberFormatted&&(ba=function(a){return C.formatNumber(a,l)});if(F)for(T in ha.geo=!0,N=(s=q&&s.instanceAPI.components.dataset&&s.instanceAPI.components.dataset[0])&&s.components.data||[],r.setRow(0,["Id"," Short Name","Long Name","Value","Formatted Value"]),s=0,N)E=N[T],ta=E.config,c=ta.cleanValue,!0!==E.hidden&&r.setRow(++s,[T,ta.shortLabel,ta.label,null===c?"":c,ta.formattedValue]);else if(void 0!==(aa=
n.dials&&n.dials.dial||n.pointers&&n.pointers.pointer||n.value))if(ha.gauge=!0,"string"===typeof aa)r.set(0,0,ba(aa)),ha.singlevalue=!0,"string"===typeof n.target&&(r.set(0,1,ba(n.target)),ha.bullet=!0);else for(r.setRow(0,["Id","Value"]),ha.multivalue=!0,s=0,v=1,D=aa.length;s<D;s+=1,v+=1)r.setRow(v,[v,ba(aa[s].value)]);else if(aa=n.dataset||!(n.data instanceof Array)&&[]){ha.multiseries=!0;p=1;if(va=n.lineset)aa=aa.concat(va),ha.lineset=!0;if(na=n.axis)aa=aa.concat(na),ha.multiaxis=!0;T=G.defaultDatasetType&&
G.defaultDatasetType.toLowerCase();"dragnode"!==T&&"dragcolumn"!==T&&"dragline"!==T&&"dragarea"!==T||!G.getJSONData||(aa=G.getJSONData().dataset);ka=aa.length;ca=N.length;if(!(ka=aa.length)){for(s=0;s<ca;s+=1)da=N[s],r.set(s+1,0,da.label||da.name);ha.multilevel=!0}for(s=0;s<ka;s+=1)for(wa=aa,wa[s].dataset?(wa=wa[s].dataset,d=0,W=wa.length):(wa=aa,d=s,W=d+1);d<W&&!Y&&!O;d+=1)if(F=wa[d],za++,!(q&&q.dataset&&q.dataset[za]&&!1===q.dataset[za].visible)){r.set(0,p,F.seriesname);"string"===typeof F.data&&
(ha.compactdata=!0,F.data=F.data.split(l.dataseparator||"|"));v=D=0;for(pa=F.data&&F.data.length||0;D<pa||D<ca;D+=1){da=N[D];c=v+1;T=F.data&&F.data[v]||{};if(void 0!==T.x&&void 0!==T.y){Y=ha.xy=!0;break}if(void 0!==T.open||void 0!==T.high||void 0!==T.close||void 0!==T.low){V=ha.ohlc=!0;break}if(void 0!==T.rowid&&void 0!==T.columnid){O=ha.heatmap=!0;break}if(D<ca&&!da.vline){r.set(c,0,da.label||da.name);da=e(T?T.value:"");da=isNaN(da)?"":ba(da);r.set(c,p,da);if(E||z||T.errorvalue)E||r.set(0,p+1,"Error"),
ta=1,r.set(c,p+1,ba(T.errorvalue));v+=1}}ta&&(p+=ta,ta=0);p+=1}va&&(aa=aa.slice(0,-va.length));na&&(aa=aa.slice(0,-na.length))}else if(aa=n.data){r.set(0,1,l.yaxisname||"Value");ha.singleseries=!0;p="1"==l.showsumatend;s=0;for(ca=aa.length;s<ca;s+=1)T=aa[s],T.vline||(da=e(T.value?T.value:""),r.setRow(s+1,[T.label||T.name,isNaN(da)?"":(c+=da,ba(da))]));p&&(ha.summation=!0,r.setRow(s+1,[l.sumlabel||"Total",ba(c)]))}if(V)for(r.clear(),r.setRow(0,["Open","Close","High","Low"]),s=0,c=1,aa=n.dataset,W=
aa.length;s<W;s+=1)for(D=0,F=aa[s]&&aa[s].data||[],ka=F.length;D<ka;D+=1,c+=1)T=F[D]||{},r.setRow(D+1,[ba(T.open),ba(T.close),ba(T.high),ba(T.low)]);else if(Y)for(r.clear(),E=!1,ta=0,r.setRow(0,["Series","x","y"]),s=0,c=1,aa=n.dataset,W=aa.length;s<W;s+=1){if(!(q&&q.dataset&&q.dataset[s]&&!1===q.dataset[s].visible))for(T=G.defaultDatasetType&&G.defaultDatasetType.toLowerCase(),"dragnode"===T&&G.getJSONData&&(aa=G.getJSONData().dataset),D=0,F=aa[s]&&aa[s].data||[],ka=F.length;D<ka;D+=1,c+=1){T=F[D]||
{};da=[aa[s].seriesname,ba(T.x),ba(T.y)];void 0!==T.z&&(da.push(ba(T.z)),ta||(r.set(0,3,"z"),ta=1));if(E||z||void 0!==T.errorvalue||void 0!==T.horizontalerrorvalue||void 0!==T.verticalerrorvalue)n=ba(T.errorvalue),da.push(T.errorvalue,void 0===T.horizontalerrorvalue?n:ba(T.horizontalerrorvalue),void 0===T.verticalerrorvalue?n:ba(T.verticalerrorvalue)),E||(r.set(0,ta+3,"Error"),r.set(0,ta+4,"Horizontal Error"),r.set(0,ta+5,"Vertical Error")),E=ha.error=!0;r.setRow(c,da)}}else if(O){r.clear();z={};
Y={};s=0;D=1;N=n.rows&&n.rows.row||[];for(G=N.length;s<G;s+=1,D+=1)da=N[s],da.id&&(z[da.id.toLowerCase()]=D,r.set(D,0,da.label||da.id));s=0;D=1;N=n.columns&&n.columns.column||[];for(G=N.length;s<G;s+=1,D+=1)da=N[s],da.id&&(Y[da.id.toLowerCase()]=D,r.set(0,D,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||[];s=0;for(G=F.length;s<G;s+=1)T=F[s],c=T.rowid.toLowerCase(),p=T.columnid.toLowerCase(),q[s]&&
!1===q[s].visible||(z[c]||(z[c]=r.rowCount,r.set(r.rowCount,0,T.rowid)),Y[p]||(Y[p]=r.columnCount,r.set(0,r.columnCount,T.columnid)),r.set(z[c],Y[p],ba(T.value)))}aa=N=va=na=null;0<r.rowCount&&void 0===r.get(0,0)&&r.set(0,0,l.xaxisname||"Label");return{data:r.toString(),error:void 0,predictedFormat:ha}},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,v=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(){},H=k.hcLib={cmdQueue:[]},I=H.moduleCmdQueue={base:[],charts:[],powercharts:[],widgets:[],maps:[]},n=H.moduleDependencies={},s=H.moduleMeta={base:"fusioncharts.js",charts:"fusioncharts.charts.js",powercharts:"fusioncharts.powercharts.js",
widgets:"fusioncharts.widgets.js",maps:"fusioncharts.maps.js"},G={},q=H.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,"")})}}(),r=H.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=H.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=H.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 r=a[n],D=r&&r.match(/[^\/]*$/i)[0],m=s[r];n+=1;if(r){if(c(D)){q();return}if(G[D]){k.raiseError(e||k.core,"1112201445A","run","JavaScriptRenderer~loadModule() ","required resources are absent or blocked from loading.");l&&l(D);return}}else l&&l(D);r=k.core.options["html5"+k.capitalizeString(D)+
"Src"];k.loadScript(void 0===r?m:r,{success:function(){c(D)?q():l&&l(D)},failure:l&&function(){l(D)}},void 0,!0)}};q()},d=H.executeWaitingCommands=function(a){for(var d;d=a.shift();)"object"===typeof d&&M[d.cmd].apply(d.obj,d.args)},D=function(a){delete a.sender.jsVars._reflowData;a.sender.jsVars._reflowData={};delete a.sender.jsVars._reflowClean},P=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=H.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=H.graphics.HEXtoRGB(l);l[3]=c.toString();return"rgba("+l.join(",")+")"};H.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]=[],H.moduleMeta[a]=e+v.html5ScriptNamePrefix+(d&&d.replace&&d.replace(/^[\s\S]*\//ig,"").replace(/\?/g,"%3F").replace(/\#/g,"%23").replace(/\:/g,"%3A")||"")+v.html5ScriptNameSuffix),l=
!0);n[a][d]=c||0;return l};H.needsModule=function(a,d){a=q(a).predicate;d=q(d).predicate;return void 0!==(H.moduleDependencies[a]&&H.moduleDependencies[a][d])};H.cleanupWaitingCommands=function(a){for(var d=a.chartType(),d=r(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(H.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));
H.cmdQueue.push({cmd:"render",obj:this,args:arguments})},update:function(){H.cmdQueue.push({cmd:"update",obj:this,args:arguments})},resize:function(){H.cmdQueue.push({cmd:"resize",obj:this,args:arguments})},dispose:function(){var a=H.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(){H.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 P;a.cfgStore=a.cfgStore||{};a.previousDrawCount=-1;a.drawCount=0;a._reflowData={};d.addEventListener("beforeRender",function(a){a.sender.jsVars.smartLabel=new H.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(","))));H.chartAPI&&H.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:D,beforeDispose:function(a){var d=a.sender.jsVars;d.smartLabel&&!d.smartLabel.disposed&&d.smartLabel.dispose();D.apply(this,arguments)},beforeRender:function(a){var d=a.sender.jsVars;delete d.drLoadAttempted;delete d.waitingModule;delete d.waitingModuleError;D.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;D.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(),s[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 v,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 v=Object(arguments[1]),v)m.call(v,e)&&(a[e]=v[e]);return a}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(k,
m){var C,v,e;if(null==this)throw new TypeError('"this" is null or not defined');v=Object(this);e=v.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 v&&v[C]===k)return C;C++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(k,m){var C,v,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(v=0;v<a;)v in e&&(M=e[v],k.call(C,M,v,e)),v++});Array.prototype.indexOf||(Array.prototype.indexOf=function(k,m){var C;if(null==this)throw new TypeError('"this" is null or not defined');var v=Object(this),e=v.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 v&&v[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 v,e,a;if("object"!=typeof C)throw TypeError("Object prototype may only be an Object or null");k.prototype=C;v=new k;k.prototype=null;if(1<arguments.length)for(a in e=Object(arguments[1]),e)m.call(e,a)&&(v[a]=e[a]);return v}}());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,v=function(){},
e=function(){return C.apply(this instanceof v?this:k,m.concat(Array.prototype.slice.call(arguments)))};this.prototype&&(v.prototype=this.prototype);e.prototype=new v;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,v=0,e;if(2==arguments.length)e=arguments[1];else{for(;v<C&&!(v in m);)v++;
if(v>=C)throw new TypeError("Reduce of empty array with no initial value");e=m[v++]}for(;v<C;v++)v in m&&(e=k(e,m[v],v,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(" "),v=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<v;M++)k.call(e,C[M])&&a.push(C[M]);return a}}())}]);
(function(){var k=window,m=k.document,C={},v={};k.SvgDeCanvo=function(e,a,k,m,I,n,s){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);s&&this.setCallback(s);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=v.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,s){var G,q,r,c;e&&this.setSVG(e);a&&this.setContext(a);s&&this.setCallback(s);a=a||this._getStore("canvas");r=this._getStore("dimention");s=this.getCallback();G=this.getContext();(e=this.getSVG())&&G&&(c=v.getSvgDimention(e),q=c.width,
a=c.height,k=k||r.x||0,m=m||r.y||0,I=I||r.width||q,n=n||r.height||a,q=c.width?I/q:1,a=c.height?n/a:1,v.startTransform("translate("+k+","+m+") scale("+q+","+a+")",G),G.save(),G.fillStyle="#ffffff",G.fillRect(0,0,I,n),G.restore(),v.storeImagesInArr(this),v.drawNodes([e],[],this,G,function(){"function"===typeof s&&s();v.resetTransform(G)}))};C.common=function(e,a,k,m,I){var n=e.childNodes,s=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&&v.startTransform(e.attributes.transform.value,m),e.attributes["clip-path"]&&v.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)s();else C[a](e,m,k,"draw",s);else s();else s();else v.drawNodes(n,"svg"==e.tagName?[]:e.attributes,k,m,s)};C.drawtext=function(e,a,k,m,I){this.drawtspan(e,a,k,m,I)};C.drawtspan=function(e,
a,M,H,I){var n=e.innerHTML||e.textContent,s=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,r=e.attributes.dy?e.attributes.dy.value:0,c="serief",p="normal",d="16px",D=[],P;m.getElementsByTagName("body")[0]&&(P=k.getComputedStyle(m.getElementsByTagName("body")[0],null),P.getPropertyValue("font-family")&&(c=P.getPropertyValue("font-family")),P.getPropertyValue("font-weight")&&(p=P.getPropertyValue("font-weight")),P.getPropertyValue("font-size")&&
(d=P.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;P=e.attributes["text-anchor"]?e.attributes["text-anchor"].value:"start";d=e.attributes["font-size"]?e.attributes["font-size"].value:d;s=Number(s)+Number(q);G=Number(G)+Number(r);n=n.trim();P="middle"==P?"center":P;a.save();a.font=p+" "+d+" "+c;a.textAlign=P;if("draw"===H){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)v.applyFillEffect(e,
a,M,D),a.fillText(n,s,G),v.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)v.applyStrokeEffect(e,a,M,D),a.strokeText(n,s,G),v.endStrokeEffect(e,a)}a.restore();"function"===typeof I&&I()};C.drawcircle=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),s=Number(e.attributes.cy.value),G=Number(e.attributes.r.value),q=[];a.beginPath();a.arc(n,s,G,0,2*Math.PI);v.bBoxFromPoint([n,1*n+1*G,1*n-1*G],[s,1*s+1*G,1*s-1*G],q);if("draw"===m){if(!e.attributes.fill||
e.attributes.fill&&"none"!=e.attributes.fill.value)v.applyFillEffect(e,a,k,q),a.fill(),v.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)v.applyStrokeEffect(e,a,k,q),a.stroke(),v.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawrect=function(e,a,k,m,I){var n=Number(e.attributes.x.value),s=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,r=Number(e.attributes.height.value),
c=Number(e.attributes.width.value),p=[];v.bBoxFromPoint([n,n+c],[s,s+r],p);a.beginPath();a.moveTo(n+G,s);a.lineTo(n+c-G,s);a.quadraticCurveTo(n+c,s,n+c,s+q);a.lineTo(n+c,s+r-q);a.quadraticCurveTo(n+c,s+r,n+c-G,s+r);a.lineTo(n+G,s+r);a.quadraticCurveTo(n,s+r,n,s+r-q);a.lineTo(n,s+q);a.quadraticCurveTo(n,s,n+G,s);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)v.applyFillEffect(e,a,k,p),a.fill(),v.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&
"none"!=e.attributes.stroke.value)v.applyStrokeEffect(e,a,k,p),a.stroke(),v.endStrokeEffect(e,a)}a.closePath();"function"===typeof I&&I()};C.drawellipse=function(e,a,k,m,I){var n=Number(e.attributes.cx.value),s=Number(e.attributes.cy.value),G=Number(e.attributes.rx.value),q=Number(e.attributes.ry.value),r=.5522848*G,c=.5522848*q,p=n+G,d=s+q,D=[];a.beginPath();a.moveTo(n-G,s);a.bezierCurveTo(n-G,s-c,n-r,s-q,n,s-q);a.bezierCurveTo(n+r,s-q,p,s-c,p,s);a.bezierCurveTo(p,s+c,n+r,d,n,d);a.bezierCurveTo(n-
r,d,n-G,s+c,n-G,s);v.bBoxFromPoint([n+G,n-G],[s+q,s-q],D);if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)v.applyFillEffect(e,a,k,D),a.fill(),v.endFillEffect(e,a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)v.applyStrokeEffect(e,a,k,D),a.stroke(),v.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,s=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,r,c=k._getStore("imageArr");a.save();e.attributes.opacity&&(a.globalAlpha=e.attributes.opacity.value);e.attributes["xlink:href"]?(r=e.attributes["xlink:href"].value,"complete"===c[r].status?(a.drawImage(c[r].obj,n,s,q,G),a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"error"===c[r].status?(a.globalAlpha=1,a.restore(),"function"===typeof I&&I()):"progress"===c[r].status?(c[r].callback=
function(){a.drawImage(c[r].obj,n,s,q,G);a.globalAlpha=1;a.restore();"function"===typeof I&&I()},c[r].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),s=[],G,q,r,c=0,p=0,d;a.beginPath();for(G in n)if(n.hasOwnProperty(G))switch(q=n[G].substring(0,1),r=v.getArgsAsArray(n[G].substring(1,
n[G].length)),q){case "M":c=Number(r[0]);p=Number(r[1]);a.moveTo(c,p);break;case "m":c+=Number(r[0]);p+=Number(r[1]);a.moveTo(c,p);break;case "L":for(d=0;r[d];d+=2)v.bBoxFromPoint([c,r[d]],[p,r[d+1]],s),c=Number(r[d]),p=Number(r[d+1]),a.lineTo(c,p);break;case "l":for(d=0;r[d];d+=2)v.bBoxFromPoint([c,1*c+1*r[d]],[p,1*p+1*r[d+1]],s),c+=Number(r[d]),p+=Number(r[d+1]),a.lineTo(c,p);break;case "V":for(d=0;r[d];d+=1)v.bBoxFromPoint([c],[p,r[d]],s),p=Number(r[d]),a.lineTo(c,p);break;case "v":for(d=0;r[d];d+=
1)v.bBoxFromPoint([c],[p,1*p+1*r[d]],s),p+=Number(r[d]),a.lineTo(c,p);break;case "H":for(d=0;r[d];d+=1)v.bBoxFromPoint([c,r[d]],[p],s),c=Number(r[d]),a.lineTo(c,p);break;case "h":for(d=0;r[d];d+=1)v.bBoxFromPoint([c,1*c+1*r[d]],[p],s),c+=Number(r[d]),a.lineTo(c,p);break;case "Q":for(d=0;r[d];d+=4)v.qBezierBBox(c,p,r[d],r[d+1],r[d+2],r[d+3],s),a.quadraticCurveTo(Number(r[d]),Number(r[d+1]),Number(r[d+2]),Number(r[d+3])),c=Number(r[d+2]),p=Number(r[d+3]);break;case "q":for(d=0;r[d];d+=4)v.qBezierBBox(c,
p,c+1*r[d],p+1*r[d+1],1*c+1*r[d+2],1*p+1*r[d+3],s),a.quadraticCurveTo(c+1*r[d],p+1*r[d+1],c+=Number(r[d+2]),p+=Number(r[d+3]));break;case "C":for(d=0;r[d];d+=6)v.cBezierBBox(c,p,r[d],r[d+1],r[d+2],r[d+3],r[d+4],r[d+5],s),a.bezierCurveTo(r[d],r[d+1],r[d+2],r[d+3],r[d+4],r[d+5]),c=Number(r[d+4]),p=Number(r[d+5]);break;case "c":for(d=0;r[d];d+=6)v.cBezierBBox(c,p,c+1*r[d],1*p+1*r[d+1],c+1*r[d+2],1*p+1*r[d+3],c+1*r[d+4],1*p+1*r[d+5],s),a.bezierCurveTo(c+Number(r[d]),p+Number(r[d+1]),c+Number(r[d+2]),
p+Number(r[d+3]),c+=Number(r[d+4]),p+=Number(r[d+5]));break;case "a":case "A":for(d=0;r[d];d+=7){var D=Number(r[d]),P=Number(r[d+1]),l,z,N,F,Y,E,O,V,C,ha,aa,va,na,W;l=Math.PI/180*Number(r[d+2]);z=Number(r[d+3]);N=Number(r[d+4]);F=Number(r[d+5]);Y=Number(r[d+6]);E=Math.cos(l)*(c-F)/2+Math.sin(l)*(p-Y)/2;O=-Math.sin(l)*(c-F)/2+Math.cos(l)*(p-Y)/2;D=0>D?-D:D;P=0>P?-P:P;va=Math.pow(E,2)/Math.pow(D,2)+Math.pow(O,2)/Math.pow(P,2);1<va&&(D*=Math.sqrt(va),P*=Math.sqrt(va));va=D>P?D:P;na=D>P?1:D/P;W=D>P?P/
D:1;z=(z==N?-1:1)*Math.sqrt((Math.pow(D,2)*Math.pow(P,2)-Math.pow(D,2)*Math.pow(O,2)-Math.pow(P,2)*Math.pow(E,2))/(Math.pow(D,2)*Math.pow(O,2)+Math.pow(P,2)*Math.pow(E,2)));isNaN(z)&&(z=0);V=z*D*O/P;C=-z*P*E/D;ha=V*Math.cos(l)-C*Math.sin(l)+(c+F)/2;aa=V*Math.sin(l)+C*Math.cos(l)+(p+Y)/2;z=v.angleBetweenVectors(1,0,(E-V)/D,(O-C)/P);E=v.angleBetweenVectors((E-V)/D,(O-C)/P,(-E-V)/D,(-O-C)/P);0==N&&0<E&&(E-=Math.PI/180*360);1==N&&0>E&&(E+=Math.PI/180*360);if(0==D&&0==P){a.lineTo(F,Y);break}a.save();D=
v.combineTransformMatrix([[1,0,ha,0,1,aa],[Math.cos(l),Math.sin(l),0,Math.sin(l),Math.cos(l),0],[na,0,0,0,W,0]]);a.transform(D[0],D[3],D[1],D[4],D[2],D[5]);a.arc(0,0,va,z,z+E,1-N);a.restore();v.arcBBox(0,0,va,z,z+E,1-N,[D[0],D[3],D[1],D[4],D[2],D[5]],s);"A"==q?(c=Number(r[d+5]),p=Number(r[d+6])):(c+=Number(r[d+5]),p+=Number(r[d+6]))}break;case "Z":case "z":a.closePath()}if("draw"===m){if(!e.attributes.fill||e.attributes.fill&&"none"!=e.attributes.fill.value)v.applyFillEffect(e,a,k,s),a.fill(),v.endFillEffect(e,
a);if(!e.attributes.stroke||e.attributes.stroke&&"none"!=e.attributes.stroke.value)v.applyStrokeEffect(e,a,k,s),a.stroke(),v.endStrokeEffect(e,a);I()}};v.drawNodes=function(e,a,k,m,I){var n=e.length,s=-1,G=0,q=0,r=function(){var c;s+=1;s<n?(c=e[s],c.tagName&&"defs"===c.tagName&&(s+=1,c=e[s]),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,r)):I&&I()};r()};v.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};v.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))};v.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=v.stringToArgs(k[I]),a.transform(m[0],m[1],m[2],m[3],m[4],m[5])),-1<k[I].indexOf("translate")&&
(m=v.stringToArgs(k[I]),a.translate(m[0]||0,m[1]||0)),-1<k[I].indexOf("rotate")&&(m=v.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=v.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=v.stringToArgs(k[I]),a.transform(1,0,Math.tan(Math.PI/180*m[0]),1,0,0)),-1<k[I].indexOf("skewY")&&(m=v.stringToArgs(k[I]),a.transform(1,Math.tan(Math.PI/
180*m[0]),0,1,0,0)))};v.resetTransform=function(e){e.setTransform(1,0,0,1,0,0)};v.stringToArgs=function(e){e=/\(([^\)]+)/.exec(e)[1];return v.getArgsAsArray(e)};v.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};v.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=v.getFillStyleById(/url\(.*#([^\)'"]+)/.exec(e.attributes.fill.value)[1],a,k,m),a.fillStyle=e):a.fillStyle=e.attributes.fill?e.attributes.fill.value:"#000000"};v.endFillEffect=function(e,a){a.globalAlpha=1};v.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(v.getArgsAsArray(e.attributes["stroke-dasharray"].value));a.strokeStyle=e.attributes.stroke?e.attributes.stroke.value:"#000000"};
v.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};v.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&&v.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&&v.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()}};v.getFillStyleById=function(e,a,k,m){e=k.getSVG().getElementById(e);return"linearGradient"==e.tagName?v.getLinearGradient(e,a,m):"radialGradient"==e.tagName?v.getRadialGradient(e,a,m):"#FFFFFF"};v.getLinearGradient=function(e,a,k){var m=e.attributes.x1?
v.getPercentValue(e.attributes.x1.value,k.xMax-k.xMin,k.xMin):0,I=e.attributes.y1?v.getPercentValue(e.attributes.y1.value,k.yMax-k.yMin,k.yMin):0,n=e.attributes.x2?v.getPercentValue(e.attributes.x2.value,k.xMax-k.xMin,k.xMin):0;k=e.attributes.y2?v.getPercentValue(e.attributes.y2.value,k.yMax-k.yMin,k.yMin):0;var s;linGrad=a.createLinearGradient(m,I,n,k);e=e.childNodes;for(s in e)e.hasOwnProperty(s)&&e[s].attributes&&e[s].attributes["stop-color"]&&(a=v.toRGB(e[s].attributes["stop-color"].value),m=
e[s].attributes["stop-opacity"]?e[s].attributes["stop-opacity"].value:1,a.status?linGrad.addColorStop(v.getPercentValue(e[s].attributes.offset.value,1,0),"rgba("+a.r+","+a.g+","+a.b+","+Number(m)+")"):linGrad.addColorStop(v.getPercentValue(e[s].attributes.offset.value,1,0),e[s].attributes["stop-color"].value));return linGrad};v.getRadialGradient=function(e,a,k){var m=e.attributes.cx?v.getPercentValue(e.attributes.cx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),I=e.attributes.cy?v.getPercentValue(e.attributes.cy.value,
k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin),n=e.attributes.fx?v.getPercentValue(e.attributes.fx.value,k.xMax-k.xMin,k.xMin):k.xMin+.5*(k.xMax-k.xMin),s=e.attributes.fy?v.getPercentValue(e.attributes.fy.value,k.yMax-k.yMin,k.yMin):k.yMin+.5*(k.yMax-k.yMin);k=e.attributes.r?v.getPercentValue(e.attributes.r.value,(k.yMax-k.yMin+k.xMax-k.xMin)/2,0):v.getPercentValue("50%",(k.yMax-k.yMin+k.xMax-k.xMin)/2,0);var G;a=a.createRadialGradient(n,s,0,m,I,k);e=e.childNodes;for(G in e)e.hasOwnProperty(G)&&
e[G].attributes&&e[G].attributes["stop-color"]&&(m=v.toRGB(e[G].attributes["stop-color"].value),I=e[G].attributes["stop-opacity"]?e[G].attributes["stop-opacity"].value:1,m.status?a.addColorStop(v.getPercentValue(e[G].attributes.offset.value,1,0),"rgba("+m.r+","+m.g+","+m.b+","+Number(I)+")"):a.addColorStop(v.getPercentValue(e[G].attributes.offset.value,1,0),e[G].attributes["stop-color"].value));return a};v.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};v.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)};v.arcBBox=function(e,a,k,m,v,n,s,G){var q,r,c;s instanceof Array&&(e=e*s[0]+e*s[2]+s[4],a=a*s[1]+a*s[3]+s[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};s=m%(2*Math.PI);q=v%(2*Math.PI);n&&(s=v%(2*Math.PI),q=m%(2*Math.PI));n=e+k*Math.cos(s);m=a+k*Math.sin(s);r=e+k*Math.cos(q);v=a+k*Math.sin(q);n=[n,r];m=[m,v];c(s,q,0)&&(n.push(1*e+1*k),m.push(a));c(s,q,.5*Math.PI)&&(n.push(e),m.push(1*a+1*k));c(s,q,Math.PI)&&(n.push(e-1*k),m.push(a));c(s,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);s=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(s,G.yMin),G.yMax=Math.max(k,G.yMax)):(G.xMin=a,G.xMax=e,G.yMin=s,G.yMax=k)};v.qBezierBBox=function(e,a,k,m,v,n,s){var G=1*e-2*k+1*v,q=1*a-2*m+1*n;0==G||0==q?(m=Math.max(e,v),e=Math.min(e,v),v=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+v*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,v,k),e=Math.min(e,v,k),v=Math.max(a,n,q),a=Math.min(a,n,q));"undefined"!==typeof s.xMin?(s.xMin=Math.min(e,s.xMin),
s.xMax=Math.max(m,s.xMax),s.yMin=Math.min(a,s.yMin),s.yMax=Math.max(v,s.yMax)):(s.xMin=e,s.xMax=m,s.yMin=a,s.yMax=v)};v.cBezierBBox=function(e,a,k,m,v,n,s,G,q){var r,c,p,d,D,C,l;null==v&&null==n&&(k=e+2/3*(k-e),v=a+2/3*(m-a),m=k+1/3*(s-e),n=v+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*s-9*v+9*k-3*e;d=6*e-12*k+6*v;D=3*k-3*e;D=Math.pow(d,2)-4*p*D;c=r=e;s<r&&(r=s);s>c&&(c=s);0<=D&&(C=(-d+Math.sqrt(D))/(2*p),0<C&&1>C&&(C=l(e,k,v,s,C),C<r&&
(r=C),C>c&&(c=C)),p=(-d-Math.sqrt(D))/(2*p),0<p&&1>p&&(C=l(e,k,v,s,p),C<r&&(r=C),C>c&&(c=C)));p=3*G-9*n+9*m-3*a;d=6*a-12*m+6*n;D=3*m-3*a;D=Math.pow(d,2)-4*p*D;k=e=a;G<e&&(e=G);G>k&&(k=G);0<=D&&(C=(-d+Math.sqrt(D))/(2*p),0<C&&1>C&&(v=l(a,m,n,G,C),v<e&&(e=v),v>k&&(k=v)),p=(-d-Math.sqrt(D))/(2*p),0<p&&1>p&&(v=l(a,m,n,G,p),v<e&&(e=v),v>k&&(k=v)));"undefined"!==typeof q.xMin?(q.xMin=Math.min(r,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=r,q.xMax=c,q.yMin=
e,q.yMax=k)};v.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};v.angleBetweenVectors=function(e,a,k,m){var v=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 v*Math.acos(n/(e*k))};
v.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};v.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(v,e,a,M){var H=k.attribDefs||{},I,n,s,G=1,q,r;M=M||{};for(I in v)if(!M[I]&&((n=v[I])||!1===n||0===n))switch(s=H[I]&&H[I].type,s){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]&&H[I]&&(q=H[I].pAttr)&&(e[I]=a[q]);for(;G;)for(I in G=
0,e)void 0===e[I]&&(H[I]&&(q=H[I].attr)?e[q]&&(e[I]=e[q],G+=1):H[I]&&(r=H[I].parser)&&r&&void 0!==(n=r(e,a))&&(e[I]=n,G+=1))};k.setAttribDefs=function(m,e){var a=k.attribDefs,C,H;"string"===typeof m?(C={},C[m]=e):C=m;for(H in C)a[H]||(a[H]=C[H])};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,v=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")),H=/msie/i.test(a.userAgent)&&!m.opera,I=m.parseFloat,n=/\s+/g,s=/^#?/,G=/^rgba/i,q=/[#\s]/ig,r=/\{br\}/ig,c=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,p=Math.abs,d=Math.pow,D=Math.round,P=d(2,-24),l=Object.prototype.toString,z="ontouchstart"in e,a=z&&!(a.maxTouchPoints||
a.msMaxTouchPoints),N="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial&pver="+m.escape(k.core.version),F=!/fusioncharts\.com$/i.test(m.location.hostname);C=Math;var Y=C.max,E=C.min,O=m.Image,V={pageX:0,pageY:0},ba="createTouch"in e,ha=ba&&!(m.navigator.maxTouchPoints||m.navigator.msMaxTouchPoints),aa=k.hcLib||(k.hcLib={}),va=function(b){var f=b.data,h=f.chart,g=h.components.paper,a=b.state,t=ea(za(b.originalEvent)),u=t.target||t.originalTarget||t.srcElement||t.relatedTarget||t.fromElement,
w=h.components.resizeBox,A=f.layerX=t.pageX-f.chartPosLeft,Z=f.layerY=t.pageY-f.chartPosTop,L=A-f.ox,d=Z-f.oy,c=f.bBox,Q=f.ox,l=f.oy,J=f.zoomX,e=f.zoomY,c=f.canvasY,oa=f.canvasX,U=f.canvasW,Ea=f.canvasH,La=f.canvasX2,fa=f.canvasY2,K=f.strokeWidth,L=f.attr;switch(a){case "start":b=ca(this);f.chartPosLeft=b.left;f.chartPosTop=b.top;A=t.pageX-f.chartPosLeft;Z=t.pageY-f.chartPosTop;f.oy=Z;f.ox=A;f.allowMove=!1;w||(w=h.components.resizeBox=g.rect(h.graphics.trackerGroup).attr(L));A>oa&&A<La&&Z>c&&Z<fa&&
(f.allowMove=!0);u&&u.ishot&&(f.allowMove=!1);w.attr({x:0,y:0,width:0,height:0}).show();break;case "end":c=w.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);w.hide();delete f.oy;delete f.ox;break;default:if(!f.allowMove)break;L=A-f.ox;d=Z-f.oy;Q=f.ox;l=f.oy;f.isDragged||(h={chart:h,selectionLeft:(J?E(Q,Q+L):oa)+.5*K,selectionTop:(e?E(l,l+d):c)+.5*K,
selectionHeight:0,selectionWidth:0,originalEvent:b.originalEvent},f.selectionStart&&f.selectionStart(h),f.isDragged=1);L=-(Q-E(Q-(Q-Y(Q+L,oa)),La));d=-(l-E(l-(l-Y(l+d,c)),fa));w.attr({x:(J?E(Q,Q+L):oa)+.5*K,y:(e?E(l,l+d):c)+.5*K,width:J?p(L):U,height:e?p(d):Ea})}},na=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,t=b.layerY;void 0===a&&(a=b.pageX-f.chartPosLeft,t=b.pageY-f.chartPosTop);"mousedown"===g&&
(h.ishot=a>f.canvasX&&a<f.canvasX2&&t>f.canvasY&&t<f.canvasY2);"mouseup"===g&&setTimeout(function(){h.ishot=!1},1)},W=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}}}(),ca=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},ka=function(b){return b&&b.replace(/\$/g,"$$$$")},da=function(b,f){return b||!1===b||0===b?b:f},wa=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""},pa=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},T=function(b,f,h,g){return aa.dem.listen(b,f,h,g)},ta=function(b,f,h){return aa.dem.unlisten(b,
f,h)},za=function(b){b=b.sourceEvent||b.originalEvent||b;return z&&b&&b.touches&&b.touches[0]||b||V},ea=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}}(),Oa=function(b,f){f=ea(za(f));var h=f.pageX,g=f.pageY,a=ca(b);return{chartX:h-a.left,chartY:g-a.top,pageX:h,pageY:g}},$=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},Ba=function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none"},X=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},Ja=function(b,f){b=b||!1===b||0===b?Number(b):NaN;return isNaN(b)?null:f?p(b):b},ia=function(b){return"string"===typeof b?b.replace(r,"<br />"):""},sa=function(b,f){b=b.split(",")[f||0];b=b.replace(n,"");""==b&&(b="000000");return b.replace(s,"#")},Ma=function(b){b=parseInt(b,10);if(isNaN(b)||
100<b||0>b)b=100;return b},ga=function(b,f){for(var h=f.length,g=-1;h--;)if(b===f[h]){g=h;break}return g},Ia=function(){if(Array.isArray)return Array.isArray;var b=Object.prototype.toString,f=b.call([]);return function(h){return b.call(h)===f}}(),Ga=function(b,f,h,g,a){var t,u,w,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(t=0;t<f.length;t+=1){try{u=b[t],w=f[t]}catch(Z){continue}if("object"!==typeof w)h&&void 0===w||(b[t]=w);else{if(null===u||"object"!==typeof u)u=b[t]=w instanceof
Array?[]:{};A=ga(w,a);-1!==A?u=b[t]=g[A]:Ga(u,w,h,g,a)}}else for(t in f){try{u=b[t],w=f[t]}catch(L){continue}if(null!==w&&"object"===typeof w)if(A=l.call(w),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[t]={};A=ga(w,a);-1!==A?u=b[t]=g[A]:Ga(u,w,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[t]=[]),A=ga(w,a),-1!==A?u=b[t]=g[A]:Ga(u,w,h,g,a)):b[t]=w;else b[t]=w}return b},Ra=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},qa=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])&&qa(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])&&qa(b[h],f[h]);return b},Ka=function(){var b=/^@window_/g;return function(f,h){var g=f.replace(/\[[\'\"]/g,".").replace(/[\'\"]\]/g,"").replace(/\[/g,
".@window_").replace(/\]/g,"").split("."),a=m,t,u;u="";var w,A,Z;A=g.length;for(Z=0;Z<A;Z+=1){w=g[Z];t=a;if(w.match(b))u=m[w.replace(b,"")],a=a[u];else{if(void 0===a||null===a)throw(u||w).replace(b,"")+" is not defined";a=a[w]}u=w}!a||"function"!==typeof a.call&&a!==m.alert?setTimeout(function(){throw w.replace(b,"")+"() is not a function";},0):a===m.alert?a(h):a.call(t,h)}}(),Na=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}}(),ab=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},b=function(b,f){b=Number(b);b=isNaN(b)?100:b;void 0!==f&&(b=b*f/100);return b%101},f=function(f,h,g){f=f.split(",");var a;void 0!==g&&(g=X(g.split(",")[0]));f[0]=b(f[0],g);for(a=1;a<h;a+=1)f[a]=f[0]*b(f[a],g)/100;return f.join(",")},
g=function(b,f,h){var g=0,a=0,t=0;h&&h.match(G)&&(h=h.split(","),g=h[0].slice(h[0].indexOf("(")+1),a=h[1],t=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],t=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);
t=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+","+t+","+f+")"},t=function(){var b={};return function(f){var h=(f=f||this)&&f.FCcolor||f,g=h.color,a=h.ratio,t=h.angle,u=h.alpha,w=h.r,A=h.cx,Z=h.cy,L=h.fx,d=h.fy,c=h.gradientUnits,Q=h.x1,l=h.y1,J=h.x2,e=h.y2,oa=1,U,Ea,La,K;if("string"===typeof f)return b[K="~"+f]||(b[K]=f.replace(/^#?([a-f0-9]{3,6})/ig,"#$1"));g=g||"";if(!g)return U;K=[g,u,a,t,w,A,Z,c,L,d,Q,J,l,e].join("_").replace(/[\(\)\s,\xb0#]/g,
"_");if(b[K])return b[K];a=a&&(a+"").split(",")||[];u=(u||0===u)&&(u+"").split(",")||[];if(g=g.split(","))if(U="",1===g.length)La=g[0].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),U=u.length?"rgba("+fa(La).join(",")+","+.01*I(u[0])+")":La.replace(/^#?([a-f0-9]{3,6})/ig,"#$1");else{f=0;for(Ea=g.length;f<Ea;f++)La=g[f].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),isNaN(a[f])||(a[f]=I(a[f]),La+=":"+a[f],isNaN(a[f+1])||(a[f+1]=I(a[f+1])+a[f])),isNaN(u[f])||""===u[f]||(oa=.01*u[f]),g[f]="rgba("+fa(La).join(",")+","+oa+
")",isNaN(a[f])||(g[f]=g[f]+":"+a[f]);U+=g.join("-");if(void 0!==w||void 0!==L||void 0!==A||h.radialGradient)U="xr("+[L,d,w,A,Z,c].join()+")"+U;else{U="-"+U;if(void 0!==Q||void 0!==l||void 0!==J||void 0!==e)U="("+[Q,l,J,e,c].join()+")"+U;void 0===t&&(t=0);U=360-I(t)%360+U}}return b[K]=U}}(),L=function(){return function(){return""}}(),Q=function(b){return b.replace(q,"").replace(s,"#")},J=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)},U=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)},fa=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)]},S=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)*aa.lineHeightFactor+"px",delete b["line-height"];!b.lineHeight&&b["line-height"]&&(b.lineHeight=b["line-height"],delete b["line-height"]);return b.lineHeight},Da=function(b,f,h,a,t){var w=wa(b.labelbordercolor,f.bordercolor,h.labelbordercolor,""),A=pa(b.labelbgcolor,f.bgcolor,h.labelbgcolor),Z=X(b.labelborderthickness,f.borderthickness,h.labelborderthickness,
1);t=X(h.usedataplotcolorforlabels,0)?t||a.color:a.color;w=w?g(w,X(b.labelborderalpha,f.borderalpha,h.labelborderalpha,b.labelalpha,f.alpha,h.labelalpha,100)):"";b={fontFamily:pa(b.labelfont,f.font,h.labelfont,a.fontFamily),fontSize:pa(b.labelfontsize,f.fontsize,h.labelfontsize,parseInt(a.fontSize,10))+"px",color:g(pa(b.labelfontcolor,f.fontcolor,h.labelfontcolor,t),X(b.labelfontalpha,f.fontalpha,h.labelfontalpha,b.labelalpha,f.alpha,h.labelalpha,100)),fontWeight:X(b.labelfontbold,f.fontbold,h.labelfontbold)?
"bold":"normal",fontStyle:X(b.labelfontitalic,f.fontitalic,h.labelfontitalic)?"italic":"normal",border:w||A?Z+"px solid":"",borderColor:w,borderThickness:Z,borderPadding:X(b.labelborderpadding,f.borderpadding,h.labelborderpadding,2),borderRadius:X(b.labelborderradius,f.borderradius,h.labelborderradius,0),backgroundColor:A?g(A,X(b.labelbgalpha,f.bgalpha,h.labelbgalpha,b.labelalpha,f.alpha,h.labelalpha,100)):"",borderDash:X(b.labelborderdashed,f.borderdashed,h.labelborderdashed,0)?u(X(b.labelborderdashlen,
f.borderdashlen,h.labelborderdashlen,4),X(b.labelborderdashgap,f.borderdashgap,h.labelborderdashgap,2),Z):"none"};b.lineHeight=S(b);return b},K=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"}},f=/([^\,^\s]+)\)$/g,h=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=X(f.showlabels,f.shownames,1);this.is3D=/3d$/.test(b)};h.prototype={isBar:!1,yPos:"left",yOppPos:"right",xPos:"bottom",xOppPos:"top",addAxisGridLine:function(h,g,a,t,u,w,A,Z){var L=""===a?!1:!0,d=0<t||0<w.match(f)[1]?!0:!1,c;if(L||d)d||(w="rgba(0,0,0,0)",t=.1),c={isGrid:!0,width:t,dashStyle:u,color:w,value:g,zIndex:void 0===A?2:A},L&&(g=h.opposite?Z?this.xOppPos:this.yOppPos:
Z?this.xPos:this.yPos,g=b[g],c.label={text:a,style:h.labels.style,textAlign:g.textAlign,align:g.align,verticalAlign:g.verticalAlign,rotation:0,x:0,y:0}),h.plotLines.push(c);return c},addAxisAltGrid:function(b,f){if(!this.is3D){var h=X(b._lastValue,b.min),g=pa(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,t,u,w,A){var Z=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:pa(t.labellink,u.link,w.labellink),style:Da(t,u,w,f.labels.style,A),textAlign:Z.textAlign,align:Z.align,verticalAlign:Z.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,f,h,a){a=a._FCconf;var t=a.isBar,w=a.divlineStyle,A=ia(f.label),Z=Boolean(X(f.showlabelborder,a.showVLineLabelBorder,1)),L=Boolean(X(f.showlabelbackground,1)),d=pa(f.labelhalign,t?"left":
"center"),c=pa(f.labelvalign,t?"middle":"bottom").toLowerCase(),Q=X(f.labelposition,0),l=X(f.lineposition,.5),J=X(f.showvlines,a.showVLines,1),e=X(f.alpha,a.vLineAlpha,80),oa=pa(f.color,a.vLineColor).replace(/^#?/,"#"),U=L?pa(f.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):"",Ea=pa(f.labelcolor,a.vLineLabelColor,f.color,a.vLineColor).replace(/^#?/,"#"),La=X(f.thickness,a.vLineThickness,1),K=.5*La,fa=Boolean(Number(pa(f.dashed,0))),T=X(f.dashlen,5),fc=X(f.dashgap,2),B=a.smartLabel,
k=parseInt(w.fontSize,10)+2,S=0,R=X(f.rotatelabel,a.rotateVLineLabels)?270:0,l=0>l||1<l?.5:l,Q=0>Q||1<Q?0:Q;B.setStyle(w);B=B.getOriSize(A);oa=g(oa,J?e:"0");if(t){switch(c){case "top":k-=B.height+K+2;break;case "middle":k-=.5*B.height+1;break;default:k+=K}f.labelhalign||(S-=B.width*Q)}else{switch(c){case "top":k=.5*-B.height+1;break;case "middle":k=0;break;default:k=.5*B.height}switch(d){case "left":S+=La;break;case "right":S-=La+1}}b.plotLines.push({isVline:!0,color:oa,width:La,value:h-1+l,zIndex:X(f.showontop,
a.showVLinesOnTop)?5:3,dashStyle:fa?u(T,fc,La):"none",label:{text:A,align:t?"left":"center",offsetScale:Q,rotation:R,y:k,x:S,textAlign:d,backgroundColor:U,borderWidth:J&&Z?1:0,borderType:J&&Z?"solid":"",borderColor:J&&Z?Ea:"",backgroundOpacity:J&&L?pa(f.labelbgalpha,a.vLineLabelBgAlpha)/100:0,style:{color:J?Ea:oa,fontSize:w.fontSize,fontFamily:w.fontFamily,lineHeight:w.lineHeight,backgroundColor:U}}})}};return h.prototype.constructor=h}(),B=function(){var b=function(b,h,g,a,t){b=Math.abs(h-b);h=b/
(g+1);f(b,g,a)||(t&&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,t,u,w,A,Z){var L,d,c,Q,l,J,e,oa=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;w=void 0===typeof w?!0:w;L=Math.floor(Math.log(Math.abs(h))/Math.LN10);d=Math.floor(Math.log(Math.abs(g))/
Math.LN10);d=Math.max(d,L);L=Math.pow(10,d);2>Math.abs(h)/L&&2>Math.abs(g)/L&&(d--,L=Math.pow(10,d));d=Math.floor(Math.log(h-g)/Math.LN10);c=Math.pow(10,d);0<h-g&&10<=L/c&&(L=c);d=(Math.floor(h/L)+1)*L;0>g?c=-1*(Math.floor(Math.abs(g/L))+1)*L:w?c=0:(c=Math.floor(Math.abs(g/L)-1)*L,c=0>c?0:c);u&&0>=h&&(d=0);u=a||0===a?!0:!1;w=t||0===t?!0:!1;h=!1===u||!0===u&&Number(a)<h&&h-Number(a)>P?d:Number(a);g=!1===w||!0===w&&Number(t)>g&&Number(t)-g>P?c:Number(t);t=Math.abs(h-g);if(!1===w&&!1===u&&Z)if(0<h&&
0>g)for(a=!1,u=10<L?L/10:L,Z=b(g,h,A,u,!1),w=Z-(A+1)*u;!1===a;){if(w+=(A+1)*u,f(w,A,u))if(Z=w-t,d=w/(A+1),Q=Math.min(Math.abs(g),h),c=Q==Math.abs(g)?-1:1,0===A)a=!0;else for(J=1;J<=Math.floor((A+1)/2);J++)l=d*J,!(l-Q>Z)&&l>Q&&(e=w-l,e/d==Math.floor(e/d)&&l/d==Math.floor(l/d)&&(t=w,h=-1==c?e:l,g=-1==c?-l:-e,a=!0))}else a=b(g,h,A,L,!0),Z=a-t,t=a,0<h?h+=Z:g-=Z;else Z&&(a=function(b,h,g){for(var a=0,t=1,u;;){u=b+a*t;u=0===u?1:u;if(f(h,u,g))break;a=-1==t||a>b?++a:a;if(25<a){u=0;break}t=a<=b?-1*t:1}return u},
0<A&&(Z=a(A,t,L),0===Z&&(Z=a(A,t+1,L),oa=1),A=Z));return{Max:h,Min:g,Range:t,interval:L,divGap:(h-g+oa)/(A+1)}}}(),R=function(){var b=function(b,f,h){var g=h.jsVars&&h.jsVars.smartLabel,a=b.offsetWidth,t=b.offsetHeight,u=this.chart;b=this.title;var w=h._chartMessageImageStyle,A=ab(f);b.y=t/2;b.x=a/2;u.bgSWF=b.text=void 0;f=A.string;A.image?(u.bgSWF=f,u.bgImageHAlign=w.imageHAlign,u.bgImageVAlign=w.imageVAlign,u.bgImageScale=w.imageScale,u.bgSWFAlpha=w.imageAlpha):void 0!==f&&(g?(S(b.style),g.setStyle(b.style),
f=g.getSmartText(ia(f),a,t),b.text=f.text):b.text=ia(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:N,text:"FusionCharts XT Trial",enabled:F},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}(),Sa={"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,f,h,a,t,w,Z){var L,d=h.trendStyle,c,Q,l,J,e,oa,U,Ea,La,K,fa,T,B,k=w?"xAxis":"dataLabels";if(w?h.showVLines:h.showTrendlines)for(L=0,Q=b.length;L<Q;L+=1)if((B=b[L])&&B.line)for(c=0,l=B.line.length;c<l;c+=1)J=B.line[c],K=h.numberFormatter.getCleanValue(pa(J.startvalue,J.value,0)),
fa=h.numberFormatter.getCleanValue(pa(J.endvalue,pa(J.startvalue,J.value,0))),w?Ea=f:a&&J.parentyaxis&&/^s$/i.test(J.parentyaxis)?(Ea=f[1],T=1):Ea=f[0],oa=Ea.max,U=Ea.min,e=!1,oa>=K&&oa>=fa&&U<=K&&U<=fa&&(a&&J.parentyaxis&&/^s$/i.test(J.parentyaxis)?e="1"!==pa(J.valueonleft,h.trendlineValuesOnOpp):a||(e="1"===pa(J.valueonright,h.trendlineValuesOnOpp)),oa=Boolean(X(J.istrendzone,w?1:0)),(U=(w?h.showVLineLabels:h.showTrendlineLabels)?ia(pa(J.displayvalue,h.numberFormatter[k](e?fa:K,T))):"")?(La=K<fa,
e={text:U,textAlign:t?"center":e?"left":"right",align:t?Sa[oa][!Z][La]:e?"right":"left",verticalAlign:t?"bottom":"middle",rotation:0,x:0,y:0,style:d},U=pa(J.color,h.trendlineColor),J.alwaysVisible=oa,U&&(e.style=Ra({},d),e.style.color=g(U,X(J.alpha,100)))):e=void 0,U=da(ia(pa(J.tooltext,B.tooltext,h.trendLineToolText))),U=A(U,[7,15,16,17,18,19],{startValue:K,startDataValue:h.numberFormatter[k](K,T),endValue:fa,endDataValue:h.numberFormatter[k](fa,T),axisName:Ea.title&&Ea.title.text},J),La=X(J.thickness,
h.trendlineThickness,1),oa?Ea.plotBands.push({isTrend:!0,color:g(pa(J.color,h.trendlineColor),pa(J.alpha,h.trendlineAlpha,40)),from:K,to:fa,label:e,zIndex:h.is3d||"1"!==pa(J.showontop,h.showTrendlinesOnTop)?3:5,tooltext:U,alwaysVisible:J.alwaysVisible}):Ea.plotLines.push({isTrend:!0,color:g(pa(J.color,h.trendlineColor,h.trendlineColor),pa(J.alpha,h.trendlineAlpha,99)),value:K,to:fa,width:La,dashStyle:"1"==pa(J.dashed,h.trendlinesAreDashed)?u(X(J.dashlen,h.trendlinesDashLen),X(J.dashgap,h.trendlinesDashGap),
La):"none",label:e,zIndex:h.is3d||"1"!==pa(J.showontop,h.showTrendlinesOnTop)?3:5,tooltext:U}))}}(),u=function(b,f,h,g){return g||void 0===g?[b,f]:"none"},w=function(){},Z=function(b,f,h,g,a){var t,u=Z[b],A;u||(A=function(){},A.prototype=h instanceof w?h:new w,A.prototype.constructor=A,u=Z[b]=new A,h&&(u.base=h),u.name=b,u.config={},null!==a&&(b=(a instanceof w?a:h instanceof w?h:{}).config)&&Ra(u.config,b));g&&Ra(u.config,g);for(t in f)switch(typeof f[t]){case "object":if(f[t]instanceof w){u[t]=
f[t][t];break}default:u[t]=f[t];break;case "undefined":delete u[t]}return this instanceof Z?(f=function(){this.config={};this.__setDefaultConfig=function(){u&&u.config&&Ra(this.config,u.config)};this.__setDefaultConfig()},f.prototype=u,f.prototype.constructor=f,new f):u},A=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,t,u,w,A;Ia(g)||(g=f);if(h)for(A=g.length,w=0;w<A;w+=1)if(u=b[g[w]])a=ka(da((t=arguments[u.argIndex])&&t[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"))},oa=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})},Ea=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"}},Pa=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})},La=function(b,f,h){var g=Ea(),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?oa(f):f,m.navigator.msSaveBlob(b,h))},Rb=function(b,f){var h,g,a,t;t=f.exportTargetWindow;var u=f.exportCallback,w=f.fusionCharts,A=f.paper,Z=f.chartId;g=f.exportHandler;var L;if("download"===f.exportAction){/webkit/ig.test(m.navigator.userAgent)&&"_self"===t&&(t=a=Z+"export_iframe",L||(L=a=$("IFRAME",{name:a,width:"1px",height:"1px"},e.body),a.style.cssText="position:absolute;left:-10px;top:-10px;"));g=$("form",{method:"POST",action:g,target:t,style:"display:none;"},e.body);for(h in b)$("input",
{type:"hidden",name:h,value:b[h]},g);g.submit();e.body.removeChild(g);g=void 0;return!0}t=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,w)},function(b){b={statusCode:0,statusMessage:"failure",error:b,DOMId:Z,width:A&&A.width,height:A&&A.height};u&&m[u]&&"function"===typeof m[u]&&m[u].call(m,b);k.raiseEvent("exported",b,w,[b])});for(h in b)b.hasOwnProperty(h)&&(b[h]=
encodeURIComponent(b[h]));t.post(g,b)},fb=function(b,f){var h=0,g,a=0,t;b=b.replace(/NS\d+:/gi,"xlink:");b=Pa(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){t=g;return f+"{{{"+h+"}}}"+a});var w=e.createElement("canvas"),A,Z;A=w.getContext("2d");Z=new O;Z.src=t;Z.ind=h;Z.onload=function(){w.width=this.width;w.height=this.height;A.drawImage(this,0,0);var h=w.toDataURL("image/png");
(new O).src=h;b=b.replace(new RegExp("\\{\\{\\{"+Z.ind+"\\}\\}\\}","g"),h);a++;g===a&&f(b)};h++;return u}))},Db=function(b,f){fb(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))))})},Sb=function(){var b,f,h,g,a,t,u,w;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++)(w=f[a])&&!this.disposing&&(w.dispose?w.dispose():Sb.call(w));else f&&!f.disposing&&(f.dispose?f.dispose():Sb.call(f));b=this.graphics;for(t in b)if(f=b[t])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]}},nc=function(b,f){return(b.pIndex||0)-(f.pIndex||0)},ua={},Zb=Ea();Zb.hasCanvas=h();Zb.hasSvg=M;k.registrars.component=function(b){var f,h,g,a,t,u,w,A,Z;if(b&&b.length&&b[0]&&
b[0].toLowerCase&&(u=b[0].toLowerCase(),A=ua[u]||(ua[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&&Ra(this.config,g.defConfig)};this.__setDefaultConfig()},defConfig:{}};a=g.constructor;Z=g.defConfig;"undefined"!==typeof b[3]&&(w=b[3].toLowerCase(),h=A[w]);if(w&&h){f=new h.constructor;a.prototype=f;a.prototype.constructor=a;w=b[2]||{};
for(t in w)a.prototype[t]="undefined"!==typeof w[t]?w[t]:f[t];a.prototype.__base__=new h.constructor}else if(A[u])for(f in t=b[2],t)a.prototype[f]=t[f];else a.prototype=b[2],a.prototype.constructor=a;null!==b[5]&&("undefined"!==typeof b[5]&&(w=b[5].toLowerCase(),h=A[w]),h&&(h=h.defConfig,Ra(Z,h)));"undefined"!==typeof b[4]&&Ra(Z,b[4])}return A[u]&&A[u].constructor}};k.core._setLineHeightFactor=function(b){!(b=I(b))||0>b||(aa.lineHeightFactor=b)};aa.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&&Ra({},f.colorrange).color,f=E(Y(X(f.chart.palette,0)-1,0),4),f=b.defaultPaletteOptions&&b.defaultPaletteOptions.paletteColors[f||0]||aa.defaultPaletteOptions.paletteColors[f||0],g=function(b,f){return b.minvalue-f.minvalue},a=b.components,t,u,w,A,Z;delete this.defaultAsigned;f instanceof Array||(f=a.colorManager.getPlotColor(0));if(h&&0<h.length){for(u=w=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!==w&&h.splice(u,1)),void 0!==b.label&&(b.label=ia(b.label)),void 0!==b.name&&(b.name=ia(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===da(h[0].alpha)&&(h[0].alpha="100");u=0;for(w=h.length-1;u<w;u+=1)if(a=u+1,b=h[u],g=h[a],g.code||(g.code=
f[a]),void 0===da(g.alpha)&&(g.alpha="100"),null===b.maxvalue&&(b.maxvalue=g.minvalue),b.maxvalue>g.minvalue){if(b.maxvalue>g.maxvalue){a=Ra(b);a.maxvalue=b.maxvalue;Z=a.minvalue=g.maxvalue;for(A=u+2;A<w&&h[A].minvalue<Z;A+=1);h.splice(A,0,a);w+=1}b.maxvalue=g.minvalue}b=h[u];null===b.maxvalue&&(b.maxvalue=b.minvalue)}h&&0<h.length||(t||(t={code:"CCCCCC",alpha:"100",bordercolor:"000000",borderalpha:"100"}),h=[t],this.defaultAsigned=!0);this.colorArr=h},getColorObj:function(b){for(var f=this.colorArr,
h=0,g=f.length,a,t,u={};h<g;h+=1){u.index=h;a=f[h];t=f[h+1];if(b<a.minvalue)return u.nextObj=a,u;if(b>=a.minvalue&&b<=a.maxvalue)return u.colorObj=a,t&&b==t.minvalue&&(u.nextObj=t,u.isOnMeetPoint=!0),u;u.prevObj=a}u.index=h-1;return u},getColorRangeArr:function(b,f){var h,g=this.colorArr,a,t,u=[],w,A;if(!this.defaultAsigned&&(b>f&&(h=b,b=f,f=h),b<f&&(a=this.getColorObj(b),t=this.getColorObj(f),a&&t))){h=b;a=a.index;for(t=t.index;a<=t;a+=1)w=Ra({},g[a]),w.minvalue!==h&&(w.minvalue=h),u.push(w),A=w,
h=w.maxvalue;A.maxvalue=f}return u}};C.prototype.constructor=C;aa.nonGradientColorRange=C=function(b){var f=b.sortLegend||!1,h=b.mapByCategory||!1,g=b.numberFormatter;b=(b.colorRange||{}).color;var a=this.colorArr=[],t,u,w,A,Z,L,d=function(b,f){return b.maxvalue-f.maxvalue};this.mapByCategory=h;if(b&&(t=b.length)){for(u=0;u<t;u+=1)A=b[u],w=pa(A.color,A.code),Z=X(A.maxvalue),L=X(A.minvalue),A=pa(A.label,A.displayvalue,h?"":g.dataLabels(L)+" - "+g.dataLabels(Z)),(w&&Z>L||h&&A)&&a.push({code:w,maxvalue:Z,
minvalue:L,label:ia(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=ia(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(aa,{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:s,startsRGBA:G,cleanColorCode:q,breakPlaceholder:r,hexcode:/^#?[0-9a-f]{6}/i},fireEvent:function(b,f,h,g){aa.dem.fire(b,f,h,g)},plotEventHandler:function(b,f,h){f=f||{};var g=f.type,a=Oa(b.linkedItems.container,f),a=Ra(a,this.data("eventArgs")),t=b.fireGroupEvent,u=this.data("groupId"),w=function(b,h){f.FusionChartsPreventEvent=!0;H&&h.toolText&&aa.toolTip&&aa.toolTip.preventTooltip()};"index"in a&&!("dataIndex"in a)&&(a.dataIndex=a.index);"value"in a&&!("dataValue"in
a)&&(a.dataValue=a.value);h=pa(h,"dataplotclick").toLowerCase();"dataplotrollover"===h?(f.FusionChartsPreventEvent=!1,t?k.raiseEventGroup(u,h,a,b.chartInstance,void 0,void 0,w):k.raiseEvent(h,a,b.chartInstance,void 0,void 0,w)):t&&"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(ba&&!ha){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:ea,getMouseCoordinate:Oa,addEvent:T,removeEvent:ta,getTouchEvent:za,extend2:Ra,deltend:function(b,f){if("object"!==typeof b||"object"!==typeof f)return null;qa(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:pa,pluckNumber:X,
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:$,hashify:Ba,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:da,getPosition:ca,getViewPortDimension:W,bindSelectionEvent:function(b,f){f=f||{};var h=b.config,g=b.linkedItems.container,
a=h.zoomType,t=Ra({},f.attr||{}),u=t["stroke-width"]=X(t.strokeWidth,t["stroke-width"],1),w=ca(g),A=b.eventListeners||(b.eventListeners=[]);f=Ra({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:w.left,chartPosTop:w.top,attr:t},f);t.stroke=wa(t.stroke,"rgba(51,153,255,0.8)");t.fill=wa(t.fill,"rgba(185,213,241,0.3)");t.ishot=
!0;g&&(ta(g,"pointerdrag",va),A.push(T(g,"pointerdrag",va,f)));h.link&&(ta(b.linkedItems.container,"mouseup mousedown",na),A.push(T(b.linkedItems.container,"mouseup mousedown",na,f)))},createContextMenu:function(b){var f=b.chart,h=f.smartLabel,g=f.logic.hcJSON&&f.logic.hcJSON.chart.useRoundEdges,a=aa.Raphael,t=function(b){var f=b.menufillcolor&&Ba(b.menufillcolor),h=b.menulabelcolor&&Ba(b.menulabelcolor),g=b.menufillhovercolor&&Ba(b.menufillhovercolor);b=b.menulabelhovercolor&&Ba(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,t.hover),w=function(b,f,h){f=Ra({},f||{});f=Ra(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,t.attrs),A={textAlign:"left",align:"left",paddingLeft:"5px",paddingRight:"5px",paddingTop:"5px",cursor:"pointer",borderWidth:"0px"},Z=b.items,L=b.position,d=b.verticalPadding||3,c=b.horizontalPadding||6,Q={},J,l,oa,U,Ea,La,K,fa,T,B,k,S,R;if(f)J=ca(f.linkedItems.container);else return!1;U=function(){var b=Q.items,f=b.length,a=0,t=0,u=0,Z,L;Q.menuItems||(Q.menuItems=[]);for(h.setStyle(w);f--;)Z=
b[f],Z=h.getOriSize(Z.text),u||(u=Z.height+2*d),a+=u,t=Y(t,Z.width+2*c);Q.height=a;Q.width=t;Q.itemH=u;this.style.width=t+"px";Q.menuRect||(a=Q.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"),H&&!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));t=b.length;for(f=0;f<t;f+=1)if(Z=b[f],Q.menuItems[f])Q.menuItems[f].label.innerHTML=Z.text;else{Q.menuItems[f]={};a=Q.menuItems[f].box=e.createElement("div");a.style.height=u+"px";a.style.lineHeight=u+"px";for(L in A)a.style[L]=A[L];for(L in w)a.style[L]=w[L];Q.menuRect.appendChild(a);a.innerHTML=Z.text;aa.dem.listen(a,"click",R);aa.dem.listen(a,"pointerhover",B);Q.menuItems[f].box._itemIdx=f}for(;Q.menuItems[f];)Q.menuItems[f].box.parentNode.removeChild(Q.menuItems[f].box),
Q.menuItems.splice(f,1)};Ea=function(){oa||(oa=e.createElement("div"),oa.style.position="absolute",oa.style.zIndex="50",oa.style.display="none",f.linkedItems.container.appendChild&&f.linkedItems.container.appendChild(oa));return oa};La=function(){l=setTimeout(Q.hide,800)};K=function(){l&&clearTimeout(l)};fa=function(b){var h=b.x;b=b.y;var g={x:h,y:b},a=Q.width,t=Q.height,u=f.chartHeight,w=f.chartWidth;h+a>w&&0<h-a?g.x-=a:h+a>w&&(g.x=0);b+t>u&&0<b-t&&(g.y-=t);return g};T=function(){Q.hide()};B=function(b){b.target&&
b.target.parentNode&&("start"===b.state?k:S).call(b.target)};k=function(){var b=Q.menuItems[this._itemIdx],f;K();for(f in u)b.box.style[f]=u[f]};S=function(){var b=Q.menuItems[this._itemIdx],f;for(f in w)b.box.style[f]=w[f];La()};R=function(b){var f=Q.items[this._itemIdx];f.onclick&&f.onclick.call(f,b);b.originalEvent.stopPropagation?b.originalEvent.stopPropagation():b.originalEvent.cancelBubble=!0;Q.hide()};Q.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=fa(L),this.left=b.x,this.top=b.y)};Q.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=fa(L),this.left=b.x,this.top=b.y)};Q.redraw=function(){var b=this.menuContainer;this.items=Z;b?U.call(this.menuContainer):L&&void 0!==L.x&&void 0!==L.y?(this.menuContainer=Ea(),U.call(this.menuContainer),b=fa(L),this.left=b.x,this.top=b.y,this.menuContainer.style.left=
this.left+"px",this.menuContainer.style.top=this.top+"px"):(this.menuContainer=Ea(),U.call(this.menuContainer))};Q.show=function(b){var f=this;b&&void 0!==b.x&&void 0!==b.y?(b=fa(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(T)},400)};Q.hide=function(){this.visible&&(this.visible=!1,Q.menuContainer.style.display="none",
Q.menuContainer.style.left=-Q.width+"px",Q.menuContainer.style.top=-Q.height+"px",a.unclick(T))};Q.update=function(b){b&&b.length&&(this.items=b,this.redraw())};Q.updatePosition=function(b){var h=J.left,g=J.top;J=ca(f.linkedItems.container);b?(L=b,b=fa(b),this.left=b.x,this.top=b.y):(this.left-=h-J.left,this.top-=g-J.top)};Q.add=function(b){var f=this.menuItems,g=f.length,a;h.setStyle(w);this.width=Y(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 w)f.style[a]=w[a];Q.menuRect.appendChild(f);f.innerHTML=b.text;aa.dem.listen(f,"click",R);aa.dem.listen(f,"pointerhover",B);Q.menuItems[g].box._itemIdx=g;this.height+=this.itemH};Q.removeItems=function(){for(var b=this.menuItems,f=b&&b.length,h;f--;)h=b[f],aa.dem.unlisten(h.box,"click",R),aa.dem.unlisten(h.box,"pointerhover",B),h.box&&h.box.parentNode&&h.box.parentNode.removeChild(h.box);delete this.menuItems;delete this.items};
Q.setPosition=function(b){void 0!==b.x&&void 0!==b.y&&(this.menuContainer.style.x=b.x,this.menuContainer.style.y=b.y)};Q.destroy=function(){this.removeItems();this.menuContainer.parentNode.removeChild(this.menuContainer)};Z&&Z.length&&(Q.redraw(),Q.hide());return Q},each:function(b,f,h,g){var a;h||(h=b);g||(g={});if(Ia(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:wa,getFirstColor:sa,getColorCodeString:function(b,f){var h="",g,a,t=0,u=f.split(",");for(a=u.length;t<a;t+=1)g=u[t].split("-"),h=2===g.length?"-1"!==g[0].indexOf("dark")?h+(U(b,100-parseInt(g[1],10))+","):h+(J(b,100-parseInt(g[1],10))+","):h+(u[t]+",");return h.substring(0,h.length-1)},pluckColor:function(b){if(da(b))return b=b.split(",")[0],b=b.replace(n,""),""==b&&(b="000000"),b.replace(s,"#")},toRaphaelColor:t,gradientify:L,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:Ma,parsePointValue:Ja,parseUnsafeString:ia,parseTooltext:A,toPrecision:function(b,f){var h=d(10,f);return D(b*h)/h},hasTouch:a,CREDIT_HREF:N,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=D(b+g)-g;b=D(b+f+g)-g-h;return{position:h,distance:b}},regescape:function(b){return b&&b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,
"\\$&")},regReplaceEscape:ka,getImageURL:ab,isArray:Ia,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:H,lineHeightFactor:1.2,getLinkAction:function(b,f){var h=function(b){return b};return function(g){var a=b.chart||b.map||{},t=X(a.unescapelinks,
1),a=X(a.clickurloverridesplotlinks,0),u=wa(this.link,"");g=g.config&&g.config.link||"";var w=a?pa(g,u):pa(u,g),A=w,Z,L,d,c,Q,J,l,e,oa,U;void 0!==w&&(t&&(w=m.decodeURIComponent?m.decodeURIComponent(w):m.unescape(w)),w=w.replace(/^\s+/,"").replace(/\s+$/,""),-1!==w.search(/^[a-z]*\s*[\-\:]\s*/i)&&(Q=w.split(/\s*[\-\:]\s*/)[0].toLowerCase(),U=Q.length),setTimeout(function(){switch(Q){case "j":w=w.replace(/^j\s*\-/i,"j-");Z=w.indexOf("-",2);-1===Z?Ka(w.slice(2)):Ka(w.substr(2,Z-2).replace(/\s/g,""),
w.slice(Z+1));break;case "javascript":Na(w.replace(/^javascript\s*\:/i,""));break;case "n":w.replace(/^n\s*\-/i,"n-");m.open(h(w.slice(2),t));break;case "f":w=w.replace(/^f\s*\-/i,"f-");Z=w.indexOf("-",2);-1!==Z?(L=w.substr(2,Z-2))&&m.frames[L]?m.frames[L].location=h(w.slice(Z+1),t):m.open(h(w.slice(Z+1),t),L):m.open(h(w.slice(2),t));break;case "p":w=w.replace(/p\s*\-/i,"p-");Z=w.indexOf("-",2);d=w.indexOf(",",2);-1===Z&&(Z=1);c=h(w.slice(Z+1),t);m.open(c,w.substr(2,d-2),w.substr(d+1,Z-d-1)).focus();
break;case "newchart":case "newmap":":"===w.charAt(U)&&(Z=w.indexOf("-",U+1),oa=w.substring(U+1,Z),U=Z);Z=w.indexOf("-",U+1);J=w.substring(U+1,Z).toLowerCase();switch(J){case "xmlurl":case "jsonurl":e=w.substring(Z+1,w.length);break;case "xml":case "json":var g=l=w.substring(Z+1,w.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;J="json"}k.raiseEvent("linkedChartInvoked",
{alias:oa,linkType:J.toUpperCase(),data:e},f);break;default:m.location.href=w}k.raiseEvent("linkClicked",{linkProvided:A,linkInvoked:w,linkAction:Q&&Q.toLowerCase()},f)},0))}},graphics:{parseAlpha:f,convertColor:g,getDarkColor:J,getLightColor:U,mapSymbolName:function(b,f){var h="circle";b=Ja(b);3<=b&&(h=(f?"spoke_":"poly_")+b);return h},getColumnColor:function(b,h,g,a,t,u,w,A,Z){var L,d;L=b.split(",");d=h.split(",");u=u.split(",");w=w.split(",");b=b.replace(/\s/g,"").replace(/\,$/,"");Z?A={FCcolor:{color:L[0],
alpha:d[0]}}:t?(b=L[0],d=d[0],A={FCcolor:{color:J(b,75)+","+U(b,10)+","+J(b,90)+","+U(b,55)+","+J(b,80),alpha:d+","+d+","+d+","+d+","+d,ratio:"0,11,14,57,18",angle:A?"90":"0"}},u=[J(b,70)]):(h=f(h,L.length),A={FCcolor:{color:b,alpha:h,ratio:g,angle:A?-a:a}});return[A,{FCcolor:{color:u[0],alpha:w[0]}}]},getPointColor:function(b,f){var h,g;b=sa(b);f=Ma(f);h=U(b,70);g=J(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:Q,getValidColor:function(b){return c.test(Q(b))&&b},HSBtoRGB:function(b){var f=b[0],h=0,g=0,a=0,t=[],t=b[1]/100;b=b[2]/100;var u=f/60-Math.floor(f/60),w=b*(1-t),A=b*(1-u*t),t=b*(1-(1-u)*t);switch(Math.floor(f/60)%6){case 0:h=b;g=t;a=w;break;case 1:h=A;g=b;a=w;break;case 2:h=w;g=b;a=t;break;case 3:h=w;g=A;a=b;break;case 4:h=t;g=w;a=b;break;case 5:h=b,g=w,a=A}return t=[D(255*h),D(255*
g),D(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),t=0,u=0;g==a?t=0:g==f?t=(60*(h-b)/(g-a)+360)%360:g==h?t=60*(b-f)/(g-a)+120:g==b&&(t=60*(f-h)/(g-a)+240);u=0===g?0:(g-a)/g;return[D(t),D(100*u),D(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:fa},setImageDisplayMode:function(b,
f,h,g,a,t,u,w){var A=g/100*w.width;g=g/100*w.height;w={};var Z,L=t-2*a;Z=u-2*a;var d=function(b,f,h,g,t,w){var u={};switch(b){case "top":u.y=a;break;case "bottom":u.y=w-g-a;break;case "middle":u.y=(w-g)/2}switch(f){case "left":u.x=a;break;case "right":u.x=t-h-a;break;case "middle":u.x=(t-h)/2}return u};switch(b){case "center":w.width=A;w.height=g;w.y=u/2-g/2;w.x=t/2-A/2;break;case "stretch":w.width=t-2*a;w.height=u-2*a;w.y=a;w.x=a;break;case "tile":w.width=A;w.height=g;w.tileInfo={};w.tileInfo.xCount=
b=Math.ceil(L/A);w.tileInfo.yCount=Z=Math.ceil(Z/g);f=d(f,h,A*b,g*Z,t,u);w.y=f.y;w.x=f.x;break;case "fit":b=A/g>L/Z?L/A:Z/g;w.width=A*b;w.height=g*b;f=d(f,h,w.width,w.height,t,u);w.y=f.y;w.x=f.x;break;case "fill":b=A/g>L/Z?Z/g:L/A;w.width=A*b;w.height=g*b;f=d(f,h,w.width,w.height,t,u);w.y=f.y;w.x=f.x;break;default:f=d(f,h,A,g,t,u),w.width=A,w.height=g,w.y=f.y,w.x=f.x}return w},setLineHeight:S,parsexAxisStyles:Da,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:B,createTrendLine:Qa,getDashStyle:u,axisLabelAdder:K,chartAPI:Z,createDialog:R,isCanvasElemSupported:h,componentDispose:Sb,componentConfigurer:function(b){var f,h,g=[],a,t,w,u={};b=b||this;f=b.components;for(w in f)if(h=f[w],h instanceof Array)for(t=h.length,a=0;a<t;a+=1)g.push(h[a]);else g.push(h);g.sort(nc);t=g.length;
for(a=0;a<t;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:Db,removeCrossDomainImages:Pa,getBrowserDetails:Ea,dataurlToBlob:oa,downloadCharts:function(b,f,h,g,a){f?La(b,f,h):Rb(g,a)},browserDetails:Zb,drawSvgOnCanvas:function(b,f,h,g,a,t,w){"ie"==Zb.name?(b=Pa(b),new v(b,f,h,g,a,t,function(){w()})):Db(b,function(b){var u,A;u=f.getContext("2d");A=new O;A.src=b;A.onload=function(){u.drawImage(A,h,g,a,t);w()}})}})}]);
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,s={n:{}},G=function(a,e){a=String(a);var c=n,k=Array.prototype.slice.call(arguments,2),d=G.listeners(a),m=0,s,l=[],z={},N=[],F=I;I=a;for(var v=n=0,E=d.length;v<E;v++)"zIndex"in d[v]&&(l.push(d[v].zIndex),0>d[v].zIndex&&(z[d[v].zIndex]=d[v]));for(l.sort(C);0>l[m];)if(s=z[l[m++]],
N.push(s.apply(e,k)),n)return n=c,N;for(v=0;v<E;v++)if(s=d[v],"zIndex"in s)if(s.zIndex==l[m]){N.push(s.apply(e,k));if(n)break;do if(m++,(s=z[l[m]])&&N.push(s.apply(e,k)),n)break;while(s)}else z[s.zIndex]=s;else if(N.push(s.apply(e,k)),n)break;n=c;I=F;return N.length?N:null};G._events=s;G.listeners=function(e){e=e.split(a);var k=s,c,p,d,n,m,l,z,N=[k],F=[];d=0;for(n=e.length;d<n;d++){z=[];m=0;for(l=N.length;m<l;m++)for(k=N[m].n,c=[k[e[d]],k["*"]],p=2;p--;)if(k=c[p])z.push(k),F=F.concat(k.f||[]);N=z}return F};
G.on=function(e,k){e=String(e);if("function"!=typeof k)return function(){};for(var c=e.split(a),p=s,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,z,N=[s];m=0;for(l=c.length;m<l;m++)for(z=0;z<N.length;z+=n.length-2){n=[z,1];p=N[z].n;if("*"!=c[m])p[c[m]]&&n.push(p[c[m]]);else for(d in p)p.hasOwnProperty(d)&&n.push(p[d]);N.splice.apply(N,n)}m=0;for(l=N.length;m<l;m++)for(p=N[m];p.n;){if(k){if(p.f){z=0;for(c=p.f.length;z<c;z++)if(p.f[z]==k){p.f.splice(z,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;z=0;for(c=n.length;z<c;z++)if(n[z]==k){n.splice(z,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=s={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 D?b():e.on("raphael.DOMload",b);if(a.is(b,z))return a._engine.create[P](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(),D?h.call(a._engine.create[P](a,f)):e.on("raphael.DOMload",
function(){h.call(a._engine.create[P](a,f))})):a._engine.create[P](a,arguments)}function m(){return this.hex}function H(b,f){for(var h=[],g=0,a=b.length;a-2*!f>g;g+=2){var t=[{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?t[3]={x:+b[0],y:+b[1]}:a-2==g&&(t[2]={x:+b[0],y:+b[1]},t[3]={x:+b[2],y:+b[3]}):t[0]={x:+b[a-2],y:+b[a-1]}:a-4==g?t[3]=t[2]:g||(t[0]={x:+b[g],y:+b[g+1]});h.push(["C",(-t[0].x+6*t[1].x+t[2].x)/6,(-t[0].y+6*t[1].y+t[2].y)/6,(t[1].x+
6*t[2].x-t[3].x)/6,(t[1].y+6*t[2].y-t[3].y)/6,t[2].x,t[2].y])}return h}function I(b,f,h,g,a,t,w,u,A){null==A&&(A=1);A=(1<A?1:0>A?0:A)/2;for(var Z=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],L=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,Q=0;12>Q;Q++)var c=A*Z[Q]+A,J=c*(c*(-3*b+9*h-9*a+3*w)+6*b-12*h+6*a)-3*b+3*h,c=c*(c*(-3*f+9*g-9*t+3*u)+6*f-12*g+6*t)-3*f+3*g,d=d+L[Q]*Ma(J*J+c*c);return A*d}function n(b,f,h,g,a,t,w,u,A){if(!(0>A||
I(b,f,h,g,a,t,w,u)<A)){var Z=.5,L=1-Z,d;for(d=I(b,f,h,g,a,t,w,u,L);.01<X(d-A);)Z/=2,L+=(d<A?1:-1)*Z,d=I(b,f,h,g,a,t,w,u,L);return L}}function s(b,f,h){b=a._path2curve(b);f=a._path2curve(f);for(var g,t,w,u,A,Z,L,d,c,Q,J=h?0:[],l=0,e=b.length;l<e;l++)if(c=b[l],"M"==c[0])g=A=c[1],t=Z=c[2];else{"C"==c[0]?(c=[g,t].concat(c.slice(1)),g=c[6],t=c[7]):(c=[g,t,g,t,A,Z,A,Z],g=A,t=Z);for(var oa=0,U=f.length;oa<U;oa++)if(Q=f[oa],"M"==Q[0])w=L=Q[1],u=d=Q[2];else{"C"==Q[0]?(Q=[w,u].concat(Q.slice(1)),w=Q[6],u=Q[7]):
(Q=[w,u,w,u,L,d,L,d],w=L,u=d);var Ea;var La=c,fa=Q;Ea=h;var K=a.bezierBBox(La),k=a.bezierBBox(fa);if(a.isBBoxIntersect(K,k)){for(var K=I.apply(0,La),k=I.apply(0,fa),K=$(~~(K/5),1),k=$(~~(k/5),1),T=[],B=[],S={},R=Ea?0:[],Pa=0;Pa<K+1;Pa++){var Da=a.findDotsAtSegment.apply(a,La.concat(Pa/K));T.push({x:Da.x,y:Da.y,t:Pa/K})}for(Pa=0;Pa<k+1;Pa++)Da=a.findDotsAtSegment.apply(a,fa.concat(Pa/k)),B.push({x:Da.x,y:Da.y,t:Pa/k});for(Pa=0;Pa<K;Pa++)for(La=0;La<k;La++){var z=T[Pa],p=T[Pa+1],fa=B[La],Da=B[La+1],
Rb=.001>X(p.x-z.x)?"y":"x",n=.001>X(Da.x-fa.x)?"y":"x",fb;fb=z.x;var m=z.y,F=p.x,ta=p.y,ea=fa.x,Sa=fa.y,Db=Da.x,Qa=Da.y;if($(fb,F)<Ba(ea,Db)||Ba(fb,F)>$(ea,Db)||$(m,ta)<Ba(Sa,Qa)||Ba(m,ta)>$(Sa,Qa))fb=void 0;else{var q=(fb*ta-m*F)*(ea-Db)-(fb-F)*(ea*Qa-Sa*Db),Sb=(fb*ta-m*F)*(Sa-Qa)-(m-ta)*(ea*Qa-Sa*Db),ua=(fb-F)*(Sa-Qa)-(m-ta)*(ea-Db);if(ua){var q=q/ua,Sb=Sb/ua,ua=+q.toFixed(2),r=+Sb.toFixed(2);fb=ua<+Ba(fb,F).toFixed(2)||ua>+$(fb,F).toFixed(2)||ua<+Ba(ea,Db).toFixed(2)||ua>+$(ea,Db).toFixed(2)||
r<+Ba(m,ta).toFixed(2)||r>+$(m,ta).toFixed(2)||r<+Ba(Sa,Qa).toFixed(2)||r>+$(Sa,Qa).toFixed(2)?void 0:{x:q,y:Sb}}else fb=void 0}fb&&S[fb.x.toFixed(4)]!=fb.y.toFixed(4)&&(S[fb.x.toFixed(4)]=fb.y.toFixed(4),z=z.t+X((fb[Rb]-z[Rb])/(p[Rb]-z[Rb]))*(p.t-z.t),fa=fa.t+X((fb[n]-fa[n])/(Da[n]-fa[n]))*(Da.t-fa.t),0<=z&&1.001>=z&&0<=fa&&1.001>=fa&&(Ea?R++:R.push({x:fb.x,y:fb.y,t1:Ba(z,1),t2:Ba(fa,1)})))}Ea=R}else Ea=Ea?0:[];if(h)J+=Ea;else{K=0;for(k=Ea.length;K<k;K++)Ea[K].segment1=l,Ea[K].segment2=oa,Ea[K].bez1=
c,Ea[K].bez2=Q;J=J.concat(Ea)}}}return J}function G(b,f,h,g,a,t){null!=b?(this.a=+b,this.b=+f,this.c=+h,this.d=+g,this.e=+a,this.f=+t):(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 r(b,f,h,g,a,t){function w(b,f){var h,g,a,t;a=b;for(g=0;8>g;g++){t=((Z*a+A)*a+u)*a-b;if(X(t)<f)return a;h=(3*Z*a+2*A)*a+u;if(1E-6>X(h))break;a-=t/h}h=0;g=1;a=b;if(a<h)return h;if(a>g)return g;for(;h<g;){t=((Z*a+A)*a+u)*a;if(X(t-b)<f)break;
b>t?h=a:g=a;a=(g-h)/2+h}return a}var u=3*f,A=3*(g-f)-u,Z=1-u-A,L=3*h,d=3*(a-h)-L,c=1-L-d;return function(b,f){var h=w(b,f);return((c*h+d)*h+L)*h}(b,1/(200*t))}function c(b,f){var h=[],g={};this.ms=f;this.times=1;if(b){for(var a in b)b.hasOwnProperty(a)&&(g[za(a)]=b[a],h.push(za(a)));h.sort(R)}this.anim=g;this.top=h[h.length-1];this.percents=h}function p(b,f,h,t,u,w,A){h=za(h);var Z,L,d,c,Q,J,oa,U=b.ms,Ea={},La={},fa={};if(t)for(k=0,T=Ta.length;k<T;k++){if(J=Ta[k],J.el.id==f.id&&J.anim==b){J.percent!=
h?(delete J.el.e,delete J.el,Ta.splice(k,1),d=1):L=J;f.attr(J.totalOrigin);break}}else t=+La;for(var k=0,T=b.percents.length;k<T;k++)if(b.percents[k]==h||b.percents[k]>t*b.top){h=b.percents[k];Q=b.percents[k-1]||0;U=U/b.top*(h-Q);c=b.percents[k+1];Z=b.anim[h];break}else t&&f.attr(b.anim[b.percents[k]]);if(Z){if(L)L.initstatus=t,L.start=new Date-L.ms*t;else{for(var B in Z)if(Z.hasOwnProperty(B))if(K.hasOwnProperty(B)||f.ca[B]){Ea[B]=f.attr(B);null==Ea[B]&&(Ea[B]=Da[B]);La[B]=Z[B];J=!1;switch(K[B]){case l:((oa=
La[B]-Ea[B])||isNaN(oa))&&(J=!0);fa[B]=oa/U;break;case "colour":Ea[B]=a.getRGB(Ea[B]);k=a.getRGB(La[B]);oa={};oa.r=k.r-Ea[B].r;oa.g=k.g-Ea[B].g;oa.b=k.b-Ea[B].b;(oa.r||oa.g||oa.b)&&(J=!0);fa[B]={r:oa.r/U,g:oa.g/U,b:oa.b/U};break;case "path":oa=la(Ea[B],La[B]);var S=oa[1];J=!0;Ea[B]=oa[0];fa[B]=[];k=0;for(T=Ea[B].length;k<T;k++){fa[B][k]=[0];for(var R=1,Pa=Ea[B][k].length;R<Pa;R++)oa=S[k][R]-Ea[B][k][R],fa[B][k][R]=oa/U}break;case "transform":oa=f._;k=xc(oa[B],La[B]);J=!0;if(k)for(Ea[B]=k.from,La[B]=
k.to,fa[B]=[],fa[B].real=!0,k=0,T=Ea[B].length;k<T;k++)for(fa[B][k]=[Ea[B][k][0]],R=1,Pa=Ea[B][k].length;R<Pa;R++)fa[B][k][R]=(La[B][k][R]-Ea[B][k][R])/U;else k=f.matrix||new G,oa={_:{transform:oa.transform},getBBox:function(){return f.getBBox(1)}},Ea[B]=[k.a,k.b,k.c,k.d,k.e,k.f],Ha(oa,La[B]),La[B]=oa._.transform,fa[B]=[(oa.matrix.a-k.a)/U,(oa.matrix.b-k.b)/U,(oa.matrix.c-k.c)/U,(oa.matrix.d-k.d)/U,(oa.matrix.e-k.e)/U,(oa.matrix.f-k.f)/U];break;case "csv":T=ta(Z[B]).split(ab);S=ta(Ea[B]).split(ab);
if("clip-rect"==B)for(Ea[B]=S,fa[B]=[],k=S.length;k--;)((oa=T[k]-Ea[B][k])||isNaN(oa))&&(J=!0),fa[B][k]=oa/U;La[B]=T;break;default:for(T=[].concat(Z[B]),S=[].concat(Ea[B]),fa[B]=[],k=f.ca[B].length;k--;)((oa=(T[k]||0)-(S[k]||0))||isNaN(oa))&&(J=!0),fa[B][k]=oa/U}J||(delete Ea[B],delete La[B],delete Z[B],delete fa[B])}else if(a._availableAttrs.hasOwnProperty(B)||"text"===B||f.ca[B])f.attr(B,Z[B]),delete Z[B];J=Z.easing;B=a.easing_formulas[J];if(!B)if((B=ta(J).match(g))&&5==B.length){var z=B;B=function(b){return r(b,
+z[1],+z[2],+z[3],+z[4],U)}}else B=Qa;J=Z.start||b.start||+new Date;f.e=J={anim:b,percent:h,timestamp:J,start:J+(b.del||0),status:0,initstatus:t||0,stop:!1,ms:U,easing:B,from:Ea,diff:fa,to:La,el:f,callback:Z.callback,prev:Q,next:c,repeat:w||b.times,origin:f.attr(),totalOrigin:u,parentEl:A};Ta.push(J);if(t&&!L&&!d&&(J.stop=!0,J.start=new Date-U*t,1==Ta.length))return db();d&&(J.start=new Date-J.ms*t);1==Ta.length&&Xa(db)}!1!==a.stopEvent&&e("raphael.anim.start."+f.id,f,b)}}function d(b){for(var f=
0;f<Ta.length;f++)Ta[f].el.paper==b&&Ta.splice(f--,1)}a.upgrade="1.0.0";a.version="2.1.0";a.eve=e;C=a;var D,P="apply",l="number",z="array",N=Array.prototype.slice,F=Array.prototype.splice,Y=Array.prototype.shift,E=function(){return function(){}.hasOwnProperty("prototype")}(),O={doc:document,win:k},V=Object.prototype.hasOwnProperty.call(O.win,"Raphael"),ba=O.win.Raphael,ha=O.doc,aa=O.win,va=a.supportsTouch="createTouch"in ha,na=a.supportsOnlyTouch=va&&!(aa.navigator.maxTouchPoints||aa.navigator.msMaxTouchPoints),
W=function(){};a.ca=a.customAttributes=W.prototype;var ca=function(){this.ca=this.customAttributes=new W;this._CustomAttributes=function(){};this._CustomAttributes.prototype=this.ca;this._elementsById={};this.id=a._oid++;e("raphael.new",this)},ka=a.fn=ca.prototype=a.prototype,da={circle:1,rect:1,path:1,ellipse:1,text:1,image:1,group:1},wa="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel dragstart dragmove dragend".split(" "),pa=a._touchMap={mousedown:"touchstart",
mousemove:"touchmove",mouseup:"touchend"},T=a._dragEventMap={dragstart:"mousedown",dragmove:"mousemove",dragend:"mouseup"},ta=aa.String,za=aa.parseFloat,ea=aa.parseInt,Oa=aa.Math,$=Oa.max,Ba=Oa.min,X=Oa.abs,Ja=Oa.pow,ia=Oa.cos,sa=Oa.sin,Ma=Oa.sqrt,ga=Oa.round,Ia=Oa.PI,Ga=Ia/180,Ra=180/Ia,qa=ta.prototype.toLowerCase,Ka=ta.prototype.toUpperCase,Na=aa.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\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,t=/[\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]*/,L=/,?([achlmqrstvxz]),?/gi,Q=/([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,
J=/([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,U=/(-?\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 fa={NaN:1,Infinity:1,"-Infinity":1},S={hs:1,rg:1},Da=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},B={},R=function(b,f){return za(b)-za(f)},Sa=function(){},Qa=function(b){return b},u=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"]]},w=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"]]},Z=a._getPath={group:function(){return!1},
path:function(b){return b.attr("path")},circle:function(b){b=b.attrs;return w(b.cx,b.cy,b.r)},ellipse:function(b){b=b.attrs;return w(b.cx,b.cy,b.rx,b.ry)},rect:function(b){b=b.attrs;return u(b.x,b.y,b.width,b.height,b.r)},image:function(b){b=b.attrs;return u(b.x,b.y,b.width,b.height)},text:function(b){b=b._getBBox();return u(b.x,b.y,b.width,b.height)}},A=a.mapPath=function(b,f){if(!f)return b;var h,g,a,t,u,w,A;b=la(b);a=0;for(u=b.length;a<u;a++)for(A=b[a],t=1,w=A.length;t<w;t+=2)h=f.x(A[t],A[t+1]),
g=f.y(A[t],A[t+1]),A[t]=h,A[t+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 h=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},oa=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],z),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},Ea=a.merge=function(b,f,h,g,a){var t,u,w,A;a?(g.push(b),a.push(f)):(g=[b],a=[f]);if(f instanceof Array)for(t=0;t<f.length;t+=1){try{u=b[t],w=f[t]}catch(Z){continue}if("object"!==typeof w)h&&void 0===w||(b[t]=w);else{if(null===u||"object"!==typeof u)u=b[t]=w instanceof Array?[]:{};A=checkCyclicRef(w,a);-1!==A?u=b[t]=g[A]:Ea(u,w,h,g,a)}}else for(t in f){try{u=
b[t],w=f[t]}catch(L){continue}if(null!==w&&"object"===typeof w)if(A=Na.call(w),"[object Object]"===A){if(null===u||"object"!==typeof u)u=b[t]={};A=checkCyclicRef(w,a);-1!==A?u=b[t]=g[A]:Ea(u,w,h,g,a)}else"[object Array]"===A?(null!==u&&u instanceof Array||(u=b[t]=[]),A=checkCyclicRef(w,a),-1!==A?u=b[t]=g[A]:Ea(u,w,h,g,a)):b[t]=w;else b[t]=w}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?[]:{});Ea(b,f,h);return b};var Pa=a.is=function(b,f){f=qa.call(f);return"finite"==f?!fa.hasOwnProperty(+b):f==z?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)||Na.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*Oa.random()|0;return("x"==
b?f:f&3|8).toString(16)});a.getElementID=function(b){return"rr-"+b};var La=a.clone=E?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]=La(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]=La(b[h]));return f};a._g=O;a.type=aa.ENABLE_RED_CANVAS&&(aa.CanvasRenderingContext2D||ha.createElement("canvas").getContext)?"CANVAS":aa.SVGAngle||ha.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")?"SVG":"VML";if("VML"==a.type){var Rb=ha.createElement("div"),fb;Rb.innerHTML='<v:shape adj="1"/>';fb=Rb.firstChild;fb.style.behavior="url(#default#VML)";if(!fb||"object"!=typeof fb.adj)return a.type="";Rb=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,t,u){return null==t?(b-=h,f-=g,b||f?(Oa.atan2(-f,-b)*Ra+540)%360:0):a.angle(b,f,t,u)-a.angle(h,g,t,u)};a.rad=function(b){return b%360*Ga};a.deg=function(b){return b*Ra%360};
a.snapTo=function(b,f,h){var g;Pa(h,"finite")||(h=10);if(Pa(b,z))for(g=b.length;g--;){if(X(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,O.win,b);aa=O.win=b;ha=O.doc=O.win.document;a._engine.initWin&&a._engine.initWin(O.win)};var Db=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(t){h=createPopup().document.body}var u=h.createTextRange();
Db=zb(function(b){try{h.style.color=ta(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 w=O.doc.createElement("i");w.title="Raphaël Colour Picker";w.style.display="none";O.doc.body.appendChild(w);Db=zb(function(b){w.style.color=b;return O.doc.defaultView.getComputedStyle(w,"").getPropertyValue("color")})}return Db(b)},Sb=function(){return"hsb("+[this.h,this.s,this.b]+")"},nc=
function(){return"hsl("+[this.h,this.s,this.l]+")"},ua=function(){return this.hex},Zb=function(b,f,h){null==f&&Pa(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(h=b.b,f=b.g,b=b.r);null==f&&Pa(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]},fc=function(b,f,h,g){var t={r:b*=255,g:f*=255,b:h*=255,hex:a.rgb(b,f,h),toString:ua};Pa(g,"finite")&&(t.opacity=g);return t};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=ua;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,t,u;b=360*b%360/60;u=h*f;f=u*(1-X(b%2-1));h=a=t=
h-u;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];t+=[0,0,f,u,u,f][b];return fc(h,a,t,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,t,u;b=360*b%360/60;u=2*f*(.5>h?h:1-h);f=u*(1-X(b%2-1));h=a=t=h-u/2;b=~~b;h+=[u,f,0,0,f,u][b];a+=[f,u,u,f,0,0][b];t+=[0,0,f,u,u,f][b];return fc(h,a,t,g)};a.rgb2hsb=function(b,f,h){h=Zb(b,f,h);b=h[0];f=h[1];h=h[2];var g,a;g=$(b,f,h);a=g-Ba(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:Sb}};a.rgb2hsl=function(b,f,h){h=Zb(b,f,h);b=h[0];f=h[1];h=h[2];var g,a,t;g=$(b,f,h);a=Ba(b,f,h);t=g-a;b=((0==t?null:g==b?(f-h)/t:g==f?(h-b)/t+2:(b-f)/t+4)+360)%6*60/360;g=(g+a)/2;return{h:b,s:0==t?0:.5>g?t/(2*g):t/(2-2*g),l:g,toString:nc}};a._path2string=function(){return this.join(",").replace(L,"$1")};var zb=a._cacher=function(b,f,h){function g(){var a=N.call(arguments,0),t=a.join("␀"),u=g.cache=g.cache||{},w=g.count=
g.count||[];if(u.hasOwnProperty(t)){a:for(var a=w,w=t,A=0,Z=a.length;A<Z;A++)if(a[A]===w){a.push(a.splice(A,1)[0]);break a}return h?h(u[t]):u[t]}1E3<=w.length&&delete u[w.shift()];w.push(t);u[t]=b[P](f,a);return h?h(u[t]):u[t]}return g};a._preload=function(b,f){var h=ha.createElement("img");h.style.cssText="position:absolute;left:-9999em;top:-9999em";h.onload=function(){f.call(this);this.onload=null;ha.body.removeChild(this)};h.onerror=function(){ha.body.removeChild(this)};ha.body.appendChild(h);
h.src=b};a.getRGB=zb(function(b){var h,g,u,w,A;b&&Pa(b,"object")&&"opacity"in b&&(h=b.opacity);if(!b||(b=ta(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};!S.hasOwnProperty(b.toLowerCase().substring(0,2))&&"#"!==b.charAt()&&(b=Db(b));if(b=b.match(f)){b[2]&&(w=ea(b[2].substring(5),16),u=ea(b[2].substring(3,5),16),g=ea(b[2].substring(1,3),16));b[3]&&(w=ea((A=b[3].charAt(3))+A,16),u=ea((A=b[3].charAt(2))+A,16),g=ea((A=
b[3].charAt(1))+A,16));b[4]&&(A=b[4].split(t),g=za(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),u=za(A[1]),"%"==A[1].slice(-1)&&(u*=2.55),w=za(A[2]),"%"==A[2].slice(-1)&&(w*=2.55),"rgba"==b[1].toLowerCase().slice(0,4)&&(h=za(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100));if(b[5])return A=b[5].split(t),g=za(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),u=za(A[1]),"%"==A[1].slice(-1)&&(u*=2.55),w=za(A[2]),"%"==A[2].slice(-1)&&(w*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsba"==b[1].toLowerCase().slice(0,
4)&&(h=za(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsb2rgb(g,u,w,h);if(b[6])return A=b[6].split(t),g=za(A[0]),"%"==A[0].slice(-1)&&(g*=2.55),u=za(A[1]),"%"==A[1].slice(-1)&&(u*=2.55),w=za(A[2]),"%"==A[2].slice(-1)&&(w*=2.55),"deg"!=A[0].slice(-3)&&"°"!=A[0].slice(-1)||(g/=360),"hsla"==b[1].toLowerCase().slice(0,4)&&(h=za(A[3])),A[3]&&"%"==A[3].slice(-1)&&(h/=100),a.hsl2rgb(g,u,w,h);b={r:g,g:u,b:w,toString:m};b.hex="#"+(16777216|w|u<<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=zb(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=zb(function(b,f,h){return a.hsb2rgb(b,f,h).hex});a.hsl=zb(function(b,f,h){return a.hsl2rgb(b,
f,h).hex});a.rgb=zb(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 ma(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,
z)&&a.is(b[0],z)&&(g=ma(b));g.length||ta(b).replace(Q,function(b,f,a){var t=[];b=f.toLowerCase();a.replace(U,function(b,f){f&&t.push(+f)});"m"==b&&2<t.length&&(g.push([f].concat(t.splice(0,2))),b="l",f="m"==f?"l":"L");if("r"==b)g.push([f].concat(t));else for(;t.length>=h[b]&&(g.push([f].concat(t.splice(0,h[b]))),h[b]););});g.toString=a._path2string;f.arr=ma(g);return g};a.parseTransformString=zb(function(b){if(!b)return null;var f=[];a.is(b,z)&&a.is(b[0],z)&&(f=ma(b));f.length||ta(b).replace(J,function(b,
h,g){var a=[];qa.call(h);g.replace(U,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,t,u,w,A){var Z=1-A,L=Ja(Z,3),d=Ja(Z,2),c=A*A,Q=c*A,J=L*b+3*d*A*h+3*Z*A*A*a+Q*u,L=L*f+3*d*A*g+3*Z*A*A*t+Q*w,d=b+2*A*(h-b)+c*(a-2*h+b),Q=f+
2*A*(g-f)+c*(t-2*g+f),l=h+2*A*(a-h)+c*(u-2*a+h),c=g+2*A*(t-g)+c*(w-2*t+g);b=Z*b+A*h;f=Z*f+A*g;a=Z*a+A*u;t=Z*t+A*w;w=90-180*Oa.atan2(d-l,Q-c)/Ia;(d>l||Q<c)&&(w+=180);return{x:J,y:L,m:{x:d,y:Q},n:{x:l,y:c},start:{x:b,y:f},end:{x:a,y:t},alpha:w}};a.bezierBBox=function(b,f,h,g,t,u,w,A){a.is(b,"array")||(b=[b,f,h,g,t,u,w,A]);b=qc.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 s(b,f)};a.pathIntersectionNumber=function(b,f){return s(b,f,1)};a.isPointInsidePath=function(b,f,h){var g=a.pathBBox(b);return a.isPointInsideBBox(g,f,h)&&(1==s(b,[["M",f,h],["H",g.x2+10]],
1)%2||1==s(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 cb=a.pathBBox=function(b){var f=Yb(b);if(!b)return{x:0,y:0,width:0,height:0,x2:0,y2:0};b=la(b);for(var h=0,g=0,a=[],t=[],u,w=0,A=b.length;w<A;w++)u=b[w],"M"==u[0]?(h=u[1],g=u[2],a.push(h),t.push(g)):(h=qc(h,g,u[1],u[2],u[3],u[4],u[5],u[6]),a=a.concat(h.min.x,h.max.x),t=t.concat(h.min.y,h.max.y),h=u[5],g=u[6]);b=Ba[P](0,
a);u=Ba[P](0,t);a=$[P](0,a);t=$[P](0,t);t={x:b,y:u,x2:a,y2:t,width:a-b,height:t-u};f.bbox=La(t);return t},ma=function(b){b=La(b);b.toString=a._path2string;return b},xa=a._pathToRelative=function(b){var f=Yb(b);if(f.rel)return ma(f.rel);a.is(b,z)&&a.is(b&&b[0],z)||(b=a.parsePathString(b));var h=[],g=0,t=0,u=0,w=0,A=0;"M"==b[0][0]&&(g=b[0][1],t=b[0][2],u=g,w=t,A++,h.push(["M",g,t]));for(var Z=b.length;A<Z;A++){var L=h[A]=[],d=b[A];if(d[0]!=qa.call(d[0]))switch(L[0]=qa.call(d[0]),L[0]){case "a":L[1]=
d[1];L[2]=d[2];L[3]=d[3];L[4]=d[4];L[5]=d[5];L[6]=+(d[6]-g).toFixed(3);L[7]=+(d[7]-t).toFixed(3);break;case "v":L[1]=+(d[1]-t).toFixed(3);break;case "m":u=d[1],w=d[2];default:for(var c=1,Q=d.length;c<Q;c++)L[c]=+(d[c]-(c%2?g:t)).toFixed(3)}else for(h[A]=[],"m"==d[0]&&(u=d[1]+g,w=d[2]+t),L=0,c=d.length;L<c;L++)h[A][L]=d[L];d=h[A].length;switch(h[A][0]){case "z":g=u;t=w;break;case "h":g+=+h[A][d-1];break;case "v":t+=+h[A][d-1];break;default:g+=+h[A][d-2],t+=+h[A][d-1]}}h.toString=a._path2string;f.rel=
ma(h);return h},Ca=a._pathToAbsolute=function(b){var f=Yb(b),h;if(f.abs)return ma(f.abs);a.is(b,z)&&a.is(b&&b[0],z)||(b=a.parsePathString(b));if(!b||!b.length)return h=["M",0,0],h.toString=a._path2string,h;var g=0,t=0,u=0,w=0,A=0;h=[];"M"==b[0][0]&&(g=+b[0][1],t=+b[0][2],u=g,w=t,A++,h[0]=["M",g,t]);for(var Z=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),L,d=A,c=b.length;d<c;d++){h.push(A=[]);L=b[d];if(L[0]!=Ka.call(L[0]))switch(A[0]=Ka.call(L[0]),A[0]){case "A":A[1]=
L[1];A[2]=L[2];A[3]=L[3];A[4]=L[4];A[5]=L[5];A[6]=+(L[6]+g);A[7]=+(L[7]+t);break;case "V":A[1]=+L[1]+t;break;case "H":A[1]=+L[1]+g;break;case "R":for(var Q=[g,t].concat(L.slice(1)),J=2,l=Q.length;J<l;J++)Q[J]=+Q[J]+g,Q[++J]=+Q[J]+t;h.pop();h=h.concat(H(Q,Z));break;case "M":u=+L[1]+g,w=+L[2]+t;default:for(J=1,l=L.length;J<l;J++)A[J]=+L[J]+(J%2?g:t)}else if("R"==L[0])Q=[g,t].concat(L.slice(1)),h.pop(),h=h.concat(H(Q,Z)),A=["R"].concat(L.slice(-2));else for(Q=0,J=L.length;Q<J;Q++)A[Q]=L[Q];switch(A[0]){case "Z":g=
u;t=w;break;case "H":g=A[1];break;case "V":t=A[1];break;case "M":u=A[A.length-2],w=A[A.length-1];default:g=A[A.length-2],t=A[A.length-1]}}h.toString=a._path2string;f.abs=ma(h);return h},ja=function(b,f,h,g){return[b,f,h,g,h,g]},Pb=function(b,f,h,g,a,t){var u=1/3,w=2/3;return[u*b+w*h,u*f+w*g,u*a+w*h,u*t+w*g,a,t]},pc=function(b,f,h,g,a,t,u,w,A,Z){var L=120*Ia/180,d=Ga*(+a||0),Q=[],c,J=zb(function(b,f,h){var g=b*ia(h)-f*sa(h);b=b*sa(h)+f*ia(h);return{x:g,y:b}});if(Z)oa=Z[0],c=Z[1],t=Z[2],l=Z[3];else{c=
J(b,f,-d);b=c.x;f=c.y;c=J(w,A,-d);w=c.x;A=c.y;ia(Ga*a);sa(Ga*a);c=(b-w)/2;oa=(f-A)/2;l=c*c/(h*h)+oa*oa/(g*g);1<l&&(l=Ma(l),h*=l,g*=l);var l=h*h,e=g*g,l=(t==u?-1:1)*Ma(X((l*e-l*oa*oa-e*c*c)/(l*oa*oa+e*c*c)));t=l*h*oa/g+(b+w)/2;var l=l*-g*c/h+(f+A)/2,oa=Oa.asin(((f-l)/g).toFixed(9));c=Oa.asin(((A-l)/g).toFixed(9));oa=b<t?Ia-oa:oa;c=w<t?Ia-c:c;0>oa&&(oa=2*Ia+oa);0>c&&(c=2*Ia+c);u&&oa>c&&(oa-=2*Ia);!u&&c>oa&&(c-=2*Ia)}if(X(c-oa)>L){var Q=c,e=w,U=A;c=oa+L*(u&&c>oa?1:-1);w=t+h*ia(c);A=l+g*sa(c);Q=pc(w,
A,h,g,a,0,u,e,U,[c,Q,t,l])}t=c-oa;a=ia(oa);L=sa(oa);u=ia(c);c=sa(c);t=Oa.tan(t/4);h=4/3*h*t;t*=4/3*g;g=[b,f];b=[b+h*L,f-t*a];f=[w+h*c,A-t*u];w=[w,A];b[0]=2*g[0]-b[0];b[1]=2*g[1]-b[1];if(Z)return[b,f,w].concat(Q);Q=[b,f,w].concat(Q).join().split(",");Z=[];w=0;for(A=Q.length;w<A;w++)Z[w]=w%2?J(Q[w-1],Q[w],d).y:J(Q[w],Q[w+1],d).x;return Z},gc=function(b,f,h,g,a,t,u,w,A){var Z=1-A;return{x:Ja(Z,3)*b+3*Ja(Z,2)*A*h+3*Z*A*A*a+Ja(A,3)*u,y:Ja(Z,3)*f+3*Ja(Z,2)*A*g+3*Z*A*A*t+Ja(A,3)*w}},qc=zb(function(b,f,h,
g,a,t,u,w){var A=a-2*h+b-(u-2*a+h),Z=2*(h-b)-2*(a-h),L=b-h,d=(-Z+Ma(Z*Z-4*A*L))/2/A,A=(-Z-Ma(Z*Z-4*A*L))/2/A,c=[f,w],Q=[b,u];"1e12"<X(d)&&(d=.5);"1e12"<X(A)&&(A=.5);0<d&&1>d&&(d=gc(b,f,h,g,a,t,u,w,d),Q.push(d.x),c.push(d.y));0<A&&1>A&&(d=gc(b,f,h,g,a,t,u,w,A),Q.push(d.x),c.push(d.y));A=t-2*g+f-(w-2*t+g);Z=2*(g-f)-2*(t-g);L=f-g;d=(-Z+Ma(Z*Z-4*A*L))/2/A;A=(-Z-Ma(Z*Z-4*A*L))/2/A;"1e12"<X(d)&&(d=.5);"1e12"<X(A)&&(A=.5);0<d&&1>d&&(d=gc(b,f,h,g,a,t,u,w,d),Q.push(d.x),c.push(d.y));0<A&&1>A&&(d=gc(b,f,h,
g,a,t,u,w,A),Q.push(d.x),c.push(d.y));return{min:{x:Ba[P](0,Q),y:Ba[P](0,c)},max:{x:$[P](0,Q),y:$[P](0,c)}}}),la=a._path2curve=zb(function(b,f){var h=!f&&Yb(b);if(!f&&h.curve)return ma(h.curve);var g=Ca(b),a=f&&Ca(f),t={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},w=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(pc[P](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(Pb(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(Pb(f.x,f.y,b[1],b[2],b[3],b[4]));break;case "L":b=["C"].concat(ja(f.x,f.y,b[1],b[2]));break;case "H":b=["C"].concat(ja(f.x,f.y,b[1],f.y));break;case "V":b=["C"].concat(ja(f.x,f.y,f.x,b[1]));break;case "Z":b=["C"].concat(ja(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=$(g.length,a&&a.length||0)}},Z=function(b,f,h,t,u){b&&f&&"M"==b[u][0]&&"M"!=f[u][0]&&(f.splice(u,0,["M",t.x,t.y]),h.bx=0,h.by=0,h.x=b[u][1],h.y=b[u][2],d=$(g.length,a&&a.length||0))},L=0,d=$(g.length,a&&a.length||0);for(;L<d;L++){g[L]=w(g[L],t);A(g,L);a&&(a[L]=w(a[L],u));a&&A(a,L);Z(g,a,t,u,L);Z(a,g,u,t,L);var c=g[L],Q=a&&a[L],J=c.length,l=a&&Q.length;t.x=c[J-2];t.y=
c[J-1];t.bx=za(c[J-4])||t.x;t.by=za(c[J-3])||t.y;u.bx=a&&(za(Q[l-4])||u.x);u.by=a&&(za(Q[l-3])||u.y);u.x=a&&Q[l-2];u.y=a&&Q[l-1]}a||(h.curve=ma(g));return a?[g,a]:g},null,ma);a._parseDots=zb(function(b){for(var f=[],h=0,g=b.length;h<g;h++){var t={},u=b[h].match(/^([^:]*):?([\d\.]*)/);t.color=a.getRGB(u[1]);if(t.color.error)return null;t.opacity=t.color.opacity;t.color=t.color.hex;u[2]&&(t.offset=u[2]+"%");f.push(t)}h=1;for(g=f.length-1;h<g;h++)if(!f[h].offset){b=za(f[h-1].offset||0);u=0;for(t=h+1;t<
g;t++)if(f[t].offset){u=f[t].offset;break}u||(u=100,t=g);u=za(u);for(u=(u-b)/(t-h+1);h<t;h++)b+=u,f[h].offset=b+"%"}return f});var ra=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;ra(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;ra(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){ra(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){ra(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 wc=a.toMatrix=function(b,f){var h=cb(b),g={_:{transform:""},getBBox:function(){return h}};Ha(g,f);return g.matrix};a.transformPath=function(b,f){return A(b,wc(b,f))};var Ha=a._extractTransform=function(b,f){if(null==f)return b._.transform;
f=ta(f).replace(/\.{3}|\u2026/g,b._.transform||"");var h=a.parseTransformString(f),g=0,t=0,u=0,w=1,A=1,Z=b._,u=new G;Z.transform=h||[];if(h)for(var t=0,L=h.length;t<L;t++){var d=h[t],c=d.length,Q=ta(d[0]).toLowerCase(),J=d[0]!=Q,l=J?u.invert():0;"t"==Q&&3==c?J?(c=l.x(0,0),Q=l.y(0,0),J=l.x(d[1],d[2]),l=l.y(d[1],d[2]),u.translate(J-c,l-Q)):u.translate(d[1],d[2]):"r"==Q?2==c?(l=Z.bb||(Z.bb=b.getBBox(1)),u.rotate(d[1],l.x+l.width/2,l.y+l.height/2),g+=d[1]):4==c&&(J?(J=l.x(d[2],d[3]),l=l.y(d[2],d[3]),
u.rotate(d[1],J,l)):u.rotate(d[1],d[2],d[3]),g+=d[1]):"s"==Q?2==c||3==c?(l=Z.bb||(Z.bb=b.getBBox(1)),u.scale(d[1],d[c-1],l.x+l.width/2,l.y+l.height/2),w*=d[1],A*=d[c-1]):5==c&&(J?(J=l.x(d[3],d[4]),l=l.y(d[3],d[4]),u.scale(d[1],d[2],J,l)):u.scale(d[1],d[2],d[3],d[4]),w*=d[1],A*=d[2]):"m"==Q&&7==c&&u.add(d[1],d[2],d[3],d[4],d[5],d[6]);Z.dirtyT=1;b.matrix=u}b.matrix=u;Z.sx=w;Z.sy=A;Z.deg=g;Z.dx=t=u.e;Z.dy=u=u.f;1==w&&1==A&&!g&&Z.bbox?(Z.bbox.x+=+t,Z.bbox.y+=+u):Z.dirtyT=1},rc=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]}},xc=a._equaliseTransform=function(b,f){f=ta(f).replace(/\.{3}|\u2026/g,b);b=a.parseTransformString(b)||[];f=a.parseTransformString(f)||[];for(var h=$(b.length,f.length),g=[],t=[],u=0,w,A,Z,L;u<h;u++){Z=b[u]||rc(f[u]);L=f[u]||rc(Z);if(Z[0]!=L[0]||"r"==Z[0].toLowerCase()&&(Z[2]!=L[2]||Z[3]!=L[3])||"s"==
Z[0].toLowerCase()&&(Z[3]!=L[3]||Z[4]!=L[4]))return;g[u]=[];t[u]=[];w=0;for(A=$(Z.length,L.length);w<A;w++)w in Z&&(g[u][w]=Z[w]),w in L&&(t[u][w]=L[w])}return{from:g,to:t}};a._getContainer=function(b,f,h,g){var t;t=null!=g||a.is(b,"object")?b:O.doc.getElementById(b);if(null!=t)return t.tagName?null==f?{container:t,width:t.style.pixelWidth||t.offsetWidth,height:t.style.pixelHeight||t.offsetHeight}:{container:t,width:f,height:h}:{container:1,x:b,y:f,width:h,height:g}};a.pathToRelative=xa;a._engine=
{};a.path2curve=la;a.matrix=function(b,f,h,g,a,t){return new G(b,f,h,g,a,t)};(function(b){function f(b){return b[0]*b[0]+b[1]*b[1]}function h(b){var g=Ma(f(b));b[0]&&(b[0]/=g);b[1]&&(b[1]/=g)}b.add=function(b,f,h,g,a,t){var u=[[],[],[]],w=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];f=[[b,h,a],[f,g,t],[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+=w[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=+ia(b).toFixed(9);b=+sa(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[ta.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=Ma(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=Ma(f(g[1]));h(g[1]);b.shear/=b.scaley;var t=-g[0][1],g=g[1][1];0>g?(b.rotate=a.deg(Oa.acos(g)),0>t&&(b.rotate=360-b.rotate)):b.rotate=a.deg(Oa.asin(t));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 qb=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);"Apple Computer, Inc."==navigator.vendor&&(qb&&4>qb[1]||"iP"==
navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&qb&&8>qb[1]?ka.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()});return!0}:ka.safari=Sa;for(var yc=function(){this.returnValue=!1},ya=function(){return this.originalEvent.preventDefault()},zc=function(){this.cancelBubble=!0},Aa=function(){return this.originalEvent.stopPropagation()},rb=a.addEvent=function(){if(O.doc.addEventListener)return function(b,f,h,
g){var a=na&&pa[f]||f,t;pa[T[f]]&&(a=pa[T[f]]);t=function(a){var t=O.doc.documentElement.scrollTop||O.doc.body.scrollTop,u=O.doc.documentElement.scrollLeft||O.doc.body.scrollLeft,w;if(va&&pa.hasOwnProperty(na?f:T[f]))for(var A=0,Z=a.targetTouches&&a.targetTouches.length;A<Z;A++)if(w=a.targetTouches[A].target,w==b||"tspan"==w.nodeName&&w.parentNode==b){w=a;a=a.targetTouches[A];a.originalEvent=w;a.preventDefault=ya;a.stopPropagation=Aa;break}return h.call(g,a,a.clientX+u,a.clientY+t)};b.addEventListener(a,
t,!1);return function(){b.removeEventListener(a,t,!1);return!0}};if(O.doc.attachEvent)return function(b,f,h,g){var a=function(b){b=b||O.win.event;var f=b.clientX+(O.doc.documentElement.scrollLeft||O.doc.body.scrollLeft),a=b.clientY+(O.doc.documentElement.scrollTop||O.doc.body.scrollTop);b.preventDefault=b.preventDefault||yc;b.stopPropagation=b.stopPropagation||zc;return h.call(g,b,f,a)};b.attachEvent("on"+f,a);return function(){b.detachEvent("on"+f,a);return!0}}}(),Ub=[],bb=function(b){for(var f=
b.clientX,h=b.clientY,g=O.doc.documentElement.scrollTop||O.doc.body.scrollTop,t=O.doc.documentElement.scrollLeft||O.doc.body.scrollLeft,u,w=Ub.length;w--;){u=Ub[w];if(va&&"touchmove"===b.type)for(var A=b.touches.length,Z;A--;){if(Z=b.touches[A],Z.identifier==u.el._drag.id){f=Z.clientX;h=Z.clientY;(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();if(!u.el.removed){var A=a._engine.getNode(u.el),L=A.nextSibling,d=A.parentNode,c=A.style.display;O.win.opera&&d.removeChild(A);
A.style.display="none";Z=u.el.paper.getElementByPoint(f,h);A.style.display=c;O.win.opera&&(L?d.insertBefore(A,L):d.appendChild(A));Z&&e("raphael.drag.over."+u.el.id,u.el,Z);f+=t;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)}}},cc=function(b){a.undragmove(bb).undragend(cc);a.unmousemove(bb).unmouseup(cc);for(var f=Ub.length,h;f--;)h=Ub[f],h.el._drag={},e("raphael.drag.end."+h.el.id,h.end_scope||h.start_scope||h.move_scope||h.el,b);Ub=[]},Fa=a.el={},wb=
wa.length;wb--;)(function(b){a[b]=Fa[b]=function(f,h){a.is(f,"function")&&(this.events=this.events||[],this.events.push({name:b,f:f,unbind:rb(this.shape||this.node||O.doc,b,f,h||this)}));return this};a["un"+b]=Fa["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}})(wa[wb]);Fa.data=function(b,f){var h=B[this.id]=B[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};Fa.removeData=function(b){null==b?delete B[this.id]:B[this.id]&&delete B[this.id][b];return this};Fa.getData=function(){return La(B[this.id]||{})};var Vb=[],dc=function(){this.untrack=rb(O.doc,"mouseup",hc,this)},hc=function(){this.untrack();this.untrack=null;return this.fn&&this.fn.apply(this.scope||this.el,arguments)};Fa.mouseup=function(b,f,h){if(!h)return a.mouseup.apply(this,
arguments);Vb.push(h={el:this,fn:b,scope:f});h.unbind=rb(this.shape||this.node||O.doc,"mousedown",dc,h);return this};Fa.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)};Fa.hover=function(b,f,h,g){return this.mouseover(b,h).mouseout(f,g||h)};Fa.unhover=function(b,f){return this.unmouseover(b).unmouseout(f)};var Tb=[];Fa.drag=function(b,f,h,g,t,u){function w(A){var Z=
O.doc.documentElement.scrollTop||O.doc.body.scrollTop,L=O.doc.documentElement.scrollLeft||O.doc.body.scrollLeft;this._drag.x=A.clientX+L;this._drag.y=A.clientY+Z;this._drag.id=A.identifier;va&&!na&&!Ub.length&&a.dragmove(bb).dragend(cc);!Ub.length&&a.mousemove(bb).mouseup(cc);Ub.push({el:this,move_scope:g,start_scope:t,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,t||g||this,A.clientX+
L,A.clientY+Z,A)}this._drag={};Tb.push({el:this,start:w});va&&!na&&this.dragstart(w);this.mousedown(w);return this};Fa.onDragOver=function(b){b?e.on("raphael.drag.over."+this.id,b):e.unbind("raphael.drag.over."+this.id)};Fa.undrag=function(){for(var b=Tb.length;b--;)Tb[b].el==this&&(this.unmousedown(Tb[b].start),Tb.splice(b,1),e.unbind("raphael.drag.*."+this.id));!Tb.length&&a.unmousemove(bb).unmouseup(cc);delete this._drag};Fa.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};Fa.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};ka.hide=function(){this.canvas.style.visibility="hidden";return this};ka.show=function(){this.canvas.style.visibility="";return this};ka.group=function(){var b=arguments,f=h(b,!0),b=a._engine.group(this,
b[0],f);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ka.circle=function(){var b=arguments,f=h(b,!0),b=oa(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};ka.rect=function(){var b=arguments,f=h(b,!0),b=oa(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};
ka.ellipse=function(){var b=arguments,f=h(b,!0),b=oa(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};ka.path=function(){var b=arguments,f=h(b,!0),g=this.config,b=oa(b,"path","","fill","none","stroke","#000","stroke-linecap",g&&g["stroke-linecap"]||"butt"),f=a._engine.path(this,b,f);return this.__set__&&this.__set__.push(f),this._elementsById[f.id]=f};ka.image=function(){var b=arguments,f=
h(b,!0),b=oa(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};ka.text=function(){var b=arguments,f=h(b,!0),b=oa(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};ka.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};ka.setConfig=function(b,f){void 0!==b&&void 0!==f&&(this.config=this.config||{},this.config[b]=f);return this.config};ka.setStart=function(b){this.__set__=b||this.set()};ka.setFinish=function(b){b=this.__set__;delete this.__set__;return b};ka.setSize=function(b,f){return a._engine.setSize.call(this,b,f)};ka.setDimension=function(b,f){"object"===typeof b?this.setSize(b.width,b.height):this.setSize(b,f)};ka.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};ka.status=function(b,f){return Fa.status.call(this,b,f)};ka.animateWith=function(b,f,h,g,a,t){return Fa.animateWith.call(this,b,f,h,g,a,t)};ka.animate=function(b,f,h,g){return Fa.animate.call(this,b,f,h,g)};ka.setViewBox=function(b,f,h,g,t){return a._engine.setViewBox.call(this,b,f,h,g,t)};ka.top=ka.bottom=null;ka.raphael=a;ka.getElementByPoint=function(b,f){var h,g,a=this.canvas,t=O.doc.elementFromPoint(b,f);
if(O.win.opera&&"svg"==t.tagName){g=a.getBoundingClientRect();h=a.ownerDocument;var u=h.body,w=h.documentElement;h=g.top+(O.win.pageYOffset||w.scrollTop||u.scrollTop)-(w.clientTop||u.clientTop||0);g=g.left+(O.win.pageXOffset||w.scrollLeft||u.scrollLeft)-(w.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&&(t=h[h.length-1])}if(!t)return null;for(;t.parentNode&&t!=a.parentNode&&!t.raphael;)t=t.parentNode;t==this.canvas.parentNode&&
(t=a);return t=t&&t.raphael?this.getById(t.raphaelid):null};ka.getElementsByBBox=function(b){var f=this.set();this.forEach(function(h){a.isBBoxIntersect(h.getBBox(),b)&&f.push(h)});return f};ka.getById=function(b){return this._elementsById[b]||null};ka.forEach=function(b,f){for(var h=this.bottom;h&&!1!==b.call(f,h);)h=h.next;return this};ka.getElementsByPoint=function(b,f){var h=this.set();this.forEach(function(g){g.isPointInside(b,f)&&h.push(g)});return h};Fa.isPointInside=function(b,f){var h=this.realPath=
this.realPath||Z[this.type](this),g;return a.isPointInsidePath((g=this.attr("transform"))&&g.length&&a.transformPath(h,g)||h,b,f)};Fa.getBBox=function(b){if(this.removed)return{};var f=this._;if(b){if(f.dirty||!f.bboxwt)this.realPath=Z[this.type](this),f.bboxwt=cb(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=Z[this.type](this);f.bbox=cb(A(this.realPath,this.matrix));f.bbox.toString=q;f.dirty=f.dirtyT=
0}return f.bbox};Fa.clone=function(){if(this.removed)return null;var b=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(b);return b};Fa.glow=function(b){if("text"==this.type)return null;b=b||{};var f=(b.width||10)+(+this.attr("stroke-width")||1),h=b.fill||!1,g=b.opacity||.5,a=b.offsetx||0,t=b.offsety||0;b=b.color||"#000";for(var u=f/2,w=this.paper,L=w.set(),d=this.realPath||Z[this.type](this),d=this.matrix?A(d,this.matrix):d,c=1;c<u+1;c++)L.push(w.path(d).attr({stroke:b,fill:h?
b:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(f/u*c).toFixed(3),opacity:+(g/u).toFixed(3)}));return L.insertBefore(this).translate(a,t)};var Mb=function(b,f,h,g,t,u,w,A,Z){return null==Z?I(b,f,h,g,t,u,w,A):a.findDotsAtSegment(b,f,h,g,t,u,w,A,n(b,f,h,g,t,u,w,A,Z))},nb=function(b,f){return function(h,g,t){h=la(h);for(var u,w,A,Z,L="",d={},c=0,Q=0,J=h.length;Q<J;Q++){A=h[Q];if("M"==A[0])u=+A[1],w=+A[2];else{Z=Mb(u,w,A[1],A[2],A[3],A[4],A[5],A[6]);if(c+Z>g){if(f&&!d.start){u=
Mb(u,w,A[1],A[2],A[3],A[4],A[5],A[6],g-c);L+=["C"+u.start.x,u.start.y,u.m.x,u.m.y,u.x,u.y];if(t)return L;d.start=L;L=["M"+u.x,u.y+"C"+u.n.x,u.n.y,u.end.x,u.end.y,A[5],A[6]].join();c+=Z;u=+A[5];w=+A[6];continue}if(!b&&!f)return u=Mb(u,w,A[1],A[2],A[3],A[4],A[5],A[6],g-c),{x:u.x,y:u.y,alpha:u.alpha}}c+=Z;u=+A[5];w=+A[6]}L+=A.shift()+A}d.end=L;u=b?c:f?d:a.findDotsAtSegment(u,w,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}},eb=nb(1),hb=nb(),Ya=nb(0,1);a.getTotalLength=
eb;a.getPointAtLength=hb;a.getSubpath=function(b,f,h){if(1E-6>this.getTotalLength(b)-h)return Ya(b,f).end;b=Ya(b,h,1);return f?Ya(b,f).end:b};Fa.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():eb(this.attrs.path)};Fa.getPointAtLength=function(b){if("path"==this.type)return hb(this.attrs.path,b)};Fa.getSubpath=function(b,f){if("path"==this.type)return a.getSubpath(this.attrs.path,b,f)};var Ua=a.easing_formulas={linear:function(b){return b},
"<":function(b){return Ja(b,1.7)},">":function(b){return Ja(b,.48)},"<>":function(b){var f=.48-b/1.04,h=Ma(.1734+f*f);b=h-f;b=Ja(X(b),1/3)*(0>b?-1:1);f=-h-f;f=Ja(X(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:Ja(2,-10*b)*sa(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}};Ua.easeIn=Ua["ease-in"]=Ua["<"];Ua.easeOut=Ua["ease-out"]=Ua[">"];Ua.easeInOut=Ua["ease-in-out"]=Ua["<>"];Ua["back-in"]=Ua.backIn;Ua["back-out"]=Ua.backOut;var Ta=[],Xa=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<Ta.length;f++){var h=Ta[f];if(!(h.el.removed||h.paused||h.parentEl&&
h.parentEl.e.paused)){var g=b-h.start,t=h.ms,u=h.easing,w=h.from,A=h.diff,Z=h.to,L=h.el,d={},c,Q={},J=!1!==a.stopEvent,oa;h.initstatus?(g=(h.initstatus*h.anim.top-h.prev)/(h.percent-h.prev)*t,h.status=h.initstatus,delete h.initstatus,h.stop&&(delete h.el,Ta.splice(f--,1))):h.status=(h.prev+g/t*(h.percent-h.prev))/h.anim.top;if(!(0>g))if(g<t){var U=u(g/t),Ea;for(Ea in w)if(w.hasOwnProperty(Ea)){switch(K[Ea]){case l:c=+w[Ea]+U*t*A[Ea];break;case "colour":c="rgb("+[gb(ga(w[Ea].r+U*t*A[Ea].r)),gb(ga(w[Ea].g+
U*t*A[Ea].g)),gb(ga(w[Ea].b+U*t*A[Ea].b))].join()+")";break;case "path":c=[];g=0;for(u=w[Ea].length;g<u;g++){c[g]=[w[Ea][g][0]];Z=1;for(Q=w[Ea][g].length;Z<Q;Z++)c[g][Z]=(+w[Ea][g][Z]+U*t*A[Ea][g][Z]).toFixed(4);c[g]=c[g].join(" ")}c=c.join(" ");break;case "transform":if(A[Ea].real)for(c=[],g=0,u=w[Ea].length;g<u;g++)for(c[g]=[w[Ea][g][0]],Z=1,Q=w[Ea][g].length;Z<Q;Z++)c[g][Z]=w[Ea][g][Z]+U*t*A[Ea][g][Z];else c=function(b){return+w[Ea][b]+U*t*A[Ea][b]},c=[["m",c(0),c(1),c(2),c(3),c(4),c(5)]];break;
case "csv":if("clip-rect"==Ea)for(c=[],g=4;g--;)c[g]=+w[Ea][g]+U*t*A[Ea][g];break;default:for(u=[].concat(w[Ea]),c=[],g=L.ca[Ea].length;g--;)c[g]=+u[g]+U*t*A[Ea][g]}d[Ea]=c}L.attr(d);J&&function(b,f,h){setTimeout(function(){e("raphael.anim.frame."+b,f,h)})}(L.id,L,h.anim)}else{(function(b,f,h){setTimeout(function(){J&&e("raphael.anim.frame."+f.id,f,h);J&&e("raphael.anim.finish."+f.id,f,h);a.is(b,"function")&&b.call(f)})})(h.callback,L,h.anim);L.attr(Z);delete h.el;Ta.splice(f--,1);if(1<h.repeat&&
!h.next){for(oa in Z)Z.hasOwnProperty(oa)&&(Q[oa]=h.totalOrigin[oa]);h.el.attr(Q);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&&L&&L.paper&&L.paper.safari();Ta.length&&Xa(db)},gb=function(b){return 255<b?255:0>b?0:b};Fa.animateWith=function(b,f,h,g,t,u){var w=this;if(w.removed)return u&&u.call(w),w;if(0==g)return setTimeout(function(){a.is(u,"function")&&u.call(w)},0),w.attr(h);h=h instanceof c?h:a.animation(h,
g,t,u);p(h,w,h.percents[0],null,w.attr(),void 0,b);h=0;for(g=Ta.length;h<g;h++)if(Ta[h].anim==f&&Ta[h].el==b){Ta[g-1].start=Ta[h].start;break}return w};Fa.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=Oa.floor($(b,0))||1;return f};a.animation=
function(b,f,h,g,t){if(b instanceof c)return b;if(a.is(h,"function")||!h)g=g||h||null,h=null;void 0===a.stopEvent&&(a.stopEvent=t);b=Object(b);f=+f||0;t={};var u,w;for(w in b)b.hasOwnProperty(w)&&za(w)!=w&&za(w)+"%"!=w&&(u=!0,t[w]=b[w]);return u?(h&&(t.easing=h),g&&(t.callback=g),new c({100:t},f)):new c(b,f)};Fa.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};Fa.setTime=function(b,f){b&&
null!=f&&this.status(b,Ba(f,b.ms)/b.ms);return this};Fa.status=function(b,f){var h=[],g=0,a,t;if(null!=f)return p(b,this,-1,Ba(f,1)),this;for(a=Ta.length;g<a;g++)if(t=Ta[g],t.el.id==this.id&&(!b||t.anim==b)){if(b)return t.status;h.push({anim:t.anim,status:t.status})}return b?0:h};Fa.pause=function(b,f){var h=+new Date,g,a;for(a=0;a<Ta.length;a++)g=Ta[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};Fa.resume=function(b,f){var h=+new Date,g,a;for(a=0;a<Ta.length;a++)g=Ta[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};Fa.stop=function(b,f,h){var g;if(f)for(g=Ta.length-
1;0<=g;g--)f=Ta[g],!(f.el.id===this.id||f.parentEl&&f.parentEl.id===this.id)||b&&Ta[g].anim!=b||(ele=f.el,h&&ele.attr(f.to),f.callback&&f.callback.call(ele),delete ele.e,delete f.el,Ta.splice(g,1));else for(g=0;g<Ta.length;g++)f=Ta[g],f.el.id!==this.id||b&&f.anim!==b||!1!==e("raphael.anim.stop."+this.id,this,f.anim)&&Ta.splice(g--,1);return this};e.on("raphael.remove",d);e.on("raphael.clear",d);Fa.toString=function(){return"Raphaëls object"};Fa.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};Fa.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};Fa.insertAfter=function(b){if(this.removed)return this;var f=a._engine.getNode(this),
h=a._engine.getLastNode(b),g=b.parent.canvas,t=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=t.length;f<h;f++)(u=t[f]).stalk&&u.el[u.stalk](b);return this};Fa.insertBefore=function(b){if(this.removed)return this;var f=a._engine.getNode(this),h=a._engine.getNode(b),g=this.followers,t;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++)(t=
g[f]).stalk&&t.el[t.stalk](b);return this};Fa.appendChild=function(b){if(this.removed||"group"!==this.type)return this;var f=this.followers,h,g,t;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(t=f.length;g<t;g++)(h=f[g]).stalk&&h.el[h.stalk](b);return this};Fa.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!=Fa.constructor&&b[f].constructor!=Za||(this[this.items.length]=this.items[this.items.length]=b[f],this.length++)},Wa=Za.prototype;Wa.push=function(){for(var b,
f,h=0,g=arguments.length;h<g;h++)!(b=arguments[h])||b.constructor!=Fa.constructor&&b.constructor!=Za||(f=this.items.length,this[f]=this.items[f]=b,this.length++);return this};Wa.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};Wa.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 ib in Fa)Fa.hasOwnProperty(ib)&&(Wa[ib]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b][P](h,
f)})}}(ib));Wa.attr=function(b,f){if(b&&a.is(b,z)&&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};Wa.clear=function(){for(;this.length;)this.pop()};Wa.splice=function(b,f,h){b=0>b?$(this.length+b,0):b;f=$(0,Ba(this.length-b,isNaN(f)&&this.length||f));var g=[],a=[],t=[],u;for(u=2;u<arguments.length;u++)t.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 w=t.length;for(u=0;u<w+g.length;u++)this.items[b+u]=this[b+u]=u<w?t[u]:g[u-w];for(u=this.items.length=this.length-=f-w;this[u];)delete this[u++];return new Za(a)};Wa.exclude=function(b){for(var f=0,h=this.length;f<h;f++)if(this[f]==b)return this.splice(f,1),!0};Wa.animate=function(b,f,h,g){!a.is(h,"function")&&h||(g=h||null);var t=this.items.length,u=t,w=this,A;if(!t)return this;g&&(A=function(){!--t&&g.call(w)});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};Wa.insertAfter=function(b){for(var f=this.items.length;f--;)this.items[f].insertAfter(b);return this};Wa.getBBox=function(){for(var b=[],f=[],h=[],g=[],a=this.items.length;a--;)if(!this.items[a].removed){var t=this.items[a].getBBox();b.push(t.x);f.push(t.y);h.push(t.x+t.width);g.push(t.y+t.height)}b=Ba[P](0,b);f=Ba[P](0,f);h=$[P](0,h);g=$[P](0,g);return{x:b,y:f,x2:h,y2:g,width:h-b,height:g-f}};Wa.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};Wa.toString=function(){return"Raphaëls set"};Wa.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"]=ea(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 t in h.k)h.hasOwnProperty(t)&&(f.glyphs[a].k[t]=h.k[t])}return b};ka.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 t=a.fonts[b];if(!t){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)){t=a.fonts[u];break}}var w;if(t)for(u=0,b=t.length;u<b&&(w=t[u],w.face["font-weight"]!=f||w.face["font-style"]!=h&&w.face["font-style"]||w.face["font-stretch"]!=g);u++);return w}};ka.print=function(b,f,h,g,t,u,w){u=u||"middle";w=$(Ba(w||0,1),-1);var A=ta(h).split(""),Z=0,L=0,d="";a.is(g,h)&&(g=this.getFont(g));if(g){h=(t||16)/g.face["units-per-em"];var c=g.face.bbox.split(ab);t=+c[0];var Q=
c[3]-c[1],J=0;u=+c[1]+("baseline"==u?Q+ +g.face.descent:Q/2);for(var c=0,l=A.length;c<l;c++){if("\n"==A[c])L=oa=Z=0,J+=Q;else var e=L&&g.glyphs[A[c-1]]||{},oa=g.glyphs[A[c]],Z=Z+(L?(e.w||g.w)+(e.k&&e.k[A[c]]||0)+g.w*w:0),L=1;oa&&oa.d&&(d+=a.transformPath(oa.d,["t",Z*h,J*h,"s",h,h,t,u,"t",(b-t)/h,(f-u)/h]))}}return this.path(d).attr({fill:"#000",stroke:"none"})};ka.add=function(b){if(a.is(b,"array"))for(var f=this.set(),h=0,g=b.length,t;h<g;h++)t=b[h]||{},da.hasOwnProperty(t.type)&&f.push(this[t.type]().attr(t));
return f};a.format=function(f,h){var g=a.is(h,z)?[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,t){f=f||g;a&&(f in a&&(a=a[f]),"function"==typeof a&&t&&(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(){V?O.win.Raphael=ba:delete Raphael;return a};var ob=a.vml&&.5||0;a.crispBound=zb(function(b,f,h,g,a){var t={},u;b=b||0;f=f||0;h=h||0;g=g||0;a=a||0;u=a%2/2+ob;t.x=ga(b+u)-u;t.y=ga(f+u)-u;t.width=ga(b+h+u)-u-t.x;t.height=ga(f+g+u)-u-t.y;t["stroke-width"]=a;0===t.width&&0!==h&&(t.width=1);0===t.height&&0!==g&&(t.height=1);return t},a);Fa.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=Wa;a.define=function(b,f,h,g,t,u){var w;if(a.is(b,z))for(u=0,w=b.length;u<w;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,w=f.apply(this,u),A;if(g&&a.is(g,"object"))for(A in g)w[A]=g[A];if(t&&a.is(t,"object"))for(A in t)w[A]&&w[A](t[A]);if(h){if(a.is(h,"function"))w.ca[b]=h;else for(A in h)w.ca[A]=h[A];w.ca[b]&&(a._lastArgIfGroup(u,
!0),u.length&&w.attr(b,N.call(u)))}return w},h&&(a.fn[b].ca=h),g&&(a.fn[b].fn=g),t&&(a.fn[b].e=t),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(){D=!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,t=Math,u=t.max,w=t.abs,A=t.pow,Z=t.sqrt,L=/[, ]+/,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])),c=a.eve,Q={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"},J={};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},oa={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},U={pad:"pad",redlect:"reflect",repeat:"repeat"},Ea=function(b,g){if(!b.paper||!b.paper.defs)return 0;var L="linear",d=b.paper,c=a.getElementID((d.id+"-"+g).replace(/[\(\)\s%:,\xb0#]/g,"_")),Q=.5,J=.5,Ea,k,B,fa,La,K=b.node,T=K.style,S=a._g.doc.getElementById(c);
if(!S){g=f(g).replace(a._radial_gradient,function(b,f){L="radial";f=f&&f.split(",")||[];fa=f[5];La=f[6];var g=f[0],a=f[1],t=f[2],u=f[3],w=f[4],d=g&&a,c;t&&(Ea=/\%/.test(t)?t:h(t));if(fa===oa.userSpaceOnUse)return d&&(Q=g,J=a),u&&w&&(k=u,B=w,d||(Q=k,J=B)),"";d&&(Q=h(g),J=h(a),g=2*(.5<J)-1,.25<(c=A(Q-.5,2))+A(J-.5,2)&&.25>c&&(J=Z(.25-c)*g+.5)&&.5!==J&&(J=J.toFixed(5)-1E-5*g));u&&w&&(k=h(u),B=h(w),g=2*(.5<B)-1,.25<(c=A(k-.5,2))+A(B-.5,2)&&.25>c&&(B=Z(.25-c)*g+.5)&&.5!==B&&(B=B.toFixed(5)-1E-5*g),d||
(Q=k,J=B));return""});g=g.split(/\s*\-\s*/);if("linear"==L){var S=g.shift(),R=S.match(/\((.*)\)/),Pa,R=R&&R[1]&&R[1].split(/\s*\,\s*/),S=-h(S);if(isNaN(S))return null;R&&R.length?(R[0]in oa?(fa=R.shift(),R[0]in U&&(La=R.shift())):(R[4]&&(fa=R[4]),R[5]&&(La=R[5])),Pa=[R[0]||"0%",R[1]||"0%",R[2]||"100%",R[3]||"0%"]):(Pa=[0,0,t.cos(a.rad(S)),t.sin(a.rad(S))],S=1/(u(w(Pa[2]),w(Pa[3]))||1),Pa[2]*=S,Pa[3]*=S,0>Pa[2]&&(Pa[0]=-Pa[2],Pa[2]=0),0>Pa[3]&&(Pa[1]=-Pa[3],Pa[3]=0))}R=a._parseDots(g);if(!R)return null;
S=e(L+"Gradient",{id:c});S.refCount=0;fa in oa&&S.setAttribute("gradientUnits",f(fa));La in U&&S.setAttribute("spreadMethod",f(La));"radial"===L?(void 0!==Ea&&S.setAttribute("r",f(Ea)),void 0!==k&&void 0!==B&&(S.setAttribute("cx",f(k)),S.setAttribute("cy",f(B))),S.setAttribute("fx",f(Q)),S.setAttribute("fy",f(J))):e(S,{x1:Pa[0],y1:Pa[1],x2:Pa[2],y2:Pa[3]});Pa=0;for(var Da=R.length;Pa<Da;Pa++)S.appendChild(e("stop",{offset:R[Pa].offset?R[Pa].offset:Pa?"100%":"0%","stop-color":R[Pa].color||"#fff","stop-opacity":void 0===
R[Pa].opacity?1:R[Pa].opacity}));d.defs.appendChild(S)}l(b,S);e(K,{fill:"url('"+a._url+"#"+c+"')",opacity:1,"fill-opacity":1});T.fill="";T.opacity=1;return T.fillOpacity=1},k=function(b){var f=b.getBBox(1);e(b.pattern,{patternTransform:b.matrix.invert()+" translate("+f.x+","+f.y+")"})},B=function(b,h,g){if("path"==b.type){for(var t=f(h).toLowerCase().split("-"),u=b.paper,w=g?"end":"start",A=b.node,Z=b.attrs,L=Z["stroke-width"],d=t.length,c="classic",l,oa,U=3,Ea=3,k=5;d--;)switch(t[d]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":c=
t[d];break;case "wide":Ea=5;break;case "narrow":Ea=2;break;case "long":U=5;break;case "short":U=2}"open"==c?(U+=2,Ea+=2,k+=2,l=1,oa=g?4:1,t={fill:"none",stroke:Z.stroke}):(oa=l=U/2,t={fill:Z.stroke,stroke:"none"});b._.arrows?g?(b._.arrows.endPath&&J[b._.arrows.endPath]--,b._.arrows.endMarker&&J[b._.arrows.endMarker]--):(b._.arrows.startPath&&J[b._.arrows.startPath]--,b._.arrows.startMarker&&J[b._.arrows.startMarker]--):b._.arrows={};if("none"!=c){var d="raphael-marker-"+c,B="raphael-marker-"+w+c+
U+Ea+"-obj"+b.id;a._g.doc.getElementById(d)?J[d]++:(u.defs.appendChild(e(e("path"),{"stroke-linecap":"round",d:Q[c],id:d})),J[d]=1);var fa=a._g.doc.getElementById(B);fa?(J[B]++,U=fa.getElementsByTagName("use")[0]):(fa=e(e("marker"),{id:B,markerHeight:Ea,markerWidth:U,orient:"auto",refX:oa,refY:Ea/2}),U=e(e("use"),{"xlink:href":"#"+d,transform:(g?"rotate(180 "+U/2+" "+Ea/2+") ":"")+"scale("+U/k+","+Ea/k+")","stroke-width":(1/((U/k+Ea/k)/2)).toFixed(4)}),fa.appendChild(U),u.defs.appendChild(fa),J[B]=
1);e(U,t);u=l*("diamond"!=c&&"oval"!=c);g?(g=b._.arrows.startdx*L||0,L=a.getTotalLength(Z.path)-u*L):(g=u*L,L=a.getTotalLength(Z.path)-(b._.arrows.enddx*L||0));t={};t["marker-"+w]="url('"+a._url+"#"+B+"')";if(L||g)t.d=a.getSubpath(Z.path,g,L);e(A,t);b._.arrows[w+"Path"]=d;b._.arrows[w+"Marker"]=B;b._.arrows[w+"dx"]=u;b._.arrows[w+"Type"]=c;b._.arrows[w+"String"]=h}else g?(g=b._.arrows.startdx*L||0,L=a.getTotalLength(Z.path)-g):(g=0,L=a.getTotalLength(Z.path)-(b._.arrows.enddx*L||0)),b._.arrows[w+
"Path"]&&e(A,{d:a.getSubpath(Z.path,g,L)}),delete b._.arrows[w+"Path"],delete b._.arrows[w+"Marker"],delete b._.arrows[w+"dx"],delete b._.arrows[w+"Type"],delete b._.arrows[w+"String"];for(t in J)J.hasOwnProperty(t)&&!J[t]&&(b=a._g.doc.getElementById(t))&&b.parentNode.removeChild(b)}},La={"":["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]},fa=function(b,h,g){var t=La[f(h).toLowerCase()],
u,w,A;if(h=t||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;w=h.length;A=t?u:1;if("none"==h[0])t=h;else for(t=[];w--;)t[w]=h[w]*A+(w%2?1:-1)*g,0>=t[w]&&(t[w]=.01+(1>=u?g:0)),isNaN(t[w])&&(t[w]=0);a.is(h,"array")&&e(b.node,{"stroke-dasharray":t.join(",")})}},K=function(b,f){for(var h in f)c("raphael.attr."+h+"."+b.id,b,f[h],h),b.ca[h]&&b.attr(h,f[h])},T=a._setFillAndStroke=function(b,h){if(b.paper.canvas){var t=
b.node,A=b.attrs,Z=b.paper,c=t.style,Q=c.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/>"));c.visibility="hidden";for(var J in h)if(h.hasOwnProperty(J)&&a._availableAttrs.hasOwnProperty(J)){var oa=h[J];A[J]=oa;switch(J){case "blur":b.blur(oa);break;case "href":case "title":case "target":var U=t.parentNode;if("a"!=U.tagName.toLowerCase()){if(""==oa)break;var La=e("a");
La.raphael=!0;La.raphaelid=t.raphaelid;U.insertBefore(La,t);La.appendChild(t);U=La}"target"==J?U.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==oa?"new":oa):U.setAttributeNS("http://www.w3.org/1999/xlink",J,oa);t.titleNode=U;break;case "cursor":c.cursor=oa;break;case "transform":b.transform(oa);break;case "rotation":a.is(oa,"array")?b.rotate.apply(b,oa):b.rotate(oa);break;case "arrow-start":B(b,oa);break;case "arrow-end":B(b,oa,1);break;case "clip-path":var K=!0;case "clip-rect":U=
!K&&f(oa).split(L);b._.clipispath=!!K;if(K||4==U.length){b.clip&&b.clip.parentNode.parentNode.removeChild(b.clip.parentNode);var La=e("clipPath"),T=e(K?"path":"rect");La.id=a.getElementID(a.createUUID());e(T,K?{d:oa?A["clip-path"]=a._pathToAbsolute(oa):a._availableAttrs.path,fill:"none"}:{x:U[0],y:U[1],width:U[2],height:U[3],transform:b.matrix.invert()});La.appendChild(T);Z.defs.appendChild(La);e(t,{"clip-path":"url('"+a._url+"#"+La.id+"')"});b.clip=T}!oa&&(oa=t.getAttribute("clip-path"))&&((oa=a._g.doc.getElementById(oa.replace(/(^url\(#|\)$)/g,
"")))&&oa.parentNode.removeChild(oa),e(t,{"clip-path":""}),delete b.clip);break;case "path":"path"==b.type&&(e(t,{d:oa?A.path=a._pathToAbsolute(oa):a._availableAttrs.path}),b._.dirty=1,b._.arrows&&("startString"in b._.arrows&&B(b,b._.arrows.startString),"endString"in b._.arrows&&B(b,b._.arrows.endString,1)));break;case "width":if(t.setAttribute(J,oa),b._.dirty=1,A.fx)J="x",oa=A.x;else break;case "x":A.fx&&(oa=-A.x-(A.width||0));case "rx":if("rx"==J&&"rect"==b.type)break;case "cx":t.setAttribute(J,
oa);b.pattern&&k(b);b._.dirty=1;break;case "height":if(t.setAttribute(J,oa),b._.dirty=1,A.fy)J="y",oa=A.y;else break;case "y":A.fy&&(oa=-A.y-(A.height||0));case "ry":if("ry"==J&&"rect"==b.type)break;case "cy":t.setAttribute(J,oa);b.pattern&&k(b);b._.dirty=1;break;case "r":"rect"==b.type?e(t,{rx:oa,ry:oa}):t.setAttribute(J,oa);b._.dirty=1;break;case "src":"image"==b.type&&t.setAttributeNS("http://www.w3.org/1999/xlink","href",oa);break;case "stroke-width":if(1!=b._.sx||1!=b._.sy)oa/=u(w(b._.sx),w(b._.sy))||
1;Z._vbSize&&(oa*=Z._vbSize);d&&0===oa&&(oa=1E-6);t.setAttribute(J,oa);A["stroke-dasharray"]&&fa(b,A["stroke-dasharray"],h);b._.arrows&&("startString"in b._.arrows&&B(b,b._.arrows.startString),"endString"in b._.arrows&&B(b,b._.arrows.endString,1));break;case "stroke-dasharray":fa(b,oa,h);break;case "fill":var S=f(oa).match(a._ISURL);if(S){var La=e("pattern"),Pa=e("image");La.id=a.getElementID(a.createUUID());e(La,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});e(Pa,{x:0,y:0,"xlink:href":S[1]});
La.appendChild(Pa);(function(b){a._preload(S[1],function(){var f=this.offsetWidth,h=this.offsetHeight;e(b,{width:f,height:h});e(Pa,{width:f,height:h});Z.safari()})})(La);Z.defs.appendChild(La);c.fill="url('"+a._url+"#"+La.id+"')";e(t,{fill:c.fill});b.pattern=La;b.pattern&&k(b);break}U=a.getRGB(oa);if(!U.error)delete h.gradient,delete A.gradient,!a.is(A.opacity,"undefined")&&a.is(h.opacity,"undefined")&&e(t,{opacity:A.opacity}),!a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&
e(t,{"fill-opacity":A["fill-opacity"]}),b.gradient&&l(b);else if(("circle"==b.type||"ellipse"==b.type||"r"!=f(oa).charAt())&&Ea(b,oa)){if("opacity"in A||"fill-opacity"in A)if(U=a._g.doc.getElementById(t.getAttribute("fill").replace(/^url\(#|\)$/g,"")))U=U.getElementsByTagName("stop"),e(U[U.length-1],{"stop-opacity":("opacity"in A?A.opacity:1)*("fill-opacity"in A?A["fill-opacity"]:1)});A.gradient=oa;A.fill="none";c.fill="";break}U.hasOwnProperty("opacity")?(e(t,{"fill-opacity":c.fillOpacity=1<U.opacity?
U.opacity/100:U.opacity}),b._.fillOpacityDirty=!0):b._.fillOpacityDirty&&a.is(A["fill-opacity"],"undefined")&&a.is(h["fill-opacity"],"undefined")&&(t.removeAttribute("fill-opacity"),c.fillOpacity="",delete b._.fillOpacityDirty);case "stroke":U=a.getRGB(oa);t.setAttribute(J,U.hex);c[J]=U.hex;"stroke"==J&&(U.hasOwnProperty("opacity")?(e(t,{"stroke-opacity":c.strokeOpacity=1<U.opacity?U.opacity/100:U.opacity}),b._.strokeOpacityDirty=!0):b._.strokeOpacityDirty&&a.is(A["stroke-opacity"],"undefined")&&
a.is(h["stroke-opacity"],"undefined")&&(t.removeAttribute("stroke-opacity"),c.strokeOpacity="",delete b._.strokeOpacityDirty),b._.arrows&&("startString"in b._.arrows&&B(b,b._.arrows.startString),"endString"in b._.arrows&&B(b,b._.arrows.endString,1)));break;case "gradient":"circle"!=b.type&&"ellipse"!=b.type&&"r"==f(oa).charAt()||Ea(b,oa);break;case "line-height":case "vertical-align":break;case "visibility":"hidden"===oa?b.hide():b.show();break;case "opacity":A.gradient&&!A.hasOwnProperty("stroke-opacity")&&
e(t,{"stroke-opacity":1<oa?oa/100:oa});case "fill-opacity":if(A.gradient){if(U=a._g.doc.getElementById(t.getAttribute("fill").replace(/^url\(#|\)$/g,"")))U=U.getElementsByTagName("stop"),e(U[U.length-1],{"stop-opacity":oa});break}default:"font-size"==J&&(oa=g(oa,10)+"px"),U=J.replace(/(\-.)/g,function(b){return b.substring(1).toUpperCase()}),c[U]=oa,b._.dirty=1,t.setAttribute(J,oa)}}"text"===b.type&&R(b,h);c.visibility=Q}},S=a._updateFollowers=function(){var b,f,h,g=arguments,a=Y.call(g),t=Y.call(g);
b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[t].apply(h,g)},R=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,w=b.node,A=w.firstChild&&a._g.doc.defaultView.getComputedStyle(w.firstChild,""),Z=A?h(a._g.doc.defaultView.getComputedStyle(w.firstChild,"").getPropertyValue("font-size")):10,L=h(g["line-height"]||
u["line-height"])||1.2*Z,d=u.hasOwnProperty("vertical-align")?u["vertical-align"]:"middle",c=(g.direction||(A?A.getPropertyValue("direction"):"initial")).toLowerCase(),Q=!!document.documentMode;isNaN(L)&&(L=1.2*Z);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;w.firstChild;)w.removeChild(w.firstChild);for(var J=f(g.text).split(/\n|<br\s*?\/?>/ig),Z=[],l=0,oa=J.length;l<oa;l++)A=e("tspan"),
l?e(A,{dy:L,x:u.x}):e(A,{dy:L*J.length*d,x:u.x}),J[l]||(A.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),J[l]=" "),A.appendChild(a._g.doc.createTextNode(J[l])),w.appendChild(A),Z[l]=A,!Q&&"rtl"===c&&l<oa-1&&(A=e("tspan"),e(A,{visibility:"hidden","font-size":"0px"}),A.appendChild(a._g.doc.createTextNode("i")),w.appendChild(A));b._textdirty=!1}else for(Z=w.getElementsByTagName("tspan"),l=Q=0,oa=Z.length;l<oa;l++)if(A=Z[l],c=A.attributes[0],!c||"visibility"!==c.name&&"visibility"!==
c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue)l?e(A,{dy:L,x:u.x}):(c=Z[1]&&Z[1].attributes[0],!c||"visibility"!==c.name&&"visibility"!==c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue||(Q=t.floor(.5*Z.length)),e(Z[0],{dy:L*(Z.length-Q)*d,x:u.x}));e(w,{x:u.x,y:u.y});b._.dirty=1;w=b._getBBox();L=u.y-(w.y+w.height/2);if(w.isCalculated)switch(u["vertical-align"]){case "top":L=.75*w.height;break;case "bottom":L=-(.25*w.height);break;default:L=u.y-(w.y+.25*w.height)}L&&a.is(L,"finite")&&
Z[0]&&e(Z[0],{dy:L})}},Pa=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},Da=
a.el;Pa.prototype=Da;Da.constructor=Pa;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};Da.rotate=function(b,g,a){if(this.removed)return this;S(this,"rotate",b,g,a);b=f(b).split(L);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};Da.scale=function(b,
g,a,t){var u;if(this.removed)return this;S(this,"scale",b,g,a,t);b=f(b).split(L);b.length-1&&(g=h(b[1]),a=h(b[2]),t=h(b[3]));b=h(b[0]);null==g&&(g=b);null==t&&(a=t);if(null==a||null==t)u=this.getBBox(1);a=null==a?u.x+u.width/2:a;t=null==t?u.y+u.height/2:t;this.transform(this._.transform.concat([["s",b,g,a,t]]));return this};Da.translate=function(b,g){if(this.removed)return this;S(this,"translate",b,g);b=f(b).split(L);b.length-1&&(g=h(b[1]));b=h(b[0])||0;this.transform(this._.transform.concat([["t",
b,+g||0]]));return this};Da.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&&k(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};Da.hide=function(){S(this,"hide");!this.removed&&this.paper.safari(this.node.style.display="none");return this};
Da.show=function(){S(this,"show");!this.removed&&this.paper.safari(this.node.style.display="");return this};Da.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);c.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}};Da._getBBox=function(){var f,h=this.node,g={},a=this.attrs,t,u,w="text"===this.type,A=!!document.documentMode;A&&w?f=b(this):"none"===h.style.display&&(this.show(),u=!0);try{g=h.getBBox(),w&&(void 0===g.x&&(g.isCalculated=!0,t=a["text-anchor"],g.x=(a.x||0)-g.width*("start"===t?0:"middle"===t?.5:1)),void 0===g.y&&(g.isCalculated=!0,t=a["vertical-align"],
g.y=(a.y||0)-g.height*("bottom"===t?1:"middle"===t?.5:0)))}catch(Z){}finally{g=g||{}}A&&w?f&&f():u&&this.hide();return g};Da.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(L),t={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?t[b]=this.attrs[b]:a.is(this.ca[b],"function")?t[b]=this.ca[b].def:t[b]=a._availableAttrs[b];return g-1?t:t[h[0]]}if(null==f&&a.is(b,"array")){t={};u=0;for(g=b.length;u<g;u++)t[b[u]]=this.attr(b[u]);return t}null!=f?(h={},h[b]=f):null!=b&&a.is(b,"object")&&(h=b);
if(!1!==a.stopEvent)for(u in h)c("raphael.attr."+u+"."+this.id,this,h[u],u);var w={};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(t in g)g.hasOwnProperty(t)&&(h[t]=g[t]);this.attrs[u]=h[u];!1===g&&(w[u]=h[u],delete h[u])}T(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(t in w)h[t]=w[t];return this};Da.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")};Da.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 Pa(g,b,h);b.type="path";T(b,f);K(b,f);return b};a._engine.group=function(b,f,h){var g=e("g");b=new Pa(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 Pa(g,b,h);b.type="circle";T(b,f);K(b,
f);return b};a._engine.rect=function(b,f,h){var g=e("rect");b=new Pa(g,b,h);b.type="rect";f.rx=f.ry=f.r;T(b,f);K(b,f);return b};a._engine.ellipse=function(b,f,h){var g=e("ellipse");b=new Pa(g,b,h);b.type="ellipse";T(b,f);K(b,f);return b};a._engine.image=function(b,f,h){var g=e("image");b=new Pa(g,b,h);b.type="image";g.setAttribute("preserveAspectRatio","none");T(b,f);K(b,f);return b};a._engine.text=function(b,f,h){var g=e("text");b=new Pa(g,b,h);b.type="text";b._textdirty=!0;T(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,t=b.width,b=b.height;if(!f)throw Error("SVG container not found.");var u=e("svg"),w,h=h||0,g=g||0,t=t||512,b=b||342;e(u,{height:b,version:1.1,width:t,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),w=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=t;f.height=b;f.canvas=u;e(u,{id:"raphael-paper-"+f.id});f.clear();f._left=f._top=0;w&&(f.renderfix=function(){});f.renderfix();return f};a._engine.setViewBox=function(b,f,h,g,a){c("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var t=u(h/this.width,g/this.height),w=this.top,A=a?"meet":"xMinYMin",Z;null==b?(this._vbSize&&(t=1),delete this._vbSize,Z="0 0 "+this.width+" "+this.height):(this._vbSize=t,Z=b+" "+f+
" "+h+" "+g);for(e(this.canvas,{viewBox:Z,preserveAspectRatio:A});t&&w;)A="stroke-width"in w.attrs?w.attrs["stroke-width"]:1,w.attr({"stroke-width":A}),w._.dirty=1,w._.dirtyT=1,w=w.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(c("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(c("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 z=a.st,p;for(p in Da)Da.hasOwnProperty(p)&&!z.hasOwnProperty(p)&&(z[p]=function(b){return function(){var f=arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(p))}})();
(function(){if(a.vml){var b=String,f=parseFloat,h=Math,g=h.round,t=h.max,u=h.min,w=h.sqrt,A=h.abs,Z=/[, ]+/,L=a.eve,d={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},c=/([clmz]),?([^clmz]*)/gi,Q=/ progid:\S+Blur\([^\)]+\)/g,J=/-?[^,\s-]+/g,l={path:1,rect:1,image:1},e={circle:1,ellipse:1},oa=function(f){var h=/[ahqstv]/ig,t=a._pathToAbsolute;b(f).match(h)&&(t=a._path2curve);h=/[clmz]/g;if(t==a._pathToAbsolute&&!b(f).match(h))return(f=b(f).replace(c,function(b,f,h){var a=[],t="m"==f.toLowerCase(),
u=d[f];h.replace(J,function(b){t&&2==a.length&&(u+=a+d["m"==f?"l":"L"],a=[]);a.push(g(21600*b))});return u+a}))||"m0,0";var h=t(f),u;f=[];for(var w=0,A=h.length;w<A;w++){t=h[w];u=h[w][0].toLowerCase();"z"==u&&(u="x");for(var Z=1,L=t.length;Z<L;Z++)u+=g(21600*t[Z])+(Z!=L-1?",":"");f.push(u)}return f.length?f.join(" "):"m0,0"},U=function(b,f,h){var g=a.matrix();g.rotate(-b,.5,.5);return{dx:g.x(f,h),dy:g.y(f,h)}},Ea=function(b,f,h,g,a,t){var u=b._,w=b.matrix,Z=u.fillpos;b=b.node;var L=b.style,d=1,c=
"",Q=21600/f,J=21600/h;L.visibility="hidden";if(f&&h){b.coordsize=A(Q)+" "+A(J);L.rotation=t*(0>f*h?-1:1);t&&(a=U(t,g,a),g=a.dx,a=a.dy);0>f&&(c+="x");0>h&&(c+=" y")&&(d=-1);L.flip=c;b.coordorigin=g*-Q+" "+a*-J;if(Z||u.fillsize)if(g=(g=b.getElementsByTagName("fill"))&&g[0])b.removeChild(g),Z&&(a=U(t,w.x(Z[0],Z[1]),w.y(Z[0],Z[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);L.visibility="visible"}};a._url="";a.toString=function(){return"Your browser doesnt support SVG. Falling down to VML.\nYou are running Raphaël "+
this.version};var k=function(f,h,g){h=b(h).toLowerCase().split("-");g=g?"end":"start";for(var a=h.length,t="classic",u="medium",w="medium";a--;)switch(h[a]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":t=h[a];break;case "wide":case "narrow":w=h[a];break;case "long":case "short":u=h[a]}f=f.node.getElementsByTagName("stroke")[0];f[g+"arrow"]=t;f[g+"arrowlength"]=u;f[g+"arrowwidth"]=w},B=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])},La=a._setFillAndStroke=function(h,w){if(h.paper.canvas){h.attrs=h.attrs||{};var A=h.node,L=h.attrs,d=A.style,c=l[h.type]&&(w.x!=L.x||w.y!=L.y||w.width!=L.width||w.height!=L.height||w.cx!=L.cx||w.cy!=L.cy||w.rx!=L.rx||w.ry!=L.ry||w.r!=L.r),Q=e[h.type]&&(L.cx!=w.cx||L.cy!=w.cy||L.r!=w.r||L.rx!=w.rx||L.ry!=w.ry),J="group"===h.type,U;for(U in w)w.hasOwnProperty(U)&&(L[U]=w[U]);c&&(L.path=a._getPath[h.type](h),h._.dirty=1);w.href&&(A.href=w.href);w.title&&(A.title=w.title);w.target&&(A.target=w.target);
w.cursor&&(d.cursor=w.cursor);"blur"in w&&h.blur(w.blur);if(w.path&&"path"==h.type||c)A.path=oa(~b(L.path).toLowerCase().indexOf("r")?a._pathToAbsolute(L.path):L.path),"image"==h.type&&(h._.fillpos=[L.x,L.y],h._.fillsize=[L.width,L.height],Ea(h,1,1,0,0,0));"transform"in w&&h.transform(w.transform);"rotation"in w&&(d=w.rotation,a.is(d,"array")?h.rotate.apply(h,d):h.rotate(d));"visibility"in w&&("hidden"===w.visibility?h.hide():h.show());Q&&(d=+L.cx,Q=+L.cy,c=+L.rx||+L.r||0,U=+L.ry||+L.r||0,A.path=
a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",g(21600*(d-c)),g(21600*(Q-U)),g(21600*(d+c)),g(21600*(Q+U)),g(21600*d)));"clip-rect"in w&&(d=b(w["clip-rect"]).split(Z),4==d.length&&(d[0]=+d[0],d[1]=+d[1],d[2]=+d[2]+d[0],d[3]=+d[3]+d[1],c=J?A:A.clipRect||a._g.doc.createElement("div"),Q=c.style,J?(h.clip=d.slice(),c=h.matrix.offset(),c=[f(c[0]),f(c[1])],d[0]-=c[0],d[1]-=c[1],d[2]-=c[0],d[3]-=c[1],Q.width="1px",Q.height="1px"):A.clipRect||(Q.top="0",Q.left="0",Q.width=h.paper.width+"px",Q.height=h.paper.height+
"px",A.parentNode.insertBefore(c,A),c.appendChild(A),c.raphael=!0,c.raphaelid=A.raphaelid,A.clipRect=c),Q.position="absolute",Q.clip=a.format("rect({1}px {2}px {3}px {0}px)",d)),w["clip-rect"]||(J&&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&&(J=h.textpath.style,w.font&&(J.font=w.font),w["font-family"]&&(J.fontFamily='"'+w["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),w["font-size"]&&
(J.fontSize=w["font-size"]),w["font-weight"]&&(J.fontWeight=w["font-weight"]),w["font-style"]&&(J.fontStyle=w["font-style"]));"arrow-start"in w&&k(h,w["arrow-start"]);"arrow-end"in w&&k(h,w["arrow-end"],1);if(null!=w.opacity||null!=w["stroke-width"]||null!=w.fill||null!=w.src||null!=w.stroke||null!=w["stroke-width"]||null!=w["stroke-opacity"]||null!=w["fill-opacity"]||null!=w["stroke-dasharray"]||null!=w["stroke-miterlimit"]||null!=w["stroke-linejoin"]||null!=w["stroke-linecap"]){J=A.getElementsByTagName("fill");
d=-1;J=J&&J[0];!J&&(J=S("fill"));"image"==h.type&&w.src&&(J.src=w.src);w.fill&&(J.on=!0);if(null==J.on||"none"==w.fill||null===w.fill)J.on=!1;J.on&&w.fill&&((Q=b(w.fill).match(a._ISURL))?(J.parentNode==A&&A.removeChild(J),J.rotate=!0,J.src=Q[1],J.type="tile",c=h.getBBox(1),J.position=c.x+" "+c.y,h._.fillpos=[c.x,c.y],a._preload(Q[1],function(){h._.fillsize=[this.offsetWidth,this.offsetHeight]})):(Q=a.getRGB(w.fill),J.color=Q.hex,J.src="",J.type="solid",Q.error&&(h.type in{circle:1,ellipse:1}||"r"!=
b(w.fill).charAt())&&K(h,w.fill,J)?(L.fill="none",L.gradient=w.fill,J.rotate=!1):"opacity"in Q&&!("fill-opacity"in w)&&(d=Q.opacity)));if(-1!==d||"fill-opacity"in w||"opacity"in w)Q=((+L["fill-opacity"]+1||2)-1)*((+L.opacity+1||2)-1)*((+d+1||2)-1),Q=u(t(Q,0),1),J.opacity=Q,J.src&&(J.color="none");A.appendChild(J);J=A.getElementsByTagName("stroke")&&A.getElementsByTagName("stroke")[0];d=!1;!J&&(d=J=S("stroke"));if(w.stroke&&"none"!=w.stroke||w["stroke-width"]||null!=w["stroke-opacity"]||w["stroke-dasharray"]||
w["stroke-miterlimit"]||w["stroke-linejoin"]||w["stroke-linecap"])J.on=!0;"none"!=w.stroke&&null!==w.stroke&&null!=J.on&&0!=w.stroke&&0!=w["stroke-width"]||(J.on=!1);Q=a.getRGB("stroke"in w?w.stroke:L.stroke);J.on&&w.stroke&&(J.color=Q.hex);Q=((+L["stroke-opacity"]+1||2)-1)*((+L.opacity+1||2)-1)*((+Q.opacity+1||2)-1);c=.75*(f(w["stroke-width"])||1);Q=u(t(Q,0),1);null==w["stroke-width"]&&(c=L["stroke-width"]);w["stroke-width"]&&(J.weight=c);c&&1>c&&(Q*=c)&&(J.weight=1);J.opacity=Q;w["stroke-linejoin"]&&
(J.joinstyle=w["stroke-linejoin"])||d&&(d.joinstyle="miter");J.miterlimit=w["stroke-miterlimit"]||8;w["stroke-linecap"]&&(J.endcap="butt"==w["stroke-linecap"]?"flat":"square"==w["stroke-linecap"]?"square":"round");w["stroke-dasharray"]&&(Q={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},J.dashstyle=Q.hasOwnProperty(w["stroke-dasharray"])?Q[w["stroke-dasharray"]]:w["stroke-dasharray"].join&&
w["stroke-dasharray"].join(" ")||"");d&&A.appendChild(J)}if("text"==h.type){h.paper.canvas.style.display="";A=h.paper.span;J=L.font&&L.font.match(/\d+(?:\.\d*)?(?=px)/);Q=L["line-height"]&&(L["line-height"]+"").match(/\d+(?:\.\d*)?(?=px)/);d=A.style;L.font&&(d.font=L.font);L["font-family"]&&(d.fontFamily=L["font-family"]);L["font-weight"]&&(d.fontWeight=L["font-weight"]);L["font-style"]&&(d.fontStyle=L["font-style"]);J=f(L["font-size"]||J&&J[0])||10;d.fontSize=100*J+"px";Q=f(L["line-height"]||Q&&
Q[0])||12;L["line-height"]&&(d.lineHeight=100*Q+"px");a.is(w.text,"array")&&(w.text=h.textpath.string=w.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=L.w=(A.right-A.left)/100;h.H=L.h=(A.bottom-A.top)/100;h.X=L.x;h.Y=L.y;switch(L["vertical-align"]){case "top":h.bby=h.H/2;break;case "bottom":h.bby=-h.H/2;break;default:h.bby=0}("x"in w||"y"in w||void 0!==
h.bby)&&(h.path.v=a.format("m{0},{1}l{2},{1}",g(21600*L.x),g(21600*(L.y+(h.bby||0))),g(21600*L.x)+1));A="x y text font font-family font-weight font-style font-size line-height".split(" ");J=0;for(d=A.length;J<d;J++)if(A[J]in w){h._.dirty=1;break}switch(L["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}}},fa=a._updateFollowers=function(){var b,f,h,g=arguments,a=Y.call(g),t=Y.call(g);b=0;for(f=a.followers.length;b<f;b++)h=a.followers[b].el,h[t].apply(h,g)},K=function(h,g,t){h.attrs=h.attrs||{};var u=Math.pow,A="linear",Z=".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=w(.25-u(g-.5,2))*(2*(.5<a)-1)+.5),Z=g+" "+a);return""});g=g.split(/\s*\-\s*/);if("linear"==A){var L=g.shift(),
L=-f(L);if(isNaN(L))return null}g=a._parseDots(g);if(!g)return null;h=h.shape||h.node;if(g.length){t.parentNode==h&&h.removeChild(t);t.on=!0;t.method="none";t.color=g[0].color;t.color2=g[g.length-1].color;for(var d=[],c=1,Q=void 0===g[0].opacity?1:g[0].opacity,J=0,l=g.length;J<l;J++)g[J].offset&&d.push(g[J].offset+" "+g[J].color),void 0!==g[J].opacity&&(c=g[J].opacity);t.colors=d.length?d.join():"0% "+t.color;t.opacity=c;t["o:opacity2"]=Q;"radial"==A?(t.type="gradientTitle",t.focus="100%",t.focussize=
"0 0",t.focusposition=Z,t.angle=0):(t.type="gradient",t.angle=(270-L)%360);h.appendChild(t)}return 1},T=function(b,f,h){h=h||f;var g;h.canvas&&h.canvas.appendChild(b);g=S("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;T.prototype=h;h.constructor=T;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]:"",t;h&&(t=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("-"),w=!b(this.attrs.fill).indexOf("url(");
h.translate(-.5,-.5);w||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),w=h.x2&&g.x2&&"x2"||"x",u=h.y2&&g.y2&&"y2"||"y",w=h[w]-g[w],h=h[u]-g[u],f.coordorigin=-21600*w+" "+-21600*h,Ea(this,1,1,w,h,0)):(f.style.filter="",Ea(this,u.scalex,u.scaley,u.dx,u.dy,u.rotate))):(f.style.filter="",u.matrix=b(h),u.offset=h.offset());t&&(this._.transform=t);return this};h.rotate=function(h,g,a){if(this.removed)return this;
fa(this,"rotate",h,g,a);if(null!=h){h=b(h).split(Z);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;fa(this,"translate",h,g);h=b(h).split(Z);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,t){if(this.removed)return this;fa(this,"scale",h,g,a,t);h=b(h).split(Z);h.length-1&&(g=f(h[1]),a=f(h[2]),t=f(h[3]),isNaN(a)&&(a=null),isNaN(t)&&(t=null));h=f(h[0]);null==g&&(g=h);null==t&&(a=t);if(null==a||null==t)var u=this.getBBox(1);a=null==a?u.x+u.width/2:a;t=null==t?u.y+u.height/2:t;this.transform(this._.transform.concat([["s",h,g,a,t]]));this._.dirtyT=1;return this};h.hide=function(b){fa(this,"hide",b);!this.removed&&(this.node.style.display="none");
return this};h.show=function(b){fa(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);L.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(Z),t={},u=0;for(g=h.length;u<g;u++)b=h[u],b in this.attrs?t[b]=this.attrs[b]:a.is(this.ca[b],"function")?t[b]=this.ca[b].def:t[b]=a._availableAttrs[b];return g-1?t:t[h[0]]}if(this.attrs&&
null==f&&a.is(b,"array")){t={};u=0;for(g=b.length;u<g;u++)t[b[u]]=this.attr(b[u]);return t}null!=f&&(h={},h[b]=f);null==f&&a.is(b,"object")&&(h=b);if(!1!==a.stopEvent)for(u in h)L("raphael.attr."+u+"."+this.id,this,h[u],u);if(h){var w={};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(t in g)g.hasOwnProperty(t)&&(h[t]=g[t]);this.attrs[u]=h[u];
!1===g&&(w[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"));La(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(t in w)h[t]=w[t]}return this};h.blur=function(b){var f=this.node.runtimeStyle,h=f.filter,h=h.replace(Q,"");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"),t=new T(g,b,h);g.style.cssText=
"position:absolute;left:0;top:0;width:1px;height:1px";t._id=f||"";f&&(g.className="raphael-group-"+t.id+"-"+f);(h||b).canvas.appendChild(g);t.type="group";t.canvas=t.node;t.transform=a._engine.group.transform;t.top=null;t.bottom=null;return t};a._engine.group.transform=function(h){if(null==h)return this._.transform;var g=this.node.style,t=this.clip,u=this.paper._viewBoxShift,w=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,
w+h);h=this.matrix;w=h.offset();u=f(w[0])||0;w=f(w[1])||0;g.left=u+"px";g.top=w+"px";g.zoom=(this._.tzoom=h.get(0))+"";t&&(g.clip=a.format("rect({1}px {2}px {3}px {0}px)",[t[0]-u,t[1]-w,t[2]-u,t[3]-w]));return this};a._engine.path=function(b,f,h){var g=S("shape");g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";g.coordsize="21600 21600";g.coordorigin=b.coordorigin;b=new T(g,b,h);b.type=f.type||"path";b.path=[];b.Path="";f.type&&delete f.type;La(b,f);B(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,t=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;t.parentNode==g&&g.removeChild(t);t.rotate=!0;t.src=h.src;t.type="tile";b._.fillpos=[h.x,h.y];b._.fillsize=[h.w,h.h];g.appendChild(t);Ea(b,1,1,0,0,0);return b};a._engine.text=function(f,h,t){var u=S("shape"),w=S("path"),A=S("textpath");x=h.x||0;y=h.y||0;text=h.text;w.v=a.format("m{0},{1}l{2},{1}",g(21600*h.x),g(21600*h.y),g(21600*h.x)+1);w.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 T(u,f,t);f.shape=u;f.path=w;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;La(f,h);B(f,h);u.appendChild(A);u.appendChild(w);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){L("raphael.setViewBox",this,this._viewBox,[b,f,h,g,a]);var u=this.width,w=this.height,A=1/t(h/u,g/w),Z,d;a&&(Z=w/g,d=u/h,h*Z<u&&(b-=(u-h*Z)/2/Z),g*d<w&&(f-=(w-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 S;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"),S=a._createNode=function(f,g){var a=h.createElement("<rvml:"+f+' class="rvml">'),t;for(t in g)a[t]=b(g[t]);return a}}catch(g){S=a._createNode=function(f,g){var a=h.createElement("<"+f+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'),t;for(t in g)a[t]=b(g[t]);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,t=b.x,b=b.y;if(!f)throw Error("VML container not found.");var u=new a._Paper,w=u.canvas=a._g.doc.createElement("div"),A=w.style,t=t||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";w.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;";
w.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(w),A.left=t+"px",A.top=b+"px",A.position="absolute"):f.firstChild?f.insertBefore(w,f.firstChild):f.appendChild(w);u.renderfix=function(){};return u};a.prototype.clear=function(){var b;for(L("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(L("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 Pa=a.st,R;for(R in h)h.hasOwnProperty(R)&&!Pa.hasOwnProperty(R)&&(Pa[R]=function(b){return function(){var f=
arguments;return this.forEach(function(h){h[b].apply(h,f)})}}(R))}})();V?O.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,v=k.fn,e=k.el,a=/[, ]+/,M=/\B([A-Z]{1})/g,H,I;H=function(a){this.styleSheet="";this.rules={};this.ns=a||""};I=H.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,r;for(a=a||this.ns;m--;)r=k[m],(new RegExp(a)).test(r.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,r="",c=this.rules[a]||(this.rules[a]={}),p=k?"":"\t";k=k?":":": ";for(m in e)(c[m]=
e[m])&&(r+=p+m.replace(M,"-$1").toLowerCase()+k+c[m]+";");this.applyCSSRule(a,r)};I.render=function(){this.setCssText()};I.setCssText=function(a){var e=a?"":"\t";a=a?":":": ";var k="",m="",r,c;for(r in this.rules){k="";m=r.replace(/(^|\,)/g,"$1"+this.ns+" ");r=this.rules[r];for(c in r)r[c]&&(k+=e+c.replace(M,"-$1").toLowerCase()+a+r[c]+";");this.applyCSSRule(m,k)}};m.on("raphael.new",function(){this._stylesheet=this._stylesheet||new H;this.cssNamespace("")});m.on("raphael.remove",function(){this._stylesheet&&
this._stylesheet.destroy();delete this._stylesheet});v.cssNamespace=function(a){arguments.length&&(this._stylesheet.ns=k.format("{0}#raphael-paper-{1}",a&&a+" "||"",this.id));return this._stylesheet.ns};v.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};v.cssRender=function(){return k.svg&&this._stylesheet.render(),this};v.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,r=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(;r&&r.attr;){if(a=r.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]);r=r.parent}this.css(p)}};e.css=function(e,s){var v,q,r,c;if(this.removed)return this;this.styles||(this.styles={});if(null==s&&k.is(e,"string")){v=e.split(a);q={};c=0;for(r=v.length;c<r;c++)e=v[c],e in this.styles&&(q[e]=this.styles[e]);return r-1?q:q[v[0]]}if(null==s&&k.is(e,"array")){q={};c=0;for(r=e.length;c<r;c++)q[e[c]]=this.styles(e[c]);return q}null!=s?(v={},v[e]=s):null!=e&&k.is(e,"object")&&(v=e);q={};for(c in v)r=c.replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),
k._availableAttrs.hasOwnProperty(r)||"color"===r?("color"===r&&"text"===this.type&&(r="fill"),q[r]=v[c],q.dirty=!0):(m("raphael.css."+r+"."+this.id,this,v[c],r),this.node.style[r]=v[c],this.styles[r]=v[c]);c=0;for(r=this.followers.length;c<r;c++)this.followers[c].el.attr(v);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,v=k.pluck,e=m._availableAttrs,a=/^matrix\(|\)$/g,M=/\,/g,H=/\n|<br\s*?\/?>/ig,I=/[^\d\.]/ig,n=/[\%\(\)\s,\xb0#]/g,s=/group/ig,G=/&/g,q=/"/g,r=/'/g,c=/</g,p=/>/g,d=0;(function(k){var m=Math,l=parseFloat,z=m.max,N=m.abs,F=m.pow,Y=String,E=/[, ]+/,O=[{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()}}],V={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,r,E,T=.5,ta=.5,za=r="",ea="",s,$,v,V;q=e.replace(n,"_");if(!c[q]){e=Y(e).replace(k._radial_gradient,function(a,d){var c,e,k,z,n,ea,q;d=d&&d.split(",")||[];p="radial";c=d[0];e=d[1];k=d[2];z=d[3];n=d[4];V=d[5];q=c&&e;k&&(v=/\%/.test(k)?k:l(k));if("userSpaceOnUse"===
V)return q&&(T=c,ta=e),z&&n&&(s=z,$=n,q||(T=s,ta=$)),"";q&&(T=l(c),ta=l(e),c=2*(.5<ta)-1,.25<(ea=F(T-.5,2))+F(ta-.5,2)&&.25>ea&&(ta=m.sqrt(.25-ea)*c+.5)&&.5!==ta&&(ta=ta.toFixed(5)-1E-5*c));z&&n&&(s=l(z),$=l(n),c=2*(.5<$)-1,.25<(ea=F(s-.5,2))+F($-.5,2)&&.25>ea&&($=m.sqrt(.25-ea)*c+.5)&&.5!==$&&($=$.toFixed(5)-1E-5*c),q||(T=s,ta=$));return""});e=e.split(/\s*\-\s*/);if("linear"===p){r=e.shift();r=-l(r);if(isNaN(r))return null;E=[0,0,m.cos(k.rad(r)),m.sin(k.rad(r))];r=1/(z(N(E[2]),N(E[3]))||1);E[2]*=
r;E[3]*=r;0>E[2]&&(E[0]=-E[2],E[2]=0);0>E[3]&&(E[1]=-E[3],E[3]=0)}e=k._parseDots(e);if(!e)return null;"radial"===p?(r='<radialGradient fx = "'+T+'" fy = "'+ta+'" cy = "'+$+'" cx = "'+s+'" r = "'+v+'" gradientUnits = "'+V+'" id = "'+q+'">',za="</radialGradient>"):(r='<linearGradient x1 = "'+E[0]+'" y1 = "'+E[1]+'" x2 = "'+E[2]+'" y2 = "'+E[3]+'" gradientTransform ="matrix('+a.matrix.invert()+')" id = "'+q+'">',za="</linearGradient>");a=0;for(E=e.length;a<E;a++)ea+='<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+=r+ea+za}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=Y(e.attrs["clip-rect"]),z=k.split(E),k=k.replace(n,"_")+"__"+d++;4===z.length&&(l[k]||(l[k]=!0,l.str+='<clipPath id="'+k+'"><rect x="'+z[0]+'" y="'+z[1]+'" width="'+z[2]+'" height="'+z[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=v(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=v(e["font-size"],e.font,"10"),z=v(e["line-height"]),m,F,T;k&&k.replace&&(k=k.replace(I,""));k=C(k);z&&z.replace&&(z=z.replace(I,""));z=C(z,k&&1.2*k);m=k?.85*k:.75*z;k=e.x;F=v(e["vertical-align"],"middle").toLowerCase();l=Y(l).split(H);T=l.length;e=0;for(m="top"===F?m:"bottom"===F?m-z*T:m-z*T*.5;e<T;e++)d.textSTR+="<tspan ",
F=(l[e]||"").replace(G,"&amp;").replace(q,"&quot;").replace(r,"&#39;").replace(c,"&lt;").replace(p,"&gt;"),d.textSTR=e?d.textSTR+('dy="'+z+'" x="'+k+'" '):d.textSTR+('dy="'+m+'"'),d.textSTR+=">"+F+"</tspan>"}},ba=function(d,c){var l="",k={attrSTR:"",styleSTR:"",textSTR:"",attrs:d.attr()},z=d.isShadow,p="",m="",F,T,n=k.attrs;if("none"===d.node.style.display||z)d.next&&(l+=ba(d.next,c));else{for(F in n)if("gradient"!==F&&(void 0!==e[F]||V[F])&&void 0!==n[F])if(V[F])V[F](d,k,c);else k.attrSTR+=" "+F+
'="'+n[F]+'"';d.attrs.gradient&&V.gradient(d,k,c);"rect"===d.type&&n.r&&(k.attrSTR+=' rx="'+n.r+'" ry="'+n.r+'"');for(T in d.styles)k.styleSTR+=T+":"+d.styles[T]+"; ";"image"===d.type&&(k.attrSTR+=' preserveAspectRatio="none"');if("text"===d.type&&!n["text-anchor"])V["text-anchor"](d,k);d.bottom&&(p=ba(d.bottom,c));d.next&&(m=ba(d.next,c));z=d.type;z.match(s)&&(z="g");l+="<"+z+' transform="matrix('+d.matrix.toMatrixString().replace(a,"")+')" style="'+k.styleSTR+'"'+k.attrSTR+">"+k.textSTR+p+"</"+
z+">"+m}return l},ha=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,"")},aa=function(a,d){var c,e,l,k,z,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(z in e=/\s+/,e=c.split(e),
l=ha(d[c]),e)e.hasOwnProperty(z)&&(k=e[z].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=O.length,z="";if(k.svg){if(this.canvas&&this.canvas.parentNode){for(d=this.canvas.parentNode.innerHTML;e<l;e+=1)c=O[e],d=d.replace(c.reg,c.repStr);this._stylesheet&&this._stylesheet.rules&&(d=aa(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&&(z=ba(this.bottom,c)),d+="<defs>"+c.str+"</defs>"+z+"</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,v=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,H;e.svg?(k&&(e.el.dropshadow=function(a,k,s,v){var q=this.node,r=this._.shadowFilter,c=this.paper.cacheShadows||(this.paper.cacheShadows={}),p="drop-shadow"+[a,k,s,v].join(" "),d;if("none"===a){if(r){--r.use;this.node.removeAttribute("filter");if(!r.use){p=r.hash;for(d in r)a=r[d],a.parentNode&&a.parentNode.removeChild(a),delete r[d];delete c[p]}delete this._.shadowFilter}}else r&&c[p]===r||(r=this.paper.defs.appendChild(M("filter",{id:e.getElementID(e.createUUID()),
width:"200%",height:"200%"})),v=e.color(v),v.error&&(v=e.color("rgba(0,0,0,1)")),d=e.pick(v.opacity,1),this._.shadowFilter=c[p]={use:1,filter:r,hash:p,offset:r.appendChild(M("feOffset",{result:"offOut","in":"SourceGraphic",dx:C(a),dy:C(k)})),matrix:r.appendChild(M("feColorMatrix",{result:"matrixOut","in":"offOut",type:"matrix",values:"0 0 0 0 "+v.r/255+" 0 0 0 0 "+v.g/255+" 0 0 0 0 "+v.b/255+" 0 0 0 "+d+" 0"})),blur:r.appendChild(M("feGaussianBlur",{result:"blurOut","in":"matrixOut",stdDeviation:m(C(s))})),
blend:r.appendChild(M("feComposite",{"in":"SourceGraphic",in2:"blurOut",operator:"over"}))},q.setAttribute("filter",'url("'+e._url+"#"+r.id+'")'));return this}),H=function(e,k){var m=this.__shadowscale,v={},q,r;for(r in e)switch(a[r]&&(v[r]=e[r],delete e[r]),r){case "transform":q=k.matrix.clone();q.translate(this.__shadowx,this.__shadowy);this.transform(q.toTransformString());break;case "stroke-width":e[r]=((v[r]||1)+6-2*this.__shadowlevel)*m}this.attr(e);for(r in v)e[r]=v[r]},e.ca["drop-shadow"]=
function(a,k,m,C,q,r){m=this._.shadows||(this._.shadows=[]);var c,p,d,D,P;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=v(this.attr("stroke-width")||1,10)+6,D=this.matrix.clone(),D.translate(a,k),P=1;3>=P;P++)p=(m[P-1]||this.clone().follow(this,H,!r&&"before")).attr({stroke:C.hex,"stroke-opacity":c*
P,"stroke-width":(d-2*P)*q,transform:D.toTransformString(),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none"}),p.__shadowlevel=P,p.__shadowscale=q,p.__shadowx=a,p.__shadowy=k,r&&r.appendChild(p),m.push(p);return!1},e.el.shadow=function(a,k,m,v){var q;m&&m.constructor===e.el.constructor&&(v=m,m=void 0);"object"===typeof a&&(k&&k.constructor===e.el.constructor&&(v=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,v]:"none")}):e.vml?(e.ca["drop-shadow"]=function(a,k,m,v,q,r){var c=this._.shadow,p,d;if(this.isShadow)return!1;"none"===a?c&&(this._.shadow=c.remove()):(c||(c=this._.shadow=this.clone(),r&&r.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)),r=c.node.runtimeStyle,p=r.filter.replace(/ progid:\S+Blur\([^\)]+\)/g,""),v=e.color(v),v.error&&(v=e.color("rgba(0,0,0,1)")),d=e.pick(v.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),r.filter=p+" progid:DXImageTransform.Microsoft.Blur(pixelRadius="+C(.4*m)+" makeShadow=True Color="+v.hex+' shadowOpacity="'+d+'");');return!1},e.el.shadow=function(a,k,m,v){m&&m.constructor===e.el.constructor&&(v=m,m=void 0);"object"===
typeof a&&(k&&"group"===k.type&&(v=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,v]:"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,v=k.Math,e=v.cos,a=v.sin,M=v.abs,H=v.pow,I=v.atan2,n=v.tan,s=v.acos,G=v.min,q=v.round,r=v.PI,c=v.sqrt,p=2*r,d=k.parseInt,D=k.parseFloat,P=String,l=Array.prototype.slice,z=H(2,-24),N="rgba(192,192,192,"+(C?.002:1E-6)+")",F=this.hcLib.Raphael,Y=F.eve,E=F._createNode,O=F._setFillAndStroke,V=F.el.constructor,ba={speed:"optimizeSpeed",
crisp:"crispEdges",precision:"geometricPrecision"},ha={enabled:!1,"false":!1,0:!1,disabled:!0,"true":!0,1:!0},aa={Q:"L",Z:"X",q:"l",z:"x",",":" "},va=/,?([achlmqrstvxz]),?/gi,na=/\s*\,\s*/g,W,ca=function(){return this.join(",").replace(va,W)},ka,da,wa=F._cacher(function(a,d,e,l){return c(H(e-a,2)+H(l-d,2))}),pa=F._cacher(function(a,d,c,e,l){var k=c-a,z=e-d;c=wa(a,d,c,e);return{x:a+k/c*l,y:d+z/c*l}});if(F.svg)Y.on("raphael.attr.shape-rendering",function(a,d){var c=this.node;this.attrs[d]=a=ba[a]||
a||"auto";c.setAttribute(d,a);c.style.shapeRendering=a});else if(F.vml)Y.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,z,m,p){var n,q,E;n=[];c=d(c,10)||0;l=D(l)||0;k=D(k)||0;z=D(z)||0;m=null===m||isNaN(m)?.5*r:F.rad(m);p=null===p||isNaN(p)?0:D(p);q=m;if(2<c)switch(m=2*r/c,p){case 0:for(p=0;p<c;p++)n.push("L",l+z*e(-q),k+
z*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+z*e(-q),k+z*a(-q)),q+=m;break;default:m*=.5;E=z*e(m)*(1-p);for(p=0;p<c;p++)n.push("L",l+z*e(-q),k+z*a(-q)),q+=m,n.push("L",l+E*e(-q),k+E*a(-q)),q+=m;n[0]="M";n.push("Z")}else 0===z?n.push("M",l,k,"L",l,k,"Z"):n.push("M",l-z,k,"A",z,z,0,0,0,l+z,k,"A",z,z,0,0,0,l-z,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,E,D,N,pa,v,s;this._.ringangle=.5*(m+F);M(q)<z?(E=e(m),q=a(m),l=["M",d+l*E,c+l*q,"L",d+k*E,c+k*q,"Z"]):(M(q)>z&&+(M(q)%p<z||p-M(q)%p<z)?(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]))):(E=e(m),q=a(m),D=e(F),F=a(F),n%=p,0>n&&(n+=p),n=n<r?0:1,N=d+l*E,v=c+l*q,pa=d+l*D,s=c+l*F,D=d+k*D,F=c+k*F,.01>M(N-pa)&&.01>M(v-s)&&(N=d+l*e(m+1.745329E-4),v=c+l*a(m+
1.745329E-4)),l=["M",N,v,"A",l,l,0,n,1,pa,s,"L",D,F],0!==k&&(E=d+k*E,q=c+k*q,.01>M(D-E)&&.01>M(F-q)&&(E=d+k*e(m+1.745329E-4),q=c+k*a(m+1.745329E-4)),l.push("A",k,k,0,n,0,E,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 z=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"]);z.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],z=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,z+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,z){var m=this.group("scroller",z),p=m.attrs,n=m._.scroller={};l=l&&"horizontal"||"vertical";var q,E={},r,N,pa;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);Y("raphael.scroll.start."+m.id,m,d)}).mouseup(n._mouseupTrack=function(){this.stop(q);Y("raphael.scroll.end."+this.id,this,p["scroll-position"])},m,!0);n.anchor=this.rect(m).drag(function(){E["scroll-position"]=r+arguments[N]/n.trackLength;m.animate(E,0)},function(a,d,c){N="horizontal"===p["scroll-orientation"]?0:1;Y("raphael.scroll.start."+m.id,m,r=p["scroll-position"]);c.stopPropagation()},function(){Y("raphael.scroll.end."+m.id,m,r=p["scroll-position"])});for(pa in F.fn.scroller.fn)m[pa]=
F.fn.scroller.fn[pa];for(pa in F.fn.scroller.ca)m.ca[pa]=F.fn.scroller.ca[pa];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":D(k.scrollRatio)||1,"scroll-position":D(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"],z=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")),Y("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupStart=function(){d.stop(m);Y("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")),Y("raphael.scroll.start."+d.id,d,a))}).mouseup(e._mouseupEnd=function(){d.stop(p);Y("raphael.scroll.end."+d.id,d,l["scroll-position"])},d,!0),l.fill&&d.attr("fill",l.fill)),z&&d.attr("scroll-repaint",z));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:D(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"],z=this._.scroller,m=z.anchor;a=1<a?1:0>a?0:D(a);isNaN(a)&&(a=k);l&&(k!==a||d)&&(k=z.start&&z.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"]&&(Y("raphael.scroll.change."+this.id,this,a),z.callback&&z.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,z=l["scroll-ratio"],m=l["scroll-position"],p=0,F=c*z,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*z,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,z=l["scroll-ratio"],m=l["scroll-position"],p=0,F=e*z,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*z,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"],z={stroke:"none"},p;m&&e&&3<(p=16-e[k&&3||2])&&(z.stroke=
N,z["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]+")";z.fill=l&&a||[90*k,F.tintshade(a,.15).rgba,a].join("-");z.stroke=F.tintshade(a,-.75).rgba;c.track.attr(z);z.fill=l&&F.tintshade(a,-.6).rgba||[270*k,F.tintshade(a,.3).rgba+":40",F.tintshade(a,-.7).rgba].join("-");z.stroke=F.tintshade(a,-.6).rgba;c.anchor.attr(z);z.stroke="none";"none"!==d["scroll-display-buttons"]&&(z.fill=N,c.start.attr(z),c.end.attr(z),
z.fill=F.tintshade(a,-.4).rgba,c.arrowstart.attr(z),c.arrowend.attr(z));return!1}}},{name:"button",button:function(a,d,c,e,l,k){k=this.group("button",k);var z;k._.button={bound:this.rect(k),tracker:this.rect(k).attr({fill:N,stroke:N,cursor:"pointer"}).data("compositeButton",k)};!F.is(l,"object")&&(l={});for(z in F.fn.button.fn)k[z]=F.fn.button.fn[z];for(z in F.fn.button.ca)k.ca[z]=F.fn.button.ca[z];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 z=this._.button;c=c||this;e=e||this;k=k||this;l&&(z.mousemove=function(){return l.apply(k,arguments)});z.hoverbackIn=function(){return a.apply(c,arguments)};z.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=ha[a];e=ha[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",N).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=P(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=P(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"}[P(a).toLowerCase()]||"none"}},"button-symbol-padding":function(a){return{"button-symbol-padding":D(a)}},"button-padding":function(a,d){return{"button-padding":[null==a&&(a=5)||D(a),null==d&&a||D(d)]}},"button-repaint":function(a,d,c,e,l){var k=this._.button,z=k.bound,m=k.label,
p=k.symbol,n=this.attrs,E=n["button-padding"],r=E[0],D=E[1],N,pa;void 0===a&&(a=0);void 0===d&&(d=0);if(void 0===c||void 0===e)N=m&&m.getBBox()||{width:0,height:0},void 0===c&&(c=2*r+N.width),void 0===e&&(e=2*D+N.height);z=F.crispBound(a,d,c,e,z.attr("stroke-width"));z.r=F.pick(l,q(.1*G(e,c)));a=z.x;d=z.y;c=z.width;e=z.height;m&&m.attr({x:a+c/2,y:d+e/2});if(p){!F.is(pa=n["button-symbol-padding"],"finite")&&(pa=.2*e);l=e-D;N=.5*l;switch(n["button-symbol-position"]+(m&&"+"||"-")){case "right+":a=a+
(c+(2*N+D))-N-r;d+=.5*e;m.attr("transform",["t",-(l+pa),0]);break;case "left+":a=a+r+N;d+=.5*e;m.attr("transform",["t",l+pa,0]);break;case "top+":a+=.5*c;d=d+E[1]+N;m.attr("transform",["t",0,l+pa]);break;case "bottom+":a+=.5*c;d=d+(e+(2*N+pa))-D-N;m.attr("transform",["t",0,-(l+pa)]);break;default:a+=.5*c,d+=.5*e}p.attr("symbol",[n["button-symbol"],a,d,N])}k.bound.attr(z);k.tracker.attr(z)},fill:function(a,d,c,e,l){var k=this._.button,z=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);z.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[wa(a[0],a[1],a[2],a[3]),wa(a[2],
a[3],a[4],a[5]),wa(a[4],a[5],a[0],a[1])]},enclosedAngles:function(){var a=this._sides;return[s((H(a[0],2)+H(a[2],2)-H(a[1],2))/(2*a[0]*a[2])),s((H(a[0],2)+H(a[1],2)-H(a[2],2))/(2*a[0]*a[1])),s((H(a[2],2)+H(a[1],2)-H(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,z,m,p,F){if(m||p||F){this._args=arguments;this._sides=this.sides();var q=this.enclosedAngles(),E;E=this.semiperimeter();E=c(E*(E-this._sides[0])*
(E-this._sides[1])*(E-this._sides[2]))/E;q=[G(m,E)/n(q[0]/2),G(p,E)/n(q[1]/2),G(F,E)/n(q[2]/2)];q=[pa(a,d,k,z,q[0]),pa(a,d,e,l,q[0]),pa(e,l,a,d,q[1]),pa(e,l,k,z,q[1]),pa(k,z,e,l,q[2]),pa(k,z,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,z,q[5].x,q[5].y,"L",q[0].x,q[0].y]})}else this.attr({path:["M",a,d,"L",e,l,k,z,"Z"]})}}}]);F.ca["text-bound"]=function(a,d,c,e,l,k){e=this.paper;var z=this._.textbound;if("text"===
this.type){if(!(d&&"none"!==d||a&&"none"!==a))return this._.textbound=z&&z.unfollow(this).remove(),!1;c&&F.is(c,"finite")||(c=0);l&&F.is(l,"finite")||(l=0);!z&&(z=this._.textbound=e.rect(0,0,0,0,this.group).follow(this,F.ca["text-bound"].reposition,"before"));z.attr({stroke:d,"stroke-width":c,fill:a,"shape-rendering":1===c&&"crisp"||"",r:l});k&&z.attr("stroke-dasharray",k);F.ca["text-bound"].reposition.call(z,this.attr(),this);return!1}};F.ca["text-bound"].reposition=function(a,d){var c={},e,l,k,
z,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=P(e&&e[3]||"0").split(na),e=D(l[0])||0,l=F.pick(D(l[1]),e),k=d.getBBox(),
z=k.width,m=k.height,isNaN(z)||(c.x=k.x-e,c.y=k.y-l,c.width=z+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?(W="$1",ka=function(a){a?"string"===typeof a?a=a.replace(va,W):a.toString=ca:a="M0,0";this.node.setAttribute("d",a.toString())},F._engine.litepath=function(a,d,c,e){a=E("path");(e||d).canvas.appendChild(a);d=new V(a,d,e);d.type="litepath";d.id=a.raphaelid=F._oid++;a.raphael=!0;O(d,{fill:"none",stroke:"#000"});return d},F._getPath.litepath=function(a){return F.parsePathString(a.node.getAttribute("d"))}):
F.vml&&(W=function(a,d){return aa[d]||d},da=function(){this._transform.apply(this,arguments);this._.bcoord&&(this.node.coordsize=this._.bcoord);return this},ka=function(a){a?"string"===typeof a?a=a.replace(va,W):a.toString=ca:a="M0,0";this.node.path=a;return this},F._engine.litepath=function(a,d,c,e){a=E("shape");var l=a.style,k=new V(a,d,e);l.cssText="position:absolute;left:0;top:0;width:21600px;height:21600px;";c=D(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=E("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===V&&(c=d,d=void 0);a&&a.constructor===V&&(c=a,a="");d=F._engine.litepath(a,this,d,c);
d.ca.litepath=ka;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,v=this.window,e=v.document,a=/msie/i.test(v.navigator.userAgent)&&!v.opera,M="VML"===m.type,H=k.hasTouch,I={cursor:"cursor"},n={x:"left",y:"top",strokeWidth:"borderThickness","stroke-width":"borderThickness",width:"width",height:"height"},s={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,r=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=r(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,z,q,F,r,E;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(z in c)d.setAttribute(z,c[z]);k=q}return k}for(m in c){z=c[m];if(I[m]){switch(m){case "cursor":"pointer"===z&&M&&(z="hand")}d.style[I[m]]=z;l=!0}else if(n[m])d.style[n[m]]=z+"px",l=!0;else if(s[m])d.style[s[m]]=z&&z.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none",l=!0;else if(/^visibility$/i.test(m))l="hidden"===z,d.style.display=l?"none":"",this.hidden=l,l=!0;else if(/^opacity$/i.test(m))d.style.opacity=z,a&&(l=100*Number(z),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=z.match(/<option\s?[\s\S]*?(\/>|><\/option>|>[\s\S]*?<\/option>)/ig);d.firstChild;)d.removeChild(d.firstChild);F=0;for(r=l.length;F<r;F+=1)q=l[F],E=e.createElement("option"),/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig.test(q)&&(E.value=q.replace(/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig,"$1").replace(/[\s\S]*value\s*\=\s*[\'\"]([\s\S]*)[\'\"]/,
"$1")),E.text=q.replace(/<option\s*[\s\S]*[\'\"]?\s*?[\/>|\>]([\s\S]*)<\/option>/ig,"$1 "),d.options.add(E)}else"input"!==d.nodeName.toLowerCase()&&void 0!==z&&(d.innerHTML=z||"");l=!0}else/^text$/i.test(m)?("input"!==d.nodeName.toLowerCase()&&(d.innerHTML="",void 0!==z&&d.appendChild(e.createTextNode(z))),l=!0):/^type$/i.test(m)&&a&&this.added&&(l=!0);l&&(k[m]=z,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=r("div"));a&&q.appendChild(a);q.innerHTML="";delete this.element;return null},on:M?function(a,d){this.element["on"+a]=function(){var a=v.event;a.target=a.srcElement;d(a)};return this}:function(a,d){var c=d;H&&"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={},z;d&&"type"in d&&(l.type=d.type,delete d.type);a=(new c(a,k,l)).css(e).attr(d);for(z in l)d[z]=l[z];return a}}]);
FusionCharts.register("module",["private","modules.renderer.js-raphaeltooltip",function(){var k=this,m=k.window,C=m.document,v=C.body||C.getElementsByTagName("body")[0],e=k.hcLib,a=e.Raphael,M=a.eve,H=e.createElement,I=e.addEvent,n=e.removeEvent,s=e.getPosition,G=e.hasTouch,q=e.getTouchEvent,r=m.Math,c=r.ceil,p=r.floor,d={},D=m.screen.availHeight,P=m.screen.availWidth,l={E:1,moz:1,webkit:1,o:1,ms:1},z={borderRadius:"borderRadius",boxShadow:"boxShadow"},N=/\-([a-z])/ig,F=function(a,d){return d.toUpperCase()},
Y=function(d){var c=E.forbiddenStyle,e,k,m;for(e in d)k=N.test(e)?e.replace(N,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 z)if(this[e])for(m in l)this[m+e]=this[e]},E=e.toolTip={elementId:"fusioncharts-tooltip-element",element:null,lastTarget:null,currentTarget:null,currentPaper:null,pointeroffset:12,prevented:!1,defaultStyle:e.extend2(Y.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:{}},O=function(a){!0===E._oobready?E._oobready=!1:(n(v,"touchstart",O),!E.hidden&&E.currentTarget&&(a=a.srcElement||a.target||d,a.raphael&&E.currentTarget.paper.getById(a.raphaelid)===E.currentTarget||E.hide()))};a.svg&&(E.defaultContainerStyle.pointerEvents="none",E.defaultStyle.borderRadius="0",
E.defaultStyle.boxShadow="none");a.vml&&(E.forbiddenStyle.borderRadius=!0,E.forbiddenStyle.boxShadow=!0,E.defaultStyle.filter="");E.setup=function(){var d=E.container,c=E.textElement,e=E.style,l=E.defaultContainerStyle,z=E.forbiddenStyle,m;d||(d=E.element=H("span"),(C.body||C.getElementsByTagName("body")[0]).appendChild(d),d.setAttribute("id",E.elementId),e=E.containerStyle=d.style,c=E.textElement=H("span"),d.appendChild(c),E.style=a.vml?c.runtimeStyle:c.style,E.style.overflow="hidden",E.style.display=
"block",E.hidden=!1,E.hide());for(m in l)!z[m]&&(e[m]=l[m]);E.scatted=!0;M.on("raphael.drag.start.*",function(){E.scatted&&(E.waitingScat=!0)});M.on("raphael.drag.move.*",function(){E.waitingScat&&(E.block(),E.waitingScat=!1)});M.on("raphael.drag.end.*",function(){E.waitingScat=!1;E.scatted&&E.unblock(!0)});M.on("raphael.remove",function(){if(E.currentPaper===this||E.currentTarget&&E.currentTarget.paper===this)E.hide(),E.currentTarget=E.currentPaper=null});k.addEventListener("LinkedChartInvoked",
function(a){E.currentPaper===a.sender.apiInstance.components.paper&&E.hide()});k.addEventListener("realTimeUpdateComplete",function(a){E.currentPaper===a.sender.apiInstance.components.paper&&E.hide()})};E.restyle=function(a){var d=E.style,c;for(c in a)d[c]=a[c]};E.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&&E.preventTooltip(),E.hiding&&(E.hiding=
clearTimeout(E.hiding)),E.currentPaper!==d&&(d.__tipCp=d.canvas&&s(d.canvas.parentNode,!0)||{},E.restyle(d.__tipStyle),E.currentPaper=d),E.lastTarget=E.currentTarget,E.currentTarget=c,(E.scatted=c.__tipScatted)&&E.unblock(!0),E.onredraw.call(this,a),a.__tipProcessed=!0,G&&(E._oobready=!0,I(v||(v=C.body||C.getElementsByTagName("body")[0]),"touchstart",O)))}};E.onredraw=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===E.currentTarget&&(a=q(a),E.x=p(a.pageX||
a.clientX+C.body.scrollLeft+C.documentElement.scrollLeft||0),E.y=p(a.pageY||a.clientY+C.body.scrollTop+C.documentElement.scrollTop||0),E.redraw()))};E.onhide=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===E.currentTarget&&(E.hiding=setTimeout(E.hide,200)))};E.redraw=function(){if(!E.prevented&&!E.blocked&&E.currentTarget&&E.currentTarget.__tipNeeded){var a=E.currentTarget,d=a.paper,e=E.textElement,l=E.containerStyle,k=E.style,z=a.__tipText,a=E.pointeroffset,
m=d.__tipCp,p=C.documentElement||C.body,F=p.scrollLeft,p=p.scrollTop,n=E.x,q=E.y,r,N=d.width,v=d.height,d=d.__tipConstrain;if(100>N||100>v)d=!1;E.hidden&&(E.containerStyle.top="-999em",E.show());z!==E.text&&(E.text=z,l.width=l.height="",e.innerHTML=z,k.whiteSpace="nowrap",r=c(k.pixelWidth||e.offsetWidth||0),z=c(k.pixelHeight||e.offsetHeight||0),(E.textWidthOverflow=n+r>m.left+N)?(r=N-2*a>r?l.width:N-2*a||0,l.width=r&&r+"px"||"",k.whiteSpace="normal"):l.width="",(E.textHeightOverflow=z>v)?(l.height=
(v||0)-2*a+"px",k.whiteSpace="normal"):l.height="");r=c(k.pixelWidth||e.offsetWidth||0);z=c(k.pixelHeight||e.offsetHeight||0);d?(E.textWidthOverflow?n=(n-r<m.left?m.left:n-r)-F:n+a+r>m.left-F+N-a&&(n=n-r-a),E.textHeightOverflow?q=m.top-p:q+a+z>m.top-p+v-a&&(q=q-z-1.5*a)):(F+P<n+a+r&&(n=n-r-a),p+D<q+a+z&&(q=q-z-1.5*a));l.left=(n+a||0)+"px";l.top=(q+a||0)+"px";E.hidden&&E.show()}};E.hide=function(){E.hiding&&(E.hiding=clearTimeout(E.hiding));E.containerStyle.display="none";E.hidden=!0;E.prevented=!1};
E.show=function(){E.blocked||(E.hiding&&(E.hiding=clearTimeout(E.hiding)),E.containerStyle.display="inline",E.hidden=!1)};E.preventTooltip=function(){E.prevented=!0};E.block=function(){E.blocked=!0;E.containerStyle.display="none"};E.unblock=function(a){E.blocked=!1;a&&(E.containerStyle.display=E.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 Y(d);this.__tipCp=this.canvas&&s(this.canvas.parentNode,!0)||{};this.__tipConstrain=Boolean(e);E.style&&E.restyle(this.__tipStyle);E.containerStyle&&E.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(E.onelement):(this.mouseover(E.onelement),this.mousemove(E.onredraw),this.mouseout(E.onhide)):G?this.untouchstart(E.onelement):(this.unmouseover(E.onelement),this.unmousemove(E.onredraw),
this.unmouseout(E.onhide));this.__tiptracking=a;return this};a.el.tooltip=function(d,c,e,l,k){E.setup();a.el.tooltip=function(a,d,c,e,l){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(E.currentTarget===this&&a!==E.text&&!E.hidden)E[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);E&&!isNaN(a)&&(E.defaultContainerStyle.zIndex=a,E.containerStyle&&(E.containerStyle.zIndex=a))}}]);
FusionCharts.register("module",["private","modules.renderer.js-smartlabel",function(){var k=this.hcLib,m=k.isIE,C=k.hasSVG,v=Math.max,e=this.window,a=/ HtmlUnit/.test(e.navigator.userAgent),M=e.document,H=/ AppleWebKit\//.test(e.navigator.userAgent),I=!!M.createElement("canvas").getContext,n=!(!I||!M.createElement("canvas").getContext("2d").measureText),s=/<br\/>/ig,G=[],e=function(){function e(a,d,c){if(!a||!a.length)return 0;var l=c.getWidthFunction(),k=0,z=0,z=l(a),m=z/a.length;c=d;k=Math.ceil(d/
m);if(z<d)return a.length-1;k>a.length&&(c=d-z,k=a.length);for(;0<c;)if(c=d-l(a.substr(0,k)),z=Math.floor(c/m))k+=z;else return k;for(;0>c;)if(c=d-l(a.substr(0,k)),z=Math.floor(c/m))k+=z;else break;return k}function r(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(O){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)O=!0;d.innerHTML="";for(l in D)d.style[l]=D[l];this.containerManager=new r(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},D={position:"absolute",top:"-9999em",whiteSpace:"nowrap",padding:"0px",width:"1px",height:"1px",overflow:"hidden"},P=H?0:4.5,l=0,z=/\b_SmartLabel\b/,N=/\b_SmartLabelBR\b/,F=/(<[^<\>]+?\>)|(&(?:[a-z]+|#[0-9]+);|.)/ig,Y=RegExp("\\<span[^\\>]+?_SmartLabel[^\\>]{0,}\\>(.*?)\\<\\/span\\>","ig"),E=/<[^>][^<]*[^>]+>/i,O=!1,V=0,ba=0,ha,aa,va;M.getElementsByClassName?(ha="getElementsByClassName",aa="_SmartLabel",va=!0):(ha="getElementsByTagName",
aa="span",va=!1);r.prototype={get:function(a){var d=this.containers,c=this.length,e=this.maxContainers,l,k="",z="",z=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,z)}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;O?(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-P)/3,c.textContent="...",e.ellipsesWidth=c.getBBox().width-P,c.textContent=".",e.dotWidth=c.getBBox().width-P):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}};r.prototype.constructor=
r;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-P;1>d&&(d=a.width);return d}:a?function(d){d=d&&d.split?d.split(s):G;for(var c=0,e=d.length,l=0,c=0;c<e;c+=1)l=v(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,r,D=0,s,ea,C,$=-1,G=p=-1;
r=this.container;var I=this.context,H=0;C=0;var ia,P,Ma;Ma=[];var ga=0,Ia=this.showNoEllipses?"":"...";ea=this.lineHeight;var Ga,H=[],$=n=-1;Ga=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;P=this.getWidthFunction();c===ea&&(c*=1.2);if(r){if(!O){r.innerHTML=a;m.oriTextWidth=p=r.offsetWidth;m.oriTextHeight=C=r.offsetHeight;if(C<=c&&p<=d)return m.width=m.oriTextWidth=p,m.height=m.oriTextHeight=C,m;if(ea>c)return m.text="",m.width=
m.oriTextWidth=0,m.height=m.oriTextHeight=0,m}a=Ga(a).replace(/(\s+)/g," ");p=E.test(a);ea=this.showNoEllipses?d:d-l;if(p){D=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>');r.innerHTML=a;ga=r[ha](aa);I=0;for(P=ga.length;I<P;I+=1)if(a=ga[I],va||z.test(a.className))Ga=a.innerHTML,""!==Ga&&(" "===Ga?$=H.length:"-"===Ga&&(n=H.length),H.push({spaceIdx:$,dashIdx:n,elem:a}),Ma.push(Ga));ga=0;n=H.length;
V=H[0].elem.offsetWidth;if(V>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;V>ea&&!this.showNoEllipses&&(ea=d-2*ba,ea>V?Ia="..":(ea=d-ba,ea>V?Ia=".":(ea=0,Ia="")));Ma=H[0].elem.offsetLeft;I=H[0].elem.offsetTop;if(k)for(;ga<n;ga+=1)a=H[ga].elem,P=a.offsetLeft-Ma+a.offsetWidth,P>ea&&(ia||(ia=ga),r.offsetWidth>d&&(s=ga,ga=n));else for(;ga<n;ga+=1)a=H[ga].elem,Ga=a.offsetHeight+(a.offsetTop-I),P=a.offsetLeft-Ma+a.offsetWidth,k=null,P>ea?(ia||(ia=ga),P>d&&(p=H[ga].spaceIdx,$=H[ga].dashIdx,
p>G?(H[p].elem.innerHTML="<br/>",G=p):$>G?(H[$].elem.innerHTML=$===ga?"<br/>-":"-<br/>",G=$):a.parentNode.insertBefore(k=M.createElement("br"),a),a.offsetHeight+a.offsetTop>c?(k?k.parentNode.removeChild(k):G===$?H[$].elem.innerHTML="-":H[p].elem.innerHTML=" ",s=ga,ga=n):ia=null)):Ga>c&&(s=ga,ga=n);if(s<n){m.isTruncated=!0;ia=ia?ia:s;for(ga=n-1;ga>=ia;--ga)a=H[ga].elem,a.parentNode.removeChild(a);for(;0<=ga;--ga)a=H[ga].elem,N.test(a.className)?a.parentNode.removeChild(a):ga=0}m.text=r.innerHTML.replace(Y,
"$1").replace(/\&amp\;/g,"&");m.isTruncated&&(m.text+=Ia,m.tooltext=D)}else{Ma=a.split("");n=Ma.length;r="";s=[];ia=Ma[0];this.cache[ia]?V=this.cache[ia].width:(V=P(ia),this.cache[ia]={width:V});if(ea>V)s=a.substr(0,e(a,ea,this)).split(""),ga=s.length;else{if(V>d)return m.text="",m.width=m.oriTextWidth=m.height=m.oriTextHeight=0,m;Ia&&(ea=d-2*ba,ea>V?Ia="..":(ea=d-ba,ea>V?Ia=".":(ea=0,Ia="")))}H=P(s.join(""));C=this.lineHeight;if(k){for(;ga<n;ga+=1)if(ia=s[ga]=Ma[ga],this.cache[ia]?V=this.cache[ia].width:
(V=P(ia),this.cache[ia]={width:V}),H+=V,H>ea&&(r||(r=s.slice(0,-1).join("")),H>d))return m.text=Ga(r)+Ia,m.tooltext=m.oriText,m.width=P(m.text),m.height=this.lineHeight,m;m.text=s.join("");m.width=H;m.height=this.lineHeight}else{for(;ga<n;ga+=1)if(ia=s[ga]=Ma[ga]," "!==ia||I||(ia="&nbsp;"),this.cache[ia]?V=this.cache[ia].width:(V=P(ia),this.cache[ia]={width:V}),H+=V,H>ea&&(r||(r=s.slice(0,-1).join("")),H>d)){p=a.substr(0,s.length).lastIndexOf(" ");$=a.substr(0,s.length).lastIndexOf("-");p>G?(H=P(s.slice(G+
1,p).join("")),s.splice(p,1,"<br/>"),G=p,k=p+1):$>G?($===s.length-1?(H=P(s.slice(G+1,p).join("")),s.splice($,1,"<br/>-")):(H=P(s.slice(G+1,p).join("")),s.splice($,1,"-<br/>")),G=$,k=$+1):(s.splice(s.length-1,1,"<br/>"+Ma[ga]),p=s.length-2,H=P(s.slice(G+1,p+1).join("")),G=p,k=ga);C+=this.lineHeight;if(C>c)return m.text=Ga(r)+Ia,m.tooltext=m.oriText,m.width=d,m.height=C-this.lineHeight,m;D=v(D,H);r=null;ia=e(a.substr(k),ea,this);H=P(a.substr(k,ia||1));s.length<k+ia&&(s=s.concat(a.substr(s.length,k+
ia-s.length).split("")),ga=s.length-1)}D=v(D,H);m.text=s.join("");m.width=D;m.height=C}return m}m.height=r.offsetHeight;m.width=r.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,ba=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(O){a=a.split(/(<br\s*\/*\>)/g);c=a.length;for(d.height=this.lineHeight*c;c--;)l=v(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,v=m.extend2,e=m.getValidValue,a=m.pluck,M=m.getFirstValue,H=Math.abs,I=Math.pow,n=Math.round,s=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(",")},r=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="",r="",s=q=0;if(isNaN(m))return"";if(1E15<m)return m.toExponential(l?1:14);q=0;s=a.length;-1!=a.indexOf(".")&&(p=a.substring(a.indexOf(".")+1,a.length),s=a.indexOf("."));0>m&&(n=!0,q=1);q=
a.substring(q,s);a=q.length;l=e.length-1;m=e[l];if(a<m)r=q;else for(;a>=m;)r=(a-m?c:"")+q.substr(a-m,m)+r,a-=m,m=0>=--l?e[0]:e[l],a<m&&(r=q.substring(a,0)+r);""!=p&&(r=r+d+p);!0===n&&(r="-"+r);return r}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=v({},m);(c=q[c])&&v(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,r,H,G,I,P,W,ca,ka,da,wa,pa,T,ta,za,ea,Oa,$;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(r=e(d.ticknumberscaleunit,d.numberscaleunit))r=r.split(",");if(H=e(d.ynumberscaleunit,d.numberscaleunit))H=H.split(",");e(d.numberscalevalue)&&(G=d.numberscalevalue.split(","));if(ka=e(d.snumberscalevalue,d.numberscalevalue))ka=ka.split(",");if(I=e(d.xnumberscalevalue,d.numberscalevalue))I=I.split(",");if(P=e(d.ticknumberscalevalue,d.numberscalevalue))P=P.split(",");if(W=e(d.ynumberscalevalue,d.numberscalevalue))W=W.split(",");if(e(d.thousandseparatorposition))for(ca=d.thousandseparatorposition.split(","),
da=ca.length,pa=m.thousandseparatorposition[0];da--;)wa=parseInt(ca[da],10),0>=wa&&(wa=pa),pa=ca[da]=wa;c||(c={});da=C(d.scalerecursively,0);wa=C(d.sscalerecursively,da);pa=C(d.xscalerecursively,da);T=C(d.maxscalerecursion,-1);ta=C(d.smaxscalerecursion,T);za=C(d.xmaxscalerecursion,T);ea=e(d.scaleseparator," ");Oa=e(d.sscaleseparator,ea);$=e(d.xscaleseparator,ea);T||(T=-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:T,scaleseparator:ea};e(ca.inthousandseparator)&&(this.baseConf._REGinthousandseparator=new RegExp(s(ca.inthousandseparator),"g"));e(ca.indecimalseparator)&&(this.baseConf._REGindecimalseparator=new RegExp(s(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:T,scaleseparator:ea};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:T,scaleseparator:ea};ka={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(ka,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:wa,maxscalerecursion:ta,
scaleseparator:Oa};n=v({},ka);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&&(ka.numberscalevalue&&ka.numberscalevalue.length)==(ka.numberscaleunit&&ka.numberscaleunit.length)||(ka.scalerecursively=wa=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(H,G.numberscaleunit),G.numberscalevalue=a(W,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));wa&&(ka.numberscalevalue.push(1),ka.numberscaleunit.unshift(ka.defaultnumberscale),n.numberscalevalue.push(1),n.numberscaleunit.unshift(n.defaultnumberscale));this.Y[0]={yAxisLabelConf:G,dataLabelConf:p};this.Y[1]={yAxisLabelConf:ka,dataLabelConf:n};this.paramLabels=p;this.param1=G;this.param2=ka;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:pa,maxscalerecursion:za,scaleseparator:$};this.paramLegend=v(v({},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=pa=0);pa&&(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(r,ca.numberscaleunit.concat()),numberscalevalue:a(P,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:T,scaleseparator:ea};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),r,s,v,G,I,P;c=C(c,this.Y.length);e(d.numberscaleunit)&&(r=d.numberscaleunit.split(","));e(d.numberscalevalue)&&(s=d.numberscalevalue.split(","));n||(n=-1);if(e(d.thousandseparatorposition))for(v=d.thousandseparatorposition.split(","),G=v.length,P=m.thousandseparatorposition[0];G--;)(I=
C(H(v[G])))?P=I:I=P,v[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(r,l.numberscaleunit).concat(),numberscalevalue:a(s,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(v,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?H(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(),r=e.getMinutes(),s=e.getSeconds(),e=e.getHours(),r=9<r?""+r:"0"+r,s=9<s?""+s:"0"+s,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,r));k.match(/ss/)&&(k=k.replace(/ss/ig,s));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,r,s,v;n=1==e.formatnumberscale?e.defaultnumberscale:"";v=(v=m.split(".")[1])?v.length:e.forcedecimals?"2":"";if(1==e.formatnumberscale){m=d;q=e.defaultnumberscale;d=e.numberscalevalue;n=e.numberscaleunit;var D=e.scalerecursively;r=e.forcenumberscale;s={};var G=q,H=0,I=[],P=[],M;r=C(r)||0;if(D){G=C(d[0])||1E3;for(H=0;H<d.length;H++)if(D=C(d[H])||1E3,Math.abs(Number(m))>=D&&H<d.length-1)M=m%D,m=(m-M)/D,0===H&&0!==M&&
""===n[H]&&r?(I.push(M/G),P.push(n[1]||"")):0!==M&&(1===H&&""===q&&r?(D=M+(I.length?I.pop():0),P.pop(),I.push(D)):I.push(M),P.push(n[H]));else{0===H&&""===q&&r?(m=Number(m)/G,I.push(m),P.push(n[1]||"")):(1===H&&""===q&&r?(D=m+(I.length?I.pop():0),P.pop(),I.push(D)):I.push(m),P.push(n[H]));break}I.reverse();P.reverse();s.value=I;s.scale=P}else{if(d.length===n.length)for(H=0;H<d.length;H++)if(D=C(d[H])||1E3,Math.abs(Number(m))>=D)G=n[H]||"",m=Number(m)/D;else{0===H&&""===q&&r&&(G=n[0]||"",m=Number(m)/
D);break}s.value=m;s.scale=G}q=s;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="",s=0;s<d;s++)n=0===s?l[s]:Math.abs(l[s]),r=n+"",s==d-1&&(r=c(n,a(e.decimalprecision,v),e.forcedecimals)),m=m+k(r,e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+q[s]+(s<d-1?e.scaleseparator:"");else for(m="",s=0;s<d;s++)m=m+(0===
s?l[s]:Math.abs(l[s])+"")+q[s]+(s<d-1?e.scaleseparator:"");m=(e.numberprefix||"")+m+(e.numbersuffix||"")}else 1==e.formatnumber&&(m=c(d,a(e.decimalprecision,v),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&&r(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&&r(d)||{};var s=this.jsVars.instanceAPI||{},l=s.numberFormatter,z;""===q(d)?l?z=l:(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},d=q(l),G[d]?z=G[d]:G[d]=z=new m.NumberFormatter(l,s)):(l=this.getChartData(k.dataFormats.JSON,!0),l=l.data||{},l=l.chart||{},l=v(v({},l),d),d=q(l),G[d]?z=G[d]:G[d]=z=new m.NumberFormatter(l,s));switch((e&&e.toLowerCase?e:"").toLowerCase()){case "yaxisvalues":a=z.yAxis(a,n);break;case "xaxisvalues":a=z.xAxis(a);
break;case "scale":a=z.scale(a);break;default:a=z.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,v=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}(),H;H=v({},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=H[d];c.start=
function(d){d=d||m.event;for(var e=n.onStart,l=n.end,k=[],q=[],z=e&&e.length||0;z--;)k.push(r(a,e[z],c,"onStart"));for(z=l&&l.length||0;z--;)q.push(r(a,l[z],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(r(a,l,c,"start"));return e},r=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,s,l){var z=this;d="string"===typeof d?d.split(" "):d;var v=d.length,F=[],G=function(a,d,c){F.push(function(){z.unlisten(a,d,c)})},E,O,V,M,ha;if(k.ownerDocument&&k.ownerDocument===C)for(;v--;)O=d[v],M=Boolean(H[O]),ha="function"===typeof m?m:m[v],V={handler:ha,elem:k,type:O,isGesture:M,gDef:M?H[O]:null,data:s,context:l,start:[],end:[],links:{prev:null,next:null}},V.closure=c(V),M?((E=e[O])||(E=e[O]=[]),E.push(V),q(k,O,V)):
((E=a[O])||(E=a[O]=[]),E.push(V),r(k,O,V)),G(k,O,ha);else for(;v--;)O=d[v],ha="function"===typeof m?m:m[v],V={handler:ha,elem:k,type:O,isGesture:M,data:s,context:l,start:[],end:[],links:{prev:null,next:null}},V.closure=c(V),(E=a[O])||(E=a[O]=[]),E.push(V),r(k,O,V),G(k,O,ha);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,r;if(Boolean(H[d]))for(q=(m=e[d])&&m.length||0;q--;){if(r=m[q],r.handler===k&&r.elem===c){var l=c,F=void 0,s=
void 0,v=void 0,F=void 0;if(F=H[d])for(F=F.start,v=F.length;v--;)(s=F[v])&&G(l,s,r.start);m.splice(q,1);l=!0}}else for(q=(m=a[d])&&m.length||0;q--;)r=m[q],r.handler===k&&r.elem===c&&(G(c,d,r.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:v(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:v(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,r,c,p,d,v,C){var l=e/40,z=n[d||"linear"](c-r,l),H=0,F,I,E=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||m.msRequestAnimationFrame||function(a){setTimeout(a,40)},O=function(d){var k;k=!1;d?(F||(F=d),I=d-F,d=Math.abs(r-c),k=(k=0>r-c?!1:!0)?Math.max(r-d/e*I,c)+C:Math.min(r+d/e*I,c)+C,a.style[p]=k,s&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),I<e?E(O):v&&v()):H<l?(k=z[H],a.style[p]=
r+k+C,s&&"opacity"===p&&(k=100*Number(k),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+k+")"),H+=1,setTimeout(O,40)):v&&v()};C=C||"";E(O)}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}},s=/msie/i.test(m.navigator.userAgent)&&!m.opera;a.danimate=v({animate:function(a,m,n,c,p){c={};var d={},s=function(){l+=1;l===v&&"function"===typeof p&&p()},v=0,l=0,z,
C;if(40>n){for(C in m)a.style[C]=m[C];p&&p()}else for(C in m)z=null,"x"===C?(z=C,C="left"):"y"===C&&(z=C,C="top"),I[C]&&(v+=1,c[C]=m[z||C],d[C]=e(a,C),z="object"===typeof I[C]&&I[C].suffix,k(a,n,d[C],c[C],C,"linear",s,z))}},{})})(k||m)}]);
FusionCharts.register("module",["private","modules.renderer.js-colormanager",function(){var k=this.hcLib,m=k.pluckNumber,C=k.graphics.getDarkColor,v=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),s=a.defaultPaletteOptions||{},G;n||(n={});for(G in s)n[G]=s[G];n=this.paletteOptions=n;s=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);s&&(this.paletteIndex=5,n.bgColor[5]=v(s,35)+","+v(s,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(s,80),n.canvasBorderAlpha[5]=100,n.showShadow[5]=1,n.divLineColor[5]=C(s,20),n.divLineAlpha[5]=40,n.altHGridColor[5]=v(s,20),n.altHGridAlpha[5]=15,n.altVGridColor[5]=v(s,80),n.altVGridAlpha[5]=10,n.anchorBgColor[5]="FFFFFF",n.toolTipBgColor[5]="FFFFFF",n.toolTipBorderColor[5]=C(s,80),n.baseFontColor[5]=s.split&&s.split(",")[0],n.borderColor[5]=C(s,60),n.borderAlpha[5]=50,n.legendBgColor[5]="FFFFFF",n.legendBorderColor[5]=C(s,
80),n.plotGradientColor[5]="FFFFFF",n.plotBorderColor[5]=C(s,85),n.plotFillColor[5]=C(s,85),n.bgColor3D[5]="FFFFFF",n.bgAlpha3D[5]="100",n.bgAngle3D[5]=90,n.bgRatio3D[5]="",n.canvasBgColor3D[5]=v(s,20),n.canvasBaseColor3D[5]=v(s,40),n.divLineColor3D[5]=C(s,20),n.divLineAlpha3D[5]=40,n.legendBgColor3D[5]="FFFFFF",n.legendBorderColor3D[5]=C(s,80),n.toolTipbgColor3D[5]="FFFFFF",n.toolTipBorderColor3D[5]=C(s,80),n.baseFontColor3D[5]=s.split&&s.split(",")[0],n.anchorBgColor3D[5]="FFFFFF",n.tickColor&&
(n.tickColor[5]=C(s,90)),n.trendDarkColor&&(n.trendDarkColor[5]=C(s,90)),n.trendLightColor&&(n.trendLightColor[5]=v(s,n.TrendLightShadeOffset)),n.msgLogColor&&(n.msgLogColor[5]=v(s,80)),n.dialColor&&(n.dialColor[5]=C(s,95)+",FFFFFF,"+C(s,95)),n.dialBorderColor&&(n.dialBorderColor[5]=C(s,95)+",FFFFFF,"+C(s,95)),n.pivotColor&&(n.pivotColor[5]=v(s,95)+",FFFFFF,"+v(s,95)),n.pivotBorderColor&&(n.pivotBorderColor[5]=C(s,95)+",FFFFFF,"+C(s,95)),n.pointerBorderColor&&(n.pointerBorderColor[5]=C(s,75)),n.pointerBgColor&&
(n.pointerBgColor[5]=C(s,75)),n.thmBorderColor&&(n.thmBorderColor[5]=C(s,90)),n.thmFillColor&&(n.thmFillColor[5]=v(s,55)),n.gaugeBorderColor&&(n.gaugeBorderColor[5]=C(s,90)),n.gaugeFillColor&&(n.gaugeFillColor[5]=v(s,55)),n.cylFillColor&&(n.cylFillColor[5]=v(s,55)),n.periodColor&&(n.periodColor[5]=v(s,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]=
v(s,30)),n.categoryBgColor&&(n.categoryBgColor[5]=v(s,10)),n.dataTableBgColor&&(n.dataTableBgColor[5]=v(s,10)),n.gridResizeBarColor&&(n.gridResizeBarColor[5]=C(s,90)),n.scrollBarColor&&(n.scrollBarColor[5]=v(s,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,r,c,p,d,D,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(","),r=Math.max(G.length,q.length,1),c=G[0],p=q[0],M=/[\{\}]/ig,l=0;l<r;l++)d=(G[l]||c).replace(M,""),D=q[l]||p,"color"==d?k.push(D):"light"==d.substr(0,5)?(m=d.indexOf("-"),m=-1==m?1:d.substr(m+1,d.length-m),m=100-m,k.push(v(D,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(D,
m))):k.push(d);return k},parseAlphaList:function(a,e){var k=a.split(","),s=[],v,q=100,r;for(r=0;r<e;r++)v=m(k[r]),void 0!==v&&null!==v&&(q=v),s[r]=q;return s.join()},parseRatioList:function(a,e){var k=a.split(","),m=[],v=0,q,r;for(r=0;r<e;r++)q=k[r],q=isNaN(q)||void 0===q?0:Math.abs(Number(q)),q=100<q?100:q,m[r]=q,v+=q;v=100<v?100:v;if(k.length<e)for(r=k.length;r<e;r++)m[r]=(100-v)/(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,v=k.window,e=/msie/i.test(v.navigator.userAgent)&&!v.opera,a=C.addEvent,M=C.removeEvent,H=C.hasTouch,I=v.Number,n=H?6:5,s="rgba(192,192,192,"+(e?.002:1E-6)+")",e=v.Math,G=e.min,q=e.max,r=e.sin,c=e.cos,p=e.PI,d=p/180,D=e.abs,P=k.extend,l=C.pluck,z=C.pluckNumber,N=C.graphics.convertColor,F=C.getValidValue,Y=C.parseUnsafeString,E=C.setImageDisplayMode,O=C.graphics.parseColor,V=C.setLineHeight,
ba=C.getMouseCoordinate,ha={style:{}},aa=C.toRaphaelColor,va=function(a,d){return{start:-a,end:-d,angle:a-d}},na=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},W=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 z=e,r=l,F=k.split("."),v=void 0,s=void 0,E=0;for(m=void 0;v=F.shift();)switch(typeof(s=z[v])){case "object":z=s[v];break;case "function":s=s(F,r),"-"===k.charAt()&&(s*=-1),m=!0;default:E+=I(s)||0,F.length=0}k=E;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=ba(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)}},ka,da,wa;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 wa(a[e],this)),d[e].chart=k};P(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!==z(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=z(a.xscale,d.xscale,100)/100,q=c.ys=z(a.yscale,d.yscale,100)/100,r,F,s;k&&(this.scaleText*=q,this.scaleImageX*=n,this.scaleImageY*=q,0!==z(a.autoscale,d.autoscale)&&(n=z(a.origw,d.origw),q=z(a.origh,d.origh),n=k.config.width/n,q=k.config.height/q,k=0!==z(a.constrainedscale,
d.constrainedscale),r=n<q?n:q,F=k?r:n,s=k?r:q,this.scaleValue=da.prototype.scaleValue*r,this.scaleValueComplement=da.prototype.scaleValueComplement*(k?r:n<q?q:n),this.scaleX=da.prototype.scaleX*F,this.scaleY=da.prototype.scaleX*s,c.xs*=F,c.ys*=s,m*=F,p*=s,"1"==l(a.scaletext,d.scaletext)&&(this.scaleText=da.prototype.scaleText*s),"1"==l(a.scaleimages,d.scaleimages)&&(this.scaleImageX=da.prototype.scaleImageX*F,this.scaleImageY=da.prototype.scaleImageY*s)),c.x=W(l(a.x,a.xpos),m,0,e,this.isBelow).value+
z(a.grpxshift,d.grpxshift,0),c.y=W(l(a.y,a.ypos),p,0,e,this.isBelow).value+z(a.grpyshift,d.grpyshift,0),this.xshift=z(a.xshift,d.xshift,0),this.yshift=z(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,r,F=this.chart;k=F&&F.config||{};var F=k.annRenderDelay,s=k.resize,v=function(){q=0;for(r=n.length;q<r;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:z(d.visible,1)?"":"hidden"}).translate(c.x,c.y);q=0;for(r=e.length;q<r;q+=1)p=e[q],p.scale(!0),p.queueDraw?p.queue():(n.push(p),p.setup());F&&!s?setTimeout(function(){v()},F):v();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 wa(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};wa=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 wa.eventNames)"function"===typeof a[e]&&(this[e]=a[e],c=!0);this.hasEvents=c;"function"===typeof a.onload&&(this.onload=a.onload)};k.extend(wa.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),r=l(m.tox,m.toxpos),F=l(m.toy,m.toypos),s=k.xs=e.xs,e=k.ys=e.ys,v=z(m.xshift,c.xshift,0),E=z(m.yshift,c.yshift,0),D;D=function(e,l,k,m){e=W(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=D(n,s,0,p)+v;void 0===r?(d.hasDimension=!1,d.hasDimensionX=!1,k.x2=k.x1):k.x2=D(r,s,0,p)+v;k.y1=D(q,e,0,p)+E;void 0===F?(d.hasDimension=!1,d.hasDimensionY=!1,k.y2=k.y1):k.y2=D(F,e,0,p)+E;wa.angularShapeTypes[d.type]&&(k.angles=va(D(m.startangle,1,0,p),D(m.endangle,1,360,p)));k.r=D(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=z(c.fillalpha,c.alpha,100),n=this.fillAlpha=l(a.fillalpha,a.alpha,p),q=this.fillColor=l(a.fillcolor,a.color,c.color),r=this.fillPattern=l(a.fillpattern&&a.fillpattern.toLowerCase&&a.fillpattern.toLowerCase(),c.fillpattern&&c.fillpattern.toLowerCase&&c.fillpattern.toLowerCase()),v=this.bordered=z(a.showborder,wa.borderedShapeTypes[this.type],!!F(a.bordercolor)),E=this.borderColor=l(a.bordercolor,c.bordercolor,q),p=this.borderAlpha=z(a.borderalpha,a.alpha,c.borderalpha,p),D=this.dashed=!!z(a.dashed,
0),C=z(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=wa.borderedShapeTypes[this.type]&&"none"||"#ff0000",void 0===E&&(E="#ff0000"));v&&C?(e.stroke=N(E,p),e["stroke-linecap"]="round",e["stroke-width"]=C,D&&(e["stroke-dasharray"]=[z(a.dashlen,5)*m,z(a.dashgap,3)*m])):e.stroke="none";this.fillOptions={gradientUnits:"objectBoundingBox",color:q,alpha:n,ratio:l(a.fillratio,c.fillratio),angle:360-z(a.fillangle,0),radialGradient:"radial"===
r};this.link&&(k.cursor="pointer",k._cursor="hand");e.visibility=z(a.visible,1)?"":"hidden";this.useTracker=d.useTracker;this.toolText=Y(l(a.tooltext,c.tooltext));if(this.useTracker||this.link||this.toolText)P(this.attrsTracker,{stroke:s,fill:s}),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=wa.types[c]&&wa.types[c].call&&wa.types[c].call(this,d),p=wa.imageShapeTypes[m],
n=wa.textShapeTypes[m],r=p||n||wa.trackerShapeTypes[m],z=this.link||this.toolText,F=this.wrapper,c=this.tracker,s=d&&d.graphics.trackerGroup||this.group.wrapper,v=!1,E=c||F,D=wa.eventNames,C=wa.ownEvents,H,G;if(d){if(m){if(F)if(F.elemType!==m){if(this.ownEventsAttached){for(G in C)E["un"+G].apply(F,C[G]);this.ownEventsAttached=!1}F=F.remove()}else if(this.hasEvents)for(H in D)(G=this[H])&&G.eventAttached&&(M(E.node,D[H],G),G.eventAttached=!1);p||(e.fill=aa(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),v=!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);z?this.useTracker&&(c||(this.args.push(s),c=this.tracker=r?k.rect(0,0,0,0,0,s):k[m].apply(k,this.args),this.args.pop()),c.attr(e).attr(this.attrsTracker)):c&&(c=c.remove());E=c||F;if(this.raiseOwnEvents&&!this.ownEventsAttached){for(G in C)E[G].apply(F,
C[G]);this.ownEventsAttached=!0}this.link&&E.click(d.linkedItems.linkClickFN,this);this.toolText&&(E.tooltip(this.toolText||""),this.group.wrapper.trackTooltip(!0));if(this.hasEvents)for(H in D)(G=this[H])&&!G.eventAttached&&(a(E.node,D[H],G,this),G.eventAttached=!0);p||(c&&r&&(d=F.getBBox(),c.attr({x:d.x,y:d.y,width:d.width,height:d.height})),v&&this.onload&&this.onload(e))}return this}},destroy:function(){var a=this.wrapper,d=this.tracker,c=d||a,e=wa.eventNames,l=wa.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(wa,{imageShapeTypes:{image:!0},angularShapeTypes:{circle:!0,arc:!0},textShapeTypes:{text:!0},trackerShapeTypes:{image:!0,text:!0},borderedShapeTypes:{path:!0,line:!0},
eventNames:{onmouseover:H?"touchstart":"mouseover",onmouseout:"mouseout",onmousemove:H?"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]=W(c.sides,1,5,k,l.isBelow).value;a[1]=e.x1;a[2]=e.y1;a[3]=e.r;a[4]=W(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,z=a.config.height,F=this.group.scaleValueComplement,s=this.group.snaps,v=n.angles,E=this.group;a=n.r;l(m.radius)||(n.r=q<z?q*n.xs:z*n.ys,n.r=a=.3*n.r);m=W(m.yradius,F,a,s,E.isBelow).value;this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);z=v.angle%360;if(!z&&a===m)return e[0]=k.cx=n.x1,e[1]=k.cy=n.y1,e[2]=k.r=n.r,"circle";z||(v.angle=0<v.angle?v.angle-.001:v.angle+.001,v.start=
v.end-v.angle);z||z==v.angle||(z=360);q=v.start*d;v=v.end*d;z*=d;s=n.x1;E=n.y1;n=s+c(q)*a;F=E+r(q)*m;s+=c(v)*a;E+=r(v)*m;a=["M",n,F,"A",a,m,0,D(z)>=p?1:0,q<v?1:0,s,E,"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,z=m.angles;l(c.radius)||(m.r=p<a?p*m.xs:a*m.ys,m.r*=.3);m.innerR=W(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]=z.end*d;e[5]=z.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(),r=l(p.valign,k.options.textvalign,
"middle").toLowerCase(),F=Y(l(p.text,p.label)),v=a.linkedItems.smartLabel,s=z(p.wrap,k.options.wraptext,1),E,D,C=l(p.rotatetext,k.options.rotatetext,"0").toLowerCase(),C=wa.textRotationOptions[C],G="0"!==C?"y":"x",H=a.config.orphanStyles;a=P({},H.defaultStyle.style||{});H=k.id&&H[k.id.toLowerCase()]||ha;a=P(a,H.style);var H=parseFloat(a.fontSize),N=l(p.font,k.options.font,a.fontFamily),k=z(p.fontsize,k.options.fontsize,H)*k.scaleText;s&&(E=z(p.wrapwidth,this.hasDimensionX?n.width/m.xs:void 0),D=z(p.wrapheight,
this.hasDimensionY?n.height/m.ys:void 0),E&&(E*=m.xs),D&&(D*=m.ys));c.fontFamily=N;c.fontWeight=z(p.bold,p.isbold,0)?"bold":"normal";z(p.italic,p.isitalic,0)&&(c.fontStyle="italic");p.bgcolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][0]=O(p.bgcolor));p.bordercolor&&(!e["text-bound"]&&(e["text-bound"]=[]),e["text-bound"][1]=O(p.bordercolor),e["text-bound"][2]=z(p.borderthickness,1),e["text-bound"][3]=z(p.padding,1));p.fontcolor&&(e.fill=O(p.fontcolor),this.fillOptions&&(this.fillOptions.color=
e.fill));c.fontSize=k+"px";k===H?c.lineHeight=a.lineHeight:V(c);e["text-anchor"]=wa.textAlignOptions[q]||wa.textAlignOptions.center;v.setStyle(c);c=v.getSmartText(F,E,D,!1);e["vertical-align"]=wa.textVerticalAlignOptions[r]||wa.textVerticalAlignOptions.middle;e["text-anchor"]===wa.textAlignOptions.left?n[G]+=z(p.leftmargin,0):e["text-anchor"]===wa.textAlignOptions.center&&(n[G]+=.5*z(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),r=d.group.scaleImageX*l(Number(a.xscale),100)/100,s=d.group.scaleImageY*l(Number(a.yscale),100)/100,D=d.getAbsoluteBounds(),C={width:1,height:1},G;if(!n)return p[0]=m.x=D.x,p[1]=m.y=D.y,p[2]=m.width=D.width,p[3]=m.height=D.height,p[4]=m.r=D.r,"rect";G=new v.Image;G.onload=function(){C=E("none","top","left",
100,0,e,k,G);delete C.x;delete C.y;C=P(C,{width:(d.hasDimensionX?D.unscaled.width:C.width)*r,height:(d.hasDimensionY?D.unscaled.height:C.height)*s});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(z(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=D.x;p[2]=m.y=D.y;p[3]=m.width=(d.hasDimensionX?D.unscaled.width:C.width)*r;p[4]=
m.height=(d.hasDimensionY?D.unscaled.height:C.height)*s;c.opacity=q(z(d.fillAlpha,d.borderAlpha),d.borderAlpha)/100;delete m.stroke;delete m.fill;delete m["stroke-linecap"];return"image"}}});ka=function(){this.groups=[];this._idstore={};this._options={}};C.Annotations=ka;k.extend(ka.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),z=this.xAxisFunction.bind(a),r=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:z,yaxis:r,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=na(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=na(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=na(d,a)}return e}});k.core.addEventListener("beforeinitialize",function(a){"javascript"===a.sender.options.renderer&&(a.sender.annotations=
new ka)});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,z=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(){z();d.shapesToDraw=
[]},m-(q-n)):(z(),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,H=k||500,I=e||500,n,s,G;n=function(e){M+=e.length+1;a.push(e)};this.addImage=function(a){a=/base64,(.+?)$/g.exec(a);G=C(a[1])};s=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 "+H+" 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+" "+H+"] /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 "+H+" /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(s())}}}]);
FusionCharts.register("module",["private","modules.exporter.batch-export",function(){var k=this.window,m=this.hcLib,C=k.Math.max,v=k.Image,e=m.drawSvgOnCanvas,a=m.downloadCharts,M=m.browserDetails,H=m.pluckNumber,I=m.pluck,n=m.JpegToPdf,s=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 r=m||{},c,p,d,D,P,l=0,z=!1,N,F,Y,E={exportTargetWindow:I(r.exportTargetWindow,
s?"_blank":"_self"),exportAction:r.exportAction&&"save"===r.exportAction.toString().toLowerCase()&&"save"||"download",exportFileName:I(r.exportFileName,"FusionCharts"),exportHandler:I(r.exportHandler,G),exportParameters:I(r.exportParameters,""),exportFormat:I(r.exportFormat,"PNG"),exportCallBack:I(r.exportCallBack,""),exportAtClientSide:H(r.exportAtClientSide,1)},O=E.exportFormat.toLowerCase(),V=0,ba=0,ha,aa=k.document,va=FusionCharts.items,na=function(a){return a.match(/http:\/\/|https:\/\//)&&/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]&&
k.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]?!1:!0},W=function(a,d,c,e){var l=a,k=d;isNaN(l)&&(l=H(d,e)*(c/e));isNaN(k)&&(k=H(a,c)*(e/c));return{width:l,height:k}},ca=function(d){!E.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="+E.exportFileName,"exportformat="+O,"exportaction="+E.exportAction,"exportparameters="+E].join("|")},
a(null,null,null,d,E)):a("url",d,E.exportFileName+"."+O)},ka=function(a){var c;e(a,d,this.x,this.y,this.width,this.height,function(){--l;if(0===l&&z)switch(O){case "png":ca(d.toDataURL("image/png"));break;case "jpeg":ca(d.toDataURL("image/jpeg"));break;case "pdf":c=new n(V,ba);c.addImage(d.toDataURL("image/jpeg"));ca(c.getDataUrl());break;default:ca(d.toDataURL("image/png"))}})};m=function(a){var c=r.background;d=aa.createElement("canvas");d.id="newCanvas";d.width=ba;d.height=V;d.style.border="1px solid black";
D=d.getContext("2d");D.fillStyle=c&&c.bgColor||"#ffffff";D.fillRect(0,0,ba,V);c&&c.bgImage&&na(c.bgImage)?(F=new v,F.src=c.bgImage,F._userData=c,D.globalAlpha=H(c.bgImageAlpha,100)/100,F.onload=function(){var d=this._userData,c=H(d.bgImageX,0),e=H(d.bgImageY,0),l=W(Number(d.bgImageWidth),Number(d.bgImageHeight),this.width,this.height),d=l.width,l=l.height;try{D.drawImage(this,c,e,d,l)}finally{D.globalAlpha=1,a()}},F.onerror=function(){a()}):a()};if(M.hasCanvas){(function(){var a=r.charts,d,c,e,l;
p=[];if(a)for(e in a)a.hasOwnProperty(e)&&(d=va[a[e].id])&&(c=a[e],l=W(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 va)va.hasOwnProperty(e)&&(d=va[e],p.push({id:d.id,width:d.width,height:d.height}))})();ha=0;for(N=p.length;ha<N;ha+=1)Y=p[ha],Y.x=H(Y.x,5),Y.y=H(Y.y,V+5),Y.height=H(Y.height),Y.width=H(Y.width),V=C(V,Y.y+Y.height),ba=C(ba,Y.x+Y.width);V=r.imageHeight||V+5;ba=r.imageWidth||ba+5;m(function(){return function(){ha=
0;for(N=p.length;ha<N;ha+=1){Y=p[ha];ha===N-1&&(z=!0);var a=Y;c=FusionCharts.items[Y.id];P=c.jsVars.instanceAPI.components.paper.toSVG(!0);l+=1;ka.call(a?a:c,P)}}}())}}}]);
FusionCharts.register("module",["private","modules.exporter.main",function(){var k=this,m=k.window,C=k.hcLib,v=C.extend2,e=C.BLANKSTRING,a=C.graphics.RGBtoHex,M=/\s\bx\b=['"][^'"]+?['"]/ig,H=/\s\by\b=['"][^'"]+?['"]/ig,I=m.document,n=m.Image,s=C.JpegToPdf,G=C.browserDetails;C.exportChart=function(q){var r=this,c=r.config,p=r.components,d=r.chartInstance,D=C.getSvgDataurl,P=C.removeCrossDomainImages,l=C.downloadCharts,z=c.exportOption;q="object"===typeof q&&function(a){var d={},c;for(c in a)d[c.toLowerCase()]=
a[c];return d}(q)||{};var N=v(v({},z),q),F=(N.exportformat||"png").toLowerCase(),Y=N.exporthandler,E=(N.exportaction||e).toLowerCase(),O=N.exporttargetwindow||e,V=N.exportfilename,ba=N.exportparameters,ha=N.exportcallback,aa=N.exportwithimages,va=N.exportatclientside,na,W,ca;if(!z||!z.enabled||!Y)return!1;k.raiseEvent("beforeExport",N,d,void 0,function(){function q(){var a,b,f;b=function(b){Oa.stream=b;Oa.stream_type="IMAGE-DATA";l(null,null,null,Oa,Na)};G.hasCanvas&&"undefined"!==typeof m.btoa?(a=
I.createElement("canvas"),a.width=ea.width,a.height=ea.height,"svg"===F?D(Ba,function(a){b(a)}):C.drawSvgOnCanvas(Ba,a,0,0,ea.width,ea.height,function(){switch(F){case "png":b(a.toDataURL("image/png"));break;case "jpeg":b(a.toDataURL("image/jpeg"));break;case "pdf":f=new s(ea.height,ea.width);f.addImage(a.toDataURL("image/jpeg"));b(f.getDataUrl());break;default:b(a.toDataURL("image/jpeg"))}})):-1!==$.indexOf("<image ")?X?(ia=(Ja=$.match(/<image [^\>]*\>/gi))&&Ja.length,ga=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;Ra(K,a,f,d,c)};e.onerror=function(){Ga()};e.src=b},Ra=function(b,a,f,d,c){Ma["image_"+sa]={name:a,type:f,encodedData:b,width:d,height:c};Ga()},Ga=function(){var b={},a,f,d,c,
e,k=!1;sa<ia?(a=Ja[sa].replace(/\"/g,""),a.split(" ").forEach(function(a){a=a.split(/=(.+)?/);b[a[0]]=a[1]}),b["xlink:href"]&&(a=(f=ga(b["xlink:href"]))&&f.name||"temp_image_"+sa,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"],$=$.replace(a,'xlink:href="temp/'+f),sa+=1,k&&Ga()):(Oa.encodedImgData=JSON.stringify(Ma),Oa.stream=$,l(null,null,null,Oa,Na))},Ga()):l(null,null,null,Oa,Na):l(null,
null,null,Oa,Na)}function z(){var a=V+"."+F;"svg"===F?D(Ba,function(b){l("url",b,a)}):ta(F,T)}function v(){var a=0;na=[];W.replace(/[^\r\n]+/g,function(b){na[a]=[];b.replace(/"([^",]+)/g,function(b,g){na[a].push(g)});a+=1})}function pa(){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(!na.length)return"";f=0;for(c=na.length;f<c;f+=1)if(0===f){a="<thead valign='top'><tr>";g=0;for(d=na[f].length;g<d;g+=1)a+="<th>"+na[f][g]+"</th>";a+="</tr></thead>";b="<tbody>"}else{b+="<tr>";g=0;for(d=na[f].length;g<d;g+=1)b+="<td>"+na[f][g]+"</td>";b+="</tr>"}return"<table align='center' >"+a+(b+"</tbody>")+"</table>"}()+"</body></html>")}function T(a,b,f){f=f+"."+a;switch(a){case "pdf":a=new C.JpegToPdf(ea.height,ea.width);a.addImage(b);b=a.getDataUrl();l("url",b,
f);break;default:l("url",b,f)}}function ta(a,b){var f;f=I.createElement("canvas");f.width=ea.width;f.height=ea.height;C.drawSvgOnCanvas(Ba,f,0,0,ea.width,ea.height,function(){switch(a){case "png":b(a,f.toDataURL("image/png"),V);break;case "jpeg":b(a,f.toDataURL("image/jpeg"),V);break;default:b(a,f.toDataURL("image/jpeg"),V)}})}var za=d.id,ea=p.paper,Oa,$,Ba,X=C.isCanvasElemSupported(),Ja,ia,sa=0,Ma={},ga,Ia,Ga,Ra,qa={},Ka={DOMId:za,height:ea.height,width:ea.width,fileName:V+"."+F,statusCode:void 0,
statusMessage:void 0,notice:void 0},Na={exportAction:E,exportTargetWindow:O,exportCallback:ha,fusionCharts:r,paper:ea,chartId:za,exportHandler:Y};if("xls"===F)if("undefined"!==typeof m.btoa)W=d.getCSVData();else return k.raiseEvent("exportCancelled",N,d),!1;else p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","hidden"),$=ea.toSVG(aa&&X&&"svg"!==F),Ba=ea.toSVG(aa&&X),p.chartMenuBar&&p.chartMenuBar.group.attr("visibility","visible"),$=$.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),
$=$.replace(/NS\d+:/gi,"xlink:"),$=P($),Ba=Ba.replace(/NS\d+:/gi,"xlink:"),Ba=Ba.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),Ba=Ba.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),$=$.replace(/[\w\-]+\=\"undefined\"/ig,""),$=$.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),$=$.replace(/rgba\(([^\)]+)\)/ig,function(d,b){return"#"+new a(b.split(","))}),$=$.replace(/<svg[^>]+/i,function(a){a.match(/height/i)||!ea.height&&!c.height||(a+=' height="'+(ea.height||c.height)+'"');a.match(/width/i)||
!ea.width&&!c.width||(a+=' width="'+(ea.width||c.width)+'"');return a}),$=$.replace(/(([\w]+\-)?opacity\s*=\s*)['"][\d\.]+e[\-\+][\d]+["']/ig,'$1"0.001"'),$=$.replace(/(([\w]+\-)?opacity\s*:\s*)[\d\.]+e[\-\+][\d]+/ig,"$10.001"),$=$.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")}),$=$.replace(/<(\b[^<>s\s]+\b)[^\>]+?opacity\s*=\s*['"][^1][^\>]+?(\/>|>[\s\r\n]*?<\/\1>)/ig,function(a,b){var f=M.exec(a)||e,g=H.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" />'}),Oa={charttype:d.chartType(),stream:$,stream_type:"svg",meta_bgColor:N.bgcolor||
"",meta_bgAlpha:N.bgalpha||"1",meta_DOMId:d.id,meta_width:ea.width||c.width,meta_height:ea.height||c.height,parameters:["exportfilename="+V,"exportformat="+F,"exportaction="+E,"exportparameters="+ba].join("|")};k.raiseEvent("exportDataReady",Oa,d);"xls"===F?(v(),ca=pa(),!va||"download"!==E||"undefined"===typeof m.btoa||"Chrome"!==G.name&&"Firefox"!==G.name&&"Edge"!==G.name&&"ie"!==G.name?(Oa={charttype:"combined",stream:ca,stream_type:"IMAGE-DATA",parameters:["exportfilename="+V,"exportformat="+F,
"exportaction="+E,"exportparameters="+Na].join("|")},l(null,null,null,Oa,Na)):(l("url",ca,V+"."+F),k.raiseEvent("exported",Ka,d))):va&&"download"===E?"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()):(z(),k.raiseEvent("exported",Ka,d)):q()},function(){k.raiseEvent("exportCancelled",N,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 v(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,H=e.graphics,I=H.convertColor,n=H.getLightColor,s=H.rawRGBtoHEX,G=e.pluckNumber,q=e.pluck,r={},c={},p={},d=e.extend2,D,P,l,z,N=function(){},F=I("FFFFFF",0),Y=0,E;D=function(a,
d,c){return["M",a-c,d-c]};P=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",D);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)}}}();E=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,z,r=0;m||(m=d[a]={});return(q=m[e])&&!(q instanceof Array)||q instanceof Array&&0<q.length?function(){k=!1;return l?(z=q[r++])?z.show():q[r]=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}}}();z=function(){function a(d){d=
d||{};this.name=d.name;this.handler=d.handler||N;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];za.linkedItems&&(za.linkedItems.container.appendChild(this.container),k=v("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 z(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:N,hover:[N,N]}}function H(a,d,c,e){z.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(c||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:pa};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 Y(a,d,e){z.call(this);this._id="TB_SCROLLER"+(d||0);this.pId=e;this.conf={};this.userConf=c;this.setConfiguaration(a);this.evt.scroll=N;return this}function na(a,
d,c){var e;z.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 W(a,c){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=c;d(this.btnConfig={},r);d(this.groupConfig={},da)}function ca(a,d){ka[this.id="TB_MASTER"+a||k((new Date).getTime())]=this;this.toolbarRect=
void 0;this.componentGroups=[];this.toolbarConfig=wa;this.group=void 0;this.pId=d}var ka={},da={hPadding:3,vPadding:3,borderRadius:2,fill:I("DBDBDB",100),borderColor:I("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},wa={hPadding:3,vPadding:3,borderRadius:0,fill:I("EBEBEB",100),borderColor:I("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},pa={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},T,ta,za;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=v("hover",c);v("click",c)(function(){p.handler&&((m=p.eventMap.click)&&m.apply(p,[za]),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=za.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===na.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=za.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=E.getKeys();this.container||(a=E.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 sa(d,c){var n,q=0,z,r,F,v,s,b,f,g;f=c?c:l.container;n=d instanceof Array?d:[d];for(z=n.length;q<z;q++){r=n[q];F=new a({hoverOverStyle:m,hoverOutStyle:p});for(v in r)F.name=v,s=r[v],F.action=s.action,F.setStyle(s.style),-1!==v.search(/^<[^<]+>$/)&&(F.hoverOverStyle={},F.hoverOutStyle={},s.handler=N),b=s.handler,"function"!==typeof b?g=sa(b,new e(M.createElement("div"))):F.handler=s.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};z.prototype.registerSymbol=function(a){l.register(this.symbol,a)};z.prototype._setConfiguaration=function(a){this.conf?C(a,this.conf,!0):this.conf=a};z.prototype.attachEventHandlers=function(a,d){var c=this.evt,e=a.tooltext,l=a.click||N,k=a.hover,m=d&&d.click||N,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};z.prototype.getLogicalSpace=function(){return{width:this.conf.width,height:this.conf.height}};z.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};
z.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};z.prototype.draw=function(a,d,c){var e=this.conf||{},l,k,m=E.getKeys(),p=za.get("config","animationObj"),q=p.animObj,z=p.dummyObj,r=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(s(e.fill),80));c=this.node=E.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]);E.getCreationStatus()||(this.node.unclick(),this.node.animateWith(z,q,{"button-repaint":[a,d,e.width,e.height,e.radius]},r,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};z.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};H.prototype=Object.create(z.prototype);H.prototype.constructor=H;H.prototype.check=function(){var a=this.pos;this.checked=!0;this.regSymbolCmd=P;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,
a.height,a.r]}))};H.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=D;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};H.prototype.click=function(){this.checked?this.uncheck():this.check()};H.prototype.attachEventHandlers=function(a){var d=this;z.prototype.attachEventHandlers.apply(this,[a,{click:function(){d.click()}}])};H.prototype.getLogicalSpace=function(){var a=za.linkedItems.smartLabel,d=this.text.style,
c;c=z.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(za.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)}};H.prototype.draw=function(a,d,c){var e,l=this.conf,k;k=za.linkedItems.smartLabel;var m=T.colorManager,p=this.text.plaintext,n,q=E.getKeys();this.registerSymbol(this.regSymbolCmd);e=this.node=z.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(za.config.useEllipsesWhenOverflow);k.setStyle(n);k=k.getSmartText(p);e=e.getBBox();m=E.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=E.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})};H.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;z.prototype.dispose.call(this)};Y.prototype=Object.create(z.prototype);Y.prototype.constructor=H;Y.prototype.setConfiguaration=function(a){var d=T.colorManager;c.color||(c.color="#"+d.getColor("altHGridColor"));C(c,this.conf);C(a,this.conf)};Y.prototype.getLogicalSpace=function(){var a=this.conf,d={};C(c,d);C(d,a);return z.prototype.getLogicalSpace.call(this)};Y.prototype.getDefaultLayer=
function(){var a=E.getKeys();return E.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};Y.prototype.registerSymbol=void 0;Y.prototype._setConfiguaration=function(){};Y.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);z.prototype.attachEventHandlers.apply(this,arguments);return this};Y.prototype.draw=function(){var a,d,e,l,k,m,p,n,q,z,r,F,s,v,D,H;D=this.conf;var N,b=E.getKeys(),f={},g=za.get("config","animationObj"),t=g.animObj,L=
g.dummyObj;e={};var Q=g.duration;1===arguments.length?(D=arguments[0],a=D.x,d=D.y,p=D.parentLayer,k=!!D.sepLayer):(a=arguments[0],d=arguments[1],k=arguments[2],D&&k?C(k,D):k={},p=k.parentLayer,k=!!k.sepLayer);C(c,e);D.isHorizontal?delete e.width:delete e.height;C(e,D);d+=D.padding;e=D.height;l=D.width;m=D.isHorizontal;H=D.startPercent;n=D.scrollRatio;q=D.showButtons;z=D.displayFlat;r=D.fullCanvasWidth;F=D.windowedCanvasWidth;s=D.color;v=D.roundEdges;f["scroll-repaint"]=[a,d,l,e];p=p?p:this.getDefaultLayer();
N=E.getComponent(this._id,this.pId,b.KEY_RECT);p=k?N("scroll-child"):p;N=E.getComponent(this._id,this.pId,b.KEY_SCROLLER);this.node=N(a,d,l,e,m,{scrollPosition:D.scrollPosition||G(H,0),displayStyleFlat:z,showButtons:q},p).data("fullCanvasWidth",r).data("windowedCanvasWidth",F).attr({"scroll-ratio":n,fill:s,r:v&&2||0}).scroll(this.evt.scroll);E.getCreationStatus()||(this.node.undrag(),this.node.animateWith(L,t,f,Q,g.animType),this.node.attr({"scroll-display-style":z?"flat":"3d","scroll-position":D.scrollPosition||
G(H,0)}).scroll(this.evt.scroll));return this.node};na.POSITION_TOP="top";na.POSITION_BOTTOM="bottom";na.prototype=Object.create(z.prototype);na.prototype.constructor=na;na.allNodes=[];na.prototype.getListRefernce=function(){return this.listContainerManager};na.prototype.attachEventHandler=function(a){var d=this.evt;if(a=a.tooltext)d.tooltext=a};na.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:z.prototype.getLogicalSpace.call(this)};
na.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=z.prototype.draw.apply(this,arguments);na.allNodes.push(this.node);return a};na.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;z.prototype.dispose.call(this)};W.prototype.addSymbol=function(a,d){var c=this.symbolList;d?c.unshift(a):c.push(a)};
W.prototype.setConfiguaration=function(a){var d=a.buttons;a=a.group;d&&C(d,this.btnConfig);a&&C(a,this.groupConfig)};W.prototype.draw=function(a,d,c){var e=this.preId,l=this.symbolList,k,m,p=this.groupConfig,n=this.btnConfig,q=d.x,z=d.y,r=0,F=0,s=Number.NEGATIVE_INFINITY;k=E.getKeys();e=this.id=e.toString()+c;ta.toolbarGroup=ta.toolbar||{};c=E.getComponent(this.id,this.pId,k.KEY_GROUP);a=c("toolbar-group"+e,a).trackTooltip(!0);c=E.getComponent(this.id,this.pId,k.KEY_RECT);e=this.groupRect=c(a).attr({height:0,
width:0,x:q,y:z});q+=p.hPadding;z+=p.vPadding;F+=p.hPadding;r+=p.vPadding;k=0;for(c=l.length;k<c;k++)m=l[k],m._setConfiguaration(n),m=m.draw(q,z,{parentLayer:a}),m=m.getBBox(),s<m.height&&(s=m.height),q+=m.width+(m=n.spacing);F+=q+p.hPadding-d.x-m-p.offsetAdjustment;r+=s+p.vPadding+p.offsetAdjustment;isFinite(r)||(r=0);isFinite(F)||(F=0);e.attr({height:r,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}};
W.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}};W.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,z=this.toolbarConfig,r,F=Number.NEGATIVE_INFINITY;l=E.getKeys();ta.toolbar=ta.toolbar||{};q=E.getComponent(this.id,this.pId,l.KEY_GROUP,!0);this.group=m=q(m);
q=E.getComponent(this.id,this.pId,l.KEY_RECT,!0);q=this.toolbarRect=q(m).attr({height:0,width:0,x:p,y:n});p+=z.hPadding;n+=z.vPadding;l=0;for(k=c.length;l<k;l++)e=c[l],r=e.groupConfig.spacing||1,e=e.draw(m,{x:p,y:n},l),p+=e.width+r,F=F>e.height?F:e.height;c=F;p=p-r-z.hPadding-a;isFinite(c)||(c=0);isFinite(p)||(p=0);q.attr({height:c+=2*z.vPadding,width:p+=2*z.hPadding}).attr({fill:z.fill,r:z.radius,stroke:z.borderColor,"stroke-width":z.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();E.emptyPool(this.pId)};
return{init:function(a){ta=a.graphics;za=a.chart;T=a.components},HorizontalToolbar:ca,ComponentGroup:W,Symbol:z,CheckboxSymbol:H,Scroller:Y,SymbolWithContext:na,getInstanceById:function(a){return ka[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;z.init(a);this._options=a;this._chart=
a.chart;this._iCount=++Y;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,d;z.init(this._options);r.scale=G(a.toolbarbuttonscale,1.15);r.width=G(a.toolbarbuttonwidth,15);r.height=G(a.toolbarbuttonheight,15);r.radius=G(a.toolbarbuttonradius,2);r.spacing=G(a.toolbarbuttonspacing,5);r.fill=I(q(a.toolbarbuttoncolor,"ffffff"));r.labelFill=I(q(a.toolbarlabelcolor,"cccccc"));r.symbolFill=I(q(a.toolbarsymbolcolor,"ffffff"));r.hoverFill=q(a.toolbarbuttonhovercolor);
r.stroke=I(q(a.toolbarbuttonbordercolor,"bbbbbb"));r.symbolStroke=I(q(a.toolbarsymbolbordercolor,"9a9a9a"));r.strokeWidth=G(a.toolbarbuttonborderthickness,1);r.symbolStrokeWidth=G(a.toolbarsymbolborderthickness,1);d=r.symbolPadding=G(a.toolbarsymbolpadding,5);r.symbolHPadding=G(a.toolbarsymbolhpadding,d);r.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=z.HorizontalToolbar}E.init(d.components,this._iCount);c.ComponentGroup=
z.ComponentGroup;c.Symbol=z.Symbol;c.Scroller=z.Scroller;c.SymbolWithContext=z.SymbolWithContext;c.SymbolStore=l;c.CheckboxSymbol=z.CheckboxSymbol;return c},getDefaultConfiguration:function(){return r},clean:function(){E.hideRecursive(this._iCount)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-base",function(){var k=this,m=k.hcLib,C=m.Raphael,v=C._availableAnimAttrs,e="VML"===C.type,a=k.window,M=a.document,H=m.BLANKSTRING,I=m.parseConfiguration,n=m.componentConfigurer,s=m.BLANKSTRING,G="https:"===a.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/",q=m.pluck,r=m.getValidValue,c=m.pluckNumber,p=m.getFirstValue,d=m.parseUnsafeString,D=m.extend2,P=m.getDashStyle,l=m.graphics.mapSymbolName,
z=m.regex.dropHash,N=m.HASHSTRING,F=a.Image,Y=m.setImageDisplayMode,E=m.removeEvent,O=m.getPosition,V=m.getMouseCoordinate,ba=m.addEvent,ha=8===a.document.documentMode?"visible":"",aa=m.toRaphaelColor,va=a.Math,na=va.min,W=va.max,ca=va.abs,ka=va.ceil,da=va.floor,wa=va.round,pa=va.sin,T=va.cos,ta=Math.PI,za=ta/2,ea=2*ta,Oa=ta+za,$=m.getFirstColor,Ba=m.setLineHeight,X=m.pluckFontSize,Ja=m.graphics.getDarkColor,ia=m.graphics.getLightColor,sa=m.graphics.convertColor,Ma=m.POSITION_CENTER,ga=m.POSITION_TOP,
Ia=m.POSITION_BOTTOM,Ga=m.POSITION_RIGHT,Ra=m.POSITION_LEFT,qa=m.chartAPI,Ka=m.COMMASTRING,Na=m.PXSTRING,ab=m.componentDispose,b,f=a.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),g={left:"start",right:"end",center:"middle"},t=m.each,L="rgba(255,0,0,"+(m.isIE?.002:1E-6)+")",Q=m.BGRATIOSTRING,J=m.graphics.getAngle,U=m.NumberFormatter,fa=m.getLinkAction,S=m.hasTouch=void 0!==M.documentElement.ontouchstart,Da={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)},B=!/fusioncharts\.com$/i.test(a.location.hostname),R=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"}},Sa=function(){var b={},a,f=function(){var g,h,d,c,t=0,e,l,L=parseInt(k.core.options.resizeTrackingInterval,
10)||300,Q={},J=function(){Q.itemVar._containerOffsetW=Q.parentEle.offsetWidth;Q.itemVar._containerOffsetH=Q.parentEle.offsetHeight},m;for(g in b)t+=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(),Q.itemVar=d,Q.parentEle=c,setTimeout(J,1))):(delete b[g],--t);a=t?setTimeout(f,L):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+Ka;else if(void 0!==
b||null!==b)for(f in b)a+=f+Ka;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(z,N):"#7f8975"),backgroundColor:b.bgColor?
b.bgColor.replace(z,N):"#edefec",fontFamily:b.font?b.font:"Verdana,sans",color:"#"+b.fontColor?b.fontColor:"49563a",fontSize:(b.fontSize?b.fontSize:"10")+Na,padding:(b.padding?b.padding:"3")+Na,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=D({},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],u=c.childNodes,e,l,L,Q;f.config.isPrinting=!0;t(u,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;Q=0;for(e=l.length;Q<e;Q++)if((L=
l[Q])instanceof f.components.toolBoxAPI.SymbolWithContext){L=L.getListRefernce().getFirstContainer();break}L.container.style.display="none"}c.appendChild(f.linkedItems.container);a.print();setTimeout(function(){L.container.style.display="visible";d.appendChild(b);t(u,function(b,a){1==b.nodeType&&(b.style.display=h[a])});!1!==g.hideButtons&&(L.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={}),t=h.paper,e=f.linkedItems.smartLabel,
h=c.messageText,l=c.messageVeil,k=t.width,L=t.height;d||(f.graphics.messageGroup=d=t.group("messageGroup"));l||(l=c.messageVeil=t.rect(0,0,k,L,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=t.text(k/2,L/2,s,d).attr({fill:"rgba(255,255,255,1)","font-family":"Verdana,sans","font-size":10,"line-height":14,ishot:!0}));b=b||s;e.setStyle({"line-height":"14px","font-family":"Verdana,sans",
"font-size":"10px"});g=e.getSmartText(b,k-(g.marginRight||0)-(g.marginLeft||0),L-(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 v.fill;delete v.stroke;k.core.options.resizeTrackingInterval=300;k.core.options.preventTrackResize=!1;k.core.options.SVGDefinitionURL="relative";m.createChart=function(b,f,g,d,h,t,e){var l=b.jsVars,
L,Q=qa[g||(g=b.chartType())],J=b.apiInstance,U=l.hasNativeMessage;t=b.options;var B=b.args,fa;f.offsetWidth&&f.offsetHeight&&(/^\s*absolute\s*$/i.test(k.core.options.SVGDefinitionURL)&&(C._url=(C._g&&C._g.win||a).location.href.replace(/#.*?$/,H)),fa=function(a){var h={renderer:"javascript"},c=l.fcObj,t=c.width,L=c.height,oa=Q&&Q.eiMethods,B=l.overlayButton,fa;f.jsVars=b.jsVars;U=l.hasNativeMessage;l.container=f;l.hcObj=a;l.type=g;l.width=f.offsetWidth;l.height=f.offsetHeight;l.instanceAPI=J;if(a.hasRendered){k.extend(f,
Qa);if(oa&&"string"!==typeof oa)for(fa in oa)f[fa]=oa[fa];l.overlayButtonActive&&B&&(B.innerHTML="",B.appendChild(M.createTextNode(l.overlayButtonMessage)),a.container.appendChild(B))}(/\%/g.test(t)||/\%/g.test(L))&&f&&f.parentNode&&!k.core.options.preventTrackResize&&Sa(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]);J.config.hasRendered=!0;if(!0===b.disposed)return;U||(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=U,h.renderer=c.options.renderer,m.raiseEvent("drawcomplete",h,c,[c.id]),U||e||setTimeout(function(){c.__state&&!c.__state.firstRenderNotified&&m.raiseEvent("rendered",{renderer:"javascript"},c,[c.id]);k.raiseEvent("renderComplete",h,c)},0))},J&&J.inited?(k.raiseEvent("internal.drawStart",{chartType:g,logicName:J.name,logicBase:J.base&&
J.base.name,defaultSeriesType:J.defaultSeriesType},b),h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),L=h.data,J.config&&J.config.hasChartMessage&&J._hideChartMessage(),J.jsonData=L,e||m.raiseEvent("dataloaded",{},b,[b.id]),J.configure(),J._feedAxesRawData(),J._setCategories(),n(J),J.draw(),fa({hasRendered:!0,container:f})):J&&"base"===g?(J.setChartMessage(h,b,f),J.drawChartMessage()):(J&&"base"===J.name&&"base"!==g&&(J.dispose(),J=
void 0),J?J.config&&J.config.hasChartMessage&&J._hideChartMessage():J=b.apiInstance=Q?new qa(g):new qa("base"),J.chartInstance=b,J.origRenderWidth=b.__state.renderedWidth,J.origRenderHeight=b.__state.renderedHeight,"base"===g?(J.setChartMessage(h,b,f),J.drawChartMessage()):void 0!==h?"string"===typeof h&&(J.setChartMessage(h,b,f),J.drawChartMessage(),U=l.hasNativeMessage=!0):!J||!J.init||J&&"base"===J.name?(b._chartMessageImageStyle={imageHAlign:q(B.typeNotSupportedMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),
imageVAlign:q(B.typeNotSupportedMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(B.typeNotSupportedMessageImageAlpha,t.baseChartMessageImageAlpha),imageScale:c(B.typeNotSupportedMessageImageScale,t.baseChartMessageImageScale)},b._chartMessageStyle={color:B.typeNotSupportedMessageColor||t.baseChartMessageColor,fontFamily:B.typeNotSupportedMessageFont||t.baseChartMessageFont,fontSize:B.typeNotSupportedMessageFontSize||t.baseChartMessageFontSize},J.setChartMessage(t.typeNotSupportedMessage,
b,f),J.drawChartMessage(),U=l.hasNativeMessage=!0):l.message?(J.setChartMessage(l.message,b,f),J.drawChartMessage(),U=l.hasNativeMessage=!0):l.loadError?(b._chartMessageImageStyle={imageHAlign:q(B.dataLoadErrorMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(B.dataLoadErrorMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(B.dataLoadErrorMessageImageAlpha,t.baseChartMessageImageAlpha),imageScale:c(B.dataLoadErrorMessageImageScale,t.baseChartMessageImageScale)},
b._chartMessageStyle={color:B.dataLoadErrorMessageColor||t.baseChartMessageColor,fontFamily:B.dataLoadErrorMessageFont||t.baseChartMessageFont,fontSize:B.dataLoadErrorMessageFontSize||t.baseChartMessageFontSize},J.setChartMessage(t.dataLoadErrorMessage,b,f),J.drawChartMessage(),U=l.hasNativeMessage=!0):l.stallLoad?(b._chartMessageImageStyle={imageHAlign:q(B.dataLoadStartMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(B.dataLoadStartMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),
imageAlpha:c(B.dataLoadStartMessageImageAlpha,t.baseChartMessageImageAlpha),imageScale:c(B.dataLoadStartMessageImageScale,t.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:B.dataLoadStartMessageFont||t.baseChartMessageFont,fontSize:B.dataLoadStartMessageFontSize||t.baseChartMessageFontSize,color:B.dataLoadStartMessageColor||t.baseChartMessageColor},J.setChartMessage(t.dataLoadStartMessage,b,f),J.drawChartMessage(),U=l.hasNativeMessage=!0,fa({hasRendered:!0,container:f})):"zoomscatter"!==
g||M.createElement("canvas").getContext?(k.raiseEvent("internal.drawStart",{chartType:g,logicName:J.name,logicBase:J.base&&J.base.name,defaultSeriesType:J.defaultSeriesType},b),h=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(k.dataFormats.JSON,!0),L=h.data,h.error instanceof Error?(b._chartMessageImageStyle={imageHAlign:q(B.dataInvalidMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(B.dataInvalidMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),
imageAlpha:c(B.dataInvalidMessageImageAlpha,t.baseChartMessageImageAlpha),imageScale:c(B.dataInvalidMessageImageScale,t.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:B.dataInvalidMessageFont||t.baseChartMessageFont,fontSize:B.dataInvalidMessageFontSize||t.baseChartMessageFontSize,color:B.dataInvalidMessageColor||t.baseChartMessageColor},J.setChartMessage(t.dataInvalidMessage,b,f),J.drawChartMessage(),U=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!==J.chartInstance.disposed&&J.init(f,L,b,fa))):(b._chartMessageImageStyle={imageHAlign:q(B.browserNotSupportedMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(B.browserNotSupportedMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(B.browserNotSupportedMessageImageAlpha,t.baseChartMessageImageAlpha),imageScale:c(B.browserNotSupportedMessageImageScale,
t.baseChartMessageImageScale)},b._chartMessageStyle={color:B.browserNotSupportedMessageColor||t.baseChartMessageColor,fontFamily:B.browserNotSupportedMessageFont||t.baseChartMessageFont,fontSize:B.browserNotSupportedMessageFontSize||t.baseChartMessageFontSize},J.setChartMessage(q(B.browserNotSupportedMessage,t.browserNotSupportedMessage),b,f),J.drawChartMessage(),U=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,t=d.config;f=d.components;var e=f.paper,l=this.config,k=this.graphics||(this.graphics={}),L=d.graphics.legendGroup,J;g=k.box;var Q=k.caption,m,U=t.height-t.canvasBottom,B=t.canvasLeft,fa=t.canvasWidth,K=l.chartMarginLeft||0,p=l.chartMarginRight||0,S=l.chartMarginBottom||0,R=t.actionBarHeight||0,n=l.actualCanvasMarginLeft||0,Da=t.actualCanvasMarginBottom||0,q=t.actualCanvasMarginRight||
0,z=l.alignLegendWithCanvas,r=t.height,F=t.canvasTop,Sa=l.width,Qa=l.height,s=t.borderWidth;h=l.borderRadius;var v=l.backgroundColor,E=l.borderColor,Q=l.borderWidth||0,H=l.legendPos,G=.5*Q,N=.5*Q+2,I=c(l.padding,4),Y=.5*I,M=l.scroll.enabled,O=l.drawn,P=d.get("config","animationObj"),V=P.dummyObj,T=P.animObj,aa=P.transposeAnimDuration,Fa=P.animType,ha,ba,ca,ia,ka,P=f.legendScrollBar,da=0,va=0,da=t.oriCanvasLeft,X=t.oriTopSpace,va=t.oriBottomSpace,$=f.tb,ea=f.toolBoxAPI.Scroller;"right"===H&&(l.align=
Ga,l.verticalAlign="middle",m=l.layout="vertical");m?(void 0===b&&(b=t.width-p-q-Sa-s),void 0===a&&(da=c(X,F),va=c(va,U),a=da+.5*(r-va-da-Qa)+(l.y||0))):(void 0===b&&(m=t.width-(K+n+(p+q)),m=z?fa-Sa:m-Sa,B=z?c(da,B):K+n,b=B+m/2),void 0===a&&(a=r-Qa-Da-S-R));Qa=C.crispBound(b,a,Sa,Qa,Q);b=Qa.x;a=Qa.y;Sa=Qa.width;Qa=Qa.height;O?(l.xL&&(l.xL=na(W(l.xL,N),t.width-l.width-N)),l.yL&&(l.yL=na(W(l.yL,N),t.height-l.height-N)),L.show().animateWith(V,T,{transform:["T",l.xL||b,l.yL||a]},aa,Fa)):L.show().transform(["T",
b,a]).attr("class","fusioncharts-legend");l.xPos=b;l.yPos=a;d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",D({"text-anchor":l.title.align},l.title.style));L.attr("class","fusioncharts-legend");L.attr({cursor:l.legendAllowDrag?"move":""});l.legendAllowDrag&&!l._dragEvtListenerBinded&&(L.drag(function(b,a){l.legendAllowDrag&&(ia=ba+b,ka=ca+a,ia=na(W(ia,N),t.width-l.width-N),ka=na(W(ka,N),t.height-l.height-N),L.transform("t"+ia+","+ka),l.xPos=l.xL=ia,l.yPos=l.yL=ka)},function(){l.legendAllowDrag&&
(ba=l.xL||l.xPos,ca=l.yL||l.yPos)}),l._dragEvtListenerBinded=!0);O={x:0,y:0,width:Sa,height:Qa,r:h,stroke:E,"stroke-width":Q,fill:v||"none",ishot:l.legendAllowDrag};g?(g.animateWith(V,T,{x:0,y:0,width:Sa,height:Qa,r:h},aa,Fa),g.attr({stroke:E,"stroke-width":Q,fill:v||"none"})):g=k.box=e.rect(O,L);O=l.drawn=!0;g.shadow(l&&l.shadow);J=k.itemGroup||(k.itemGroup=e.group("item",L));M?(g={isHorizontal:!1},h={scroll:function(b){J.transform(["T",0,(ha-l.totalHeight)*b])},mousedown:function(b){b.preventDefault();
b.stopPropagation()}},P=f.legendScrollBar,P||(f.legendScrollBar=P=(new ea(g,($.idCount||0)+1,$.pId)).attachEventHandlers(h)),ha=Qa-I,J.attr({"clip-rect":"0,"+Y+(","+Sa+","+ha)}),f=(ha+I)/l.totalHeight,P.draw(Sa-10+Y-Q,G,{height:Qa-Q,scrollRatio:f,startPercent:0,color:l.legendScrollBgColor}),L.appendChild(P.node)):(P&&P.node&&P.node.hide(),J.attr({"clip-rect":null}),J.node&&J.node.removeAttribute("clip-path"));d._addCSSDefinition(".fusioncharts-legend .fusioncharts-caption",D({"text-anchor":l.title.align},
l.title.style));Q=k.caption;if(l.title&&""!==l.title.text&&l.validLegendItem){switch(l.title.align){case "start":d=I;break;case "end":d=Sa-I-(M?10:0);break;default:d=.5*Sa}L.trackTooltip(!0);Sa=l.title.style;O={"class":"fusioncharts-caption","text-anchor":l.title.align,text:l.title.text,title:l.title.originalText||"",x:d,y:I,fill:l.title.style.color,"vertical-align":"top","font-weight":Sa.fontWeight,"font-style":Sa.fontStyle,"font-family":Sa.fontFamily,"font-size":Sa.fontSize,"line-height":Sa.lineHeight,
direction:l.textDirection};Q||(Q=k.caption=e.text(J).attr("class","fusioncharts-caption"));Q.show().attr(O);Q.tooltip(l.title.originalText)}else Q&&Q.hide();l.showLegend&&!1!==l.enabled?this._drawPointLegendItem():L.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,t=g.width,e=g.height,l=g.canvasLeft,k=g.width-(g.canvasRight||0),L=a.linkedItems.smartLabel,J=this.config,Q=J.chartMarginLeft,U=J.chartMarginRight,B=J.chartMarginTop,fa=J.alignLegendWithCanvas,K=J.minimiseWrappingInLegend,p=J.legendScale,S=J.numColumns,R=J.padding,n=2*b,Da=2*R,q=Da,z=J.title,r=z.padding,F=parseInt(J.itemStyle.fontSize,10)||10,Sa=f.items||[],Qa=Sa.length,f=J.oriSymbolPadding,s=J.textPadding,v=J.legendPadding,E=g.canvasMarginRight,D=g.canvasMarginLeft,C=a.components.yAxis||
[],a=C[0],C=C[1],a=a&&a.config.axisData||{},C=C&&C.config.axisData||{},G=a.nameMaxW,N=C.nameMaxW,I=a.name&&a.name.style||{},Y=C.name&&C.name.style||{},M=a.axisName||"",P=C.axisName||"",O=0,V=0,T=0,aa=0,ha=C=0,Fa=0,ba=0,ca=[],ia=!1,va=0,X=0,$,ea,sa=a=g.canvasWidth-g.canvasMarginLeft-g.canvasMarginRight,pa;J.paddingBottom=g.height-g.canvasBottom;L.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);L.setStyle(I);aa=L.getOriSize(M);L.setStyle(Y);Y=L.getOriSize(P);F+=1;0>=F&&(F=1);a-=Da;f*=p;F=na(F*p,a);
0>=F&&(f=F=0);J.symbolWidth=F;J.textPadding=4;J.legendHeight=g=F+2*f;J.rowHeight=p=W(parseInt(J.itemStyle.lineHeight,10)||12,g);R=s+f+R;L.setStyle(J.itemStyle);I=L.getOriSize(h).height;h=v+J.borderWidth/2+1;h=na(h,b-I-8);v=.05*p;if(aa||Y)$=c(aa.height,0)>c(Y.height,0)?(pa=G)&&aa.width:(pa=N)&&Y.width;a=fa?a:t-($+B>e-b?2*pa+U+Q+E+D:U+Q+D+E);J.initialItemY=0;J.initialItemX=0;if(J.showLegend&&0!==Qa){for(t=0;t<Qa;t+=1)$=Sa[t],e=$.config||($.config={}),B=$.configuration,$=e.name=d(B.label),$===H||0===
B.enabled||!1===B.enabled?e.enabled=0:(e.enabled=1,T+=1,ea=!0,$=L.getOriSize($),O=W(O,$.width),ha=W(ha,na($.height,n)),V+=$.width);J.validLegendItem=ea;aa=V/T;B=g+v+s+f+Da;V+=B*T;J.x=(l-Q-k+U)/2;J.x=!fa&&V>sa?0:J.x;if(ea){aa+=B;O+=B;0<S&&T<S&&(S=T);V<=a&&(0>=S||S===T)?(S=T,C=V/T,ia=!0,ha>p&&(ba=(ha-p)/2,p=ha)):0<S&&(C=a/S)>aa?C>O&&(C=O):a>O&&(K||1.5*aa>O)?(S=da(a/O),T<S&&(S=T),C=O):a>=2*aa?(S=da(a/aa),T<S&&(S=T),C=da(a/S),C>O&&(C=O)):(S=1,C=a);J.itemWidth=C;l=ka(C-B);0>l&&(f=l=s=0);J.symbolPadding=
f;J.textPadding=s;J.width=C*S-v;z.oriText!==H&&(L.setStyle(z.style),$=L.getSmartText(z.oriText,a,n),z.text=$.text,$.tooltext&&(z.originalText=$.tooltext),z=$.width+Da,J.width<z&&(J.initialItemX=(z-J.width)/2,J.width=z),J.initialItemY=Fa=$.height+r);L.setStyle(J.itemStyle);for(t=0;t<Qa;t+=1)if($=Sa[t],e=$.config,0!==e.enabled){0===l&&(ca[X]=!0,e.name=H,r=1,z=parseInt(X/S,10),k=X%S,e._legendX=k*C,e._legendY=z*p+Da,e._legendH=r*p,e._totalWidth=F+f);if(ia)$=L.getOriSize(e.name),$.height<p&&(e._legendTestY=
(p-$.height)/2),e._markerYGutter=ba,e._legendX=va,e._legendY=Da,e._legendH=p,e._totalWidth=F+R+$.width,va+=$.width+B;else{$=L.getSmartText(e.name,l,n);e.name=$.text;for($.tooltext&&(e.originalText=$.tooltext);!0===ca[X];)X+=1;z=$.height/p;k=X;for(r=0;r<z;r+=1,k+=S)ca[k]=!0;$.height<p&&(e._legendTestY=(p-$.height)/2);z=parseInt(X/S,10);k=X%S;e._legendX=k*C;e._legendY=z*p+Da;e._legendH=r*p;e._totalWidth=F+R+$.width}X++}L=ia?1:ka(ca.length/S);J.height=J.totalHeight=q+(L*p+Fa);J.rowHeight=p;J.legendNumColumns=
S;J.height-2*f>b?(J.height=b,b=J.scroll||(J.scroll={}),b.enabled=!0,b.flatScrollBars=J.flatScrollBars,b.scrollBar3DLighting=J.scrollBar3DLighting,J.width=J.width+12>a?J.width:J.width+12):J.scroll.enabled=!1;h+=J.height;J.isActive=!0;J.enabled=!0}else J.enabled=!1,h=J.width=0}else h=0,J.height=0,J.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,t=g.components.canvas.config.canvasBorderThickness||
0,e=a.textPadding,g=a.title.padding,l=a.oriSymbolPadding,L=a.legendPadding,k=a.legendScale,J=parseInt(a.itemStyle.fontSize,10),Q=2*h.canvasHeight,m=0,U=2*a.padding,B=U,fa={},K=!1,f=f.items||[],p=f.length,S,R,n,Da=0;b-=U+L;J+=1;0>=J&&(J=1);l*=k;J=na(J*k,b);0>=J&&(l=J=0);a.symbolPadding=l;a.symbolWidth=J;a.legendHeight=k=J+2*l;a.rowHeight=W(parseInt(a.itemStyle.lineHeight,10)||12,k);t=L+a.borderWidth/2+t;R=b-k-L-e;0>R&&(R=0);c.useEllipsesOnOverflow(h.useEllipsesWhenOverflow);c.setStyle(a.itemStyle);
if(a.showLegend&&0!==p){for(Da=0;Da<p;Da+=1)S=f[Da],h=S.config||(S.config={}),n=S.configuration,S=h.name=d(n.label),h._legendX=0,h._legendY=B,0===n.enabled||!1===n.enabled||S===H?h.enabled=0:(h.enabled=1,K=!0,0===R?(B+=h._legendH=k,h.name=H,h._totalWidth=J+l):(S=c.getSmartText(S,R,Q),h.name=S.text,S.tooltext&&(h.originalText=S.tooltext),S.height<k&&(h._legendTestY=(k-S.height)/2),h._totalWidth=J+l+e+S.width+L,B+=h._legendH=W(S.height,k),m=W(S.width,m)));(a.validLegendItem=K)?(a.itemWidth=m+k+L+e,
a.width=a.itemWidth+U,a.title.oriText!==H&&(c.setStyle(a.title.style),S=c.getSmartText(a.title.oriText,b,Q),a.title.text=S.text,S.tooltext&&(a.title.originalText=S.tooltext),c=S.width+U,a.width<c&&(a.initialItemX=(c-a.width)/2,a.width=c),a.initialItemY=S.height+g,B+=a.initialItemY),a.height=a.totalHeight=B,t=na(a.width+t,b),fa.right=t+L,a.isActive=!0,a.enabled=!0):(a.enabled=!1,a.width=0,fa.right=0)}else fa.right=0,a.height=0,a.width=0;return fa},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,t=f.style,h=b.jsonData.chart||b.jsonData.map,e=b.components.colorManager,l=b.is3D?R.chart3D:R.chart2D,k,L,J=c(h.useroundedges,0);k=t.outCancolor;L=c(h.legendpadding,7);var Q=q(h.legenditemfont,
t.outCanfontFamily),m=c(h.legendiconscale,1),U=X(h.legenditemfontsize,t.fontSize),B=q(h.legenditemfontcolor,k).replace(/^#?([a-f0-9]+)/ig,"#$1"),fa=q(h.legendiconbgcolor),K=q(h.legendiconbordercolor),S=q(h.legendiconbgalpha,h.legendiconalpha,100),n=q(h.legendiconborderalpha,h.legendiconalpha,100),z=c(h.legendiconsides,4),r=c(h.legendiconborderthickness),F=c(h.legendiconstartangle,45),Sa=$(q(h.legenditemhoverfontcolor,B)),Qa=Da[c(h.legenditemfontbold,0)]||"",t=X(h.legendcaptionfontsize,t.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);U+="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:fa,borderColor:K,bgAlpha:S,borderAlpha:n,borderThickness:r,
startAngle:F,sides:z};a.legendScale=m;a.legendPadding=L;a.oriSymbolPadding=3;a.textPadding=4;a.alignLegendWithCanvas=c(h.alignlegendwithcanvas,1);a.itemStyle={color:sa(B),fontFamily:Q,fontSize:U,fontWeight:Qa};Ba(a.itemStyle);a.itemHiddenStyle={fontFamily:Q,fontSize:U,color:sa(q(h.legenditemhiddencolor,"cccccc").replace(/^#?([a-f0-9]+)/ig,"#$1")),fontWeight:Qa};Ba(a.itemHiddenStyle);a.title.style={fontFamily:q(h.legendcaptionfont,Q),fontSize:t,color:q(h.legendcaptionfontcolor,k).replace(/^#?([a-f0-9]+)/ig,
"#$1"),fontWeight:Da[c(h.legendcaptionfontbold,1)]||""};a.title.align=g[h.legendcaptionalignment&&h.legendcaptionalignment.toLowerCase()||g.center]||g.center;a.itemHoverStyle={color:sa(Sa.replace(/^#?([a-f0-9]+)/ig,"#$1"))};a.padding=4;f=q(h.legendbordercolor,e.getColor(l.legendBorderColor));k=c(h.legendborderalpha,100);L=c(h.legendbgalpha,100);a.backgroundColor=sa(q(h.legendbgcolor,e.getColor(l.legendBgColor)),L);a.borderColor=sa(f,k);a.borderWidth=c(h.legendborderthickness,!J||h.legendbordercolor?
1:0);a.borderRadius=c(J,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:W(k,L)/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,J?3:0);a.legendAllowDrag=Boolean(c(h.legendallowdrag,0));a.title.text=a.title.oriText=d(p(h.legendcaption,H));a.legendScrollBgColor=$(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,t=g.dummyObj,g=g.animObj,e=a.components.dataset,J=a.components.paper,Q=b.config,U=Q.reversed,B=b.components.items||[],fa=Q.legendHeight,S=Q.symbolPadding,p=Q.symbolWidth,R=Q.interactiveLegend,n=Q.textPadding||2,Da=c(Q.padding,4),f=f.textDirection,r=Q.itemHiddenStyle,F=Q.itemStyle,Sa=Q.itemHoverStyle,Qa=Q.lineWidth,s=F.color,v=r&&r.color||"#CCCCCC",r=b.graphics,
E=r.itemGroup,D=Q.drawCustomLegendIcon,C=Q.customLegendConfig,H,G,I,Y,M,O,P,W,T,ya,ha,na,rb,ca,ba,$,Fa,ka,va,da,X,ea,pa,ga,ta,wa,qa,Ja,Ta,za=m.hashify,Ga=function(b){var f=this.data("legendItem"),h=f.configuration.datasetObj||f.dataset,f=h.getEventArgs?h.getEventArgs(f):{};b=V(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=V(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)},Ba=function(b){var f=this.data("legendItem")||{},h=f.configuration.datasetObj||f.dataset,g=this.data("interactive"),
h=h.getEventArgs?h.getEventArgs(f):{};b=V(a.chartInstance,b);var d=!1!==f.dataset.visible,c=this.data("itemStyle"),t=f.graphics&&f.graphics.legendItemText;d&&g&&t&&t.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)},Wa=function(a){var f=this.data("legendItem"),h=f.dataset;this.data("interactive")&&f.legendClickFN.call(b,h,f,e);Ga.call(this,a)},Oa=function(){ka=
.5*p;Fa=W+S+ka;Y=T+(ba._markerYGutter||0)+S+ka;Ra&&(ka*=.6);Ja=l(ea.anchorSide);da=ea.symbol=Ja&&Ja.split("_")||[];va="spoke"===da[0]?1:0;$a={polypath:[da[1]||2,Fa,Y,ka,ea.startAngle,ea.spoke||va]};Ka={cursor:F.cursor||"pointer",stroke:I?pa:v,fill:I?ga:v,"stroke-width":X,ishot:R}},Ma,Ka,Na={},Ra,$a;H=Q.initialItemX||0;G=Q.initialItemY||0;if(!1!==Q.enabled&&Q.showLegend){ha=0;for(na=B.length;ha<na;ha+=1)Q=B[ha],Q.index=ha,ea=Q.configuration,O=ea.type,ba=Q.config=Q.config||(Q.config={}),r=Q.graphics||
(Q.graphics={}),rb=Q.dataset,rb.graphics&&(rb.graphics.legendGraphics=r),pa=ba.strokeColor=ea.strokeColor||"000000",ga=ba.fillColor=ea.fillColor||"000000",ba.interactiveLegend=ea.interactiveLegend,ba.legendBackgroundColor=ea.legendBackgroundColor?aa({color:ea.legendBackgroundColor,alpha:20}):aa(L),ta=ea.anchorSide,wa=ba.drawLine=ea.drawLine,Qa=ea.lineWidth||Qa,qa=ea.lineColor||pa,W=H+ba._legendX+Da,T=G+ba._legendY-Da,X=ba.strokeWidth=ea.strokeWidth||.5,ya=ba._legendH,I=!1!==rb.visible,rb=r.legendItemBackground,
M=r.legendItemText,ca=r.legendItemLine,$=r.legendItemSymbol,R=q(ba.interactiveLegend,R),!R&&(F.cursor="default"),0!==ba.enabled?(Ta={x:W+fa+n-2,y:T+(ba._legendTestY||0)},P={"class":"fusioncharts-legenditem",text:ba.name,fill:I?s:v,"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},Ma=$a=null,ba.textAttr=P,M?M.show().animateWith(t,g,{x:W+fa+n-2,y:T+(ba._legendTestY||
0)},h):M=r.legendItemText=J.text(Ta,E).data("legendItem",ba),M.attr(P),Ra=!1,D&&!1!==ea.customLegendIcon?(Ta=C.borderColor,M=q(C.borderAlpha),qa=C.bgColor,P=q(C.bgAlpha,"100"),ta||"line"===O||wa||"spline"===O?(O=za(ea.rawStrokeColor),ea.rawFillColor=za(ea.rawFillColor),ga=q(qa,ea.rawFillColor,ba.color),/^#/.test(ga)&&(ga=sa(ga,P)),qa=q(Ta,O,ba.strokeColor),qa=sa(qa,M),ba.anchorSide=C.sides):(O=q(ea.rawFillColor,ba.fillColor),ga=q(qa,O),ga=sa(ga,P),C.borderColor?qa=sa(C.borderColor,M):(/rgb/.test(O)&&
(O=K(O)),qa=ia(O,60).replace(z,N),qa=sa(qa,M))),ba.fillColor=ga,ba.strokeColor=qa,ka=.5*p,Fa=W+S+ka,Y=T+(ba._markerYGutter||0)+S+ka,da=(Ja=l(C.sides))&&l(C.sides).split("_")||[],va="spoke"===da[0]?1:0,$a={polypath:[da[1]||2,Fa,Y,ka,C.startAngle,va]},Ka={cursor:F.cursor||"pointer",stroke:I?qa:v,fill:I?ga:v,"stroke-width":c(C.borderThickness,1),ishot:R}):"line"===O||wa?(Y=T+(ba._markerYGutter||0)+S+.5*p,Ma={path:["M",W+S,Y,"L",W+S+p,Y]},Ra=!0,Na={"stroke-width":Qa,stroke:I?qa:v,cursor:F.cursor||"pointer",
ishot:R},ta&&Oa()):ta?Oa():"line"!==O&&($=r.legendItemSymbol,O=b._getSymbolPath(W+S,T+(ba._markerYGutter||0)+S,p,p,O),$a={path:O.path},Ka={"stroke-width":.5,stroke:I?pa:v,fill:I?ga:v,cursor:F.cursor||"pointer",ishot:R}),Ma&&Ra?(ba.lineAttr=Na,ca||(ca=r.legendItemLine=J.path(E),ca.attr(Ma)),ca.show().animateWith(t,g,Ma,h,d),ca.attr(Na).data("legendItem",ba)):ca&&ca.hide(),$a?(ba.symbolAttr=Ka,$||($=r.legendItemSymbol=J.polypath(E),$.attr($a)),$.show().animateWith(t,g,$a,h,d),$.attr(Ka),$.data("legendItem",
ba)):$&&$.hide(),ya={x:W,y:T,width:ba._totalWidth,height:ya},ca={r:0,fill:ba.legendBackgroundColor,"stroke-width":1,stroke:"none",cursor:F.cursor||"pointer",ishot:R},rb||(rb=r.legendItemBackground=J.rect(E),rb.attr(ya).mouseover(Ia).mouseout(Ba).click(Wa)),rb.show().animateWith(t,g,ya,h,d),rb.attr(ca),rb.data("legendItem",Q).data("interactive",R).data("itemHoverStyle",Sa).data("itemStyle",F)):(M&&M.hide(),rb&&rb.hide(),$&&$.hide(),ca&&ca.hide());U&&B.reverse()}},_getSymbolPath:function(b,a,f,g,h){var d=
["M"],c,t,e;switch(h){case "column":case "dragcolumn":case "column3d":c=.25*f;h=.5*c;t=.7*g;e=.4*g;d=d.concat([b,a+g,"l",0,-t,c,0,0,t,"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;t=g/4;e=t/2;d=d.concat([b,a,"L",b+h,a,b+h,a+t,b,a+t,"Z","M",b,a+t+e,"L",b+f,a+t+e,b+f,a+t+e+t,b,a+2*t+e,"Z","M",b,a+2*(t+e),"L",b+c,a+2*(t+e),b+c,a+g,b,a+g,"Z"]);break;case "area":case "area3d":case "areaspline":case "dragarea":t=.6*g;e=.2*g;h=.8*g;d=d.concat([b,
a+h,"L",b,a+t,b+.3*f,a+e,b+.6*f,a+t,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,t;for(h=0;h<d&&(t=f[h],!t.dataset||(c=q(t.dataset.legendItemId,t.legendItemId),c!==b));h++);for(g in t)if(g in a)switch(g){case "configuration":this.mergeConf(a[g],t[g]);break;default:t[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=sa(q(h.toolbarbuttoncolor,"ffffff"));f.labelFill=sa(q(h.toolbarlabelcolor,"cccccc"));f.symbolFill=sa(q(h.toolbarsymbolcolor,"ffffff"));f.hoverFill=sa(q(h.toolbarbuttonhovercolor,"ffffff"));f.stroke=sa(q(h.toolbarbuttonbordercolor,"bbbbbb"));f.symbolStroke=sa(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"===(H+h.toolbarhalign).toLowerCase()?"l":a.charAt(1);a=
f.vAlign="bottom"===(H+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=W(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=sa(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,t=a.xAxis["0"]||{},a=t.config,e=a.rawAttr.axisLineThickness,l=a.axisData||{},a=f.scrollOptions||{},L=f.canvasTop,J=f.canvasLeft,Q=f.canvasWidth,U=f.canvasHeight,B=f.canvasBorderWidth,l=B||(l.showLine?e:0),fa=B||e,e=B||e,g=f.useRoundEdges||(f.useRoundEdges=c(g.useroundedges,0)),K,S,p,R,n,Da,q,z,r,F,Sa,Qa=d.scroller,B=d.datasetGroup,v;a.enabled&&(v=d.scroll=d.scroll||h.group("scroll").insertAfter(B),B=a.scrollRatio,R=c(a.startPercent),n=a.viewPortMax,Da=a.viewPortMin,S=a.vxLength,ka(S),q=
a.showButtons,z=a.height,r=a.padding,F=a.color,Sa=a.flatScrollBars,S=a.windowedCanvasWidth=t.getAxisPosition(S),K=a.fullCanvasWidth=t.getAxisPosition(n-Da)-S,p=wa(R*K),Qa||(Qa=d.scroller=h.scroller(J-fa,L+U+l+r-!!l,Q+fa+e,z,!0,{showButtons:q,displayStyleFlat:Sa,scrollRatio:B,scrollPosition:R},v).data("fullCanvasWidth",K).data("windowedCanvasWidth",S).attr({"scroll-display-style":Sa,fill:F,r:g&&2||0}).scroll(function(a){var h=f.viewPortConfig;p=-wa(a*K);h.x=-p/h.scaleX;m.chartAPI.mscolumn2d._drawDataset.call(b);
t.draw()})),function(){var a;C.eve.on("raphael.scroll.start."+Qa.node.id,function(f){a=f;k.raiseEvent("scrollstart",{scrollPosition:f},b.chartInstance)});C.eve.on("raphael.scroll.end."+Qa.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,t=g.datalabelsGroup,e=g.trackerGroup,l,L={},
J,Q,U=b.components.xAxis["0"]||{};J=a.scrollOptions||{};var B=c(J.startPercent),fa=J.fullCanvasWidth,K,p=a.animation,R=J.startPercent,a=[W(0,a.canvasLeft),W(0,a.canvasTop),W(1,a.canvasWidth),W(1,a.canvasHeight)];J.enabled&&(d.attr({"clip-rect":a}),t.attr({"clip-rect":a}),e.attr({"clip-rect":a}),J=function(a){var f=g.canvas,d=l.left,c=l.top,t={pageX:0,pageY:0},e=a.state,t=S&&m.getTouchEvent(a)||t;a=a.originalEvent;d=(a.clientX||a.pageX||t.pageX)-d;c=(a.clientY||a.pageY||t.pageY)-c;switch(e){case "start":Q=
f.isPointInside(d,c);L.ox=Q&&d||null;if(!Q)return!1;L.prevScrollPosition=h.attrs["scroll-position"];k.raiseEvent("scrollstart",{scrollPosition:L.prevScrollPosition},b.logic.chartInstance);break;case "end":k.raiseEvent("scrollend",{prevScrollPosition:L.prevScrollPosition,scrollPosition:L.scrollPosition},b.logic.chartInstance);Q=!1;L={};break;default:if(!Q)break;f=d-L.ox;L.ox=d;L.scrollPosition=h.attrs["scroll-position"]-f/fa;h.attr({"scroll-position":L.scrollPosition})}},S&&(l=O(f),f&&(E(f,"pointerdrag",
J),ba(f,"pointerdrag",J))),0<B&&(K=-wa(B*fa),d&&d.transform(["T",K,0]),e&&e.transform(["T",K,0]),U.setOffset&&U.setOffset(K),p&&R?b.animationCompleteQueue.push({fn:function(){t&&t.transform(["T",K,0])},scope:b}):t&&t.transform(["T",K,0])))},_spaceOccupied:function(){var b=this.config;return{x:b.x,y:b.y,width:b.width,height:b.height}}}]);qa("base",{creditLabel:B,setChartMessage:function(b,a,f){var g=this.components||(this.components={}),h=this.chartInstance,t=h.options,e=h.args,l=this.config||(this.config=
{}),L=this.linkedItems&&this.linkedItems.smartLabel||h.jsVars.smartLabel,k=m.getImageURL(void 0!==b?b:t.dataEmptyMessage),J,Q;f&&!this.linkedItems?this.linkedItems={container:f}:f=this.linkedItems.container;J=l.prevWidth=f.offsetWidth;Q=l.prevHeight=f.offsetHeight;b=l.height=Number(Q);h=l.width=Number(J);l.hasChartMessage=!0;g.paper?g.paper.setSize(J,Q):(f=g.paper=new C(f,J,Q),f.setConfig("stroke-linecap","round"));k.image?(b=k.string,a=a?{imageHAlign:q(a._chartMessageImageStyle.imageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),
imageVAlign:q(a._chartMessageImageStyle.imageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(a._chartMessageImageStyle.imageAlpha,t.baseChartMessageImageAlpha),imageScale:c(a._chartMessageImageStyle.imageScale,t.baseChartMessageImageScale)}:{imageHAlign:q(e.dataEmptyMessageImageHAlign,t.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:q(e.dataEmptyMessageImageVAlign,t.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:c(e.dataEmptyMessageImageAlpha,t.baseChartMessageImageAlpha),
imageScale:c(e.dataEmptyMessageImageScale,t.baseChartMessageImageScale)},l.chartMessageType="image"):(a=a?{"font-family":a._chartMessageStyle.fontFamily||t.baseChartMessageFont,"font-size":a._chartMessageStyle.fontSize||t.baseChartMessageFontSize,fill:a._chartMessageStyle.color||t.baseChartMessageColor}:{"font-family":e.dataEmptyMessageFont||t.baseChartMessageFont,"font-size":e.dataEmptyMessageFontSize||t.baseChartMessageFontSize,fill:e.dataEmptyMessageColor||t.baseChartMessageColor},L.setStyle(a),
t=L.getSmartText(d(k.string),h,b),b={text:t.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||{},t=g.paper,e=b?g.chartMessage:g.background,l=e.graphics,g=l.backgroundElement,L=l.borderElement,e=e.config||{},J=f.config,Q=J.width,U=J.height,
B,fa,K,S,p,R,n,Da=f.get&&f.get("config","animationObj")||{},z=Da.animType,Sa=Da.animObj,Qa=Da.dummyObj,v=Da.duration,s,E,D=b?h.messageGroup:h.backgroundGroup,C=e.borderWidth||0,h=e.borderRadius,Da=e.borderDashStyle,G=e.borderColor,N=e.bgSWF=q(b,d.bgimage,d.bgswf),I=e.bgSWFAlpha=c(a&&a.imageAlpha,d.bgimagealpha,d.bgswfalpha,100),M=e.imgClipRect=C+","+C+","+(Q-2*C)+","+(U-2*C),O=q(d.bgimagedisplaymode,"none").toLowerCase(),P=(a&&r(a.imageVAlign)||r(d.bgimagevalign,H)).toLowerCase(),V=(a&&a.imageHAlign||
d.bgimagehalign||H).toLowerCase(),W=e.bgImageScale=c(a&&a.imageScale,d.bgimagescale,100),d=e.containerBackgroundColor=m.getContainerBackgroundColor(f);t.canvas.style.backgroundColor=d;"tile"==O||"fill"==O||"fit"==O?(P!=ga&&"middle"!=P&&P!=Ia&&(P="middle"),V!=Ra&&"middle"!=V&&V!=Ga&&(V="middle")):(P!=ga&&"middle"!=P&&P!=Ia&&(P=ga),V!=Ra&&"middle"!=V&&V!=Ga&&(V=Ra));e.bgSWFAlpha=I;e.bgImageVAlign=P;e.bgImageHAlign=V;e.backgroundColor=e=!b&&f._getBackgroundCosmetics();d={x:C,y:C,width:Q-2*C,height:U-
2*C,stroke:"none",fill:aa(e)};g?(g.animateWith(Qa,Sa,{x:C,y:C,width:Q-2*C,height:U-2*C},v,z),g.attr({stroke:"none",fill:aa(e)})):l.backgroundElement=t.rect(d,D);d={x:C/2,y:C/2,width:Q-C,height:U-C,stroke:G,"stroke-width":C,"stroke-dasharray":Da,fill:"none",r:h||0};L||b?b||(L.animateWith(Qa,Sa,{x:C/2,y:C/2,width:Q-C,height:U-C,r:h||0},v,z),L.attr({stroke:G,"stroke-width":C,"stroke-dasharray":Da,fill:"none"})):l.borderElement=t.rect(d,D);if(N)B=new F,K=fa=1,B.onload=function(){if(J.stopImageDraw)J.stopImageDraw=
!1;else{!l.backgroundImage&&(l.backgroundImage=[]);if(l.backgroundImage)for(E=0,s=l.backgroundImage.length;E<s;E++)l.backgroundImage[E].hide();S=Y(O,P,V,W,C,Q,U,B);S["clip-rect"]=M;if(S.tileInfo)for(fa=S.tileInfo.xCount,K=R=S.tileInfo.yCount,p=S.y,delete S.tileInfo,n=0;fa&&S.width&&S.height;)--R,l.backgroundImage[n]||(l.backgroundImage[n]=t.image(N,D)),l.backgroundImage[n].show(),l.backgroundImage[n].animateWith(Qa,Sa,S,v,z),l.backgroundImage[n].attr({src:N}).css({opacity:.01*I}),S.y+=S.height,0===
R&&(R=K,--fa,S.x+=S.width,S.y=p),n++;else l.backgroundImage[0]||(l.backgroundImage[0]=t.image(N,D),l.backgroundImage[0].attr(S)),l.backgroundImage[0].show(),l.backgroundImage[0].animateWith(Qa,Sa,S,v,z),l.backgroundImage[0].css({opacity:.01*I}).attr({src:N,visibility:ha,"clip-rect":M});k.raiseEvent("BackgroundLoaded",{url:N,bgImageAlpha:100*I,bgImageDisplayMode:O,bgImageVAlign:P,bgImageHAlign:V,bgImageScale:W,imageWidth:B.width,imageHeight:B.height},f.chartInstance)}},B.onerror=function(b){k.raiseEvent("BackgroundLoadError",
{url:N,bgImageAlpha:100*I,error:b,bgImageDisplayMode:O,bgImageVAlign:P,bgImageHAlign:V,bgImageScale:W},f.chartInstance)},B.src=N;else if(l.backgroundImage)for(E=0,s=l.backgroundImage.length;E<s;E++)l.backgroundImage[E].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,t=this.components.paper,e={href:m.CREDIT_HREF,text:m.CREDIT_STRING};h||(h=g.creditGroup=
t.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=t.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 U(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,t,e,l;h=!!a.btoa;var k=this,J=k.jsonData.chart,Q=c(J.exportshowmenuitem),U=J.exportformats,B=k.chartMenuTools,J=B.get,fa=B.set,B=this.components,S=k.config,K=S.exportOption.enabled;b=B.chartMenuBar;var S=S.printOption.enabled,p={PNG:"Export As PNG",JPG:"Export As JPG",PDF:"Export As PDF",SVG:"Export As SVG",XLS:"Export As XLS"},R={},n=[],Da;if(!b||!b.drawn){b=
B.tb||(B.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));l=b.init({graphics:k.graphics||(k.graphics={}),chart:k,components:B});B.toolBoxAPI=g=B.toolBoxAPI||(B.toolBoxAPI=b.getAPIInstances(b.ALIGNMENT_HORIZONTAL));d=g.SymbolWithContext;f=g.SymbolStore;t=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=wa(h/4);var g=.7*wa(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!==Q){if(U)for(Q=U.split("|"),R=0,K=Q.length;R<K;R++)U=Q[R].split("="),Da=U[0].toUpperCase(),p[Da]&&(p[Da]=U[1]);Q=function(b){return function(){m.exportChart.call(k,b)}};for(Da in p)if("XLS"!==Da||h)R={},R[p[Da]]={handler:Q({exportformat:Da}),action:"click"},n.push(R);fa(n)}S&&fa([{Print:{handler:function(b){k.chartInstance.print.call(k.chartInstance,b)},action:"click"}}]);d.appendAsList(J());h=new t(b.idCount++,
l);h.setConfiguaration({buttons:g,group:{fill:L,borderColor:L}});h.addSymbol(f);b=B.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,t=this.components,h=this.jsonData,e,l=this.chartInstance,L=t.colorManager,k=this.is3D,J=k?R.chart3D:R.chart2D,Q=this.isBar,U,B;U=!1;var S=t.legend,K={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={});t.colorRange||(t.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&&(Q?(h.xDepth=5,h.yDepth=5):(h.xDepth=10,h.yDepth=10),h.showCanvasBase=Q=Boolean(c(e.showcanvasbase,1)),h.canvasBasePadding=c(e.canvasbasepadding,2),h.canvasBaseDepth=Q?c(e.canvasbasedepth,10):0,h.canvasBgDepth=c(e.canvasbgdepth,3));t.colorManager&&t.colorManager.configure();h.placeAxisLabelsOnTop=c(e.placexaxislabelsontop,
0);Q=c(e.animation,e.defaultanimation,1);t=c(e.transposeanimation,0);Q=Q?1E3*c(e.animationduration,1):0;t=t?1E3*c(e.transposeanimduration,.2):0;h.animationObj&&(U=!0);h.animationObj=t={initAnimDuration:Q,transposeAnimDuration:t};t.duration=U||void 0!==t.duration?t.transposeAnimDuration:t.initAnimDuration;for(B in K)B===q(e.animationeffect)&&(h.animationeffect=K[B]);h.showToolTip=c(e.showtooltip,1);h.exportOption={enabled:c(e.exportenabled,0),bgcolor:l.jsVars.transparent||0===c(l.options.containerBackgroundOpacity,
1)?H:l.options.containerBackgroundColor||"#ffffff",bgalpha:(l.jsVars.transparent?0:c(l.options.containerBackgroundOpacity,1))+H,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,H),exportformat:q(e.exportformat,"PNG"),exportcallback:q(e.exportcallback,
H),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"===(H+e.toolbarhalign).toLowerCase()?"l":b.charAt(1),vAlign:g="bottom"===(H+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=X(e.basefontsize,10);b.inCancolor=l=q(e.basefontcolor,L.getColor(J.baseFontColor));b.outCanfontFamily=q(e.outcnvbasefont,a);b.fontSize=U=X(e.outcnvbasefontsize,g);b.outCanfontSize=U+Na;b.outCancolor=q(e.outcnvbasefontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1");b.baseFontSize=g;b.inCanfontSize=g+Na;b.inCancolor=
l.replace(/^#? ([a-f0-9]+)/ig,"#$1");b.inCanvasStyle=U={fontFamily:a,fontSize:g,color:l};b.inCanLineHeight=U=Ba(U);B=(B=p(e.valuebordercolor,H))?sa(B,c(e.valueborderalpha,e.valuealpha,100)):H;h.showBorder=c(e.showborder,k?0:1);h.borderWidth=W(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))+Na,lineHeight:U,color:sa(q(e.valuefontcolor,l),c(e.valuefontalpha,e.valuealpha,
100)),fontWeight:h.valuefontbold?"bold":"normal",fontStyle:c(e.valuefontitalic)?"italic":"normal",border:B||e.valuebgcolor?c(e.valueborderthickness,1)+"px solid":"",borderColor:B,borderThickness:c(e.valueborderthickness,1),borderPadding:c(e.valueborderpadding,2),borderRadius:c(e.valueborderradius,0),backgroundColor:e.valuebgcolor?sa(e.valuebgcolor,c(e.valuebgalpha,e.valuealpha,100)):H,borderDash:c(e.valueborderdashed,0)?P(c(e.valueborderdashlen,4),c(e.valueborderdashgap,2),c(e.valueborderthickness,
1)):"none"};Ba(k);h.orphanStyles={defaultStyle:{style:D({},b.inCanvasStyle)},connectorlabels:{style:D({},h.dataLabelStyle)},vyaxisname:{style:D({},b.inCanvasStyle)}};h.legendPosition=q(e.legendposition,Ia);h.logoURL=r(e.logourl);h.logoPosition=q(e.logoposition,"tl").toLowerCase();h.logoAlpha=c(e.logoalpha,100);h.logoLink=r(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);J=q(e.zeroplanecolor,
e.divlinecolor,L.getColor(J.divLineColor));L=q(e.zeroplanealpha,e.divlinealpha,L.getColor("divLineAlpha"));h.zeroPlaneColor=sa(J,L);h.zeroPlaneBorderColor=sa(q(e.zeroplanebordercolor,J),c(e.zeroplaneshowborder,1)?L:0);h.zeroPlaneShowBorder=c(e.zeroplaneshowborder,1);h.dataStreamURL=d(e.datastreamurl);h.realtimeEnabled=L=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);L&&this._realTimeConfigure();this._setToolTipOptions();S.configure();this.linkedItems.linkClickFN=fa(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=W(h?c(g.borderthickness,1):0,0);a.borderRadius=a.borderRadius=c(g.borderradius,0);a.borderDashStyle=a.borderDashStyle=c(g.borderdashed,0)?P(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=sa(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,t=this.is3D?R.chart3D:R.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=W(c(h.canvasborderthickness,e?0:c(this.canvasborderthickness,2),0));g.canvasBorderWidth=this.is3D?0:b?d:0;g.canvasBorderColor=sa(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(t.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,t,e,l,
L,k,J,Q;f.width=g=a.offsetWidth;f.height=Q=a.offsetHeight;f.minChartHeight=k=f.minChartHeightPercent*Q;f.minChartWidth=J=f.minChartWidthPercent*g;f.minCanvasWidth=a=f.minCanvasWidthPercent*J;f.minCanvasHeight=h=f.minCanvasHeightPercent*k;f.marginTop=d=f.origMarginTop;f.marginLeft=c=f.origMarginLeft;f.marginBottom=t=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=L=f.width-f.marginLeft-f.marginRight;f.availableHeight=l-h;f.availableWidth=L-a;l<k&&(l=Q-k,f.canvasHeight=k,Q=d+t,f.marginTop=l*d/Q,f.marginBottom=l*t/Q,f.availableHeight=k-h);L<J&&(l=g-J,Q=e+c,f.canvasWidth=J,f.marginLeft=l*c/Q,f.marginRight=l*e/Q,f.availableWidth=J-a);f.canvasLeft=f.marginLeft;f.canvasTop=f.marginTop;b.canvasPaddingLeft=na(b.origCanvasLeftPad,wa(.1*f.height));b.canvasPaddingRight=na(b.origCanvasRightPad,
wa(.1*f.height));b.canvasPaddingTop=na(b.origCanvasTopPad,wa(.1*f.height));b.canvasPaddingBottom=na(b.origCanvasBottomPad,wa(.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,t=c.canvasPadding||0,e=c.canvasPaddingLeft,l=c.canvasPaddingRight,L=c.canvasPaddingTop,c=c.canvasPaddingBottom;f&&f.setAxisDimention({x:b.canvasLeft+(d||0)+W(e,t),y:b.canvasBottom+
(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-(d||0)-W(e,t)-W(l,t)});f&&this._allocateXAxisLabelSpace(f);g&&g.setAxisDimention({x:b.canvasLeft-a,y:b.canvasTop+L,opposite:b.canvasRight+a,axisLength:b.canvasHeight-L-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,t=a.canvasLeft,e=a.canvasRight,
l=a.canvasTop,L=a.canvasBottom,k=a.width,J=a.height,Q=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=Q(t,b);g=Q(k-e,g);h=Q(l,h);f=Q(J-L,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,t=d.dummyObj,e=d.animObj,d=d.duration,l=this.config,L,k=l.prevWidth,J=l.prevHeight;l.animationStarted=!0;f?((k||J)&&f.setSize(k,J),k={width:b.offsetWidth,height:b.offsetHeight},L=!0,this._chartAnimation(!0),f.animateWith(t,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();!L&&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,t=a.config,e=t.animationeffect,l=function(){a._animCallBack()};!c||t.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),t.parentElementPause=!0,setTimeout(function(){t.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=na(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,t=a.canvasWidth,e=a.canvasHeight,l=a.marginBottom,L=a.marginRight,k=this.hasGradientLegend,J,Q,m;J=g.getLogicalSpace();Q=J.width;m=J.height;h===Ia?(h=t-Q,L=d+(0>h?0:h/2),l=a.height-J.height-l):(h=e-m,l=c+(0>h?0:h/2),L=a.width-J.width-L);f&&k&&g.draw(L,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},t;a||(a={});for(t in void 0)a[t]=(void 0)[t];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,t;a=g.legend.config.legendPos;var e=f.xDepth,l=f.yDepth,L=f.canvasBgDepth,k=f.canvasBaseDepth,J=f.canvasBasePadding,Q=g.canvas.config.canvasBorderWidth,m=f.realTimeConfig&&f.realTimeConfig.showRTValue,U=f.borderWidth,B=f.canvasMarginTop,fa=f.canvasMarginBottom,S=f.canvasMarginLeft,K=f.canvasMarginRight,g=f.minCanvasHeight,p=f.minCanvasWidth;b=f.minChartWidth;var R=f.minChartHeight,n=f.height,Da=f.width,q=!1,z=!1,r,F=
f.origCanvasTopMargin,Sa=f.origCanvasBottomMargin,Qa=f.origCanvasLeftMargin,v=f.origCanvasRightMargin,s,E,C=[];f.canvasWidth-2*U<b&&(t=(f.canvasWidth-b)/2);f.canvasHeight-2*U<R&&(c=(f.canvasHeight-R)/2);this._allocateSpace({top:c||U,bottom:c||U,left:t||U,right:t||U});U=0;for(t=d.length;U<t;U++)c=d[U],b=.7*f.availableWidth,b=c&&c.placeAxis(b)||{},C.push({axisIndex:U,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+J+k);L&&this._allocateSpace({right:L});f.canvasWidth-2*Q<p&&(E=(f.canvasWidth-p)/2);this._allocateSpace({left:E||Q,right:E||Q});p>Da-S-K&&(z=!0,l=f.canvasWidth-p,e=S+K,S=f.canvasMarginLeft=l*S/e,K=f.canvasMarginRight=l*K/e);S=S>f.canvasLeft?S-f.canvasLeft:0;K=K>Da-f.canvasRight?K+f.canvasRight-Da:0;this._allocateSpace({left:S,right:K});z&&(e=Qa+
v,z=f.canvasWidth,z>p&&(l=z-p,S=l*Qa/e,K=l*v/e),this._allocateSpace({left:S,right:K}));f.actualCanvasMarginRight=K;f.actualCanvasMarginBottom=r;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=
r=h&&h.placeAxis(a);h&&this._allocateSpace(r);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*f.canvasWidth));a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*Q<g&&(s=(f.canvasHeight-g)/2);this._allocateSpace({top:s||Q,bottom:s||Q});this._allocateSpace({bottom:k});g>n-B-fa&&(q=!0,l=f.canvasHeight-g,e=B+fa,B=f.canvasMarginTop=l*B/e,fa=f.canvasMarginBottom=l*fa/e);h=B>f.canvasTop?B-f.canvasTop:0;r=fa>n-f.canvasBottom?fa+f.canvasBottom-n:
0;this._allocateSpace({top:h,bottom:r});q&&(e=F+Sa,k=f.canvasHeight,k>g&&(l=k-g,h=l*F/e,r=l*Sa/e),this._allocateSpace({top:h,bottom:r}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=S},_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={},t=this.hasGradientLegend,e=c(this.jsonData.chart.mapbycategory,0);t&&h&&c(h.gradient)&&!e?(h=g.conf,t=!0,b.gLegendEnabled=!0,g=.5,h=h.legendPosition):(h=f.config,
t=!1,b.gLegendEnabled=!1,h=h.legendPos,g="right"===h?.8:.4);b="right"===h?b.availableWidth*g:b.availableHeight*g;t?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,t=this.components["datasetGroup_"+this.defaultDatasetType],e=0;a&&h&&d&&t&&(a=
t.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=W(h,g.left||-Infinity),d=W(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:W(b.top,g.height)):(this._allocateSpace({top:g.height}),b=this._manageCaptionSpacing(b));this._allocateSpace(b);return{top:W(g.height,b.top),bottom:b.bottom}},_getDSspace:function(b){var a=this.components.dataset,f,g=a.length,h,d,c={},t={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)t[e]=W(f[e],t[e]);for(e in c)if(d=
c[e],d.manageSpace)for(e in f=d.manageSpace&&d.manageSpace(b),f)t[e]=W(f[e],t[e]);a=t.paddingLeft;g=t.paddingRight;h=a+g;b<h&&(t.paddingLeft=b*a/h,t.paddingRight=b*g/h);return t},_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={},t,e,l,L=a.canvas.config,k=L.canvasBorderWidth,J=L.canvasPadding,a=0;a<g;a++)t=f[a],(e=t.groupManager)&&(c[t.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)+W(L.canvasPaddingLeft,J),y:b.canvasBottom+(b.shift||0)+k,opposite:b.canvasTop-k,axisLength:b.canvasWidth-(d||0)-W(L.canvasPaddingLeft,J)-W(L.canvasPaddingRight,J)}))},_setAxisLimits:function(){var b=this.components,a=b.dataset,f=b.yAxis,b=b.xAxis,g,h=a.length,d,c=-Infinity,t=Infinity,e=Infinity,l=-Infinity,L,k,J,Q={},m=[],U=function(b){k=q(b.xMax,-Infinity);J=q(b.xMin,Infinity);c=W(c,b.max);t=na(t,
b.min);l=W(l,k);e=na(e,J)};for(d=0;d<h;d++)g=a[d],(L=g.groupManager)?Q[g.type]=L:m.push(g);for(L in Q)a=Q[L].getDataLimits(),U(a);h=m.length;for(d=0;d<h;d++)a=m[d].getDataLimits(),U(a);-Infinity===c&&(c=0);Infinity===t&&(t=0);this.config.yMax=c;this.config.yMin=t;f[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});f[0].setDataLimit(c,t);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,t,e,l;t=sa(q(f.tooltipbgcolor,a.getColor("toolTipBgColor")),q(f.tooltipbgalpha,100));a=sa(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:sa(d.inCancolor),
backgroundColor:t,borderColor:a,borderWidth:e,padding:l};f.tooltipcolor&&(g.color=$(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:W(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,t=this.is3d,e=t?R.chart3D:R.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:X(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,t?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:t?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:X(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,t?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:t?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,t,e,l,L=this.defaultDatasetType,k=this.applicableDSList,J=this.components.legend.components.items||[],Q,m,U,B=this.isStacked,fa,S,K=[],p=this.isRealTime,R=this.config.catLen,n={};h&&0!==h.length||this.setChartMessage();this.config.categories=g.categories&&g.categories[0].category;t=a.dataset||(a.dataset=[]);e=t.length;for(g=0;g<c;g++)if(U=h[g],U.seriesname&&(U.seriesname=d(U.seriesname)),l=U.parentyaxis||"",m=(m=this.isDual&&"s"===l.toLowerCase()?q(U.renderas,this.sDefaultDatasetType):q(U.renderas,
L))&&m.toLowerCase(),k[m]||(m=L),b=FusionCharts.get("component",["dataset",m]))void 0===n[m]?n[m]=0:n[m]++,fa="datasetGroup_"+m,l=FusionCharts.register("component",["datasetGroup",m]),(Q=a[fa])&&K.push(Q),l&&!Q&&(Q=a[fa]=new l,Q.chart=this,Q.init()),(l=t[g])?(m=f.getCategoryLen(),b=R-m,fa=p?l.components:l.JSONData,S=fa.data&&fa.data.length,fa=p?0:U.data&&U.data.length||0,S-=fa,b=this._getDiff(S,fa,b,m),m=b.diff,b=b.startIndex,0<m&&l.removeData(b,m,!1),t[g].JSONData=U,t[g].configure(),t[g]._deleteGridImages&&
t[g]._deleteGridImages()):(l=new b,t.push(l),l.chart=this,l.index=g,Q&&(B?Q.addDataSet(l,0,n[m]):Q.addDataSet(l,n[m],0)),l.init(U));if(e>c){m=e-c;Q&&B&&Q.removeDataSet(0,g,m);a=g;for(c=m+g;a<c;a++)Q&&!B&&Q.removeDataSet(g,0,1),ab.call(t[a]);t.splice(g,m);J.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,t=d.config,d=t.clip={},e=a.canvasBorderElement,l=this.get("config","animationObj"),L=l.animType,k=l.animObj,J=l.dummyObj,l=l.duration,Q=a.canvasElement,m=f.canvasLeft,U=f.canvasTop,B=f.canvasWidth,fa=f.canvasHeight,S=t.xDepth=f.xDepth||0,f=t.yDepth=f.yDepth||0,g=g.canvasGroup,K=t.canvasBorderRadius,p=t.canvasBorderWidth,R=.5*p,n=t.canvasBorderColor,Da=t.canBGColor,q=t.canBGAlpha,
z=t.shadow,b=t.showCanvasBG=Boolean(c(b.showcanvasbg,1)),r=t.shadowOnCanvasFill,F=t.showCanvasBorder,t={x:m-R,y:U-R,width:B+p,height:fa+p,r:K,"stroke-width":p,stroke:n,"stroke-linejoin":2<p?"round":"miter"};F?e?(e.show(),e.animateWith(J,k,{x:m-R,y:U-R,width:B+p,height:fa+p,r:K},l,L),e.attr({"stroke-width":p,stroke:n,"stroke-linejoin":2<p?"round":"miter"}),e.shadow(z)):a.canvasBorderElement=h.rect(t,g).shadow(z):e&&e.hide();d["clip-canvas"]=[W(0,m-S),W(0,U-f),W(1,B+2*S),W(1,fa+f)];d["clip-canvas-init"]=
[W(0,m-S),W(0,U-f),1,W(1,fa+2*f)];b?(t={x:m,y:U,width:B,height:fa,r:K,"stroke-width":0,stroke:"none",fill:aa(Da)},Q?(Q.show(),Q.animateWith(J,k,{x:m,y:U,width:B,height:fa,r:K},l,L),Q.attr({"stroke-width":0,stroke:"none",fill:aa(Da)})):Q=a.canvasElement=h.rect(t,g),r?Q.shadow({opacity:q/100}):Q.shadow(!1)):Q&&Q.hide()},_getBackgroundCosmetics:function(){var b=this.jsonData.chart,a=this.components.colorManager,f=this.is3D?R.chart3D:R.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=L;a.toolbarConfig.borderColor=L;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,t=f.logoURL,l=f.logoAlpha/100,L=f.logoPosition,J=f.logoLink,Q=f.logoScale,m=f.logoLeftMargin,U=f.logoTopMargin,B,fa,f=b.get("config","animationObj"),S=f.animType,K=f.animObj,p=f.dummyObj,R=f.duration,f={tr:{vAlign:ga,hAlign:Ga},bl:{vAlign:Ia,hAlign:Ra},br:{vAlign:Ia,hAlign:Ga},cc:{vAlign:"middle",hAlign:"middle"}},n,Da,q;t?(n=new F,(q=f[L])||(q={vAlign:ga,hAlign:Ra}),
n.onload=function(){Da=Y("none",q.vAlign,q.hAlign,Q,g,d,h,n);e&&(Da.w=Da.width||0,Da.h=Da.height||0);Da.src=t;c?c.animateWith(p,K,Da,R,S):c=b.graphics.logoImage=a.image(Da);c.show();c.translate(m,U).css("opacity",l);J?c.css({cursor:"pointer",_cursor:"hand"}):c.css({cursor:"default",_cursor:"normal"});if(c.events&&c.events.length)for(fa=0,B=c.events.length;fa<B;fa++)c.events[fa].unbind(),c.events.splice(fa,1),--B,--fa;c.mouseover(function(a){a=V(b.chartInstance.ref,a);k.raiseEvent("LogoRollover",{logoURL:t,
logoAlpha:100*l,logoPosition:L||"tl",logoScale:Q,logoLink:J,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.mouseout(function(a){a=V(b.chartInstance.ref,a);k.raiseEvent("LogoRollout",{logoURL:t,logoAlpha:100*l,logoPosition:L||"tl",logoScale:Q,logoLink:J,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});c.click(function(a){a=V(b.chartInstance.ref,a);k.raiseEvent("LogoClick",{logoURL:t,logoAlpha:100*l,logoPosition:L||"tl",logoScale:Q,logoLink:J,
chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance,void 0,function(){J&&b.linkedItems.linkClickFN.call({link:J},b)})});k.raiseEvent("LogoLoaded",{logoURL:t,logoAlpha:100*l,logoPosition:L||"tl",logoScale:Q,logoLink:J},b.chartInstance)},n.onerror=function(a){k.raiseEvent("LogoLoadError",{logoURL:t,logoAlpha:100*l,logoPosition:L||"tl",logoScale:Q,logoLink:J,error:a},b.chartInstance)},n.src=t):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=W(d-((b.top||0)+(b.bottom||0)),0);f.availableWidth=W(c-((b.left||0)+(b.right||0)),0);f.canvasRight=f.canvasLeft+h;f.canvasBottom=f.canvasTop+g;a.canvasPaddingLeft=
W(a.canvasPaddingLeft,b.paddingLeft||0);a.canvasPaddingRight=W(a.canvasPaddingRight,b.paddingRight||0);a.canvasPaddingTop=W(a.canvasPaddingTop,b.paddingTop||0);a.canvasPaddingBottom=W(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,t;if(a){if(f){f.categoryInsert(h,b,!0);h=0;for(t=b.length;h<t;h++)b[h].vline||(c+=1);f.categoryDelete(0,c,!0)}this.config._sumValuesUpdated=!1;h=0;for(t=a.length;h<t;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,t=c.canvasPaddingTop,e=c.canvasPaddingBottom,l=c.canvasPadding||0,L=c.canvasPaddingLeft,c=c.canvasPaddingRight,k;d=b.xAxisSpaceAllocation;k=b.yAxisSpaceAllocation||[];var J=k[0]&&k[0].spaceTaken||{},Q=k[1]&&k[1].spaceTaken||{},m=b.primaryAxisOnleft,U,B,fa;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+J.left),this._allocateSpace({left:d.left-J.left}),d=b.availableWidth,J=b.canvasLeft-a,B=b.canvasRight+a,h&&(U=B,fa=J,0===m&&(m=J,J=U,U=m,m=B,B=fa,fa=m),k[1].spaceTaken=k=h.placeAxis(d+(Q.right||0)),this._allocateSpace({right:(k.right||0)-(Q.right||0)}),h.setAxisDimention({x:U,y:b.canvasTop+t,opposite:fa,axisLength:b.canvasHeight-t-e})),f&&f.setAxisDimention({x:b.canvasLeft+W(L,l),
y:b.canvasBottom+(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-W(L,l)-W(c,l)}),g&&g.setAxisDimention({x:J,y:b.canvasTop+t,opposite:B,axisLength:b.canvasHeight-t-e}),g.draw(),this._drawCanvas())},realTimeDraw:function(b,a,f,g,h){var d=this.components,c=d.xAxis&&d.xAxis[0],t=d.yAxis&&d.yAxis[0],e=d.yAxis&&d.yAxis[1],l=d.scale,d=d.dataset,L=this.config.realTimeConfig,J=L.sync,Q=L.showRTValue,m=L.maxminFlag,U,B,fa=d.length;B=(new Date).getTime();this._chartAnimation(J);this.rtManageSpace&&
this._RTmanageSpace();if(d){c&&c.draw();this._setAxisLimits();m&&t&&t.draw();e&&e.draw();m&&l&&l.draw();for(c=0;c<fa;c++)U=d[c].groupManager,!U&&d[c].draw();Q&&this._drawRealTimeValue&&this._drawRealTimeValue();U&&U.draw()}B=(new Date).getTime()-B;a={data:a,updateObject:L.legacyUpdateObj,prevData:f,source:b?"XmlHttpRequest":"feedData",latency:B};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={}),t,e=h.components,l=e.xAxis,L=h.components.dataset,k,J,Q=c.clearInterval,m=c.refreshInterval,U=c.updateInterval,B=h.linkedItems.timers||(h.linkedItems.timers={setTimeout:{},setInterval:{}}),fa=L.length,S=c.prevData;t=h._linearDataParser(b);if(d&&h.chartInstance.isActive()){if(c.clear){for(d=0;d<fa;d++)L[d]._realTimeConfigure(!0);c.clear=!1}m<U&&(m=c.refreshInterval=c.updateInterval);
e.messageLogger&&e.messageLogger.addLog(t);e.alertManager&&e.alertManager.processRTData(t);h.realTimeUpdate(t);h.canvasPadding&&h._adjustCanvasPadding();m&&!1===c.clearIntervalFlag?(h.realTimeDraw(a,b,S,f,g),c.refreshIntervalFlag=!1):m&&!c.refreshIntervalFlag?(c.refreshIntervalFlag=!0,B.setTimeout.loadData=setTimeout(function(){k=(new Date).getTime();h.realTimeDraw(a,b,S,f,g);J=(new Date).getTime();c.refreshIntervalFlag=!1;c.refreshIntervalTimeDifference=J-k},1E3*m-(c.refreshIntervalTimeDifference||
0))):m||h.realTimeDraw(a,b,S,f,g);Q&&!c.clearIntervalFlag&&l&&(c.clearIntervalFlag=!0,B.setTimeout.clearData=setTimeout(function(b){k=(new Date).getTime();try{clearTimeout(b.setTimeout.loadData)}catch(a){clearTimeout(B.setTimeout.loadData)}h._clearChart();J=(new Date).getTime();c.clearIntervalTimeDifference=J-k;c.clearIntervalFlag=!1},1E3*Q-(c.clearIntervalTimeDifference||0),B));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,t,e,l,L,k,J,Q,m,U,B,fa,S,K,p,R,n,Da,q=this.components.dataset,q=q&&
q.length;U=this.config.realTimeConfig;var z=U.prevData=[],r=U.legacyUpdateObj={},F=r.values=[],Sa=r.target=[],Qa=r.valueVisibility=[],v=r.toolTexts=[],s=r.toolTextsTarget=[],E=r.colors=[],C=r.links=[],D=0,G={categories:{category:[]},dataset:[]},N=G.categories.category,I=G.dataset,Y;b=b&&b.toString&&b.toString()||"";this.rtParserModify&&(b=b.replace(/\|/g,","));f=b.split("&");U=0;for(B=f.length;U<B;U+=1)if(g=f[U].split("="),h=g[1],g=g[0],g!==H&&void 0!==g&&void 0!==h&&(h!==H||a))switch(Y=g.toLowerCase(),
Y){case "label":r.labels=fa=h.split(",");break;case "vline":r.vlines=S=h.split(",");break;case "vlinelabel":r.vlineLabels=L=h.split(",");break;case "vlinecolor":r.vlineColors=k=h.split(",");break;case "vlinethickness":r.vlineThickness=J=h.split(",");break;case "vlinedashed":r.vlineDashed=Q=h.split(",");break;case "value":K=h.split("|");break;case "target":p=h.split("|");break;case "showlabel":r.showLabels=m=h.split(",");break;case "showvalue":d=h.split("|");break;case "tooltext":c=h.split("|");break;
case "targettooltext":t=h.split("|");break;case "link":l=h.split("|");break;case "color":e=h.split("|");break;case "datastamp":r.dataStamp=R=h;break;case "stopupdate":r.pause=n="1"==h;break;case "clear":r.clear=Da="1"==h;break;default:r[g]=G[g]=h}f=K&&K.length;for(U=0;U<f;U++)F[U]=K[U].split(","),Sa[U]=p&&p[U]&&p[U].split(","),Qa[U]=d&&d[U]&&d[U].split(","),v[U]=c&&c[U]&&c[U].split(","),s[U]=t&&t[U]&&t[U].split(","),E[U]=e&&e[U]&&e[U].split(","),C[U]=l&&l[U]&&l[U].split(","),D=W(D,F[U].length);d=
W(fa&&fa.length||0,D||0);for(U=0;U<d;U++)N.push({label:fa&&fa[U],color:k&&k[U],showlabel:m&&m[U]});S&&N.push({label:L&&L[0],vline:S&&S[0],color:k&&k[0],thickness:J&&J[0],dashed:Q&&Q[0],showlabel:m&&m[0]});for(U=0;U<q;U++){J={};L=J.data=[];Q=z[U]=[];for(k=0;k<d;k++)L.push({value:F[U]&&F[U][k],target:Sa[U]&&Sa[U][k],showvalue:Qa[U]&&Qa[U][k],tooltext:v[U]&&v[U][k],tooltexttarget:s[U]&&s[U][k],color:E[U]&&E[U][k],link:C[U]&&C[U][k]}),Q.push(F[U]&&F[U][k]);I.push(J)}n&&this._stopUpdate();Da&&this._clearChart();
R&&(this.config.dataStamp=R);return G},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(ba(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);E(f,"click",this.onContainerClick);b.push(ba(f,"click",this.onContainerClick,this));E(a,"mouseover",this.chartHoverManager,this);E(a,"touchstart",this.chartHoverManager,this);E(a,"mouseout",this.chartHoverManager,this);E(a,"touchend",this.chartHoverManager,this);b.push(ba(a,"mouseover touchstart mouseout touchend",this.chartHoverManager,this));E(f,"mousemove",this.onContainerMouseMove,this);E(f,"touchmove",this.onContainerMouseMove,
this);g&&b.push(ba(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=D({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=D({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=D({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=D({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,E(M,"mouseover",g.winMouseHover)):f.viewportElement||(g.mouseStateIn=!1,g.onContainerRollOut(b),E(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,t=b.config.style,e=t.outCanfontFamily,l=t.outCancolor,t=t.fontSize,f=f.subCaption,L=f.config;g.components.text=d(a.caption);f.components.text=
d(a.subcaption);h.style={fontFamily:q(a.captionfont,e),color:sa(q(a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.captionfontsize,t+3)+Na,fontWeight:0===c(a.captionfontbold)?"normal":"bold"};h.align=L.align=q(a.captionalignment,Ma);switch(h.align){case Ga:h.align="end";break;case Ra:h.align="start";break;default:h.align="middle"}h.isOnTop=L.isOnTop=c(a.captionontop,1);h.isOnLeft=!c(a.captiononright,0);h.captionPosition=r(a.captionposition,"top").toLowerCase();h.alignWithCanvas=
L.alignWithCanvas=c(b.aligncaptionwithcanvas,a.aligncaptionwithcanvas,1);h.horizontalPadding=L.horizontalPadding=c(a.captionhorizontalpadding,h.alignWithCanvas?0:15);h.drawCaption=!0;Ba(h.style);L.style={fontFamily:q(a.subcaptionfont,a.captionfont,e),color:sa(q(a.subcaptionfontcolor,a.captionfontcolor,l).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:c(a.subcaptionfontsize,c(W(c(a.captionfontsize)-3,-1),t)+c(b.subTitleFontSizeExtender,1))+Na,fontWeight:0===c(a.subcaptionfontbold,b.subTitleFontWeight,
a.captionfontbold)?"normal":"bold"};Ba(L.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,t=b.linkedItems.smartLabel,e=f.caption,l=e.graphics,L=l.captionElement,k=f.subCaption,f=k.graphics,J=f.subCaptionElement,Q=e.components,e=e.config,m=k.config,U=e.style,B=m.style,k=k.components,fa=Q.text,S=k.text,K=e.x,p=e.align,R,n=a.showToolTip;R=b.get("config","animationObj");var Da=R.animType,q=R.animObj,z=R.dummyObj,r=R.duration;
!fa&&!S||d||(d=h.captionGroup=c.group("caption"),d.trackTooltip(!0),h.tracker?d.insertBefore(h.trackerGroup):d.insertAfter(h.datasetGroup));fa?(b._addCSSDefinition(".fusioncharts-caption",U),R={"class":"fusioncharts-caption",text:Q.text,fill:U.color,x:K,y:e.y,"text-anchor":p||"middle","vertical-align":e.verticalAlign||"top",visibility:e.drawCaption?"visible":"hidden",direction:g},L?(L.animateWith(z,q,{x:K,y:e.y,"text-anchor":p||"middle","vertical-align":e.verticalAlign||"top",direction:g},r,Da),L.attr({"class":"fusioncharts-caption",
"text-anchor":p||"middle",text:Q.text,fill:U.color,visibility:e.drawCaption?"visible":"hidden"})):L=l.captionElement=c.text(R,d).attr("class","fusioncharts-caption"),L.tooltip(Q.originalText),L.css(U),t&&(t.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),t.setStyle(U),t.getOriSize(Q.text))):L&&(l.captionElement=L.remove());S?(b._addCSSDefinition(".fusioncharts-subcaption",B),R={"class":"fusioncharts-subcaption",text:k.text,fill:B.color,x:K,y:m.y,"text-anchor":p||"middle","vertical-align":"top",direction:g,
visibility:e.drawCaption?"visible":"hidden"},J?(J.animateWith(z,q,{x:K,y:m.y,"text-anchor":p||"middle","vertical-align":"top",direction:g},r,Da),J.attr({"class":"fusioncharts-subcaption","text-anchor":p||"middle",text:k.text,fill:B.color,visibility:e.drawCaption?"visible":"hidden"})):J=f.subCaptionElement=c.text(R,d).attr("class","fusioncharts-subcaption"),J.css(B),J.tooltip(k.originalText)):J&&(f.subCaptionElement=J.remove());d&&d.trackTooltip(n?!0:!1);fa||S||!d||(h.captionGroup=d.remove())},manageSpace:function(b,
a){var f=this.chart,g=f.config,h=f.components,t=h.caption,e=h.subCaption,l=t.config,L=e.config,t=t.components,e=e.components,k=f.jsonData.chart,f=f.linkedItems.smartLabel,J=b,Q=d(k.caption),m=d(k.subcaption),U=k=c(k.captionpadding,10),B=g.canvasWidth,fa=!1,S,K,p=0,R=0,n=0,Da=0,q=0,R=W(h.canvas.config.canvasBorderThickness,0),z=h=0;!a&&(a=B);if(3<J){k<R&&(k=R+2);Q!==H&&(S=l.style,Da=ka(c(parseFloat(S.fontHeight,10),parseFloat(S.lineHeight,10),12)));m!==H&&(K=L.style,q=c(parseInt(K.fontHeight,10),parseInt(K.lineHeight,
10),12));if(0<Da||0<q)J=W(J,0),p=Da+q+k,p>J?(R=J-p,fa=!0,R<k?k=W(R,5):(R-=k,k=0,q>R?(n=q-R+10,q=0,e._originalText=e.text,e.text=""):(R-=q,q=0,Da>R&&(n=Da-R)))):n=J-p,f.useEllipsesOnOverflow(g.useEllipsesWhenOverflow),0<Da&&(f.setStyle(S),Da+=n,S=f.getSmartText(Q,a,Da),n=Da-S.height,l.height=Da=S.height,t.text=S.text,t.originalText=S.tooltext?S.tooltext:!1,h=S.width),0<q&&(f.setStyle(K),q+=n,K=f.getSmartText(m,a,q),n=q-K.height,q=K.height,e.text=K.text,L.height=K.height,e.originalText=K.tooltext?K.tooltext:
!1,z=K.width),fa&&0<n&&(k+=na(U-k,n)),l.captionPadding=k,l.height=Da,l.width=h,L.width=z,L.height=q,p=Da+q+k;p>g.canvasHeight?(p=0,l.drawCaption=!1):l.drawCaption=!0;g=l.isOnTop?{top:p}:{bottom:p,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,t=f.subCaption.config,e=h.x,l=a.canvasWidth,e=h.align,g=g.components.text,k=h.alignWithCanvas,L=h.horizontalPadding,J=a.width,Q=a.canvasLeft,
m=a.canvasRight,U=a.marginRight,B=a.marginLeft,a=a.marginTop,fa=(wa(Q)||0)+c(l,J)/2,l=h.height,S=t.height,K=f.legend.config,p=K.height,R=K.legendPadding,n=K.legendPos,Da=f.gradientLegend,q=0,z=b.config.borderWidth,f=f.actionBar,r=0;K.isActive||(p=0);b.config.gLegendEnabled&&(q=Da.getLogicalSpace().height);switch(e){case "end":e=k?m-L:J-L;break;case "start":e=k?Q+L:L;break;default:e=k?fa:B+.5*(J-B-U)||J/2}h.x=e;h.isOnTop?h.y=(z||0)+(a||0)+(h._offsetHeight||0):("right"===n&&(q=p=R=0),f&&(e=f.getLogicalSpace()||
{},r=e.height,void 0===r||Infinity===r||0>r)&&(r=0),h.y=b.config.height-b.config.marginBottom-l-(S||0)-(z||0)-(R||0)-(p||0)-q-d-r);t.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,t=(d=this.is3d)?R.chart3D:R.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),
outCanfontSize:X(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,h.basefontcolor,f.getColor(t.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(t.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:X(h.outcnvbasefontsize,h.basefontsize,10),outCancolor:q(h.outcnvbasefontcolor,
h.basefontcolor,f.getColor(t.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(t.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,t,g=this._dataSegregator(h);this.config.categories=g.data;f=b.dataset||(b.dataset=[]);if(!h||0===h.length)this.setChartMessage();
else if(d&&(t=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;t=g.data&&g.data.length||0;if(h>t){if(a)for(d=t;d<h;d++)b[d]&&b[d].legendItemId&&a.removeItem(b[d].legendItemId);f[0].removeData(t,h-t,!1)}f[0].JSONData=g;f[0].configure()}else a=new t,f.push(a),a.chart=this,d&&d.addDataSet(a,0,0),a.index=0,a.init(g)},
_dataSegregator:function(b){var a=[];t(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,t,e=this.is3d,l=e?R.chart3D:R.chart2D,k,L=b.primaryAxisOnleft=c(h.primaryaxisonleft,1),J=c(h.syncaxislimits,0);t=[{line:[]}];k=[{line:[]}];var Q,m=g.trendlines||[];d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:X(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:X(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:J?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):c(h.pyaxisminvalue,h.yaxisminvalue),axisMaxValue:J?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:X(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:J?c(h.syaxisminvalue,h.pyaxisminvalue,h.yaxisminvalue):h.syaxisminvalue,axisMaxValue:J?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;J=0;for(l=m.length;J<l;J++)for(g=m[J]&&m[J].line||[],e=g.length,Q=0;Q<e;Q++)h=g[Q]||{},h.parentyaxis&&h.parentyaxis.toLowerCase(),"s"===h.parentyaxis?t[0].line.push(h):k[0].line.push(h);b.trendlines=k;f.trendlines=t;k=a.yAxis[0];t=a.yAxis[1];a=a.xAxis[0];1===L?(k.setCommonConfigArr(b,!0,!1,!1),t.setCommonConfigArr(f,!0,!1,!0)):(k.setCommonConfigArr(b,
!0,!1,!0),t.setCommonConfigArr(f,!0,!1,!1));a.setCommonConfigArr(d,!1,!1,!1);k.configure();t.configure();a.configure();t.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,t=-Infinity,e=Infinity,l=-Infinity,k=Infinity,L=Infinity,J=-Infinity,Q,m=c(this.jsonData.chart.syncaxislimits,0),U={},B=function(b){return-Infinity===b||Infinity===b?null:b},fa=function(b){S?(l=W(l,
b.sYMax||b.max),k=na(k,b.sYMin||b.min)):(t=W(t,b.max),e=na(e,b.min));J=W(J,b.xMax||-Infinity);L=na(L,b.xMin||Infinity)},S=0;for(d=0;d<h;d++)g=a[d],Q=g.groupManager,S=g.config.parentYAxis,Q?(U[g.type]=Q,U[g.type].yAxisIndex=S):(g=g.getDataLimits(),fa(g));for(Q in U)S=U[Q].yAxisIndex,g=U[Q].getDataLimits(),t=W(t,g.max),e=na(e,g.min),l=W(l,g.sYMax),k=na(k,g.sYMin);m?(a=W(t,l),Q=na(e,k),f[0].setDataLimit(a,Q),f[1].setDataLimit(a,Q)):(t=B(t),e=B(e),l=B(l),k=B(k),f[0].setDataLimit(t,e),f[1].setDataLimit(l,
k));f[0].getDivLineCount();if(-Infinity!==J||Infinity!==L)b[0].config.xaxisrange={max:J,min:L},b[0].setDataLimit(J,L)},_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,t=a.canvas.config,e=t.canvasBorderWidth,l=t.canvasPadding,k=t.canvasPaddingLeft,L=t.canvasPaddingRight,a=t.canvasPaddingTop,J=b.primaryAxisOnleft,t=t.canvasPaddingBottom;g&&g.setAxisDimention({x:b.canvasLeft+(c||0)+W(k,l),y:b.canvasBottom+(b.shift||
0)+e,opposite:b.canvasTop-e,axisLength:b.canvasWidth-(c||0)-W(k,l)-W(L,l)});J?(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-t});f&&f.setAxisDimention({x:l,y:b.canvasTop+a,opposite:e,axisLength:b.canvasHeight-a-t});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,t,e,l=this.defaultDatasetType,k=this.applicableDSList,L=this.components.legend,J,Q,m,U,B=this.isStacked,fa,S,K=[],p=this.isRealTime,R=this.config.catLen,n={};g||this.setChartMessage();this.config.categories=f.categories&&f.categories[0].category;c=b.dataset||(b.dataset=[]);
t=c.length;for(f=0;f<h;f++)if(U=g[f],U.seriesname&&(U.seriesname=d(U.seriesname)),e=U.parentyaxis||"",Q=(Q=this.isDual&&"s"===e.toLowerCase()?q(U.renderas,this.sDefaultDatasetType):q(U.renderas,l))&&Q.toLowerCase(),k[Q]||(Q=l),m=FusionCharts.get("component",["dataset",Q]))void 0===n[Q]?n[Q]=0:n[Q]++,fa="datasetGroup_"+Q,e=FusionCharts.register("component",["datasetGroup",Q]),(J=b[fa])&&K.push(J),e&&!J&&(J=b[fa]=new e,J.chart=this,J.init()),(e=c[f])?(Q=a.getCategoryLen(),fa=R-Q,m=p?e.components:e.JSONData,
S=m.data&&m.data.length||0,m=U.data&&U.data.length||0,S-=m,fa>S||(fa=S,Q=m),0<fa&&e.removeData(Q,fa,!1),c[f].JSONData=U,c[f].configure(),c[f]._deleteGridImages&&c[f]._deleteGridImages()):(e=new m,c.push(e),e.chart=this,e.index=f,J&&(B?J.addDataSet(e,0,n[Q]):J.addDataSet(e,n[Q],0)),e.init(U));if(t>h){fa=t-h;J&&B&&J.removeDataSet(0,f,fa);b=f;for(h=fa+f;b<h;b++)J&&!B&&J.removeDataSet(f,0,1),c[b].visible=!1,c[b].draw(),L.removeItem(c[b].legendItemId);c.splice(f,fa)}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,t=this.components,e=t.canvas,l=t.colorManager,t=t.paper,k=e.graphics,L=k.canvasBorderElement,m=k.canvasElement,U=e.config,B=U.clip={},e=this.graphics.canvasGroup,fa=k.canvasBg,S=k.canvas3DBase,K=this.get("config","animationObj"),p=K.animType,n=K.animObj,Da=K.dummyObj,K=K.duration,r=k.canvas3dbaseline,F=U.canvasBgColor,Sa=U.showCanvasBG=Boolean(c(d.showcanvasbg,1)),Qa=b.canvasBgDepth,
v=b.showCanvasBase,s=b.canvasBaseDepth,E=U.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),D=U.use3DLighting=c(d.use3dlighting,1),F=R.chart3D,G=U.canvasBorderRadius=c(d.plotborderradius,0),H=U.canvasBorderColor=sa(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),I=U.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),Y=U.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),M=b.xDepth,d=b.yDepth,l=b.canvasBasePadding||2,F=D?U.canvasBgColor={FCcolor:{color:Ja(Y,
85)+Ka+ia(Y,55),alpha:I+Ka+I,ratio:Q,angle:J(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:U.canvasBgColor=sa(Y,I);Y.split(Ka);I.split(Ka);M=U.xDepth=10;d=U.yDepth=10;b={x:a-0,y:f-0,width:g+0,height:h+0,r:G,"stroke-width":0,stroke:H,"stroke-linejoin":"miter"};L?(L.animateWith(Da,n,{x:a-0,y:f-0,width:g+0,height:h+0,r:G},K,p),L.attr({"stroke-width":0,stroke:H,"stroke-linejoin":"miter"})):k.canvasBorderElement=t.rect(b,e);B["clip-canvas"]=[W(0,a-M),W(0,f),W(1,g+M),W(1,
h+d)];B["clip-canvas-init"]=[W(0,a-M),W(0,f-d),1,W(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:G,"stroke-width":0,stroke:"none",fill:aa(F)};Sa?(m?(m.show(),m.animateWith(Da,n,{x:a,y:f,width:g,height:h,r:G},K,p),m.attr({"stroke-width":0,stroke:"none",fill:aa(F)})):k.canvasElement=t.rect(b,e),b=["M",a+g,",",f,"L",a+g+Qa,",",f+1.2*Qa,",",a+g+Qa,",",f+h-Qa,",",a+g,",",f+h,"Z"],fa?(fa.show(),fa.animateWith(Da,n,{path:b},K,p),fa.attr({path:b})):fa=k.canvasBg=t.path(b,e),fa.attr({"stroke-width":0,stroke:"none",
fill:aa(F)})):(m&&m.hide(),fa&&fa.hide());v?(b=a-M-l,L=f+h+d+l,m=M+l,fa=d+l,S?(S.show(),S._.cubeside.show(),S._.cubetop.show(),S.animateWith(Da,n,{cubepath:[b,L,g,s,m,fa]},K,p),S.attr({cubepath:[b,L,g,s,m,fa]})):S=k.canvas3DBase=t.cubepath(b,L,g,s,m,fa,e),S.attr({stroke:"none","stroke-width":0,fill:[E.replace(z,N),!D]}),r?(r.show(),r.animateWith(Da,n,{path:["M",a,f+h,"H",g+a]},K,p)):r=k.canvas3dbaseline=t.path(void 0,e),r.attr({path:["M",a,f+h,"H",g+a],stroke:C.tintshade(E.replace(z,N),.05).rgba})):
(S&&(S.hide(),S._.cubeside.hide(),S._.cubetop.hide()),r&&r.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,t=this.is3d,e=t?R.chart3D:R.chart2D;d={outCanfontFamily:q(h.outcnvbasefont,h.basefont,"Verdana,sans"),outCanfontSize:X(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,t?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:t?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:X(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,t?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:t?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,t=f.yDepth,e=f.canvasBgDepth,l=f.canvasBaseDepth,k=f.canvasBasePadding,L=g.canvas.config.canvasBorderWidth,J=f.realTimeConfig&&f.realTimeConfig.showRTValue,Q=f.borderWidth,m=f.canvasMarginTop,U=f.canvasMarginBottom,B=f.canvasMarginLeft,fa=f.canvasMarginRight,g=f.minCanvasHeight,S=f.minCanvasWidth,K=f.minChartWidth,p=f.minChartHeight,R=f.height,n=f.width,Da=!1,q=!1,z,r=f.origCanvasTopMargin,F=f.origCanvasBottomMargin,
Sa=f.origCanvasLeftMargin,Qa=f.origCanvasRightMargin,v,s,E;f.canvasWidth-2*Q<K&&(v=(f.canvasWidth-K)/2);f.canvasHeight-2*Q<p&&(b=(f.canvasHeight-p)/2);this._allocateSpace({top:b||Q,bottom:b||Q,left:v||Q,right:v||Q});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;
t&&(this._allocateSpace({left:t}),f.shift=c+k+l);e&&this._allocateSpace({top:e});f.canvasWidth-2*L<S&&(E=(f.canvasWidth-S)/2);this._allocateSpace({left:E||L,right:E||L});S>n-B-fa&&(q=!0,t=f.canvasWidth-S,c=B+fa,B=f.canvasMarginLeft=t*B/c,fa=f.canvasMarginRight=t*fa/c);B=B>f.canvasLeft?B-f.canvasLeft:0;fa=fa>n-f.canvasRight?fa+f.canvasRight-n:0;this._allocateSpace({left:B,right:fa});this._allocateSpace({left:l});q&&(c=Sa+Qa,l=f.canvasWidth,l>S&&(t=l-S,B=t*Sa/c,fa=t*Qa/c),this._allocateSpace({left:B,
right:fa}));f.actualCanvasMarginRight=fa;f.actualCanvasMarginBottom=z;this._manageChartMenuBar(a);a=.2*f.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*f.availableHeight;f.realtimeEnabled&&(J?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());a=.6*f.availableHeight;f.xAxisSpaceAllocation=z=h&&h.placeAxis(a);h&&this._allocateSpace(z);a=.3*f.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);f.canvasHeight-2*L<g&&(s=(f.canvasHeight-
g)/2);this._allocateSpace({top:s||L,bottom:s||L});g>R-m-U&&(Da=!0,t=f.canvasHeight-g,c=m+U,m=f.canvasMarginTop=t*m/c,U=f.canvasMarginBottom=t*U/c);h=m>f.canvasTop?m-f.canvasTop:0;z=U>R-f.canvasBottom?U+f.canvasBottom-R:0;this._allocateSpace({top:h,bottom:z});Da&&(c=r+F,U=f.canvasHeight,U>g&&(t=U-g,h=t*r/c,z=t*F/c),this._allocateSpace({top:h,bottom:z}));f.actualCanvasMarginTop=h;f.actualCanvasMarginLeft=B},_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,t=c.canvasPadding,e,l,k;g&&this._allocateXAxisLabelSpace(g);e=c.canvasPaddingLeft;l=c.canvasPaddingRight;k=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)+W(k,t),opposite:b.canvasRight+a,axisLength:b.canvasHeight-(d||0)-W(k,t)-W(c,t)});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,t=this.components,e=t.canvas,l=t.colorManager,
t=t.paper,k=e.graphics,L=k.canvasBorderElement,m=k.canvasElement,U=e.config,B=U.clip={},e=this.graphics.canvasGroup,fa=k.canvasBg,S=k.canvas3DBase,K=this.get("config","animationObj"),p=K.animType,n=K.animObj,Da=K.dummyObj,K=K.duration,r=k.canvas3dbaseline,F=U.canvasBgColor,Sa=U.showCanvasBG=Boolean(c(d.showcanvasbg,1)),Qa=b.canvasBgDepth,v=b.showCanvasBase,s=b.canvasBaseDepth,E=U.canvasBaseColor3D=q(d.canvasbasecolor,l.getColor("canvasBaseColor3D")),D=U.use3DLighting=c(d.use3dlighting,1),F=R.chart3D,
G=U.canvasBorderRadius=c(d.plotborderradius,0),H=U.canvasBorderWidth=0,I=.5*H,Y=U.canvasBorderColor=sa(q(d.canvasbordercolor,l.getColor("canvasBorderColor"))),M=U.canBGAlpha=q(d.canvasbgalpha,l.getColor("canvasBgAlpha")),O=U.canBGColor=q(d.canvasbgcolor,l.getColor(F.canvasBgColor)),l=U.xDepth,d=U.yDepth,F=D?U.canvasBgColor={FCcolor:{color:Ja(O,85)+Ka+ia(O,55),alpha:M+Ka+M,ratio:Q,angle:J(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:U.canvasBgColor=sa(O,M);O.split(Ka);
M.split(Ka);l=U.xDepth=5;d=U.yDepth=5;b={x:a-I,y:f-I,width:g+H,height:h+H,r:G,"stroke-width":H,stroke:Y,"stroke-linejoin":2<H?"round":"miter"};L?(L.animateWith(Da,n,{x:a-I,y:f-I,width:g+H,height:h+H,r:G},K,p),L.attr({"stroke-width":H,stroke:Y,"stroke-linejoin":2<H?"round":"miter"})):k.canvasBorderElement=t.rect(b,e);B["clip-canvas"]=[W(0,a-l),W(0,f),W(1,g+l),W(1,h+d)];B["clip-canvas-init"]=[W(0,a-l),W(0,f-d),1,W(1,h+2*d)];b={x:a,y:f,width:g,height:h,r:G,"stroke-width":0,stroke:"none",fill:aa(F)};
Sa?(m?(m.show(),m.animateWith(Da,n,{x:a,y:f,width:g,height:h,r:G},K,p),m.attr({"stroke-width":0,stroke:"none",fill:aa(F)})):k.canvasElement=t.rect(b,e),g=["M",a,",",f,"L",a+1.2*Qa,",",f-Qa,",",a+g-Qa,",",f-Qa,",",a+g,",",f,"Z"],fa?(fa.show(),fa.animateWith(Da,n,{path:g},K,p),fa.attr({path:g})):fa=k.canvasBg=t.path(g,e),fa.attr({"stroke-width":0,stroke:"none",fill:aa(F)})):(m&&m.hide(),fa&&fa.hide());v?(g=a-l-s-1,b=f+d+1,L=l+1,m=d+1,S?(S.show(),S._.cubeside.show(),S._.cubetop.show(),S.animateWith(Da,
n,{cubepath:[g,b,s,h,L,m]},K,p),S.attr({cubepath:[g,b,s,h,L,m]})):S=k.canvas3DBase=t.cubepath(g,b,s,h,L,m,e),S.attr({stroke:"none","stroke-width":0,fill:[E.replace(z,N),!D]}),r?(r.show(),r.animateWith(Da,n,{path:["M",a,f,"V",h+f]},K,p)):r=k.canvas3dbaseline=t.path(void 0,e),r.attr({path:["M",a,f,"V",h+f],stroke:C.tintshade(E.replace(z,N),.05).rgba})):(S&&(S.hide(),S._.cubeside.hide(),S._.cubetop.hide()),r&&r.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)?R.chart3D:R.chart2D;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:X(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:X(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],c=a.yAxis&&a.yAxis[0];b=this.hasLegend;a=a.legend;var t;t=h===Ia?.3*f.canvasHeight:.3*f.canvasWidth;!1!==b&&d&&this._allocateSpace(a._manageLegendPosition(t));a=.7*f.canvasHeight;b=.7*f.canvasWidth;d&&this._allocateSpace(d.placeAxis(b,a));b=.7*f.canvasWidth;c&&c.placeAxis(b);b=0<f.radarRadius?2*f.radarRadius:na(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);c.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:na(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)?R.chart3D:R.chart2D,t=1===c(g.invertyaxis,0)?!0:!1;h={outCanfontFamily:q(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:X(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:X(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,t,!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,c=-Infinity,t=Infinity,e=Infinity,l=-Infinity,k,L={},J=[],Q=function(b){c=W(c,b.max);t=na(t,b.min);l=W(l,b.xMax||-Infinity);e=na(e,b.xMin||Infinity)};for(d=0;d<h;d++)g=a[d],
(k=g.groupManager)?L[g.type]=k:J.push(g);for(k in L)a=L[k].getDataLimits(),Q(a);h=J.length;for(d=0;d<h;d++)a=J[d].getDataLimits(),Q(a);-Infinity===c&&(c=1);Infinity===t&&(t=1);f[0].setDataLimit(c,t);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,k){var L=this.config,J=this.components.dataset[0].conf,Q=L.canvasLeft,m=L.canvasTop,U=L.canvasWidth,B=Q+.5*L.canvasWidth,fa=m+.5*L.canvasHeight,S=this.linkedItems.smartLabel,K=J.dataLabelOptions,R=K.style,n=c(ka(parseFloat(R.lineHeight)),12),Da=p(K.placeLabelsInside,1===e.length?!0:!1),q=K.skipOverlapLabels,z=K.manageLabelOverflow,
r=K.connectorPadding,F;F=k&&k.metrics||[B,fa,2*J.pieMinRadius,J.innerSize||0];var Sa=F[1],Qa=F[0];k=.5*F[2];var v=[[],[],[],[]],J=l.labelsRadius=k+K.distance,fa=B=parseInt(R.fontSize,10),s=fa/2,r=[r,r,-r,-r];l=l.labelsMaxInQuadrant||(l.labelsMaxInQuadrant=da(J/fa));var K=K.isSmartLineSlanted,E=F[3]/2,C,D,H,G,N,I,Y,M,O,P,V,ba,aa,Fa,$,ia;F=Number.POSITIVE_INFINITY;var X,sa;H=[];D=[];S.useEllipsesOnOverflow(L.useEllipsesWhenOverflow);d||S.setStyle(R);if(1==e.length&&!E&&Da)H=e[0],(V=H.dataLabel)&&V.show(),
H.slicedTranslation=[Q,m],V&&(V.attr({visibility:ha,align:"middle",transform:["t",Qa,Sa]}),V.x=Qa);else if(Da)ia=E+(k-E)/2,t(e,function(b){X=b.config;sa=b.graphics;(V=sa.label)&&V.show();V&&(P=X.angle,O=Sa+ia*pa(P),N=Qa+ia*T(P),V.x=N,V._x=N,V.y=O,b.sliced&&($=b.slicedTranslation,aa=$[0]-Q,Fa=$[1]-m,N+=aa,O+=Fa),V.attr({visibility:ha,align:"middle",transform:["t",N,O]}))});else{t(e,function(b){X=b.config;sa=b.graphics;(V=sa.label)&&V.show();V&&(P=X.angle%ea,0>P&&(P=ea+P),ba=0<=P&&P<za?1:P<ta?2:P<Oa?
3:0,v[ba].push({point:b,angle:P}))});for(e=d=4;e--;){if(q&&(L=v[e].length-l,0<L))for(v[e].sort(b),R=v[e].splice(0,L),L=0,D=R.length;L<D;L+=1)H=R[L].point,H.dataLabel.attr({visibility:"hidden"}),H.connector&&H.connector.attr({visibility:"hidden"});v[e].sort(a)}e=W(v[0].length,v[1].length,v[2].length,v[3].length);L=W(na(e,l)*fa,J+fa);D=v[0].concat(v[1]);H=v[2].concat(v[3]);for(e=D.length-1;0<=e;e--)R=D[e].point.config,delete R.clearance,delete R.clearanceShift,E=ca(L*pa(R.angle)),Math.abs(F-E)<2*n&&
(R.clearance=0,D[e+1].point.clearanceShift=n/2),F=E;F=Number.POSITIVE_INFINITY;e=0;for(D=H.length;e<D;e++)R=H[e].point.config,delete R.clearance,delete R.clearanceShift,E=ca(L*pa(R.angle)),Math.abs(F-E)<2*n&&(R.clearance=0,H[e-1].point.clearanceShift=n/2),F=E;v[1].reverse();for(v[3].reverse();d--;){R=v[d];D=R.length;q||(fa=D>l?L/D:B,s=fa/2);n=D*fa;F=L;for(e=0;e<D;e+=1,n-=fa)E=ca(L*pa(R[e].angle)),F<E?E=F:E<n&&(E=n),F=(R[e].oriY=E)-fa;Da=f[d];D=L-(D-1)*fa;F=0;for(e=R.length-1;0<=e;--e,D+=fa)if(H=R[e].point,
P=R[e].angle,X=H.config,sa=H.graphics,H=X.sliced,V=sa.label,E=ca(L*pa(P)),E<F?E=F:E>D&&(E=D),F=E+fa,n=void 0===X.clearance?2*ka(c(parseFloat(X.style.border),12),12):2*ka(c(parseFloat(X.style.border),X.clearance)),Y=(E+R[e].oriY)/2,E=Qa+h[d]*J*T(va.asin(Y/L)),Y*=g[d],Y+=Sa,M=Sa+k*pa(P),G=Qa+k*T(P),(2>d&&E<G||1<d&&E>G)&&(E=G),N=E+r[d],O=Y-s-2,I=N+r[d],V.x=I,V._x=I,z&&(C=1<d?I-this.canvasLeft:this.canvasLeft+U-I,S.setStyle(X.style),n=c(ka(parseFloat(X.style.lineHeight)),12)+n,n=S.getSmartText(X.labelText,
C,n),void 0===X.clearance&&n.height>fa&&(Y+=fa),V.attr({text:n.text}).tooltip(n.tooltext)),V.y=O,H&&(aa=X.transX,Fa=X.transY,N+=aa,E+=aa,G+=aa,M+=Fa,I+=aa),V.attr({visibility:ha,"text-anchor":Da,vAlign:"middle",x:I,y:Y}),n=sa.connector)sa.connectorPath=H=["M",G,M,"L",K?E:G,Y,N,Y],n.attr({path:H,visibility:ha})}}}}()},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,c,t,e;h=Infinity;c=-Infinity;var l,k;qa("mscartesian")._setAxisLimits.call(this);d=f[0].getLimit();
t=d.tickInterval;for(e=0;e<a.length;e+=1)if(l=a[e].x)l<h&&(h=l),l>c&&(c=l);if(c>d.max||h<d.min)c=W(c,d.max),h=na(h,d.min),f[0].setDataLimit(c,h);if("mixed"===g||"auto"===g||!(a&&0<a.length)){c=[];h=b.numberFormatter.xAxis;if("mixed"===g)for(e=0,g=a.length;e<g;e+=1)c[a[e].x||a[e].y||e]=!0;else a=[];l=f[0].getAxisData();k=e=d.min;for(g=d.max;e<=g;)c[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+t?(e=0,k+=t):e<k?e=k:(e+=t,k+=t);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,v=m.parseConfiguration,e=/msie/i.test(k.navigator.userAgent)&&!k.opera,a=k.Image,M="VML"===C.type,H=m.BLANKSTRING,I=m.getPosition,n=m.COMMASPACE,s=m.ZEROSTRING,G=m.BGRATIOSTRING,q=m.hasSVG,r="rgba(192,192,192,"+(e?.002:1E-6)+")",e=m.TOUCH_THRESHOLD_PIXELS,c=m.CLICK_THRESHOLD_PIXELS,p=m.extend2,d=m.pluck,D=m.parsexAxisStyles,P=m.toPrecision,l=m.pluckNumber,z=m.setLineHeight,
N=m.pluckFontSize,F=m.toRaphaelColor,Y=m.graphics.convertColor,E=m.parseUnsafeString,O=m.getDefinedColor,V=m.graphics.getDarkColor,ba=m.ONESTRING,ha=m.getFirstAlpha,aa=m.HUNDREDSTRING,va=m.getDashStyle,na=m.plotEventHandler,W=m.hasTouch?e:c,ca=m.getCrispValues,ka=m.getValidValue,da=m.getFirstValue,wa=m.parseTooltext,pa=m.regex.dropHypeash,T=m.HASHSTRING,ta=function(b,a){var g=!1;b[1]===b[4]&&(b[1]=b[4]=X(b[1])+a%2/2,g=!0);b[2]===b[5]&&(b[2]=b[5]=X(b[2])+a%2/2,g=!0);return{path:b,isCrisped:g}},za=
8===k.document.documentMode?"visible":"",ea=k.Math,Oa=ea.sqrt,$=ea.sin,Ba=ea.cos,X=ea.round,Ja=ea.min,ia=ea.max,sa=ea.abs,Ma=ea.ceil,ga=ea.floor,Ia=ea.pow,Ga=ea.log,Ra=ea.PI,qa=2*Ra,Ka=m.getFirstColor,Na=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=X(b-g)+.5,k=X(a-g)+.5,m=X(b+g)+.5;g=X(a+g)+.5;var S=X(b-d)+.5,p=X(a-d)+.5,d=X(b+d)+.5,K=X(a+c)+.5,B=X(b+c)+.5,R=X(a+e)+.5;b=X(b-c)+.5;e=X(a+e+e)+.5;return["M",S,k,"L",d,k,d,p,S,p,"Z","M",l,p,"L",l,K,S,K,S,a,d,a,d,K,m,K,m,p,"Z","M",S,a,"L",S,g,d,g,d,a,"Z","M",B,R,"L",b,R,"M",B,e,"L",b,e]},exportIcon:function(b,a,g){var d=.66*g,c=.5*d,e=X(b-g)+.5,l=X(a-g)+.5,k=X(b+g)+.5;g=X(a+g)-.5;var m=X(b-c)+.5,S=a<g-3?g-3:X(a)+.5,c=X(b+c)-.5,p=
X(b+d)-.5,d=X(b-d)+.5;return["M",e,S,"L",e,g,k,g,k,S,k,g,e,g,"Z","M",b,g-1,"L",d,a,m,a,m,l,c,l,c,a,p,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,J=e.numberFormatter;b.trendLines=g.trendlines;b.vTrendLines=g.vtrendlines;a.axisName=E(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=sa(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=J.getCleanValue(g.axisMinValue);a.axisMaxValue=J.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=Y(g.axisLineColor,g.axisLineAlpha);a.tickAlpha=l(g.tickAlpha,a.axisLineAlpha);a.tickColor=Y(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=X(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,""))?Y(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:Y(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?Y(g.axisNameBgColor,l(g.axisNameBgAlpha,g.axisNameAlpha,100)):"",borderDash:l(g.axisNameBorderDashed,0)?va(l(g.axisNameBorderDashLen,4),l(g.axisNameBorderDashGap,2),l(g.axisNameBorderThickness,1)):"none"};a.name.style.lineHeight=z(a.name.style);e=(e=da(c.trendvaluebordercolor,
""))?Y(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:N(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?Y(c.trendvaluebgcolor,l(c.trendvaluebgalpha,c.trendvaluealpha,100)):"",borderDash:l(c.trendvalueborderdashed,0)?va(l(c.trendvalueborderdashlen,4),l(c.trendvalueborderdashgap,2),l(c.trendvalueborderthickness,1)):"none"};a.trend.trendStyle.lineHeight=z(a.trend.trendStyle);a.labels=a.labels||{};a.lines=a.lines||{};a.band=a.band||{};e=(e=da(c.labelbordercolor,""))?Y(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:Y(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?Y(c.labelbgcolor,l(c.labelbgalpha,c.labelalpha,100)):"",borderDash:l(c.labelborderdashed,0)?va(l(c.labelborderdashlen,4),l(c.labelborderdashgap,2),l(c.labelborderthickness,1)):"none"};a.labels.style.lineHeight=z(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,U=g.setAdaptiveMin,fa=g.adjustDiv,fa=b.rawAttr,S,p,K;g.hasCategory||(d=d?a.scaleY:a.scaleX,a=l(fa.axisrange?fa.axisrange.max:c.max),K=l(fa.axisrange?fa.axisrange.min:c.min),b=c.max,p=c.min,U=S=!U,fa=l(1===d?g.adjustDiv:0),g=e(a,K,b,p,
S,U,k*d,fa),c.min=Number(P(g.Min,10)),c.max=Number(P(g.Max,10)),c.tickInterval=Number(P(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,t,k,L={},J,m;for(c in e)"category"===c||c in b||(t=e[c],b[c]=t);for(c in a){k=a[c];J=k[0];m=k[1]||f;t=b[c];k=b[J.toLowerCase()];if(void 0!==t||void 0!==k)if(void 0!==
(t=m(t))||void 0!==(t=m(k)))L[J]=t,g=!0;g&&(b.style=L)}}var c=this.chart.jsonData.categories,e=c&&c[0]||{},c=this.config;g=c.axisData;var k=c.axisRange,m=b&&b.length,fa=c.startPad||0,S=c.endPad||0,p=0,K=void 0!==a?a:!0,B,R,n,q,u,w;g.hasCategory=1;g.categories={};q=g.categories.category=[];u=g.categories.vline=[];R=g.categories.catIdMap={};c.isCategoryAnimate=!1;c.isCategoryVlineAnimate=!1;for(n=0;n<m;n+=1)(B=b[n])||(B={}),w=Number(B.x),"true"!==B.vline&&!0!==B.vline&&1!==B.vline&&"1"!==B.vline?(B.id&&
(R[B.id.toLowerCase()]={catObj:B,index:n}),d(B),w===w&&(B.x=w,g.irregularCatAxis=!0),q.push(B),q[p].label=E(q[p].label),p+=1):(B.startIndex=q.length-1,u.push(B));c.oriCatLen=p-1;1===p&&(0===fa&&(fa=.5),0===S&&(S=.5));K&&(g=p-1+S,k.min=Number(P(-fa,10)),k.max=Number(P(g,10)),k.tickInterval=Number(P(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,S,p,K;m=c.categories.category;S=c.categories.catIdMap;c=c.categories.vline;for(p=0;p<l;p+=1)K=a[p],"true"!==K.vline&&!0!==K.vline&&1!==K.vline&&"1"!==K.vline?(K.id&&(S[K.id]={catObj:K,i:b}),m.splice(b,0,K),b+=1):(K.startIndex=b-2,c.push(K));g&&(e.max=Number(P(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 sa((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,U=g.isPercent?0:
d.axisMinValue,fa=d.numDivLines,S=d.setAdaptiveMin,p=d.adjustDiv,K=g.startPad||0,B=g.endPad||0;g.originalMax=b;g.originalMin=a;b=g.isPercent?100:b+B;a=g.isPercent?0:a-K;g=S=!S;d.hasBreakPoints&&(b-=d.totalBreakAmount);d=e(l(b,k),l(a,U),k,U,S,g,fa,p);c.min=Number(P(d.Min,10));c.max=Number(P(d.Max,10));c.tickInterval=Number(P(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,S=e.x||g.canvasLeft||d.canvasLeft,p=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:S,y:m,scaleX:1,scaleY:1});a.isVertical?(c=-this.getPVR(),b=a.isReverse?p-((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):S+((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,S=d.canvasTop||c.canvasTop,p=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:p,y:S,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)):S+((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):p+((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||{},S=b.axisData,p=a.canvasLeft||d.canvasLeft,K=a.canvasTop||
d.canvasTop,B=a.canvasWidth||d.canvasWidth,R=a.canvasHeight||d.canvasHeight,a=S.axisContainer,d=S.axisLabelContainerTop,n=S.axisPlotLineContainer,q=S.axisPlotLineContainerTop,u=S.vlineLabelContainer,w=S.axisBandContainer,z=S.axisNameContainer,A=S.axisTrendContainerTop,h=S.axisTrendContainerBottom,r=S.axisTrendLabelContainer,F=S.axisAxisLineContainer,v=S.axisAxisLineContainerBottom,s=S.divLineThickness||0,E=e.axisBottomGroup,D=e.axisTopGroup,b=b.animateAxis,C,H,G,ua,N,I,Y,M,O,P,V,Ca,ja;O=k.y*k.scaleY;
P=k.x*k.scaleX;g=g.get("config","animationObj");V=g.animObj;Ca=g.dummyObj;C=g.transposeAnimDuration;ja=c?p+","+(K-s)+","+B+","+(R+2*s):p-s+","+K+","+(B+2*s)+","+R;s=e.axisBandGroup=e.axisBandGroup||l.group("dataset-Band-group",E);H=e.axisPlotLineGroup=e.axisPlotLineGroup||l.group("dataset-Line-group",E);M=e.axisTrendGroupBottom=e.axisTrendGroupBottom||l.group("dataset-Trend-group-bottom",E);G=e.axisPlotLineGroupTop=e.axisPlotLineGroupTop||l.group("dataset-Line-group-top",D);N=e.axisNameGroup=e.axisNameGroup||
l.group("dataset-Name-group",E);ua=e.axisLineGroup=e.axisLineGroup||l.group("axis-Line-group",D);Y=e.axisTrendGroupTop=e.axisTrendGroupTop||l.group("dataset-Trend-group-top",D);I=e.axisLabelGroup=e.axisLabelGroup||l.group("dataset-Label-group",E);e=e.axisLabelGroupTop=e.axisLabelGroupTop||l.group("dataset-Label-group",D);a||(S.axisContainer=a=l.group("dataset-axis",I));d||(S.axisLabelContainerTop=d=l.group("dataset-top-label",e));F||(S.axisAxisLineContainer=l.group("axis-line-tick",ua));u||(S.vlineLabelContainer=
u=l.group("axis-vline-label",ua));w?C&&b?w.animateWith(Ca,V,{"clip-rect":p+","+K+","+B+","+R},C,g.animType):w.attr({"clip-rect":p+","+K+","+B+","+R}):(S.axisBandContainer=w=l.group("dataset-axis-bands",s),w.attr({"clip-rect":p+","+K+","+B+","+R}));n?C&&b?n.animateWith(Ca,V,{"clip-rect":ja},C,g.animType):n.attr({"clip-rect":ja}):(S.axisPlotLineContainer=n=l.group("dataset-axis-lines",H),n.attr({"clip-rect":ja}));q?C&&b?q.animateWith(Ca,V,{"clip-rect":ja},C,g.animType):q.attr({"clip-rect":ja}):(S.axisPlotLineContainerTop=
q=l.group("dataset-axis-lines-top",G),q.attr({"clip-rect":ja}));A?C&&b?A.animateWith(Ca,V,{"clip-rect":p+","+K+","+B+","+R},C,g.animType):A.attr({"clip-rect":p+","+K+","+B+","+R}):(S.axisTrendContainerTop=A=l.group("dataset-axis-trend-top",Y),A.attr({"clip-rect":p+","+K+","+B+","+R}));h?C&&b?h.animateWith(Ca,V,{"clip-rect":p+","+K+","+B+","+R},C,g.animType):h.attr({"clip-rect":p+","+K+","+B+","+R}):(S.axisTrendContainerBottom=h=l.group("dataset-axis-trend-bottom",M),h.attr({"clip-rect":p+","+K+","+
B+","+R}));r||(S.axisTrendLabelContainer=l.group("dataset-axis-trend-label",Y));z||(S.axisNameContainer=l.group("dataset-axis-name",N));v||(S.axisAxisLineContainerBottom=l.group("axis-line-tick-bottom",E));m.scaleX!==k.scaleX||m.scaleY!==k.scaleY?(m.scaleX=k.scaleX,m.scaleY=k.scaleY):c?(c=O-k.y*k.scaleY,u.transform("t0,"+c),a.transform("t0,"+c),d.transform("t0,"+c),n.transform("t0,"+c),q.transform("t0,"+c),w.transform("t0,"+c),A.transform("t0,"+c),h.transform("t0,"+c)):(c=P-k.x*k.scaleX,u.transform("t"+
c+",0"),a.transform("t"+c+",0"),d.transform("t"+c+",0"),n.transform("t"+c+",0"),q.transform("t"+c+",0"),w.transform("t"+c+",0"),A.transform("t"+c+",0"),h.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:za}),k[b];if(0<l.length)return k[b]=l.pop(),k[b]._applyAllAttr=!0,k[b]._firstTimeDraw=!1,k[b].attr({visibility:za}),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,B=K.style,R,q,z=b.isVertical,u=b.animateAxis,w=k.max,r=k.min,A=g.canvasTop||e.canvasTop,h=g.canvasLeft||e.canvasLeft,F=g.canvasBottom||e.canvasBottom,g=g.canvasRight||e.canvasRight,e=a.axisNameContainer,v=a.labelPadding,s=a.showUpperLimit,
E=l.paper,C=a.labelMaxH,D=a.labelMaxW,H=z?d.x:d.y,d=d.opposite,G=b.drawLabelOnBothSide,N=this.graphics.labels||[],ua=0,I=!0,Y,M,O,P,V,xa={fontFamily:B.fontFamily,fontSize:B.fontSize,fontWeight:B.fontWeight,fontStyle:B.fontStyle,lineHeight:B.lineHeight},Ca,ja,Pb,W,T,aa,la=function(){(s||!s&&1>=a.labels.step)&&R<w&&R+p>w&&R&&(q=R=w-p);a.showZeroPlane&&0>R&&0<R+p?(R=0,q+=p):R<q?R=q:(R+=p,q+=p)};B.lineHeight&&(O=B.lineHeight,-1!==O.indexOf("px")&&(O=O.replace("px",""),O=parseFloat(O)));if(a.labels.isDraw){!G&&
b.drawLabelsOpposit&&(m=!m,H=d);Y=c.get("config","animationObj");T=Y.animObj;aa=Y.dummyObj;M=Y.transposeAnimDuration;Y=Y.animType;I=sa(this.getPixel(r)-this.getPixel(r+k.tickInterval));z?a.labelMaxH>I&&!a.hasCategory&&(P=Ma(a.labelMaxH/I)):a.labelMaxW>I&&!a.hasCategory&&(P=Ma(a.labelMaxW/I));P>a.labels.step&&(a.labels.step=P);a.labels.step?p=k.tickInterval*a.labels.step:p=k.tickInterval;V=a.labels.rotation;k=this._getVisibleConfig();I=this._isZoomed();ua=r+p*ga((k.minValue-3*p-r)/p);P=r+p*ga((k.maxValue+
3*p-r)/p);ua=ua<r?r:ua;P=P>w?w:P;Ca={fill:B.color,"line-height":O,"font-size":B.fontSize};G&&(ja={fill:B.color,"line-height":O,"font-size":B.fontSize});z?this.graphics.labels||(c._addCSSDefinition("."+n+"-yAxis",xa),e.attr({"class":n+"-yAxis"})):(this.graphics.labels||(e.attr({"class":n+"-xAxis"}),c._addCSSDefinition("."+n+"-xAxis",xa)),V?(Ca["text-anchor"]=m?"start":"end",Ca["vertical-align"]="center",G&&(ja["text-anchor"]=m?"end":"start",ja["vertical-align"]="center")):(Ca["vertical-align"]=m?"bottom":
"top",G&&(ja["vertical-align"]=m?"top":"bottom")));q=R=ua;for(ua=0;R<=P;){if(!I||!(R<k.minValue||R>k.maxValue))if(a.labels.drawNormalVal||a.labels.drawLimitVal&&(R===r||R===w))if(a.labels.drawNormalVal||R===r||R===w)if(a.labels.drawLimitVal||R!==r&&R!==w)if(0!==a.showZeroPlane&&0!==a.showZeroPlaneValue||0!==R){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>R&&0<R+p||0<R&&0>R-p)&&R!==r&&R!==w)if(z){if(this.getPixel(R)+C>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(R)-C){la();continue}}else if(this.getPixel(R)+
D>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(R)-D){la();continue}B=a.hasBreakPoints?this._getRealBreakValue(R):R;if(z)c=a.numberFormatterFn?l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.yAxis,O=""+c.call(l.numberFormatter,B,b.axisIndex),c={"text-anchor":m?"start":"end",text:O},n={x:m?(H||g)+v:(H||h)-v,y:this.getPixel(B)},G&&(Pb={"text-anchor":m?"end":"start",text:O},W={x:m?(d||h)-v:(d||g)+v,y:this.getPixel(B)});else{c=a.numberFormatterFn?
l.numberFormatter[a.numberFormatterFn]:b.isPercent?l.numberFormatter.percentValue:l.numberFormatter.xAxis;O=""+c.call(l.numberFormatter,B);c={text:O};n={x:this.getPixel(B),y:m?(H||A)-v:(H||F)+v};if(R!==w&&n.x+a.labelMaxW>g){la();continue}G&&(Pb={text:O},W={x:this.getPixel(B),y:m?(d||F)+v:(d||A)-v})}K.shiftX&&(c.x+=K.shiftX);K.shiftY&&(c.y+=K.shiftY);n.transform=E.getSuggestiveRotation(V,n.x,n.y);N[ua]?(B=N[ua],B.attr({"text-anchor":"middle","vertical-align":"center"}),B.attr(c),M&&u?B.animateWith(aa,
T,n,M,Y):B.attr(n)):(N[ua]=B=E.text(c,e),B.attr(n));B.attr(Ca);B._lastPos={x:n.x,y:n.y};ua+=1;G&&(W.transform=E.getSuggestiveRotation(V,W.x,W.y),N[ua]?(B=N[ua],V&&B.attr({"text-anchor":"middle","vertical-align":"center"}),B.attr(Pb),M&&u?(B.attr(ja),B.animateWith(aa,T,W,M,Y)):(B.attr(W),B.attr(ja))):(N[ua]=B=E.text(Pb,e),B.attr(W),B.attr(ja)),B._lastPos={x:W.x,y:W.y},ua+=1)}la()}if(N[ua])for(R=ua;R<N.length;R++)N[R].attr({text:""});this.graphics.labels=N}else if(N[ua])for(R=ua;R<N.length;R++)N[R].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,p=a.name.value,S="fusioncharts-axis-"+b.uniqueClassName,n=b.isVertical,K=b.isOpposit,B=d.linkedItems.smartLabel,R=g.canvasBottom||c.canvasBottom,q=g.canvasLeft||c.canvasLeft,r=g.canvasRight||c.canvasRight,u=g.canvasTop||c.canvasTop,w=g.canvasHeight||c.canvasHeight,z=g.canvasWidth||c.canvasWidth,g=a.axisNameContainer,A=a.axisNamePadding,h=a.nameMaxH,F=a.nameMaxW,
v=n?k.x:k.y,s=k.opposite,E=this.graphics.axisName||{},k=l(a.name.rotation,n?270:90),e=e.paper,C={fontFamily:m.fontFamily,fontSize:m.fontSize,lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle},D=b.animateAxis,H,G,N,ua,I;G=E;a.name.isDraw?(H=d.get("config","animationObj"),N=H.animObj,ua=H.dummyObj,E=H.transposeAnimDuration,I=H.animType,H={fontFamily:m.fontFamily,fill:m.color,"vertical-align":"center","font-size":m.fontSize,"line-height":m.lineHeight},B.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),
B.setStyle({fontSize:m.fontSize,fontFamily:m.fontFamily,lineHeight:m.lineHeight,fontWeight:m.fontWeight}),!b.drawLabelOnBothSide&&b.drawAxisNameOpposit&&(K=!K,v=s),n?(d._addCSSDefinition("."+S+"-yAxis",C),b.relativeAxis&&b.relativeAxis.config&&b.relativeAxis.config.axisData&&b.relativeAxis.config.axisData.axisNamePadding&&(A=ia(b.relativeAxis.config.axisData.axisNamePadding,A)),K&&c.canvasMarginRight&&(A=ia(A,c.canvasMarginRight-c.marginLeft-F)),!K&&c.canvasMarginLeft&&(A=ia(A,c.canvasMarginLeft-
c.marginRight-F)),z=b.axisNameAlignCanvas||c.captionalignment&&"left"==c.captionalignment?w:ia(w,a.oriCanvasHeight||0),k?(p=B.getSmartText(p,z,F),B=p.tooltext,z=p.width):(p=B.getSmartText(p,F,z),B=p.tooltext,z=p.height),R=b.drawAxisNameFromBottom?R-z/2:z>w?c.height/2:u+w/2,S={"class":S+"-yAxis",text:p.text},K={x:K?(v||r)+A+F/2:(v||q)-A-F/2,y:R}):(d._addCSSDefinition("."+S+"-xAxis",C),p=B.getSmartText(p,z,h),B=p.tooltext,S+="-xAxis",K&&c.canvasMarginTop&&(A=ia(A,c.canvasMarginTop-c.marginTop-h)),!K&&
c.canvasMarginBottom&&(A=ia(A,c.canvasMarginBottom-c.marginBottom-h)),S={"class":S,text:p.text},K={x:q+z/2,y:K?(v||u)-A-h/2:(v||R)+A+h/2}),K.transform=e.getSuggestiveRotation(n?k:0,K.x,K.y),this.graphics.axisName?(this.graphics.axisName.attr({visibility:"visible"}),G.attr(S),E&&D&&(K.x!==G._lastPos.x||K.y!==G._lastPos.y)?G.animateWith(ua,N,K,E,I):G.attr(K),G.attr(H).tooltip(B)):(G=e.text(S,g).tooltip(B),G.attr(K),G.attr(H)),a.showTooltip&&B&&G.trackTooltip(!0),G._lastPos={x:K.x,y:K.y},""!==p.text?
setTimeout(function(){G.attr({"line-height":m.lineHeight,"text-bound":[m.backgroundColor,m.borderColor,m.borderThickness,m.borderPadding,m.borderRadius,m.borderDash]})},0):G.attr({"text-bound":[]}),this.graphics.axisName=G):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,B=a.axisPlotLineContainer,R=a.axisPlotLineContainerTop,q=a.showCanvasBorder,z=l.components.paper,u=this.graphics.line||[],w=0,r=Y(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,h=a.divLineIsDashed?va(a.divLineDashLen,a.divLineDashGap,A):"none",F=Y(a.zeroPlaneColor,a.zeroPlaneAlpha),v=a.zeroPlaneThickness,b=b.animateAxis,s,E,C,D,H,G,N,ua,I,h={stroke:r,"stroke-width":A,"stroke-dasharray":h};2>sa(this.getPixel(g)-
this.getPixel(g+d))&&(a.lines.isDraw=0);if(a.lines.isDraw){w=l.get("config","animationObj");N=w.animObj;ua=w.dummyObj;l=w.transposeAnimDuration;I=w.animType;E=this._getVisibleConfig();w=g+d*ga((E.minValue-3*d-g)/d);E=g+d*ga((E.maxValue+3*d-g)/d);w=w<g?g:w;E=E>m?m:E;G=B;H=D=w;for(w=0;D<=E;)0===a.showZeroPlane&&0===D||q&&(D===m||D===g)||(0===D&&D!==g&&D!==m&&(h.stroke=F,h["stroke-width"]=v,a.zeroPlaneOnTop&&!k&&(G=R)),C=a.hasBreakPoints?this._getRealBreakValue(D):D,s=c?ta(["M",n,this.getPixel(C),"L",
K,this.getPixel(C)],A):ta(["M",this.getPixel(C),e,this.getPixel(C),p],A),C={path:s.path},h["shape-rendering"]=s.isCrisped?"crisp":void 0,u[w]?(s=u[w],G.appendChild(s),l&&b?s.animateWith(ua,N,C,l,I):s.attr(C),s.attr(h)):(s=z.path(C,G),s.attr(h),u[w]=s),0===D&&D!==g&&D!==m&&(h.stroke=r,h["stroke-width"]=A,G=B),w+=1),a.showZeroPlane&&0>D&&0<D+d?(D=0,H+=d):D<H?D=H:(D+=d,H+=d);if(u[w])for(D=w;D<u.length;D++)u[D].attr({path:[]});this.graphics.line=u}else if(u[w])for(D=w;D<u.length;D++)u[D].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,S=e.canvasBottom||m.canvasBottom,n=e.canvasLeft||m.canvasLeft,K=e.canvasRight||m.canvasRight,B=e.canvasTop||m.canvasTop,e=a.axisDimention||{},R=d?e.x:e.y,q=b.drawAxisLineWRTCanvas,z=k.jsonData.chart,e=k.components.paper,m=this.graphics.axisLine||[],u=0,w=g.max,r=g.min,g=g.tickInterval,A=a.axisAxisLineContainerBottom,h={},F=b.animateAxis,v,s,E,h=1===
l(z.showyaxisline,z.showyaxisline)?l(z.yaxislinethickness,z.pyaxislinethickness,1):0;if(a.showAxisLine){v=k.get("config","animationObj");z=v.animObj;E=v.dummyObj;k=v.transposeAnimDuration;v=v.animType;if(d)if(c?R=(q?K:R||K)+a.axisLineThickness/2:(R=q?n:R||n,R-=a.axisLineThickness/2),a.hasBreakPoints){n=["M",R,S,"L"];S=0;for(q=p.length;S<q;S+=1)h=this.getPixel(p[S].start),n.push(R,h,"M",R,h-4,"L");n.push(R,B)}else s=ta(["M",R,S,"L",R,B],a.axisLineThickness),n=s.path;else if(c?(R=q?B:R||B,R-=a.axisLineThickness/
2):(R=q?S:R||S,R+=a.axisLineThickness/2),a.hasBreakPoints){n=["M",n-h,R,"L"];S=0;for(q=p.length;S<q;S+=1)h=this.getPixel(p[S].start),n.push(h,R,"M",h-4,R,"L");n.push(K,R)}else s=ta(["M",n-h,R,"L",K,R],a.axisLineThickness),n=s.path;m[u]?(p=m[u],k&&F?p.animateWith(E,z,{path:n,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,"shape-rendering":s.isCrisped?"crisp":void 0},k,v):p.attr({path:n,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness,"shape-rendering":s.isCrisped?"crisp":void 0})):
(p=e.path({path:n,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},A),m[u]=p);u+=1;if(b.drawTick&&a.tickLength)for(b={stroke:a.tickColor,"stroke-width":a.tickWidth},c=d?c?R+a.tickLength:R-a.tickLength:c?R-a.tickLength:R+a.tickLength,s=this._getVisibleConfig(),u=r+g*ga((s.minValue-3*g-r)/g),s=r+g*ga((s.maxValue+3*g-r)/g),s=s>w?w:s,S=u<r?r:u,u=1;S<=s;S+=g)r=a.hasBreakPoints?this._getRealBreakValue(S):S,r=this.getPixel(r),h=d?{path:"M"+R+" "+r+"L"+c+" "+r}:{path:"M"+r+" "+R+"L"+r+" "+c},m[u]?
(r=m[u],k&&F?r.animateWith(E,z,h,k,v):r.attr(h),r.attr(b)):(r=e.path(h,A),r.attr(b),m[u]=r),S<w&&S+g>w&&S&&(S=w-g),u+=1}if(m[u])for(S=u;S<m.length;S++)m[S].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,B,R,q,r,u;if(a.showAxisLine)for(p=d.get("config","animationObj"),q=
p.animObj,r=p.dummyObj,d=p.transposeAnimDuration,u=p.animType,p=0,B=e.length;p<B;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(r,q,{path:K,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},d,u):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),
R+=1;if(k[R])for(p=R;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,B=g.min,g=a.axisBandContainer,R=c.components.paper,q=this.graphics.band||[],r=0,u=a.showAlternateGridColor,w=a.alternateGridColor,z=a.alternateGridAlpha,
b=b.animateAxis,A,h,v,s,E,D;2>sa(this.getPixel(B)-this.getPixel(B+e))&&(a.band.isDraw=0);if(u&&a.band.isDraw){r=c.get("config","animationObj");u=r.animObj;E=r.dummyObj;c=r.transposeAnimDuration;D=r.animType;h=this._getVisibleConfig();r=B+e*ga((h.minValue-3*e-B)/e);h=B+e*ga((h.maxValue+3*e-B)/e);r=r<B?B:r;h=h>K?K:h;K=X((r-B)/e)+1;w={fill:F(Y(w,z)),"stroke-width":0};B=this.getPVR();v=z=r;for(r=0;z<h;K+=1)0===K%2&&(A=a.showZeroPlane&&0>z&&0<z+e?z:z!==v?v-z:e,A=p?{x:l,y:this.getPixel(n?z:z+sa(A)),width:d,
height:sa(A*B)}:{x:this.getPixel(z),y:k,width:sa(A*B),height:m},q[r]?(s=q[r],c&&b?s.animateWith(E,u,A,c,D):s.attr(A),s.attr(w)):(s=R.rect(A,g),s.attr(w),q[r]=s),r+=1),a.showZeroPlane&&0>z&&0<z+e?(z=0,v+=e):z<v?z=v:(z+=e,v+=e);if(q[r])for(z=r;z<q.length;z++)q[z].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=q}else if(q[r])for(z=r;z<q.length;z++)q[z].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,J=b.isOpposit,m=b.isVertical,p=c.is3D,S=b.axisIndex,n=k.numberFormatter,K=g.canvasBottom||e.canvasBottom,B=g.canvasLeft||e.canvasLeft,R=g.canvasRight||e.canvasRight,q=g.canvasTop||e.canvasTop,r=g.canvasHeight||e.canvasHeight,g=g.canvasWidth||e.canvasWidth,u=b.axisRange,e=u.max,u=u.min,w=a.trend.trendStyle,z=a.labelPadding,A=a.axisTrendContainerTop,h=a.axisTrendContainerBottom,F=a.axisTrendLabelContainer,k=k.paper,v=this.components.trendObj||[],s="Fusioncharts-axis-trendlines-label-"+
b.uniqueClassName,D=b.vTrendLines,C=b.trendLines,H=!0,G=b.drawTrendLabels,N=a.axisDimention||{},b=b.animateAxis,I,ua,M,O,zb,P,V=0,ma,xa,Ca,ja,Pb,W,T,aa,la,ra,ha,Ha;c._addCSSDefinition("."+s,{fontFamily:w.fontFamily,fontSize:w.fontSize,lineHeight:w.lineHeight,fontWeight:w.fontWeight,fontStyle:w.fontStyle});aa=this._getVisibleConfig();a.hasBreakPoints&&(aa.minValue=this._getRealBreakValue(aa.minValue),aa.maxValue=this._getRealBreakValue(aa.maxValue));Pb={};s={"class":s,"line-height":w.lineHeight};H=
this._isZoomed();H||(aa.minValue=u,aa.maxValue=e);D?H=J?(N.opposite||K)-(a.trendBottomPadding||0):(N.y||K)+(a.trendBottomPadding||0):(H=J?(N.opposite||B)+(z||0):(N.x||B)-(z||0),ha=J?(N.x||R)+(z||0):(N.opposite||R)+(z||0));if(J=C||D){I=c.get("config","animationObj");z=I.animObj;N=I.dummyObj;c=I.transposeAnimDuration;Ha=I.animType;M=0;for(O=J.length;M<O;M+=1)for(ua=0,I=J[M].line&&J[M].line.length;ua<I;ua+=1)if(la=J[M].line[ua],xa=m?"yAxis":"xAxis",ma=n.getCleanValue(d(la.startvalue,la.value,0)),P=Number(la.endvalue)||
void 0,zb=ka(E(d(la.tooltext,J[0].tooltext,a.trendlineToolText))),zb=wa(zb,[7,15,16,17,18,19],{startValue:ma,startDataValue:n[xa](ma,S),endValue:P||ma,endDataValue:n[xa](P||ma,S),axisName:a.axisName},la),!(ma>e||ma<u||P>e||P<u)&&(D&&ma>=aa.minValue&&ma<=aa.maxValue||P&&P>=aa.minValue&&P<=aa.maxValue||P&&ma<=aa.minValue&&P>=aa.maxValue||C&&ma>aa.minValue&&ma<=aa.maxValue||P&&P>=aa.minValue&&P<=aa.maxValue||P&&ma>=aa.minValue&&P<=aa.maxValue)){if(D){if(W=E(la.displayvalue||""),xa=this.getPixel(a.hasBreakPoints?
this._getRelativeBreakValue(ma):ma),Ca=l(la.istrendzone,a.isTrendZone,1),ra=P?this.getPixel(a.hasBreakPoints?this._getRelativeBreakValue(P):P):0,void 0!==P&&""!==P&&P!==ma&&Ca?(Ca={fill:Y(d(la.color,a.trendlineColor),d(la.alpha,a.trendlineAlpha,40)),"stroke-width":0},ja={path:["M",xa,q,"L",xa,K,"L",ra,K,"L",ra,q,"Z"]},W={fill:Y(d(la.color,w.color),d(la.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:W},T={x:xa+(ra-xa)/2,y:H}):(Ca=l(la.thickness,a.trendlineThickness,1),Ca=Ca>g?1:Ca,ja=P?ta(["M",
xa,q,"L",ra,K],Ca):ta(["M",xa,q,"L",xa,K],Ca),Ca={stroke:Y(d(la.color,a.trendlineColor),d(la.alpha,a.trendlineAlpha,99)),"stroke-width":Ca,"stroke-dasharray":d(la.dashed,a.trendlinesAreDashed)===ba?va(l(la.dashlen,a.trendlinesDashLen),l(la.dashgap,a.trendlinesDashGap),Ca):"none","shape-rendering":ja.isCrisped?"crisp":void 0},ja={path:ja.path},W={fill:Y(d(la.color,w.color),d(la.alpha,a.trendlineAlpha,99)),"vertical-align":"top",text:W},T={x:P?ra:xa,y:H}),!G||W.x>this.getPixel(aa.maxValue)||W.x<this.getPixel(aa.minValue))W.text=
""}else C&&(W=E(la.displayvalue||""),T=l(la.valueonright,0),Ca=l(la.istrendzone,a.isTrendZone,0),xa=this.getPixel(ma),ra=P?this.getPixel(P):0,void 0!==P&&""!==P&&P!==ma&&Ca?(Ca={fill:Y(d(la.color,a.trendlineColor),d(la.alpha,a.trendlineAlpha,40)),"stroke-width":0},ja={path:["M",B,xa,"L",R,xa,"L",R,ra,"L",B,ra,"Z"]},W={"text-anchor":T?"start":"end",fill:Y(d(la.color,w.color),d(la.alpha,a.trendlineAlpha,99)),text:W},T={x:T?ha:H,y:xa+(ra-xa)/2}):(Ca=l(la.thickness,a.trendlineThickness,1),Ca=Ca>r?1:Ca,
ja=P?ta(["M",B,xa,"L",R,ra],Ca):ta(["M",B,xa,"L",R,xa],Ca),Ca={stroke:Y(d(la.color,a.trendlineColor),d(la.alpha,a.trendlineAlpha,99)),"stroke-width":Ca,"stroke-dasharray":d(la.dashed,a.trendlinesAreDashed)===ba?va(l(la.dashlen,a.trendlinesDashLen),l(la.dashgap,a.trendlinesDashGap),Ca):"none","shape-rendering":ja.isCrisped?"crisp":void 0},ja={path:ja.path},W={"text-anchor":T?"start":"end",fill:Y(d(la.color,w.color),d(la.alpha,a.trendlineAlpha,99)),text:W},T={x:T?ha:H,y:P?T?ra:xa:xa}),!G||W.y<this.getPixel(aa.maxValue)||
W.y>this.getPixel(aa.minValue))&&(W.text="");P=l(la.showontop);P=p||1!==P&&1!==a.showTrendlinesOnTop?h:A;v[V]?(ma=v[V].graphics.drawing,xa=v[V].graphics.label,P.appendChild(ma),ma.attr(Ca),xa.attr(W),v[V].graphics.config.text=W.text,c&&b?(ma.animateWith(N,z,ja,c,Ha),xa.animateWith(N,z,T,c,Ha)):(ma.attr(ja),xa.attr(T)),xa.tooltip(la.valueToolText),ma.attr(Pb),xa.attr(s)):(ma=k.path(Ca,P),ma.attr(ja),ma.attr(Pb),xa=k.text(W,F),xa.attr(T).attr(s).tooltip(la.valueToolText),v[V]={},v[V].graphics={},v[V].graphics.drawing=
ma,v[V].graphics.label=xa,v[V].graphics.config={text:W.text});a.showTooltip&&la.valueToolText?xa.trackTooltip(!0):xa.trackTooltip(!1);a.showTooltip&&zb?ma.tooltip(zb).trackTooltip(!0):ma.trackTooltip(!1);V+=1}if(v[V])for(ua=V;ua<v.length;ua++)v[ua].graphics.drawing.attr({path:["M",0,0]}),v[ua].graphics.label.attr({text:"","text-bound":[]});this.components.trendObj=v;a.trendBackgroundSetter&&(clearTimeout(a.trendBackgroundSetter),a.trendBackgroundSetter=void 0);a.trendBackgroundSetter=setTimeout(function(){for(ua=
0;ua<V;ua++)v[ua].graphics.label.attr({"line-height":w.lineHeight,"text-bound":v[ua].graphics.config.text?[w.backgroundColor,w.borderColor,w.borderThickness,w.borderPadding,w.borderRadius,w.borderDash]:[]});a.trendBackgroundSetter=void 0},0)}if(v[V])for(ua=V;ua<v.length;ua++)v[ua].graphics.drawing.attr({path:["M",0,0]}),v[ua].graphics.label.attr({text:"","text-bound":[]})},_drawCategory:function(){var b,a,g,c,e,k,J=this.config,m=J.axisData,p=m.axisDimention||{},S=J.canvas,n=this.chart,K=n.config,
B=J.isOpposit,R=m.labels,q=R.style,r=J.isVertical,u=S.canvasBottom||K.canvasBottom,w=S.canvasLeft||K.canvasLeft,F=S.canvasRight||K.canvasRight,S=S.canvasTop||K.canvasTop,A=m.axisContainer,K=m.labelPadding,h=n.components.paper,v=r?p.x:p.y,p=p.opposite,s=J.drawLabelOnBothSide,E=this.components.categoryLabel||(this.components.categoryLabel=[]),D=n.jsonData.categories,C,H,G,N,I=function(b){return function(a){na.call(this,n,a,b)}},ua=0,ua=0,P=J.animateAxis,M,O,V,cb,ma,xa,Ca,ja,W,aa={},T,ba,la,ra,ha,Ha,
$,ca;ma=(V=J.isCategoryAnimate&&J.animateCategories?J.animateCategories:m.categories.category)?V.length-1:0;ra=0<m.labels.step?m.labels.step:1;this._drawCategoryLine(V,0,ma);if(m.labels.isDraw){M=n.get("config","animationObj");Ha=M.animObj;$=M.dummyObj;O=M.transposeAnimDuration;M=M.animType;r&&(cb=sa(this.getPixel(0)-this.getPixel(1)),m.labelMaxH>cb&&(ua=Ma(m.labelMaxH/cb)),ua>m.labels.step&&(m.labels.step=ua));cb=this.getPVR();ha=this._isZoomed();Ca=this._getVisibleConfig();ja=m.labels.rotation;
!J.drawLabelOnBothSide&&J.drawLabelsOpposit&&(B=!B,v=p);D&&D[0]&&"auto"!==m.xAxisLabelMode&&(C=D[0].font,H=D[0].fontsize,G=D[0].fontcolor);ca=this._manageReuseableElement(this.components.categoryLabel,"text",A);for(ua=A=0;A<=ma;A+=ra)if(D=V[A])b=l(D.x,D.y,A),0===l(D.showlabel,m.showLabels,1)||ha&&(b<Ca.minValue||b>Ca.maxValue)||!("auto"!==m.xAxisLabelMode&&"mixed"!==m.xAxisLabelMode||0!==m.showZeroPlane&&0!==m.showZeroPlaneValue||0!==b)||!m.labels.drawNormalVal&&(!m.labels.drawLimitVal||0!==A&&A!==
ma)||!m.labels.drawNormalVal&&0!==A&&A!==ma||!(m.labels.drawLimitVal||0!==A&&A!==ma)||(N=d(D.font,D.labelfont),a=d(D.fontsize,D.labelfontsize),c=d(D.fontbold,D.labelfontbold)?l(D.fontbold,D.labelfontbold,0)?"bold":"normal":void 0,e=d(D.fontitalic,D.labelfontitalic)?l(D.fontitalic,D.labelfontitalic,0)?"italic":"normal":void 0,g=Y(d(D.fontcolor,D.labelfontcolor,G,q.color),l(D.labelalpha,J.rawAttr.labelFontAlpha,n.singleseries?void 0:D.alpha,100)),N={fontFamily:d(N,C,q.fontFamily),fontSize:d(a,H,q.fontSize),
fontWeight:d(c,q.fontWeight),fontStyle:d(e,q.fontStyle)},N.lineHeight=z(N),N.lineHeight&&(W=N.lineHeight,-1!==W.indexOf("px")&&(W=W.replace(/px/i,""),W=parseFloat(W))),a={fill:g,"line-height":W},s&&(aa={fill:g,"line-height":W}),la=this.getPixel(b),r?(e=D.label||"",k=Number(D.labelPadding)||0,c={opacity:1,"text-anchor":B?"start":"end",text:e,cursor:D.link||D.labellink||q.labelLink?"pointer":""},g={x:B?(v||F)+K:(v||w)-K,y:k?la+k:la},s&&(T={opacity:1,"text-anchor":B?"end":"start",text:e,cursor:D.link||
D.labellink||q.labelLink?"pointer":""},ba={x:B?(p||w)-K:(p||F)+K,y:k?la+k:la})):(e=D.label||"",k=Number(D.labelPadding)||0,c={opacity:1,text:e,cursor:D.link||D.labellink||q.labelLink?"pointer":""},g={x:la,y:B?(v||S)-K:(v||u)+K},s&&(T={opacity:1,text:e,cursor:D.link||D.labellink||q.labelLink?"pointer":""},ba={x:la,y:B?(p||u)+K:(p||S)-K}),ja?(a["text-anchor"]=B?"start":"end",a["vertical-align"]="center",s&&(aa["text-anchor"]=B?"end":"start",aa["vertical-align"]="center")):(a["text-anchor"]="middle",
a["vertical-align"]=B?"bottom":"top",s&&(aa["vertical-align"]=B?"top":"bottom",aa["text-anchor"]="middle")),k&&(g.y=B?g.y-k:g.y+k,s&&(ba.y=B?ba.y+k:ba.y-k))),R.shiftX&&(g.x+=R.shiftX,s&&(ba.x+=R.shiftX)),R.shiftY&&(g.y+=R.shiftY,s&&(ba.y+=R.shiftY)),g.transform=h.getSuggestiveRotation(ja,g.x,g.y),s&&(ba.transform=h.getSuggestiveRotation(ja,ba.x,ba.y)),E[ua]||(E[ua]={},E[ua].graphics={},E[ua].config={}),e=E[ua].graphics.label=ca.getElement("p"+b),ja&&e.attr({"text-anchor":"middle","vertical-align":"center"}),
e._applyAllAttr&&(e.attr(c),e.css(N)),e.attr(a),O&&P&&!D.animate&&!e._firstTimeDraw?e.animateWith($,Ha,g,O,M):e.attr(g),m.showTooltip&&D.labelTooltext?(e.tooltip(D.labelTooltext),e.trackTooltip(!0)):e.trackTooltip(!1),s&&(xa=E[ua].graphics.secondLabel=ca.getElement("s"+b),ja&&e.attr({"text-anchor":"middle","vertical-align":"center"}),xa.attr(T),O&&P&&!D.animate&&!e._firstTimeDraw?xa.animateWith($,Ha,ba,O,M):xa.attr(ba),xa.attr(aa),xa.css(N),m.showTooltip&&D.labelTooltext?(xa.tooltip(D.labelTooltext),
xa.trackTooltip(!0)):xa.trackTooltip(!1)),e._firstTimeDraw&&e.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),e.data("eventArgs",{link:D.link||D.labellink||q.labelLink,text:c.text,index:ua}),s&&(xa._firstTimeDraw&&xa.click(I("dataLabelClick")).hover(I("dataLabelRollOver"),I("dataLabelRollOut")),E[ua].graphics.secondLabel.data("eventArgs",{link:D.link||D.labellink||q.labelLink,text:c.text,index:ua})),D.animate&&!r&&(b={x:g.x-D.leftShift*cb},D["delete"]&&(b.opacity=0),
b.transform=h.getSuggestiveRotation(ja,b.x,g.y),E[ua].graphics.label.animateWith($,Ha,b,O,M),s&&(b={x:ba.x-D.leftShift*cb},D["delete"]&&(b.opacity=0),b.transform=h.getSuggestiveRotation(ja,b.x,ba.y),E[ua].graphics.secondLabel.animateWith($,Ha,b,O,M))),e._applyAllAttr&&(l(D.borderthickness,D.labelborderthickness)&&l(D.borderthickness,D.labelborderthickness,1),b=D.bordercolor||D.labelbordercolor?Y(D.bordercolor||D.labelbordercolor,l(D.borderalpha,D.labelborderalpha,D.alpha,D.labelalpha,100)):"",a=l(D.borderthickness,
D.labelborderthickness),g=l(D.borderpadding,D.labelborderpadding),c=l(D.borderradius,D.labelborderradius),e=D.bgcolor||D.labelbgcolor?Y(D.bgcolor||D.labelbgcolor,l(D.bgalpha,D.labelbgalpha,D.alpha,D.labelalpha,J.rawAttr.labelFontAlpha,100)):"",k=l(D.borderdashed,D.labelborderdashed,0)?va(l(D.borderdashlen,D.labelborderdashlen,4),l(D.borderdashgap,D.labelborderdashgap,2),l(D.borderthickness,D.labelborderthickness,1)):0===l(D.borderdashed,D.labelborderdashed)?"none":q.borderDash,D.label?(E[ua].graphics.label.attr({"line-height":N.lineHeight,
"text-bound":[d(e,q.backgroundColor),d(b,q.borderColor),d(a,q.borderThickness),d(g,q.borderPadding),d(c,q.borderRadius),d(k,q.borderDash)]}),s&&E[ua].graphics.secondLabel.attr({"line-height":N.lineHeight,"text-bound":[d(e,q.backgroundColor),d(b,q.borderColor),d(a,q.borderThickness),d(g,q.borderPadding),d(c,q.borderRadius),d(k,q.borderDash)]})):(E[ua].graphics.label.attr({"text-bound":[]}),s&&E[A].graphics.secondLabel.attr({"text-bound":[]}))),ua+=1);this.components.categoryLabel=E;ca.freeUnusedElement()}},
_drawCategoryLine:function(b,a,g){var c=this.config,e=c.axisData,k=c.canvas,J=this.chart,m=J.config,p=J.components,S=c.isVertical,n=k.canvasBottom||m.canvasBottom,K=k.canvasLeft||m.canvasLeft,B=k.canvasRight||m.canvasRight,k=k.canvasTop||m.canvasTop,m=e.axisPlotLineContainer,R=e.showCanvasBorder,q=e.xAxisLabelMode,r=p.paper,p=p.colorManager,u=this.components.categoryLabelLine||[],w=J.jsonData.categories,z,A,h,F,v,s,D=0,E=c.animateAxis,C,H,G,N,ua,I,M,P;b||(b=c.isCategoryAnimate&&c.animateCategories?
c.animateCategories:e.categories.category);a=a||0;g=g||b?b.length-1:0;if(c.drawPlotlines){D=J.get("config","animationObj");J=D.animObj;M=D.dummyObj;c=D.transposeAnimDuration;P=D.animType;this.getPVR();I=this._isZoomed();H=this._getVisibleConfig();w&&w[0]&&(z=w[0].verticallinecolor,A=w[0].verticallinealpha,h=w[0].verticallinethickness,F=w[0].verticallinedashed,v=w[0].verticallinedashlen,s=w[0].verticallinedashgap);w=a;for(D=0;w<=g;w+=1)(C=b[w])&&(!R||"auto"!==q&&"mixed"!==q||w!==g&&w!==a)&&(N=l(C.x,
C.y,w),1!==Number(C.showverticalline)||I&&(N<H.minValue||N>H.maxValue)||(G=this.getPixel(N),N={stroke:Y(d(C.linecolor,z,e.divLineColor,p.getColor("divLineColor")),d(C.linealpha,A,p.getColor("divLineAlpha"))),"stroke-width":l(C.linethickness,h,1)},N["stroke-dasharray"]=l(C.linedashed,F,0)?va(l(C.linedashLen,v,4),l(C.linedashgap,s,2),N["stroke-width"]):"none",ua=S?ta(["M",K,G,"L",B,G],N["stroke-width"]):ta(["M",G,k,"L",G,n],N["stroke-width"]),G={path:ua.path},N["shape-rendering"]=ua.isCrisped?"crisp":
void 0,u[D]?(ua=u[D].graphics.line,ua.attr(N),c&&E&&!C.animate?ua.animateWith(M,J,G,c,P):ua.attr(G)):(ua=r.path(N,m),ua.attr(G),u[D]={},u[D].graphics={},u[D].config={},u[D].graphics.line=ua),D+=1));this.components.categoryLabelLine=u}if(u[D])for(w=D;w<u.length;w++)u[w].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,J=k.config,m=J.style||{},p=k.components.paper,S=e.canvasBottom||J.canvasBottom,
n=e.canvasLeft||J.canvasLeft,K=e.canvasRight||J.canvasRight,B=e.canvasTop||J.canvasTop,R=e.canvasHeight||J.canvasHeight,e=e.canvasWidth||J.canvasWidth,q=a.categories.category,r=b.isVertical,u=k.linkedItems.smartLabel,w=a.axisPlotLineContainerTop,z=a.axisPlotLineContainer,A=a.vlineLabelContainer,h=b.isRelativeAxisInverse,F={fontFamily:J.style.inCanfontFamily,fontSize:J.style.inCanfontSize,color:J.style.inCancolor,lineHeight:J.style.inCanLineHeight},v=this.components.categoryVline||[],s=0,D=b.animateAxis,
C,G,N,I,M,ua,P,O,V,W,cb,ma,xa,Ca,ja,aa,T,ba,ha,la,ra,$={},Ha,ca={},na,X,ka,ya,ia,Aa,ea,da,pa,ga;G=b.isCategoryVlineAnimate&&b.animateCategoriesVline?b.animateCategoriesVline:a.categories.vline;C=k.get("config","animationObj");Aa=C.animObj;ea=C.dummyObj;k=C.transposeAnimDuration;C=C.animType;I=G.length;N=this.getPVR();da=this._isZoomed();pa=this._getVisibleConfig();for(P=0;P<I;P++)M=G[P],ua=E(M.label),O=Boolean(l(M.showlabelborder,a.showVLineLabelBorder,1)),V=Boolean(l(M.showlabelbackground,1)),W=
d(M.labelhalign,r?"start":"middle"),"center"==W?W="middle":"left"==W?W="start":"right"==W&&(W="end"),cb=d(M.labelvalign,r?"middle":"bottom").toLowerCase(),"middle"==cb?cb="center":"top"==cb?cb="bottom":"bottom"==cb&&(cb="top"),ma=l(M.labelposition,0),xa=l(M.lineposition,.5),Ca=l(M.showvlines,a.showVLines,1),ja=l(M.alpha,a.vLineAlpha,80),aa=d(M.color,a.vLineColor).replace(/^#?/,"#"),V=V?d(M.labelbgcolor,a.vLineLabelBgColor,"333333").replace(/^#?/,"#"):H,Ha=d(M.labelcolor,a.vLineLabelColor,M.color,
m.inCancolor,a.vLineColor).replace(/^#?/,"#"),T=l(M.thickness,a.vLineThickness,1),ba=Boolean(Number(d(M.dashed,0))),ha=l(M.dashlen,5),ra=l(M.dashgap,2),la=F.fontSize,parseInt(la.replace(/px/i,""),10),la=l(M.rotatelabel,a.rotateVLineLabels)?270:0,xa=0>xa||1<xa?.5:xa,ma=0>ma||1<ma?0:ma,u.useEllipsesOnOverflow(J.useEllipsesWhenOverflow),u.setStyle(F),u.getOriSize(ua),aa=Y(aa,Ca?ja:"0"),ja=1===Number(M.showontop)||1===a.showVLinesOnTop?w:z,ya=!1,ga=M.animate&&!r?M.startIndex+1:M.startIndex,na=q[ga],X=
q[ga+1],na?X||(ka=q[0]&&q[0].x?g:b.oriCatLen,ya=!0):(ka=q[0]&&q[0].x?c:-1,ya=!0),ya||(ka=l(na.x,na.y,ga),xa*=ka-l(X.x,X.y,ga+1)),xa=ka+sa(xa),da&&(xa<pa.minValue||xa>pa.maxValue)||!M.animate&&(xa<c||xa>g)||M.animate&&(xa<c||xa>g+ia)||(xa=this.getPixel(xa),ba={opacity:1,stroke:aa,"stroke-width":T,"stroke-dasharray":ba?va(ha,ra,T):"none"},ha={opacity:1,text:ua,"text-anchor":W,"vertical-align":cb,"text-bound":[]},Ha={fill:Ca?Ha:aa,fontSize:F.fontSize,fontFamily:F.fontFamily,lineHeight:F.lineHeight,backgroundColor:V},
r?(T=ta(["M",n,xa,"L",K,xa],T),$.path=T.path,ca.x=n+e*(h?1-ma:ma),ca.y=xa):(T=ta(["M",xa,B,"L",xa,S],T),$.path=T.path,ca.x=xa,ca.y=B+R*(h?1-ma:ma)),ba["shape-rendering"]=T.isCrisped?"crisp":void 0,"start"==W?ca.x+=2:"end"==W&&(ca.x-=2),"top"==cb?ca.Y+=2:"bottom"==cb&&(ca.Y-=2),v[s]?(W=v[s].graphics.drawing,cb=v[s].graphics.label,cb.css(Ha).attr({transform:"r "+la}),ja.appendChild(W),W.attr(ba),k&&D&&!M.animate?(W.animateWith(ea,Aa,$,k),cb.animateWith(ea,Aa,ca,k,C)):(W.attr($),cb.attr(ca)),cb.attr(ha)):
(W=p.path(ba,ja),W.attr($),cb=p.text(ha,A).css(Ha).attr(ca).attr({transform:"r "+la}),v[s]={},v[s].graphics={},v[s].config={},v[s].graphics.drawing=W,v[s].graphics.label=cb),M.animate&&!r&&(ia=M.leftShift*N,W={x:ca.x-ia},cb={path:["M",xa-ia,B,"L",xa-ia,S]},M["delete"]&&(W.opacity=0,W["text-bound"]=[],cb.opacity=0),v[s].graphics.label.animateWith(ea,Aa,W,k,C),v[s].graphics.drawing.animateWith(ea,Aa,cb,k,C)),M={label:ua,lineHeight:F.lineHeight,backgroundColor:V,borderPadding:2,borderWidth:Ca&&O?1:0,
borderType:Ca&&O?"solid":H,borderColor:Ca&&O?aa:H},ua?v[s].graphics.label.attr({"line-height":F.lineHeight,"text-bound":[M.backgroundColor,M.borderColor,M.borderWidth,M.borderPadding,M.borderRadius,M.borderType]}):v[s].graphics.label.attr({"text-bound":[]}),s++);if(v[s])for(P=s;P<v.length;P++)v[P].graphics.drawing.attr({path:["M",0,0]}),v[P].graphics.label.attr({text:"","text-bound":[]});this.components.categoryVline=v},_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,B=l.canvasRight||m.canvasRight,l=l.canvasTop||m.canvasTop,m=a.axisPlotLineContainer,R=k.components.paper,q=this.graphics.line||[],r=0,u=Y(a.divLineColor,a.divLineAlpha),w=a.divLineThickness,z=a.divLineIsDashed?va(a.divLineDashLen,a.divLineDashGap,w):"none",b=b.animateAxis,A,h,F,u={stroke:u,"stroke-width":w,"stroke-dasharray":z};if(p[0]&&
(void 0!==p[0].x||void 0!==p[0].y)){if(q[r]&&"categories"===a.xAxisLabelMode)for(c=r;c<q.length;c++)q[c].attr({path:[]})}else if(a.lines.isDraw&&a.categoryNumDivLines){r=k.get("config","animationObj");p=r.animObj;z=r.dummyObj;k=r.transposeAnimDuration;F=r.animType;a.categoryDivLinesFromZero&&(e=0,c=n-1);n=sa(c-e)/(a.categoryNumDivLines+1);n=0===n?1:n;h=this._getVisibleConfig();r=e+n*ga((h.minValue-3*n-e)/n);h=e+n*ga((h.maxValue+3*n-e)/n);r=(r<e?e:r)+n;h=(h>c?c:h)-n;c=r;for(r=0;c<=h;c+=n)e=a.hasBreakPoints?
this._getRealBreakValue(c):c,A=g?ta(["M",K,this.getPixel(e),"L",B,this.getPixel(e)],w):ta(["M",this.getPixel(e),l,"L",this.getPixel(e),d],w),e={path:A.path},u["shape-rendering"]=A.isCrisped?"crisp":void 0,q[r]?(A=q[r],k&&b?A.animateWith(z,p,e,k,F):A.attr(e),A.attr(u)):(A=R.path(e,m),A.attr(u),q[r]=A),r+=1;if(q[r])for(c=r;c<q.length;c++)q[c].attr({path:[]});this.graphics.line=q}else if(q[r])for(c=r;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,B=e.canvasHeight||k.canvasHeight,e=e.canvasWidth||k.canvasWidth,k=b.isVertical,R=a.axisBandContainer,q=l.components.paper,r=this.graphics.band||[],u=0,w=a.showAlternateGridColor,z=a.alternateGridColor,A=a.alternateGridAlpha,h=a.categoryDivLinesFromZero,b=b.animateAxis,v,s,D,E;if(m[0]&&(void 0!==m[0].x||void 0!==m[0].y)){if(r[u])for(A=
u;A<r.length;A++)r[A].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})}else if(w&&a.band.isDraw&&a.categoryNumDivLines){u=l.get("config","animationObj");m=u.animObj;w=u.dummyObj;l=u.transposeAnimDuration;E=u.animType;h&&(c=0,d=p-1);a=sa(d-c)/(a.categoryNumDivLines+1);a=0===a?1:a;u=this._getVisibleConfig();p=c+a*ga((u.minValue-3*a-c)/a);h=c+a*ga((u.maxValue+3*a-c)/a);p=p<c?c:p;h=h>d?d:h;c=X((p-c)/a);p+=a;z={fill:F(Y(z,A)),"stroke-width":0};s=this.getPVR();A=p;for(u=0;A-a<h;c+=1,A+=a)0===
c%2&&(v=A===p?a+sa(this.getValue(0))+1:A===h?a+sa(this.getValue(n-g)-d):a,v=k?{x:g,y:A===h?this.getPixel(A-sa(a)):this.getPixel(A-sa(v)),width:e,height:sa(v*s)}:{x:A===h?this.getPixel(A-sa(a)):this.getPixel(A-sa(v)),y:K,width:sa(v*s),height:B},r[u]?(D=r[u],l&&b?D.animateWith(w,m,v,l,E):D.attr(v),D.attr(z)):(D=q.rect(v,R),D.attr(z),r[u]=D),u+=1);if(r[u])for(A=u;A<r.length;A++)r[A].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=r}else if(r[u])for(A=u;A<r.length;A++)r[A].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,n=m.name,S=a.isOpposit,q=e.numberFormatter,K=c.canvasHeight,B=m.labelPadding=l(a.rawAttr.axisValuePadding,4),R=l(a.rawAttr.axisNamePadding,5),r=m.useEllipsesWhenOverflow,z=m.name.style,u=m.trend.trendStyle,w=m.axisName,F=a.trendLines,A=a.drawLabelsOpposit,h=a.drawAxisNameOpposit,v=a.drawLabelOnBothSide,s=0,D=0,C=0,H=0,G=0,N={left:0,right:0},I="",M="",ua=0,P,Y,O,V,W,ma,xa;c.viewPortConfig&&1!==
c.viewPortConfig.scaleY&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();m.oriCanvasHeight=K;0>B&&(m.labelPadding=2);ua=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(B,2)+ua,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:ua)+2),b-=m.axisLineThickness):(m.labelPadding=l(B,2),0>m.labelPadding&&(m.labelPadding=2));B=p.max;Y=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;ua=z.lineHeight;ua=Number(ua.replace(/px/i,""));ua<b&&(b-=ua);1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);P=a.drawLabels?this._getVMaxLabelDimention(v?b-2*m.labelPadding/2:b-m.labelPadding):{width:0,height:0};if(P.width+m.labelPadding>b&&!m.hasCategory||0===P.width)m.labels.isDraw=0;m.labels.isDraw&&(m.labelMaxW=P.width,m.labelMaxH=P.height,s=P.width+m.labelPadding,D=v?2*s:s);if(a.drawTrendLines&&
a.drawTrendLabels&&F){p=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis;k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);k.setStyle({fontSize:u.fontSize,fontFamily:u.fontFamily,lineHeight:u.lineHeight,fontWeight:u.fontWeight});c=0;for(u=F.length;c<u;c+=1)for(P=0,V=F[c].line&&F[c].line.length;P<V;P+=1)W=F[c].line[P],ma=q.getCleanValue(d(W.startvalue,W.value,0)),xa=l(W.endvalue,ma),ma<=B&&ma>=Y&&xa<=B&&xa>=Y&&(a.isOpposit&&(W.valueonright=1),
O=1===Number(W.valueonright)?W.origText||W.displayvalue||W.endvalue||W.startvalue||"":W.origText||W.displayvalue||W.startvalue||W.endvalue||"",O=E(O),O===(W.endvalue||W.startvalue)&&(O=""+p.call(e.numberFormatter,O)),(ma=l(W.valueonright,0))?O.length>M.length&&(M=O):O.length>I.length&&(I=O));P=k.getOriSize(M);G=P.width+m.labelPadding;P=k.getOriSize(I);H=P.width+m.labelPadding;S?(G>D&&G>b&&(G=b),D=ia(D,G+m.labelPadding),H>b-D&&(H=Ja(H,b-D))):(H>D&&H>b&&(H=b),D=ia(D,H+m.labelPadding),G>b-D&&(G=Ja(G,
b-D)));c=0;for(u=F.length;c<u;c+=1)for(P=0,V=F[c].line&&F[c].line.length;P<V;P+=1){W=F[c].line[P];ma=q.getCleanValue(d(W.startvalue,W.value,0));xa=l(W.endvalue,ma);O=1===Number(W.valueonright)?W.origText||W.displayvalue||""+xa||"":W.origText||W.displayvalue||""+ma||"";O=E(""+O);if(Number(O)===xa||Number(O)===ma)O=""+p.call(e.numberFormatter,O);W.origText=O;I=(ma=l(W.valueonright,0))?k.getSmartText(O,G,g.canvasHeight,r):k.getSmartText(O,D,g.canvasHeight,r);W.displayvalue=I.text;I.tooltext?W.valueToolText=
I.tooltext:delete W.valueToolText}}b+=ua;!a.drawAxisName||0>=b-D-G||""===w?(n.isDraw=!1,n.value=""):(k.setStyle({fontSize:z.fontSize,fontFamily:z.fontFamily,lineHeight:z.lineHeight,fontWeight:z.fontWeight}),n.isDraw=!0,m.rotateAxisName?(m.name.rotation=S?90:270,a=k.getSmartText(w,K,b-D-G),n.value=w,m.nameMaxW=Ja(a.height)):(a=k.getSmartText(w,b-D-G,K),n.value=w,m.nameMaxW=Ja(a.width,b-D),m.nameMaxH=a.height,0<=m.axisNameWidth&&(m.nameMaxW=Ja(m.nameMaxW,m.axisNameWidth))),C=m.nameMaxW+R);S?(v?(N.left+=
ia(s,H),N.right+=ia(s,G)):A?(N.left+=ia(s,H),N.right+=G):(N.left+=H,N.right+=ia(s,G)),h?(m.axisNamePadding=N.left+R,N.left+=C):(m.axisNamePadding=N.right+R,N.right+=C)):(v?(N.left+=ia(s,H),N.right+=ia(s,G)):A?(N.left+=H,N.right+=ia(s,G)):(N.left+=ia(s,H),N.right+=G),h?(m.axisNamePadding=N.right+R,N.right+=C):(m.axisNamePadding=N.left+R,N.left+=C));n.isDraw&&m.axisNamePadding+m.nameMaxW>b&&(m.axisNamePadding=b-m.nameMaxW);return N},_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,S=a.isOpposit,q=e.numberFormatter,K=a.drawLabelsOpposit,B=a.drawAxisNameOpposit,R=a.drawLabelOnBothSide,r=0,z=c.canvasWidth,u=m.labelPadding=l(a.rawAttr.axisValuePadding,4),w=l(a.rawAttr.axisNamePadding,5),F=m.useEllipsesWhenOverflow,A=m.name.style,h=m.trend.trendStyle,v=m.axisName,s=a.vTrendLines,D,C=0,N=0,G={top:0,bottom:0},H=0,I=0,M,ua,P,Y,O,V,W;c.viewPortConfig&&1!==c.viewPortConfig.scaleX&&(a._setRangeAgain=
!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();0>u&&(m.labelPadding=2);I=a.drawTick&&m.tickLength?m.axisLineThickness+m.tickLength:m.axisLineThickness;m.showAxisLine?(m.labelPadding=l(u,2)+I,0>m.labelPadding&&(m.labelPadding=(0>m.axisLineThickness?0:I)+2),b-=m.axisLineThickness):(m.labelPadding=l(u,2),0>m.labelPadding&&(m.labelPadding=2));u=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;I=A.lineHeight;I=Number(I.replace(/px/i,""));I<b&&(b-=I);m.rotateLabels&&"stagger"!==m.labelDisplay&&"none"!==m.labelDisplay&&(m.labelDisplay="rotate");1!==m.showLimits&&1!==m.showDivLineValues&&(m.labels.isDraw=0);Y=a.drawLabels?this._getHMaxLabelDimention(R?(b-2*m.labelPadding)/2:b-m.labelPadding):{width:0,height:0};m.labels.rotation?Y.width+m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0):Y.height+m.labelPadding>b&&!m.hasCategory&&(m.labels.isDraw=0);m.labels.isDraw&&
(m.labels.rotation?(m.labelMaxW=Y.height,m.labelMaxH=Y.width,r=Y.width+m.labelPadding):(m.labelMaxW=Y.width,m.labelMaxH=Y.height,r=Y.height+m.labelPadding),C=R?2*r:r);C=ia(C,m.labelPadding);Y=C<=b?b-C:b;if(a.drawTrendLines&&a.drawTrendLabels&&s&&a.isActive)for(W=a.isPercent?e.numberFormatter.percentValue:a.isVertical?e.numberFormatter.yAxis:e.numberFormatter.xAxis,k.useEllipsesOnOverflow(c.useEllipsesWhenOverflow),k.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight}),
c=0,D=s.length;c<D;c+=1)for(M=0,P=s[c].line&&s[c].line.length;M<P;M+=1)O=s[c].line[M],ua=q.getCleanValue(d(O.startvalue,O.value,0)),V=l(O.endvalue,ua),ua<=u&&ua>=p&&V<=u&&V>=p&&(ua=O.origText||O.displayvalue||O.endvalue||O.startvalue||"",ua=E(ua),ua===(O.endvalue||O.startvalue)&&(ua=""+W.call(e.numberFormatter,ua)),O.origText=ua,ua=k.getSmartText(ua,g.canvasWidth,h.lineHeight,F),V=ua.height+2,0>Y-V?O.displayvalue="":(O.displayvalue=ua.text,H=H<ua.height?ua.height:H),ua.tooltext?O.valueToolText=ua.tooltext:
delete O.valueToolText);C+=H;Y=Y-H+I;b+=I;!a.drawAxisName||0>=Y||""===v?(n.isDraw=!1,n.value=""):(k.setStyle({fontSize:A.fontSize,fontFamily:A.fontFamily,lineHeight:A.lineHeight,fontWeight:A.fontWeight}),n.isDraw=!0,a=k.getSmartText(v,z,Y),n.value=v,m.nameMaxW=z,m.nameMaxH=a.height,N=a.height+w,m.axisNamePadding=w+C,m.axisNamePadding+a.height>b&&(m.axisNamePadding=b-a.height,N=a.height+m.axisNamePadding-C));S?(R?(G.bottom+=r+H,G.top+=r):K?G.bottom+=r+H:(G.top+=r,G.bottom+=H),m.trendBottomPadding=
G.bottom-H+2,B?G.bottom+=N:G.top+=N):(R?(G.bottom+=r+H,G.top+=r):K?(G.top+=r,G.bottom+=H):G.bottom+=r+H,m.trendBottomPadding=G.bottom-H+2,B?G.top+=N:G.bottom+=N);return G},_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,S=d.axisRange,q=n.labels,c=n.labelDisplay,K=n.slantLabel,
B=q.style,R=n.maxLabelHeight,r=S.tickInterval,F=n.staggerLines,u=n.labelStep,w=e.canvasLeft,v=e.canvasRight,A=F-2,h,s,D=S.max,E=S.min,u=0,S=n.categories&&n.categories.category,C=0,G,H,N,I={text:void 0,width:Number.NEGATIVE_INFINITY,style:void 0},M=Number.NEGATIVE_INFINITY,ua,P,Y,O,V=function(){},W=V,ma=V,xa=V,Ca={},ja,aa,T,ba,ha,la=0,ra=!1,ca=0,$,na=!1,X,ka,ia,ya=Number.POSITIVE_INFINITY,ea,Aa=Number.POSITIVE_INFINITY;if(n.hasCategory&&(!S||0===S.length))return{width:0,height:0};n.hasCategory||(n.irregularCatAxis=
!1);h=0===A?1:1===A?1.5:A;m.useEllipsesOnOverflow(e.useEllipsesWhenOverflow);m.setStyle({fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight});if(n.irregularCatAxis){S.sort(function(b,a){return b.x-a.x});A=0;for(C=S.length;A<C;A++){G=S[A];if(void 0!==ba){Aa=Math.min(Aa,G.x-ba);ka=sa(g._getCustomPixel(E)-g._getCustomPixel(E+Aa));m.setStyle(G.style||{});X=m.getOriSize("W");X=X.width;if(ka<1.2*X){G.label="";Aa=ya;continue}ia._individualIWR=ka;G._individualIWL=
ka;ya=Aa}ia=G;ba=G.x}Aa===Number.POSITIVE_INFINITY&&(Aa=Math.floor(Math.min(G.x,D-G.x)),Aa=Math.max(Aa,4));A=0;for(C=S.length;A<C;A++)G=S[A],A||(G._individualIWL=a(G.x,"left")),A===C-1&&(G._individualIWR=a(G.x,"right")),G.individualIW=Math.min(G._individualIWL,G._individualIWR);N=sa(g._getCustomPixel(E)-g._getCustomPixel(E+Aa));N=Math.min(2*a(S[0].x,"left"),2*a(S[C-1].x,"right"),N)}else N=sa(g._getCustomPixel(E)-g._getCustomPixel(E+r));b=R?R:b;Ca.__root__={getHeight:function(){return N},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=""),H={fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight},c++,d.style=d.style||{},p(H,d.style),H.lineHeight=z(H),m.setStyle(H),ua=m.getSmartText(d.label),h=Math.max(ua.height,h);b=Math.floor(sa(g._getCustomPixel(D)-g._getCustomPixel(E))/h);if(c<=b)return n.labelStep;c=Math.max(Math.ceil(c/
b),n.labelStep);N=sa(g._getCustomPixel(E)-g._getCustomPixel(E+c));return c}};Ca._inProp={};Ca.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":q.rotation=K?300:270;O=Ca.getCopyById("rotate");break;case "stagger":O=Ca.getCopyById("stagger");O.getHeight=function(b){var a;a=(b=n.categories.category[b])&&b.style||(b.style={});H={fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,
fontWeight:B.fontWeight};p(H,a);m.setStyle(H);return m.getOriSize(b.label).height};O.getWidth=function(b){return b.individualIW?b.individualIW:2*N*h-4};xa=function(a){var f,g=a.length,h=0,d,c,e;m.setStyle(B);f=m.getOriSize("WWW").height;if(Math.floor(a[g-1]._cumulativeSum)<=Math.ceil(g*(f+2)))c=Math.floor(b/f),F=0>c-F?c:F;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){ra=!0;break}else ra=!1;h=f._cumulativeSum;d+=e}while(c--&&
ra);c++;F=Math.min(F,c)}};W=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=B.lineHeight),(s=d++%F)?a.labelPadding=f.replace(/px/i,"")*s:a.labelPadding=0)};break;case "none":O=Ca.getCopyById("none");O.getHeight=V;ma=O.getWidth=V;n.rotateLabels&&(q.rotation=K?300:270,$=b);O.getCalculatedLabelStep=function(){return n.labelStep};break;default:O=Ca.getCopyById("auto"),O.getHeight=function(){return b},O.getWidth=function(b){return b.individualIW?
b.individualIW:N-8},ma=function(b,a){var f,g,h,d;if(!n.irregularCatAxis&&(m.setStyle(b),f=m.getOriSize("WWW"),f=f.width,f>=N)){q.rotation=K?300:270;q.forceRotate=!0;O=Ca.getCopyById("rotate");P=O.getWidth;Y=O.getHeight;f=I.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}),ua=m.getSmartText(h.oriLabel,P(h),Y(f)),h.label=ua.text,h.labelTooltext=
ua.tooltext,h._sLabel=ua,I.width<ua.width&&(I.text=ua.text,I.width=ua.width,I.style=d));ja=I.text}}}P=O.getWidth;Y=O.getHeight;u=n.labels.step=n.labelStep=n._oriLabelStep;u=n.labels.step=n.labelStep=O.getCalculatedLabelStep(S);A=0;for(C=S.length;A<C;A++)(G=S[A])&&(G.label||G.oriLabel)&&0!==l(G.showlabel,n.showLabels,1)&&(na=!0,H={fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight},p(H,G.style),H.lineHeight=z(H),m.setStyle(H),A%u&&(G.stepSkipped=!0,ca++),ua=
m.getSmartText(G.oriLabel||G.label,P(G),Y(A)),la+=G._nLineHeight=ua.height+2,G._cumulativeSum=la,G._ovrStyle=H,G.oriLabel=G.oriLabel||G.label,G.label=ua.text,G.labelTooltext=ua.tooltext,G._sLabel=ua,I.width<ua.oriTextWidth&&(p(I,ua),I.style=H),M<ua.height&&(M=ua.height));if(!na)return{height:0,width:0};xa(S,ca);W(S,ca);ma(I.style,S);ja=I.text||"";if("mixed"===n.xAxisLabelMode)for(G=d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis,u=ja.length,A=E;A<=D;A+=r)ba=n.hasBreakPoints?g._getRealBreakValue(A):
A,ba=""+G.call(k.numberFormatter,ba,d.axisIndex),ba.length>u&&(ja=ba,u=ba.length);I.height=Math.max(M,I.height||0);aa=S.length;A=0;for(C=S.length;A<C&&(ha=S[A],!ha._sLabel);A++);C=S.length;for(A=C-1;0<=A&&(ea=S[A],!ea._sLabel);A--);T=g._isZoomed();q.rotation||T?(n.axisEndLabelDisplaySpace.left=0,n.axisEndLabelDisplaySpace.right=0):(n.axisEndLabelDisplaySpace.left=Math.max(w-(g._getCustomPixel(ha.x||0)-ha._sLabel.width/2),0),n.axisEndLabelDisplaySpace.right=Math.max(g._getCustomPixel(ea.x||aa-1)+ea._sLabel.width/
2-v,0));ha=I}else{G=n.numberFormatterFn?k.numberFormatter[n.numberFormatterFn]:d.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis;for(A=E;A<=D;A+=r)ba=n.hasBreakPoints?g._getRealBreakValue(A):A,ba=""+G.call(k.numberFormatter,ba,d.axisIndex),A===E&&(aa=ba),A===D&&(T=ba),ba.length>u&&(ja=ba,u=ba.length);m.setStyle({fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight});ha=m.getOriSize(ja||"");"rotate"===c&&(q.rotation=270);n.rotateLabels&&(q.rotation=
K?300:270);q.rotation||(aa=m.getOriSize(aa||""),T=m.getOriSize(T||""),n.axisEndLabelDisplaySpace.left=aa.width/2,n.axisEndLabelDisplaySpace.right=T.width/2)}n.hasCategory&&"stagger"===c&&(ha.height=F*I.height);ha.width=$?Math.min($,ha.width):ha.width;return ha},_getVMaxLabelDimention:function(b){var a,g,c,e,k=this.config,m=this.chart,p=m.components,n=m.config,S=m.linkedItems.smartLabel,q=k.axisData,K=k.axisRange,B=q.labels.style,R=K.tickInterval,r=q.useEllipsesWhenOverflow;c=q.maxLabelWidthPercent;
a=K.max;e=K.min;var K=0,F=m.jsonData.categories,m={height:0,width:0},u,w;S.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);S.setStyle({fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight});if(q.hasCategory){F&&(u=F[0].font,w=F[0].fontsize);c&&(n=c/100*n.width,n<b&&(b=n));k=q.categories.category;n=0;for(p=k.length;n<p;n++)R=k[n],0!==l(R.showlabel,q.showLabels)&&(a=d(R.font,R.labelfont,u,B.fontFamily),g=d(R.fontsize,R.labelfontsize,w,B.fontSize).replace(/px/i,
"")+"px",c="normal"==B.fontWeight?l(R.fontbold,R.labelfontbold,0)?"bold":"normal":B.fontWeight,e="normal"==B.fontStyle?l(R.fontitalic,R.labelfontitalic,0)?"italic":"normal":B.fontStyle,a={fontFamily:d(a,u,B.fontFamily),fontSize:d(g,w,B.fontSize),fontWeight:d(c,B.fontWeight),fontStyle:d(e,B.fontStyle)},a.lineHeight=z(a),S.setStyle(a),a=S.getSmartText(R.oriLabel||R.label,b,B.lineHeight,r),R.oriLabel=R.oriLabel||R.label,R.label=a.text,R.labelTooltext=a.tooltext,a.width>K&&(m=a,K=a.width));return m}b=
q.numberFormatterFn?p.numberFormatter[q.numberFormatterFn]:k.isPercent?p.numberFormatter.percentValue:p.numberFormatter.yAxis;for(n=e;n<=a;n+=R)B=q.hasBreakPoints?this._getRealBreakValue(n):n,B=""+b.call(p.numberFormatter,B,k.axisIndex),B.length>K&&(g=B,K=B.length);return S.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,B,R,q,r,u;b===a&&(a-=a/100);l(g)&&Number(g)>=b?b=Number(g):(g=1<c?Ma(Ga(b)/Ga(c)):ga(Ga(b)/
Ga(c)),b=Ia(c,g),n=g);n||(n=1<c?Ma(Ga(b)/Ga(c)):ga(Ga(b)/Ga(c)));l(d)&&Number(d)<=a?a=Number(d):(g=1<c?ga(Ga(a)/Ga(c)):Ma(Ga(a)/Ga(c)),a=Ia(c,g),p=g);p||(p=1<c?ga(Ga(a)/Ga(c)):Ma(Ga(a)/Ga(c)));d=Number(String(Ga(c)/Ga(10)));e=Number(e)||(ga(d)==d?8:4);1<c?(K=n,B=p):0<c&&1>c&&(K=p,B=n);d=n;for(p=K;p>=B;--p)if(K=Ia(c,d),a<=K&&b>=K&&(m[k++]={value:K,ismajor:!0}),p!=B){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(r in m)for(u in m[r])"value"==
u&&(R||(R=m[r][u]==a&&(m[r].isextreme=m[r].isMin=!0)),q||(q=m[r][u]==b&&(m[r].isextreme=m[r].isMax=!0)));R||(m[k++]={value:a,ismajor:!0,isMin:!0,isextreme:!0});q||(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=Y(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(P(d.Min,10));g.max=Number(P(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(P(g.Min,10)),c.max=Number(P(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,B=Ga(n)/K,R=Ga(d)/K;b=Ga(b)/K-R;c||(c={x:m,y:k,scaleX:1,scaleY:1});a.isVertical?(l=-e*c.scaleY/(B-R),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/(Ga(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,B=a.axisPlotLineContainer,R=c.components.paper,q=this.graphics.line||[],r=0,u=Y(a.divLineColor,a.divLineAlpha),w=a.divLineThickness,
z=a.divLineIsDashed?va(a.divLineDashLen,a.divLineDashGap,w):"none",A=Y(a.zeroPlaneColor,a.zeroPlaneAlpha),h=a.zeroPlaneThickness,b=b.animateAxis,F,v,s,D,E,C,G,H,N,I;D={stroke:u,"stroke-width":w,"stroke-dasharray":z};z={stroke:a.minorDivlinecolor,"stroke-width":a.minorDivLineThickness,"stroke-dasharray":z};if(a.lines.isDraw){F=c.get("config","animationObj");N=F.animObj;I=F.dummyObj;c=F.transposeAnimDuration;F=F.animType;this._getVisibleConfig();E=g.divArr;C=E.length;for(g=0;g<C;g++)if(G=E[g],H=G.value,
v=this.getPixel(H),!p||H!==K&&H!==n)if(0!==a.showZeroPlaneValue||0!==a.showZeroPlane||0!==H)0===H&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(D.stroke=A,D["stroke-width"]=h),s=d?{path:"M"+l+" "+v+"L"+k+" "+v}:{path:"M"+v+" "+m+"L"+v+" "+e},q[r]?(v=q[r],c&&b?v.animateWith(I,N,s,c,F):v.attr(s),v.attr(G.ismajor?D:z)):(v=R.path(s,B),v.attr(G.ismajor?D:z),q[r]=v),0===H&&1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(D.stroke=u,D["stroke-width"]=w),r+=1;if(q[r])for(g=r;g<q.length;g++)q[g].attr({path:[]});
this.graphics.line=q}else if(q[r])for(g=r;g<q.length;g++)q[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,B=e.min,R=d.canvasBottom,q=d.canvasLeft,r=d.canvasRight,d=d.canvasTop,u=a.axisContainer,w=a.labelPadding,z=c.paper,A=a.labelMaxH,h=a.labelMaxW,F=a.axisStartPosition,v=this.graphics.labels||[],s=0,D=b.animateAxis,E,C,G,H,N,I,M,O={fontFamily:p.fontFamily,fontSize:p.fontSize,
fontWeight:p.fontWeight,fontStyle:p.fontStyle,lineHeight:p.lineHeight},P,Y,V={},W,xa,aa,ja;p.lineHeight&&(I=p.lineHeight,-1!==I.indexOf("px")&&(I=I.replace("px",""),I=parseFloat(I)));if(a.labels.isDraw){E=g.get("config","animationObj");W=E.animObj;xa=E.dummyObj;aa=E.animType;E=E.transposeAnimDuration;sa(this.getPixel(B)-this.getPixel(B+e.tickInterval));ja=this._isZoomed();a.labels.step?k=e.tickInterval*a.labels.step:k=e.tickInterval;N=a.labels.rotation;H=this._getVisibleConfig();p={fill:p.color,"line-height":I,
"font-size":p.fontSize};I=e.divArr;Y=I.length;for(e=0;e<Y;e++)if(C=I[e],G=C.value,P=this.getPixel(G),!(!C.ismajor&&!a.showMinorDivLineValues||M&&P>M-a.labelMaxH&&P<M+a.labelMaxH||ja&&(G<H.minValue||G>H.maxValue)||!a.labels.drawNormalVal&&(!a.labels.drawLimitVal||G!==B&&G!==K)||!a.labels.drawNormalVal&&G!==B&&G!==K||!(a.labels.drawLimitVal||G!==B&&G!==K)||0===a.showZeroPlaneValue&&0===a.showZeroPlane&&0===G)){if(1===a.showZeroPlane&&1===a.showZeroPlaneValue&&(0>G&&0<G+k||0<G&&0>G-k))if(n){if(P+A>=
this.getPixel(0)&&this.getPixel(0)>=P-A)continue}else if(P+h>=this.getPixel(0)&&this.getPixel(0)>=P-h)continue;n?(M=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.yAxis,G=""+M.call(c.numberFormatter,G),M=a.hasCategory?a.categories.category[e].labelPadding||0:0,this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",O),u.attr({"class":"Fusioncharts-axis-labels-yAxis"})),G={"text-anchor":l?"start":"end",text:G},
P={x:l?(F||r)+w:(F||q)-w,y:M?P+M:P},M=P.y):(M=a.numberFormatterFn?c.numberFormatter[a.numberFormatterFn]:b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis,G=""+M.call(c.numberFormatter,G),M=a.hasCategory?Number(a.categories.category[e].labelPadding)||0:0,this.graphics.labels||(u.attr({"class":"Fusioncharts-axis-labels-xAxis"}),g._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",O)),G={text:G},P={x:P,y:l?(F||d)-w:(F||R)+w},M&&(G.y+=M),N?(p["text-anchor"]=l?"start":"end",p["vertical-align"]=
"center",V.transform="r "+N):p["vertical-align"]=l?"bottom":"top",M=P.x);m.shiftX&&(P.x+=m.shiftX);m.shiftY&&(P.y+=m.shiftY);P.transform=z.getSuggestiveRotation(N,P.x,P.y);v[s]?(C=v[s],N&&C.attr({"text-anchor":"middle","vertical-align":"center"}),C.attr(G),E&&D?C.animateWith(xa,W,P,E,aa):(C.attr(P),C.attr(p))):(v[s]=C=z.text(G,u),C.attr(P),C.attr(V),C.attr(p));C.css(O);s+=1}if(v[s])for(e=s;e<v.length;e++)v[e].attr({text:""});this.graphics.labels=v}else if(v[s])for(e=s;e<v.length;e++)v[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=sa(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,B=e.jsonData.chart,k=a.axisPlotLineContainer,R=e.components.paper,r=this.graphics.line||[],z=this.graphics.axisLine||[],u=e.graphics,w=0,F=Y(a.divLineColor,a.divLineAlpha),A=a.divLineThickness,h=a.divLineIsDashed?va(a.divLineDashLen,a.divLineDashGap,A):"none",v=Y(a.zeroPlaneColor,a.zeroPlaneAlpha),s=a.zeroPlaneThickness,D=b.animateAxis,E,C,G,h={stroke:F,"stroke-width":A,"stroke-dasharray":h};E=e.get("config","animationObj");
C=E.animObj;G=E.dummyObj;e=E.transposeAnimDuration;E=E.animType;B=l(B.xaxislinethickness,B.axislinethickness,1);a.showAxisLine?(c=c?["M",m-a.axisLineThickness/2,q,"L",m-a.axisLineThickness/2,n]:["M",m-B,q+a.axisLineThickness/2,"L",p,q+a.axisLineThickness/2],z[0]?(m=z[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=R.path({path:c,stroke:a.axisLineColor,"stroke-width":a.axisLineThickness},
u.axisLineGroup),z[0]=m)):z[0]&&(m=z[0],m.attr({path:"M0,0"}));this.graphics.axisLine=z;if(a.lines.isDraw){c=this._getVisibleConfig();w=g+d*ga((c.minValue-3*d-g)/d);c=g+d*ga((c.maxValue+3*d-g)/d);w=w<g?g:w;c=c>K?K:c;p=K=w;for(w=0;K<c;){if(K!==g&&(0!==a.showZeroPlane||0!==K)){0===K&&1===a.showZeroPlane&&(h.stroke=v,h["stroke-width"]=s);m={path:["M"]};n=b.polarAxis;z=n.config.axisData.categories.category;q=z.length;for(z=0;z<q;z++)u=n.getPixel(z,n.config.centerY-this.getPixel(K)),m.path.push(u.x,u.y,
"L");m.path.pop();m.path.push("Z");r[w]?(n=r[w],e&&D?n.animateWith(G,C,m,e,E):n.attr(m),n.attr(h)):(n=R.path(m,k),n.attr(h),r[w]=n);0===K&&1===a.showZeroPlane&&(h.stroke=F,h["stroke-width"]=A);w+=1}a.showZeroPlane&&0>K&&0<K+d?(K=0,p+=d):K<p?K=p:(K+=d,p+=d)}if(r[w])for(K=w;K<r.length;K++)r[K].attr({path:[]});this.graphics.line=r}else if(r[w])for(K=w;K<r.length;K++)r[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=Y(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=X(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=Y(d(a.minorTMColor,f.majorTMColor),l(a.minorTMAlpha,f.majorTMAlpha,100));f.minorTMHeight=f.showTickMarks?l(a.minorTMHeight,X(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=E(a.upperLimitDisplay)||"";f.lowerLimitDisplay=E(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(P(c.min,10));g.max=Number(P(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,
B=m.canvasLeft||n.canvasLeft,R=m.canvasRight||n.canvasRight,q=m.canvasTop||n.canvasTop,m=g.max,n=g.min,r=p.components.paper,u=this.graphics.tick||[],w=f.minorTMNumber,g=g.numMajorTM||f.majorTMNumber,z=f.axisAxisLineContainer,A=0,a=a.animateAxis,h,F,v,s,D,E,C;v={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};F={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&l){h=p.get("config","animationObj");p=h.animObj;C=h.dummyObj;
l=h.transposeAnimDuration;h=h.animType;c?e?f.placeTicksInside?(e=R-f.tickMarkDistance,K=e-f.majorTMHeight,B=e-f.minorTMHeight):(e=R+f.tickMarkDistance,K=e+f.majorTMHeight,B=e+f.minorTMHeight):f.placeTicksInside?(e=B+f.tickMarkDistance,K=e+f.majorTMHeight,B=e+f.minorTMHeight):(e=B-f.tickMarkDistance,K=e-f.majorTMHeight,B=e-f.minorTMHeight):e?f.placeTicksInside?(e=q+f.tickMarkDistance,K=e+f.majorTMHeight,B=e+f.minorTMHeight):(e=q-f.tickMarkDistance,K=e-f.majorTMHeight,B=e-f.minorTMHeight):f.placeTicksInside?
(e=K-f.tickMarkDistance,K=e-f.majorTMHeight,B=e-f.minorTMHeight):(e=K+f.tickMarkDistance,K=e+f.majorTMHeight,B=e+f.minorTMHeight);R=f.drawTickMarkConnector?c?["M",e,this.getPixel(n),"L",e,this.getPixel(m)]:["M",this.getPixel(n),e,"L",this.getPixel(m),e]:[];u[A]?(f=u[A],l&&a?f.animateWith(C,p,{path:R},l,h):f.attr({path:R}),f.attr(v)):(f=r.path(v,z),f.attr({path:R}),u[A]=f);A+=1;for(R=0;R<g;R+=1)if(q=R<g-1?P(Number(n+d*R),10):m,s=c?{path:"M"+e+" "+this.getPixel(q)+"L"+K+" "+this.getPixel(q)}:{path:"M"+
this.getPixel(q)+" "+e+"L"+this.getPixel(q)+" "+K},u[A]?(f=u[A],l&&a?f.animateWith(C,p,s,l,h):f.attr(s),f.attr(v)):(f=r.path(v,z),f.attr(s),u[A]=f),A+=1,q!==m&&k)for(D=d/(w+1),E=1;E<=w;E+=1)s=c?{path:"M"+e+" "+this.getPixel(q+D*E)+"L"+B+" "+this.getPixel(q+D*E)}:{path:"M"+this.getPixel(q+D*E)+" "+e+"L"+this.getPixel(q+D*E)+" "+B},u[A]?(f=u[A],l&&a?f.animateWith(C,p,s,l,h):f.attr(s),f.attr(F)):(f=r.path(F,z),u[A]=f,f.attr(s)),A+=1;if(u[A])for(R=A;R<u.length;R++)u[R].attr({path:[]});this.graphics.tick=
u}else if(u[A])for(R=A;R<u.length;R++)u[R].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,B=f.labels,q=B.style,r=a.isVertical,z=m.max,u=m.min,w=g.canvasTop||e.canvasTop,F=g.canvasLeft||e.canvasLeft,A=g.canvasBottom||e.canvasBottom,g=g.canvasRight||e.canvasRight,h=f.axisLabelContainerTop,v=f.labelPadding,
s=l.paper,D=f.labelMaxH,E=f.labelMaxW,d=r?d.x:d.y,C=this.graphics.labels||[],G=0,a=a.animateAxis,H,N,I,M,O,Y,V,W={fontFamily:q.fontFamily,fontSize:q.fontSize,fontWeight:q.fontWeight,fontStyle:q.fontStyle,lineHeight:q.lineHeight},aa,ma,xa,T,ja;q.lineHeight&&(O=q.lineHeight,-1!==O.indexOf("px")&&(O=O.replace("px",""),O=parseFloat(O)));if(f.labels.isDraw){H=c.get("config","animationObj");ma=H.animObj;xa=H.dummyObj;N=H.transposeAnimDuration;H=H.animType;V=sa(this.getPixel(u)-this.getPixel(u+m.tickInterval));
r?(f.labelMaxH>V&&!f.hasCategory&&(Y=Ma(f.labelMaxH/V)),Y>f.labels.step&&(f.labels.step=Y)):(f.labelMaxW>V&&!f.hasCategory&&(Y=Ma(f.labelMaxW/V)),Y>f.labels.step&&(f.labels.step=Y),T=F,ja=e.width-g);Y=(r?E:V/2)*f.labels.step;D=r?V/2:D;m=m.tickInterval;V=f.labels.step?f.labels.step:1;E={fill:q.color,"line-height":O,"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+=V)if(I=e<K-V?P(Number(u+m*e),10):z,f.labels.drawNormalVal||f.labels.drawLimitVal&&(I===u||I===z))if(f.labels.drawNormalVal||I===u||I===z)if(f.labels.drawLimitVal||I!==u&&I!==z)q=l.numberFormatter.scale,I===u&&f.lowerLimitDisplay?(q=k.getSmartText(f.lowerLimitDisplay,Y,D+O/2),M=q.text):I===z&&f.upperLimitDisplay?(q=k.getSmartText(f.upperLimitDisplay,Y,D+O/2),M=q.text):(M=q.call(l.numberFormatter,I),q=k.getOriSize(""+M)),r?(this.graphics.labels||(c._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
W),h.attr({"class":"Fusioncharts-axis-labels-yAxis"})),M={"text-anchor":p?"start":"end",text:M},aa={x:p?(d||g)+v:(d||F)-v,y:this.getPixel(I)},(!n&&I===u&&f.lowerLimitDisplay||n&&I===z&&f.upperLimitDisplay)&&q.height>O&&(M["vertical-align"]="bottom"),(!n&&I===z&&f.upperLimitDisplay||n&&I===u&&f.lowerLimitDisplay)&&q.height>O&&(M["vertical-align"]="top"),f.placeValuesInside&&(M["text-anchor"]=p?"end":"start")):(this.graphics.labels||(h.attr({"class":"Fusioncharts-axis-labels-xAxis"}),c._addCSSDefinition(".Fusioncharts-axis-labels-xAxis",
W)),M={text:M,"text-anchor":"middle"},aa={x:this.getPixel(I),y:p?(d||w)-v:(d||A)+v},(!n&&I===u||n&&I===z)&&q.width>2*T&&(M["text-anchor"]="start"),(!n&&I===z||n&&I===u)&&q.width>2*ja&&(M["text-anchor"]="end"),M["vertical-align"]=f.placeValuesInside?p?"top":"bottom":p?"bottom":"top"),B.shiftX&&(M.x+=B.shiftX),B.shiftY&&(M.y+=B.shiftY),C[G]?(I=C[G],I.attr(M),N&&a?I.animateWith(xa,ma,aa,N,H):I.attr(aa)):(C[G]=I=s.text(M,h),I.attr(aa)),I.attr(E),I.css(W),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,B=e.min,q=0,r=0,e="",z;z={left:0,right:0,top:0,bottom:0};if(0>=a)return z;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,r=ia(l.minorTMHeight,l.majorTMHeight),l.placeTicksInside?(a+=l.tickMarkDistance,l.placeValuesInside&&(l.labelPadding=l.tickMarkDistance+r)):r>a?l.lines.isDraw=!1:(k?m?z.right+=r+l.tickMarkDistance:
z.left+=r+l.tickMarkDistance:m?z.top+=r+l.tickMarkDistance:z.bottom+=r+l.tickMarkDistance,a-=r,l.placeValuesInside||(l.labelPadding=l.tickMarkDistance+r))):l.lines.isDraw=!1;a-=l.tickValueDistance;if(c.drawLabels&&(l.showTickValues||l.showLimits)){c=sa(this._getCustomPixel(B)-this._getCustomPixel(B+n))/2;l.labelPadding+=l.tickValueDistance;a-=l.tickValueDistance;p=g.numberFormatter.scale;for(f=B+n;f<K;f+=n)r=""+p.call(g.numberFormatter,f),r.length>q&&(e=r,q=r.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,B),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=B;f<=K;f+=n)if(B=d.getSmartText(e,g,p),""===B.text)g+=c;else break;B=d.getSmartText(e,g,p);l.labelMaxW=ia(B.width,q.width);l.labelMaxH=ia(B.height,
q.height);!l.placeValuesInside&&l.labels.isDraw?k?(l.labelMaxW=Ja(l.labelMaxW,a),m?z.right+=l.labelMaxW+l.tickValueDistance:z.left+=l.labelMaxW+l.tickValueDistance):(l.labelMaxH=Ja(l.labelMaxH,a),m?z.top+=l.labelMaxH+l.tickValueDistance:z.bottom+=l.labelMaxH+l.tickValueDistance):l.labelPadding=-l.labelPadding}else l.labels.isDraw=!1;return l.spaceTaken=z},getGaugeAxisLimit:function(a,f,g,d,c,e,l,k){var m=!0,p=!0,n=Number(g),K=Number(d),B,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;B=Math.floor(Math.log(Math.abs(a))/Math.LN10);q=Math.floor(Math.log(Math.abs(f))/Math.LN10);q=Math.max(q,B);B=Ia(10,q);2>Math.abs(a)/B&&2>Math.abs(f)/B&&(q--,B=Ia(10,q));q=Math.floor(Math.log(a-f)/Math.LN10);q=Ia(10,q);0<a-f&&10<=B/q&&(B=q);q=(Math.floor(a/B)+1)*B;0>f?e=-1*(Math.floor(Math.abs(f/B))+1)*B:e?e=0:(e=Math.floor(Math.abs(f/B)-1)*B,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=B;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*Ba(g);d+=f*$(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,
B=l.min,l=0,q,r;r={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){sa(this.getPixel(B)-this.getPixel(B+m));e.labelPadding+=e.tickValueDistance;f=d.numberFormatter.scale;for(g=B;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,r;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:(r.right+=e.labelMaxW+e.tickValueDistance,r.left+=e.labelMaxW+e.tickValueDistance,r.top+=e.labelMaxH+e.tickValueDistance,r.bottom+=e.labelMaxH+e.tickValueDistance)}else e.labels.isDraw=
!1;return r},_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,B=a.centerY,r=f.placeValuesInside,z=f.labelMaxH,F=f.labelMaxW,u=c.max,w=c.min,v=f.axisLabelContainerTop,A=d.paper,h=this.graphics.labels||[],s=0,a=a.animateAxis,D,E,C,G,H={fontFamily:m.fontFamily,fontSize:m.fontSize,fontWeight:m.fontWeight,fontStyle:m.fontStyle,
lineHeight:m.lineHeight},N,I,M,P;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){s=g.get("config","animationObj");I=s.animObj;M=s.dummyObj;D=s.transposeAnimDuration;P=s.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=w;for(s=0;c<=u;c+=k)if(f.labels.drawNormalVal||f.labels.drawLimitVal&&(c===w||c===u))if(f.labels.drawNormalVal||c===w||c===u)if(f.labels.drawLimitVal||c!==w&&c!==u)if(0!==f.showZeroPlaneValue||0!==f.showZeroPlane||0!==c)E=d.numberFormatter.scale,c===w&&f.lowerLimitDisplay?(E=e.getSmartText(f.lowerLimitDisplay,F,z),E=E.text):c===u&&f.upperLimitDisplay?(E=e.getSmartText(f.upperLimitDisplay,F,z),E=E.text):E=E.call(d.numberFormatter,c),this.graphics.labels||(g._addCSSDefinition(".Fusioncharts-axis-labels-yAxis",
H),v.attr({"class":"Fusioncharts-axis-labels-yAxis"})),C=r?this.getPixel(c,n+p-f.polarPadding):this.getPixel(c,q+p+f.polarPadding),E={text:E},N={x:C.x,y:C.y},C.x>K-10&&C.x<K+10&&C.y<B?(E["text-anchor"]="middle",E["text-valign"]=r?"top":"bottom"):C.x>K-10&&C.x<K+10&&C.y<B?(E["text-anchor"]="middle",E["text-valign"]=r?"bottom":"top"):(E["text-anchor"]=C.x<K?r?"start":"end":r?"end":"start",E["text-valign"]="center"),h[s]?(C=h[s],C.attr(E),D&&a?C.animateWith(M,I,N,D,P):C.attr(N)):(h[s]=C=A.text(E,v),
C.attr(N)),C.attr(G),C.css(m),s+=1,c<u&&c+k>u&&c&&(c=u-k);if(h[s])for(c=s;c<h.length;c++)h[c].attr({text:""});this.graphics.labels=h}else if(h[s])for(c=s;c<h.length;c++)h[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||[],B=f.minorTMNumber,r=0,a=a.animateAxis,z,F,u,w,v,A,h,s,
D,E;s=f.axisAxisLineContainer;w={stroke:f.majorTMColor,"stroke-width":f.majorTMThickness,"stroke-linecap":"round"};u={stroke:f.minorTMColor,"stroke-width":f.minorTMThickness,"stroke-linecap":"round"};if(f.lines.isDraw&&c){r=k.get("config","animationObj");k=r.animObj;D=r.dummyObj;c=r.transposeAnimDuration;E=r.animType;F=this._getVisibleConfig();r=n+d*ea.floor((F.minValue-3*d-n)/d);F=n+d*ea.floor((F.maxValue+3*d-n)/d);F=F>p?p:F;n=r<n?n:r;for(r=0;n<=F;n+=d)if(f.placeTicksInside?(z=this.getPixel(n,q),
A=this.getPixel(n,q+f.majorTMHeight)):(z=this.getPixel(n,g),A=this.getPixel(n,g-f.majorTMHeight)),A={path:"M"+z.x+" "+z.y+"L"+A.x+" "+A.y},K[r]?(z=K[r],z.attr(w),c&&a?z.animateWith(D,k,A,c,E):z.attr(A)):(z=m.path(w,s),z.attr(A),K[r]=z),r+=1,n<p&&n+d>p&&n&&(n=p-d),n<p&&e)for(A=d/(B+1),h=1;h<=B;h+=1)v=n+A*h,f.placeTicksInside?(z=this.getPixel(v,q),v=this.getPixel(v,q+f.minorTMHeight)):(z=this.getPixel(v,g),v=this.getPixel(v,g-f.minorTMHeight)),v={path:"M"+z.x+" "+z.y+"L"+v.x+" "+v.y},K[r]?(z=K[r],z.attr(u),
c&&a?z.animateWith(D,k,v,c,E):z.attr(v)):(z=m.path(u,s),z.attr(v),K[r]=z),r+=1;if(K[r])for(n=r;n<K.length;n++)K[n].attr({path:[]});this.graphics.tick=K}else if(K[r])for(n=r;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,r,K,B,z,F,v,u,w,s=this.config,A=s.axisData,h=s.axisRange,D=h.max,h=h.min,C=this.chart;K=C.config;var G=C.linkedItems.smartLabel,H=C.components,N=H.colorManager,I=s.scaleFactor,M=s.centerX||
0,P=s.centerY||0,O=s.canvas.canvasWidth||K.canvasWidth,ua=A.trend.trendStyle,V=A.axisTrendContainerTop,W=A.axisTrendContainerBottom,aa=A.axisTrendLabelContainer,T=H.paper,ba=this.components.trendObj||[],ma={fontFamily:ua.fontFamily,fontSize:ua.fontSize,lineHeight:ua.lineHeight,fontWeight:ua.fontWeight,fontStyle:ua.fontStyle},xa=s.trendPoints,Ca=ea.PI/180,ja={},ha=s.animateAxis,ca,$,na=0,la;c={};p={};g={};e={};var ra={};B={};var X,Ha,ia,sa,qb,pa,ya,ga,Aa,qa;this.components.trendObj||C._addCSSDefinition(".Fusioncharts-axis-trendlines-label",
ma);if(xa){ca=C.get("config","animationObj");Aa=ca.animObj;qa=ca.dummyObj;C=ca.transposeAnimDuration;ca=ca.animType;G.useEllipsesOnOverflow(K.useEllipsesWhenOverflow);G.setStyle(ma);na=$=0;for(ma=xa.point.length;$<ma;$+=1)X=xa.point[$],Ha=l(X.startvalue,X.value),ia=l(X.endvalue,Ha),la=Ha!==ia,Ha<=D&&Ha>=h&&ia<=D&&ia>=h&&(a=Ha,f=ia,ka(E(X.markertooltext)),g=ka(E(X.displayvalue),la?"":H.numberFormatter.scale(Ha)),l(X.showontop,A.ticksBelowGauge,A.ticksBelowGraph,1),c=d(X.color,N.getColor("trendLightColor")),
e=l(X.alpha,99),k=l(X.thickness,1),m=X.dashed?va(X.dashlen||2,X.dashgap||2,X.thickness||1):"",p=l(X.usemarker,0),n=Y(d(X.markercolor,X.color,N.getColor("trendLightColor")),100),q=Y(d(X.markerbordercolor,X.bordercolor,N.getColor("trendDarkColor")),100),r=l(l(X.markerradius)*I,5),K=da(X.markertooltext),B=l(l(X.trendvaluedistance,A.trendValueDistance)*I,A.tickValueDistance),z=l(X.valueinside,A.placeValuesInside,0),F=l(X.showborder,1),v=Y(d(X.bordercolor,X.color,N.getColor("trendDarkColor")),l(X.borderalpha,
X.alpha,100)),u=l(l(X.radius)*I),w=l(l(X.innerradius)*I),X=Math.cos(89.99*Ca),sa=-X,u=l(u,s.gaugeOuterRadius),w=l(w,la?Math.max(s.gaugeInnerRadius-15,0):s.gaugeInnerRadius),qb=this.getPixel(Ha,u),pa=this.getPixel(Ha,w),ya=qb.x,qb=qb.y,ga=pa.x,pa=pa.y,ia=this.getAngle(ia),Ha=this.getAngle(Ha),la?(Ha>ia&&(Ha+=ia,ia=Ha-ia,Ha-=ia),c={fill:Y(c,e),"stroke-width":F?k:0,stroke:v,"stroke-dasharray":m},e={ringpath:[M,P,u,w,Ha,ia]}):(c={"stroke-width":F?k:0,stroke:v,"stroke-linecap":"round","stroke-dasharray":m},
e={path:["M",ya,qb,"L",ga,pa]}),p?(p={fill:n,"stroke-width":1,stroke:q},ra={polypath:[3,ya,qb,r,(-Ha+Math.PI)/Ca,0]}):p={},""!==g?(ja=(f+a)/2,ia=this.getAngle(ja-h),a=Math.cos(ia),f=Math.sin(ia),r=G.getOriSize(g).width,z?(ja=w-2-B,B=a>X?"end":a<sa?"start":"middle"):(ja=u+2+B,B=a>X?"start":a<sa?"end":"middle"),ya=M+ja*a,qb=P+ja*f,ja=G.getOriSize(g).height,ja=G.getSmartText(g,O,ja),ya=O<ya+r?O-r/2:ya<r?r/2:ya,r>O&&(ya=O/2),g={text:ja.text,"text-anchor":B,"vertical-align":ab},B={x:ya,y:qb},ya=ja.height,
qb=a>X||a<sa?qb+(-(ya/2)+.4*ya*f*(z?-1:1)):z?qb+-(0>f?0:ya):qb+-(0<f?0:ya),B.y=qb):(g={},B={}),ba[na]?(z=ba[na].graphics.drawing,la=ba[na].graphics.label,X=ba[na].graphics.marker,z.attr(c),X.attr(p),X.tooltip(K),la.attr(g).css(ua).tooltip(ja.oriText),C&&ha?(z.animateWith(qa,Aa,e,C,ca),X.animateWith(qa,Aa,ra,C,ca),la.animateWith(qa,Aa,B,C,ca)):(z.attr(e),X.attr(ra),la.attr(B)),A.showTooltip&&ja.oriText?la.trackTooltip(!0):la.trackTooltip(!1),X.trackTooltip(A.showTooltip&&""!==K)):(z=la?T.ringpath(M,
P,u,w,Ha,ia,W):T.path(V),la=T.text(aa),X=T.polypath(V),z.attr(c),z.attr(e),X.attr(p),X.attr(ra),X.tooltip(K),la.attr(g),la.attr(B).css(ua).tooltip(ja.oriText),A.showTooltip&&ja.oriText?la.trackTooltip(!0):la.trackTooltip(!1),X.trackTooltip(A.showTooltip&&""!==K),ba[na]={},ba[na].graphics={},ba[na].graphics.drawing=z,ba[na].graphics.label=la,ba[na].graphics.marker=X),na+=1);this.components.trendObj=ba}if(ba[na])for($=na;$<ba.length;$++)ba[$].graphics.drawing.attr({path:["M",0,0]}),ba[$].graphics.marker.attr({polypath:["M",
0,0]}),ba[$].graphics.label.attr({text:"","text-bound":[]});A.trendBackgroundSetter&&(clearTimeout(A.trendBackgroundSetter),A.trendBackgroundSetter=void 0);A.trendBackgroundSetter=setTimeout(function(){for($=0;$<na;$++)ba[$].graphics.label.attr({"line-height":ua.lineHeight,"text-bound":[ua.backgroundColor,ua.borderColor,ua.borderThickness,ua.borderPadding,ua.borderRadius,ua.borderDash]});A.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=Y(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=Y(d(a.radarBorderColor,
g.getColor("divLineColor")),l(a.radarBorderAlpha,100));f.radarFillColor=Y(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*Ba(g);d+=f*$(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||[],r=this.graphics.radarBorder||[],K=g.jsonData.categories,B=f.categories.category,R=f.labelPadding,F,v,u,w,s,A,h,D=f.gridLineColor,E=f.gridLineWidth,C=function(a){return function(b){na.call(this,g,b,a)}},G=0,H=a.centerX,N=a.centerY,I=a.animateAxis,M,P,O,V,W,aa,ba,T,ma,xa,Ca,ja;xa=l(a.radius,0);V=B?B.length-1:0;M=g.get("config","animationObj");Ca=M.animObj;
ja=M.dummyObj;P=M.transposeAnimDuration;M=M.animType;w={stroke:f.radarBorderColor,fill:f.radarFillColor,"stroke-width":f.radarBorderThickness};ba={path:["M"]};if(0!==f.showRadarBorder){for(G=O=0;O<=V;O++)ma=this.getPixel(O,xa),ba.path.push(ma.x,ma.y,"L");ba.path.pop();ba.path.push("Z")}r[0]?(r[0].attr(w),P&&I?r[0].animate(ba,P):r[0].attr(ba)):(r[0]=n.path(w,p),r[0].attr(ba));this.graphics.radarBorder=r;if(f.labels.isDraw){r=this._getVisibleConfig();K&&(F=K[0].font,v=K[0].fontsize,u=K[0].fontcolor);
for(G=O=0;O<=V;O++)if(K=B[O],ma=l(K.x,K.y,O),!(ma<r.minValue||ma>r.maxValue||!f.labels.drawNormalVal&&(!f.labels.drawLimitVal||0!==O&&ma!==V)||!f.labels.drawNormalVal&&0!==ma&&ma!==V)&&(f.labels.drawLimitVal||0!==ma&&ma!==V)){w=d(K.font,K.labelfont);s=d(K.fontsize,K.labelfontsize);A=l(K.fontbold,K.labelfontbold,0)?"bold":void 0;h=l(K.fontitalic,K.labelfontitalic,0)?"italic":void 0;ba=Y(d(K.fontcolor,K.labelfontcolor,u,k.color),l(K.labelalpha,a.rawAttr.labelFontAlpha,100));w={fontFamily:d(w,F,k.fontFamily),
fontSize:d(s,v,k.fontSize),fontWeight:d(A,k.fontWeight),fontStyle:d(h,k.fontStyle)};w.lineHeight=z(w);w.lineHeight&&(aa=w.lineHeight,-1!==aa.indexOf("px")&&(aa=aa.replace(/px/i,""),aa=parseFloat(aa)));ba={fill:ba,"line-height":aa,"font-size":k.fontSize};s=this.getPixel(ma,xa+R);h=s.x;T=s.y;s=K.label||"";if(0===l(K.showlabel,1)||0===f.showLabels)s="";W=Number(K.labelPadding)||0;A={text:s,cursor:K.link?"pointer":""};h={x:h,y:T};W&&(h.y+=W);ba["vertical-align"]=c?"bottom":"top";0===O?(ba["text-anchor"]=
"middle",ba["vertical-align"]="bottom"):O===(V+1)/2?(ba["text-anchor"]="middle",ba["vertical-align"]="top"):(ba["text-anchor"]=O<(V+1)/2?"end":"start",ba["vertical-align"]="center");ma=this.getPixel(ma,xa);W={stroke:D,"stroke-width":E,"stroke-dasharray":"none"};T={path:["M",H,N,"L",ma.x,ma.y]};e.shiftX&&(h.x+=e.shiftX);e.shiftY&&(h.y+=e.shiftY);q[G]?(ma=q[G].graphics.line,ma.attr(W),P&&I?ma.animateWith(ja,Ca,T,P,M):ma.attr(T),W=q[G].graphics.label,W.attr(A),P&&I?W.animateWith(ja,Ca,h,P,M):W.attr(h),
W.attr(ba).css(w),f.showTooltip&&K.tooltext?(W.tooltip(K.tooltext),W.trackTooltip(!0)):W.trackTooltip(!1)):(ma=n.path(W,p),ma.attr(T),W=n.text(A,m),W.attr(h).attr(ba).css(w),f.showTooltip&&K.tooltext?(W.tooltip(K.tooltext),W.trackTooltip(!0)):W.trackTooltip(!1),W.click(C("datalabelclick")).hover(C("dataLabelRollOver"),C("dataLabelRollOut")),q[G]={},q[G].graphics={},q[G].config={},q[G].graphics.line=ma,q[G].graphics.label=W);q[G].config.labelBox={label:s,lineHeight:w.lineHeight,border:l(K.borderthickness,
K.labelborderthickness)?l(K.borderthickness,K.labelborderthickness,1)+"px solid":"",borderColor:K.bordercolor||K.labelbordercolor?Y(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?Y(K.bgcolor||K.labelbgcolor,l(K.bgalpha,K.labelbgalpha,K.alpha,
K.labelalpha,100)):"",borderDash:l(K.borderdashed,K.labelborderdashed,0)?va(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[G].graphics.label.data("eventArgs",{link:K.link||K.labellink||k.labelLink,text:A.text,index:G});G+=1}if(q[G])for(O=G;O<q.length;O++)q[O].graphics.line.attr({path:["M",0,0]}),q[O].graphics.label.attr({text:"","text-bound":[]});this.components.categoryLabel=
q}else if(q[G])for(O=G;O<q.length;O++)q[O].graphics.line.attr({path:["M",0,0]}),q[O].graphics.label.attr({text:"","text-bound":[]});f.catLabelBackgroundSetter=setTimeout(function(){var a;for(O=0;O<G;O++)a=q[O].config.labelBox,a.label?q[O].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[O].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,r=q.linkedItems.smartLabel,K=n.axisData,B=K.labels.style,R=q.jsonData.categories,n=K.labelPadding=l(n.rawAttr.axisValuePadding,10),F=K.useEllipsesWhenOverflow,v=0,u=0,w=0,s=0,A=f/2,h=f/2,D=a/2,E=a/2,C,G;C=K.categories.category;K.labels.isDraw=1;K.labels.drawNormalVal=
1;K.labels.drawLimitVal=1;if(K.showLabels)for(R&&(m=R[0].font,p=R[0].fontsize),K=0,R=C.length;K<R;K++)G=C[K],g=G.font,c=G.fontsize,e=G.fontbold?"bold":"normal",k=G.fontitalic?"italic":"normal",g={fontFamily:d(g,m,B.fontFamily),fontSize:d(c,p,B.fontSize),fontWeight:d(e,B.fontWeight),fontStyle:d(k,B.fontStyle)},c=z(g),r.useEllipsesOnOverflow(q.config.useEllipsesWhenOverflow),r.setStyle(g),0===K?(g=r.getSmartText(G.label,a,Ja(c,A),F),G.oriLabel=G.label,G.label=g.text,g.width+=n,g.height+=n,g.height>
v&&(s=v=g.height)):K===R/2?(g=r.getSmartText(G.label,a,Ja(c,h),F),G.oriLabel=G.label,G.label=g.text,g.width+=n,g.height+=n,g.height>s&&(s=g.height)):K<R/2?(g=r.getSmartText(G.label,E,c,F),G.oriLabel=G.label,G.label=g.text,g.width+=n,g.height+=n,g.width>u&&(u=g.width)):(g=r.getSmartText(G.label,D,c,F),G.oriLabel=G.label,G.label=g.text,g.width+=n,g.height+=n,g.width>w&&(w=g.width));return{top:v,left:u,right:w,bottom:s}}},"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),r=l(g.dashed,p.plotborderdashed),z=l(p.useplotgradientcolor,1),K,B,R,F=m.getDashStyle,s=a.isBar,u=a.is3D,w=a.isStacked;f.showPlotBorder=l(p.showplotborder,u?0:1);f.plotDashLen=K=l(p.plotborderdashlen,5);f.plotDashGap=B=l(p.plotborderdashgap,4);
f.plotFillAngle=l(360-p.plotfillangle,s?180:90);f.plotFillAlpha=R=d(g.alpha,p.plotfillalpha,aa);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"));!z&&(f.plotgradientcolor="");f.plotBorderAlpha=d(p.plotborderalpha,R,aa);f.plotBorderColor=d(p.plotbordercolor,u&&!c?"#ffffff":
n.getColor("plotBorderColor"));f.plotBorderThickness=c=l(p.plotborderthickness,1);f.plotBorderDashStyle=r?F(K,B,c):"none";f.showValues=l(g.showvalues,p.showvalues,1);f.valuePadding=l(p.valuepadding,2);f.enableAnimation=r=l(p.animation,p.defaultanimation,1);f.animation=r?{duration:1E3*l(p.animationduration,1)}:!1;f.transposeAnimation=l(p.transposeanimation,r);f.transposeAnimDuration=1E3*l(p.transposeanimduration,.2);f.showShadow=u?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=ia(l(p.plotspacepercent),0);f.plotSpacePercent=ia(l(p.plotspacepercent,20)%100,0);f.maxColWidth=sa(l(s?p.maxbarheight:p.maxcolwidth,50));f.showPercentValues=s=l(p.showpercentvalues,w&&n?1:0);f.showPercentInToolTip=l(p.showpercentintooltip,w&&(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],r=q.getCategoryLen(),r=a?a.data.length:r,z=g.jsonData.chart,n=n.colorManager,K=c.showPlotBorder,B=c.plotColor,R=l(z.showtooltip,1),s=m.parseUnsafeString,v=s(z.yaxisname),u=s(z.xaxisname),w=s(d(z.tooltipsepchar,
", ")),D=l(z.seriesnameintooltip,1),A=m.parseTooltext,h,E,C,G,H,N,I=c.plotDashLen;C=c.plotDashGap;var M=c.plotBorderThickness,O=c.isRoundEdges,P=c.showHoverEffect,V=c.plotFillAngle,W,ba,aa,T=c.plotBorderDashStyle,X,ma,xa,Ca,ja,ha,ca,$,na,la=m.getDashStyle,ra=this.components.data,ea=g.isBar,Ha=g.is3D,va,sa=-Infinity,qb=Infinity,pa=this.yAxis,ya=c.useDataPlotColorForLabels,ga;ra||(ra=this.components.data=[]);this.visible=1===l(this.visible,this.JSONData.visible,!Number(this.JSONData.initiallyhidden),
1);for(va=0;va<r;va++)a?(N=a&&a.data[va]||{},ga=void 0!==f?f+va:ra.length-r+va,C=ra[ga]):(C=ra[va],N=k&&k[va]||{}),g=C&&C.config,C||(C=ra[va]={}),C.config||(g=ra[va].config={}),g.showValue=l(N.showvalue,c.showValues),g.setValue=E=pa.getCleanValue(N.value,c.stack100Percent),g.setLink=d(N.link),g.toolTipValue=C=pa.dataLabels(E),g.setDisplayValue=B=s(N.displayvalue),g.displayValue=d(B,C),B=l(N.dashed),h=l(N.dashlen,I),X=C=l(N.dashgap,c.plotDashGap),null!==E&&(sa=ia(sa,E),qb=Ja(qb,E)),g.plotBorderDashStyle=
h=1===B?la(h,X,M):0===B?"none":T,p?(B=n.getPlotColor(l(ga-r,va)),B=d(N.color,B),ya&&q.updateCategory(va,{labelfontcolor:Y(B)}),aa=d(N.alpha,N.borderalpha,c.plotBorderAlpha,W).toString()):(B=d(N.color,c.plotColor),aa=d(N.alpha,c.plotBorderAlpha,W).toString()),ba=d(N.ratio,c.plotFillRatio),W=d(N.alpha,c.plotFillAlpha),g.shadow={opacity:c.showShadow?W/100:0},0>E&&!O&&(H=c.plotFillAngle,V=ea?180-V:360-V),g.colorArr=X=m.graphics.getColumnColor(B+","+c.plotgradientcolor,W,ba,V,O,c.plotBorderColor,aa,ea?
1:0,Ha?!0:!1),ma=q.getLabel(l(ga-r,va)),g.origLabel=E=ka(s(ma.oriLabel||ma.label)),E=g.label=ka(s(ma.tooltext))||E,0!==P&&(ma=d(N.hovercolor,e.hovercolor,z.plotfillhovercolor,z.columnhovercolor,B),xa=d(N.hoveralpha,e.hoveralpha,z.plotfillhoveralpha,z.columnhoveralpha,W),Ca=d(N.hovergradientcolor,e.hovergradientcolor,z.plothovergradientcolor,c.plotgradientcolor),!Ca&&(Ca=""),ba=d(N.hoverratio,e.hoverratio,z.plothoverratio,ba),ja=l(360-N.hoverangle,360-e.hoverangle,360-z.plothoverangle,V),ha=d(N.borderhovercolor,
e.borderhovercolor,z.plotborderhovercolor,c.plotBorderColor),ca=d(N.borderhoveralpha,e.borderhoveralpha,z.plotborderhoveralpha,z.plotfillhoveralpha,z.columnhoveralpha,aa,W),aa=l(N.borderhoverthickness,e.borderhoverthickness,z.plotborderhoverthickness,c.showPlotBorder&&M),$=N.borderhoverdashed||e.borderhoverdashed||z.plotborderhoverdashed,na=l(N.borderhoverdashgap,e.borderhoverdashgap,z.plotborderhoverdashgap,I),C=l(N.borderhoverdashlen,e.borderhoverdashlen,z.plotborderhoverdashlen,C),C=void 0!==$?
Number($)?la(C,na,aa):"":h,1==P&&ma===B&&(ma=Na(ma,70)),B=m.graphics.getColumnColor(ma+","+Ca,xa,ba,ja,O,ha,ca.toString(),ea?1:0,Ha?!0:!1),g.setRolloutAttr={fill:Ha?[F(X[0]),!c.use3DLighting]:F(X[0]),stroke:K&&F(X[1]),"stroke-width":M,"stroke-dasharray":h},g.setRolloverAttr={fill:Ha?[F(B[0]),!c.use3DLighting]:F(B[0]),stroke:F(B[1]),"stroke-width":aa,"stroke-dasharray":C}),h=g.toolTipValue,g.origToolText=C=ka(s(d(N.tooltext,e.plottooltext,z.plottooltext))),R?null===h?N=!1:void 0!==C?(B=[1,2,3,4,5,
6,7],E={yaxisName:v,xaxisName:u,formattedValue:h,label:E},N=A(C,B,E,N,z,e)):(D&&(G=da(e&&e.seriesname)),N=G?G+w:"",N+=E?E+w:""):N=!1,g.toolText=N,g.setTooltext=N,H&&(V=H),ga++;c.maxValue=sa;c.minValue=qb},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=Ka(c.legendSymbolColor),a=a.components.legend;d=l(g.use3dlighting,g.useplotgradientcolor,1);g=Na(e,60).replace(pa,T);d?(d=Na(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,z,S=a.visible,s=a.chart,K=s.components,B=K.paper,R=K.xAxis[0],v=R.getCategoryLen(),D=a.yAxis,u=s.graphics.columnGroup,w=s.isStacked,E,A,h,C=s.graphics,G=m.parseUnsafeString,N=m.getValidValue,H=m.Raphael,I=c.showTooltip,M=s.get("config","animationObj"),O=M.animObj,P=M.dummyObj,Y=M.duration,V=M.animType,ba=R.getAxisPosition(0),aa=R.getAxisPosition(1),T=c.groupMaxWidth=aa-ba,X=c.definedGroupPadding,ha=c.plotSpacePercent/200,ma=k.getDataSetPosition(a),xa=k.stackSumValue[a.positionIndex],Ca=
k.manageClip,ja=c.maxColWidth,ca=(1-.01*X)*T||Ja(T*(1-2*ha),1*ja),$=l(ma.columnWidth,ca/1),ia,ka=ma.xPosOffset||0,la=ma.height,ra,ea,Ha=a.components,va=Ha.data,da,pa,ga,ya,qa,Aa,ta,wa,bb,za=a.drawn,Fa=Ha.removeDataArr,wb=Fa&&Fa.length,Ga=Ha.addDataArr,Ia=Ga&&Ga.length,Ba={},Ma={},Ka=s.config.dataLabelStyle,Oa=K.canvas.config.showCanvasBorder,Na={fontFamily:Ka.fontFamily,fontSize:Ka.fontSize,lineHeight:Ka.lineHeight,fontWeight:Ka.fontWeight,fontStyle:Ka.fontStyle,color:Ka.color},Ra=D.getLimit(),Ya=
Ra.min,Ua=0<Ra.max&&0>Ya,Ta,Xa=D.getAxisBase(),db=D.yBasePos=D.getAxisPosition(Xa),gb,Za,Wa=c.plotBorderThickness,ib=c.plotRadius,ob=a.graphics,sb=ob.container,Ab=ob.trackerContainer,Eb=ob.dataLabelContainer,$a=ob.shadowContainer,Va=Ha.pool,ub=C.trackerGroup,kb,pb=1,Fb,Gb,tb,vb,Hb=R.getAxisPosition(v-1)+ka,ab=R.getAxisPosition(0)+ka,Jb,Bb=!0,jb=!1,lb=!1,Cb=a.startPosition,Kb=c.showHoverEffect,mb=function(a){na.call(this,s,a)},xb=function(a){return function(b){var f=this.getData();0!==f.showHoverEffect&&
!0!==f.draged&&(a.attr(this.getData().setRolloverAttr),na.call(this,s,b,"DataPlotRollOver"))}},Nb=function(a){return function(b){var f=this.getData();0!==f.showHoverEffect&&!0!==f.draged&&(a.attr(this.getData().setRolloutAttr),na.call(this,s,b,"DataPlotRollOut"))}},yb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(sb.hide(),Ab.hide(),$a.hide(),Eb&&Eb.hide(),a._conatinerHidden=!0);this.show()},Qb=function(){a.visible&&a.drawLabel();k.drawSumValueFlag&&k.drawSumValue()},
Ib=function(){return Cb?function(a,b){a.x=ab-T*(Ia-b);a.y=A;a.height=ra}:!1===Cb?function(a){a.x=Hb+T*pb++;a.y=A;a.height=ra}:function(a){a.width=0}},Ob,Lb=s.config.viewPortConfig,$b=Lb.x,Wb=Lb.scaleX;za&&(Ib=Ib());sb||(sb=a.graphics.container=B.group("columns",u),S?sb.show():sb.hide());Ab||(Ab=a.graphics.trackerContainer=B.group("col-hot",ub),S||Ab.hide());s._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Na);$a||($a=a.graphics.shadowContainer=B.group("shadow",u).toBack(),S||$a.hide());
S&&(sb.show(),Ab.show(),$a.show());for(z=0;z<v;z++)if(Aa=(bb=(da=va[z])&&da.config)&&bb.setValue,void 0===da||void 0===Aa||null===Aa){if(Fb=da&&da.graphics)for(Gb in Fb)Fb[Gb].hide()}else{Ta=0<=Aa;qa=bb.setLink;kb=bb.colorArr;da.graphics||(va[z].graphics={});wa=bb.displayValue;gb=Ta?bb.previousPositiveY:bb.previousNegativeY;pa=N(G(d(bb.origToolText,f.plottooltext,g.plottooltext)));w&&(gb=a._parseValues(z,gb,xa[z],pa),Aa=bb.value);Za=D.getAxisPosition(gb||Xa);E=R.getAxisPosition(z)+ka+$b*Wb;0!==la?
(A=D.getAxisPosition(Aa+(gb||0)),ra=sa(Za-A)):(ra=0,A=Za);A=Ja(A,Za);Oa&&!Ua&&Ca&&S&&0<Wa&&(ra+=Wa,k.manageClip=!1);k.isCrisp?(h=H.crispBound(E,A,$,ra,Wa),E=h.x,A=h.y,ia=h.width,ra=h.height):ia=$;Ob=bb.shadow;ea=!1!==bb.toolText&&bb.toolText+(pa?"":bb.toolTipValue);Jb=bb.plotBorderDashStyle;ta={index:z,link:qa,value:Aa,displayValue:wa,categoryLabel:bb.origLabel,toolText:ea,id:"",datasetIndex:n,datasetName:f.seriesname,visible:S};Ba=bb.setRolloutAttr;Ma=bb.setRolloverAttr;da._xPos=E;da._yPos=A;da._height=
ra;da._width=ia;da._index=z;(ga=da.graphics.element)||(q={x:E,y:db,width:ia,height:1,r:ib,ishot:!I,fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?Wa:0,"stroke-dasharray":Jb,"stroke-linejoin":"miter",visibility:S},za&&(Ib(q,z),Va&&Va.hotElement[0]&&(da.graphics.hotElement=Va.hotElement[0],Va.hotElement.splice(0,1)),Va&&Va.element[0]&&(ga=da.graphics.element=Va.element[0],ga.attr(q),Va.element.splice(0,1)),da._newXPos=q.x),ga?tb=!1:(ga=da.graphics.element=B.rect(q,sb),tb=!0),za||(ga.animateWith(P,
O,{y:A,height:ra||1},Y,V,Bb&&Qb),Bb=!1));(ga=da.graphics.element)&&za&&(lb=jb=!0,q={x:E,y:A,width:ia,height:ra||1,r:ib},w||!1!==a.visible||0===la||(delete q.y,delete q.height),e||ga.attr({fill:F(kb[0]),stroke:F(kb[1]),"stroke-width":c.showPlotBorder?Wa:0,"stroke-linejoin":"miter","stroke-dasharray":Jb,ishot:!I,visibility:S}),ga.animateWith(P,O,q,Y,V,Bb&&yb),Bb=!1);ga.shadow(Ob,$a).data("BBox",h);if(qa||I)ra<W&&(A-=(W-ra)/2,ra=W),q={x:E,y:A,width:ia,height:ra},e||(q=p(q,{r:ib,cursor:qa?"pointer":"",
stroke:r,"stroke-width":c.showPlotBorder?Wa:0,fill:r,ishot:!0,visibility:S})),da.graphics.hotElement?(da.graphics.hotElement.attr(q),vb=!1):(ya=da.graphics.hotElement=B.rect(q,Ab),vb=!0);ya=da.graphics.hotElement;(ya||ga).data("eventArgs",ta).data("groupId",void 0).data("showHoverEffect",Kb).data("setRolloverAttr",Ma).data("setRolloutAttr",Ba).tooltip(ea);(vb||tb)&&(ya||ga).click(mb).hover(xb(ga),Nb(ga))}jb&&a.drawLabel();k.drawSumValueFlag&&lb&&k.drawSumValueFlag&&k.drawSumValue();a.drawn=!0;wb&&
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=Ja(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,r=g.linkedItems.smartLabel,K=g.config.dataLabelStyle,B=this.config,z=B.legendInteractivity,F=c.xAxis[0].getCategoryLen(),s=this.components,c=s.data,s=s.pool,u=this.visible,w,v,B=B.rotateValues,A,h,D,E,C,G=this.graphics.dataLabelContainer,N=this.labelDrawn;w=l(a,0);F=l(f,F);d=
d.datalabelsGroup;G||(G=this.graphics.dataLabelContainer=q.group("datalabel",d));u&&G.show();r.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);r.setStyle(K);for(d=w;d<F;d++)if(w=c[d],void 0!==w&&(u=w.graphics))C=w&&w.config,D=w._yPos,E=w._xPos,h=C.setValue,v=C.displayValue,(A=C.showValue)&&null!==h?(z&&C._state||(A=r.getOriSize(v),C._state=B?{labelWidth:A.height,labelHeight:A.width}:{labelWidth:A.width,labelHeight:A.height}),h=this._getValuePosition({labelWidth:C._state.labelWidth,labelHeight:C._state.labelHeight,
width:w._width,height:w._height,yPos:D,xPos:E,value:h}),D=h.textX,h=h.textY,v={x:D,y:h,text:v},z||(v=p(v,{"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})),!u.label&&N&&g.isRealTime&&(C=p({},v),C.x=v.x-E+(w._newXPos||0),C.transform=q.getSuggestiveRotation(B,C.x,h),s&&s.label[0]?(u.label=s.label[0].attr(C),s.label.splice(0,1)):u.label=q.text(C,G)),v.transform=q.getSuggestiveRotation(B,
D,h),(w=u.label)||(w=u.label=q.text(G),w.attr(v)),w.show(),z||w.attr({fill:K.color,"text-bound":[K.backgroundColor,K.borderColor,K.borderThickness,K.borderPadding,K.borderRadius,K.borderDash]}),N&&w.animateWith(k,m,v,e,n)):u.label&&(u.label.attr({"text-bound":[]}),u.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,B=a.yPos,e=g.is3D,g=g.isStacked,
r=f.valuePadding+2,z=a.height;n=a.width;f=f.placeValuesInside;K=a.labelHeight;var F=k.getAxisConfig("isReverse"),u=k.getAxisConfig("axisRange"),w=u.min,k=a.value,u=0<u.max&&0>w;a=a.xPos;F&&u&&(q=0>k?!1:!0);q=d(q,0>k);K=F=K+r;r=.5*F+r;n=a+.5*n;a=q?m+p-(B+z+l):B-m;g?(p=Ja(m+p-.5*K,B+.5*z+(l||0)),p=ia(m+.5*K,p),n-=c):f?z>=K?(p=B+(q?z-r:r),e&&(n-=c,p+=l)):a>=K?(p=B+(q?z+r:-r),e&&q&&(n-=c,p+=l)):(p=B+(q?z-r:r),e&&(n-=c,p+=l)):a>=K?(p=B+(q?z+r:-r),e&&(q?(n-=c,p+=l):n-=c/2)):(p=B+(q?z-r:r),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=wa(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=ia(e,d),l=Ja(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,B,r=d.components.paper,z=this.config.rotateValues,F=this.chart.config.realTimeConfig&&this.chart.config.realTimeConfig.clear,u=this.hidingPosition(),w=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(),
B=u(d),"label"===p&&(B.transform=r.getSuggestiveRotation(z,B.x,B.y)),F&&n[p].hide(),n[p].animateWith(l,k,B,e,c,w);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,r,B=g.getPixel(0),p=a.linkedItems.smartLabel,z={paddingLeft:0,paddingRight:0};k=0;var F=this.groupManager,F="column"===this.type&&F.getDataSetPosition(this),s=this.getAxisValuePadding();e&&(e=e.config,r=e.showValue,m=e&&e.anchorProps||{},r&&(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)-B)-(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),z.paddingLeft=ia(n,q));c&&(e=c.config,r=e.showValue,m=e&&e.anchorProps||{},r&&!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)-B)+(F&&F.xPosOffset+F.columnWidth/2||0),0>q&&(q=0)),z.paddingRight=ia(n,q));return z},getPlotClickFn:function(a){return function(f){na.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),na.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),na.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,z,s=a.chart,K=s.components.paper,B=s.components.xAxis[0],R=a.yAxis,v=s.graphics.columnGroup,D=s.isStacked,u,w,E,A=s.graphics,h=m.parseUnsafeString,C=m.getValidValue,G=c.showTooltip,N=s.get("config","animationObj"),H=N.animType,I=N.animObj,M=N.dummyObj,N=N.duration,O=B.getAxisPosition(0),
P=B.getAxisPosition(1),P=c.groupMaxWidth=P-O,Y=c.definedGroupPadding,V=c.plotSpacePercent/200,ba=e.getDataSetPosition(a),O=e.stackSumValue[a.positionIndex],aa=c.maxColWidth,P=(1-.01*Y)*P||Ja(P*(1-2*V),1*aa),P=l(ba.columnWidth,P/1),T,Y=ba.xPosOffset||0,ba=ba.height,X,V=a.components.data,ha,ma,xa,Ca,ja,ca,$,ia;Ca={};ca={};aa=R.getLimit();ha=aa.max;var ka=aa.min,aa=R.getAxisBase(),la=R.yBasePos=R.getAxisPosition(aa),ra,da=0,Ha=c.plotBorderThickness;$=a.graphics.container;var ea=a.graphics.dataLabelContainer,
va=a.graphics.shadowContainer,ga=A.trackerGroup,pa,ya,qa,Aa,ta,wa,za,A=c.use3DLighting,Ga,Fa,wb,Ba,Ia=!0,Ka=!1,Ma=!1,Oa=a.visible,Na,Ra=(a.components.removeDataArr||[]).length,hb=a.components.pool||[],Ya=c.showHoverEffect,Ua=function(a){na.call(this,s,a)},Ta=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),na.call(this,s,b,"DataPlotRollOver"))}},Xa=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),
na.call(this,s,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"});va.hide();ea&&ea.hide();a._conatinerHidden=!0}},gb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};$||($=a.graphics.container=
s.datasetLayers=s.datasetLayers||K.group("columns",v));va||(va=a.graphics.shadowContainer=K.group("shadow",v).toBack());n=B.getCategoryLen();if(Oa)for(z=0;z<n;z++)V[z].graphics&&V[z].graphics.element&&V[z].graphics.element.attr({visibility:"visible"}),V[z].graphics&&V[z].graphics.hotElement&&V[z].graphics.hotElement.attr({visibility:"visible"});v=$.negative=$.negative||K.group("negative-values",$);ya=$.column=$.column||K.group("positive-values",$);qa=ga.negative=ga.negative||K.group("negative-values",
ga);ga=ga.column=ga.column||K.group("positive-values",ga);0>ka&&0<=ha?(z=$.zeroPlane)?(z=[s.config.canvasLeft-10,la+10,s.config.canvasWidth,1,10,10,z],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),e.graphics.zeroplane.animateWith(M,I,{cubepath:z},N,H),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,!A],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(z=$.zeroPlane=K.group("zero-plane",$).insertBefore(ya),
!e.graphics&&(e.graphics={}),e.graphics.zeroplane=K.cubepath(s.config.canvasLeft-10,la+10,s.config.canvasWidth,1,10,10,z).attr({fill:[c.zeroPlaneColor,!A],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();(ka=v.data("categoryplots"))||(v.data("categoryplots",Array(n)),ka=v.data("categoryplots"));(Aa=ya.data("categoryplots"))||
(ya.data("categoryplots",Array(n)),Aa=ya.data("categoryplots"));(ta=qa.data("categoryplots"))||(qa.data("categoryplots",Array(n)),ta=qa.data("categoryplots"));(wa=ga.data("categoryplots"))||(ga.data("categoryplots",Array(n)),wa=ga.data("categoryplots"));for(z=0;z<n;z++)if($=z,Ca=(ia=(ha=V[z])&&ha.config)&&ia.setValue,Na=!1,!ha||void 0!==Ca&&null!==Ca||(ha.graphics&&ha.graphics.element&&(ha.graphics.element.hide(),ha.graphics.element._.cubeside.hide(),ha.graphics.element._.cubetop.hide()),ha.graphics&&
ha.graphics.hotElement&&ha.graphics.hotElement.hide()),void 0!==ha&&void 0!==Ca&&null!==Ca){ka[z]=ka[z]||K.group(v);Aa[z]=Aa[z]||K.group(ya);ta[z]=ta[z]||K.group(qa);wa[z]=wa[z]||K.group(ga);ha.graphics||(V[z].graphics={});xa=ia.setLink;pa=ia.colorArr;ca=ia.displayValue;w=0<=Ca?ia.previousPositiveY:ia.previousNegativeY;X=C(h(d(ia.origToolText,f.plottooltext,g.plottooltext)));D&&(w=a._parseValues(z,w,O[z],X),Ca=ia.value);ra=R.getAxisPosition(w||aa);u=B.getAxisPosition(z)+Y;0!==ba?(E=R.getAxisPosition(Ca+
(w||0)),w=sa(ra-E)):(w=0,E=ra);E=Ja(E,ra);T=P;(za=0>Ca)?(q=ka,ra=ta):(q=Aa,ra=wa);X=ia.toolText+(X?"":ia.toolTipValue);ja={index:z,link:xa,value:Ca,displayValue:ca,categoryLabel:p[z].label,toolText:X,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Oa};Ca=ia.setRolloutAttr;ca=ia.setRolloverAttr;N||(la=E,da=w);Ga=u;Fa=E;wb=T;Ba=w;u-=10;E+=10;ha.graphics.element?(Ma=Ka=!0,ma=ha.graphics.element,q[z].appendChild(ma._.cubetop),q[z].appendChild(ma._.cubeside),q[z].appendChild(ma),q={cubepath:[u,!0===
a.visible||0===ba||D?E:ma.attrs.cubepath[1],T,!0===a.visible||0===ba||D?w:ma.attrs.cubepath[3],10,10]},ma.animateWith(M,I,q,N,H,Ia&&db),ma.attr({fill:[F(pa[0]),!A],ishot:!0,stroke:c.showPlotBorder&&F(pa[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:xa?"pointer":""})):(hb.element&&hb.element.length?(ma=ha.graphics.element=hb.element.shift(),q[z].appendChild(ma._.cubetop),q[z].appendChild(ma._.cubeside),q[z].appendChild(ma),ma.show()):(ma=
ha.graphics.element=K.cubepath(q[z]),Na=!0),ma.attr({cubepath:[u,N?la+10:E,T,N?0:da,10,10],fill:[F(pa[0]),!A],ishot:!0,stroke:c.showPlotBorder&&F(pa[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":ia.plotBorderDashStyle,cursor:xa?"pointer":"",visibility:Oa?"visible":"hidden"}),ma.animateWith(M,I,{cubepath:[u,E,T,w,10,10]},N,H,Ia&&gb),N?Ia=!1:Ma=Ka=!0,ha._newXPos=u);ma.shadow(ia.shadow,va).data("BBox",{height:da,width:T,x:u,y:E});if(xa||G)w<W&&(E-=(W-w)/2,w=W),q={cubepath:[u,
E,T,w,10,10],cursor:xa?"pointer":"",stroke:Ha&&r||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:0,fill:r,ishot:!0},ha.graphics.hotElement?(u=ha.graphics.hotElement,ra[z].appendChild(u),ra[z].appendChild(u._.cubetop),ra[z].appendChild(u._.cubeside)):hb.hotElement&&hb.hotElement.length?(u=ha.graphics.hotElement=hb.hotElement.shift(),ra[z].appendChild(u),ra[z].appendChild(u._.cubetop),ra[z].appendChild(u._.cubeside),u.show()):(u=ha.graphics.hotElement=K.cubepath(ra[z]),Na=!0),u.attr(q);
u=ha.graphics.hotElement;(u||ma).data("eventArgs",ja).data("groupId",$).data("showHoverEffect",Ya).data("setRolloverAttr",ca).data("setRolloutAttr",Ca).tooltip(X);(u||ma)._.cubetop.data("eventArgs",ja).data("groupId",$).data("showHoverEffect",Ya).data("setRolloverAttr",ca).data("setRolloutAttr",Ca).tooltip(X);(u||ma)._.cubeside.data("eventArgs",ja).data("groupId",$).data("showHoverEffect",Ya).data("setRolloverAttr",ca).data("setRolloutAttr",Ca).tooltip(X);Na&&((u||ma).click(Ua).hover(Ta(ma),Xa(ma)),
(u||ma)._.cubetop.click(Ua).hover(Ta(ma),Xa(ma)),(u||ma)._.cubeside.click(Ua).hover(Ta(ma),Xa(ma)));D&&za&&(ma.toBack(),u&&u.toBack());ha._xPos=Ga;ha._yPos=Fa;ha._height=Ba;ha._width=wb}Ka&&a.drawLabel();e.drawSumValueFlag&&Ma&&e.drawSumValueFlag&&e.drawSumValue();Ra&&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=Ja(k&&k.length,e&&e.length),p=g.jsonData,n=p.chart,q=c.colorManager,r,z=q.getPlotColor(this.index||this.positionIndex),K=l(f.dashed,n.plotborderdashed),B=l(n.useplotgradientcolor,1),R=l(n.showtooltip,1),s=m.parseUnsafeString,v=s(n.yaxisname),u=s(n.xaxisname),w=s(d(n.tooltipsepchar,", ")),D=m.parseTooltext,
A,h,E,C,G,N,I,M,P,V,W,ua,ba,T,ha,X,$,ma,xa,Ca,ja,ca,na,ea,va,la,ra,ga=m.getDashStyle,Ha=this.components.data,pa=c.numberFormatter,sa;r={};r=r.dataObj||(r.dataObj={});sa=r.chart||(r.chart={});$=d(n.connectorthickness,1);var qa,ta=-Infinity,ya=Infinity,wa=0,Aa=0,rb=0,za,bb,Ga,Fa;this.visible=1===l(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);r=a.showplotborder=l(n.showplotborder,1);a.plotBorderThickness=G=r?l(n.plotborderthickness,1):0;a.isRoundEdges=N=l(n.useroundedges,0);a.plotBorderAlpha=
W=r?d(n.plotborderalpha,E,aa):0;a.plotBorderColor=ua=d(n.plotbordercolor,q.getColor("plotBorderColor").split(",")[0]);a.plotgradientcolor=V=B?O(n.plotgradientcolor,q.getColor("plotGradientColor")):H;a.plotDashLen=B=l(n.plotborderdashlen,6);a.plotDashGap=C=l(n.plotborderdashgap,3);a.use3DLighting=l(n.use3dlighting,1);a.showSum=qa=l(n.showsumatend,1);a.plotColor=d(f.color,z);a.plotfillAngle=M=l(360-n.plotfillangle,90);a.showShadow=N?l(n.showshadow,1):l(n.showshadow,q.getColor("showShadow"));a.showHoverEffect=
I=l(n.plothovereffect,n.showhovereffect,void 0);a.plotFillAlpha=d(f.alpha,n.plotfillalpha,aa);a.plotRadius=l(n.useRoundEdges,a.isRoundEdges?1:0);a.plotFillRatio=P=d(f.ratio,n.plotfillratio);a.plotBorderDashStyle=ba=K?ga(B,C,G):"none";a.showValues=l(f.showvalues,n.showvalues,1);a.valuePadding=l(n.valuepadding,2);a.enableAnimation=z=l(n.animation,n.defaultanimation,1);a.animation=z?{duration:1E3*l(n.animationduration,1)}:!1;sa.transposeAnimation=a.transposeAnimation=l(n.transposeanimation,sa.transposeAnimation,
z);a.transposeAnimDuration=1E3*l(n.transposeanimduration,.2);a.showTooltip=l(n.showtooltip,1);a.stack100Percent=l(g.stack100percent,n.stack100percent,0);a.definedGroupPadding=ia(l(n.plotspacepercent),0);a.plotSpacePercent=ia(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=sa="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;Ha||(Ha=this.components.data=[]);a.zLine=bb={step:!0,data:[],dashStyle:"1"===n.connectordashed?ga(l(n.connectordashlen,2),l(n.connectordashgap,2),$):"none",useForwardSteps:!0,color:Y(d(n.connectorcolor,"000000"),d(n.connectoralpha,100)),lineWidth:$};for(g=0;g<k;g+=1)T=e[g],X=pa.getCleanValue(T.value),h=l(T.issum,0),T.vline||h||(wa+=X,T._value=X);za=pa.dataLabels(wa);qa&&(qa=!0,k+=1,Ga={label:da(n.sumlabel,"Total"),_value:wa,
value:wa,issum:1,cumulative:1});for(Fa=g=0;g<k;g+=1)T=e[g],$=(X=Ha[g])&&X.config,X||(X=Ha[g]={graphics:{}}),X.config||($=Ha[g].config={}),!T&&qa&&(p.data||(p.data=[]),p.data[g]=T=e[g]=Ga),z=d(T.color,q.getPlotColor(g)),X.vline||(X=T._value,delete T._value,$.issum=h=l(T.issum,0),E=$.isCumulative=l(T.cumulative,1),h?(X=E?Aa:Aa===rb?Aa:Aa-rb,$.lastComTotal=rb,rb=Aa,bb.data.push({y:null,x:Fa-.5})):Aa+=X,ta=ia(ta,Aa),ya=Ja(ya,Aa),$.total=Aa,h=$.showLabel=l(T.showlabel,n.showlabels,1),h=$.dataLabel=s(h?
da(T.label,T.name):H),0<X?(ma=d(T.color,n.positivecolor,z),0!==I&&(xa=d(T.positivehovercolor,n.positivehovercolor,n.plotfillhovercolor,n.columnhovercolor,ma))):(ma=d(T.color,n.negativecolor,z),0!==I&&(xa=d(T.negativehovercolor,n.negativehovercolor,n.plotfillhovercolor,n.columnhovercolor,ma))),E=d(T.alpha,a.plotFillAlpha),A=l(T.dashed,K),Ca=l(T.dashlen,B),ja=C=l(T.dashgap,C),$.showValue=l(T.showvalue,a.showValues),$.setValue=ha=X,$.setLink=d(T.link),$.toolTipValue=ha=pa.dataLabels(ha,sa),$.setDisplayValue=
ca=ka(s(T.displayvalue)),$.displayValue=d(ca,ha),$.plotBorderDashStyle=A=1===A?ga(Ca,ja,G):0===A?"none":ba,$.colorArr=ma=m.graphics.getColumnColor(ma+","+V.replace(/,+?$/,""),E,P,M,N,ua,W.toString(),0,!1),0!==I&&(Ca=d(T.alpha,T.hoveralpha,f.hoveralpha,n.plotfillhoveralpha,n.columnhoveralpha,E),ja=d(T.hovergradientcolor,f.hovergradientcolor,n.plothovergradientcolor,V),!ja&&(ja=""),ha=d(T.hoverratio,f.hoverratio,T.ratio,n.plothoverratio,P),ca=l(360-T.hoverangle,360-f.hoverangle,360-n.plothoverangle,
M),na=d(T.borderhovercolor,f.borderhovercolor,n.plotborderhovercolor,ua),ea=d(T.borderhoveralpha,f.borderhoveralpha,n.plotborderhoveralpha,W,E),E=l(T.borderhoverthickness,f.borderhoverthickness,n.plotborderhoverthickness,G),va=l(T.borderhoverdashed,f.borderhoverdashed,n.plotborderhoverdashed),la=l(T.borderhoverdashgap,f.borderhoverdashgap,n.plotborderhoverdashgap,B),ra=l(T.borderhoverdashlen,f.borderhoverdashlen,n.plotborderhoverdashlen,C),va=va?ga(ra,la,E):A,1===I&&xa===z&&(xa=Na(xa,70)),z=m.graphics.getColumnColor(xa+
","+ja,Ca,ha,ca,N,na,ea.toString(),0,!1),$.setRolloutAttr={fill:F(ma[0]),stroke:r&&F(ma[1]),"stroke-width":G,"stroke-dasharray":A},$.setRolloverAttr={fill:F(z[0]),stroke:r&&F(z[1]),"stroke-width":E,"stroke-dasharray":va}),A=$.toolTipValue,z=ka(s(d(T.tooltext,f.plottooltext,n.plottooltext))),R?void 0!==z?(E=[1,2,3,5,6,7,20,21,24,25],h={formattedValue:A,label:h,yaxisName:v,xaxisName:u,cumulativeValue:Aa,cumulativeDataValue:pa.dataLabels(Aa),sum:za,unformattedSum:wa},z=D(z,E,h,T,n,f)):z=null===A?!1:
h!==H?h+w+A:A:z=!1,bb.data.push({y:null===X?null:Aa,x:Fa}),Fa+=1,$.toolText=z,$.setTooltext=z);a.maxValue=ta;a.minValue=ya;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,z=d.positionIndex,K=d.chart.config.categories,B=p.data,R=K&&K.length,
s=B&&B.length,v,B=d.visible,u=c.components.paper,w=c.components.xAxis[0],D=c.components.yAxis[0],A=d.components,h=A.removeDataArr,h=h&&h.length,E,C,G,N=c.graphics,H=m.Raphael,I=n.showTooltip,M=w.getAxisPosition(0),M=w.getAxisPosition(1)-M,O=n.definedGroupPadding,P=n.plotSpacePercent/200,Y=q.getDataSetPosition(d),V=n.maxColWidth,M=(1-.01*O)*M||Ja(M*(1-2*P),1*V),M=l(Y.columnWidth,M/1),T,O=Y.xPosOffset||0,Y=Y.height,ba,aa,A=A.data,$,ma,xa,ha,ja,ca;ha={};ca={};var P=D.getAxisBase(),V=D.yBasePos=D.getAxisPosition(P),
na=0,ia=n.showShadow,ka=n.plotBorderThickness,la=n.plotRadius,ra=d.graphics.container,da=d.graphics.trackerContainer,Ha=d.graphics.dataLabelContainer,ea=d.graphics.shadowContainer;xa=N.trackerGroup;var N=!0,va=!1,ga=d.pool||(d.pool={}),pa=function(){!1!==d.visible||!1!==d._conatinerHidden&&void 0!==d._conatinerHidden||(ra.hide(),da.hide(),ea.hide(),Ha&&Ha.hide(),d._conatinerHidden=!0)},ya=function(){d.drawLabel()},qa=c.get("config","animationObj"),Aa=qa.duration||0,ta=qa.dummyObj,wa=qa.animObj,qa=
qa.animType;ra||(ra=d.graphics.container=u.group("columns",k),B||ra.hide());da||(da=d.graphics.trackerContainer=u.group("col-hot",xa),B||da.hide());ea||(ea=d.graphics.shadowContainer=u.group("shadow",k).toBack(),B||ea.hide());n.showConnectors&&d.drawLine();k=Ja(R,s);for(R=0;R<k;R++)if(ca=(s=A[R])&&s.config)if(ha=ca.setValue,E=0<=ha,null!==ha){xa=ca.setLink;v=ca.colorArr;s.graphics||(A[R].graphics={});ja=ca.displayValue;C=E?ca.previousPositiveY:ca.previousNegativeY;ca.issum?ca.isCumulative||(C=ca.lastComTotal):
C=A[R-1]&&A[R-1].config.total;T=D.getAxisPosition(C||P);E=w.getAxisPosition(R)+O;0!==Y?(C=D.getAxisPosition(ha+(C||0)),ba=sa(T-C)):(ba=0,C=T);C=Ja(C,T);X(C+ba)>=e&&(ba+=ka/2);q.isCrisp?(G=H.crispBound(E,C,M,ba,ka),E=G.x,C=G.y,T=G.width,ba=G.height):T=M;aa=ca.toolText;a=ca.plotBorderDashStyle;ja={index:R,link:xa,value:ha,displayValue:ja,categoryLabel:K[R].label,toolText:aa,id:"",datasetIndex:z,datasetName:p.seriesname,visible:B};ha=ca.setRolloutAttr;ca=ca.setRolloverAttr;Aa||(V=C,na=ba);v={ishot:!I,
fill:F(v[0]),stroke:F(v[1]),"stroke-width":ka,"stroke-linejoin":"miter",visibility:B};f={x:E,y:V,width:T,height:na||1,r:la,"stroke-dasharray":a};s._xPos=E;s._yPos=C;s._height=ba;s._width=T;g=s.graphics;$=g.element;a=!1;$?(va=!0,f.y=C,f.height=ba||1,$.attr(v).animateWith(ta,wa,f,Aa,qa,N&&pa)):(ga.element&&ga.element.length?$=g.element=ga.element.shift():($=g.element=u.rect(ra),a=!0),$.attr(v).attr(f),Aa?($.animateWith(ta,wa,{y:C,height:ba||1},Aa,qa,N&&ya),N=!1):va=!0);$.shadow({opacity:ia},ea).data("BBox",
G);if(xa||I)ba<W&&(C-=(W-ba)/2,ba=W),v={x:E,y:C,width:T,height:ba,r:la,cursor:xa?"pointer":"",stroke:r,"stroke-width":ka,fill:r,ishot:!0,visibility:B},(ma=g.hotElement)||(ma=g.hotElement=u.rect(v,da),a=!0),ma.attr(v);(ma||$).data("eventArgs",ja).data("groupId",void 0).tooltip(aa).data("hoverEnabled",n.showHoverEffect).data("setRolloverAttr",ca).data("setRolloutAttr",ha).data("setElem",$).data("dataset",d);a&&(ma||$).click(d.getPlotClickFn(c)).hover(d.rolloverResponseSetter(s,c),d.rolloutResponseSetter(s,
c))}va&&d.drawLabel();h&&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,r=m.getAxisPosition(0),r=m.getAxisPosition(1)-r,B=d.maxColWidth,n=((1-.01*n)*r||Ja(r*(1-2*q),1*B))/2,z=d.zLine,d=d.connectNullData,q=z.data,r=q.length,B=this.graphics,F=z.dashStyle,s=z.color,z=z.lineWidth,u,w=B.zLine,v=null,
A=[],h=[],E=a.get("config","animationObj"),a=E.duration||0,D=E.dummyObj,C=E.animObj,E=E.animType,g=g.datalabelsGroup;k=B.dataLabelContainer;k||(k=this.graphics.dataLabelContainer=c.group("datalabel",g));p||(p=B.lineContainer=c.group("line-connector",k));f.yBasePos=e;for(g=0;g<r;g+=1)k=q[g],e=k.y,null===e?(h.length=0,0===d&&(v=null)):(k=l(k.x,g),e=f.getAxisPosition(e),k=m.getAxisPosition(k),k=ca(k,z,z).position,e=ca(e,z,z).position,null!==v?(h.length&&(A=A.concat(h),h.length=0),A.push("M",u,v,"m",
-n,0,"H",k,"h",n,"m",0,e-v)):h.push("M",k,e),u=k,v=e);w||(w=B.zLine=c.path(p).attr({path:A,"stroke-linecap":"round","stroke-opacity":0}));w.animateWith(D,C,{path:A,"stroke-opacity":1,"stroke-dasharray":F,stroke:s,"stroke-linejoin":2<=z?"round":"miter","stroke-width":z},a,E)},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,z,s,K,B=a.chart,R=B.components.paper,v=B.components.xAxis[0],E=B.components.yAxis[0];q=B.graphics.columnGroup;var u=B.isStacked,w,D,A,h=B.graphics,C=m.parseUnsafeString,G=m.getValidValue,N=m.Raphael,H=c.showTooltip,I=v.getAxisPosition(0),M=v.getAxisPosition(1),O=c.groupMaxWidth=sa(M-I),P=c.definedGroupPadding,
Y=c.plotSpacePercent/200,V=e.getDataSetPosition(a),I=e.stackSumValue[a.positionIndex],M=e.manageClip,T=c.maxColWidth,ba=B.get("config","animationObj"),aa=ba.animType,$=ba.animObj,ha=ba.dummyObj,ba=ba.duration,ma=B.components.canvas.config.showCanvasBorder,O=(1-.01*P)*O||Ja(O*(1-2*Y),1*T),O=l(V.columnWidth,O/1),xa,P=V.xPosOffset||0,V=V.height,X,Y=a.components.data,ja,ca,ia,ka,da,la,ra;ka={};la={};var T=E.getLimit(),ea=T.min,T=0<T.max&&0>ea,ea=E.getAxisBase(),va=E.yBasePos=E.getAxisPosition(ea),ga=
0,pa,qa=c.plotBorderThickness,ta=c.plotRadius,ya=a.graphics.container,wa=a.graphics.trackerContainer,Aa=a.graphics.dataLabelContainer,za=a.graphics.shadowContainer;K=h.trackerGroup;var Ga,h=a.visible,bb=!0,Ia=!1,Fa=!1,wb,Ba=(a.components.removeDataArr||[]).length,Ka=a.components.pool||[],Ma=c.showHoverEffect,Oa=function(a){na.call(this,B,a)},Na=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),na.call(this,B,b,"DataPlotRollOver"))}},Ra=function(a){return function(b){0!==
this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),na.call(this,B,b,"DataPlotRollOut"))}},eb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(ya.hide(),wa.hide(),za.hide(),Aa&&Aa.hide(),a._conatinerHidden=!0)},hb=function(){a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};ya||(ya=a.graphics.container=R.group("bars",q),h||ya.hide());wa||(wa=a.graphics.trackerContainer=R.group("bar-hot",K),h||wa.hide());za||(za=a.graphics.shadowContainer=R.group("shadow",
q).toBack(),h||za.hide());h&&(ya.show(),wa.show(),za.show());q=v.getCategoryLen();for(K=0;K<q;K++)if(z=p&&p[K],ka=(ra=(ja=Y[K])&&ja.config)&&ra.setValue,!ja||void 0!==ka&&null!==ka||(ja.graphics&&ja.graphics.element&&ja.graphics.element.hide(),ja.graphics&&ja.graphics.hotElement&&ja.graphics.hotElement.hide()),void 0!==ja&&void 0!==ka&&null!==ka){ia=ra.setLink;Ga=ra.colorArr;ja.graphics||(Y[K].graphics={});la=ra.displayvalue;w=0<=ka?ra.previousPositiveY:ra.previousNegativeY;X=G(C(d(z.tooltext,f.plottooltext,
g.plottooltext)));u&&(w=a._parseValues(K,w,I[K],X),ka=ra.value);xa=E.getAxisPosition(w||ea);z=v.getAxisPosition(K)+P;0!==V?(D=E.getAxisPosition(ka+(w||0)),w=Math.abs(xa-D)):(w=0,D=xa);D=Math.min(D,xa);ma&&!T&&M&&h&&0<qa&&(w+=qa,D-=qa,e.manageClip=!1);e.isCrisp?(A=N.crispBound(z,D,O,w,qa),z=A.x,D=A.y,xa=A.width,w=A.height):xa=O;X=ra.toolText+(X?"":ra.toolTipValue);pa=ra.plotBorderDashStyle;da={index:K,link:ia,value:ka,displayValue:la,categoryLabel:n[K].label,toolText:X,id:"",datasetIndex:k,datasetName:f.seriesname,
visible:h};ka=ra.setRolloutAttr;la=ra.setRolloverAttr;ba||(va=D,ga=w);s={x:va,y:z,width:ga||1,height:xa,r:ta,ishot:!H,fill:F(Ga[0]),stroke:F(Ga[1]),"stroke-width":c.showPlotBorder?qa:0,"stroke-dasharray":pa,"stroke-linejoin":"miter",visibility:"visible"};ja._xPos=D;ja._yPos=z;ja._height=xa;ja._width=w;if(ja.graphics.element){Ia=Fa=!0;ca=ja.graphics.element;s={x:D,y:z,height:xa};if(!0===a.visible||0===V||u)s.width=w;ca.animateWith(ha,$,s,ba,aa,bb&&eb);ca.attr({ishot:!H,fill:F(Ga[0]),stroke:F(Ga[1]),
"stroke-width":c.showPlotBorder?qa:0,"stroke-dasharray":pa,"stroke-linejoin":"miter",visibility:"visible"})}else Ka.element&&Ka.element.length?(ca=ja.graphics.element=Ka.element.shift(),ca.show()):(ca=ja.graphics.element=R.rect(ya),wb=!0),ca.attr(s),ca.animateWith(ha,$,{x:D,width:w||1},ba,aa,bb&&hb),ba?bb=!1:Ia=Fa=!0;ca.shadow(ra.shadow,za).data("BBox",A);if(ia||H)w<W&&(D-=(W-w)/2,w=W),s={x:D,y:z,width:w,height:xa,r:ta,cursor:ia?"pointer":"",stroke:r,"stroke-width":c.showPlotBorder?qa:0,fill:r,ishot:!0,
visibility:h},ja.graphics.hotElement||(Ka.hotElement&&Ka.hotElement.length?(ia=ja.graphics.hotElement=Ka.hotElement.shift(),ia.show()):(ia=ja.graphics.hotElement=R.rect(wa),wb=!0)),ja.graphics.hotElement.attr(s);ia=ja.graphics.hotElement;(ia||ca).data("eventArgs",da).data("groupId",void 0).data("showHoverEffect",Ma).data("setRolloverAttr",la).data("setRolloutAttr",ka).tooltip(X);wb&&(ia||ca).click(Oa).hover(Na(ca),Ra(ca))}Ia&&a.drawLabel();e.drawSumValueFlag&&Fa&&e.drawSumValueFlag&&e.drawSumValue();
Ba&&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,z=a.components.paper,B,r,s=d.yDepth,d=d.xDepth,F=a.components.numberFormatter;r="";var u=this.config,w,v=u.placeValuesInside,A=g.canvasWidth,g=g.canvasLeft,h,D,u=u.valuePadding+2,E,C,G,N=a.get("config","animationObj"),a=N.duration,I=N.animType,M=N.dummyObj,
N=N.animObj,O=this.graphics.dataLabelContainer,P,Y,V,W,T=this.components.pool||{};C=this.visible;f=f.datalabelsGroup;O||(O=this.graphics.dataLabelContainer=z.group("datalabel"),C||O.hide());f&&f.appendChild(O);C&&O.show();f=n<q?n:q;for(n=0;n<f;n++)if(B=k[n],void 0!==B&&(h=B.graphics))if(V=h.label,w=e[n],E=B._yPos,C=B._xPos,Y=B.config,G=F.getCleanValue(w.value),q=0>l(G),D=B._height,B=B._width,P=p?"middle":q?v?"start":"end":v?"end":"start",r=Y.displayValue,Y.showValue&&void 0!==r&&null!==r&&r!==H&&
null!==G){r={text:r,"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"};V||(T.label&&T.label.length?V=h.label=T.label.shift():(V=h.label=z.text({x:0,y:0},O),W=!0));V.attr(r);w._state&&w._state.labelWidth||(r=V.getBBox(),w._state={labelWidth:r.width,labelHeight:r.height});
r=w._state.labelWidth;r+=u;w=u;D=E+.5*D;E=C+(q?0:B);h=q?C-g:g+A-(C+B);p?(E+=.5*(q?B:-B),E=ia(g+.5*r,E),E=Ja(g+A-.5*r,E),E-=m?d:0,D+=m?s:0):v?B>=r?(E+=q?w:-w,m&&(D+=s,E-=d)):r<h?(E+=q?-w:w,P=q?"end":"start",m&&q&&(E-=d)):(q?(E=C+B+ia(r-C-B+g,0)-w,P="end"):(E=C-ia(r-(g+A-C),0)+w,P="start"),m&&(E-=d,D+=s)):h>=r?(E+=q?-w:w,m&&q&&(E-=d,D+=d)):(E+=q?w+r:-(w+r),m&&(E-=d,D+=s));if(E>g+A||E<g)E=g+4,P="start";W&&V.attr({x:E,y:D});V.show().animateWith(M,N,{x:E,y:D},a,I).attr({"text-anchor":P})}else V&&V.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,z,s,K,B=a.chart,v=B.components.paper,E=B.components.xAxis[0],D=B.components.yAxis[0],u=B.graphics.columnGroup,w=B.isStacked,C,A,h,G=B.graphics,N=m.parseUnsafeString,H=m.getValidValue,I=c.showTooltip,M=E.getAxisPosition(0),O=E.getAxisPosition(1),P=c.groupMaxWidth=sa(O-M),Y=c.definedGroupPadding,V=c.plotSpacePercent/200,T=e.getDataSetPosition(a),
ba=e.stackSumValue[a.positionIndex],aa=c.maxColWidth,$=B.get("config","animationObj"),ha=$.animType,ca=$.animObj,ma=$.dummyObj,X=$.duration,Ca=(1-.01*Y)*P||Ja(P*(1-2*V),1*aa),ja=l(T.columnWidth,Ca/1),ia,ka=T.xPosOffset||0,da=T.height,ea,la=a.components.data,ra,va,Ha,ga,pa,qa,wa,ya,ta,Aa,za={},Ga={},Ia,Ba=D.getLimit(),Fa=Ba.max,wb=Ba.min,Ka=D.getAxisBase(),Ma=D.yBasePos=D.getAxisPosition(Ka),Oa,Na,Ra=0,nb=c.plotBorderThickness,eb=a.graphics.container,hb=a.graphics.dataLabelContainer,Ya=a.graphics.shadowContainer,
Ua=G.trackerGroup,Ta,Xa,db,gb,Za,Wa,ib,ob,sb,Ab,Eb,$a,Va,ub,kb,pb,Fb,Gb,tb=c.use3DLighting,vb=!0,Hb=!1,ab=!1,Jb=a.visible,Bb,jb=(a.components.removeDataArr||[]).length,lb=a.components.pool||[],Cb=c.showHoverEffect,Kb=function(a){na.call(this,B,a)},mb=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloverAttr")),na.call(this,B,b,"DataPlotRollOver"))}},xb=function(a){return function(b){0!==this.data("showHoverEffect")&&(a.attr(this.data("setRolloutAttr")),na.call(this,
B,b,"DataPlotRollOut"))}},Nb=function(){var f,g;if(!1===a.visible&&(!1===a._conatinerHidden||void 0===a._conatinerHidden)){hb&&hb.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"});Ya.hide();a._conatinerHidden=!0}},yb=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]),!tb]});a.drawLabel();e.drawSumValueFlag&&e.drawSumValue()};eb||(eb=a.graphics.container=B.datasetLayers=B.datasetLayers||v.group("bars",u));Ya||(Ya=a.graphics.shadowContainer=v.group("shadow",u).toBack());q=E.getCategoryLen();if(Jb)for(K=0;K<q;K++)la[K].graphics&&la[K].graphics.element&&la[K].graphics.element.attr({visibility:"visible"}),la[K].graphics&&la[K].graphics.hotElement&&la[K].graphics.hotElement.attr({visibility:"visible"});gb=
eb.negative=eb.negative||v.group("negative-values",eb);Za=eb.column=eb.column||v.group("positive-values",eb);Wa=Ua.negative=Ua.negative||v.group("negative-values",Ua);ib=Ua.column=Ua.column||v.group("positive-values",Ua);0>wb&&0<=Fa?(ob=eb.zeroPlane)?(Ia=[Ma-5,B.config.canvasTop+5,1,B.config.canvasHeight,5,5,ob],e.graphics.zeroplane.show(),e.graphics.zeroplane._.cubetop.show(),e.graphics.zeroplane._.cubeside.show(),e.graphics.zeroplane.animateWith(ma,ca,{cubepath:Ia},X,ha),e.graphics.zeroplane.attr({fill:[c.zeroPlaneColor,
!tb],stroke:c.zeroPlaneBorderColor||"none","stroke-width":c.zeroPlaneShowBorder?1:0})):(ob=eb.zeroPlane=v.group("zero-plane",eb).insertBefore(Za),!e.graphics&&(e.graphics={}),e.graphics.zeroplane=v.cubepath(Ma-5,B.config.canvasTop+5,1,B.config.canvasHeight,5,5,ob).attr({fill:[c.zeroPlaneColor,!tb],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();
(sb=gb.data("categoryplots"))||(gb.data("categoryplots",Array(q)),sb=gb.data("categoryplots"));(Ab=Za.data("categoryplots"))||(Za.data("categoryplots",Array(q)),Ab=Za.data("categoryplots"));(Eb=Wa.data("categoryplots"))||(Wa.data("categoryplots",Array(q)),Eb=Wa.data("categoryplots"));($a=ib.data("categoryplots"))||(ib.data("categoryplots",Array(q)),$a=ib.data("categoryplots"));for(K=0;K<q;K+=1)sb[K]=sb[K]||v.group(gb),Ab[K]=Ab[K]||v.group(Za),Eb[K]=Eb[K]||v.group(Wa),$a[K]=$a[K]||v.group(ib);K=0;
for(Va=q-1;K<q;K++,Va--)if(ta=K,z=p&&p[K],qa=(Aa=(ra=la[K])&&ra.config)&&Aa.setValue,Bb=!1,!ra||void 0!==qa&&null!==qa||(ra.graphics&&ra.graphics.element&&(ra.graphics.element.hide(),ra.graphics.element._.cubeside.hide(),ra.graphics.element._.cubetop.hide()),ra.graphics&&ra.graphics.hotElement&&ra.graphics.hotElement.hide()),void 0!==ra&&void 0!==qa&&null!==qa){pa=Aa.setLink;Ta=Aa.colorArr;ra.graphics||(la[K].graphics={});ya=Aa.displayvalue;Oa=0<=qa?Aa.previousPositiveY:Aa.previousNegativeY;va=H(N(d(z.tooltext,
f.plottooltext,g.plottooltext)));w&&(Oa=a._parseValues(K,Oa,ba[K],va),qa=Aa.value);Na=D.getAxisPosition(Oa||Ka);C=E.getAxisPosition(K)+ka;0!==da?(h=D.getAxisPosition(qa+(Oa||0)),A=Math.abs(Na-h)):(A=0,h=Na);h=Math.min(h,Na);ia=ja;(ub=0>qa)?(Xa=sb,db=Eb):(Xa=Ab,db=$a);ea=Aa.toolText+(va?"":Aa.toolTipValue);wa={index:K,link:pa,value:qa,displayValue:ya,categoryLabel:n[K].label,toolText:ea,id:"",datasetIndex:k,datasetName:f.seriesname,visible:Jb};za=Aa.setRolloutAttr;Ga=Aa.setRolloverAttr;X||(Ma=h,Ra=
A);kb=C;pb=h;Fb=ia;Gb=A;C+=5;h-=5;ra.graphics.element?(ab=Hb=!0,Ha=ra.graphics.element,Xa[Va].appendChild(Ha._.cubetop),Xa[Va].appendChild(Ha._.cubeside),Xa[Va].appendChild(Ha),s={cubepath:[h,C,!0===a.visible||0===da||w?A:Ha.attrs.cubepath[2],ia,5,5]},Ha.animateWith(ma,ca,s,X,ha,vb&&Nb),Ha.attr({fill:[F(Ta[0]),!tb],ishot:!0,stroke:c.showPlotBorder&&F(Ta[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":Aa.plotBorderDashStyle,cursor:pa?"pointer":""})):(lb.element&&lb.element.length?
(Ha=ra.graphics.element=lb.element.shift(),Xa[Va].appendChild(Ha._.cubetop),Xa[Va].appendChild(Ha._.cubeside),Xa[Va].appendChild(Ha),Ha.show()):(Ha=ra.graphics.element=v.cubepath(Xa[Va]),Bb=!0),Ha.attr({cubepath:[X?Ma-5:h,C,X?0:Ra,ia,5,5],fill:[F(Ta[0]),!tb],ishot:!0,stroke:c.showPlotBorder&&F(Ta[1]),"stroke-width":c.showPlotBorder?c.plotBorderThickness:0,"stroke-dasharray":Aa.plotBorderDashStyle,cursor:pa?"pointer":"",visibility:Jb?"visible":"hidden"}),Ha.animateWith(ma,ca,{cubepath:[h,C,A,ia,5,
5]},X,ha,vb&&yb),X?vb=!1:ab=Hb=!0,ra._newXPos=C);Ha.shadow(Aa.shadow,Ya).data("BBox",{height:ia,width:Ra,x:h,y:C});if(pa||I)A<W&&(h-=(W-A)/2,A=W),s={cubepath:[h,C,A,ia,5,5],cursor:pa?"pointer":"",stroke:nb&&r||"NONE","stroke-width":c.showPlotBorder?c.plotBorderThickness:0,fill:r,ishot:!0},ra.graphics.hotElement?(ga=ra.graphics.hotElement,db[Va].appendChild(ga),db[Va].appendChild(ga._.cubetop),db[Va].appendChild(ga._.cubeside)):lb.hotElement&&lb.hotElement.length?(ga=ra.graphics.hotElement=lb.hotElement.shift(),
db[Va].appendChild(ga),db[Va].appendChild(ga._.cubetop),db[Va].appendChild(ga._.cubeside),ga.show()):(ga=ra.graphics.hotElement=v.cubepath(db[Va]),Bb=!0),ga.attr(s);ga=ra.graphics.hotElement;(ga||Ha).data("eventArgs",wa).data("groupId",ta).data("showHoverEffect",Cb).data("setRolloverAttr",Ga).data("setRolloutAttr",za).tooltip(ea);(ga||Ha)._.cubetop.data("eventArgs",wa).data("groupId",ta).data("showHoverEffect",Cb).data("setRolloverAttr",Ga).data("setRolloutAttr",za).tooltip(ea);(ga||Ha)._.cubeside.data("eventArgs",
wa).data("groupId",ta).data("showHoverEffect",Cb).data("setRolloverAttr",Ga).data("setRolloutAttr",za).tooltip(ea);Bb&&((ga||Ha).click(Kb).hover(mb(Ha),xb(Ha)),(ga||Ha)._.cubetop.click(Kb).hover(mb(Ha),xb(Ha)),(ga||Ha)._.cubeside.click(Kb).hover(mb(Ha),xb(Ha)));if(!w||ub)Ha.toBack(),ga&&ga.toBack();ra._xPos=pb;ra._yPos=kb;ra._height=Fb;ra._width=Gb}Hb&&a.drawLabel();e.drawSumValueFlag&&ab&&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,r,B,z,s,F,u,w,v,A,h,E,D,C,G,N,H,I,M=a.isBar,O=a.jsonData.chart,P=a.components.xAxis[0],Y=l(M?O.overlapbars:O.overlapcolumns,a.is3D?0:1),V=P.getAxisPosition(0),W=P.getAxisPosition(1),T=sa(W-V),ba=ia(l(O.plotspacepercent),0),aa=l(O.plotpaddingpercent),V=ia(l(O.plotspacepercent,20)%100,0),$=V/200,W=!0,ha,X;for(u=this.numVisiblePositions=0;u<n;u++){w=c[u].length;H=g[u]||(g[u]={});H.visible=
!1;H.previousVisibleCount=this.numVisiblePositions;for(I=0;I<w;I++)if(X=Infinity,z=c[u][I],ha=z.dataSet.yAxis,z&&!1!==z.dataSet.visible&&(H.visible=!0),p){F=c[u][I+1];v=I;for(m=!1;0<=v&&!m;)m=(q=c[u][--v])&&q.dataSet.visible;s=z&&z.dataSet.components.data;N=F&&F.dataSet.components.data;A=z.dataSet.components.data;h=q&&q.dataSet.components.data;A||(A=z.dataSet.components.data=[]);E=s&&s.length;for(F=0;F<E;F++){(D=A[F])||(D=A[F]={config:{}});C=h&&h[F];if(!C)for(;0<=v&&!C;)if(m=(q=c[u][--v])&&q.dataSet.visible)C=
(h=q&&q.dataSet.components.data)&&h[F];D=D.config;D.value=m=ha.getCleanValue(s[F].config.setValue);G=C&&C.config;r=(G&&G.previousPositiveY||0)+(G&&(0<G.value?G.value:0)||0);B=(G&&G.previousNegativeY||0)+(G&&(0>G.value?G.value:0)||0);D.previousPositiveY=r;D.previousNegativeY=B;X=Ja(X,(B||r)+D.setValue);N&&N[F]&&N[F].config.setValue||(d[u]||(d[u]=[]),d[u][F]=r+(z.dataSet.visible&&sa(m))+sa(B),!d[u][F]&&(d[u][F]=1),e&&(e[u]||(e[u]=[]),e[u][F]=e[u][F]||{},null!==m&&(e[u][F].positive=r+(0<=m?z.dataSet.visible&&
m:0),e[u][F].negative=B+(0>m?z.dataSet.visible&&m:0))))}F=c[u][I+1];v=I;if(!f)for(q=c[u][I-1],s=z&&z.dataSet.components.data,N=F&&F.dataSet.components.data,A=z.dataSet.components.data,h=q&&q.dataSet.components.data,E=s&&s.length,F=0;F<E;F++){D=A[F];C=h&&h[F];if(!C)for(;0<=v&&!C;)C=(h=(q=c[u][--v])&&q.dataSet.components.data)&&h[F];D=D.config;D.value=m=ha.getCleanValue(s[F].config.setValue);G=C&&C.config;X=Ja(X,(B||r)+D.setValue);C=(G&&G.previousPositiveDataLimit||0)+(G&&(0<G.value?G.value:0)||0);
G=(G&&G.previousNegativeDataLimit||0)+(G&&(0>G.value?G.value:0)||0);D.previousPositiveDataLimit=C;D.previousNegativeDataLimit=G;N&&N[F]&&N[F].config.setValue||!k||(k[u]||(k[u]=[]),k[u][F]=k[u][F]||{},null!==m&&(k[u][F].positive=C+(0<=m?m:0),k[u][F].negative=G+(0>m?m:0)))}X&&(z.dataSet.config.minValue=X)}H.visible&&(this.numVisiblePositions+=1)}f&&(this.dataLimits=this.sumValues);f=this.numVisiblePositions;u=sa(l(M?O.maxbarheight:O.maxcolwidth,a.maxColWidth||50));a=(1-.01*ba)*T||Ja(T*(1-2*$),u*(f||
1));M=a/2;O=0===f?a:a/f;Y=Ja(O-1,1<f?Y||void 0!==aa?0<aa?O*aa/100:0:4:0);for(u=0;u<n;u++)g=this.stackConfig[u],aa=g.previousVisibleCount,g.xPosOffset=aa*O-M+Y/2,O-=Y,g.columnWidth=g.visible||0===f?O:0,O+=Y;n=P.getAxisPosition(0)-M;4>P.getAxisPosition(1)-M-(n+a)&&(W=!1);"0"==V&&(W=!0);this.isCrisp=W},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=ia(k,e),l=ia(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,z,B,r,F,s,u,w,v,A,h,E=this.sumValuesDrawn,D,C,G,N=f.getPVR(),H,I=this.pool,M=!1,O=!1,P=a.get("config","animationObj"),Y=P.duration,V=P.dummyObj,W=P.animObj,
P=P.animType,T,ba;F=l(a.jsonData.chart.showsum,a.showsum,0);var aa=1,$;$=!1;var ha=this.sumValues;w=a.config.canvasTop;var X=a.components.canvas.config.clip["clip-canvas"].slice(0),ca,ia=a.graphics.sumLabelsLayer;X[1]=0;X[3]+=w;this.drawSumValueFlag=!1;if(p)if(F){ia.show();!this.graphics&&(this.graphics={});e=this.graphics.sumLabels;p=this.graphics.sumLabelContainer;e||(e=this.graphics.sumLabels=[]);p||(p=this.graphics.sumLabelContainer=[]);M=e.length;F=ha.length;if(M>F)for(;F<M;F++){ca=e[F].length;
for(w=0;w<ca;w++)k=e[F][w]||{},(B=k.element)&&B.hide().attr({"text-bound":[]});(w=p[F])&&w.hide();e.pop();p.pop()}ca=d.length;for(F=0;F<ca;F++){(e=p[F])||(e=p[F]=this.graphics.sumLabelContainer[F]||g.group("sumlabels",ia));a.isRealTime&&e.attr({"clip-rect":X});s=d[F][0].dataSet;m=s.yAxis;n=ha[F];v=f.getCategoryLen();u=this.graphics.sumLabels[F]=this.graphics.sumLabels[F]||[];h=0;c[F].visible||(O=!0);T=s.config.stack100Percent;ba=c[F].xPosOffset;H=c[F].columnWidth;G=f.getPixel(v-1)+ba;D=s.addDataArr&&
s.addDataArr.length;M=s.startPosition;C=this.removedSumLabels&&this.removedSumLabels[F]&&this.removedSumLabels[F].length;for(w=0;w<v;w++)if($=!1,k=l(s.config.rotateValues,0)?270:0,e.show(),B=n[w]||{},r=B.positive,A=B.negative,!u[h]&&(u[h]={}),void 0===r&&void 0===A)h++;else if(B=r+A,B=m.dataLabels(B),z=sa(A)>r?A:r,r===A&&(B=""),B||""===B)r=q.backgroundColor,A=q.borderColor,r={text:B,"class":"fusioncharts-label",fill:q.color,"text-bound":[r,A,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"},B=u[h].element,B||(I&&I.sumLabels[F]&&I.sumLabels[F][0]?(u[h].element=B=I.sumLabels[F][0],I.sumLabels[F].shift()):u[h].element=B=g.text(e),$=!0),B.attr(r),r=this.getSumValueConfig({xValue:w,columnWidth:H,sumValue:z,xPosOffset:ba,stack100percent:T,yAxis:m}),r=this.getSumValuePosition(B,{stack100percent:T,rotateValues:k,xPos:r.xPos,yPos:r.yPos,sumValue:z}),
z=r.x,$&&E&&($=M,$=!0===$?NaN-N*(D-F):!1===$?G+N*aa++:z,B.attr({x:$,y:r.y,transform:g.getSuggestiveRotation(k,$,r.y)}),$=!1),r.transform=g.getSuggestiveRotation(k,z,r.y),$&&B.attr(r),B.show().animateWith(V,W,r,Y,P),h++;C&&this.removeGraphics(F);O&&(e.hide(),O=!1)}}else ia.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,B=f.xPos,r=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-r:(0<=
g&&(e=n-e,n=e<p?n+q-e:n-q),0>g&&(n=c-n<p?n-q:n+q,l&&(B-=d,n+=m)));return{x:B,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"),B,e=function(){this.hide()},m=q.dummyObj,r=q.animObj,z=q.transposeAnimDuration,
F=q.animType,u;u=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++)B=f[a][0]&&f[a][0].element,f[a].splice(0,1),B&&(void 0===d||g?B&&B.hide().attr({"text-bound":[]}):z?B.animateWith(m,r,u(B),z,F,e):(B.stop(),B.attr(u(B))),p.sumLabels[a]||(p.sumLabels[a]=[]),p.sumLabels[a]=
p.sumLabels[a].concat(B))},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,B=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=ia(q,n.positive),B=Ja(B,n.negative),l=Ja(l,q));0===B&&(B=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=ia(k,c.maxValue),m=Ja(m,c.minValue)):
(q=ia(q,c.maxValue),B=Ja(B,c.minValue)));this.maxValue=q;this.minValue=B;return{max:q,min:B,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=ia(g.paddingLeft,l.paddingLeft),l.paddingRight=ia(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,B,r={},z=f.sumValue,F=f.xPos,u=f.yPos,g=g.components.canvas.config.canvasBorderWidth;B=f.rotateValues;a._state&&a._state.labelWidth||(q=a.getBBox(),a._state=B?{labelWidth:q.height,labelHeight:q.width}:{labelWidth:q.width,labelHeight:q.height});q=B=a._state.labelWidth;q=q/2+2;p?(F=void 0>=k-l?F+q:F+g,r["text-anchor"]="start"):0<=
z?(c=c+e-F,c<B?(F=F-q+c,m&&(F-=d,u+=n)):F+=q):(c=F-c,c<B?(F=F+q-c-(m?d:0),u+=m?n:0):(F-=q,m&&(F-=d,u+=n)));r.x=F;r.y=u;return r}},"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),r=l(e.showplotborder,k.showplotborder||1),z=!p||ka(k.palettecolors)?n.getPlotColor(q):n.getColor("plotFillColor").split(/\s*\,\s*/)[0],K=a.areaAlpha,B=a.use3dlineshift,
F=a.isDual,q=l(e.dashed,k.linedashed),s=a.isStacked,v=a.hasLineSet;c.use3dlineshift=void 0!==B?l(k.use3dlineshift,B):1;c.plotColor=z;c.drawFullAreaBorder=l(k.drawfullareaborder,1);c.parentYAxis=F?v?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,s&&g?1:0);c.showPercentInToolTip=l(k.showpercentintooltip,s&&g?1:0);c.showTooltip=l(k.showtooltip,1);c.seriesNameInTooltip=l(k.seriesnameintooltip,1);
c.plotFillColor=d(e.color,k.plotfillcolor,z);c.plotFillAngle=d(k.plotfillangle,270);c.plotFillAlpha=d(e.alpha,k.plotfillalpha,K,p?"90":"70");z=l(k.useplotgradientcolor,1);c.plotGradientColor=0!==z?m.getDefinedColor(k.plotgradientcolor,n.getColor("plotGradientColor")):"";c.fillColor={color:c.plotFillColor+(c.plotGradientColor?","+c.plotGradientColor:""),alpha:c.plotFillAlpha,angle:c.plotFillAngle};c.plotBorderAlpha=r?d(e.plotborderalpha,k.plotborderalpha,e.alpha,k.plotfillalpha,"95"):0;c.plotBorderColor=
d(e.plotbordercolor,k.plotbordercolor,k.areabordercolor,p?ka(k.palettecolors)?n.getPlotColor(0):n.getColor("plotBorderColor").split(/\s*\,\s*/)[0]:"666666");c.dashed=r=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=r?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,aa);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,r=g.components.xAxis[0],z=a?a.data.length:
r.getCategoryLen(),K,B,F,s,v,u,w,E=-Infinity,A=Infinity,h=c(p.yaxisname),D=c(p.xaxisname),C=this.yAxis,G=d(p.tooltipsepchar,", "),N=l(k.dashed,p.linedashed),H;K=this.components.data;K||(K=this.components.data=[]);for(F=0;F<z;F++)a?(g=a&&a.data[F]||{},H=void 0!==f?f+F:K.length-z+F,q=K[H]):(q=K[F],g=n&&n[F]||{}),B=q&&q.config,q||(q=K[F]={}),q.config||(B=K[F].config={}),q.graphics||(q.graphics={}),s=l(H+1,F),B.setValue=v=C.getCleanValue(g.value,e.stack100Percent),B.setLink=d(g.link),B.anchorProps=this._parseAnchorProperties(s),
u=r.getLabel(s),B.label=ka(c(u.tooltext||u.oriLabel||u.label)),B.showValue=l(g.showvalue,e.showValues),B.dashed=l(g.dashed,N),B.dashStyle=B.dashed?m.getDashStyle(e.lineDashLen,e.lineDashGap,e.lineThickness):"none",B.color=d(g.color,e.lineColor),B.setColor=g.color,B.setAlpha=g.alpha,B.setDashed=g.dashed,B.alpha=d(g.alpha,g.linealpha,e.lineAlpha),null!==v&&(E=ia(E,v),A=Ja(A,v)),B.setTooltext=c(g.toolText),B.toolTipValue=v=C.dataLabels(v),B.setDisplayValue=u=c(g.displayvalue),B.displayValue=d(u,v),B.formatedVal=
v=B.toolTipValue,r.getLabel(s),B.setTooltext=m.getValidValue(c(d(g.tooltext,k.plottooltext,p.plottooltext))),B.valuePosition=d(g.valueposition,e.valuePosition),B.valuePosition&&(B.valuePosition=B.valuePosition.toLowerCase()),e.showTooltip?null===v?s=!1:void 0!==B.setTooltext?(s=[1,2,3,4,5,6,7],v={yaxisName:h,xaxisName:D,formattedValue:v,label:B.label},s=m.parseTooltext(B.setTooltext,s,v,g,p,k)):(e.seriesNameInTooltip&&(w=m.getFirstValue(k&&k.seriesname)),s=w?w+G:"",s+=B.label?B.label+G:""):s=!1,B.toolText=
s,B.setLevelTooltext=B.setTooltext,B.setTooltext=s,B.hoverEffects=this._parseHoverEffectOptions(q,g),B.anchorProps.isAnchorHoverRadius=B.hoverEffects.anchorRadius;e.maxValue=E;e.minValue=A;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,z=b.groupManager.stackSumValue[0],s=b.stackIndex,K,B,v,E=e.paper,D=e.xAxis[0],u=b.yAxis,w,C,A,h=n.showTooltip,G,N=b.components.data,H=b.components.removeDataArr||[],I=H.length,M,O,P,Y,V,T,ba,aa,$,X=c.style,ha={fontFamily:X.fontFamily,fontSize:X.fontSize,lineHeight:X.lineHeight,fontWeight:X.fontWeight,fontStyle:X.fontStyle,color:X.color},ma=g.areaGroup,xa=u.getAxisBase(),Ca,ja,na=n.plotBorderColor,ea=n.plotBorderAlpha,
ga=n.plotBorderDashStyle,da=n.plotBorderThickness,la=b.graphics.container,ra=b.graphics.trackerContainer,va=g.trackerGroup,Ha,pa=m.parseUnsafeString,qa=n.fillColor,sa=f.is3D,wa=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(la.areaGroup.hide(),Ja.hide(),la.anchorShadowGroup.hide(),la.anchorGroup.hide(),ra.hide(),Ka&&Ka.hide(),b._conatinerHidden=!0)},ya=function(){!1!==b.visible&&(la.anchorShadowGroup.show(),la.anchorGroup.show(),Ka.show(),Ja.show());ma.area.attr({"clip-rect":null});
ma.area.node&&ma.area.node.removeAttribute("clip-path");f._animCallBack()},ta=n.shadow,Aa,za=b.visible,Ga,Ja=b.graphics.shadowContainer,Ia,Fa={},Ba=g.datalabelsGroup,Ka=b.graphics.dataLabelContainer,Ma=D.getPVR(),Oa,Na=sa?10:0,Ra,nb=sa?10:0,eb=n.anchorRadius,hb=f.components.scrollBar,Ya=f.components.canvas.config.clip,Ua=p([],Ya["clip-canvas"]),Ta=p([],Ya["clip-canvas-init"]),Xa=c.height,db=!n.drawFullAreaBorder,gb=b.graphics.connector,Za=b.components.pool||(b.components.pool={}),Wa=0,ib=!0!==b.drawn,
ob,sb,Ab,ab=b.startPosition,$a={},Va={},ub=f.get("config","animationObj")||{},kb=ub.duration,pb=ub.dummyObj,Fb=ub.animObj,Gb=ub.animType,tb=n.lastPath||{},vb,Hb=!0,ac,Jb,Bb,jb,lb,Cb=f.config.viewPortConfig,Kb=Cb.x,mb=Cb.scaleX,xb,Nb,yb,Qb,Ib,Ob,Lb=b.chart.config.realTimeConfig&&b.chart.config.realTimeConfig.clear,$b=n.noOfImages=n.noOfImages||(n.noOfImages=0),Wb=!ib&&kb;b.noOfNewDataAtEnd=0;la||(la=b.graphics.container={anchorShadowGroup:E.group("anchor-shadow",ma.areaConnector),areaGroup:E.group("area",
ma.area),anchorGroup:E.group("anchors",ma.areaConnector)},za||(la.anchorShadowGroup.hide(),la.areaGroup.hide(),la.anchorGroup.hide()));Ja||(Ja=b.graphics.shadowContainer=E.group("shadows",ma.shadows),za||Ja.hide());ra||(ra=b.graphics.trackerContainer=E.group("area-hot",va));Ka||(Ka=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||E.group("datalabel",Ba),za||Ka.hide());za&&(la.anchorShadowGroup.show(),la.areaGroup.show(),la.anchorGroup.show(),Ja.show(),Ka.show(),ra.show(),b._conatinerHidden=
!1);n.groupMaxWidth=D.getAxisPosition(1)-D.getAxisPosition(0);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",ha);K=D.getCategoryLen();Oa=Ma*K;if(Lb)for(v=0,K=H.length;v<K;v++)b._removeDataVisuals(H.shift());else b._shiftOffRemovedPoints();$a=n.removePath;f.isRealTime&&(Ua[1]=0,Ua[3]=Xa,la.areaGroup.attr({"clip-rect":Ua}),Ka.attr({"clip-rect":Ua}),la.anchorGroup.attr({"clip-rect":Ua}),la.anchorShadowGroup.attr({"clip-rect":Ua}),Ja.attr({"clip-rect":Ua}));for(v=0;v<K;v++)G=(M=N[v])&&
M.config,M&&void 0!==G.setValue&&(M.graphics||(M.graphics={}),ob=D.getLabel(v).label,T=G.setValue,V=G.setLink,Fa=G.anchorProps||{},Ia=Fa.shadow,w=ka(pa(d(G.setLevelTooltext,l.plottooltext,k.plottooltext))),G&&(Ca=0<=T?G.previousPositiveY:G.previousNegativeY),q&&T&&(Ca=b._parseValues(v,Ca,z[v],w),T=G.value),P=M.graphics.element,xb=M.graphics.image,Y=M.graphics.hotElement,null!==T?(ja=u.getAxisPosition(Ca||xa)+nb,A=!b.visible&&kb?ja:u.getAxisPosition(T+(Ca||0))+nb,C=D.getAxisPosition(v)-Na+Kb*mb,C=
ca(C,da,da).position,A=ca(A,da,da).position,Nb=Fa.symbol,yb=Fa.radius,Qb=Fa.startAngle,ac=Fa.bgColor,lb=Fa.bgAlpha,Jb=Fa.borderColor,jb=Fa.borderAlpha,Bb=Fa.borderThickness,Aa=G.hoverEffects,O=h?G.toolText+(w?"":G.toolTipValue):"",ba={index:v,link:V,value:T,displayValue:G.displayValue,categoryLabel:ob,toolText:O,id:b.userID,datasetIndex:s||0,datasetName:l.seriesname,visible:za},Aa.enabled&&(G.setRolloverAttr={polypath:[Aa.anchorSides||2,C,A,Aa.anchorRadius,Aa.startAngle,Aa.dip],fill:F({color:Aa.anchorColor,
alpha:Aa.anchorBgAlpha}),stroke:F({color:Aa.anchorBorderColor,alpha:Aa.anchorBorderAlpha}),"stroke-width":Aa.anchorBorderThickness},G.setRolloutAttr={polypath:[Fa.symbol[1]||2,C,A,Fa.radius,Fa.startAngle,0],fill:F({color:Fa.bgColor,alpha:Fa.bgAlpha}),stroke:F({color:Fa.borderColor,alpha:Fa.borderAlpha}),"stroke-width":Fa.borderThickness},$=G.setRolloverAttr,aa=G.setRolloutAttr),Ob={polypath:[Nb[1]||2,C,A,yb,Qb,0]},Ib=!1,!P&&Wb&&!0!==ab&&(Ab=K+Wa,sb=D.getPixel(Ab),M._baseXPos=M._xPos=sb,M._yPos=A,
M._baseYPos=ja,tb=this.getLinePath([M],tb),Wa++),Fa.imageUrl?(Ga=new a,Ga.onload=b._onAnchorImageLoad(b,v,ba,C,A,M),Ga.onerror=b._onErrorSetter(b,v),Ga.src=Fa.imageUrl,$b++):(xb&&xb.hide(),P||(Za.element&&Za.element.length?P=M.graphics.element=Za.element.shift():(P=M.graphics.element=E.polypath(la.anchorGroup),P.attr(Ob),Ib=!0),Wb&&P.attr({polypath:[Fa.symbol[1]||2,sb,A,Fa.radius,Fa.startAngle,0]})),P.show().attr({transform:""}).animateWith(pb,Fb,Ob,kb,Gb,Hb&&wa),P.attr({fill:F({color:ac,alpha:lb}),
stroke:F({color:Jb,alpha:jb}),"stroke-width":Bb,visibility:yb?za:"hidden"}).shadow(Ia,la.anchorShadowGroup),kb||Hb&&wa(),Hb=!1,xb&&xb.hide(),Aa.enabled&&P&&P.data("anchorRadius",Fa.radius).data("anchorHoverRadius",Aa.anchorRadius).data("setRolloverAttr",$).data("setRolloutAttr",aa),eb=ia(Fa.radius,Aa&&!q&&Aa.anchorRadius||0,W),B={cx:C,cy:A,r:eb,cursor:V?"pointer":"",stroke:r,"stroke-width":Fa.borderThickness,fill:r,ishot:!0,visibility:"visible"},Y=M.graphics.hotElement,Y||(Za.hotElement&&Za.hotElement.length?
(Y=M.graphics.hotElement=Za.hotElement.shift(),Y.show()):(Y=M.graphics.hotElement=E.circle(B,ra),Ib=!0)),Y.show().attr(B),(Y||P).data("eventArgs",ba).data("groupId",void 0).data("hoverEnabled",Aa.enabled).data("dataset",b).tooltip(O),Ib&&(Y||P).click(b.getPlotClickFn(f)).hover(b.rolloverResponseSetter(M,f),b.rolloutResponseSetter(M,f)))):(P&&P.hide(),xb&&xb.hide(),Y&&Y.hide()),M._xPos=C,M._yPos=A,M._baseXPos=C,M._baseYPos=ja,b.drawLabel(v));n.noOfImages=$b;Va=this.getLinePath(N,{});I&&f.isRealTime?
($a=this.getLinePath(N,$a),vb=$a.getPathArr()):vb=Va.getPathArr();n.lastPath=Va;hb&&(Ra=hb.conf.startPercent,Ua[2]=Oa+Ta[0],1===Ra&&(Ta[0]=Ua[2],Ua[0]=0));Ua[3]+=nb;(Ha=b.graphics.lineElement)?kb&&f.isRealTime&&Ha.attr({path:tb.getPathArr()}):(Ha=b.graphics.lineElement=E.path(la.areaGroup),Ha.attr({path:Va.getPathArr()}).shadow(ta,Ja),kb&&za&&(la.anchorGroup.hide(),la.anchorShadowGroup.hide(),Ja.hide(),Ka.hide(),ma.area.attr({"clip-rect":Ta}).animate({"clip-rect":Ua},kb,Gb,ya)));Lb?Ha.hide():Ha.show().animateWith(pb,
Fb,{path:vb},kb,Gb,Hb&&wa);Hb=!1;Ha.attr({stroke:F({color:na,alpha:ea}),"stroke-width":db?0:da,fill:F(qa),"stroke-linecap":"round","stroke-linejoin":2<da?"round":"miter","stroke-dasharray":ga});db&&(gb=b.graphics.connector,gb||(gb=b.graphics.connector=E.path({path:Va.pathArr,stroke:F({color:na,alpha:ea}),"stroke-width":da,"stroke-linecap":"round","stroke-linejoin":2<da?"round":"miter","stroke-dasharray":ga},la.areaGroup)),gb.show().animateWith(pb,Fb,{path:vb},kb,Gb));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="",c;for(c=0;c<f;c+=1)g+=" "+a[c];return g},getLinePath:function(a,f,g){var c=this.config.connectNullData,d=f||{};f=d.lastValidValue||!1;var e=d.temp||[],l=d.temp2||[],k=d.pathArr||[],m=d.path2Arr||[],p,n,q,B,r=a.length,d=d.pointsJoined||0,z,F,r=g&&g.end||r;for(g=g&&g.begin||0;g<r;g++)if(z=a[g])p=z.config,F=p.setValue,void 0!==F&&(p=z._xPos,n=z._yPos,q=z._baseXPos,B=z._baseYPos,null===
F?c||(0<d&&("Z"!==m[m.length-1]&&void 0!==B&&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=[],d++),k.push(p,",",n),void 0!==B&&m.unshift(p,",",B)):(e.push("M",p,",",n,"L"),void 0!==B&&l.push(q,",",B),d=0,f=!0));"Z"!==m[m.length-1]&&0<d&&void 0!==B&&m.push("Z");return{pathArr:k,path2Arr:m,lastValidValue:f,pointsJoined:d,temp:e,temp2:l,getPathArr:this.getPathArr}},_shiftOffRemovedPoints:function(){var a=this,f=a.chart,g=a.config,c=a.components.removeDataArr,
d,e=f.components.xAxis[0].getPVR();d=f.get("config","animationObj");var f=d.duration,l=a.drawn&&f,k=d.dummyObj,m=d.animObj,p=d.animType,n,q,B,r,z,F={},u,w,s=a.components.removeElementsArr=a.components.removeElementsArr||(a.components.removeElementsArr=[]),A=g.hideAnimFlag=!1,h=function(){var f=a.components.removeElementsArr,g=f.length,c;for(c=0;c<g;c++)a._removeDataVisuals(f.shift())},v,E;if(c){d=c.length;for(u=0;u<d;u++){if(E=c[0])if(s.push(E),l){n=E.config.setValue;q=E._xPos;if(void 0==q){c.splice(0,
1);continue}B=E.graphics.element;r=E.graphics.label;z=E.graphics.image;w=E.graphics.connector;null!==n&&(n=d*e,v="T,"+-n+",0",E._xPos=q-n,q=E._xPos,E._baseXPos=q,B&&B.animateWith(k,m,{transform:v},f,p,!A&&h),g.hideAnimFlag=!0,r&&r.animateWith(k,m,{transform:v},f,p),z&&z.animateWith(k,m,{transform:v},f,p),w&&w.hide());F=a.getLinePath([E],F)}else h();c.splice(0,1)}g.removePath=F}},_removeDataVisuals:function(a){var f=this.components.pool||(this.components.pool={}),g,c,d;if(a)for(g in c=a.graphics,c)a=
f[g]||(f[g]=[]),d=c[g],d.hide&&"function"===typeof d.hide&&(d.attr({"text-bound":[]}),d.hide(),d.shadow&&d.shadow(!1)),a.push(c[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,r,z;r=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);z=l(n.drawanchors,g.drawAnchors);c.enabled=r?l(z,r):
l(z,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?ha(d(n.anchoralpha,g.anchorAlpha,
c.enabled?aa:"0")):0;c.anchorAlpha=e;c.bgAlpha=ha(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,c,d,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],z=q.config,B=q.graphics,s=z.anchorProps,v=a.graphics.container,E=v.anchorGroup,u=v.anchorShadowGroup,v=!1===a.visible?"hidden":"visible",w=l.get("config","animationObj"),D=w.dummyObj,A=w.animObj,h=w.animType,w=w.duration,C=s.imageUrl,G=l.components.xAxis[0],N=n.length,n=z.hoverEffects,H=q.config.showValue,I=s.imageScale,O=s.imageAlpha,P=n.imageHoverAlpha,Y=n.imageHoverScale,V=this.height*
I*.01,W=this.width*I*.01,T=this.width*Y*.01,ba=this.height*Y*.01,aa=k.showTooltip,$=a.startPosition,X=a.noOfNewDataAtEnd,ha=a.allImagesDrawn&&w,ca=z.setLink,Ca=z.groupId||"",ja,na,ka,da,ea,la,ra,ga,va,pa,qa,sa=a.config.animFlag,wa=g.toolText,ya=a.graphics.trackerContainer,ta=k.noOfImages,Aa=k.noOfImagesDrawn=k.noOfImagesDrawn||(k.noOfImagesDrawn=0),Aa=a.components.pool||{};if(!z.isRemoving){if(M){if(ea={x:c-this.width*I*.005,y:d-this.height*I*.005,width:W,height:V,alpha:O},ga={x:c-this.width*Y*.005,
y:d-this.height*Y*.005,width:T,height:this.height*Y*.01,alpha:P},(P=B.element)&&"image"!==P.type&&(P.remove(),P=B.element=null),P||(B.element=P=m.image(C,E)),P.css({opacity:.01*O}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",ga).data("setRolloutAttr",ea).data("imgRef",this).data("anchorRadius",I).data("anchorHoverRadius",Y),P.animateWith(D,A,ea,w,h),ca||aa||n)ja=B.hotElement?B.hotElement:B.hotElement=m.circle(ya),ja.attr({cx:c,cy:d,r:Ja(W,V)/2}).attr({cursor:ca?
"pointer":"",stroke:r,"stroke-width":s.borderThickness,fill:r,ishot:!0,visibility:v}).data("eventArgs",g).data("groupId",Ca).data("dataset",a).data("hoverEnabled",n.enabled).click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,l),a.rolloutResponseSetter(q,l)).tooltip(wa)}else{na=s.symbol[1];la=n.isAnchorHoverRadius;z=s.isAnchorRadius;z=s.radius=z?s.radius:Ja(W,V)/2;ka=s.shadow;ea=s.imagePadding;n.radius=la?n.anchorRadius:z+1;da=n.radius-ea-.5*n.anchorBorderThickness;la=z-ea-.5*s.borderThickness;
ga={};qa=[na||2,c,d,z,s.startAngle,void 0];pa={fill:F({color:s.bgColor,alpha:s.bgAlpha}),"stroke-width":s.borderThickness,stroke:F({color:s.borderColor,alpha:s.borderAlpha})};ea=p({polypath:qa},pa);n&&(ga={polypath:[n.anchorSides||2,c,d,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})},ra=ia(n.anchorAlpha,n.anchorBorderAlpha),P>ra&&(P=ra));s.bgAlpha&&s.borderAlpha&&
(ra=ia(s.bgAlpha,s.borderAlpha),O>ra&&(O=ra));ra=B.element;qa={polypath:ea.polypath};ra||(Aa.element&&Aa.element.length?ra=B.element=Aa.element.shift():(ra=B.element=m.polypath(E),ra.attr(qa)),ha&&!0!==$&&(va=G.getPixel(N+X),a.noOfNewDataAtEnd+=1,G=[na||2,va,d,z,s.startAngle,void 0],ra.attr({transform:"",polypath:G})));ra&&ra.attr({transform:""});ra.show().animateWith(D,A,qa,w,h,sa&&void 0).attr(pa);sa=a.config.animFlag=!1;ra.attr({fill:F({color:s.bgColor,alpha:s.bgAlpha}),ishot:!aa,"stroke-width":s.borderThickness,
stroke:F({color:s.borderColor,alpha:s.borderAlpha}),cursor:ca?"pointer":"",visibility:z?"visible":"hidden"}).data("alwaysInvisible",!z).data("setRolloverProperties",n).data("setRolloverAttr",ga).data("setRolloutAttr",ea).data("anchorRadius",z).data("anchorHoverRadius",n&&n.radius).shadow(ka,u);u=m.polypath(na||2,c,d,0<la?la:0,s.startAngle,void 0,E).attr({visibility:"hidden"});ea=a._getPathString(u.attrs.path);u.remove();u=m.polypath(na||2,c,d,0<da?da:0,n.startAngle,n.dip,E).attr({visibility:"hidden"});
G=a._getPathString(u.attrs.path);u.remove();s.imgRefWidth=this.width;s.imgRefHeight=this.height;s.imgRefScale=I;s.rolloutClipRadius=la;ea={x:c-this.width*I*.005,y:d-this.height*I*.005,width:W,height:V,alpha:O,"clip-path":ea};ga={x:c-this.width*Y*.005,y:d-this.height*Y*.005,width:T,height:ba,alpha:P,"clip-path":G};P=B.image;P||(Aa.image&&Aa.image.length?(P=B.image=Aa.image.shift(),P.show()):B.image=P=m.image(C,E),ha&&(u=m.polypath(na||2,va,d,0<la?la:0,s.startAngle,void 0).attr({visibility:"hidden"}),
E=a._getPathString(u.attrs.path),u.remove(),va={x:va-this.width*I*.005,y:d-this.height*I*.005,width:W,height:V,alpha:O,"clip-path":E},P.attr({transform:""}).attr(va)));P.attr({src:C});P.attr({visibility:z?"visible":"hidden"}).css({opacity:.01*O}).data("alwaysInvisible",!I).data("setRolloverProperties",n).data("setRolloverAttr",ga).data("setRolloutAttr",ea).data("anchorRadius",I).data("imgRef",this).data("anchorHoverRadius",Y);P.attr({transform:""}).animateWith(D,A,{x:ea.x,y:ea.y,width:ea.width,height:ea.height,
"clip-path":ea["clip-path"]},w,h,sa&&void 0);P.attr({alpha:ea.alpha});if(ca||aa||n)z=ia(z,n&&n.anchorRadius||0,2),B.hotElement?ja=B.hotElement.attr({cx:c,cy:d,r:z}):Aa.hotElement&&Aa.hotElement.length?ja=B.hotElement=Aa.hotElement.shift():(ja=B.hotElement=m.circle({cx:c,cy:d,r:z},ya),ja.click(a.getPlotClickFn(l)).hover(a.rolloverResponseSetter(q,l),a.rolloutResponseSetter(q,l))),ja.attr({cursor:ca?"pointer":"",stroke:r,"stroke-width":s.borderThickness,fill:r,ishot:!0,visibility:v});(ja||P).data("eventArgs",
g).data("groupId",Ca).data("dataset",a).data("hoverEnabled",n.enabled).tooltip(wa)}q._xPos=c;q._yPos=d;a.drawTracker&&a.drawTracker(f);H&&a.drawLabel(f,c,d,q);Aa=k.noOfImagesDrawn+=1;Aa===ta&&(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){na.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=Ka(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,c=a.graphics.label,d=a.config||{},d=d&&d.anchorProps.imageUrl,e=M&&d?a.graphics.element:a.graphics.image,l=g.data("setRolloverAttr"),k=g.data("setRolloutAttr"),m="DataPlotRollOver"===f?g.data("setRolloverAttr"):g.data("setRolloutAttr"),d="image"===g.type,p=g.data("anchorRadius"),n=g.data("anchorHoverRadius"),q=c&&(c.data("isBelow")?1:-1)*(d?.5*(l.height-k.height):n-p),z=a.config.hoverEffects,
r,F={polypath:m.polypath},m={fill:m.fill,"stroke-width":m["stroke-width"],stroke:m.stroke},s=c&&c.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")&&z.anchorAnimation&&50;e&&(r=e.data("setRolloverAttr"),k=e.data("setRolloutAttr"),r="DataPlotRollOver"==f?r:k);if("DataPlotRollOver"==f&&0!==n||"DataPlotRollOut"==f&&0!==p)g.attr({visibility:"visible"}),e&&e.attr({visibility:"visible"});
e&&e.css({opacity:.01*r.alpha});d?g.css({opacity:.01*F.alpha}):g.attr(m);g.stop();g.animate(F,l,"easeOut",function(){("DataPlotRollOver"==f&&!n||"DataPlotRollOut"==f&&!p)&&g.attr({visibility:"hidden"})});e&&e.animate(r,l,"easeOut",function(){("DataPlotRollOver"==f&&!n||"DataPlotRollOut"==f&&!p)&&e.attr({visibility:"hidden"})});c&&c.stop();l&&c&&c.animate(q,l,"easeOut")},drawLabel:function(a){var f=this.chart,g=f.config,c=f.config.dataLabelStyle,d=this.components.data,e=f.components.paper,l,k="",m=
this.config,p=f.get("config","animationObj"),n=p.duration,q=p.animType,z=m.rotateValues,r=g.canvasTop,F=g.canvasHeight,s,g=m.valuePadding+2,u;s=this.graphics.dataLabelContainer;var w,v,A,h,E,D,C=f.components.xAxis[0],G=C.getCategoryLen(),N=this.startPosition;w=this.components.pool||{};var k=f.isStacked,I,f=!0===this.drawn&&n;I=m.stack100Percent;var m=p.dummyObj,M=p.animObj;l=d[a];v=l.config;u=v.anchorProps;p=l.graphics;h=l._yPos;A=l._xPos;l=p.element?l.graphicImage&&.5*p.element.attr("height")||u.radius-
3:0;g+=l;switch(v.valuePosition){case "above":d=0;break;case "below":d=1;break;default:E=d[a-1]&&d[a-1].config||{},d=d[a+1]&&d[a+1].config||{},k&&I?(k=E.value,d=d.value,E=v.value):(k=E.setValue,d=d.setValue,E=v.setValue),d=a?k>E?1:(null==d&&d)>E?1:0:0}k=v.displayValue;I=v.showValue;a=p.label;void 0!==k&&null!==k&&k!==H&&null!==E&&I?(c={text:k,"class":"fusioncharts-label",fill:c.color,"text-bound":[c.backgroundColor,c.borderColor,c.borderThickness,c.borderPadding,c.borderRadius,c.borderDash],"font-weight":c.fontWeight,
"font-style":c.fontStyle,"font-family":c.fontFamily,"font-size":c.fontSize,"line-height":c.lineHeight,visibility:"visible"},a||(w.label&&w.label.length?(p.label=a=w.label.shift(),p.label.show()):p.label=a=e.text(s),D=!0),a.attr(c),c=p.label.getBBox(),z?(v._state={labelWidth:!0===v._rotated?c.width:c.height,labelHeight:!0===v._rotated?c.height:c.width},v._rotated=!0):(v._state={labelWidth:!0===v._rotated?c.height:c.width,labelHeight:!0===v._rotated?c.width:c.height},v._rotated=!1),c=s=v._state.labelHeight,
s=.5*s+g,w=h-r,F=r+F-h,r=h,c=c+g+4,d?F>c?(r+=s,v._valueBelowPoint=1):w>c&&(r-=s,v._valueBelowPoint=0):w>c?(r-=s,v._valueBelowPoint=0):F>c&&(r+=s,v._valueBelowPoint=1),D&&(a.attr({x:A,y:r,transform:e.getSuggestiveRotation(z,A,r)}),f&&!0!==N&&(D=C.getPixel(G+0),D instanceof Object&&(D=D.x),p.label.attr({x:D,y:r,transform:e.getSuggestiveRotation(z,D,r)}))),a.data("isBelow",v._valueBelowPoint),a.data("rotation",e.getSuggestiveRotation(z,A,r)),a.show().animateWith(m,M,{x:A,y:r,transform:e.getSuggestiveRotation(z,
A,r)},n,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,c,d){if(d)return this._hoverPlotAnchor(a,f,c)}},"column"]);FusionCharts.register("component",["dataset","scrollarea2d",{},"area"]);FusionCharts.register("component",["dataset","realtimearea",{init:function(a){var f=this.chart,c=f.components,d=
f.isDual&&a.parentyaxis&&"s"===a.parentyaxis.toLowerCase()?1:0;this.yAxis=c=c.yAxis[d];if(!a)return!1;this.JSONData=a;this.yAxis=c;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,c=this.components.data,d=[],e=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<e?(d.length=e-a,this.components.data=
d.concat(c)):a>e&&this.components.data.splice(e,a-e)}},"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,c=f.jsonData.chart,e=this.JSONData,k=f.components.colorManager.getPlotColor(this.index);this.__base__.configure.call(this);a.plotFillColor=d(e.color,c.plotfillcolor,k);a.plotBorderColor=
d(e.plotbordercolor,c.plotbordercolor,c.areabordercolor,k).split(",")[0];a.fillColor.color=a.plotFillColor;a.legendSymbolColor=a.plotFillColor;f.config.radarRadius=l(c.radarradius,0);f.config.radarBorderThickness=l(c.radarborderthickness,2)},_addLegend:function(){var a=this.chart,f=a.jsonData.chart,c,d;d=this.config;var a=a.components.legend,e=d.legendSymbolColor;c=l(f.us3dlighting,f.useplotgradientcolor,1);f=Na(e,60).replace(pa,T);c?(c=Na(e,40),c={FCcolor:{color:e+","+e+","+c+","+e+","+e,ratio:"0,70,30",
angle:270,alpha:"100,100,100,100,100"}}):c={FCcolor:{color:e,angle:0,ratio:"0",alpha:"100"}};d={enabled:d.includeInLegend,type:this.type,fillColor:F(c),strokeColor:F(f),rawFillColor:e,label:da(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,d)},draw:function(){var b=this,f=b.chart,c=f.graphics,e=f.config,l=f.components,k=b.JSONData,p=f.jsonData.chart,n=b.config,q=f.isStacked,z=b.groupManager.stackSumValue[0],s=b.index,K=k.data||[],B,v,E,D,u=l.paper,w=l.xAxis[0],
C=b.yAxis,A,h,G,N,H=n.showTooltip,I,M=b.components.data,P,O,Y,V,T,ba,l=e.style,aa={fontFamily:l.fontFamily,fontSize:l.fontSize,lineHeight:l.lineHeight,fontWeight:l.fontWeight,fontStyle:l.fontStyle,color:l.color},$=C.getAxisBase(),X,l=n.plotBorderColor,ha=n.plotBorderAlpha,ca=n.plotBorderDashStyle,xa=n.plotBorderThickness,Ca=b.graphics.container,ja=b.graphics.trackerContainer,ea=c.trackerGroup,da=[],ga=m.parseUnsafeString,va=!1,la=n.fillColor,ra=f.is3D,pa=c.areaGroup,Ha=f.get("config","animationObj"),
qa=Ha.duration,sa=Ha.dummyObj,wa=Ha.animObj,Ha=Ha.animType,ta=function(){!1===b.visible&&(Ca.areaGroup.hide(),Ia.hide(),Ca.lineShadowGroup.hide(),Ca.anchorShadowGroup.hide(),Ca.anchorGroup.hide(),ja.hide(),Ma&&Ma.hide(),b._conatinerHidden=!0)},ya=function(){Ca.areaGroup.attr({"clip-rect":null});!1!==b.visible&&(Ca.lineShadowGroup.show(),Ca.anchorShadowGroup.show(),Ca.anchorGroup.show(),Ma.show());f._animCallBack()},n=n.shadow,za,Aa=b.visible,Ja=function(a){na.call(this,f,a)},Ga=function(a,c){return function(g){c&&
b._hoverPlotAnchor(a,"DataPlotRollOver",p);na.call(this,f,g,"DataPlotRollOver")}},Ka=function(a,c){return function(g){c&&b._hoverPlotAnchor(a,"DataPlotRollOut",p);na.call(this,f,g,"DataPlotRollOut")}},Ia=Ca&&Ca.shadowContainer,Fa,Ba={},Ba=c.datalabelsGroup,Ma=b.graphics.dataLabelContainer,Oa=ra?10:0,c=b.components.removeDataArr||[],ra=c.length,Na=b.components.pool||{},Ra,ab=!0,nb,eb=0,hb;Ca||(Ca=b.graphics.container={lineShadowGroup:u.group("connector-shadow",pa.areaConnector),anchorShadowGroup:u.group("anchor-shadow",
pa.areaConnector),areaGroup:u.group("area",pa.area),anchorGroup:u.group("anchors",pa.areaConnector)},Aa||(Ca.lineShadowGroup.hide(),Ca.anchorShadowGroup.hide(),Ca.areaGroup.hide(),Ca.anchorGroup.hide()));Ia||(Ia=b.graphics.shadowContainer=pa.shadows||(pa.shadows=u.group("shadows",Ca.areaGroup).toBack()),Aa||Ia.hide());ja||(ja=b.graphics.trackerContainer=u.group("area-hot"),Aa||ja.hide());M||(M=b.components.data);ea&&ea.appendChild(ja);Ma||(Ma=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||
u.group("datalabel",Ba),Aa||Ma.hide());Aa&&(Ca.lineShadowGroup.show(),Ca.anchorShadowGroup.show(),Ca.areaGroup.show(),Ca.anchorGroup.show(),Ma.show(),ja.show());f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",aa);B=w.getCategoryLen();aa=w.config.centerX;ea=w.config.centerY;for(D=0;D<B;D++)v=K[D]||{},I=(P=M[D])&&P.config,V=w.getLabel(D).label,N=I.showValue,Y=I.setValue,E=I.setLink,Ba=I.anchorProps,Fa=Ba.shadow,A=ka(ga(d(v.tooltext,k.plottooltext,p.plottooltext))),P.graphics||(P.graphics=
{}),I&&(X=0<=Y?I.previousPositiveY:I.previousNegativeY),q&&Y&&(X=b._parseValues(D,X,z[D],A),Y=I.value),nb=!1,Ra=P.graphics,v=Ra.element,O=Ra.hotElement,hb=Ra.image,Ra=Ra.label,null===Y?(!1!==va?da.push("L",aa,",",ea):da.push("M",aa,",",ea),va=!1):(h=C.getAxisPosition(X||$)+Oa,G=b.visible?C.getAxisPosition(Y+(X||0))+Oa:h,h=w.getAxisPosition(D,e.canvasTop+e.canvasHeight/2-G),G=h.y,h=h.x,za=I.hoverEffects,A=H?I.toolText+(A?"":I.toolTipValue):"",V={index:D,link:E,value:Y,displayValue:I.displayValue,categoryLabel:V,
toolText:A,id:b.userID,datasetIndex:s||0,datasetName:k.seriesname,visible:Aa},za.enabled&&(I.setRolloverAttr={polypath:[za.anchorSides||2,h,G,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},I.setRolloutAttr={polypath:[Ba.symbol[1]||2,h,G,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},ba=I.setRolloverAttr,T=I.setRolloutAttr),Ba.imageUrl?(E=new a,E.onload=b._onAnchorImageLoad(b,D,V,h,G),E.onerror=b._onErrorSetter(h,G,D,b),E.src=Ba.imageUrl):(hb&&hb.hide(),v||(Na.element&&Na.element.length?v=P.graphics.element=Na.element.shift():(v=P.graphics.element=u.polypath(Ca.anchorGroup),v.attr({polypath:[Ba.symbol[1]||2,h,G,Ba.radius,Ba.startAngle,0]}),nb=!0)),v.show().animateWith(sa,wa,{polypath:[Ba.symbol[1]||2,h,G,Ba.radius,Ba.startAngle,0]},qa,Ha,ab&&
ta),ab=!1,v.attr({fill:F({color:Ba.bgColor,alpha:Ba.bgAlpha}),stroke:F({color:Ba.borderColor,alpha:Ba.borderAlpha}),"stroke-width":Ba.borderThickness,visibility:Ba.radius?Aa:"hidden"}).shadow(Fa,Ca.anchorShadowGroup).data("anchorRadius",Ba.radius).data("anchorHoverRadius",za.anchorRadius).data("setRolloverAttr",ba).data("setRolloutAttr",T),za.enabled&&v&&v.data("anchorRadius",Ba.radius).data("anchorHoverRadius",za.anchorRadius).data("setRolloverAttr",ba).data("setRolloutAttr",T),I=ia(Ba.radius,za&&
!q&&za.anchorRadius||0,W),E={cx:h,cy:G,r:I,cursor:E?"pointer":"",stroke:r,"stroke-width":Ba.borderThickness,fill:r,ishot:!0,visibility:"visible"},O||(Na.hotElement&&Na.hotElement.length?O=P.graphics.hotElement=Na.hotElement.shift():(O=P.graphics.hotElement=u.circle(ja),nb=!0)),O.show().attr(E),nb&&(O||v).click(Ja).hover(Ga(P,za.enabled),Ka(P,za.enabled)),(O||v).data("eventArgs",V).data("groupId",void 0).data("hoverEnabled",za.enabled).tooltip(A)),P._xPos=h,P._yPos=G,va?(da.push("L",h,",",G),eb++):
(0===D?da.push("M",h,",",G):da.push("L",h,",",G),va=!0)),N&&!Ba.imageUrl&&this.drawLabel(D),null===Y&&(v&&v.hide(),O&&O.hide()),0!==N&&null!==Y||!Ra||(Ra.hide(),Ra.attr({"text-bound":[]}));da.push("Z");k=da.concat([]);e=b.graphics.lineElement;e||(e=b.graphics.lineElement=u.path(Ca.areaGroup),e.attr({path:da}),qa&&Aa&&(Ca.anchorGroup.hide(),Ca.anchorShadowGroup.hide(),Ma.hide(),pa.scale(.01,.01,aa,ea).animateWith(sa,wa,{transform:"s1,1"},qa,Ha,ya)));e.show().animateWith(sa,wa,{path:k},qa,Ha,ab&&ta).attr({stroke:F({color:l,
alpha:ha}),"stroke-width":xa,fill:F(la),"stroke-linecap":"round","stroke-linejoin":2<xa?"round":"miter","stroke-dasharray":ca}).shadow(n,Ia);b.drawn=!0;for(D=0;D<ra;D++)b._removeDataVisuals(c.shift())}},"area"]);FusionCharts.register("component",["dataset","Line",{type:"line",init:function(a){var f=this.chart,c=f.components,d=f.hasLineSet,e=a.parentyaxis,d=f.isDual&&(e&&"s"===e.toLowerCase()||d)?1:0;this.chart=f;this.yAxis=c.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,c=a.jsonData.chart,a=l(a.defaultPlotShadow,a.components.colorManager.getColor("showShadow"));return{opacity:l(c.showshadow,a)?f.lineAlpha/100:0}},_addLegend:function(){var a=this.config,f=this.chart.components.legend,c=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:c?a.anchorSides:0,strokeWidth:a.anchorBorderThickness,label:da(this.JSONData.seriesname)};this.legendItemId=f.addItems(this,this.legendInteractivity,a)},draw:function(){var b,f,c=this,e=c.JSONData,l=c.chart,k=l.components,m=k.canvas.config.clip,p=c.config,n=c.index,q=l.config,z=c.components,s=c.graphics,B=z.data,v=B.length,E=k.paper,D=k.xAxis[0],u=c.yAxis,w=z.removeDataArr||[],G=l.graphics,A=G.datalabelsGroup,
h,N,H,I=q.style,M={fontFamily:I.fontFamily,fontSize:I.fontSize,lineHeight:I.lineHeight,fontWeight:I.fontWeight,fontStyle:I.fontStyle,color:I.color},P=p.lineThickness,O=s.container,Y=s.trackerContainer,V=G.trackerGroup,T=p.showTooltip,ba,aa=G.lineGroup,$,X=p.shadow,ha,na=s.dataLabelContainer,ma={},xa,ea,ja,da=l.is3D,ga=p.use3dlineshift,ka=p.transposeanimation,va=c.graphics.errorGroupContainer,la=c.graphics.errorTrackerContainer,ra=c.graphics.errorShadowContainer,pa=function(){!1!==c.visible||!1!==
c._conatinerHidden&&void 0!==c._conatinerHidden||(O.lineGroup.hide(),O.lineShadowGroup.hide(),O.anchorShadowGroup.hide(),O.anchorGroup.hide(),Y.hide(),na&&na.hide(),va&&va.hide(),la&&la.hide(),ra&&ra.hide(),c._conatinerHidden=!0)},qa=function(){aa.lineConnector.attr({"clip-rect":null});aa.lineConnector.node&&aa.lineConnector.node.removeAttribute("clip-path");!1!==c.visible&&(O.lineShadowGroup.show(),O.anchorShadowGroup.show(),O.anchorGroup.show(),Y.show(),na&&na.show())},sa=!0,wa,ta,za,ya=u.getAxisBase(),
Ba=u.yBasePos=u.getAxisPosition(ya),Aa=D.getPVR(),Ja,Ga=da?10:0,Ia=da&&ga?10:0,Ka=m["clip-canvas"].slice(0),Fa=m["clip-canvas-init"].slice(0),Ma=k.scrollBar,Oa=l.hasScroll||!1,Na,Ra=p.lineDashStyle,ab={color:p.lineColor,alpha:p.lineAlpha},Mb=[F(ab),Ra].join(":"),nb,eb,hb,Ya,Ua,Ta=s.lineElement,Xa=c.visible,db,gb,Za=0,Wa=!0!==c.drawn,ib=c.components.pool||(c.components.pool={}),ob,sb,Ab=c.startPosition,Eb={},$a=v,Va,ub={},kb=p.anchorRadius,pb=p.lastPath||{},Fb=!Wa&&ka,Gb,tb,vb=0,Hb=l.config.viewPortConfig,
ac=Hb.x,Jb=Hb.scaleX,Bb,jb,lb,Cb,Kb,mb,xb,Nb,yb,Qb,Ib,Ob,Lb,$b,Wb,sc,bc,ec,ic,tc=p.noOfImages=p.noOfImages||(p.noOfImages=0),oc,jc=l.get("config","animationObj"),Xb=jc.duration,kc=jc.dummyObj,lc=jc.animObj,mc=jc.animType,uc,Ac=q.height,vc=q.realTimeConfig&&q.realTimeConfig.clear,Bc=$a;c.noOfNewDataAtEnd=0;p.hideAnimFlag=!1;aa.lineConnector=aa.lineConnector||E.group("line-connector",aa);O||(O=c.graphics.container={lineShadowGroup:E.group("connector-shadow",aa.lineConnector),anchorShadowGroup:E.group("anchor-shadow",
aa.lineConnector),lineGroup:E.group("line",aa.lineConnector),anchorGroup:E.group("anchors",aa.lineConnector)},Xa||(O.lineShadowGroup.hide(),O.anchorShadowGroup.hide(),O.lineGroup.hide(),O.anchorGroup.hide()));Y||(Y=c.graphics.trackerContainer=E.group("line-hot",V),Xa||Y.hide());B||(B=c.components.data=[]);l._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",M);na||(na=c.graphics.dataLabelContainer=c.graphics.dataLabelContainer||E.group("datalabel",A),Xa||na.hide());Xa&&(O.lineShadowGroup&&
O.lineShadowGroup.show(),O.lineGroup&&O.lineGroup.show(),O.anchorGroup&&O.anchorGroup.show(),Y&&Y.show(),c._conatinerHidden=!1,na.show());Ja=Aa*$a;l.isRealTime&&(Ka[1]=0,Ka[3]=Ac,na.attr({"clip-rect":Ka}),O.anchorGroup.attr({"clip-rect":Ka}),O.anchorShadowGroup.attr({"clip-rect":Ka}),O.lineGroup.attr({"clip-rect":Ka}),O.lineShadowGroup.attr({"clip-rect":Ka}));if(vc)for(Va=0,$a=w.length;Va<$a;Va++)c._removeDataVisuals(w.shift());else c._shiftOffRemovedPoints();Eb=p.removePath||{};sc=O.anchorShadowGroup;
for(Va=0;Va<Bc;Va++)if(h=B[Va])ja=h.config||{},mb=ja.setValue,void 0!==mb&&(Cb=h.graphics,Kb=ja.setLink,db=ja.x||Va,wa=ja.setLevelTooltext,ma=ja.anchorProps,ea=ma.symbol,yb=ma.radius,ha=ma.shadow,Qb=ma.startAngle,Ib=ma.bgColor,Ob=ma.bgAlpha,Lb=ma.borderColor,$b=ma.borderAlpha,Wb=ma.borderThickness,Nb=ja.displayValue,gb=ja.dip||0,h||(h=B[Va]={graphics:{}}),b=ja.setColor,f=ja.setAlpha,za=ja.dashStyle,Ya=ja.xPos||D.getAxisPosition(db)-Ga+ac*Jb,Ua=!c.visible&&Xb?Ba:u.getAxisPosition(mb)+Ia,Ya=ca(Ya,p.lineThickness,
p.lineThickness).position,Ua=ca(Ua,p.lineThickness,p.lineThickness).position,$=ja.hoverEffects,ma.isAnchorHoverRadius=$.anchorRadius,Gb=D.getLabel(Va)||{},Bb=T?ja.toolText+(wa?"":ja.toolTipValue):"",xb={index:Va,link:Kb,value:mb,displayValue:Nb,categoryLabel:Gb.label,toolText:Bb,id:p.userID,datasetIndex:n||0,datasetName:e.seriesname,visible:Xa},ic=!1,jb=h.graphics.element,ec=h.graphics.image,lb=h.graphics.hotElement,oc={polypath:[ea[1]||2,Ya,Ua,yb,Qb,ja.dip||0]},null!==mb?(!jb&&Fb&&!0!==Ab&&(sb=$a+
Za,ob=D.getPixel(sb),h._xPos=ob,h._yPos=Ua,pb=c.getLinePath([h],pb),Za++),ma.imageUrl?(xa=new a,xa.onload=c._onAnchorImageLoad(c,Va,xb,Ya,Ua,h),xa.onerror=c._onErrorSetter(Ya,Ua,Va,c),xa.src=ma.imageUrl,tc++):(ec&&ec.hide(),jb||(ib.element&&ib.element.length?(jb=Cb.element=ib.element.shift(),jb.show()):(jb=Cb.element=E.polypath(O.anchorGroup),jb.attr(oc),ic=!0),Fb&&jb.attr({polypath:[ea[1]||2,ob,Ua,yb,Qb,0]})),jb.show().attr({transform:""}).animateWith(kc,lc,oc,Xb,mc,sa&&pa),Xb||sa&&pa(),sa=!1,jb.attr({fill:F({color:Ib,
alpha:Ob}),stroke:F({color:Lb,alpha:$b}),"stroke-width":Wb,visibility:yb?Xa:"hidden"}).shadow(ha,sc).data("anchorRadius",yb).data("anchorHoverRadius",$.anchorRadius),$.enabled&&(H={polypath:[$.anchorSides||2,Ya,Ua,$.anchorRadius,$.startAngle,$.dip],fill:F({color:$.anchorColor,alpha:$.anchorBgAlpha}),stroke:F({color:$.anchorBorderColor,alpha:$.anchorBorderAlpha}),"stroke-width":$.anchorBorderThickness},N={polypath:[ma.sides,Ya,Ua,ma.radius,ma.startAngle,gb],fill:F({color:ma.bgColor,alpha:ma.bgAlpha}),
stroke:F({color:ma.borderColor,alpha:ma.borderAlpha}),"stroke-width":ma.borderThickness},jb&&jb.data("anchorRadius",ma.radius).data("anchorHoverRadius",$.anchorRadius).data("setRolloverAttr",H).data("setRolloutAttr",N)),kb=ia(yb,$&&$.anchorRadius||0,W),ba={cx:Ya,cy:Ua,r:kb,cursor:Kb?"pointer":"",stroke:r,"stroke-width":Wb,fill:r,ishot:!0,visibility:Xa,transform:""},lb||(ib.hotElement&&ib.hotElement.length?lb=Cb.hotElement=ib.hotElement.shift():(lb=Cb.hotElement=E.circle(Y),ic=!0)),lb.show().attr(ba),
(lb||jb).data("eventArgs",xb).data("groupId",void 0).data("hoverEnabled",$.enabled).data("dataset",c).tooltip(Bb),ic&&(lb||jb).click(c.getPlotClickFn(l)).hover(c.rolloverResponseSetter(h,l),c.rolloutResponseSetter(h,l)))):(jb&&jb.hide(),ec&&ec.hide(),lb&&lb.hide()),h._xPos=Ya,h._yPos=Ua,!ma.imageUrl&&c.drawLabel(Va),hb=Mb!==[F({color:d(b,ab.color),alpha:d(f,ab.alpha)}),za||Ra].join(":"),ta=h.graphics.connector,tb=[],hb&&(bc=Va,ub=c.getLinePath(B,{},{begin:vb,end:bc+1}),ja.connStartIndex=vb,ja.connEndIndex=
bc,tb=ub.getPathArr(),tb.length&&(uc=C.animation({path:tb},Xb,mc,sa&&pa),ta||(ib.connector&&ib.connector.length?ta=h.graphics.connector=ib.connector.shift():(ta=h.graphics.connector=E.path(O.lineGroup),ta.attr({path:tb}))),ta.show().animateWith(kc,lc,uc),ta.attr({"stroke-dasharray":eb,"stroke-width":P,stroke:nb,"stroke-linecap":"round","stroke-linejoin":2<P?"round":"miter"}).shadow(X,O.lineShadowGroup),vb=Va,ub={}),bc=null),hb||tb.length||ta&&ta.hide(),null!==mb&&(nb=F({color:d(b,ab.color),alpha:d(f,
ab.alpha)}),eb=za||Ra),Mb=[nb,eb].join(":"));p.pathStartIndex=vb;p.pathEndIndex=bc;p.noOfImages=tc;ub=c.getLinePath(B,{},{begin:vb,end:bc});w&&l.isRealTime&&(Eb=c.getLinePath(B,Eb));l.isRealTime&&(p.lastPath=ub);Ta?Xb&&l.isRealTime&&Ta.attr({path:pb.getPathArr()}):Ta=s.lineElement=E.path({path:ub.getPathArr()},O.lineGroup);vc?Ta.hide():Ta.show().animateWith(kc,lc,{path:Eb.getPathArr&&l.isRealTime?Eb.getPathArr():ub.getPathArr()},Xb,mc,sa&&pa);Ta.attr({"stroke-width":P,"stroke-dasharray":eb,stroke:nb,
"stroke-linecap":"round","stroke-linejoin":2<=P?"round":"miter"}).shadow(X,O.lineShadowGroup);Oa&&(Na=Ma.conf.startPercent,Ka[2]=Ja+Fa[0],1===Na&&(Fa[0]=Ka[2],Ka[0]=0));Ka[3]+=Ia;c._drawTracker&&c._drawTracker();Xb&&Xa&&!c.drawn&&(O.anchorGroup.hide(),O.anchorShadowGroup.hide(),na.hide(),aa.lineConnector.attr({"clip-rect":Fa}).animateWith(kc,lc,{"clip-rect":Ka},Xb,mc,qa));c.drawn=!0;c.drawErrorValue&&c.drawErrorValue()},getDataLimits:function(){var a=this.config,f=a.maxValue,a=a.minValue,c=this.chart.config.transposeAxis;
!1===this.visible&&c&&(f=-Infinity,a=Infinity);return{max:f,min:a}},pointValueWatcher:function(a,f,c){var d=c.obj||(c.obj={}),e=c.objX||(c.objX={});null!==f&&(d.max=d.max>f?d.max:f,d.min=d.min<f?d.min:f);null!==a&&(e.max=e.max>a?e.max:a,e.min=e.min<a?e.min:a);c.isRegression&&(a=a||0,f=f||0,c.sumX+=a,c.sumY+=f,c.sumXY+=a*f,c.sumXsqure+=Ia(a,2),c.xValues.push(a),c.sumYsqure+=Ia(f,2),c.yValues.push(f))}},"area"]);FusionCharts.register("component",["dataset","Realtimeline",{_realTimeConfigure:function(a){var f=
this.chart,c=this.components.data,d=[],e=f.config.realTimeConfig.numDisplaySets;a=a?0:f.components.xAxis[0].getCategoryLen();a<e?(d.length=e-a,this.components.data=d.concat(c)):a>e&&this.components.data.splice(e,a-e)}},"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,c,e,k,m,p,n,q,r,F=
this.conf;q=this.chart;m=q.config;var s=q.jsonData.chart;f=q.components.canvas.config;var B=m.dataLabelStyle;a=q.linkedItems.smartLabel;if(F.enabled=l(s.drawquadrant,0))q=l(s.quadrantxval),r=l(s.quadrantyval),n=Y(d(s.quadrantlinecolor,f.canvasBorderColor),d(s.quadrantlinealpha,s.quadrantlinealpha,aa)),f=l(s.quadrantlinethickness,f.canvasBorderThickness),e=l(s.quadrantlinedashed,s.quadrantlineisdashed,0),c=l(s.quadrantlinedashlen,4),k=l(s.quadrantlinedashgap,2),c=e?va(c,k,f):"none",F.xVal=q,F.yVal=
r,F.quadrantLineColor=n,F.quadrantLineThickness=f,F.dashStyle=c,f=ka(s.quadrantlabeltl,""),n=ka(s.quadrantlabeltr,""),q=ka(s.quadrantlabelbl,""),r=ka(s.quadrantlabelbr,""),F.quadrantLabelPadding=l(s.quadrantlabelpadding,3),a.useEllipsesOnOverflow(m.useEllipsesWhenOverflow),a.setStyle(B),""!==f&&(a=da(s.quadrantlabeltlbordercolor,s.quadrantlabelbordercolor,""),e=d(s.quadrantlabeltlbgcolor,s.quadrantlabelbgcolor),m=l(s.quadrantlabeltlborderthickness,s.quadrantlabelborderthickness,1),a=a?Y(a,l(s.quadrantlabeltlborderalpha,
s.quadrantlabelborderalpha,s.quadrantlabeltlalpha,s.quadrantlabelalpha,100)):"",p=F.tlConfig,p||(p=F.tlConfig={enabled:!0,styleObj:{}}),p.label=f,p.styleObj.fontSize=d(l(s.quadrantlabeltlfontsize,s.quadrantlabelfontsize),parseInt(B.fontSize,10))+"px",p.styleObj.lineHeight=B.lineHeight,p.styleObj.fontFamily=d(s.quadrantlabeltlfont,s.quadrantlabelfont,B.fontFamily),p.styleObj.color=Y(d(s.quadrantlabeltlfontcolor,s.quadrantlabelfontcolor,B.color),l(s.quadrantlabeltlfontalpha,s.quadrantlabelfontalpha,
100)),p.styleObj.fontWeight=l(s.quadrantlabeltlfontbold,s.quadrantlabelfontbold)?"bold":"normal",p.styleObj.fontStyle=l(s.quadrantlabeltlfontitalic,s.quadrantlabelfontitalic)?"italic":"normal",z(p.styleObj),f=l(s.quadrantlabeltlborderpadding,s.quadrantlabelborderpadding,2),c=l(s.quadrantlabeltlborderradius,s.quadrantlabelborderradius,0),e=e?Y(e,l(s.quadrantlabeltlbgalpha,s.quadrantlabelbgalpha,s.quadrantlabeltlalpha,s.quadrantlabelalpha,100)):"",k=l(s.quadrantlabeltlborderdashed,s.quadrantlabelborderdashed,
0)?va(l(s.quadrantlabeltlborderdashlen,s.quadrantlabelborderdashlen,4),l(s.quadrantlabeltlborderdashgap,s.quadrantlabelborderdashgap,2),m):"none",p["text-bound"]=[e,a,m,f,c,k]),""!==n&&(a=da(s.quadrantlabeltrbordercolor,s.quadrantlabelbordercolor,""),e=d(s.quadrantlabeltrbgcolor,s.quadrantlabelbgcolor),m=l(s.quadrantlabeltrborderthickness,s.quadrantlabelborderthickness,1),a=a?Y(a,l(s.quadrantlabeltrborderalpha,s.quadrantlabelborderalpha,s.quadrantlabeltralpha,s.quadrantlabelalpha,100)):"",n=F.trConfig,
n||(n=F.trConfig={enabled:!0,styleObj:{}}),n.label=ka(s.quadrantlabeltr,""),n.styleObj.fontSize=d(l(s.quadrantlabeltrfontsize,s.quadrantlabelfontsize),parseInt(B.fontSize,10))+"px",n.styleObj.lineHeight=B.lineHeight,n.styleObj.fontFamily=d(s.quadrantlabeltrfont,s.quadrantlabelfont,B.fontFamily),n.styleObj.color=Y(d(s.quadrantlabeltrfontcolor,s.quadrantlabelfontcolor,B.color),l(s.quadrantlabeltrfontalpha,s.quadrantrabelfontalpha,100)),n.styleObj.fontWeight=l(s.quadrantlabeltrfontbold,s.quadrantlabelfontbold)?
"bold":"normal",n.styleObj.fontStyle=l(s.quadrantlabeltrfontitalic,s.quadrantlabelfontitalic)?"italic":"normal",z(n.styleObj),f=l(s.quadrantlabeltrborderpadding,s.quadrantlabelborderpadding,2),c=l(s.quadrantlabeltrborderradius,s.quadrantlabelborderradius,0),e=e?Y(e,l(s.quadrantlabeltrbgalpha,s.quadrantlabelbgalpha,s.quadrantlabeltralpha,s.quadrantlabelalpha,100)):"",k=l(s.quadrantlabeltrborderdashed,s.quadrantlabelborderdashed,0)?va(l(s.quadrantlabeltrborderdashlen,s.quadrantlabelborderdashlen,4),
l(s.quadrantlabeltrborderdashgap,s.quadrantlabelborderdashgap,2),m):"none",n["text-bound"]=[e,a,m,f,c,k]),""!==q&&(a=da(s.quadrantlabelblbordercolor,s.quadrantlabelbordercolor,""),e=d(s.quadrantlabelblbgcolor,s.quadrantlabelbgcolor),m=l(s.quadrantlabelblborderthickness,s.quadrantlabelborderthickness,1),a=a?Y(a,l(s.quadrantlabelblborderalpha,s.quadrantlabelborderalpha,s.quadrantlabelblalpha,s.quadrantlabelalpha,100)):"",n=F.blConfig,n||(n=F.blConfig={enabled:!0,styleObj:{}}),n.label=q,n.styleObj.fontSize=
d(l(s.quadrantlabelblfontsize,s.quadrantlabelfontsize),parseInt(B.fontSize,10))+"px",n.styleObj.lineHeight=B.lineHeight,n.styleObj.fontFamily=d(s.quadrantlabelblfont,s.quadrantlabelfont,B.fontFamily),n.styleObj.color=Y(d(s.quadrantlabelblfontcolor,s.quadrantlabelfontcolor,B.color),l(s.quadrantlabelblfontalpha,s.quadrantlabelfontalpha,100)),n.styleObj.fontWeight=l(s.quadrantlabelblfontbold,s.quadrantlabelfontbold)?"bold":"normal",n.styleObj.fontStyle=l(s.quadrantlabelblfontitalic,s.quadrantlabelfontitalic)?
"italic":"normal",z(n.styleObj),f=l(s.quadrantlabelblborderpadding,s.quadrantlabelborderpadding,2),c=l(s.quadrantlabelblborderradius,s.quadrantlabelborderradius,0),e=e?Y(e,l(s.quadrantlabelblbgalpha,s.quadrantlabelbgalpha,s.quadrantlabelblalpha,s.quadrantlabelalpha,100)):"",k=l(s.quadrantlabelblborderdashed,s.quadrantlabelborderdashed,0)?va(l(s.quadrantlabelblborderdashlen,s.quadrantlabelborderdashlen,4),l(s.quadrantlabelblborderdashgap,s.quadrantlabelborderdashgap,2),m):"none",n["text-bound"]=[e,
a,m,f,c,k]),""!==r&&(a=da(s.quadrantlabelbrbordercolor,s.quadrantlabelbordercolor,""),e=d(s.quadrantlabelbrbgcolor,s.quadrantlabelbgcolor),m=l(s.quadrantlabelbrborderthickness,s.quadrantlabelborderthickness,1),a=a?Y(a,l(s.quadrantlabelbrborderalpha,s.quadrantlabelborderalpha,s.quadrantlabelbralpha,s.quadrantlabelalpha,100)):"",q=F.brConfig,q||(q=F.brConfig={enabled:!0,styleObj:{}}),q.label=ka(s.quadrantlabelbr,""),q.styleObj.fontSize=d(l(s.quadrantlabelbrfontsize,s.quadrantlabelfontsize),parseInt(B.fontSize,
10))+"px",q.styleObj.lineHeight=B.lineHeight,q.styleObj.fontFamily=d(s.quadrantlabelbrfont,s.quadrantlabelfont,B.fontFamily),q.styleObj.color=Y(d(s.quadrantlabelbrfontcolor,s.quadrantlabelfontcolor,B.color),l(s.quadrantlabelbrfontalpha,s.quadrantrabelfontalpha,100)),q.styleObj.fontWeight=l(s.quadrantlabelbrfontbold,s.quadrantlabelfontbold)?"bold":"normal",q.styleObj.fontStyle=l(s.quadrantlabelbrfontitalic,s.quadrantlabelfontitalic)?"italic":"normal",z(q.styleObj),e=e?Y(e,l(s.quadrantlabelbrbgalpha,
s.quadrantlabelbgalpha,s.quadrantlabelbralpha,s.quadrantlabelalpha,100)):"",f=l(s.quadrantlabelbrborderpadding,s.quadrantlabelborderpadding,2),c=l(s.quadrantlabelbrborderradius,s.quadrantlabelborderradius,0),k=l(s.quadrantlabelbrborderdashed,s.quadrantlabelborderdashed,0)?va(l(s.quadrantlabelbrborderdashlen,s.quadrantlabelborderdashlen,4),l(s.quadrantlabelbrborderdashgap,s.quadrantlabelborderdashgap,2),m):"none",q["text-bound"]=[e,a,m,f,c,k])},_preDraw:function(){var a,f,c,d,e,l;c=this.conf;var k=
this.chart;d=k.components;l=d.yAxis[0];e=d.xAxis[0].getLimit();var m=l.getLimit();d=e.max;l=m.max;var p=e.min;e=m.min;var k=k.config,n=k.canvasWidth,q=k.canvasHeight,k=c.quadrantLabelPadding,m=c.tlConfig,r=c.trConfig,z=c.blConfig,s=c.brConfig;a=c.xVal||(c.xVal=(p+d)/2);f=c.yVal||(c.yVal=(e+l)/2);if(f>=e&&f<=l&&a>=p&&a<=d){c=n/(d-p)*(a-p);d=n-c;l=q/(l-e)*(f-e);c-=k;e=q-l-k;l-=k;if(0>e||0>c)m.enabled=!1;if(0>e||0>d-k)r.enabled=!1;if(0>l||0>c)z.enabled=!1;if(0>l||0>c)s.enabled=!1}else c.enabled=!1;return this},
draw:function(){var a=this._preDraw(),c=a.conf,d=a.chart,e=d.graphics,l=d.config,k=d.components,m=d.linkedItems.smartLabel,a=a.graphics,p=a.tlLabel,n=a.trLabel,q=a.blLabel,r=a.brLabel,z=l.textDirection,B=k.xAxis[0],s=k.yAxis[0],k=k.paper,F=a.container,v=c.tlConfig||{},u=c.trConfig||{},w=c.blConfig||{},E=c.brConfig||{},v=v.enabled&&v.label,u=u.enabled&&u.label,w=w.enabled&&w.label,E=E.enabled&&E.label,A=l.canvasLeft,h=l.canvasTop,D=c.quadrantLabelPadding,C=B.getLimit(),G=s.getLimit(),N=C.max,I=G.max,
G=G.min,C=B.getPixel(C.min)+D,N=B.getPixel(N)-D,G=s.getPixel(G)-D,D=s.getPixel(I)+D,B=B.getPixel(c.xVal),H=s.getPixel(c.yVal),s=B-C,I=N-B,O=H-D,M=G-H,P=a.horizontalQuadLine,Y=a.verticalQuadLine,V=d.get("config","animationObj"),d=V.duration||0,W=V.dummyObj,V=V.animObj,T=!1;c.enabled?(F||(T=!0,F=a.container=k.group("quadrant").insertBefore(e.datasetGroup)),F.animateWith(W,V,{"clip-rect":l.canvasLeft+","+l.canvasTop+","+l.canvasWidth+","+l.canvasHeight},T?0:d),P||(P=a.horizontalQuadLine=k.path(F)),P.animateWith(W,
V,{path:"M"+A+" "+H+"h"+l.canvasWidth},d).attr({stroke:c.quadrantLineColor,"stroke-dasharray":c.dashStyle,"stroke-width":c.quadrantLineThickness,"stroke-linecap":"butt"}),Y||(Y=a.verticalQuadLine=k.path(F)),Y.animateWith(W,V,{path:"M"+B+" "+h+"v"+l.canvasHeight},d).attr({stroke:c.quadrantLineColor,"stroke-width":c.quadrantLineThickness,"stroke-dasharray":c.dashStyle,"stroke-linecap":"butt"}),v?(p||(p=a.tlLabel=k.text(F).attr({"text-anchor":"start","vertical-align":"top"}).css(c.tlConfig.styleObj)),
m.useEllipsesOnOverflow(l.useEllipsesWhenOverflow),m.setStyle(c.tlConfig.styleObj),e=m.getSmartText(v,s,O),v&&p.animateWith(W,V,{x:C,y:D},T?0:d).attr({text:e.text,direction:z,"text-bound":c.tlConfig["text-bound"]}).show()):p&&p.hide(),u?(n||(n=a.trLabel=k.text(F).attr({"text-anchor":"end","vertical-align":"top",direction:z}).css(c.trConfig.styleObj)),m.setStyle(c.trConfig.styleObj),e=m.getSmartText(u,I,O),u&&n.animateWith(W,V,{x:N,y:D},T?0:d).attr({text:e.text,"text-bound":c.trConfig["text-bound"]}).show()):
n&&n.hide(),w?(q||(q=a.blLabel=k.text(F).attr({"text-anchor":"start","vertical-align":"bottom",direction:z}).css(c.blConfig.styleObj)),m.setStyle(c.blConfig.styleObj),e=m.getSmartText(w,s,M),w&&q.animateWith(W,V,{x:C,y:G},T?0:d).attr({text:e.text,"text-bound":c.blConfig["text-bound"]}).show()):q&&q.hide(),E?(r||(r=a.brLabel=k.text(F).attr({"text-anchor":"end","vertical-align":"bottom",direction:z}).css(c.brConfig.styleObj)),m.setStyle(c.brConfig.styleObj),e=m.getSmartText(E,I,M),E&&r.animateWith(W,
V,{x:N,y:G},T?0:d).attr({text:e.text,"text-bound":c.brConfig["text-bound"]}).show()):r&&r.hide()):F&&F.hide()}}]);FusionCharts.register("component",["dataset","Scatter",{type:"scatter",manageSpace:function(){},configure:function(){var a,c,g,e=this.chart,k=m.parseUnsafeString,p=this.config,n=this.JSONData,q=e.areaAlpha,r=e.jsonData.chart,z=e.components.colorManager;a=l(n.showplotborder,r.showplotborder||1);var s=z.getPlotColor(this.index),F=p.lineDashed=l(n.linedashed,n.dashed,r.linedashed,0);c=this.isLineSet;
p.plotColor=s;g=l(e.defaultPlotShadow,z.getColor("showShadow"));p.xAxisLabelMode=d(r.xaxislabelmode,"categories");p.toolTipSepChar=d(r.tooltipsepchar,", ");p.parentYAxis=c?1:"s"===d(n.parentyaxis&&n.parentyaxis.toLowerCase(),"p")?1:0;p.connectNullData=l(r.connectnulldata,0);p.includeInLegend=l(n.includeinlegend,1);p.enableAnimation=c=l(r.animation,r.defaultanimation,1);p.animation=c?{duration:1E3*l(r.animationduration,1)}:!1;p.transposeanimation=l(r.transposeanimation,c);p.transposeanimduration=1E3*
l(r.transposeanimduration,.2);p.showValues=l(n.showvalues,r.showvalues);p.valuePadding=l(r.valuepadding,2);p.valuePosition=d(n.valueposition,r.valueposition,"auto");p.showTooltip=l(r.showtooltip,1);p.seriesNameInTooltip=l(r.seriesnameintooltip,1);p.showRegressionLine=l(n.showregressionline,r.showregressionline,0);p.plotFillColor=d(n.color,r.plotfillcolor,s);p.plotFillAngle=d(r.plotfillangle,270);p.plotFillAlpha=d(n.alpha,r.plotfillalpha,q,"70");q=l(r.useplotgradientcolor,1);p.plotGradientColor=0!==
q?m.getDefinedColor(r.plotgradientcolor,z.getColor("plotGradientColor")):"";p.fillColor={color:p.plotFillColor+(p.plotGradientColor?","+p.plotGradientColor:H),alpha:p.plotFillAlpha,angle:p.plotFillAngle};p.plotBorderAlpha=a?d(n.plotborderalpha,r.plotborderalpha,n.alpha,"95"):0;p.plotBorderColor=d(n.plotbordercolor,r.plotbordercolor,r.areabordercolor,"666666");p.dashed=a=l(n.dashed,r.plotborderdashed);p.plotBorderDashLen=d(n.plotborderdashlen,r.plotborderdashlen,5);p.plotBorderDashGap=d(n.plotborderdashgap,
r.plotborderdashgap,4);p.plotBorderThickness=l(n.plotborderthickness,r.plotborderthickness,1);p.plotBorderDashStyle=a?m.getDashStyle(p.plotBorderDashLen,p.plotBorderDashGap,p.plotBorderThickness):"none";p.showHoverEffect=l(r.plothovereffect,r.anchorhovereffect,r.showhovereffect,void 0);p.rotateValues=l(r.rotatevalues)?270:0;p.drawLine=l(n.drawline,r.drawlines,0);p.lineThickness=l(n.linethickness,r.linethickness,2);p.lineDashLen=l(n.linedashlen,r.linedashlen,5);p.lineDashGap=l(n.linedashgap,r.linedashgap,
4);p.lineAlpha=l(n.linealpha,r.linealpha,n.alpha,aa);p.lineColor=d(n.linecolor,r.linecolor,n.color,p.plotColor);p.lineDashStyle=m.getDashStyle(p.lineDashLen,p.lineDashGap,p.lineThickness);p.lineDashStyle=F?p.lineDashStyle:"none";p.shadow={opacity:l(r.showshadow,g)?p.lineAlpha/100:0};p.drawAnchors=l(n.drawanchors,n.showanchors,r.drawanchors,r.showanchors);p.anchorBgColor=Ka(d(n.anchorbgcolor,r.anchorbgcolor,z.getColor("anchorBgColor")));p.anchorBorderColor=Ka(d(n.anchorbordercolor,n.color,r.anchorbordercolor,
p.lineColor));p.anchorRadius=l(n.anchorradius,r.anchorradius,3);p.anchorAlpha=d(n.anchoralpha,n.alpha,r.anchoralpha,aa);p.anchorBgAlpha=d(n.anchorbgalpha,n.alpha,r.anchorbgalpha,aa);p.anchorBorderThickness=d(n.anchorborderthickness,r.anchorborderthickness,1);p.anchorSides=l(n.anchorsides,r.anchorsides,this.index+3);p.anchorImageUrl=d(n.anchorimageurl,r.anchorimageurl);p.anchorImageAlpha=l(n.anchorimagealpha,r.anchorimagealpha,100);p.anchorImageScale=l(n.anchorimagescale,r.anchorimagescale,100);p.anchorImagePadding=
l(n.anchorimagepadding,r.anchorimagepadding,1);p.anchorStartAngle=l(n.anchorstartangle,r.anchorstartangle,90);p.anchorShadow=l(n.anchorshadow,r.anchorshadow,0);p.plotToolText=m.getValidValue(k(d(n.plottooltext,r.plottooltext)));p.showRegressionLine&&(p.regressionObj={isRegression:!0,sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},p.showYOnX=l(n.showyonx,r.showyonx,1),p.regressionLineColor=Ka(d(n.regressionlinecolor,r.regressionlinecolor,p.anchorBorderColor)),p.regressionLineThickness=
l(n.regressionlinethickness,r.regressionlinethickness,p.anchorBorderThickness),p.regressionLineAlpha=ha(l(n.regressionlinealpha,r.regressionlinealpha,p.anchorAlpha)),p.regLineColor=Y(p.regressionLineColor,p.regressionLineAlpha));p.seriesNameInTooltip&&(p.seriesname=m.getFirstValue(n&&n.seriesname));this.visible=1===l(n.visible,!Number(n.initiallyhidden),1);this._setConfigure();!1!==e.hasLegend&&this._addLegend()},_setConfigure:function(){var a,c,g,e,k,p,n,q,r,z=-Infinity,s=Infinity,F=Infinity,B=-Infinity,
v=this.components.data||(this.components.data=[]);a=this.chart;var E=m.parseUnsafeString,D=this.config,u=this.JSONData,w=a.jsonData.chart,C=u.data||[],A=C.length,h=a.components.numberFormatter,G=E(w.yaxisname),N=E(w.xaxisname),I=D.lineDashed,O=D.lineDashStyle,P=D.parentYAxis,M=D.toolTipSepChar,Y=D.seriesname;for(a=0;a<A;a+=1)e=C[a],g=v[a]||(v[a]={}),c=g.config||(g.config={}),c.setValue=k={x:h.getCleanValue(e.x),y:h.getCleanValue(e.y)},null!==k.x&&null!==k.y&&(B=ia(B,k.x),F=Ja(F,k.x),z=ia(z,k.y),s=
Ja(s,k.y)),D.showRegressionLine&&this.pointValueWatcher(k.x,k.y,D.regressionObj),c.setLink=d(e.link),c.anchorProps=this._parseAnchorProperties(a),c.showValue=l(e.showvalue,D.showValues),c.dashed=l(e.dashed,I),c.color=d(e.color,D.lineColor),c.alpha=d(e.alpha,D.lineAlpha),c.dashStyle=c.dashed?O:"none",c.toolTipValue=p=h.dataLabels(k.y,P),c.setDisplayValue=r=E(e.displayvalue),q=c.formatedVal=d(e.toolTipValue,h.dataLabels(k.y,P)),n=h.xAxis(k.x),c.displayValue=d(r,p),c.setTooltext=m.getValidValue(E(d(e.tooltext,
D.plotToolText))),D.showTooltip?void 0!==c.setTooltext?(k=[4,5,6,7,8,9,10,11],n={yaxisName:G,xaxisName:N,yDataValue:q,xDataValue:n},e=wa(c.setTooltext,k,n,e,w,u)):null===q?e=!1:(e=Y?Y+M:H,e+=k.x?n+M:H,e+=p):e=!1,c.toolText=e,g?g.graphics||(v[a].graphics={}):g=v[a]={graphics:{}},c.hoverEffects=this._parseHoverEffectOptions(g),c.anchorProps.isAnchorHoverRadius=c.hoverEffects.anchorRadius;D.xMax=B;D.xMin=F;D.yMin=s;D.yMax=z;D.showRegressionLine&&(D.regressionData=this.getRegressionLineSeries(D.regressionObj,
D.showYOnX,A));this.ErrorValueConfigure&&this.ErrorValueConfigure()},sortFN:function(a,c){return a-c},getRegressionLineSeries:function(a,c,d){var e,l,k,m;m=a.sumXY;var p=a.sumX,n=a.sumY;l=a.xValues;k=a.sumXsqure;e=a.yValues;a=a.sumYsqure;c?(l.sort(this.sortFN),e=l[0],l=l[l.length-1],m=(d*m-p*n)/(d*k-Ia(p,2)),k=!isNaN(m)&&isFinite(m)?m*(e-p/d)+n/d:n/d,d=!isNaN(m)&&isFinite(m)?m*(l-p/d)+n/d:n/d,d=[{x:e,y:k},{x:l,y:d}]):(e.sort(this.sortFN),k=e[0],e=e[e.length-1],m=(d*m-p*n)/(d*a-Ia(n,2)),l=isNaN(m)?
p/d:m*(k-n/d)+p/d,d=isNaN(m)?p/d:m*(e-n/d)+p/d,d=[{x:l,y:k},{x:d,y:e}]);return d},draw:function(){var b,c,g,e,l,k,p,n,q,z,s,v,B,E,D,C=this.JSONData,u=this.chart,w=u.components,G=this.components.removeDataArr,G=G&&G.length,A=u.jsonData.chart,h=this.config,N=this.index,I=C.data||[],H=u.config,O=w.paper,P=w.xAxis[0],w=w.yAxis[0],M=m.parseUnsafeString,Y=m.getValidValue,V=this.components.data,W=V.length;E={};var T={},ba=h.lineThickness,T=u.graphics;e=T.datalabelsGroup;var aa=this.graphics.container,$=
this.graphics.trackerContainer;s=T.trackerGroup;var X=this.pool||(this.pool={}),ha=h.connectNullData,ca=h.showTooltip;l=T.datasetGroup;var na=h.shadow,ea=this.graphics.dataLabelContainer;g={};var ja=[ia(0,H.canvasLeft),ia(0,H.canvasTop),ia(1,H.canvasWidth),ia(1,H.canvasHeight)],H=[ia(0,H.canvasLeft),ia(0,H.canvasTop),1,ia(1,H.canvasHeight)],da=h.lineDashStyle,ga={color:h.lineColor,alpha:h.lineAlpha},ka=[],va=[],la=null,ra=[],pa=!1,qa=this.graphics.lineElement;g=this.graphics.regressionLineElement;
var sa=this.visible,ta=u.get("config","animationObj"),wa=ta.duration||0,za=ta.dummyObj,ya=ta.animObj,ta=ta.animType,Ba;q=!1;l.line=l.line||O.group("line",l);l.lineConnector=l.lineConnector||O.group("line-connector",l);aa||(aa=this.graphics.container={lineShadowGroup:O.group("connector-shadow",l.lineConnector),anchorShadowGroup:O.group("anchor-shadow",l.lineConnector),lineGroup:O.group("connector",l.lineConnector),anchorGroup:O.group("anchors",l.lineConnector)});$||($=this.graphics.trackerContainer=
O.group("line-hot"));V||(V=this.components.data=[]);s&&s.appendChild($);ea||(ea=this.graphics.dataLabelContainer=O.group("datalabel",e).attr("class","fusioncharts-datalabels"));h.showRegressionLine&&sa?(e=h.regressionData[0],s=h.regressionData[1],g?g.attr({path:"M "+P.getAxisPosition(e.x)+","+w.getAxisPosition(e.y)+" L "+P.getAxisPosition(s.x)+","+w.getAxisPosition(s.y)}).show():g=this.graphics.regressionLineElement=O.path("M "+P.getAxisPosition(e.x)+","+w.getAxisPosition(e.y)+" L "+P.getAxisPosition(s.x)+
","+w.getAxisPosition(s.y),aa.lineGroup).attr({stroke:F({color:h.regressionLineColor,alpha:h.regressionLineAlpha}),"stroke-width":h.regressionLineThickness})):g&&g.hide();for(e=0;e<W;e+=1)if(g=I[e],s=V[e],B=s.config,T=s.graphics,q=B.setValue,n=B.setLink,Y(M(d(g.tooltext,C.plottooltext,A.plottooltext))),g=B.anchorProps,E=g.symbol,v=g.shadow,z=B.displayValue,s||(s=V[e]={graphics:{}}),c=q.y,b=q.x,l=B.toolText,null!==c&&null!==b){B=B.hoverEffects;b=P.getAxisPosition(b);c=w.getAxisPosition(c);z={index:e,
link:n,value:q,displayValue:z,toolText:l,id:h.userID,datasetIndex:N||0,datasetName:C.seriesname,visible:sa};q=!1;g.imageUrl?(v=new a,sa||T.image&&T.image.animateWith(za,ya,{opacity:0},wa,ta),v.onload=this._onAnchorImageLoad(this,e,z,b,c),v.onerror=this._onErrorSetter(b,c,e,this),v.src=g.imageUrl):(k=T.element,(Ba=T.image)&&Ba.hide(),k||(X.element&&X.element.length?k=T.element=X.element.shift():(k=T.element=O.polypath(aa.anchorGroup),q=!0),pa=!0,wa&&pa&&k.attr({polypath:[E[1]||2,b,c,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?sa:"hidden"}).shadow(v,aa.anchorShadowGroup).animateWith(za,ya,{polypath:[E[1]||2,b,c,g.radius,g.startAngle,0],opacity:sa?g.bgAlpha/100:0,"fill-opacity":sa?g.bgAlpha/100:0,"stroke-opacity":sa?g.borderAlpha/100:0},wa,ta));B.enabled&&(T={polypath:[B.anchorSides||2,b,c,B.anchorRadius,
B.startAngle,B.dip],fill:F({color:B.anchorColor,alpha:B.anchorBgAlpha}),stroke:F({color:B.anchorBorderColor,alpha:B.anchorBorderAlpha}),"stroke-width":B.anchorBorderThickness},E={polypath:[E[1]||2,b,c,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",B.anchorRadius).data("setRolloverAttr",T).data("setRolloutAttr",E));if(n||ca||B)p=ia(g.radius,
B.anchorRadius||0),n={cx:b,cy:c,r:p,cursor:n?"pointer":"",stroke:r,"stroke-width":g.borderThickness,fill:r,ishot:!0,visibility:sa},p=s.graphics.hotElement,s.graphics.hotElement||(p=s.graphics.hotElement=O.circle($),q=!0),p.attr(n);(p||k).data("eventArgs",z).data("groupId",void 0).tooltip(l).data("hoverEnabled",B.enabled).data("dataset",this);q&&(p||k).click(this.getPlotClickFn(u)).hover(this.rolloverResponseSetter(s,u),this.rolloutResponseSetter(s,u));g.isAnchorHoverRadius=B.anchorRadius;null!==la?
(ra.length&&(ka=ka.concat(ra),ra.length=0),ka.join("")||ka.push("M",D,la),ka.push("L",b,c)):ra.push("M",b,c);D=b;la=c;s._xPos=b;s._yPos=c;!g.imageUrl&&this.drawLabel(e)}else ra.length=0,ha||(la=null);ka.length&&(va=va.concat(ka));h.drawLine&&va.join("")?(qa||(qa=this.graphics.lineElement=O.path({path:va},aa.lineGroup),pa=!0),sa&&qa.attr({"stroke-dasharray":da,"stroke-width":ba,stroke:F(ga),"stroke-linecap":"round","stroke-linejoin":2<=ba?"round":"miter"}),sa?qa.animateWith(za,ya,{path:va,"stroke-opacity":1},
wa,ta,function(){this.shadow(na,aa.lineShadowGroup)}):qa.animateWith(za,ya,{path:va,"stroke-opacity":0},pa?0:wa,ta).shadow(!1)):qa&&qa.animateWith(za,ya,{"stroke-opacity":0},wa,ta).shadow(!1);aa.lineShadowGroup.hide();aa.anchorShadowGroup.hide();ea.hide();pa&&aa.lineGroup.attr({"clip-rect":H});aa.lineGroup.animateWith(za,ya,{"clip-rect":ja},wa,ta,function(){aa.lineGroup.attr({"clip-rect":null});sa?(aa.lineShadowGroup.show(),aa.anchorShadowGroup.show(),aa.anchorGroup.show(),$.show(),ea&&ea.show()):
(aa.lineShadowGroup.hide(),aa.anchorShadowGroup.hide(),aa.anchorGroup.hide(),$.hide(),ea&&ea.hide())});G&&this.remove();this.drawErrorValue&&this.drawErrorValue()},getDataLimits:function(){var a=this.config,c=a.yMax,d=a.yMin,e=a.xMax,a=a.xMin,l=this.chart.config.transposeAxis;!1===this.visible&&l&&(c=-Infinity,d=Infinity,e=-Infinity,a=Infinity);return{max:c,min:d,xMax:e,xMin:a}},getAxisValuePadding:function(){return{left:0,right:0}},_addLegend:function(){var a,c=this.config,g=this.chart.components.legend,
e=l(c.drawAnchors,1);a=this.getPointColor(c.anchorBgColor,aa);var k={FCcolor:{color:c.anchorBorderColor,alpha:c.anchorAlpha}};g.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=g.addItems(this,this.legendInteractivity,{enabled:c.includeInLegend,type:this.type,drawLine:d(c.drawLine,!0),fillColor:F(a),strokeColor:F(d(k&&(k.FCcolor&&k.FCcolor.color.split(",")[0]||
k))),rawFillColor:c.anchorBgColor,rawStrokeColor:c.anchorBorderColor,anchorSide:e?c.anchorSides:0,strokeWidth:c.anchorBorderThickness,label:da(this.JSONData.seriesname)})},getPointColor:function(a,c){var d,e;a=Ka(a);c=ha(c);d=Na(a,70);e=V(a,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:d+","+e,alpha:c+","+c,ratio:G,radialGradient:!0}}}},"Line"]);FusionCharts.register("component",["dataset","Pareto",{configure:function(){var a=this.chart,c=this.config,g=a.components,
e=g.xAxis[0],k=this.JSONData,n=k.data,q=n&&n.length,r=a.jsonData.chart,z=g.colorManager,s,v=z.getPlotColor(this.index||this.positionIndex),E=l(k.dashed,r.plotborderdashed),B=l(r.useplotgradientcolor,1),D=l(r.showtooltip,1),C=m.parseUnsafeString,G=C(r.yaxisname),u=C(r.xaxisname),w=m.parseTooltext,N,A,h,H,I,O,P,M,V,T,W,ba,$,X,ha,ca=m.getDashStyle,na=this.components.data,g=g.numberFormatter,ea,ma=a.is3D,xa,da,ja,va,ga,pa,qa,la,ra=-Infinity,ta=Infinity,Ha=this.type.toLowerCase(),wa,za,Ba=0,Ga=[],ya=0,
Ia,Aa=c.tootipSepChar=d(r.tooltipsepchar,", ");c.enableAnimation=P=l(r.animation,r.defaultanimation,1);c.animation=P?{duration:1E3*l(r.animationduration,1)}:!1;c.showTooltip=l(r.showtooltip,1);c.valuePadding=l(r.valuepadding,2);c.rotateValues=l(r.rotatevalues)?270:0;c.showHoverEffect=P=l(r.plothovereffect,r.showhovereffect,void 0);c.showShadow=O||ma?l(r.showshadow,1):l(r.showshadow,z.getColor("showShadow"));c.useDataPlotColorForLabels=Ia=l(r.usedataplotcolorforlabels,0);c.use3dlineshift=l(r.use3dlineshift,
a.use3dlineshift);/column/.test(Ha)&&(s=c.showPlotBorder=l(r.showplotborder,ma?0:1),c.plotDashLen=h=l(r.plotborderdashlen,5),c.plotDashGap=H=l(r.plotborderdashgap,4),c.plotfillAngle=M=l(360-r.plotfillangle,90),c.plotFillAlpha=V=d(r.plotfillalpha,aa),c.plotColor=v,c.isRoundEdges=O=l(r.useroundedges,0),c.plotRadius=l(r.useRoundEdges,c.isRoundEdges?1:0),c.plotFillRatio=T=d(r.plotfillratio),c.plotgradientcolor=W=m.getDefinedColor(r.plotgradientcolor,z.getColor("plotGradientColor")),!B&&(W=""),c.plotBorderAlpha=
ba=s&&!ma?d(r.plotborderalpha,V,aa):0,c.plotBorderColor=$=d(r.plotbordercolor,ma?"#ffffff":z.getColor("plotBorderColor")),c.plotBorderThickness=I=l(r.plotborderthickness,1),c.plotBorderDashStyle=X=E?ca(h,H,I):"none",c.showValues=l(r.showvalues,1),c.definedGroupPadding=ia(l(r.plotspacepercent),0),c.plotSpacePercent=ia(l(r.plotspacepercent,20)%100,0),c.maxColWidth=l(r.maxcolwidth,50),c.plotPaddingPercent=l(r.plotpaddingpercent),c.placeValuesInside=l(r.placevaluesinside,0),c.use3DLighting=l(r.use3dlighting,
1),c.parentYAxis=0);"line"===Ha&&(c.lineColor=Ka(d(r.linecolor,z.getColor("plotBorderColor"))),c.lineThickness=l(r.linethickness,2),c.lineAlpha=d(r.linealpha,aa),c.lineDashed=l(r.linedashed,0),c.lineDashLen=l(k.linedashlen,r.linedashlen,5),c.lineDashGap=l(k.linedashgap,r.linedashgap,4),E=m.getDashStyle(c.lineDashLen,c.lineDashGap,c.lineThickness),c.lineDashStyle=c.lineDashed?E:"none",c.drawAnchors=l(r.drawanchors,r.showanchors),c.anchorBgColor=d(r.anchorbgcolor,z.getColor("anchorBgColor")),c.anchorBorderColor=
d(r.anchorbordercolor,c.lineColor),c.anchorRadius=l(r.anchorradius,3),c.anchorAlpha=d(r.anchoralpha),c.anchorBgAlpha=d(r.anchorbgalpha,100),c.anchorBorderThickness=d(r.anchorborderthickness,1),c.anchorSides=d(r.anchorsides,0),c.anchorImageUrl=d(r.anchorimageurl),c.anchorImageAlpha=l(r.anchorimagealpha,100),c.anchorImageScale=l(r.anchorimagescale,100),c.anchorImagePadding=l(r.anchorimagepadding,1),c.anchorStartAngle=l(r.anchorstartangle,90),c.parentYAxis=1,c.valuePosition=d(r.valueposition,"auto"),
c.showValues=l(r.showlinevalues,r.showvalues,1),c.showShadow&&(c.shadow={opacity:c.lineAlpha/100}),c.showCumulativeLine=l(r.showcumulativeline,1));na||(na=this.components.data=[]);for(E=0;E<q;E++)B=sa(g.getCleanValue(n[E].value)),Ba+=B,Ga[E]=p({},n[E]),Ga[E].value=B;Ga.sort(function(a,b){return b.value-a.value});for(E=0;E<q;E++)B=Ga[E],(v=na[E])||(v=na[E]={graphics:{}}),v.config||(n=na[E].config={}),a=sa(g.getCleanValue(B.value)),null!==a&&(n=v&&v.config,ea=e.getLabel(E),n.label=ka(C(d(ea.label))),
n.showValue=l(B.showvalue,c.showValues),n.setValue=a,n.setLink=d(B.link),n.setDisplayValue=ea=C(B.displayvalue),ya+=n.setValue,wa=g.dataLabels(a),/column/.test(Ha)?(v=l(B.dashed),N=l(B.dashlen,h),ha=H=l(B.dashgap,H),n.plotBorderDashStyle=N=1===v?ca(N,ha,I):0===v?"none":X,v=z.getPlotColor(E),v=d(B.color,v),T=d(B.ratio,c.plotFillRatio),V=d(B.alpha,c.plotFillAlpha),ba=d(V,c.plotBorderAlpha),0>a&&!O&&(A=M,M=360-M),n.colorArr=ha=m.graphics.getColumnColor(v+","+W,V,T,M,O,$,ba.toString(),0,ma?!0:!1),0!==
P&&(xa=d(B.hovercolor,r.plotfillhovercolor,r.columnhovercolor,v),da=d(B.hoveralpha,r.plotfillhoveralpha,r.columnhoveralpha,V),ja=d(B.hovergradientcolor,r.plothovergradientcolor,W),!ja&&(ja=""),T=d(B.hoverratio,r.plothoverratio,T),va=l(360-B.hoverangle,360-k.hoverangle,360-r.plothoverangle,M),ga=d(B.borderhovercolor,r.plotborderhovercolor,$),ba=d(B.borderhoveralpha,k.borderhoveralpha,r.plotborderhoveralpha,r.plotfillhoveralpha,ba,V),V=l(B.borderhoverthickness,k.borderhoverthickness,r.plotborderhoverthickness,
I),pa=l(B.borderhoverdashed,r.plotborderhoverdashed),qa=l(B.borderhoverdashgap,r.plotborderhoverdashgap,h),la=l(B.borderhoverdashlen,r.plotborderhoverdashlen,H),pa=pa?ca(la,qa,V):N,1==P&&xa===v&&(xa=Na(xa,70)),xa=m.graphics.getColumnColor(xa+","+ja,da,T,va,O,ga,ba.toString(),0,ma?!0:!1),n.setRolloutAttr={fill:ma?[F(ha[0]),!c.use3DLighting]:F(ha[0]),stroke:s&&F(ha[1]),"stroke-width":I,"stroke-dasharray":N},n.setRolloverAttr={fill:ma?[F(xa[0]),!c.use3DLighting]:F(xa[0]),stroke:s&&F(xa[1]),"stroke-width":V,
"stroke-dasharray":pa}),Ia&&e.updateCategory(E,{labelfontcolor:Y(v)}),n.displayValue=d(ea,wa),N=n.setTooltext=n.origToolText=ka(C(d(B.tooltext,r.plottooltext))),n.toolTipValue=g.dataLabels(a,c.parentYAxis)):(a=n.setValue=ya/Ba*100,za=g.percentValue(a),n.toolTipValue=za,n.displayValue=za,n.valuePosition=d(B.valueposition,c.valuePosition),n.anchorProps=this._parseAnchorProperties(E,Ga),n.hoverEffects=this._parseHoverEffectOptions(v)),v=n.toolTipValue,ra=ia(ra,a),ta=Ja(ta,a),D?(c.showTooltip?void 0!==
N?(v={formattedValue:v,label:n.label,yaxisName:G,xaxisName:u,cumulativeValue:ya,cumulativeDataValue:g.dataLabels(ya),cumulativePercentValue:za,sum:g.dataLabels(Ba),unformattedSum:Ba},a=[1,2,3,5,6,7,20,21,22,23,24,25],B=w(N,a,v,B,r)):B=n.label?n.label+Aa:"":B=!1,n.toolText=B):B=!1,n.toolText=B,n.tooltext=N,n.setTooltext=B,A&&(M=A));c.maxValue=ra;c.minValue=ta},init:function(a,c,d){var e=a.chart.components;a.JSONData={data:c};a.type=d;a.yAxis="line"===d?e.yAxis[1]:e.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,c=this.chart,d=c.origRenderWidth,e=a.connectNullData,l=this.components.data,k=Number.MIN_VALUE,m=Number.MAX_VALUE;0===a.minimizeTendency&&(c=c.getSplineExtremities(l,
d,e),a.maxValue=ia(a.maxValue,c.max),a.minValue=Ja(a.minValue,c.min),a.maxValue===k&&(a.maxValue=0),a.minValue===m&&(a.minValue=0))},getSplinePath:function(a,c,d,e){var l=function(a,b,c,d){b=(d-b)/Oa((c-a)*(c-a)+(d-b)*(d-b));b=sa(.5*b);return a*b+c*(1-b)},k=function(a,b,c,d){var f=a.length,g=a[f-1],e=g.length,h=g[0],g=g[e-2];3>e||("R"!==h&&"C"!==h||3!==e||(a[f-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))},m=/area/ig.test(this.defaultDatasetType),p=[null],n=[],q=[],r=c.getAxisBase();c=c.getAxisPosition(r);
var z,B,s,F,v,u,w,E,A,h,D,C,G,N,H,I;H=0;for(I=a.length;H<I;H+=1)if(A=a[H],s=a[H-1]||{},F=a[H+1]||{},v=A.x,r=A.y,z=s.x,s=s.y,u=F.x,F=F.y,w=A.lastYPos,E=A.lastXPos,D=n.length,A=q.length,e)if(null!==w)if(B=G,H===a.length-1){w=p[H-C-1];A=u=(v+z)/2;D=(A-z)*w+s;if(s>r&&D<r||s<r&&D>r)D=r,A=(D-s)/w+z;G.push(A,D,u,(r+s)/2,v,r);n.push(G);q.push(G);m&&k(n,!0,N,c);m&&k(q,!1)}else{w=p[H-C-1];if(s>r&&F>=r||s<r&&F<=r)if(h=0,u=l(z,s,v,r),F=r,1!==H-C){A=u;D=(A-z)*w+s;if(s>r&&D<r||s<r&&D>r)D=r,A=(D-s)/w+z;G.push(A,
D,u,F,v,r)}else G.push((v+z)/2,(r+s)/2,u,F,v,r);else if(s===r)h=0,G.push(z,s,v,r,v,r);else if(s>r&&r>F||s<r&&r<F){h=(F-s)/(u-z);u=l(z,s,v,r);F=(u-v)*h+r;if(s>r&&F>s||s<r&&F<s)F=s,u=(F-r)/h+v;if(1!==H-C){A=u;D=(A-z)*w+s;if(s>r&&D<r||s<r&&D>r)D=r,A=(D-s)/w+z;G.push(A,D,u,F,v,r)}else G.push((v+z)/2,(r+s)/2,u,F,v,r)}p.push(h)}else null===w&&0!==H?(B||(B=[]),"C"===B[0]&&(n.push(G),q.push(G),m&&k(n,!0,N,c),m&&k(q,!1)),n.push(["M",v,r]),q.push(["M",v,r]),N=v,G=["C"],C=H,p=[null]):(n.push(["M",v,r]),q.push(["M",
v,r]),N=v,G=["C"],C=H);else null!==w?2<=D?("M"===n[D-1][0]&&n.push(["R"]),"M"===q[A-1][0]&&q.push(["R"]),D=n.length,A=q.length,B=n[D-1],z=B.length,n[D-1].push(v),n[D-1].push(r),q[A-1].push(v),q[A-1].push(r),H===d-1&&"R"===B[0]&&(k(n,!0,N,c),k(q,!1))):(n.push(["M",E,w]),n.push(["R",v,r]),q.push(["M",E,w]),q.push(["R",v,r]),N=E):null===w&&2<=D&&(B=n[D-1],"R"===B[0]&&(k(n,!0,N,c),k(q,!1)),n.push(["M",v,r]),q.push(["M",v,r]),N=v);B=n[n.length-1];m&&B&&(z=B.length,"Z"===B[z-1]||"R"!==B[0]&&"C"!==B[0]||
(k(n,!0,N,c),k(q,!1)));m||(n=e?n:q,2<=n.length&&k(n,!1));return{closedPath:n,openPath:q}},draw:function(){var b=this,c=b.config,d=b.chart,e=b.JSONData,l=d.components,k=l.canvas.config,m=b.index,n,p,q,z=l.paper,l=l.xAxis[0],s=b.yAxis,B,v,E,D,u=null,w=[],C=[],A=d.graphics,h=c.showTooltip,G,N=b.components.data,H,I,O,P,M=c.connectNullData,Y,V,T=d.config.style,ba={fontFamily:T.fontFamily,fontSize:T.fontSize,lineHeight:T.lineHeight,fontWeight:T.fontWeight,fontStyle:T.fontStyle,color:T.color},T=c.minimizeTendency,
aa=s.getAxisBase(),$,X=c.plotBorderColor,ha=c.plotBorderAlpha,ca=c.plotBorderDashStyle,na=c.plotBorderThickness,ea=b.graphics.container,ja=b.graphics.trackerContainer,da=[],ka,va=c.fillColor,ga=A.areaGroup,la=d.get("config","animationObj"),ra=la.duration,pa=la.animType,qa=b.components.removeDataArr||[],sa=qa.length,ta=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(ea.areaGroup.hide(),Aa.hide(),ea.lineShadowGroup.hide(),ea.anchorShadowGroup.hide(),ea.anchorGroup.hide(),
ja.hide(),Ga&&Ga.hide(),b._conatinerHidden=!0)},wa=function(){ga.area.attr({"clip-rect":null});ga.area.node&&ga.area.node.removeAttribute("clip-path");!1!==b.visible&&(ea.lineShadowGroup.show(),ea.anchorShadowGroup.show(),ea.anchorGroup.show(),Ga.show(),Aa.show());d._animCallBack()},za=c.shadow,ya,Ba=b.visible;n=A.trackerGroup;var Aa=ea&&ea.shadowContainer,da={},da=A.datalabelsGroup,Ga=b.graphics.dataLabelContainer,Ja,A=k.clip["clip-canvas"].slice(0),k=k.clip["clip-canvas-init"].slice(0),c=!c.drawFullAreaBorder,
Ka=!0,Ia=b.components.pool||[],Fa=la.dummyObj,Ma,la=la.animObj,Oa=b.graphics.connector,Na;ea||(ea=b.graphics.container={lineShadowGroup:z.group("connector-shadow",ga.areaConnector),anchorShadowGroup:z.group("anchor-shadow",ga.areaConnector),areaGroup:z.group("area",ga.area),anchorGroup:z.group("anchors",ga.areaConnector)},Ba||(ea.lineShadowGroup.hide(),ea.anchorShadowGroup.hide(),ea.areaGroup.hide(),ea.anchorGroup.hide()));Aa||(Aa=b.graphics.shadowContainer=z.group("shadows",ga.shadows),Ba||Aa.hide());
ja||(ja=b.graphics.trackerContainer=z.group("area-hot",n),Ba||ja.hide());N||(N=b.components.data);Ga||(Ga=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||z.group("datalabel",da),Ba||Ga.hide());Ba&&(ea.lineShadowGroup.show(),ea.anchorShadowGroup.show(),ea.areaGroup.show(),ea.anchorGroup.show(),Ga.show(),Aa.show(),ja.show());d._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",ba);n=l.getCategoryLen();ba=b.graphics.splineElement;for(q=0;q<n;q++)if(H=N[q])G=H&&H.config,Ja=
G.showValue,P=G.setValue,p=G.setLink,da=G.anchorProps,ka=da.shadow,B=G.setLevelTooltext,G&&($=0<=P?G.previousPositiveY:G.previousNegativeY),I=H.graphics.element,O=H.graphics.hotElement,Ma=H.graphics.label,Na=H.graphics.image,null===P?(I&&I.hide(),O&&O.hide(),Na&&Na.hide(),M||(u=null)):(s.getAxisPosition($||aa),E=s.getAxisPosition(P+($||0)),v=l.getAxisPosition(q),!1===Ba&&ra&&(E=s.getPixel(s.getAxisBase())),ya=G.hoverEffects,B=h?G.toolText+(B?"":G.toolTipValue):"",P={index:q,link:p,value:P,displayValue:G.displayValue,
categoryLabel:l.getLabel(q).label,toolText:B,id:b.userID,datasetIndex:m||0,datasetName:e.seriesname,visible:Ba},ya.enabled&&(G.setRolloverAttr={polypath:[ya.anchorSides||2,v,E,ya.anchorRadius,ya.startAngle,ya.dip],fill:F({color:ya.anchorColor,alpha:ya.anchorBgAlpha}),stroke:F({color:ya.anchorBorderColor,alpha:ya.anchorBorderAlpha}),"stroke-width":ya.anchorBorderThickness},G.setRolloutAttr={polypath:[da.symbol[1]||2,v,E,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},V=G.setRolloverAttr,Y=G.setRolloutAttr),G=[da.symbol[1]||2,v,E,da.radius,da.startAngle,0],da.imageUrl?(I=new a,I.onload=b._onAnchorImageLoad(b,q,P,v,E),I.onerror=b._onErrorSetter(v,E,q,b),I.src=da.imageUrl):(Na&&Na.hide(),I||(Ia.element&&Ia.element.length?I=H.graphics.element=Ia.element.shift():(I=H.graphics.element=z.polypath(ea.anchorGroup),I.attr({polypath:G}))),Na&&Na.hide(),I.show().animateWith(Fa,la,{polypath:G},ra,pa,Ka&&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?Ba:"hidden"}).shadow(ka,ea.anchorShadowGroup).data("anchorRadius",da.radius).data("anchorHoverRadius",ya.anchorRadius).data("setRolloverAttr",V).data("setRolloutAttr",Y),ya.enabled&&I&&I.data("anchorRadius",da.radius).data("anchorHoverRadius",ya.anchorRadius).data("setRolloverAttr",V).data("setRolloutAttr",Y),ka=ia(da.radius,ya&&ya.anchorRadius||0,W),p={cx:v,cy:E,r:ka,cursor:p?
"pointer":"",stroke:r,"stroke-width":da.borderThickness,fill:r,ishot:!0,visibility:"visible"},O?O.attr(p):O=H.graphics.hotElement=z.circle(p,ja),(O||I).data("eventArgs",P).data("groupId",void 0).click(b.getPlotClickFn(d)).data("dataset",b).data("hoverEnabled",ya.enabled).tooltip(B).hover(b.rolloverResponseSetter(H,d),b.rolloutResponseSetter(H,d))),H._xPos=v,H._yPos=E,C.push({x:v,y:E,lastXPos:D,lastYPos:u}),D=v,u=E),Ja&&!da.imageUrl&&this.drawLabel(q),Ja||Ma&&Ma.hide().attr({"text-bound":[]});da=this.getSplinePath.call(d,
C,s,n,T).closedPath;da=da.join();ba||(ba=b.graphics.splineElement=z.path(ea.areaGroup),ba.attr({path:da}),ra&&Ba&&(ea.anchorGroup.hide(),ea.anchorShadowGroup.hide(),Ga.hide(),Aa.hide(),ga.area.attr({"clip-rect":k}).animateWith(Fa,la,{"clip-rect":A},ra,pa,wa)));""===da?ba.hide():ba.show().animateWith(Fa,la,{path:da},ra,pa,Ka&&ta);Ka=!1;ba.attr({stroke:F({color:X,alpha:ha}),"stroke-width":c?0:na,fill:F(va),"stroke-linecap":"round","stroke-linejoin":2<na?"round":"miter","stroke-dasharray":ca}).shadow(za,
Aa);c&&(Oa||(Oa=b.graphics.connector=z.path(ea.areaGroup)),Oa.animateWith(Fa,la,{path:w},ra,pa),Oa.attr({stroke:F({color:X,alpha:ha}),"stroke-width":na,"stroke-linecap":"round","stroke-linejoin":2<na?"round":"miter","stroke-dasharray":ca}));for(q=0;q<sa;q++)b._removeDataVisuals(qa.shift())}},"area"]);FusionCharts.register("component",["dataset","MSSpline",{type:"spline",configure:function(){var a=FusionCharts.get("component",["dataset","line"]),c=FusionCharts.get("component",["dataset","MSSplineArea"]);
a.prototype.configure.call(this);c.prototype._calculateMaxMin.call(this)},getSplinePath:function(a,c,d){var e=function(a,b,c,d){b=(d-b)/Oa((c-a)*(c-a)+(d-b)*(d-b));b=sa(.5*b);return a*b+c*(1-b)},l=function(a,b,c,d){var f=a.length,g=a[f-1],e=g.length,h=g[0],g=g[e-2];3>e||("R"!==h&&"C"!==h||3!==e||(a[f-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))},k=/area/ig.test(this.chart.defaultSeriesType);c=c.getAxisPosition(c.getAxisBase());var m=this.config.minimizeTendency,n=[null],p=[],q=[],r,z,s,F,v,E,u,w,D,A,
h,C,G,N,H,I,O;I=0;for(O=a.length;I<O;I+=1)if(A=a[I],F=a[I-1]||{},v=a[I+1]||{},E=A.x,s=A.y,r=F.x,F=F.y,u=v.x,v=v.y,w=A.lastYPos,D=A.lastXPos,C=p.length,A=q.length,m)if(null!==w)if(z=N,I===a.length-1){w=n[I-G-1];A=u=(E+r)/2;C=(A-r)*w+F;if(F>s&&C<s||F<s&&C>s)C=s,A=(C-F)/w+r;N.push(A,C,u,(s+F)/2,E,s);p.push(N);q.push(N);k&&l(p,!0,H,c);k&&l(q,!1)}else{w=n[I-G-1];if(F>s&&v>=s||F<s&&v<=s)if(h=0,u=e(r,F,E,s),v=s,1!==I-G){A=u;C=(A-r)*w+F;if(F>s&&C<s||F<s&&C>s)C=s,A=(C-F)/w+r;N.push(A,C,u,v,E,s)}else N.push((E+
r)/2,(s+F)/2,u,v,E,s);else if(F===s)h=0,N.push(r,F,E,s,E,s);else if(F>s&&s>v||F<s&&s<v){h=(v-F)/(u-r);u=e(r,F,E,s);v=(u-E)*h+s;if(F>s&&v>F||F<s&&v<F)v=F,u=(v-s)/h+E;if(1!==I-G){A=u;C=(A-r)*w+F;if(F>s&&C<s||F<s&&C>s)C=s,A=(C-F)/w+r;N.push(A,C,u,v,E,s)}else N.push((E+r)/2,(s+F)/2,u,v,E,s)}n.push(h)}else null===w&&0!==I?(z||(z=[]),"C"===z[0]&&(p.push(N),q.push(N),k&&l(p,!0,H,c),k&&l(q,!1)),p.push(["M",E,s]),q.push(["M",E,s]),H=E,N=["C"],G=I,n=[null]):(p.push(["M",E,s]),q.push(["M",E,s]),H=E,N=["C"],
G=I);else null!==w?2<=C?("M"===p[C-1][0]&&p.push(["R"]),"M"===q[A-1][0]&&q.push(["R"]),C=p.length,A=q.length,z=p[C-1],r=z.length,p[C-1].push(E),p[C-1].push(s),q[A-1].push(E),q[A-1].push(s),I===d-1&&"R"===z[0]&&(l(p,!0,H,c),l(q,!1))):(p.push(["M",D,w]),p.push(["R",E,s]),q.push(["M",D,w]),q.push(["R",E,s]),H=D):null===w&&2<=C&&(z=p[C-1],"R"===z[0]&&(l(p,!0,H,c),l(q,!1)),p.push(["M",E,s]),q.push(["M",E,s]),H=E);z=p[p.length-1];k&&z&&(r=z.length,"Z"===z[r-1]||"R"!==z[0]&&"C"!==z[0]||(l(p,!0,H,c),l(q,
!1)));k||(p=m?p:q,2<=p.length&&l(p,!1));return{closedPath:p,openPath:q}},draw:function(){var b=this,c=b.JSONData,g=[],e=[],l=b.chart,k=l.components,p=k.canvas.config,e=b.config,n=l.config,q=b.index||b.positionIndex,z=n.categories,s=k.paper,k=k.xAxis[0],v=b.yAxis,B,E,D=l.graphics;B=D.datalabelsGroup;var C=m.parseUnsafeString,u=m.getValidValue,w,G,A,h,N,H,I=b.components.data,O,P,n=n.style;E={fontFamily:n.fontFamily,fontSize:n.fontSize,lineHeight:n.lineHeight,fontWeight:n.fontWeight,fontStyle:n.fontStyle,
color:n.color};var n=e.lineThickness,M=b.graphics.container,Y=b.graphics.trackerContainer;O=D.trackerGroup;var V=e.connectNullData,T=e.showTooltip,ba=D.datasetGroup,aa,D=e.shadow,$=b.graphics.dataLabelContainer,X={},ha,ca=l.get("config","animationObj"),ea=ca.duration,da=ca.animType,na=b.components.removeDataArr||[],ja=na.length,ga=b.components.pool||[],ka,va=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(M.lineGroup.hide(),M.lineShadowGroup.hide(),M.anchorShadowGroup.hide(),
M.anchorGroup.hide(),Y.hide(),$&&$.hide())},pa=function(){ba.lineConnector.attr({"clip-rect":null});ba.lineConnector.node&&ba.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(M.lineShadowGroup.show(),M.anchorShadowGroup.show(),M.anchorGroup.show(),Y.show(),$&&$.show());l._animCallBack()},la=b.config.animFlag=b.config.animFlag||(b.config.animFlag=!0),ra,qa=p.clip["clip-canvas"].slice(0),p=p.clip["clip-canvas-init"].slice(0),sa=null,ta,wa=!1,za=e.lineDashStyle,Ba={color:e.lineColor,
alpha:e.lineAlpha},ya,Ga,Aa,Ja,Ka=ca.dummyObj,ca=ca.animObj,X=b.graphics.SplineElement,Ia=b.visible;ba.lineConnector=ba.lineConnector||s.group("line-connector",ba);M||(M=b.graphics.container={lineShadowGroup:s.group("connector-shadow",ba.lineConnector),anchorShadowGroup:s.group("anchor-shadow",ba.lineConnector),lineGroup:s.group("spline",ba.lineConnector),anchorGroup:s.group("anchors",ba.lineConnector)},Ia||(M.lineShadowGroup.hide(),M.anchorShadowGroup.hide(),M.lineGroup.hide(),M.anchorGroup.hide()));
Y||(Y=b.graphics.trackerContainer=s.group("line-hot"),Ia||Y.hide());I||(I=b.components.data=[]);O&&O.appendChild(Y);l._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",E);$||($=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||s.group("datalabel",B),Ia||$.hide());Ia&&(M.lineShadowGroup.show(),M.anchorShadowGroup.show(),M.lineGroup.show(),M.anchorGroup.show(),$.show(),Y.show());Ga=k.getCategoryLen();for(ya=0;ya<Ga;ya++)if(O=I[ya])w=O.config,N=w.setValue,h=w.setLink,ra=w.setLevelTooltext,
ka=w.showValue,X=w.anchorProps,ha=X.symbol,P=X.shadow,H=w.displayValue,O||(O=I[ya]={graphics:{}}),G=O.graphics.element,Ja=O.graphics.image,Aa=O.graphics.label,A=O.graphics.hotElement,null===N?(G&&G.hide(),Aa&&Aa.hide(),A&&A.hide(),Ja&&Ja.hide(),V||(sa=null)):(B=k.getAxisPosition(ya),E=v.getAxisPosition(N),aa=w.hoverEffects,X.isAnchorHoverRadius=aa.anchorRadius,!1===Ia&&ea&&(E=v.getPixel(v.getAxisBase())),u(C(d(z[ya].tooltext,z[ya].label))),w=T?w.toolText+(ra?"":w.toolTipValue):"",N={index:ya,link:h,
value:N,displayValue:H,categoryLabel:k.getLabel(ya).label,toolText:w,id:e.userID,datasetIndex:q||0,datasetName:c.seriesname,visible:Ia},H=!1,X.imageUrl?(G=new a,G.onload=b._onAnchorImageLoad(b,ya,N,B,E),G.onerror=b._onErrorSetter(B,E,ya,b),G.src=X.imageUrl):(Ja&&Ja.hide(),A=[ha[1]||2,B,E,X.radius,X.startAngle,0],G||(ga.element&&ga.element.length?G=O.graphics.element=ga.element.shift():(G=O.graphics.element=s.polypath(M.anchorGroup),G.attr({polypath:A}),H=!0)),G.show().animateWith(Ka,ca,{polypath:A},
ea,da,la&&va),G.attr({fill:F({color:X.bgColor,alpha:X.bgAlpha}),stroke:F({color:X.borderColor,alpha:X.borderAlpha}),"stroke-width":X.borderThickness,visibility:X.radius?Ia:"hidden"}).shadow(P,M.anchorShadowGroup),la=!1,aa.enabled&&(P={polypath:[aa.anchorSides||2,B,E,aa.anchorRadius,aa.startAngle,aa.dip],fill:F({color:aa.anchorColor,alpha:aa.anchorBgAlpha}),stroke:F({color:aa.anchorBorderColor,alpha:aa.anchorBorderAlpha}),"stroke-width":aa.anchorBorderThickness},A={polypath:[X.sides,B,E,X.radius,X.startAngle,
0],fill:F({color:X.bgColor,alpha:X.bgAlpha}),stroke:F({color:X.borderColor,alpha:X.borderAlpha}),"stroke-width":X.borderThickness},G&&G.data("anchorRadius",X.radius).data("anchorHoverRadius",aa.anchorRadius).data("setRolloverAttr",P).data("setRolloutAttr",A)),A=ia(X.radius,aa&&aa.anchorRadius||0,W),h={cx:B,cy:E,r:A,cursor:h?"pointer":"",stroke:r,"stroke-width":X.borderThickness,fill:r,ishot:!0,visibility:Ia},A=O.graphics.hotElement,A||(ga.hotElement&&ga.hotElement.length?A=O.graphics.hotElement=ga.hotElement.shift():
(A=O.graphics.hotElement=s.circle(Y),H=!0)),A.show().attr(h),H&&(A||G).click(b.getPlotClickFn(l)).hover(b.rolloverResponseSetter(O,l),b.rolloutResponseSetter(O,l)),(A||G).data("eventArgs",N).data("groupId",void 0).data("hoverEnabled",aa.enabled).data("dataset",b).tooltip(w)),g.push({x:B,y:E,lastXPos:ta,lastYPos:sa}),ta=B,sa=E,O._xPos=B,O._yPos=E,ka&&!X.imageUrl&&this.drawLabel(ya),ka||Aa&&Aa.hide().attr({"text-bound":[]}));e=b.getSplinePath(g,v).closedPath;X=b.graphics.SplineElement;2<=e.length?(X||
(X=b.graphics.SplineElement=s.path(e,M.lineGroup),wa=!0),X.show().animateWith(Ka,ca,{path:e},ea,da,la&&va),X.attr({"stroke-dasharray":za,"stroke-width":n,stroke:F(Ba),"stroke-linecap":"round"}).shadow(D,M.lineShadowGroup),la=!1):X&&X.hide();ea&&Ia&&wa&&(M.anchorGroup.hide(),M.lineShadowGroup.hide(),M.anchorShadowGroup.hide(),$.hide(),ba.lineConnector.attr({"clip-rect":p}).animateWith(Ka,ca,{"clip-rect":qa},ea,da,pa));b.drawn=!0;for(ya=0;ya<ja;ya++)b._removeDataVisuals(na.shift())}},"Line"]);FusionCharts.register("component",
["dataset","Bubble",{type:"bubble",configure:function(){var a=this.chart,c=a.components,a=a.jsonData.chart,g=this.JSONData,e=this.config,k=g.data||[],p,n,q,r,z;p=c.colorManager;n=this.index;var c=c.numberFormatter,s,v=m.parseUnsafeString,B=d(v(a.tooltipsepchar),", "),E,D,C,u,w,G,A=-Infinity,h=Infinity,N=-Infinity,H=Infinity,I=-Infinity,O=Infinity,M,P=m.graphics.getPointColor;e.includeInLegend=l(g.includeinlegend,1);e.seriesname=v(g.seriesname);e.anchorBgColor=d(g.color,g.plotfillcolor,a.plotfillcolor,
p.getPlotColor(n));e.showPlotBorder=l(g.showplotborder,a.showplotborder,1);e.anchorBorderThickness=e.showPlotBorder?d(g.plotborderthickness,a.plotborderthickness,1):0;e.anchorBorderColor=Ka(d(g.plotbordercolor,a.plotbordercolor,"666666"));e.plotFillAlpha=d(g.plotfillalpha,g.bubblefillalpha,a.plotfillalpha,"100");e.plotBorderAlpha=d(g.plotborderalpha,a.plotborderalpha,"95");e.negativeColor=d(a.negativecolor,"FF0000");e.is3d=0!==l(a.use3dlighting,g.is3d,a.is3d);e.bubbleScale=l(a.bubblescale,1);e.minBubbleRadius=
l(a.minbubbleradius);e.clipBubbles=l(a.clipbubbles,1);e.showRegressionLine=l(g.showregressionline,a.showregressionline,0);e.enableAnimation=p=l(a.animation,a.defaultanimation,1);e.animation=p?{duration:1E3*l(a.animationduration,1)}:!1;e.showTooltip=l(a.showtooltip,1);e.transposeAnimation=l(a.transposeanimation,p);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(g.showvalues,a.showvalues,0);r=this.components.data=this.components.data||(this.components.data=[]);p=k.length;e.showRegressionLine&&(this.events={hide:this.hideRLine,show:this.showRLine},s={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[],isRegression:!0},e.showYOnX=l(g.showyonx,a.showyonx,1),e.regressionLineColor=Ka(d(g.regressionlinecolor,a.regressionlinecolor,e.anchorBgColor)),e.regressionLineThickness=l(g.regressionlinethickness,a.regressionlinethickness,
1),e.regressionLineAlpha=ha(l(g.regressionlinealpha,a.regressionlinealpha,100)),e.regLineColor=Y(e.regressionLineColor,e.regressionLineAlpha));e.fillColor=e.is3d?F(P(e.anchorBgColor,e.plotFillAlpha)):F({color:e.anchorBgColor,alpha:e.plotFillAlpha});e.strokeColor=F({color:e.anchorBorderColor,alpha:e.plotFillAlpha});for(n=0;n<p;n++)if(D=k[n],q=r[n]=r[n]||(r[n]={}),!q.graphics&&(q.graphics={}),C=q.config={},C.x=c.getCleanValue(D.x),C.y=c.getCleanValue(D.y),C.z=c.getCleanValue(D.z,!0),C.showValue=l(D.showvalue,
e.showValues),C.anchorProps={},G=C.label=C.x,C.setLink=ka(D.link),e.max=I=ia(I,C.z||0),e.min=O=Ja(O,C.z||0),C.is3d=0!==l(D.is3d,e.is3d),A=ia(A,C.x),h=Ja(h,C.x),N=ia(N,C.y),H=Ja(H,C.y),q=C.color=Ka(d(D.color,0>D.z?e.negativeColor:e.anchorBgColor)),z=C.alpha=d(D.alpha,e.plotFillAlpha),C.colorObj=M=C.is3d?P(q,z):{color:q,alpha:z},C.setDisplayValue=u=v(d(D.displayvalue,D.name,D.label)),E=C.formatedVal=null===C.y?C.y:c.dataLabels(C.y),C.displayValue=d(u,C.formatedVal),C.setTooltext=m.getValidValue(v(d(D.tooltext,
g.plottooltext,a.plottooltext))),e.showTooltip?null===E?u=!1:void 0!==C.setTooltext?(u=[4,5,6,7,8,9,10,11,12,13,118],E={yDataValue:E,xDataValue:c.xAxis(G),yaxisName:v(a.yaxisname),xaxisName:v(a.xaxisname),zDataValue:c.dataLabels(C.z)},u=m.parseTooltext(C.setTooltext,u,E,D,a,g)):(e.seriesNameInTooltip&&(w=m.getFirstValue(g&&g.seriesname)),u=w?w+B:"",u+=G?c.xAxis(G)+B:"",u+=E,u+=D.z?B+c.dataLabels(D.z):""):u=!1,C.toolText=u,this.pointValueWatcher(C.x,C.y,e.showRegressionLine&&s),E=C.hoverEffects={},
0!==e.showHoverEffect){G=E.enabled=void 0!==d(D.hoveralpha,g.hoveralpha,a.bubblehoveralpha,D.hovercolor,g.hovercolor,g.bubblehovercolor,a.bubblehovercolor,D.borderhovercolor,g.borderhovercolor,a.plotborderhovercolor,D.borderhoveralpha,g.borderhoveralpha,a.plotborderhoveralpha,D.hoverscale,g.bubblehoverscale,a.bubblehoverscale,D.borderhovercolor,g.borderhovercolor,a.plotborderhovercolor,D.borderhoverthickness,g.borderhoverthickness,a.plotborderhoverthickness,D.negativehovercolor,g.negativeColor,a.negativecolor,
D.is3donhover,a.plotfillhovercolor,g.is3donhover,a.is3donhover,void 0);E.negativeColor=d(D.negativehovercolor,g.negativehovercolor,a.negativehovercolor,e.negativeColor);E.is3d=l(D.is3donhover,g.is3donhover,a.is3donhover,C.is3d);E.color=d(D.hovercolor,g.hovercolor,g.bubblehovercolor,a.plotfillhovercolor,a.bubblehovercolor,C.is3d?M.FCcolor.color:q);E.color=E.negativeColor&&0>D.z?E.negativeColor:E.color;E.scale=d(D.hoverscale,g.hoverscale,g.bubblehoverscale,a.bubblehoverscale,1);E.color=Ka(E.color);
E.alpha=d(D.hoveralpha,g.hoveralpha,a.plotfillhoveralpha,a.bubblehoveralpha,z);E.borderColor=d(D.borderhovercolor,g.borderhovercolor,a.plotborderhovercolor,e.anchorBorderColor);E.borderAlpha=d(D.borderhoveralpha,g.borderhoveralpha,a.plotborderhoveralpha,E.alpha,e.plotBorderAlpha);E.borderThickness=l(D.borderhoverthickness,g.borderhoverthickness,a.plotborderhoverthickness,e.anchorBorderThickness);E.color=E.is3d?P(E.color,E.alpha):{FCcolor:{color:E.color,alpha:E.alpha}};D=G||1===e.showHoverEffect&&
E.color?0:e.showHoverEffect;if(1===D){C=(D="string"==typeof E.color)?E.color.split(/\s{0,},\s{0,}/):E.color.FCcolor.color.split(/\s{0,},\s{0,}/);z=C.length;for(q=0;q<z;q++)C[q]=Na(C[q],70);D?E.color=C.join(","):E.color.FCcolor.color=C.join(",")}!1===G&&(E.enabled=Boolean(e.showHoverEffect))}else E.enabled=!1;e.xMax=A;e.xMin=h;e.yMin=H;e.yMax=N;e.regressionData=e.showRegressionLine&&this.getRegressionLineSeries(s,e.showYOnX,p);this.visible=1===l(g.visible,!Number(g.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=ea.sqrt,e=a.chart,
k=e.components,m=k.canvas.config,p=k.paper,n=e.config,q=e.graphics,z=n.style,s={fontFamily:z.fontFamily,fontSize:z.fontSize,lineHeight:z.lineHeight,fontWeight:z.fontWeight,fontStyle:z.fontStyle},n=Ja(n.canvasHeight,n.canvasWidth)/8,v=q.datasetGroup,B,z=a.yAxis,k=k.xAxis[0],E=a.config,D,C,u,w;B=m.clip["clip-canvas"].slice(0);w=m.clip["clip-canvas-init"].slice(0);var G,A,m=a.components.data,h=a.components.removeDataArr||[],N=h.length,H=a.graphics.container,I=function(){!1===a.visible&&(H.bubbleGroup.hide(),
H.regLineGroup.hide(),ga.hide(),ka.hide(),a._containerHidden=!0)};G=function(){a.visible&&(ga.attr({"clip-rect":null}),H.regLineGroup.attr({"clip-rect":null}));e._animCallBack()};var O=function(a){na.call(this,e,a)},M=function(a,b){return function(c){var d="DataPlotRollOut"===b?this.data("setRolloutAttr"):this.data("setRolloverAttr");this.data("hoverEnabled")&&a.attr(d);na.call(this,e,c,b)}},P=E.minBubbleRadius,Y=E.bubbleScale,V=e.getDataLimits().zMax||0,V=d(V),T=E.clipBubbles,ba=e.get("config","animationObj"),
aa=ba.duration;A=a.graphics.regressionLineElement;var $=E.showRegressionLine,ha=a.visible,ca=E.showTooltip,da=q.trackerGroup,ma=q.datalabelsGroup,ga=a.graphics.dataLabelContainer,ka=a.graphics.trackerContainer,ja,va;ja={};var pa,qa,q=!0,sa=ba.dummyObj,la=ba.animObj,ba=ba.animType,ra=a.components.pool||{},ta;ja=a.drawn;e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",s);H||(H=a.graphics.container={bubbleGroup:p.group("bubble",v),regLineGroup:p.group("regLine",v)},ha||(H.bubbleGroup.hide(),
H.regLineGroup.hide()));ka||(ka=a.graphics.trackerContainer=p.group("bubble-hot"),ha||ka.hide());ga||(ga=a.graphics.dataLabelContainer=p.group("datalabel",ma),ga.attr({"clip-rect":w}).animateWith(sa,la,{"clip-rect":B},aa,ba,G),ha||ga.hide());T?ja?H.bubbleGroup.animateWith(sa,la,{"clip-rect":B},aa,ba):H.bubbleGroup.attr({"clip-rect":B}):(H.bubbleGroup.attr({"clip-rect":null}),H.bubbleGroup.node&&H.bubbleGroup.node.removeAttribute&&H.bubbleGroup.node.removeAttribute("clip-path"));da&&da.appendChild(ka);
ha&&(H.bubbleGroup.show(),H.regLineGroup.show(),ga.show(),ka.show());$?(ja=E.regressionData[0],s=E.regressionData[1],A?A.animateWith(sa,la,{path:"M "+k.getAxisPosition(ja.x)+","+z.getAxisPosition(ja.y)+" L "+k.getAxisPosition(s.x)+","+z.getAxisPosition(s.y)},aa,ba):(A=a.graphics.regressionLineElement=p.path("M "+k.getAxisPosition(ja.x)+","+z.getAxisPosition(ja.y)+" L "+k.getAxisPosition(s.x)+","+z.getAxisPosition(s.y),H.regLineGroup).attr({stroke:F({color:E.regressionLineColor,alpha:E.regressionLineAlpha}),
"stroke-width":E.regressionLineThickness,"stroke-linecap":"round","stroke-linejoin":2<E.regressionLineThickness?"round":"miter"}),H.regLineGroup.attr({"clip-rect":w}),H.regLineGroup.animateWith(sa,la,{"clip-rect":B},aa,ba,G))):A&&A.hide();w=0;for(G=m.length;w<G;w+=1)if(v=m[w],A=v.config,u=l(A.x,w),C=A.y,D=A.z,s=v.graphics.element,da=A.setLink,va=A.displayValue,T=A.toolText,$=A.showValue,ja=A.hoverEffects,s=v.graphics.element,B=v.graphics.hotElement,qa=v.graphics.label,ma=!1,null!==C){va={index:w,
link:da,value:C,y:C,x:u,z:D,displayValue:va,toolText:T,id:a.userID,datasetIndex:a.index||0,datasetName:c.seriesname,visible:ha};C=z.getAxisPosition(C);u=k.getAxisPosition(u);D=d(D);D=X(D*n/V)*Y||0;P&&(D=ia(D,P));ta=A.setRolloutAttr={fill:F(A.colorObj),"stroke-width":E.anchorBorderThickness,stroke:F({color:E.anchorBorderColor,alpha:E.plotBorderAlpha}),r:D};!1!==ja.enabled&&(pa=A.setRolloverAttr={fill:F(ja.color),"stroke-width":ja.borderThickness,stroke:F({color:ja.borderColor,alpha:ja.borderAlpha}),
r:D*ja.scale});a.visible||(D=0);s||(ra.element&&ra.element.length?s=v.graphics.element=ra.element.shift():(s=v.graphics.element=p.circle(H.bubbleGroup),ma=!0,s.attr({cx:u,cy:C,r:aa?0:D})));s.show().animateWith(sa,la,{cx:u,cy:C,r:D||0},aa,ba,q&&I).attr({fill:F(A.colorObj),ishot:!ca,"stroke-width":E.anchorBorderThickness,stroke:ta.stroke,visibility:ha});q=!1;if(da||ca)D<W&&(D=W),B||(B=ra.hotElement&&ra.hotElement.length?v.graphics.hotElement=ra.hotElement.shift():v.graphics.hotElement=p.circle(ka)),
B.attr({cx:u,cy:C,r:D,cursor:da?"pointer":"",stroke:r,"stroke-width":E.anchorBorderThickness,fill:r,ishot:!!da,visibility:ha});(B||s).data("eventArgs",va).data("setRolloverAttr",pa).data("setRolloutAttr",ta).data("hoverEnabled",ja.enabled).tooltip(T);ma&&(B||s).click(O).hover(M(s,"DataPlotRollOver"),M(s,"DataPlotRollOut"));v._xPos=u;v._yPos=C;$?this.drawLabel(w):qa&&qa.hide()}else s&&s.hide(),B&&B.hide(),qa&&qa.hide();a.drawn=!0;for(w=0;w<N;w++)a._removeDataVisuals(h.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,l=a.xMin,k=a.xMax,m=a.max,a=a.min;!1===this.visible&&e&&(c=
-Infinity,l=d=Infinity,k=-Infinity);return{max:c,min:d,xMin:l,xMax:k,zMax:m,zMin:a}},drawLabel:function(a){var c=this.chart,d=c.config.dataLabelStyle,e=this.components.data,l=c.components.paper,k;k="";var m=this.config,p=c.get("config","animationObj"),c=p.duration,n=p.animType,q=p.animObj,p=p.dummyObj,m=m.rotateValues,r=this.graphics.dataLabelContainer,z,s,v,F,E=this.components.pool||{};k=e[a];z=k.config;a=k.graphics;e=k._yPos;s=k._xPos;k=z.displayValue;F=a.label;void 0!==k&&null!==k&&k!==H&&null!==
z.z&&(F||(F=E.label&&E.label.length?a.label=E.label.shift():a.label=l.text(r),v=!0),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.label.attr(d),v&&F.attr({x:s,y:e,transform:l.getSuggestiveRotation(m,s,e)}),F.show().animateWith(p,q,{x:s,
y:e,transform:l.getSuggestiveRotation(m,s,e)},c,n))}},"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,r=a.is3D,z,s;this.__setDefaultConfig();v({},this.config,a&&a.config);s=e.enableAnimation=l(p.animation,p.defaultanimation,1);e.animation=s?{duration:1E3*l(p.animationduration,p.moveduration,1)}:!1;e.transposeAnim=s||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=ka(q(d(k.plottooltext,p.plottooltext)));s=e.enableMultiSlicing=l(p.enablemultislicing,1);z=e.use3DLighting=l(p.use3dlighting,1);e.radius3D=z?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);z=e.toolTipSepChar=d(p.tooltipsepchar,p.hovercapsepchar,n);e.labelSepChar=d(p.labelsepchar,z);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:Ka(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&&Ka(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=r;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=!!s;e.startAngle=l(p.startingangle,0)*-(Ra/180);e.usePerPointLabelColor=p.colorlabelsfromplot==ba;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,p,n,q,r,z,s;g=this.chart;var B=g.components.numberFormatter,v=g.jsonData.chart;q=this.config;
p=l(c.y,B.getCleanValue(a.value,!0));var F=q.valueTotal;n=q.showLabels;var D=E(d(c.seriesName,a.label,a.name,""));z=q.showPercentValues;m=q.showPercentInToolTip;var u=q.labelSepChar,w=q.toolTipSepChar,C=q.showTooltip;g=ka(E(d(a.tooltext,q.toolText)));e=c.pValue=B.percentValue(p/F*100);p=c.value=B.dataLabels(p)||"";n=1===l(a.showlabel,n)?D:"";q=1===(s=l(a.showvalue,q.showValues))?1===z?e:p:"";m=m?e:p;r=ka(E(a.displayvalue));z=d(r,D+u+(z?e:p),"");q=void 0!==r&&s?r:""!==q&&""!==n?n+u+q:d(n,q);C&&(void 0!==
g?k=wa(g,[1,2,3,5,6,7,14,24,25],{formattedValue:p,label:D,yaxisName:E(v.yaxisname),xaxisName:E(v.xaxisname),percentValue:e,sum:B.dataLabels(F),unformattedSum:F},a,v):(k=D,k=""!=k?k+w+m:m));c.displayValue=q;c.displayValueArgs=z;c.toolText=k;c.seriesName=D;c.categoryLabel=n},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,p,n,q,r,z,s,B,v,F,C,u,w,G,A;p=this.chart;var h=p.jsonData.chart,
N=p.components;m=N.legend;var H=this.config,I=this.JSONData;e=(s=(a||I).data)&&s.length;v=H.showZeroPies;var I=H.valueTotal||0,O=[],M=p.config.dataLabelStyle,P=l(h.plotborderdashed,0),V=this.components.data||(this.components.data=[]),T=N.numberFormatter,N=N.colorManager,W=H.labelInLeg,$=H.valInLeg,X=H.centerLabelConfig,ha=H.pieBorderThickness,ca=H.reversePlotOrder,ea=H.radius3D,da=H.enableMultiSlicing,na=H.lastSlicedid||0,ga=l(h.plotBorderDashed,5),pa=l(h.plotborderdashgap,4),ja=l(h.valuebeforelabelinlegend,
0),qa=l(h.showvalueaspercentinlegend,1);A=0;var sa=d(h.legendsepchar,", ");p=p.get("config","animationObj");z=p.duration||0;n=p.dummyObj;r=p.animObj;B=p.animType;for(p=0;p<e;p+=1)q=s[p],k=T.getCleanValue(q.value,!0),null===k||!v&&0===k?A+=1:(O.push(q),I+=k);if(A&&V.length>e-A)for(m&&m.emptyItems(V.length-A),p=V.length-1;0<A;--p,--A)if(V[p]){q=V[p];e=q.config;k=q.graphics;for(g in k)m=k[g],m.animateWith(n,r,this.foldingFn.call(this,m),z,B,this.hideFn.call(this,k,g));e.y=null;q.legendItemId=void 0}0===
I&&(O=[]);H.valueTotal=I;H.dataLabelCounter=0;for(p=(e=O.length)-1;0<=p;--p){k=p;a?(A=O[p],k=void 0!==c?c+p:V.length-e+p,q=V[k]):(q=V[p]||(V[p]={graphics:{},config:{}}),A=O[p]);g=q&&q.config;g||(g=V[k].config={});q.graphics||(V[k].graphics={});g.y=k=T.getCleanValue(A.value,!0);g.seriesName=n=E(d(A.label,A.name,""));q=d(A.color,N.getPlotColor(p));m=d(A.alpha,h.plotfillalpha,aa);r=g.borderConfig=this._parseBorderConfig(q,m,A);z=r.setPlotBorderColor;r=r.setPlotBorderAlpha;s={opacity:ia(m,r)/100};if(v=
Boolean(l(A.issliced,h.issliced,0)))da||(-1!==na&&(V[V.length-na-1].sliced=!1),H.lastSlicedid=p),H.preSliced=v;C=(B=l(A.dashed,P))?va(d(A.dashlen,ga),d(A.dashgap,pa),ha):"none";this._parseDisplayProperties(A,g);B=W?n:"";$&&(k=qa?T.legendPercentValue(k/I*100):T.legendValue(k),B=ja?k+(B&&sa+B):(B&&B+sa)+k);(k=g.displayValue)&&(H.dataLabelCounter+=1);w=g.value;u=g.pValue;k={label:d((F=A.centerlabel||h.centerlabel)&&this.replaceMacros(F,["\\$value","\\$percentValue","\\$displayValue","\\$label"],[w,u,
void 0===k?"":k,n]),""),font:X.font,fontSize:l(A.centerlabelfontsize,X.fontSize),color:Ka(d(A.centerlabelcolor,X.color)),alpha:l(A.centerlabelalpha,X.alpha),bold:l(A.centerlabelbold,X.bold),italic:l(A.centerlabelitalic,X.italic),bgColor:d(A.centerlabelbgcolor,X.bgColor),bgAlpha:l(A.centerlabelbgalpha,X.bgAlpha),borderColor:d(A.centerlabelbordercolor,X.borderColor),borderAlpha:l(A.centerlabelborderalpha,X.borderAlpha),borderThickness:X.borderThickness,borderRadius:X.borderRadius,textPadding:X.textPadding,
padding:X.padding,bgOval:X.bgOval,shadow:X.shadow,hoverColor:(G=d(A.centerlabelhovercolor,X.hoverColor))&&Ka(G),hoverAlpha:l(A.centerlabelhoveralpha,X.hoverAlpha),toolText:d(A.centerlabeltooltext,"")};g.style=D(A,{},h,M,q);g.showInLegend=""!==B;g.isVisible=!0;g.name=B;g.shadow=s;g.setColor=q;g.color=this._getPointColor(q,m,ea);g._3dAlpha=m;g.borderColor=Y(z,r);g.borderWidth=ha;g.link=ka(A.link);g.sliced=v;g.dashStyle=C;g.doNotSlice=d(h.enableslicing,ba)!=ba;this._parseHoverEffectOptions(p);g.centerLabelConfig=
k;g.radius3D=ea}ca&&V&&V.reverse();H.dataArr=O;H.enableRotation=1<V.length?l(h.enablerotation,1):0},_parseHoverEffectOptions:function(a){var c,g,e,k,m,p,n,q,r;p=this.chart.jsonData.chart;g=this.config;var z=this.components.data[a].config;n=this.JSONData;q=n.data[a];e=z.setColor;k=z._3dAlpha;a=g.radius3D;r=z.borderConfig;m=r.setPlotBorderAlpha;var s=r.setPlotBorderColor;r=g.setBorderWidth;g=l(z.hovereffect,g.showHoverEffect);z=z.hoverEffects={enabled:g};void 0===g&&(g=z.enabled=void 0!==d(q.hovercolor,
n.hovercolor,p.plotfillhovercolor,q.hoveralpha,n.hoveralpha,p.plotfillhoveralpha,q.borderhovercolor,n.borderhovercolor,p.plotborderhovercolor,q.borderhoveralpha,n.borderhoveralpha,p.plotborderhoveralpha,p.plotfillhoveralpha,q.borderhoverthickness,n.borderhoverthickness,p.plotborderhoverthickness,void 0));if(g){c=l(q.highlightonhover,n.highlight,p.highlight,1);(g=d(q.hovercolor,n.hovercolor,p.plotfillhovercolor))&&c&&(c=0);g=d(g,e);e=d(q.hoveralpha,n.hoveralpha,p.plotfillhoveralpha,k);k=d(q.borderhovercolor,
n.borderhovercolor,p.plotborderhovercolor,s);m=d(q.borderhoveralpha,n.borderhoveralpha,p.plotborderhoveralpha,p.plotfillhoveralpha,m);p=l(q.borderhoverthickness,n.borderhoverthickness,p.plotborderhoverthickness,r);g.replace(/,+?$/,"");if(1===c){q=(n="string"==typeof g)?g.split(/\s{0,},\s{0,}/):g.color.split(/\s{0,},\s{0,}/);r=q.length;for(c=0;c<r;c++)q[c]=Na(q[c],70);n?g=q.join(","):g.color=q.join(",")}this._setHoverColor(z,g,e,a);z.borderColor=Y(k,m);z.borderWidth=p}else z.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,e){var k=this.chart.jsonData.chart,
l=d(e.bordercolor,this.config.pieBorderColor);e=d(e.borderalpha,k.plotborderalpha,k.pieborderalpha);l=d(l,Na(a,25)).split(",")[0];e=k.showplotborder==s?s:d(e,c,"80");return{setPlotBorderColor:l,setPlotBorderAlpha:e}},_getPointColor:function(a,c,d){var e,k;a=Ka(a);c=ha(c);100>d&&q?(e=Math.floor(85*(100-.35*d))/100,e=V(a,e),k=Math.floor(50*(100+d))/100,a=Na(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:Ka(a.color),alpha:ha(a.alpha)})},draw:function(){var a,c,d=this.chart,e=d.graphics,k=d.config,l=d.graphics,m=this.config,p=m.showShadow,n,q=d.components.paper,r=this.components,z=r.data;n=r.removeDataArr||[];var s,v,E,
D,u;s=k.style;var w=e.datasetGroup.trackTooltip(!0),C=this.graphics,A=this.pool,h=C.container,G=this.visible,N=C.shadowContainer;v=e.datalabelsGroup;var H=C.dataLabelContainer,I,O,P,V,Y,T,W,ba,aa,X=r.data||[],ha=X.length,r=k.canvasLeft+.5*k.canvasWidth,e=k.canvasTop+.5*k.canvasHeight,ca=l.datasetGroup;D=k.alphaanimation;var ea=!1,l=function(){ea||(ea=!0,H.show(),d.placeDataLabels(!1,z,m),ca.animateWith(Na,Oa,{opacity:1},Ja,Ra))},da=function(){var a,b;if(c)for(a=0;a<ha;a+=1)b=X[a],b.graphics.element&&
b.graphics.element.attr({fill:F(b.config.color)})};O=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<sa(a[c]-b[c])){d=!0;break}return d}}();E=function(){ea||da()};var na=d._plotDragMove,ja=d._plotDragStart,ga=d._plotDragEnd,ia=d._plotRollOver,ka=d._plotRollOut,va=!!m.enableRotation,la=m.piePlotOptions=this._parsePiePlotOptions(),k=k.textDirection,ra=m.dataLabelOptions,pa=la.slicedOffset,ta,la=la.size,
wa=.5*(m.innerSize||0),Ga=(m.startAngle||0)%qa,Ja,Ka,ya,Ia,Aa=Ga-qa,Ma=m.animateClockWise;I=d.get("config","animationObj");u=I.duration||0;var Na=I.dummyObj,Oa=I.animObj,Ra=I.animType;h?(Ia=!0,u&&(Ja=u,Ka=E),c=O({cx:r,cy:e,r:la,r2:wa})):(w.pie=q.group("pie",w),w.pieLabels=q.group("pie",w),h=C.container={lineShadowGroup:q.group("connector-shadow",w.pieLabels),anchorShadowGroup:q.group("anchor-shadow",w.pieLabels),pieGroup:C.pieContainer=q.group("pie",w.pie),dataLabel:q.group("dataLabel",w.pie)},N=
C.shadowContainer=w.shadows||(w.shadows=q.group("shadows",h.pieGroup).toBack()),H=C.dataLabelContainer=this.graphics.dataLabelContainer||q.group("datalabel",v).trackTooltip(!0),u&&(Ja=u,Ka=l,H.hide()));G||(h.lineShadowGroup.hide(),h.anchorShadowGroup.hide(),h.pieGroup.hide(),h.dataLabel.hide(),N.hide(),H.hide());D&&ca.attr({opacity:0});n.length&&this.remove();h=m.valueTotal;G=qa/h;d._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",s);m.pieCenter=[r,e];I=w=Ga;for(n=0;n<ha;n+=1)if(s=
X[n],u=s.graphics,O=s.config,P=O.y,V=O.displayValue,Y=O.sliced,v=O.toolText,D=!!O.link,s=O.style,T=D||va||!O.doNotSlice,null!==P&&void 0!==P&&!1!==O.isVisible){E=O.color;E.r=la;E.cx=r;E.cy=e;I=w;w-=m.singletonCase?qa:P*G;W=.5*(w+I);E=u.element;ba=u.label;ta=u.connector;if(!E){E=A&&A.element.length?u.element=A.element.splice(0,1)[0].show():u.element=q.ringpath(C.pieContainer).attr({"stroke-linejoin":"round",ishot:T}).drag(na,ja,ga).hover(ia,ka);if(Ia){if(n<ha)for(ya=void 0,a=n+1;a<ha&&void 0===ya;a+=
1)ya=X[a].config.endAngle;void 0===ya&&(ya=Aa)}else ya=Ma?Aa:Ga;E.attr({ringpath:[r,e,la,wa,ya,ya]})}void 0!==V?(ba||(ba=A&&A.label.length?u.label=A.label.splice(0,1)[0]:u.label=q.text(H).drag(na,ja,ga).hover(ia,ka).attr({ishot:T})),ba.css({fontFamily:s.fontFamily,fontSize:s.fontSize,lineHeight:s.lineHeight,fontWeight:s.fontWeight,fontStyle:s.fontStyle}).show().attr({text:V,fill:s.color||"#000000","text-bound":[s.backgroundColor,s.borderColor,s.borderThickness,s.borderPadding,s.borderRadius,s.borderDash],
direction:k}),0<ra.distance&&(aa=ra.connectorWidth)&&ra.enableSmartLabels?(ta||(ta=A&&A.connector.length?u.connector=A.connector.splice(0,1)[0]:u.connector=q.path("M 0 0 l 0 0",H).attr({visibility:za,ishot:!0}).drag(na,ja,ga).hover(ia,ka)),ta.attr({"stroke-width":aa,stroke:ra.connectorColor||"#606060"}).show()):ta&&ta.hide()):(ba&&ba.hide(),ta&&ta.hide());s=O.plotItem={chart:d,index:n,seriesData:m,value:P,angle:O.angle=W,angle1:O.startAngle=w,angle2:O.endAngle=I,slicedX:Ba(W)*pa,slicedY:$(W)*pa,sliced:Y,
labelText:V,toolText:v,name:O.name,link:O.link,percentage:h?P*h/100:0,originalIndex:ha-n-1,style:O.style,color:F(O.color),borderColor:O.borderColor,borderWidth:O.borderWidth,rolloverProperties:O.hoverEffects,radius:la,center:[r,e],innerDiameter:2*wa,centerLabelConfig:O.centerLabelConfig,graphic:E,isVisible:O.isVisible,label:ba,connector:ta,transX:O.transX=Ba(W)*pa,transY:O.transY=$(W)*pa,slicedTranslation:O.slicedTranslation="t"+Ba(W)*pa+","+$(W)*pa};u={index:m.reversePlotOrder?ha-1-n:n,link:O.link,
value:O.y,displayValue:O.displayValueArgs,categoryLabel:O.categoryLabel,isSliced:Y,toolText:v};E.animateWith(Na,Oa,{ringpath:[r,e,la,wa,w,I]},Ja,Ra,Ka);E.attr({"stroke-width":O.borderWidth,stroke:O.borderColor,fill:M||Ia&&c?this.singleFillColor(O.color):F(O.color),"stroke-dasharray":O.dashStyle,redrawDataLabels:Ga,cursor:D?"pointer":"",transform:s.sliced?s.slicedTranslation:""}).show().shadow(p&&O.shadow,N).tooltip(v).data("plotItem",s).data("eventArgs",u);ba&&ba.data("plotItem",s).data("eventArgs",
u);ta&&ta.data("plotItem",s).data("eventArgs",u)}Ja?Ia&&d.placeDataLabels(!1,z,m):(da(),l())},remove:function(){var a=this.components.removeDataArr||[],c=this.pool=this.pool={},d=a.length,e=this.config,k,l=e.pieCenter,m,p=l[0],l=l[1],n=this.hideElements,q=e.pieMinRadius,r=.5*(e.innerSize||0),s,e=e.startAngle-qa;s=this.chart.get("config","animationObj");var z=s.duration||0,v=s.dummyObj,F=s.animObj,E=s.animType;for(s=0;s<d;s++){k=a[0];k=k.graphics;for(m in k)k[m].data("plotItem"),k[m].animateWith(v,
F,{ringpath:[p,l,q,r,e,e+.01]},z,E,n),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,e){var k=this.chart.jsonData.chart,l=d(e.bordercolor,this.config.pieBorderColor);e=d(e.borderalpha,k.plotborderalpha,k.pieborderalpha);l=d(l,Na(a,90)).split(",")[0];e=k.showplotborder==s?s:d(e,c,"80");return{setPlotBorderColor:l,setPlotBorderAlpha:e}},_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"),p=m.duration||0,n=m.dummyObj,q=m.animObj,
r=m.animType;c=l.config;a=l.graphics;var s=e.data,m=k.dataLabelOptions,z=m.style,v=l.components.paper,E=c.tooltip||{},E=E&&!1!==E.enabled,D=k.slicingDistance,u=k.slicedOffsetY||(k.slicedOffsetY=D*k.pieYScale),w=l._plotDragMove,C=l._plotDragStart,A=l._plotDragEnd,h=l._plotRollOver,G=l._plotRollOut,N=!!k.enableRotation,I=k.showBorderEffect,O=s.length,M=k.usePerPointLabelColor,P=c.textDirection,V,Y,T,W,ba,aa,X,ha,ca,ea,da,na,ja,z=e.removeDataArr||[],ga;W=this.visible;var ia,ka,va=!1,la=this.graphics.dataLabelContainer,
pa=(k.startAngle||0)%qa,sa,ta,wa,za,Ga=pa-qa,Ja=k.animateClockWise,ya,Ia=a.datasetGroup;c=c.alphaanimation;var Aa=function(){va||(va=!0,Ia.animateWith(n,q,{opacity:1},p,r,function(){la.show()}))};ca=function(){var a,b;if(!va)for(Aa(),a=0;a<O;a+=1)b=s[a],b.graphics.element&&b.graphics.element.attr({fill:F(b.config.color)})};la?(za=!0,p&&(sa=p,ta=ca)):(la=this.graphics.dataLabelContainer=v.group("datalabel",a.datalabelsGroup).trackTooltip(!0),p&&(sa=p,ta=Aa,la.hide(),c&&Ia.attr({opacity:0})));W||la.hide();
z.length&&this.remove();l._preDrawCalculate();a=k.center;c=k.pieYScale;s&&O||(s=[]);for(ia=-1;++ia<O;)if(V=s[ia],da=V.config,na=V.graphics,Y=da.y,T=da.displayValue,ba=da.sliced,ca=da.shapeArgs,X=da.centerAngle,ea=da.toolText,W=!!da.link,z=da.style,aa=W||N||!da.doNotSlice,null!==Y&&void 0!==Y){ya=na.element;ja=na.label;ga=na.connector;if(!ya){ya=na.element=e.Pie3DManager.useSliceFromPool();if(za){if(ia<O)for(wa=void 0,ka=ia+1;ka<O&&void 0===wa;ka+=1)wa=s[ka].config.shapeArgs.end;void 0===wa&&(wa=pa)}else wa=
Ja?pa:Ga;ya||(ya=na.element=e.Pie3DManager.createSlice().drag(w,C,A).mouseover(h).mouseout(G).attr({ishot:aa}));ya.attr({start:-wa,end:-wa,cx:a[0],cy:a[1],r:a[2],innerR:a[3],radiusYFactor:c})}void 0!==T?(ja||(ja=d&&d.graphics&&d.graphics.label&&d.graphics.label.length?na.label=d.graphics.label.splice(0,1):na.label=v.text(la).drag(w,C,A).hover(h,G).attr({ishot:aa})),ja.attr({text:T,title:V.originalText||"",fill:(M?F(V.color):z.color)||"#000000","text-bound":[z.backgroundColor,z.borderColor,z.borderThickness,
z.borderPadding,z.borderRadius,z.borderDash],visibility:"hidden",direction:P,cursor:W?"pointer":""}).show().css({fontFamily:z.fontFamily,fontSize:z.fontSize,lineHeight:z.lineHeight,fontWeight:z.fontWeight,fontStyle:z.fontStyle}),0<m.distance&&(ha=m.connectorWidth)&&m.enableSmartLabels?(ga||(ga=d&&d.graphics&&d.graphics.connector&&d.graphics.connector.length?na.connector=d.graphics.connector.splice(0,1):na.connector=v.path("M 0 0 l 0 0",la).attr({visibility:"hidden",ishot:aa}).drag(w,C,A).hover(h,
G)),ga.attr({"stroke-width":ha,stroke:m.connectorColor||"#606060",cursor:W?"pointer":""}).show()):ga&&ga.hide()):(ja&&ja.hide(),ga&&ga.hide());V={chart:l,index:ia,seriesData:k,value:Y,angle:da.angle=X,link:da.link,shapeArgs:ca,slicedX:ba&&!k.singletonCase?Ba(X)*D:0,slicedY:ba&&!k.singletonCase?$(X)*u:0,sliced:ba,labelText:T,name:da.name,percentage:da.percentage,toolText:ea,originalIndex:O-ia-1,style:da.style,graphic:ya,transX:da.transX=Ba(X)*D,transY:da.transY=$(X)*u,slicedTranslation:da.slicedTranslation=
"t"+da.transX+","+da.transY,label:ja,connector:ga};z={index:k.reversePlotOrder?ia:O-1-ia,link:da.link,value:da.y,displayValue:da.displayValueArgs,categoryLabel:da.categoryLabel,isSliced:da.sliced,toolText:da.toolText};ya.attr({transform:"t"+V.slicedX+","+V.slicedY,cursor:W?"pointer":"",color:da.color.color.split(",")[0],alpha:da._3dAlpha,borderWidth:da.borderWidth,borderColor:da.borderColor,showBorderEffect:I}).animateWith(n,q,{start:ca.start,end:ca.end,r:a[2],innerR:a[3],cx:a[0],cy:a[1],radiusYFactor:c},
sa,r,ta).tooltip(E?ea:H).data("groupId",ia).data("plotItem",V).data("eventArgs",z);ja&&ja.data("plotItem",V).data("eventArgs",z);ga&&ga.data("plotItem",V).data("eventArgs",z)}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,p,n,q=this.hideFn,c=c.startAngle;
p=a.get("config","animationObj");var a=p.duration||0,r=p.dummyObj,z=p.animObj,s=p.animType;for(p=0;p<k;p++){l=d[0];l=l.graphics;for(m in l)n=l[m],e[m]||(e[m]=[]),"element"===m?n.animateWith(r,z,{start:-c,end:-c+.01},a,s,q(l,m,this)):e[m].push(n.hide());d.splice(0,1)}},foldingFn:function(){var a=this.config.startAngle;return{start:-a,end:-a+.01}},_getPointColor:function(a,c){a=Ka(a);c=ha(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=Ka(a);c=ha(c);100>d&&q?(e=V(a,ga(100*(85-.2*(100-d)))/100),a=Na(a,ga(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:Ka(a.color,1),alpha:ha(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 p=m.getAxisPosition(0),n=m.getAxisPosition(1),q=sa(n-p),r=ia(l(k.plotspacepercent),0),z=l(k.plotpaddingpercent),s,p=a.config.canvasWidth,v,F=n=0,E=m.config.axisRange.min,m=m.config.axisRange.max-E,D=a.config.categories,u;v=0;var w=a.components.numberFormatter;this.__base__.preDrawCalculate.call(this);
a=E;s=this.numVisiblePositions;e=l(e?k.maxbarheight:k.maxcolwidth,Infinity);e=(1-.01*r)*q||Ja(1*q,e*(s||1));e=0===s?e:e/s;Ja(e-1,1<s?d||void 0!==z?0<z?e*z/100:0:4:0);d=0;for(z=c[0].length;d<z;d++)n+=c[0][d];this.totalSumValue=n;for(d=0;d<D.length;d++)e=D[d],e.widthpercent&&(v+=w.getCleanValue(e.widthpercent));100===v&&(u=this.setUserWidth=1);d=0;for(z=c[0].length;d<z;d++)e=D[d],this.stackConf[d]||(this.stackConf[d]={}),v=this.stackConf[d],e=u?w.getCleanValue(e.widthpercent)/100:c[0][d]/n,v.columnWidth=
e*p,F+=e,e=e*m/2+a,a=F*m+E,v.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,p,n,q=a.graphics.datalabelsGroup,r=c.numberFormatter,z=a.get("config","animationObj"),
s=z.transposeAnimDuration,z=z.animType,v=0,F,E=c.paper,D=a.config.canvasBottom,C=c.xAxis[0];m=a.config.style;var u=a.config.dataLabelStyle,w=e.length,G,A=this.sumValues[0],h,N;p=a.jsonData.chart;a=c.canvas.config.clip["clip-canvas"];q=this.labelContainer=this.labelContainer||E.group("labelGroup",q);p=l(p.showxaxispercentvalues,1);c=this.xLabels=this.xLabels||[];q.attr({"clip-rect":a});if(p)for(a=d(u.backgroundColor,"#ffffff"),h=d(""===u.borderColor?"#"+m.inCancolor:u.borderColor,"#000000"),N=d(u.borderThickness,
1),n=0;n<w-1;n++)v+=e[n],F=r.percentValue(v),m=C.getAxisPosition(k[n].x)+k[n].columnWidth/2,p=D,G=c[n],A[n].positive===A[n].negative?G&&G.hide().attr({"text-bound":[]}):(F={text:F,"class":"fusioncharts-label",fill:u.color,"text-bound":[a,h,N,u.borderPadding,u.borderRadius,u.borderDash],"font-weight":u.fontWeight,"font-style":u.fontStyle,"font-family":u.fontFamily,"font-size":u.fontSize,"line-height":u.lineHeight,visibility:"visible"},G||(c[n]=G=E.text(q)),G.show().attr(F),G._state&&G._state.labelWidth||
(F=G.getBBox(),c[n]._state={labelWidth:F.width,labelHeight:F.height}),p=p-c[n]._state.labelHeight/2-N,0===G.attrs.x&&0===G.attrs.y?G.attr({x:m,y:p}):(F={x:m,y:p},s?G.animate(F,s,z):G.attr(F)))},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=sa(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=Na(k,60).replace(pa,T);d?(d=Na(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,p=e.config,n=a.config,q=a.groupManager,z=a.index,
s,v,E=a.visible,D=e.components,B=D.canvas.config.clip,C=D.paper,G=D.xAxis[0],N=G.getCategoryLen(),u=a.yAxis,w=e.graphics.datasetGroup,H=e.isStacked,A,h,I,O=e.graphics,P=m.parseUnsafeString,V=m.getValidValue,Y=m.Raphael,T=n.showTooltip,ba=e.get("config","animationObj"),aa=ba.duration,$=ba.dummyObj,ha=ba.animObj,ca=ba.animType,da=G.getAxisPosition(0),ea=G.getAxisPosition(1),ga=n.groupMaxWidth=ea-da,ia=q.stackSumValue[a.positionIndex],ka=n.maxColWidth,va=n.transposeAnimation,pa=(1-.01*n.definedGroupPadding)*
ga||Ja(1*ga,1*ka),ja,qa,ta,wa=a.components,za=wa.data,la,ra,Ba,Ha,Ga,Ia,Ka,Ma,ya,Na=a.drawn,Aa=wa.removeDataArr,Oa=Aa&&Aa.length,Ra=wa.addDataArr,bb=Ra&&Ra.length,ab={},Fa={},wb=e.config.dataLabelStyle,Vb={fontFamily:wb.fontFamily,fontSize:wb.fontSize,lineHeight:wb.lineHeight,fontWeight:wb.fontWeight,fontStyle:wb.fontStyle,color:wb.color},dc,hc=u.getAxisBase(),Tb=u.yBasePos=u.getAxisPosition(hc),Mb,nb,eb=0,hb=n.showShadow,Ya=n.plotBorderThickness,Ua=n.plotRadius,Ta=a.graphics,Xa=Ta.container,db=Ta.trackerContainer,
gb=Ta.dataLabelContainer,Za=Ta.shadowContainer,Wa=Ta.pool,ib=O.trackerGroup,ob,sb=1,Ab=G.getAxisPosition(N-1)+0,Eb=G.getAxisPosition(0)+0,$a,Va=!0,ub=!1,kb=!1,pb,Fb,Gb=a.startPosition,tb=q.stackConf,vb=n.showPlotBorder,Hb=function(a){na.call(this,e,a)},ac=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloverAttr");b.attr(c);na.call(this,e,a,"DataPlotRollOver")},Jb=function(a){var b=this.data("dataObj").graphics.element,c=this.data("setRolloutAttr");b.attr(c);na.call(this,
e,a,"DataPlotRollOut")},Bb=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(Xa.hide(),db.hide(),Za.hide(),gb&&gb.hide(),a._conatinerHidden=!0)},jb=function(){Va&&Bb();this.show()},lb=function(){a.drawLabel();q.drawSumValueFlag&&q.drawSumValue()},Cb=function(){return Gb?function(a,b){a.x=Eb-ga*(bb-b);a.y=h;a.height=qa}:!1===Gb?function(a){a.x=Ab+ga*sb++;a.y=h;a.height=qa}:function(a){a.width=0}},Kb,mb,xb=e.components.canvas.config,Nb=xb.oriCanvasBorderThickness,yb=
0<xb.canvasBorderWidth,Qb=p.canvasRight,Ib=p.canvasTop,Ob=p.canvasLeft,Lb;Na&&(Cb=Cb());Xa||(Xa=a.graphics.container=C.group("columns",w),E||Xa.hide());db||(db=a.graphics.trackerContainer=C.group("col-hot",ib),E||db.hide());e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",Vb);Za||(Za=a.graphics.shadowContainer=C.group("shadow",w).toBack(),E||Za.hide());mb=B["clip-canvas"];yb||(mb[3]+=Nb/2,M&&(mb[2]+=2*Nb));Na?(Xa.animateWith($,ha,{"clip-rect":mb},aa,ca),Za.animateWith($,ha,{"clip-rect":mb},
aa,ca)):(Xa.attr({"clip-rect":mb}),Za.attr({"clip-rect":mb}));for(v=0;v<N;v++)if(Ia=(ya=(la=za[v])&&la.config)&&ya.setValue,void 0!==la&&null!==Ia){dc=q.getDataSetPosition(a,v);pb=l(dc.columnWidth,pa/1);Fb=dc.height;Ga=ya.setLink;ob=ya.colorArr;la.graphics||(za[v].graphics={});Ma=ya.displayValue;Mb=ya.previousPositiveY;ra=V(P(d(ya.origToolText,c.plottooltext,k.plottooltext)));H&&(Mb=a._parseValues(v,Mb,ia[v],ra),Ia=ya.value);Kb=tb[v].x;nb=u.getAxisPosition(Mb||hc);A=G.getAxisPosition(Kb)-pb/2;0!==
Fb?(h=u.getAxisPosition(Ia+(Mb||0)),qa=sa(nb-h)):(qa=0,h=nb);h=Ja(h,nb);parseInt(h)<=Ib&&(qa-=Ib-h-+yb,h=Ib-+yb);1>=Ya&&(X(A)<=Ob&&(pb+=A,A=Ob-Ya/2+ +!!Ya-+yb,pb-=A),X(A+pb)>=Qb&&(pb=Qb-A+Ya/2-+!!Ya+ +yb));q.isCrisp?(I=Y.crispBound(A,h,pb,qa,Ya),A=I.x,h=I.y,ja=I.width,qa=I.height):ja=pb;ta=ya.toolText+(ra?"":ya.toolTipValue);$a=ya.plotBorderDashStyle;Ka={index:v,link:Ga,value:Ia,displayValue:Ma,categoryLabel:ya.label,toolText:ta,id:"",datasetIndex:z||0,datasetName:c.seriesname,visible:E};ab=ya.setRolloutAttr;
Fa=ya.setRolloverAttr;aa||(Tb=h,eb=qa);s={x:A,y:Tb,width:ja,height:eb||1,r:Ua,ishot:!T,fill:F(ob[0]),stroke:F(ob[1]),"stroke-width":vb?Ya:0,"stroke-dasharray":$a,"stroke-linejoin":"miter",visibility:E};la._xPos=A;la._yPos=h;la._height=qa;la._width=ja;la._index=v;Lb=!1;!la.graphics.element&&Na&&(Cb(s,v),Wa&&Wa[0].graphics.element?(Ba=Wa[0].graphics.element,Ba.attr(s)):(Ba=la.graphics.element=C.rect(s,Xa),Lb=!0),Wa&&Wa[0].graphics.hotElement&&(la.graphics.hotElement=Wa[0].graphics.hotElement),Wa&&Wa.splice(0,
1));la.graphics.element?(kb=ub=!0,s={x:A,y:h,width:ja,height:qa||1},va?Ba=la.graphics.element.animateWith($,ha,s,aa,ca,jb):(Ba=la.graphics.element.attr(s),Va&&Bb())):(Ba=la.graphics.element=C.rect(s,Xa),aa?(Ba.animateWith($,ha,{y:h,height:qa||1},aa,ca,Va&&lb),Va=!1):kb=ub=!0);Ba.attr({r:Ua,ishot:!T,fill:F(ob[0]),stroke:F(ob[1]),"stroke-width":vb?Ya:0,"stroke-dasharray":$a,"stroke-linejoin":"miter"}).shadow({opacity:hb},Za).data("BBox",I);if(Ga||T)qa<W&&(h-=(W-qa)/2,qa=W),s={x:A,y:h,width:ja,height:qa,
r:Ua,cursor:Ga?"pointer":"",stroke:r,"stroke-width":Ya,fill:r,ishot:!0,visibility:E},la.graphics.hotElement?la.graphics.hotElement.attr(s):(Ha=la.graphics.hotElement=C.rect(s,db),Lb=!0);Ha=la.graphics.hotElement;(Ha||Ba).data("eventArgs",Ka).data("groupId",void 0).tooltip(ta).data("dataObj",la).data("setRolloutAttr",ab).data("setRolloverAttr",Fa);Lb&&(Ha||Ba).click(Hb).hover(ac,Jb)}ub&&a.drawLabel();q.drawSumValueFlag&&kb&&q.drawSumValueFlag&&q.drawSumValue();a.drawn=!0;Oa&&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"),v=m.hasModule,e=m.loadModule,a=m.getMetaSentence,M=m.moduleCmdQueue,H=m.executeWaitingCommands,I=m.injectModuleDependency,n=m.moduleDependencies,s=m.getDependentModuleName,G,q;G=function(e){var c,p,d,n={},q;e=a(e);for(c in k.core.items)c=k.core.items[c],p=c.chartType(),d=c.options.chartTypeSourcePath+p,(p=c.jsVars)&&p.waitingModule&&c.__state.rendering&&
m.needsModule(e.predicate,d)&&(p.waitingModuleError=!0,p=s(d).concat(p.userModules),p.length&&(p=p[p.length-1],n[p]=m.moduleCmdQueue[p]));for(q in n)H(n[q]);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,z=this.options,N=this.args,F=this.options.showChartLoadingMessage,H,E;H=s(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(E in k.raiseEvent("chartTypeChanged",{previousType:G.lastRenderedType,newType:e},this),l[G.lastRenderedType].eiMethods)delete this[E];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&&v(H)){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)&&(H=s(d).concat(n.userModules));n.drLoadAttempted=!0}else{if(!H.length){q(this,a,c);return}if(n.waitingModuleError){q(this,a,c);delete n.waitingModule;delete n.waitingModuleError;return}}(e=M[H[H.length-1]])?(e.push({cmd:"render",obj:this,args:arguments}),n.waitingModule||(n=F?z.PBarLoadingText||z.loadMessage:"",this._chartMessageImageStyle={imageHAlign:N.loadMessageImageHAlign||
z.baseChartMessageImageHAlign,imageVAlign:N.loadMessageImageVAlign||z.baseChartMessageImageVAlign,imageAlpha:N.loadMessageImageAlpha||z.baseChartMessageImageAlpha,imageScale:N.loadMessageImageScale||z.baseChartMessageImageScale},this._chartMessageStyle={color:N.loadMessageColor||z.baseChartMessageColor,fontFamily:N.loadMessageFont||z.baseChartMessageFont,fontSize:N.loadMessageFontSize||z.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:N.renderErrorMessageImageHAlign||z.baseChartMessageImageHAlign,imageVAlign:N.renderErrorMessageImageVAlign||z.baseChartMessageImageVAlign,imageAlpha:N.renderErrorMessageImageAlpha||z.baseChartMessageImageAlpha,imageScale:N.renderErrorMessageImageScale||z.baseChartMessageImageScale},this._chartMessageStyle={color:N.renderErrorMessageColor||z.baseChartMessageColor,
fontFamily:N.renderErrorMessageFont||z.baseChartMessageFont,fontSize:N.renderErrorMessageFontSize||z.baseChartMessageFontSize},k.hcLib.createChart(this,a,"base",void 0,z.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 p=this.jsVars,d=this.chartType(),n=k.hcLib.chartAPI[d],d=s(d).concat(p.userModules),
v=d[d.length-1];n||!d||d&&0===d.length?(delete p.waitingModule,a&&q(this,a||this.ref,c)):p.waitingModule||(p.waitingModule=!0,delete p.waitingModuleError,e(d,function(){delete p.waitingModule;H(m.moduleCmdQueue[v])},G,this))}})}]);
FusionCharts.register("module",["private","modules.api.dynamicchartattributes",function(){var k=this;k.extend(k.core,{setChartAttribute:function(m,C){var v,e,a,M;if("string"===typeof m)v=m,m={},m[v]=C;else if(null===m||"object"!==typeof m)return;M=0;if(a=(v=this.getChartData(k.dataFormats.JSON))&&(v.chart||v.graph||v.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(v,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),v,e;if(0===arguments.length||void 0===m||void 0===C)return C;if("string"===typeof m)v=C[m.toString().toLowerCase()];else if(m instanceof Array)for(v={},e=0;e<m.length;e+=1)v[m[e]]=C[m[e].toString().toLowerCase()];else k.raiseError(this,"25081429","param","~getChartAttribute()",'Unexpected value of "attribute"');
return v}},!0)}]);
FusionCharts.register("module",["private","api.linkmanager",function(){var k=this,m=k.FusionChartsDOMInsertModes,C={},v=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];v.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 v?a.sender.link.parent instanceof k.core&&(a.sender.link.parent.link.items[a.sender.id]=a.sender):a.sender.link=new v(a.sender)});k.addEventListener("linkedChartInvoked",function(a,m){var C=a.sender,I=C.clone({dataSource:m.data,dataFormat:m.linkType,link:new v(C.link.root,C)},!0),n=m.alias,s;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();s=new k.core(I);e(s,C)||C.options.overlayButton&&C.options.overlayButton.message||("object"!==typeof C.options.overlayButton&&(C.options.overlayButton={}),C.options.overlayButton.message="Close");s.render();k.raiseEvent("linkedItemOpened",
{level:C.link.level,item:s},C.link.root)})});k.addEventListener("overlayButtonClick",function(a,m){if("LinkManager"===m.id){var v=a.sender,C=v.link.level-1,n=v.link.parent,s=v.link.root;k.raiseEvent("beforeLinkedItemClose",{level:C,item:v},s,v,function(){setTimeout(function(){k.core.items[v.id]&&v.dispose();k.raiseEvent("linkedItemClosed",{level:C},s)},0);n.disposed||n.isActive()||!e(v,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 v&&(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,v,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},H=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(s){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]:H(n,q,d,k,m)}}else for(l in e){try{n=a[l],q=e[l]}catch(v){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]:H(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]:H(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?[]:{});H(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},s=function(a,e){var d,k,m,l,n,q,r=0,v=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",
v,l,q))G(l,m),v+=1}else if(m=e.component(d,n,l,q))G(l,m),s(l,m)}else"object"===typeof k&&(m=e.component(d,null,k))&&(G(k,m),s(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&&r.call(this,a,e)},r=function(a,e){var d=a.sender,m=d.getChartData(k.dataFormats.JSON,!0),n;m.error||((n=m.data.chart.theme)?v.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,s=a.split(","),v=[],F=s.length,G,E;if(F){for(E=0;E<F;E+=1){G=this.themeStore;var H;H=s[E];H=H.replace(/^\s\s*/,"");for(var I=/\s/,M=H.length;I.test(H.charAt(--M)););H=H.slice(0,M+1);(G=G[H])&&v.push(this.evaluateThemeJSON(G.theme,
e,d,n))}v.length?(l.themeObject=new C(v,e,!1,m),this.applyTheme(e),e.addEventListener("chartTypeChanged",r),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&&s(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,s;r=m[a];if(!r)return null;a=0;for(m=r.length;a<m;a+=1)s=r[a],"function"===typeof s?(e=e||0,n.pushTheme(s.call(l,e,d,k))):s instanceof Array?(e=e||0,q=s.length,e%=q,q=s[e],q instanceof C?n.merge(q):
"function"===typeof q?n.pushTheme(q.call(l,e,d,k)):n.pushTheme(q)):s instanceof C?n.merge(s):n.pushTheme(s);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",r),e.removeEventListener("internal.drawstart",q));this.dataWithoutTheme=this.isChildInstance=this.themeArray=
this.base=this.chartInstance=this.themeComponents=null}};v=new m;k.registrars.theme=k.registerTheme=function(a){a&&("[object Array]"!==Object.prototype.toString.call(a)&&(a=[a]),v.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?v.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,v=m.pluckNumber,e=m.toRaphaelColor,a=/^#?[0-9a-f]{6}/i,M=/FFFFFF/i,H=/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)},s=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},r=function(c,d,k){var l,m=d.color;if(/rgb/.test(c))d=s(d.alpha,100*G(c)),/rgb/.test(m)&&(m=n(m)),l=k?e({color:s(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,v=void 0,C=void 0,D=[];if("number"===typeof l)l=r;else{C=l.split&&l.split(",");for(v=0;v<C.length;v++)D.push(r);l=D.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]=s(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:s(d.color,c.color,c),alpha:s(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,v,C,D;p=0;for(q=a.length;p<q;p++)if(k=a[p])for(v in r=k.graphics,k=k.config,m=k.anchorProps,k={FCcolor:{alpha:d?
s(c.anchorbgalpha,c.alpha,m.bgAlpha):m.bgAlpha,color:d?s(c.anchorbgcolor,c.color,m.bgColor):m.bgColor}},l={FCcolor:{alpha:d?s(c.borderalpha,c.alpha,m.borderAlpha):m.borderAlpha,color:d?s(c.anchorbordercolor,c.color,m.borderColor):m.borderColor}},m=d?c.alpha:m.imageAlpha,d||G(n.color),r)switch(D=(C=r[v])&&C.type,D){case "path":C.attr({fill:e(k),stroke:e(l)});break;case "image":C.attr({opacity:m/100});break;case "text":P(C,c,n,d)}},p=function(c,d,k,l){var m=d.symbolAttr||{},p=m.fill,m=m.stroke,q=d.textAttr||
{},q=l?s(k.color,n(q.fill)):n(q.fill),v=c.legendItemText,C=c.legendItemSymbol;c=c.legendItemLine;d=(d.lineAttr||{}).stroke;c&&d&&(a.test(d)?c.attr({stroke:l?e({color:s(k.color,d),alpha:k.alpha}):d}):(d=r(d,k,l),c.attr({stroke:d})));C&&(p&&(p=p.match(a)?l&&!M.test(p)?e({color:k.color||p,alpha:k.alpha}):p:H.test(p)?p:r(p,k,l)),m&&(m=a.test(m)?l&&!M.test(m)?e({color:k.color||m,alpha:k.alpha}):m:l&&!H.test(m)?k.color?e({color:k.color,alpha:k.alpha}):m:m),C.attr({fill:p||"none",stroke:m||"none"}));v&&
v.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,v=this.legendItemId,C=n.length,l=m.showShadow;a=q(a);var D=this.graphics||{},H=D.legendGraphics,I=m.dataLabelStyle,M=D.dataLabelContainer,m=this.config,P;if(!k){a.alpha=a.alpha||30;for(k=0;k<C&&(r=n[k]||{},r.legendItemId!==v);k++);M&&M.attr({opacity:d?a.alpha/100:G(I.color)});n=m.plotBorderColor;I=m.plotFillColor;k=m.plotBorderAlpha;v=m.plotFillAlpha;C=m.plotGradientColor;
D=s(D.lineElement,D.splineElement);n=d?s(a.bordercolor,a.color,n):n;a.color&&(P=a.color+(C?","+C:""));C=I+(C?","+C:"");P=d?s(P,C):C;m=m.plotFillAngle;v=d?a.alpha:v;k=d?s(a.borderalpha,a.alpha):k;D.attr({fill:e({color:P,alpha:v,angle:m}),stroke:e({color:n,alpha:k})}).shadow({opacity:l?d?a.alpha/100:v/100:0});H&&!0===this.visible&&p(H,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,v=this.legendItemId,k=k.config.dataLabelStyle,
C=this.graphics,D=C.legendGraphics,H=m.graphics.getPointColor,M=C.dataLabelContainer;a=q(a);if(!1===d){a.alpha||(a.alpha=30);C=this.components.data||[];for(d=0;d<r&&(n=l[d]||{},n.legendItemId!==v);d++);p(D,n.config,a,c);M&&M.attr({opacity:c?a.alpha/100:G(k.color)});d=0;for(r=C.length;d<r;d++)if(l=C[d])v=l.graphics,n=l.config,l=n.colorObj,D=n.is3d,n=v.element,v=v.label,D?(D=c?H(s(a.color,l.FCcolor.color),s(a.alpha,I(l.alpha))):l,D=e(D)):(D=c?s(a.color,l.color):l.color,l=c?a.alpha:l.alpha,D=e({color:D,
alpha:l})),n&&n.attr({fill:D}),v&&P(v,a,k,c)}},pie:function(a,c,d,k){var l=k.chart,m;k=k._getPointColor;var n=this,r,v,D,H;D={};var n=this.legendItemId,I;v=l.components.legend.getItems()||[];a=q(a);if(!1===d){a.alpha||(a.alpha=30);d=this.graphics.element;r=this.config;H=0;for(l=v.length;H<l&&(m=v[H],I=m.legendItemId,I!==n);H++);n=m.graphics;p(n,m.config,a,c);v=r.color.color;n=d.data("plotItem");l=n.chart;m=n.style;l=l.is3D;if(H=n.center)D=H[0],H=H[1],n=n.radius,D={cx:D,cy:H,r:n};v=c?k(s(a.color,v),
a.alpha,90):r.color;k=c?a.alpha:v.alpha;v=C(v,D);l?d&&d.attr({color:v.color.split(",")[0],alpha:k}):d&&d.attr({fill:e(v)});k=this.graphics.label;d=this.graphics.connector;k&&P(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,v=this.legendItemId,l=l.config.dataLabelStyle;a=q(a);var C=this.graphics||{},D=C.legendGraphics,H=C.dataLabelContainer,I=C.errorGroupContainer,M=this.config,P=M.showShadow,ka=
M.lineColor,da=M.lineAlpha;if(!k){a.alpha||(a.alpha=30);for(k=0;k<n&&(r=m[k]||{},r.legendItemId!==v);k++);I&&(m=G(M.errorBarColor),m=d?s(a.alpha/100,m):m,I.attr({opacity:m}));H&&H.attr({opacity:d?a.alpha/100:G(l.color)});l=s(C.lineElement,C.SplineElement);ka=d?s(a.color,ka):ka;da=d?s(a.alpha,da):da;l&&l.attr({stroke:e({color:ka,alpha:da})}).shadow({opacity:P?d?a.alpha/100:da/100:0});D&&!0===this.visible&&p(D,r.config,a,d);c(this,a,d)}},boxandwhisker2d:function(a,c,d){var k=this.config.isRoundEdges,
l=this.graphics,s=l.legendGraphics,v=l.lowerWhiskerContainer,C=l.upperWhiskerContainer,D=l.dataLabelContainer,H=this.legendItemId,I=this.chart.components.legend.components.items||[],l=I.length,M;a=q(a);if(!1===d){a.alpha||(a.alpha=30);for(d=0;d<l&&(M=I[d]||{},M.legendItemId!==H);d++);p(s,M.config,a,c);v&&v.attr({opacity:c?a.alpha/100:1});C&&C.attr({opacity:c?a.alpha/100:1});D&&D.attr({opacity:c?a.alpha/100:1});s=this.components.data;d=0;for(l=s.length;d<l;d++){v=s[d];C=v.config;v=v.graphics;M=a;var D=
c,H=k,P={},ca={},ka=P=ca=void 0,da=I=void 0,wa=void 0,pa=void 0,T=void 0;D?(ca=m.graphics.getColumnColor(M.color||C.upperColorArr[0].FCcolor.color,M.alpha.toString(),C.upperColorArr[0].FCcolor.ratio,C.upperColorArr[0].FCcolor.angle,H,M.bordercolor||n(C.upperBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(C.lowerBoxBorder.color)).toString()),ca=e(ca[0]),P=m.graphics.getColumnColor(M.color||C.lowerColorArr[0].FCcolor.color,M.alpha.toString(),C.lowerColorArr[0].FCcolor.ratio,C.lowerColorArr[0].FCcolor.angle,
H,M.bordercolor||n(C.lowerBoxBorder.color),M.borderalpha&&M.borderalpha.toString()||(100*G(C.lowerBoxBorder.color)).toString()),P=e(P[0]),ka=r(C.median.color,M,D),wa=r(C.lowerQuartile.color,M,D),pa=r(C.upperQuartile.color,M,D)):(ca=e(C.upperColorArr[0]),P=e(C.lowerColorArr[0]),ka=C.median.color,I=C.upperBoxBorder.color,da=C.lowerBoxBorder.color,pa=C.upperQuartile.color,wa=C.lowerQuartile.color);T=v.upperBoxElem;T.attr({fill:ca,"drop-shadow":T.attrs["drop-shadow"]&&"none"!==T.attrs["drop-shadow"]?
[1,1,3,"rgba(64,64,64,"+G(ca)+")",T.attrs[4],T.attrs["drop-shadow"][5]]:"none"});T=v.lowerBoxElem;T.attr({fill:P,"drop-shadow":T.attrs["drop-shadow"]&&"none"!==T.attrs["drop-shadow"]?[1,1,3,"rgba(64,64,64,"+G(P)+")",T.attrs[4],T.attrs["drop-shadow"][5]]:"none"});T=v.lowerBoxBorderEle;T.attr({stroke:da});v.upperBoxBorderEle&&v.upperBoxBorderEle.attr({stroke:I});v.lowerQuartileEle&&v.lowerQuartileEle.attr({stroke:wa});v.upperQuartileEle&&v.upperQuartileEle.attr({stroke:pa});v.midLineElem&&v.midLineElem.attr({stroke:ka})}}},
heatmap:function(a,c,d,k){var l=k.chart,m=l.config;k=m.dataLabelStyle;var m=l.components.legend,r,v,l=this.legendItemId,C,D;a=q(a);var H=m.getItems()||[];if(!d){a.alpha||(a.alpha=30);m=this.config;C=0;for(d=H.length;C<d&&(r=H[C],D=r.legendItemId,D!==l);C++);l=r.graphics;p(l,r.config,a,c);r=n(m.color);m=G(m.color);r=c?s(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(v in d)l=d[v],"text"===l.type&&P(l,a,k,c)}},funnelpyramid:function(a,
c,d,k){k=k.chart.components.legend;var l,m,r,v,C;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],v=l.legendItemId,v!==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?s(a.color,d):d;r=c?a.alpha:100*k;m=this.plot.graphic;v=this.plot.dataLabel;C=this.plot.connector;k=this.plot.point.style;m&&m.attr({fill:e({color:d,alpha:r})});v&&P(v,a,k,c);C&&C.attr({opacity:c?a.alpha/100:G(l.color)})}},"default":function(a,
c,d){var k=this.config,l=this.chart,n=l.config,r=n.dataLabelStyle,C=k.useRoundEdges,D=l.is3D,H,M,na;a=q(a);var W=this.graphics,ca=W.legendGraphics,ka=W.dataLabelContainer;na=W.errorGroupContainer;var da,wa,n="",n=this.legendItemId,pa=l.components.legend.components.items||[];da=pa.length;l=k.showShadow;W=m.graphics.getColumnColor;if(!1===d){a.alpha||(a.alpha="30");d=this.components.data||[];for(H=0;H<da&&(M=pa[H]||{},M.legendItemId!==n);H++);ca&&p(ca,M.config,a,c);ka&&ka.attr({opacity:c?a.alpha/100:
G(r.color)});na&&(da=G(k.errorBarColor),da=c?s(a.alpha/100,da):da,na.attr({opacity:da}));H=0;for(da=d.length;H<da;H++)if(k=d[H]){n=k.config;na=n.colorArr[0];M=n.colorArr[1];ca=M.FCcolor.alpha;n=na.FCcolor.color;n=-1!==(wa=n.indexOf(","))&&a.color?a.color+n.substring(wa):s(a.color,n);ka=D?ca:s(a.borderalpha,a.alpha,ca);0===v(ca)&&(ka="0");ca=c?W(n,a.alpha,na.FCcolor.ratio,na.FCcolor.angle,C,s(a.bordercolor,M.FCcolor.color),ka,!1,D):[na,M];if(na=k.graphics.element)n=e(ca[0]),M=e(ca[1]),na.attr({stroke:M,
fill:n}).shadow({opacity:l?I(ca[0].alpha)/100:0});k=k.graphics.label;P(k,a,r,c)}}}},D=function(){this.effectStore={};this.eventHandlers={}},P=function(a,c,d,k){var l,m,p,q,r;l=n(d.color);p=100*G(d.color);m=k?s(c.valuefontcolor,l):l;q=k?s(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?s(c.valuebgcolor,l):l;p=k?s(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?s(c.valuebordercolor,l):l;c=k?s(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 D;D.prototype.add=function(a){this.effectStore[a.name]=a};D.prototype.attachEventHandlers=function(a,c){this.eventHandlers[a]||(this.eventHandlers[a]={},this.eventHandlers[a].listenerFn=k.addEventListener(a,c))};D.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=s(c.itemId,c.legendItemId,c.legendItemIndex);var n,p,q,r="",v;m&&(m=m.replace(/\s+/g,"").split("|"),v=m[0],r=m[1]||"");if(v&&e[v])for(p=0,q=a.length;p<q;p++)m=a[p],l=m.type||l,l=l.toLowerCase(),n=s(m.itemId,m.legendItemId),void 0!==n&&(n=n===c,e[v][l]?e[v][l].call(m,r,d,n,k[0]):e[v]["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"]})}]);