giotto
Version:
GiottoJS - Visualization Library
3 lines • 234 kB
JavaScript
// https://github.com/quantmind/giotto Version 0.1.3. Copyright 2016 quantmind.com.
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.giotto=t.giotto||{})}(this,function(t){"use strict";function n(t){return function(n,e){return fl(t(n),e)}}function e(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Sl?i*=10:o>=kl?i*=5:o>=Al&&(i*=2),n<t?-i:i}function r(t){return t.length}function i(){}function o(t,n){var e=new i;if(t instanceof i)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,o=-1,a=t.length;if(null==n)for(;++o<a;)e.set(o,t[o]);else for(;++o<a;)e.set(n(r=t[o],o,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function a(){return{}}function u(t,n,e){t[n]=e}function c(){return o()}function s(t,n,e){t.set(n,e)}function l(){}function f(t,n){var e=new l;if(t instanceof l)t.each(function(t){e.add(t)});else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}function h(t){return+t}function p(t){return t*t}function d(t){return t*(2-t)}function v(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function y(t){return t*t*t}function _(t){return--t*t*t+1}function g(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function m(t){return 1-Math.cos(t*hf)}function x(t){return Math.sin(t*hf)}function b(t){return(1-Math.cos(ff*t))/2}function w(t){return Math.pow(2,10*t-10)}function M(t){return 1-Math.pow(2,-10*t)}function E(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function N(t){return 1-Math.sqrt(1-t*t)}function T(t){return Math.sqrt(1- --t*t)}function S(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function k(t){return 1-A(1-t)}function A(t){return(t=+t)<pf?wf*t*t:t<vf?wf*(t-=df)*t+yf:t<gf?wf*(t-=_f)*t+mf:wf*(t-=xf)*t+bf}function C(t){return((t*=2)<=1?1-A(1-t):A(t-1)+1)/2}function P(t,n){return t[0]-n[0]||t[1]-n[1]}function L(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&zf(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function O(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function R(){return new O}function z(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,c,s,l,f,h,p=t._root,d={data:r},v=t._x0,y=t._y0,_=t._x1,g=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+_)/2))?v=o:_=o,(l=e>=(a=(y+g)/2))?y=a:g=a,i=p,!(p=p[f=l<<1|s]))return i[f]=d,t;if(u=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===u&&e===c)return d.next=p,i?i[f]=d:t._root=d,t;do i=i?i[f]=new Array(4):t._root=new Array(4),(s=n>=(o=(v+_)/2))?v=o:_=o,(l=e>=(a=(y+g)/2))?y=a:g=a;while((f=l<<1|s)===(h=(c>=a)<<1|u>=o));return i[h]=p,i[f]=d,t}function I(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),c=1/0,s=1/0,l=-(1/0),f=-(1/0);for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(a[e]=r,u[e]=i,r<c&&(c=r),r>l&&(l=r),i<s&&(s=i),i>f&&(f=i));for(l<c&&(c=this._x0,l=this._x1),f<s&&(s=this._y0,f=this._y1),this.cover(c,s).cover(l,f),e=0;e<o;++e)z(this,a[e],u[e],t[e]);return this}function D(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function U(t){return t[0]}function q(t){return t[1]}function j(t,n,e){var r=new F(null==n?U:n,null==e?q:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function F(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Y(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function B(t){return t.innerRadius}function X(t){return t.outerRadius}function $(t){return t.startAngle}function H(t){return t.endAngle}function V(t){return t&&t.padAngle}function G(t){return t>=1?ah:t<=-1?-ah:Math.asin(t)}function W(t,n,e,r,i,o,a,u){var c=e-t,s=r-n,l=a-i,f=u-o,h=(l*(n-o)-f*(t-i))/(f*c-l*s);return[t+h*c,n+h*s]}function Z(t,n,e,r,i,o,a){var u=t-e,c=n-r,s=(a?o:-o)/Math.sqrt(u*u+c*c),l=s*c,f=-s*u,h=t+l,p=n+f,d=e+l,v=r+f,y=(h+d)/2,_=(p+v)/2,g=d-h,m=v-p,x=g*g+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*Math.sqrt(Math.max(0,b*b*x-w*w)),E=(w*m-g*M)/x,N=(-w*g-m*M)/x,T=(w*m+g*M)/x,S=(-w*g+m*M)/x,k=E-y,A=N-_,C=T-y,P=S-_;return k*k+A*A>C*C+P*P&&(E=T,N=S),{cx:E,cy:N,x01:-l,y01:-f,x11:E*(i/b-1),y11:N*(i/b-1)}}function J(t){this._context=t}function Q(t){return t[0]}function K(t){return t[1]}function tt(t){this._curve=t}function nt(t){function n(n){return new tt(t(n))}return n._curve=t,n}function et(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(nt(t)):n()._curve},t}function rt(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function it(t){this._context=t}function ot(t){this._context=t}function at(t){this._context=t}function ut(t,n){this._basis=new it(t),this._beta=n}function ct(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function st(t,n){this._context=t,this._k=(1-n)/6}function lt(t,n){this._context=t,this._k=(1-n)/6}function ft(t,n){this._context=t,this._k=(1-n)/6}function ht(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>ih){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>ih){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/l,a=(a*s+t._y1*t._l23_2a-e*t._l12_2a)/l}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function pt(t,n){this._context=t,this._alpha=n}function dt(t,n){this._context=t,this._alpha=n}function vt(t,n){this._context=t,this._alpha=n}function yt(t){this._context=t}function _t(t){return t<0?-1:1}function gt(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(_t(o)+_t(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function mt(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function xt(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function bt(t){this._context=t}function wt(t){this._context=new Mt(t)}function Mt(t){this._context=t}function Et(t){return new bt(t)}function Nt(t){return new wt(t)}function Tt(t){this._context=t}function St(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,a[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,a[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,a[n]-=e*a[n-1];for(i[r-1]=a[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}function kt(t,n){this._context=t,this._t=n}function At(t){return new kt(t,0)}function Ct(t){return new kt(t,1)}function Pt(t,n){return t[n]}function Lt(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function Ot(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Rt(){}function zt(t){var n;return t=(t+"").trim().toLowerCase(),(n=vp.exec(t))?(n=parseInt(n[1],16),new jt(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=yp.exec(t))?It(parseInt(n[1],16)):(n=_p.exec(t))?new jt(n[1],n[2],n[3],1):(n=gp.exec(t))?new jt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=mp.exec(t))?Dt(n[1],n[2],n[3],n[4]):(n=xp.exec(t))?Dt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=bp.exec(t))?Ft(n[1],n[2]/100,n[3]/100,1):(n=wp.exec(t))?Ft(n[1],n[2]/100,n[3]/100,n[4]):Mp.hasOwnProperty(t)?It(Mp[t]):"transparent"===t?new jt(NaN,NaN,NaN,0):null}function It(t){return new jt(t>>16&255,t>>8&255,255&t,1)}function Dt(t,n,e,r){return r<=0&&(t=n=e=NaN),new jt(t,n,e,r)}function Ut(t){return t instanceof Rt||(t=zt(t)),t?(t=t.rgb(),new jt(t.r,t.g,t.b,t.opacity)):new jt}function qt(t,n,e,r){return 1===arguments.length?Ut(t):new jt(t,n,e,null==r?1:r)}function jt(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ft(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Xt(t,n,e,r)}function Yt(t){if(t instanceof Xt)return new Xt(t.h,t.s,t.l,t.opacity);if(t instanceof Rt||(t=zt(t)),!t)return new Xt;if(t instanceof Xt)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,c=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e<r):e===o?(r-n)/u+2:(n-e)/u+4,u/=c<.5?o+i:2-o-i,a*=60):u=c>0&&c<1?0:a,new Xt(a,u,c,t.opacity)}function Bt(t,n,e,r){return 1===arguments.length?Yt(t):new Xt(t,n,e,null==r?1:r)}function Xt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function $t(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Ht(t){if(t instanceof Gt)return new Gt(t.l,t.a,t.b,t.opacity);if(t instanceof nn){var n=t.h*Ep;return new Gt(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof jt||(t=Ut(t));var e=Qt(t.r),r=Qt(t.g),i=Qt(t.b),o=Wt((.4124564*e+.3575761*r+.1804375*i)/Sp),a=Wt((.2126729*e+.7151522*r+.072175*i)/kp),u=Wt((.0193339*e+.119192*r+.9503041*i)/Ap);return new Gt(116*a-16,500*(o-a),200*(a-u),t.opacity)}function Vt(t,n,e,r){return 1===arguments.length?Ht(t):new Gt(t,n,e,null==r?1:r)}function Gt(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Wt(t){return t>Op?Math.pow(t,1/3):t/Lp+Cp}function Zt(t){return t>Pp?t*t*t:Lp*(t-Cp)}function Jt(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Qt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Kt(t){if(t instanceof nn)return new nn(t.h,t.c,t.l,t.opacity);t instanceof Gt||(t=Ht(t));var n=Math.atan2(t.b,t.a)*Np;return new nn(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function tn(t,n,e,r){return 1===arguments.length?Kt(t):new nn(t,n,e,null==r?1:r)}function nn(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function en(t){if(t instanceof on)return new on(t.h,t.s,t.l,t.opacity);t instanceof jt||(t=Ut(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Fp*r+qp*n-jp*e)/(Fp+qp-jp),o=r-i,a=(Up*(e-i)-Ip*o)/Dp,u=Math.sqrt(a*a+o*o)/(Up*i*(1-i)),c=u?Math.atan2(a,o)*Np-120:NaN;return new on(c<0?c+360:c,u,i,t.opacity)}function rn(t,n,e,r){return 1===arguments.length?en(t):new on(t,n,e,null==r?1:r)}function on(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function an(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}function un(t,n){return function(e){return t+e*n}}function cn(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function sn(t,n){var e=n-t;return e?un(t,e>180||e<-180?e-360*Math.round(e/360):e):Gp(isNaN(t)?n:t)}function ln(t){return 1===(t=+t)?fn:function(n,e){return e-n?cn(n,e,t):Gp(isNaN(n)?e:n)}}function fn(t,n){var e=n-t;return e?un(t,e):Gp(isNaN(t)?n:t)}function hn(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;e<i;++e)r=qt(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}function pn(t){return function(){return t}}function dn(t){return function(n){return t(n)+""}}function vn(t){return"none"===t?sd:(Yp||(Yp=document.createElement("DIV"),Bp=document.documentElement,Xp=document.defaultView),Yp.style.transform=t,t=Xp.getComputedStyle(Bp.appendChild(Yp),null).getPropertyValue("transform"),Bp.removeChild(Yp),t=t.slice(7,-1).split(","),ld(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function yn(t){return null==t?sd:($p||($p=document.createElementNS("http://www.w3.org/2000/svg","g")),$p.setAttribute("transform",t),(t=$p.transform.baseVal.consolidate())?(t=t.matrix,ld(t.a,t.b,t.c,t.d,t.e,t.f)):sd)}function _n(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}function o(t,r,i,o,a,u){if(t!==i||r!==o){var c=a.push("translate(",null,n,null,e);u.push({i:c-4,x:td(t,i)},{i:c-2,x:td(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}function a(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:td(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}function u(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:td(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}function c(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:td(t,e)},{i:u-2,x:td(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}return function(n,e){var r=[],i=[];return n=t(n),e=t(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),a(n.rotate,e.rotate,r,i),u(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scaleY,r,i),n=e=null,function(t){for(var n,e=-1,o=i.length;++e<o;)r[(n=i[e]).i]=n.x(t);return r.join("")}}}function gn(t){return((t=Math.exp(t))+1/t)/2}function mn(t){return((t=Math.exp(t))-1/t)/2}function xn(t){return((t=Math.exp(2*t))-1)/(t+1)}function bn(t){return function(n,e){var r=t((n=Bt(n)).h,(e=Bt(e)).h),i=fn(n.s,e.s),o=fn(n.l,e.l),a=fn(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=a(t),n+""}}}function wn(t,n){var e=fn((t=Vt(t)).l,(n=Vt(n)).l),r=fn(t.a,n.a),i=fn(t.b,n.b),o=fn(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}}function Mn(t){return function(n,e){var r=t((n=tn(n)).h,(e=tn(e)).h),i=fn(n.c,e.c),o=fn(n.l,e.l),a=fn(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=a(t),n+""}}}function En(t){return function n(e){function r(n,r){var i=t((n=rn(n)).h,(r=rn(r)).h),o=fn(n.s,r.s),a=fn(n.l,r.l),u=fn(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=a(Math.pow(t,e)),n.opacity=u(t),n+""}}return e=+e,r.gamma=n,r}(1)}function Nn(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new Tn(r)}function Tn(t){this._=t}function Sn(t,n){return t.trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}function kn(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function An(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Nd,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function Cn(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Pn(t,n){var e=Cn(t);return function(r,i){return n(e(r),i,t)}}function Ln(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function On(){return Xd||(Vd(Rn),Xd=Hd.now()+$d)}function Rn(){Xd=0}function zn(){this._call=this._time=this._next=null}function In(t,n,e){var r=new zn;return r.restart(t,n,e),r}function Dn(){On(),++qd;for(var t,n=Td;n;)(t=Xd-n._time)>=0&&n._call.call(null,t),n=n._next;--qd}function Un(){Xd=(Bd=Hd.now())+$d,qd=jd=0;try{Dn()}finally{qd=0,jn(),Xd=0}}function qn(){var t=Hd.now(),n=t-Bd;n>Yd&&($d-=n,Bd=t)}function jn(){for(var t,n,e=Td,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Td=n);Sd=t,Fn(r)}function Fn(t){if(!qd){jd&&(jd=clearTimeout(jd));var n=t-Xd;n>24?(t<1/0&&(jd=setTimeout(Un,n)),Fd&&(Fd=clearInterval(Fd))):(Fd||(Fd=setInterval(qn,Yd)),qd=1,Vd(Un))}}function Yn(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var a=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return a;do a.push(new Date(+e));while(n(e,o),t(e),e<r);return a},i.filter=function(e){return Yn(function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return Zd.setTime(+n),Jd.setTime(+r),t(Zd),t(Jd),Math.floor(e(Zd,Jd))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t===0}:function(n){return i.count(0,n)%t===0}):i:null}),i}function Bn(t){return Yn(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*nv)/iv})}function Xn(t){return Yn(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/iv})}function $n(t){if(!(n=sy.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",a=!!n[5],u=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),l=n[9]||"";"n"===l?(c=!0,l="g"):cy[l]||(l=""),(a||"0"===e&&"="===r)&&(a=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=a,this.width=u,this.comma=c,this.precision=s,this.type=l}function Hn(t){return t}function Vn(n){return fy=py(n),t.format=fy.format,t.formatPrefix=fy.formatPrefix,fy}function Gn(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Wn(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Zn(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function Jn(t){function n(t,n){return function(e){var r,i,o,a=[],u=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date(+e));++u<s;)37===t.charCodeAt(u)&&(a.push(t.slice(c,u)),null!=(i=gy[r=t.charAt(++u)])?r=t.charAt(++u):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),a.push(r),c=u+1);return a.push(t.slice(c,u)),a.join("")}}function e(t,n){return function(e){var i=Zn(1900),o=r(i,t,e+="",0);if(o!=e.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var a="Z"in i?Wn(Zn(i.y)).getUTCDay():n(Zn(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(a+5)%7:i.w+7*i.U-(a+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Wn(i)):n(i)}}function r(t,n,e,r){for(var i,o,a=0,u=n.length,c=e.length;a<u;){if(r>=c)return-1;if(i=n.charCodeAt(a++),37===i){if(i=n.charAt(a++),o=Y[i in gy?n.charAt(a++):i],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function i(t,n,e){var r=C.exec(n.slice(e));return r?(t.p=P[r[0].toLowerCase()],e+r[0].length):-1}function o(t,n,e){var r=R.exec(n.slice(e));return r?(t.w=z[r[0].toLowerCase()],e+r[0].length):-1}function a(t,n,e){var r=L.exec(n.slice(e));return r?(t.w=O[r[0].toLowerCase()],e+r[0].length):-1}function u(t,n,e){var r=U.exec(n.slice(e));return r?(t.m=q[r[0].toLowerCase()],e+r[0].length):-1}function c(t,n,e){var r=I.exec(n.slice(e));return r?(t.m=D[r[0].toLowerCase()],e+r[0].length):-1}function s(t,n,e){return r(t,w,n,e)}function l(t,n,e){return r(t,M,n,e)}function f(t,n,e){return r(t,E,n,e)}function h(t){return S[t.getDay()]}function p(t){return T[t.getDay()]}function d(t){return A[t.getMonth()]}function v(t){return k[t.getMonth()]}function y(t){return N[+(t.getHours()>=12)]}function _(t){return S[t.getUTCDay()]}function g(t){return T[t.getUTCDay()]}function m(t){return A[t.getUTCMonth()]}function x(t){return k[t.getUTCMonth()]}function b(t){return N[+(t.getUTCHours()>=12)]}var w=t.dateTime,M=t.date,E=t.time,N=t.periods,T=t.days,S=t.shortDays,k=t.months,A=t.shortMonths,C=te(N),P=ne(N),L=te(T),O=ne(T),R=te(S),z=ne(S),I=te(k),D=ne(k),U=te(A),q=ne(A),j={a:h,A:p,b:d,B:v,c:null,d:ye,e:ye,H:_e,I:ge,j:me,L:xe,m:be,M:we,p:y,S:Me,U:Ee,w:Ne,W:Te,x:null,X:null,y:Se,Y:ke,Z:Ae,"%":Xe},F={a:_,A:g,b:m,B:x,c:null,d:Ce,e:Ce,H:Pe,I:Le,j:Oe,L:Re,m:ze,M:Ie,p:b,S:De,U:Ue,w:qe,W:je,x:null,X:null,y:Fe,Y:Ye,Z:Be,"%":Xe},Y={a:o,A:a,b:u,B:c,c:s,d:se,e:se,H:fe,I:fe,j:le,L:de,m:ce,M:he,p:i,S:pe,U:re,w:ee,W:ie,x:l,X:f,y:ae,Y:oe,Z:ue,"%":ve};return j.x=n(M,j),j.X=n(E,j),j.c=n(w,j),F.x=n(M,F),F.X=n(E,F),F.c=n(w,F),{format:function(t){var e=n(t+="",j);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",Gn);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",F);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,Wn);return n.toString=function(){return t},n}}}function Qn(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Kn(t){return t.replace(by,"\\$&")}function te(t){return new RegExp("^(?:"+t.map(Kn).join("|")+")","i")}function ne(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function ee(t,n,e){var r=my.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function re(t,n,e){var r=my.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function ie(t,n,e){var r=my.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function oe(t,n,e){var r=my.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function ae(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function ue(t,n,e){var r=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function ce(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function se(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function le(t,n,e){var r=my.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function fe(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function he(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function pe(t,n,e){var r=my.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function de(t,n,e){var r=my.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function ve(t,n,e){var r=xy.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function ye(t,n){return Qn(t.getDate(),n,2)}function _e(t,n){return Qn(t.getHours(),n,2)}function ge(t,n){return Qn(t.getHours()%12||12,n,2)}function me(t,n){return Qn(1+fv.count(Av(t),t),n,3)}function xe(t,n){return Qn(t.getMilliseconds(),n,3)}function be(t,n){return Qn(t.getMonth()+1,n,2)}function we(t,n){return Qn(t.getMinutes(),n,2)}function Me(t,n){return Qn(t.getSeconds(),n,2)}function Ee(t,n){return Qn(pv.count(Av(t),t),n,2)}function Ne(t){return t.getDay()}function Te(t,n){return Qn(dv.count(Av(t),t),n,2)}function Se(t,n){return Qn(t.getFullYear()%100,n,2)}function ke(t,n){return Qn(t.getFullYear()%1e4,n,4)}function Ae(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Qn(n/60|0,"0",2)+Qn(n%60,"0",2)}function Ce(t,n){return Qn(t.getUTCDate(),n,2)}function Pe(t,n){return Qn(t.getUTCHours(),n,2)}function Le(t,n){return Qn(t.getUTCHours()%12||12,n,2)}function Oe(t,n){return Qn(1+zv.count(Kv(t),t),n,3)}function Re(t,n){return Qn(t.getUTCMilliseconds(),n,3)}function ze(t,n){return Qn(t.getUTCMonth()+1,n,2)}function Ie(t,n){return Qn(t.getUTCMinutes(),n,2)}function De(t,n){return Qn(t.getUTCSeconds(),n,2)}function Ue(t,n){return Qn(Dv.count(Kv(t),t),n,2)}function qe(t){return t.getUTCDay()}function je(t,n){return Qn(Uv.count(Kv(t),t),n,2)}function Fe(t,n){return Qn(t.getUTCFullYear()%100,n,2)}function Ye(t,n){return Qn(t.getUTCFullYear()%1e4,n,4)}function Be(){return"+0000"}function Xe(){return"%"}function $e(n){return dy=Jn(n),t.timeFormat=dy.format,t.timeParse=dy.parse,t.utcFormat=dy.utcFormat,t.utcParse=dy.utcParse,dy}function He(t){return t.toISOString()}function Ve(t){var n=new Date(t);return isNaN(n)?null:n}function Ge(t){function n(n){var o=n+"",a=e.get(o);if(!a){if(i!==ky)return i;e.set(o,a=r.push(n))}return t[(a-1)%t.length]}var e=o(),r=[],i=ky;return t=null==t?[]:Sy.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=o();for(var i,a,u=-1,c=t.length;++u<c;)e.has(a=(i=t[u])+"")||e.set(a,r.push(i));return n},n.range=function(e){return arguments.length?(t=Sy.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return Ge().domain(r).range(t).unknown(i)},n}function We(){function t(){var t=i().length,r=a[1]<a[0],f=a[r-0],h=a[1-r];n=(h-f)/Math.max(1,t-c+2*s),u&&(n=Math.floor(n)),f+=(h-f-n*(t-c))*l,e=n*(1-c),u&&(f=Math.round(f),e=Math.round(e));var p=Tl(t).map(function(t){return f+n*t});return o(r?p.reverse():p)}var n,e,r=Ge().unknown(void 0),i=r.domain,o=r.range,a=[0,1],u=!1,c=0,s=0,l=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(a=[+n[0],+n[1]],t()):a.slice()},r.rangeRound=function(n){return a=[+n[0],+n[1]],u=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(u=!!n,t()):u},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(l=Math.max(0,Math.min(1,n)),t()):l},r.copy=function(){return We().domain(i()).range(a).round(u).paddingInner(c).paddingOuter(s).align(l)},t()}function Ze(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Ze(n())},t}function Je(){return Ze(We().paddingInner(1))}function Qe(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:Ay(n)}function Ke(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}function tr(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}function nr(t,n,e,r){var i=t[0],o=t[1],a=n[0],u=n[1];return o<i?(i=e(o,i),a=r(u,a)):(i=e(i,o),a=r(a,u)),function(t){return a(i(t))}}function er(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),a=new Array(i),u=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++u<i;)o[u]=e(t[u],t[u+1]),a[u]=r(n[u],n[u+1]);return function(n){var e=dl(t,n,1,i)-1;return a[e](o[e](n))}}function rr(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function ir(t,n){function e(){return i=Math.min(u.length,c.length)>2?er:nr,o=a=null,r}function r(n){return(o||(o=i(u,c,l?Ke(t):t,s)))(+n)}var i,o,a,u=Py,c=Py,s=ad,l=!1;return r.invert=function(t){return(a||(a=i(c,u,Qe,l?tr(n):n)))(+t)},r.domain=function(t){return arguments.length?(u=Ty.call(t,Cy),e()):u.slice()},r.range=function(t){return arguments.length?(c=Sy.call(t),e()):c.slice()},r.rangeRound=function(t){return c=Sy.call(t),s=ud,e()},r.clamp=function(t){return arguments.length?(l=!!t,e()):l},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function or(t){var n=t.domain;return t.ticks=function(t){var e=n();return Cl(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return Ly(n(),t,e)},t.nice=function(r){var i=n(),o=i.length-1,a=null==r?10:r,u=i[0],c=i[o],s=e(u,c,a);return s&&(s=e(Math.floor(u/s)*s,Math.ceil(c/s)*s,a),i[0]=Math.floor(u/s)*s,i[o]=Math.ceil(c/s)*s,n(i)),t},t}function ar(){var t=ir(Qe,td);return t.copy=function(){return rr(t,ar())},or(t)}function ur(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=Ty.call(e,Cy),t):n.slice()},t.copy=function(){return ur().domain(n)},or(t)}function cr(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:Ay(n)}function sr(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function lr(t){return isFinite(t)?+("1e"+t):t<0?0:t}function fr(t){return 10===t?lr:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function hr(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function pr(t){return function(n){return-t(-n)}}function dr(){function n(){return o=hr(i),a=fr(i),r()[0]<0&&(o=pr(o),a=pr(a)),e}var e=ir(cr,sr).domain([1,10]),r=e.domain,i=10,o=hr(10),a=fr(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),u=e[0],c=e[e.length-1];(n=c<u)&&(h=u,u=c,c=h);var s,l,f,h=o(u),p=o(c),d=null==t?10:+t,v=[];if(!(i%1)&&p-h<d){if(h=Math.round(h)-1,p=Math.round(p)+1,u>0){for(;h<p;++h)for(l=1,s=a(h);l<i;++l)if(f=s*l,!(f<u)){if(f>c)break;v.push(f)}}else for(;h<p;++h)for(l=i-1,s=a(h);l>=1;--l)if(f=s*l,!(f<u)){if(f>c)break;v.push(f)}}else v=Cl(h,p,Math.min(p-h,d)).map(a);return n?v.reverse():v},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var u=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/a(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=u?r(t):""}},e.nice=function(){return r(Oy(r(),{floor:function(t){return a(Math.floor(o(t)))},ceil:function(t){return a(Math.ceil(o(t)))}}))},e.copy=function(){return rr(e,dr().base(i))},e}function vr(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function yr(){function t(t,n){return(n=vr(n,e)-(t=vr(t,e)))?function(r){return(vr(r,e)-t)/n}:Ay(n)}function n(t,n){return n=vr(n,e)-(t=vr(t,e)),function(r){return vr(t+n*r,1/e)}}var e=1,r=ir(t,n),i=r.domain;return r.exponent=function(t){return arguments.length?(e=+t,i(i())):e},r.copy=function(){return rr(r,yr().exponent(e))},or(r)}function _r(){return yr().exponent(.5)}function gr(){function t(){var t=0,o=Math.max(1,r.length);for(i=new Array(o-1);++t<o;)i[t-1]=Ol(e,t/o);return n}function n(t){if(!isNaN(t=+t))return r[dl(i,t)]}var e=[],r=[],i=[];return n.invertExtent=function(t){var n=r.indexOf(t);return n<0?[NaN,NaN]:[n>0?i[n-1]:e[0],n<i.length?i[n]:e[e.length-1]]},n.domain=function(n){if(!arguments.length)return e.slice();e=[];for(var r,i=0,o=n.length;i<o;++i)r=n[i],null==r||isNaN(r=+r)||e.push(r);return e.sort(fl),t()},n.range=function(n){return arguments.length?(r=Sy.call(n),t()):r.slice()},n.quantiles=function(){return i.slice()},n.copy=function(){return gr().domain(e).range(r)},n}function mr(){function t(t){if(t<=t)return a[dl(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],a=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(a=Sy.call(t)).length-1,n()):a.slice()},t.invertExtent=function(t){var n=a.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return mr().domain([e,r]).range(a)},or(t)}function xr(){function t(t){if(t<=t)return e[dl(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=Sy.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=Sy.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return xr().domain(n).range(e)},t}function br(t){return new Date(t)}function wr(t){return t instanceof Date?+t:+new Date(+t)}function Mr(t,n,r,i,o,a,u,c,s){function l(e){return(u(e)<e?v:a(e)<e?y:o(e)<e?_:i(e)<e?g:n(e)<e?r(e)<e?m:x:t(e)<e?b:w)(e)}function f(n,r,i,o){if(null==n&&(n=10),"number"==typeof n){var a=Math.abs(i-r)/n,u=hl(function(t){return t[2]}).right(M,a);u===M.length?(o=e(r/jy,i/jy,n),n=t):u?(u=M[a/M[u-1][2]<M[u][2]/a?u-1:u],o=u[1],n=u[0]):(o=e(r,i,n),n=c)}return null==o?n:n.every(o)}var h=ir(Qe,td),p=h.invert,d=h.domain,v=s(".%L"),y=s(":%S"),_=s("%I:%M"),g=s("%I %p"),m=s("%a %d"),x=s("%b %d"),b=s("%B"),w=s("%Y"),M=[[u,1,Ry],[u,5,5*Ry],[u,15,15*Ry],[u,30,30*Ry],[a,1,zy],[a,5,5*zy],[a,15,15*zy],[a,30,30*zy],[o,1,Iy],[o,3,3*Iy],[o,6,6*Iy],[o,12,12*Iy],[i,1,Dy],[i,2,2*Dy],[r,1,Uy],[n,1,qy],[n,3,3*qy],[t,1,jy]];return h.invert=function(t){return new Date(p(t))},h.domain=function(t){return arguments.length?d(Ty.call(t,wr)):d().map(br)},h.ticks=function(t,n){var e,r=d(),i=r[0],o=r[r.length-1],a=o<i;return a&&(e=i,i=o,o=e),e=f(t,i,o,n),e=e?e.range(i,o+1):[],a?e.reverse():e},h.tickFormat=function(t,n){return null==n?l:s(n)},h.nice=function(t,n){var e=d();return(t=f(t,e[0],e[e.length-1],n))?d(Oy(e,t)):h;
},h.copy=function(){return rr(h,Mr(t,n,r,i,o,a,u,c,s))},h}function Er(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Nr(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Nr(t).domain([e,r]).clamp(i)},or(n)}function Tr(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===r_&&n.documentElement.namespaceURI===r_?n.createElement(t):n.createElementNS(e,t)}}function Sr(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function kr(){return new Ar}function Ar(){this._="@"+(++u_).toString(36)}function Cr(t,n,e){return t=Pr(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function Pr(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function Lr(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}function Or(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function Rr(t,n,e){var r=h_.hasOwnProperty(t.type)?Cr:Pr;return function(i,o,a){var u,c=this.__on,s=r(n,o,a);if(c)for(var l=0,f=c.length;l<f;++l)if((u=c[l]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=s,u.capture=e),void(u.value=n);this.addEventListener(t.type,s,e),u={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(u):this.__on=[u]}}function zr(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function Ir(){}function Dr(){return[]}function Ur(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function qr(t,n,e,r,i,o){for(var a,u=0,c=n.length,s=o.length;u<s;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new Ur(t,o[u]);for(;u<c;++u)(a=n[u])&&(i[u]=a)}function jr(t,n,e,r,i,o,a){var u,c,s,l={},f=n.length,h=o.length,p=new Array(f);for(u=0;u<f;++u)(c=n[u])&&(p[u]=s=T_+a.call(c,c.__data__,u,n),s in l?i[u]=c:l[s]=c);for(u=0;u<h;++u)s=T_+a.call(t,o[u],u,o),(c=l[s])?(r[u]=c,c.__data__=o[u],l[s]=null):e[u]=new Ur(t,o[u]);for(u=0;u<f;++u)(c=n[u])&&l[p[u]]===c&&(i[u]=c)}function Fr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Yr(t){return function(){this.removeAttribute(t)}}function Br(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Xr(t,n){return function(){this.setAttribute(t,n)}}function $r(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function Hr(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function Vr(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function Gr(t){return function(){this.style.removeProperty(t)}}function Wr(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Zr(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Jr(t){return function(){delete this[t]}}function Qr(t,n){return function(){this[t]=n}}function Kr(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function ti(t){return t.trim().split(/^|\s+/)}function ni(t){return t.classList||new ei(t)}function ei(t){this._node=t,this._names=ti(t.getAttribute("class")||"")}function ri(t,n){for(var e=ni(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function ii(t,n){for(var e=ni(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function oi(t){return function(){ri(this,t)}}function ai(t){return function(){ii(this,t)}}function ui(t,n){return function(){(n.apply(this,arguments)?ri:ii)(this,t)}}function ci(){this.textContent=""}function si(t){return function(){this.textContent=t}}function li(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function fi(){this.innerHTML=""}function hi(t){return function(){this.innerHTML=t}}function pi(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function di(){this.nextSibling&&this.parentNode.appendChild(this)}function vi(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function yi(){return null}function _i(){var t=this.parentNode;t&&t.removeChild(this)}function gi(t,n,e){var r=q_(t),i=r.CustomEvent;i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function mi(t,n){return function(){return gi(this,t,n)}}function xi(t,n){return function(){return gi(this,t,n.apply(this,arguments))}}function bi(t,n){this._groups=t,this._parents=n}function wi(){return new bi([[document.documentElement]],Q_)}function Mi(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>og)throw new Error("too late");return e}function Ei(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>ug)throw new Error("too late");return e}function Ni(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("too late");return e}function Ti(t,n,e){function r(t){e.state=ag,e.timer.restart(i,e.delay,e.time),e.delay<=t&&i(t-e.delay)}function i(r){var s,l,f,h;if(e.state!==ag)return a();for(s in c)if(h=c[s],h.name===e.name){if(h.state===cg)return Gd(i);h.state===sg?(h.state=fg,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete c[s]):+s<n&&(h.state=fg,h.timer.stop(),delete c[s])}if(Gd(function(){e.state===cg&&(e.state=sg,e.timer.restart(o,e.delay,e.time),o(r))}),e.state=ug,e.on.call("start",t,t.__data__,e.index,e.group),e.state===ug){for(e.state=cg,u=new Array(f=e.tween.length),s=0,l=-1;s<f;++s)(h=e.tween[s].value.call(t,t.__data__,e.index,e.group))&&(u[++l]=h);u.length=l+1}}function o(n){for(var r=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(a),e.state=lg,1),i=-1,o=u.length;++i<o;)u[i].call(null,r);e.state===lg&&(e.on.call("end",t,t.__data__,e.index,e.group),a())}function a(){e.state=fg,e.timer.stop(),delete c[n];for(var r in c)return;delete t.__transition}var u,c=t.__transition;c[n]=e,e.timer=In(r,0,e.time)}function Si(t,n){var e,r;return function(){var i=Ei(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===n){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function ki(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Ei(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=u;break}c===s&&i.push(u)}o.tween=i}}function Ai(t,n,e){var r=t._id;return t.each(function(){var t=Ei(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return Ni(t,r).value[n]}}function Ci(t){return function(){this.removeAttribute(t)}}function Pi(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Li(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Oi(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function Ri(t,n,e){var r,i,o;return function(){var a,u=e(this);return null==u?void this.removeAttribute(t):(a=this.getAttribute(t),a===u?null:a===r&&u===i?o:o=n(r=a,i=u))}}function zi(t,n,e){var r,i,o;return function(){var a,u=e(this);return null==u?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),a===u?null:a===r&&u===i?o:o=n(r=a,i=u))}}function Ii(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function Di(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function Ui(t,n){return function(){Mi(this,t).delay=+n.apply(this,arguments)}}function qi(t,n){return n=+n,function(){Mi(this,t).delay=n}}function ji(t,n){return function(){Ei(this,t).duration=+n.apply(this,arguments)}}function Fi(t,n){return n=+n,function(){Ei(this,t).duration=n}}function Yi(t,n){if("function"!=typeof n)throw new Error;return function(){Ei(this,t).ease=n}}function Bi(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}function Xi(t,n,e){var r,i,o=Bi(n)?Mi:Ei;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}function $i(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function Hi(t,n){var e,r,i;return function(){var o=q_(this).getComputedStyle(this,null),a=o.getPropertyValue(t),u=(this.style.removeProperty(t),o.getPropertyValue(t));return a===u?null:a===e&&u===r?i:i=n(e=a,r=u)}}function Vi(t){return function(){this.style.removeProperty(t)}}function Gi(t,n,e){var r,i;return function(){var o=q_(this).getComputedStyle(this,null).getPropertyValue(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Wi(t,n,e){var r,i,o;return function(){var a=q_(this).getComputedStyle(this,null),u=a.getPropertyValue(t),c=e(this);return null==c&&(this.style.removeProperty(t),c=a.getPropertyValue(t)),u===c?null:u===r&&c===i?o:o=n(r=u,i=c)}}function Zi(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}function Ji(t){return function(){this.textContent=t}}function Qi(t){return function(){var n=t(this);this.textContent=null==n?"":n}}function Ki(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function to(t){return wi().transition(t)}function no(){return++Rg}function eo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return Ig.time=On(),Ig;return e}function ro(t,n,e){var r=t(e);return"translate("+(isFinite(r)?r:n(e))+",0)"}function io(t,n,e){var r=t(e);return"translate(0,"+(isFinite(r)?r:n(e))+")"}function oo(t){var n=t.bandwidth()/2;return t.round()&&(n=Math.round(n)),function(e){return t(e)+n}}function ao(){return!this.__axis}function uo(t,n){function e(e){var s,l=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,f=null==o?n.tickFormat?n.tickFormat.apply(n,r):Fg:o,h=Math.max(a,0)+c,p=t===Yg||t===Xg?ro:io,d=n.range(),v=d[0]+.5,y=d[d.length-1]+.5,_=(n.bandwidth?oo:Fg)(n.copy()),g=e.selection?e.selection():e,m=g.selectAll(".domain").data([null]),x=g.selectAll(".tick").data(l,n).order(),b=x.exit(),w=x.enter().append("g").attr("class","tick"),M=x.select("line"),E=x.select("text"),N=t===Yg||t===$g?-1:1,T=t===$g||t===Bg?(s="x","y"):(s="y","x");m=m.merge(m.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),x=x.merge(w),M=M.merge(w.append("line").attr("stroke","#000").attr(s+"2",N*a).attr(T+"1",.5).attr(T+"2",.5)),E=E.merge(w.append("text").attr("fill","#000").attr(s,N*h).attr(T,.5).attr("dy",t===Yg?"0em":t===Xg?"0.71em":"0.32em")),e!==g&&(m=m.transition(e),x=x.transition(e),M=M.transition(e),E=E.transition(e),b=b.transition(e).attr("opacity",Hg).attr("transform",function(t){return p(_,this.parentNode.__axis||_,t)}),w.attr("opacity",Hg).attr("transform",function(t){return p(this.parentNode.__axis||_,_,t)})),b.remove(),m.attr("d",t===$g||t==Bg?"M"+N*u+","+v+"H0.5V"+y+"H"+N*u:"M"+v+","+N*u+"V0.5H"+y+"V"+N*u),x.attr("opacity",1).attr("transform",function(t){return p(_,_,t)}),M.attr(s+"2",N*a),E.attr(s,N*h).text(f),g.filter(ao).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Bg?"start":t===$g?"end":"middle"),g.each(function(){this.__axis=_})}var r=[],i=null,o=null,a=6,u=6,c=3;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=jg.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:jg.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:jg.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(a=u=+t,e):a},e.tickSizeInner=function(t){return arguments.length?(a=+t,e):a},e.tickSizeOuter=function(t){return arguments.length?(u=+t,e):u},e.tickPadding=function(t){return arguments.length?(c=+t,e):c},e}function co(t){return uo(Yg,t)}function so(t){return uo(Bg,t)}function lo(t){return uo(Xg,t)}function fo(t){return uo($g,t)}function ho(t,n){return t.parent===n.parent?1:2}function po(t){return t.reduce(vo,0)/t.length}function vo(t,n){return t+n.x}function yo(t){return 1+t.reduce(_o,0)}function _o(t,n){return Math.max(t,n.y)}function go(t){for(var n;n=t.children;)t=n[0];return t}function mo(t){for(var n;n=t.children;)t=n[n.length-1];return t}function xo(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function bo(t,n){var e,r,i,o,a,u=new To(t),c=+t.value&&(u.value=t.value),s=[u];for(null==n&&(n=Mo);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)s.push(r=e.children[o]=new To(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(No)}function wo(){return bo(this).eachBefore(Eo)}function Mo(t){return t.children}function Eo(t){t.data=t.data.data}function No(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function To(t){this.data=t,this.depth=this.height=0,this.parent=null}function So(t){this._=t,this.next=null}function ko(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r-n.r;return i*i+1e-6>e*e+r*r}function Ao(t,n){var e,r,i,o=null,a=t.head;switch(n.length){case 1:e=Co(n[0]);break;case 2:e=Po(n[0],n[1]);break;case 3:e=Lo(n[0],n[1],n[2])}for(;a;)i=a._,r=a.next,e&&ko(e,i)?o=a:(o?(t.tail=o,o.next=null):t.head=t.tail=null,n.push(i),e=Ao(t,n),n.pop(),t.head?(a.next=t.head,t.head=a):(a.next=null,t.head=t.tail=a),o=t.tail,o.next=r),a=r;return t.tail=o,e}function Co(t){return{x:t.x,y:t.y,r:t.r}}function Po(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,a=n.y,u=n.r,c=o-e,s=a-r,l=u-i,f=Math.sqrt(c*c+s*s);return{x:(e+o+c/f*l)/2,y:(r+a+s/f*l)/2,r:(f+i+u)/2}}function Lo(t,n,e){var r=t.x,i=t.y,o=t.r,a=n.x,u=n.y,c=n.r,s=e.x,l=e.y,f=e.r,h=2*(r-a),p=2*(i-u),d=2*(c-o),v=r*r+i*i-o*o-a*a-u*u+c*c,y=2*(r-s),_=2*(i-l),g=2*(f-o),m=r*r+i*i-o*o-s*s-l*l+f*f,x=y*p-h*_,b=(p*m-_*v)/x-r,w=(_*d-p*g)/x,M=(y*v-h*m)/x-i,E=(h*g-y*d)/x,N=w*w+E*E-1,T=2*(b*w+M*E+o),S=b*b+M*M-o*o,k=(-T-Math.sqrt(T*T-4*N*S))/(2*N);return{x:b+w*k+r,y:M+E*k+i,r:k}}function Oo(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,a=t.r+e.r,u=n.x-r,c=n.y-i,s=u*u+c*c;if(s){var l=.5+((a*=a)-(o*=o))/(2*s),f=Math.sqrt(Math.max(0,2*o*(a+s)-(a-=s)*a-o*o))/(2*s);e.x=r+l*u+f*c,e.y=i+l*c-f*u}else e.x=r+a,e.y=i}function Ro(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i>e*e+r*r}function zo(t,n,e){var r=t.x-n,i=t.y-e;return r*r+i*i}function Io(t){this._=t,this.next=null,this.previous=null}function Do(t){if(!(i=t.length))return 0;var n,e,r,i;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Oo(e,n,r=t[2]);var o,a,u,c,s,l,f,h=n.r*n.r,p=e.r*e.r,d=r.r*r.r,v=h+p+d,y=h*n.x+p*e.x+d*r.x,_=h*n.y+p*e.y+d*r.y;n=new Io(n),e=new Io(e),r=new Io(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(u=3;u<i;++u){if(Oo(n._,e._,r=t[u]),r=new Io(r),(s=n.previous)===(c=e.next)){if(Ro(c._,r._)){n=e,e=c,--u;continue t}}else{l=c._.r,f=s._.r;do if(l<=f){if(Ro(c._,r._)){e=c,n.next=e,e.previous=n,--u;continue t}c=c.next,l+=c._.r}else{if(Ro(s._,r._)){n=s,n.next=e,e.previous=n,--u;continue t}s=s.previous,f+=s._.r}while(c!==s.next)}for(r.previous=n,r.next=e,n.next=e.previous=e=r,v+=d=r._.r*r._.r,y+=d*r._.x,_+=d*r._.y,h=zo(n._,o=y/v,a=_/v);(r=r.next)!==e;)(d=zo(r._,o,a))<h&&(n=r,h=d);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=om(n),u=0;u<i;++u)n=t[u],n.x-=r.x,n.y-=r.y;return r.r}function Uo(t){return null==t?null:qo(t)}function qo(t){if("function"!=typeof t)throw new Error;return t}function jo(){return 0}function Fo(t){return Math.sqrt(t.value)}function Yo(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Bo(t,n){return function(e){if(r=e.children){var r,i,o,a=r.length,u=t(e)*n||0;if(u)for(i=0;i<a;++i)r[i].r+=u;if(o=Do(r),u)for(i=0;i<a;++i)r[i].r-=u;e.r=o+u}}}function Xo(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function $o(t){return t.id}function Ho(t){return t.parentId}function Vo(t,n){return t.parent===n.parent?1:2}function Go(t){var n=t.children;return n?n[0]:t.t}function Wo(t){var n=t.children;return n?n[n.length-1]:t.t}function Zo(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Jo(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Qo(t,n,e){return t.a.parent===n.parent?t.a:e}function Ko(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function ta(t){for(var n,e,r,i,o,a=new Ko(t,0),u=[a];n=u.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(e=n.children[i]=new Ko(r[i],i)),e.parent=n;return(a.parent=new Ko(null,0)).children=[a],a}function na(t,n,e,r,i,o){for(var a,u,c,s,l,f,h,p,d,v,y,_=[],g=n.children,m=0,x=0,b=g.length,w=n.value;m<b;){c=i-e,s=o-r;do l=g[x++].value;while(!l&&x<b);for(f=h=l,v=Math.max(s/c,c/s)/(w*t),y=l*l*v,d=Math.max(h/y,y/f);x<b;++x){if(l+=u=g[x].value,u<f&&(f=u),u>h&&(h=u),y=l*l*v,p=Math.max(h/y,y/f),p>d){l-=u;break}d=p}_.push(a={value:l,dice:c<s,children:g.slice(m,x)}),a.dice?lm(a,e,r,i,w?r+=s*l/w:o):_m(a,e,r,w?e+=c*l/w:i,o),w-=l,m=x}return _}function ea(){t.event.stopImmediatePropagation()}function r