plotly.js
Version:
The open source javascript graphing library that powers plotly
18 lines • 1.87 MB
JavaScript
/**
* plotly.js (mapbox - minified) v3.0.1
* Copyright 2012-2025, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
(
function(root, factory) {
if (typeof module === "object" && module.exports) {
module.exports = factory();
} else {
root.moduleName = factory();
}
} (typeof self !== "undefined" ? self : this, () => {
"use strict";var Plotly=(()=>{var d7=Object.defineProperty;var KX=Object.getOwnPropertyDescriptor;var QX=Object.getOwnPropertyNames;var $X=Object.prototype.hasOwnProperty;var p7=(e,t)=>()=>(e&&(t=e(e=0)),t);var de=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ej=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of QX(t))!$X.call(e,a)&&a!==r&&d7(e,a,{get:()=>t[a],enumerable:!(i=KX(t,a))||i.enumerable});return e};var tj=e=>ej(d7({},"__esModule",{value:!0}),e);var U1=de(m7=>{"use strict";m7.version="3.0.1"});var g7=de((y7,V1)=>{(function(t,r,i){r[t]=r[t]||i(),typeof V1!="undefined"&&V1.exports&&(V1.exports=r[t])})("Promise",typeof window!="undefined"?window:y7,function(){"use strict";var t,r,i,a=Object.prototype.toString,s=typeof setImmediate!="undefined"?function(q){return setImmediate(q)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(q,B,z,O){return Object.defineProperty(q,B,{value:z,writable:!0,configurable:O!==!1})}}catch(I){t=function(B,z,O){return B[z]=O,B}}i=function(){var q,B,z;function O(H,V){this.fn=H,this.self=V,this.next=void 0}return{add:function(V,W){z=new O(V,W),B?B.next=z:q=z,B=z,z=void 0},drain:function(){var V=q;for(q=B=r=void 0;V;)V.fn.call(V.self),V=V.next}}}();function l(I,q){i.add(I,q),r||(r=s(i.drain))}function f(I){var q,B=typeof I;return I!=null&&(B=="object"||B=="function")&&(q=I.then),typeof q=="function"?q:!1}function h(){for(var I=0;I<this.chain.length;I++)v(this,this.state===1?this.chain[I].success:this.chain[I].failure,this.chain[I]);this.chain.length=0}function v(I,q,B){var z,O;try{q===!1?B.reject(I.msg):(q===!0?z=I.msg:z=q.call(void 0,I.msg),z===B.promise?B.reject(TypeError("Promise-chain cycle")):(O=f(z))?O.call(z,B.resolve,B.reject):B.resolve(z))}catch(H){B.reject(H)}}function m(I){var q,B=this;if(!B.triggered){B.triggered=!0,B.def&&(B=B.def);try{(q=f(I))?l(function(){var z=new S(B);try{q.call(I,function(){m.apply(z,arguments)},function(){b.apply(z,arguments)})}catch(O){b.call(z,O)}}):(B.msg=I,B.state=1,B.chain.length>0&&l(h,B))}catch(z){b.call(new S(B),z)}}}function b(I){var q=this;q.triggered||(q.triggered=!0,q.def&&(q=q.def),q.msg=I,q.state=2,q.chain.length>0&&l(h,q))}function T(I,q,B,z){for(var O=0;O<q.length;O++)(function(V){I.resolve(q[V]).then(function(J){B(V,J)},z)})(O)}function S(I){this.def=I,this.triggered=!1}function C(I){this.promise=I,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function P(I){if(typeof I!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var q=new C(this);this.then=function(z,O){var H={success:typeof z=="function"?z:!0,failure:typeof O=="function"?O:!1};return H.promise=new this.constructor(function(W,J){if(typeof W!="function"||typeof J!="function")throw TypeError("Not a function");H.resolve=W,H.reject=J}),q.chain.push(H),q.state!==0&&l(h,q),H.promise},this.catch=function(z){return this.then(void 0,z)};try{I.call(void 0,function(z){m.call(q,z)},function(z){b.call(q,z)})}catch(B){b.call(q,B)}}var E=t({},"constructor",P,!1);return P.prototype=E,t(E,"__NPO__",0,!1),t(P,"resolve",function(q){var B=this;return q&&typeof q=="object"&&q.__NPO__===1?q:new B(function(O,H){if(typeof O!="function"||typeof H!="function")throw TypeError("Not a function");O(q)})}),t(P,"reject",function(q){return new this(function(z,O){if(typeof z!="function"||typeof O!="function")throw TypeError("Not a function");O(q)})}),t(P,"all",function(q){var B=this;return a.call(q)!="[object Array]"?B.reject(TypeError("Not an array")):q.length===0?B.resolve([]):new B(function(O,H){if(typeof O!="function"||typeof H!="function")throw TypeError("Not a function");var V=q.length,W=Array(V),J=0;T(B,q,function(oe,ne){W[oe]=ne,++J===V&&O(W)},H)})}),t(P,"race",function(q){var B=this;return a.call(q)!="[object Array]"?B.reject(TypeError("Not an array")):new B(function(O,H){if(typeof O!="function"||typeof H!="function")throw TypeError("Not a function");T(B,q,function(W,J){O(J)},H)})}),P})});var ja=de((bme,H1)=>{(function(){var e={version:"3.8.2"},t=[].slice,r=function(y){return t.call(y)},i=self.document;function a(y){return y&&(y.ownerDocument||y.document||y).documentElement}function s(y){return y&&(y.ownerDocument&&y.ownerDocument.defaultView||y.document&&y||y.defaultView)}if(i)try{r(i.documentElement.childNodes)[0].nodeType}catch(y){r=function(M){for(var D=M.length,N=new Array(D);D--;)N[D]=M[D];return N}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(y){var l=this.Element.prototype,f=l.setAttribute,h=l.setAttributeNS,v=this.CSSStyleDeclaration.prototype,m=v.setProperty;l.setAttribute=function(M,D){f.call(this,M,D+"")},l.setAttributeNS=function(M,D,N){h.call(this,M,D,N+"")},v.setProperty=function(M,D,N){m.call(this,M,D+"",N)}}e.ascending=b;function b(y,M){return y<M?-1:y>M?1:y>=M?0:NaN}e.descending=function(y,M){return M<y?-1:M>y?1:M>=y?0:NaN},e.min=function(y,M){var D=-1,N=y.length,U,Z;if(arguments.length===1){for(;++D<N;)if((Z=y[D])!=null&&Z>=Z){U=Z;break}for(;++D<N;)(Z=y[D])!=null&&U>Z&&(U=Z)}else{for(;++D<N;)if((Z=M.call(y,y[D],D))!=null&&Z>=Z){U=Z;break}for(;++D<N;)(Z=M.call(y,y[D],D))!=null&&U>Z&&(U=Z)}return U},e.max=function(y,M){var D=-1,N=y.length,U,Z;if(arguments.length===1){for(;++D<N;)if((Z=y[D])!=null&&Z>=Z){U=Z;break}for(;++D<N;)(Z=y[D])!=null&&Z>U&&(U=Z)}else{for(;++D<N;)if((Z=M.call(y,y[D],D))!=null&&Z>=Z){U=Z;break}for(;++D<N;)(Z=M.call(y,y[D],D))!=null&&Z>U&&(U=Z)}return U},e.extent=function(y,M){var D=-1,N=y.length,U,Z,$;if(arguments.length===1){for(;++D<N;)if((Z=y[D])!=null&&Z>=Z){U=$=Z;break}for(;++D<N;)(Z=y[D])!=null&&(U>Z&&(U=Z),$<Z&&($=Z))}else{for(;++D<N;)if((Z=M.call(y,y[D],D))!=null&&Z>=Z){U=$=Z;break}for(;++D<N;)(Z=M.call(y,y[D],D))!=null&&(U>Z&&(U=Z),$<Z&&($=Z))}return[U,$]};function T(y){return y===null?NaN:+y}function S(y){return!isNaN(y)}e.sum=function(y,M){var D=0,N=y.length,U,Z=-1;if(arguments.length===1)for(;++Z<N;)S(U=+y[Z])&&(D+=U);else for(;++Z<N;)S(U=+M.call(y,y[Z],Z))&&(D+=U);return D},e.mean=function(y,M){var D=0,N=y.length,U,Z=-1,$=N;if(arguments.length===1)for(;++Z<N;)S(U=T(y[Z]))?D+=U:--$;else for(;++Z<N;)S(U=T(M.call(y,y[Z],Z)))?D+=U:--$;if($)return D/$},e.quantile=function(y,M){var D=(y.length-1)*M+1,N=Math.floor(D),U=+y[N-1],Z=D-N;return Z?U+Z*(y[N]-U):U},e.median=function(y,M){var D=[],N=y.length,U,Z=-1;if(arguments.length===1)for(;++Z<N;)S(U=T(y[Z]))&&D.push(U);else for(;++Z<N;)S(U=T(M.call(y,y[Z],Z)))&&D.push(U);if(D.length)return e.quantile(D.sort(b),.5)},e.variance=function(y,M){var D=y.length,N=0,U,Z,$=0,X=-1,ae=0;if(arguments.length===1)for(;++X<D;)S(U=T(y[X]))&&(Z=U-N,N+=Z/++ae,$+=Z*(U-N));else for(;++X<D;)S(U=T(M.call(y,y[X],X)))&&(Z=U-N,N+=Z/++ae,$+=Z*(U-N));if(ae>1)return $/(ae-1)},e.deviation=function(){var y=e.variance.apply(this,arguments);return y&&Math.sqrt(y)};function C(y){return{left:function(M,D,N,U){for(arguments.length<3&&(N=0),arguments.length<4&&(U=M.length);N<U;){var Z=N+U>>>1;y(M[Z],D)<0?N=Z+1:U=Z}return N},right:function(M,D,N,U){for(arguments.length<3&&(N=0),arguments.length<4&&(U=M.length);N<U;){var Z=N+U>>>1;y(M[Z],D)>0?U=Z:N=Z+1}return N}}}var P=C(b);e.bisectLeft=P.left,e.bisect=e.bisectRight=P.right,e.bisector=function(y){return C(y.length===1?function(M,D){return b(y(M),D)}:y)},e.shuffle=function(y,M,D){(N=arguments.length)<3&&(D=y.length,N<2&&(M=0));for(var N=D-M,U,Z;N;)Z=Math.random()*N--|0,U=y[N+M],y[N+M]=y[Z+M],y[Z+M]=U;return y},e.permute=function(y,M){for(var D=M.length,N=new Array(D);D--;)N[D]=y[M[D]];return N},e.pairs=function(y){for(var M=0,D=y.length-1,N,U=y[0],Z=new Array(D<0?0:D);M<D;)Z[M]=[N=U,U=y[++M]];return Z},e.transpose=function(y){if(!(Z=y.length))return[];for(var M=-1,D=e.min(y,E),N=new Array(D);++M<D;)for(var U=-1,Z,$=N[M]=new Array(Z);++U<Z;)$[U]=y[U][M];return N};function E(y){return y.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(y){var M=[];for(var D in y)M.push(D);return M},e.values=function(y){var M=[];for(var D in y)M.push(y[D]);return M},e.entries=function(y){var M=[];for(var D in y)M.push({key:D,value:y[D]});return M},e.merge=function(y){for(var M=y.length,D,N=-1,U=0,Z,$;++N<M;)U+=y[N].length;for(Z=new Array(U);--M>=0;)for($=y[M],D=$.length;--D>=0;)Z[--U]=$[D];return Z};var I=Math.abs;e.range=function(y,M,D){if(arguments.length<3&&(D=1,arguments.length<2&&(M=y,y=0)),(M-y)/D===1/0)throw new Error("infinite range");var N=[],U=q(I(D)),Z=-1,$;if(y*=U,M*=U,D*=U,D<0)for(;($=y+D*++Z)>M;)N.push($/U);else for(;($=y+D*++Z)<M;)N.push($/U);return N};function q(y){for(var M=1;y*M%1;)M*=10;return M}function B(y,M){for(var D in M)Object.defineProperty(y.prototype,D,{value:M[D],enumerable:!1})}e.map=function(y,M){var D=new z;if(y instanceof z)y.forEach(function(X,ae){D.set(X,ae)});else if(Array.isArray(y)){var N=-1,U=y.length,Z;if(arguments.length===1)for(;++N<U;)D.set(N,y[N]);else for(;++N<U;)D.set(M.call(y,Z=y[N],N),Z)}else for(var $ in y)D.set($,y[$]);return D};function z(){this._=Object.create(null)}var O="__proto__",H="\0";B(z,{has:J,get:function(y){return this._[V(y)]},set:function(y,M){return this._[V(y)]=M},remove:re,keys:oe,values:function(){var y=[];for(var M in this._)y.push(this._[M]);return y},entries:function(){var y=[];for(var M in this._)y.push({key:W(M),value:this._[M]});return y},size:ne,empty:fe,forEach:function(y){for(var M in this._)y.call(this,W(M),this._[M])}});function V(y){return(y+="")===O||y[0]===H?H+y:y}function W(y){return(y+="")[0]===H?y.slice(1):y}function J(y){return V(y)in this._}function re(y){return(y=V(y))in this._&&delete this._[y]}function oe(){var y=[];for(var M in this._)y.push(W(M));return y}function ne(){var y=0;for(var M in this._)++y;return y}function fe(){for(var y in this._)return!1;return!0}e.nest=function(){var y={},M=[],D=[],N,U;function Z(X,ae,me){if(me>=M.length)return U?U.call(y,ae):N?ae.sort(N):ae;for(var _e=-1,De=ae.length,Pe=M[me++],Je,ot,ze,Ue=new z,je;++_e<De;)(je=Ue.get(Je=Pe(ot=ae[_e])))?je.push(ot):Ue.set(Je,[ot]);return X?(ot=X(),ze=function(ut,nt){ot.set(ut,Z(X,nt,me))}):(ot={},ze=function(ut,nt){ot[ut]=Z(X,nt,me)}),Ue.forEach(ze),ot}function $(X,ae){if(ae>=M.length)return X;var me=[],_e=D[ae++];return X.forEach(function(De,Pe){me.push({key:De,values:$(Pe,ae)})}),_e?me.sort(function(De,Pe){return _e(De.key,Pe.key)}):me}return y.map=function(X,ae){return Z(ae,X,0)},y.entries=function(X){return $(Z(e.map,X,0),0)},y.key=function(X){return M.push(X),y},y.sortKeys=function(X){return D[M.length-1]=X,y},y.sortValues=function(X){return N=X,y},y.rollup=function(X){return U=X,y},y},e.set=function(y){var M=new ve;if(y)for(var D=0,N=y.length;D<N;++D)M.add(y[D]);return M};function ve(){this._=Object.create(null)}B(ve,{has:J,add:function(y){return this._[V(y+="")]=!0,y},remove:re,values:oe,size:ne,empty:fe,forEach:function(y){for(var M in this._)y.call(this,W(M))}}),e.behavior={};function Ce(y){return y}e.rebind=function(y,M){for(var D=1,N=arguments.length,U;++D<N;)y[U=arguments[D]]=Se(y,M,M[U]);return y};function Se(y,M,D){return function(){var N=D.apply(M,arguments);return N===M?y:N}}function Te(y,M){if(M in y)return M;M=M.charAt(0).toUpperCase()+M.slice(1);for(var D=0,N=pe.length;D<N;++D){var U=pe[D]+M;if(U in y)return U}}var pe=["webkit","ms","moz","Moz","o","O"];function Ae(){}e.dispatch=function(){for(var y=new Me,M=-1,D=arguments.length;++M<D;)y[arguments[M]]=Le(y);return y};function Me(){}Me.prototype.on=function(y,M){var D=y.indexOf("."),N="";if(D>=0&&(N=y.slice(D+1),y=y.slice(0,D)),y)return arguments.length<2?this[y].on(N):this[y].on(N,M);if(arguments.length===2){if(M==null)for(y in this)this.hasOwnProperty(y)&&this[y].on(N,null);return this}};function Le(y){var M=[],D=new z;function N(){for(var U=M,Z=-1,$=U.length,X;++Z<$;)(X=U[Z].on)&&X.apply(this,arguments);return y}return N.on=function(U,Z){var $=D.get(U),X;return arguments.length<2?$&&$.on:($&&($.on=null,M=M.slice(0,X=M.indexOf($)).concat(M.slice(X+1)),D.remove(U)),Z&&M.push(D.set(U,{on:Z})),y)},N}e.event=null;function Ke(){e.event.preventDefault()}function ht(){for(var y=e.event,M;M=y.sourceEvent;)y=M;return y}function it(y){for(var M=new Me,D=0,N=arguments.length;++D<N;)M[arguments[D]]=Le(M);return M.of=function(U,Z){return function($){try{var X=$.sourceEvent=e.event;$.target=y,e.event=$,M[$.type].apply(U,Z)}finally{e.event=X}}},M}e.requote=function(y){return y.replace(lt,"\\$&")};var lt=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,He={}.__proto__?function(y,M){y.__proto__=M}:function(y,M){for(var D in M)y[D]=M[D]};function _t(y){return He(y,pt),y}var at=function(y,M){return M.querySelector(y)},At=function(y,M){return M.querySelectorAll(y)},kt=function(y,M){var D=y.matches||y[Te(y,"matchesSelector")];return kt=function(N,U){return D.call(N,U)},kt(y,M)};typeof Sizzle=="function"&&(at=function(y,M){return Sizzle(y,M)[0]||null},At=Sizzle,kt=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var pt=e.selection.prototype=[];pt.select=function(y){var M=[],D,N,U,Z;y=ge(y);for(var $=-1,X=this.length;++$<X;){M.push(D=[]),D.parentNode=(U=this[$]).parentNode;for(var ae=-1,me=U.length;++ae<me;)(Z=U[ae])?(D.push(N=y.call(Z,Z.__data__,ae,$)),N&&"__data__"in Z&&(N.__data__=Z.__data__)):D.push(null)}return _t(M)};function ge(y){return typeof y=="function"?y:function(){return at(y,this)}}pt.selectAll=function(y){var M=[],D,N;y=Re(y);for(var U=-1,Z=this.length;++U<Z;)for(var $=this[U],X=-1,ae=$.length;++X<ae;)(N=$[X])&&(M.push(D=r(y.call(N,N.__data__,X,U))),D.parentNode=N);return _t(M)};function Re(y){return typeof y=="function"?y:function(){return At(y,this)}}var xe="http://www.w3.org/1999/xhtml",$e={svg:"http://www.w3.org/2000/svg",xhtml:xe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:$e,qualify:function(y){var M=y.indexOf(":"),D=y;return M>=0&&(D=y.slice(0,M))!=="xmlns"&&(y=y.slice(M+1)),$e.hasOwnProperty(D)?{space:$e[D],local:y}:y}},pt.attr=function(y,M){if(arguments.length<2){if(typeof y=="string"){var D=this.node();return y=e.ns.qualify(y),y.local?D.getAttributeNS(y.space,y.local):D.getAttribute(y)}for(M in y)this.each(vt(M,y[M]));return this}return this.each(vt(y,M))};function vt(y,M){y=e.ns.qualify(y);function D(){this.removeAttribute(y)}function N(){this.removeAttributeNS(y.space,y.local)}function U(){this.setAttribute(y,M)}function Z(){this.setAttributeNS(y.space,y.local,M)}function $(){var ae=M.apply(this,arguments);ae==null?this.removeAttribute(y):this.setAttribute(y,ae)}function X(){var ae=M.apply(this,arguments);ae==null?this.removeAttributeNS(y.space,y.local):this.setAttributeNS(y.space,y.local,ae)}return M==null?y.local?N:D:typeof M=="function"?y.local?X:$:y.local?Z:U}function et(y){return y.trim().replace(/\s+/g," ")}pt.classed=function(y,M){if(arguments.length<2){if(typeof y=="string"){var D=this.node(),N=(y=Mt(y)).length,U=-1;if(M=D.classList){for(;++U<N;)if(!M.contains(y[U]))return!1}else for(M=D.getAttribute("class");++U<N;)if(!Nt(y[U]).test(M))return!1;return!0}for(M in y)this.each(Ct(M,y[M]));return this}return this.each(Ct(y,M))};function Nt(y){return new RegExp("(?:^|\\s+)"+e.requote(y)+"(?:\\s+|$)","g")}function Mt(y){return(y+"").trim().split(/^|\s+/)}function Ct(y,M){y=Mt(y).map(Rt);var D=y.length;function N(){for(var Z=-1;++Z<D;)y[Z](this,M)}function U(){for(var Z=-1,$=M.apply(this,arguments);++Z<D;)y[Z](this,$)}return typeof M=="function"?U:N}function Rt(y){var M=Nt(y);return function(D,N){if(U=D.classList)return N?U.add(y):U.remove(y);var U=D.getAttribute("class")||"";N?(M.lastIndex=0,M.test(U)||D.setAttribute("class",et(U+" "+y))):D.setAttribute("class",et(U.replace(M," ")))}}pt.style=function(y,M,D){var N=arguments.length;if(N<3){if(typeof y!="string"){N<2&&(M="");for(D in y)this.each(Ut(D,y[D],M));return this}if(N<2){var U=this.node();return s(U).getComputedStyle(U,null).getPropertyValue(y)}D=""}return this.each(Ut(y,M,D))};function Ut(y,M,D){function N(){this.style.removeProperty(y)}function U(){this.style.setProperty(y,M,D)}function Z(){var $=M.apply(this,arguments);$==null?this.style.removeProperty(y):this.style.setProperty(y,$,D)}return M==null?N:typeof M=="function"?Z:U}pt.property=function(y,M){if(arguments.length<2){if(typeof y=="string")return this.node()[y];for(M in y)this.each(xt(M,y[M]));return this}return this.each(xt(y,M))};function xt(y,M){function D(){delete this[y]}function N(){this[y]=M}function U(){var Z=M.apply(this,arguments);Z==null?delete this[y]:this[y]=Z}return M==null?D:typeof M=="function"?U:N}pt.text=function(y){return arguments.length?this.each(typeof y=="function"?function(){var M=y.apply(this,arguments);this.textContent=M==null?"":M}:y==null?function(){this.textContent=""}:function(){this.textContent=y}):this.node().textContent},pt.html=function(y){return arguments.length?this.each(typeof y=="function"?function(){var M=y.apply(this,arguments);this.innerHTML=M==null?"":M}:y==null?function(){this.innerHTML=""}:function(){this.innerHTML=y}):this.node().innerHTML},pt.append=function(y){return y=Et(y),this.select(function(){return this.appendChild(y.apply(this,arguments))})};function Et(y){function M(){var N=this.ownerDocument,U=this.namespaceURI;return U===xe&&N.documentElement.namespaceURI===xe?N.createElement(y):N.createElementNS(U,y)}function D(){return this.ownerDocument.createElementNS(y.space,y.local)}return typeof y=="function"?y:(y=e.ns.qualify(y)).local?D:M}pt.insert=function(y,M){return y=Et(y),M=ge(M),this.select(function(){return this.insertBefore(y.apply(this,arguments),M.apply(this,arguments)||null)})},pt.remove=function(){return this.each(ir)};function ir(){var y=this.parentNode;y&&y.removeChild(this)}pt.data=function(y,M){var D=-1,N=this.length,U,Z;if(!arguments.length){for(y=new Array(N=(U=this[0]).length);++D<N;)(Z=U[D])&&(y[D]=Z.__data__);return y}function $(_e,De){var Pe,Je=_e.length,ot=De.length,ze=Math.min(Je,ot),Ue=new Array(ot),je=new Array(ot),ut=new Array(Je),nt,We;if(M){var Gt=new z,or=new Array(Je),fr;for(Pe=-1;++Pe<Je;)(nt=_e[Pe])&&(Gt.has(fr=M.call(nt,nt.__data__,Pe))?ut[Pe]=nt:Gt.set(fr,nt),or[Pe]=fr);for(Pe=-1;++Pe<ot;)(nt=Gt.get(fr=M.call(De,We=De[Pe],Pe)))?nt!==!0&&(Ue[Pe]=nt,nt.__data__=We):je[Pe]=Wt(We),Gt.set(fr,!0);for(Pe=-1;++Pe<Je;)Pe in or&&Gt.get(or[Pe])!==!0&&(ut[Pe]=_e[Pe])}else{for(Pe=-1;++Pe<ze;)nt=_e[Pe],We=De[Pe],nt?(nt.__data__=We,Ue[Pe]=nt):je[Pe]=Wt(We);for(;Pe<ot;++Pe)je[Pe]=Wt(De[Pe]);for(;Pe<Je;++Pe)ut[Pe]=_e[Pe]}je.update=Ue,je.parentNode=Ue.parentNode=ut.parentNode=_e.parentNode,X.push(je),ae.push(Ue),me.push(ut)}var X=Ar([]),ae=_t([]),me=_t([]);if(typeof y=="function")for(;++D<N;)$(U=this[D],y.call(U,U.parentNode.__data__,D));else for(;++D<N;)$(U=this[D],y);return ae.enter=function(){return X},ae.exit=function(){return me},ae};function Wt(y){return{__data__:y}}pt.datum=function(y){return arguments.length?this.property("__data__",y):this.property("__data__")},pt.filter=function(y){var M=[],D,N,U;typeof y!="function"&&(y=Be(y));for(var Z=0,$=this.length;Z<$;Z++){M.push(D=[]),D.parentNode=(N=this[Z]).parentNode;for(var X=0,ae=N.length;X<ae;X++)(U=N[X])&&y.call(U,U.__data__,X,Z)&&D.push(U)}return _t(M)};function Be(y){return function(){return kt(this,y)}}pt.order=function(){for(var y=-1,M=this.length;++y<M;)for(var D=this[y],N=D.length-1,U=D[N],Z;--N>=0;)(Z=D[N])&&(U&&U!==Z.nextSibling&&U.parentNode.insertBefore(Z,U),U=Z);return this},pt.sort=function(y){y=ft.apply(this,arguments);for(var M=-1,D=this.length;++M<D;)this[M].sort(y);return this.order()};function ft(y){return arguments.length||(y=b),function(M,D){return M&&D?y(M.__data__,D.__data__):!M-!D}}pt.each=function(y){return mt(this,function(M,D,N){y.call(M,M.__data__,D,N)})};function mt(y,M){for(var D=0,N=y.length;D<N;D++)for(var U=y[D],Z=0,$=U.length,X;Z<$;Z++)(X=U[Z])&&M(X,Z,D);return y}pt.call=function(y){var M=r(arguments);return y.apply(M[0]=this,M),this},pt.empty=function(){return!this.node()},pt.node=function(){for(var y=0,M=this.length;y<M;y++)for(var D=this[y],N=0,U=D.length;N<U;N++){var Z=D[N];if(Z)return Z}return null},pt.size=function(){var y=0;return mt(this,function(){++y}),y};function Ar(y){return He(y,dr),y}var dr=[];e.selection.enter=Ar,e.selection.enter.prototype=dr,dr.append=pt.append,dr.empty=pt.empty,dr.node=pt.node,dr.call=pt.call,dr.size=pt.size,dr.select=function(y){for(var M=[],D,N,U,Z,$,X=-1,ae=this.length;++X<ae;){U=(Z=this[X]).update,M.push(D=[]),D.parentNode=Z.parentNode;for(var me=-1,_e=Z.length;++me<_e;)($=Z[me])?(D.push(U[me]=N=y.call(Z.parentNode,$.__data__,me,X)),N.__data__=$.__data__):D.push(null)}return _t(M)},dr.insert=function(y,M){return arguments.length<2&&(M=Tt(this)),pt.insert.call(this,y,M)};function Tt(y){var M,D;return function(N,U,Z){var $=y[Z].update,X=$.length,ae;for(Z!=D&&(D=Z,M=0),U>=M&&(M=U+1);!(ae=$[M])&&++M<X;);return ae}}e.select=function(y){var M;return typeof y=="string"?(M=[at(y,i)],M.parentNode=i.documentElement):(M=[y],M.parentNode=a(y)),_t([M])},e.selectAll=function(y){var M;return typeof y=="string"?(M=r(At(y,i)),M.parentNode=i.documentElement):(M=r(y),M.parentNode=null),_t([M])},pt.on=function(y,M,D){var N=arguments.length;if(N<3){if(typeof y!="string"){N<2&&(M=!1);for(D in y)this.each(wt(D,y[D],M));return this}if(N<2)return(N=this.node()["__on"+y])&&N._;D=!1}return this.each(wt(y,M,D))};function wt(y,M,D){var N="__on"+y,U=y.indexOf("."),Z=Kt;U>0&&(y=y.slice(0,U));var $=Vt.get(y);$&&(y=$,Z=Ht);function X(){var _e=this[N];_e&&(this.removeEventListener(y,_e,_e.$),delete this[N])}function ae(){var _e=Z(M,r(arguments));X.call(this),this.addEventListener(y,this[N]=_e,_e.$=D),_e._=M}function me(){var _e=new RegExp("^__on([^.]+)"+e.requote(y)+"$"),De;for(var Pe in this)if(De=Pe.match(_e)){var Je=this[Pe];this.removeEventListener(De[1],Je,Je.$),delete this[Pe]}}return U?M?ae:X:M?Ae:me}var Vt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});i&&Vt.forEach(function(y){"on"+y in i&&Vt.remove(y)});function Kt(y,M){return function(D){var N=e.event;e.event=D,M[0]=this.__data__;try{y.apply(this,M)}finally{e.event=N}}}function Ht(y,M){var D=Kt(y,M);return function(N){var U=this,Z=N.relatedTarget;(!Z||Z!==U&&!(Z.compareDocumentPosition(U)&8))&&D.call(U,N)}}var Ot,er=0;function Mr(y){var M=".dragsuppress-"+ ++er,D="click"+M,N=e.select(s(y)).on("touchmove"+M,Ke).on("dragstart"+M,Ke).on("selectstart"+M,Ke);if(Ot==null&&(Ot="onselectstart"in y?!1:Te(y.style,"userSelect")),Ot){var U=a(y).style,Z=U[Ot];U[Ot]="none"}return function($){if(N.on(M,null),Ot&&(U[Ot]=Z),$){var X=function(){N.on(D,null)};N.on(D,function(){Ke(),X()},!0),setTimeout(X,0)}}}e.mouse=function(y){return Pt(y,ht())};var xr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Pt(y,M){M.changedTouches&&(M=M.changedTouches[0]);var D=y.ownerSVGElement||y;if(D.createSVGPoint){var N=D.createSVGPoint();if(xr<0){var U=s(y);if(U.scrollX||U.scrollY){D=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Z=D[0][0].getScreenCTM();xr=!(Z.f||Z.e),D.remove()}}return xr?(N.x=M.pageX,N.y=M.pageY):(N.x=M.clientX,N.y=M.clientY),N=N.matrixTransform(y.getScreenCTM().inverse()),[N.x,N.y]}var $=y.getBoundingClientRect();return[M.clientX-$.left-y.clientLeft,M.clientY-$.top-y.clientTop]}e.touch=function(y,M,D){if(arguments.length<3&&(D=M,M=ht().changedTouches),M){for(var N=0,U=M.length,Z;N<U;++N)if((Z=M[N]).identifier===D)return Pt(y,Z)}},e.behavior.drag=function(){var y=it(U,"drag","dragstart","dragend"),M=null,D=Z(Ae,e.mouse,s,"mousemove","mouseup"),N=Z(Fe,e.touch,Ce,"touchmove","touchend");function U(){this.on("mousedown.drag",D).on("touchstart.drag",N)}function Z($,X,ae,me,_e){return function(){var De=this,Pe=e.event.target.correspondingElement||e.event.target,Je=De.parentNode,ot=y.of(De,arguments),ze=0,Ue=$(),je=".drag"+(Ue==null?"":"-"+Ue),ut,nt=e.select(ae(Pe)).on(me+je,or).on(_e+je,fr),We=Mr(Pe),Gt=X(Je,Ue);M?(ut=M.apply(De,arguments),ut=[ut.x-Gt[0],ut.y-Gt[1]]):ut=[0,0],ot({type:"dragstart"});function or(){var lr=X(Je,Ue),Dr,Ir;lr&&(Dr=lr[0]-Gt[0],Ir=lr[1]-Gt[1],ze|=Dr|Ir,Gt=lr,ot({type:"drag",x:lr[0]+ut[0],y:lr[1]+ut[1],dx:Dr,dy:Ir}))}function fr(){X(Je,Ue)&&(nt.on(me+je,null).on(_e+je,null),We(ze),ot({type:"dragend"}))}}}return U.origin=function($){return arguments.length?(M=$,U):M},e.rebind(U,y,"on")};function Fe(){return e.event.changedTouches[0].identifier}e.touches=function(y,M){return arguments.length<2&&(M=ht().touches),M?r(M).map(function(D){var N=Pt(y,D);return N.identifier=D.identifier,N}):[]};var Ge=1e-6,bt=Ge*Ge,dt=Math.PI,gr=2*dt,Er=gr-Ge,Tr=dt/2,Hr=dt/180,_a=180/dt;function ka(y){return y>0?1:y<0?-1:0}function Ea(y,M,D){return(M[0]-y[0])*(D[1]-y[1])-(M[1]-y[1])*(D[0]-y[0])}function Ii(y){return y>1?0:y<-1?dt:Math.acos(y)}function Ki(y){return y>1?Tr:y<-1?-Tr:Math.asin(y)}function yn(y){return((y=Math.exp(y))-1/y)/2}function Xi(y){return((y=Math.exp(y))+1/y)/2}function jn(y){return((y=Math.exp(2*y))-1)/(y+1)}function En(y){return(y=Math.sin(y/2))*y}var Vi=Math.SQRT2,pa=2,Gr=4;e.interpolateZoom=function(y,M){var D=y[0],N=y[1],U=y[2],Z=M[0],$=M[1],X=M[2],ae=Z-D,me=$-N,_e=ae*ae+me*me,De,Pe;if(_e<bt)Pe=Math.log(X/U)/Vi,De=function(ut){return[D+ut*ae,N+ut*me,U*Math.exp(Vi*ut*Pe)]};else{var Je=Math.sqrt(_e),ot=(X*X-U*U+Gr*_e)/(2*U*pa*Je),ze=(X*X-U*U-Gr*_e)/(2*X*pa*Je),Ue=Math.log(Math.sqrt(ot*ot+1)-ot),je=Math.log(Math.sqrt(ze*ze+1)-ze);Pe=(je-Ue)/Vi,De=function(ut){var nt=ut*Pe,We=Xi(Ue),Gt=U/(pa*Je)*(We*jn(Vi*nt+Ue)-yn(Ue));return[D+Gt*ae,N+Gt*me,U*We/Xi(Vi*nt+Ue)]}}return De.duration=Pe*1e3,De},e.behavior.zoom=function(){var y={x:0,y:0,k:1},M,D,N,U=[960,500],Z=Qa,$=250,X=0,ae="mousedown.zoom",me="mousemove.zoom",_e="mouseup.zoom",De,Pe="touchstart.zoom",Je,ot=it(nt,"zoomstart","zoom","zoomend"),ze,Ue,je,ut;vi||(vi="onwheel"in i?(Zr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(Zr=function(){return e.event.wheelDelta},"mousewheel"):(Zr=function(){return-e.event.detail},"MozMousePixelScroll"));function nt(jt){jt.on(ae,Kr).on(vi+".zoom",ri).on("dblclick.zoom",$a).on(Pe,Ba)}nt.event=function(jt){jt.each(function(){var Jr=ot.of(this,arguments),oa=y;so?e.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},Ir(Jr)}).tween("zoom:zoom",function(){var sa=U[0],Ei=U[1],Oi=D?D[0]:sa/2,$i=D?D[1]:Ei/2,xi=e.interpolateZoom([(Oi-y.x)/y.k,($i-y.y)/y.k,sa/y.k],[(Oi-oa.x)/oa.k,($i-oa.y)/oa.k,sa/oa.k]);return function(xn){var br=xi(xn),Vr=sa/br[2];this.__chart__=y={x:Oi-br[0]*Vr,y:$i-br[1]*Vr,k:Vr},ea(Jr)}}).each("interrupt.zoom",function(){Ur(Jr)}).each("end.zoom",function(){Ur(Jr)}):(this.__chart__=y,Ir(Jr),ea(Jr),Ur(Jr))})},nt.translate=function(jt){return arguments.length?(y={x:+jt[0],y:+jt[1],k:y.k},Dr(),nt):[y.x,y.y]},nt.scale=function(jt){return arguments.length?(y={x:y.x,y:y.y,k:null},or(+jt),Dr(),nt):y.k},nt.scaleExtent=function(jt){return arguments.length?(Z=jt==null?Qa:[+jt[0],+jt[1]],nt):Z},nt.center=function(jt){return arguments.length?(N=jt&&[+jt[0],+jt[1]],nt):N},nt.size=function(jt){return arguments.length?(U=jt&&[+jt[0],+jt[1]],nt):U},nt.duration=function(jt){return arguments.length?($=+jt,nt):$},nt.x=function(jt){return arguments.length?(Ue=jt,ze=jt.copy(),y={x:0,y:0,k:1},nt):Ue},nt.y=function(jt){return arguments.length?(ut=jt,je=jt.copy(),y={x:0,y:0,k:1},nt):ut};function We(jt){return[(jt[0]-y.x)/y.k,(jt[1]-y.y)/y.k]}function Gt(jt){return[jt[0]*y.k+y.x,jt[1]*y.k+y.y]}function or(jt){y.k=Math.max(Z[0],Math.min(Z[1],jt))}function fr(jt,Jr){Jr=Gt(Jr),y.x+=jt[0]-Jr[0],y.y+=jt[1]-Jr[1]}function lr(jt,Jr,oa,sa){jt.__chart__={x:y.x,y:y.y,k:y.k},or(Math.pow(2,sa)),fr(D=Jr,oa),jt=e.select(jt),$>0&&(jt=jt.transition().duration($)),jt.call(nt.event)}function Dr(){Ue&&Ue.domain(ze.range().map(function(jt){return(jt-y.x)/y.k}).map(ze.invert)),ut&&ut.domain(je.range().map(function(jt){return(jt-y.y)/y.k}).map(je.invert))}function Ir(jt){X++||jt({type:"zoomstart"})}function ea(jt){Dr(),jt({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function Ur(jt){--X||(jt({type:"zoomend"}),D=null)}function Kr(){var jt=this,Jr=ot.of(jt,arguments),oa=0,sa=e.select(s(jt)).on(me,$i).on(_e,xi),Ei=We(e.mouse(jt)),Oi=Mr(jt);ah.call(jt),Ir(Jr);function $i(){oa=1,fr(e.mouse(jt),Ei),ea(Jr)}function xi(){sa.on(me,null).on(_e,null),Oi(oa),Ur(Jr)}}function Ba(){var jt=this,Jr=ot.of(jt,arguments),oa={},sa=0,Ei,Oi=".zoom-"+e.event.changedTouches[0].identifier,$i="touchmove"+Oi,xi="touchend"+Oi,xn=[],br=e.select(jt),Vr=Mr(jt);Ti(),Ir(Jr),br.on(ae,null).on(Pe,Ti);function Fi(){var cn=e.touches(jt);return Ei=y.k,cn.forEach(function(pi){pi.identifier in oa&&(oa[pi.identifier]=We(pi))}),cn}function Ti(){var cn=e.event.target;e.select(cn).on($i,lo).on(xi,zn),xn.push(cn);for(var pi=e.event.changedTouches,jo=0,uo=pi.length;jo<uo;++jo)oa[pi[jo].identifier]=null;var ci=Fi(),gf=Date.now();if(ci.length===1){if(gf-Je<500){var Aa=ci[0];lr(jt,Aa,oa[Aa.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),Ke()}Je=gf}else if(ci.length>1){var Aa=ci[0],ui=ci[1],Nl=Aa[0]-ui[0],Hv=Aa[1]-ui[1];sa=Nl*Nl+Hv*Hv}}function lo(){var cn=e.touches(jt),pi,jo,uo,ci;ah.call(jt);for(var gf=0,Aa=cn.length;gf<Aa;++gf,ci=null)if(uo=cn[gf],ci=oa[uo.identifier]){if(jo)break;pi=uo,jo=ci}if(ci){var ui=(ui=uo[0]-pi[0])*ui+(ui=uo[1]-pi[1])*ui,Nl=sa&&Math.sqrt(ui/sa);pi=[(pi[0]+uo[0])/2,(pi[1]+uo[1])/2],jo=[(jo[0]+ci[0])/2,(jo[1]+ci[1])/2],or(Nl*Ei)}Je=null,fr(pi,jo),ea(Jr)}function zn(){if(e.event.touches.length){for(var cn=e.event.changedTouches,pi=0,jo=cn.length;pi<jo;++pi)delete oa[cn[pi].identifier];for(var uo in oa)return void Fi()}e.selectAll(xn).on(Oi,null),br.on(ae,Kr).on(Pe,Ba),Vr(),Ur(Jr)}}function ri(){var jt=ot.of(this,arguments);De?clearTimeout(De):(ah.call(this),M=We(D=N||e.mouse(this)),Ir(jt)),De=setTimeout(function(){De=null,Ur(jt)},50),Ke(),or(Math.pow(2,Zr()*.002)*y.k),fr(D,M),ea(jt)}function $a(){var jt=e.mouse(this),Jr=Math.log(y.k)/Math.LN2;lr(this,jt,We(jt),e.event.shiftKey?Math.ceil(Jr)-1:Math.floor(Jr)+1)}return e.rebind(nt,ot,"on")};var Qa=[0,1/0],Zr,vi;e.color=ya;function ya(){}ya.prototype.toString=function(){return this.rgb()+""},e.hsl=le;function le(y,M,D){return this instanceof le?(this.h=+y,this.s=+M,void(this.l=+D)):arguments.length<2?y instanceof le?new le(y.h,y.s,y.l):$r(""+y,ga,le):new le(y,M,D)}var ee=le.prototype=new ya;ee.brighter=function(y){return y=Math.pow(.7,arguments.length?y:1),new le(this.h,this.s,this.l/y)},ee.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new le(this.h,this.s,y*this.l)},ee.rgb=function(){return se(this.h,this.s,this.l)};function se(y,M,D){var N,U;y=isNaN(y)?0:(y%=360)<0?y+360:y,M=isNaN(M)||M<0?0:M>1?1:M,D=D<0?0:D>1?1:D,U=D<=.5?D*(1+M):D+M-D*M,N=2*D-U;function Z(X){return X>360?X-=360:X<0&&(X+=360),X<60?N+(U-N)*X/60:X<180?U:X<240?N+(U-N)*(240-X)/60:N}function $(X){return Math.round(Z(X)*255)}return new ua($(y+120),$(y),$(y-120))}e.hcl=ce;function ce(y,M,D){return this instanceof ce?(this.h=+y,this.c=+M,void(this.l=+D)):arguments.length<2?y instanceof ce?new ce(y.h,y.c,y.l):y instanceof tt?wr(y.l,y.a,y.b):wr((y=nr((y=e.rgb(y)).r,y.g,y.b)).l,y.a,y.b):new ce(y,M,D)}var Ee=ce.prototype=new ya;Ee.brighter=function(y){return new ce(this.h,this.c,Math.min(100,this.l+Ve*(arguments.length?y:1)))},Ee.darker=function(y){return new ce(this.h,this.c,Math.max(0,this.l-Ve*(arguments.length?y:1)))},Ee.rgb=function(){return Ne(this.h,this.c,this.l).rgb()};function Ne(y,M,D){return isNaN(y)&&(y=0),isNaN(M)&&(M=0),new tt(D,Math.cos(y*=Hr)*M,Math.sin(y)*M)}e.lab=tt;function tt(y,M,D){return this instanceof tt?(this.l=+y,this.a=+M,void(this.b=+D)):arguments.length<2?y instanceof tt?new tt(y.l,y.a,y.b):y instanceof ce?Ne(y.h,y.c,y.l):nr((y=ua(y)).r,y.g,y.b):new tt(y,M,D)}var Ve=18,yt=.95047,Dt=1,Ft=1.08883,tr=tt.prototype=new ya;tr.brighter=function(y){return new tt(Math.min(100,this.l+Ve*(arguments.length?y:1)),this.a,this.b)},tr.darker=function(y){return new tt(Math.max(0,this.l-Ve*(arguments.length?y:1)),this.a,this.b)},tr.rgb=function(){return Yt(this.l,this.a,this.b)};function Yt(y,M,D){var N=(y+16)/116,U=N+M/500,Z=N-D/200;return U=Yr(U)*yt,N=Yr(N)*Dt,Z=Yr(Z)*Ft,new ua(ca(3.2404542*U-1.5371385*N-.4985314*Z),ca(-.969266*U+1.8760108*N+.041556*Z),ca(.0556434*U-.2040259*N+1.0572252*Z))}function wr(y,M,D){return y>0?new ce(Math.atan2(D,M)*_a,Math.sqrt(M*M+D*D),y):new ce(NaN,NaN,y)}function Yr(y){return y>.206893034?y*y*y:(y-4/29)/7.787037}function Br(y){return y>.008856?Math.pow(y,1/3):7.787037*y+4/29}function ca(y){return Math.round(255*(y<=.00304?12.92*y:1.055*Math.pow(y,1/2.4)-.055))}e.rgb=ua;function ua(y,M,D){return this instanceof ua?(this.r=~~y,this.g=~~M,void(this.b=~~D)):arguments.length<2?y instanceof ua?new ua(y.r,y.g,y.b):$r(""+y,ua,se):new ua(y,M,D)}function Na(y){return new ua(y>>16,y>>8&255,y&255)}function ii(y){return Na(y)+""}var Wr=ua.prototype=new ya;Wr.brighter=function(y){y=Math.pow(.7,arguments.length?y:1);var M=this.r,D=this.g,N=this.b,U=30;return!M&&!D&&!N?new ua(U,U,U):(M&&M<U&&(M=U),D&&D<U&&(D=U),N&&N<U&&(N=U),new ua(Math.min(255,M/y),Math.min(255,D/y),Math.min(255,N/y)))},Wr.darker=function(y){return y=Math.pow(.7,arguments.length?y:1),new ua(y*this.r,y*this.g,y*this.b)},Wr.hsl=function(){return ga(this.r,this.g,this.b)},Wr.toString=function(){return"#"+pr(this.r)+pr(this.g)+pr(this.b)};function pr(y){return y<16?"0"+Math.max(0,y).toString(16):Math.min(255,y).toString(16)}function $r(y,M,D){var N=0,U=0,Z=0,$,X,ae;if($=/([a-z]+)\((.*)\)/.exec(y=y.toLowerCase()),$)switch(X=$[2].split(","),$[1]){case"hsl":return D(parseFloat(X[0]),parseFloat(X[1])/100,parseFloat(X[2])/100);case"rgb":return M(La(X[0]),La(X[1]),La(X[2]))}return(ae=si.get(y))?M(ae.r,ae.g,ae.b):(y!=null&&y.charAt(0)==="#"&&!isNaN(ae=parseInt(y.slice(1),16))&&(y.length===4?(N=(ae&3840)>>4,N=N>>4|N,U=ae&240,U=U>>4|U,Z=ae&15,Z=Z<<4|Z):y.length===7&&(N=(ae&16711680)>>16,U=(ae&65280)>>8,Z=ae&255)),M(N,U,Z))}function ga(y,M,D){var N=Math.min(y/=255,M/=255,D/=255),U=Math.max(y,M,D),Z=U-N,$,X,ae=(U+N)/2;return Z?(X=ae<.5?Z/(U+N):Z/(2-U-N),y==U?$=(M-D)/Z+(M<D?6:0):M==U?$=(D-y)/Z+2:$=(y-M)/Z+4,$*=60):($=NaN,X=ae>0&&ae<1?0:$),new le($,X,ae)}function nr(y,M,D){y=wi(y),M=wi(M),D=wi(D);var N=Br((.4124564*y+.3575761*M+.1804375*D)/yt),U=Br((.2126729*y+.7151522*M+.072175*D)/Dt),Z=Br((.0193339*y+.119192*M+.9503041*D)/Ft);return tt(116*U-16,500*(N-U),200*(U-Z))}function wi(y){return(y/=255)<=.04045?y/12.92:Math.pow((y+.055)/1.055,2.4)}function La(y){var M=parseFloat(y);return y.charAt(y.length-1)==="%"?Math.round(M*2.55):M}var si=e.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});si.forEach(function(y,M){si.set(y,Na(M))});function fa(y){return typeof y=="function"?y:function(){return y}}e.functor=fa,e.xhr=Ln(Ce);function Ln(y){return function(M,D,N){return arguments.length===2&&typeof D=="function"&&(N=D,D=null),Co(M,D,y,N)}}function Co(y,M,D,N){var U={},Z=e.dispatch("beforesend","progress","load","error"),$={},X=new XMLHttpRequest,ae=null;self.XDomainRequest&&!("withCredentials"in X)&&/^(http(s)?:)?\/\//.test(y)&&(X=new XDomainRequest),"onload"in X?X.onload=X.onerror=me:X.onreadystatechange=function(){X.readyState>3&&me()};function me(){var _e=X.status,De;if(!_e&&Ga(X)||_e>=200&&_e<300||_e===304){try{De=D.call(U,X)}catch(Pe){Z.error.call(U,Pe);return}Z.load.call(U,De)}else Z.error.call(U,X)}return X.onprogress=function(_e){var De=e.event;e.event=_e;try{Z.progress.call(U,X)}finally{e.event=De}},U.header=function(_e,De){return _e=(_e+"").toLowerCase(),arguments.length<2?$[_e]:(De==null?delete $[_e]:$[_e]=De+"",U)},U.mimeType=function(_e){return arguments.length?(M=_e==null?null:_e+"",U):M},U.responseType=function(_e){return arguments.length?(ae=_e,U):ae},U.response=function(_e){return D=_e,U},["get","post"].forEach(function(_e){U[_e]=function(){return U.send.apply(U,[_e].concat(r(arguments)))}}),U.send=function(_e,De,Pe){if(arguments.length===2&&typeof De=="function"&&(Pe=De,De=null),X.open(_e,y,!0),M!=null&&!("accept"in $)&&($.accept=M+",*/*"),X.setRequestHeader)for(var Je in $)X.setRequestHeader(Je,$[Je]);return M!=null&&X.overrideMimeType&&X.overrideMimeType(M),ae!=null&&(X.responseType=ae),Pe!=null&&U.on("error",Pe).on("load",function(ot){Pe(null,ot)}),Z.beforesend.call(U,X),X.send(De==null?null:De),U},U.abort=function(){return X.abort(),U},e.rebind(U,Z,"on"),N==null?U:U.get(xs(N))}function xs(y){return y.length===1?function(M,D){y(M==null?D:null)}:y}function Ga(y){var M=y.responseType;return M&&M!=="text"?y.response:y.responseText}e.dsv=function(y,M){var D=new RegExp('["'+y+`
]`),N=y.charCodeAt(0);function U(me,_e,De){arguments.length<3&&(De=_e,_e=null);var Pe=Co(me,M,_e==null?Z:$(_e),De);return Pe.row=function(Je){return arguments.length?Pe.response((_e=Je)==null?Z:$(Je)):_e},Pe}function Z(me){return U.parse(me.responseText)}function $(me){return function(_e){return U.parse(_e.responseText,me)}}U.parse=function(me,_e){var De;return U.parseRows(me,function(Pe,Je){if(De)return De(Pe,Je-1);var ot=function(ze){for(var Ue={},je=Pe.length,ut=0;ut<je;++ut)Ue[Pe[ut]]=ze[ut];return Ue};De=_e?function(ze,Ue){return _e(ot(ze),Ue)}:ot})},U.parseRows=function(me,_e){var De={},Pe={},Je=[],ot=me.length,ze=0,Ue=0,je,ut;function nt(){if(ze>=ot)return Pe;if(ut)return ut=!1,De;var Gt=ze;if(me.charCodeAt(Gt)===34){for(var or=Gt;or++<ot;)if(me.charCodeAt(or)===34){if(me.charCodeAt(or+1)!==34)break;++or}ze=or+2;var fr=me.charCodeAt(or+1);return fr===13?(ut=!0,me.charCodeAt(or+2)===10&&++ze):fr===10&&(ut=!0),me.slice(Gt+1,or).replace(/""/g,'"')}for(;ze<ot;){var fr=me.charCodeAt(ze++),lr=1;if(fr===10)ut=!0;else if(fr===13)ut=!0,me.charCodeAt(ze)===10&&(++ze,++lr);else if(fr!==N)continue;return me.slice(Gt,ze-lr)}return me.slice(Gt)}for(;(je=nt())!==Pe;){for(var We=[];je!==De&&je!==Pe;)We.push(je),je=nt();_e&&(We=_e(We,Ue++))==null||Je.push(We)}return Je},U.format=function(me){if(Array.isArray(me[0]))return U.formatRows(me);var _e=new ve,De=[];return me.forEach(function(Pe){for(var Je in Pe)_e.has(Je)||De.push(_e.add(Je))}),[De.map(ae).join(y)].concat(me.map(function(Pe){return De.map(function(Je){return ae(Pe[Je])}).join(y)})).join(`
`)},U.formatRows=function(me){return me.map(X).join(`
`)};function X(me){return me.map(ae).join(y)}function ae(me){return D.test(me)?'"'+me.replace(/\"/g,'""')+'"':me}return U},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Jn,hu,Bi,dl,Qd=this[Te(this,"requestAnimationFrame")]||function(y){setTimeout(y,17)};e.timer=function(){qc.apply(this,arguments)};function qc(y,M,D){var N=arguments.length;N<2&&(M=0),N<3&&(D=Date.now());var U=D+M,Z={c:y,t:U,n:null};return hu?hu.n=Z:Jn=Z,hu=Z,Bi||(dl=clearTimeout(dl),Bi=1,Qd(Nc)),Z}function Nc(){var y=hv(),M=vv()-y;M>24?(isFinite(M)&&(clearTimeout(dl),dl=setTimeout(Nc,M)),Bi=0):(Bi=1,Qd(Nc))}e.timer.flush=function(){hv(),vv()};function hv(){for(var y=Date.now(),M=Jn;M;)y>=M.t&&M.c(y-M.t)&&(M.c=null),M=M.n;return y}function vv(){for(var y,M=Jn,D=1/0;M;)M.c?(M.t<D&&(D=M.t),M=(y=M).n):M=y?y.n=M.n:Jn=M.n;return hu=y,D}e.round=function(y,M){return M?Math.round(y*(M=Math.pow(10,M)))/M:Math.round(y)},e.geom={};function vu(y){return y[0]}function pl(y){return y[1]}e.geom.hull=function(y){var M=vu,D=pl;if(arguments.length)return N(y);function N(U){if(U.length<3)return[];var Z=fa(M),$=fa(D),X,ae=U.length,me=[],_e=[];for(X=0;X<ae;X++)me.push([+Z.call(this,U[X],X),+$.call(this,U[X],X),X]);for(me.sort(Ku),X=0;X<ae;X++)_e.push([me[X][0],-me[X][1]]);var De=$d(me),Pe=$d(_e),Je=Pe[0]===De[0],ot=Pe[Pe.length-1]===De[De.length-1],ze=[];for(X=De.length-1;X>=0;--X)ze.push(U[me[De[X]][2]]);for(X=+Je;X<Pe.length-ot;++X)ze.push(U[me[Pe[X]][2]]);return ze}return N.x=function(U){return arguments.length?(M=U,N):M},N.y=function(U){return arguments.length?(D=U,N):D},N};function $d(y){for(var M=y.length,D=[0,1],N=2,U=2;U<M;U++){for(;N>1&&Ea(y[D[N-2]],y[D[N-1]],y[U])<=0;)--N;D[N++]=U}return D.slice(0,N)}function Ku(y,M){return y[0]-M[0]||y[1]-M[1]}e.geom.polygon=function(y){return He(y,Zf),y};var Zf=e.geom.polygon.prototype=[];Zf.area=function(){for(var y=-1,M=this.length,D,N=this[M-1],U=0;++y<M;)D=N,N=this[y],U+=D[1]*N[0]-D[0]*N[1];return U*.5},Zf.centroid=function(y){var M=-1,D=this.length,N=0,U=0,Z,$=this[D-1],X;for(arguments.length||(y=-1/(6*this.area()));++M<D;)Z=$,$=this[M],X=Z[0]*$[1]-$[0]*Z[1],N+=(Z[0]+$[0])*X,U+=(Z[1]+$[1])*X;return[N*y,U*y]},Zf.clip=function(y){for(var M,D=mo(y),N=-1,U=this.length-mo(this),Z,$,X=this[U-1],ae,me,_e;++N<U;){for(M=y.slice(),y.length=0,ae=this[N],me=M[($=M.length-D)-1],Z=-1;++Z<$;)_e=M[Z],Qi(_e,X,ae)?(Qi(me,X,ae)||y.push(Ho(me,_e,X,ae)),y.push(_e)):Qi(me,X,ae)&&y.push(Ho(me,_e,X,ae)),me=_e;D&&y.push(y[0]),X=ae}return y};function Qi(y,M,D){return(D[0]-M[0])*(y[1]-M[1])<(D[1]-M[1])*(y[0]-M[0])}function Ho(y,M,D,N){var U=y[0],Z=D[0],$=M[0]-U,X=N[0]-Z,ae=y[1],me=D[1],_e=M[1]-ae,De=N[1]-me,Pe=(X*(ae-me)-De*(U-Z))/(De*$-X*_e);return[U+Pe*$,ae+Pe*_e]}function mo(y){var M=y[0],D=y[y.length-1];return!(M[0]-D[0]||M[1]-D[1])}var ml,Go,du,ep=[],dv,Qu,pv=[];function mv(){ki(this),this.edge=this.site=this.circle=null}function oo(y){var M=ep.pop()||new mv;return M.site=y,M}function Xt(y){wa(y),du.remove(y),ep.push(y),ki(y)}function Or(y){var M=y.circle,D=M.x,N=M.cy,U={x:D,y:N},Z=y.P,$=y.N,X=[y];Xt(y);for(var ae=Z;ae.circle&&I(D-ae.circle.x)<Ge&&I(N-ae.circle.cy)<Ge;)Z=ae.P,X.unshift(ae),Xt(ae),ae=Z;X.unshift(ae),wa(ae);for(var me=$;me.circle&&I(D-me.circle.x)<Ge&&I(N-me.circle.cy)<Ge;)$=me.N,X.push(me),Xt(me),me=$;X.push(me),wa(me);var _e=X.length,De;for(De=1;De<_e;++De)me=X[De],ae=X[De-1],us(me.edge,ae.site,me.site,U);ae=X[0],me=X[_e-1],me.edge=Xs(ae.site,me.site,null,U),Cr(ae),Cr(me)}function tp(y){for(var M=y.x,D=y.y,N,U,Z,$,X=du._;X;)if(Z=pu(X,D)-M,Z>Ge)X=X.L;else if($=M-an(X,D),$>Ge){if(!X.R){N=X;break}X=X.R}else{Z>-Ge?(N=X.P,U=X):$>-Ge?(N=X,U=X.N):N=U=X;break}var ae=oo(y);if(du.insert(N,ae),!(!N&&!U)){if(N===U){wa(N),U=oo(N.site),du.insert(ae,U),ae.edge=U.edge=Xs(N.site,ae.site),Cr(N),Cr(U);return}if(!U){ae.edge=Xs(N.site,ae.site);return}wa(N),wa(U);var me=N.site,_e=me.x,De=me.y,Pe=y.x-_e,Je=y.y-De,ot=U.site,ze=ot.x-_e,Ue=ot.y-De,je=2*(Pe*Ue-Je*ze),ut=Pe*Pe+Je*Je,nt=ze*ze+Ue*Ue,We={x:(Ue*ut-Je*nt)/je+_e,y:(Pe*nt-ze*ut)/je+De};us(U.edge,me,ot,We),ae.edge=Xs(me,y,null,We),U.edge=Xs(y,ot,null,We),Cr(N),Cr(U)}}function pu(y,M){var D=y.site,N=D.x,U=D.y,Z=U-M;if(!Z)return N;var $=y.P;if(!$)return-1/0;D=$.site;var X=D.x,ae=D.y,me=ae-M;if(!me)return X;var _e=X-N,De=1/Z-1/me,Pe=_e/me;return De?(-Pe+Math.sqrt(Pe*Pe-2*De*(_e*_e/(-2*me)-ae+me/2+U-Z/2)))/De+N:(N+X)/2}function an(y,M){var D=y.N;if(D)return pu(D,M);var N=y.site;return N.y===M?N.x:1/0}function yl(y){this.site=y,this.edges=[]}yl.prototype.prepare=function(){for(var y=this.edges,M=y.length,D;M--;)D=y[M].edge,(!D.b||!D.a)&&y.splice(M,1);return y.sort($u),y.length};function bs(y){for(var M=y[0][0],D=y[1][0],N=y[0][1],U=y[1][1],Z,$,X,ae,me=Go,_e=me.length,De,Pe,Je,ot,ze,Ue;_e--;)if(De=me[_e],!(!De||!De.prepare()))for(Je=De.edges,ot=Je.length,Pe=0;Pe<ot;)Ue=Je[Pe].end(),X=Ue.x,ae=Ue.y,ze=Je[++Pe%ot].start(),Z=ze.x,$=ze.y,(I(X-Z)>Ge||I(ae-$)>Ge)&&(Je.splice(Pe,0,new _l(mu(De.site,Ue,I(X-M)<Ge&&U-ae>Ge?{x:M,y:I(Z-M)<Ge?$:U}:I(ae-U)<Ge&&D-X>Ge?{x:I($-U)<Ge?Z:D,y:U}:I(X-D)<Ge&&ae-N>Ge?{x:D,y:I(Z-D)<Ge?$:N}:I(ae-N)<Ge&&X-M>Ge?{x:I($-N)<Ge?Z:M,y:N}:null),De.site,null)),++ot)}function $u(y,M){return M.angle-y.angle}function ef(){ki(this),this.x=this.y=this.arc=this.site=this.cy=null}function Cr(y){var M=y.P,D=y.N;if(!(!M||!D)){var N=M.site,U=y.site,Z=D.site;if(N!==Z){var $=U.x,X=U.y,ae=N.x-$,me=N.y-X,_e=Z.x-$,Ue=Z.y-X,De=2*(ae*Ue-me*_e);if(!(De>=-bt)){var Pe=ae*ae+me*me,Je=_e*_e+Ue*Ue,ot=(Ue*Pe-me*Je)/De,ze=(ae*Je-_e*Pe)/De,Ue=ze+X,je=pv.pop()||new ef;je.arc=y,je.site=U,je.x=ot+$,je.y=Ue+Math.sqrt(ot*ot+ze*ze),je.cy=Ue,y.circle=je;for(var ut=null,nt=Qu._;nt;)if(je.y<nt.y||je.y===nt.y&&je.x<=nt.x)if(nt.L)nt=nt.L;else{ut=nt.P;break}else if(nt.R)nt=nt.R;else{ut=nt;break}Qu.insert(ut,je),ut||(dv=je)}}}}function wa(y){var M=y.circle;M&&(M.P||(dv=M.N),Qu.remove(M),pv.push(M),ki(M),y.circle=null)}function Ta(y,M,D,N){return function(U){var Z=U.a,$=U.b,X=Z.x,ae=Z.y,me=$.x,_e=$.y,De=0,Pe=1,Je=me-X,ot=_e-ae,ze;if(ze=y-X,!(!Je&&ze>0)){if(ze/=Je,Je<0){if(ze<De)return;ze<Pe&&(Pe=ze)}else if(Je>0){if(ze>Pe)return;ze>De&&(De=ze)}if(ze=D-X,!(!Je&&ze<0)){if(ze/=Je,Je<0){if(ze>Pe)return;ze>De&&(De=ze)}else if(Je>0){if(ze<De)return;ze<Pe&&(Pe=ze)}if(ze=M-ae,!(!ot&&ze>0)){if(ze/=ot,ot<0){if(ze<De)return;ze<Pe&&(Pe=ze)}else if(ot>0){if(ze>Pe)return;ze>De&&(De=ze)}if(ze=N-ae,!(!ot&&ze<0)){if(ze/=ot,ot<0){if(ze>Pe)return;ze>De&&(De=ze)}else if(ot>0){if(ze<De)return;ze<Pe&&(Pe=ze)}return De>0&&(U.a={x:X+De*Je,y:ae+De*ot}),Pe<1&&(U.b={x:X+Pe*Je,y:ae+Pe*ot}),U}}}}}}function ws(y){for(var M=ml,D=Ta(y[0][0],y[0][1],y[1][0],y[1][1]),N=M.length,U;N--;)U=M[N],(!gl(U,y)||!D(U)||I(U.a.x-U.b.x)<Ge&&I(U.a.y-U.b.y)<Ge)&&(U.a=U.b=null,M.splice(N,1))}function gl(y,M){var D=y.b;if(D)return!0;var N=y.a,U=M[0][0],Z=M[1][0],$=M[0][1],X=M[1][1],ae=y.l,me=y.r,_e=ae.x,De=ae.y,Pe=me.x,Je=me.y,ot=(_e+Pe)/2,ze=(De+Je)/2,Ue,je;if(Je===De){if(ot<U||ot>=Z)return;if(_e>Pe){if(!N)N={x:ot,y:$};else if(N.y>=X)return;D={x:ot,y:X}}else{if(!N)N={x:ot,y:X};else if(N.y<$)return;D={x:ot,y:$}}}else if(Ue=(_e-Pe)/(Je-De),je=ze-Ue*ot,Ue<-1||Ue>1)if(_e>Pe){if(!N)N={x:($-je)/Ue,y:$};else if(N.y>=X)return;D={x:(X-je)/Ue,y:X}}else{if(!N)N={x:(X-je)/Ue,y:X};else if(N.y<$)return;D={x:($-je)/Ue,y:$}}else if(De<Je){if(!N)N={x:U,y:Ue*U+je};else if(N.x>=Z)return;D={x:Z,y:Ue*Z+je}}else{if(!N)N={x:Z,y:Ue*Z+je};else if(N.x<U)return;D={x:U,y:Ue*U+je}}return y.a=N,y.b=D,!0}function Ma(y,M){this.l=y,this.r=M,this.a=this.b=null}function Xs(y,M,D,N){var U=new Ma(y,M);return ml.push(U),D&&us(U,y,M,D),N&&us(U,M,y,N),Go[y.i].edges.push(new _l(U,y,M)),Go[M.i].edges.push(new _l(U,M,y)),U}function mu(y,M,D){var N=new Ma(y,null);return N.a=M,N.b=D,ml.push(N),N}function us(y,M,D,N){!y.a&&!y.b?(y.a=N,y.l=M,y.r=D):y.l===D?y.b=N:y.a=N}function _l(y,M,D){var N=y.a,U=y.b;this.edge=y,this.site=M,this.angle=D?Math.atan2(D.y-M.y,D.x-M.x):y.l===M?Math.atan2(U.x-N.x,N.y-U.y):Math.atan2(N.x-U.x,U.y-N.y)}_l.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}};function yo(){this._=null}function ki(y){y.U=y.C=y.L=y.R=y.P=y.N=null}yo.prototype={insert:function(y,M){var D,N,U;if(y){if(M.P=y,M.N=y.N,y.N&&(y.N.P=M),y.N=M,y.R){for(y=y.R;y.L;)y=y.L;y.L=M}else y.R=M;D=y}else this._?(y=Bc(this._),M.P=null,M.N=y,y.P=y.L=M,D=y):(M.P=M.N=null,this._=M,D=null);for(M.L=M.R=null,M.U=D,M.C=!0,y=M;D&&D.C;)N=D.U,D===N.L?(U=N.R,U&&U.C?(D.C=U.C=!1,N.C=!0,y=N):(y===D.R&&(Ts(this,D),y=D,D=y.U),D.C=!1,N.C=!0,fs(this,N))):(U=N.L,U&&U.C?(D.C=U.C=!1,N.C=!0,y=N):(y===D.L&&(fs(this,D),y=D,D=y.U),D.C=!1,N.C=!0,Ts(this,N))),D=y.U;this._.C=!1},remove:function(y){y.N&&(y.N.P=y.P),y.P&&(y.P.N=y.N),y.N=y.P=null;var M=y.U,D,N=y.L,U=y.R,Z,$;if(N?U?Z=Bc(U):Z=N:Z=U,M?M.L===y?M.L=Z:M.R=Z:this._=Z,N&&U?($=Z.C,Z.C=y.C,Z.L=N,N.U=Z,Z!==U?(M=Z.U,Z.U=y.U,y=Z.R,M.L=y,Z.R=U,U.U=Z):(Z.U=M,M=Z,y=Z.R)):($=y.C,y=Z),y&&(y.U=M),!$){if(y&&y.C){y.C=!1;return}do{if(y===this._)break;if(y===M.L){if(D=M.R,D.C&&(D.C=!1,M.C=!0,Ts(th