plotly.js-dist-min
Version:
Ready-to-use minified plotly.js distributed bundle.
18 lines • 4.84 MB
JavaScript
/**
* plotly.js v3.2.0
* 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 utt=Object.create;var CS=Object.defineProperty,ctt=Object.defineProperties,ftt=Object.getOwnPropertyDescriptor,htt=Object.getOwnPropertyDescriptors,dtt=Object.getOwnPropertyNames,s6=Object.getOwnPropertySymbols,vtt=Object.getPrototypeOf,_O=Object.prototype.hasOwnProperty,see=Object.prototype.propertyIsEnumerable;var oee=(e,t,r)=>t in e?CS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,mg=(e,t)=>{for(var r in t||(t={}))_O.call(t,r)&&oee(e,r,t[r]);if(s6)for(var r of s6(t))see.call(t,r)&&oee(e,r,t[r]);return e},q1=(e,t)=>ctt(e,htt(t));var lee=(e,t)=>{var r={};for(var n in e)_O.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&s6)for(var n of s6(e))t.indexOf(n)<0&&see.call(e,n)&&(r[n]=e[n]);return r};var gu=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),uee=(e,t)=>{for(var r in t)CS(e,r,{get:t[r],enumerable:!0})},cee=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of dtt(t))!_O.call(e,i)&&i!==r&&CS(e,i,{get:()=>t[i],enumerable:!(n=ftt(t,i))||n.enumerable});return e};var ptt=(e,t,r)=>(r=e!=null?utt(vtt(e)):{},cee(t||!e||!e.__esModule?CS(r,"default",{value:e,enumerable:!0}):r,e)),ob=e=>cee(CS({},"__esModule",{value:!0}),e);var l6=ye(fee=>{"use strict";fee.version="3.2.0"});var dee=ye((hee,u6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof u6!="undefined"&&u6.exports&&(u6.exports=r[t])})("Promise",typeof window!="undefined"?window:hee,function(){"use strict";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!="undefined"?function(k){return setImmediate(k)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(k,E,A,L){return Object.defineProperty(k,E,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(E,A,L){return E[A]=L,E}}n=function(){var k,E,A;function L(x,C){this.fn=x,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),E?E.next=A:k=A,E=A,A=void 0},drain:function(){var C=k;for(k=E=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,k){n.add(p,k),r||(r=a(n.drain))}function s(p){var k,E=typeof p;return p!=null&&(E=="object"||E=="function")&&(k=p.then),typeof k=="function"?k:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,k,E){var A,L;try{k===!1?E.reject(p.msg):(k===!0?A=p.msg:A=k.call(void 0,p.msg),A===E.promise?E.reject(TypeError("Promise-chain cycle")):(L=s(A))?L.call(A,E.resolve,E.reject):E.resolve(A))}catch(x){E.reject(x)}}function c(p){var k,E=this;if(!E.triggered){E.triggered=!0,E.def&&(E=E.def);try{(k=s(p))?o(function(){var A=new d(E);try{k.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(E.msg=p,E.state=1,E.chain.length>0&&o(l,E))}catch(A){f.call(new d(E),A)}}}function f(p){var k=this;k.triggered||(k.triggered=!0,k.def&&(k=k.def),k.msg=p,k.state=2,k.chain.length>0&&o(l,k))}function h(p,k,E,A){for(var L=0;L<k.length;L++)(function(C){p.resolve(k[C]).then(function(g){E(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function _(p){if(typeof p!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var k=new v(this);this.then=function(A,L){var x={success:typeof A=="function"?A:!0,failure:typeof L=="function"?L:!1};return x.promise=new this.constructor(function(M,g){if(typeof M!="function"||typeof g!="function")throw TypeError("Not a function");x.resolve=M,x.reject=g}),k.chain.push(x),k.state!==0&&o(l,k),x.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(k,A)},function(A){f.call(k,A)})}catch(E){f.call(k,E)}}var b=t({},"constructor",_,!1);return _.prototype=b,t(b,"__NPO__",0,!1),t(_,"resolve",function(k){var E=this;return k&&typeof k=="object"&&k.__NPO__===1?k:new E(function(L,x){if(typeof L!="function"||typeof x!="function")throw TypeError("Not a function");L(k)})}),t(_,"reject",function(k){return new this(function(A,L){if(typeof A!="function"||typeof L!="function")throw TypeError("Not a function");L(k)})}),t(_,"all",function(k){var E=this;return i.call(k)!="[object Array]"?E.reject(TypeError("Not an array")):k.length===0?E.resolve([]):new E(function(L,x){if(typeof L!="function"||typeof x!="function")throw TypeError("Not a function");var C=k.length,M=Array(C),g=0;h(E,k,function(T,z){M[T]=z,++g===C&&L(M)},x)})}),t(_,"race",function(k){var E=this;return i.call(k)!="[object Array]"?E.reject(TypeError("Not an array")):new E(function(L,x){if(typeof L!="function"||typeof x!="function")throw TypeError("Not a function");h(E,k,function(M,g){L(g)},x)})}),_})});var Oa=ye((irr,c6)=>{(function(){var e={version:"3.8.2"},t=[].slice,r=function(X){return t.call(X)},n=self.document;function i(X){return X&&(X.ownerDocument||X.document||X).documentElement}function a(X){return X&&(X.ownerDocument&&X.ownerDocument.defaultView||X.document&&X||X.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(X){r=function(se){for(var Te=se.length,Ne=new Array(Te);Te--;)Ne[Te]=se[Te];return Ne}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(X){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(se,Te){s.call(this,se,Te+"")},o.setAttributeNS=function(se,Te,Ne){l.call(this,se,Te,Ne+"")},u.setProperty=function(se,Te,Ne){c.call(this,se,Te+"",Ne)}}e.ascending=f;function f(X,se){return X<se?-1:X>se?1:X>=se?0:NaN}e.descending=function(X,se){return se<X?-1:se>X?1:se>=X?0:NaN},e.min=function(X,se){var Te=-1,Ne=X.length,He,Ye;if(arguments.length===1){for(;++Te<Ne;)if((Ye=X[Te])!=null&&Ye>=Ye){He=Ye;break}for(;++Te<Ne;)(Ye=X[Te])!=null&&He>Ye&&(He=Ye)}else{for(;++Te<Ne;)if((Ye=se.call(X,X[Te],Te))!=null&&Ye>=Ye){He=Ye;break}for(;++Te<Ne;)(Ye=se.call(X,X[Te],Te))!=null&&He>Ye&&(He=Ye)}return He},e.max=function(X,se){var Te=-1,Ne=X.length,He,Ye;if(arguments.length===1){for(;++Te<Ne;)if((Ye=X[Te])!=null&&Ye>=Ye){He=Ye;break}for(;++Te<Ne;)(Ye=X[Te])!=null&&Ye>He&&(He=Ye)}else{for(;++Te<Ne;)if((Ye=se.call(X,X[Te],Te))!=null&&Ye>=Ye){He=Ye;break}for(;++Te<Ne;)(Ye=se.call(X,X[Te],Te))!=null&&Ye>He&&(He=Ye)}return He},e.extent=function(X,se){var Te=-1,Ne=X.length,He,Ye,kt;if(arguments.length===1){for(;++Te<Ne;)if((Ye=X[Te])!=null&&Ye>=Ye){He=kt=Ye;break}for(;++Te<Ne;)(Ye=X[Te])!=null&&(He>Ye&&(He=Ye),kt<Ye&&(kt=Ye))}else{for(;++Te<Ne;)if((Ye=se.call(X,X[Te],Te))!=null&&Ye>=Ye){He=kt=Ye;break}for(;++Te<Ne;)(Ye=se.call(X,X[Te],Te))!=null&&(He>Ye&&(He=Ye),kt<Ye&&(kt=Ye))}return[He,kt]};function h(X){return X===null?NaN:+X}function d(X){return!isNaN(X)}e.sum=function(X,se){var Te=0,Ne=X.length,He,Ye=-1;if(arguments.length===1)for(;++Ye<Ne;)d(He=+X[Ye])&&(Te+=He);else for(;++Ye<Ne;)d(He=+se.call(X,X[Ye],Ye))&&(Te+=He);return Te},e.mean=function(X,se){var Te=0,Ne=X.length,He,Ye=-1,kt=Ne;if(arguments.length===1)for(;++Ye<Ne;)d(He=h(X[Ye]))?Te+=He:--kt;else for(;++Ye<Ne;)d(He=h(se.call(X,X[Ye],Ye)))?Te+=He:--kt;if(kt)return Te/kt},e.quantile=function(X,se){var Te=(X.length-1)*se+1,Ne=Math.floor(Te),He=+X[Ne-1],Ye=Te-Ne;return Ye?He+Ye*(X[Ne]-He):He},e.median=function(X,se){var Te=[],Ne=X.length,He,Ye=-1;if(arguments.length===1)for(;++Ye<Ne;)d(He=h(X[Ye]))&&Te.push(He);else for(;++Ye<Ne;)d(He=h(se.call(X,X[Ye],Ye)))&&Te.push(He);if(Te.length)return e.quantile(Te.sort(f),.5)},e.variance=function(X,se){var Te=X.length,Ne=0,He,Ye,kt=0,nt=-1,jt=0;if(arguments.length===1)for(;++nt<Te;)d(He=h(X[nt]))&&(Ye=He-Ne,Ne+=Ye/++jt,kt+=Ye*(He-Ne));else for(;++nt<Te;)d(He=h(se.call(X,X[nt],nt)))&&(Ye=He-Ne,Ne+=Ye/++jt,kt+=Ye*(He-Ne));if(jt>1)return kt/(jt-1)},e.deviation=function(){var X=e.variance.apply(this,arguments);return X&&Math.sqrt(X)};function v(X){return{left:function(se,Te,Ne,He){for(arguments.length<3&&(Ne=0),arguments.length<4&&(He=se.length);Ne<He;){var Ye=Ne+He>>>1;X(se[Ye],Te)<0?Ne=Ye+1:He=Ye}return Ne},right:function(se,Te,Ne,He){for(arguments.length<3&&(Ne=0),arguments.length<4&&(He=se.length);Ne<He;){var Ye=Ne+He>>>1;X(se[Ye],Te)>0?He=Ye:Ne=Ye+1}return Ne}}}var _=v(f);e.bisectLeft=_.left,e.bisect=e.bisectRight=_.right,e.bisector=function(X){return v(X.length===1?function(se,Te){return f(X(se),Te)}:X)},e.shuffle=function(X,se,Te){(Ne=arguments.length)<3&&(Te=X.length,Ne<2&&(se=0));for(var Ne=Te-se,He,Ye;Ne;)Ye=Math.random()*Ne--|0,He=X[Ne+se],X[Ne+se]=X[Ye+se],X[Ye+se]=He;return X},e.permute=function(X,se){for(var Te=se.length,Ne=new Array(Te);Te--;)Ne[Te]=X[se[Te]];return Ne},e.pairs=function(X){for(var se=0,Te=X.length-1,Ne,He=X[0],Ye=new Array(Te<0?0:Te);se<Te;)Ye[se]=[Ne=He,He=X[++se]];return Ye},e.transpose=function(X){if(!(Ye=X.length))return[];for(var se=-1,Te=e.min(X,b),Ne=new Array(Te);++se<Te;)for(var He=-1,Ye,kt=Ne[se]=new Array(Ye);++He<Ye;)kt[He]=X[He][se];return Ne};function b(X){return X.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(X){var se=[];for(var Te in X)se.push(Te);return se},e.values=function(X){var se=[];for(var Te in X)se.push(X[Te]);return se},e.entries=function(X){var se=[];for(var Te in X)se.push({key:Te,value:X[Te]});return se},e.merge=function(X){for(var se=X.length,Te,Ne=-1,He=0,Ye,kt;++Ne<se;)He+=X[Ne].length;for(Ye=new Array(He);--se>=0;)for(kt=X[se],Te=kt.length;--Te>=0;)Ye[--He]=kt[Te];return Ye};var p=Math.abs;e.range=function(X,se,Te){if(arguments.length<3&&(Te=1,arguments.length<2&&(se=X,X=0)),(se-X)/Te===1/0)throw new Error("infinite range");var Ne=[],He=k(p(Te)),Ye=-1,kt;if(X*=He,se*=He,Te*=He,Te<0)for(;(kt=X+Te*++Ye)>se;)Ne.push(kt/He);else for(;(kt=X+Te*++Ye)<se;)Ne.push(kt/He);return Ne};function k(X){for(var se=1;X*se%1;)se*=10;return se}function E(X,se){for(var Te in se)Object.defineProperty(X.prototype,Te,{value:se[Te],enumerable:!1})}e.map=function(X,se){var Te=new A;if(X instanceof A)X.forEach(function(nt,jt){Te.set(nt,jt)});else if(Array.isArray(X)){var Ne=-1,He=X.length,Ye;if(arguments.length===1)for(;++Ne<He;)Te.set(Ne,X[Ne]);else for(;++Ne<He;)Te.set(se.call(X,Ye=X[Ne],Ne),Ye)}else for(var kt in X)Te.set(kt,X[kt]);return Te};function A(){this._=Object.create(null)}var L="__proto__",x="\0";E(A,{has:g,get:function(X){return this._[C(X)]},set:function(X,se){return this._[C(X)]=se},remove:P,keys:T,values:function(){var X=[];for(var se in this._)X.push(this._[se]);return X},entries:function(){var X=[];for(var se in this._)X.push({key:M(se),value:this._[se]});return X},size:z,empty:O,forEach:function(X){for(var se in this._)X.call(this,M(se),this._[se])}});function C(X){return(X+="")===L||X[0]===x?x+X:X}function M(X){return(X+="")[0]===x?X.slice(1):X}function g(X){return C(X)in this._}function P(X){return(X=C(X))in this._&&delete this._[X]}function T(){var X=[];for(var se in this._)X.push(M(se));return X}function z(){var X=0;for(var se in this._)++X;return X}function O(){for(var X in this._)return!1;return!0}e.nest=function(){var X={},se=[],Te=[],Ne,He;function Ye(nt,jt,gr){if(gr>=se.length)return He?He.call(X,jt):Ne?jt.sort(Ne):jt;for(var yr=-1,Hr=jt.length,qr=se[gr++],_i,bi,Zr,ai=new A,gi;++yr<Hr;)(gi=ai.get(_i=qr(bi=jt[yr])))?gi.push(bi):ai.set(_i,[bi]);return nt?(bi=nt(),Zr=function(Ii,Si){bi.set(Ii,Ye(nt,Si,gr))}):(bi={},Zr=function(Ii,Si){bi[Ii]=Ye(nt,Si,gr)}),ai.forEach(Zr),bi}function kt(nt,jt){if(jt>=se.length)return nt;var gr=[],yr=Te[jt++];return nt.forEach(function(Hr,qr){gr.push({key:Hr,values:kt(qr,jt)})}),yr?gr.sort(function(Hr,qr){return yr(Hr.key,qr.key)}):gr}return X.map=function(nt,jt){return Ye(jt,nt,0)},X.entries=function(nt){return kt(Ye(e.map,nt,0),0)},X.key=function(nt){return se.push(nt),X},X.sortKeys=function(nt){return Te[se.length-1]=nt,X},X.sortValues=function(nt){return Ne=nt,X},X.rollup=function(nt){return He=nt,X},X},e.set=function(X){var se=new V;if(X)for(var Te=0,Ne=X.length;Te<Ne;++Te)se.add(X[Te]);return se};function V(){this._=Object.create(null)}E(V,{has:g,add:function(X){return this._[C(X+="")]=!0,X},remove:P,values:T,size:z,empty:O,forEach:function(X){for(var se in this._)X.call(this,M(se))}}),e.behavior={};function G(X){return X}e.rebind=function(X,se){for(var Te=1,Ne=arguments.length,He;++Te<Ne;)X[He=arguments[Te]]=Z(X,se,se[He]);return X};function Z(X,se,Te){return function(){var Ne=Te.apply(se,arguments);return Ne===se?X:Ne}}function H(X,se){if(se in X)return se;se=se.charAt(0).toUpperCase()+se.slice(1);for(var Te=0,Ne=N.length;Te<Ne;++Te){var He=N[Te]+se;if(He in X)return He}}var N=["webkit","ms","moz","Moz","o","O"];function j(){}e.dispatch=function(){for(var X=new re,se=-1,Te=arguments.length;++se<Te;)X[arguments[se]]=oe(X);return X};function re(){}re.prototype.on=function(X,se){var Te=X.indexOf("."),Ne="";if(Te>=0&&(Ne=X.slice(Te+1),X=X.slice(0,Te)),X)return arguments.length<2?this[X].on(Ne):this[X].on(Ne,se);if(arguments.length===2){if(se==null)for(X in this)this.hasOwnProperty(X)&&this[X].on(Ne,null);return this}};function oe(X){var se=[],Te=new A;function Ne(){for(var He=se,Ye=-1,kt=He.length,nt;++Ye<kt;)(nt=He[Ye].on)&&nt.apply(this,arguments);return X}return Ne.on=function(He,Ye){var kt=Te.get(He),nt;return arguments.length<2?kt&&kt.on:(kt&&(kt.on=null,se=se.slice(0,nt=se.indexOf(kt)).concat(se.slice(nt+1)),Te.remove(He)),Ye&&se.push(Te.set(He,{on:Ye})),X)},Ne}e.event=null;function _e(){e.event.preventDefault()}function Ee(){for(var X=e.event,se;se=X.sourceEvent;)X=se;return X}function Ce(X){for(var se=new re,Te=0,Ne=arguments.length;++Te<Ne;)se[arguments[Te]]=oe(se);return se.of=function(He,Ye){return function(kt){try{var nt=kt.sourceEvent=e.event;kt.target=X,e.event=kt,se[kt.type].apply(He,Ye)}finally{e.event=nt}}},se}e.requote=function(X){return X.replace(me,"\\$&")};var me=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ie={}.__proto__?function(X,se){X.__proto__=se}:function(X,se){for(var Te in se)X[Te]=se[Te]};function Se(X){return ie(X,Pe),X}var Le=function(X,se){return se.querySelector(X)},Ae=function(X,se){return se.querySelectorAll(X)},Fe=function(X,se){var Te=X.matches||X[H(X,"matchesSelector")];return Fe=function(Ne,He){return Te.call(Ne,He)},Fe(X,se)};typeof Sizzle=="function"&&(Le=function(X,se){return Sizzle(X,se)[0]||null},Ae=Sizzle,Fe=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Pe=e.selection.prototype=[];Pe.select=function(X){var se=[],Te,Ne,He,Ye;X=ge(X);for(var kt=-1,nt=this.length;++kt<nt;){se.push(Te=[]),Te.parentNode=(He=this[kt]).parentNode;for(var jt=-1,gr=He.length;++jt<gr;)(Ye=He[jt])?(Te.push(Ne=X.call(Ye,Ye.__data__,jt,kt)),Ne&&"__data__"in Ye&&(Ne.__data__=Ye.__data__)):Te.push(null)}return Se(se)};function ge(X){return typeof X=="function"?X:function(){return Le(X,this)}}Pe.selectAll=function(X){var se=[],Te,Ne;X=Re(X);for(var He=-1,Ye=this.length;++He<Ye;)for(var kt=this[He],nt=-1,jt=kt.length;++nt<jt;)(Ne=kt[nt])&&(se.push(Te=r(X.call(Ne,Ne.__data__,nt,He))),Te.parentNode=Ne);return Se(se)};function Re(X){return typeof X=="function"?X:function(){return Ae(X,this)}}var ce="http://www.w3.org/1999/xhtml",Ze={svg:"http://www.w3.org/2000/svg",xhtml:ce,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:Ze,qualify:function(X){var se=X.indexOf(":"),Te=X;return se>=0&&(Te=X.slice(0,se))!=="xmlns"&&(X=X.slice(se+1)),Ze.hasOwnProperty(Te)?{space:Ze[Te],local:X}:X}},Pe.attr=function(X,se){if(arguments.length<2){if(typeof X=="string"){var Te=this.node();return X=e.ns.qualify(X),X.local?Te.getAttributeNS(X.space,X.local):Te.getAttribute(X)}for(se in X)this.each(ut(se,X[se]));return this}return this.each(ut(X,se))};function ut(X,se){X=e.ns.qualify(X);function Te(){this.removeAttribute(X)}function Ne(){this.removeAttributeNS(X.space,X.local)}function He(){this.setAttribute(X,se)}function Ye(){this.setAttributeNS(X.space,X.local,se)}function kt(){var jt=se.apply(this,arguments);jt==null?this.removeAttribute(X):this.setAttribute(X,jt)}function nt(){var jt=se.apply(this,arguments);jt==null?this.removeAttributeNS(X.space,X.local):this.setAttributeNS(X.space,X.local,jt)}return se==null?X.local?Ne:Te:typeof se=="function"?X.local?nt:kt:X.local?Ye:He}function pt(X){return X.trim().replace(/\s+/g," ")}Pe.classed=function(X,se){if(arguments.length<2){if(typeof X=="string"){var Te=this.node(),Ne=(X=st(X)).length,He=-1;if(se=Te.classList){for(;++He<Ne;)if(!se.contains(X[He]))return!1}else for(se=Te.getAttribute("class");++He<Ne;)if(!Zt(X[He]).test(se))return!1;return!0}for(se in X)this.each(lt(se,X[se]));return this}return this.each(lt(X,se))};function Zt(X){return new RegExp("(?:^|\\s+)"+e.requote(X)+"(?:\\s+|$)","g")}function st(X){return(X+"").trim().split(/^|\s+/)}function lt(X,se){X=st(X).map(Gt);var Te=X.length;function Ne(){for(var Ye=-1;++Ye<Te;)X[Ye](this,se)}function He(){for(var Ye=-1,kt=se.apply(this,arguments);++Ye<Te;)X[Ye](this,kt)}return typeof se=="function"?He:Ne}function Gt(X){var se=Zt(X);return function(Te,Ne){if(He=Te.classList)return Ne?He.add(X):He.remove(X);var He=Te.getAttribute("class")||"";Ne?(se.lastIndex=0,se.test(He)||Te.setAttribute("class",pt(He+" "+X))):Te.setAttribute("class",pt(He.replace(se," ")))}}Pe.style=function(X,se,Te){var Ne=arguments.length;if(Ne<3){if(typeof X!="string"){Ne<2&&(se="");for(Te in X)this.each(Nt(Te,X[Te],se));return this}if(Ne<2){var He=this.node();return a(He).getComputedStyle(He,null).getPropertyValue(X)}Te=""}return this.each(Nt(X,se,Te))};function Nt(X,se,Te){function Ne(){this.style.removeProperty(X)}function He(){this.style.setProperty(X,se,Te)}function Ye(){var kt=se.apply(this,arguments);kt==null?this.style.removeProperty(X):this.style.setProperty(X,kt,Te)}return se==null?Ne:typeof se=="function"?Ye:He}Pe.property=function(X,se){if(arguments.length<2){if(typeof X=="string")return this.node()[X];for(se in X)this.each(Jt(se,X[se]));return this}return this.each(Jt(X,se))};function Jt(X,se){function Te(){delete this[X]}function Ne(){this[X]=se}function He(){var Ye=se.apply(this,arguments);Ye==null?delete this[X]:this[X]=Ye}return se==null?Te:typeof se=="function"?He:Ne}Pe.text=function(X){return arguments.length?this.each(typeof X=="function"?function(){var se=X.apply(this,arguments);this.textContent=se==null?"":se}:X==null?function(){this.textContent=""}:function(){this.textContent=X}):this.node().textContent},Pe.html=function(X){return arguments.length?this.each(typeof X=="function"?function(){var se=X.apply(this,arguments);this.innerHTML=se==null?"":se}:X==null?function(){this.innerHTML=""}:function(){this.innerHTML=X}):this.node().innerHTML},Pe.append=function(X){return X=sr(X),this.select(function(){return this.appendChild(X.apply(this,arguments))})};function sr(X){function se(){var Ne=this.ownerDocument,He=this.namespaceURI;return He===ce&&Ne.documentElement.namespaceURI===ce?Ne.createElement(X):Ne.createElementNS(He,X)}function Te(){return this.ownerDocument.createElementNS(X.space,X.local)}return typeof X=="function"?X:(X=e.ns.qualify(X)).local?Te:se}Pe.insert=function(X,se){return X=sr(X),se=ge(se),this.select(function(){return this.insertBefore(X.apply(this,arguments),se.apply(this,arguments)||null)})},Pe.remove=function(){return this.each(wr)};function wr(){var X=this.parentNode;X&&X.removeChild(this)}Pe.data=function(X,se){var Te=-1,Ne=this.length,He,Ye;if(!arguments.length){for(X=new Array(Ne=(He=this[0]).length);++Te<Ne;)(Ye=He[Te])&&(X[Te]=Ye.__data__);return X}function kt(yr,Hr){var qr,_i=yr.length,bi=Hr.length,Zr=Math.min(_i,bi),ai=new Array(bi),gi=new Array(bi),Ii=new Array(_i),Si,ei;if(se){var Ln=new A,En=new Array(_i),Un;for(qr=-1;++qr<_i;)(Si=yr[qr])&&(Ln.has(Un=se.call(Si,Si.__data__,qr))?Ii[qr]=Si:Ln.set(Un,Si),En[qr]=Un);for(qr=-1;++qr<bi;)(Si=Ln.get(Un=se.call(Hr,ei=Hr[qr],qr)))?Si!==!0&&(ai[qr]=Si,Si.__data__=ei):gi[qr]=cr(ei),Ln.set(Un,!0);for(qr=-1;++qr<_i;)qr in En&&Ln.get(En[qr])!==!0&&(Ii[qr]=yr[qr])}else{for(qr=-1;++qr<Zr;)Si=yr[qr],ei=Hr[qr],Si?(Si.__data__=ei,ai[qr]=Si):gi[qr]=cr(ei);for(;qr<bi;++qr)gi[qr]=cr(Hr[qr]);for(;qr<_i;++qr)Ii[qr]=yr[qr]}gi.update=ai,gi.parentNode=ai.parentNode=Ii.parentNode=yr.parentNode,nt.push(gi),jt.push(ai),gr.push(Ii)}var nt=Vt([]),jt=Se([]),gr=Se([]);if(typeof X=="function")for(;++Te<Ne;)kt(He=this[Te],X.call(He,He.parentNode.__data__,Te));else for(;++Te<Ne;)kt(He=this[Te],X);return jt.enter=function(){return nt},jt.exit=function(){return gr},jt};function cr(X){return{__data__:X}}Pe.datum=function(X){return arguments.length?this.property("__data__",X):this.property("__data__")},Pe.filter=function(X){var se=[],Te,Ne,He;typeof X!="function"&&(X=$e(X));for(var Ye=0,kt=this.length;Ye<kt;Ye++){se.push(Te=[]),Te.parentNode=(Ne=this[Ye]).parentNode;for(var nt=0,jt=Ne.length;nt<jt;nt++)(He=Ne[nt])&&X.call(He,He.__data__,nt,Ye)&&Te.push(He)}return Se(se)};function $e(X){return function(){return Fe(this,X)}}Pe.order=function(){for(var X=-1,se=this.length;++X<se;)for(var Te=this[X],Ne=Te.length-1,He=Te[Ne],Ye;--Ne>=0;)(Ye=Te[Ne])&&(He&&He!==Ye.nextSibling&&He.parentNode.insertBefore(Ye,He),He=Ye);return this},Pe.sort=function(X){X=St.apply(this,arguments);for(var se=-1,Te=this.length;++se<Te;)this[se].sort(X);return this.order()};function St(X){return arguments.length||(X=f),function(se,Te){return se&&Te?X(se.__data__,Te.__data__):!se-!Te}}Pe.each=function(X){return Qt(this,function(se,Te,Ne){X.call(se,se.__data__,Te,Ne)})};function Qt(X,se){for(var Te=0,Ne=X.length;Te<Ne;Te++)for(var He=X[Te],Ye=0,kt=He.length,nt;Ye<kt;Ye++)(nt=He[Ye])&&se(nt,Ye,Te);return X}Pe.call=function(X){var se=r(arguments);return X.apply(se[0]=this,se),this},Pe.empty=function(){return!this.node()},Pe.node=function(){for(var X=0,se=this.length;X<se;X++)for(var Te=this[X],Ne=0,He=Te.length;Ne<He;Ne++){var Ye=Te[Ne];if(Ye)return Ye}return null},Pe.size=function(){var X=0;return Qt(this,function(){++X}),X};function Vt(X){return ie(X,_t),X}var _t=[];e.selection.enter=Vt,e.selection.enter.prototype=_t,_t.append=Pe.append,_t.empty=Pe.empty,_t.node=Pe.node,_t.call=Pe.call,_t.size=Pe.size,_t.select=function(X){for(var se=[],Te,Ne,He,Ye,kt,nt=-1,jt=this.length;++nt<jt;){He=(Ye=this[nt]).update,se.push(Te=[]),Te.parentNode=Ye.parentNode;for(var gr=-1,yr=Ye.length;++gr<yr;)(kt=Ye[gr])?(Te.push(He[gr]=Ne=X.call(Ye.parentNode,kt.__data__,gr,nt)),Ne.__data__=kt.__data__):Te.push(null)}return Se(se)},_t.insert=function(X,se){return arguments.length<2&&(se=It(this)),Pe.insert.call(this,X,se)};function It(X){var se,Te;return function(Ne,He,Ye){var kt=X[Ye].update,nt=kt.length,jt;for(Ye!=Te&&(Te=Ye,se=0),He>=se&&(se=He+1);!(jt=kt[se])&&++se<nt;);return jt}}e.select=function(X){var se;return typeof X=="string"?(se=[Le(X,n)],se.parentNode=n.documentElement):(se=[X],se.parentNode=i(X)),Se([se])},e.selectAll=function(X){var se;return typeof X=="string"?(se=r(Ae(X,n)),se.parentNode=n.documentElement):(se=r(X),se.parentNode=null),Se([se])},Pe.on=function(X,se,Te){var Ne=arguments.length;if(Ne<3){if(typeof X!="string"){Ne<2&&(se=!1);for(Te in X)this.each(mt(Te,X[Te],se));return this}if(Ne<2)return(Ne=this.node()["__on"+X])&&Ne._;Te=!1}return this.each(mt(X,se,Te))};function mt(X,se,Te){var Ne="__on"+X,He=X.indexOf("."),Ye=lr;He>0&&(X=X.slice(0,He));var kt=er.get(X);kt&&(X=kt,Ye=Tr);function nt(){var yr=this[Ne];yr&&(this.removeEventListener(X,yr,yr.$),delete this[Ne])}function jt(){var yr=Ye(se,r(arguments));nt.call(this),this.addEventListener(X,this[Ne]=yr,yr.$=Te),yr._=se}function gr(){var yr=new RegExp("^__on([^.]+)"+e.requote(X)+"$"),Hr;for(var qr in this)if(Hr=qr.match(yr)){var _i=this[qr];this.removeEventListener(Hr[1],_i,_i.$),delete this[qr]}}return He?se?jt:nt:se?j:gr}var er=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&er.forEach(function(X){"on"+X in n&&er.remove(X)});function lr(X,se){return function(Te){var Ne=e.event;e.event=Te,se[0]=this.__data__;try{X.apply(this,se)}finally{e.event=Ne}}}function Tr(X,se){var Te=lr(X,se);return function(Ne){var He=this,Ye=Ne.relatedTarget;(!Ye||Ye!==He&&!(Ye.compareDocumentPosition(He)&8))&&Te.call(He,Ne)}}var Lr,ti=0;function Br(X){var se=".dragsuppress-"+ ++ti,Te="click"+se,Ne=e.select(a(X)).on("touchmove"+se,_e).on("dragstart"+se,_e).on("selectstart"+se,_e);if(Lr==null&&(Lr="onselectstart"in X?!1:H(X.style,"userSelect")),Lr){var He=i(X).style,Ye=He[Lr];He[Lr]="none"}return function(kt){if(Ne.on(se,null),Lr&&(He[Lr]=Ye),kt){var nt=function(){Ne.on(Te,null)};Ne.on(Te,function(){_e(),nt()},!0),setTimeout(nt,0)}}}e.mouse=function(X){return dt(X,Ee())};var Vr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function dt(X,se){se.changedTouches&&(se=se.changedTouches[0]);var Te=X.ownerSVGElement||X;if(Te.createSVGPoint){var Ne=Te.createSVGPoint();if(Vr<0){var He=a(X);if(He.scrollX||He.scrollY){Te=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Ye=Te[0][0].getScreenCTM();Vr=!(Ye.f||Ye.e),Te.remove()}}return Vr?(Ne.x=se.pageX,Ne.y=se.pageY):(Ne.x=se.clientX,Ne.y=se.clientY),Ne=Ne.matrixTransform(X.getScreenCTM().inverse()),[Ne.x,Ne.y]}var kt=X.getBoundingClientRect();return[se.clientX-kt.left-X.clientLeft,se.clientY-kt.top-X.clientTop]}e.touch=function(X,se,Te){if(arguments.length<3&&(Te=se,se=Ee().changedTouches),se){for(var Ne=0,He=se.length,Ye;Ne<He;++Ne)if((Ye=se[Ne]).identifier===Te)return dt(X,Ye)}},e.behavior.drag=function(){var X=Ce(He,"drag","dragstart","dragend"),se=null,Te=Ye(j,e.mouse,a,"mousemove","mouseup"),Ne=Ye(Ge,e.touch,G,"touchmove","touchend");function He(){this.on("mousedown.drag",Te).on("touchstart.drag",Ne)}function Ye(kt,nt,jt,gr,yr){return function(){var Hr=this,qr=e.event.target.correspondingElement||e.event.target,_i=Hr.parentNode,bi=X.of(Hr,arguments),Zr=0,ai=kt(),gi=".drag"+(ai==null?"":"-"+ai),Ii,Si=e.select(jt(qr)).on(gr+gi,En).on(yr+gi,Un),ei=Br(qr),Ln=nt(_i,ai);se?(Ii=se.apply(Hr,arguments),Ii=[Ii.x-Ln[0],Ii.y-Ln[1]]):Ii=[0,0],bi({type:"dragstart"});function En(){var ia=nt(_i,ai),Ea,Ia;ia&&(Ea=ia[0]-Ln[0],Ia=ia[1]-Ln[1],Zr|=Ea|Ia,Ln=ia,bi({type:"drag",x:ia[0]+Ii[0],y:ia[1]+Ii[1],dx:Ea,dy:Ia}))}function Un(){nt(_i,ai)&&(Si.on(gr+gi,null).on(yr+gi,null),ei(Zr),bi({type:"dragend"}))}}}return He.origin=function(kt){return arguments.length?(se=kt,He):se},e.rebind(He,X,"on")};function Ge(){return e.event.changedTouches[0].identifier}e.touches=function(X,se){return arguments.length<2&&(se=Ee().touches),se?r(se).map(function(Te){var Ne=dt(X,Te);return Ne.identifier=Te.identifier,Ne}):[]};var Je=1e-6,je=Je*Je,tt=Math.PI,xt=2*tt,Ie=xt-Je,xe=tt/2,ke=tt/180,vt=180/tt;function ir(X){return X>0?1:X<0?-1:0}function ar(X,se,Te){return(se[0]-X[0])*(Te[1]-X[1])-(se[1]-X[1])*(Te[0]-X[0])}function vr(X){return X>1?0:X<-1?tt:Math.acos(X)}function ii(X){return X>1?xe:X<-1?-xe:Math.asin(X)}function pi(X){return((X=Math.exp(X))-1/X)/2}function $r(X){return((X=Math.exp(X))+1/X)/2}function di(X){return((X=Math.exp(2*X))-1)/(X+1)}function ji(X){return(X=Math.sin(X/2))*X}var In=Math.SQRT2,wi=2,On=4;e.interpolateZoom=function(X,se){var Te=X[0],Ne=X[1],He=X[2],Ye=se[0],kt=se[1],nt=se[2],jt=Ye-Te,gr=kt-Ne,yr=jt*jt+gr*gr,Hr,qr;if(yr<je)qr=Math.log(nt/He)/In,Hr=function(Ii){return[Te+Ii*jt,Ne+Ii*gr,He*Math.exp(In*Ii*qr)]};else{var _i=Math.sqrt(yr),bi=(nt*nt-He*He+On*yr)/(2*He*wi*_i),Zr=(nt*nt-He*He-On*yr)/(2*nt*wi*_i),ai=Math.log(Math.sqrt(bi*bi+1)-bi),gi=Math.log(Math.sqrt(Zr*Zr+1)-Zr);qr=(gi-ai)/In,Hr=function(Ii){var Si=Ii*qr,ei=$r(ai),Ln=He/(wi*_i)*(ei*di(In*Si+ai)-pi(ai));return[Te+Ln*jt,Ne+Ln*gr,He*ei/$r(In*Si+ai)]}}return Hr.duration=qr*1e3,Hr},e.behavior.zoom=function(){var X={x:0,y:0,k:1},se,Te,Ne,He=[960,500],Ye=qn,kt=250,nt=0,jt="mousedown.zoom",gr="mousemove.zoom",yr="mouseup.zoom",Hr,qr="touchstart.zoom",_i,bi=Ce(Si,"zoomstart","zoom","zoomend"),Zr,ai,gi,Ii;ra||(ra="onwheel"in n?(Fn=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in n?(Fn=function(){return e.event.wheelDelta},"mousewheel"):(Fn=function(){return-e.event.detail},"MozMousePixelScroll"));function Si(Gn){Gn.on(jt,go).on(ra+".zoom",Ms).on("dblclick.zoom",Xs).on(qr,Is)}Si.event=function(Gn){Gn.each(function(){var Ha=bi.of(this,arguments),Fo=X;Bo?e.select(this).transition().each("start.zoom",function(){X=this.__chart__||{x:0,y:0,k:1},Ia(Ha)}).tween("zoom:zoom",function(){var Uo=He[0],$s=He[1],Sl=Te?Te[0]:Uo/2,bu=Te?Te[1]:$s/2,dl=e.interpolateZoom([(Sl-X.x)/X.k,(bu-X.y)/X.k,Uo/X.k],[(Sl-Fo.x)/Fo.k,(bu-Fo.y)/Fo.k,Uo/Fo.k]);return function(Sc){var Me=dl(Sc),bt=Uo/Me[2];this.__chart__=X={x:Sl-Me[0]*bt,y:bu-Me[1]*bt,k:bt},yo(Ha)}}).each("interrupt.zoom",function(){Da(Ha)}).each("end.zoom",function(){Da(Ha)}):(this.__chart__=X,Ia(Ha),yo(Ha),Da(Ha))})},Si.translate=function(Gn){return arguments.length?(X={x:+Gn[0],y:+Gn[1],k:X.k},Ea(),Si):[X.x,X.y]},Si.scale=function(Gn){return arguments.length?(X={x:X.x,y:X.y,k:null},En(+Gn),Ea(),Si):X.k},Si.scaleExtent=function(Gn){return arguments.length?(Ye=Gn==null?qn:[+Gn[0],+Gn[1]],Si):Ye},Si.center=function(Gn){return arguments.length?(Ne=Gn&&[+Gn[0],+Gn[1]],Si):Ne},Si.size=function(Gn){return arguments.length?(He=Gn&&[+Gn[0],+Gn[1]],Si):He},Si.duration=function(Gn){return arguments.length?(kt=+Gn,Si):kt},Si.x=function(Gn){return arguments.length?(ai=Gn,Zr=Gn.copy(),X={x:0,y:0,k:1},Si):ai},Si.y=function(Gn){return arguments.length?(Ii=Gn,gi=Gn.copy(),X={x:0,y:0,k:1},Si):Ii};function ei(Gn){return[(Gn[0]-X.x)/X.k,(Gn[1]-X.y)/X.k]}function Ln(Gn){return[Gn[0]*X.k+X.x,Gn[1]*X.k+X.y]}function En(Gn){X.k=Math.max(Ye[0],Math.min(Ye[1],Gn))}function Un(Gn,Ha){Ha=Ln(Ha),X.x+=Gn[0]-Ha[0],X.y+=Gn[1]-Ha[1]}function ia(Gn,Ha,Fo,Uo){Gn.__chart__={x:X.x,y:X.y,k:X.k},En(Math.pow(2,Uo)),Un(Te=Ha,Fo),Gn=e.select(Gn),kt>0&&(Gn=Gn.transition().duration(kt)),Gn.call(Si.event)}function Ea(){ai&&ai.domain(Zr.range().map(function(Gn){return(Gn-X.x)/X.k}).map(Zr.invert)),Ii&&Ii.domain(gi.range().map(function(Gn){return(Gn-X.y)/X.k}).map(gi.invert))}function Ia(Gn){nt++||Gn({type:"zoomstart"})}function yo(Gn){Ea(),Gn({type:"zoom",scale:X.k,translate:[X.x,X.y]})}function Da(Gn){--nt||(Gn({type:"zoomend"}),Te=null)}function go(){var Gn=this,Ha=bi.of(Gn,arguments),Fo=0,Uo=e.select(a(Gn)).on(gr,bu).on(yr,dl),$s=ei(e.mouse(Gn)),Sl=Br(Gn);fa.call(Gn),Ia(Ha);function bu(){Fo=1,Un(e.mouse(Gn),$s),yo(Ha)}function dl(){Uo.on(gr,null).on(yr,null),Sl(Fo),Da(Ha)}}function Is(){var Gn=this,Ha=bi.of(Gn,arguments),Fo={},Uo=0,$s,Sl=".zoom-"+e.event.changedTouches[0].identifier,bu="touchmove"+Sl,dl="touchend"+Sl,Sc=[],Me=e.select(Gn),bt=Br(Gn);Rr(),Ia(Ha),Me.on(jt,null).on(qr,Rr);function zt(){var Gr=e.touches(Gn);return $s=X.k,Gr.forEach(function(mi){mi.identifier in Fo&&(Fo[mi.identifier]=ei(mi))}),Gr}function Rr(){var Gr=e.event.target;e.select(Gr).on(bu,jr).on(dl,Nr),Sc.push(Gr);for(var mi=e.event.changedTouches,Ui=0,qi=mi.length;Ui<qi;++Ui)Fo[mi[Ui].identifier]=null;var Ei=zt(),Hn=Date.now();if(Ei.length===1){if(Hn-_i<500){var en=Ei[0];ia(Gn,en,Fo[en.identifier],Math.floor(Math.log(X.k)/Math.LN2)+1),_e()}_i=Hn}else if(Ei.length>1){var en=Ei[0],Wi=Ei[1],si=en[0]-Wi[0],Mr=en[1]-Wi[1];Uo=si*si+Mr*Mr}}function jr(){var Gr=e.touches(Gn),mi,Ui,qi,Ei;fa.call(Gn);for(var Hn=0,en=Gr.length;Hn<en;++Hn,Ei=null)if(qi=Gr[Hn],Ei=Fo[qi.identifier]){if(Ui)break;mi=qi,Ui=Ei}if(Ei){var Wi=(Wi=qi[0]-mi[0])*Wi+(Wi=qi[1]-mi[1])*Wi,si=Uo&&Math.sqrt(Wi/Uo);mi=[(mi[0]+qi[0])/2,(mi[1]+qi[1])/2],Ui=[(Ui[0]+Ei[0])/2,(Ui[1]+Ei[1])/2],En(si*$s)}_i=null,Un(mi,Ui),yo(Ha)}function Nr(){if(e.event.touches.length){for(var Gr=e.event.changedTouches,mi=0,Ui=Gr.length;mi<Ui;++mi)delete Fo[Gr[mi].identifier];for(var qi in Fo)return void zt()}e.selectAll(Sc).on(Sl,null),Me.on(jt,go).on(qr,Is),bt(),Da(Ha)}}function Ms(){var Gn=bi.of(this,arguments);Hr?clearTimeout(Hr):(fa.call(this),se=ei(Te=Ne||e.mouse(this)),Ia(Gn)),Hr=setTimeout(function(){Hr=null,Da(Gn)},50),_e(),En(Math.pow(2,Fn()*.002)*X.k),Un(Te,se),yo(Gn)}function Xs(){var Gn=e.mouse(this),Ha=Math.log(X.k)/Math.LN2;ia(this,Gn,ei(Gn),e.event.shiftKey?Math.ceil(Ha)-1:Math.floor(Ha)+1)}return e.rebind(Si,bi,"on")};var qn=[0,1/0],Fn,ra;e.color=la;function la(){}la.prototype.toString=function(){return this.rgb()+""},e.hsl=Ut;function Ut(X,se,Te){return this instanceof Ut?(this.h=+X,this.s=+se,void(this.l=+Te)):arguments.length<2?X instanceof Ut?new Ut(X.h,X.s,X.l):Ga(""+X,vo,Ut):new Ut(X,se,Te)}var wt=Ut.prototype=new la;wt.brighter=function(X){return X=Math.pow(.7,arguments.length?X:1),new Ut(this.h,this.s,this.l/X)},wt.darker=function(X){return X=Math.pow(.7,arguments.length?X:1),new Ut(this.h,this.s,X*this.l)},wt.rgb=function(){return rr(this.h,this.s,this.l)};function rr(X,se,Te){var Ne,He;X=isNaN(X)?0:(X%=360)<0?X+360:X,se=isNaN(se)||se<0?0:se>1?1:se,Te=Te<0?0:Te>1?1:Te,He=Te<=.5?Te*(1+se):Te+se-Te*se,Ne=2*Te-He;function Ye(nt){return nt>360?nt-=360:nt<0&&(nt+=360),nt<60?Ne+(He-Ne)*nt/60:nt<180?He:nt<240?Ne+(He-Ne)*(240-nt)/60:Ne}function kt(nt){return Math.round(Ye(nt)*255)}return new Wa(kt(X+120),kt(X),kt(X-120))}e.hcl=nr;function nr(X,se,Te){return this instanceof nr?(this.h=+X,this.c=+se,void(this.l=+Te)):arguments.length<2?X instanceof nr?new nr(X.h,X.c,X.l):X instanceof ri?Sn(X.l,X.a,X.b):Sn((X=jn((X=e.rgb(X)).r,X.g,X.b)).l,X.a,X.b):new nr(X,se,Te)}var Er=nr.prototype=new la;Er.brighter=function(X){return new nr(this.h,this.c,Math.min(100,this.l+Qr*(arguments.length?X:1)))},Er.darker=function(X){return new nr(this.h,this.c,Math.max(0,this.l-Qr*(arguments.length?X:1)))},Er.rgb=function(){return Xr(this.h,this.c,this.l).rgb()};function Xr(X,se,Te){return isNaN(X)&&(X=0),isNaN(se)&&(se=0),new ri(Te,Math.cos(X*=ke)*se,Math.sin(X)*se)}e.lab=ri;function ri(X,se,Te){return this instanceof ri?(this.l=+X,this.a=+se,void(this.b=+Te)):arguments.length<2?X instanceof ri?new ri(X.l,X.a,X.b):X instanceof nr?Xr(X.h,X.c,X.l):jn((X=Wa(X)).r,X.g,X.b):new ri(X,se,Te)}var Qr=18,Oi=.95047,$i=1,tn=1.08883,fn=ri.prototype=new la;fn.brighter=function(X){return new ri(Math.min(100,this.l+Qr*(arguments.length?X:1)),this.a,this.b)},fn.darker=function(X){return new ri(Math.max(0,this.l-Qr*(arguments.length?X:1)),this.a,this.b)},fn.rgb=function(){return yn(this.l,this.a,this.b)};function yn(X,se,Te){var Ne=(X+16)/116,He=Ne+se/500,Ye=Ne-Te/200;return He=Ba(He)*Oi,Ne=Ba(Ne)*$i,Ye=Ba(Ye)*tn,new Wa(ma(3.2404542*He-1.5371385*Ne-.4985314*Ye),ma(-.969266*He+1.8760108*Ne+.041556*Ye),ma(.0556434*He-.2040259*Ne+1.0572252*Ye))}function Sn(X,se,Te){return X>0?new nr(Math.atan2(Te,se)*vt,Math.sqrt(se*se+Te*Te),X):new nr(NaN,NaN,X)}function Ba(X){return X>.206893034?X*X*X:(X-4/29)/7.787037}function ua(X){return X>.008856?Math.pow(X,1/3):7.787037*X+4/29}function ma(X){return Math.round(255*(X<=.00304?12.92*X:1.055*Math.pow(X,1/2.4)-.055))}e.rgb=Wa;function Wa(X,se,Te){return this instanceof Wa?(this.r=~~X,this.g=~~se,void(this.b=~~Te)):arguments.length<2?X instanceof Wa?new Wa(X.r,X.g,X.b):Ga(""+X,Wa,rr):new Wa(X,se,Te)}function Fa(X){return new Wa(X>>16,X>>8&255,X&255)}function Wo(X){return Fa(X)+""}var da=Wa.prototype=new la;da.brighter=function(X){X=Math.pow(.7,arguments.length?X:1);var se=this.r,Te=this.g,Ne=this.b,He=30;return!se&&!Te&&!Ne?new Wa(He,He,He):(se&&se<He&&(se=He),Te&&Te<He&&(Te=He),Ne&&Ne<He&&(Ne=He),new Wa(Math.min(255,se/X),Math.min(255,Te/X),Math.min(255,Ne/X)))},da.darker=function(X){return X=Math.pow(.7,arguments.length?X:1),new Wa(X*this.r,X*this.g,X*this.b)},da.hsl=function(){return vo(this.r,this.g,this.b)},da.toString=function(){return"#"+Wn(this.r)+Wn(this.g)+Wn(this.b)};function Wn(X){return X<16?"0"+Math.max(0,X).toString(16):Math.min(255,X).toString(16)}function Ga(X,se,Te){var Ne=0,He=0,Ye=0,kt,nt,jt;if(kt=/([a-z]+)\((.*)\)/.exec(X=X.toLowerCase()),kt)switch(nt=kt[2].split(","),kt[1]){case"hsl":return Te(parseFloat(nt[0]),parseFloat(nt[1])/100,parseFloat(nt[2])/100);case"rgb":return se(kr(nt[0]),kr(nt[1]),kr(nt[2]))}return(jt=Jr.get(X))?se(jt.r,jt.g,jt.b):(X!=null&&X.charAt(0)==="#"&&!isNaN(jt=parseInt(X.slice(1),16))&&(X.length===4?(Ne=(jt&3840)>>4,Ne=Ne>>4|Ne,He=jt&240,He=He>>4|He,Ye=jt&15,Ye=Ye<<4|Ye):X.length===7&&(Ne=(jt&16711680)>>16,He=(jt&65280)>>8,Ye=jt&255)),se(Ne,He,Ye))}function vo(X,se,Te){var Ne=Math.min(X/=255,se/=255,Te/=255),He=Math.max(X,se,Te),Ye=He-Ne,kt,nt,jt=(He+Ne)/2;return Ye?(nt=jt<.5?Ye/(He+Ne):Ye/(2-He-Ne),X==He?kt=(se-Te)/Ye+(se<Te?6:0):se==He?kt=(Te-X)/Ye+2:kt=(X-se)/Ye+4,kt*=60):(kt=NaN,nt=jt>0&&jt<1?0:kt),new Ut(kt,nt,jt)}function jn(X,se,Te){X=Mt(X),se=Mt(se),Te=Mt(Te);var Ne=ua((.4124564*X+.3575761*se+.1804375*Te)/Oi),He=ua((.2126729*X+.7151522*se+.072175*Te)/$i),Ye=ua((.0193339*X+.119192*se+.9503041*Te)/tn);return ri(116*He-16,500*(Ne-He),200*(He-Ye))}function Mt(X){return(X/=255)<=.04045?X/12.92:Math.pow((X+.055)/1.055,2.4)}function kr(X){var se=parseFloat(X);return X.charAt(X.length-1)==="%"?Math.round(se*2.55):se}var Jr=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});Jr.forEach(function(X,se){Jr.set(X,Fa(se))});function vi(X){return typeof X=="function"?X:function(){return X}}e.functor=vi,e.xhr=hn(G);function hn(X){return function(se,Te,Ne){return arguments.length===2&&typeof Te=="function"&&(Ne=Te,Te=null),An(se,Te,X,Ne)}}function An(X,se,Te,Ne){var He={},Ye=e.dispatch("beforesend","progress","load","error"),kt={},nt=new XMLHttpRequest,jt=null;self.XDomainRequest&&!("withCredentials"in nt)&&/^(http(s)?:)?\/\//.test(X)&&(nt=new XDomainRequest),"onload"in nt?nt.onload=nt.onerror=gr:nt.onreadystatechange=function(){nt.readyState>3&&gr()};function gr(){var yr=nt.status,Hr;if(!yr&&Li(nt)||yr>=200&&yr<300||yr===304){try{Hr=Te.call(He,nt)}catch(qr){Ye.error.call(He,qr);return}Ye.load.call(He,Hr)}else Ye.error.call(He,nt)}return nt.onprogress=function(yr){var Hr=e.event;e.event=yr;try{Ye.progress.call(He,nt)}finally{e.event=Hr}},He.header=function(yr,Hr){return yr=(yr+"").toLowerCase(),arguments.length<2?kt[yr]:(Hr==null?delete kt[yr]:kt[yr]=Hr+"",He)},He.mimeType=function(yr){return arguments.length?(se=yr==null?null:yr+"",He):se},He.responseType=function(yr){return arguments.length?(jt=yr,He):jt},He.response=function(yr){return Te=yr,He},["get","post"].forEach(function(yr){He[yr]=function(){return He.send.apply(He,[yr].concat(r(arguments)))}}),He.send=function(yr,Hr,qr){if(arguments.length===2&&typeof Hr=="function"&&(qr=Hr,Hr=null),nt.open(yr,X,!0),se!=null&&!("accept"in kt)&&(kt.accept=se+",*/*"),nt.setRequestHeader)for(var _i in kt)nt.setRequestHeader(_i,kt[_i]);return se!=null&&nt.overrideMimeType&&nt.overrideMimeType(se),jt!=null&&(nt.responseType=jt),qr!=null&&He.on("error",qr).on("load",function(bi){qr(null,bi)}),Ye.beforesend.call(He,nt),nt.send(Hr==null?null:Hr),He},He.abort=function(){return nt.abort(),He},e.rebind(He,Ye,"on"),Ne==null?He:He.get(Mn(Ne))}function Mn(X){return X.length===1?function(se,Te){X(se==null?Te:null)}:X}function Li(X){var se=X.responseType;return se&&se!=="text"?X.response:X.responseText}e.dsv=function(X,se){var Te=new RegExp('["'+X+`
]`),Ne=X.charCodeAt(0);function He(gr,yr,Hr){arguments.length<3&&(Hr=yr,yr=null);var qr=An(gr,se,yr==null?Ye:kt(yr),Hr);return qr.row=function(_i){return arguments.length?qr.response((yr=_i)==null?Ye:kt(_i)):yr},qr}function Ye(gr){return He.parse(gr.responseText)}function kt(gr){return function(yr){return He.parse(yr.responseText,gr)}}He.parse=function(gr,yr){var Hr;return He.parseRows(gr,function(qr,_i){if(Hr)return Hr(qr,_i-1);var bi=function(Zr){for(var ai={},gi=qr.length,Ii=0;Ii<gi;++Ii)ai[qr[Ii]]=Zr[Ii];return ai};Hr=yr?function(Zr,ai){return yr(bi(Zr),ai)}:bi})},He.parseRows=function(gr,yr){var Hr={},qr={},_i=[],bi=gr.length,Zr=0,ai=0,gi,Ii;function Si(){if(Zr>=bi)return qr;if(Ii)return Ii=!1,Hr;var Ln=Zr;if(gr.charCodeAt(Ln)===34){for(var En=Ln;En++<bi;)if(gr.charCodeAt(En)===34){if(gr.charCodeAt(En+1)!==34)break;++En}Zr=En+2;var Un=gr.charCodeAt(En+1);return Un===13?(Ii=!0,gr.charCodeAt(En+2)===10&&++Zr):Un===10&&(Ii=!0),gr.slice(Ln+1,En).replace(/""/g,'"')}for(;Zr<bi;){var Un=gr.charCodeAt(Zr++),ia=1;if(Un===10)Ii=!0;else if(Un===13)Ii=!0,gr.charCodeAt(Zr)===10&&(++Zr,++ia);else if(Un!==Ne)continue;return gr.slice(Ln,Zr-ia)}return gr.slice(Ln)}for(;(gi=Si())!==qr;){for(var ei=[];gi!==Hr&&gi!==qr;)ei.push(gi),gi=Si();yr&&(ei=yr(ei,ai++))==null||_i.push(ei)}return _i},He.format=function(gr){if(Array.isArray(gr[0]))return He.formatRows(gr);var yr=new V,Hr=[];return gr.forEach(function(qr){for(var _i in qr)yr.has(_i)||Hr.push(yr.add(_i))}),[Hr.map(jt).join(X)].concat(gr.map(function(qr){return Hr.map(function(_i){return jt(qr[_i])}).join(X)})).join(`
`)},He.formatRows=function(gr){return gr.map(nt).join(`
`)};function nt(gr){return gr.map(jt).join(X)}function jt(gr){return Te.test(gr)?'"'+gr.replace(/\"/g,'""')+'"':gr}return He},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var _n,ya,Jn,Ma,_o=this[H(this,"requestAnimationFrame")]||function(X){setTimeout(X,17)};e.timer=function(){No.apply(this,arguments)};function No(X,se,Te){var Ne=arguments.length;Ne<2&&(se=0),Ne<3&&(Te=Date.now());var He=Te+se,Ye={c:X,t:He,n:null};return ya?ya.n=Ye:_n=Ye,ya=Ye,Jn||(Ma=clearTimeout(Ma),Jn=1,_o(po)),Ye}function po(){var X=Lo(),se=ko()-X;se>24?(isFinite(se)&&(clearTimeout(Ma),Ma=setTimeout(po,se)),Jn=0):(Jn=1,_o(po))}e.timer.flush=function(){Lo(),ko()};function Lo(){for(var X=Date.now(),se=_n;se;)X>=se.t&&se.c(X-se.t)&&(se.c=null),se=se.n;return X}function ko(){for(var X,se=_n,Te=1/0;se;)se.c?(se.t<Te&&(Te=se.t),se=(X=se).n):se=X?X.n=se.n:_n=se.n;return ya=X,Te}e.round=function(X,se){return se?Math.round(X*(se=Math.pow(10,se)))/se:Math.round(X)},e.geom={};function Ds(X){return X[0]}function Fs(X){return X[1]}e.geom.hull=function(X){var se=Ds,Te=Fs;if(arguments.length)return Ne(X);function Ne(He){if(He.length<3)return[];var Ye=vi(se),kt=vi(Te),nt,jt=He.length,gr=[],yr=[];for(nt=0;nt<jt;nt++)gr.push([+Ye.call(this,He[nt],nt),+kt.call(this,He[nt],nt),nt]);for(gr.sort(ul),nt=0;nt<jt;nt++)yr.push([gr[nt][0],-gr[nt][1]]);var Hr=ll(gr),qr=ll(yr),_i=qr[0]===Hr[0],bi=qr[qr.length-1]===Hr[Hr.length-1],Zr=[];for(nt=Hr.length-1;nt>=0;--nt)Zr.push(He[gr[Hr[nt]][2]]);for(nt=+_i;nt<qr.length-bi;++nt)Zr.push(He[gr[qr[nt]][2]]);return Zr}return Ne.x=function(He){return arguments.length?(se=He,Ne):se},Ne.y=function(He){return arguments.length?(Te=He,Ne):Te},Ne};function ll(X){for(var se=X.length,Te=[0,1],Ne=2,He=2;He<se;He++){for(;Ne>1&&ar(X[Te[Ne-2]],X[Te[Ne-1]],X[He])<=0;)--Ne;Te[Ne++]=He}return Te.slice(0,Ne)}function ul(X,se){return X[0]-se[0]||X[1]-se[1]}e.geom.polygon=function(X){return ie(X,Fl),X};var Fl=e.geom.polygon.prototype=[];Fl.area=function(){for(var X=-1,se=this.length,Te,Ne=this[se-1],He=0;++X<se;)Te=Ne,Ne=this[X],He+=Te[1]*Ne[0]-Te[0]*Ne[1];return He*.5},Fl.centroid=function(X){var se=-1,Te=this.length,Ne=0,He=0,Ye,kt=this[Te-1],nt;for(arguments.length||(X=-1/(6*this.area()));++se<Te;)Ye=kt,kt=this[se],nt=Ye[0]*kt[1]-kt[0]*Ye[1],Ne+=(Ye[0]+kt[0])*nt,He+=(Ye[1]+kt[1])*nt;return[Ne*X,He*X]},Fl.clip=function(X){for(var se,Te=As(X),Ne=-1,He=this.length-As(this),Ye,kt,nt=this[He-1],jt,gr,yr;++Ne<He;){for(se=X.slice(),X.length=0,jt=this[Ne],gr=se[(kt=se.length-Te)-1],Ye=-1;++Ye<kt;)yr=se[Ye],us(yr,nt,jt)?(us(gr,nt,jt)||X.push(il(gr,yr,nt,jt)),X.push(yr)):us(gr,nt,jt)&&X.push(il(gr,yr,nt,jt)),gr=yr;Te&&X.push(X[0]),nt=jt}return X};function us(X,se,Te){return(Te[0]-se[0])*(X[1]-se[1])<(Te[1]-se[1])*(X[0]-se[0])}function il(X,se,Te,Ne){var He=X[0],Ye=Te[0],kt=se[0]-He,nt=Ne[0]-Ye,jt=X[1],gr=Te[1],yr=se[1]-jt,Hr=Ne[1]-gr,qr=(nt*(jt-gr)-Hr*(He-Ye))/(Hr*kt-nt*yr);return[He+qr*kt,jt+qr*yr]}function As(X){var se=X[0],Te=X[X.length-1];return!(se[0]-Te[0]||se[1]-Te[1])}var cl,Ks,zs,Io=[],ls,Zl,Su=[];function nc(){Os(this),this.edge=this.site=this.circle=null}function bs(X){var se=Io.pop()||new nc;return se.site=X,se}function Rn(X){Oo(X),zs.remove(X),Io.push(X),Os(X)}function _a(X){var se=X.circle,Te=se.x,Ne=se.cy,He={x:Te,y:Ne},Ye=X.P,kt=X.N,nt=[X];Rn(X);for(var jt=Ye;jt.circle&&p(Te-jt.circle.x)<Je&&p(Ne-jt.circle.cy)<Je;)Ye=jt.P,nt.unshift(jt),Rn(jt),jt=Ye;nt.unshift(jt),Oo(jt);for(var gr=kt;gr.circle&&p(Te-gr.circle.x)<Je&&p(Ne-gr.circle.cy)<Je;)kt=gr.N,nt.push(gr),Rn(gr),gr=kt;nt.push(gr),Oo(gr);var yr=nt.length,Hr;for(Hr=1;Hr<yr;++Hr)gr=nt[Hr],jt=nt[Hr-1],pl(gr.edge,jt.site,gr.site,He);jt=nt[0],gr=nt[yr-1],gr.edge=rf(jt.site,gr.site,null,He),aa(jt),aa(gr)}function Vu(X){for(var se=X.x,Te=X.y,Ne,He,Ye,kt,nt=zs._;nt;)if(Ye=zl(nt,Te)-se,Ye>Je)nt=nt.L;else if(kt=se-xo(nt,Te),kt>Je){if(!nt.R){Ne=nt;break}nt=nt.R}else{Ye>-Je?(Ne=nt.P,He=nt):kt>-Je?(Ne=nt,He=nt.N):Ne=He=nt;break}var jt=bs(X);if(zs.insert(Ne,jt),!(!Ne&&!He)){if(Ne===He){Oo(Ne),He=bs(Ne.site),zs.insert(jt,He),jt.edge=He.edge=rf(Ne.site,jt.site),aa(Ne),aa(He);return}if(!He){jt.edge=rf(Ne.site,jt.site);return}Oo(Ne),Oo(He);var gr=Ne.site,yr=gr.x,Hr=gr.y,qr=X.x-yr,_i=X.y-Hr,bi=He.site,Zr=bi.x-yr,ai=bi.y-Hr,gi=2*(qr*ai-_i*Zr),Ii=qr*qr+_i*_i,Si=Zr*Zr+ai*ai,ei={x:(ai*Ii-_i*Si)/gi+yr,y:(qr*Si-Zr*Ii)/gi+Hr};pl(He.edge,gr,bi,ei),jt.edge=rf(gr,X,null,ei),He.edge=rf(X,bi,null,ei),aa(Ne),aa(He)}}function zl(X,se){var Te=X.site,Ne=Te.x,He=Te.y,Ye=He-se;if(!Ye)return Ne;var kt=X.P;if(!kt)return-1/0;Te=kt.site;var nt=Te.x,jt=Te.y,gr=jt-se;if(!gr)return nt;var yr=nt-Ne,Hr=1/Ye-1/gr,qr=yr/gr;return Hr?(-qr+Math.sqrt(qr*qr-2*Hr*(yr*yr/(-2*gr)-jt+gr/2+He-Ye/2)))/Hr+Ne:(Ne+nt)/2}function xo(X,se){var Te=X.N;if(Te)return zl(Te,se);var Ne=X.site;return Ne.y===se?Ne.x:1/0}function Yl(X){this.site=X,this.edges=[]}Yl.prototype.prepare=function(){for(var X=this.edges,se=X.length,Te;se--;)Te=X[se].edge,(!Te.b||!Te.a)&&X.splice(se,1);return X.sort(Hl),X.length};function Ns(X){for(var se=X[0][0],Te=X[1][0],Ne=X[0][1],He=X[1][1],Ye,kt,nt,jt,gr=Ks,yr=gr.length,Hr,qr,_i,bi,Zr,ai;yr--;)if(Hr=gr[yr],!(!Hr||!Hr.prepare()))for(_i=Hr.edges,bi=_i.length,qr=0;qr<bi;)ai=_i[qr].end(),nt=ai.x,jt=ai.y,Zr=_i[++qr%bi].start(),Ye=Zr.x,kt=Zr.y,(p(nt-Ye)>Je||p(jt-kt)>Je)&&(_i.splice(qr,0,new Zc(Uf(Hr.site,ai,p(nt-se)<Je&&He-jt>Je?{x:se,y:p(Ye-se)<Je?kt:He}:p(jt-He)<Je&&Te-nt>Je?{x:p(kt-He)<Je?Ye:Te,y:He}:p(nt-Te)<Je&&jt-Ne>Je?{x:Te,y:p(Ye-Te)<Je?kt:Ne}:p(jt-Ne)<Je&&nt-se>Je?{x:p(kt-Ne)<Je?Ye:se,y:Ne}:null),Hr.site,null)),++bi)}function Hl(X,se){return se.angle-X.angle}function ac(){Os(this),this.x=this.y=this.arc=this.site=this.cy=null}function aa(X){var se=X.P,Te=X.N;if(!(!se||!Te)){var Ne=se.site,He=X.site,Ye=Te.site;if(Ne!==Ye){var kt=He.x,nt=He.y,jt=Ne.x-kt,gr=Ne.y-nt,yr=Ye.x-kt,ai=Ye.y-nt,Hr=2*(jt*ai-gr*yr);if(!(Hr>=-je)){var qr=jt*jt+gr*gr,_i=yr*yr+ai*ai,bi=(ai*qr-gr*_i)/Hr,Zr=(jt*_i-yr*qr)/Hr,ai=Zr+nt,gi=Su.pop()||new ac;gi.arc=X,gi.site=He,gi.x=bi+kt,gi.y=ai+Math.sqrt(bi*bi+Zr*Zr),gi.cy=ai,X.circle=gi;for(var Ii=null,Si=Zl._;Si;)if(gi.y<Si.y||gi.y===Si.y&&gi.x<=Si.x)if(Si.L)Si=Si.L;else{Ii=Si.P;break}else if(Si.R)Si=Si.R;else{Ii=Si;break}Zl.insert(Ii,gi),Ii||(ls=gi)}}}}function Oo(X){var se=X.circle;se&&(se.P||(ls=se.N),Zl.remove(se),Su.push(se),Os(se),X.circle=null)}function qo(X,se,Te,Ne){return function(He){var Ye=He.a,kt=He.b,nt=Ye.x,jt=Ye.y,gr=kt.x,yr=kt.y,Hr=0,qr=1,_i=gr-nt,bi=yr-jt,Zr;if(Zr=X-nt,!(!_i&&Zr>0)){if(Zr/=_i,_i<0){if(Zr<Hr)return;Zr<qr&&(qr=Zr)}else if(_i>0){if(Zr>qr)r