UNPKG

@explorables/albert_and_carl_friedrich

Version:

This explorable illustrates two dimensional random walks and the central limit theorem. Although random walks may differ on a small scale, as time progress and they all looks the same from a distance.

2 lines 171 kB
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--tw-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tw-color-black:#000;--tw-color-white:#fff;--tw-spacing:.25rem;--tw-container-5xl:64rem;--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2/1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height: 1.2 ;--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-light:300}}@layer base,components;@layer utilities{.tw\\:m-8{margin:calc(var(--tw-spacing)*8)}.tw\\:grid{display:grid}.tw\\:max-w-5xl{max-width:var(--tw-container-5xl)}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:border-1{border-style:var(--tw-border-style);border-width:1px}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:p-0{padding:calc(var(--tw-spacing)*0)}.tw\\:px-1{padding-inline:calc(var(--tw-spacing)*1)}.tw\\:px-10{padding-inline:calc(var(--tw-spacing)*10)}.tw\\:font-sans{font-family:var(--tw-font-sans)}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}.tw\\:font-light{--tw-font-weight:var(--tw-font-weight-light);font-weight:var(--tw-font-weight-light)}.tw\\:text-black{color:var(--tw-color-black)}@media (min-width:40rem){.tw\\:sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:sm\\:gap-8{gap:calc(var(--tw-spacing)*8)}.tw\\:sm\\:p-0{padding:calc(var(--tw-spacing)*0)}}@media (prefers-color-scheme:dark){.tw\\:dark\\:border-white{border-color:var(--tw-color-white)}.tw\\:dark\\:bg-black{background-color:var(--tw-color-black)}.tw\\:dark\\:text-white{color:var(--tw-color-white)}}.debug-grid-16{background-image:linear-gradient(90deg,#0000ff1a 1px,#0000 1px),linear-gradient(#0000ff1a 1px,#0000 1px);background-repeat:repeat;background-size:6.25% 6.25%,6.25% 6.25%}}.explorable *,.explorable :before,.explorable :after{box-sizing:border-box}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}._displayPanel_1no3j_1,._controlPanel_1no3j_6{display:block}._insetaxis_1no3j_16{stroke:#000;stroke-width:1px}@media (prefers-color-scheme: dark){._insetaxis_1no3j_16{stroke:#fff;stroke-width:1px}}._pdf_lattice_1no3j_28{stroke:none;opacity:1}._pdf_ring_1no3j_33{fill:none;stroke-width:5px;opacity:1}._pdf_gaussian_1no3j_38{opacity:.7;stroke:none;fill:url(#gaussian_gradient)}@media (prefers-color-scheme: dark){._pdf_gaussian_1no3j_38{fill:url(#gaussian_gradient_dark)}}._pdf_triangular_1no3j_50{opacity:1;stroke:none}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); (function(T,Zt){typeof exports=="object"&&typeof module<"u"?Zt(exports):typeof define=="function"&&define.amd?define(["exports"],Zt):(T=typeof globalThis<"u"?globalThis:T||self,Zt(T.albert_and_carl_friedrich={}))})(this,function(T){"use strict";const Zt={display_type:"canvas",debug:!1,debug_lattice:"debug-grid-16",controls_grid:{nx:12,ny:12},display_size:{width:500,height:500},controls_size:{width:480,height:480},display_class:"tw:border-1 tw-border-black tw:dark:border-white tw:p-0",controls_class:"tw:p-0",container_class:"tw:font-sans tw:font-light tw:grid tw:grid-cols-1 tw:sm:grid-cols-2 tw:sm:gap-8 tw:px-1 tw:sm:p-0 tw:m-8"};function Zn(t,n){return t==null||n==null?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function al(t,n){return t==null||n==null?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function Vi(t){let n,e,r;t.length!==2?(n=Zn,e=(s,l)=>Zn(t(s),l),r=(s,l)=>t(s)-l):(n=t===Zn||t===al?t:ol,e=t,r=t);function i(s,l,u=0,c=s.length){if(u<c){if(n(l,l)!==0)return c;do{const h=u+c>>>1;e(s[h],l)<0?u=h+1:c=h}while(u<c)}return u}function a(s,l,u=0,c=s.length){if(u<c){if(n(l,l)!==0)return c;do{const h=u+c>>>1;e(s[h],l)<=0?u=h+1:c=h}while(u<c)}return u}function o(s,l,u=0,c=s.length){const h=i(s,l,u,c-1);return h>u&&r(s[h-1],l)>-r(s[h],l)?h-1:h}return{left:i,center:o,right:a}}function ol(){return 0}function sl(t){return t===null?NaN:+t}const ul=Vi(Zn).right;Vi(sl).center;class Ki extends Map{constructor(n,e=fl){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),n!=null)for(const[r,i]of n)this.set(r,i)}get(n){return super.get(Wi(this,n))}has(n){return super.has(Wi(this,n))}set(n,e){return super.set(ll(this,n),e)}delete(n){return super.delete(cl(this,n))}}function Wi({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):e}function ll({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):(t.set(r,e),e)}function cl({_intern:t,_key:n},e){const r=n(e);return t.has(r)&&(e=t.get(r),t.delete(r)),e}function fl(t){return t!==null&&typeof t=="object"?t.valueOf():t}const hl=Math.sqrt(50),pl=Math.sqrt(10),dl=Math.sqrt(2);function Jn(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=hl?10:a>=pl?5:a>=dl?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/o,s=Math.round(t*u),l=Math.round(n*u),s/u<t&&++s,l/u>n&&--l,u=-u):(u=Math.pow(10,i)*o,s=Math.round(t/u),l=Math.round(n/u),s*u<t&&++s,l*u>n&&--l),l<s&&.5<=e&&e<2?Jn(t,n,e*2):[s,l,u]}function gl(t,n,e){if(n=+n,t=+t,e=+e,!(e>0))return[];if(t===n)return[t];const r=n<t,[i,a,o]=r?Jn(n,t,e):Jn(t,n,e);if(!(a>=i))return[];const s=a-i+1,l=new Array(s);if(r)if(o<0)for(let u=0;u<s;++u)l[u]=(a-u)/-o;else for(let u=0;u<s;++u)l[u]=(a-u)*o;else if(o<0)for(let u=0;u<s;++u)l[u]=(i+u)/-o;else for(let u=0;u<s;++u)l[u]=(i+u)*o;return l}function fr(t,n,e){return n=+n,t=+t,e=+e,Jn(t,n,e)[2]}function _l(t,n,e){n=+n,t=+t,e=+e;const r=n<t,i=r?fr(n,t,e):fr(t,n,e);return(r?-1:1)*(i<0?1/-i:i)}var yl={value:()=>{}};function Zi(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Qn(e)}function Qn(t){this._=t}function vl(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Qn.prototype=Zi.prototype={constructor:Qn,on:function(t,n){var e=this._,r=vl(t+"",e),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(t=r[a]).type)&&(i=ml(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++a<o;)if(i=(t=r[a]).type)e[i]=Ji(e[i],t.name,n);else if(n==null)for(i in e)e[i]=Ji(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Qn(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,a;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=this._[t],r=0,i=a.length;r<i;++r)a[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(n,e)}};function ml(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function Ji(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=yl,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var hr="http://www.w3.org/1999/xhtml";const Qi={svg:"http://www.w3.org/2000/svg",xhtml:hr,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function te(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),Qi.hasOwnProperty(n)?{space:Qi[n],local:t}:t}function wl(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===hr&&n.documentElement.namespaceURI===hr?n.createElement(t):n.createElementNS(e,t)}}function bl(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ta(t){var n=te(t);return(n.local?bl:wl)(n)}function xl(){}function pr(t){return t==null?xl:function(){return this.querySelector(t)}}function Ml(t){typeof t!="function"&&(t=pr(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var a=n[i],o=a.length,s=r[i]=new Array(o),l,u,c=0;c<o;++c)(l=a[c])&&(u=t.call(l,l.__data__,c,a))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new L(r,this._parents)}function $l(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Al(){return[]}function na(t){return t==null?Al:function(){return this.querySelectorAll(t)}}function kl(t){return function(){return $l(t.apply(this,arguments))}}function Tl(t){typeof t=="function"?t=kl(t):t=na(t);for(var n=this._groups,e=n.length,r=[],i=[],a=0;a<e;++a)for(var o=n[a],s=o.length,l,u=0;u<s;++u)(l=o[u])&&(r.push(t.call(l,l.__data__,u,o)),i.push(l));return new L(r,i)}function ea(t){return function(){return this.matches(t)}}function ra(t){return function(n){return n.matches(t)}}var Sl=Array.prototype.find;function Nl(t){return function(){return Sl.call(this.children,t)}}function Pl(){return this.firstElementChild}function El(t){return this.select(t==null?Pl:Nl(typeof t=="function"?t:ra(t)))}var zl=Array.prototype.filter;function Ol(){return Array.from(this.children)}function Cl(t){return function(){return zl.call(this.children,t)}}function Il(t){return this.selectAll(t==null?Ol:Cl(typeof t=="function"?t:ra(t)))}function Rl(t){typeof t!="function"&&(t=ea(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var a=n[i],o=a.length,s=r[i]=[],l,u=0;u<o;++u)(l=a[u])&&t.call(l,l.__data__,u,a)&&s.push(l);return new L(r,this._parents)}function ia(t){return new Array(t.length)}function ql(){return new L(this._enter||this._groups.map(ia),this._parents)}function ne(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}ne.prototype={constructor:ne,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function jl(t){return function(){return t}}function Ll(t,n,e,r,i,a){for(var o=0,s,l=n.length,u=a.length;o<u;++o)(s=n[o])?(s.__data__=a[o],r[o]=s):e[o]=new ne(t,a[o]);for(;o<l;++o)(s=n[o])&&(i[o]=s)}function Fl(t,n,e,r,i,a,o){var s,l,u=new Map,c=n.length,h=a.length,f=new Array(c),p;for(s=0;s<c;++s)(l=n[s])&&(f[s]=p=o.call(l,l.__data__,s,n)+"",u.has(p)?i[s]=l:u.set(p,l));for(s=0;s<h;++s)p=o.call(t,a[s],s,a)+"",(l=u.get(p))?(r[s]=l,l.__data__=a[s],u.delete(p)):e[s]=new ne(t,a[s]);for(s=0;s<c;++s)(l=n[s])&&u.get(f[s])===l&&(i[s]=l)}function Dl(t){return t.__data__}function Hl(t,n){if(!arguments.length)return Array.from(this,Dl);var e=n?Fl:Ll,r=this._parents,i=this._groups;typeof t!="function"&&(t=jl(t));for(var a=i.length,o=new Array(a),s=new Array(a),l=new Array(a),u=0;u<a;++u){var c=r[u],h=i[u],f=h.length,p=Bl(t.call(c,c&&c.__data__,u,r)),d=p.length,_=s[u]=new Array(d),m=o[u]=new Array(d),M=l[u]=new Array(f);e(c,h,_,m,M,p,n);for(var b=0,x=0,g,v;b<d;++b)if(g=_[b]){for(b>=x&&(x=b+1);!(v=m[x])&&++x<d;);g._next=v||null}}return o=new L(o,r),o._enter=s,o._exit=l,o}function Bl(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Xl(){return new L(this._exit||this._groups.map(ia),this._parents)}function Ul(t,n,e){var r=this.enter(),i=this,a=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?a.remove():e(a),r&&i?r.merge(i).order():i}function Gl(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,a=r.length,o=Math.min(i,a),s=new Array(i),l=0;l<o;++l)for(var u=e[l],c=r[l],h=u.length,f=s[l]=new Array(h),p,d=0;d<h;++d)(p=u[d]||c[d])&&(f[d]=p);for(;l<i;++l)s[l]=e[l];return new L(s,this._parents)}function Yl(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Vl(t){t||(t=Kl);function n(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var e=this._groups,r=e.length,i=new Array(r),a=0;a<r;++a){for(var o=e[a],s=o.length,l=i[a]=new Array(s),u,c=0;c<s;++c)(u=o[c])&&(l[c]=u);l.sort(n)}return new L(i,this._parents).order()}function Kl(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Wl(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Zl(){return Array.from(this)}function Jl(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Ql(){let t=0;for(const n of this)++t;return t}function tc(){return!this.node()}function nc(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],a=0,o=i.length,s;a<o;++a)(s=i[a])&&t.call(s,s.__data__,a,i);return this}function ec(t){return function(){this.removeAttribute(t)}}function rc(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ic(t,n){return function(){this.setAttribute(t,n)}}function ac(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function oc(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function sc(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function uc(t,n){var e=te(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?rc:ec:typeof n=="function"?e.local?sc:oc:e.local?ac:ic)(e,n))}function aa(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function lc(t){return function(){this.style.removeProperty(t)}}function cc(t,n,e){return function(){this.style.setProperty(t,n,e)}}function fc(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function hc(t,n,e){return arguments.length>1?this.each((n==null?lc:typeof n=="function"?fc:cc)(t,n,e??"")):Jt(this.node(),t)}function Jt(t,n){return t.style.getPropertyValue(n)||aa(t).getComputedStyle(t,null).getPropertyValue(n)}function pc(t){return function(){delete this[t]}}function dc(t,n){return function(){this[t]=n}}function gc(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function _c(t,n){return arguments.length>1?this.each((n==null?pc:typeof n=="function"?gc:dc)(t,n)):this.node()[t]}function oa(t){return t.trim().split(/^|\s+/)}function dr(t){return t.classList||new sa(t)}function sa(t){this._node=t,this._names=oa(t.getAttribute("class")||"")}sa.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function ua(t,n){for(var e=dr(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function la(t,n){for(var e=dr(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function yc(t){return function(){ua(this,t)}}function vc(t){return function(){la(this,t)}}function mc(t,n){return function(){(n.apply(this,arguments)?ua:la)(this,t)}}function wc(t,n){var e=oa(t+"");if(arguments.length<2){for(var r=dr(this.node()),i=-1,a=e.length;++i<a;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?mc:n?yc:vc)(e,n))}function bc(){this.textContent=""}function xc(t){return function(){this.textContent=t}}function Mc(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function $c(t){return arguments.length?this.each(t==null?bc:(typeof t=="function"?Mc:xc)(t)):this.node().textContent}function Ac(){this.innerHTML=""}function kc(t){return function(){this.innerHTML=t}}function Tc(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Sc(t){return arguments.length?this.each(t==null?Ac:(typeof t=="function"?Tc:kc)(t)):this.node().innerHTML}function Nc(){this.nextSibling&&this.parentNode.appendChild(this)}function Pc(){return this.each(Nc)}function Ec(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zc(){return this.each(Ec)}function Oc(t){var n=typeof t=="function"?t:ta(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Cc(){return null}function Ic(t,n){var e=typeof t=="function"?t:ta(t),r=n==null?Cc:typeof n=="function"?n:pr(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function Rc(){var t=this.parentNode;t&&t.removeChild(this)}function qc(){return this.each(Rc)}function jc(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Lc(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Fc(t){return this.select(t?Lc:jc)}function Dc(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Hc(t){return function(n){t.call(this,n,this.__data__)}}function Bc(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function Xc(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,a;e<i;++e)a=n[e],(!t.type||a.type===t.type)&&a.name===t.name?this.removeEventListener(a.type,a.listener,a.options):n[++r]=a;++r?n.length=r:delete this.__on}}}function Uc(t,n,e){return function(){var r=this.__on,i,a=Hc(n);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=e),i.value=n;return}}this.addEventListener(t.type,a,e),i={type:t.type,name:t.name,value:n,listener:a,options:e},r?r.push(i):this.__on=[i]}}function Gc(t,n,e){var r=Bc(t+""),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(i=0,c=s[l];i<a;++i)if((o=r[i]).type===c.type&&o.name===c.name)return c.value}return}for(s=n?Uc:Xc,i=0;i<a;++i)this.each(s(r[i],n,e));return this}function ca(t,n,e){var r=aa(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Yc(t,n){return function(){return ca(this,t,n)}}function Vc(t,n){return function(){return ca(this,t,n.apply(this,arguments))}}function Kc(t,n){return this.each((typeof n=="function"?Vc:Yc)(t,n))}function*Wc(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var fa=[null];function L(t,n){this._groups=t,this._parents=n}function yn(){return new L([[document.documentElement]],fa)}function Zc(){return this}L.prototype=yn.prototype={constructor:L,select:Ml,selectAll:Tl,selectChild:El,selectChildren:Il,filter:Rl,data:Hl,enter:ql,exit:Xl,join:Ul,merge:Gl,selection:Zc,order:Yl,sort:Vl,call:Wl,nodes:Zl,node:Jl,size:Ql,empty:tc,each:nc,attr:uc,style:hc,property:_c,classed:wc,text:$c,html:Sc,raise:Pc,lower:zc,append:Oc,insert:Ic,remove:qc,clone:Fc,datum:Dc,on:Gc,dispatch:Kc,[Symbol.iterator]:Wc};function Jc(t){return typeof t=="string"?new L([[document.querySelector(t)]],[document.documentElement]):new L([[t]],fa)}function gr(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function ha(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function vn(){}var mn=.7,ee=1/mn,Qt="\\s*([+-]?\\d+)\\s*",wn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",it="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Qc=/^#([0-9a-f]{3,8})$/,tf=new RegExp(`^rgb\\(${Qt},${Qt},${Qt}\\)$`),nf=new RegExp(`^rgb\\(${it},${it},${it}\\)$`),ef=new RegExp(`^rgba\\(${Qt},${Qt},${Qt},${wn}\\)$`),rf=new RegExp(`^rgba\\(${it},${it},${it},${wn}\\)$`),af=new RegExp(`^hsl\\(${wn},${it},${it}\\)$`),of=new RegExp(`^hsla\\(${wn},${it},${it},${wn}\\)$`),pa={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};gr(vn,Nt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:da,formatHex:da,formatHex8:sf,formatHsl:uf,formatRgb:ga,toString:ga});function da(){return this.rgb().formatHex()}function sf(){return this.rgb().formatHex8()}function uf(){return wa(this).formatHsl()}function ga(){return this.rgb().formatRgb()}function Nt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Qc.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?_a(n):e===3?new q(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?re(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?re(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=tf.exec(t))?new q(n[1],n[2],n[3],1):(n=nf.exec(t))?new q(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=ef.exec(t))?re(n[1],n[2],n[3],n[4]):(n=rf.exec(t))?re(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=af.exec(t))?ma(n[1],n[2]/100,n[3]/100,1):(n=of.exec(t))?ma(n[1],n[2]/100,n[3]/100,n[4]):pa.hasOwnProperty(t)?_a(pa[t]):t==="transparent"?new q(NaN,NaN,NaN,0):null}function _a(t){return new q(t>>16&255,t>>8&255,t&255,1)}function re(t,n,e,r){return r<=0&&(t=n=e=NaN),new q(t,n,e,r)}function lf(t){return t instanceof vn||(t=Nt(t)),t?(t=t.rgb(),new q(t.r,t.g,t.b,t.opacity)):new q}function _r(t,n,e,r){return arguments.length===1?lf(t):new q(t,n,e,r??1)}function q(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}gr(q,_r,ha(vn,{brighter(t){return t=t==null?ee:Math.pow(ee,t),new q(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?mn:Math.pow(mn,t),new q(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new q(Pt(this.r),Pt(this.g),Pt(this.b),ie(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ya,formatHex:ya,formatHex8:cf,formatRgb:va,toString:va}));function ya(){return`#${Et(this.r)}${Et(this.g)}${Et(this.b)}`}function cf(){return`#${Et(this.r)}${Et(this.g)}${Et(this.b)}${Et((isNaN(this.opacity)?1:this.opacity)*255)}`}function va(){const t=ie(this.opacity);return`${t===1?"rgb(":"rgba("}${Pt(this.r)}, ${Pt(this.g)}, ${Pt(this.b)}${t===1?")":`, ${t})`}`}function ie(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Et(t){return t=Pt(t),(t<16?"0":"")+t.toString(16)}function ma(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new K(t,n,e,r)}function wa(t){if(t instanceof K)return new K(t.h,t.s,t.l,t.opacity);if(t instanceof vn||(t=Nt(t)),!t)return new K;if(t instanceof K)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),o=NaN,s=a-i,l=(a+i)/2;return s?(n===a?o=(e-r)/s+(e<r)*6:e===a?o=(r-n)/s+2:o=(n-e)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new K(o,s,l,t.opacity)}function ff(t,n,e,r){return arguments.length===1?wa(t):new K(t,n,e,r??1)}function K(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}gr(K,ff,ha(vn,{brighter(t){return t=t==null?ee:Math.pow(ee,t),new K(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?mn:Math.pow(mn,t),new K(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new q(yr(t>=240?t-240:t+120,i,r),yr(t,i,r),yr(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new K(ba(this.h),ae(this.s),ae(this.l),ie(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=ie(this.opacity);return`${t===1?"hsl(":"hsla("}${ba(this.h)}, ${ae(this.s)*100}%, ${ae(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ba(t){return t=(t||0)%360,t<0?t+360:t}function ae(t){return Math.max(0,Math.min(1,t||0))}function yr(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const vr=t=>()=>t;function hf(t,n){return function(e){return t+e*n}}function pf(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function df(t){return(t=+t)==1?xa:function(n,e){return e-n?pf(n,e,t):vr(isNaN(n)?e:n)}}function xa(t,n){var e=n-t;return e?hf(t,e):vr(isNaN(t)?n:t)}const oe=function t(n){var e=df(n);function r(i,a){var o=e((i=_r(i)).r,(a=_r(a)).r),s=e(i.g,a.g),l=e(i.b,a.b),u=xa(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=t,r}(1);function gf(t,n){n||(n=[]);var e=t?Math.min(n.length,t.length):0,r=n.slice(),i;return function(a){for(i=0;i<e;++i)r[i]=t[i]*(1-a)+n[i]*a;return r}}function _f(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function yf(t,n){var e=n?n.length:0,r=t?Math.min(e,t.length):0,i=new Array(r),a=new Array(e),o;for(o=0;o<r;++o)i[o]=br(t[o],n[o]);for(;o<e;++o)a[o]=n[o];return function(s){for(o=0;o<r;++o)a[o]=i[o](s);return a}}function vf(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function W(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function mf(t,n){var e={},r={},i;(t===null||typeof t!="object")&&(t={}),(n===null||typeof n!="object")&&(n={});for(i in n)i in t?e[i]=br(t[i],n[i]):r[i]=n[i];return function(a){for(i in e)r[i]=e[i](a);return r}}var mr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wr=new RegExp(mr.source,"g");function wf(t){return function(){return t}}function bf(t){return function(n){return t(n)+""}}function Ma(t,n){var e=mr.lastIndex=wr.lastIndex=0,r,i,a,o=-1,s=[],l=[];for(t=t+"",n=n+"";(r=mr.exec(t))&&(i=wr.exec(n));)(a=i.index)>e&&(a=n.slice(e,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:W(r,i)})),e=wr.lastIndex;return e<n.length&&(a=n.slice(e),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?bf(l[0].x):wf(n):(n=l.length,function(u){for(var c=0,h;c<n;++c)s[(h=l[c]).i]=h.x(u);return s.join("")})}function br(t,n){var e=typeof n,r;return n==null||e==="boolean"?vr(n):(e==="number"?W:e==="string"?(r=Nt(n))?(n=r,oe):Ma:n instanceof Nt?oe:n instanceof Date?vf:_f(n)?gf:Array.isArray(n)?yf:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?mf:W)(t,n)}function xf(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}var $a=180/Math.PI,xr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Aa(t,n,e,r,i,a){var o,s,l;return(o=Math.sqrt(t*t+n*n))&&(t/=o,n/=o),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(s=Math.sqrt(e*e+r*r))&&(e/=s,r/=s,l/=s),t*r<n*e&&(t=-t,n=-n,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(n,t)*$a,skewX:Math.atan(l)*$a,scaleX:o,scaleY:s}}var se;function Mf(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?xr:Aa(n.a,n.b,n.c,n.d,n.e,n.f)}function $f(t){return t==null||(se||(se=document.createElementNS("http://www.w3.org/2000/svg","g")),se.setAttribute("transform",t),!(t=se.transform.baseVal.consolidate()))?xr:(t=t.matrix,Aa(t.a,t.b,t.c,t.d,t.e,t.f))}function ka(t,n,e,r){function i(u){return u.length?u.pop()+" ":""}function a(u,c,h,f,p,d){if(u!==h||c!==f){var _=p.push("translate(",null,n,null,e);d.push({i:_-4,x:W(u,h)},{i:_-2,x:W(c,f)})}else(h||f)&&p.push("translate("+h+n+f+e)}function o(u,c,h,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:W(u,c)})):c&&h.push(i(h)+"rotate("+c+r)}function s(u,c,h,f){u!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:W(u,c)}):c&&h.push(i(h)+"skewX("+c+r)}function l(u,c,h,f,p,d){if(u!==h||c!==f){var _=p.push(i(p)+"scale(",null,",",null,")");d.push({i:_-4,x:W(u,h)},{i:_-2,x:W(c,f)})}else(h!==1||f!==1)&&p.push(i(p)+"scale("+h+","+f+")")}return function(u,c){var h=[],f=[];return u=t(u),c=t(c),a(u.translateX,u.translateY,c.translateX,c.translateY,h,f),o(u.rotate,c.rotate,h,f),s(u.skewX,c.skewX,h,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,h,f),u=c=null,function(p){for(var d=-1,_=f.length,m;++d<_;)h[(m=f[d]).i]=m.x(p);return h.join("")}}}var Af=ka(Mf,"px, ","px)","deg)"),kf=ka($f,", ",")",")"),tn=0,bn=0,xn=0,Ta=1e3,ue,Mn,le=0,zt=0,ce=0,$n=typeof performance=="object"&&performance.now?performance:Date,Sa=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fe(){return zt||(Sa(Tf),zt=$n.now()+ce)}function Tf(){zt=0}function An(){this._call=this._time=this._next=null}An.prototype=Na.prototype={constructor:An,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?fe():+e)+(n==null?0:+n),!this._next&&Mn!==this&&(Mn?Mn._next=this:ue=this,Mn=this),this._call=t,this._time=e,Mr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Mr())}};function Na(t,n,e){var r=new An;return r.restart(t,n,e),r}function Sf(){fe(),++tn;for(var t=ue,n;t;)(n=zt-t._time)>=0&&t._call.call(void 0,n),t=t._next;--tn}function Pa(){zt=(le=$n.now())+ce,tn=bn=0;try{Sf()}finally{tn=0,Pf(),zt=0}}function Nf(){var t=$n.now(),n=t-le;n>Ta&&(ce-=n,le=t)}function Pf(){for(var t,n=ue,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:ue=e);Mn=t,Mr(r)}function Mr(t){if(!tn){bn&&(bn=clearTimeout(bn));var n=t-zt;n>24?(t<1/0&&(bn=setTimeout(Pa,t-$n.now()-ce)),xn&&(xn=clearInterval(xn))):(xn||(le=$n.now(),xn=setInterval(Nf,Ta)),tn=1,Sa(Pa))}}function Ea(t,n,e){var r=new An;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}function Ef(t,n,e){var r=new An,i=n;return r._restart=r.restart,r.restart=function(a,o,s){o=+o,s=s==null?fe():+s,r._restart(function l(u){u+=i,r._restart(l,i+=o,s),a(u)},o,s)},r.restart(t,n,e),r}var zf=Zi("start","end","cancel","interrupt"),Of=[],za=0,Oa=1,$r=2,he=3,Ca=4,Ar=5,pe=6;function de(t,n,e,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(e in o)return;Cf(t,e,{name:n,index:r,group:i,on:zf,tween:Of,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:za})}function kr(t,n){var e=Z(t,n);if(e.state>za)throw new Error("too late; already scheduled");return e}function at(t,n){var e=Z(t,n);if(e.state>he)throw new Error("too late; already running");return e}function Z(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Cf(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=Na(a,0,e.time);function a(u){e.state=Oa,e.timer.restart(o,e.delay,e.time),e.delay<=u&&o(u-e.delay)}function o(u){var c,h,f,p;if(e.state!==Oa)return l();for(c in r)if(p=r[c],p.name===e.name){if(p.state===he)return Ea(o);p.state===Ca?(p.state=pe,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+c<n&&(p.state=pe,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[c])}if(Ea(function(){e.state===he&&(e.state=Ca,e.timer.restart(s,e.delay,e.time),s(u))}),e.state=$r,e.on.call("start",t,t.__data__,e.index,e.group),e.state===$r){for(e.state=he,i=new Array(f=e.tween.length),c=0,h=-1;c<f;++c)(p=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++h]=p);i.length=h+1}}function s(u){for(var c=u<e.duration?e.ease.call(null,u/e.duration):(e.timer.restart(l),e.state=Ar,1),h=-1,f=i.length;++h<f;)i[h].call(t,c);e.state===Ar&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){e.state=pe,e.timer.stop(),delete r[n];for(var u in r)return;delete t.__transition}}function If(t,n){var e=t.__transition,r,i,a=!0,o;if(e){n=n==null?null:n+"";for(o in e){if((r=e[o]).name!==n){a=!1;continue}i=r.state>$r&&r.state<Ar,r.state=pe,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[o]}a&&delete t.__transition}}function Rf(t){return this.each(function(){If(this,t)})}function qf(t,n){var e,r;return function(){var i=at(this,t),a=i.tween;if(a!==e){r=e=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===n){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function jf(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var a=at(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:n,value:e},l=0,u=i.length;l<u;++l)if(i[l].name===n){i[l]=s;break}l===u&&i.push(s)}a.tween=i}}function Lf(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=Z(this.node(),e).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===t)return o.value;return null}return this.each((n==null?qf:jf)(e,t,n))}function Tr(t,n,e){var r=t._id;return t.each(function(){var i=at(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return Z(i,r).value[n]}}function Ia(t,n){var e;return(typeof n=="number"?W:n instanceof Nt?oe:(e=Nt(n))?(n=e,oe):Ma)(t,n)}function Ff(t){return function(){this.removeAttribute(t)}}function Df(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Hf(t,n,e){var r,i=e+"",a;return function(){var o=this.getAttribute(t);return o===i?null:o===r?a:a=n(r=o,e)}}function Bf(t,n,e){var r,i=e+"",a;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===r?a:a=n(r=o,e)}}function Xf(t,n,e){var r,i,a;return function(){var o,s=e(this),l;return s==null?void this.removeAttribute(t):(o=this.getAttribute(t),l=s+"",o===l?null:o===r&&l===i?a:(i=l,a=n(r=o,s)))}}function Uf(t,n,e){var r,i,a;return function(){var o,s=e(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),l=s+"",o===l?null:o===r&&l===i?a:(i=l,a=n(r=o,s)))}}function Gf(t,n){var e=te(t),r=e==="transform"?kf:Ia;return this.attrTween(t,typeof n=="function"?(e.local?Uf:Xf)(e,r,Tr(this,"attr."+t,n)):n==null?(e.local?Df:Ff)(e):(e.local?Bf:Hf)(e,r,n))}function Yf(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Vf(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Kf(t,n){var e,r;function i(){var a=n.apply(this,arguments);return a!==r&&(e=(r=a)&&Vf(t,a)),e}return i._value=n,i}function Wf(t,n){var e,r;function i(){var a=n.apply(this,arguments);return a!==r&&(e=(r=a)&&Yf(t,a)),e}return i._value=n,i}function Zf(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=te(t);return this.tween(e,(r.local?Kf:Wf)(r,n))}function Jf(t,n){return function(){kr(this,t).delay=+n.apply(this,arguments)}}function Qf(t,n){return n=+n,function(){kr(this,t).delay=n}}function th(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?Jf:Qf)(n,t)):Z(this.node(),n).delay}function nh(t,n){return function(){at(this,t).duration=+n.apply(this,arguments)}}function eh(t,n){return n=+n,function(){at(this,t).duration=n}}function rh(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?nh:eh)(n,t)):Z(this.node(),n).duration}function ih(t,n){if(typeof n!="function")throw new Error;return function(){at(this,t).ease=n}}function ah(t){var n=this._id;return arguments.length?this.each(ih(n,t)):Z(this.node(),n).ease}function oh(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;at(this,t).ease=e}}function sh(t){if(typeof t!="function")throw new Error;return this.each(oh(this._id,t))}function uh(t){typeof t!="function"&&(t=ea(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var a=n[i],o=a.length,s=r[i]=[],l,u=0;u<o;++u)(l=a[u])&&t.call(l,l.__data__,u,a)&&s.push(l);return new lt(r,this._parents,this._name,this._id)}function lh(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var l=n[s],u=e[s],c=l.length,h=o[s]=new Array(c),f,p=0;p<c;++p)(f=l[p]||u[p])&&(h[p]=f);for(;s<r;++s)o[s]=n[s];return new lt(o,this._parents,this._name,this._id)}function ch(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function fh(t,n,e){var r,i,a=ch(n)?kr:at;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(n,e),o.on=i}}function hh(t,n){var e=this._id;return arguments.length<2?Z(this.node(),e).on.on(t):this.each(fh(e,t,n))}function ph(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function dh(){return this.on("end.remove",ph(this._id))}function gh(t){var n=this._name,e=this._id;typeof t!="function"&&(t=pr(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var s=r[o],l=s.length,u=a[o]=new Array(l),c,h,f=0;f<l;++f)(c=s[f])&&(h=t.call(c,c.__data__,f,s))&&("__data__"in c&&(h.__data__=c.__data__),u[f]=h,de(u[f],n,e,f,u,Z(c,e)));return new lt(a,this._parents,n,e)}function _h(t){var n=this._name,e=this._id;typeof t!="function"&&(t=na(t));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var l=r[s],u=l.length,c,h=0;h<u;++h)if(c=l[h]){for(var f=t.call(c,c.__data__,h,l),p,d=Z(c,e),_=0,m=f.length;_<m;++_)(p=f[_])&&de(p,n,e,_,f,d);a.push(f),o.push(c)}return new lt(a,o,n,e)}var yh=yn.prototype.constructor;function vh(){return new yh(this._groups,this._parents)}function mh(t,n){var e,r,i;return function(){var a=Jt(this,t),o=(this.style.removeProperty(t),Jt(this,t));return a===o?null:a===e&&o===r?i:i=n(e=a,r=o)}}function Ra(t){return function(){this.style.removeProperty(t)}}function wh(t,n,e){var r,i=e+"",a;return function(){var o=Jt(this,t);return o===i?null:o===r?a:a=n(r=o,e)}}function bh(t,n,e){var r,i,a;return function(){var o=Jt(this,t),s=e(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),Jt(this,t))),o===l?null:o===r&&l===i?a:(i=l,a=n(r=o,s))}}function xh(t,n){var e,r,i,a="style."+n,o="end."+a,s;return function(){var l=at(this,t),u=l.on,c=l.value[a]==null?s||(s=Ra(n)):void 0;(u!==e||i!==c)&&(r=(e=u).copy()).on(o,i=c),l.on=r}}function Mh(t,n,e){var r=(t+="")=="transform"?Af:Ia;return n==null?this.styleTween(t,mh(t,r)).on("end.style."+t,Ra(t)):typeof n=="function"?this.styleTween(t,bh(t,r,Tr(this,"style."+t,n))).each(xh(this._id,t)):this.styleTween(t,wh(t,r,n),e).on("end.style."+t,null)}function $h(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Ah(t,n,e){var r,i;function a(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&$h(t,o,e)),r}return a._value=n,a}function kh(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Ah(t,n,e??""))}function Th(t){return function(){this.textContent=t}}function Sh(t){return function(){var n=t(this);this.textContent=n??""}}function Nh(t){return this.tween("text",typeof t=="function"?Sh(Tr(this,"text",t)):Th(t==null?"":t+""))}function Ph(t){return function(n){this.textContent=t.call(this,n)}}function Eh(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Ph(i)),n}return r._value=t,r}function zh(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Eh(t))}function Oh(){for(var t=this._name,n=this._id,e=qa(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,l,u=0;u<s;++u)if(l=o[u]){var c=Z(l,n);de(l,t,e,u,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new lt(r,this._parents,t,e)}function Ch(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(a,o){var s={value:o},l={value:function(){--i===0&&a()}};e.each(function(){var u=at(this,r),c=u.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(s),n._.interrupt.push(s),n._.end.push(l)),u.on=n}),i===0&&a()})}var Ih=0;function lt(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function qa(){return++Ih}var ct=yn.prototype;lt.prototype={constructor:lt,select:gh,selectAll:_h,selectChild:ct.selectChild,selectChildren:ct.selectChildren,filter:uh,merge:lh,selection:vh,transition:Oh,call:ct.call,nodes:ct.nodes,node:ct.node,size:ct.size,empty:ct.empty,each:ct.each,on:hh,attr:Gf,attrTween:Zf,style:Mh,styleTween:kh,text:Nh,textTween:zh,remove:dh,tween:Lf,delay:th,duration:rh,ease:ah,easeVarying:sh,end:Ch,[Symbol.iterator]:ct[Symbol.iterator]};function Rh(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var qh={time:null,delay:0,duration:250,ease:Rh};function jh(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Lh(t){var n,e;t instanceof lt?(n=t._id,t=t._name):(n=qa(),(e=qh).time=fe(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,l,u=0;u<s;++u)(l=o[u])&&de(l,t,n,u,o,e||jh(l,n));return new lt(r,this._parents,t,n)}yn.prototype.interrupt=Rf,yn.prototype.transition=Lh;const Sr=Math.PI,Nr=2*Sr,Ot=1e-6,Fh=Nr-Ot;function ja(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Dh(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return ja;const e=10**n;return function(r){this._+=r[0];for(let i=1,a=r.length;i<a;++i)this._+=Math.round(arguments[i]*e)/e+r[i]}}class Hh{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?ja:Dh(n)}moveTo(n,e){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,e){this._append`L${this._x1=+n},${this._y1=+e}`}quadraticCurveTo(n,e,r,i){this._append`Q${+n},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(n,e,r,i,a,o){this._append`C${+n},${+e},${+r},${+i},${this._x1=+a},${this._y1=+o}`}arcTo(n,e,r,i,a){if(n=+n,e=+e,r=+r,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,s=this._y1,l=r-n,u=i-e,c=o-n,h=s-e,f=c*c+h*h;if(this._x1===null)this._append`M${this._x1=n},${this._y1=e}`;else if(f>Ot)if(!(Math.abs(h*l-u*c)>Ot)||!a)this._append`L${this._x1=n},${this._y1=e}`;else{let p=r-o,d=i-s,_=l*l+u*u,m=p*p+d*d,M=Math.sqrt(_),b=Math.sqrt(f),x=a*Math.tan((Sr-Math.acos((_+f-m)/(2*M*b)))/2),g=x/b,v=x/M;Math.abs(g-1)>Ot&&this._append`L${n+g*c},${e+g*h}`,this._append`A${a},${a},0,0,${+(h*p>c*d)},${this._x1=n+v*l},${this._y1=e+v*u}`}}arc(n,e,r,i,a,o){if(n=+n,e=+e,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),l=r*Math.sin(i),u=n+s,c=e+l,h=1^o,f=o?i-a:a-i;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Ot||Math.abs(this._y1-c)>Ot)&&this._append`L${u},${c}`,r&&(f<0&&(f=f%Nr+Nr),f>Fh?this._append`A${r},${r},0,1,${h},${n-s},${e-l}A${r},${r},0,1,${h},${this._x1=u},${this._y1=c}`:f>Ot&&this._append`A${r},${r},0,${+(f>=Sr)},${h},${this._x1=n+r*Math.cos(a)},${this._y1=e+r*Math.sin(a)}`)}rect(n,e,r,i){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function Bh(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function ge(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function nn(t){return t=ge(Math.abs(t)),t?t[1]:NaN}function Xh(t,n){return function(e,r){for(var i=e.length,a=[],o=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(e.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return a.reverse().join(n)}}function Uh(t){return function(n){return n.replace(/[0-9]/g,function(e){return t[+e]})}}var Gh=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function _e(t){if(!(n=Gh.exec(t)))throw new Error("invalid format: "+t);var n;return new Pr({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}_e.prototype=Pr.prototype;function Pr(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Pr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Yh(t){t:for(var n=t.length,e=1,r=-1,i;e<n;++e)switch(t[e]){case".":r=i=e;break;case"0":r===0&&(r=e),i=e;break;default:if(!+t[e])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var La;function Vh(t,n){var e=ge(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(La=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+ge(t,Math.max(0,n+a-1))[0]}function Fa(t,n){var e=ge(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Da={"%":(t,n)=>(t*100).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Bh,e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Fa(t*100,n),r:Fa,s:Vh,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ha(t){return t}var Ba=Array.prototype.map,Xa=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Kh(t){var n=t.grouping===void 0||t.thousands===void 0?Ha:Xh(Ba.call(t.grouping,Number),t.thousands+""),e=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?Ha:Uh(Ba.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(h){h=_e(h);var f=h.fill,p=h.align,d=h.sign,_=h.symbol,m=h.zero,M=h.width,b=h.comma,x=h.precision,g=h.trim,v=h.type;v==="n"?(b=!0,v="g"):Da[v]||(x===void 0&&(x=12),g=!0,v="g"),(m||f==="0"&&p==="=")&&(m=!0,f="0",p="=");var E=_==="$"?e:_==="#"&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",z=_==="$"?r:/[%p]/.test(v)?o:"",C=Da[v],G=/[defgprs%]/.test(v);x=x===void 0?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function Y(y){var I=E,k=z,R,Wt,B;if(v==="c")k=C(y)+k,y="";else{y=+y;var V=y<0||1/y<0;if(y=isNaN(y)?l:C(Math.abs(y),x),g&&(y=Yh(y)),V&&+y==0&&d!=="+"&&(V=!1),I=(V?d==="("?d:s:d==="-"||d==="("?"":d)+I,k=(v==="s"?Xa[8+La/3]:"")+k+(V&&d==="("?")":""),G){for(R=-1,Wt=y.length;++R<Wt;)if(B=y.charCodeAt(R),48>B||B>57){k=(B===46?i+y.slice(R+1):y.slice(R))+k,y=y.slice(0,R);break}}}b&&!m&&(y=n(y,1/0));var rt=I.length+y.length+k.length,P=rt<M?new Array(M-rt+1).join(f):"";switch(b&&m&&(y=n(P+y,P.length?M-k.length:1/0),P=""),p){case"<":y=I+y+k+P;break;case"=":y=I+P+y+k;break;case"^":y=P.slice(0,rt=P.length>>1)+I+y+k+P.slice(rt);break;default:y=P+I+y+k;break}return a(y)}return Y.toString=funct