game-of-life-d3-boots
Version:
conway's game of life with a small bit of interactivity. an observer can click on a square to "infect" it (turn its living color to red). then, whenever that cell is live, it will "infect" its living neighbors
6 lines • 166 kB
JavaScript
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b,c){this.id=a,this.alive=!!b,this.infected=!!c}b.exports=d,d.prototype.willChange=function(a){var b=a.neighbors(),c=b.alive;return this.infected||b.infected&&this.infect(),this.alive&&2>c?!0:this.alive&&c>3?!0:this.alive||3!==c?!1:!0},d.prototype.willChangeLife=function(a){var b=a.livingNeighborsCount();return this.alive&&2>b?!0:this.alive&&b>3?!0:this.alive||3!==b?!1:!0},d.prototype.willChangeHealth=function(a){return this.infected?!1:a.hasInfectedLivingNeighbor()},d.prototype.invert=function(){return this.alive=!this.alive,this},d.prototype.infect=function(){return this.infected=!0,this},d.prototype.invertInfection=function(){return this.infected=!this.infected,this}},{}],2:[function(a,b,c){var d=a("./vector"),e="n ne e se s sw w nw".split(" ");b.exports.directions={n:new d(0,-1),ne:new d(1,-1),e:new d(1,0),se:new d(1,1),s:new d(0,1),sw:new d(-1,1),w:new d(-1,0),nw:new d(-1,-1)},b.exports.names=e,b.exports.dirPlus=function(a,b){var c=e.indexOf(a);return e[(c+b+8)%8]}},{"./vector":9}],3:[function(a,b,c){function d(a,b){var c=new e(b[0].length,b.length);this.svg=a,this.grid=c;var d=+a.attr("width")/c.width,h=+a.attr("height")/c.height;this.attrs={cx:function(a){return a.vec.x*d+d/2},cy:function(a){return a.vec.y*h+h/2},fill:function(a){return a.cell.infected?"red":"#222"},opacity:function(a){return a.cell.alive?.42:0},r:2},this.cellData=[],this.cells=this.svg.selectAll(".cell"),b.forEach(function(a,b){for(var d,e,h=0;h<a.length;h++)d=new g(h,b),e=new f("#cell-"+d.x+"-"+d.y,a[h]),c.set(d,e),this.cellData.push({vec:d,cell:e})},this),this.svg.on("click",function(){var b=(d3.select(this),d3.mouse(this));console.log(b);var e=Math.floor(b[0]/d),f=Math.floor(b[1]/h);console.log(e,f),c.get(new g(e,f)).invertInfection(),window.requestAnimationFrame(function(){a.selectAll(".ring").data([b]).enter().append("circle").attr({cx:function(a){return a[0]},cy:function(a){return a[1]},fill:"transparent",opacity:.2,stroke:"red","stroke-width":2,r:4}).transition().ease("linear").duration(650).attr("r",150).attr("opacity",0).remove()})}),this.cells.data(this.cellData).enter().append("circle").classed("cell",!0).attr(this.attrs).transition().duration(600),this.svg.selectAll(".cell-mask").data(this.cellData).enter().append("rect").classed("cell-mask",!0).attr({x:function(a){return a.vec.x*d},y:function(a){return a.vec.y*h},fill:"transparent",width:d,height:h})}b.exports=d;var e=a("./grid"),f=a("./cell"),g=a("./vector"),h=a("./view");a("./utilities").isNully;d.prototype.toString=function(){var a,b,c="";for(b=0;b<this.grid.height;b++){for(a=0;a<this.grid.width;a++){var d=this.grid.get(new g(a,b));c+=d.alive?"X":"O"}c+="\n"}return c},d.prototype.tick=function(){var a=0;this.grid.filter(function(a,b){return a.willChangeLife(new h(this,b))},this).forEach(function(b,c){a++,b.invert()},this),this.grid.filter(function(a,b){return a.willChangeHealth(new h(this,b))},this).forEach(function(b,c){a++,b.infect()},this),0!==a&&this.svg.selectAll(".cell").data(this.cellData).transition().duration(function(a,b){return 400}).attr(this.attrs)},d.prototype.letAct=function(a,b){var c=a.act(new h(this,b));c&&a.draw(this.svg,b)}},{"./cell":1,"./grid":4,"./utilities":8,"./vector":9,"./view":10}],4:[function(a,b,c){function d(a,b){this.width=a,this.height=b,this.space=new Array(a*b)}var e=a("./vector");b.exports=d,d.prototype.isInside=function(a){return a.x>=0&&a.x<this.width&&a.y>=0&&a.y<this.height},d.prototype.get=function(a){var b=this._indexFromVector(a);return this.space[b]},d.prototype.set=function(a,b){var c=this._indexFromVector(a);this.space[c]=b},d.prototype.forEach=function(a,b){var c,d;for(d=0;d<this.height;d++)for(c=0;c<this.width;c++){var f=new e(c,d),g=this._indexFromVector(f),h=this.space[g];null!=h&&a.call(b,h,f)}},d.prototype.filter=function(a,b){var c,f,g=new d(this.width,this.height);for(f=0;f<this.height;f++)for(c=0;c<this.width;c++){var h=new e(c,f),i=this._indexFromVector(h),j=this.space[i];null!=j&&a.call(b,j,h)&&g.set(h,j)}return g},d.prototype._indexFromVector=function(a){return a.x+this.width*a.y}},{"./vector":9}],5:[function(a,b,c){(function(b){var c=a("d3"),d=a("./simulation"),e=(a("./game"),a("./grid"),a("./vector"),window.innerWidth),f=window.innerHeight,g=50,h=50;b.svg=c.select("body").append("svg").attr({width:e,height:f}),map=new Array(h);for(var i=0;h>i;i++){map[i]=new Array(g);for(var j=0;g>j;j++)map[i][j]=!!Math.floor(2*Math.random())}b.sim=new d(svg,map,1e3).run(250,450)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./game":3,"./grid":4,"./simulation":7,"./vector":9,d3:11}],6:[function(a,b,c){},{}],7:[function(a,b,c){function d(a,b,c){this.svg=a,this.map=b,this.n=c.iterations||100}function e(a){console.log(a)}function f(a){console.log("Simulation failure. Here's the error: ",a)}function g(a,b){this.message=b+"\n Original Error message: "+a.message+"\n",this.stack=a.stack}var h=a("./game"),i=a("es6-promise").Promise;b.exports=d,d.prototype.run=function(a,b){function c(a,c){function e(b){clearInterval(h),a(b)}function f(a){clearInterval(h),c(a)}var g=1,h=setInterval(function(){d(g,e,f),g++},b)}function d(b,c,d){var e;if(b>a)c(">>> Simulation complete!");else try{console.log("Tick"),g.tick()}catch(f){e="Simulation failed on turn number "+b+".",console.log(e),d(f)}}a=a||this.n,b=b||4e3,this.game=new h(this.svg,this.map);var g=this.game,j=new i(c);return this.promise=j.then(e,f),this},g.prototype=Object.create(Error.prototype),g.prototype.name="SimulationError"},{"./game":3,"es6-promise":12}],8:[function(a,b,c){function d(a){return null==a}b.exports.randomElement=function(a){return a[Math.floor(Math.random()*a.length)]},b.exports.isNully=d},{}],9:[function(a,b,c){function d(a,b){this.x=a,this.y=b}b.exports=d,d.prototype.plus=function(a){return new d(this.x+a.x,this.y+a.y)}},{}],10:[function(a,b,c){function d(a,b){this.game=a,this.vector=b}var e=a("./directions").directions;a("./utilities").charFromElement,a("./utilities").randomElement,a("./utilities").isNully;b.exports=d,d.prototype.lookAlive=function(a){var b=this.vector.plus(e[a]);return this.game.grid.isInside(b)?this.game.grid.get(b).alive:!1},d.prototype.infected=function(a){var b=this.vector.plus(e[a]);return this.game.grid.isInside(b)?this.game.grid.get(b).infected:!1},d.prototype.neighbors=function(){var a,b,c=0;for(a in e)this.lookAlive(a)&&c++,this.infected(a)&&(b=!0);return{alive:c,infected:b}},d.prototype.livingNeighborsCount=function(){var a,b=0;for(a in e)this.lookAlive(a)&&b++;return b},d.prototype.hasInfectedNeighbor=function(){var a;for(a in e)if(this.infected(a))return!0;return!1},d.prototype.hasInfectedLivingNeighbor=function(){var a;for(a in e)if(this.infected(a)&&this.lookAlive(a))return!0;return!1}},{"./directions":2,"./utilities":8}],11:[function(a,b,c){!function(){function a(a){return a&&(a.ownerDocument||a.document||a).documentElement}function c(a){return a&&(a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView)}function d(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function e(a){return null===a?NaN:+a}function f(a){return!isNaN(a)}function g(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function h(a){return a.length}function i(a){for(var b=1;a*b%1;)b*=10;return b}function j(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function k(){this._=Object.create(null)}function l(a){return(a+="")===pg||a[0]===qg?qg+a:a}function m(a){return(a+="")[0]===qg?a.slice(1):a}function n(a){return l(a)in this._}function o(a){return(a=l(a))in this._&&delete this._[a]}function p(){var a=[];for(var b in this._)a.push(m(b));return a}function q(){var a=0;for(var b in this._)++a;return a}function r(){for(var a in this._)return!1;return!0}function s(){this._=Object.create(null)}function t(a){return a}function u(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function v(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=rg.length;d>c;++c){var e=rg[c]+b;if(e in a)return e}}function w(){}function x(){}function y(a){function b(){for(var b,d=c,e=-1,f=d.length;++e<f;)(b=d[e].on)&&b.apply(this,arguments);return a}var c=[],d=new k;return b.on=function(b,e){var f,g=d.get(b);return arguments.length<2?g&&g.on:(g&&(g.on=null,c=c.slice(0,f=c.indexOf(g)).concat(c.slice(f+1)),d.remove(b)),e&&c.push(d.set(b,{on:e})),a)},b}function z(){cg.event.preventDefault()}function A(){for(var a,b=cg.event;a=b.sourceEvent;)b=a;return b}function B(a){for(var b=new x,c=0,d=arguments.length;++c<d;)b[arguments[c]]=y(b);return b.of=function(c,d){return function(e){try{var f=e.sourceEvent=cg.event;e.target=a,cg.event=e,b[e.type].apply(c,d)}finally{cg.event=f}}},b}function C(a){return tg(a,xg),a}function D(a){return"function"==typeof a?a:function(){return ug(a,this)}}function E(a){return"function"==typeof a?a:function(){return vg(a,this)}}function F(a,b){function c(){this.removeAttribute(a)}function d(){this.removeAttributeNS(a.space,a.local)}function e(){this.setAttribute(a,b)}function f(){this.setAttributeNS(a.space,a.local,b)}function g(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}function h(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}return a=cg.ns.qualify(a),null==b?a.local?d:c:"function"==typeof b?a.local?h:g:a.local?f:e}function G(a){return a.trim().replace(/\s+/g," ")}function H(a){return new RegExp("(?:^|\\s+)"+cg.requote(a)+"(?:\\s+|$)","g")}function I(a){return(a+"").trim().split(/^|\s+/)}function J(a,b){function c(){for(var c=-1;++c<e;)a[c](this,b)}function d(){for(var c=-1,d=b.apply(this,arguments);++c<e;)a[c](this,d)}a=I(a).map(K);var e=a.length;return"function"==typeof b?d:c}function K(a){var b=H(a);return function(c,d){if(e=c.classList)return d?e.add(a):e.remove(a);var e=c.getAttribute("class")||"";d?(b.lastIndex=0,b.test(e)||c.setAttribute("class",G(e+" "+a))):c.setAttribute("class",G(e.replace(b," ")))}}function L(a,b,c){function d(){this.style.removeProperty(a)}function e(){this.style.setProperty(a,b,c)}function f(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}return null==b?d:"function"==typeof b?f:e}function M(a,b){function c(){delete this[a]}function d(){this[a]=b}function e(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}return null==b?c:"function"==typeof b?e:d}function N(a){function b(){var b=this.ownerDocument,c=this.namespaceURI;return c?b.createElementNS(c,a):b.createElement(a)}function c(){return this.ownerDocument.createElementNS(a.space,a.local)}return"function"==typeof a?a:(a=cg.ns.qualify(a)).local?c:b}function O(){var a=this.parentNode;a&&a.removeChild(this)}function P(a){return{__data__:a}}function Q(a){return function(){return wg(this,a)}}function R(a){return arguments.length||(a=d),function(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}}function S(a,b){for(var c=0,d=a.length;d>c;c++)for(var e,f=a[c],g=0,h=f.length;h>g;g++)(e=f[g])&&b(e,g,c);return a}function T(a){return tg(a,zg),a}function U(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b<i;);return g}}function V(a,b,c){function d(){var b=this[g];b&&(this.removeEventListener(a,b,b.$),delete this[g])}function e(){var e=i(b,eg(arguments));d.call(this),this.addEventListener(a,this[g]=e,e.$=c),e._=b}function f(){var b,c=new RegExp("^__on([^.]+)"+cg.requote(a)+"$");for(var d in this)if(b=d.match(c)){var e=this[d];this.removeEventListener(b[1],e,e.$),delete this[d]}}var g="__on"+a,h=a.indexOf("."),i=W;h>0&&(a=a.slice(0,h));var j=Ag.get(a);return j&&(a=j,i=X),h?b?e:d:b?w:f}function W(a,b){return function(c){var d=cg.event;cg.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{cg.event=d}}}function X(a,b){var c=W(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function Y(b){var d=".dragsuppress-"+ ++Cg,e="click"+d,f=cg.select(c(b)).on("touchmove"+d,z).on("dragstart"+d,z).on("selectstart"+d,z);if(null==Bg&&(Bg="onselectstart"in b?!1:v(b.style,"userSelect")),Bg){var g=a(b).style,h=g[Bg];g[Bg]="none"}return function(a){if(f.on(d,null),Bg&&(g[Bg]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){z(),b()},!0),setTimeout(b,0)}}}function Z(a,b){b.changedTouches&&(b=b.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(0>Dg){var f=c(a);if(f.scrollX||f.scrollY){d=cg.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Dg=!(g.f||g.e),d.remove()}}return Dg?(e.x=b.pageX,e.y=b.pageY):(e.x=b.clientX,e.y=b.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[b.clientX-h.left-a.clientLeft,b.clientY-h.top-a.clientTop]}function $(){return cg.event.changedTouches[0].identifier}function _(a){return a>0?1:0>a?-1:0}function aa(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function ba(a){return a>1?0:-1>a?Gg:Math.acos(a)}function ca(a){return a>1?Jg:-1>a?-Jg:Math.asin(a)}function da(a){return((a=Math.exp(a))-1/a)/2}function ea(a){return((a=Math.exp(a))+1/a)/2}function fa(a){return((a=Math.exp(2*a))-1)/(a+1)}function ga(a){return(a=Math.sin(a/2))*a}function ha(){}function ia(a,b,c){return this instanceof ia?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ia?new ia(a.h,a.s,a.l):wa(""+a,xa,ia):new ia(a,b,c)}function ja(a,b,c){function d(a){return a>360?a-=360:0>a&&(a+=360),60>a?f+(g-f)*a/60:180>a?g:240>a?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:0>b?0:b>1?1:b,c=0>c?0:c>1?1:c,g=.5>=c?c*(1+b):c+b-c*b,f=2*c-g,new sa(e(a+120),e(a),e(a-120))}function ka(a,b,c){return this instanceof ka?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ka?new ka(a.h,a.c,a.l):a instanceof ma?oa(a.l,a.a,a.b):oa((a=ya((a=cg.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ka(a,b,c)}function la(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new ma(c,Math.cos(a*=Kg)*b,Math.sin(a)*b)}function ma(a,b,c){return this instanceof ma?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof ma?new ma(a.l,a.a,a.b):a instanceof ka?la(a.h,a.c,a.l):ya((a=sa(a)).r,a.g,a.b):new ma(a,b,c)}function na(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=pa(e)*Vg,d=pa(d)*Wg,f=pa(f)*Xg,new sa(ra(3.2404542*e-1.5371385*d-.4985314*f),ra(-.969266*e+1.8760108*d+.041556*f),ra(.0556434*e-.2040259*d+1.0572252*f))}function oa(a,b,c){return a>0?new ka(Math.atan2(c,b)*Lg,Math.sqrt(b*b+c*c),a):new ka(NaN,NaN,a)}function pa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function qa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function ra(a){return Math.round(255*(.00304>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function sa(a,b,c){return this instanceof sa?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof sa?new sa(a.r,a.g,a.b):wa(""+a,sa,ja):new sa(a,b,c)}function ta(a){return new sa(a>>16,a>>8&255,255&a)}function ua(a){return ta(a)+""}function va(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function wa(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/i.exec(a))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(Aa(e[0]),Aa(e[1]),Aa(e[2]))}return(f=$g.get(a.toLowerCase()))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function xa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=.5>i?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(c>b?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=NaN,e=i>0&&1>i?0:d),new ia(d,e,i)}function ya(a,b,c){a=za(a),b=za(b),c=za(c);var d=qa((.4124564*a+.3575761*b+.1804375*c)/Vg),e=qa((.2126729*a+.7151522*b+.072175*c)/Wg),f=qa((.0193339*a+.119192*b+.9503041*c)/Xg);return ma(116*e-16,500*(d-e),200*(e-f))}function za(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function Aa(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Ba(a){return"function"==typeof a?a:function(){return a}}function Ca(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Da(b,c,a,d)}}function Da(a,b,c,d){function e(){var a,b=i.status;if(!b&&Fa(i)||b>=200&&300>b||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=cg.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=cg.event;cg.event=a;try{g.progress.call(f,i)}finally{cg.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(eg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},cg.rebind(f,g,"on"),null==d?f:f.get(Ea(d))}function Ea(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Fa(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Ga(){var a=Ha(),b=Ia()-a;b>24?(isFinite(b)&&(clearTimeout(ch),ch=setTimeout(Ga,b)),bh=0):(bh=1,eh(Ga))}function Ha(){var a=Date.now();for(dh=_g;dh;)a>=dh.t&&(dh.f=dh.c(a-dh.t)),dh=dh.n;return a}function Ia(){for(var a,b=_g,c=1/0;b;)b.f?b=a?a.n=b.n:_g=b.n:(b.t<c&&(c=b.t),b=(a=b).n);return ah=a,c}function Ja(a,b){return b-(a?Math.ceil(Math.log(a)/Math.LN10):1)}function Ka(a,b){var c=Math.pow(10,3*og(8-b));return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function La(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:t;return function(a){var c=gh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):("e"==n||"f"==n)&&(m=Math.max(0,Math.min(20,m)))),n=hh.get(n)||Ma;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=0>a||0===a&&0>1/a?(a=-a,"-"):"-"===h?"":h;if(0>o){var i=cg.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(0>w){var x=s?a.lastIndexOf("e"):-1;0>x?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=k>y?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function Ma(a){return a+""}function Na(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Oa(a,b,c){function d(b){var c=a(b),d=f(c,1);return d-b>b-c?c:d}function e(c){return b(c=a(new jh(c-1)),1),c}function f(a,c){return b(a=new jh(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;d>g;)c(g)%f||h.push(new Date(+g)),b(g,1);else for(;d>g;)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{jh=Na;var d=new Na;return d._=a,g(d,b,c)}finally{jh=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Pa(a);return i.floor=i,i.round=Pa(d),i.ceil=Pa(e),i.offset=Pa(f),i.range=h,a}function Pa(a){return function(b,c){try{jh=Na;var d=new Na;return d._=b,a(d,c)._}finally{jh=Date}}}function Qa(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++h<d;)37===a.charCodeAt(h)&&(g.push(a.slice(i,h)),null!=(e=lh[c=a.charAt(++h)])&&(c=a.charAt(++h)),(f=C[c])&&(c=f(b,null==e?"e"===c?" ":"0":e)),g.push(c),i=h+1);return g.push(a.slice(i,h)),g.join("")}var d=a.length;return b.parse=function(b){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},e=c(d,a,b,0);if(e!=b.length)return null;"p"in d&&(d.H=d.H%12+12*d.p);var f=null!=d.Z&&jh!==Na,g=new(f?Na:jh);return"j"in d?g.setFullYear(d.y,0,d.j):"w"in d&&("W"in d||"U"in d)?(g.setFullYear(d.y,0,1),g.setFullYear(d.y,0,"W"in d?(d.w+6)%7+7*d.W-(g.getDay()+5)%7:d.w+7*d.U-(g.getDay()+6)%7)):g.setFullYear(d.y,d.m,d.d),g.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L),f?g._:g},b.toString=function(){return a},b}function c(a,b,c,d){for(var e,f,g,h=0,i=b.length,j=c.length;i>h;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in lh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{jh=Na;var b=new jh;return b._=a,d(b)}finally{jh=Date}}var d=b(a);return c.parse=function(a){try{jh=Na;var b=d.parse(a);return b&&b._}finally{jh=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=ib;var t=cg.map(),u=Sa(p),v=Ta(p),w=Sa(q),x=Ta(q),y=Sa(r),z=Ta(r),A=Sa(s),B=Ta(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Ra(a.getDate(),b,2)},e:function(a,b){return Ra(a.getDate(),b,2)},H:function(a,b){return Ra(a.getHours(),b,2)},I:function(a,b){return Ra(a.getHours()%12||12,b,2)},j:function(a,b){return Ra(1+ih.dayOfYear(a),b,3)},L:function(a,b){return Ra(a.getMilliseconds(),b,3)},m:function(a,b){return Ra(a.getMonth()+1,b,2)},M:function(a,b){return Ra(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Ra(a.getSeconds(),b,2)},U:function(a,b){return Ra(ih.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Ra(ih.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Ra(a.getFullYear()%100,b,2)},Y:function(a,b){return Ra(a.getFullYear()%1e4,b,4)},Z:gb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:ab,e:ab,H:cb,I:cb,j:bb,L:fb,m:_a,M:db,p:k,S:eb,U:Va,w:Ua,W:Wa,x:i,X:j,y:Ya,Y:Xa,Z:Za,"%":hb};return b}function Ra(a,b,c){var d=0>a?"-":"",e=(d?-a:a)+"",f=e.length;return d+(c>f?new Array(c-f+1).join(b)+e:e)}function Sa(a){return new RegExp("^(?:"+a.map(cg.requote).join("|")+")","i")}function Ta(a){for(var b=new k,c=-1,d=a.length;++c<d;)b.set(a[c].toLowerCase(),c);return b}function Ua(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+1));return d?(a.w=+d[0],c+d[0].length):-1}function Va(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c));return d?(a.U=+d[0],c+d[0].length):-1}function Wa(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c));return d?(a.W=+d[0],c+d[0].length):-1}function Xa(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+4));return d?(a.y=+d[0],c+d[0].length):-1}function Ya(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.y=$a(+d[0]),c+d[0].length):-1}function Za(a,b,c){return/^[+-]\d{4}$/.test(b=b.slice(c,c+5))?(a.Z=-b,c+5):-1}function $a(a){return a+(a>68?1900:2e3)}function _a(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function ab(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function bb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function cb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function db(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function eb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function fb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function gb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=og(b)/60|0,e=og(b)%60;return c+Ra(d,"0",2)+Ra(e,"0",2)}function hb(a,b,c){nh.lastIndex=0;var d=nh.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function ib(a){for(var b=a.length,c=-1;++c<b;)a[c][0]=this(a[c][0]);return function(b){for(var c=0,d=a[c];!d[1](b);)d=a[++c];return d[0](b)}}function jb(){}function kb(a,b,c){var d=c.s=a+b,e=d-a,f=d-e;c.t=a-f+(b-e)}function lb(a,b){a&&rh.hasOwnProperty(a.type)&&rh[a.type](a,b)}function mb(a,b,c){var d,e=-1,f=a.length-c;for(b.lineStart();++e<f;)d=a[e],b.point(d[0],d[1],d[2]);b.lineEnd()}function nb(a,b){var c=-1,d=a.length;for(b.polygonStart();++c<d;)mb(a[c],b,1);b.polygonEnd()}function ob(){function a(a,b){a*=Kg,b=b*Kg/2+Gg/4;var c=a-d,g=c>=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);th.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;uh.point=function(g,h){uh.point=a,d=(b=g)*Kg,e=Math.cos(h=(c=h)*Kg/2+Gg/4),f=Math.sin(h)},uh.lineEnd=function(){a(b,c)}}function pb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function qb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function rb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function sb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function tb(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function ub(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function vb(a){return[Math.atan2(a[1],a[0]),ca(a[2])]}function wb(a,b){return og(a[0]-b[0])<Eg&&og(a[1]-b[1])<Eg}function xb(a,b){a*=Kg;var c=Math.cos(b*=Kg);yb(c*Math.cos(a),c*Math.sin(a),Math.sin(b))}function yb(a,b,c){++vh,xh+=(a-xh)/vh,yh+=(b-yh)/vh,zh+=(c-zh)/vh}function zb(){function a(a,e){a*=Kg;var f=Math.cos(e*=Kg),g=f*Math.cos(a),h=f*Math.sin(a),i=Math.sin(e),j=Math.atan2(Math.sqrt((j=c*i-d*h)*j+(j=d*g-b*i)*j+(j=b*h-c*g)*j),b*g+c*h+d*i);wh+=j,Ah+=j*(b+(b=g)),Bh+=j*(c+(c=h)),Ch+=j*(d+(d=i)),yb(b,c,d)}var b,c,d;Gh.point=function(e,f){e*=Kg;var g=Math.cos(f*=Kg);b=g*Math.cos(e),c=g*Math.sin(e),d=Math.sin(f),Gh.point=a,yb(b,c,d)}}function Ab(){Gh.point=xb}function Bb(){function a(a,b){a*=Kg;var c=Math.cos(b*=Kg),g=c*Math.cos(a),h=c*Math.sin(a),i=Math.sin(b),j=e*i-f*h,k=f*g-d*i,l=d*h-e*g,m=Math.sqrt(j*j+k*k+l*l),n=d*g+e*h+f*i,o=m&&-ba(n)/m,p=Math.atan2(m,n);Dh+=o*j,Eh+=o*k,Fh+=o*l,wh+=p,Ah+=p*(d+(d=g)),Bh+=p*(e+(e=h)),Ch+=p*(f+(f=i)),yb(d,e,f)}var b,c,d,e,f;Gh.point=function(g,h){b=g,c=h,Gh.point=a,g*=Kg;var i=Math.cos(h*=Kg);d=i*Math.cos(g),e=i*Math.sin(g),f=Math.sin(h),yb(d,e,f)},Gh.lineEnd=function(){a(b,c),Gh.lineEnd=Ab,Gh.point=xb}}function Cb(a,b){function c(c,d){return c=a(c,d),b(c[0],c[1])}return a.invert&&b.invert&&(c.invert=function(c,d){return c=b.invert(c,d),c&&a.invert(c[0],c[1])}),c}function Db(){return!0}function Eb(a,b,c,d,e){var f=[],g=[];if(a.forEach(function(a){if(!((b=a.length-1)<=0)){var b,c=a[0],d=a[b];if(wb(c,d)){e.lineStart();for(var h=0;b>h;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Gb(c,a,null,!0),j=new Gb(c,null,i,!1);i.o=j,f.push(i),g.push(j),i=new Gb(d,a,null,!1),j=new Gb(d,null,i,!0),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Fb(f),Fb(g),f.length){for(var h=0,i=c,j=g.length;j>h;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;j>h;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Fb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d<b;)e.n=c=a[d],c.p=e,e=c;e.n=c=a[0],c.p=e}}function Gb(a,b,c,d){this.x=a,this.z=b,this.o=c,this.e=d,this.v=!1,this.n=this.p=null}function Hb(a,b,c,d){return function(e,f){function g(b,c){var d=e(b,c);a(b=d[0],c=d[1])&&f.point(b,c)}function h(a,b){var c=e(a,b);q.point(c[0],c[1])}function i(){s.point=h,q.lineStart()}function j(){s.point=g,q.lineEnd()}function k(a,b){p.push([a,b]);var c=e(a,b);u.point(c[0],c[1])}function l(){u.lineStart(),p=[]}function m(){k(p[0][0],p[0][1]),u.lineEnd();var a,b=u.clean(),c=t.buffer(),d=c.length;if(p.pop(),o.push(p),p=null,d)if(1&b){a=c[0];var e,d=a.length-1,g=-1;if(d>0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g<d;)f.point((e=a[g])[0],e[1]);f.lineEnd()}}else d>1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Ib))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=cg.merge(n);var a=Ob(r,o);n.length?(v||(f.polygonStart(),v=!0),Eb(n,Kb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Jb(),u=b(t),v=!1;return s}}function Ib(a){return a.length>1}function Jb(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:w,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Kb(a,b){return((a=a.x)[0]<0?a[1]-Jg-Eg:Jg-a[1])-((b=b.x)[0]<0?b[1]-Jg-Eg:Jg-b[1])}function Lb(a){var b,c=NaN,d=NaN,e=NaN;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Gg:-Gg,i=og(f-c);og(i-Gg)<Eg?(a.point(c,d=(d+g)/2>0?Jg:-Jg),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Gg&&(og(c-e)<Eg&&(c-=e*Eg),og(f-h)<Eg&&(f-=h*Eg),d=Mb(c,d,f,g),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),b=0),a.point(c=f,d=g),e=h},lineEnd:function(){a.lineEnd(),c=d=NaN},clean:function(){
return 2-b}}}function Mb(a,b,c,d){var e,f,g=Math.sin(a-c);return og(g)>Eg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Nb(a,b,c,d){var e;if(null==a)e=c*Jg,d.point(-Gg,e),d.point(0,e),d.point(Gg,e),d.point(Gg,0),d.point(Gg,-e),d.point(0,-e),d.point(-Gg,-e),d.point(-Gg,0),d.point(-Gg,e);else if(og(a[0]-b[0])>Eg){var f=a[0]<b[0]?Gg:-Gg;e=c*f/2,d.point(-f,e),d.point(0,e),d.point(f,e)}else d.point(b[0],b[1])}function Ob(a,b){var c=a[0],d=a[1],e=[Math.sin(c),-Math.cos(c),0],f=0,g=0;th.reset();for(var h=0,i=b.length;i>h;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Gg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Gg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Gg,z=o*t;if(th.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Hg:v,y^m>=c^r>=c){var A=rb(pb(l),pb(a));ub(A);var B=rb(e,A);ub(B);var C=(y^v>=0?-1:1)*ca(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(-Eg>f||Eg>f&&0>th)^1&g}function Pb(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(0>l?Gg:-Gg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(wb(c,n)||wb(o,n))&&(o[0]+=Eg,o[1]+=Eg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&wb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=pb(a),e=pb(b),g=[1,0,0],h=rb(d,e),i=qb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=rb(g,h),o=tb(g,l),p=tb(h,m);sb(o,p);var q=n,r=qb(o,q),s=qb(q,q),t=r*r-s*(qb(o,o)-1);if(!(0>t)){var u=Math.sqrt(t),v=tb(q,(-r-u)/s);if(sb(v,o),v=vb(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];x>y&&(w=x,x=y,y=w);var B=y-x,C=og(B-Gg)<Eg,D=C||Eg>B;if(!C&&z>A&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(og(v[0]-x)<Eg?z:A):z<=v[1]&&v[1]<=A:B>Gg^(x<=v[0]&&v[0]<=y)){var E=tb(q,(-r+u)/s);return sb(E,o),[v,vb(E)]}}}function e(b,c){var d=g?a:Gg-a,e=0;return-d>b?e|=1:b>d&&(e|=2),-d>c?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=og(f)>Eg,i=oc(a,6*Kg);return Hb(b,c,i,g?[0,-a]:[-Gg,a-Gg])}function Qb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,0>o){if(m>f)return;n>f&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(0>f)){if(f/=o,0>o){if(f>n)return;f>m&&(m=f)}else if(o>0){if(m>f)return;n>f&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,0>p){if(m>f)return;n>f&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(0>f)){if(f/=p,0>p){if(f>n)return;f>m&&(m=f)}else if(p>0){if(m>f)return;n>f&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),1>n&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Rb(a,b,c,d){function e(d,e){return og(d[0]-a)<Eg?e>0?0:3:og(d[0]-c)<Eg?e>0?2:1:og(d[1]-b)<Eg?e>0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;c>e;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];i>g;++g)f=h[g],j[1]<=d?f[1]>d&&aa(j,f,a)>0&&++b:f[1]<=d&&aa(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return e>=a&&c>=e&&f>=b&&d>=f}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Ih,Math.min(Ih,a)),b=Math.max(-Ih,Math.min(Ih,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Jb(),C=Qb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=cg.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Eb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Sb(a){var b=0,c=Gg/3,d=gc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Gg/180,c=a[1]*Gg/180):[b/Gg*180,c/Gg*180]},e}function Tb(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ca((f-(a*a+c*c)*e*e)/(2*e))]},c}function Ub(){function a(a,b){Kh+=e*a-d*b,d=a,e=b}var b,c,d,e;Ph.point=function(f,g){Ph.point=a,b=d=f,c=e=g},Ph.lineEnd=function(){a(b,c)}}function Vb(a,b){Lh>a&&(Lh=a),a>Nh&&(Nh=a),Mh>b&&(Mh=b),b>Oh&&(Oh=b)}function Wb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Xb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Xb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Xb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Yb(a,b){xh+=a,yh+=b,++zh}function Zb(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);Ah+=g*(b+a)/2,Bh+=g*(c+d)/2,Ch+=g,Yb(b=a,c=d)}var b,c;Rh.point=function(d,e){Rh.point=a,Yb(b=d,c=e)}}function $b(){Rh.point=Yb}function _b(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);Ah+=g*(d+a)/2,Bh+=g*(e+b)/2,Ch+=g,g=e*a-d*b,Dh+=g*(d+a),Eh+=g*(e+b),Fh+=3*g,Yb(d=a,e=b)}var b,c,d,e;Rh.point=function(f,g){Rh.point=a,Yb(b=d=f,c=e=g)},Rh.lineEnd=function(){a(b,c)}}function ac(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Hg)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:w};return h}function bc(a){function b(a){return(h?d:c)(a)}function c(b){return ec(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=pb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=og(og(x)-1)<Eg||og(d-m)<Eg?(d+m)/2:Math.atan2(w,v),B=a(A,z),C=B[0],D=B[1],E=C-b,F=D-c,G=t*E-s*F;(G*G/u>f||og((s*E+t*F)/u-.5)>.3||g>h*n+i*o+j*p)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Kg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function cc(a){var b=bc(function(b,c){return a([b*Lg,c*Lg])});return function(a){return hc(b(a))}}function dc(a){this.stream=a}function ec(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function fc(a){return gc(function(){return a})()}function gc(a){function b(a){return a=h(a[0]*Kg,a[1]*Kg),[a[0]*m+i,j-a[1]*m]}function c(a){return a=h.invert((a[0]-i)/m,(j-a[1])/m),a&&[a[0]*Lg,a[1]*Lg]}function d(){h=Cb(g=kc(r,s,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=bc(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,s=0,u=0,v=Hh,w=t,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=hc(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Hh):Pb((x=+a)*Kg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Rb(a[0][0],a[0][1],a[1][0],a[1][1]):t,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Kg,q=a[1]%360*Kg,d()):[p*Lg,q*Lg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Kg,s=a[1]%360*Kg,u=a.length>2?a[2]%360*Kg:0,d()):[r*Lg,s*Lg,u*Lg]},cg.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function hc(a){return ec(a,function(b,c){a.point(b*Kg,c*Kg)})}function ic(a,b){return[a,b]}function jc(a,b){return[a>Gg?a-Hg:-Gg>a?a+Hg:a,b]}function kc(a,b,c){return a?b||c?Cb(mc(a),nc(b,c)):mc(a):b||c?nc(b,c):jc}function lc(a){return function(b,c){return b+=a,[b>Gg?b-Hg:-Gg>b?b+Hg:b,c]}}function mc(a){var b=lc(a);return b.invert=lc(-a),b}function nc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ca(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ca(k*d-h*e)]},c}function oc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=pc(c,e),f=pc(c,f),(g>0?f>e:e>f)&&(e+=g*Hg)):(e=a+g*Hg,f=a-.5*i);for(var j,k=e;g>0?k>f:f>k;k-=i)h.point((j=vb([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function pc(a,b){var c=pb(b);c[0]-=a,ub(c);var d=ba(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Eg)%(2*Math.PI)}function qc(a,b,c){var d=cg.range(a,b-Eg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function rc(a,b,c){var d=cg.range(a,b-Eg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function sc(a){return a.source}function tc(a){return a.target}function uc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(ga(d-b)+e*g*ga(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Lg,Math.atan2(g,Math.sqrt(d*d+e*e))*Lg]}:function(){return[a*Lg,b*Lg]};return o.distance=m,o}function vc(){function a(a,e){var f=Math.sin(e*=Kg),g=Math.cos(e),h=og((a*=Kg)-b),i=Math.cos(h);Sh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Th.point=function(e,f){b=e*Kg,c=Math.sin(f*=Kg),d=Math.cos(f),Th.point=a},Th.lineEnd=function(){Th.point=Th.lineEnd=w}}function wc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function xc(a,b){function c(a,b){g>0?-Jg+Eg>b&&(b=-Jg+Eg):b>Jg-Eg&&(b=Jg-Eg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Gg/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=_(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Jg]},c):zc}function yc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return og(e)<Eg?ic:(c.invert=function(a,b){var c=f-b;return[Math.atan2(a,c)/e,f-_(e)*Math.sqrt(a*a+c*c)]},c)}function zc(a,b){return[a,Math.log(Math.tan(Gg/4+b/2))]}function Ac(a){var b,c=fc(a),d=c.scale,e=c.translate,f=c.clipExtent;return c.scale=function(){var a=d.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.translate=function(){var a=e.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.clipExtent=function(a){var g=f.apply(c,arguments);if(g===c){if(b=null==a){var h=Gg*d(),i=e();f([[i[0]-h,i[1]-h],[i[0]+h,i[1]+h]])}}else b&&(g=null);return g},c.clipExtent(null)}function Bc(a,b){return[Math.log(Math.tan(Gg/4+b/2)),-a]}function Cc(a){return a[0]}function Dc(a){return a[1]}function Ec(a){for(var b=a.length,c=[0,1],d=2,e=2;b>e;e++){for(;d>1&&aa(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Fc(a,b){return a[0]-b[0]||a[1]-b[1]}function Gc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Hc(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Ic(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Jc(){cd(this),this.edge=this.site=this.circle=null}function Kc(a){var b=di.pop()||new Jc;return b.site=a,b}function Lc(a){Vc(a),ai.remove(a),di.push(a),cd(a)}function Mc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Lc(a);for(var i=f;i.circle&&og(c-i.circle.x)<Eg&&og(d-i.circle.cy)<Eg;)f=i.P,h.unshift(i),Lc(i),i=f;h.unshift(i),Vc(i);for(var j=g;j.circle&&og(c-j.circle.x)<Eg&&og(d-j.circle.cy)<Eg;)g=j.N,h.push(j),Lc(j),j=g;h.push(j),Vc(j);var k,l=h.length;for(k=1;l>k;++k)j=h[k],i=h[k-1],_c(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=Zc(i.site,j.site,null,e),Uc(i),Uc(j)}function Nc(a){for(var b,c,d,e,f=a.x,g=a.y,h=ai._;h;)if(d=Oc(h,g)-f,d>Eg)h=h.L;else{if(e=f-Pc(h,g),!(e>Eg)){d>-Eg?(b=h.P,c=h):e>-Eg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Kc(a);if(ai.insert(b,i),b||c){if(b===c)return Vc(b),c=Kc(b.site),ai.insert(i,c),i.edge=c.edge=Zc(b.site,i.site),Uc(b),void Uc(c);if(!c)return void(i.edge=Zc(b.site,i.site));Vc(b),Vc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};_c(c.edge,j,o,u),i.edge=Zc(j,a,null,u),c.edge=Zc(a,o,null,u),Uc(b),Uc(c)}}function Oc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Pc(a,b){var c=a.N;if(c)return Oc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Qc(a){this.site=a,this.edges=[]}function Rc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=_h,q=p.length;q--;)if(f=p[q],f&&f.prepare())for(h=f.edges,i=h.length,g=0;i>g;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(og(d-b)>Eg||og(e-c)>Eg)&&(h.splice(g,0,new ad($c(f.site,k,og(d-l)<Eg&&o-e>Eg?{x:l,y:og(b-l)<Eg?c:o}:og(e-o)<Eg&&m-d>Eg?{x:og(c-o)<Eg?b:m,y:o}:og(d-m)<Eg&&e-n>Eg?{x:m,y:og(b-m)<Eg?c:n}:og(e-n)<Eg&&d-l>Eg?{x:og(c-n)<Eg?b:l,y:n}:null),f.site,null)),++i)}function Sc(a,b){return b.angle-a.angle}function Tc(){cd(this),this.x=this.y=this.arc=this.site=this.cy=null}function Uc(a){var b=a.P,c=a.N;if(b&&c){var d=b.site,e=a.site,f=c.site;if(d!==f){var g=e.x,h=e.y,i=d.x-g,j=d.y-h,k=f.x-g,l=f.y-h,m=2*(i*l-j*k);if(!(m>=-Fg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=ei.pop()||new Tc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=ci._;t;)if(r.y<t.y||r.y===t.y&&r.x<=t.x){if(!t.L){s=t.P;break}t=t.L}else{if(!t.R){s=t;break}t=t.R}ci.insert(s,r),s||(bi=r)}}}}function Vc(a){var b=a.circle;b&&(b.P||(bi=b.N),ci.remove(b),ei.push(b),cd(b),a.circle=null)}function Wc(a){for(var b,c=$h,d=Qb(a[0][0],a[0][1],a[1][0],a[1][1]),e=c.length;e--;)b=c[e],(!Xc(b,a)||!d(b)||og(b.a.x-b.b.x)<Eg&&og(b.a.y-b.b.y)<Eg)&&(b.a=b.b=null,c.splice(e,1))}function Xc(a,b){var c=a.b;if(c)return!0;var d,e,f=a.a,g=b[0][0],h=b[1][0],i=b[0][1],j=b[1][1],k=a.l,l=a.r,m=k.x,n=k.y,o=l.x,p=l.y,q=(m+o)/2,r=(n+p)/2;if(p===n){if(g>q||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.y<i)return}else f={x:q,y:j};c={x:q,y:i}}}else if(d=(m-o)/(p-n),e=r-d*q,-1>d||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.y<i)return}else f={x:(j-e)/d,y:j};c={x:(i-e)/d,y:i}}else if(p>n){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.x<g)return}else f={x:h,y:d*h+e};c={x:g,y:d*g+e}}return a.a=f,a.b=c,!0}function Yc(a,b){this.l=a,this.r=b,this.a=this.b=null}function Zc(a,b,c,d){var e=new Yc(a,b);return $h.push(e),c&&_c(e,a,b,c),d&&_c(e,b,a,d),_h[a.i].edges.push(new ad(e,a,b)),_h[b.i].edges.push(new ad(e,b,a)),e}function $c(a,b,c){var d=new Yc(a,null);return d.a=b,d.b=c,$h.push(d),d}function _c(a,b,c,d){a.a||a.b?a.l===c?a.b=d:a.a=d:(a.a=d,a.l=b,a.r=c)}function ad(a,b,c){var d=a.a,e=a.b;this.edge=a,this.site=b,this.angle=c?Math.atan2(c.y-b.y,c.x-b.x):a.l===b?Math.atan2(e.x-d.x,d.y-e.y):Math.atan2(d.x-e.x,e.y-d.y)}function bd(){this._=null}function cd(a){a.U=a.C=a.L=a.R=a.P=a.N=null}function dd(a,b){var c=b,d=b.R,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.R=d.L,c.R&&(c.R.U=c),d.L=c}function ed(a,b){var c=b,d=b.L,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.L=d.R,c.L&&(c.L.U=c),d.R=c}function fd(a){for(;a.L;)a=a.L;return a}function gd(a,b){var c,d,e,f=a.sort(hd).pop();for($h=[],_h=new Array(a.length),ai=new bd,ci=new bd;;)if(e=bi,f&&(!e||f.y<e.y||f.y===e.y&&f.x<e.x))(f.x!==c||f.y!==d)&&(_h[f.i]=new Qc(f),Nc(f),c=f.x,d=f.y),f=a.pop();else{if(!e)break;Mc(e.arc)}b&&(Wc(b),Rc(b));var g={cells:_h,edges:$h};return ai=ci=$h=_h=null,g}function hd(a,b){return b.y-a.y||b.x-a.x}function id(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}function jd(a){return a.x}function kd(a){return a.y}function ld(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function md(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=.5*(c+e),h=.5*(d+f),i=b.nodes;i[0]&&md(a,i[0],c,d,g,h),i[1]&&md(a,i[1],g,d,e,h),i[2]&&md(a,i[2],c,h,g,f),i[3]&&md(a,i[3],g,h,e,f)}}function nd(a,b,c,d,e,f,g){var h,i=1/0;return function j(a,k,l,m,n){if(!(k>f||l>g||d>m||e>n)){if(o=a.point){var o,p=b-a.x,q=c-a.y,r=p*p+q*q;if(i>r){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=a.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;z>y;++y)if(a=t[3&y])switch(3&y){case 0:j(a,k,l,u,v);break;case 1:j(a,u,l,m,v);break;case 2:j(a,k,v,u,n);break;case 3:j(a,u,v,m,n)}}}(a,d,e,f,g),h}function od(a,b){a=cg.rgb(a),b=cg.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+va(Math.round(c+f*a))+va(Math.round(d+g*a))+va(Math.round(e+h*a))}}function pd(a,b){var c,d={},e={};for(c in a)c in b?d[c]=sd(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function qd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function rd(a,b){var c,d,e,f=gi.lastIndex=hi.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=gi.exec(a))&&(d=hi.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:qd(c,d)})),f=hi.lastIndex;return f<b.length&&(e=b.slice(f),h[g]?h[g]+=e:h[++g]=e),h.length<2?i[0]?(b=i[0].x,function(a){return b(a)+""}):function(){return b}:(b=i.length,function(a){for(var c,d=0;b>d;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function sd(a,b){for(var c,d=cg.interpolators.length;--d>=0&&!(c=cg.interpolators[d](a,b)););return c}function td(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;h>c;++c)d.push(sd(a[c],b[c]));for(;f>c;++c)e[c]=a[c];for(;g>c;++c)e[c]=b[c];return function(a){for(c=0;h>c;++c)e[c]=d[c](a);return e}}function ud(a){return function(b){return 0>=b?0:b>=1?1:a(b)}}function vd(a){return function(b){return 1-a(1-b)}}function wd(a){return function(b){return.5*(.5>b?a(2*b):2-a(2-2*b))}}function xd(a){return a*a}function yd(a){return a*a*a}function zd(a){if(0>=a)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(.5>a?c:3*(a-b)+c-.75)}function Ad(a){return function(b){return Math.pow(b,a)}}function Bd(a){return 1-Math.cos(a*Jg)}function Cd(a){return Math.pow(2,10*(a-1))}function Dd(a){return 1-Math.sqrt(1-a*a)}function Ed(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Hg*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Hg/b)}}function Fd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Gd(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Hd(a,b){a=cg.hcl(a),b=cg.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return la(c+f*a,d+g*a,e+h*a)+""}}function Id(a,b){a=cg.hsl(a),b=cg.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return ja(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){a=cg.lab(a),b=cg.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return na(c+f*a,d+g*a,e+h*a)+""}}function Kd(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Ld(a){var b=[a.a,a.b],c=[a.c,a.d],d=Nd(b),e=Md(b,c),f=Nd(Od(c,b,-e))||0;b[0]*c[1]<c[0]*b[1]&&(b[0]*=-1,b[1]*=-1,d*=-1,e*=-1),this.rotate=(d?Math.atan2(b[1],b[0]):Math.atan2(-c[0],c[1]))*Lg,this.translate=[a.e,a.f],this.scale=[d,f],this.skew=f?Math.atan2(e,f)*Lg:0}function Md(a,b){return a[0]*b[0]+a[1]*b[1]}function Nd(a){var b=Math.sqrt(Md(a,a));return b&&(a[0]/=b,a[1]/=b),b}function Od(a,b,c){return a[0]+=c*b[0],a[1]+=c*b[1],a}function Pd(a,b){var c,d=[],e=[],f=cg.transform(a),g=cg.transform(b),h=f.translate,i=g.translate,j=f.rotate,k=g.rotate,l=f.skew,m=g.skew,n=f.scale,o=g.scale;return h[0]!=i[0]||h[1]!=i[1]?(d.push("translate(",null,",",null,")"),e.push({i:1,x:qd(h[0],i[0])},{i:3,x:qd(h[1],i[1])})):i[0]||i[1]?d.push("translate("+i+")"):d.push(""),j!=k?(j-k>180?k+=360:k-j>180&&(j+=360),e.push({i:d.push(d.pop()+"rotate(",null,")")-2,x:qd(j,k)})):k&&d.push(d.pop()+"rotate("+k+")"),l!=m?e.push({i:d.push(d.pop()+"skewX(",null,")")-2,x:qd(l,m)}):m&&d.push(d.pop()+"skewX("+m+")"),n[0]!=o[0]||n[1]!=o[1]?(c=d.push(d.pop()+"scale(",null,",",null,")"),e.push({i:c-4,x:qd(n[0],o[0])},{i:c-2,x:qd(n[1],o[1])})):(1!=o[0]||1!=o[1])&&d.push(d.pop()+"scale("+o+")"),c=e.length,function(a){for(var b,f=-1;++f<c;)d[(b=e[f]).i]=b.x(a);return d.join("")}}function Qd(a,b){return b=(b-=a=+a)||1/b,function(c){return(c-a)/b}}function Rd(a,b){return b=(b-=a=+a)||1/b,function(c){return Math.max(0,Math.min(1,(c-a)/b))}}function Sd(a){for(var b=a.source,c=a.target,d=Ud(b,c),e=[b];b!==d;)b=b.parent,e.push(b);for(var f=e.length;c!==d;)e.splice(f,0,c),c=c.parent;return e}function Td(a){for(var b=[],c=a.parent;null!=c;)b.push(a),a=c,c=c.parent;return b.push(a),b}function Ud(a,b){if(a===b)return a;for(var c=Td(a),d=Td(b),e=c.pop(),f=d.pop(),g=null;e===f;)g=e,e=c.pop(),f=d.pop();return g}function Vd(a){a.fixed|=2}function Wd(a){a.fixed&=-7}function Xd(a){a.fixed|=4,a.px=a.x,a.py=a.y}function Yd(a){a.fixed&=-5}function Zd(a,b,c){var d=0,e=0;if(a.charge=0,!a.leaf)for(var f,g=a.nodes,h=g.length,i=-1;++i<h;)f=g[i],null!=f&&(Zd(f,b,c),a.charge+=f.charge,d+=f.charge*f.cx,e+=f.charge*f.cy);if(a.point){a.leaf||(a.point.x+=Math.random()-.5,a.point.y+=Math.random()-.5);var j=b*c[a.point.index];a.charge+=a.pointCharge=j,d+=j*a.point.x,e+=j*a.point.y}a.cx=d/a.charge,a.cy=e/a.charge}function $d(a,b){return cg.rebind(a,b,"sort","children","value"),a.nodes=a,a.links=ee,a}function _d(a,b){for(var c=[a];null!=(a=c.pop());)if(b(a),(e=a.children)&&(d=e.length))for(var d,e;--d>=0;)c.push(e[d])}function ae(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++g<e;)c.push(f[g]);for(;null!=(a=d.pop());)b(a)}function be(a){return a.children}function ce(a){return a.value}function de(a,b){return b.value-a.value}function ee(a){return cg.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function fe(a){return a.x}function ge(a){return a.y}function he(a,b,c){a.y0=b,a.y=c}function ie(a){return cg.range(a.length)}function je(a){for(var b=-1,c=a[0].length,d=[];++b<c;)d[b]=0;return d}function ke(a){for(var b,c=1,d=0,e=a[0][1],f=a.length;f>c;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function le(a){return a.reduce(me,0)}function me(a,b){return a+b[1]}function ne(a,b){return oe(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function oe(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function pe(a){return[cg.min(a),cg.max(a)]}function qe(a,b){return a.value-b.value}function re(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function se(a,b){a._pack_next=b,b._pack_prev=a}function te(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function ue(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(ve),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],ye(d,e,f),b(f),re(d,f),d._pack_prev=f,re(f,e),e=d._pack_next,g=3;j>g;g++){ye(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(te(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!te(i,f);i=i._pack_prev,q++);o?(q>p||p==q&&e.r<d.r?se(d,e=h):se(d=i,e),g--):(re(d,f),e=f,b(f))}var r=(k+l)/2,s=(m+n)/2,t=0;for(g=0;j>g;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(we)}}function ve(a){a._pack_next=a._pack_prev=a}function we(a){delete a._pack_next,delete a._pack_prev}function xe(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f<g;)xe(e[f],b,c,d)}function ye(a,b,c){var d=a.r+c.r,e=b.x-a.x,f=b.y-a.y;if(d&&(e||f)){var g=b.r+c.r,h=e*e+f*f;g*=g,d*=d;var i=.5+(d-g)/(2*h),j=Math.sqrt(Math.max(0,2*g*(d+h)-(d-=h)*d-g*g))/(2*h);c.x=a.x+i*e+j*f,c.y=a.y+i*f-j*e}else c.x=a.x+d,c.y=a.y}function ze(a,b){return a.parent==b.parent?1:2}function Ae(a){var b=a.children;return b.length?b[0]:a.t}function Be(a){var b,c=a.children;return(b=c.length)?c[b-1]:a.t}function Ce(a,b,c){var d=c/(b.i-a.i);b.c-=d,b.s+=c,a.c+=d,b.z+=c,b.m+=c}function De(a){for(var b,c=0,d=0,e=a.children,f=e.length;--f>=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function Ee(a,b,c){return a.a.parent===b.parent?a.a:c}function Fe(a){return 1+cg.max(a,function(a){return a.y})}function Ge(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function He(a){var b=a.children;return b&&b.length?He(b[0]):a}function Ie(a){var b,c=a.children;return c&&(b=c.length)?Ie(c[b-1]):a}function Je(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Ke(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return 0>e&&(c+=e/2,e=0),0>f&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Le(a){var b=a[0],c=a[a.length-1];return c>b?[b,c]:[c,b]}function Me(a){return a.rangeExtent?a.rangeExtent():Le(a.range())}function Ne(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Oe(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return f>g&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Pe(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:si}function Qe(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());++g<=h;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=cg.bisect(a,b,1,h)-1;return f[c](e[c](b))}}function Re(a,b,c,d){function e(){var e=Math.min(a.length,b.length)>2?Qe:Ne,i=d?Rd:Qd;return g=e(a,b,i,c),h=e(b,a,i,sd),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Kd)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return Ve(a,b)},f.tickFormat=function(b,c){return We(a,b,c)},f.nice=function(b){return Te(a,b),e()},f.copy=function(){return Re(a,b,c,d)},e()}function Se(a,b){return cg.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Te(a,b){return Oe(a,Pe(Ue(a,b)[2]))}function Ue(a,b){null==b&&(b=10);var c=Le(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return.15>=f?e*=10:.35>=f?e*=5:.75>=f&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function Ve(a,b){return cg.range.apply(cg,Ue(a,b))}function We(a,b,c){var d=Ue(a,b);if(c){var e=gh.exec(c);if(e.shift(),"s"===e[8]){var f=cg.formatPrefix(Math.max(og(d[0]),og(d[1])));return e[7]||(e[7]="."+Xe(f.scale(d[2]))),e[8]="f",c=cg.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+Ye(e[8],d)),c=e.join("")}else c=",."+Xe(d[2])+"f";return cg.format(c)}function Xe(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function Ye(a,b){var c=Xe(b[2]);return a in ti?Math.abs(c-Xe(Math.max(og(b[0]),og(b[1]))))+ +("e"!==a):c-2*("%"===a)}function Ze(a,b,c,d){function e(a){return(c?Math.log(0>a?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Oe(d.map(e),c?Math:vi);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Le(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;k>j;j++)for(var m=1;l>m;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++<k;)for(var m=l-1;m>0;m--)g.push(f(j)*m);for(j=0;g[j]<h;j++);for(k=g.length;g[k-1]>i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,b){if(!arguments.length)return ui;arguments.length<2?b=ui:"function"!=typeof b&&(b=cg.format(b));var d,h=Math.max(.1,a/g.ticks().length),i=c?(d=1e-12,Math.ceil):(d=-1e-12,Math.floor);return function(a){return a/f(i(e(a)+d))<=h?b(a):""}},g.copy=function(){return Ze(a.copy(),b,c,d)},Se(g,a)}function $e(a,b,c){function d(b){return a(e(b))}var e=_e(b),f=_e(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return Ve(c,a)},d.tickFormat=function(a,b){return We(c,a,b)},d.nice=function(a){return d.domain(Te(c,a))},d.exponent=function(g){return arguments.length?(e=_e(b=g),f=_e(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return $e(a.copy(),b,c)},Se(d,a)}function _e(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function af(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return cg.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new k;for(var f,g=-1,h=d.length;++g<h;)e.has(f=d[g])||e.set(f,a.push(f));return c[b.t].apply(c,b.a)},c.range=function(a){return arguments.length?(f=a,g=0,b={t:"range",a:arguments},c):f},c.rangePoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=(i+j)/2,0):(j-i)/(a.length-1+h);return f=d(i+k*h/2,k),
g=0,b={t:"rangePoints",a:arguments},c},c.rangeRoundPoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=j=Math.round((i+j)/2),0):(j-i)/(a.length-1+h)|0;return f=d(i+Math.round(k*h/2+(j-i-(a.length-1+h)*k)/2),k),g=0,b={t:"rangeRoundPoints",a:arguments},c},c.rangeBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=(l-k)/(a.length-h+2*i);return f=d(k+m*i,m),j&&f.reverse(),g=m*(1-h),b={t:"rangeBands",a:arguments},c},c.rangeRoundBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=Math.floor((l-k)/(a.length-h+2*i));return f=d(k+Math.round((l-k-(a.length-h)*m)/2),m),j&&f.reverse(),g=Math.round(m*(1-h)),b={t:"rangeRoundBands",a:arguments},c},c.rangeBand=function(){return g},c.rangeExtent=function(){return Le(b.a[0])},c.copy=function(){return af(a,b)},c.domain(a)}function bf(a,b){function c(){var c=0,d=b.length;for(h=[];++c<d;)h[c-1]=cg.quantile(a,c/d);return g}function g(a){return isNaN(a=+a)?void 0:b[cg.bisect(h,a)]}var h;return g.domain=function(b){return arguments.length?(a=b.map(e).filter(f).sort(d),c()):a},g.range=function(a){return arguments.length?(b=a,c()):b},g.quantiles=function(){return h},g.invertExtent=function(c){return c=b.indexOf(c),0>c?[NaN,NaN]:[c>0?h[c-1]:a[0],c<h.length?h[c]:a[a.length-1]]},g.copy=function(){return bf(a,b)},c()}function cf(a,b,c){function d(b){return c[Math.max(0,Math.min(g,Math.floor(f*(b-a))))]}function e(){return f=c.length/(b-a),g=c.length-1,d}var f,g;return d.domain=function(c){return arguments.length?(a=+c[0],b=+c[c.length-1],e()):[a,b]},d.range=function(a){return arguments.length?(c=a,e()):c},d.invertExtent=function(b){return b=c.indexOf(b),b=0>b?NaN:b/f+a,[b,b+1/f]},d.copy=function(){return cf(a,b,c)},e()}function df(a,b){function c(c){return c>=c?b[cg.bisect(a,c)]:void 0}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return df(a,b)},c}function ef(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return Ve(a,b)},b.tickFormat=function(b,c){return We(a,b,c)},b.copy=function(){return ef(a)},b}function ff(){return 0}function gf(a){return a.innerRadius}function hf(a){return a.outerRadius}function jf(a){return a.startAngle}function kf(a){return a.endAngle}function lf(a){return a&&a.padAngle}function mf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function nf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(0>r?-1:1)*Math.sqrt(t*t*s-u*u),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function of(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Ba(c),o=Ba(d);++l<m;)e.call(this,i=b[l],l)?k.push([+n.call(this,i,l),+o.call(this,i,l)]):k.length&&(g(),k=[]);return k.length&&g(),j.length?j.join(""):null}var c=Cc,d=Dc,e=Db,f=pf,g=f.key,h=.7;return b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b.defined=function(a){return arguments.length?(e=a,b):e},b.interpolate=function(a){return arguments.length?(g="function"==typeof a?f=a:(f=Bi.get(a)||pf).key,b):g},b.tension=function(a){return arguments.length?(h=a,b):h},b}function pf(a){return a.join("L")}function qf(a){return pf(a)+"Z"}function rf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d[0]+(d=a[b])[0])/2,"V",d[1]);return c>1&&e.push("H",d[0]),e.join("")}function sf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("V",(d=a[b])[1],"H",d[0]);return e.join("")}function tf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d=a[b])[0],"V",d[1]);return e.join("")}function uf(a,b){return a.length<4?pf(a):a[1]+xf(a.slice(1,-1),yf(a,b))}function vf(a,b){return a.length<3?pf(a):a[0]+xf((a.push(a[0]),a),yf([a[a.length-2]].concat(a,[a[1]]),b))}function wf(a,b){return a.length<3?pf(a):a[0]+xf(a,yf(a,b))}function xf(a,b){if(b.length<1||a.length!=b.length&&a.length!=b.length+2)return pf(a);var c=a.length!=b.length,d="",e=a[0],f=a[1],g=b[0],h=g,i=1;if(c&&(d+="Q"+(f[0]-2*g[0]/3)+","+(f[1]-2*g[1]/3)+","+f[0]+","+f[1],e=a[1],i=2),b.length>1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j<b.length;j++,i++)f=a[i],h=b[j],d+="S"+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1]}if(c){var k=a[i];d+="Q"+(f[0]+2*h[0]/3)+","+(f[1]+2*h[1]/3)+","+k[0]+","+k[1]}return d}function yf(a,b){for(var c,d=[],e=(1-b)/2,f=a[0],g=a[1],h=1,i=a.length;++h<i;)c=f,f=g,g=a[h],d.push([e*(g[0]-c[0]),e*(g[1]-c[1])]);return d}function zf(a){if(a.length<3)return pf(a);var b=1,c=a.length,d=a[0],e=d[0],f=d[1],g=[e,e,e,(d=a[1])[0]],h=[f,f,f,d[1]],i=[e,",",f,"L",Df(Ei,g),",",Df(Ei,h)];for(a.push(a[c-1]);++b<=c;)d=a[b],g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),Ef(i,g,h);return a.pop(),i.push("L",d),i.join("")}function Af(a){if(a.length<4)return pf(a);for(var b,c=[],d=-1,e=a.length,f=[0],g=[0];++d<3;)b=a[d],f.push(b[0]),g.push(b[1]);for(c.push(Df(Ei,f)+","+Df(Ei,g)),--d;++d<e;)b=a[d],f.shift(),f.push(b[0]),g.shift(),g.push(b[1]),Ef(c,f,g);return c.join("")}function Bf(a){for(var b,c,d=-1,e=a.length,f=e+4,g=[],h=[];++d<4;)c=a[d%e],g.push(c[0]),h.push(c[1]);for(b=[Df(Ei,g),",",Df(Ei,h)],--d;++d<f;)c=a[d%e],g.shift(),g.push(c[0]),h.shift(),h.push(c[1]),Ef(b,g,h);return b.join("")}function Cf(a,b){var c=a.length-1;if(c)for(var d,e,f=a[0][0],g=a[0][1],h=a[c][0]-f,i=a[c][1]-g,j=-1;++j<=c;)d=a[j],e=j/c,d[0]=b*d[0]+(1-b)*(f+e*h),d[1]=b*d[1]+(1-b)*(g+e*i);return zf(a)}function Df(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function Ef(a,b,c){a.push("C",Df(Ci,b),",",Df(Ci,c),",",Df(Di,b),",",Df(Di,c),",",Df(Ei,b),",",Df(Ei,c))}function Ff(a,b){return(b[1]-a[1])/(b[0]-a[0])}function Gf(a){for(var b=0,c=a.length-1,d=[],e=a[0],f=a[1],g=d[0]=Ff(e,f);++b<c;)d[b]=(g+(g=Ff(e=f,f=a[b+1])))/2;return d[b]=g,d}function Hf(a){for(var b,c,d,e,f=[],g=Gf(a),h=-1,i=a.length-1;++h<i;)b=Ff(a[h],a[h+1]),og(b)<Eg?g[h]=g[h+1]=0:(c=g[h]/b,d=g[h+1]/b,e=c*c+d*d,e>9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function If(a){return a.length<3?pf(a):a[0]+xf(a,Hf(a))}function Jf(a){for(var b,c,d,e=-1,f=a.length;++e<f;)b=a[e],c=b[0],d=b[1]-Jg,b[0]=c*Math.cos(d),b[1]=c*Math.sin(d);return a}function Kf(a){function b(b){function i(){p.push("M",h(a(r),l),k,j(a(q.reverse()),l),"Z")}for(var m,n,o,p=[],q=[],r=[],s=-1,t=b.length,u=Ba(c),v=Ba(e),w=c===d?function(){return n}:Ba(d),x=e===f?function(){return o}:Ba(f);++s<t;)g.call(this,m=b[s],s)?(q.push([n=+u.call(this,m,s),o=+v.call(this,m,s)]),r.push([+w.call(this,m,s),+x.call(this,m,s)])):q.length&&(i(),q=[],r=[]);return q.length&&i(),p.length?p.join(""):null}var c=Cc,d=Cc,e=0,f=Dc,g=Db,h=pf,i=h.key,j=h,k="L",l=.7;return b.x=function(a){return arguments.length?(c=d=a,b):d},b.x0=function(a){return arguments.length?(c=a,b):c},b.x1=function(a){return arguments.length?(d=a,b):d},b.y=function(a){return arguments.length?(e=f=a,b):f},b.y0=function(a){return arguments.length?(e=a,b):e},b.y1=function(a){return arguments.length?(f=a,b):f},b.defined=function(a){return arguments.length?(g=a,b):g},b.interpolate=function(a){return arguments.length?(i="function"==typeof a?h=a:(h=Bi.get(a)||pf).key,j=h.reverse||h,k=h.closed?"M":"L",b):i},b.tension=function(a){return arguments.length?(l=a,b):l},b}function Lf(a){return a.radius}function Mf(a){return[a.x,a.y]}function Nf(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]-Jg;return[c*Math.cos(d),c*Math.sin(d)]}}function Of(){return 64}function Pf(){return"circle"}function Qf(a){var b=Math.sqrt(a/Gg);return"M0,"+b+"A"+b+","+b+" 0 1,1 0,"+-b+"A"+b+","+b+" 0 1,1 0,"+b+"Z"}function Rf(a){return function(){var b,c;(b=this[a])&&(c=b[b.active])&&(--b.count?delete b[b.active]:delete this[a],b.active+=.5,c.event&&c.event.interrupt.call(this,this.__data__,c.index))}}function Sf(a,b,c){return tg(a,Li),a.namespace=b,a.id=c,a}function Tf(a,b,c,d){var e=a.id,f=a.namespace;return S(a,"function"==typeof c?function(a,g,h){a[f][e].tween.set(b,d(c.call(a,a.__data__,g,h)))}:(c=d(c),function(a){a[f][e].tween.set(b,c)}))}function Uf(a){return null==a&&(a=""),function(){this.textContent=a}}function Vf(a){return null==a?"__transition__":"__transition_"+a+"__"}function Wf(a,b,c,d,e){var f=a[c]||(a[c]={active:0,count:0}),g=f[d];if(!g){var h=e.time;g=f[d]={tween:new k,time:h,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++f.count,cg.timer(function(e){function i(c){if(f.active>d)return k();var e=f[f.active];e&&(--f.count,delete f[f.active],e.event&&e.event.interrupt.call(a,a.__data__,e.index)),f.active=d,g.event&&g.event.start.call(a,a.__data__,b),g.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&p.push(d)}),m=g.ease,l=g.duration,cg.timer(function(){return o.c=j(c||1)?Db:j,1},0,h)}function j(c){if(f.active!==d)return 1;for(var e=c/l,h=m(e),i=p.length;i>0;)p[--i].call(a,h);return e>=1?(g.event&&g.event.end.call(a,a.__data__,b),k()):void 0}function k(){return--f.count?delete f[d]:delete a[c],1}var l,m,n=g.delay,o=dh,p=[];return o.t=n+h,e>=n?i(e-n):void(o.c=i)},0,h)}}function Xf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function Yf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function Zf(a){return a.toISOString()}function $f(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=cg.bisect(Ui,e);return f==Ui.length?[b.year,Ue(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Ui[f-1]<Ui[f]/e?f-1:f]:[Xi,Ue(a,c)[2]]}return d.invert=function(b){return _f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain(b),d):a.domain().map(_f)},d.nice=function(a,b){function c(c){return!isNaN(c)&&!a.range(c,_f(+c+1),b).length}var f=d.domain(),g=Le(f),h=null==a?e(g,10):"number"==typeof a&&e(g,a);return h&&(a=h[0],b=h[1]),d.domain(Oe(f,b>1?{floor:function(b){for(;c(b=a.floor(b));)b=_f(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=_f(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Le(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],_f(+c[1]+1),1>b?1:b)},d.tickFormat=function(){return c},d.copy=function(){return $f(a.copy(),b,c)},Se(d,a)}function _f(a){return new Date(a)}function ag(a){return JSON.parse(a.responseText)}function bg(a){var b=fg.createRange();return b.selectNode(fg.body),b.createContextualFragment(a.responseText)}var cg={version:"3.5.5"},dg=[].slice,eg=function(a){return dg.call(a)},fg=this.document;if(fg)try{eg(fg.documentElement.childNodes)[0].nodeType}catch(gg){eg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),fg)try{fg.createElement("DIV").style.setProperty("opacity",0,"")}catch(hg){var ig=this.Element.prototype,jg=ig.setAttribute,kg=ig.setAttributeNS,lg=this.CSSStyleDeclaration.prototype,mg=lg.setProperty;ig.setAttribute=function(a,b){jg.call(this,a,b+"")},ig.setAttributeNS=function(a,b,c){kg.call(this,a,b,c+"")},lg.setProperty=function(a,b,c){mg.call(this,a,b+"",c)}}cg.ascending=d,cg.descending=function(a,b){return a>b?-1:b>a?1:b>=a?0:NaN},cg.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&c>d&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&c>d&&(c=d)}return c},cg.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&d>c&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&d>c&&(c=d)}return c},cg.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f<g;)if(null!=(d=a[f])&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=a[f])&&(c>d&&(c=d),d>e&&(e=d))}else{for(;++f<g;)if(null!=(d=b.call(a,a[f],f))&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=b.call(a,a[f],f))&&(c>d&&(c=d),d>e&&(e=d))}return[c,e]},cg.sum=function(a,b){var c,d=0,e=a.length,g=-1;if(1===arguments.length)for(;++g<e;)f(c=+a[g])&&(d+=c);else for(;++g<e;)f(c=+b.call(a,a[g],g))&&(d+=c);return d},cg.mean=function(a,b){var c,d=0,g=a.length,h=-1,i=g;if(1===arguments.length)for(;++h<g;)f(c=e(a[h]))?d+=c:--i;else for(;++h<g;)f(c=e(b.call(a,a[h],h)))?d+=c:--i;return i?d/i:void 0},cg.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=+a[d-1],f=c-d;return f?e+f*(a[d]-e):e},cg.median=function(a,b){var c,g=[],h=a.length,i=-1;if(1===arguments.length)for(;++i<h;)f(c=e(a[i]))&&g.push(c);else for(;++i<h;)f(c=e(b.call(a,a[i],i)))&&g.push(c);return g.length?cg.quantile(g.sort(d),.5):void 0},cg.variance=function(a,b){var c,d,g=a.length,h=0,i=0,j=-1,k=0;if(1===arguments.length)for(;++j<g;)f(c=e(a[j]))&&(d=c-h,h+=d/++k,i+=d*(c-h));else for(;++j<g;)f(c=e(b.call(a,a[j],j)))&&(d=c-h,h+=d/++k,i+=d*(c-h));return k>1?i/(k-1):void 0},cg.deviation=function(){var a=cg.variance.apply(this,arguments);return a?Math.sqrt(a):a};var ng=g(d);cg.bisectLeft=ng.left,cg.bisect=cg.bisectRight=ng.right,cg.bisector=function(a){return g(1===a.length?function(b,c){return d(a(b),c)}:a)},cg.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,2>f&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},cg.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},cg.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(0>d?0:d);d>c;)f[c]=[b=e,e=a[++c]];return f},cg.zip=function(){if(!(d=arguments.length))return[];for(var a=-1,b=cg.min(arguments,h),c=new Array(b);++a<b;)for(var d,e=-1,f=c[a]=new Array(d);++e<d;)f[e]=arguments[e][a];return c},cg.transpose=function(a){return cg.zip.apply(cg,a)},cg.keys=function(a){var b=[];for(var c in a)b.push(c);return b},cg.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},cg.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},cg.merge=function(a){for(var b,c,d,e=a.length,f=-1,g=0;++f<e;)g+=a[f].length;for(c=new Array(g);--e>=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var og=Math.abs;cg.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=i(og(c)),g=-1;if(a*=f,b*=f,c*=f,0>c)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)<b;)e.push(d/f);return e},cg.map=function(a,b){var c=new k;if(a instanceof k)a.forEach(function(a,b){c.set(a,b)});else if(Array.isArray(a)){var d,e=-1,f=a.length;if(1===arguments.length)for(;++e<f;)c.set(e,a[e]);else for(;++e<f;)c.set(b.call(a,d=a[e],e),d)}else for(var g in a)c.set(g,a[g]);return c};var pg="__proto__",qg="\x00";j(k,{has:n,get:function(a){return this._[l(a)]},set:function(a,b){return this._[l(a)]=b},remove:o,keys:p,values:function(){var a=[];for(var b in this._)a.push(this._[b]);return a},entries:function(){var a=[];for(var b in this._)a.push({key:m(b),value:this._[b]});return a},size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b),this._[b])}}),cg.nest=function(){function a(b,g,h){if(h>=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,j,l,m,n=-1,o=g.length,p=f[h++],q=new k;++n<o;)(m=q.get(i=p(j=g[n])))?m.push(j):q.set(i,[j]);return b?(j=b(),l=function(c,d){j.set(c,a(b,d,h))}):(j={},l=function(c,d){j[c]=a(b,d,h)}),q.forEach(l),j}function b(a,c){if(c>=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(cg.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},cg.set=function(a){var b=new s;if(a)for(var c=0,d=a.length;d>c;++c)b.add(a[c]);return b},j(s,{has:n,add:function(a){return this._[l(a+="")]=!0,a},remove:o,values:p,size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b))}}),cg.behavior={},cg.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d<e;)a[c=arguments[d]]=u(a,b,b[c]);return a};var rg=["webkit","ms","moz","Moz","o","O"];cg.dispatch=function(){for(var a=new x,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=y(a);return a},x.prototype.on=function(a,b){var c=a.indexOf("."),d="";if(c>=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},cg.event=null,cg.requote=function(a){return a.replace(sg,"\\$&")};var sg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,tg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},ug=function(a,b){return b.querySelector(a)},vg=function(a,b){return b.querySelectorAll(a)},wg=function(a,b){var c=a.matches||a[v(a,"matchesSelector")];return(wg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(ug=function(a,b){return Sizzle(a,b)[0]||null},vg=Sizzle,wg=Sizzle.matchesSelector),cg.selection=function(){return cg.select(fg.documentElement)};var xg=cg.selection.prototype=[];xg.select=function(a){var b,c,d,e,f=[];a=D(a);for(var g=-1,h=this.length;++g<h;){f.push(b=[]),b.parentNode=(d=this[g]).parentNode;for(var i=-1,j=d.length;++i<j;)(e=d[i])?(b.push(c=a.call(e,e.__data__,i,g)),c&&"__data__"in e&&(c.__data__=e.__data__)):b.push(null)}return C(f)},xg.selectAll=function(a){var b,c,d=[];a=E(a);for(var e=-1,f=this.length;++e<f;)for(var g=this[e],h=-1,i=g.length;++h<i;)(c=g[h])&&(d.push(b=eg(a.call(c,c.__data__,h,e))),b.parentNode=c);return C(d)};var yg={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/"};cg.ns={prefix:yg,qualify:function(a){var b=a.indexOf(":"),c=a;return b>=0&&(c=a.slice(0,b),a=a.slice(b+1)),yg.hasOwnProperty(c)?{space:yg[c],local:a}:a}},xg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=cg.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(F(b,a[b]));return this}return this.each(F(a,b))},xg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=I(a)).length,e=-1;if(b=c.classList){for(;++e<d;)if(!b.contains(a[e]))return!1}else for(b=c.getAttribute("class");++e<d;)if(!H(a[e]).test(b))return!1;return!0}for(b in a)this.each(J(b,a[b]));return this}return this.each(J(a,b))},xg.style=function(a,b,d){var e=arguments.length;if(3>e){if("string"!=typeof a){2>e&&(b="");for(d in a)this.each(L(d,a[d],b));return this}if(2>e){var f=this.node();return c(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(L(a,b,d))},xg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(M(b,a[b]));return this}return this.each(M(a,b))},xg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},xg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},xg.append=function(a){return a=N(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},xg.insert=function(a,b){return a=N(a),b=D(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},xg.remove=function(){return this.each(O)},xg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new k,s=new Array(g);for(d=-1;++d<g;)r.has(q=b.call(e=a[d],e.__data__,d))?p[d]=e:r.set(q,e),s[d]=q;for(d=-1;++d<l;)(e=r.get(q=b.call(c,f=c[d],d)))?e!==!0&&(n[d]=e,e.__data__=f):o[d]=P(f),r.set(q,!0);for(d=-1;++d<g;)r.get(s[d])!==!0&&(p[d]=a[d])}else{for(d=-1;++d<m;)e=a[d],f=c[d],e?(e.__data__=f,n[d]=e):o[d]=P(f);for(;l>d;++d)o[d]=P(c[d]);for(;g>d;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),j.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++f<g;)(e=d[f])&&(a[f]=e.__data__);return a}var h=T([]),i=C([]),j=C([]);if("function"==typeof a)for(;++f<g;)c(d=this[f],a.call(d,d.parentNode.__data__,f));else for(;++f<g;)c(d=this[f],a);return i.enter=function(){return h},i.exit=function(){return j},i},xg.datum=function(a){return arguments.length?this.property("__data__",a):this.property("__data__")},xg.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;g>f;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return C(e)},xg.order=function(){for(var a=-1,b=this.length;++a<b;)for(var c,d=this[a],e=d.length-1,f=d[e];--e>=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},xg.sort=function(a){a=R.apply(this,arguments);for(var b=-1,c=this.length;++b<c;)this[b].sort(a);return this.order()},xg.each=function(a){return S(this,function(b,c,d){a.call(b,b.__data__,c,d)})},xg.call=function(a){var b=eg(arguments);return a.apply(b[0]=this,b),this},xg.empty=function(){return!this.node()},xg.node=function(){for(var a=0,b=this.length;b>a;a++)for(var c=this[a],d=0,e=c.length;e>d;d++){var f=c[d];if(f)return f}return null},xg.size=function(){var a=0;return S(this,function(){++a}),a};var zg=[];cg.selection.enter=T,cg.selection.enter.prototype=zg,zg.append=xg.append,zg.empty=xg.empty,zg.node=xg.node,zg.call=xg.call,zg.size=xg.size,zg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++h<i;){d=(e=this[h]).update,g.push(b=[]),b.parentNode=e.parentNode;for(var j=-1,k=e.length;++j<k;)(f=e[j])?(b.push(d[j]=c=a.call(e.parentNode,f.__data__,j,h)),c.__data__=f.__data__):b.push(null)}return C(g)},zg.insert=function(a,b){return arguments.length<2&&(b=U(this)),xg.insert.call(this,a,b)},cg.select=function(b){var c;return"string"==typeof b?(c=[ug(b,fg)],c.parentNode=fg.documentElement):(c=[b],c.parentNode=a(b)),C([c])},cg.selectAll=function(a){var b;return"string"==typeof a?(b=eg(vg(a,fg)),b.parentNode=fg.documentElement):(b=a,b.parentNode=null),C([b])},xg.on=function(a,b,c){var d=arguments.length;if(3>d){if("string"!=typeof a){2>d&&(b=!1);for(c in a)this.each(V(c,a[c],b));return this}if(2>d)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(V(a,b,c))};var Ag=cg.map({mouseenter:"mouseover",mouseleave:"mouseout"});fg&&Ag.forEach(function(a){"on"+a in fg&&Ag.remove(a)});var Bg,Cg=0;cg.mouse=function(a){return Z(a,A())};var Dg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;cg.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=A().changedTouches),b)for(var d,e=0,f=b.length;f>e;++e)if((d=b[e]).identifier===c)return Z(a,d)},cg.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function b(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o&&cg.event.target===l),n({type:"dragend"}))}var j,k=this,l=cg.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=cg.select(c(l)).on(f+q,h).on(g+q,i),s=Y(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=B(a,"drag","dragstart","dragend"),e=null,f=b(w,cg.mouse,c,"mousemove","mouseup"),g=b($,cg.touch,t,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},cg.rebind(a,d,"on")},cg.touches=function(a,b){return arguments.length<2&&(b=A().touches),b?eg(b).map(function(b){var c=Z(a,b);return c.identifier=b.identifier,c}):[]};var Eg=1e-6,Fg=Eg*Eg,Gg=Math.PI,Hg=2*Gg,Ig=Hg-Eg,Jg=Gg/2,Kg=Gg/180,Lg=180/Gg,Mg=Math.SQRT2,Ng=2,Og=4;cg.interpolateZoom=function(a,b){function c(a){var b=a*s;if(r){var c=ea(p),g=f/(Ng*m)*(c*fa(Mg*b+p)-da(p));return[d+g*j,e+g*k,f*c/ea(Mg*b+p)]}return[d+a*j,e+a*k,f*Math.exp(Mg*b)]}var d=a[0],e=a[1],f=a[2],g=b[0],h=b[1],i=b[2],j=g-d,k=h-e,l=j*j+k*k,m=Math.sqrt(l),n=(i*i-f*f+Og*l)/(2*f*Ng*m),o=(i*i-f*f-Og*l)/(2*i*Ng*m),p=Math.log(Math.sqrt(n*n+1)-n),q=Math.log(Math.sqrt(o*o+1)-o),r=q-p,s=(r||Math.log(i/f))/Mg;return c.duration=1e3*s,c},cg.behavior.zoom=function(){function a(a){a.on(F,l).on(Qg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function b(a){return[(a[0]-y.x)/y.k,(a[1]-y.y)/y.k]}function d(a){return[a[0]*y.k+y.x,a[1]*y.k+y.y]}function e(a){y.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),y.x+=a[0]-b[0],y.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:y.x,y:y.y,k:y.k},e(Math.pow(2,g)),f(q=c,d),b=cg.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-y.x)/y.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-y.y)/y.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function k(a){--E||a({type:"zoomend"}),q=null}function l(){function a(){l=1,f(cg.mouse(e),n),j(h)}function d(){m.on(G,null).on(H,null),o(l&&cg.event.target===g),k(h)}var e=this,g=cg.event.target,h=J.of(e,arguments),l=0,m=cg.select(c(e)).on(G,a).on(H,d),n=b(cg.mouse(e)),o=Y(e);Ki.call(e),i(h)}function m(){function a(){var a=cg.touches(o);return n=y.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=b(a))}),a}function c(){var b=cg.event.target;cg.select(b).on(u,d).on(v,h),w.push(b);for(var c=cg.event.changedTouches,e=0,f=c.length;f>e;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(500>j-t){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),z()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=cg.touches(o);Ki.call(o);for(var h=0,i=g.length;i>h;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(cg.event.touches.length){for(var b=cg.event.changedTouches,c=0,d=b.length;d>c;++c)delete q[b[c].identifier];for(var e in q)return void a()}cg.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+cg.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=cg.select(o),A=Y(o);c(),i(p),x.on(F,null).on(I,c)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(p=b(q=r||cg.mouse(this)),Ki.call(this),i(a)),s=setTimeout(function(){s=null,k(a)},50),z(),e(Math.pow(2,.002*Pg())*y.k),f(q,p),j(a)}function o(){var a=cg.mouse(this),c=Math.log(y.k)/Math.LN2;g(this,a,b(a),cg.event.shiftKey?Math.ceil(c)-1:Math.floor(c)+1)}var p,q,r,s,t,u,v,w,x,y={x:0,y:0,k:1},A=[960,500],C=Rg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=B(a,"zoomstart","zoom","zoomend");return Qg||(Qg="onwheel"in fg?(Pg=function(){return-cg.event.deltaY*(cg.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fg?(Pg=function(){return cg.event.wheelDelta},"mousewheel"):(Pg=function(){return-cg.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=y;Ii?cg.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=A[0],d=A[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=cg.interpolateZoom([(e-y.x)/y.k,(f-y.y)/y.k,c/y.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=y={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=y,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(y={x:+b[0],y:+b[1],k:y.k},h(),a):[y.x,y.y]},a.scale=function(b){return arguments.length?(y={x:y.x,y:y.y,k:+b},h(),a):y.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Rg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(A=b&&[+b[0],+b[1]],a):A},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),y={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),y={x:0,y:0,k:1},a):x},cg.rebind(a,J,"on")};var Pg,Qg,Rg=[0,1/0];cg.color=ha,ha.prototype.toString=function(){return this.rgb()+""},cg.hsl=ia;var Sg=ia.prototype=new ha;Sg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,this.l/a)},Sg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,a*this.l)},Sg.rgb=function(){return ja(this.h,this.s,this.l)},cg.hcl=ka;var Tg=ka.prototype=new ha;Tg.brighter=function(a){return new ka(this.h,this.c,Math.min(100,this.l+Ug*(arguments.length?a:1)))},Tg.darker=function(a){return new ka(this.h,this.c,Math.max(0,this.l-Ug*(arguments.length?a:1)))},Tg.rgb=function(){return la(this.h,this.c,this.l).rgb()},cg.lab=ma;var Ug=18,Vg=.95047,Wg=1,Xg=1.08883,Yg=ma.prototype=new ha;Yg.brighter=function(a){return new ma(Math.min(100,this.l+Ug*(arguments.length?a:1)),this.a,this.b)},Yg.darker=function(a){return new ma(Math.max(0,this.l-Ug*(arguments.length?a:1)),this.a,this.b)},Yg.rgb=function(){return na(this.l,this.a,this.b)},cg.rgb=sa;var Zg=sa.prototype=new ha;Zg.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&e>b&&(b=e),c&&e>c&&(c=e),d&&e>d&&(d=e),new sa(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new sa(e,e,e)},Zg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new sa(a*this.r,a*this.g,a*this.b)},Zg.hsl=function(){return xa(this.r,this.g,this.b)},Zg.toString=function(){return"#"+va(this.r)+va(this.g)+va(this.b)};var $g=cg.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,
lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});$g.forEach(function(a,b){$g.set(a,ta(b))}),cg.functor=Ba,cg.xhr=Ca(t),cg.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Da(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++<j;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;++c}k=c+2;var d=a.charCodeAt(c+1);return 13===d?(e=!0,10===a.charCodeAt(c+2)&&++k):10===d&&(e=!0),a.slice(b+1,c).replace(/""/g,'"')}for(;j>k;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new s,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},cg.csv=cg.dsv(",","text/csv"),cg.tsv=cg.dsv(" ","text/tab-separated-values");var _g,ah,bh,ch,dh,eh=this[v(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};cg.timer=function(a,b,c){var d=arguments.length;2>d&&(b=0),3>d&&(c=Date.now());var e=c+b,f={c:a,t:e,f:!1,n:null};ah?ah.n=f:_g=f,ah=f,bh||(ch=clearTimeout(ch),bh=1,eh(Ga))},cg.timer.flush=function(){Ha(),Ia()},cg.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var fh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Ka);cg.formatPrefix=function(a,b){var c=0;return a&&(0>a&&(a*=-1),b&&(a=cg.round(a,Ja(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),fh[8+c/3]};var gh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,hh=cg.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=cg.round(a,Ja(a,b))).toFixed(Math.max(0,Math.min(20,Ja(a*(1+1e-15),b))))}}),ih=cg.time={},jh=Date;Na.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(){kh.setUTCDate.apply(this._,arguments)},setDay:function(){kh.setUTCDay.apply(this._,arguments)},setFullYear:function(){kh.setUTCFullYear.apply(this._,arguments)},setHours:function(){kh.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){kh.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){kh.setUTCMinutes.apply(this._,arguments)},setMonth:function(){kh.setUTCMonth.apply(this._,arguments)},setSeconds:function(){kh.setUTCSeconds.apply(this._,arguments)},setTime:function(){kh.setTime.apply(this._,arguments)}};var kh=Date.prototype;ih.year=Oa(function(a){return a=ih.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),ih.years=ih.year.range,ih.years.utc=ih.year.utc.range,ih.day=Oa(function(a){var b=new jh(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),ih.days=ih.day.range,ih.days.utc=ih.day.utc.range,ih.dayOfYear=function(a){var b=ih.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=ih[a]=Oa(function(a){return(a=ih.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=ih.year(a).getDay();return Math.floor((ih.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});ih[a+"s"]=c.range,ih[a+"s"].utc=c.utc.range,ih[a+"OfYear"]=function(a){var c=ih.year(a).getDay();return Math.floor((ih.dayOfYear(a)+(c+b)%7)/7)}}),ih.week=ih.sunday,ih.weeks=ih.sunday.range,ih.weeks.utc=ih.sunday.utc.range,ih.weekOfYear=ih.sundayOfYear;var lh={"-":"",_:" ",0:"0"},mh=/^\s*\d+/,nh=/^%/;cg.locale=function(a){return{numberFormat:La(a),timeFormat:Qa(a)}};var oh=cg.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});cg.format=oh.numberFormat,cg.geo={},jb.prototype={s:0,t:0,add:function(a){kb(a,this.t,ph),kb(ph.s,this.s,this),this.s?this.t+=ph.t:this.s=ph.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ph=new jb;cg.geo.stream=function(a,b){a&&qh.hasOwnProperty(a.type)?qh[a.type](a,b):lb(a,b)};var qh={Feature:function(a,b){lb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++d<e;)lb(c[d].geometry,b)}},rh={Sphere:function(a,b){b.sphere()},Point:function(a,b){a=a.coordinates,b.point(a[0],a[1],a[2])},MultiPoint:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)a=c[d],b.point(a[0],a[1],a[2])},LineString:function(a,b){mb(a.coordinates,b,0)},MultiLineString:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)mb(c[d],b,0)},Polygon:function(a,b){nb(a.coordinates,b)},MultiPolygon:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)nb(c[d],b)},GeometryCollection:function(a,b){for(var c=a.geometries,d=-1,e=c.length;++d<e;)lb(c[d],b)}};cg.geo.area=function(a){return sh=0,cg.geo.stream(a,uh),sh};var sh,th=new jb,uh={sphere:function(){sh+=4*Gg},point:w,lineStart:w,lineEnd:w,polygonStart:function(){th.reset(),uh.lineStart=ob},polygonEnd:function(){var a=2*th;sh+=0>a?4*Gg+a:a,uh.lineStart=uh.lineEnd=uh.point=w}};cg.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),l>b&&(l=b),b>n&&(n=b)}function b(b,c){var d=pb([b*Kg,c*Kg]);if(r){var e=rb(r,d),f=[e[1],-e[0],0],g=rb(f,e);ub(g),g=vb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Lg*j,q=og(i)>180;if(q^(p>j*o&&j*b>p)){var s=g[1]*Lg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(p>j*o&&j*b>p)){var s=-g[1]*Lg;l>s&&(l=s)}else l>c&&(l=c),c>n&&(n=c);q?o>b?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(k>b&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=og(d)>180?d+(d>0?360:-360):d}else p=a,q=c;uh.point(a,c),b(a,c)}function f(){uh.lineStart()}function g(){e(p,q),uh.lineEnd(),og(s)>Eg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:a<b[0]||b[1]<a}var k,l,m,n,o,p,q,r,s,t,u,v={point:a,lineStart:c,lineEnd:d,polygonStart:function(){v.point=e,v.lineStart=f,v.lineEnd=g,s=0,uh.polygonStart()},polygonEnd:function(){uh.polygonEnd(),v.point=a,v.lineStart=c,v.lineEnd=d,0>th?(k=-(m=180),l=-(n=90)):s>Eg?n=90:-Eg>s&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],cg.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];b>d;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];b>=d;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),cg.geo.centroid=function(a){vh=wh=xh=yh=zh=Ah=Bh=Ch=Dh=Eh=Fh=0,cg.geo.stream(a,Gh);var b=Dh,c=Eh,d=Fh,e=b*b+c*c+d*d;return Fg>e&&(b=Ah,c=Bh,d=Ch,Eg>wh&&(b=xh,c=yh,d=zh),e=b*b+c*c+d*d,Fg>e)?[NaN,NaN]:[Math.atan2(c,b)*Lg,ca(d/Math.sqrt(e))*Lg]};var vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh={sphere:w,point:xb,lineStart:zb,lineEnd:Ab,polygonStart:function(){Gh.lineStart=Bb},polygonEnd:function(){Gh.lineStart=zb}},Hh=Hb(Db,Lb,Nb,[-Gg,-Gg/2]),Ih=1e9;cg.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Rb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(cg.geo.conicEqualArea=function(){return Sb(Tb)}).raw=Tb,cg.geo.albers=function(){return cg.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},cg.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=cg.geo.albers(),g=cg.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=cg.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&.234>e&&d>=-.425&&-.214>d?g:e>=.166&&.234>e&&d>=-.214&&-.115>d?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Eg,l+.12*j+Eg],[k-.214*j-Eg,l+.234*j-Eg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Eg,l+.166*j+Eg],[k-.115*j-Eg,l+.234*j-Eg]]).stream(i).point,a},a.scale(1070)};var Jh,Kh,Lh,Mh,Nh,Oh,Ph={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Kh=0,Ph.lineStart=Ub},polygonEnd:function(){Ph.lineStart=Ph.lineEnd=Ph.point=w,Jh+=og(Kh/2)}},Qh={point:Vb,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Rh={point:Yb,lineStart:Zb,lineEnd:$b,polygonStart:function(){Rh.lineStart=_b},polygonEnd:function(){Rh.point=Yb,Rh.lineStart=Zb,Rh.lineEnd=$b}};cg.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),cg.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Jh=0,cg.geo.stream(a,e(Ph)),Jh},a.centroid=function(a){return xh=yh=zh=Ah=Bh=Ch=Dh=Eh=Fh=0,cg.geo.stream(a,e(Rh)),Fh?[Dh/Fh,Eh/Fh]:Ch?[Ah/Ch,Bh/Ch]:zh?[xh/zh,yh/zh]:[NaN,NaN]},a.bounds=function(a){return Nh=Oh=-(Lh=Mh=1/0),cg.geo.stream(a,e(Qh)),[[Lh,Mh],[Nh,Oh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||cc(a):t,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Wb:new ac(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(cg.geo.albersUsa()).context(null)},cg.geo.transform=function(a){return{stream:function(b){var c=new dc(b);for(var d in a)c[d]=a[d];return c}}},dc.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},cg.geo.projection=fc,cg.geo.projectionMutator=gc,(cg.geo.equirectangular=function(){return fc(ic)}).raw=ic.invert=ic,cg.geo.rotation=function(a){function b(b){return b=a(b[0]*Kg,b[1]*Kg),b[0]*=Lg,b[1]*=Lg,b}return a=kc(a[0]%360*Kg,a[1]*Kg,a.length>2?a[2]*Kg:0),b.invert=function(b){return b=a.invert(b[0]*Kg,b[1]*Kg),b[0]*=Lg,b[1]*=Lg,b},b},jc.invert=ic,cg.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=kc(-a[0]*Kg,-a[1]*Kg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Lg,a[1]*=Lg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=oc((b=+d)*Kg,e*Kg),a):b},a.precision=function(d){return arguments.length?(c=oc(b*Kg,(e=+d)*Kg),a):e},a.angle(90)},cg.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Kg,e=a[1]*Kg,f=b[1]*Kg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},cg.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return cg.range(Math.ceil(f/q)*q,e,q).map(m).concat(cg.range(Math.ceil(j/r)*r,i,r).map(n)).concat(cg.range(Math.ceil(d/o)*o,c,o).filter(function(a){return og(a%q)>Eg}).map(k)).concat(cg.range(Math.ceil(h/p)*p,g,p).filter(function(a){return og(a%r)>Eg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=qc(h,g,90),l=rc(d,c,s),m=qc(j,i,90),n=rc(f,e,s),a):s},a.majorExtent([[-180,-90+Eg],[180,90-Eg]]).minorExtent([[-180,-80-Eg],[180,80+Eg]])},cg.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=sc,e=tc;return a.distance=function(){return cg.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},cg.geo.interpolate=function(a,b){return uc(a[0]*Kg,a[1]*Kg,b[0]*Kg,b[1]*Kg)},cg.geo.length=function(a){return Sh=0,cg.geo.stream(a,Th),Sh};var Sh,Th={sphere:w,point:w,lineStart:vc,lineEnd:w,polygonStart:w,polygonEnd:w},Uh=wc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(cg.geo.azimuthalEqualArea=function(){return fc(Uh)}).raw=Uh;var Vh=wc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},t);(cg.geo.azimuthalEquidistant=function(){return fc(Vh)}).raw=Vh,(cg.geo.conicConformal=function(){return Sb(xc)}).raw=xc,(cg.geo.conicEquidistant=function(){return Sb(yc)}).raw=yc;var Wh=wc(function(a){return 1/a},Math.atan);(cg.geo.gnomonic=function(){return fc(Wh)}).raw=Wh,zc.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Jg]},(cg.geo.mercator=function(){return Ac(zc)}).raw=zc;var Xh=wc(function(){return 1},Math.asin);(cg.geo.orthographic=function(){return fc(Xh)}).raw=Xh;var Yh=wc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(cg.geo.stereographic=function(){return fc(Yh)}).raw=Yh,Bc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Jg]},(cg.geo.transverseMercator=function(){var a=Ac(Bc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Bc,cg.geom={},cg.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Ba(c),f=Ba(d),g=a.length,h=[],i=[];for(b=0;g>b;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Fc),b=0;g>b;b++)i.push([h[b][0],-h[b][1]]);var j=Ec(h),k=Ec(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b<k.length-m;++b)n.push(a[h[k[b]][2]]);return n}var c=Cc,d=Dc;return arguments.length?b(a):(b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b)},cg.geom.polygon=function(a){return tg(a,Zh),a};var Zh=cg.geom.polygon.prototype=[];Zh.area=function(){for(var a,b=-1,c=this.length,d=this[c-1],e=0;++b<c;)a=d,d=this[b],e+=a[1]*d[0]-a[0]*d[1];return.5*e},Zh.centroid=function(a){var b,c,d=-1,e=this.length,f=0,g=0,h=this[e-1];for(arguments.length||(a=-1/(6*this.area()));++d<e;)b=h,h=this[d],c=b[0]*h[1]-h[0]*b[1],f+=(b[0]+h[0])*c,g+=(b[1]+h[1])*c;return[f*a,g*a]},Zh.clip=function(a){for(var b,c,d,e,f,g,h=Ic(a),i=-1,j=this.length-Ic(this),k=this[j-1];++i<j;){for(b=a.slice(),a.length=0,e=this[i],f=b[(d=b.length-h)-1],c=-1;++c<d;)g=b[c],Gc(g,k,e)?(Gc(f,k,e)||a.push(Hc(f,g,k,e)),a.push(g)):Gc(f,k,e)&&a.push(Hc(f,g,k,e)),f=g;h&&a.push(a[0]),k=e}return a};var $h,_h,ai,bi,ci,di=[],ei=[];Qc.prototype.prepare=function(){for(var a,b=this.edges,c=b.length;c--;)a=b[c].edge,a.b&&a.a||b.splice(c,1);return b.sort(Sc),b.length},ad.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},bd.prototype={insert:function(a,b){var c,d,e;if(a){if(b.P=a,b.N=a.N,a.N&&(a.N.P=b),a.N=b,a.R){for(a=a.R;a.L;)a=a.L;a.L=b}else a.R=b;c=a}else this._?(a=fd(this._),b.P=null,b.N=a,a.P=a.L=b,c=a):(b.P=b.N=null,this._=b,c=null);for(b.L=b.R=null,b.U=c,b.C=!0,a=b;c&&c.C;)d=c.U,c===d.L?(e=d.R,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.R&&(dd(this,c),a=c,c=a.U),c.C=!1,d.C=!0,ed(this,d))):(e=d.L,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.L&&(ed(this,c),a=c,c=a.U),c.C=!1,d.C=!0,dd(this,d))),c=a.U;this._.C=!1},remove:function(a){a.N&&(a.N.P=a.P),a.P&&(a.P.N=a.N),a.N=a.P=null;var b,c,d,e=a.U,f=a.L,g=a.R;if(c=f?g?fd(g):f:g,e?e.L===a?e.L=c:e.R=c:this._=c,f&&g?(d=c.C,c.C=a.C,c.L=f,f.U=c,c!==g?(e=c.U,c.U=a.U,a=c.R,e.L=a,c.R=g,g.U=c):(c.U=e,e=c,a=c.R)):(d=a.C,a=c),a&&(a.U=e),!d){if(a&&a.C)return void(a.C=!1);do{if(a===this._)break;if(a===e.L){if(b=e.R,b.C&&(b.C=!1,e.C=!0,dd(this,e),b=e.R),b.L&&b.L.C||b.R&&b.R.C){b.R&&b.R.C||(b.L.C=!1,b.C=!0,ed(this,b),b=e.R),b.C=e.C,e.C=b.R.C=!1,dd(this,e),a=this._;break}}else if(b=e.L,b.C&&(b.C=!1,e.C=!0,ed(this,e),b=e.L),b.L&&b.L.C||b.R&&b.R.C){b.L&&b.L.C||(b.R.C=!1,b.C=!0,dd(this,b),b=e.L),b.C=e.C,e.C=b.L.C=!1,ed(this,e),a=this._;break}b.C=!0,a=e,e=e.U}while(!a.C);a&&(a.C=!1)}}},cg.geom.voronoi=function(a){function b(a){var b=new Array(a.length),d=h[0][0],e=h[0][1],f=h[1][0],g=h[1][1];return gd(c(a),h).cells.forEach(function(c,h){var i=c.edges,j=c.site,k=b[h]=i.length?i.map(function(a){var b=a.start();return[b.x,b.y]}):j.x>=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[];k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Eg)*Eg,y:Math.round(g(a,b)/Eg)*Eg,i:b}})}var d=Cc,e=Dc,f=d,g=e,h=fi;return a?b(a):(b.links=function(a){return gd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return gd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Sc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i<j;)e=k,f=l,k=h[i].edge,l=k.l===g?k.r:k.l,d<f.i&&d<l.i&&id(g,f,l)<0&&b.push([a[d],a[f.i],a[l.i]])}),b},b.x=function(a){return arguments.length?(f=Ba(d=a),b):d},b.y=function(a){return arguments.length?(g=Ba(e=a),b):e},b.clipExtent=function(a){return arguments.length?(h=null==a?fi:a,b):h===fi?null:h},b.size=function(a){return arguments.length?b.clipExtent(a&&[[0,0],a]):h===fi?null:h&&h[1]},b)};var fi=[[-1e6,-1e6],[1e6,1e6]];cg.geom.delaunay=function(a){return cg.geom.voronoi().triangles(a)},cg.geom.quadtree=function(a,b,c,d,e){function f(a){function f(a,b,c,d,e,f,g,h){if(!isNaN(c)&&!isNaN(d))if(a.leaf){var i=a.x,k=a.y;if(null!=i)if(og(i-c)+og(k-d)<.01)j(a,b,c,d,e,f,g,h);else{var l=a.point;a.x=a.y=a.point=null,j(a,l,i,k,e,f,g,h),j(a,b,c,d,e,f,g,h)}else a.x=c,a.y=d,a.point=b}else j(a,b,c,d,e,f,g,h)}function j(a,b,c,d,e,g,h,i){var j=.5*(e+h),k=.5*(g+i),l=c>=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=ld()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Ba(h),u=Ba(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;o>n;++n)k=a[n],k.x<p&&(p=k.x),k.y<q&&(q=k.y),k.x>r&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;o>n;++n){var v=+t(k=a[n],n),w=+u(k,n);p>v&&(p=v),q>w&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=ld();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){md(a,z,p,q,r,s)},z.find=function(a){return nd(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n<o;)f(z,a[n],l[n],m[n],p,q,r,s);--n}else a.forEach(z.add);return l=m=a=k=null,z}var g,h=Cc,i=Dc;return(g=arguments.length)?(h=jd,i=kd,3===g&&(e=c,d=b,c=b=0),f(a)):(f.x=function(a){return arguments.length?(h=a,f):h},f.y=function(a){return arguments.length?(i=a,f):i},f.extent=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=+a[0][0],c=+a[0][1],d=+a[1][0],e=+a[1][1]),f):null==b?null:[[b,c],[d,e]]},f.size=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=c=0,d=+a[0],e=+a[1]),f):null==b?null:[d-b,e-c]},f)},cg.interpolateRgb=od,cg.interpolateObject=pd,cg.interpolateNumber=qd,cg.interpolateString=rd;var gi=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hi=new RegExp(gi.source,"g");cg.interpolate=sd,cg.interpolators=[function(a,b){var c=typeof b;return("string"===c?$g.has(b)||/^(#|rgb\(|hsl\()/.test(b)?od:rd:b instanceof ha?od:Array.isArray(b)?td:"object"===c&&isNaN(b)?pd:qd)(a,b)}],cg.interpolateArray=td;var ii=function(){return t},ji=cg.map({linear:ii,poly:Ad,quad:function(){return xd},cubic:function(){return yd},sin:function(){return Bd},exp:function(){return Cd},circle:function(){return Dd},elastic:Ed,back:Fd,bounce:function(){return Gd}}),ki=cg.map({"in":t,out:vd,"in-out":wd,"out-in":function(a){return wd(vd(a))}});cg.ease=function(a){var b=a.indexOf("-"),c=b>=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=ji.get(c)||ii,d=ki.get(d)||t,ud(d(c.apply(null,dg.call(arguments,1))))},cg.interpolateHcl=Hd,cg.interpolateHsl=Id,cg.interpolateLab=Jd,cg.interpolateRound=Kd,cg.transform=function(a){var b=fg.createElementNS(cg.ns.prefix.svg,"g");return(cg.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Ld(c?c.matrix:li)})(a)},Ld.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var li={a:1,b:0,c:0,d:1,e:0,f:0};cg.interpolateTransform=Pd,cg.layout={},cg.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++c<d;)b.push(Sd(a[c]));return b}},cg.layout.chord=function(){function a(){var a,j,l,m,n,o={},p=[],q=cg.range(f),r=[];for(c=[],d=[],a=0,m=-1;++m<f;){for(j=0,n=-1;++n<f;)j+=e[m][n];p.push(j),r.push(cg.range(f)),a+=j}for(g&&q.sort(function(a,b){return g(p[a],p[b])}),h&&r.forEach(function(a,b){a.sort(function(a,c){return h(e[b][a],e[b][c])})}),a=(Hg-k*f)/a,j=0,m=-1;++m<f;){for(l=j,n=-1;++n<f;){var s=q[m],t=r[s][n],u=e[s][t],v=j,w=j+=u*a;o[s+"-"+t]={index:s,subindex:t,startAngle:v,endAngle:w,value:u}}d[s]={index:s,startAngle:l,endAngle:j,value:(j-l)/a},j+=k}for(m=-1;++m<f;)for(n=m-1;++n<f;){var x=o[m+"-"+n],y=o[n+"-"+m];(x.value||y.value)&&c.push(x.value<y.value?{source:y,target:x}:{source:x,target:y})}i&&b()}function b(){c.sort(function(a,b){return i((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}var c,d,e,f,g,h,i,j={},k=0;return j.matrix=function(a){return arguments.length?(f=(e=a)&&e.length,c=d=null,j):e},j.padding=function(a){return arguments.length?(k=a,c=d=null,j):k},j.sortGroups=function(a){return arguments.length?(g=a,c=d=null,j):g},j.sortSubgroups=function(a){return arguments.length?(h=a,c=null,j):h},j.sortChords=function(a){return arguments.length?(i=a,c&&b(),j):i},j.chords=function(){return c||a(),c},j.groups=function(){return d||a(),d},j},cg.layout.force=function(){function a(a){return function(b,c,d,e){if(b.point!==a){var f=b.cx-a.x,g=b.cy-a.y,h=e-c,i=f*f+g*g;if(i>h*h/q){if(o>i){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&o>i){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=cg.event.x,a.py=cg.event.y,h.resume()}var c,d,e,f,g,h={},i=cg.dispatch("start","tick","end"),j=[1,1],k=.9,l=mi,m=ni,n=-30,o=oi,p=.1,q=.64,r=[],s=[];return h.tick=function(){if((d*=.99)<.005)return i.end({type:"end",alpha:d=0}),!0;var b,c,h,l,m,o,q,t,u,v=r.length,w=s.length;for(c=0;w>c;++c)h=s[c],l=h.source,m=h.target,t=m.x-l.x,u=m.y-l.y,(o=t*t+u*u)&&(o=d*f[c]*((o=Math.sqrt(o))-e[c])/o,t*=o,u*=o,m.x-=t*(q=l.weight/(m.weight+l.weight)),m.y-=u*q,l.x+=t*(q=1-q),l.y+=u*q);if((q=d*p)&&(t=j[0]/2,u=j[1]/2,c=-1,q))for(;++c<v;)h=r[c],h.x+=(t-h.x)*q,h.y+=(u-h.y)*q;if(n)for(Zd(b=cg.geom.quadtree(r),d,g),c=-1;++c<v;)(h=r[c]).fixed||b.visit(a(h));for(c=-1;++c<v;)h=r[c],h.fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*k,h.y-=(h.py-(h.py=h.y))*k);i.tick({type:"tick",alpha:d})},h.nodes=function(a){return arguments.length?(r=a,h):r},h.links=function(a){return arguments.length?(s=a,h):s},h.size=function(a){return arguments.length?(j=a,h):j},h.linkDistance=function(a){return arguments.length?(l="function"==typeof a?a:+a,h):l},h.distance=h.linkDistance,h.linkStrength=function(a){return arguments.length?(m="function"==typeof a?a:+a,h):m},h.friction=function(a){return arguments.length?(k=+a,h):k},h.charge=function(a){return arguments.length?(n="function"==typeof a?a:+a,h):n},h.chargeDistance=function(a){return arguments.length?(o=a*a,h):Math.sqrt(o)},h.gravity=function(a){return arguments.length?(p=+a,h):p},h.theta=function(a){return arguments.length?(q=a*a,h):Math.sqrt(q)},h.alpha=function(a){return arguments.length?(a=+a,d?d=a>0?a:0:a>0&&(i.start({type:"start",alpha:d=a}),cg.timer(h.tick)),h):d},h.start=function(){function a(a,d){if(!c){for(c=new Array(i),h=0;i>h;++h)c[h]=[];for(h=0;k>h;++h){var e=s[h];c[e.source.index].push(e.target),c[e.target.index].push(e.source)}}for(var f,g=c[b],h=-1,j=g.length;++h<j;)if(!isNaN(f=g[h][a]))return f;return Math.random()*d}var b,c,d,i=r.length,k=s.length,o=j[0],p=j[1];for(b=0;i>b;++b)(d=r[b]).index=b,d.weight=0;for(b=0;k>b;++b)d=s[b],"number"==typeof d.source&&(d.source=r[d.source]),"number"==typeof d.target&&(d.target=r[d.target]),++d.source.weight,++d.target.weight;for(b=0;i>b;++b)d=r[b],isNaN(d.x)&&(d.x=a("x",o)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(e=[],"function"==typeof l)for(b=0;k>b;++b)e[b]=+l.call(this,s[b],b);else for(b=0;k>b;++b)e[b]=l;if(f=[],"function"==typeof m)for(b=0;k>b;++b)f[b]=+m.call(this,s[b],b);else for(b=0;k>b;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;i>b;++b)g[b]=+n.call(this,r[b],b);else for(b=0;i>b;++b)g[b]=n;return h.resume()},h.resume=function(){return h.alpha(.1)},h.stop=function(){return h.alpha(0)},h.drag=function(){return c||(c=cg.behavior.drag().origin(t).on("dragstart.force",Vd).on("drag.force",b).on("dragend.force",Wd)),arguments.length?void this.on("mouseover.force",Xd).on("mouseout.force",Yd).call(c):c},cg.rebind(h,i,"on")};var mi=20,ni=1,oi=1/0;cg.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return ae(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=de,c=be,d=ce;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(_d(b,function(a){a.children&&(a.value=0)}),ae(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},cg.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++j<g;)a(h=f[j],c,i=h.value*d,e),c+=i}}function b(a){var c=a.children,d=0;if(c&&(e=c.length))for(var e,f=-1;++f<e;)d=Math.max(d,b(c[f]));return 1+d}function c(c,f){var g=d.call(this,c,f);return a(g[0],0,e[0],e[1]/b(g[0])),g}var d=cg.layout.hierarchy(),e=[1,1];return c.size=function(a){return arguments.length?(e=a,c):e},$d(c,d)},cg.layout.pie=function(){function a(g){var h,i=g.length,j=g.map(function(c,d){return+b.call(a,c,d)}),k=+("function"==typeof d?d.apply(this,arguments):d),l=("function"==typeof e?e.apply(this,arguments):e)-k,m=Math.min(Math.abs(l)/i,+("function"==typeof f?f.apply(this,arguments):f)),n=m*(0>l?-1:1),o=(l-i*n)/cg.sum(j),p=cg.range(i),q=[];return null!=c&&p.sort(c===pi?function(a,b){
return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),p.forEach(function(a){q[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*o+n,padAngle:m}}),q}var b=Number,c=pi,d=0,e=Hg,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var pi={};cg.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=cg.permute(j,l),k=cg.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;r>o;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;m>n;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=t,c=ie,d=je,e=he,f=fe,g=ge;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:qi.get(b)||ie,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:ri.get(b)||je,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var qi=cg.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(ke),f=a.map(le),g=cg.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;d>b;++b)c=g[b],i>h?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return cg.range(a.length).reverse()},"default":ie}),ri=cg.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;f>c;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;m>c;++c){for(b=0,e=0;k>b;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];k>b;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);b>d;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,j>i&&(j=i)}for(c=0;m>c;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];if(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=g}for(c=0;f>c;++c)h[c]=0;return h},zero:je});cg.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f<n;)g=i[f]=[],g.dx=l[f+1]-(g.x=l[f]),g.y=0;if(n>0)for(f=-1;++f<m;)h=j[f],h>=k[0]&&h<=k[1]&&(g=i[cg.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=pe,e=ne;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Ba(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return oe(a,b)}:Ba(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},cg.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,ae(h,function(a){a.r=+k(a.value)}),ae(h,ue),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;ae(h,function(a){a.r+=l}),ae(h,ue),ae(h,function(a){a.r-=l})}return xe(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=cg.layout.hierarchy().sort(qe),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},$d(a,c)},cg.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(ae(m,c),m.parent.m=-m.z,_d(m,d),j)_d(l,f);else{var n=l,o=l,p=l;_d(l,function(a){a.x<n.x&&(n=a),a.x>o.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);_d(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;h>g;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){De(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=Be(g),e=Ae(e),g&&e;)i=Ae(i),f=Be(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Ce(Ee(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!Be(f)&&(f.t=g,f.m+=l-k),e&&!Ae(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=cg.layout.hierarchy().sort(null).value(null),h=ze,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},$d(a,g)},cg.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;ae(i,function(a){var b=a.children;b&&b.length?(a.x=Ge(b),a.y=Fe(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=He(i),l=Ie(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return ae(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=cg.layout.hierarchy().sort(null).value(null),c=ze,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},$d(a,b)},cg.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++e<f;)d=(c=a[e]).value*(0>b?0:b),c.area=isNaN(d)||0>=d?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++g<h;)(c=a[g].area)&&(f>c&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++f<g;)e=a[f],e.x=h,e.y=j,e.dy=k,h+=e.dx=Math.min(c.x+c.dx-h,k?i(e.area/k):0);e.z=!0,e.dx+=c.x+c.dx-h,c.y+=k,c.dy-=k}else{for((d||k>c.dx)&&(k=c.dx);++f<g;)e=a[f],e.x=h,e.y=j,e.dx=k,j+=e.dy=Math.min(c.y+c.dy-j,k?i(e.area/k):0);e.z=!1,e.dy+=c.y+c.dy-j,c.x+=k,c.dx-=k}}function f(d){var e=g||h(d),f=e[0];return f.x=0,f.y=0,f.dx=j[0],f.dy=j[1],g&&h.revalue(f),a([f],f.dx*f.dy/f.value),(g?c:b)(f),m&&(g=e),e}var g,h=cg.layout.hierarchy(),i=Math.round,j=[1,1],k=null,l=Je,m=!1,n="squarify",o=.5*(1+Math.sqrt(5));return f.size=function(a){return arguments.length?(j=a,f):j},f.padding=function(a){function b(b){var c=a.call(f,b,b.depth);return null==c?Je(b):Ke(b,"number"==typeof c?[c,c,c,c]:c)}function c(b){return Ke(b,a)}if(!arguments.length)return k;var d;return l=null==(k=a)?Je:"function"==(d=typeof a)?b:"number"===d?(a=[a,a,a,a],c):c,f},f.round=function(a){return arguments.length?(i=a?Math.round:Number,f):i!=Number},f.sticky=function(a){return arguments.length?(m=a,g=null,f):m},f.ratio=function(a){return arguments.length?(o=a,f):o},f.mode=function(a){return arguments.length?(n=a+"",f):n},$d(f,h)},cg.random={normal:function(a,b){var c=arguments.length;return 2>c&&(b=1),1>c&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=cg.random.normal.apply(cg,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=cg.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;a>c;c++)b+=Math.random();return b}}},cg.scale={};var si={floor:t,ceil:t};cg.scale.linear=function(){return Re([0,1],[0,1],sd,!1)};var ti={s:1,g:1,p:1,r:1,e:1};cg.scale.log=function(){return Ze(cg.scale.linear().domain([0,1]),10,!0,[1,10])};var ui=cg.format(".0e"),vi={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};cg.scale.pow=function(){return $e(cg.scale.linear(),1,[0,1])},cg.scale.sqrt=function(){return cg.scale.pow().exponent(.5)},cg.scale.ordinal=function(){return af([],{t:"range",a:[[]]})},cg.scale.category10=function(){return cg.scale.ordinal().range(wi)},cg.scale.category20=function(){return cg.scale.ordinal().range(xi)},cg.scale.category20b=function(){return cg.scale.ordinal().range(yi)},cg.scale.category20c=function(){return cg.scale.ordinal().range(zi)};var wi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ua),xi=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ua),yi=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ua),zi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ua);cg.scale.quantile=function(){return bf([],[])},cg.scale.quantize=function(){return cf(0,1,[0,1])},cg.scale.threshold=function(){return df([.5],[0,1])},cg.scale.identity=function(){return ef([0,1])},cg.svg={},cg.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Jg,l=h.apply(this,arguments)-Jg,m=Math.abs(l-k),n=k>l?0:1;if(a>j&&(o=j,j=a,a=o),m>=Ig)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===Ai?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ca(q/j*Math.sin(r))),a&&(A=ca(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Gg?0:1;if(B&&mf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Gg?0:1;if(A&&mf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if((o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=j>a^n?0:1;var H=null==y?[w,x]:null==u?[s,t]:Hc([s,t],[y,z],[u,v],[w,x]),I=s-H[0],J=t-H[1],K=u-H[0],L=v-H[1],M=1/Math.sin(Math.acos((I*K+J*L)/(Math.sqrt(I*I+J*J)*Math.sqrt(K*K+L*L)))/2),N=Math.sqrt(H[0]*H[0]+H[1]*H[1]);if(null!=u){var O=Math.min(o,(j-N)/(M+1)),P=nf(null==y?[w,x]:[y,z],[s,t],j,O,n),Q=nf([u,v],[w,x],j,O,n);o===O?C.push("M",P[0],"A",O,",",O," 0 0,",p," ",P[1],"A",j,",",j," 0 ",1-n^mf(P[1][0],P[1][1],Q[1][0],Q[1][1]),",",n," ",Q[1],"A",O,",",O," 0 0,",p," ",Q[0]):C.push("M",P[0],"A",O,",",O," 0 1,",p," ",Q[0])}else C.push("M",s,",",t);if(null!=y){var R=Math.min(o,(a-N)/(M-1)),S=nf([s,t],[y,z],a,-R,n),T=nf([w,x],null==u?[s,t]:[u,v],a,-R,n);o===R?C.push("L",T[0],"A",R,",",R," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^mf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",R,",",R," 0 0,",p," ",S[0]):C.push("L",T[0],"A",R,",",R," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=gf,d=hf,e=ff,f=Ai,g=jf,h=kf,i=lf;return a.innerRadius=function(b){return arguments.length?(c=Ba(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Ba(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Ba(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==Ai?Ai:Ba(b),a):f},a.startAngle=function(b){return arguments.length?(g=Ba(b),a):g},a.endAngle=function(b){return arguments.length?(h=Ba(b),a):h},a.padAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Jg;return[Math.cos(b)*a,Math.sin(b)*a]},a};var Ai="auto";cg.svg.line=function(){return of(t)};var Bi=cg.map({linear:pf,"linear-closed":qf,step:rf,"step-before":sf,"step-after":tf,basis:zf,"basis-open":Af,"basis-closed":Bf,bundle:Cf,cardinal:wf,"cardinal-open":uf,"cardinal-closed":vf,monotone:If});Bi.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Ci=[0,2/3,1/3,0],Di=[0,1/3,2/3,0],Ei=[0,1/6,2/3,1/6];cg.svg.line.radial=function(){var a=of(Jf);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},sf.reverse=tf,tf.reverse=sf,cg.svg.area=function(){return Kf(t)},cg.svg.area.radial=function(){var a=Kf(Jf);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},cg.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Jg,k=j.call(a,e,d)-Jg;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Gg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=sc,g=tc,h=Lf,i=jf,j=kf;return a.radius=function(b){return arguments.length?(h=Ba(b),a):h},a.source=function(b){return arguments.length?(f=Ba(b),a):f},a.target=function(b){return arguments.length?(g=Ba(b),a):g},a.startAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.endAngle=function(b){return arguments.length?(j=Ba(b),a):j},a},cg.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=sc,c=tc,d=Mf;return a.source=function(c){return arguments.length?(b=Ba(c),a):b},a.target=function(b){return arguments.length?(c=Ba(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},cg.svg.diagonal.radial=function(){var a=cg.svg.diagonal(),b=Mf,c=a.projection;return a.projection=function(a){return arguments.length?c(Nf(b=a)):b},a},cg.svg.symbol=function(){function a(a,d){return(Fi.get(b.call(this,a,d))||Qf)(c.call(this,a,d))}var b=Pf,c=Of;return a.type=function(c){return arguments.length?(b=Ba(c),a):b},a.size=function(b){return arguments.length?(c=Ba(b),a):c},a};var Fi=cg.map({circle:Qf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Hi)),c=b*Hi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Gi),c=b*Gi/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Gi),c=b*Gi/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});cg.svg.symbolTypes=Fi.keys();var Gi=Math.sqrt(3),Hi=Math.tan(30*Kg);xg.transition=function(a){for(var b,c,d=Ii||++Mi,e=Vf(a),f=[],g=Ji||{time:Date.now(),ease:zd,delay:0,duration:250},h=-1,i=this.length;++h<i;){f.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(c=j[k])&&Wf(c,k,e,d,g),b.push(c)}return Sf(f,e,d)},xg.interrupt=function(a){return this.each(null==a?Ki:Rf(Vf(a)))};var Ii,Ji,Ki=Rf(Vf()),Li=[],Mi=0;Li.call=xg.call,Li.empty=xg.empty,Li.node=xg.node,Li.size=xg.size,cg.transition=function(a,b){return a&&a.transition?Ii?a.transition(b):a:cg.selection().transition(a)},cg.transition.prototype=Li,Li.select=function(a){var b,c,d,e=this.id,f=this.namespace,g=[];a=D(a);for(var h=-1,i=this.length;++h<i;){g.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(d=j[k])&&(c=a.call(d,d.__data__,k,h))?("__data__"in d&&(c.__data__=d.__data__),Wf(c,k,f,e,d[f][e]),b.push(c)):b.push(null)}return Sf(g,f,e)},Li.selectAll=function(a){var b,c,d,e,f,g=this.id,h=this.namespace,i=[];a=E(a);for(var j=-1,k=this.length;++j<k;)for(var l=this[j],m=-1,n=l.length;++m<n;)if(d=l[m]){f=d[h][g],c=a.call(d,d.__data__,m,j),i.push(b=[]);for(var o=-1,p=c.length;++o<p;)(e=c[o])&&Wf(e,o,h,g,f),b.push(e)}return Sf(i,h,g)},Li.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;g>f;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Sf(e,this.namespace,this.id)},Li.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):S(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Li.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Pd:sd,h=cg.ns.qualify(a);return Tf(this,"attr."+a,b,h.local?f:e)},Li.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=cg.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Li.style=function(a,b,d){function e(){this.style.removeProperty(a)}function f(b){return null==b?e:(b+="",function(){var e,f=c(this).getComputedStyle(this,null).getPropertyValue(a);return f!==b&&(e=sd(f,b),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(3>g){if("string"!=typeof a){2>g&&(b="");for(d in a)this.style(d,a[d],b);return this}d=""}return Tf(this,"style."+a,b,f)},Li.styleTween=function(a,b,d){function e(e,f){var g=b.call(this,e,f,c(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Li.text=function(a){return Tf(this,"text",a,Uf)},Li.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Li.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=cg.ease.apply(cg,arguments)),S(this,function(d){d[c][b].ease=a}))},Li.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:S(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Li.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:S(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Li.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Ji,f=Ii;try{Ii=c,S(this,function(b,e,f){Ji=b[d][c],a.call(b,b.__data__,e,f)})}finally{Ji=e,Ii=f}}else S(this,function(e){var f=e[d][c];(f.event||(f.event=cg.dispatch("start","end","interrupt"))).on(a,b)});return this},Li.transition=function(){for(var a,b,c,d,e=this.id,f=++Mi,g=this.namespace,h=[],i=0,j=this.length;j>i;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;l>k;k++)(c=b[k])&&(d=c[g][e],Wf(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Sf(h,g,f)},cg.svg.axis=function(){function a(a){a.each(function(){var a,j=cg.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):t:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Eg),q=cg.transition(o.exit()).style("opacity",Eg).remove(),r=cg.transition(o.order()).style("opacity",1),s=Math.max(e,0)+g,u=Me(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),cg.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=Xf,x="x",z="y",y="x2",A="y2",D.attr("dy",0>G?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=Yf,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",0>G?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*s),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*s),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=cg.scale.linear(),d=Ni,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Oi?b+"":Ni,a):d},a.ticks=function(){return arguments.length?(h=arguments,a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Ni="bottom",Oi={top:1,right:1,bottom:1,left:1};cg.svg.brush=function(){function a(c){c.each(function(){var c=cg.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=c.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),c.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=c.selectAll(".resize").data(p,t);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Pi[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=cg.transition(c),m=cg.transition(g);j&&(i=Me(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Me(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),b(l)})}function b(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==cg.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),z())}function p(){32==cg.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,z())}function q(){var a=cg.mouse(v),c=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(cg.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]<t[0])],F[1]=m[+(a[1]<t[1])]):t=null),B&&r(a,j,0)&&(d(y),c=!0),C&&r(a,k,1)&&(e(y),c=!0),c&&(b(y),x({type:"brush",mode:D?"move":"resize"}))}function r(a,b,c){var d,e,f=Me(b),i=f[0],j=f[1],k=F[c],p=c?m:l,q=p[1]-p[0];return D&&(i-=k,j-=q+k),d=(c?o:n)?Math.max(i,Math.min(j,a[c])):a[c],D?e=(d+=k)+q:(t&&(k=Math.max(i,Math.min(j,2*t[c]-d))),d>k?(e=d,d=k):e=k),p[0]!=d||p[1]!=e?(c?h=null:g=null,p[0]=d,p[1]=e,!0):void 0}function s(){q(),y.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),cg.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=cg.select(cg.event.target),x=i.of(v,arguments),y=cg.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=Y(v),F=cg.mouse(v),G=cg.select(c(v)).on("keydown.brush",f).on("keyup.brush",p);if(cg.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),y.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else cg.event.altKey&&(t=F.slice());y.style("pointer-events","none").selectAll(".resize").style("display",null),cg.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=B(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Qi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Ii?cg.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=td(l,b.x),d=td(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Qi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Qi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),c>d&&(i=c,c=d,d=i),(c!=l[0]||d!=l[1])&&(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),e>f&&(i=e,e=f,f=i),(e!=m[0]||f!=m[1])&&(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),c>d&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),e>f&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},cg.rebind(a,i,"on")};var Pi={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Qi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ri=ih.format=oh.timeFormat,Si=Ri.utc,Ti=Si("%Y-%m-%dT%H:%M:%S.%LZ");Ri.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Zf:Ti,Zf.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},Zf.toString=Ti.toString,ih.second=Oa(function(a){return new jh(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),ih.seconds=ih.second.range,ih.seconds.utc=ih.second.utc.range,ih.minute=Oa(function(a){return new jh(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),ih.minutes=ih.minute.range,ih.minutes.utc=ih.minute.utc.range,ih.hour=Oa(function(a){var b=a.getTimezoneOffset()/60;return new jh(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),ih.hours=ih.hour.range,ih.hours.utc=ih.hour.utc.range,ih.month=Oa(function(a){return a=ih.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),ih.months=ih.month.range,ih.months.utc=ih.month.utc.range;var Ui=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Vi=[[ih.second,1],[ih.second,5],[ih.second,15],[ih.second,30],[ih.minute,1],[ih.minute,5],[ih.minute,15],[ih.minute,30],[ih.hour,1],[ih.hour,3],[ih.hour,6],[ih.hour,12],[ih.day,1],[ih.day,2],[ih.week,1],[ih.month,1],[ih.month,3],[ih.year,1]],Wi=Ri.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Db]]),Xi={range:function(a,b,c){return cg.range(Math.ceil(a/c)*c,+b,c).map(_f)},floor:t,ceil:t};Vi.year=ih.year,ih.scale=function(){return $f(cg.scale.linear(),Vi,Wi)};var Yi=Vi.map(function(a){return[a[0].utc,a[1]]}),Zi=Si.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Db]]);Yi.year=ih.year.utc,ih.scale.utc=function(){return $f(cg.scale.linear(),Yi,Zi)},cg.text=Ca(function(a){return a.responseText}),cg.json=function(a,b){return Da(a,"application/json",ag,b)},cg.html=function(a,b){return Da(a,"text/html",bg,b)},cg.xml=Ca(function(a){return a.responseXML}),"function"==typeof define&&define.amd?define(cg):"object"==typeof b&&b.exports&&(b.exports=cg),this.d3=cg}()},{}],12:[function(a,b,c){(function(c,d){(function(){"use strict";function e(a){return"function"==typeof a||"object"==typeof a&&null!==a}function f(a){return"function"==typeof a}function g(a){return"object"==typeof a&&null!==a}function h(a,b){_[U]=a,_[U+1]=b,U+=2,2===U&&S()}function i(){var a=c.nextTick,b=c.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);return Array.isArray(b)&&"0"===b[1]&&"10"===b[2]&&(a=setImmediate),function(){a(n)}}function j(){return function(){R(n)}}function k(){var a=0,b=new Y(n),c=document.createTextNode("");return b.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}function l(){var a=new MessageChannel;return a.port1.onmessage=n,function(){a.port2.postMessage(0)}}function m(){return function(){setTimeout(n,1)}}function n(){for(var a=0;U>a;a+=2){var b=_[a],c=_[a+1];b(c),_[a]=void 0,_[a+1]=void 0}U=0}function o(){try{var b=a,c=b("vertx");return R=c.runOnLoop||c.runOnContext,j()}catch(d){return m()}}function p(){}function q(){return new TypeError("You cannot resolve a promise with itself")}function r(){return new TypeError("A promises callback cannot return that same promise.")}function s(a){try{return a.then}catch(b){return da.error=b,da}}function t(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function u(a,b,c){V(function(a){var d=!1,e=t(c,b,function(c){d||(d=!0,b!==c?x(a,c):z(a,c))},function(b){d||(d=!0,A(a,b))},"Settle: "+(a._label||" unknown promise"));!d&&e&&(d=!0,A(a,e))},a)}function v(a,b){b._state===ba?z(a,b._result):b._state===ca?A(a,b._result):B(b,void 0,function(b){x(a,b)},function(b){A(a,b)})}function w(a,b){if(b.constructor===a.constructor)v(a,b);else{
var c=s(b);c===da?A(a,da.error):void 0===c?z(a,b):f(c)?u(a,b,c):z(a,b)}}function x(a,b){a===b?A(a,q()):e(b)?w(a,b):z(a,b)}function y(a){a._onerror&&a._onerror(a._result),C(a)}function z(a,b){a._state===aa&&(a._result=b,a._state=ba,0!==a._subscribers.length&&V(C,a))}function A(a,b){a._state===aa&&(a._state=ca,a._result=b,V(y,a))}function B(a,b,c,d){var e=a._subscribers,f=e.length;a._onerror=null,e[f]=b,e[f+ba]=c,e[f+ca]=d,0===f&&a._state&&V(C,a)}function C(a){var b=a._subscribers,c=a._state;if(0!==b.length){for(var d,e,f=a._result,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?F(c,d,e,f):e(f);a._subscribers.length=0}}function D(){this.error=null}function E(a,b){try{return a(b)}catch(c){return ea.error=c,ea}}function F(a,b,c,d){var e,g,h,i,j=f(c);if(j){if(e=E(c,d),e===ea?(i=!0,g=e.error,e=null):h=!0,b===e)return void A(b,r())}else e=d,h=!0;b._state!==aa||(j&&h?x(b,e):i?A(b,g):a===ba?z(b,e):a===ca&&A(b,e))}function G(a,b){try{b(function(b){x(a,b)},function(b){A(a,b)})}catch(c){A(a,c)}}function H(a,b){var c=this;c._instanceConstructor=a,c.promise=new a(p),c._validateInput(b)?(c._input=b,c.length=b.length,c._remaining=b.length,c._init(),0===c.length?z(c.promise,c._result):(c.length=c.length||0,c._enumerate(),0===c._remaining&&z(c.promise,c._result))):A(c.promise,c._validationError())}function I(a){return new fa(this,a).promise}function J(a){function b(a){x(e,a)}function c(a){A(e,a)}var d=this,e=new d(p);if(!T(a))return A(e,new TypeError("You must pass an array to race.")),e;for(var f=a.length,g=0;e._state===aa&&f>g;g++)B(d.resolve(a[g]),void 0,b,c);return e}function K(a){var b=this;if(a&&"object"==typeof a&&a.constructor===b)return a;var c=new b(p);return x(c,a),c}function L(a){var b=this,c=new b(p);return A(c,a),c}function M(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function N(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function O(a){this._id=ka++,this._state=void 0,this._result=void 0,this._subscribers=[],p!==a&&(f(a)||M(),this instanceof O||N(),G(this,a))}function P(){var a;if("undefined"!=typeof d)a=d;else if("undefined"!=typeof self)a=self;else try{a=Function("return this")()}catch(b){throw new Error("polyfill failed because global object is unavailable in this environment")}var c=a.Promise;(!c||"[object Promise]"!==Object.prototype.toString.call(c.resolve())||c.cast)&&(a.Promise=la)}var Q;Q=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var R,S,T=Q,U=0,V=({}.toString,h),W="undefined"!=typeof window?window:void 0,X=W||{},Y=X.MutationObserver||X.WebKitMutationObserver,Z="undefined"!=typeof c&&"[object process]"==={}.toString.call(c),$="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,_=new Array(1e3);S=Z?i():Y?k():$?l():void 0===W&&"function"==typeof a?o():m();var aa=void 0,ba=1,ca=2,da=new D,ea=new D;H.prototype._validateInput=function(a){return T(a)},H.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},H.prototype._init=function(){this._result=new Array(this.length)};var fa=H;H.prototype._enumerate=function(){for(var a=this,b=a.length,c=a.promise,d=a._input,e=0;c._state===aa&&b>e;e++)a._eachEntry(d[e],e)},H.prototype._eachEntry=function(a,b){var c=this,d=c._instanceConstructor;g(a)?a.constructor===d&&a._state!==aa?(a._onerror=null,c._settledAt(a._state,b,a._result)):c._willSettleAt(d.resolve(a),b):(c._remaining--,c._result[b]=a)},H.prototype._settledAt=function(a,b,c){var d=this,e=d.promise;e._state===aa&&(d._remaining--,a===ca?A(e,c):d._result[b]=c),0===d._remaining&&z(e,d._result)},H.prototype._willSettleAt=function(a,b){var c=this;B(a,void 0,function(a){c._settledAt(ba,b,a)},function(a){c._settledAt(ca,b,a)})};var ga=I,ha=J,ia=K,ja=L,ka=0,la=O;O.all=ga,O.race=ha,O.resolve=ia,O.reject=ja,O.prototype={constructor:O,then:function(a,b){var c=this,d=c._state;if(d===ba&&!a||d===ca&&!b)return this;var e=new this.constructor(p),f=c._result;if(d){var g=arguments[d-1];V(function(){F(d,e,g,f)})}else B(c,e,a,b);return e},"catch":function(a){return this.then(null,a)}};var ma=P,na={Promise:la,polyfill:ma};"function"==typeof define&&define.amd?define(function(){return na}):"undefined"!=typeof b&&b.exports?b.exports=na:"undefined"!=typeof this&&(this.ES6Promise=na),ma()}).call(this)}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:13}],13:[function(a,b,c){function d(){k=!1,h.length?j=h.concat(j):l=-1,j.length&&e()}function e(){if(!k){var a=setTimeout(d);k=!0;for(var b=j.length;b;){for(h=j,j=[];++l<b;)h[l].run();l=-1,b=j.length}h=null,k=!1,clearTimeout(a)}}function f(a,b){this.fun=a,this.array=b}function g(){}var h,i=b.exports={},j=[],k=!1,l=-1;i.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];j.push(new f(a,b)),1!==j.length||k||setTimeout(e,0)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.binding=function(a){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(a){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}]},{},[1,2,3,4,5,6,7,8,9,10]);