OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
D3
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📁
Export
-
08/14/2022 11:05:15 AM
rwxr-xr-x
📁
Maps
-
08/14/2022 11:05:18 AM
rwxr-xr-x
📄
charts_D3.js
9.73 KB
08/14/2022 11:05:15 AM
rw-r--r--
📄
d3.js
142.96 KB
08/14/2022 11:05:22 AM
rw-r--r--
📄
d3Charts.js
360.17 KB
08/14/2022 11:05:18 AM
rw-r--r--
📁
parallel
-
08/14/2022 11:05:22 AM
rwxr-xr-x
📁
plugins
-
09/10/2022 12:43:36 PM
rwxr-xr-x
Editing: d3Charts.js
Close
function getTotals(g,f){var c=new Array();var e=0;for(var b=f;b<g[0].length;b++){e=0;for(var a=1;a<g.length;a++){e+=parseFloat(g[a][b])}c[b]=e}return c}function drawTableChart(e,m,g,x,q,p,t,f,o,s){var r=new stopWatch();var a="T"+Math.random().toString().replace(".","");var n=0,y="asc",b=new Array();var c='<div class=myChart style="height:'+q+"px;width:"+x+'px"><div style="width: 100%; text-align: center;" title="'+s+'">'+g+"</div>";c+='<table cellpadding="0" cellspacing="0" border="0" class="display" id="'+a+'">';c+="<thead><tr>";for(i=0;i<e[0].length;i++){if(String(e[0][i]).toUpperCase()=="YEAR"){n=i;y="desc"}colName=String(e[0][i]).toUpperCase();b[i]={};if(colName=="MONTH"){b[i]["sType"]="Month"}else{if(colName=="WEEK"){b[i]["sType"]="Week"}else{if(colName=="DAY"){b[i]["sType"]="Weekdays"}else{if(colName=="FIN. MONTH"){b[i]["sType"]="FMonth"}}}}c+="<th align="+(i<p?"'left'":"'right'")+">"+e[0][i]+"</th>"}c+="</tr></thead>";var v=getTotals(e,p);c+="<tbody>";var l=new Array(),u=0;for(i=0;i<f.length;i++){l[i]=getFormat(f[i])}for(i=0;i<e.length-1;i++){c+="<tr>";for(j=0;j<e[i].length;j++){if(j<p){lf="left";val=e[i+1][j];u=0}else{lf="right";if(typeof f[u]=="undefined"){f[u]="cup2"}val=formatData(e[i+1][j],f[u],0);u++}c+='<td align="'+lf+'">'+val+"</td>"}c+="</tr>"}c+="</tbody>";c+="<tfoot><tr>";c+="<th><b>Grand Total</b></th>";for(j=1;j<p;j++){c+="<th></th>"}for(j=p,u=0;j<v.length;j++,u++){c+='<th align="right"><b>'+formatData(v[j],f[u],0)+"</b></th>"}c+="</tr></tfoot>";c+="</table></div>";$("#"+m).html(c);$("#"+a).dataTable({aoColumns:b,bJQueryUI:true,sPaginationType:"full_numbers",aaSorting:[[n,y]],iDisplayLength:25});r.stop();writeLog(INFO,sessionid,new logContext("Charting","TABLE",m,"PERFORMANCE","HighCharts","",r.stTime,r.endTime))}d3=function(){function iB(a){return null!=a&&!isNaN(a)}function ip(a){return a.length}function iS(b){for(var a=1;b*a%1;){a*=10}return a}function iw(f,a){try{for(var c in a){Object.defineProperty(f.prototype,c,{value:a[c],enumerable:!1})}}catch(b){f.prototype=a}}function ij(){}function iM(){}function iA(c,a,b){return function(){var e=b.apply(a,arguments);return e===a?c:e}}function iZ(g,b){if(b in g){return b}b=b.charAt(0).toUpperCase()+b.substring(1);for(var f=0,c=fd.length;c>f;++f){var a=fd[f]+b;if(a in g){return a}}}function iV(){}function iq(){}function iH(f){function a(){for(var k,l=c,e=-1,g=l.length;++e<g;){(k=l[e].on)&&k.apply(this,arguments)}return f}var c=[],b=new ij;return a.on=function(k,e){var g,l=b.get(k);return arguments.length<2?l&&l.on:(l&&(l.on=null,c=c.slice(0,g=c.indexOf(l)).concat(c.slice(g+1)),b.remove(k)),e&&c.push(b.set(k,{on:e})),f)},a}function iQ(){d7.event.preventDefault()}function iO(){for(var b,a=d7.event;b=a.sourceEvent;){a=b}return a}function iP(f){for(var a=new iq,c=0,b=arguments.length;++c<b;){a[arguments[c]]=iH(a)}return a.of=function(k,g){return function(e){try{var l=e.sourceEvent=d7.event;e.target=f,d7.event=e,a[e.type].apply(k,g)}finally{d7.event=l}}},a}function iz(a){return gH(a,eS),a}function ig(a){return"function"==typeof a?a:function(){return g0(a,this)}}function iU(a){return"function"==typeof a?a:function(){return dE(a,this)}}function iE(p,g){function l(){this.removeAttribute(p)}function k(){this.removeAttributeNS(p.space,p.local)}function c(){this.setAttribute(p,g)}function f(){this.setAttributeNS(p.space,p.local,g)}function m(){var a=g.apply(this,arguments);null==a?this.removeAttribute(p):this.setAttribute(p,a)}function b(){var a=g.apply(this,arguments);null==a?this.removeAttributeNS(p.space,p.local):this.setAttributeNS(p.space,p.local,a)}return p=d7.ns.qualify(p),null==g?p.local?k:l:"function"==typeof g?p.local?b:m:p.local?f:c}function h9(a){return a.trim().replace(/\s+/g," ")}function ib(a){return new RegExp("(?:^|\\s+)"+d7.requote(a)+"(?:\\s+|$)","g")}function jy(g,b){function f(){for(var k=-1;++k<a;){g[k](this,b)}}function c(){for(var l=-1,k=b.apply(this,arguments);++l<a;){g[l](this,k)}}g=g.trim().split(/\s+/).map(i0);var a=g.length;return"function"==typeof b?c:f}function i0(b){var a=ib(b);return function(g,f){if(c=g.classList){return f?c.add(b):c.remove(b)}var c=g.getAttribute("class")||"";f?(a.lastIndex=0,a.test(c)||g.setAttribute("class",h9(c+" "+b))):g.setAttribute("class",h9(c.replace(a," ")))}}function iY(k,c,g){function f(){this.style.removeProperty(k)}function a(){this.style.setProperty(k,c,g)}function b(){var e=c.apply(this,arguments);null==e?this.style.removeProperty(k):this.style.setProperty(k,e,g)}return null==c?f:"function"==typeof c?b:a}function id(g,b){function f(){delete this[g]}function c(){this[g]=b}function a(){var k=b.apply(this,arguments);null==k?delete this[g]:this[g]=k}return null==b?f:"function"==typeof b?a:c}function jj(a){return"function"==typeof a?a:(a=d7.ns.qualify(a)).local?function(){return this.ownerDocument.createElementNS(a.space,a.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,a)}}function iI(a){return{__data__:a}}function jL(a){return function(){return h3(this,a)}}function jR(a){return arguments.length||(a=d7.ascending),function(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}}function jP(p,g){for(var l=0,k=p.length;k>l;l++){for(var c,f=p[l],m=0,b=f.length;b>m;m++){(c=f[m])&&g(c,m,l)}}return p}function jv(a){return gH(a,aA),a}function jz(c){var a,b;return function(k,f,g){var l,e=c[g].update,m=e.length;for(g!=b&&(b=g,a=0),f>=a&&(a=f+1);!(l=e[a])&&++a<m;){}return l}}function jg(){var a=this.__transition__;a&&++a.active}function ix(f,v,m){function b(){var a=this[c];a&&(this.removeEventListener(f,a,a.$),delete this[c])}function q(){var a=x(v,dB(arguments));b.call(this),this.addEventListener(f,this[c]=a,a.$=m),a._=v}function k(){var l,o=new RegExp("^__on([^.]+)"+d7.requote(f)+"$");for(var n in this){if(l=n.match(o)){var a=this[n];this.removeEventListener(l[1],a,a.$),delete this[n]}}}var c="__on"+f,p=f.indexOf("."),x=h7;p>0&&(f=f.substring(0,p));var g=aF.get(f);return g&&(f=g,x=jk),p?v?q:b:v?iV:k}function h7(b,a){return function(f){var c=d7.event;d7.event=f,a[0]=this.__data__;try{b.apply(this,a)}finally{d7.event=c}}}function jk(c,a){var b=h7(c,a);return function(g){var e=this,f=g.relatedTarget;f&&(f===e||8&f.compareDocumentPosition(e))||b.call(e,g)}}function jM(){var g=".dragsuppress-"+ ++aW,b="click"+g,f=d7.select(h0).on("touchmove"+g,iQ).on("dragstart"+g,iQ).on("selectstart"+g,iQ);if(jN){var c=kK.style,a=c[jN];c[jN]="none"}return function(e){function k(){f.on(b,null)}f.on(g,null),jN&&(c[jN]=a),e&&(f.on(b,function(){iQ(),k()},!0),setTimeout(k,0))}}function jn(k,c){c.changedTouches&&(c=c.changedTouches[0]);var g=k.ownerSVGElement||k;if(g.createSVGPoint){var f=g.createSVGPoint();if(0>fj&&(h0.scrollX||h0.scrollY)){g=d7.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=g[0][0].getScreenCTM();fj=!(a.f||a.e),g.remove()}return fj?(f.x=c.pageX,f.y=c.pageY):(f.x=c.clientX,f.y=c.clientY),f=f.matrixTransform(k.getScreenCTM().inverse()),[f.x,f.y]}var b=k.getBoundingClientRect();return[c.clientX-b.left-k.clientLeft,c.clientY-b.top-k.clientTop]}function jf(a){return a>0?1:0>a?-1:0}function iK(a){return a>1?0:-1>a?fD:Math.acos(a)}function jG(a){return a>1?cK:-1>a?-cK:Math.asin(a)}function jJ(a){return((a=Math.exp(a))-1/a)/2}function jp(a){return((a=Math.exp(a))+1/a)/2}function i5(a){return((a=Math.exp(2*a))-1)/(a+1)}function jF(a){return(a=Math.sin(a/2))*a}function i4(){}function i9(c,a,b){return new i6(c,a,b)}function i6(c,a,b){this.h=c,this.s=a,this.l=b}function kp(l,c,g){function f(e){return e>360?e-=360:0>e&&(e+=360),60>e?b+(k-b)*e/60:180>e?k:240>e?b+(k-b)*(240-e)/60:b}function a(e){return Math.round(255*f(e))}var b,k;return l=isNaN(l)?0:(l%=360)<0?l+360:l,c=isNaN(c)?0:0>c?0:c>1?1:c,g=0>g?0:g>1?1:g,k=0.5>=g?g*(1+c):g+c-g*c,b=2*g-k,dK(a(l+120),a(l),a(l-120))}function jQ(c,a,b){return new i7(c,a,b)}function i7(c,a,b){this.h=c,this.c=a,this.l=b}function jD(c,a,b){return isNaN(c)&&(c=0),isNaN(a)&&(a=0),jH(b,Math.cos(c*=hQ)*a,Math.sin(c)*a)}function jH(c,a,b){return new jC(c,a,b)}function jC(c,a,b){this.l=c,this.a=a,this.b=b}function jm(k,c,g){var f=(k+16)/116,a=f+c/500,b=f-g/200;return a=bL(a)*gL,f=bL(f)*cZ,b=bL(b)*jY,dK(cG(3.2404542*a-1.5371385*f-0.4985314*b),cG(-0.969266*a+1.8760108*f+0.041556*b),cG(0.0556434*a-0.2040259*f+1.0572252*b))}function d9(c,a,b){return c>0?jQ(Math.atan2(b,a)*eW,Math.sqrt(a*a+b*b),c):jQ(0/0,0/0,c)}function bL(a){return a>0.206893034?a*a*a:(a-4/29)/7.787037}function hz(a){return a>0.008856?Math.pow(a,1/3):7.787037*a+4/29}function cG(a){return Math.round(255*(0.00304>=a?12.92*a:1.055*Math.pow(a,1/2.4)-0.055))}function bn(a){return dK(a>>16,255&a>>8,255&a)}function f1(a){return bn(a)+""}function dK(c,a,b){return new j1(c,a,b)}function j1(c,a,b){this.r=c,this.g=a,this.b=b}function ik(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function b4(g,s,l){var b,q,k,f=0,p=0,m=0;if(b=/([a-z]+)\((.*)\)/i.exec(g)){switch(q=b[2].split(","),b[1]){case"hsl":return l(parseFloat(q[0]),parseFloat(q[1])/100,parseFloat(q[2])/100);case"rgb":return s(gN(q[0]),gN(q[1]),gN(q[2]))}}return(k=dl.get(g))?s(k.r,k.g,k.b):(null!=g&&"#"===g.charAt(0)&&(4===g.length?(f=g.charAt(1),f+=f,p=g.charAt(2),p+=p,m=g.charAt(3),m+=m):7===g.length&&(f=g.substring(1,3),p=g.substring(3,5),m=g.substring(5,7)),f=parseInt(f,16),p=parseInt(p,16),m=parseInt(m,16)),s(f,p,m))}function eY(g,s,l){var b,q,k=Math.min(g/=255,s/=255,l/=255),f=Math.max(g,s,l),p=f-k,m=(f+k)/2;return p?(q=0.5>m?p/(f+k):p/(2-f-k),b=g==f?(s-l)/p+(l>s?6:0):s==f?(l-g)/p+2:(g-s)/p+4,b*=60):(b=0/0,q=m>0&&1>m?0:b),i9(b,q,m)}function g6(k,c,g){k=gq(k),c=gq(c),g=gq(g);var f=hz((0.4124564*k+0.3575761*c+0.1804375*g)/gL),a=hz((0.2126729*k+0.7151522*c+0.072175*g)/cZ),b=hz((0.0193339*k+0.119192*c+0.9503041*g)/jY);return jH(116*a-16,500*(f-a),200*(a-b))}function gq(a){return(a/=255)<=0.04045?a/12.92:Math.pow((a+0.055)/1.055,2.4)}function gN(b){var a=parseFloat(b);return"%"===b.charAt(b.length-1)?Math.round(2.55*a):a}function dn(a){return"function"==typeof a?a:function(){return a}}function a1(a){return a}function hS(a){return function(b,f,c){return 2===arguments.length&&"function"==typeof f&&(c=f,f=null),eG(b,f,a,c)}}function eG(g,v,l,b){function q(){var e,a=m.status;if(!a&&m.responseText||a>=200&&300>a||304===a){try{e=l.call(k,m)}catch(c){return f.error.call(k,c),void 0}f.load.call(k,e)}else{f.error.call(k,m)}}var k={},f=d7.dispatch("beforesend","progress","load","error"),p={},m=new XMLHttpRequest,x=null;return !h0.XDomainRequest||"withCredentials" in m||!/^(http(s)?:)?\/\//.test(g)||(m=new XDomainRequest),"onload" in m?m.onload=m.onerror=q:m.onreadystatechange=function(){m.readyState>3&&q()},m.onprogress=function(c){var a=d7.event;d7.event=c;try{f.progress.call(k,m)}finally{d7.event=a}},k.header=function(c,a){return c=(c+"").toLowerCase(),arguments.length<2?p[c]:(null==a?delete p[c]:p[c]=a+"",k)},k.mimeType=function(a){return arguments.length?(v=null==a?null:a+"",k):v},k.responseType=function(a){return arguments.length?(x=a,k):x},k.response=function(a){return l=a,k},["get","post"].forEach(function(a){k[a]=function(){return k.send.apply(k,[a].concat(dB(arguments)))}}),k.send=function(o,n,c){if(2===arguments.length&&"function"==typeof n&&(c=n,n=null),m.open(o,g,!0),null==v||"accept" in p||(p.accept=v+",*/*"),m.setRequestHeader){for(var a in p){m.setRequestHeader(a,p[a])}}return null!=v&&m.overrideMimeType&&m.overrideMimeType(v),null!=x&&(m.responseType=x),null!=c&&k.on("error",c).on("load",function(e){c(null,e)}),f.beforesend.call(k,m),m.send(null==n?null:n),k},k.abort=function(){return m.abort(),k},d7.rebind(k,f,"on"),null==b?k:k.get(kw(b))}function kw(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function kO(){var b=hf(),a=aj()-b;a>24?(isFinite(a)&&(clearTimeout(i3),i3=setTimeout(kO,a)),dI=0):(dI=1,h8(kO))}function hf(){var a=Date.now();for(af=ew;af;){a>=af.t&&(af.f=af.c(a-af.t)),af=af.n}return a}function aj(){for(var c,a=ew,b=1/0;a;){a.f?a=c?c.n=a.n:ew=a.n:(a.t<b&&(b=a.t),a=(c=a).n)}return b8=c,b}function jb(c,a){var b=Math.pow(10,3*km(8-a));return{scale:a>8?function(e){return e/b}:function(e){return e*b},symbol:c}}function aJ(b,a){return a-(b?Math.ceil(Math.log(b)/Math.LN10):1)}function e4(a){return a+""}function fm(){}function aS(k,c,g){var f=g.s=k+c,a=f-k,b=f-a;g.t=k-b+(c-a)}function cp(b,a){b&&fb.hasOwnProperty(b.type)&&fb[b.type](b,a)}function bC(k,c,g){var f,a=-1,b=k.length-g;for(c.lineStart();++a<b;){f=k[a],c.point(f[0],f[1],f[2])}c.lineEnd()}function gT(f,a){var c=-1,b=f.length;for(a.polygonStart();++c<b;){bC(f[c],a,1)}a.polygonEnd()}function hF(){function k(y,q){y*=hQ,q=q*hQ/2+fD/4;var u=y-f,v=Math.cos(q),p=Math.sin(q),x=b*p,r=a*v+x*Math.cos(u),m=x*Math.sin(u);gG.add(Math.atan2(m,r)),f=y,a=v,b=p}var c,g,f,a,b;gZ.point=function(l,e){gZ.point=k,f=(c=l)*hQ,a=Math.cos(e=(g=e)*hQ/2+fD/4),b=Math.sin(e)},gZ.lineEnd=function(){k(c,g)}}function eL(f){var a=f[0],c=f[1],b=Math.cos(c);return[b*Math.cos(a),b*Math.sin(a),Math.sin(c)]}function c1(b,a){return b[0]*a[0]+b[1]*a[1]+b[2]*a[2]}function jU(b,a){return[b[1]*a[2]-b[2]*a[1],b[2]*a[0]-b[0]*a[2],b[0]*a[1]-b[1]*a[0]]}function fw(b,a){b[0]+=a[0],b[1]+=a[1],b[2]+=a[2]}function bb(b,a){return[b[0]*a,b[1]*a,b[2]*a]}function f7(b){var a=Math.sqrt(b[0]*b[0]+b[1]*b[1]+b[2]*b[2]);b[0]/=a,b[1]/=a,b[2]/=a}function em(a){return[Math.atan2(a[1],a[0]),jG(a[2])]}function fJ(b,a){return km(b[0]-a[0])<bP&&km(b[1]-a[1])<bP}function j9(c,a){c*=hQ;var b=Math.cos(a*=hQ);aw(b*Math.cos(c),b*Math.sin(c),Math.sin(a))}function aw(c,a,b){++dD,h2+=(c-h2)/dD,eR+=(a-eR)/dD,kH+=(b-kH)/dD}function gA(){function f(q,g){q*=hQ;var k=Math.cos(g*=hQ),m=k*Math.cos(q),e=k*Math.sin(q),p=Math.sin(g),l=Math.atan2(Math.sqrt((l=c*p-b*e)*l+(l=b*m-a*p)*l+(l=a*e-c*m)*l),a*m+c*e+b*p);bf+=l,ay+=l*(a+(a=m)),hw+=l*(c+(c=e)),aE+=l*(b+(b=p)),aw(a,c,b)}var a,c,b;fC.point=function(e,g){e*=hQ;var k=Math.cos(g*=hQ);a=k*Math.cos(e),c=k*Math.sin(e),b=Math.sin(g),fC.point=f,aw(a,c,b)}}function cO(){fC.point=j9}function jw(){function k(r,E){r*=hQ;var A=Math.cos(E*=hQ),q=A*Math.cos(r),C=A*Math.sin(r),B=Math.sin(E),F=a*B-b*C,u=b*q-f*B,z=f*C-a*q,x=Math.sqrt(F*F+u*u+z*z),y=f*q+a*C+b*B,m=x&&-iK(y)/x,D=Math.atan2(x,y);jK+=m*F,aU+=m*u,fh+=m*z,bf+=D,ay+=D*(f+(f=q)),hw+=D*(a+(a=C)),aE+=D*(b+(b=B)),aw(f,a,b)}var c,g,f,a,b;fC.point=function(l,e){c=l,g=e,fC.point=k,l*=hQ;var m=Math.cos(e*=hQ);f=m*Math.cos(l),a=m*Math.sin(l),b=Math.sin(e),aw(f,a,b)},fC.lineEnd=function(){k(c,g),fC.lineEnd=cO,fC.point=j9}}function cf(){return !0}function dQ(q,F,B,b,E){var x=[],m=[];if(q.forEach(function(H){if(!((g=H.length-1)<=0)){var g,p=H[0],o=H[g];if(fJ(p,o)){E.lineStart();for(var f=0;g>f;++f){E.point((p=H[f])[0],p[1])}return E.lineEnd(),void 0}var u=new d1(p,H,null,!0),l=new d1(p,null,u,!1);u.o=l,x.push(u),m.push(l),u=new d1(o,H,null,!1),l=new d1(o,null,u,!0),u.o=l,x.push(u),m.push(l)}}),m.sort(F),c6(x),c6(m),x.length){for(var D=0,C=B,G=m.length;G>D;++D){m[D].e=C=!C}for(var v,A,y=x[0];;){for(var z=y,k=!0;z.v;){if((z=z.n)===y){return}}v=z.z,E.lineStart();do{if(z.v=z.o.v=!0,z.e){if(k){for(var D=0,G=v.length;G>D;++D){E.point((A=v[D])[0],A[1])}}else{b(z.x,z.n.x,1,E)}z=z.n}else{if(k){v=z.p.z;for(var D=v.length-1;D>=0;--D){E.point((A=v[D])[0],A[1])}}else{b(z.x,z.p.x,-1,E)}z=z.p}z=z.o,v=z.z,k=!k}while(!z.v);E.lineEnd()}}}function c6(g){if(b=g.length){for(var b,f,c=0,a=g[0];++c<b;){a.n=f=g[c],f.p=a,a=f}a.n=f=g[0],f.p=a}}function d1(f,a,c,b){this.x=f,this.z=a,this.o=c,this.e=b,this.v=!1,this.n=this.p=null}function bV(f,a,c,b){return function(I,r){function k(g,m){var l=I(g,m);f(g=l[0],m=l[1])&&r.point(g,m)}function G(m,g){var l=I(m,g);C.point(l[0],l[1])}function D(){E.point=G,C.lineStart()}function J(){E.point=k,C.lineEnd()}function q(m,g){H.push([m,g]);var l=I(m,g);B.point(l[0],l[1])}function A(){B.lineStart(),H=[]}function t(){q(H[0][0],H[0][1]),B.lineEnd();var v,l=B.clean(),p=F.buffer(),m=p.length;if(H.pop(),e.push(H),H=null,m){if(1&l){v=p[0];var g,m=v.length-1,s=-1;for(r.lineStart();++s<m;){r.point((g=v[s])[0],g[1])}return r.lineEnd(),void 0}m>1&&2&l&&p.push(p.pop().concat(p.shift())),z.push(p.filter(dx))}}var z,e,H,C=a(r),n=I.invert(b[0],b[1]),E={point:k,lineStart:D,lineEnd:J,polygonStart:function(){E.point=q,E.lineStart=A,E.lineEnd=t,z=[],e=[],r.polygonStart()},polygonEnd:function(){E.point=k,E.lineStart=D,E.lineEnd=J,z=d7.merge(z);var g=hW(n,e);z.length?dQ(z,kF,g,c,r):g&&(r.lineStart(),c(null,null,1,r),r.lineEnd()),r.polygonEnd(),z=e=null},sphere:function(){r.polygonStart(),r.lineStart(),c(null,null,1,r),r.lineEnd(),r.polygonEnd()}},F=iF(),B=a(F);return E}}function dx(a){return a.length>1}function iF(){var b,a=[];return{lineStart:function(){a.push(b=[])},point:function(c,f){b.push([c,f])},lineEnd:iV,buffer:function(){var c=a;return a=[],b=null,c},rejoin:function(){a.length>1&&a.push(a.pop().concat(a.shift()))}}}function kF(b,a){return((b=b.x)[0]<0?b[1]-cK-bP:cK-b[1])-((a=a.x)[0]<0?a[1]-cK-bP:cK-a[1])}function hW(N,H){var W=N[0],J=N[1],F=[Math.sin(W),-Math.cos(W),0],R=0,L=0;gG.reset();for(var aa=0,Y=H.length;Y>aa;++aa){var I=H[aa],P=I.length;if(P){for(var V=I[0],T=V[0],U=V[1]/2+fD/4,K=Math.sin(U),D=Math.cos(U),X=1;;){X===P&&(X=0),N=I[X];var O=N[0],A=N[1]/2+fD/4,B=Math.sin(A),z=Math.cos(A),ac=O-T,Z=km(ac)>fD,C=K*B;if(gG.add(Math.atan2(C*Math.sin(ac),D*z+C*Math.cos(ac))),R+=Z?ac+(ac>=0?a5:-a5):ac,Z^T>=W^O>=W){var q=jU(eL(V),eL(N));f7(q);var Q=jU(F,q);f7(Q);var G=(Z^ac>=0?-1:1)*jG(Q[2]);(J>G||J===G&&(q[0]||q[1]))&&(L+=Z^ac>=0?1:-1)}if(!X++){break}T=O,K=B,D=z,V=N}}}return(-bP>R||bP>R&&0>gG)^1&L}function fO(g){var b,f=0/0,c=0/0,a=0/0;return{lineStart:function(){g.lineStart(),b=1},point:function(k,l){var e=k>0?fD:-fD,m=km(k-f);km(m-fD)<bP?(g.point(f,c=(c+l)/2>0?cK:-cK),g.point(a,c),g.lineEnd(),g.lineStart(),g.point(e,c),g.point(k,c),b=0):a!==e&&m>=fD&&(km(f-a)<bP&&(f-=a*bP),km(k-e)<bP&&(k-=e*bP),c=ey(f,c,k,l),g.point(a,c),g.lineEnd(),g.lineStart(),g.point(e,c),b=0),g.point(f=k,c=l),a=e},lineEnd:function(){g.lineEnd(),f=c=0/0},clean:function(){return 2-b}}}function ey(l,c,g,f){var a,b,k=Math.sin(l-g);return km(k)>bP?Math.atan((Math.sin(c)*(b=Math.cos(f))*Math.sin(g)-Math.sin(f)*(a=Math.cos(c))*Math.sin(l))/(a*b*k)):(c+f)/2}function bU(k,c,g,f){var a;if(null==k){a=g*cK,f.point(-fD,a),f.point(0,a),f.point(fD,a),f.point(fD,0),f.point(fD,-a),f.point(0,-a),f.point(-fD,-a),f.point(-fD,0),f.point(-fD,a)}else{if(km(k[0]-c[0])>bP){var b=k[0]<c[0]?fD:-fD;a=g*b/2,f.point(-b,a),f.point(0,a),f.point(b,a)}else{f.point(c[0],c[1])}}}function hK(g){function s(c,a){return Math.cos(c)*Math.cos(a)>k}function l(v){var t,o,u,r,a;return{lineStart:function(){r=u=!1,a=1},point:function(y,n){var x,z=[y,n],e=s(y,n),A=f?e?0:q(y,n):e?q(y+(0>y?fD:-fD),n):0;if(!t&&(r=u=e)&&v.lineStart(),e!==u&&(x=b(t,z),(fJ(t,x)||fJ(z,x))&&(z[0]+=bP,z[1]+=bP,e=s(z[0],z[1]))),e!==u){a=0,e?(v.lineStart(),x=b(z,t),v.point(x[0],x[1])):(x=b(t,z),v.point(x[0],x[1]),v.lineEnd()),t=x}else{if(p&&t&&f^e){var c;A&o||!(c=b(z,t,!0))||(a=0,f?(v.lineStart(),v.point(c[0][0],c[0][1]),v.point(c[1][0],c[1][1]),v.lineEnd()):(v.point(c[1][0],c[1][1]),v.lineEnd(),v.lineStart(),v.point(c[0][0],c[0][1])))}}!e||t&&fJ(t,z)||v.point(z[0],z[1]),t=z,u=e,o=A},lineEnd:function(){u&&v.lineEnd(),t=null},clean:function(){return a|(r&&u)<<1}}}function b(X,P,al){var T=eL(X),K=eL(P),W=[1,0,0],au=jU(T,K),ar=c1(au,au),Q=au[0],Z=ar-Q*Q;if(!Z){return !al&&X}var ai=k*ar/Z,ac=-k*Q/Z,ae=jU(W,au),V=bb(W,ai),J=bb(au,ac);fw(V,J);var ao=ae,Y=c1(V,ao),G=c1(ao,ao),H=Y*Y-G*(c1(V,V)-1);if(!(0>H)){var D=Math.sqrt(H),ba=bb(ao,(-Y-D)/G);if(fw(ba,V),ba=em(ba),!al){return ba}var at,I=X[0],z=P[0],aa=X[1],O=P[1];I>z&&(at=I,I=z,z=at);var U=z-I,R=km(U-fD)<bP,B=R||bP>U;if(!R&&aa>O&&(at=aa,aa=O,O=at),B?R?aa+O>0^ba[1]<(km(ba[0]-I)<bP?aa:O):aa<=ba[1]&&ba[1]<=O:U>fD^(I<=ba[0]&&ba[0]<=z)){var F=bb(ao,(-Y+D)/G);return fw(F,V),[ba,em(F)]}}}function q(c,o){var n=f?g:fD-g,a=0;return -n>c?a|=1:c>n&&(a|=2),-n>o?a|=4:o>n&&(a|=8),a}var k=Math.cos(g),f=k>0,p=km(k)>bP,m=hO(g,6*hQ);return bV(s,l,m,f?[0,-g]:[-fD,g-fD])}function cT(f,a,c,b){return function(A){var n,k=A.a,y=A.b,x=k.x,B=k.y,m=y.x,t=y.y,q=0,r=1,e=m-x,z=t-B;if(n=f-x,e||!(n>0)){if(n/=e,0>e){if(q>n){return}r>n&&(r=n)}else{if(e>0){if(n>r){return}n>q&&(q=n)}}if(n=c-x,e||!(0>n)){if(n/=e,0>e){if(n>r){return}n>q&&(q=n)}else{if(e>0){if(q>n){return}r>n&&(r=n)}}if(n=a-B,z||!(n>0)){if(n/=z,0>z){if(q>n){return}r>n&&(r=n)}else{if(z>0){if(n>r){return}n>q&&(q=n)}}if(n=b-B,z||!(0>n)){if(n/=z,0>z){if(n>r){return}n>q&&(q=n)}else{if(z>0){if(q>n){return}r>n&&(r=n)}}return q>0&&(A.a={x:x+q*e,y:B+q*z}),1>r&&(A.b={x:x+r*e,y:B+r*z}),A}}}}}}function bB(l,c,g,f){function a(m,e){return km(m[0]-l)<bP?e>0?0:3:km(m[0]-g)<bP?e>0?2:1:km(m[1]-c)<bP?e>0?1:0:e>0?3:2}function b(m,e){return k(m.x,e.x)}function k(q,m){var p=a(q,1),o=a(m,1);return p!==o?p-o:0===p?m[1]-q[1]:1===p?q[0]-m[0]:2===p?q[1]-m[1]:m[0]-q[0]}return function(V){function T(s){for(var L=0,y=I.length,m=s[1],E=0;y>E;++E){for(var x,p=1,C=I[E],A=C.length,v=C[0];A>p;++p){x=C[p],v[1]<=m?x[1]>m&&D(v,x,s)>0&&++L:x[1]<=m&&D(v,x,s)<0&&--L,v=x}}return 0!==L}function D(s,m,p){return(m[0]-s[0])*(p[1]-s[1])-(p[0]-s[0])*(m[1]-s[1])}function J(v,p,A,x){var m=0,y=0;if(null==v||(m=a(v,A))!==(y=a(p,A))||k(v,p)<0^A>0){do{x.point(0===m||3===m?l:g,m>1?f:c)}while((m=(m+A+4)%4)!==y)}else{x.point(p[0],p[1])}}function Q(m,p){return m>=l&&g>=m&&p>=c&&f>=p}function O(p,m){Q(p,m)&&V.point(p,m)}function P(){q.point=z,I&&I.push(r=[]),K=!0,e=!1,U=u=0/0}function H(){R&&(z(t,o),W&&e&&F.rejoin(),R.push(F.buffer())),q.point=O,e&&V.lineEnd()}function z(v,m){v=Math.max(-cI,Math.min(cI,v)),m=Math.max(-cI,Math.min(cI,m));var s=Q(v,m);if(I&&r.push([v,m]),K){t=v,o=m,W=s,K=!1,s&&(V.lineStart(),V.point(v,m))}else{if(s&&e){V.point(v,m)}else{var p={a:{x:U,y:u},b:{x:v,y:m}};n(p)?(e||(V.lineStart(),V.point(p.a.x,p.a.y)),V.point(p.b.x,p.b.y),s||V.lineEnd(),B=!1):s&&(V.lineStart(),V.point(v,m),B=!1)}}U=v,u=m,e=s}var R,I,r,t,o,W,U,u,e,K,B,G=V,F=iF(),n=cT(l,c,g,f),q={point:O,lineStart:P,lineEnd:H,polygonStart:function(){V=F,R=[],I=[],B=!0},polygonEnd:function(){V=G,R=d7.merge(R);var p=T([l,f]),s=B&&p,m=R.length;(s||m)&&(V.polygonStart(),s&&(V.lineStart(),J(null,null,1,V),V.lineEnd()),m&&dQ(R,b,p,J,V),V.polygonEnd()),R=I=r=null}};return q}}function gf(c,a){function b(g,f){return g=c(g,f),a(g[0],g[1])}return c.invert&&a.invert&&(b.invert=function(g,f){return g=a.invert(g,f),g&&c.invert(g[0],g[1])}),b}function dV(g){var b=0,f=fD/3,c=jI(g),a=c(b,f);return a.parallels=function(e){return arguments.length?c(b=e[0]*fD/180,f=e[1]*fD/180):[180*(b/fD),180*(f/fD)]},a}function kk(l,c){function g(p,m){var o=Math.sqrt(b-2*a*Math.sin(m))/a;return[o*Math.sin(p*=a),k-o*Math.cos(p)]}var f=Math.sin(l),a=(f+Math.sin(c))/2,b=1+f*(2*a-f),k=Math.sqrt(b)/a;return g.invert=function(p,m){var o=k-m;return[Math.atan2(p,o)/a,jG((b-(p*p+o*o)*a*a)/(2*a))]},g}function iR(){function g(k,e){g3+=a*k-c*e,c=k,a=e}var b,f,c,a;fG.point=function(e,k){fG.point=g,b=c=e,f=a=k},fG.lineEnd=function(){g(b,f)}}function cn(b,a){hP>b&&(hP=b),b>df&&(df=b),eV>a&&(eV=a),a>kd&&(kd=a)}function e9(){function p(e,a){m.push("M",e,",",a,f)}function g(e,a){m.push("M",e,",",a),b.point=l}function l(e,a){m.push("L",e,",",a)}function k(){b.point=p}function c(){m.push("Z")}var f=hm(4.5),m=[],b={point:p,lineStart:function(){b.point=g},lineEnd:k,polygonStart:function(){b.lineEnd=c},polygonEnd:function(){b.lineEnd=k,b.point=p},pointRadius:function(a){return f=hm(a),b},result:function(){if(m.length){var a=m.join("");return m=[],a}}};return b}function hm(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function gF(b,a){h2+=b,eR+=a,++kH}function gY(){function c(l,g){var e=l-a,f=g-b,k=Math.sqrt(e*e+f*f);ay+=k*(a+l)/2,hw+=k*(b+g)/2,aE+=k,gF(a=l,b=g)}var a,b;gm.point=function(f,e){gm.point=c,gF(a=f,b=e)}}function dC(){gm.point=gF}function a9(){function g(q,l){var m=q-c,k=l-a,p=Math.sqrt(m*m+k*k);ay+=p*(c+q)/2,hw+=p*(a+l)/2,aE+=p,p=a*q-c*l,jK+=p*(c+q),aU+=p*(a+l),fh+=3*p,gF(c=q,a=l)}var b,f,c,a;gm.point=function(e,k){gm.point=g,gF(b=c=e,f=a=k)},gm.lineEnd=function(){g(b,f)}}function h1(p){function g(a,n){p.moveTo(a,n),p.arc(a,n,m,0,a5)}function l(a,n){p.moveTo(a,n),b.point=k}function k(a,n){p.lineTo(a,n)}function c(){b.point=g}function f(){p.closePath()}var m=4.5,b={point:g,lineStart:function(){b.point=l},lineEnd:c,polygonStart:function(){b.lineEnd=f},polygonEnd:function(){b.lineEnd=c,b.point=g},pointRadius:function(a){return m=a,b},result:iV};return b}function eQ(p){function g(a){return(b?k:l)(a)}function l(a){return hv(a,function(o,n){o=p(o,n),a.point(o[0],o[1])})}function k(B){function N(s,o){s=p(s,o),B.point(s[0],s[1])}function D(){u=0/0,a.point=I,B.lineStart()}function I(v,t){var s=eL([v,t]),x=p(v,t);c(u,n,q,R,Q,z,u=x[0],n=x[1],q=v,R=s[0],Q=s[1],z=s[2],b,B),B.point(u,n)}function F(){a.point=N,B.lineEnd()}function P(){D(),a.point=C,a.lineEnd=H}function C(o,e){I(L=o,J=e),K=u,E=n,A=R,O=Q,G=z,a.point=I}function H(){c(u,n,q,R,Q,z,K,E,L,A,O,G,b,B),a.lineEnd=F,F()}var L,J,K,E,A,O,G,q,u,n,R,Q,z,a={point:N,lineStart:D,lineEnd:F,polygonStart:function(){B.polygonStart(),a.lineStart=P},polygonEnd:function(){B.polygonEnd(),a.lineStart=D}};return a}function c(J,ac,P,ao,ai,K,W,aa,Y,Z,U,H,ae,V){var D=W-J,F=aa-ac,z=D*D+F*F;if(z>4*f&&ae--){var ar=ao+Z,al=ai+U,G=K+H,o=Math.sqrt(ar*ar+al*al+G*G),X=Math.asin(G/=o),I=km(km(G)-1)<bP||km(P-Y)<bP?(P+Y)/2:Math.atan2(al,ar),R=p(I,X),O=R[0],u=R[1],B=O-J,n=u-ac,Q=F*B-D*n;(Q*Q/z>f||km((D*B+F*n)/z-0.5)>0.3||m>ao*Z+ai*U+K*H)&&(c(J,ac,P,ao,ai,K,O,u,I,ar/=o,al/=o,G,ae,V),V.point(O,u),c(O,u,I,ar,al,G,W,aa,Y,Z,U,H,ae,V))}}var f=0.5,m=Math.cos(30*hQ),b=16;return g.precision=function(a){return arguments.length?(b=(f=a*a)>0&&16,g):Math.sqrt(f)},g}function kE(b){var a=eQ(function(c,f){return b([c*eW,f*eW])});return function(c){return aR(a(c))}}function av(a){this.stream=a}function hv(b,a){return{point:a,sphere:function(){b.sphere()},lineStart:function(){b.lineStart()},lineEnd:function(){b.lineEnd()},polygonStart:function(){b.polygonStart()},polygonEnd:function(){b.polygonEnd()}}}function aD(a){return jI(function(){return a})()}function jI(I){function D(a){return a=U(a[0]*hQ,a[1]*hQ),[a[0]*N+S,E-a[1]*N]}function Q(a){return a=U.invert((a[0]-S)/N,(E-a[1])/N),a&&[a[0]*eW,a[1]*eW]}function F(){U=gf(H=a0(J,q,z),L);var a=L(B,R);return S=O-a[0]*N,E=G+a[1]*N,C()}function C(){return K&&(K.valid=!1,K=null),D}var L,H,U,S,E,K,P=eQ(function(b,a){return b=L(b,a),[b[0]*N+S,E-b[1]*N]}),N=150,O=480,G=250,B=0,R=0,J=0,q=0,z=0,k=a3,V=a1,T=null,A=null;return D.stream=function(a){return K&&(K.valid=!1),K=aR(k(H,P(V(a)))),K.valid=!0,K},D.clipAngle=function(a){return arguments.length?(k=null==a?(T=a,a3):hK((T=+a)*hQ),C()):T},D.clipExtent=function(a){return arguments.length?(A=a,V=a?bB(a[0][0],a[0][1],a[1][0],a[1][1]):a1,C()):A},D.scale=function(a){return arguments.length?(N=+a,F()):N},D.translate=function(a){return arguments.length?(O=+a[0],G=+a[1],F()):[O,G]},D.center=function(a){return arguments.length?(B=a[0]%360*hQ,R=a[1]%360*hQ,F()):[B*eW,R*eW]},D.rotate=function(a){return arguments.length?(J=a[0]%360*hQ,q=a[1]%360*hQ,z=a.length>2?a[2]%360*hQ:0,F()):[J*eW,q*eW,z*eW]},d7.rebind(D,P,"precision"),function(){return L=I.apply(this,arguments),D.invert=L.invert&&Q,F()}}function aR(a){return hv(a,function(b,c){a.point(b*hQ,c*hQ)})}function fg(b,a){return[b,a]}function fB(b,a){return[b>fD?b-a5:-fD>b?b+a5:b,a]}function a0(c,a,b){return c?a||b?gf(bK(c),g2(a,b)):bK(c):a||b?g2(a,b):fB}function cF(a){return function(b,c){return b+=a,[b>fD?b-a5:-fD>b?b+a5:b,c]}}function bK(b){var a=cF(b);return a.invert=cF(-b),a}function g2(l,c){function g(v,p){var r=Math.cos(p),o=Math.cos(v)*r,u=Math.sin(v)*r,q=Math.sin(p),m=q*f+o*a;return[Math.atan2(u*b-m*k,o*f-q*a),jG(m*b+u*k)]}var f=Math.cos(l),a=Math.sin(l),b=Math.cos(c),k=Math.sin(c);return g.invert=function(v,p){var r=Math.cos(p),o=Math.cos(v)*r,u=Math.sin(v)*r,q=Math.sin(p),m=q*b-u*k;return[Math.atan2(u*b+q*k,o*f+m*a),jG(m*f-o*a)]},g}function hO(f,a){var c=Math.cos(f),b=Math.sin(f);return function(k,m,p,g){var q=p*a;null!=k?(k=eU(c,k),m=eU(c,m),(p>0?m>k:k>m)&&(k+=p*a5)):(k=f+p*a5,m=f-0.5*q);for(var n,e=k;p>0?e>m:m>e;e-=q){g.point((n=em([c,-b*Math.cos(e),-b*Math.sin(e)]))[0],n[1])}}}function eU(f,a){var c=eL(a);c[0]-=f,f7(c);var b=iK(-c[1]);return((-c[2]<0?-b:b)+2*Math.PI-bP)%(2*Math.PI)}function dd(f,a,c){var b=d7.range(f,a-bP,c).concat(a);return function(e){return b.map(function(g){return[e,g]})}}function j7(f,a,c){var b=d7.range(f,a-bP,c).concat(a);return function(e){return b.map(function(g){return[g,e]})}}function fF(a){return a.source}function bm(a){return a.target}function gk(q,F,B,b){var E=Math.cos(F),x=Math.sin(F),m=Math.cos(b),D=Math.sin(b),C=E*Math.cos(q),G=E*Math.sin(q),v=m*Math.cos(B),A=m*Math.sin(B),y=2*Math.asin(Math.sqrt(jF(b-F)+E*m*jF(B-q))),z=1/Math.sin(y),k=y?function(p){var c=Math.sin(p*=y)*z,g=Math.sin(y-p)*z,f=g*C+c*v,a=g*G+c*A,l=g*x+c*D;return[Math.atan2(a,f)*eW,Math.atan2(l,Math.sqrt(f*f+a*a))*eW]}:function(){return[q*eW,F*eW]};return k.distance=y,k}function eC(){function f(p,g){var k=Math.sin(g*=hQ),l=Math.cos(g),e=km((p*=hQ)-a),m=Math.cos(e);eD+=Math.atan2(Math.sqrt((e=l*Math.sin(e))*e+(e=b*k-c*l*m)*e),c*k+b*l*m),a=p,c=k,b=l}var a,c,b;fU.point=function(e,g){a=e*hQ,c=Math.sin(g*=hQ),b=Math.cos(g),fU.point=f},fU.lineEnd=function(){fU.point=fU.lineEnd=iV}}function fT(c,a){function b(k,m){var l=Math.cos(k),f=Math.cos(m),g=c(l*f);return[g*f*Math.sin(k),g*Math.sin(m)]}return b.invert=function(p,l){var k=Math.sqrt(p*p+l*l),f=a(k),g=Math.sin(f),m=Math.cos(f);return[Math.atan2(p*g,k*m),Math.asin(k&&l*g/k)]},b}function kv(l,c){function g(p,m){var o=km(km(m)-cK)<bP?0:k/Math.pow(a(m),b);return[o*Math.sin(b*p),k-o*Math.cos(b*p)]}var f=Math.cos(l),a=function(e){return Math.tan(fD/4+e/2)},b=l===c?Math.sin(l):Math.log(f/Math.cos(c))/Math.log(a(c)/a(l)),k=f*Math.pow(a(l),b)/b;return b?(g.invert=function(q,m){var p=k-m,o=jf(b)*Math.sqrt(q*q+p*p);return[Math.atan2(q,p)/b,2*Math.atan(Math.pow(k/o,1/b))-cK]},g):gJ}function aI(k,c){function g(o,l){var m=b-l;return[m*Math.sin(a*o),b-m*Math.cos(a*o)]}var f=Math.cos(k),a=k===c?Math.sin(k):(f-Math.cos(c))/(c-k),b=f/a+k;return km(a)<bP?fg:(g.invert=function(o,l){var m=b-l;return[Math.atan2(o,m)/a,b-jf(a)*Math.sqrt(o*o+m*m)]},g)}function gJ(b,a){return[b,Math.log(Math.tan(fD/4+a/2))]}function cX(k){var c,g=aD(k),f=g.scale,a=g.translate,b=g.clipExtent;return g.scale=function(){var e=f.apply(g,arguments);return e===g?c?g.clipExtent(null):g:e},g.translate=function(){var e=a.apply(g,arguments);return e===g?c?g.clipExtent(null):g:e},g.clipExtent=function(p){var l=b.apply(g,arguments);if(l===g){if(c=null==p){var e=fD*f(),m=a();b([[m[0]-e,m[1]-e],[m[0]+e,m[1]+e]])}}else{c&&(l=null)}return l},g.clipExtent(null)}function jT(c,a){var b=Math.cos(a)*Math.sin(c);return[Math.log((1+b)/(1-b))/2,Math.atan2(Math.tan(a),Math.cos(c))]}function cA(a){return a[0]}function d0(a){return a[1]}function dj(g,y,p,b){var x,m,f,v,q,z,k;return x=b[g],m=x[0],f=x[1],x=b[y],v=x[0],q=x[1],x=b[p],z=x[0],k=x[1],(k-f)*(v-m)-(q-f)*(z-m)>0}function ek(c,a,b){return(b[0]-a[0])*(c[1]-a[1])<(b[1]-a[1])*(c[0]-a[0])}function b3(k,B,x,b){var A=k[0],p=x[0],g=B[0]-A,z=b[0]-p,y=k[1],C=x[1],m=B[1]-y,v=b[1]-C,q=(z*(y-C)-v*(A-p))/(v*g-z*m);return[A+q*g,y+q*m]}function dG(c){var a=c[0],b=c[c.length-1];return !(a[0]-b[0]||a[1]-b[1])}function i1(){eI(this),this.edge=this.site=this.circle=null}function kN(b){var a=i2.pop()||new i1;return a.site=b,a}function h5(a){iv(a),ep.remove(a),i2.push(a),eI(a)}function fX(k){var A=k.circle,v=A.x,b=A.cy,z={x:v,y:b},p=k.P,g=k.N,y=[k];h5(k);for(var x=p;x.circle&&km(v-x.circle.x)<bP&&km(b-x.circle.cy)<bP;){p=x.P,y.unshift(x),h5(x),x=p}y.unshift(x),iv(x);for(var B=g;B.circle&&km(v-B.circle.x)<bP&&km(b-B.circle.cy)<bP;){g=B.N,y.push(B),h5(B),B=g}y.push(B),iv(B);var m,q=y.length;for(m=1;q>m;++m){B=y[m],x=y[m-1],dq(B.edge,x.site,B.site,z)}x=y[0],B=y[q-1],B.edge=gw(x.site,B.site,null,z),j3(x),j3(B)}function ed(G){for(var B,O,D,A,J=G.x,F=G.y,R=ep._;R;){if(D=bO(R,F)-J,D>bP){R=R.L}else{if(A=J-hB(R,F),!(A>bP)){D>-bP?(B=R.P,O=R):A>-bP?(B=R,O=R.N):B=O=R;break}if(!R.R){B=R;break}R=R.R}}var Q=kN(G);if(ep.insert(B,Q),B||O){if(B===O){return iv(B),O=kN(B.site),ep.insert(Q,O),Q.edge=O.edge=gw(B.site,Q.site),j3(B),j3(O),void 0}if(!O){return Q.edge=gw(B.site,Q.site),void 0}iv(B),iv(O);var C=B.site,I=C.x,N=C.y,K=G.x-I,L=G.y-N,E=O.site,z=E.x-I,P=E.y-N,H=2*(K*P-L*z),k=K*K+L*L,q=z*z+P*P,b={x:(P*k-L*q)/H+I,y:(K*q-z*k)/H+N};dq(O.edge,C,E,b),Q.edge=gw(C,G,null,b),O.edge=gw(G,E,null,b),j3(B),j3(O)}}function bO(k,B){var x=k.site,b=x.x,A=x.y,p=A-B;if(!p){return b}var g=k.P;if(!g){return -1/0}x=g.site;var z=x.x,y=x.y,C=y-B;if(!C){return z}var m=z-b,v=1/p-1/C,q=m/C;return v?(-q+Math.sqrt(q*q-2*v*(m*m/(-2*C)-y+C/2+A-p/2)))/v+b:(b+z)/2}function hB(f,a){var c=f.N;if(c){return bO(c,a)}var b=f.site;return b.y===a?b.x:1/0}function cJ(a){this.site=a,this.edges=[]}function bv(q){for(var I,C,b,H,y,m,F,E,J,x,B=q[0][0],z=q[1][0],A=q[0][1],k=q[1][1],G=dk,D=G.length;D--;){if(y=G[D],y&&y.prepare()){for(F=y.edges,E=F.length,m=0;E>m;){x=F[m].end(),b=x.x,H=x.y,J=F[++m%E].start(),I=J.x,C=J.y,(km(b-I)>bP||km(H-C)>bP)&&(F.splice(m,0,new a4(gP(y.site,x,km(b-B)<bP&&k-H>bP?{x:B,y:km(I-B)<bP?C:k}:km(H-k)<bP&&z-b>bP?{x:km(C-k)<bP?I:z,y:k}:km(b-z)<bP&&H-A>bP?{x:z,y:km(I-z)<bP?C:A}:km(H-A)<bP&&b-B>bP?{x:km(C-A)<bP?I:B,y:A}:null),y.site,null)),++E)}}}}function f3(b,a){return a.angle-b.angle}function dM(){eI(this),this.x=this.y=this.arc=this.site=this.cy=null}function j3(F){var A=F.P,M=F.N;if(A&&M){var C=A.site,z=F.site,I=M.site;if(C!==I){var E=z.x,P=z.y,O=C.x-E,B=C.y-P,H=I.x-E,L=I.y-P,J=2*(O*L-B*H);if(!(J>=-g4)){var K=O*O+B*B,D=H*H+L*L,q=(L*K-B*D)/J,N=(O*D-H*K)/J,L=N+P,G=ab.pop()||new dM;G.arc=F,G.site=z,G.x=q+E,G.y=L+Math.sqrt(q*q+N*N),G.cy=L,F.circle=G;for(var b=null,k=dH._;k;){if(G.y<k.y||G.y===k.y&&G.x<=k.x){if(!k.L){b=k.P;break}k=k.L}else{if(!k.R){b=k;break}k=k.R}}dH.insert(b,G),b||(b6=G)}}}}function iv(b){var a=b.circle;a&&(a.P||(b6=a.N),dH.remove(a),ab.push(a),eI(a),b.circle=null)}function b7(g){for(var b,f=d4,c=cT(g[0][0],g[0][1],g[1][0],g[1][1]),a=f.length;a--;){b=f[a],(!e0(b,g)||!c(b)||km(b.a.x-b.b.x)<bP&&km(b.a.y-b.b.y)<bP)&&(b.a=b.b=null,f.splice(a,1))}}function e0(B,q){var I=B.b;if(I){return !0}var y,k,E=B.a,A=q[0][0],L=q[1][0],K=q[0][1],x=q[1][1],D=B.l,H=B.r,F=D.x,G=D.y,z=H.x,b=H.y,J=(F+z)/2,C=(G+b)/2;if(b===G){if(A>J||J>=L){return}if(F>z){if(E){if(E.y>=x){return}}else{E={x:J,y:K}}I={x:J,y:x}}else{if(E){if(E.y<K){return}}else{E={x:J,y:x}}I={x:J,y:K}}}else{if(y=(F-z)/(b-G),k=C-y*J,-1>y||y>1){if(F>z){if(E){if(E.y>=x){return}}else{E={x:(K-k)/y,y:K}}I={x:(x-k)/y,y:x}}else{if(E){if(E.y<K){return}}else{E={x:(x-k)/y,y:x}}I={x:(K-k)/y,y:K}}}else{if(b>G){if(E){if(E.x>=L){return}}else{E={x:A,y:y*A+k}}I={x:L,y:y*L+k}}else{if(E){if(E.x<A){return}}else{E={x:L,y:y*L+k}}I={x:A,y:y*A+k}}}}return B.a=E,B.b=I,!0}function g8(b,a){this.l=b,this.r=a,this.a=this.b=null}function gw(g,b,f,c){var a=new g8(g,b);return d4.push(a),f&&dq(a,g,b,f),c&&dq(a,b,g,c),dk[g.i].edges.push(new a4(a,g,b)),dk[b.i].edges.push(new a4(a,b,g)),a}function gP(f,a,c){var b=new g8(f,null);return b.a=a,b.b=c,d4.push(b),b}function dq(f,a,c,b){f.a||f.b?f.l===c?f.b=b:f.a=b:(f.a=b,f.l=a,f.r=c)}function a4(g,b,f){var c=g.a,a=g.b;this.edge=g,this.site=b,this.angle=f?Math.atan2(f.y-b.y,f.x-b.x):g.l===b?Math.atan2(a.x-c.x,c.y-a.y):Math.atan2(c.x-a.x,a.y-c.y)}function hU(){this._=null}function eI(a){a.U=a.C=a.L=a.R=a.P=a.N=null}function kz(g,b){var f=b,c=b.R,a=f.U;a?a.L===f?a.L=c:a.R=c:g._=c,c.U=a,f.U=c,f.R=c.L,f.R&&(f.R.U=f),c.L=f}function ad(g,b){var f=b,c=b.L,a=f.U;a?a.L===f?a.L=c:a.R=c:g._=c,c.U=a,f.U=c,f.L=c.R,f.L&&(f.L.U=f),c.R=f}function hh(a){for(;a.L;){a=a.L}return a}function am(l,c){var g,f,a,b=l.sort(jh).pop();for(d4=[],dk=new Array(l.length),ep=new hU,dH=new hU;;){if(a=b6,b&&(!a||b.y<a.y||b.y===a.y&&b.x<a.x)){(b.x!==g||b.y!==f)&&(dk[b.i]=new cJ(b),ed(b),g=b.x,f=b.y),b=l.pop()}else{if(!a){break}fX(a.arc)}}c&&(b7(c),bv(c));var k={cells:dk,edges:d4};return ep=dH=d4=dk=null,k}function jh(b,a){return a.y-b.y||a.x-b.x}function aM(c,a,b){return(c.x-b.x)*(a.y-c.y)-(c.x-a.x)*(b.y-c.y)}function e6(a){return a.x}function fp(a){return a.y}function aV(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function cw(g,s,l,b,q,k){if(!g(s,l,b,q,k)){var f=0.5*(l+q),p=0.5*(b+k),m=s.nodes;m[0]&&cw(g,m[0],l,b,f,p),m[1]&&cw(g,m[1],f,b,q,p),m[2]&&cw(g,m[2],l,p,f,k),m[3]&&cw(g,m[3],f,p,q,k)}}function bF(p,g){p=d7.rgb(p),g=d7.rgb(g);var l=p.r,k=p.g,c=p.b,f=g.r-l,m=g.g-k,b=g.b-c;return function(a){return"#"+ik(Math.round(l+f*a))+ik(Math.round(k+m*a))+ik(Math.round(c+b*a))}}function gV(g,b){var f,c={},a={};for(f in g){f in b?c[f]=c3(g[f],b[f]):a[f]=g[f]}for(f in b){f in g||(a[f]=b[f])}return function(e){for(f in c){a[f]=c[f](e)}return a}}function hH(b,a){return a-=b=+b,function(c){return b+a*c}}function eN(g,y){var p,b,x,m,f,v=0,q=0,z=[],k=[];for(g+="",y+="",fY.lastIndex=0,b=0;p=fY.exec(y);++b){p.index&&z.push(y.substring(v,q=p.index)),k.push({i:z.length,x:p[0]}),z.push(null),v=fY.lastIndex}for(v<y.length&&z.push(y.substring(v)),b=0,m=k.length;(p=fY.exec(g))&&m>b;++b){if(f=k[b],f.x==p[0]){if(f.i){if(null==z[f.i+1]){for(z[f.i-1]+=f.x,z.splice(f.i,1),x=b+1;m>x;++x){k[x].i--}}else{for(z[f.i-1]+=f.x+z[f.i+1],z.splice(f.i,2),x=b+1;m>x;++x){k[x].i-=2}}}else{if(null==z[f.i+1]){z[f.i]=f.x}else{for(z[f.i]=f.x+z[f.i+1],z.splice(f.i+1,1),x=b+1;m>x;++x){k[x].i--}}}k.splice(b,1),m--,b--}else{f.x=hH(parseFloat(p[0]),parseFloat(f.x))}}for(;m>b;){f=k.pop(),null==z[f.i+1]?z[f.i]=f.x:(z[f.i]=f.x+z[f.i+1],z.splice(f.i+1,1)),m--}return 1===z.length?null==z[0]?(f=k[0].x,function(a){return f(a)+""}):function(){return y}:function(a){for(b=0;m>b;++b){z[(f=k[b]).i]=f.x(a)}return z.join("")}}function c3(f,a){for(var c,b=d7.interpolators.length;--b>=0&&!(c=d7.interpolators[b](f,a));){}return c}function jX(p,g){var l,k=[],c=[],f=p.length,m=g.length,b=Math.min(p.length,g.length);for(l=0;b>l;++l){k.push(c3(p[l],g[l]))}for(;f>l;++l){c[l]=p[l]}for(;m>l;++l){c[l]=g[l]}return function(a){for(l=0;b>l;++l){c[l]=k[l](a)}return c}}function fy(a){return function(b){return 0>=b?0:b>=1?1:a(b)}}function bg(a){return function(b){return 1-a(1-b)}}function f9(a){return function(b){return 0.5*(0.5>b?a(2*b):2-a(2-2*b))}}function eq(a){return a*a}function fL(a){return a*a*a}function kf(c){if(0>=c){return 0}if(c>=1){return 1}var a=c*c,b=a*c;return 4*(0.5>c?b:3*(c-a)+b-0.75)}function az(a){return function(b){return Math.pow(b,a)}}function gC(a){return 1-Math.cos(a*cK)}function cQ(a){return Math.pow(2,10*(a-1))}function jA(a){return 1-Math.sqrt(1-a*a)}function ch(c,a){var b;return arguments.length<2&&(a=0.45),arguments.length?b=a/a5*Math.asin(1/c):(c=1,b=a/4),function(e){return 1+c*Math.pow(2,-10*e)*Math.sin((e-b)*a5/a)}}function dS(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function c8(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+0.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375}function d5(p,g){p=d7.hcl(p),g=d7.hcl(g);var l=p.h,k=p.c,c=p.l,f=g.h-l,m=g.c-k,b=g.l-c;return isNaN(m)&&(m=0,k=isNaN(k)?g.c:k),isNaN(f)?(f=0,l=isNaN(l)?g.h:l):f>180?f-=360:-180>f&&(f+=360),function(a){return jD(l+f*a,k+m*a,c+b*a)+""}}function bY(p,g){p=d7.hsl(p),g=d7.hsl(g);var l=p.h,k=p.s,c=p.l,f=g.h-l,m=g.s-k,b=g.l-c;return isNaN(m)&&(m=0,k=isNaN(k)?g.s:k),isNaN(f)?(f=0,l=isNaN(l)?g.h:l):f>180?f-=360:-180>f&&(f+=360),function(a){return kp(l+f*a,k+m*a,c+b*a)+""}}function dz(p,g){p=d7.lab(p),g=d7.lab(g);var l=p.l,k=p.a,c=p.b,f=g.l-l,m=g.a-k,b=g.b-c;return function(a){return jm(l+f*a,k+m*a,c+b*a)+""}}function iJ(b,a){return a-=b,function(c){return Math.round(b+a*c)}}function kI(k){var c=[k.a,k.b],g=[k.c,k.d],f=fQ(c),a=hY(c,g),b=fQ(d8(g,c,-a))||0;c[0]*g[1]<g[0]*c[1]&&(c[0]*=-1,c[1]*=-1,f*=-1,a*=-1),this.rotate=(f?Math.atan2(c[1],c[0]):Math.atan2(-g[0],g[1]))*eW,this.translate=[k.e,k.f],this.scale=[f,b],this.skew=b?Math.atan2(a,b)*eW:0}function hY(b,a){return b[0]*a[0]+b[1]*a[1]}function fQ(b){var a=Math.sqrt(hY(b,b));return a&&(b[0]/=a,b[1]/=a),a}function d8(c,a,b){return c[0]+=b*a[0],c[1]+=b*a[1],c}function bJ(q,F){var B,b=[],E=[],x=d7.transform(q),m=d7.transform(F),D=x.translate,C=m.translate,G=x.rotate,v=m.rotate,A=x.skew,y=m.skew,z=x.scale,k=m.scale;return D[0]!=C[0]||D[1]!=C[1]?(b.push("translate(",null,",",null,")"),E.push({i:1,x:hH(D[0],C[0])},{i:3,x:hH(D[1],C[1])})):C[0]||C[1]?b.push("translate("+C+")"):b.push(""),G!=v?(G-v>180?v+=360:v-G>180&&(G+=360),E.push({i:b.push(b.pop()+"rotate(",null,")")-2,x:hH(G,v)})):v&&b.push(b.pop()+"rotate("+v+")"),A!=y?E.push({i:b.push(b.pop()+"skewX(",null,")")-2,x:hH(A,y)}):y&&b.push(b.pop()+"skewX("+y+")"),z[0]!=k[0]||z[1]!=k[1]?(B=b.push(b.pop()+"scale(",null,",",null,")"),E.push({i:B-4,x:hH(z[0],k[0])},{i:B-2,x:hH(z[1],k[1])})):(1!=k[0]||1!=k[1])&&b.push(b.pop()+"scale("+k+")"),B=E.length,function(e){for(var c,a=-1;++a<B;){b[(c=E[a]).i]=c.x(e)}return b.join("")}}function hy(b,a){return a=a-(b=+b)?1/(a-b):0,function(c){return(c-b)*a}}function cE(b,a){return a=a-(b=+b)?1/(a-b):0,function(c){return Math.max(0,Math.min(1,(c-b)*a))}}function bl(k){for(var c=k.source,g=k.target,f=dJ(c,g),a=[c];c!==f;){c=c.parent,a.push(c)}for(var b=a.length;g!==f;){a.splice(b,0,g),g=g.parent}return a}function f0(c){for(var a=[],b=c.parent;null!=b;){a.push(c),c=b,b=b.parent}return a.push(c),a}function dJ(l,c){if(l===c){return l}for(var g=f0(l),f=f0(c),a=g.pop(),b=f.pop(),k=null;a===b;){k=a,a=g.pop(),b=f.pop()}return k}function j0(a){a.fixed|=2}function ih(a){a.fixed&=-7}function b2(a){a.fixed|=4,a.px=a.x,a.py=a.y}function eX(a){a.fixed&=-5}function g5(g,v,l){var b=0,q=0;if(g.charge=0,!g.leaf){for(var k,f=g.nodes,p=f.length,m=-1;++m<p;){k=f[m],null!=k&&(g5(k,v,l),g.charge+=k.charge,b+=k.charge*k.cx,q+=k.charge*k.cy)}}if(g.point){g.leaf||(g.point.x+=Math.random()-0.5,g.point.y+=Math.random()-0.5);var x=v*l[g.point.index];g.charge+=g.pointCharge=x,b+=x*g.point.x,q+=x*g.point.y}g.cx=b/g.charge,g.cy=q/g.charge}function gp(b,a){return d7.rebind(b,a,"sort","children","value"),b.nodes=b,b.links=hR,b}function gM(a){return a.children}function dm(a){return a.value}function aZ(b,a){return a.value-b.value}function hR(a){return d7.merge(a.map(function(b){return(b.children||[]).map(function(c){return{source:b,target:c}})}))}function eF(a){return a.x}function kq(a){return a.y}function kM(c,a,b){c.y0=a,c.y=b}function hb(a){return d7.range(a.length)}function ah(f){for(var a=-1,c=f[0].length,b=[];++a<c;){b[a]=0}return b}function i8(k){for(var c,g=1,f=0,a=k[0][1],b=k.length;b>g;++g){(c=k[g][1])>a&&(f=g,a=c)}return f}function aH(a){return a.reduce(e2,0)}function e2(b,a){return b+a[1]}function fk(b,a){return aQ(b,Math.ceil(Math.log(a.length)/Math.LN2+1))}function aQ(k,c){for(var g=-1,f=+k[0],a=(k[1]-f)/c,b=[];++g<=c;){b[g]=a*g+f}return b}function cm(a){return[d7.min(a),d7.max(a)]}function bA(b,a){return b.parent==a.parent?1:2}function gR(b){var a=b.children;return a&&a.length?a[0]:b._tree.thread}function hD(c){var a,b=c.children;return b&&(a=b.length)?b[a-1]:c._tree.thread}function eK(k,c){var g=k.children;if(g&&(a=g.length)){for(var f,a,b=-1;++b<a;){c(f=eK(g[b],c),k)>0&&(k=f)}}return k}function c0(b,a){return b.x-a.x}function jS(b,a){return a.x-b.x}function fv(b,a){return b.depth-a.depth}function a8(c,a){function b(p,k){var f=p.children;if(f&&(l=f.length)){for(var g,l,e=null,m=-1;++m<l;){g=f[m],b(g,e),e=g}}a(p,k)}b(c,null)}function f5(k){for(var c,g=0,f=0,a=k.children,b=a.length;--b>=0;){c=a[b]._tree,c.prelim+=g,c.mod+=g,g+=c.shift+(f+=c.change)}}function eh(f,a,c){f=f._tree,a=a._tree;var b=c/(a.number-f.number);f.change+=b,a.change-=b,a.shift+=c,a.prelim+=c,a.mod+=c}function fI(c,a,b){return c._tree.ancestor.parent==a.parent?c._tree.ancestor:b}function j6(b,a){return b.value-a.value}function aq(c,a){var b=c._pack_next;c._pack_next=a,a._pack_prev=c,a._pack_next=b,b._pack_prev=a}function gy(b,a){b._pack_next=a,a._pack_prev=b}function cM(g,b){var f=b.x-g.x,c=b.y-g.y,a=g.r+b.r;return 0.999*a*a>f*f+c*c}function jq(F){function A(a){H=Math.min(a.x-a.r,H),L=Math.max(a.x+a.r,L),J=Math.min(a.y-a.r,J),K=Math.max(a.y+a.r,K)}if((M=F.children)&&(B=M.length)){var M,C,z,I,E,P,O,B,H=1/0,L=-1/0,J=1/0,K=-1/0;if(M.forEach(cb),C=M[0],C.x=-C.r,C.y=0,A(C),B>1&&(z=M[1],z.x=z.r,z.y=0,A(z),B>2)){for(I=M[2],dZ(C,z,I),A(I),aq(C,I),C._pack_prev=I,aq(I,z),z=C._pack_next,E=3;B>E;E++){dZ(C,z,I=M[E]);var D=0,q=1,N=1;for(P=z._pack_next;P!==z;P=P._pack_next,q++){if(cM(P,I)){D=1;break}}if(1==D){for(O=C._pack_prev;O!==P._pack_prev&&!cM(O,I);O=O._pack_prev,N++){}}D?(N>q||q==N&&z.r<C.r?gy(C,z=P):gy(C=O,z),E--):(aq(C,I),z=I,A(I))}}var G=(H+L)/2,b=(J+K)/2,k=0;for(E=0;B>E;E++){I=M[E],I.x-=G,I.y-=b,k=Math.max(k,I.r+Math.sqrt(I.x*I.x+I.y*I.y))}F.r=k,M.forEach(dO)}}function cb(a){a._pack_next=a._pack_prev=a}function dO(a){delete a._pack_next,delete a._pack_prev}function c5(l,c,g,f){var a=l.children;if(l.x=c+=f*l.x,l.y=g+=f*l.y,l.r*=f,a){for(var b=-1,k=a.length;++b<k;){c5(a[b],c,g,f)}}}function dZ(g,v,l){var b=g.r+l.r,q=v.x-g.x,k=v.y-g.y;if(b&&(q||k)){var f=v.r+l.r,p=q*q+k*k;f*=f,b*=b;var m=0.5+(b-f)/(2*p),x=Math.sqrt(Math.max(0,2*f*(b+p)-(b-=p)*b-f*f))/(2*p);l.x=g.x+m*q+x*k,l.y=g.y+m*k-x*q}else{l.x=g.x+b,l.y=g.y}}function bT(a){return 1+d7.max(a,function(b){return b.y})}function dw(a){return a.reduce(function(c,b){return c+b.x},0)/a.length}function iC(b){var a=b.children;return a&&a.length?iC(a[0]):b}function kD(c){var a,b=c.children;return b&&(a=b.length)?kD(b[a-1]):c}function hV(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function fN(k,c){var g=k.x+c[3],f=k.y+c[0],a=k.dx-c[1]-c[3],b=k.dy-c[0]-c[2];return 0>a&&(g+=a/2,a=0),0>b&&(f+=b/2,b=0),{x:g,y:f,dx:a,dy:b}}function ev(c){var a=c[0],b=c[c.length-1];return b>a?[a,b]:[b,a]}function bS(a){return a.rangeExtent?a.rangeExtent():ev(a.range())}function hI(k,c,g,f){var a=g(k[0],k[1]),b=f(c[0],c[1]);return function(e){return b(a(e))}}function cR(l,c){var g,f=0,a=l.length-1,b=l[f],k=l[a];return b>k&&(g=f,f=a,a=g,g=b,b=k,k=g),l[f]=c.floor(b),l[a]=c.ceil(k),l}function bz(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:b5}function gb(p,g,l,k){var c=[],f=[],m=0,b=Math.min(p.length,g.length)-1;for(p[b]<p[0]&&(p=p.slice().reverse(),g=g.slice().reverse());++m<=b;){c.push(l(p[m-1],p[m])),f.push(k(g[m-1],g[m]))}return function(a){var n=d7.bisect(p,a,1,b)-1;return f[n](c[n](a))}}function dT(p,g,l,k){function c(){var a=Math.min(p.length,g.length)>2?gb:hI,e=k?cE:hy;return m=a(p,g,e,l),b=a(g,p,e,c3),f}function f(a){return m(a)}var m,b;return f.invert=function(a){return b(a)},f.domain=function(a){return arguments.length?(p=a.map(Number),c()):p},f.range=function(a){return arguments.length?(g=a,c()):g},f.rangeRound=function(a){return f.range(a).interpolate(iJ)},f.clamp=function(a){return arguments.length?(k=a,c()):k},f.interpolate=function(a){return arguments.length?(l=a,c()):l},f.ticks=function(a){return e7(p,a)},f.tickFormat=function(a,n){return hj(p,a,n)},f.nice=function(a){return iL(p,a),c()},f.copy=function(){return dT(p,g,l,k)},c()}function kh(b,a){return d7.rebind(b,a,"range","rangeRound","interpolate","clamp")}function iL(b,a){return cR(b,bz(cj(b,a)[2]))}function cj(k,c){null==c&&(c=10);var g=ev(k),f=g[1]-g[0],a=Math.pow(10,Math.floor(Math.log(f/c)/Math.LN10)),b=c/f*a;return 0.15>=b?a*=10:0.35>=b?a*=5:0.75>=b&&(a*=2),g[0]=Math.ceil(g[0]/a)*a,g[1]=Math.floor(g[1]/a)*a+0.5*a,g[2]=a,g}function e7(b,a){return d7.range.apply(d7,cj(b,a))}function hj(f,a,c){var b=cj(f,a);return d7.format(c?c.replace(bE,function(k,y,q,x,p,g,v,r,z,m){return[y,q,x,p,g,v,r,z||"."+gW(m,b),m].join("")}):",."+gD(b[2])+"f")}function gD(a){return -Math.floor(Math.log(a)/Math.LN10+0.01)}function gW(c,a){var b=gD(a[2]);return c in eZ?Math.abs(b-gD(Math.max(Math.abs(a[0]),Math.abs(a[1]))))+ +("e"!==c):b-2*("%"===c)}function dA(l,c,g,f){function a(e){return(g?Math.log(0>e?0:e):-Math.log(e>0?0:-e))/Math.log(c)}function b(e){return g?Math.pow(c,e):-Math.pow(c,-e)}function k(e){return l(a(e))}return k.invert=function(e){return b(l.invert(e))},k.domain=function(e){return arguments.length?(g=e[0]>=0,l.domain((f=e.map(Number)).map(a)),k):f},k.base=function(m){return arguments.length?(c=+m,l.domain(f.map(a)),k):c},k.nice=function(){var e=cR(f.map(a),g?Math:gv);return l.domain(e),f=e.map(b),k},k.ticks=function(){var v=ev(f),t=[],m=v[0],u=v[1],q=Math.floor(a(m)),e=Math.ceil(a(u)),r=c%1?2:c;if(isFinite(e-q)){if(g){for(;e>q;q++){for(var p=1;r>p;p++){t.push(b(q)*p)}}t.push(b(q))}else{for(t.push(b(q));q++<e;){for(var p=r-1;p>0;p--){t.push(b(q)*p)}}}for(q=0;t[q]<m;q++){}for(e=t.length;t[e-1]>u;e--){}t=t.slice(q,e)}return t},k.tickFormat=function(q,m){if(!arguments.length){return g7}arguments.length<2?m=g7:"function"!=typeof m&&(m=d7.format(m));var o,e=Math.max(0.1,q/k.ticks().length),p=g?(o=1e-12,Math.ceil):(o=-1e-12,Math.floor);return function(r){return r/b(p(a(r)+o))<=e?m(r):""}},k.copy=function(){return dA(l.copy(),c,g,f)},kh(k,l)}function a7(k,c,g){function f(e){return k(a(e))}var a=hZ(c),b=hZ(1/c);return f.invert=function(e){return b(k.invert(e))},f.domain=function(e){return arguments.length?(k.domain((g=e.map(Number)).map(a)),f):g},f.ticks=function(e){return e7(g,e)},f.tickFormat=function(l,e){return hj(g,l,e)},f.nice=function(e){return f.domain(iL(g,e))},f.exponent=function(e){return arguments.length?(a=hZ(c=e),b=hZ(1/c),k.domain(g.map(a)),f):c},f.copy=function(){return a7(k.copy(),c,g)},kh(f,k)}function hZ(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function eO(m,f){function k(a){return l[((c.get(a)||"range"===f.t&&c.set(a,m.push(a)))-1)%l.length]}function g(a,n){return d7.range(m.length).map(function(e){return a+n*e})}var c,l,b;return k.domain=function(n){if(!arguments.length){return m}m=[],c=new ij;for(var p,e=-1,q=n.length;++e<q;){c.has(p=n[e])||c.set(p,m.push(p))}return k[f.t].apply(k,f.a)},k.range=function(a){return arguments.length?(l=a,b=0,f={t:"range",a:arguments},k):l},k.rangePoints=function(e,n){arguments.length<2&&(n=0);var p=e[0],o=e[1],a=(o-p)/(Math.max(1,m.length-1)+n);return l=g(m.length<2?(p+o)/2:p+a*n/2,a),b=0,f={t:"rangePoints",a:arguments},k},k.rangeBands=function(e,n,r){arguments.length<2&&(n=0),arguments.length<3&&(r=n);var p=e[1]<e[0],a=e[p-0],q=e[1-p],o=(q-a)/(m.length-n+2*r);return l=g(a+o*r,o),p&&l.reverse(),b=o*(1-n),f={t:"rangeBands",a:arguments},k},k.rangeRoundBands=function(e,n,t){arguments.length<2&&(n=0),arguments.length<3&&(t=n);var p=e[1]<e[0],a=e[p-0],r=e[1-p],o=Math.floor((r-a)/(m.length-n+2*t)),q=r-a-(m.length-n)*o;return l=g(a+Math.round(q/2),o),p&&l.reverse(),b=Math.round(o*(1-n)),f={t:"rangeRoundBands",a:arguments},k},k.rangeBand=function(){return b},k.rangeExtent=function(){return ev(f.a[0])},k.copy=function(){return eO(m,f)},k.domain(m)}function kC(g,b){function f(){var l=0,k=b.length;for(a=[];++l<k;){a[l-1]=d7.quantile(g,l/k)}return c}function c(e){return isNaN(e=+e)?void 0:b[d7.bisect(a,e)]}var a;return c.domain=function(e){return arguments.length?(g=e.filter(function(k){return !isNaN(k)}).sort(d7.ascending),f()):g},c.range=function(e){return arguments.length?(b=e,f()):b},c.quantiles=function(){return a},c.invertExtent=function(k){return k=b.indexOf(k),0>k?[0/0,0/0]:[k>0?a[k-1]:g[0],k<a.length?a[k]:g[g.length-1]]},c.copy=function(){return kC(g,b)},f()}function an(l,c,g){function f(e){return g[Math.max(0,Math.min(k,Math.floor(b*(e-l))))]}function a(){return b=g.length/(c-l),k=g.length-1,f}var b,k;return f.domain=function(m){return arguments.length?(l=+m[0],c=+m[m.length-1],a()):[l,c]},f.range=function(e){return arguments.length?(g=e,a()):g},f.invertExtent=function(e){return e=g.indexOf(e),e=0>e?0/0:e/b+l,[e,e+1/b]},f.copy=function(){return an(l,c,g)},a()}function hq(c,a){function b(f){return f>=f?a[d7.bisect(c,f)]:void 0}return b.domain=function(e){return arguments.length?(c=e,b):c},b.range=function(e){return arguments.length?(a=e,b):a},b.invertExtent=function(f){return f=a.indexOf(f),[c[f-1],c[f]]},b.copy=function(){return hq(c,a)},b}function aB(b){function a(c){return +c}return a.invert=a,a.domain=a.range=function(c){return arguments.length?(b=c.map(a),a):b},a.ticks=function(c){return e7(b,c)},a.tickFormat=function(c,f){return hj(b,c,f)},a.copy=function(){return aB(b)},a}function jB(a){return a.innerRadius}function aP(a){return a.outerRadius}function ff(a){return a.startAngle}function fz(a){return a.endAngle}function aY(p){function g(x){function e(){y.push("M",f(p(n),b))}for(var v,y=[],n=[],u=-1,q=x.length,r=dn(l),a=dn(k);++u<q;){c.call(this,v=x[u],u)?n.push([+r.call(this,v,u),+a.call(this,v,u)]):n.length&&(e(),n=[])}return n.length&&e(),y.length?y.join(""):null}var l=cA,k=d0,c=cf,f=cD,m=f.key,b=0.7;return g.x=function(a){return arguments.length?(l=a,g):l},g.y=function(a){return arguments.length?(k=a,g):k},g.defined=function(a){return arguments.length?(c=a,g):c},g.interpolate=function(a){return arguments.length?(m="function"==typeof a?f=a:(f=kP.get(a)||cD).key,g):m},g.tension=function(a){return arguments.length?(b=a,g):b},g}function cD(a){return a.join("L")}function bI(a){return cD(a)+"Z"}function g1(g){for(var b=0,f=g.length,c=g[0],a=[c[0],",",c[1]];++b<f;){a.push("H",(c[0]+(c=g[b])[0])/2,"V",c[1])}return f>1&&a.push("H",c[0]),a.join("")}function hN(g){for(var b=0,f=g.length,c=g[0],a=[c[0],",",c[1]];++b<f;){a.push("V",(c=g[b])[1],"H",c[0])}return a.join("")}function eT(g){for(var b=0,f=g.length,c=g[0],a=[c[0],",",c[1]];++b<f;){a.push("H",(c=g[b])[0],"V",c[1])}return a.join("")}function c9(b,a){return b.length<4?cD(b):b[1]+bk(b.slice(1,b.length-1),gj(b,a))}function j4(b,a){return b.length<3?cD(b):b[0]+bk((b.push(b[0]),b),gj([b[b.length-2]].concat(b,[b[1]]),a))}function fE(b,a){return b.length<3?cD(b):b[0]+bk(b,gj(b,a))}function bk(g,y){if(y.length<1||g.length!=y.length&&g.length!=y.length+2){return cD(g)}var p=g.length!=y.length,b="",x=g[0],m=g[1],f=y[0],v=f,q=1;if(p&&(b+="Q"+(m[0]-2*f[0]/3)+","+(m[1]-2*f[1]/3)+","+m[0]+","+m[1],x=g[1],q=2),y.length>1){v=y[1],m=g[q],q++,b+="C"+(x[0]+f[0])+","+(x[1]+f[1])+","+(m[0]-v[0])+","+(m[1]-v[1])+","+m[0]+","+m[1];for(var z=2;z<y.length;z++,q++){m=g[q],v=y[z],b+="S"+(m[0]-v[0])+","+(m[1]-v[1])+","+m[0]+","+m[1]}}if(p){var k=g[q];b+="Q"+(m[0]+2*v[0]/3)+","+(m[1]+2*v[1]/3)+","+k[0]+","+k[1]}return b}function gj(g,s){for(var l,b=[],q=(1-s)/2,k=g[0],f=g[1],p=1,m=g.length;++p<m;){l=k,k=f,f=g[p],b.push([q*(f[0]-l[0]),q*(f[1]-l[1])])}return b}function eB(g){if(g.length<3){return cD(g)}var s=1,l=g.length,b=g[0],q=b[0],k=b[1],f=[q,q,q,(b=g[1])[0]],p=[k,k,k,b[1]],m=[q,",",k,"L",gI(jd,f),",",gI(jd,p)];for(g.push(g[l-1]);++s<=l;){b=g[s],f.shift(),f.push(b[0]),p.shift(),p.push(b[1]),cW(m,f,p)}return g.pop(),m.push("L",b),m.join("")}function fR(l){if(l.length<4){return cD(l)}for(var c,g=[],f=-1,a=l.length,b=[0],k=[0];++f<3;){c=l[f],b.push(c[0]),k.push(c[1])}for(g.push(gI(jd,b)+","+gI(jd,k)),--f;++f<a;){c=l[f],b.shift(),b.push(c[0]),k.shift(),k.push(c[1]),cW(g,b,k)}return g.join("")}function kn(p){for(var g,l,k=-1,c=p.length,f=c+4,m=[],b=[];++k<4;){l=p[k%c],m.push(l[0]),b.push(l[1])}for(g=[gI(jd,m),",",gI(jd,b)],--k;++k<f;){l=p[k%c],m.shift(),m.push(l[0]),b.shift(),b.push(l[1]),cW(g,m,b)}return g.join("")}function aG(g,v){var l=g.length-1;if(l){for(var b,q,k=g[0][0],f=g[0][1],p=g[l][0]-k,m=g[l][1]-f,x=-1;++x<=l;){b=g[x],q=x/l,b[0]=v*b[0]+(1-v)*(k+q*p),b[1]=v*b[1]+(1-v)*(f+q*m)}}return eB(g)}function gI(b,a){return b[0]*a[0]+b[1]*a[1]+b[2]*a[2]+b[3]*a[3]}function cW(c,a,b){c.push("C",gI(hg,a),",",gI(hg,b),",",gI(ak,a),",",gI(ak,b),",",gI(jd,a),",",gI(jd,b))}function jO(b,a){return(a[1]-b[1])/(a[0]-b[0])}function cy(l){for(var c=0,g=l.length-1,f=[],a=l[0],b=l[1],k=f[0]=jO(a,b);++c<g;){f[c]=(k+(k=jO(a=b,b=l[c+1])))/2}return f[c]=k,f}function dY(g){for(var s,l,b,q,k=[],f=cy(g),p=-1,m=g.length-1;++p<m;){s=jO(g[p],g[p+1]),km(s)<bP?f[p]=f[p+1]=0:(l=f[p]/s,b=f[p+1]/s,q=l*l+b*b,q>9&&(q=3*s/Math.sqrt(q),f[p]=q*l,f[p+1]=q*b))}for(p=-1;++p<=m;){q=(g[Math.min(m,p+1)][0]-g[Math.max(0,p-1)][0])/(6*(1+f[p]*f[p])),k.push([q||0,f[p]*q||0])}return k}function dh(a){return a.length<3?cD(a):a[0]+bk(a,dY(a))}function ef(k){for(var c,g,f,a=-1,b=k.length;++a<b;){c=k[a],g=c[0],f=c[1]+eH,c[0]=g*Math.cos(f),c[1]=g*Math.sin(f)}return k}function b1(k){function A(G){function r(){F.push("M",y(k(e),q),m,B(k(o.reverse()),q),"Z")}for(var f,l,a,F=[],o=[],e=[],u=-1,C=G.length,n=dn(v),E=dn(z),s=v===b?function(){return l}:dn(b),D=z===p?function(){return a}:dn(p);++u<C;){g.call(this,f=G[u],u)?(o.push([l=+n.call(this,f,u),a=+E.call(this,f,u)]),e.push([+s.call(this,f,u),+D.call(this,f,u)])):o.length&&(r(),o=[],e=[])}return o.length&&r(),F.length?F.join(""):null}var v=cA,b=cA,z=0,p=d0,g=cf,y=cD,x=y.key,B=y,m="L",q=0.7;return A.x=function(a){return arguments.length?(v=b=a,A):b},A.x0=function(a){return arguments.length?(v=a,A):v},A.x1=function(a){return arguments.length?(b=a,A):b},A.y=function(a){return arguments.length?(z=p=a,A):p},A.y0=function(a){return arguments.length?(z=a,A):z},A.y1=function(a){return arguments.length?(p=a,A):p},A.defined=function(a){return arguments.length?(g=a,A):g},A.interpolate=function(a){return arguments.length?(x="function"==typeof a?y=a:(y=kP.get(a)||cD).key,B=y.reverse||y,m=y.closed?"M":"L",A):x},A.tension=function(a){return arguments.length?(q=a,A):q},A}function dF(a){return a.radius}function iX(a){return[a.x,a.y]}function kL(a){return function(){var b=a.apply(this,arguments),f=b[0],c=b[1]+eH;return[f*Math.cos(c),f*Math.sin(c)]}}function h4(){return 64}function fW(){return"circle"}function eg(b){var a=Math.sqrt(b/fD);return"M0,"+a+"A"+a+","+a+" 0 1,1 0,"+-a+"A"+a+","+a+" 0 1,1 0,"+a+"Z"}function bQ(b,a){return gH(b,bD),b.id=a,b}function hC(g,b,f,c){var a=g.id;return jP(g,"function"==typeof f?function(l,e,k){l.__transition__[a].tween.set(b,c(f.call(l,l.__data__,e,k)))}:(f=c(f),function(e){e.__transition__[a].tween.set(b,f)}))}function cL(a){return null==a&&(a=""),function(){this.textContent=a}}function bx(m,f,k,g){var c=m.__transition__||(m.__transition__={active:0,count:0}),l=c[k];if(!l){var b=g.time;l=c[k]={tween:new ij,time:b,ease:g.ease,delay:g.delay,duration:g.duration},++c.count,d7.timer(function(a){function z(p){return c.active>k?A():(c.active=k,l.event&&l.event.start.call(m,n,f),l.tween.forEach(function(u,s){(s=s.call(m,n,f))&&y.push(s)}),d7.timer(function(){return e.c=x(p||1)?cf:x,1},0,b),void 0)}function x(v){if(c.active!==k){return A()}for(var s=v/q,p=t(s),B=y.length;B>0;){y[--B].call(m,p)}return s>=1?(l.event&&l.event.end.call(m,n,f),A()):void 0}function A(){return --c.count?delete c[k]:delete m.__transition__,1}var n=m.__data__,t=l.ease,o=l.delay,q=l.duration,e=af,y=[];return e.t=o+b,a>=o?z(a-o):(e.c=z,void 0)},0,b)}}function f4(b,a){b.attr("transform",function(c){return"translate("+a(c)+",0)"})}function dN(b,a){b.attr("transform",function(c){return"translate(0,"+a(c)+")"})}function j5(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function iy(g,s,l){function b(a){var n=g(a),c=k(n,1);return c-a>a-n?n:c}function q(a){return s(a=g(new bd(a-1)),1),a}function k(c,a){return s(c=new bd(+c),a),c}function f(v,t,e){var u=q(v),c=[];if(e>1){for(;t>u;){l(u)%e||c.push(new Date(+u)),s(u,1)}}else{for(;t>u;){c.push(new Date(+u)),s(u,1)}}return c}function p(u,a,o){try{bd=j5;var c=new j5;return c._=u,f(c,a,o)}finally{bd=Date}}g.floor=g,g.round=b,g.ceil=q,g.offset=k,g.range=f;var m=g.utc=b9(g);return m.floor=m,m.round=b9(b),m.ceil=b9(q),m.offset=b9(k),m.range=p,g}function b9(a){return function(b,f){try{bd=j5;var c=new j5;return c._=b,a(c,f)._}finally{bd=Date}}}function e1(c){function a(k){for(var l,f,g,m=[],e=-1,n=0;++e<b;){37===c.charCodeAt(e)&&(m.push(c.substring(n,e)),null!=(f=ej[l=c.charAt(++e)])&&(l=c.charAt(++e)),(g=bR[l])&&(l=g(k,null==f?"e"===l?" ":"0":f)),m.push(l),n=e+1)}return m.push(c.substring(n,e)),m.join("")}var b=c.length;return a.parse=function(k){var m={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},l=g9(m,c,k,0);if(l!=k.length){return null}"p" in m&&(m.H=m.H%12+12*m.p);var f=null!=m.Z&&bd!==j5,g=new (f?j5:bd);return"j" in m?g.setFullYear(m.y,0,m.j):"w" in m&&("W" in m||"U" in m)?(g.setFullYear(m.y,0,1),g.setFullYear(m.y,0,"W" in m?(m.w+6)%7+7*m.W-(g.getDay()+5)%7:m.w+7*m.U-(g.getDay()+6)%7)):g.setFullYear(m.y,m.m,m.d),g.setHours(m.H+Math.floor(m.Z/100),m.M+m.Z%100,m.S,m.L),f?g._:g},a.toString=function(){return c},a}function g9(g,v,l,b){for(var q,k,f,p=0,m=v.length,x=l.length;m>p;){if(b>=x){return -1}if(q=v.charCodeAt(p++),37===q){if(f=v.charAt(p++),k=hE[f in ej?v.charAt(p++):f],!k||(b=k(g,l,b))<0){return -1}}else{if(q!=l.charCodeAt(b++)){return -1}}}return b}function gx(a){return new RegExp("^(?:"+a.map(d7.requote).join("|")+")","i")}function gQ(f){for(var a=new ij,c=-1,b=f.length;++c<b;){a.set(f[c].toLowerCase(),c)}return a}function dv(k,c,g){var f=0>k?"-":"",a=(f?-k:k)+"",b=a.length;return f+(g>b?new Array(g-b+1).join(c)+a:a)}function a6(f,a,c){d2.lastIndex=0;var b=d2.exec(a.substring(c));return b?(f.w=bW.get(b[0].toLowerCase()),c+b[0].length):-1}function eJ(f,a,c){dR.lastIndex=0;var b=dR.exec(a.substring(c));return b?(f.w=c7.get(b[0].toLowerCase()),c+b[0].length):-1}function kB(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+1));return b?(f.w=+b[0],c+b[0].length):-1}function ag(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c));return b?(f.U=+b[0],c+b[0].length):-1}function hk(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c));return b?(f.W=+b[0],c+b[0].length):-1}function ap(f,a,c){kG.lastIndex=0;var b=kG.exec(a.substring(c));return b?(f.m=hX.get(b[0].toLowerCase()),c+b[0].length):-1}function jl(f,a,c){dy.lastIndex=0;var b=dy.exec(a.substring(c));return b?(f.m=iG.get(b[0].toLowerCase()),c+b[0].length):-1}function aO(c,a,b){return g9(c,bR.c.toString(),a,b)}function e8(c,a,b){return g9(c,bR.x.toString(),a,b)}function fq(c,a,b){return g9(c,bR.X.toString(),a,b)}function aX(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+4));return b?(f.y=+b[0],c+b[0].length):-1}function cz(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.y=gX(+b[0]),c+b[0].length):-1}function bH(c,a,b){return/^[+-]\d{4}$/.test(a=a.substring(b,b+5))?(c.Z=+a,b+5):-1}function gX(a){return a+(a>68?1900:2000)}function hJ(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.m=b[0]-1,c+b[0].length):-1}function eP(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.d=+b[0],c+b[0].length):-1}function c4(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+3));return b?(f.j=+b[0],c+b[0].length):-1}function jZ(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.H=+b[0],c+b[0].length):-1}function fA(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.M=+b[0],c+b[0].length):-1}function bj(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+2));return b?(f.S=+b[0],c+b[0].length):-1}function gd(f,a,c){cN.lastIndex=0;var b=cN.exec(a.substring(c,c+3));return b?(f.L=+b[0],c+b[0].length):-1}function ex(f,a,c){var b=by.get(a.substring(c,c+=2).toLowerCase());return null==b?-1:(f.p=b,c)}function fM(g){var b=g.getTimezoneOffset(),f=b>0?"-":"+",c=~~(km(b)/60),a=km(b)%60;return f+dv(c,"0",2)+dv(a,"0",2)}function kj(f,a,c){fP.lastIndex=0;var b=fP.exec(a.substring(c,c+1));return b?c+b[0].length:-1}function aC(c){function a(f){try{bd=j5;var e=new bd;return e._=f,b(e)}finally{bd=Date}}var b=e1(c);return a.parse=function(f){try{bd=j5;var e=b.parse(f);return e&&e._}finally{bd=Date}},a.toString=b.toString,a}function gE(a){return a.toISOString()}function cS(g,b,f){function c(e){return g(e)}function a(p,o){var m=p[1]-p[0],k=m/o,l=d7.bisect(dP,k);return l==dP.length?[b.year,cj(p.map(function(e){return e/31536000000}),o)[2]]:l?b[k/dP[l-1]<dP[l]/k?l-1:l]:[e3,cj(p,o)[2]]}return c.invert=function(e){return jE(g.invert(e))},c.domain=function(e){return arguments.length?(g.domain(e),c):g.domain().map(jE)},c.nice=function(r,m){function p(n){return !isNaN(n)&&!r.range(n,jE(+n+1),m).length}var l=c.domain(),q=ev(l),k=null==r?a(q,10):"number"==typeof r&&a(q,r);return k&&(r=k[0],m=k[1]),c.domain(cR(l,m>1?{floor:function(e){for(;p(e=r.floor(e));){e=jE(e-1)}return e},ceil:function(e){for(;p(e=r.ceil(e));){e=jE(+e+1)}return e}}:r))},c.ticks=function(o,l){var m=ev(c.domain()),k=null==o?a(m,10):"number"==typeof o?a(m,o):!o.range&&[{range:o},l];return k&&(o=k[0],l=k[1]),o.range(m[0],jE(+m[1]+1),1>l?1:l)},c.tickFormat=function(){return f},c.copy=function(){return cS(g.copy(),b,f)},kh(c,g)}function jE(a){return new Date(a)}function ck(a){return function(b){for(var f=a.length-1,c=a[f];!c[1](b);){c=a[--f]}return c[0](b)}}function dU(a){return JSON.parse(a.responseText)}function db(b){var a=iN.createRange();return a.selectNode(iN.body),a.createContextualFragment(b.responseText)}var d7={version:"3.3.10"};Date.now||(Date.now=function(){return +new Date});var b0=[].slice,dB=function(a){return b0.call(a)},iN=document,kK=iN.documentElement,h0=window;try{dB(kK.childNodes)[0].nodeType}catch(fS){dB=function(c){for(var a=c.length,b=new Array(a);a--;){b[a]=c[a]}return b}}try{iN.createElement("div").style.setProperty("opacity",0,"")}catch(eA){var bZ=h0.Element.prototype,hM=bZ.setAttribute,cV=bZ.setAttributeNS,bG=h0.CSSStyleDeclaration.prototype,gh=bG.setProperty;bZ.setAttribute=function(b,a){hM.call(this,b,a+"")},bZ.setAttributeNS=function(c,a,b){cV.call(this,c,a,b+"")},bG.setProperty=function(c,a,b){gh.call(this,c,a+"",b)}}d7.ascending=function(b,a){return a>b?-1:b>a?1:b>=a?0:0/0},d7.descending=function(b,a){return b>a?-1:a>b?1:a>=b?0:0/0},d7.min=function(k,c){var g,f,a=-1,b=k.length;if(1===arguments.length){for(;++a<b&&!(null!=(g=k[a])&&g>=g);){g=void 0}for(;++a<b;){null!=(f=k[a])&&g>f&&(g=f)}}else{for(;++a<b&&!(null!=(g=c.call(k,k[a],a))&&g>=g);){g=void 0}for(;++a<b;){null!=(f=c.call(k,k[a],a))&&g>f&&(g=f)}}return g},d7.max=function(k,c){var g,f,a=-1,b=k.length;if(1===arguments.length){for(;++a<b&&!(null!=(g=k[a])&&g>=g);){g=void 0}for(;++a<b;){null!=(f=k[a])&&f>g&&(g=f)}}else{for(;++a<b&&!(null!=(g=c.call(k,k[a],a))&&g>=g);){g=void 0}for(;++a<b;){null!=(f=c.call(k,k[a],a))&&f>g&&(g=f)}}return g},d7.extent=function(l,c){var g,f,a,b=-1,k=l.length;if(1===arguments.length){for(;++b<k&&!(null!=(g=a=l[b])&&g>=g);){g=a=void 0}for(;++b<k;){null!=(f=l[b])&&(g>f&&(g=f),f>a&&(a=f))}}else{for(;++b<k&&!(null!=(g=a=c.call(l,l[b],b))&&g>=g);){g=void 0}for(;++b<k;){null!=(f=c.call(l,l[b],b))&&(g>f&&(g=f),f>a&&(a=f))}}return[g,a]},d7.sum=function(k,c){var g,f=0,a=k.length,b=-1;if(1===arguments.length){for(;++b<a;){isNaN(g=+k[b])||(f+=g)}}else{for(;++b<a;){isNaN(g=+c.call(k,k[b],b))||(f+=g)}}return f},d7.mean=function(g,l){var k,c=g.length,f=0,m=-1,b=0;if(1===arguments.length){for(;++m<c;){iB(k=g[m])&&(f+=(k-f)/++b)}}else{for(;++m<c;){iB(k=l.call(g,g[m],m))&&(f+=(k-f)/++b)}}return b?f:void 0},d7.quantile=function(k,c){var g=(k.length-1)*c+1,f=Math.floor(g),a=+k[f-1],b=g-f;return b?a+b*(k[f]-a):a},d7.median=function(a,b){return arguments.length>1&&(a=a.map(b)),a=a.filter(iB),a.length?d7.quantile(a.sort(d7.ascending),0.5):void 0},d7.bisector=function(a){return{left:function(f,k,g,b){for(arguments.length<3&&(g=0),arguments.length<4&&(b=f.length);b>g;){var c=g+b>>>1;a.call(f,f[c],c)<k?g=c+1:b=c}return g},right:function(f,k,g,b){for(arguments.length<3&&(g=0),arguments.length<4&&(b=f.length);b>g;){var c=g+b>>>1;k<a.call(f,f[c],c)?b=c:g=c+1}return g}}};var dX=d7.bisector(function(a){return a});d7.bisectLeft=dX.left,d7.bisect=d7.bisectRight=dX.right,d7.shuffle=function(f){for(var a,c,b=f.length;b;){c=0|Math.random()*b--,a=f[b],f[b]=f[c],f[c]=a}return f},d7.permute=function(f,a){for(var c=a.length,b=new Array(c);c--;){b[c]=f[a[c]]}return b},d7.pairs=function(k){for(var c,g=0,f=k.length-1,a=k[0],b=new Array(0>f?0:f);f>g;){b[g]=[c=a,a=k[++g]]}return b},d7.zip=function(){if(!(a=arguments.length)){return[]}for(var k=-1,f=d7.min(arguments,ip),c=new Array(f);++k<f;){for(var a,b=-1,g=c[k]=new Array(a);++b<a;){g[b]=arguments[b][k]}}return c},d7.transpose=function(a){return d7.zip.apply(d7,a)},d7.keys=function(c){var a=[];for(var b in c){a.push(b)}return a},d7.values=function(c){var a=[];for(var b in c){a.push(c[b])}return a},d7.entries=function(c){var a=[];for(var b in c){a.push({key:b,value:c[b]})}return a},d7.merge=function(l){for(var c,g,f,a=l.length,b=-1,k=0;++b<a;){k+=l[b].length}for(g=new Array(k);--a>=0;){for(f=l[a],c=f.length;--c>=0;){g[--k]=f[c]}}return g};var km=Math.abs;d7.range=function(l,f,g){if(arguments.length<3&&(g=1,arguments.length<2&&(f=l,l=0)),1/0===(f-l)/g){throw new Error("infinite range")}var c,e=[],k=iS(km(g)),b=-1;if(l*=k,f*=k,g*=k,0>g){for(;(c=l+g*++b)>f;){e.push(c/k)}}else{for(;(c=l+g*++b)<f;){e.push(c/k)}}return e},d7.map=function(c){var a=new ij;if(c instanceof ij){c.forEach(function(g,f){a.set(g,f)})}else{for(var b in c){a.set(b,c[b])}}return a},iw(ij,{has:function(a){return iW+a in this},get:function(a){return this[iW+a]},set:function(b,a){return this[iW+b]=a},remove:function(a){return a=iW+a,a in this&&delete this[a]},keys:function(){var a=[];return this.forEach(function(b){a.push(b)}),a},values:function(){var a=[];return this.forEach(function(b,c){a.push(c)}),a},entries:function(){var a=[];return this.forEach(function(b,c){a.push({key:b,value:c})}),a},forEach:function(b){for(var a in this){a.charCodeAt(0)===cx&&b.call(this,a.substring(1),this[a])}}});var iW="\x00",cx=iW.charCodeAt(0);d7.nest=function(){function m(A,y,x){if(x>=l.length){return g?g.call(c,y):k?y.sort(k):y}for(var B,n,r,o,q=-1,e=y.length,z=l[x++],u=new ij;++q<e;){(o=u.get(B=z(n=y[q])))?o.push(n):u.set(B,[n])}return A?(n=A(),r=function(p,a){n.set(p,m(A,a,x))}):(n={},r=function(p,a){n[p]=m(A,a,x)}),u.forEach(r),n}function f(q,p){if(p>=l.length){return q}var o=[],a=b[p++];return q.forEach(function(r,e){o.push({key:r,values:f(e,p)})}),a?o.sort(function(r,e){return a(r.key,e.key)}):o}var k,g,c={},l=[],b=[];return c.map=function(a,n){return m(n,a,0)},c.entries=function(a){return f(m(d7.map,a,0),0)},c.key=function(a){return l.push(a),c},c.sortKeys=function(a){return b[l.length-1]=a,c},c.sortValues=function(a){return k=a,c},c.rollup=function(a){return g=a,c},c},d7.set=function(f){var a=new iM;if(f){for(var c=0,b=f.length;b>c;++c){a.add(f[c])}}return a},iw(iM,{has:function(a){return iW+a in this},add:function(a){return this[iW+a]=!0,a},remove:function(a){return a=iW+a,a in this&&delete this[a]},values:function(){var a=[];return this.forEach(function(b){a.push(b)}),a},forEach:function(b){for(var a in this){a.charCodeAt(0)===cx&&b.call(this,a.substring(1))}}}),d7.behavior={},d7.rebind=function(g,b){for(var f,c=1,a=arguments.length;++c<a;){g[f=arguments[c]]=iA(g,b,b[f])}return g};var fd=["webkit","ms","moz","Moz","o","O"];d7.dispatch=function(){for(var c=new iq,a=-1,b=arguments.length;++a<b;){c[arguments[a]]=iH(c)}return c},iq.prototype.on=function(f,a){var c=f.indexOf("."),b="";if(c>=0&&(b=f.substring(c+1),f=f.substring(0,c)),f){return arguments.length<2?this[f].on(b):this[f].on(b,a)}if(2===arguments.length){if(null==a){for(f in this){this.hasOwnProperty(f)&&this[f].on(b,null)}}return this}},d7.event=null,d7.requote=function(a){return a.replace(hp,"\\$&")};var hp=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,gH={}.__proto__?function(b,a){b.__proto__=a}:function(c,a){for(var b in a){c[b]=a[b]}},g0=function(b,a){return a.querySelector(b)},dE=function(b,a){return a.querySelectorAll(b)},bh=kK[iZ(kK,"matchesSelector")],h3=function(b,a){return bh.call(b,a)};"function"==typeof Sizzle&&(g0=function(b,a){return Sizzle(b,a)[0]||null},dE=function(b,a){return Sizzle.uniqueSort(Sizzle(b,a))},h3=Sizzle.matchesSelector),d7.selection=function(){return hx};var eS=d7.selection.prototype=[];eS.select=function(g){var v,l,b,q,k=[];g=ig(g);for(var f=-1,p=this.length;++f<p;){k.push(v=[]),v.parentNode=(b=this[f]).parentNode;for(var m=-1,x=b.length;++m<x;){(q=b[m])?(v.push(l=g.call(q,q.__data__,m,f)),l&&"__data__" in q&&(l.__data__=q.__data__)):v.push(null)}}return iz(k)},eS.selectAll=function(g){var s,l,b=[];g=iU(g);for(var q=-1,k=this.length;++q<k;){for(var f=this[q],p=-1,m=f.length;++p<m;){(l=f[p])&&(b.push(s=dB(g.call(l,l.__data__,p,q))),s.parentNode=l)}}return iz(b)};var kJ={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};d7.ns={prefix:kJ,qualify:function(c){var a=c.indexOf(":"),b=c;return a>=0&&(b=c.substring(0,a),c=c.substring(a+1)),kJ.hasOwnProperty(b)?{space:kJ[b],local:c}:c}},eS.attr=function(c,a){if(arguments.length<2){if("string"==typeof c){var b=this.node();return c=d7.ns.qualify(c),c.local?b.getAttributeNS(c.space,c.local):b.getAttribute(c)}for(a in c){this.each(iE(a,c[a]))}return this}return this.each(iE(c,a))},eS.classed=function(g,b){if(arguments.length<2){if("string"==typeof g){var f=this.node(),c=(g=g.trim().split(/^|\s+/g)).length,a=-1;if(b=f.classList){for(;++a<c;){if(!b.contains(g[a])){return !1}}}else{for(b=f.getAttribute("class");++a<c;){if(!ib(g[a]).test(b)){return !1}}}return !0}for(b in g){this.each(jy(b,g[b]))}return this}return this.each(jy(g,b))},eS.style=function(f,a,c){var b=arguments.length;if(3>b){if("string"!=typeof f){2>b&&(a="");for(c in f){this.each(iY(c,f[c],a))}return this}if(2>b){return h0.getComputedStyle(this.node(),null).getPropertyValue(f)}c=""}return this.each(iY(f,a,c))},eS.property=function(b,a){if(arguments.length<2){if("string"==typeof b){return this.node()[b]}for(a in b){this.each(id(a,b[a]))}return this}return this.each(id(b,a))},eS.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},eS.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},eS.append=function(a){return a=jj(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},eS.insert=function(b,a){return b=jj(b),a=ig(a),this.select(function(){return this.insertBefore(b.apply(this,arguments),a.apply(this,arguments)||null)})},eS.remove=function(){return this.each(function(){var a=this.parentNode;a&&a.removeChild(this)})},eS.data=function(g,v){function p(t,E){var c,A,s,I=t.length,D=E.length,B=Math.min(I,D),C=new Array(D),l=new Array(D),J=new Array(I);if(v){var F,z=new ij,G=new ij,H=[];for(c=-1;++c<I;){F=v.call(A=t[c],A.__data__,c),z.has(F)?J[c]=A:z.set(F,A),H.push(F)}for(c=-1;++c<D;){F=v.call(E,s=E[c],c),(A=z.get(F))?(C[c]=A,A.__data__=s):G.has(F)||(l[c]=iI(s)),G.set(F,s),z.remove(F)}for(c=-1;++c<I;){z.has(H[c])&&(J[c]=t[c])}}else{for(c=-1;++c<B;){A=t[c],s=E[c],A?(A.__data__=s,C[c]=A):l[c]=iI(s)}for(;D>c;++c){l[c]=iI(E[c])}for(;I>c;++c){J[c]=t[c]}}l.update=C,l.parentNode=C.parentNode=J.parentNode=t.parentNode,q.push(l),x.push(C),k.push(J)}var b,m,f=-1,u=this.length;if(!arguments.length){for(g=new Array(u=(b=this[0]).length);++f<u;){(m=b[f])&&(g[f]=m.__data__)}return g}var q=jv([]),x=iz([]),k=iz([]);if("function"==typeof g){for(;++f<u;){p(b=this[f],g.call(b,b.parentNode.__data__,f))}}else{for(;++f<u;){p(b=this[f],g)}}return x.enter=function(){return q},x.exit=function(){return k},x},eS.datum=function(a){return arguments.length?this.property("__data__",a):this.property("__data__")},eS.filter=function(g){var s,l,b,q=[];"function"!=typeof g&&(g=jL(g));for(var k=0,f=this.length;f>k;k++){q.push(s=[]),s.parentNode=(l=this[k]).parentNode;for(var p=0,m=l.length;m>p;p++){(b=l[p])&&g.call(b,b.__data__,p,k)&&s.push(b)}}return iz(q)},eS.order=function(){for(var k=-1,c=this.length;++k<c;){for(var g,f=this[k],a=f.length-1,b=f[a];--a>=0;){(g=f[a])&&(b&&b!==g.nextSibling&&b.parentNode.insertBefore(g,b),b=g)}}return this},eS.sort=function(c){c=jR.apply(this,arguments);for(var a=-1,b=this.length;++a<b;){this[a].sort(c)}return this.order()},eS.each=function(a){return jP(this,function(b,f,c){a.call(b,b.__data__,f,c)})},eS.call=function(b){var a=dB(arguments);return b.apply(a[0]=this,a),this},eS.empty=function(){return !this.node()},eS.node=function(){for(var k=0,c=this.length;c>k;k++){for(var g=this[k],f=0,a=g.length;a>f;f++){var b=g[f];if(b){return b}}}return null},eS.size=function(){var a=0;return this.each(function(){++a}),a};var aA=[];d7.selection.enter=jv,d7.selection.enter.prototype=aA,aA.append=eS.append,aA.empty=eS.empty,aA.node=eS.node,aA.call=eS.call,aA.size=eS.size,aA.select=function(g){for(var y,p,b,x,m,f=[],v=-1,q=this.length;++v<q;){b=(x=this[v]).update,f.push(y=[]),y.parentNode=x.parentNode;for(var z=-1,k=x.length;++z<k;){(m=x[z])?(y.push(b[z]=p=g.call(x.parentNode,m.__data__,z,v)),p.__data__=m.__data__):y.push(null)}}return iz(f)},aA.insert=function(b,a){return arguments.length<2&&(a=jz(this)),eS.insert.call(this,b,a)},eS.transition=function(){for(var g,v,l=e5||++gU,b=[],q=fn||{time:Date.now(),ease:kf,delay:0,duration:250},k=-1,f=this.length;++k<f;){b.push(g=[]);for(var p=this[k],m=-1,x=p.length;++m<x;){(v=p[m])&&bx(v,m,l,q),g.push(v)}}return bQ(b,l)},eS.interrupt=function(){return this.each(jg)},d7.select=function(b){var a=["string"==typeof b?g0(b,iN):b];return a.parentNode=kK,iz([a])},d7.selectAll=function(b){var a=dB("string"==typeof b?dE(b,iN):b);return a.parentNode=kK,iz([a])};var hx=d7.select(kK);eS.on=function(f,a,c){var b=arguments.length;if(3>b){if("string"!=typeof f){2>b&&(a=!1);for(c in f){this.each(ix(c,f[c],a))}return this}if(2>b){return(b=this.node()["__on"+f])&&b._}c=!1}return this.each(ix(f,a,c))};var aF=d7.map({mouseenter:"mouseover",mouseleave:"mouseout"});aF.forEach(function(a){"on"+a in iN&&aF.remove(a)});var jN="onselectstart" in iN?null:iZ(kK.style,"userSelect"),aW=0;d7.mouse=function(a){return jn(a,iO())};var fj=/WebKit/.test(h0.navigator.userAgent)?-1:0;d7.touches=function(b,a){return arguments.length<2&&(a=iO().touches),a?dB(a).map(function(c){var f=jn(b,c);return f.identifier=c.identifier,f}):[]},d7.behavior.drag=function(){function p(){this.on("mousedown.drag",m).on("touchstart.drag",b)}function g(){return d7.event.changedTouches[0].identifier}function l(e,a){return d7.touches(e).filter(function(o){return o.identifier===a})[0]}function k(s,a,q,o){return function(){function n(){var G=a(t,x),y=G[0]-E[0],v=G[1]-E[1];A|=y|v,E=G,z({type:"drag",x:G[0]+B[0],y:G[1]+B[1],dx:y,dy:v})}function D(){r.on(q+"."+e,null).on(o+"."+e,null),C(A&&d7.event.target===u),z({type:"dragend"})}var B,F=this,t=F.parentNode,z=c.of(F,arguments),u=d7.event.target,x=s(),e=null==x?"drag":"drag-"+x,E=a(t,x),A=0,r=d7.select(h0).on(q+"."+e,n).on(o+"."+e,D),C=jM();f?(B=f.apply(F,arguments),B=[B.x-E[0],B.y-E[1]]):B=[0,0],z({type:"dragstart"})}}var c=iP(p,"drag","dragstart","dragend"),f=null,m=k(iV,d7.mouse,"mousemove","mouseup"),b=k(g,l,"touchmove","touchend");return p.origin=function(a){return arguments.length?(f=a,p):f},d7.rebind(p,c,"on")};var fD=Math.PI,a5=2*fD,cK=fD/2,bP=0.000001,g4=bP*bP,hQ=fD/180,eW=180/fD,dg=Math.SQRT2,kg=2,fH=4;d7.interpolateZoom=function(D,x){function K(g){var a=g*b;if(E){var c=jp(k),f=G/(kg*H)*(c*i5(dg*a+k)-jJ(k));return[A+f*z,q+f*F,G*c/jp(dg*a+k)]}return[A+g*z,q+g*F,G*Math.exp(dg*a)]}var A=D[0],q=D[1],G=D[2],C=x[0],N=x[1],M=x[2],z=C-A,F=N-q,J=z*z+F*F,H=Math.sqrt(J),I=(M*M-G*G+fH*J)/(2*G*kg*H),B=(M*M-G*G-fH*J)/(2*M*kg*H),k=Math.log(Math.sqrt(I*I+1)-I),L=Math.log(Math.sqrt(B*B+1)-B),E=L-k,b=(E||Math.log(M/G))/dg;return K.duration=1000*b,K},d7.behavior.zoom=function(){function W(a){a.on(T,O).on(eE+".zoom",ac).on(P,U).on("dblclick.zoom",H).on(B,Y)}function K(a){return[(a[0]-f.x)/f.k,(a[1]-f.y)/f.k]}function ae(a){return[a[0]*f.k+f.x,a[1]*f.k+f.y]}function Q(a){f.k=Math.max(J[0],Math.min(J[1],a))}function I(b,a){a=ae(a),f.x+=b[0]-a[0],f.y+=b[1]-a[1]}function aa(){at&&at.domain(z.range().map(function(a){return(a-f.x)/f.k}).map(z.invert)),G&&G.domain(ao.range().map(function(a){return(a-f.y)/f.k}).map(ao.invert))}function V(a){a({type:"zoomstart"})}function ar(a){aa(),a({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function al(a){a({type:"zoomend"})}function O(){function b(){c=1,I(d7.mouse(a),m),ar(k)}function q(){p.on(P,h0===a?U:null).on(g,null),o(c&&d7.event.target===t),al(k)}var a=this,k=R.of(a,arguments),t=d7.event.target,c=0,p=d7.select(h0).on(P,b).on(g,q),m=K(d7.mouse(a)),o=jM();jg.call(a),V(k)}function Y(){function c(){var b=d7.touches(a);return s=f.k,b.forEach(function(e){e.identifier in x&&(x[e.identifier]=K(e))}),b}function t(){for(var au=d7.event.changedTouches,M=0,n=au.length;n>M;++M){x[au[M].identifier]=null}var k=c(),S=Date.now();if(1===k.length){if(500>S-F){var ba=k[0],m=x[ba.identifier];Q(2*f.k),I(ba,m),iQ(),ar(N)}F=S}else{if(k.length>1){var ba=k[0],v=k[1],y=ba[0]-v[0],b=ba[1]-v[1];l=y*y+b*b}}}function q(){for(var k,S,y,p,b=d7.touches(a),M=0,au=b.length;au>M;++M,p=null){if(y=b[M],p=x[y.identifier]){if(S){break}k=y,S=p}}if(p){var m=(m=y[0]-k[0])*m+(m=y[1]-k[1])*m,v=l&&Math.sqrt(m/l);k=[(k[0]+y[0])/2,(k[1]+y[1])/2],S=[(S[0]+p[0])/2,(S[1]+p[1])/2],Q(v*s)}F=null,I(k,S),ar(N)}function r(){if(d7.event.touches.length){for(var k=d7.event.changedTouches,n=0,m=k.length;m>n;++n){delete x[k[n].identifier]}for(var b in x){return void c()}}A.on(u,null).on(L,null),E.on(T,O).on(B,Y),o(),al(N)}var s,a=this,N=R.of(a,arguments),x={},l=0,C=d7.event.changedTouches[0].identifier,u="touchmove.zoom-"+C,L="touchend.zoom-"+C,A=d7.select(h0).on(u,q).on(L,r),E=d7.select(a).on(T,null).on(B,t),o=jM();jg.call(a),t(),V(N)}function ac(){var b=R.of(this,arguments);D?clearTimeout(D):(jg.call(this),V(b)),D=setTimeout(function(){D=null,al(b)},50),iQ();var a=X||d7.mouse(this);ai||(ai=K(a)),Q(Math.pow(2,0.002*bw())*f.k),I(a,ai),ar(b)}function U(){ai=null}function H(){var k=R.of(this,arguments),c=d7.mouse(this),a=K(c),b=Math.log(f.k)/Math.LN2;V(k),Q(Math.pow(2,d7.event.shiftKey?Math.ceil(b)-1:Math.floor(b)+1)),I(c,a),ar(k),al(k)}var ai,X,D,F,z,at,ao,G,f={x:0,y:0,k:1},Z=[960,500],J=gn,T="mousedown.zoom",P="mousemove.zoom",g="mouseup.zoom",B="touchstart.zoom",R=iP(W,"zoomstart","zoom","zoomend");return W.event=function(a){a.each(function(){var c=R.of(this,arguments),b=f;e5?d7.select(this).transition().each("start.zoom",function(){f=this.__chart__||{x:0,y:0,k:1},V(c)}).tween("zoom:zoom",function(){var n=Z[0],m=Z[1],k=n/2,l=m/2,p=d7.interpolateZoom([(k-f.x)/f.k,(l-f.y)/f.k,n/f.k],[(k-b.x)/b.k,(l-b.y)/b.k,n/b.k]);return function(e){var o=p(e),q=n/o[2];this.__chart__=f={x:k-o[0]*q,y:l-o[1]*q,k:q},ar(c)}}).each("end.zoom",function(){al(c)}):(this.__chart__=f,V(c),ar(c),al(c))})},W.translate=function(a){return arguments.length?(f={x:+a[0],y:+a[1],k:f.k},aa(),W):[f.x,f.y]},W.scale=function(a){return arguments.length?(f={x:f.x,y:f.y,k:+a},aa(),W):f.k},W.scaleExtent=function(a){return arguments.length?(J=null==a?gn:[+a[0],+a[1]],W):J},W.center=function(a){return arguments.length?(X=a&&[+a[0],+a[1]],W):X},W.size=function(a){return arguments.length?(Z=a&&[+a[0],+a[1]],W):Z},W.x=function(a){return arguments.length?(at=a,z=a.copy(),f={x:0,y:0,k:1},W):at},W.y=function(a){return arguments.length?(G=a,ao=a.copy(),f={x:0,y:0,k:1},W):G},d7.rebind(W,R,"on")};var bw,gn=[0,1/0],eE="onwheel" in iN?(bw=function(){return -d7.event.deltaY*(d7.event.deltaMode?120:1)},"wheel"):"onmousewheel" in iN?(bw=function(){return d7.event.wheelDelta},"mousewheel"):(bw=function(){return -d7.event.detail},"MozMousePixelScroll");i4.prototype.toString=function(){return this.rgb()+""},d7.hsl=function(c,a,b){return 1===arguments.length?c instanceof i6?i9(c.h,c.s,c.l):b4(""+c,eY,i9):i9(+c,+a,+b)};var fV=i6.prototype=new i4;fV.brighter=function(a){return a=Math.pow(0.7,arguments.length?a:1),i9(this.h,this.s,this.l/a)},fV.darker=function(a){return a=Math.pow(0.7,arguments.length?a:1),i9(this.h,this.s,a*this.l)},fV.rgb=function(){return kp(this.h,this.s,this.l)},d7.hcl=function(c,a,b){return 1===arguments.length?c instanceof i7?jQ(c.h,c.c,c.l):c instanceof jC?d9(c.l,c.a,c.b):d9((c=g6((c=d7.rgb(c)).r,c.g,c.b)).l,c.a,c.b):jQ(+c,+a,+b)};var kA=i7.prototype=new i4;kA.brighter=function(a){return jQ(this.h,this.c,Math.min(100,this.l+aN*(arguments.length?a:1)))},kA.darker=function(a){return jQ(this.h,this.c,Math.max(0,this.l-aN*(arguments.length?a:1)))},kA.rgb=function(){return jD(this.h,this.c,this.l).rgb()},d7.lab=function(c,a,b){return 1===arguments.length?c instanceof jC?jH(c.l,c.a,c.b):c instanceof i7?jD(c.l,c.c,c.h):g6((c=d7.rgb(c)).r,c.g,c.b):jH(+c,+a,+b)};var aN=18,gL=0.95047,cZ=1,jY=1.08883,cC=jC.prototype=new i4;cC.brighter=function(a){return jH(Math.min(100,this.l+aN*(arguments.length?a:1)),this.a,this.b)},cC.darker=function(a){return jH(Math.max(0,this.l-aN*(arguments.length?a:1)),this.a,this.b)},cC.rgb=function(){return jm(this.l,this.a,this.b)},d7.rgb=function(c,a,b){return 1===arguments.length?c instanceof j1?dK(c.r,c.g,c.b):b4(""+c,dK,kp):dK(~~c,~~a,~~b)};var d6=j1.prototype=new i4;d6.brighter=function(g){g=Math.pow(0.7,arguments.length?g:1);var b=this.r,f=this.g,c=this.b,a=30;return b||f||c?(b&&a>b&&(b=a),f&&a>f&&(f=a),c&&a>c&&(c=a),dK(Math.min(255,~~(b/g)),Math.min(255,~~(f/g)),Math.min(255,~~(c/g)))):dK(a,a,a)},d6.darker=function(a){return a=Math.pow(0.7,arguments.length?a:1),dK(~~(a*this.r),~~(a*this.g),~~(a*this.b))},d6.hsl=function(){return eY(this.r,this.g,this.b)},d6.toString=function(){return"#"+ik(this.r)+ik(this.g)+ik(this.b)};var dl=d7.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});dl.forEach(function(b,a){dl.set(b,bn(a))}),d7.functor=dn,d7.xhr=hS(a1),d7.dsv=function(g,q){function k(s,c,a){arguments.length<3&&(a=c,c=null);var r=d7.xhr(s,q,a);return r.row=function(e){return arguments.length?r.response(null==(c=e)?b:p(e)):c},r.row(c)}function b(a){return k.parse(a.responseText)}function p(a){return function(c){return k.parse(c.responseText,a)}}function f(a){return a.map(m).join(g)}function m(a){return l.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var l=new RegExp('["'+g+"\n]"),v=g.charCodeAt(0);return k.parse=function(e,a){var c;return k.parseRows(e,function(s,r){if(c){return c(s,r-1)}var o=new Function("d","return {"+s.map(function(x,u){return JSON.stringify(x)+": d["+u+"]"}).join(",")+"}");c=a?function(u,t){return a(o(u),t)}:o})},k.parseRows=function(y,H){function D(){if(z>=E){return x}if(G){return G=!1,A}var n=z;if(34===y.charCodeAt(n)){for(var u=n;u++<E;){if(34===y.charCodeAt(u)){if(34!==y.charCodeAt(u+1)){break}++u}}z=u+2;var o=y.charCodeAt(u+1);return 13===o?(G=!0,10===y.charCodeAt(u+2)&&++z):10===o&&(G=!0),y.substring(n+1,u).replace(/""/g,'"')}for(;E>z;){var o=y.charCodeAt(z++),c=1;if(10===o){G=!0}else{if(13===o){G=!0,10===y.charCodeAt(z)&&(++z,++c)}else{if(o!==v){continue}}}return y.substring(n,z-c)}return y.substring(n)}for(var s,G,A={},x={},F=[],E=y.length,z=0,C=0;(s=D())!==x;){for(var B=[];s!==A&&s!==x;){B.push(s),s=D()}(!H||(B=H(B,C++)))&&F.push(B)}return F},k.format=function(c){if(Array.isArray(c[0])){return k.formatRows(c)}var e=new iM,a=[];return c.forEach(function(r){for(var o in r){e.has(o)||a.push(e.add(o))}}),[a.map(m).join(g)].concat(c.map(function(n){return a.map(function(o){return m(n[o])}).join(g)})).join("\n")},k.formatRows=function(a){return a.map(f).join("\n")},k},d7.csv=d7.dsv(",","text/csv"),d7.tsv=d7.dsv(" ","text/tab-separated-values");var ew,b8,dI,i3,af,h8=h0[iZ(h0,"requestAnimationFrame")]||function(a){setTimeout(a,17)};d7.timer=function(k,c,g){var f=arguments.length;2>f&&(c=0),3>f&&(g=Date.now());var a=g+c,b={c:k,t:a,f:!1,n:null};b8?b8.n=b:ew=b,b8=b,dI||(i3=clearTimeout(i3),dI=1,h8(kO))},d7.timer.flush=function(){hf(),aj()};var fZ=".",ez=",",bX=[3,3],hL="$",cU=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(jb);d7.formatPrefix=function(c,a){var b=0;return c&&(0>c&&(c*=-1),a&&(c=d7.round(c,aJ(c,a))),b=1+Math.floor(1e-12+Math.log(c)/Math.LN10),b=Math.max(-24,Math.min(24,3*Math.floor((0>=b?b+1:b-1)/3)))),cU[8+b/3]},d7.round=function(b,a){return a?Math.round(b*(a=Math.pow(10,a)))/a:Math.round(b)},d7.format=function(q){var F=bE.exec(q),B=F[1]||" ",b=F[2]||">",E=F[3]||"",x=F[4]||"",m=F[5],D=+F[6],C=F[7],G=F[8],v=F[9],A=1,y="",z=!1;switch(G&&(G=+G.substring(1)),(m||"0"===B&&"="===b)&&(m=B="0",b="=",C&&(D-=Math.floor((D-1)/4))),v){case"n":C=!0,v="g";break;case"%":A=100,y="%",v="f";break;case"p":A=100,y="%",v="r";break;case"b":case"o":case"x":case"X":"#"===x&&(x="0"+v.toLowerCase());case"c":case"d":z=!0,G=0;break;case"s":A=-1,v="r"}"#"===x?x="":"$"===x&&(x=hL),"r"!=v||G||(v="g"),null!=G&&("g"==v?G=Math.max(1,Math.min(21,G)):("e"==v||"f"==v)&&(G=Math.max(0,Math.min(20,G)))),v=gg.get(v)||e4;var k=m&&C;return function(p){if(z&&p%1){return""}var f=0>p||0===p&&0>1/p?(p=-p,"-"):E;if(0>A){var e=d7.formatPrefix(p,G);p=e.scale(p),y=e.symbol}else{p*=A}p=v(p,G);var g=p.lastIndexOf("."),c=0>g?p:p.substring(0,g),o=0>g?"":fZ+p.substring(g+1);!m&&C&&(c=dW(c));var a=x.length+c.length+o.length+(k?0:f.length),l=D>a?new Array(a=D-a+1).join(B):"";return k&&(c=dW(l+c)),f+=x,p=c+o,("<"===b?f+p+l:">"===b?l+f+p:"^"===b?l.substring(0,a>>=1)+f+p+l.substring(a):f+(k?p:l+p))+y}};var bE=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,gg=d7.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(b,a){return b.toPrecision(a)},e:function(b,a){return b.toExponential(a)},f:function(b,a){return b.toFixed(a)},r:function(b,a){return(b=d7.round(b,aJ(b,a))).toFixed(Math.max(0,Math.min(20,aJ(b*(1+1e-15),a))))}}),dW=a1;if(bX){var kl=bX.length;dW=function(g){for(var b=g.length,f=[],c=0,a=bX[0];b>0&&a>0;){f.push(g.substring(b-=a,b+a)),a=bX[c=(c+1)%kl]}return f.reverse().join(ez)}}d7.geo={},fm.prototype={s:0,t:0,add:function(a){aS(a,this.t,iT),aS(iT.s,this.s,this),this.s?this.t+=iT.t:this.s=iT.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var iT=new fm;d7.geo.stream=function(b,a){b&&cv.hasOwnProperty(b.type)?cv[b.type](b,a):cp(b,a)};var cv={Feature:function(b,a){cp(b.geometry,a)},FeatureCollection:function(g,b){for(var f=g.features,c=-1,a=f.length;++c<a;){cp(f[c].geometry,b)}}},fb={Sphere:function(b,a){a.sphere()},Point:function(b,a){b=b.coordinates,a.point(b[0],b[1],b[2])},MultiPoint:function(g,b){for(var f=g.coordinates,c=-1,a=f.length;++c<a;){g=f[c],b.point(g[0],g[1],g[2])}},LineString:function(b,a){bC(b.coordinates,a,0)},MultiLineString:function(g,b){for(var f=g.coordinates,c=-1,a=f.length;++c<a;){bC(f[c],b,0)}},Polygon:function(b,a){gT(b.coordinates,a)},MultiPolygon:function(g,b){for(var f=g.coordinates,c=-1,a=f.length;++c<a;){gT(f[c],b)}},GeometryCollection:function(g,b){for(var f=g.geometries,c=-1,a=f.length;++c<a;){cp(f[c],b)}}};d7.geo.area=function(a){return hn=0,d7.geo.stream(a,gZ),hn};var hn,gG=new fm,gZ={sphere:function(){hn+=4*fD},point:iV,lineStart:iV,lineEnd:iV,polygonStart:function(){gG.reset(),gZ.lineStart=hF},polygonEnd:function(){var a=2*gG;hn+=0>a?4*fD+a:a,gZ.lineStart=gZ.lineEnd=gZ.point=iV}};d7.geo.bounds=function(){function G(c,a){q.push(b=[I=c,K=c]),N>a&&(N=a),a>L&&(L=a)}function B(T,l){var a=eL([T*hQ,l*hQ]);if(H){var M=jU(H,a),g=[M[1],-M[0],0],f=jU(g,M);f7(f),f=em(f);var n=T-E,U=n>0?1:-1,x=f[0]*eW*U,m=km(n)>180;if(m^(x>U*E&&U*T>x)){var p=f[1]*eW;p>L&&(L=p)}else{if(x=(x+360)%360-180,m^(x>U*E&&U*T>x)){var p=-f[1]*eW;N>p&&(N=p)}else{N>l&&(N=l),l>L&&(L=l)}}m?E>T?R(I,T)>R(I,K)&&(K=T):R(T,K)>R(I,K)&&(I=T):K>=I?(I>T&&(I=T),T>K&&(K=T)):T>E?R(I,T)>R(I,K)&&(K=T):R(T,K)>R(I,K)&&(I=T)}else{G(T,l)}H=a,E=T}function O(){S.point=B}function D(){b[0]=I,b[1]=K,S.point=G,H=null}function A(f,c){if(H){var a=f-E;k+=km(a)>180?a+(a>0?360:-360):a}else{z=f,P=c}gZ.point(f,c),B(f,c)}function J(){gZ.lineStart()}function F(){A(z,P),gZ.lineEnd(),km(k)>bP&&(I=-(K=180)),b[0]=I,b[1]=K,H=null}function R(c,a){return(a-=c)<0?a+360:a}function Q(c,a){return c[0]-a[0]}function C(c,a){return a[0]<=a[1]?a[0]<=c&&c<=a[1]:c<a[0]||a[1]<c}var I,N,K,L,E,z,P,H,k,q,b,S={point:G,lineStart:O,lineEnd:D,polygonStart:function(){S.point=A,S.lineStart=J,S.lineEnd=F,k=0,gZ.polygonStart()},polygonEnd:function(){gZ.polygonEnd(),S.point=G,S.lineStart=O,S.lineEnd=D,0>gG?(I=-(K=180),N=-(L=90)):k>bP?L=90:-bP>k&&(N=-90),b[0]=I,b[1]=K}};return function(v){L=K=-(I=N=1/0),q=[],d7.geo.stream(v,S);var f=q.length;if(f){q.sort(Q);for(var m,g=1,a=q[0],c=[a];f>g;++g){m=q[g],C(m[0],a)||C(m[1],a)?(R(a[0],m[1])>R(a[0],a[1])&&(a[1]=m[1]),R(m[0],a[1])>R(a[0],a[1])&&(a[0]=m[0])):c.push(a=m)}for(var s,m,l=-1/0,f=c.length-1,g=0,a=c[f];f>=g;a=m,++g){m=c[g],(s=R(a[1],m[0]))>l&&(l=s,I=m[0],K=a[1])}}return q=b=null,1/0===I||1/0===N?[[0/0,0/0],[0/0,0/0]]:[[I,N],[K,L]]}}(),d7.geo.centroid=function(g){dD=bf=h2=eR=kH=ay=hw=aE=jK=aU=fh=0,d7.geo.stream(g,fC);var b=jK,f=aU,c=fh,a=b*b+f*f+c*c;return g4>a&&(b=ay,f=hw,c=aE,bP>bf&&(b=h2,f=eR,c=kH),a=b*b+f*f+c*c,g4>a)?[0/0,0/0]:[Math.atan2(f,b)*eW,jG(c/Math.sqrt(a))*eW]};var dD,bf,h2,eR,kH,ay,hw,aE,jK,aU,fh,fC={sphere:iV,point:j9,lineStart:gA,lineEnd:cO,polygonStart:function(){fC.lineStart=jw},polygonEnd:function(){fC.lineStart=gA}},a3=bV(cf,fO,bU,[-fD,-fD/2]),cI=1000000000;d7.geo.clipExtent=function(){var l,c,g,f,a,b,k={stream:function(e){return a&&(a.valid=!1),a=b(e),a.valid=!0,a},extent:function(e){return arguments.length?(b=bB(l=+e[0][0],c=+e[0][1],g=+e[1][0],f=+e[1][1]),a&&(a.valid=!1,a=null),k):[[l,c],[g,f]]}};return k.extent([[0,0],[960,500]])},(d7.geo.conicEqualArea=function(){return dV(kk)}).raw=kk,d7.geo.albers=function(){return d7.geo.conicEqualArea().rotate([96,0]).center([-0.6,38.7]).parallels([29.5,45.5]).scale(1070)},d7.geo.albersUsa=function(){function g(e){var a=e[0],c=e[1];return s=null,l(a,c),s||(b(a,c),s)||q(a,c),s}var s,l,b,q,k=d7.geo.albers(),f=d7.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),p=d7.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),m={point:function(c,a){s=[c,a]}};return g.invert=function(x){var c=k.scale(),v=k.translate(),o=(x[0]-v[0])/c,a=(x[1]-v[1])/c;return(a>=0.12&&0.234>a&&o>=-0.425&&-0.214>o?f:a>=0.166&&0.234>a&&o>=-0.214&&-0.115>o?p:k).invert(x)},g.stream=function(u){var a=k.stream(u),o=f.stream(u),c=p.stream(u);return{point:function(r,e){a.point(r,e),o.point(r,e),c.point(r,e)},sphere:function(){a.sphere(),o.sphere(),c.sphere()},lineStart:function(){a.lineStart(),o.lineStart(),c.lineStart()},lineEnd:function(){a.lineEnd(),o.lineEnd(),c.lineEnd()},polygonStart:function(){a.polygonStart(),o.polygonStart(),c.polygonStart()},polygonEnd:function(){a.polygonEnd(),o.polygonEnd(),c.polygonEnd()}}},g.precision=function(a){return arguments.length?(k.precision(a),f.precision(a),p.precision(a),g):k.precision()},g.scale=function(a){return arguments.length?(k.scale(a),f.scale(0.35*a),p.scale(a),g.translate(k.translate())):k.scale()},g.translate=function(c){if(!arguments.length){return k.translate()}var e=k.scale(),a=+c[0],n=+c[1];return l=k.translate(c).clipExtent([[a-0.455*e,n-0.238*e],[a+0.455*e,n+0.238*e]]).stream(m).point,b=f.translate([a-0.307*e,n+0.201*e]).clipExtent([[a-0.425*e+bP,n+0.12*e+bP],[a-0.214*e-bP,n+0.234*e-bP]]).stream(m).point,q=p.translate([a-0.205*e,n+0.212*e]).clipExtent([[a-0.214*e+bP,n+0.166*e+bP],[a-0.115*e-bP,n+0.234*e-bP]]).stream(m).point,g},g.scale(1070)};var bN,g3,hP,eV,df,kd,fG={point:iV,lineStart:iV,lineEnd:iV,polygonStart:function(){g3=0,fG.lineStart=iR},polygonEnd:function(){fG.lineStart=fG.lineEnd=fG.point=iV,bN+=km(g3/2)}},bq={point:cn,lineStart:iV,lineEnd:iV,polygonStart:iV,polygonEnd:iV},gm={point:gF,lineStart:gY,lineEnd:dC,polygonStart:function(){gm.lineStart=a9},polygonEnd:function(){gm.point=gF,gm.lineStart=gY,gm.lineEnd=dC}};d7.geo.path=function(){function p(a){return a&&("function"==typeof b&&f.pointRadius(+b.apply(this,arguments)),m&&m.valid||(m=c(f)),d7.geo.stream(a,m)),f.result()}function g(){return m=null,p}var l,k,c,f,m,b=4.5;return p.area=function(a){return bN=0,d7.geo.stream(a,c(fG)),bN},p.centroid=function(a){return h2=eR=kH=ay=hw=aE=jK=aU=fh=0,d7.geo.stream(a,c(gm)),fh?[jK/fh,aU/fh]:aE?[ay/aE,hw/aE]:kH?[h2/kH,eR/kH]:[0/0,0/0]},p.bounds=function(a){return df=kd=-(hP=eV=1/0),d7.geo.stream(a,c(bq)),[[hP,eV],[df,kd]]},p.projection=function(a){return arguments.length?(c=(l=a)?a.stream||kE(a):a1,g()):l},p.context=function(a){return arguments.length?(f=null==(k=a)?new e9:new h1(a),"function"!=typeof b&&f.pointRadius(b),g()):k},p.pointRadius=function(a){return arguments.length?(b="function"==typeof a?a:(f.pointRadius(+a),+a),p):b},p.projection(d7.geo.albersUsa()).context(null)},d7.geo.transform=function(a){return{stream:function(b){var f=new av(b);for(var c in a){f[c]=a[c]}return f}}},av.prototype={point:function(b,a){this.stream.point(b,a)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},d7.geo.projection=aD,d7.geo.projectionMutator=jI,(d7.geo.equirectangular=function(){return aD(fg)}).raw=fg.invert=fg,d7.geo.rotation=function(b){function a(c){return c=b(c[0]*hQ,c[1]*hQ),c[0]*=eW,c[1]*=eW,c}return b=a0(b[0]%360*hQ,b[1]*hQ,b.length>2?b[2]*hQ:0),a.invert=function(c){return c=b.invert(c[0]*hQ,c[1]*hQ),c[0]*=eW,c[1]*=eW,c},a},fB.invert=fg,d7.geo.circle=function(){function g(){var l="function"==typeof c?c.apply(this,arguments):c,k=a0(-l[0]*hQ,-l[1]*hQ,0).invert,e=[];return f(null,null,1,{point:function(o,m){e.push(o=k(o,m)),o[0]*=eW,o[1]*=eW}}),{type:"Polygon",coordinates:[e]}}var b,f,c=[0,0],a=6;return g.origin=function(e){return arguments.length?(c=e,g):c},g.angle=function(e){return arguments.length?(f=hO((b=+e)*hQ,a*hQ),g):b},g.precision=function(e){return arguments.length?(f=hO(b*hQ,(a=+e)*hQ),g):a},g.angle(90)},d7.geo.distance=function(k,A){var v,b=(A[0]-k[0])*hQ,z=k[1]*hQ,p=A[1]*hQ,g=Math.sin(b),y=Math.cos(b),x=Math.sin(z),B=Math.cos(z),m=Math.sin(p),q=Math.cos(p);return Math.atan2(Math.sqrt((v=q*g)*v+(v=B*m-x*q*y)*v),x*m+B*q*y)},d7.geo.graticule=function(){function D(){return{type:"MultiLineString",coordinates:x()}}function x(){return d7.range(Math.ceil(G/L)*L,q,L).map(H).concat(d7.range(Math.ceil(z/E)*E,M,E).map(I)).concat(d7.range(Math.ceil(A/B)*B,K,B).filter(function(a){return km(a%L)>bP}).map(F)).concat(d7.range(Math.ceil(N/k)*k,C,k).filter(function(a){return km(a%E)>bP}).map(J))}var K,A,q,G,C,N,M,z,F,J,H,I,B=10,k=B,L=90,E=360,b=2.5;return D.lines=function(){return x().map(function(a){return{type:"LineString",coordinates:a}})},D.outline=function(){return{type:"Polygon",coordinates:[H(G).concat(I(M).slice(1),H(q).reverse().slice(1),I(z).reverse().slice(1))]}},D.extent=function(a){return arguments.length?D.majorExtent(a).minorExtent(a):D.minorExtent()},D.majorExtent=function(a){return arguments.length?(G=+a[0][0],q=+a[1][0],z=+a[0][1],M=+a[1][1],G>q&&(a=G,G=q,q=a),z>M&&(a=z,z=M,M=a),D.precision(b)):[[G,z],[q,M]]},D.minorExtent=function(a){return arguments.length?(A=+a[0][0],K=+a[1][0],N=+a[0][1],C=+a[1][1],A>K&&(a=A,A=K,K=a),N>C&&(a=N,N=C,C=a),D.precision(b)):[[A,N],[K,C]]},D.step=function(a){return arguments.length?D.majorStep(a).minorStep(a):D.minorStep()},D.majorStep=function(a){return arguments.length?(L=+a[0],E=+a[1],D):[L,E]},D.minorStep=function(a){return arguments.length?(B=+a[0],k=+a[1],D):[B,k]},D.precision=function(a){return arguments.length?(b=+a,F=dd(N,C,90),J=j7(A,K,b),H=dd(z,M,90),I=j7(G,q,b),D):b},D.majorExtent([[-180,-90+bP],[180,90-bP]]).minorExtent([[-180,-80-bP],[180,80+bP]])},d7.geo.greatArc=function(){function g(){return{type:"LineString",coordinates:[b||c.apply(this,arguments),f||a.apply(this,arguments)]}}var b,f,c=fF,a=bm;return g.distance=function(){return d7.geo.distance(b||c.apply(this,arguments),f||a.apply(this,arguments))},g.source=function(k){return arguments.length?(c=k,b="function"==typeof k?null:k,g):c},g.target=function(e){return arguments.length?(a=e,f="function"==typeof e?null:e,g):a},g.precision=function(){return arguments.length?g:0},g},d7.geo.interpolate=function(b,a){return gk(b[0]*hQ,b[1]*hQ,a[0]*hQ,a[1]*hQ)},d7.geo.length=function(a){return eD=0,d7.geo.stream(a,fU),eD};var eD,fU={sphere:iV,point:iV,lineStart:eC,lineEnd:iV,polygonStart:iV,polygonEnd:iV},ky=fT(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(d7.geo.azimuthalEqualArea=function(){return aD(ky)}).raw=ky;var aL=fT(function(b){var a=Math.acos(b);return a&&a/Math.sin(a)},a1);(d7.geo.azimuthalEquidistant=function(){return aD(aL)}).raw=aL,(d7.geo.conicConformal=function(){return dV(kv)}).raw=kv,(d7.geo.conicEquidistant=function(){return dV(aI)}).raw=aI;var gK=fT(function(a){return 1/a},Math.atan);(d7.geo.gnomonic=function(){return aD(gK)}).raw=gK,gJ.invert=function(b,a){return[b,2*Math.atan(Math.exp(a))-cK]},(d7.geo.mercator=function(){return cX(gJ)}).raw=gJ;var cY=fT(function(){return 1},Math.asin);(d7.geo.orthographic=function(){return aD(cY)}).raw=cY;var jW=fT(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(d7.geo.stereographic=function(){return aD(jW)}).raw=jW,jT.invert=function(b,a){return[Math.atan2(jJ(b),Math.cos(a)),jG(Math.sin(a)/jp(b))]},(d7.geo.transverseMercator=function(){return cX(jT)}).raw=jT,d7.geom={},d7.geom.hull=function(f){function a(E){if(E.length<3){return[]}var A,z,H,D,P,N,B,G,K,I,J,C,r=dn(c),L=dn(b),F=E.length,k=F-1,q=[],e=[],Q=0;if(r===cA&&b===d0){A=E}else{for(H=0,A=[];F>H;++H){A.push([+r.call(this,z=E[H],H),+L.call(this,z,H)])}}for(H=1;F>H;++H){(A[H][1]<A[Q][1]||A[H][1]==A[Q][1]&&A[H][0]<A[Q][0])&&(Q=H)}for(H=0;F>H;++H){H!==Q&&(N=A[H][1]-A[Q][1],P=A[H][0]-A[Q][0],q.push({angle:Math.atan2(N,P),index:H}))}for(q.sort(function(l,g){return l.angle-g.angle}),J=q[0].angle,I=q[0].index,K=0,H=1;k>H;++H){if(D=q[H].index,J==q[H].angle){if(P=A[I][0]-A[Q][0],N=A[I][1]-A[Q][1],B=A[D][0]-A[Q][0],G=A[D][1]-A[Q][1],P*P+N*N>=B*B+G*G){q[H].index=-1;continue}q[K].index=-1}J=q[H].angle,K=H,I=D}for(e.push(Q),H=0,D=0;2>H;++D){q[D].index>-1&&(e.push(q[D].index),H++)}for(C=e.length;k>D;++D){if(!(q[D].index<0)){for(;!dj(e[C-2],e[C-1],q[D].index,A);){--C}e[C++]=q[D].index}}var O=[];for(H=C-1;H>=0;--H){O.push(E[e[H]])}return O}var c=cA,b=d0;return arguments.length?a(f):(a.x=function(e){return arguments.length?(c=e,a):c},a.y=function(e){return arguments.length?(b=e,a):b},a)},d7.geom.polygon=function(a){return gH(a,cB),a};var cB=d7.geom.polygon.prototype=[];cB.area=function(){for(var g,b=-1,f=this.length,c=this[f-1],a=0;++b<f;){g=c,c=this[b],a+=g[1]*c[0]-g[0]*c[1]}return 0.5*a},cB.centroid=function(p){var g,l,k=-1,c=this.length,f=0,m=0,b=this[c-1];for(arguments.length||(p=-1/(6*this.area()));++k<c;){g=b,b=this[k],l=g[0]*b[1]-b[0]*g[1],f+=(g[0]+b[0])*l,m+=(g[1]+b[1])*l}return[f*p,m*p]},cB.clip=function(g){for(var y,p,b,x,m,f,v=dG(g),q=-1,z=this.length-dG(this),k=this[z-1];++q<z;){for(y=g.slice(),g.length=0,x=this[q],m=y[(b=y.length-v)-1],p=-1;++p<b;){f=y[p],ek(f,k,x)?(ek(m,k,x)||g.push(b3(m,f,k,x)),g.push(f)):ek(m,k,x)&&g.push(b3(m,f,k,x)),m=f}v&&g.push(g[0]),k=x}return g};var d4,dk,ep,b6,dH,i2=[],ab=[];cJ.prototype.prepare=function(){for(var c,a=this.edges,b=a.length;b--;){c=a[b].edge,c.b&&c.a||a.splice(b,1)}return a.sort(f3),a.length},a4.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},hU.prototype={insert:function(g,b){var f,c,a;if(g){if(b.P=g,b.N=g.N,g.N&&(g.N.P=b),g.N=b,g.R){for(g=g.R;g.L;){g=g.L}g.L=b}else{g.R=b}f=g}else{this._?(g=hh(this._),b.P=null,b.N=g,g.P=g.L=b,f=g):(b.P=b.N=null,this._=b,f=null)}for(b.L=b.R=null,b.U=f,b.C=!0,g=b;f&&f.C;){c=f.U,f===c.L?(a=c.R,a&&a.C?(f.C=a.C=!1,c.C=!0,g=c):(g===f.R&&(kz(this,f),g=f,f=g.U),f.C=!1,c.C=!0,ad(this,c))):(a=c.L,a&&a.C?(f.C=a.C=!1,c.C=!0,g=c):(g===f.L&&(ad(this,f),g=f,f=g.U),f.C=!1,c.C=!0,kz(this,c))),f=g.U}this._.C=!1},remove:function(l){l.N&&(l.N.P=l.P),l.P&&(l.P.N=l.N),l.N=l.P=null;var c,g,f,a=l.U,b=l.L,k=l.R;if(g=b?k?hh(k):b:k,a?a.L===l?a.L=g:a.R=g:this._=g,b&&k?(f=g.C,g.C=l.C,g.L=b,b.U=g,g!==k?(a=g.U,g.U=l.U,l=g.R,a.L=l,g.R=k,k.U=g):(g.U=a,a=g,l=g.R)):(f=l.C,l=g),l&&(l.U=a),!f){if(l&&l.C){return l.C=!1,void 0}do{if(l===this._){break}if(l===a.L){if(c=a.R,c.C&&(c.C=!1,a.C=!0,kz(this,a),c=a.R),c.L&&c.L.C||c.R&&c.R.C){c.R&&c.R.C||(c.L.C=!1,c.C=!0,ad(this,c),c=a.R),c.C=a.C,a.C=c.R.C=!1,kz(this,a),l=this._;break}}else{if(c=a.L,c.C&&(c.C=!1,a.C=!0,ad(this,a),c=a.L),c.L&&c.L.C||c.R&&c.R.C){c.L&&c.L.C||(c.R.C=!1,c.C=!0,kz(this,c),c=a.L),c.C=a.C,a.C=c.L.C=!1,ad(this,a),l=this._;break}}c.C=!0,l=a,a=a.U}while(!l.C);l&&(l.C=!1)}}},d7.geom.voronoi=function(p){function g(x){var q=new Array(x.length),s=b[0][0],a=b[0][1],e=b[1][0],v=b[1][1];return am(l(x),b).cells.forEach(function(t,o){var u=t.edges,r=t.site,n=q[o]=u.length?u.map(function(z){var y=z.start();return[y.x,y.y]}):r.x>=s&&r.x<=e&&r.y>=a&&r.y<=v?[[s,v],[e,v],[e,a],[s,a]]:[];n.point=x[o]}),q}function l(a){return a.map(function(o,e){return{x:Math.round(f(o,e)/bP)*bP,y:Math.round(m(o,e)/bP)*bP,i:e}})}var k=cA,c=d0,f=k,m=c,b=h6;return p?g(p):(g.links=function(a){return am(l(a)).edges.filter(function(e){return e.l&&e.r}).map(function(e){return{source:a[e.l.i],target:a[e.r.i]}})},g.triangles=function(e){var a=[];return am(l(e)).cells.forEach(function(y,n){for(var B,v,q=y.site,A=y.edges.sort(f3),z=-1,C=A.length,t=A[C-1].edge,x=t.l===q?t.r:t.l;++z<C;){B=t,v=x,t=A[z].edge,x=t.l===q?t.r:t.l,n<v.i&&n<x.i&&aM(q,v,x)<0&&a.push([e[n],e[v.i],e[x.i]])}}),a},g.x=function(a){return arguments.length?(f=dn(k=a),g):k},g.y=function(a){return arguments.length?(m=dn(c=a),g):c},g.clipExtent=function(a){return arguments.length?(b=null==a?h6:a,g):b===h6?null:b},g.size=function(a){return arguments.length?g.clipExtent(a&&[[0,0],a]):b===h6?null:b&&b[1]},g)};var h6=[[-1000000,-1000000],[1000000,1000000]];d7.geom.delaunay=function(a){return d7.geom.voronoi().triangles(a)},d7.geom.quadtree=function(g,s,l,b,q){function k(A){function E(y,S,O,v,R,M,x,Q){if(!isNaN(O)&&!isNaN(v)){if(y.leaf){var P=y.x,L=y.y;if(null!=P){if(km(P-O)+km(L-v)<0.01){u(y,S,O,v,R,M,x,Q)}else{var N=y.point;y.x=y.y=y.point=null,u(y,N,P,L,R,M,x,Q),u(y,S,O,v,R,M,x,Q)}}else{y.x=O,y.y=v,y.point=S}}else{u(y,S,O,v,R,M,x,Q)}}}function u(y,T,P,v,S,x,R,Q){var U=0.5*(S+R),L=0.5*(x+Q),O=P>=U,M=v>=L,N=(M<<1)+O;y.leaf=!1,y=y.nodes[N]||(y.nodes[N]=aV()),O?S=U:R=U,M?x=L:Q=L,E(y,T,P,v,S,x,R,Q)}var C,H,F,G,z,t,I,B,e,o=dn(p),c=dn(m);if(null!=s){t=s,I=l,B=b,e=q}else{if(B=e=-(t=I=1/0),H=[],F=[],z=A.length,f){for(G=0;z>G;++G){C=A[G],C.x<t&&(t=C.x),C.y<I&&(I=C.y),C.x>B&&(B=C.x),C.y>e&&(e=C.y),H.push(C.x),F.push(C.y)}}else{for(G=0;z>G;++G){var K=+o(C=A[G],G),J=+c(C,G);t>K&&(t=K),I>J&&(I=J),K>B&&(B=K),J>e&&(e=J),H.push(K),F.push(J)}}}var r=B-t,a=e-I;r>a?e=I+r:B=t+a;var D=aV();if(D.add=function(v){E(D,v,+o(v,++G),+c(v,G),t,I,B,e)},D.visit=function(v){cw(v,D,t,I,B,e)},G=-1,null==s){for(;++G<z;){E(D,A[G],H[G],F[G],t,I,B,e)}--G}else{A.forEach(D.add)}return H=F=A=C=null,D}var f,p=cA,m=d0;return(f=arguments.length)?(p=e6,m=fp,3===f&&(q=l,b=s,l=s=0),k(g)):(k.x=function(a){return arguments.length?(p=a,k):p},k.y=function(a){return arguments.length?(m=a,k):m},k.extent=function(a){return arguments.length?(null==a?s=l=b=q=null:(s=+a[0][0],l=+a[0][1],b=+a[1][0],q=+a[1][1]),k):null==s?null:[[s,l],[b,q]]},k.size=function(a){return arguments.length?(null==a?s=l=b=q=null:(s=l=0,b=+a[0],q=+a[1]),k):null==s?null:[b-s,q-l]},k)},d7.interpolateRgb=bF,d7.interpolateObject=gV,d7.interpolateNumber=hH,d7.interpolateString=eN;var fY=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;d7.interpolate=c3,d7.interpolators=[function(c,a){var b=typeof a;return("string"===b?dl.has(a)||/^(#|rgb\(|hsl\()/.test(a)?bF:eN:a instanceof i4?bF:"object"===b?Array.isArray(a)?jX:gV:hH)(c,a)}],d7.interpolateArray=jX;var eb=function(){return a1},bM=d7.map({linear:eb,poly:az,quad:function(){return eq},cubic:function(){return fL},sin:function(){return gC},exp:function(){return cQ},circle:function(){return jA},elastic:ch,back:dS,bounce:function(){return c8}}),hA=d7.map({"in":a1,out:bg,"in-out":f9,"out-in":function(a){return f9(bg(a))}});d7.ease=function(f){var a=f.indexOf("-"),c=a>=0?f.substring(0,a):f,b=a>=0?f.substring(a+1):"in";return c=bM.get(c)||eb,b=hA.get(b)||a1,fy(b(c.apply(null,b0.call(arguments,1))))},d7.interpolateHcl=d5,d7.interpolateHsl=bY,d7.interpolateLab=dz,d7.interpolateRound=iJ,d7.transform=function(b){var a=iN.createElementNS(d7.ns.prefix.svg,"g");return(d7.transform=function(f){if(null!=f){a.setAttribute("transform",f);var c=a.transform.baseVal.consolidate()}return new kI(c?c.matrix:cH)})(b)},kI.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var cH={a:1,b:0,c:0,d:1,e:0,f:0};d7.interpolateTransform=bJ,d7.layout={},d7.layout.bundle=function(){return function(f){for(var a=[],c=-1,b=f.length;++c<b;){a.push(bl(f[c]))}return a}},d7.layout.chord=function(){function g(){var c,H,t,o,r,a={},G=[],A=d7.range(m),e=[];for(p=[],b=[],c=0,o=-1;++o<m;){for(H=0,r=-1;++r<m;){H+=x[o][r]}G.push(H),e.push(d7.range(m)),c+=H}for(f&&A.sort(function(I,s){return f(G[I],G[s])}),v&&e.forEach(function(I,s){I.sort(function(K,J){return v(x[s][K],x[s][J])})}),c=(a5-k*m)/c,H=0,o=-1;++o<m;){for(t=H,r=-1;++r<m;){var C=A[o],D=e[C][r],u=x[C][D],F=H,B=H+=u*c;a[C+"-"+D]={index:C,subindex:D,startAngle:F,endAngle:B,value:u}}b[C]={index:C,startAngle:t,endAngle:H,value:(H-t)/c},H+=k}for(o=-1;++o<m;){for(r=o-1;++r<m;){var E=a[o+"-"+r],l=a[r+"-"+o];(E.value||l.value)&&p.push(E.value<l.value?{source:l,target:E}:{source:E,target:l})}}q&&y()}function y(){p.sort(function(c,a){return q((c.source.value+c.target.value)/2,(a.source.value+a.target.value)/2)})}var p,b,x,m,f,v,q,z={},k=0;return z.matrix=function(a){return arguments.length?(m=(x=a)&&x.length,p=b=null,z):x},z.padding=function(a){return arguments.length?(k=a,p=b=null,z):k},z.sortGroups=function(a){return arguments.length?(f=a,p=b=null,z):f},z.sortSubgroups=function(a){return arguments.length?(v=a,p=null,z):v},z.sortChords=function(a){return arguments.length?(q=a,p&&y(),z):q},z.chords=function(){return p||g(),p},z.groups=function(){return b||g(),b},z},d7.layout.force=function(){function B(a){return function(m,p,n,g){if(m.point!==a){var l=m.cx-a.x,s=m.cy-a.y,f=1/Math.sqrt(l*l+s*s);if(b>(g-p)*f){var v=m.charge*f*f;return a.px-=l*v,a.py-=s*v,!0}if(m.point&&isFinite(f)){var v=m.pointCharge*f*f;a.px-=l*v,a.py-=s*v}}return !m.charge}}function q(a){a.px=d7.event.x,a.py=d7.event.y,L.resume()}var I,y,k,E,A,L={},K=d7.dispatch("start","tick","end"),x=[1,1],D=0.9,H=bp,F=f2,G=-30,z=0.1,b=0.8,J=[],C=[];return L.tick=function(){if((y*=0.99)<0.005){return K.end({type:"end",alpha:y=0}),!0}var N,l,p,g,c,u,o,r,m,s=J.length,n=C.length;for(l=0;n>l;++l){p=C[l],g=p.source,c=p.target,r=c.x-g.x,m=c.y-g.y,(u=r*r+m*m)&&(u=y*E[l]*((u=Math.sqrt(u))-k[l])/u,r*=u,m*=u,c.x-=r*(o=g.weight/(c.weight+g.weight)),c.y-=m*o,g.x+=r*(o=1-o),g.y+=m*o)}if((o=y*z)&&(r=x[0]/2,m=x[1]/2,l=-1,o)){for(;++l<s;){p=J[l],p.x+=(r-p.x)*o,p.y+=(m-p.y)*o}}if(G){for(g5(N=d7.geom.quadtree(J),y,A),l=-1;++l<s;){(p=J[l]).fixed||N.visit(B(p))}}for(l=-1;++l<s;){p=J[l],p.fixed?(p.x=p.px,p.y=p.py):(p.x-=(p.px-(p.px=p.x))*D,p.y-=(p.py-(p.py=p.y))*D)}K.tick({type:"tick",alpha:y})},L.nodes=function(a){return arguments.length?(J=a,L):J},L.links=function(a){return arguments.length?(C=a,L):C},L.size=function(a){return arguments.length?(x=a,L):x},L.linkDistance=function(a){return arguments.length?(H="function"==typeof a?a:+a,L):H},L.distance=L.linkDistance,L.linkStrength=function(a){return arguments.length?(F="function"==typeof a?a:+a,L):F},L.friction=function(a){return arguments.length?(D=+a,L):D},L.charge=function(a){return arguments.length?(G="function"==typeof a?a:+a,L):G},L.gravity=function(a){return arguments.length?(z=+a,L):z},L.theta=function(a){return arguments.length?(b=+a,L):b},L.alpha=function(a){return arguments.length?(a=+a,y?y=a>0?a:0:a>0&&(K.start({type:"start",alpha:y=a}),d7.timer(L.tick)),L):y},L.start=function(){function M(N,t){if(!s){for(s=new Array(u),c=0;u>c;++c){s[c]=[]}for(c=0;p>c;++c){var e=C[c];s[e.source.index].push(e.target),s[e.target.index].push(e.source)}}for(var l,v=s[g],c=-1,p=v.length;++c<p;){if(!isNaN(l=v[c][N])){return l}}return Math.random()*t}var g,s,m,u=J.length,a=C.length,o=x[0],f=x[1];for(g=0;u>g;++g){(m=J[g]).index=g,m.weight=0}for(g=0;a>g;++g){m=C[g],"number"==typeof m.source&&(m.source=J[m.source]),"number"==typeof m.target&&(m.target=J[m.target]),++m.source.weight,++m.target.weight}for(g=0;u>g;++g){m=J[g],isNaN(m.x)&&(m.x=M("x",o)),isNaN(m.y)&&(m.y=M("y",f)),isNaN(m.px)&&(m.px=m.x),isNaN(m.py)&&(m.py=m.y)}if(k=[],"function"==typeof H){for(g=0;a>g;++g){k[g]=+H.call(this,C[g],g)}}else{for(g=0;a>g;++g){k[g]=H}}if(E=[],"function"==typeof F){for(g=0;a>g;++g){E[g]=+F.call(this,C[g],g)}}else{for(g=0;a>g;++g){E[g]=F}}if(A=[],"function"==typeof G){for(g=0;u>g;++g){A[g]=+G.call(this,J[g],g)}}else{for(g=0;u>g;++g){A[g]=G}}return L.resume()},L.resume=function(){return L.alpha(0.1)},L.stop=function(){return L.alpha(0)},L.drag=function(){return I||(I=d7.behavior.drag().origin(a1).on("dragstart.force",j0).on("drag.force",q).on("dragend.force",ih)),arguments.length?(this.on("mouseover.force",b2).on("mouseout.force",eX).call(I),void 0):I},d7.rebind(L,K,"on")};var bp=20,f2=1;d7.layout.hierarchy=function(){function k(y,m,x){var v=a.call(g,y,m);if(y.depth=m,x.push(y),v&&(z=v.length)){for(var z,n,u=-1,q=y.children=new Array(z),r=0,e=m+1;++u<z;){n=q[u]=k(v[u],e,x),n.parent=y,r+=n.value}f&&q.sort(f),b&&(y.value=r)}else{delete y.children,b&&(y.value=+b.call(g,y,m)||0)}return y}function c(v,p){var l=v.children,q=0;if(l&&(e=l.length)){for(var e,t=-1,m=p+1;++t<e;){q+=c(l[t],m)}}else{b&&(q=+b.call(g,v,p)||0)}return b&&(v.value=q),q}function g(l){var m=[];return k(l,0,m),m}var f=aZ,a=gM,b=dm;return g.sort=function(e){return arguments.length?(f=e,g):f},g.children=function(e){return arguments.length?(a=e,g):a},g.value=function(e){return arguments.length?(b=e,g):b},g.revalue=function(e){return c(e,0),e},g},d7.layout.partition=function(){function g(x,n,k,v){var m=x.children;if(x.x=n,x.y=x.depth*v,x.dx=k,x.dy=v,m&&(l=m.length)){var l,q,p,y=-1;for(k=x.value?k/x.value:0;++y<l;){g(q=m[y],n,p=q.value*k,v),n+=p}}}function b(p){var o=p.children,m=0;if(o&&(k=o.length)){for(var k,l=-1;++l<k;){m=Math.max(m,b(o[l]))}}return 1+m}function f(l,k){var m=c.call(this,l,k);return g(m[0],0,a[0],a[1]/b(m[0])),m}var c=d7.layout.hierarchy(),a=[1,1];return f.size=function(e){return arguments.length?(a=e,f):a},gp(f,c)},d7.layout.pie=function(){function g(m){var p=m.map(function(o,l){return +b.call(g,o,l)}),k=+("function"==typeof c?c.apply(this,arguments):c),q=(("function"==typeof a?a.apply(this,arguments):a)-k)/d7.sum(p),n=d7.range(m.length);null!=f&&n.sort(f===dL?function(o,l){return p[l]-p[o]}:function(o,l){return f(m[o],m[l])});var e=[];return n.forEach(function(o){var l;e[o]={data:m[o],value:l=p[o],startAngle:k,endAngle:k+=l*q}}),e}var b=Number,f=dL,c=0,a=a5;return g.value=function(k){return arguments.length?(b=k,g):b},g.sort=function(e){return arguments.length?(f=e,g):f},g.startAngle=function(e){return arguments.length?(c=e,g):c},g.endAngle=function(e){return arguments.length?(a=e,g):a},g};var dL={};d7.layout.stack=function(){function l(y,x){var A=y.map(function(p,m){return c.call(l,p,m)}),o=A.map(function(m){return m.map(function(p,s){return[b.call(l,p,s),k.call(l,p,s)]})}),t=g.call(l,o,x);A=d7.permute(A,t),o=d7.permute(o,t);var q,r,e,z=f.call(l,o,x),u=A.length,n=A[0].length;for(r=0;n>r;++r){for(a.call(l,A[0][r],e=z[r],o[0][r][1]),q=1;u>q;++q){a.call(l,A[q][r],e+=o[q-1][r][1],o[q][r][1])}}return y}var c=a1,g=hb,f=ah,a=kM,b=eF,k=kq;return l.values=function(m){return arguments.length?(c=m,l):c},l.order=function(e){return arguments.length?(g="function"==typeof e?e:j2.get(e)||hb,l):g},l.offset=function(e){return arguments.length?(f="function"==typeof e?e:im.get(e)||ah,l):f},l.x=function(e){return arguments.length?(b=e,l):b},l.y=function(e){return arguments.length?(k=e,l):k},l.out=function(e){return arguments.length?(a=e,l):a},l};var j2=d7.map({"inside-out":function(g){var y,p,b=g.length,x=g.map(i8),m=g.map(aH),f=d7.range(b).sort(function(c,a){return x[c]-x[a]}),v=0,q=0,z=[],k=[];for(y=0;b>y;++y){p=f[y],q>v?(v+=m[p],z.push(p)):(q+=m[p],k.push(p))}return k.reverse().concat(z)},reverse:function(a){return d7.range(a.length).reverse()},"default":hb}),im=d7.map({silhouette:function(g){var s,l,b,q=g.length,k=g[0].length,f=[],p=0,m=[];for(l=0;k>l;++l){for(s=0,b=0;q>s;s++){b+=g[s][l][1]}b>p&&(p=b),f.push(b)}for(l=0;k>l;++l){m[l]=(p-f[l])/2}return m},wiggle:function(m){var D,z,b,C,q,k,B,A,E,p=m.length,y=m[0],v=y.length,x=[];for(x[0]=A=E=0,z=1;v>z;++z){for(D=0,C=0;p>D;++D){C+=m[D][z][1]}for(D=0,q=0,B=y[z][0]-y[z-1][0];p>D;++D){for(b=0,k=(m[D][z][1]-m[D][z-1][1])/(2*B);D>b;++b){k+=(m[b][z][1]-m[b][z-1][1])/B}q+=k*m[D][z][1]}x[z]=A-=C?q/C*B:0,E>A&&(E=A)}for(z=0;v>z;++z){x[z]-=E}return x},expand:function(p){var g,l,k,c=p.length,f=p[0].length,m=1/c,b=[];for(l=0;f>l;++l){for(g=0,k=0;c>g;g++){k+=p[g][l][1]}if(k){for(g=0;c>g;g++){p[g][l][1]/=k}}else{for(g=0;c>g;g++){p[g][l][1]=m}}}for(l=0;f>l;++l){b[l]=0}return b},zero:ah});d7.layout.histogram=function(){function g(m,r){for(var k,y,x=[],z=m.map(f,this),q=c.call(this,z,r),v=a.call(this,q,z,r),r=-1,t=z.length,u=v.length-1,e=b?1:1/t;++r<u;){k=x[r]=[],k.dx=v[r+1]-(k.x=v[r]),k.y=0}if(u>0){for(r=-1;++r<t;){y=z[r],y>=q[0]&&y<=q[1]&&(k=x[d7.bisect(v,y,1,u)-1],k.y+=e,k.push(m[r]))}}return x}var b=!0,f=Number,c=cm,a=fk;return g.value=function(e){return arguments.length?(f=e,g):f},g.range=function(e){return arguments.length?(c=dn(e),g):c},g.bins=function(e){return arguments.length?(a="number"==typeof e?function(k){return aQ(k,e)}:dn(e),g):a},g.frequency=function(k){return arguments.length?(b=!!k,g):b},g},d7.layout.tree=function(){function g(m,r){function k(p,J){var o=p.children,I=p._tree;if(o&&(D=o.length)){for(var D,H,K,v=o[0],G=v,E=-1;++E<D;){K=o[E],k(K,H),G=z(K,H,G),H=K}f5(p);var F=0.5*(v._tree.prelim+K._tree.prelim);J?(I.prelim=J._tree.prelim+f(p,J),I.mod=I.prelim-F):I.prelim=F}else{J&&(I.prelim=J._tree.prelim+f(p,J))}}function A(v,o){v.x=v._tree.prelim+o;var s=v.children;if(s&&(p=s.length)){var p,l=-1;for(o+=v._tree.mod;++l<p;){A(s[l],o)}}}function z(D,L,p){if(L){for(var K,F=D,v=D,J=L,I=D.parent.children[0],M=F._tree.mod,E=v._tree.mod,H=J._tree.mod,G=I._tree.mod;J=hD(J),F=gR(F),J&&F;){I=gR(I),v=hD(v),v._tree.ancestor=D,K=J._tree.prelim+H-F._tree.prelim-M+f(J,F),K>0&&(eh(fI(J,D,p),D,K),M+=K,E+=K),H+=J._tree.mod,M+=F._tree.mod,G+=I._tree.mod,E+=v._tree.mod}J&&!hD(v)&&(v._tree.thread=J,v._tree.mod+=H-E),F&&!gR(I)&&(I._tree.thread=F,I._tree.mod+=M-G,p=D)}return p}var C=b.call(this,m,r),q=C[0];a8(q,function(o,l){o._tree={ancestor:o,prelim:0,mod:0,change:0,shift:0,number:l?l._tree.number+1:0}}),k(q),A(q,-q._tree.prelim);var x=eK(q,jS),t=eK(q,c0),u=eK(q,fv),e=x.x-f(x,t)/2,B=t.x+f(t,x)/2,y=u.depth||1;return a8(q,a?function(l){l.x*=c[0],l.y=l.depth*c[1],delete l._tree}:function(l){l.x=(l.x-e)/(B-e)*c[0],l.y=l.depth/y*c[1],delete l._tree}),C}var b=d7.layout.hierarchy().sort(null).value(null),f=bA,c=[1,1],a=!1;return g.separation=function(e){return arguments.length?(f=e,g):f},g.size=function(e){return arguments.length?(a=null==(c=e),g):a?null:c},g.nodeSize=function(e){return arguments.length?(a=null!=(c=e),g):a?c:null},gp(g,b)},d7.layout.pack=function(){function g(u,m){var r=f.call(this,u,m),k=r[0],t=a[0],p=a[1],e=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(k.x=k.y=0,a8(k,function(l){l.r=+e(l.value)}),a8(k,jq),c){var q=c*(b?1:Math.max(2*k.r/t,2*k.r/p))/2;a8(k,function(l){l.r+=q}),a8(k,jq),a8(k,function(l){l.r-=q})}return c5(k,t/2,p/2,b?1:1/Math.max(2*k.r/t,2*k.r/p)),r}var b,f=d7.layout.hierarchy().sort(j6),c=0,a=[1,1];return g.size=function(e){return arguments.length?(a=e,g):a},g.radius=function(k){return arguments.length?(b=null==k||"function"==typeof k?k:+k,g):b},g.padding=function(e){return arguments.length?(c=+e,g):c},gp(g,f)},d7.layout.cluster=function(){function g(k,p){var e,v=b.call(this,k,p),u=v[0],x=0;a8(u,function(o){var l=o.children;l&&l.length?(o.x=dw(l),o.y=bT(l)):(o.x=e?x+=f(o,e):0,o.y=0,e=o)});var m=iC(u),t=kD(u),q=m.x-f(m,t)/2,r=t.x+f(t,m)/2;return a8(u,a?function(l){l.x=(l.x-u.x)*c[0],l.y=(u.y-l.y)*c[1]}:function(l){l.x=(l.x-q)/(r-q)*c[0],l.y=(1-(u.y?l.y/u.y:1))*c[1]}),v}var b=d7.layout.hierarchy().sort(null).value(null),f=bA,c=[1,1],a=!1;return g.separation=function(e){return arguments.length?(f=e,g):f},g.size=function(e){return arguments.length?(a=null==(c=e),g):a?null:c},g.nodeSize=function(e){return arguments.length?(a=null!=(c=e),g):a?c:null},gp(g,b)},d7.layout.treemap=function(){function q(o,f){for(var l,g,a=-1,c=o.length;++a<c;){g=(l=o[a]).value*(0>f?0:f),l.area=isNaN(g)||0>=g?0:g}}function F(u){var r=u.children;if(r&&r.length){var g,I,H,K=A(u),n=[],t=r.slice(),f=1/0,J="slice"===z?K.dx:"dice"===z?K.dy:"slice-dice"===z?1&u.depth?K.dy:K.dx:Math.min(K.dx,K.dy);for(q(t,K.dx*K.dy/u.value),n.area=0;(H=t.length)>0;){n.push(g=t[H-1]),n.area+=g.area,"squarify"!==z||(I=b(n,J))<=f?(t.pop(),f=I):(n.area-=n.pop().area,E(n,J,K,!1),J=Math.min(K.dx,K.dy),n.length=n.area=0,f=1/0)}n.length&&(E(n,J,K,!0),n.length=n.area=0),r.forEach(F)}}function B(g){var l=g.children;if(l&&l.length){var f,n=A(g),e=l.slice(),p=[];for(q(e,n.dx*n.dy/g.value),p.area=0;f=e.pop();){p.push(f),p.area+=f.area,null!=f.z&&(E(p,f.z?n.dx:n.dy,n,!e.length),p.length=p.area=0)}l.forEach(B)}}function b(I,l){for(var s,p=I.area,f=0,g=1/0,H=-1,c=I.length;++H<c;){(s=I[H].area)&&(g>s&&(g=s),s>f&&(f=s))}return p*=p,l*=l,p?Math.max(l*f*k/p,p/(l*g*k)):1/0}function E(g,L,I,c){var K,H=-1,f=g.length,J=I.x,M=I.y,p=L?C(g.area/L):0;if(L==I.dx){for((c||p>I.dy)&&(p=I.dy);++H<f;){K=g[H],K.x=J,K.y=M,K.dy=p,J+=K.dx=Math.min(I.x+I.dx-J,p?C(K.area/p):0)}K.z=!0,K.dx+=I.x+I.dx-J,I.y+=p,I.dy-=p}else{for((c||p>I.dx)&&(p=I.dx);++H<f;){K=g[H],K.x=J,K.y=M,K.dx=p,M+=K.dy=Math.min(I.y+I.dy-M,p?C(K.area/p):0)}K.z=!1,K.dy+=I.y+I.dy-M,I.x+=p,I.dx-=p}}function x(e){var a=m||D(e),c=a[0];return c.x=0,c.y=0,c.dx=G[0],c.dy=G[1],m&&D.revalue(c),q([c],c.dx*c.dy/c.value),(m?B:F)(c),y&&(m=a),a}var m,D=d7.layout.hierarchy(),C=Math.round,G=[1,1],v=null,A=hV,y=!1,z="squarify",k=0.5*(1+Math.sqrt(5));return x.size=function(a){return arguments.length?(G=a,x):G},x.padding=function(g){function a(l){var n=g.call(x,l,l.depth);return null==n?hV(l):fN(l,"number"==typeof n?[n,n,n,n]:n)}function f(e){return fN(e,g)}if(!arguments.length){return v}var c;return A=null==(v=g)?hV:"function"==(c=typeof g)?a:"number"===c?(g=[g,g,g,g],f):f,x},x.round=function(a){return arguments.length?(C=a?Math.round:Number,x):C!=Number},x.sticky=function(a){return arguments.length?(y=a,m=null,x):y},x.ratio=function(a){return arguments.length?(k=a,x):k},x.mode=function(a){return arguments.length?(z=a+"",x):z},gp(x,D)},d7.random={normal:function(c,a){var b=arguments.length;return 2>b&&(a=1),1>b&&(c=0),function(){var k,g,f;do{k=2*Math.random()-1,g=2*Math.random()-1,f=k*k+g*g}while(!f||f>1);return c+a*k*Math.sqrt(-2*Math.log(f)/f)}},logNormal:function(){var a=d7.random.normal.apply(d7,arguments);return function(){return Math.exp(a())}},irwinHall:function(a){return function(){for(var b=0,c=0;a>c;c++){b+=Math.random()}return b/a}}},d7.scale={};var b5={floor:a1,ceil:a1};d7.scale.linear=function(){return dT([0,1],[0,1],c3,!1)};var eZ={s:1,g:1,p:1,r:1,e:1};d7.scale.log=function(){return dA(d7.scale.linear().domain([0,1]),10,!0,[1,10])};var g7=d7.format(".0e"),gv={floor:function(a){return -Math.ceil(-a)},ceil:function(a){return -Math.floor(-a)}};d7.scale.pow=function(){return a7(d7.scale.linear(),1,[0,1])},d7.scale.sqrt=function(){return d7.scale.pow().exponent(0.5)},d7.scale.ordinal=function(){return eO([],{t:"range",a:[[]]})},d7.scale.category10=function(){return d7.scale.ordinal().range(gO)},d7.scale.category20=function(){return d7.scale.ordinal().range(dp)},d7.scale.category20b=function(){return d7.scale.ordinal().range(a2)},d7.scale.category20c=function(){return d7.scale.ordinal().range(hT)};var gO=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(f1),dp=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(f1),a2=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(f1),hT=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(f1);d7.scale.quantile=function(){return kC([],[])},d7.scale.quantize=function(){return an(0,1,[0,1])},d7.scale.threshold=function(){return hq([0.5],[0,1])},d7.scale.identity=function(){return aB([0,1])},d7.svg={},d7.svg.arc=function(){function g(){var k=b.apply(this,arguments),p=f.apply(this,arguments),e=c.apply(this,arguments)+eH,v=a.apply(this,arguments)+eH,u=(e>v&&(u=e,e=v,v=u),v-e),x=fD>u?"0":"1",m=Math.cos(e),t=Math.sin(e),q=Math.cos(v),r=Math.sin(v);return u>=kx?k?"M0,"+p+"A"+p+","+p+" 0 1,1 0,"+-p+"A"+p+","+p+" 0 1,1 0,"+p+"M0,"+k+"A"+k+","+k+" 0 1,0 0,"+-k+"A"+k+","+k+" 0 1,0 0,"+k+"Z":"M0,"+p+"A"+p+","+p+" 0 1,1 0,"+-p+"A"+p+","+p+" 0 1,1 0,"+p+"Z":k?"M"+p*m+","+p*t+"A"+p+","+p+" 0 "+x+",1 "+p*q+","+p*r+"L"+k*q+","+k*r+"A"+k+","+k+" 0 "+x+",0 "+k*m+","+k*t+"Z":"M"+p*m+","+p*t+"A"+p+","+p+" 0 "+x+",1 "+p*q+","+p*r+"L0,0Z"}var b=jB,f=aP,c=ff,a=fz;return g.innerRadius=function(k){return arguments.length?(b=dn(k),g):b},g.outerRadius=function(e){return arguments.length?(f=dn(e),g):f},g.startAngle=function(e){return arguments.length?(c=dn(e),g):c},g.endAngle=function(e){return arguments.length?(a=dn(e),g):a},g.centroid=function(){var k=(b.apply(this,arguments)+f.apply(this,arguments))/2,e=(c.apply(this,arguments)+a.apply(this,arguments))/2+eH;return[Math.cos(e)*k,Math.sin(e)*k]},g};var eH=-cK,kx=a5-bP;d7.svg.line=function(){return aY(a1)};var kP=d7.map({linear:cD,"linear-closed":bI,step:g1,"step-before":hN,"step-after":eT,basis:eB,"basis-open":fR,"basis-closed":kn,bundle:aG,cardinal:fE,"cardinal-open":c9,"cardinal-closed":j4,monotone:dh});kP.forEach(function(b,a){a.key=b,a.closed=/-closed$/.test(b)});var hg=[0,2/3,1/3,0],ak=[0,1/3,2/3,0],jd=[0,1/6,2/3,1/6];d7.svg.line.radial=function(){var a=aY(ef);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},hN.reverse=eT,eT.reverse=hN,d7.svg.area=function(){return b1(a1)},d7.svg.area.radial=function(){var a=b1(ef);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},d7.svg.chord=function(){function g(t,e){var r=v(this,k,t,e),o=v(this,f,t,e);return"M"+r.p0+b(r.r,r.p1,r.a1-r.a0)+(l(r,o)?q(r.r,r.p1,r.r,r.p0):q(r.r,r.p1,o.r,o.p0)+b(o.r,o.p1,o.a1-o.a0)+q(o.r,o.p1,r.r,r.p0))+"Z"}function v(C,y,A,z){var c=y.call(C,A,z),s=p.call(C,c,z),B=m.call(C,c,z)+eH,a=x.call(C,c,z)+eH;return{r:s,a0:B,a1:a,p0:[s*Math.cos(B),s*Math.sin(B)],p1:[s*Math.cos(a),s*Math.sin(a)]}}function l(c,a){return c.a0==a.a0&&c.a1==a.a1}function b(o,a,c){return"A"+o+","+o+" 0 "+ +(c>fD)+",1 "+a}function q(s,a,o,c){return"Q 0,0 "+c}var k=fF,f=bm,p=dF,m=ff,x=fz;return g.radius=function(a){return arguments.length?(p=dn(a),g):p},g.source=function(a){return arguments.length?(k=dn(a),g):k},g.target=function(a){return arguments.length?(f=dn(a),g):f},g.startAngle=function(a){return arguments.length?(m=dn(a),g):m},g.endAngle=function(a){return arguments.length?(x=dn(a),g):x},g},d7.svg.diagonal=function(){function f(p,g){var k=a.call(this,p,g),l=c.call(this,p,g),e=(k.y+l.y)/2,m=[k,{x:k.x,y:e},{x:l.x,y:e},l];return m=m.map(b),"M"+m[0]+"C"+m[1]+" "+m[2]+" "+m[3]}var a=fF,c=bm,b=iX;return f.source=function(g){return arguments.length?(a=dn(g),f):a},f.target=function(e){return arguments.length?(c=dn(e),f):c},f.projection=function(e){return arguments.length?(b=e,f):b},f},d7.svg.diagonal.radial=function(){var c=d7.svg.diagonal(),a=iX,b=c.projection;return c.projection=function(e){return arguments.length?b(kL(a=e)):a},c},d7.svg.symbol=function(){function c(f,e){return(aK.get(a.call(this,f,e))||eg)(b.call(this,f,e))}var a=fW,b=h4;return c.type=function(f){return arguments.length?(a=dn(f),c):a},c.size=function(e){return arguments.length?(b=dn(e),c):b},c};var aK=d7.map({circle:eg,cross:function(b){var a=Math.sqrt(b/5)/2;return"M"+-3*a+","+-a+"H"+-a+"V"+-3*a+"H"+a+"V"+-a+"H"+3*a+"V"+a+"H"+a+"V"+3*a+"H"+-a+"V"+a+"H"+-3*a+"Z"},diamond:function(c){var a=Math.sqrt(c/(2*cq)),b=a*cq;return"M0,"+-a+"L"+b+",0 0,"+a+" "+-b+",0Z"},square:function(b){var a=Math.sqrt(b)/2;return"M"+-a+","+-a+"L"+a+","+-a+" "+a+","+a+" "+-a+","+a+"Z"},"triangle-down":function(c){var a=Math.sqrt(c/aT),b=a*aT/2;return"M0,"+b+"L"+a+","+-b+" "+-a+","+-b+"Z"},"triangle-up":function(c){var a=Math.sqrt(c/aT),b=a*aT/2;return"M0,"+-b+"L"+a+","+b+" "+-a+","+b+"Z"}});d7.svg.symbolTypes=aK.keys();var e5,fn,aT=Math.sqrt(3),cq=Math.tan(30*hQ),bD=[],gU=0;bD.call=eS.call,bD.empty=eS.empty,bD.node=eS.node,bD.size=eS.size,d7.transition=function(a){return arguments.length?e5?a.transition():a:hx.transition()},d7.transition.prototype=bD,bD.select=function(g){var y,p,b,x=this.id,m=[];g=ig(g);for(var f=-1,v=this.length;++f<v;){m.push(y=[]);for(var q=this[f],z=-1,k=q.length;++z<k;){(b=q[z])&&(p=g.call(b,b.__data__,z,f))?("__data__" in b&&(p.__data__=b.__data__),bx(p,z,x,b.__transition__[x]),y.push(p)):y.push(null)}}return bQ(m,x)},bD.selectAll=function(q){var F,B,b,E,x,m=this.id,D=[];q=iU(q);for(var C=-1,G=this.length;++C<G;){for(var v=this[C],A=-1,y=v.length;++A<y;){if(b=v[A]){x=b.__transition__[m],B=q.call(b,b.__data__,A,C),D.push(F=[]);for(var z=-1,k=B.length;++z<k;){(E=B[z])&&bx(E,z,m,x),F.push(E)}}}}return bQ(D,m)},bD.filter=function(g){var s,l,b,q=[];"function"!=typeof g&&(g=jL(g));for(var k=0,f=this.length;f>k;k++){q.push(s=[]);for(var l=this[k],p=0,m=l.length;m>p;p++){(b=l[p])&&g.call(b,b.__data__,p,k)&&s.push(b)}}return bQ(q,this.id)},bD.tween=function(c,a){var b=this.id;return arguments.length<2?this.node().__transition__[b].tween.get(c):jP(this,null==a?function(e){e.__transition__[b].tween.remove(c)}:function(e){e.__transition__[b].tween.set(c,a)})},bD.attr=function(p,g){function l(){this.removeAttribute(b)}function k(){this.removeAttributeNS(b.space,b.local)}function c(a){return null==a?l:(a+="",function(){var n,o=this.getAttribute(b);return o!==a&&(n=m(o,a),function(e){this.setAttribute(b,n(e))})})}function f(a){return null==a?k:(a+="",function(){var n,o=this.getAttributeNS(b.space,b.local);return o!==a&&(n=m(o,a),function(e){this.setAttributeNS(b.space,b.local,n(e))})})}if(arguments.length<2){for(g in p){this.attr(g,p[g])}return this}var m="transform"==p?bJ:c3,b=d7.ns.qualify(p);return hC(this,"attr."+p,g,b.local?f:c)},bD.attrTween=function(g,b){function f(m,l){var k=b.call(this,m,l,this.getAttribute(a));return k&&function(e){this.setAttribute(a,k(e))}}function c(m,l){var k=b.call(this,m,l,this.getAttributeNS(a.space,a.local));return k&&function(e){this.setAttributeNS(a.space,a.local,k(e))}}var a=d7.ns.qualify(g);return this.tween("attr."+g,a.local?c:f)},bD.style=function(k,c,g){function f(){this.style.removeProperty(k)}function a(e){return null==e?f:(e+="",function(){var m,l=h0.getComputedStyle(this,null).getPropertyValue(k);return l!==e&&(m=c3(l,e),function(n){this.style.setProperty(k,m(n),g)})})}var b=arguments.length;if(3>b){if("string"!=typeof k){2>b&&(c="");for(g in k){this.style(g,k[g],c)}return this}g=""}return hC(this,"style."+k,c,a)},bD.styleTween=function(f,a,c){function b(k,e){var g=a.call(this,k,e,h0.getComputedStyle(this,null).getPropertyValue(f));return g&&function(l){this.style.setProperty(f,g(l),c)}}return arguments.length<3&&(c=""),this.tween("style."+f,b)},bD.text=function(a){return hC(this,"text",a,cL)},bD.remove=function(){return this.each("end.transition",function(){var a;this.__transition__.count<2&&(a=this.parentNode)&&a.removeChild(this)})},bD.ease=function(b){var a=this.id;return arguments.length<1?this.node().__transition__[a].ease:("function"!=typeof b&&(b=d7.ease.apply(d7,arguments)),jP(this,function(c){c.__transition__[a].ease=b}))},bD.delay=function(b){var a=this.id;return jP(this,"function"==typeof b?function(g,f,c){g.__transition__[a].delay=+b.call(g,g.__data__,f,c)}:(b=+b,function(c){c.__transition__[a].delay=b}))},bD.duration=function(b){var a=this.id;return jP(this,"function"==typeof b?function(g,f,c){g.__transition__[a].duration=Math.max(1,b.call(g,g.__data__,f,c))}:(b=Math.max(1,b),function(c){c.__transition__[a].duration=b}))},bD.each=function(g,b){var f=this.id;if(arguments.length<2){var c=fn,a=e5;e5=f,jP(this,function(k,l,e){fn=k.__transition__[f],g.call(k,k.__data__,l,e)}),fn=c,e5=a}else{jP(this,function(k){var e=k.__transition__[f];(e.event||(e.event=d7.dispatch("start","end"))).on(g,b)})}return this},bD.transition=function(){for(var g,y,p,b,x=this.id,m=++gU,f=[],v=0,q=this.length;q>v;v++){f.push(g=[]);for(var y=this[v],z=0,k=y.length;k>z;z++){(p=y[z])&&(b=Object.create(p.__transition__[x]),b.delay+=b.duration,bx(p,z,m,b)),g.push(p)}}return bQ(f,m)},d7.svg.axis=function(){function g(a){a.each(function(){var F,B=d7.select(this),H=this.__chart__||l,L=this.__chart__=l.copy(),J=null==m?L.ticks?L.ticks.apply(L,p):L.domain():m,K=null==s?L.tickFormat?L.tickFormat.apply(L,p):a1:s,D=B.selectAll(".tick").data(J,L),u=D.enter().insert("g",".domain").attr("class","tick").style("opacity",bP),N=d7.transition(D.exit()).style("opacity",bP).remove(),G=d7.transition(D).style("opacity",1),o=bS(L),r=B.selectAll(".domain").data([0]),e=(r.enter().append("path").attr("class","domain"),d7.transition(r));u.append("line"),u.append("text");var P=u.select("line"),O=G.select("line"),t=D.select("text").text(K),c=u.select("text"),I=G.select("text");switch(b){case"bottom":F=f4,P.attr("y2",q),c.attr("y",Math.max(q,0)+f),O.attr("x2",0).attr("y2",q),I.attr("x",0).attr("y",Math.max(q,0)+f),t.attr("dy",".71em").style("text-anchor","middle"),e.attr("d","M"+o[0]+","+k+"V0H"+o[1]+"V"+k);break;case"top":F=f4,P.attr("y2",-q),c.attr("y",-(Math.max(q,0)+f)),O.attr("x2",0).attr("y2",-q),I.attr("x",0).attr("y",-(Math.max(q,0)+f)),t.attr("dy","0em").style("text-anchor","middle"),e.attr("d","M"+o[0]+","+-k+"V0H"+o[1]+"V"+-k);break;case"left":F=dN,P.attr("x2",-q),c.attr("x",-(Math.max(q,0)+f)),O.attr("x2",-q).attr("y2",0),I.attr("x",-(Math.max(q,0)+f)).attr("y",0),t.attr("dy",".32em").style("text-anchor","end"),e.attr("d","M"+-k+","+o[0]+"H0V"+o[1]+"H"+-k);break;case"right":F=dN,P.attr("x2",q),c.attr("x",Math.max(q,0)+f),O.attr("x2",q).attr("y2",0),I.attr("x",Math.max(q,0)+f).attr("y",0),t.attr("dy",".32em").style("text-anchor","start"),e.attr("d","M"+k+","+o[0]+"H0V"+o[1]+"H"+k)}if(L.rangeBand){var z=L,C=z.rangeBand()/2;H=L=function(v){return z(v)+C}}else{H.rangeBand?H=L:N.call(F,L)}u.call(F,H),G.call(F,L)})}var s,l=d7.scale.linear(),b=hG,q=6,k=6,f=3,p=[10],m=null;return g.scale=function(a){return arguments.length?(l=a,g):l},g.orient=function(a){return arguments.length?(b=a in eM?a+"":hG,g):b},g.ticks=function(){return arguments.length?(p=arguments,g):p},g.tickValues=function(a){return arguments.length?(m=a,g):m},g.tickFormat=function(a){return arguments.length?(s=a,g):s},g.tickSize=function(a){var c=arguments.length;return c?(q=+a,k=+arguments[c-1],g):q},g.innerTickSize=function(a){return arguments.length?(q=+a,g):q},g.outerTickSize=function(a){return arguments.length?(k=+a,g):k},g.tickPadding=function(a){return arguments.length?(f=+a,g):f},g.tickSubdivide=function(){return arguments.length&&g},g};var hG="bottom",eM={top:1,right:1,bottom:1,left:1};d7.svg.brush=function(){function k(a){a.each(function(){var n=d7.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",D).on("touchstart.brush",D),s=n.selectAll(".background").data([0]);s.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var e=n.selectAll(".resize").data(z,a1);e.exit().remove(),e.enter().append("g").attr("class",function(l){return"resize "+l}).style("cursor",function(l){return c2[l]}).append("rect").attr("x",function(l){return/[ew]$/.test(l)?-3:null}).attr("y",function(l){return/^[ns]/.test(l)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),e.style("display",k.empty()?"none":null);var c,r=d7.transition(n),p=d7.transition(s);A&&(c=bS(A),p.attr("x",c[0]).attr("width",c[1]-c[0]),y(r)),F&&(c=bS(F),p.attr("y",c[0]).attr("height",c[1]-c[0]),b(r)),E(r)})}function E(a){a.selectAll(".resize").attr("transform",function(c){return"translate("+m[+/e$/.test(c)]+","+x[+/^s/.test(c)]+")"})}function y(a){a.select(".extent").attr("x",m[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",m[1]-m[0])}function b(a){a.select(".extent").attr("y",x[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",x[1]-x[0])}function D(){function t(){32==d7.event.keyCode&&(G||(r=null,n[0]-=m[1],n[1]-=x[1],G=2),iQ())}function O(){32==d7.event.keyCode&&2==G&&(n[0]+=m[1],n[1]+=x[1],G=0,iQ())}function P(){var M=d7.mouse(R),L=!1;l&&(M[0]+=l[0],M[1]+=l[1]),G||(d7.event.altKey?(r||(r=[(m[0]+m[1])/2,(x[0]+x[1])/2]),n[0]=m[+(M[0]<r[0])],n[1]=x[+(M[1]<r[1])]):r=null),v&&J(M,A,0)&&(y(c),L=!0),I&&J(M,F,1)&&(b(c),L=!0),L&&(E(c),s({type:"brush",mode:G?"move":"resize"}))}function J(M,Y,T){var L,X,W=bS(Y),V=W[0],Z=W[1],S=n[T],N=T?x:m,U=N[1]-N[0];return G&&(V-=S,Z-=U+S),L=(T?C:f)?Math.max(V,Math.min(Z,M[T])):M[T],G?X=(L+=S)+U:(r&&(S=Math.max(V,Math.min(Z,2*r[T]-L))),L>S?(X=L,L=S):X=S),N[0]!=L||N[1]!=X?(T?g=null:q=null,N[0]=L,N[1]=X,!0):void 0}function p(){P(),c.style("pointer-events","all").selectAll(".resize").style("display",k.empty()?"none":null),d7.select("body").style("cursor",null),a.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),e(),s({type:"brushend"})}var r,l,R=this,Q=d7.select(d7.event.target),s=B.of(R,arguments),c=d7.select(R),K=Q.datum(),v=!/^(n|s)$/.test(K)&&A,I=!/^(e|w)$/.test(K)&&F,G=Q.classed("extent"),e=jM(),n=d7.mouse(R),a=d7.select(h0).on("keydown.brush",t).on("keyup.brush",O);if(d7.event.changedTouches?a.on("touchmove.brush",P).on("touchend.brush",p):a.on("mousemove.brush",P).on("mouseup.brush",p),c.interrupt().selectAll("*").interrupt(),G){n[0]=m[0]-n[0],n[1]=x[0]-n[1]}else{if(K){var H=+/w$/.test(K),o=+/^n/.test(K);l=[m[1-H]-n[0],x[1-o]-n[1]],n[0]=m[H],n[1]=x[o]}else{d7.event.altKey&&(r=n.slice())}}c.style("pointer-events","none").selectAll(".resize").style("display",null),d7.select("body").style("cursor",Q.style("cursor")),s({type:"brushstart"}),P()}var q,g,B=iP(k,"brushstart","brush","brushend"),A=null,F=null,m=[0,0],x=[0,0],f=!0,C=!0,z=jV[0];return k.event=function(a){a.each(function(){var o=B.of(this,arguments),c={x:m,y:x,i:q,j:g},l=this.__chart__||c;this.__chart__=c,e5?d7.select(this).transition().each("start.brush",function(){q=l.i,g=l.j,m=l.x,x=l.y,o({type:"brushstart"})}).tween("brush:brush",function(){var p=jX(m,c.x),n=jX(x,c.y);return q=g=null,function(e){m=c.x=p(e),x=c.y=n(e),o({type:"brush",mode:"resize"})}}).each("end.brush",function(){q=c.i,g=c.j,o({type:"brush",mode:"resize"}),o({type:"brushend"})}):(o({type:"brushstart"}),o({type:"brush",mode:"resize"}),o({type:"brushend"}))})},k.x=function(a){return arguments.length?(A=a,z=jV[!A<<1|!F],k):A},k.y=function(a){return arguments.length?(F=a,z=jV[!A<<1|!F],k):F},k.clamp=function(a){return arguments.length?(A&&F?(f=!!a[0],C=!!a[1]):A?f=!!a:F&&(C=!!a),k):A&&F?[f,C]:A?f:F?C:null},k.extent=function(n){var s,o,l,c,p;return arguments.length?(A&&(s=n[0],o=n[1],F&&(s=s[0],o=o[0]),q=[s,o],A.invert&&(s=A(s),o=A(o)),s>o&&(p=s,s=o,o=p),(s!=m[0]||o!=m[1])&&(m=[s,o])),F&&(l=n[0],c=n[1],A&&(l=l[1],c=c[1]),g=[l,c],F.invert&&(l=F(l),c=F(c)),l>c&&(p=l,l=c,c=p),(l!=x[0]||c!=x[1])&&(x=[l,c])),k):(A&&(q?(s=q[0],o=q[1]):(s=m[0],o=m[1],A.invert&&(s=A.invert(s),o=A.invert(o)),s>o&&(p=s,s=o,o=p))),F&&(g?(l=g[0],c=g[1]):(l=x[0],c=x[1],F.invert&&(l=F.invert(l),c=F.invert(c)),l>c&&(p=l,l=c,c=p))),A&&F?[[s,l],[o,c]]:A?[s,o]:F&&[l,c])},k.clear=function(){return k.empty()||(m=[0,0],x=[0,0],q=g=null),k},k.empty=function(){return !!A&&m[0]==m[1]||!!F&&x[0]==x[1]},d7.rebind(k,B,"on")};var c2={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},jV=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],fx=d7.time={},bd=Date,f8=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];j5.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){en.setUTCDate.apply(this._,arguments)},setDay:function(){en.setUTCDay.apply(this._,arguments)},setFullYear:function(){en.setUTCFullYear.apply(this._,arguments)},setHours:function(){en.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){en.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){en.setUTCMinutes.apply(this._,arguments)},setMonth:function(){en.setUTCMonth.apply(this._,arguments)},setSeconds:function(){en.setUTCSeconds.apply(this._,arguments)},setTime:function(){en.setTime.apply(this._,arguments)}};var en=Date.prototype,fK="%a %b %e %X %Y",kb="%m/%d/%Y",ax="%H:%M:%S",gB=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],cP=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],jx=["January","February","March","April","May","June","July","August","September","October","November","December"],cg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];fx.year=iy(function(a){return a=fx.day(a),a.setMonth(0,1),a},function(b,a){b.setFullYear(b.getFullYear()+a)},function(a){return a.getFullYear()}),fx.years=fx.year.range,fx.years.utc=fx.year.utc.range,fx.day=iy(function(b){var a=new bd(2000,0);return a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),a},function(b,a){b.setDate(b.getDate()+a)},function(a){return a.getDate()-1}),fx.days=fx.day.range,fx.days.utc=fx.day.utc.range,fx.dayOfYear=function(b){var a=fx.year(b);return Math.floor((b-a-60000*(b.getTimezoneOffset()-a.getTimezoneOffset()))/86400000)},f8.forEach(function(c,a){c=c.toLowerCase(),a=7-a;var b=fx[c]=iy(function(e){return(e=fx.day(e)).setDate(e.getDate()-(e.getDay()+a)%7),e},function(f,e){f.setDate(f.getDate()+7*Math.floor(e))},function(g){var f=fx.year(g).getDay();return Math.floor((fx.dayOfYear(g)+(f+a)%7)/7)-(f!==a)});fx[c+"s"]=b.range,fx[c+"s"].utc=b.utc.range,fx[c+"OfYear"]=function(g){var f=fx.year(g).getDay();return Math.floor((fx.dayOfYear(g)+(f+a)%7)/7)}}),fx.week=fx.sunday,fx.weeks=fx.sunday.range,fx.weeks.utc=fx.sunday.utc.range,fx.weekOfYear=fx.sundayOfYear,fx.format=e1;var dR=gx(gB),c7=gQ(gB),d2=gx(cP),bW=gQ(cP),dy=gx(jx),iG=gQ(jx),kG=gx(cg),hX=gQ(cg),fP=/^%/,ej={"-":"",_:" ",0:"0"},bR={a:function(a){return cP[a.getDay()]},A:function(a){return gB[a.getDay()]},b:function(a){return cg[a.getMonth()]},B:function(a){return jx[a.getMonth()]},c:e1(fK),d:function(b,a){return dv(b.getDate(),a,2)},e:function(b,a){return dv(b.getDate(),a,2)},H:function(b,a){return dv(b.getHours(),a,2)},I:function(b,a){return dv(b.getHours()%12||12,a,2)},j:function(b,a){return dv(1+fx.dayOfYear(b),a,3)},L:function(b,a){return dv(b.getMilliseconds(),a,3)},m:function(b,a){return dv(b.getMonth()+1,a,2)},M:function(b,a){return dv(b.getMinutes(),a,2)},p:function(a){return a.getHours()>=12?"PM":"AM"},S:function(b,a){return dv(b.getSeconds(),a,2)},U:function(b,a){return dv(fx.sundayOfYear(b),a,2)},w:function(a){return a.getDay()},W:function(b,a){return dv(fx.mondayOfYear(b),a,2)},x:e1(kb),X:e1(ax),y:function(b,a){return dv(b.getFullYear()%100,a,2)},Y:function(b,a){return dv(b.getFullYear()%10000,a,4)},Z:fM,"%":function(){return"%"}},hE={a:a6,A:eJ,b:ap,B:jl,c:aO,d:eP,e:eP,H:jZ,I:jZ,j:c4,L:gd,m:hJ,M:fA,p:ex,S:bj,U:ag,w:kB,W:hk,x:e8,X:fq,y:cz,Y:aX,Z:bH,"%":kj},cN=/^\s*\d+/,by=d7.map({am:0,pm:1});e1.utc=aC;var f6=aC("%Y-%m-%dT%H:%M:%S.%LZ");e1.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?gE:f6,gE.parse=function(b){var a=new Date(b);return isNaN(a)?null:a},gE.toString=f6.toString,fx.second=iy(function(a){return new bd(1000*Math.floor(a/1000))},function(b,a){b.setTime(b.getTime()+1000*Math.floor(a))},function(a){return a.getSeconds()}),fx.seconds=fx.second.range,fx.seconds.utc=fx.second.utc.range,fx.minute=iy(function(a){return new bd(60000*Math.floor(a/60000))},function(b,a){b.setTime(b.getTime()+60000*Math.floor(a))},function(a){return a.getMinutes()}),fx.minutes=fx.minute.range,fx.minutes.utc=fx.minute.utc.range,fx.hour=iy(function(b){var a=b.getTimezoneOffset()/60;return new bd(3600000*(Math.floor(b/3600000-a)+a))},function(b,a){b.setTime(b.getTime()+3600000*Math.floor(a))},function(a){return a.getHours()}),fx.hours=fx.hour.range,fx.hours.utc=fx.hour.utc.range,fx.month=iy(function(a){return a=fx.day(a),a.setDate(1),a},function(b,a){b.setMonth(b.getMonth()+a)},function(a){return a.getMonth()}),fx.months=fx.month.range,fx.months.utc=fx.month.utc.range;var dP=[1000,5000,15000,30000,60000,300000,900000,1800000,3600000,10800000,21600000,43200000,86400000,172800000,604800000,2592000000,7776000000,31536000000],j8=[[fx.second,1],[fx.second,5],[fx.second,15],[fx.second,30],[fx.minute,1],[fx.minute,5],[fx.minute,15],[fx.minute,30],[fx.hour,1],[fx.hour,3],[fx.hour,6],[fx.hour,12],[fx.day,1],[fx.day,2],[fx.week,1],[fx.month,1],[fx.month,3],[fx.year,1]],iD=[[e1("%Y"),cf],[e1("%B"),function(a){return a.getMonth()}],[e1("%b %d"),function(a){return 1!=a.getDate()}],[e1("%a %d"),function(a){return a.getDay()&&1!=a.getDate()}],[e1("%I %p"),function(a){return a.getHours()}],[e1("%I:%M"),function(a){return a.getMinutes()}],[e1(":%S"),function(a){return a.getSeconds()}],[e1(".%L"),function(a){return a.getMilliseconds()}]],cd=ck(iD);j8.year=fx.year,fx.scale=function(){return cS(d7.scale.linear(),j8,cd)};var e3={range:function(c,a,b){return d7.range(+c,+a,b).map(jE)}},hd=j8.map(function(a){return[a[0].utc,a[1]]}),gz=[[aC("%Y"),cf],[aC("%B"),function(a){return a.getUTCMonth()}],[aC("%b %d"),function(a){return 1!=a.getUTCDate()}],[aC("%a %d"),function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],[aC("%I %p"),function(a){return a.getUTCHours()}],[aC("%I:%M"),function(a){return a.getUTCMinutes()}],[aC(":%S"),function(a){return a.getUTCSeconds()}],[aC(".%L"),function(a){return a.getUTCMilliseconds()}]],gS=ck(gz);return hd.year=fx.year.utc,fx.scale.utc=function(){return cS(d7.scale.linear(),hd,gS)},d7.text=hS(function(a){return a.responseText}),d7.json=function(b,a){return eG(b,"application/json",dU,a)},d7.html=function(b,a){return eG(b,"text/html",db,a)},d7.xml=hS(function(a){return a.responseXML}),d7}();function makeJsonFromArrayNew(n,e,r,l,m){var o={};var f=rand();console.log((new Date()).getTime()+" : Start preparing tree for "+n.length+" rows, "+n[0].length+" columns , rdn="+f);o.name="All";o.dimName=n[0][0];o.measName=new Array(r);o.size=new Array(r);o.percent=new Array(r);o.percentOfTotal=new Array(r);o.measFormat=l;o.children=new Array();var k=0,g=0;var q=new Array();var b=m.RD.General.Measures;if(b&&b.length>0){for(k=0;b&&k<b.length;k++){q.push(b[k].agg)}for(k=b.length;k<r;k++){q.push(b[0].agg)}}else{for(k=0;k<r;k++){q.push("sum")}}var a=new Array(r);var c=new Array();for(g=0;g<r;g++){o.measName[g]=n[0][n[0].length-(r-g)];a[g]=new Array();for(k=1;k<n.length;k++){a[g].push(parseFloat(n[k][e+g]))}c[g]=+returnValByAggFunc(a[g],q[g]).toFixed(2);o.size[g]=c[g];o.percent[g]="100%";o.percentOfTotal[g]="100%"}for(k=1;k<n.length;k++){appendToTreeNew(o,n,e,r,l,k,c,q)}console.log((new Date()).getTime()+" : End preparing tree, rdn="+f);return o}function appendToTreeNew(b,g,c,z,f,u,s,B){var A=b;var e=new Array(z);for(var y=0;y<c;y++){var v=0;var x=0;for(x=0;A.children&&x<A.children.length;x++){if(A.children[x]["name"]==g[u][y]){v=1;break}}if(v==1){A=A.children[x]}else{var l={};for(j=0;j<z;j++){e[j]=new Array();for(var o=0;o<g.length;o++){var t=1;for(var m=0;m<=y;m++){if(g[o][m]!=g[u][m]){t=0}}if(t==1){e[j].push(parseFloat(g[o][c+j]))}}}l.name=g[u][y];l.dimName=g[0][y];l.measName=new Array(z);l.size=new Array(z);l.percent=new Array(z);l.percentOfTotal=new Array(z);for(j=0;j<z;j++){var a=+returnValByAggFunc(e[j],B[j]);l.percentOfTotal[j]=((a*100)/s[j]).toFixed(2)+"%";l.percent[j]=((a*100)/A.size[j]).toFixed(2)+"%";l.measName[j]=g[0][c+j];l.size[j]=a.toFixed(2)}l.measFormat=f;if(!A.children){A.children=new Array()}A.children.push(l);A=l}}}function returnValByAggFunc(e,b){var f=0,a=String(b).toLowerCase();if(a=="sum"||a=="avg"){for(var c=0;c<e.length;c++){f+=+e[c]}if(a=="avg"){f=f/e.length}}else{if(a=="max"){f=e[0];for(var c=1;c<e.length;c++){if(f<e[c]){f=e[c]}}}else{if(a=="min"){f=e[0];for(var c=1;c<e.length;c++){if(f>e[c]){f=e[c]}}}else{for(var c=0;c<e.length;c++){f+=+e[c]}}}}return f}var G_MIN_BAR_WIDTH=10,G_MIN_LINE_WIDTH=10,G_SHOW_FILTER_IN_TOOLTIP=0;var lblPad=30;function findSvgArea(x,c,F,G,g,b){var G=G-20,g=g-30;var D=d3.behavior.drag().on("drag",function(){d3.select(this).attr("transform","translate("+[d3.event.x,d3.event.y]+")");d3.select(this)[0][0].attributes[0]=d3.event.x;d3.select(this)[0][0].attributes[1]=d3.event.y}).on("dragend",function(){});var o=c.getNumRows()>x?x:c.getNumRows();var u,y=0,v=0;for(var A=0;Math.floor(A)<=(x-x/o);A=A+x/o){var l=0;var m=0;for(var B=Math.ceil(A);B<A+x/o;B++){if(c.getShowLabels()){l=l+F.measName[B].length*6+4}else{l=4}if(y<=l+6+(12)*m){y=l+6+(12)*(m+1)}m++}v++}var a=(v+1)*15;var e=y;var q,E,f,C;if(c.getlegendPlacement()=="outsideGrid"&&c.getShowLegend()){if(c.getLocation()=="w"){E=d3.select("#"+b).select(".myChart").append("svg").attr("width",y=e).attr("height",u=g).attr("class","svgchart").append("g").attr("transform","translate(0,"+(u-a)/2+")");q=d3.select("#"+b).select(".myChart").append("svg:svg").attr("width",f=G-e).attr("height",C=g).append("svg:g").attr("transform","translate(.5,.5)")}else{if(c.getLocation()=="e"){q=d3.select("#"+b).select(".myChart").append("svg:svg").attr("width",f=G-e).attr("height",C=g).attr("class","svgchart").append("svg:g").attr("transform","translate(.5,.5)");E=d3.select("#"+b).select(".myChart").append("svg").attr("width",y=e).attr("height",u=g).attr("class","svgchart").append("g").attr("transform","translate(0,"+(u-a)/2+")")}else{if(c.getLocation()=="n"||c.getLocation()=="nw"||c.getLocation()=="ne"){E=d3.select("#"+b).select(".myChart").append("svg").attr("width",y=G).attr("height",u=a).attr("class","svgchart").append("g").attr("transform",function(){if(c.getLocation()=="n"){return"translate("+(G-e)/2+",0)"}else{if(c.getLocation()=="nw"){return"translate(0,0)"}else{return"translate("+(G-e)+",0)"}}});q=d3.select("#"+b).select(".myChart").append("svg:svg").attr("width",f=G).attr("height",C=g-a).append("svg:g").attr("transform","translate(.5,.5)")}else{q=d3.select("#"+b).select(".myChart").append("svg:svg").attr("width",f=G).attr("height",C=g-a).attr("class","svgchart").append("svg:g");E=d3.select("#"+b).select(".myChart").append("svg").attr("width",y=G).attr("height",u=a).append("g").attr("transform",function(){if(c.getLocation()=="s"){return"translate("+(G-e)/2+",0)"}else{if(c.getLocation()=="sw"){return"translate(0,0)"}else{return"translate("+(G-e)+",0)"}}})}}}}else{var z=d3.select("#"+b).select(".myChart").append("svg:svg").attr("width",f=G).attr("height",C=g).attr("class","svgchart");q=z.append("g");E=z.append("g");if(c.getLocation()=="w"){E.attr("transform","translate(0,"+(g-a)/2+")")}else{if(c.getLocation()=="e"){E.attr("transform","translate("+(G-e)+","+(g-a)/2+")")}else{if(c.getLocation()=="n"){E.attr("transform","translate("+(G-e)/2+",0)")}else{if(c.getLocation()=="nw"){E.attr("transform","translate(0,0)")}else{if(c.getLocation()=="ne"){E.attr("transform","translate("+(G-e)+",0)")}else{if(c.getLocation()=="s"){E.attr("transform","translate("+(G-e)/2+","+(g-a)+")")}else{if(c.getLocation()=="sw"){E.attr("transform","translate(0,"+(g-a)+")")}else{E.attr("transform","translate("+(G-e)+","+(g-a)+")")}}}}}}}C=u=g;f=y=G}return[q,E,C,f,u,y]}function updateLegendll(c,s,F,l,f,u,r,D,n,z,m,e,E){d3.select("#"+c).select(".myChart").select(".svgLegend").selectAll("#trail").remove();var v=d3.select("#"+c).select(".myChart").select(".svgLegend").append("svg:svg").attr("id","trail");var A=d3.scale.category20();var G={h:17,t:10};var o=new Array();o[-1]=0;var q=0;function p(k,b){var g=[];o[b]=k.name.replace("'","'").length*6+15;q=q+o[b];g.push(q-o[b]+G.t*b+",0");g.push(q+G.t*b+",0");g.push(G.t*(b+1)+q+","+(G.h/2));g.push(q+G.t*b+","+G.h);g.push(G.t*b+(b?q-o[b]:0)+","+G.h);if(b>0){g.push(G.t+G.t*b+(b?q-o[b]:0)+","+(G.h/2))}return g.join(" ")}var B=0;var C;a(F);function a(b){if(b.parent){a(b.parent)}C=v.append("svg:g");C.append("svg:polygon").attr("points",function(){return p(b,B)}).attr("class","leg-poly").on("click",function(){if(b.children[0].children){v.selectAll("g").remove();m(c,b,0,s,l,f,u,r,D,n,z,1,e,E)}else{alert("No further dimensions.")}}).style("fill",A(B));C.append("svg:text").text(b.name.replace("'","'")).attr("x",q-o[B]/2+G.t*B).attr("y",G.h/2).style("text-anchor","middle").attr("dy","0.4em").attr("dx","0.7em").style("fill","white").attr("class","leg-text").on("click",function(){if(b.children[0].children){v.selectAll("g").remove();m(c,b,0,s,l,f,u,r,D,n,z,1,e,E)}else{alert("No further dimensions.")}});B++}d3.select("#"+c).select(".myChart").select(".svgLegend").select("svg").attr("width",q+G.t*B);if(F==D){v.selectAll("g").remove()}}function makeLegendRadioType(x,z,l,F,B,G,E,b,f){var u=f.getNumRows()>z?z:+f.getNumRows(),H=x[1],C,y=0,g=0,o=0,A,v,D=new Array(),e=new Array(),c=new Array();if(f.getShowLegend()){A=0;for(g=0;Math.floor(g)<=(z-z/u);g=g+z/u){o=0;var q=0;for(i=Math.ceil(g);i<(g+z/u);i++){D[i]=H.append("circle").attr("fill","none").attr("stroke","dimgrey").attr("stroke-width","1px").attr("r",5).attr("cx",7+o+12*q).attr("cy",15+y*15).attr("visibility","visible").attr("class","leg-rect").on("click",function(){l=+this.id+1;clickLegend(l)});e[i]=H.append("circle").attr("id",i).attr("fill","dimgrey").attr("stroke","none").attr("stroke-width","0px").attr("r",3).attr("cx",7+o+12*q).attr("cy",15+y*15).attr("visibility","visible").attr("class","leg-rect").on("click",function(){l=+this.id+1;a(l)});if(f.getShowLabels()){c[i]=H.append("text").attr("id",i).attr("x",C=(12)*(q+1)+o+2).style("text-anchor","start").text(G.measName[i]).attr("y",function(){o=o+this.getComputedTextLength()+9;return 18+y*15}).attr("class","leg-text").on("click",function(){l=+this.id+1;a(l)})}if(A<=o+6+(12)*q){A=o+6+(12)*(q+1)}q++}y++}}function a(k){H.selectAll("circle").attr("fill-opacity",0);H.selectAll("text").attr("fill-opacity",0.5);e[k-1].attr("fill-opacity",1);if(f.getShowLabels()){c[k-1].attr("fill-opacity",1)}x[0].selectAll(".cell").remove();x[0].selectAll(".arc").remove();F(k)}H.selectAll("circle").attr("fill-opacity",0);e[l-1].attr("fill-opacity",1);if(f.getShowLabels()){H.selectAll("text").attr("fill-opacity",0.5);c[l-1].attr("fill-opacity",1)}}function makeLegend(u,x,f,C,z,E,B,a,c){if(a==0){makeLegendRadioType(u,x,f,C,z,E,B,a,c);return}var o=c.getNumRows()>x?x:+c.getNumRows(),F=u[1],A,v=0,e=0,g=0,y,q,G=new Array(),D=new Array();if(c.getShowLegend()){y=0;for(e=0;Math.floor(e)<=(x-x/o);e=e+x/o){g=0;var l=0;for(i=Math.ceil(e);i<(e+x/o);i++){G[i]=F.append("rect").attr("fill",function(){return a!=0?c.colorArr[i]:"black"}).attr("stroke",function(){return a!=0?c.colorArr[i]:"#aaa"}).attr("stroke-width","1px").attr("id",i).attr("x",function(){return g+12*l}).attr("y",10+v*15).attr("width",10).attr("height",10).attr("visibility","visible").attr("class","leg-rect").on("click",function(){f=+this.id+1;if(!a){b(f)}else{z(this,B,u,x);G[f-1].attr("fill-opacity",function(){return B[+this.id]?1:0});if(c.getShowLabels()){D[f-1].attr("fill-opacity",function(){return B[+this.id]?1:0.5})}}});if(c.getShowLabels()){D[i]=F.append("text").attr("id",i).attr("x",A=(12)*(l+1)+g+2).style("text-anchor","start").text(E.measName[i]).attr("y",function(){g=g+this.getComputedTextLength()+9;return 18+v*15}).attr("class","leg-text").on("click",function(){f=+this.id+1;if(!a){b(f)}else{z(this,B,u,x);G[f-1].attr("fill-opacity",function(){return B[+this.id]?1:0});D[f-1].attr("fill-opacity",function(){return B[+this.id]?1:0.5})}})}if(y<=g+6+(12)*l){y=g+6+(12)*(l+1)}l++}v++}}function b(k){F.selectAll("rect").attr("fill-opacity",0);F.selectAll("text").attr("fill-opacity",0.5);G[k-1].attr("fill-opacity",1);if(c.getShowLabels()){D[k-1].attr("fill-opacity",1)}u[0].selectAll(".cell").remove();u[0].selectAll(".arc").remove();C(k)}if(!a){F.selectAll("rect").attr("fill-opacity",0);G[f-1].attr("fill-opacity",1);if(c.getShowLabels()){F.selectAll("text").attr("fill-opacity",0.5);D[f-1].attr("fill-opacity",1)}}}function findxtickspace(b,a){return d3.max(b,function(c){String(c.name).replace("'","'");if(a.getxPos()=="A"){if(a.getxFrom()=="all"){return c.name.length*4}else{if(a.getxFrom()=="first"){return c.name.substr(0,a.getxLength()).length*4}else{return c.name.substr(c.name.length-Math.min(a.getxLength(),c.name.length),c.name.length).length*4}}}else{return 15}})}function makeParentsJson(b,c){var a=d3.layout.hierarchy().sort(null).value(function(e){return +e.size[c-1]});a(b)}function removeMeasures(f,l){var k=[],a=[],e=[],g=[],c=[];for(var b=0;b<l.length;b++){if(l[b]){k.push(f.measFormat[b]);a.push(f.measName[b]);e.push(f.percent[b]);g.push(f.percentOfTotal[b]);c.push(f.size[b])}}f.measFormat=k;f.measName=a;f.percent=e;f.percentOfTotal=g;f.size=c}function removeMeasuresRec(b,c){removeMeasures(b,c);for(var a=0;b.children&&a<b.children.length;a++){removeMeasuresRec(b.children[a],c)}}function resolveComputeMeasure(json,Measures){for(var i=0;Measures&&i<Measures.length;i++){if(Measures[i].formula&&Measures[i].formula!="NA"){var c=json;c.name=String(c.name);eval(Measures[i].formula);resolveFormula(json,Measures[i].formula)}}}function applyShowHideMeasure(c,g){if(g.RD&&g.RD.Measures&&g.RD.Measures.length>0){var f=[];for(var b=0;b<c.measName.length;b++){var e=g.RDgetMeasureByName(c.measName[b]);if(e&&typeof e.showMe!="undefined"&&e.showMe===false){f.push(0)}else{f.push(1)}}if(f.indexOf(0)>=0){removeMeasuresRec(c,f);var a=[];for(var b=0;b<f.length;b++){if(f[b]){a.push(g.colorArr[b])}}g.colorArr=a}}}function resolveFormula(json,formula){for(var i=0;json.children&&i<json.children.length;i++){var c=json.children[i];if(typeof c.children==undefined){return}c.name=String(c.name);eval(formula);resolveFormula(c,formula)}}function setPosition(n,a){a.style("display","block").style("visibility","visible").style("position","absolute").style("pointer-events","none");var l=a.select(".tipsy-arrow");var g=d3.select("#"+n).select(".myChart").select(".svgchart")[0][0];if(!g||typeof g.offsetLeft=="undefined"){l.attr("class","tipsy-arrow tipsy-arrow-w");a.attr("class","tipsy tipsy-w");a.style("left",d3.event.pageX+"px");a.style("top",d3.event.pageY+"px");return}var e=g.offsetLeft,s=g.offsetTop,k=g.offsetHeight,r=g.offsetWidth;var q=d3.event.pageX-$(window).scrollLeft(),o=d3.event.pageY-$(window).scrollTop();var t=a[0][0].clientHeight,f=a[0][0].clientWidth;var m=o,c=q,b=20;if((e+f/2<q)&&(o+t+b<s+k)){a.attr("class","tipsy tipsy-n");l.attr("class","tipsy-arrow tipsy-arrow-n");m=o+b;c=q-f/2}else{if(o+t/2>s){if(e+f+b<q){a.attr("class","tipsy tipsy-e");l.attr("class","tipsy-arrow tipsy-arrow-e");m=o-t/2;c=q-f-b}else{if(q+f<e+r){a.attr("class","tipsy tipsy-w");l.attr("class","tipsy-arrow tipsy-arrow-w");m=o-t/2;c=q+b}}}else{if((e+f/2<q)&&(o-t-b>s)){a.attr("class","tipsy tipsy-s");l.attr("class","tipsy-arrow tipsy-arrow-s");m=o-t-b;c=q-f/2}else{a.attr("class","tipsy tipsy-s");l.attr("class","tipsy-arrow tipsy-arrow-s");m=o-t-b;c=q-f/2}}}a.style("left",c+"px");a.style("top",m+"px")}function getPath(e,b){var c=new Array();var a=e;while(a){c.push({dimName:a.dimName,dimVal:a.name,measName:a.measName[b-1],measVal:a.size[b-1],percent:a.percent[b-1]});if(a.depth==0||typeof a.parent=="undefined"){break}a=a.parent}return c}function showToolTips(q,m,f,b){var c=d3.select("#"+q).select(".myChart").select(".tipsy");var o=getPath(m,f);var l=$("#"+q).parent().parent().children().eq(0).children().eq(0).children().attr("title");var e="";if(l&&l.length>0&&G_SHOW_FILTER_IN_TOOLTIP){var k=l.split("Filter:");if(k.length>1){e=k[1].split("Action:")[0];e=" for "+e}}var a='<div class="tipsy-arrow"></div><div class="tipsy-inner">';a+="<table class=tipTable>";a+='<thead><tr style="border:0px"><th colspan=3>'+o[0].measName+'<font style="font-weight:normal">'+e+"</font></th></tr></thead>";var g=0;if(o[g].dimVal){a+='<tr style="line-height:12px"><td style="color:#bbb;font-size:10px;line-height:12px">'+(o[g].dimVal=="All"?"":o[g].dimName)+"</td><td colspan=2> </td></tr>";a+='<tr style="border:0px"><td>'+o[g].dimVal+"</td><td> : </td><td>"+formatData(o[g].measVal,b[f-1],2)+"</td></tr>"}a+="</table></div>";c.html(a);setPosition(q,c)}function showToolTipsXX(q,m,f,b){var c=d3.select("#"+q).select(".myChart").select(".tipsy");var o=getPath(m,f);var l=$("#"+q).parent().parent().children().eq(0).children().eq(0).children().attr("title");var e="";var a='<div class="tipsy-arrow"></div><div class="tipsy-inner">';a+="<table class=tipTable>";a+='<thead><tr style="border:0px"><th colspan=3>'+o[0].measName+'<font style="font-weight:normal">'+e+"</font></th></tr></thead>";for(var k=o.length-1,g="";k>=0;k--){a+='<tr style="line-height:12px"><td style="color:#bbb;font-size:10px;line-height:12px">'+(o[k].dimVal=="All"?"":o[k].dimName)+"</td><td colspan=2> </td></tr>";a+='<tr style="border:0px"><td>'+o[k].dimVal+"</td><td> : </td><td>"+formatData(o[k].measVal,b[f-1],0)+" ( "+o[k].percent+" ) </td></tr>"}a+="</table></div>";c.html(a);setPosition(q,c)}function showToolTipl(a,g,k,e,c,f){for(var b=0;b<k;b++){if(d3.select(e).attr("fill")==f.colorArr[b]){showToolTips(a,g,(b+1),c)}}}function hideToolTip(a,e,b){var c=d3.select("#"+a).select(".myChart").select(".tipsy").style("display","none")}function clickRectL(c,b,a,e){i=c.id;b[i]=!b[i];a[0].selectAll(".class"+i).style("visibility",function(){return b[i]?"visible":"hidden"})}function clickRectText(e,b,a,c){b[e]=!b[e];a.selectAll(".class"+e).style("visibility",function(){return b[e]?"visible":"hidden"})}function getNticks(a,c){var b=Math.max(Math.floor((a-c)/20),2);if(b>10){b=10}return b}function nicenum(a,b){var c=Math.floor(Math.log(a)/Math.LN10);var e=a/Math.pow(10,c);if(b){if(e<1.5){nf=1}else{if(e<3){nf=2}else{if(e<7){nf=5}else{nf=10}}}}else{if(e<=1){nf=1}else{if(e<=2){nf=2}else{if(e<=5){nf=5}else{nf=10}}}}return nf*Math.pow(10,c)}function getTickValues(b,m,k){var c=nicenum(m-b,false);var g=nicenum(c/(k-1),true);var l=Math.floor(b/g)*g;var a=Math.ceil(m/g)*g;var f=Math.max(-Math.floor(Math.log(g)/Math.LN10),0);var e=new Array();for(var n=l;n<a+0.5*g;n+=g){e.push(n)}return e}function getNewMinMax(e,a,f){var b=nicenum(a-e,false);var g=nicenum(b/(f-1),true);var c=Math.floor(e/g)*g;var k=Math.ceil(a/g)*g;return[c,k]}function drawTreeChart(b,e,c,E,n,g,A,D,u,s,f,r){var m,z,E=E-30,l=1,t=d3.svg.diagonal().projection(function(k){return[k.y,k.x]});d3.select("#"+e).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var C=makeJsonFromArrayNew(b,g,A,D[0],f);C.x0=800;C.y0=0;resolveComputeMeasure(C,f.RD.General.Measures);var q=findSvgArea(A,f,C,E,n,e),p=q[0].attr("transform","translate(60,0)");z=q[2]-20;m=q[3]-30;var v=new Array(A);for(var y=0;y<v.length;y++){v[y]=0}v[l-1]=1;var x=C,a=C.children;var o=d3.layout.tree().size([z,m-m/3]);if(x.children.length>z/20){x.children=x.children.slice(0,Math.floor(z/20))}update(e,C,o,C,p,t,l,D,f);for(var y=0;y<C.children.length;y++){d=C.children[y];collapse(d)}update(e,C,o,C,p,t,l,D,f);if(f.getShowLegend()){makeLegend(q,A,l,B,0,C,0,0,f)}function B(k){q[1].selectAll("rect").attr("fill-opacity",0.3);p.selectAll("g").remove();update(e,x,o,x,p,t,k,D,f)}}function collapse(b){if(b.children){for(var a=0;a<b.children.length;a++){collapse(b.children[a])}b._children=b.children;b.children=null}}function update(t,a,u,s,e,g,f,c,q){var p=0,m=500;var b=u.nodes(s).reverse();var l=e.selectAll("g.node").data(b,function(n){return n.id||(n.id=++p)});var o=l.enter().append("svg:g").attr("class","node").attr("transform",function(n){return"translate("+a.y0+","+a.x0+")"});o.append("svg:circle").attr("r",function(n){return parseFloat(n.percentOfTotal[f-1])<1?1:parseFloat(n.percentOfTotal[f-1])/2}).style("fill",function(n){return(n.children||n._children)?q.colorArr[f-1]:"#fff"}).style("stroke",q.colorArr[f-1]).style("stop-color","#005C99").style("stop-opacity","1").on("click",function(v){this.nextSibling.style.fill=v._children?"black":"black";click(t,v,u,s,e,g,f,c,q);var n=v.children?v:v.parent?v.parent:v;k(t,n,q)}).on("mouseover",function(v,n){showToolTips(t,v,f,c,q)}).on("mouseout",function(v,n){hideToolTip(t,v,n)});o.append("svg:text").attr("x",function(n){return n._children?-8:8}).attr("y",2).attr("x",15).on("click",function(v){this.style.fill=v._children?"black":"black";click(t,v,u,s,e,g,f,c,q);var n=v.children?v:v.parent?v.parent:v;k(t,n,q)}).text(function(n){return n.name.replace("&","&")+" ("+n.percent[f-1]+")"}).append("title").text(function(n){return n.name});o.transition().duration(m).attr("transform",function(n){return"translate("+n.y+","+n.x+")"}).select("circle").style("stroke",q.colorArr[f-1]).style("stroke-width","5").style("stroke-opacity","0.4").style("fill",function(n){return(n.children||n._children)?q.colorArr[f-1]:"#fff"});l.transition().duration(m).attr("transform",function(n){return"translate("+n.y+","+n.x+")"}).style("opacity",1);l.exit().transition().duration(m).attr("transform",function(n){return"translate("+a.y+","+a.x+")"}).style("opacity",0.000001).remove();var r=e.selectAll("path.link").style("stroke",q.colorArr[f-1]).data(u.links(b),function(n){return n.target.id});r.enter().insert("svg:path","g").attr("class","link").style("stroke",q.colorArr[f-1]).attr("d",function(v){var n={x:a.x0,y:a.y0};return g({source:n,target:n})}).transition().duration(m).attr("d",g);r.transition().duration(m).attr("d",g);r.exit().transition().duration(m).attr("d",function(v){var n={x:a.x,y:a.y};return g({source:n,target:n})}).remove();b.forEach(function(n){n.x0=n.x;n.y0=n.y});function k(B,y,z){d3.select("#"+B).select(".myChart").select(".svgLegend").selectAll("#trail").remove();var n=d3.select("#"+B).select(".myChart").select(".svgLegend").append("svg:svg").attr("id","trail");var A={w:0,h:17,s:3,t:10,wd:0};var C=new Array();C[-1]=0;var E=0;function F(I,G){var H=[];C[G]=I.name.length*6+15;E=E+C[G];A.w=A.w+I.name.length+15;H.push(E-C[G]+A.t*G+",0");H.push(E+A.t*G+",0");H.push(A.t*(G+1)+E+","+(A.h/2));H.push(E+A.t*G+","+A.h);H.push(A.t*G+(G?E-C[G]:0)+","+A.h);if(G>0){H.push(A.t+A.t*G+(G?E-C[G]:0)+","+(A.h/2))}return H.join(" ")}var v=0,x;D(y);function D(G){if(G.parent){D(G.parent)}x=n.append("svg:g");x.append("svg:polygon").on("click",function(){n.selectAll("g").remove();click(B,G,u,s,e,g,f,c,z);k(B,G,z)}).attr("points",function(){return F(G,v)}).style("fill",z.colorArr[v]);x.append("svg:text").text(G.name).attr("x",E-C[v]/2+A.t*v).attr("y",A.h/2).style("text-anchor","middle").attr("dy","0.4em").attr("dx","0.7em").style("fill","white").attr("class","leg-text").on("click",function(){n.selectAll("g").remove();click(B,G,u,s,e,g,f,c,z);k(B,G,z)});v++}if(y==s){n.selectAll("g").remove()}}}function click(l,g,m,k,b,e,c,a,f){if(g.children){g._children=g.children;g.children=null}else{g.children=g._children;g._children=null}update(l,g,m,k,b,e,c,a,f)}function drawBarChart_interactive(e,l,f,Q,B,n,N,P,K,H,m){var D={top:20,right:40,bottom:20,left:50},I,F,v=1,O=makeJsonFromArrayNew(e,n,N,P,m);resolveComputeMeasure(O,m.RD.General.Measures);d3.select("#"+l).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var G=findSvgArea(N,m,O,Q,B,l);F=G[2]-D.top-30;I=m.getMultiAxes()?G[3]-D.left-D.right:G[3]-D.left-30;G[0].attr("transform","translate("+D.left+","+(D.top+20)+")");var s=F/(O.children.length+4),u=d3.scale.linear().range([0,I]),q=d3.scale.ordinal().range([m.colorArr[v-1],"#ccc"]),L=new Array(N);for(i=0;i<N;i++){L[i]=0}var o=d3.layout.partition().value(function(k){return k.size[v-1]});L[v-1]=1;var p=d3.svg.axis().scale(u).orient("top").tickFormat(function(k){return formatSmallScale(k,P[v-1])});G[0].append("rect").attr("class","background").attr("width",I).attr("height",F).style("stroke",function(){return m.getdrawBorder()?"#DDDDDD":"none"}).on("click",function(k){t(l,G,k,0,p,u,q,O,v,L,m,P)});G[0].append("g").attr("class","x axis");G[0].append("g").attr("class","y axis").append("line").attr("y1",F);o.nodes(O);var a=O.children;var c=d3.min(a,function(x){var k=0;for(i=0;i<N;i++){if(Math.min(x.size[i])<k){k=Math.min(x.size[i])}}return k});var b=d3.max(a,function(x){var k=0;for(i=0;i<N;i++){if(Math.max(x.size[i])>k){k=Math.max(x.size[i])}}return k});var J=Math.max(Math.floor(I/50),2);var E=getNewMinMax(c,b,J);u.domain(E);A(l,G,O,0,p,u,q,O,v,L,m,P);if(m.getShowLegend()){makeLegend(G,N,v,"",r,O,L,1,m)}G[1].selectAll("rect").attr("fill-opacity",0.3);G[1].select("rect").attr("fill-opacity",1);function A(W,ae,an,aj,Z,aa,Y,al,ab,ai,X,am){var y=750,ao=25;if(!an.children||this.__transition__){return}var R=an.children;if(an.children.length>F/15){an.children=an.children.slice(0,Math.ceil(F/15))}var U=y+an.children.length*ao;var ah=ae[0].selectAll(".enter").attr("class","exit");ah.selectAll("rect").filter(function(k){return k===an}).style("fill-opacity",0.000001);s=Math.min(F/(an.children.length+3),30);var ak=M(W,an,ae,Z,aa,s,Y,ab,X,am).attr("transform",g(aj,aa,s,ab)).style("opacity",1);ak.select("rect").style("fill",function(k){return k.value>0?Y(!!k.children):(k.children?"#A52A2A":"#D69494")});var ag=Math.max(Math.floor(I/50),2);var T=d3.min(R,function(x){var k=0;for(aj=0;aj<N;aj++){if(ai[aj]){if(Math.min(x.size[aj])<k){k=Math.min(x.size[aj])}}}return k});var S=d3.max(R,function(x){var k=0;for(aj=0;aj<N;aj++){if(ai[aj]){if(Math.max(x.size[aj])>k){k=Math.max(x.size[aj])}}}return k});var ad=getNewMinMax(T,S,ag);var ap=getTickValues(T,S,ag);aa.domain(ad);ae[0].selectAll(".x.axis").transition().duration(y).call(Z.tickValues(ap));if(!(X.getShowGridLines()&&X.getShowTicks())){ae[0].select(".y.axis").selectAll("line").style("visibility","hidden");ae[0].select(".x.axis").selectAll("path").style("visibility","hidden")}if(!X.getShowTicks()){ae[0].select(".enter").selectAll("text").remove();ae[0].select(".x.axis").selectAll(".tick").remove()}if(!X.getShowTickLabels()){ae[0].select(".enter").selectAll("text").remove();ae[0].select(".x.axis").selectAll("text").remove()}var V="S";if(X.RD&&X.RD.Axes&&X.RD.Axes.xPos){V=X.RD.Axes.xPos}ae[0].selectAll(".enter").selectAll("text").text(function(k){k=k.name.replace("'","'");if(X.getxFrom()=="all"){return k}else{if(X.getxFrom()=="first"){return k.substr(0,X.getxLength())}else{return k.substr(k.length-Math.min(X.getxLength(),k.length),k.length)}}}).attr("transform",function(){return V=="A"?"rotate("+(-20)+")translate(-5,-5)":"rotate(0)"}).append("title").text(function(k){return k.name.replace("'","'")});var af=ak.transition().duration(y).delay(function(x,k){return k*ao}).attr("transform",function(x,k){return"translate(0,"+s*k*1.2+")"});af.select("text").style("fill-opacity",1);af.select("rect").attr("width",function(k){return Math.abs(aa(k.size[ab-1])-aa(0))}).style("fill",function(k){return k.value>0?Y(!!k.children):(k.children?"#A52A2A":"#D69494")});var ac=ah.transition().duration(y).style("opacity",0.000001).remove();ac.selectAll("rect").attr("width",function(k){return Math.abs(aa(k.size[ab-1])-aa(0))});ae[0].select(".background").data([an]).transition().duration(U);an.index=aj}function t(W,ae,an,aj,Z,aa,Y,al,ab,ai,X,am){var y=750,ao=25;if(!an.parent||this.__transition__){return}var U=y+an.children.length*ao;var ah=ae[0].selectAll(".enter").attr("class","exit");s=Math.min((F/(an.parent.children.length+3)),30);var ak=M(W,an.parent,ae,Z,aa,s,Y,ab,X,am).attr("transform",function(x,k){return"translate(0,"+s*k*1.2+")"}).style("opacity",0.000001);ak.select("rect").style("fill",function(k){return k.value>0?Y(!!k.children):(k.children?"#A52A2A":"#D69494")}).filter(function(k){return k===an}).style("fill-opacity",0.000001);var ag=Math.max(Math.floor(I/50),2);var R=an.parent.children;var T=d3.min(R,function(x){var k=0;for(aj=0;aj<N;aj++){if(ai[aj]){if(Math.min(x.size[aj])<k){k=Math.min(x.size[aj])}}}return k});var S=d3.max(R,function(x){var k=0;for(aj=0;aj<N;aj++){if(ai[aj]){if(Math.max(x.size[aj])>k){k=Math.max(x.size[aj])}}}return k});var ad=getNewMinMax(T,S,ag);var ap=getTickValues(T,S,ag);aa.domain(ad);ae[0].selectAll(".x.axis").transition().duration(y).call(Z.ticks(Math.floor(I/50)).tickValues(ap));if(X.getShowGridLines()&&X.getShowTicks()){ae[0].select(".y.axis").selectAll("line").style("stroke","#DDDDDD");ae[0].select(".x.axis").select("path").style("stroke","#DDDDDD")}else{ae[0].select(".y.axis").selectAll("line").style("visibility","hidden");ae[0].select(".x.axis").selectAll("path").style("visibility","hidden")}if(!X.getShowTicks()){ae[0].select(".enter").selectAll("text").remove();ae[0].select(".x.axis").selectAll(".tick").remove()}if(!X.getShowTickLabels()){ae[0].select(".enter").selectAll("text").remove();ae[0].select(".x.axis").selectAll("text").remove()}var V="S";if(X.RD&&X.RD.Axes&&X.RD.Axes.xPos){V=X.RD.Axes.xPos}ae[0].selectAll(".enter").selectAll("text").text(function(k){k=k.name.replace("'","'");if(X.getxFrom()=="all"){return k}else{if(X.getxFrom()=="first"){return k.substr(0,X.getxLength())}else{return k.substr(k.length-Math.min(X.getxLength(),k.length),k.length)}}}).attr("transform",function(){return V=="A"?"rotate("+(-20)+")translate(-5,-5)":"rotate(0)"});var af=ak.transition().duration(U).style("opacity",1);af.select("rect").attr("width",function(k){return Math.abs(aa(k.size[ab-1])-aa(0))}).each("end",function(k){if(k===an){d3.select(this).style("fill-opacity",null)}});var ac=ah.selectAll("g").transition().duration(y).delay(function(x,k){return k*ao}).attr("transform",g(an.index,aa,s,ab));ac.select("text").style("fill-opacity",0.000001);ac.select("rect").attr("width",function(k){return Math.abs(aa(k.size[ab-1])-aa(0))}).style("fill",function(k){return k.value>0?Y(!!k.children):(k.children?"#A52A2A":"#D69494")});ah.transition().duration(U).remove();ae[0].select(".background").data([an.parent]).transition().duration(U)}function M(ab,X,T,R,aa,Z,Y,S,W,k){var V=(W.getxFrom()=="all"&&W.getShowTicks()&&W.getShowTickLabels())?6*X.children[0].name.length:6*W.getxLength();aa.range([V,I]);var U=T[0].insert("g",".y.axis").attr("class","enter").attr("transform","translate("+aa(0)+",5)").selectAll("g").data(X.children).enter().append("g").style("cursor",function(x){return !x.children?null:"pointer"}).on("click",function(y,x){A(ab,T,y,x,R,aa,Y,O,S,L,W,k)});U.append("text").attr("x",-6).attr("y",Z/2).attr("dy",".35em").attr("text-anchor","end").text(function(x){return x.name.replace("'","'")});U.append("rect").attr("width",function(x){return Math.abs(aa(x.size[S-1])-aa(0))}).attr("height",Z).on("mouseover",function(y,x){showToolTips(ab,y,S,k)}).on("mouseout",function(y,x){hideToolTip(ab,y,x)});T[0].selectAll(".xlabel").remove();T[0].selectAll(".ylabel").remove();if(W.getShowLabel()){T[0].append("g").attr("class","ylabel").append("text").text(X.children[0].dimName).attr("transform","translate("+(-34)+","+F/2+")rotate(-90)").style("text-anchor","middle").attr("class","label");T[0].append("g").attr("class","xlabel").append("text").text(X.measName[S-1]).attr("transform","translate("+(aa(0)+(I-V)/2)+","+-25+")").style("text-anchor","middle").attr("class","label")}T[0].selectAll(".y.axis").select("line").attr("transform","translate("+aa(0)+",0)");T[0].select("rect").attr("transform","translate("+aa(0)+",0)").attr("width",I-V);updateLegendll(ab,T,X,i,R,aa,Y,O,S,L,C,W,k);return U}function C(ac,Y,V,W,S,R,ab,aa,ad,T,U,Z,X,y){A(ac,W,Y,S,R,ab,aa,ad,T,U,X,y)}function r(R,y,x,S){v=+R.id+1;for(var z=0;z<S;z++){y[z]=0}y[+R.id]=1;x[1].selectAll("rect").attr("fill-opacity",0.3);q.range([m.colorArr[v-1],"#ccc"]);o=d3.layout.partition().value(function(k){return k.size[v-1]});o(O);A(l,x,O,i,p,u,q,O,v,y,m,P)}function g(R,k,T,S){var z=0;return function(y){var x="translate("+z+","+T*R*1.2+")";z+=k(y.size[S-1]);return x}}}function drawRadarChart(b,g,e,y,o,l,t,x,k,p){o=makeProperHeight(o,g);y=makeProperWidth(y,g);var f={top:20,right:0,bottom:20,left:0},c,v,a="#CCC";var s=new Array();var n=new Array();for(var q=0;q<t;q++){n[q]=new Array()}for(var r=1;r<b.length;r++){for(var q=0;q<t;q++){n[q].push(+b[r][l+q])}s.push(b[r][0])}for(var q=0;q<t;q++){n[q].push(+b[1][l+q])}mergedArr=n[0].concat(n[1]);var u=d3.min(mergedArr);var m=d3.max(mergedArr);m=m+((m-u)*0.25);u=0;buildBase(g,(o/3)*2,y);setScales(u,m,f,(o/3)*2,y);addAxes(s,m,a,x);draw(n);drawTextReport(g,b,l,t,o/3,y,x)}var buildBase=function(c,e,b){var f=d3.select("#"+c).html("");var a=d3.select("#"+c).append("svg:svg").attr("width",b).attr("height",e).attr("class","svgchart");a.append("svg:rect").attr("id","axis-separator").attr("x",0).attr("y",0).attr("height",0).attr("width",0).attr("height",0);vizBody=a.append("svg:g").attr("id","radar")};setScales=function(m,n,g,f,l){var c,b,k,e,a;c=f-g.top-g.bottom;b=l-g.left-g.right;k=d3.min([c,b]);radius=d3.scale.linear().domain([m,n]).range([0,(k/2)]);radiusLength=radius(n);e=b/2+g.left;a=c/2+g.top;vizBody.attr("transform","translate("+e+", "+a+")")};addAxes=function(b,l,g,k){var e=radius.ticks(4),f,c,a;vizBody.selectAll(".circle-ticks").remove();vizBody.selectAll(".line-ticks").remove();c=vizBody.selectAll(".circle-ticks").data(e).enter().append("svg:g").attr("class","circle-ticks");c.append("svg:circle").attr("r",function(n,m){return radius(n)}).attr("class","circle").style("stroke",g).style("fill","none");c.append("svg:text").attr("text-anchor","middle").attr("dy",function(m){return -1*radius(m)}).text(function(m){return formatSmallScale(Math.round(m),k[0])});a=vizBody.selectAll(".line-ticks").data(b).enter().append("svg:g").attr("transform",function(n,m){return"rotate("+((m/b.length*360)-90)+")translate("+radius(l)+")"}).attr("class","line-ticks");a.append("svg:line").attr("x2",-1*radius(l)).style("stroke",g).style("fill","none");a.append("svg:text").text(String).attr("text-anchor",function(o,m){var n=Math.abs((m/b.length*360)-90);if(n==90){return"middle"}else{if(n<90){return"start"}else{return"end"}}}).attr("transform",function(n,m){return"rotate("+-((m/b.length*360)-90)+")"})};var draw=function(e){var a,b,c;highlightedDotSize=4;a=vizBody.selectAll(".series").data(e);a.enter().append("svg:g").attr("class","series").style("fill",function(g,f){return G_seriesColors[f]}).style("stroke",function(g,f){return G_seriesColors[f]});a.exit().remove();numAxix=e[0].length-1;b=a.append("svg:path").attr("class",function(g,f){return"line"+(f+1)}).attr("d",d3.svg.line.radial().radius(function(f){return 0}).angle(function(g,f){if(f===numAxix){f=0}return(f/numAxix)*2*Math.PI})).style("stroke-width",3).style("opacity","0.3");a.selectAll(".curr-point").data(function(f){return[f[0]]}).enter().append("svg:circle").attr("class","curr-point").attr("r",0);a.selectAll(".clicked-point").data(function(f){return[f[0]]}).enter().append("svg:circle").attr("r",0).attr("class","clicked-point");b.attr("d",d3.svg.line.radial().radius(function(f){return radius(f)}).angle(function(g,f){if(f===5){f=0}return(f/5)*2*Math.PI}))};var drawTextReport=function(m,l,c,o,e,n,b){var a="<table width=90% align=center cellspacing=0 border=0>";var k=new Array();for(var f=0;f<o;f++){k[f]=0}if(l.length>0){a+="<tr class=radarRow>";for(var f=0;f<c;f++){a+="<td class=dim><b>"+l[0][f]+"</b></td>"}for(var f=0;f<o;f++){a+='<td class=meas style="color:'+G_seriesColors[f]+'">'+l[0][c+f]+"</td>"}a+="</tr>"}for(var g=1;g<l.length;g++){a+="<tr class=radarRow>";for(var f=0;f<c;f++){a+="<td class=dim>"+l[g][f]+"</td>"}for(var f=0;f<o;f++){a+='<td class=meas style="color:'+G_seriesColors[f]+'">'+formatData(l[g][c+f],b[f])+"</td>";k[f]+=parseFloat(l[g][c+f])}a+="</tr>"}a+="<tr class=radarTotalRow>";for(f=0;f<c;f++){a+="<td class=dim> </td>"}for(f=0;f<o;f++){a+='<td class=meas style="color:'+G_seriesColors[f]+'"><b>'+formatData(k[f],b[f])+"</b></td>"}a+="</tr></table>";d3.select("#"+m).append("div").style("width",n+"px").style("Height",e+"px").style("overflow","auto").html(a)};function drawHeatChart(E,e,c,C,o,g,y,B,f,p){if(g<2){d3.select("#"+e).html("<br><br><center><font color=red>Can't plot heat chart.<br>Two dimensions are required to plot heat chart.</font></center>");return false}d3.select("#"+e).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var b=[];var A=makeJsonFromArrayNew(E,g,y,B,f);makeParentsJson(A);resolveComputeMeasure(A,f.RD.General.Measures);var r=findSvgArea(y,f,A,C,o,e),l=1,x=E.slice(0,1);if(f.getShowLegend()){makeLegend(r,y,l,D,0,A,0,0,f)}var s=100,q=100,k="",t=0,v=0,n="",z="",m="";var u=A,a=u.children;D(l);function D(I){r[0].selectAll("g").remove();r[0].selectAll("text").remove();r[0].selectAll("rect").remove();b[0]=0;var M=1;(E.filter(function(R){for(var Q=0;Q<a.length;Q++){if(a[Q].name==R[0]){return b.push(R)}}}));dim1=new Array();dim2=new Array();for(var M=1;M<b.length;M++){dim1.push(b[M][0]);dim2.push(b[M][1].replace("&","&"));b[M][g+I-1]=+b[M][g+I-1]}if(x[0][0]=="Month"){dim1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}else{dim1=sortNunique(dim1)}if(x[0][1]=="Month"){dim2=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}else{dim2=sortNunique(dim2)}var J={top:20,right:20,bottom:50,left:100};J.left=d3.max(dim1,function(Q){return Q.length})*10;if(J.left>150){J.left=150}q=r[2]-J.top-50;s=f.getMultiAxes()?r[3]-J.left-J.right:r[3]-J.left-30;r[0].attr("transform","translate("+(J.left+10)+","+(J.top+10)+")");if(B[0].charAt(1)=="t"){k=["#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"];t=0;v=getMaxFtime(b,g+I-1)}else{k=["#ffffd9","#c7e9b4","#41b6c4","#225ea8","#081d58"];t=d3.min(a,function(Q){return d3.min(Q.children,function(R){return +R.size[I-1]})});v=d3.max(a,function(Q){return d3.max(Q.children,function(R){return +R.size[I-1]})});if(t<0){t=-4;k=["red","#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]}}n=Math.floor(q/(dim1.length));z=Math.floor(s/(dim2.length));m=dim2.length;for(M=1;M<b.length;M++){b[M][g+y]=returnPos(dim1,b[M][0]);b[M][g+y+1]=returnPos(dim2,b[M][1])}var O=d3.scale.quantile().domain([Math.min(t,0),v]).range(k);if(f.getShowLabel()){var L=r[0].append("text").attr("transform","translate("+-J.left+","+(q)/2+")rotate(-90)").style("text-anchor","middle").attr("class","label").text(x[0][0]);var N=r[0].append("text").attr("transform","translate("+(s)/2+","+-20+")").style("text-anchor","middle").attr("class","label").text(x[0][1])}var G=r[0].selectAll(".dayLabel").data(dim1).enter().append("text").text(function(Q){return Q}).attr("x",0).attr("y",function(R,Q){return Q*n}).style("text-anchor","end").attr("transform","translate(-6,"+n/1.5+")").attr("class","dayLabel mono axis axis-workweek");if(s/dim2.length>30){var F=r[0].selectAll(".timeLabel").data(dim2).enter().append("text").text(function(Q){return Q}).attr("x",function(R,Q){return Q*z}).attr("y",0).style("text-anchor","middle").style("dominant-baseline","middle").attr("transform","translate("+z/2+", -10)").attr("class","timeLabel mono axis axis-worktime")}else{r[0].append("text").attr("class","title").text(x[0][1].replace("%","%")).attr("x",s/2).attr("y",0).style("text-anchor","middle").attr("transform","translate("+z/2+", -6)").attr("class","timeLabel mono axis axis-worktime")}var K=0;var P=r[0].selectAll(".hour").data(b.slice(1)).enter().append("rect").attr("x",function(R,Q){return +R[g+y+1]*z}).attr("y",function(R,Q){return +R[g+y]*n}).attr("class","hour bordered").attr("width",0).attr("height",0).style("fill",k[0]).on("mouseover",function(S,R){for(var R=0;R<a.length;R++){if(a[R].name==S[0]){for(var Q=0;Q<a[R].children.length;Q++){if(a[R].children[Q].name==S[1]){showToolTips(e,a[R].children[Q],I,B)}}}}}).on("mouseout",function(R,Q){hideToolTip(e,R,Q)});P.transition().duration(1000).style("fill",function(T){var S=0;for(var R=0;R<a.length;R++){if(a[R].name==T[0]){for(var Q=0;Q<a[R].children.length;Q++){if(a[R].children[Q].name==T[1]){S=S+ +a[R].children[Q].size[I-1]}}}}return O(S)}).attr("width",z).attr("height",n);var H=r[0].append("g").append("defs").append("linearGradient").attr("id","Mygradient"+e).selectAll("defs").data(k).enter().append("stop").attr("offset",function(R,Q){return Q*100/(k.length-1)+"%"}).attr("stop-color",function(Q){return Q});r[0].append("rect").attr("x",0).attr("y",q+15).attr("width",0).attr("height",0).attr("fill","white").transition().duration(1000).attr("fill",function(){return"url(#Mygradient"+e+")"}).attr("width",s).attr("height",13);r[0].selectAll("collegend").data([0].concat(O.quantiles()),function(Q){return Q}).enter().append("text").attr("class","mono").text(function(Q){if(Q<=0&&t<0){return"< 0"}else{return"> "+formatSmallScale(Q,B[I-1])}}).attr("x",function(R,Q){return Math.floor(s/(O.quantiles().length+1))*Q}).attr("y",q+40);for(M=1;M<b.length;M++){b[M].splice(g+y,2)}}}function sortNunique(a){a=a.sort();var b=[a[0]];for(var c=1;c<a.length;c++){if(a[c-1]!==a[c]){b.push(a[c])}}return b}function returnPos(a,c){for(var b=0;b<a.length;b++){if(a[b]==c){return b}}}function drawStockChart(B,c,b,A,n,f,u,z,e,a){var o={top:10,right:u*48,bottom:20,left:65},r,p;d3.select("#"+c).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var v=makeJsonFromArrayNew(B,f,u,z,e);makeParentsJson(v);resolveComputeMeasure(v,e.RD.General.Measures);applyShowHideMeasure(v,e);u=v.measName.length;var q=findSvgArea(u,e,v,A,n,c);p=q[2]-o.top-50;r=q[3]-o.left-30;q[0].attr("transform","translate("+o.left+","+o.top+")");var m=1,s=new Array(u);for(var t=0;t<u;t++){s[t]=1}if(e.getShowLegend()){makeLegend(q,u,m,0,clickRectL,v,s,1,e)}var l=d3.time.scale().range([0,r]);var g=d3.scale.linear().rangeRound([p,0]);plotStock(c,q,v,l,g,r,p,v,m,s,e,z)}function calcParseDate(c,b){if(typeof c!="undefined"){var a=c[0].name;if(/(\d{4})[-](\d{2})[-](\d{2})/.exec(a)!=null&&a.length==19){b=d3.time.format("%Y-%m-%d %H:%M:%S").parse}else{if(/(\d{4})[\/](\d{2})[\/](\d{2})/.exec(a)!=null&&a.length==19){b=d3.time.format("%Y/%m/%d %H:%M:%S").parse}else{if(/(\d{4})[-](\d{2})[-](\d{2})/.exec(a)!=null){b=d3.time.format("%Y-%m-%d").parse}else{if(/(\d{4})[\/](\d{2})[\/](\d{2})/.exec(a)!=null){b=d3.time.format("%Y/%m/%d").parse}else{if(/(\d{2})[-](\d{2})[-](\d{4})/.exec(a)!=null){b=d3.time.format("%d-%m-%Y").parse}else{if(/(\d{2})[\/](\d{2})[\/](\d{4})/.exec(a)!=null){b=d3.time.format("%d/%m/%Y").parse}else{b=d3.time.format("%y-%b-%d").parse}}}}}}return b}else{d3.select("#"+divId).html("No Data Found");return}}function plotStock(g,t,B,p,o,z,s,G,q,A,l,H){var F=G.size.length,r=new Array(F),v=new Array(F),f=new Array(F),b=B.children,E,D;D=calcParseDate(b,D);E=s;var I;if(l.getShowTicks()&&l.getShowTickLabels()){I=findxtickspace(b,l)}else{I=0}nTicks=getNticks(s,I);var e=d3.min(b,function(x){var k=0;for(C=0;C<F;C++){if(Math.min(x.size[C])<k){k=Math.min(x.size[C])}}return k});var c=d3.max(b,function(x){var k=0;for(C=0;C<F;C++){if(Math.max(x.size[C])>k){k=Math.max(x.size[C])}}return k});o.domain(getNewMinMax(e,c,nTicks));b.forEach(function(k){k.date=D(k.name)});for(var C=b.length-1;C>=0;C--){if(b[C].date&&b[C].date.getFullYear()<1000){b.splice(C,1)}}if(!b[0].date){b.forEach(function(k){k.date=k.name});p=d3.scale.ordinal().rangeRoundBands([0,z]).domain(b.map(function(k){return k.date}))}else{b=b.sort(function(x,k){return x.date-k.date});p=d3.time.scale().domain(d3.extent(b,function(k){return k.date})).range([0,z]);E=3.5*s/5;n()}o.range([E-I,0]);var m=d3.svg.axis().scale(p).orient("bottom");tv=getTickValues(e,c,nTicks);var a=d3.svg.axis().scale(o).tickSize(-z,0,0).orient("left").tickFormat(function(k){return formatSmallScale(k,H[0])}).ticks(tv.length).tickValues(tv);t[0].append("rect").attr("width",z).attr("height",E-I).style("fill",l.getBgColor()).style("stroke",function(){return l.getdrawBorder()?"black":"none"}).style("opacity",0.4);var u=t[0];u.append("g").attr("class","xaxis").attr("transform","translate(0,"+(E-I)+")").call(m).selectAll("text").attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return l.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return l.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"}).on("click",function(x,k){for(k=0;k<b.length;k++){if(x.toString()==b[k].date.toString()){x=b[k];break}}clickStock(g,x,k,t,p,o,z,s,G,q,A,0,l,H)});if(!D(b[0].name)){u.selectAll(".xaxis").selectAll("text").text(function(k){if(typeof(k)=="string"){k=k.replace("'","'");if(l.getxFrom()=="all"){return k}else{if(l.getxFrom()=="first"){return k.substr(0,l.getxLength())}else{return k.substr(k.length-l.getxLength(),k.length)}}}})}u.select(".xaxis").selectAll(".tick").append("title").text(function(k){return k});if(!l.getMark()){u.selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(l.getShowLabel()){u.append("text").attr("class","label").text(b[0].dimName).attr("transform","translate("+z/2+","+(E+lblPad)+")").style("text-anchor","middle")}u.append("g").attr("class","yaxis").call(a);if(l.getShowLabel()){u.append("text").attr("class","label").text(G.measName.length>1?"Measures":G.measName[0]).attr("transform","translate("+(-54)+","+E/2+")rotate(-90)").style("text-anchor","middle")}u.append("g").attr("class","ygrid").call(a);if(!l.getMark()){u.selectAll(".yaxis").selectAll(".tick").selectAll("line").remove()}if(!(l.getShowGridLines()&&l.getShowTicks())){u.select(".yaxis").selectAll("line").style("visibility","hidden")}u.selectAll(".ygrid").selectAll(".tick").selectAll("text").remove();if(!l.getShowTicks()){u.selectAll(".tick").remove()}if(!l.getShowTickLabels()){u.selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();u.selectAll(".yaxis").selectAll(".tick").selectAll("text").remove()}u.selectAll(".tick").selectAll("line").attr("class","ygridline");var C;for(C=0;C<F;C++){r[C]=d3.svg.line().interpolate("linear").x(function(k){return p(k.date)}).y(function(k){return o(k.size[C])});v[C]=u.append("path").style("fill","none").style("stroke",l.colorArr[C]).attr("d",r[C](b)).attr("class","class"+C).attr("transform",function(){if(!D(b[0].name)){return"translate("+z/(b.length*2)+",0)"}});f[C]=u.selectAll(".xcirc"+C).data(b).enter().append("circle").attr("class","class"+C).attr("fill",l.colorArr[C]).attr("stroke",l.colorArr[C]).attr("cx",function(k){return p(k.date)}).attr("cy",function(k){return o(k.size[C])}).attr("r",function(k){return 2}).attr("ycol",C).attr("transform",function(){if(!D(b[0].name)){return"translate("+z/(b.length*2)+",0)"}}).on("mouseover",function(x,k){showToolTipl(g,x,F,this,H,l)}).on("mouseout",function(x,k){hideToolTip(g,x,k)}).on("click",function(x,k){clickStock(g,x,k,t,p,o,z,s,G,q,A,0,l,H)})}updateLegendll(g,t,B,p,o,z,s,G,1,A,clickStock,l,H);function n(){t[0].selectAll("defs").remove();t[0].append("defs").append("clipPath").attr("id","clip").append("rect").attr("width",z+4).attr("height",s+4);var y=d3.time.scale().range([0,z]);y=d3.time.scale().domain(d3.extent(b,function(O){return O.date})).range([0,z]);var L=d3.scale.linear().domain(o.domain()).range([0.2*s,0]);var K=t[0].append("g").attr("transform","translate(0,"+E*1.2+")");K.append("g").attr("class","ybrush").call(d3.svg.axis().scale(L).orient("left"));d3.selectAll(".ybrush").selectAll(".tick").remove();d3.selectAll(".ybrush").selectAll(".domain").style("stroke","white");K.append("g").attr("class","xbrush").call(d3.svg.axis().scale(y).orient("bottom")).attr("transform","translate(0,"+(0.2*s)+")").selectAll("text").attr("transform","rotate(-20)");d3.selectAll(".xbrush").selectAll(".domain").style("stroke","white");var M=new Array(F),x=new Array(F);for(var J=0;J<F;J++){M[J]=d3.svg.line().interpolate("linear").x(function(O){return y(O.date)}).y(function(O){return L(O.size[J])});x[J]=K.append("path").style("fill","none").style("stroke",l.colorArr[J]).attr("d",M[J](b)).attr("class","class"+J)}var k=d3.svg.brush().x(y).on("brush",N);K.append("g").call(k).selectAll("rect").attr("y",0).style("visibility",function(P,O){return(O<2?"visible":"hidden")}).style("fill",function(P,O){return(O<2?"grey":"none")}).attr("height",0.2*s).attr("fill-opacity",0.125);function N(){D=calcParseDate(b,D);var O=new Array();p.domain(k.empty()?y.domain():k.extent()).range([0,z]);O=b;for(J=0;J<F;J++){r[J]=d3.svg.line().interpolate("linear").x(function(P){return p(P.date)}).y(function(P){return o(P.size[J])});v[J].attr("d",r[J](O)).attr("clip-path",function(){return"url(#clip)"});f[J].data(O).attr("cx",function(P){return p(P.date)}).attr("cy",function(P){return o(P.size[J])}).attr("clip-path",function(){return"url(#clip)"})}u.select(".xaxis").call(m).selectAll("text").attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return l.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return l.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"})}}}function clickStock(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if(n.children){l[0].selectAll("g").remove();l[0].selectAll("path").remove();l[0].selectAll("circle").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();plotStock(r,l,n,q,p,b,s,t,e,f,m,a)}else{alert("No further dimensions.")}}function drawZoomTree(E,b,a,C,l,e,z,B,c,m){var u,t,k=1,s=z,o={top:24,right:0,bottom:0,left:0};var A=makeJsonFromArrayNew(E,e,z,B[0],c);makeParentsJson(A,0);resolveComputeMeasure(A,c.RD.General.Measures);d3.select("#"+b).html('<div class="myChart"><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var v=d3.scale.category20c();var q=findSvgArea(z,c,A,C,l+20,b);if(c.getShowLegend()){makeLegend(q,s,k,D,0,A,0,0,c)}var p=q[2]-24,r=q[3];var g=d3.scale.linear().domain([0,r]).range([0,r]);var f=d3.scale.linear().domain([0,p]).range([0,p]);D(k);function D(F){var K;var L;var M=d3.layout.treemap().children(function(R,Q){return Q?null:R._children}).sort(function(R,Q){return R.size[F-1]-Q.size[F-1]}).ratio(p/r*0.5*(1+Math.sqrt(5))).value(function(Q){return Q.size[F-1]}).round(false);d3.select(q[0][0][0]).attr("transform","translate("+o.left+","+o.top+")");var x=q[0].append("g").attr("class","grandparent");x.append("rect").attr("y",-o.top).attr("width",r).attr("height",o.top);x.append("text").attr("x",6).attr("y",6-o.top).attr("dy",".75em");K=A;G(K);P(K);H(K);console.log(K);I(K);if(window.parent!==window){var N=document.documentElement.scrollHeight||document.body.scrollHeight;window.parent.postMessage({height:N},"*")}function G(Q){Q.x=Q.y=0;Q.dx=r;Q.dy=p;Q.depth=0}function P(R){if(R.children){R._children=R.children;for(var Q=0;Q<R.children.length;Q++){P(R.children[Q])}}}function H(Q){if(Q._children){M.nodes({_children:Q._children});Q._children.forEach(function(R){R.x=Q.x+R.x*Q.dx;R.y=Q.y+R.y*Q.dy;R.dx*=Q.dx;R.dy*=Q.dy;R.parent=Q;H(R)})}}function I(V){x.datum(V.parent).on("click",U).select("text").text(n(V));var Q=q[0].insert("g",".grandparent").datum(V).attr("class","depth");var T=Q.selectAll("g").data(V._children).enter().append("g");T.filter(function(W){return W._children}).classed("children",true).on("click",U);var S=T.selectAll(".child").data(function(W){return W._children||[W]}).enter().append("g");S.append("rect").attr("class","child").call(J).on("mouseover",function(X,W){showToolTips(b,X,F,B)}).on("mouseout",function(X,W){hideToolTip(b,X,W)});S.append("text").attr("class","ctext").text(function(W){return W.name}).call(y);T.append("rect").attr("class","parent").call(J);var R=T.append("text").attr("class","ptext").attr("dy",".75em");R.append("tspan").text(function(W){return W.name});R.append("tspan").attr("dy","1.0em").text(function(W){return formatData(W.size[F-1],B[F-1],0)});R.call(O);T.selectAll("rect").style("fill",function(W){return v(W.name)});function U(Z){if(L||!Z){return}L=true;var W=I(Z),Y=Q.transition().duration(750),X=W.transition().duration(750);g.domain([Z.x,Z.x+Z.dx]);f.domain([Z.y,Z.y+Z.dy]);q[0].style("shape-rendering",null);q[0].selectAll(".depth").sort(function(ab,aa){return ab.depth-aa.depth});W.selectAll("text").style("fill-opacity",0);Y.selectAll(".ptext").call(O).style("fill-opacity",0);Y.selectAll(".ctext").call(y).style("fill-opacity",0);X.selectAll(".ptext").call(O).style("fill-opacity",1);X.selectAll(".ctext").call(y).style("fill-opacity",1);Y.selectAll("rect").call(J);X.selectAll("rect").call(J);Y.remove().each("end",function(){q[0].style("shape-rendering","crispEdges");L=false})}return T}function O(Q){Q.selectAll("tspan").attr("x",function(R){return g(R.x)+6});Q.attr("x",function(R){return g(R.x)+6}).attr("y",function(R){return f(R.y)+6}).style("opacity",function(R){return this.getComputedTextLength()<g(R.x+R.dx)-g(R.x)?1:0})}function y(Q){Q.attr("x",function(R){return g(R.x+R.dx)-this.getComputedTextLength()-6}).attr("y",function(R){return f(R.y+R.dy)-6}).style("opacity",function(R){return this.getComputedTextLength()<g(R.x+R.dx)-g(R.x)?1:0})}function J(Q){Q.attr("x",function(R){return g(R.x)}).attr("y",function(R){return f(R.y)}).attr("width",function(R){return g(R.x+R.dx)-g(R.x)}).attr("height",function(R){return f(R.y+R.dy)-f(R.y)})}function n(Q){return Q.parent?n(Q.parent)+" / "+Q.name+" ("+formatData(Q.size[F-1],B[F-1],0)+")":Q.name+" ("+formatData(Q.size[F-1],B[F-1],0)+")"}}}function drawWaterfallChart(b,e,c,C,o,g,z,B,f,p){var n=1,q={top:20,right:48,bottom:o/4,left:65},t,r,v=0;d3.select("#"+e).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var A=makeJsonFromArrayNew(b,g,z,B,f);makeParentsJson(A);resolveComputeMeasure(A,f.RD.General.Measures);applyShowHideMeasure(A,f);z=A.measName.length;var s=findSvgArea(z,f,A,C,o,e);r=s[2]-q.top-50;t=s[3]-q.left-30;var m=d3.scale.ordinal().rangeRoundBands([0,t]);var u=new Array(z);var l=new Array(z);for(v=0;v<z;v++){l[v]=d3.scale.linear().rangeRound([r,0]);u[v]=1}s[0].attr("transform","translate("+q.left+","+q.top+")");curNode=A;if(f.getShowLegend()){makeLegend(s,z,n,plotWaterFall,a,A,u,1,f)}function a(D,y,x,E){y[+D.id]=!y[+D.id];x[0].selectAll("path").remove();x[0].selectAll("g").remove();x[0].selectAll("circle").remove();x[0].selectAll("text").remove();x[0].selectAll("rect").remove();plotWaterFall(e,x,curNode,m,l,t,r,A,n,y,f,B)}plotWaterFall(e,s,A,m,l,t,r,A,n,u,f,B)}function plotWaterFall(l,A,F,q,p,C,z,L,s,E,m,M){var B=p.length,b=new Array();if(F.children.length>C/50){for(var G=0;G<Math.max(2,Math.floor(C/50));G++){b[G]=F.children[G]}}else{b=F.children}var G=0;A[0].append("rect").attr("width",C).attr("height",z).style("fill",m.getBgColor()).style("stroke",function(){return m.getdrawBorder()?"black":"none"}).style("opacity",0.4);var N;if(m.getShowTicks()&&m.getShowTickLabels()){N=findxtickspace(b,m)}else{N=0}var c=d3.scale.linear().rangeRound([z-N,0]);var e=0,g=0;g=d3.min(b,function(k){var a=0;for(G=0;G<B;G++){if(E[G]){a=a+ +k.size[G]}g=Math.min(g,a)}return Math.round(g)});e=d3.max(b,function(k){var a=0;for(G=0;G<B;G++){if(E[G]){a=a+ +k.size[G]}e=Math.max(e,a)}return Math.round(e)});if(e==0&&g==0){e=10}var D=getNticks(z,N);c.domain(getNewMinMax(g,e,D));tv=getTickValues(g,e,D);var o=d3.svg.axis().scale(q).orient("bottom");q.domain(b.map(function(a){return a.name}));var J=d3.scale.ordinal();J.domain(b).rangeRoundBands([0,q.rangeBand()]);var I=new Array(B),f=new Array(B),P=new Array(B),K=new Array(B);var H=d3.behavior.drag().origin(function(){var a=d3.select(this);return{x:a.attr("x"),y:a.attr("y")}}).on("drag",function(k,a){d3.select(this).attr("transform",function(r,n){return"translate("+[d3.event.x,d3.event.y]+")"})});A[0].append("g").attr("class","xaxiso").attr("transform","translate(0,"+c(0)+")").call(d3.svg.axis().scale(q).orient("bottom"));A[0].select(".xaxiso").selectAll(".tick").style("visibility","hidden");A[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+(z-N)+")").call(d3.svg.axis().scale(q).orient("bottom")).selectAll("text").text(function(a){a=a.replace("'","'");if(m.getxFrom()=="all"){return a}else{if(m.getxFrom()=="first"){return a.substr(0,m.getxLength())}else{return a.substr(a.length-Math.min(m.getxLength(),a.length),a.length)}}}).attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return m.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return m.getxPos()=="A"?"rotate(-65)":"rotate(0)"}).on("click",function(k,a){for(a=0;a<b.length;a++){if(k==b[a].name){k=b[a];break}}clickWaterFall(l,k,a,A,q,p,C,z,L,s,E,0,m,M)});A[0].select(".xaxis").selectAll(".tick").append("title").text(function(a){return a});if(!m.getMark()){A[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(m.getShowLabel()){A[0].append("text").attr("class","label").text(b[0].dimName).attr("transform","translate("+C/2+","+(z+lblPad)+")").style("text-anchor","middle")}var I=A[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(c).orient("left").tickFormat(function(a){return formatSmallScale(a,M[0])}).tickSize(-(C),0,0).tickValues(tv));if(!(m.getShowGridLines()&&m.getShowTicks())){A[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(m.getShowLabel()){var f=A[0].selectAll(".yaxis").append("g").append("text").attr("class","label").attr("transform","translate("+-54+","+(z-N)/2+")rotate(-90)").style("text-anchor","middle").text(L.measName.length>1?"Measures":L.measName[0])}if(!m.getShowTicks()){A[0].selectAll(".tick").remove()}if(!m.getShowTickLabels()){A[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();A[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove()}A[0].selectAll(".tick").selectAll("line").attr("class","ygridline");var v=A[0].append("g").selectAll("rect").data(b);var u=new Array();for(G=0;G<b.length;G++){u[G]=0}for(G=0;G<B;G++){if(E[G]){var O=0;v.enter().append("rect").attr("class","class"+G).attr("y",function(a){var k;if(a.size[G]<0){k=(c(0)-u[O])}else{k=(c((a.size[G]))-u[O])}O++;return k}).attr("x",function(a){O=0;return q(a.name)}).attr("height",0).attr("width",0).style("visibility","visible").attr("fill",m.colorArr[G]).on("click",function(k,a){clickWaterFall(l,k,a,A,q,p,C,z,L,s,E,0,m,M)}).on("mouseover",function(k,a){showToolTipl(l,k,B,this,M,m)}).on("mouseout",function(k,a){hideToolTip(l,k,a)}).transition().delay(function(k,a){return a*300}).duration(600).attr("height",function(a){u[O]=u[O]+(c(0)-c((a.size[G])));O++;return Math.abs(c(0)-c(a.size[G]))}).attr("transform",function(){return"translate("+(J.rangeBand()/(B+1)*G+J.rangeBand()/(2*(B+1)))+",0)"}).attr("width",J.rangeBand()/(B+1));if(m.getpointLabel()){O=0;v.enter().append("text").attr("class","class"+G).attr("y",function(a){var k;if(a.size[G]<0){k=(c(0)-u[O])}else{k=(c((a.size[G]))-u[O])}O++;return k}).attr("x",function(a){return q(a.name)}).text(function(a){return formatData(a.size[G],M[G],(m.getpointTooltip()=="A"?0:1))}).style("fill",m.colorArr[G]).attr("transform",function(){return"translate("+(J.rangeBand()/(B+1)*G+J.rangeBand()/(2*(B+1)))+",0)"})}}}updateLegendll(l,A,F,q,p,C,z,L,s,E,clickWaterFall,m,M)}function clickWaterFall(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if((o==0&&n.children)||(o==1&&n.children[0].children)){l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();if((o==1||curLogic=="next")&&n.children){curLogic="next";curNode=n}else{curNode=n.parent}plotWaterFall(r,l,curNode,q,p,b,s,t,e,f,m,a)}else{alert("No further dimensions.")}}function drawBulletChart(f,p,l,M,x,r,J,L,F,C,q){function g(P,S,U){var X="left",Y=false,V=1000,Q=t,W=k,O=v,R=380,Z=30,T=formatSmallScale;function N(aa){aa.each(function(ar,al){var at=Q.call(this,ar,al).slice().sort(d3.descending),ak=W.call(this,ar,al).slice().sort(d3.descending),ag=O.call(this,ar,al).slice().sort(d3.descending),ao=d3.select(this);var ap=d3.scale.linear().domain([0,Math.max(at[0],ak[0],ag[0])]).range(Y?[R,0]:[0,R]);var aq=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(ap.range());this.__chart__=ap;var ah=o(aq),af=o(ap);ao.attr("id",G).attr("transform","translate("+y.left+","+(y.top+45*G++)+")");ao.on("mouseover",function(){var au=this.id;showToolTips(p,U.children[au],S,P)}).on("mouseout",function(av,au){hideToolTip(p,av,au)}).on("click",function(av){for(var au=0;au<b.length;au++){if(av.title==b[au].name.replace("'","'")){U=b[au];break}}if(U.children){c(p,U,au,z,0,0,R,Z,K,S,0,0,q,P)}else{U=U.parent;alert("No further dimensions.")}});var ai=ao.selectAll("rect.range").data(at);ai.enter().append("svg:rect").attr("class",function(av,au){return"range s"+au}).attr("width",ah).attr("height",Z).attr("x",Y?aq:0).transition().duration(V).attr("width",af).attr("x",Y?ap:0);ai.transition().duration(V).attr("x",Y?ap:0).attr("width",af).attr("height",Z);var ac=ao.selectAll("rect.measure").data(ag);ac.enter().append("svg:rect").attr("class",function(av,au){return"measure s"+au}).attr("width",ah).attr("height",Z/3).attr("x",Y?aq:0).attr("y",Z/3).transition().duration(V).attr("width",af).attr("x",Y?ap:0);ac.transition().duration(V*2).attr("width",af).attr("height",Z/3).attr("x",Y?ap:0).attr("y",Z/3);ac.on("mouseover",function(av,au){var av=1}).on("mouseout",function(av,au){var av=1});var ae=ao.selectAll("line.marker").data(ak);ae.enter().append("svg:line").attr("class","marker").attr("x1",aq).attr("x2",aq).attr("y1",Z/6).attr("y2",Z*5/6).transition().duration(V).attr("x1",ap).attr("x2",ap);ae.transition().duration(V).attr("x1",ap).attr("x2",ap).attr("y1",Z/6).attr("y2",Z*5/6);var am=T||ap.tickFormat(8);var ab=Math.max(ar.markers[0],ar.measures[0]);tv=new Array(Math.max(Math.floor(R/50),2));for(j=0;j<tv.length;j++){tv[j]=j*ab/(tv.length-1)}var an=ao.selectAll("g.tick").data(tv);var aj=an.enter().append("svg:g").attr("class","tick").attr("transform",D(aq)).style("opacity",0.000001);aj.append("svg:line").attr("y1",Z).attr("y2",Z*7/6);aj.append("svg:text").attr("text-anchor","middle").attr("dy","1em").attr("y",Z*7/6).text(function(au){return am(au,P[0])});aj.transition().duration(V).attr("transform",D(ap)).style("opacity",1);var ad=an.transition().duration(V).attr("transform",D(ap)).style("opacity",1);ad.select("line").attr("y1",Z).attr("y2",Z*7/6);ad.select("text").attr("y",Z*7/6);an.exit().transition().duration(V).attr("transform",D(ap)).style("opacity",0.000001).remove()});d3.timer.flush()}N.orient=function(aa){if(!arguments.length){return X}X=aa;Y=X=="right"||X=="bottom";return N};N.ranges=function(aa){if(!arguments.length){return Q}Q=aa;return N};N.markers=function(aa){if(!arguments.length){return W}W=aa;return N};N.measures=function(aa){if(!arguments.length){return O}O=aa;return N};N.width=function(aa){if(!arguments.length){return R}R=aa;return N};N.height=function(aa){if(!arguments.length){return Z}Z=aa;return N};N.tickFormat=function(aa){if(!arguments.length){return T}T=aa;return N};N.duration=function(aa){if(!arguments.length){return V}V=aa;return N};return N}function t(N){return N.ranges}function k(N){return N.markers}function v(N){return N.measures}function D(N){return function(O){return"translate("+N(O)+",0)"}}function o(N){var O=N(0);return function(P){return Math.abs(N(P)-O)}}var B=M,A=50,y={top:10,right:30,bottom:20,left:60},I=f,m=25,n=75;var K=makeJsonFromArrayNew(f,r,J,L,q);makeParentsJson(K);resolveComputeMeasure(K,q.RD.General.Measures);var a=I[0],u=1,H=K,b=H.children;var e=[];function s(Q){b=H.children;e=[];for(var N=0;N<Math.min(Math.floor(z[2]/45),b.length);N++){if(typeof b[N].size[Q]=="undefined"){break}var U={};U.title=b[N].name.replace("'","'");var T=+b[N].size[Q-1];var P=+b[N].size[Q];var S=(P*m/100);var R=(P*n/100);var O=[S,R,P];U.ranges=O;U.measures=[T];U.markers=[P];e.push(U)}}d3.select("#"+p).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var z=findSvgArea(J,q,K,M,x,p);z[0].attr("transform","translate(0,"+y.top+")");if(q.getShowLegend()){makeLegend(z,J,u,E,0,K,0,0,q)}var G;E(u);function E(O){G=0;z[0].selectAll("g").remove();s(O,H);b=H.children;if(q.getxFrom()=="all"){y.left=d3.max(e,function(R){return R.title.length})*5+30}else{y.left=q.getxLength()*5+30}var N=g(L,O,H).width(z[3]-y.right-y.left).height(A-y.top-y.bottom);var Q=z[0].selectAll("bullet").data(e).enter().append("g").attr("class","bullet").append("g").call(N).append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(N.height()/2+5)+")");N.width(z[3]-y.right);var P="S";if(q.RD&&q.RD.Axes&&q.RD.Axes.xPos){P=q.RD.Axes.xPos}Q.append("text").attr("class","title").text(function(R){if(q.getxFrom()=="all"){return R.title}else{if(q.getxFrom()=="first"){return R.title.substr(0,q.getxLength())}else{return R.title.substr(R.title.length-q.getxLength(),R.title.length)}}}).attr("transform",function(){return P=="A"?"rotate("+(-25)+")":"rotate(0)"});updateLegendll(p,z,H,0,0,B,A,K,O,0,c,q,L)}function c(Y,U,R,S,X,W,O,Z,aa,P,Q,V,T,N){H=U;E(P)}}function drawCalendar(S,u,E,N,G,b,V,K,L,C){var M=1;var T=makeJsonFromArrayNew(S,b,V,K,L),I,F=d3.time.format("%w"),f=d3.time.format("%U"),z=d3.time.format("%d"),e=d3.time.format("%b"),n=d3.time.format("%y"),q=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=d3.time.format("%y-%b-%d").parse;d3.select("#"+u).html('<div class="myChart"><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var l=d3.select("#"+u).select(".myChart").append("svg:svg").attr("class","mainsvg").attr("width",w=N).attr("height",h=G);var x=75,v=Math.min(Math.min(N-x,(G-20-x)/10.5),25);var m=new Array(7),k=new Array(7),B=new Array(7),Y=new Array(),X=new Array(),R=0,A,o;I=T.children;while(I){g=calcParseDate(I,g);I.sort(function(r,p){return g(r.name)-g(p.name)});var D=I[I.length-1].name,aa=g(D);if(aa){aa.setDate(aa.getDate()+1);break}else{I=I[0].children}}if(I){I.push(aa)}else{d3.select("#"+u).select(".myChart").html("<center>Inappropriate data for calendar plot. </center>");return}var Q=1,U=0,H=0,O=0,a,c,Z=new Array(),W=new Array();if(L.getShowLegend()){a=0;for(H=0;Math.floor(H)<=(V-V/Q);H=H+V/Q){O=0;var P=0;for(i=Math.ceil(H);i<(H+V/Q);i++){Z[i]=l.append("rect").attr("class","callegend").attr("fill",function(){return"black"}).attr("id",i).attr("x",function(){return O+12*P+5}).attr("y",10+U*15).attr("width",10).attr("height",10).attr("visibility","visible").on("click",function(){M=+this.id+1;J(M)});if(L.getShowLabels()){W[i]=l.append("text").attr("class","callegend").attr("id",i).attr("x",(11)*(P+1)+O+2+5).style("text-anchor","start").text(T.measName[i]).attr("y",function(){O=O+this.getComputedTextLength()+4;return 18+U*15}).on("click",function(){M=+this.id+1;J(M)})}if(a<=O+6+(12)*P){a=O+6+(12)*(P+1)}P++}U++}c=(U+1)*15;l.append("rect").attr("class","callegend").attr("width",a).attr("height",c).style("stroke","#DDDDDD").style("fill","none")}function J(p){l.selectAll(".callegend").attr("fill-opacity",0.5);Z[p-1].attr("fill-opacity",1);if(L.getShowLabels()){W[p-1].attr("fill-opacity",1)}y(p)}l.selectAll(".callegend").attr("fill-opacity",0.5);Z[M-1].attr("fill-opacity",1);if(L.getShowLabels()){W[M-1].attr("fill-opacity",1)}y(M);function y(am){l.selectAll("g").remove();I.forEach(function(ax){if(ax.name){ax.date=g(ax.name)}else{ax.date=ax;ax.size=new Array(V);ax.size[am-1]=0}});for(var at=I.length-1;at>=0;at--){if(I[at].date.getFullYear()<1000){I.splice(at,1)}}if(d3.time.years(I[0].date,I[I.length-1].date).length>5){d3.select("#"+u).select(".myChart").html("<center>You are trying to plot "+d3.time.years(I[0].date,I[I.length-1].date).length+" years calendar, which is not supported.<br> Maximum five years data is supperted. </center>");return}var ak,at=0,ae=d3.max(I,function(ax){return Math.abs(+ax.size[am-1])}),ab=d3.min(I,function(ax){return +ax.size[am-1]}),aj=d3.max(I,function(ax){return(+ax.size[am-1])}),r=ab;var aq=d3.scale.quantize().domain(d3.range(r,aj,(aj-r)/11)).range(d3.range(11).map(function(ax){return"q"+ax+"-11"}));for(at=0;at<7;at++){B[at]=0;m[at]=0}var s=l.append("g").attr("class","RdYlGn").attr("transform","translate("+100+","+x+")").selectAll(".day").data(function(){return d3.time.days(I[0].date,I[I.length-1].date)}).enter();s.append("rect").attr("class","day").attr("width",v).attr("height",v).attr("value",function(ay,ax){if(ay==I[R].date.toString()){R++;return I[R-1].size[am-1]}else{return 0}}).attr("x",function(ax){R=0;if(n(I[0].date)==n(ax)){return ak=(f(ax)-f(I[0].date))*v}else{return ak+f(ax)*v+v}}).attr("y",function(ay,ax){if(ay==I[R].date.toString()){m[F(ay)]=m[F(ay)]+ +I[R].size[am-1];R++;B[F(ay)]++}return F(ay)*v});R=0;l.selectAll(".day").attr("class",function(ay,ax){if(ay==I[R].date.toString()){R++;return"day "+aq(+(I[R-1].size[am-1]))}else{d3.select(this).attr("fill","white");return"day "}}).attr("visibility","visible").attr("stroke","black");R=0;l.selectAll(".day").append("title").text(function(ay,ax){if(ay==I[R].date.toString()){R++;return I[R-1].name+"; "+I[R-1].measName[am-1]+":"+formatData(I[R-1].size[am-1],K[am-1],0)}else{return"No Data on "+ay}});R=0;s.append("text").text(function(ay,ax){return z(ay)}).attr("x",function(ax){if(n(I[0].date)==n(ax)){return ak=(f(ax)-f(I[0].date))*v+v/2-5}else{return ak+f(ax)*v+v+v/2-5}}).attr("y",function(ax){return F(ax)*v+v/2+5}).style("opacity",0.4).append("title").text(function(ay,ax){if(ay==I[R].date.toString()){R++;return I[R-1].name+"; "+I[R-1].measName[am-1]+":"+formatData(I[R-1].size[am-1],K[am-1],0)}else{return"No Data on "+ay}});for(at=0;at<7;at++){if(B[at]==0){k[at]=0}else{k[at]=m[at]/B[at]}}A=d3.max(k,function(ax){return Math.abs(ax)});var t=l.append("g").selectAll(".rowPlot").data(m).enter();t.append("rect").attr("class","rowPlot").attr("y",function(ay,ax){return x+v*ax}).attr("x",function(ay,ax){return x*0.85-Math.abs(v*k[ax]/A)}).attr("width",function(ay,ax){return Math.abs(v*k[ax]/A)}).attr("height",v-2).attr("fill",function(ay,ax){return ay<0?"#a50026":"gainsboro"});t.append("text").attr("class","rowPlot").text(function(ay,ax){return(k[ax]/A).toFixed(2)}).attr("x",x*0.2).attr("y",function(ay,ax){return x+v/2+v*ax});t.append("text").attr("class","rowPlot").text(function(ay,ax){return q[ax]}).attr("x",x*0.9).attr("y",function(ay,ax){return x+v/2+v*ax});var ah=f(I[0].date),ar=0,av=0;var ac=d3.time.days(I[0].date,I[I.length-1].date);R=0;Y[0]=0;for(at=0;at<ac.length;at++){if(ac[at]==I[R].date.toString()){if(ah==f(I[R].date)){av++;Y[ar]=+I[R].size[am-1]+Y[ar]}else{if(av){X[ar]=Y[ar]/av}else{X[ar]=0}av=1;ar++;ah++;if(f(I[R].date)==0){ah=0}Y[ar]=+I[R].size[am-1]}R++}else{if(!(ah==f(ac[at]))){if(av){X[ar]=Y[ar]/av}else{X[ar]=0}av=0;ar++;ah++;if(f(ac[at])==0){ah=0}Y[ar]=0}}}X[ar]=Y[ar]/av;o=d3.max(X,function(ax){return Math.abs(ax)});var af=l.append("g").selectAll(".colPlot").data(Y).enter();af.append("rect").attr("class","colPlot").attr("y",function(ay,ax){return x*0.65-Math.abs(v*X[ax]/o)}).attr("x",function(ay,ax){return 100+v*(ax)}).attr("width",v-2).attr("height",function(ay,ax){return Math.abs(v*X[ax]/o)}).attr("fill",function(ay,ax){return ay<0?"#a50026":"gainsboro"});af.append("text").attr("class","colPlot").text(function(ay,ax){return(X[ax]/o).toFixed(2)}).attr("x",20).attr("y",function(ay,ax){return +v*ax}).attr("transform",function(){return"translate("+110+","+x*0.65+")rotate(-90)"});var ap=l.selectAll(".month").data(function(){return d3.time.months(I[0].date,I[I.length-1].date)}).enter().append("g");ap.append("path").attr("class","month").attr("d",p).attr("stroke","white");ap.append("text").text(function(ay,ax){return e(ay)+n(ay)}).attr("x",function(ay,ax){return 100+v*4.25*(ax+1)}).attr("y",x*0.9);l.selectAll(".month").attr("transform","translate("+100+","+x+")");var aw=Math.round(v*9);var al=d3.scale.linear().range([0,aw]).domain([0,100]);l.append("g").attr("class","slide").call(d3.svg.axis().scale(al).orient("bottom").ticks(5)).attr("transform","translate("+x+","+(x+30+v+v*7)+")");l.select(".slide").select(".domain").style("stroke","black");var an=l.append("g").append("defs").append("linearGradient").attr("id",u+"Mygradient");an.append("stop").attr("offset","0%").attr("stop-color","rgb(165,0,38)");an.append("stop").attr("offset","50%").attr("stop-color","rgb(255,255,191)");an.append("stop").attr("offset","100%").attr("stop-color","rgb(0,104,55)");var ao=l.append("g").attr("class","collegend");ao.append("rect").attr("x",x).attr("y",x+20+v*7).attr("width",aw).attr("height",v).attr("fill",function(){return"url(#"+u+"Mygradient)"});ad();function ad(){l.selectAll(".ColLegtext").remove();ao.append("text").text(formatData(r,K[am-1],1)).attr("class","ColLegtext").attr("x",x+2).attr("y",x+20+v/2+5+v*7).style("fill","white");ao.append("text").text(T.measName[am-1]).attr("class","ColLegtext").attr("x",x+aw/2).attr("y",x+20+v/2+2+v*7).attr("text-anchor","middle");ao.append("text").text(formatData(aj,K[am-1],1)).attr("class","ColLegtext").attr("x",x+aw-2).attr("y",x+20+v/2+2+v*7).style("fill","white").attr("text-anchor","end")}var au=d3.behavior.drag().origin(function(){var ax=d3.select(this);return{x:ax.attr("x"),y:ax.attr("y")}}).on("drag",function(ay,ax){d3.select(this).attr("transform",function(aA,az){if(this.id==1){d3.select(this).attr("x",Math.max(0,Math.min(d3.event.x,+l.selectAll("circle")[0][1].attributes[1].value+aw)));return"translate("+[Math.max(0,Math.min(d3.event.x,+l.selectAll("circle")[0][1].attributes[1].value+aw)),0]+")"}else{d3.select(this).attr("x",Math.min(0,Math.max(d3.event.x,+l.selectAll("circle")[0][0].attributes[1].value-aw)));return"translate("+[Math.min(0,Math.max(d3.event.x,+l.selectAll("circle")[0][0].attributes[1].value-aw)),0]+")"}})}).on("dragend",function(aB,ay){var aA=d3.scale.linear().domain([0,100]).range([ab,d3.max(I,function(aC){return(+aC.size[am-1])})]);r=+aA(al.invert(+l.selectAll("circle")[0][0].attributes[1].value)).toFixed(2);aj=+aA(al.invert(+l.selectAll("circle")[0][1].attributes[1].value+aw)).toFixed(2);var az=new Array();var ax=0;for(var ay=0;ay<I.length-1;ay++){if(+I[ay].size[am-1]>=r&&+I[ay].size[am-1]<=aj){az[ax++]=I[ay]}}aq.domain(d3.range(r,aj,(aj-r)/11));R=0;l.selectAll(".day").attr("class",function(aD,aC){if(aD==I[R].date.toString()){R++;if(+I[R-1].size[am-1]>=r&&+I[R-1].size[am-1]<=aj){return"day "+aq(+(I[R-1].size[am-1]))}else{if(+I[R-1].size[am-1]<=r){return"day "+aq(r)}else{return"day "+aq(aj)}}}else{d3.select(this).style("fill","white");return"day "}});ad()});ao.append("circle").attr("cx",x).attr("x",0).attr("cy",(x+30+v*8)).attr("r",5).attr("id",1).attr("fill","rgb(165,0,38)").attr("stroke","black").call(au).on("mouseover",function(){var ax=d3.select("#"+u).select(".myChart").select(".tipsy");ax.html('<div class="tipsy-inner">'+al.invert(+l.selectAll("circle")[0][0].attributes[1].value).toFixed(2)+"%</div>");ax.style("display","block").style("visibility","visible").style("left",d3.event.pageX+"px").style("top",d3.event.pageY+"px")}).on("mouseout",function(ay,ax){hideToolTip(u,ay,ax)});ao.append("circle").attr("cx",x+aw).attr("x",0).attr("cy",(x+30+v*8)).attr("r",5).attr("id",2).attr("fill","rgb(0,104,55)").attr("stroke","black").call(au).on("mouseover",function(){var ax=d3.select("#"+u).select(".myChart").select(".tipsy");ax.html('<div class="tipsy-inner">'+al.invert(+l.selectAll("circle")[0][1].attributes[1].value+aw).toFixed(2)+"%</div>");ax.style("display","block").style("visibility","visible").style("left",d3.event.pageX+"px").style("top",d3.event.pageY+"px")}).on("mouseout",function(ay,ax){hideToolTip(u,ay,ax)});l.selectAll(".callegend").attr("transform",function(){return"translate("+(aw+x+30)+","+(x+20+v*7)+")"});d3.select("#"+u).style("overflow-x","auto").style("overflow-y","hidden").select(".mainsvg").attr("width",function(){var ax=Math.max(v*X.length+100,x+aw+a+30);return ax>N-20?ax+20:N-20});var ai,ag;function p(az){var ax=new Date(az.getFullYear(),az.getMonth()+1,0),aA=+F(az),ay=+F(ax);if(n(I[0].date)==n(az)||n(I[0].date)==n(ax)){w0=+f(az)-f(I[0].date);w1=+f(ax)-f(I[0].date);ag=w1+1}else{w0=+f(az)+ag;w1=+f(ax)+ag}return"M"+(w0+1)*v+","+aA*v+"H"+w0*v+"V"+7*v+"H"+w1*v+"V"+(ay+1)*v+"H"+(w1+1)*v+"V"+0+"H"+(w0+1)*v+"Z"}}}function drawDonutChart(C,c,b,A,l,f,x,z,s,p,e){var g=1,r=A-20,o=l-45,a=Math.min(r,o)/2-5,q=x,u=new Array(x);var t=d3.scale.ordinal().range(["#98abc5","#8a89a6","#7b6888","#6b486b","#a05d56","#d0743c","#ff8c00"]);for(var v=0;v<x;v++){u[v]=1}var y=makeJsonFromArrayNew(C,f,x,z[0],e);makeParentsJson(y,g);resolveComputeMeasure(y,e.RD.General.Measures);d3.select("#"+c).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"></div></div>');d3.selectAll(".tipsy").style("display","none");var m=findSvgArea(x,e,y,A,l,c),a=Math.min(m[2],m[3])/2;m[0].attr("transform","translate("+m[3]/2+","+m[2]/2+")");curNode=y;if(e.getShowLegend()){makeLegend(m,x,g,"",B,y,u,1,e)}plotDonutChart(c,m[0],y,a,y,g,q,e,z,u);function B(F,E,D,G){E[+F.id]=!E[+F.id];D[0].selectAll("path").remove();D[0].selectAll("g").remove();D[0].selectAll(".arc").remove();D[0].selectAll("text").remove();plotDonutChart(c,D[0],curNode,a,y,g,G,e,z,E)}}function plotDonutChart(c,t,D,b,H,q,z,f,I,B){var a=D.children;if(a.length>12){a.slice(0,12)}var o=d3.scale.linear().range([0,2*Math.PI]),m=d3.scale.pow().exponent(1.3).domain([0,1]).range([0,b]),l=new Array(z),v=new Array(z),r=new Array(z),E=0,u=0,e,s=new Array(z),F=new Array(z);var A=0;for(var C=0;C<B.length;C++){if(B[C]){A++}}rad=b/A>25?b/A-2:25;for(E=0;E<z;E++){if(!B[E]){continue}e=(rad)*(u+1);if(e<=b){s[E]=d3.layout.pie().sort(null).value(function(g){return +g.size[E]});l[E]=d3.svg.arc().outerRadius(function(){return e}).innerRadius(function(){return(rad)*u+(E==0?10:5)});F[E]=t.selectAll(".arc").data(s[E](a)).enter().append("g").attr("class","arc"+E);v[E]=F[E].append("path").attr("d",l[E]).attr("id",E).style("fill","white").style("stroke","white").on("click",function(k,g){clickDonut(c,k,g,t,0,0,0,b,H,q,B,0,f,I)}).on("mouseover",function(k,g){showToolTips(c,k.data,+this.id+1,I)}).on("mouseout",function(k,g){hideToolTip(c,k,g)}).transition().delay(function(k,g){return g*100}).duration(300).style("fill",function(k,g){return f.colorArr[g%20]});r[E]=F[E].append("text").attr("dy",".35em").style("text-anchor","middle").style("visibility",function(g){g.data.name.replace("'","'");return g.data.name.length<(g.endAngle-g.startAngle)*b*(u+1)/50?"visible":g.data.name.length>(b-b*(A-u+1)/5.75-b/10-b*(u+2)/5.75)/3.4?"hidden":"visible"}).on("click",function(k,g){clickDonut(c,k,g,t,0,0,0,b,H,q,B,0,f,I)}).transition().delay(function(k,g){return g*100}).duration(300).attr("transform",function(g){return"translate("+l[E].centroid(g)+")rotate("+G(g)+")"}).text(function(k,g){return k.data.name.replace("'","'")});u++}}if(f.getShowLabel()){t.append("text").attr("class","label").text(a[0].dimName).attr("transform","translate("+(b+lblPad)+","+0+")").style("text-anchor","middle")}function G(k){var g=(k.startAngle+k.endAngle)*90/Math.PI-90;return k.data.name.length<(k.endAngle-k.startAngle)*b*(E+1)/38?((g>0)&&(g<180)?g-90:g+90):(g>90?g-180:g)}updateLegendll(c,t,D,0,0,b,b,H,q,B,clickDonut,f,I)}var curLogic="next";function clickDonut(t,o,g,l,s,q,a,m,u,e,f,p,n,b){if((p==0&&((o.data)?o.data:o).children)||(p==1&&((o.data)?o.data:o).children[0].children)){l.selectAll(".arc").remove();l.selectAll("path").remove();l.selectAll("g").remove();l.selectAll("text").remove();if(p==1||(curLogic=="next"&&(o.children||o.data.children))){curLogic="next";curNode=(o.data)?o.data:o}else{curNode=o.data.parent}plotDonutChart(t,l,curNode,m,u,e,f.length,n,b,f)}else{alert("No further dimensions.")}}function drawColumnChart(a,c,b,D,o,f,A,C,u,s,e){var p={top:20,right:A*45,bottom:o/4,left:65},t,r,z=0,n=1,B=makeJsonFromArrayNew(a,f,A,C,e);makeParentsJson(B);resolveComputeMeasure(B,e.RD.General.Measures);applyShowHideMeasure(B,e);A=B.measName.length;d3.select("#"+c).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var q=findSvgArea(A,e,B,D,o,c);r=q[2]-p.top-50;t=e.getMultiAxes()?q[3]-p.left-p.right:q[3]-p.left-30;q[0].attr("transform","translate("+p.left+","+p.top+")");var m=d3.scale.ordinal().rangeRoundBands([0,t]),v=new Array(A),l=new Array(A);for(z=0;z<A;z++){l[z]=d3.scale.linear().rangeRound([r,0]);v[z]=1}curNode=B;if(e.getShowLegend()){if(e.getMultiAxes()){makeLegend(q,A,n,0,clickRectL,B,v,1,e)}else{makeLegend(q,A,n,plotColumn,g,B,v,1,e)}}function g(E,y,x,F){y[+E.id]=!y[+E.id];x[0].selectAll("path").remove();x[0].selectAll("g").remove();x[0].selectAll("circle").remove();x[0].selectAll("text").remove();x[0].selectAll("rect").remove();plotColumn(c,x,curNode,m,l,t,r,B,n,y,e,C)}plotColumn(c,q,B,m,l,t,r,B,n,v,e,C)}function plotColumn(g,u,C,o,m,z,t,F,p,B,l,G){var b,a=new Array(),H,I,A,c,f,D=0,v=m.length;if(C.children.length>z/G_MIN_BAR_WIDTH){for(var D=0;D<Math.max(2,Math.floor(z/G_MIN_BAR_WIDTH));D++){a[D]=C.children[D]}}else{a=C.children}if(l.getShowTicks()&&l.getShowTickLabels()){H=findxtickspace(a,l)}else{H=0}A=getNticks(t,H);u[0].append("rect").attr("width",z).attr("height",t-H).style("fill",l.getBgColor()).style("z-index","1").style("stroke",function(){return l.getdrawBorder()?"#DDDDDD":"none"});for(D=0;D<v;D++){var s=d3.extent(a,function(k){return +k.size[D]});if(s[0]>0){s[0]=0}s=getNewMinMax(s[0],s[1],A);m[D].domain(s).rangeRound([t-H,0])}o.domain(a.map(function(k){return k.name}));var E=new Array(v),e=new Array(v);u[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+(t-H)+")").call(d3.svg.axis().scale(o).orient("bottom")).selectAll("text").text(function(k){k=k.replace("'","'");if(l.getxFrom()=="all"){return k}else{if(l.getxFrom()=="first"){return k.substr(0,l.getxLength())}else{return k.substr(k.length-l.getxLength(),k.length)}}}).on("click",function(n,k){for(k=0;k<a.length;k++){if(n==a[k].name){n=a[k];break}}clickColumn(g,n,k,u,o,m,z,t,F,p,B,0,l,G)}).attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return l.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return l.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"});u[0].select(".xaxis").selectAll(".tick").append("title").text(function(k){return k});if(!l.getMark()){u[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(l.getShowLabel()){u[0].append("text").attr("class","label").text(a[0].dimName).attr("transform","translate("+z/2+","+(t+lblPad)+")").attr("class","label").style("text-anchor","middle")}if(l.getMultiAxes()){I=getTickValues(m[0].domain()[0],m[0].domain()[1],A);E[0]=u[0].append("g").attr("class","class0").style("fill",l.colorArr[0]).call(d3.svg.axis().scale(m[0]).orient("left").tickFormat(function(k){return formatSmallScale(k,G[0])}).tickValues(I));u[0].select(".class0").select(".domain").style("stroke",l.colorArr[0]);u[0].append("g").attr("class","ygrid").call(d3.svg.axis().scale(m[0]).orient("left").tickValues(I).tickSize(-(z),0,0));if(!(l.getShowGridLines()&&l.getShowTicks())){u[0].select(".ygrid").selectAll("line").style("visibility","hidden")}u[0].selectAll(".ygrid").selectAll(".tick").selectAll("text").remove();if(l.getShowLabel()){e[0]=u[0].selectAll(".class0").append("g").append("text").attr("transform","translate("+-54+","+(t-H)/2+")rotate(-90)").style("text-anchor","middle").attr("class","label").text(F.measName[0])}for(D=1;D<v;D++){I=getTickValues(m[D].domain()[0],m[D].domain()[1],A);E[D]=u[0].append("g").attr("class","class"+D).attr("transform","translate("+(z+60*(D-1))+",0)").style("fill",l.colorArr[D%20]).call(d3.svg.axis().scale(m[D]).orient("right").tickFormat(function(k){return formatSmallScale(k,G[D])}).tickValues(I));u[0].select(".class"+D).select(".domain").style("stroke",l.colorArr[D%20]);if(!l.getMark()){u[0].selectAll(".class"+D).selectAll(".tick").selectAll("line").remove()}if(l.getShowLabel()){e[D]=u[0].select(".class"+D).append("g").append("text").attr("transform","translate("+50+","+(t-H)/2+")rotate(90)").style("text-anchor","middle").attr("class","label").text(F.measName[D])}}}else{var f=d3.min(a,function(n){var k=0;for(D=0;D<v;D++){if(B[D]){if(Math.min(n.size[D])<k){k=Math.min(n.size[D])}}}return k});var c=d3.max(a,function(n){var k=0;for(D=0;D<v;D++){if(B[D]){if(Math.max(n.size[D])>k){k=Math.max(n.size[D])}}}return k});b=d3.scale.linear().rangeRound([t-H,0]);b.domain(getNewMinMax(f,c,A));I=getTickValues(f,c,A);var E=u[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(b).orient("left").tickSize(-(z),0,0).tickFormat(function(k){return formatSmallScale(k,G[0])}).tickValues(I));if(!(l.getShowGridLines()&&l.getShowTicks())){u[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(l.getShowLabel()){var e=u[0].selectAll(".yaxis").append("g").append("text").attr("transform","translate("+-54+","+(t-H)/2+")rotate(-90)").style("text-anchor","middle").attr("class","label").text(F.measName.length>1?"Measures":F.measName[0])}}if(!l.getShowTicks()){u[0].selectAll(".tick").remove()}if(!l.getShowTickLabels()){u[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();u[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove();for(D=0;D<v;D++){u[0].selectAll(".class"+D).selectAll(".tick").selectAll("text").remove()}}u[0].selectAll(".tick").selectAll("line").attr("class","ygridline");var q=u[0].append("g").selectAll("rect").data(a);for(D=0;D<v;D++){if(B[D]){q.enter().append("rect").attr("class","class"+D).style("visibility","visible").attr("fill",l.colorArr[D]).on("click",function(n,k){clickColumn(g,n,k,u,o,m,z,t,F,p,B,0,l,G)}).on("mouseover",function(n,k){showToolTipl(g,n,v,this,G,l)}).on("mouseout",function(n,k){hideToolTip(g,n,k)}).attr("y",function(k){return(l.getMultiAxes())?m[D](Math.max(0,k.size[D])):b(Math.max(0,k.size[D]))}).attr("x",function(k){return o(k.name)}).transition().delay(function(n,k){return k*300}).duration(600).attr("width",Math.min((o.rangeBand()/(v+1.5)),40)).attr("height",function(k){return Math.max((l.getMultiAxes())?Math.abs(m[D](k.size[D])-m[D](0)):Math.abs(b(k.size[D])-b(0)),1)}).attr("transform",function(){if(o.rangeBand()/(v+1.5)<40){return"translate("+((o.rangeBand()/(v+1))*(D+0.5))+",0)"}else{return"translate("+(o.rangeBand()/2-40*v/2+D*42)+",0)"}});if(l.getpointLabel()){q.enter().append("text").attr("class","class"+D).attr("x",function(k){return o(k.name)}).attr("y",function(k){return((l.getMultiAxes())?m[D](Math.max(0,k.size[D])):b(Math.max(0,k.size[D])))-10}).text(function(k){return formatData(k.size[D],G[D],(l.getpointTooltip()=="A"?0:1))}).style("fill",l.colorArr[D]).attr("transform",function(){if(o.rangeBand()/(v+1.5)<40){return"translate("+((o.rangeBand()/(v+1))*(D+0.5))+",0)"}else{return"translate("+(o.rangeBand()/2-40*v/2+D*42)+",0)"}})}}}updateLegendll(g,u,C,o,m,z,t,F,p,B,clickColumn,l,G)}function clickColumn(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if((o==0&&n.children)||(o==1&&n.children[0].children)){l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();if((o==1||curLogic=="next")&&n.children){curLogic="next";curNode=n}else{curNode=n.parent}plotColumn(r,l,curNode,q,p,b,s,t,e,f,m,a)}else{alert("No further dimensions.")}}function drawLineChart(a,e,c,F,o,g,C,E,v,t,f,p){var q={top:20,right:C*48,bottom:o/4,left:65},u,s,n=1;var D=makeJsonFromArrayNew(a,g,C,E,f);makeParentsJson(D);resolveComputeMeasure(D,f.RD.General.Measures);applyShowHideMeasure(D,f);C=D.measName.length;d3.select("#"+e).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var r=findSvgArea(C,f,D,F,o,e);s=r[2]-q.top-50;u=f.getMultiAxes()?r[3]-q.left-q.right:r[3]-q.left-30;var m=d3.scale.ordinal().rangeRoundBands([0,u]),l=new Array(C),z=new Array(C),B=0;for(B=0;B<C;B++){l[B]=d3.scale.linear().rangeRound([s,0]);z[B]=1}r[0].attr("transform","translate("+q.left+","+q.top+")");r[0].append("defs").append("filter").attr("id","blur").append("feGaussianBlur").attr("stdDeviation",1);var A=D;if(f.getShowLegend()){if(f.getMultiAxes()){makeLegend(r,C,n,0,clickRectL,D,z,1,f)}else{makeLegend(r,C,n,plotMultiLineChart,b,D,z,1,f)}}function b(G,y,x,H){y[+G.id]=!y[+G.id];x[0].selectAll("path").remove();x[0].selectAll("g").remove();x[0].selectAll("circle").remove();x[0].selectAll("text").remove();x[0].selectAll("rect").remove();plotMultiLineChart(e,x,A,m,l,u,s,D,n,y,f,E)}plotMultiLineChart(e,r,A,m,l,u,s,D,n,z,f,E)}function plotMultiLineChart(o,C,J,r,q,F,B,M,s,I,p,N){var b=new Array();if(J.children.length>F/G_MIN_LINE_WIDTH){for(var K=0;K<Math.max(2,Math.floor(F/G_MIN_LINE_WIDTH));K++){b[K]=J.children[K]}}else{b=J.children}var K=0,E=q.length,O,P,H,e,c;if(p.getShowTicks()&&p.getShowTickLabels()){O=findxtickspace(b,p)}else{O=0}H=getNticks(B,O);var g=d3.min(b,function(l){var k=0;for(K=0;K<E;K++){if(I[K]){if(Math.min(l.size[K])<k){k=Math.min(l.size[K])}}}return k});var e=d3.max(b,function(l){var k=0;for(K=0;K<E;K++){if(I[K]){if(Math.max(l.size[K])>k){k=Math.max(l.size[K])}}}return k});c=d3.scale.linear().rangeRound([B-O,0]).domain(getNewMinMax(g,e,H));var u=new Array(E),D=new Array(E),z=new Array(E),L=new Array(E),f=new Array(E);r.domain(b.map(function(k){return k.name}));for(K=0;K<E;K++){if(!I[K]){continue}var A=d3.extent(b,function(k){return +k.size[K]});if(A[0]>0){A[0]=0}A=getNewMinMax(A[0],A[1],H);q[K].domain(A).rangeRound([B-O,0])}C[0].append("rect").attr("width",F).attr("height",B-O).style("fill",p.getBgColor()).style("stroke",function(){return p.getdrawBorder()?"black":"none"}).style("opacity",0.4);C[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+(B-O)+")").call(d3.svg.axis().scale(r).orient("bottom")).selectAll("text").text(function(k){k=k.replace("'","'");if(p.getxFrom()=="all"){return k}else{if(p.getxFrom()=="first"){return k.substr(0,p.getxLength())}else{return k.substr(k.length-p.getxLength(),k.length)}}}).on("click",function(l,k){for(k=0;k<b.length;k++){if(l==b[k].name){l=b[k];break}}clickMultiLine(o,l,k,C,r,q,F,B,M,s,I,0,p,N)}).attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return p.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return p.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"});C[0].select(".xaxis").selectAll(".tick").append("title").text(function(k){return k});if(!p.getMark()){C[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(p.getShowLabel()){C[0].append("text").attr("class","label").text(b[0].dimName).attr("transform","translate("+F/2+","+(B+lblPad)+")").style("text-anchor","middle")}if(p.getMultiAxes()){P=getTickValues(q[0].domain()[0],q[0].domain()[1],H);L[0]=C[0].append("g").attr("class","class0").attr("id",0).style("fill",p.colorArr[0]).call(d3.svg.axis().scale(q[0]).orient("left").tickFormat(function(k){return formatSmallScale(k,N[0])}).tickValues(P));C[0].select(".class0").select(".domain").style("stroke",p.colorArr[0]);if(!p.getMark()){C[0].selectAll(".class0").selectAll(".tick").selectAll("line").remove()}if(p.getShowLabel()){f[0]=C[0].selectAll(".class0").append("g").style("fill",p.colorArr[0]).append("text").attr("class","label").attr("transform","translate("+(-54)+","+(B-O)/2+")rotate(-90)").style("text-anchor","middle").text(M.measName[0])}C[0].append("g").attr("class","ygrid").call(d3.svg.axis().scale(q[0]).orient("left").tickValues(P).tickSize(-(F),0,0));if(!(p.getShowGridLines()&&p.getShowTicks())){C[0].select(".ygrid").selectAll("line").style("visibility","hidden")}C[0].selectAll(".ygrid").selectAll(".tick").selectAll("text").remove();for(K=1;K<E;K++){if(!I[K]){continue}P=getTickValues(q[K].domain()[0],q[K].domain()[1],H);L[K]=C[0].append("g").attr("class","class"+K).attr("transform","translate("+(F+60*(K-1))+",0)").attr("id",K).style("fill",p.colorArr[K%20]).call(d3.svg.axis().scale(q[K]).orient("right").tickFormat(function(k){return formatSmallScale(k,N[K])}).tickValues(P));if(!p.getMark()){C[0].selectAll(".class"+K).selectAll(".tick").selectAll("line").remove()}C[0].select(".class"+K).select(".domain").style("stroke",p.colorArr[K%20]);if(p.getShowLabel()){f[K]=C[0].select(".class"+K).append("g").style("fill",p.colorArr[K%20]).append("text").attr("class","label").attr("transform","translate("+(50)+","+(B-O)/2+")rotate(90)").style("text-anchor","middle").text(M.measName[K])}}}else{P=getTickValues(g,e,H);var L=C[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(c).orient("left").tickSize(-(F),0,0).tickFormat(function(k){return formatSmallScale(k,N[0])}).ticks(P.length).tickValues(P));if(!(p.getShowGridLines()&&p.getShowTicks())){C[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(p.getShowLabel()){var f=C[0].selectAll(".yaxis").append("g").append("text").attr("class","label").attr("transform","translate("+(-54)+","+(B-O)/2+")rotate(-90)").style("text-anchor","middle").text(M.measName.length>1?"Measures":M.measName[0])}}if(!p.getShowTicks()){C[0].selectAll(".tick").remove()}if(!p.getShowTickLabels()){C[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();C[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove();for(K=0;K<E;K++){C[0].selectAll(".class"+K).selectAll(".tick").selectAll("text").remove()}}var a=new Array(E),t=0;for(K=0;K<E;K++){a[K]=new Array(b.length)}for(K=0;K<E;K++){if(!I[K]){continue}u[K]=d3.svg.line().interpolate("linear").x(function(k){return r(k.name)}).y(function(k){return p.getMultiAxes()?q[K](k.size[K]):c(k.size[K])});D[K]=C[0].append("path").attr("class","class"+K).attr("d",u[K](b)).attr("stroke",p.colorArr[K%20]).attr("fill","none").attr("transform","translate("+F/(b.length*2)+",0)");var v=D[K].node().getTotalLength();D[K].attr("stroke-dasharray",v+" "+v).attr("stroke-dashoffset",v).transition().duration(2000).ease("linear").attr("stroke-dashoffset",0);var G=C[0].selectAll(".xcirc").data(b).enter();z[K]=G.append("circle").attr("class","class"+K).attr("id",K).attr("fill","white").attr("stroke","white").attr("r",2).attr("transform","translate("+F/(b.length*2)+",0)").on("mouseover",function(l,k){showToolTipl(o,l,E,this,N,p)}).on("mouseout",function(l,k){hideToolTip(o,l,k);C[0].selectAll(".tempcirc").remove();C[0].selectAll(".temptext").remove()}).on("click",function(l,k){clickMultiLine(o,l,k,C,r,q,F,B,M,s,I,0,p,N)}).transition().delay(function(l,k){return k*30}).duration(300).attr("fill",p.colorArr[K]).attr("stroke",p.colorArr[K]).attr("cx",function(k){return r(k.name)}).attr("cy",function(k){if(p.getMultiAxes()){return q[K](k.size[K])}else{return c(k.size[K])}});if(p.getpointLabel()){G.append("text").attr("class","class"+K).attr("x",function(k){return r(k.name)}).attr("y",function(l){if(p.getMultiAxes()){if(K==0){a[K][t++]=q[K](l.size[K])+10;return q[K](l.size[K])+10}else{for(var k=0;k<K;k++){if(q[K](l.size[K])<=q[k](l.size[k])+10&&q[K](l.size[K])>=q[k](l.size[k])-10){a[K][t]=q[K](l.size[K])+12*(k+2)}else{if(!a[K][t]){a[K][t]=q[K](l.size[K])+10}}}t++;return a[K][t-1]}}else{if(K==0){a[K][t++]=c(l.size[K])+10;return c(l.size[K])+10}else{for(var k=0;k<K;k++){if(c(l.size[K])<=c(l.size[k])+8&&c(l.size[K])>=c(l.size[k])-8){a[K][t]=c(l.size[K])+10*(k+2)}else{if(!a[K][t]){a[K][t]=c(l.size[K])+12}}}t++;return a[K][t-1]}}}).text(function(k){return formatData(k.size[K],N[K],(p.getpointTooltip()=="A"?0:1))}).style("fill",p.colorArr[K]).attr("transform","translate("+F/(b.length*2)+",-15)")}t=0;if(p.getShadow()){C[0].append("path").attr("class","class"+K).attr("d",u[K](b)).attr("stroke",p.colorArr[K%20]).attr("fill","none").attr("filter","url(#blur)").attr("transform","translate("+F/(b.length*2)+",0)").attr("stroke-dasharray",v+" "+v).attr("stroke-dashoffset",v).transition().duration(2000).ease("linear").attr("stroke-dashoffset",0)}}function m(y,x,l,Q){alert("Arun");x[+y.id]=!x[+y.id];l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("circle").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();plotMultiLineChart(o,l,J,r,q,F,B,M,s,x,p,N)}updateLegendll(o,C,J,r,q,F,B,M,1,I,clickMultiLine,p,N);C[0].selectAll(".tick").selectAll("line").attr("class","ygridline")}var curLogic="next";function clickMultiLine(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if((o==0&&n.children)||(o==1&&n.children[0].children)){l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("circle").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();if((o==1||curLogic=="next")&&n.children){curLogic="next";curNode=n}else{curNode=n.parent}plotMultiLineChart(r,l,curNode,q,p,b,s,t,e,f,m,a)}else{alert("No further dimensions.")}}function drawPieChart(g,q,n,s,c,b,u,a,r,p,o){var e=1,f=d3.scale.ordinal().range(["#98abc5","#8a89a6","#7b6888","#6b486b","#a05d56","#d0743c","#ff8c00"]),t=makeJsonFromArrayNew(g,b,u,a[0],o);makeParentsJson(t,e);resolveComputeMeasure(t,o.RD.General.Measures);d3.select("#"+q).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"></div></div>');d3.selectAll(".tipsy").style("display","none");var k=findSvgArea(u,o,t,s,c,q),m=Math.min(k[2],k[3])/2;k[0].attr("transform","translate("+k[3]/2+","+k[2]/2+")");plotPieChart(q,k,u,0,0,m,t,e,t,o,a);if(o.getShowLegend()){makeLegend(k,u,e,l,0,t,0,0,o)}curNode=t;function l(v){plotPieChart(q,k,u,0,0,m,curNode,v,t,o,a)}}function plotPieChart(c,q,u,s,p,b,t,m,A,e,B){var l=d3.scale.linear().range([0,2*Math.PI]),k=d3.scale.pow().exponent(1.3).domain([0,1]).range([0,b]),f=d3.svg.arc().outerRadius(b-10).innerRadius(0),r,n,v,o,a=t.children;q[0].append("rect").attr("width",2*b).attr("height",2*b).style("fill",e.getBgColor()).style("stroke",function(){return e.getdrawBorder()?"black":"none"}).style("opacity",0.4).attr("transform","translate("+-b+","+-b+")");C(m);function C(g){o=d3.layout.pie().sort(null).value(function(x){return +x.size[g-1]});v=q[0].append("g").selectAll(".arc").data(o(a)).enter().append("g").attr("class","arc");r=v.append("path").attr("d",f).style("fill","white").on("click",function(y,x){clickPie(c,y,x,q,u,b,s,p,A,g,0,0,e,B)}).on("mouseover",function(y,x){showToolTips(c,y.data,g,B)}).on("mouseout",function(y,x){hideToolTip(c,y,x)}).transition().delay(function(y,x){return x*100}).duration(100).style("fill",function(y,x){return e.colorArr[x%20]});if(e.getShowLabel()){q[0].selectAll("text").remove();q[0].append("text").attr("class","label").text(a[0].dimName).attr("transform","translate("+(b+lblPad)+","+0+")").style("text-anchor","middle")}n=v.append("text").on("click",function(y,x){clickPie(c,y,x,q,u,b,s,p,A,g,0,0,e,B)}).attr("transform",function(x){return"translate("+f.centroid(x)+")"}).attr("dy",".35em").style("text-anchor","middle").style("visibility",function(x){return x.data.name.length<(x.endAngle-x.startAngle)*b/5?"visible":x.data.name.length>(b-10)/14?"hidden":(x.endAngle-x.startAngle)<0.1?"hidden":"visible"}).transition().delay(function(y,x){return x*300}).duration(300).attr("transform",function(x){return"translate("+f.centroid(x)+")rotate("+z(x)+")"}).text(function(y,x){return y.data.name.replace("'","'")})}function z(x){var g=(x.startAngle+x.endAngle)*90/Math.PI-90;return x.data.name.length<(x.endAngle-x.startAngle)*b/50?((g>0)&&(g<180)?g-90:g+90):(g>90?g-180:g)}updateLegendll(c,q,t,u,b,s,p,A,m,0,clickPie,e,B)}var curLogic="next";function clickPie(q,o,g,l,t,m,b,r,s,e,f,p,n,a){if(o.children||o.data.children){l[0].selectAll("g").remove();l[0].selectAll("text").remove();if(p==1||(curLogic=="next")){curLogic="next";curNode=(o.data)?o.data:o}else{curLogic="previous";curNode=o.data?o.data.parent:o;if(typeof curNode=="undefined"){curLogic="next";curNode=o.data}}plotPieChart(q,l,t,b,r,m,curNode,e,s,n,a)}else{alert("No further dimensions")}}function drawStackedAreaDate(a,c,b,z,n,g,v,y,f,o){var l=1;var p={top:20,right:40,bottom:n/4,left:65},s=z-p.left-p.right,r=n-p.top-p.bottom-25;var x=makeJsonFromArrayNew(a,g,v,y,f);makeParentsJson1(x,v);resolveComputeMeasure(x,f.RD.General.Measures);applyShowHideMeasure(x,f);v=x.measName.length;var t=new Array(v);var u=0;for(u=0;u<v;u++){t[u]=1}d3.select("#"+c).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var q=findSvgArea(v,f,x,z,n,c);q[0].attr("transform","translate("+p.left+","+p.top+")");r=q[2]-p.top-50;s=f.getMultiAxes()?q[3]-p.left-p.right:q[3]-p.left-30;var m;curNode=x;plotStackedAreaDate(c,q,a,x,s,r,x,l,t,f,y);if(f.getShowLegend()){makeLegend(q,v,l,0,e,x,t,1,f)}function e(C,B,A,D){B[+C.id]=!B[+C.id];A[0].selectAll("path").remove();A[0].selectAll("g").remove();A[0].selectAll("circle").remove();A[0].selectAll("text").remove();A[0].selectAll("rect").remove();plotStackedAreaDate(c,A,a,curNode,s,r,x,l,B,f,y)}}function plotStackedAreaDate(s,q,N,V,g,l,O,H,S,G,E){var Q=V.measName.length,D=V.children,T=0,F=new Array(Q),L=new Array(Q),M=new Array(Q),X;var m=calcParseDate(D,m);U=l;var W;if(G.getShowTicks()&&G.getShowTickLabels()){W=findxtickspace(D,G)}else{W=0}var u=getNticks(l,W);D.forEach(function(a){a.xcontent=m(a.name);a.date=a.xcontent});if(!D[0].date){var I=d3.scale.ordinal().domain(D.map(function(a){a.xcontent=a.name;return a.xcontent})).rangePoints([0,g])}else{D=D.sort(function(e,c){return e.date-c.date});var I=d3.time.scale().range([0,g]).domain(d3.extent(D,function(a){return a.xcontent}))}var v=d3.scale.ordinal().rangeRoundBands([0,g]).domain(D.map(function(a){return a.name}));var z=0;var o=d3.max(D,function(b){var a=0;for(T=0;T<Q;T++){if(S[T]){a+=Math.max(b.size[T])}}return a});var ac=d3.scale.linear().rangeRound([l-W,0]).domain(getNewMinMax(z,o,u));var R=getNewMinMax(z,o,u);tv=getTickValues(z,o,u);var C=D[0].date?I:v;q[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+ac(0)+")").call(d3.svg.axis().scale(C).orient("bottom")).selectAll("text").attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return G.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return G.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"}).text(function(b){var a="";if(!(D[0].date)){a=b}else{a=this.textContent}b=a.replace("'","'");if(G.getxFrom()=="all"){return b}else{if(G.getxFrom()=="first"){return b.substr(0,G.getxLength())}else{return b.substr(b.length-G.getxLength(),b.length)}}}).on("click",function(b,a){for(a=0;a<D.length;a++){if(b==D[a].xcontent.toString()){b=D[a];break}}clickStackedAreaDate(s,b,a,q,N,0,g,l,O,H,S,0,G,E)});if(!G.getMark()){q[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}q[0].select(".xaxis").selectAll(".tick").append("title").text(function(a){return a;if(!(D[0].date)){return a}else{return this.textContent}});if(G.getShowLabel()){q[0].append("text").attr("class","label").text(D[0].dimName).attr("transform","translate("+g/2+","+(l+lblPad)+")").style("text-anchor","middle")}var y=q[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(ac).orient("left").tickSize(-(g),0,0).tickFormat(function(a){return formatSmallScale(a,E[0])}).tickValues(tv));if(!(G.getShowGridLines()&&G.getShowTicks())){q[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(G.getShowLabel()){ytext=q[0].selectAll(".yaxis").append("g").append("text").attr("class","label").attr("transform","translate("+-54+","+(l-W)/2+")rotate(-90)").style("text-anchor","middle").text("Measure")}if(!G.getShowTicks()){q[0].selectAll(".tick").remove()}if(!G.getShowTickLabels()){q[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();q[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove()}q[0].selectAll(".tick").selectAll("line").attr("class","ygridline");var J=new Array();var U=new Array();var P=new Array();var Z=new Array();for(T=0;T<D.length;T++){J[T]=0;U[T]=0;P[T]=0}for(T=0;T<Q;T++){if(S[T]){if(D.length!=1){var Y=0;var ab=0;var aa=-1;F[T]=d3.svg.area().x(function(a){return I(a.xcontent)}).y1(function(a){var b=ac(a.size[T])-J[ab];J[ab]=J[ab]+l-W-ac(a.size[T]);U[ab]=b;ab++;return b}).y0(function(b){if(T==0){return l-W}else{for(var a=T;a>=0;a--){if(F[a-1]){return U[ab]}}return l-W}});L[T]=q[0].append("path").attr("class","class"+T).attr("stroke","none").attr("fill","none").attr("pointer-events","all").on("click",function(){hideToolTip(s,X,c);if(D[0].date){var e=I.invert(d3.mouse(this)[0]),c=B(D,e,1),k=D[c-1],f=D[c];X=e-k.xcontent>f.xcontent-e?f:k}else{var n=d3.mouse(this)[0];var b=v.range();var p=v.rangeBand();var a;for(a=0;n>(b[a]+p);a++){}X=D[a]}ele=this;clickStackedAreaDate(s,X,c,q,N,0,g,l,O,H,S,0,G,E)}).on("mousemove",function(){A(this)}).on("mouseout",function(b,a){hideToolTipsa(s,b,a,this,g/500)}).transition().delay(function(a){return T*300}).duration(10).attr("d",F[T](D)).attr("stroke",G.colorArr[T%20]).attr("fill",G.colorArr[T%20])}}}var M=q[0].append("g").selectAll("rect").data(D);for(T=0;T<Q;T++){if(S[T]){if(D.length==1){var ab=0;M.enter().append("rect").attr("class","class"+T).attr("y",function(a){var b=ac(a.size[T])-J[ab];ab++;return b}).attr("x",function(a){ab=0;return v(a.xcontent)}).attr("height",0).attr("width",0).style("visibility","visible").attr("fill",G.colorArr[T]).on("click",function(p,f){hideToolTip(s,X,f);if(D[0].date){var c=I.invert(d3.mouse(this)[0]),f=B(D,c,1),b=D[f-1],a=D[f];X=c-b.xcontent>a.xcontent-c?a:b}else{var k=d3.mouse(this)[0];var n=v.range();var r=v.rangeBand();var e;for(e=0;k>(n[e]+r);e++){}X=D[e]}ele=this;clickStackedAreaDate(s,X,f,q,N,0,g,l,O,H,S,0,G,E)}).on("mousemove",function(){A(this)}).on("mouseout",function(b,a){hideToolTipsa(s,b,a,this,g/500)}).transition().delay(function(b,a){return a*300}).duration(600).attr("height",function(a){J[ab]=J[ab]+l-W-ac(a.size[T]);ab++;return l-W-ac(a.size[T])}).attr("width",g)}}}var B=d3.bisector(function(a){return a.date}).left;var K=q[0].append("g").attr("class","focus").style("display","none");function A(ad){if(D[0].date){var c=I.invert(d3.mouse(ad)[0]),n=B(D,c,1),x=ac.invert(d3.mouse(ad)[1]),b=D[n-1],a=D[n],r=c-b.xcontent>a.xcontent-c?a:b}else{var p=d3.mouse(ad)[0];var t=v.range();var k=v.rangeBand();var e;for(e=0;p>(t[e]+k);e++){}r=D[e]}showToolTipl(s,r,Q,ad,E,G)}updateLegendll(s,q,V,N,0,g,l,O,H,S,clickStackedAreaDate,G,E)}function clickRect(c,b,a,e){for(i=0;i<e;i++){if(d3.select(c).attr("fill")==dispObj.colorArr[i]){b[i]=!b[i];a.selectAll(".class"+i).style("visibility",function(){return b[i]?"visible":"hidden"});break}}}function clickRectText(e,b,a,c){b[e]=!b[e];a.selectAll(".class"+e).style("visibility",function(){return b[e]?"visible":"hidden"})}var curLogic="next";function clickStackedAreaDate(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if((o==0&&n.children)||(o==1&&n.children[0].children)){l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("circle").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();if((o==1||(curLogic=="next"))&&n.children){curLogic="next";curNode=n}else{curNode=n.parent}plotStackedAreaDate(r,l,q,curNode,b,s,t,e,f,m,a)}}function hideToolTipsa(b,f,c,e,a){d3.select(e).attr("r",a);hideToolTip(b,f,c)}function makeParentsJson1(b,c){var a=d3.layout.hierarchy().value(function(e){return +e.size[c-1]}).sort(null);a(b)}function updateLegendsa(b,g,k,c){var f=d3.select("#"+b).select(".myChart").select(".svgLegend");f.html(e(g));function a(m){var l=m.name;for(i=0;i<k;i++){if(d3.select(c).attr("fill")==dispObj.colorArr[i]){l+=" ( "+m.percent[i]+" ) "}}return l}function e(l){return l.depth!==0?l.parent?e(l.parent)+(l.depth!=1?">":"")+a(l):" ":" "}}function drawStackBarChart(a,c,b,F,n,f,C,E,v,s,e){var m=1,p={top:20,right:48,bottom:n/4,left:65},t,r,B=0;var D=makeJsonFromArrayNew(a,f,C,E,e);makeParentsJson(D);resolveComputeMeasure(D,e.RD.General.Measures);applyShowHideMeasure(D,e);C=D.measName.length;d3.select("#"+c).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var q=findSvgArea(C,e,D,F,n,c);r=q[2]-p.top-50;t=q[3]-p.left-30;var A=D;var l=d3.scale.ordinal().rangeRoundBands([0,t]),g=new Array(C),z=new Array(C);for(B=0;B<C;B++){z[B]=1}q[0].attr("transform","translate("+p.left+","+p.top+")");if(e.getShowLegend()){makeLegend(q,C,m,G,o,D,z,1,e)}function o(H,y,x,I){y[+H.id]=!y[+H.id];x[0].selectAll("path").remove();x[0].selectAll("g").remove();x[0].selectAll("circle").remove();x[0].selectAll("text").remove();x[0].selectAll("rect").remove();G(c,x,A,l,g,t,r,D,m,y,e,E)}G(c,q,D,l,g,t,r,D,m,z,e,E);function G(M,W,ab,Q,P,Y,V,af,R,aa,N,ag){var X=P.length,H=new Array(),ah,aj;if(ab.children.length>Y/50){for(var ac=0;ac<Math.max(2,Math.floor(Y/50));ac++){H[ac]=ab.children[ac]}}else{H=ab.children}var ac=0;if(N.getShowTicks()&&N.getShowTickLabels()){ah=findxtickspace(H,N)}else{ah=0}var Z=getNticks(V,ah);var L=0,J=d3.max(H,function(x){var k=0;for(ac=0;ac<X;ac++){if(aa[ac]){k+=Math.max(x.size[ac])}}return k});var U=getNewMinMax(L,J,Z);aj=getTickValues(L,J,Z);W[0].append("rect").attr("width",Y).attr("height",V-ah).style("fill",N.getBgColor()).style("stroke",function(){return N.getdrawBorder()?"#DDDDDD":"none"});var I=d3.scale.linear().rangeRound([V-ah,0]).domain(U);var O=d3.svg.axis().scale(Q).orient("bottom");Q.domain(H.map(function(k){return k.name}));var ae=d3.scale.ordinal().domain(H).rangeRoundBands([0,Q.rangeBand()]);var ad=new Array(X),K=new Array(X);W[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+(V-ah)+")").call(d3.svg.axis().scale(Q).orient("bottom")).selectAll("text").attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return N.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return N.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"}).text(function(k){k=k.replace("'","'");if(N.getxFrom()=="all"){return k}else{if(N.getxFrom()=="first"){return k.substr(0,N.getxLength())}else{return k.substr(k.length-N.getxLength(),k.length)}}}).on("click",function(x,k){for(k=0;k<H.length;k++){if(x==H[k].name){x=H[k];break}}u(M,x,k,W,Q,P,Y,V,af,R,aa,0,N,ag)});W[0].select(".xaxis").selectAll(".tick").append("title").text(function(k){return k});if(!N.getMark()){W[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(N.getShowLabel()){W[0].append("text").attr("class","label").text(H[0].dimName).attr("transform","translate("+Y/2+","+(V+lblPad)+")").style("text-anchor","middle")}var J=d3.max(H,function(x){var k=0;for(ac=0;ac<X;ac++){if(aa[ac]){k+=Math.max(x.size[ac])}}return k});ad=W[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(I).orient("left").tickSize(-(Y),0,0).tickFormat(function(k){return formatSmallScale(k,ag[0])}).tickValues(aj));if(!(N.getShowGridLines()&&N.getShowTicks())){W[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(N.getShowLabel()){K=W[0].selectAll(".yaxis").append("g").append("text").attr("class","label").attr("transform","translate("+-54+","+(V-ah)/2+")rotate(-90)").style("text-anchor","middle").text("Measure")}if(!N.getShowTicks()){W[0].selectAll(".tick").remove()}if(!N.getShowTickLabels()){W[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();W[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove()}W[0].selectAll(".tick").selectAll("line").attr("class","ygridline");var T=W[0].append("g").selectAll("rect").data(H);var S=new Array();for(ac=0;ac<H.length;ac++){S[ac]=0}for(ac=0;ac<X;ac++){var ai=0;if(aa[ac]){T.enter().append("rect").attr("class","class"+ac).attr("y",function(x){var k=I(x.size[ac])-S[ai];ai++;return k}).attr("x",function(k){ai=0;return Q(k.name)}).attr("height",0).attr("width",0).style("visibility","visible").attr("fill",N.colorArr[ac]).on("click",function(x,k){u(M,x,k,W,Q,P,Y,V,af,R,aa,0,N,ag)}).on("mouseover",function(x,k){showToolTipl(M,x,X,this,ag,N)}).on("mouseout",function(x,k){hideToolTip(M,x,k)}).transition().delay(function(x,k){return k*300}).duration(600).attr("height",function(k){S[ai]=S[ai]+V-ah-I(k.size[ac]);ai++;return Math.max(V-ah-I(k.size[ac]),1)}).attr("transform","translate("+(Q.rangeBand()/2-Math.min(ae.rangeBand()*0.75,70)/2)+",0)").attr("width",(Math.min(ae.rangeBand()*0.75,70)));if(N.getpointLabel()){ai=0;T.enter().append("text").attr("class","class"+ac).attr("y",function(k){return I(k.size[ac])}).attr("x",function(k){return Q(k.name)-90}).text(function(k){return formatData(k.size[ac],ag[ac],(N.getpointTooltip()=="A"?0:1))}).style("fill",N.colorArr[ac]).attr("transform","translate("+(Q.rangeBand()/2-Math.min(ae.rangeBand()*0.75,70)/2)+",0)")}}}updateLegendll(M,W,ab,Q,P,Y,V,af,R,aa,u,N,ag)}function u(S,O,L,M,R,Q,I,T,U,J,K,P,N,H){if((P==0&&O.children)||(P==1&&O.children[0].children)){M[0].selectAll("path").remove();M[0].selectAll("g").remove();M[0].selectAll("text").remove();M[0].selectAll("rect").remove();if((P==1||curLogic=="next")&&O.children){curLogic="next";A=O}else{A=O.parent}G(S,M,A,R,Q,I,T,U,J,K,N,H)}else{alert("No further dimension.")}}}function drawSunburst(M,k,e,L,u,n,I,K,m,A){d3.select("#"+k).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var B,s,H,r=1,J=makeJsonFromArrayNew(M,n,I,K[0],m),F=J;B=findSvgArea(I,m,J,L,u,k);resolveComputeMeasure(J,m.RD.General.Measures);var c=Math.min(B[2],B[3])/2,q=d3.scale.linear().range([0,2*Math.PI]),o=d3.scale.pow().exponent(1.3).domain([0,1]).range([0,c]),D=d3.scale.ordinal().range(m.colorArr);if(m.getShowLegend()){makeLegend(B,I,r,a,0,J,0,0,m)}B[0].attr("transform","translate("+B[3]/2+","+B[2]/2+")");var f=d3.layout.partition().value(function(x){return x.size[r-1]}).sort(null);var l=d3.svg.arc().startAngle(function(x){return Math.max(0,Math.min(2*Math.PI,q(x.x)))}).endAngle(function(x){return Math.max(0,Math.min(2*Math.PI,(q(x.x+x.dx)).toFixed(14)))}).innerRadius(function(x){return Math.max(0,o(x.y))}).outerRadius(function(x){return Math.max(0,o(x.y+x.dy))});function E(x){return x.parent?x.parent.depth!=1?E(x.parent):D(x.parent.name):D(x.name)}var C=B[0].selectAll("path").data(f.nodes(J)).enter().append("path").attr("d",l).style("fill",function(x){if(x.depth<=1){return D(x.name)}else{return E(x)}}).style("stroke","white").on("click",function(x){p(x)}).on("mouseover",function(y,x){showToolTips(k,y,r,K)}).on("mouseout",function(y,x){hideToolTip(k,y,x)});var z=B[0].selectAll("text").data(f.nodes(J));var g=z.enter().append("text").attr("text-anchor","middle").attr("dy",".2em").style("fill","white").attr("transform",function(O){var x=(O.name||"").split(" ").length>1,N=q(O.x+O.dx/2)*180/Math.PI-90,y=N+(x?-0.5:0);return G(O,y,N)}).text(function(x){return x.name.replace("'","'")}).style("visibility",function(x){return x.name.length<(Math.max(0,Math.min(2*Math.PI,q(x.x+x.dx)))-Math.max(0,Math.min(2*Math.PI,q(x.x))))*(c*x.depth/24)?"visible":x.name.length>(Math.max(0,o(x.y+x.dy))-Math.max(0,o(x.y)))/6?"hidden":(Math.max(0,Math.min(2*Math.PI,q(x.x+x.dx)))-Math.max(0,Math.min(2*Math.PI,q(x.x))))<0.1?"hidden":"visible"}).on("click",function(x){p(x)}).on("mouseover",function(y,x){showToolTips(k,y,r,K)}).on("mouseout",function(y,x){hideToolTip(k,y,x)});if(m.getShowLabel()){B[0].append("text").attr("class","label").text(J.dimName).attr("transform","translate("+(c+lblPad+10)+","+0+")").style("text-anchor","middle")}function p(x){F=x;C.transition().duration(300).attrTween("d",b(x));z.transition().duration(300).attrTween("text-anchor",function(y){return function(){return"middle"}}).attrTween("transform",function(N){var y=(N.name||"").split(" ").length>1;return function(){var P=q(N.x+N.dx/2)*180/Math.PI-90,O=P+(y?-0.5:0);return G(N,O,P)}}).style("fill-opacity",function(y){return v(x,y)?1:0.000001}).each("end",function(y){d3.select(this).style("visibility",v(x,y)?y.name.length<(Math.max(0,Math.min(2*Math.PI,q(y.x+y.dx)))-Math.max(0,Math.min(2*Math.PI,q(y.x))))*(c*y.depth/24)?"visible":y.name.length>(Math.max(0,o(y.y+y.dy))-Math.max(0,o(y.y)))/6?"hidden":(Math.max(0,Math.min(2*Math.PI,q(y.x+y.dx)))-Math.max(0,Math.min(2*Math.PI,q(y.x))))<0.1?"hidden":"visible":"hidden")});t(k,x,r)}function a(x){f.value(function(y){return y.size[x-1]});C.data(f.nodes(J)).on("mouseover",function(N,y){showToolTips(k,N,x,K)});z.data(f.nodes(J)).on("mouseover",function(N,y){showToolTips(k,N,x,K)});p(F)}function G(N,x,y){if(N.depth!=0){return N.name.length<(Math.max(0,Math.min(2*Math.PI,q(N.x+N.dx)))-Math.max(0,Math.min(2*Math.PI,q(N.x))))*(c*N.depth/24)?"rotate("+x+")translate("+(o(N.y+N.dy/2))+")rotate("+(y>90?(y>135?90:-90):(y<0?90:-90))+")":"rotate("+x+")translate("+(o(N.y+N.dy/2))+")rotate("+(y>90?-180:0)+")"}}function v(x,y){if(x===y){return true}if(x.children){return x.children.some(function(N){return v(N,y)})}return false}function b(P,N){var y=d3.interpolate(q.domain(),[P.x,P.x+P.dx/0.99999999]),O=d3.interpolate(o.domain(),[P.y,1]),x=d3.interpolate(o.range(),[P.y?20:0,c]);return function(R,Q){return Q?function(S){return l(R)}:function(S){q.domain(y(S));o.domain(O(S)).range(x(S));return l(R)}}}function t(R,P,y){d3.select("#"+R).select(".myChart").select(".svgLegend").selectAll("#trail").remove();var x=d3.select("#"+R).select(".myChart").select(".svgLegend").append("svg:svg").attr("id","trail");var Q={w:0,h:17,s:3,t:10,wd:0};var S=new Array();S[-1]=0;var U=0;function V(Y,W){var X=[];S[W]=Y.name.length*4+15;U=U+S[W];Q.w=Q.w+Y.name.length+15;X.push(U-S[W]+Q.t*W+",0");X.push(U+Q.t*W+",0");X.push(Q.t*(W+1)+U+","+(Q.h/2));X.push(U+Q.t*W+","+Q.h);X.push(Q.t*W+(W?U-S[W]:0)+","+Q.h);if(W>0){X.push(Q.t+Q.t*W+(W?U-S[W]:0)+","+(Q.h/2))}return X.join(" ")}var N=0;var O;T(P);function T(W){if(W.parent){T(W.parent)}O=x.append("svg:g");O.append("svg:polygon").attr("points",function(){return V(W,N)}).on("click",function(){x.selectAll("g").remove();p(W)}).style("fill",function(){if(W.depth<=1){return D(W.name)}else{return E(W)}});O.append("svg:text").text(W.name.replace("'","'")).attr("x",U-S[N]/2+Q.t*N).attr("y",Q.h/2).style("text-anchor","middle").attr("dy","0.4em").attr("dx","0.7em").style("fill","white").on("click",function(){x.selectAll("g").remove();p(W)});N++}if(P==J){x.selectAll("g").remove()}}}function drawFunnelChart(e,k,g,F,p,m,B,E,x,u,l,q){var D=makeJsonFromArrayNew(e,m,B,E,l);makeParentsJson(D);resolveComputeMeasure(D,l.RD.General.Measures);var y=D,o=1,C=0,v,t;var r={top:20,right:30,bottom:p/4,left:15};d3.select("#"+k).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var s=findSvgArea(B,l,D,F,p,k);s[0].attr("transform","translate("+r.left+","+r.top+")");v=s[3]-30,t=s[2]-30;var a=1/3,n=2*t/(v-a*v),A=(v+a*v)*t/2;z(k,s,y,0,0,v,t,D,o,0,l,E);if(l.getShowLegend()){makeLegend(s,B,o,c,0,D,0,0,l)}function c(G){s[0].selectAll("text").remove();s[0].selectAll("path").remove();z(k,s,y,0,0,v,t,D,G,0,l,E)}function b(J,H){J.sort(function(L,K){return +K.size[H-1]-+L.size[H-1]});C=0;for(var G=0;G<J.length;G++){C+=Math.abs(J[G].size[H-1])}trapezoids=[];function I(N,M,L,O,K){if(K>=J.length){return}area=Math.abs(J[K].size[H-1])*A/C;prevBaseLength=L-M;nextBaseLength=Math.sqrt((n*prevBaseLength*prevBaseLength-4*area)/n);nextLeftX=(prevBaseLength-nextBaseLength)/2+M;nextRightX=L-(prevBaseLength-nextBaseLength)/2;nextHeight=n*(prevBaseLength-nextBaseLength)/2+O;points=[[nextRightX,nextHeight]];points.push([L,O]);points.push([M,O]);points.push([nextLeftX,nextHeight]);points.push([nextRightX,nextHeight]);trapezoids.push(points);I(N,nextLeftX,nextRightX,nextHeight,K+1)}I(0,0,v,0,0);return trapezoids}function z(I,O,U,L,K,R,N,V,M,T,J,W){var H=8.5;speed=typeof speed!=="undefined"?speed:H;var G=U.children;var Q=d3.svg.line().x(function(Y){return Y[0]}).y(function(Y){return Y[1]});var X=d3.scale.category10();var S=b(G,M);function P(Z,aa){var Y=O[0].append("svg:path").attr("d",function(ad){return Q([S[aa][0],S[aa][1],S[aa][2],S[aa][2],S[aa][1],S[aa][2]])}).attr("fill","#fff").on("click",function(){f(I,G[aa],0,O,aa,0,R,N,V,M,T,0,J,W)}).on("mouseover",function(){showToolTips(I,G[aa],M,W)}).on("mouseout",function(ae,ad){hideToolTip(I,ae,ad)});nextHeight=S[aa][[S[aa].length]-1];var ac=Y.node().getTotalLength();var ab=Y.transition().duration(ac/speed).ease("linear").attr("d",function(ad){return Q(S[aa])}).attr("fill",function(ad){return X(aa)});O[0].append("text").text(G[aa].name.replace("'","'")+": "+formatSmallScale(+G[aa].size[M-1],W[0])).attr("x",function(ad){return R/2}).attr("y",function(ad){return(S[aa][0][1]+S[aa][1][1])/2}).attr("visibility",function(){return(S[aa][0][1]-S[aa][1][1])>10?"visible":"hidden"}).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("fill","#fff").on("click",function(){f(I,G[aa],0,O,aa,0,R,N,V,M,T,0,J,W)});if(aa<S.length-1){ab.each("end",function(){P(0,aa+1)})}}P(0,0);if(J.getShowLabel()){O[0].append("text").attr("class","label").text(G[0].dimName).attr("transform","translate("+R/2+","+(N+10)+")").style("text-anchor","middle")}}function f(R,O,K,L,M,Q,H,S,T,I,J,P,N,G){if(O.children){y=O;L[0].selectAll("text").remove();L[0].selectAll("path").remove();z(R,L,y,0,0,H,S,T,I,J,N,G)}else{alert("No further dimensions.")}updateLegendll(R,L,y,M,0,H,S,T,I,J,f,N,G)}updateLegendll(k,s,y,0,0,v,t,D,o,0,f,l,E)}function drawGaugeChart(f,n,l,M,u,p,I,K,D,B,o,t){var J=makeJsonFromArrayNew(f,p,I,K,o);makeParentsJson(J);resolveComputeMeasure(J,o.RD.General.Measures);var x={top:20,right:40,bottom:u/4,left:30};d3.select("#"+n).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var z=findSvgArea(I,o,J,M,u,n),y=z[2]-x.top-50,C=o.getMultiAxes()?z[3]-x.left-x.right:z[3]-x.left-30,q=1,e=Math.min(z[2],z[3])/2,G=J,b=new Array(),v=Math.ceil(Math.sqrt(b.length));if(o.getShowLegend()){makeLegend(z,I,q,s,0,J,0,0,o)}var H=[];function a(k,S,r,P,R){var T=d3.max(b,function(U){return +U.size[r-1]}),N=d3.min(b,function(U){return +U.size[r-1]});if(N==T){N=0}m=0;var O={size:Math.max((Math.min(z[2],z[3]))/(v),200),label:S,min:0,max:100,minorTicks:5};v=b.length*2;if(b.length!=1){do{if(!(z[3]*2/v>z[2])){v=v/2}else{v=b.length;break}m++}while(((z[3]/v>z[2])||(z[3]/v<z[2]/(m+1))))}else{m=1;v=1}m=m||1;O.size=Math.min(z[3]/Math.ceil(v),(z[2]/m));var Q=o.getThreshold();O.redZones=[{from:Q.redFrom,to:Q.redTo}];O.yellowZones=[{from:Q.yellowFrom,to:Q.yellowTo}];O.greenZones=[{from:Q.greenFrom,to:Q.greenTo}];H[k]=new L("GaugeContainer",O,r);H[k].render()}function A(X,U,Q,R,S,W,N,Y,Z,O,P,V,T,r){G=U;s(O)}var F=0,m=0,g=0,E=0;function s(N){F=m=g=E=0;z[0].selectAll("g").remove();b=new Array();if(G.children.length>z[3]*z[2]/14400){for(var r=0;r<Math.floor(z[3]*z[2]/14400);r++){b[r]=G.children[r]}}else{b=G.children}v=Math.ceil(Math.sqrt(b.length));if(v==1){z[0].attr("transform","translate("+(z[3]/2-e)+","+x.top+")")}else{z[0].attr("transform","translate(0,"+x.top+")")}for(var k in H){delete H[k]}for(var r=0;r<b.length;r++){a(b[r].name,b[r].name,N)}c(N)}function c(N){var r=0;for(var k in H){var O=b[r].percent[N-1].substr(0,b[r].percent[N-1].length-1);r++;H[k].redraw(O)}}s(q);function L(N,O,r){this.placeholderName=N;var k=this;this.configure=function(P){this.config=P;this.config.size=this.config.size*0.9;this.config.radius=this.config.size*0.97/2;this.config.cx=this.config.size/2;this.config.cy=this.config.size/2;this.config.min=undefined!=P.min?P.min:0;this.config.max=undefined!=P.max?P.max:100;this.config.range=this.config.max-this.config.min;this.config.majorTicks=P.majorTicks||5;this.config.minorTicks=P.minorTicks||2;this.config.greenColor=P.greenColor||"#109618";this.config.yellowColor=P.yellowColor||"#FF9900";this.config.redColor=P.redColor||"#DC3912";this.config.transitionDuration=P.transitionDuration||700};this.render=function(){var ac=this.config.size;this.body=z[0].attr("class","gauge").append("g").attr("transform",function(){v=v>3?Math.floor(v):v;var ad=(z[3]-Math.ceil(v)*ac)/(Math.ceil(v));if(v==1){return"translate(0,"+(10+ac*E)+")"}else{if((g)<v){return"translate("+(ad/2+(ad+ac)*g++)+","+(10+ac*E)+")"}else{g=0;E++;return"translate("+(ad/2+(ad+ac)*(g++))+","+(10+ac*E)+")"}}}).attr("id",F++).on("click",function(){if(typeof b[this.id].children!="undefined"){G=b[this.id];b=b[this.id].children;s(r)}else{alert("No further dimensions.")}}).on("mouseover",function(){showToolTips(n,b[this.id],r,K)}).on("mouseout",function(ae,ad){hideToolTip(n,ae,ad)});this.body.append("svg:path").attr("d",d3.svg.arc().startAngle(-(Math.PI/2+0.18)).endAngle(Math.PI/2+0.18).innerRadius(0.95*this.config.radius).outerRadius(1*this.config.radius)).attr("transform","translate("+this.config.cx+","+this.config.cy+")").style("stroke","lightblue").style("fill","#4684EE");this.body.append("svg:line").attr("x1",this.config.cx-this.config.radius).attr("y1",this.config.cy+Math.sin(0.185)*this.config.radius).attr("x2",this.config.cx+this.config.radius).attr("y2",this.config.cy+Math.sin(0.185)*this.config.radius).style("stroke","#4684EE").style("stroke-width",0.05*this.config.radius);for(var V in this.config.redZones){this.drawBand(this.config.redZones[V].from,this.config.redZones[V].to,k.config.redColor)}for(var V in this.config.yellowZones){this.drawBand(this.config.yellowZones[V].from,this.config.yellowZones[V].to,k.config.yellowColor)}for(var V in this.config.greenZones){this.drawBand(this.config.greenZones[V].from,this.config.greenZones[V].to,k.config.greenColor)}if(undefined!=this.config.label){var ab=Math.round(this.config.size/9);this.body.append("svg:text").attr("x",this.config.cx).attr("y",this.config.cy+ab).attr("dy",10).attr("text-anchor","middle").text(b[F-1].dimName+" : "+this.config.label.replace("'","'")).attr("class","label").style("fill","#333").style("stroke-width","0px")}var Z=(this.config.min+this.config.max)/2;var ab=Math.round(this.config.size/16);var U=this.config.range/(this.config.majorTicks-1);if(this.config.radius<50){this.config.minorTicks=3}for(var X=this.config.min;X<=this.config.max;X+=U){var S=U/this.config.minorTicks;for(var T=X+S;T<Math.min(X+U,this.config.max);T+=S){var Y=this.valueToPoint(T,0.8);var W=this.valueToPoint(T,0.9);this.body.append("svg:line").attr("x1",Y.x).attr("y1",Y.y).attr("x2",W.x).attr("y2",W.y).style("stroke","#666").style("stroke-width","1px")}var Y=this.valueToPoint(X,0.75);var W=this.valueToPoint(X,0.9);this.body.append("svg:line").attr("x1",Y.x).attr("y1",Y.y).attr("x2",W.x).attr("y2",W.y).style("stroke","#333").style("stroke-width","1px");var aa=this.valueToPoint(X,0.7);this.body.append("svg:text").attr("x",aa.x).attr("y",aa.y).attr("dy",ab-5).attr("text-anchor",X.toFixed(2)<Z?"start":X.toFixed(2)==Z?"middle":"end").text(X).style("fill","#333").style("stroke-width","0px")}var R=d3.svg.line().x(function(ad){return ad.x}).y(function(ad){return ad.y}).interpolate("basis");var P=this.body.append("svg:g").attr("class","pointerContainer");var Q=this.buildPointerPath(Z);P.selectAll("path").data([Q]).enter().append("svg:path").attr("d",R).style("fill","#4684EE").style("stroke","#666").style("fill-opacity",0.7);P.append("svg:circle").attr("cx",this.config.cx).attr("cy",this.config.cy).attr("r",0.12*this.config.radius).style("fill","#4684EE").style("stroke","#666").style("opacity",1);var ab=Math.round(this.config.size/10);P.selectAll("text").data([Z]).enter().append("svg:text").attr("x",this.config.cx).attr("y",this.config.size-this.config.cy/4-ab).attr("dy",ab/2).attr("text-anchor","middle").style("fill","#000").style("stroke-width","0px");this.redraw(this.config.min,0)};this.buildPointerPath=function(X){var Y=this.config.range/13;var V=P(X,0.95);var W=P(X-Y,0.12);var U=P(X+Y,0.12);var Q=X-(this.config.range*(1/(180/360))/2);var R=P(Q,0.28);var T=P(Q-Y,0.12);var S=P(Q+Y,0.12);return[V,W,S,R,T,U,V];function P(ab,aa){var Z=k.valueToPoint(ab,aa);Z.x-=k.config.cx;Z.y-=k.config.cy;return Z}};this.drawBand=function(R,P,Q){if(0>=P-R){return}this.body.append("svg:path").style("fill",Q).attr("d",d3.svg.arc().startAngle(this.valueToRadians(R)).endAngle(this.valueToRadians(P)).innerRadius(0.18*this.config.radius).outerRadius(0.5*this.config.radius)).attr("transform",function(){return"translate("+k.config.cx+", "+k.config.cy+") rotate(270)"})};this.redraw=function(R,P){var Q=this.body.selectAll(".pointerContainer");Q.selectAll("text").text(R+"%").attr("dy",10).attr("class","label");var S=Q.select("path");S.transition().duration(undefined!=P?P:this.config.transitionDuration).attrTween("transform",function(){var V=R;if(R>k.config.max){V=k.config.max+0.02*k.config.range}else{if(R<k.config.min){V=k.config.min-0.02*k.config.range}}var T=(k.valueToDegrees(V)-90);var U=k._currentRotation||T;k._currentRotation=T;return function(X){var W=U+(T-U)*X;return"translate("+k.config.cx+", "+k.config.cy+") rotate("+W+")"}})};this.valueToDegrees=function(P){return P/this.config.range*180-(this.config.min/this.config.range*180)};this.valueToRadians=function(P){return this.valueToDegrees(P)*Math.PI/180};this.valueToPoint=function(Q,P){return{x:this.config.cx-this.config.radius*P*Math.cos(this.valueToRadians(Q)),y:this.config.cy-this.config.radius*P*Math.sin(this.valueToRadians(Q))}};this.configure(O);updateLegendll(n,z,G,0,0,M,u,J,r,0,A)}}function drawComboChart(Data,divId,Title,Width,Height,Ndim,Nmeas,MeasFormats,Dimensions,Measures,dispObj){var margin={top:20,right:Nmeas*48,bottom:Height/4,left:65},width,height,measNum=1;var json=makeJsonFromArrayNew(Data,Ndim,Nmeas,MeasFormats,dispObj);makeParentsJson(json);resolveComputeMeasure(json,dispObj.RD.General.Measures);applyShowHideMeasure(json,dispObj);Nmeas=json.measName.length;margin.right=Nmeas*48;d3.select("#"+divId).html('<div class="myChart"><div class="svgLegend"></div><div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div></div>');d3.selectAll(".tipsy").style("display","none");var multiAxes=true;if(dispObj.RD&&dispObj.RD.Axes&&dispObj.RD.Axes.MultiAxes){multiAxes=eval(dispObj.RD.Axes.MultiAxes)}var svg=findSvgArea(Nmeas,dispObj,json,Width,Height,divId);height=svg[2]-margin.top-50;width=multiAxes?svg[3]-margin.left-margin.right:svg[3]-margin.left-30;var x=d3.scale.ordinal().rangeRoundBands([0,width]),y=new Array(Nmeas),k=new Array(Nmeas),i=0;for(i=0;i<Nmeas;i++){y[i]=d3.scale.linear().rangeRound([height,0]);k[i]=1}svg[0].attr("transform","translate("+margin.left+","+margin.top+")");curNode=json;if(dispObj.getShowLegend()){if(dispObj.getMultiAxes()){makeLegend(svg,Nmeas,measNum,0,clickRectL,json,k,1,dispObj)}else{makeLegend(svg,Nmeas,measNum,plotComboChart,clickRectCombo,json,k,1,dispObj)}}function clickRectCombo(ele,k,svg,n){k[+ele.id]=!k[+ele.id];svg[0].selectAll("path").remove();svg[0].selectAll("g").remove();svg[0].selectAll("circle").remove();svg[0].selectAll("text").remove();svg[0].selectAll("rect").remove();plotComboChart(divId,svg,curNode,x,y,width,height,json,measNum,k,dispObj,MeasFormats)}plotComboChart(divId,svg,json,x,y,width,height,json,measNum,k,dispObj,MeasFormats)}function plotComboChart(divId,svg,curNode,x,y,width,height,json,measNum,k,dispObj,MeasFormats){var cnc=new Array();if(curNode.children.length>width/G_MIN_BAR_WIDTH){for(var i=0;i<Math.max(2,Math.floor(width/G_MIN_BAR_WIDTH));i++){cnc[i]=curNode.children[i]}}else{cnc=curNode.children}var i=0,n=y.length,line=new Array(n-1),path=new Array(n),circ=new Array(n),yaxis=new Array(n),ytext=new Array(n),xtickspace,nTicks,tv;if(dispObj.getShowTicks()&&dispObj.getShowTickLabels()){xtickspace=findxtickspace(cnc,dispObj)}else{xtickspace=0}nTicks=getNticks(height,xtickspace);y1=d3.scale.linear().rangeRound([height-xtickspace,0]);var miny=d3.min(cnc,function(d){var s=0;for(i=0;i<n;i++){if(k[i]){if(Math.min(d.size[i])<s){s=Math.min(d.size[i])}}}return s});var maxy=d3.max(cnc,function(d){var s=0;for(i=0;i<n;i++){if(k[i]){if(Math.max(d.size[i])>s){s=Math.max(d.size[i])}}}return s});y1.domain(getNewMinMax(miny,maxy,nTicks));x.domain(cnc.map(function(d){return d.name}));for(i=0;i<n;i++){var minMax=d3.extent(cnc,function(d){return +d.size[i]});if(minMax[0]>0){minMax[0]=0}minMax=getNewMinMax(minMax[0],minMax[1],nTicks);y[i].domain(minMax).rangeRound([height-xtickspace,0])}svg[0].append("rect").attr("width",width).attr("height",height-xtickspace).style("fill",dispObj.getBgColor()).style("stroke",function(){return dispObj.getdrawBorder()?"black":"none"}).style("opacity",0.4);svg[0].append("g").attr("class","xaxis").attr("transform","translate(0,"+y[0](0)+")").call(d3.svg.axis().scale(x).orient("bottom")).selectAll("text").text(function(d){d=d.replace("'","'");if(dispObj.getxFrom()=="all"){return d}else{if(dispObj.getxFrom()=="first"){return d.substr(0,dispObj.getxLength())}else{return d.substr(d.length-dispObj.getxLength(),d.length)}}}).on("click",function(d,i){for(i=0;i<cnc.length;i++){if(d==cnc[i].name){d=cnc[i];break}}clickCombo(divId,d,i,svg,x,y,width,height,json,measNum,k,0,dispObj,MeasFormats)}).attr("dx",".1em").attr("dy",".50em").style("text-anchor",function(){return dispObj.getxPos()=="A"?"end":"middle"}).attr("transform",function(){return dispObj.getxPos()=="A"?"rotate("+(-65)+")":"rotate(0)"});svg[0].select(".xaxis").selectAll(".tick").append("title").text(function(d){return d});if(!dispObj.getMark()){svg[0].selectAll(".xaxis").selectAll(".tick").selectAll("line").remove()}if(dispObj.getShowLabel()){svg[0].append("text").attr("class","label").text(cnc[0].dimName).attr("transform","translate("+width/2+","+(height+lblPad)+")").style("text-anchor","middle")}var multiAxes=true;if(dispObj.RD&&dispObj.RD.Axes&&dispObj.RD.Axes.MultiAxes){multiAxes=eval(dispObj.RD.Axes.MultiAxes)}if(multiAxes==true){tv=getTickValues(y[0].domain()[0],y[0].domain()[1],nTicks);yaxis[0]=svg[0].append("g").attr("class","class0").attr("id",0).style("fill",dispObj.colorArr[0]).call(d3.svg.axis().scale(y[0]).orient("left").tickFormat(function(d){return formatSmallScale(d,MeasFormats[0])}).tickValues(tv));svg[0].select(".class0").select(".domain").style("stroke",dispObj.colorArr[0]);if(!dispObj.getMark()){svg[0].selectAll(".class0").selectAll(".tick").selectAll("line").remove()}if(dispObj.getShowLabel()){ytext[0]=svg[0].selectAll(".class0").append("g").style("fill",dispObj.colorArr[0]).append("text").attr("class","label").attr("transform","translate("+(-54)+","+(height-xtickspace)/2+")rotate(-90)").style("text-anchor","middle").text(json.measName[0])}svg[0].append("g").attr("class","ygrid").call(d3.svg.axis().scale(y[0]).orient("left").tickValues(tv).tickSize(-(width),0,0));if(!(dispObj.getShowGridLines()&&dispObj.getShowTicks())){svg[0].select(".ygrid").selectAll("line").style("visibility","hidden")}svg[0].selectAll(".ygrid").selectAll(".tick").selectAll("text").remove();for(i=1;i<n;i++){tv=getTickValues(y[i].domain()[0],y[i].domain()[1],nTicks);yaxis[i]=svg[0].append("g").attr("class","class"+i).attr("transform","translate("+(width+60*(i-1))+",0)").attr("id",i).style("fill",dispObj.colorArr[i%20]).call(d3.svg.axis().scale(y[i]).orient("right").tickFormat(function(d){return formatSmallScale(d,MeasFormats[i])}).tickValues(tv));if(!dispObj.getMark()){svg[0].selectAll(".class"+i).selectAll(".tick").selectAll("line").remove()}svg[0].select(".class"+i).select(".domain").style("stroke",dispObj.colorArr[i%20]);if(dispObj.getShowLabel()){ytext[i]=svg[0].select(".class"+i).append("g").style("fill",dispObj.colorArr[i%20]).append("text").attr("class","label").attr("transform","translate("+(50)+","+(height-xtickspace)/2+")rotate(90)").style("text-anchor","middle").text(json.measName[i])}}}else{tv=getTickValues(miny,maxy,nTicks);var yaxis=svg[0].append("g").attr("class","yaxis").call(d3.svg.axis().scale(y1).orient("left").tickSize(-(width),0,0).tickFormat(function(d){return formatSmallScale(d,MeasFormats[0])}).tickValues(tv));if(!(dispObj.getShowGridLines()&&dispObj.getShowTicks())){svg[0].select(".yaxis").selectAll("line").style("visibility","hidden")}if(dispObj.getShowLabel()){var ytext=svg[0].selectAll(".yaxis").append("g").append("text").attr("class","label").attr("transform","translate("+(-54)+","+(height-xtickspace)/2+")rotate(-90)").style("text-anchor","middle").text(json.measName.length>1?"Measures":json.measName[0])}}if(!dispObj.getShowTicks()){svg[0].selectAll(".tick").remove()}if(!dispObj.getShowTickLabels()){svg[0].selectAll(".xaxis").selectAll(".tick").selectAll("text").remove();svg[0].selectAll(".yaxis").selectAll(".tick").selectAll("text").remove();for(i=0;i<n;i++){svg[0].selectAll(".class"+i).selectAll(".tick").selectAll("text").remove()}}svg[0].selectAll(".tick").selectAll("line").attr("class","ygridline");var m=new Array();for(var i=0;i<n;i++){m[i]=i}i=0;if(k[0]){var r=svg[0].append("g").selectAll("rect").data(cnc);r.enter().append("rect").attr("class","class0").style("visibility","visible").attr("fill",dispObj.colorArr[m[0]]).attr("width",0).attr("height",0).on("click",function(d,i){clickCombo(divId,d,i,svg,x,y,width,height,json,measNum,k,0,dispObj,MeasFormats)}).on("mouseover",function(d,i){showToolTipl(divId,d,n,this,MeasFormats,dispObj)}).on("mouseout",function(d,i){hideToolTip(divId,d,i)}).attr("y",function(d){return(multiAxes)?y[0](Math.max(0,d.size[0])):y1(Math.max(0,d.size[0]))}).attr("x",function(d){return x(d.name)}).transition().duration(2000).attr("width",function(){return Math.max(2,Math.min(40,x.rangeBand()-10))}).attr("height",function(d){return Math.max((multiAxes)?Math.abs(y[0](d.size[0])-y[0](0)):Math.abs(y1(d.size[0])-y1(0)),1)}).attr("transform",function(){return"translate("+(x.rangeBand()-Math.min(40,x.rangeBand()-10))/2+",0)"});if(dispObj.getpointLabel()){r.enter().append("text").attr("class","class0").attr("x",function(d){return x(d.name)}).attr("y",function(d){return((dispObj.getMultiAxes())?y[i](Math.max(0,d.size[i])):y1(Math.max(0,d.size[i])))-10}).text(function(d){return formatData(d.size[i],MeasFormats[i],(dispObj.getpointTooltip()=="A"?0:1))}).style("fill",dispObj.colorArr[i]).attr("transform",function(){if(x.rangeBand()/(n+1.5)<40){return"translate("+((x.rangeBand()/(n+1))*(i+0.5))+",0)"}else{return"translate("+(x.rangeBand()/2-40*n/2+i*42)+",0)"}})}}var ylabelpos=new Array(n),w=0;for(i=1;i<n;i++){ylabelpos[i]=new Array(cnc.length)}for(i=1;i<n;i++){if(!k[i]){continue}line[i-1]=d3.svg.line().interpolate("linear").x(function(d){return x(d.name)}).y(function(d){return multiAxes?y[i](d.size[i]):y1(d.size[i])});path[i]=svg[0].append("path").attr("class","class"+i).attr("d",line[i-1](cnc)).attr("stroke",dispObj.colorArr[i%20]).style("stroke-width","2px").attr("fill","none").attr("transform","translate("+width/(cnc.length*2)+",0)");var totalLength=path[i].node().getTotalLength();path[i].attr("stroke-dasharray",totalLength+" "+totalLength).attr("stroke-dashoffset",totalLength).transition().duration(2000).ease("linear").attr("stroke-dashoffset",0);var l=svg[0].selectAll(".xcirc").data(cnc).enter();circ[i-1]=l.append("circle").attr("class","class"+i).attr("id",i).attr("fill","white").attr("stroke","white").attr("r",3).attr("transform","translate("+width/(cnc.length*2)+",0)").on("mouseover",function(d,i){showToolTipl(divId,d,n,this,MeasFormats,dispObj)}).on("mouseout",function(d,i){hideToolTip(divId,d,i)}).on("click",function(d,i){clickCombo(divId,d,i,svg,x,y,width,height,json,measNum,k,0,dispObj,MeasFormats)}).transition().delay(function(d,i){return i*30}).duration(300).attr("fill",dispObj.colorArr[i]).attr("stroke",dispObj.colorArr[i]).attr("cx",function(d){return x(d.name)}).attr("cy",function(d){if(multiAxes){return y[i](d.size[i])}else{return y1(d.size[i])}});if(dispObj.getpointLabel()){l.append("text").attr("class","class"+i).attr("x",function(d){return x(d.name)}).attr("y",function(d){if(dispObj.getMultiAxes()){if(i==1){ylabelpos[i][w++]=y[i](d.size[i])+10;return y[i](d.size[i])+10}else{for(var j=0;j<i;j++){if(y[i](d.size[i])<=y[j](d.size[j])+10&&y[i](d.size[i])>=y[j](d.size[j])-10){ylabelpos[i][w]=y[i](d.size[i])+12*(j+2)}else{if(!ylabelpos[i][w]){ylabelpos[i][w]=y[i](d.size[i])+10}}}w++;return ylabelpos[i][w-1]}}else{if(i==1){ylabelpos[i][w++]=y1(d.size[i])+10;return y1(d.size[i])+10}else{for(var j=0;j<i;j++){if(y1(d.size[i])<=y1(d.size[j])+8&&y1(d.size[i])>=y1(d.size[j])-8){ylabelpos[i][w]=y1(d.size[i])+10*(j+2)}else{if(!ylabelpos[i][w]){ylabelpos[i][w]=y1(d.size[i])+12}}}w++;return ylabelpos[i][w-1]}}}).text(function(d){return formatData(d.size[i],MeasFormats[i],(dispObj.getpointTooltip()=="A"?0:1))}).style("fill",dispObj.colorArr[i]).attr("transform","translate("+width/(cnc.length*2)+",-15)")}w=0;if(dispObj.getShadow()){svg[0].append("path").attr("class","class"+i).attr("d",line[i](cnc)).attr("stroke",dispObj.colorArr[i%20]).attr("fill","none").attr("transform","translate("+width/(cnc.length*2)+",0)")}}updateLegendll(divId,svg,curNode,x,y,width,height,json,1,k,clickCombo,dispObj,MeasFormats)}function clickCombo(r,n,g,l,q,p,b,s,t,e,f,o,m,a){if((o==0&&n.children)||(o==1&&n.children[0].children)){l[0].selectAll("path").remove();l[0].selectAll("g").remove();l[0].selectAll("text").remove();l[0].selectAll("rect").remove();l[0].selectAll("circle").remove();if((o==1||curLogic=="next")&&n.children){curLogic="next";curNode=n}else{curNode=n.parent}plotComboChart(r,l,curNode,q,p,b,s,t,e,f,m,a)}else{alert("No further dimensions.")}}function drawSvgChart(Data,divId,Title,Width,Height,Ndim,Nmeas,MeasFormats,Dimensions,Measures,dispObj,rptId){var URL="/svgspec/svgspec_"+rptId+".txt";$.ajax({async:true,url:URL,cache:false,success:function(result){eval(result)},failure:function(result){$("div#"+divId).html("<br><center><span class=notice>No Custom SVG chart defined for this asset.</span></center>")},error:function(result){$("div#"+divId).html("<br><center><span class=notice>No Custom SVG chart defined for this asset.</span></center>")}})}var G_grid={drawGridlines:true,drawxGridlines:true,drawyGridlines:true,gridLineColor:"#DDDDDD",gridLineWidth:1,background:"#FFFFFF",drawBorder:false,borderColor:"#cccccc",borderWidth:0.5,shadow:false,shadowAngle:40,shadowOffset:1,shadowWidth:1,shadowDepth:3,shadowColor:null,shadowAlpha:"0.07"};function setGridValues(a){if(a.RD&&a.RD.Grid){G_grid.background=a.getBgColor();G_grid.drawGridlines=a.getShowGridLines();G_grid.shadow=a.getShadow();G_grid.shadowAngle=a.getShadowAngle();G_grid.shadowOffset=a.getShadowOffset();G_grid.drawBorder=a.getdrawBorder()}else{G_grid.background="#FFFFFF";G_grid.drawGridlines=true;G_grid.shadow=false;G_grid.shadowAngle=40;G_grid.shadowOffset=1;G_grid.drawBorder=false}}function wetherToSetMultipleAxes(a,c,b,e){if(e.RD&&e.RD.Axes){}else{if((a[1][c]>a[1][c+1]&&a[1][c]/a[1][c+1]>10)||(a[1][c+1]>a[1][c]&&a[1][c+1]/a[1][c]>10)){if(typeof e.RD.Axes=="undefined"){e.RD.Axes={}}e.RD.Axes.MultiAxes=true}}}function makeXtabFormats(e,g,l,f){var a=new Array();var c=0,b=0,k=0;for(c=f;c<e.length;c++){if(e[c].indexOf(l[b])>=0){a[k++]=g[b]}else{if(b<l.length-1){b++}if(e[c].indexOf(l[b])>=0){a[k++]=g[b]}}}return a}function makeDataProper(a){a=String(a).replace(/&/g,"&").replace(/$/g,"$").replace(/%/g,"%");return a}function makeDataProper1D(c,e,a){for(var b=0;b<c.length;b++){c[b]=makeDataProper(c[b])}}function makeDataProper2D(e,f,a){for(var c=0;c<e.length&&c<1;c++){for(var b=0;b<e[c].length;b++){e[c][b]=makeDataProper(e[c][b])}}for(var c=1;c<e.length;c++){for(var b=0;b<f;b++){e[c][b]=makeDataProper(e[c][b])}}}function drawCharts(s,f,p){var e=s.getgtype();var a=s.getdata();var c=s.gettitle();var A=s.getwidth();var m=s.getheight();var r=s.getdimensions();var q=s.getmeasures();var z=s.getformats();var l=s.getminmax();var k=r.length;var y=q.length;var x=s.getlayout();var g=s.dispObj;var t=new Array();for(var v=0;v<q.length;v++){var o=g.RDgetMeasureByName(q[v]);t[v]=o.color||G_seriesColors[v];a[0][k+v]=o.displayAs||a[0][k+v]}for(var u=v;u<G_seriesColors.length;u++){t[u]=G_seriesColors[u]}g.colorArr=t;y=a[0].length-k;if(x=="CrossTab"){k=k-1;y=a[0].length-k;z=makeXtabFormats(a[0],z,q,k)}var b=-1;b=parseInt(g.getTopxValues());if(b<1){b=s.gettopn()}if(isNaN(b)||b<1){b=a.length}if(a.length>b){a=a.slice(0,b+1)}wetherToSetMultipleAxes(a,k,y,g);makeDataProper2D(a,k,y);makeDataProper1D(q);makeDataProper1D(r);var n="";if(!ONEGRAPH){c=""}else{n="<"+getLabel("Title")+"> "+s.getsystitle()+" <"+getLabel("Filter")+"> "+s.getsubtitle()}if(e=="P"){setTimeout(function(){drawPieChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="D"){setTimeout(function(){drawDonutChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="B"){if(ONEGRAPH){setTimeout(function(){drawBarChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{setTimeout(function(){drawBarChart_interactive(a,f,c,A,m,k,y,z,r,q,g)},0)}}else{if(e=="L"){setTimeout(function(){drawLineChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="C"){setTimeout(function(){drawComboChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="C2"){setTimeout(function(){drawCombo2Chart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="G"){setTimeout(function(){drawGaugeChart(a,f,c,A,m,k,y,z,r,q,g,l)},0)}else{if(e=="N"){setTimeout(function(){drawColumnChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="S"){setTimeout(function(){drawStackBarChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="FUN"){setTimeout(function(){drawFunnelChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="PC"&&!ONEGRAPH){setTimeout(function(){drawParallelCoordinateChart(a,f,c,A,m,k,y,z,r,q,g)},0)}else{if(e=="SVG"){setTimeout(function(){drawSvgChart(a,f,c,A,m,k,y,z,r,q,g,p)},0)}else{if(e=="Bullet"&&!ONEGRAPH){setTimeout(function(){drawBulletChart(a,f,c,A,m,k,y,z,r,q,g,p)},0)}else{if(e=="Tree"&&!ONEGRAPH){setTimeout(function(){drawTreeChart(a,f,c,A,m,k,y,z,r,q,g,p)},0)}else{if(e=="Radar"&&!ONEGRAPH){setTimeout(function(){drawRadarChart(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="Heat"&&!ONEGRAPH){setTimeout(function(){drawHeatChart(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="Stock"&&!ONEGRAPH){setTimeout(function(){drawStockChart(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="Sun"&&!ONEGRAPH){setTimeout(function(){drawSunburst(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="ZT"&&!ONEGRAPH){setTimeout(function(){drawZoomTree(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="WF"&&!ONEGRAPH){setTimeout(function(){drawWaterfallChart(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="Cal"){setTimeout(function(){drawCalendar(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="SA"){setTimeout(function(){drawStackedAreaDate(a,f,c,A,m,k,y,z,g,n)},0)}else{if(e=="DT"){setTimeout(function(){drawTableChart(a,f,c,A,m,k,y,z,g,n)},0)}else{setTimeout(function(){drawTableChart(a,f,c,A,m,k,y,z,g,n)},0)}}}}}}}}}}}}}}}}}}}}}}}}function jqplotToImage(l){var o="";var m=$(l).find("svg.svgchart");if(m.length<1){m=$(l).find("svg.mainsvg")}if(m.length>0){var q=$(m[0]).attr("height");var f=$(m[0]).attr("width");$(m[0]).find("path.domain").filter(function(){if($(this).css("stroke")=="none"){$(this).css("stroke","none").css("fill","none")}else{$(this).css("stroke-width","1px").css("fill","none")}});$(m[0]).find("line.ygridline").css("stroke","black").css("stroke-width","1px").css("opacity","0.3").css("fill","none");var e=$(m[0]).find("rect.background").css("fill");if(e){$(m[0]).find("rect.background").css("fill",e)}var p=$(m[0]).find("path.link");if(p){p.css("fill","none").css("stroke-width","1px").css("opacity","0.5")}$(m[0]).find("rect.day").filter(function(){var s=$(this).css("fill");$(this).css("fill",s).css("stroke-opacity","0.5")});$(m[0]).find("title").remove();$(m[0]).find("text").filter(function(){if($(this).css("visibility")=="hidden"){$(this).remove()}});if($(l).find("svg").length>1){var k=$(l).find("svg:last"),a=$(k).attr("height"),c=$(k).children().html(),g=$(k).children().attr("transform");var r='<g transform="'+g.split(",")[0]+","+q+')" id=expLegend>'+c+"</g>";$(m[0]).append(r);q=parseFloat(q)+parseFloat(a);$(m[0]).attr("height",q)}var t=new XMLSerializer();var n=t.serializeToString(m[0]);b(n,f,q);if($(l).find("svg").length>1){$("#expLegend").remove();$(m[0]).attr("height",q-a)}}function b(u,x,s){var v=document.createElement("canvas");v.id="canvas";var y=document.createElement("canvas");y.width=x||500;y.height=s||500;v.appendChild(y);if(typeof FlashCanvas!="undefined"){FlashCanvas.initElement(y)}canvg(y,u,{log:true,renderCallback:function(z){if(typeof FlashCanvas!="undefined"){document.getElementById("svg").innerHTML="svg not supported"}}});window.open(y.toDataURL("image/png"))}}(function(){this.canvg=function(m,p,b){if(m==null&&p==null&&b==null){var f=document.querySelectorAll("svg");for(var k=0;k<f.length;k++){var g=f[k];var n=document.createElement("canvas");n.width=g.clientWidth;n.height=g.clientHeight;g.parentNode.insertBefore(n,g);g.parentNode.removeChild(g);var e=document.createElement("div");e.appendChild(g);canvg(n,e.innerHTML)}return}if(typeof m=="string"){m=document.getElementById(m)}if(m.svg!=null){m.svg.stop()}var l=a(b||{});if(!(m.childNodes.length==1&&m.childNodes[0].nodeName=="OBJECT")){m.svg=l}var o=m.getContext("2d");if(typeof(p.documentElement)!="undefined"){l.loadXmlDoc(o,p)}else{if(p.substr(0,1)=="<"){l.loadXml(o,p)}else{l.load(o,p)}}};function a(e){var c={opts:e};c.FRAMERATE=30;c.MAX_VIRTUAL_PIXELS=30000;c.log=function(f){};if(c.opts.log==true&&typeof(console)!="undefined"){c.log=function(f){console.log(f)}}c.init=function(f){var g=0;c.UniqueId=function(){g++;return"canvg"+g};c.Definitions={};c.Styles={};c.Animations=[];c.Images=[];c.ctx=f;c.ViewPort=new (function(){this.viewPorts=[];this.Clear=function(){this.viewPorts=[]};this.SetCurrent=function(l,k){this.viewPorts.push({width:l,height:k})};this.RemoveCurrent=function(){this.viewPorts.pop()};this.Current=function(){return this.viewPorts[this.viewPorts.length-1]};this.width=function(){return this.Current().width};this.height=function(){return this.Current().height};this.ComputeSize=function(k){if(k!=null&&typeof(k)=="number"){return k}if(k=="x"){return this.width()}if(k=="y"){return this.height()}return Math.sqrt(Math.pow(this.width(),2)+Math.pow(this.height(),2))/Math.sqrt(2)}})};c.init();c.ImagesLoaded=function(){for(var f=0;f<c.Images.length;f++){if(!c.Images[f].loaded){return false}}return true};c.trim=function(f){return f.replace(/^\s+|\s+$/g,"")};c.compressSpaces=function(f){return f.replace(/[\s\r\t\n]+/gm," ")};c.ajax=function(g){var f;if(window.XMLHttpRequest){f=new XMLHttpRequest()}else{f=new ActiveXObject("Microsoft.XMLHTTP")}if(f){f.open("GET",g,false);f.send(null);return f.responseText}return null};c.parseXml=function(f){if(typeof(Windows)!="undefined"&&typeof(Windows.Data)!="undefined"&&typeof(Windows.Data.Xml)!="undefined"){var k=new Windows.Data.Xml.Dom.XmlDocument();var g=new Windows.Data.Xml.Dom.XmlLoadSettings();g.prohibitDtd=false;k.loadXml(f,g);return k}else{if(window.DOMParser){var l=new DOMParser();return l.parseFromString(f,"text/xml")}else{f=f.replace(/<!DOCTYPE svg[^>]*>/,"");var k=new ActiveXObject("Microsoft.XMLDOM");k.async="false";k.loadXML(f);return k}}};c.Property=function(f,g){this.name=f;this.value=g};c.Property.prototype.getValue=function(){return this.value};c.Property.prototype.hasValue=function(){return(this.value!=null&&this.value!=="")};c.Property.prototype.numValue=function(){if(!this.hasValue()){return 0}var f=parseFloat(this.value);if((this.value+"").match(/%$/)){f=f/100}return f};c.Property.prototype.valueOrDefault=function(f){if(this.hasValue()){return this.value}return f};c.Property.prototype.numValueOrDefault=function(f){if(this.hasValue()){return this.numValue()}return f};c.Property.prototype.addOpacity=function(k){var g=this.value;if(k.value!=null&&k.value!=""&&typeof(this.value)=="string"){var f=new RGBColor(this.value);if(f.ok){g="rgba("+f.r+", "+f.g+", "+f.b+", "+k.numValue()+")"}}return new c.Property(this.name,g)};c.Property.prototype.getDefinition=function(){var f=this.value.match(/#([^\)'"]+)/);if(f){f=f[1]}if(!f){f=this.value}return c.Definitions[f]};c.Property.prototype.isUrlDefinition=function(){return this.value.indexOf("url(")==0};c.Property.prototype.getFillStyleDefinition=function(l,k){var f=this.getDefinition();if(f!=null&&f.createGradient){return f.createGradient(c.ctx,l,k)}if(f!=null&&f.createPattern){if(f.getHrefAttribute().hasValue()){var g=f.attribute("patternTransform");f=f.getHrefAttribute().getDefinition();if(g.hasValue()){f.attribute("patternTransform",true).value=g.value}}return f.createPattern(c.ctx,l)}return null};c.Property.prototype.getDPI=function(f){return 96};c.Property.prototype.getEM=function(k){var f=12;var g=new c.Property("fontSize",c.Font.Parse(c.ctx.font).fontSize);if(g.hasValue()){f=g.toPixels(k)}return f};c.Property.prototype.getUnits=function(){var f=this.value+"";return f.replace(/[0-9\.\-]/g,"")};c.Property.prototype.toPixels=function(k,f){if(!this.hasValue()){return 0}var g=this.value+"";if(g.match(/em$/)){return this.numValue()*this.getEM(k)}if(g.match(/ex$/)){return this.numValue()*this.getEM(k)/2}if(g.match(/px$/)){return this.numValue()}if(g.match(/pt$/)){return this.numValue()*this.getDPI(k)*(1/72)}if(g.match(/pc$/)){return this.numValue()*15}if(g.match(/cm$/)){return this.numValue()*this.getDPI(k)/2.54}if(g.match(/mm$/)){return this.numValue()*this.getDPI(k)/25.4}if(g.match(/in$/)){return this.numValue()*this.getDPI(k)}if(g.match(/%$/)){return this.numValue()*c.ViewPort.ComputeSize(k)}var l=this.numValue();if(f&&l<1){return l*c.ViewPort.ComputeSize(k)}return l};c.Property.prototype.toMilliseconds=function(){if(!this.hasValue()){return 0}var f=this.value+"";if(f.match(/s$/)){return this.numValue()*1000}if(f.match(/ms$/)){return this.numValue()}return this.numValue()};c.Property.prototype.toRadians=function(){if(!this.hasValue()){return 0}var f=this.value+"";if(f.match(/deg$/)){return this.numValue()*(Math.PI/180)}if(f.match(/grad$/)){return this.numValue()*(Math.PI/200)}if(f.match(/rad$/)){return this.numValue()}return this.numValue()*(Math.PI/180)};var b={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};c.Property.prototype.toTextBaseline=function(){if(!this.hasValue()){return null}return b[this.value]};c.Font=new (function(){this.Styles="normal|italic|oblique|inherit";this.Variants="normal|small-caps|inherit";this.Weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";this.CreateFont=function(p,m,k,o,g,l){var n=l!=null?this.Parse(l):this.CreateFont("","","","","",c.ctx.font);return{fontFamily:g||n.fontFamily,fontSize:o||n.fontSize,fontStyle:p||n.fontStyle,fontWeight:k||n.fontWeight,fontVariant:m||n.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var f=this;this.Parse=function(l){var m={};var n=c.trim(c.compressSpaces(l||"")).split(" ");var o={fontSize:false,fontStyle:false,fontWeight:false,fontVariant:false};var g="";for(var k=0;k<n.length;k++){if(!o.fontStyle&&f.Styles.indexOf(n[k])!=-1){if(n[k]!="inherit"){m.fontStyle=n[k]}o.fontStyle=true}else{if(!o.fontVariant&&f.Variants.indexOf(n[k])!=-1){if(n[k]!="inherit"){m.fontVariant=n[k]}o.fontStyle=o.fontVariant=true}else{if(!o.fontWeight&&f.Weights.indexOf(n[k])!=-1){if(n[k]!="inherit"){m.fontWeight=n[k]}o.fontStyle=o.fontVariant=o.fontWeight=true}else{if(!o.fontSize){if(n[k]!="inherit"){m.fontSize=n[k].split("/")[0]}o.fontStyle=o.fontVariant=o.fontWeight=o.fontSize=true}else{if(n[k]!="inherit"){g+=n[k]}}}}}}if(g!=""){m.fontFamily=g}return m}});c.ToNumberArray=function(k){var f=c.trim(c.compressSpaces((k||"").replace(/,/g," "))).split(" ");for(var g=0;g<f.length;g++){f[g]=parseFloat(f[g])}return f};c.Point=function(f,g){this.x=f;this.y=g};c.Point.prototype.angleTo=function(f){return Math.atan2(f.y-this.y,f.x-this.x)};c.Point.prototype.applyTransform=function(f){var g=this.x*f[0]+this.y*f[2]+f[4];var k=this.x*f[1]+this.y*f[3]+f[5];this.x=g;this.y=k};c.CreatePoint=function(g){var f=c.ToNumberArray(g);return new c.Point(f[0],f[1])};c.CreatePath=function(k){var f=c.ToNumberArray(k);var l=[];for(var g=0;g<f.length;g+=2){l.push(new c.Point(f[g],f[g+1]))}return l};c.BoundingBox=function(g,l,f,k){this.x1=Number.NaN;this.y1=Number.NaN;this.x2=Number.NaN;this.y2=Number.NaN;this.x=function(){return this.x1};this.y=function(){return this.y1};this.width=function(){return this.x2-this.x1};this.height=function(){return this.y2-this.y1};this.addPoint=function(m,n){if(m!=null){if(isNaN(this.x1)||isNaN(this.x2)){this.x1=m;this.x2=m}if(m<this.x1){this.x1=m}if(m>this.x2){this.x2=m}}if(n!=null){if(isNaN(this.y1)||isNaN(this.y2)){this.y1=n;this.y2=n}if(n<this.y1){this.y1=n}if(n>this.y2){this.y2=n}}};this.addX=function(m){this.addPoint(m,null)};this.addY=function(m){this.addPoint(null,m)};this.addBoundingBox=function(m){this.addPoint(m.x1,m.y1);this.addPoint(m.x2,m.y2)};this.addQuadraticCurve=function(r,q,n,m,t,s){var p=r+2/3*(n-r);var o=q+2/3*(m-q);var v=p+1/3*(t-r);var u=o+1/3*(s-q);this.addBezierCurve(r,q,p,v,o,u,t,s)};this.addBezierCurve=function(B,A,q,o,x,u,D,C){var r=[B,A],p=[q,o],n=[x,u],m=[D,C];this.addPoint(r[0],r[1]);this.addPoint(m[0],m[1]);for(i=0;i<=1;i++){var E=function(I){return Math.pow(1-I,3)*r[i]+3*Math.pow(1-I,2)*I*p[i]+3*(1-I)*Math.pow(I,2)*n[i]+Math.pow(I,3)*m[i]};var G=6*r[i]-12*p[i]+6*n[i];var H=-3*r[i]+9*p[i]-9*n[i]+3*m[i];var F=3*p[i]-3*r[i];if(H==0){if(G==0){continue}var z=-F/G;if(0<z&&z<1){if(i==0){this.addX(E(z))}if(i==1){this.addY(E(z))}}continue}var s=Math.pow(G,2)-4*F*H;if(s<0){continue}var y=(-G+Math.sqrt(s))/(2*H);if(0<y&&y<1){if(i==0){this.addX(E(y))}if(i==1){this.addY(E(y))}}var v=(-G-Math.sqrt(s))/(2*H);if(0<v&&v<1){if(i==0){this.addX(E(v))}if(i==1){this.addY(E(v))}}}};this.isPointInBox=function(m,n){return(this.x1<=m&&m<=this.x2&&this.y1<=n&&n<=this.y2)};this.addPoint(g,l);this.addPoint(f,k)};c.Transform=function(f){var n=this;this.Type={};this.Type.translate=function(p){this.p=c.CreatePoint(p);this.apply=function(q){q.translate(this.p.x||0,this.p.y||0)};this.unapply=function(q){q.translate(-1*this.p.x||0,-1*this.p.y||0)};this.applyToPoint=function(q){q.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0])}};this.Type.rotate=function(q){var p=c.ToNumberArray(q);this.angle=new c.Property("angle",p[0]);this.cx=p[1]||0;this.cy=p[2]||0;this.apply=function(r){r.translate(this.cx,this.cy);r.rotate(this.angle.toRadians());r.translate(-this.cx,-this.cy)};this.unapply=function(r){r.translate(this.cx,this.cy);r.rotate(-1*this.angle.toRadians());r.translate(-this.cx,-this.cy)};this.applyToPoint=function(s){var r=this.angle.toRadians();s.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0]);s.applyTransform([Math.cos(r),Math.sin(r),-Math.sin(r),Math.cos(r),0,0]);s.applyTransform([1,0,0,1,-this.p.x||0,-this.p.y||0])}};this.Type.scale=function(p){this.p=c.CreatePoint(p);this.apply=function(q){q.scale(this.p.x||1,this.p.y||this.p.x||1)};this.unapply=function(q){q.scale(1/this.p.x||1,1/this.p.y||this.p.x||1)};this.applyToPoint=function(q){q.applyTransform([this.p.x||0,0,0,this.p.y||0,0,0])}};this.Type.matrix=function(p){this.m=c.ToNumberArray(p);this.apply=function(q){q.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])};this.unapply=function(B){var A=this.m[0];var z=this.m[2];var y=this.m[4];var x=this.m[1];var v=this.m[3];var u=this.m[5];var s=0;var r=0;var q=1;var t=1/(A*(v*q-u*r)-z*(x*q-u*s)+y*(x*r-v*s));B.transform(t*(v*q-u*r),t*(u*s-x*q),t*(y*r-z*q),t*(A*q-y*s),t*(z*u-y*v),t*(y*x-A*u))};this.applyToPoint=function(q){q.applyTransform(this.m)}};this.Type.SkewBase=function(p){this.base=n.Type.matrix;this.base(p);this.angle=new c.Property("angle",p)};this.Type.SkewBase.prototype=new this.Type.matrix;this.Type.skewX=function(p){this.base=n.Type.SkewBase;this.base(p);this.m=[1,0,Math.tan(this.angle.toRadians()),1,0,0]};this.Type.skewX.prototype=new this.Type.SkewBase;this.Type.skewY=function(p){this.base=n.Type.SkewBase;this.base(p);this.m=[1,Math.tan(this.angle.toRadians()),0,1,0,0]};this.Type.skewY.prototype=new this.Type.SkewBase;this.transforms=[];this.apply=function(p){for(var q=0;q<this.transforms.length;q++){this.transforms[q].apply(p)}};this.unapply=function(p){for(var q=this.transforms.length-1;q>=0;q--){this.transforms[q].unapply(p)}};this.applyToPoint=function(r){for(var q=0;q<this.transforms.length;q++){this.transforms[q].applyToPoint(r)}};var o=c.trim(c.compressSpaces(f)).replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/);for(var k=0;k<o.length;k++){var m=c.trim(o[k].split("(")[0]);var l=o[k].split("(")[1].replace(")","");var g=new this.Type[m](l);g.type=m;this.transforms.push(g)}};c.AspectRatio=function(y,v,g,p,x,f,m,l,u,t){v=c.compressSpaces(v);v=v.replace(/^defer\s/,"");var o=v.split(" ")[0]||"xMidYMid";var k=v.split(" ")[1]||"meet";var s=g/p;var r=x/f;var n=Math.min(s,r);var q=Math.max(s,r);if(k=="meet"){p*=n;f*=n}if(k=="slice"){p*=q;f*=q}u=new c.Property("refX",u);t=new c.Property("refY",t);if(u.hasValue()&&t.hasValue()){y.translate(-n*u.toPixels("x"),-n*t.toPixels("y"))}else{if(o.match(/^xMid/)&&((k=="meet"&&n==r)||(k=="slice"&&q==r))){y.translate(g/2-p/2,0)}if(o.match(/YMid$/)&&((k=="meet"&&n==s)||(k=="slice"&&q==s))){y.translate(0,x/2-f/2)}if(o.match(/^xMax/)&&((k=="meet"&&n==r)||(k=="slice"&&q==r))){y.translate(g-p,0)}if(o.match(/YMax$/)&&((k=="meet"&&n==s)||(k=="slice"&&q==s))){y.translate(0,x-f)}}if(o=="none"){y.scale(s,r)}else{if(k=="meet"){y.scale(n,n)}else{if(k=="slice"){y.scale(q,q)}}}y.translate(m==null?0:-m,l==null?0:-l)};c.Element={};c.EmptyProperty=new c.Property("EMPTY","");c.Element.ElementBase=function(m){this.attributes={};this.styles={};this.children=[];this.attribute=function(u,v){var t=this.attributes[u];if(t!=null){return t}if(v==true){t=new c.Property(u,"");this.attributes[u]=t}return t||c.EmptyProperty};this.getHrefAttribute=function(){for(var t in this.attributes){if(t.match(/:href$/)){return this.attributes[t]}}return c.EmptyProperty};this.style=function(v,A,t){var x=this.styles[v];if(x!=null){return x}var u=this.attribute(v);if(u!=null&&u.hasValue()){this.styles[v]=u;return u}if(t!=true){var y=this.parent;if(y!=null){var z=y.style(v);if(z!=null&&z.hasValue()){return z}}}if(A==true){x=new c.Property(v,"");this.styles[v]=x}return x||c.EmptyProperty};this.render=function(u){if(this.style("display").value=="none"){return}if(this.style("visibility").value=="hidden"){return}u.save();if(this.attribute("mask").hasValue()){var t=this.attribute("mask").getDefinition();if(t!=null){t.apply(u,this)}}else{if(this.style("filter").hasValue()){var v=this.style("filter").getDefinition();if(v!=null){v.apply(u,this)}}else{this.setContext(u);this.renderChildren(u);this.clearContext(u)}}u.restore()};this.setContext=function(t){};this.clearContext=function(t){};this.renderChildren=function(t){for(var u=0;u<this.children.length;u++){this.children[u].render(t)}};this.addChild=function(u,t){var v=u;if(t){v=c.CreateElement(u)}v.parent=this;if(v.type!="title"){this.children.push(v)}};if(m!=null&&m.nodeType==1){for(var p=0;p<m.attributes.length;p++){var l=m.attributes[p];this.attributes[l.nodeName]=new c.Property(l.nodeName,l.nodeValue)}var s=c.Styles[m.nodeName];if(s!=null){for(var k in s){this.styles[k]=s[k]}}if(this.attribute("class").hasValue()){var n=c.compressSpaces(this.attribute("class").value).split(" ");for(var o=0;o<n.length;o++){s=c.Styles["."+n[o]];if(s!=null){for(var k in s){this.styles[k]=s[k]}}s=c.Styles[m.nodeName+"."+n[o]];if(s!=null){for(var k in s){this.styles[k]=s[k]}}}}if(this.attribute("id").hasValue()){var s=c.Styles["#"+this.attribute("id").value];if(s!=null){for(var k in s){this.styles[k]=s[k]}}}if(this.attribute("style").hasValue()){var s=this.attribute("style").value.split(";");for(var p=0;p<s.length;p++){if(c.trim(s[p])!=""){var g=s[p].split(":");var k=c.trim(g[0]);var q=c.trim(g[1]);this.styles[k]=new c.Property(k,q)}}}if(this.attribute("id").hasValue()){if(c.Definitions[this.attribute("id").value]==null){c.Definitions[this.attribute("id").value]=this}}for(var p=0;p<m.childNodes.length;p++){var f=m.childNodes[p];if(f.nodeType==1){this.addChild(f,true)}if(this.captureTextNodes&&(f.nodeType==3||f.nodeType==4)){var r=f.nodeValue||f.text||"";if(c.trim(c.compressSpaces(r))!=""){this.addChild(new c.Element.tspan(f),false)}}}}};c.Element.RenderedElementBase=function(f){this.base=c.Element.ElementBase;this.base(f);this.setContext=function(r){if(this.style("fill").isUrlDefinition()){var o=this.style("fill").getFillStyleDefinition(this,this.style("fill-opacity"));if(o!=null){r.fillStyle=o}}else{if(this.style("fill").hasValue()){var q=this.style("fill");if(q.value=="currentColor"){q.value=this.style("color").value}if(q.value!="inherit"){r.fillStyle=(q.value=="none"?"rgba(0,0,0,0)":q.value)}}}if(this.style("fill-opacity").hasValue()){var q=new c.Property("fill",r.fillStyle);q=q.addOpacity(this.style("fill-opacity"));r.fillStyle=q.value}if(this.style("stroke").isUrlDefinition()){var o=this.style("stroke").getFillStyleDefinition(this,this.style("stroke-opacity"));if(o!=null){r.strokeStyle=o}}else{if(this.style("stroke").hasValue()){var p=this.style("stroke");if(p.value=="currentColor"){p.value=this.style("color").value}if(p.value!="inherit"){r.strokeStyle=(p.value=="none"?"rgba(0,0,0,0)":p.value)}}}if(this.style("stroke-opacity").hasValue()){var p=new c.Property("stroke",r.strokeStyle);p=p.addOpacity(this.style("stroke-opacity"));r.strokeStyle=p.value}if(this.style("stroke-width").hasValue()){var n=this.style("stroke-width").toPixels();r.lineWidth=n==0?0.001:n}if(this.style("stroke-linecap").hasValue()){r.lineCap=this.style("stroke-linecap").value}if(this.style("stroke-linejoin").hasValue()){r.lineJoin=this.style("stroke-linejoin").value}if(this.style("stroke-miterlimit").hasValue()){r.miterLimit=this.style("stroke-miterlimit").value}if(this.style("stroke-dasharray").hasValue()&&this.style("stroke-dasharray").value!="none"){var l=c.ToNumberArray(this.style("stroke-dasharray").value);if(typeof(r.setLineDash)!="undefined"){r.setLineDash(l)}else{if(typeof(r.webkitLineDash)!="undefined"){r.webkitLineDash=l}else{if(typeof(r.mozDash)!="undefined"&&!(l.length==1&&l[0]==0)){r.mozDash=l}}}var m=this.style("stroke-dashoffset").numValueOrDefault(1);if(typeof(r.lineDashOffset)!="undefined"){r.lineDashOffset=m}else{if(typeof(r.webkitLineDashOffset)!="undefined"){r.webkitLineDashOffset=m}else{if(typeof(r.mozDashOffset)!="undefined"){r.mozDashOffset=m}}}}if(typeof(r.font)!="undefined"){r.font=c.Font.CreateFont(this.style("font-style").value,this.style("font-variant").value,this.style("font-weight").value,this.style("font-size").hasValue()?this.style("font-size").toPixels()+"px":"",this.style("font-family").value).toString()}if(this.attribute("transform").hasValue()){var g=new c.Transform(this.attribute("transform").value);g.apply(r)}if(this.style("clip-path",false,true).hasValue()){var k=this.style("clip-path",false,true).getDefinition();if(k!=null){k.apply(r)}}if(this.style("opacity").hasValue()){r.globalAlpha=this.style("opacity").numValue()}}};c.Element.RenderedElementBase.prototype=new c.Element.ElementBase;c.Element.PathElementBase=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.path=function(g){if(g!=null){g.beginPath()}return new c.BoundingBox()};this.renderChildren=function(k){this.path(k);c.Mouse.checkPath(this,k);if(k.fillStyle!=""){if(this.style("fill-rule").valueOrDefault("inherit")!="inherit"){k.fill(this.style("fill-rule").value)}else{k.fill()}}if(k.strokeStyle!=""){k.stroke()}var m=this.getMarkers();if(m!=null){if(this.style("marker-start").isUrlDefinition()){var g=this.style("marker-start").getDefinition();g.render(k,m[0][0],m[0][1])}if(this.style("marker-mid").isUrlDefinition()){var g=this.style("marker-mid").getDefinition();for(var l=1;l<m.length-1;l++){g.render(k,m[l][0],m[l][1])}}if(this.style("marker-end").isUrlDefinition()){var g=this.style("marker-end").getDefinition();g.render(k,m[m.length-1][0],m[m.length-1][1])}}};this.getBoundingBox=function(){return this.path()};this.getMarkers=function(){return null}};c.Element.PathElementBase.prototype=new c.Element.RenderedElementBase;c.Element.svg=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.baseClearContext=this.clearContext;this.clearContext=function(g){this.baseClearContext(g);c.ViewPort.RemoveCurrent()};this.baseSetContext=this.setContext;this.setContext=function(m){m.strokeStyle="rgba(0,0,0,0)";m.lineCap="butt";m.lineJoin="miter";m.miterLimit=4;if(typeof(m.font)!="undefined"&&typeof(window.getComputedStyle)!="undefined"){m.font=window.getComputedStyle(m.canvas).getPropertyValue("font")}this.baseSetContext(m);if(!this.attribute("x").hasValue()){this.attribute("x",true).value=0}if(!this.attribute("y").hasValue()){this.attribute("y",true).value=0}m.translate(this.attribute("x").toPixels("x"),this.attribute("y").toPixels("y"));var n=c.ViewPort.width();var l=c.ViewPort.height();if(!this.attribute("width").hasValue()){this.attribute("width",true).value="100%"}if(!this.attribute("height").hasValue()){this.attribute("height",true).value="100%"}if(typeof(this.root)=="undefined"){n=this.attribute("width").toPixels("x");l=this.attribute("height").toPixels("y");var k=0;var q=0;if(this.attribute("refX").hasValue()&&this.attribute("refY").hasValue()){k=-this.attribute("refX").toPixels("x");q=-this.attribute("refY").toPixels("y")}if(this.attribute("overflow").valueOrDefault("hidden")!="visible"){m.beginPath();m.moveTo(k,q);m.lineTo(n,q);m.lineTo(n,l);m.lineTo(k,l);m.closePath();m.clip()}}c.ViewPort.SetCurrent(n,l);if(this.attribute("viewBox").hasValue()){var o=c.ToNumberArray(this.attribute("viewBox").value);var g=o[0];var p=o[1];n=o[2];l=o[3];c.AspectRatio(m,this.attribute("preserveAspectRatio").value,c.ViewPort.width(),n,c.ViewPort.height(),l,g,p,this.attribute("refX").value,this.attribute("refY").value);c.ViewPort.RemoveCurrent();c.ViewPort.SetCurrent(o[2],o[3])}}};c.Element.svg.prototype=new c.Element.RenderedElementBase;c.Element.rect=function(f){this.base=c.Element.PathElementBase;this.base(f);this.path=function(l){var k=this.attribute("x").toPixels("x");var p=this.attribute("y").toPixels("y");var m=this.attribute("width").toPixels("x");var g=this.attribute("height").toPixels("y");var o=this.attribute("rx").toPixels("x");var n=this.attribute("ry").toPixels("y");if(this.attribute("rx").hasValue()&&!this.attribute("ry").hasValue()){n=o}if(this.attribute("ry").hasValue()&&!this.attribute("rx").hasValue()){o=n}o=Math.min(o,m/2);n=Math.min(n,g/2);if(l!=null){l.beginPath();l.moveTo(k+o,p);l.lineTo(k+m-o,p);l.quadraticCurveTo(k+m,p,k+m,p+n);l.lineTo(k+m,p+g-n);l.quadraticCurveTo(k+m,p+g,k+m-o,p+g);l.lineTo(k+o,p+g);l.quadraticCurveTo(k,p+g,k,p+g-n);l.lineTo(k,p+n);l.quadraticCurveTo(k,p,k+o,p);l.closePath()}return new c.BoundingBox(k,p,k+m,p+g)}};c.Element.rect.prototype=new c.Element.PathElementBase;c.Element.circle=function(f){this.base=c.Element.PathElementBase;this.base(f);this.path=function(k){var g=this.attribute("cx").toPixels("x");var m=this.attribute("cy").toPixels("y");var l=this.attribute("r").toPixels();if(k!=null){k.beginPath();k.arc(g,m,l,0,Math.PI*2,true);k.closePath()}return new c.BoundingBox(g-l,m-l,g+l,m+l)}};c.Element.circle.prototype=new c.Element.PathElementBase;c.Element.ellipse=function(f){this.base=c.Element.PathElementBase;this.base(f);this.path=function(k){var m=4*((Math.sqrt(2)-1)/3);var n=this.attribute("rx").toPixels("x");var l=this.attribute("ry").toPixels("y");var g=this.attribute("cx").toPixels("x");var o=this.attribute("cy").toPixels("y");if(k!=null){k.beginPath();k.moveTo(g,o-l);k.bezierCurveTo(g+(m*n),o-l,g+n,o-(m*l),g+n,o);k.bezierCurveTo(g+n,o+(m*l),g+(m*n),o+l,g,o+l);k.bezierCurveTo(g-(m*n),o+l,g-n,o+(m*l),g-n,o);k.bezierCurveTo(g-n,o-(m*l),g-(m*n),o-l,g,o-l);k.closePath()}return new c.BoundingBox(g-n,o-l,g+n,o+l)}};c.Element.ellipse.prototype=new c.Element.PathElementBase;c.Element.line=function(f){this.base=c.Element.PathElementBase;this.base(f);this.getPoints=function(){return[new c.Point(this.attribute("x1").toPixels("x"),this.attribute("y1").toPixels("y")),new c.Point(this.attribute("x2").toPixels("x"),this.attribute("y2").toPixels("y"))]};this.path=function(g){var k=this.getPoints();if(g!=null){g.beginPath();g.moveTo(k[0].x,k[0].y);g.lineTo(k[1].x,k[1].y)}return new c.BoundingBox(k[0].x,k[0].y,k[1].x,k[1].y)};this.getMarkers=function(){var k=this.getPoints();var g=k[0].angleTo(k[1]);return[[k[0],g],[k[1],g]]}};c.Element.line.prototype=new c.Element.PathElementBase;c.Element.polyline=function(f){this.base=c.Element.PathElementBase;this.base(f);this.points=c.CreatePath(this.attribute("points").value);this.path=function(g){var l=new c.BoundingBox(this.points[0].x,this.points[0].y);if(g!=null){g.beginPath();g.moveTo(this.points[0].x,this.points[0].y)}for(var k=1;k<this.points.length;k++){l.addPoint(this.points[k].x,this.points[k].y);if(g!=null){g.lineTo(this.points[k].x,this.points[k].y)}}return l};this.getMarkers=function(){var k=[];for(var g=0;g<this.points.length-1;g++){k.push([this.points[g],this.points[g].angleTo(this.points[g+1])])}k.push([this.points[this.points.length-1],k[k.length-1][1]]);return k}};c.Element.polyline.prototype=new c.Element.PathElementBase;c.Element.polygon=function(f){this.base=c.Element.polyline;this.base(f);this.basePath=this.path;this.path=function(g){var k=this.basePath(g);if(g!=null){g.lineTo(this.points[0].x,this.points[0].y);g.closePath()}return k}};c.Element.polygon.prototype=new c.Element.polyline;c.Element.path=function(f){this.base=c.Element.PathElementBase;this.base(f);var g=this.attribute("d").value;g=g.replace(/,/gm," ");g=g.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");g=g.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");g=g.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm,"$1 $2");g=g.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");g=g.replace(/([0-9])([+\-])/gm,"$1 $2");g=g.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");g=g.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");g=c.compressSpaces(g);g=c.trim(g);this.PathParser=new (function(k){this.tokens=k.split(" ");this.reset=function(){this.i=-1;this.command="";this.previousCommand="";this.start=new c.Point(0,0);this.control=new c.Point(0,0);this.current=new c.Point(0,0);this.points=[];this.angles=[]};this.isEnd=function(){return this.i>=this.tokens.length-1};this.isCommandOrEnd=function(){if(this.isEnd()){return true}return this.tokens[this.i+1].match(/^[A-Za-z]$/)!=null};this.isRelativeCommand=function(){switch(this.command){case"m":case"l":case"h":case"v":case"c":case"s":case"q":case"t":case"a":case"z":return true;break}return false};this.getToken=function(){this.i++;return this.tokens[this.i]};this.getScalar=function(){return parseFloat(this.getToken())};this.nextCommand=function(){this.previousCommand=this.command;this.command=this.getToken()};this.getPoint=function(){var l=new c.Point(this.getScalar(),this.getScalar());return this.makeAbsolute(l)};this.getAsControlPoint=function(){var l=this.getPoint();this.control=l;return l};this.getAsCurrentPoint=function(){var l=this.getPoint();this.current=l;return l};this.getReflectedControlPoint=function(){if(this.previousCommand.toLowerCase()!="c"&&this.previousCommand.toLowerCase()!="s"&&this.previousCommand.toLowerCase()!="q"&&this.previousCommand.toLowerCase()!="t"){return this.current}var l=new c.Point(2*this.current.x-this.control.x,2*this.current.y-this.control.y);return l};this.makeAbsolute=function(l){if(this.isRelativeCommand()){l.x+=this.current.x;l.y+=this.current.y}return l};this.addMarker=function(m,n,l){if(l!=null&&this.angles.length>0&&this.angles[this.angles.length-1]==null){this.angles[this.angles.length-1]=this.points[this.points.length-1].angleTo(l)}this.addMarkerAngle(m,n==null?null:n.angleTo(m))};this.addMarkerAngle=function(m,l){this.points.push(m);this.angles.push(l)};this.getMarkerPoints=function(){return this.points};this.getMarkerAngles=function(){for(var m=0;m<this.angles.length;m++){if(this.angles[m]==null){for(var l=m+1;l<this.angles.length;l++){if(this.angles[l]!=null){this.angles[m]=this.angles[l];break}}}}return this.angles}})(g);this.path=function(O){var Q=this.PathParser;Q.reset();var B=new c.BoundingBox();if(O!=null){O.beginPath()}while(!Q.isEnd()){Q.nextCommand();switch(Q.command){case"M":case"m":var L=Q.getAsCurrentPoint();Q.addMarker(L);B.addPoint(L.x,L.y);if(O!=null){O.moveTo(L.x,L.y)}Q.start=Q.current;while(!Q.isCommandOrEnd()){var L=Q.getAsCurrentPoint();Q.addMarker(L,Q.start);B.addPoint(L.x,L.y);if(O!=null){O.lineTo(L.x,L.y)}}break;case"L":case"l":while(!Q.isCommandOrEnd()){var U=Q.current;var L=Q.getAsCurrentPoint();Q.addMarker(L,U);B.addPoint(L.x,L.y);if(O!=null){O.lineTo(L.x,L.y)}}break;case"H":case"h":while(!Q.isCommandOrEnd()){var o=new c.Point((Q.isRelativeCommand()?Q.current.x:0)+Q.getScalar(),Q.current.y);Q.addMarker(o,Q.current);Q.current=o;B.addPoint(Q.current.x,Q.current.y);if(O!=null){O.lineTo(Q.current.x,Q.current.y)}}break;case"V":case"v":while(!Q.isCommandOrEnd()){var o=new c.Point(Q.current.x,(Q.isRelativeCommand()?Q.current.y:0)+Q.getScalar());Q.addMarker(o,Q.current);Q.current=o;B.addPoint(Q.current.x,Q.current.y);if(O!=null){O.lineTo(Q.current.x,Q.current.y)}}break;case"C":case"c":while(!Q.isCommandOrEnd()){var S=Q.current;var t=Q.getPoint();var x=Q.getAsControlPoint();var D=Q.getAsCurrentPoint();Q.addMarker(D,x,t);B.addBezierCurve(S.x,S.y,t.x,t.y,x.x,x.y,D.x,D.y);if(O!=null){O.bezierCurveTo(t.x,t.y,x.x,x.y,D.x,D.y)}}break;case"S":case"s":while(!Q.isCommandOrEnd()){var S=Q.current;var t=Q.getReflectedControlPoint();var x=Q.getAsControlPoint();var D=Q.getAsCurrentPoint();Q.addMarker(D,x,t);B.addBezierCurve(S.x,S.y,t.x,t.y,x.x,x.y,D.x,D.y);if(O!=null){O.bezierCurveTo(t.x,t.y,x.x,x.y,D.x,D.y)}}break;case"Q":case"q":while(!Q.isCommandOrEnd()){var S=Q.current;var x=Q.getAsControlPoint();var D=Q.getAsCurrentPoint();Q.addMarker(D,x,x);B.addQuadraticCurve(S.x,S.y,x.x,x.y,D.x,D.y);if(O!=null){O.quadraticCurveTo(x.x,x.y,D.x,D.y)}}break;case"T":case"t":while(!Q.isCommandOrEnd()){var S=Q.current;var x=Q.getReflectedControlPoint();Q.control=x;var D=Q.getAsCurrentPoint();Q.addMarker(D,x,x);B.addQuadraticCurve(S.x,S.y,x.x,x.y,D.x,D.y);if(O!=null){O.quadraticCurveTo(x.x,x.y,D.x,D.y)}}break;case"A":case"a":while(!Q.isCommandOrEnd()){var S=Q.current;var A=Q.getScalar();var z=Q.getScalar();var n=Q.getScalar()*(Math.PI/180);var C=Q.getScalar();var y=Q.getScalar();var D=Q.getAsCurrentPoint();var X=new c.Point(Math.cos(n)*(S.x-D.x)/2+Math.sin(n)*(S.y-D.y)/2,-Math.sin(n)*(S.x-D.x)/2+Math.cos(n)*(S.y-D.y)/2);var P=Math.pow(X.x,2)/Math.pow(A,2)+Math.pow(X.y,2)/Math.pow(z,2);if(P>1){A*=Math.sqrt(P);z*=Math.sqrt(P)}var H=(C==y?-1:1)*Math.sqrt(((Math.pow(A,2)*Math.pow(z,2))-(Math.pow(A,2)*Math.pow(X.y,2))-(Math.pow(z,2)*Math.pow(X.x,2)))/(Math.pow(A,2)*Math.pow(X.y,2)+Math.pow(z,2)*Math.pow(X.x,2)));if(isNaN(H)){H=0}var G=new c.Point(H*A*X.y/z,H*-z*X.x/A);var q=new c.Point((S.x+D.x)/2+Math.cos(n)*G.x-Math.sin(n)*G.y,(S.y+D.y)/2+Math.sin(n)*G.x+Math.cos(n)*G.y);var N=function(l){return Math.sqrt(Math.pow(l[0],2)+Math.pow(l[1],2))};var J=function(m,l){return(m[0]*l[0]+m[1]*l[1])/(N(m)*N(l))};var V=function(m,l){return(m[0]*l[1]<m[1]*l[0]?-1:1)*Math.acos(J(m,l))};var W=V([1,0],[(X.x-G.x)/A,(X.y-G.y)/z]);var F=[(X.x-G.x)/A,(X.y-G.y)/z];var E=[(-X.x-G.x)/A,(-X.y-G.y)/z];var T=V(F,E);if(J(F,E)<=-1){T=Math.PI}if(J(F,E)>=1){T=0}var M=1-y?1:-1;var R=W+M*(T/2);var k=new c.Point(q.x+A*Math.cos(R),q.y+z*Math.sin(R));Q.addMarkerAngle(k,R-M*Math.PI/2);Q.addMarkerAngle(D,R-M*Math.PI);B.addPoint(D.x,D.y);if(O!=null){var J=A>z?A:z;var K=A>z?1:A/z;var I=A>z?z/A:1;O.translate(q.x,q.y);O.rotate(n);O.scale(K,I);O.arc(0,0,J,W,W+T,1-y);O.scale(1/K,1/I);O.rotate(-n);O.translate(-q.x,-q.y)}}break;case"Z":case"z":if(O!=null){O.closePath()}Q.current=Q.start}}return B};this.getMarkers=function(){var l=this.PathParser.getMarkerPoints();var n=this.PathParser.getMarkerAngles();var m=[];for(var k=0;k<l.length;k++){m.push([l[k],n[k]])}return m}};c.Element.path.prototype=new c.Element.PathElementBase;c.Element.pattern=function(f){this.base=c.Element.ElementBase;this.base(f);this.createPattern=function(s,l){var g=this.attribute("width").toPixels("x",true);var r=this.attribute("height").toPixels("y",true);var p=new c.Element.svg();p.attributes.viewBox=new c.Property("viewBox",this.attribute("viewBox").value);p.attributes.width=new c.Property("width",g+"px");p.attributes.height=new c.Property("height",r+"px");p.attributes.transform=new c.Property("transform",this.attribute("patternTransform").value);p.children=this.children;var n=document.createElement("canvas");n.width=g;n.height=r;var k=n.getContext("2d");if(this.attribute("x").hasValue()&&this.attribute("y").hasValue()){k.translate(this.attribute("x").toPixels("x",true),this.attribute("y").toPixels("y",true))}for(var q=-1;q<=1;q++){for(var o=-1;o<=1;o++){k.save();k.translate(q*n.width,o*n.height);p.render(k);k.restore()}}var m=s.createPattern(n,"repeat");return m}};c.Element.pattern.prototype=new c.Element.ElementBase;c.Element.marker=function(f){this.base=c.Element.ElementBase;this.base(f);this.baseRender=this.render;this.render=function(k,g,m){k.translate(g.x,g.y);if(this.attribute("orient").valueOrDefault("auto")=="auto"){k.rotate(m)}if(this.attribute("markerUnits").valueOrDefault("strokeWidth")=="strokeWidth"){k.scale(k.lineWidth,k.lineWidth)}k.save();var l=new c.Element.svg();l.attributes.viewBox=new c.Property("viewBox",this.attribute("viewBox").value);l.attributes.refX=new c.Property("refX",this.attribute("refX").value);l.attributes.refY=new c.Property("refY",this.attribute("refY").value);l.attributes.width=new c.Property("width",this.attribute("markerWidth").value);l.attributes.height=new c.Property("height",this.attribute("markerHeight").value);l.attributes.fill=new c.Property("fill",this.attribute("fill").valueOrDefault("black"));l.attributes.stroke=new c.Property("stroke",this.attribute("stroke").valueOrDefault("none"));l.children=this.children;l.render(k);k.restore();if(this.attribute("markerUnits").valueOrDefault("strokeWidth")=="strokeWidth"){k.scale(1/k.lineWidth,1/k.lineWidth)}if(this.attribute("orient").valueOrDefault("auto")=="auto"){k.rotate(-m)}k.translate(-g.x,-g.y)}};c.Element.marker.prototype=new c.Element.ElementBase;c.Element.defs=function(f){this.base=c.Element.ElementBase;this.base(f);this.render=function(g){}};c.Element.defs.prototype=new c.Element.ElementBase;c.Element.GradientBase=function(g){this.base=c.Element.ElementBase;this.base(g);this.gradientUnits=this.attribute("gradientUnits").valueOrDefault("objectBoundingBox");this.stops=[];for(var f=0;f<this.children.length;f++){var k=this.children[f];if(k.type=="stop"){this.stops.push(k)}}this.getGradient=function(){};this.createGradient=function(y,o,l){var x=this;if(this.getHrefAttribute().hasValue()){x=this.getHrefAttribute().getDefinition()}var n=function(z){if(l.hasValue()){var A=new c.Property("color",z);return A.addOpacity(l).value}return z};var q=this.getGradient(y,o);if(q==null){return n(x.stops[x.stops.length-1].color)}for(var p=0;p<x.stops.length;p++){q.addColorStop(x.stops[p].offset,n(x.stops[p].color))}if(this.attribute("gradientTransform").hasValue()){var s=c.ViewPort.viewPorts[0];var t=new c.Element.rect();t.attributes.x=new c.Property("x",-c.MAX_VIRTUAL_PIXELS/3);t.attributes.y=new c.Property("y",-c.MAX_VIRTUAL_PIXELS/3);t.attributes.width=new c.Property("width",c.MAX_VIRTUAL_PIXELS);t.attributes.height=new c.Property("height",c.MAX_VIRTUAL_PIXELS);var v=new c.Element.g();v.attributes.transform=new c.Property("transform",this.attribute("gradientTransform").value);v.children=[t];var u=new c.Element.svg();u.attributes.x=new c.Property("x",0);u.attributes.y=new c.Property("y",0);u.attributes.width=new c.Property("width",s.width);u.attributes.height=new c.Property("height",s.height);u.children=[v];var r=document.createElement("canvas");r.width=s.width;r.height=s.height;var m=r.getContext("2d");m.fillStyle=q;u.render(m);return m.createPattern(r,"no-repeat")}return q}};c.Element.GradientBase.prototype=new c.Element.ElementBase;c.Element.linearGradient=function(f){this.base=c.Element.GradientBase;this.base(f);this.getGradient=function(g,n){var p=this.gradientUnits=="objectBoundingBox"?n.getBoundingBox():null;if(!this.attribute("x1").hasValue()&&!this.attribute("y1").hasValue()&&!this.attribute("x2").hasValue()&&!this.attribute("y2").hasValue()){this.attribute("x1",true).value=0;this.attribute("y1",true).value=0;this.attribute("x2",true).value=1;this.attribute("y2",true).value=0}var l=(this.gradientUnits=="objectBoundingBox"?p.x()+p.width()*this.attribute("x1").numValue():this.attribute("x1").toPixels("x"));var o=(this.gradientUnits=="objectBoundingBox"?p.y()+p.height()*this.attribute("y1").numValue():this.attribute("y1").toPixels("y"));var k=(this.gradientUnits=="objectBoundingBox"?p.x()+p.width()*this.attribute("x2").numValue():this.attribute("x2").toPixels("x"));var m=(this.gradientUnits=="objectBoundingBox"?p.y()+p.height()*this.attribute("y2").numValue():this.attribute("y2").toPixels("y"));if(l==k&&o==m){return null}return g.createLinearGradient(l,o,k,m)}};c.Element.linearGradient.prototype=new c.Element.GradientBase;c.Element.radialGradient=function(f){this.base=c.Element.GradientBase;this.base(f);this.getGradient=function(k,l){var p=l.getBoundingBox();if(!this.attribute("cx").hasValue()){this.attribute("cx",true).value="50%"}if(!this.attribute("cy").hasValue()){this.attribute("cy",true).value="50%"}if(!this.attribute("r").hasValue()){this.attribute("r",true).value="50%"}var g=(this.gradientUnits=="objectBoundingBox"?p.x()+p.width()*this.attribute("cx").numValue():this.attribute("cx").toPixels("x"));var q=(this.gradientUnits=="objectBoundingBox"?p.y()+p.height()*this.attribute("cy").numValue():this.attribute("cy").toPixels("y"));var o=g;var m=q;if(this.attribute("fx").hasValue()){o=(this.gradientUnits=="objectBoundingBox"?p.x()+p.width()*this.attribute("fx").numValue():this.attribute("fx").toPixels("x"))}if(this.attribute("fy").hasValue()){m=(this.gradientUnits=="objectBoundingBox"?p.y()+p.height()*this.attribute("fy").numValue():this.attribute("fy").toPixels("y"))}var n=(this.gradientUnits=="objectBoundingBox"?(p.width()+p.height())/2*this.attribute("r").numValue():this.attribute("r").toPixels());return k.createRadialGradient(o,m,0,g,q,n)}};c.Element.radialGradient.prototype=new c.Element.GradientBase;c.Element.stop=function(g){this.base=c.Element.ElementBase;this.base(g);this.offset=this.attribute("offset").numValue();if(this.offset<0){this.offset=0}if(this.offset>1){this.offset=1}var f=this.style("stop-color");if(this.style("stop-opacity").hasValue()){f=f.addOpacity(this.style("stop-opacity"))}this.color=f.value};c.Element.stop.prototype=new c.Element.ElementBase;c.Element.AnimateBase=function(f){this.base=c.Element.ElementBase;this.base(f);c.Animations.push(this);this.duration=0;this.begin=this.attribute("begin").toMilliseconds();this.maxDuration=this.begin+this.attribute("dur").toMilliseconds();this.getProperty=function(){var k=this.attribute("attributeType").value;var g=this.attribute("attributeName").value;if(k=="CSS"){return this.parent.style(g,true)}return this.parent.attribute(g,true)};this.initialValue=null;this.initialUnits="";this.removed=false;this.calcValue=function(){return""};this.update=function(m){if(this.initialValue==null){this.initialValue=this.getProperty().value;this.initialUnits=this.getProperty().getUnits()}if(this.duration>this.maxDuration){if(this.attribute("repeatCount").value=="indefinite"||this.attribute("repeatDur").value=="indefinite"){this.duration=0}else{if(this.attribute("fill").valueOrDefault("remove")=="freeze"&&!this.frozen){this.frozen=true;this.parent.animationFrozen=true;this.parent.animationFrozenValue=this.getProperty().value}else{if(this.attribute("fill").valueOrDefault("remove")=="remove"&&!this.removed){this.removed=true;this.getProperty().value=this.parent.animationFrozen?this.parent.animationFrozenValue:this.initialValue;return true}}}return false}this.duration=this.duration+m;var g=false;if(this.begin<this.duration){var l=this.calcValue();if(this.attribute("type").hasValue()){var k=this.attribute("type").value;l=k+"("+l+")"}this.getProperty().value=l;g=true}return g};this.from=this.attribute("from");this.to=this.attribute("to");this.values=this.attribute("values");if(this.values.hasValue()){this.values.value=this.values.value.split(";")}this.progress=function(){var k={progress:(this.duration-this.begin)/(this.maxDuration-this.begin)};if(this.values.hasValue()){var m=k.progress*(this.values.value.length-1);var l=Math.floor(m),g=Math.ceil(m);k.from=new c.Property("from",parseFloat(this.values.value[l]));k.to=new c.Property("to",parseFloat(this.values.value[g]));k.progress=(m-l)/(g-l)}else{k.from=this.from;k.to=this.to}return k}};c.Element.AnimateBase.prototype=new c.Element.ElementBase;c.Element.animate=function(f){this.base=c.Element.AnimateBase;this.base(f);this.calcValue=function(){var k=this.progress();var g=k.from.numValue()+(k.to.numValue()-k.from.numValue())*k.progress;return g+this.initialUnits}};c.Element.animate.prototype=new c.Element.AnimateBase;c.Element.animateColor=function(f){this.base=c.Element.AnimateBase;this.base(f);this.calcValue=function(){var n=this.progress();var q=new RGBColor(n.from.value);var o=new RGBColor(n.to.value);if(q.ok&&o.ok){var m=q.r+(o.r-q.r)*n.progress;var l=q.g+(o.g-q.g)*n.progress;var k=q.b+(o.b-q.b)*n.progress;return"rgb("+parseInt(m,10)+","+parseInt(l,10)+","+parseInt(k,10)+")"}return this.attribute("from").value}};c.Element.animateColor.prototype=new c.Element.AnimateBase;c.Element.animateTransform=function(f){this.base=c.Element.AnimateBase;this.base(f);this.calcValue=function(){var l=this.progress();var n=c.ToNumberArray(l.from.value);var m=c.ToNumberArray(l.to.value);var k="";for(var g=0;g<n.length;g++){k+=n[g]+(m[g]-n[g])*l.progress+" "}return k}};c.Element.animateTransform.prototype=new c.Element.animate;c.Element.font=function(g){this.base=c.Element.ElementBase;this.base(g);this.horizAdvX=this.attribute("horiz-adv-x").numValue();this.isRTL=false;this.isArabic=false;this.fontFace=null;this.missingGlyph=null;this.glyphs=[];for(var f=0;f<this.children.length;f++){var k=this.children[f];if(k.type=="font-face"){this.fontFace=k;if(k.style("font-family").hasValue()){c.Definitions[k.style("font-family").value]=this}}else{if(k.type=="missing-glyph"){this.missingGlyph=k}else{if(k.type=="glyph"){if(k.arabicForm!=""){this.isRTL=true;this.isArabic=true;if(typeof(this.glyphs[k.unicode])=="undefined"){this.glyphs[k.unicode]=[]}this.glyphs[k.unicode][k.arabicForm]=k}else{this.glyphs[k.unicode]=k}}}}}};c.Element.font.prototype=new c.Element.ElementBase;c.Element.fontface=function(f){this.base=c.Element.ElementBase;this.base(f);this.ascent=this.attribute("ascent").value;this.descent=this.attribute("descent").value;this.unitsPerEm=this.attribute("units-per-em").numValue()};c.Element.fontface.prototype=new c.Element.ElementBase;c.Element.missingglyph=function(f){this.base=c.Element.path;this.base(f);this.horizAdvX=0};c.Element.missingglyph.prototype=new c.Element.path;c.Element.glyph=function(f){this.base=c.Element.path;this.base(f);this.horizAdvX=this.attribute("horiz-adv-x").numValue();this.unicode=this.attribute("unicode").value;this.arabicForm=this.attribute("arabic-form").value};c.Element.glyph.prototype=new c.Element.path;c.Element.text=function(f){this.captureTextNodes=true;this.base=c.Element.RenderedElementBase;this.base(f);this.baseSetContext=this.setContext;this.setContext=function(g){this.baseSetContext(g);var k=this.style("dominant-baseline").toTextBaseline();if(k==null){k=this.style("alignment-baseline").toTextBaseline()}if(k!=null){g.textBaseline=k}};this.getBoundingBox=function(){var g=this.attribute("x").toPixels("x");var l=this.attribute("y").toPixels("y");var k=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);return new c.BoundingBox(g,l-k,g+Math.floor(k*2/3)*this.children[0].getText().length,l)};this.renderChildren=function(g){this.x=this.attribute("x").toPixels("x");this.y=this.attribute("y").toPixels("y");this.x+=this.getAnchorDelta(g,this,0);for(var k=0;k<this.children.length;k++){this.renderChild(g,this,k)}};this.getAnchorDelta=function(k,o,n){var g=this.style("text-anchor").valueOrDefault("start");if(g!="start"){var m=0;for(var l=n;l<o.children.length;l++){var p=o.children[l];if(l>n&&p.attribute("x").hasValue()){break}m+=p.measureTextRecursive(k)}return -1*(g=="end"?m:m/2)}return 0};this.renderChild=function(g,l,k){var m=l.children[k];if(m.attribute("x").hasValue()){m.x=m.attribute("x").toPixels("x")+this.getAnchorDelta(g,l,k);if(m.attribute("dx").hasValue()){m.x+=m.attribute("dx").toPixels("x")}}else{if(this.attribute("dx").hasValue()){this.x+=this.attribute("dx").toPixels("x")}if(m.attribute("dx").hasValue()){this.x+=m.attribute("dx").toPixels("x")}m.x=this.x}this.x=m.x+m.measureText(g);if(m.attribute("y").hasValue()){m.y=m.attribute("y").toPixels("y");if(m.attribute("dy").hasValue()){m.y+=m.attribute("dy").toPixels("y")}}else{if(this.attribute("dy").hasValue()){this.y+=this.attribute("dy").toPixels("y")}if(m.attribute("dy").hasValue()){this.y+=m.attribute("dy").toPixels("y")}m.y=this.y}this.y=m.y;m.render(g);for(var k=0;k<m.children.length;k++){this.renderChild(g,m,k)}}};c.Element.text.prototype=new c.Element.RenderedElementBase;c.Element.TextElementBase=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.getGlyph=function(g,n,k){var o=n[k];var l=null;if(g.isArabic){var m="isolated";if((k==0||n[k-1]==" ")&&k<n.length-2&&n[k+1]!=" "){m="terminal"}if(k>0&&n[k-1]!=" "&&k<n.length-2&&n[k+1]!=" "){m="medial"}if(k>0&&n[k-1]!=" "&&(k==n.length-1||n[k+1]==" ")){m="initial"}if(typeof(g.glyphs[o])!="undefined"){l=g.glyphs[o][m];if(l==null&&g.glyphs[o].type=="glyph"){l=g.glyphs[o]}}}else{l=g.glyphs[o]}if(l==null){l=g.missingGlyph}return l};this.renderChildren=function(q){var o=this.parent.style("font-family").getDefinition();if(o!=null){var r=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);var l=this.parent.style("font-style").valueOrDefault(c.Font.Parse(c.ctx.font).fontStyle);var p=this.getText();if(o.isRTL){p=p.split("").reverse().join("")}var s=c.ToNumberArray(this.parent.attribute("dx").value);for(var m=0;m<p.length;m++){var n=this.getGlyph(o,p,m);var k=r/o.fontFace.unitsPerEm;q.translate(this.x,this.y);q.scale(k,-k);var g=q.lineWidth;q.lineWidth=q.lineWidth*o.fontFace.unitsPerEm/r;if(l=="italic"){q.transform(1,0,0.4,1,0,0)}n.render(q);if(l=="italic"){q.transform(1,0,-0.4,1,0,0)}q.lineWidth=g;q.scale(1/k,-1/k);q.translate(-this.x,-this.y);this.x+=r*(n.horizAdvX||o.horizAdvX)/o.fontFace.unitsPerEm;if(typeof(s[m])!="undefined"&&!isNaN(s[m])){this.x+=s[m]}}return}if(q.fillStyle!=""){q.fillText(c.compressSpaces(this.getText()),this.x,this.y)}if(q.strokeStyle!=""){q.strokeText(c.compressSpaces(this.getText()),this.x,this.y)}};this.getText=function(){};this.measureTextRecursive=function(g){var l=this.measureText(g);for(var k=0;k<this.children.length;k++){l+=this.children[k].measureTextRecursive(g)}return l};this.measureText=function(q){var o=this.parent.style("font-family").getDefinition();if(o!=null){var r=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);var k=0;var p=this.getText();if(o.isRTL){p=p.split("").reverse().join("")}var s=c.ToNumberArray(this.parent.attribute("dx").value);for(var m=0;m<p.length;m++){var n=this.getGlyph(o,p,m);k+=(n.horizAdvX||o.horizAdvX)*r/o.fontFace.unitsPerEm;if(typeof(s[m])!="undefined"&&!isNaN(s[m])){k+=s[m]}}return k}var g=c.compressSpaces(this.getText());if(!q.measureText){return g.length*10}q.save();this.setContext(q);var l=q.measureText(g).width;q.restore();return l}};c.Element.TextElementBase.prototype=new c.Element.RenderedElementBase;c.Element.tspan=function(f){this.captureTextNodes=true;this.base=c.Element.TextElementBase;this.base(f);this.text=f.nodeValue||f.text||"";this.getText=function(){return this.text}};c.Element.tspan.prototype=new c.Element.TextElementBase;c.Element.tref=function(f){this.base=c.Element.TextElementBase;this.base(f);this.getText=function(){var g=this.getHrefAttribute().getDefinition();if(g!=null){return g.children[0].getText()}}};c.Element.tref.prototype=new c.Element.TextElementBase;c.Element.a=function(g){this.base=c.Element.TextElementBase;this.base(g);this.hasText=g.childNodes.length>0;for(var f=0;f<g.childNodes.length;f++){if(g.childNodes[f].nodeType!=3){this.hasText=false}}this.text=this.hasText?g.childNodes[0].nodeValue:"";this.getText=function(){return this.text};this.baseRenderChildren=this.renderChildren;this.renderChildren=function(k){if(this.hasText){this.baseRenderChildren(k);var m=new c.Property("fontSize",c.Font.Parse(c.ctx.font).fontSize);c.Mouse.checkBoundingBox(this,new c.BoundingBox(this.x,this.y-m.toPixels("y"),this.x+this.measureText(k),this.y))}else{if(this.children.length>0){var l=new c.Element.g();l.children=this.children;l.parent=this;l.render(k)}}};this.onclick=function(){window.open(this.getHrefAttribute().value)};this.onmousemove=function(){c.ctx.canvas.style.cursor="pointer"}};c.Element.a.prototype=new c.Element.TextElementBase;c.Element.image=function(k){this.base=c.Element.RenderedElementBase;this.base(k);var g=this.getHrefAttribute().value;if(g==""){return}var l=g.match(/\.svg$/);c.Images.push(this);this.loaded=false;if(!l){this.img=document.createElement("img");if(c.opts.useCORS==true){this.img.crossOrigin="Anonymous"}var f=this;this.img.onload=function(){f.loaded=true};this.img.onerror=function(){c.log('ERROR: image "'+g+'" not found');f.loaded=true};this.img.src=g}else{this.img=c.ajax(g);this.loaded=true}this.renderChildren=function(o){var n=this.attribute("x").toPixels("x");var q=this.attribute("y").toPixels("y");var p=this.attribute("width").toPixels("x");var m=this.attribute("height").toPixels("y");if(p==0||m==0){return}o.save();if(l){o.drawSvg(this.img,n,q,p,m)}else{o.translate(n,q);c.AspectRatio(o,this.attribute("preserveAspectRatio").value,p,this.img.width,m,this.img.height,0,0);o.drawImage(this.img,0,0)}o.restore()};this.getBoundingBox=function(){var n=this.attribute("x").toPixels("x");var p=this.attribute("y").toPixels("y");var o=this.attribute("width").toPixels("x");var m=this.attribute("height").toPixels("y");return new c.BoundingBox(n,p,n+o,p+m)}};c.Element.image.prototype=new c.Element.RenderedElementBase;c.Element.g=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.getBoundingBox=function(){var k=new c.BoundingBox();for(var g=0;g<this.children.length;g++){k.addBoundingBox(this.children[g].getBoundingBox())}return k}};c.Element.g.prototype=new c.Element.RenderedElementBase;c.Element.symbol=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.render=function(g){}};c.Element.symbol.prototype=new c.Element.RenderedElementBase;c.Element.style=function(B){this.base=c.Element.ElementBase;this.base(B);var x="";for(var E=0;E<B.childNodes.length;E++){x+=B.childNodes[E].nodeValue}x=x.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"");x=c.compressSpaces(x);var v=x.split("}");for(var E=0;E<v.length;E++){if(c.trim(v[E])!=""){var I=v[E].split("{");var n=I[0].split(",");var g=I[1].split(";");for(var D=0;D<n.length;D++){var t=c.trim(n[D]);if(t!=""){var m={};for(var C=0;C<g.length;C++){var l=g[C].indexOf(":");var J=g[C].substr(0,l);var A=g[C].substr(l+1,g[C].length-l);if(J!=null&&A!=null){m[c.trim(J)]=new c.Property(c.trim(J),c.trim(A))}}c.Styles[t]=m;if(t=="@font-face"){var G=m["font-family"].value.replace(/"/g,"");var u=m.src.value.split(",");for(var y=0;y<u.length;y++){if(u[y].indexOf('format("svg")')>0){var q=u[y].indexOf("url");var p=u[y].indexOf(")",q);var o=u[y].substr(q+5,p-q-6);var H=c.parseXml(c.ajax(o));var r=H.getElementsByTagName("font");for(var F=0;F<r.length;F++){var z=c.CreateElement(r[F]);c.Definitions[G]=z}}}}}}}}};c.Element.style.prototype=new c.Element.ElementBase;c.Element.use=function(g){this.base=c.Element.RenderedElementBase;this.base(g);this.baseSetContext=this.setContext;this.setContext=function(k){this.baseSetContext(k);if(this.attribute("x").hasValue()){k.translate(this.attribute("x").toPixels("x"),0)}if(this.attribute("y").hasValue()){k.translate(0,this.attribute("y").toPixels("y"))}};var f=this.getHrefAttribute().getDefinition();this.path=function(k){if(f!=null){f.path(k)}};this.getBoundingBox=function(){if(f!=null){return f.getBoundingBox()}};this.renderChildren=function(k){if(f!=null){var m=f;if(f.type=="symbol"){m=new c.Element.svg();m.type="svg";m.attributes.viewBox=new c.Property("viewBox",f.attribute("viewBox").value);m.attributes.preserveAspectRatio=new c.Property("preserveAspectRatio",f.attribute("preserveAspectRatio").value);m.attributes.overflow=new c.Property("overflow",f.attribute("overflow").value);m.children=f.children}if(m.type=="svg"){if(this.attribute("width").hasValue()){m.attributes.width=new c.Property("width",this.attribute("width").value)}if(this.attribute("height").hasValue()){m.attributes.height=new c.Property("height",this.attribute("height").value)}}var l=m.parent;m.parent=null;m.render(k);m.parent=l}}};c.Element.use.prototype=new c.Element.RenderedElementBase;c.Element.mask=function(f){this.base=c.Element.ElementBase;this.base(f);this.apply=function(t,l){var r=this.attribute("x").toPixels("x");var q=this.attribute("y").toPixels("y");var g=this.attribute("width").toPixels("x");var s=this.attribute("height").toPixels("y");if(g==0&&s==0){var n=new c.BoundingBox();for(var m=0;m<this.children.length;m++){n.addBoundingBox(this.children[m].getBoundingBox())}var r=Math.floor(n.x1);var q=Math.floor(n.y1);var g=Math.floor(n.width());var s=Math.floor(n.height())}var v=l.attribute("mask").value;l.attribute("mask").value="";var p=document.createElement("canvas");p.width=r+g;p.height=q+s;var u=p.getContext("2d");this.renderChildren(u);var o=document.createElement("canvas");o.width=r+g;o.height=q+s;var k=o.getContext("2d");l.render(k);k.globalCompositeOperation="destination-in";k.fillStyle=u.createPattern(p,"no-repeat");k.fillRect(0,0,r+g,q+s);t.fillStyle=k.createPattern(o,"no-repeat");t.fillRect(0,0,r+g,q+s);l.attribute("mask").value=v};this.render=function(g){}};c.Element.mask.prototype=new c.Element.ElementBase;c.Element.clipPath=function(f){this.base=c.Element.ElementBase;this.base(f);this.apply=function(g){var n=CanvasRenderingContext2D.prototype.beginPath;CanvasRenderingContext2D.prototype.beginPath=function(){};var m=CanvasRenderingContext2D.prototype.closePath;CanvasRenderingContext2D.prototype.closePath=function(){};n.call(g);for(var l=0;l<this.children.length;l++){var o=this.children[l];if(typeof(o.path)!="undefined"){var k=null;if(o.attribute("transform").hasValue()){k=new c.Transform(o.attribute("transform").value);k.apply(g)}o.path(g);CanvasRenderingContext2D.prototype.closePath=m;if(k){k.unapply(g)}}}m.call(g);g.clip();CanvasRenderingContext2D.prototype.beginPath=n;CanvasRenderingContext2D.prototype.closePath=m};this.render=function(g){}};c.Element.clipPath.prototype=new c.Element.ElementBase;c.Element.filter=function(f){this.base=c.Element.ElementBase;this.base(f);this.apply=function(z,o){var p=o.getBoundingBox();var t=Math.floor(p.x1);var r=Math.floor(p.y1);var k=Math.floor(p.width());var v=Math.floor(p.height());var l=o.style("filter").value;o.style("filter").value="";var u=0,s=0;for(var n=0;n<this.children.length;n++){var g=this.children[n].extraFilterDistance||0;u=Math.max(u,g);s=Math.max(s,g)}var q=document.createElement("canvas");q.width=k+2*u;q.height=v+2*s;var m=q.getContext("2d");m.translate(-t+u,-r+s);o.render(m);for(var n=0;n<this.children.length;n++){this.children[n].apply(m,0,0,k+2*u,v+2*s)}z.drawImage(q,0,0,k+2*u,v+2*s,t-u,r-s,k+2*u,v+2*s);o.style("filter",true).value=l};this.render=function(g){}};c.Element.filter.prototype=new c.Element.ElementBase;c.Element.feMorphology=function(f){this.base=c.Element.ElementBase;this.base(f);this.apply=function(l,k,n,m,g){}};c.Element.feMorphology.prototype=new c.Element.ElementBase;c.Element.feComposite=function(f){this.base=c.Element.ElementBase;this.base(f);this.apply=function(l,k,n,m,g){}};c.Element.feComposite.prototype=new c.Element.ElementBase;c.Element.feColorMatrix=function(p){this.base=c.Element.ElementBase;this.base(p);var l=c.ToNumberArray(this.attribute("values").value);switch(this.attribute("type").valueOrDefault("matrix")){case"saturate":var o=l[0];l=[0.213+0.787*o,0.715-0.715*o,0.072-0.072*o,0,0,0.213-0.213*o,0.715+0.285*o,0.072-0.072*o,0,0,0.213-0.213*o,0.715-0.715*o,0.072+0.928*o,0,0,0,0,0,1,0,0,0,0,0,1];break;case"hueRotate":var k=l[0]*Math.PI/180;var q=function(s,r,m){return s+Math.cos(k)*r+Math.sin(k)*m};l=[q(0.213,0.787,-0.213),q(0.715,-0.715,-0.715),q(0.072,-0.072,0.928),0,0,q(0.213,-0.213,0.143),q(0.715,0.285,0.14),q(0.072,-0.072,-0.283),0,0,q(0.213,-0.213,-0.787),q(0.715,-0.715,0.715),q(0.072,0.928,0.072),0,0,0,0,0,1,0,0,0,0,0,1];break;case"luminanceToAlpha":l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2125,0.7154,0.0721,0,0,0,0,0,0,1];break}function n(s,r,v,u,m,t){return s[v*u*4+r*4+t]}function g(s,r,z,u,m,t,v){s[z*u*4+r*4+t]=v}function f(s,r){var m=l[s];return m*(m<0?r-255:r)}this.apply=function(D,B,z,s,C){var u=D.getImageData(0,0,s,C);for(var z=0;z<C;z++){for(var B=0;B<s;B++){var m=n(u.data,B,z,s,C,0);var t=n(u.data,B,z,s,C,1);var v=n(u.data,B,z,s,C,2);var A=n(u.data,B,z,s,C,3);g(u.data,B,z,s,C,0,f(0,m)+f(1,t)+f(2,v)+f(3,A)+f(4,1));g(u.data,B,z,s,C,1,f(5,m)+f(6,t)+f(7,v)+f(8,A)+f(9,1));g(u.data,B,z,s,C,2,f(10,m)+f(11,t)+f(12,v)+f(13,A)+f(14,1));g(u.data,B,z,s,C,3,f(15,m)+f(16,t)+f(17,v)+f(18,A)+f(19,1))}}D.clearRect(0,0,s,C);D.putImageData(u,0,0)}};c.Element.feColorMatrix.prototype=new c.Element.ElementBase;c.Element.feGaussianBlur=function(f){this.base=c.Element.ElementBase;this.base(f);this.blurRadius=Math.floor(this.attribute("stdDeviation").numValue());this.extraFilterDistance=this.blurRadius;this.apply=function(l,k,n,m,g){if(typeof(stackBlurCanvasRGBA)=="undefined"){c.log("ERROR: StackBlur.js must be included for blur to work");return}l.canvas.id=c.UniqueId();l.canvas.style.display="none";document.body.appendChild(l.canvas);stackBlurCanvasRGBA(l.canvas.id,k,n,m,g,this.blurRadius);document.body.removeChild(l.canvas)}};c.Element.feGaussianBlur.prototype=new c.Element.ElementBase;c.Element.title=function(f){};c.Element.title.prototype=new c.Element.ElementBase;c.Element.desc=function(f){};c.Element.desc.prototype=new c.Element.ElementBase;c.Element.MISSING=function(f){c.log("ERROR: Element '"+f.nodeName+"' not yet implemented.")};c.Element.MISSING.prototype=new c.Element.ElementBase;c.CreateElement=function(g){var f=g.nodeName.replace(/^[^:]+:/,"");f=f.replace(/\-/g,"");var k=null;if(typeof(c.Element[f])!="undefined"){k=new c.Element[f](g)}else{k=new c.Element.MISSING(g)}k.type=g.nodeName;return k};c.load=function(f,g){c.loadXml(f,c.ajax(g))};c.loadXml=function(f,g){c.loadXmlDoc(f,c.parseXml(g))};c.loadXmlDoc=function(l,o){c.init(l);var k=function(r){var q=l.canvas;while(q){r.x-=q.offsetLeft;r.y-=q.offsetTop;q=q.offsetParent}if(window.scrollX){r.x+=window.scrollX}if(window.scrollY){r.y+=window.scrollY}return r};if(c.opts.ignoreMouse!=true){l.canvas.onclick=function(r){var q=k(new c.Point(r!=null?r.clientX:event.clientX,r!=null?r.clientY:event.clientY));c.Mouse.onclick(q.x,q.y)};l.canvas.onmousemove=function(r){var q=k(new c.Point(r!=null?r.clientX:event.clientX,r!=null?r.clientY:event.clientY));c.Mouse.onmousemove(q.x,q.y)}}var n=c.CreateElement(o.documentElement);n.root=true;var m=true;var g=function(){c.ViewPort.Clear();if(l.canvas.parentNode){c.ViewPort.SetCurrent(l.canvas.parentNode.clientWidth,l.canvas.parentNode.clientHeight)}if(c.opts.ignoreDimensions!=true){if(n.style("width").hasValue()){l.canvas.width=n.style("width").toPixels("x");l.canvas.style.width=l.canvas.width+"px"}if(n.style("height").hasValue()){l.canvas.height=n.style("height").toPixels("y");l.canvas.style.height=l.canvas.height+"px"}}var r=l.canvas.clientWidth||l.canvas.width;var q=l.canvas.clientHeight||l.canvas.height;if(c.opts.ignoreDimensions==true&&n.style("width").hasValue()&&n.style("height").hasValue()){r=n.style("width").toPixels("x");q=n.style("height").toPixels("y")}c.ViewPort.SetCurrent(r,q);if(c.opts.offsetX!=null){n.attribute("x",true).value=c.opts.offsetX}if(c.opts.offsetY!=null){n.attribute("y",true).value=c.opts.offsetY}if(c.opts.scaleWidth!=null||c.opts.scaleHeight!=null){var s=null,p=null,t=c.ToNumberArray(n.attribute("viewBox").value);if(c.opts.scaleWidth!=null){if(n.attribute("width").hasValue()){s=n.attribute("width").toPixels("x")/c.opts.scaleWidth}else{if(!isNaN(t[2])){s=t[2]/c.opts.scaleWidth}}}if(c.opts.scaleHeight!=null){if(n.attribute("height").hasValue()){p=n.attribute("height").toPixels("y")/c.opts.scaleHeight}else{if(!isNaN(t[3])){p=t[3]/c.opts.scaleHeight}}}if(s==null){s=p}if(p==null){p=s}n.attribute("width",true).value=c.opts.scaleWidth;n.attribute("height",true).value=c.opts.scaleHeight;n.attribute("transform",true).value+=" scale("+(1/s)+","+(1/p)+")"}if(c.opts.ignoreClear!=true){l.clearRect(0,0,r,q)}n.render(l);if(m){m=false;if(typeof(c.opts.renderCallback)=="function"){c.opts.renderCallback(o)}}};var f=true;if(c.ImagesLoaded()){f=false;g()}c.intervalID=setInterval(function(){var q=false;if(f&&c.ImagesLoaded()){f=false;q=true}if(c.opts.ignoreMouse!=true){q=q|c.Mouse.hasEvents()}if(c.opts.ignoreAnimation!=true){for(var p=0;p<c.Animations.length;p++){q=q|c.Animations[p].update(1000/c.FRAMERATE)}}if(typeof(c.opts.forceRedraw)=="function"){if(c.opts.forceRedraw()==true){q=true}}if(q){g();c.Mouse.runEvents()}},1000/c.FRAMERATE)};c.stop=function(){if(c.intervalID){clearInterval(c.intervalID)}};c.Mouse=new (function(){this.events=[];this.hasEvents=function(){return this.events.length!=0};this.onclick=function(f,g){this.events.push({type:"onclick",x:f,y:g,run:function(k){if(k.onclick){k.onclick()}}})};this.onmousemove=function(f,g){this.events.push({type:"onmousemove",x:f,y:g,run:function(k){if(k.onmousemove){k.onmousemove()}}})};this.eventElements=[];this.checkPath=function(k,f){for(var g=0;g<this.events.length;g++){var l=this.events[g];if(f.isPointInPath&&f.isPointInPath(l.x,l.y)){this.eventElements[g]=k}}};this.checkBoundingBox=function(g,l){for(var f=0;f<this.events.length;f++){var k=this.events[f];if(l.isPointInBox(k.x,k.y)){this.eventElements[f]=g}}};this.runEvents=function(){c.ctx.canvas.style.cursor="";for(var g=0;g<this.events.length;g++){var k=this.events[g];var f=this.eventElements[g];while(f){k.run(f);f=f.parent}}this.events=[];this.eventElements=[]}});return c}})();if(typeof(CanvasRenderingContext2D)!="undefined"){CanvasRenderingContext2D.prototype.drawSvg=function(e,b,a,c,f){canvg(this.canvas,e,{ignoreMouse:true,ignoreAnimation:true,ignoreDimensions:true,ignoreClear:true,offsetX:b,offsetY:a,scaleWidth:c,scaleHeight:f})}}var mul_table=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];var shg_table=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function stackBlurImage(l,g,k,a){var e=document.getElementById(l);var m=e.naturalWidth;var f=e.naturalHeight;var c=document.getElementById(g);c.style.width=m+"px";c.style.height=f+"px";c.width=m;c.height=f;var b=c.getContext("2d");b.clearRect(0,0,m,f);b.drawImage(e,0,0);if(isNaN(k)||k<1){return}if(a){stackBlurCanvasRGBA(g,0,0,m,f,k)}else{stackBlurCanvasRGB(g,0,0,m,f,k)}}function stackBlurCanvasRGBA(Q,K,I,a,c,U){if(isNaN(U)||U<1){return}U|=0;var m=document.getElementById(Q);var ae=m.getContext("2d");var Z;try{try{Z=ae.getImageData(K,I,a,c)}catch(ad){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");Z=ae.getImageData(K,I,a,c)}catch(ad){alert("Cannot access local image");throw new Error("unable to access local image data: "+ad);return}}}catch(ad){alert("Cannot access image");throw new Error("unable to access image data: "+ad)}var l=Z.data;var S,R,ab,Y,v,B,r,g,k,H,X,u,J,F,b,N,T,z,t,q,A,C,D,M;var ac=U+U+1;var O=a<<2;var s=a-1;var W=c-1;var o=U+1;var V=o*(o+1)/2;var L=new BlurStack();var G=L;for(ab=1;ab<ac;ab++){G=G.next=new BlurStack();if(ab==o){var n=G}}G.next=L;var aa=null;var P=null;r=B=0;var E=mul_table[U];var f=shg_table[U];for(R=0;R<c;R++){N=T=z=t=g=k=H=X=0;u=o*(q=l[B]);J=o*(A=l[B+1]);F=o*(C=l[B+2]);b=o*(D=l[B+3]);g+=V*q;k+=V*A;H+=V*C;X+=V*D;G=L;for(ab=0;ab<o;ab++){G.r=q;G.g=A;G.b=C;G.a=D;G=G.next}for(ab=1;ab<o;ab++){Y=B+((s<ab?s:ab)<<2);g+=(G.r=(q=l[Y]))*(M=o-ab);k+=(G.g=(A=l[Y+1]))*M;H+=(G.b=(C=l[Y+2]))*M;X+=(G.a=(D=l[Y+3]))*M;N+=q;T+=A;z+=C;t+=D;G=G.next}aa=L;P=n;for(S=0;S<a;S++){l[B+3]=D=(X*E)>>f;if(D!=0){D=255/D;l[B]=((g*E)>>f)*D;l[B+1]=((k*E)>>f)*D;l[B+2]=((H*E)>>f)*D}else{l[B]=l[B+1]=l[B+2]=0}g-=u;k-=J;H-=F;X-=b;u-=aa.r;J-=aa.g;F-=aa.b;b-=aa.a;Y=(r+((Y=S+U+1)<s?Y:s))<<2;N+=(aa.r=l[Y]);T+=(aa.g=l[Y+1]);z+=(aa.b=l[Y+2]);t+=(aa.a=l[Y+3]);g+=N;k+=T;H+=z;X+=t;aa=aa.next;u+=(q=P.r);J+=(A=P.g);F+=(C=P.b);b+=(D=P.a);N-=q;T-=A;z-=C;t-=D;P=P.next;B+=4}r+=a}for(S=0;S<a;S++){T=z=t=N=k=H=X=g=0;B=S<<2;u=o*(q=l[B]);J=o*(A=l[B+1]);F=o*(C=l[B+2]);b=o*(D=l[B+3]);g+=V*q;k+=V*A;H+=V*C;X+=V*D;G=L;for(ab=0;ab<o;ab++){G.r=q;G.g=A;G.b=C;G.a=D;G=G.next}v=a;for(ab=1;ab<=U;ab++){B=(v+S)<<2;g+=(G.r=(q=l[B]))*(M=o-ab);k+=(G.g=(A=l[B+1]))*M;H+=(G.b=(C=l[B+2]))*M;X+=(G.a=(D=l[B+3]))*M;N+=q;T+=A;z+=C;t+=D;G=G.next;if(ab<W){v+=a}}B=S;aa=L;P=n;for(R=0;R<c;R++){Y=B<<2;l[Y+3]=D=(X*E)>>f;if(D>0){D=255/D;l[Y]=((g*E)>>f)*D;l[Y+1]=((k*E)>>f)*D;l[Y+2]=((H*E)>>f)*D}else{l[Y]=l[Y+1]=l[Y+2]=0}g-=u;k-=J;H-=F;X-=b;u-=aa.r;J-=aa.g;F-=aa.b;b-=aa.a;Y=(S+(((Y=R+o)<W?Y:W)*a))<<2;g+=(N+=(aa.r=l[Y]));k+=(T+=(aa.g=l[Y+1]));H+=(z+=(aa.b=l[Y+2]));X+=(t+=(aa.a=l[Y+3]));aa=aa.next;u+=(q=P.r);J+=(A=P.g);F+=(C=P.b);b+=(D=P.a);N-=q;T-=A;z-=C;t-=D;P=P.next;B+=a}}ae.putImageData(Z,K,I)}function stackBlurCanvasRGB(N,H,F,a,b,R){if(isNaN(R)||R<1){return}R|=0;var l=document.getElementById(N);var aa=l.getContext("2d");var V;try{try{V=aa.getImageData(H,F,a,b)}catch(Z){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");V=aa.getImageData(H,F,a,b)}catch(Z){alert("Cannot access local image");throw new Error("unable to access local image data: "+Z);return}}}catch(Z){alert("Cannot access image");throw new Error("unable to access image data: "+Z)}var k=V.data;var P,O,X,U,t,z,q,f,g,E,r,G,C,K,Q,u,o,v,A,J;var Y=R+R+1;var L=a<<2;var s=a-1;var T=b-1;var n=R+1;var S=n*(n+1)/2;var I=new BlurStack();var D=I;for(X=1;X<Y;X++){D=D.next=new BlurStack();if(X==n){var m=D}}D.next=I;var W=null;var M=null;q=z=0;var B=mul_table[R];var c=shg_table[R];for(O=0;O<b;O++){K=Q=u=f=g=E=0;r=n*(o=k[z]);G=n*(v=k[z+1]);C=n*(A=k[z+2]);f+=S*o;g+=S*v;E+=S*A;D=I;for(X=0;X<n;X++){D.r=o;D.g=v;D.b=A;D=D.next}for(X=1;X<n;X++){U=z+((s<X?s:X)<<2);f+=(D.r=(o=k[U]))*(J=n-X);g+=(D.g=(v=k[U+1]))*J;E+=(D.b=(A=k[U+2]))*J;K+=o;Q+=v;u+=A;D=D.next}W=I;M=m;for(P=0;P<a;P++){k[z]=(f*B)>>c;k[z+1]=(g*B)>>c;k[z+2]=(E*B)>>c;f-=r;g-=G;E-=C;r-=W.r;G-=W.g;C-=W.b;U=(q+((U=P+R+1)<s?U:s))<<2;K+=(W.r=k[U]);Q+=(W.g=k[U+1]);u+=(W.b=k[U+2]);f+=K;g+=Q;E+=u;W=W.next;r+=(o=M.r);G+=(v=M.g);C+=(A=M.b);K-=o;Q-=v;u-=A;M=M.next;z+=4}q+=a}for(P=0;P<a;P++){Q=u=K=g=E=f=0;z=P<<2;r=n*(o=k[z]);G=n*(v=k[z+1]);C=n*(A=k[z+2]);f+=S*o;g+=S*v;E+=S*A;D=I;for(X=0;X<n;X++){D.r=o;D.g=v;D.b=A;D=D.next}t=a;for(X=1;X<=R;X++){z=(t+P)<<2;f+=(D.r=(o=k[z]))*(J=n-X);g+=(D.g=(v=k[z+1]))*J;E+=(D.b=(A=k[z+2]))*J;K+=o;Q+=v;u+=A;D=D.next;if(X<T){t+=a}}z=P;W=I;M=m;for(O=0;O<b;O++){U=z<<2;k[U]=(f*B)>>c;k[U+1]=(g*B)>>c;k[U+2]=(E*B)>>c;f-=r;g-=G;E-=C;r-=W.r;G-=W.g;C-=W.b;U=(P+(((U=O+n)<T?U:T)*a))<<2;f+=(K+=(W.r=k[U]));g+=(Q+=(W.g=k[U+1]));E+=(u+=(W.b=k[U+2]));W=W.next;r+=(o=M.r);G+=(v=M.g);C+=(A=M.b);K-=o;Q-=v;u-=A;M=M.next;z+=a}}aa.putImageData(V,H,F)}function BlurStack(){this.r=0;this.g=0;this.b=0;this.a=0;this.next=null}function RGBColor(k){this.ok=false;if(k.charAt(0)=="#"){k=k.substr(1,6)}k=k.replace(/ /g,"");k=k.toLowerCase();var a={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var c in a){if(k==c){k=a[c]}}var l=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(m){return[parseInt(m[1]),parseInt(m[2]),parseInt(m[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(m){return[parseInt(m[1],16),parseInt(m[2],16),parseInt(m[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(m){return[parseInt(m[1]+m[1],16),parseInt(m[2]+m[2],16),parseInt(m[3]+m[3],16)]}}];for(var b=0;b<l.length;b++){var f=l[b].re;var e=l[b].process;var g=f.exec(k);if(g){channels=e(g);this.r=channels[0];this.g=channels[1];this.b=channels[2];this.ok=true}}this.r=(this.r<0||isNaN(this.r))?0:((this.r>255)?255:this.r);this.g=(this.g<0||isNaN(this.g))?0:((this.g>255)?255:this.g);this.b=(this.b<0||isNaN(this.b))?0:((this.b>255)?255:this.b);this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var o=this.r.toString(16);var n=this.g.toString(16);var m=this.b.toString(16);if(o.length==1){o="0"+o}if(n.length==1){n="0"+n}if(m.length==1){m="0"+m}return"#"+o+n+m};this.getHelpXML=function(){var o=new Array();for(var q=0;q<l.length;q++){var n=l[q].example;for(var p=0;p<n.length;p++){o[o.length]=n[p]}}for(var v in a){o[o.length]=v}var r=document.createElement("ul");r.setAttribute("id","rgbcolor-examples");for(var q=0;q<o.length;q++){try{var s=document.createElement("li");var u=new RGBColor(o[q]);var x=document.createElement("div");x.style.cssText="margin: 3px; border: 1px solid black; background:"+u.toHex()+"; color:"+u.toHex();x.appendChild(document.createTextNode("test"));var m=document.createTextNode(" "+o[q]+" -> "+u.toRGB()+" -> "+u.toHex());s.appendChild(x);s.appendChild(m);r.appendChild(s)}catch(t){}}return r}};