1 !
function(){
function n(n){
return n&&(n.ownerDocument||n.document||n).documentElement}
function t(n){
return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}
function e(n,t){
return t>n?-1:n>t?1:n>=t?0:0/0}
function r(n){
return null===n?0/0:+n}
function u(n){
return!isNaN(n)}
function i(n){
return{left:
function(t,
e,
r,
u){
for(arguments.length<3&&(r=0),arguments.length<4&&(
u=t.length);
u>
r;){var
i=r+
u>>>1;n(t[i],e)<0?r=i+1:u=i}
return r},right:
function(t,
e,
r,
u){
for(arguments.length<3&&(r=0),arguments.length<4&&(
u=t.length);
u>
r;){var
i=r+
u>>>1;n(t[i],e)>0?u=i:r=i+1}
return r}}}
function o(n){
return n.length}
function a(n){
for(var t=1;n*t%1;)t*=10;
return t}
function c(n,t){
for(var
e in t)Object.defineProperty(n.prototype,
e,{value:t[e],enumerable:!1})}
function l(){this._=Object.create(null)}
function s(n){
return(n+=
"")===
pa||n[0]===
va?
va+n:n}
function f(n){
return(n+=
"")[0]===
va?n.slice(1):n}
function h(n){
return s(n)in this._}
function g(n){
return(n=s(n))in this._&&
delete this._[n]}
function p(){var n=[];
for(var t in this._)n.push(
f(t));
return n}
function v(){var n=0;
for(var t in this._)++n;
return n}
function d(){
for(var n in this._)
return!1;
return!0}
function m(){this._=Object.create(null)}
function y(n){
return n}
function M(n,t,
e){
return function(){var
r=
e.apply(t,arguments);
return r===t?n:r}}
function x(n,t){
if(t in n)
return t;t=t.charAt(0).toUpperCase()+t.slice(1);
for(var
e=0,
r=
da.length;
r>
e;++
e){var
u=
da[
e]+t;
if(u in n)
return u}}
function b(){}
function _(){}
function w(n){
function t(){
for(var t,
r=
e,
u=-1,
i=
r.length;++
u<
i;)(t=
r[
u].on)&&t.apply(
this,arguments);
return n}var
e=[],
r=
new l;
return t.on=
function(t,
u){var
i,
o=
r.get(t);
return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),
r.remove(t)),
u&&e.push(
r.set(t,{on:u})),n)},t}
function S(){
ta.event.preventDefault()}
function k(){
for(var n,t=
ta.event;n=t.sourceEvent;)t=n;
return t}
function E(n){
for(var t=
new _,
e=0,
r=arguments.length;++
e<
r;)t[arguments[
e]]=w(t);
return t.of=
function(
e,
r){
return function(
u){
try{var
i=
u.sourceEvent=
ta.event;
u.target=n,
ta.event=
u,t[
u.type].apply(
e,
r)}
finally{
ta.event=
i}}},t}
function A(n){
return ya(n,
_a),n}
function N(n){
return"function"==typeof n?n:
function(){
return Ma(n,
this)}}
function C(n){
return"function"==typeof n?n:
function(){
return xa(n,
this)}}
function z(n,t){
function e(){this.removeAttribute(n)}
function r(){this.removeAttributeNS(n.space,n.local)}
function u(){this.setAttribute(n,t)}
function i(){this.setAttributeNS(n.space,n.local,t)}
function o(){var
e=t.apply(
this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}
function a(){var
e=t.apply(
this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}
return n=
ta.ns.qualify(n),null==t?n.local?
r:
e:
"function"==typeof t?n.local?
a:
o:n.local?
i:
u}
function q(n){
return n.trim().replace(/\s+/g,
" ")}
function L(n){
return new RegExp(
"(?:^|\\s+)"+
ta.requote(n)+
"(?:\\s+|$)",
"g")}
function T(n){
return(n+
"").trim().split(/^|\s+/)}
function R(n,t){
function e(){
for(var
e=-1;++
e<
u;)n[
e](
this,t)}
function r(){
for(var
e=-1,
r=t.apply(
this,arguments);++
e<
u;)n[
e](
this,
r)}n=T(n).map(D);var
u=n.length;
return"function"==typeof t?
r:
e}
function D(n){var t=L(n);
return function(
e,
r){
if(
u=
e.classList)
return r?
u.add(n):
u.remove(n);var
u=
e.getAttribute(
"class")||
"";
r?(t.lastIndex=0,t.test(u)||
e.setAttribute(
"class",q(u+
" "+n))):
e.setAttribute(
"class",q(u.replace(t,
" ")))}}
function P(n,t,
e){
function r(){this.
style.removeProperty(n)}
function u(){this.
style.setProperty(n,t,
e)}
function i(){var
r=t.apply(
this,arguments);null==r?this.
style.removeProperty(n):this.
style.setProperty(n,r,
e)}
return null==t?
r:
"function"==typeof t?
i:
u}
function U(n,t){
function e(){
delete this[n]}
function r(){
this[n]=t}
function u(){var
e=t.apply(
this,arguments);null==e?
delete this[n]:
this[n]=e}
return null==t?
e:
"function"==typeof t?
u:
r}
function j(n){
function t(){var t=this.ownerDocument,
e=this.namespaceURI;
return e?t.createElementNS(e,n):t.createElement(n)}
function e(){
return this.ownerDocument.createElementNS(n.space,n.local)}
return"function"==typeof n?n:(n=
ta.ns.qualify(n)).local?
e:t}
function F(){var n=this.parentNode;n&&n.removeChild(
this)}
function H(n){
return{__data__:n}}
function O(n){
return function(){
return ba(
this,n)}}
function I(n){
return arguments.length||(n=
e),
function(t,
e){
return t&&
e?n(t.__data__,
e.__data__):!t-!
e}}
function Y(n,t){
for(var
e=0,
r=n.length;
r>
e;
e++)
for(var
u,
i=n[
e],
o=0,
a=
i.length;
a>
o;
o++)(u=
i[
o])&&t(u,
o,e);
return n}
function Z(n){
return ya(n,
Sa),n}
function V(n){var t,
e;
return function(
r,
u,
i){var
o,
a=n[
i].update,
c=a.length;
for(
i!=e&&(e=
i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<
c;);
return o}}
function X(n,t,
e){
function r(){var t=
this[
o];t&&(this.removeEventListener(n,t,t.$),
delete this[
o])}
function u(){var
u=
c(t,
ra(arguments));
r.call(
this),this.addEventListener(n,
this[
o]=u,u.$=
e),u._=t}
function i(){var t,
e=
new RegExp(
"^__on([^.]+)"+
ta.requote(n)+
"$");
for(var
r in
this)
if(t=
r.match(e)){var
u=
this[
r];this.removeEventListener(t[1],u,u.$),
delete this[
r]}}var
o=
"__on"+n,
a=n.indexOf(
"."),
c=$;a>0&&(n=n.slice(0,a));var l=
ka.get(n);
return l&&(n=l,
c=B),a?t?
u:
r:t?
b:
i}
function $(n,t){
return function(
e){var
r=
ta.event;
ta.event=
e,t[0]=this.__data__;
try{n.apply(
this,t)}
finally{
ta.event=r}}}
function B(n,t){var
e=$(n,t);
return function(n){var t=
this,
r=n.relatedTarget;
r&&(
r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}
function W(
e){var
r=
".dragsuppress-"+ ++
Aa,
u=
"click"+
r,
i=
ta.select(t(
e)).on(
"touchmove"+r,S).on(
"dragstart"+r,S).on(
"selectstart"+r,S);
if(null==
Ea&&(
Ea=
"onselectstart"in
e?!1:
x(
e.style,
"userSelect")),
Ea){var o=n(
e).style,a=o[
Ea];o[
Ea]=
"none"}
return function(n){
if(i.on(r,null),
Ea&&(o[
Ea]=
a),n){var t=
function(){i.on(u,null)};i.on(u,
function(){S(),t()},!0),setTimeout(t,0)}}}
function J(n,
e){
e.changedTouches&&(
e=
e.changedTouches[0]);var
r=n.ownerSVGElement||n;
if(r.createSVGPoint){var
u=r.createSVGPoint();
if(0>
Na){var
i=t(n);
if(i.scrollX||i.scrollY){r=
ta.select(
"body").append(
"svg").style({position:
"absolute",top:0,left:0,margin:0,padding:0,border:
"none"},
"important");var o=r[0][0].getScreenCTM();
Na=!(o.f||o.e),r.remove()}}
return Na?(u.x=
e.pageX,u.y=
e.pageY):(u.x=
e.clientX,u.y=
e.clientY),u=u.matrixTransform(n.getScreenCTM().inverse()),[u.x,u.y]}var a=n.getBoundingClientRect();
return[
e.clientX-a.left-n.clientLeft,
e.clientY-a.top-n.clientTop]}
function G(){
return ta.event.changedTouches[0].identifier}
function K(n){
return n>0?1:0>n?-1:0}
function Q(n,t,
e){
return(t[0]-n[0])*(
e[1]-n[1])-(t[1]-n[1])*(
e[0]-n[0])}
function nt(n){
return n>1?0:-1>n?
qa:Math.acos(n)}
function tt(n){
return n>1?
Ra:-1>n?-
Ra:Math.asin(n)}
function et(n){
return((n=Math.exp(n))-1/n)/2}
function rt(n){
return((n=Math.exp(n))+1/n)/2}
function ut(n){
return((n=Math.exp(2*n))-1)/(n+1)}
function it(n){
return(n=Math.sin(n/2))*n}
function ot(){}
function at(n,t,
e){
return this instanceof at?(this.h=+n,this.s=+t,void(this.l=+
e)):arguments.length<2?n instanceof at?
new at(n.h,n.s,n.l):bt(
""+n,_t,at):
new at(n,t,
e)}
function ct(n,t,
e){
function r(n){
return n>360?n-=360:0>n&&(n+=360),60>n?
i+(o-
i)*n/60:180>n?o:240>n?
i+(o-
i)*(240-n)/60:
i}
function u(n){
return Math.round(255*
r(n))}var
i,
o;
return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,
e=0>e?0:e>1?1:
e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,
new mt(
u(n+120),
u(n),
u(n-120))}
function lt(n,t,e){
return this instanceof lt?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof lt?
new lt(n.h,n.c,n.l):n instanceof ft?gt(n.l,n.a,n.b):gt((n=wt((n=
ta.rgb(n)).
r,n.g,n.b)).l,n.a,n.b):
new lt(n,t,e)}
function st(n,t,e){
return isNaN(n)&&(n=0),isNaN(t)&&(t=0),
new ft(e,Math.cos(n*=
Da)*t,Math.sin(n)*t)}
function ft(n,t,e){
return this instanceof ft?(this.l=+n,this.a=+t,void(this.
b=+e)):arguments.length<2?n instanceof ft?
new ft(n.l,n.a,n.b):n instanceof lt?st(n.h,n.c,n.l):wt((n=mt(n)).
r,n.g,n.b):
new ft(n,t,e)}
function ht(n,t,e){var
r=(n+16)/116,
u=r+t/500,i=r-e/200;
return u=pt(
u)*
Xa,r=pt(r)*
$a,i=pt(i)*
Ba,
new mt(dt(3.2404542*
u-1.5371385*r-.4985314*i),dt(-.969266*
u+1.8760108*r+.041556*i),dt(.0556434*
u-.2040259*r+1.0572252*i))}
function gt(n,t,e){
return n>0?
new lt(Math.atan2(e,t)*
Pa,Math.sqrt(t*t+e*e),n):
new lt(0/0,0/0,n)}
function pt(n){
return n>.206893034?n*n*n:(n-4/29)/7.787037}
function vt(n){
return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}
function dt(n){
return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}
function mt(n,t,e){
return this instanceof mt?(this.
r=~~n,this.g=~~t,void(this.
b=~~e)):arguments.length<2?n instanceof mt?
new mt(n.r,n.g,n.b):bt(
""+n,mt,ct):
new mt(n,t,e)}
function yt(n){
return new mt(n>>16,n>>8&255,255&n)}
function Mt(n){
return yt(n)+
""}
function xt(n){
return 16>n?
"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}
function bt(n,t,e){var
r,
u,
i,o=0,a=0,c=0;
if(r=/([a-z]+)\((.*)\)/i.exec(n))
switch(u=r[2].split(
","),r[1]){
case"hsl":
return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);
case"rgb":
return t(kt(u[0]),kt(u[1]),kt(u[2]))}
return(i=
Ga.get(n.toLowerCase()))?t(i.r,i.g,i.b):(null==n||
"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&
i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&
i)>>16,a=(65280&i)>>8,c=255&
i)),t(o,a,c))}
function _t(n,t,e){var
r,
u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-
i,c=(o+
i)/2;
return a?(u=.5>c?a/(o+
i):a/(2-o-i),r=n==o?(t-
e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),
new at(r,u,c)}
function wt(n,t,e){n=St(n),t=St(t),e=St(e);var r=vt((.4124564*n+.3575761*t+.1804375*e)/
Xa),u=vt((.2126729*n+.7151522*t+.072175*e)/
$a),i=vt((.0193339*n+.119192*t+.9503041*e)/
Ba);
return ft(116*u-16,500*(r-u),200*(u-i))}
function St(n){
return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}
function kt(n){var t=parseFloat(n);
return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}
function Et(n){
return"function"==typeof n?n:
function(){
return n}}
function At(n){
return function(t,
e,
r){
return 2===arguments.length&&
"function"==typeof e&&(r=
e,e=null),Nt(t,e,n,r)}}
function Nt(n,t,e,r){
function u(){var n,t=c.status;
if(!t&&zt(c)||t>=200&&300>t||304===t){
try{n=e.call(i,c)}
catch(r){
return void o.error.call(i,r)}o.load.call(i,n)}
else o.error.call(i,c)}var i={},o=
ta.dispatch(
"beforesend",
"progress",
"load",
"error"),a={},c=
new XMLHttpRequest,l=null;
return!this.XDomainRequest||
"withCredentials"in c||!/^(http(s)?:)?\/\
2 },polygonEnd:
function(){t.polygonEnd(),S.lineStart=r}};
return S}
function u(t,e,r,a,c,l,s,
f,h,g,p,v,
d,m){var y=s-t,M=
f-
e,
x=y*y+M*M;
if(x>4*i&&
d--){var
b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=
ga(
ga(w)-1)<
Ca||
ga(r-h)<
Ca?(r+h)/2:Math.atan2(_,b),A=n(E,k),N=A[0],C=A[1],z=N-t,q=C-
e,L=M*z-y*q;(L*L/x>i||
ga((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(
u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,
d,m),m.point(N,C),
u(N,C,E,b,_,w,s,
f,h,g,p,v,
d,m))}}var i=.5,o=Math.cos(30*
Da),a=16;
return t.precision=
function(n){
return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}
function tr(n){var t=nr(
function(t,e){
return n([t*
Pa,e*Pa])});
return function(n){
return or(t(n))}}
function er(n){this.
stream=n}
function rr(n,t){
return{point:t,sphere:
function(){n.sphere()},lineStart:
function(){n.lineStart()},lineEnd:
function(){n.lineEnd()},polygonStart:
function(){n.polygonStart()},polygonEnd:
function(){n.polygonEnd()}}}
function ur(n){
return ir(
function(){
return n})()}
function ir(n){
function t(n){
return n=
a(n[0]*
Da,n[1]*Da),[n[0]*h+
c,l-n[1]*h]}
function e(n){
return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*
Pa,n[1]*
Pa]}
function r(){a=Ae(o=
lr(m,M,x),i);var n=
i(v,
d);
return c=g-n[0]*h,l=p+n[1]*h,
u()}
function u(){
return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,
f=nr(
function(n,t){
return n=
i(n,t),[n[0]*h+
c,l-n[1]*h]}),h=150,g=480,p=250,v=0,
d=0,m=0,M=0,x=0,b=
Lc,_=y,w=null,S=null;
return t.stream=
function(n){
return s&&(s.valid=!1),s=
or(
b(o,
f(_(n)))),s.valid=!0,s},t.clipAngle=
function(n){
return arguments.length?(b=null==n?(w=n,
Lc):He((w=+n)*
Da),
u()):w},t.clipExtent=
function(n){
return arguments.length?(S=n,_=n?Ie(n[0][0],n[0][1],n[1][0],n[1][1]):y,u()):S},t.
scale=function(n){
return arguments.length?(h=+n,
r()):h},t.translate=
function(n){
return arguments.length?(g=+n[0],p=+n[1],
r()):[g,p]},t.center=
function(n){
return arguments.length?(v=n[0]%360*
Da,
d=n[1]%360*
Da,
r()):[v*
Pa,d*Pa]},t.rotate=
function(n){
return arguments.length?(m=n[0]%360*
Da,M=n[1]%360*
Da,x=n.length>2?n[2]%360*
Da:0,
r()):[m*Pa,M*Pa,x*Pa]},
ta.rebind(t,
f,
"precision"),
function(){
return i=n.apply(
this,arguments),t.invert=i.invert&&
e,
r()}}
function or(n){
return rr(n,
function(t,e){n.point(t*
Da,e*Da)})}
function ar(n,t){
return[n,t]}
function cr(n,t){
return[n>
qa?n-
La:-
qa>n?n+
La:n,t]}
function lr(n,t,e){
return n?t||e?Ae(
fr(n),
hr(t,e)):
fr(n):t||e?
hr(t,e):
cr}function
sr(n){
return function(t,
e){
return t+=n,[t>
qa?t-
La:-
qa>t?t+
La:t,
e]}}
function fr(n){var t=
sr(n);
return t.invert=
sr(-n),t}
function hr(n,t){
function e(n,t){var e=Math.cos(t),a=Math.cos(n)*
e,c=Math.sin(n)*
e,l=Math.sin(t),s=l*r+a*
u;
return[Math.atan2(c*i-s*o,a*r-l*u),tt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);
return e.invert=
function(n,t){var e=Math.cos(t),a=Math.cos(n)*
e,c=Math.sin(n)*
e,l=Math.sin(t),s=l*i-c*
o;
return[Math.atan2(c*i+l*o,a*r+s*u),tt(s*r-a*u)]},e}
function gr(n,t){var e=Math.cos(n),r=Math.sin(n);
return function(
u,
i,
o,
a){var c=o*t;null!=u?(u=
pr(e,u),i=
pr(e,i),(o>0?i>u:u>
i)&&(u+=o*
La)):(u=n+o*La,i=n-.5*c);
for(var l,s=u;o>0?s>i:i>s;s-=
c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}
function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=nt(-e[1]);
return((-e[2]<0?-r:r)+2*Math.PI-
Ca)%(2*Math.PI)}
function vr(n,t,e){var r=
ta.range(n,t-
Ca,e).concat(t);
return function(n){
return r.map(
function(t){
return[n,t]})}}
function dr(n,t,e){var r=
ta.range(n,t-
Ca,e).concat(t);
return function(n){
return r.map(
function(t){
return[t,n]})}}
function mr(n){
return n.source}
function yr(n){
return n.target}
function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),
f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(it(r-t)+u*o*it(e-n))),g=1/Math.sin(h),p=h?
function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*
f,o=e*i+t*
a;
return[Math.atan2(u,r)*
Pa,Math.atan2(o,Math.sqrt(r*r+u*u))*Pa]}:
function(){
return[n*
Pa,t*
Pa]};
return p.distance=h,p}
function xr(){
function n(n,u){var i=Math.sin(u*=
Da),o=Math.cos(u),a=
ga((n*=
Da)-t),c=Math.cos(a);
Yc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*
a),e*i+r*o*c),t=n,e=
i,r=o}var t,
e,
r;
Zc.point=
function(
u,
i){t=u*
Da,e=Math.sin(i*=Da),r=Math.cos(i),
Zc.point=n},
Zc.lineEnd=
function(){
Zc.point=
Zc.lineEnd=b}}
function br(n,t){
function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);
return[i*u*Math.sin(t),i*Math.sin(e)]}
return e.invert=
function(n,
e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);
return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}
function _r(n,t){
function e(n,t){o>0?-
Ra+
Ca>t&&(t=-
Ra+
Ca):t>
Ra-
Ca&&(t=
Ra-
Ca);var e=o/Math.pow(
u(t),i);
return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=
function(n){
return Math.tan(
qa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/
u(n)),o=r*Math.pow(
u(n),i)/
i;
return i?(e.invert=
function(n,t){var e=o-t,r=K(i)*Math.sqrt(n*n+e*e);
return[Math.atan2(n,e)/
i,2*Math.atan(Math.pow(o/r,1/i))-
Ra]},e):
Sr}function
wr(n,t){
function e(n,t){var e=i-t;
return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;
return ga(u)<
Ca?
ar:(e.invert=
function(n,t){var e=i-t;
return[Math.atan2(n,e)/
u,i-K(u)*Math.sqrt(n*n+e*e)]},
e)}
function Sr(n,t){
return[n,Math.log(Math.tan(
qa/4+t/2))]}
function kr(n){var t,e=
ur(n),r=e.scale,u=e.translate,i=e.clipExtent;
return e.scale=
function(){var n=r.apply(e,arguments);
return n===e?t?e.clipExtent(null):e:n},e.translate=
function(){var n=u.apply(e,arguments);
return n===e?t?e.clipExtent(null):e:n},e.clipExtent=
function(n){var o=i.apply(e,arguments);
if(o===e){
if(t=null==n){var a=
qa*
r(),c=
u();
i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}
else t&&(o=null);
return o},e.clipExtent(null)}
function Er(n,t){
return[Math.log(Math.tan(
qa/4+t/2)),-n]}
function Ar(n){
return n[0]}
function Nr(n){
return n[1]}
function Cr(n){
for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){
for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}
return e.slice(0,r)}
function zr(n,t){
return n[0]-t[0]||n[1]-t[1]}
function qr(n,t,e){
return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}
function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-
u,a=r[0]-
i,c=n[1],l=e[1],s=t[1]-
c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);
return[u+h*
o,c+h*s]}
function Tr(n){var t=n[0],e=n[n.length-1];
return!(t[0]-e[0]||t[1]-e[1])}
function Rr(){
tu(
this),this.edge=this.site=this.circle=null}
function Dr(n){var t=
el.pop()||
new Rr;
return t.site=n,t}
function Pr(n){
Xr(n),
Qc.remove(n),
el.push(n),
tu(n)}
function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:
e,y:r},i=n.P,o=n.N,a=[n];
Pr(n);
for(var c=i;c.circle&&
ga(e-c.circle.x)<
Ca&&
ga(r-c.circle.cy)<
Ca;)i=c.P,a.unshift(c),
Pr(c),c=
i;a.unshift(c),
Xr(c);
for(var l=o;l.circle&&
ga(e-l.circle.x)<Ca&&
ga(r-l.circle.cy)<
Ca;)o=l.N,a.push(l),
Pr(l),l=
o;a.push(l),
Xr(l);var s,f=a.length;
for(s=1;f>s;++s)l=a[s],c=a[s-1],
Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=
Jr(c.site,l.site,null,u),
Vr(c),
Vr(l)}
function jr(n){
for(var t,e,r,u,i=n.x,o=n.y,a=
Qc._;a;)
if(r=
Fr(a,o)-i,r>Ca)a=a.L;
else{
if(u=i-
Hr(a,o),!(u>Ca)){r>-Ca?(t=a.P,e=
a):u>-Ca?(t=a,e=a.N):t=e=a;
break}
if(!a.R){t=
a;
break}a=a.R}var c=
Dr(n);
if(
Qc.insert(t,c),t||
e){
if(t===e)
return Xr(t),e=
Dr(t.site),
Qc.insert(c,e),c.edge=e.edge=
Jr(t.site,c.site),
Vr(t),
void Vr(e);
if(!e)
return void(c.edge=
Jr(t.site,c.site));
Xr(t),
Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-
f,p=e.site,v=p.x-s,d=p.y-
f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};
Kr(e.edge,l,p,x),c.edge=
Jr(l,n,null,x),e.edge=
Jr(n,p,null,x),
Vr(t),
Vr(e)}}
function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;
if(!i)
return r;var o=n.P;
if(!o)
return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;
if(!l)
return a;var s=a-
r,f=1/i-1/l,h=s/l;
return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}
function Hr(n,t){var e=n.N;
if(e)
return Fr(e,t);var r=n.site;
return r.y===t?r.x:1/0}
function Or(n){this.site=n,this.edges=[]}
function Ir(n){
for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=
Kc,d=v.length;d--;)
if(i=v[d],i&&i.prepare())
for(a=i.edges,c=a.length,o=0;c>o;)s=a[
o].end(),r=s.x,u=s.y,l=a[++o%
c].start(),t=l.x,e=l.y,(
ga(r-t)>Ca||
ga(u-e)>
Ca)&&(a.splice(o,0,
new Qr(
Gr(i.site,s,
ga(r-f)<Ca&&p-u>Ca?{x:
f,y:
ga(t-f)<Ca?e:p}:
ga(u-p)<Ca&&h-r>Ca?{x:
ga(e-p)<Ca?t:h,y:p}:
ga(r-h)<Ca&&u-g>Ca?{x:h,y:
ga(t-h)<Ca?e:g}:
ga(u-g)<Ca&&r-f>Ca?{x:
ga(e-g)<Ca?t:
f,y:g}:null),i.site,null)),++c)}
function Yr(n,t){
return t.angle-n.angle}
function Zr(){
tu(
this),this.x=this.y=this.
arc=this.site=this.cy=null}
function Vr(n){var t=n.P,e=n.N;
if(t&&e){var r=t.site,u=n.site,i=e.site;
if(r!==i){var o=u.x,a=u.y,c=r.x-
o,l=r.y-
a,s=i.x-
o,f=i.y-
a,h=2*(c*f-l*s);
if(!(h>=-
za)){var g=c*c+l*l,p=s*s+f*
f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+
a,m=
rl.pop()||
new Zr;m.arc=n,m.site=
u,m.x=v+
o,m.y=f+Math.sqrt(v*v+d*d),m.cy=
f,n.circle=m;
for(var y=null,M=
tl._;M;)
if(m.y<M.y||m.y===M.y&&m.x<=M.x){
if(!M.L){y=M.P;
break}M=M.L}
else{
if(!M.R){y=M;
break}M=M.R}
tl.insert(y,m),y||(
nl=m)}}}}
function Xr(n){var t=n.circle;t&&(t.P||(
nl=t.N),
tl.remove(t),
rl.push(t),
tu(t),n.circle=null)}
function $r(n){
for(var t,e=
Gc,r=Oe(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!
Br(t,n)||!
r(t)||
ga(t.a.x-t.b.x)<Ca&&
ga(t.a.y-t.b.y)<
Ca)&&(t.a=t.b=null,e.splice(u,1))}
function Br(n,t){var e=n.b;
if(e)
return!0;var
r,
u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],l=t[1][1],s=n.l,f=n.r,h=s.x,g=s.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;
if(v===g){
if(o>d||d>=a)
return;
if(h>p){
if(i){
if(i.y>=l)
return}
else i={x:
d,y:c};e={x:
d,y:l}}
else{
if(i){
if(i.y<c)
return}
else i={x:
d,y:l};e={x:
d,y:c}}}
else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)
if(h>p){
if(i){
if(i.y>=l)
return}
else i={x:(c-
u)/r,y:c};e={x:(l-
u)/r,y:l}}
else{
if(i){
if(i.y<c)
return}
else i={x:(l-
u)/r,y:l};e={x:(c-
u)/r,y:c}}
else if(v>g){
if(i){
if(i.x>=a)
return}
else i={x:
o,y:r*o+u};e={x:
a,y:r*a+u}}
else{
if(i){
if(i.x<o)
return}
else i={x:
a,y:r*a+u};e={x:
o,y:r*o+u}}
return n.a=
i,n.b=
e,!0}
function Wr(n,t){this.l=n,this.r=t,this.a=this.b=null}
function Jr(n,t,e,r){var u=
new Wr(n,t);
return Gc.push(u),e&&
Kr(u,n,t,e),r&&
Kr(u,t,n,r),
Kc[n.i].edges.push(
new Qr(u,n,t)),
Kc[t.i].edges.push(
new Qr(u,t,n)),u}
function Gr(n,t,e){var r=
new Wr(n,null);
return r.a=t,r.b=
e,
Gc.push(r),r}
function Kr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=
r,n.l=t,n.r=
e)}
function Qr(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}
function nu(){this._=null}
function tu(n){n.U=n.C=n.L=n.R=n.P=n.N=null}
function eu(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=
r,r.U=
u,e.U=
r,e.R=r.L,e.R&&(e.R.U=
e),r.L=e}
function ru(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=
r,r.U=
u,e.U=
r,e.L=r.R,e.L&&(e.L.U=
e),r.R=e}
function uu(n){
for(;n.L;)n=n.L;
return n}
function iu(n,t){var
e,
r,
u,i=n.sort(
ou).pop();
for(
Gc=[],
Kc=
new Array(n.length),
Qc=
new nu,
tl=
new nu;;)
if(u=
nl,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==
r)&&(
Kc[i.i]=
new Or(i),
jr(i),e=i.x,r=i.y),i=n.pop();
else{
if(!u)
break;
Ur(u.arc)}t&&(
$r(t),
Ir(t));var o={cells:
Kc,edges:
Gc};
return Qc=
tl=
Gc=
Kc=null,o}
function ou(n,t){
return t.y-n.y||t.x-n.x}
function au(n,t,e){
return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}
function cu(n){
return n.x}
function lu(n){
return n.y}
function su(){
return{leaf:!0,nodes:[],point:null,x:null,y:null}}
function fu(n,t,e,r,u,i){
if(!n(t,e,r,u,i)){var o=.5*(e+
u),a=.5*(r+i),c=t.nodes;c[0]&&
fu(n,c[0],e,r,o,a),c[1]&&
fu(n,c[1],o,r,u,a),c[2]&&
fu(n,c[2],e,a,o,i),c[3]&&
fu(n,c[3],o,a,u,i)}}
function hu(n,t,e,r,u,i,o){var
a,c=1/0;
return function l(n,s,f,h,g){
if(!(s>i||f>o||r>h||u>g)){
if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*
d;
if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}
for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)
if(n=M[3&S])
switch(3&S){
case 0:l(n,s,f,x,b);
break;
case 1:l(n,x,f,h,b);
break;
case 2:l(n,s,b,x,g);
break;
case 3:l(n,x,b,h,g)}}}(n,
r,
u,
i,
o),a}
function gu(n,t){n=
ta.rgb(n),t=
ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-
e,o=t.g-
r,a=t.b-
u;
return function(n){
return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}
function pu(n,t){var
e,r={},u={};
for(e in n)e in t?r[
e]=
mu(n[e],t[e]):u[e]=n[e];
for(e in t)e in n||(u[
e]=t[
e]);
return function(n){
for(e in r)u[
e]=r[
e](n);
return u}}
function vu(n,t){
return n=+n,t=+t,
function(
e){
return n*(1-
e)+t*e}}
function du(n,t){var
e,
r,
u,i=
il.lastIndex=
ol.lastIndex=0,o=-1,a=[],c=[];
for(n+=
"",t+=
"";(e=
il.exec(n))&&(r=
ol.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[
o]?a[
o]+=u:a[++
o]=
u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=
ol.lastIndex;
return i<t.length&&(u=t.slice(i),a[
o]?a[
o]+=u:a[++
o]=
u),a.length<2?c[0]?(t=c[0].x,
function(n){
return t(n)+
""}):
function(){
return t}:(t=c.length,
function(n){
for(var e,r=0;t>
r;++
r)a[(e=c[r]).i]=e.x(n);
return a.join(
"")})}
function mu(n,t){
for(var e,r=
ta.interpolators.length;--r>=0&&!(e=
ta.interpolators[r](n,t)););
return e}
function yu(n,t){var
e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);
for(e=0;a>
e;++
e)r.push(
mu(n[e],t[e]));
for(;i>
e;++
e)u[e]=n[e];
for(;o>
e;++
e)u[e]=t[e];
return function(n){
for(e=0;a>
e;++
e)u[e]=r[e](n);
return u}}
function Mu(n){
return function(t){
return 0>=t?0:t>=1?1:n(t)}}
function xu(n){
return function(t){
return 1-n(1-t)}}
function bu(n){
return function(t){
return.5*(.5>t?n(2*t):2-n(2-2*t))}}function
_u(n){
return n*n}
function wu(n){
return n*n*n}
function Su(n){
if(0>=n)
return 0;
if(n>=1)
return 1;var t=n*n,e=t*n;
return 4*(.5>n?e:3*(n-t)+e-.75)}
function ku(n){
return function(t){
return Math.pow(t,n)}}
function Eu(n){
return 1-Math.cos(n*
Ra)}
function Au(n){
return Math.pow(2,10*(n-1))}
function Nu(n){
return 1-Math.sqrt(1-n*n)}
function Cu(n,t){var
e;
return arguments.length<2&&(t=.45),arguments.length?e=t/La*Math.asin(1/n):(n=1,e=t/4),
function(r){
return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*La/t)}}
function zu(n){
return n||(n=1.70158),
function(t){
return t*t*((n+1)*t-n)}}
function qu(n){
return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}
function Lu(n,t){n=
ta.hcl(n),t=
ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-
e,o=t.c-
r,a=t.l-
u;
return isNaN(o)&&(o=0,r=isNaN(r)?t.c:
r),isNaN(i)?(i=0,e=isNaN(e)?t.h:
e):i>180?i-=360:-180>i&&(i+=360),
function(n){
return st(e+i*n,r+o*n,u+a*n)+
""}}
function Tu(n,t){n=
ta.hsl(n),t=
ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-
e,o=t.s-
r,a=t.l-
u;
return isNaN(o)&&(o=0,r=isNaN(r)?t.s:
r),isNaN(i)?(i=0,e=isNaN(e)?t.h:
e):i>180?i-=360:-180>i&&(i+=360),
function(n){
return ct(e+i*n,r+o*n,u+a*n)+
""}}
function Ru(n,t){n=
ta.lab(n),t=
ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-
e,o=t.a-
r,a=t.b-
u;
return function(n){
return ht(e+i*n,r+o*n,u+a*n)+
""}}
function Du(n,t){
return t-=n,
function(
e){
return Math.round(n+t*e)}}
function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=
ju(t),u=
Uu(t,e),i=
ju(
Fu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Pa,this.translate=[n.e,n.f],
this.scale=[r,i],
this.skew=i?Math.atan2(u,i)*Pa:0}
function Uu(n,t){
return n[0]*t[0]+n[1]*t[1]}
function ju(n){var t=Math.sqrt(
Uu(n,n));
return t&&(n[0]/=t,n[1]/=t),t}
function Fu(n,t,e){
return n[0]+=e*t[0],n[1]+=e*t[1],n}
function Hu(n,t){var
e,r=[],u=[],i=
ta.transform(n),o=
ta.transform(t),a=i.translate,c=o.translate,l=i.rotate,s=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;
return a[0]!=c[0]||a[1]!=c[1]?(r.push(
"translate(",null,
",",null,
")"),u.push({i:1,x:
vu(a[0],c[0])},{i:3,x:
vu(a[1],c[1])})):r.push(c[0]||c[1]?
"translate("+c+
")":
""),l!=s?(l-s>180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+
"rotate(",null,
")")-2,x:
vu(l,s)})):s&&r.push(r.pop()+
"rotate("+s+
")"),f!=h?u.push({i:r.push(r.pop()+
"skewX(",null,
")")-2,x:
vu(f,h)}):h&&r.push(r.pop()+
"skewX("+h+
")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+
"scale(",null,
",",null,
")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+
"scale("+p+
")"),e=u.length,
function(n){
for(var t,i=-1;++i<
e;)r[(t=u[i]).i]=t.x(n);
return r.join(
"")}}
function Ou(n,t){
return t=(t-=n=+n)||1/t,
function(e){
return(e-n)/t}}
function Iu(n,t){
return t=(t-=n=+n)||1/t,
function(e){
return Math.max(0,Math.min(1,(e-n)/t))}}
function Yu(n){
for(var t=n.source,e=n.target,r=
Vu(t,e),u=[t];t!==
r;)t=t.parent,u.push(t);
for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;
return u}
function Zu(n){
for(var t=[],e=n.parent;null!=e;)t.push(n),n=
e,e=e.parent;
return t.push(n),t}
function Vu(n,t){
if(n===t)
return n;
for(var e=
Zu(n),r=
Zu(t),u=e.pop(),i=r.pop(),o=null;u===
i;)o=u,u=e.pop(),i=r.pop();
return o}
function Xu(n){n.fixed|=2}
function $u(n){n.fixed&=-7}
function Bu(n){n.fixed|=4,n.px=n.x,n.py=n.y}
function Wu(n){n.fixed&=-5}
function Ju(n,t,e){var r=0,u=0;
if(n.charge=0,!n.leaf)
for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[
c],null!=i&&(
Ju(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);
if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var l=t*e[n.point.index];n.charge+=n.pointCharge=l,r+=l*n.point.x,u+=l*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}
function Gu(n,t){
return ta.rebind(n,t,
"sort",
"children",
"value"),n.nodes=n,n.links=
ri,n}
function Ku(n,t){
for(var e=[n];null!=(n=e.pop());)
if(t(n),(u=n.children)&&(r=u.length))
for(var r,u;--r>=0;)e.push(u[r])}
function Qu(n,t){
for(var e=[n],r=[];null!=(n=e.pop());)
if(r.push(n),(i=n.children)&&(u=i.length))
for(var u,i,o=-1;++o<
u;)e.push(i[o]);
for(;null!=(n=r.pop());)t(n)}
function ni(n){
return n.children}
function ti(n){
return n.value}
function ei(n,t){
return t.value-n.value}
function ri(n){
return ta.merge(n.map(
function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}
function ui(n){
return n.x}
function ii(n){
return n.y}
function oi(n,t,e){n.y0=t,n.y=e}
function ai(n){
return ta.range(n.length)}
function ci(n){
for(var t=-1,e=n[0].length,r=[];++t<
e;)r[t]=0;
return r}
function li(n){
for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[
e][1])>u&&(r=e,u=t);
return r}
function si(n){
return n.reduce(
fi,0)}
function fi(n,t){
return n+t[1]}
function hi(n,t){
return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}
function gi(n,t){
for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;
return i}
function pi(n){
return[
ta.min(n),
ta.max(n)]}
function vi(n,t){
return n.value-t.value}
function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=
e,e._pack_prev=t}
function mi(n,t){n._pack_next=t,t._pack_prev=n}
function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;
return.999*u*u>e*e+r*r}
function Mi(n){
function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}
if((e=n.children)&&(l=e.length)){var
e,
r,
u,
i,
o,
a,
c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;
if(e.forEach(
xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))
for(i=e[2],
wi(r,u,i),t(i),
di(r,i),r._pack_prev=
i,
di(i,u),u=r._pack_next,o=3;l>
o;o++){
wi(r,u,i=e[o]);var p=0,v=1,d=1;
for(a=u._pack_next;a!==u;a=a._pack_next,v++)
if(
yi(a,i)){p=1;
break}
if(1==p)
for(c=r._pack_prev;c!==a._pack_prev&&!
yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?
mi(r,u=a):
mi(r=c,u),o--):(
di(r,i),u=i,t(i))}var m=(s+f)/2,y=(h+g)/2,M=0;
for(o=0;l>
o;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(
bi)}}
function xi(n){n._pack_next=n._pack_prev=n}
function bi(n){
delete n._pack_next,
delete n._pack_prev}
function _i(n,t,e,r){var u=n.children;
if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)
for(var i=-1,o=u.length;++i<o;)
_i(u[i],t,e,r)}
function wi(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;
if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*
i;o*=
o,r*=
r;var c=.5+(r-
o)/(2*a),l=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+l*
i,e.y=n.y+c*i-l*u}
else e.x=n.x+
r,e.y=n.y}
function Si(n,t){
return n.parent==t.parent?1:2}
function ki(n){var t=n.children;
return t.length?t[0]:n.t}
function Ei(n){var t,e=n.children;
return(t=e.length)?e[t-1]:n.t}
function Ai(n,t,e){var r=e/(t.i-n.i);t.c-=
r,t.s+=
e,n.c+=
r,t.z+=
e,t.m+=e}
function Ni(n){
for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[
i],t.z+=
e,t.m+=
e,e+=t.s+(r+=t.c)}
function Ci(n,t,e){
return n.a.parent===t.parent?n.a:e}
function zi(n){
return 1+
ta.max(n,
function(n){
return n.y})}
function qi(n){
return n.reduce(
function(n,t){
return n+t.x},0)/n.length}
function Li(n){var t=n.children;
return t&&t.length?
Li(t[0]):n}function
Ti(n){var t,e=n.children;
return e&&(t=e.length)?
Ti(e[t-1]):n}function
Ri(n){
return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}
function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];
return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:
e,y:
r,dx:
u,dy:i}}
function Pi(n){var t=n[0],e=n[n.length-1];
return e>t?[t,
e]:[
e,t]}
function Ui(n){
return n.rangeExtent?n.rangeExtent():
Pi(n.range())}
function ji(n,t,e,r){var u=
e(n[0],n[1]),i=
r(t[0],t[1]);
return function(n){
return i(
u(n))}}
function Fi(n,t){var
e,r=0,u=n.length-1,i=n[
r],o=n[
u];
return i>o&&(e=
r,r=
u,u=
e,e=
i,i=
o,o=
e),n[r]=t.floor(i),n[
u]=t.ceil(o),n}
function Hi(n){
return n?{floor:
function(t){
return Math.floor(t/n)*n},ceil:
function(t){
return Math.ceil(t/n)*n}}:
ml}
function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;
for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=
a;)u.push(e(n[o-1],n[o])),i.push(
r(t[o-1],t[o]));
return function(t){var e=
ta.bisect(n,t,1,a)-1;
return i[
e](u[
e](t))}}
function Ii(n,t,e,r){
function u(){var u=Math.min(n.length,t.length)>2?
Oi:
ji,c=r?
Iu:
Ou;
return o=
u(n,t,c,e),a=
u(t,n,c,
mu),i}
function i(n){
return o(n)}var
o,
a;
return i.invert=
function(n){
return a(n)},i.domain=
function(t){
return arguments.length?(n=t.map(Number),
u()):n},i.range=
function(n){
return arguments.length?(t=n,
u()):t},i.rangeRound=
function(n){
return i.range(n).interpolate(
Du)},i.clamp=
function(n){
return arguments.length?(r=n,
u()):r},i.interpolate=
function(n){
return arguments.length?(e=n,
u()):e},i.ticks=
function(t){
return Xi(n,t)},i.tickFormat=
function(t,
e){
return $i(n,t,e)},i.nice=
function(t){
return Zi(n,t),
u()},i.copy=
function(){
return Ii(n,t,e,r)},
u()}
function Yi(n,t){
return ta.rebind(n,t,
"range",
"rangeRound",
"interpolate",
"clamp")}
function Zi(n,t){
return Fi(n,
Hi(
Vi(n,t)[2]))}
function Vi(n,t){null==t&&(t=10);var e=
Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*
u;
return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*
u,e[1]=Math.floor(e[1]/u)*u+.5*
u,e[2]=
u,e}
function Xi(n,t){
return ta.range.apply(
ta,
Vi(n,t))}
function $i(n,t,e){var r=
Vi(n,t);
if(e){var u=
ic.exec(e);
if(u.shift(),
"s"===u[8]){var i=
ta.formatPrefix(Math.max(
ga(r[0]),
ga(r[1])));
return u[7]||(u[7]=
"."+
Bi(i.scale(r[2]))),u[8]=
"f",e=
ta.format(u.join(
"")),
function(n){
return e(i.scale(n))+i.symbol}}u[7]||(u[7]=
"."+
Wi(u[8],r)),e=u.join(
"")}
else e=
",."+
Bi(r[2])+
"f";
return ta.format(e)}
function Bi(n){
return-Math.floor(Math.log(n)/Math.LN10+.01)}
function Wi(n,t){var e=
Bi(t[2]);
return n in
yl?Math.abs(e-
Bi(Math.max(
ga(t[0]),
ga(t[1]))))+ +(
"e"!==n):e-2*(
"%"===n)}
function Ji(n,t,e,r){
function u(n){
return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}
function i(n){
return e?Math.pow(t,n):-Math.pow(t,-n)}
function o(t){
return n(
u(t))}
return o.invert=
function(t){
return i(n.invert(t))},o.domain=
function(t){
return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).
map(u)),o):r},o.base=
function(
e){
return arguments.length?(t=+
e,n.domain(r.map(u)),o):t},o.nice=
function(){var t=
Fi(r.map(u),e?Math:
xl);
return n.domain(t),r=t.map(i),o},o.ticks=
function(){var n=
Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(
u(a)),s=Math.ceil(
u(c)),f=t%1?2:t;
if(isFinite(s-l)){
if(e){
for(;s>l;l++)
for(var h=1;f>h;h++)o.push(i(l)*h);o.push(
i(l))}
else for(o.push(i(l));l++<s;)
for(var h=f-1;h>0;h--)o.push(i(l)*h);
for(l=0;o[l]<
a;l++);
for(s=o.length;o[s-1]>c;s--);o=o.slice(l,s)}
return o},o.tickFormat=
function(n,t){
if(!arguments.length)
return Ml;arguments.length<2?t=
Ml:
"function"!=typeof t&&(t=
ta.format(t));var
r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);
return function(n){
return n/
i(
c(
u(n)+r))<=a?t(n):
""}},o.copy=function(){
return Ji(n.copy(),t,
e,
r)},
Yi(o,n)}
function Gi(n,t,e){
function r(t){
return n(
u(t))}var u=
Ki(t),i=
Ki(1/t);
return r.invert=
function(t){
return i(n.invert(t))},r.domain=
function(t){
return arguments.length?(n.domain((e=t.map(Number)).
map(u)),r):e},r.ticks=
function(n){
return Xi(e,n)},r.tickFormat=
function(n,t){
return $i(e,n,t)},r.nice=
function(n){
return r.domain(
Zi(e,n))},r.exponent=
function(
o){
return arguments.length?(u=
Ki(t=o),i=
Ki(1/t),n.domain(e.map(u)),r):t},r.copy=
function(){
return Gi(n.copy(),t,
e)},
Yi(r,n)}
function Ki(n){
return function(t){
return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}
function Qi(n,t){
function e(e){
return i[((u.get(e)||(
"range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}
function r(t,e){
return ta.range(n.length).map(
function(n){
return t+e*n})}var u,i,o;
return e.domain=
function(
r){
if(!arguments.length)
return n;n=[],u=
new l;
for(var i,o=-1,a=r.length;++o<a;)u.has(i=r[o])||u.set(i,n.push(i));
return e[t.t].apply(e,t.a)},e.range=
function(n){
return arguments.length?(i=n,o=0,t={t:
"range",a:arguments},
e):i},e.rangePoints=
function(u,a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=n.length<2?(c=(c+l)/2,0):(l-
c)/(n.length-1+a);
return i=
r(c+s*a/2,s),o=0,t={t:
"rangePoints",a:arguments},e},e.rangeRoundPoints=
function(
u,
a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=n.length<2?(c=l=Math.round((c+l)/2),0):(l-c)/(n.length-1+
a)|0;
return i=
r(c+Math.round(s*a/2+(l-c-(n.length-1+a)*s)/2),s),o=0,t={t:
"rangeRoundPoints",a:arguments},e},e.rangeBands=
function(
u,
a,
c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=(f-s)/(n.length-a+2*c);
return i=
r(s+h*c,h),l&&i.reverse(),o=h*(1-
a),t={t:
"rangeBands",a:arguments},e},e.rangeRoundBands=
function(
u,
a,
c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=Math.floor((f-s)/(n.length-a+2*c));
return i=
r(s+Math.round((f-s-(n.length-a)*h)/2),h),l&&i.reverse(),o=Math.round(h*(1-a)),t={t:
"rangeRoundBands",a:arguments},e},e.rangeBand=
function(){
return o},e.rangeExtent=
function(){
return Pi(t.a[0])},e.copy=
function(){
return Qi(n,t)},e.domain(n)}
function no(n,t){
function i(){var e=0,r=t.length;
for(a=[];++e<
r;)a[e-1]=
ta.quantile(n,e/r);
return o}
function o(n){
return isNaN(n=+n)?
void 0:t[
ta.bisect(a,n)]}var
a;
return o.domain=
function(t){
return arguments.length?(n=t.map(r).filter(u).sort(e),
i()):n},o.range=
function(n){
return arguments.length?(t=n,
i()):t},o.quantiles=
function(){
return a},o.invertExtent=
function(
e){
return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?a[e-1]:n[0],e<a.length?a[
e]:n[n.length-1]]},o.copy=
function(){
return no(n,t)},
i()}
function to(n,t,e){
function r(t){
return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}
function u(){
return i=e.length/(t-n),o=e.length-1,r}var
i,
o;
return r.domain=
function(
e){
return arguments.length?(n=+e[0],t=+e[e.length-1],
u()):[n,t]},r.range=
function(n){
return arguments.length?(e=n,
u()):e},r.invertExtent=
function(t){
return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/
i]},r.copy=
function(){
return to(n,t,e)},
u()}
function eo(n,t){
function e(e){
return e>=e?t[
ta.bisect(n,e)]:
void 0}
return e.domain=
function(t){
return arguments.length?(n=t,
e):n},e.range=
function(n){
return arguments.length?(t=n,
e):t},e.invertExtent=
function(e){
return e=t.indexOf(e),[n[e-1],n[
e]]},e.copy=
function(){
return eo(n,t)},e}
function ro(n){
function t(n){
return+n}
return t.invert=t,t.domain=t.range=
function(
e){
return arguments.length?(n=e.map(t),t):n},t.ticks=
function(t){
return Xi(n,t)},t.tickFormat=
function(t,
e){
return $i(n,t,e)},t.copy=
function(){
return ro(n)},t}
function uo(){
return 0}
function io(n){
return n.innerRadius}
function oo(n){
return n.outerRadius}
function ao(n){
return n.startAngle}
function co(n){
return n.endAngle}
function lo(n){
return n&&n.padAngle}
function so(n,t,e,r){
return(n-e)*t-(t-
r)*n>0?0:1}
function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-
r)/Math.sqrt(i*i+o*o),c=a*
o,l=-a*
i,s=n[0]+
c,f=n[1]+l,h=t[0]+
c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-
f,y=d*d+m*m,M=e-
r,x=s*g-h*
f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*
b)/y,w=(-x*d-m*b)/y,S=(x*m+d*
b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;
return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}
function ho(n){
function t(t){
function o(){l.push(
"M",
i(n(s),a))}
for(var c,l=[],s=[],f=-1,h=t.length,g=Et(e),p=Et(r);++f<h;)u.call(
this,c=t[f],f)?s.push([+g.call(
this,c,f),+p.call(
this,c,f)]):s.length&&(o(),s=[]);
return s.length&&
o(),l.length?l.join(
""):null}var e=
Ar,r=
Nr,u=Ne,i=
go,o=i.key,a=.7;
return t.x=
function(n){
return arguments.length?(e=n,t):e},t.y=
function(n){
return arguments.length?(r=n,t):r},t.defined=
function(n){
return arguments.length?(u=n,t):u},t.interpolate=
function(n){
return arguments.length?(o=
"function"==typeof n?i=n:(i=
El.get(n)||
go).key,t):o},t.tension=
function(n){
return arguments.length?(a=n,t):a},t}
function go(n){
return n.join(
"L")}
function po(n){
return go(n)+
"Z"}
function vo(n){
for(var t=0,e=n.length,r=n[0],u=[r[0],
",",r[1]];++t<e;)u.push(
"H",(r[0]+(r=n[t])[0])/2,
"V",r[1]);
return e>1&&u.push(
"H",r[0]),u.join(
"")}
function mo(n){
for(var t=0,e=n.length,r=n[0],u=[r[0],
",",r[1]];++t<e;)u.push(
"V",(r=n[t])[1],
"H",r[0]);
return u.join(
"")}
function yo(n){
for(var t=0,e=n.length,r=n[0],u=[r[0],
",",r[1]];++t<e;)u.push(
"H",(r=n[t])[0],
"V",r[1]);
return u.join(
"")}
function Mo(n,t){
return n.length<4?
go(n):n[1]+
_o(n.slice(1,-1),
wo(n,t))}function
xo(n,t){
return n.length<3?
go(n):n[0]+
_o((n.push(n[0]),n),
wo([n[n.length-2]].concat(n,[n[1]]),t))}function
bo(n,t){
return n.length<3?
go(n):n[0]+
_o(n,
wo(n,t))}function
_o(n,t){
if(t.length<1||n.length!=t.length&&n.length!=t.length+2)
return go(n);var e=n.length!=t.length,r=
"",u=n[0],i=n[1],o=t[0],a=
o,c=1;
if(e&&(r+=
"Q"+(i[0]-2*o[0]/3)+
","+(i[1]-2*o[1]/3)+
","+i[0]+
","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[
c],c++,r+=
"C"+(u[0]+o[0])+
","+(u[1]+o[1])+
","+(i[0]-a[0])+
","+(i[1]-a[1])+
","+i[0]+
","+i[1];
for(var l=2;l<t.length;l++,c++)i=n[c],a=t[l],r+=
"S"+(i[0]-a[0])+
","+(i[1]-a[1])+
","+i[0]+
","+i[1]}
if(e){var s=n[
c];r+=
"Q"+(i[0]+2*a[0]/3)+
","+(i[1]+2*a[1]/3)+
","+s[0]+
","+s[1]}
return r}
function wo(n,t){
for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=
i,i=
o,o=n[
a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);
return r}
function So(n){
if(n.length<3)
return go(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[
u,
u,
u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,
",",i,
"L",
No(
Cl,o),
",",
No(
Cl,a)];
for(n.push(n[e-1]);++t<=
e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),
Co(c,o,a);
return n.pop(),c.push(
"L",r),c.join(
"")}
function ko(n){
if(n.length<4)
return go(n);
for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[
r],i.push(t[0]),o.push(t[1]);
for(e.push(
No(
Cl,i)+
","+
No(
Cl,o)),--
r;++r<
u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),
Co(e,i,o);
return e.join(
"")}
function Eo(n){
for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%
u],o.push(e[0]),a.push(e[1]);
for(t=[
No(
Cl,o),
",",
No(
Cl,a)],--r;++r<
i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),
Co(t,o,a);
return t.join(
"")}
function Ao(n,t){var e=n.length-1;
if(e)
for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,l=-1;++l<=
e;)r=n[l],u=l/e,r[0]=t*r[0]+(1-t)*(i+u*
a),r[1]=t*r[1]+(1-t)*(o+u*
c);
return So(n)}
function No(n,t){
return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}
function Co(n,t,e){n.push(
"C",
No(
Al,t),
",",
No(
Al,e),
",",
No(
Nl,t),
",",
No(
Nl,e),
",",
No(
Cl,t),
",",
No(
Cl,e))}
function zo(n,t){
return(t[1]-n[1])/(t[0]-n[0])}
function qo(n){
for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=
zo(u,i);++t<
e;)r[t]=(o+(o=
zo(u=i,i=n[t+1])))/2;
return r[t]=
o,r}
function Lo(n){
for(var t,e,r,u,i=[],o=
qo(n),a=-1,c=n.length-1;++a<c;)t=
zo(n[a],n[a+1]),
ga(t)<Ca?o[
a]=o[a+1]=0:(e=o[
a]/t,r=o[a+1]/t,u=e*e+r*
r,u>9&&(u=3*t/Math.sqrt(u),o[
a]=u*
e,o[a+1]=u*
r));
for(a=-1;++a<=
c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);
return i}
function To(n){
return n.length<3?
go(n):n[0]+
_o(n,
Lo(n))}function
Ro(n){
for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[
u],e=t[0],r=t[1]-
Ra,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);
return n}
function Do(n){
function t(t){
function c(){v.push(
"M",
a(n(m),f),s,l(n(d.reverse()),f),
"Z")}
for(var h,g,p,v=[],d=[],m=[],y=-1,M=t.length,x=Et(e),b=Et(u),_=e===r?
function(){
return g}:Et(r),w=u===i?
function(){
return p}:Et(i);++y<M;)o.call(
this,h=t[y],y)?(d.push([g=+x.call(
this,h,y),p=+b.call(
this,h,y)]),m.push([+_.call(
this,h,y),+w.call(
this,h,y)])):d.length&&(
c(),d=[],m=[]);
return d.length&&
c(),v.length?v.join(
""):null}var e=
Ar,r=
Ar,u=0,i=
Nr,o=Ne,a=
go,c=a.key,l=
a,s=
"L",f=.7;
return t.x=
function(n){
return arguments.length?(e=r=n,t):r},t.x0=
function(n){
return arguments.length?(e=n,t):e},t.x1=
function(n){
return arguments.length?(r=n,t):r
3 },t.y=
function(n){
return arguments.length?(u=i=n,t):i},t.y0=
function(n){
return arguments.length?(u=n,t):u},t.y1=
function(n){
return arguments.length?(i=n,t):i},t.defined=
function(n){
return arguments.length?(o=n,t):o},t.interpolate=
function(n){
return arguments.length?(c=
"function"==typeof n?a=n:(a=
El.get(n)||
go).key,l=a.reverse||a,s=a.closed?
"M":
"L",t):c},t.tension=
function(n){
return arguments.length?(f=n,t):f},t}
function Po(n){
return n.radius}
function Uo(n){
return[n.x,n.y]}
function jo(n){
return function(){var t=n.apply(
this,arguments),e=t[0],r=t[1]-
Ra;
return[e*Math.cos(r),e*Math.sin(r)]}}
function Fo(){
return 64}
function Ho(){
return"circle"}
function Oo(n){var t=Math.sqrt(n/
qa);
return"M0,"+t+
"A"+t+
","+t+
" 0 1,1 0,"+-t+
"A"+t+
","+t+
" 0 1,1 0,"+t+
"Z"}
function Io(n){
return function(){var t,
e;(t=
this[n])&&(e=t[t.active])&&(--t.count?
delete t[t.active]:
delete this[n],t.active+=.5,e.event&&e.event.interrupt.call(
this,this.__data__,e.index))}}
function Yo(n,t,e){
return ya(n,
Pl),n.namespace=t,n.id=
e,n}
function Zo(n,t,e,r){var u=n.id,i=n.namespace;
return Y(n,
"function"==typeof e?
function(n,o,a){n[
i][
u].tween.set(t,
r(e.call(n,n.__data__,o,a)))}:(e=
r(e),
function(n){n[
i][
u].tween.set(t,e)}))}
function Vo(n){
return null==n&&(n=
""),
function(){this.textContent=n}}
function Xo(n){
return null==n?
"__transition__":
"__transition_"+n+
"__"}
function $o(n,t,e,r,u){var i=n[
e]||(n[
e]={active:0,count:0}),o=i[r];
if(!o){var a=u.time;o=i[
r]={
tween:
new l,time:
a,
delay:u.delay,
duration:u.duration,
ease:u.ease,index:t},u=null,++i.count,
ta.timer(
function(u){
function c(e){
if(i.active>r)
return s();var u=i[i.active];u&&(--i.count,
delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(
function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,
ta.timer(
function(){return p.c=l(e||1)?Ne:l,1},0,a)}
function l(e){
if(i.active!==r)
return 1;
for(var u=e/f,a=h(u),c=v.length;c>0;)v[--
c].call(n,a);
return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):
void 0}
function s(){
return--i.count?
delete i[
r]:
delete n[
e],1}var
f,h,g=o.delay,p=
ec,v=[];
return p.t=g+
a,u>=g?
c(u-g):void(p.c=c)},0,
a)}}
function Bo(n,t,e){n.attr(
"transform",
function(n){var r=t(n);
return"translate("+(isFinite(r)?r:
e(n))+
",0)"})}
function Wo(n,t,e){n.attr(
"transform",
function(n){var r=t(n);
return"translate(0,"+(isFinite(r)?r:
e(n))+
")"})}
function Jo(n){
return n.toISOString()}
function Go(n,t,e){
function r(t){
return n(t)}
function u(n,e){var r=n[1]-n[0],u=r/
e,i=
ta.bisect(
Vl,u);
return i==
Vl.length?[t.year,
Vi(n.map(
function(n){return n/31536e6}),
e)[2]]:i?t[u/
Vl[i-1]<
Vl[i]/u?i-1:i]:[
Bl,
Vi(n,e)[2]]}
return r.invert=
function(t){
return Ko(n.invert(t))},r.domain=
function(t){
return arguments.length?(n.domain(t),
r):n.domain().map(
Ko)},r.nice=
function(n,t){
function e(e){
return!isNaN(e)&&!n.range(e,
Ko(+e+1),t).length}var i=r.domain(),o=
Pi(i),a=null==n?
u(o,10):
"number"==typeof n&&
u(o,n);
return a&&(n=a[0],t=a[1]),r.domain(
Fi(i,t>1?{floor:
function(t){
for(;
e(t=n.floor(t));)t=
Ko(t-1);
return t},ceil:
function(t){
for(;
e(t=n.ceil(t));)t=
Ko(+t+1);
return t}}:n))},r.ticks=
function(n,t){var e=
Pi(r.domain()),i=null==n?
u(e,10):
"number"==typeof n?
u(e,n):!n.range&&[{
range:n},t];
return i&&(n=i[0],t=i[1]),n.range(e[0],
Ko(+e[1]+1),1>t?1:t)},r.tickFormat=
function(){
return e},r.copy=
function(){
return Go(n.copy(),t,
e)},
Yi(r,n)}
function Ko(n){
return new Date(n)}
function Qo(n){
return JSON.parse(n.responseText)}
function na(n){var t=
ua.createRange();
return t.selectNode(
ua.body),t.createContextualFragment(n.responseText)}var
ta={version:
"3.5.5"},
ea=[].slice,
ra=
function(n){
return ea.call(n)},
ua=this.
document;
if(
ua)
try{
ra(
ua.documentElement.childNodes)[0].nodeType}
catch(ia){
ra=
function(n){
for(var t=n.length,e=
new Array(t);t--;)e[t]=n[t];
return e}}
if(Date.now||(Date.now=
function(){return+new Date}),
ua)
try{
ua.createElement(
"DIV").style.setProperty(
"opacity",0,
"")}
catch(oa){var aa=this.Element.prototype,ca=aa.setAttribute,la=aa.setAttributeNS,sa=this.CSSStyleDeclaration.prototype,fa=sa.setProperty;aa.setAttribute=
function(n,t){ca.call(
this,n,t+
"")},aa.setAttributeNS=
function(n,t,
e){la.call(
this,n,t,e+
"")},sa.setProperty=
function(n,t,
e){fa.call(
this,n,t+
"",e)}}ta.ascending=
e,ta.descending=
function(n,t){
return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=
function(n,t){var
e,
r,u=-1,i=n.length;
if(1===arguments.length){
for(;++u<i;)if(null!=(r=n[u])&&r>=
r){e=
r;
break}
for(;++u<i;)null!=(r=n[u])&&e>r&&(e=
r)}
else{
for(;++u<
i;)
if(null!=(r=t.call(n,n[u],u))&&r>=r){e=
r;
break}
for(;++u<
i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}
return e},ta.max=
function(n,t){var
e,
r,u=-1,i=n.length;
if(1===arguments.length){
for(;++u<i;)if(null!=(r=n[u])&&r>=
r){e=
r;
break}
for(;++u<i;)null!=(r=n[u])&&r>e&&(e=
r)}
else{
for(;++u<
i;)
if(null!=(r=t.call(n,n[u],u))&&r>=r){e=
r;
break}
for(;++u<
i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}
return e},ta.extent=
function(n,t){var
e,
r,
u,i=-1,o=n.length;
if(1===arguments.length){
for(;++i<o;)if(null!=(r=n[i])&&r>=
r){e=u=
r;
break}
for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=
r),r>u&&(u=r))}
else{
for(;++i<
o;)
if(null!=(r=t.call(n,n[i],i))&&r>=r){e=u=
r;
break}
for(;++i<
o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=
r))}
return[
e,
u]},ta.sum=
function(n,t){var
e,r=0,i=n.length,o=-1;
if(1===arguments.length)
for(;++o<
i;)
u(e=+n[o])&&(r+=
e);
else for(;++o<
i;)
u(e=+t.call(n,n[o],o))&&(r+=e);
return r},ta.mean=
function(n,t){var
e,i=0,o=n.length,a=-1,c=
o;
if(1===arguments.length)
for(;++a<
o;)
u(e=
r(n[a]))?i+=e:--c;
else for(;++a<
o;)
u(e=
r(t.call(n,n[a],a)))?i+=e:--
c;
return c?i/c:
void 0},ta.quantile=
function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-
r;
return i?u+i*(n[
r]-
u):u},ta.median=
function(n,t){var
i,o=[],a=n.length,c=-1;
if(1===arguments.length)
for(;++c<
a;)
u(i=
r(n[c]))&&o.push(i);
else for(;++c<
a;)
u(i=
r(t.call(n,n[c],c)))&&o.push(i);
return o.length?ta.quantile(o.sort(e),.5):
void 0},ta.variance=
function(n,t){var
e,
i,o=n.length,a=0,c=0,l=-1,s=0;
if(1===arguments.length)
for(;++l<
o;)
u(e=
r(n[l]))&&(i=e-a,a+=i/++s,c+=i*(e-a));
else for(;++l<
o;)
u(e=
r(t.call(n,n[l],l)))&&(i=e-
a,a+=i/++s,c+=i*(e-
a));
return s>1?c/(s-1):
void 0},ta.deviation=
function(){var n=ta.variance.apply(
this,arguments);
return n?Math.sqrt(n):n};var
ha=
i(e);ta.bisectLeft=ha.left,ta.bisect=ta.bisectRight=ha.right,ta.bisector=
function(n){
return i(1===n.length?
function(t,r){return e(n(t),r)}:n)},ta.shuffle=
function(n,t,
e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));
for(var r,u,i=e-t;
i;)u=Math.random()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=
r;
return n},ta.permute=
function(n,t){
for(var e=t.length,r=
new Array(e);e--;)r[e]=n[t[e]];
return r},ta.pairs=
function(n){
for(var t,e=0,r=n.length-1,u=n[0],i=
new Array(0>r?0:r);r>
e;)i[e]=[t=u,u=n[++e]];
return i},ta.zip=
function(){
if(!(r=arguments.length))
return[];
for(var n=-1,t=ta.min(arguments,o),e=
new Array(t);++n<t;)
for(var r,u=-1,i=e[n]=
new Array(r);++u<
r;)i[u]=arguments[u][n];
return e},ta.transpose=
function(n){
return ta.zip.apply(ta,n)},ta.keys=
function(n){var t=[];
for(var e in n)t.push(e);
return t},ta.values=
function(n){var t=[];
for(var e in n)t.push(n[e]);
return t},ta.entries=
function(n){var t=[];
for(var e in n)t.push({key:
e,value:n[
e]});
return t},ta.merge=
function(n){
for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[
i].length;
for(e=
new Array(o);--u>=0;)
for(r=n[u],t=r.length;--t>=0;)e[--
o]=r[t];
return e};var
ga=Math.abs;ta.range=
function(n,t,
e){
if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)
throw new Error(
"infinite range");var
r,u=[],i=
a(
ga(e)),o=-1;
if(n*=i,t*=i,e*=i,0>e)
for(;(r=n+e*++
o)>t;)u.push(r/i);
else for(;(r=n+e*++
o)<t;)u.push(r/i);
return u},ta.map=
function(n,t){var e=
new l;
if(n instanceof l)n.forEach(
function(n,t){e.set(n,t)});
else if(Array.isArray(n)){var
r,u=-1,i=n.length;
if(1===arguments.length)
for(;++u<
i;)e.set(u,n[u]);
else for(;++u<
i;)e.set(t.call(n,r=n[u],u),
r)}
else for(var o in n)e.set(o,n[o]);
return e};var
pa=
"__proto__",
va=
"\x00";
c(l,{has:h,
get:
function(n){
return this._[s(n)]},
set:
function(n,t){
return this._[s(n)]=t},
remove:g,
keys:p,
values:
function(){var n=[];
for(var t in this._)n.push(this._[t]);
return n},
entries:
function(){var n=[];
for(var t in this._)n.push({key:
f(t),value:this._[t]});
return n},
size:v,
empty:
d,
forEach:
function(n){
for(var t in this._)n.call(
this,
f(t),this._[t])}}),ta.nest=
function(){
function n(t,o,a){
if(a>=i.length)
return r?r.call(u,o):e?o.sort(e):
o;
for(var c,s,f,h,g=-1,p=o.length,v=i[a++],d=
new l;++g<p;)(h=d.get(c=v(s=o[g])))?h.push(s):d.set(c,[s]);
return t?(s=t(),f=
function(
e,
r){s.set(e,n(t,r,a))}):(s={},f=
function(
e,
r){s[
e]=n(t,r,a)}),d.forEach(f),s}
function t(n,e){
if(e>=i.length)
return n;var r=[],u=o[e++];
return n.forEach(
function(n,u){r.push({key:n,
values:t(u,e)})}),u?r.sort(
function(n,t){
return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];
return u.map=
function(t,
e){
return n(e,t,0)},u.entries=
function(
e){
return t(n(ta.map,e,0),0)},u.key=
function(n){
return i.push(n),u},u.sortKeys=
function(n){
return o[i.length-1]=n,u},u.sortValues=
function(n){
return e=n,u},u.rollup=
function(n){
return r=n,u},u},ta.set=
function(n){var t=
new m;
if(n)
for(var e=0,r=n.length;r>e;++e)t.add(n[e]);
return t},
c(m,{has:h,add:
function(n){
return this._[s(n+=
"")]=!0,n},
remove:g,
values:p,
size:v,
empty:
d,
forEach:
function(n){
for(var t in this._)n.call(
this,
f(t))}}),ta.behavior={},ta.rebind=
function(n,t){
for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[
r]]=M(n,t,t[e]);
return n};var
da=[
"webkit",
"ms",
"moz",
"Moz",
"o",
"O"];ta.dispatch=
function(){
for(var n=
new _,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=w(n);
return n},_.prototype.on=
function(n,t){var e=n.indexOf(
"."),r=
"";
if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)
return arguments.length<2?
this[n].on(r):
this[n].on(r,t);
if(2===arguments.length){
if(null==t)
for(n in
this)this.hasOwnProperty(n)&&
this[n].on(r,null);
return this}},ta.event=null,ta.requote=
function(n){
return n.replace(
ma,
"\\$&")};var
ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,
ya={}.__proto__?
function(n,t){n.__proto__=t}:
function(n,t){
for(var e in t)n[
e]=t[
e]},
Ma=
function(n,t){
return t.querySelector(n)},
xa=
function(n,t){
return t.querySelectorAll(n)},
ba=
function(n,t){var e=n.matches||n[
x(n,
"matchesSelector")];
return(
ba=
function(n,t){
return e.call(n,t)})(n,t)};
"function"==typeof Sizzle&&(
Ma=
function(n,t){
return Sizzle(n,t)[0]||null},
xa=Sizzle,
ba=Sizzle.matchesSelector),ta.selection=
function(){
return ta.select(
ua.documentElement)};var
_a=ta.selection.prototype=[];_a.select=
function(n){var t,
e,
r,
u,i=[];n=N(n);
for(var o=-1,a=this.length;++o<
a;){i.push(t=[]),t.parentNode=(r=
this[
o]).parentNode;
for(var c=-1,l=r.length;++c<l;)(u=r[
c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&
"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}
return A(i)},_a.selectAll=
function(n){var t,
e,r=[];n=C(n);
for(var u=-1,i=this.length;++u<
i;)
for(var o=
this[u],a=-1,c=o.length;++a<c;)(e=o[
a])&&(r.push(t=
ra(n.call(e,e.__data__,a,u))),t.parentNode=
e);
return A(r)};var
wa={
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/"};ta.ns={prefix:
wa,qualify:
function(n){var t=n.indexOf(
":"),e=n;
return t>=0&&(e=n.slice(0,t),n=n.slice(t+1)),wa.hasOwnProperty(e)?{space:wa[
e],local:n}:n}},_a.attr=
function(n,t){
if(arguments.length<2){
if(
"string"==typeof n){var e=this.
node();
return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}
for(t in n)this.
each(z(t,n[t]));
return this}
return this.
each(z(n,t))},_a.classed=
function(n,t){
if(arguments.length<2){
if(
"string"==typeof n){var e=this.
node(),r=(n=T(n)).length,u=-1;
if(t=e.classList){
for(;++u<
r;)
if(!t.contains(n[u]))
return!1}
else for(t=e.getAttribute(
"class");++u<
r;)
if(!L(n[u]).test(t))
return!1;
return!0}
for(t in n)this.
each(R(t,n[t]));
return this}
return this.
each(R(n,t))},_a.style=
function(n,
e,
r){var u=arguments.length;
if(3>u){
if(
"string"!=typeof n){2>u&&(e=
"");
for(r in n)this.
each(P(r,n[r],e));
return this}
if(2>u){var i=this.
node();
return t(i).getComputedStyle(i,null).getPropertyValue(n)}r=
""}
return this.
each(P(n,e,r))},_a.property=
function(n,t){
if(arguments.length<2){
if(
"string"==typeof n)
return this.
node()[n];
for(t in n)this.
each(U(t,n[t]));
return this}
return this.
each(U(n,t))},_a.text=
function(n){
return arguments.length?this.
each(
"function"==typeof n?
function(){var t=n.apply(
this,arguments);this.textContent=null==t?
"":t}:null==n?
function(){this.textContent=
""}:
function(){this.textContent=n}):this.
node().textContent},_a.html=
function(n){
return arguments.length?this.
each(
"function"==typeof n?
function(){var t=n.apply(
this,arguments);this.innerHTML=null==t?
"":t}:null==n?
function(){this.innerHTML=
""}:
function(){this.innerHTML=n}):this.
node().innerHTML},_a.append=
function(n){
return n=j(n),this.
select(
function(){
return this.appendChild(n.apply(
this,arguments))})},_a.insert=
function(n,t){
return n=j(n),t=N(t),this.
select(
function(){
return this.insertBefore(n.apply(
this,arguments),t.apply(
this,arguments)||null)})},_a.remove=
function(){
return this.
each(F)},_a.data=
function(n,t){
function e(n,e){var
r,
u,
i,o=n.length,f=e.length,h=Math.min(o,f),g=
new Array(f),p=
new Array(f),v=
new Array(o);
if(t){var
d,m=
new l,y=
new Array(o);
for(r=-1;++r<
o;)m.has(d=t.call(u=n[r],u.__data__,r))?v[r]=u:m.set(d,u),y[
r]=
d;
for(r=-1;++r<
f;)(u=m.get(d=t.call(e,i=e[r],r)))?u!==!0&&(g[
r]=
u,u.__data__=
i):p[r]=H(i),m.set(d,!0);
for(r=-1;++r<
o;)m.get(y[r])!==!0&&(v[
r]=n[
r])}
else{
for(r=-1;++r<h;)u=n[r],i=e[r],u?(u.__data__=i,g[r]=u):p[
r]=H(i);
for(;f>
r;++
r)p[r]=H(e[r]);
for(;o>
r;++
r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,a.push(p),c.push(g),s.push(v)}var
r,
u,i=-1,o=this.length;
if(!arguments.length){
for(n=
new Array(o=(r=
this[0]).length);++i<
o;)(u=r[i])&&(n[
i]=u.__data__);
return n}var a=Z([]),c=A([]),s=A([]);
if(
"function"==typeof n)
for(;++i<
o;)
e(r=
this[i],n.call(r,r.parentNode.__data__,i));
else for(;++i<
o;)
e(r=
this[i],n);
return c.enter=
function(){
return a},c.exit=
function(){
return s},c},_a.datum=
function(n){
return arguments.length?this.
property(
"__data__",n):this.
property(
"__data__")},_a.filter=
function(n){var t,
e,
r,u=[];
"function"!=typeof n&&(n=O(n));
for(var i=0,o=this.length;o>
i;i++){u.push(t=[]),t.parentNode=(e=
this[
i]).parentNode;
for(var a=0,c=e.length;c>a;a++)(r=e[
a])&&n.call(r,r.__data__,a,i)&&t.push(r)}
return A(u)},_a.order=
function(){
for(var n=-1,t=this.length;++n<t;)
for(var e,r=
this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[
u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=
e);
return this},_a.sort=
function(n){n=I.apply(
this,arguments);
for(var t=-1,e=this.length;++t<
e;)
this[t].
sort(n);
return this.
order()},_a.each=
function(n){
return Y(
this,
function(t,e,r){n.call(t,t.__data__,e,r)})},_a.call=
function(n){var t=
ra(arguments);
return n.apply(t[0]=
this,t),
this},_a.empty=
function(){
return!this.
node()},_a.node=
function(){
for(var n=0,t=this.length;t>n;n++)
for(var e=
this[n],r=0,u=e.length;u>r;r++){var i=e[
r];
if(i)
return i}
return null},_a.size=
function(){var n=0;
return Y(
this,
function(){++n}),n};var
Sa=[];ta.selection.enter=Z,ta.selection.enter.prototype=
Sa,Sa.append=_a.append,Sa.empty=_a.empty,Sa.node=_a.node,Sa.call=_a.call,Sa.size=_a.size,Sa.select=
function(n){
for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<
c;){r=(u=
this[
a]).
update,o.push(t=[]),t.parentNode=u.parentNode;
for(var l=-1,s=u.length;++l<s;)(i=u[l])?(t.push(r[l]=e=n.call(u.parentNode,i.__data__,l,a)),e.__data__=i.__data__):t.push(null)}
return A(o)},Sa.insert=
function(n,t){
return arguments.length<2&&(t=V(
this)),_a.insert.call(
this,n,t)},ta.select=
function(t){var
e;
return"string"==typeof t?(e=[
Ma(t,
ua)],e.parentNode=
ua.documentElement):(e=[t],e.parentNode=n(t)),A([e])},ta.selectAll=
function(n){var t;
return"string"==typeof n?(t=
ra(
xa(n,
ua)),t.parentNode=
ua.documentElement):(t=n,t.parentNode=null),A([t])},_a.on=
function(n,t,
e){var r=arguments.length;
if(3>r){
if(
"string"!=typeof n){2>r&&(t=!1);
for(e in n)this.
each(X(e,n[e],t));
return this}
if(2>r)
return(r=this.
node()[
"__on"+n])&&r._;e=!1}
return this.
each(X(n,t,e))};var
ka=ta.map({mouseenter:
"mouseover",mouseleave:
"mouseout"});
ua&&ka.forEach(
function(n){
"on"+n in
ua&&ka.remove(n)});var
Ea,
Aa=0;ta.mouse=
function(n){
return J(n,k())};var
Na=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ta.touch=
function(n,t,
e){
if(arguments.length<3&&(e=t,t=k().changedTouches),t)
for(var r,u=0,i=t.length;i>u;++u)
if((r=t[u]).identifier===
e)
return J(n,r)},ta.behavior.drag=
function(){
function n(){this.
on(
"mousedown.drag",i).on(
"touchstart.drag",o)}
function e(n,t,e,i,o){
return function(){
function a(){var n,
e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|
e,M=
r,g({type:
"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}
function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:
"dragend"}))}var l,s=
this,f=ta.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=
".drag"+(null==v?
"":
"-"+v),m=ta.select(e(f)).on(i+d,a).on(o+d,c),y=W(f),M=t(h,v);u?(l=u.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:
"dragstart"})}}var r=E(n,
"drag",
"dragstart",
"dragend"),u=null,i=
e(b,ta.mouse,t,
"mousemove",
"mouseup"),o=
e(G,ta.touch,y,
"touchmove",
"touchend");
return n.origin=
function(t){
return arguments.length?(u=t,n):u},ta.rebind(n,r,
"on")},ta.touches=
function(n,t){
return arguments.length<2&&(t=k().touches),t?
ra(t).map(
function(t){var e=J(n,t);
return e.identifier=t.identifier,e}):[]};var Ca=1e-6,
za=Ca*
Ca,
qa=Math.PI,La=2*
qa,
Ta=La-
Ca,Ra=qa/2,Da=qa/180,Pa=180/
qa,
Ua=Math.SQRT2,
ja=2,
Fa=4;ta.interpolateZoom=
function(n,t){
function e(n){var t=n*y;
if(m){var e=rt(v),o=i/(
ja*h)*(e*ut(Ua*t+v)-et(v));
return[r+o*l,u+o*s,i*e/rt(Ua*t+v)]}
return[r+n*l,u+n*s,i*Math.exp(Ua*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-
r,s=a-
u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+
Fa*
f)/(2*i*
ja*h),p=(c*c-i*i-
Fa*
f)/(2*c*
ja*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ua;
return e.duration=1e3*y,e},ta.behavior.zoom=
function(){
function n(n){n.on(q,f).on(
Oa+
".zoom",g).on(
"dblclick.zoom",p).on(R,h)}
function e(n){
return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}
function r(n){
return[n[0]*k.k+k.x,n[1]*k.k+k.y]}
function u(n){k.k=Math.max(N[0],Math.min(N[1],n))}
function i(n,t){t=
r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}
function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},
u(Math.pow(2,o)),
i(d=e,r),t=ta.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}
function a(){b&&b.domain(x.range().map(
function(n){
return(n-k.x)/k.k}).
map(x.invert)),w&&w.domain(_.range().map(
function(n){
return(n-k.y)/k.k}).
map(_.invert))}
function c(n){z++||n({type:
"zoomstart"})}
function l(n){
a(),n({type:
"zoom",
scale:k.k,translate:[k.x,k.y]})}
function s(n){--z||n({type:
"zoomend"}),d=null}
function f(){
function n(){f=1,
i(ta.mouse(u),g),l(a)}
function r(){h.on(L,null).on(T,null),p(f&&ta.event.target===o),s(a)}var u=
this,o=ta.event.target,a=D.of(u,arguments),f=0,h=ta.select(t(u)).on(L,n).on(T,r),g=
e(ta.mouse(u)),p=W(u);
Dl.call(u),
c(a)}
function h(){
function n(){var n=ta.touches(p);
return g=k.k,n.forEach(
function(n){n.identifier in d&&(d[n.identifier]=
e(n))}),n}
function t(){var t=ta.event.target;ta.select(t).on(x,r).on(b,a),_.push(t);
for(var e=ta.event.changedTouches,u=0,i=e.length;i>u;++u)d[e[
u].identifier]=null;var c=n(),l=Date.now();
if(1===c.length){
if(500>l-M){var s=c[0];
o(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=l}
else if(c.length>1){var s=c[0],f=c[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}
function r(){var n,t,
e,
r,o=ta.touches(p);
Dl.call(p);
for(var a=0,c=o.length;c>a;++a,r=null)
if(e=o[a],r=d[e.identifier]){
if(t)
break;n=
e,t=r}
if(r){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],
u(f*g)}M=null,
i(n,t),l(v)}
function a(){
if(ta.event.touches.length){
for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)
delete d[t[
e].identifier];
for(var u in d)
return void n()}ta.selectAll(_).on(y,null),w.on(q,f).on(R,h),E(),s(v)}var g,p=
this,v=D.of(p,arguments),d={},m=0,y=
".zoom-"+ta.event.changedTouches[0].identifier,x=
"touchmove"+y,b=
"touchend"+y,_=[],w=ta.select(p),E=W(p);t(),
c(v),w.on(q,null).on(R,t)}
function g(){var n=D.of(
this,arguments);y?clearTimeout(y):(v=
e(d=m||ta.mouse(
this)),
Dl.call(
this),
c(n)),y=setTimeout(
function(){y=null,s(n)},50),S(),
u(Math.pow(2,.002*
Ha())*k.k),
i(d,v),l(n)}
function p(){var n=ta.mouse(
this),t=Math.log(k.k)/Math.LN2;
o(
this,n,
e(n),ta.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},A=[960,500],N=
Ia,C=250,z=0,q=
"mousedown.zoom",L=
"mousemove.zoom",T=
"mouseup.zoom",R=
"touchstart.zoom",D=E(n,
"zoomstart",
"zoom",
"zoomend");
return Oa||(
Oa=
"onwheel"in
ua?(
Ha=
function(){
return-ta.event.deltaY*(ta.event.deltaMode?120:1)},
"wheel"):
"onmousewheel"in ua?(Ha=
function(){
return ta.event.wheelDelta},
"mousewheel"):(Ha=
function(){
return-ta.event.detail},
"MozMousePixelScroll")),n.event=
function(n){n.each(
function(){var n=D.of(
this,arguments),t=k;
Tl?ta.select(
this).transition().each(
"start.zoom",
function(){k=this.__chart__||{x:0,y:0,k:1},
c(n)}).
tween(
"zoom:zoom",
function(){var e=A[0],r=A[1],u=d?d[0]:e/2,i=d?d[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);
return function(t){var r=
o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*
a,y:i-r[1]*
a,k:a},l(n)}}).
each(
"interrupt.zoom",
function(){s(n)}).
each(
"end.zoom",
function(){s(n)}):(this.__chart__=k,
c(n),l(n),s(n))})},n.translate=
function(t){
return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},
a(),n):[k.x,k.y]},n.scale=
function(t){
return arguments.length?(k={x:k.x,y:k.y,k:+t},
a(),n):k.k},n.scaleExtent=
function(t){
return arguments.length?(N=null==t?
Ia:[+t[0],+t[1]],n):N},n.center=
function(t){
return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=
function(t){
return arguments.length?(A=t&&[+t[0],+t[1]],n):A},n.duration=
function(t){
return arguments.length?(C=+t,n):C},n.x=
function(t){
return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=
function(t){
return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ta.rebind(n,D,
"on")};var
Ha,
Oa,
Ia=[0,1/0];ta.color=ot,ot.prototype.toString=
function(){
return this.
rgb()+
""},ta.hsl=at;var
Ya=at.prototype=
new ot;Ya.brighter=
function(n){
return n=Math.pow(.7,arguments.length?n:1),
new at(this.h,this.s,this.l/n)},Ya.darker=
function(n){
return n=Math.pow(.7,arguments.length?n:1),
new at(this.h,this.s,n*this.l)},Ya.rgb=
function(){
return ct(this.h,this.s,this.l)},ta.hcl=lt;var
Za=lt.prototype=
new ot;Za.brighter=
function(n){
return new lt(this.h,this.c,Math.min(100,
this.l+
Va*(arguments.length?n:1)))},Za.darker=
function(n){
return new lt(this.h,this.c,Math.max(0,
this.l-
Va*(arguments.length?n:1)))},Za.rgb=
function(){
return st(this.h,this.c,this.l).rgb()},ta.lab=ft;var
Va=18,
Xa=.95047,
$a=1,
Ba=1.08883,
Wa=ft.prototype=
new ot;
Wa.brighter=
function(n){
return new ft(Math.min(100,
this.l+Va*(arguments.length?n:1)),this.
a,this.
b)},
Wa.darker=
function(n){
return new ft(Math.max(0,
this.l-Va*(arguments.length?n:1)),this.
a,this.
b)},
Wa.rgb=
function(){
return ht(this.l,this.a,this.b)},ta.rgb=mt;var
Ja=mt.prototype=
new ot;Ja.brighter=
function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.
r,e=this.g,r=this.
b,u=30;
return t||e||r?(t&&u>t&&(t=
u),e&&u>e&&(e=u),r&&u>r&&(r=
u),
new mt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):
new mt(u,u,u)},Ja.darker=
function(n){
return n=Math.pow(.7,arguments.length?n:1),
new mt(n*this.r,n*this.g,n*this.b)},Ja.hsl=
function(){
return _t(this.r,this.g,this.b)},Ja.toString=
function(){
return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var
Ga=ta.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,rebeccapurple:6697881,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});Ga.forEach(
function(n,t){Ga.set(n,yt(t))}),ta.functor=Et,ta.xhr=At(y),ta.dsv=
function(n,t){
function e(n,e,i){arguments.length<3&&(i=
e,e=null);var o=Nt(n,t,null==e?r:
u(e),i);
return o.row=
function(n){
return arguments.length?o.response(null==(e=n)?r:
u(n)):e},o}
function r(n){
return e.parse(n.responseText)}
function u(n){
return function(t){
return e.parse(t.responseText,n)}}
function i(t){
return t.map(o).join(n)}
function o(n){
return a.test(n)?
'"'+n.replace(/\
"/g,'""')+'"':n}var a=new RegExp('[
"'+n+"\n]
"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d
","return {
"+n.map(function(n,t){return JSON.stringify(n)+": d[
"+t+"]
"}).join(",
")+"}
");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++<l;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}s=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++s):10===r&&(u=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;l>s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var Ka,Qa,nc,tc,ec,rc=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Qa?Qa.n=i:Ka=i,Qa=i,nc||(tc=clearTimeout(tc),nc=1,rc(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var uc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),uc[8+e/3]};var ic=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,oc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),ac=ta.time={},cc=Date;jt.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(){lc.setUTCDate.apply(this._,arguments)},setDay:function(){lc.setUTCDay.apply(this._,arguments)},setFullYear:function(){lc.setUTCFullYear.apply(this._,arguments)},setHours:function(){lc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lc.setUTCSeconds.apply(this._,arguments)},setTime:function(){lc.setTime.apply(this._,arguments)}};var lc=Date.prototype;ac.year=Ft(function(n){return n=ac.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ac.years=ac.year.range,ac.years.utc=ac.year.utc.range,ac.day=Ft(function(n){var t=new cc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ac.days=ac.day.range,ac.days.utc=ac.day.utc.range,ac.dayOfYear=function(n){var t=ac.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ac[n]=Ft(function(n){return(n=ac.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ac[n+"s"]=e.range,ac[n+"s"].utc=e.utc.range,ac[n+"OfYear"]=function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)}}),ac.week=ac.sunday,ac.weeks=ac.sunday.range,ac.weeks.utc=ac.sunday.utc.range,ac.weekOfYear=ac.sundayOfYear;var sc={"-":"",_:" ",0:"0"},fc=/^\s*\d+/,hc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var gc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ta.format=gc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,pc),le(pc.s,this.s,this),this.s?this.t+=pc.t:this.s=pc.t
4 },reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var pc=new ce;ta.geo.stream=function(n,t){n&&vc.hasOwnProperty(n.type)?vc[n.type](n,t):se(n,t)};var vc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)se(e[r].geometry,t)}},dc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){fe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)fe(e[r],t,0)},Polygon:function(n,t){he(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)he(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)se(e[r],t)}};ta.geo.area=function(n){return mc=0,ta.geo.stream(n,Mc),mc};var mc,yc=new ce,Mc={sphere:function(){mc+=4*qa},point:b,lineStart:b,lineEnd:b,polygonStart:function(){yc.reset(),Mc.lineStart=ge},polygonEnd:function(){var n=2*yc;mc+=0>n?4*qa+n:n,Mc.lineStart=Mc.lineEnd=Mc.point=b}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Da,e*Da]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Pa*l,d=ga(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Pa;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Pa;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ga(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Mc.point(n,e),t(n,e)}function i(){Mc.lineStart()}function o(){u(v,d),Mc.lineEnd(),ga(y)>Ca&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var s,f,h,g,p,v,d,m,y,M,x,b={point:n,lineStart:e,lineEnd:r,polygonStart:function(){b.point=u,b.lineStart=i,b.lineEnd=o,y=0,Mc.polygonStart()},polygonEnd:function(){Mc.polygonEnd(),b.point=n,b.lineStart=e,b.lineEnd=r,0>yc?(s=-(h=180),f=-(g=90)):y>Ca?g=90:-Ca>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){xc=bc=_c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,qc);var t=Nc,e=Cc,r=zc,u=t*t+e*e+r*r;return za>u&&(t=kc,e=Ec,r=Ac,Ca>bc&&(t=_c,e=wc,r=Sc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Pa,tt(r/Math.sqrt(u))*Pa]};var xc,bc,_c,wc,Sc,kc,Ec,Ac,Nc,Cc,zc,qc={sphere:b,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){qc.lineStart=Ee},polygonEnd:function(){qc.lineStart=Se}},Lc=Le(Ne,Pe,je,[-qa,-qa/2]),Tc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ie(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ye(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ca,f+.12*l+Ca],[s-.214*l-Ca,f+.234*l-Ca]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ca,f+.166*l+Ca],[s-.115*l-Ca,f+.234*l-Ca]]).stream(c).point,n},n.scale(1070)};var Rc,Dc,Pc,Uc,jc,Fc,Hc={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Dc=0,Hc.lineStart=Ve},polygonEnd:function(){Hc.lineStart=Hc.lineEnd=Hc.point=b,Rc+=ga(Dc/2)}},Oc={point:Xe,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Ic={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Ic.lineStart=Ke},polygonEnd:function(){Ic.point=We,Ic.lineStart=Je,Ic.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Rc=0,ta.geo.stream(n,u(Hc)),Rc},n.centroid=function(n){return _c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,u(Ic)),zc?[Nc/zc,Cc/zc]:Ac?[kc/Ac,Ec/Ac]:Sc?[_c/Sc,wc/Sc]:[0/0,0/0]},n.bounds=function(n){return jc=Fc=-(Pc=Uc=1/0),ta.geo.stream(n,u(Oc)),[[Pc,Uc],[jc,Fc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):y,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},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()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t}return n=lr(n[0]%360*Da,n[1]*Da,n.length>2?n[2]*Da:0),t.invert=function(t){return t=n.invert(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Da,-n[1]*Da,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Pa,n[1]*=Pa}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Da,u*Da),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Da,(u=+r)*Da),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Da,u=n[1]*Da,i=t[1]*Da,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ga(n%d)>Ca}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ga(n%m)>Ca}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ca],[180,90-Ca]]).minorExtent([[-180,-80-Ca],[180,80+Ca]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Da,n[1]*Da,t[0]*Da,t[1]*Da)},ta.geo.length=function(n){return Yc=0,ta.geo.stream(n,Zc),Yc};var Yc,Zc={sphere:b,point:b,lineStart:xr,lineEnd:b,polygonStart:b,polygonEnd:b},Vc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Vc)}).raw=Vc;var Xc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},y);(ta.geo.azimuthalEquidistant=function(){return ur(Xc)}).raw=Xc,(ta.geo.conicConformal=function(){return Ye(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ye(wr)}).raw=wr;var $c=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur($c)}).raw=$c,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ra]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Bc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Bc)}).raw=Bc;var Wc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Wc)}).raw=Wc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ra]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=Et(e),i=Et(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t<s.length-h;++t)g.push(n[a[s[t]][2]]);return g}var e=Ar,r=Nr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},ta.geom.polygon=function(n){return ya(n,Jc),n};var Jc=ta.geom.polygon.prototype=[];Jc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Jc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Jc.clip=function(n){for(var t,e,r,u,i,o,a=Tr(n),c=-1,l=this.length-Tr(this),s=this[l-1];++c<l;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],qr(o,s,u)?(qr(i,s,u)||n.push(Lr(i,o,s,u)),n.push(o)):qr(i,s,u)&&n.push(Lr(i,o,s,u)),i=o;a&&n.push(n[0]),s=u}return n};var Gc,Kc,Qc,nl,tl,el=[],rl=[];Or.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Yr),t.length},Qr.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}},nu.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=uu(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(eu(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ru(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(ru(this,e),n=e,e=n.U),e.C=!1,r.C=!0,eu(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?uu(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,eu(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ru(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,eu(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,ru(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,eu(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,ru(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},ta.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return iu(e(n),a).cells.forEach(function(e,a){var c=e.edges,l=e.site,s=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):l.x>=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ca)*Ca,y:Math.round(o(n,t)/Ca)*Ca,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=ul;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Yr),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c<l;)u=s,i=f,s=a[c].edge,f=s.l===o?s.r:s.l,r<i.i&&r<f.i&&au(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=Et(r=n),t):r},t.y=function(n){return arguments.length?(o=Et(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?ul:n,t):a===ul?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===ul?null:a&&a[1]},t)};var ul=[[-1e6,-1e6],[1e6,1e6]];ta.geom.delaunay=function(n){return ta.geom.voronoi().triangles(n)},ta.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,s=n.y;if(null!=c)if(ga(c-e)+ga(s-r)<.01)l(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,l(n,f,c,s,u,i,o,a),l(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else l(n,t,e,r,u,i,o,a)}function l(n,t,e,r,u,o,a,c){var l=.5*(u+a),s=.5*(o+c),f=e>=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=Et(a),x=Et(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.x<v&&(v=s.x),s.y<d&&(d=s.y),s.x>m&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=s=null,k}var o,a=Ar,c=Nr;return(o=arguments.length)?(a=cu,c=lu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},ta.interpolateRgb=gu,ta.interpolateObject=pu,ta.interpolateNumber=vu,ta.interpolateString=du;var il=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ol=new RegExp(il.source,"g");ta.interpolate=mu,ta.interpolators=[function(n,t){var e=typeof t;return("string"===e?Ga.has(t)||/^(#|rgb\(|hsl\()/.test(t)?gu:du:t instanceof ot?gu:Array.isArray(t)?yu:"object"===e&&isNaN(t)?pu:vu)(n,t)}],ta.interpolateArray=yu;var al=function(){return y},cl=ta.map({linear:al,poly:ku,quad:function(){return _u},cubic:function(){return wu},sin:function(){return Eu},exp:function(){return Au},circle:function(){return Nu},elastic:Cu,back:zu,bounce:function(){return qu}}),ll=ta.map({"in":y,out:xu,"in-out":bu,"out-in":function(n){return bu(xu(n))}});ta.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=cl.get(e)||al,r=ll.get(r)||y,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:sl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var sl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Yu(n[e]));return t}},ta.layout.chord=function(){function n(){var n,l,f,h,g,p={},v=[],d=ta.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(l=0,g=-1;++g<i;)l+=u[h][g];v.push(l),m.push(ta.range(i)),n+=l}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(La-s*i)/n,l=0,h=-1;++h<i;){for(f=l,g=-1;++g<i;){var y=d[h],M=m[y][g],x=u[y][M],b=l,_=l+=x*n;p[y+"-"+M]={index:y,subindex:M,startAngle:b,endAngle:_,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/n},l+=s}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,l={},s=0;return l.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,l):u},l.padding=function(n){return arguments.length?(s=n,e=r=null,l):s},l.sortGroups=function(n){return arguments.length?(o=n,e=r=null,l):o},l.sortSubgroups=function(n){return arguments.length?(a=n,e=null,l):a},l.sortChords=function(n){return arguments.length?(c=n,e&&t(),l):c},l.chords=function(){return e||n(),e},l.groups=function(){return r||n(),r},l},ta.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=fl,h=hl,g=-30,p=gl,v=.1,d=.64,m=[],M=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,y,x,b=m.length,_=M.length;for(e=0;_>e;++e)a=M[e],f=a.source,h=a.target,y=h.x-f.x,x=h.y-f.y,(p=y*y+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,y*=p,x*=p,h.x-=y*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=y*(d=1-d),f.y+=x*d);if((d=r*v)&&(y=l[0]/2,x=l[1]/2,e=-1,d))for(;++e<b;)a=m[e],a.x+=(y-a.x)*d,a.y+=(x-a.y)*d;if(g)for(Ju(t=ta.geom.quadtree(m),r,o),e=-1;++e<b;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<b;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*s,a.y-=(a.py-(a.py=a.y))*s);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(M=n,a):M},a.size=function(n){return arguments.length?(l=n,a):l},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(s=+n,a):s},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=M[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++a<l;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,s=M.length,p=l[0],v=l[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=M[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,M[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,M[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(y).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?void this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e):e},ta.rebind(a,c,"on")};var fl=20,hl=1,gl=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++l<o;)n(a=i[l],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=ta.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Gu(e,r)},ta.layout.pie=function(){function n(o){var a,c=o.length,l=o.map(function(e,r){return+t.call(n,e,r)}),s=+("function"==typeof r?r.apply(this,arguments):r),f=("function"==typeof u?u.apply(this,arguments):u)-s,h=Math.min(Math.abs(f)/c,+("function"==typeof i?i.apply(this,arguments):i)),g=h*(0>f?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===pl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=pl,r=0,u=La,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var pl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=y,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:vl.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:dl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var vl=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),dl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=l[i],a>=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=Et(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:Et(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++i<o;)u=n[i],u.x=a,u.y=l,u.dy=s,a+=u.dx=Math.min(e.x+e.dx-a,s?c(u.area/s):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=s,e.dy-=s}else{for((r||s>e.dx)&&(s=e.dx);++i<o;)u=n[i],u.x=a,u.y=l,u.dx=s,l+=u.dy=Math.min(e.y+e.dy-l,s?c(u.area/s):0);u.z=!1,u.dy+=e.y+e.dy-l,e.x+=s,e.dx-=s}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=l[0],i.dy=l[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=ta.layout.hierarchy(),c=Math.round,l=[1,1],s=null,f=Ri,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));
5 return i.size=function(n){return arguments.length?(l=n,i):l},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ri(t):Di(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Di(t,n)}if(!arguments.length)return s;var r;return f=null==(s=n)?Ri:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Gu(i,a)},ta.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var ml={floor:y,ceil:y};ta.scale.linear=function(){return Ii([0,1],[0,1],mu,!1)};var yl={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var Ml=ta.format(".0e"),xl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(bl)},ta.scale.category20=function(){return ta.scale.ordinal().range(_l)},ta.scale.category20b=function(){return ta.scale.ordinal().range(wl)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Sl)};var bl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(Mt),_l=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(Mt),wl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(Mt),Sl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(Mt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-Ra,f=a.apply(this,arguments)-Ra,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ta)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===kl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=tt(d/l*Math.sin(m))),n&&(E=tt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=qa?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=qa?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),I=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],I[1][0],I[1][1]),",",g," ",I[1],"A",H,",",H," 0 0,",v," ",I[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",I[0])}else N.push("M",y,",",M);if(null!=S){var Y=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-Y,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-Y,g);p===Y?N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",Y,",",Y," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=kl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=Et(t),n):e},n.outerRadius=function(t){return arguments.length?(r=Et(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=Et(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==kl?kl:Et(t),n):i},n.startAngle=function(t){return arguments.length?(o=Et(t),n):o},n.endAngle=function(t){return arguments.length?(a=Et(t),n):a},n.padAngle=function(t){return arguments.length?(c=Et(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Ra;return[Math.cos(t)*n,Math.sin(t)*n]},n};var kl="auto";ta.svg.line=function(){return ho(y)};var El=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});El.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Al=[0,2/3,1/3,0],Nl=[0,1/3,2/3,0],Cl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(y)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-Ra,s=l.call(n,u,r)-Ra;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>qa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=Et(t),n):a},n.source=function(t){return arguments.length?(i=Et(t),n):i},n.target=function(t){return arguments.length?(o=Et(t),n):o},n.startAngle=function(t){return arguments.length?(c=Et(t),n):c},n.endAngle=function(t){return arguments.length?(l=Et(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=Et(e),n):t},n.target=function(t){return arguments.length?(e=Et(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=Et(e),n):t},n.size=function(t){return arguments.length?(e=Et(t),n):e},n};var zl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=zl.keys();var ql=Math.sqrt(3),Ll=Math.tan(30*Da);_a.transition=function(n){for(var t,e,r=Tl||++Ul,u=Xo(n),i=[],o=Rl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++a<c;){i.push(t=[]);for(var l=this[a],s=-1,f=l.length;++s<f;)(e=l[s])&&$o(e,s,u,r,o),t.push(e)}return Yo(i,u,r)},_a.interrupt=function(n){return this.each(null==n?Dl:Io(Xo(n)))};var Tl,Rl,Dl=Io(Xo()),Pl=[],Ul=0;Pl.call=_a.call,Pl.empty=_a.empty,Pl.node=_a.node,Pl.size=_a.size,ta.transition=function(n,t){return n&&n.transition?Tl?n.transition(t):n:ta.selection().transition(n)},ta.transition.prototype=Pl,Pl.select=function(n){var t,e,r,u=this.id,i=this.namespace,o=[];n=N(n);for(var a=-1,c=this.length;++a<c;){o.push(t=[]);for(var l=this[a],s=-1,f=l.length;++s<f;)(r=l[s])&&(e=n.call(r,r.__data__,s,a))?("__data__"in r&&(e.__data__=r.__data__),$o(e,s,i,u,r[i][u]),t.push(e)):t.push(null)}return Yo(o,i,u)},Pl.selectAll=function(n){var t,e,r,u,i,o=this.id,a=this.namespace,c=[];n=C(n);for(var l=-1,s=this.length;++l<s;)for(var f=this[l],h=-1,g=f.length;++h<g;)if(r=f[h]){i=r[a][o],e=n.call(r,r.__data__,h,l),c.push(t=[]);for(var p=-1,v=e.length;++p<v;)(u=e[p])&&$o(u,p,a,o,i),t.push(u)}return Yo(c,a,o)},Pl.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=O(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Yo(u,this.namespace,this.id)},Pl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Pl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Pl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Pl.style=function(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return null==e?u:(e+="",function(){var u,i=t(this).getComputedStyle(this,null).getPropertyValue(n);return i!==e&&(u=mu(i,e),function(t){this.style.setProperty(n,u(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Zo(this,"style."+n,e,i)},Pl.styleTween=function(n,e,r){function u(u,i){var o=e.call(this,u,i,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,u)},Pl.text=function(n){return Zo(this,"text",n,Vo)},Pl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Pl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),Y(this,function(r){r[e][t].ease=n}))},Pl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Pl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Pl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=Rl,i=Tl;try{Tl=e,Y(this,function(t,u,i){Rl=t[r][e],n.call(t,t.__data__,u,i)})}finally{Rl=u,Tl=i}}else Y(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Pl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ul,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Yo(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):y:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ca),d=ta.transition(p.exit()).style("opacity",Ca).remove(),m=ta.transition(p.order()).style("opacity",1),M=Math.max(u,0)+o,x=Ui(f),b=l.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ta.transition(b));v.append("line"),v.append("text");var w,S,k,E,A=v.select("line"),N=m.select("line"),C=p.select("text").text(g),z=v.select("text"),q=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,w="x",k="y",S="x2",E="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Wo,w="y",k="x",S="y2",E="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),A.attr(E,L*u),z.attr(k,L*M),N.attr(S,0).attr(E,L*u),q.attr(w,0).attr(k,L*M),f.rangeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=jl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Fl?t+"":jl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var jl="bottom",Fl={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(t){t.each(function(){var t=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,y);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Hl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var c,f=ta.transition(t),h=ta.transition(o);l&&(c=Ui(l),h.attr("x",c[0]).attr("width",c[1]-c[0]),r(f)),s&&(c=Ui(s),h.attr("y",c[0]).attr("height",c[1]-c[0]),u(f)),e(f)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+f[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",f[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function u(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==ta.event.keyCode&&(C||(M=null,q[0]-=f[1],q[1]-=h[1],C=2),S())}function v(){32==ta.event.keyCode&&2==C&&(q[0]+=f[1],q[1]+=h[1],C=0,S())}function d(){var n=ta.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ta.event.altKey?(M||(M=[(f[0]+f[1])/2,(h[0]+h[1])/2]),q[0]=f[+(n[0]<M[0])],q[1]=h[+(n[1]<M[1])]):M=null),A&&m(n,l,0)&&(r(k),t=!0),N&&m(n,s,1)&&(u(k),t=!0),t&&(e(k),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,i=Ui(t),c=i[0],l=i[1],s=q[e],v=e?h:f,d=v[1]-v[0];return C&&(c-=s,l-=d+s),r=(e?p:g)?Math.max(c,Math.min(l,n[e])):n[e],C?u=(r+=s)+d:(M&&(s=Math.max(c,Math.min(l,2*M[e]-r))),r>s?(u=r,r=s):u=s),v[0]!=r||v[1]!=u?(e?a=null:o=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ta.select(ta.event.target),w=c.of(b,arguments),k=ta.select(b),E=_.datum(),A=!/^(n|s)$/.test(E)&&l,N=!/^(e|w)$/.test(E)&&s,C=_.classed("extent"),z=W(b),q=ta.mouse(b),L=ta.select(t(b)).on("keydown.brush",i).on("keyup.brush",v);if(ta.event.changedTouches?L.on("touchmove.brush",d).on("touchend.brush",y):L.on("mousemove.brush",d).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),C)q[0]=f[0]-q[0],q[1]=h[0]-q[1];else if(E){var T=+/w$/.test(E),R=+/^n/.test(E);x=[f[1-T]-q[0],h[1-R]-q[1]],q[0]=f[T],q[1]=h[R]}else ta.event.altKey&&(M=q.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,c=E(n,"brushstart","brush","brushend"),l=null,s=null,f=[0,0],h=[0,0],g=!0,p=!0,v=Ol[0];return n.event=function(n){n.each(function(){var n=c.of(this,arguments),t={x:f,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Tl?ta.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,f=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(f,t.x),r=yu(h,t.y);return o=a=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(l=t,v=Ol[!l<<1|!s],n):l},n.y=function(t){return arguments.length?(s=t,v=Ol[!l<<1|!s],n):s},n.clamp=function(t){return arguments.length?(l&&s?(g=!!t[0],p=!!t[1]):l?g=!!t:s&&(p=!!t),n):l&&s?[g,p]:l?g:s?p:null},n.extent=function(t){var e,r,u,i,c;return arguments.length?(l&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),o=[e,r],l.invert&&(e=l(e),r=l(r)),e>r&&(c=e,e=r,r=c),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],l&&(u=u[1],i=i[1]),a=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(c=u,u=i,i=c),(u!=h[0]||i!=h[1])&&(h=[u,i])),n):(l&&(o?(e=o[0],r=o[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),e>r&&(c=e,e=r,r=c))),s&&(a?(u=a[0],i=a[1]):(u=h[0],i=h[1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(c=u,u=i,i=c))),l&&s?[[e,u],[r,i]]:l?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!l&&f[0]==f[1]||!!s&&h[0]==h[1]},ta.rebind(n,c,"on")};var Hl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ol=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Il=ac.format=gc.timeFormat,Yl=Il.utc,Zl=Yl("%Y-%m-%dT%H:%M:%S.%LZ");Il.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Zl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Zl.toString,ac.second=Ft(function(n){return new cc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ac.seconds=ac.second.range,ac.seconds.utc=ac.second.utc.range,ac.minute=Ft(function(n){return new cc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ac.minutes=ac.minute.range,ac.minutes.utc=ac.minute.utc.range,ac.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new cc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ac.hours=ac.hour.range,ac.hours.utc=ac.hour.utc.range,ac.month=Ft(function(n){return n=ac.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ac.months=ac.month.range,ac.months.utc=ac.month.utc.range;var Vl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xl=[[ac.second,1],[ac.second,5],[ac.second,15],[ac.second,30],[ac.minute,1],[ac.minute,5],[ac.minute,15],[ac.minute,30],[ac.hour,1],[ac.hour,3],[ac.hour,6],[ac.hour,12],[ac.day,1],[ac.day,2],[ac.week,1],[ac.month,1],[ac.month,3],[ac.year,1]],$l=Il.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Bl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:y,ceil:y};Xl.year=ac.year,ac.scale=function(){return Go(ta.scale.linear(),Xl,$l)};var Wl=Xl.map(function(n){return[n[0].utc,n[1]]}),Jl=Yl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Wl.year=ac.year.utc,ac.scale.utc=function(){return Go(ta.scale.linear(),Wl,Jl)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}();
Pl Pl Pl Pl ta ta transition Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl duration
function fo(n, t, e, r, u)
ta ta ta ta ta ta ta ta ta ta values
function $o(n, t, e, r, u)
ta _a _a _a _a _a _a _a _a _a _a _a _a _a order
c(l,{has:h, get:function(n){return this._[s(n)]}, set:function(n, t){return this._[s(n)]=t}, remove:g, keys:p, values:function(){var n=[];for(var t in this._) n.push(this._[t]);return n}, entries:function(){var n=[];for(var t in this._) n.push({key:f(t), value:this._[t]});return n}, size:v, empty:d, forEach:function(n){for(var t in this._) n.call(this, f(t), this._[t])}})
function fu(n, t, e, r, u, i)
ta _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a size
ta scale ta scale ta scale ta scale ta svg
ta _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a each
ua &&ka forEach(function(n){"on"+n in ua &&ka.remove(n)})
function S u(t, e, r, a, c, l, s, f, h, g, p, v, d, m)
ta ta ta ta ta ta ta ta ta keys
ta ta ta ta ta ta ta ta ta ta ta entries
ta _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a empty
ta scale ta scale ta scale ta scale ta ta svg arc
ta _a _a _a _a _a _a _a _a _a _a _a _a _a _a sort
Wl ac scale ta ta ta ta xml
Pl Pl Pl Pl ta ta transition Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl Pl delay
Pl Pl Pl Pl ta ta transition Pl Pl Pl Pl tween
ta layout ta layout ta layout ta layout ta layout ta ta scale
ta _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a _a node
function hu(n, t, e, r, u, i, o)