summaryrefslogtreecommitdiff
path: root/visualize/static/d3-3.0.6.min.js
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@parabola.nu>2019-02-24 22:39:40 -0500
committerLuke Shumaker <lukeshu@parabola.nu>2019-03-10 01:12:57 -0500
commit8066ac2b0297d986a0494379aedb60ee8196b350 (patch)
tree0d949820be7188d5d2356768ea38aba3270875d1 /visualize/static/d3-3.0.6.min.js
parent0d80b8d122a03604fd2a915fc36585d65c4897c5 (diff)
make clean && makelukeshu/rebase/master
Diffstat (limited to 'visualize/static/d3-3.0.6.min.js')
-rw-r--r--visualize/static/d3-3.0.6.min.js439
1 files changed, 435 insertions, 4 deletions
diff --git a/visualize/static/d3-3.0.6.min.js b/visualize/static/d3-3.0.6.min.js
index 9b153cd7..d3c39b71 100644
--- a/visualize/static/d3-3.0.6.min.js
+++ b/visualize/static/d3-3.0.6.min.js
@@ -1,4 +1,435 @@
-d3=function(){function t(t){return t.target}function n(t){return t.source}function e(t,n){try{for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}catch(r){t.prototype=n}}function r(t){for(var n=-1,e=t.length,r=[];e>++n;)r.push(t[n]);return r}function u(t){return Array.prototype.slice.call(t)}function i(){}function a(t){return t}function o(){return!0}function c(t){return"function"==typeof t?t:function(){return t}}function l(t,n,e){return function(){var r=e.apply(n,arguments);return arguments.length?t:r}}function f(t){return null!=t&&!isNaN(t)}function s(t){return t.length}function h(t){return t.trim().replace(/\s+/g," ")}function g(t){for(var n=1;t*n%1;)n*=10;return n}function p(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function d(t){return t.responseText}function m(t){return JSON.parse(t.responseText)}function v(t){var n=Di.createRange();return n.selectNode(Di.body),n.createContextualFragment(t.responseText)}function y(t){return t.responseXML}function M(){}function b(t){function n(){for(var n,r=e,u=-1,i=r.length;i>++u;)(n=r[u].on)&&n.apply(this,arguments);return t}var e=[],r=new i;return n.on=function(n,u){var i,a=r.get(n);return 2>arguments.length?a&&a.on:(a&&(a.on=null,e=e.slice(0,i=e.indexOf(a)).concat(e.slice(i+1)),r.remove(n)),u&&e.push(r.set(n,{on:u})),t)},n}function x(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function _(t){return t+""}function w(t,n){var e=Math.pow(10,3*Math.abs(8-n));return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function S(t){return function(n){return 0>=n?0:n>=1?1:t(n)}}function k(t){return function(n){return 1-t(1-n)}}function E(t){return function(n){return.5*(.5>n?t(2*n):2-t(2-2*n))}}function A(t){return t*t}function N(t){return t*t*t}function T(t){if(0>=t)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(.5>t?e:3*(t-n)+e-.75)}function q(t){return function(n){return Math.pow(n,t)}}function C(t){return 1-Math.cos(t*Ni/2)}function z(t){return Math.pow(2,10*(t-1))}function D(t){return 1-Math.sqrt(1-t*t)}function L(t,n){var e;return 2>arguments.length&&(n=.45),arguments.length?e=n/(2*Ni)*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,10*-r)*Math.sin(2*(r-e)*Ni/n)}}function F(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function H(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function j(){qi.event.stopPropagation(),qi.event.preventDefault()}function P(){for(var t,n=qi.event;t=n.sourceEvent;)n=t;return n}function R(t){for(var n=new M,e=0,r=arguments.length;r>++e;)n[arguments[e]]=b(n);return n.of=function(e,r){return function(u){try{var i=u.sourceEvent=qi.event;u.target=t,qi.event=u,n[u.type].apply(e,r)}finally{qi.event=i}}},n}function O(t){var n=[t.a,t.b],e=[t.c,t.d],r=U(n),u=Y(n,e),i=U(I(e,n,-u))||0;n[0]*e[1]<e[0]*n[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*zi,this.translate=[t.e,t.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*zi:0}function Y(t,n){return t[0]*n[0]+t[1]*n[1]}function U(t){var n=Math.sqrt(Y(t,t));return n&&(t[0]/=n,t[1]/=n),n}function I(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function V(t){return"transform"==t?qi.interpolateTransform:qi.interpolate}function X(t,n){return n=n-(t=+t)?1/(n-t):0,function(e){return(e-t)*n}}function Z(t,n){return n=n-(t=+t)?1/(n-t):0,function(e){return Math.max(0,Math.min(1,(e-t)*n))}}function B(){}function $(t,n,e){return new J(t,n,e)}function J(t,n,e){this.r=t,this.g=n,this.b=e}function G(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function K(t,n,e){var r,u,i,a=0,o=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(t))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 n(nn(u[0]),nn(u[1]),nn(u[2]))}return(i=aa.get(t))?n(i.r,i.g,i.b):(null!=t&&"#"===t.charAt(0)&&(4===t.length?(a=t.charAt(1),a+=a,o=t.charAt(2),o+=o,c=t.charAt(3),c+=c):7===t.length&&(a=t.substring(1,3),o=t.substring(3,5),c=t.substring(5,7)),a=parseInt(a,16),o=parseInt(o,16),c=parseInt(c,16)),n(a,o,c))}function W(t,n,e){var r,u,i=Math.min(t/=255,n/=255,e/=255),a=Math.max(t,n,e),o=a-i,c=(a+i)/2;return o?(u=.5>c?o/(a+i):o/(2-a-i),r=t==a?(n-e)/o+(e>n?6:0):n==a?(e-t)/o+2:(t-n)/o+4,r*=60):u=r=0,en(r,u,c)}function Q(t,n,e){t=tn(t),n=tn(n),e=tn(e);var r=pn((.4124564*t+.3575761*n+.1804375*e)/fa),u=pn((.2126729*t+.7151522*n+.072175*e)/sa),i=pn((.0193339*t+.119192*n+.9503041*e)/ha);return ln(116*u-16,500*(r-u),200*(u-i))}function tn(t){return.04045>=(t/=255)?t/12.92:Math.pow((t+.055)/1.055,2.4)}function nn(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}function en(t,n,e){return new rn(t,n,e)}function rn(t,n,e){this.h=t,this.s=n,this.l=e}function un(t,n,e){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?i+(a-i)*t/60:180>t?a:240>t?i+(a-i)*(240-t)/60:i}function u(t){return Math.round(255*r(t))}var i,a;return t%=360,0>t&&(t+=360),n=0>n?0:n>1?1:n,e=0>e?0:e>1?1:e,a=.5>=e?e*(1+n):e+n-e*n,i=2*e-a,$(u(t+120),u(t),u(t-120))}function an(t,n,e){return new on(t,n,e)}function on(t,n,e){this.h=t,this.c=n,this.l=e}function cn(t,n,e){return ln(e,Math.cos(t*=Ci)*n,Math.sin(t)*n)}function ln(t,n,e){return new fn(t,n,e)}function fn(t,n,e){this.l=t,this.a=n,this.b=e}function sn(t,n,e){var r=(t+16)/116,u=r+n/500,i=r-e/200;return u=gn(u)*fa,r=gn(r)*sa,i=gn(i)*ha,$(dn(3.2404542*u-1.5371385*r-.4985314*i),dn(-.969266*u+1.8760108*r+.041556*i),dn(.0556434*u-.2040259*r+1.0572252*i))}function hn(t,n,e){return an(180*(Math.atan2(e,n)/Ni),Math.sqrt(n*n+e*e),t)}function gn(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function pn(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function dn(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function mn(t){return Ii(t,Ma),t}function vn(t){return function(){return pa(t,this)}}function yn(t){return function(){return da(t,this)}}function Mn(t,n){function e(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function u(){this.setAttribute(t,n)}function i(){this.setAttributeNS(t.space,t.local,n)}function a(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}function o(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=qi.ns.qualify(t),null==n?t.local?r:e:"function"==typeof n?t.local?o:a:t.local?i:u}function bn(t){return RegExp("(?:^|\\s+)"+qi.requote(t)+"(?:\\s+|$)","g")}function xn(t,n){function e(){for(var e=-1;u>++e;)t[e](this,n)}function r(){for(var e=-1,r=n.apply(this,arguments);u>++e;)t[e](this,r)}t=t.trim().split(/\s+/).map(_n);var u=t.length;return"function"==typeof n?r:e}function _n(t){var n=bn(t);return function(e,r){if(u=e.classList)return r?u.add(t):u.remove(t);var u=e.className,i=null!=u.baseVal,a=i?u.baseVal:u;r?(n.lastIndex=0,n.test(a)||(a=h(a+" "+t),i?u.baseVal=a:e.className=a)):a&&(a=h(a.replace(n," ")),i?u.baseVal=a:e.className=a)}}function wn(t,n,e){function r(){this.style.removeProperty(t)}function u(){this.style.setProperty(t,n,e)}function i(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}return null==n?r:"function"==typeof n?i:u}function Sn(t,n){function e(){delete this[t]}function r(){this[t]=n}function u(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}return null==n?e:"function"==typeof n?u:r}function kn(t){return{__data__:t}}function En(t){return function(){return ya(this,t)}}function An(t){return arguments.length||(t=qi.ascending),function(n,e){return!n-!e||t(n.__data__,e.__data__)}}function Nn(t,n,e){function r(){var n=this[i];n&&(this.removeEventListener(t,n,n.$),delete this[i])}function u(){function u(t){var e=qi.event;qi.event=t,o[0]=a.__data__;try{n.apply(a,o)}finally{qi.event=e}}var a=this,o=Yi(arguments);r.call(this),this.addEventListener(t,this[i]=u,u.$=e),u._=n}var i="__on"+t,a=t.indexOf(".");return a>0&&(t=t.substring(0,a)),n?u:r}function Tn(t,n){for(var e=0,r=t.length;r>e;e++)for(var u,i=t[e],a=0,o=i.length;o>a;a++)(u=i[a])&&n(u,a,e);return t}function qn(t){return Ii(t,xa),t}function Cn(t,n){return Ii(t,wa),t.id=n,t}function zn(t,n,e,r){var u=t.__transition__||(t.__transition__={active:0,count:0}),a=u[e];if(!a){var o=r.time;return a=u[e]={tween:new i,event:qi.dispatch("start","end"),time:o,ease:r.ease,delay:r.delay,duration:r.duration},++u.count,qi.timer(function(r){function i(r){return u.active>e?l():(u.active=e,h.start.call(t,f,n),a.tween.forEach(function(e,r){(r=r.call(t,f,n))&&d.push(r)}),c(r)||qi.timer(c,0,o),1)}function c(r){if(u.active!==e)return l();for(var i=(r-g)/p,a=s(i),o=d.length;o>0;)d[--o].call(t,a);return i>=1?(l(),h.end.call(t,f,n),1):void 0}function l(){return--u.count?delete u[e]:delete t.__transition__,1}var f=t.__data__,s=a.ease,h=a.event,g=a.delay,p=a.duration,d=[];return r>=g?i(r):qi.timer(i,g,o),1},0,o),a}}function Dn(t){return null==t&&(t=""),function(){this.textContent=t}}function Ln(t,n,e,r){var u=t.id;return Tn(t,"function"==typeof e?function(t,i,a){t.__transition__[u].tween.set(n,r(e.call(t,t.__data__,i,a)))}:(e=r(e),function(t){t.__transition__[u].tween.set(n,e)}))}function Fn(){for(var t,n=Date.now(),e=qa;e;)t=n-e.then,t>=e.delay&&(e.flush=e.callback(t)),e=e.next;var r=Hn()-n;r>24?(isFinite(r)&&(clearTimeout(Aa),Aa=setTimeout(Fn,r)),Ea=0):(Ea=1,Ca(Fn))}function Hn(){for(var t=null,n=qa,e=1/0;n;)n.flush?(delete Ta[n.callback.id],n=t?t.next=n.next:qa=n.next):(e=Math.min(e,n.then+n.delay),n=(t=n).next);return e}function jn(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>za&&(Li.scrollX||Li.scrollY)){e=qi.select(Di.body).append("svg").style("position","absolute").style("top",0).style("left",0);var u=e[0][0].getScreenCTM();za=!(u.f||u.e),e.remove()}return za?(r.x=n.pageX,r.y=n.pageY):(r.x=n.clientX,r.y=n.clientY),r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}function Pn(){}function Rn(t){var n=t[0],e=t[t.length-1];return e>n?[n,e]:[e,n]}function On(t){return t.rangeExtent?t.rangeExtent():Rn(t.range())}function Yn(t,n){var e,r=0,u=t.length-1,i=t[r],a=t[u];return i>a&&(e=r,r=u,u=e,e=i,i=a,a=e),(n=n(a-i))&&(t[r]=n.floor(i),t[u]=n.ceil(a)),t}function Un(){return Math}function In(t,n,e,r){function u(){var u=Math.min(t.length,n.length)>2?Gn:Jn,c=r?Z:X;return a=u(t,n,c,e),o=u(n,t,c,qi.interpolate),i}function i(t){return a(t)}var a,o;return i.invert=function(t){return o(t)},i.domain=function(n){return arguments.length?(t=n.map(Number),u()):t},i.range=function(t){return arguments.length?(n=t,u()):n},i.rangeRound=function(t){return i.range(t).interpolate(qi.interpolateRound)},i.clamp=function(t){return arguments.length?(r=t,u()):r},i.interpolate=function(t){return arguments.length?(e=t,u()):e},i.ticks=function(n){return Bn(t,n)},i.tickFormat=function(n){return $n(t,n)},i.nice=function(){return Yn(t,Xn),u()},i.copy=function(){return In(t,n,e,r)},u()}function Vn(t,n){return qi.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Xn(t){return t=Math.pow(10,Math.round(Math.log(t)/Math.LN10)-1),t&&{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}}function Zn(t,n){var e=Rn(t),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),i=n/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 Bn(t,n){return qi.range.apply(qi,Zn(t,n))}function $n(t,n){return qi.format(",."+Math.max(0,-Math.floor(Math.log(Zn(t,n)[2])/Math.LN10+.01))+"f")}function Jn(t,n,e,r){var u=e(t[0],t[1]),i=r(n[0],n[1]);return function(t){return i(u(t))}}function Gn(t,n,e,r){var u=[],i=[],a=0,o=Math.min(t.length,n.length)-1;for(t[o]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());o>=++a;)u.push(e(t[a-1],t[a])),i.push(r(n[a-1],n[a]));return function(n){var e=qi.bisect(t,n,1,o)-1;return i[e](u[e](n))}}function Kn(t,n){function e(e){return t(n(e))}var r=n.pow;return e.invert=function(n){return r(t.invert(n))},e.domain=function(u){return arguments.length?(n=0>u[0]?Qn:Wn,r=n.pow,t.domain(u.map(n)),e):t.domain().map(r)},e.nice=function(){return t.domain(Yn(t.domain(),Un)),e},e.ticks=function(){var e=Rn(t.domain()),u=[];if(e.every(isFinite)){var i=Math.floor(e[0]),a=Math.ceil(e[1]),o=r(e[0]),c=r(e[1]);if(n===Qn)for(u.push(r(i));a>i++;)for(var l=9;l>0;l--)u.push(r(i)*l);else{for(;a>i;i++)for(var l=1;10>l;l++)u.push(r(i)*l);u.push(r(i))}for(i=0;o>u[i];i++);for(a=u.length;u[a-1]>c;a--);u=u.slice(i,a)}return u},e.tickFormat=function(t,u){if(2>arguments.length&&(u=Da),!arguments.length)return u;var i,a=Math.max(.1,t/e.ticks().length),o=n===Qn?(i=-1e-12,Math.floor):(i=1e-12,Math.ceil);return function(t){return a>=t/r(o(n(t)+i))?u(t):""}},e.copy=function(){return Kn(t.copy(),n)},Vn(e,t)}function Wn(t){return Math.log(0>t?0:t)/Math.LN10}function Qn(t){return-Math.log(t>0?0:-t)/Math.LN10}function te(t,n){function e(n){return t(r(n))}var r=ne(n),u=ne(1/n);return e.invert=function(n){return u(t.invert(n))},e.domain=function(n){return arguments.length?(t.domain(n.map(r)),e):t.domain().map(u)},e.ticks=function(t){return Bn(e.domain(),t)},e.tickFormat=function(t){return $n(e.domain(),t)},e.nice=function(){return e.domain(Yn(e.domain(),Xn))},e.exponent=function(t){if(!arguments.length)return n;var i=e.domain();return r=ne(n=t),u=ne(1/n),e.domain(i)},e.copy=function(){return te(t.copy(),n)},Vn(e,t)}function ne(t){return function(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}}function ee(t,n){function e(n){return a[((u.get(n)||u.set(n,t.push(n)))-1)%a.length]}function r(n,e){return qi.range(t.length).map(function(t){return n+e*t})}var u,a,o;return e.domain=function(r){if(!arguments.length)return t;t=[],u=new i;for(var a,o=-1,c=r.length;c>++o;)u.has(a=r[o])||u.set(a,t.push(a));return e[n.t].apply(e,n.a)},e.range=function(t){return arguments.length?(a=t,o=0,n={t:"range",a:arguments},e):a},e.rangePoints=function(u,i){2>arguments.length&&(i=0);var c=u[0],l=u[1],f=(l-c)/(Math.max(1,t.length-1)+i);return a=r(2>t.length?(c+l)/2:c+f*i/2,f),o=0,n={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){2>arguments.length&&(i=0),3>arguments.length&&(c=i);var l=u[1]<u[0],f=u[l-0],s=u[1-l],h=(s-f)/(t.length-i+2*c);return a=r(f+h*c,h),l&&a.reverse(),o=h*(1-i),n={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){2>arguments.length&&(i=0),3>arguments.length&&(c=i);var l=u[1]<u[0],f=u[l-0],s=u[1-l],h=Math.floor((s-f)/(t.length-i+2*c)),g=s-f-(t.length-i)*h;return a=r(f+Math.round(g/2),h),l&&a.reverse(),o=Math.round(h*(1-i)),n={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Rn(n.a[0])},e.copy=function(){return ee(t,n)},e.domain(t)}function re(t,n){function e(){var e=0,i=n.length;for(u=[];i>++e;)u[e-1]=qi.quantile(t,e/i);return r}function r(t){return isNaN(t=+t)?0/0:n[qi.bisect(u,t)]}var u;return r.domain=function(n){return arguments.length?(t=n.filter(function(t){return!isNaN(t)}).sort(qi.ascending),e()):t},r.range=function(t){return arguments.length?(n=t,e()):n},r.quantiles=function(){return u},r.copy=function(){return re(t,n)},e()}function ue(t,n,e){function r(n){return e[Math.max(0,Math.min(a,Math.floor(i*(n-t))))]}function u(){return i=e.length/(n-t),a=e.length-1,r}var i,a;return r.domain=function(e){return arguments.length?(t=+e[0],n=+e[e.length-1],u()):[t,n]},r.range=function(t){return arguments.length?(e=t,u()):e},r.copy=function(){return ue(t,n,e)},u()}function ie(t,n){function e(e){return n[qi.bisect(t,e)]}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.copy=function(){return ie(t,n)},e}function ae(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Bn(t,n)},n.tickFormat=function(n){return $n(t,n)},n.copy=function(){return ae(t)},n}function oe(t){return t.innerRadius}function ce(t){return t.outerRadius}function le(t){return t.startAngle}function fe(t){return t.endAngle}function se(t){function n(n){function a(){f.push("M",i(t(s),l))}for(var o,f=[],s=[],h=-1,g=n.length,p=c(e),d=c(r);g>++h;)u.call(this,o=n[h],h)?s.push([+p.call(this,o,h),+d.call(this,o,h)]):s.length&&(a(),s=[]);return s.length&&a(),f.length?f.join(""):null}var e=he,r=ge,u=o,i=pe,a=i.key,l=.7;return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n.defined=function(t){return arguments.length?(u=t,n):u},n.interpolate=function(t){return arguments.length?(a="function"==typeof t?i=t:(i=Oa.get(t)||pe).key,n):a},n.tension=function(t){return arguments.length?(l=t,n):l},n}function he(t){return t[0]}function ge(t){return t[1]}function pe(t){return t.join("L")}function de(t){return pe(t)+"Z"}function me(t){for(var n=0,e=t.length,r=t[0],u=[r[0],",",r[1]];e>++n;)u.push("V",(r=t[n])[1],"H",r[0]);return u.join("")}function ve(t){for(var n=0,e=t.length,r=t[0],u=[r[0],",",r[1]];e>++n;)u.push("H",(r=t[n])[0],"V",r[1]);return u.join("")}function ye(t,n){return 4>t.length?pe(t):t[1]+xe(t.slice(1,t.length-1),_e(t,n))}function Me(t,n){return 3>t.length?pe(t):t[0]+xe((t.push(t[0]),t),_e([t[t.length-2]].concat(t,[t[1]]),n))}function be(t,n){return 3>t.length?pe(t):t[0]+xe(t,_e(t,n))}function xe(t,n){if(1>n.length||t.length!=n.length&&t.length!=n.length+2)return pe(t);var e=t.length!=n.length,r="",u=t[0],i=t[1],a=n[0],o=a,c=1;if(e&&(r+="Q"+(i[0]-2*a[0]/3)+","+(i[1]-2*a[1]/3)+","+i[0]+","+i[1],u=t[1],c=2),n.length>1){o=n[1],i=t[c],c++,r+="C"+(u[0]+a[0])+","+(u[1]+a[1])+","+(i[0]-o[0])+","+(i[1]-o[1])+","+i[0]+","+i[1];for(var l=2;n.length>l;l++,c++)i=t[c],o=n[l],r+="S"+(i[0]-o[0])+","+(i[1]-o[1])+","+i[0]+","+i[1]}if(e){var f=t[c];r+="Q"+(i[0]+2*o[0]/3)+","+(i[1]+2*o[1]/3)+","+f[0]+","+f[1]}return r}function _e(t,n){for(var e,r=[],u=(1-n)/2,i=t[0],a=t[1],o=1,c=t.length;c>++o;)e=i,i=a,a=t[o],r.push([u*(a[0]-e[0]),u*(a[1]-e[1])]);return r}function we(t){if(3>t.length)return pe(t);var n=1,e=t.length,r=t[0],u=r[0],i=r[1],a=[u,u,u,(r=t[1])[0]],o=[i,i,i,r[1]],c=[u,",",i];for(Ne(c,a,o);e>++n;)r=t[n],a.shift(),a.push(r[0]),o.shift(),o.push(r[1]),Ne(c,a,o);for(n=-1;2>++n;)a.shift(),a.push(r[0]),o.shift(),o.push(r[1]),Ne(c,a,o);return c.join("")}function Se(t){if(4>t.length)return pe(t);for(var n,e=[],r=-1,u=t.length,i=[0],a=[0];3>++r;)n=t[r],i.push(n[0]),a.push(n[1]);for(e.push(Ae(Ia,i)+","+Ae(Ia,a)),--r;u>++r;)n=t[r],i.shift(),i.push(n[0]),a.shift(),a.push(n[1]),Ne(e,i,a);return e.join("")}function ke(t){for(var n,e,r=-1,u=t.length,i=u+4,a=[],o=[];4>++r;)e=t[r%u],a.push(e[0]),o.push(e[1]);for(n=[Ae(Ia,a),",",Ae(Ia,o)],--r;i>++r;)e=t[r%u],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ne(n,a,o);return n.join("")}function Ee(t,n){var e=t.length-1;if(e)for(var r,u,i=t[0][0],a=t[0][1],o=t[e][0]-i,c=t[e][1]-a,l=-1;e>=++l;)r=t[l],u=l/e,r[0]=n*r[0]+(1-n)*(i+u*o),r[1]=n*r[1]+(1-n)*(a+u*c);return we(t)}function Ae(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function Ne(t,n,e){t.push("C",Ae(Ya,n),",",Ae(Ya,e),",",Ae(Ua,n),",",Ae(Ua,e),",",Ae(Ia,n),",",Ae(Ia,e))}function Te(t,n){return(n[1]-t[1])/(n[0]-t[0])}function qe(t){for(var n=0,e=t.length-1,r=[],u=t[0],i=t[1],a=r[0]=Te(u,i);e>++n;)r[n]=(a+(a=Te(u=i,i=t[n+1])))/2;return r[n]=a,r}function Ce(t){for(var n,e,r,u,i=[],a=qe(t),o=-1,c=t.length-1;c>++o;)n=Te(t[o],t[o+1]),1e-6>Math.abs(n)?a[o]=a[o+1]=0:(e=a[o]/n,r=a[o+1]/n,u=e*e+r*r,u>9&&(u=3*n/Math.sqrt(u),a[o]=u*e,a[o+1]=u*r));for(o=-1;c>=++o;)u=(t[Math.min(c,o+1)][0]-t[Math.max(0,o-1)][0])/(6*(1+a[o]*a[o])),i.push([u||0,a[o]*u||0]);return i}function ze(t){return 3>t.length?pe(t):t[0]+xe(t,Ce(t))}function De(t){for(var n,e,r,u=-1,i=t.length;i>++u;)n=t[u],e=n[0],r=n[1]+Pa,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function Le(t){function n(n){function o(){m.push("M",l(t(y),g),h,s(t(v.reverse()),g),"Z")}for(var f,p,d,m=[],v=[],y=[],M=-1,b=n.length,x=c(e),_=c(u),w=e===r?function(){return p}:c(r),S=u===i?function(){return d}:c(i);b>++M;)a.call(this,f=n[M],M)?(v.push([p=+x.call(this,f,M),d=+_.call(this,f,M)]),y.push([+w.call(this,f,M),+S.call(this,f,M)])):v.length&&(o(),v=[],y=[]);return v.length&&o(),m.length?m.join(""):null}var e=he,r=he,u=0,i=ge,a=o,l=pe,f=l.key,s=l,h="L",g=.7;return n.x=function(t){return arguments.length?(e=r=t,n):r},n.x0=function(t){return arguments.length?(e=t,n):e},n.x1=function(t){return arguments.length?(r=t,n):r},n.y=function(t){return arguments.length?(u=i=t,n):i},n.y0=function(t){return arguments.length?(u=t,n):u},n.y1=function(t){return arguments.length?(i=t,n):i},n.defined=function(t){return arguments.length?(a=t,n):a},n.interpolate=function(t){return arguments.length?(f="function"==typeof t?l=t:(l=Oa.get(t)||pe).key,s=l.reverse||l,h=l.closed?"M":"L",n):f},n.tension=function(t){return arguments.length?(g=t,n):g},n}function Fe(t){return t.radius}function He(t){return[t.x,t.y]}function je(t){return function(){var n=t.apply(this,arguments),e=n[0],r=n[1]+Pa;return[e*Math.cos(r),e*Math.sin(r)]}}function Pe(){return 64}function Re(){return"circle"}function Oe(t){var n=Math.sqrt(t/Ni);return"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z"}function Ye(t,n){t.attr("transform",function(t){return"translate("+n(t)+",0)"})}function Ue(t,n){t.attr("transform",function(t){return"translate(0,"+n(t)+")"})}function Ie(t,n,e){if(r=[],e&&n.length>1){for(var r,u,i,a=Rn(t.domain()),o=-1,c=n.length,l=(n[1]-n[0])/++e;c>++o;)for(u=e;--u>0;)(i=+n[o]-u*l)>=a[0]&&r.push(i);for(--o,u=0;e>++u&&(i=+n[o]+u*l)<a[1];)r.push(i)}return r}function Ve(t){for(var n=t.source,e=t.target,r=Ze(n,e),u=[n];n!==r;)n=n.parent,u.push(n);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Xe(t){for(var n=[],e=t.parent;null!=e;)n.push(t),t=e,e=e.parent;return n.push(t),n}function Ze(t,n){if(t===n)return t;for(var e=Xe(t),r=Xe(n),u=e.pop(),i=r.pop(),a=null;u===i;)a=u,u=e.pop(),i=r.pop();return a}function Be(t){t.fixed|=2}function $e(t){t.fixed&=-7}function Je(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Ge(t){t.fixed&=-5}function Ke(t,n,e){var r=0,u=0;if(t.charge=0,!t.leaf)for(var i,a=t.nodes,o=a.length,c=-1;o>++c;)i=a[c],null!=i&&(Ke(i,n,e),t.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=n*e[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,u+=l*t.point.y}t.cx=r/t.charge,t.cy=u/t.charge}function We(t){return t.x}function Qe(t){return t.y}function tr(t,n,e){t.y0=n,t.y=e}function nr(t){return qi.range(t.length)}function er(t){for(var n=-1,e=t[0].length,r=[];e>++n;)r[n]=0;return r}function rr(t){for(var n,e=1,r=0,u=t[0][1],i=t.length;i>e;++e)(n=t[e][1])>u&&(r=e,u=n);return r}function ur(t){return t.reduce(ir,0)}function ir(t,n){return t+n[1]}function ar(t,n){return or(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function or(t,n){for(var e=-1,r=+t[0],u=(t[1]-r)/n,i=[];n>=++e;)i[e]=u*e+r;return i}function cr(t){return[qi.min(t),qi.max(t)]}function lr(t,n){return qi.rebind(t,n,"sort","children","value"),t.nodes=t,t.links=gr,t}function fr(t){return t.children}function sr(t){return t.value}function hr(t,n){return n.value-t.value}function gr(t){return qi.merge(t.map(function(t){return(t.children||[]).map(function(n){return{source:t,target:n}})}))}function pr(t,n){return t.value-n.value}function dr(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function mr(t,n){t._pack_next=n,n._pack_prev=t}function vr(t,n){var e=n.x-t.x,r=n.y-t.y,u=t.r+n.r;return u*u-e*e-r*r>.001}function yr(t){function n(t){f=Math.min(t.x-t.r,f),s=Math.max(t.x+t.r,s),h=Math.min(t.y-t.r,h),g=Math.max(t.y+t.r,g)}if((e=t.children)&&(l=e.length)){var e,r,u,i,a,o,c,l,f=1/0,s=-1/0,h=1/0,g=-1/0;if(e.forEach(Mr),r=e[0],r.x=-r.r,r.y=0,n(r),l>1&&(u=e[1],u.x=u.r,u.y=0,n(u),l>2))for(i=e[2],_r(r,u,i),n(i),dr(r,i),r._pack_prev=i,dr(i,u),u=r._pack_next,a=3;l>a;a++){_r(r,u,i=e[a]);var p=0,d=1,m=1;for(o=u._pack_next;o!==u;o=o._pack_next,d++)if(vr(o,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==o._pack_prev&&!vr(c,i);c=c._pack_prev,m++);p?(m>d||d==m&&u.r<r.r?mr(r,u=o):mr(r=c,u),a--):(dr(r,i),u=i,n(i))}var v=(f+s)/2,y=(h+g)/2,M=0;for(a=0;l>a;a++)i=e[a],i.x-=v,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=M,e.forEach(br)}}function Mr(t){t._pack_next=t._pack_prev=t}function br(t){delete t._pack_next,delete t._pack_prev}function xr(t,n,e,r){var u=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,u)for(var i=-1,a=u.length;a>++i;)xr(u[i],n,e,r)}function _r(t,n,e){var r=t.r+e.r,u=n.x-t.x,i=n.y-t.y;if(r&&(u||i)){var a=n.r+e.r,o=u*u+i*i;a*=a,r*=r;var c=.5+(r-a)/(2*o),l=Math.sqrt(Math.max(0,2*a*(r+o)-(r-=o)*r-a*a))/(2*o);e.x=t.x+c*u+l*i,e.y=t.y+c*i-l*u}else e.x=t.x+r,e.y=t.y}function wr(t){return 1+qi.max(t,function(t){return t.y})}function Sr(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function kr(t){var n=t.children;return n&&n.length?kr(n[0]):t}function Er(t){var n,e=t.children;return e&&(n=e.length)?Er(e[n-1]):t}function Ar(t,n){return t.parent==n.parent?1:2}function Nr(t){var n=t.children;return n&&n.length?n[0]:t._tree.thread}function Tr(t){var n,e=t.children;return e&&(n=e.length)?e[n-1]:t._tree.thread}function qr(t,n){var e=t.children;if(e&&(u=e.length))for(var r,u,i=-1;u>++i;)n(r=qr(e[i],n),t)>0&&(t=r);return t}function Cr(t,n){return t.x-n.x}function zr(t,n){return n.x-t.x}function Dr(t,n){return t.depth-n.depth}function Lr(t,n){function e(t,r){var u=t.children;if(u&&(a=u.length))for(var i,a,o=null,c=-1;a>++c;)i=u[c],e(i,o),o=i;n(t,r)}e(t,null)}function Fr(t){for(var n,e=0,r=0,u=t.children,i=u.length;--i>=0;)n=u[i]._tree,n.prelim+=e,n.mod+=e,e+=n.shift+(r+=n.change)}function Hr(t,n,e){t=t._tree,n=n._tree;var r=e/(n.number-t.number);t.change+=r,n.change-=r,n.shift+=e,n.prelim+=e,n.mod+=e}function jr(t,n,e){return t._tree.ancestor.parent==n.parent?t._tree.ancestor:e}function Pr(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Rr(t,n){var e=t.x+n[3],r=t.y+n[0],u=t.dx-n[1]-n[3],i=t.dy-n[0]-n[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 Or(t,n){function e(t,e){return qi.xhr(t,n,e).response(r)}function r(t){return e.parse(t.responseText)}function u(n){return n.map(i).join(t)}function i(t){return a.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var a=RegExp('["'+t+"\n]"),o=t.charCodeAt(0);return e.parse=function(t){var n;return e.parseRows(t,function(t){return n?n(t):(n=Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}"),void 0)})},e.parseRows=function(t,n){function e(){if(f>=l)return a;if(u)return u=!1,i;var n=f;if(34===t.charCodeAt(n)){for(var e=n;l>e++;)if(34===t.charCodeAt(e)){if(34!==t.charCodeAt(e+1))break;++e}f=e+2;var r=t.charCodeAt(e+1);return 13===r?(u=!0,10===t.charCodeAt(e+2)&&++f):10===r&&(u=!0),t.substring(n+1,e).replace(/""/g,'"')}for(;l>f;){var r=t.charCodeAt(f++),c=1;if(10===r)u=!0;else if(13===r)u=!0,10===t.charCodeAt(f)&&(++f,++c);else if(r!==o)continue;return t.substring(n,f-c)}return t.substring(n)}for(var r,u,i={},a={},c=[],l=t.length,f=0,s=0;(r=e())!==a;){for(var h=[];r!==i&&r!==a;)h.push(r),r=e();(!n||(h=n(h,s++)))&&c.push(h)}return c},e.format=function(t){return t.map(u).join("\n")},e}function Yr(t,n){ao.hasOwnProperty(t.type)&&ao[t.type](t,n)}function Ur(t,n,e){var r,u=-1,i=t.length-e;for(n.lineStart();i>++u;)r=t[u],n.point(r[0],r[1]);n.lineEnd()}function Ir(t,n){var e=-1,r=t.length;for(n.polygonStart();r>++e;)Ur(t[e],n,1);n.polygonEnd()}function Vr(t){return[Math.atan2(t[1],t[0]),Math.asin(Math.max(-1,Math.min(1,t[2])))]}function Xr(t,n){return Ti>Math.abs(t[0]-n[0])&&Ti>Math.abs(t[1]-n[1])}function Zr(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function Br(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function $r(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Jr(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Gr(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Kr(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function Wr(t){function n(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){f=0/0,d.point=a,n.lineStart()}function a(r,i){var a=Zr([r,i]),o=t(r,i);e(f,s,l,h,g,p,f=o[0],s=o[1],l=r,h=a[0],g=a[1],p=a[2],u,n),n.point(f,s)}function o(){d.point=r,n.lineEnd()}function c(){var t,r,c,m,v,y,M;i(),d.point=function(n,e){a(t=n,r=e),c=f,m=s,v=h,y=g,M=p,d.point=a},d.lineEnd=function(){e(f,s,l,h,g,p,c,m,t,v,y,M,u,n),d.lineEnd=o,o()}}var l,f,s,h,g,p,d={point:r,lineStart:i,lineEnd:o,polygonStart:function(){n.polygonStart(),d.lineStart=c},polygonEnd:function(){n.polygonEnd(),d.lineStart=i}};return d}function e(n,u,i,a,o,c,l,f,s,h,g,p,d,m){var v=l-n,y=f-u,M=v*v+y*y;if(M>4*r&&d--){var b=a+h,x=o+g,_=c+p,w=Math.sqrt(b*b+x*x+_*_),S=Math.asin(_/=w),k=Ti>Math.abs(Math.abs(_)-1)?(i+s)/2:Math.atan2(x,b),E=t(k,S),A=E[0],N=E[1],T=A-n,q=N-u,C=y*T-v*q;(C*C/M>r||Math.abs((v*T+y*q)/M-.5)>.3)&&(e(n,u,i,a,o,c,A,N,k,b/=w,x/=w,_,d,m),m.point(A,N),e(A,N,k,b,x,_,l,f,s,h,g,p,d,m))}}var r=.5,u=16;return n.precision=function(t){return arguments.length?(u=(r=t*t)>0&&16,n):Math.sqrt(r)},n}function Qr(t,n){function e(t,n){var e=Math.sqrt(i-2*u*Math.sin(n))/u;return[e*Math.sin(t*=u),a-e*Math.cos(t)]}var r=Math.sin(t),u=(r+Math.sin(n))/2,i=1+r*(2*u-r),a=Math.sqrt(i)/u;return e.invert=function(t,n){var e=a-n;return[Math.atan2(t,e)/u,Math.asin((i-(t*t+e*e)*u*u)/(2*u))]},e}function tu(t){function n(t,n){r>t&&(r=t),t>i&&(i=t),u>n&&(u=n),n>a&&(a=n)}function e(){o.point=o.lineEnd=Pn}var r,u,i,a,o={point:n,lineStart:Pn,lineEnd:Pn,polygonStart:function(){o.lineEnd=e},polygonEnd:function(){o.point=n}};return function(n){return a=i=-(r=u=1/0),qi.geo.stream(n,t(o)),[[r,u],[i,a]]}}function nu(t,n){if(!lo){++fo,t*=Ci;var e=Math.cos(n*=Ci);so+=(e*Math.cos(t)-so)/fo,ho+=(e*Math.sin(t)-ho)/fo,go+=(Math.sin(n)-go)/fo}}function eu(){var t,n;lo=1,ru(),lo=2;var e=po.point;po.point=function(r,u){e(t=r,n=u)},po.lineEnd=function(){po.point(t,n),uu(),po.lineEnd=uu}}function ru(){function t(t,u){t*=Ci;var i=Math.cos(u*=Ci),a=i*Math.cos(t),o=i*Math.sin(t),c=Math.sin(u),l=Math.atan2(Math.sqrt((l=e*c-r*o)*l+(l=r*a-n*c)*l+(l=n*o-e*a)*l),n*a+e*o+r*c);fo+=l,so+=l*(n+(n=a)),ho+=l*(e+(e=o)),go+=l*(r+(r=c))}var n,e,r;lo>1||(1>lo&&(lo=1,fo=so=ho=go=0),po.point=function(u,i){u*=Ci;var a=Math.cos(i*=Ci);n=a*Math.cos(u),e=a*Math.sin(u),r=Math.sin(i),po.point=t})}function uu(){po.point=nu}function iu(t,n){var e=Math.cos(t),r=Math.sin(t);return function(u,i,a,o){null!=u?(u=au(e,u),i=au(e,i),(a>0?i>u:u>i)&&(u+=2*a*Ni)):(u=t+2*a*Ni,i=t);for(var c,l=a*n,f=u;a>0?f>i:i>f;f-=l)o.point((c=Vr([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function au(t,n){var e=Zr(n);e[0]-=t,Kr(e);var r=Math.acos(Math.max(-1,Math.min(1,-e[1])));return((0>-e[2]?-r:r)+2*Math.PI-Ti)%(2*Math.PI)}function ou(t,n,e){return function(r){function u(n,e){t(n,e)&&r.point(n,e)}function i(t,n){m.point(t,n)}function a(){v.point=i,m.lineStart()}function o(){v.point=u,m.lineEnd()}function c(t,n){M.point(t,n),d.push([t,n])}function l(){M.lineStart(),d=[]}function f(){c(d[0][0],d[0][1]),M.lineEnd();var t,n=M.clean(),e=y.buffer(),u=e.length;if(!u)return p=!0,g+=gu(d,-1),d=null,void 0;if(d=null,1&n){t=e[0],h+=gu(t,1);var i,u=t.length-1,a=-1;for(r.lineStart();u>++a;)r.point((i=t[a])[0],i[1]);return r.lineEnd(),void 0}u>1&&2&n&&e.push(e.pop().concat(e.shift())),s.push(e.filter(su))}var s,h,g,p,d,m=n(r),v={point:u,lineStart:a,lineEnd:o,polygonStart:function(){v.point=c,v.lineStart=l,v.lineEnd=f,p=!1,g=h=0,s=[],r.polygonStart()},polygonEnd:function(){v.point=u,v.lineStart=a,v.lineEnd=o,s=qi.merge(s),s.length?cu(s,e,r):(-Ti>h||p&&-Ti>g)&&(r.lineStart(),e(null,null,1,r),r.lineEnd()),r.polygonEnd(),s=null},sphere:function(){r.polygonStart(),r.lineStart(),e(null,null,1,r),r.lineEnd(),r.polygonEnd()}},y=hu(),M=n(y);return v}}function cu(t,n,e){var r=[],u=[];if(t.forEach(function(t){var n=t.length;if(!(1>=n)){var e=t[0],i=t[n-1],a={point:e,points:t,other:null,visited:!1,entry:!0,subject:!0},o={point:e,points:[e],other:a,visited:!1,entry:!1,subject:!1};
-a.other=o,r.push(a),u.push(o),a={point:i,points:[i],other:null,visited:!1,entry:!1,subject:!0},o={point:i,points:[i],other:a,visited:!1,entry:!0,subject:!1},a.other=o,r.push(a),u.push(o)}}),u.sort(fu),lu(r),lu(u),r.length)for(var i,a,o,c=r[0];;){for(i=c;i.visited;)if((i=i.next)===c)return;a=i.points,e.lineStart();do{if(i.visited=i.other.visited=!0,i.entry){if(i.subject)for(var l=0;a.length>l;l++)e.point((o=a[l])[0],o[1]);else n(i.point,i.next.point,1,e);i=i.next}else{if(i.subject){a=i.prev.points;for(var l=a.length;--l>=0;)e.point((o=a[l])[0],o[1])}else n(i.point,i.prev.point,-1,e);i=i.prev}i=i.other,a=i.points}while(!i.visited);e.lineEnd()}}function lu(t){if(n=t.length){for(var n,e,r=0,u=t[0];n>++r;)u.next=e=t[r],e.prev=u,u=e;u.next=e=t[0],e.prev=u}}function fu(t,n){return(0>(t=t.point)[0]?t[1]-Ni/2-Ti:Ni/2-t[1])-(0>(n=n.point)[0]?n[1]-Ni/2-Ti:Ni/2-n[1])}function su(t){return t.length>1}function hu(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:Pn,buffer:function(){var e=n;return n=[],t=null,e}}}function gu(t,n){if(!(e=t.length))return 0;for(var e,r,u,i=0,a=0,o=t[0],c=o[0],l=o[1],f=Math.cos(l),s=Math.atan2(n*Math.sin(c)*f,Math.sin(l)),h=1-n*Math.cos(c)*f,g=s;e>++i;)o=t[i],f=Math.cos(l=o[1]),r=Math.atan2(n*Math.sin(c=o[0])*f,Math.sin(l)),u=1-n*Math.cos(c)*f,Ti>Math.abs(h-2)&&Ti>Math.abs(u-2)||(Ti>Math.abs(u)||Ti>Math.abs(h)||(Ti>Math.abs(Math.abs(r-s)-Ni)?u+h>2&&(a+=4*(r-s)):a+=Ti>Math.abs(h-2)?4*(r-g):((3*Ni+r-s)%(2*Ni)-Ni)*(h+u)),g=s,s=r,h=u);return a}function pu(t){var n,e=0/0,r=0/0,u=0/0;return{lineStart:function(){t.lineStart(),n=1},point:function(i,a){var o=i>0?Ni:-Ni,c=Math.abs(i-e);Ti>Math.abs(c-Ni)?(t.point(e,r=(r+a)/2>0?Ni/2:-Ni/2),t.point(u,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(i,r),n=0):u!==o&&c>=Ni&&(Ti>Math.abs(e-u)&&(e-=u*Ti),Ti>Math.abs(i-o)&&(i-=o*Ti),r=du(e,r,i,a),t.point(u,r),t.lineEnd(),t.lineStart(),t.point(o,r),n=0),t.point(e=i,r=a),u=o},lineEnd:function(){t.lineEnd(),e=r=0/0},clean:function(){return 2-n}}}function du(t,n,e,r){var u,i,a=Math.sin(t-e);return Math.abs(a)>Ti?Math.atan((Math.sin(n)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(n))*Math.sin(t))/(u*i*a)):(n+r)/2}function mu(t,n,e,r){var u;if(null==t)u=e*Ni/2,r.point(-Ni,u),r.point(0,u),r.point(Ni,u),r.point(Ni,0),r.point(Ni,-u),r.point(0,-u),r.point(-Ni,-u),r.point(-Ni,0),r.point(-Ni,u);else if(Math.abs(t[0]-n[0])>Ti){var i=(t[0]<n[0]?1:-1)*Ni;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(n[0],n[1])}function vu(t){function n(t,n){return Math.cos(t)*Math.cos(n)>i}function e(t){var e,u,i,a;return{lineStart:function(){i=u=!1,a=1},point:function(o,c){var l,f=[o,c],s=n(o,c);!e&&(i=u=s)&&t.lineStart(),s!==u&&(l=r(e,f),(Xr(e,l)||Xr(f,l))&&(f[0]+=Ti,f[1]+=Ti,s=n(f[0],f[1]))),s!==u&&(a=0,(u=s)?(t.lineStart(),l=r(f,e),t.point(l[0],l[1])):(l=r(e,f),t.point(l[0],l[1]),t.lineEnd()),e=l),!s||e&&Xr(e,f)||t.point(f[0],f[1]),e=f},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return a|(i&&u)<<1}}}function r(t,n){var e=Zr(t,0),r=Zr(n,0),u=[1,0,0],a=$r(e,r),o=Br(a,a),c=a[0],l=o-c*c;if(!l)return t;var f=i*o/l,s=-i*c/l,h=$r(u,a),g=Gr(u,f),p=Gr(a,s);Jr(g,p);var d=h,m=Br(g,d),v=Br(d,d),y=Math.sqrt(m*m-v*(Br(g,g)-1)),M=Gr(d,(-m-y)/v);return Jr(M,g),Vr(M)}var u=t*Ci,i=Math.cos(u),a=iu(u,6*Ci);return ou(n,e,a)}function yu(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Mu(t,n){return[t,n]}function bu(t,n,e){var r=qi.range(t,n-Ti,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function xu(t,n,e){var r=qi.range(t,n-Ti,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function _u(t,n,e,r){function u(t){var n=Math.sin(t*=g)*p,e=Math.sin(g-t)*p,r=e*l+n*s,u=e*f+n*h,i=e*a+n*c;return[Math.atan2(u,r)/Ci,Math.atan2(i,Math.sqrt(r*r+u*u))/Ci]}var i=Math.cos(n),a=Math.sin(n),o=Math.cos(r),c=Math.sin(r),l=i*Math.cos(t),f=i*Math.sin(t),s=o*Math.cos(e),h=o*Math.sin(e),g=Math.acos(Math.max(-1,Math.min(1,a*c+i*o*Math.cos(e-t)))),p=1/Math.sin(g);return u.distance=g,u}function wu(t,n){return[t/(2*Ni),Math.max(-.5,Math.min(.5,Math.log(Math.tan(Ni/4+n/2))/(2*Ni)))]}function Su(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function ku(t){var n=Wr(function(n,e){return t([n*zi,e*zi])});return function(t){return t=n(t),{point:function(n,e){t.point(n*Ci,e*Ci)},sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}}function Eu(){function t(t,n){a.push("M",t,",",n,i)}function n(t,n){a.push("M",t,",",n),o.point=e}function e(t,n){a.push("L",t,",",n)}function r(){o.point=t}function u(){a.push("Z")}var i=Su(4.5),a=[],o={point:t,lineStart:function(){o.point=n},lineEnd:r,polygonStart:function(){o.lineEnd=u},polygonEnd:function(){o.lineEnd=r,o.point=t},pointRadius:function(t){return i=Su(t),o},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return o}function Au(t){function n(n,e){t.moveTo(n,e),t.arc(n,e,a,0,2*Ni)}function e(n,e){t.moveTo(n,e),o.point=r}function r(n,e){t.lineTo(n,e)}function u(){o.point=n}function i(){t.closePath()}var a=4.5,o={point:n,lineStart:function(){o.point=e},lineEnd:u,polygonStart:function(){o.lineEnd=i},polygonEnd:function(){o.lineEnd=u,o.point=n},pointRadius:function(t){return a=t,o},result:Pn};return o}function Nu(){function t(t,n){bo+=u*t-r*n,r=t,u=n}var n,e,r,u;xo.point=function(i,a){xo.point=t,n=r=i,e=u=a},xo.lineEnd=function(){t(n,e)}}function Tu(t,n){lo||(so+=t,ho+=n,++go)}function qu(){function t(t,r){var u=t-n,i=r-e,a=Math.sqrt(u*u+i*i);so+=a*(n+t)/2,ho+=a*(e+r)/2,go+=a,n=t,e=r}var n,e;if(1!==lo){if(!(1>lo))return;lo=1,so=ho=go=0}_o.point=function(r,u){_o.point=t,n=r,e=u}}function Cu(){_o.point=Tu}function zu(){function t(t,n){var e=u*t-r*n;so+=e*(r+t),ho+=e*(u+n),go+=3*e,r=t,u=n}var n,e,r,u;2>lo&&(lo=2,so=ho=go=0),_o.point=function(i,a){_o.point=t,n=r=i,e=u=a},_o.lineEnd=function(){t(n,e)}}function Du(){function t(t,n){t*=Ci,n=n*Ci/2+Ni/4;var e=t-r,a=Math.cos(n),o=Math.sin(n),c=i*o,l=So,f=ko,s=u*a+c*Math.cos(e),h=c*Math.sin(e);So=l*s-f*h,ko=f*s+l*h,r=t,u=a,i=o}var n,e,r,u,i;Eo.point=function(a,o){Eo.point=t,r=(n=a)*Ci,u=Math.cos(o=(e=o)*Ci/2+Ni/4),i=Math.sin(o)},Eo.lineEnd=function(){t(n,e)}}function Lu(t){return Fu(function(){return t})()}function Fu(t){function n(t){return t=a(t[0]*Ci,t[1]*Ci),[t[0]*f+o,c-t[1]*f]}function e(t){return t=a.invert((t[0]-o)/f,(c-t[1])/f),t&&[t[0]*zi,t[1]*zi]}function r(){a=yu(i=ju(d,m,v),u);var t=u(g,p);return o=s-t[0]*f,c=h+t[1]*f,n}var u,i,a,o,c,l=Wr(function(t,n){return t=u(t,n),[t[0]*f+o,c-t[1]*f]}),f=150,s=480,h=250,g=0,p=0,d=0,m=0,v=0,y=mo,M=null;return n.stream=function(t){return Hu(i,y(l(t)))},n.clipAngle=function(t){return arguments.length?(y=null==t?(M=t,mo):vu(M=+t),n):M},n.scale=function(t){return arguments.length?(f=+t,r()):f},n.translate=function(t){return arguments.length?(s=+t[0],h=+t[1],r()):[s,h]},n.center=function(t){return arguments.length?(g=t[0]%360*Ci,p=t[1]%360*Ci,r()):[g*zi,p*zi]},n.rotate=function(t){return arguments.length?(d=t[0]%360*Ci,m=t[1]%360*Ci,v=t.length>2?t[2]%360*Ci:0,r()):[d*zi,m*zi,v*zi]},qi.rebind(n,l,"precision"),function(){return u=t.apply(this,arguments),n.invert=u.invert&&e,r()}}function Hu(t,n){return{point:function(e,r){r=t(e*Ci,r*Ci),e=r[0],n.point(e>Ni?e-2*Ni:-Ni>e?e+2*Ni:e,r[1])},sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ju(t,n,e){return t?n||e?yu(Ru(t),Ou(n,e)):Ru(t):n||e?Ou(n,e):Mu}function Pu(t){return function(n,e){return n+=t,[n>Ni?n-2*Ni:-Ni>n?n+2*Ni:n,e]}}function Ru(t){var n=Pu(t);return n.invert=Pu(-t),n}function Ou(t,n){function e(t,n){var e=Math.cos(n),o=Math.cos(t)*e,c=Math.sin(t)*e,l=Math.sin(n),f=l*r+o*u;return[Math.atan2(c*i-f*a,o*r-l*u),Math.asin(Math.max(-1,Math.min(1,f*i+c*a)))]}var r=Math.cos(t),u=Math.sin(t),i=Math.cos(n),a=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),o=Math.cos(t)*e,c=Math.sin(t)*e,l=Math.sin(n),f=l*i-c*a;return[Math.atan2(c*i+l*a,o*r+f*u),Math.asin(Math.max(-1,Math.min(1,f*r-o*u)))]},e}function Yu(t,n){function e(n,e){var r=Math.cos(n),u=Math.cos(e),i=t(r*u);return[i*u*Math.sin(n),i*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),u=n(r),i=Math.sin(u),a=Math.cos(u);return[Math.atan2(t*i,r*a),Math.asin(r&&e*i/r)]},e}function Uu(t,n,e,r){var u,i,a,o,c,l,f;return u=r[t],i=u[0],a=u[1],u=r[n],o=u[0],c=u[1],u=r[e],l=u[0],f=u[1],(f-a)*(o-i)-(c-a)*(l-i)>0}function Iu(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function Vu(t,n,e,r){var u=t[0],i=e[0],a=n[0]-u,o=r[0]-i,c=t[1],l=e[1],f=n[1]-c,s=r[1]-l,h=(o*(c-l)-s*(u-i))/(s*a-o*f);return[u+h*a,c+h*f]}function Xu(t,n){var e={list:t.map(function(t,n){return{index:n,x:t[0],y:t[1]}}).sort(function(t,n){return t.y<n.y?-1:t.y>n.y?1:t.x<n.x?-1:t.x>n.x?1:0}),bottomSite:null},r={list:[],leftEnd:null,rightEnd:null,init:function(){r.leftEnd=r.createHalfEdge(null,"l"),r.rightEnd=r.createHalfEdge(null,"l"),r.leftEnd.r=r.rightEnd,r.rightEnd.l=r.leftEnd,r.list.unshift(r.leftEnd,r.rightEnd)},createHalfEdge:function(t,n){return{edge:t,side:n,vertex:null,l:null,r:null}},insert:function(t,n){n.l=t,n.r=t.r,t.r.l=n,t.r=n},leftBound:function(t){var n=r.leftEnd;do n=n.r;while(n!=r.rightEnd&&u.rightOf(n,t));return n=n.l},del:function(t){t.l.r=t.r,t.r.l=t.l,t.edge=null},right:function(t){return t.r},left:function(t){return t.l},leftRegion:function(t){return null==t.edge?e.bottomSite:t.edge.region[t.side]},rightRegion:function(t){return null==t.edge?e.bottomSite:t.edge.region[No[t.side]]}},u={bisect:function(t,n){var e={region:{l:t,r:n},ep:{l:null,r:null}},r=n.x-t.x,u=n.y-t.y,i=r>0?r:-r,a=u>0?u:-u;return e.c=t.x*r+t.y*u+.5*(r*r+u*u),i>a?(e.a=1,e.b=u/r,e.c/=r):(e.b=1,e.a=r/u,e.c/=u),e},intersect:function(t,n){var e=t.edge,r=n.edge;if(!e||!r||e.region.r==r.region.r)return null;var u=e.a*r.b-e.b*r.a;if(1e-10>Math.abs(u))return null;var i,a,o=(e.c*r.b-r.c*e.b)/u,c=(r.c*e.a-e.c*r.a)/u,l=e.region.r,f=r.region.r;l.y<f.y||l.y==f.y&&l.x<f.x?(i=t,a=e):(i=n,a=r);var s=o>=a.region.r.x;return s&&"l"===i.side||!s&&"r"===i.side?null:{x:o,y:c}},rightOf:function(t,n){var e=t.edge,r=e.region.r,u=n.x>r.x;if(u&&"l"===t.side)return 1;if(!u&&"r"===t.side)return 0;if(1===e.a){var i=n.y-r.y,a=n.x-r.x,o=0,c=0;if(!u&&0>e.b||u&&e.b>=0?c=o=i>=e.b*a:(c=n.x+n.y*e.b>e.c,0>e.b&&(c=!c),c||(o=1)),!o){var l=r.x-e.region.l.x;c=e.b*(a*a-i*i)<l*i*(1+2*a/l+e.b*e.b),0>e.b&&(c=!c)}}else{var f=e.c-e.a*n.x,s=n.y-f,h=n.x-r.x,g=f-r.y;c=s*s>h*h+g*g}return"l"===t.side?c:!c},endPoint:function(t,e,r){t.ep[e]=r,t.ep[No[e]]&&n(t)},distance:function(t,n){var e=t.x-n.x,r=t.y-n.y;return Math.sqrt(e*e+r*r)}},i={list:[],insert:function(t,n,e){t.vertex=n,t.ystar=n.y+e;for(var r=0,u=i.list,a=u.length;a>r;r++){var o=u[r];if(!(t.ystar>o.ystar||t.ystar==o.ystar&&n.x>o.vertex.x))break}u.splice(r,0,t)},del:function(t){for(var n=0,e=i.list,r=e.length;r>n&&e[n]!=t;++n);e.splice(n,1)},empty:function(){return 0===i.list.length},nextEvent:function(t){for(var n=0,e=i.list,r=e.length;r>n;++n)if(e[n]==t)return e[n+1];return null},min:function(){var t=i.list[0];return{x:t.vertex.x,y:t.ystar}},extractMin:function(){return i.list.shift()}};r.init(),e.bottomSite=e.list.shift();for(var a,o,c,l,f,s,h,g,p,d,m,v,y,M=e.list.shift();;)if(i.empty()||(a=i.min()),M&&(i.empty()||M.y<a.y||M.y==a.y&&M.x<a.x))o=r.leftBound(M),c=r.right(o),h=r.rightRegion(o),v=u.bisect(h,M),s=r.createHalfEdge(v,"l"),r.insert(o,s),d=u.intersect(o,s),d&&(i.del(o),i.insert(o,d,u.distance(d,M))),o=s,s=r.createHalfEdge(v,"r"),r.insert(o,s),d=u.intersect(s,c),d&&i.insert(s,d,u.distance(d,M)),M=e.list.shift();else{if(i.empty())break;o=i.extractMin(),l=r.left(o),c=r.right(o),f=r.right(c),h=r.leftRegion(o),g=r.rightRegion(c),m=o.vertex,u.endPoint(o.edge,o.side,m),u.endPoint(c.edge,c.side,m),r.del(o),i.del(c),r.del(c),y="l",h.y>g.y&&(p=h,h=g,g=p,y="r"),v=u.bisect(h,g),s=r.createHalfEdge(v,y),r.insert(l,s),u.endPoint(v,No[y],m),d=u.intersect(l,s),d&&(i.del(l),i.insert(l,d,u.distance(d,h))),d=u.intersect(s,f),d&&i.insert(s,d,u.distance(d,h))}for(o=r.right(r.leftEnd);o!=r.rightEnd;o=r.right(o))n(o.edge)}function Zu(){return{leaf:!0,nodes:[],point:null}}function Bu(t,n,e,r,u,i){if(!t(n,e,r,u,i)){var a=.5*(e+u),o=.5*(r+i),c=n.nodes;c[0]&&Bu(t,c[0],e,r,a,o),c[1]&&Bu(t,c[1],a,r,u,o),c[2]&&Bu(t,c[2],e,o,a,i),c[3]&&Bu(t,c[3],a,o,u,i)}}function $u(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ju(t,n,e,r){for(var u,i,a=0,o=n.length,c=e.length;o>a;){if(r>=c)return-1;if(u=n.charCodeAt(a++),37===u){if(i=Bo[n.charAt(a++)],!i||0>(r=i(t,e,r)))return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function Gu(t){return RegExp("^(?:"+t.map(qi.requote).join("|")+")","i")}function Ku(t){for(var n=new i,e=-1,r=t.length;r>++e;)n.set(t[e].toLowerCase(),e);return n}function Wu(t,n,e){t+="";var r=t.length;return e>r?Array(e-r+1).join(n)+t:t}function Qu(t,n,e){Oo.lastIndex=0;var r=Oo.exec(n.substring(e));return r?e+=r[0].length:-1}function ti(t,n,e){Ro.lastIndex=0;var r=Ro.exec(n.substring(e));return r?e+=r[0].length:-1}function ni(t,n,e){Io.lastIndex=0;var r=Io.exec(n.substring(e));return r?(t.m=Vo.get(r[0].toLowerCase()),e+=r[0].length):-1}function ei(t,n,e){Yo.lastIndex=0;var r=Yo.exec(n.substring(e));return r?(t.m=Uo.get(r[0].toLowerCase()),e+=r[0].length):-1}function ri(t,n,e){return Ju(t,""+Zo.c,n,e)}function ui(t,n,e){return Ju(t,""+Zo.x,n,e)}function ii(t,n,e){return Ju(t,""+Zo.X,n,e)}function ai(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+4));return r?(t.y=+r[0],e+=r[0].length):-1}function oi(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.y=ci(+r[0]),e+=r[0].length):-1}function ci(t){return t+(t>68?1900:2e3)}function li(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.m=r[0]-1,e+=r[0].length):-1}function fi(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.d=+r[0],e+=r[0].length):-1}function si(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.H=+r[0],e+=r[0].length):-1}function hi(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.M=+r[0],e+=r[0].length):-1}function gi(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+2));return r?(t.S=+r[0],e+=r[0].length):-1}function pi(t,n,e){$o.lastIndex=0;var r=$o.exec(n.substring(e,e+3));return r?(t.L=+r[0],e+=r[0].length):-1}function di(t,n,e){var r=Jo.get(n.substring(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}function mi(t){var n=t.getTimezoneOffset(),e=n>0?"-":"+",r=~~(Math.abs(n)/60),u=Math.abs(n)%60;return e+Wu(r,"0",2)+Wu(u,"0",2)}function vi(t){return t.toISOString()}function yi(t,n,e){function r(n){var e=t(n),r=i(e,1);return r-n>n-e?e:r}function u(e){return n(e=t(new To(e-1)),1),e}function i(t,e){return n(t=new To(+t),e),t}function a(t,r,i){var a=u(t),o=[];if(i>1)for(;r>a;)e(a)%i||o.push(new Date(+a)),n(a,1);else for(;r>a;)o.push(new Date(+a)),n(a,1);return o}function o(t,n,e){try{To=$u;var r=new $u;return r._=t,a(r,n,e)}finally{To=Date}}t.floor=t,t.round=r,t.ceil=u,t.offset=i,t.range=a;var c=t.utc=Mi(t);return c.floor=c,c.round=Mi(r),c.ceil=Mi(u),c.offset=Mi(i),c.range=o,t}function Mi(t){return function(n,e){try{To=$u;var r=new $u;return r._=n,t(r,e)._}finally{To=Date}}}function bi(t,n,e){function r(n){return t(n)}return r.invert=function(n){return _i(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain(n),r):t.domain().map(_i)},r.nice=function(t){return r.domain(Yn(r.domain(),function(){return t}))},r.ticks=function(e,u){var i=xi(r.domain());if("function"!=typeof e){var a=i[1]-i[0],o=a/e,c=qi.bisect(Ko,o);if(c==Ko.length)return n.year(i,e);if(!c)return t.ticks(e).map(_i);Math.log(o/Ko[c-1])<Math.log(Ko[c]/o)&&--c,e=n[c],u=e[1],e=e[0].range}return e(i[0],new Date(+i[1]+1),u)},r.tickFormat=function(){return e},r.copy=function(){return bi(t.copy(),n,e)},qi.rebind(r,t,"range","rangeRound","interpolate","clamp")}function xi(t){var n=t[0],e=t[t.length-1];return e>n?[n,e]:[e,n]}function _i(t){return new Date(t)}function wi(t){return function(n){for(var e=t.length-1,r=t[e];!r[1](n);)r=t[--e];return r[0](n)}}function Si(t){var n=new Date(t,0,1);return n.setFullYear(t),n}function ki(t){var n=t.getFullYear(),e=Si(n),r=Si(n+1);return n+(t-e)/(r-e)}function Ei(t){var n=new Date(Date.UTC(t,0,1));return n.setUTCFullYear(t),n}function Ai(t){var n=t.getUTCFullYear(),e=Ei(n),r=Ei(n+1);return n+(t-e)/(r-e)}var Ni=Math.PI,Ti=1e-6,qi={version:"3.0.6"},Ci=Ni/180,zi=180/Ni,Di=document,Li=window,Fi=".",Hi=",",ji=[3,3];Date.now||(Date.now=function(){return+new Date});try{Di.createElement("div").style.setProperty("opacity",0,"")}catch(Pi){var Ri=Li.CSSStyleDeclaration.prototype,Oi=Ri.setProperty;Ri.setProperty=function(t,n,e){Oi.call(this,t,n+"",e)}}var Yi=u;try{Yi(Di.documentElement.childNodes)[0].nodeType}catch(Ui){Yi=r}var Ii=[].__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]};qi.map=function(t){var n=new i;for(var e in t)n.set(e,t[e]);return n},e(i,{has:function(t){return Vi+t in this},get:function(t){return this[Vi+t]},set:function(t,n){return this[Vi+t]=n},remove:function(t){return t=Vi+t,t in this&&delete this[t]},keys:function(){var t=[];return this.forEach(function(n){t.push(n)}),t},values:function(){var t=[];return this.forEach(function(n,e){t.push(e)}),t},entries:function(){var t=[];return this.forEach(function(n,e){t.push({key:n,value:e})}),t},forEach:function(t){for(var n in this)n.charCodeAt(0)===Xi&&t.call(this,n.substring(1),this[n])}});var Vi="\0",Xi=Vi.charCodeAt(0);qi.functor=c,qi.rebind=function(t,n){for(var e,r=1,u=arguments.length;u>++r;)t[e=arguments[r]]=l(t,n,n[e]);return t},qi.ascending=function(t,n){return n>t?-1:t>n?1:t>=n?0:0/0},qi.descending=function(t,n){return t>n?-1:n>t?1:n>=t?0:0/0},qi.mean=function(t,n){var e,r=t.length,u=0,i=-1,a=0;if(1===arguments.length)for(;r>++i;)f(e=t[i])&&(u+=(e-u)/++a);else for(;r>++i;)f(e=n.call(t,t[i],i))&&(u+=(e-u)/++a);return a?u:void 0},qi.median=function(t,n){return arguments.length>1&&(t=t.map(n)),t=t.filter(f),t.length?qi.quantile(t.sort(qi.ascending),.5):void 0},qi.min=function(t,n){var e,r,u=-1,i=t.length;if(1===arguments.length){for(;i>++u&&(null==(e=t[u])||e!=e);)e=void 0;for(;i>++u;)null!=(r=t[u])&&e>r&&(e=r)}else{for(;i>++u&&(null==(e=n.call(t,t[u],u))||e!=e);)e=void 0;for(;i>++u;)null!=(r=n.call(t,t[u],u))&&e>r&&(e=r)}return e},qi.max=function(t,n){var e,r,u=-1,i=t.length;if(1===arguments.length){for(;i>++u&&(null==(e=t[u])||e!=e);)e=void 0;for(;i>++u;)null!=(r=t[u])&&r>e&&(e=r)}else{for(;i>++u&&(null==(e=n.call(t,t[u],u))||e!=e);)e=void 0;for(;i>++u;)null!=(r=n.call(t,t[u],u))&&r>e&&(e=r)}return e},qi.extent=function(t,n){var e,r,u,i=-1,a=t.length;if(1===arguments.length){for(;a>++i&&(null==(e=u=t[i])||e!=e);)e=u=void 0;for(;a>++i;)null!=(r=t[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;a>++i&&(null==(e=u=n.call(t,t[i],i))||e!=e);)e=void 0;for(;a>++i;)null!=(r=n.call(t,t[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},qi.random={normal:function(t,n){var e=arguments.length;return 2>e&&(n=1),1>e&&(t=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 t+n*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var t=qi.random.normal.apply(qi,arguments);return function(){return Math.exp(t())}},irwinHall:function(t){return function(){for(var n=0,e=0;t>e;e++)n+=Math.random();return n/t}}},qi.sum=function(t,n){var e,r=0,u=t.length,i=-1;if(1===arguments.length)for(;u>++i;)isNaN(e=+t[i])||(r+=e);else for(;u>++i;)isNaN(e=+n.call(t,t[i],i))||(r+=e);return r},qi.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),u=+t[r-1],i=e-r;return i?u+i*(t[r]-u):u},qi.shuffle=function(t){for(var n,e,r=t.length;r;)e=0|Math.random()*r--,n=t[r],t[r]=t[e],t[e]=n;return t},qi.transpose=function(t){return qi.zip.apply(qi,t)},qi.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,n=qi.min(arguments,s),e=Array(n);n>++t;)for(var r,u=-1,i=e[t]=Array(r);r>++u;)i[u]=arguments[u][t];return e},qi.bisector=function(t){return{left:function(n,e,r,u){for(3>arguments.length&&(r=0),4>arguments.length&&(u=n.length);u>r;){var i=r+u>>>1;e>t.call(n,n[i],i)?r=i+1:u=i}return r},right:function(n,e,r,u){for(3>arguments.length&&(r=0),4>arguments.length&&(u=n.length);u>r;){var i=r+u>>>1;t.call(n,n[i],i)>e?u=i:r=i+1}return r}}};var Zi=qi.bisector(function(t){return t});qi.bisectLeft=Zi.left,qi.bisect=qi.bisectRight=Zi.right,qi.nest=function(){function t(n,o){if(o>=a.length)return r?r.call(u,n):e?n.sort(e):n;for(var c,l,f,s=-1,h=n.length,g=a[o++],p=new i,d={};h>++s;)(f=p.get(c=g(l=n[s])))?f.push(l):p.set(c,[l]);return p.forEach(function(n,e){d[n]=t(e,o)}),d}function n(t,e){if(e>=a.length)return t;var r,u=[],i=o[e++];for(r in t)u.push({key:r,values:n(t[r],e)});return i&&u.sort(function(t,n){return i(t.key,n.key)}),u}var e,r,u={},a=[],o=[];return u.map=function(n){return t(n,0)},u.entries=function(e){return n(t(e,0),0)},u.key=function(t){return a.push(t),u},u.sortKeys=function(t){return o[a.length-1]=t,u},u.sortValues=function(t){return e=t,u},u.rollup=function(t){return r=t,u},u},qi.keys=function(t){var n=[];for(var e in t)n.push(e);return n},qi.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},qi.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},qi.permute=function(t,n){for(var e=[],r=-1,u=n.length;u>++r;)e[r]=t[n[r]];return e},qi.merge=function(t){return Array.prototype.concat.apply([],t)},qi.range=function(t,n,e){if(3>arguments.length&&(e=1,2>arguments.length&&(n=t,t=0)),1/0===(n-t)/e)throw Error("infinite range");var r,u=[],i=g(Math.abs(e)),a=-1;if(t*=i,n*=i,e*=i,0>e)for(;(r=t+e*++a)>n;)u.push(r/i);else for(;n>(r=t+e*++a);)u.push(r/i);return u},qi.requote=function(t){return t.replace(Bi,"\\$&")};var Bi=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;qi.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)},qi.xhr=function(t,n,e){function r(){var t=l.status;!t&&l.responseText||t>=200&&300>t||304===t?i.load.call(u,c.call(u,l)):i.error.call(u,l)}var u={},i=qi.dispatch("progress","load","error"),o={},c=a,l=new(Li.XDomainRequest&&/^(http(s)?:)?\/\//.test(t)?XDomainRequest:XMLHttpRequest);return"onload"in l?l.onload=l.onerror=r:l.onreadystatechange=function(){l.readyState>3&&r()},l.onprogress=function(t){var n=qi.event;qi.event=t;try{i.progress.call(u,l)}finally{qi.event=n}},u.header=function(t,n){return t=(t+"").toLowerCase(),2>arguments.length?o[t]:(null==n?delete o[t]:o[t]=n+"",u)},u.mimeType=function(t){return arguments.length?(n=null==t?null:t+"",u):n},u.response=function(t){return c=t,u},["get","post"].forEach(function(t){u[t]=function(){return u.send.apply(u,[t].concat(Yi(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,t,!0),null==n||"accept"in o||(o.accept=n+",*/*"),l.setRequestHeader)for(var a in o)l.setRequestHeader(a,o[a]);return null!=n&&l.overrideMimeType&&l.overrideMimeType(n),null!=i&&u.on("error",i).on("load",function(t){i(null,t)}),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},qi.rebind(u,i,"on"),2===arguments.length&&"function"==typeof n&&(e=n,n=null),null==e?u:u.get(p(e))},qi.text=function(){return qi.xhr.apply(qi,arguments).response(d)},qi.json=function(t,n){return qi.xhr(t,"application/json",n).response(m)},qi.html=function(t,n){return qi.xhr(t,"text/html",n).response(v)},qi.xml=function(){return qi.xhr.apply(qi,arguments).response(y)};var $i={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/"};qi.ns={prefix:$i,qualify:function(t){var n=t.indexOf(":"),e=t;return n>=0&&(e=t.substring(0,n),t=t.substring(n+1)),$i.hasOwnProperty(e)?{space:$i[e],local:t}:t}},qi.dispatch=function(){for(var t=new M,n=-1,e=arguments.length;e>++n;)t[arguments[n]]=b(t);return t},M.prototype.on=function(t,n){var e=t.indexOf("."),r="";return e>0&&(r=t.substring(e+1),t=t.substring(0,e)),2>arguments.length?this[t].on(r):this[t].on(r,n)},qi.format=function(t){var n=Ji.exec(t),e=n[1]||" ",r=n[2]||">",u=n[3]||"",i=n[4]||"",a=n[5],o=+n[6],c=n[7],l=n[8],f=n[9],s=1,h="",g=!1;switch(l&&(l=+l.substring(1)),(a||"0"===e&&"="===r)&&(a=e="0",r="=",c&&(o-=Math.floor((o-1)/4))),f){case"n":c=!0,f="g";break;case"%":s=100,h="%",f="f";break;case"p":s=100,h="%",f="r";break;case"b":case"o":case"x":case"X":i&&(i="0"+f.toLowerCase());case"c":case"d":g=!0,l=0;break;case"s":s=-1,f="r"}"#"===i&&(i=""),"r"!=f||l||(f="g"),f=Gi.get(f)||_;var p=a&&c;return function(t){if(g&&t%1)return"";var n=0>t||0===t&&0>1/t?(t=-t,"-"):u;if(0>s){var d=qi.formatPrefix(t,l);t=d.scale(t),h=d.symbol}else t*=s;t=f(t,l),!a&&c&&(t=Ki(t));var m=i.length+t.length+(p?0:n.length),v=o>m?Array(m=o-m+1).join(e):"";return p&&(t=Ki(v+t)),Fi&&t.replace(".",Fi),n+=i,("<"===r?n+t+v:">"===r?v+n+t:"^"===r?v.substring(0,m>>=1)+n+t+v.substring(m):n+(p?t:v+t))+h}};var Ji=/(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/,Gi=qi.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=qi.round(t,x(t,n))).toFixed(Math.max(0,Math.min(20,x(t*(1+1e-15),n))))}}),Ki=a;if(ji){var Wi=ji.length;Ki=function(t){for(var n=t.lastIndexOf("."),e=n>=0?"."+t.substring(n+1):(n=t.length,""),r=[],u=0,i=ji[0];n>0&&i>0;)r.push(t.substring(n-=i,n+i)),i=ji[u=(u+1)%Wi];return r.reverse().join(Hi||"")+e}}var Qi=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(w);qi.formatPrefix=function(t,n){var e=0;return t&&(0>t&&(t*=-1),n&&(t=qi.round(t,x(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Qi[8+e/3]};var ta=function(){return a},na=qi.map({linear:ta,poly:q,quad:function(){return A},cubic:function(){return N},sin:function(){return C},exp:function(){return z},circle:function(){return D},elastic:L,back:F,bounce:function(){return H}}),ea=qi.map({"in":a,out:k,"in-out":E,"out-in":function(t){return E(k(t))}});qi.ease=function(t){var n=t.indexOf("-"),e=n>=0?t.substring(0,n):t,r=n>=0?t.substring(n+1):"in";return e=na.get(e)||ta,r=ea.get(r)||a,S(r(e.apply(null,Array.prototype.slice.call(arguments,1))))},qi.event=null,qi.transform=function(t){var n=Di.createElementNS(qi.ns.prefix.svg,"g");return(qi.transform=function(t){n.setAttribute("transform",t);var e=n.transform.baseVal.consolidate();return new O(e?e.matrix:ra)})(t)},O.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ra={a:1,b:0,c:0,d:1,e:0,f:0};qi.interpolate=function(t,n){for(var e,r=qi.interpolators.length;--r>=0&&!(e=qi.interpolators[r](t,n)););return e},qi.interpolateNumber=function(t,n){return n-=t,function(e){return t+n*e}},qi.interpolateRound=function(t,n){return n-=t,function(e){return Math.round(t+n*e)}},qi.interpolateString=function(t,n){var e,r,u,i,a,o=0,c=0,l=[],f=[];for(ua.lastIndex=0,r=0;e=ua.exec(n);++r)e.index&&l.push(n.substring(o,c=e.index)),f.push({i:l.length,x:e[0]}),l.push(null),o=ua.lastIndex;for(n.length>o&&l.push(n.substring(o)),r=0,i=f.length;(e=ua.exec(t))&&i>r;++r)if(a=f[r],a.x==e[0]){if(a.i)if(null==l[a.i+1])for(l[a.i-1]+=a.x,l.splice(a.i,1),u=r+1;i>u;++u)f[u].i--;else for(l[a.i-1]+=a.x+l[a.i+1],l.splice(a.i,2),u=r+1;i>u;++u)f[u].i-=2;else if(null==l[a.i+1])l[a.i]=a.x;else for(l[a.i]=a.x+l[a.i+1],l.splice(a.i+1,1),u=r+1;i>u;++u)f[u].i--;f.splice(r,1),i--,r--}else a.x=qi.interpolateNumber(parseFloat(e[0]),parseFloat(a.x));for(;i>r;)a=f.pop(),null==l[a.i+1]?l[a.i]=a.x:(l[a.i]=a.x+l[a.i+1],l.splice(a.i+1,1)),i--;return 1===l.length?null==l[0]?f[0].x:function(){return n}:function(t){for(r=0;i>r;++r)l[(a=f[r]).i]=a.x(t);return l.join("")}},qi.interpolateTransform=function(t,n){var e,r=[],u=[],i=qi.transform(t),a=qi.transform(n),o=i.translate,c=a.translate,l=i.rotate,f=a.rotate,s=i.skew,h=a.skew,g=i.scale,p=a.scale;return o[0]!=c[0]||o[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:qi.interpolateNumber(o[0],c[0])},{i:3,x:qi.interpolateNumber(o[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),l!=f?(l-f>180?f+=360:f-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:qi.interpolateNumber(l,f)})):f&&r.push(r.pop()+"rotate("+f+")"),s!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:qi.interpolateNumber(s,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:qi.interpolateNumber(g[0],p[0])},{i:e-2,x:qi.interpolateNumber(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(t){for(var n,i=-1;e>++i;)r[(n=u[i]).i]=n.x(t);return r.join("")}},qi.interpolateRgb=function(t,n){t=qi.rgb(t),n=qi.rgb(n);var e=t.r,r=t.g,u=t.b,i=n.r-e,a=n.g-r,o=n.b-u;return function(t){return"#"+G(Math.round(e+i*t))+G(Math.round(r+a*t))+G(Math.round(u+o*t))}},qi.interpolateHsl=function(t,n){t=qi.hsl(t),n=qi.hsl(n);var e=t.h,r=t.s,u=t.l,i=n.h-e,a=n.s-r,o=n.l-u;return i>180?i-=360:-180>i&&(i+=360),function(t){return un(e+i*t,r+a*t,u+o*t)+""}},qi.interpolateLab=function(t,n){t=qi.lab(t),n=qi.lab(n);var e=t.l,r=t.a,u=t.b,i=n.l-e,a=n.a-r,o=n.b-u;return function(t){return sn(e+i*t,r+a*t,u+o*t)+""}},qi.interpolateHcl=function(t,n){t=qi.hcl(t),n=qi.hcl(n);var e=t.h,r=t.c,u=t.l,i=n.h-e,a=n.c-r,o=n.l-u;return i>180?i-=360:-180>i&&(i+=360),function(t){return cn(e+i*t,r+a*t,u+o*t)+""}},qi.interpolateArray=function(t,n){var e,r=[],u=[],i=t.length,a=n.length,o=Math.min(t.length,n.length);for(e=0;o>e;++e)r.push(qi.interpolate(t[e],n[e]));for(;i>e;++e)u[e]=t[e];for(;a>e;++e)u[e]=n[e];return function(t){for(e=0;o>e;++e)u[e]=r[e](t);return u}},qi.interpolateObject=function(t,n){var e,r={},u={};for(e in t)e in n?r[e]=V(e)(t[e],n[e]):u[e]=t[e];for(e in n)e in t||(u[e]=n[e]);return function(t){for(e in r)u[e]=r[e](t);return u}};var ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;qi.interpolators=[qi.interpolateObject,function(t,n){return n instanceof Array&&qi.interpolateArray(t,n)},function(t,n){return("string"==typeof t||"string"==typeof n)&&qi.interpolateString(t+"",n+"")},function(t,n){return("string"==typeof n?aa.has(n)||/^(#|rgb\(|hsl\()/.test(n):n instanceof B)&&qi.interpolateRgb(t,n)},function(t,n){return!isNaN(t=+t)&&!isNaN(n=+n)&&qi.interpolateNumber(t,n)}],B.prototype.toString=function(){return this.rgb()+""},qi.rgb=function(t,n,e){return 1===arguments.length?t instanceof J?$(t.r,t.g,t.b):K(""+t,$,un):$(~~t,~~n,~~e)};var ia=J.prototype=new B;ia.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,u=30;return n||e||r?(n&&u>n&&(n=u),e&&u>e&&(e=u),r&&u>r&&(r=u),$(Math.min(255,Math.floor(n/t)),Math.min(255,Math.floor(e/t)),Math.min(255,Math.floor(r/t)))):$(u,u,u)},ia.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),$(Math.floor(t*this.r),Math.floor(t*this.g),Math.floor(t*this.b))},ia.hsl=function(){return W(this.r,this.g,this.b)},ia.toString=function(){return"#"+G(this.r)+G(this.g)+G(this.b)};var aa=qi.map({aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"});
-aa.forEach(function(t,n){aa.set(t,K(n,$,un))}),qi.hsl=function(t,n,e){return 1===arguments.length?t instanceof rn?en(t.h,t.s,t.l):K(""+t,W,en):en(+t,+n,+e)};var oa=rn.prototype=new B;oa.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),en(this.h,this.s,this.l/t)},oa.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),en(this.h,this.s,t*this.l)},oa.rgb=function(){return un(this.h,this.s,this.l)},qi.hcl=function(t,n,e){return 1===arguments.length?t instanceof on?an(t.h,t.c,t.l):t instanceof fn?hn(t.l,t.a,t.b):hn((t=Q((t=qi.rgb(t)).r,t.g,t.b)).l,t.a,t.b):an(+t,+n,+e)};var ca=on.prototype=new B;ca.brighter=function(t){return an(this.h,this.c,Math.min(100,this.l+la*(arguments.length?t:1)))},ca.darker=function(t){return an(this.h,this.c,Math.max(0,this.l-la*(arguments.length?t:1)))},ca.rgb=function(){return cn(this.h,this.c,this.l).rgb()},qi.lab=function(t,n,e){return 1===arguments.length?t instanceof fn?ln(t.l,t.a,t.b):t instanceof on?cn(t.l,t.c,t.h):Q((t=qi.rgb(t)).r,t.g,t.b):ln(+t,+n,+e)};var la=18,fa=.95047,sa=1,ha=1.08883,ga=fn.prototype=new B;ga.brighter=function(t){return ln(Math.min(100,this.l+la*(arguments.length?t:1)),this.a,this.b)},ga.darker=function(t){return ln(Math.max(0,this.l-la*(arguments.length?t:1)),this.a,this.b)},ga.rgb=function(){return sn(this.l,this.a,this.b)};var pa=function(t,n){return n.querySelector(t)},da=function(t,n){return n.querySelectorAll(t)},ma=Di.documentElement,va=ma.matchesSelector||ma.webkitMatchesSelector||ma.mozMatchesSelector||ma.msMatchesSelector||ma.oMatchesSelector,ya=function(t,n){return va.call(t,n)};"function"==typeof Sizzle&&(pa=function(t,n){return Sizzle(t,n)[0]||null},da=function(t,n){return Sizzle.uniqueSort(Sizzle(t,n))},ya=Sizzle.matchesSelector);var Ma=[];qi.selection=function(){return ba},qi.selection.prototype=Ma,Ma.select=function(t){var n,e,r,u,i=[];"function"!=typeof t&&(t=vn(t));for(var a=-1,o=this.length;o>++a;){i.push(n=[]),n.parentNode=(r=this[a]).parentNode;for(var c=-1,l=r.length;l>++c;)(u=r[c])?(n.push(e=t.call(u,u.__data__,c)),e&&"__data__"in u&&(e.__data__=u.__data__)):n.push(null)}return mn(i)},Ma.selectAll=function(t){var n,e,r=[];"function"!=typeof t&&(t=yn(t));for(var u=-1,i=this.length;i>++u;)for(var a=this[u],o=-1,c=a.length;c>++o;)(e=a[o])&&(r.push(n=Yi(t.call(e,e.__data__,o))),n.parentNode=e);return mn(r)},Ma.attr=function(t,n){if(2>arguments.length){if("string"==typeof t){var e=this.node();return t=qi.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(Mn(n,t[n]));return this}return this.each(Mn(t,n))},Ma.classed=function(t,n){if(2>arguments.length){if("string"==typeof t){var e=this.node(),r=(t=t.trim().split(/^|\s+/g)).length,u=-1;if(n=e.classList){for(;r>++u;)if(!n.contains(t[u]))return!1}else for(n=e.className,null!=n.baseVal&&(n=n.baseVal);r>++u;)if(!bn(t[u]).test(n))return!1;return!0}for(n in t)this.each(xn(n,t[n]));return this}return this.each(xn(t,n))},Ma.style=function(t,n,e){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(n="");for(e in t)this.each(wn(e,t[e],n));return this}if(2>r)return Li.getComputedStyle(this.node(),null).getPropertyValue(t);e=""}return this.each(wn(t,n,e))},Ma.property=function(t,n){if(2>arguments.length){if("string"==typeof t)return this.node()[t];for(n in t)this.each(Sn(n,t[n]));return this}return this.each(Sn(t,n))},Ma.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Ma.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Ma.append=function(t){function n(){return this.appendChild(Di.createElementNS(this.namespaceURI,t))}function e(){return this.appendChild(Di.createElementNS(t.space,t.local))}return t=qi.ns.qualify(t),this.select(t.local?e:n)},Ma.insert=function(t,n){function e(){return this.insertBefore(Di.createElementNS(this.namespaceURI,t),pa(n,this))}function r(){return this.insertBefore(Di.createElementNS(t.space,t.local),pa(n,this))}return t=qi.ns.qualify(t),this.select(t.local?r:e)},Ma.remove=function(){return this.each(function(){var t=this.parentNode;t&&t.removeChild(this)})},Ma.data=function(t,n){function e(t,e){var r,u,a,o=t.length,s=e.length,h=Math.min(o,s),g=Array(s),p=Array(s),d=Array(o);if(n){var m,v=new i,y=new i,M=[];for(r=-1;o>++r;)m=n.call(u=t[r],u.__data__,r),v.has(m)?d[r]=u:v.set(m,u),M.push(m);for(r=-1;s>++r;)m=n.call(e,a=e[r],r),(u=v.get(m))?(g[r]=u,u.__data__=a):y.has(m)||(p[r]=kn(a)),y.set(m,a),v.remove(m);for(r=-1;o>++r;)v.has(M[r])&&(d[r]=t[r])}else{for(r=-1;h>++r;)u=t[r],a=e[r],u?(u.__data__=a,g[r]=u):p[r]=kn(a);for(;s>r;++r)p[r]=kn(e[r]);for(;o>r;++r)d[r]=t[r]}p.update=g,p.parentNode=g.parentNode=d.parentNode=t.parentNode,c.push(p),l.push(g),f.push(d)}var r,u,a=-1,o=this.length;if(!arguments.length){for(t=Array(o=(r=this[0]).length);o>++a;)(u=r[a])&&(t[a]=u.__data__);return t}var c=qn([]),l=mn([]),f=mn([]);if("function"==typeof t)for(;o>++a;)e(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;o>++a;)e(r=this[a],t);return l.enter=function(){return c},l.exit=function(){return f},l},Ma.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Ma.filter=function(t){var n,e,r,u=[];"function"!=typeof t&&(t=En(t));for(var i=0,a=this.length;a>i;i++){u.push(n=[]),n.parentNode=(e=this[i]).parentNode;for(var o=0,c=e.length;c>o;o++)(r=e[o])&&t.call(r,r.__data__,o)&&n.push(r)}return mn(u)},Ma.order=function(){for(var t=-1,n=this.length;n>++t;)for(var e,r=this[t],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},Ma.sort=function(t){t=An.apply(this,arguments);for(var n=-1,e=this.length;e>++n;)this[n].sort(t);return this.order()},Ma.on=function(t,n,e){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(n=!1);for(e in t)this.each(Nn(e,t[e],n));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(Nn(t,n,e))},Ma.each=function(t){return Tn(this,function(n,e,r){t.call(n,n.__data__,e,r)})},Ma.call=function(t){var n=Yi(arguments);return t.apply(n[0]=this,n),this},Ma.empty=function(){return!this.node()},Ma.node=function(){for(var t=0,n=this.length;n>t;t++)for(var e=this[t],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Ma.transition=function(){var t,n,e=_a||++Sa,r=[],u=Object.create(ka);u.time=Date.now();for(var i=-1,a=this.length;a>++i;){r.push(t=[]);for(var o=this[i],c=-1,l=o.length;l>++c;)(n=o[c])&&zn(n,c,e,u),t.push(n)}return Cn(r,e)};var ba=mn([[Di]]);ba[0].parentNode=ma,qi.select=function(t){return"string"==typeof t?ba.select(t):mn([[t]])},qi.selectAll=function(t){return"string"==typeof t?ba.selectAll(t):mn([Yi(t)])};var xa=[];qi.selection.enter=qn,qi.selection.enter.prototype=xa,xa.append=Ma.append,xa.insert=Ma.insert,xa.empty=Ma.empty,xa.node=Ma.node,xa.select=function(t){for(var n,e,r,u,i,a=[],o=-1,c=this.length;c>++o;){r=(u=this[o]).update,a.push(n=[]),n.parentNode=u.parentNode;for(var l=-1,f=u.length;f>++l;)(i=u[l])?(n.push(r[l]=e=t.call(u.parentNode,i.__data__,l)),e.__data__=i.__data__):n.push(null)}return mn(a)};var _a,wa=[],Sa=0,ka={ease:T,delay:0,duration:250};wa.call=Ma.call,wa.empty=Ma.empty,wa.node=Ma.node,qi.transition=function(t){return arguments.length?_a?t.transition():t:ba.transition()},qi.transition.prototype=wa,wa.select=function(t){var n,e,r,u=this.id,i=[];"function"!=typeof t&&(t=vn(t));for(var a=-1,o=this.length;o>++a;){i.push(n=[]);for(var c=this[a],l=-1,f=c.length;f>++l;)(r=c[l])&&(e=t.call(r,r.__data__,l))?("__data__"in r&&(e.__data__=r.__data__),zn(e,l,u,r.__transition__[u]),n.push(e)):n.push(null)}return Cn(i,u)},wa.selectAll=function(t){var n,e,r,u,i,a=this.id,o=[];"function"!=typeof t&&(t=yn(t));for(var c=-1,l=this.length;l>++c;)for(var f=this[c],s=-1,h=f.length;h>++s;)if(r=f[s]){i=r.__transition__[a],e=t.call(r,r.__data__,s),o.push(n=[]);for(var g=-1,p=e.length;p>++g;)zn(u=e[g],g,a,i),n.push(u)}return Cn(o,a)},wa.filter=function(t){var n,e,r,u=[];"function"!=typeof t&&(t=En(t));for(var i=0,a=this.length;a>i;i++){u.push(n=[]);for(var e=this[i],o=0,c=e.length;c>o;o++)(r=e[o])&&t.call(r,r.__data__,o)&&n.push(r)}return Cn(u,this.id,this.time).ease(this.ease())},wa.attr=function(t,n){function e(){this.removeAttribute(i)}function r(){this.removeAttributeNS(i.space,i.local)}if(2>arguments.length){for(n in t)this.attr(n,t[n]);return this}var u=V(t),i=qi.ns.qualify(t);return Ln(this,"attr."+t,n,function(t){function n(){var n,e=this.getAttribute(i);return e!==t&&(n=u(e,t),function(t){this.setAttribute(i,n(t))})}function a(){var n,e=this.getAttributeNS(i.space,i.local);return e!==t&&(n=u(e,t),function(t){this.setAttributeNS(i.space,i.local,n(t))})}return null==t?i.local?r:e:(t+="",i.local?a:n)})},wa.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(u));return r&&function(t){this.setAttribute(u,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(u.space,u.local));return r&&function(t){this.setAttributeNS(u.space,u.local,r(t))}}var u=qi.ns.qualify(t);return this.tween("attr."+t,u.local?r:e)},wa.style=function(t,n,e){function r(){this.style.removeProperty(t)}var u=arguments.length;if(3>u){if("string"!=typeof t){2>u&&(n="");for(e in t)this.style(e,t[e],n);return this}e=""}var i=V(t);return Ln(this,"style."+t,n,function(n){function u(){var r,u=Li.getComputedStyle(this,null).getPropertyValue(t);return u!==n&&(r=i(u,n),function(n){this.style.setProperty(t,r(n),e)})}return null==n?r:(n+="",u)})},wa.styleTween=function(t,n,e){return 3>arguments.length&&(e=""),this.tween("style."+t,function(r,u){var i=n.call(this,r,u,Li.getComputedStyle(this,null).getPropertyValue(t));return i&&function(n){this.style.setProperty(t,i(n),e)}})},wa.text=function(t){return Ln(this,"text",t,Dn)},wa.remove=function(){return this.each("end.transition",function(){var t;!this.__transition__&&(t=this.parentNode)&&t.removeChild(this)})},wa.ease=function(t){var n=this.id;return 1>arguments.length?this.node().__transition__[n].ease:("function"!=typeof t&&(t=qi.ease.apply(qi,arguments)),Tn(this,function(e){e.__transition__[n].ease=t}))},wa.delay=function(t){var n=this.id;return Tn(this,"function"==typeof t?function(e,r,u){e.__transition__[n].delay=0|t.call(e,e.__data__,r,u)}:(t|=0,function(e){e.__transition__[n].delay=t}))},wa.duration=function(t){var n=this.id;return Tn(this,"function"==typeof t?function(e,r,u){e.__transition__[n].duration=Math.max(1,0|t.call(e,e.__data__,r,u))}:(t=Math.max(1,0|t),function(e){e.__transition__[n].duration=t}))},wa.each=function(t,n){var e=this.id;if(2>arguments.length){var r=ka,u=_a;_a=e,Tn(this,function(n,r,u){ka=n.__transition__[e],t.call(n,n.__data__,r,u)}),ka=r,_a=u}else Tn(this,function(r){r.__transition__[e].event.on(t,n)});return this},wa.transition=function(){for(var t,n,e,r,u=this.id,i=++Sa,a=[],o=0,c=this.length;c>o;o++){a.push(t=[]);for(var n=this[o],l=0,f=n.length;f>l;l++)(e=n[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,zn(e,l,i,r)),t.push(e)}return Cn(a,i)},wa.tween=function(t,n){var e=this.id;return 2>arguments.length?this.node().__transition__[e].tween.get(t):Tn(this,null==n?function(n){n.__transition__[e].tween.remove(t)}:function(r){r.__transition__[e].tween.set(t,n)})};var Ea,Aa,Na=0,Ta={},qa=null;qi.timer=function(t,n,e){if(3>arguments.length){if(2>arguments.length)n=0;else if(!isFinite(n))return;e=Date.now()}var r=Ta[t.id];r&&r.callback===t?(r.then=e,r.delay=n):Ta[t.id=++Na]=qa={callback:t,then:e,delay:n,next:qa},Ea||(Aa=clearTimeout(Aa),Ea=1,Ca(Fn))},qi.timer.flush=function(){for(var t,n=Date.now(),e=qa;e;)t=n-e.then,e.delay||(e.flush=e.callback(t)),e=e.next;Hn()};var Ca=Li.requestAnimationFrame||Li.webkitRequestAnimationFrame||Li.mozRequestAnimationFrame||Li.oRequestAnimationFrame||Li.msRequestAnimationFrame||function(t){setTimeout(t,17)};qi.mouse=function(t){return jn(t,P())};var za=/WebKit/.test(Li.navigator.userAgent)?-1:0;qi.touches=function(t,n){return 2>arguments.length&&(n=P().touches),n?Yi(n).map(function(n){var e=jn(t,n);return e.identifier=n.identifier,e}):[]},qi.scale={},qi.scale.linear=function(){return In([0,1],[0,1],qi.interpolate,!1)},qi.scale.log=function(){return Kn(qi.scale.linear(),Wn)};var Da=qi.format(".0e");Wn.pow=function(t){return Math.pow(10,t)},Qn.pow=function(t){return-Math.pow(10,-t)},qi.scale.pow=function(){return te(qi.scale.linear(),1)},qi.scale.sqrt=function(){return qi.scale.pow().exponent(.5)},qi.scale.ordinal=function(){return ee([],{t:"range",a:[[]]})},qi.scale.category10=function(){return qi.scale.ordinal().range(La)},qi.scale.category20=function(){return qi.scale.ordinal().range(Fa)},qi.scale.category20b=function(){return qi.scale.ordinal().range(Ha)},qi.scale.category20c=function(){return qi.scale.ordinal().range(ja)};var La=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],Fa=["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"],Ha=["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"],ja=["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"];qi.scale.quantile=function(){return re([],[])},qi.scale.quantize=function(){return ue(0,1,[0,1])},qi.scale.threshold=function(){return ie([.5],[0,1])},qi.scale.identity=function(){return ae([0,1])},qi.svg={},qi.svg.arc=function(){function t(){var t=n.apply(this,arguments),i=e.apply(this,arguments),a=r.apply(this,arguments)+Pa,o=u.apply(this,arguments)+Pa,c=(a>o&&(c=a,a=o,o=c),o-a),l=Ni>c?"0":"1",f=Math.cos(a),s=Math.sin(a),h=Math.cos(o),g=Math.sin(o);return c>=Ra?t?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+t+"A"+t+","+t+" 0 1,0 0,"+-t+"A"+t+","+t+" 0 1,0 0,"+t+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":t?"M"+i*f+","+i*s+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+t*h+","+t*g+"A"+t+","+t+" 0 "+l+",0 "+t*f+","+t*s+"Z":"M"+i*f+","+i*s+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var n=oe,e=ce,r=le,u=fe;return t.innerRadius=function(e){return arguments.length?(n=c(e),t):n},t.outerRadius=function(n){return arguments.length?(e=c(n),t):e},t.startAngle=function(n){return arguments.length?(r=c(n),t):r},t.endAngle=function(n){return arguments.length?(u=c(n),t):u},t.centroid=function(){var t=(n.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+Pa;return[Math.cos(i)*t,Math.sin(i)*t]},t};var Pa=-Ni/2,Ra=2*Ni-1e-6;qi.svg.line=function(){return se(a)};var Oa=qi.map({linear:pe,"linear-closed":de,"step-before":me,"step-after":ve,basis:we,"basis-open":Se,"basis-closed":ke,bundle:Ee,cardinal:be,"cardinal-open":ye,"cardinal-closed":Me,monotone:ze});Oa.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var Ya=[0,2/3,1/3,0],Ua=[0,1/3,2/3,0],Ia=[0,1/6,2/3,1/6];qi.svg.line.radial=function(){var t=se(De);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},me.reverse=ve,ve.reverse=me,qi.svg.area=function(){return Le(a)},qi.svg.area.radial=function(){var t=Le(De);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},qi.svg.chord=function(){function e(t,n){var e=r(this,o,t,n),c=r(this,l,t,n);return"M"+e.p0+i(e.r,e.p1,e.a1-e.a0)+(u(e,c)?a(e.r,e.p1,e.r,e.p0):a(e.r,e.p1,c.r,c.p0)+i(c.r,c.p1,c.a1-c.a0)+a(c.r,c.p1,e.r,e.p0))+"Z"}function r(t,n,e,r){var u=n.call(t,e,r),i=f.call(t,u,r),a=s.call(t,u,r)+Pa,o=h.call(t,u,r)+Pa;return{r:i,a0:a,a1:o,p0:[i*Math.cos(a),i*Math.sin(a)],p1:[i*Math.cos(o),i*Math.sin(o)]}}function u(t,n){return t.a0==n.a0&&t.a1==n.a1}function i(t,n,e){return"A"+t+","+t+" 0 "+ +(e>Ni)+",1 "+n}function a(t,n,e,r){return"Q 0,0 "+r}var o=n,l=t,f=Fe,s=le,h=fe;return e.radius=function(t){return arguments.length?(f=c(t),e):f},e.source=function(t){return arguments.length?(o=c(t),e):o},e.target=function(t){return arguments.length?(l=c(t),e):l},e.startAngle=function(t){return arguments.length?(s=c(t),e):s},e.endAngle=function(t){return arguments.length?(h=c(t),e):h},e},qi.svg.diagonal=function(){function e(t,n){var e=r.call(this,t,n),a=u.call(this,t,n),o=(e.y+a.y)/2,c=[e,{x:e.x,y:o},{x:a.x,y:o},a];return c=c.map(i),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var r=n,u=t,i=He;return e.source=function(t){return arguments.length?(r=c(t),e):r},e.target=function(t){return arguments.length?(u=c(t),e):u},e.projection=function(t){return arguments.length?(i=t,e):i},e},qi.svg.diagonal.radial=function(){var t=qi.svg.diagonal(),n=He,e=t.projection;return t.projection=function(t){return arguments.length?e(je(n=t)):n},t},qi.svg.symbol=function(){function t(t,r){return(Va.get(n.call(this,t,r))||Oe)(e.call(this,t,r))}var n=Re,e=Pe;return t.type=function(e){return arguments.length?(n=c(e),t):n},t.size=function(n){return arguments.length?(e=c(n),t):e},t};var Va=qi.map({circle:Oe,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Za)),e=n*Za;return"M0,"+-n+"L"+e+",0"+" 0,"+n+" "+-e+",0"+"Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/Xa),e=n*Xa/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/Xa),e=n*Xa/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});qi.svg.symbolTypes=Va.keys();var Xa=Math.sqrt(3),Za=Math.tan(30*Ci);qi.svg.axis=function(){function t(t){t.each(function(){var t,s=qi.select(this),h=null==l?e.ticks?e.ticks.apply(e,c):e.domain():l,g=null==n?e.tickFormat?e.tickFormat.apply(e,c):String:n,p=Ie(e,h,f),d=s.selectAll(".tick.minor").data(p,String),m=d.enter().insert("line",".tick").attr("class","tick minor").style("opacity",1e-6),v=qi.transition(d.exit()).style("opacity",1e-6).remove(),y=qi.transition(d).style("opacity",1),M=s.selectAll(".tick.major").data(h,String),b=M.enter().insert("g","path").attr("class","tick major").style("opacity",1e-6),x=qi.transition(M.exit()).style("opacity",1e-6).remove(),_=qi.transition(M).style("opacity",1),w=On(e),S=s.selectAll(".domain").data([0]),k=(S.enter().append("path").attr("class","domain"),qi.transition(S)),E=e.copy(),A=this.__chart__||E;this.__chart__=E,b.append("line"),b.append("text");var N=b.select("line"),T=_.select("line"),q=M.select("text").text(g),C=b.select("text"),z=_.select("text");switch(r){case"bottom":t=Ye,m.attr("y2",i),y.attr("x2",0).attr("y2",i),N.attr("y2",u),C.attr("y",Math.max(u,0)+o),T.attr("x2",0).attr("y2",u),z.attr("x",0).attr("y",Math.max(u,0)+o),q.attr("dy",".71em").style("text-anchor","middle"),k.attr("d","M"+w[0]+","+a+"V0H"+w[1]+"V"+a);break;case"top":t=Ye,m.attr("y2",-i),y.attr("x2",0).attr("y2",-i),N.attr("y2",-u),C.attr("y",-(Math.max(u,0)+o)),T.attr("x2",0).attr("y2",-u),z.attr("x",0).attr("y",-(Math.max(u,0)+o)),q.attr("dy","0em").style("text-anchor","middle"),k.attr("d","M"+w[0]+","+-a+"V0H"+w[1]+"V"+-a);break;case"left":t=Ue,m.attr("x2",-i),y.attr("x2",-i).attr("y2",0),N.attr("x2",-u),C.attr("x",-(Math.max(u,0)+o)),T.attr("x2",-u).attr("y2",0),z.attr("x",-(Math.max(u,0)+o)).attr("y",0),q.attr("dy",".32em").style("text-anchor","end"),k.attr("d","M"+-a+","+w[0]+"H0V"+w[1]+"H"+-a);break;case"right":t=Ue,m.attr("x2",i),y.attr("x2",i).attr("y2",0),N.attr("x2",u),C.attr("x",Math.max(u,0)+o),T.attr("x2",u).attr("y2",0),z.attr("x",Math.max(u,0)+o).attr("y",0),q.attr("dy",".32em").style("text-anchor","start"),k.attr("d","M"+a+","+w[0]+"H0V"+w[1]+"H"+a)}if(e.ticks)b.call(t,A),_.call(t,E),x.call(t,E),m.call(t,A),y.call(t,E),v.call(t,E);else{var D=E.rangeBand()/2,L=function(t){return E(t)+D};b.call(t,L),_.call(t,L)}})}var n,e=qi.scale.linear(),r=Ba,u=6,i=6,a=6,o=3,c=[10],l=null,f=0;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in $a?n+"":Ba,t):r},t.ticks=function(){return arguments.length?(c=arguments,t):c},t.tickValues=function(n){return arguments.length?(l=n,t):l},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n,e){if(!arguments.length)return u;var r=arguments.length-1;return u=+n,i=r>1?+e:u,a=r>0?+arguments[r]:u,t},t.tickPadding=function(n){return arguments.length?(o=+n,t):o},t.tickSubdivide=function(n){return arguments.length?(f=+n,t):f},t};var Ba="bottom",$a={top:1,right:1,bottom:1,left:1};qi.svg.brush=function(){function t(i){i.each(function(){var i,a=qi.select(this),f=a.selectAll(".background").data([0]),s=a.selectAll(".extent").data([0]),h=a.selectAll(".resize").data(l,String);a.style("pointer-events","all").on("mousedown.brush",u).on("touchstart.brush",u),f.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),s.enter().append("rect").attr("class","extent").style("cursor","move"),h.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ja[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",t.empty()?"none":null),h.exit().remove(),o&&(i=On(o),f.attr("x",i[0]).attr("width",i[1]-i[0]),e(a)),c&&(i=On(c),f.attr("y",i[0]).attr("height",i[1]-i[0]),r(a)),n(a)})}function n(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+f[+/e$/.test(t)][0]+","+f[+/^s/.test(t)][1]+")"})}function e(t){t.select(".extent").attr("x",f[0][0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1][0]-f[0][0])}function r(t){t.select(".extent").attr("y",f[0][1]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1][1]-f[0][1])}function u(){function u(){var t=qi.event.changedTouches;return t?qi.touches(v,t)[0]:qi.mouse(v)}function l(){32==qi.event.keyCode&&(S||(d=null,k[0]-=f[1][0],k[1]-=f[1][1],S=2),j())}function s(){32==qi.event.keyCode&&2==S&&(k[0]+=f[1][0],k[1]+=f[1][1],S=0,j())}function h(){var t=u(),i=!1;m&&(t[0]+=m[0],t[1]+=m[1]),S||(qi.event.altKey?(d||(d=[(f[0][0]+f[1][0])/2,(f[0][1]+f[1][1])/2]),k[0]=f[+(t[0]<d[0])][0],k[1]=f[+(t[1]<d[1])][1]):d=null),_&&g(t,o,0)&&(e(b),i=!0),w&&g(t,c,1)&&(r(b),i=!0),i&&(n(b),M({type:"brush",mode:S?"move":"resize"}))}function g(t,n,e){var r,u,a=On(n),o=a[0],c=a[1],l=k[e],s=f[1][e]-f[0][e];return S&&(o-=l,c-=s+l),r=Math.max(o,Math.min(c,t[e])),S?u=(r+=l)+s:(d&&(l=Math.max(o,Math.min(c,2*d[e]-r))),r>l?(u=r,r=l):u=l),f[0][e]!==r||f[1][e]!==u?(i=null,f[0][e]=r,f[1][e]=u,!0):void 0}function p(){h(),b.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),qi.select("body").style("cursor",null),E.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),M({type:"brushend"}),j()}var d,m,v=this,y=qi.select(qi.event.target),M=a.of(v,arguments),b=qi.select(v),x=y.datum(),_=!/^(n|s)$/.test(x)&&o,w=!/^(e|w)$/.test(x)&&c,S=y.classed("extent"),k=u(),E=qi.select(Li).on("mousemove.brush",h).on("mouseup.brush",p).on("touchmove.brush",h).on("touchend.brush",p).on("keydown.brush",l).on("keyup.brush",s);if(S)k[0]=f[0][0]-k[0],k[1]=f[0][1]-k[1];else if(x){var A=+/w$/.test(x),N=+/^n/.test(x);m=[f[1-A][0]-k[0],f[1-N][1]-k[1]],k[0]=f[A][0],k[1]=f[N][1]}else qi.event.altKey&&(d=k.slice());b.style("pointer-events","none").selectAll(".resize").style("display",null),qi.select("body").style("cursor",y.style("cursor")),M({type:"brushstart"}),h(),j()}var i,a=R(t,"brushstart","brush","brushend"),o=null,c=null,l=Ga[0],f=[[0,0],[0,0]];return t.x=function(n){return arguments.length?(o=n,l=Ga[!o<<1|!c],t):o},t.y=function(n){return arguments.length?(c=n,l=Ga[!o<<1|!c],t):c},t.extent=function(n){var e,r,u,a,l;return arguments.length?(i=[[0,0],[0,0]],o&&(e=n[0],r=n[1],c&&(e=e[0],r=r[0]),i[0][0]=e,i[1][0]=r,o.invert&&(e=o(e),r=o(r)),e>r&&(l=e,e=r,r=l),f[0][0]=0|e,f[1][0]=0|r),c&&(u=n[0],a=n[1],o&&(u=u[1],a=a[1]),i[0][1]=u,i[1][1]=a,c.invert&&(u=c(u),a=c(a)),u>a&&(l=u,u=a,a=l),f[0][1]=0|u,f[1][1]=0|a),t):(n=i||f,o&&(e=n[0][0],r=n[1][0],i||(e=f[0][0],r=f[1][0],o.invert&&(e=o.invert(e),r=o.invert(r)),e>r&&(l=e,e=r,r=l))),c&&(u=n[0][1],a=n[1][1],i||(u=f[0][1],a=f[1][1],c.invert&&(u=c.invert(u),a=c.invert(a)),u>a&&(l=u,u=a,a=l))),o&&c?[[e,u],[r,a]]:o?[e,r]:c&&[u,a])},t.clear=function(){return i=null,f[0][0]=f[0][1]=f[1][0]=f[1][1]=0,t},t.empty=function(){return o&&f[0][0]===f[1][0]||c&&f[0][1]===f[1][1]},qi.rebind(t,a,"on")};var Ja={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ga=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];qi.behavior={},qi.behavior.drag=function(){function t(){this.on("mousedown.drag",n).on("touchstart.drag",n)}function n(){function t(){var t=o.parentNode;return null!=f?qi.touches(t).filter(function(t){return t.identifier===f})[0]:qi.mouse(t)}function n(){if(!o.parentNode)return u();var n=t(),e=n[0]-s[0],r=n[1]-s[1];h|=e|r,s=n,j(),c({type:"drag",x:n[0]+a[0],y:n[1]+a[1],dx:e,dy:r})}function u(){c({type:"dragend"}),h&&(j(),qi.event.target===l&&g.on("click.drag",i,!0)),g.on(null!=f?"touchmove.drag-"+f:"mousemove.drag",null).on(null!=f?"touchend.drag-"+f:"mouseup.drag",null)}function i(){j(),g.on("click.drag",null)}var a,o=this,c=e.of(o,arguments),l=qi.event.target,f=qi.event.touches?qi.event.changedTouches[0].identifier:null,s=t(),h=0,g=qi.select(Li).on(null!=f?"touchmove.drag-"+f:"mousemove.drag",n).on(null!=f?"touchend.drag-"+f:"mouseup.drag",u,!0);r?(a=r.apply(o,arguments),a=[a.x-s[0],a.y-s[1]]):a=[0,0],null==f&&j(),c({type:"dragstart"})}var e=R(t,"drag","dragstart","dragend"),r=null;return t.origin=function(n){return arguments.length?(r=n,t):r},qi.rebind(t,e,"on")},qi.behavior.zoom=function(){function t(){this.on("mousedown.zoom",o).on("mousemove.zoom",l).on(Qa+".zoom",c).on("dblclick.zoom",f).on("touchstart.zoom",s).on("touchmove.zoom",h).on("touchend.zoom",s)}function n(t){return[(t[0]-b[0])/x,(t[1]-b[1])/x]}function e(t){return[t[0]*x+b[0],t[1]*x+b[1]]}function r(t){x=Math.max(_[0],Math.min(_[1],t))}function u(t,n){n=e(n),b[0]+=t[0]-n[0],b[1]+=t[1]-n[1]}function i(){m&&m.domain(d.range().map(function(t){return(t-b[0])/x}).map(d.invert)),y&&y.domain(v.range().map(function(t){return(t-b[1])/x}).map(v.invert))}function a(t){i(),qi.event.preventDefault(),t({type:"zoom",scale:x,translate:b})}function o(){function t(){l=1,u(qi.mouse(i),s),a(o)}function e(){l&&j(),f.on("mousemove.zoom",null).on("mouseup.zoom",null),l&&qi.event.target===c&&f.on("click.zoom",r,!0)}function r(){j(),f.on("click.zoom",null)}var i=this,o=w.of(i,arguments),c=qi.event.target,l=0,f=qi.select(Li).on("mousemove.zoom",t).on("mouseup.zoom",e),s=n(qi.mouse(i));Li.focus(),j()}function c(){g||(g=n(qi.mouse(this))),r(Math.pow(2,.002*Ka())*x),u(qi.mouse(this),g),a(w.of(this,arguments))}function l(){g=null}function f(){var t=qi.mouse(this),e=n(t),i=Math.log(x)/Math.LN2;r(Math.pow(2,qi.event.shiftKey?Math.ceil(i)-1:Math.floor(i)+1)),u(t,e),a(w.of(this,arguments))}function s(){var t=qi.touches(this),e=Date.now();if(p=x,g={},t.forEach(function(t){g[t.identifier]=n(t)}),j(),1===t.length){if(500>e-M){var i=t[0],o=n(t[0]);r(2*x),u(i,o),a(w.of(this,arguments))}M=e}}function h(){var t=qi.touches(this),n=t[0],e=g[n.identifier];if(i=t[1]){var i,o=g[i.identifier];n=[(n[0]+i[0])/2,(n[1]+i[1])/2],e=[(e[0]+o[0])/2,(e[1]+o[1])/2],r(qi.event.scale*p)}u(n,e),M=null,a(w.of(this,arguments))}var g,p,d,m,v,y,M,b=[0,0],x=1,_=Wa,w=R(t,"zoom");return t.translate=function(n){return arguments.length?(b=n.map(Number),i(),t):b},t.scale=function(n){return arguments.length?(x=+n,i(),t):x},t.scaleExtent=function(n){return arguments.length?(_=null==n?Wa:n.map(Number),t):_},t.x=function(n){return arguments.length?(m=n,d=n.copy(),b=[0,0],x=1,t):m},t.y=function(n){return arguments.length?(y=n,v=n.copy(),b=[0,0],x=1,t):y},qi.rebind(t,w,"on")};var Ka,Wa=[0,1/0],Qa="onwheel"in document?(Ka=function(){return-qi.event.deltaY*(qi.event.deltaMode?120:1)},"wheel"):"onmousewheel"in document?(Ka=function(){return qi.event.wheelDelta},"mousewheel"):(Ka=function(){return-qi.event.detail},"MozMousePixelScroll");qi.layout={},qi.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;r>++e;)n.push(Ve(t[e]));return n}},qi.layout.chord=function(){function t(){var t,l,s,h,g,p={},d=[],m=qi.range(i),v=[];for(e=[],r=[],t=0,h=-1;i>++h;){for(l=0,g=-1;i>++g;)l+=u[h][g];d.push(l),v.push(qi.range(i)),t+=l}for(a&&m.sort(function(t,n){return a(d[t],d[n])}),o&&v.forEach(function(t,n){t.sort(function(t,e){return o(u[n][t],u[n][e])})}),t=(2*Ni-f*i)/t,l=0,h=-1;i>++h;){for(s=l,g=-1;i>++g;){var y=m[h],M=v[y][g],b=u[y][M],x=l,_=l+=b*t;p[y+"-"+M]={index:y,subindex:M,startAngle:x,endAngle:_,value:b}}r[y]={index:y,startAngle:s,endAngle:l,value:(l-s)/t},l+=f}for(h=-1;i>++h;)for(g=h-1;i>++g;){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&&n()}function n(){e.sort(function(t,n){return c((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}var e,r,u,i,a,o,c,l={},f=0;return l.matrix=function(t){return arguments.length?(i=(u=t)&&u.length,e=r=null,l):u},l.padding=function(t){return arguments.length?(f=t,e=r=null,l):f},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(c=t,e&&n(),l):c},l.chords=function(){return e||t(),e},l.groups=function(){return r||t(),r},l},qi.layout.force=function(){function t(t){return function(n,e,r,u){if(n.point!==t){var i=n.cx-t.x,a=n.cy-t.y,o=1/Math.sqrt(i*i+a*a);if(m>(u-e)*o){var c=n.charge*o*o;return t.px-=i*c,t.py-=a*c,!0}if(n.point&&isFinite(o)){var c=n.pointCharge*o*o;t.px-=i*c,t.py-=a*c}}return!n.charge}}function n(t){t.px=qi.event.x,t.py=qi.event.y,c.resume()}var e,r,u,i,o,c={},l=qi.dispatch("start","tick","end"),f=[1,1],s=.9,h=to,g=no,p=-30,d=.1,m=.8,v=[],y=[];return c.tick=function(){if(.005>(r*=.99))return l.end({type:"end",alpha:r=0}),!0;var n,e,a,c,h,g,m,M,b,x=v.length,_=y.length;for(e=0;_>e;++e)a=y[e],c=a.source,h=a.target,M=h.x-c.x,b=h.y-c.y,(g=M*M+b*b)&&(g=r*i[e]*((g=Math.sqrt(g))-u[e])/g,M*=g,b*=g,h.x-=M*(m=c.weight/(h.weight+c.weight)),h.y-=b*m,c.x+=M*(m=1-m),c.y+=b*m);if((m=r*d)&&(M=f[0]/2,b=f[1]/2,e=-1,m))for(;x>++e;)a=v[e],a.x+=(M-a.x)*m,a.y+=(b-a.y)*m;if(p)for(Ke(n=qi.geom.quadtree(v),r,o),e=-1;x>++e;)(a=v[e]).fixed||n.visit(t(a));for(e=-1;x>++e;)a=v[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);l.tick({type:"tick",alpha:r})},c.nodes=function(t){return arguments.length?(v=t,c):v},c.links=function(t){return arguments.length?(y=t,c):y},c.size=function(t){return arguments.length?(f=t,c):f},c.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,c):h},c.distance=c.linkDistance,c.linkStrength=function(t){return arguments.length?(g="function"==typeof t?t:+t,c):g},c.friction=function(t){return arguments.length?(s=+t,c):s},c.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,c):p},c.gravity=function(t){return arguments.length?(d=+t,c):d},c.theta=function(t){return arguments.length?(m=+t,c):m},c.alpha=function(t){return arguments.length?(t=+t,r?r=t>0?t:0:t>0&&(l.start({type:"start",alpha:r=t}),qi.timer(c.tick)),c):r},c.start=function(){function t(t,r){for(var u,i=n(e),a=-1,o=i.length;o>++a;)if(!isNaN(u=i[a][t]))return u;
-return Math.random()*r}function n(){if(!a){for(a=[],r=0;s>r;++r)a[r]=[];for(r=0;d>r;++r){var t=y[r];a[t.source.index].push(t.target),a[t.target.index].push(t.source)}}return a[e]}var e,r,a,l,s=v.length,d=y.length,m=f[0],M=f[1];for(e=0;s>e;++e)(l=v[e]).index=e,l.weight=0;for(e=0;d>e;++e)l=y[e],"number"==typeof l.source&&(l.source=v[l.source]),"number"==typeof l.target&&(l.target=v[l.target]),++l.source.weight,++l.target.weight;for(e=0;s>e;++e)l=v[e],isNaN(l.x)&&(l.x=t("x",m)),isNaN(l.y)&&(l.y=t("y",M)),isNaN(l.px)&&(l.px=l.x),isNaN(l.py)&&(l.py=l.y);if(u=[],"function"==typeof h)for(e=0;d>e;++e)u[e]=+h.call(this,y[e],e);else for(e=0;d>e;++e)u[e]=h;if(i=[],"function"==typeof g)for(e=0;d>e;++e)i[e]=+g.call(this,y[e],e);else for(e=0;d>e;++e)i[e]=g;if(o=[],"function"==typeof p)for(e=0;s>e;++e)o[e]=+p.call(this,v[e],e);else for(e=0;s>e;++e)o[e]=p;return c.resume()},c.resume=function(){return c.alpha(.1)},c.stop=function(){return c.alpha(0)},c.drag=function(){return e||(e=qi.behavior.drag().origin(a).on("dragstart.force",Be).on("drag.force",n).on("dragend.force",$e)),arguments.length?(this.on("mouseover.force",Je).on("mouseout.force",Ge).call(e),void 0):e},qi.rebind(c,l,"on")};var to=20,no=1;qi.layout.partition=function(){function t(n,e,r,u){var i=n.children;if(n.x=e,n.y=n.depth*u,n.dx=r,n.dy=u,i&&(a=i.length)){var a,o,c,l=-1;for(r=n.value?r/n.value:0;a>++l;)t(o=i[l],e,c=o.value*r,u),e+=c}}function n(t){var e=t.children,r=0;if(e&&(u=e.length))for(var u,i=-1;u>++i;)r=Math.max(r,n(e[i]));return 1+r}function e(e,i){var a=r.call(this,e,i);return t(a[0],0,u[0],u[1]/n(a[0])),a}var r=qi.layout.hierarchy(),u=[1,1];return e.size=function(t){return arguments.length?(u=t,e):u},lr(e,r)},qi.layout.pie=function(){function t(i){var a=i.map(function(e,r){return+n.call(t,e,r)}),o=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-r)/qi.sum(a),l=qi.range(i.length);null!=e&&l.sort(e===eo?function(t,n){return a[n]-a[t]}:function(t,n){return e(i[t],i[n])});var f=[];return l.forEach(function(t){var n;f[t]={data:i[t],value:n=a[t],startAngle:o,endAngle:o+=n*c}}),f}var n=Number,e=eo,r=0,u=2*Ni;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(u=n,t):u},t};var eo={};qi.layout.stack=function(){function t(a,c){var l=a.map(function(e,r){return n.call(t,e,r)}),f=l.map(function(n){return n.map(function(n,e){return[i.call(t,n,e),o.call(t,n,e)]})}),s=e.call(t,f,c);l=qi.permute(l,s),f=qi.permute(f,s);var h,g,p,d=r.call(t,f,c),m=l.length,v=l[0].length;for(g=0;v>g;++g)for(u.call(t,l[0][g],p=d[g],f[0][g][1]),h=1;m>h;++h)u.call(t,l[h][g],p+=f[h-1][g][1],f[h][g][1]);return a}var n=a,e=nr,r=er,u=tr,i=We,o=Qe;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e="function"==typeof n?n:ro.get(n)||nr,t):e},t.offset=function(n){return arguments.length?(r="function"==typeof n?n:uo.get(n)||er,t):r},t.x=function(n){return arguments.length?(i=n,t):i},t.y=function(n){return arguments.length?(o=n,t):o},t.out=function(n){return arguments.length?(u=n,t):u},t};var ro=qi.map({"inside-out":function(t){var n,e,r=t.length,u=t.map(rr),i=t.map(ur),a=qi.range(r).sort(function(t,n){return u[t]-u[n]}),o=0,c=0,l=[],f=[];for(n=0;r>n;++n)e=a[n],c>o?(o+=i[e],l.push(e)):(c+=i[e],f.push(e));return f.reverse().concat(l)},reverse:function(t){return qi.range(t.length).reverse()},"default":nr}),uo=qi.map({silhouette:function(t){var n,e,r,u=t.length,i=t[0].length,a=[],o=0,c=[];for(e=0;i>e;++e){for(n=0,r=0;u>n;n++)r+=t[n][e][1];r>o&&(o=r),a.push(r)}for(e=0;i>e;++e)c[e]=(o-a[e])/2;return c},wiggle:function(t){var n,e,r,u,i,a,o,c,l,f=t.length,s=t[0],h=s.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(n=0,u=0;f>n;++n)u+=t[n][e][1];for(n=0,i=0,o=s[e][0]-s[e-1][0];f>n;++n){for(r=0,a=(t[n][e][1]-t[n][e-1][1])/(2*o);n>r;++r)a+=(t[r][e][1]-t[r][e-1][1])/o;i+=a*t[n][e][1]}g[e]=c-=u?i/u*o:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(t){var n,e,r,u=t.length,i=t[0].length,a=1/u,o=[];for(e=0;i>e;++e){for(n=0,r=0;u>n;n++)r+=t[n][e][1];if(r)for(n=0;u>n;n++)t[n][e][1]/=r;else for(n=0;u>n;n++)t[n][e][1]=a}for(e=0;i>e;++e)o[e]=0;return o},zero:er});qi.layout.histogram=function(){function t(t,i){for(var a,o,c=[],l=t.map(e,this),f=r.call(this,l,i),s=u.call(this,f,l,i),i=-1,h=l.length,g=s.length-1,p=n?1:1/h;g>++i;)a=c[i]=[],a.dx=s[i+1]-(a.x=s[i]),a.y=0;if(g>0)for(i=-1;h>++i;)o=l[i],o>=f[0]&&f[1]>=o&&(a=c[qi.bisect(s,o,1,g)-1],a.y+=p,a.push(t[i]));return c}var n=!0,e=Number,r=cr,u=ar;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=c(n),t):r},t.bins=function(n){return arguments.length?(u="number"==typeof n?function(t){return or(t,n)}:c(n),t):u},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},qi.layout.hierarchy=function(){function t(n,a,o){var c=u.call(e,n,a);if(n.depth=a,o.push(n),c&&(l=c.length)){for(var l,f,s=-1,h=n.children=[],g=0,p=a+1;l>++s;)f=t(c[s],p,o),f.parent=n,h.push(f),g+=f.value;r&&h.sort(r),i&&(n.value=g)}else i&&(n.value=+i.call(e,n,a)||0);return n}function n(t,r){var u=t.children,a=0;if(u&&(o=u.length))for(var o,c=-1,l=r+1;o>++c;)a+=n(u[c],l);else i&&(a=+i.call(e,t,r)||0);return i&&(t.value=a),a}function e(n){var e=[];return t(n,0,e),e}var r=hr,u=fr,i=sr;return e.sort=function(t){return arguments.length?(r=t,e):r},e.children=function(t){return arguments.length?(u=t,e):u},e.value=function(t){return arguments.length?(i=t,e):i},e.revalue=function(t){return n(t,0),t},e},qi.layout.pack=function(){function t(t,u){var i=n.call(this,t,u),a=i[0];a.x=0,a.y=0,Lr(a,function(t){t.r=Math.sqrt(t.value)}),Lr(a,yr);var o=r[0],c=r[1],l=Math.max(2*a.r/o,2*a.r/c);if(e>0){var f=e*l/2;Lr(a,function(t){t.r+=f}),Lr(a,yr),Lr(a,function(t){t.r-=f}),l=Math.max(2*a.r/o,2*a.r/c)}return xr(a,o/2,c/2,1/l),i}var n=qi.layout.hierarchy().sort(pr),e=0,r=[1,1];return t.size=function(n){return arguments.length?(r=n,t):r},t.padding=function(n){return arguments.length?(e=+n,t):e},lr(t,n)},qi.layout.cluster=function(){function t(t,u){var i,a=n.call(this,t,u),o=a[0],c=0;Lr(o,function(t){var n=t.children;n&&n.length?(t.x=Sr(n),t.y=wr(n)):(t.x=i?c+=e(t,i):0,t.y=0,i=t)});var l=kr(o),f=Er(o),s=l.x-e(l,f)/2,h=f.x+e(f,l)/2;return Lr(o,function(t){t.x=(t.x-s)/(h-s)*r[0],t.y=(1-(o.y?t.y/o.y:1))*r[1]}),a}var n=qi.layout.hierarchy().sort(null).value(null),e=Ar,r=[1,1];return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(r=n,t):r},lr(t,n)},qi.layout.tree=function(){function t(t,u){function i(t,n){var r=t.children,u=t._tree;if(r&&(a=r.length)){for(var a,c,l,f=r[0],s=f,h=-1;a>++h;)l=r[h],i(l,c),s=o(l,c,s),c=l;Fr(t);var g=.5*(f._tree.prelim+l._tree.prelim);n?(u.prelim=n._tree.prelim+e(t,n),u.mod=u.prelim-g):u.prelim=g}else n&&(u.prelim=n._tree.prelim+e(t,n))}function a(t,n){t.x=t._tree.prelim+n;var e=t.children;if(e&&(r=e.length)){var r,u=-1;for(n+=t._tree.mod;r>++u;)a(e[u],n)}}function o(t,n,r){if(n){for(var u,i=t,a=t,o=n,c=t.parent.children[0],l=i._tree.mod,f=a._tree.mod,s=o._tree.mod,h=c._tree.mod;o=Tr(o),i=Nr(i),o&&i;)c=Nr(c),a=Tr(a),a._tree.ancestor=t,u=o._tree.prelim+s-i._tree.prelim-l+e(o,i),u>0&&(Hr(jr(o,t,r),t,u),l+=u,f+=u),s+=o._tree.mod,l+=i._tree.mod,h+=c._tree.mod,f+=a._tree.mod;o&&!Tr(a)&&(a._tree.thread=o,a._tree.mod+=s-f),i&&!Nr(c)&&(c._tree.thread=i,c._tree.mod+=l-h,r=t)}return r}var c=n.call(this,t,u),l=c[0];Lr(l,function(t,n){t._tree={ancestor:t,prelim:0,mod:0,change:0,shift:0,number:n?n._tree.number+1:0}}),i(l),a(l,-l._tree.prelim);var f=qr(l,zr),s=qr(l,Cr),h=qr(l,Dr),g=f.x-e(f,s)/2,p=s.x+e(s,f)/2,d=h.depth||1;return Lr(l,function(t){t.x=(t.x-g)/(p-g)*r[0],t.y=t.depth/d*r[1],delete t._tree}),c}var n=qi.layout.hierarchy().sort(null).value(null),e=Ar,r=[1,1];return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(r=n,t):r},lr(t,n)},qi.layout.treemap=function(){function t(t,n){for(var e,r,u=-1,i=t.length;i>++u;)r=(e=t[u]).value*(0>n?0:n),e.area=isNaN(r)||0>=r?0:r}function n(e){var i=e.children;if(i&&i.length){var a,o,c,l=s(e),f=[],h=i.slice(),p=1/0,d="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(t(h,l.dx*l.dy/e.value),f.area=0;(c=h.length)>0;)f.push(a=h[c-1]),f.area+=a.area,"squarify"!==g||p>=(o=r(f,d))?(h.pop(),p=o):(f.area-=f.pop().area,u(f,d,l,!1),d=Math.min(l.dx,l.dy),f.length=f.area=0,p=1/0);f.length&&(u(f,d,l,!0),f.length=f.area=0),i.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){var i,a=s(n),o=r.slice(),c=[];for(t(o,a.dx*a.dy/n.value),c.area=0;i=o.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?a.dx:a.dy,a,!o.length),c.length=c.area=0);r.forEach(e)}}function r(t,n){for(var e,r=t.area,u=0,i=1/0,a=-1,o=t.length;o>++a;)(e=t[a].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,n*=n,r?Math.max(n*u*p/r,r/(n*i*p)):1/0}function u(t,n,e,r){var u,i=-1,a=t.length,o=e.x,l=e.y,f=n?c(t.area/n):0;if(n==e.dx){for((r||f>e.dy)&&(f=e.dy);a>++i;)u=t[i],u.x=o,u.y=l,u.dy=f,o+=u.dx=Math.min(e.x+e.dx-o,f?c(u.area/f):0);u.z=!0,u.dx+=e.x+e.dx-o,e.y+=f,e.dy-=f}else{for((r||f>e.dx)&&(f=e.dx);a>++i;)u=t[i],u.x=o,u.y=l,u.dx=f,l+=u.dy=Math.min(e.y+e.dy-l,f?c(u.area/f):0);u.z=!1,u.dy+=e.y+e.dy-l,e.x+=f,e.dx-=f}}function i(r){var u=a||o(r),i=u[0];return i.x=0,i.y=0,i.dx=l[0],i.dy=l[1],a&&o.revalue(i),t([i],i.dx*i.dy/i.value),(a?e:n)(i),h&&(a=u),u}var a,o=qi.layout.hierarchy(),c=Math.round,l=[1,1],f=null,s=Pr,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(t){return arguments.length?(l=t,i):l},i.padding=function(t){function n(n){var e=t.call(i,n,n.depth);return null==e?Pr(n):Rr(n,"number"==typeof e?[e,e,e,e]:e)}function e(n){return Rr(n,t)}if(!arguments.length)return f;var r;return s=null==(f=t)?Pr:"function"==(r=typeof t)?n:"number"===r?(t=[t,t,t,t],e):e,i},i.round=function(t){return arguments.length?(c=t?Math.round:Number,i):c!=Number},i.sticky=function(t){return arguments.length?(h=t,a=null,i):h},i.ratio=function(t){return arguments.length?(p=t,i):p},i.mode=function(t){return arguments.length?(g=t+"",i):g},lr(i,o)},qi.csv=Or(",","text/csv"),qi.tsv=Or(" ","text/tab-separated-values"),qi.geo={},qi.geo.stream=function(t,n){io.hasOwnProperty(t.type)?io[t.type](t,n):Yr(t,n)};var io={Feature:function(t,n){Yr(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,u=e.length;u>++r;)Yr(e[r].geometry,n)}},ao={Sphere:function(t,n){n.sphere()},Point:function(t,n){var e=t.coordinates;n.point(e[0],e[1])},MultiPoint:function(t,n){for(var e,r=t.coordinates,u=-1,i=r.length;i>++u;)e=r[u],n.point(e[0],e[1])},LineString:function(t,n){Ur(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,u=e.length;u>++r;)Ur(e[r],n,0)},Polygon:function(t,n){Ir(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,u=e.length;u>++r;)Ir(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,u=e.length;u>++r;)Yr(e[r],n)}};qi.geo.albersUsa=function(){function t(t){return n(t)(t)}function n(t){var n=t[0],a=t[1];return a>50?r:-140>n?u:21>a?i:e}var e=qi.geo.albers(),r=qi.geo.albers().rotate([160,0]).center([0,60]).parallels([55,65]),u=qi.geo.albers().rotate([160,0]).center([0,20]).parallels([8,18]),i=qi.geo.albers().rotate([60,0]).center([0,10]).parallels([8,18]);return t.scale=function(n){return arguments.length?(e.scale(n),r.scale(.6*n),u.scale(n),i.scale(1.5*n),t.translate(e.translate())):e.scale()},t.translate=function(n){if(!arguments.length)return e.translate();var a=e.scale(),o=n[0],c=n[1];return e.translate(n),r.translate([o-.4*a,c+.17*a]),u.translate([o-.19*a,c+.2*a]),i.translate([o+.58*a,c+.43*a]),t},t.scale(e.scale())},(qi.geo.albers=function(){var t=29.5*Ci,n=45.5*Ci,e=Fu(Qr),r=e(t,n);return r.parallels=function(r){return arguments.length?e(t=r[0]*Ci,n=r[1]*Ci):[t*zi,n*zi]},r.rotate([98,0]).center([0,38]).scale(1e3)}).raw=Qr;var oo=Yu(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(qi.geo.azimuthalEqualArea=function(){return Lu(oo)}).raw=oo;var co=Yu(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},a);(qi.geo.azimuthalEquidistant=function(){return Lu(co)}).raw=co,qi.geo.bounds=tu(a),qi.geo.centroid=function(t){lo=fo=so=ho=go=0,qi.geo.stream(t,po);var n;return fo&&Math.abs(n=Math.sqrt(so*so+ho*ho+go*go))>Ti?[Math.atan2(ho,so)*zi,Math.asin(Math.max(-1,Math.min(1,go/n)))*zi]:void 0};var lo,fo,so,ho,go,po={sphere:function(){2>lo&&(lo=2,fo=so=ho=go=0)},point:nu,lineStart:ru,lineEnd:uu,polygonStart:function(){2>lo&&(lo=2,fo=so=ho=go=0),po.lineStart=eu},polygonEnd:function(){po.lineStart=ru}};qi.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,n=ju(-t[0]*Ci,-t[1]*Ci,0).invert,u=[];return e(null,null,1,{point:function(t,e){u.push(t=n(t,e)),t[0]*=zi,t[1]*=zi}}),{type:"Polygon",coordinates:[u]}}var n,e,r=[0,0],u=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=iu((n=+r)*Ci,u*Ci),t):n},t.precision=function(r){return arguments.length?(e=iu(n*Ci,(u=+r)*Ci),t):u},t.angle(90)};var mo=ou(o,pu,mu);(qi.geo.equirectangular=function(){return Lu(Mu).scale(250/Ni)}).raw=Mu.invert=Mu;var vo=Yu(function(t){return 1/t},Math.atan);(qi.geo.gnomonic=function(){return Lu(vo)}).raw=vo,qi.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return qi.range(Math.ceil(r/c)*c,e,c).map(a).concat(qi.range(Math.ceil(i/l)*l,u,l).map(o))}var e,r,u,i,a,o,c=22.5,l=c,f=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[a(r).concat(o(u).slice(1),a(e).reverse().slice(1),o(i).reverse().slice(1))]}},t.extent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],i=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),i>u&&(n=i,i=u,u=n),t.precision(f)):[[r,i],[e,u]]},t.step=function(n){return arguments.length?(c=+n[0],l=+n[1],t):[c,l]},t.precision=function(n){return arguments.length?(f=+n,a=bu(i,u,f),o=xu(r,e,f),t):f},t.extent([[-180+Ti,-90+Ti],[180-Ti,90-Ti]])},qi.geo.interpolate=function(t,n){return _u(t[0]*Ci,t[1]*Ci,n[0]*Ci,n[1]*Ci)},qi.geo.greatArc=function(){function e(){for(var t=r||a.apply(this,arguments),n=u||o.apply(this,arguments),e=i||qi.geo.interpolate(t,n),l=0,f=c/e.distance,s=[t];1>(l+=f);)s.push(e(l));return s.push(n),{type:"LineString",coordinates:s}}var r,u,i,a=n,o=t,c=6*Ci;return e.distance=function(){return(i||qi.geo.interpolate(r||a.apply(this,arguments),u||o.apply(this,arguments))).distance},e.source=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i=r&&u?qi.geo.interpolate(r,u):null,e):a},e.target=function(t){return arguments.length?(o=t,u="function"==typeof t?null:t,i=r&&u?qi.geo.interpolate(r,u):null,e):o},e.precision=function(t){return arguments.length?(c=t*Ci,e):c/Ci},e},wu.invert=function(t,n){return[2*Ni*t,2*Math.atan(Math.exp(2*Ni*n))-Ni/2]},(qi.geo.mercator=function(){return Lu(wu).scale(500)}).raw=wu;var yo=Yu(function(){return 1},Math.asin);(qi.geo.orthographic=function(){return Lu(yo)}).raw=yo,qi.geo.path=function(){function t(t){return t&&qi.geo.stream(t,r(u.pointRadius("function"==typeof i?+i.apply(this,arguments):i))),u.result()}var n,e,r,u,i=4.5;return t.area=function(t){return Mo=0,qi.geo.stream(t,r(xo)),Mo},t.centroid=function(t){return lo=so=ho=go=0,qi.geo.stream(t,r(_o)),go?[so/go,ho/go]:void 0},t.bounds=function(t){return tu(r)(t)},t.projection=function(e){return arguments.length?(r=(n=e)?e.stream||ku(e):a,t):n},t.context=function(n){return arguments.length?(u=null==(e=n)?new Eu:new Au(n),t):e},t.pointRadius=function(n){return arguments.length?(i="function"==typeof n?n:+n,t):i},t.projection(qi.geo.albersUsa()).context(null)};var Mo,bo,xo={point:Pn,lineStart:Pn,lineEnd:Pn,polygonStart:function(){bo=0,xo.lineStart=Nu},polygonEnd:function(){xo.lineStart=xo.lineEnd=xo.point=Pn,Mo+=Math.abs(bo/2)}},_o={point:Tu,lineStart:qu,lineEnd:Cu,polygonStart:function(){_o.lineStart=zu},polygonEnd:function(){_o.point=Tu,_o.lineStart=qu,_o.lineEnd=Cu}};qi.geo.area=function(t){return wo=0,qi.geo.stream(t,Eo),wo};var wo,So,ko,Eo={sphere:function(){wo+=4*Ni},point:Pn,lineStart:Pn,lineEnd:Pn,polygonStart:function(){So=1,ko=0,Eo.lineStart=Du},polygonEnd:function(){var t=2*Math.atan2(ko,So);wo+=0>t?4*Ni+t:t,Eo.lineStart=Eo.lineEnd=Eo.point=Pn}};qi.geo.projection=Lu,qi.geo.projectionMutator=Fu;var Ao=Yu(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(qi.geo.stereographic=function(){return Lu(Ao)}).raw=Ao,qi.geom={},qi.geom.hull=function(t){if(3>t.length)return[];var n,e,r,u,i,a,o,c,l,f,s=t.length,h=s-1,g=[],p=[],d=0;for(n=1;s>n;++n)t[n][1]<t[d][1]?d=n:t[n][1]==t[d][1]&&(d=t[n][0]<t[d][0]?n:d);for(n=0;s>n;++n)n!==d&&(u=t[n][1]-t[d][1],r=t[n][0]-t[d][0],g.push({angle:Math.atan2(u,r),index:n}));for(g.sort(function(t,n){return t.angle-n.angle}),l=g[0].angle,c=g[0].index,o=0,n=1;h>n;++n)e=g[n].index,l==g[n].angle?(r=t[c][0]-t[d][0],u=t[c][1]-t[d][1],i=t[e][0]-t[d][0],a=t[e][1]-t[d][1],r*r+u*u>=i*i+a*a?g[n].index=-1:(g[o].index=-1,l=g[n].angle,o=n,c=e)):(l=g[n].angle,o=n,c=e);for(p.push(d),n=0,e=0;2>n;++e)-1!==g[e].index&&(p.push(g[e].index),n++);for(f=p.length;h>e;++e)if(-1!==g[e].index){for(;!Uu(p[f-2],p[f-1],g[e].index,t);)--f;p[f++]=g[e].index}var m=[];for(n=0;f>n;++n)m.push(t[p[n]]);return m},qi.geom.polygon=function(t){return t.area=function(){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];e>++n;)r+=t[n-1][1]*t[n][0]-t[n-1][0]*t[n][1];return.5*r},t.centroid=function(n){var e,r,u=-1,i=t.length,a=0,o=0,c=t[i-1];for(arguments.length||(n=-1/(6*t.area()));i>++u;)e=c,c=t[u],r=e[0]*c[1]-c[0]*e[1],a+=(e[0]+c[0])*r,o+=(e[1]+c[1])*r;return[a*n,o*n]},t.clip=function(n){for(var e,r,u,i,a,o,c=-1,l=t.length,f=t[l-1];l>++c;){for(e=n.slice(),n.length=0,i=t[c],a=e[(u=e.length)-1],r=-1;u>++r;)o=e[r],Iu(o,f,i)?(Iu(a,f,i)||n.push(Vu(a,o,f,i)),n.push(o)):Iu(a,f,i)&&n.push(Vu(a,o,f,i)),a=o;f=i}return n},t},qi.geom.voronoi=function(t){var n=t.map(function(){return[]}),e=1e6;return Xu(t,function(t){var r,u,i,a,o,c;1===t.a&&t.b>=0?(r=t.ep.r,u=t.ep.l):(r=t.ep.l,u=t.ep.r),1===t.a?(o=r?r.y:-e,i=t.c-t.b*o,c=u?u.y:e,a=t.c-t.b*c):(i=r?r.x:-e,o=t.c-t.a*i,a=u?u.x:e,c=t.c-t.a*a);var l=[i,o],f=[a,c];n[t.region.l.index].push(l,f),n[t.region.r.index].push(l,f)}),n=n.map(function(n,e){var r=t[e][0],u=t[e][1],i=n.map(function(t){return Math.atan2(t[0]-r,t[1]-u)}),a=qi.range(n.length).sort(function(t,n){return i[t]-i[n]});return a.filter(function(t,n){return!n||i[t]-i[a[n-1]]>Ti}).map(function(t){return n[t]})}),n.forEach(function(n,r){var u=n.length;if(!u)return n.push([-e,-e],[-e,e],[e,e],[e,-e]);if(!(u>2)){var i=t[r],a=n[0],o=n[1],c=i[0],l=i[1],f=a[0],s=a[1],h=o[0],g=o[1],p=Math.abs(h-f),d=g-s;if(Ti>Math.abs(d)){var m=s>l?-e:e;n.push([-e,m],[e,m])}else if(Ti>p){var v=f>c?-e:e;n.push([v,-e],[v,e])}else{var m=(f-c)*(g-s)>(h-f)*(s-l)?e:-e,y=Math.abs(d)-p;Ti>Math.abs(y)?n.push([0>d?m:-m,m]):(y>0&&(m*=-1),n.push([-e,m],[e,m]))}}}),n};var No={l:"r",r:"l"};qi.geom.delaunay=function(t){var n=t.map(function(){return[]}),e=[];return Xu(t,function(e){n[e.region.l.index].push(t[e.region.r.index])}),n.forEach(function(n,r){var u=t[r],i=u[0],a=u[1];n.forEach(function(t){t.angle=Math.atan2(t[0]-i,t[1]-a)}),n.sort(function(t,n){return t.angle-n.angle});for(var o=0,c=n.length-1;c>o;o++)e.push([u,n[o],n[o+1]])}),e},qi.geom.quadtree=function(t,n,e,r,u){function i(t,n,e,r,u,i){if(!isNaN(n.x)&&!isNaN(n.y))if(t.leaf){var o=t.point;o?.01>Math.abs(o.x-n.x)+Math.abs(o.y-n.y)?a(t,n,e,r,u,i):(t.point=null,a(t,o,e,r,u,i),a(t,n,e,r,u,i)):t.point=n}else a(t,n,e,r,u,i)}function a(t,n,e,r,u,a){var o=.5*(e+u),c=.5*(r+a),l=n.x>=o,f=n.y>=c,s=(f<<1)+l;t.leaf=!1,t=t.nodes[s]||(t.nodes[s]=Zu()),l?e=o:u=o,f?r=c:a=c,i(t,n,e,r,u,a)}var o,c=-1,l=t.length;if(5>arguments.length)if(3===arguments.length)u=e,r=n,e=n=0;else for(n=e=1/0,r=u=-1/0;l>++c;)o=t[c],n>o.x&&(n=o.x),e>o.y&&(e=o.y),o.x>r&&(r=o.x),o.y>u&&(u=o.y);var f=r-n,s=u-e;f>s?u=e+f:r=n+s;var h=Zu();return h.add=function(t){i(h,t,n,e,r,u)},h.visit=function(t){Bu(t,h,n,e,r,u)},t.forEach(h.add),h},qi.time={};var To=Date,qo=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];$u.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(){Co.setUTCDate.apply(this._,arguments)},setDay:function(){Co.setUTCDay.apply(this._,arguments)},setFullYear:function(){Co.setUTCFullYear.apply(this._,arguments)},setHours:function(){Co.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Co.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Co.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Co.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Co.setUTCSeconds.apply(this._,arguments)},setTime:function(){Co.setTime.apply(this._,arguments)}};var Co=Date.prototype,zo="%a %b %e %X %Y",Do="%m/%d/%Y",Lo="%H:%M:%S",Fo=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ho=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],jo=["January","February","March","April","May","June","July","August","September","October","November","December"],Po=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];qi.time.format=function(t){function n(n){for(var r,u,i,a=[],o=-1,c=0;e>++o;)37===t.charCodeAt(o)&&(a.push(t.substring(c,o)),null!=(u=Xo[r=t.charAt(++o)])&&(r=t.charAt(++o)),(i=Zo[r])&&(r=i(n,null==u?"e"===r?" ":"0":u)),a.push(r),c=o+1);return a.push(t.substring(c,o)),a.join("")}var e=t.length;return n.parse=function(n){var e={y:1900,m:0,d:1,H:0,M:0,S:0,L:0},r=Ju(e,t,n,0);if(r!=n.length)return null;"p"in e&&(e.H=e.H%12+12*e.p);var u=new To;return u.setFullYear(e.y,e.m,e.d),u.setHours(e.H,e.M,e.S,e.L),u},n.toString=function(){return t},n};var Ro=Gu(Fo),Oo=Gu(Ho),Yo=Gu(jo),Uo=Ku(jo),Io=Gu(Po),Vo=Ku(Po),Xo={"-":"",_:" ",0:"0"},Zo={a:function(t){return Ho[t.getDay()]},A:function(t){return Fo[t.getDay()]},b:function(t){return Po[t.getMonth()]},B:function(t){return jo[t.getMonth()]},c:qi.time.format(zo),d:function(t,n){return Wu(t.getDate(),n,2)},e:function(t,n){return Wu(t.getDate(),n,2)},H:function(t,n){return Wu(t.getHours(),n,2)},I:function(t,n){return Wu(t.getHours()%12||12,n,2)},j:function(t,n){return Wu(1+qi.time.dayOfYear(t),n,3)},L:function(t,n){return Wu(t.getMilliseconds(),n,3)},m:function(t,n){return Wu(t.getMonth()+1,n,2)},M:function(t,n){return Wu(t.getMinutes(),n,2)},p:function(t){return t.getHours()>=12?"PM":"AM"},S:function(t,n){return Wu(t.getSeconds(),n,2)},U:function(t,n){return Wu(qi.time.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Wu(qi.time.mondayOfYear(t),n,2)},x:qi.time.format(Do),X:qi.time.format(Lo),y:function(t,n){return Wu(t.getFullYear()%100,n,2)},Y:function(t,n){return Wu(t.getFullYear()%1e4,n,4)},Z:mi,"%":function(){return"%"}},Bo={a:Qu,A:ti,b:ni,B:ei,c:ri,d:fi,e:fi,H:si,I:si,L:pi,m:li,M:hi,p:di,S:gi,x:ui,X:ii,y:oi,Y:ai},$o=/^\s*\d+/,Jo=qi.map({am:0,pm:1});qi.time.format.utc=function(t){function n(t){try{To=$u;var n=new To;return n._=t,e(n)}finally{To=Date}}var e=qi.time.format(t);return n.parse=function(t){try{To=$u;var n=e.parse(t);return n&&n._}finally{To=Date}},n.toString=e.toString,n};var Go=qi.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");qi.time.format.iso=Date.prototype.toISOString?vi:Go,vi.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},vi.toString=Go.toString,qi.time.second=yi(function(t){return new To(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),qi.time.seconds=qi.time.second.range,qi.time.seconds.utc=qi.time.second.utc.range,qi.time.minute=yi(function(t){return new To(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),qi.time.minutes=qi.time.minute.range,qi.time.minutes.utc=qi.time.minute.utc.range,qi.time.hour=yi(function(t){var n=t.getTimezoneOffset()/60;return new To(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),qi.time.hours=qi.time.hour.range,qi.time.hours.utc=qi.time.hour.utc.range,qi.time.day=yi(function(t){var n=new To(1970,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),qi.time.days=qi.time.day.range,qi.time.days.utc=qi.time.day.utc.range,qi.time.dayOfYear=function(t){var n=qi.time.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},qo.forEach(function(t,n){t=t.toLowerCase(),n=7-n;var e=qi.time[t]=yi(function(t){return(t=qi.time.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=qi.time.year(t).getDay();return Math.floor((qi.time.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});qi.time[t+"s"]=e.range,qi.time[t+"s"].utc=e.utc.range,qi.time[t+"OfYear"]=function(t){var e=qi.time.year(t).getDay();return Math.floor((qi.time.dayOfYear(t)+(e+n)%7)/7)}}),qi.time.week=qi.time.sunday,qi.time.weeks=qi.time.sunday.range,qi.time.weeks.utc=qi.time.sunday.utc.range,qi.time.weekOfYear=qi.time.sundayOfYear,qi.time.month=yi(function(t){return t=qi.time.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),qi.time.months=qi.time.month.range,qi.time.months.utc=qi.time.month.utc.range,qi.time.year=yi(function(t){return t=qi.time.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),qi.time.years=qi.time.year.range,qi.time.years.utc=qi.time.year.utc.range;var Ko=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Wo=[[qi.time.second,1],[qi.time.second,5],[qi.time.second,15],[qi.time.second,30],[qi.time.minute,1],[qi.time.minute,5],[qi.time.minute,15],[qi.time.minute,30],[qi.time.hour,1],[qi.time.hour,3],[qi.time.hour,6],[qi.time.hour,12],[qi.time.day,1],[qi.time.day,2],[qi.time.week,1],[qi.time.month,1],[qi.time.month,3],[qi.time.year,1]],Qo=[[qi.time.format("%Y"),o],[qi.time.format("%B"),function(t){return t.getMonth()}],[qi.time.format("%b %d"),function(t){return 1!=t.getDate()}],[qi.time.format("%a %d"),function(t){return t.getDay()&&1!=t.getDate()}],[qi.time.format("%I %p"),function(t){return t.getHours()}],[qi.time.format("%I:%M"),function(t){return t.getMinutes()}],[qi.time.format(":%S"),function(t){return t.getSeconds()}],[qi.time.format(".%L"),function(t){return t.getMilliseconds()}]],tc=qi.scale.linear(),nc=wi(Qo);Wo.year=function(t,n){return tc.domain(t.map(ki)).ticks(n).map(Si)},qi.time.scale=function(){return bi(qi.scale.linear(),Wo,nc)};var ec=Wo.map(function(t){return[t[0].utc,t[1]]}),rc=[[qi.time.format.utc("%Y"),o],[qi.time.format.utc("%B"),function(t){return t.getUTCMonth()}],[qi.time.format.utc("%b %d"),function(t){return 1!=t.getUTCDate()}],[qi.time.format.utc("%a %d"),function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[qi.time.format.utc("%I %p"),function(t){return t.getUTCHours()}],[qi.time.format.utc("%I:%M"),function(t){return t.getUTCMinutes()}],[qi.time.format.utc(":%S"),function(t){return t.getUTCSeconds()}],[qi.time.format.utc(".%L"),function(t){return t.getUTCMilliseconds()}]],uc=wi(rc);return ec.year=function(t,n){return tc.domain(t.map(Ai)).ticks(n).map(Ei)},qi.time.scale.utc=function(){return bi(qi.scale.linear(),ec,uc)},qi}(); \ No newline at end of file
+d3 = function() {
+ var π = Math.PI, ε = 1e-6, d3 = {
+ version: "3.0.6"
+ }, d3_radians = π / 180, d3_degrees = 180 / π, d3_document = document, d3_window = window;
+ function d3_target(d) {
+ return d.target;
+ }
+ function d3_source(d) {
+ return d.source;
+ }
+ var d3_format_decimalPoint = ".", d3_format_thousandsSeparator = ",", d3_format_grouping = [ 3, 3 ];
+ if (!Date.now) Date.now = function() {
+ return +new Date();
+ };
+ try {
+ d3_document.createElement("div").style.setProperty("opacity", 0, "");
+ } catch (error) {
+ var d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;
+ d3_style_prototype.setProperty = function(name, value, priority) {
+ d3_style_setProperty.call(this, name, value + "", priority);
+ };
+ }
+ function d3_class(ctor, properties) {
+ try {
+ for (var key in properties) {
+ Object.defineProperty(ctor.prototype, key, {
+ value: properties[key],
+ enumerable: false
+ });
+ }
+ } catch (e) {
+ ctor.prototype = properties;
+ }
+ }
+ var d3_array = d3_arraySlice;
+ function d3_arrayCopy(pseudoarray) {
+ var i = -1, n = pseudoarray.length, array = [];
+ while (++i < n) array.push(pseudoarray[i]);
+ return array;
+ }
+ function d3_arraySlice(pseudoarray) {
+ return Array.prototype.slice.call(pseudoarray);
+ }
+ try {
+ d3_array(d3_document.documentElement.childNodes)[0].nodeType;
+ } catch (e) {
+ d3_array = d3_arrayCopy;
+ }
+ var d3_arraySubclass = [].__proto__ ? function(array, prototype) {
+ array.__proto__ = prototype;
+ } : function(array, prototype) {
+ for (var property in prototype) array[property] = prototype[property];
+ };
+ d3.map = function(object) {
+ var map = new d3_Map();
+ for (var key in object) map.set(key, object[key]);
+ return map;
+ };
+ function d3_Map() {}
+ d3_class(d3_Map, {
+ has: function(key) {
+ return d3_map_prefix + key in this;
+ },
+ get: function(key) {
+ return this[d3_map_prefix + key];
+ },
+ set: function(key, value) {
+ return this[d3_map_prefix + key] = value;
+ },
+ remove: function(key) {
+ key = d3_map_prefix + key;
+ return key in this && delete this[key];
+ },
+ keys: function() {
+ var keys = [];
+ this.forEach(function(key) {
+ keys.push(key);
+ });
+ return keys;
+ },
+ values: function() {
+ var values = [];
+ this.forEach(function(key, value) {
+ values.push(value);
+ });
+ return values;
+ },
+ entries: function() {
+ var entries = [];
+ this.forEach(function(key, value) {
+ entries.push({
+ key: key,
+ value: value
+ });
+ });
+ return entries;
+ },
+ forEach: function(f) {
+ for (var key in this) {
+ if (key.charCodeAt(0) === d3_map_prefixCode) {
+ f.call(this, key.substring(1), this[key]);
+ }
+ }
+ }
+ });
+ var d3_map_prefix = "\0", d3_map_prefixCode = d3_map_prefix.charCodeAt(0);
+ function d3_identity(d) {
+ return d;
+ }
+ function d3_true() {
+ return true;
+ }
+ function d3_functor(v) {
+ return typeof v === "function" ? v : function() {
+ return v;
+ };
+ }
+ d3.functor = d3_functor;
+ d3.rebind = function(target, source) {
+ var i = 1, n = arguments.length, method;
+ while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);
+ return target;
+ };
+ function d3_rebind(target, source, method) {
+ return function() {
+ var value = method.apply(source, arguments);
+ return arguments.length ? target : value;
+ };
+ }
+ d3.ascending = function(a, b) {
+ return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+ };
+ d3.descending = function(a, b) {
+ return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
+ };
+ d3.mean = function(array, f) {
+ var n = array.length, a, m = 0, i = -1, j = 0;
+ if (arguments.length === 1) {
+ while (++i < n) if (d3_number(a = array[i])) m += (a - m) / ++j;
+ } else {
+ while (++i < n) if (d3_number(a = f.call(array, array[i], i))) m += (a - m) / ++j;
+ }
+ return j ? m : undefined;
+ };
+ d3.median = function(array, f) {
+ if (arguments.length > 1) array = array.map(f);
+ array = array.filter(d3_number);
+ return array.length ? d3.quantile(array.sort(d3.ascending), .5) : undefined;
+ };
+ d3.min = function(array, f) {
+ var i = -1, n = array.length, a, b;
+ if (arguments.length === 1) {
+ while (++i < n && ((a = array[i]) == null || a != a)) a = undefined;
+ while (++i < n) if ((b = array[i]) != null && a > b) a = b;
+ } else {
+ while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+ while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
+ }
+ return a;
+ };
+ d3.max = function(array, f) {
+ var i = -1, n = array.length, a, b;
+ if (arguments.length === 1) {
+ while (++i < n && ((a = array[i]) == null || a != a)) a = undefined;
+ while (++i < n) if ((b = array[i]) != null && b > a) a = b;
+ } else {
+ while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+ while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;
+ }
+ return a;
+ };
+ d3.extent = function(array, f) {
+ var i = -1, n = array.length, a, b, c;
+ if (arguments.length === 1) {
+ while (++i < n && ((a = c = array[i]) == null || a != a)) a = c = undefined;
+ while (++i < n) if ((b = array[i]) != null) {
+ if (a > b) a = b;
+ if (c < b) c = b;
+ }
+ } else {
+ while (++i < n && ((a = c = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+ while (++i < n) if ((b = f.call(array, array[i], i)) != null) {
+ if (a > b) a = b;
+ if (c < b) c = b;
+ }
+ }
+ return [ a, c ];
+ };
+ d3.random = {
+ normal: function(µ, σ) {
+ var n = arguments.length;
+ if (n < 2) σ = 1;
+ if (n < 1) µ = 0;
+ return function() {
+ var x, y, r;
+ do {
+ x = Math.random() * 2 - 1;
+ y = Math.random() * 2 - 1;
+ r = x * x + y * y;
+ } while (!r || r > 1);
+ return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);
+ };
+ },
+ logNormal: function() {
+ var random = d3.random.normal.apply(d3, arguments);
+ return function() {
+ return Math.exp(random());
+ };
+ },
+ irwinHall: function(m) {
+ return function() {
+ for (var s = 0, j = 0; j < m; j++) s += Math.random();
+ return s / m;
+ };
+ }
+ };
+ function d3_number(x) {
+ return x != null && !isNaN(x);
+ }
+ d3.sum = function(array, f) {
+ var s = 0, n = array.length, a, i = -1;
+ if (arguments.length === 1) {
+ while (++i < n) if (!isNaN(a = +array[i])) s += a;
+ } else {
+ while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
+ }
+ return s;
+ };
+ d3.quantile = function(values, p) {
+ var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;
+ return e ? v + e * (values[h] - v) : v;
+ };
+ d3.shuffle = function(array) {
+ var m = array.length, t, i;
+ while (m) {
+ i = Math.random() * m-- | 0;
+ t = array[m], array[m] = array[i], array[i] = t;
+ }
+ return array;
+ };
+ d3.transpose = function(matrix) {
+ return d3.zip.apply(d3, matrix);
+ };
+ d3.zip = function() {
+ if (!(n = arguments.length)) return [];
+ for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) {
+ for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) {
+ zip[j] = arguments[j][i];
+ }
+ }
+ return zips;
+ };
+ function d3_zipLength(d) {
+ return d.length;
+ }
+ d3.bisector = function(f) {
+ return {
+ left: function(a, x, lo, hi) {
+ if (arguments.length < 3) lo = 0;
+ if (arguments.length < 4) hi = a.length;
+ while (lo < hi) {
+ var mid = lo + hi >>> 1;
+ if (f.call(a, a[mid], mid) < x) lo = mid + 1; else hi = mid;
+ }
+ return lo;
+ },
+ right: function(a, x, lo, hi) {
+ if (arguments.length < 3) lo = 0;
+ if (arguments.length < 4) hi = a.length;
+ while (lo < hi) {
+ var mid = lo + hi >>> 1;
+ if (x < f.call(a, a[mid], mid)) hi = mid; else lo = mid + 1;
+ }
+ return lo;
+ }
+ };
+ };
+ var d3_bisector = d3.bisector(function(d) {
+ return d;
+ });
+ d3.bisectLeft = d3_bisector.left;
+ d3.bisect = d3.bisectRight = d3_bisector.right;
+ d3.nest = function() {
+ var nest = {}, keys = [], sortKeys = [], sortValues, rollup;
+ function map(array, depth) {
+ if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;
+ var i = -1, n = array.length, key = keys[depth++], keyValue, object, valuesByKey = new d3_Map(), values, o = {};
+ while (++i < n) {
+ if (values = valuesByKey.get(keyValue = key(object = array[i]))) {
+ values.push(object);
+ } else {
+ valuesByKey.set(keyValue, [ object ]);
+ }
+ }
+ valuesByKey.forEach(function(keyValue, values) {
+ o[keyValue] = map(values, depth);
+ });
+ return o;
+ }
+ function entries(map, depth) {
+ if (depth >= keys.length) return map;
+ var a = [], sortKey = sortKeys[depth++], key;
+ for (key in map) {
+ a.push({
+ key: key,
+ values: entries(map[key], depth)
+ });
+ }
+ if (sortKey) a.sort(function(a, b) {
+ return sortKey(a.key, b.key);
+ });
+ return a;
+ }
+ nest.map = function(array) {
+ return map(array, 0);
+ };
+ nest.entries = function(array) {
+ return entries(map(array, 0), 0);
+ };
+ nest.key = function(d) {
+ keys.push(d);
+ return nest;
+ };
+ nest.sortKeys = function(order) {
+ sortKeys[keys.length - 1] = order;
+ return nest;
+ };
+ nest.sortValues = function(order) {
+ sortValues = order;
+ return nest;
+ };
+ nest.rollup = function(f) {
+ rollup = f;
+ return nest;
+ };
+ return nest;
+ };
+ d3.keys = function(map) {
+ var keys = [];
+ for (var key in map) keys.push(key);
+ return keys;
+ };
+ d3.values = function(map) {
+ var values = [];
+ for (var key in map) values.push(map[key]);
+ return values;
+ };
+ d3.entries = function(map) {
+ var entries = [];
+ for (var key in map) entries.push({
+ key: key,
+ value: map[key]
+ });
+ return entries;
+ };
+ d3.permute = function(array, indexes) {
+ var permutes = [], i = -1, n = indexes.length;
+ while (++i < n) permutes[i] = array[indexes[i]];
+ return permutes;
+ };
+ d3.merge = function(arrays) {
+ return Array.prototype.concat.apply([], arrays);
+ };
+ function d3_collapse(s) {
+ return s.trim().replace(/\s+/g, " ");
+ }
+ d3.range = function(start, stop, step) {
+ if (arguments.length < 3) {
+ step = 1;
+ if (arguments.length < 2) {
+ stop = start;
+ start = 0;
+ }
+ }
+ if ((stop - start) / step === Infinity) throw new Error("infinite range");
+ var range = [], k = d3_range_integerScale(Math.abs(step)), i = -1, j;
+ start *= k, stop *= k, step *= k;
+ if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);
+ return range;
+ };
+ function d3_range_integerScale(x) {
+ var k = 1;
+ while (x * k % 1) k *= 10;
+ return k;
+ }
+ d3.requote = function(s) {
+ return s.replace(d3_requote_re, "\\$&");
+ };
+ var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
+ d3.round = function(x, n) {
+ return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);
+ };
+ d3.xhr = function(url, mimeType, callback) {
+ var xhr = {}, dispatch = d3.dispatch("progress", "load", "error"), headers = {}, response = d3_identity, request = new (d3_window.XDomainRequest && /^(http(s)?:)?\/\//.test(url) ? XDomainRequest : XMLHttpRequest)();
+ "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {
+ request.readyState > 3 && respond();
+ };
+ function respond() {
+ var s = request.status;
+ !s && request.responseText || s >= 200 && s < 300 || s === 304 ? dispatch.load.call(xhr, response.call(xhr, request)) : dispatch.error.call(xhr, request);
+ }
+ request.onprogress = function(event) {
+ var o = d3.event;
+ d3.event = event;
+ try {
+ dispatch.progress.call(xhr, request);
+ } finally {
+ d3.event = o;
+ }
+ };
+ xhr.header = function(name, value) {
+ name = (name + "").toLowerCase();
+ if (arguments.length < 2) return headers[name];
+ if (value == null) delete headers[name]; else headers[name] = value + "";
+ return xhr;
+ };
+ xhr.mimeType = function(value) {
+ if (!arguments.length) return mimeType;
+ mimeType = value == null ? null : value + "";
+ return xhr;
+ };
+ xhr.response = function(value) {
+ response = value;
+ return xhr;
+ };
+ [ "get", "post" ].forEach(function(method) {
+ xhr[method] = function() {
+ return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));
+ };
+ });
+ xhr.send = function(method, data, callback) {
+ if (arguments.length === 2 && typeof data === "function") callback = data, data = null;
+ request.open(method, url, true);
+ if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*";
+d3=function(){var k=Math.PI,z=1e-6,F={version:"3.0.6"},b=k/180,x=180/k,u=document,N=window;function t(t){return t.target}function e(t){return t.source}var a=[3,3];Date.now||(Date.now=function(){return+new Date});try{u.createElement("div").style.setProperty("opacity",0,"")}catch(t){var n=N.CSSStyleDeclaration.prototype,r=n.setProperty;n.setProperty=function(t,n,e){r.call(this,t,n+"",e)}}var f=function(t){return Array.prototype.slice.call(t)};function i(t){for(var n=-1,e=t.length,r=[];++n<e;)r.push(t[n]);return r}try{f(u.documentElement.childNodes)[0].nodeType}catch(t){f=i}var o=[].__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]};function M(){}F.map=function(t){var n=new M;for(var e in t)n.set(e,t[e]);return n},function(n,e){try{for(var t in e)Object.defineProperty(n.prototype,t,{value:e[t],enumerable:!1})}catch(t){n.prototype=e}}(M,{has:function(t){return c+t in this},get:function(t){return this[c+t]},set:function(t,n){return this[c+t]=n},remove:function(t){return(t=c+t)in this&&delete this[t]},keys:function(){var n=[];return this.forEach(function(t){n.push(t)}),n},values:function(){var e=[];return this.forEach(function(t,n){e.push(n)}),e},entries:function(){var e=[];return this.forEach(function(t,n){e.push({key:t,value:n})}),e},forEach:function(t){for(var n in this)n.charCodeAt(0)===l&&t.call(this,n.substring(1),this[n])}});var c="\0",l=c.charCodeAt(0);function S(t){return t}function E(){return!0}function A(t){return"function"==typeof t?t:function(){return t}}function s(n,e,r){return function(){var t=r.apply(e,arguments);return arguments.length?n:t}}function h(t){return null!=t&&!isNaN(t)}function g(t){return t.length}F.functor=A,F.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r<i;)t[e=arguments[r]]=s(t,n,n[e]);return t},F.ascending=function(t,n){return t<n?-1:n<t?1:n<=t?0:NaN},F.descending=function(t,n){return n<t?-1:t<n?1:t<=n?0:NaN},F.mean=function(t,n){var e,r=t.length,i=0,o=-1,u=0;if(1===arguments.length)for(;++o<r;)h(e=t[o])&&(i+=(e-i)/++u);else for(;++o<r;)h(e=n.call(t,t[o],o))&&(i+=(e-i)/++u);return u?i:void 0},F.median=function(t,n){return 1<arguments.length&&(t=t.map(n)),(t=t.filter(h)).length?F.quantile(t.sort(F.ascending),.5):void 0},F.min=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o&&(null==(e=t[i])||e!=e);)e=void 0;for(;++i<o;)null!=(r=t[i])&&r<e&&(e=r)}else{for(;++i<o&&(null==(e=n.call(t,t[i],i))||e!=e);)e=void 0;for(;++i<o;)null!=(r=n.call(t,t[i],i))&&r<e&&(e=r)}return e},F.max=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o&&(null==(e=t[i])||e!=e);)e=void 0;for(;++i<o;)null!=(r=t[i])&&e<r&&(e=r)}else{for(;++i<o&&(null==(e=n.call(t,t[i],i))||e!=e);)e=void 0;for(;++i<o;)null!=(r=n.call(t,t[i],i))&&e<r&&(e=r)}return e},F.extent=function(t,n){var e,r,i,o=-1,u=t.length;if(1===arguments.length){for(;++o<u&&(null==(e=i=t[o])||e!=e);)e=i=void 0;for(;++o<u;)null!=(r=t[o])&&(r<e&&(e=r),i<r&&(i=r))}else{for(;++o<u&&(null==(e=i=n.call(t,t[o],o))||e!=e);)e=void 0;for(;++o<u;)null!=(r=n.call(t,t[o],o))&&(r<e&&(e=r),i<r&&(i=r))}return[e,i]},F.random={normal:function(r,i){var t=arguments.length;return t<2&&(i=1),t<1&&(r=0),function(){for(var t,n,e;!(e=(t=2*Math.random()-1)*t+(n=2*Math.random()-1)*n)||1<e;);return r+i*t*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var t=F.random.normal.apply(F,arguments);return function(){return Math.exp(t())}},irwinHall:function(e){return function(){for(var t=0,n=0;n<e;n++)t+=Math.random();return t/e}}},F.sum=function(t,n){var e,r=0,i=t.length,o=-1;if(1===arguments.length)for(;++o<i;)isNaN(e=+t[o])||(r+=e);else for(;++o<i;)isNaN(e=+n.call(t,t[o],o))||(r+=e);return r},F.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),i=+t[r-1],o=e-r;return o?i+o*(t[r]-i):i},F.shuffle=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t},F.transpose=function(t){return F.zip.apply(F,t)},F.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,n=F.min(arguments,g),e=new Array(n);++t<n;)for(var r,i=-1,o=e[t]=new Array(r);++i<r;)o[i]=arguments[i][t];return e},F.bisector=function(o){return{left:function(t,n,e,r){for(arguments.length<3&&(e=0),arguments.length<4&&(r=t.length);e<r;){var i=e+r>>>1;o.call(t,t[i],i)<n?e=i+1:r=i}return e},right:function(t,n,e,r){for(arguments.length<3&&(e=0),arguments.length<4&&(r=t.length);e<r;){var i=e+r>>>1;n<o.call(t,t[i],i)?r=i:e=i+1}return e}}};var p=F.bisector(function(t){return t});function d(t){return t.trim().replace(/\s+/g," ")}F.bisectLeft=p.left,F.bisect=F.bisectRight=p.right,F.nest=function(){var f,s,h={},g=[],u=[];function p(t,e){if(e>=g.length)return s?s.call(h,t):f?t.sort(f):t;for(var n,r,i,o=-1,u=t.length,a=g[e++],c=new M,l={};++o<u;)(i=c.get(n=a(r=t[o])))?i.push(r):c.set(n,[r]);return c.forEach(function(t,n){l[t]=p(n,e)}),l}return h.map=function(t){return p(t,0)},h.entries=function(t){return function t(n,e){if(e>=g.length)return n;var r,i=[],o=u[e++];for(r in n)i.push({key:r,values:t(n[r],e)});return o&&i.sort(function(t,n){return o(t.key,n.key)}),i}(p(t,0),0)},h.key=function(t){return g.push(t),h},h.sortKeys=function(t){return u[g.length-1]=t,h},h.sortValues=function(t){return f=t,h},h.rollup=function(t){return s=t,h},h},F.keys=function(t){var n=[];for(var e in t)n.push(e);return n},F.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},F.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},F.permute=function(t,n){for(var e=[],r=-1,i=n.length;++r<i;)e[r]=t[n[r]];return e},F.merge=function(t){return Array.prototype.concat.apply([],t)},F.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e==1/0)throw new Error("infinite range");var r,i=[],o=function(t){var n=1;for(;t*n%1;)n*=10;return n}(Math.abs(e)),u=-1;if(t*=o,n*=o,(e*=o)<0)for(;(r=t+e*++u)>n;)i.push(r/o);else for(;(r=t+e*++u)<n;)i.push(r/o);return i},F.requote=function(t){return t.replace(v,"\\$&")};var v=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;function m(t){return t.responseText}function y(t){return JSON.parse(t.responseText)}function _(t){var n=u.createRange();return n.selectNode(u.body),n.createContextualFragment(t.responseText)}function w(t){return t.responseXML}F.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)},F.xhr=function(i,o,t){var e,u={},r=F.dispatch("progress","load","error"),a={},n=S,c=new(N.XDomainRequest&&/^(http(s)?:)?\/\//.test(i)?XDomainRequest:XMLHttpRequest);function l(){var t=c.status;!t&&c.responseText||200<=t&&t<300||304===t?r.load.call(u,n.call(u,c)):r.error.call(u,c)}return"onload"in c?c.onload=c.onerror=l:c.onreadystatechange=function(){3<c.readyState&&l()},c.onprogress=function(t){var n=F.event;F.event=t;try{r.progress.call(u,c)}finally{F.event=n}},u.header=function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?a[t]:(null==n?delete a[t]:a[t]=n+"",u)},u.mimeType=function(t){return arguments.length?(o=null==t?null:t+"",u):o},u.response=function(t){return n=t,u},["get","post"].forEach(function(t){u[t]=function(){return u.send.apply(u,[t].concat(f(arguments)))}}),u.send=function(t,n,e){if(2===arguments.length&&"function"==typeof n&&(e=n,n=null),c.open(t,i,!0),null==o||"accept"in a||(a.accept=o+",*/*"),c.setRequestHeader)for(var r in a)c.setRequestHeader(r,a[r]);return null!=o&&c.overrideMimeType&&c.overrideMimeType(o),null!=e&&u.on("error",e).on("load",function(t){e(null,t)}),c.send(null==n?null:n),u},u.abort=function(){return c.abort(),u},F.rebind(u,r,"on"),2===arguments.length&&"function"==typeof o&&(t=o,o=null),null==t?u:u.get(1===(e=t).length?function(t,n){e(null==t?n:null)}:e)},F.text=function(){return F.xhr.apply(F,arguments).response(m)},F.json=function(t,n){return F.xhr(t,"application/json",n).response(y)},F.html=function(t,n){return F.xhr(t,"text/html",n).response(_)},F.xml=function(){return F.xhr.apply(F,arguments).response(w)};var T={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/"};function q(){}function C(i){var o=[],u=new M;function t(){for(var t,n=o,e=-1,r=n.length;++e<r;)(t=n[e].on)&&t.apply(this,arguments);return i}return t.on=function(t,n){var e,r=u.get(t);return arguments.length<2?r&&r.on:(r&&(r.on=null,o=o.slice(0,e=o.indexOf(r)).concat(o.slice(e+1)),u.remove(t)),n&&o.push(u.set(t,{on:n})),i)},t}F.ns={prefix:T,qualify:function(t){var n=t.indexOf(":"),e=t;return 0<=n&&(e=t.substring(0,n),t=t.substring(n+1)),T.hasOwnProperty(e)?{space:T[e],local:t}:t}},F.dispatch=function(){for(var t=new q,n=-1,e=arguments.length;++n<e;)t[arguments[n]]=C(t);return t},q.prototype.on=function(t,n){var e=t.indexOf("."),r="";return 0<e&&(r=t.substring(e+1),t=t.substring(0,e)),arguments.length<2?this[t].on(r):this[t].on(r,n)},F.format=function(t){var n=D.exec(t),o=n[1]||" ",u=n[2]||">",a=n[3]||"",c=n[4]||"",l=n[5],f=+n[6],s=n[7],h=n[8],g=n[9],p=1,d="",v=!1;switch(h&&(h=+h.substring(1)),(l||"0"===o&&"="===u)&&(l=o="0",u="=",s&&(f-=Math.floor((f-1)/4))),g){case"n":s=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":c&&(c="0"+g.toLowerCase());case"c":case"d":v=!0,h=0;break;case"s":p=-1,g="r"}"#"===c&&(c=""),"r"!=g||h||(g="g"),g=L.get(g)||j;var m=l&&s;return function(t){if(v&&t%1)return"";var n=t<0||0===t&&1/t<0?(t=-t,"-"):a;if(p<0){var e=F.formatPrefix(t,h);t=e.scale(t),d=e.symbol}else t*=p;t=g(t,h),!l&&s&&(t=P(t));var r=c.length+t.length+(m?0:n.length),i=r<f?new Array(r=f-r+1).join(o):"";return m&&(t=P(i+t)),t.replace(".","."),n+=c,("<"===u?n+t+i:">"===u?i+n+t:"^"===u?i.substring(0,r>>=1)+n+t+i.substring(r):n+(m?t:i+t))+d}};var D=/(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/,L=F.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=F.round(t,H(t,n))).toFixed(Math.max(0,Math.min(20,H(t*(1+1e-15),n))))}});function H(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function j(t){return t+""}var P=S,R=a.length;P=function(t){for(var n=t.lastIndexOf("."),e=0<=n?"."+t.substring(n+1):(n=t.length,""),r=[],i=0,o=a[0];0<n&&0<o;)r.push(t.substring(n-=o,n+o)),o=a[i=(i+1)%R];return r.reverse().join(",")+e};var O=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(function(t,n){var e=Math.pow(10,3*Math.abs(8-n));return{scale:8<n?function(t){return t/e}:function(t){return t*e},symbol:t}});F.formatPrefix=function(t,n){var e=0;return t&&(t<0&&(t*=-1),n&&(t=F.round(t,H(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e<=0?e+1:e-1)/3)))),O[8+e/3]};var Y=function(){return S},U=F.map({linear:Y,poly:function(n){return function(t){return Math.pow(t,n)}},quad:function(){return Z},cubic:function(){return B},sin:function(){return $},exp:function(){return J},circle:function(){return G},elastic:function(n,e){var r;arguments.length<2&&(e=.45);r=arguments.length?e/(2*k)*Math.asin(1/n):(n=1,e/4);return function(t){return 1+n*Math.pow(2,10*-t)*Math.sin(2*(t-r)*k/e)}},back:function(n){n||(n=1.70158);return function(t){return t*t*((n+1)*t-n)}},bounce:function(){return K}}),I=F.map({in:S,out:V,"in-out":X,"out-in":function(t){return X(V(t))}});function V(n){return function(t){return 1-n(1-t)}}function X(n){return function(t){return.5*(t<.5?n(2*t):2-n(2-2*t))}}function Z(t){return t*t}function B(t){return t*t*t}function $(t){return 1-Math.cos(t*k/2)}function J(t){return Math.pow(2,10*(t-1))}function G(t){return 1-Math.sqrt(1-t*t)}function K(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function W(){F.event.stopPropagation(),F.event.preventDefault()}function Q(){for(var t,n=F.event;t=n.sourceEvent;)n=t;return n}function tt(i){for(var o=new q,t=0,n=arguments.length;++t<n;)o[arguments[t]]=C(o);return o.of=function(e,r){return function(t){try{var n=t.sourceEvent=F.event;t.target=i,F.event=t,o[t.type].apply(e,r)}finally{F.event=n}}},o}function nt(t){var n,e,r,i=[t.a,t.b],o=[t.c,t.d],u=rt(i),a=et(i,o),c=rt(((n=o)[0]+=(r=-a)*(e=i)[0],n[1]+=r*e[1],n))||0;i[0]*o[1]<o[0]*i[1]&&(i[0]*=-1,i[1]*=-1,u*=-1,a*=-1),this.rotate=(u?Math.atan2(i[1],i[0]):Math.atan2(-o[0],o[1]))*x,this.translate=[t.e,t.f],this.scale=[u,c],this.skew=c?Math.atan2(a,c)*x:0}function et(t,n){return t[0]*n[0]+t[1]*n[1]}function rt(t){var n=Math.sqrt(et(t,t));return n&&(t[0]/=n,t[1]/=n),n}F.ease=function(t){var n,e=t.indexOf("-"),r=0<=e?t.substring(0,e):t,i=0<=e?t.substring(e+1):"in";return r=U.get(r)||Y,i=I.get(i)||S,n=i(r.apply(null,Array.prototype.slice.call(arguments,1))),function(t){return t<=0?0:1<=t?1:n(t)}},F.event=null,F.transform=function(t){var e=u.createElementNS(F.ns.prefix.svg,"g");return(F.transform=function(t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate();return new nt(n?n.matrix:it)})(t)},nt.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var it={a:1,b:0,c:0,d:1,e:0,f:0};F.interpolate=function(t,n){for(var e,r=F.interpolators.length;0<=--r&&!(e=F.interpolators[r](t,n)););return e},F.interpolateNumber=function(n,e){return e-=n,function(t){return n+e*t}},F.interpolateRound=function(n,e){return e-=n,function(t){return Math.round(n+e*t)}},F.interpolateString=function(t,n){var e,r,i,o,u,a=0,c=[],l=[];for(ot.lastIndex=0,r=0;e=ot.exec(n);++r)e.index&&c.push(n.substring(a,e.index)),l.push({i:c.length,x:e[0]}),c.push(null),a=ot.lastIndex;for(a<n.length&&c.push(n.substring(a)),r=0,o=l.length;(e=ot.exec(t))&&r<o;++r)if((u=l[r]).x==e[0]){if(u.i)if(null==c[u.i+1])for(c[u.i-1]+=u.x,c.splice(u.i,1),i=r+1;i<o;++i)l[i].i--;else for(c[u.i-1]+=u.x+c[u.i+1],c.splice(u.i,2),i=r+1;i<o;++i)l[i].i-=2;else if(null==c[u.i+1])c[u.i]=u.x;else for(c[u.i]=u.x+c[u.i+1],c.splice(u.i+1,1),i=r+1;i<o;++i)l[i].i--;l.splice(r,1),o--,r--}else u.x=F.interpolateNumber(parseFloat(e[0]),parseFloat(u.x));for(;r<o;)u=l.pop(),null==c[u.i+1]?c[u.i]=u.x:(c[u.i]=u.x+c[u.i+1],c.splice(u.i+1,1)),o--;return 1===c.length?null==c[0]?l[0].x:function(){return n}:function(t){for(r=0;r<o;++r)c[(u=l[r]).i]=u.x(t);return c.join("")}},F.interpolateTransform=function(t,n){var r,i=[],o=[],e=F.transform(t),u=F.transform(n),a=e.translate,c=u.translate,l=e.rotate,f=u.rotate,s=e.skew,h=u.skew,g=e.scale,p=u.scale;return a[0]!=c[0]||a[1]!=c[1]?(i.push("translate(",null,",",null,")"),o.push({i:1,x:F.interpolateNumber(a[0],c[0])},{i:3,x:F.interpolateNumber(a[1],c[1])})):c[0]||c[1]?i.push("translate("+c+")"):i.push(""),l!=f?(180<l-f?f+=360:180<f-l&&(l+=360),o.push({i:i.push(i.pop()+"rotate(",null,")")-2,x:F.interpolateNumber(l,f)})):f&&i.push(i.pop()+"rotate("+f+")"),s!=h?o.push({i:i.push(i.pop()+"skewX(",null,")")-2,x:F.interpolateNumber(s,h)}):h&&i.push(i.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(r=i.push(i.pop()+"scale(",null,",",null,")"),o.push({i:r-4,x:F.interpolateNumber(g[0],p[0])},{i:r-2,x:F.interpolateNumber(g[1],p[1])})):1==p[0]&&1==p[1]||i.push(i.pop()+"scale("+p+")"),r=o.length,function(t){for(var n,e=-1;++e<r;)i[(n=o[e]).i]=n.x(t);return i.join("")}},F.interpolateRgb=function(t,n){t=F.rgb(t),n=F.rgb(n);var e=t.r,r=t.g,i=t.b,o=n.r-e,u=n.g-r,a=n.b-i;return function(t){return"#"+gt(Math.round(e+o*t))+gt(Math.round(r+u*t))+gt(Math.round(i+a*t))}},F.interpolateHsl=function(t,n){t=F.hsl(t),n=F.hsl(n);var e=t.h,r=t.s,i=t.l,o=n.h-e,u=n.s-r,a=n.l-i;return 180<o?o-=360:o<-180&&(o+=360),function(t){return wt(e+o*t,r+u*t,i+a*t)+""}},F.interpolateLab=function(t,n){t=F.lab(t),n=F.lab(n);var e=t.l,r=t.a,i=t.b,o=n.l-e,u=n.a-r,a=n.b-i;return function(t){return Ft(e+o*t,r+u*t,i+a*t)+""}},F.interpolateHcl=function(t,n){t=F.hcl(t),n=F.hcl(n);var e=t.h,r=t.c,i=t.l,o=n.h-e,u=n.c-r,a=n.l-i;return 180<o?o-=360:o<-180&&(o+=360),function(t){return Nt(e+o*t,r+u*t,i+a*t)+""}},F.interpolateArray=function(t,n){var e,r=[],i=[],o=t.length,u=n.length,a=Math.min(t.length,n.length);for(e=0;e<a;++e)r.push(F.interpolate(t[e],n[e]));for(;e<o;++e)i[e]=t[e];for(;e<u;++e)i[e]=n[e];return function(t){for(e=0;e<a;++e)i[e]=r[e](t);return i}},F.interpolateObject=function(t,n){var e,r={},i={};for(e in t)e in n?r[e]=ut(e)(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}};var ot=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;function ut(t){return"transform"==t?F.interpolateTransform:F.interpolate}function at(n,e){return e=e-(n=+n)?1/(e-n):0,function(t){return(t-n)*e}}function ct(n,e){return e=e-(n=+n)?1/(e-n):0,function(t){return Math.max(0,Math.min(1,(t-n)*e))}}function lt(){}function ft(t,n,e){return new st(t,n,e)}function st(t,n,e){this.r=t,this.g=n,this.b=e}F.interpolators=[F.interpolateObject,function(t,n){return n instanceof Array&&F.interpolateArray(t,n)},function(t,n){return("string"==typeof t||"string"==typeof n)&&F.interpolateString(t+"",n+"")},function(t,n){return("string"==typeof n?Mt.has(n)||/^(#|rgb\(|hsl\()/.test(n):n instanceof lt)&&F.interpolateRgb(t,n)},function(t,n){return!isNaN(t=+t)&&!isNaN(n=+n)&&F.interpolateNumber(t,n)}],lt.prototype.toString=function(){return this.rgb()+""},F.rgb=function(t,n,e){return 1===arguments.length?t instanceof st?ft(t.r,t.g,t.b):pt(""+t,ft,wt):ft(~~t,~~n,~~e)};var ht=st.prototype=new lt;function gt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function pt(t,n,e){var r,i,o,u=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(yt(i[0]),yt(i[1]),yt(i[2]))}return(o=Mt.get(t))?n(o.r,o.g,o.b):(null!=t&&"#"===t.charAt(0)&&(4===t.length?(u=t.charAt(1),u+=u,a=t.charAt(2),a+=a,c=t.charAt(3),c+=c):7===t.length&&(u=t.substring(1,3),a=t.substring(3,5),c=t.substring(5,7)),u=parseInt(u,16),a=parseInt(a,16),c=parseInt(c,16)),n(u,a,c))}function dt(t,n,e){var r,i,o=Math.min(t/=255,n/=255,e/=255),u=Math.max(t,n,e),a=u-o,c=(u+o)/2;return a?(i=c<.5?a/(u+o):a/(2-u-o),r=t==u?(n-e)/a+(n<e?6:0):n==u?(e-t)/a+2:(t-n)/a+4,r*=60):i=r=0,bt(r,i,c)}function vt(t,n,e){var r=Pt((.4124564*(t=mt(t))+.3575761*(n=mt(n))+.1804375*(e=mt(e)))/Ct),i=Pt((.2126729*t+.7151522*n+.072175*e)/zt);return At(116*i-16,500*(r-i),200*(i-Pt((.0193339*t+.119192*n+.9503041*e)/Dt)))}function mt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function yt(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}ht.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b;return n||e||r?(n&&n<30&&(n=30),e&&e<30&&(e=30),r&&r<30&&(r=30),ft(Math.min(255,Math.floor(n/t)),Math.min(255,Math.floor(e/t)),Math.min(255,Math.floor(r/t)))):ft(30,30,30)},ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),ft(Math.floor(t*this.r),Math.floor(t*this.g),Math.floor(t*this.b))},ht.hsl=function(){return dt(this.r,this.g,this.b)},ht.toString=function(){return"#"+gt(this.r)+gt(this.g)+gt(this.b)};var Mt=F.map({aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"});function bt(t,n,e){return new xt(t,n,e)}function xt(t,n,e){this.h=t,this.s=n,this.l=e}Mt.forEach(function(t,n){Mt.set(t,pt(n,ft,wt))}),F.hsl=function(t,n,e){return 1===arguments.length?t instanceof xt?bt(t.h,t.s,t.l):pt(""+t,dt,bt):bt(+t,+n,+e)};var _t=xt.prototype=new lt;function wt(t,n,e){var r,i;function o(t){return Math.round(255*(360<(n=t)?n-=360:n<0&&(n+=360),n<60?r+(i-r)*n/60:n<180?i:n<240?r+(i-r)*(240-n)/60:r));var n}return(t%=360)<0&&(t+=360),n=n<0?0:1<n?1:n,r=2*(e=e<0?0:1<e?1:e)-(i=e<=.5?e*(1+n):e+n-e*n),ft(o(t+120),o(t),o(t-120))}function St(t,n,e){return new kt(t,n,e)}function kt(t,n,e){this.h=t,this.c=n,this.l=e}_t.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),bt(this.h,this.s,this.l/t)},_t.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),bt(this.h,this.s,t*this.l)},_t.rgb=function(){return wt(this.h,this.s,this.l)},F.hcl=function(t,n,e){return 1===arguments.length?t instanceof kt?St(t.h,t.c,t.l):Ht(t instanceof Tt?t.l:(t=vt((t=F.rgb(t)).r,t.g,t.b)).l,t.a,t.b):St(+t,+n,+e)};var Et=kt.prototype=new lt;function Nt(t,n,e){return At(e,Math.cos(t*=b)*n,Math.sin(t)*n)}function At(t,n,e){return new Tt(t,n,e)}function Tt(t,n,e){this.l=t,this.a=n,this.b=e}Et.brighter=function(t){return St(this.h,this.c,Math.min(100,this.l+qt*(arguments.length?t:1)))},Et.darker=function(t){return St(this.h,this.c,Math.max(0,this.l-qt*(arguments.length?t:1)))},Et.rgb=function(){return Nt(this.h,this.c,this.l).rgb()},F.lab=function(t,n,e){return 1===arguments.length?t instanceof Tt?At(t.l,t.a,t.b):t instanceof kt?Nt(t.l,t.c,t.h):vt((t=F.rgb(t)).r,t.g,t.b):At(+t,+n,+e)};var qt=18,Ct=.95047,zt=1,Dt=1.08883,Lt=Tt.prototype=new lt;function Ft(t,n,e){var r=(t+16)/116,i=r+n/500,o=r-e/200;return ft(Rt(3.2404542*(i=jt(i)*Ct)-1.5371385*(r=jt(r)*zt)-.4985314*(o=jt(o)*Dt)),Rt(-.969266*i+1.8760108*r+.041556*o),Rt(.0556434*i-.2040259*r+1.0572252*o))}function Ht(t,n,e){return St(Math.atan2(e,n)/k*180,Math.sqrt(n*n+e*e),t)}function jt(t){return.206893034<t?t*t*t:(t-4/29)/7.787037}function Pt(t){return.008856<t?Math.pow(t,1/3):7.787037*t+4/29}function Rt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Ot(t){return o(t,Zt),t}Lt.brighter=function(t){return At(Math.min(100,this.l+qt*(arguments.length?t:1)),this.a,this.b)},Lt.darker=function(t){return At(Math.max(0,this.l-qt*(arguments.length?t:1)),this.a,this.b)},Lt.rgb=function(){return Ft(this.l,this.a,this.b)};var Yt=function(t,n){return n.querySelector(t)},Ut=function(t,n){return n.querySelectorAll(t)},It=u.documentElement,Vt=It.matchesSelector||It.webkitMatchesSelector||It.mozMatchesSelector||It.msMatchesSelector||It.oMatchesSelector,Xt=function(t,n){return Vt.call(t,n)};"function"==typeof Sizzle&&(Yt=function(t,n){return Sizzle(t,n)[0]||null},Ut=function(t,n){return Sizzle.uniqueSort(Sizzle(t,n))},Xt=Sizzle.matchesSelector);var Zt=[];function Bt(t){return function(){return Yt(t,this)}}function $t(t){return function(){return Ut(t,this)}}function Jt(n,e){return n=F.ns.qualify(n),null==e?n.local?function(){this.removeAttributeNS(n.space,n.local)}:function(){this.removeAttribute(n)}:"function"==typeof e?n.local?function(){var t=e.apply(this,arguments);null==t?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,t)}:function(){var t=e.apply(this,arguments);null==t?this.removeAttribute(n):this.setAttribute(n,t)}:n.local?function(){this.setAttributeNS(n.space,n.local,e)}:function(){this.setAttribute(n,e)}}function Gt(t){return new RegExp("(?:^|\\s+)"+F.requote(t)+"(?:\\s+|$)","g")}function Kt(e,r){var i=(e=e.trim().split(/\s+/).map(Wt)).length;return"function"==typeof r?function(){for(var t=-1,n=r.apply(this,arguments);++t<i;)e[t](this,n)}:function(){for(var t=-1;++t<i;)e[t](this,r)}}function Wt(o){var u=Gt(o);return function(t,n){if(e=t.classList)return n?e.add(o):e.remove(o);var e=t.className,r=null!=e.baseVal,i=r?e.baseVal:e;n?(u.lastIndex=0,u.test(i)||(i=d(i+" "+o),r?e.baseVal=i:t.className=i)):i&&(i=d(i.replace(u," ")),r?e.baseVal=i:t.className=i)}}function Qt(n,e,r){return null==e?function(){this.style.removeProperty(n)}:"function"==typeof e?function(){var t=e.apply(this,arguments);null==t?this.style.removeProperty(n):this.style.setProperty(n,t,r)}:function(){this.style.setProperty(n,e,r)}}function tn(n,e){return null==e?function(){delete this[n]}:"function"==typeof e?function(){var t=e.apply(this,arguments);null==t?delete this[n]:this[n]=t}:function(){this[n]=e}}function nn(t){return{__data__:t}}function en(t){return function(){return Xt(this,t)}}function rn(n,i,o){var u="__on"+n,t=n.indexOf(".");function a(){var t=this[u];t&&(this.removeEventListener(n,t,t.$),delete this[u])}return 0<t&&(n=n.substring(0,t)),i?function(){var e=this,r=f(arguments);function t(t){var n=F.event;F.event=t,r[0]=e.__data__;try{i.apply(e,r)}finally{F.event=n}}a.call(this),this.addEventListener(n,this[u]=t,t.$=o),t._=i}:a}function on(t,n){for(var e=0,r=t.length;e<r;e++)for(var i,o=t[e],u=0,a=o.length;u<a;u++)(i=o[u])&&n(i,u,e);return t}F.selection=function(){return un},(F.selection.prototype=Zt).select=function(t){var n,e,r,i,o=[];"function"!=typeof t&&(t=Bt(t));for(var u=-1,a=this.length;++u<a;){o.push(n=[]),n.parentNode=(r=this[u]).parentNode;for(var c=-1,l=r.length;++c<l;)(i=r[c])?(n.push(e=t.call(i,i.__data__,c)),e&&"__data__"in i&&(e.__data__=i.__data__)):n.push(null)}return Ot(o)},Zt.selectAll=function(t){var n,e,r=[];"function"!=typeof t&&(t=$t(t));for(var i=-1,o=this.length;++i<o;)for(var u=this[i],a=-1,c=u.length;++a<c;)(e=u[a])&&(r.push(n=f(t.call(e,e.__data__,a))),n.parentNode=e);return Ot(r)},Zt.attr=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node();return(t=F.ns.qualify(t)).local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(Jt(n,t[n]));return this}return this.each(Jt(t,n))},Zt.classed=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node(),r=(t=t.trim().split(/^|\s+/g)).length,i=-1;if(n=e.classList){for(;++i<r;)if(!n.contains(t[i]))return!1}else for(null!=(n=e.className).baseVal&&(n=n.baseVal);++i<r;)if(!Gt(t[i]).test(n))return!1;return!0}for(n in t)this.each(Kt(n,t[n]));return this}return this.each(Kt(t,n))},Zt.style=function(t,n,e){var r=arguments.length;if(r<3){if("string"!=typeof t){for(e in r<2&&(n=""),t)this.each(Qt(e,t[e],n));return this}if(r<2)return N.getComputedStyle(this.node(),null).getPropertyValue(t);e=""}return this.each(Qt(t,n,e))},Zt.property=function(t,n){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(n in t)this.each(tn(n,t[n]));return this}return this.each(tn(t,n))},Zt.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},Zt.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},Zt.append=function(t){return t=F.ns.qualify(t),this.select(t.local?function(){return this.appendChild(u.createElementNS(t.space,t.local))}:function(){return this.appendChild(u.createElementNS(this.namespaceURI,t))})},Zt.insert=function(t,n){return t=F.ns.qualify(t),this.select(t.local?function(){return this.insertBefore(u.createElementNS(t.space,t.local),Yt(n,this))}:function(){return this.insertBefore(u.createElementNS(this.namespaceURI,t),Yt(n,this))})},Zt.remove=function(){return this.each(function(){var t=this.parentNode;t&&t.removeChild(this)})},Zt.data=function(t,d){var n,e,r=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(n=this[0]).length);++r<i;)(e=n[r])&&(t[r]=e.__data__);return t}function o(t,n){var e,r,i,o=t.length,u=n.length,a=Math.min(o,u),c=new Array(u),l=new Array(u),f=new Array(o);if(d){var s,h=new M,g=new M,p=[];for(e=-1;++e<o;)s=d.call(r=t[e],r.__data__,e),h.has(s)?f[e]=r:h.set(s,r),p.push(s);for(e=-1;++e<u;)s=d.call(n,i=n[e],e),(r=h.get(s))?(c[e]=r).__data__=i:g.has(s)||(l[e]=nn(i)),g.set(s,i),h.remove(s);for(e=-1;++e<o;)h.has(p[e])&&(f[e]=t[e])}else{for(e=-1;++e<a;)r=t[e],i=n[e],r?(r.__data__=i,c[e]=r):l[e]=nn(i);for(;e<u;++e)l[e]=nn(n[e]);for(;e<o;++e)f[e]=t[e]}l.update=c,l.parentNode=c.parentNode=f.parentNode=t.parentNode,v.push(l),m.push(c),y.push(f)}var v=an([]),m=Ot([]),y=Ot([]);if("function"==typeof t)for(;++r<i;)o(n=this[r],t.call(n,n.parentNode.__data__,r));else for(;++r<i;)o(n=this[r],t);return m.enter=function(){return v},m.exit=function(){return y},m},Zt.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Zt.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=en(t));for(var o=0,u=this.length;o<u;o++){i.push(n=[]),n.parentNode=(e=this[o]).parentNode;for(var a=0,c=e.length;a<c;a++)(r=e[a])&&t.call(r,r.__data__,a)&&n.push(r)}return Ot(i)},Zt.order=function(){for(var t=-1,n=this.length;++t<n;)for(var e,r=this[t],i=r.length-1,o=r[i];0<=--i;)(e=r[i])&&(o&&o!==e.nextSibling&&o.parentNode.insertBefore(e,o),o=e);return this},Zt.sort=function(t){t=function(e){arguments.length||(e=F.ascending);return function(t,n){return!t-!n||e(t.__data__,n.__data__)}}.apply(this,arguments);for(var n=-1,e=this.length;++n<e;)this[n].sort(t);return this.order()},Zt.on=function(t,n,e){var r=arguments.length;if(r<3){if("string"!=typeof t){for(e in r<2&&(n=!1),t)this.each(rn(e,t[e],n));return this}if(r<2)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(rn(t,n,e))},Zt.each=function(r){return on(this,function(t,n,e){r.call(t,t.__data__,n,e)})},Zt.call=function(t){var n=f(arguments);return t.apply(n[0]=this,n),this},Zt.empty=function(){return!this.node()},Zt.node=function(){for(var t=0,n=this.length;t<n;t++)for(var e=this[t],r=0,i=e.length;r<i;r++){var o=e[r];if(o)return o}return null},Zt.transition=function(){var t,n,e=fn||++hn,r=[],i=Object.create(gn);i.time=Date.now();for(var o=-1,u=this.length;++o<u;){r.push(t=[]);for(var a=this[o],c=-1,l=a.length;++c<l;)(n=a[c])&&pn(n,c,e,i),t.push(n)}return ln(r,e)};var un=Ot([[u]]);function an(t){return o(t,cn),t}un[0].parentNode=It,F.select=function(t){return"string"==typeof t?un.select(t):Ot([[t]])},F.selectAll=function(t){return"string"==typeof t?un.selectAll(t):Ot([f(t)])};var cn=[];function ln(t,n){return o(t,sn),t.id=n,t}F.selection.enter=an,(F.selection.enter.prototype=cn).append=Zt.append,cn.insert=Zt.insert,cn.empty=Zt.empty,cn.node=Zt.node,cn.select=function(t){for(var n,e,r,i,o,u=[],a=-1,c=this.length;++a<c;){r=(i=this[a]).update,u.push(n=[]),n.parentNode=i.parentNode;for(var l=-1,f=i.length;++l<f;)(o=i[l])?(n.push(r[l]=e=t.call(i.parentNode,o.__data__,l)),e.__data__=o.__data__):n.push(null)}return Ot(u)};var fn,sn=[],hn=0,gn={ease:function(t){if(t<=0)return 0;if(1<=t)return 1;var n=t*t,e=n*t;return 4*(t<.5?e:3*(t-n)+e-.75)},delay:0,duration:250};function pn(s,h,g,t){var p=s.__transition__||(s.__transition__={active:0,count:0}),r=p[g];if(!r){var d=t.time;return r=p[g]={tween:new M,event:F.dispatch("start","end"),time:d,ease:t.ease,delay:t.delay,duration:t.duration},++p.count,F.timer(function(t){var i=s.__data__,o=r.ease,u=r.event,a=r.delay,c=r.duration,l=[];return a<=t?n(t):F.timer(n,a,d),1;function n(t){return p.active>g?f():(p.active=g,u.start.call(s,i,h),r.tween.forEach(function(t,n){(n=n.call(s,i,h))&&l.push(n)}),e(t)||F.timer(e,0,d),1)}function e(t){if(p.active!==g)return f();for(var n=(t-a)/c,e=o(n),r=l.length;0<r;)l[--r].call(s,e);return 1<=n?(f(),u.end.call(s,i,h),1):void 0}function f(){return--p.count?delete p[g]:delete s.__transition__,1}},0,d),r}}function dn(t){return null==t&&(t=""),function(){this.textContent=t}}function vn(t,r,i,o){var u=t.id;return on(t,"function"==typeof i?function(t,n,e){t.__transition__[u].tween.set(r,o(i.call(t,t.__data__,n,e)))}:(i=o(i),function(t){t.__transition__[u].tween.set(r,i)}))}sn.call=Zt.call,sn.empty=Zt.empty,sn.node=Zt.node,F.transition=function(t){return arguments.length?fn?t.transition():t:un.transition()},(F.transition.prototype=sn).select=function(t){var n,e,r,i=this.id,o=[];"function"!=typeof t&&(t=Bt(t));for(var u=-1,a=this.length;++u<a;){o.push(n=[]);for(var c=this[u],l=-1,f=c.length;++l<f;)(r=c[l])&&(e=t.call(r,r.__data__,l))?("__data__"in r&&(e.__data__=r.__data__),pn(e,l,i,r.__transition__[i]),n.push(e)):n.push(null)}return ln(o,i)},sn.selectAll=function(t){var n,e,r,i,o,u=this.id,a=[];"function"!=typeof t&&(t=$t(t));for(var c=-1,l=this.length;++c<l;)for(var f=this[c],s=-1,h=f.length;++s<h;)if(r=f[s]){o=r.__transition__[u],e=t.call(r,r.__data__,s),a.push(n=[]);for(var g=-1,p=e.length;++g<p;)pn(i=e[g],g,u,o),n.push(i)}return ln(a,u)},sn.filter=function(t){var n,e,r=[];"function"!=typeof t&&(t=en(t));for(var i=0,o=this.length;i<o;i++){r.push(n=[]);for(var u,a=0,c=(u=this[i]).length;a<c;a++)(e=u[a])&&t.call(e,e.__data__,a)&&n.push(e)}return ln(r,this.id,this.time).ease(this.ease())},sn.attr=function(t,n){if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var r=ut(t),i=F.ns.qualify(t);function o(){this.removeAttribute(i)}function u(){this.removeAttributeNS(i.space,i.local)}return vn(this,"attr."+t,n,function(e){return null==e?i.local?u:o:(e+="",i.local?function(){var n,t=this.getAttributeNS(i.space,i.local);return t!==e&&(n=r(t,e),function(t){this.setAttributeNS(i.space,i.local,n(t))})}:function(){var n,t=this.getAttribute(i);return t!==e&&(n=r(t,e),function(t){this.setAttribute(i,n(t))})})})},sn.attrTween=function(t,r){var i=F.ns.qualify(t);return this.tween("attr."+t,i.local?function(t,n){var e=r.call(this,t,n,this.getAttributeNS(i.space,i.local));return e&&function(t){this.setAttributeNS(i.space,i.local,e(t))}}:function(t,n){var e=r.call(this,t,n,this.getAttribute(i));return e&&function(t){this.setAttribute(i,e(t))}})},sn.style=function(r,t,i){var n=arguments.length;if(n<3){if("string"!=typeof r){for(i in n<2&&(t=""),r)this.style(i,r[i],t);return this}i=""}var o=ut(r);function u(){this.style.removeProperty(r)}return vn(this,"style."+r,t,function(e){return null==e?u:(e+="",function(){var n,t=N.getComputedStyle(this,null).getPropertyValue(r);return t!==e&&(n=o(t,e),function(t){this.style.setProperty(r,n(t),i)})})})},sn.styleTween=function(r,i,o){return arguments.length<3&&(o=""),this.tween("style."+r,function(t,n){var e=i.call(this,t,n,N.getComputedStyle(this,null).getPropertyValue(r));return e&&function(t){this.style.setProperty(r,e(t),o)}})},sn.text=function(t){return vn(this,"text",t,dn)},sn.remove=function(){return this.each("end.transition",function(){var t;!this.__transition__&&(t=this.parentNode)&&t.removeChild(this)})},sn.ease=function(n){var e=this.id;return arguments.length<1?this.node().__transition__[e].ease:("function"!=typeof n&&(n=F.ease.apply(F,arguments)),on(this,function(t){t.__transition__[e].ease=n}))},sn.delay=function(r){var i=this.id;return on(this,"function"==typeof r?function(t,n,e){t.__transition__[i].delay=0|r.call(t,t.__data__,n,e)}:(r|=0,function(t){t.__transition__[i].delay=r}))},sn.duration=function(r){var i=this.id;return on(this,"function"==typeof r?function(t,n,e){t.__transition__[i].duration=Math.max(1,0|r.call(t,t.__data__,n,e))}:(r=Math.max(1,0|r),function(t){t.__transition__[i].duration=r}))},sn.each=function(r,n){var i=this.id;if(arguments.length<2){var t=gn,e=fn;fn=i,on(this,function(t,n,e){gn=t.__transition__[i],r.call(t,t.__data__,n,e)}),gn=t,fn=e}else on(this,function(t){t.__transition__[i].event.on(r,n)});return this},sn.transition=function(){for(var t,n,e,r=this.id,i=++hn,o=[],u=0,a=this.length;u<a;u++){o.push(t=[]);for(var c,l=0,f=(c=this[u]).length;l<f;l++)(n=c[l])&&((e=Object.create(n.__transition__[r])).delay+=e.duration,pn(n,l,i,e)),t.push(n)}return ln(o,i)},sn.tween=function(n,e){var r=this.id;return arguments.length<2?this.node().__transition__[r].tween.get(n):on(this,null==e?function(t){t.__transition__[r].tween.remove(n)}:function(t){t.__transition__[r].tween.set(n,e)})};var mn,yn,Mn=0,bn={},xn=null;function _n(){for(var t,n=Date.now(),e=xn;e;)(t=n-e.then)>=e.delay&&(e.flush=e.callback(t)),e=e.next;var r=wn()-n;24<r?(isFinite(r)&&(clearTimeout(yn),yn=setTimeout(_n,r)),mn=0):(mn=1,Sn(_n))}function wn(){for(var t=null,n=xn,e=1/0;n;)n=n.flush?(delete bn[n.callback.id],t?t.next=n.next:xn=n.next):(e=Math.min(e,n.then+n.delay),(t=n).next);return e}F.timer=function(t,n,e){if(arguments.length<3){if(arguments.length<2)n=0;else if(!isFinite(n))return;e=Date.now()}var r=bn[t.id];r&&r.callback===t?(r.then=e,r.delay=n):bn[t.id=++Mn]=xn={callback:t,then:e,delay:n,next:xn},mn||(yn=clearTimeout(yn),mn=1,Sn(_n))},F.timer.flush=function(){for(var t,n=Date.now(),e=xn;e;)t=n-e.then,e.delay||(e.flush=e.callback(t)),e=e.next;wn()};var Sn=N.requestAnimationFrame||N.webkitRequestAnimationFrame||N.mozRequestAnimationFrame||N.oRequestAnimationFrame||N.msRequestAnimationFrame||function(t){setTimeout(t,17)};F.mouse=function(t){return En(t,Q())};var kn=/WebKit/.test(N.navigator.userAgent)?-1:0;function En(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();if(kn<0&&(N.scrollX||N.scrollY)){var i=(e=F.select(u.body).append("svg").style("position","absolute").style("top",0).style("left",0))[0][0].getScreenCTM();kn=!(i.f||i.e),e.remove()}return r.y=kn?(r.x=n.pageX,n.pageY):(r.x=n.clientX,n.clientY),[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var o=t.getBoundingClientRect();return[n.clientX-o.left-t.clientLeft,n.clientY-o.top-t.clientTop]}function Nn(){}function An(t){var n=t[0],e=t[t.length-1];return n<e?[n,e]:[e,n]}function Tn(t){return t.rangeExtent?t.rangeExtent():An(t.range())}function qn(t,n){var e,r=0,i=t.length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),(n=n(u-o))&&(t[r]=n.floor(o),t[i]=n.ceil(u)),t}function Cn(){return Math}function zn(t,n){return F.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Dn(n){return(n=Math.pow(10,Math.round(Math.log(n)/Math.LN10)-1))&&{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}}function Ln(t,n){var e=An(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),o=n/r*i;return o<=.15?i*=10:o<=.35?i*=5:o<=.75&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Fn(t,n){return F.range.apply(F,Ln(t,n))}function Hn(t,n){return F.format(",."+Math.max(0,-Math.floor(Math.log(Ln(t,n)[2])/Math.LN10+.01))+"f")}function jn(t,n,e,r){var i=e(t[0],t[1]),o=r(n[0],n[1]);return function(t){return o(i(t))}}function Pn(e,t,n,r){var i=[],o=[],u=0,a=Math.min(e.length,t.length)-1;for(e[a]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++u<=a;)i.push(n(e[u-1],e[u])),o.push(r(t[u-1],t[u]));return function(t){var n=F.bisect(e,t,1,a)-1;return o[n](i[n](t))}}F.touches=function(e,t){return arguments.length<2&&(t=Q().touches),t?f(t).map(function(t){var n=En(e,t);return n.identifier=t.identifier,n}):[]},F.scale={},F.scale.linear=function(){return function t(e,r,i,o){var u,a;function n(){var t=2<Math.min(e.length,r.length)?Pn:jn,n=o?ct:at;return u=t(e,r,n,i),a=t(r,e,n,F.interpolate),c}function c(t){return u(t)}c.invert=function(t){return a(t)};c.domain=function(t){return arguments.length?(e=t.map(Number),n()):e};c.range=function(t){return arguments.length?(r=t,n()):r};c.rangeRound=function(t){return c.range(t).interpolate(F.interpolateRound)};c.clamp=function(t){return arguments.length?(o=t,n()):o};c.interpolate=function(t){return arguments.length?(i=t,n()):i};c.ticks=function(t){return Fn(e,t)};c.tickFormat=function(t){return Hn(e,t)};c.nice=function(){return qn(e,Dn),n()};c.copy=function(){return t(e,r,i,o)};return n()}([0,1],[0,1],F.interpolate,!1)},F.scale.log=function(){return function t(a,c){var l=c.pow;function o(t){return a(c(t))}o.invert=function(t){return l(a.invert(t))};o.domain=function(t){return arguments.length?(c=t[0]<0?Yn:On,l=c.pow,a.domain(t.map(c)),o):a.domain().map(l)};o.nice=function(){return a.domain(qn(a.domain(),Cn)),o};o.ticks=function(){var t=An(a.domain()),n=[];if(t.every(isFinite)){var e=Math.floor(t[0]),r=Math.ceil(t[1]),i=l(t[0]),o=l(t[1]);if(c===Yn)for(n.push(l(e));e++<r;)for(var u=9;0<u;u--)n.push(l(e)*u);else{for(;e<r;e++)for(var u=1;u<10;u++)n.push(l(e)*u);n.push(l(e))}for(e=0;n[e]<i;e++);for(r=n.length;n[r-1]>o;r--);n=n.slice(e,r)}return n};o.tickFormat=function(t,n){if(arguments.length<2&&(n=Rn),!arguments.length)return n;var e,r=Math.max(.1,t/o.ticks().length),i=c===Yn?(e=-1e-12,Math.floor):(e=1e-12,Math.ceil);return function(t){return t/l(i(c(t)+e))<=r?n(t):""}};o.copy=function(){return t(a.copy(),c)};return zn(o,a)}(F.scale.linear(),On)};var Rn=F.format(".0e");function On(t){return Math.log(t<0?0:t)/Math.LN10}function Yn(t){return-Math.log(0<t?0:-t)/Math.LN10}function Un(n){return function(t){return t<0?-Math.pow(-t,n):Math.pow(t,n)}}On.pow=function(t){return Math.pow(10,t)},Yn.pow=function(t){return-Math.pow(10,-t)},F.scale.pow=function(){return function t(n,e){var r=Un(e),i=Un(1/e);function o(t){return n(r(t))}o.invert=function(t){return i(n.invert(t))};o.domain=function(t){return arguments.length?(n.domain(t.map(r)),o):n.domain().map(i)};o.ticks=function(t){return Fn(o.domain(),t)};o.tickFormat=function(t){return Hn(o.domain(),t)};o.nice=function(){return o.domain(qn(o.domain(),Dn))};o.exponent=function(t){if(!arguments.length)return e;var n=o.domain();return r=Un(e=t),i=Un(1/e),o.domain(n)};o.copy=function(){return t(n.copy(),e)};return zn(o,n)}(F.scale.linear(),1)},F.scale.sqrt=function(){return F.scale.pow().exponent(.5)},F.scale.ordinal=function(){return function t(c,l){var i,f,s;function h(t){return f[((i.get(t)||i.set(t,c.push(t)))-1)%f.length]}function g(n,e){return F.range(c.length).map(function(t){return n+e*t})}h.domain=function(t){if(!arguments.length)return c;c=[],i=new M;for(var n,e=-1,r=t.length;++e<r;)i.has(n=t[e])||i.set(n,c.push(n));return h[l.t].apply(h,l.a)};h.range=function(t){return arguments.length?(f=t,s=0,l={t:"range",a:arguments},h):f};h.rangePoints=function(t,n){arguments.length<2&&(n=0);var e=t[0],r=t[1],i=(r-e)/(Math.max(1,c.length-1)+n);return f=g(c.length<2?(e+r)/2:e+i*n/2,i),s=0,l={t:"rangePoints",a:arguments},h};h.rangeBands=function(t,n,e){arguments.length<2&&(n=0),arguments.length<3&&(e=n);var r=t[1]<t[0],i=t[r-0],o=t[1-r],u=(o-i)/(c.length-n+2*e);return f=g(i+u*e,u),r&&f.reverse(),s=u*(1-n),l={t:"rangeBands",a:arguments},h};h.rangeRoundBands=function(t,n,e){arguments.length<2&&(n=0),arguments.length<3&&(e=n);var r=t[1]<t[0],i=t[r-0],o=t[1-r],u=Math.floor((o-i)/(c.length-n+2*e)),a=o-i-(c.length-n)*u;return f=g(i+Math.round(a/2),u),r&&f.reverse(),s=Math.round(u*(1-n)),l={t:"rangeRoundBands",a:arguments},h};h.rangeBand=function(){return s};h.rangeExtent=function(){return An(l.a[0])};h.copy=function(){return t(c,l)};return h.domain(c)}([],{t:"range",a:[[]]})},F.scale.category10=function(){return F.scale.ordinal().range(In)},F.scale.category20=function(){return F.scale.ordinal().range(Vn)},F.scale.category20b=function(){return F.scale.ordinal().range(Xn)},F.scale.category20c=function(){return F.scale.ordinal().range(Zn)};var In=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],Vn=["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"],Xn=["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"],Zn=["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"];F.scale.quantile=function(){return function t(e,r){var i;function n(){var t=0,n=r.length;for(i=[];++t<n;)i[t-1]=F.quantile(e,t/n);return o}function o(t){return isNaN(t=+t)?NaN:r[F.bisect(i,t)]}o.domain=function(t){return arguments.length?(e=t.filter(function(t){return!isNaN(t)}).sort(F.ascending),n()):e};o.range=function(t){return arguments.length?(r=t,n()):r};o.quantiles=function(){return i};o.copy=function(){return t(e,r)};return n()}([],[])},F.scale.quantize=function(){return function t(n,e,r){var i,o;function u(t){return r[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function a(){return i=r.length/(e-n),o=r.length-1,u}u.domain=function(t){return arguments.length?(n=+t[0],e=+t[t.length-1],a()):[n,e]};u.range=function(t){return arguments.length?(r=t,a()):r};u.copy=function(){return t(n,e,r)};return a()}(0,1,[0,1])},F.scale.threshold=function(){return function t(n,e){function r(t){return e[F.bisect(n,t)]}r.domain=function(t){return arguments.length?(n=t,r):n};r.range=function(t){return arguments.length?(e=t,r):e};r.copy=function(){return t(n,e)};return r}([.5],[0,1])},F.scale.identity=function(){return function t(n){function e(t){return+t}e.invert=e;e.domain=e.range=function(t){return arguments.length?(n=t.map(e),e):n};e.ticks=function(t){return Fn(n,t)};e.tickFormat=function(t){return Hn(n,t)};e.copy=function(){return t(n)};return e}([0,1])},F.svg={},F.svg.arc=function(){var f=Jn,s=Gn,h=Kn,g=Wn;function n(){var t=f.apply(this,arguments),n=s.apply(this,arguments),e=h.apply(this,arguments)+Bn,r=g.apply(this,arguments)+Bn,i=(r<e&&(i=e,e=r,r=i),r-e),o=i<k?"0":"1",u=Math.cos(e),a=Math.sin(e),c=Math.cos(r),l=Math.sin(r);return $n<=i?t?"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"M0,"+t+"A"+t+","+t+" 0 1,0 0,"+-t+"A"+t+","+t+" 0 1,0 0,"+t+"Z":"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z":t?"M"+n*u+","+n*a+"A"+n+","+n+" 0 "+o+",1 "+n*c+","+n*l+"L"+t*c+","+t*l+"A"+t+","+t+" 0 "+o+",0 "+t*u+","+t*a+"Z":"M"+n*u+","+n*a+"A"+n+","+n+" 0 "+o+",1 "+n*c+","+n*l+"L0,0Z"}return n.innerRadius=function(t){return arguments.length?(f=A(t),n):f},n.outerRadius=function(t){return arguments.length?(s=A(t),n):s},n.startAngle=function(t){return arguments.length?(h=A(t),n):h},n.endAngle=function(t){return arguments.length?(g=A(t),n):g},n.centroid=function(){var t=(f.apply(this,arguments)+s.apply(this,arguments))/2,n=(h.apply(this,arguments)+g.apply(this,arguments))/2+Bn;return[Math.cos(n)*t,Math.sin(n)*t]},n};var Bn=-k/2,$n=2*k-1e-6;function Jn(t){return t.innerRadius}function Gn(t){return t.outerRadius}function Kn(t){return t.startAngle}function Wn(t){return t.endAngle}function Qn(l){var f=te,s=ne,h=E,g=re,n=g.key,p=.7;function e(t){var n,e=[],r=[],i=-1,o=t.length,u=A(f),a=A(s);function c(){e.push("M",g(l(r),p))}for(;++i<o;)h.call(this,n=t[i],i)?r.push([+u.call(this,n,i),+a.call(this,n,i)]):r.length&&(c(),r=[]);return r.length&&c(),e.length?e.join(""):null}return e.x=function(t){return arguments.length?(f=t,e):f},e.y=function(t){return arguments.length?(s=t,e):s},e.defined=function(t){return arguments.length?(h=t,e):h},e.interpolate=function(t){return arguments.length?(n="function"==typeof t?g=t:(g=ee.get(t)||re).key,e):n},e.tension=function(t){return arguments.length?(p=t,e):p},e}function te(t){return t[0]}function ne(t){return t[1]}F.svg.line=function(){return Qn(S)};var ee=F.map({linear:re,"linear-closed":function(t){return re(t)+"Z"},"step-before":ie,"step-after":oe,basis:ce,"basis-open":function(t){if(t.length<4)return re(t);var n,e=[],r=-1,i=t.length,o=[0],u=[0];for(;++r<3;)n=t[r],o.push(n[0]),u.push(n[1]);e.push(le(he,o)+","+le(he,u)),--r;for(;++r<i;)n=t[r],o.shift(),o.push(n[0]),u.shift(),u.push(n[1]),ge(e,o,u);return e.join("")},"basis-closed":function(t){var n,e,r=-1,i=t.length,o=i+4,u=[],a=[];for(;++r<4;)e=t[r%i],u.push(e[0]),a.push(e[1]);n=[le(he,u),",",le(he,a)],--r;for(;++r<o;)e=t[r%i],u.shift(),u.push(e[0]),a.shift(),a.push(e[1]),ge(n,u,a);return n.join("")},bundle:function(t,n){var e=t.length-1;if(e)for(var r,i,o=t[0][0],u=t[0][1],a=t[e][0]-o,c=t[e][1]-u,l=-1;++l<=e;)r=t[l],i=l/e,r[0]=n*r[0]+(1-n)*(o+i*a),r[1]=n*r[1]+(1-n)*(u+i*c);return ce(t)},cardinal:function(t,n){return t.length<3?re(t):t[0]+ue(t,ae(t,n))},"cardinal-open":function(t,n){return t.length<4?re(t):t[1]+ue(t.slice(1,t.length-1),ae(t,n))},"cardinal-closed":function(t,n){return t.length<3?re(t):t[0]+ue((t.push(t[0]),t),ae([t[t.length-2]].concat(t,[t[1]]),n))},monotone:function(t){return t.length<3?re(t):t[0]+ue(t,function(t){var n,e,r,i,o=[],u=function(t){var n=0,e=t.length-1,r=[],i=t[0],o=t[1],u=r[0]=pe(i,o);for(;++n<e;)r[n]=(u+(u=pe(i=o,o=t[n+1])))/2;return r[n]=u,r}(t),a=-1,c=t.length-1;for(;++a<c;)n=pe(t[a],t[a+1]),Math.abs(n)<1e-6?u[a]=u[a+1]=0:(e=u[a]/n,r=u[a+1]/n,9<(i=e*e+r*r)&&(i=3*n/Math.sqrt(i),u[a]=i*e,u[a+1]=i*r));a=-1;for(;++a<=c;)i=(t[Math.min(c,a+1)][0]-t[Math.max(0,a-1)][0])/(6*(1+u[a]*u[a])),o.push([i||0,u[a]*i||0]);return o}(t))}});function re(t){return t.join("L")}function ie(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("V",(r=t[n])[1],"H",r[0]);return i.join("")}function oe(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r=t[n])[0],"V",r[1]);return i.join("")}function ue(t,n){if(n.length<1||t.length!=n.length&&t.length!=n.length+2)return re(t);var e=t.length!=n.length,r="",i=t[0],o=t[1],u=n[0],a=u,c=1;if(e&&(r+="Q"+(o[0]-2*u[0]/3)+","+(o[1]-2*u[1]/3)+","+o[0]+","+o[1],i=t[1],c=2),1<n.length){a=n[1],o=t[c],c++,r+="C"+(i[0]+u[0])+","+(i[1]+u[1])+","+(o[0]-a[0])+","+(o[1]-a[1])+","+o[0]+","+o[1];for(var l=2;l<n.length;l++,c++)o=t[c],a=n[l],r+="S"+(o[0]-a[0])+","+(o[1]-a[1])+","+o[0]+","+o[1]}if(e){var f=t[c];r+="Q"+(o[0]+2*a[0]/3)+","+(o[1]+2*a[1]/3)+","+f[0]+","+f[1]}return r}function ae(t,n){for(var e,r=[],i=(1-n)/2,o=t[0],u=t[1],a=1,c=t.length;++a<c;)e=o,o=u,u=t[a],r.push([i*(u[0]-e[0]),i*(u[1]-e[1])]);return r}function ce(t){if(t.length<3)return re(t);var n=1,e=t.length,r=t[0],i=r[0],o=r[1],u=[i,i,i,(r=t[1])[0]],a=[o,o,o,r[1]],c=[i,",",o];for(ge(c,u,a);++n<e;)r=t[n],u.shift(),u.push(r[0]),a.shift(),a.push(r[1]),ge(c,u,a);for(n=-1;++n<2;)u.shift(),u.push(r[0]),a.shift(),a.push(r[1]),ge(c,u,a);return c.join("")}function le(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}ee.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var fe=[0,2/3,1/3,0],se=[0,1/3,2/3,0],he=[0,1/6,2/3,1/6];function ge(t,n,e){t.push("C",le(fe,n),",",le(fe,e),",",le(se,n),",",le(se,e),",",le(he,n),",",le(he,e))}function pe(t,n){return(n[1]-t[1])/(n[0]-t[0])}function de(t){for(var n,e,r,i=-1,o=t.length;++i<o;)e=(n=t[i])[0],r=n[1]+Bn,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function ve(p){var d=te,v=te,m=0,y=ne,M=E,b=re,n=b.key,x=b,_="L",w=.7;function e(t){var n,e,r,i=[],o=[],u=[],a=-1,c=t.length,l=A(d),f=A(m),s=d===v?function(){return e}:A(v),h=m===y?function(){return r}:A(y);function g(){i.push("M",b(p(u),w),_,x(p(o.reverse()),w),"Z")}for(;++a<c;)M.call(this,n=t[a],a)?(o.push([e=+l.call(this,n,a),r=+f.call(this,n,a)]),u.push([+s.call(this,n,a),+h.call(this,n,a)])):o.length&&(g(),o=[],u=[]);return o.length&&g(),i.length?i.join(""):null}return e.x=function(t){return arguments.length?(d=v=t,e):v},e.x0=function(t){return arguments.length?(d=t,e):d},e.x1=function(t){return arguments.length?(v=t,e):v},e.y=function(t){return arguments.length?(m=y=t,e):y},e.y0=function(t){return arguments.length?(m=t,e):m},e.y1=function(t){return arguments.length?(y=t,e):y},e.defined=function(t){return arguments.length?(M=t,e):M},e.interpolate=function(t){return arguments.length?(n="function"==typeof t?b=t:(b=ee.get(t)||re).key,x=b.reverse||b,_=b.closed?"M":"L",e):n},e.tension=function(t){return arguments.length?(w=t,e):w},e}function me(t){return t.radius}function ye(t){return[t.x,t.y]}function Me(){return 64}function be(){return"circle"}function xe(t){var n=Math.sqrt(t/k);return"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z"}F.svg.line.radial=function(){var t=Qn(de);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},(ie.reverse=oe).reverse=ie,F.svg.area=function(){return ve(S)},F.svg.area.radial=function(){var t=ve(de);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},F.svg.chord=function(){var u=e,a=t,c=me,l=Kn,f=Wn;function n(t,n){var e,r,i=s(this,u,t,n),o=s(this,a,t,n);return"M"+i.p0+h(i.r,i.p1,i.a1-i.a0)+(r=o,(e=i).a0==r.a0&&e.a1==r.a1?g(i.r,i.p1,i.r,i.p0):g(i.r,i.p1,o.r,o.p0)+h(o.r,o.p1,o.a1-o.a0)+g(o.r,o.p1,i.r,i.p0))+"Z"}function s(t,n,e,r){var i=n.call(t,e,r),o=c.call(t,i,r),u=l.call(t,i,r)+Bn,a=f.call(t,i,r)+Bn;return{r:o,a0:u,a1:a,p0:[o*Math.cos(u),o*Math.sin(u)],p1:[o*Math.cos(a),o*Math.sin(a)]}}function h(t,n,e){return"A"+t+","+t+" 0 "+ +(k<e)+",1 "+n}function g(t,n,e,r){return"Q 0,0 "+r}return n.radius=function(t){return arguments.length?(c=A(t),n):c},n.source=function(t){return arguments.length?(u=A(t),n):u},n.target=function(t){return arguments.length?(a=A(t),n):a},n.startAngle=function(t){return arguments.length?(l=A(t),n):l},n.endAngle=function(t){return arguments.length?(f=A(t),n):f},n},F.svg.diagonal=function(){var u=e,a=t,c=ye;function n(t,n){var e=u.call(this,t,n),r=a.call(this,t,n),i=(e.y+r.y)/2,o=[e,{x:e.x,y:i},{x:r.x,y:i},r];return"M"+(o=o.map(c))[0]+"C"+o[1]+" "+o[2]+" "+o[3]}return n.source=function(t){return arguments.length?(u=A(t),n):u},n.target=function(t){return arguments.length?(a=A(t),n):a},n.projection=function(t){return arguments.length?(c=t,n):c},n},F.svg.diagonal.radial=function(){var t=F.svg.diagonal(),n=ye,e=t.projection;return t.projection=function(t){return arguments.length?e((r=n=t,function(){var t=r.apply(this,arguments),n=t[0],e=t[1]+Bn;return[n*Math.cos(e),n*Math.sin(e)]})):n;var r},t},F.svg.symbol=function(){var e=be,r=Me;function n(t,n){return(_e.get(e.call(this,t,n))||xe)(r.call(this,t,n))}return n.type=function(t){return arguments.length?(e=A(t),n):e},n.size=function(t){return arguments.length?(r=A(t),n):r},n};var _e=F.map({circle:xe,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Se)),e=n*Se;return"M0,"+-n+"L"+e+",0 0,"+n+" "+-e+",0Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/we),e=n*we/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/we),e=n*we/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});F.svg.symbolTypes=_e.keys();var we=Math.sqrt(3),Se=Math.tan(30*b);F.svg.axis=function(){var k,E=F.scale.linear(),N=ke,A=6,T=6,q=6,C=3,z=[10],D=null,L=0;function r(t){t.each(function(){var t,n=F.select(this),e=null==D?E.ticks?E.ticks.apply(E,z):E.domain():D,r=null==k?E.tickFormat?E.tickFormat.apply(E,z):String:k,i=function(t,n,e){if(r=[],e&&1<n.length){for(var r,i,o,u=An(t.domain()),a=-1,c=n.length,l=(n[1]-n[0])/++e;++a<c;)for(i=e;0<--i;)(o=+n[a]-i*l)>=u[0]&&r.push(o);for(--a,i=0;++i<e&&(o=+n[a]+i*l)<u[1];)r.push(o)}return r}(E,e,L),o=n.selectAll(".tick.minor").data(i,String),u=o.enter().insert("line",".tick").attr("class","tick minor").style("opacity",1e-6),a=F.transition(o.exit()).style("opacity",1e-6).remove(),c=F.transition(o).style("opacity",1),l=n.selectAll(".tick.major").data(e,String),f=l.enter().insert("g","path").attr("class","tick major").style("opacity",1e-6),s=F.transition(l.exit()).style("opacity",1e-6).remove(),h=F.transition(l).style("opacity",1),g=Tn(E),p=n.selectAll(".domain").data([0]),d=(p.enter().append("path").attr("class","domain"),F.transition(p)),v=E.copy(),m=this.__chart__||v;this.__chart__=v,f.append("line"),f.append("text");var y=f.select("line"),M=h.select("line"),b=l.select("text").text(r),x=f.select("text"),_=h.select("text");switch(N){case"bottom":t=Ne,u.attr("y2",T),c.attr("x2",0).attr("y2",T),y.attr("y2",A),x.attr("y",Math.max(A,0)+C),M.attr("x2",0).attr("y2",A),_.attr("x",0).attr("y",Math.max(A,0)+C),b.attr("dy",".71em").style("text-anchor","middle"),d.attr("d","M"+g[0]+","+q+"V0H"+g[1]+"V"+q);break;case"top":t=Ne,u.attr("y2",-T),c.attr("x2",0).attr("y2",-T),y.attr("y2",-A),x.attr("y",-(Math.max(A,0)+C)),M.attr("x2",0).attr("y2",-A),_.attr("x",0).attr("y",-(Math.max(A,0)+C)),b.attr("dy","0em").style("text-anchor","middle"),d.attr("d","M"+g[0]+","+-q+"V0H"+g[1]+"V"+-q);break;case"left":t=Ae,u.attr("x2",-T),c.attr("x2",-T).attr("y2",0),y.attr("x2",-A),x.attr("x",-(Math.max(A,0)+C)),M.attr("x2",-A).attr("y2",0),_.attr("x",-(Math.max(A,0)+C)).attr("y",0),b.attr("dy",".32em").style("text-anchor","end"),d.attr("d","M"+-q+","+g[0]+"H0V"+g[1]+"H"+-q);break;case"right":t=Ae,u.attr("x2",T),c.attr("x2",T).attr("y2",0),y.attr("x2",A),x.attr("x",Math.max(A,0)+C),M.attr("x2",A).attr("y2",0),_.attr("x",Math.max(A,0)+C).attr("y",0),b.attr("dy",".32em").style("text-anchor","start"),d.attr("d","M"+q+","+g[0]+"H0V"+g[1]+"H"+q)}if(E.ticks)f.call(t,m),h.call(t,v),s.call(t,v),u.call(t,m),c.call(t,v),a.call(t,v);else{var w=v.rangeBand()/2,S=function(t){return v(t)+w};f.call(t,S),h.call(t,S)}})}return r.scale=function(t){return arguments.length?(E=t,r):E},r.orient=function(t){return arguments.length?(N=t in Ee?t+"":ke,r):N},r.ticks=function(){return arguments.length?(z=arguments,r):z},r.tickValues=function(t){return arguments.length?(D=t,r):D},r.tickFormat=function(t){return arguments.length?(k=t,r):k},r.tickSize=function(t,n){if(!arguments.length)return A;var e=arguments.length-1;return A=+t,T=1<e?+n:A,q=0<e?+arguments[e]:A,r},r.tickPadding=function(t){return arguments.length?(C=+t,r):C},r.tickSubdivide=function(t){return arguments.length?(L=+t,r):L},r};var ke="bottom",Ee={top:1,right:1,bottom:1,left:1};function Ne(t,n){t.attr("transform",function(t){return"translate("+n(t)+",0)"})}function Ae(t,n){t.attr("transform",function(t){return"translate(0,"+n(t)+")"})}F.svg.brush=function(){var y,M=tt(w,"brushstart","brush","brushend"),b=null,x=null,o=qe[0],_=[[0,0],[0,0]];function w(t){t.each(function(){var t,n=F.select(this),e=n.selectAll(".background").data([0]),r=n.selectAll(".extent").data([0]),i=n.selectAll(".resize").data(o,String);n.style("pointer-events","all").on("mousedown.brush",u).on("touchstart.brush",u),e.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),r.enter().append("rect").attr("class","extent").style("cursor","move"),i.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Te[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),i.style("display",w.empty()?"none":null),i.exit().remove(),b&&(t=Tn(b),e.attr("x",t[0]).attr("width",t[1]-t[0]),k(n)),x&&(t=Tn(x),e.attr("y",t[0]).attr("height",t[1]-t[0]),E(n)),S(n)})}function S(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+_[+/e$/.test(t)][0]+","+_[+/^s/.test(t)][1]+")"})}function k(t){t.select(".extent").attr("x",_[0][0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",_[1][0]-_[0][0])}function E(t){t.select(".extent").attr("y",_[0][1]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",_[1][1]-_[0][1])}function u(){var f,e,n=this,t=F.select(F.event.target),r=M.of(n,arguments),i=F.select(n),o=t.datum(),u=!/^(n|s)$/.test(o)&&b,a=!/^(e|w)$/.test(o)&&x,s=t.classed("extent"),h=p(),c=F.select(N).on("mousemove.brush",d).on("mouseup.brush",m).on("touchmove.brush",d).on("touchend.brush",m).on("keydown.brush",function(){32==F.event.keyCode&&(s||(f=null,h[0]-=_[1][0],h[1]-=_[1][1],s=2),W())}).on("keyup.brush",function(){32==F.event.keyCode&&2==s&&(h[0]+=_[1][0],h[1]+=_[1][1],s=0,W())});if(s)h[0]=_[0][0]-h[0],h[1]=_[0][1]-h[1];else if(o){var l=+/w$/.test(o),g=+/^n/.test(o);e=[_[1-l][0]-h[0],_[1-g][1]-h[1]],h[0]=_[l][0],h[1]=_[g][1]}else F.event.altKey&&(f=h.slice());function p(){var t=F.event.changedTouches;return t?F.touches(n,t)[0]:F.mouse(n)}function d(){var t=p(),n=!1;e&&(t[0]+=e[0],t[1]+=e[1]),s||(F.event.altKey?(f||(f=[(_[0][0]+_[1][0])/2,(_[0][1]+_[1][1])/2]),h[0]=_[+(t[0]<f[0])][0],h[1]=_[+(t[1]<f[1])][1]):f=null),u&&v(t,b,0)&&(k(i),n=!0),a&&v(t,x,1)&&(E(i),n=!0),n&&(S(i),r({type:"brush",mode:s?"move":"resize"}))}function v(t,n,e){var r,i,o=Tn(n),u=o[0],a=o[1],c=h[e],l=_[1][e]-_[0][e];if(s&&(u-=c,a-=l+c),r=Math.max(u,Math.min(a,t[e])),s?i=(r+=c)+l:(f&&(c=Math.max(u,Math.min(a,2*f[e]-r))),c<r?(i=r,r=c):i=c),_[0][e]!==r||_[1][e]!==i)return y=null,_[0][e]=r,_[1][e]=i,!0}function m(){d(),i.style("pointer-events","all").selectAll(".resize").style("display",w.empty()?"none":null),F.select("body").style("cursor",null),c.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),r({type:"brushend"}),W()}i.style("pointer-events","none").selectAll(".resize").style("display",null),F.select("body").style("cursor",t.style("cursor")),r({type:"brushstart"}),d(),W()}return w.x=function(t){return arguments.length?(o=qe[!(b=t)<<1|!x],w):b},w.y=function(t){return arguments.length?(o=qe[!b<<1|!(x=t)],w):x},w.extent=function(t){var n,e,r,i,o;return arguments.length?(y=[[0,0],[0,0]],b&&(n=t[0],e=t[1],x&&(n=n[0],e=e[0]),y[0][0]=n,y[1][0]=e,b.invert&&(n=b(n),e=b(e)),e<n&&(o=n,n=e,e=o),_[0][0]=0|n,_[1][0]=0|e),x&&(r=t[0],i=t[1],b&&(r=r[1],i=i[1]),y[0][1]=r,y[1][1]=i,x.invert&&(r=x(r),i=x(i)),i<r&&(o=r,r=i,i=o),_[0][1]=0|r,_[1][1]=0|i),w):(t=y||_,b&&(n=t[0][0],e=t[1][0],y||(n=_[0][0],e=_[1][0],b.invert&&(n=b.invert(n),e=b.invert(e)),e<n&&(o=n,n=e,e=o))),x&&(r=t[0][1],i=t[1][1],y||(r=_[0][1],i=_[1][1],x.invert&&(r=x.invert(r),i=x.invert(i)),i<r&&(o=r,r=i,i=o))),b&&x?[[n,r],[e,i]]:b?[n,e]:x&&[r,i])},w.clear=function(){return y=null,_[0][0]=_[0][1]=_[1][0]=_[1][1]=0,w},w.empty=function(){return b&&_[0][0]===_[1][0]||x&&_[0][1]===_[1][1]},F.rebind(w,M,"on")};var Te={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},qe=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];F.behavior={},F.behavior.drag=function(){var s=tt(n,"drag","dragstart","dragend"),h=null;function n(){this.on("mousedown.drag",t).on("touchstart.drag",t)}function t(){var r,i=this,o=s.of(i,arguments),t=F.event.target,n=F.event.touches?F.event.changedTouches[0].identifier:null,u=c(),a=0,e=F.select(N).on(null!=n?"touchmove.drag-"+n:"mousemove.drag",function(){if(!i.parentNode)return l();var t=c(),n=t[0]-u[0],e=t[1]-u[1];a|=n|e,u=t,W(),o({type:"drag",x:t[0]+r[0],y:t[1]+r[1],dx:n,dy:e})}).on(null!=n?"touchend.drag-"+n:"mouseup.drag",l,!0);function c(){var t=i.parentNode;return null!=n?F.touches(t).filter(function(t){return t.identifier===n})[0]:F.mouse(t)}function l(){o({type:"dragend"}),a&&(W(),F.event.target===t&&e.on("click.drag",f,!0)),e.on(null!=n?"touchmove.drag-"+n:"mousemove.drag",null).on(null!=n?"touchend.drag-"+n:"mouseup.drag",null)}function f(){W(),e.on("click.drag",null)}r=h?[(r=h.apply(i,arguments)).x-u[0],r.y-u[1]]:[0,0],null==n&&W(),o({type:"dragstart"})}return n.origin=function(t){return arguments.length?(h=t,n):h},F.rebind(n,s,"on")},F.behavior.zoom=function(){var o,u,n,e,r,i,a,c=[0,0],l=1,f=ze,s=tt(h,"zoom");function h(){this.on("mousedown.zoom",t).on("mousemove.zoom",M).on(De+".zoom",y).on("dblclick.zoom",b).on("touchstart.zoom",x).on("touchmove.zoom",_).on("touchend.zoom",x)}function g(t){return[(t[0]-c[0])/l,(t[1]-c[1])/l]}function p(t){l=Math.max(f[0],Math.min(f[1],t))}function d(t,n){var e;n=[(e=n)[0]*l+c[0],e[1]*l+c[1]],c[0]+=t[0]-n[0],c[1]+=t[1]-n[1]}function v(){e&&e.domain(n.range().map(function(t){return(t-c[0])/l}).map(n.invert)),i&&i.domain(r.range().map(function(t){return(t-c[1])/l}).map(r.invert))}function m(t){v(),F.event.preventDefault(),t({type:"zoom",scale:l,translate:c})}function t(){var t=this,n=s.of(t,arguments),e=F.event.target,r=0,i=F.select(N).on("mousemove.zoom",function(){r=1,d(F.mouse(t),o),m(n)}).on("mouseup.zoom",function(){r&&W();i.on("mousemove.zoom",null).on("mouseup.zoom",null),r&&F.event.target===e&&i.on("click.zoom",u,!0)}),o=g(F.mouse(t));function u(){W(),i.on("click.zoom",null)}N.focus(),W()}function y(){o||(o=g(F.mouse(this))),p(Math.pow(2,.002*Ce())*l),d(F.mouse(this),o),m(s.of(this,arguments))}function M(){o=null}function b(){var t=F.mouse(this),n=g(t),e=Math.log(l)/Math.LN2;p(Math.pow(2,F.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)),d(t,n),m(s.of(this,arguments))}function x(){var t=F.touches(this),n=Date.now();if(u=l,o={},t.forEach(function(t){o[t.identifier]=g(t)}),W(),1===t.length){if(n-a<500){var e=t[0],r=g(t[0]);p(2*l),d(e,r),m(s.of(this,arguments))}a=n}}function _(){var t=F.touches(this),n=t[0],e=o[n.identifier];if(r=t[1]){var r,i=o[r.identifier];n=[(n[0]+r[0])/2,(n[1]+r[1])/2],e=[(e[0]+i[0])/2,(e[1]+i[1])/2],p(F.event.scale*u)}d(n,e),a=null,m(s.of(this,arguments))}return h.translate=function(t){return arguments.length?(c=t.map(Number),v(),h):c},h.scale=function(t){return arguments.length?(l=+t,v(),h):l},h.scaleExtent=function(t){return arguments.length?(f=null==t?ze:t.map(Number),h):f},h.x=function(t){return arguments.length?(n=(e=t).copy(),c=[0,0],l=1,h):e},h.y=function(t){return arguments.length?(r=(i=t).copy(),c=[0,0],l=1,h):i},F.rebind(h,s,"on")};var Ce,ze=[0,1/0],De="onwheel"in document?(Ce=function(){return-F.event.deltaY*(F.event.deltaMode?120:1)},"wheel"):"onmousewheel"in document?(Ce=function(){return F.event.wheelDelta},"mousewheel"):(Ce=function(){return-F.event.detail},"MozMousePixelScroll");function Le(t){for(var n=t.source,e=t.target,r=function(t,n){if(t===n)return t;var e=Fe(t),r=Fe(n),i=e.pop(),o=r.pop(),u=null;for(;i===o;)u=i,i=e.pop(),o=r.pop();return u}(n,e),i=[n];n!==r;)n=n.parent,i.push(n);for(var o=i.length;e!==r;)i.splice(o,0,e),e=e.parent;return i}function Fe(t){for(var n=[],e=t.parent;null!=e;)n.push(t),e=(t=e).parent;return n.push(t),n}function He(t){t.fixed|=2}function je(t){t.fixed&=-7}function Pe(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Re(t){t.fixed&=-5}F.layout={},F.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++e<r;)n.push(Le(t[e]));return n}},F.layout.chord=function(){var v,m,y,M,b,x,_,n={},w=0;function t(){var t,n,e,r,i,o={},u=[],a=F.range(M),c=[];for(v=[],m=[],t=0,r=-1;++r<M;){for(n=0,i=-1;++i<M;)n+=y[r][i];u.push(n),c.push(F.range(M)),t+=n}for(b&&a.sort(function(t,n){return b(u[t],u[n])}),x&&c.forEach(function(t,e){t.sort(function(t,n){return x(y[e][t],y[e][n])})}),t=(2*k-w*M)/t,n=0,r=-1;++r<M;){for(e=n,i=-1;++i<M;){var l=a[r],f=c[l][i],s=y[l][f],h=n,g=n+=s*t;o[l+"-"+f]={index:l,subindex:f,startAngle:h,endAngle:g,value:s}}m[l]={index:l,startAngle:e,endAngle:n,value:(n-e)/t},n+=w}for(r=-1;++r<M;)for(i=r-1;++i<M;){var p=o[r+"-"+i],d=o[i+"-"+r];(p.value||d.value)&&v.push(p.value<d.value?{source:d,target:p}:{source:p,target:d})}_&&S()}function S(){v.sort(function(t,n){return _((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}return n.matrix=function(t){return arguments.length?(M=(y=t)&&y.length,v=m=null,n):y},n.padding=function(t){return arguments.length?(w=t,v=m=null,n):w},n.sortGroups=function(t){return arguments.length?(b=t,v=m=null,n):b},n.sortSubgroups=function(t){return arguments.length?(x=t,v=null,n):x},n.sortChords=function(t){return arguments.length?(_=t,v&&S(),n):_},n.chords=function(){return v||t(),v},n.groups=function(){return m||t(),m},n},F.layout.force=function(){var t,s,h,g,p,i={},d=F.dispatch("start","tick","end"),v=[1,1],m=.9,o=Oe,y=Ye,M=-30,b=.1,l=.8,x=[],_=[];function w(c){return function(t,n,e,r){if(t.point!==c){var i=t.cx-c.x,o=t.cy-c.y,u=1/Math.sqrt(i*i+o*o);if((r-n)*u<l){var a=t.charge*u*u;return c.px-=i*a,c.py-=o*a,!0}if(t.point&&isFinite(u)){a=t.pointCharge*u*u;c.px-=i*a,c.py-=o*a}}return!t.charge}}function n(t){t.px=F.event.x,t.py=F.event.y,i.resume()}return i.tick=function(){if((s*=.99)<.005)return d.end({type:"end",alpha:s=0}),!0;var t,n,e,r,i,o,u,a,c,l=x.length,f=_.length;for(n=0;n<f;++n)r=(e=_[n]).source,(o=(a=(i=e.target).x-r.x)*a+(c=i.y-r.y)*c)&&(a*=o=s*g[n]*((o=Math.sqrt(o))-h[n])/o,c*=o,i.x-=a*(u=r.weight/(i.weight+r.weight)),i.y-=c*u,r.x+=a*(u=1-u),r.y+=c*u);if((u=s*b)&&(a=v[0]/2,c=v[1]/2,n=-1,u))for(;++n<l;)(e=x[n]).x+=(a-e.x)*u,e.y+=(c-e.y)*u;if(M)for(!function t(n,e,r){var i=0,o=0;n.charge=0;if(!n.leaf)for(var u,a=n.nodes,c=a.length,l=-1;++l<c;)null!=(u=a[l])&&(t(u,e,r),n.charge+=u.charge,i+=u.charge*u.cx,o+=u.charge*u.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var f=e*r[n.point.index];n.charge+=n.pointCharge=f,i+=f*n.point.x,o+=f*n.point.y}n.cx=i/n.charge;n.cy=o/n.charge}(t=F.geom.quadtree(x),s,p),n=-1;++n<l;)(e=x[n]).fixed||t.visit(w(e));for(n=-1;++n<l;)(e=x[n]).fixed?(e.x=e.px,e.y=e.py):(e.x-=(e.px-(e.px=e.x))*m,e.y-=(e.py-(e.py=e.y))*m);d.tick({type:"tick",alpha:s})},i.nodes=function(t){return arguments.length?(x=t,i):x},i.links=function(t){return arguments.length?(_=t,i):_},i.size=function(t){return arguments.length?(v=t,i):v},i.linkDistance=function(t){return arguments.length?(o="function"==typeof t?t:+t,i):o},i.distance=i.linkDistance,i.linkStrength=function(t){return arguments.length?(y="function"==typeof t?t:+t,i):y},i.friction=function(t){return arguments.length?(m=+t,i):m},i.charge=function(t){return arguments.length?(M="function"==typeof t?t:+t,i):M},i.gravity=function(t){return arguments.length?(b=+t,i):b},i.theta=function(t){return arguments.length?(l=+t,i):l},i.alpha=function(t){return arguments.length?(t=+t,s?s=0<t?t:0:0<t&&(d.start({type:"start",alpha:s=t}),F.timer(i.tick)),i):s},i.start=function(){var u,a,c,t,l=x.length,f=_.length,n=v[0],e=v[1];for(u=0;u<l;++u)(t=x[u]).index=u,t.weight=0;for(u=0;u<f;++u)"number"==typeof(t=_[u]).source&&(t.source=x[t.source]),"number"==typeof t.target&&(t.target=x[t.target]),++t.source.weight,++t.target.weight;for(u=0;u<l;++u)t=x[u],isNaN(t.x)&&(t.x=r("x",n)),isNaN(t.y)&&(t.y=r("y",e)),isNaN(t.px)&&(t.px=t.x),isNaN(t.py)&&(t.py=t.y);if(h=[],"function"==typeof o)for(u=0;u<f;++u)h[u]=+o.call(this,_[u],u);else for(u=0;u<f;++u)h[u]=o;if(g=[],"function"==typeof y)for(u=0;u<f;++u)g[u]=+y.call(this,_[u],u);else for(u=0;u<f;++u)g[u]=y;if(p=[],"function"==typeof M)for(u=0;u<l;++u)p[u]=+M.call(this,x[u],u);else for(u=0;u<l;++u)p[u]=M;function r(t,n){for(var e,r=function(){if(!c){for(c=[],a=0;a<l;++a)c[a]=[];for(a=0;a<f;++a){var t=_[a];c[t.source.index].push(t.target),c[t.target.index].push(t.source)}}return c[u]}(),i=-1,o=r.length;++i<o;)if(!isNaN(e=r[i][t]))return e;return Math.random()*n}return i.resume()},i.resume=function(){return i.alpha(.1)},i.stop=function(){return i.alpha(0)},i.drag=function(){if(t||(t=F.behavior.drag().origin(S).on("dragstart.force",He).on("drag.force",n).on("dragend.force",je)),!arguments.length)return t;this.on("mouseover.force",Pe).on("mouseout.force",Re).call(t)},F.rebind(i,d,"on")};var Oe=20,Ye=1;F.layout.partition=function(){var r=F.layout.hierarchy(),i=[1,1];function n(t,n){var e=r.call(this,t,n);return function t(n,e,r,i){var o=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,o&&(u=o.length)){var u,a,c,l=-1;for(r=n.value?r/n.value:0;++l<u;)t(a=o[l],e,c=a.value*r,i),e+=c}}(e[0],0,i[0],i[1]/function t(n){var e=n.children,r=0;if(e&&(i=e.length))for(var i,o=-1;++o<i;)r=Math.max(r,t(e[o]));return 1+r}(e[0])),e}return n.size=function(t){return arguments.length?(i=t,n):i},er(n,r)},F.layout.pie=function(){var a=Number,c=Ue,n=0,l=2*k;function f(e){var r=e.map(function(t,n){return+a.call(f,t,n)}),i=+("function"==typeof n?n.apply(this,arguments):n),o=(("function"==typeof l?l.apply(this,arguments):l)-n)/F.sum(r),t=F.range(e.length);null!=c&&t.sort(c===Ue?function(t,n){return r[n]-r[t]}:function(t,n){return c(e[t],e[n])});var u=[];return t.forEach(function(t){var n;u[t]={data:e[t],value:n=r[t],startAngle:i,endAngle:i+=n*o}}),u}return f.value=function(t){return arguments.length?(a=t,f):a},f.sort=function(t){return arguments.length?(c=t,f):c},f.startAngle=function(t){return arguments.length?(n=t,f):n},f.endAngle=function(t){return arguments.length?(l=t,f):l},f};var Ue={};function Ie(t){return t.x}function Ve(t){return t.y}function Xe(t,n,e){t.y0=n,t.y=e}F.layout.stack=function(){var s=S,h=$e,g=Je,p=Xe,d=Ie,v=Ve;function m(t,n){var e=t.map(function(t,n){return s.call(m,t,n)}),r=e.map(function(t){return t.map(function(t,n){return[d.call(m,t,n),v.call(m,t,n)]})}),i=h.call(m,r,n);e=F.permute(e,i),r=F.permute(r,i);var o,u,a,c=g.call(m,r,n),l=e.length,f=e[0].length;for(u=0;u<f;++u)for(p.call(m,e[0][u],a=c[u],r[0][u][1]),o=1;o<l;++o)p.call(m,e[o][u],a+=r[o-1][u][1],r[o][u][1]);return t}return m.values=function(t){return arguments.length?(s=t,m):s},m.order=function(t){return arguments.length?(h="function"==typeof t?t:Ze.get(t)||$e,m):h},m.offset=function(t){return arguments.length?(g="function"==typeof t?t:Be.get(t)||Je,m):g},m.x=function(t){return arguments.length?(d=t,m):d},m.y=function(t){return arguments.length?(v=t,m):v},m.out=function(t){return arguments.length?(p=t,m):p},m};var Ze=F.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(Ge),o=t.map(Ke),u=F.range(r).sort(function(t,n){return i[t]-i[n]}),a=0,c=0,l=[],f=[];for(n=0;n<r;++n)e=u[n],a<c?(a+=o[e],l.push(e)):(c+=o[e],f.push(e));return f.reverse().concat(l)},reverse:function(t){return F.range(t.length).reverse()},default:$e}),Be=F.map({silhouette:function(t){var n,e,r,i=t.length,o=t[0].length,u=[],a=0,c=[];for(e=0;e<o;++e){for(r=n=0;n<i;n++)r+=t[n][e][1];a<r&&(a=r),u.push(r)}for(e=0;e<o;++e)c[e]=(a-u[e])/2;return c},wiggle:function(t){var n,e,r,i,o,u,a,c,l,f=t.length,s=t[0],h=s.length,g=[];for(g[0]=c=l=0,e=1;e<h;++e){for(i=n=0;n<f;++n)i+=t[n][e][1];for(o=n=0,a=s[e][0]-s[e-1][0];n<f;++n){for(r=0,u=(t[n][e][1]-t[n][e-1][1])/(2*a);r<n;++r)u+=(t[r][e][1]-t[r][e-1][1])/a;o+=u*t[n][e][1]}g[e]=c-=i?o/i*a:0,c<l&&(l=c)}for(e=0;e<h;++e)g[e]-=l;return g},expand:function(t){var n,e,r,i=t.length,o=t[0].length,u=1/i,a=[];for(e=0;e<o;++e){for(r=n=0;n<i;n++)r+=t[n][e][1];if(r)for(n=0;n<i;n++)t[n][e][1]/=r;else for(n=0;n<i;n++)t[n][e][1]=u}for(e=0;e<o;++e)a[e]=0;return a},zero:Je});function $e(t){return F.range(t.length)}function Je(t){for(var n=-1,e=t[0].length,r=[];++n<e;)r[n]=0;return r}function Ge(t){for(var n,e=1,r=0,i=t[0][1],o=t.length;e<o;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function Ke(t){return t.reduce(We,0)}function We(t,n){return t+n[1]}function Qe(t,n){return tr(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function tr(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,o=[];++e<=n;)o[e]=i*e+r;return o}function nr(t){return[F.min(t),F.max(t)]}function er(t,n){return F.rebind(t,n,"sort","children","value"),(t.nodes=t).links=ur,t}function rr(t){return t.children}function ir(t){return t.value}function or(t,n){return n.value-t.value}function ur(t){return F.merge(t.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function ar(t,n){return t.value-n.value}function cr(t,n){var e=t._pack_next;(t._pack_next=n)._pack_prev=t,(n._pack_next=e)._pack_prev=n}function lr(t,n){(t._pack_next=n)._pack_prev=t}function fr(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.001<i*i-e*e-r*r}function sr(t){if((n=t.children)&&(c=n.length)){var n,e,r,i,o,u,a,c,l=1/0,f=-1/0,s=1/0,h=-1/0;if(n.forEach(hr),(e=n[0]).x=-e.r,e.y=0,M(e),1<c&&((r=n[1]).x=r.r,r.y=0,M(r),2<c))for(pr(e,r,i=n[2]),M(i),cr(e,i),cr(e._pack_prev=i,r),r=e._pack_next,o=3;o<c;o++){pr(e,r,i=n[o]);var g=0,p=1,d=1;for(u=r._pack_next;u!==r;u=u._pack_next,p++)if(fr(u,i)){g=1;break}if(1==g)for(a=e._pack_prev;a!==u._pack_prev&&!fr(a,i);a=a._pack_prev,d++);g?(p<d||p==d&&r.r<e.r?lr(e,r=u):lr(e=a,r),o--):(cr(e,i),M(r=i))}var v=(l+f)/2,m=(s+h)/2,y=0;for(o=0;o<c;o++)(i=n[o]).x-=v,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,n.forEach(gr)}function M(t){l=Math.min(t.x-t.r,l),f=Math.max(t.x+t.r,f),s=Math.min(t.y-t.r,s),h=Math.max(t.y+t.r,h)}}function hr(t){t._pack_next=t._pack_prev=t}function gr(t){delete t._pack_next,delete t._pack_prev}function pr(t,n,e){var r=t.r+e.r,i=n.x-t.x,o=n.y-t.y;if(r&&(i||o)){var u=n.r+e.r,a=i*i+o*o,c=.5+((r*=r)-(u*=u))/(2*a),l=Math.sqrt(Math.max(0,2*u*(r+a)-(r-=a)*r-u*u))/(2*a);e.x=t.x+c*i+l*o,e.y=t.y+c*o-l*i}else e.x=t.x+r,e.y=t.y}function dr(t,n){return t.parent==n.parent?1:2}function vr(t){var n=t.children;return n&&n.length?n[0]:t._tree.thread}function mr(t){var n,e=t.children;return e&&(n=e.length)?e[n-1]:t._tree.thread}function yr(t,n){var e=t.children;if(e&&(i=e.length))for(var r,i,o=-1;++o<i;)0<n(r=yr(e[o],n),t)&&(t=r);return t}function Mr(t,n){return t.x-n.x}function br(t,n){return n.x-t.x}function xr(t,n){return t.depth-n.depth}function _r(t,c){!function t(n,e){var r=n.children;if(r&&(o=r.length))for(var i,o,u=null,a=-1;++a<o;)t(i=r[a],u),u=i;c(n,e)}(t,null)}function wr(t,n,e){t=t._tree;var r=e/((n=n._tree).number-t.number);t.change+=r,n.change-=r,n.shift+=e,n.prelim+=e,n.mod+=e}function Sr(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function kr(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],o=t.dy-n[0]-n[2];return i<0&&(e+=i/2,i=0),o<0&&(r+=o/2,o=0),{x:e,y:r,dx:i,dy:o}}function Er(n,e){var r=new RegExp('["'+n+"\n]"),h=n.charCodeAt(0);function i(t,n){return F.xhr(t,e,n).response(o)}function o(t){return i.parse(t.responseText)}function u(t){return t.map(a).join(n)}function a(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t){var n;return i.parseRows(t,function(t){if(n)return n(t);n=new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")})},i.parseRows=function(i,t){var n,o,u={},a={},e=[],c=i.length,l=0,r=0;function f(){if(c<=l)return a;if(o)return o=!1,u;var t=l;if(34===i.charCodeAt(t)){for(var n=t;n++<c;)if(34===i.charCodeAt(n)){if(34!==i.charCodeAt(n+1))break;++n}return l=n+2,13===(e=i.charCodeAt(n+1))?(o=!0,10===i.charCodeAt(n+2)&&++l):10===e&&(o=!0),i.substring(t+1,n).replace(/""/g,'"')}for(;l<c;){var e,r=1;if(10===(e=i.charCodeAt(l++)))o=!0;else if(13===e)o=!0,10===i.charCodeAt(l)&&(++l,++r);else if(e!==h)continue;return i.substring(t,l-r)}return i.substring(t)}for(;(n=f())!==a;){for(var s=[];n!==u&&n!==a;)s.push(n),n=f();t&&!(s=t(s,r++))||e.push(s)}return e},i.format=function(t){return t.map(u).join("\n")},i}function Nr(t,n){Tr.hasOwnProperty(t.type)&&Tr[t.type](t,n)}F.layout.histogram=function(){var s=!0,h=Number,g=nr,p=Qe;function e(t,n){for(var e,r,i=[],o=t.map(h,this),u=g.call(this,o,n),a=p.call(this,u,o,n),c=(n=-1,o.length),l=a.length-1,f=s?1:1/c;++n<l;)(e=i[n]=[]).dx=a[n+1]-(e.x=a[n]),e.y=0;if(0<l)for(n=-1;++n<c;)(r=o[n])>=u[0]&&r<=u[1]&&((e=i[F.bisect(a,r,1,l)-1]).y+=f,e.push(t[n]));return i}return e.value=function(t){return arguments.length?(h=t,e):h},e.range=function(t){return arguments.length?(g=A(t),e):g},e.bins=function(n){return arguments.length?(p="number"==typeof n?function(t){return tr(t,n)}:A(n),e):p},e.frequency=function(t){return arguments.length?(s=!!t,e):s},e},F.layout.hierarchy=function(){var s=or,h=rr,g=ir;function p(t){var n=[];return function t(n,e,r){var i=h.call(p,n,e);if(n.depth=e,r.push(n),i&&(o=i.length)){for(var o,u,a=-1,c=n.children=[],l=0,f=e+1;++a<o;)(u=t(i[a],f,r)).parent=n,c.push(u),l+=u.value;s&&c.sort(s),g&&(n.value=l)}else g&&(n.value=+g.call(p,n,e)||0);return n}(t,0,n),n}return p.sort=function(t){return arguments.length?(s=t,p):s},p.children=function(t){return arguments.length?(h=t,p):h},p.value=function(t){return arguments.length?(g=t,p):g},p.revalue=function(t){return function t(n,e){var r=n.children,i=0;if(r&&(o=r.length))for(var o,u=-1,a=e+1;++u<o;)i+=t(r[u],a);else g&&(i=+g.call(p,n,e)||0);return g&&(n.value=i),i}(t,0),t},p},F.layout.pack=function(){var c=F.layout.hierarchy().sort(ar),l=0,f=[1,1];function n(t,n){var e=c.call(this,t,n),r=e[0];r.x=0,r.y=0,_r(r,function(t){t.r=Math.sqrt(t.value)}),_r(r,sr);var i=f[0],o=f[1],u=Math.max(2*r.r/i,2*r.r/o);if(0<l){var a=l*u/2;_r(r,function(t){t.r+=a}),_r(r,sr),_r(r,function(t){t.r-=a}),u=Math.max(2*r.r/i,2*r.r/o)}return function t(n,e,r,i){var o=n.children;n.x=e+=i*n.x;n.y=r+=i*n.y;n.r*=i;if(o)for(var u=-1,a=o.length;++u<a;)t(o[u],e,r,i)}(r,i/2,o/2,1/u),e}return n.size=function(t){return arguments.length?(f=t,n):f},n.padding=function(t){return arguments.length?(l=+t,n):l},er(n,c)},F.layout.cluster=function(){var f=F.layout.hierarchy().sort(null).value(null),s=dr,h=[1,1];function n(t,n){var i,e=f.call(this,t,n),r=e[0],o=0;_r(r,function(t){var n,e,r=t.children;r&&r.length?(t.x=(e=r).reduce(function(t,n){return t+n.x},0)/e.length,t.y=(n=r,1+F.max(n,function(t){return t.y}))):(t.x=i?o+=s(t,i):0,t.y=0,i=t)});var u=function t(n){var e=n.children;return e&&e.length?t(e[0]):n}(r),a=function t(n){var e,r=n.children;return r&&(e=r.length)?t(r[e-1]):n}(r),c=u.x-s(u,a)/2,l=a.x+s(a,u)/2;return _r(r,function(t){t.x=(t.x-c)/(l-c)*h[0],t.y=(1-(r.y?t.y/r.y:1))*h[1]}),e}return n.separation=function(t){return arguments.length?(s=t,n):s},n.size=function(t){return arguments.length?(h=t,n):h},er(n,f)},F.layout.tree=function(){var f=F.layout.hierarchy().sort(null).value(null),d=dr,s=[1,1];function n(t,n){var e=f.call(this,t,n),r=e[0];function h(t,n,e){if(n){for(var r,i=t,o=t,u=n,a=t.parent.children[0],c=i._tree.mod,l=o._tree.mod,f=u._tree.mod,s=a._tree.mod;u=mr(u),i=vr(i),u&&i;)a=vr(a),(o=mr(o))._tree.ancestor=t,0<(r=u._tree.prelim+f-i._tree.prelim-c+d(u,i))&&(wr((g=t,p=e,(h=u)._tree.ancestor.parent==g.parent?h._tree.ancestor:p),t,r),c+=r,l+=r),f+=u._tree.mod,c+=i._tree.mod,s+=a._tree.mod,l+=o._tree.mod;u&&!mr(o)&&(o._tree.thread=u,o._tree.mod+=f-l),i&&!vr(a)&&(a._tree.thread=i,a._tree.mod+=c-s,e=t)}var h,g,p;return e}_r(r,function(t,n){t._tree={ancestor:t,prelim:0,mod:0,change:0,shift:0,number:n?n._tree.number+1:0}}),function t(n,e){var r=n.children,i=n._tree;if(r&&(o=r.length)){for(var o,u,a,c=r[0],l=c,f=-1;++f<o;)t(a=r[f],u),l=h(a,u,l),u=a;!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;0<=--o;)(n=i[o]._tree).prelim+=e,n.mod+=e,e+=n.shift+(r+=n.change)}(n);var s=.5*(c._tree.prelim+a._tree.prelim);e?(i.prelim=e._tree.prelim+d(n,e),i.mod=i.prelim-s):i.prelim=s}else e&&(i.prelim=e._tree.prelim+d(n,e))}(r),function t(n,e){n.x=n._tree.prelim+e;var r=n.children;if(r&&(i=r.length)){var i,o=-1;for(e+=n._tree.mod;++o<i;)t(r[o],e)}}(r,-r._tree.prelim);var i=yr(r,br),o=yr(r,Mr),u=yr(r,xr),a=i.x-d(i,o)/2,c=o.x+d(o,i)/2,l=u.depth||1;return _r(r,function(t){t.x=(t.x-a)/(c-a)*s[0],t.y=t.depth/l*s[1],delete t._tree}),e}return n.separation=function(t){return arguments.length?(d=t,n):d},n.size=function(t){return arguments.length?(s=t,n):s},er(n,f)},F.layout.treemap=function(){var r,i=F.layout.hierarchy(),f=Math.round,o=[1,1],u=null,s=Sr,a=!1,h="squarify",c=.5*(1+Math.sqrt(5));function g(t,n){for(var e,r,i=-1,o=t.length;++i<o;)r=(e=t[i]).value*(n<0?0:n),e.area=isNaN(r)||r<=0?0:r}function p(t){var n=t.children;if(n&&n.length){var e,r,i,o=s(t),u=[],a=n.slice(),c=1/0,l="slice"===h?o.dx:"dice"===h?o.dy:"slice-dice"===h?1&t.depth?o.dy:o.dx:Math.min(o.dx,o.dy);for(g(a,o.dx*o.dy/t.value),u.area=0;0<(i=a.length);)u.push(e=a[i-1]),u.area+=e.area,c="squarify"!==h||(r=d(u,l))<=c?(a.pop(),r):(u.area-=u.pop().area,v(u,l,o,!1),l=Math.min(o.dx,o.dy),u.length=u.area=0,1/0);u.length&&(v(u,l,o,!0),u.length=u.area=0),n.forEach(p)}}function l(t){var n=t.children;if(n&&n.length){var e,r=s(t),i=n.slice(),o=[];for(g(i,r.dx*r.dy/t.value),o.area=0;e=i.pop();)o.push(e),o.area+=e.area,null!=e.z&&(v(o,e.z?r.dx:r.dy,r,!i.length),o.length=o.area=0);n.forEach(l)}}function d(t,n){for(var e,r=t.area,i=0,o=1/0,u=-1,a=t.length;++u<a;)(e=t[u].area)&&(e<o&&(o=e),i<e&&(i=e));return n*=n,(r*=r)?Math.max(n*i*c/r,r/(n*o*c)):1/0}function v(t,n,e,r){var i,o=-1,u=t.length,a=e.x,c=e.y,l=n?f(t.area/n):0;if(n==e.dx){for((r||l>e.dy)&&(l=e.dy);++o<u;)(i=t[o]).x=a,i.y=c,i.dy=l,a+=i.dx=Math.min(e.x+e.dx-a,l?f(i.area/l):0);i.z=!0,i.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++o<u;)(i=t[o]).x=a,i.y=c,i.dx=l,c+=i.dy=Math.min(e.y+e.dy-c,l?f(i.area/l):0);i.z=!1,i.dy+=e.y+e.dy-c,e.x+=l,e.dx-=l}}function m(t){var n=r||i(t),e=n[0];return e.x=0,e.y=0,e.dx=o[0],e.dy=o[1],r&&i.revalue(e),g([e],e.dx*e.dy/e.value),(r?l:p)(e),a&&(r=n),n}return m.size=function(t){return arguments.length?(o=t,m):o},m.padding=function(e){if(!arguments.length)return u;function t(t){return kr(t,e)}var n;return s=null==(u=e)?Sr:"function"==(n=typeof e)?function(t){var n=e.call(m,t,t.depth);return null==n?Sr(t):kr(t,"number"==typeof n?[n,n,n,n]:n)}:("number"===n&&(e=[e,e,e,e]),t),m},m.round=function(t){return arguments.length?(f=t?Math.round:Number,m):f!=Number},m.sticky=function(t){return arguments.length?(a=t,r=null,m):a},m.ratio=function(t){return arguments.length?(c=t,m):c},m.mode=function(t){return arguments.length?(h=t+"",m):h},er(m,i)},F.csv=Er(",","text/csv"),F.tsv=Er("\t","text/tab-separated-values"),F.geo={},F.geo.stream=function(t,n){Ar.hasOwnProperty(t.type)?Ar[t.type](t,n):Nr(t,n)};var Ar={Feature:function(t,n){Nr(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Nr(e[r].geometry,n)}},Tr={Sphere:function(t,n){n.sphere()},Point:function(t,n){var e=t.coordinates;n.point(e[0],e[1])},MultiPoint:function(t,n){for(var e,r=t.coordinates,i=-1,o=r.length;++i<o;)e=r[i],n.point(e[0],e[1])},LineString:function(t,n){qr(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)qr(e[r],n,0)},Polygon:function(t,n){Cr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Cr(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Nr(e[r],n)}};function qr(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1]);n.lineEnd()}function Cr(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)qr(t[e],n,1);n.polygonEnd()}function zr(t){return[Math.atan2(t[1],t[0]),Math.asin(Math.max(-1,Math.min(1,t[2])))]}function Dr(t,n){return Math.abs(t[0]-n[0])<z&&Math.abs(t[1]-n[1])<z}function Lr(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function Fr(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Hr(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function jr(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Pr(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Rr(T){var q=.5,y=16;function n(c){var l,f,s,h,g,p,d={point:t,lineStart:n,lineEnd:m,polygonStart:function(){c.polygonStart(),d.lineStart=e},polygonEnd:function(){c.polygonEnd(),d.lineStart=n}};function t(t,n){t=T(t,n),c.point(t[0],t[1])}function n(){f=NaN,d.point=v,c.lineStart()}function v(t,n){var e=Lr([t,n]),r=T(t,n);C(f,s,l,h,g,p,f=r[0],s=r[1],l=t,h=e[0],g=e[1],p=e[2],y,c),c.point(f,s)}function m(){d.point=t,c.lineEnd()}function e(){var e,r,i,o,u,a;n(),d.point=function(t,n){v(e=t,n),r=f,i=s,o=h,u=g,a=p,d.point=v},d.lineEnd=function(){C(f,s,l,h,g,p,r,i,e,o,u,a,y,c),(d.lineEnd=m)()}}return d}function C(t,n,e,r,i,o,u,a,c,l,f,s,h,g){var p=u-t,d=a-n,v=p*p+d*d;if(4*q<v&&h--){var m=r+l,y=i+f,M=o+s,b=Math.sqrt(m*m+y*y+M*M),x=Math.asin(M/=b),_=Math.abs(Math.abs(M)-1)<z?(e+c)/2:Math.atan2(y,m),w=T(_,x),S=w[0],k=w[1],E=S-t,N=k-n,A=d*E-p*N;(q<A*A/v||.3<Math.abs((p*E+d*N)/v-.5))&&(C(t,n,e,r,i,o,S,k,_,m/=b,y/=b,M,h,g),g.point(S,k),C(S,k,_,m,y,M,u,a,c,l,f,s,h,g))}}return n.precision=function(t){return arguments.length?(y=0<(q=t*t)&&16,n):Math.sqrt(q)},n}function Or(t,n){var e=Math.sin(t),r=(e+Math.sin(n))/2,i=1+e*(2*r-e),o=Math.sqrt(i)/r;function u(t,n){var e=Math.sqrt(i-2*r*Math.sin(n))/r;return[e*Math.sin(t*=r),o-e*Math.cos(t)]}return u.invert=function(t,n){var e=o-n;return[Math.atan2(t,e)/r,Math.asin((i-(t*t+e*e)*r*r)/(2*r))]},u}F.geo.albersUsa=function(){var i=F.geo.albers(),o=F.geo.albers().rotate([160,0]).center([0,60]).parallels([55,65]),u=F.geo.albers().rotate([160,0]).center([0,20]).parallels([8,18]),a=F.geo.albers().rotate([60,0]).center([0,10]).parallels([8,18]);function c(t){return e=(n=t)[0],(50<(r=n[1])?o:e<-140?u:r<21?a:i)(t);var n,e,r}return c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.6*t),u.scale(t),a.scale(1.5*t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var n=i.scale(),e=t[0],r=t[1];return i.translate(t),o.translate([e-.4*n,r+.17*n]),u.translate([e-.19*n,r+.2*n]),a.translate([e+.58*n,r+.43*n]),c},c.scale(i.scale())},(F.geo.albers=function(){var n=29.5*b,e=45.5*b,r=Ci(Or),t=r(n,e);return t.parallels=function(t){return arguments.length?r(n=t[0]*b,e=t[1]*b):[n*x,e*x]},t.rotate([98,0]).center([0,38]).scale(1e3)}).raw=Or;var Yr=ji(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(F.geo.azimuthalEqualArea=function(){return qi(Yr)}).raw=Yr;var Ur,Ir,Vr,Xr,Zr,Br=ji(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},S);function $r(n){var e,r,i,o,u={point:t,lineStart:Nn,lineEnd:Nn,polygonStart:function(){u.lineEnd=a},polygonEnd:function(){u.point=t}};function t(t,n){t<e&&(e=t),i<t&&(i=t),n<r&&(r=n),o<n&&(o=n)}function a(){u.point=u.lineEnd=Nn}return function(t){return o=i=-(e=r=1/0),F.geo.stream(t,n(u)),[[e,r],[i,o]]}}(F.geo.azimuthalEquidistant=function(){return qi(Br)}).raw=Br,F.geo.bounds=$r(S),F.geo.centroid=function(t){var n;if(Ur=Ir=Vr=Xr=Zr=0,F.geo.stream(t,Jr),Ir&&Math.abs(n=Math.sqrt(Vr*Vr+Xr*Xr+Zr*Zr))>z)return[Math.atan2(Xr,Vr)*x,Math.asin(Math.max(-1,Math.min(1,Zr/n)))*x]};var Jr={sphere:function(){Ur<2&&(Ur=2,Ir=Vr=Xr=Zr=0)},point:Gr,lineStart:Wr,lineEnd:Qr,polygonStart:function(){Ur<2&&(Ur=2,Ir=Vr=Xr=Zr=0),Jr.lineStart=Kr},polygonEnd:function(){Jr.lineStart=Wr}};function Gr(t,n){if(!Ur){++Ir,t*=b;var e=Math.cos(n*=b);Vr+=(e*Math.cos(t)-Vr)/Ir,Xr+=(e*Math.sin(t)-Xr)/Ir,Zr+=(Math.sin(n)-Zr)/Ir}}function Kr(){var e,r;Ur=1,Wr(),Ur=2;var i=Jr.point;Jr.point=function(t,n){i(e=t,r=n)},Jr.lineEnd=function(){Jr.point(e,r),Qr(),Jr.lineEnd=Qr}}function Wr(){var a,c,l;function r(t,n){t*=b;var e=Math.cos(n*=b),r=e*Math.cos(t),i=e*Math.sin(t),o=Math.sin(n),u=Math.atan2(Math.sqrt((u=c*o-l*i)*u+(u=l*r-a*o)*u+(u=a*i-c*r)*u),a*r+c*i+l*o);Ir+=u,Vr+=u*(a+(a=r)),Xr+=u*(c+(c=i)),Zr+=u*(l+(l=o))}1<Ur||(Ur<1&&(Ur=1,Ir=Vr=Xr=Zr=0),Jr.point=function(t,n){t*=b;var e=Math.cos(n*=b);a=e*Math.cos(t),c=e*Math.sin(t),l=Math.sin(n),Jr.point=r})}function Qr(){Jr.point=Gr}function ti(a,c){var l=Math.cos(a),f=Math.sin(a);return function(t,n,e,r){var i;null!=t?(t=ni(l,t),n=ni(l,n),(0<e?t<n:n<t)&&(t+=2*e*k)):(t=a+2*e*k,n=a);for(var o=e*c,u=t;0<e?n<u:u<n;u-=o)r.point((i=zr([l,-f*Math.cos(u),-f*Math.sin(u)]))[0],i[1])}}function ni(t,n){var e,r,i=Lr(n);i[0]-=t,e=i,r=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=r,e[1]/=r,e[2]/=r;var o=Math.acos(Math.max(-1,Math.min(1,-i[1])));return((-i[2]<0?-o:o)+2*Math.PI-z)%(2*Math.PI)}function ei(M,b,x){return function(u){var a,c,l,f,e=b(u),t={point:n,lineStart:i,lineEnd:o,polygonStart:function(){t.point=v,t.lineStart=m,t.lineEnd=y,f=!1,l=c=0,a=[],u.polygonStart()},polygonEnd:function(){t.point=n,t.lineStart=i,t.lineEnd=o,(a=F.merge(a)).length?function(t,n,e){var u=[],a=[];if(t.forEach(function(t){var n=t.length;if(!(n<=1)){var e=t[0],r=t[n-1],i={point:e,points:t,other:null,visited:!1,entry:!0,subject:!0},o={point:e,points:[e],other:i,visited:!1,entry:!1,subject:!1};i.other=o,u.push(i),a.push(o),o={point:r,points:[r],other:i={point:r,points:[r],other:null,visited:!1,entry:!1,subject:!0},visited:!1,entry:!0,subject:!1},i.other=o,u.push(i),a.push(o)}}),a.sort(ii),ri(u),ri(a),!u.length)return;var r,i,o,c=u[0];for(;;){for(r=c;r.visited;)if((r=r.next)===c)return;i=r.points,e.lineStart();do{if(r.visited=r.other.visited=!0,r.entry){if(r.subject)for(var l=0;l<i.length;l++)e.point((o=i[l])[0],o[1]);else n(r.point,r.next.point,1,e);r=r.next}else{if(r.subject)for(var l=(i=r.prev.points).length;0<=--l;)e.point((o=i[l])[0],o[1]);else n(r.point,r.prev.point,-1,e);r=r.prev}r=r.other,i=r.points}while(!r.visited);e.lineEnd()}}(a,x,u):(c<-z||f&&l<-z)&&(u.lineStart(),x(null,null,1,u),u.lineEnd()),u.polygonEnd(),a=null},sphere:function(){u.polygonStart(),u.lineStart(),x(null,null,1,u),u.lineEnd(),u.polygonEnd()}};function n(t,n){M(t,n)&&u.point(t,n)}function r(t,n){e.point(t,n)}function i(){t.point=r,e.lineStart()}function o(){t.point=n,e.lineEnd()}var s,h,g,p=(g=[],{lineStart:function(){g.push(h=[])},point:function(t,n){h.push([t,n])},lineEnd:Nn,buffer:function(){var t=g;return g=[],h=null,t}}),d=b(p);function v(t,n){d.point(t,n),s.push([t,n])}function m(){d.lineStart(),s=[]}function y(){v(s[0][0],s[0][1]),d.lineEnd();var t,n=d.clean(),e=p.buffer();if(!(i=e.length))return f=!0,l+=ui(s,-1),void(s=null);if(s=null,1&n){t=e[0],c+=ui(t,1);var r,i=t.length-1,o=-1;for(u.lineStart();++o<i;)u.point((r=t[o])[0],r[1]);u.lineEnd()}else 1<i&&2&n&&e.push(e.pop().concat(e.shift())),a.push(e.filter(oi))}return t}}function ri(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.next=e=t[r],e.prev=i,i=e;i.next=e=t[0],e.prev=i}}function ii(t,n){return((t=t.point)[0]<0?t[1]-k/2-z:k/2-t[1])-((n=n.point)[0]<0?n[1]-k/2-z:k/2-n[1])}function oi(t){return 1<t.length}function ui(t,n){if(!(e=t.length))return 0;for(var e,r,i,o=0,u=0,a=t[0],c=a[0],l=a[1],f=Math.cos(l),s=Math.atan2(n*Math.sin(c)*f,Math.sin(l)),h=1-n*Math.cos(c)*f,g=s;++o<e;)a=t[o],f=Math.cos(l=a[1]),r=Math.atan2(n*Math.sin(c=a[0])*f,Math.sin(l)),i=1-n*Math.cos(c)*f,Math.abs(h-2)<z&&Math.abs(i-2)<z||(Math.abs(i)<z||Math.abs(h)<z||(Math.abs(Math.abs(r-s)-k)<z?2<i+h&&(u+=4*(r-s)):Math.abs(h-2)<z?u+=4*(r-g):u+=((3*k+r-s)%(2*k)-k)*(h+i)),g=s,s=r,h=i);return u}F.geo.circle=function(){var n,i,o=[0,0],e=6;function r(){var t="function"==typeof o?o.apply(this,arguments):o,e=zi(-t[0]*b,-t[1]*b,0).invert,r=[];return i(null,null,1,{point:function(t,n){r.push(t=e(t,n)),t[0]*=x,t[1]*=x}}),{type:"Polygon",coordinates:[r]}}return r.origin=function(t){return arguments.length?(o=t,r):o},r.angle=function(t){return arguments.length?(i=ti((n=+t)*b,e*b),r):n},r.precision=function(t){return arguments.length?(i=ti(n*b,(e=+t)*b),r):e},r.angle(90)};var ai=ei(E,function(s){var h,g=NaN,p=NaN,d=NaN;return{lineStart:function(){s.lineStart(),h=1},point:function(t,n){var e,r,i,o,u,a,c,l=0<t?k:-k,f=Math.abs(t-g);Math.abs(f-k)<z?(s.point(g,p=0<(p+n)/2?k/2:-k/2),s.point(d,p),s.lineEnd(),s.lineStart(),s.point(l,p),s.point(t,p),h=0):d!==l&&k<=f&&(Math.abs(g-d)<z&&(g-=d*z),Math.abs(t-l)<z&&(t-=l*z),e=g,r=p,i=t,o=n,c=Math.sin(e-i),p=Math.abs(c)>z?Math.atan((Math.sin(r)*(a=Math.cos(o))*Math.sin(i)-Math.sin(o)*(u=Math.cos(r))*Math.sin(e))/(u*a*c)):(r+o)/2,s.point(d,p),s.lineEnd(),s.lineStart(),s.point(l,p),h=0),s.point(g=t,p=n),d=l},lineEnd:function(){s.lineEnd(),g=p=NaN},clean:function(){return 2-h}}},function(t,n,e,r){var i;if(null==t)i=e*k/2,r.point(-k,i),r.point(0,i),r.point(k,i),r.point(k,0),r.point(k,-i),r.point(0,-i),r.point(-k,-i),r.point(-k,0),r.point(-k,i);else if(Math.abs(t[0]-n[0])>z){var o=(t[0]<n[0]?1:-1)*k;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])});function ci(e,r){function t(t,n){return t=e(t,n),r(t[0],t[1])}return e.invert&&r.invert&&(t.invert=function(t,n){return(t=r.invert(t,n))&&e.invert(t[0],t[1])}),t}function li(t,n){return[t,n]}(F.geo.equirectangular=function(){return qi(li).scale(250/k)}).raw=li.invert=li;var fi=ji(function(t){return 1/t},Math.atan);function si(t,n){return[t/(2*k),Math.max(-.5,Math.min(.5,Math.log(Math.tan(k/4+n/2))/(2*k)))]}(F.geo.gnomonic=function(){return qi(fi)}).raw=fi,F.geo.graticule=function(){var l,f,s,h,g,p,n=22.5,e=n,d=2.5;function v(){return{type:"MultiLineString",coordinates:t()}}function t(){return F.range(Math.ceil(f/n)*n,l,n).map(g).concat(F.range(Math.ceil(h/e)*e,s,e).map(p))}return v.lines=function(){return t().map(function(t){return{type:"LineString",coordinates:t}})},v.outline=function(){return{type:"Polygon",coordinates:[g(f).concat(p(s).slice(1),g(l).reverse().slice(1),p(h).reverse().slice(1))]}},v.extent=function(t){return arguments.length?(f=+t[0][0],l=+t[1][0],h=+t[0][1],s=+t[1][1],l<f&&(t=f,f=l,l=t),s<h&&(t=h,h=s,s=t),v.precision(d)):[[f,h],[l,s]]},v.step=function(t){return arguments.length?(n=+t[0],e=+t[1],v):[n,e]},v.precision=function(t){return arguments.length?(n=h,e=s,r=d=+t,i=F.range(n,e-z,r).concat(e),g=function(n){return i.map(function(t){return[n,t]})},o=f,u=l,a=d,c=F.range(o,u-z,a).concat(u),p=function(n){return c.map(function(t){return[t,n]})},v):d;var n,e,r,i,o,u,a,c},v.extent([[-180+z,-90+z],[180-z,90-z]])},F.geo.interpolate=function(t,n){return function(t,n,e,r){var i=Math.cos(n),u=Math.sin(n),o=Math.cos(r),a=Math.sin(r),c=i*Math.cos(t),l=i*Math.sin(t),f=o*Math.cos(e),s=o*Math.sin(e),h=Math.acos(Math.max(-1,Math.min(1,u*a+i*o*Math.cos(e-t)))),g=1/Math.sin(h);function p(t){var n=Math.sin(t*=h)*g,e=Math.sin(h-t)*g,r=e*c+n*f,i=e*l+n*s,o=e*u+n*a;return[Math.atan2(i,r)/b,Math.atan2(o,Math.sqrt(r*r+i*i))/b]}return p.distance=h,p}(t[0]*b,t[1]*b,n[0]*b,n[1]*b)},F.geo.greatArc=function(){var u,a,c,l=e,f=t,s=6*b;function n(){for(var t=u||l.apply(this,arguments),n=a||f.apply(this,arguments),e=c||F.geo.interpolate(t,n),r=0,i=s/e.distance,o=[t];(r+=i)<1;)o.push(e(r));return o.push(n),{type:"LineString",coordinates:o}}return n.distance=function(){return(c||F.geo.interpolate(u||l.apply(this,arguments),a||f.apply(this,arguments))).distance},n.source=function(t){return arguments.length?(c=(u="function"==typeof(l=t)?null:t)&&a?F.geo.interpolate(u,a):null,n):l},n.target=function(t){return arguments.length?(a="function"==typeof(f=t)?null:t,c=u&&a?F.geo.interpolate(u,a):null,n):f},n.precision=function(t){return arguments.length?(s=t*b,n):s/b},n},si.invert=function(t,n){return[2*k*t,2*Math.atan(Math.exp(2*k*n))-k/2]},(F.geo.mercator=function(){return qi(si).scale(500)}).raw=si;var hi=ji(function(){return 1},Math.asin);function gi(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function pi(){var e=gi(4.5),r=[],i={point:t,lineStart:function(){i.point=n},lineEnd:u,polygonStart:function(){i.lineEnd=a},polygonEnd:function(){i.lineEnd=u,i.point=t},pointRadius:function(t){return e=gi(t),i},result:function(){if(r.length){var t=r.join("");return r=[],t}}};function t(t,n){r.push("M",t,",",n,e)}function n(t,n){r.push("M",t,",",n),i.point=o}function o(t,n){r.push("L",t,",",n)}function u(){i.point=t}function a(){r.push("Z")}return i}function di(e){var r=4.5,i={point:t,lineStart:function(){i.point=n},lineEnd:u,polygonStart:function(){i.lineEnd=a},polygonEnd:function(){i.lineEnd=u,i.point=t},pointRadius:function(t){return r=t,i},result:Nn};function t(t,n){e.moveTo(t,n),e.arc(t,n,r,0,2*k)}function n(t,n){e.moveTo(t,n),i.point=o}function o(t,n){e.lineTo(t,n)}function u(){i.point=t}function a(){e.closePath()}return i}(F.geo.orthographic=function(){return qi(hi)}).raw=hi,F.geo.path=function(){var r,n,i,e,o=4.5;function u(t){return t&&F.geo.stream(t,i(e.pointRadius("function"==typeof o?+o.apply(this,arguments):o))),e.result()}return u.area=function(t){return vi=0,F.geo.stream(t,i(yi)),vi},u.centroid=function(t){return Ur=Vr=Xr=Zr=0,F.geo.stream(t,i(wi)),Zr?[Vr/Zr,Xr/Zr]:void 0},u.bounds=function(t){return $r(i)(t)},u.projection=function(t){return arguments.length?(i=(r=t)?t.stream||(e=t,n=Rr(function(t,n){return e([t*x,n*x])}),function(e){return e=n(e),{point:function(t,n){e.point(t*b,n*b)},sphere:function(){e.sphere()},lineStart:function(){e.lineStart()},lineEnd:function(){e.lineEnd()},polygonStart:function(){e.polygonStart()},polygonEnd:function(){e.polygonEnd()}}}):S,u):r;var e,n},u.context=function(t){return arguments.length?(e=null==(n=t)?new pi:new di(t),u):n},u.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:+t,u):o},u.projection(F.geo.albersUsa()).context(null)};var vi,mi,yi={point:Nn,lineStart:Nn,lineEnd:Nn,polygonStart:function(){mi=0,yi.lineStart=Mi},polygonEnd:function(){yi.lineStart=yi.lineEnd=yi.point=Nn,vi+=Math.abs(mi/2)}};function Mi(){var e,r,i,o;function u(t,n){mi+=o*t-i*n,i=t,o=n}yi.point=function(t,n){yi.point=u,e=i=t,r=o=n},yi.lineEnd=function(){u(e,r)}}var bi,xi,_i,wi={point:Si,lineStart:ki,lineEnd:Ei,polygonStart:function(){wi.lineStart=Ni},polygonEnd:function(){wi.point=Si,wi.lineStart=ki,wi.lineEnd=Ei}};function Si(t,n){Ur||(Vr+=t,Xr+=n,++Zr)}function ki(){var o,u;if(1!==Ur){if(!(Ur<1))return;Ur=1,Vr=Xr=Zr=0}function e(t,n){var e=t-o,r=n-u,i=Math.sqrt(e*e+r*r);Vr+=i*(o+t)/2,Xr+=i*(u+n)/2,Zr+=i,o=t,u=n}wi.point=function(t,n){wi.point=e,o=t,u=n}}function Ei(){wi.point=Si}function Ni(){var e,r,i,o;function u(t,n){var e=o*t-i*n;Vr+=e*(i+t),Xr+=e*(o+n),Zr+=3*e,i=t,o=n}Ur<2&&(Ur=2,Vr=Xr=Zr=0),wi.point=function(t,n){wi.point=u,e=i=t,r=o=n},wi.lineEnd=function(){u(e,r)}}F.geo.area=function(t){return bi=0,F.geo.stream(t,Ai),bi};var Ai={sphere:function(){bi+=4*k},point:Nn,lineStart:Nn,lineEnd:Nn,polygonStart:function(){xi=1,_i=0,Ai.lineStart=Ti},polygonEnd:function(){var t=2*Math.atan2(_i,xi);bi+=t<0?4*k+t:t,Ai.lineStart=Ai.lineEnd=Ai.point=Nn}};function Ti(){var e,r,f,s,h;function i(t,n){n=n*b/2+k/4;var e=(t*=b)-f,r=Math.cos(n),i=Math.sin(n),o=h*i,u=xi,a=_i,c=s*r+o*Math.cos(e),l=o*Math.sin(e);xi=u*c-a*l,_i=a*c+u*l,f=t,s=r,h=i}Ai.point=function(t,n){Ai.point=i,f=(e=t)*b,s=Math.cos(n=(r=n)*b/2+k/4),h=Math.sin(n)},Ai.lineEnd=function(){i(e,r)}}function qi(t){return Ci(function(){return t})()}function Ci(t){var e,n,r,i,o,u=Rr(function(t,n){return[(t=e(t,n))[0]*a+i,o-t[1]*a]}),a=150,c=480,l=250,f=0,s=0,h=0,g=0,p=0,d=ai,v=null;function m(t){return[(t=r(t[0]*b,t[1]*b))[0]*a+i,o-t[1]*a]}function y(t){return(t=r.invert((t[0]-i)/a,(o-t[1])/a))&&[t[0]*x,t[1]*x]}function M(){r=ci(n=zi(h,g,p),e);var t=e(f,s);return i=c-t[0]*a,o=l+t[1]*a,m}return m.stream=function(t){return e=n,r=d(u(t)),{point:function(t,n){n=e(t*b,n*b),t=n[0],r.point(k<t?t-2*k:t<-k?t+2*k:t,n[1])},sphere:function(){r.sphere()},lineStart:function(){r.lineStart()},lineEnd:function(){r.lineEnd()},polygonStart:function(){r.polygonStart()},polygonEnd:function(){r.polygonEnd()}};var e,r},m.clipAngle=function(t){return arguments.length?(d=null==t?(v=t,ai):function(t){var n=t*b,d=Math.cos(n);return ei(f,function(o){var u,a,c,l;return{lineStart:function(){c=a=!1,l=1},point:function(t,n){var e,r=[t,n],i=f(t,n);!u&&(c=a=i)&&o.lineStart(),i!==a&&(e=s(u,r),(Dr(u,e)||Dr(r,e))&&(r[0]+=z,r[1]+=z,i=f(r[0],r[1]))),i!==a&&(l=0,(a=i)?(o.lineStart(),e=s(r,u),o.point(e[0],e[1])):(e=s(u,r),o.point(e[0],e[1]),o.lineEnd()),u=e),!i||u&&Dr(u,r)||o.point(r[0],r[1]),u=r},lineEnd:function(){a&&o.lineEnd(),u=null},clean:function(){return l|(c&&a)<<1}}},ti(n,6*b));function f(t,n){return Math.cos(t)*Math.cos(n)>d}function s(t,n){var e=[1,0,0],r=Hr(Lr(t),Lr(n)),i=Fr(r,r),o=r[0],u=i-o*o;if(!u)return t;var a=d*i/u,c=-d*o/u,l=Hr(e,r),f=Pr(e,a);jr(f,Pr(r,c));var s=l,h=Fr(f,s),g=Fr(s,s),p=Pr(s,(-h-Math.sqrt(h*h-g*(Fr(f,f)-1)))/g);return jr(p,f),zr(p)}}(v=+t),m):v},m.scale=function(t){return arguments.length?(a=+t,M()):a},m.translate=function(t){return arguments.length?(c=+t[0],l=+t[1],M()):[c,l]},m.center=function(t){return arguments.length?(f=t[0]%360*b,s=t[1]%360*b,M()):[f*x,s*x]},m.rotate=function(t){return arguments.length?(h=t[0]%360*b,g=t[1]%360*b,p=2<t.length?t[2]%360*b:0,M()):[h*x,g*x,p*x]},F.rebind(m,u,"precision"),function(){return e=t.apply(this,arguments),m.invert=e.invert&&y,M()}}function zi(t,n,e){return t?n||e?ci(Li(t),Fi(n,e)):Li(t):n||e?Fi(n,e):li}function Di(e){return function(t,n){return[k<(t+=e)?t-2*k:t<-k?t+2*k:t,n]}}function Li(t){var n=Di(t);return n.invert=Di(-t),n}function Fi(t,n){var a=Math.cos(t),c=Math.sin(t),l=Math.cos(n),f=Math.sin(n);function e(t,n){var e=Math.cos(n),r=Math.cos(t)*e,i=Math.sin(t)*e,o=Math.sin(n),u=o*a+r*c;return[Math.atan2(i*l-u*f,r*a-o*c),Math.asin(Math.max(-1,Math.min(1,u*l+i*f)))]}return e.invert=function(t,n){var e=Math.cos(n),r=Math.cos(t)*e,i=Math.sin(t)*e,o=Math.sin(n),u=o*l-i*f;return[Math.atan2(i*l+o*f,r*a+u*c),Math.asin(Math.max(-1,Math.min(1,u*a-r*c)))]},e}F.geo.projection=qi,F.geo.projectionMutator=Ci;var Hi=ji(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ji(o,u){function t(t,n){var e=Math.cos(t),r=Math.cos(n),i=o(e*r);return[i*r*Math.sin(t),i*Math.sin(n)]}return t.invert=function(t,n){var e=Math.sqrt(t*t+n*n),r=u(e),i=Math.sin(r),o=Math.cos(r);return[Math.atan2(t*i,e*o),Math.asin(e&&n*i/e)]},t}function Pi(t,n,e,r){var i,o,u,a,c,l;return o=(i=r[t])[0],u=i[1],a=(i=r[n])[0],c=i[1],l=(i=r[e])[0],0<(i[1]-u)*(a-o)-(c-u)*(l-o)}function Ri(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function Oi(t,n,e,r){var i=t[0],o=e[0],u=n[0]-i,a=r[0]-o,c=t[1],l=e[1],f=n[1]-c,s=r[1]-l,h=(a*(c-l)-s*(i-o))/(s*u-a*f);return[i+h*u,c+h*f]}(F.geo.stereographic=function(){return qi(Hi)}).raw=Hi,F.geom={},F.geom.hull=function(t){if(t.length<3)return[];var n,e,r,i,o,u,a,c,l,f,s=t.length,h=s-1,g=[],p=[],d=0;for(n=1;n<s;++n)t[n][1]<t[d][1]?d=n:t[n][1]==t[d][1]&&(d=t[n][0]<t[d][0]?n:d);for(n=0;n<s;++n)n!==d&&(i=t[n][1]-t[d][1],r=t[n][0]-t[d][0],g.push({angle:Math.atan2(i,r),index:n}));for(g.sort(function(t,n){return t.angle-n.angle}),l=g[0].angle,c=g[0].index,a=0,n=1;n<h;++n)e=g[n].index,l==g[n].angle?(r=t[c][0]-t[d][0],i=t[c][1]-t[d][1],(o=t[e][0]-t[d][0])*o+(u=t[e][1]-t[d][1])*u<=r*r+i*i?g[n].index=-1:(g[a].index=-1,l=g[n].angle,a=n,c=e)):(l=g[n].angle,a=n,c=e);for(p.push(d),e=n=0;n<2;++e)-1!==g[e].index&&(p.push(g[e].index),n++);for(f=p.length;e<h;++e)if(-1!==g[e].index){for(;!Pi(p[f-2],p[f-1],g[e].index,t);)--f;p[f++]=g[e].index}var v=[];for(n=0;n<f;++n)v.push(t[p[n]]);return v},F.geom.polygon=function(f){return f.area=function(){for(var t=0,n=f.length,e=f[n-1][1]*f[0][0]-f[n-1][0]*f[0][1];++t<n;)e+=f[t-1][1]*f[t][0]-f[t-1][0]*f[t][1];return.5*e},f.centroid=function(t){var n,e,r=-1,i=f.length,o=0,u=0,a=f[i-1];for(arguments.length||(t=-1/(6*f.area()));++r<i;)n=a,a=f[r],e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return[o*t,u*t]},f.clip=function(t){for(var n,e,r,i,o,u,a=-1,c=f.length,l=f[c-1];++a<c;){for(n=t.slice(),t.length=0,i=f[a],o=n[(r=n.length)-1],e=-1;++e<r;)Ri(u=n[e],l,i)?(Ri(o,l,i)||t.push(Oi(o,u,l,i)),t.push(u)):Ri(o,l,i)&&t.push(Oi(o,u,l,i)),o=u;l=i}return t},f},F.geom.voronoi=function(m){var l=m.map(function(){return[]}),y=1e6;return Ui(m,function(t){var n,e,r,i,o,u;e=1===t.a&&0<=t.b?(n=t.ep.r,t.ep.l):(n=t.ep.l,t.ep.r),1===t.a?(o=n?n.y:-y,r=t.c-t.b*o,u=e?e.y:y,i=t.c-t.b*u):(r=n?n.x:-y,o=t.c-t.a*r,i=e?e.x:y,u=t.c-t.a*i);var a=[r,o],c=[i,u];l[t.region.l.index].push(a,c),l[t.region.r.index].push(a,c)}),(l=l.map(function(n,t){var e=m[t][0],r=m[t][1],i=n.map(function(t){return Math.atan2(t[0]-e,t[1]-r)}),o=F.range(n.length).sort(function(t,n){return i[t]-i[n]});return o.filter(function(t,n){return!n||i[t]-i[o[n-1]]>z}).map(function(t){return n[t]})})).forEach(function(t,n){var e=t.length;if(!e)return t.push([-y,-y],[-y,y],[y,y],[y,-y]);if(!(2<e)){var r=m[n],i=t[0],o=t[1],u=r[0],a=r[1],c=i[0],l=i[1],f=o[0],s=o[1],h=Math.abs(f-c),g=s-l;if(Math.abs(g)<z){var p=a<l?-y:y;t.push([-y,p],[y,p])}else if(h<z){var d=u<c?-y:y;t.push([d,-y],[d,y])}else{p=(f-c)*(l-a)<(c-u)*(s-l)?y:-y;var v=Math.abs(g)-h;Math.abs(v)<z?t.push([g<0?p:-p,p]):(0<v&&(p*=-1),t.push([-y,p],[y,p]))}}}),l};var Yi={l:"r",r:"l"};function Ui(t,r){var n={list:t.map(function(t,n){return{index:n,x:t[0],y:t[1]}}).sort(function(t,n){return t.y<n.y?-1:t.y>n.y?1:t.x<n.x?-1:t.x>n.x?1:0}),bottomSite:null},e={list:[],leftEnd:null,rightEnd:null,init:function(){e.leftEnd=e.createHalfEdge(null,"l"),e.rightEnd=e.createHalfEdge(null,"l"),e.leftEnd.r=e.rightEnd,e.rightEnd.l=e.leftEnd,e.list.unshift(e.leftEnd,e.rightEnd)},createHalfEdge:function(t,n){return{edge:t,side:n,vertex:null,l:null,r:null}},insert:function(t,n){n.l=t,n.r=t.r,t.r.l=n,t.r=n},leftBound:function(t){for(var n=e.leftEnd;(n=n.r)!=e.rightEnd&&i.rightOf(n,t););return n=n.l},del:function(t){t.l.r=t.r,t.r.l=t.l,t.edge=null},right:function(t){return t.r},left:function(t){return t.l},leftRegion:function(t){return null==t.edge?n.bottomSite:t.edge.region[t.side]},rightRegion:function(t){return null==t.edge?n.bottomSite:t.edge.region[Yi[t.side]]}},i={bisect:function(t,n){var e={region:{l:t,r:n},ep:{l:null,r:null}},r=n.x-t.x,i=n.y-t.y,o=0<r?r:-r,u=0<i?i:-i;return e.c=t.x*r+t.y*i+.5*(r*r+i*i),u<o?(e.a=1,e.b=i/r,e.c/=r):(e.b=1,e.a=r/i,e.c/=i),e},intersect:function(t,n){var e=t.edge,r=n.edge;if(!e||!r||e.region.r==r.region.r)return null;var i=e.a*r.b-e.b*r.a;if(Math.abs(i)<1e-10)return null;var o,u=(e.c*r.b-r.c*e.b)/i,a=(r.c*e.a-e.c*r.a)/i,c=e.region.r,l=r.region.r,f=u>=(c.y<l.y||c.y==l.y&&c.x<l.x?(o=t,e):(o=n,r)).region.r.x;return f&&"l"===o.side||!f&&"r"===o.side?null:{x:u,y:a}},rightOf:function(t,n){var e=t.edge,r=e.region.r,i=n.x>r.x;if(i&&"l"===t.side)return 1;if(!i&&"r"===t.side)return 0;if(1===e.a){var o=n.y-r.y,u=n.x-r.x,a=0,c=0;if(!i&&e.b<0||i&&0<=e.b?c=a=o>=e.b*u:(c=n.x+n.y*e.b>e.c,e.b<0&&(c=!c),c||(a=1)),!a){var l=r.x-e.region.l.x;c=e.b*(u*u-o*o)<l*o*(1+2*u/l+e.b*e.b),e.b<0&&(c=!c)}}else{var f=e.c-e.a*n.x,s=n.y-f,h=n.x-r.x,g=f-r.y;c=h*h+g*g<s*s}return"l"===t.side?c:!c},endPoint:function(t,n,e){t.ep[n]=e,t.ep[Yi[n]]&&r(t)},distance:function(t,n){var e=t.x-n.x,r=t.y-n.y;return Math.sqrt(e*e+r*r)}},a={list:[],insert:function(t,n,e){t.vertex=n,t.ystar=n.y+e;for(var r=0,i=a.list,o=i.length;r<o;r++){var u=i[r];if(!(t.ystar>u.ystar||t.ystar==u.ystar&&n.x>u.vertex.x))break}i.splice(r,0,t)},del:function(t){for(var n=0,e=a.list,r=e.length;n<r&&e[n]!=t;++n);e.splice(n,1)},empty:function(){return 0===a.list.length},nextEvent:function(t){for(var n=0,e=a.list,r=e.length;n<r;++n)if(e[n]==t)return e[n+1];return null},min:function(){var t=a.list[0];return{x:t.vertex.x,y:t.ystar}},extractMin:function(){return a.list.shift()}};e.init(),n.bottomSite=n.list.shift();for(var o,u,c,l,f,s,h,g,p,d,v,m,y,M=n.list.shift();;)if(a.empty()||(o=a.min()),M&&(a.empty()||M.y<o.y||M.y==o.y&&M.x<o.x))u=e.leftBound(M),c=e.right(u),h=e.rightRegion(u),m=i.bisect(h,M),s=e.createHalfEdge(m,"l"),e.insert(u,s),(d=i.intersect(u,s))&&(a.del(u),a.insert(u,d,i.distance(d,M))),u=s,s=e.createHalfEdge(m,"r"),e.insert(u,s),(d=i.intersect(s,c))&&a.insert(s,d,i.distance(d,M)),M=n.list.shift();else{if(a.empty())break;u=a.extractMin(),l=e.left(u),c=e.right(u),f=e.right(c),h=e.leftRegion(u),g=e.rightRegion(c),v=u.vertex,i.endPoint(u.edge,u.side,v),i.endPoint(c.edge,c.side,v),e.del(u),a.del(c),e.del(c),y="l",h.y>g.y&&(p=h,h=g,g=p,y="r"),m=i.bisect(h,g),s=e.createHalfEdge(m,y),e.insert(l,s),i.endPoint(m,Yi[y],v),(d=i.intersect(l,s))&&(a.del(l),a.insert(l,d,i.distance(d,h))),(d=i.intersect(s,f))&&a.insert(s,d,i.distance(d,h))}for(u=e.right(e.leftEnd);u!=e.rightEnd;u=e.right(u))r(u.edge)}F.geom.delaunay=function(a){var n=a.map(function(){return[]}),c=[];return Ui(a,function(t){n[t.region.l.index].push(a[t.region.r.index])}),n.forEach(function(t,n){var e=a[n],r=e[0],i=e[1];t.forEach(function(t){t.angle=Math.atan2(t[0]-r,t[1]-i)}),t.sort(function(t,n){return t.angle-n.angle});for(var o=0,u=t.length-1;o<u;o++)c.push([e,t[o],t[o+1]])}),c},F.geom.quadtree=function(t,n,e,r,i){var o,u=-1,a=t.length;if(arguments.length<5)if(3===arguments.length)i=e,r=n,e=n=0;else for(n=e=1/0,r=i=-1/0;++u<a;)(o=t[u]).x<n&&(n=o.x),o.y<e&&(e=o.y),o.x>r&&(r=o.x),o.y>i&&(i=o.y);var c=r-n,l=i-e;function s(t,n,e,r,i,o){if(!isNaN(n.x)&&!isNaN(n.y))if(t.leaf){var u=t.point;u?(Math.abs(u.x-n.x)+Math.abs(u.y-n.y)<.01||(t.point=null,f(t,u,e,r,i,o)),f(t,n,e,r,i,o)):t.point=n}else f(t,n,e,r,i,o)}function f(t,n,e,r,i,o){var u=.5*(e+i),a=.5*(r+o),c=n.x>=u,l=n.y>=a,f=(l<<1)+c;t.leaf=!1,c?e=u:i=u,l?r=a:o=a,s(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null}),n,e,r,i,o)}l<c?i=e+c:r=n+l;var h={leaf:!0,nodes:[],point:null,add:function(t){s(h,t,n,e,r,i)}};return h.visit=function(t){!function t(n,e,r,i,o,u){if(!n(e,r,i,o,u)){var a=.5*(r+o),c=.5*(i+u),l=e.nodes;l[0]&&t(n,l[0],r,i,a,c),l[1]&&t(n,l[1],a,i,o,c),l[2]&&t(n,l[2],r,c,a,u),l[3]&&t(n,l[3],a,c,o,u)}}(t,h,n,e,r,i)},t.forEach(h.add),h},F.time={};var Ii=Date;function Vi(){this._=new Date(1<arguments.length?Date.UTC.apply(this,arguments):arguments[0])}Vi.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(){Xi.setUTCDate.apply(this._,arguments)},setDay:function(){Xi.setUTCDay.apply(this._,arguments)},setFullYear:function(){Xi.setUTCFullYear.apply(this._,arguments)},setHours:function(){Xi.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Xi.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Xi.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Xi.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Xi.setUTCSeconds.apply(this._,arguments)},setTime:function(){Xi.setTime.apply(this._,arguments)}};var Xi=Date.prototype,Zi=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Bi=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],$i=["January","February","March","April","May","June","July","August","September","October","November","December"],Ji=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Gi(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(c<=r)return-1;if(37===(i=n.charCodeAt(u++))){if(!(o=co[n.charAt(u++)])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function Ki(t){return new RegExp("^(?:"+t.map(F.requote).join("|")+")","i")}function Wi(t){for(var n=new M,e=-1,r=t.length;++e<r;)n.set(t[e].toLowerCase(),e);return n}function Qi(t,n,e){var r=(t+="").length;return r<e?new Array(e-r+1).join(n)+t:t}F.time.format=function(a){var c=a.length;function t(t){for(var n,e,r,i=[],o=-1,u=0;++o<c;)37===a.charCodeAt(o)&&(i.push(a.substring(u,o)),null!=(e=uo[n=a.charAt(++o)])&&(n=a.charAt(++o)),(r=ao[n])&&(n=r(t,null==e?"e"===n?" ":"0":e)),i.push(n),u=o+1);return i.push(a.substring(u,o)),i.join("")}return t.parse=function(t){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0};if(Gi(n,a,t,0)!=t.length)return null;"p"in n&&(n.H=n.H%12+12*n.p);var e=new Ii;return e.setFullYear(n.y,n.m,n.d),e.setHours(n.H,n.M,n.S,n.L),e},t.toString=function(){return a},t};var to=Ki(Zi),no=Ki(Bi),eo=Ki($i),ro=Wi($i),io=Ki(Ji),oo=Wi(Ji),uo={"-":"",_:" ",0:"0"},ao={a:function(t){return Bi[t.getDay()]},A:function(t){return Zi[t.getDay()]},b:function(t){return Ji[t.getMonth()]},B:function(t){return $i[t.getMonth()]},c:F.time.format("%a %b %e %X %Y"),d:function(t,n){return Qi(t.getDate(),n,2)},e:function(t,n){return Qi(t.getDate(),n,2)},H:function(t,n){return Qi(t.getHours(),n,2)},I:function(t,n){return Qi(t.getHours()%12||12,n,2)},j:function(t,n){return Qi(1+F.time.dayOfYear(t),n,3)},L:function(t,n){return Qi(t.getMilliseconds(),n,3)},m:function(t,n){return Qi(t.getMonth()+1,n,2)},M:function(t,n){return Qi(t.getMinutes(),n,2)},p:function(t){return 12<=t.getHours()?"PM":"AM"},S:function(t,n){return Qi(t.getSeconds(),n,2)},U:function(t,n){return Qi(F.time.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Qi(F.time.mondayOfYear(t),n,2)},x:F.time.format("%m/%d/%Y"),X:F.time.format("%H:%M:%S"),y:function(t,n){return Qi(t.getFullYear()%100,n,2)},Y:function(t,n){return Qi(t.getFullYear()%1e4,n,4)},Z:function(t){var n=t.getTimezoneOffset(),e=0<n?"-":"+",r=~~(Math.abs(n)/60),i=Math.abs(n)%60;return e+Qi(r,"0",2)+Qi(i,"0",2)},"%":function(){return"%"}},co={a:function(t,n,e){no.lastIndex=0;var r=no.exec(n.substring(e));return r?e+=r[0].length:-1},A:function(t,n,e){to.lastIndex=0;var r=to.exec(n.substring(e));return r?e+=r[0].length:-1},b:function(t,n,e){io.lastIndex=0;var r=io.exec(n.substring(e));return r?(t.m=oo.get(r[0].toLowerCase()),e+=r[0].length):-1},B:function(t,n,e){eo.lastIndex=0;var r=eo.exec(n.substring(e));return r?(t.m=ro.get(r[0].toLowerCase()),e+=r[0].length):-1},c:function(t,n,e){return Gi(t,ao.c.toString(),n,e)},d:lo,e:lo,H:fo,I:fo,L:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+3));return r?(t.L=+r[0],e+=r[0].length):-1},m:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.m=r[0]-1,e+=r[0].length):-1},M:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.M=+r[0],e+=r[0].length):-1},p:function(t,n,e){var r=ho.get(n.substring(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)},S:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.S=+r[0],e+=r[0].length):-1},x:function(t,n,e){return Gi(t,ao.x.toString(),n,e)},X:function(t,n,e){return Gi(t,ao.X.toString(),n,e)},y:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.y=(i=+r[0],i+(68<i?1900:2e3)),e+=r[0].length):-1;var i},Y:function(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+4));return r?(t.y=+r[0],e+=r[0].length):-1}};function lo(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.d=+r[0],e+=r[0].length):-1}function fo(t,n,e){so.lastIndex=0;var r=so.exec(n.substring(e,e+2));return r?(t.H=+r[0],e+=r[0].length):-1}var so=/^\s*\d+/;var ho=F.map({am:0,pm:1});F.time.format.utc=function(t){var e=F.time.format(t);function n(t){try{var n=new(Ii=Vi);return n._=t,e(n)}finally{Ii=Date}}return n.parse=function(t){try{Ii=Vi;var n=e.parse(t);return n&&n._}finally{Ii=Date}},n.toString=e.toString,n};var go=F.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");function po(t){return t.toISOString()}function vo(r,o,u){function t(t){var n=r(t),e=i(n,1);return t-n<e-t?n:e}function a(t){return o(t=r(new Ii(t-1)),1),t}function i(t,n){return o(t=new Ii(+t),n),t}function c(t,n,e){var r=a(t),i=[];if(1<e)for(;r<n;)u(r)%e||i.push(new Date(+r)),o(r,1);else for(;r<n;)i.push(new Date(+r)),o(r,1);return i}(r.floor=r).round=t,r.ceil=a,r.offset=i,r.range=c;var n=r.utc=mo(r);return(n.floor=n).round=mo(t),n.ceil=mo(a),n.offset=mo(i),n.range=function(t,n,e){try{var r=new(Ii=Vi);return r._=t,c(r,n,e)}finally{Ii=Date}},r}function mo(r){return function(t,n){try{var e=new(Ii=Vi);return e._=t,r(e,n)._}finally{Ii=Date}}}function yo(c,l,t){function f(t){return c(t)}return f.invert=function(t){return Mo(c.invert(t))},f.domain=function(t){return arguments.length?(c.domain(t),f):c.domain().map(Mo)},f.nice=function(t){return f.domain(qn(f.domain(),function(){return t}))},f.ticks=function(t,n){var e,r,i,o=(e=f.domain(),r=e[0],i=e[e.length-1],r<i?[r,i]:[i,r]);if("function"!=typeof t){var u=(o[1]-o[0])/t,a=F.bisect(wo,u);if(a==wo.length)return l.year(o,t);if(!a)return c.ticks(t).map(Mo);Math.log(u/wo[a-1])<Math.log(wo[a]/u)&&--a,n=(t=l[a])[1],t=t[0].range}return t(o[0],new Date(+o[1]+1),n)},f.tickFormat=function(){return t},f.copy=function(){return yo(c.copy(),l,t)},F.rebind(f,c,"range","rangeRound","interpolate","clamp")}function Mo(t){return new Date(t)}function bo(r){return function(t){for(var n=r.length-1,e=r[n];!e[1](t);)e=r[--n];return e[0](t)}}function xo(t){var n=new Date(t,0,1);return n.setFullYear(t),n}function _o(t){var n=t.getFullYear(),e=xo(n);return n+(t-e)/(xo(n+1)-e)}F.time.format.iso=Date.prototype.toISOString?po:go,po.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},po.toString=go.toString,F.time.second=vo(function(t){return new Ii(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),F.time.seconds=F.time.second.range,F.time.seconds.utc=F.time.second.utc.range,F.time.minute=vo(function(t){return new Ii(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),F.time.minutes=F.time.minute.range,F.time.minutes.utc=F.time.minute.utc.range,F.time.hour=vo(function(t){var n=t.getTimezoneOffset()/60;return new Ii(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),F.time.hours=F.time.hour.range,F.time.hours.utc=F.time.hour.utc.range,F.time.day=vo(function(t){var n=new Ii(1970,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),F.time.days=F.time.day.range,F.time.days.utc=F.time.day.utc.range,F.time.dayOfYear=function(t){var n=F.time.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].forEach(function(t,e){t=t.toLowerCase(),e=7-e;var n=F.time[t]=vo(function(t){return(t=F.time.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var n=F.time.year(t).getDay();return Math.floor((F.time.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});F.time[t+"s"]=n.range,F.time[t+"s"].utc=n.utc.range,F.time[t+"OfYear"]=function(t){var n=F.time.year(t).getDay();return Math.floor((F.time.dayOfYear(t)+(n+e)%7)/7)}}),F.time.week=F.time.sunday,F.time.weeks=F.time.sunday.range,F.time.weeks.utc=F.time.sunday.utc.range,F.time.weekOfYear=F.time.sundayOfYear,F.time.month=vo(function(t){return(t=F.time.day(t)).setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),F.time.months=F.time.month.range,F.time.months.utc=F.time.month.utc.range,F.time.year=vo(function(t){return(t=F.time.day(t)).setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),F.time.years=F.time.year.range,F.time.years.utc=F.time.year.utc.range;var wo=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],So=[[F.time.second,1],[F.time.second,5],[F.time.second,15],[F.time.second,30],[F.time.minute,1],[F.time.minute,5],[F.time.minute,15],[F.time.minute,30],[F.time.hour,1],[F.time.hour,3],[F.time.hour,6],[F.time.hour,12],[F.time.day,1],[F.time.day,2],[F.time.week,1],[F.time.month,1],[F.time.month,3],[F.time.year,1]],ko=[[F.time.format("%Y"),E],[F.time.format("%B"),function(t){return t.getMonth()}],[F.time.format("%b %d"),function(t){return 1!=t.getDate()}],[F.time.format("%a %d"),function(t){return t.getDay()&&1!=t.getDate()}],[F.time.format("%I %p"),function(t){return t.getHours()}],[F.time.format("%I:%M"),function(t){return t.getMinutes()}],[F.time.format(":%S"),function(t){return t.getSeconds()}],[F.time.format(".%L"),function(t){return t.getMilliseconds()}]],Eo=F.scale.linear(),No=bo(ko);So.year=function(t,n){return Eo.domain(t.map(_o)).ticks(n).map(xo)},F.time.scale=function(){return yo(F.scale.linear(),So,No)};var Ao=So.map(function(t){return[t[0].utc,t[1]]}),To=bo([[F.time.format.utc("%Y"),E],[F.time.format.utc("%B"),function(t){return t.getUTCMonth()}],[F.time.format.utc("%b %d"),function(t){return 1!=t.getUTCDate()}],[F.time.format.utc("%a %d"),function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[F.time.format.utc("%I %p"),function(t){return t.getUTCHours()}],[F.time.format.utc("%I:%M"),function(t){return t.getUTCMinutes()}],[F.time.format.utc(":%S"),function(t){return t.getUTCSeconds()}],[F.time.format.utc(".%L"),function(t){return t.getUTCMilliseconds()}]]);function qo(t){var n=new Date(Date.UTC(t,0,1));return n.setUTCFullYear(t),n}function Co(t){var n=t.getUTCFullYear(),e=qo(n);return n+(t-e)/(qo(n+1)-e)}return Ao.year=function(t,n){return Eo.domain(t.map(Co)).ticks(n).map(qo)},F.time.scale.utc=function(){return yo(F.scale.linear(),Ao,To)},F}();