orbcharts 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,403 @@
1
+ (function(L,Zn){typeof exports=="object"&&typeof module<"u"?Zn(exports):typeof define=="function"&&define.amd?define(["exports"],Zn):(L=typeof globalThis<"u"?globalThis:L||self,Zn(L.orbcharts={}))})(this,function(L){"use strict";const Zn={width:"auto",height:"auto"},yf={top:60,right:60,bottom:60,left:60},bf={padding:yf,highlightTarget:"datum",highlightDefault:null,colorScheme:"light",colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"],primary:"#000000",secondary:"#e0e0e0",labelContrast:["#ffffff","#000000"],background:"#ffffff"},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"],primary:"#ffffff",secondary:"#e0e0e0",labelContrast:["#ffffff","#000000"],background:"#000000"}},styles:{textSize:"0.875rem",unhighlightedOpacity:.3},transitionDuration:800,transitionEase:"easeCubic"},u0=800,c0=500,PP=[],FP=[],TP=[],wP=[],BP=[],MP={nodes:[],edges:[]},xe={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},f0={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},xf={scaleDomain:["auto","auto"],scaleRange:[0,.9],label:"",valueIndex:0},Xi={gap:120,rowAmount:1,columnAmount:1},vf={type:"series",visibleFilter:(t,e)=>!0,sort:null,seriesLabels:[],container:{...Xi},separateSeries:!1,sumSeries:!1};vf.visibleFilter.toString=()=>"(datum, context) => true";const $f={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...xe},groupAxis:{...f0},separateSeries:!1},_f={type:"grid",visibleFilter:(t,e)=>!0,...$f,container:{...Xi}};_f.visibleFilter.toString=()=>"(datum, context) => true";const Wi={...$f},Af={type:"multiGrid",visibleFilter:(t,e)=>!0,gridList:[{...Wi}],separateGrid:!1,container:{...Xi}};Af.visibleFilter.toString=()=>"(datum, context) => true";const Sf={type:"multiValue",visibleFilter:(t,e)=>!0,categoryLabels:[],valueLabels:[],xAxis:{...xf,valueIndex:0},yAxis:{...xf,valueIndex:1},container:{...Xi},separateCategory:!1};Sf.visibleFilter.toString=()=>"(datum, context) => true";const Df={type:"tree",visibleFilter:(t,e)=>!0,categoryLabels:[]};Df.visibleFilter.toString=()=>"(datum, context) => true";const Cf={type:"relationship",visibleFilter:(t,e)=>!0,categoryLabels:[]};Cf.visibleFilter.toString=()=>"(datum, context) => true";function ae(t){return Object.prototype.toString.call(t)==="[object Object]"}function d0(t){return Object.prototype.toString.call(t)==="[object Function]"}function h0(t){return!!(t&&t.nodeType)}function Jn(t,e){if(ae(t)===!1||ae(e)===!1)return Object.assign({},e);const n=(r,a)=>{const i=Object.assign({},a);for(let o of Object.keys(r)){if(!(o in a))continue;let s;ae(r[o])&&ae(a[o])?(s=n(r[o],a[o]),i[o]=s):i[o]=r[o]}return i};return n(t,e)}function EP(t=0){try{let e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")}catch(e){console.error(e)}}function LP(t,e){const n={string:a=>typeof a=="string",number:a=>typeof a=="number",boolean:a=>typeof a=="boolean",object:a=>ae(a),"object[]":a=>Array.isArray(a)&&a.every(i=>ae(i)),"string[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="string"),"number[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="number"),Function:a=>d0(a),null:a=>a===null,undefined:a=>a===void 0},r={ColorType:a=>a==="none"||a==="label"||a==="primary"||a==="secondary"||a==="labelContrast"||a==="background"};return Object.keys(t).find(a=>{if(e[a]){const i=e[a],o=t[a];if(i.toBeTypes){if(i.toBeTypes.some(s=>n[s](o))===!1)return!0}else if(i.toBe){const{toBe:s,test:l}=i;if(l(o)===!1)return!0}else if(i.toBeOption){const s=i.toBeOption;if(r[s](o)===!1)return!0}}return!1})}function yt(t,e){const n=LP(t,e);if(n){const r=e[n],a=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:a}}else return{status:"success",columnName:"",expectToBe:""}}const RP=t=>{const e=yt(t,{visibleFilter:{toBeTypes:["Function"]},sort:{toBeTypes:["Function","null"]},seriesLabels:{toBeTypes:["string[]"]},container:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]},sumSeries:{toBeTypes:["boolean"]}});if(t.container){const n=yt(t.container,{gap:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnAmount:{toBeTypes:["number"]}});if(n.status==="error")return n}return e};function ks(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function kP(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function p0(t){let e,n,r;t.length!==2?(e=ks,n=(s,l)=>ks(t(s),l),r=(s,l)=>t(s)-l):(e=t===ks||t===kP?t:IP,n=t,r=t);function a(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<0?u=d+1:c=d}while(u<c)}return u}function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<=0?u=d+1:c=d}while(u<c)}return u}function o(s,l,u=0,c=s.length){const d=a(s,l,u,c-1);return d>u&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:a,center:o,right:i}}function IP(){return 0}function NP(t){return t===null?NaN:+t}const zP=p0(ks),g0=zP.right;p0(NP).center;let m0=class extends Map{constructor(e,n=jP){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get(y0(this,e))}has(e){return super.has(y0(this,e))}set(e,n){return super.set(OP(this,e),n)}delete(e){return super.delete(GP(this,e))}};function y0({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function OP({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function GP({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function jP(t){return t!==null&&typeof t=="object"?t.valueOf():t}const VP=Math.sqrt(50),HP=Math.sqrt(10),XP=Math.sqrt(2);function Is(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=VP?10:i>=HP?5:i>=XP?2:1;let s,l,u;return a<0?(u=Math.pow(10,-a)/o,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,a)*o,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?Is(t,e,n*2):[s,l,u]}function WP(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?Is(e,t,n):Is(t,e,n);if(!(i>=a))return[];const s=i-a+1,l=new Array(s);if(r)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;else 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;return l}function Pf(t,e,n){return e=+e,t=+t,n=+n,Is(t,e,n)[2]}function UP(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?Pf(e,t,n):Pf(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function YP(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}var qP={value:()=>{}};function b0(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ns(n)}function Ns(t){this._=t}function ZP(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ns.prototype=b0.prototype={constructor:Ns,on:function(t,e){var n=this._,r=ZP(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=JP(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=x0(n[a],t.name,e);else if(e==null)for(a in n)n[a]=x0(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Ns(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function JP(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function x0(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=qP,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Ff="http://www.w3.org/1999/xhtml";const v0={svg:"http://www.w3.org/2000/svg",xhtml:Ff,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function zs(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),v0.hasOwnProperty(e)?{space:v0[e],local:t}:t}function KP(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Ff&&e.documentElement.namespaceURI===Ff?e.createElement(t):e.createElementNS(n,t)}}function QP(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function $0(t){var e=zs(t);return(e.local?QP:KP)(e)}function tF(){}function Tf(t){return t==null?tF:function(){return this.querySelector(t)}}function eF(t){typeof t!="function"&&(t=Tf(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=new Array(o),l,u,c=0;c<o;++c)(l=i[c])&&(u=t.call(l,l.__data__,c,i))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new Fe(r,this._parents)}function nF(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function rF(){return[]}function _0(t){return t==null?rF:function(){return this.querySelectorAll(t)}}function aF(t){return function(){return nF(t.apply(this,arguments))}}function iF(t){typeof t=="function"?t=aF(t):t=_0(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&(r.push(t.call(l,l.__data__,u,o)),a.push(l));return new Fe(r,a)}function A0(t){return function(){return this.matches(t)}}function S0(t){return function(e){return e.matches(t)}}var oF=Array.prototype.find;function sF(t){return function(){return oF.call(this.children,t)}}function lF(){return this.firstElementChild}function uF(t){return this.select(t==null?lF:sF(typeof t=="function"?t:S0(t)))}var cF=Array.prototype.filter;function fF(){return Array.from(this.children)}function dF(t){return function(){return cF.call(this.children,t)}}function hF(t){return this.selectAll(t==null?fF:dF(typeof t=="function"?t:S0(t)))}function pF(t){typeof t!="function"&&(t=A0(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new Fe(r,this._parents)}function D0(t){return new Array(t.length)}function gF(){return new Fe(this._enter||this._groups.map(D0),this._parents)}function Os(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Os.prototype={constructor:Os,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function mF(t){return function(){return t}}function yF(t,e,n,r,a,i){for(var o=0,s,l=e.length,u=i.length;o<u;++o)(s=e[o])?(s.__data__=i[o],r[o]=s):n[o]=new Os(t,i[o]);for(;o<l;++o)(s=e[o])&&(a[o]=s)}function bF(t,e,n,r,a,i,o){var s,l,u=new Map,c=e.length,d=i.length,f=new Array(c),h;for(s=0;s<c;++s)(l=e[s])&&(f[s]=h=o.call(l,l.__data__,s,e)+"",u.has(h)?a[s]=l:u.set(h,l));for(s=0;s<d;++s)h=o.call(t,i[s],s,i)+"",(l=u.get(h))?(r[s]=l,l.__data__=i[s],u.delete(h)):n[s]=new Os(t,i[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(f[s])===l&&(a[s]=l)}function xF(t){return t.__data__}function vF(t,e){if(!arguments.length)return Array.from(this,xF);var n=e?bF:yF,r=this._parents,a=this._groups;typeof t!="function"&&(t=mF(t));for(var i=a.length,o=new Array(i),s=new Array(i),l=new Array(i),u=0;u<i;++u){var c=r[u],d=a[u],f=d.length,h=$F(t.call(c,c&&c.__data__,u,r)),p=h.length,g=s[u]=new Array(p),m=o[u]=new Array(p),b=l[u]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,$;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!($=m[x])&&++x<p;);v._next=$||null}}return o=new Fe(o,r),o._enter=s,o._exit=l,o}function $F(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function _F(){return new Fe(this._exit||this._groups.map(D0),this._parents)}function AF(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function SF(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),s=new Array(a),l=0;l<o;++l)for(var u=n[l],c=r[l],d=u.length,f=s[l]=new Array(d),h,p=0;p<d;++p)(h=u[p]||c[p])&&(f[p]=h);for(;l<a;++l)s[l]=n[l];return new Fe(s,this._parents)}function DF(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function CF(t){t||(t=PF);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],s=o.length,l=a[i]=new Array(s),u,c=0;c<s;++c)(u=o[c])&&(l[c]=u);l.sort(e)}return new Fe(a,this._parents).order()}function PF(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function FF(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function TF(){return Array.from(this)}function wF(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function BF(){let t=0;for(const e of this)++t;return t}function MF(){return!this.node()}function EF(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,s;i<o;++i)(s=a[i])&&t.call(s,s.__data__,i,a);return this}function LF(t){return function(){this.removeAttribute(t)}}function RF(t){return function(){this.removeAttributeNS(t.space,t.local)}}function kF(t,e){return function(){this.setAttribute(t,e)}}function IF(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function NF(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function zF(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function OF(t,e){var n=zs(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?RF:LF:typeof e=="function"?n.local?zF:NF:n.local?IF:kF)(n,e))}function C0(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function GF(t){return function(){this.style.removeProperty(t)}}function jF(t,e,n){return function(){this.style.setProperty(t,e,n)}}function VF(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function HF(t,e,n){return arguments.length>1?this.each((e==null?GF:typeof e=="function"?VF:jF)(t,e,n??"")):xa(this.node(),t)}function xa(t,e){return t.style.getPropertyValue(e)||C0(t).getComputedStyle(t,null).getPropertyValue(e)}function XF(t){return function(){delete this[t]}}function WF(t,e){return function(){this[t]=e}}function UF(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function YF(t,e){return arguments.length>1?this.each((e==null?XF:typeof e=="function"?UF:WF)(t,e)):this.node()[t]}function P0(t){return t.trim().split(/^|\s+/)}function wf(t){return t.classList||new F0(t)}function F0(t){this._node=t,this._names=P0(t.getAttribute("class")||"")}F0.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function T0(t,e){for(var n=wf(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function w0(t,e){for(var n=wf(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function qF(t){return function(){T0(this,t)}}function ZF(t){return function(){w0(this,t)}}function JF(t,e){return function(){(e.apply(this,arguments)?T0:w0)(this,t)}}function KF(t,e){var n=P0(t+"");if(arguments.length<2){for(var r=wf(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?JF:e?qF:ZF)(n,e))}function QF(){this.textContent=""}function tT(t){return function(){this.textContent=t}}function eT(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function nT(t){return arguments.length?this.each(t==null?QF:(typeof t=="function"?eT:tT)(t)):this.node().textContent}function rT(){this.innerHTML=""}function aT(t){return function(){this.innerHTML=t}}function iT(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function oT(t){return arguments.length?this.each(t==null?rT:(typeof t=="function"?iT:aT)(t)):this.node().innerHTML}function sT(){this.nextSibling&&this.parentNode.appendChild(this)}function lT(){return this.each(sT)}function uT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function cT(){return this.each(uT)}function fT(t){var e=typeof t=="function"?t:$0(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function dT(){return null}function hT(t,e){var n=typeof t=="function"?t:$0(t),r=e==null?dT:typeof e=="function"?e:Tf(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function pT(){var t=this.parentNode;t&&t.removeChild(this)}function gT(){return this.each(pT)}function mT(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function yT(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function bT(t){return this.select(t?yT:mT)}function xT(t){return arguments.length?this.property("__data__",t):this.node().__data__}function vT(t){return function(e){t.call(this,e,this.__data__)}}function $T(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function _T(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function AT(t,e,n){return function(){var r=this.__on,a,i=vT(e);if(r){for(var o=0,s=r.length;o<s;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function ST(t,e,n){var r=$T(t+""),a,i=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(a=0,c=s[l];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(s=e?AT:_T,a=0;a<i;++a)this.each(s(r[a],e,n));return this}function B0(t,e,n){var r=C0(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function DT(t,e){return function(){return B0(this,t,e)}}function CT(t,e){return function(){return B0(this,t,e.apply(this,arguments))}}function PT(t,e){return this.each((typeof e=="function"?CT:DT)(t,e))}function*FT(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var M0=[null];function Fe(t,e){this._groups=t,this._parents=e}function Ui(){return new Fe([[document.documentElement]],M0)}function TT(){return this}Fe.prototype=Ui.prototype={constructor:Fe,select:eF,selectAll:iF,selectChild:uF,selectChildren:hF,filter:pF,data:vF,enter:gF,exit:_F,join:AF,merge:SF,selection:TT,order:DF,sort:CF,call:FF,nodes:TF,node:wF,size:BF,empty:MF,each:EF,attr:OF,style:HF,property:YF,classed:KF,text:nT,html:oT,raise:lT,lower:cT,append:fT,insert:hT,remove:gT,clone:bT,datum:xT,on:ST,dispatch:PT,[Symbol.iterator]:FT};function Gs(t){return typeof t=="string"?new Fe([[document.querySelector(t)]],[document.documentElement]):new Fe([[t]],M0)}function Bf(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function E0(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Yi(){}var qi=.7,js=1/qi,va="\\s*([+-]?\\d+)\\s*",Zi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",un="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wT=/^#([0-9a-f]{3,8})$/,BT=new RegExp(`^rgb\\(${va},${va},${va}\\)$`),MT=new RegExp(`^rgb\\(${un},${un},${un}\\)$`),ET=new RegExp(`^rgba\\(${va},${va},${va},${Zi}\\)$`),LT=new RegExp(`^rgba\\(${un},${un},${un},${Zi}\\)$`),RT=new RegExp(`^hsl\\(${Zi},${un},${un}\\)$`),kT=new RegExp(`^hsla\\(${Zi},${un},${un},${Zi}\\)$`),L0={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};Bf(Yi,_r,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:R0,formatHex:R0,formatHex8:IT,formatHsl:NT,formatRgb:k0,toString:k0});function R0(){return this.rgb().formatHex()}function IT(){return this.rgb().formatHex8()}function NT(){return G0(this).formatHsl()}function k0(){return this.rgb().formatRgb()}function _r(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=wT.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?I0(e):n===3?new ve(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Vs(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Vs(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=BT.exec(t))?new ve(e[1],e[2],e[3],1):(e=MT.exec(t))?new ve(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=ET.exec(t))?Vs(e[1],e[2],e[3],e[4]):(e=LT.exec(t))?Vs(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=RT.exec(t))?O0(e[1],e[2]/100,e[3]/100,1):(e=kT.exec(t))?O0(e[1],e[2]/100,e[3]/100,e[4]):L0.hasOwnProperty(t)?I0(L0[t]):t==="transparent"?new ve(NaN,NaN,NaN,0):null}function I0(t){return new ve(t>>16&255,t>>8&255,t&255,1)}function Vs(t,e,n,r){return r<=0&&(t=e=n=NaN),new ve(t,e,n,r)}function zT(t){return t instanceof Yi||(t=_r(t)),t?(t=t.rgb(),new ve(t.r,t.g,t.b,t.opacity)):new ve}function Mf(t,e,n,r){return arguments.length===1?zT(t):new ve(t,e,n,r??1)}function ve(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Bf(ve,Mf,E0(Yi,{brighter(t){return t=t==null?js:Math.pow(js,t),new ve(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qi:Math.pow(qi,t),new ve(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ve(Ar(this.r),Ar(this.g),Ar(this.b),Hs(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:N0,formatHex:N0,formatHex8:OT,formatRgb:z0,toString:z0}));function N0(){return`#${Sr(this.r)}${Sr(this.g)}${Sr(this.b)}`}function OT(){return`#${Sr(this.r)}${Sr(this.g)}${Sr(this.b)}${Sr((isNaN(this.opacity)?1:this.opacity)*255)}`}function z0(){const t=Hs(this.opacity);return`${t===1?"rgb(":"rgba("}${Ar(this.r)}, ${Ar(this.g)}, ${Ar(this.b)}${t===1?")":`, ${t})`}`}function Hs(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ar(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Sr(t){return t=Ar(t),(t<16?"0":"")+t.toString(16)}function O0(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new We(t,e,n,r)}function G0(t){if(t instanceof We)return new We(t.h,t.s,t.l,t.opacity);if(t instanceof Yi||(t=_r(t)),!t)return new We;if(t instanceof We)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,s=i-a,l=(i+a)/2;return s?(e===i?o=(n-r)/s+(n<r)*6:n===i?o=(r-e)/s+2:o=(e-n)/s+4,s/=l<.5?i+a:2-i-a,o*=60):s=l>0&&l<1?0:o,new We(o,s,l,t.opacity)}function GT(t,e,n,r){return arguments.length===1?G0(t):new We(t,e,n,r??1)}function We(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Bf(We,GT,E0(Yi,{brighter(t){return t=t==null?js:Math.pow(js,t),new We(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qi:Math.pow(qi,t),new We(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,a=2*n-r;return new ve(Ef(t>=240?t-240:t+120,a,r),Ef(t,a,r),Ef(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new We(j0(this.h),Xs(this.s),Xs(this.l),Hs(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=Hs(this.opacity);return`${t===1?"hsl(":"hsla("}${j0(this.h)}, ${Xs(this.s)*100}%, ${Xs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function j0(t){return t=(t||0)%360,t<0?t+360:t}function Xs(t){return Math.max(0,Math.min(1,t||0))}function Ef(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Lf=t=>()=>t;function jT(t,e){return function(n){return t+n*e}}function VT(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function HT(t){return(t=+t)==1?V0:function(e,n){return n-e?VT(e,n,t):Lf(isNaN(e)?n:e)}}function V0(t,e){var n=e-t;return n?jT(t,n):Lf(isNaN(t)?e:t)}const Ws=function t(e){var n=HT(e);function r(a,i){var o=n((a=Mf(a)).r,(i=Mf(i)).r),s=n(a.g,i.g),l=n(a.b,i.b),u=V0(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=s(c),a.b=l(c),a.opacity=u(c),a+""}}return r.gamma=t,r}(1);function XT(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function WT(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function UT(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=If(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(s){for(o=0;o<r;++o)i[o]=a[o](s);return i}}function YT(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Ue(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function qT(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=If(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var Rf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kf=new RegExp(Rf.source,"g");function ZT(t){return function(){return t}}function JT(t){return function(e){return t(e)+""}}function H0(t,e){var n=Rf.lastIndex=kf.lastIndex=0,r,a,i,o=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Rf.exec(t))&&(a=kf.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,l.push({i:o,x:Ue(r,a)})),n=kf.lastIndex;return n<e.length&&(i=e.slice(n),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?JT(l[0].x):ZT(e):(e=l.length,function(u){for(var c=0,d;c<e;++c)s[(d=l[c]).i]=d.x(u);return s.join("")})}function If(t,e){var n=typeof e,r;return e==null||n==="boolean"?Lf(e):(n==="number"?Ue:n==="string"?(r=_r(e))?(e=r,Ws):H0:e instanceof _r?Ws:e instanceof Date?YT:WT(e)?XT:Array.isArray(e)?UT:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?qT:Ue)(t,e)}function KT(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var X0=180/Math.PI,W0={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function U0(t,e,n,r,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*X0,skewX:Math.atan(l)*X0,scaleX:o,scaleY:s}}var Us;function QT(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?W0:U0(e.a,e.b,e.c,e.d,e.e,e.f)}function t4(t){return t==null||(Us||(Us=document.createElementNS("http://www.w3.org/2000/svg","g")),Us.setAttribute("transform",t),!(t=Us.transform.baseVal.consolidate()))?W0:(t=t.matrix,U0(t.a,t.b,t.c,t.d,t.e,t.f))}function Y0(t,e,n,r){function a(u){return u.length?u.pop()+" ":""}function i(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:Ue(u,d)},{i:g-2,x:Ue(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(u,c,d,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:Ue(u,c)})):c&&d.push(a(d)+"rotate("+c+r)}function s(u,c,d,f){u!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:Ue(u,c)}):c&&d.push(a(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:Ue(u,d)},{i:g-2,x:Ue(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,d,f),o(u.rotate,c.rotate,d,f),s(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var e4=Y0(QT,"px, ","px)","deg)"),n4=Y0(t4,", ",")",")"),$a=0,Ji=0,Ki=0,q0=1e3,Ys,Qi,qs=0,Dr=0,Zs=0,to=typeof performance=="object"&&performance.now?performance:Date,Z0=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Nf(){return Dr||(Z0(r4),Dr=to.now()+Zs)}function r4(){Dr=0}function Js(){this._call=this._time=this._next=null}Js.prototype=J0.prototype={constructor:Js,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Nf():+n)+(e==null?0:+e),!this._next&&Qi!==this&&(Qi?Qi._next=this:Ys=this,Qi=this),this._call=t,this._time=n,zf()},stop:function(){this._call&&(this._call=null,this._time=1/0,zf())}};function J0(t,e,n){var r=new Js;return r.restart(t,e,n),r}function a4(){Nf(),++$a;for(var t=Ys,e;t;)(e=Dr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--$a}function K0(){Dr=(qs=to.now())+Zs,$a=Ji=0;try{a4()}finally{$a=0,o4(),Dr=0}}function i4(){var t=to.now(),e=t-qs;e>q0&&(Zs-=e,qs=t)}function o4(){for(var t,e=Ys,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Ys=n);Qi=t,zf(r)}function zf(t){if(!$a){Ji&&(Ji=clearTimeout(Ji));var e=t-Dr;e>24?(t<1/0&&(Ji=setTimeout(K0,t-to.now()-Zs)),Ki&&(Ki=clearInterval(Ki))):(Ki||(qs=to.now(),Ki=setInterval(i4,q0)),$a=1,Z0(K0))}}function Q0(t,e,n){var r=new Js;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}var s4=b0("start","end","cancel","interrupt"),l4=[],ty=0,ey=1,Of=2,Ks=3,ny=4,Gf=5,Qs=6;function tl(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;u4(t,n,{name:e,index:r,group:a,on:s4,tween:l4,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ty})}function jf(t,e){var n=Ye(t,e);if(n.state>ty)throw new Error("too late; already scheduled");return n}function cn(t,e){var n=Ye(t,e);if(n.state>Ks)throw new Error("too late; already running");return n}function Ye(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function u4(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=J0(i,0,n.time);function i(u){n.state=ey,n.timer.restart(o,n.delay,n.time),n.delay<=u&&o(u-n.delay)}function o(u){var c,d,f,h;if(n.state!==ey)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===Ks)return Q0(o);h.state===ny?(h.state=Qs,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=Qs,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(Q0(function(){n.state===Ks&&(n.state=ny,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=Of,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Of){for(n.state=Ks,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=Gf,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===Gf&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Qs,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function c4(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>Of&&r.state<Gf,r.state=Qs,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function f4(t){return this.each(function(){c4(this,t)})}function d4(t,e){var n,r;return function(){var a=cn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,s=r.length;o<s;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function h4(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=cn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var s={name:e,value:n},l=0,u=a.length;l<u;++l)if(a[l].name===e){a[l]=s;break}l===u&&a.push(s)}i.tween=a}}function p4(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ye(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?d4:h4)(n,t,e))}function Vf(t,e,n){var r=t._id;return t.each(function(){var a=cn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return Ye(a,r).value[e]}}function ry(t,e){var n;return(typeof e=="number"?Ue:e instanceof _r?Ws:(n=_r(e))?(e=n,Ws):H0)(t,e)}function g4(t){return function(){this.removeAttribute(t)}}function m4(t){return function(){this.removeAttributeNS(t.space,t.local)}}function y4(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function b4(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function x4(t,e,n){var r,a,i;return function(){var o,s=n(this),l;return s==null?void this.removeAttribute(t):(o=this.getAttribute(t),l=s+"",o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s)))}}function v4(t,e,n){var r,a,i;return function(){var o,s=n(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===a?i:(a=l,i=e(r=o,s)))}}function $4(t,e){var n=zs(t),r=n==="transform"?n4:ry;return this.attrTween(t,typeof e=="function"?(n.local?v4:x4)(n,r,Vf(this,"attr."+t,e)):e==null?(n.local?m4:g4)(n):(n.local?b4:y4)(n,r,e))}function _4(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function A4(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function S4(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&A4(t,i)),n}return a._value=e,a}function D4(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&_4(t,i)),n}return a._value=e,a}function C4(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=zs(t);return this.tween(n,(r.local?S4:D4)(r,e))}function P4(t,e){return function(){jf(this,t).delay=+e.apply(this,arguments)}}function F4(t,e){return e=+e,function(){jf(this,t).delay=e}}function T4(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?P4:F4)(e,t)):Ye(this.node(),e).delay}function w4(t,e){return function(){cn(this,t).duration=+e.apply(this,arguments)}}function B4(t,e){return e=+e,function(){cn(this,t).duration=e}}function M4(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?w4:B4)(e,t)):Ye(this.node(),e).duration}function E4(t,e){if(typeof e!="function")throw new Error;return function(){cn(this,t).ease=e}}function L4(t){var e=this._id;return arguments.length?this.each(E4(e,t)):Ye(this.node(),e).ease}function R4(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;cn(this,t).ease=n}}function k4(t){if(typeof t!="function")throw new Error;return this.each(R4(this._id,t))}function I4(t){typeof t!="function"&&(t=A0(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new Tn(r,this._parents,this._name,this._id)}function N4(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),s=0;s<i;++s)for(var l=e[s],u=n[s],c=l.length,d=o[s]=new Array(c),f,h=0;h<c;++h)(f=l[h]||u[h])&&(d[h]=f);for(;s<r;++s)o[s]=e[s];return new Tn(o,this._parents,this._name,this._id)}function z4(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function O4(t,e,n){var r,a,i=z4(e)?jf:cn;return function(){var o=i(this,t),s=o.on;s!==r&&(a=(r=s).copy()).on(e,n),o.on=a}}function G4(t,e){var n=this._id;return arguments.length<2?Ye(this.node(),n).on.on(t):this.each(O4(n,t,e))}function j4(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function V4(){return this.on("end.remove",j4(this._id))}function H4(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Tf(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var s=r[o],l=s.length,u=i[o]=new Array(l),c,d,f=0;f<l;++f)(c=s[f])&&(d=t.call(c,c.__data__,f,s))&&("__data__"in c&&(d.__data__=c.__data__),u[f]=d,tl(u[f],e,n,f,u,Ye(c,n)));return new Tn(i,this._parents,e,n)}function X4(t){var e=this._name,n=this._id;typeof t!="function"&&(t=_0(t));for(var r=this._groups,a=r.length,i=[],o=[],s=0;s<a;++s)for(var l=r[s],u=l.length,c,d=0;d<u;++d)if(c=l[d]){for(var f=t.call(c,c.__data__,d,l),h,p=Ye(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&tl(h,e,n,g,f,p);i.push(f),o.push(c)}return new Tn(i,o,e,n)}var W4=Ui.prototype.constructor;function U4(){return new W4(this._groups,this._parents)}function Y4(t,e){var n,r,a;return function(){var i=xa(this,t),o=(this.style.removeProperty(t),xa(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function ay(t){return function(){this.style.removeProperty(t)}}function q4(t,e,n){var r,a=n+"",i;return function(){var o=xa(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function Z4(t,e,n){var r,a,i;return function(){var o=xa(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),xa(this,t))),o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s))}}function J4(t,e){var n,r,a,i="style."+e,o="end."+i,s;return function(){var l=cn(this,t),u=l.on,c=l.value[i]==null?s||(s=ay(e)):void 0;(u!==n||a!==c)&&(r=(n=u).copy()).on(o,a=c),l.on=r}}function K4(t,e,n){var r=(t+="")=="transform"?e4:ry;return e==null?this.styleTween(t,Y4(t,r)).on("end.style."+t,ay(t)):typeof e=="function"?this.styleTween(t,Z4(t,r,Vf(this,"style."+t,e))).each(J4(this._id,t)):this.styleTween(t,q4(t,r,e),n).on("end.style."+t,null)}function Q4(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function tw(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&Q4(t,o,n)),r}return i._value=e,i}function ew(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,tw(t,e,n??""))}function nw(t){return function(){this.textContent=t}}function rw(t){return function(){var e=t(this);this.textContent=e??""}}function aw(t){return this.tween("text",typeof t=="function"?rw(Vf(this,"text",t)):nw(t==null?"":t+""))}function iw(t){return function(e){this.textContent=t.call(this,e)}}function ow(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&iw(a)),e}return r._value=t,r}function sw(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,ow(t))}function lw(){for(var t=this._name,e=this._id,n=iy(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)if(l=o[u]){var c=Ye(l,e);tl(l,t,n,u,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Tn(r,this._parents,t,n)}function uw(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var s={value:o},l={value:function(){--a===0&&i()}};n.each(function(){var u=cn(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),a===0&&i()})}var cw=0;function Tn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function iy(){return++cw}var wn=Ui.prototype;Tn.prototype={constructor:Tn,select:H4,selectAll:X4,selectChild:wn.selectChild,selectChildren:wn.selectChildren,filter:I4,merge:N4,selection:U4,transition:lw,call:wn.call,nodes:wn.nodes,node:wn.node,size:wn.size,empty:wn.empty,each:wn.each,on:G4,attr:$4,attrTween:C4,style:K4,styleTween:ew,text:aw,textTween:sw,remove:V4,tween:p4,delay:T4,duration:M4,ease:L4,easeVarying:k4,end:uw,[Symbol.iterator]:wn[Symbol.iterator]};function fw(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var dw={time:null,delay:0,duration:250,ease:fw};function hw(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function pw(t){var e,n;t instanceof Tn?(e=t._id,t=t._name):(e=iy(),(n=dw).time=Nf(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&tl(l,t,e,u,o,n||hw(l,e));return new Tn(r,this._parents,t,e)}Ui.prototype.interrupt=f4,Ui.prototype.transition=pw;function gw(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function el(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function _a(t){return t=el(Math.abs(t)),t?t[1]:NaN}function mw(t,e){return function(n,r){for(var a=n.length,i=[],o=0,s=t[0],l=0;a>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(n.substring(a-=s,a+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return i.reverse().join(e)}}function yw(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var bw=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function nl(t){if(!(e=bw.exec(t)))throw new Error("invalid format: "+t);var e;return new Hf({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}nl.prototype=Hf.prototype;function Hf(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+""}Hf.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 xw(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var oy;function vw(t,e){var n=el(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(oy=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+el(t,Math.max(0,e+i-1))[0]}function sy(t,e){var n=el(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const ly={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:gw,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>sy(t*100,e),r:sy,s:vw,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function uy(t){return t}var cy=Array.prototype.map,fy=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $w(t){var e=t.grouping===void 0||t.thousands===void 0?uy:mw(cy.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?uy:yw(cy.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(d){d=nl(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,$=d.type;$==="n"?(y=!0,$="g"):ly[$]||(x===void 0&&(x=12),v=!0,$="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var S=g==="$"?n:g==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",C=g==="$"?r:/[%p]/.test($)?o:"",D=ly[$],_=/[defgprs%]/.test($);x=x===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function P(A){var I=S,k=C,w,F,T;if($==="c")k=D(A)+k,A="";else{A=+A;var B=A<0||1/A<0;if(A=isNaN(A)?l:D(Math.abs(A),x),v&&(A=xw(A)),B&&+A==0&&p!=="+"&&(B=!1),I=(B?p==="("?p:s:p==="-"||p==="("?"":p)+I,k=($==="s"?fy[8+oy/3]:"")+k+(B&&p==="("?")":""),_){for(w=-1,F=A.length;++w<F;)if(T=A.charCodeAt(w),48>T||T>57){k=(T===46?a+A.slice(w+1):A.slice(w))+k,A=A.slice(0,w);break}}}y&&!m&&(A=e(A,1/0));var N=I.length+A.length+k.length,E=N<b?new Array(b-N+1).join(f):"";switch(y&&m&&(A=e(E+A,E.length?b-k.length:1/0),E=""),h){case"<":A=I+A+k+E;break;case"=":A=I+E+A+k;break;case"^":A=E.slice(0,N=E.length>>1)+I+A+k+E.slice(N);break;default:A=E+I+A+k;break}return i(A)}return P.toString=function(){return d+""},P}function c(d,f){var h=u((d=nl(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(_a(f)/3)))*3,g=Math.pow(10,-p),m=fy[8+p/3];return function(b){return h(g*b)+m}}return{format:u,formatPrefix:c}}var rl,Xf,dy;_w({thousands:",",grouping:[3],currency:["$",""]});function _w(t){return rl=$w(t),Xf=rl.format,dy=rl.formatPrefix,rl}function Aw(t){return Math.max(0,-_a(Math.abs(t)))}function Sw(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(_a(e)/3)))*3-_a(Math.abs(t)))}function Dw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,_a(e)-_a(t))+1}function al(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const hy=Symbol("implicit");function py(){var t=new m0,e=[],n=[],r=hy;function a(i){let o=t.get(i);if(o===void 0){if(r!==hy)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new m0;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return py(e,n).unknown(r)},al.apply(a,arguments),a}function gy(){var t=py().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,s=!1,l=0,u=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-l+u*2),s&&(i=Math.floor(i)),p+=(g-p-i*(f-l))*c,o=i*(1-l),s&&(p=Math.round(p),o=Math.round(o));var m=YP(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,s=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(s=!!f,d()):s},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),d()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),d()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,d()):u},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return gy(e(),[r,a]).round(s).paddingInner(l).paddingOuter(u).align(c)},al.apply(d(),arguments)}function my(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return my(e())},t}function Cw(){return my(gy.apply(null,arguments).paddingInner(1))}function Pw(t){return function(){return t}}function Fw(t){return+t}var yy=[0,1];function Aa(t){return t}function Wf(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Pw(isNaN(e)?NaN:.5)}function Tw(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function ww(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=Wf(a,r),i=n(o,i)):(r=Wf(r,a),i=n(i,o)),function(s){return i(r(s))}}function Bw(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=Wf(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(s){var l=g0(t,s,1,r)-1;return i[l](a[l](s))}}function Mw(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Ew(){var t=yy,e=yy,n=If,r,a,i,o=Aa,s,l,u;function c(){var f=Math.min(t.length,e.length);return o!==Aa&&(o=Tw(t[0],t[f-1])),s=f>2?Bw:ww,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?i:(l||(l=s(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((u||(u=s(e,t.map(r),Ue)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Fw),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=KT,c()},d.clamp=function(f){return arguments.length?(o=f?!0:Aa,c()):o!==Aa},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function Lw(){return Ew()(Aa,Aa)}function Rw(t,e,n,r){var a=UP(t,e,n),i;switch(r=nl(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=Sw(a,o))&&(r.precision=i),dy(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=Dw(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=Aw(a))&&(r.precision=i-(r.type==="%")*2);break}}return Xf(r)}function by(t){var e=t.domain;return t.ticks=function(n){var r=e();return WP(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return Rw(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],s=r[i],l,u,c=10;for(s<o&&(u=o,o=s,s=u,u=a,a=i,i=u);c-- >0;){if(u=Pf(o,s,n),u===l)return r[a]=o,r[i]=s,e(r);if(u>0)o=Math.floor(o/u)*u,s=Math.ceil(s/u)*u;else if(u<0)o=Math.ceil(o*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function eo(){var t=Lw();return t.copy=function(){return Mw(t,eo())},al.apply(t,arguments),by(t)}function xy(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(l){return l!=null&&l<=l?a[g0(r,l,0,n)]:i}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return o}return o.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},o.range=function(l){return arguments.length?(n=(a=Array.from(l)).length-1,s()):a.slice()},o.invertExtent=function(l){var u=a.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},o.unknown=function(l){return arguments.length&&(i=l),o},o.thresholds=function(){return r.slice()},o.copy=function(){return xy().domain([t,e]).range(a).unknown(i)},al.apply(by(o),arguments)}function no(t,e,n){this.k=t,this.x=e,this.y=n}no.prototype={constructor:no,scale:function(t){return t===1?this:new no(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new no(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},no.prototype;function kw(t,e){return e instanceof Function?e(t):Xf(e)(t)}function ro(t,e,n,r){let a=`${t}_${e}`;return n!=null&&(a+=`_${n}`),r!=null&&(a+=`_${r}`),a}function il(t,e){return`${t}_series${e}`}function Uf(t,e){return`${t}_group${e}`}function ol(){return""}function Yf({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="grid"}){const r=e.seriesDirection==="row"?e.rowLabels:e.columnLabels;return t.map((a,i)=>r[i]!=null?r[i]:il(n,i))}function vy({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="multiGrid",gridIndex:r=0}){const a=e.seriesDirection==="row"?e.rowLabels:e.columnLabels;return t.map((i,o)=>a[o]!=null?a[o]:il(`${n}_grid${r}`,o))}function $y({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="grid"}){if(t[0]==null)return[];const r=e.seriesDirection==="row"?e.columnLabels:e.rowLabels;return t[0].map((a,i)=>r[i]!=null?r[i]:Uf(n,i))}function _y({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="multiGrid",gridIndex:r=0}){if(t[0]==null)return[];const a=e.seriesDirection==="row"?e.columnLabels:e.rowLabels;return t[0].map((i,o)=>a[o]!=null?a[o]:Uf(`${n}_grid${r}`,o))}function Kn(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}function Ay(t){const e=t.filter(n=>n!=null&&n.value!=null).map(n=>n.value);return Kn(e)}function Iw(t){const e=(t[0]&&Array.isArray(t[0])?t.flat():t).filter(n=>(n==null||ae(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return Kn(e)}function qf(t){const e=t.flat().filter(n=>(n==null||ae(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return Kn(e)}function Nw(t){const e=t.flat().flat().filter(n=>(n==null||ae(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return Kn(e)}function zw(t,e){const n=t.map(r=>Array.isArray(r)?r[e]??null:ae(r)?r.value[e]??null:null).filter(r=>r!=null);return Kn(n)}function Ow({data:t,minX:e,maxX:n,minY:r,maxY:a}){let i=[],o=null,s=null,l=null,u=null;for(let c of t)for(let d of c)d.axisX>=e&&d.axisX<=n&&d.axisY>=r&&d.axisY<=a&&(i.push(c),(o==null||d.axisX<o.axisX)&&(o=d),(s==null||d.axisX>s.axisX)&&(s=d),(l==null||d.axisY<l.axisY)&&(l=d),(u==null||d.axisY>u.axisY)&&(u=d));return{minXDatum:o,maxXDatum:s,minYDatum:l,maxYDatum:u,filteredData:i}}function Sy(t,e){if(t==="row")return Object.assign([],e);const n=e.length,r=e.reduce((i,o)=>Math.max(i,o.length),0),a=new Array(r).fill(null).map(()=>new Array(n).fill(null));for(let i=0;i<n;i++)for(let o=0;o<r;o++)a[o][i]=e[i][o];return a}function Qn(t,e){return t<e.colors[e.colorScheme].label.length?e.colors[e.colorScheme].label[t]:e.colors[e.colorScheme].label[t%e.colors[e.colorScheme].label.length]}function Dy(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function Zf(t,e,n){const{gap:r}=e,{rowAmount:a,columnAmount:i}=e.rowAmount*e.columnAmount>=n?e:Dy(n);return new Array(n).fill(null).map((o,s)=>{const l=s%i,u=Math.floor(s/i),c=(t.width-r*(i-1))/i,d=(t.height-r*(a-1))/a,f=l*c+l*r,h=u*d+u*r;return{slotIndex:s,rowIndex:u,columnIndex:l,startX:f,startY:h,centerX:f+c/2,centerY:h+d/2,width:c,height:d}})}function Sa(t,e,n){const{gap:r}=e,{rowAmount:a,columnAmount:i}=e.rowAmount*e.columnAmount>=n?e:Dy(n);return new Array(n).fill(null).map((o,s)=>{const l=s%i,u=Math.floor(s/i),c=(t.width-r*(i-1))/i,d=(t.height-r*(a-1))/a,f=l*c+l*r,h=u*d+u*r,p=[f,h],g=[c/t.width,d/t.height];return{slotIndex:s,rowIndex:u,columnIndex:l,translate:p,scale:g}})}const Gw=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a=[];try{const i=(o,s,l,u)=>{const c=ro(n.type,s,l),d=n.seriesLabels[s]||il("series",s),f=Qn(s,r);return typeof o=="number"?{id:c,index:u,seq:0,label:c,description:"",data:{},value:o,seriesIndex:s,seriesLabel:d,color:f,visible:!0}:{id:o.id?o.id:c,index:u,seq:0,label:o.label?o.label:c,description:o.description,data:o.data??{},value:o.value,seriesIndex:s,seriesLabel:d,color:f,visible:!0}};a=e.map((o,s)=>Array.isArray(o)?o.map((l,u)=>i(l,s,u,a.length+u)):i(o,s,0,a.length)).flat().sort(n.sort??void 0).map((o,s)=>(o.seq=s,o)).map(o=>(o.visible=n.visibleFilter(o,t),o)).sort((o,s)=>o.index-s.index).reduce((o,s)=>(o[s.seriesIndex]||(o[s.seriesIndex]=[]),o[s.seriesIndex].push(s),o),[])}catch(i){throw Error(i)}return a},jw=t=>yt({data:t},{data:{toBe:"(DataSeriesDatum | DataSeriesValue)[][] | (DataSeriesDatum | DataSeriesValue)[]",test:e=>Array.isArray(e)}});var Jf=function(t,e){return Jf=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},Jf(t,e)};function fn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Jf(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function Vw(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function s(c){try{u(r.next(c))}catch(d){o(d)}}function l(c){try{u(r.throw(c))}catch(d){o(d)}}function u(c){c.done?i(c.value):a(c.value).then(s,l)}u((r=r.apply(t,[])).next())})}function Cy(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(n=0)),n;)try{if(r=1,a&&(i=u[0]&2?a.return:u[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,u[1])).done)return i;switch(a=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,a=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){n.label=u[1];break}if(u[0]===6&&n.label<i[1]){n.label=i[1],i=u;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(u);break}i[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],a=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Da(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(s){o={error:s}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function er(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function Ca(t){return this instanceof Ca?(this.v=t,this):new Ca(t)}function Hw(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function s(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||l(h,g)})},p&&(a[h]=p(a[h])))}function l(h,p){try{u(r[h](p))}catch(g){f(i[0][3],g)}}function u(h){h.value instanceof Ca?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){l("next",h)}function d(h){l("throw",h)}function f(h,p){h(p),i.shift(),i.length&&l(i[0][0],i[0][1])}}function Xw(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Da=="function"?Da(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(s,l){o=t[i](o),a(s,l,o.done,o.value)})}}function a(i,o,s,l){Promise.resolve(l).then(function(u){i({value:u,done:s})},o)}}function Nt(t){return typeof t=="function"}function Kf(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Qf=Kf(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
2
+ `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
3
+ `):"",this.name="UnsubscriptionError",this.errors=e}});function sl(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var ao=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Da(o),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(Nt(c))try{c()}catch(g){i=g instanceof Qf?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Da(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{Ty(p)}catch(g){i=i??[],g instanceof Qf?i=er(er([],tr(i)),tr(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new Qf(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Ty(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&sl(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&sl(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),Py=ao.EMPTY;function Fy(t){return t instanceof ao||t&&"closed"in t&&Nt(t.remove)&&Nt(t.add)&&Nt(t.unsubscribe)}function Ty(t){Nt(t)?t():t.unsubscribe()}var Ww={Promise:void 0},Uw={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,er([t,e],tr(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function wy(t){Uw.setTimeout(function(){throw t})}function td(){}function ll(t){t()}var ed=function(t){fn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Fy(n)&&n.add(r)):r.destination=Zw,r}return e.create=function(n,r,a){return new io(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(ao),Yw=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){ul(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){ul(r)}else ul(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){ul(n)}},t}(),io=function(t){fn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return Nt(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new Yw(o),i}return e}(ed);function ul(t){wy(t)}function qw(t){throw t}var Zw={closed:!0,next:td,error:qw,complete:td},nd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Pa(t){return t}function Jw(t){return t.length===0?Pa:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var Et=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=Qw(e)?e:new io(e,n,r);return ll(function(){var o=a,s=o.operator,l=o.source;i.add(s?s.call(i,l):l?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=By(n),new n(function(a,i){var o=new io({next:function(s){try{e(s)}catch(l){i(l),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[nd]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return Jw(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=By(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function By(t){var e;return(e=t??Ww.Promise)!==null&&e!==void 0?e:Promise}function Kw(t){return t&&Nt(t.next)&&Nt(t.error)&&Nt(t.complete)}function Qw(t){return t&&t instanceof ed||Kw(t)&&Fy(t)}function t5(t){return Nt(t==null?void 0:t.lift)}function Zt(t){return function(e){if(t5(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Jt(t,e,n,r,a){return new e5(t,e,n,r,a)}var e5=function(t){fn(e,t);function e(n,r,a,i,o,s){var l=t.call(this,n)||this;return l.onFinalize=o,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=i?function(u){try{i(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=a?function(){try{a()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(ed),n5=Kf(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Lt=function(t){fn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new My(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new n5},e.prototype.next=function(n){var r=this;ll(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Da(r.currentObservers),s=o.next();!s.done;s=o.next()){var l=s.value;l.next(n)}}catch(u){a={error:u}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;ll(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;ll(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,s=a.observers;return i||o?Py:(this.currentObservers=null,s.push(n),new ao(function(){r.currentObservers=null,sl(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new Et;return n.source=this,n},e.create=function(n,r){return new My(n,r)},e}(Et),My=function(t){fn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:Py},e}(Lt),Ey=function(t){fn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Lt),rd={now:function(){return(rd.delegate||Date).now()},delegate:void 0},r5=function(t){fn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=rd);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;a||(i.push(n),!o&&i.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,s=o.slice(),l=0;l<s.length&&!n.closed;l+=i?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,s=(o?1:2)*r;if(r<1/0&&s<i.length&&i.splice(0,i.length-s),!o){for(var l=a.now(),u=0,c=1;c<i.length&&i[c]<=l;c+=2)u=c;u&&i.splice(0,u+1)}},e}(Lt),a5=function(t){fn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(ao),Ly={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,er([t,e],tr(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},i5=function(t){fn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),Ly.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&Ly.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,sl(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(a5),Ry=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=rd.now,t}(),o5=function(t){fn(e,t);function e(n,r){r===void 0&&(r=Ry.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(Ry),ad=new o5(i5),s5=ad,ky=new Et(function(t){return t.complete()});function Iy(t){return t&&Nt(t.schedule)}function id(t){return t[t.length-1]}function l5(t){return Nt(id(t))?t.pop():void 0}function Fa(t){return Iy(id(t))?t.pop():void 0}function Ny(t,e){return typeof id(t)=="number"?t.pop():e}var zy=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Oy(t){return Nt(t==null?void 0:t.then)}function Gy(t){return Nt(t[nd])}function jy(t){return Symbol.asyncIterator&&Nt(t==null?void 0:t[Symbol.asyncIterator])}function Vy(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function u5(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Hy=u5();function Xy(t){return Nt(t==null?void 0:t[Hy])}function Wy(t){return Hw(this,arguments,function(){var e,n,r,a;return Cy(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Ca(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,Ca(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Ca(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function Uy(t){return Nt(t==null?void 0:t.getReader)}function Ie(t){if(t instanceof Et)return t;if(t!=null){if(Gy(t))return c5(t);if(zy(t))return f5(t);if(Oy(t))return d5(t);if(jy(t))return Yy(t);if(Xy(t))return h5(t);if(Uy(t))return p5(t)}throw Vy(t)}function c5(t){return new Et(function(e){var n=t[nd]();if(Nt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function f5(t){return new Et(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function d5(t){return new Et(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,wy)})}function h5(t){return new Et(function(e){var n,r;try{for(var a=Da(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(s){n={error:s}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function Yy(t){return new Et(function(e){g5(t,e).catch(function(n){return e.error(n)})})}function p5(t){return Yy(Wy(t))}function g5(t,e){var n,r,a,i;return Vw(this,void 0,void 0,function(){var o,s;return Cy(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=Xw(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),a={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function nr(t,e,n,r,a){r===void 0&&(r=0),a===void 0&&(a=!1);var i=e.schedule(function(){n(),a?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!a)return i}function qy(t,e){return e===void 0&&(e=0),Zt(function(n,r){n.subscribe(Jt(r,function(a){return nr(r,t,function(){return r.next(a)},e)},function(){return nr(r,t,function(){return r.complete()},e)},function(a){return nr(r,t,function(){return r.error(a)},e)}))})}function Zy(t,e){return e===void 0&&(e=0),Zt(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function m5(t,e){return Ie(t).pipe(Zy(e),qy(e))}function y5(t,e){return Ie(t).pipe(Zy(e),qy(e))}function b5(t,e){return new Et(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function x5(t,e){return new Et(function(n){var r;return nr(n,e,function(){r=t[Hy](),nr(n,e,function(){var a,i,o;try{a=r.next(),i=a.value,o=a.done}catch(s){n.error(s);return}o?n.complete():n.next(i)},0,!0)}),function(){return Nt(r==null?void 0:r.return)&&r.return()}})}function Jy(t,e){if(!t)throw new Error("Iterable cannot be null");return new Et(function(n){nr(n,e,function(){var r=t[Symbol.asyncIterator]();nr(n,e,function(){r.next().then(function(a){a.done?n.complete():n.next(a.value)})},0,!0)})})}function v5(t,e){return Jy(Wy(t),e)}function $5(t,e){if(t!=null){if(Gy(t))return m5(t,e);if(zy(t))return b5(t,e);if(Oy(t))return y5(t,e);if(jy(t))return Jy(t,e);if(Xy(t))return x5(t,e);if(Uy(t))return v5(t,e)}throw Vy(t)}function Ta(t,e){return e?$5(t,e):Ie(t)}function Cr(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Fa(t);return Ta(t,n)}var Ky=Kf(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function _5(t){return t instanceof Date&&!isNaN(t)}function tt(t,e){return Zt(function(n,r){var a=0;n.subscribe(Jt(r,function(i){r.next(t.call(e,i,a++))}))})}var A5=Array.isArray;function S5(t,e){return A5(e)?t.apply(void 0,er([],tr(e))):t(e)}function D5(t){return tt(function(e){return S5(t,e)})}var C5=Array.isArray,P5=Object.getPrototypeOf,F5=Object.prototype,T5=Object.keys;function w5(t){if(t.length===1){var e=t[0];if(C5(e))return{args:e,keys:null};if(B5(e)){var n=T5(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function B5(t){return t&&typeof t=="object"&&P5(t)===F5}function M5(t,e){return t.reduce(function(n,r,a){return n[r]=e[a],n},{})}function _t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Fa(t),r=l5(t),a=w5(t),i=a.args,o=a.keys;if(i.length===0)return Ta([],n);var s=new Et(E5(i,n,o?function(l){return M5(o,l)}:Pa));return r?s.pipe(D5(r)):s}function E5(t,e,n){return n===void 0&&(n=Pa),function(r){Qy(e,function(){for(var a=t.length,i=new Array(a),o=a,s=a,l=function(c){Qy(e,function(){var d=Ta(t[c],e),f=!1;d.subscribe(Jt(r,function(h){i[c]=h,f||(f=!0,s--),s||r.next(n(i.slice()))},function(){--o||r.complete()}))},r)},u=0;u<a;u++)l(u)},r)}}function Qy(t,e,n){t?nr(n,t,e):e()}function L5(t,e,n,r,a,i,o,s){var l=[],u=0,c=0,d=!1,f=function(){d&&!l.length&&!u&&e.complete()},h=function(g){return u<r?p(g):l.push(g)},p=function(g){u++;var m=!1;Ie(n(g,c++)).subscribe(Jt(e,function(b){e.next(b)},function(){m=!0},void 0,function(){if(m)try{u--;for(var b=function(){var y=l.shift();o||p(y)};l.length&&u<r;)b();f()}catch(y){e.error(y)}}))};return t.subscribe(Jt(e,h,function(){d=!0,f()})),function(){}}function tb(t,e,n){return n===void 0&&(n=1/0),Nt(e)?tb(function(r,a){return tt(function(i,o){return e(r,i,a,o)})(Ie(t(r,a)))},n):(typeof e=="number"&&(n=e),Zt(function(r,a){return L5(r,a,t,n)}))}function od(t){return t===void 0&&(t=1/0),tb(Pa,t)}function R5(){return od(1)}function eb(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return R5()(Ta(t,Fa(t)))}function k5(t){return new Et(function(e){Ie(t()).subscribe(e)})}function nb(t,e,n){return k5(function(){return t()?e:n})}function I5(t,e,n){n===void 0&&(n=s5);var r=-1;return e!=null&&(Iy(e)?n=e:r=e),new Et(function(a){var i=_5(t)?250-n.now():t;i<0&&(i=0);var o=0;return n.schedule(function(){a.closed||(a.next(o++),0<=r?this.schedule(void 0,r):a.complete())},i)})}function N5(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Fa(t),r=Ny(t,1/0),a=t;return a.length?a.length===1?Ie(a[0]):od(r)(Ta(a,n)):ky}var z5=Array.isArray;function O5(t){return t.length===1&&z5(t[0])?t[0]:t}function rb(t,e){return Zt(function(n,r){var a=0;n.subscribe(Jt(r,function(i){return t.call(e,i,a++)&&r.next(i)}))})}function G5(t,e){return e===void 0&&(e=ad),Zt(function(n,r){var a=null,i=null,o=null,s=function(){if(a){a.unsubscribe(),a=null;var u=i;i=null,r.next(u)}};function l(){var u=o+t,c=e.now();if(c<u){a=this.schedule(void 0,u-c),r.add(a);return}s()}n.subscribe(Jt(r,function(u){i=u,o=e.now(),a||(a=e.schedule(l,t),r.add(a))},function(){s(),r.complete()},void 0,function(){i=a=null}))})}function j5(t){return Zt(function(e,n){var r=!1;e.subscribe(Jt(n,function(a){r=!0,n.next(a)},function(){r||n.next(t),n.complete()}))})}function V5(t){return t<=0?function(){return ky}:Zt(function(e,n){var r=0;e.subscribe(Jt(n,function(a){++r<=t&&(n.next(a),t<=r&&n.complete())}))})}function Vt(t,e){return e===void 0&&(e=Pa),t=t??H5,Zt(function(n,r){var a,i=!0;n.subscribe(Jt(r,function(o){var s=e(o);(i||!t(a,s))&&(i=!1,a=s,r.next(o))}))})}function H5(t,e){return t===e}function X5(t){return t===void 0&&(t=W5),Zt(function(e,n){var r=!1;e.subscribe(Jt(n,function(a){r=!0,n.next(a)},function(){return r?n.complete():n.error(t())}))})}function W5(){return new Ky}function U5(t,e){var n=arguments.length>=2;return function(r){return r.pipe(Pa,V5(1),n?j5(e):X5(function(){return new Ky}))}}function Y5(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Fa(t),r=Ny(t,1/0);return t=O5(t),Zt(function(a,i){od(r)(Ta(er([a],tr(t)),n)).subscribe(i)})}function q5(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Y5.apply(void 0,er([],tr(t)))}function sd(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Lt}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Zt(function(x,v){h++,!g&&!p&&m();var $=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=ld(y,l))}),$.subscribe(v),!c&&h>0&&(c=new io({next:function(S){return $.next(S)},error:function(S){g=!0,m(),d=ld(b,a,S),$.error(S)},complete:function(){p=!0,m(),d=ld(b,o),$.complete()}}),Ie(x).subscribe(c))})(u)}}function ld(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new io({next:function(){a.unsubscribe(),t()}});return Ie(e.apply(void 0,er([],tr(n)))).subscribe(a)}}function U(t,e,n){var r,a=!1;return r=t,sd({connector:function(){return new r5(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function ud(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Fa(t);return Zt(function(r,a){(n?eb(t,r,n):eb(t,r)).subscribe(a)})}function bt(t,e){return Zt(function(n,r){var a=null,i=0,o=!1,s=function(){return o&&!a&&r.complete()};n.subscribe(Jt(r,function(l){a==null||a.unsubscribe();var u=0,c=i++;Ie(t(l,c)).subscribe(a=Jt(r,function(d){return r.next(e?e(l,d,c,u++):d)},function(){a=null,s()}))},function(){o=!0,s()}))})}function xt(t){return Zt(function(e,n){Ie(t).subscribe(Jt(n,function(){return n.complete()},td)),!n.closed&&e.subscribe(n)})}function Z5(t,e){return Zt(function(n,r){var a=e??{},i=a.leading,o=i===void 0?!0:i,s=a.trailing,l=s===void 0?!1:s,u=!1,c=null,d=null,f=!1,h=function(){d==null||d.unsubscribe(),d=null,l&&(m(),f&&r.complete())},p=function(){d=null,f&&r.complete()},g=function(b){return d=Ie(t(b)).subscribe(Jt(r,h,p))},m=function(){if(u){u=!1;var b=c;c=null,r.next(b),!f&&g(b)}};n.subscribe(Jt(r,function(b){u=!0,c=b,!(d&&!d.closed)&&(o?m():g(b))},function(){f=!0,!(l&&u&&d&&!d.closed)&&r.complete()}))})}function J5(t,e,n){e===void 0&&(e=ad);var r=I5(t,e);return Z5(function(){return r},n)}function ab(t){return new Et(e=>{const n=new ResizeObserver(r=>{const a=r[0];a&&a.contentRect&&e.next(a.contentRect)});return n.observe(t),function(){n.unobserve(t)}})}const rr=({datumList$:t,fullChartParams$:e,event$:n})=>{const r=new Lt,a=e.pipe(xt(r),tt(d=>({id:null,label:null,seriesLabel:null,groupLabel:null,categoryLabel:null,highlightDefault:d.highlightDefault})),Vt()),i=n.pipe(xt(r),rb(d=>d.eventName==="mouseover"),tt(d=>{const f=d;return f.datum?{id:f.datum.id,label:f.datum.label,seriesLabel:f.datum.seriesLabel,groupLabel:f.datum.groupLabel,categoryLabel:f.datum.categoryLabel,highlightDefault:null}:{id:null,label:null,seriesLabel:null,groupLabel:null,categoryLabel:null,highlightDefault:null}})),o=n.pipe(xt(r),rb(d=>d.eventName==="mouseout"),bt(d=>a));function s(d,f,h){return f==null&&h==null?[]:d.filter(p=>p.id===f||p.label===h)}function l(d,f){return f==null?[]:d.filter(h=>h.seriesLabel===f)}function u(d,f){return f==null?[]:d.filter(h=>h.groupLabel===f)}function c(d,f){return f==null?[]:d.filter(h=>h.categoryLabel===f)}return new Et(d=>(_t({target:N5(i,o,a),datumList:t,fullChartParams:e}).pipe(xt(r),bt(async f=>f)).subscribe(f=>{let h=[];f.fullChartParams.highlightTarget==="datum"?h=s(f.datumList,f.target.id,f.target.label):f.fullChartParams.highlightTarget==="series"?h=l(f.datumList,f.target.seriesLabel):f.fullChartParams.highlightTarget==="group"?h=u(f.datumList,f.target.groupLabel):f.fullChartParams.highlightTarget==="category"&&(h=c(f.datumList,f.target.categoryLabel)),d.next(h)}),function(){r.next(void 0)}))},cl=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.forEach(r=>{const a=n.get(r.seriesLabel)??[];a.push(r),n.set(r.seriesLabel,a)}),n})),cd=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.forEach(r=>{const a=n.get(r.groupLabel)??[];a.push(r),n.set(r.groupLabel,a)}),n})),oo=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.filter(r=>r.categoryLabel!=null).forEach(r=>{const a=n.get(r.categoryLabel)??[];a.push(r),n.set(r.categoryLabel,a)}),n})),Pr=t=>t.pipe(tt(e=>e.styles.textSize),Vt(),tt(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),fl=({layout$:t,containerPosition$:e})=>{const n=e.pipe(tt(a=>a.reduce((i,o)=>o.rowIndex>i?o.rowIndex:i,0)+1),Vt()),r=e.pipe(tt(a=>a.reduce((i,o)=>o.columnIndex>i?o.columnIndex:i,0)+1),Vt());return _t({layout:t,rowAmount:n,columnAmount:r}).pipe(bt(async a=>a),tt(a=>{const i=a.layout.rootWidth/a.columnAmount-(a.layout.left+a.layout.right),o=a.layout.rootHeight/a.rowAmount-(a.layout.top+a.layout.bottom);return{width:i,height:o}}),Vt((a,i)=>a.width===i.width&&a.height===i.height))},K5=({fullDataFormatter$:t})=>t.pipe(tt(e=>e.separateSeries),Vt()),Q5=({computedData$:t})=>t.pipe(tt(e=>e.filter(n=>n.length).map(n=>n[0].seriesLabel)),Vt((e,n)=>JSON.stringify(e).length===JSON.stringify(n).length)),ib=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible!=!1)))),t3=({computedData$:t,fullDataFormatter$:e})=>_t({computedData:t,fullDataFormatter:e}).pipe(bt(async n=>n),tt(n=>{const r=n.fullDataFormatter.sumSeries==!0?n.computedData.map(a=>[a.reduce((i,o)=>i==null?o:(i.value=i.value+o.value,i),null)]):n.computedData;return n.fullDataFormatter.separateSeries==!0?r.map(a=>a.sort((i,o)=>i.seq-o.seq)):[r.flat().sort((a,i)=>a.seq-i.seq)]})),e3=({computedData$:t,fullDataFormatter$:e,layout$:n})=>_t({computedData:t,fullDataFormatter:e,layout:n}).pipe(bt(async r=>r),tt(r=>r.fullDataFormatter.separateSeries?Zf(r.layout,r.fullDataFormatter.container,r.computedData.length):Zf(r.layout,r.fullDataFormatter.container,1))),n3=({seriesContainerPosition$:t,seriesLabels$:e,separateSeries$:n})=>_t({seriesContainerPosition:t,seriesLabels:e,separateSeries:n}).pipe(bt(async r=>r),tt(r=>r.separateSeries?new Map(r.seriesLabels.map((a,i)=>[a,r.seriesContainerPosition[i]??r.seriesContainerPosition[0]])):new Map(r.seriesLabels.map((a,i)=>[a,r.seriesContainerPosition[0]])))),r3=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=K5({fullDataFormatter$:e.fullDataFormatter$}).pipe(U(1)),a=ib({computedData$:e.computedData$}).pipe(U(1)),i=t3({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$}).pipe(U(1)),o=ib({computedData$:i}).pipe(U(1)),s=e.computedData$.pipe(tt(h=>h.flat())).pipe(U(1)),l=rr({datumList$:s,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),u=Q5({computedData$:e.computedData$}).pipe(U(1)),c=cl({datumList$:s}).pipe(U(1)),d=e3({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),f=n3({seriesContainerPosition$:d,seriesLabels$:u,separateSeries$:r}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,visibleComputedData$:a,visibleComputedSortedData$:o,separateSeries$:r,computedSortedData$:i,seriesHighlight$:l,seriesLabels$:u,SeriesDataMap$:c,seriesContainerPosition$:d,SeriesContainerPositionMap$:f}},Ne=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=xe.scaleDomain,scaleRange:a=xe.scaleRange,reverse:i=!1})=>{const o=r[0]??xe.scaleDomain[0],s=r[1]??xe.scaleDomain[1],l=a[0]??xe.scaleRange[0],u=a[1]??xe.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),h=d/u;return i?eo().domain([f,h]).range([n,0]):eo().domain([f,h]).range([0,n])},a3=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=xe.scaleDomain,scaleRange:a=xe.scaleRange,reverse:i=!1})=>{e===t&&(t+=1,e-=1);const o=r[0]??xe.scaleDomain[0],s=r[1]??xe.scaleDomain[1],l=a[0]??xe.scaleRange[0],u=a[1]??xe.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),h=d/u;return i?eo().domain([n,0]).range([f,h]):eo().domain([0,n]).range([f,h])},i3=({axisLabels:t,axisWidth:e,padding:n=.5})=>{let r=[0,e];return Cw().domain(t).range(r).padding(n)},o3=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let a=t.map((l,u)=>u);r&&a.reverse();const i=a.length-1+n*2,o=e/i,s=o*n-o*.5;return xy().domain([s,e-s]).range(a)},fd=({computedData$:t,fullDataFormatter$:e,layout$:n})=>{function r(i,o,s){const l=o.groupAxis.position==="top"||o.groupAxis.position==="bottom"?s.width:s.height,u=i[0]?i[0].length-1:0;return Ne({maxValue:u,minValue:0,axisWidth:l,scaleDomain:[0,u],scaleRange:[0,1]})}function a(i,o,s){const l=o.valueAxis.position==="left"||o.valueAxis.position==="right"?s.height:s.width,u=i.flat();let[c,d]=Ay(u);return c===d&&d===0&&(d=1),Ne({maxValue:d,minValue:c,axisWidth:l,scaleDomain:["auto","auto"],scaleRange:[0,1]})}return _t({computedData:t,fullDataFormatter:e,layout:n}).pipe(bt(async i=>i),tt(i=>{const o=r(i.computedData,i.fullDataFormatter,i.layout),s=a(i.computedData,i.fullDataFormatter,i.layout),l=s(0);return i.computedData.map((u,c)=>u.map((d,f)=>{const h=o(f),p=s(d.value??0);return{...d,axisX:h,axisY:p,axisYFromZero:p-l}}))}))},dl=({fullDataFormatter$:t,layout$:e})=>{const n=new Lt;function r({xAxisPosition:o,yAxisPosition:s,width:l,height:u}){return(o==="bottom"||o==="top")&&(s==="left"||s==="right")?{width:l,height:u}:(o==="left"||o==="right")&&(s==="bottom"||s==="top")?{width:u,height:l}:{width:l,height:u}}const a=t.pipe(tt(o=>o.groupAxis.position),Vt()),i=t.pipe(tt(o=>o.valueAxis.position),Vt());return new Et(o=>{_t({groupAxisPosition:a,valueAxisPosition:i,layout:e}).pipe(xt(n),bt(async s=>s)).subscribe(s=>{const l=r({xAxisPosition:s.groupAxisPosition,yAxisPosition:s.valueAxisPosition,width:s.layout.width,height:s.layout.height});return o.next(l),function(){n.next(void 0)}})})},dd=({fullDataFormatter$:t,containerSize$:e})=>dl({fullDataFormatter$:t,layout$:e}),hd=({computedData$:t})=>t.pipe(tt(e=>e.filter(n=>n.length).map(n=>n[0].seriesLabel)),Vt((e,n)=>JSON.stringify(e).length===JSON.stringify(n).length)),pd=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),gd=({computedAxesData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),ob=({computedData$:t,fullDataFormatter$:e,layout$:n})=>_t({computedData:t,fullDataFormatter:e,layout:n}).pipe(bt(async r=>r),tt(r=>{if(r.fullDataFormatter.separateSeries)return Sa(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=Sa(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),md=({isSeriesSeprate$:t,computedData$:e})=>{const n=e.pipe(tt(r=>{const a=new Array(r[0]?r[0].length:0).fill(null).map((i,o)=>r.reduce((s,l)=>{if(l&&l[o]){const u=l[o].value==null||l[o].visible==!1?0:l[o].value;return s+u}return s},0));return r.map((i,o)=>i.map((s,l)=>({...s,value:a[l]})))}));return t.pipe(bt(r=>nb(()=>r,e,n)))},yd=({computedData$:t,fullDataFormatter$:e})=>_t({computedData:t,fullDataFormatter:e}).pipe(bt(async n=>n),tt(n=>{const r=n.fullDataFormatter.groupAxis,a=n.computedData[0]?n.computedData[0].length-1:0,i=r.scaleDomain[0]-r.scalePadding,o=r.scaleDomain[1]==="max"?a+r.scalePadding:r.scaleDomain[1]+r.scalePadding;return[i,o]})),bd=({computedData$:t,groupScaleDomainValue$:e})=>_t({computedData:t,groupScaleDomainValue:e}).pipe(tt(n=>{const r=n.computedData.map((a,i)=>a.filter((o,s)=>s>=n.groupScaleDomainValue[0]&&s<=n.groupScaleDomainValue[1]&&o.visible==!0));return qf(r)})),xd=({fullDataFormatter$:t,layout$:e})=>{const n=new Lt;function r({xAxis:a,yAxis:i,width:o,height:s}){if(!a||!i)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let l=0,u=0,c=0,d=0,f=0;return a.position==="bottom"?i.position==="left"?(d=180,u=s):i.position==="right"?(d=180,f=180,l=o,u=s):(d=180,u=s):a.position==="top"?i.position==="left"||(i.position==="right"?(f=180,l=o):(d=180,u=s)):a.position==="left"?i.position==="bottom"?(c=-90,u=s):i.position==="top"?(c=-90,f=180):(d=180,u=s):a.position==="right"?i.position==="bottom"?(c=-90,d=180,u=s,l=o):i.position==="top"?(c=-90,d=180,f=180,l=o):(d=180,u=s):(d=180,u=s),{translate:[l,u],scale:[1,1],rotate:c,rotateX:d,rotateY:f,value:`translate(${l}px, ${u}px) rotate(${c}deg) rotateX(${d}deg) rotateY(${f}deg)`}}return new Et(a=>(_t({fullDataFormatter:t,layout:e}).pipe(xt(n),bt(async i=>i)).subscribe(i=>{const o=r({xAxis:i.fullDataFormatter.groupAxis,yAxis:i.fullDataFormatter.valueAxis,width:i.layout.width,height:i.layout.height});a.next(o)}),function(){n.next(void 0)}))},vd=({gridAxesTransform$:t})=>t.pipe(tt(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],a=e.rotate*-1,i=e.rotateX*-1,o=e.rotateY*-1;return{translate:n,scale:r,rotate:a,rotateX:i,rotateY:o,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${i}deg) rotateY(${o}deg) rotate(${a}deg)`}})),$d=({computedData$:t,groupScaleDomainValue$:e,filteredMinMaxValue$:n,fullDataFormatter$:r,layout$:a})=>{const i=new Lt;function o({data:s,groupAxis:l,valueAxis:u,groupScaleDomainValue:c,filteredMinMaxValue:d,width:f,height:h}){let p=0,g=0,m=0,b=0;const y=l.position==="top"||l.position==="bottom"?f:h,x=0,v=s[0]?s[0].length-1:0,$=Ne({maxValue:v,minValue:x,axisWidth:y,scaleDomain:c,scaleRange:[0,1]}),S=$(x),C=$(v);x==v?(p=0,m=1):(p=S,m=(C-S)/y),d[0]===d[1]&&d[1]===0&&(d[1]=1);const D=u.position==="left"||u.position==="right"?h:f,_=Ne({maxValue:d[1],minValue:d[0],axisWidth:D,scaleDomain:u.scaleDomain,scaleRange:u.scaleRange}),P=qf(s);P[0]===P[1]&&P[1]===0&&(P[1]=1);const A=_(P[0]>0?0:P[0]),I=_(P[1]<0?0:P[1]);return g=A,b=(I-A)/D,{translate:[p,g],scale:[m,b],rotate:0,rotateX:0,rotateY:0,value:`translate(${p}px, ${g}px) scale(${m}, ${b})`}}return new Et(s=>(_t({computedData:t,groupScaleDomainValue:e,filteredMinMaxValue:n,fullDataFormatter:r,layout:a}).pipe(xt(i),bt(async l=>l)).subscribe(l=>{const u=o({data:l.computedData,groupAxis:l.fullDataFormatter.groupAxis,valueAxis:l.fullDataFormatter.valueAxis,groupScaleDomainValue:l.groupScaleDomainValue,filteredMinMaxValue:l.filteredMinMaxValue,width:l.layout.width,height:l.layout.height});s.next(u)}),function(){i.next(void 0)}))},_d=({gridContainerPosition$:t,gridAxesTransform$:e,gridGraphicTransform$:n})=>_t({gridContainerPosition:t,gridAxesTransform:e,gridGraphicTransform:n}).pipe(bt(async r=>r),tt(r=>r.gridAxesTransform.rotate==0||r.gridAxesTransform.rotate==180?r.gridContainerPosition.map((a,i)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[i].scale[0],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[i].scale[1]]):r.gridContainerPosition.map((a,i)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[i].scale[1],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[i].scale[0]])));function wa(t){return`[OrbCharts warn]: ${t.message}`}function Fr({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
4
+
5
+ ----> find in '${n}'`}function Tr({columnName:t,expectToBe:e,from:n}){return`Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
6
+
7
+ ----> find in '${n}'`}function s3(t){return t?yt(t,{width:{toBe:'"auto" | number',test:e=>e==="auto"||typeof e=="number"},height:{toBe:'"auto" | number',test:e=>e==="auto"||typeof e=="number"},preset:{toBeTypes:["object"]}}):{status:"success",columnName:"",expectToBe:""}}function l3(t){return yt({element:t},{element:{toBe:"Dom",test:e=>h0(e)}})}function u3(t,e){const n={series:["series","datum","none"],grid:["series","group","datum","none"],multiGrid:["series","group","datum","none"],multiValue:["category","datum","none"],relationship:["category","datum","none"],tree:["category","datum","none"],noneData:["none"]},r=yt(e,{padding:{toBeTypes:["object"]},highlightTarget:{toBe:n[t].map(a=>`"${a}"`).join(" | "),test:a=>n[t].includes(a)},highlightDefault:{toBeTypes:["string","null"]},colorScheme:{toBe:'"dark" | "light"',test:a=>a==="dark"||a==="light"},colors:{toBeTypes:["object"],test:a=>a.light&&a.dark},styles:{toBeTypes:["object"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(e&&e.padding){const a=yt(e.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(a.status==="error")return a}if(e&&e.colors){const a=yt(e.colors,{light:{toBeTypes:["object"]},dark:{toBeTypes:["object"]}});if(a.status==="error")return a;if(e.colors.light){const i=yt(e.colors.light,{label:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},labelContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(i.status==="error")return i}if(e.colors.dark){const i=yt(e.colors.dark,{label:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},labelContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(i.status==="error")return i}}return r}function c3(t,e){return yt({pluginEntities:e},{pluginEntities:{toBe:`PluginEntity<'${t}'>[]`,test:n=>Array.isArray(n)&&n.every(r=>r.chartType===t||r.chartType==="noneData")}})}function sb(t,e,n){const r=Jn(t,e);return n==="multiGrid"&&t.gridList!=null&&(r.gridList=t.gridList.map((a,i)=>{const o=e.gridList[i]||e.gridList[0];return Jn(a,o)})),r}const f3=({defaultDataFormatter:t,dataFormatterValidator:e,computedDataFn:n,dataValidator:r,contextObserverCallback:a})=>{const i=new Lt,o=t.type;return function(s,l){try{const{status:D,columnName:_,expectToBe:P}=s3(l);if(D==="error")throw new Error(Fr({columnName:_,expectToBe:P,from:"Chart.constructor"}));if(D==="warning")console.warn(Tr({columnName:_,expectToBe:P,from:"Chart.constructor"}));else{const{status:A,columnName:I,expectToBe:k}=l3(s);if(A==="error")throw new Error(Fr({columnName:I,expectToBe:k,from:"Chart.constructor"}));A==="warning"&&console.warn(Tr({columnName:I,expectToBe:k,from:"Chart.constructor"}))}}catch(D){throw new Error(D)}Gs(s).selectAll("svg").remove();const u=Gs(s).append("svg");u.attr("xmlns:xlink","http://www.w3.org/1999/xlink").attr("xmls","http://www.w3.org/2000/svg").attr("version","1.1").style("position","absolute").classed("orbcharts__root",!0);const c=u.append("g");c.classed("orbcharts__layout",!0);const d=c.append("g");d.classed("orbcharts__plugins",!0);const f={data$:new Lt,dataFormatter$:new Lt,plugins$:new Lt,chartParams$:new Lt,event$:new Lt},h=(D=>{const _=D||Zn,P=_.preset?_.preset:{};return{name:P.name??"",description:P.description??"",descriptionZh:P.descriptionZh??"",chartParams:P.chartParams?Jn(P.chartParams,bf):bf,dataFormatter:P.dataFormatter?sb(P.dataFormatter,t,o):t,pluginParams:P.pluginParams?P.pluginParams:{}}})(l),p=f.data$.pipe(U(1)),g=f.dataFormatter$.pipe(xt(i),ud({}),tt(D=>{try{const{status:_,columnName:P,expectToBe:A}=e(D);if(_==="error")throw new Error(Fr({columnName:P,expectToBe:A,from:"Chart.dataFormatter$"}));_==="warning"&&console.warn(Tr({columnName:P,expectToBe:A,from:"Chart.dataFormatter$"}))}catch(_){console.error(wa(_))}return sb(D,h.dataFormatter,o)}),U(1)),m=f.chartParams$.pipe(xt(i),ud({}),tt(D=>{try{const{status:_,columnName:P,expectToBe:A}=u3(o,D);if(_==="error")throw new Error(Fr({columnName:P,expectToBe:A,from:"Chart.chartParams$"}));_==="warning"&&console.warn(Tr({columnName:P,expectToBe:A,from:"Chart.chartParams$"}))}catch(_){console.error(wa(_))}return Jn(D,h.chartParams)}),U(1)),b=m.pipe(xt(i),ud({}),tt(D=>Jn(D.padding??{},yf)));b.pipe(xt(i),U5()).subscribe(D=>{c.attr("transform",`translate(${D.left}, ${D.top})`)}),b.subscribe(D=>{c.transition().attr("transform",`translate(${D.left}, ${D.top})`)});const y=Cr({width:(l==null?void 0:l.width)??Zn.width,height:(l==null?void 0:l.height)??Zn.height}).pipe(bt(D=>nb(()=>D.width==="auto"||D.height==="auto",ab(s).pipe(tt(_=>({width:D.width==="auto"?_.width:D.width,height:D.height==="auto"?_.height:D.height}))),Cr(D))),xt(i),sd()),x=Cr().pipe(q5(y.pipe(G5(250)),y.pipe(J5(250))),Vt((D,_)=>JSON.stringify(D)===JSON.stringify(_)),sd()),v=x.subscribe(),$=_t({rootSize:x,mergedPadding:b}).pipe(xt(i),bt(async D=>{const _=D.rootSize.width>0?D.rootSize.width:u0,P=D.rootSize.height>0?D.rootSize.height:c0;return{width:_-D.mergedPadding.left-D.mergedPadding.right,height:P-D.mergedPadding.top-D.mergedPadding.bottom,top:D.mergedPadding.top,right:D.mergedPadding.right,bottom:D.mergedPadding.bottom,left:D.mergedPadding.left,rootWidth:_,rootHeight:P}}),U(1));$.subscribe(D=>{u.attr("width",D.rootWidth).attr("height",D.rootHeight)});const S=_t({data:p,dataFormatter:g,chartParams:m}).pipe(xt(i),bt(async D=>D),bt(D=>Cr(D).pipe(tt(_=>{try{const{status:P,columnName:A,expectToBe:I}=r(_.data);if(P==="error")throw new Error(Fr({columnName:A,expectToBe:I,from:"Chart.data$"}));P==="warning"&&console.warn(Tr({columnName:A,expectToBe:I,from:"Chart.data$"}))}catch(P){console.error(wa(P))}return n({data:_.data,dataFormatter:_.dataFormatter,chartParams:_.chartParams})}))),U(1));S.subscribe();const C={};return f.plugins$.subscribe(D=>{try{const{status:_,columnName:P,expectToBe:A}=c3(o,D);if(_==="error")throw new Error(Fr({columnName:P,expectToBe:A,from:"Chart.plugins$"}));_==="warning"&&console.warn(Tr({columnName:P,expectToBe:A,from:"Chart.plugins$"}))}catch(_){console.error(wa(_));return}d.selectAll("g.orbcharts__plugin").data(D,_=>_.name).join(_=>_.append("g").attr("class",P=>`orbcharts__plugin orbcharts__${P.name}`).each((P,A,I)=>{const k={fullParams$:new Et,fullChartParams$:m,fullDataFormatter$:g,computedData$:S,layout$:$},w=a({observer:k,subject:f}),F={selection:Gs(I[A]),rootSelection:u,name:P.name,chartType:o,subject:f,observer:w};P.setPresetParams(h.pluginParams[P.name]??{}),P.setContext(F),C[F.name]=P,P.init()}),_=>_,_=>_.each((P,A,I)=>{C[P.name]&&(C[P.name].destroy(),C[P.name]=void 0)}).remove()).sort((_,P)=>_.layerIndex-P.layerIndex)}),{...f,selection:u,destroy(){Gs(s).selectAll("svg").remove(),i.next(void 0),v.unsubscribe()}}}};let Ba=class{constructor({defaultDataFormatter:e,dataFormatterValidator:n,computedDataFn:r,dataValidator:a,contextObserverCallback:i},o,s){this.data$=new Lt,this.dataFormatter$=new Lt,this.plugins$=new Lt,this.chartParams$=new Lt,this.event$=new Lt;try{const l=f3({defaultDataFormatter:e,dataFormatterValidator:n,computedDataFn:r,dataValidator:a,contextObserverCallback:i})(o,s);this.selection=l.selection,this.destroy=l.destroy,this.data$=l.data$,this.dataFormatter$=l.dataFormatter$,this.plugins$=l.plugins$,this.chartParams$=l.chartParams$,this.event$=l.event$}catch(l){console.error(wa(l))}}},d3=class extends Ba{constructor(e,n){super({defaultDataFormatter:vf,dataFormatterValidator:RP,computedDataFn:Gw,dataValidator:jw,contextObserverCallback:r3},e,n)}};const h3=t=>{const e=yt(t,{visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},seriesDirection:{toBe:'"row" | "column"',test:n=>n==="row"||n==="column"},rowLabels:{toBeTypes:["string[]"]},columnLabels:{toBeTypes:["string[]"]},valueAxis:{toBeTypes:["object"]},groupAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]}});if(e.status==="error")return e;if(t.valueAxis){const n=yt(t.valueAxis,{position:{toBe:'"bottom" | "left" | "top" | "right"',test:r=>r==="bottom"||r==="left"||r==="top"||r==="right"},scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(t.groupAxis){const n=yt(t.groupAxis,{position:{toBe:'"bottom" | "left" | "top" | "right"',test:r=>r==="bottom"||r==="left"||r==="top"||r==="right"},scaleDomain:{toBe:'[number, number | "max"]',test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&(typeof r[1]=="number"||r[1]==="max")},scalePadding:{toBeTypes:["number"]},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(t.container){const n=yt(t.container,{gap:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnAmount:{toBeTypes:["number"]}});if(n.status==="error")return n}return e};function lb(t,e){if(!t.length)return[];try{const n=t.reduce((a,i)=>i.length>a?i.length:a,0),r=t.map((a,i)=>{if(a.length===n)return a;const o=Object.assign([],a);for(let s=o.length;s<n;s++)o[s]=null;return o}).map((a,i)=>a.map((o,s)=>o==null?{id:"",label:"",data:{},value:null}:typeof o=="number"?{id:"",label:"",data:{},value:o}:{id:o.id??"",label:o.label??"",data:o.data??{},value:o.value}));return Sy(e.seriesDirection,r)}catch{return[]}}const p3=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a;try{const i=lb(e,n),o=Yf({transposedDataGrid:i,dataFormatterGrid:n,chartType:"grid"}),s=$y({transposedDataGrid:i,dataFormatterGrid:n,chartType:"grid"});let l=0;a=i.map((u,c)=>u.map((d,f)=>{const h=ro("grid",0,c,f),p=s[f],g={id:d.id?d.id:h,index:l,label:d.label?d.label:h,description:d.description??"",data:d.data,value:d.value,gridIndex:0,seriesIndex:c,seriesLabel:o[c],groupIndex:f,groupLabel:p,color:Qn(c,r),visible:!0};return g.visible=n.visibleFilter(g,t),l++,g}))}catch(i){throw Error(i)}return a},g3=t=>yt({data:t},{data:{toBe:"(DataGridDatum | DataGridValue)[][]",test:e=>Array.isArray(e)}}),m3=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=e.fullDataFormatter$.pipe(tt(C=>C.separateSeries),Vt(),U(1)),a=ob({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),i=fl({layout$:e.layout$,containerPosition$:a}).pipe(U(1)),o=dl({fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),s=dd({fullDataFormatter$:e.fullDataFormatter$,containerSize$:i}).pipe(U(1)),l=e.computedData$.pipe(tt(C=>C.flat())).pipe(U(1)),u=rr({datumList$:l,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),c=hd({computedData$:e.computedData$}),d=cl({datumList$:l}).pipe(U(1)),f=cd({datumList$:l}).pipe(U(1)),h=fd({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),p=pd({computedData$:e.computedData$}).pipe(U(1)),g=gd({computedAxesData$:h}).pipe(U(1)),m=md({computedData$:e.computedData$,isSeriesSeprate$:r}).pipe(U(1)),b=yd({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$}).pipe(U(1)),y=bd({computedData$:e.computedData$,groupScaleDomainValue$:b}).pipe(U(1)),x=xd({fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),v=vd({gridAxesTransform$:x}).pipe(U(1)),$=$d({computedData$:e.computedData$,groupScaleDomainValue$:b,filteredMinMaxValue$:y,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),S=_d({gridContainerPosition$:a,gridAxesTransform$:x,gridGraphicTransform$:$}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,isSeriesSeprate$:r,gridContainerPosition$:a,containerSize$:i,gridAxesSize$:o,gridAxesContainerSize$:s,gridHighlight$:u,seriesLabels$:c,SeriesDataMap$:d,GroupDataMap$:f,computedAxesData$:h,visibleComputedData$:p,visibleComputedAxesData$:g,computedStackedData$:m,groupScaleDomainValue$:b,filteredMinMaxValue$:y,gridAxesTransform$:x,gridAxesReverseTransform$:v,gridGraphicTransform$:$,gridGraphicReverseScale$:S}};let y3=class extends Ba{constructor(e,n){super({defaultDataFormatter:_f,dataFormatterValidator:h3,computedDataFn:p3,dataValidator:g3,contextObserverCallback:m3},e,n)}};const b3=t=>{const e=yt(t,{visibleFilter:{toBeTypes:["Function"]},gridList:{toBeTypes:["object[]"]},container:{toBeTypes:["object"]},separateGrid:{toBeTypes:["boolean"]}});if(t.gridList){const n=t.gridList.map((r,a)=>{const i=yt(r,{seriesDirection:{toBe:'"row" | "column"',test:o=>o==="row"||o==="column"},rowLabels:{toBeTypes:["string[]"]},columnLabels:{toBeTypes:["string[]"]},valueAxis:{toBeTypes:["object"]},groupAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]}});if(i.status==="error")return i;if(r.valueAxis){const o=yt(r.valueAxis,{position:{toBe:'"top" | "bottom" | "left" | "right"',test:s=>s==="top"||s==="bottom"||s==="left"||s==="right"},scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:s=>Array.isArray(s)&&s.length===2&&(typeof s[0]=="number"||s[0]==="min"||s[0]==="auto")&&(typeof s[1]=="number"||s[1]==="max"||s[1]==="auto")},scaleRange:{toBe:"[number, number]",test:s=>Array.isArray(s)&&s.length===2&&typeof s[0]=="number"&&typeof s[1]=="number"},label:{toBeTypes:["string"]}});if(o.status==="error")return o}else if(r.groupAxis){const o=yt(r.groupAxis,{position:{toBe:'"top" | "bottom" | "left" | "right"',test:s=>s==="top"||s==="bottom"||s==="left"||s==="right"},scaleDomain:{toBe:'[number, number | "max"]',test:s=>Array.isArray(s)&&s.length===2&&typeof s[0]=="number"&&(typeof s[1]=="number"||s[1]==="max")},scalePadding:{toBeTypes:["number"]},label:{toBeTypes:["string"]}});if(o.status==="error")return o}return{status:"success",columnName:"",expectToBe:""}}).find(r=>r.status==="error");if(n)return n}if(t.container){const n=yt(t.container,{gap:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnAmount:{toBeTypes:["number"]}});if(n.status==="error")return n}return e},x3=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a=[];try{const i=n.gridList[0]||Wi,o=e.map((d,f)=>n.gridList[f]||i),s=e.map((d,f)=>lb(d,o[f])),l=n.separateGrid?s.map((d,f)=>Yf({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid"})):s.map((d,f)=>vy({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid",gridIndex:f})),u=new Map;let c=0;l.flat().forEach((d,f)=>{if(!u.has(d)){const h=Qn(c,r);u.set(d,h),c++}}),a=s.map((d,f)=>{const h=l[f],p=_y({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid",gridIndex:f});let g=0;return d.map((m,b)=>m.map((y,x)=>{const v=ro("multiGrid",f,b,x),$=p[x],S=h[b],C={id:y.id?y.id:v,index:g,label:y.label?y.label:v,description:y.description??"",data:y.data,value:y.value,gridIndex:f,seriesIndex:b,seriesLabel:S,groupIndex:x,groupLabel:$,color:u.get(S),visible:!0};return C.visible=n.visibleFilter(C,t),g++,C}))})}catch(i){throw Error(i)}return a},v3=t=>yt({data:t},{data:{toBe:"DataGrid[]",test:e=>Array.isArray(e)}}),$3=({fullDataFormatter$:t,computedData$:e,layout$:n,fullChartParams$:r,event$:a,containerSize$:i})=>{const o=new Lt,s=ub({computedData$:e,fullDataFormatter$:t,layout$:n}).pipe(U(1));return _t({fullDataFormatter:t,computedData:e,multiGridContainer:s}).pipe(bt(async l=>l),tt(l=>{o.next(void 0);const u=l.fullDataFormatter.gridList[0]??Wi;return l.computedData.map((c,d)=>{const f=l.fullDataFormatter.gridList[d]??u,h={type:"grid",visibleFilter:l.fullDataFormatter.visibleFilter,...f,container:{...l.fullDataFormatter.container}},p=Cr(h).pipe(xt(o),U(1)),g=Cr(c).pipe(xt(o),U(1)),m=p.pipe(tt(N=>N.separateSeries),Vt(),U(1)),b=Cr(l.multiGridContainer[d]).pipe(xt(o),U(1)),y=dl({fullDataFormatter$:p,layout$:n}).pipe(xt(o),U(1)),x=dd({fullDataFormatter$:p,containerSize$:i}).pipe(U(1)),v=g.pipe(tt(N=>N.flat())).pipe(xt(o),U(1)),$=hd({computedData$:g}).pipe(xt(o),U(1)),S=cl({datumList$:v}).pipe(xt(o),U(1)),C=cd({datumList$:v}).pipe(xt(o),U(1)),D=pd({computedData$:g}).pipe(xt(o),U(1)),_=fd({computedData$:g,fullDataFormatter$:p,layout$:n}).pipe(xt(o),U(1)),P=gd({computedAxesData$:_}).pipe(xt(o),U(1)),A=md({computedData$:g,isSeriesSeprate$:m}).pipe(U(1)),I=yd({computedData$:g,fullDataFormatter$:p}).pipe(xt(o),U(1)),k=bd({computedData$:g,groupScaleDomainValue$:I}).pipe(xt(o),U(1)),w=xd({fullDataFormatter$:p,layout$:n}).pipe(xt(o),U(1)),F=vd({gridAxesTransform$:w}).pipe(xt(o),U(1)),T=$d({computedData$:g,groupScaleDomainValue$:I,filteredMinMaxValue$:k,fullDataFormatter$:p,layout$:n}).pipe(xt(o),U(1)),B=_d({gridContainerPosition$:b,gridAxesTransform$:w,gridGraphicTransform$:T});return{isSeriesSeprate$:m,gridContainerPosition$:b,gridAxesSize$:y,gridAxesContainerSize$:x,seriesLabels$:$,SeriesDataMap$:S,GroupDataMap$:C,dataFormatter$:p,computedData$:g,computedAxesData$:_,visibleComputedData$:D,visibleComputedAxesData$:P,computedStackedData$:A,groupScaleDomainValue$:I,filteredMinMaxValue$:k,gridAxesTransform$:w,gridAxesReverseTransform$:F,gridGraphicTransform$:T,gridGraphicReverseScale$:B}})}))},ub=({computedData$:t,fullDataFormatter$:e,layout$:n})=>_t({computedData:t,fullDataFormatter:e,layout:n}).pipe(bt(async r=>r),tt(r=>{const a=r.fullDataFormatter.gridList[0]??Wi,i=r.computedData.reduce((l,u,c)=>{const d=(r.fullDataFormatter.gridList[c]??a).separateSeries?u.length:r.fullDataFormatter.separateGrid?1:0;return l+d},0)||1,o=Sa(r.layout,r.fullDataFormatter.container,i);let s=0;return r.computedData.map((l,u)=>{const c=r.fullDataFormatter.gridList[u]??a,d=l.map((f,h)=>{const p=o[s];return c.separateSeries&&(s+=1),p});return!c.separateSeries&&r.fullDataFormatter.separateGrid&&(s+=1),d})})),_3=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=ub({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),a=fl({layout$:e.layout$,containerPosition$:r.pipe(tt(s=>s.flat()))}).pipe(U(1)),i=rr({datumList$:e.computedData$.pipe(tt(s=>s.flat().flat()),U(1)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),o=$3({fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,fullChartParams$:e.fullChartParams$,event$:t.event$,containerSize$:a}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,containerSize$:a,multiGridHighlight$:i,multiGridContainerPosition$:r,multiGridEachDetail$:o}};let A3=class extends Ba{constructor(e,n){super({defaultDataFormatter:Af,dataFormatterValidator:b3,computedDataFn:x3,dataValidator:v3,contextObserverCallback:_3},e,n)}};const S3=t=>{const e=yt(t,{visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},categoryLabels:{toBeTypes:["string[]"]},valueLabels:{toBeTypes:["string[]"]},xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]},separateCategory:{toBeTypes:["boolean"]}});if(e.status==="error")return e;if(t.yAxis){const n=yt(t.yAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]},valueIndex:{toBeTypes:["number"]}});if(n.status==="error")return n}if(t.xAxis){const n=yt(t.xAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]},valueIndex:{toBeTypes:["number"]}});if(n.status==="error")return n}if(t.container){const n=yt(t.container,{gap:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnAmount:{toBeTypes:["number"]}});if(n.status==="error")return n}return e},D3=t=>{const{data:e,dataFormatter:n,chartParams:r}=t;if(!e.length)return[];const a=ol();let i=[];try{const o=e.map((c,d)=>Array.isArray(c)?{id:"",label:"",description:"",data:{},categoryLabel:a,value:c}:ae(c)?{id:c.id??"",label:c.label??"",description:c.description??"",data:c.data??{},categoryLabel:c.categoryLabel??a,value:c.value}:{id:"",label:"",description:"",data:{},categoryLabel:a,value:[]}),s=(()=>{const c=new Set(n.categoryLabels);for(let d of o){const f=d.categoryLabel??a;c.add(f)}return Array.from(c)})(),l=new Map(s.map((c,d)=>[c,d]));let u=0;o.forEach((c,d)=>{const f=u;u++;const h=ro(n.type,d),p=l.get(c.categoryLabel)??0,g=Qn(p,r),m={id:c.id?c.id:h,index:f,label:c.label?c.label:h,description:c.description??"",data:c.data,datumIndex:d,value:c.value,categoryIndex:p,categoryLabel:c.categoryLabel,xValueIndex:n.xAxis.valueIndex,yValueIndex:n.yAxis.valueIndex,visible:!0,color:g,_visibleValue:c.value};m.visible=n.visibleFilter(m,t),i[p]||(i[p]=[]),i[p].push(m)})}catch(o){throw Error(o)}return i},C3=t=>yt({data:t},{data:{toBe:"(DataMultiValueDatum | DataMultiValueValue[])[]",test:e=>Array.isArray(e)}}),P3=({computedData$:t,xyValueIndex$:e})=>_t({computedData:t,xyValueIndex:e}).pipe(tt(n=>{const r=n.computedData.flat(),[a,i]=Kn(r.map(l=>l.value[n.xyValueIndex[0]])),[o,s]=Kn(r.map(l=>l.value[n.xyValueIndex[1]]));return{minX:a,maxX:i,minY:o,maxY:s}})),F3=({computedData$:t,xyMinMax$:e,xyValueIndex$:n,fullDataFormatter$:r,layout$:a})=>{function i(s,l){let u=s.maxX,c=s.minX;return c===u&&u===0&&(u=1),Ne({maxValue:u,minValue:c,axisWidth:l.width,scaleDomain:["auto","auto"],scaleRange:[0,1]})}function o(s,l){let u=s.maxY,c=s.minY;return c===u&&u===0&&(u=1),Ne({maxValue:u,minValue:c,axisWidth:l.height,scaleDomain:["auto","auto"],scaleRange:[0,1],reverse:!0})}return _t({computedData:t,xyMinMax:e,xyValueIndex:n,fullDataFormatter:r,layout:a}).pipe(bt(async s=>s),tt(s=>{const l=i(s.xyMinMax,s.layout),u=o(s.xyMinMax,s.layout);return s.computedData.map((c,d)=>c.map((f,h)=>({...f,axisX:l(f.value[s.xyValueIndex[0]]??0),axisY:u(f.value[s.xyValueIndex[1]]??0)})))}))},T3=({computedData$:t,fullDataFormatter$:e})=>t.pipe(tt(n=>n.map(r=>r[0]?r[0].categoryLabel:"")),Vt((n,r)=>JSON.stringify(n).length===JSON.stringify(r).length)),w3=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),B3=({visibleComputedData$:t})=>t.pipe(tt(e=>e.map(n=>n.map(r=>{let a=r;return a.sum=a.value.reduce((i,o)=>i+o,0),a})))),M3=({xyValueIndex$:t,isCategorySeprate$:e,visibleComputedData$:n})=>_t({isCategorySeprate:e,xyValueIndex:t,visibleComputedData:n}).pipe(bt(async r=>r),tt(r=>{const a=r.xyValueIndex[0];return r.isCategorySeprate?r.visibleComputedData.map(i=>i.sort((o,s)=>{const l=s.value[a]??-1/0,u=o.value[a]??-1/0;return l-u})):[r.visibleComputedData.flat().sort((i,o)=>{const s=o.value[a]??-1/0,l=i.value[a]??-1/0;return s-l})]})),E3=({isCategorySeprate$:t,visibleComputedSumData$:e})=>_t({isCategorySeprate:t,visibleComputedSumData:e}).pipe(bt(async n=>n),tt(n=>n.isCategorySeprate?n.visibleComputedSumData.map(r=>r.sort((a,i)=>i.sum-a.sum)):[n.visibleComputedSumData.flat().sort((r,a)=>a.sum-r.sum)])),L3=({computedXYData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),R3=({computedData$:t,fullDataFormatter$:e,layout$:n})=>_t({computedData:t,fullDataFormatter:e,layout:n}).pipe(bt(async r=>r),tt(r=>{if(r.fullDataFormatter.separateCategory)return Sa(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=Sa(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),k3=({visibleComputedXYData$:t,xyMinMax$:e,xyValueIndex$:n,fullDataFormatter$:r})=>_t({visibleComputedXYData:t,xyMinMax:e,xyValueIndex:n,fullDataFormatter:r}).pipe(tt(a=>{const{minX:i,maxX:o,minY:s,maxY:l}=(()=>{let{minX:p,maxX:g,minY:m,maxY:b}=a.xyMinMax;return a.fullDataFormatter.xAxis.scaleDomain[0]==="auto"&&p>0?p=0:typeof a.fullDataFormatter.xAxis.scaleDomain[0]=="number"&&(p=a.fullDataFormatter.xAxis.scaleDomain[0]),a.fullDataFormatter.xAxis.scaleDomain[1]==="auto"&&g<0?g=0:typeof a.fullDataFormatter.xAxis.scaleDomain[1]=="number"&&(g=a.fullDataFormatter.xAxis.scaleDomain[1]),a.fullDataFormatter.yAxis.scaleDomain[0]==="auto"&&m>0?m=0:typeof a.fullDataFormatter.yAxis.scaleDomain[0]=="number"&&(m=a.fullDataFormatter.yAxis.scaleDomain[0]),a.fullDataFormatter.yAxis.scaleDomain[1]==="auto"&&b<0?b=0:typeof a.fullDataFormatter.yAxis.scaleDomain[1]=="number"&&(b=a.fullDataFormatter.yAxis.scaleDomain[1]),{minX:p,maxX:g,minY:m,maxY:b}})();let u=[],c=null,d=null,f=null,h=null;for(let p of a.visibleComputedXYData)for(let g of p){const m=g.value[a.xyValueIndex[0]],b=g.value[a.xyValueIndex[1]];m>=i&&m<=o&&b>=s&&b<=l&&(u.push(g),(c==null||m<c.value[a.xyValueIndex[0]])&&(c=g),(d==null||m>d.value[a.xyValueIndex[0]])&&(d=g),(f==null||b<f.value[a.xyValueIndex[1]])&&(f=g),(h==null||b>h.value[a.xyValueIndex[1]])&&(h=g))}return{datumList:u,minXDatum:c,maxXDatum:d,minYDatum:f,maxYDatum:h}})),I3=({xyMinMax$:t,xyValueIndex$:e,filteredXYMinMaxData$:n,fullDataFormatter$:r,layout$:a})=>{const i=new Lt;function o({xyMinMax:s,xyValueIndex:l,filteredXYMinMaxData:u,xAxis:c,yAxis:d,width:f,height:h}){let p=0,g=0,m=0,b=0,{minX:y,maxX:x,minY:v,maxY:$}=s,S=u.minXDatum.value[l[0]]??0,C=u.maxXDatum.value[l[0]]??0,D=u.minYDatum.value[l[1]]??0,_=u.maxYDatum.value[l[1]]??0;S===C&&C===0&&(C=1),D===_&&_===0&&(_=1),y===x&&x===0&&(x=1),v===$&&$===0&&($=1);const P=Ne({maxValue:C,minValue:S,axisWidth:f,scaleDomain:c.scaleDomain,scaleRange:c.scaleRange}),A=P(y>0?0:y),I=P(x<0?0:x);p=A,m=(I-A)/f;const k=Ne({maxValue:_,minValue:D,axisWidth:h,scaleDomain:d.scaleDomain,scaleRange:d.scaleRange,reverse:!0}),w=k(v>0?0:v),F=k($<0?0:$);return g=F,b=(w-F)/h,{translate:[p,g],scale:[m,b],rotate:0,rotateX:0,rotateY:0,value:`translate(${p}px, ${g}px) scale(${m}, ${b})`}}return new Et(s=>(_t({xyMinMax:t,xyValueIndex:e,filteredXYMinMaxData:n,fullDataFormatter:r,layout:a}).pipe(xt(i),bt(async l=>l)).subscribe(l=>{if(!l.filteredXYMinMaxData.minXDatum||!l.filteredXYMinMaxData.maxXDatum||l.filteredXYMinMaxData.minXDatum.value[l.xyValueIndex[0]]==null||l.filteredXYMinMaxData.maxXDatum.value[l.xyValueIndex[0]]==null||!l.filteredXYMinMaxData.minYDatum||!l.filteredXYMinMaxData.maxYDatum||l.filteredXYMinMaxData.minYDatum.value[l.xyValueIndex[1]]==null||l.filteredXYMinMaxData.maxYDatum.value[l.xyValueIndex[1]]==null)return;const u=o({xyMinMax:l.xyMinMax,xyValueIndex:l.xyValueIndex,filteredXYMinMaxData:l.filteredXYMinMaxData,xAxis:l.fullDataFormatter.xAxis,yAxis:l.fullDataFormatter.yAxis,width:l.layout.width,height:l.layout.height});s.next(u)}),function(){i.next(void 0)}))},N3=({containerPosition$:t,graphicTransform$:e})=>_t({containerPosition:t,graphicTransform:e}).pipe(bt(async n=>n),tt(n=>n.containerPosition.map((r,a)=>[1/n.graphicTransform.scale[0]/n.containerPosition[a].scale[0],1/n.graphicTransform.scale[1]/n.containerPosition[a].scale[1]]))),z3=({visibleComputedSumData$:t,fullDataFormatter$:e,filteredXYMinMaxData$:n,containerSize$:r})=>_t({visibleComputedSumData:t,fullDataFormatter:e,containerSize:r,filteredXYMinMaxData:n}).pipe(bt(async a=>a),tt(a=>{const i=a.fullDataFormatter.xAxis.valueIndex;if(!a.filteredXYMinMaxData.minXDatum||!a.filteredXYMinMaxData.maxXDatum)return;let o=a.filteredXYMinMaxData.maxXDatum.value[i],s=a.filteredXYMinMaxData.minXDatum.value[i];return o===s&&o===0&&(o=1),Ne({maxValue:o,minValue:s,axisWidth:a.containerSize.width,scaleDomain:a.fullDataFormatter.xAxis.scaleDomain,scaleRange:a.fullDataFormatter.xAxis.scaleRange})})),O3=({fullDataFormatter$:t,filteredXYMinMaxData$:e,containerSize$:n})=>_t({fullDataFormatter:t,containerSize:n,filteredXYMinMaxData:e}).pipe(bt(async r=>r),tt(r=>{const a=r.fullDataFormatter.xAxis.valueIndex;if(!r.filteredXYMinMaxData.minXDatum||!r.filteredXYMinMaxData.maxXDatum)return;let i=r.filteredXYMinMaxData.maxXDatum.value[a],o=r.filteredXYMinMaxData.minXDatum.value[a];return i===o&&i===0&&(i=1),Ne({maxValue:i,minValue:o,axisWidth:r.containerSize.width,scaleDomain:r.fullDataFormatter.xAxis.scaleDomain,scaleRange:r.fullDataFormatter.xAxis.scaleRange})})),G3=({fullDataFormatter$:t,filteredXYMinMaxData$:e,containerSize$:n})=>_t({fullDataFormatter:t,containerSize:n,filteredXYMinMaxData:e}).pipe(bt(async r=>r),tt(r=>{const a=r.fullDataFormatter.yAxis.valueIndex;if(!r.filteredXYMinMaxData.minYDatum||!r.filteredXYMinMaxData.maxYDatum||r.filteredXYMinMaxData.minYDatum.value[a]==null||r.filteredXYMinMaxData.maxYDatum.value[a]==null)return;let i=r.filteredXYMinMaxData.maxYDatum.value[a],o=r.filteredXYMinMaxData.minYDatum.value[a];return i===o&&i===0&&(i=1),Ne({maxValue:i,minValue:o,axisWidth:r.containerSize.height,scaleDomain:r.fullDataFormatter.yAxis.scaleDomain,scaleRange:r.fullDataFormatter.yAxis.scaleRange,reverse:!0})})),j3=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=e.fullDataFormatter$.pipe(tt(D=>D.separateCategory),Vt(),U(1)),a=R3({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),i=fl({layout$:e.layout$,containerPosition$:a}).pipe(U(1)),o=e.fullDataFormatter$.pipe(tt(D=>[D.xAxis.valueIndex,D.yAxis.valueIndex]),Vt((D,_)=>D[0]===_[0]&&D[1]===_[1]),U(1)),s=e.computedData$.pipe(tt(D=>D.flat().flat())).pipe(U(1)),l=rr({datumList$:s,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),u=T3({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$}).pipe(U(1)),c=oo({datumList$:s}).pipe(U(1)),d=P3({computedData$:e.computedData$,xyValueIndex$:o}).pipe(U(1)),f=w3({computedData$:e.computedData$}).pipe(U(1)),h=B3({visibleComputedData$:f}).pipe(U(1)),p=M3({xyValueIndex$:o,isCategorySeprate$:r,visibleComputedData$:f}).pipe(U(1)),g=E3({isCategorySeprate$:r,visibleComputedSumData$:h}).pipe(U(1)),m=F3({computedData$:e.computedData$,xyMinMax$:d,xyValueIndex$:o,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),b=L3({computedXYData$:m}).pipe(U(1)),y=k3({visibleComputedXYData$:b,xyMinMax$:d,xyValueIndex$:o,fullDataFormatter$:e.fullDataFormatter$}).pipe(U(1)),x=I3({xyMinMax$:d,xyValueIndex$:o,filteredXYMinMaxData$:y,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(U(1)),v=N3({containerPosition$:a,graphicTransform$:x}).pipe(U(1)),$=z3({visibleComputedSumData$:h,fullDataFormatter$:e.fullDataFormatter$,filteredXYMinMaxData$:y,containerSize$:i}).pipe(U(1)),S=O3({fullDataFormatter$:e.fullDataFormatter$,filteredXYMinMaxData$:y,containerSize$:i}).pipe(U(1)),C=G3({fullDataFormatter$:e.fullDataFormatter$,filteredXYMinMaxData$:y,containerSize$:i}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,isCategorySeprate$:r,containerPosition$:a,containerSize$:i,highlight$:l,categoryLabels$:u,CategoryDataMap$:c,xyMinMax$:d,xyValueIndex$:o,visibleComputedData$:f,visibleComputedSumData$:h,visibleComputedRankingByIndexData$:p,visibleComputedRankingBySumData$:g,visibleComputedXYData$:b,filteredXYMinMaxData$:y,graphicTransform$:x,graphicReverseScale$:v,xScale$:$,xSumScale$:S,yScale$:C}};let V3=class extends Ba{constructor(e,n){super({defaultDataFormatter:Sf,dataFormatterValidator:S3,computedDataFn:D3,dataValidator:C3,contextObserverCallback:j3},e,n)}};const H3=t=>yt(t,{visibleFilter:{toBeTypes:["Function"]},categoryLabels:{toBeTypes:["string[]"]}}),X3=t=>{const{data:e,dataFormatter:n,chartParams:r}=t,a=ol();let i=[],o=[];try{let s=[],l=[];if(e.nodes)s=e.nodes,l=e.edges;else if(e[0])s=e[0],l=e[1];else return{nodes:[],edges:[]};const u=(()=>{const f=new Set(n.categoryLabels);for(let h of s){const p=h.categoryLabel??a;f.add(p)}for(let h of l){const p=h.categoryLabel??a;f.add(p)}return Array.from(f)})(),c=new Map(u.map((f,h)=>[f,h]));i=s.map((f,h)=>{const p=f.categoryLabel??a,g=c.get(p)??0,m={id:f.id,index:h,label:f.label??"",description:f.description??"",data:f.data??{},value:f.value??0,categoryIndex:g,categoryLabel:p,color:Qn(g,r),visible:!0};return m.visible=n.visibleFilter(m,t),m});const d=new Map(i.map(f=>[f.id,f]));o=l.map((f,h)=>{const p=d.get(f.start),g=d.get(f.end);return{edge:f,startNode:p,endNode:g}}).filter(({edge:f})=>{const h=d.get(f.start),p=d.get(f.end);return h!=null&&p!=null}).map(({edge:f,startNode:h,endNode:p},g)=>{const m=f.categoryLabel??a;return{id:f.id,index:g,label:f.label??"",description:f.description??"",data:f.data??{},value:f.value??0,categoryIndex:c.get(m),categoryLabel:m,color:Qn(g,r),startNode:h,endNode:p,visible:h.visible&&p.visible}})}catch(s){throw Error(s)}return{nodes:i,edges:o}},W3=t=>yt({data:t},{data:{toBe:"DataRelationshipObj | DataRelationshipList",test:e=>ae(e)||Array.isArray(e)}}),U3=(t,e)=>_t({CategoryNodeMap:t,CategoryEdgeMap:e}).pipe(bt(async n=>n),tt(n=>[...Array.from(n.CategoryNodeMap.keys()),...Array.from(n.CategoryEdgeMap.keys())]),Vt((n,r)=>JSON.stringify(n).length===JSON.stringify(r).length)),Y3=t=>t.pipe(tt(e=>{const n=new Map;return e.nodes.forEach(r=>{n.set(r.id,r)}),n})),q3=t=>t.pipe(tt(e=>{const n=new Map;return e.edges.forEach(r=>{n.set(r.id,r)}),n})),Z3=({computedData$:t,NodeMap$:e})=>_t({computedData:t,NodeMap:e}).pipe(bt(async n=>n),tt(n=>({nodes:n.computedData.nodes.filter(r=>r.visible),edges:n.computedData.edges.filter(r=>r.visible).filter(r=>n.NodeMap.has(r.startNode.id)&&n.NodeMap.has(r.endNode.id))}))),J3=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=rr({datumList$:e.computedData$.pipe(tt(d=>d.nodes)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),a=rr({datumList$:e.computedData$.pipe(tt(d=>d.edges)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),i=oo({datumList$:e.computedData$.pipe(tt(d=>d.nodes))}).pipe(U(1)),o=oo({datumList$:e.computedData$.pipe(tt(d=>d.edges))}).pipe(U(1)),s=Y3(e.computedData$).pipe(U(1)),l=q3(e.computedData$).pipe(U(1)),u=U3(i,o).pipe(U(1)),c=Z3({computedData$:e.computedData$,NodeMap$:s}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,relationshipHighlightNodes$:r,relationshipHighlightEdges$:a,categoryLabels$:u,CategoryNodeMap$:i,CategoryEdgeMap$:o,NodeMap$:s,EdgeMap$:l,visibleComputedData$:c}};let K3=class extends Ba{constructor(e,n){super({defaultDataFormatter:Cf,dataFormatterValidator:H3,computedDataFn:X3,dataValidator:W3,contextObserverCallback:J3},e,n)}};const Q3=t=>yt(t,{visibleFilter:{toBeTypes:["Function"]},categoryLabels:{toBeTypes:["string[]"]}}),t6=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t,a=ol(),i=new Map(n.categoryLabels.map((s,l)=>[s,l]));let o={id:"",index:0,label:"",description:"",categoryIndex:-1,categoryLabel:"",color:"",visible:!0,data:{},value:0,level:0,seq:0,children:[]};try{const s=function(){if(ae(e)===!0)return JSON.parse(JSON.stringify(e));if(Array.isArray(e)===!1)return{id:""};let c;const d=new Map;e.forEach(h=>{if(!h.parent)c=h;else{const p=d.get(h.parent)??[];p.push(h),d.set(h.parent,p)}});const f=h=>({id:h.id,label:h.label,data:h.data,value:h.value,categoryLabel:h.categoryLabel??a,children:(d.get(h.id)??[]).map(p=>f(p))});return c?f(c):{id:""}}();let l=0;const u=(c,d,f)=>{const h=d+1,p=c.categoryLabel??a;i.has(p)||i.set(p,i.size);const g=i.get(p)??0,m=l;l++;const b={id:c.id,index:m,level:d,seq:f,label:c.label??"",description:c.description??"",categoryIndex:g,categoryLabel:p,color:Qn(g,r),data:c.data??{},value:c.value,visible:!0,children:(c.children??[]).map((y,x)=>u(y,h,x))};return b.visible=n.visibleFilter(b,t),b};o=u(s,0,0)}catch(s){throw Error(s)}return o},e6=t=>yt({data:t},{data:{toBe:"DataTreeObj | DataTreeDatum[]",test:e=>ae(e)&&e.id!==void 0||Array.isArray(e)}}),n6=({computedData$:t})=>t.pipe(tt(e=>{function n(r,a){return r.push(a),a.children&&a.children.forEach(i=>{r=n(r,i)}),r}return n([],e)})),r6=t=>t.pipe(tt(e=>Array.from(e.keys())),Vt((e,n)=>JSON.stringify(e).length===JSON.stringify(n).length)),a6=({computedData$:t})=>t.pipe(tt(e=>{function n(r){return r.children&&(r.children=r.children.filter(a=>a.visible).map(a=>n(a))),r}return n(e)})),i6=({subject:t,observer:e})=>{const n=Pr(e.fullChartParams$).pipe(U(1)),r=n6({computedData$:e.computedData$}).pipe(U(1)),a=rr({datumList$:r,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(U(1)),i=oo({datumList$:r}).pipe(U(1)),o=r6(i).pipe(U(1)),s=a6({computedData$:e.computedData$}).pipe(U(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,treeHighlight$:a,categoryLabels$:o,CategoryDataMap$:i,visibleComputedData$:s}};let o6=class extends Ba{constructor(e,n){super({defaultDataFormatter:Df,dataFormatterValidator:Q3,computedDataFn:t6,dataValidator:e6,contextObserverCallback:i6},e,n)}};function s6({chartType:t,config:e,initFn:n}){const r=new Lt,a=new WeakMap;let i=()=>{},o;const s=new Ey(e.defaultParams),l=new Ey({}),u=s.pipe(bt(c=>l.pipe(xt(r),tt(d=>{try{const{status:f,columnName:h,expectToBe:p}=e.validator(d,{validateColumns:yt});if(f==="error")throw new Error(Fr({columnName:h,expectToBe:p,from:`${e.name}.params$`}));f==="warning"&&console.warn(Tr({columnName:h,expectToBe:p,from:`${e.name}.params$`}))}catch(f){console.error(wa(f))}return Jn(d,c)}))),U(1));return{params$:l,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){o&&(i=n(o)??(()=>{}),a.set(o.selection,o))},destroy(){i(),o&&(o.selection.remove(),o=void 0),r.next(void 0)},setPresetParams:c=>{s.next(Jn(c,e.defaultParams))},setContext:c=>{o=c,o.observer.fullParams$=u}}}const wr=t=>function(e){return function(n){return class{constructor(){const r=s6({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},l6=wr("series"),u6=wr("grid"),c6=wr("multiGrid"),f6=wr("multiValue"),d6=wr("noneData"),h6=wr("relationship"),p6=wr("tree"),cb={lineCurve:"curveLinear",lineWidth:2},fb={lineCurve:"curveLinear",linearGradientOpacity:[1,0]},db={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1},Ad={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>t,labelPadding:20,labelRotate:0};Ad.labelTextFormat.toString=()=>"text => text";const hl={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1},g6={...hl},hb={barWidth:0,barGroupPadding:10,barRadius:!1},pb={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0]},Sd={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};Sd.tickFormat.toString=()=>"text => text";const pl={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};pl.tickFormat.toString=()=>`num => {
8
+ if (num === null || Number.isNaN(num) == true) {
9
+ return num || 0
10
+ }
11
+ const parts = num.toString().split('.')
12
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
13
+ return parts.join('.')
14
+ }`;const gb={...pl},mb={},yb={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Dd={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,a=e.textSizePx/2-r/2,i=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,o=n.measureTextWidth(t.groupLabel,e.textSizePx),s=t.group.reduce((c,d)=>{const f=`${d.seriesLabel}${n.toCurrency(d.value)}`,h=n.measureTextWidth(f,e.textSizePx);return h>c?h:c},0),l=Math.max(o,s)+e.textSizePx*3,u=t.group.map((c,d)=>{const f=d*e.textSizePx*1.5,h=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
15
+ <rect width="${r}" height="${r}" x="${a}" y="${f+a}" rx="${r/2}" fill="${c.color}"></rect>
16
+ <text x="${e.textSizePx*1.5}" y="${f}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
17
+ <tspan font-weight="${h?"bold":""}">${c.seriesLabel}</tspan>
18
+ <tspan font-weight="bold" text-anchor="end" x="${l}">${n.toCurrency(c.value)}</tspan>
19
+ </text>
20
+ </g>`}).join("");return`${i}
21
+ ${u}`}};Dd.renderFn.toString=()=>`(eventData, { styles, utils }) => {
22
+ const bulletWidth = styles.textSizePx * 0.7
23
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
24
+
25
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
26
+ const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
27
+ const listTextWidth = eventData.group.reduce((acc, group) => {
28
+ const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
29
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
30
+ return _maxTextWidth > acc ? _maxTextWidth : acc
31
+ }, 0)
32
+ const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
33
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
34
+ const contentSvg = eventData.group
35
+ .map((group, i) => {
36
+ const y = i * styles.textSizePx * 1.5
37
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
38
+ return \`<g transform="translate(0, \${styles.textSizePx * 2})">
39
+ <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
40
+ <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
41
+ <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
42
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
43
+ </text>
44
+ </g>\`
45
+ })
46
+ .join('')
47
+ return \`\${titleSvg}
48
+ \${contentSvg}\`
49
+ }`;var Cd=function(t,e){return Cd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},Cd(t,e)};function dn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Cd(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function m6(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function s(c){try{u(r.next(c))}catch(d){o(d)}}function l(c){try{u(r.throw(c))}catch(d){o(d)}}function u(c){c.done?i(c.value):a(c.value).then(s,l)}u((r=r.apply(t,[])).next())})}function bb(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(n=0)),n;)try{if(r=1,a&&(i=u[0]&2?a.return:u[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,u[1])).done)return i;switch(a=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,a=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){n.label=u[1];break}if(u[0]===6&&n.label<i[1]){n.label=i[1],i=u;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(u);break}i[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],a=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Ma(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Br(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(s){o={error:s}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function Ea(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function La(t){return this instanceof La?(this.v=t,this):new La(t)}function y6(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function s(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||l(h,g)})},p&&(a[h]=p(a[h])))}function l(h,p){try{u(r[h](p))}catch(g){f(i[0][3],g)}}function u(h){h.value instanceof La?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){l("next",h)}function d(h){l("throw",h)}function f(h,p){h(p),i.shift(),i.length&&l(i[0][0],i[0][1])}}function b6(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Ma=="function"?Ma(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(s,l){o=t[i](o),a(s,l,o.done,o.value)})}}function a(i,o,s,l){Promise.resolve(l).then(function(u){i({value:u,done:s})},o)}}function St(t){return typeof t=="function"}function Pd(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Fd=Pd(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
50
+ `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
51
+ `):"",this.name="UnsubscriptionError",this.errors=e}});function gl(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var so=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Ma(o),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(St(c))try{c()}catch(g){i=g instanceof Fd?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Ma(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{$b(p)}catch(g){i=i??[],g instanceof Fd?i=Ea(Ea([],Br(i)),Br(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new Fd(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)$b(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&gl(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&gl(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),xb=so.EMPTY;function vb(t){return t instanceof so||t&&"closed"in t&&St(t.remove)&&St(t.add)&&St(t.unsubscribe)}function $b(t){St(t)?t():t.unsubscribe()}var x6={Promise:void 0},v6={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Ea([t,e],Br(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function _b(t){v6.setTimeout(function(){throw t})}function Td(){}function ml(t){t()}var wd=function(t){dn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,vb(n)&&n.add(r)):r.destination=A6,r}return e.create=function(n,r,a){return new lo(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(so),$6=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){yl(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){yl(r)}else yl(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){yl(n)}},t}(),lo=function(t){dn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return St(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new $6(o),i}return e}(wd);function yl(t){_b(t)}function _6(t){throw t}var A6={closed:!0,next:Td,error:_6,complete:Td},Bd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Ra(t){return t}function S6(t){return t.length===0?Ra:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var mt=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=C6(e)?e:new lo(e,n,r);return ml(function(){var o=a,s=o.operator,l=o.source;i.add(s?s.call(i,l):l?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Ab(n),new n(function(a,i){var o=new lo({next:function(s){try{e(s)}catch(l){i(l),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[Bd]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return S6(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Ab(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function Ab(t){var e;return(e=t??x6.Promise)!==null&&e!==void 0?e:Promise}function D6(t){return t&&St(t.next)&&St(t.error)&&St(t.complete)}function C6(t){return t&&t instanceof wd||D6(t)&&vb(t)}function P6(t){return St(t==null?void 0:t.lift)}function Te(t){return function(e){if(P6(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function $e(t,e,n,r,a){return new F6(t,e,n,r,a)}var F6=function(t){dn(e,t);function e(n,r,a,i,o,s){var l=t.call(this,n)||this;return l.onFinalize=o,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=i?function(u){try{i(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=a?function(){try{a()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(wd),T6=Pd(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),K=function(t){dn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Sb(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new T6},e.prototype.next=function(n){var r=this;ml(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Ma(r.currentObservers),s=o.next();!s.done;s=o.next()){var l=s.value;l.next(n)}}catch(u){a={error:u}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;ml(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;ml(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,s=a.observers;return i||o?xb:(this.currentObservers=null,s.push(n),new so(function(){r.currentObservers=null,gl(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new mt;return n.source=this,n},e.create=function(n,r){return new Sb(n,r)},e}(mt),Sb=function(t){dn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:xb},e}(K),Md=function(t){dn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(K),Ed={now:function(){return(Ed.delegate||Date).now()},delegate:void 0},w6=function(t){dn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=Ed);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;a||(i.push(n),!o&&i.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,s=o.slice(),l=0;l<s.length&&!n.closed;l+=i?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,s=(o?1:2)*r;if(r<1/0&&s<i.length&&i.splice(0,i.length-s),!o){for(var l=a.now(),u=0,c=1;c<i.length&&i[c]<=l;c+=2)u=c;u&&i.splice(0,u+1)}},e}(K),B6=function(t){dn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(so),Db={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Ea([t,e],Br(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},M6=function(t){dn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),Db.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&Db.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,gl(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(B6),Cb=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=Ed.now,t}(),E6=function(t){dn(e,t);function e(n,r){r===void 0&&(r=Cb.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(Cb),L6=new E6(M6),bl=new mt(function(t){return t.complete()});function R6(t){return t&&St(t.schedule)}function Ld(t){return t[t.length-1]}function k6(t){return St(Ld(t))?t.pop():void 0}function Rd(t){return R6(Ld(t))?t.pop():void 0}function I6(t,e){return typeof Ld(t)=="number"?t.pop():e}var kd=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Pb(t){return St(t==null?void 0:t.then)}function Fb(t){return St(t[Bd])}function Tb(t){return Symbol.asyncIterator&&St(t==null?void 0:t[Symbol.asyncIterator])}function wb(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function N6(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Bb=N6();function Mb(t){return St(t==null?void 0:t[Bb])}function Eb(t){return y6(this,arguments,function(){var e,n,r,a;return bb(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,La(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,La(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,La(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function Lb(t){return St(t==null?void 0:t.getReader)}function ze(t){if(t instanceof mt)return t;if(t!=null){if(Fb(t))return z6(t);if(kd(t))return O6(t);if(Pb(t))return G6(t);if(Tb(t))return Rb(t);if(Mb(t))return j6(t);if(Lb(t))return V6(t)}throw wb(t)}function z6(t){return new mt(function(e){var n=t[Bd]();if(St(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function O6(t){return new mt(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function G6(t){return new mt(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,_b)})}function j6(t){return new mt(function(e){var n,r;try{for(var a=Ma(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(s){n={error:s}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function Rb(t){return new mt(function(e){H6(t,e).catch(function(n){return e.error(n)})})}function V6(t){return Rb(Eb(t))}function H6(t,e){var n,r,a,i;return m6(this,void 0,void 0,function(){var o,s;return bb(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=b6(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),a={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function ar(t,e,n,r,a){r===void 0&&(r=0),a===void 0&&(a=!1);var i=e.schedule(function(){n(),a?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!a)return i}function kb(t,e){return e===void 0&&(e=0),Te(function(n,r){n.subscribe($e(r,function(a){return ar(r,t,function(){return r.next(a)},e)},function(){return ar(r,t,function(){return r.complete()},e)},function(a){return ar(r,t,function(){return r.error(a)},e)}))})}function Ib(t,e){return e===void 0&&(e=0),Te(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function X6(t,e){return ze(t).pipe(Ib(e),kb(e))}function W6(t,e){return ze(t).pipe(Ib(e),kb(e))}function U6(t,e){return new mt(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function Y6(t,e){return new mt(function(n){var r;return ar(n,e,function(){r=t[Bb](),ar(n,e,function(){var a,i,o;try{a=r.next(),i=a.value,o=a.done}catch(s){n.error(s);return}o?n.complete():n.next(i)},0,!0)}),function(){return St(r==null?void 0:r.return)&&r.return()}})}function Nb(t,e){if(!t)throw new Error("Iterable cannot be null");return new mt(function(n){ar(n,e,function(){var r=t[Symbol.asyncIterator]();ar(n,e,function(){r.next().then(function(a){a.done?n.complete():n.next(a.value)})},0,!0)})})}function q6(t,e){return Nb(Eb(t),e)}function Z6(t,e){if(t!=null){if(Fb(t))return X6(t,e);if(kd(t))return U6(t,e);if(Pb(t))return W6(t,e);if(Tb(t))return Nb(t,e);if(Mb(t))return Y6(t,e);if(Lb(t))return q6(t,e)}throw wb(t)}function xl(t,e){return e?Z6(t,e):ze(t)}function hn(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Rd(t);return xl(t,n)}var zb=Pd(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function R(t,e){return Te(function(n,r){var a=0;n.subscribe($e(r,function(i){r.next(t.call(e,i,a++))}))})}var J6=Array.isArray;function K6(t,e){return J6(e)?t.apply(void 0,Ea([],Br(e))):t(e)}function Ob(t){return R(function(e){return K6(t,e)})}var Q6=Array.isArray,t7=Object.getPrototypeOf,e7=Object.prototype,n7=Object.keys;function r7(t){if(t.length===1){var e=t[0];if(Q6(e))return{args:e,keys:null};if(a7(e)){var n=n7(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function a7(t){return t&&typeof t=="object"&&t7(t)===e7}function i7(t,e){return t.reduce(function(n,r,a){return n[r]=e[a],n},{})}function j(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Rd(t),r=k6(t),a=r7(t),i=a.args,o=a.keys;if(i.length===0)return xl([],n);var s=new mt(o7(i,n,o?function(l){return i7(o,l)}:Ra));return r?s.pipe(Ob(r)):s}function o7(t,e,n){return n===void 0&&(n=Ra),function(r){Gb(e,function(){for(var a=t.length,i=new Array(a),o=a,s=a,l=function(c){Gb(e,function(){var d=xl(t[c],e),f=!1;d.subscribe($e(r,function(h){i[c]=h,f||(f=!0,s--),s||r.next(n(i.slice()))},function(){--o||r.complete()}))},r)},u=0;u<a;u++)l(u)},r)}}function Gb(t,e,n){t?ar(n,t,e):e()}function s7(t,e,n,r,a,i,o,s){var l=[],u=0,c=0,d=!1,f=function(){d&&!l.length&&!u&&e.complete()},h=function(g){return u<r?p(g):l.push(g)},p=function(g){u++;var m=!1;ze(n(g,c++)).subscribe($e(e,function(b){e.next(b)},function(){m=!0},void 0,function(){if(m)try{u--;for(var b=function(){var y=l.shift();o||p(y)};l.length&&u<r;)b();f()}catch(y){e.error(y)}}))};return t.subscribe($e(e,h,function(){d=!0,f()})),function(){}}function Id(t,e,n){return n===void 0&&(n=1/0),St(e)?Id(function(r,a){return R(function(i,o){return e(r,i,a,o)})(ze(t(r,a)))},n):(typeof e=="number"&&(n=e),Te(function(r,a){return s7(r,a,t,n)}))}function l7(t){return t===void 0&&(t=1/0),Id(Ra,t)}function u7(t){return new mt(function(e){ze(t()).subscribe(e)})}var c7=["addListener","removeListener"],f7=["addEventListener","removeEventListener"],d7=["on","off"];function Nd(t,e,n,r){if(St(n)&&(r=n,n=void 0),r)return Nd(t,e,n).pipe(Ob(r));var a=Br(g7(t)?f7.map(function(s){return function(l){return t[s](e,l,n)}}):h7(t)?c7.map(jb(t,e)):p7(t)?d7.map(jb(t,e)):[],2),i=a[0],o=a[1];if(!i&&kd(t))return Id(function(s){return Nd(s,e,n)})(ze(t));if(!i)throw new TypeError("Invalid event target");return new mt(function(s){var l=function(){for(var u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];return s.next(1<u.length?u:u[0])};return i(l),function(){return o(l)}})}function jb(t,e){return function(n){return function(r){return t[n](e,r)}}}function h7(t){return St(t.addListener)&&St(t.removeListener)}function p7(t){return St(t.on)&&St(t.off)}function g7(t){return St(t.addEventListener)&&St(t.removeEventListener)}function Mr(t,e,n){return u7(function(){return t()?e:n})}function zd(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Rd(t),r=I6(t,1/0),a=t;return a.length?a.length===1?ze(a[0]):l7(r)(xl(a,n)):bl}function ka(t,e){return Te(function(n,r){var a=0;n.subscribe($e(r,function(i){return t.call(e,i,a++)&&r.next(i)}))})}function m7(t,e){return e===void 0&&(e=L6),Te(function(n,r){var a=null,i=null,o=null,s=function(){if(a){a.unsubscribe(),a=null;var u=i;i=null,r.next(u)}};function l(){var u=o+t,c=e.now();if(c<u){a=this.schedule(void 0,u-c),r.add(a);return}s()}n.subscribe($e(r,function(u){i=u,o=e.now(),a||(a=e.schedule(l,t),r.add(a))},function(){s(),r.complete()},void 0,function(){i=a=null}))})}function y7(t){return Te(function(e,n){var r=!1;e.subscribe($e(n,function(a){r=!0,n.next(a)},function(){r||n.next(t),n.complete()}))})}function b7(t){return t<=0?function(){return bl}:Te(function(e,n){var r=0;e.subscribe($e(n,function(a){++r<=t&&(n.next(a),t<=r&&n.complete())}))})}function Z(t,e){return e===void 0&&(e=Ra),t=t??x7,Te(function(n,r){var a,i=!0;n.subscribe($e(r,function(o){var s=e(o);(i||!t(a,s))&&(i=!1,a=s,r.next(o))}))})}function x7(t,e){return t===e}function v7(t){return t===void 0&&(t=$7),Te(function(e,n){var r=!1;e.subscribe($e(n,function(a){r=!0,n.next(a)},function(){return r?n.complete():n.error(t())}))})}function $7(){return new zb}function uo(t,e){var n=arguments.length>=2;return function(r){return r.pipe(Ra,b7(1),n?y7(e):v7(function(){return new zb}))}}function _7(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new K}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Te(function(x,v){h++,!g&&!p&&m();var $=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=Od(y,l))}),$.subscribe(v),!c&&h>0&&(c=new lo({next:function(S){return $.next(S)},error:function(S){g=!0,m(),d=Od(b,a,S),$.error(S)},complete:function(){p=!0,m(),d=Od(b,o),$.complete()}}),ze(x).subscribe(c))})(u)}}function Od(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new lo({next:function(){a.unsubscribe(),t()}});return ze(e.apply(void 0,Ea([],Br(n)))).subscribe(a)}}function ot(t,e,n){var r,a=!1;return r=t,_7({connector:function(){return new w6(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function O(t,e){return Te(function(n,r){var a=null,i=0,o=!1,s=function(){return o&&!a&&r.complete()};n.subscribe($e(r,function(l){a==null||a.unsubscribe();var u=0,c=i++;ze(t(l,c)).subscribe(a=$e(r,function(d){return r.next(e?e(l,d,c,u++):d)},function(){a=null,s()}))},function(){o=!0,s()}))})}function M(t){return Te(function(e,n){ze(t).subscribe($e(n,function(){return n.complete()},Td)),!n.closed&&e.subscribe(n)})}const we={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},A7={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},S7={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...we},groupAxis:{...A7},separateSeries:!1},D7={visibleFilter:(t,e)=>!0,...S7};D7.visibleFilter.toString=()=>"(datum, context) => true";function Ia(t){return Object.prototype.toString.call(t)==="[object Object]"}function C7(t){return Object.prototype.toString.call(t)==="[object Function]"}function Gd(t,e){if(Ia(t)===!1||Ia(e)===!1)return Object.assign({},e);const n=(r,a)=>{const i=Object.assign({},a);for(let o of Object.keys(r)){if(!(o in a))continue;let s;Ia(r[o])&&Ia(a[o])?(s=n(r[o],a[o]),i[o]=s):i[o]=r[o]}return i};return n(t,e)}function P7(t,e){const n={string:a=>typeof a=="string",number:a=>typeof a=="number",boolean:a=>typeof a=="boolean",object:a=>Ia(a),"object[]":a=>Array.isArray(a)&&a.every(i=>Ia(i)),"string[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="string"),"number[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="number"),Function:a=>C7(a),null:a=>a===null,undefined:a=>a===void 0},r={ColorType:a=>a==="none"||a==="label"||a==="primary"||a==="secondary"||a==="labelContrast"||a==="background"};return Object.keys(t).find(a=>{if(e[a]){const i=e[a],o=t[a];if(i.toBeTypes){if(i.toBeTypes.some(s=>n[s](o))===!1)return!0}else if(i.toBe){const{toBe:s,test:l}=i;if(l(o)===!1)return!0}else if(i.toBeOption){const s=i.toBeOption;if(r[s](o)===!1)return!0}}return!1})}function F7(t,e){const n=P7(t,e);if(n){const r=e[n],a=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:a}}else return{status:"success",columnName:"",expectToBe:""}}function vl(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function T7(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Vb(t){let e,n,r;t.length!==2?(e=vl,n=(s,l)=>vl(t(s),l),r=(s,l)=>t(s)-l):(e=t===vl||t===T7?t:w7,n=t,r=t);function a(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<0?u=d+1:c=d}while(u<c)}return u}function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<=0?u=d+1:c=d}while(u<c)}return u}function o(s,l,u=0,c=s.length){const d=a(s,l,u,c-1);return d>u&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:a,center:o,right:i}}function w7(){return 0}function B7(t){return t===null?NaN:+t}const M7=Vb(vl),Hb=M7.right;Vb(B7).center;class Xb extends Map{constructor(e,n=R7){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get(Wb(this,e))}has(e){return super.has(Wb(this,e))}set(e,n){return super.set(E7(this,e),n)}delete(e){return super.delete(L7(this,e))}}function Wb({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function E7({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function L7({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function R7(t){return t!==null&&typeof t=="object"?t.valueOf():t}const k7=Math.sqrt(50),I7=Math.sqrt(10),N7=Math.sqrt(2);function $l(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=k7?10:i>=I7?5:i>=N7?2:1;let s,l,u;return a<0?(u=Math.pow(10,-a)/o,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,a)*o,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?$l(t,e,n*2):[s,l,u]}function z7(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?$l(e,t,n):$l(t,e,n);if(!(i>=a))return[];const s=i-a+1,l=new Array(s);if(r)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;else 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;return l}function jd(t,e,n){return e=+e,t=+t,n=+n,$l(t,e,n)[2]}function O7(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?jd(e,t,n):jd(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function G7(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}var j7={value:()=>{}};function Ub(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new _l(n)}function _l(t){this._=t}function V7(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}_l.prototype=Ub.prototype={constructor:_l,on:function(t,e){var n=this._,r=V7(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=H7(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=Yb(n[a],t.name,e);else if(e==null)for(a in n)n[a]=Yb(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new _l(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function H7(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function Yb(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=j7,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Vd="http://www.w3.org/1999/xhtml";const qb={svg:"http://www.w3.org/2000/svg",xhtml:Vd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Al(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),qb.hasOwnProperty(e)?{space:qb[e],local:t}:t}function X7(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Vd&&e.documentElement.namespaceURI===Vd?e.createElement(t):e.createElementNS(n,t)}}function W7(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Zb(t){var e=Al(t);return(e.local?W7:X7)(e)}function U7(){}function Hd(t){return t==null?U7:function(){return this.querySelector(t)}}function Y7(t){typeof t!="function"&&(t=Hd(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=new Array(o),l,u,c=0;c<o;++c)(l=i[c])&&(u=t.call(l,l.__data__,c,i))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new qe(r,this._parents)}function q7(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Z7(){return[]}function Jb(t){return t==null?Z7:function(){return this.querySelectorAll(t)}}function J7(t){return function(){return q7(t.apply(this,arguments))}}function K7(t){typeof t=="function"?t=J7(t):t=Jb(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&(r.push(t.call(l,l.__data__,u,o)),a.push(l));return new qe(r,a)}function Kb(t){return function(){return this.matches(t)}}function Qb(t){return function(e){return e.matches(t)}}var Q7=Array.prototype.find;function t8(t){return function(){return Q7.call(this.children,t)}}function e8(){return this.firstElementChild}function n8(t){return this.select(t==null?e8:t8(typeof t=="function"?t:Qb(t)))}var r8=Array.prototype.filter;function a8(){return Array.from(this.children)}function i8(t){return function(){return r8.call(this.children,t)}}function o8(t){return this.selectAll(t==null?a8:i8(typeof t=="function"?t:Qb(t)))}function s8(t){typeof t!="function"&&(t=Kb(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new qe(r,this._parents)}function t1(t){return new Array(t.length)}function l8(){return new qe(this._enter||this._groups.map(t1),this._parents)}function Sl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Sl.prototype={constructor:Sl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function u8(t){return function(){return t}}function c8(t,e,n,r,a,i){for(var o=0,s,l=e.length,u=i.length;o<u;++o)(s=e[o])?(s.__data__=i[o],r[o]=s):n[o]=new Sl(t,i[o]);for(;o<l;++o)(s=e[o])&&(a[o]=s)}function f8(t,e,n,r,a,i,o){var s,l,u=new Map,c=e.length,d=i.length,f=new Array(c),h;for(s=0;s<c;++s)(l=e[s])&&(f[s]=h=o.call(l,l.__data__,s,e)+"",u.has(h)?a[s]=l:u.set(h,l));for(s=0;s<d;++s)h=o.call(t,i[s],s,i)+"",(l=u.get(h))?(r[s]=l,l.__data__=i[s],u.delete(h)):n[s]=new Sl(t,i[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(f[s])===l&&(a[s]=l)}function d8(t){return t.__data__}function h8(t,e){if(!arguments.length)return Array.from(this,d8);var n=e?f8:c8,r=this._parents,a=this._groups;typeof t!="function"&&(t=u8(t));for(var i=a.length,o=new Array(i),s=new Array(i),l=new Array(i),u=0;u<i;++u){var c=r[u],d=a[u],f=d.length,h=p8(t.call(c,c&&c.__data__,u,r)),p=h.length,g=s[u]=new Array(p),m=o[u]=new Array(p),b=l[u]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,$;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!($=m[x])&&++x<p;);v._next=$||null}}return o=new qe(o,r),o._enter=s,o._exit=l,o}function p8(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function g8(){return new qe(this._exit||this._groups.map(t1),this._parents)}function m8(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function y8(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),s=new Array(a),l=0;l<o;++l)for(var u=n[l],c=r[l],d=u.length,f=s[l]=new Array(d),h,p=0;p<d;++p)(h=u[p]||c[p])&&(f[p]=h);for(;l<a;++l)s[l]=n[l];return new qe(s,this._parents)}function b8(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function x8(t){t||(t=v8);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],s=o.length,l=a[i]=new Array(s),u,c=0;c<s;++c)(u=o[c])&&(l[c]=u);l.sort(e)}return new qe(a,this._parents).order()}function v8(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function $8(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function _8(){return Array.from(this)}function A8(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function S8(){let t=0;for(const e of this)++t;return t}function D8(){return!this.node()}function C8(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,s;i<o;++i)(s=a[i])&&t.call(s,s.__data__,i,a);return this}function P8(t){return function(){this.removeAttribute(t)}}function F8(t){return function(){this.removeAttributeNS(t.space,t.local)}}function T8(t,e){return function(){this.setAttribute(t,e)}}function w8(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function B8(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function M8(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function E8(t,e){var n=Al(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?F8:P8:typeof e=="function"?n.local?M8:B8:n.local?w8:T8)(n,e))}function e1(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function L8(t){return function(){this.style.removeProperty(t)}}function R8(t,e,n){return function(){this.style.setProperty(t,e,n)}}function k8(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function I8(t,e,n){return arguments.length>1?this.each((e==null?L8:typeof e=="function"?k8:R8)(t,e,n??"")):Na(this.node(),t)}function Na(t,e){return t.style.getPropertyValue(e)||e1(t).getComputedStyle(t,null).getPropertyValue(e)}function N8(t){return function(){delete this[t]}}function z8(t,e){return function(){this[t]=e}}function O8(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function G8(t,e){return arguments.length>1?this.each((e==null?N8:typeof e=="function"?O8:z8)(t,e)):this.node()[t]}function n1(t){return t.trim().split(/^|\s+/)}function Xd(t){return t.classList||new r1(t)}function r1(t){this._node=t,this._names=n1(t.getAttribute("class")||"")}r1.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function a1(t,e){for(var n=Xd(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function i1(t,e){for(var n=Xd(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function j8(t){return function(){a1(this,t)}}function V8(t){return function(){i1(this,t)}}function H8(t,e){return function(){(e.apply(this,arguments)?a1:i1)(this,t)}}function X8(t,e){var n=n1(t+"");if(arguments.length<2){for(var r=Xd(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?H8:e?j8:V8)(n,e))}function W8(){this.textContent=""}function U8(t){return function(){this.textContent=t}}function Y8(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function q8(t){return arguments.length?this.each(t==null?W8:(typeof t=="function"?Y8:U8)(t)):this.node().textContent}function Z8(){this.innerHTML=""}function J8(t){return function(){this.innerHTML=t}}function K8(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function Q8(t){return arguments.length?this.each(t==null?Z8:(typeof t=="function"?K8:J8)(t)):this.node().innerHTML}function tB(){this.nextSibling&&this.parentNode.appendChild(this)}function eB(){return this.each(tB)}function nB(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function rB(){return this.each(nB)}function aB(t){var e=typeof t=="function"?t:Zb(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function iB(){return null}function oB(t,e){var n=typeof t=="function"?t:Zb(t),r=e==null?iB:typeof e=="function"?e:Hd(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function sB(){var t=this.parentNode;t&&t.removeChild(this)}function lB(){return this.each(sB)}function uB(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function cB(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function fB(t){return this.select(t?cB:uB)}function dB(t){return arguments.length?this.property("__data__",t):this.node().__data__}function hB(t){return function(e){t.call(this,e,this.__data__)}}function pB(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function gB(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function mB(t,e,n){return function(){var r=this.__on,a,i=hB(e);if(r){for(var o=0,s=r.length;o<s;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function yB(t,e,n){var r=pB(t+""),a,i=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(a=0,c=s[l];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(s=e?mB:gB,a=0;a<i;++a)this.each(s(r[a],e,n));return this}function o1(t,e,n){var r=e1(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function bB(t,e){return function(){return o1(this,t,e)}}function xB(t,e){return function(){return o1(this,t,e.apply(this,arguments))}}function vB(t,e){return this.each((typeof e=="function"?xB:bB)(t,e))}function*$B(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var _B=[null];function qe(t,e){this._groups=t,this._parents=e}function co(){return new qe([[document.documentElement]],_B)}function AB(){return this}qe.prototype=co.prototype={constructor:qe,select:Y7,selectAll:K7,selectChild:n8,selectChildren:o8,filter:s8,data:h8,enter:l8,exit:g8,join:m8,merge:y8,selection:AB,order:b8,sort:x8,call:$8,nodes:_8,node:A8,size:S8,empty:D8,each:C8,attr:E8,style:I8,property:G8,classed:X8,text:q8,html:Q8,raise:eB,lower:rB,append:aB,insert:oB,remove:lB,clone:fB,datum:dB,on:yB,dispatch:vB,[Symbol.iterator]:$B};function Wd(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function s1(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function fo(){}var ho=.7,Dl=1/ho,za="\\s*([+-]?\\d+)\\s*",po="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",pn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",SB=/^#([0-9a-f]{3,8})$/,DB=new RegExp(`^rgb\\(${za},${za},${za}\\)$`),CB=new RegExp(`^rgb\\(${pn},${pn},${pn}\\)$`),PB=new RegExp(`^rgba\\(${za},${za},${za},${po}\\)$`),FB=new RegExp(`^rgba\\(${pn},${pn},${pn},${po}\\)$`),TB=new RegExp(`^hsl\\(${po},${pn},${pn}\\)$`),wB=new RegExp(`^hsla\\(${po},${pn},${pn},${po}\\)$`),l1={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};Wd(fo,Er,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:u1,formatHex:u1,formatHex8:BB,formatHsl:MB,formatRgb:c1,toString:c1});function u1(){return this.rgb().formatHex()}function BB(){return this.rgb().formatHex8()}function MB(){return g1(this).formatHsl()}function c1(){return this.rgb().formatRgb()}function Er(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=SB.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?f1(e):n===3?new _e(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Cl(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Cl(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=DB.exec(t))?new _e(e[1],e[2],e[3],1):(e=CB.exec(t))?new _e(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=PB.exec(t))?Cl(e[1],e[2],e[3],e[4]):(e=FB.exec(t))?Cl(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=TB.exec(t))?p1(e[1],e[2]/100,e[3]/100,1):(e=wB.exec(t))?p1(e[1],e[2]/100,e[3]/100,e[4]):l1.hasOwnProperty(t)?f1(l1[t]):t==="transparent"?new _e(NaN,NaN,NaN,0):null}function f1(t){return new _e(t>>16&255,t>>8&255,t&255,1)}function Cl(t,e,n,r){return r<=0&&(t=e=n=NaN),new _e(t,e,n,r)}function EB(t){return t instanceof fo||(t=Er(t)),t?(t=t.rgb(),new _e(t.r,t.g,t.b,t.opacity)):new _e}function Ud(t,e,n,r){return arguments.length===1?EB(t):new _e(t,e,n,r??1)}function _e(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Wd(_e,Ud,s1(fo,{brighter(t){return t=t==null?Dl:Math.pow(Dl,t),new _e(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ho:Math.pow(ho,t),new _e(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new _e(Lr(this.r),Lr(this.g),Lr(this.b),Pl(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:d1,formatHex:d1,formatHex8:LB,formatRgb:h1,toString:h1}));function d1(){return`#${Rr(this.r)}${Rr(this.g)}${Rr(this.b)}`}function LB(){return`#${Rr(this.r)}${Rr(this.g)}${Rr(this.b)}${Rr((isNaN(this.opacity)?1:this.opacity)*255)}`}function h1(){const t=Pl(this.opacity);return`${t===1?"rgb(":"rgba("}${Lr(this.r)}, ${Lr(this.g)}, ${Lr(this.b)}${t===1?")":`, ${t})`}`}function Pl(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Lr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Rr(t){return t=Lr(t),(t<16?"0":"")+t.toString(16)}function p1(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ze(t,e,n,r)}function g1(t){if(t instanceof Ze)return new Ze(t.h,t.s,t.l,t.opacity);if(t instanceof fo||(t=Er(t)),!t)return new Ze;if(t instanceof Ze)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,s=i-a,l=(i+a)/2;return s?(e===i?o=(n-r)/s+(n<r)*6:n===i?o=(r-e)/s+2:o=(e-n)/s+4,s/=l<.5?i+a:2-i-a,o*=60):s=l>0&&l<1?0:o,new Ze(o,s,l,t.opacity)}function RB(t,e,n,r){return arguments.length===1?g1(t):new Ze(t,e,n,r??1)}function Ze(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Wd(Ze,RB,s1(fo,{brighter(t){return t=t==null?Dl:Math.pow(Dl,t),new Ze(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ho:Math.pow(ho,t),new Ze(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,a=2*n-r;return new _e(Yd(t>=240?t-240:t+120,a,r),Yd(t,a,r),Yd(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new Ze(m1(this.h),Fl(this.s),Fl(this.l),Pl(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=Pl(this.opacity);return`${t===1?"hsl(":"hsla("}${m1(this.h)}, ${Fl(this.s)*100}%, ${Fl(this.l)*100}%${t===1?")":`, ${t})`}`}}));function m1(t){return t=(t||0)%360,t<0?t+360:t}function Fl(t){return Math.max(0,Math.min(1,t||0))}function Yd(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const qd=t=>()=>t;function kB(t,e){return function(n){return t+n*e}}function IB(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function NB(t){return(t=+t)==1?y1:function(e,n){return n-e?IB(e,n,t):qd(isNaN(e)?n:e)}}function y1(t,e){var n=e-t;return n?kB(t,n):qd(isNaN(t)?e:t)}const Tl=function t(e){var n=NB(e);function r(a,i){var o=n((a=Ud(a)).r,(i=Ud(i)).r),s=n(a.g,i.g),l=n(a.b,i.b),u=y1(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=s(c),a.b=l(c),a.opacity=u(c),a+""}}return r.gamma=t,r}(1);function zB(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function OB(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function GB(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=Kd(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(s){for(o=0;o<r;++o)i[o]=a[o](s);return i}}function jB(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Je(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function VB(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=Kd(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var Zd=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Jd=new RegExp(Zd.source,"g");function HB(t){return function(){return t}}function XB(t){return function(e){return t(e)+""}}function b1(t,e){var n=Zd.lastIndex=Jd.lastIndex=0,r,a,i,o=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Zd.exec(t))&&(a=Jd.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,l.push({i:o,x:Je(r,a)})),n=Jd.lastIndex;return n<e.length&&(i=e.slice(n),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?XB(l[0].x):HB(e):(e=l.length,function(u){for(var c=0,d;c<e;++c)s[(d=l[c]).i]=d.x(u);return s.join("")})}function Kd(t,e){var n=typeof e,r;return e==null||n==="boolean"?qd(e):(n==="number"?Je:n==="string"?(r=Er(e))?(e=r,Tl):b1:e instanceof Er?Tl:e instanceof Date?jB:OB(e)?zB:Array.isArray(e)?GB:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?VB:Je)(t,e)}function WB(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var x1=180/Math.PI,v1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function $1(t,e,n,r,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*x1,skewX:Math.atan(l)*x1,scaleX:o,scaleY:s}}var wl;function UB(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?v1:$1(e.a,e.b,e.c,e.d,e.e,e.f)}function YB(t){return t==null||(wl||(wl=document.createElementNS("http://www.w3.org/2000/svg","g")),wl.setAttribute("transform",t),!(t=wl.transform.baseVal.consolidate()))?v1:(t=t.matrix,$1(t.a,t.b,t.c,t.d,t.e,t.f))}function _1(t,e,n,r){function a(u){return u.length?u.pop()+" ":""}function i(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:Je(u,d)},{i:g-2,x:Je(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(u,c,d,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:Je(u,c)})):c&&d.push(a(d)+"rotate("+c+r)}function s(u,c,d,f){u!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:Je(u,c)}):c&&d.push(a(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:Je(u,d)},{i:g-2,x:Je(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,d,f),o(u.rotate,c.rotate,d,f),s(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var qB=_1(UB,"px, ","px)","deg)"),ZB=_1(YB,", ",")",")"),Oa=0,go=0,mo=0,A1=1e3,Bl,yo,Ml=0,kr=0,El=0,bo=typeof performance=="object"&&performance.now?performance:Date,S1=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Qd(){return kr||(S1(JB),kr=bo.now()+El)}function JB(){kr=0}function Ll(){this._call=this._time=this._next=null}Ll.prototype=D1.prototype={constructor:Ll,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Qd():+n)+(e==null?0:+e),!this._next&&yo!==this&&(yo?yo._next=this:Bl=this,yo=this),this._call=t,this._time=n,th()},stop:function(){this._call&&(this._call=null,this._time=1/0,th())}};function D1(t,e,n){var r=new Ll;return r.restart(t,e,n),r}function KB(){Qd(),++Oa;for(var t=Bl,e;t;)(e=kr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Oa}function C1(){kr=(Ml=bo.now())+El,Oa=go=0;try{KB()}finally{Oa=0,tM(),kr=0}}function QB(){var t=bo.now(),e=t-Ml;e>A1&&(El-=e,Ml=t)}function tM(){for(var t,e=Bl,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Bl=n);yo=t,th(r)}function th(t){if(!Oa){go&&(go=clearTimeout(go));var e=t-kr;e>24?(t<1/0&&(go=setTimeout(C1,t-bo.now()-El)),mo&&(mo=clearInterval(mo))):(mo||(Ml=bo.now(),mo=setInterval(QB,A1)),Oa=1,S1(C1))}}function P1(t,e,n){var r=new Ll;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}var eM=Ub("start","end","cancel","interrupt"),nM=[],F1=0,T1=1,eh=2,Rl=3,w1=4,nh=5,kl=6;function Il(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;rM(t,n,{name:e,index:r,group:a,on:eM,tween:nM,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:F1})}function rh(t,e){var n=Ke(t,e);if(n.state>F1)throw new Error("too late; already scheduled");return n}function gn(t,e){var n=Ke(t,e);if(n.state>Rl)throw new Error("too late; already running");return n}function Ke(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function rM(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=D1(i,0,n.time);function i(u){n.state=T1,n.timer.restart(o,n.delay,n.time),n.delay<=u&&o(u-n.delay)}function o(u){var c,d,f,h;if(n.state!==T1)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===Rl)return P1(o);h.state===w1?(h.state=kl,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=kl,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(P1(function(){n.state===Rl&&(n.state=w1,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=eh,n.on.call("start",t,t.__data__,n.index,n.group),n.state===eh){for(n.state=Rl,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=nh,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===nh&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=kl,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function aM(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>eh&&r.state<nh,r.state=kl,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function iM(t){return this.each(function(){aM(this,t)})}function oM(t,e){var n,r;return function(){var a=gn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,s=r.length;o<s;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function sM(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=gn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var s={name:e,value:n},l=0,u=a.length;l<u;++l)if(a[l].name===e){a[l]=s;break}l===u&&a.push(s)}i.tween=a}}function lM(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ke(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?oM:sM)(n,t,e))}function ah(t,e,n){var r=t._id;return t.each(function(){var a=gn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return Ke(a,r).value[e]}}function B1(t,e){var n;return(typeof e=="number"?Je:e instanceof Er?Tl:(n=Er(e))?(e=n,Tl):b1)(t,e)}function uM(t){return function(){this.removeAttribute(t)}}function cM(t){return function(){this.removeAttributeNS(t.space,t.local)}}function fM(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function dM(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function hM(t,e,n){var r,a,i;return function(){var o,s=n(this),l;return s==null?void this.removeAttribute(t):(o=this.getAttribute(t),l=s+"",o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s)))}}function pM(t,e,n){var r,a,i;return function(){var o,s=n(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===a?i:(a=l,i=e(r=o,s)))}}function gM(t,e){var n=Al(t),r=n==="transform"?ZB:B1;return this.attrTween(t,typeof e=="function"?(n.local?pM:hM)(n,r,ah(this,"attr."+t,e)):e==null?(n.local?cM:uM)(n):(n.local?dM:fM)(n,r,e))}function mM(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function yM(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function bM(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&yM(t,i)),n}return a._value=e,a}function xM(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&mM(t,i)),n}return a._value=e,a}function vM(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=Al(t);return this.tween(n,(r.local?bM:xM)(r,e))}function $M(t,e){return function(){rh(this,t).delay=+e.apply(this,arguments)}}function _M(t,e){return e=+e,function(){rh(this,t).delay=e}}function AM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?$M:_M)(e,t)):Ke(this.node(),e).delay}function SM(t,e){return function(){gn(this,t).duration=+e.apply(this,arguments)}}function DM(t,e){return e=+e,function(){gn(this,t).duration=e}}function CM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?SM:DM)(e,t)):Ke(this.node(),e).duration}function PM(t,e){if(typeof e!="function")throw new Error;return function(){gn(this,t).ease=e}}function FM(t){var e=this._id;return arguments.length?this.each(PM(e,t)):Ke(this.node(),e).ease}function TM(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;gn(this,t).ease=n}}function wM(t){if(typeof t!="function")throw new Error;return this.each(TM(this._id,t))}function BM(t){typeof t!="function"&&(t=Kb(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new Bn(r,this._parents,this._name,this._id)}function MM(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),s=0;s<i;++s)for(var l=e[s],u=n[s],c=l.length,d=o[s]=new Array(c),f,h=0;h<c;++h)(f=l[h]||u[h])&&(d[h]=f);for(;s<r;++s)o[s]=e[s];return new Bn(o,this._parents,this._name,this._id)}function EM(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function LM(t,e,n){var r,a,i=EM(e)?rh:gn;return function(){var o=i(this,t),s=o.on;s!==r&&(a=(r=s).copy()).on(e,n),o.on=a}}function RM(t,e){var n=this._id;return arguments.length<2?Ke(this.node(),n).on.on(t):this.each(LM(n,t,e))}function kM(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function IM(){return this.on("end.remove",kM(this._id))}function NM(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Hd(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var s=r[o],l=s.length,u=i[o]=new Array(l),c,d,f=0;f<l;++f)(c=s[f])&&(d=t.call(c,c.__data__,f,s))&&("__data__"in c&&(d.__data__=c.__data__),u[f]=d,Il(u[f],e,n,f,u,Ke(c,n)));return new Bn(i,this._parents,e,n)}function zM(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Jb(t));for(var r=this._groups,a=r.length,i=[],o=[],s=0;s<a;++s)for(var l=r[s],u=l.length,c,d=0;d<u;++d)if(c=l[d]){for(var f=t.call(c,c.__data__,d,l),h,p=Ke(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&Il(h,e,n,g,f,p);i.push(f),o.push(c)}return new Bn(i,o,e,n)}var OM=co.prototype.constructor;function GM(){return new OM(this._groups,this._parents)}function jM(t,e){var n,r,a;return function(){var i=Na(this,t),o=(this.style.removeProperty(t),Na(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function M1(t){return function(){this.style.removeProperty(t)}}function VM(t,e,n){var r,a=n+"",i;return function(){var o=Na(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function HM(t,e,n){var r,a,i;return function(){var o=Na(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),Na(this,t))),o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s))}}function XM(t,e){var n,r,a,i="style."+e,o="end."+i,s;return function(){var l=gn(this,t),u=l.on,c=l.value[i]==null?s||(s=M1(e)):void 0;(u!==n||a!==c)&&(r=(n=u).copy()).on(o,a=c),l.on=r}}function WM(t,e,n){var r=(t+="")=="transform"?qB:B1;return e==null?this.styleTween(t,jM(t,r)).on("end.style."+t,M1(t)):typeof e=="function"?this.styleTween(t,HM(t,r,ah(this,"style."+t,e))).each(XM(this._id,t)):this.styleTween(t,VM(t,r,e),n).on("end.style."+t,null)}function UM(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function YM(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&UM(t,o,n)),r}return i._value=e,i}function qM(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,YM(t,e,n??""))}function ZM(t){return function(){this.textContent=t}}function JM(t){return function(){var e=t(this);this.textContent=e??""}}function KM(t){return this.tween("text",typeof t=="function"?JM(ah(this,"text",t)):ZM(t==null?"":t+""))}function QM(t){return function(e){this.textContent=t.call(this,e)}}function tE(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&QM(a)),e}return r._value=t,r}function eE(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,tE(t))}function nE(){for(var t=this._name,e=this._id,n=E1(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)if(l=o[u]){var c=Ke(l,e);Il(l,t,n,u,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Bn(r,this._parents,t,n)}function rE(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var s={value:o},l={value:function(){--a===0&&i()}};n.each(function(){var u=gn(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),a===0&&i()})}var aE=0;function Bn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function E1(){return++aE}var Mn=co.prototype;Bn.prototype={constructor:Bn,select:NM,selectAll:zM,selectChild:Mn.selectChild,selectChildren:Mn.selectChildren,filter:BM,merge:MM,selection:GM,transition:nE,call:Mn.call,nodes:Mn.nodes,node:Mn.node,size:Mn.size,empty:Mn.empty,each:Mn.each,on:RM,attr:gM,attrTween:vM,style:WM,styleTween:qM,text:KM,textTween:eE,remove:IM,tween:lM,delay:AM,duration:CM,ease:FM,easeVarying:wM,end:rE,[Symbol.iterator]:Mn[Symbol.iterator]};function iE(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var oE={time:null,delay:0,duration:250,ease:iE};function sE(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function lE(t){var e,n;t instanceof Bn?(e=t._id,t=t._name):(e=E1(),(n=oE).time=Qd(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&Il(l,t,e,u,o,n||sE(l,e));return new Bn(r,this._parents,t,e)}co.prototype.interrupt=iM,co.prototype.transition=lE;function uE(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Nl(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Ga(t){return t=Nl(Math.abs(t)),t?t[1]:NaN}function cE(t,e){return function(n,r){for(var a=n.length,i=[],o=0,s=t[0],l=0;a>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(n.substring(a-=s,a+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return i.reverse().join(e)}}function fE(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var dE=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function zl(t){if(!(e=dE.exec(t)))throw new Error("invalid format: "+t);var e;return new ih({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}zl.prototype=ih.prototype;function ih(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+""}ih.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 hE(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var L1;function pE(t,e){var n=Nl(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(L1=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+Nl(t,Math.max(0,e+i-1))[0]}function R1(t,e){var n=Nl(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const k1={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:uE,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>R1(t*100,e),r:R1,s:pE,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function I1(t){return t}var N1=Array.prototype.map,z1=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function gE(t){var e=t.grouping===void 0||t.thousands===void 0?I1:cE(N1.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?I1:fE(N1.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(d){d=zl(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,$=d.type;$==="n"?(y=!0,$="g"):k1[$]||(x===void 0&&(x=12),v=!0,$="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var S=g==="$"?n:g==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",C=g==="$"?r:/[%p]/.test($)?o:"",D=k1[$],_=/[defgprs%]/.test($);x=x===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function P(A){var I=S,k=C,w,F,T;if($==="c")k=D(A)+k,A="";else{A=+A;var B=A<0||1/A<0;if(A=isNaN(A)?l:D(Math.abs(A),x),v&&(A=hE(A)),B&&+A==0&&p!=="+"&&(B=!1),I=(B?p==="("?p:s:p==="-"||p==="("?"":p)+I,k=($==="s"?z1[8+L1/3]:"")+k+(B&&p==="("?")":""),_){for(w=-1,F=A.length;++w<F;)if(T=A.charCodeAt(w),48>T||T>57){k=(T===46?a+A.slice(w+1):A.slice(w))+k,A=A.slice(0,w);break}}}y&&!m&&(A=e(A,1/0));var N=I.length+A.length+k.length,E=N<b?new Array(b-N+1).join(f):"";switch(y&&m&&(A=e(E+A,E.length?b-k.length:1/0),E=""),h){case"<":A=I+A+k+E;break;case"=":A=I+E+A+k;break;case"^":A=E.slice(0,N=E.length>>1)+I+A+k+E.slice(N);break;default:A=E+I+A+k;break}return i(A)}return P.toString=function(){return d+""},P}function c(d,f){var h=u((d=zl(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(Ga(f)/3)))*3,g=Math.pow(10,-p),m=z1[8+p/3];return function(b){return h(g*b)+m}}return{format:u,formatPrefix:c}}var Ol,O1,G1;mE({thousands:",",grouping:[3],currency:["$",""]});function mE(t){return Ol=gE(t),O1=Ol.format,G1=Ol.formatPrefix,Ol}function yE(t){return Math.max(0,-Ga(Math.abs(t)))}function bE(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ga(e)/3)))*3-Ga(Math.abs(t)))}function xE(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Ga(e)-Ga(t))+1}function Gl(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const j1=Symbol("implicit");function V1(){var t=new Xb,e=[],n=[],r=j1;function a(i){let o=t.get(i);if(o===void 0){if(r!==j1)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new Xb;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return V1(e,n).unknown(r)},Gl.apply(a,arguments),a}function H1(){var t=V1().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,s=!1,l=0,u=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-l+u*2),s&&(i=Math.floor(i)),p+=(g-p-i*(f-l))*c,o=i*(1-l),s&&(p=Math.round(p),o=Math.round(o));var m=G7(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,s=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(s=!!f,d()):s},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),d()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),d()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,d()):u},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return H1(e(),[r,a]).round(s).paddingInner(l).paddingOuter(u).align(c)},Gl.apply(d(),arguments)}function X1(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return X1(e())},t}function vE(){return X1(H1.apply(null,arguments).paddingInner(1))}function $E(t){return function(){return t}}function _E(t){return+t}var W1=[0,1];function ja(t){return t}function oh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:$E(isNaN(e)?NaN:.5)}function AE(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function SE(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=oh(a,r),i=n(o,i)):(r=oh(r,a),i=n(i,o)),function(s){return i(r(s))}}function DE(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=oh(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(s){var l=Hb(t,s,1,r)-1;return i[l](a[l](s))}}function CE(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function PE(){var t=W1,e=W1,n=Kd,r,a,i,o=ja,s,l,u;function c(){var f=Math.min(t.length,e.length);return o!==ja&&(o=AE(t[0],t[f-1])),s=f>2?DE:SE,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?i:(l||(l=s(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((u||(u=s(e,t.map(r),Je)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,_E),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=WB,c()},d.clamp=function(f){return arguments.length?(o=f?!0:ja,c()):o!==ja},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function FE(){return PE()(ja,ja)}function TE(t,e,n,r){var a=O7(t,e,n),i;switch(r=zl(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=bE(a,o))&&(r.precision=i),G1(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=xE(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=yE(a))&&(r.precision=i-(r.type==="%")*2);break}}return O1(r)}function U1(t){var e=t.domain;return t.ticks=function(n){var r=e();return z7(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return TE(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],s=r[i],l,u,c=10;for(s<o&&(u=o,o=s,s=u,u=a,a=i,i=u);c-- >0;){if(u=jd(o,s,n),u===l)return r[a]=o,r[i]=s,e(r);if(u>0)o=Math.floor(o/u)*u,s=Math.ceil(s/u)*u;else if(u<0)o=Math.ceil(o*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function xo(){var t=FE();return t.copy=function(){return CE(t,xo())},Gl.apply(t,arguments),U1(t)}function Y1(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(l){return l!=null&&l<=l?a[Hb(r,l,0,n)]:i}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return o}return o.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},o.range=function(l){return arguments.length?(n=(a=Array.from(l)).length-1,s()):a.slice()},o.invertExtent=function(l){var u=a.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},o.unknown=function(l){return arguments.length&&(i=l),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Y1().domain([t,e]).range(a).unknown(i)},Gl.apply(U1(o),arguments)}function vo(t,e,n){this.k=t,this.x=e,this.y=n}vo.prototype={constructor:vo,scale:function(t){return t===1?this:new vo(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vo(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},vo.prototype;function sh(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}function wE(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function q1(t,e,n){const{gap:r}=e,{rowAmount:a,columnAmount:i}=e.rowAmount*e.columnAmount>=n?e:wE(n);return new Array(n).fill(null).map((o,s)=>{const l=s%i,u=Math.floor(s/i),c=(t.width-r*(i-1))/i,d=(t.height-r*(a-1))/a,f=l*c+l*r,h=u*d+u*r,p=[f,h],g=[c/t.width,d/t.height];return{slotIndex:s,rowIndex:u,columnIndex:l,translate:p,scale:g}})}var lh=function(t,e){return lh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},lh(t,e)};function mn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");lh(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function BE(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function s(c){try{u(r.next(c))}catch(d){o(d)}}function l(c){try{u(r.throw(c))}catch(d){o(d)}}function u(c){c.done?i(c.value):a(c.value).then(s,l)}u((r=r.apply(t,[])).next())})}function Z1(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(n=0)),n;)try{if(r=1,a&&(i=u[0]&2?a.return:u[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,u[1])).done)return i;switch(a=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,a=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){n.label=u[1];break}if(u[0]===6&&n.label<i[1]){n.label=i[1],i=u;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(u);break}i[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],a=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Va(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ha(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(s){o={error:s}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function Xa(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function Wa(t){return this instanceof Wa?(this.v=t,this):new Wa(t)}function ME(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function s(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||l(h,g)})},p&&(a[h]=p(a[h])))}function l(h,p){try{u(r[h](p))}catch(g){f(i[0][3],g)}}function u(h){h.value instanceof Wa?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){l("next",h)}function d(h){l("throw",h)}function f(h,p){h(p),i.shift(),i.length&&l(i[0][0],i[0][1])}}function EE(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Va=="function"?Va(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(s,l){o=t[i](o),a(s,l,o.done,o.value)})}}function a(i,o,s,l){Promise.resolve(l).then(function(u){i({value:u,done:s})},o)}}function Ot(t){return typeof t=="function"}function uh(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var ch=uh(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
52
+ `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
53
+ `):"",this.name="UnsubscriptionError",this.errors=e}});function jl(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var $o=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Va(o),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(Ot(c))try{c()}catch(g){i=g instanceof ch?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Va(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{Q1(p)}catch(g){i=i??[],g instanceof ch?i=Xa(Xa([],Ha(i)),Ha(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new ch(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Q1(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&jl(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&jl(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),J1=$o.EMPTY;function K1(t){return t instanceof $o||t&&"closed"in t&&Ot(t.remove)&&Ot(t.add)&&Ot(t.unsubscribe)}function Q1(t){Ot(t)?t():t.unsubscribe()}var LE={Promise:void 0},RE={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Xa([t,e],Ha(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function tx(t){RE.setTimeout(function(){throw t})}function fh(){}function Vl(t){t()}var dh=function(t){mn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,K1(n)&&n.add(r)):r.destination=NE,r}return e.create=function(n,r,a){return new _o(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}($o),kE=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){Hl(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){Hl(r)}else Hl(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){Hl(n)}},t}(),_o=function(t){mn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return Ot(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new kE(o),i}return e}(dh);function Hl(t){tx(t)}function IE(t){throw t}var NE={closed:!0,next:fh,error:IE,complete:fh},hh=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Xl(t){return t}function zE(t){return t.length===0?Xl:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var Be=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=GE(e)?e:new _o(e,n,r);return Vl(function(){var o=a,s=o.operator,l=o.source;i.add(s?s.call(i,l):l?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=ex(n),new n(function(a,i){var o=new _o({next:function(s){try{e(s)}catch(l){i(l),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[hh]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return zE(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=ex(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function ex(t){var e;return(e=t??LE.Promise)!==null&&e!==void 0?e:Promise}function OE(t){return t&&Ot(t.next)&&Ot(t.error)&&Ot(t.complete)}function GE(t){return t&&t instanceof dh||OE(t)&&K1(t)}function jE(t){return Ot(t==null?void 0:t.lift)}function Ir(t){return function(e){if(jE(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Nr(t,e,n,r,a){return new VE(t,e,n,r,a)}var VE=function(t){mn(e,t);function e(n,r,a,i,o,s){var l=t.call(this,n)||this;return l.onFinalize=o,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=i?function(u){try{i(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=a?function(){try{a()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(dh),HE=uh(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Ua=function(t){mn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new nx(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new HE},e.prototype.next=function(n){var r=this;Vl(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Va(r.currentObservers),s=o.next();!s.done;s=o.next()){var l=s.value;l.next(n)}}catch(u){a={error:u}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;Vl(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;Vl(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,s=a.observers;return i||o?J1:(this.currentObservers=null,s.push(n),new $o(function(){r.currentObservers=null,jl(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new Be;return n.source=this,n},e.create=function(n,r){return new nx(n,r)},e}(Be),nx=function(t){mn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:J1},e}(Ua),rx=function(t){mn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Ua),ph={now:function(){return(ph.delegate||Date).now()},delegate:void 0},XE=function(t){mn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=ph);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;a||(i.push(n),!o&&i.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,s=o.slice(),l=0;l<s.length&&!n.closed;l+=i?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,s=(o?1:2)*r;if(r<1/0&&s<i.length&&i.splice(0,i.length-s),!o){for(var l=a.now(),u=0,c=1;c<i.length&&i[c]<=l;c+=2)u=c;u&&i.splice(0,u+1)}},e}(Ua),WE=function(t){mn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}($o),ax={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Xa([t,e],Ha(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},UE=function(t){mn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),ax.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&ax.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,jl(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(WE),ix=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=ph.now,t}(),YE=function(t){mn(e,t);function e(n,r){r===void 0&&(r=ix.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(ix);new YE(UE);function qE(t){return t&&Ot(t.schedule)}function ox(t){return t[t.length-1]}function ZE(t){return Ot(ox(t))?t.pop():void 0}function JE(t){return qE(ox(t))?t.pop():void 0}var sx=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function lx(t){return Ot(t==null?void 0:t.then)}function ux(t){return Ot(t[hh])}function cx(t){return Symbol.asyncIterator&&Ot(t==null?void 0:t[Symbol.asyncIterator])}function fx(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function KE(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var dx=KE();function hx(t){return Ot(t==null?void 0:t[dx])}function px(t){return ME(this,arguments,function(){var e,n,r,a;return Z1(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Wa(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,Wa(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Wa(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function gx(t){return Ot(t==null?void 0:t.getReader)}function zr(t){if(t instanceof Be)return t;if(t!=null){if(ux(t))return QE(t);if(sx(t))return tL(t);if(lx(t))return eL(t);if(cx(t))return mx(t);if(hx(t))return nL(t);if(gx(t))return rL(t)}throw fx(t)}function QE(t){return new Be(function(e){var n=t[hh]();if(Ot(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function tL(t){return new Be(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function eL(t){return new Be(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,tx)})}function nL(t){return new Be(function(e){var n,r;try{for(var a=Va(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(s){n={error:s}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function mx(t){return new Be(function(e){aL(t,e).catch(function(n){return e.error(n)})})}function rL(t){return mx(px(t))}function aL(t,e){var n,r,a,i;return BE(this,void 0,void 0,function(){var o,s;return Z1(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=EE(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),a={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function ir(t,e,n,r,a){r===void 0&&(r=0),a===void 0&&(a=!1);var i=e.schedule(function(){n(),a?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!a)return i}function yx(t,e){return e===void 0&&(e=0),Ir(function(n,r){n.subscribe(Nr(r,function(a){return ir(r,t,function(){return r.next(a)},e)},function(){return ir(r,t,function(){return r.complete()},e)},function(a){return ir(r,t,function(){return r.error(a)},e)}))})}function bx(t,e){return e===void 0&&(e=0),Ir(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function iL(t,e){return zr(t).pipe(bx(e),yx(e))}function oL(t,e){return zr(t).pipe(bx(e),yx(e))}function sL(t,e){return new Be(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function lL(t,e){return new Be(function(n){var r;return ir(n,e,function(){r=t[dx](),ir(n,e,function(){var a,i,o;try{a=r.next(),i=a.value,o=a.done}catch(s){n.error(s);return}o?n.complete():n.next(i)},0,!0)}),function(){return Ot(r==null?void 0:r.return)&&r.return()}})}function xx(t,e){if(!t)throw new Error("Iterable cannot be null");return new Be(function(n){ir(n,e,function(){var r=t[Symbol.asyncIterator]();ir(n,e,function(){r.next().then(function(a){a.done?n.complete():n.next(a.value)})},0,!0)})})}function uL(t,e){return xx(px(t),e)}function cL(t,e){if(t!=null){if(ux(t))return iL(t,e);if(sx(t))return sL(t,e);if(lx(t))return oL(t,e);if(cx(t))return xx(t,e);if(hx(t))return lL(t,e);if(gx(t))return uL(t,e)}throw fx(t)}function vx(t,e){return e?cL(t,e):zr(t)}uh(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ya(t,e){return Ir(function(n,r){var a=0;n.subscribe(Nr(r,function(i){r.next(t.call(e,i,a++))}))})}var fL=Array.isArray;function dL(t,e){return fL(e)?t.apply(void 0,Xa([],Ha(e))):t(e)}function hL(t){return Ya(function(e){return dL(t,e)})}var pL=Array.isArray,gL=Object.getPrototypeOf,mL=Object.prototype,yL=Object.keys;function bL(t){if(t.length===1){var e=t[0];if(pL(e))return{args:e,keys:null};if(xL(e)){var n=yL(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function xL(t){return t&&typeof t=="object"&&gL(t)===mL}function vL(t,e){return t.reduce(function(n,r,a){return n[r]=e[a],n},{})}function $x(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=JE(t),r=ZE(t),a=bL(t),i=a.args,o=a.keys;if(i.length===0)return vx([],n);var s=new Be($L(i,n,o?function(l){return vL(o,l)}:Xl));return r?s.pipe(hL(r)):s}function $L(t,e,n){return n===void 0&&(n=Xl),function(r){_x(e,function(){for(var a=t.length,i=new Array(a),o=a,s=a,l=function(c){_x(e,function(){var d=vx(t[c],e),f=!1;d.subscribe(Nr(r,function(h){i[c]=h,f||(f=!0,s--),s||r.next(n(i.slice()))},function(){--o||r.complete()}))},r)},u=0;u<a;u++)l(u)},r)}}function _x(t,e,n){t?ir(n,t,e):e()}function _L(t,e){return e===void 0&&(e=Xl),t=t??AL,Ir(function(n,r){var a,i=!0;n.subscribe(Nr(r,function(o){var s=e(o);(i||!t(a,s))&&(i=!1,a=s,r.next(o))}))})}function AL(t,e){return t===e}function SL(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Ua}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Ir(function(x,v){h++,!g&&!p&&m();var $=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=gh(y,l))}),$.subscribe(v),!c&&h>0&&(c=new _o({next:function(S){return $.next(S)},error:function(S){g=!0,m(),d=gh(b,a,S),$.error(S)},complete:function(){p=!0,m(),d=gh(b,o),$.complete()}}),zr(x).subscribe(c))})(u)}}function gh(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new _o({next:function(){a.unsubscribe(),t()}});return zr(e.apply(void 0,Xa([],Ha(n)))).subscribe(a)}}function DL(t,e,n){var r,a=!1;return r=t,SL({connector:function(){return new XE(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function mh(t,e){return Ir(function(n,r){var a=null,i=0,o=!1,s=function(){return o&&!a&&r.complete()};n.subscribe(Nr(r,function(l){a==null||a.unsubscribe();var u=0,c=i++;zr(t(l,c)).subscribe(a=Nr(r,function(d){return r.next(e?e(l,d,c,u++):d)},function(){a=null,s()}))},function(){o=!0,s()}))})}function Ax(t){return Ir(function(e,n){zr(t).subscribe(Nr(n,function(){return n.complete()},fh)),!n.closed&&e.subscribe(n)})}const CL=t=>t.pipe(Ya(e=>e.styles.textSize),_L(),Ya(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),yh=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=we.scaleDomain,scaleRange:a=we.scaleRange,reverse:i=!1})=>{const o=r[0]??we.scaleDomain[0],s=r[1]??we.scaleDomain[1],l=a[0]??we.scaleRange[0],u=a[1]??we.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),h=d/u;return i?xo().domain([f,h]).range([n,0]):xo().domain([f,h]).range([0,n])},Sx=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=we.scaleDomain,scaleRange:a=we.scaleRange,reverse:i=!1})=>{e===t&&(t+=1,e-=1);const o=r[0]??we.scaleDomain[0],s=r[1]??we.scaleDomain[1],l=a[0]??we.scaleRange[0],u=a[1]??we.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),h=d/u;return i?xo().domain([n,0]).range([f,h]):xo().domain([0,n]).range([f,h])},PL=({axisLabels:t,axisWidth:e,padding:n=.5})=>{let r=[0,e];return vE().domain(t).range(r).padding(n)},Dx=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let a=t.map((l,u)=>u);r&&a.reverse();const i=a.length-1+n*2,o=e/i,s=o*n-o*.5;return Y1().domain([s,e-s]).range(a)},Cx=({computedData$:t,fullDataFormatter$:e,layout$:n})=>$x({computedData:t,fullDataFormatter:e,layout:n}).pipe(mh(async r=>r),Ya(r=>{if(r.fullDataFormatter.separateSeries)return q1(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=q1(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),Px=({fullDataFormatter$:t,layout$:e})=>{const n=new Ua;function r({xAxis:a,yAxis:i,width:o,height:s}){if(!a||!i)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let l=0,u=0,c=0,d=0,f=0;return a.position==="bottom"?i.position==="left"?(d=180,u=s):i.position==="right"?(d=180,f=180,l=o,u=s):(d=180,u=s):a.position==="top"?i.position==="left"||(i.position==="right"?(f=180,l=o):(d=180,u=s)):a.position==="left"?i.position==="bottom"?(c=-90,u=s):i.position==="top"?(c=-90,f=180):(d=180,u=s):a.position==="right"?i.position==="bottom"?(c=-90,d=180,u=s,l=o):i.position==="top"?(c=-90,d=180,f=180,l=o):(d=180,u=s):(d=180,u=s),{translate:[l,u],scale:[1,1],rotate:c,rotateX:d,rotateY:f,value:`translate(${l}px, ${u}px) rotate(${c}deg) rotateX(${d}deg) rotateY(${f}deg)`}}return new Be(a=>($x({fullDataFormatter:t,layout:e}).pipe(Ax(n),mh(async i=>i)).subscribe(i=>{const o=r({xAxis:i.fullDataFormatter.groupAxis,yAxis:i.fullDataFormatter.valueAxis,width:i.layout.width,height:i.layout.height});a.next(o)}),function(){n.next(void 0)}))},Fx=({gridAxesTransform$:t})=>t.pipe(Ya(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],a=e.rotate*-1,i=e.rotateX*-1,o=e.rotateY*-1;return{translate:n,scale:r,rotate:a,rotateX:i,rotateY:o,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${i}deg) rotateY(${o}deg) rotate(${a}deg)`}}));function FL(t){return`[OrbCharts warn]: ${t.message}`}function TL({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
54
+
55
+ ----> find in '${n}'`}function wL({columnName:t,expectToBe:e,from:n}){return`Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
56
+
57
+ ----> find in '${n}'`}function BL({chartType:t,config:e,initFn:n}){const r=new Ua,a=new WeakMap;let i=()=>{},o;const s=new rx(e.defaultParams),l=new rx({}),u=s.pipe(mh(c=>l.pipe(Ax(r),Ya(d=>{try{const{status:f,columnName:h,expectToBe:p}=e.validator(d,{validateColumns:F7});if(f==="error")throw new Error(TL({columnName:h,expectToBe:p,from:`${e.name}.params$`}));f==="warning"&&console.warn(wL({columnName:h,expectToBe:p,from:`${e.name}.params$`}))}catch(f){console.error(FL(f))}return Gd(d,c)}))),DL(1));return{params$:l,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){o&&(i=n(o)??(()=>{}),a.set(o.selection,o))},destroy(){i(),o&&(o.selection.remove(),o=void 0),r.next(void 0)},setPresetParams:c=>{s.next(Gd(c,e.defaultParams))},setContext:c=>{o=c,o.observer.fullParams$=u}}}const qa=t=>function(e){return function(n){return class{constructor(){const r=BL({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},or=qa("series"),Ae=qa("grid"),Me=qa("multiGrid"),Qe=qa("multiValue"),Wl=qa("relationship"),bh=qa("tree");function wt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Tx(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ul(t){let e,n,r;t.length!==2?(e=wt,n=(s,l)=>wt(t(s),l),r=(s,l)=>t(s)-l):(e=t===wt||t===Tx?t:ML,n=t,r=t);function a(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<0?u=d+1:c=d}while(u<c)}return u}function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const d=u+c>>>1;n(s[d],l)<=0?u=d+1:c=d}while(u<c)}return u}function o(s,l,u=0,c=s.length){const d=a(s,l,u,c-1);return d>u&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:a,center:o,right:i}}function ML(){return 0}function Yl(t){return t===null?NaN:+t}function*EL(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}const wx=Ul(wt),Bx=wx.right,LL=wx.left,RL=Ul(Yl).center,Or=Bx;function kL(t,e){if(!((e=+e)>=0))throw new RangeError("invalid r");let n=t.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!e)return t;const r=xh(e),a=t.slice();return r(t,a,0,n,1),r(a,t,0,n,1),r(t,a,0,n,1),t}const Mx=Ex(xh),IL=Ex(NL);function Ex(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:a,width:i,height:o}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((o=Math.floor(o!==void 0?o:a.length/i))>=0))throw new RangeError("invalid height");if(!i||!o||!n&&!r)return e;const s=n&&t(n),l=r&&t(r),u=a.slice();return s&&l?(Za(s,u,a,i,o),Za(s,a,u,i,o),Za(s,u,a,i,o),Ja(l,a,u,i,o),Ja(l,u,a,i,o),Ja(l,a,u,i,o)):s?(Za(s,a,u,i,o),Za(s,u,a,i,o),Za(s,a,u,i,o)):l&&(Ja(l,a,u,i,o),Ja(l,u,a,i,o),Ja(l,a,u,i,o)),e}}function Za(t,e,n,r,a){for(let i=0,o=r*a;i<o;)t(e,n,i,i+=r,1)}function Ja(t,e,n,r,a){for(let i=0,o=r*a;i<r;++i)t(e,n,i,i+o,r)}function NL(t){const e=xh(t);return(n,r,a,i,o)=>{a<<=2,i<<=2,o<<=2,e(n,r,a+0,i+0,o),e(n,r,a+1,i+1,o),e(n,r,a+2,i+2,o),e(n,r,a+3,i+3,o)}}function xh(t){const e=Math.floor(t);if(e===t)return zL(t);const n=t-e,r=2*t+1;return(a,i,o,s,l)=>{if(!((s-=l)>=o))return;let u=e*i[o];const c=l*e,d=c+l;for(let f=o,h=o+c;f<h;f+=l)u+=i[Math.min(s,f)];for(let f=o,h=s;f<=h;f+=l)u+=i[Math.min(s,f+c)],a[f]=(u+n*(i[Math.max(o,f-d)]+i[Math.min(s,f+d)]))/r,u-=i[Math.max(o,f-c)]}}function zL(t){const e=2*t+1;return(n,r,a,i,o)=>{if(!((i-=o)>=a))return;let s=t*r[a];const l=o*t;for(let u=a,c=a+l;u<c;u+=o)s+=r[Math.min(i,u)];for(let u=a,c=i;u<=c;u+=o)s+=r[Math.min(i,u+l)],n[u]=s/e,s-=r[Math.max(a,u-l)]}}function ql(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(a=+a)>=a&&++n}return n}function OL(t){return t.length|0}function GL(t){return!(t>0)}function jL(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function VL(t){return e=>t(...e)}function HL(...t){const e=typeof t[t.length-1]=="function"&&VL(t.pop());t=t.map(jL);const n=t.map(OL),r=t.length-1,a=new Array(r+1).fill(0),i=[];if(r<0||n.some(GL))return i;for(;;){i.push(a.map((s,l)=>t[l][s]));let o=r;for(;++a[o]===n[o];){if(o===0)return e?i.map(e):i;a[o--]=0}}}function XL(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?a=>n+=+a||0:a=>n+=+e(a,r++,t)||0)}function Lx(t,e){let n=0,r,a=0,i=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(r=o-a,a+=r/++n,i+=r*(o-a));else{let o=-1;for(let s of t)(s=e(s,++o,t))!=null&&(s=+s)>=s&&(r=s-a,a+=r/++n,i+=r*(s-a))}if(n>1)return i/(n-1)}function Rx(t,e){const n=Lx(t,e);return n&&Math.sqrt(n)}function Ao(t,e){let n,r;if(e===void 0)for(const a of t)a!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)));else{let a=-1;for(let i of t)(i=e(i,++a,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}let Gt=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let r=0;for(let a=0;a<this._n&&a<32;a++){const i=n[a],o=e+i,s=Math.abs(e)<Math.abs(i)?e-(o-i):i-(o-e);s&&(n[r++]=s),e=o}return n[r]=e,this._n=r+1,this}valueOf(){const e=this._partials;let n=this._n,r,a,i,o=0;if(n>0){for(o=e[--n];n>0&&(r=o,a=e[--n],o=r+a,i=a-(o-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(a=i*2,r=o+a,a==r-o&&(o=r))}return o}};function WL(t,e){const n=new Gt;if(e===void 0)for(let r of t)(r=+r)&&n.add(r);else{let r=-1;for(let a of t)(a=+e(a,++r,t))&&n.add(a)}return+n}function UL(t,e){const n=new Gt;let r=-1;return Float64Array.from(t,e===void 0?a=>n.add(+a||0):a=>n.add(+e(a,++r,t)||0))}class So extends Map{constructor(e,n=Nx){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get(vh(this,e))}has(e){return super.has(vh(this,e))}set(e,n){return super.set(kx(this,e),n)}delete(e){return super.delete(Ix(this,e))}}class Gr extends Set{constructor(e,n=Nx){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const r of e)this.add(r)}has(e){return super.has(vh(this,e))}add(e){return super.add(kx(this,e))}delete(e){return super.delete(Ix(this,e))}}function vh({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function kx({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Ix({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Nx(t){return t!==null&&typeof t=="object"?t.valueOf():t}function Ka(t){return t}function zx(t,...e){return Qa(t,Ka,Ka,e)}function Ox(t,...e){return Qa(t,Array.from,Ka,e)}function Gx(t,e){for(let n=1,r=e.length;n<r;++n)t=t.flatMap(a=>a.pop().map(([i,o])=>[...a,i,o]));return t}function YL(t,...e){return Gx(Ox(t,...e),e)}function qL(t,e,...n){return Gx(Vx(t,e,...n),n)}function jx(t,e,...n){return Qa(t,Ka,e,n)}function Vx(t,e,...n){return Qa(t,Array.from,e,n)}function ZL(t,...e){return Qa(t,Ka,Hx,e)}function JL(t,...e){return Qa(t,Array.from,Hx,e)}function Hx(t){if(t.length!==1)throw new Error("duplicate key");return t[0]}function Qa(t,e,n,r){return function a(i,o){if(o>=r.length)return n(i);const s=new So,l=r[o++];let u=-1;for(const c of i){const d=l(c,++u,i),f=s.get(d);f?f.push(c):s.set(d,[c])}for(const[c,d]of s)s.set(c,a(d,o));return e(s)}(t,0)}function Xx(t,e){return Array.from(e,n=>t[n])}function $h(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const r=Uint32Array.from(t,(a,i)=>i);return e.length>1?(e=e.map(a=>t.map(a)),r.sort((a,i)=>{for(const o of e){const s=ti(o[a],o[i]);if(s)return s}})):(n=t.map(n),r.sort((a,i)=>ti(n[a],n[i]))),Xx(t,r)}return t.sort(_h(n))}function _h(t=wt){if(t===wt)return ti;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function ti(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function KL(t,e,n){return(e.length!==2?$h(jx(t,e,n),([r,a],[i,o])=>wt(a,o)||wt(r,i)):$h(zx(t,n),([r,a],[i,o])=>e(a,o)||wt(r,i))).map(([r])=>r)}var QL=Array.prototype,t9=QL.slice;function Ah(t){return()=>t}const e9=Math.sqrt(50),n9=Math.sqrt(10),r9=Math.sqrt(2);function Zl(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=e9?10:i>=n9?5:i>=r9?2:1;let s,l,u;return a<0?(u=Math.pow(10,-a)/o,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,a)*o,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?Zl(t,e,n*2):[s,l,u]}function jr(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?Zl(e,t,n):Zl(t,e,n);if(!(i>=a))return[];const s=i-a+1,l=new Array(s);if(r)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;else 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;return l}function Vr(t,e,n){return e=+e,t=+t,n=+n,Zl(t,e,n)[2]}function Jl(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?Vr(e,t,n):Vr(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function Sh(t,e,n){let r;for(;;){const a=Vr(t,e,n);if(a===r||a===0||!isFinite(a))return[t,e];a>0?(t=Math.floor(t/a)*a,e=Math.ceil(e/a)*a):a<0&&(t=Math.ceil(t*a)/a,e=Math.floor(e*a)/a),r=a}}function Dh(t){return Math.max(1,Math.ceil(Math.log(ql(t))/Math.LN2)+1)}function Wx(){var t=Ka,e=Ao,n=Dh;function r(a){Array.isArray(a)||(a=Array.from(a));var i,o=a.length,s,l,u=new Array(o);for(i=0;i<o;++i)u[i]=t(a[i],i,a);var c=e(u),d=c[0],f=c[1],h=n(u,d,f);if(!Array.isArray(h)){const x=f,v=+h;if(e===Ao&&([d,f]=Sh(d,f,v)),h=jr(d,f,v),h[0]<=d&&(l=Vr(d,f,v)),h[h.length-1]>=f)if(x>=f&&e===Ao){const $=Vr(d,f,v);isFinite($)&&($>0?f=(Math.floor(f/$)+1)*$:$<0&&(f=(Math.ceil(f*-$)+1)/-$))}else h.pop()}for(var p=h.length,g=0,m=p;h[g]<=d;)++g;for(;h[m-1]>f;)--m;(g||m<p)&&(h=h.slice(g,m),p=m-g);var b=new Array(p+1),y;for(i=0;i<=p;++i)y=b[i]=[],y.x0=i>0?h[i-1]:d,y.x1=i<p?h[i]:f;if(isFinite(l)){if(l>0)for(i=0;i<o;++i)(s=u[i])!=null&&d<=s&&s<=f&&b[Math.min(p,Math.floor((s-d)/l))].push(a[i]);else if(l<0){for(i=0;i<o;++i)if((s=u[i])!=null&&d<=s&&s<=f){const x=Math.floor((d-s)*l);b[Math.min(p,x+(h[x]<=s))].push(a[i])}}}else for(i=0;i<o;++i)(s=u[i])!=null&&d<=s&&s<=f&&b[Or(h,s,0,p)].push(a[i]);return b}return r.value=function(a){return arguments.length?(t=typeof a=="function"?a:Ah(a),r):t},r.domain=function(a){return arguments.length?(e=typeof a=="function"?a:Ah([a[0],a[1]]),r):e},r.thresholds=function(a){return arguments.length?(n=typeof a=="function"?a:Ah(Array.isArray(a)?t9.call(a):a),r):n},r}function Do(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n<a||n===void 0&&a>=a)&&(n=a)}return n}function Ch(t,e){let n,r=-1,a=-1;if(e===void 0)for(const i of t)++a,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=a);else for(let i of t)(i=e(i,++a,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=a);return r}function Kl(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n>a||n===void 0&&a>=a)&&(n=a)}return n}function Ph(t,e){let n,r=-1,a=-1;if(e===void 0)for(const i of t)++a,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=a);else for(let i of t)(i=e(i,++a,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=a);return r}function Ql(t,e,n=0,r=1/0,a){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(a=a===void 0?ti:_h(a);r>n;){if(r-n>600){const l=r-n+1,u=e-n+1,c=Math.log(l),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(l-d)/l)*(u-l/2<0?-1:1),h=Math.max(n,Math.floor(e-u*d/l+f)),p=Math.min(r,Math.floor(e+(l-u)*d/l+f));Ql(t,e,h,p,a)}const i=t[e];let o=n,s=r;for(Co(t,n,e),a(t[r],i)>0&&Co(t,n,r);o<s;){for(Co(t,o,s),++o,--s;a(t[o],i)<0;)++o;for(;a(t[s],i)>0;)--s}a(t[n],i)===0?Co(t,n,s):(++s,Co(t,s,r)),s<=e&&(n=s+1),e<=s&&(r=s-1)}return t}function Co(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Ux(t,e=wt){let n,r=!1;if(e.length===1){let a;for(const i of t){const o=e(i);(r?wt(o,a)>0:wt(o,o)===0)&&(n=i,a=o,r=!0)}}else for(const a of t)(r?e(a,n)>0:e(a,a)===0)&&(n=a,r=!0);return n}function Po(t,e,n){if(t=Float64Array.from(EL(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return Kl(t);if(e>=1)return Do(t);var r,a=(r-1)*e,i=Math.floor(a),o=Do(Ql(t,i).subarray(0,i+1)),s=Kl(t.subarray(i+1));return o+(s-o)*(a-i)}}function Yx(t,e,n=Yl){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,a=(r-1)*e,i=Math.floor(a),o=+n(t[i],i,t),s=+n(t[i+1],i+1,t);return o+(s-o)*(a-i)}}function qx(t,e,n=Yl){if(!isNaN(e=+e)){if(r=Float64Array.from(t,(s,l)=>Yl(n(t[l],l,t))),e<=0)return Ph(r);if(e>=1)return Ch(r);var r,a=Uint32Array.from(t,(s,l)=>l),i=r.length-1,o=Math.floor(i*e);return Ql(a,o,0,i,(s,l)=>ti(r[s],r[l])),o=Ux(a.subarray(0,o+1),s=>r[s]),o>=0?o:-1}}function a9(t,e,n){const r=ql(t),a=Po(t,.75)-Po(t,.25);return r&&a?Math.ceil((n-e)/(2*a*Math.pow(r,-1/3))):1}function i9(t,e,n){const r=ql(t),a=Rx(t);return r&&a?Math.ceil((n-e)*Math.cbrt(r)/(3.49*a)):1}function o9(t,e){let n=0,r=0;if(e===void 0)for(let a of t)a!=null&&(a=+a)>=a&&(++n,r+=a);else{let a=-1;for(let i of t)(i=e(i,++a,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function s9(t,e){return Po(t,.5,e)}function l9(t,e){return qx(t,.5,e)}function*u9(t){for(const e of t)yield*e}function Fh(t){return Array.from(u9(t))}function c9(t,e){const n=new So;if(e===void 0)for(let i of t)i!=null&&i>=i&&n.set(i,(n.get(i)||0)+1);else{let i=-1;for(let o of t)(o=e(o,++i,t))!=null&&o>=o&&n.set(o,(n.get(o)||0)+1)}let r,a=0;for(const[i,o]of n)o>a&&(a=o,r=i);return r}function f9(t,e=d9){const n=[];let r,a=!1;for(const i of t)a&&n.push(e(r,i)),r=i,a=!0;return n}function d9(t,e){return[t,e]}function sr(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}function h9(t,e=wt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t);const r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=wt);const a=(s,l)=>e(n[s],n[l]);let i,o;return t=Uint32Array.from(n,(s,l)=>l),t.sort(e===wt?(s,l)=>ti(n[s],n[l]):_h(a)),t.forEach((s,l)=>{const u=a(s,i===void 0?s:i);u>=0?((i===void 0||u>0)&&(i=s,o=l),r[s]=o):r[s]=NaN}),r}function p9(t,e=wt){let n,r=!1;if(e.length===1){let a;for(const i of t){const o=e(i);(r?wt(o,a)<0:wt(o,o)===0)&&(n=i,a=o,r=!0)}}else for(const a of t)(r?e(a,n)<0:e(a,a)===0)&&(n=a,r=!0);return n}function Zx(t,e=wt){if(e.length===1)return Ph(t,e);let n,r=-1,a=-1;for(const i of t)++a,(r<0?e(i,i)===0:e(i,n)<0)&&(n=i,r=a);return r}function g9(t,e=wt){if(e.length===1)return Ch(t,e);let n,r=-1,a=-1;for(const i of t)++a,(r<0?e(i,i)===0:e(i,n)>0)&&(n=i,r=a);return r}function m9(t,e){const n=Zx(t,e);return n<0?void 0:n}const y9=Jx(Math.random);function Jx(t){return function(e,n=0,r=e.length){let a=r-(n=+n);for(;a;){const i=t()*a--|0,o=e[a+n];e[a+n]=e[i+n],e[i+n]=o}return e}}function Th(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let a of t)(a=+e(a,++r,t))&&(n+=a)}return n}function Kx(t){if(!(i=t.length))return[];for(var e=-1,n=Kl(t,b9),r=new Array(n);++e<n;)for(var a=-1,i,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r}function b9(t){return t.length}function x9(){return Kx(arguments)}function v9(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(!e(r,++n,t))return!1;return!0}function $9(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(e(r,++n,t))return!0;return!1}function _9(t,e){if(typeof e!="function")throw new TypeError("test is not a function");const n=[];let r=-1;for(const a of t)e(a,++r,t)&&n.push(a);return n}function A9(t,e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof e!="function")throw new TypeError("mapper is not a function");return Array.from(t,(n,r)=>e(n,r,t))}function S9(t,e,n){if(typeof e!="function")throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let a,i,o=-1;if(arguments.length<3){if({done:a,value:n}=r.next(),a)return;++o}for(;{done:a,value:i}=r.next(),!a;)n=e(n,i,++o,t);return n}function D9(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function C9(t,...e){t=new Gr(t);for(const n of e)for(const r of n)t.delete(r);return t}function P9(t,e){const n=e[Symbol.iterator](),r=new Gr;for(const a of t){if(r.has(a))return!1;let i,o;for(;({value:i,done:o}=n.next())&&!o;){if(Object.is(a,i))return!1;r.add(i)}}return!0}function F9(t,...e){t=new Gr(t),e=e.map(T9);t:for(const n of t)for(const r of e)if(!r.has(n)){t.delete(n);continue t}return t}function T9(t){return t instanceof Gr?t:new Gr(t)}function Qx(t,e){const n=t[Symbol.iterator](),r=new Set;for(const a of e){const i=tv(a);if(r.has(i))continue;let o,s;for(;{value:o,done:s}=n.next();){if(s)return!1;const l=tv(o);if(r.add(l),Object.is(i,l))break}}return!0}function tv(t){return t!==null&&typeof t=="object"?t.valueOf():t}function w9(t,e){return Qx(e,t)}function B9(...t){const e=new Gr;for(const n of t)for(const r of n)e.add(r);return e}function M9(t){return t}var tu=1,eu=2,wh=3,Fo=4,ev=1e-6;function E9(t){return"translate("+t+",0)"}function L9(t){return"translate(0,"+t+")"}function R9(t){return e=>+t(e)}function k9(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function I9(){return!this.__axis}function nu(t,e){var n=[],r=null,a=null,i=6,o=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===tu||t===Fo?-1:1,c=t===Fo||t===eu?"x":"y",d=t===tu||t===wh?E9:L9;function f(h){var p=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=a??(e.tickFormat?e.tickFormat.apply(e,n):M9),m=Math.max(i,0)+s,b=e.range(),y=+b[0]+l,x=+b[b.length-1]+l,v=(e.bandwidth?k9:R9)(e.copy(),l),$=h.selection?h.selection():h,S=$.selectAll(".domain").data([null]),C=$.selectAll(".tick").data(p,e).order(),D=C.exit(),_=C.enter().append("g").attr("class","tick"),P=C.select("line"),A=C.select("text");S=S.merge(S.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(_),P=P.merge(_.append("line").attr("stroke","currentColor").attr(c+"2",u*i)),A=A.merge(_.append("text").attr("fill","currentColor").attr(c,u*m).attr("dy",t===tu?"0em":t===wh?"0.71em":"0.32em")),h!==$&&(S=S.transition(h),C=C.transition(h),P=P.transition(h),A=A.transition(h),D=D.transition(h).attr("opacity",ev).attr("transform",function(I){return isFinite(I=v(I))?d(I+l):this.getAttribute("transform")}),_.attr("opacity",ev).attr("transform",function(I){var k=this.parentNode.__axis;return d((k&&isFinite(k=k(I))?k:v(I))+l)})),D.remove(),S.attr("d",t===Fo||t===eu?o?"M"+u*o+","+y+"H"+l+"V"+x+"H"+u*o:"M"+l+","+y+"V"+x:o?"M"+y+","+u*o+"V"+l+"H"+x+"V"+u*o:"M"+y+","+l+"H"+x),C.attr("opacity",1).attr("transform",function(I){return d(v(I)+l)}),P.attr(c+"2",u*i),A.attr(c,u*m).text(g),$.filter(I9).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===eu?"start":t===Fo?"end":"middle"),$.each(function(){this.__axis=v})}return f.scale=function(h){return arguments.length?(e=h,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),f):n.slice()},f.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),f):r&&r.slice()},f.tickFormat=function(h){return arguments.length?(a=h,f):a},f.tickSize=function(h){return arguments.length?(i=o=+h,f):i},f.tickSizeInner=function(h){return arguments.length?(i=+h,f):i},f.tickSizeOuter=function(h){return arguments.length?(o=+h,f):o},f.tickPadding=function(h){return arguments.length?(s=+h,f):s},f.offset=function(h){return arguments.length?(l=+h,f):l},f}function Bh(t){return nu(tu,t)}function N9(t){return nu(eu,t)}function nv(t){return nu(wh,t)}function Mh(t){return nu(Fo,t)}var z9={value:()=>{}};function Hr(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new ru(n)}function ru(t){this._=t}function O9(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ru.prototype=Hr.prototype={constructor:ru,on:function(t,e){var n=this._,r=O9(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=G9(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=rv(n[a],t.name,e);else if(e==null)for(a in n)n[a]=rv(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ru(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function G9(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function rv(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=z9,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Eh="http://www.w3.org/1999/xhtml";const Lh={svg:"http://www.w3.org/2000/svg",xhtml:Eh,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function To(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Lh.hasOwnProperty(e)?{space:Lh[e],local:t}:t}function j9(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Eh&&e.documentElement.namespaceURI===Eh?e.createElement(t):e.createElementNS(n,t)}}function V9(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function au(t){var e=To(t);return(e.local?V9:j9)(e)}function H9(){}function iu(t){return t==null?H9:function(){return this.querySelector(t)}}function X9(t){typeof t!="function"&&(t=iu(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=new Array(o),l,u,c=0;c<o;++c)(l=i[c])&&(u=t.call(l,l.__data__,c,i))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new ie(r,this._parents)}function av(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function W9(){return[]}function Rh(t){return t==null?W9:function(){return this.querySelectorAll(t)}}function U9(t){return function(){return av(t.apply(this,arguments))}}function Y9(t){typeof t=="function"?t=U9(t):t=Rh(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&(r.push(t.call(l,l.__data__,u,o)),a.push(l));return new ie(r,a)}function kh(t){return function(){return this.matches(t)}}function iv(t){return function(e){return e.matches(t)}}var q9=Array.prototype.find;function Z9(t){return function(){return q9.call(this.children,t)}}function J9(){return this.firstElementChild}function K9(t){return this.select(t==null?J9:Z9(typeof t=="function"?t:iv(t)))}var Q9=Array.prototype.filter;function tR(){return Array.from(this.children)}function eR(t){return function(){return Q9.call(this.children,t)}}function nR(t){return this.selectAll(t==null?tR:eR(typeof t=="function"?t:iv(t)))}function rR(t){typeof t!="function"&&(t=kh(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new ie(r,this._parents)}function ov(t){return new Array(t.length)}function aR(){return new ie(this._enter||this._groups.map(ov),this._parents)}function ou(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ou.prototype={constructor:ou,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function iR(t){return function(){return t}}function oR(t,e,n,r,a,i){for(var o=0,s,l=e.length,u=i.length;o<u;++o)(s=e[o])?(s.__data__=i[o],r[o]=s):n[o]=new ou(t,i[o]);for(;o<l;++o)(s=e[o])&&(a[o]=s)}function sR(t,e,n,r,a,i,o){var s,l,u=new Map,c=e.length,d=i.length,f=new Array(c),h;for(s=0;s<c;++s)(l=e[s])&&(f[s]=h=o.call(l,l.__data__,s,e)+"",u.has(h)?a[s]=l:u.set(h,l));for(s=0;s<d;++s)h=o.call(t,i[s],s,i)+"",(l=u.get(h))?(r[s]=l,l.__data__=i[s],u.delete(h)):n[s]=new ou(t,i[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(f[s])===l&&(a[s]=l)}function lR(t){return t.__data__}function uR(t,e){if(!arguments.length)return Array.from(this,lR);var n=e?sR:oR,r=this._parents,a=this._groups;typeof t!="function"&&(t=iR(t));for(var i=a.length,o=new Array(i),s=new Array(i),l=new Array(i),u=0;u<i;++u){var c=r[u],d=a[u],f=d.length,h=cR(t.call(c,c&&c.__data__,u,r)),p=h.length,g=s[u]=new Array(p),m=o[u]=new Array(p),b=l[u]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,$;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!($=m[x])&&++x<p;);v._next=$||null}}return o=new ie(o,r),o._enter=s,o._exit=l,o}function cR(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function fR(){return new ie(this._exit||this._groups.map(ov),this._parents)}function dR(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function hR(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),s=new Array(a),l=0;l<o;++l)for(var u=n[l],c=r[l],d=u.length,f=s[l]=new Array(d),h,p=0;p<d;++p)(h=u[p]||c[p])&&(f[p]=h);for(;l<a;++l)s[l]=n[l];return new ie(s,this._parents)}function pR(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function gR(t){t||(t=mR);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],s=o.length,l=a[i]=new Array(s),u,c=0;c<s;++c)(u=o[c])&&(l[c]=u);l.sort(e)}return new ie(a,this._parents).order()}function mR(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function yR(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function bR(){return Array.from(this)}function xR(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function vR(){let t=0;for(const e of this)++t;return t}function $R(){return!this.node()}function _R(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,s;i<o;++i)(s=a[i])&&t.call(s,s.__data__,i,a);return this}function AR(t){return function(){this.removeAttribute(t)}}function SR(t){return function(){this.removeAttributeNS(t.space,t.local)}}function DR(t,e){return function(){this.setAttribute(t,e)}}function CR(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function PR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function FR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function TR(t,e){var n=To(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?SR:AR:typeof e=="function"?n.local?FR:PR:n.local?CR:DR)(n,e))}function Ih(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function wR(t){return function(){this.style.removeProperty(t)}}function BR(t,e,n){return function(){this.style.setProperty(t,e,n)}}function MR(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function ER(t,e,n){return arguments.length>1?this.each((e==null?wR:typeof e=="function"?MR:BR)(t,e,n??"")):Xr(this.node(),t)}function Xr(t,e){return t.style.getPropertyValue(e)||Ih(t).getComputedStyle(t,null).getPropertyValue(e)}function LR(t){return function(){delete this[t]}}function RR(t,e){return function(){this[t]=e}}function kR(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function IR(t,e){return arguments.length>1?this.each((e==null?LR:typeof e=="function"?kR:RR)(t,e)):this.node()[t]}function sv(t){return t.trim().split(/^|\s+/)}function Nh(t){return t.classList||new lv(t)}function lv(t){this._node=t,this._names=sv(t.getAttribute("class")||"")}lv.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function uv(t,e){for(var n=Nh(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function cv(t,e){for(var n=Nh(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function NR(t){return function(){uv(this,t)}}function zR(t){return function(){cv(this,t)}}function OR(t,e){return function(){(e.apply(this,arguments)?uv:cv)(this,t)}}function GR(t,e){var n=sv(t+"");if(arguments.length<2){for(var r=Nh(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?OR:e?NR:zR)(n,e))}function jR(){this.textContent=""}function VR(t){return function(){this.textContent=t}}function HR(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function XR(t){return arguments.length?this.each(t==null?jR:(typeof t=="function"?HR:VR)(t)):this.node().textContent}function WR(){this.innerHTML=""}function UR(t){return function(){this.innerHTML=t}}function YR(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function qR(t){return arguments.length?this.each(t==null?WR:(typeof t=="function"?YR:UR)(t)):this.node().innerHTML}function ZR(){this.nextSibling&&this.parentNode.appendChild(this)}function JR(){return this.each(ZR)}function KR(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function QR(){return this.each(KR)}function tk(t){var e=typeof t=="function"?t:au(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function ek(){return null}function nk(t,e){var n=typeof t=="function"?t:au(t),r=e==null?ek:typeof e=="function"?e:iu(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function rk(){var t=this.parentNode;t&&t.removeChild(this)}function ak(){return this.each(rk)}function ik(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ok(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function sk(t){return this.select(t?ok:ik)}function lk(t){return arguments.length?this.property("__data__",t):this.node().__data__}function uk(t){return function(e){t.call(this,e,this.__data__)}}function ck(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function fk(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function dk(t,e,n){return function(){var r=this.__on,a,i=uk(e);if(r){for(var o=0,s=r.length;o<s;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function hk(t,e,n){var r=ck(t+""),a,i=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(a=0,c=s[l];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(s=e?dk:fk,a=0;a<i;++a)this.each(s(r[a],e,n));return this}function fv(t,e,n){var r=Ih(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function pk(t,e){return function(){return fv(this,t,e)}}function gk(t,e){return function(){return fv(this,t,e.apply(this,arguments))}}function mk(t,e){return this.each((typeof e=="function"?gk:pk)(t,e))}function*yk(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var zh=[null];function ie(t,e){this._groups=t,this._parents=e}function Wr(){return new ie([[document.documentElement]],zh)}function bk(){return this}ie.prototype=Wr.prototype={constructor:ie,select:X9,selectAll:Y9,selectChild:K9,selectChildren:nR,filter:rR,data:uR,enter:aR,exit:fR,join:dR,merge:hR,selection:bk,order:pR,sort:gR,call:yR,nodes:bR,node:xR,size:vR,empty:$R,each:_R,attr:TR,style:ER,property:IR,classed:GR,text:XR,html:qR,raise:JR,lower:QR,append:tk,insert:nk,remove:ak,clone:sk,datum:lk,on:hk,dispatch:mk,[Symbol.iterator]:yk};function H(t){return typeof t=="string"?new ie([[document.querySelector(t)]],[document.documentElement]):new ie([[t]],zh)}function xk(t){return H(au(t).call(document.documentElement))}var vk=0;function dv(){return new Oh}function Oh(){this._="@"+(++vk).toString(36)}Oh.prototype=dv.prototype={constructor:Oh,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function hv(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Ee(t,e){if(t=hv(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]}}return[t.pageX,t.pageY]}function $k(t,e){return t.target&&(t=hv(t),e===void 0&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,n=>Ee(n,e))}function _k(t){return typeof t=="string"?new ie([document.querySelectorAll(t)],[document.documentElement]):new ie([av(t)],zh)}const Ak={passive:!1},wo={capture:!0,passive:!1};function Gh(t){t.stopImmediatePropagation()}function ei(t){t.preventDefault(),t.stopImmediatePropagation()}function su(t){var e=t.document.documentElement,n=H(t).on("dragstart.drag",ei,wo);"onselectstart"in e?n.on("selectstart.drag",ei,wo):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function lu(t,e){var n=t.document.documentElement,r=H(t).on("dragstart.drag",null);e&&(r.on("click.drag",ei,wo),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const uu=t=>()=>t;function jh(t,{sourceEvent:e,subject:n,target:r,identifier:a,active:i,x:o,y:s,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}jh.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Sk(t){return!t.ctrlKey&&!t.button}function Dk(){return this.parentNode}function Ck(t,e){return e??{x:t.x,y:t.y}}function Pk(){return navigator.maxTouchPoints||"ontouchstart"in this}function cu(){var t=Sk,e=Dk,n=Ck,r=Pk,a={},i=Hr("start","drag","end"),o=0,s,l,u,c,d=0;function f(v){v.on("mousedown.drag",h).filter(r).on("touchstart.drag",m).on("touchmove.drag",b,Ak).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(v,$){if(!(c||!t.call(this,v,$))){var S=x(this,e.call(this,v,$),v,$,"mouse");S&&(H(v.view).on("mousemove.drag",p,wo).on("mouseup.drag",g,wo),su(v.view),Gh(v),u=!1,s=v.clientX,l=v.clientY,S("start",v))}}function p(v){if(ei(v),!u){var $=v.clientX-s,S=v.clientY-l;u=$*$+S*S>d}a.mouse("drag",v)}function g(v){H(v.view).on("mousemove.drag mouseup.drag",null),lu(v.view,u),ei(v),a.mouse("end",v)}function m(v,$){if(t.call(this,v,$)){var S=v.changedTouches,C=e.call(this,v,$),D=S.length,_,P;for(_=0;_<D;++_)(P=x(this,C,v,$,S[_].identifier,S[_]))&&(Gh(v),P("start",v,S[_]))}}function b(v){var $=v.changedTouches,S=$.length,C,D;for(C=0;C<S;++C)(D=a[$[C].identifier])&&(ei(v),D("drag",v,$[C]))}function y(v){var $=v.changedTouches,S=$.length,C,D;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),C=0;C<S;++C)(D=a[$[C].identifier])&&(Gh(v),D("end",v,$[C]))}function x(v,$,S,C,D,_){var P=i.copy(),A=Ee(_||S,$),I,k,w;if((w=n.call(v,new jh("beforestart",{sourceEvent:S,target:f,identifier:D,active:o,x:A[0],y:A[1],dx:0,dy:0,dispatch:P}),C))!=null)return I=w.x-A[0]||0,k=w.y-A[1]||0,function F(T,B,N){var E=A,z;switch(T){case"start":a[D]=F,z=o++;break;case"end":delete a[D],--o;case"drag":A=Ee(N||B,$),z=o;break}P.call(T,v,new jh(T,{sourceEvent:B,subject:w,target:f,identifier:D,active:z,x:A[0]+I,y:A[1]+k,dx:A[0]-E[0],dy:A[1]-E[1],dispatch:P}),C)}}return f.filter=function(v){return arguments.length?(t=typeof v=="function"?v:uu(!!v),f):t},f.container=function(v){return arguments.length?(e=typeof v=="function"?v:uu(v),f):e},f.subject=function(v){return arguments.length?(n=typeof v=="function"?v:uu(v),f):n},f.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:uu(!!v),f):r},f.on=function(){var v=i.on.apply(i,arguments);return v===i?f:v},f.clickDistance=function(v){return arguments.length?(d=(v=+v)*v,f):Math.sqrt(d)},f}function ni(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Bo(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function lr(){}var Ur=.7,ri=1/Ur,ai="\\s*([+-]?\\d+)\\s*",Mo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",yn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Fk=/^#([0-9a-f]{3,8})$/,Tk=new RegExp(`^rgb\\(${ai},${ai},${ai}\\)$`),wk=new RegExp(`^rgb\\(${yn},${yn},${yn}\\)$`),Bk=new RegExp(`^rgba\\(${ai},${ai},${ai},${Mo}\\)$`),Mk=new RegExp(`^rgba\\(${yn},${yn},${yn},${Mo}\\)$`),Ek=new RegExp(`^hsl\\(${Mo},${yn},${yn}\\)$`),Lk=new RegExp(`^hsla\\(${Mo},${yn},${yn},${Mo}\\)$`),pv={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};ni(lr,ur,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:gv,formatHex:gv,formatHex8:Rk,formatHsl:kk,formatRgb:mv,toString:mv});function gv(){return this.rgb().formatHex()}function Rk(){return this.rgb().formatHex8()}function kk(){return $v(this).formatHsl()}function mv(){return this.rgb().formatRgb()}function ur(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Fk.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?yv(e):n===3?new Ht(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?fu(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?fu(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Tk.exec(t))?new Ht(e[1],e[2],e[3],1):(e=wk.exec(t))?new Ht(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Bk.exec(t))?fu(e[1],e[2],e[3],e[4]):(e=Mk.exec(t))?fu(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Ek.exec(t))?vv(e[1],e[2]/100,e[3]/100,1):(e=Lk.exec(t))?vv(e[1],e[2]/100,e[3]/100,e[4]):pv.hasOwnProperty(t)?yv(pv[t]):t==="transparent"?new Ht(NaN,NaN,NaN,0):null}function yv(t){return new Ht(t>>16&255,t>>8&255,t&255,1)}function fu(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ht(t,e,n,r)}function Vh(t){return t instanceof lr||(t=ur(t)),t?(t=t.rgb(),new Ht(t.r,t.g,t.b,t.opacity)):new Ht}function ii(t,e,n,r){return arguments.length===1?Vh(t):new Ht(t,e,n,r??1)}function Ht(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ni(Ht,ii,Bo(lr,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ht(Yr(this.r),Yr(this.g),Yr(this.b),du(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:bv,formatHex:bv,formatHex8:Ik,formatRgb:xv,toString:xv}));function bv(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}`}function Ik(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}${qr((isNaN(this.opacity)?1:this.opacity)*255)}`}function xv(){const t=du(this.opacity);return`${t===1?"rgb(":"rgba("}${Yr(this.r)}, ${Yr(this.g)}, ${Yr(this.b)}${t===1?")":`, ${t})`}`}function du(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Yr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qr(t){return t=Yr(t),(t<16?"0":"")+t.toString(16)}function vv(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new tn(t,e,n,r)}function $v(t){if(t instanceof tn)return new tn(t.h,t.s,t.l,t.opacity);if(t instanceof lr||(t=ur(t)),!t)return new tn;if(t instanceof tn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,s=i-a,l=(i+a)/2;return s?(e===i?o=(n-r)/s+(n<r)*6:n===i?o=(r-e)/s+2:o=(e-n)/s+4,s/=l<.5?i+a:2-i-a,o*=60):s=l>0&&l<1?0:o,new tn(o,s,l,t.opacity)}function hu(t,e,n,r){return arguments.length===1?$v(t):new tn(t,e,n,r??1)}function tn(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ni(tn,hu,Bo(lr,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new tn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new tn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,a=2*n-r;return new Ht(Hh(t>=240?t-240:t+120,a,r),Hh(t,a,r),Hh(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new tn(_v(this.h),pu(this.s),pu(this.l),du(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=du(this.opacity);return`${t===1?"hsl(":"hsla("}${_v(this.h)}, ${pu(this.s)*100}%, ${pu(this.l)*100}%${t===1?")":`, ${t})`}`}}));function _v(t){return t=(t||0)%360,t<0?t+360:t}function pu(t){return Math.max(0,Math.min(1,t||0))}function Hh(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Av=Math.PI/180,Sv=180/Math.PI,gu=18,Dv=.96422,Cv=1,Pv=.82521,Fv=4/29,oi=6/29,Tv=3*oi*oi,Nk=oi*oi*oi;function wv(t){if(t instanceof en)return new en(t.l,t.a,t.b,t.opacity);if(t instanceof bn)return Mv(t);t instanceof Ht||(t=Vh(t));var e=Yh(t.r),n=Yh(t.g),r=Yh(t.b),a=Xh((.2225045*e+.7168786*n+.0606169*r)/Cv),i,o;return e===n&&n===r?i=o=a:(i=Xh((.4360747*e+.3850649*n+.1430804*r)/Dv),o=Xh((.0139322*e+.0971045*n+.7141733*r)/Pv)),new en(116*a-16,500*(i-a),200*(a-o),t.opacity)}function zk(t,e){return new en(t,0,0,e??1)}function Eo(t,e,n,r){return arguments.length===1?wv(t):new en(t,e,n,r??1)}function en(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ni(en,Eo,Bo(lr,{brighter(t){return new en(this.l+gu*(t??1),this.a,this.b,this.opacity)},darker(t){return new en(this.l-gu*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=Dv*Wh(e),t=Cv*Wh(t),n=Pv*Wh(n),new Ht(Uh(3.1338561*e-1.6168667*t-.4906146*n),Uh(-.9787684*e+1.9161415*t+.033454*n),Uh(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function Xh(t){return t>Nk?Math.pow(t,1/3):t/Tv+Fv}function Wh(t){return t>oi?t*t*t:Tv*(t-Fv)}function Uh(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Yh(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Bv(t){if(t instanceof bn)return new bn(t.h,t.c,t.l,t.opacity);if(t instanceof en||(t=wv(t)),t.a===0&&t.b===0)return new bn(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Sv;return new bn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ok(t,e,n,r){return arguments.length===1?Bv(t):new bn(n,e,t,r??1)}function mu(t,e,n,r){return arguments.length===1?Bv(t):new bn(t,e,n,r??1)}function bn(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function Mv(t){if(isNaN(t.h))return new en(t.l,0,0,t.opacity);var e=t.h*Av;return new en(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ni(bn,mu,Bo(lr,{brighter(t){return new bn(this.h,this.c,this.l+gu*(t??1),this.opacity)},darker(t){return new bn(this.h,this.c,this.l-gu*(t??1),this.opacity)},rgb(){return Mv(this).rgb()}}));var Ev=-.14861,qh=1.78277,Zh=-.29227,yu=-.90649,Lo=1.97294,Lv=Lo*yu,Rv=Lo*qh,kv=qh*Zh-yu*Ev;function Gk(t){if(t instanceof Zr)return new Zr(t.h,t.s,t.l,t.opacity);t instanceof Ht||(t=Vh(t));var e=t.r/255,n=t.g/255,r=t.b/255,a=(kv*r+Lv*e-Rv*n)/(kv+Lv-Rv),i=r-a,o=(Lo*(n-a)-Zh*i)/yu,s=Math.sqrt(o*o+i*i)/(Lo*a*(1-a)),l=s?Math.atan2(o,i)*Sv-120:NaN;return new Zr(l<0?l+360:l,s,a,t.opacity)}function nn(t,e,n,r){return arguments.length===1?Gk(t):new Zr(t,e,n,r??1)}function Zr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ni(Zr,nn,Bo(lr,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Zr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new Zr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Av,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),a=Math.sin(t);return new Ht(255*(e+n*(Ev*r+qh*a)),255*(e+n*(Zh*r+yu*a)),255*(e+n*(Lo*r)),this.opacity)}}));function Iv(t,e,n,r,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*n+(1+3*t+3*i-3*o)*r+o*a)/6}function Nv(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[r],i=t[r+1],o=r>0?t[r-1]:2*a-i,s=r<e-1?t[r+2]:2*i-a;return Iv((n-r/e)*e,o,a,i,s)}}function zv(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),a=t[(r+e-1)%e],i=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return Iv((n-r/e)*e,a,i,o,s)}}const bu=t=>()=>t;function Ov(t,e){return function(n){return t+n*e}}function jk(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function xu(t,e){var n=e-t;return n?Ov(t,n>180||n<-180?n-360*Math.round(n/360):n):bu(isNaN(t)?e:t)}function Vk(t){return(t=+t)==1?Xt:function(e,n){return n-e?jk(e,n,t):bu(isNaN(e)?n:e)}}function Xt(t,e){var n=e-t;return n?Ov(t,n):bu(isNaN(t)?e:t)}const Ro=function t(e){var n=Vk(e);function r(a,i){var o=n((a=ii(a)).r,(i=ii(i)).r),s=n(a.g,i.g),l=n(a.b,i.b),u=Xt(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=s(c),a.b=l(c),a.opacity=u(c),a+""}}return r.gamma=t,r}(1);function Gv(t){return function(e){var n=e.length,r=new Array(n),a=new Array(n),i=new Array(n),o,s;for(o=0;o<n;++o)s=ii(e[o]),r[o]=s.r||0,a[o]=s.g||0,i[o]=s.b||0;return r=t(r),a=t(a),i=t(i),s.opacity=1,function(l){return s.r=r(l),s.g=a(l),s.b=i(l),s+""}}}var jv=Gv(Nv),Hk=Gv(zv);function Jh(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function Vv(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Xk(t,e){return(Vv(e)?Jh:Hv)(t,e)}function Hv(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=En(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(s){for(o=0;o<r;++o)i[o]=a[o](s);return i}}function Xv(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Le(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Wv(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=En(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var Kh=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qh=new RegExp(Kh.source,"g");function Wk(t){return function(){return t}}function Uk(t){return function(e){return t(e)+""}}function tp(t,e){var n=Kh.lastIndex=Qh.lastIndex=0,r,a,i,o=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Kh.exec(t))&&(a=Qh.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,l.push({i:o,x:Le(r,a)})),n=Qh.lastIndex;return n<e.length&&(i=e.slice(n),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?Uk(l[0].x):Wk(e):(e=l.length,function(u){for(var c=0,d;c<e;++c)s[(d=l[c]).i]=d.x(u);return s.join("")})}function En(t,e){var n=typeof e,r;return e==null||n==="boolean"?bu(e):(n==="number"?Le:n==="string"?(r=ur(e))?(e=r,Ro):tp:e instanceof ur?Ro:e instanceof Date?Xv:Vv(e)?Jh:Array.isArray(e)?Hv:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Wv:Le)(t,e)}function Yk(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function qk(t,e){var n=xu(+t,+e);return function(r){var a=n(r);return a-360*Math.floor(a/360)}}function ko(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Uv=180/Math.PI,Yv={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function qv(t,e,n,r,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*Uv,skewX:Math.atan(l)*Uv,scaleX:o,scaleY:s}}var vu;function Zk(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Yv:qv(e.a,e.b,e.c,e.d,e.e,e.f)}function Jk(t){return t==null||(vu||(vu=document.createElementNS("http://www.w3.org/2000/svg","g")),vu.setAttribute("transform",t),!(t=vu.transform.baseVal.consolidate()))?Yv:(t=t.matrix,qv(t.a,t.b,t.c,t.d,t.e,t.f))}function Zv(t,e,n,r){function a(u){return u.length?u.pop()+" ":""}function i(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:Le(u,d)},{i:g-2,x:Le(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(u,c,d,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:Le(u,c)})):c&&d.push(a(d)+"rotate("+c+r)}function s(u,c,d,f){u!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:Le(u,c)}):c&&d.push(a(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:Le(u,d)},{i:g-2,x:Le(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,d,f),o(u.rotate,c.rotate,d,f),s(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var Jv=Zv(Zk,"px, ","px)","deg)"),Kv=Zv(Jk,", ",")",")"),Kk=1e-12;function Qv(t){return((t=Math.exp(t))+1/t)/2}function Qk(t){return((t=Math.exp(t))-1/t)/2}function tI(t){return((t=Math.exp(2*t))-1)/(t+1)}const t$=function t(e,n,r){function a(i,o){var s=i[0],l=i[1],u=i[2],c=o[0],d=o[1],f=o[2],h=c-s,p=d-l,g=h*h+p*p,m,b;if(g<Kk)b=Math.log(f/u)/e,m=function(C){return[s+C*h,l+C*p,u*Math.exp(e*C*b)]};else{var y=Math.sqrt(g),x=(f*f-u*u+r*g)/(2*u*n*y),v=(f*f-u*u-r*g)/(2*f*n*y),$=Math.log(Math.sqrt(x*x+1)-x),S=Math.log(Math.sqrt(v*v+1)-v);b=(S-$)/e,m=function(C){var D=C*b,_=Qv($),P=u/(n*y)*(_*tI(e*D+$)-Qk($));return[s+P*h,l+P*p,u*_/Qv(e*D+$)]}}return m.duration=b*1e3*e/Math.SQRT2,m}return a.rho=function(i){var o=Math.max(.001,+i),s=o*o,l=s*s;return t(o,s,l)},a}(Math.SQRT2,2,4);function e$(t){return function(e,n){var r=t((e=hu(e)).h,(n=hu(n)).h),a=Xt(e.s,n.s),i=Xt(e.l,n.l),o=Xt(e.opacity,n.opacity);return function(s){return e.h=r(s),e.s=a(s),e.l=i(s),e.opacity=o(s),e+""}}}const eI=e$(xu);var nI=e$(Xt);function rI(t,e){var n=Xt((t=Eo(t)).l,(e=Eo(e)).l),r=Xt(t.a,e.a),a=Xt(t.b,e.b),i=Xt(t.opacity,e.opacity);return function(o){return t.l=n(o),t.a=r(o),t.b=a(o),t.opacity=i(o),t+""}}function n$(t){return function(e,n){var r=t((e=mu(e)).h,(n=mu(n)).h),a=Xt(e.c,n.c),i=Xt(e.l,n.l),o=Xt(e.opacity,n.opacity);return function(s){return e.h=r(s),e.c=a(s),e.l=i(s),e.opacity=o(s),e+""}}}const aI=n$(xu);var iI=n$(Xt);function r$(t){return function e(n){n=+n;function r(a,i){var o=t((a=nn(a)).h,(i=nn(i)).h),s=Xt(a.s,i.s),l=Xt(a.l,i.l),u=Xt(a.opacity,i.opacity);return function(c){return a.h=o(c),a.s=s(c),a.l=l(Math.pow(c,n)),a.opacity=u(c),a+""}}return r.gamma=e,r}(1)}const oI=r$(xu);var $u=r$(Xt);function a$(t,e){e===void 0&&(e=t,t=En);for(var n=0,r=e.length-1,a=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(a,a=e[++n]);return function(o){var s=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return i[s](o-s)}}function sI(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var si=0,Io=0,No=0,i$=1e3,_u,zo,Au=0,Jr=0,Su=0,Oo=typeof performance=="object"&&performance.now?performance:Date,o$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Go(){return Jr||(o$(lI),Jr=Oo.now()+Su)}function lI(){Jr=0}function jo(){this._call=this._time=this._next=null}jo.prototype=Du.prototype={constructor:jo,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Go():+n)+(e==null?0:+e),!this._next&&zo!==this&&(zo?zo._next=this:_u=this,zo=this),this._call=t,this._time=n,ep()},stop:function(){this._call&&(this._call=null,this._time=1/0,ep())}};function Du(t,e,n){var r=new jo;return r.restart(t,e,n),r}function s$(){Go(),++si;for(var t=_u,e;t;)(e=Jr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--si}function l$(){Jr=(Au=Oo.now())+Su,si=Io=0;try{s$()}finally{si=0,cI(),Jr=0}}function uI(){var t=Oo.now(),e=t-Au;e>i$&&(Su-=e,Au=t)}function cI(){for(var t,e=_u,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:_u=n);zo=t,ep(r)}function ep(t){if(!si){Io&&(Io=clearTimeout(Io));var e=t-Jr;e>24?(t<1/0&&(Io=setTimeout(l$,t-Oo.now()-Su)),No&&(No=clearInterval(No))):(No||(Au=Oo.now(),No=setInterval(uI,i$)),si=1,o$(l$))}}function np(t,e,n){var r=new jo;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}function fI(t,e,n){var r=new jo,a=e;return e==null?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(i,o,s){o=+o,s=s==null?Go():+s,r._restart(function l(u){u+=a,r._restart(l,a+=o,s),i(u)},o,s)},r.restart(t,e,n),r)}var dI=Hr("start","end","cancel","interrupt"),hI=[],u$=0,rp=1,ap=2,Cu=3,c$=4,ip=5,Pu=6;function Fu(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;pI(t,n,{name:e,index:r,group:a,on:dI,tween:hI,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:u$})}function op(t,e){var n=rn(t,e);if(n.state>u$)throw new Error("too late; already scheduled");return n}function xn(t,e){var n=rn(t,e);if(n.state>Cu)throw new Error("too late; already running");return n}function rn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function pI(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=Du(i,0,n.time);function i(u){n.state=rp,n.timer.restart(o,n.delay,n.time),n.delay<=u&&o(u-n.delay)}function o(u){var c,d,f,h;if(n.state!==rp)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===Cu)return np(o);h.state===c$?(h.state=Pu,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=Pu,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(np(function(){n.state===Cu&&(n.state=c$,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=ap,n.on.call("start",t,t.__data__,n.index,n.group),n.state===ap){for(n.state=Cu,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=ip,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===ip&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Pu,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function Kr(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>ap&&r.state<ip,r.state=Pu,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function gI(t){return this.each(function(){Kr(this,t)})}function mI(t,e){var n,r;return function(){var a=xn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,s=r.length;o<s;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function yI(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=xn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var s={name:e,value:n},l=0,u=a.length;l<u;++l)if(a[l].name===e){a[l]=s;break}l===u&&a.push(s)}i.tween=a}}function bI(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=rn(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?mI:yI)(n,t,e))}function sp(t,e,n){var r=t._id;return t.each(function(){var a=xn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return rn(a,r).value[e]}}function f$(t,e){var n;return(typeof e=="number"?Le:e instanceof ur?Ro:(n=ur(e))?(e=n,Ro):tp)(t,e)}function xI(t){return function(){this.removeAttribute(t)}}function vI(t){return function(){this.removeAttributeNS(t.space,t.local)}}function $I(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function _I(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function AI(t,e,n){var r,a,i;return function(){var o,s=n(this),l;return s==null?void this.removeAttribute(t):(o=this.getAttribute(t),l=s+"",o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s)))}}function SI(t,e,n){var r,a,i;return function(){var o,s=n(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===a?i:(a=l,i=e(r=o,s)))}}function DI(t,e){var n=To(t),r=n==="transform"?Kv:f$;return this.attrTween(t,typeof e=="function"?(n.local?SI:AI)(n,r,sp(this,"attr."+t,e)):e==null?(n.local?vI:xI)(n):(n.local?_I:$I)(n,r,e))}function CI(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function PI(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function FI(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&PI(t,i)),n}return a._value=e,a}function TI(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&CI(t,i)),n}return a._value=e,a}function wI(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=To(t);return this.tween(n,(r.local?FI:TI)(r,e))}function BI(t,e){return function(){op(this,t).delay=+e.apply(this,arguments)}}function MI(t,e){return e=+e,function(){op(this,t).delay=e}}function EI(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?BI:MI)(e,t)):rn(this.node(),e).delay}function LI(t,e){return function(){xn(this,t).duration=+e.apply(this,arguments)}}function RI(t,e){return e=+e,function(){xn(this,t).duration=e}}function kI(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?LI:RI)(e,t)):rn(this.node(),e).duration}function II(t,e){if(typeof e!="function")throw new Error;return function(){xn(this,t).ease=e}}function NI(t){var e=this._id;return arguments.length?this.each(II(e,t)):rn(this.node(),e).ease}function zI(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;xn(this,t).ease=n}}function OI(t){if(typeof t!="function")throw new Error;return this.each(zI(this._id,t))}function GI(t){typeof t!="function"&&(t=kh(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,s=r[a]=[],l,u=0;u<o;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new vn(r,this._parents,this._name,this._id)}function jI(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),s=0;s<i;++s)for(var l=e[s],u=n[s],c=l.length,d=o[s]=new Array(c),f,h=0;h<c;++h)(f=l[h]||u[h])&&(d[h]=f);for(;s<r;++s)o[s]=e[s];return new vn(o,this._parents,this._name,this._id)}function VI(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function HI(t,e,n){var r,a,i=VI(e)?op:xn;return function(){var o=i(this,t),s=o.on;s!==r&&(a=(r=s).copy()).on(e,n),o.on=a}}function XI(t,e){var n=this._id;return arguments.length<2?rn(this.node(),n).on.on(t):this.each(HI(n,t,e))}function WI(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function UI(){return this.on("end.remove",WI(this._id))}function YI(t){var e=this._name,n=this._id;typeof t!="function"&&(t=iu(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var s=r[o],l=s.length,u=i[o]=new Array(l),c,d,f=0;f<l;++f)(c=s[f])&&(d=t.call(c,c.__data__,f,s))&&("__data__"in c&&(d.__data__=c.__data__),u[f]=d,Fu(u[f],e,n,f,u,rn(c,n)));return new vn(i,this._parents,e,n)}function qI(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Rh(t));for(var r=this._groups,a=r.length,i=[],o=[],s=0;s<a;++s)for(var l=r[s],u=l.length,c,d=0;d<u;++d)if(c=l[d]){for(var f=t.call(c,c.__data__,d,l),h,p=rn(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&Fu(h,e,n,g,f,p);i.push(f),o.push(c)}return new vn(i,o,e,n)}var ZI=Wr.prototype.constructor;function JI(){return new ZI(this._groups,this._parents)}function KI(t,e){var n,r,a;return function(){var i=Xr(this,t),o=(this.style.removeProperty(t),Xr(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function d$(t){return function(){this.style.removeProperty(t)}}function QI(t,e,n){var r,a=n+"",i;return function(){var o=Xr(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function tN(t,e,n){var r,a,i;return function(){var o=Xr(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),Xr(this,t))),o===l?null:o===r&&l===a?i:(a=l,i=e(r=o,s))}}function eN(t,e){var n,r,a,i="style."+e,o="end."+i,s;return function(){var l=xn(this,t),u=l.on,c=l.value[i]==null?s||(s=d$(e)):void 0;(u!==n||a!==c)&&(r=(n=u).copy()).on(o,a=c),l.on=r}}function nN(t,e,n){var r=(t+="")=="transform"?Jv:f$;return e==null?this.styleTween(t,KI(t,r)).on("end.style."+t,d$(t)):typeof e=="function"?this.styleTween(t,tN(t,r,sp(this,"style."+t,e))).each(eN(this._id,t)):this.styleTween(t,QI(t,r,e),n).on("end.style."+t,null)}function rN(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function aN(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&rN(t,o,n)),r}return i._value=e,i}function iN(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,aN(t,e,n??""))}function oN(t){return function(){this.textContent=t}}function sN(t){return function(){var e=t(this);this.textContent=e??""}}function lN(t){return this.tween("text",typeof t=="function"?sN(sp(this,"text",t)):oN(t==null?"":t+""))}function uN(t){return function(e){this.textContent=t.call(this,e)}}function cN(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&uN(a)),e}return r._value=t,r}function fN(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,cN(t))}function dN(){for(var t=this._name,e=this._id,n=p$(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)if(l=o[u]){var c=rn(l,e);Fu(l,t,n,u,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new vn(r,this._parents,t,n)}function hN(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var s={value:o},l={value:function(){--a===0&&i()}};n.each(function(){var u=xn(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),a===0&&i()})}var pN=0;function vn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function h$(t){return Wr().transition(t)}function p$(){return++pN}var Ln=Wr.prototype;vn.prototype=h$.prototype={constructor:vn,select:YI,selectAll:qI,selectChild:Ln.selectChild,selectChildren:Ln.selectChildren,filter:GI,merge:jI,selection:JI,transition:dN,call:Ln.call,nodes:Ln.nodes,node:Ln.node,size:Ln.size,empty:Ln.empty,each:Ln.each,on:XI,attr:DI,attrTween:wI,style:nN,styleTween:iN,text:lN,textTween:fN,remove:UI,tween:bI,delay:EI,duration:kI,ease:NI,easeVarying:OI,end:hN,[Symbol.iterator]:Ln[Symbol.iterator]};const $n=t=>+t;function gN(t){return t*t}function mN(t){return t*(2-t)}function g$(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function yN(t){return t*t*t}function bN(t){return--t*t*t+1}function Vo(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var lp=3,xN=function t(e){e=+e;function n(r){return Math.pow(r,e)}return n.exponent=t,n}(lp),vN=function t(e){e=+e;function n(r){return 1-Math.pow(1-r,e)}return n.exponent=t,n}(lp),m$=function t(e){e=+e;function n(r){return((r*=2)<=1?Math.pow(r,e):2-Math.pow(2-r,e))/2}return n.exponent=t,n}(lp),y$=Math.PI,b$=y$/2;function $N(t){return+t==1?1:1-Math.cos(t*b$)}function _N(t){return Math.sin(t*b$)}function x$(t){return(1-Math.cos(y$*t))/2}function cr(t){return(Math.pow(2,-10*t)-.0009765625)*1.0009775171065494}function AN(t){return cr(1-+t)}function SN(t){return 1-cr(t)}function v$(t){return((t*=2)<=1?cr(1-t):2-cr(t-1))/2}function DN(t){return 1-Math.sqrt(1-t*t)}function CN(t){return Math.sqrt(1- --t*t)}function $$(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var up=4/11,PN=6/11,FN=8/11,TN=3/4,wN=9/11,BN=10/11,MN=15/16,EN=21/22,LN=63/64,Tu=1/up/up;function RN(t){return 1-Ho(1-t)}function Ho(t){return(t=+t)<up?Tu*t*t:t<FN?Tu*(t-=PN)*t+TN:t<BN?Tu*(t-=wN)*t+MN:Tu*(t-=EN)*t+LN}function kN(t){return((t*=2)<=1?1-Ho(1-t):Ho(t-1)+1)/2}var cp=1.70158,IN=function t(e){e=+e;function n(r){return(r=+r)*r*(e*(r-1)+r)}return n.overshoot=t,n}(cp),NN=function t(e){e=+e;function n(r){return--r*r*((r+1)*e+r)+1}return n.overshoot=t,n}(cp),_$=function t(e){e=+e;function n(r){return((r*=2)<1?r*r*((e+1)*r-e):(r-=2)*r*((e+1)*r+e)+2)/2}return n.overshoot=t,n}(cp),li=2*Math.PI,fp=1,dp=.3,zN=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=li);function a(i){return e*cr(- --i)*Math.sin((r-i)/n)}return a.amplitude=function(i){return t(i,n*li)},a.period=function(i){return t(e,i)},a}(fp,dp),Qr=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=li);function a(i){return 1-e*cr(i=+i)*Math.sin((i+r)/n)}return a.amplitude=function(i){return t(i,n*li)},a.period=function(i){return t(e,i)},a}(fp,dp),ON=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=li);function a(i){return((i=i*2-1)<0?e*cr(-i)*Math.sin((r-i)/n):2-e*cr(i)*Math.sin((r+i)/n))/2}return a.amplitude=function(i){return t(i,n*li)},a.period=function(i){return t(e,i)},a}(fp,dp),GN={time:null,delay:0,duration:250,ease:Vo};function jN(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function VN(t){var e,n;t instanceof vn?(e=t._id,t=t._name):(e=p$(),(n=GN).time=Go(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],s=o.length,l,u=0;u<s;++u)(l=o[u])&&Fu(l,t,e,u,o,n||jN(l,e));return new vn(r,this._parents,t,e)}Wr.prototype.interrupt=gI,Wr.prototype.transition=VN;var HN=[null];function XN(t,e){var n=t.__transition,r,a;if(n){e=e==null?null:e+"";for(a in n)if((r=n[a]).state>rp&&r.name===e)return new vn([[t]],HN,e,+a)}return null}const hp=t=>()=>t;function WN(t,{sourceEvent:e,target:n,selection:r,mode:a,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:a,enumerable:!0,configurable:!0},_:{value:i}})}function UN(t){t.stopImmediatePropagation()}function pp(t){t.preventDefault(),t.stopImmediatePropagation()}var A$={name:"drag"},gp={name:"space"},ui={name:"handle"},ci={name:"center"};const{abs:S$,max:Kt,min:Qt}=Math;function D$(t){return[+t[0],+t[1]]}function mp(t){return[D$(t[0]),D$(t[1])]}var wu={name:"x",handles:["w","e"].map(Xo),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Bu={name:"y",handles:["n","s"].map(Xo),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},YN={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Xo),input:function(t){return t==null?null:mp(t)},output:function(t){return t}},Rn={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},C$={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},P$={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},qN={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ZN={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Xo(t){return{type:t}}function JN(t){return!t.ctrlKey&&!t.button}function KN(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function QN(){return navigator.maxTouchPoints||"ontouchstart"in this}function yp(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function tz(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ez(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function nz(){return bp(wu)}function rz(){return bp(Bu)}function az(){return bp(YN)}function bp(t){var e=KN,n=JN,r=QN,a=!0,i=Hr("start","brush","end"),o=6,s;function l(m){var b=m.property("__brush",g).selectAll(".overlay").data([Xo("overlay")]);b.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Rn.overlay).merge(b).each(function(){var x=yp(this).extent;H(this).attr("x",x[0][0]).attr("y",x[0][1]).attr("width",x[1][0]-x[0][0]).attr("height",x[1][1]-x[0][1])}),m.selectAll(".selection").data([Xo("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Rn.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var y=m.selectAll(".handle").data(t.handles,function(x){return x.type});y.exit().remove(),y.enter().append("rect").attr("class",function(x){return"handle handle--"+x.type}).attr("cursor",function(x){return Rn[x.type]}),m.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(r).on("touchstart.brush",f).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}l.move=function(m,b,y){m.tween?m.on("start.brush",function(x){c(this,arguments).beforestart().start(x)}).on("interrupt.brush end.brush",function(x){c(this,arguments).end(x)}).tween("brush",function(){var x=this,v=x.__brush,$=c(x,arguments),S=v.selection,C=t.input(typeof b=="function"?b.apply(this,arguments):b,v.extent),D=En(S,C);function _(P){v.selection=P===1&&C===null?null:D(P),u.call(x),$.brush()}return S!==null&&C!==null?_:_(1)}):m.each(function(){var x=this,v=arguments,$=x.__brush,S=t.input(typeof b=="function"?b.apply(x,v):b,$.extent),C=c(x,v).beforestart();Kr(x),$.selection=S===null?null:S,u.call(x),C.start(y).brush(y).end(y)})},l.clear=function(m,b){l.move(m,null,b)};function u(){var m=H(this),b=yp(this).selection;b?(m.selectAll(".selection").style("display",null).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1]),m.selectAll(".handle").style("display",null).attr("x",function(y){return y.type[y.type.length-1]==="e"?b[1][0]-o/2:b[0][0]-o/2}).attr("y",function(y){return y.type[0]==="s"?b[1][1]-o/2:b[0][1]-o/2}).attr("width",function(y){return y.type==="n"||y.type==="s"?b[1][0]-b[0][0]+o:o}).attr("height",function(y){return y.type==="e"||y.type==="w"?b[1][1]-b[0][1]+o:o})):m.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(m,b,y){var x=m.__brush.emitter;return x&&(!y||!x.clean)?x:new d(m,b,y)}function d(m,b,y){this.that=m,this.args=b,this.state=m.__brush,this.active=0,this.clean=y}d.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(m,b){return this.starting?(this.starting=!1,this.emit("start",m,b)):this.emit("brush",m),this},brush:function(m,b){return this.emit("brush",m,b),this},end:function(m,b){return--this.active===0&&(delete this.state.emitter,this.emit("end",m,b)),this},emit:function(m,b,y){var x=H(this.that).datum();i.call(m,this.that,new WN(m,{sourceEvent:b,target:l,selection:t.output(this.state.selection),mode:y,dispatch:i}),x)}};function f(m){if(s&&!m.touches||!n.apply(this,arguments))return;var b=this,y=m.target.__data__.type,x=(a&&m.metaKey?y="overlay":y)==="selection"?A$:a&&m.altKey?ci:ui,v=t===Bu?null:qN[y],$=t===wu?null:ZN[y],S=yp(b),C=S.extent,D=S.selection,_=C[0][0],P,A,I=C[0][1],k,w,F=C[1][0],T,B,N=C[1][1],E,z,V=0,J=0,G,X=v&&$&&a&&m.shiftKey,W,ct,ut=Array.from(m.touches||[m],st=>{const It=st.identifier;return st=Ee(st,b),st.point0=st.slice(),st.identifier=It,st});Kr(b);var pt=c(b,arguments,!0).beforestart();if(y==="overlay"){D&&(G=!0);const st=[ut[0],ut[1]||ut[0]];S.selection=D=[[P=t===Bu?_:Qt(st[0][0],st[1][0]),k=t===wu?I:Qt(st[0][1],st[1][1])],[T=t===Bu?F:Kt(st[0][0],st[1][0]),E=t===wu?N:Kt(st[0][1],st[1][1])]],ut.length>1&&Tt(m)}else P=D[0][0],k=D[0][1],T=D[1][0],E=D[1][1];A=P,w=k,B=T,z=E;var Q=H(b).attr("pointer-events","none"),nt=Q.selectAll(".overlay").attr("cursor",Rn[y]);if(m.touches)pt.moved=q,pt.ended=At;else{var lt=H(m.view).on("mousemove.brush",q,!0).on("mouseup.brush",At,!0);a&&lt.on("keydown.brush",ye,!0).on("keyup.brush",be,!0),su(m.view)}u.call(b),pt.start(m,x.name);function q(st){for(const It of st.changedTouches||[st])for(const Rs of ut)Rs.identifier===It.identifier&&(Rs.cur=Ee(It,b));if(X&&!W&&!ct&&ut.length===1){const It=ut[0];S$(It.cur[0]-It[0])>S$(It.cur[1]-It[1])?ct=!0:W=!0}for(const It of ut)It.cur&&(It[0]=It.cur[0],It[1]=It.cur[1]);G=!0,pp(st),Tt(st)}function Tt(st){const It=ut[0],Rs=It.point0;var $r;switch(V=It[0]-Rs[0],J=It[1]-Rs[1],x){case gp:case A$:{v&&(V=Kt(_-P,Qt(F-T,V)),A=P+V,B=T+V),$&&(J=Kt(I-k,Qt(N-E,J)),w=k+J,z=E+J);break}case ui:{ut[1]?(v&&(A=Kt(_,Qt(F,ut[0][0])),B=Kt(_,Qt(F,ut[1][0])),v=1),$&&(w=Kt(I,Qt(N,ut[0][1])),z=Kt(I,Qt(N,ut[1][1])),$=1)):(v<0?(V=Kt(_-P,Qt(F-P,V)),A=P+V,B=T):v>0&&(V=Kt(_-T,Qt(F-T,V)),A=P,B=T+V),$<0?(J=Kt(I-k,Qt(N-k,J)),w=k+J,z=E):$>0&&(J=Kt(I-E,Qt(N-E,J)),w=k,z=E+J));break}case ci:{v&&(A=Kt(_,Qt(F,P-V*v)),B=Kt(_,Qt(F,T+V*v))),$&&(w=Kt(I,Qt(N,k-J*$)),z=Kt(I,Qt(N,E+J*$)));break}}B<A&&(v*=-1,$r=P,P=T,T=$r,$r=A,A=B,B=$r,y in C$&&nt.attr("cursor",Rn[y=C$[y]])),z<w&&($*=-1,$r=k,k=E,E=$r,$r=w,w=z,z=$r,y in P$&&nt.attr("cursor",Rn[y=P$[y]])),S.selection&&(D=S.selection),W&&(A=D[0][0],B=D[1][0]),ct&&(w=D[0][1],z=D[1][1]),(D[0][0]!==A||D[0][1]!==w||D[1][0]!==B||D[1][1]!==z)&&(S.selection=[[A,w],[B,z]],u.call(b),pt.brush(st,x.name))}function At(st){if(UN(st),st.touches){if(st.touches.length)return;s&&clearTimeout(s),s=setTimeout(function(){s=null},500)}else lu(st.view,G),lt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Q.attr("pointer-events","all"),nt.attr("cursor",Rn.overlay),S.selection&&(D=S.selection),tz(D)&&(S.selection=null,u.call(b)),pt.end(st,x.name)}function ye(st){switch(st.keyCode){case 16:{X=v&&$;break}case 18:{x===ui&&(v&&(T=B-V*v,P=A+V*v),$&&(E=z-J*$,k=w+J*$),x=ci,Tt(st));break}case 32:{(x===ui||x===ci)&&(v<0?T=B-V:v>0&&(P=A-V),$<0?E=z-J:$>0&&(k=w-J),x=gp,nt.attr("cursor",Rn.selection),Tt(st));break}default:return}pp(st)}function be(st){switch(st.keyCode){case 16:{X&&(W=ct=X=!1,Tt(st));break}case 18:{x===ci&&(v<0?T=B:v>0&&(P=A),$<0?E=z:$>0&&(k=w),x=ui,Tt(st));break}case 32:{x===gp&&(st.altKey?(v&&(T=B-V*v,P=A+V*v),$&&(E=z-J*$,k=w+J*$),x=ci):(v<0?T=B:v>0&&(P=A),$<0?E=z:$>0&&(k=w),x=ui),nt.attr("cursor",Rn[y]),Tt(st));break}default:return}pp(st)}}function h(m){c(this,arguments).moved(m)}function p(m){c(this,arguments).ended(m)}function g(){var m=this.__brush||{selection:null};return m.extent=mp(e.apply(this,arguments)),m.dim=t,m}return l.extent=function(m){return arguments.length?(e=typeof m=="function"?m:hp(mp(m)),l):e},l.filter=function(m){return arguments.length?(n=typeof m=="function"?m:hp(!!m),l):n},l.touchable=function(m){return arguments.length?(r=typeof m=="function"?m:hp(!!m),l):r},l.handleSize=function(m){return arguments.length?(o=+m,l):o},l.keyModifiers=function(m){return arguments.length?(a=!!m,l):a},l.on=function(){var m=i.on.apply(i,arguments);return m===i?l:m},l}var F$=Math.abs,fi=Math.cos,di=Math.sin,T$=Math.PI,Mu=T$/2,w$=T$*2,B$=Math.max,xp=1e-12;function vp(t,e){return Array.from({length:e-t},(n,r)=>t+r)}function iz(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function oz(){return $p(!1,!1)}function sz(){return $p(!1,!0)}function lz(){return $p(!0,!1)}function $p(t,e){var n=0,r=null,a=null,i=null;function o(s){var l=s.length,u=new Array(l),c=vp(0,l),d=new Array(l*l),f=new Array(l),h=0,p;s=Float64Array.from({length:l*l},e?(g,m)=>s[m%l][m/l|0]:(g,m)=>s[m/l|0][m%l]);for(let g=0;g<l;++g){let m=0;for(let b=0;b<l;++b)m+=s[g*l+b]+t*s[b*l+g];h+=u[g]=m}h=B$(0,w$-n*l)/h,p=h?n:w$/l;{let g=0;r&&c.sort((m,b)=>r(u[m],u[b]));for(const m of c){const b=g;if(t){const y=vp(~l+1,l).filter(x=>x<0?s[~x*l+m]:s[m*l+x]);a&&y.sort((x,v)=>a(x<0?-s[~x*l+m]:s[m*l+x],v<0?-s[~v*l+m]:s[m*l+v]));for(const x of y)if(x<0){const v=d[~x*l+m]||(d[~x*l+m]={source:null,target:null});v.target={index:m,startAngle:g,endAngle:g+=s[~x*l+m]*h,value:s[~x*l+m]}}else{const v=d[m*l+x]||(d[m*l+x]={source:null,target:null});v.source={index:m,startAngle:g,endAngle:g+=s[m*l+x]*h,value:s[m*l+x]}}f[m]={index:m,startAngle:b,endAngle:g,value:u[m]}}else{const y=vp(0,l).filter(x=>s[m*l+x]||s[x*l+m]);a&&y.sort((x,v)=>a(s[m*l+x],s[m*l+v]));for(const x of y){let v;if(m<x?(v=d[m*l+x]||(d[m*l+x]={source:null,target:null}),v.source={index:m,startAngle:g,endAngle:g+=s[m*l+x]*h,value:s[m*l+x]}):(v=d[x*l+m]||(d[x*l+m]={source:null,target:null}),v.target={index:m,startAngle:g,endAngle:g+=s[m*l+x]*h,value:s[m*l+x]},m===x&&(v.source=v.target)),v.source&&v.target&&v.source.value<v.target.value){const $=v.source;v.source=v.target,v.target=$}}f[m]={index:m,startAngle:b,endAngle:g,value:u[m]}}g+=p}}return d=Object.values(d),d.groups=f,i?d.sort(i):d}return o.padAngle=function(s){return arguments.length?(n=B$(0,s),o):n},o.sortGroups=function(s){return arguments.length?(r=s,o):r},o.sortSubgroups=function(s){return arguments.length?(a=s,o):a},o.sortChords=function(s){return arguments.length?(s==null?i=null:(i=iz(s))._=s,o):i&&i._},o}const _p=Math.PI,Ap=2*_p,ta=1e-6,uz=Ap-ta;function M$(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function cz(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return M$;const n=10**e;return function(r){this._+=r[0];for(let a=1,i=r.length;a<i;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}let Wo=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?M$:cz(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,n,r){this._append`Q${+t},${+e},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(t,e,n,r,a,i){this._append`C${+t},${+e},${+n},${+r},${this._x1=+a},${this._y1=+i}`}arcTo(t,e,n,r,a){if(t=+t,e=+e,n=+n,r=+r,a=+a,a<0)throw new Error(`negative radius: ${a}`);let i=this._x1,o=this._y1,s=n-t,l=r-e,u=i-t,c=o-e,d=u*u+c*c;if(this._x1===null)this._append`M${this._x1=t},${this._y1=e}`;else if(d>ta)if(!(Math.abs(c*s-l*u)>ta)||!a)this._append`L${this._x1=t},${this._y1=e}`;else{let f=n-i,h=r-o,p=s*s+l*l,g=f*f+h*h,m=Math.sqrt(p),b=Math.sqrt(d),y=a*Math.tan((_p-Math.acos((p+d-g)/(2*m*b)))/2),x=y/b,v=y/m;Math.abs(x-1)>ta&&this._append`L${t+x*u},${e+x*c}`,this._append`A${a},${a},0,0,${+(c*f>u*h)},${this._x1=t+v*s},${this._y1=e+v*l}`}}arc(t,e,n,r,a,i){if(t=+t,e=+e,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),l=t+o,u=e+s,c=1^i,d=i?r-a:a-r;this._x1===null?this._append`M${l},${u}`:(Math.abs(this._x1-l)>ta||Math.abs(this._y1-u)>ta)&&this._append`L${l},${u}`,n&&(d<0&&(d=d%Ap+Ap),d>uz?this._append`A${n},${n},0,1,${c},${t-o},${e-s}A${n},${n},0,1,${c},${this._x1=l},${this._y1=u}`:d>ta&&this._append`A${n},${n},0,${+(d>=_p)},${c},${this._x1=t+n*Math.cos(a)},${this._y1=e+n*Math.sin(a)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function Sp(){return new Wo}Sp.prototype=Wo.prototype;function fz(t=3){return new Wo(+t)}var dz=Array.prototype.slice;function ea(t){return function(){return t}}function hz(t){return t.source}function pz(t){return t.target}function E$(t){return t.radius}function gz(t){return t.startAngle}function mz(t){return t.endAngle}function yz(){return 0}function bz(){return 10}function L$(t){var e=hz,n=pz,r=E$,a=E$,i=gz,o=mz,s=yz,l=null;function u(){var c,d=e.apply(this,arguments),f=n.apply(this,arguments),h=s.apply(this,arguments)/2,p=dz.call(arguments),g=+r.apply(this,(p[0]=d,p)),m=i.apply(this,p)-Mu,b=o.apply(this,p)-Mu,y=+a.apply(this,(p[0]=f,p)),x=i.apply(this,p)-Mu,v=o.apply(this,p)-Mu;if(l||(l=c=Sp()),h>xp&&(F$(b-m)>h*2+xp?b>m?(m+=h,b-=h):(m-=h,b+=h):m=b=(m+b)/2,F$(v-x)>h*2+xp?v>x?(x+=h,v-=h):(x-=h,v+=h):x=v=(x+v)/2),l.moveTo(g*fi(m),g*di(m)),l.arc(0,0,g,m,b),m!==x||b!==v)if(t){var $=+t.apply(this,arguments),S=y-$,C=(x+v)/2;l.quadraticCurveTo(0,0,S*fi(x),S*di(x)),l.lineTo(y*fi(C),y*di(C)),l.lineTo(S*fi(v),S*di(v))}else l.quadraticCurveTo(0,0,y*fi(x),y*di(x)),l.arc(0,0,y,x,v);if(l.quadraticCurveTo(0,0,g*fi(m),g*di(m)),l.closePath(),c)return l=null,c+""||null}return t&&(u.headRadius=function(c){return arguments.length?(t=typeof c=="function"?c:ea(+c),u):t}),u.radius=function(c){return arguments.length?(r=a=typeof c=="function"?c:ea(+c),u):r},u.sourceRadius=function(c){return arguments.length?(r=typeof c=="function"?c:ea(+c),u):r},u.targetRadius=function(c){return arguments.length?(a=typeof c=="function"?c:ea(+c),u):a},u.startAngle=function(c){return arguments.length?(i=typeof c=="function"?c:ea(+c),u):i},u.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:ea(+c),u):o},u.padAngle=function(c){return arguments.length?(s=typeof c=="function"?c:ea(+c),u):s},u.source=function(c){return arguments.length?(e=c,u):e},u.target=function(c){return arguments.length?(n=c,u):n},u.context=function(c){return arguments.length?(l=c??null,u):l},u}function xz(){return L$()}function vz(){return L$(bz)}var $z=Array.prototype,R$=$z.slice;function _z(t,e){return t-e}function Az(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}const fr=t=>()=>t;function Sz(t,e){for(var n=-1,r=e.length,a;++n<r;)if(a=Dz(t,e[n]))return a;return 0}function Dz(t,e){for(var n=e[0],r=e[1],a=-1,i=0,o=t.length,s=o-1;i<o;s=i++){var l=t[i],u=l[0],c=l[1],d=t[s],f=d[0],h=d[1];if(Cz(l,d,e))return 0;c>r!=h>r&&n<(f-u)*(r-c)/(h-c)+u&&(a=-a)}return a}function Cz(t,e,n){var r;return Pz(t,e,n)&&Fz(t[r=+(t[0]===e[0])],n[r],e[r])}function Pz(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function Fz(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function Tz(){}var kn=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Dp(){var t=1,e=1,n=Dh,r=l;function a(u){var c=n(u);if(Array.isArray(c))c=c.slice().sort(_z);else{const d=Ao(u,wz);for(c=jr(...Sh(d[0],d[1],c),c);c[c.length-1]>=d[1];)c.pop();for(;c[1]<d[0];)c.shift()}return c.map(d=>i(u,d))}function i(u,c){const d=c==null?NaN:+c;if(isNaN(d))throw new Error(`invalid value: ${c}`);var f=[],h=[];return o(u,d,function(p){r(p,u,d),Az(p)>0?f.push([p]):h.push(p)}),h.forEach(function(p){for(var g=0,m=f.length,b;g<m;++g)if(Sz((b=f[g])[0],p)!==-1){b.push(p);return}}),{type:"MultiPolygon",value:c,coordinates:f}}function o(u,c,d){var f=new Array,h=new Array,p,g,m,b,y,x;for(p=g=-1,b=na(u[0],c),kn[b<<1].forEach(v);++p<t-1;)m=b,b=na(u[p+1],c),kn[m|b<<1].forEach(v);for(kn[b<<0].forEach(v);++g<e-1;){for(p=-1,b=na(u[g*t+t],c),y=na(u[g*t],c),kn[b<<1|y<<2].forEach(v);++p<t-1;)m=b,b=na(u[g*t+t+p+1],c),x=y,y=na(u[g*t+p+1],c),kn[m|b<<1|y<<2|x<<3].forEach(v);kn[b|y<<3].forEach(v)}for(p=-1,y=u[g*t]>=c,kn[y<<2].forEach(v);++p<t-1;)x=y,y=na(u[g*t+p+1],c),kn[y<<2|x<<3].forEach(v);kn[y<<3].forEach(v);function v($){var S=[$[0][0]+p,$[0][1]+g],C=[$[1][0]+p,$[1][1]+g],D=s(S),_=s(C),P,A;(P=h[D])?(A=f[_])?(delete h[P.end],delete f[A.start],P===A?(P.ring.push(C),d(P.ring)):f[P.start]=h[A.end]={start:P.start,end:A.end,ring:P.ring.concat(A.ring)}):(delete h[P.end],P.ring.push(C),h[P.end=_]=P):(P=f[_])?(A=h[D])?(delete f[P.start],delete h[A.end],P===A?(P.ring.push(C),d(P.ring)):f[A.start]=h[P.end]={start:A.start,end:P.end,ring:A.ring.concat(P.ring)}):(delete f[P.start],P.ring.unshift(S),f[P.start=D]=P):f[D]=h[_]={start:D,end:_,ring:[S,C]}}}function s(u){return u[0]*2+u[1]*(t+1)*4}function l(u,c,d){u.forEach(function(f){var h=f[0],p=f[1],g=h|0,m=p|0,b=Cp(c[m*t+g]);h>0&&h<t&&g===h&&(f[0]=k$(h,Cp(c[m*t+g-1]),b,d)),p>0&&p<e&&m===p&&(f[1]=k$(p,Cp(c[(m-1)*t+g]),b,d))})}return a.contour=i,a.size=function(u){if(!arguments.length)return[t,e];var c=Math.floor(u[0]),d=Math.floor(u[1]);if(!(c>=0&&d>=0))throw new Error("invalid size");return t=c,e=d,a},a.thresholds=function(u){return arguments.length?(n=typeof u=="function"?u:Array.isArray(u)?fr(R$.call(u)):fr(u),a):n},a.smooth=function(u){return arguments.length?(r=u?l:Tz,a):r===l},a}function wz(t){return isFinite(t)?t:NaN}function na(t,e){return t==null?!1:+t>=e}function Cp(t){return t==null||isNaN(t=+t)?-1/0:t}function k$(t,e,n,r){const a=r-e,i=n-e,o=isFinite(a)||isFinite(i)?a/i:Math.sign(a)/Math.sign(i);return isNaN(o)?t:t+o-.5}function Bz(t){return t[0]}function Mz(t){return t[1]}function Ez(){return 1}function Lz(){var t=Bz,e=Mz,n=Ez,r=960,a=500,i=20,o=2,s=i*3,l=r+s*2>>o,u=a+s*2>>o,c=fr(20);function d(y){var x=new Float32Array(l*u),v=Math.pow(2,-o),$=-1;for(const k of y){var S=(t(k,++$,y)+s)*v,C=(e(k,$,y)+s)*v,D=+n(k,$,y);if(D&&S>=0&&S<l&&C>=0&&C<u){var _=Math.floor(S),P=Math.floor(C),A=S-_-.5,I=C-P-.5;x[_+P*l]+=(1-A)*(1-I)*D,x[_+1+P*l]+=A*(1-I)*D,x[_+1+(P+1)*l]+=A*I*D,x[_+(P+1)*l]+=(1-A)*I*D}}return Mx({data:x,width:l,height:u},i*v),x}function f(y){var x=d(y),v=c(x),$=Math.pow(2,2*o);return Array.isArray(v)||(v=jr(Number.MIN_VALUE,Do(x)/$,v)),Dp().size([l,u]).thresholds(v.map(S=>S*$))(x).map((S,C)=>(S.value=+v[C],h(S)))}f.contours=function(y){var x=d(y),v=Dp().size([l,u]),$=Math.pow(2,2*o),S=C=>{C=+C;var D=h(v.contour(x,C*$));return D.value=C,D};return Object.defineProperty(S,"max",{get:()=>Do(x)/$}),S};function h(y){return y.coordinates.forEach(p),y}function p(y){y.forEach(g)}function g(y){y.forEach(m)}function m(y){y[0]=y[0]*Math.pow(2,o)-s,y[1]=y[1]*Math.pow(2,o)-s}function b(){return s=i*3,l=r+s*2>>o,u=a+s*2>>o,f}return f.x=function(y){return arguments.length?(t=typeof y=="function"?y:fr(+y),f):t},f.y=function(y){return arguments.length?(e=typeof y=="function"?y:fr(+y),f):e},f.weight=function(y){return arguments.length?(n=typeof y=="function"?y:fr(+y),f):n},f.size=function(y){if(!arguments.length)return[r,a];var x=+y[0],v=+y[1];if(!(x>=0&&v>=0))throw new Error("invalid size");return r=x,a=v,b()},f.cellSize=function(y){if(!arguments.length)return 1<<o;if(!((y=+y)>=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(y)/Math.LN2),b()},f.thresholds=function(y){return arguments.length?(c=typeof y=="function"?y:Array.isArray(y)?fr(R$.call(y)):fr(y),f):c},f.bandwidth=function(y){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((y=+y)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*y*y+1)-1)/2,b()},f}const In=11102230246251565e-32,te=134217729,Rz=(3+8*In)*In;function Pp(t,e,n,r,a){let i,o,s,l,u=e[0],c=r[0],d=0,f=0;c>u==c>-u?(i=u,u=e[++d]):(i=c,c=r[++f]);let h=0;if(d<t&&f<n)for(c>u==c>-u?(o=u+i,s=i-(o-u),u=e[++d]):(o=c+i,s=i-(o-c),c=r[++f]),i=o,s!==0&&(a[h++]=s);d<t&&f<n;)c>u==c>-u?(o=i+u,l=o-i,s=i-(o-l)+(u-l),u=e[++d]):(o=i+c,l=o-i,s=i-(o-l)+(c-l),c=r[++f]),i=o,s!==0&&(a[h++]=s);for(;d<t;)o=i+u,l=o-i,s=i-(o-l)+(u-l),u=e[++d],i=o,s!==0&&(a[h++]=s);for(;f<n;)o=i+c,l=o-i,s=i-(o-l)+(c-l),c=r[++f],i=o,s!==0&&(a[h++]=s);return(i!==0||h===0)&&(a[h++]=i),h}function kz(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Uo(t){return new Float64Array(t)}const Iz=(3+16*In)*In,Nz=(2+12*In)*In,zz=(9+64*In)*In*In,hi=Uo(4),I$=Uo(8),N$=Uo(12),z$=Uo(16),oe=Uo(4);function Oz(t,e,n,r,a,i,o){let s,l,u,c,d,f,h,p,g,m,b,y,x,v,$,S,C,D;const _=t-a,P=n-a,A=e-i,I=r-i;v=_*I,f=te*_,h=f-(f-_),p=_-h,f=te*I,g=f-(f-I),m=I-g,$=p*m-(v-h*g-p*g-h*m),S=A*P,f=te*A,h=f-(f-A),p=A-h,f=te*P,g=f-(f-P),m=P-g,C=p*m-(S-h*g-p*g-h*m),b=$-C,d=$-b,hi[0]=$-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-S,d=x-b,hi[1]=x-(b+d)+(d-S),D=y+b,d=D-y,hi[2]=y-(D-d)+(b-d),hi[3]=D;let k=kz(4,hi),w=Nz*o;if(k>=w||-k>=w||(d=t-_,s=t-(_+d)+(d-a),d=n-P,u=n-(P+d)+(d-a),d=e-A,l=e-(A+d)+(d-i),d=r-I,c=r-(I+d)+(d-i),s===0&&l===0&&u===0&&c===0)||(w=zz*o+Rz*Math.abs(k),k+=_*c+I*s-(A*u+P*l),k>=w||-k>=w))return k;v=s*I,f=te*s,h=f-(f-s),p=s-h,f=te*I,g=f-(f-I),m=I-g,$=p*m-(v-h*g-p*g-h*m),S=l*P,f=te*l,h=f-(f-l),p=l-h,f=te*P,g=f-(f-P),m=P-g,C=p*m-(S-h*g-p*g-h*m),b=$-C,d=$-b,oe[0]=$-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-S,d=x-b,oe[1]=x-(b+d)+(d-S),D=y+b,d=D-y,oe[2]=y-(D-d)+(b-d),oe[3]=D;const F=Pp(4,hi,4,oe,I$);v=_*c,f=te*_,h=f-(f-_),p=_-h,f=te*c,g=f-(f-c),m=c-g,$=p*m-(v-h*g-p*g-h*m),S=A*u,f=te*A,h=f-(f-A),p=A-h,f=te*u,g=f-(f-u),m=u-g,C=p*m-(S-h*g-p*g-h*m),b=$-C,d=$-b,oe[0]=$-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-S,d=x-b,oe[1]=x-(b+d)+(d-S),D=y+b,d=D-y,oe[2]=y-(D-d)+(b-d),oe[3]=D;const T=Pp(F,I$,4,oe,N$);v=s*c,f=te*s,h=f-(f-s),p=s-h,f=te*c,g=f-(f-c),m=c-g,$=p*m-(v-h*g-p*g-h*m),S=l*u,f=te*l,h=f-(f-l),p=l-h,f=te*u,g=f-(f-u),m=u-g,C=p*m-(S-h*g-p*g-h*m),b=$-C,d=$-b,oe[0]=$-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-S,d=x-b,oe[1]=x-(b+d)+(d-S),D=y+b,d=D-y,oe[2]=y-(D-d)+(b-d),oe[3]=D;const B=Pp(T,N$,4,oe,z$);return z$[B-1]}function Eu(t,e,n,r,a,i){const o=(e-i)*(n-a),s=(t-a)*(r-i),l=o-s,u=Math.abs(o+s);return Math.abs(l)>=Iz*u?l:-Oz(t,e,n,r,a,i,u)}const O$=Math.pow(2,-52),Lu=new Uint32Array(512);class Ru{static from(e,n=Xz,r=Wz){const a=e.length,i=new Float64Array(a*2);for(let o=0;o<a;o++){const s=e[o];i[2*o]=n(s),i[2*o+1]=r(s)}return new Ru(i)}constructor(e){const n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:r,_hullTri:a,_hullHash:i}=this,o=e.length>>1;let s=1/0,l=1/0,u=-1/0,c=-1/0;for(let _=0;_<o;_++){const P=e[2*_],A=e[2*_+1];P<s&&(s=P),A<l&&(l=A),P>u&&(u=P),A>c&&(c=A),this._ids[_]=_}const d=(s+u)/2,f=(l+c)/2;let h,p,g;for(let _=0,P=1/0;_<o;_++){const A=Fp(d,f,e[2*_],e[2*_+1]);A<P&&(h=_,P=A)}const m=e[2*h],b=e[2*h+1];for(let _=0,P=1/0;_<o;_++){if(_===h)continue;const A=Fp(m,b,e[2*_],e[2*_+1]);A<P&&A>0&&(p=_,P=A)}let y=e[2*p],x=e[2*p+1],v=1/0;for(let _=0;_<o;_++){if(_===h||_===p)continue;const P=Vz(m,b,y,x,e[2*_],e[2*_+1]);P<v&&(g=_,v=P)}let $=e[2*g],S=e[2*g+1];if(v===1/0){for(let A=0;A<o;A++)this._dists[A]=e[2*A]-e[0]||e[2*A+1]-e[1];pi(this._ids,this._dists,0,o-1);const _=new Uint32Array(o);let P=0;for(let A=0,I=-1/0;A<o;A++){const k=this._ids[A],w=this._dists[k];w>I&&(_[P++]=k,I=w)}this.hull=_.subarray(0,P),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Eu(m,b,y,x,$,S)<0){const _=p,P=y,A=x;p=g,y=$,x=S,g=_,$=P,S=A}const C=Hz(m,b,y,x,$,S);this._cx=C.x,this._cy=C.y;for(let _=0;_<o;_++)this._dists[_]=Fp(e[2*_],e[2*_+1],C.x,C.y);pi(this._ids,this._dists,0,o-1),this._hullStart=h;let D=3;r[h]=n[g]=p,r[p]=n[h]=g,r[g]=n[p]=h,a[h]=0,a[p]=1,a[g]=2,i.fill(-1),i[this._hashKey(m,b)]=h,i[this._hashKey(y,x)]=p,i[this._hashKey($,S)]=g,this.trianglesLen=0,this._addTriangle(h,p,g,-1,-1,-1);for(let _=0,P,A;_<this._ids.length;_++){const I=this._ids[_],k=e[2*I],w=e[2*I+1];if(_>0&&Math.abs(k-P)<=O$&&Math.abs(w-A)<=O$||(P=k,A=w,I===h||I===p||I===g))continue;let F=0;for(let z=0,V=this._hashKey(k,w);z<this._hashSize&&(F=i[(V+z)%this._hashSize],!(F!==-1&&F!==r[F]));z++);F=n[F];let T=F,B;for(;B=r[T],Eu(k,w,e[2*T],e[2*T+1],e[2*B],e[2*B+1])>=0;)if(T=B,T===F){T=-1;break}if(T===-1)continue;let N=this._addTriangle(T,I,r[T],-1,-1,a[T]);a[I]=this._legalize(N+2),a[T]=N,D++;let E=r[T];for(;B=r[E],Eu(k,w,e[2*E],e[2*E+1],e[2*B],e[2*B+1])<0;)N=this._addTriangle(E,I,B,a[I],-1,a[E]),a[I]=this._legalize(N+2),r[E]=E,D--,E=B;if(T===F)for(;B=n[T],Eu(k,w,e[2*B],e[2*B+1],e[2*T],e[2*T+1])<0;)N=this._addTriangle(B,I,T,-1,a[T],a[B]),this._legalize(N+2),a[B]=N,r[T]=T,D--,T=B;this._hullStart=n[I]=T,r[T]=n[E]=I,r[I]=E,i[this._hashKey(k,w)]=I,i[this._hashKey(e[2*T],e[2*T+1])]=T}this.hull=new Uint32Array(D);for(let _=0,P=this._hullStart;_<D;_++)this.hull[_]=P,P=r[P];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(Gz(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:r,coords:a}=this;let i=0,o=0;for(;;){const s=r[e],l=e-e%3;if(o=l+(e+2)%3,s===-1){if(i===0)break;e=Lu[--i];continue}const u=s-s%3,c=l+(e+1)%3,d=u+(s+2)%3,f=n[o],h=n[e],p=n[c],g=n[d];if(jz(a[2*f],a[2*f+1],a[2*h],a[2*h+1],a[2*p],a[2*p+1],a[2*g],a[2*g+1])){n[e]=g,n[s]=f;const m=r[d];if(m===-1){let y=this._hullStart;do{if(this._hullTri[y]===d){this._hullTri[y]=e;break}y=this._hullPrev[y]}while(y!==this._hullStart)}this._link(e,m),this._link(s,r[o]),this._link(o,d);const b=u+(s+1)%3;i<Lu.length&&(Lu[i++]=b)}else{if(i===0)break;e=Lu[--i]}}return o}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,a,i,o){const s=this.trianglesLen;return this._triangles[s]=e,this._triangles[s+1]=n,this._triangles[s+2]=r,this._link(s,a),this._link(s+1,i),this._link(s+2,o),this.trianglesLen+=3,s}}function Gz(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function Fp(t,e,n,r){const a=t-n,i=e-r;return a*a+i*i}function jz(t,e,n,r,a,i,o,s){const l=t-o,u=e-s,c=n-o,d=r-s,f=a-o,h=i-s,p=l*l+u*u,g=c*c+d*d,m=f*f+h*h;return l*(d*m-g*h)-u*(c*m-g*f)+p*(c*h-d*f)<0}function Vz(t,e,n,r,a,i){const o=n-t,s=r-e,l=a-t,u=i-e,c=o*o+s*s,d=l*l+u*u,f=.5/(o*u-s*l),h=(u*c-s*d)*f,p=(o*d-l*c)*f;return h*h+p*p}function Hz(t,e,n,r,a,i){const o=n-t,s=r-e,l=a-t,u=i-e,c=o*o+s*s,d=l*l+u*u,f=.5/(o*u-s*l),h=t+(u*c-s*d)*f,p=e+(o*d-l*c)*f;return{x:h,y:p}}function pi(t,e,n,r){if(r-n<=20)for(let a=n+1;a<=r;a++){const i=t[a],o=e[i];let s=a-1;for(;s>=n&&e[t[s]]>o;)t[s+1]=t[s--];t[s+1]=i}else{const a=n+r>>1;let i=n+1,o=r;Yo(t,a,i),e[t[n]]>e[t[r]]&&Yo(t,n,r),e[t[i]]>e[t[r]]&&Yo(t,i,r),e[t[n]]>e[t[i]]&&Yo(t,n,i);const s=t[i],l=e[s];for(;;){do i++;while(e[t[i]]<l);do o--;while(e[t[o]]>l);if(o<i)break;Yo(t,i,o)}t[n+1]=t[o],t[o]=s,r-i+1>=o-n?(pi(t,e,i,r),pi(t,e,n,o-1)):(pi(t,e,n,o-1),pi(t,e,i,r))}}function Yo(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Xz(t){return t[0]}function Wz(t){return t[1]}const G$=1e-6;class ra{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;const a=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${a},${i}`:(Math.abs(this._x1-a)>G$||Math.abs(this._y1-i)>G$)&&(this._+="L"+a+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=a},${this._y1=i}`)}rect(e,n,r,a){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+a}h${-r}Z`}value(){return this._||null}}class Tp{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}}class j${constructor(e,[n,r,a,i]=[0,0,960,500]){if(!((a=+a)>=(n=+n))||!((i=+i)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=a,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:n,triangles:r},vectors:a}=this;let i,o;const s=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let g=0,m=0,b=r.length,y,x;g<b;g+=3,m+=2){const v=r[g]*2,$=r[g+1]*2,S=r[g+2]*2,C=e[v],D=e[v+1],_=e[$],P=e[$+1],A=e[S],I=e[S+1],k=_-C,w=P-D,F=A-C,T=I-D,B=(k*T-w*F)*2;if(Math.abs(B)<1e-9){if(i===void 0){i=o=0;for(const E of n)i+=e[E*2],o+=e[E*2+1];i/=n.length,o/=n.length}const N=1e9*Math.sign((i-C)*T-(o-D)*F);y=(C+A)/2-N*T,x=(D+I)/2+N*F}else{const N=1/B,E=k*k+w*w,z=F*F+T*T;y=C+(T*E-w*z)*N,x=D+(k*z-F*E)*N}s[m]=y,s[m+1]=x}let l=n[n.length-1],u,c=l*4,d,f=e[2*l],h,p=e[2*l+1];a.fill(0);for(let g=0;g<n.length;++g)l=n[g],u=c,d=f,h=p,c=l*4,f=e[2*l],p=e[2*l+1],a[u+2]=a[c]=h-p,a[u+3]=a[c+1]=f-d}render(e){const n=e==null?e=new ra:void 0,{delaunay:{halfedges:r,inedges:a,hull:i},circumcenters:o,vectors:s}=this;if(i.length<=1)return null;for(let c=0,d=r.length;c<d;++c){const f=r[c];if(f<c)continue;const h=Math.floor(c/3)*2,p=Math.floor(f/3)*2,g=o[h],m=o[h+1],b=o[p],y=o[p+1];this._renderSegment(g,m,b,y,e)}let l,u=i[i.length-1];for(let c=0;c<i.length;++c){l=u,u=i[c];const d=Math.floor(a[u]/3)*2,f=o[d],h=o[d+1],p=l*4,g=this._project(f,h,s[p+2],s[p+3]);g&&this._renderSegment(f,h,g[0],g[1],e)}return n&&n.value()}renderBounds(e){const n=e==null?e=new ra:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){const r=n==null?n=new ra:void 0,a=this._clip(e);if(a===null||!a.length)return;n.moveTo(a[0],a[1]);let i=a.length;for(;a[0]===a[i-2]&&a[1]===a[i-1]&&i>1;)i-=2;for(let o=2;o<i;o+=2)(a[o]!==a[o-2]||a[o+1]!==a[o-1])&&n.lineTo(a[o],a[o+1]);return n.closePath(),r&&r.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){const a=this.cellPolygon(n);a&&(a.index=n,yield a)}}cellPolygon(e){const n=new Tp;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,a,i){let o;const s=this._regioncode(e,n),l=this._regioncode(r,a);s===0&&l===0?(i.moveTo(e,n),i.lineTo(r,a)):(o=this._clipSegment(e,n,r,a,s,l))&&(i.moveTo(o[0],o[1]),i.lineTo(o[2],o[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){const n=this._clip(e);if(n)for(const r of this.delaunay.neighbors(e)){const a=this._clip(r);if(a){t:for(let i=0,o=n.length;i<o;i+=2)for(let s=0,l=a.length;s<l;s+=2)if(n[i]===a[s]&&n[i+1]===a[s+1]&&n[(i+2)%o]===a[(s+l-2)%l]&&n[(i+3)%o]===a[(s+l-1)%l]){yield r;break t}}}}_cell(e){const{circumcenters:n,delaunay:{inedges:r,halfedges:a,triangles:i}}=this,o=r[e];if(o===-1)return null;const s=[];let l=o;do{const u=Math.floor(l/3);if(s.push(n[u*2],n[u*2+1]),l=l%3===2?l-2:l+1,i[l]!==e)break;l=a[l]}while(l!==o&&l!==-1);return s}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(e);if(n===null)return null;const{vectors:r}=this,a=e*4;return this._simplify(r[a]||r[a+1]?this._clipInfinite(e,n,r[a],r[a+1],r[a+2],r[a+3]):this._clipFinite(e,n))}_clipFinite(e,n){const r=n.length;let a=null,i,o,s=n[r-2],l=n[r-1],u,c=this._regioncode(s,l),d,f=0;for(let h=0;h<r;h+=2)if(i=s,o=l,s=n[h],l=n[h+1],u=c,c=this._regioncode(s,l),u===0&&c===0)d=f,f=0,a?a.push(s,l):a=[s,l];else{let p,g,m,b,y;if(u===0){if((p=this._clipSegment(i,o,s,l,u,c))===null)continue;[g,m,b,y]=p}else{if((p=this._clipSegment(s,l,i,o,c,u))===null)continue;[b,y,g,m]=p,d=f,f=this._edgecode(g,m),d&&f&&this._edge(e,d,f,a,a.length),a?a.push(g,m):a=[g,m]}d=f,f=this._edgecode(b,y),d&&f&&this._edge(e,d,f,a,a.length),a?a.push(b,y):a=[b,y]}if(a)d=f,f=this._edgecode(a[0],a[1]),d&&f&&this._edge(e,d,f,a,a.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return a}_clipSegment(e,n,r,a,i,o){const s=i<o;for(s&&([e,n,r,a,i,o]=[r,a,e,n,o,i]);;){if(i===0&&o===0)return s?[r,a,e,n]:[e,n,r,a];if(i&o)return null;let l,u,c=i||o;c&8?(l=e+(r-e)*(this.ymax-n)/(a-n),u=this.ymax):c&4?(l=e+(r-e)*(this.ymin-n)/(a-n),u=this.ymin):c&2?(u=n+(a-n)*(this.xmax-e)/(r-e),l=this.xmax):(u=n+(a-n)*(this.xmin-e)/(r-e),l=this.xmin),i?(e=l,n=u,i=this._regioncode(e,n)):(r=l,a=u,o=this._regioncode(r,a))}}_clipInfinite(e,n,r,a,i,o){let s=Array.from(n),l;if((l=this._project(s[0],s[1],r,a))&&s.unshift(l[0],l[1]),(l=this._project(s[s.length-2],s[s.length-1],i,o))&&s.push(l[0],l[1]),s=this._clipFinite(e,s))for(let u=0,c=s.length,d,f=this._edgecode(s[c-2],s[c-1]);u<c;u+=2)d=f,f=this._edgecode(s[u],s[u+1]),d&&f&&(u=this._edge(e,d,f,s,u),c=s.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(e,n,r,a,i){for(;n!==r;){let o,s;switch(n){case 5:n=4;continue;case 4:n=6,o=this.xmax,s=this.ymin;break;case 6:n=2;continue;case 2:n=10,o=this.xmax,s=this.ymax;break;case 10:n=8;continue;case 8:n=9,o=this.xmin,s=this.ymax;break;case 9:n=1;continue;case 1:n=5,o=this.xmin,s=this.ymin;break}(a[i]!==o||a[i+1]!==s)&&this.contains(e,o,s)&&(a.splice(i,0,o,s),i+=2)}return i}_project(e,n,r,a){let i=1/0,o,s,l;if(a<0){if(n<=this.ymin)return null;(o=(this.ymin-n)/a)<i&&(l=this.ymin,s=e+(i=o)*r)}else if(a>0){if(n>=this.ymax)return null;(o=(this.ymax-n)/a)<i&&(l=this.ymax,s=e+(i=o)*r)}if(r>0){if(e>=this.xmax)return null;(o=(this.xmax-e)/r)<i&&(s=this.xmax,l=n+(i=o)*a)}else if(r<0){if(e<=this.xmin)return null;(o=(this.xmin-e)/r)<i&&(s=this.xmin,l=n+(i=o)*a)}return[s,l]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){const r=(n+2)%e.length,a=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[a]||e[n+1]===e[r+1]&&e[r+1]===e[a+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}}const Uz=2*Math.PI,gi=Math.pow;function Yz(t){return t[0]}function qz(t){return t[1]}function Zz(t){const{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){const a=2*e[r],i=2*e[r+1],o=2*e[r+2];if((n[o]-n[a])*(n[i+1]-n[a+1])-(n[i]-n[a])*(n[o+1]-n[a+1])>1e-10)return!1}return!0}function Jz(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class wp{static from(e,n=Yz,r=qz,a){return new wp("length"in e?Kz(e,n,r,a):Float64Array.from(Qz(e,n,r,a)))}constructor(e){this._delaunator=new Ru(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&Zz(e)){this.collinear=Int32Array.from({length:n.length/2},(f,h)=>h).sort((f,h)=>n[2*f]-n[2*h]||n[2*f+1]-n[2*h+1]);const l=this.collinear[0],u=this.collinear[this.collinear.length-1],c=[n[2*l],n[2*l+1],n[2*u],n[2*u+1]],d=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let f=0,h=n.length/2;f<h;++f){const p=Jz(n[2*f],n[2*f+1],d);n[2*f]=p[0],n[2*f+1]=p[1]}this._delaunator=new Ru(n)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,a=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let l=0,u=r.length;l<u;++l){const c=i[l%3===2?l-2:l+1];(r[l]===-1||o[c]===-1)&&(o[c]=l)}for(let l=0,u=a.length;l<u;++l)s[a[l]]=l;a.length<=2&&a.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=a[0],o[a[0]]=1,a.length===2&&(o[a[1]]=0,this.triangles[1]=a[1],this.triangles[2]=a[1]))}voronoi(e){return new j$(this,e)}*neighbors(e){const{inedges:n,hull:r,_hullIndex:a,halfedges:i,triangles:o,collinear:s}=this;if(s){const d=s.indexOf(e);d>0&&(yield s[d-1]),d<s.length-1&&(yield s[d+1]);return}const l=n[e];if(l===-1)return;let u=l,c=-1;do{if(yield c=o[u],u=u%3===2?u-2:u+1,o[u]!==e)return;if(u=i[u],u===-1){const d=r[(a[e]+1)%r.length];d!==c&&(yield d);return}}while(u!==l)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;const a=r;let i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==a;)r=i;return i}_step(e,n,r){const{inedges:a,hull:i,_hullIndex:o,halfedges:s,triangles:l,points:u}=this;if(a[e]===-1||!u.length)return(e+1)%(u.length>>1);let c=e,d=gi(n-u[e*2],2)+gi(r-u[e*2+1],2);const f=a[e];let h=f;do{let p=l[h];const g=gi(n-u[p*2],2)+gi(r-u[p*2+1],2);if(g<d&&(d=g,c=p),h=h%3===2?h-2:h+1,l[h]!==e)break;if(h=s[h],h===-1){if(h=i[(o[e]+1)%i.length],h!==p&&gi(n-u[h*2],2)+gi(r-u[h*2+1],2)<d)return h;break}}while(h!==f);return c}render(e){const n=e==null?e=new ra:void 0,{points:r,halfedges:a,triangles:i}=this;for(let o=0,s=a.length;o<s;++o){const l=a[o];if(l<o)continue;const u=i[o]*2,c=i[l]*2;e.moveTo(r[u],r[u+1]),e.lineTo(r[c],r[c+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;const r=e==null?e=new ra:void 0,{points:a}=this;for(let i=0,o=a.length;i<o;i+=2){const s=a[i],l=a[i+1];e.moveTo(s+n,l),e.arc(s,l,n,0,Uz)}return r&&r.value()}renderHull(e){const n=e==null?e=new ra:void 0,{hull:r,points:a}=this,i=r[0]*2,o=r.length;e.moveTo(a[i],a[i+1]);for(let s=1;s<o;++s){const l=2*r[s];e.lineTo(a[l],a[l+1])}return e.closePath(),n&&n.value()}hullPolygon(){const e=new Tp;return this.renderHull(e),e.value()}renderTriangle(e,n){const r=n==null?n=new ra:void 0,{points:a,triangles:i}=this,o=i[e*=3]*2,s=i[e+1]*2,l=i[e+2]*2;return n.moveTo(a[o],a[o+1]),n.lineTo(a[s],a[s+1]),n.lineTo(a[l],a[l+1]),n.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){const n=new Tp;return this.renderTriangle(e,n),n.value()}}function Kz(t,e,n,r){const a=t.length,i=new Float64Array(a*2);for(let o=0;o<a;++o){const s=t[o];i[o*2]=e.call(r,s,o,t),i[o*2+1]=n.call(r,s,o,t)}return i}function*Qz(t,e,n,r){let a=0;for(const i of t)yield e.call(r,i,a,t),yield n.call(r,i,a,t),++a}var V$={},Bp={},Mp=34,qo=10,Ep=13;function H$(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function tO(t,e){var n=H$(t);return function(r,a){return e(n(r),a,t)}}function X$(t){var e=Object.create(null),n=[];return t.forEach(function(r){for(var a in r)a in e||n.push(e[a]=a)}),n}function Se(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function eO(t){return t<0?"-"+Se(-t,6):t>9999?"+"+Se(t,6):Se(t,4)}function nO(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":eO(t.getUTCFullYear())+"-"+Se(t.getUTCMonth()+1,2)+"-"+Se(t.getUTCDate(),2)+(a?"T"+Se(e,2)+":"+Se(n,2)+":"+Se(r,2)+"."+Se(a,3)+"Z":r?"T"+Se(e,2)+":"+Se(n,2)+":"+Se(r,2)+"Z":n||e?"T"+Se(e,2)+":"+Se(n,2)+"Z":"")}function ku(t){var e=new RegExp('["'+t+`
58
+ \r]`),n=t.charCodeAt(0);function r(d,f){var h,p,g=a(d,function(m,b){if(h)return h(m,b-1);p=m,h=f?tO(m,f):H$(m)});return g.columns=p||[],g}function a(d,f){var h=[],p=d.length,g=0,m=0,b,y=p<=0,x=!1;d.charCodeAt(p-1)===qo&&--p,d.charCodeAt(p-1)===Ep&&--p;function v(){if(y)return Bp;if(x)return x=!1,V$;var S,C=g,D;if(d.charCodeAt(C)===Mp){for(;g++<p&&d.charCodeAt(g)!==Mp||d.charCodeAt(++g)===Mp;);return(S=g)>=p?y=!0:(D=d.charCodeAt(g++))===qo?x=!0:D===Ep&&(x=!0,d.charCodeAt(g)===qo&&++g),d.slice(C+1,S-1).replace(/""/g,'"')}for(;g<p;){if((D=d.charCodeAt(S=g++))===qo)x=!0;else if(D===Ep)x=!0,d.charCodeAt(g)===qo&&++g;else if(D!==n)continue;return d.slice(C,S)}return y=!0,d.slice(C,p)}for(;(b=v())!==Bp;){for(var $=[];b!==V$&&b!==Bp;)$.push(b),b=v();f&&($=f($,m++))==null||h.push($)}return h}function i(d,f){return d.map(function(h){return f.map(function(p){return c(h[p])}).join(t)})}function o(d,f){return f==null&&(f=X$(d)),[f.map(c).join(t)].concat(i(d,f)).join(`
59
+ `)}function s(d,f){return f==null&&(f=X$(d)),i(d,f).join(`
60
+ `)}function l(d){return d.map(u).join(`
61
+ `)}function u(d){return d.map(c).join(t)}function c(d){return d==null?"":d instanceof Date?nO(d):e.test(d+="")?'"'+d.replace(/"/g,'""')+'"':d}return{parse:r,parseRows:a,format:o,formatBody:s,formatRows:l,formatRow:u,formatValue:c}}var aa=ku(","),W$=aa.parse,rO=aa.parseRows,aO=aa.format,iO=aa.formatBody,oO=aa.formatRows,sO=aa.formatRow,lO=aa.formatValue,ia=ku(" "),U$=ia.parse,uO=ia.parseRows,cO=ia.format,fO=ia.formatBody,dO=ia.formatRows,hO=ia.formatRow,pO=ia.formatValue;function gO(t){for(var e in t){var n=t[e].trim(),r,a;if(!n)n=null;else if(n==="true")n=!0;else if(n==="false")n=!1;else if(n==="NaN")n=NaN;else if(!isNaN(r=+n))n=r;else if(a=n.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))mO&&a[4]&&!a[7]&&(n=n.replace(/-/g,"/").replace(/T/," ")),n=new Date(n);else continue;t[e]=n}return t}const mO=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function yO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function bO(t,e){return fetch(t,e).then(yO)}function xO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}function vO(t,e){return fetch(t,e).then(xO)}function $O(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Iu(t,e){return fetch(t,e).then($O)}function Y$(t){return function(e,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=void 0),Iu(e,n).then(function(a){return t(a,r)})}}function _O(t,e,n,r){arguments.length===3&&typeof n=="function"&&(r=n,n=void 0);var a=ku(t);return Iu(e,n).then(function(i){return a.parse(i,r)})}var AO=Y$(W$),SO=Y$(U$);function DO(t,e){return new Promise(function(n,r){var a=new Image;for(var i in e)a[i]=e[i];a.onerror=r,a.onload=function(){n(a)},a.src=t})}function CO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(!(t.status===204||t.status===205))return t.json()}function PO(t,e){return fetch(t,e).then(CO)}function Lp(t){return(e,n)=>Iu(e,n).then(r=>new DOMParser().parseFromString(r,t))}const FO=Lp("application/xml");var TO=Lp("text/html"),wO=Lp("image/svg+xml");function Rp(t,e){var n,r=1;t==null&&(t=0),e==null&&(e=0);function a(){var i,o=n.length,s,l=0,u=0;for(i=0;i<o;++i)s=n[i],l+=s.x,u+=s.y;for(l=(l/o-t)*r,u=(u/o-e)*r,i=0;i<o;++i)s=n[i],s.x-=l,s.y-=u}return a.initialize=function(i){n=i},a.x=function(i){return arguments.length?(t=+i,a):t},a.y=function(i){return arguments.length?(e=+i,a):e},a.strength=function(i){return arguments.length?(r=+i,a):r},a}function BO(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return q$(this.cover(e,n),e,n,t)}function q$(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var a,i=t._root,o={data:r},s=t._x0,l=t._y0,u=t._x1,c=t._y1,d,f,h,p,g,m,b,y;if(!i)return t._root=o,t;for(;i.length;)if((g=e>=(d=(s+u)/2))?s=d:u=d,(m=n>=(f=(l+c)/2))?l=f:c=f,a=i,!(i=i[b=m<<1|g]))return a[b]=o,t;if(h=+t._x.call(null,i.data),p=+t._y.call(null,i.data),e===h&&n===p)return o.next=i,a?a[b]=o:t._root=o,t;do a=a?a[b]=new Array(4):t._root=new Array(4),(g=e>=(d=(s+u)/2))?s=d:u=d,(m=n>=(f=(l+c)/2))?l=f:c=f;while((b=m<<1|g)===(y=(p>=f)<<1|h>=d));return a[y]=i,a[b]=o,t}function MO(t){var e,n,r=t.length,a,i,o=new Array(r),s=new Array(r),l=1/0,u=1/0,c=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(a=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=a,s[n]=i,a<l&&(l=a),a>c&&(c=a),i<u&&(u=i),i>d&&(d=i));if(l>c||u>d)return this;for(this.cover(l,u).cover(c,d),n=0;n<r;++n)q$(this,o[n],s[n],t[n]);return this}function EO(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,a=this._x1,i=this._y1;if(isNaN(n))a=(n=Math.floor(t))+1,i=(r=Math.floor(e))+1;else{for(var o=a-n||1,s=this._root,l,u;n>t||t>=a||r>e||e>=i;)switch(u=(e<r)<<1|t<n,l=new Array(4),l[u]=s,s=l,o*=2,u){case 0:a=n+o,i=r+o;break;case 1:n=a-o,i=r+o;break;case 2:a=n+o,r=i-o;break;case 3:n=a-o,r=i-o;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=a,this._y1=i,this}function LO(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t}function RO(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function se(t,e,n,r,a){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=a}function kO(t,e,n){var r,a=this._x0,i=this._y0,o,s,l,u,c=this._x1,d=this._y1,f=[],h=this._root,p,g;for(h&&f.push(new se(h,a,i,c,d)),n==null?n=1/0:(a=t-n,i=e-n,c=t+n,d=e+n,n*=n);p=f.pop();)if(!(!(h=p.node)||(o=p.x0)>c||(s=p.y0)>d||(l=p.x1)<a||(u=p.y1)<i))if(h.length){var m=(o+l)/2,b=(s+u)/2;f.push(new se(h[3],m,b,l,u),new se(h[2],o,b,m,u),new se(h[1],m,s,l,b),new se(h[0],o,s,m,b)),(g=(e>=b)<<1|t>=m)&&(p=f[f.length-1],f[f.length-1]=f[f.length-1-g],f[f.length-1-g]=p)}else{var y=t-+this._x.call(null,h.data),x=e-+this._y.call(null,h.data),v=y*y+x*x;if(v<n){var $=Math.sqrt(n=v);a=t-$,i=e-$,c=t+$,d=e+$,r=h.data}}return r}function IO(t){if(isNaN(c=+this._x.call(null,t))||isNaN(d=+this._y.call(null,t)))return this;var e,n=this._root,r,a,i,o=this._x0,s=this._y0,l=this._x1,u=this._y1,c,d,f,h,p,g,m,b;if(!n)return this;if(n.length)for(;;){if((p=c>=(f=(o+l)/2))?o=f:l=f,(g=d>=(h=(s+u)/2))?s=h:u=h,e=n,!(n=n[m=g<<1|p]))return this;if(!n.length)break;(e[m+1&3]||e[m+2&3]||e[m+3&3])&&(r=e,b=m)}for(;n.data!==t;)if(a=n,!(n=n.next))return this;return(i=n.next)&&delete n.next,a?(i?a.next=i:delete a.next,this):e?(i?e[m]=i:delete e[m],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[b]=n:this._root=n),this):(this._root=i,this)}function NO(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function zO(){return this._root}function OO(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t}function GO(t){var e=[],n,r=this._root,a,i,o,s,l;for(r&&e.push(new se(r,this._x0,this._y0,this._x1,this._y1));n=e.pop();)if(!t(r=n.node,i=n.x0,o=n.y0,s=n.x1,l=n.y1)&&r.length){var u=(i+s)/2,c=(o+l)/2;(a=r[3])&&e.push(new se(a,u,c,s,l)),(a=r[2])&&e.push(new se(a,i,c,u,l)),(a=r[1])&&e.push(new se(a,u,o,s,c)),(a=r[0])&&e.push(new se(a,i,o,u,c))}return this}function jO(t){var e=[],n=[],r;for(this._root&&e.push(new se(this._root,this._x0,this._y0,this._x1,this._y1));r=e.pop();){var a=r.node;if(a.length){var i,o=r.x0,s=r.y0,l=r.x1,u=r.y1,c=(o+l)/2,d=(s+u)/2;(i=a[0])&&e.push(new se(i,o,s,c,d)),(i=a[1])&&e.push(new se(i,c,s,l,d)),(i=a[2])&&e.push(new se(i,o,d,c,u)),(i=a[3])&&e.push(new se(i,c,d,l,u))}n.push(r)}for(;r=n.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function VO(t){return t[0]}function HO(t){return arguments.length?(this._x=t,this):this._x}function XO(t){return t[1]}function WO(t){return arguments.length?(this._y=t,this):this._y}function Nu(t,e,n){var r=new kp(e??VO,n??XO,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function kp(t,e,n,r,a,i){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=a,this._y1=i,this._root=void 0}function Z$(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var le=Nu.prototype=kp.prototype;le.copy=function(){var t=new kp(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=Z$(e),t;for(n=[{source:e,target:t._root=new Array(4)}];e=n.pop();)for(var a=0;a<4;++a)(r=e.source[a])&&(r.length?n.push({source:r,target:e.target[a]=new Array(4)}):e.target[a]=Z$(r));return t},le.add=BO,le.addAll=MO,le.cover=EO,le.data=LO,le.extent=RO,le.find=kO,le.remove=IO,le.removeAll=NO,le.root=zO,le.size=OO,le.visit=GO,le.visitAfter=jO,le.x=HO,le.y=WO;function jt(t){return function(){return t}}function dr(t){return(t()-.5)*1e-6}function UO(t){return t.x+t.vx}function YO(t){return t.y+t.vy}function zu(t){var e,n,r,a=1,i=1;typeof t!="function"&&(t=jt(t==null?1:+t));function o(){for(var u,c=e.length,d,f,h,p,g,m,b=0;b<i;++b)for(d=Nu(e,UO,YO).visitAfter(s),u=0;u<c;++u)f=e[u],g=n[f.index],m=g*g,h=f.x+f.vx,p=f.y+f.vy,d.visit(y);function y(x,v,$,S,C){var D=x.data,_=x.r,P=g+_;if(D){if(D.index>f.index){var A=h-D.x-D.vx,I=p-D.y-D.vy,k=A*A+I*I;k<P*P&&(A===0&&(A=dr(r),k+=A*A),I===0&&(I=dr(r),k+=I*I),k=(P-(k=Math.sqrt(k)))/k*a,f.vx+=(A*=k)*(P=(_*=_)/(m+_)),f.vy+=(I*=k)*P,D.vx-=A*(P=1-P),D.vy-=I*P)}return}return v>h+P||S<h-P||$>p+P||C<p-P}}function s(u){if(u.data)return u.r=n[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(e){var u,c=e.length,d;for(n=new Array(c),u=0;u<c;++u)d=e[u],n[d.index]=+t(d,u,e)}}return o.initialize=function(u,c){e=u,r=c,l()},o.iterations=function(u){return arguments.length?(i=+u,o):i},o.strength=function(u){return arguments.length?(a=+u,o):a},o.radius=function(u){return arguments.length?(t=typeof u=="function"?u:jt(+u),l(),o):t},o}function qO(t){return t.index}function J$(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function Ip(t){var e=qO,n=d,r,a=jt(30),i,o,s,l,u,c=1;t==null&&(t=[]);function d(m){return 1/Math.min(s[m.source.index],s[m.target.index])}function f(m){for(var b=0,y=t.length;b<c;++b)for(var x=0,v,$,S,C,D,_,P;x<y;++x)v=t[x],$=v.source,S=v.target,C=S.x+S.vx-$.x-$.vx||dr(u),D=S.y+S.vy-$.y-$.vy||dr(u),_=Math.sqrt(C*C+D*D),_=(_-i[x])/_*m*r[x],C*=_,D*=_,S.vx-=C*(P=l[x]),S.vy-=D*P,$.vx+=C*(P=1-P),$.vy+=D*P}function h(){if(o){var m,b=o.length,y=t.length,x=new Map(o.map(($,S)=>[e($,S,o),$])),v;for(m=0,s=new Array(b);m<y;++m)v=t[m],v.index=m,typeof v.source!="object"&&(v.source=J$(x,v.source)),typeof v.target!="object"&&(v.target=J$(x,v.target)),s[v.source.index]=(s[v.source.index]||0)+1,s[v.target.index]=(s[v.target.index]||0)+1;for(m=0,l=new Array(y);m<y;++m)v=t[m],l[m]=s[v.source.index]/(s[v.source.index]+s[v.target.index]);r=new Array(y),p(),i=new Array(y),g()}}function p(){if(o)for(var m=0,b=t.length;m<b;++m)r[m]=+n(t[m],m,t)}function g(){if(o)for(var m=0,b=t.length;m<b;++m)i[m]=+a(t[m],m,t)}return f.initialize=function(m,b){o=m,u=b,h()},f.links=function(m){return arguments.length?(t=m,h(),f):t},f.id=function(m){return arguments.length?(e=m,f):e},f.iterations=function(m){return arguments.length?(c=+m,f):c},f.strength=function(m){return arguments.length?(n=typeof m=="function"?m:jt(+m),p(),f):n},f.distance=function(m){return arguments.length?(a=typeof m=="function"?m:jt(+m),g(),f):a},f}const ZO=1664525,JO=1013904223,K$=4294967296;function KO(){let t=1;return()=>(t=(ZO*t+JO)%K$)/K$}function QO(t){return t.x}function tG(t){return t.y}var eG=10,nG=Math.PI*(3-Math.sqrt(5));function Ou(t){var e,n=1,r=.001,a=1-Math.pow(r,1/300),i=0,o=.6,s=new Map,l=Du(d),u=Hr("tick","end"),c=KO();t==null&&(t=[]);function d(){f(),u.call("tick",e),n<r&&(l.stop(),u.call("end",e))}function f(g){var m,b=t.length,y;g===void 0&&(g=1);for(var x=0;x<g;++x)for(n+=(i-n)*a,s.forEach(function(v){v(n)}),m=0;m<b;++m)y=t[m],y.fx==null?y.x+=y.vx*=o:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=o:(y.y=y.fy,y.vy=0);return e}function h(){for(var g=0,m=t.length,b;g<m;++g){if(b=t[g],b.index=g,b.fx!=null&&(b.x=b.fx),b.fy!=null&&(b.y=b.fy),isNaN(b.x)||isNaN(b.y)){var y=eG*Math.sqrt(.5+g),x=g*nG;b.x=y*Math.cos(x),b.y=y*Math.sin(x)}(isNaN(b.vx)||isNaN(b.vy))&&(b.vx=b.vy=0)}}function p(g){return g.initialize&&g.initialize(t,c),g}return h(),e={tick:f,restart:function(){return l.restart(d),e},stop:function(){return l.stop(),e},nodes:function(g){return arguments.length?(t=g,h(),s.forEach(p),e):t},alpha:function(g){return arguments.length?(n=+g,e):n},alphaMin:function(g){return arguments.length?(r=+g,e):r},alphaDecay:function(g){return arguments.length?(a=+g,e):+a},alphaTarget:function(g){return arguments.length?(i=+g,e):i},velocityDecay:function(g){return arguments.length?(o=1-g,e):1-o},randomSource:function(g){return arguments.length?(c=g,s.forEach(p),e):c},force:function(g,m){return arguments.length>1?(m==null?s.delete(g):s.set(g,p(m)),e):s.get(g)},find:function(g,m,b){var y=0,x=t.length,v,$,S,C,D;for(b==null?b=1/0:b*=b,y=0;y<x;++y)C=t[y],v=g-C.x,$=m-C.y,S=v*v+$*$,S<b&&(D=C,b=S);return D},on:function(g,m){return arguments.length>1?(u.on(g,m),e):u.on(g)}}}function Gu(){var t,e,n,r,a=jt(-30),i,o=1,s=1/0,l=.81;function u(h){var p,g=t.length,m=Nu(t,QO,tG).visitAfter(d);for(r=h,p=0;p<g;++p)e=t[p],m.visit(f)}function c(){if(t){var h,p=t.length,g;for(i=new Array(p),h=0;h<p;++h)g=t[h],i[g.index]=+a(g,h,t)}}function d(h){var p=0,g,m,b=0,y,x,v;if(h.length){for(y=x=v=0;v<4;++v)(g=h[v])&&(m=Math.abs(g.value))&&(p+=g.value,b+=m,y+=m*g.x,x+=m*g.y);h.x=y/b,h.y=x/b}else{g=h,g.x=g.data.x,g.y=g.data.y;do p+=i[g.data.index];while(g=g.next)}h.value=p}function f(h,p,g,m){if(!h.value)return!0;var b=h.x-e.x,y=h.y-e.y,x=m-p,v=b*b+y*y;if(x*x/l<v)return v<s&&(b===0&&(b=dr(n),v+=b*b),y===0&&(y=dr(n),v+=y*y),v<o&&(v=Math.sqrt(o*v)),e.vx+=b*h.value*r/v,e.vy+=y*h.value*r/v),!0;if(!(h.length||v>=s)){(h.data!==e||h.next)&&(b===0&&(b=dr(n),v+=b*b),y===0&&(y=dr(n),v+=y*y),v<o&&(v=Math.sqrt(o*v)));do h.data!==e&&(x=i[h.data.index]*r/v,e.vx+=b*x,e.vy+=y*x);while(h=h.next)}}return u.initialize=function(h,p){t=h,n=p,c()},u.strength=function(h){return arguments.length?(a=typeof h=="function"?h:jt(+h),c(),u):a},u.distanceMin=function(h){return arguments.length?(o=h*h,u):Math.sqrt(o)},u.distanceMax=function(h){return arguments.length?(s=h*h,u):Math.sqrt(s)},u.theta=function(h){return arguments.length?(l=h*h,u):Math.sqrt(l)},u}function rG(t,e,n){var r,a=jt(.1),i,o;typeof t!="function"&&(t=jt(+t)),e==null&&(e=0),n==null&&(n=0);function s(u){for(var c=0,d=r.length;c<d;++c){var f=r[c],h=f.x-e||1e-6,p=f.y-n||1e-6,g=Math.sqrt(h*h+p*p),m=(o[c]-g)*i[c]*u/g;f.vx+=h*m,f.vy+=p*m}}function l(){if(r){var u,c=r.length;for(i=new Array(c),o=new Array(c),u=0;u<c;++u)o[u]=+t(r[u],u,r),i[u]=isNaN(o[u])?0:+a(r[u],u,r)}}return s.initialize=function(u){r=u,l()},s.strength=function(u){return arguments.length?(a=typeof u=="function"?u:jt(+u),l(),s):a},s.radius=function(u){return arguments.length?(t=typeof u=="function"?u:jt(+u),l(),s):t},s.x=function(u){return arguments.length?(e=+u,s):e},s.y=function(u){return arguments.length?(n=+u,s):n},s}function Q$(t){var e=jt(.1),n,r,a;typeof t!="function"&&(t=jt(t==null?0:+t));function i(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vx+=(a[l]-c.x)*r[l]*s}function o(){if(n){var s,l=n.length;for(r=new Array(l),a=new Array(l),s=0;s<l;++s)r[s]=isNaN(a[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return i.initialize=function(s){n=s,o()},i.strength=function(s){return arguments.length?(e=typeof s=="function"?s:jt(+s),o(),i):e},i.x=function(s){return arguments.length?(t=typeof s=="function"?s:jt(+s),o(),i):t},i}function t2(t){var e=jt(.1),n,r,a;typeof t!="function"&&(t=jt(t==null?0:+t));function i(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vy+=(a[l]-c.y)*r[l]*s}function o(){if(n){var s,l=n.length;for(r=new Array(l),a=new Array(l),s=0;s<l;++s)r[s]=isNaN(a[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return i.initialize=function(s){n=s,o()},i.strength=function(s){return arguments.length?(e=typeof s=="function"?s:jt(+s),o(),i):e},i.y=function(s){return arguments.length?(t=typeof s=="function"?s:jt(+s),o(),i):t},i}function aG(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function ju(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function mi(t){return t=ju(Math.abs(t)),t?t[1]:NaN}function iG(t,e){return function(n,r){for(var a=n.length,i=[],o=0,s=t[0],l=0;a>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(n.substring(a-=s,a+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return i.reverse().join(e)}}function oG(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var sG=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function yi(t){if(!(e=sG.exec(t)))throw new Error("invalid format: "+t);var e;return new Vu({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}yi.prototype=Vu.prototype;function Vu(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+""}Vu.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 lG(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var e2;function uG(t,e){var n=ju(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(e2=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ju(t,Math.max(0,e+i-1))[0]}function n2(t,e){var n=ju(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const r2={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:aG,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>n2(t*100,e),r:n2,s:uG,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function a2(t){return t}var i2=Array.prototype.map,o2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function s2(t){var e=t.grouping===void 0||t.thousands===void 0?a2:iG(i2.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?a2:oG(i2.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(d){d=yi(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,$=d.type;$==="n"?(y=!0,$="g"):r2[$]||(x===void 0&&(x=12),v=!0,$="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var S=g==="$"?n:g==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",C=g==="$"?r:/[%p]/.test($)?o:"",D=r2[$],_=/[defgprs%]/.test($);x=x===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function P(A){var I=S,k=C,w,F,T;if($==="c")k=D(A)+k,A="";else{A=+A;var B=A<0||1/A<0;if(A=isNaN(A)?l:D(Math.abs(A),x),v&&(A=lG(A)),B&&+A==0&&p!=="+"&&(B=!1),I=(B?p==="("?p:s:p==="-"||p==="("?"":p)+I,k=($==="s"?o2[8+e2/3]:"")+k+(B&&p==="("?")":""),_){for(w=-1,F=A.length;++w<F;)if(T=A.charCodeAt(w),48>T||T>57){k=(T===46?a+A.slice(w+1):A.slice(w))+k,A=A.slice(0,w);break}}}y&&!m&&(A=e(A,1/0));var N=I.length+A.length+k.length,E=N<b?new Array(b-N+1).join(f):"";switch(y&&m&&(A=e(E+A,E.length?b-k.length:1/0),E=""),h){case"<":A=I+A+k+E;break;case"=":A=I+E+A+k;break;case"^":A=E.slice(0,N=E.length>>1)+I+A+k+E.slice(N);break;default:A=E+I+A+k;break}return i(A)}return P.toString=function(){return d+""},P}function c(d,f){var h=u((d=yi(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(mi(f)/3)))*3,g=Math.pow(10,-p),m=o2[8+p/3];return function(b){return h(g*b)+m}}return{format:u,formatPrefix:c}}var Hu,Zo,Np;l2({thousands:",",grouping:[3],currency:["$",""]});function l2(t){return Hu=s2(t),Zo=Hu.format,Np=Hu.formatPrefix,Hu}function u2(t){return Math.max(0,-mi(Math.abs(t)))}function c2(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(mi(e)/3)))*3-mi(Math.abs(t)))}function f2(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,mi(e)-mi(t))+1}var it=1e-6,Xu=1e-12,ht=Math.PI,Rt=ht/2,Wu=ht/4,ue=ht*2,Dt=180/ht,at=ht/180,gt=Math.abs,bi=Math.atan,ce=Math.atan2,rt=Math.cos,Uu=Math.ceil,d2=Math.exp,zp=Math.hypot,Yu=Math.log,Op=Math.pow,et=Math.sin,Oe=Math.sign||function(t){return t>0?1:t<0?-1:0},Wt=Math.sqrt,Gp=Math.tan;function h2(t){return t>1?0:t<-1?ht:Math.acos(t)}function fe(t){return t>1?Rt:t<-1?-Rt:Math.asin(t)}function p2(t){return(t=et(t/2))*t}function Bt(){}function qu(t,e){t&&m2.hasOwnProperty(t.type)&&m2[t.type](t,e)}var g2={Feature:function(t,e){qu(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,a=n.length;++r<a;)qu(n[r].geometry,e)}},m2={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){jp(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)jp(n[r],e,0)},Polygon:function(t,e){y2(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)y2(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,a=n.length;++r<a;)qu(n[r],e)}};function jp(t,e,n){var r=-1,a=t.length-n,i;for(e.lineStart();++r<a;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function y2(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)jp(t[n],e,1);e.polygonEnd()}function an(t,e){t&&g2.hasOwnProperty(t.type)?g2[t.type](t,e):qu(t,e)}var Zu=new Gt,Ju=new Gt,b2,x2,Vp,Hp,Xp,_n={point:Bt,lineStart:Bt,lineEnd:Bt,polygonStart:function(){Zu=new Gt,_n.lineStart=cG,_n.lineEnd=fG},polygonEnd:function(){var t=+Zu;Ju.add(t<0?ue+t:t),this.lineStart=this.lineEnd=this.point=Bt},sphere:function(){Ju.add(ue)}};function cG(){_n.point=dG}function fG(){v2(b2,x2)}function dG(t,e){_n.point=v2,b2=t,x2=e,t*=at,e*=at,Vp=t,Hp=rt(e=e/2+Wu),Xp=et(e)}function v2(t,e){t*=at,e*=at,e=e/2+Wu;var n=t-Vp,r=n>=0?1:-1,a=r*n,i=rt(e),o=et(e),s=Xp*o,l=Hp*i+s*rt(a),u=s*r*et(a);Zu.add(ce(u,l)),Vp=t,Hp=i,Xp=o}function hG(t){return Ju=new Gt,an(t,_n),Ju*2}function Ku(t){return[ce(t[1],t[0]),fe(t[2])]}function oa(t){var e=t[0],n=t[1],r=rt(n);return[r*rt(e),r*et(e),et(n)]}function Qu(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function xi(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Wp(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function tc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function ec(t){var e=Wt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Mt,De,kt,Re,sa,$2,_2,vi,Jo,hr,Nn,zn={point:Up,lineStart:S2,lineEnd:D2,polygonStart:function(){zn.point=C2,zn.lineStart=pG,zn.lineEnd=gG,Jo=new Gt,_n.polygonStart()},polygonEnd:function(){_n.polygonEnd(),zn.point=Up,zn.lineStart=S2,zn.lineEnd=D2,Zu<0?(Mt=-(kt=180),De=-(Re=90)):Jo>it?Re=90:Jo<-1e-6&&(De=-90),Nn[0]=Mt,Nn[1]=kt},sphere:function(){Mt=-(kt=180),De=-(Re=90)}};function Up(t,e){hr.push(Nn=[Mt=t,kt=t]),e<De&&(De=e),e>Re&&(Re=e)}function A2(t,e){var n=oa([t*at,e*at]);if(vi){var r=xi(vi,n),a=[r[1],-r[0],0],i=xi(a,r);ec(i),i=Ku(i);var o=t-sa,s=o>0?1:-1,l=i[0]*Dt*s,u,c=gt(o)>180;c^(s*sa<l&&l<s*t)?(u=i[1]*Dt,u>Re&&(Re=u)):(l=(l+360)%360-180,c^(s*sa<l&&l<s*t)?(u=-i[1]*Dt,u<De&&(De=u)):(e<De&&(De=e),e>Re&&(Re=e))),c?t<sa?ke(Mt,t)>ke(Mt,kt)&&(kt=t):ke(t,kt)>ke(Mt,kt)&&(Mt=t):kt>=Mt?(t<Mt&&(Mt=t),t>kt&&(kt=t)):t>sa?ke(Mt,t)>ke(Mt,kt)&&(kt=t):ke(t,kt)>ke(Mt,kt)&&(Mt=t)}else hr.push(Nn=[Mt=t,kt=t]);e<De&&(De=e),e>Re&&(Re=e),vi=n,sa=t}function S2(){zn.point=A2}function D2(){Nn[0]=Mt,Nn[1]=kt,zn.point=Up,vi=null}function C2(t,e){if(vi){var n=t-sa;Jo.add(gt(n)>180?n+(n>0?360:-360):n)}else $2=t,_2=e;_n.point(t,e),A2(t,e)}function pG(){_n.lineStart()}function gG(){C2($2,_2),_n.lineEnd(),gt(Jo)>it&&(Mt=-(kt=180)),Nn[0]=Mt,Nn[1]=kt,vi=null}function ke(t,e){return(e-=t)<0?e+360:e}function mG(t,e){return t[0]-e[0]}function P2(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function yG(t){var e,n,r,a,i,o,s;if(Re=kt=-(Mt=De=1/0),hr=[],an(t,zn),n=hr.length){for(hr.sort(mG),e=1,r=hr[0],i=[r];e<n;++e)a=hr[e],P2(r,a[0])||P2(r,a[1])?(ke(r[0],a[1])>ke(r[0],r[1])&&(r[1]=a[1]),ke(a[0],r[1])>ke(r[0],r[1])&&(r[0]=a[0])):i.push(r=a);for(o=-1/0,n=i.length-1,e=0,r=i[n];e<=n;r=a,++e)a=i[e],(s=ke(r[1],a[0]))>o&&(o=s,Mt=a[0],kt=r[1])}return hr=Nn=null,Mt===1/0||De===1/0?[[NaN,NaN],[NaN,NaN]]:[[Mt,De],[kt,Re]]}var Ko,nc,rc,ac,ic,oc,sc,lc,Yp,qp,Zp,F2,T2,de,he,pe,on={sphere:Bt,point:Jp,lineStart:w2,lineEnd:B2,polygonStart:function(){on.lineStart=vG,on.lineEnd=$G},polygonEnd:function(){on.lineStart=w2,on.lineEnd=B2}};function Jp(t,e){t*=at,e*=at;var n=rt(e);Qo(n*rt(t),n*et(t),et(e))}function Qo(t,e,n){++Ko,rc+=(t-rc)/Ko,ac+=(e-ac)/Ko,ic+=(n-ic)/Ko}function w2(){on.point=bG}function bG(t,e){t*=at,e*=at;var n=rt(e);de=n*rt(t),he=n*et(t),pe=et(e),on.point=xG,Qo(de,he,pe)}function xG(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),a=n*et(t),i=et(e),o=ce(Wt((o=he*i-pe*a)*o+(o=pe*r-de*i)*o+(o=de*a-he*r)*o),de*r+he*a+pe*i);nc+=o,oc+=o*(de+(de=r)),sc+=o*(he+(he=a)),lc+=o*(pe+(pe=i)),Qo(de,he,pe)}function B2(){on.point=Jp}function vG(){on.point=_G}function $G(){M2(F2,T2),on.point=Jp}function _G(t,e){F2=t,T2=e,t*=at,e*=at,on.point=M2;var n=rt(e);de=n*rt(t),he=n*et(t),pe=et(e),Qo(de,he,pe)}function M2(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),a=n*et(t),i=et(e),o=he*i-pe*a,s=pe*r-de*i,l=de*a-he*r,u=zp(o,s,l),c=fe(u),d=u&&-c/u;Yp.add(d*o),qp.add(d*s),Zp.add(d*l),nc+=c,oc+=c*(de+(de=r)),sc+=c*(he+(he=a)),lc+=c*(pe+(pe=i)),Qo(de,he,pe)}function AG(t){Ko=nc=rc=ac=ic=oc=sc=lc=0,Yp=new Gt,qp=new Gt,Zp=new Gt,an(t,on);var e=+Yp,n=+qp,r=+Zp,a=zp(e,n,r);return a<Xu&&(e=oc,n=sc,r=lc,nc<it&&(e=rc,n=ac,r=ic),a=zp(e,n,r),a<Xu)?[NaN,NaN]:[ce(n,e)*Dt,fe(r/a)*Dt]}function $i(t){return function(){return t}}function Kp(t,e){function n(r,a){return r=t(r,a),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,a){return r=e.invert(r,a),r&&t.invert(r[0],r[1])}),n}function Qp(t,e){return gt(t)>ht&&(t-=Math.round(t/ue)*ue),[t,e]}Qp.invert=Qp;function tg(t,e,n){return(t%=ue)?e||n?Kp(L2(t),R2(e,n)):L2(t):e||n?R2(e,n):Qp}function E2(t){return function(e,n){return e+=t,gt(e)>ht&&(e-=Math.round(e/ue)*ue),[e,n]}}function L2(t){var e=E2(t);return e.invert=E2(-t),e}function R2(t,e){var n=rt(t),r=et(t),a=rt(e),i=et(e);function o(s,l){var u=rt(l),c=rt(s)*u,d=et(s)*u,f=et(l),h=f*n+c*r;return[ce(d*a-h*i,c*n-f*r),fe(h*a+d*i)]}return o.invert=function(s,l){var u=rt(l),c=rt(s)*u,d=et(s)*u,f=et(l),h=f*a-d*i;return[ce(d*a+f*i,c*n+h*r),fe(h*n-c*r)]},o}function k2(t){t=tg(t[0]*at,t[1]*at,t.length>2?t[2]*at:0);function e(n){return n=t(n[0]*at,n[1]*at),n[0]*=Dt,n[1]*=Dt,n}return e.invert=function(n){return n=t.invert(n[0]*at,n[1]*at),n[0]*=Dt,n[1]*=Dt,n},e}function I2(t,e,n,r,a,i){if(n){var o=rt(e),s=et(e),l=r*n;a==null?(a=e+r*ue,i=e-l/2):(a=N2(o,a),i=N2(o,i),(r>0?a<i:a>i)&&(a+=r*ue));for(var u,c=a;r>0?c>i:c<i;c-=l)u=Ku([o,-s*rt(c),-s*et(c)]),t.point(u[0],u[1])}}function N2(t,e){e=oa(e),e[0]-=t,ec(e);var n=h2(-e[1]);return((-e[2]<0?-n:n)+ue-it)%ue}function SG(){var t=$i([0,0]),e=$i(90),n=$i(2),r,a,i={point:o};function o(l,u){r.push(l=a(l,u)),l[0]*=Dt,l[1]*=Dt}function s(){var l=t.apply(this,arguments),u=e.apply(this,arguments)*at,c=n.apply(this,arguments)*at;return r=[],a=tg(-l[0]*at,-l[1]*at,0).invert,I2(i,u,c,1),l={type:"Polygon",coordinates:[r]},r=a=null,l}return s.center=function(l){return arguments.length?(t=typeof l=="function"?l:$i([+l[0],+l[1]]),s):t},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:$i(+l),s):e},s.precision=function(l){return arguments.length?(n=typeof l=="function"?l:$i(+l),s):n},s}function z2(){var t=[],e;return{point:function(n,r,a){e.push([n,r,a])},lineStart:function(){t.push(e=[])},lineEnd:Bt,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function uc(t,e){return gt(t[0]-e[0])<it&&gt(t[1]-e[1])<it}function cc(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function O2(t,e,n,r,a){var i=[],o=[],s,l;if(t.forEach(function(p){if(!((g=p.length-1)<=0)){var g,m=p[0],b=p[g],y;if(uc(m,b)){if(!m[2]&&!b[2]){for(a.lineStart(),s=0;s<g;++s)a.point((m=p[s])[0],m[1]);a.lineEnd();return}b[0]+=2*it}i.push(y=new cc(m,p,null,!0)),o.push(y.o=new cc(m,null,y,!1)),i.push(y=new cc(b,p,null,!1)),o.push(y.o=new cc(b,null,y,!0))}}),!!i.length){for(o.sort(e),G2(i),G2(o),s=0,l=o.length;s<l;++s)o[s].e=n=!n;for(var u=i[0],c,d;;){for(var f=u,h=!0;f.v;)if((f=f.n)===u)return;c=f.z,a.lineStart();do{if(f.v=f.o.v=!0,f.e){if(h)for(s=0,l=c.length;s<l;++s)a.point((d=c[s])[0],d[1]);else r(f.x,f.n.x,1,a);f=f.n}else{if(h)for(c=f.p.z,s=c.length-1;s>=0;--s)a.point((d=c[s])[0],d[1]);else r(f.x,f.p.x,-1,a);f=f.p}f=f.o,c=f.z,h=!h}while(!f.v);a.lineEnd()}}}function G2(t){if(e=t.length){for(var e,n=0,r=t[0],a;++n<e;)r.n=a=t[n],a.p=r,r=a;r.n=a=t[0],a.p=r}}function eg(t){return gt(t[0])<=ht?t[0]:Oe(t[0])*((gt(t[0])+ht)%ue-ht)}function j2(t,e){var n=eg(e),r=e[1],a=et(r),i=[et(n),-rt(n),0],o=0,s=0,l=new Gt;a===1?r=Rt+it:a===-1&&(r=-Rt-it);for(var u=0,c=t.length;u<c;++u)if(f=(d=t[u]).length)for(var d,f,h=d[f-1],p=eg(h),g=h[1]/2+Wu,m=et(g),b=rt(g),y=0;y<f;++y,p=v,m=S,b=C,h=x){var x=d[y],v=eg(x),$=x[1]/2+Wu,S=et($),C=rt($),D=v-p,_=D>=0?1:-1,P=_*D,A=P>ht,I=m*S;if(l.add(ce(I*_*et(P),b*C+I*rt(P))),o+=A?D+_*ue:D,A^p>=n^v>=n){var k=xi(oa(h),oa(x));ec(k);var w=xi(i,k);ec(w);var F=(A^D>=0?-1:1)*fe(w[2]);(r>F||r===F&&(k[0]||k[1]))&&(s+=A^D>=0?1:-1)}}return(o<-1e-6||o<it&&l<-1e-12)^s&1}function V2(t,e,n,r){return function(a){var i=e(a),o=z2(),s=e(o),l=!1,u,c,d,f={point:h,lineStart:g,lineEnd:m,polygonStart:function(){f.point=b,f.lineStart=y,f.lineEnd=x,c=[],u=[]},polygonEnd:function(){f.point=h,f.lineStart=g,f.lineEnd=m,c=Fh(c);var v=j2(u,r);c.length?(l||(a.polygonStart(),l=!0),O2(c,CG,v,n,a)):v&&(l||(a.polygonStart(),l=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),l&&(a.polygonEnd(),l=!1),c=u=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}};function h(v,$){t(v,$)&&a.point(v,$)}function p(v,$){i.point(v,$)}function g(){f.point=p,i.lineStart()}function m(){f.point=h,i.lineEnd()}function b(v,$){d.push([v,$]),s.point(v,$)}function y(){s.lineStart(),d=[]}function x(){b(d[0][0],d[0][1]),s.lineEnd();var v=s.clean(),$=o.result(),S,C=$.length,D,_,P;if(d.pop(),u.push(d),d=null,!!C){if(v&1){if(_=$[0],(D=_.length-1)>0){for(l||(a.polygonStart(),l=!0),a.lineStart(),S=0;S<D;++S)a.point((P=_[S])[0],P[1]);a.lineEnd()}return}C>1&&v&2&&$.push($.pop().concat($.shift())),c.push($.filter(DG))}}return f}}function DG(t){return t.length>1}function CG(t,e){return((t=t.x)[0]<0?t[1]-Rt-it:Rt-t[1])-((e=e.x)[0]<0?e[1]-Rt-it:Rt-e[1])}const ng=V2(function(){return!0},PG,TG,[-ht,-Rt]);function PG(t){var e=NaN,n=NaN,r=NaN,a;return{lineStart:function(){t.lineStart(),a=1},point:function(i,o){var s=i>0?ht:-ht,l=gt(i-e);gt(l-ht)<it?(t.point(e,n=(n+o)/2>0?Rt:-Rt),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),a=0):r!==s&&l>=ht&&(gt(e-r)<it&&(e-=r*it),gt(i-s)<it&&(i-=s*it),n=FG(e,n,i,o),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),a=0),t.point(e=i,n=o),r=s},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-a}}}function FG(t,e,n,r){var a,i,o=et(t-n);return gt(o)>it?bi((et(e)*(i=rt(r))*et(n)-et(r)*(a=rt(e))*et(t))/(a*i*o)):(e+r)/2}function TG(t,e,n,r){var a;if(t==null)a=n*Rt,r.point(-ht,a),r.point(0,a),r.point(ht,a),r.point(ht,0),r.point(ht,-a),r.point(0,-a),r.point(-ht,-a),r.point(-ht,0),r.point(-ht,a);else if(gt(t[0]-e[0])>it){var i=t[0]<e[0]?ht:-ht;a=n*i/2,r.point(-i,a),r.point(0,a),r.point(i,a)}else r.point(e[0],e[1])}function H2(t){var e=rt(t),n=2*at,r=e>0,a=gt(e)>it;function i(c,d,f,h){I2(h,t,n,f,c,d)}function o(c,d){return rt(c)*rt(d)>e}function s(c){var d,f,h,p,g;return{lineStart:function(){p=h=!1,g=1},point:function(m,b){var y=[m,b],x,v=o(m,b),$=r?v?0:u(m,b):v?u(m+(m<0?ht:-ht),b):0;if(!d&&(p=h=v)&&c.lineStart(),v!==h&&(x=l(d,y),(!x||uc(d,x)||uc(y,x))&&(y[2]=1)),v!==h)g=0,v?(c.lineStart(),x=l(y,d),c.point(x[0],x[1])):(x=l(d,y),c.point(x[0],x[1],2),c.lineEnd()),d=x;else if(a&&d&&r^v){var S;!($&f)&&(S=l(y,d,!0))&&(g=0,r?(c.lineStart(),c.point(S[0][0],S[0][1]),c.point(S[1][0],S[1][1]),c.lineEnd()):(c.point(S[1][0],S[1][1]),c.lineEnd(),c.lineStart(),c.point(S[0][0],S[0][1],3)))}v&&(!d||!uc(d,y))&&c.point(y[0],y[1]),d=y,h=v,f=$},lineEnd:function(){h&&c.lineEnd(),d=null},clean:function(){return g|(p&&h)<<1}}}function l(c,d,f){var h=oa(c),p=oa(d),g=[1,0,0],m=xi(h,p),b=Qu(m,m),y=m[0],x=b-y*y;if(!x)return!f&&c;var v=e*b/x,$=-e*y/x,S=xi(g,m),C=tc(g,v),D=tc(m,$);Wp(C,D);var _=S,P=Qu(C,_),A=Qu(_,_),I=P*P-A*(Qu(C,C)-1);if(!(I<0)){var k=Wt(I),w=tc(_,(-P-k)/A);if(Wp(w,C),w=Ku(w),!f)return w;var F=c[0],T=d[0],B=c[1],N=d[1],E;T<F&&(E=F,F=T,T=E);var z=T-F,V=gt(z-ht)<it,J=V||z<it;if(!V&&N<B&&(E=B,B=N,N=E),J?V?B+N>0^w[1]<(gt(w[0]-F)<it?B:N):B<=w[1]&&w[1]<=N:z>ht^(F<=w[0]&&w[0]<=T)){var G=tc(_,(-P+k)/A);return Wp(G,C),[w,Ku(G)]}}}function u(c,d){var f=r?t:ht-t,h=0;return c<-f?h|=1:c>f&&(h|=2),d<-f?h|=4:d>f&&(h|=8),h}return V2(o,s,i,r?[0,-t]:[-ht,t-ht])}function wG(t,e,n,r,a,i){var o=t[0],s=t[1],l=e[0],u=e[1],c=0,d=1,f=l-o,h=u-s,p;if(p=n-o,!(!f&&p>0)){if(p/=f,f<0){if(p<c)return;p<d&&(d=p)}else if(f>0){if(p>d)return;p>c&&(c=p)}if(p=a-o,!(!f&&p<0)){if(p/=f,f<0){if(p>d)return;p>c&&(c=p)}else if(f>0){if(p<c)return;p<d&&(d=p)}if(p=r-s,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<d&&(d=p)}else if(h>0){if(p>d)return;p>c&&(c=p)}if(p=i-s,!(!h&&p<0)){if(p/=h,h<0){if(p>d)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<d&&(d=p)}return c>0&&(t[0]=o+c*f,t[1]=s+c*h),d<1&&(e[0]=o+d*f,e[1]=s+d*h),!0}}}}}var fc=1e9,dc=-1e9;function hc(t,e,n,r){function a(u,c){return t<=u&&u<=n&&e<=c&&c<=r}function i(u,c,d,f){var h=0,p=0;if(u==null||(h=o(u,d))!==(p=o(c,d))||l(u,c)<0^d>0)do f.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+d+4)%4)!==p);else f.point(c[0],c[1])}function o(u,c){return gt(u[0]-t)<it?c>0?0:3:gt(u[0]-n)<it?c>0?2:1:gt(u[1]-e)<it?c>0?1:0:c>0?3:2}function s(u,c){return l(u.x,c.x)}function l(u,c){var d=o(u,1),f=o(c,1);return d!==f?d-f:d===0?c[1]-u[1]:d===1?u[0]-c[0]:d===2?u[1]-c[1]:c[0]-u[0]}return function(u){var c=u,d=z2(),f,h,p,g,m,b,y,x,v,$,S,C={point:D,lineStart:I,lineEnd:k,polygonStart:P,polygonEnd:A};function D(F,T){a(F,T)&&c.point(F,T)}function _(){for(var F=0,T=0,B=h.length;T<B;++T)for(var N=h[T],E=1,z=N.length,V=N[0],J,G,X=V[0],W=V[1];E<z;++E)J=X,G=W,V=N[E],X=V[0],W=V[1],G<=r?W>r&&(X-J)*(r-G)>(W-G)*(t-J)&&++F:W<=r&&(X-J)*(r-G)<(W-G)*(t-J)&&--F;return F}function P(){c=d,f=[],h=[],S=!0}function A(){var F=_(),T=S&&F,B=(f=Fh(f)).length;(T||B)&&(u.polygonStart(),T&&(u.lineStart(),i(null,null,1,u),u.lineEnd()),B&&O2(f,s,F,i,u),u.polygonEnd()),c=u,f=h=p=null}function I(){C.point=w,h&&h.push(p=[]),$=!0,v=!1,y=x=NaN}function k(){f&&(w(g,m),b&&v&&d.rejoin(),f.push(d.result())),C.point=D,v&&c.lineEnd()}function w(F,T){var B=a(F,T);if(h&&p.push([F,T]),$)g=F,m=T,b=B,$=!1,B&&(c.lineStart(),c.point(F,T));else if(B&&v)c.point(F,T);else{var N=[y=Math.max(dc,Math.min(fc,y)),x=Math.max(dc,Math.min(fc,x))],E=[F=Math.max(dc,Math.min(fc,F)),T=Math.max(dc,Math.min(fc,T))];wG(N,E,t,e,n,r)?(v||(c.lineStart(),c.point(N[0],N[1])),c.point(E[0],E[1]),B||c.lineEnd(),S=!1):B&&(c.lineStart(),c.point(F,T),S=!1)}y=F,x=T,v=B}return C}}function BG(){var t=0,e=0,n=960,r=500,a,i,o;return o={stream:function(s){return a&&i===s?a:a=hc(t,e,n,r)(i=s)},extent:function(s){return arguments.length?(t=+s[0][0],e=+s[0][1],n=+s[1][0],r=+s[1][1],a=i=null,o):[[t,e],[n,r]]}}}var rg,ag,pc,gc,_i={sphere:Bt,point:Bt,lineStart:MG,lineEnd:Bt,polygonStart:Bt,polygonEnd:Bt};function MG(){_i.point=LG,_i.lineEnd=EG}function EG(){_i.point=_i.lineEnd=Bt}function LG(t,e){t*=at,e*=at,ag=t,pc=et(e),gc=rt(e),_i.point=RG}function RG(t,e){t*=at,e*=at;var n=et(e),r=rt(e),a=gt(t-ag),i=rt(a),o=et(a),s=r*o,l=gc*n-pc*r*i,u=pc*n+gc*r*i;rg.add(ce(Wt(s*s+l*l),u)),ag=t,pc=n,gc=r}function X2(t){return rg=new Gt,an(t,_i),+rg}var ig=[null,null],kG={type:"LineString",coordinates:ig};function mc(t,e){return ig[0]=t,ig[1]=e,X2(kG)}var W2={Feature:function(t,e){return yc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,a=n.length;++r<a;)if(yc(n[r].geometry,e))return!0;return!1}},U2={Sphere:function(){return!0},Point:function(t,e){return Y2(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(Y2(n[r],e))return!0;return!1},LineString:function(t,e){return q2(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(q2(n[r],e))return!0;return!1},Polygon:function(t,e){return Z2(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(Z2(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,a=n.length;++r<a;)if(yc(n[r],e))return!0;return!1}};function yc(t,e){return t&&U2.hasOwnProperty(t.type)?U2[t.type](t,e):!1}function Y2(t,e){return mc(t,e)===0}function q2(t,e){for(var n,r,a,i=0,o=t.length;i<o;i++){if(r=mc(t[i],e),r===0||i>0&&(a=mc(t[i],t[i-1]),a>0&&n<=a&&r<=a&&(n+r-a)*(1-Math.pow((n-r)/a,2))<Xu*a))return!0;n=r}return!1}function Z2(t,e){return!!j2(t.map(IG),J2(e))}function IG(t){return t=t.map(J2),t.pop(),t}function J2(t){return[t[0]*at,t[1]*at]}function NG(t,e){return(t&&W2.hasOwnProperty(t.type)?W2[t.type]:yc)(t,e)}function K2(t,e,n){var r=sr(t,e-it,n).concat(e);return function(a){return r.map(function(i){return[a,i]})}}function Q2(t,e,n){var r=sr(t,e-it,n).concat(e);return function(a){return r.map(function(i){return[i,a]})}}function t_(){var t,e,n,r,a,i,o,s,l=10,u=l,c=90,d=360,f,h,p,g,m=2.5;function b(){return{type:"MultiLineString",coordinates:y()}}function y(){return sr(Uu(r/c)*c,n,c).map(p).concat(sr(Uu(s/d)*d,o,d).map(g)).concat(sr(Uu(e/l)*l,t,l).filter(function(x){return gt(x%c)>it}).map(f)).concat(sr(Uu(i/u)*u,a,u).filter(function(x){return gt(x%d)>it}).map(h))}return b.lines=function(){return y().map(function(x){return{type:"LineString",coordinates:x}})},b.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(g(o).slice(1),p(n).reverse().slice(1),g(s).reverse().slice(1))]}},b.extent=function(x){return arguments.length?b.extentMajor(x).extentMinor(x):b.extentMinor()},b.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],s=+x[0][1],o=+x[1][1],r>n&&(x=r,r=n,n=x),s>o&&(x=s,s=o,o=x),b.precision(m)):[[r,s],[n,o]]},b.extentMinor=function(x){return arguments.length?(e=+x[0][0],t=+x[1][0],i=+x[0][1],a=+x[1][1],e>t&&(x=e,e=t,t=x),i>a&&(x=i,i=a,a=x),b.precision(m)):[[e,i],[t,a]]},b.step=function(x){return arguments.length?b.stepMajor(x).stepMinor(x):b.stepMinor()},b.stepMajor=function(x){return arguments.length?(c=+x[0],d=+x[1],b):[c,d]},b.stepMinor=function(x){return arguments.length?(l=+x[0],u=+x[1],b):[l,u]},b.precision=function(x){return arguments.length?(m=+x,f=K2(i,a,90),h=Q2(e,t,m),p=K2(s,o,90),g=Q2(r,n,m),b):m},b.extentMajor([[-180,-90+it],[180,90-it]]).extentMinor([[-180,-80-it],[180,80+it]])}function zG(){return t_()()}function OG(t,e){var n=t[0]*at,r=t[1]*at,a=e[0]*at,i=e[1]*at,o=rt(r),s=et(r),l=rt(i),u=et(i),c=o*rt(n),d=o*et(n),f=l*rt(a),h=l*et(a),p=2*fe(Wt(p2(i-r)+o*l*p2(a-n))),g=et(p),m=p?function(b){var y=et(b*=p)/g,x=et(p-b)/g,v=x*c+y*f,$=x*d+y*h,S=x*s+y*u;return[ce($,v)*Dt,ce(S,Wt(v*v+$*$))*Dt]}:function(){return[n*Dt,r*Dt]};return m.distance=p,m}const ts=t=>t;var og=new Gt,sg=new Gt,e_,n_,lg,ug,On={point:Bt,lineStart:Bt,lineEnd:Bt,polygonStart:function(){On.lineStart=GG,On.lineEnd=VG},polygonEnd:function(){On.lineStart=On.lineEnd=On.point=Bt,og.add(gt(sg)),sg=new Gt},result:function(){var t=og/2;return og=new Gt,t}};function GG(){On.point=jG}function jG(t,e){On.point=r_,e_=lg=t,n_=ug=e}function r_(t,e){sg.add(ug*t-lg*e),lg=t,ug=e}function VG(){r_(e_,n_)}var Ai=1/0,bc=Ai,es=-Ai,xc=es,vc={point:HG,lineStart:Bt,lineEnd:Bt,polygonStart:Bt,polygonEnd:Bt,result:function(){var t=[[Ai,bc],[es,xc]];return es=xc=-(bc=Ai=1/0),t}};function HG(t,e){t<Ai&&(Ai=t),t>es&&(es=t),e<bc&&(bc=e),e>xc&&(xc=e)}var cg=0,fg=0,ns=0,$c=0,_c=0,Si=0,dg=0,hg=0,rs=0,a_,i_,An,Sn,Ge={point:la,lineStart:o_,lineEnd:s_,polygonStart:function(){Ge.lineStart=UG,Ge.lineEnd=YG},polygonEnd:function(){Ge.point=la,Ge.lineStart=o_,Ge.lineEnd=s_},result:function(){var t=rs?[dg/rs,hg/rs]:Si?[$c/Si,_c/Si]:ns?[cg/ns,fg/ns]:[NaN,NaN];return cg=fg=ns=$c=_c=Si=dg=hg=rs=0,t}};function la(t,e){cg+=t,fg+=e,++ns}function o_(){Ge.point=XG}function XG(t,e){Ge.point=WG,la(An=t,Sn=e)}function WG(t,e){var n=t-An,r=e-Sn,a=Wt(n*n+r*r);$c+=a*(An+t)/2,_c+=a*(Sn+e)/2,Si+=a,la(An=t,Sn=e)}function s_(){Ge.point=la}function UG(){Ge.point=qG}function YG(){l_(a_,i_)}function qG(t,e){Ge.point=l_,la(a_=An=t,i_=Sn=e)}function l_(t,e){var n=t-An,r=e-Sn,a=Wt(n*n+r*r);$c+=a*(An+t)/2,_c+=a*(Sn+e)/2,Si+=a,a=Sn*t-An*e,dg+=a*(An+t),hg+=a*(Sn+e),rs+=a*3,la(An=t,Sn=e)}function u_(t){this._context=t}u_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,ue);break}}},result:Bt};var pg=new Gt,gg,c_,f_,as,is,os={point:Bt,lineStart:function(){os.point=ZG},lineEnd:function(){gg&&d_(c_,f_),os.point=Bt},polygonStart:function(){gg=!0},polygonEnd:function(){gg=null},result:function(){var t=+pg;return pg=new Gt,t}};function ZG(t,e){os.point=d_,c_=as=t,f_=is=e}function d_(t,e){as-=t,is-=e,pg.add(Wt(as*as+is*is)),as=t,is=e}let h_,Ac,p_,g_;class m_{constructor(e){this._append=e==null?y_:JG(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==p_||this._append!==Ac){const r=this._radius,a=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,p_=r,Ac=this._append,g_=this._,this._=a}this._+=g_;break}}}result(){const e=this._;return this._="",e.length?e:null}}function y_(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function JG(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return y_;if(e!==h_){const n=10**e;h_=e,Ac=function(r){let a=1;this._+=r[0];for(const i=r.length;a<i;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}return Ac}function KG(t,e){let n=3,r=4.5,a,i;function o(s){return s&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),an(s,a(i))),i.result()}return o.area=function(s){return an(s,a(On)),On.result()},o.measure=function(s){return an(s,a(os)),os.result()},o.bounds=function(s){return an(s,a(vc)),vc.result()},o.centroid=function(s){return an(s,a(Ge)),Ge.result()},o.projection=function(s){return arguments.length?(a=s==null?(t=null,ts):(t=s).stream,o):t},o.context=function(s){return arguments.length?(i=s==null?(e=null,new m_(n)):new u_(e=s),typeof r!="function"&&i.pointRadius(r),o):e},o.pointRadius=function(s){return arguments.length?(r=typeof s=="function"?s:(i.pointRadius(+s),+s),o):r},o.digits=function(s){if(!arguments.length)return n;if(s==null)n=null;else{const l=Math.floor(s);if(!(l>=0))throw new RangeError(`invalid digits: ${s}`);n=l}return e===null&&(i=new m_(n)),o},o.projection(t).digits(n).context(e)}function QG(t){return{stream:ss(t)}}function ss(t){return function(e){var n=new mg;for(var r in t)n[r]=t[r];return n.stream=e,n}}function mg(){}mg.prototype={constructor:mg,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function yg(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),an(n,t.stream(vc)),e(vc.result()),r!=null&&t.clipExtent(r),t}function Sc(t,e,n){return yg(t,function(r){var a=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(a/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),s=+e[0][0]+(a-o*(r[1][0]+r[0][0]))/2,l=+e[0][1]+(i-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([s,l])},n)}function bg(t,e,n){return Sc(t,[[0,0],e],n)}function xg(t,e,n){return yg(t,function(r){var a=+e,i=a/(r[1][0]-r[0][0]),o=(a-i*(r[1][0]+r[0][0]))/2,s=-i*r[0][1];t.scale(150*i).translate([o,s])},n)}function vg(t,e,n){return yg(t,function(r){var a=+e,i=a/(r[1][1]-r[0][1]),o=-i*r[0][0],s=(a-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([o,s])},n)}var b_=16,tj=rt(30*at);function x_(t,e){return+e?nj(t,e):ej(t)}function ej(t){return ss({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function nj(t,e){function n(r,a,i,o,s,l,u,c,d,f,h,p,g,m){var b=u-r,y=c-a,x=b*b+y*y;if(x>4*e&&g--){var v=o+f,$=s+h,S=l+p,C=Wt(v*v+$*$+S*S),D=fe(S/=C),_=gt(gt(S)-1)<it||gt(i-d)<it?(i+d)/2:ce($,v),P=t(_,D),A=P[0],I=P[1],k=A-r,w=I-a,F=y*k-b*w;(F*F/x>e||gt((b*k+y*w)/x-.5)>.3||o*f+s*h+l*p<tj)&&(n(r,a,i,o,s,l,A,I,_,v/=C,$/=C,S,g,m),m.point(A,I),n(A,I,_,v,$,S,u,c,d,f,h,p,g,m))}}return function(r){var a,i,o,s,l,u,c,d,f,h,p,g,m={point:b,lineStart:y,lineEnd:v,polygonStart:function(){r.polygonStart(),m.lineStart=$},polygonEnd:function(){r.polygonEnd(),m.lineStart=y}};function b(D,_){D=t(D,_),r.point(D[0],D[1])}function y(){d=NaN,m.point=x,r.lineStart()}function x(D,_){var P=oa([D,_]),A=t(D,_);n(d,f,c,h,p,g,d=A[0],f=A[1],c=D,h=P[0],p=P[1],g=P[2],b_,r),r.point(d,f)}function v(){m.point=b,r.lineEnd()}function $(){y(),m.point=S,m.lineEnd=C}function S(D,_){x(a=D,_),i=d,o=f,s=h,l=p,u=g,m.point=x}function C(){n(d,f,c,h,p,g,i,o,a,s,l,u,b_,r),m.lineEnd=v,v()}return m}}var rj=ss({point:function(t,e){this.stream.point(t*at,e*at)}});function aj(t){return ss({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function ij(t,e,n,r,a){function i(o,s){return o*=r,s*=a,[e+t*o,n-t*s]}return i.invert=function(o,s){return[(o-e)/t*r,(n-s)/t*a]},i}function v_(t,e,n,r,a,i){if(!i)return ij(t,e,n,r,a);var o=rt(i),s=et(i),l=o*t,u=s*t,c=o/t,d=s/t,f=(s*n-o*e)/t,h=(s*e+o*n)/t;function p(g,m){return g*=r,m*=a,[l*g-u*m+e,n-u*g-l*m]}return p.invert=function(g,m){return[r*(c*g-d*m+f),a*(h-d*g-c*m)]},p}function Dn(t){return $g(function(){return t})()}function $g(t){var e,n=150,r=480,a=250,i=0,o=0,s=0,l=0,u=0,c,d=0,f=1,h=1,p=null,g=ng,m=null,b,y,x,v=ts,$=.5,S,C,D,_,P;function A(F){return D(F[0]*at,F[1]*at)}function I(F){return F=D.invert(F[0],F[1]),F&&[F[0]*Dt,F[1]*Dt]}A.stream=function(F){return _&&P===F?_:_=rj(aj(c)(g(S(v(P=F)))))},A.preclip=function(F){return arguments.length?(g=F,p=void 0,w()):g},A.postclip=function(F){return arguments.length?(v=F,m=b=y=x=null,w()):v},A.clipAngle=function(F){return arguments.length?(g=+F?H2(p=F*at):(p=null,ng),w()):p*Dt},A.clipExtent=function(F){return arguments.length?(v=F==null?(m=b=y=x=null,ts):hc(m=+F[0][0],b=+F[0][1],y=+F[1][0],x=+F[1][1]),w()):m==null?null:[[m,b],[y,x]]},A.scale=function(F){return arguments.length?(n=+F,k()):n},A.translate=function(F){return arguments.length?(r=+F[0],a=+F[1],k()):[r,a]},A.center=function(F){return arguments.length?(i=F[0]%360*at,o=F[1]%360*at,k()):[i*Dt,o*Dt]},A.rotate=function(F){return arguments.length?(s=F[0]%360*at,l=F[1]%360*at,u=F.length>2?F[2]%360*at:0,k()):[s*Dt,l*Dt,u*Dt]},A.angle=function(F){return arguments.length?(d=F%360*at,k()):d*Dt},A.reflectX=function(F){return arguments.length?(f=F?-1:1,k()):f<0},A.reflectY=function(F){return arguments.length?(h=F?-1:1,k()):h<0},A.precision=function(F){return arguments.length?(S=x_(C,$=F*F),w()):Wt($)},A.fitExtent=function(F,T){return Sc(A,F,T)},A.fitSize=function(F,T){return bg(A,F,T)},A.fitWidth=function(F,T){return xg(A,F,T)},A.fitHeight=function(F,T){return vg(A,F,T)};function k(){var F=v_(n,0,0,f,h,d).apply(null,e(i,o)),T=v_(n,r-F[0],a-F[1],f,h,d);return c=tg(s,l,u),C=Kp(e,T),D=Kp(c,C),S=x_(C,$),w()}function w(){return _=P=null,A}return function(){return e=t.apply(this,arguments),A.invert=e.invert&&I,k()}}function _g(t){var e=0,n=ht/3,r=$g(t),a=r(e,n);return a.parallels=function(i){return arguments.length?r(e=i[0]*at,n=i[1]*at):[e*Dt,n*Dt]},a}function oj(t){var e=rt(t);function n(r,a){return[r*e,et(a)/e]}return n.invert=function(r,a){return[r/e,fe(a*e)]},n}function $_(t,e){var n=et(t),r=(n+et(e))/2;if(gt(r)<it)return oj(t);var a=1+n*(2*r-n),i=Wt(a)/r;function o(s,l){var u=Wt(a-2*r*et(l))/r;return[u*et(s*=r),i-u*rt(s)]}return o.invert=function(s,l){var u=i-l,c=ce(s,gt(u))*Oe(u);return u*r<0&&(c-=ht*Oe(s)*Oe(u)),[c/r,fe((a-(s*s+u*u)*r*r)/(2*r))]},o}function Dc(){return _g($_).scale(155.424).center([0,33.6442])}function __(){return Dc().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function sj(t){var e=t.length;return{point:function(n,r){for(var a=-1;++a<e;)t[a].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function lj(){var t,e,n=__(),r,a=Dc().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,o=Dc().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(f,h){l=[f,h]}};function c(f){var h=f[0],p=f[1];return l=null,r.point(h,p),l||(i.point(h,p),l)||(s.point(h,p),l)}c.invert=function(f){var h=n.scale(),p=n.translate(),g=(f[0]-p[0])/h,m=(f[1]-p[1])/h;return(m>=.12&&m<.234&&g>=-.425&&g<-.214?a:m>=.166&&m<.234&&g>=-.214&&g<-.115?o:n).invert(f)},c.stream=function(f){return t&&e===f?t:t=sj([n.stream(e=f),a.stream(f),o.stream(f)])},c.precision=function(f){return arguments.length?(n.precision(f),a.precision(f),o.precision(f),d()):n.precision()},c.scale=function(f){return arguments.length?(n.scale(f),a.scale(f*.35),o.scale(f),c.translate(n.translate())):n.scale()},c.translate=function(f){if(!arguments.length)return n.translate();var h=n.scale(),p=+f[0],g=+f[1];return r=n.translate(f).clipExtent([[p-.455*h,g-.238*h],[p+.455*h,g+.238*h]]).stream(u),i=a.translate([p-.307*h,g+.201*h]).clipExtent([[p-.425*h+it,g+.12*h+it],[p-.214*h-it,g+.234*h-it]]).stream(u),s=o.translate([p-.205*h,g+.212*h]).clipExtent([[p-.214*h+it,g+.166*h+it],[p-.115*h-it,g+.234*h-it]]).stream(u),d()},c.fitExtent=function(f,h){return Sc(c,f,h)},c.fitSize=function(f,h){return bg(c,f,h)},c.fitWidth=function(f,h){return xg(c,f,h)},c.fitHeight=function(f,h){return vg(c,f,h)};function d(){return t=e=null,c}return c.scale(1070)}function A_(t){return function(e,n){var r=rt(e),a=rt(n),i=t(r*a);return i===1/0?[2,0]:[i*a*et(e),i*et(n)]}}function ls(t){return function(e,n){var r=Wt(e*e+n*n),a=t(r),i=et(a),o=rt(a);return[ce(e*i,r*o),fe(r&&n*i/r)]}}var Ag=A_(function(t){return Wt(2/(1+t))});Ag.invert=ls(function(t){return 2*fe(t/2)});function uj(){return Dn(Ag).scale(124.75).clipAngle(180-.001)}var Sg=A_(function(t){return(t=h2(t))&&t/et(t)});Sg.invert=ls(function(t){return t});function cj(){return Dn(Sg).scale(79.4188).clipAngle(180-.001)}function us(t,e){return[t,Yu(Gp((Rt+e)/2))]}us.invert=function(t,e){return[t,2*bi(d2(e))-Rt]};function fj(){return S_(us).scale(961/ue)}function S_(t){var e=Dn(t),n=e.center,r=e.scale,a=e.translate,i=e.clipExtent,o=null,s,l,u;e.scale=function(d){return arguments.length?(r(d),c()):r()},e.translate=function(d){return arguments.length?(a(d),c()):a()},e.center=function(d){return arguments.length?(n(d),c()):n()},e.clipExtent=function(d){return arguments.length?(d==null?o=s=l=u=null:(o=+d[0][0],s=+d[0][1],l=+d[1][0],u=+d[1][1]),c()):o==null?null:[[o,s],[l,u]]};function c(){var d=ht*r(),f=e(k2(e.rotate()).invert([0,0]));return i(o==null?[[f[0]-d,f[1]-d],[f[0]+d,f[1]+d]]:t===us?[[Math.max(f[0]-d,o),s],[Math.min(f[0]+d,l),u]]:[[o,Math.max(f[1]-d,s)],[l,Math.min(f[1]+d,u)]])}return c()}function Cc(t){return Gp((Rt+t)/2)}function D_(t,e){var n=rt(t),r=t===e?et(t):Yu(n/rt(e))/Yu(Cc(e)/Cc(t)),a=n*Op(Cc(t),r)/r;if(!r)return us;function i(o,s){a>0?s<-Rt+it&&(s=-Rt+it):s>Rt-it&&(s=Rt-it);var l=a/Op(Cc(s),r);return[l*et(r*o),a-l*rt(r*o)]}return i.invert=function(o,s){var l=a-s,u=Oe(r)*Wt(o*o+l*l),c=ce(o,gt(l))*Oe(l);return l*r<0&&(c-=ht*Oe(o)*Oe(l)),[c/r,2*bi(Op(a/u,1/r))-Rt]},i}function dj(){return _g(D_).scale(109.5).parallels([30,30])}function cs(t,e){return[t,e]}cs.invert=cs;function hj(){return Dn(cs).scale(152.63)}function C_(t,e){var n=rt(t),r=t===e?et(t):(n-rt(e))/(e-t),a=n/r+t;if(gt(r)<it)return cs;function i(o,s){var l=a-s,u=r*o;return[l*et(u),a-l*rt(u)]}return i.invert=function(o,s){var l=a-s,u=ce(o,gt(l))*Oe(l);return l*r<0&&(u-=ht*Oe(o)*Oe(l)),[u/r,a-Oe(r)*Wt(o*o+l*l)]},i}function pj(){return _g(C_).scale(131.154).center([0,13.9389])}var fs=1.340264,ds=-.081106,hs=893e-6,ps=.003796,Pc=Wt(3)/2,gj=12;function Dg(t,e){var n=fe(Pc*et(e)),r=n*n,a=r*r*r;return[t*rt(n)/(Pc*(fs+3*ds*r+a*(7*hs+9*ps*r))),n*(fs+ds*r+a*(hs+ps*r))]}Dg.invert=function(t,e){for(var n=e,r=n*n,a=r*r*r,i=0,o,s,l;i<gj&&(s=n*(fs+ds*r+a*(hs+ps*r))-e,l=fs+3*ds*r+a*(7*hs+9*ps*r),n-=o=s/l,r=n*n,a=r*r*r,!(gt(o)<Xu));++i);return[Pc*t*(fs+3*ds*r+a*(7*hs+9*ps*r))/rt(n),fe(et(n)/Pc)]};function mj(){return Dn(Dg).scale(177.158)}function Cg(t,e){var n=rt(e),r=rt(t)*n;return[n*et(t)/r,et(e)/r]}Cg.invert=ls(bi);function yj(){return Dn(Cg).scale(144.049).clipAngle(60)}function bj(){var t=1,e=0,n=0,r=1,a=1,i=0,o,s,l=null,u,c,d,f=1,h=1,p=ss({point:function(v,$){var S=x([v,$]);this.stream.point(S[0],S[1])}}),g=ts,m,b;function y(){return f=t*r,h=t*a,m=b=null,x}function x(v){var $=v[0]*f,S=v[1]*h;if(i){var C=S*o-$*s;$=$*o+S*s,S=C}return[$+e,S+n]}return x.invert=function(v){var $=v[0]-e,S=v[1]-n;if(i){var C=S*o+$*s;$=$*o-S*s,S=C}return[$/f,S/h]},x.stream=function(v){return m&&b===v?m:m=p(g(b=v))},x.postclip=function(v){return arguments.length?(g=v,l=u=c=d=null,y()):g},x.clipExtent=function(v){return arguments.length?(g=v==null?(l=u=c=d=null,ts):hc(l=+v[0][0],u=+v[0][1],c=+v[1][0],d=+v[1][1]),y()):l==null?null:[[l,u],[c,d]]},x.scale=function(v){return arguments.length?(t=+v,y()):t},x.translate=function(v){return arguments.length?(e=+v[0],n=+v[1],y()):[e,n]},x.angle=function(v){return arguments.length?(i=v%360*at,s=et(i),o=rt(i),y()):i*Dt},x.reflectX=function(v){return arguments.length?(r=v?-1:1,y()):r<0},x.reflectY=function(v){return arguments.length?(a=v?-1:1,y()):a<0},x.fitExtent=function(v,$){return Sc(x,v,$)},x.fitSize=function(v,$){return bg(x,v,$)},x.fitWidth=function(v,$){return xg(x,v,$)},x.fitHeight=function(v,$){return vg(x,v,$)},x}function Pg(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),e*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}Pg.invert=function(t,e){var n=e,r=25,a;do{var i=n*n,o=i*i;n-=a=(n*(1.007226+i*(.015085+o*(-.044475+.028874*i-.005916*o)))-e)/(1.007226+i*(.015085*3+o*(-.044475*7+.028874*9*i-.005916*11*o)))}while(gt(a)>it&&--r>0);return[t/(.8707+(i=n*n)*(-.131979+i*(-.013791+i*i*i*(.003971-.001529*i)))),n]};function xj(){return Dn(Pg).scale(175.295)}function Fg(t,e){return[rt(e)*et(t),et(e)]}Fg.invert=ls(fe);function vj(){return Dn(Fg).scale(249.5).clipAngle(90+it)}function Tg(t,e){var n=rt(e),r=1+rt(t)*n;return[n*et(t)/r,et(e)/r]}Tg.invert=ls(function(t){return 2*bi(t)});function $j(){return Dn(Tg).scale(250).clipAngle(142)}function wg(t,e){return[Yu(Gp((Rt+e)/2)),-t]}wg.invert=function(t,e){return[-e,2*bi(d2(t))-Rt]};function _j(){var t=S_(wg),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function Aj(t,e){return t.parent===e.parent?1:2}function Sj(t){return t.reduce(Dj,0)/t.length}function Dj(t,e){return t+e.x}function Cj(t){return 1+t.reduce(Pj,0)}function Pj(t,e){return Math.max(t,e.y)}function Fj(t){for(var e;e=t.children;)t=e[0];return t}function Tj(t){for(var e;e=t.children;)t=e[e.length-1];return t}function wj(){var t=Aj,e=1,n=1,r=!1;function a(i){var o,s=0;i.eachAfter(function(f){var h=f.children;h?(f.x=Sj(h),f.y=Cj(h)):(f.x=o?s+=t(f,o):0,f.y=0,o=f)});var l=Fj(i),u=Tj(i),c=l.x-t(l,u)/2,d=u.x+t(u,l)/2;return i.eachAfter(r?function(f){f.x=(f.x-i.x)*e,f.y=(i.y-f.y)*n}:function(f){f.x=(f.x-c)/(d-c)*e,f.y=(1-(i.y?f.y/i.y:1))*n})}return a.separation=function(i){return arguments.length?(t=i,a):t},a.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],a):r?null:[e,n]},a.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],a):r?[e,n]:null},a}function Bj(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function Mj(){return this.eachAfter(Bj)}function Ej(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this}function Lj(t,e){for(var n=this,r=[n],a,i,o=-1;n=r.pop();)if(t.call(e,n,++o,this),a=n.children)for(i=a.length-1;i>=0;--i)r.push(a[i]);return this}function Rj(t,e){for(var n=this,r=[n],a=[],i,o,s,l=-1;n=r.pop();)if(a.push(n),i=n.children)for(o=0,s=i.length;o<s;++o)r.push(i[o]);for(;n=a.pop();)t.call(e,n,++l,this);return this}function kj(t,e){let n=-1;for(const r of this)if(t.call(e,r,++n,this))return r}function Ij(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,a=r&&r.length;--a>=0;)n+=r[a].value;e.value=n})}function Nj(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function zj(t){for(var e=this,n=Oj(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var a=r.length;t!==n;)r.splice(a,0,t),t=t.parent;return r}function Oj(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),a=null;for(t=n.pop(),e=r.pop();t===e;)a=t,t=n.pop(),e=r.pop();return a}function Gj(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function jj(){return Array.from(this)}function Vj(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Hj(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*Xj(){var t=this,e,n=[t],r,a,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(a=0,i=r.length;a<i;++a)n.push(r[a]);while(n.length)}function Fc(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=Yj)):e===void 0&&(e=Uj);for(var n=new ua(t),r,a=[n],i,o,s,l;r=a.pop();)if((o=e(r.data))&&(l=(o=Array.from(o)).length))for(r.children=o,s=l-1;s>=0;--s)a.push(i=o[s]=new ua(o[s])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(P_)}function Wj(){return Fc(this).eachBefore(qj)}function Uj(t){return t.children}function Yj(t){return Array.isArray(t)?t[1]:null}function qj(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function P_(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function ua(t){this.data=t,this.depth=this.height=0,this.parent=null}ua.prototype=Fc.prototype={constructor:ua,count:Mj,each:Ej,eachAfter:Rj,eachBefore:Lj,find:kj,sum:Ij,sort:Nj,path:zj,ancestors:Gj,descendants:jj,leaves:Vj,links:Hj,copy:Wj,[Symbol.iterator]:Xj};function Tc(t){return t==null?null:F_(t)}function F_(t){if(typeof t!="function")throw new Error;return t}function ca(){return 0}function Di(t){return function(){return t}}const Zj=1664525,Jj=1013904223,T_=4294967296;function Bg(){let t=1;return()=>(t=(Zj*t+Jj)%T_)/T_}function Kj(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Qj(t,e){let n=t.length,r,a;for(;n;)a=e()*n--|0,r=t[n],t[n]=t[a],t[a]=r;return t}function tV(t){return w_(t,Bg())}function w_(t,e){for(var n=0,r=(t=Qj(Array.from(t),e)).length,a=[],i,o;n<r;)i=t[n],o&&B_(o,i)?++n:(o=nV(a=eV(a,i)),n=0);return o}function eV(t,e){var n,r;if(Mg(e,t))return[e];for(n=0;n<t.length;++n)if(wc(e,t[n])&&Mg(gs(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(wc(gs(t[n],t[r]),e)&&wc(gs(t[n],e),t[r])&&wc(gs(t[r],e),t[n])&&Mg(M_(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function wc(t,e){var n=t.r-e.r,r=e.x-t.x,a=e.y-t.y;return n<0||n*n<r*r+a*a}function B_(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,r=e.x-t.x,a=e.y-t.y;return n>0&&n*n>r*r+a*a}function Mg(t,e){for(var n=0;n<e.length;++n)if(!B_(t,e[n]))return!1;return!0}function nV(t){switch(t.length){case 1:return rV(t[0]);case 2:return gs(t[0],t[1]);case 3:return M_(t[0],t[1],t[2])}}function rV(t){return{x:t.x,y:t.y,r:t.r}}function gs(t,e){var n=t.x,r=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-n,u=o-r,c=s-a,d=Math.sqrt(l*l+u*u);return{x:(n+i+l/d*c)/2,y:(r+o+u/d*c)/2,r:(d+a+s)/2}}function M_(t,e,n){var r=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,u=n.x,c=n.y,d=n.r,f=r-o,h=r-u,p=a-s,g=a-c,m=l-i,b=d-i,y=r*r+a*a-i*i,x=y-o*o-s*s+l*l,v=y-u*u-c*c+d*d,$=h*p-f*g,S=(p*v-g*x)/($*2)-r,C=(g*m-p*b)/$,D=(h*x-f*v)/($*2)-a,_=(f*b-h*m)/$,P=C*C+_*_-1,A=2*(i+S*C+D*_),I=S*S+D*D-i*i,k=-(Math.abs(P)>1e-6?(A+Math.sqrt(A*A-4*P*I))/(2*P):I/A);return{x:r+S+C*k,y:a+D+_*k,r:k}}function E_(t,e,n){var r=t.x-e.x,a,i,o=t.y-e.y,s,l,u=r*r+o*o;u?(i=e.r+n.r,i*=i,l=t.r+n.r,l*=l,i>l?(a=(u+l-i)/(2*u),s=Math.sqrt(Math.max(0,l/u-a*a)),n.x=t.x-a*r-s*o,n.y=t.y-a*o+s*r):(a=(u+i-l)/(2*u),s=Math.sqrt(Math.max(0,i/u-a*a)),n.x=e.x+a*r-s*o,n.y=e.y+a*o+s*r)):(n.x=e.x+n.r,n.y=e.y)}function L_(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,a=e.y-t.y;return n>0&&n*n>r*r+a*a}function R_(t){var e=t._,n=t.next._,r=e.r+n.r,a=(e.x*n.r+n.x*e.r)/r,i=(e.y*n.r+n.y*e.r)/r;return a*a+i*i}function Bc(t){this._=t,this.next=null,this.previous=null}function k_(t,e){if(!(i=(t=Kj(t)).length))return 0;var n,r,a,i,o,s,l,u,c,d,f;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(r=t[1],n.x=-r.r,r.x=n.r,r.y=0,!(i>2))return n.r+r.r;E_(r,n,a=t[2]),n=new Bc(n),r=new Bc(r),a=new Bc(a),n.next=a.previous=r,r.next=n.previous=a,a.next=r.previous=n;t:for(l=3;l<i;++l){E_(n._,r._,a=t[l]),a=new Bc(a),u=r.next,c=n.previous,d=r._.r,f=n._.r;do if(d<=f){if(L_(u._,a._)){r=u,n.next=r,r.previous=n,--l;continue t}d+=u._.r,u=u.next}else{if(L_(c._,a._)){n=c,n.next=r,r.previous=n,--l;continue t}f+=c._.r,c=c.previous}while(u!==c.next);for(a.previous=n,a.next=r,n.next=r.previous=r=a,o=R_(n);(a=a.next)!==r;)(s=R_(a))<o&&(n=a,o=s);r=n.next}for(n=[r._],a=r;(a=a.next)!==r;)n.push(a._);for(a=w_(n,e),l=0;l<i;++l)n=t[l],n.x-=a.x,n.y-=a.y;return a.r}function aV(t){return k_(t,Bg()),t}function iV(t){return Math.sqrt(t.value)}function oV(){var t=null,e=1,n=1,r=ca;function a(i){const o=Bg();return i.x=e/2,i.y=n/2,t?i.eachBefore(I_(t)).eachAfter(Eg(r,.5,o)).eachBefore(N_(1)):i.eachBefore(I_(iV)).eachAfter(Eg(ca,1,o)).eachAfter(Eg(r,i.r/Math.min(e,n),o)).eachBefore(N_(Math.min(e,n)/(2*i.r))),i}return a.radius=function(i){return arguments.length?(t=Tc(i),a):t},a.size=function(i){return arguments.length?(e=+i[0],n=+i[1],a):[e,n]},a.padding=function(i){return arguments.length?(r=typeof i=="function"?i:Di(+i),a):r},a}function I_(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Eg(t,e,n){return function(r){if(a=r.children){var a,i,o=a.length,s=t(r)*e||0,l;if(s)for(i=0;i<o;++i)a[i].r+=s;if(l=k_(a,n),s)for(i=0;i<o;++i)a[i].r-=s;r.r=l+s}}}function N_(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}function z_(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function ms(t,e,n,r,a){for(var i=t.children,o,s=-1,l=i.length,u=t.value&&(r-e)/t.value;++s<l;)o=i[s],o.y0=n,o.y1=a,o.x0=e,o.x1=e+=o.value*u}function sV(){var t=1,e=1,n=0,r=!1;function a(o){var s=o.height+1;return o.x0=o.y0=n,o.x1=t,o.y1=e/s,o.eachBefore(i(e,s)),r&&o.eachBefore(z_),o}function i(o,s){return function(l){l.children&&ms(l,l.x0,o*(l.depth+1)/s,l.x1,o*(l.depth+2)/s);var u=l.x0,c=l.y0,d=l.x1-n,f=l.y1-n;d<u&&(u=d=(u+d)/2),f<c&&(c=f=(c+f)/2),l.x0=u,l.y0=c,l.x1=d,l.y1=f}}return a.round=function(o){return arguments.length?(r=!!o,a):r},a.size=function(o){return arguments.length?(t=+o[0],e=+o[1],a):[t,e]},a.padding=function(o){return arguments.length?(n=+o,a):n},a}var lV={depth:-1},O_={},Lg={};function uV(t){return t.id}function cV(t){return t.parentId}function fV(){var t=uV,e=cV,n;function r(a){var i=Array.from(a),o=t,s=e,l,u,c,d,f,h,p,g,m=new Map;if(n!=null){const b=i.map((v,$)=>dV(n(v,$,a))),y=b.map(G_),x=new Set(b).add("");for(const v of y)x.has(v)||(x.add(v),b.push(v),y.push(G_(v)),i.push(Lg));o=(v,$)=>b[$],s=(v,$)=>y[$]}for(c=0,l=i.length;c<l;++c)u=i[c],h=i[c]=new ua(u),(p=o(u,c,a))!=null&&(p+="")&&(g=h.id=p,m.set(g,m.has(g)?O_:h)),(p=s(u,c,a))!=null&&(p+="")&&(h.parent=p);for(c=0;c<l;++c)if(h=i[c],p=h.parent){if(f=m.get(p),!f)throw new Error("missing: "+p);if(f===O_)throw new Error("ambiguous: "+p);f.children?f.children.push(h):f.children=[h],h.parent=f}else{if(d)throw new Error("multiple roots");d=h}if(!d)throw new Error("no root");if(n!=null){for(;d.data===Lg&&d.children.length===1;)d=d.children[0],--l;for(let b=i.length-1;b>=0&&(h=i[b],h.data===Lg);--b)h.data=null}if(d.parent=lV,d.eachBefore(function(b){b.depth=b.parent.depth+1,--l}).eachBefore(P_),d.parent=null,l>0)throw new Error("cycle");return d}return r.id=function(a){return arguments.length?(t=Tc(a),r):t},r.parentId=function(a){return arguments.length?(e=Tc(a),r):e},r.path=function(a){return arguments.length?(n=Tc(a),r):n},r}function dV(t){t=`${t}`;let e=t.length;return Rg(t,e-1)&&!Rg(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function G_(t){let e=t.length;if(e<2)return"";for(;--e>1&&!Rg(t,e););return t.slice(0,e)}function Rg(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function hV(t,e){return t.parent===e.parent?1:2}function kg(t){var e=t.children;return e?e[0]:t.t}function Ig(t){var e=t.children;return e?e[e.length-1]:t.t}function pV(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function gV(t){for(var e=0,n=0,r=t.children,a=r.length,i;--a>=0;)i=r[a],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function mV(t,e,n){return t.a.parent===e.parent?t.a:n}function Mc(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Mc.prototype=Object.create(ua.prototype);function yV(t){for(var e=new Mc(t,0),n,r=[e],a,i,o,s;n=r.pop();)if(i=n._.children)for(n.children=new Array(s=i.length),o=s-1;o>=0;--o)r.push(a=n.children[o]=new Mc(i[o],o)),a.parent=n;return(e.parent=new Mc(null,0)).children=[e],e}function bV(){var t=hV,e=1,n=1,r=null;function a(u){var c=yV(u);if(c.eachAfter(i),c.parent.m=-c.z,c.eachBefore(o),r)u.eachBefore(l);else{var d=u,f=u,h=u;u.eachBefore(function(y){y.x<d.x&&(d=y),y.x>f.x&&(f=y),y.depth>h.depth&&(h=y)});var p=d===f?1:t(d,f)/2,g=p-d.x,m=e/(f.x+p+g),b=n/(h.depth||1);u.eachBefore(function(y){y.x=(y.x+g)*m,y.y=y.depth*b})}return u}function i(u){var c=u.children,d=u.parent.children,f=u.i?d[u.i-1]:null;if(c){gV(u);var h=(c[0].z+c[c.length-1].z)/2;f?(u.z=f.z+t(u._,f._),u.m=u.z-h):u.z=h}else f&&(u.z=f.z+t(u._,f._));u.parent.A=s(u,f,u.parent.A||d[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u,c,d){if(c){for(var f=u,h=u,p=c,g=f.parent.children[0],m=f.m,b=h.m,y=p.m,x=g.m,v;p=Ig(p),f=kg(f),p&&f;)g=kg(g),h=Ig(h),h.a=u,v=p.z+y-f.z-m+t(p._,f._),v>0&&(pV(mV(p,u,d),u,v),m+=v,b+=v),y+=p.m,m+=f.m,x+=g.m,b+=h.m;p&&!Ig(h)&&(h.t=p,h.m+=y-b),f&&!kg(g)&&(g.t=f,g.m+=m-x,d=u)}return d}function l(u){u.x*=e,u.y=u.depth*n}return a.separation=function(u){return arguments.length?(t=u,a):t},a.size=function(u){return arguments.length?(r=!1,e=+u[0],n=+u[1],a):r?null:[e,n]},a.nodeSize=function(u){return arguments.length?(r=!0,e=+u[0],n=+u[1],a):r?[e,n]:null},a}function Ec(t,e,n,r,a){for(var i=t.children,o,s=-1,l=i.length,u=t.value&&(a-n)/t.value;++s<l;)o=i[s],o.x0=e,o.x1=r,o.y0=n,o.y1=n+=o.value*u}var j_=(1+Math.sqrt(5))/2;function V_(t,e,n,r,a,i){for(var o=[],s=e.children,l,u,c=0,d=0,f=s.length,h,p,g=e.value,m,b,y,x,v,$,S;c<f;){h=a-n,p=i-r;do m=s[d++].value;while(!m&&d<f);for(b=y=m,$=Math.max(p/h,h/p)/(g*t),S=m*m*$,v=Math.max(y/S,S/b);d<f;++d){if(m+=u=s[d].value,u<b&&(b=u),u>y&&(y=u),S=m*m*$,x=Math.max(y/S,S/b),x>v){m-=u;break}v=x}o.push(l={value:m,dice:h<p,children:s.slice(c,d)}),l.dice?ms(l,n,r,a,g?r+=p*m/g:i):Ec(l,n,r,g?n+=h*m/g:a,i),g-=m,c=d}return o}const Ng=function t(e){function n(r,a,i,o,s){V_(e,r,a,i,o,s)}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(j_);function H_(){var t=Ng,e=!1,n=1,r=1,a=[0],i=ca,o=ca,s=ca,l=ca,u=ca;function c(f){return f.x0=f.y0=0,f.x1=n,f.y1=r,f.eachBefore(d),a=[0],e&&f.eachBefore(z_),f}function d(f){var h=a[f.depth],p=f.x0+h,g=f.y0+h,m=f.x1-h,b=f.y1-h;m<p&&(p=m=(p+m)/2),b<g&&(g=b=(g+b)/2),f.x0=p,f.y0=g,f.x1=m,f.y1=b,f.children&&(h=a[f.depth+1]=i(f)/2,p+=u(f)-h,g+=o(f)-h,m-=s(f)-h,b-=l(f)-h,m<p&&(p=m=(p+m)/2),b<g&&(g=b=(g+b)/2),t(f,p,g,m,b))}return c.round=function(f){return arguments.length?(e=!!f,c):e},c.size=function(f){return arguments.length?(n=+f[0],r=+f[1],c):[n,r]},c.tile=function(f){return arguments.length?(t=F_(f),c):t},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(i=typeof f=="function"?f:Di(+f),c):i},c.paddingOuter=function(f){return arguments.length?c.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):c.paddingTop()},c.paddingTop=function(f){return arguments.length?(o=typeof f=="function"?f:Di(+f),c):o},c.paddingRight=function(f){return arguments.length?(s=typeof f=="function"?f:Di(+f),c):s},c.paddingBottom=function(f){return arguments.length?(l=typeof f=="function"?f:Di(+f),c):l},c.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:Di(+f),c):u},c}function xV(t,e,n,r,a){var i=t.children,o,s=i.length,l,u=new Array(s+1);for(u[0]=l=o=0;o<s;++o)u[o+1]=l+=i[o].value;c(0,s,t.value,e,n,r,a);function c(d,f,h,p,g,m,b){if(d>=f-1){var y=i[d];y.x0=p,y.y0=g,y.x1=m,y.y1=b;return}for(var x=u[d],v=h/2+x,$=d+1,S=f-1;$<S;){var C=$+S>>>1;u[C]<v?$=C+1:S=C}v-u[$-1]<u[$]-v&&d+1<$&&--$;var D=u[$]-x,_=h-D;if(m-p>b-g){var P=h?(p*_+m*D)/h:m;c(d,$,D,p,g,P,b),c($,f,_,P,g,m,b)}else{var A=h?(g*_+b*D)/h:b;c(d,$,D,p,g,m,A),c($,f,_,p,A,m,b)}}}function vV(t,e,n,r,a){(t.depth&1?Ec:ms)(t,e,n,r,a)}const $V=function t(e){function n(r,a,i,o,s){if((l=r._squarify)&&l.ratio===e)for(var l,u,c,d,f=-1,h,p=l.length,g=r.value;++f<p;){for(u=l[f],c=u.children,d=u.value=0,h=c.length;d<h;++d)u.value+=c[d].value;u.dice?ms(u,a,i,o,g?i+=(s-i)*u.value/g:s):Ec(u,a,i,g?a+=(o-a)*u.value/g:o,s),g-=u.value}else r._squarify=l=V_(e,r,a,i,o,s),l.ratio=e}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(j_);function _V(t){for(var e=-1,n=t.length,r,a=t[n-1],i=0;++e<n;)r=a,a=t[e],i+=r[1]*a[0]-r[0]*a[1];return i/2}function AV(t){for(var e=-1,n=t.length,r=0,a=0,i,o=t[n-1],s,l=0;++e<n;)i=o,o=t[e],l+=s=i[0]*o[1]-o[0]*i[1],r+=(i[0]+o[0])*s,a+=(i[1]+o[1])*s;return l*=3,[r/l,a/l]}function SV(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function DV(t,e){return t[0]-e[0]||t[1]-e[1]}function X_(t){const e=t.length,n=[0,1];let r=2,a;for(a=2;a<e;++a){for(;r>1&&SV(t[n[r-2]],t[n[r-1]],t[a])<=0;)--r;n[r++]=a}return n.slice(0,r)}function CV(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),a=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(DV),e=0;e<n;++e)a[e]=[r[e][0],-r[e][1]];var i=X_(r),o=X_(a),s=o[0]===i[0],l=o[o.length-1]===i[i.length-1],u=[];for(e=i.length-1;e>=0;--e)u.push(t[r[i[e]][2]]);for(e=+s;e<o.length-l;++e)u.push(t[r[o[e]][2]]);return u}function PV(t,e){for(var n=t.length,r=t[n-1],a=e[0],i=e[1],o=r[0],s=r[1],l,u,c=!1,d=0;d<n;++d)r=t[d],l=r[0],u=r[1],u>i!=s>i&&a<(o-l)*(i-u)/(s-u)+l&&(c=!c),o=l,s=u;return c}function FV(t){for(var e=-1,n=t.length,r=t[n-1],a,i,o=r[0],s=r[1],l=0;++e<n;)a=o,i=s,r=t[e],o=r[0],s=r[1],a-=o,i-=s,l+=Math.hypot(a,i);return l}const qt=Math.random,TV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,arguments.length===1?(a=r,r=0):a-=r,function(){return e()*a+r}}return n.source=t,n}(qt),wV=function t(e){function n(r,a){return arguments.length<2&&(a=r,r=0),r=Math.floor(r),a=Math.floor(a)-r,function(){return Math.floor(e()*a+r)}}return n.source=t,n}(qt),zg=function t(e){function n(r,a){var i,o;return r=r==null?0:+r,a=a==null?1:+a,function(){var s;if(i!=null)s=i,i=null;else do i=e()*2-1,s=e()*2-1,o=i*i+s*s;while(!o||o>1);return r+a*s*Math.sqrt(-2*Math.log(o)/o)}}return n.source=t,n}(qt),BV=function t(e){var n=zg.source(e);function r(){var a=n.apply(this,arguments);return function(){return Math.exp(a())}}return r.source=t,r}(qt),W_=function t(e){function n(r){return(r=+r)<=0?()=>0:function(){for(var a=0,i=r;i>1;--i)a+=e();return a+i*e()}}return n.source=t,n}(qt),MV=function t(e){var n=W_.source(e);function r(a){if((a=+a)==0)return e;var i=n(a);return function(){return i()/a}}return r.source=t,r}(qt),EV=function t(e){function n(r){return function(){return-Math.log1p(-e())/r}}return n.source=t,n}(qt),LV=function t(e){function n(r){if((r=+r)<0)throw new RangeError("invalid alpha");return r=1/-r,function(){return Math.pow(1-e(),r)}}return n.source=t,n}(qt),RV=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+r)}}return n.source=t,n}(qt),U_=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return r===0?()=>1/0:r===1?()=>1:(r=Math.log1p(-r),function(){return 1+Math.floor(Math.log1p(-e())/r)})}return n.source=t,n}(qt),Og=function t(e){var n=zg.source(e)();function r(a,i){if((a=+a)<0)throw new RangeError("invalid k");if(a===0)return()=>0;if(i=i==null?1:+i,a===1)return()=>-Math.log1p(-e())*i;var o=(a<1?a+1:a)-1/3,s=1/(3*Math.sqrt(o)),l=a<1?()=>Math.pow(e(),1/a):()=>1;return function(){do{do var u=n(),c=1+s*u;while(c<=0);c*=c*c;var d=1-e()}while(d>=1-.0331*u*u*u*u&&Math.log(d)>=.5*u*u+o*(1-c+Math.log(c)));return o*c*l()*i}}return r.source=t,r}(qt),Y_=function t(e){var n=Og.source(e);function r(a,i){var o=n(a),s=n(i);return function(){var l=o();return l===0?0:l/(l+s())}}return r.source=t,r}(qt),q_=function t(e){var n=U_.source(e),r=Y_.source(e);function a(i,o){return i=+i,(o=+o)>=1?()=>i:o<=0?()=>0:function(){for(var s=0,l=i,u=o;l*u>16&&l*(1-u)>16;){var c=Math.floor((l+1)*u),d=r(c,l-c+1)();d<=u?(s+=c,l-=c,u=(u-d)/(1-d)):(l=c-1,u/=d)}for(var f=u<.5,h=f?u:1-u,p=n(h),g=p(),m=0;g<=l;++m)g+=p();return s+(f?m:l-m)}}return a.source=t,a}(qt),kV=function t(e){function n(r,a,i){var o;return(r=+r)==0?o=s=>-Math.log(s):(r=1/r,o=s=>Math.pow(s,r)),a=a==null?0:+a,i=i==null?1:+i,function(){return a+i*o(-Math.log1p(-e()))}}return n.source=t,n}(qt),IV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,function(){return r+a*Math.tan(Math.PI*e())}}return n.source=t,n}(qt),NV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,function(){var i=e();return r+a*Math.log(i/(1-i))}}return n.source=t,n}(qt),zV=function t(e){var n=Og.source(e),r=q_.source(e);function a(i){return function(){for(var o=0,s=i;s>16;){var l=Math.floor(.875*s),u=n(l)();if(u>s)return o+r(l-1,s/u)();o+=l,s-=u}for(var c=-Math.log1p(-e()),d=0;c<=s;++d)c-=Math.log1p(-e());return o+d}}return a.source=t,a}(qt),OV=1664525,GV=1013904223,Z_=1/4294967296;function jV(t=Math.random()){let e=(0<=t&&t<1?t/Z_:Math.abs(t))|0;return()=>(e=OV*e+GV|0,Z_*(e>>>0))}function je(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function Gn(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const Gg=Symbol("implicit");function jg(){var t=new So,e=[],n=[],r=Gg;function a(i){let o=t.get(i);if(o===void 0){if(r!==Gg)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new So;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return jg(e,n).unknown(r)},je.apply(a,arguments),a}function Vg(){var t=jg().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,s=!1,l=0,u=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-l+u*2),s&&(i=Math.floor(i)),p+=(g-p-i*(f-l))*c,o=i*(1-l),s&&(p=Math.round(p),o=Math.round(o));var m=sr(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,s=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(s=!!f,d()):s},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),d()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),d()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,d()):u},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return Vg(e(),[r,a]).round(s).paddingInner(l).paddingOuter(u).align(c)},je.apply(d(),arguments)}function J_(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return J_(e())},t}function Hg(){return J_(Vg.apply(null,arguments).paddingInner(1))}function VV(t){return function(){return t}}function Lc(t){return+t}var K_=[0,1];function ge(t){return t}function Xg(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:VV(isNaN(e)?NaN:.5)}function HV(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function XV(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=Xg(a,r),i=n(o,i)):(r=Xg(r,a),i=n(i,o)),function(s){return i(r(s))}}function WV(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=Xg(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(s){var l=Or(t,s,1,r)-1;return i[l](a[l](s))}}function ys(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Rc(){var t=K_,e=K_,n=En,r,a,i,o=ge,s,l,u;function c(){var f=Math.min(t.length,e.length);return o!==ge&&(o=HV(t[0],t[f-1])),s=f>2?WV:XV,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?i:(l||(l=s(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((u||(u=s(e,t.map(r),Le)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Lc),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=ko,c()},d.clamp=function(f){return arguments.length?(o=f?!0:ge,c()):o!==ge},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function Wg(){return Rc()(ge,ge)}function Q_(t,e,n,r){var a=Jl(t,e,n),i;switch(r=yi(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=c2(a,o))&&(r.precision=i),Np(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=f2(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=u2(a))&&(r.precision=i-(r.type==="%")*2);break}}return Zo(r)}function pr(t){var e=t.domain;return t.ticks=function(n){var r=e();return jr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return Q_(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],s=r[i],l,u,c=10;for(s<o&&(u=o,o=s,s=u,u=a,a=i,i=u);c-- >0;){if(u=Vr(o,s,n),u===l)return r[a]=o,r[i]=s,e(r);if(u>0)o=Math.floor(o/u)*u,s=Math.ceil(s/u)*u;else if(u<0)o=Math.ceil(o*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function fa(){var t=Wg();return t.copy=function(){return ys(t,fa())},je.apply(t,arguments),pr(t)}function tA(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,Lc),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return tA(t).unknown(e)},t=arguments.length?Array.from(t,Lc):[0,1],pr(n)}function eA(t,e){t=t.slice();var n=0,r=t.length-1,a=t[n],i=t[r],o;return i<a&&(o=n,n=r,r=o,o=a,a=i,i=o),t[n]=e.floor(a),t[r]=e.ceil(i),t}function nA(t){return Math.log(t)}function rA(t){return Math.exp(t)}function UV(t){return-Math.log(-t)}function YV(t){return-Math.exp(-t)}function qV(t){return isFinite(t)?+("1e"+t):t<0?0:t}function ZV(t){return t===10?qV:t===Math.E?Math.exp:e=>Math.pow(t,e)}function JV(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function aA(t){return(e,n)=>-t(-e,n)}function Ug(t){const e=t(nA,rA),n=e.domain;let r=10,a,i;function o(){return a=JV(r),i=ZV(r),n()[0]<0?(a=aA(a),i=aA(i),t(UV,YV)):t(nA,rA),e}return e.base=function(s){return arguments.length?(r=+s,o()):r},e.domain=function(s){return arguments.length?(n(s),o()):n()},e.ticks=s=>{const l=n();let u=l[0],c=l[l.length-1];const d=c<u;d&&([u,c]=[c,u]);let f=a(u),h=a(c),p,g;const m=s==null?10:+s;let b=[];if(!(r%1)&&h-f<m){if(f=Math.floor(f),h=Math.ceil(h),u>0){for(;f<=h;++f)for(p=1;p<r;++p)if(g=f<0?p/i(-f):p*i(f),!(g<u)){if(g>c)break;b.push(g)}}else for(;f<=h;++f)for(p=r-1;p>=1;--p)if(g=f>0?p/i(-f):p*i(f),!(g<u)){if(g>c)break;b.push(g)}b.length*2<m&&(b=jr(u,c,m))}else b=jr(f,h,Math.min(h-f,m)).map(i);return d?b.reverse():b},e.tickFormat=(s,l)=>{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=yi(l)).precision==null&&(l.trim=!0),l=Zo(l)),s===1/0)return l;const u=Math.max(1,r*s/e.ticks().length);return c=>{let d=c/i(Math.round(a(c)));return d*r<r-.5&&(d*=r),d<=u?l(c):""}},e.nice=()=>n(eA(n(),{floor:s=>i(Math.floor(a(s))),ceil:s=>i(Math.ceil(a(s)))})),e}function iA(){const t=Ug(Rc()).domain([1,10]);return t.copy=()=>ys(t,iA()).base(t.base()),je.apply(t,arguments),t}function oA(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function sA(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Yg(t){var e=1,n=t(oA(e),sA(e));return n.constant=function(r){return arguments.length?t(oA(e=+r),sA(e)):e},pr(n)}function lA(){var t=Yg(Rc());return t.copy=function(){return ys(t,lA()).constant(t.constant())},je.apply(t,arguments)}function uA(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function KV(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function QV(t){return t<0?-t*t:t*t}function qg(t){var e=t(ge,ge),n=1;function r(){return n===1?t(ge,ge):n===.5?t(KV,QV):t(uA(n),uA(1/n))}return e.exponent=function(a){return arguments.length?(n=+a,r()):n},pr(e)}function gr(){var t=qg(Rc());return t.copy=function(){return ys(t,gr()).exponent(t.exponent())},je.apply(t,arguments),t}function tH(){return gr.apply(null,arguments).exponent(.5)}function cA(t){return Math.sign(t)*t*t}function eH(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function fA(){var t=Wg(),e=[0,1],n=!1,r;function a(i){var o=eH(t(i));return isNaN(o)?r:n?Math.round(o):o}return a.invert=function(i){return t.invert(cA(i))},a.domain=function(i){return arguments.length?(t.domain(i),a):t.domain()},a.range=function(i){return arguments.length?(t.range((e=Array.from(i,Lc)).map(cA)),a):e.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(n=!!i,a):n},a.clamp=function(i){return arguments.length?(t.clamp(i),a):t.clamp()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return fA(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},je.apply(a,arguments),pr(a)}function dA(){var t=[],e=[],n=[],r;function a(){var o=0,s=Math.max(1,e.length);for(n=new Array(s-1);++o<s;)n[o-1]=Yx(t,o/s);return i}function i(o){return o==null||isNaN(o=+o)?r:e[Or(n,o)]}return i.invertExtent=function(o){var s=e.indexOf(o);return s<0?[NaN,NaN]:[s>0?n[s-1]:t[0],s<n.length?n[s]:t[t.length-1]]},i.domain=function(o){if(!arguments.length)return t.slice();t=[];for(let s of o)s!=null&&!isNaN(s=+s)&&t.push(s);return t.sort(wt),a()},i.range=function(o){return arguments.length?(e=Array.from(o),a()):e.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return dA().domain(t).range(e).unknown(r)},je.apply(i,arguments)}function hA(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(l){return l!=null&&l<=l?a[Or(r,l,0,n)]:i}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return o}return o.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},o.range=function(l){return arguments.length?(n=(a=Array.from(l)).length-1,s()):a.slice()},o.invertExtent=function(l){var u=a.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},o.unknown=function(l){return arguments.length&&(i=l),o},o.thresholds=function(){return r.slice()},o.copy=function(){return hA().domain([t,e]).range(a).unknown(i)},je.apply(pr(o),arguments)}function pA(){var t=[.5],e=[0,1],n,r=1;function a(i){return i!=null&&i<=i?e[Or(t,i,0,r)]:n}return a.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),a):t.slice()},a.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),a):e.slice()},a.invertExtent=function(i){var o=e.indexOf(i);return[t[o-1],t[o]]},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return pA().domain(t).range(e).unknown(n)},je.apply(a,arguments)}const Zg=new Date,Jg=new Date;function zt(t,e,n,r){function a(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(t(i=new Date(+i)),i),a.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),a.round=i=>{const o=a(i),s=a.ceil(i);return i-o<s-i?o:s},a.offset=(i,o)=>(e(i=new Date(+i),o==null?1:Math.floor(o)),i),a.range=(i,o,s)=>{const l=[];if(i=a.ceil(i),s=s==null?1:Math.floor(s),!(i<o)||!(s>0))return l;let u;do l.push(u=new Date(+i)),e(i,s),t(i);while(u<i&&i<o);return l},a.filter=i=>zt(o=>{if(o>=o)for(;t(o),!i(o);)o.setTime(o-1)},(o,s)=>{if(o>=o)if(s<0)for(;++s<=0;)for(;e(o,-1),!i(o););else for(;--s>=0;)for(;e(o,1),!i(o););}),n&&(a.count=(i,o)=>(Zg.setTime(+i),Jg.setTime(+o),t(Zg),t(Jg),Math.floor(n(Zg,Jg))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(r?o=>r(o)%i===0:o=>a.count(0,o)%i===0):a)),a}const Ci=zt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ci.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?zt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ci);const gA=Ci.range,jn=1e3,Ve=jn*60,Vn=Ve*60,Hn=Vn*24,Kg=Hn*7,mA=Hn*30,Qg=Hn*365,Xn=zt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*jn)},(t,e)=>(e-t)/jn,t=>t.getUTCSeconds()),yA=Xn.range,kc=zt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*jn)},(t,e)=>{t.setTime(+t+e*Ve)},(t,e)=>(e-t)/Ve,t=>t.getMinutes()),nH=kc.range,Ic=zt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Ve)},(t,e)=>(e-t)/Ve,t=>t.getUTCMinutes()),rH=Ic.range,Nc=zt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*jn-t.getMinutes()*Ve)},(t,e)=>{t.setTime(+t+e*Vn)},(t,e)=>(e-t)/Vn,t=>t.getHours()),aH=Nc.range,zc=zt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Vn)},(t,e)=>(e-t)/Vn,t=>t.getUTCHours()),iH=zc.range,Pi=zt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ve)/Hn,t=>t.getDate()-1),oH=Pi.range,bs=zt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Hn,t=>t.getUTCDate()-1),sH=bs.range,tm=zt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Hn,t=>Math.floor(t/Hn)),lH=tm.range;function da(t){return zt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Ve)/Kg)}const Fi=da(0),xs=da(1),bA=da(2),xA=da(3),ha=da(4),vA=da(5),$A=da(6),_A=Fi.range,uH=xs.range,cH=bA.range,fH=xA.range,dH=ha.range,hH=vA.range,pH=$A.range;function pa(t){return zt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Kg)}const Ti=pa(0),vs=pa(1),AA=pa(2),SA=pa(3),ga=pa(4),DA=pa(5),CA=pa(6),PA=Ti.range,gH=vs.range,mH=AA.range,yH=SA.range,bH=ga.range,xH=DA.range,vH=CA.range,Oc=zt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),$H=Oc.range,Gc=zt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),_H=Gc.range,Cn=zt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Cn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const AH=Cn.range,Pn=zt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Pn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const SH=Pn.range;function FA(t,e,n,r,a,i){const o=[[Xn,1,jn],[Xn,5,5*jn],[Xn,15,15*jn],[Xn,30,30*jn],[i,1,Ve],[i,5,5*Ve],[i,15,15*Ve],[i,30,30*Ve],[a,1,Vn],[a,3,3*Vn],[a,6,6*Vn],[a,12,12*Vn],[r,1,Hn],[r,2,2*Hn],[n,1,Kg],[e,1,mA],[e,3,3*mA],[t,1,Qg]];function s(u,c,d){const f=c<u;f&&([u,c]=[c,u]);const h=d&&typeof d.range=="function"?d:l(u,c,d),p=h?h.range(u,+c+1):[];return f?p.reverse():p}function l(u,c,d){const f=Math.abs(c-u)/d,h=Ul(([,,m])=>m).right(o,f);if(h===o.length)return t.every(Jl(u/Qg,c/Qg,d));if(h===0)return Ci.every(Math.max(Jl(u,c,d),1));const[p,g]=o[f/o[h-1][2]<o[h][2]/f?h-1:h];return p.every(g)}return[s,l]}const[TA,wA]=FA(Pn,Gc,Ti,tm,zc,Ic),[BA,MA]=FA(Cn,Oc,Fi,Pi,Nc,kc);function em(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function nm(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function $s(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function EA(t){var e=t.dateTime,n=t.date,r=t.time,a=t.periods,i=t.days,o=t.shortDays,s=t.months,l=t.shortMonths,u=_s(a),c=As(a),d=_s(i),f=As(i),h=_s(o),p=As(o),g=_s(s),m=As(s),b=_s(l),y=As(l),x={a:B,A:N,b:E,B:z,c:null,d:zA,e:zA,f:UH,g:rX,G:iX,H:HH,I:XH,j:WH,L:OA,m:YH,M:qH,p:V,q:J,Q:WA,s:UA,S:ZH,u:JH,U:KH,V:QH,w:tX,W:eX,x:null,X:null,y:nX,Y:aX,Z:oX,"%":XA},v={a:G,A:X,b:W,B:ct,c:null,d:jA,e:jA,f:cX,g:vX,G:_X,H:sX,I:lX,j:uX,L:VA,m:fX,M:dX,p:ut,q:pt,Q:WA,s:UA,S:hX,u:pX,U:gX,V:mX,w:yX,W:bX,x:null,X:null,y:xX,Y:$X,Z:AX,"%":XA},$={a:P,A,b:I,B:k,c:w,d:IA,e:IA,f:OH,g:kA,G:RA,H:NA,I:NA,j:kH,L:zH,m:RH,M:IH,p:_,q:LH,Q:jH,s:VH,S:NH,u:TH,U:wH,V:BH,w:FH,W:MH,x:F,X:T,y:kA,Y:RA,Z:EH,"%":GH};x.x=S(n,x),x.X=S(r,x),x.c=S(e,x),v.x=S(n,v),v.X=S(r,v),v.c=S(e,v);function S(Q,nt){return function(lt){var q=[],Tt=-1,At=0,ye=Q.length,be,st,It;for(lt instanceof Date||(lt=new Date(+lt));++Tt<ye;)Q.charCodeAt(Tt)===37&&(q.push(Q.slice(At,Tt)),(st=LA[be=Q.charAt(++Tt)])!=null?be=Q.charAt(++Tt):st=be==="e"?" ":"0",(It=nt[be])&&(be=It(lt,st)),q.push(be),At=Tt+1);return q.push(Q.slice(At,Tt)),q.join("")}}function C(Q,nt){return function(lt){var q=$s(1900,void 0,1),Tt=D(q,Q,lt+="",0),At,ye;if(Tt!=lt.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1e3+("L"in q?q.L:0));if(nt&&!("Z"in q)&&(q.Z=0),"p"in q&&(q.H=q.H%12+q.p*12),q.m===void 0&&(q.m="q"in q?q.q:0),"V"in q){if(q.V<1||q.V>53)return null;"w"in q||(q.w=1),"Z"in q?(At=nm($s(q.y,0,1)),ye=At.getUTCDay(),At=ye>4||ye===0?vs.ceil(At):vs(At),At=bs.offset(At,(q.V-1)*7),q.y=At.getUTCFullYear(),q.m=At.getUTCMonth(),q.d=At.getUTCDate()+(q.w+6)%7):(At=em($s(q.y,0,1)),ye=At.getDay(),At=ye>4||ye===0?xs.ceil(At):xs(At),At=Pi.offset(At,(q.V-1)*7),q.y=At.getFullYear(),q.m=At.getMonth(),q.d=At.getDate()+(q.w+6)%7)}else("W"in q||"U"in q)&&("w"in q||(q.w="u"in q?q.u%7:"W"in q?1:0),ye="Z"in q?nm($s(q.y,0,1)).getUTCDay():em($s(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(ye+5)%7:q.w+q.U*7-(ye+6)%7);return"Z"in q?(q.H+=q.Z/100|0,q.M+=q.Z%100,nm(q)):em(q)}}function D(Q,nt,lt,q){for(var Tt=0,At=nt.length,ye=lt.length,be,st;Tt<At;){if(q>=ye)return-1;if(be=nt.charCodeAt(Tt++),be===37){if(be=nt.charAt(Tt++),st=$[be in LA?nt.charAt(Tt++):be],!st||(q=st(Q,lt,q))<0)return-1}else if(be!=lt.charCodeAt(q++))return-1}return q}function _(Q,nt,lt){var q=u.exec(nt.slice(lt));return q?(Q.p=c.get(q[0].toLowerCase()),lt+q[0].length):-1}function P(Q,nt,lt){var q=h.exec(nt.slice(lt));return q?(Q.w=p.get(q[0].toLowerCase()),lt+q[0].length):-1}function A(Q,nt,lt){var q=d.exec(nt.slice(lt));return q?(Q.w=f.get(q[0].toLowerCase()),lt+q[0].length):-1}function I(Q,nt,lt){var q=b.exec(nt.slice(lt));return q?(Q.m=y.get(q[0].toLowerCase()),lt+q[0].length):-1}function k(Q,nt,lt){var q=g.exec(nt.slice(lt));return q?(Q.m=m.get(q[0].toLowerCase()),lt+q[0].length):-1}function w(Q,nt,lt){return D(Q,e,nt,lt)}function F(Q,nt,lt){return D(Q,n,nt,lt)}function T(Q,nt,lt){return D(Q,r,nt,lt)}function B(Q){return o[Q.getDay()]}function N(Q){return i[Q.getDay()]}function E(Q){return l[Q.getMonth()]}function z(Q){return s[Q.getMonth()]}function V(Q){return a[+(Q.getHours()>=12)]}function J(Q){return 1+~~(Q.getMonth()/3)}function G(Q){return o[Q.getUTCDay()]}function X(Q){return i[Q.getUTCDay()]}function W(Q){return l[Q.getUTCMonth()]}function ct(Q){return s[Q.getUTCMonth()]}function ut(Q){return a[+(Q.getUTCHours()>=12)]}function pt(Q){return 1+~~(Q.getUTCMonth()/3)}return{format:function(Q){var nt=S(Q+="",x);return nt.toString=function(){return Q},nt},parse:function(Q){var nt=C(Q+="",!1);return nt.toString=function(){return Q},nt},utcFormat:function(Q){var nt=S(Q+="",v);return nt.toString=function(){return Q},nt},utcParse:function(Q){var nt=C(Q+="",!0);return nt.toString=function(){return Q},nt}}}var LA={"-":"",_:" ",0:"0"},Ut=/^\s*\d+/,DH=/^%/,CH=/[\\^$*+?|[\]().{}]/g;function vt(t,e,n){var r=t<0?"-":"",a=(r?-t:t)+"",i=a.length;return r+(i<n?new Array(n-i+1).join(e)+a:a)}function PH(t){return t.replace(CH,"\\$&")}function _s(t){return new RegExp("^(?:"+t.map(PH).join("|")+")","i")}function As(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function FH(t,e,n){var r=Ut.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function TH(t,e,n){var r=Ut.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function wH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function BH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function MH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function RA(t,e,n){var r=Ut.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function kA(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function EH(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function LH(t,e,n){var r=Ut.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function RH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function IA(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function kH(t,e,n){var r=Ut.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function NA(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function IH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function NH(t,e,n){var r=Ut.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function zH(t,e,n){var r=Ut.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function OH(t,e,n){var r=Ut.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function GH(t,e,n){var r=DH.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function jH(t,e,n){var r=Ut.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function VH(t,e,n){var r=Ut.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function zA(t,e){return vt(t.getDate(),e,2)}function HH(t,e){return vt(t.getHours(),e,2)}function XH(t,e){return vt(t.getHours()%12||12,e,2)}function WH(t,e){return vt(1+Pi.count(Cn(t),t),e,3)}function OA(t,e){return vt(t.getMilliseconds(),e,3)}function UH(t,e){return OA(t,e)+"000"}function YH(t,e){return vt(t.getMonth()+1,e,2)}function qH(t,e){return vt(t.getMinutes(),e,2)}function ZH(t,e){return vt(t.getSeconds(),e,2)}function JH(t){var e=t.getDay();return e===0?7:e}function KH(t,e){return vt(Fi.count(Cn(t)-1,t),e,2)}function GA(t){var e=t.getDay();return e>=4||e===0?ha(t):ha.ceil(t)}function QH(t,e){return t=GA(t),vt(ha.count(Cn(t),t)+(Cn(t).getDay()===4),e,2)}function tX(t){return t.getDay()}function eX(t,e){return vt(xs.count(Cn(t)-1,t),e,2)}function nX(t,e){return vt(t.getFullYear()%100,e,2)}function rX(t,e){return t=GA(t),vt(t.getFullYear()%100,e,2)}function aX(t,e){return vt(t.getFullYear()%1e4,e,4)}function iX(t,e){var n=t.getDay();return t=n>=4||n===0?ha(t):ha.ceil(t),vt(t.getFullYear()%1e4,e,4)}function oX(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+vt(e/60|0,"0",2)+vt(e%60,"0",2)}function jA(t,e){return vt(t.getUTCDate(),e,2)}function sX(t,e){return vt(t.getUTCHours(),e,2)}function lX(t,e){return vt(t.getUTCHours()%12||12,e,2)}function uX(t,e){return vt(1+bs.count(Pn(t),t),e,3)}function VA(t,e){return vt(t.getUTCMilliseconds(),e,3)}function cX(t,e){return VA(t,e)+"000"}function fX(t,e){return vt(t.getUTCMonth()+1,e,2)}function dX(t,e){return vt(t.getUTCMinutes(),e,2)}function hX(t,e){return vt(t.getUTCSeconds(),e,2)}function pX(t){var e=t.getUTCDay();return e===0?7:e}function gX(t,e){return vt(Ti.count(Pn(t)-1,t),e,2)}function HA(t){var e=t.getUTCDay();return e>=4||e===0?ga(t):ga.ceil(t)}function mX(t,e){return t=HA(t),vt(ga.count(Pn(t),t)+(Pn(t).getUTCDay()===4),e,2)}function yX(t){return t.getUTCDay()}function bX(t,e){return vt(vs.count(Pn(t)-1,t),e,2)}function xX(t,e){return vt(t.getUTCFullYear()%100,e,2)}function vX(t,e){return t=HA(t),vt(t.getUTCFullYear()%100,e,2)}function $X(t,e){return vt(t.getUTCFullYear()%1e4,e,4)}function _X(t,e){var n=t.getUTCDay();return t=n>=4||n===0?ga(t):ga.ceil(t),vt(t.getUTCFullYear()%1e4,e,4)}function AX(){return"+0000"}function XA(){return"%"}function WA(t){return+t}function UA(t){return Math.floor(+t/1e3)}var wi,rm,YA,jc,am;qA({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function qA(t){return wi=EA(t),rm=wi.format,YA=wi.parse,jc=wi.utcFormat,am=wi.utcParse,wi}var ZA="%Y-%m-%dT%H:%M:%S.%LZ";function SX(t){return t.toISOString()}var DX=Date.prototype.toISOString?SX:jc(ZA);const CX=DX;function PX(t){var e=new Date(t);return isNaN(e)?null:e}var FX=+new Date("2000-01-01T00:00:00.000Z")?PX:am(ZA);const TX=FX;function wX(t){return new Date(t)}function BX(t){return t instanceof Date?+t:+new Date(+t)}function im(t,e,n,r,a,i,o,s,l,u){var c=Wg(),d=c.invert,f=c.domain,h=u(".%L"),p=u(":%S"),g=u("%I:%M"),m=u("%I %p"),b=u("%a %d"),y=u("%b %d"),x=u("%B"),v=u("%Y");function $(S){return(l(S)<S?h:s(S)<S?p:o(S)<S?g:i(S)<S?m:r(S)<S?a(S)<S?b:y:n(S)<S?x:v)(S)}return c.invert=function(S){return new Date(d(S))},c.domain=function(S){return arguments.length?f(Array.from(S,BX)):f().map(wX)},c.ticks=function(S){var C=f();return t(C[0],C[C.length-1],S??10)},c.tickFormat=function(S,C){return C==null?$:u(C)},c.nice=function(S){var C=f();return(!S||typeof S.range!="function")&&(S=e(C[0],C[C.length-1],S??10)),S?f(eA(C,S)):c},c.copy=function(){return ys(c,im(t,e,n,r,a,i,o,s,l,u))},c}function MX(){return je.apply(im(BA,MA,Cn,Oc,Fi,Pi,Nc,kc,Xn,rm).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function EX(){return je.apply(im(TA,wA,Pn,Gc,Ti,bs,zc,Ic,Xn,jc).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Vc(){var t=0,e=1,n,r,a,i,o=ge,s=!1,l;function u(d){return d==null||isNaN(d=+d)?l:o(a===0?.5:(d=(i(d)-n)*a,s?Math.max(0,Math.min(1,d)):d))}u.domain=function(d){return arguments.length?([t,e]=d,n=i(t=+t),r=i(e=+e),a=n===r?0:1/(r-n),u):[t,e]},u.clamp=function(d){return arguments.length?(s=!!d,u):s},u.interpolator=function(d){return arguments.length?(o=d,u):o};function c(d){return function(f){var h,p;return arguments.length?([h,p]=f,o=d(h,p),u):[o(0),o(1)]}}return u.range=c(En),u.rangeRound=c(ko),u.unknown=function(d){return arguments.length?(l=d,u):l},function(d){return i=d,n=d(t),r=d(e),a=n===r?0:1/(r-n),u}}function mr(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function JA(){var t=pr(Vc()(ge));return t.copy=function(){return mr(t,JA())},Gn.apply(t,arguments)}function KA(){var t=Ug(Vc()).domain([1,10]);return t.copy=function(){return mr(t,KA()).base(t.base())},Gn.apply(t,arguments)}function QA(){var t=Yg(Vc());return t.copy=function(){return mr(t,QA()).constant(t.constant())},Gn.apply(t,arguments)}function om(){var t=qg(Vc());return t.copy=function(){return mr(t,om()).exponent(t.exponent())},Gn.apply(t,arguments)}function LX(){return om.apply(null,arguments).exponent(.5)}function tS(){var t=[],e=ge;function n(r){if(r!=null&&!isNaN(r=+r))return e((Or(t,r,1)-1)/(t.length-1))}return n.domain=function(r){if(!arguments.length)return t.slice();t=[];for(let a of r)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(wt),n},n.interpolator=function(r){return arguments.length?(e=r,n):e},n.range=function(){return t.map((r,a)=>e(a/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,i)=>Po(t,i/r))},n.copy=function(){return tS(e).domain(t)},Gn.apply(n,arguments)}function Hc(){var t=0,e=.5,n=1,r=1,a,i,o,s,l,u=ge,c,d=!1,f;function h(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-i)*(r*g<r*i?s:l),u(d?Math.max(0,Math.min(1,g)):g))}h.domain=function(g){return arguments.length?([t,e,n]=g,a=c(t=+t),i=c(e=+e),o=c(n=+n),s=a===i?0:.5/(i-a),l=i===o?0:.5/(o-i),r=i<a?-1:1,h):[t,e,n]},h.clamp=function(g){return arguments.length?(d=!!g,h):d},h.interpolator=function(g){return arguments.length?(u=g,h):u};function p(g){return function(m){var b,y,x;return arguments.length?([b,y,x]=m,u=a$(g,[b,y,x]),h):[u(0),u(.5),u(1)]}}return h.range=p(En),h.rangeRound=p(ko),h.unknown=function(g){return arguments.length?(f=g,h):f},function(g){return c=g,a=g(t),i=g(e),o=g(n),s=a===i?0:.5/(i-a),l=i===o?0:.5/(o-i),r=i<a?-1:1,h}}function eS(){var t=pr(Hc()(ge));return t.copy=function(){return mr(t,eS())},Gn.apply(t,arguments)}function nS(){var t=Ug(Hc()).domain([.1,1,10]);return t.copy=function(){return mr(t,nS()).base(t.base())},Gn.apply(t,arguments)}function rS(){var t=Yg(Hc());return t.copy=function(){return mr(t,rS()).constant(t.constant())},Gn.apply(t,arguments)}function sm(){var t=qg(Hc());return t.copy=function(){return mr(t,sm()).exponent(t.exponent())},Gn.apply(t,arguments)}function RX(){return sm.apply(null,arguments).exponent(.5)}function ft(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}const kX=ft("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),IX=ft("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),NX=ft("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),zX=ft("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),OX=ft("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),GX=ft("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),jX=ft("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),VX=ft("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),HX=ft("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),XX=ft("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),WX=ft("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),Ct=t=>jv(t[t.length-1]);var aS=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(ft);const UX=Ct(aS);var iS=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(ft);const YX=Ct(iS);var oS=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(ft);const qX=Ct(oS);var sS=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(ft);const ZX=Ct(sS);var lS=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(ft);const JX=Ct(lS);var uS=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(ft);const KX=Ct(uS);var cS=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(ft);const QX=Ct(cS);var fS=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(ft);const tW=Ct(fS);var dS=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(ft);const eW=Ct(dS);var hS=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(ft);const nW=Ct(hS);var pS=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(ft);const rW=Ct(pS);var gS=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(ft);const aW=Ct(gS);var mS=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(ft);const iW=Ct(mS);var yS=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(ft);const oW=Ct(yS);var bS=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(ft);const sW=Ct(bS);var xS=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(ft);const lW=Ct(xS);var vS=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(ft);const uW=Ct(vS);var $S=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(ft);const cW=Ct($S);var _S=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(ft);const fW=Ct(_S);var AS=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(ft);const dW=Ct(AS);var SS=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(ft);const hW=Ct(SS);var DS=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ft);const pW=Ct(DS);var CS=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(ft);const gW=Ct(CS);var PS=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(ft);const mW=Ct(PS);var FS=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(ft);const yW=Ct(FS);var TS=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(ft);const bW=Ct(TS);var wS=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(ft);const xW=Ct(wS);function vW(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}const $W=$u(nn(300,.5,0),nn(-240,.5,1));var _W=$u(nn(-100,.75,.35),nn(80,1.5,.8)),AW=$u(nn(260,.75,.35),nn(80,1.5,.8)),Xc=nn();function SW(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Xc.h=360*t-100,Xc.s=1.5-1.5*e,Xc.l=.8-.9*e,Xc+""}var Wc=ii(),DW=Math.PI/3,CW=Math.PI*2/3;function PW(t){var e;return t=(.5-t)*Math.PI,Wc.r=255*(e=Math.sin(t))*e,Wc.g=255*(e=Math.sin(t+DW))*e,Wc.b=255*(e=Math.sin(t+CW))*e,Wc+""}function FW(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function Uc(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}const TW=Uc(ft("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var wW=Uc(ft("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),BW=Uc(ft("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),MW=Uc(ft("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function dt(t){return function(){return t}}const BS=Math.abs,ee=Math.atan2,Wn=Math.cos,EW=Math.max,Bi=Math.min,Ce=Math.sin,Ft=Math.sqrt,ne=1e-12,yr=Math.PI,Yc=yr/2,br=2*yr;function LW(t){return t>1?0:t<-1?yr:Math.acos(t)}function MS(t){return t>=1?Yc:t<=-1?-Yc:Math.asin(t)}function Ss(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Wo(e)}function RW(t){return t.innerRadius}function kW(t){return t.outerRadius}function IW(t){return t.startAngle}function NW(t){return t.endAngle}function zW(t){return t&&t.padAngle}function OW(t,e,n,r,a,i,o,s){var l=n-t,u=r-e,c=o-a,d=s-i,f=d*l-c*u;if(!(f*f<ne))return f=(c*(e-i)-d*(t-a))/f,[t+f*l,e+f*u]}function qc(t,e,n,r,a,i,o){var s=t-n,l=e-r,u=(o?i:-i)/Ft(s*s+l*l),c=u*l,d=-u*s,f=t+c,h=e+d,p=n+c,g=r+d,m=(f+p)/2,b=(h+g)/2,y=p-f,x=g-h,v=y*y+x*x,$=a-i,S=f*g-p*h,C=(x<0?-1:1)*Ft(EW(0,$*$*v-S*S)),D=(S*x-y*C)/v,_=(-S*y-x*C)/v,P=(S*x+y*C)/v,A=(-S*y+x*C)/v,I=D-m,k=_-b,w=P-m,F=A-b;return I*I+k*k>w*w+F*F&&(D=P,_=A),{cx:D,cy:_,x01:-c,y01:-d,x11:D*(a/$-1),y11:_*(a/$-1)}}function Zc(){var t=RW,e=kW,n=dt(0),r=null,a=IW,i=NW,o=zW,s=null,l=Ss(u);function u(){var c,d,f=+t.apply(this,arguments),h=+e.apply(this,arguments),p=a.apply(this,arguments)-Yc,g=i.apply(this,arguments)-Yc,m=BS(g-p),b=g>p;if(s||(s=c=l()),h<f&&(d=h,h=f,f=d),!(h>ne))s.moveTo(0,0);else if(m>br-ne)s.moveTo(h*Wn(p),h*Ce(p)),s.arc(0,0,h,p,g,!b),f>ne&&(s.moveTo(f*Wn(g),f*Ce(g)),s.arc(0,0,f,g,p,b));else{var y=p,x=g,v=p,$=g,S=m,C=m,D=o.apply(this,arguments)/2,_=D>ne&&(r?+r.apply(this,arguments):Ft(f*f+h*h)),P=Bi(BS(h-f)/2,+n.apply(this,arguments)),A=P,I=P,k,w;if(_>ne){var F=MS(_/f*Ce(D)),T=MS(_/h*Ce(D));(S-=F*2)>ne?(F*=b?1:-1,v+=F,$-=F):(S=0,v=$=(p+g)/2),(C-=T*2)>ne?(T*=b?1:-1,y+=T,x-=T):(C=0,y=x=(p+g)/2)}var B=h*Wn(y),N=h*Ce(y),E=f*Wn($),z=f*Ce($);if(P>ne){var V=h*Wn(x),J=h*Ce(x),G=f*Wn(v),X=f*Ce(v),W;if(m<yr)if(W=OW(B,N,G,X,V,J,E,z)){var ct=B-W[0],ut=N-W[1],pt=V-W[0],Q=J-W[1],nt=1/Ce(LW((ct*pt+ut*Q)/(Ft(ct*ct+ut*ut)*Ft(pt*pt+Q*Q)))/2),lt=Ft(W[0]*W[0]+W[1]*W[1]);A=Bi(P,(f-lt)/(nt-1)),I=Bi(P,(h-lt)/(nt+1))}else A=I=0}C>ne?I>ne?(k=qc(G,X,B,N,h,I,b),w=qc(V,J,E,z,h,I,b),s.moveTo(k.cx+k.x01,k.cy+k.y01),I<P?s.arc(k.cx,k.cy,I,ee(k.y01,k.x01),ee(w.y01,w.x01),!b):(s.arc(k.cx,k.cy,I,ee(k.y01,k.x01),ee(k.y11,k.x11),!b),s.arc(0,0,h,ee(k.cy+k.y11,k.cx+k.x11),ee(w.cy+w.y11,w.cx+w.x11),!b),s.arc(w.cx,w.cy,I,ee(w.y11,w.x11),ee(w.y01,w.x01),!b))):(s.moveTo(B,N),s.arc(0,0,h,y,x,!b)):s.moveTo(B,N),!(f>ne)||!(S>ne)?s.lineTo(E,z):A>ne?(k=qc(E,z,V,J,f,-A,b),w=qc(B,N,G,X,f,-A,b),s.lineTo(k.cx+k.x01,k.cy+k.y01),A<P?s.arc(k.cx,k.cy,A,ee(k.y01,k.x01),ee(w.y01,w.x01),!b):(s.arc(k.cx,k.cy,A,ee(k.y01,k.x01),ee(k.y11,k.x11),!b),s.arc(0,0,f,ee(k.cy+k.y11,k.cx+k.x11),ee(w.cy+w.y11,w.cx+w.x11),b),s.arc(w.cx,w.cy,A,ee(w.y11,w.x11),ee(w.y01,w.x01),!b))):s.arc(0,0,f,$,v,b)}if(s.closePath(),c)return s=null,c+""||null}return u.centroid=function(){var c=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,d=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-yr/2;return[Wn(d)*c,Ce(d)*c]},u.innerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:dt(+c),u):t},u.outerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:dt(+c),u):e},u.cornerRadius=function(c){return arguments.length?(n=typeof c=="function"?c:dt(+c),u):n},u.padRadius=function(c){return arguments.length?(r=c==null?null:typeof c=="function"?c:dt(+c),u):r},u.startAngle=function(c){return arguments.length?(a=typeof c=="function"?c:dt(+c),u):a},u.endAngle=function(c){return arguments.length?(i=typeof c=="function"?c:dt(+c),u):i},u.padAngle=function(c){return arguments.length?(o=typeof c=="function"?c:dt(+c),u):o},u.context=function(c){return arguments.length?(s=c??null,u):s},u}var GW=Array.prototype.slice;function Jc(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ES(t){this._context=t}ES.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Kc(t){return new ES(t)}function lm(t){return t[0]}function um(t){return t[1]}function Qc(t,e){var n=dt(!0),r=null,a=Kc,i=null,o=Ss(s);t=typeof t=="function"?t:t===void 0?lm:dt(t),e=typeof e=="function"?e:e===void 0?um:dt(e);function s(l){var u,c=(l=Jc(l)).length,d,f=!1,h;for(r==null&&(i=a(h=o())),u=0;u<=c;++u)!(u<c&&n(d=l[u],u,l))===f&&((f=!f)?i.lineStart():i.lineEnd()),f&&i.point(+t(d,u,l),+e(d,u,l));if(h)return i=null,h+""||null}return s.x=function(l){return arguments.length?(t=typeof l=="function"?l:dt(+l),s):t},s.y=function(l){return arguments.length?(e=typeof l=="function"?l:dt(+l),s):e},s.defined=function(l){return arguments.length?(n=typeof l=="function"?l:dt(!!l),s):n},s.curve=function(l){return arguments.length?(a=l,r!=null&&(i=a(r)),s):a},s.context=function(l){return arguments.length?(l==null?r=i=null:i=a(r=l),s):r},s}function cm(t,e,n){var r=null,a=dt(!0),i=null,o=Kc,s=null,l=Ss(u);t=typeof t=="function"?t:t===void 0?lm:dt(+t),e=typeof e=="function"?e:dt(e===void 0?0:+e),n=typeof n=="function"?n:n===void 0?um:dt(+n);function u(d){var f,h,p,g=(d=Jc(d)).length,m,b=!1,y,x=new Array(g),v=new Array(g);for(i==null&&(s=o(y=l())),f=0;f<=g;++f){if(!(f<g&&a(m=d[f],f,d))===b)if(b=!b)h=f,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),p=f-1;p>=h;--p)s.point(x[p],v[p]);s.lineEnd(),s.areaEnd()}b&&(x[f]=+t(m,f,d),v[f]=+e(m,f,d),s.point(r?+r(m,f,d):x[f],n?+n(m,f,d):v[f]))}if(y)return s=null,y+""||null}function c(){return Qc().defined(a).curve(o).context(i)}return u.x=function(d){return arguments.length?(t=typeof d=="function"?d:dt(+d),r=null,u):t},u.x0=function(d){return arguments.length?(t=typeof d=="function"?d:dt(+d),u):t},u.x1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:dt(+d),u):r},u.y=function(d){return arguments.length?(e=typeof d=="function"?d:dt(+d),n=null,u):e},u.y0=function(d){return arguments.length?(e=typeof d=="function"?d:dt(+d),u):e},u.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:dt(+d),u):n},u.lineX0=u.lineY0=function(){return c().x(t).y(e)},u.lineY1=function(){return c().x(t).y(n)},u.lineX1=function(){return c().x(r).y(e)},u.defined=function(d){return arguments.length?(a=typeof d=="function"?d:dt(!!d),u):a},u.curve=function(d){return arguments.length?(o=d,i!=null&&(s=o(i)),u):o},u.context=function(d){return arguments.length?(d==null?i=s=null:s=o(i=d),u):i},u}function jW(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function VW(t){return t}function LS(){var t=VW,e=jW,n=null,r=dt(0),a=dt(br),i=dt(0);function o(s){var l,u=(s=Jc(s)).length,c,d,f=0,h=new Array(u),p=new Array(u),g=+r.apply(this,arguments),m=Math.min(br,Math.max(-br,a.apply(this,arguments)-g)),b,y=Math.min(Math.abs(m)/u,i.apply(this,arguments)),x=y*(m<0?-1:1),v;for(l=0;l<u;++l)(v=p[h[l]=l]=+t(s[l],l,s))>0&&(f+=v);for(e!=null?h.sort(function($,S){return e(p[$],p[S])}):n!=null&&h.sort(function($,S){return n(s[$],s[S])}),l=0,d=f?(m-u*x)/f:0;l<u;++l,g=b)c=h[l],v=p[c],b=g+(v>0?v*d:0)+x,p[c]={data:s[c],index:l,value:v,startAngle:g,endAngle:b,padAngle:y};return p}return o.value=function(s){return arguments.length?(t=typeof s=="function"?s:dt(+s),o):t},o.sortValues=function(s){return arguments.length?(e=s,n=null,o):e},o.sort=function(s){return arguments.length?(n=s,e=null,o):n},o.startAngle=function(s){return arguments.length?(r=typeof s=="function"?s:dt(+s),o):r},o.endAngle=function(s){return arguments.length?(a=typeof s=="function"?s:dt(+s),o):a},o.padAngle=function(s){return arguments.length?(i=typeof s=="function"?s:dt(+s),o):i},o}var RS=fm(Kc);function kS(t){this._curve=t}kS.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function fm(t){function e(n){return new kS(t(n))}return e._curve=t,e}function Ds(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(n){return arguments.length?e(fm(n)):e()._curve},t}function IS(){return Ds(Qc().curve(RS))}function NS(){var t=cm().curve(RS),e=t.curve,n=t.lineX0,r=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Ds(n())},delete t.lineX0,t.lineEndAngle=function(){return Ds(r())},delete t.lineX1,t.lineInnerRadius=function(){return Ds(a())},delete t.lineY0,t.lineOuterRadius=function(){return Ds(i())},delete t.lineY1,t.curve=function(o){return arguments.length?e(fm(o)):e()._curve},t}function Cs(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}class zS{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}class HW{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,n){if(e=+e,n=+n,this._point===0)this._point=1;else{const r=Cs(this._x0,this._y0),a=Cs(this._x0,this._y0=(this._y0+n)/2),i=Cs(e,this._y0),o=Cs(e,n);this._context.moveTo(...r),this._context.bezierCurveTo(...a,...i,...o)}this._x0=e,this._y0=n}}function OS(t){return new zS(t,!0)}function GS(t){return new zS(t,!1)}function XW(t){return new HW(t)}function WW(t){return t.source}function UW(t){return t.target}function tf(t){let e=WW,n=UW,r=lm,a=um,i=null,o=null,s=Ss(l);function l(){let u;const c=GW.call(arguments),d=e.apply(this,c),f=n.apply(this,c);if(i==null&&(o=t(u=s())),o.lineStart(),c[0]=d,o.point(+r.apply(this,c),+a.apply(this,c)),c[0]=f,o.point(+r.apply(this,c),+a.apply(this,c)),o.lineEnd(),u)return o=null,u+""||null}return l.source=function(u){return arguments.length?(e=u,l):e},l.target=function(u){return arguments.length?(n=u,l):n},l.x=function(u){return arguments.length?(r=typeof u=="function"?u:dt(+u),l):r},l.y=function(u){return arguments.length?(a=typeof u=="function"?u:dt(+u),l):a},l.context=function(u){return arguments.length?(u==null?i=o=null:o=t(i=u),l):i},l}function YW(){return tf(OS)}function qW(){return tf(GS)}function ZW(){const t=tf(XW);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const JW=Ft(3),jS={draw(t,e){const n=Ft(e+Bi(e/28,.75))*.59436,r=n/2,a=r*JW;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-a,-r),t.lineTo(a,r),t.moveTo(-a,r),t.lineTo(a,-r)}},ef={draw(t,e){const n=Ft(e/yr);t.moveTo(n,0),t.arc(0,0,n,0,br)}},VS={draw(t,e){const n=Ft(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},HS=Ft(1/3),KW=HS*2,XS={draw(t,e){const n=Ft(e/KW),r=n*HS;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},WS={draw(t,e){const n=Ft(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},US={draw(t,e){const n=Ft(e-Bi(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},YS={draw(t,e){const n=Ft(e),r=-n/2;t.rect(r,r,n,n)}},qS={draw(t,e){const n=Ft(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}},QW=.8908130915292852,ZS=Ce(yr/10)/Ce(7*yr/10),tU=Ce(br/10)*ZS,eU=-Wn(br/10)*ZS,JS={draw(t,e){const n=Ft(e*QW),r=tU*n,a=eU*n;t.moveTo(0,-n),t.lineTo(r,a);for(let i=1;i<5;++i){const o=br*i/5,s=Wn(o),l=Ce(o);t.lineTo(l*n,-s*n),t.lineTo(s*r-l*a,l*r+s*a)}t.closePath()}},dm=Ft(3),KS={draw(t,e){const n=-Ft(e/(dm*3));t.moveTo(0,n*2),t.lineTo(-dm*n,-n),t.lineTo(dm*n,-n),t.closePath()}},nU=Ft(3),QS={draw(t,e){const n=Ft(e)*.6824,r=n/2,a=n*nU/2;t.moveTo(0,-n),t.lineTo(a,r),t.lineTo(-a,r),t.closePath()}},He=-.5,Xe=Ft(3)/2,hm=1/Ft(12),rU=(hm/2+1)*3,tD={draw(t,e){const n=Ft(e/rU),r=n/2,a=n*hm,i=r,o=n*hm+n,s=-i,l=o;t.moveTo(r,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(He*r-Xe*a,Xe*r+He*a),t.lineTo(He*i-Xe*o,Xe*i+He*o),t.lineTo(He*s-Xe*l,Xe*s+He*l),t.lineTo(He*r+Xe*a,He*a-Xe*r),t.lineTo(He*i+Xe*o,He*o-Xe*i),t.lineTo(He*s+Xe*l,He*l-Xe*s),t.closePath()}},pm={draw(t,e){const n=Ft(e-Bi(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}},eD=[ef,VS,XS,YS,JS,KS,tD],aU=[ef,US,pm,QS,jS,qS,WS];function iU(t,e){let n=null,r=Ss(a);t=typeof t=="function"?t:dt(t||ef),e=typeof e=="function"?e:dt(e===void 0?64:+e);function a(){let i;if(n||(n=i=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return a.type=function(i){return arguments.length?(t=typeof i=="function"?i:dt(i),a):t},a.size=function(i){return arguments.length?(e=typeof i=="function"?i:dt(+i),a):e},a.context=function(i){return arguments.length?(n=i??null,a):n},a}function xr(){}function nf(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function rf(t){this._context=t}rf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function oU(t){return new rf(t)}function nD(t){this._context=t}nD.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:nf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function sU(t){return new nD(t)}function rD(t){this._context=t}rD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:nf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function lU(t){return new rD(t)}function aD(t,e){this._basis=new rf(t),this._beta=e}aD.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],a=e[0],i=t[n]-r,o=e[n]-a,s=-1,l;++s<=n;)l=s/n,this._basis.point(this._beta*t[s]+(1-this._beta)*(r+l*i),this._beta*e[s]+(1-this._beta)*(a+l*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const uU=function t(e){function n(r){return e===1?new rf(r):new aD(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function af(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function gm(t,e){this._context=t,this._k=(1-e)/6}gm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:af(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:af(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cU=function t(e){function n(r){return new gm(r,e)}return n.tension=function(r){return t(+r)},n}(0);function mm(t,e){this._context=t,this._k=(1-e)/6}mm.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:af(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const fU=function t(e){function n(r){return new mm(r,e)}return n.tension=function(r){return t(+r)},n}(0);function ym(t,e){this._context=t,this._k=(1-e)/6}ym.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:af(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const dU=function t(e){function n(r){return new ym(r,e)}return n.tension=function(r){return t(+r)},n}(0);function bm(t,e,n){var r=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>ne){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>ne){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*u+t._x1*t._l23_2a-e*t._l12_2a)/c,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,a,i,o,t._x2,t._y2)}function iD(t,e){this._context=t,this._alpha=e}iD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:bm(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const hU=function t(e){function n(r){return e?new iD(r,e):new gm(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function oD(t,e){this._context=t,this._alpha=e}oD.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:bm(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const pU=function t(e){function n(r){return e?new oD(r,e):new mm(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function sD(t,e){this._context=t,this._alpha=e}sD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:bm(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const gU=function t(e){function n(r){return e?new sD(r,e):new ym(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function lD(t){this._context=t}lD.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function mU(t){return new lD(t)}function uD(t){return t<0?-1:1}function cD(t,e,n){var r=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(r||a<0&&-0),o=(n-t._y1)/(a||r<0&&-0),s=(i*a+o*r)/(r+a);return(uD(i)+uD(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function fD(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function xm(t,e,n){var r=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-r)/3;t._context.bezierCurveTo(r+s,a+s*e,i-s,o-s*n,i,o)}function of(t){this._context=t}of.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:xm(this,this._t0,fD(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,xm(this,fD(this,n=cD(this,t,e)),n);break;default:xm(this,this._t0,n=cD(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function dD(t){this._context=new hD(t)}(dD.prototype=Object.create(of.prototype)).point=function(t,e){of.prototype.point.call(this,e,t)};function hD(t){this._context=t}hD.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,a,i){this._context.bezierCurveTo(e,t,r,n,i,a)}};function yU(t){return new of(t)}function bU(t){return new dD(t)}function pD(t){this._context=t}pD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=gD(t),a=gD(e),i=0,o=1;o<n;++i,++o)this._context.bezierCurveTo(r[0][i],a[0][i],r[1][i],a[1][i],t[o],e[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function gD(t){var e,n=t.length-1,r,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function xU(t){return new pD(t)}function sf(t,e){this._context=t,this._t=e}sf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function vU(t){return new sf(t,.5)}function $U(t){return new sf(t,0)}function _U(t){return new sf(t,1)}function Mi(t,e){if((o=t.length)>1)for(var n=1,r,a,i=t[e[0]],o,s=i.length;n<o;++n)for(a=i,i=t[e[n]],r=0;r<s;++r)i[r][1]+=i[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}function Ei(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function AU(t,e){return t[e]}function SU(t){const e=[];return e.key=t,e}function DU(){var t=dt([]),e=Ei,n=Mi,r=AU;function a(i){var o=Array.from(t.apply(this,arguments),SU),s,l=o.length,u=-1,c;for(const d of i)for(s=0,++u;s<l;++s)(o[s][u]=[0,+r(d,o[s].key,u,i)]).data=d;for(s=0,c=Jc(e(o));s<l;++s)o[c[s]].index=s;return n(o,c),o}return a.keys=function(i){return arguments.length?(t=typeof i=="function"?i:dt(Array.from(i)),a):t},a.value=function(i){return arguments.length?(r=typeof i=="function"?i:dt(+i),a):r},a.order=function(i){return arguments.length?(e=i==null?Ei:typeof i=="function"?i:dt(Array.from(i)),a):e},a.offset=function(i){return arguments.length?(n=i??Mi,a):n},a}function CU(t,e){if((r=t.length)>0){for(var n,r,a=0,i=t[0].length,o;a<i;++a){for(o=n=0;n<r;++n)o+=t[n][a][1]||0;if(o)for(n=0;n<r;++n)t[n][a][1]/=o}Mi(t,e)}}function PU(t,e){if((l=t.length)>0)for(var n,r=0,a,i,o,s,l,u=t[e[0]].length;r<u;++r)for(o=s=0,n=0;n<l;++n)(i=(a=t[e[n]][r])[1]-a[0])>0?(a[0]=o,a[1]=o+=i):i<0?(a[1]=s,a[0]=s+=i):(a[0]=0,a[1]=i)}function FU(t,e){if((a=t.length)>0){for(var n=0,r=t[e[0]],a,i=r.length;n<i;++n){for(var o=0,s=0;o<a;++o)s+=t[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}Mi(t,e)}}function TU(t,e){if(!(!((o=t.length)>0)||!((i=(a=t[e[0]]).length)>0))){for(var n=0,r=1,a,i,o;r<i;++r){for(var s=0,l=0,u=0;s<o;++s){for(var c=t[e[s]],d=c[r][1]||0,f=c[r-1][1]||0,h=(d-f)/2,p=0;p<s;++p){var g=t[e[p]],m=g[r][1]||0,b=g[r-1][1]||0;h+=m-b}l+=d,u+=h*d}a[r-1][1]+=a[r-1][0]=n,l&&(n-=u/l)}a[r-1][1]+=a[r-1][0]=n,Mi(t,e)}}function mD(t){var e=t.map(wU);return Ei(t).sort(function(n,r){return e[n]-e[r]})}function wU(t){for(var e=-1,n=0,r=t.length,a,i=-1/0;++e<r;)(a=+t[e][1])>i&&(i=a,n=e);return n}function yD(t){var e=t.map(bD);return Ei(t).sort(function(n,r){return e[n]-e[r]})}function bD(t){for(var e=0,n=-1,r=t.length,a;++n<r;)(a=+t[n][1])&&(e+=a);return e}function BU(t){return yD(t).reverse()}function MU(t){var e=t.length,n,r,a=t.map(bD),i=mD(t),o=0,s=0,l=[],u=[];for(n=0;n<e;++n)r=i[n],o<s?(o+=a[r],l.push(r)):(s+=a[r],u.push(r));return u.reverse().concat(l)}function EU(t){return Ei(t).reverse()}const lf=t=>()=>t;function LU(t,{sourceEvent:e,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Fn(t,e,n){this.k=t,this.x=e,this.y=n}Fn.prototype={constructor:Fn,scale:function(t){return t===1?this:new Fn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Fn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Li=new Fn(1,0,0);xD.prototype=Fn.prototype;function xD(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Li;return t.__zoom}function vm(t){t.stopImmediatePropagation()}function Ps(t){t.preventDefault(),t.stopImmediatePropagation()}function RU(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function kU(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function vD(){return this.__zoom||Li}function IU(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function NU(){return navigator.maxTouchPoints||"ontouchstart"in this}function zU(t,e,n){var r=t.invertX(e[0][0])-n[0][0],a=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function Un(){var t=RU,e=kU,n=zU,r=IU,a=NU,i=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,l=t$,u=Hr("start","zoom","end"),c,d,f,h=500,p=150,g=0,m=10;function b(w){w.property("__zoom",vD).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",P).filter(a).on("touchstart.zoom",A).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(w,F,T,B){var N=w.selection?w.selection():w;N.property("__zoom",vD),w!==N?$(w,F,T,B):N.interrupt().each(function(){S(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(w,F,T,B){b.scaleTo(w,function(){var N=this.__zoom.k,E=typeof F=="function"?F.apply(this,arguments):F;return N*E},T,B)},b.scaleTo=function(w,F,T,B){b.transform(w,function(){var N=e.apply(this,arguments),E=this.__zoom,z=T==null?v(N):typeof T=="function"?T.apply(this,arguments):T,V=E.invert(z),J=typeof F=="function"?F.apply(this,arguments):F;return n(x(y(E,J),z,V),N,o)},T,B)},b.translateBy=function(w,F,T,B){b.transform(w,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof T=="function"?T.apply(this,arguments):T),e.apply(this,arguments),o)},null,B)},b.translateTo=function(w,F,T,B,N){b.transform(w,function(){var E=e.apply(this,arguments),z=this.__zoom,V=B==null?v(E):typeof B=="function"?B.apply(this,arguments):B;return n(Li.translate(V[0],V[1]).scale(z.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof T=="function"?-T.apply(this,arguments):-T),E,o)},B,N)};function y(w,F){return F=Math.max(i[0],Math.min(i[1],F)),F===w.k?w:new Fn(F,w.x,w.y)}function x(w,F,T){var B=F[0]-T[0]*w.k,N=F[1]-T[1]*w.k;return B===w.x&&N===w.y?w:new Fn(w.k,B,N)}function v(w){return[(+w[0][0]+ +w[1][0])/2,(+w[0][1]+ +w[1][1])/2]}function $(w,F,T,B){w.on("start.zoom",function(){S(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(B).end()}).tween("zoom",function(){var N=this,E=arguments,z=S(N,E).event(B),V=e.apply(N,E),J=T==null?v(V):typeof T=="function"?T.apply(N,E):T,G=Math.max(V[1][0]-V[0][0],V[1][1]-V[0][1]),X=N.__zoom,W=typeof F=="function"?F.apply(N,E):F,ct=l(X.invert(J).concat(G/X.k),W.invert(J).concat(G/W.k));return function(ut){if(ut===1)ut=W;else{var pt=ct(ut),Q=G/pt[2];ut=new Fn(Q,J[0]-pt[0]*Q,J[1]-pt[1]*Q)}z.zoom(null,ut)}})}function S(w,F,T){return!T&&w.__zooming||new C(w,F)}function C(w,F){this.that=w,this.args=F,this.active=0,this.sourceEvent=null,this.extent=e.apply(w,F),this.taps=0}C.prototype={event:function(w){return w&&(this.sourceEvent=w),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(w,F){return this.mouse&&w!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&w!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&w!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(w){var F=H(this.that).datum();u.call(w,this.that,new LU(w,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function D(w,...F){if(!t.apply(this,arguments))return;var T=S(this,F).event(w),B=this.__zoom,N=Math.max(i[0],Math.min(i[1],B.k*Math.pow(2,r.apply(this,arguments)))),E=Ee(w);if(T.wheel)(T.mouse[0][0]!==E[0]||T.mouse[0][1]!==E[1])&&(T.mouse[1]=B.invert(T.mouse[0]=E)),clearTimeout(T.wheel);else{if(B.k===N)return;T.mouse=[E,B.invert(E)],Kr(this),T.start()}Ps(w),T.wheel=setTimeout(z,p),T.zoom("mouse",n(x(y(B,N),T.mouse[0],T.mouse[1]),T.extent,o));function z(){T.wheel=null,T.end()}}function _(w,...F){if(f||!t.apply(this,arguments))return;var T=w.currentTarget,B=S(this,F,!0).event(w),N=H(w.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",G,!0),E=Ee(w,T),z=w.clientX,V=w.clientY;su(w.view),vm(w),B.mouse=[E,this.__zoom.invert(E)],Kr(this),B.start();function J(X){if(Ps(X),!B.moved){var W=X.clientX-z,ct=X.clientY-V;B.moved=W*W+ct*ct>g}B.event(X).zoom("mouse",n(x(B.that.__zoom,B.mouse[0]=Ee(X,T),B.mouse[1]),B.extent,o))}function G(X){N.on("mousemove.zoom mouseup.zoom",null),lu(X.view,B.moved),Ps(X),B.event(X).end()}}function P(w,...F){if(t.apply(this,arguments)){var T=this.__zoom,B=Ee(w.changedTouches?w.changedTouches[0]:w,this),N=T.invert(B),E=T.k*(w.shiftKey?.5:2),z=n(x(y(T,E),B,N),e.apply(this,F),o);Ps(w),s>0?H(this).transition().duration(s).call($,z,B,w):H(this).call(b.transform,z,B,w)}}function A(w,...F){if(t.apply(this,arguments)){var T=w.touches,B=T.length,N=S(this,F,w.changedTouches.length===B).event(w),E,z,V,J;for(vm(w),z=0;z<B;++z)V=T[z],J=Ee(V,this),J=[J,this.__zoom.invert(J),V.identifier],N.touch0?!N.touch1&&N.touch0[2]!==J[2]&&(N.touch1=J,N.taps=0):(N.touch0=J,E=!0,N.taps=1+!!c);c&&(c=clearTimeout(c)),E&&(N.taps<2&&(d=J[0],c=setTimeout(function(){c=null},h)),Kr(this),N.start())}}function I(w,...F){if(this.__zooming){var T=S(this,F).event(w),B=w.changedTouches,N=B.length,E,z,V,J;for(Ps(w),E=0;E<N;++E)z=B[E],V=Ee(z,this),T.touch0&&T.touch0[2]===z.identifier?T.touch0[0]=V:T.touch1&&T.touch1[2]===z.identifier&&(T.touch1[0]=V);if(z=T.that.__zoom,T.touch1){var G=T.touch0[0],X=T.touch0[1],W=T.touch1[0],ct=T.touch1[1],ut=(ut=W[0]-G[0])*ut+(ut=W[1]-G[1])*ut,pt=(pt=ct[0]-X[0])*pt+(pt=ct[1]-X[1])*pt;z=y(z,Math.sqrt(ut/pt)),V=[(G[0]+W[0])/2,(G[1]+W[1])/2],J=[(X[0]+ct[0])/2,(X[1]+ct[1])/2]}else if(T.touch0)V=T.touch0[0],J=T.touch0[1];else return;T.zoom("touch",n(x(z,V,J),T.extent,o))}}function k(w,...F){if(this.__zooming){var T=S(this,F).event(w),B=w.changedTouches,N=B.length,E,z;for(vm(w),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),E=0;E<N;++E)z=B[E],T.touch0&&T.touch0[2]===z.identifier?delete T.touch0:T.touch1&&T.touch1[2]===z.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(z=Ee(z,this),Math.hypot(d[0]-z[0],d[1]-z[1])<m)){var V=H(this).on("dblclick.zoom");V&&V.apply(this,arguments)}}}return b.wheelDelta=function(w){return arguments.length?(r=typeof w=="function"?w:lf(+w),b):r},b.filter=function(w){return arguments.length?(t=typeof w=="function"?w:lf(!!w),b):t},b.touchable=function(w){return arguments.length?(a=typeof w=="function"?w:lf(!!w),b):a},b.extent=function(w){return arguments.length?(e=typeof w=="function"?w:lf([[+w[0][0],+w[0][1]],[+w[1][0],+w[1][1]]]),b):e},b.scaleExtent=function(w){return arguments.length?(i[0]=+w[0],i[1]=+w[1],b):[i[0],i[1]]},b.translateExtent=function(w){return arguments.length?(o[0][0]=+w[0][0],o[1][0]=+w[1][0],o[0][1]=+w[0][1],o[1][1]=+w[1][1],b):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},b.constrain=function(w){return arguments.length?(n=w,b):n},b.duration=function(w){return arguments.length?(s=+w,b):s},b.interpolate=function(w){return arguments.length?(l=w,b):l},b.on=function(){var w=u.on.apply(u,arguments);return w===u?b:w},b.clickDistance=function(w){return arguments.length?(g=(w=+w)*w,b):Math.sqrt(g)},b.tapDistance=function(w){return arguments.length?(m=+w,b):m},b}const $m=Object.freeze(Object.defineProperty({__proto__:null,Adder:Gt,Delaunay:wp,FormatSpecifier:Vu,InternMap:So,InternSet:Gr,Node:ua,Path:Wo,Voronoi:j$,ZoomTransform:Fn,active:XN,arc:Zc,area:cm,areaRadial:NS,ascending:wt,autoType:gO,axisBottom:nv,axisLeft:Mh,axisRight:N9,axisTop:Bh,bin:Wx,bisect:Or,bisectCenter:RL,bisectLeft:LL,bisectRight:Bx,bisector:Ul,blob:bO,blur:kL,blur2:Mx,blurImage:IL,brush:az,brushSelection:ez,brushX:nz,brushY:rz,buffer:vO,chord:oz,chordDirected:lz,chordTranspose:sz,cluster:wj,color:ur,contourDensity:Lz,contours:Dp,count:ql,create:xk,creator:au,cross:HL,csv:AO,csvFormat:aO,csvFormatBody:iO,csvFormatRow:sO,csvFormatRows:oO,csvFormatValue:lO,csvParse:W$,csvParseRows:rO,cubehelix:nn,cumsum:XL,curveBasis:oU,curveBasisClosed:sU,curveBasisOpen:lU,curveBumpX:OS,curveBumpY:GS,curveBundle:uU,curveCardinal:cU,curveCardinalClosed:fU,curveCardinalOpen:dU,curveCatmullRom:hU,curveCatmullRomClosed:pU,curveCatmullRomOpen:gU,curveLinear:Kc,curveLinearClosed:mU,curveMonotoneX:yU,curveMonotoneY:bU,curveNatural:xU,curveStep:vU,curveStepAfter:_U,curveStepBefore:$U,descending:Tx,deviation:Rx,difference:C9,disjoint:P9,dispatch:Hr,drag:cu,dragDisable:su,dragEnable:lu,dsv:_O,dsvFormat:ku,easeBack:_$,easeBackIn:IN,easeBackInOut:_$,easeBackOut:NN,easeBounce:Ho,easeBounceIn:RN,easeBounceInOut:kN,easeBounceOut:Ho,easeCircle:$$,easeCircleIn:DN,easeCircleInOut:$$,easeCircleOut:CN,easeCubic:Vo,easeCubicIn:yN,easeCubicInOut:Vo,easeCubicOut:bN,easeElastic:Qr,easeElasticIn:zN,easeElasticInOut:ON,easeElasticOut:Qr,easeExp:v$,easeExpIn:AN,easeExpInOut:v$,easeExpOut:SN,easeLinear:$n,easePoly:m$,easePolyIn:xN,easePolyInOut:m$,easePolyOut:vN,easeQuad:g$,easeQuadIn:gN,easeQuadInOut:g$,easeQuadOut:mN,easeSin:x$,easeSinIn:$N,easeSinInOut:x$,easeSinOut:_N,every:v9,extent:Ao,fcumsum:UL,filter:_9,flatGroup:YL,flatRollup:qL,forceCenter:Rp,forceCollide:zu,forceLink:Ip,forceManyBody:Gu,forceRadial:rG,forceSimulation:Ou,forceX:Q$,forceY:t2,get format(){return Zo},formatDefaultLocale:l2,formatLocale:s2,get formatPrefix(){return Np},formatSpecifier:yi,fsum:WL,geoAlbers:__,geoAlbersUsa:lj,geoArea:hG,geoAzimuthalEqualArea:uj,geoAzimuthalEqualAreaRaw:Ag,geoAzimuthalEquidistant:cj,geoAzimuthalEquidistantRaw:Sg,geoBounds:yG,geoCentroid:AG,geoCircle:SG,geoClipAntimeridian:ng,geoClipCircle:H2,geoClipExtent:BG,geoClipRectangle:hc,geoConicConformal:dj,geoConicConformalRaw:D_,geoConicEqualArea:Dc,geoConicEqualAreaRaw:$_,geoConicEquidistant:pj,geoConicEquidistantRaw:C_,geoContains:NG,geoDistance:mc,geoEqualEarth:mj,geoEqualEarthRaw:Dg,geoEquirectangular:hj,geoEquirectangularRaw:cs,geoGnomonic:yj,geoGnomonicRaw:Cg,geoGraticule:t_,geoGraticule10:zG,geoIdentity:bj,geoInterpolate:OG,geoLength:X2,geoMercator:fj,geoMercatorRaw:us,geoNaturalEarth1:xj,geoNaturalEarth1Raw:Pg,geoOrthographic:vj,geoOrthographicRaw:Fg,geoPath:KG,geoProjection:Dn,geoProjectionMutator:$g,geoRotation:k2,geoStereographic:$j,geoStereographicRaw:Tg,geoStream:an,geoTransform:QG,geoTransverseMercator:_j,geoTransverseMercatorRaw:wg,gray:zk,greatest:Ux,greatestIndex:g9,group:zx,groupSort:KL,groups:Ox,hcl:mu,hierarchy:Fc,histogram:Wx,hsl:hu,html:TO,image:DO,index:ZL,indexes:JL,interpolate:En,interpolateArray:Xk,interpolateBasis:Nv,interpolateBasisClosed:zv,interpolateBlues:pW,interpolateBrBG:UX,interpolateBuGn:nW,interpolateBuPu:rW,interpolateCividis:vW,interpolateCool:AW,interpolateCubehelix:oI,interpolateCubehelixDefault:$W,interpolateCubehelixLong:$u,interpolateDate:Xv,interpolateDiscrete:Yk,interpolateGnBu:aW,interpolateGreens:gW,interpolateGreys:mW,interpolateHcl:aI,interpolateHclLong:iI,interpolateHsl:eI,interpolateHslLong:nI,interpolateHue:qk,interpolateInferno:BW,interpolateLab:rI,interpolateMagma:wW,interpolateNumber:Le,interpolateNumberArray:Jh,interpolateObject:Wv,interpolateOrRd:iW,interpolateOranges:xW,interpolatePRGn:YX,interpolatePiYG:qX,interpolatePlasma:MW,interpolatePuBu:sW,interpolatePuBuGn:oW,interpolatePuOr:ZX,interpolatePuRd:lW,interpolatePurples:yW,interpolateRainbow:SW,interpolateRdBu:JX,interpolateRdGy:KX,interpolateRdPu:uW,interpolateRdYlBu:QX,interpolateRdYlGn:tW,interpolateReds:bW,interpolateRgb:Ro,interpolateRgbBasis:jv,interpolateRgbBasisClosed:Hk,interpolateRound:ko,interpolateSinebow:PW,interpolateSpectral:eW,interpolateString:tp,interpolateTransformCss:Jv,interpolateTransformSvg:Kv,interpolateTurbo:FW,interpolateViridis:TW,interpolateWarm:_W,interpolateYlGn:fW,interpolateYlGnBu:cW,interpolateYlOrBr:dW,interpolateYlOrRd:hW,interpolateZoom:t$,interrupt:Kr,intersection:F9,interval:fI,isoFormat:CX,isoParse:TX,json:PO,lab:Eo,lch:Ok,least:p9,leastIndex:Zx,line:Qc,lineRadial:IS,link:tf,linkHorizontal:YW,linkRadial:ZW,linkVertical:qW,local:dv,map:A9,matcher:kh,max:Do,maxIndex:Ch,mean:o9,median:s9,medianIndex:l9,merge:Fh,min:Kl,minIndex:Ph,mode:c9,namespace:To,namespaces:Lh,nice:Sh,now:Go,pack:oV,packEnclose:tV,packSiblings:aV,pairs:f9,partition:sV,path:Sp,pathRound:fz,permute:Xx,pie:LS,piecewise:a$,pointRadial:Cs,pointer:Ee,pointers:$k,polygonArea:_V,polygonCentroid:AV,polygonContains:PV,polygonHull:CV,polygonLength:FV,precisionFixed:u2,precisionPrefix:c2,precisionRound:f2,quadtree:Nu,quantile:Po,quantileIndex:qx,quantileSorted:Yx,quantize:sI,quickselect:Ql,radialArea:NS,radialLine:IS,randomBates:MV,randomBernoulli:RV,randomBeta:Y_,randomBinomial:q_,randomCauchy:IV,randomExponential:EV,randomGamma:Og,randomGeometric:U_,randomInt:wV,randomIrwinHall:W_,randomLcg:jV,randomLogNormal:BV,randomLogistic:NV,randomNormal:zg,randomPareto:LV,randomPoisson:zV,randomUniform:TV,randomWeibull:kV,range:sr,rank:h9,reduce:S9,reverse:D9,rgb:ii,ribbon:xz,ribbonArrow:vz,rollup:jx,rollups:Vx,scaleBand:Vg,scaleDiverging:eS,scaleDivergingLog:nS,scaleDivergingPow:sm,scaleDivergingSqrt:RX,scaleDivergingSymlog:rS,scaleIdentity:tA,scaleImplicit:Gg,scaleLinear:fa,scaleLog:iA,scaleOrdinal:jg,scalePoint:Hg,scalePow:gr,scaleQuantile:dA,scaleQuantize:hA,scaleRadial:fA,scaleSequential:JA,scaleSequentialLog:KA,scaleSequentialPow:om,scaleSequentialQuantile:tS,scaleSequentialSqrt:LX,scaleSequentialSymlog:QA,scaleSqrt:tH,scaleSymlog:lA,scaleThreshold:pA,scaleTime:MX,scaleUtc:EX,scan:m9,schemeAccent:IX,schemeBlues:DS,schemeBrBG:aS,schemeBuGn:hS,schemeBuPu:pS,schemeCategory10:kX,schemeDark2:NX,schemeGnBu:gS,schemeGreens:CS,schemeGreys:PS,schemeObservable10:zX,schemeOrRd:mS,schemeOranges:wS,schemePRGn:iS,schemePaired:OX,schemePastel1:GX,schemePastel2:jX,schemePiYG:oS,schemePuBu:bS,schemePuBuGn:yS,schemePuOr:sS,schemePuRd:xS,schemePurples:FS,schemeRdBu:lS,schemeRdGy:uS,schemeRdPu:vS,schemeRdYlBu:cS,schemeRdYlGn:fS,schemeReds:TS,schemeSet1:VX,schemeSet2:HX,schemeSet3:XX,schemeSpectral:dS,schemeTableau10:WX,schemeYlGn:_S,schemeYlGnBu:$S,schemeYlOrBr:AS,schemeYlOrRd:SS,select:H,selectAll:_k,selection:Wr,selector:iu,selectorAll:Rh,shuffle:y9,shuffler:Jx,some:$9,sort:$h,stack:DU,stackOffsetDiverging:PU,stackOffsetExpand:CU,stackOffsetNone:Mi,stackOffsetSilhouette:FU,stackOffsetWiggle:TU,stackOrderAppearance:mD,stackOrderAscending:yD,stackOrderDescending:BU,stackOrderInsideOut:MU,stackOrderNone:Ei,stackOrderReverse:EU,stratify:fV,style:Xr,subset:w9,sum:Th,superset:Qx,svg:wO,symbol:iU,symbolAsterisk:jS,symbolCircle:ef,symbolCross:VS,symbolDiamond:XS,symbolDiamond2:WS,symbolPlus:US,symbolSquare:YS,symbolSquare2:qS,symbolStar:JS,symbolTimes:pm,symbolTriangle:KS,symbolTriangle2:QS,symbolWye:tD,symbolX:pm,symbols:eD,symbolsFill:eD,symbolsStroke:aU,text:Iu,thresholdFreedmanDiaconis:a9,thresholdScott:i9,thresholdSturges:Dh,tickFormat:Q_,tickIncrement:Vr,tickStep:Jl,ticks:jr,timeDay:Pi,timeDays:oH,get timeFormat(){return rm},timeFormatDefaultLocale:qA,timeFormatLocale:EA,timeFriday:vA,timeFridays:hH,timeHour:Nc,timeHours:aH,timeInterval:zt,timeMillisecond:Ci,timeMilliseconds:gA,timeMinute:kc,timeMinutes:nH,timeMonday:xs,timeMondays:uH,timeMonth:Oc,timeMonths:$H,get timeParse(){return YA},timeSaturday:$A,timeSaturdays:pH,timeSecond:Xn,timeSeconds:yA,timeSunday:Fi,timeSundays:_A,timeThursday:ha,timeThursdays:dH,timeTickInterval:MA,timeTicks:BA,timeTuesday:bA,timeTuesdays:cH,timeWednesday:xA,timeWednesdays:fH,timeWeek:Fi,timeWeeks:_A,timeYear:Cn,timeYears:AH,timeout:np,timer:Du,timerFlush:s$,transition:h$,transpose:Kx,tree:bV,treemap:H_,treemapBinary:xV,treemapDice:ms,treemapResquarify:$V,treemapSlice:Ec,treemapSliceDice:vV,treemapSquarify:Ng,tsv:SO,tsvFormat:cO,tsvFormatBody:fO,tsvFormatRow:hO,tsvFormatRows:dO,tsvFormatValue:pO,tsvParse:U$,tsvParseRows:uO,union:B9,unixDay:tm,unixDays:lH,utcDay:bs,utcDays:sH,get utcFormat(){return jc},utcFriday:DA,utcFridays:xH,utcHour:zc,utcHours:iH,utcMillisecond:Ci,utcMilliseconds:gA,utcMinute:Ic,utcMinutes:rH,utcMonday:vs,utcMondays:gH,utcMonth:Gc,utcMonths:_H,get utcParse(){return am},utcSaturday:CA,utcSaturdays:vH,utcSecond:Xn,utcSeconds:yA,utcSunday:Ti,utcSundays:PA,utcThursday:ga,utcThursdays:bH,utcTickInterval:wA,utcTicks:TA,utcTuesday:AA,utcTuesdays:mH,utcWednesday:SA,utcWednesdays:yH,utcWeek:Ti,utcWeeks:PA,utcYear:Pn,utcYears:SH,variance:Lx,window:Ih,xml:FO,zip:x9,zoom:Un,zoomIdentity:Li,zoomTransform:xD},Symbol.toStringTag,{value:"Module"}));function $D(t){try{return t.node().getBBox()}catch(e){throw new Error(e)}}function OU(t,e){function n(a){var i;const o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+a+"</svg>";const s=document.createDocumentFragment();for(;s&&(i=o==null?void 0:o.firstChild)!=null&&i.firstChild;)s.appendChild(o.firstChild.firstChild);return s}const r=t.node();for(;r.hasChildNodes();)r.removeChild(r.firstChild);t.node().appendChild(n(e))}function Fs(t){return t.substring(0,4)!=="ease"?Vo:$m[t]??Vo}function uf({axisWidth:t,innerRadius:e,outerRadius:n,padAngle:r,cornerRadius:a}){const i=fa().domain([0,1]).range([0,t/2]),o=i(n);return Zc().innerRadius(i(e)).outerRadius(o).padAngle(r).padRadius(o).cornerRadius(a)}const vr=(t,e)=>{if(e instanceof Function){const n=e(t);return String(n??"")}return Zo(e)(t)};function _m(t){return!(Eo(t).l<=60)}function Ts(t,e=10){var n;const r=document.createElement("canvas").getContext("2d");return(((n=r==null?void 0:r.measureText(t))==null?void 0:n.width)??0)*e/10}function GU(t){if(t===null||Number.isNaN(t)==!0)return String(t||0);const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")}function $t(t,e){const n=e.colors[e.colorScheme];return t==="label"?n.label[0]:t==="labelContrast"?_m(n.label[0])?n.labelContrast[1]:n.labelContrast[0]:t=="none"?"none":n[t]!=null?n[t]:n.primary}function Pt({datum:t,colorType:e,fullChartParams:n}){const r=n.colors[n.colorScheme];if(e==="label")return t.color||r.label[0];if(e==="labelContrast"){const a=t.color;return a?_m(a)?r.labelContrast[1]:r.labelContrast[0]:_m(r.label[0])?r.labelContrast[1]:r.labelContrast[0]}return e=="none"?"none":r[e]!=null?r[e]:r.primary}function Y(t,e,n){const r=n?`--${n}`:"";return`orbcharts-${t}__${e}${r}`}function me(t,e){const n=Math.random().toString(36).substr(2,5);return Y(t,e,n)}function ws(t,e){let n=new mt(()=>{});return t.each(function(){const r=Nd(this,e);n=zd(n,r)}),n}const ma=({selection:t,pluginName:e,clipPathID:n,seriesLabels$:r,gridContainerPosition$:a,gridAxesTransform$:i,gridGraphicTransform$:o})=>{const s=Y(e,"series"),l=Y(e,"axes"),u=Y(e,"graphic"),c=r.pipe(R((p,g)=>t.selectAll(`g.${s}`).data(p,m=>m).join(m=>m.append("g").classed(s,!0).each((b,y,x)=>{H(x[y]).selectAll(`g.${l}`).data([y]).join(v=>v.append("g").classed(l,!0).attr("clip-path",`url(#${n})`).each(($,S,C)=>{H(C[S]).selectAll("defs").data([S]).join("defs"),H(C[S]).selectAll("g").data([S]).join("g").classed(u,!0)}),v=>v,v=>v.remove())}),m=>m,m=>m.remove())),ot(1));j({seriesSelection:c,gridContainerPosition:a}).pipe(O(async p=>p)).subscribe(p=>{p.seriesSelection.transition().attr("transform",(g,m)=>{const b=p.gridContainerPosition[m]??p.gridContainerPosition[0],y=b.translate,x=b.scale;return`translate(${y[0]}, ${y[1]}) scale(${x[0]}, ${x[1]})`})});const d=j({seriesSelection:c,gridAxesTransform:i}).pipe(O(async p=>p),R(p=>p.seriesSelection.select(`g.${l}`).style("transform",p.gridAxesTransform.value)),ot(1)),f=d.pipe(R(p=>p.select("defs")),ot(1)),h=j({axesSelection:d,gridGraphicTransform:o}).pipe(O(async p=>p),R(p=>{const g=p.axesSelection.select(`g.${u}`);return g.transition().duration(50).style("transform",p.gridGraphicTransform.value),g}),ot(1));return{seriesSelection$:c,axesSelection$:d,defsSelection$:f,graphicGSelection$:h}},jU=({selection:t,pluginName:e,computedData$:n,gridContainerPosition$:r,isSeriesSeprate$:a})=>{const i=Y(e,"container"),o=j({computedData:n.pipe(Z((s,l)=>s.length===l.length)),isSeriesSeprate:a}).pipe(O(async s=>s),R(s=>s.isSeriesSeprate?s.computedData:[s.computedData[0]]),R((s,l)=>t.selectAll(`g.${i}`).data(s,u=>u[0]?u[0].seriesIndex:l).join("g").classed(i,!0)),ot(1));return j({containerSelection:o,gridContainerPosition:r}).pipe(O(async s=>s)).subscribe(s=>{s.containerSelection.attr("transform",(l,u)=>{const c=s.gridContainerPosition[u]??s.gridContainerPosition[0],d=c.translate,f=c.scale;return`translate(${d[0]}, ${d[1]}) scale(${f[0]}, ${f[1]})`})}),o},_D=({fullDataFormatter$:t,gridAxesSize$:e,computedData$:n,fullChartParams$:r,gridContainerPosition$:a,layout$:i})=>{const o=new K,s=j({fullDataFormatter:t,gridAxesSize:e,computedData:n}).pipe(O(async f=>f),R(f=>{const h=f.computedData[0]?f.computedData[0].length-1:0,p=f.fullDataFormatter.groupAxis.scaleDomain[0]-f.fullDataFormatter.groupAxis.scalePadding,g=f.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?h+f.fullDataFormatter.groupAxis.scalePadding:f.fullDataFormatter.groupAxis.scaleDomain[1]+f.fullDataFormatter.groupAxis.scalePadding;return[p,g]}),ot(1)),l=j({fullDataFormatter:t,computedData:n}).pipe(O(async f=>f),R(f=>f.fullDataFormatter.seriesDirection==="row"?(f.computedData[0]??[]).map(h=>h.groupLabel):f.computedData.map(h=>h[0].groupLabel))),u=j({groupScaleDomain:s,groupLabels:l}).pipe(O(async f=>f),R(f=>f.groupLabels.filter((h,p)=>p>=f.groupScaleDomain[0]&&p<=f.groupScaleDomain[1]))),c=a.pipe(R(f=>f.reduce((h,p)=>p.columnIndex>h?p.columnIndex:h,0)+1),Z()),d=a.pipe(R(f=>f.reduce((h,p)=>p.rowIndex>h?p.rowIndex:h,0)+1),Z());return new mt(f=>{j({dataFormatter:t,axisSize:e,fullChartParams:r,scaleRangeGroupLabels:u,groupLabels:l,groupScaleDomain:s,columnAmount:c,rowAmount:d,layout:i}).pipe(M(o),O(async h=>h)).subscribe(h=>{const p=h.dataFormatter.valueAxis.position==="right"||h.dataFormatter.valueAxis.position==="bottom",g=Dx({axisLabels:h.scaleRangeGroupLabels,axisWidth:h.axisSize.width,padding:h.dataFormatter.groupAxis.scalePadding,reverse:p}),m=y=>h.dataFormatter.groupAxis.position==="bottom"||h.dataFormatter.groupAxis.position==="top"?y.offsetX-h.fullChartParams.padding.left:y.offsetY-h.fullChartParams.padding.top,b=y=>{const x={offsetX:y.offsetX*h.columnAmount%h.layout.rootWidth,offsetY:y.offsetY*h.rowAmount%h.layout.rootHeight},v=m(x),$=g(v),S=Math.ceil(h.groupScaleDomain[0]),C=$+S;return{groupIndex:C,groupLabel:h.groupLabels[C]??""}};return f.next(b),function(){o.next(void 0)}})})},VU=({rootSelection:t,fullDataFormatter$:e,gridAxesSize$:n,computedData$:r,fullChartParams$:a,gridContainerPosition$:i,layout$:o})=>{const s=ws(t,"mousemove"),l=j({fullDataFormatter:e,gridAxesSize:n,computedData:r}).pipe(O(async y=>y),R(y=>{const x=y.computedData[0]?y.computedData[0].length-1:0,v=y.fullDataFormatter.groupAxis.scaleDomain[0]-y.fullDataFormatter.groupAxis.scalePadding,$=y.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?x+y.fullDataFormatter.groupAxis.scalePadding:y.fullDataFormatter.groupAxis.scaleDomain[1]+y.fullDataFormatter.groupAxis.scalePadding;return[v,$]}),ot(1)),u=j({fullDataFormatter:e,computedData:r}).pipe(O(async y=>y),R(y=>y.fullDataFormatter.seriesDirection==="row"?(y.computedData[0]??[]).map(x=>x.groupLabel):y.computedData.map(x=>x[0].groupLabel))),c=j({groupScaleDomain:l,groupLabels:u}).pipe(O(async y=>y),R(y=>y.groupLabels.filter((x,v)=>v>=y.groupScaleDomain[0]&&v<=y.groupScaleDomain[1]))),d=e.pipe(R(y=>y.valueAxis.position==="right"||y.valueAxis.position==="bottom")),f=j({reverse:d,gridAxesSize:n,scaleRangeGroupLabels:c,fullDataFormatter:e}).pipe(O(async y=>y),R(y=>Dx({axisLabels:y.scaleRangeGroupLabels,axisWidth:y.gridAxesSize.width,padding:y.fullDataFormatter.groupAxis.scalePadding,reverse:y.reverse}))),h=i.pipe(R(y=>y.reduce((x,v)=>v.columnIndex>x?v.columnIndex:x,0)+1),Z()),p=i.pipe(R(y=>y.reduce((x,v)=>v.rowIndex>x?v.rowIndex:x,0)+1),Z()),g=j({fullDataFormatter:e,fullChartParams:a,rootMousemove:s,columnAmount:h,rowAmount:p,layout:o}).pipe(O(async y=>y),R(y=>{const x={offsetX:y.rootMousemove.offsetX*y.columnAmount%y.layout.rootWidth,offsetY:y.rootMousemove.offsetY*y.rowAmount%y.layout.rootHeight};return y.fullDataFormatter.groupAxis.position==="bottom"||y.fullDataFormatter.groupAxis.position==="top"?x.offsetX-y.fullChartParams.padding.left:x.offsetY-y.fullChartParams.padding.top})),m=j({xIndexScale:f,axisValue:g,groupScaleDomain:l}).pipe(O(async y=>y),R(y=>{const x=y.xIndexScale(y.axisValue),v=Math.ceil(y.groupScaleDomain[0]);return x+v})),b=j({groupIndex:m,groupLabels:u}).pipe(O(async y=>y),R(y=>y.groupLabels[y.groupIndex]??""));return j({groupIndex:m,groupLabel:b}).pipe(O(async y=>y),R(y=>({groupIndex:y.groupIndex,groupLabel:y.groupLabel})))};function HU(t="curveLinear"){return Qc().x(e=>e.axisX).y(e=>e.axisY).curve($m[t])}function XU(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function WU({selection:t,pathClassName:e,segmentData:n,linePath:r,params:a}){return t.selectAll("path").data(n,(i,o)=>i.length?`${i[0].id}_${i[i.length-1].id}`:o).join(i=>i.append("path").classed(e,!0).attr("fill","none").attr("pointer-events","visibleStroke").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),i=>i,i=>i.remove()).attr("stroke-width",a.lineWidth).attr("stroke",(i,o)=>i[0]&&i[0].color).attr("d",i=>r(i))}function UU({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{r===e?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}function YU({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(a=>a.append("clipPath"),a=>a,a=>a.remove()).attr("id",a=>a.id).each((a,i,o)=>{H(o[i]).selectAll("rect").data([a]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(Fs(r)).tween("tween",(u,c,d)=>f=>{const h=u.width*f;l.attr("x",0).attr("y",0).attr("width",p=>h).attr("height",p=>p.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const AD=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,allContainerPosition$:b,layout$:y,event$:x})=>{const v=new K,$=me(t,"clipPath-box"),S=Y(t,"path"),{defsSelection$:C,graphicGSelection$:D}=ma({selection:e,pluginName:t,clipPathID:$,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h}),_=new mt(T=>{const B=u.pipe(M(v)).subscribe(N=>{if(!N)return;const E=HU(N.lineCurve);T.next(E)});return()=>{B.unsubscribe()}}),P=d.pipe(R(T=>T.transitionDuration),Z()),A=d.pipe(R(T=>T.transitionEase),Z());j({defsSelection:C,seriesLabels:o,axisSize:p,transitionDuration:P,transitionEase:A}).pipe(M(v),O(async T=>T)).subscribe(T=>{const B=[{id:$,width:T.axisSize.width,height:T.axisSize.height}].concat(T.seriesLabels.map(N=>({id:`orbcharts__clipPath_${N}`,width:T.axisSize.width,height:T.axisSize.height})));YU({defsSelection:T.defsSelection,clipPathData:B,transitionDuration:T.transitionDuration,transitionEase:T.transitionEase})});const I=n.pipe(R(T=>{const B=new Map;return T.flat().forEach(N=>B.set(N.id,N)),B})),k=_D({fullDataFormatter$:c,gridAxesSize$:p,computedData$:n,fullChartParams$:d,gridContainerPosition$:b,layout$:y}),w=d.pipe(M(v),R(T=>T.highlightTarget),Z()),F=j({graphicGSelection:D,visibleComputedAxesData:i,linePath:_,params:u}).pipe(M(v),O(async T=>T),R(T=>{let B=[];return T.graphicGSelection.each((N,E,z)=>{const V=XU(T.visibleComputedAxesData[E]??[]);B[E]=WU({selection:H(z[E]),pathClassName:S,linePath:T.linePath,segmentData:V,params:T.params})}),B}));return j({pathSelectionArr:F,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:w,gridGroupPositionFn:k}).pipe(M(v),O(async T=>T)).subscribe(T=>{T.pathSelectionArr.forEach(B=>{B.on("mouseover",(N,E)=>{N.stopPropagation();const z=E[0]?E[0].seriesLabel:"",{groupIndex:V,groupLabel:J}=T.gridGroupPositionFn(N),G=T.GroupDataMap.get(J).find(X=>X.seriesLabel===z)??E[0];x.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:T.highlightTarget,datum:G,gridIndex:G.gridIndex,series:T.SeriesDataMap.get(G.seriesLabel),seriesIndex:G.seriesIndex,seriesLabel:G.seriesLabel,group:T.GroupDataMap.get(G.groupLabel),groupIndex:G.groupIndex,groupLabel:G.groupLabel,event:N,data:T.computedData})}).on("mousemove",(N,E)=>{N.stopPropagation();const z=E[0]?E[0].seriesLabel:"",{groupIndex:V,groupLabel:J}=T.gridGroupPositionFn(N),G=T.GroupDataMap.get(J).find(X=>X.seriesLabel===z)??E[0];x.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:T.highlightTarget,datum:G,gridIndex:G.gridIndex,series:T.SeriesDataMap.get(G.seriesLabel),seriesIndex:G.seriesIndex,seriesLabel:G.seriesLabel,group:T.GroupDataMap.get(G.groupLabel),groupIndex:G.groupIndex,groupLabel:G.groupLabel,event:N,data:T.computedData})}).on("mouseout",(N,E)=>{N.stopPropagation();const z=E[0]?E[0].seriesLabel:"",{groupIndex:V,groupLabel:J}=T.gridGroupPositionFn(N),G=T.GroupDataMap.get(J).find(X=>X.seriesLabel===z)??E[0];x.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:T.highlightTarget,datum:G,gridIndex:G.gridIndex,series:T.SeriesDataMap.get(G.seriesLabel),seriesIndex:G.seriesIndex,seriesLabel:G.seriesLabel,group:T.GroupDataMap.get(G.groupLabel),groupIndex:G.groupIndex,groupLabel:G.groupLabel,event:N,data:T.computedData})}).on("click",(N,E)=>{N.stopPropagation();const z=E[0]?E[0].seriesLabel:"",{groupIndex:V,groupLabel:J}=T.gridGroupPositionFn(N),G=T.GroupDataMap.get(J).find(X=>X.seriesLabel===z)??E[0];x.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:T.highlightTarget,datum:G,gridIndex:G.gridIndex,series:T.SeriesDataMap.get(G.seriesLabel),seriesIndex:G.seriesIndex,seriesLabel:G.seriesLabel,group:T.GroupDataMap.get(G.groupLabel),groupIndex:G.groupIndex,groupLabel:G.groupLabel,event:N,data:T.computedData})})})}),d.pipe(M(v),ka(T=>T.highlightTarget==="series"),O(T=>j({graphicGSelection:D,gridHighlight:g,DataMap:I,fullChartParams:d}).pipe(M(v),O(async B=>B)))).subscribe(T=>{const B=T.gridHighlight[0]?T.gridHighlight[0].seriesLabel:null;UU({selection:T.graphicGSelection,seriesLabel:B,fullChartParams:T.fullChartParams})}),()=>{v.next(void 0)}},SD=0,sn=2,DD=3,CD=4,Pe=5,cf=6,ff=7,Ri=8,ki=9,PD="Lines",qU={name:PD,defaultParams:cb,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})},ZU=Ae(qU)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new K,o=AD(PD,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,event$:a.event$});return()=>{i.next(void 0),o()}});function JU(t="curveLinear",e){return cm().x(n=>n.axisX).y0(n=>e).y1(n=>n.axisY).curve($m[t])}function KU(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function QU({selection:t,pathClassName:e,segmentData:n,areaPath:r,linearGradientIds:a,params:i}){return t.selectAll("path").data(n,(o,s)=>o.length?`${o[0].id}_${o[o.length-1].id}`:s).join(o=>o.append("path").classed(e,!0).attr("fill","none").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),o=>o,o=>o.remove()).attr("fill",(o,s)=>o[0]?`url(#${a[o[0].seriesIndex]})`:"").attr("d",o=>r(o))}function tY({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{r===e?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}function eY({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(a=>a.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),a=>a,a=>a.remove()).attr("id",(a,i)=>a[0]?n[a[0].seriesIndex]:"").html((a,i)=>{const o=a[0]?a[0].color:"";return`
62
+ <stop offset="0%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[0]}"/>
63
+ <stop offset="100%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[1]}"/>
64
+ `})}function nY({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(a=>a.append("clipPath"),a=>a,a=>a.remove()).attr("id",a=>a.id).each((a,i,o)=>{H(o[i]).selectAll("rect").data([a]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(Fs(r)).tween("tween",(u,c,d)=>f=>{const h=u.width*f;l.attr("x",0).attr("y",0).attr("width",p=>h).attr("height",p=>p.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const FD=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,layout$:b,event$:y})=>{const x=new K,v=me(t,"clipPath-box"),$=Y(t,"path"),{defsSelection$:S,graphicGSelection$:C}=ma({selection:e,pluginName:t,clipPathID:v,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h}),D=h.pipe(M(x),R(B=>-B.translate[1]/B.scale[1])),_=new mt(B=>{const N=j({fullParams:u,valueAxisStart:D}).pipe(M(x)).subscribe(E=>{const z=JU(E.fullParams.lineCurve,E.valueAxisStart);B.next(z)});return()=>{N.unsubscribe()}}),P=d.pipe(R(B=>B.transitionDuration),Z()),A=d.pipe(R(B=>B.transitionEase),Z());j({defsSelection:S,seriesLabels:o,axisSize:p,transitionDuration:P,transitionEase:A}).pipe(M(x),O(async B=>B)).subscribe(B=>{const N=[{id:v,width:B.axisSize.width,height:B.axisSize.height}].concat(B.seriesLabels.map(E=>({id:`orbcharts__clipPath_${E}`,width:B.axisSize.width,height:B.axisSize.height})));nY({defsSelection:B.defsSelection,clipPathData:N,transitionDuration:B.transitionDuration,transitionEase:B.transitionEase})});const I=n.pipe(R(B=>{const N=new Map;return B.flat().forEach(E=>N.set(E.id,E)),N})),k=_D({fullDataFormatter$:c,gridAxesSize$:p,computedData$:n,fullChartParams$:d,gridContainerPosition$:m,layout$:b}),w=d.pipe(M(x),R(B=>B.highlightTarget),Z()),F=o.pipe(M(x),R(B=>B.map((N,E)=>me(t,`lineargradient-${N}`)))),T=j({graphicGSelection:C,defsSelection:S,visibleComputedAxesData:i,linearGradientIds:F,areaPath:_,params:u}).pipe(M(x),O(async B=>B),R(B=>{let N=[];return B.graphicGSelection.each((E,z,V)=>{const J=KU(B.visibleComputedAxesData[z]??[]);N[z]=QU({selection:H(V[z]),pathClassName:$,areaPath:B.areaPath,segmentData:J,linearGradientIds:B.linearGradientIds,params:B.params}),eY({defsSelection:B.defsSelection,computedData:B.visibleComputedAxesData,linearGradientIds:B.linearGradientIds,params:B.params})}),N}));return j({pathSelectionArr:T,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:w,gridGroupPositionFn:k}).pipe(M(x),O(async B=>B)).subscribe(B=>{B.pathSelectionArr.forEach(N=>{N.on("mouseover",(E,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:J,groupLabel:G}=B.gridGroupPositionFn(E),X=B.GroupDataMap.get(G).find(W=>W.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:B.highlightTarget,datum:X,gridIndex:X.gridIndex,series:B.SeriesDataMap.get(X.seriesLabel),seriesIndex:X.seriesIndex,seriesLabel:X.seriesLabel,group:B.GroupDataMap.get(X.groupLabel),groupIndex:X.groupIndex,groupLabel:X.groupLabel,event:E,data:B.computedData})}).on("mousemove",(E,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:J,groupLabel:G}=B.gridGroupPositionFn(E),X=B.GroupDataMap.get(G).find(W=>W.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:B.highlightTarget,datum:X,gridIndex:X.gridIndex,series:B.SeriesDataMap.get(X.seriesLabel),seriesIndex:X.seriesIndex,seriesLabel:X.seriesLabel,group:B.GroupDataMap.get(X.groupLabel),groupIndex:X.groupIndex,groupLabel:X.groupLabel,event:E,data:B.computedData})}).on("mouseout",(E,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:J,groupLabel:G}=B.gridGroupPositionFn(E),X=B.GroupDataMap.get(G).find(W=>W.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:B.highlightTarget,datum:X,gridIndex:X.gridIndex,series:B.SeriesDataMap.get(X.seriesLabel),seriesIndex:X.seriesIndex,seriesLabel:X.seriesLabel,group:B.GroupDataMap.get(X.groupLabel),groupIndex:X.groupIndex,groupLabel:X.groupLabel,event:E,data:B.computedData})}).on("click",(E,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:J,groupLabel:G}=B.gridGroupPositionFn(E),X=B.GroupDataMap.get(G).find(W=>W.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:B.highlightTarget,datum:X,gridIndex:X.gridIndex,series:B.SeriesDataMap.get(X.seriesLabel),seriesIndex:X.seriesIndex,seriesLabel:X.seriesLabel,group:B.GroupDataMap.get(X.groupLabel),groupIndex:X.groupIndex,groupLabel:X.groupLabel,event:E,data:B.computedData})})})}),d.pipe(M(x),ka(B=>B.highlightTarget==="series"),O(B=>j({graphicGSelection:C,gridHighlight:g,DataMap:I,fullChartParams:d}).pipe(M(x),O(async N=>N)))).subscribe(B=>{const N=B.gridHighlight[0]?B.gridHighlight[0].seriesLabel:null;tY({selection:B.graphicGSelection,seriesLabel:N,fullChartParams:B.fullChartParams})}),()=>{x.next(void 0)}},TD="LineAreas",rY={name:TD,defaultParams:fb,layerIndex:CD,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},aY=Ae(rY)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=FD(TD,{selection:t,computedData$:n.computedData$,visibleComputedData$:n.visibleComputedData$,computedAxesData$:n.computedAxesData$,visibleComputedAxesData$:n.visibleComputedAxesData$,seriesLabels$:n.seriesLabels$,SeriesDataMap$:n.SeriesDataMap$,GroupDataMap$:n.GroupDataMap$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridGraphicTransform$:n.gridGraphicTransform$,gridAxesSize$:n.gridAxesSize$,gridHighlight$:n.gridHighlight$,gridContainerPosition$:n.gridContainerPosition$,allContainerPosition$:n.gridContainerPosition$,layout$:n.layout$,event$:r.event$});return()=>{a.next(void 0),i()}}),wD=.3;function BD({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:a=0}){const i=((e>1?t/(e-1):t)-a)/n-r;return i>1?i:1}function iY(t,e,n){const r=t/2,a=t*e.length+n.barPadding*e.length;return Hg().domain(e).range([-a/2+r,a/2-r])}function oY(t,e){return t<=1?0:e/(t-1)*wD}function sY(t,e){return t<=1?e:e*(1-wD)}function lY({graphicGSelection:t,rectClassName:e,visibleComputedAxesData:n,zeroYArr:r,groupLabels:a,barScale:i,params:o,chartParams:s,barWidth:l,transformedBarRadius:u,delayGroup:c,transitionItem:d,isSeriesSeprate:f}){const h=l/2;return t.each((p,g,m)=>{H(m[g]).selectAll(`rect.${e}`).data(n[g]??[],b=>b.id).join(b=>b.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",y=>1),b=>b,b=>b.remove()).attr("transform",(b,y)=>`translate(${(b?b.axisX:0)-h}, 0)`).attr("fill",b=>b.color).attr("y",b=>b.axisY<r[g]?b.axisY:r[g]).attr("x",b=>f?0:i(b.seriesLabel)).attr("width",l).attr("rx",u[g][0]??1).attr("ry",u[g][1]??1).transition().duration(d).ease(Fs(s.transitionEase)).delay((b,y)=>b.groupIndex*c).attr("height",b=>Math.abs(b.axisYFromZero)||1)}),t.selectAll(`rect.${e}`)}function uY({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function cY({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const Am=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:d,gridGraphicTransform$:f,gridGraphicReverseScale$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new K,v=me(t,"clipPath-box"),$=Y(t,"rect"),{defsSelection$:S,graphicGSelection$:C}=ma({selection:e,pluginName:t,clipPathID:v,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:d,gridGraphicTransform$:f}),D=i.pipe(M(x),R(N=>N.map(E=>E[0]?E[0].axisY-E[0].axisYFromZero:0)),Z()),_=j({computedData:n,visibleComputedData:a,params:u,gridAxesSize:p,isSeriesSeprate:b}).pipe(M(x),O(async N=>N),R(N=>N.params.barWidth?N.params.barWidth:N.isSeriesSeprate?BD({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:1,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding}):BD({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:N.visibleComputedData.length,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding})),Z()),P=j({computedData:n,barWidth:_,params:u,gridGraphicReverseScale:h}).pipe(M(x),O(async N=>N),R(N=>{const E=N.barWidth/2,z=N.params.barRadius===!0?E:N.params.barRadius===!1?0:typeof N.params.barRadius=="number"?N.params.barRadius:0;return N.computedData.map((V,J)=>{const G=N.gridGraphicReverseScale[J]??N.gridGraphicReverseScale[0];let X=z*G[0],W=z*G[1];if(X>E){const ct=E/X;X=X*ct,W=W*ct}return[X,W]})})),A=a.pipe(M(x),R(N=>{const E=new Set;return N.forEach(z=>{z.forEach(V=>{E.add(V.groupLabel)})}),Array.from(E)})),I=j({seriesLabels:o,barWidth:_,params:u}).pipe(M(x),O(async N=>N),R(N=>iY(N.barWidth,N.seriesLabels,N.params))),k=c.pipe(M(x),R(N=>N.transitionDuration),Z()),w=new mt(N=>{j({groupLabels:A,transitionDuration:k}).pipe(O(async E=>E)).subscribe(E=>{const z=oY(E.groupLabels.length,E.transitionDuration);N.next(z)})}).pipe(M(x),Z()),F=new mt(N=>{j({groupLabels:A,transitionDuration:k}).pipe(O(async E=>E)).subscribe(E=>{const z=sY(E.groupLabels.length,E.transitionDuration);N.next(z)})}).pipe(M(x),Z());j({defsSelection:S,gridAxesSize:p}).pipe(M(x),O(async N=>N)).subscribe(N=>{const E=[{id:v,width:N.gridAxesSize.width,height:N.gridAxesSize.height}];uY({defsSelection:N.defsSelection,clipPathData:E})});const T=c.pipe(M(x),R(N=>N.highlightTarget),Z()),B=j({graphicGSelection:C,visibleComputedAxesData:i,zeroYArr:D,groupLabels:A,barScale:I,params:u,chartParams:c,highlightTarget:T,barWidth:_,transformedBarRadius:P,delayGroup:w,transitionItem:F,isSeriesSeprate:b}).pipe(M(x),O(async N=>N),R(N=>lY({graphicGSelection:N.graphicGSelection,rectClassName:$,visibleComputedAxesData:N.visibleComputedAxesData,zeroYArr:N.zeroYArr,groupLabels:N.groupLabels,barScale:N.barScale,params:N.params,chartParams:N.chartParams,barWidth:N.barWidth,transformedBarRadius:N.transformedBarRadius,delayGroup:N.delayGroup,transitionItem:N.transitionItem,isSeriesSeprate:N.isSeriesSeprate})));return j({barSelection:B,computedData:n,highlightTarget:T,SeriesDataMap:s,GroupDataMap:l}).pipe(M(x),O(async N=>N)).subscribe(N=>{N.barSelection.on("mouseover",(E,z)=>{E.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:N.highlightTarget,datum:z,gridIndex:z.gridIndex,series:N.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:N.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:E,data:N.computedData})}).on("mousemove",(E,z)=>{E.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:N.highlightTarget,datum:z,gridIndex:z.gridIndex,series:N.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:N.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:E,data:N.computedData})}).on("mouseout",(E,z)=>{E.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:N.highlightTarget,datum:z,gridIndex:z.gridIndex,series:N.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:N.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:E,data:N.computedData})}).on("click",(E,z)=>{E.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:N.highlightTarget,datum:z,gridIndex:z.gridIndex,series:N.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:N.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:E,data:N.computedData})})}),j({barSelection:B,highlight:g.pipe(R(N=>N.map(E=>E.id))),fullChartParams:c}).pipe(M(x),O(async N=>N)).subscribe(N=>{cY({selection:N.barSelection,ids:N.highlight,fullChartParams:N.fullChartParams})}),()=>{x.next(void 0)}},MD="Bars",fY={name:MD,defaultParams:hl,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},dY=Ae(fY)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=Am(MD,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}}),ED="BarsPN",hY={name:ED,defaultParams:hl,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},pY=Ae(hY)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=Am(ED,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:hn(!0),event$:n.event$});return()=>{a.next(void 0),i()}}),LD=.3;function gY({axisWidth:t,groupAmount:e,barGroupPadding:n=0}){const r=(e>1?t/(e-1):t)-n;return r>1?r:1}function mY(t,e){return t<=1?0:e/(t-1)*LD}function yY(t,e){return t<=1?e:e*(1-LD)}function bY({graphicGSelection:t,rectClassName:e,barData:n,zeroY:r,groupLabels:a,params:i,chartParams:o,barWidth:s,transformedBarRadius:l,delayGroup:u,transitionItem:c,isSeriesSeprate:d}){const f=s/2;return t.each((h,p,g)=>{H(g[p]).selectAll(`rect.${e}`).data(n[p]??[],m=>m.id).join(m=>m.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",b=>1),m=>m,m=>m.remove()).attr("transform",(m,b)=>`translate(${(m?m.axisX:0)-f}, 0)`).attr("fill",m=>m.color).attr("y",m=>r).attr("x",m=>0).attr("width",s).attr("rx",l[p][0]??1).attr("ry",l[p][1]??1).transition().duration(c).ease(Fs(o.transitionEase)).delay((m,b)=>m.groupIndex*u).attr("y",m=>m._barStartY).attr("height",m=>Math.abs(m._barHeight)||1)}),t.selectAll(`rect.${e}`)}function xY({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function vY({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const RD=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridGraphicReverseScale$:p,gridAxesSize$:g,gridHighlight$:m,gridContainerPosition$:b,isSeriesSeprate$:y,event$:x})=>{const v=new K,$=me(t,"clipPath-box"),S=Y(t,"rect"),{defsSelection$:C,graphicGSelection$:D}=ma({selection:e,pluginName:t,clipPathID:$,seriesLabels$:o,gridContainerPosition$:b,gridAxesTransform$:f,gridGraphicTransform$:h}),_=i.pipe(M(v),R(G=>G[0]&&G[0][0]?G[0][0].axisY-G[0][0].axisYFromZero:0),Z()),P=j({computedData:n,params:u,axisSize:g,isSeriesSeprate:y}).pipe(M(v),O(async G=>G),R(G=>G.params.barWidth?G.params.barWidth:gY({axisWidth:G.axisSize.width,groupAmount:G.computedData[0]?G.computedData[0].length:0,barGroupPadding:G.params.barGroupPadding})),Z()),A=j({computedData:n,barWidth:P,params:u,gridGraphicReverseScale:p}).pipe(M(v),O(async G=>G),R(G=>{const X=G.barWidth/2,W=G.params.barRadius===!0?X:G.params.barRadius===!1?0:typeof G.params.barRadius=="number"?G.params.barRadius:0;return G.computedData.map((ct,ut)=>{const pt=G.gridGraphicReverseScale[ut]??G.gridGraphicReverseScale[0],Q=W*pt[0],nt=W*pt[1];return[Q,nt]})})),I=a.pipe(M(v),R(G=>{const X=new Set;return G.forEach(W=>{W.forEach(ct=>{X.add(ct.groupLabel)})}),Array.from(X)}),ot(1)),k=d.pipe(M(v),R(G=>G.transitionDuration),Z()),w=new mt(G=>{j({groupLabels:I,transitionDuration:k}).pipe(O(async X=>X)).subscribe(X=>{const W=mY(X.groupLabels.length,X.transitionDuration);G.next(W)})}).pipe(M(v),Z()),F=new mt(G=>{j({groupLabels:I,transitionDuration:k}).pipe(O(async X=>X)).subscribe(X=>{const W=yY(X.groupLabels.length,X.transitionDuration);G.next(W)})}).pipe(M(v),Z()),T=j({computedData:n,dataFormatter:c}).pipe(M(v),O(async G=>G),R(G=>{const X=G.computedData[0]?G.computedData[0].length-1:0,W=G.dataFormatter.groupAxis.scaleDomain[0],ct=G.dataFormatter.groupAxis.scaleDomain[1]==="max"?X:G.dataFormatter.groupAxis.scaleDomain[1];return[W,ct]})),B=j({visibleComputedAxesData:i,groupScaleDomain:T}).pipe(M(v),O(async G=>G),R(G=>{const X=G.groupScaleDomain[0],W=G.groupScaleDomain[1],ct=G.visibleComputedAxesData.map(nt=>nt.filter((lt,q)=>lt.groupIndex>=X&&lt.groupIndex<=W)).flat();if(ct.length<=1)return 1;const ut=ct.reduce((nt,lt)=>lt.value>nt.value?lt:nt,ct[0]),pt=ut.groupIndex,Q=ct.filter(nt=>nt.groupIndex===pt).reduce((nt,lt)=>nt+lt.value,0);return ut.value/Q})),N=j({computedAxesData:r,yRatio:B,zeroY:_}).pipe(M(v),R(G=>{let X=G.computedAxesData[0]?G.computedAxesData[0].map(()=>G.zeroY):[];return G.computedAxesData.map((W,ct)=>W.map((ut,pt)=>{const Q=X[pt];let nt=0;return ut.visible&&(nt=ut.axisYFromZero*G.yRatio,X[pt]=X[pt]+nt),{...ut,_barStartY:Q,_barHeight:nt}}))})),E=j({computedAxesData:r,zeroY:_}).pipe(M(v),R(G=>G.computedAxesData.map((X,W)=>X.map((ct,ut)=>({...ct,_barStartY:G.zeroY,_barHeight:ct.axisYFromZero}))))),z=y.pipe(O(G=>Mr(()=>G,E,N)));j({defsSelection:C,gridAxesSize:g}).pipe(M(v),O(async G=>G)).subscribe(G=>{const X=[{id:$,width:G.gridAxesSize.width,height:G.gridAxesSize.height}];xY({defsSelection:G.defsSelection,clipPathData:X})});const V=d.pipe(M(v),R(G=>G.highlightTarget),Z()),J=j({graphicGSelection:D,graphicData:z,zeroY:_,groupLabels:I,params:u,chartParams:d,highlightTarget:V,barWidth:P,transformedBarRadius:A,delayGroup:w,transitionItem:F,isSeriesSeprate:y}).pipe(M(v),O(async G=>G),R(G=>bY({graphicGSelection:G.graphicGSelection,rectClassName:S,barData:G.graphicData,zeroY:G.zeroY,groupLabels:G.groupLabels,params:G.params,chartParams:G.chartParams,barWidth:G.barWidth,transformedBarRadius:G.transformedBarRadius,delayGroup:G.delayGroup,transitionItem:G.transitionItem,isSeriesSeprate:G.isSeriesSeprate})));return j({barSelection:J,computedData:n,highlightTarget:V,SeriesDataMap:s,GroupDataMap:l}).subscribe(G=>{G.barSelection.on("mouseover",(X,W)=>{X.stopPropagation(),x.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:G.highlightTarget,datum:W,gridIndex:W.gridIndex,series:G.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:G.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:X,data:G.computedData})}).on("mousemove",(X,W)=>{X.stopPropagation(),x.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:G.highlightTarget,datum:W,gridIndex:W.gridIndex,series:G.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:G.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:X,data:G.computedData})}).on("mouseout",(X,W)=>{X.stopPropagation(),x.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:G.highlightTarget,datum:W,gridIndex:W.gridIndex,series:G.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:G.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:X,data:G.computedData})}).on("click",(X,W)=>{X.stopPropagation(),x.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:G.highlightTarget,datum:W,gridIndex:W.gridIndex,series:G.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:G.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:X,data:G.computedData})})}),j({barSelection:J,highlight:m.pipe(R(G=>G.map(X=>X.id))),fullChartParams:d}).pipe(M(v),O(async G=>G)).subscribe(G=>{vY({selection:G.barSelection,ids:G.highlight,fullChartParams:G.fullChartParams})}),()=>{v.next(void 0)}},kD="StackedBars",$Y={name:kD,defaultParams:hb,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},_Y=Ae($Y)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=RD(kD,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}}),ID=.3;function ND({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:a=0}){const i=((e>1?t/(e-1):t)-a)/n-r;return i>1?i:1}function AY(t,e,n){const r=t/2,a=t*e.length+n.barPadding*e.length;return Hg().domain(e).range([-a/2+r,a/2-r])}function SY(t,e){return t<=1?0:e/(t-1)*ID}function DY(t,e){return t<=1?e:e*(1-ID)}function CY({graphicGSelection:t,pathGClassName:e,pathClassName:n,visibleComputedAxesData:r,linearGradientIds:a,zeroYArr:i,groupLabels:o,barScale:s,params:l,chartParams:u,barWidth:c,delayGroup:d,transitionItem:f,isSeriesSeprate:h}){const p=c/2;return t.each((g,m,b)=>{H(b[m]).selectAll(`g.${e}`).data(r[m]??[]).join(y=>{const x=y.append("g").classed(e,!0).attr("cursor","pointer");return x.append("path").classed(n,!0).style("vector-effect","non-scaling-stroke").attr("d",v=>{const $=-p,S=i[m],C=i[m];return`M${$},${S} L${$+c/2},${C} ${$+c},${S}`}),x},y=>y,y=>y.remove()).attr("transform",y=>`translate(${h?0:s(y.seriesLabel)}, 0)`).select(`path.${n}`).attr("height",y=>Math.abs(y.axisYFromZero)||1).attr("y",y=>y.axisY<i[m]?y.axisY:i[m]).attr("x",y=>h?0:s(y.seriesLabel)).style("fill",y=>`url(#${a[y.seriesIndex]})`).attr("stroke",y=>y.color).attr("transform",y=>`translate(${y?y.axisX:0}, 0)`).transition().duration(f).ease(Fs(u.transitionEase)).delay((y,x)=>y.groupIndex*d).attr("d",y=>{const x=-p,v=i[m],$=y.axisY;return`M${x},${v} L${x+c/2},${$} ${x+c},${v}`})}),t.selectAll(`path.${n}`)}function PY({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(a=>a.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),a=>a,a=>a.remove()).attr("id",(a,i)=>a[0]?n[a[0].seriesIndex]:"").html((a,i)=>{const o=a[0]?a[0].color:"";return`
65
+ <stop offset="0%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[0]}"/>
66
+ <stop offset="100%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[1]}"/>
67
+ `})}function FY({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function TY({selection:t,ids:e,fullChartParams:n}){t.interrupt("highlight");const r=()=>{t.transition("highlight").duration(200).style("opacity",1)};if(!e.length){r();return}t.each((a,i,o)=>{e.includes(a.id)?H(o[i]).style("opacity",1):H(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const zD=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,fullDataFormatter$:o,seriesLabels$:s,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new K,v=me(t,"clipPath-box"),$=Y(t,"pathG"),S=Y(t,"path"),{defsSelection$:C,graphicGSelection$:D}=ma({selection:e,pluginName:t,clipPathID:v,seriesLabels$:s,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h});h.pipe(M(x),R(E=>-E.translate[1]/E.scale[1]));const _=i.pipe(R(E=>E.map(z=>z[0]?z[0].axisY-z[0].axisYFromZero:0)),Z()),P=j({computedData:n,visibleComputedData:a,params:c,gridAxesSize:p,isSeriesSeprate:b}).pipe(M(x),O(async E=>E),R(E=>E.params.barWidth?E.params.barWidth:E.isSeriesSeprate?ND({axisWidth:E.gridAxesSize.width,groupAmount:E.computedData[0]?E.computedData[0].length:0,barAmountOfGroup:1,barPadding:E.params.barPadding,barGroupPadding:E.params.barGroupPadding}):ND({axisWidth:E.gridAxesSize.width,groupAmount:E.computedData[0]?E.computedData[0].length:0,barAmountOfGroup:E.visibleComputedData.length,barPadding:E.params.barPadding,barGroupPadding:E.params.barGroupPadding}))),A=a.pipe(M(x),R(E=>{const z=new Set;return E.forEach(V=>{V.forEach(J=>{z.add(J.groupLabel)})}),Array.from(z)})),I=new mt(E=>{j({seriesLabels:s,barWidth:P,params:c}).pipe(M(x),O(async z=>z)).subscribe(z=>{const V=AY(z.barWidth,z.seriesLabels,z.params);E.next(V)})}),k=d.pipe(M(x),R(E=>E.transitionDuration),Z()),w=new mt(E=>{j({groupLabels:A,transitionDuration:k}).pipe(O(async z=>z)).subscribe(z=>{const V=SY(z.groupLabels.length,z.transitionDuration);E.next(V)})}).pipe(M(x),Z()),F=new mt(E=>{j({groupLabels:A,transitionDuration:k}).pipe(O(async z=>z)).subscribe(z=>{const V=DY(z.groupLabels.length,z.transitionDuration);E.next(V)})}).pipe(M(x),Z());j({defsSelection:C,gridAxesSize:p}).pipe(M(x),O(async E=>E)).subscribe(E=>{const z=[{id:v,width:E.gridAxesSize.width,height:E.gridAxesSize.height}];FY({defsSelection:E.defsSelection,clipPathData:z})});const T=d.pipe(M(x),R(E=>E.highlightTarget),Z()),B=s.pipe(M(x),R(E=>E.map((z,V)=>me(t,`lineargradient-${z}`)))),N=j({graphicGSelection:D,defsSelection:C,computedData:n,visibleComputedAxesData:i,linearGradientIds:B,zeroYArr:_,groupLabels:A,barScale:I,params:c,chartParams:d,barWidth:P,delayGroup:w,transitionItem:F,isSeriesSeprate:b}).pipe(M(x),O(async E=>E),R(E=>(PY({defsSelection:E.defsSelection,computedData:E.computedData,linearGradientIds:E.linearGradientIds,params:E.params}),CY({graphicGSelection:E.graphicGSelection,pathGClassName:$,pathClassName:S,visibleComputedAxesData:E.visibleComputedAxesData,linearGradientIds:E.linearGradientIds,zeroYArr:E.zeroYArr,groupLabels:E.groupLabels,barScale:E.barScale,params:E.params,chartParams:E.chartParams,barWidth:E.barWidth,delayGroup:E.delayGroup,transitionItem:E.transitionItem,isSeriesSeprate:E.isSeriesSeprate}))));return j({barSelection:N,computedData:n,highlightTarget:T,SeriesDataMap:l,GroupDataMap:u}).subscribe(E=>{E.barSelection.on("mouseover",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:E.highlightTarget,datum:V,gridIndex:V.gridIndex,series:E.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:E.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:E.computedData})}).on("mousemove",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:E.highlightTarget,datum:V,gridIndex:V.gridIndex,series:E.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:E.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:E.computedData})}).on("mouseout",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:E.highlightTarget,datum:V,gridIndex:V.gridIndex,series:E.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:E.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:E.computedData})}).on("click",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:E.highlightTarget,datum:V,gridIndex:V.gridIndex,series:E.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:E.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:E.computedData})})}),j({barSelection:N,highlight:g.pipe(R(E=>E.map(z=>z.id))),fullChartParams:d}).pipe(M(x),O(async E=>E)).subscribe(E=>{TY({selection:E.barSelection,ids:E.highlight,fullChartParams:E.fullChartParams})}),()=>{x.next(void 0)}},OD="BarsTriangle",wY={name:OD,defaultParams:pb,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},BY=Ae(wY)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=zD(OD,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,fullDataFormatter$:r.fullDataFormatter$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}});function MY({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedAxesData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const s=u=>{const c=u.size();return i.transitionDuration/c};let l=0;return t.each((u,c,d)=>{H(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(l=s(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{H(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*l).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",a.radius).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function EY({selection:t,ids:e,onlyShowHighlighted:n,fullChartParams:r}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",n===!0?0:1);return}t.each((a,i,o)=>{e.includes(a.id)?H(o[i]).style("opacity",1).transition("highlight").duration(200):H(o[i]).style("opacity",n===!0?0:r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function LY({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const GD=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:d,gridGraphicTransform$:f,gridGraphicReverseScale$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,event$:b})=>{const y=new K,x=me(t,"clipPath-box"),v=Y(t,"circleG"),$=Y(t,"circle"),{defsSelection$:S,graphicGSelection$:C}=ma({selection:e,pluginName:t,clipPathID:x,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:d,gridGraphicTransform$:f}),D=j({computedData:n,gridGraphicReverseScale:h}).pipe(M(y),O(async I=>I),R(I=>I.computedData.map((k,w)=>I.gridGraphicReverseScale[w])));j({defsSelection:S,gridAxesSize:p}).pipe(M(y),O(async I=>I)).subscribe(I=>{const k=[{id:x,width:I.gridAxesSize.width,height:I.gridAxesSize.height}];LY({defsSelection:I.defsSelection,clipPathData:k})});const _=c.pipe(M(y),R(I=>I.highlightTarget),Z()),P=j({graphicGSelection:C,visibleComputedAxesData:i,graphicReverseScale:D,fullChartParams:c,fullParams:u}).pipe(M(y),O(async I=>I),R(I=>MY({graphicGSelection:I.graphicGSelection,circleGClassName:v,circleClassName:$,visibleComputedAxesData:I.visibleComputedAxesData,fullParams:I.fullParams,fullChartParams:I.fullChartParams,graphicReverseScale:I.graphicReverseScale})));j({graphicSelection:P,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:_}).pipe(M(y),O(async I=>I)).subscribe(I=>{I.graphicSelection.on("mouseover",(k,w)=>{b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:I.highlightTarget,datum:w,gridIndex:w.gridIndex,series:I.SeriesDataMap.get(w.seriesLabel),seriesIndex:w.seriesIndex,seriesLabel:w.seriesLabel,group:I.GroupDataMap.get(w.groupLabel),groupIndex:w.groupIndex,groupLabel:w.groupLabel,event:k,data:I.computedData})}).on("mousemove",(k,w)=>{b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:I.highlightTarget,data:I.computedData,datum:w,gridIndex:w.gridIndex,series:I.SeriesDataMap.get(w.seriesLabel),seriesIndex:w.seriesIndex,seriesLabel:w.seriesLabel,group:I.GroupDataMap.get(w.groupLabel),groupIndex:w.groupIndex,groupLabel:w.groupLabel,event:k})}).on("mouseout",(k,w)=>{b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:I.highlightTarget,datum:w,gridIndex:w.gridIndex,series:I.SeriesDataMap.get(w.seriesLabel),seriesIndex:w.seriesIndex,seriesLabel:w.seriesLabel,group:I.GroupDataMap.get(w.groupLabel),groupIndex:w.groupIndex,groupLabel:w.groupLabel,event:k,data:I.computedData})}).on("click",(k,w)=>{b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:I.highlightTarget,datum:w,gridIndex:w.gridIndex,series:I.SeriesDataMap.get(w.seriesLabel),seriesIndex:w.seriesIndex,seriesLabel:w.seriesLabel,group:I.GroupDataMap.get(w.groupLabel),groupIndex:w.groupIndex,groupLabel:w.groupLabel,event:k,data:I.computedData})})});const A=u.pipe(M(y),R(I=>I.onlyShowHighlighted),Z());return j({graphicSelection:P,highlight:g.pipe(R(I=>I.map(k=>k.id))),onlyShowHighlighted:A,fullChartParams:c}).pipe(M(y),O(async I=>I)).subscribe(I=>{EY({selection:I.graphicSelection,ids:I.highlight,onlyShowHighlighted:I.onlyShowHighlighted,fullChartParams:I.fullChartParams})}),()=>{y.next(void 0)}},jD="Dots",RY={name:jD,defaultParams:db,layerIndex:cf,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})},kY=Ae(RY)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=GD(jD,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,event$:n.event$});return()=>{a.next(void 0),i()}}),IY=" - ",NY={listRectWidth:14,listRectHeight:14,listRectRadius:0};function VD(t,e){const n=t<e.colors[e.colorScheme].label.length?t:t%e.colors[e.colorScheme].label.length;return e.colors[e.colorScheme].label[n]}const Ii=(t,{rootSelection:e,legendLabels$:n,fullParams$:r,layout$:a,fullChartParams$:i,textSizePx$:o})=>{const s=Y(t,"root-position"),l=Y(t,"legend-card"),u=Y(t,"legend-list"),c=Y(t,"legend-item"),d=new K,f=j({legendLabels:n,fullChartParams:i}).pipe(M(d),O(async _=>_),R(_=>{const P=new Map;let A=0;return _.legendLabels.forEach((I,k)=>{if(!P.has(I)){const w=VD(A,_.fullChartParams);P.set(I,w),A++}}),P})),h=n.pipe(M(d),R(_=>{const P=new Set;let A=[];return _.forEach(I=>{P.has(I)?A.push(!1):A.push(!0),P.add(I)}),A})),p=r.pipe(M(d),R(_=>_.placement==="top"||_.placement==="top-start"||_.placement==="top-end"?"top":_.placement==="bottom"||_.placement==="bottom-start"||_.placement==="bottom-end"?"bottom":_.placement==="left"||_.placement==="left-start"||_.placement==="left-end"?"left":"right"),Z((_,P)=>_===P),ot(1)),g=r.pipe(M(d),R(_=>_.placement==="top-start"||_.placement==="bottom-start"||_.placement==="left-start"||_.placement==="right-start"?"start":_.placement==="top-end"||_.placement==="bottom-end"||_.placement==="left-end"||_.placement==="right-end"?"end":(_.placement==="top"||_.placement==="bottom"||_.placement==="left"||_.placement,"center")),Z((_,P)=>_===P),ot(1)),m=p.pipe(M(d),R(_=>_==="bottom"||_==="top"?"row":"column"),Z((_,P)=>_===P),ot(1)),b=j({fullParams:r,position:p,layout:a}).pipe(M(d),O(async _=>_),R(_=>{const P=_.fullParams.padding*2+_.fullParams.gap*2;return _.position==="bottom"||_.position==="top"?_.layout.rootWidth-P:_.layout.rootHeight-P})),y=j({layout:a,position:p,justify:g}).pipe(M(d),O(async _=>_),R(_=>{let P=0,A=0;return _.position==="bottom"?(A=_.layout.rootHeight,_.justify==="start"?P=0:_.justify==="center"?P=_.layout.rootWidth/2:_.justify==="end"&&(P=_.layout.rootWidth)):_.position==="right"?(P=_.layout.rootWidth,_.justify==="start"?A=0:_.justify==="center"?A=_.layout.rootHeight/2:_.justify==="end"&&(A=_.layout.rootHeight)):_.position==="top"?(A=0,_.justify==="start"?P=0:_.justify==="center"?P=_.layout.rootWidth/2:_.justify==="end"&&(P=_.layout.rootWidth)):_.position==="left"&&(P=0,_.justify==="start"?A=0:_.justify==="center"?A=_.layout.rootHeight/2:_.justify==="end"&&(A=_.layout.rootHeight)),{x:P,y:A}})).pipe(M(d),R(_=>e.selectAll(`g.${s}`).data([_]).join(P=>P.append("g").classed(s,!0).attr("transform",A=>`translate(${A.x}, ${A.y})`),P=>P.transition().attr("transform",A=>`translate(${A.x}, ${A.y})`),P=>P.remove()))),x=r.pipe(M(d),R(_=>_.labelList[0]?_.labelList[0]:NY)),v=j({visibleList:h,fullParams:r,fullChartParams:i,legendLabels:n,lineDirection:m,lineMaxSize:b,defaultListStyle:x,SeriesLabelColorMap:f,textSizePx:o}).pipe(M(d),O(async _=>_),R(_=>_.legendLabels.reduce((P,A,I)=>{if(!_.visibleList[I])return P;const k=A!==""?A:IY,w=Ts(k,_.textSizePx),F=_.textSizePx*1.5+w,T=_.SeriesLabelColorMap.get(A),B=P[0]&&P[0][0]?P[P.length-1][P[P.length-1].length-1]:null,{translateX:N,translateY:E,lineIndex:z,itemIndex:V}=((G,X,W)=>{let ct=0,ut=0,pt=0,Q=0;if(G.lineDirection==="column"){let nt=W?W.translateY+G.textSizePx+G.fullParams.gap:0;if(nt+G.textSizePx>G.lineMaxSize){pt=W.lineIndex+1,Q=0,ut=0;const lt=X[X.length-1].reduce((q,Tt)=>Tt.itemWidth>q?Tt.itemWidth:q,0);ct=W.translateX+lt+G.fullParams.gap}else pt=W?W.lineIndex:0,Q=W?W.itemIndex+1:0,ut=nt,ct=W?W.translateX:0}else{let nt=W?W.translateX+W.itemWidth+G.fullParams.gap:0;nt+F>G.lineMaxSize?(pt=W.lineIndex+1,Q=0,ct=0):(pt=W?W.lineIndex:0,Q=W?W.itemIndex+1:0,ct=nt),ut=(G.textSizePx+G.fullParams.gap)*pt}return{translateX:ct,translateY:ut,lineIndex:pt,itemIndex:Q}})(_,P,B);P[z]||(P[z]=[]);const J=_.fullParams.labelList[V]?_.fullParams.labelList[V]:_.defaultListStyle;return P[z].push({id:k,seriesLabel:k,seriesIndex:I,lineIndex:z,itemIndex:V,text:k,itemWidth:F,translateX:N,translateY:E,color:T,listRectWidth:J.listRectWidth,listRectHeight:J.listRectHeight,listRectRadius:J.listRectRadius}),P},[])),ot(1)),$=j({fullParams:r,fullChartParams:i,lineDirection:m,lengendItems:v,textSizePx:o}).pipe(M(d),O(async _=>_),R(_=>{const{width:P,height:A}=((I,k)=>{let w=0,F=0;if(!k.length||!k[0].length)return{width:w,height:F};const T=k[0][k[0].length-1];return I.lineDirection==="column"?(w=k.reduce((B,N)=>{const E=N.reduce((z,V)=>V.itemWidth>z?V.itemWidth:z,0);return B+E},0),w+=I.fullParams.gap*(k.length-1),F=T.translateY+I.textSizePx):(w=T.translateX+T.itemWidth,F=I.textSizePx*k.length+I.fullParams.gap*(k.length-1)),{width:w,height:F}})(_,_.lengendItems);return{direction:_.lineDirection,width:P,height:A,translateX:_.fullParams.gap,translateY:_.fullParams.gap}}),ot(1)),S=j({fullParams:r,position:p,justify:g,lengendList:$}).pipe(M(d),O(async _=>_),R(_=>{const P=_.lengendList.width+_.fullParams.gap*2,A=_.lengendList.height+_.fullParams.gap*2;let I=0,k=0;return _.position==="left"?_.justify==="start"?(I=_.fullParams.padding,k=_.fullParams.padding):_.justify==="center"?(I=_.fullParams.padding,k=-A/2):_.justify==="end"&&(I=_.fullParams.padding,k=-A-_.fullParams.padding):_.position==="right"?_.justify==="start"?(I=-P-_.fullParams.padding,k=_.fullParams.padding):_.justify==="center"?(I=-P-_.fullParams.padding,k=-A/2):_.justify==="end"&&(I=-P-_.fullParams.padding,k=-A-_.fullParams.padding):_.position==="top"?_.justify==="start"?(I=_.fullParams.padding,k=_.fullParams.padding):_.justify==="center"?(I=-P/2,k=_.fullParams.padding):_.justify==="end"&&(I=-P-_.fullParams.padding,k=_.fullParams.padding):_.justify==="start"?(I=_.fullParams.padding,k=-A-_.fullParams.padding):_.justify==="center"?(I=-P/2,k=-A-_.fullParams.padding):_.justify==="end"&&(I=-P-_.fullParams.padding,k=-A-_.fullParams.padding),{width:P,height:A,translateX:I,translateY:k}})),C=j({rootPositionSelection:y,fullParams:r,fullChartParams:i,legendCard:S}).pipe(M(d),O(async _=>_),R(_=>_.rootPositionSelection.selectAll("g").data([_.legendCard]).join(P=>P.append("g").classed(l,!0).attr("transform",A=>`translate(${A.translateX}, ${A.translateY})`),P=>P.transition().attr("transform",A=>`translate(${A.translateX}, ${A.translateY})`),P=>P.remove()).each((P,A,I)=>{H(I[A]).selectAll("rect").data([P]).join("rect").attr("width",k=>k.width).attr("height",k=>k.height).attr("fill",$t(_.fullParams.backgroundFill,_.fullChartParams)).attr("stroke",$t(_.fullParams.backgroundStroke,_.fullChartParams))}))),D=j({lengendCardSelection:C,fullParams:r,lengendList:$}).pipe(M(d),O(async _=>_),R(_=>_.lengendCardSelection.selectAll("g").data([_.lengendList]).join(P=>P.append("g").classed(u,!0).attr("transform",A=>`translate(${A.translateX}, ${A.translateY})`),P=>P.transition().attr("transform",A=>`translate(${A.translateX}, ${A.translateY})`),P=>P.remove())));return j({lengendListSelection:D,fullParams:r,fullChartParams:i,lengendItems:v,textSizePx:o}).pipe(M(d),O(async _=>_),R(_=>{const P=_.lengendItems[0]?_.lengendItems.flat():[];return _.lengendListSelection.selectAll(`g.${c}`).data(P).join(A=>A.append("g").classed(c,!0).attr("cursor","default"),A=>A,A=>A.remove()).attr("transform",(A,I)=>`translate(${A.translateX}, ${A.translateY})`).each((A,I,k)=>{const w=_.textSizePx/2,F=-A.listRectWidth/2,T=-A.listRectHeight/2;H(k[I]).selectAll("rect").data([A]).join("rect").attr("x",w).attr("y",w).attr("width",B=>B.listRectWidth).attr("height",B=>B.listRectHeight).attr("transform",B=>`translate(${F}, ${T})`).attr("fill",B=>B.color).attr("rx",B=>B.listRectRadius),H(k[I]).selectAll("text").data([A]).join(B=>B.append("text").attr("dominant-baseline","hanging"),B=>B,B=>B.remove()).attr("x",_.textSizePx*1.5).attr("font-size",_.fullChartParams.styles.textSize).attr("fill",B=>_.fullParams.textColorType==="label"?VD(B.seriesIndex,_.fullChartParams):$t(_.fullParams.textColorType,_.fullChartParams)).text(B=>B.text)})})).subscribe(),()=>{e.select(`g.${s}`).remove(),d.next(void 0)}},HD="GridLegend",zY={name:HD,defaultParams:yb,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},OY=Ae(zY)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.fullParams$.pipe(M(a),R(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),o=Ii(HD,{rootSelection:e,legendLabels$:n.seriesLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}});function XD(t,{text:e,radius:n,lineHeight:r,isBreakAll:a=!1,limit:i=0}){if(t==null||e==null){console.error("selection or text is not defined");return}n==null&&(n=t.node().getBBox().width/2);function o(h){let p;return a?p=h.split(""):p=h.split(/\s+/g),p[p.length-1]||p.pop(),p[0]||p.shift(),p}function s(h,p){return h&&p&&h.length>p&&(h=h.substring(0,p)+"..."),h}function l(h){var p;const g=document.createElement("canvas").getContext("2d");return((p=g==null?void 0:g.measureText(h))==null?void 0:p.width)??0}function u(h){const p=l(h.trim());return Math.sqrt(p*r)}function c(h,p){let g={width:0,text:""},m=1/0;const b=[];let y=" ";a&&(y="");for(let x=0,v=h.length;x<v;++x){const $=(g.text?g.text+y:"")+h[x],S=l($);(m+S)/2<p?(g.width=m=S,g.text=$):(m=l(h[x]),g={width:m,text:h[x]},b.push(g))}return b}function d(h){let p=0;for(let g=0,m=h.length;g<m;++g){const b=(Math.abs(g-m/2+.5)+.5)*r,y=h[g].width/2;p=Math.max(p,Math.sqrt(y**2+b**2))}return p}function f(h,p){i>0&&(p=s(p,i));const g=o(p),m=u(p),b=c(g,m),y=d(b);let x=h.select("text");x.size()||(x=h.append("text")),x.attr("transform",`translate(0,0) scale(${n/y})`);const v=x.selectAll("tspan").data(b),$=v.enter().append("tspan").attr("x",0).merge(v).attr("y",(S,C)=>(C-b.length/2+.8)*r).text(S=>S.text);return v.exit().remove(),v.merge($)}return f(t,e)}function Sm(t,{textArr:e,textSizePx:n,groupAxisPosition:r,isContainerRotated:a}){t.text(null);const i=Number(t.attr("x"));let o=Number(t.attr("y"));a&&r==="top"&&(o-=(e.length-1)*n),t.selectAll("tspan").data(e).join("tspan").attr("x",i).attr("y",(s,l)=>o+l*n).text(s=>s)}function WD(t,{textArr:e,textSizePx:n,quadrant:r}){t.selectAll("tspan").data(e).join("tspan").attr("x",0).attr("y",(a,i)=>r==1||r==2?-(e.length-1-i)*n:i*n).text(a=>a)}const Dm=6;function GY(t,e){return t.map((n,r)=>{const a=vr(n,e),i=typeof a=="string"?a.split(`
68
+ `):[a];return{text:a,textArr:i}})}function jY({selection:t,groupingLabelClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:a,fullDataFormatter:i,chartParams:o,textReverseTransform:s}){const l=n.tickPadding+n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,d=0;i.groupAxis.position==="bottom"?(d=u,i.valueAxis.position==="left"?c=l:i.valueAxis.position==="right"&&(c=-l)):i.groupAxis.position==="top"?(d=-u,i.valueAxis.position==="left"?c=l:i.valueAxis.position==="right"&&(c=-l)):i.groupAxis.position==="left"?(c=-l,i.valueAxis.position==="bottom"?d=-u:i.valueAxis.position==="top"&&(d=u)):i.groupAxis.position==="right"&&(c=l,i.valueAxis.position==="bottom"?d=-u:i.valueAxis.position==="top"&&(d=u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{H(p[h]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",o.styles.textSize).style("fill",$t(n.labelColorType,o)).style("transform",s).attr("x",c).attr("y",d).text(g=>i.groupAxis.label)}).attr("transform",f=>`translate(${a.width}, 0)`)}function VY({selection:t,xAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:a,fullDataFormatter:i,chartParams:o,groupScale:s,groupScaleDomain:l,groupLabelData:u,textReverseTransformWithRotate:c,textSizePx:d}){const f=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0),h=Math.floor(l[1])-Math.ceil(l[0])+1;let p=0,g=0;i.groupAxis.position==="left"?(p=0,g=-n.tickPadding):i.groupAxis.position==="right"?(p=0,g=n.tickPadding):i.groupAxis.position==="bottom"?(n.tickFullLine==!0?p=-n.tickPadding:p=-n.tickPadding-Dm,g=0):i.groupAxis.position==="top"&&(n.tickFullLine==!0?p=n.tickPadding:p=n.tickPadding-Dm,g=-0);const m=Bh(s).scale(s).ticks(n.ticks==="all"||n.ticks>h?h:n.ticks).tickSize(n.tickFullLine==!0?-a.height:Dm).tickSizeOuter(0).tickFormat(y=>{var x;return((x=u[y])==null?void 0:x.text)??""}).tickPadding(p),b=f.transition().duration(100).ease($n).call(m).on("end",(y,x)=>{f.selectAll(".tick text").each((v,$,S)=>{var C;const D=((C=u[v])==null?void 0:C.textArr)??[];Sm(H(S[$]),{textArr:D,textSizePx:d,groupAxisPosition:i.groupAxis.position,isContainerRotated:!0})})});return b.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?$t(n.tickColorType,o):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),b.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?$t(n.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),f.selectAll("text").attr("font-size",o.styles.textSize).attr("fill",$t(n.tickTextColorType,o)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("x",g).style("transform",c).attr("dy",0),f}const UD=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:a,fullChartParams$:i,gridAxesTransform$:o,gridAxesReverseTransform$:s,gridAxesSize$:l,gridContainerPosition$:u,isSeriesSeprate$:c,textSizePx$:d})=>{const f=new K,h=Y(t,"container"),p=Y(t,"xAxisG"),g=Y(t,"xAxis"),m=Y(t,"groupingLabel"),b=j({computedData:n.pipe(Z((A,I)=>A.length===I.length)),isSeriesSeprate:c}).pipe(M(f),O(async A=>A),R(A=>A.isSeriesSeprate?A.computedData:[A.computedData[0]]),R((A,I)=>e.selectAll(`g.${h}`).data(A,k=>k[0]?k[0].seriesIndex:I).join("g").classed(h,!0))),y=b.pipe(M(f),R((A,I)=>A.selectAll(`g.${p}`).data([p]).join("g").classed(p,!0)));j({containerSelection:b,gridContainerPosition:u}).pipe(M(f),O(async A=>A)).subscribe(A=>{A.containerSelection.attr("transform",(I,k)=>{const w=A.gridContainerPosition[k]??A.gridContainerPosition[0],F=w.translate,T=w.scale;return`translate(${F[0]}, ${F[1]}) scale(${T[0]}, ${T[1]})`})}),j({axisSelection:y,gridAxesTransform:o}).pipe(M(f),O(async A=>A)).subscribe(A=>{A.axisSelection.style("transform",A.gridAxesTransform.value)});const x=j({gridAxesReverseTransform:s,gridContainerPosition:u}).pipe(M(f),O(async A=>A),R(A=>{const I=`rotateX(${A.gridAxesReverseTransform.rotateX}deg) rotateY(${A.gridAxesReverseTransform.rotateY}deg)`,k=`rotate(${A.gridAxesReverseTransform.rotate}deg)`,w=`scale(${1/A.gridContainerPosition[0].scale[0]}, ${1/A.gridContainerPosition[0].scale[1]})`;return`${I} ${k} ${w}`}),Z()),v=j({textReverseTransform:x,fullParams:r}).pipe(M(f),O(async A=>A),R(A=>`${A.textReverseTransform} rotate(${A.fullParams.tickTextRotate}deg)`)),$=j({fullDataFormatter:a,gridAxesSize:l,computedData:n}).pipe(M(f),O(async A=>A),R(A=>{const I=A.computedData[0]?A.computedData[0].length-1:0,k=A.fullDataFormatter.groupAxis.scaleDomain[0]-A.fullDataFormatter.groupAxis.scalePadding,w=A.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?I+A.fullDataFormatter.groupAxis.scalePadding:A.fullDataFormatter.groupAxis.scaleDomain[1]+A.fullDataFormatter.groupAxis.scalePadding;return[k,w]}),ot(1)),S=j({groupScaleDomain:$,gridAxesSize:l}).pipe(M(f),O(async A=>A),R(A=>fa().domain(A.groupScaleDomain).range([0,A.gridAxesSize.width]))),C=n.pipe(R(A=>(A[0]??[]).map(I=>I.groupLabel))),D=j({fullDataFormatter:a,fullParams:r}).pipe(M(f),O(async A=>A),R(A=>{let I="middle",k="hanging";return A.fullDataFormatter.groupAxis.position==="bottom"?(I=A.fullParams.tickTextRotate?"end":"middle",k="hanging"):A.fullDataFormatter.groupAxis.position==="top"?(I=A.fullParams.tickTextRotate?"start":"middle",k="auto"):A.fullDataFormatter.groupAxis.position==="left"?(I="end",k="middle"):A.fullDataFormatter.groupAxis.position==="right"&&(I="start",k="middle"),{textAnchor:I,dominantBaseline:k}})),_=a.pipe(M(f),R(A=>{let I="start",k="hanging";return A.groupAxis.position==="bottom"?k="hanging":A.groupAxis.position==="top"?k="auto":A.groupAxis.position==="left"?I="end":A.groupAxis.position==="right"&&(I="start"),A.valueAxis.position==="left"?I="start":A.valueAxis.position==="right"?I="end":A.valueAxis.position==="bottom"?k="auto":A.valueAxis.position==="top"&&(k="hanging"),{textAnchor:I,dominantBaseline:k}})),P=j({groupLabels:C,fullParams:r}).pipe(M(f),O(async A=>A),R(A=>GY(A.groupLabels,A.fullParams.tickFormat)));return j({axisSelection:y,fullParams:r,tickTextAlign:D,axisLabelAlign:_,gridAxesSize:l,fullDataFormatter:a,chartParams:i,groupScale:S,groupScaleDomain:$,groupLabelData:P,textReverseTransform:x,textReverseTransformWithRotate:v,textSizePx:d}).pipe(M(f),O(async A=>A)).subscribe(A=>{VY({selection:A.axisSelection,xAxisClassName:g,fullParams:A.fullParams,tickTextAlign:A.tickTextAlign,gridAxesSize:A.gridAxesSize,fullDataFormatter:A.fullDataFormatter,chartParams:A.chartParams,groupScale:A.groupScale,groupScaleDomain:A.groupScaleDomain,groupLabelData:A.groupLabelData,textReverseTransformWithRotate:A.textReverseTransformWithRotate,textSizePx:A.textSizePx}),jY({selection:A.axisSelection,groupingLabelClassName:m,fullParams:A.fullParams,axisLabelAlign:A.axisLabelAlign,gridAxesSize:A.gridAxesSize,fullDataFormatter:A.fullDataFormatter,chartParams:A.chartParams,textReverseTransform:A.textReverseTransform})}),()=>{f.next(void 0)}},YD="GroupAxis",HY={name:YD,defaultParams:Sd,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"}})},XY=Ae(HY)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=UD(YD,{selection:t,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),i()}}),WY=6;function UY({selection:t,textClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:a,fullDataFormatter:i,fullChartParams:o,textReverseTransform:s}){const l=n.tickPadding-n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,d=0;i.groupAxis.position==="bottom"?(d=-u,i.valueAxis.position==="left"?c=-l:i.valueAxis.position==="right"&&(c=l)):i.groupAxis.position==="top"?(d=u,i.valueAxis.position==="left"?c=-l:i.valueAxis.position==="right"&&(c=l)):i.groupAxis.position==="left"?(c=l,i.valueAxis.position==="bottom"?d=u:i.valueAxis.position==="top"&&(d=-u)):i.groupAxis.position==="right"&&(c=-l,i.valueAxis.position==="bottom"?d=u:i.valueAxis.position==="top"&&(d=-u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{H(p[h]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",o.styles.textSize).style("fill",$t(n.labelColorType,o)).style("transform",s).attr("x",c).attr("y",d).text(g=>i.valueAxis.label)}).attr("transform",f=>`translate(0, ${a.height})`)}function YY({selection:t,yAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:a,fullDataFormatter:i,fullChartParams:o,valueScale:s,textReverseTransformWithRotate:l,filteredMinMaxValue:u}){const c=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let d=0,f=0;i.valueAxis.position==="left"?(d=n.tickPadding,f=0):i.valueAxis.position==="right"?(d=-n.tickPadding,f=0):i.valueAxis.position==="bottom"?(d=0,f=n.tickPadding):i.valueAxis.position==="top"&&(d=0,f=-n.tickPadding);const h=Mh(s).scale(s).ticks(n.ticks).tickFormat(m=>vr(m,n.tickFormat)).tickSize(n.tickFullLine==!0?-a.width:WY).tickPadding(d),p=c.transition().duration(100).ease($n).call(h);p.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?$t(n.tickColorType,o):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),p.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?$t(n.axisLineColorType,o):"none").style("shape-rendering","crispEdges");const g=c.selectAll("text").attr("font-size",o.styles.textSize).style("color",$t(n.tickTextColorType,o)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("y",f).attr("dy",0);return g.style("transform",l),(i.valueAxis.position==="bottom"||i.valueAxis.position==="top")&&g.attr("dy",0),c}const Ni=(t,{selection:e,computedData$:n,filteredMinMaxValue$:r,fullParams$:a,fullDataFormatter$:i,fullChartParams$:o,gridAxesSize$:s,gridAxesTransform$:l,gridAxesReverseTransform$:u,gridContainerPosition$:c,isSeriesSeprate$:d})=>{const f=new K,h=Y(t,"yAxisG"),p=Y(t,"yAxis"),g=Y(t,"text"),m=jU({selection:e,pluginName:t,computedData$:n,gridContainerPosition$:c,isSeriesSeprate$:d}).pipe(M(f),R((S,C)=>S.selectAll(`g.${h}`).data([h]).join("g").classed(h,!0)));j({axisSelection:m,gridAxesTransform:l}).pipe(M(f),O(async S=>S)).subscribe(S=>{S.axisSelection.style("transform",S.gridAxesTransform.value)});const b=j({gridAxesReverseTransform:u,gridContainerPosition:c}).pipe(M(f),O(async S=>S),R(S=>{const C=`rotateX(${S.gridAxesReverseTransform.rotateX}deg) rotateY(${S.gridAxesReverseTransform.rotateY}deg)`,D=`rotate(${S.gridAxesReverseTransform.rotate}deg)`,_=`scale(${1/S.gridContainerPosition[0].scale[0]}, ${1/S.gridContainerPosition[0].scale[1]})`;return`${C} ${D} ${_}`}),Z()),y=j({textReverseTransform:b,fullParams:a}).pipe(M(f),O(async S=>S),R(S=>`${S.textReverseTransform} rotate(${S.fullParams.tickTextRotate}deg)`)),x=new mt(S=>{j({fullDataFormatter:i,gridAxesSize:s,filteredMinMaxValue:r}).pipe(M(f),O(async C=>C)).subscribe(C=>{let D=C.filteredMinMaxValue[1],_=C.filteredMinMaxValue[0];D===_&&D===0&&(D=1);const P=yh({maxValue:D,minValue:_,axisWidth:C.gridAxesSize.height,scaleDomain:C.fullDataFormatter.valueAxis.scaleDomain,scaleRange:C.fullDataFormatter.valueAxis.scaleRange});S.next(P)})}),v=j({fullDataFormatter:i,fullParams:a}).pipe(M(f),O(async S=>S),R(S=>{let C="start",D="hanging";return S.fullDataFormatter.valueAxis.position==="left"?(C="end",D="middle"):S.fullDataFormatter.valueAxis.position==="right"?(C="start",D="middle"):S.fullDataFormatter.valueAxis.position==="bottom"?(C=S.fullParams.tickTextRotate?"end":"middle",D="hanging"):S.fullDataFormatter.valueAxis.position==="top"&&(C=S.fullParams.tickTextRotate?"start":"middle",D="auto"),{textAnchor:C,dominantBaseline:D}})),$=i.pipe(M(f),R(S=>{let C="start",D="hanging";return S.groupAxis.position==="bottom"?D="auto":S.groupAxis.position==="top"?D="hanging":S.groupAxis.position==="left"?C="start":S.groupAxis.position==="right"&&(C="end"),S.valueAxis.position==="left"?C="end":S.valueAxis.position==="right"?C="start":S.valueAxis.position==="bottom"?D="hanging":S.valueAxis.position==="top"&&(D="auto"),{textAnchor:C,dominantBaseline:D}}));return j({axisSelection:m,fullParams:a,tickTextAlign:v,axisLabelAlign:$,computedData:n,gridAxesSize:s,fullDataFormatter:i,fullChartParams:o,valueScale:x,textReverseTransform:b,textReverseTransformWithRotate:y,filteredMinMaxValue:r}).pipe(M(f),O(async S=>S)).subscribe(S=>{YY({selection:S.axisSelection,yAxisClassName:p,fullParams:S.fullParams,tickTextAlign:S.tickTextAlign,gridAxesSize:S.gridAxesSize,fullDataFormatter:S.fullDataFormatter,fullChartParams:S.fullChartParams,valueScale:S.valueScale,textReverseTransformWithRotate:S.textReverseTransformWithRotate,filteredMinMaxValue:S.filteredMinMaxValue}),UY({selection:S.axisSelection,textClassName:g,fullParams:S.fullParams,axisLabelAlign:S.axisLabelAlign,gridAxesSize:S.gridAxesSize,fullDataFormatter:S.fullDataFormatter,fullChartParams:S.fullChartParams,textReverseTransform:S.textReverseTransform})}),()=>{f.next(void 0)}},qD="ValueAxis",qY={name:qD,defaultParams:pl,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},ZY=Ae(qY)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=Ni(qD,{selection:t,computedData$:n.computedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{a.next(void 0),i()}}),ZD="StackedValueAxis",JY={name:ZD,defaultParams:gb,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},KY=Ae(JY)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=Ni(ZD,{selection:t,computedData$:n.computedStackedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{a.next(void 0),i()}});function JD(t,e){const n=e.textSizePx*1.5,r=(t==null?[]:Array.isArray(t)?t:typeof t=="string"?t.split(`
69
+ `):[t]).filter(a=>a!="").map((a,i)=>`<tspan x="0" y="${i*n}">${a}</tspan>`).join("");return r?`<text font-size="${e.textSize}" fill="${e.textColor}" x="0" y="0" style="dominant-baseline:text-before-edge">
70
+ ${r}
71
+ </text>`:""}function QY({rootSelection:t,pluginName:e,gClassName:n,boxClassName:r,rootWidth:a,rootHeight:i,svgString:o,tooltipStyle:s,event:l}){t.interrupt("fadeout");const u=5,c=o?[o]:[],d=o?[s]:[],f=t.selectAll(`g.${n}`).data(c).join($=>$.append("g").classed(n,!0).attr("pointer-events","none"),$=>$,$=>$.style("opacity",0).remove()).attr("transform",()=>`translate(${l.offsetX}, ${l.offsetY})`).selectAll(`g.${r}`).data(d).join($=>$.append("g").classed(Y(e,"box"),!0)),h=f.selectAll("rect").data(d).join($=>$.append("rect").attr("rx",u).attr("ry",u)).attr("fill",$=>$.backgroundColor).attr("stroke",$=>$.strokeColor).attr("opacity",$=>$.backgroundOpacity),p=f.selectAll("g").data(c).join($=>$.append("g").classed(Y(e,"content"),!0).attr("transform",()=>`translate(${s.padding}, ${s.padding})`));c.length&&OU(p,c[0]);const g=p!=null&&p.node()?$D(p):{width:0,height:0};h.attr("width",g.width+s.padding*2).attr("height",g.height+s.padding*2);const m=f!=null&&f.node()?$D(f):{width:0,height:0},b=a-m.width,y=i-m.height,x=l.offsetX+s.offset[0]>b?b-l.offsetX:s.offset[0],v=l.offsetY+s.offset[1]>y?y-l.offsetY:s.offset[1];f.attr("transform",$=>`translate(${x}, ${v})`),f.attr("transform",$=>`translate(${x}, ${v})`)}const zi=(t,{rootSelection:e,fullParams$:n,fullChartParams$:r,layout$:a,event$:i})=>{const o=new K,s=Y(t,"g"),l=Y(t,"box"),u=i.pipe(M(o),ka(y=>y.eventName==="mouseover"||y.eventName==="mousemove")),c=i.pipe(M(o),ka(y=>y.eventName==="mouseout")),d=CL(r),f=j({fullChartParams:r,fullParams:n,textSizePx:d}).pipe(M(o),O(async y=>y),R(y=>({backgroundColor:$t(y.fullParams.backgroundColorType,y.fullChartParams),backgroundOpacity:y.fullParams.backgroundOpacity,strokeColor:$t(y.fullParams.strokeColorType,y.fullChartParams),offset:y.fullParams.offset,padding:y.fullParams.padding,textSize:y.fullChartParams.styles.textSize,textSizePx:y.textSizePx,textColor:$t(y.fullParams.textColorType,y.fullChartParams),seriesColors:y.fullChartParams.colors[y.fullChartParams.colorScheme].label}))),h=j({fullParams:n,tooltipStyle:f}).pipe(M(o),O(async y=>y),R(y=>x=>{const v=y.fullParams.renderFn(x,{utils:{toCurrency:GU,measureTextWidth:Ts},styles:y.tooltipStyle});if(typeof v=="string"){const $=v.trim();if($.slice(0,1)==="<"&&$.slice($.length-1,$.length)===">")return v;{const S=v.split(`
72
+ `);return JD(S,y.tooltipStyle)}}else if(Array.isArray(v))return JD(v,y.tooltipStyle);return""})),p=j({event:u,contentRenderFn:h}).pipe(M(o),O(async y=>y),R(y=>y.contentRenderFn(y.event))),g=c.pipe(M(o),R(y=>"")),m=zd(p,g).pipe(M(o),Z((y,x)=>y===x)),b=zd(u,c).pipe(M(o),R(y=>y.event));return j({svgString:m,eventTooltip:b,layout:a,tooltipStyle:f}).pipe(M(o),O(async y=>y)).subscribe(y=>{QY({rootSelection:e,pluginName:t,gClassName:s,boxClassName:l,rootWidth:y.layout.rootWidth,rootHeight:y.layout.rootHeight,svgString:y.svgString,tooltipStyle:y.tooltipStyle,event:y.eventTooltip})}),()=>{o.next(void 0)}},KD="GridTooltip",tq={name:KD,defaultParams:Dd,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},eq=Ae(tq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(KD,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),nq="GroupZoom",rq={name:nq,defaultParams:mb,layerIndex:SD,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})},aq=Ae(rq)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new K;let o={k:1,x:0,y:0};const s=r.computedData$.pipe(R(c=>c[0]?c[0].length-1:0),Z()),l=r.fullDataFormatter$.pipe(R(c=>c.groupAxis),uo()),u=j({initGroupAxis:l,groupMaxIndex:s,layout:r.layout$,axisSize:r.gridAxesSize$}).pipe(M(i),O(async c=>c),R(c=>{const d=c.initGroupAxis.scaleDomain[0]-c.initGroupAxis.scalePadding,f=c.initGroupAxis.scaleDomain[1]==="max"?c.groupMaxIndex+c.initGroupAxis.scalePadding:c.initGroupAxis.scaleDomain[1]+c.initGroupAxis.scalePadding;return yh({maxValue:c.groupMaxIndex,minValue:0,axisWidth:c.axisSize.width,scaleDomain:[d,f],scaleRange:[0,1]})}));return j({initGroupScale:u,fullDataFormatter:r.fullDataFormatter$,groupMaxIndex:s}).pipe(M(i),O(async c=>c)).subscribe(c=>{const d=c.initGroupScale.copy(),f=Un().on("zoom",function(h){const p=h.transform,g=y=>{const x=Math.round(y);return Math.min(c.groupMaxIndex,Math.max(0,x))},m=c.fullDataFormatter.groupAxis.position==="bottom"||c.fullDataFormatter.groupAxis.position==="top"?p.rescaleX(d).domain().map(g):p.rescaleY(d).domain().map(g);m[0]<=0&&m[1]>=c.groupMaxIndex?p.k<o.k&&(p.k=o.k,p.x=o.x,p.y=o.y):m[1]-m[0]<=1&&p.k>o.k&&(p.k=o.k,p.x=o.x,p.y=o.y),o.k=p.k,o.x=p.x,o.y=p.y;const b={...c.fullDataFormatter,groupAxis:{...c.fullDataFormatter.groupAxis,scaleDomain:m}};a.dataFormatter$.next(b)});e.call(f)}),()=>{i.next(void 0),e.call(Un().on("zoom",null))}}),df="GroupAux",Cm=Y(df,"label-box"),iq={name:df,defaultParams:Ad,layerIndex:DD,validator:(t,{validateColumns:e})=>e(t,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}})};function oq({groupLabel:t,axisX:e,axisHeight:n,fullParams:r}){return r.showLine&&t?[{id:t,x1:e,x2:e,y1:0,y2:n}]:[]}function sq({groupLabel:t,axisX:e,fullParams:n,textSizePx:r,rowAmount:a}){const i=vr(t,n.labelTextFormat),o=i.split(`
73
+ `),s=o.reduce((c,d)=>d.length>c.length?d:c,""),l=Ts(s,r),u=r*o.length;return n.showLabel&&t?[{id:t,x:e,y:-n.labelPadding*a,text:i,textArr:o,textWidth:l,textHeight:u}]:[]}function lq({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:a}){const i=Y(e,"auxline");return t.selectAll(`line.${i}`).data(n).join(o=>o.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),o=>o.transition().duration(50).attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),o=>o.remove()).style("stroke",o=>$t(r.lineColorType,a)).style("stroke-dasharray",r.lineDashArray??"none")}function uq(t){t.selectAll("line").data([]).exit().remove()}function cq({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:a,textReverseTransformWithRotate:i,textSizePx:o}){return t.selectAll(`g.${Cm}`).data(e).join(s=>s.append("g").classed(Cm,!0).style("cursor","pointer").attr("transform",(l,u)=>`translate(${l.x}, ${l.y})`),s=>s.transition().duration(50).attr("transform",(l,u)=>`translate(${l.x}, ${l.y})`),s=>s.remove()).each((s,l,u)=>{const c=s.textWidth+12,d=s.textHeight+6;let f=-c/2,h=-2,p=f,g=h-3;r.groupAxis.position==="bottom"?(f=n.labelRotate?-c+d:-c/2,h=2,p=f,g=h-3):r.groupAxis.position==="left"?(f=-c+2,h=-d/2,p=f,g=h-3,n.labelRotate&&(g+=d)):r.groupAxis.position==="right"?(f=-2,h=-d/2,p=f,g=h-3,n.labelRotate&&(g+=d)):r.groupAxis.position==="top"&&(f=n.labelRotate?-c+d:-c/2,h=-d+6,p=-d,g=h-3),H(u[l]).selectAll("rect").data([s]).join(m=>m.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),m=>m,m=>m.remove()).attr("width",m=>`${c}px`).attr("height",`${d}px`).attr("fill",m=>$t(n.labelColorType,a)).attr("x",p).attr("y",g).style("transform",i),H(u[l]).selectAll("text").data([s]).join(m=>m.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),m=>m,m=>m.remove()).style("transform",i).attr("fill",m=>$t(n.labelTextColorType,a)).attr("font-size",a.styles.textSize).attr("x",p+6).attr("y",g+3).each((m,b,y)=>{Sm(H(y[b]),{textArr:s.textArr,textSizePx:o,groupAxisPosition:r.groupAxis.position,isContainerRotated:!1})})})}function fq(t){t.selectAll(`g.${Cm}`).data([]).exit().remove()}const dq=Ae(iq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K;let o=!1;const s=e.insert("rect","g").classed(Y(df,"rect"),!0).attr("opacity",0),{axesSelection$:l}=ma({selection:t,pluginName:df,clipPathID:"test",seriesLabels$:a.isSeriesSeprate$.pipe(O(y=>Mr(()=>y,a.seriesLabels$,a.seriesLabels$.pipe(R(x=>[x[0]]))))),gridContainerPosition$:a.gridContainerPosition$,gridAxesTransform$:a.gridAxesTransform$,gridGraphicTransform$:a.gridGraphicTransform$});a.layout$.pipe(M(i)).subscribe(y=>{s.attr("width",y.rootWidth).attr("height",y.rootHeight)});const u=j({groupScaleDomainValue:a.groupScaleDomainValue$,gridAxesSize:a.gridAxesSize$}).pipe(M(i),O(async y=>y),R(y=>fa().domain(y.groupScaleDomainValue).range([0,y.gridAxesSize.width]))),c=a.fullChartParams$.pipe(M(i),R(y=>y.highlightTarget),Z()),d=ws(e,"mousemove").pipe(M(i)),f=j({gridAxesReverseTransform:a.gridAxesReverseTransform$,gridContainerPosition:a.gridContainerPosition$}).pipe(M(i),O(async y=>y),R(y=>{const x=`rotateX(${y.gridAxesReverseTransform.rotateX}deg) rotateY(${y.gridAxesReverseTransform.rotateY}deg)`,v=`rotate(${y.gridAxesReverseTransform.rotate}deg)`,$=`scale(${1/y.gridContainerPosition[0].scale[0]}, ${1/y.gridContainerPosition[0].scale[1]})`;return`${x} ${v} ${$}`}),Z()),h=j({textReverseTransform:f,fullParams:a.fullParams$}).pipe(M(i),O(async y=>y),R(y=>`${y.textReverseTransform} rotate(${y.fullParams.labelRotate}deg)`)),p=a.gridContainerPosition$.pipe(M(i),R(y=>y.reduce((x,v)=>v.columnIndex>x?v.columnIndex:x,0)+1),Z()),g=a.gridContainerPosition$.pipe(M(i),R(y=>y.reduce((x,v)=>v.rowIndex>x?v.rowIndex:x,0)+1),Z()),m=VU({rootSelection:e,fullDataFormatter$:a.fullDataFormatter$,gridAxesSize$:a.gridAxesSize$,computedData$:a.computedData$,fullChartParams$:a.fullChartParams$,gridContainerPosition$:a.gridContainerPosition$,layout$:a.layout$}).pipe(M(i));j({axesSelection:l,columnAmount:p,rowAmount:g,layout:a.layout$,rootMousemove:d,gridGroupPosition:m,computedData:a.computedData$,groupScale:u,gridAxesSize:a.gridAxesSize$,fullParams:a.fullParams$,fullDataFormatter:a.fullDataFormatter$,fullChartParams:a.fullChartParams$,highlightTarget:c,textReverseTransformWithRotate:h,GroupDataMap:a.GroupDataMap$,textSizePx:a.textSizePx$}).pipe(M(i),O(async y=>y)).subscribe(y=>{const{groupIndex:x,groupLabel:v}=y.gridGroupPosition,$=y.groupScale(x)??0,S=oq({groupLabel:v,axisX:$,axisHeight:y.gridAxesSize.height,fullParams:y.fullParams});lq({selection:y.axesSelection,pluginName:n,lineData:S,fullParams:y.fullParams,fullChartParams:y.fullChartParams});const C=sq({groupLabel:v,axisX:$,fullParams:y.fullParams,textSizePx:y.textSizePx,rowAmount:y.rowAmount});cq({selection:y.axesSelection,labelData:C,fullParams:y.fullParams,fullDataFormatter:y.fullDataFormatter,fullChartParams:y.fullChartParams,textReverseTransformWithRotate:y.textReverseTransformWithRotate,textSizePx:y.textSizePx}).on("mouseover",(D,_)=>{D.stopPropagation(),o=!0,r.event$.next({type:"grid",pluginName:n,eventName:"mouseover",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:D,data:y.computedData})}).on("mousemove",(D,_)=>{D.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"mousemove",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:D,data:y.computedData})}).on("mouseout",(D,_)=>{D.stopPropagation(),o=!1,r.event$.next({type:"grid",pluginName:n,eventName:"mouseout",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:D,data:y.computedData})}).on("click",(D,_)=>{D.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"click",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:D,data:y.computedData})})});const b=ws(s,"mouseout").pipe(M(i));return j({rootRectMouseout:b,axesSelection:l}).pipe(M(i),O(async y=>y)).subscribe(y=>{setTimeout(()=>{o!=!0&&(uq(y.axesSelection),fq(y.axesSelection))})}),()=>{i.next(void 0),s.remove()}}),QD={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,gridList:[{listRectWidth:14,listRectHeight:14,listRectRadius:0}],textColorType:"primary"},Pm={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:[0]};Pm.tickFormat.toString=()=>"text => text";const Bs={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:"all"};Bs.tickFormat.toString=()=>`num => {
74
+ if (num === null || Number.isNaN(num) == true) {
75
+ return num || 0
76
+ }
77
+ const parts = num.toString().split('.')
78
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
79
+ return parts.join('.')
80
+ }`;const hq={...Bs},tC={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1,gridIndexes:[0]},eC={barWidth:0,barGroupPadding:10,barRadius:!1,gridIndexes:[0]},nC={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0],gridIndexes:[0]},rC={lineCurve:"curveLinear",lineWidth:2,gridIndexes:[1]},aC={lineCurve:"curveLinear",linearGradientOpacity:[1,0],gridIndexes:[1]},iC={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1,gridIndexes:[1]},Fm={firstAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},secondAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},gridIndexes:[0,1]},oC={...Fm},Tm={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,a=e.textSizePx/2-r/2,i=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,o=n.measureTextWidth(t.groupLabel,e.textSizePx),s=t.group.reduce((c,d)=>{const f=`${d.seriesLabel}${n.toCurrency(d.value)}`,h=n.measureTextWidth(f,e.textSizePx);return h>c?h:c},0),l=Math.max(o,s)+e.textSizePx*3,u=t.group.map((c,d)=>{const f=d*e.textSizePx*1.5,h=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
81
+ <rect width="${r}" height="${r}" x="${a}" y="${f+a}" rx="${r/2}" fill="${c.color}"></rect>
82
+ <text x="${e.textSizePx*1.5}" y="${f}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
83
+ <tspan font-weight="${h?"bold":""}">${c.seriesLabel}</tspan>
84
+ <tspan font-weight="bold" text-anchor="end" x="${l}">${n.toCurrency(c.value)}</tspan>
85
+ </text>
86
+ </g>`}).join("");return`${i}
87
+ ${u}`}};Tm.renderFn.toString=()=>`(eventData, { styles, utils }) => {
88
+ const bulletWidth = styles.textSizePx * 0.7
89
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
90
+
91
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
92
+ const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
93
+ const listTextWidth = eventData.group.reduce((acc, group) => {
94
+ const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
95
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
96
+ return _maxTextWidth > acc ? _maxTextWidth : acc
97
+ }, 0)
98
+ const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
99
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
100
+ const contentSvg = eventData.group
101
+ .map((group, i) => {
102
+ const y = i * styles.textSizePx * 1.5
103
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
104
+ return \`<g transform="translate(0, \${styles.textSizePx * 2})">
105
+ <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
106
+ <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
107
+ <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
108
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
109
+ </text>
110
+ </g>\`
111
+ })
112
+ .join('')
113
+ return \`\${titleSvg}
114
+ \${contentSvg}\`
115
+ }`;const sC="MultiGridLegend",pq={name:sC,defaultParams:QD,layerIndex:Ri,validator:(t,{validateColumns:e})=>{const n=e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},gridList:{toBeTypes:["object[]"]},textColorType:{toBeOption:"ColorType"}});if(t.gridList){const r=t.gridList.map((a,i)=>e(a,{listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]}})).find(a=>a.status==="error");if(r)return r}return n}},gq=Me(pq)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.multiGridEachDetail$.pipe(R(u=>u.map(c=>c.seriesLabels$)),O(u=>j(u).pipe(O(async c=>c))),R(u=>u.flat())),o=j({fullParams:n.fullParams$,computedData:n.computedData$}).pipe(M(a),O(async u=>u),R(u=>u.computedData.map((c,d)=>{const f=Gd(u.fullParams.gridList[d]??{},{listRectWidth:u.fullParams.listRectWidth,listRectHeight:u.fullParams.listRectHeight,listRectRadius:u.fullParams.listRectRadius});return c.map(h=>f)}).flat())),s=j({fullParams:n.fullParams$,seriesList:o}).pipe(M(a),O(async u=>u),R(u=>({...u.fullParams,labelList:u.seriesList}))),l=Ii(sC,{rootSelection:e,legendLabels$:i,fullParams$:s,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),l()}}),ln=t=>{const e=t.fullParams$.pipe(R(n=>n.gridIndexes),Z(),ot(1));return j({multiGridEachDetail:t.multiGridEachDetail$,gridIndexes:e}).pipe(O(async n=>n),R(n=>n.gridIndexes==="all"?n.multiGridEachDetail:n.gridIndexes.map(r=>n.multiGridEachDetail[r]??n.multiGridEachDetail[0])))},wm="MultiBars",lC=Y(wm,"grid"),mq={name:wm,defaultParams:tC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},yq=Me(mq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${lC}`).data(o).join("g").attr("class",lC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=Am(wm,{selection:c,computedData$:s.computedData$,visibleComputedData$:s.visibleComputedData$,computedAxesData$:s.computedAxesData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridGraphicReverseScale$:s.gridGraphicReverseScale$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Bm="MultiStackedBars",uC=Y(Bm,"grid"),bq={name:Bm,defaultParams:eC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},xq=Me(bq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${uC}`).data(o).join("g").attr("class",uC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=RD(Bm,{selection:c,computedData$:s.computedData$,visibleComputedData$:s.visibleComputedData$,computedAxesData$:s.computedAxesData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:s.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridGraphicReverseScale$:s.gridGraphicReverseScale$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Mm="MultiBarsTriangle",cC=Y(Mm,"grid"),vq={name:Mm,defaultParams:nC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},$q=Me(vq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${cC}`).data(o).join("g").attr("class",cC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=zD(Mm,{selection:c,computedData$:s.computedData$,visibleComputedData$:s.visibleComputedData$,computedAxesData$:s.computedAxesData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,fullDataFormatter$:s.dataFormatter$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Em="MultiLines",fC=Y(Em,"grid"),_q={name:Em,defaultParams:rC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})},Aq=Me(_q)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=[],s=a.multiGridContainerPosition$.pipe(M(i),R(l=>l.flat()));return ln(a).pipe(M(i)).subscribe(l=>{o.forEach(u=>u()),t.selectAll(`g.${fC}`).data(l).join("g").attr("class",fC).each((u,c,d)=>{const f=H(d[c]);o[c]=AD(Em,{selection:f,computedData$:u.computedData$,computedAxesData$:u.computedAxesData$,visibleComputedData$:u.visibleComputedData$,visibleComputedAxesData$:u.visibleComputedAxesData$,seriesLabels$:u.seriesLabels$,SeriesDataMap$:u.SeriesDataMap$,GroupDataMap$:u.GroupDataMap$,fullDataFormatter$:u.dataFormatter$,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,gridAxesTransform$:u.gridAxesTransform$,gridGraphicTransform$:u.gridGraphicTransform$,gridAxesSize$:u.gridAxesSize$,gridHighlight$:a.multiGridHighlight$,gridContainerPosition$:u.gridContainerPosition$,allContainerPosition$:s,layout$:a.layout$,event$:r.event$})})}),()=>{i.next(void 0),o.forEach(l=>l())}}),Lm="MultiLineAreas",dC=Y(Lm,"grid"),Sq={name:Lm,defaultParams:aC,layerIndex:CD,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},Dq=Me(Sq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return r.multiGridContainerPosition$.pipe(M(a),R(o=>o.flat())),ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${dC}`).data(o).join("g").attr("class",dC).each((s,l,u)=>{const c=H(u[l]);i[l]=FD(Lm,{selection:c,computedData$:s.computedData$,computedAxesData$:s.computedAxesData$,visibleComputedData$:s.visibleComputedData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullDataFormatter$:s.dataFormatter$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,layout$:r.layout$,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Rm="MultiDots",hC=Y(Rm,"grid"),Cq={name:Rm,defaultParams:iC,layerIndex:cf,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})},Pq=Me(Cq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${hC}`).data(o).join("g").attr("class",hC).each((s,l,u)=>{const c=H(u[l]);i[l]=GD(Rm,{selection:c,computedData$:s.computedData$,visibleComputedData$:s.visibleComputedData$,computedAxesData$:s.computedAxesData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridGraphicReverseScale$:s.gridGraphicReverseScale$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),km="MultiGroupAxis",pC=Y(km,"grid"),Fq={name:km,defaultParams:Pm,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},Tq=Me(Fq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${pC}`).data(o).join("g").attr("class",pC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=UD(km,{selection:c,computedData$:s.computedData$,fullParams$:r.fullParams$,fullDataFormatter$:s.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridAxesReverseTransform$:s.gridAxesReverseTransform$,gridAxesSize$:s.gridAxesSize$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d,textSizePx$:r.textSizePx$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Im="MultiValueAxis",gC=Y(Im,"grid"),wq={name:Im,defaultParams:Bs,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},Bq=Me(wq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${gC}`).data(o).join("g").attr("class",gC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=Ni(Im,{selection:c,computedData$:s.computedData$,filteredMinMaxValue$:s.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:s.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridAxesReverseTransform$:s.gridAxesReverseTransform$,gridAxesSize$:s.gridAxesSize$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),mC="MultiGridTooltip",Mq={name:mC,defaultParams:Tm,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},Eq=Me(Mq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(mC,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),Nm="MultiStackedValueAxis",yC=Y(Nm,"grid"),Lq={name:Nm,defaultParams:Bs,layerIndex:sn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},Rq=Me(Lq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[];return ln(r).pipe(M(a)).subscribe(o=>{i.forEach(s=>s()),t.selectAll(`g.${yC}`).data(o).join("g").attr("class",yC).each((s,l,u)=>{const c=H(u[l]),d=s.dataFormatter$.pipe(M(a),R(f=>f.separateSeries),Z(),ot(1));i[l]=Ni(Nm,{selection:c,computedData$:s.computedStackedData$,filteredMinMaxValue$:s.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:s.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridAxesReverseTransform$:s.gridAxesReverseTransform$,gridAxesSize$:s.gridAxesSize$,gridContainerPosition$:s.gridContainerPosition$,isSeriesSeprate$:d})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),zm="OverlappingValueAxes",bC=Y(zm,"grid"),kq={name:zm,defaultParams:Fm,layerIndex:sn,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},Iq=Me(kq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[],o=r.fullParams$.pipe(M(a),R(u=>u.gridIndexes[0])),s=r.fullParams$.pipe(M(a),R(u=>u.gridIndexes[1])),l=j({firstGridIndex:o,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(M(a),O(async u=>u),R(u=>{u.fullDataFormatter.gridList[u.secondGridIndex]||(u.fullDataFormatter.gridList[u.secondGridIndex]=Object.assign({},u.fullDataFormatter.gridList[u.firstGridIndex]));const c=u.fullDataFormatter.gridList[u.firstGridIndex].valueAxis.position;let d=c;return c==="left"?d="right":c==="bottom"?d="top":c==="top"?d="bottom":c==="right"&&(d="left"),{type:"grid",visibleFilter:u.fullDataFormatter.visibleFilter,...u.fullDataFormatter.gridList[u.secondGridIndex],valueAxis:{...u.fullDataFormatter.gridList[u.secondGridIndex].valueAxis,position:d},container:{...u.fullDataFormatter.container}}}));return hn(r).pipe(M(a),R(u=>({...u,fullParams$:u.fullParams$.pipe(R(c=>(c.gridIndexes.length>2&&(c.gridIndexes.length=2),c)))})),O(u=>ln(u)),R(u=>u.map((c,d)=>{if(d===0)return c;const f=Px({fullDataFormatter$:l,layout$:r.layout$}),h=Fx({gridAxesTransform$:f}),p=Cx({computedData$:c.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...c,dataFormatter$:l,gridAxesTransform$:f,gridAxesReverseTransform$:h,gridContainerPosition$:p}}))).pipe(M(a)).subscribe(u=>{i.forEach(c=>c()),t.selectAll(`g.${bC}`).data(u).join("g").attr("class",bC).each((c,d,f)=>{if(d>1)return;const h=H(f[d]);i[d]=Ni(zm,{selection:h,computedData$:c.computedData$,filteredMinMaxValue$:c.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(R(p=>d===0?p.firstAxis:p.secondAxis)),fullDataFormatter$:c.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridAxesReverseTransform$:c.gridAxesReverseTransform$,gridAxesSize$:c.gridAxesSize$,gridContainerPosition$:c.gridContainerPosition$,isSeriesSeprate$:c.isSeriesSeprate$})})}),()=>{a.next(void 0),i.forEach(u=>u())}}),Om="OverlappingStackedValueAxes",xC=Y(Om,"grid"),Nq={name:Om,defaultParams:oC,layerIndex:sn,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},zq=Me(Nq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=[],o=r.fullParams$.pipe(M(a),R(u=>u.gridIndexes[0])),s=r.fullParams$.pipe(M(a),R(u=>u.gridIndexes[1])),l=j({firstGridIndex:o,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(M(a),O(async u=>u),R(u=>{u.fullDataFormatter.gridList[u.secondGridIndex]||(u.fullDataFormatter.gridList[u.secondGridIndex]=Object.assign({},u.fullDataFormatter.gridList[u.firstGridIndex]));const c=u.fullDataFormatter.gridList[u.firstGridIndex].valueAxis.position;let d=c;return c==="left"?d="right":c==="bottom"?d="top":c==="top"?d="bottom":c==="right"&&(d="left"),{type:"grid",visibleFilter:u.fullDataFormatter.visibleFilter,...u.fullDataFormatter.gridList[u.secondGridIndex],valueAxis:{...u.fullDataFormatter.gridList[u.secondGridIndex].valueAxis,position:d},container:{...u.fullDataFormatter.container}}}));return hn(r).pipe(M(a),R(u=>({...u,fullParams$:u.fullParams$.pipe(R(c=>(c.gridIndexes.length>2&&(c.gridIndexes.length=2),c)))})),O(u=>ln(u)),R(u=>u.map((c,d)=>{if(d===0)return c;const f=Px({fullDataFormatter$:l,layout$:r.layout$}),h=Fx({gridAxesTransform$:f}),p=Cx({computedData$:c.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...c,dataFormatter$:l,gridAxesTransform$:f,gridAxesReverseTransform$:h,gridContainerPosition$:p}}))).pipe(M(a)).subscribe(u=>{i.forEach(c=>c()),t.selectAll(`g.${xC}`).data(u).join("g").attr("class",xC).each((c,d,f)=>{if(d>1)return;const h=H(f[d]);i[d]=Ni(Om,{selection:h,computedData$:d===0?c.computedStackedData$:c.computedData$,filteredMinMaxValue$:c.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(R(p=>d===0?p.firstAxis:p.secondAxis)),fullDataFormatter$:c.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridAxesReverseTransform$:c.gridAxesReverseTransform$,gridAxesSize$:c.gridAxesSize$,gridContainerPosition$:c.gridContainerPosition$,isSeriesSeprate$:c.isSeriesSeprate$})})}),()=>{a.next(void 0),i.forEach(u=>u())}}),vC={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Gm={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.categoryLabel!=="",a=t.datum.label.slice(0,11)!=="multiValue_",i=t.datum._visibleValue.map(d=>n.toCurrency(d)),o=e.textSizePx*.7,s=e.textSizePx/2-o/2,l=r?`<rect width="${o}" height="${o}" x="${s}" y="${s-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
116
+ <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
117
+ <tspan>${t.categoryLabel}</tspan>
118
+ </text>`:"",u=a?`<tspan>${t.datum.label}</tspan> `:"",c=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
119
+ ${u}<tspan font-weight="bold">${i}</tspan>
120
+ </text>`;return`${l}
121
+ <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
122
+ ${c}
123
+ </g>`}};Gm.renderFn.toString=()=>`(eventData, { styles, utils }) => {
124
+ const hasCategoryLabel = eventData.categoryLabel === '' ? false : true
125
+ const hasDatumLabel = eventData.datum.label.slice(0, 11) === 'multiValue_' ? false : true
126
+ const valueText = eventData.datum._visibleValue.map(d => utils.toCurrency(d))
127
+ const bulletWidth = styles.textSizePx * 0.7
128
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
129
+ const categorySvg = hasCategoryLabel
130
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
131
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
132
+ <tspan>\${eventData.categoryLabel}</tspan>
133
+ </text>\`
134
+ : ''
135
+ const datumLabelSvg = hasDatumLabel
136
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
137
+ : ''
138
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
139
+ \${datumLabelSvg}<tspan font-weight="bold">\${valueText}</tspan>
140
+ </text>\`
141
+
142
+ return \`\${categorySvg}
143
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
144
+ \${datumSvg}
145
+ </g>\`
146
+ }`;const jm={bar:{barWidth:0,barPadding:8,barRadius:!1},barLabel:{position:"inside",padding:20,rotate:0,colorType:"labelContrast"},valueLabel:{padding:20,colorType:"primary",format:t=>t},axisLabel:{offset:[0,0],colorType:"primary"},rankingAmount:10,autorun:!1,loop:!1};jm.valueLabel.format.toString=()=>"v => v";const Vm={renderFn:(t,e,n)=>t,textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":64,fill:"#bebebe"},{"text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":24,fill:"#bebebe"}],paddingRight:0,paddingBottom:0};Vm.renderFn.toString=()=>`(valueLabel, valueIndex, data) => {
147
+ return valueLabel
148
+ }`;const Hm={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};Hm.tickFormat.toString=()=>`num => {
149
+ if (num === null || Number.isNaN(num) == true) {
150
+ return num || 0
151
+ }
152
+ const parts = num.toString().split('.')
153
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
154
+ return parts.join('.')
155
+ }`;const $C={radius:5,fillColorType:"label",strokeColorType:"label",strokeWidth:0},_C={fillColorType:"label",strokeColorType:"label",strokeWidth:0,valueLinearOpacity:[.8,.8],arcScaleType:"area",sizeAdjust:.5},Xm={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};Xm.tickFormat.toString=()=>`num => {
156
+ if (num === null || Number.isNaN(num) == true) {
157
+ return num || 0
158
+ }
159
+ const parts = num.toString().split('.')
160
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
161
+ return parts.join('.')
162
+ }`;const hf={xAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const r=t.toString().match(/0\.(0*)([1-9])/);if(r){const a=r[1].length+1;return t.toFixed(a)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20},yAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const r=t.toString().match(/0\.(0*)([1-9])/);if(r){const a=r[1].length+1;return t.toFixed(a)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20}};hf.xAxis.labelTextFormat.toString=()=>`num => {
163
+ if (num === null || Number.isNaN(num) == true) {
164
+ return num || 0
165
+ }
166
+ const absNum = Math.abs(num)
167
+ if (absNum > 0 && absNum < 1) {
168
+ const strNum = num.toString()
169
+ const match = strNum.match(/0.(0*)([1-9])/)
170
+ if (match) {
171
+ const precision = match[1].length + 1
172
+ return num.toFixed(precision)
173
+ }
174
+ return num.toString()
175
+ }
176
+ const parts = num.toString().split('.')
177
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
178
+ return parts[0]
179
+ }`,hf.yAxis.labelTextFormat.toString=()=>`num => {
180
+ if (num === null || Number.isNaN(num) == true) {
181
+ return num || 0
182
+ }
183
+ const absNum = Math.abs(num)
184
+ if (absNum > 0 && absNum < 1) {
185
+ const strNum = num.toString()
186
+ const match = strNum.match(/0.(0*)([1-9])/)
187
+ if (match) {
188
+ const precision = match[1].length + 1
189
+ return num.toFixed(precision)
190
+ }
191
+ return num.toString()
192
+ }
193
+ const parts = num.toString().split('.')
194
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
195
+ return parts[0]
196
+ }`;const pf={xAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"},yAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"}};pf.xAxis.tickFormat.toString=()=>`num => {
197
+ if (num === null || Number.isNaN(num) == true) {
198
+ return num || 0
199
+ }
200
+ const parts = num.toString().split('.')
201
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
202
+ return parts.join('.')
203
+ }`,pf.yAxis.tickFormat.toString=()=>`num => {
204
+ if (num === null || Number.isNaN(num) == true) {
205
+ return num || 0
206
+ }
207
+ const parts = num.toString().split('.')
208
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
209
+ return parts.join('.')
210
+ }`;const AC={},SC="MultiValueLegend",Oq={name:SC,defaultParams:vC,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},Gq=Qe(Oq)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.CategoryDataMap$.pipe(M(a),R(l=>Array.from(l.keys()))),o=n.fullParams$.pipe(M(a),R(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=Ii(SC,{rootSelection:e,legendLabels$:i,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),s()}}),DC="MultiValueTooltip",jq={name:DC,defaultParams:Gm,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},Vq=Qe(jq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(DC,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),Wm=({selection:t,pluginName:e,clipPathID:n,categoryLabels$:r,containerPosition$:a,graphicTransform$:i})=>{const o=Y(e,"category"),s=Y(e,"axes"),l=Y(e,"graphic"),u=r.pipe(R((h,p)=>t.selectAll(`g.${o}`).data(h,g=>g).join(g=>g.append("g").classed(o,!0).each((m,b,y)=>{H(y[b]).selectAll(`g.${s}`).data([b]).join(x=>x.append("g").classed(s,!0).attr("clip-path",`url(#${n})`).each((v,$,S)=>{H(S[$]).selectAll("defs").data([$]).join("defs"),H(S[$]).selectAll("g").data([$]).join("g").classed(l,!0)}),x=>x,x=>x.remove())}),g=>g,g=>g.remove())),ot(1));j({categorySelection:u,containerPosition:a}).pipe(O(async h=>h)).subscribe(h=>{h.categorySelection.transition().attr("transform",(p,g)=>{const m=h.containerPosition[g]??h.containerPosition[0],b=m.translate,y=m.scale;return`translate(${b[0]}, ${b[1]}) scale(${y[0]}, ${y[1]})`})});const c=u.pipe(R(h=>h.select(`g.${s}`)),ot(1)),d=c.pipe(R(h=>h.select("defs")),ot(1)),f=j({axesSelection:c,graphicTransform:i}).pipe(O(async h=>h),R(h=>{const p=h.axesSelection.select(`g.${l}`);return p.transition().duration(50).style("transform",h.graphicTransform.value),p}),ot(1));return{categorySelection$:u,axesSelection$:c,defsSelection$:d,graphicGSelection$:f}},Ms=({selection:t,pluginName:e,clipPathID:n,computedData$:r,containerPosition$:a,isCategorySeprate$:i})=>{const o=Y(e,"container"),s=j({computedData:r.pipe(Z((l,u)=>l.length===u.length)),isCategorySeprate:i}).pipe(O(async l=>l),R(l=>l.isCategorySeprate?l.computedData:[l.computedData[0]]),R((l,u)=>t.selectAll(`g.${o}`).data(l,c=>c[0]?c[0].categoryIndex:u).join("g").classed(o,!0).attr("clip-path",c=>n?`url(#${n})`:"none")),ot(1));return j({containerSelection:s,gridContainerPosition:a}).pipe(O(async l=>l)).subscribe(l=>{l.containerSelection.attr("transform",(u,c)=>{const d=l.gridContainerPosition[c]??l.gridContainerPosition[0],f=d.translate;return d.scale,`translate(${f[0]}, ${f[1]})`})}),s},Hq=({rootSelection:t,fullDataFormatter$:e,filteredXYMinMaxData$:n,containerPosition$:r,layout$:a})=>{const i=ws(t,"mousemove").pipe(m7(2)),o=r.pipe(R(c=>c.reduce((d,f)=>f.columnIndex>d?f.columnIndex:d,0)+1),Z(),ot(1)),s=r.pipe(R(c=>c.reduce((d,f)=>f.rowIndex>d?f.rowIndex:d,0)+1),Z(),ot(1)),l=new mt(c=>{j({layout:a,filteredXYMinMaxData:n,fullDataFormatter:e,columnAmount:o,rowAmount:s}).pipe(O(async d=>d)).subscribe(d=>{const f=d.fullDataFormatter.xAxis.valueIndex,h=d.fullDataFormatter.yAxis.valueIndex;if(!d.filteredXYMinMaxData.minXDatum||!d.filteredXYMinMaxData.maxXDatum||d.filteredXYMinMaxData.minXDatum.value[f]==null||d.filteredXYMinMaxData.maxXDatum.value[f]==null||!d.filteredXYMinMaxData.minYDatum||!d.filteredXYMinMaxData.maxYDatum||d.filteredXYMinMaxData.minYDatum.value[h]==null||d.filteredXYMinMaxData.maxYDatum.value[h]==null)return;const p=Sx({maxValue:d.filteredXYMinMaxData.maxXDatum.value[f],minValue:d.filteredXYMinMaxData.minXDatum.value[f],axisWidth:d.layout.width,scaleDomain:d.fullDataFormatter.xAxis.scaleDomain,scaleRange:d.fullDataFormatter.xAxis.scaleRange}),g=Sx({maxValue:d.filteredXYMinMaxData.maxYDatum.value[h],minValue:d.filteredXYMinMaxData.minYDatum.value[h],axisWidth:d.layout.height,scaleDomain:d.fullDataFormatter.yAxis.scaleDomain,scaleRange:d.fullDataFormatter.yAxis.scaleRange,reverse:!0});c.next({xScale:p,yScale:g})})}),u=j({fullDataFormatter:e,rootMousemove:i,columnAmount:o,rowAmount:s,layout:a,containerPosition:r}).pipe(O(async c=>c),R(c=>({x:(c.rootMousemove.offsetX-c.layout.left)/c.containerPosition[0].scale[0]%(c.layout.rootWidth/c.columnAmount/c.containerPosition[0].scale[0]),y:(c.rootMousemove.offsetY-c.layout.top)/c.containerPosition[0].scale[1]%(c.layout.rootHeight/c.rowAmount/c.containerPosition[0].scale[1])})));return j({xyScale:l,axisValue:u}).pipe(O(async c=>c),R(c=>({x:c.axisValue.x,y:c.axisValue.y,xValue:c.xyScale.xScale(c.axisValue.x),yValue:c.xyScale.yScale(c.axisValue.y)})))},Xq=({containerSize$:t,visibleComputedData$:e,textSizePx$:n,rankingAmount$:r})=>{const a=({textSizePx$:c})=>c.pipe(R(d=>d*2),ot(1)),i=({minLineHeight$:c,containerSize$:d})=>j({minLineHeight:c,containerSize:d}).pipe(O(async f=>f),R(f=>f.containerSize.height>f.minLineHeight?f.containerSize.height:f.minLineHeight),Z(),ot(1)),o=({minLineHeight$:c,containerHeight$:d})=>j({minLineHeight:c,containerHeight:d}).pipe(O(async f=>f),R(f=>Math.floor(f.containerHeight/f.minLineHeight)),Z(),ot(1)),s=a({textSizePx$:n}),l=i({minLineHeight$:s,containerSize$:t}),u=o({containerHeight$:l,minLineHeight$:s});return r.pipe(O(c=>Mr(()=>c==="auto",j({visibleComputedData:e,rankingAmountLimit:u}).pipe(O(async d=>d),R(d=>{const f=d.visibleComputedData.map(h=>Math.min(d.rankingAmountLimit,h.length));return Math.max(...f)})),r)))},Wq=({containerSize$:t,textSizePx$:e,computedRankingAmount$:n})=>{const r=({textSizePx$:s})=>s.pipe(R(l=>l*2),ot(1)),a=({minLineHeight$:s,containerSize$:l})=>j({minLineHeight:s,containerSize:l}).pipe(O(async u=>u),R(u=>u.containerSize.height>u.minLineHeight?u.containerSize.height:u.minLineHeight),Z(),ot(1)),i=r({textSizePx$:e}),o=a({minLineHeight$:i,containerSize$:t});return j({containerHeight:o,computedRankingAmount:n}).pipe(O(async s=>s),R(s=>s.containerHeight/s.computedRankingAmount))},Uq=({visibleComputedRankingData$:t,rankingItemHeight$:e})=>j({visibleComputedRankingData:t,rankingItemHeight:e}).pipe(O(async n=>n),R(n=>n.visibleComputedRankingData.map((r,a)=>{const i=r.length,o=n.rankingItemHeight*i;return PL({axisLabels:r.map(s=>s.label),axisWidth:o,padding:.5})}))),Yq="end",qq="middle",Zq="end",Jq="auto";function Kq({selection:t,textClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i,textReverseTransform:o}){const s=n.barLabel.padding-n.axisLabel.offset[0],l=-n.barLabel.padding-n.axisLabel.offset[1];let u=-s,c=-l;t.attr("transform",d=>`translate(0, ${r.height})`).selectAll("text").data([n]).join(d=>d.append("text").style("font-weight","bold"),d=>d,d=>d.remove()).attr("text-anchor",Zq).attr("dominant-baseline",Jq).attr("font-size",i.styles.textSize).style("fill",$t(n.axisLabel.colorType,i)).attr("x",u).attr("y",c).text(d=>a.yAxis.label)}function Qq({selection:t,fullParams:e,fullChartParams:n,rankingScale:r,valueScale:a,categoryData:i}){const o=e.barLabel.position==="none"?[]:i;return t.selectAll("text").data(o,s=>s.id).join(s=>s.append("text").style("font-weight","bold").attr("x",l=>a(l.value[l.xValueIndex]??0)-e.barLabel.padding).attr("y",l=>r(l.label)),s=>s.transition().duration(n.transitionDuration).ease($n).attr("x",l=>a(l.value[l.xValueIndex]??0)-e.barLabel.padding).attr("y",l=>r(l.label)),s=>s.remove()).attr("text-anchor",Yq).attr("dominant-baseline",qq).attr("font-size",n.styles.textSize).style("fill",s=>Pt({colorType:e.barLabel.colorType,fullChartParams:n,datum:s})).text(s=>s.label)}function tZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",i=>-i.width).attr("y",0).attr("width",i=>i.width*2).attr("height",i=>i.height)})}const eZ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:a,xScale$:i,fullParams$:o,fullDataFormatter$:s,fullChartParams$:l,containerPosition$:u,containerSize$:c,isCategorySeprate$:d})=>{const f=new K,h=Y(t,"box"),p=Y(t,"text"),g=me(t,"clipPath-box"),m=Ms({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:u,isCategorySeprate$:d}).pipe(M(f)),b=u.pipe(M(f),O(async x=>x),R(x=>`${`scale(${1/x[0].scale[0]}, ${1/x[0].scale[1]})`}`),Z()),y=o.pipe(R(x=>x.barLabel.position),Z(),O(x=>Mr(()=>x==="inside",i,hn(()=>0))));return c.subscribe(x=>{const v=e.selectAll("defs").data([g]).join("defs"),$=[{id:g,width:x.width,height:x.height}];tZ({defsSelection:v,clipPathData:$})}),j({containerSelection:m,fullParams:o,containerSize:c,fullDataFormatter:s,fullChartParams:l,visibleComputedRankingData:r,rankingScaleList:a,valueScale:y,textReverseTransform:b}).pipe(M(f),O(async x=>x)).subscribe(x=>{x.containerSelection.each((v,$,S)=>{const C=H(S[$]),D=x.rankingScaleList[$];if(!D)return;const _=C.selectAll(`g.${h}`).data([$]).join("g").attr("class",h).attr("clip-path",`url(#${g})`),P=C.selectAll(`g.${p}`).data([x.fullParams]).join("g").classed(p,!0);Qq({selection:_,fullParams:x.fullParams,fullChartParams:x.fullChartParams,rankingScale:D,categoryData:x.visibleComputedRankingData[$],valueScale:x.valueScale}),Kq({selection:P,textClassName:p,fullParams:x.fullParams,containerSize:x.containerSize,fullDataFormatter:x.fullDataFormatter,fullChartParams:x.fullChartParams,textReverseTransform:x.textReverseTransform})})}),()=>{f.next(void 0)}},nZ="start",rZ="middle";function aZ({selection:t,fullParams:e,fullChartParams:n,rankingScale:r,xScale:a,categoryData:i,computedRankingAmount:o}){const s=i.slice(0,o+1);return t.selectAll("g").data(s,l=>l.id).join(l=>l.append("g").attr("transform",u=>`translate(${a(u.value[u.xValueIndex]??0)+e.padding}, ${r(u.label)})`),l=>l.transition().duration(n.transitionDuration).ease($n).attr("transform",u=>`translate(${a(u.value[u.xValueIndex]??0)+e.padding}, ${r(u.label)})`),l=>l.remove()).each((l,u,c)=>{H(c[u]).selectAll("text").data([l]).join(d=>d.append("text"),d=>d,d=>d.remove()).attr("text-anchor",nZ).attr("dominant-baseline",rZ).attr("font-size",n.styles.textSize).style("fill",$t(e.colorType,n)).transition().duration(n.transitionDuration).ease($n).textTween(d=>{const f=d.xValueIndex,h=f===0?0:f-1,p=d.value[h],g=d.value[f];return m=>{const b=m===1?Le(p,g)(m):ko(p,g)(m);return vr(b,e.format)}})}).selectAll("text")}function iZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",i=>0).attr("y",0).attr("width",i=>i.width*1.5).attr("height",i=>i.height)})}const oZ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:a,xScale$:i,computedRankingAmount$:o,fullParams$:s,fullChartParams$:l,containerPosition$:u,containerSize$:c,isCategorySeprate$:d})=>{const f=new K,h=Y(t,"box"),p=me(t,"clipPath-box"),g=Ms({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:u,isCategorySeprate$:d}).pipe(M(f));return c.subscribe(m=>{const b=e.selectAll("defs").data([p]).join("defs"),y=[{id:p,width:m.width,height:m.height}];iZ({defsSelection:b,clipPathData:y})}),j({containerSelection:g,fullParams:s,fullChartParams:l,visibleComputedRankingData:r,rankingScaleList:a,xScale:i,computedRankingAmount:o}).pipe(M(f),O(async m=>m)).subscribe(m=>{m.containerSelection.each((b,y,x)=>{const v=H(x[y]),$=m.rankingScaleList[y];if(!$)return;const S=v.selectAll(`g.${h}`).data([y]).join("g").attr("class",h).attr("clip-path",`url(#${p})`);aZ({selection:S,fullParams:m.fullParams,fullChartParams:m.fullChartParams,rankingScale:$,categoryData:m.visibleComputedRankingData[y],xScale:m.xScale,computedRankingAmount:m.computedRankingAmount})})}),()=>{f.next(void 0)}};function sZ({containerSelection:t,visibleComputedRankingData:e,rankingScaleList:n,transitionDuration:r}){return t.each((a,i,o)=>{H(o[i]).selectAll("g").data(e[i]??[],s=>s.id).join(s=>s.append("g").attr("cursor","pointer").attr("transform",l=>`translate(0, ${n[i]&&n[i](l.label)})`),s=>s.transition().duration(r).ease($n).attr("transform",l=>`translate(0, ${n[i]&&n[i](l.label)})`),s=>s.remove())}),t.selectAll("g")}function lZ({graphicGSelection:t,rectClassName:e,xScale:n,fullParams:r,barWidth:a,transitionDuration:i}){return t.each((o,s,l)=>{const u=a/2,c=r.bar.barRadius===!0?u:r.bar.barRadius===!1?0:typeof r.bar.barRadius=="number"?r.bar.barRadius:0;H(l[s]).selectAll(`rect.${e}`).data([o],d=>d.id).join(d=>d.append("rect").classed(e,!0).attr("cursor","pointer").attr("width",f=>n(f.value[f.xValueIndex])??1).attr("height",a),d=>d.transition().duration(i).ease($n).attr("width",f=>n(f.value[f.xValueIndex])??1).attr("height",a),d=>d.remove()).attr("transform",`translate(0, ${-u})`).attr("fill",d=>d.color).attr("rx",c).attr("ry",c)}),t.selectAll(`rect.${e}`)}function uZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function cZ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const fZ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,CategoryDataMap$:a,fullParams$:i,fullChartParams$:o,highlight$:s,rankingItemHeight$:l,rankingScaleList$:u,containerPosition$:c,containerSize$:d,xScale$:f,isCategorySeprate$:h,event$:p})=>{const g=new K,m=me(t,"clipPath-box"),b=Y(t,"rect"),y=Ms({selection:e,pluginName:t,clipPathID:m,computedData$:n,containerPosition$:c,isCategorySeprate$:h}).pipe(M(g));d.subscribe(D=>{const _=e.selectAll("defs").data([m]).join("defs"),P=[{id:m,width:D.width,height:D.height}];uZ({defsSelection:_,clipPathData:P})});const x=j({fullParams:i,rankingItemHeight:l}).pipe(M(g),O(async D=>D),R(D=>D.fullParams.bar.barWidth?D.fullParams.bar.barWidth:D.rankingItemHeight-D.fullParams.bar.barPadding),Z()),v=o.pipe(M(g),R(D=>D.transitionDuration),Z()),$=j({containerSelection:y,visibleComputedRankingData:r,rankingScaleList:u,transitionDuration:v}).pipe(M(g),O(async D=>D),R(D=>sZ({containerSelection:D.containerSelection,visibleComputedRankingData:D.visibleComputedRankingData,rankingScaleList:D.rankingScaleList,transitionDuration:D.transitionDuration}))),S=j({graphicGSelection:$,xScale:f,barWidth:x,transitionDuration:v,fullParams:i}).pipe(M(g),O(async D=>D),R(D=>lZ({graphicGSelection:D.graphicGSelection,rectClassName:b,xScale:D.xScale,fullParams:D.fullParams,barWidth:D.barWidth,transitionDuration:D.transitionDuration})),ot(1)),C=o.pipe(M(g),R(D=>D.highlightTarget),Z());return j({graphicSelection:S,computedData:n,CategoryDataMap:a,highlightTarget:C}).pipe(M(g),O(async D=>D)).subscribe(D=>{D.graphicSelection.on("mouseover",(_,P)=>{P._visibleValue=[P.value[P.xValueIndex]],p.next({type:"multiValue",eventName:"mouseover",pluginName:t,highlightTarget:D.highlightTarget,datum:P,category:D.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:D.computedData,event:_})}).on("mousemove",(_,P)=>{P._visibleValue=[P.value[P.xValueIndex]],p.next({type:"multiValue",eventName:"mousemove",pluginName:t,highlightTarget:D.highlightTarget,datum:P,category:D.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:D.computedData,event:_})}).on("mouseout",(_,P)=>{p.next({type:"multiValue",eventName:"mouseout",pluginName:t,highlightTarget:D.highlightTarget,datum:P,category:D.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:D.computedData,event:_})}).on("click",(_,P)=>{P._visibleValue=[P.value[P.xValueIndex]],p.next({type:"multiValue",eventName:"click",pluginName:t,highlightTarget:D.highlightTarget,datum:P,category:D.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:D.computedData,event:_})})}),j({graphicSelection:S,highlight:s.pipe(R(D=>D.map(_=>_.id))),fullChartParams:o}).pipe(M(g),O(async D=>D)).subscribe(D=>{cZ({selection:D.graphicSelection,ids:D.highlight,fullChartParams:D.fullChartParams})}),()=>{g.next(void 0)}},ya="RacingBars",dZ={name:ya,defaultParams:jm,layerIndex:Pe,validator:(t,{validateColumns:e})=>{const n=e(t,{bar:{toBeTypes:["object"]},barLabel:{toBeTypes:["object"]},valueLabel:{toBeTypes:["object"]},axisLabel:{toBeTypes:["object"]},rankingAmount:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},autorun:{toBeTypes:["boolean"]},loop:{toBeTypes:["boolean"]}});if(t.bar){const r=e(t.bar,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}});if(r.status==="error")return r}if(t.barLabel){const r=e(t.barLabel,{position:{toBe:'"inside" | "outside" | "none"',test:a=>a==="inside"||a==="outside"||a==="none"},padding:{toBeTypes:["number"]},rotate:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.valueLabel){const r=e(t.valueLabel,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},format:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.axisLabel){const r=e(t.axisLabel,{offset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},hZ=Qe(dZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=t.append("g").attr("class",`${ya}-bars`),i=t.append("g").attr("class",`${ya}-labels`),o=t.append("g").attr("class",`${ya}-valueLabels`),s=new K,l=n.fullParams$.pipe(M(s),R($=>$.valueLabel)),u=n.fullParams$.pipe(M(s),R($=>$.rankingAmount),Z()),c=Xq({containerSize$:n.containerSize$,visibleComputedData$:n.visibleComputedData$,textSizePx$:n.textSizePx$,rankingAmount$:u}).pipe(M(s),ot(1)),d=Wq({containerSize$:n.containerSize$,textSizePx$:n.textSizePx$,computedRankingAmount$:c}).pipe(M(s),ot(1)),f=Uq({visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingItemHeight$:d}).pipe(M(s),ot(1)),h=eZ(`${ya}-labels`,{selection:i,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),p=oZ(`${ya}-valueLabels`,{selection:o,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,computedRankingAmount$:c,fullParams$:l,fullChartParams$:n.fullChartParams$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),g=fZ(`${ya}-bars`,{selection:a,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,CategoryDataMap$:n.CategoryDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,highlight$:n.highlight$,rankingItemHeight$:d,rankingScaleList$:f,xScale$:n.xScale$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$,event$:r.event$}),m=n.visibleComputedRankingByIndexData$.pipe(M(s),R($=>($[0]&&$[0][0]&&$[0][0].value.length)??0),Z()),b=n.fullParams$.pipe(M(s),R($=>$.autorun),Z()),y=n.fullParams$.pipe(M(s),R($=>$.loop),Z()),x=n.fullChartParams$.pipe(M(s),R($=>$.transitionDuration),Z());let v=!0;return j({autorun:b,loop:y,valueAmount:m,tickDurationPeriod:x,fullDataFormatter:n.fullDataFormatter$}).pipe(M(s),O(async $=>$)).subscribe(({autorun:$,loop:S,valueAmount:C,tickDurationPeriod:D,fullDataFormatter:_})=>{if(v!=!1&&$){const P=_.xAxis.valueIndex+1;P<C?(v=!1,setTimeout(()=>{r.dataFormatter$.next({..._,xAxis:{..._.xAxis,valueIndex:P}}),v=!0},D)):P>=C&&S&&(v=!1,setTimeout(()=>{r.dataFormatter$.next({..._,xAxis:{..._.xAxis,valueIndex:0}}),v=!0},D))}}),()=>{s.next(void 0),h(),p(),g()}}),Es="RacingCounterTexts",CC=Y(Es,"container"),Oi=Y(Es,"box"),Um=Y(Es,"text"),pZ={name:Es,defaultParams:Vm,layerIndex:ff,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]},paddingRight:{toBeTypes:["number"]},paddingBottom:{toBeTypes:["number"]}})};function gZ({selection:t,data:e,fullParams:n,containerSize:r}){const a=r.width-n.paddingRight,i=r.height-n.paddingBottom;return t.selectAll(`g.${Oi}`).data([Oi]).join("g").classed(Oi,!0).attr("transform",`translate(${a}, ${i})`).each((o,s,l)=>{H(l[s]).selectAll(`text.${Um}`).data(e).join("text").classed(Um,!0).each((u,c,d)=>{const f=H(d[c]).text(u.text);Object.keys(u.attr).forEach(h=>{f.attr(h,u.attr[h])}),Object.keys(u.style).forEach(h=>{f.style(h,u.style[h])})})}).selectAll(`text.${Um}`)}function mZ({computedData:t,valueLabel:e,valueIndex:n,renderFn:r,textAttrs:a,textStyles:i}){const o=e||String(n),s=r(o,n,t);return(Array.isArray(s)?s:[s]).map((l,u)=>({text:l,attr:a[u],style:i[u]}))}function yZ(t,e){const n=new K;return j({textData:e.textData$,fullParams:e.fullParams$,containerSize:e.containerSize$}).pipe(M(n)).subscribe(r=>{gZ({selection:e.containerSelection,data:r.textData,fullParams:r.fullParams,containerSize:r.containerSize})}),()=>{n.next(void 0)}}const bZ=Qe(pZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=j({computedData:n.computedData$.pipe(Z((u,c)=>u.length===c.length)),isCategorySeprate:n.isCategorySeprate$}).pipe(M(a),O(async u=>u),R(u=>u.isCategorySeprate?u.computedData:[u.computedData[0]]),R((u,c)=>t.selectAll(`g.${CC}`).data(u,d=>d[0]?d[0].categoryIndex:c).join("g").classed(CC,!0)));i.pipe(M(a),R((u,c)=>u.selectAll(`g.${Oi}`).data([Oi]).join("g").classed(Oi,!0))),j({containerSelection:i,gridContainerPosition:n.containerPosition$}).pipe(M(a),O(async u=>u)).subscribe(u=>{u.containerSelection.attr("transform",(c,d)=>{const f=u.gridContainerPosition[d]??u.gridContainerPosition[0],h=f.translate;return f.scale,`translate(${h[0]}, ${h[1]})`})});const o=j({xyValueIndex:n.xyValueIndex$,fullDataFormatter:n.fullDataFormatter$}).pipe(M(a),O(async u=>u),R(u=>u.fullDataFormatter.valueLabels[u.xyValueIndex[0]]??""),Z(),ot(1)),s=j({xyValueIndex:n.xyValueIndex$,valueLabel:o,computedData:n.computedData$,fullParams:n.fullParams$}).pipe(M(a),O(async u=>u),R(u=>mZ({valueIndex:u.xyValueIndex[0],valueLabel:u.valueLabel,computedData:u.computedData,renderFn:u.fullParams.renderFn,textAttrs:u.fullParams.textAttrs,textStyles:u.fullParams.textStyles})),ot(1)),l=[];return i.pipe(M(a)).subscribe(u=>{l.forEach(c=>c()),u.each((c,d,f)=>{const h=H(f[d]);n.visibleComputedRankingByIndexData$.pipe(M(a),R(p=>p[d]??p[0])),n.containerPosition$.pipe(M(a),R(p=>p[d]??p[0])),l[d]=yZ(Es,{containerSelection:h,textData$:s,fullParams$:n.fullParams$,xyValueIndex$:n.xyValueIndex$,containerSize$:n.containerSize$})})}),()=>{a.next(void 0),l.forEach(u=>u())}}),xZ=6,vZ="middle",$Z="hanging",_Z="start",AZ="hanging";function SZ({selection:t,position:e,xLabelClassName:n,fullParams:r,containerSize:a,fullDataFormatter:i,fullChartParams:o}){let s=r.tickPadding+r.labelOffset[0],l,u;e==="top"?(l=0,u=-r.tickPadding-r.labelOffset[1]):(l=a.height,u=r.tickPadding+r.labelOffset[1]);let c=u;t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).each((d,f,h)=>{H(h[f]).selectAll("text").data([d]).join(p=>p.append("text").style("font-weight","bold"),p=>p,p=>p.remove()).attr("text-anchor",_Z).attr("dominant-baseline",AZ).attr("font-size",o.styles.textSize).style("fill",$t(r.labelColorType,o)).attr("x",s).attr("y",c).text(p=>i.xAxis.label)}).attr("transform",d=>`translate(${a.width}, ${l})`)}function DZ({selection:t,position:e,xAxisClassName:n,fullParams:r,containerSize:a,fullChartParams:i,xScale:o,transitionDuration:s}){let l,u;e==="top"?(l=0,u=Bh(o)):(l=a.height,u=nv(o));const c=t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).attr("transform",`translate(0, ${l})`);let d=r.tickPadding;const f=u.scale(o).ticks(r.ticks).tickFormat(p=>vr(p,r.tickFormat)).tickSize(r.tickFullLine==!0?-a.height:xZ).tickSizeOuter(-a.height).tickPadding(d),h=c.transition().duration(s).ease($n).call(f);return h.selectAll("line").style("fill","none").style("stroke",r.tickLineVisible==!0?$t(r.tickColorType,i):"none").style("stroke-dasharray",r.tickFullLineDasharray).attr("pointer-events","none"),h.selectAll("path").style("fill","none").style("stroke",r.axisLineVisible==!0?$t(r.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),c.selectAll("text").attr("font-size",i.styles.textSize).style("color",$t(r.tickTextColorType,i)).attr("text-anchor",vZ).attr("dominant-baseline",$Z).attr("dy",0),c}const Ym=(t,{selection:e,position$:n,computedData$:r,fullParams$:a,fullDataFormatter$:i,fullChartParams$:o,isCategorySeprate$:s,containerPosition$:l,containerSize$:u,xScale$:c,transitionDuration$:d})=>{const f=new K,h=Y(t,"xAxisG"),p=Y(t,"xAxis"),g=Y(t,"xLabel"),m=Ms({selection:e,pluginName:t,clipPathID:null,computedData$:r,containerPosition$:l,isCategorySeprate$:s}).pipe(M(f)).pipe(M(f),R((b,y)=>b.selectAll(`g.${h}`).data([h]).join("g").classed(h,!0)));return j({axisSelection:m,position:n,fullParams:a,computedData:r,containerSize:u,fullDataFormatter:i,fullChartParams:o,xScale:c,transitionDuration:d}).pipe(M(f),O(async b=>b)).subscribe(b=>{DZ({selection:b.axisSelection,position:b.position,xAxisClassName:p,fullParams:b.fullParams,containerSize:b.containerSize,fullChartParams:b.fullChartParams,xScale:b.xScale,transitionDuration:b.transitionDuration}),SZ({selection:b.axisSelection,position:b.position,xLabelClassName:g,fullParams:b.fullParams,containerSize:b.containerSize,fullDataFormatter:b.fullDataFormatter,fullChartParams:b.fullChartParams})}),()=>{f.next(void 0)}},PC="RacingValueAxis",CZ={name:PC,defaultParams:Hm,layerIndex:sn,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status,n}},PZ=Qe(CZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=n.fullChartParams$.pipe(M(a),R(s=>s.transitionDuration),Z()),o=Ym(PC,{selection:t,position$:hn("top"),transitionDuration$:i,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{a.next(void 0),o()}}),Yn="Scatter",FZ={name:Yn,defaultParams:$C,layerIndex:cf,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]}})};function TZ({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedXYData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const s=u=>{const c=u.size();return i.transitionDuration/c};let l=0;return t.each((u,c,d)=>{H(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(l=s(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{H(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*l).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",a.radius).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function wZ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?H(i[a]).style("opacity",1).transition("highlight").duration(200):H(i[a]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function BZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const MZ=Qe(FZ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=me(Yn,"clipPath-box"),o=Y(Yn,"circleG"),s=Y(Yn,"circle"),{defsSelection$:l,graphicGSelection$:u}=Wm({selection:t,pluginName:Yn,clipPathID:i,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),c=j({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(M(a),O(async h=>h),R(h=>h.computedData.map((p,g)=>h.graphicReverseScale[g])));j({defsSelection:l,layout:r.layout$}).pipe(M(a),O(async h=>h)).subscribe(h=>{const p=[{id:i,width:h.layout.width,height:h.layout.height}];BZ({defsSelection:h.defsSelection,clipPathData:p})});const d=j({graphicGSelection:u,visibleComputedXYData:r.visibleComputedXYData$,graphicReverseScale:c,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(M(a),O(async h=>h),R(h=>TZ({graphicGSelection:h.graphicGSelection,circleGClassName:o,circleClassName:s,visibleComputedXYData:h.visibleComputedXYData,fullParams:h.fullParams,fullChartParams:h.fullChartParams,graphicReverseScale:h.graphicReverseScale}))),f=r.fullChartParams$.pipe(M(a),R(h=>h.highlightTarget),Z());return j({graphicSelection:d,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:f}).pipe(M(a),O(async h=>h)).subscribe(h=>{h.graphicSelection.on("mouseover",(p,g)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:Yn,highlightTarget:h.highlightTarget,datum:g,category:h.CategoryDataMap.get(g.categoryLabel),categoryIndex:g.categoryIndex,categoryLabel:g.categoryLabel,data:h.computedData,event:p})}).on("mousemove",(p,g)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:Yn,highlightTarget:h.highlightTarget,datum:g,category:h.CategoryDataMap.get(g.categoryLabel),categoryIndex:g.categoryIndex,categoryLabel:g.categoryLabel,data:h.computedData,event:p})}).on("mouseout",(p,g)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:Yn,highlightTarget:h.highlightTarget,datum:g,category:h.CategoryDataMap.get(g.categoryLabel),categoryIndex:g.categoryIndex,categoryLabel:g.categoryLabel,data:h.computedData,event:p})}).on("click",(p,g)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:Yn,highlightTarget:h.highlightTarget,datum:g,category:h.CategoryDataMap.get(g.categoryLabel),categoryIndex:g.categoryIndex,categoryLabel:g.categoryLabel,data:h.computedData,event:p})})}),j({graphicSelection:d,highlight:r.highlight$.pipe(R(h=>h.map(p=>p.id))),fullChartParams:r.fullChartParams$}).pipe(M(a),O(async h=>h)).subscribe(h=>{wZ({selection:h.graphicSelection,ids:h.highlight,fullChartParams:h.fullChartParams})}),()=>{a.next(void 0)}}),qn="ScatterBubbles",EZ=.9,LZ={name:qn,defaultParams:_C,layerIndex:cf,validator:(t,{validateColumns:e})=>e(t,{fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},valueLinearOpacity:{toBeTypes:["number[]"]},arcScaleType:{toBe:"ArcScaleType",test:n=>n==="area"||n==="radius"},sizeAdjust:{toBeTypes:["number"]}})};function RZ({graphicGSelection:t,circleGClassName:e,circleClassName:n,bubbleData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const s=u=>{const c=u.size();return i.transitionDuration/c};let l=0;return t.each((u,c,d)=>{H(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(l=s(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{H(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*l).attr("opacity",.8),g=>g.transition().duration(50).attr("opacity",.8),g=>g.remove()).attr("r",g=>g.r).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function kZ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}t.each((r,a,i)=>{e.includes(r.id)?H(i[a]).style("opacity",o=>o.opacity).transition("highlight").duration(200):H(i[a]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function IZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{H(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const NZ=Qe(LZ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=me(qn,"clipPath-box"),o=Y(qn,"circleG"),s=Y(qn,"circle"),{defsSelection$:l,graphicGSelection$:u}=Wm({selection:t,pluginName:qn,clipPathID:i,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),c=j({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(M(a),O(async $=>$),R($=>$.computedData.map((S,C)=>$.graphicReverseScale[C])));j({defsSelection:l,layout:r.layout$}).pipe(M(a),O(async $=>$)).subscribe($=>{const S=[{id:i,width:$.layout.width,height:$.layout.height}];IZ({defsSelection:$.defsSelection,clipPathData:S})});const d=r.filteredXYMinMaxData$.pipe(M(a),R($=>$.datumList.flat().map(S=>S.value[2]??0)),ot(1)),f=r.filteredXYMinMaxData$.pipe(M(a),R($=>sh($.datumList.flat().map(S=>S.value[2]??0)))),h=j({filteredMinMaxValue:f,fullParams:r.fullParams$}).pipe(M(a),O(async $=>$),R($=>fa().domain($.filteredMinMaxValue).range($.fullParams.valueLinearOpacity))),p=j({layout:r.layout$,fullParams:r.fullParams$}).pipe(M(a),R($=>Math.min($.layout.width,$.layout.height)/2*$.fullParams.sizeAdjust)),g=d.pipe(M(a),R($=>$.reduce((S,C)=>S+C,0)),ka($=>$>0)),m=j({totalR:p,totalValue:g,fullParams:r.fullParams$}).pipe(M(a),O(async $=>$),R($=>gr().domain([0,$.totalValue]).range([0,$.totalR]).exponent($.fullParams.arcScaleType==="area"?.5:1))),b=j({radiusScale:m,fullParams:r.fullParams$,totalR:p,filteredValueList:d}).pipe(M(a),O(async $=>$),R($=>$.fullParams.arcScaleType==="area"?1:(()=>{const S=$.totalR*$.totalR*Math.PI;return Math.sqrt(S/Th($.filteredValueList,C=>Math.PI*Math.pow($.radiusScale(C),2)))})())),y=j({visibleComputedXYData:r.visibleComputedXYData$,opacityScale:h,radiusScale:m,scaleFactor:b,fullParams:r.fullParams$}).pipe(M(a),O(async $=>$),R($=>$.visibleComputedXYData.map(S=>S.map(C=>{const D=C;return D.r=$.radiusScale(D.value[2])*$.scaleFactor*EZ,D.opacity=$.opacityScale(D.value[2]),D})))),x=j({graphicGSelection:u,bubbleData:y,graphicReverseScale:c,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(M(a),O(async $=>$),R($=>RZ({graphicGSelection:$.graphicGSelection,circleGClassName:o,circleClassName:s,bubbleData:$.bubbleData,fullParams:$.fullParams,fullChartParams:$.fullChartParams,graphicReverseScale:$.graphicReverseScale}))),v=r.fullChartParams$.pipe(M(a),R($=>$.highlightTarget),Z());return j({graphicSelection:x,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:v}).pipe(M(a),O(async $=>$)).subscribe($=>{$.graphicSelection.on("mouseover",(S,C)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:qn,highlightTarget:$.highlightTarget,datum:C,category:$.CategoryDataMap.get(C.categoryLabel),categoryIndex:C.categoryIndex,categoryLabel:C.categoryLabel,data:$.computedData,event:S})}).on("mousemove",(S,C)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:qn,highlightTarget:$.highlightTarget,datum:C,category:$.CategoryDataMap.get(C.categoryLabel),categoryIndex:C.categoryIndex,categoryLabel:C.categoryLabel,data:$.computedData,event:S})}).on("mouseout",(S,C)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:qn,highlightTarget:$.highlightTarget,datum:C,category:$.CategoryDataMap.get(C.categoryLabel),categoryIndex:C.categoryIndex,categoryLabel:C.categoryLabel,data:$.computedData,event:S})}).on("click",(S,C)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:qn,highlightTarget:$.highlightTarget,datum:C,category:$.CategoryDataMap.get(C.categoryLabel),categoryIndex:C.categoryIndex,categoryLabel:C.categoryLabel,data:$.computedData,event:S})})}),j({graphicSelection:x,highlight:r.highlight$.pipe(R($=>$.map(S=>S.id))),fullChartParams:r.fullChartParams$}).pipe(M(a),O(async $=>$)).subscribe($=>{kZ({selection:$.graphicSelection,ids:$.highlight,fullChartParams:$.fullChartParams})}),()=>{a.next(void 0)}}),FC="XAxis",zZ={name:FC,defaultParams:Xm,layerIndex:sn,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status,n}},OZ=Qe(zZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=Ym(FC,{selection:t,position$:hn("bottom"),transitionDuration$:hn(100),computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{a.next(void 0),i()}}),gf="XYAux",qm=Y(gf,"label-box"),GZ={name:gf,defaultParams:hf,layerIndex:DD,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function jZ({axisX:t,axisY:e,layout:n,fullParams:r}){return t>=0&&t<=n.width&&e>=0&&e<=n.height?[{id:"line-x",x1:t,x2:t,y1:0,y2:n.height,dashArray:r.xAxis.lineDashArray??"none",colorType:r.xAxis.lineColorType},{id:"line-0",x1:0,x2:n.width,y1:e,y2:e,dashArray:r.yAxis.lineDashArray??"none",colorType:r.yAxis.lineColorType}]:[]}function VZ({axisX:t,axisY:e,xValue:n,yValue:r,fullParams:a,textSizePx:i,layout:o,columnAmount:s,rowAmount:l}){if(!(t>=0&&t<=o.width&&e>=0&&e<=o.height))return[];const u=6,c=3,d=t,f=o.height+a.xAxis.labelPadding*l,h=vr(n,a.xAxis.labelTextFormat),p=h.split(`
211
+ `),g=p.reduce((V,J)=>J.length>V.length?J:V,""),m=Ts(g,i),b=i*p.length,y=m+u*2,x=b+c*2,v=-y/2,$=-3,S=v+u,C=$+c,D=-(a.yAxis.labelPadding*s),_=e,P=vr(r,a.yAxis.labelTextFormat),A=P.split(`
212
+ `),I=A.reduce((V,J)=>J.length>V.length?J:V,""),k=Ts(I,i),w=i*A.length,F=k+u*2,T=w+c*2,B=-k-u,N=-3-w/2,E=B+u,z=N+c;return[{id:"label-x",x:d,y:f,text:h,textArr:p,textWidth:m,textHeight:b,colorType:a.xAxis.labelColorType,textColorType:a.xAxis.labelTextColorType,rectWidth:y,rectHeight:x,rectX:v,rectY:$,textX:S,textY:C},{id:"label-y",x:D,y:_,text:P,textArr:A,textWidth:k,textHeight:w,colorType:a.yAxis.labelColorType,textColorType:a.xAxis.labelTextColorType,rectWidth:F,rectHeight:T,rectX:B,rectY:N,textX:E,textY:z}]}function HZ({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:a}){const i=Y(e,"auxline");return t.selectAll(`line.${i}`).data(n).join(o=>o.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),o=>o.transition().duration(50).attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),o=>o.remove()).style("stroke",o=>$t(o.colorType,a)).style("stroke-dasharray",o=>o.dashArray)}function XZ(t){t.selectAll("line").data([]).exit().remove()}function WZ({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:a,textReverseTransform:i,textSizePx:o}){return t.selectAll(`g.${qm}`).data(e).join(s=>s.append("g").classed(qm,!0).style("cursor","pointer").attr("transform",(l,u)=>`translate(${l.x}, ${l.y})`),s=>s.transition().duration(50).attr("transform",(l,u)=>`translate(${l.x}, ${l.y})`),s=>s.remove()).each((s,l,u)=>{H(u[l]).selectAll("rect").data([s]).join(c=>c.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),c=>c,c=>c.remove()).attr("width",c=>`${c.rectWidth}px`).attr("height",c=>`${c.rectHeight}px`).attr("fill",c=>$t(c.colorType,a)).attr("x",c=>c.rectX).attr("y",c=>c.rectY).style("transform",i),H(u[l]).selectAll("text").data([s]).join(c=>c.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),c=>c,c=>c.remove()).style("transform",i).attr("fill",c=>$t(c.textColorType,a)).attr("font-size",a.styles.textSize).attr("x",c=>c.textX).attr("y",c=>c.textY).each((c,d,f)=>{Sm(H(f[d]),{textArr:s.textArr,textSizePx:o,groupAxisPosition:d===0?"bottom":"left",isContainerRotated:!1})})})}function UZ(t){t.selectAll(`g.${qm}`).data([]).exit().remove()}const YZ=Qe(GZ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=e.insert("rect","g").classed(Y(gf,"rect"),!0).attr("opacity",0),{axesSelection$:s}=Wm({selection:t,pluginName:gf,clipPathID:"test",categoryLabels$:a.isCategorySeprate$.pipe(O(h=>Mr(()=>h,a.categoryLabels$,a.categoryLabels$.pipe(R(p=>[p[0]]))))),containerPosition$:a.containerPosition$,graphicTransform$:a.graphicTransform$});a.layout$.pipe(M(i)).subscribe(h=>{o.attr("width",h.rootWidth).attr("height",h.rootHeight)});const l=a.containerPosition$.pipe(R(h=>h.reduce((p,g)=>g.columnIndex>p?g.columnIndex:p,0)+1),Z()),u=a.containerPosition$.pipe(R(h=>h.reduce((p,g)=>g.rowIndex>p?g.rowIndex:p,0)+1),Z()),c=a.containerPosition$.pipe(M(i),O(async h=>h),R(h=>`${`scale(${1/h[0].scale[0]}, ${1/h[0].scale[1]})`}`),Z()),d=Hq({rootSelection:e,fullDataFormatter$:a.fullDataFormatter$,filteredXYMinMaxData$:a.filteredXYMinMaxData$,containerPosition$:a.containerPosition$,layout$:a.layout$}).pipe(M(i));j({axesSelection:s,layout:a.layout$,xyPosition:d,fullParams:a.fullParams$,fullDataFormatter:a.fullDataFormatter$,fullChartParams:a.fullChartParams$,textReverseTransform:c,textSizePx:a.textSizePx$,columnAmount:l,rowAmount:u}).pipe(M(i),O(async h=>h)).subscribe(h=>{const{x:p,y:g,xValue:m,yValue:b}=h.xyPosition,y=jZ({axisX:p,axisY:g,layout:h.layout,fullParams:h.fullParams});HZ({selection:h.axesSelection,pluginName:n,lineData:y,fullParams:h.fullParams,fullChartParams:h.fullChartParams});const x=VZ({axisX:p,axisY:g,xValue:m,yValue:b,fullParams:h.fullParams,textSizePx:h.textSizePx,layout:h.layout,columnAmount:h.columnAmount,rowAmount:h.rowAmount});WZ({selection:h.axesSelection,labelData:x,fullParams:h.fullParams,fullDataFormatter:h.fullDataFormatter,fullChartParams:h.fullChartParams,textReverseTransform:h.textReverseTransform,textSizePx:h.textSizePx})});const f=ws(o,"mouseout").pipe(M(i));return j({rootRectMouseout:f,axesSelection:s}).pipe(M(i),O(async h=>h)).subscribe(h=>{setTimeout(()=>{XZ(h.axesSelection),UZ(h.axesSelection)})}),()=>{i.next(void 0),o.remove()}}),qZ=6,ZZ="end",JZ="middle",KZ="end",QZ="auto";function tJ({selection:t,yLabelClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i}){const o=n.tickPadding-n.labelOffset[0],s=n.tickPadding+n.labelOffset[1];let l=-o,u=-s;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((c,d,f)=>{H(f[d]).selectAll("text").data([c]).join(h=>h.append("text").style("font-weight","bold"),h=>h,h=>h.remove()).attr("text-anchor",KZ).attr("dominant-baseline",QZ).attr("font-size",i.styles.textSize).style("fill",$t(n.labelColorType,i)).attr("x",l).attr("y",u).text(h=>a.yAxis.label)})}function eJ({selection:t,yAxisClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i,yScale:o}){const s=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let l=n.tickPadding;const u=Mh(o).scale(o).ticks(n.ticks).tickFormat(d=>vr(d,n.tickFormat)).tickSize(n.tickFullLine==!0?-r.width:qZ).tickPadding(l),c=s.transition().duration(100).ease($n).call(u);return c.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?$t(n.tickColorType,i):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),c.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?$t(n.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),s.selectAll("text").attr("font-size",i.styles.textSize).style("color",$t(n.tickTextColorType,i)).attr("text-anchor",ZZ).attr("dominant-baseline",JZ).attr("x",-l).attr("dy",0),s}const nJ=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:a,fullChartParams$:i,isCategorySeprate$:o,containerPosition$:s,containerSize$:l,yScale$:u})=>{const c=new K,d=Y(t,"yAxisG"),f=Y(t,"yAxis"),h=Y(t,"yLabel"),p=Ms({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:s,isCategorySeprate$:o}).pipe(M(c)).pipe(M(c),R((g,m)=>g.selectAll(`g.${d}`).data([d]).join("g").classed(d,!0)));return j({axisSelection:p,fullParams:r,computedData:n,containerSize:l,fullDataFormatter:a,fullChartParams:i,yScale:u}).pipe(M(c),O(async g=>g)).subscribe(g=>{eJ({selection:g.axisSelection,yAxisClassName:f,fullParams:g.fullParams,containerSize:g.containerSize,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,yScale:g.yScale}),tJ({selection:g.axisSelection,yLabelClassName:h,fullParams:g.fullParams,containerSize:g.containerSize,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams})}),()=>{c.next(void 0)}},Zm="XYAxes",rJ={name:Zm,defaultParams:pf,layerIndex:sn,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},aJ=Qe(rJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,i=n.fullParams$.pipe(M(a),R(u=>u.xAxis),Z((u,c)=>JSON.stringify(u)===JSON.stringify(c))),o=n.fullParams$.pipe(M(a),R(u=>u.xAxis),Z((u,c)=>JSON.stringify(u)===JSON.stringify(c))),s=Ym(`${Zm}-x`,{selection:t,position$:hn("bottom"),transitionDuration$:hn(100),computedData$:n.computedData$,fullParams$:i,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$}),l=nJ(`${Zm}-y`,{selection:t,computedData$:n.computedData$,fullParams$:o,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,yScale$:n.yScale$});return()=>{a.next(void 0),s(),l()}}),iJ="XZoom",oJ={name:iJ,defaultParams:AC,layerIndex:SD,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})},sJ=Qe(oJ)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new K;let o={k:1,x:0,y:0};const s=r.fullDataFormatter$.pipe(R(d=>d.xAxis),uo()),l=r.fullDataFormatter$.pipe(R(d=>d.yAxis),uo()),u=new mt(d=>{j({initXAxis:s,layout:r.layout$,xyMinMax:r.xyMinMax$}).pipe(M(i),O(async f=>f)).subscribe(f=>{const h=yh({maxValue:f.xyMinMax.maxX,minValue:f.xyMinMax.minX,axisWidth:f.layout.width,scaleDomain:f.initXAxis.scaleDomain,scaleRange:f.initXAxis.scaleRange});d.next(h)})}),c=j({initXAxis:s,initYAxis:l,xyMinMax:r.xyMinMax$}).pipe(M(i),O(async d=>d),R(d=>{let f=d.xyMinMax.minX,h=d.xyMinMax.maxX,p=d.xyMinMax.minY,g=d.xyMinMax.maxY;return d.initXAxis.scaleDomain[0]==="auto"&&f>0&&(f=0),d.initXAxis.scaleDomain[1]==="auto"&&h<0&&(h=0),d.initYAxis.scaleDomain[0]==="auto"&&p>0&&(p=0),d.initYAxis.scaleDomain[1]==="auto"&&g<0&&(g=0),{minX:f,maxX:h,minY:p,maxY:g}}));return j({initXScale:u,fullDataFormatter:r.fullDataFormatter$,minMaxScaleDomain:c}).pipe(M(i),O(async d=>d)).subscribe(d=>{const f=d.initXScale.copy(),h=Un().on("zoom",function(p){const g=p.transform,m=x=>{const v=Math.round(x);return Math.min(d.minMaxScaleDomain.maxX,Math.max(d.minMaxScaleDomain.minX,v))},b=g.rescaleX(f).domain().map(m);b[0]<=d.minMaxScaleDomain.minX&&b[1]>=d.minMaxScaleDomain.maxX?g.k<o.k&&(g.k=o.k,g.x=o.x,g.y=o.y):b[1]-b[0]<=1&&g.k>o.k&&(g.k=o.k,g.x=o.x,g.y=o.y),o.k=g.k,o.x=g.x,o.y=g.y;const y={...d.fullDataFormatter,xAxis:{...d.fullDataFormatter.xAxis,scaleDomain:b}};a.dataFormatter$.next(y)});e.call(h)}),()=>{i.next(void 0),e.call(Un().on("zoom",null))}}),lJ={header:{height:36,text:[],textStyle:[]},footer:{height:0,text:[],textStyle:[]}},TC={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,textRenderFn:t=>{if(t.highlightTarget==="datum"&&t.datum)return[`${t.datum.label}: ${t.datum.value}`];if(t.highlightTarget==="series"){const e=t.seriesLabel,n=t.series.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="group"){const e=t.groupLabel,n=t.series.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="category"){const e=t.categoryLabel,n=t.category.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}return[]},svgRenderFn:null};TC.textRenderFn.toString=()=>`(eventData) => {
213
+ if (eventData.highlightTarget === 'datum' && eventData.datum) {
214
+ return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
215
+ } else if (eventData.highlightTarget === 'series') {
216
+ const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
217
+ const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
218
+ .filter(d => d.visible == true)
219
+ .map(d => {
220
+ return d.value
221
+ })
222
+ const value = valueArr.length > 5
223
+ ? valueArr.slice(0, 5).join(',') + '...'
224
+ : valueArr.join(',')
225
+ return [label, value]
226
+ } else if (eventData.highlightTarget === 'group') {
227
+ const label = (eventData as EventBaseGridValue<any, any>).groupLabel
228
+ const valueArr = (eventData as EventBaseGridValue<any, any>).series
229
+ .filter(d => d.visible == true)
230
+ .map(d => {
231
+ return d.value
232
+ })
233
+ const value = valueArr.length > 5
234
+ ? valueArr.slice(0, 5).join(',') + '...'
235
+ : valueArr.join(',')
236
+ return [label, value]
237
+ } else if (eventData.highlightTarget === 'category') {
238
+ const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
239
+ const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
240
+ .filter(d => d.visible == true)
241
+ .map(d => {
242
+ return d.value
243
+ })
244
+ const value = valueArr.length > 5
245
+ ? valueArr.slice(0, 5).join(',') + '...'
246
+ : valueArr.join(',')
247
+ return [label, value]
248
+ }
249
+ return []
250
+ }`;const Gi={dot:{radius:10,fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},dotLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},arrow:{colorType:"primary",strokeWidth:1.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:100,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Gi.dot.styleFn.toString=()=>"(node) => ''",Gi.dotLabel.styleFn.toString=()=>"(node) => ''",Gi.arrow.styleFn.toString=()=>"(edge) => ''",Gi.arrowLabel.styleFn.toString=()=>"(edge) => ''";const ji={bubble:{radiusMin:15,radiusMax:45,arcScaleType:"area",fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},bubbleLabel:{fillRate:.9,lineHeight:1,maxLineLength:6,wordBreakAll:!0,colorType:"labelContrast",styleFn:t=>""},arrow:{colorType:"primary",strokeWidthMin:1.5,strokeWidthMax:4.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:130,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};ji.bubble.styleFn.toString=()=>"(node) => ''",ji.bubbleLabel.styleFn.toString=()=>"(node) => ''",ji.arrow.styleFn.toString=()=>"(edge) => ''",ji.arrowLabel.styleFn.toString=()=>"(edge) => ''";const wC={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Jm={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,a=!!t.datum.label,i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,s=e.textSizePx/2-o/2,l=r?`<rect width="${o}" height="${o}" x="${s}" y="${s-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
251
+ <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
252
+ <tspan>${t.categoryLabel}</tspan>
253
+ </text>`:"",u=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
254
+ ${u}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
255
+ </text>`;return`${l}
256
+ <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
257
+ ${g}
258
+ </g>`}};Jm.renderFn.toString=()=>`(eventData, { styles, utils }) => {
259
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
260
+ const hasDatumLabel = eventData.datum.label ? true : false
261
+ const valueText = utils.toCurrency(eventData.datum.value)
262
+ const bulletWidth = styles.textSizePx * 0.7
263
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
264
+ const categorySvg = hasCategoryLabel
265
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
266
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
267
+ <tspan>\${eventData.categoryLabel}</tspan>
268
+ </text>\`
269
+ : ''
270
+ const datumLabelSvg = hasDatumLabel
271
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
272
+ : ''
273
+ const categoryLabelTextWidth = hasCategoryLabel
274
+ ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
275
+ : 0
276
+ const datumLabelTextWidth = hasDatumLabel
277
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
278
+ : 0
279
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
280
+ const lineEndX = hasDatumLabel
281
+ ? maxTextWidth + styles.textSizePx * 0.5
282
+ : 0
283
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
284
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
285
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
286
+ </text>\`
287
+
288
+ return \`\${categorySvg}
289
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
290
+ \${datumSvg}
291
+ </g>\`
292
+ }`;const Yt="ForceDirected",uJ=Y(Yt,"zoom-area"),BC=me(Yt,"arrow"),MC=Y(Yt,"arrow-marker"),cJ=Y(Yt,"edge-list-g"),fJ=Y(Yt,"edge-g"),EC=Y(Yt,"edge-arrow-path"),LC=Y(Yt,"edge-label-g"),RC=Y(Yt,"edge-label"),dJ=Y(Yt,"node-list-g"),hJ=Y(Yt,"node-g"),kC=Y(Yt,"node-circle"),IC=Y(Yt,"node-label-g"),NC=Y(Yt,"node-label"),pJ={name:Yt,defaultParams:Gi,layerIndex:Pe,validator:(t,{validateColumns:e})=>{const n=e(t,{dot:{toBeTypes:["object"]},dotLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.dot){const r=e(t.dot,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.dotLabel){const r=e(t.dotLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function gJ(t,e){return Ou().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Ip().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",Gu().strength(e.force.nodeStrength)).force("collision",zu(e.dot.radius).strength(1)).force("center",Rp(t.width/2,t.height/2))}function mJ(t){return"translate("+t.x+","+t.y+")"}function yJ(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function bJ(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function xJ(t,e,n){return t.selectAll(`marker.${MC}`).data([e]).join(r=>{const a=r.append("marker").classed(MC,!0).attr("id",BC).attr("fill",i=>$t(e.arrow.colorType,n)).attr("viewBox",i=>`-${i.arrow.pointerWidth} -${i.arrow.pointerHeight/2} ${i.arrow.pointerWidth} ${i.arrow.pointerHeight}`).attr("orient","auto");return a.append("path").attr("d",i=>`M${-i.arrow.pointerWidth},${-i.arrow.pointerHeight/2}L0,0L${-i.arrow.pointerWidth},${i.arrow.pointerHeight/2}`),a},r=>r,r=>r.remove()).attr("markerWidth",r=>r.arrow.pointerWidth).attr("markerHeight",r=>r.arrow.pointerHeight).attr("refX",r=>(r.dot.radius+e.dot.strokeWidth/2)/r.arrow.strokeWidth-1).attr("refY",0)}function vJ(t,e){function n(i,o){i.active||t.alphaTarget(.3).restart(),i.subject.fx=i.x,i.subject.fy=i.y,e.next("start")}function r(i,o){i.subject.fx=i.x,i.subject.fy=i.y,e.next("drag")}function a(i,o){i.active||t.alphaTarget(0),i.subject.fx=null,i.subject.fy=null,e.next("end")}return cu().on("start",n).on("drag",r).on("end",a)}function $J({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(hJ,!0),n=>n,n=>n.remove())}function _J({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("circle").data([r]).join(o=>o.append("circle").classed(kC,!0).attr("cursor","pointer"),o=>o,o=>o.remove()).attr("r",e.dot.radius).attr("fill",o=>Pt({datum:o,colorType:e.dot.fillColorType,fullChartParams:n})).attr("stroke",o=>Pt({datum:o,colorType:e.dot.strokeColorType,fullChartParams:n})).attr("stroke-width",e.dot.strokeWidth).attr("style",o=>e.dot.styleFn(o))}),t.select(`circle.${kC}`)}function AJ({nodeGSelection:t,fullParams:e}){return t.each((n,r,a)=>{H(a[r]).selectAll("g").data([n]).join(i=>i.append("g").classed(IC,!0),i=>i,i=>i.remove()).attr("transform",`translate(0, ${-e.dot.radius-10})`)}),t.select(`g.${IC}`)}function SJ({nodeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(NC,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.dotLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.dotLabel.styleFn(o))}),t.select(`text.${NC}`)}function DJ({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(fJ,!0),n=>n,n=>n.remove())}function CJ({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("path").data([r]).join(o=>o.append("path").classed(EC,!0).attr("marker-end",`url(#${BC})`),o=>o,o=>o.remove()).attr("stroke",o=>Pt({datum:o.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",e.arrow.strokeWidth).attr("style",o=>e.arrow.styleFn(o))}),t.select(`path.${EC}`)}function PJ({edgeGSelection:t}){return t.each((e,n,r)=>{H(r[n]).selectAll("g").data([e]).join(a=>a.append("g").classed(LC,!0),a=>a,a=>a.remove())}),t.select(`g.${LC}`)}function FJ({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(RC,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.arrowLabel.styleFn(o))}),t.select(`text.${RC}`)}function TJ({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((a,i,o)=>{const s=H(o[i]);n.includes(a.id)?s.style("opacity",1).transition("highlight").ease(Qr).duration(500):s.style("opacity",r.styles.unhighlightedOpacity)})}const wJ=Wl(pJ)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new K,o=t.append("g").classed(uJ,!0),s=o.append("defs"),l=o.append("g").classed(cJ,!0),u=o.append("g").classed(dJ,!0);let c,d,f,h,p,g,m,b;const y=new Md("end"),x=new K;j({fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(M(i),O(async C=>C),R(({fullParams:C,fullChartParams:D})=>xJ(s,C,D))).subscribe();const v=r.fullParams$.pipe(M(i),R(C=>{let D=C.zoomable?Un().on("zoom",_=>{o.attr("transform",`translate(
293
+ ${_.transform.x},
294
+ ${_.transform.y}
295
+ ) scale(
296
+ ${_.transform.k}
297
+ )`),C.dotLabel.sizeFixed&&h&&h.attr("transform",`scale(${1/_.transform.k})`),C.arrowLabel.sizeFixed&&b&&b.attr("transform",`scale(${1/_.transform.k})`)}):Un().on("zoom",null);return C.scaleExtent&&D.scaleExtent([C.scaleExtent.min,C.scaleExtent.max]),e.call(D),D}));j({d3Zoom:v,transform:r.fullParams$.pipe(M(i),R(C=>C.transform))}).pipe(M(i),O(async C=>C)).subscribe(C=>{t.call(C.d3Zoom.transform,Li.translate(C.transform.x,C.transform.y).scale(C.transform.k))});const $=j({layout:r.layout$.pipe(uo()),fullParams:r.fullParams$}).pipe(M(i),O(async C=>C),R(C=>gJ(C.layout,C.fullParams)),ot(1)),S=r.visibleComputedData$.pipe(M(i),R(C=>({nodes:C.nodes,edges:C.edges.map(D=>{let _=D;return _.source=D.startNode,_.target=D.endNode,_})})),ot(1));return j({renderData:S,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:$,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(M(i),O(async C=>C)).subscribe(C=>{c=$J({nodeListGSelection:u,nodes:C.renderData.nodes}),d=_J({nodeGSelection:c,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),c.call(vJ(C.simulation,y)),f=AJ({nodeGSelection:c,fullParams:C.fullParams}),h=SJ({nodeLabelGSelection:f,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),p=DJ({edgeListGSelection:l,edges:C.renderData.edges}),g=CJ({edgeGSelection:p,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),m=PJ({edgeGSelection:p}),b=FJ({edgeLabelGSelection:m,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),C.simulation.nodes(C.renderData.nodes).on("tick",()=>{g.attr("d",bJ),c.attr("transform",mJ),m.attr("transform",D=>yJ(D))}),C.simulation.force("link").links(C.renderData.edges),C.simulation.alpha(.3).restart(),d.on("mouseover",(D,_)=>{D.stopPropagation(),x.next({type:"relationship",eventName:"mouseover",pluginName:Yt,highlightTarget:C.fullChartParams.highlightTarget,datum:_,category:C.CategoryNodeMap.get(_.categoryLabel),categoryIndex:_.categoryIndex,categoryLabel:_.categoryLabel,event:D,data:C.computedData})}).on("mousemove",(D,_)=>{D.stopPropagation(),x.next({type:"relationship",eventName:"mousemove",pluginName:Yt,highlightTarget:C.fullChartParams.highlightTarget,datum:_,category:C.CategoryNodeMap.get(_.categoryLabel),categoryIndex:_.categoryIndex,categoryLabel:_.categoryLabel,event:D,data:C.computedData})}).on("mouseout",(D,_)=>{D.stopPropagation(),x.next({type:"relationship",eventName:"mouseout",pluginName:Yt,highlightTarget:C.fullChartParams.highlightTarget,datum:_,category:C.CategoryNodeMap.get(_.categoryLabel),categoryIndex:_.categoryIndex,categoryLabel:_.categoryLabel,event:D,data:C.computedData})}).on("click",(D,_)=>{D.stopPropagation(),x.next({type:"relationship",eventName:"click",pluginName:Yt,highlightTarget:C.fullChartParams.highlightTarget,datum:_,category:C.CategoryNodeMap.get(_.categoryLabel),categoryIndex:_.categoryIndex,categoryLabel:_.categoryLabel,event:D,data:C.computedData})})}),y.pipe(Z((C,D)=>C===D),O(C=>Mr(()=>C==="end",x,bl))).subscribe(C=>{a.event$.next(C)}),j({renderData:S,highlightNodes:r.relationshipHighlightNodes$.pipe(R(C=>C.map(D=>D.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(R(C=>C.map(D=>D.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(M(i),O(async C=>C)).subscribe(C=>{!c||!p||TJ({nodeGSelection:c,edgeGSelection:p,highlightIds:C.highlightNodes,fullChartParams:C.fullChartParams})}),()=>{i.next(void 0)}}),re="ForceDirectedBubbles",zC=12,BJ=Y(re,"zoom-area"),MJ=me(re,"arrow"),OC=Y(re,"arrow-marker"),EJ=Y(re,"edge-list-g"),LJ=Y(re,"edge-g"),GC=Y(re,"edge-arrow-path"),jC=Y(re,"edge-label-g"),VC=Y(re,"edge-label"),RJ=Y(re,"node-list-g"),kJ=Y(re,"node-g"),HC=Y(re,"node-circle"),IJ={name:re,defaultParams:ji,layerIndex:Pe,validator:(t,{validateColumns:e})=>{const n=e(t,{bubble:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.bubble){const r=e(t.bubble,{radiusMin:{toBeTypes:["number"]},radiusMax:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:a=>a==="area"||a==="radius"},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidthMin:{toBeTypes:["number"]},strokeWidthMax:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function NJ(t,e){return Ou().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Ip().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",Gu().strength(e.force.nodeStrength)).force("collision",zu(e.bubble.radiusMax).strength(1)).force("center",Rp(t.width/2,t.height/2))}function zJ(t){return"translate("+t.x+","+t.y+")"}function OJ(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function GJ(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function jJ({defsSelection:t,markerParams:e,markerData:n,fullParams:r,fullChartParams:a}){return t.selectAll(`marker.${OC}`).data(n).join(i=>{const o=i.append("marker").classed(OC,!0).attr("viewBox",e.viewBox).attr("orient","auto");return o.append("path").attr("d",e.d),o},i=>i,i=>i.remove()).attr("id",i=>i.id).attr("fill",i=>$t(r.arrow.colorType,a)).attr("markerWidth",e.pointerWidth).attr("markerHeight",e.pointerHeight).attr("refX",i=>i.refX).attr("refY",0)}function VJ(t,e){function n(i,o){i.active||t.alphaTarget(.3).restart(),i.subject.fx=i.subject.x,i.subject.fy=i.subject.y,e.next("start")}function r(i,o){i.subject.fx=i.x,i.subject.fy=i.y,e.next("drag")}function a(i,o){i.active||t.alphaTarget(0),i.subject.fx=null,i.subject.fy=null,e.next("end")}return cu().on("start",n).on("drag",r).on("end",a)}function HJ({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(kJ,!0),n=>n,n=>n.remove())}function XJ({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("circle").data([r]).join(o=>o.append("circle").classed(HC,!0).attr("cursor","pointer"),o=>o,o=>o.remove()).attr("r",o=>o.r).attr("fill",o=>Pt({datum:o,colorType:e.bubble.fillColorType,fullChartParams:n})).attr("stroke",o=>Pt({datum:o,colorType:e.bubble.strokeColorType,fullChartParams:n})).attr("stroke-width",e.bubble.strokeWidth).attr("style",o=>e.bubble.styleFn(o))}).attr("text-anchor","middle").attr("font-size",zC).each((r,a,i)=>{const o=H(i[a]);o.call(XD,{text:r.label,radius:r.r*e.bubbleLabel.fillRate,lineHeight:zC*e.bubbleLabel.lineHeight,isBreakAll:r.label.length<=e.bubbleLabel.maxLineLength?!1:e.bubbleLabel.wordBreakAll}),o.select("text").attr("fill",s=>Pt({datum:r,colorType:e.bubbleLabel.colorType,fullChartParams:n}))}),t.select("text").attr("pointer-events","none").attr("style",r=>e.bubbleLabel.styleFn(r)),t.select(`circle.${HC}`)}function WJ({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(LJ,!0),n=>n,n=>n.remove())}function UJ({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("path").data([r]).join(o=>o.append("path").classed(GC,!0),o=>o,o=>o.remove()).attr("marker-end",o=>`url(#${o.markerId})`).attr("stroke",o=>Pt({datum:o.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",o=>o.strokeWidth).attr("style",o=>e.arrow.styleFn(o))}),t.select(`path.${GC}`)}function YJ({edgeGSelection:t}){return t.each((e,n,r)=>{H(r[n]).selectAll("g").data([e]).join(a=>a.append("g").classed(jC,!0),a=>a,a=>a.remove())}),t.select(`g.${jC}`)}function qJ({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{H(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(VC,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.arrowLabel.styleFn(o))}),t.select(`text.${VC}`)}function ZJ({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((a,i,o)=>{const s=H(o[i]);n.includes(a.id)?s.style("opacity",1).transition("highlight").ease(Qr).duration(500):s.style("opacity",r.styles.unhighlightedOpacity)})}const JJ=Wl(IJ)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new K,o=t.append("g").classed(BJ,!0),s=o.append("defs"),l=o.append("g").classed(EJ,!0),u=o.append("g").classed(RJ,!0);let c,d,f,h,p,g;const m=new Md("end"),b=new K,y=r.fullParams$.pipe(M(i),R(F=>{let T=F.zoomable?Un().on("zoom",B=>{o.attr("transform",`translate(
298
+ ${B.transform.x},
299
+ ${B.transform.y}
300
+ ) scale(
301
+ ${B.transform.k}
302
+ )`),F.arrowLabel.sizeFixed&&g&&g.attr("transform",`scale(${1/B.transform.k})`)}):Un().on("zoom",null);return F.scaleExtent&&T.scaleExtent([F.scaleExtent.min,F.scaleExtent.max]),e.call(T),T}));j({d3Zoom:y,transform:r.fullParams$.pipe(M(i),R(F=>F.transform))}).pipe(M(i),O(async F=>F)).subscribe(F=>{t.call(F.d3Zoom.transform,Li.translate(F.transform.x,F.transform.y).scale(F.transform.k))});const x=j({layout:r.layout$.pipe(uo()),fullParams:r.fullParams$}).pipe(M(i),O(async F=>F),R(F=>NJ(F.layout,F.fullParams)),ot(1)),v=r.computedData$.pipe(M(i),R(F=>{const T=F.nodes.filter(N=>N.value!=null);if(!T.length)return[0,2];const B=sh(F.nodes.map(N=>N.value));return T.length==1||B[0]===B[1]?[B[0]-1,B[1]+1]:B}),ot(1)),$=r.computedData$.pipe(M(i),R(F=>{const T=F.edges.filter(N=>N.value!=null);if(!T.length)return[0,2];const B=sh(F.edges.map(N=>N.value));return T.length==1||B[0]===B[1]?[B[0]-1,B[1]+1]:B}),ot(1)),S=v.pipe(M(i),R(F=>(F[1]-F[0])/2)),C=$.pipe(M(i),R(F=>(F[1]-F[0])/2)),D=j({nodeMinMaxValue:v,fullParams:r.fullParams$}).pipe(M(i),O(async F=>F),R(F=>gr().domain(F.nodeMinMaxValue).range([F.fullParams.bubble.radiusMin,F.fullParams.bubble.radiusMax]).exponent(F.fullParams.bubble.arcScaleType==="area"?.5:1))),_=j({edgeMinMaxValue:$,fullParams:r.fullParams$}).pipe(M(i),O(async F=>F),R(F=>fa().domain(F.edgeMinMaxValue).range([F.fullParams.arrow.strokeWidthMin,F.fullParams.arrow.strokeWidthMax]))),P=j({computedData:r.computedData$,radiusScale:D,defaultNodeValue:S}).pipe(M(i),O(async F=>F),R(F=>new Map(F.computedData.nodes.map(T=>{let B=T;return B.r=F.radiusScale(B.value??F.defaultNodeValue),[B.id,B]})))),A=j({computedData:r.computedData$,strokeWidthScale:_,defaultEdgeValue:C}).pipe(M(i),O(async F=>F),R(F=>new Map(F.computedData.edges.map(T=>{let B=T;return B.source=T.startNode,B.target=T.endNode,B.strokeWidth=F.strokeWidthScale(B.value??F.defaultEdgeValue),B.markerId=`${MJ}__${B.id}`,[B.id,B]})))),I=j({visibleComputedData:r.visibleComputedData$,RenderNodeMap:P,RenderEdgeMap:A}).pipe(M(i),O(async F=>F),R(F=>({nodes:F.visibleComputedData.nodes.map(T=>F.RenderNodeMap.get(T.id)),edges:F.visibleComputedData.edges.map(T=>F.RenderEdgeMap.get(T.id))})),ot(1)),k=r.fullParams$.pipe(M(i),R(F=>({viewBox:`-${F.arrow.pointerWidth} -${F.arrow.pointerHeight/2} ${F.arrow.pointerWidth} ${F.arrow.pointerHeight}`,d:`M${-F.arrow.pointerWidth},${-F.arrow.pointerHeight/2}L0,0L${-F.arrow.pointerWidth},${F.arrow.pointerHeight/2}`,pointerWidth:F.arrow.pointerWidth,pointerHeight:F.arrow.pointerHeight}))),w=j({computedData:r.computedData$,fullParams:r.fullParams$,RenderNodeMap:P,RenderEdgeMap:A}).pipe(M(i),O(async F=>F),R(F=>F.computedData.edges.map(T=>{const B=F.RenderEdgeMap.get(T.id),N=F.RenderNodeMap.get(T.endNode.id);return{id:B.markerId,edgeId:T.id,strokeWidth:B.strokeWidth,refX:(N.r+F.fullParams.bubble.strokeWidth/2)/B.strokeWidth-1}})));return j({defsSelection:s,markerParams:k,markerData:w,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(M(i),O(async F=>F),R(F=>jJ({defsSelection:s,markerParams:F.markerParams,markerData:F.markerData,fullParams:F.fullParams,fullChartParams:F.fullChartParams}))).subscribe(),j({renderData:I,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:x,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(M(i),O(async F=>F)).subscribe(F=>{c=HJ({nodeListGSelection:u,nodes:F.renderData.nodes}),d=XJ({nodeGSelection:c,fullParams:F.fullParams,fullChartParams:F.fullChartParams}),c.call(VJ(F.simulation,m)),f=WJ({edgeListGSelection:l,edges:F.renderData.edges}),h=UJ({edgeGSelection:f,fullParams:F.fullParams,fullChartParams:F.fullChartParams}),p=YJ({edgeGSelection:f}),g=qJ({edgeLabelGSelection:p,fullParams:F.fullParams,fullChartParams:F.fullChartParams}),F.simulation.nodes(F.renderData.nodes).on("tick",()=>{h.attr("d",GJ),c.attr("transform",zJ),p.attr("transform",T=>OJ(T))}),F.simulation.force("link").links(F.renderData.edges),F.simulation.alpha(.3).restart(),d.on("mouseover",(T,B)=>{T.stopPropagation(),b.next({type:"relationship",eventName:"mouseover",pluginName:re,highlightTarget:F.fullChartParams.highlightTarget,datum:B,category:F.CategoryNodeMap.get(B.categoryLabel),categoryIndex:B.categoryIndex,categoryLabel:B.categoryLabel,event:T,data:F.computedData})}).on("mousemove",(T,B)=>{T.stopPropagation(),b.next({type:"relationship",eventName:"mousemove",pluginName:re,highlightTarget:F.fullChartParams.highlightTarget,datum:B,category:F.CategoryNodeMap.get(B.categoryLabel),categoryIndex:B.categoryIndex,categoryLabel:B.categoryLabel,event:T,data:F.computedData})}).on("mouseout",(T,B)=>{T.stopPropagation(),b.next({type:"relationship",eventName:"mouseout",pluginName:re,highlightTarget:F.fullChartParams.highlightTarget,datum:B,category:F.CategoryNodeMap.get(B.categoryLabel),categoryIndex:B.categoryIndex,categoryLabel:B.categoryLabel,event:T,data:F.computedData})}).on("click",(T,B)=>{T.stopPropagation(),b.next({type:"relationship",eventName:"click",pluginName:re,highlightTarget:F.fullChartParams.highlightTarget,datum:B,category:F.CategoryNodeMap.get(B.categoryLabel),categoryIndex:B.categoryIndex,categoryLabel:B.categoryLabel,event:T,data:F.computedData})})}),m.pipe(Z((F,T)=>F===T),O(F=>Mr(()=>F==="end",b,bl))).subscribe(F=>{a.event$.next(F)}),j({renderData:I,highlightNodes:r.relationshipHighlightNodes$.pipe(R(F=>F.map(T=>T.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(R(F=>F.map(T=>T.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(M(i),O(async F=>F)).subscribe(F=>{!c||!f||ZJ({nodeGSelection:c,edgeGSelection:f,highlightIds:F.highlightNodes,fullChartParams:F.fullChartParams})}),()=>{i.next(void 0)}}),XC="RelationshipLegend",KJ={name:XC,defaultParams:wC,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},QJ=Wl(KJ)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.fullParams$.pipe(M(a),R(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),o=Ii(XC,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}}),WC="RelationshipTooltip",tK={name:WC,defaultParams:Jm,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},eK=Wl(tK)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(WC,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),UC={force:{strength:.08,velocityDecay:.3,collisionSpacing:2},bubbleLabel:{colorType:"labelContrast",fillRate:.6,lineHeight:1,maxLineLength:6,wordBreakAll:!0},arcScaleType:"area"},YC={outerRadius:.85,innerRadius:0,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,padAngle:0,strokeColorType:"background",strokeWidth:1,cornerRadius:0},Km={renderFn:t=>t.eventName==="mouseover"||t.eventName==="mousemove"?[String(t.datum.value)]:[String(Math.round(t.data.reduce((e,n)=>e+n.reduce((r,a)=>r+(a.value??0),0),0)*(t.tween??1)))],textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":64,fill:"#000"}]};Km.renderFn.toString=()=>`(eventData) => {
303
+ if (eventData.eventName === 'mouseover' || eventData.eventName === 'mousemove') {
304
+ return [String(eventData.datum.value)]
305
+ }
306
+ return [
307
+ String(
308
+ Math.round(
309
+ eventData.data.reduce((acc, seriesData) => {
310
+ return acc + seriesData.reduce((_acc, data) => {
311
+ return _acc + (data.value ?? 0)
312
+ }, 0)
313
+ }, 0) * (eventData.tween ?? 1)
314
+ )
315
+ )
316
+ ]
317
+ }`;const Qm={outerRadius:.85,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,labelCentroid:2.1,labelColorType:"primary",labelFn:t=>String(t.label)};Qm.labelFn.toString=()=>"d => String(d.label)";const qC={outerRadius:.95,padAngle:0,strokeColorType:"background",strokeWidth:.5,cornerRadius:0,arcScaleType:"area",angleIncreaseWhileHighlight:.05},t0={outerRadius:.95,labelCentroid:2.1,labelFn:t=>String(t.label),labelColorType:"primary",arcScaleType:"area"};t0.labelFn.toString=()=>"d => String(d.label)";const ZC={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},e0={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.seriesLabel.slice(0,7)!=="series_",a=t.datum.label.slice(0,7)!=="series_",i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,s=e.textSizePx/2-o/2,l=r?`<rect width="${o}" height="${o}" x="${s}" y="${s-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
318
+ <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
319
+ <tspan>${t.seriesLabel}</tspan>
320
+ </text>`:"",u=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.seriesLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*1.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
321
+ ${u}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
322
+ </text>`;return`${l}
323
+ <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
324
+ ${g}
325
+ </g>`}};e0.renderFn.toString=()=>`(eventData, { styles, utils }) => {
326
+ const hasSeriesLabel = eventData.seriesLabel.slice(0, 7) === 'series_' ? false : true
327
+ const hasDatumLabel = eventData.datum.label.slice(0, 7) === 'series_' ? false : true
328
+ const valueText = utils.toCurrency(eventData.datum.value)
329
+ const bulletWidth = styles.textSizePx * 0.7
330
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
331
+ const seriesSvg = hasSeriesLabel
332
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
333
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
334
+ <tspan>\${eventData.seriesLabel}</tspan>
335
+ </text>\`
336
+ : ''
337
+ const datumLabelSvg = hasDatumLabel
338
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
339
+ : ''
340
+ const seriesLabelTextWidth = hasSeriesLabel
341
+ ? utils.measureTextWidth(\`\${eventData.seriesLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
342
+ : 0
343
+ const datumLabelTextWidth = hasDatumLabel
344
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
345
+ : 0
346
+ const maxTextWidth = Math.max(seriesLabelTextWidth, datumLabelTextWidth)
347
+ const lineEndX = hasDatumLabel
348
+ ? maxTextWidth + styles.textSizePx * 1.5
349
+ : 0
350
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
351
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
352
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
353
+ </text>\`
354
+
355
+ return \`\${seriesSvg}
356
+ <g \${hasSeriesLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
357
+ \${datumSvg}
358
+ </g>\`
359
+ }`;const nK="Bubbles",JC=12,rK={name:nK,defaultParams:UC,layerIndex:Pe,validator:(t,{validateColumns:e})=>{const n=e(t,{force:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}});if(t.force){const r=e(t.force,{velocityDecay:{toBeTypes:["number"]},collisionSpacing:{toBeTypes:["number"]},strength:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{colorType:{toBeOption:"ColorType"},fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function aK(t,e){return Ou().velocityDecay(e.force.velocityDecay).force("collision",zu().radius(n=>n.r+e.force.collisionSpacing)).force("charge",Gu().strength(n=>-Math.pow(n.r,2)*e.force.strength)).on("tick",()=>{t.attr("transform",n=>`translate(${n.x},${n.y})`)})}function iK({visibleComputedSortedData:t,LastBubbleDataMap:e,graphicWidth:n,graphicHeight:r,SeriesContainerPositionMap:a,scaleType:i}){const o=Math.min(n,r)/2,s=t.flat(),l=s.reduce((f,h)=>f+h.value,0),u=gr().domain([0,l]).range([0,o]).exponent(i==="area"?.5:1),c=i==="area"?1:(()=>{const f=o*o*Math.PI;return Math.sqrt(f/Th(s,h=>Math.PI*Math.pow(u(h.value),2)))})(),d=.9;return s.map(f=>{const h=f,p=e.get(h.id);if(p)h.x=p.x,h.y=p.y;else{const m=a.get(h.seriesLabel);h.x=Math.random()*m.width,h.y=Math.random()*m.height}const g=u(h.value??0)*c*d;return h.r=g,h._originR=g,h})}function oK({selection:t,bubblesData:e,fullParams:n,fullChartParams:r,sumSeries:a}){const i=t.selectAll("g").data(e,s=>s.id).join(s=>{const l=s.append("g").attr("cursor","pointer").attr("font-size",JC).style("fill","#ffffff").attr("text-anchor","middle");return l.append("circle").attr("class","node").attr("cx",0).attr("cy",0).attr("fill",u=>u.color),l.append("text").style("opacity",.8).attr("pointer-events","none"),l},s=>s,s=>s.remove()).attr("transform",s=>`translate(${s.x},${s.y})`),o=a?"seriesLabel":"label";return i.select("circle").transition().duration(200).attr("r",s=>s.r).attr("fill",s=>s.color),i.each((s,l,u)=>{const c=H(u[l]),d=s[o]??"";c.call(XD,{text:d,radius:s.r*n.bubbleLabel.fillRate,lineHeight:JC*n.bubbleLabel.lineHeight,isBreakAll:d.length<=n.bubbleLabel.maxLineLength?!1:n.bubbleLabel.wordBreakAll}),c.select("text").attr("fill",f=>Pt({datum:s,colorType:n.bubbleLabel.colorType,fullChartParams:r}))}),i}function sK(t){return cu().on("start",(e,n)=>{e.active||t.alpha(1).restart(),n.fx=n.x,n.fy=n.y}).on("drag",(e,n)=>{e.active||t.alphaTarget(0),n.fx=e.x,n.fy=e.y}).on("end",(e,n)=>{n.fx=null,n.fy=null,t.alpha(1).restart()})}function lK({_simulation:t,fullParams:e,SeriesContainerPositionMap:n}){t.force("x",Q$().strength(e.force.strength).x(r=>n.get(r.seriesLabel).centerX)).force("y",t2().strength(e.force.strength).y(r=>n.get(r.seriesLabel).centerY))}function uK({bubblesSelection:t,highlightIds:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1);return}t.each((r,a,i)=>{const o=H(i[a]);e.includes(r.id)?o.style("opacity",1).transition("highlight").ease(Qr).duration(500):o.style("opacity",n.styles.unhighlightedOpacity)})}const cK=or(rK)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K;let i,o=new Map;const s=n.fullDataFormatter$.pipe(R(f=>f.sumSeries),Z()),l=n.fullParams$.pipe(M(a),R(f=>f.arcScaleType),Z()),u=j({layout:n.layout$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,visibleComputedSortedData:n.visibleComputedSortedData$,scaleType:l}).pipe(M(a),O(async f=>f),R(f=>iK({visibleComputedSortedData:f.visibleComputedSortedData,LastBubbleDataMap:o,graphicWidth:f.layout.width,graphicHeight:f.layout.height,SeriesContainerPositionMap:f.SeriesContainerPositionMap,scaleType:f.scaleType})),ot(1));u.subscribe(f=>{o=new Map(f.map(h=>[h.id,h]))});const c=n.fullChartParams$.pipe(M(a),R(f=>f.highlightTarget),Z()),d=j({bubblesData:u,fullParams:n.fullParams$,fullChartParams:n.fullChartParams$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,sumSeries:s}).pipe(M(a),O(async f=>f),R(f=>{i&&i.stop();const h=oK({selection:t,bubblesData:f.bubblesData,fullParams:f.fullParams,fullChartParams:f.fullChartParams,sumSeries:f.sumSeries});return i=aK(h,f.fullParams),i.nodes(f.bubblesData),lK({_simulation:i,fullParams:f.fullParams,SeriesContainerPositionMap:f.SeriesContainerPositionMap}),i.alpha(1).restart(),h}),ot(1));return j({bubblesSelection:d,computedData:n.computedData$,SeriesDataMap:n.SeriesDataMap$,highlightTarget:c}).pipe(M(a),O(async f=>f)).subscribe(f=>{f.bubblesSelection.on("mouseover",(h,p)=>{r.event$.next({type:"series",eventName:"mouseover",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("mousemove",(h,p)=>{r.event$.next({type:"series",eventName:"mousemove",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("mouseout",(h,p)=>{r.event$.next({type:"series",eventName:"mouseout",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("click",(h,p)=>{r.event$.next({type:"series",eventName:"click",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).call(sK(i))}),j({bubblesSelection:d,highlight:n.seriesHighlight$.pipe(R(f=>f.map(h=>h.id))),fullChartParams:n.fullChartParams$}).pipe(M(a),O(async f=>f)).subscribe(f=>{uK({bubblesSelection:f.bubblesSelection,highlightIds:f.highlight,fullChartParams:f.fullChartParams})}),()=>{a.next(void 0),i&&(i.stop(),i=void 0)}});function KC({data:t,startAngle:e,endAngle:n}){return LS().startAngle(e).endAngle(n).value(r=>r.value).sort((r,a)=>r.seq-a.seq)(t).map((r,a)=>{let i=r;return i.id=r.data.id,i})}function fK({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r}){const a=Y(e,"series");return j({seriesLabels:r,separateSeries:n}).pipe(O(async i=>i),R((i,o)=>{const s=i.separateSeries?i.seriesLabels:[i.seriesLabels.join("")];return t.selectAll(`g.${a}`).data(s,l=>l).join(l=>l.append("g").classed(a,!0),l=>l,l=>l.remove())}),ot(1))}const Ls=({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r,seriesContainerPosition$:a})=>{const i=fK({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r});return j({seriesCenterSelection:i,seriesContainerPosition:a}).pipe(O(async o=>o),Z((o,s)=>o.seriesContainerPosition.length===s.seriesContainerPosition.length)).subscribe(o=>{o.seriesCenterSelection.attr("transform",(s,l)=>{const u=o.seriesContainerPosition[l]??o.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),j({seriesCenterSelection:i,seriesContainerPosition:a}).pipe(O(async o=>o)).subscribe(o=>{o.seriesCenterSelection.transition().attr("transform",(s,l)=>{const u=o.seriesContainerPosition[l]??o.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),{seriesCenterSelection$:i}},n0="Pie",dK={name:n0,defaultParams:YC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},innerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeTypes:["string"]},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]}})};function hK({enter:t,exit:e,data:n,lastTweenData:r,fullParams:a}){return!t.size()&&!e.size()?i=>{const o=n.map((s,l)=>{const u=r[l]??{startAngle:0,endAngle:0,value:0};return{...s,startAngle:s.startAngle*i+u.startAngle*(1-i),endAngle:s.endAngle*i+u.endAngle*(1-i),value:s.value*i+u.value*(1-i)}});return r0(o,a.startAngle,a.endAngle,1)}:i=>r0(n,a.startAngle,a.endAngle,i)}function r0(t,e,n,r){return t.map((a,i)=>{const o=e+(a.startAngle-e)*r,s=o+(a.endAngle-a.startAngle)*r;return{...a,startAngle:o,endAngle:s}})}function QC({selection:t,data:e,arc:n,pathClassName:r,fullParams:a,fullChartParams:i}){return t.selectAll("path").data(e,o=>o.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(o,s)=>o.data.color).attr("stroke",(o,s)=>Pt({datum:o.data,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("d",(o,s)=>n(o))}function pK({pathSelection:t,ids:e,fullChartParams:n,arc:r,arcHighlight:a}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",i=>r(i));return}t.each((i,o,s)=>{const l=H(s[o]);e.includes(i.data.id)?l.style("opacity",1).transition("highlight").ease(Qr).duration(500).attr("d",u=>a(u)):l.style("opacity",n.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>r(u))})}function gK(t,e){const n=new K,r=Y(t,"path");let a=[],i=[];const o=e.seriesContainerPosition$.pipe(M(n),R(f=>f.width<f.height?f.width:f.height),Z()),s=new mt(f=>{j({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(M(n),O(async h=>h)).subscribe(h=>{const p=KC({data:h.containerVisibleComputedSortedData,startAngle:h.fullParams.startAngle,endAngle:h.fullParams.endAngle});f.next(p)})}),l=new mt(f=>{j({shorterSideWith:o,fullParams:e.fullParams$}).pipe(M(n),O(async h=>h)).subscribe(h=>{const p=uf({axisWidth:h.shorterSideWith,innerRadius:h.fullParams.innerRadius,outerRadius:h.fullParams.outerRadius,padAngle:h.fullParams.padAngle,cornerRadius:h.fullParams.cornerRadius});f.next(p)})}),u=new mt(f=>{j({shorterSideWith:o,fullParams:e.fullParams$}).pipe(M(n),O(async h=>h)).subscribe(h=>{const p=uf({axisWidth:h.shorterSideWith,innerRadius:h.fullParams.innerRadius,outerRadius:h.fullParams.outerRadiusWhileHighlight,padAngle:h.fullParams.padAngle,cornerRadius:h.fullParams.cornerRadius});f.next(p)})}),c=e.fullChartParams$.pipe(M(n),R(f=>f.highlightTarget),Z()),d=new mt(f=>{j({pieData:s,arc:l,computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:c}).pipe(M(n),O(async h=>h)).subscribe(h=>{e.containerSelection.interrupt("graphicMove");const p=e.containerSelection.selectAll("path").data(h.pieData,y=>y.id),g=p.enter(),m=p.exit(),b=hK({enter:g,exit:m,data:h.pieData,lastTweenData:a,fullParams:h.fullParams});e.containerSelection.transition("graphicMove").duration(h.fullChartParams.transitionDuration).tween("move",(y,x)=>v=>{i=b(v),QC({selection:e.containerSelection,data:i,arc:h.arc,pathClassName:r,fullParams:h.fullParams,fullChartParams:h.fullChartParams})}).on("end",(y,x)=>{i=r0(h.pieData,h.fullParams.startAngle,h.fullParams.endAngle,1);const v=QC({selection:e.containerSelection,data:i,arc:h.arc,pathClassName:r,fullParams:h.fullParams,fullChartParams:h.fullChartParams});f.next(v),a=Object.assign([],h.pieData),e.event$.next({type:"series",pluginName:t,eventName:"transitionEnd",event:void 0,highlightTarget:h.highlightTarget,datum:null,series:[],seriesIndex:-1,seriesLabel:"",data:h.computedData})})})}).pipe(ot(1));return j({pathSelection:d,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:c}).pipe(M(n),O(async f=>f)).subscribe(f=>{f.pathSelection.on("mouseover",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("mousemove",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("mouseout",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("click",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})})}),j({pathSelection:d,highlight:e.seriesHighlight$.pipe(R(f=>f.map(h=>h.id))),fullChartParams:e.fullChartParams$,arc:l,arcHighlight:u}).pipe(M(n),O(async f=>f)).subscribe(f=>{pK({pathSelection:f.pathSelection,ids:f.highlight,fullChartParams:f.fullChartParams,arc:f.arc,arcHighlight:f.arcHighlight})}),()=>{n.next(void 0)}}const mK=or(dK)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,{seriesCenterSelection$:i}=Ls({selection:t,pluginName:n0,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),o=[];return i.pipe(M(a)).subscribe(s=>{o.forEach(l=>l()),s.each((l,u,c)=>{const d=H(c[u]),f=r.visibleComputedSortedData$.pipe(M(a),R(p=>p[u]??p[0])),h=r.seriesContainerPosition$.pipe(M(a),R(p=>p[u]??p[0]));o[u]=gK(n0,{containerSelection:d,computedData$:r.computedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{a.next(void 0),o.forEach(s=>s())}}),mf="PieEventTexts",tP=Y(mf,"text"),yK={name:mf,defaultParams:Km,layerIndex:ff,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]}})};function a0(t,e){const n=t.selectAll(`text.${tP}`).data(e),r=n.enter().append("text").classed(tP,!0),a=n.merge(r);return a.each((i,o,s)=>{const l=H(s[o]).text(i.text);Object.keys(i.attr).forEach(u=>{l.attr(u,i.attr[u])}),Object.keys(i.style).forEach(u=>{l.style(u,i.style[u])})}),n.exit().remove(),a}function i0({eventData:t,renderFn:e,textAttrs:n,textStyles:r}){const a=e(t);return(Array.isArray(a)?a:[a]).map((i,o)=>({text:i,attr:n[o],style:r[o]}))}function bK(t,e){const n=new K;let r;const a=e.fullChartParams$.pipe(M(n),R(i=>i.highlightTarget),Z());return j({computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:a}).pipe(M(n),O(async i=>i)).subscribe(i=>{e.containerSelection.transition("move").duration(i.fullChartParams.transitionDuration).tween("move",(o,s)=>l=>{const u=i0({eventData:{type:"series",pluginName:t,eventName:"transitionMove",event:o,tween:l,highlightTarget:i.highlightTarget,data:i.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:i.fullParams.renderFn,textAttrs:i.fullParams.textAttrs,textStyles:i.fullParams.textStyles});a0(e.containerSelection,u)}).on("end",(o,s)=>{const l=i0({eventData:{type:"series",pluginName:t,eventName:"transitionEnd",event:o,tween:1,highlightTarget:i.highlightTarget,data:i.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:i.fullParams.renderFn,textAttrs:i.fullParams.textAttrs,textStyles:i.fullParams.textStyles});a0(e.containerSelection,l),r&&r.unsubscribe(),r=e.event$.subscribe(u=>{const c=i0({eventData:u,renderFn:i.fullParams.renderFn,textAttrs:i.fullParams.textAttrs,textStyles:i.fullParams.textStyles});a0(e.containerSelection,c)})})}),()=>{n.next(void 0)}}const xK=or(yK)(({selection:t,name:e,observer:n,subject:r})=>{const a=new K,{seriesCenterSelection$:i}=Ls({selection:t,pluginName:mf,separateSeries$:n.separateSeries$,seriesLabels$:n.seriesLabels$,seriesContainerPosition$:n.seriesContainerPosition$}),o=[];return i.pipe(M(a)).subscribe(s=>{o.forEach(l=>l()),s.each((l,u,c)=>{const d=H(c[u]);n.computedSortedData$.pipe(M(a),R(f=>f[u]??f[0])),n.seriesContainerPosition$.pipe(M(a),R(f=>f[u]??f[0])),o[u]=bK(mf,{containerSelection:d,computedData$:n.computedData$,SeriesDataMap$:n.SeriesDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,seriesHighlight$:n.seriesHighlight$,event$:r.event$})})}),()=>{a.next(void 0),o.forEach(s=>s())}}),Vi="PieLabels",vK=Y(Vi,"label-g"),$K=Y(Vi,"line-g"),_K=Y(Vi,"text"),eP=2,AK={name:Vi,defaultParams:Qm,layerIndex:ff,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"}})};function SK({pieData:t,arc:e,arcMouseover:n,labelCentroid:r,lineStartCentroid:a,fullParams:i}){return t.map((o,s)=>{const[l,u]=e.centroid(o),[c,d]=n.centroid(o),f=i.labelFn(o.data);return{pieDatum:o,arcIndex:s,arcLabels:f.split(`
360
+ `),lineStartX:l*a,lineStartY:u*a,lineStartMouseoverX:c*a,lineStartMouseoverY:d*a,x:l*r,y:u*r,mouseoverX:c*r,mouseoverY:d*r,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:l>=0&&u<=0?1:l<0&&u<=0?2:l<0&&u>0?3:4}}).filter(o=>o.pieDatum.data.visible)}function DK({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=t.selectAll("text").data(e,o=>o.pieDatum.id).join("text").classed(_K,!0).attr("font-weight","bold").attr("text-anchor",o=>o.quadrant==1||o.quadrant==4?"start":"end").style("dominant-baseline",o=>o.quadrant==1||o.quadrant==2?"auto":"hanging").style("cursor",o=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("x",0).attr("y",0).attr("fill",(o,s)=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((o,s,l)=>{WD(H(l[s]),{textArr:o.arcLabels,textSizePx:a,quadrant:o.quadrant})});return i.transition().attr("transform",o=>"translate("+o.x+","+o.y+")"),i}function CK(t,e,n){const r=t.nodes(),a=n,i=r.map((o,s)=>{const l=o.getBBox(),u=[e[s].x,e[s].y];return{node:o,x:u[0],y:u[1],width:l.width,height:l.height}});for(let o=0;o<i.length;o++){const s=i[o];for(let l=o+1;l<i.length;l++){const u=i[l];e[o].textWidth=s.width;const c=s.x+e[o].collisionShiftX,d=s.y+e[o].collisionShiftY,f=u.x+e[l].collisionShiftX,h=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||d+s.height/2<h-u.height/2||d-s.height/2>h+u.height/2)){if(e[l].quadrant==2){const p=h>d?-a*2:-a;e[l].collisionShiftY+=p}else if(e[l].quadrant==4){const p=h>d?a:a*2;e[l].collisionShiftY+=p}}}}for(let o=i.length-1;o>=0;o--){const s=i[o];for(let l=o-1;l>=0;l--){const u=i[l];e[o].textWidth=s.width;const c=s.x+e[o].collisionShiftX,d=s.y+e[o].collisionShiftY,f=u.x+e[l].collisionShiftX,h=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||d+s.height/2<h-u.height/2||d-s.height/2>h+u.height/2)){if(e[l].quadrant==1){const p=h>d?-a*2:-a;e[l].collisionShiftY+=p}else if(e[l].quadrant==3){const p=h>d?a:a*2;e[l].collisionShiftY+=p}}}}t.data(e).transition().attr("transform",o=>`translate(${o.x+o.collisionShiftX},${o.y+o.collisionShiftY})`)}function PK({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const a=e.filter(o=>o.collisionShiftX||o.collisionShiftY),i=t.selectAll("polyline").data(a,o=>o.pieDatum.id).join("polyline").attr("stroke",o=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",o=>[[o.lineStartX,o.lineStartY],[o.lineStartX,o.lineStartY]]);return i.transition().attr("points",o=>{let s=o.x+o.collisionShiftX,l=o.y+o.collisionShiftY;return[[s,l],[o.lineStartX,o.lineStartY]]}),i}function FK({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((a,i,o)=>{const s=H(o[i]);n.includes(a.pieDatum.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>l.collisionShiftX||l.collisionShiftY?`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`:`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((a,i,o)=>{const s=H(o[i]);n.includes(a.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function TK(t,e){const n=new K;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed($K,!0);const a=e.containerSelection.append("g");a.classed(vK,!0);const i=new K,o=new K;let s=[];const l=e.seriesContainerPosition$.pipe(M(n),R(c=>c.width<c.height?c.width:c.height),Z()),u=e.fullParams$.pipe(M(n),R(c=>c.labelCentroid>=eP?eP:c.labelCentroid));return j({shorterSideWith:l,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:u}).pipe(M(n),O(async c=>c)).subscribe(c=>{const d=uf({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadius,padAngle:0,cornerRadius:0}),f=uf({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadiusWhileHighlight,padAngle:0,cornerRadius:0}),h=KC({data:c.containerVisibleComputedSortedData,startAngle:c.fullParams.startAngle,endAngle:c.fullParams.endAngle});s=SK({pieData:h,arc:d,arcMouseover:f,labelCentroid:c.fullParams.labelCentroid,lineStartCentroid:c.lineStartCentroid,fullParams:c.fullParams}),r.selectAll("polyline").remove();const p=DK({labelGSelection:a,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams,textSizePx:c.textSizePx});setTimeout(()=>{CK(p,s,c.textSizePx);const g=PK({lineGSelection:r,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams});o.next(g)},1e3),i.next(p)}),j({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(R(c=>c.map(d=>d.id))),fullChartParams:e.fullChartParams$}).pipe(M(n),O(async c=>c)).subscribe(c=>{FK({textSelection:c.textSelection,lineSelection:c.lineSelection,ids:c.highlight,fullChartParams:c.fullChartParams})}),()=>{n.next(void 0)}}const wK=or(AK)(({selection:t,observer:e,subject:n})=>{const r=new K,{seriesCenterSelection$:a}=Ls({selection:t,pluginName:Vi,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),i=[];return a.pipe(M(r)).subscribe(o=>{i.forEach(s=>s()),o.each((s,l,u)=>{const c=H(u[l]),d=e.visibleComputedSortedData$.pipe(M(r),R(h=>h[l]??h[0])),f=e.seriesContainerPosition$.pipe(M(r),R(h=>h[l]??h[0]));i[l]=TK(Vi,{containerSelection:c,containerVisibleComputedSortedData$:d,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),o0="Rose",BK=Math.PI*2,MK={name:o0,defaultParams:qC,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"},angleIncreaseWhileHighlight:{toBeTypes:["number"]}})};function EK({cornerRadius:t,outerRadius:e,axisWidth:n,maxValue:r,arcScaleType:a,fullParams:i}){const o=n/2*e,s=a==="area"?.5:1,l=gr().domain([0,r]).range([0,o]).exponent(s);return u=>{const c=l(u.prevValue),d=l(u.value),f=En(c,d);return h=>{const p=f(h);return Zc().innerRadius(0).outerRadius(p).padAngle(i.padAngle).padRadius(p).cornerRadius(t)(u)}}}function LK({pathSelection:t,ids:e,fullParams:n,fullChartParams:r,tweenArc:a}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",i=>a(i)(1));return}t.each((i,o,s)=>{const l=H(s[o]);e.includes(i.data.id)?l.style("opacity",1).transition("highlight").ease(Qr).duration(500).attr("d",u=>a({...u,startAngle:u.startAngle-n.angleIncreaseWhileHighlight,endAngle:u.endAngle+n.angleIncreaseWhileHighlight})(1)):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>a(u)(1))})}function RK(t,e){const n=new K,r=Y(t,"path");let a=[];const i=e.seriesContainerPosition$.pipe(M(n),R(h=>h.width<h.height?h.width:h.height),Z()),o=j({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(M(n),O(async h=>h),R(h=>{const p=BK/h.containerVisibleComputedSortedData.length;return h.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:p*m,endAngle:p*(m+1),padAngle:h.fullParams.padAngle,prevValue:a[m]&&a[m].id===g.id?a[m].value:0}))})),s=e.fullChartParams$.pipe(M(n),R(h=>h.highlightTarget),Z()),l=e.visibleComputedSortedData$.pipe(R(h=>Math.max(...h.flat().map(p=>p.value))),Z()),u=j({fullParams:e.fullParams$,axisWidth:i,maxValue:l}).pipe(M(n),O(async h=>h),R(h=>EK({cornerRadius:h.fullParams.cornerRadius,outerRadius:h.fullParams.outerRadius,axisWidth:h.axisWidth,maxValue:h.maxValue,arcScaleType:h.fullParams.arcScaleType,fullParams:h.fullParams}))),c=e.fullChartParams$.pipe(M(n),R(h=>h.transitionDuration),Z()),d=new Md(!1),f=new mt(h=>{j({pieData:o,tweenArc:u,transitionDuration:c,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$}).pipe(M(n),O(async p=>p)).subscribe(p=>{const g=p.pieData.map((b,y)=>(b.prevValue=a[y]&&a[y].id===b.id?a[y].value:0,b));d.next(!0);const m=e.containerSelection.selectAll("path").data(g,b=>b.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(b,y)=>b.data.color).attr("stroke",(b,y)=>Pt({datum:b.data,colorType:p.fullParams.strokeColorType,fullChartParams:p.fullChartParams})).attr("stroke-width",p.fullParams.strokeWidth);m.interrupt("graphicMove"),m.transition("graphicMove").duration(p.transitionDuration).attrTween("d",p.tweenArc).on("end",()=>{h.next(m),d.next(!1)}),a=Object.assign([],g)})}).pipe(ot(1));return j({pathSelection:f,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:s}).pipe(M(n),O(async h=>h)).subscribe(h=>{h.pathSelection.on("mouseover",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("mousemove",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("mouseout",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("click",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})})}),j({pathSelection:f,highlight:e.seriesHighlight$.pipe(R(h=>h.map(p=>p.id))),fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,tweenArc:u,isTransitionMoving:d}).pipe(M(n),O(async h=>h),ka(h=>!h.isTransitionMoving)).subscribe(h=>{LK({pathSelection:h.pathSelection,ids:h.highlight,fullParams:h.fullParams,fullChartParams:h.fullChartParams,tweenArc:h.tweenArc})}),()=>{n.next(void 0)}}const kK=or(MK)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,{seriesCenterSelection$:i}=Ls({selection:t,pluginName:o0,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),o=[];return i.pipe(M(a)).subscribe(s=>{o.forEach(l=>l()),s.each((l,u,c)=>{const d=H(c[u]),f=r.visibleComputedSortedData$.pipe(M(a),R(p=>JSON.parse(JSON.stringify(p[u]??p[0])))),h=r.seriesContainerPosition$.pipe(M(a),R(p=>JSON.parse(JSON.stringify(p[u]??p[0]))));o[u]=RK(o0,{containerSelection:d,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,visibleComputedSortedData$:r.visibleComputedSortedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{a.next(void 0),o.forEach(s=>s())}}),Hi="RoseLabels",IK=Y(Hi,"label-g"),NK=Y(Hi,"line-g"),zK=Y(Hi,"text"),nP=2,OK={name:Hi,defaultParams:t0,layerIndex:ff,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"}})};function GK({pieData:t,labelCentroid:e,arcScaleType:n,maxValue:r,axisWidth:a,outerRadius:i,lineStartCentroid:o,fullParams:s}){const l=a/2*i,u=n==="area"?.5:1,c=gr().domain([0,r]).range([0,l]).exponent(u);return t.map((d,f)=>{const h=c(d.value),p=Zc().innerRadius(0).outerRadius(h).padAngle(0).padRadius(h).cornerRadius(0),[g,m]=p.centroid(d),[b,y]=[g,m],x=s.labelFn(d.data);return{pieDatum:d,arcIndex:f,arcLabels:x.split(`
361
+ `),lineStartX:g*o,lineStartY:m*o,lineStartMouseoverX:b*o,lineStartMouseoverY:y*o,x:g*e,y:m*e,mouseoverX:b*e,mouseoverY:y*e,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:g>=0&&m<=0?1:g<0&&m<=0?2:g<0&&m>0?3:4}}).filter(d=>d.pieDatum.data.visible)}function jK({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=t.selectAll("text").data(e,o=>o.pieDatum.id).join("text").classed(zK,!0).attr("font-weight","bold").attr("text-anchor",o=>o.quadrant==1||o.quadrant==4?"start":"end").style("dominant-baseline",o=>o.quadrant==1||o.quadrant==2?"auto":"hanging").style("cursor",o=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("fill",(o,s)=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((o,s,l)=>{WD(H(l[s]),{textArr:o.arcLabels,textSizePx:a,quadrant:o.quadrant})});return i.transition().attr("transform",o=>"translate("+o.x+","+o.y+")"),i}function VK(t,e,n){const r=t.nodes(),a=n,i=r.map((o,s)=>{const l=o.getBBox(),u=[e[s].x,e[s].y];return{node:o,x:u[0],y:u[1],width:l.width,height:l.height}});for(let o=0;o<i.length;o++){const s=i[o];for(let l=o+1;l<i.length;l++){const u=i[l];e[o].textWidth=s.width;const c=s.x+e[o].collisionShiftX,d=s.y+e[o].collisionShiftY,f=u.x+e[l].collisionShiftX,h=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||d+s.height/2<h-u.height/2||d-s.height/2>h+u.height/2)){if(e[l].quadrant==2){const p=h>d?-a*2:-a;e[l].collisionShiftY+=p}else if(e[l].quadrant==4){const p=h>d?a:a*2;e[l].collisionShiftY+=p}}}}for(let o=i.length-1;o>=0;o--){const s=i[o];for(let l=o-1;l>=0;l--){const u=i[l];e[o].textWidth=s.width;const c=s.x+e[o].collisionShiftX,d=s.y+e[o].collisionShiftY,f=u.x+e[l].collisionShiftX,h=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||d+s.height/2<h-u.height/2||d-s.height/2>h+u.height/2)){if(e[l].quadrant==1){const p=h>d?-a*2:-a;e[l].collisionShiftY+=p}else if(e[l].quadrant==3){const p=h>d?a:a*2;e[l].collisionShiftY+=p}}}}t.data(e).transition().attr("transform",o=>`translate(${o.x+o.collisionShiftX},${o.y+o.collisionShiftY})`)}function HK({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const a=e.filter(o=>o.collisionShiftX||o.collisionShiftY),i=t.selectAll("polyline").data(a,o=>o.pieDatum.id).join("polyline").attr("stroke",o=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",o=>[[o.lineStartX,o.lineStartY],[o.lineStartX,o.lineStartY]]);return i.transition().attr("points",o=>{let s=o.x+o.collisionShiftX,l=o.y+o.collisionShiftY;return[[s,l],[o.lineStartX,o.lineStartY]]}),i}function XK({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((a,i,o)=>{const s=H(o[i]);n.includes(a.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((a,i,o)=>{const s=H(o[i]);n.includes(a.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function WK(t,e){const n=new K;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(NK,!0);const a=e.containerSelection.append("g");a.classed(IK,!0);const i=new K,o=new K;let s=[];const l=e.seriesContainerPosition$.pipe(M(n),R(d=>d.width<d.height?d.width:d.height),Z()),u=e.visibleComputedSortedData$.pipe(R(d=>Math.max(...d.flat().map(f=>f.value))),Z()),c=e.fullParams$.pipe(M(n),R(d=>d.labelCentroid>=nP?nP:d.labelCentroid));return j({shorterSideWith:l,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,maxValue:u,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:c}).pipe(M(n),O(async d=>d)).subscribe(d=>{const f=Math.PI*2/d.containerVisibleComputedSortedData.length,h=d.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:f*m,endAngle:f*(m+1),padAngle:0}));s=GK({pieData:h,labelCentroid:d.fullParams.labelCentroid,arcScaleType:d.fullParams.arcScaleType,maxValue:d.maxValue,axisWidth:d.shorterSideWith,outerRadius:d.fullParams.outerRadius,lineStartCentroid:d.lineStartCentroid,fullParams:d.fullParams}),r.selectAll("polyline").remove();const p=jK({labelGSelection:a,data:s,fullParams:d.fullParams,fullChartParams:d.fullChartParams,textSizePx:d.textSizePx});setTimeout(()=>{VK(p,s,d.textSizePx);const g=HK({lineGSelection:r,data:s,fullParams:d.fullParams,fullChartParams:d.fullChartParams});o.next(g)},1e3),i.next(p)}),j({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(R(d=>d.map(f=>f.id))),fullChartParams:e.fullChartParams$}).pipe(M(n),O(async d=>d)).subscribe(d=>{XK({textSelection:d.textSelection,lineSelection:d.lineSelection,ids:d.highlight,fullChartParams:d.fullChartParams})}),()=>{n.next(void 0)}}const UK=or(OK)(({selection:t,observer:e,subject:n})=>{const r=new K,{seriesCenterSelection$:a}=Ls({selection:t,pluginName:Hi,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),i=[];return a.pipe(M(r)).subscribe(o=>{i.forEach(s=>s()),o.each((s,l,u)=>{const c=H(u[l]),d=e.visibleComputedSortedData$.pipe(M(r),R(h=>JSON.parse(JSON.stringify(h[l]??h[0])))),f=e.seriesContainerPosition$.pipe(M(r),R(h=>JSON.parse(JSON.stringify(h[l]??h[0]))));i[l]=WK(Hi,{containerSelection:c,visibleComputedSortedData$:e.visibleComputedSortedData$,containerVisibleComputedSortedData$:d,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),rP="SeriesLegend",YK={name:rP,defaultParams:ZC,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},qK=or(YK)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.SeriesDataMap$.pipe(M(a),R(l=>Array.from(l.keys()))),o=n.fullParams$.pipe(M(a),R(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=Ii(rP,{rootSelection:e,legendLabels$:i,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),s()}}),aP="SeriesTooltip",ZK={name:aP,defaultParams:e0,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},JK=or(ZK)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(aP,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),s0={paddingInner:2,paddingOuter:2,labelColorType:"labelContrast",squarifyRatio:1.618034,sort:(t,e)=>e.value-t.value};s0.sort.toString=()=>"(a, b) => b.value - a.value";const iP={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},l0={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,a=!!t.datum.label,i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,s=e.textSizePx/2-o/2,l=r?`<rect width="${o}" height="${o}" x="${s}" y="${s-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
362
+ <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
363
+ <tspan>${t.categoryLabel}</tspan>
364
+ </text>`:"",u=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
365
+ ${u}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
366
+ </text>`;return`${l}
367
+ <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
368
+ ${g}
369
+ </g>`}};l0.renderFn.toString=()=>`(eventData, { styles, utils }) => {
370
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
371
+ const hasDatumLabel = eventData.datum.label ? true : false
372
+ const valueText = utils.toCurrency(eventData.datum.value)
373
+ const bulletWidth = styles.textSizePx * 0.7
374
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
375
+ const categorySvg = hasCategoryLabel
376
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
377
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
378
+ <tspan>\${eventData.categoryLabel}</tspan>
379
+ </text>\`
380
+ : ''
381
+ const datumLabelSvg = hasDatumLabel
382
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
383
+ : ''
384
+ const categoryLabelTextWidth = hasCategoryLabel
385
+ ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
386
+ : 0
387
+ const datumLabelTextWidth = hasDatumLabel
388
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
389
+ : 0
390
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
391
+ const lineEndX = hasDatumLabel
392
+ ? maxTextWidth + styles.textSizePx * 0.5
393
+ : 0
394
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
395
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
396
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
397
+ </text>\`
398
+
399
+ return \`\${categorySvg}
400
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
401
+ \${datumSvg}
402
+ </g>\`
403
+ }`;const oP="TreeLegend",KK={name:oP,defaultParams:iP,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},QK=bh(KK)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new K,i=n.fullParams$.pipe(M(a),R(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),o=Ii(oP,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}}),ba="TreeMap",sP=Y(ba,"tree"),lP=Y(ba,"tile"),tQ={name:ba,defaultParams:s0,layerIndex:Pe,validator:(t,{validateColumns:e})=>e(t,{paddingInner:{toBeTypes:["number"]},paddingOuter:{toBeTypes:["number"]},labelColorType:{toBeOption:"ColorType"},squarifyRatio:{toBeTypes:["number"]},sort:{toBeTypes:["Function"]}})};function eQ({selection:t,treeData:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=a/2,o=a,s=t.selectAll(`g.${sP}`).data(e,l=>l.data.id).join("g").attr("class",sP);return s.attr("transform",l=>!l.x0||!l.y0?null:`translate(${l.x0},${l.y0})`).each((l,u,c)=>{const d=H(c[u]);d.selectAll(`rect.${lP}`).data([l],f=>f.data.id).join("rect").attr("id",f=>f.data.id).attr("class",lP).attr("cursor","pointer").attr("width",f=>f.x1-f.x0).attr("height",f=>f.y1-f.y0).attr("fill",f=>f.data.color).attr("data-name",f=>f.data.label).attr("data-category",f=>f.data.categoryLabel).attr("data-value",f=>f.data.value),d.selectAll("g").data([l]).join("g").each((f,h,p)=>{H(p[h]).selectAll("text").data([f]).join("text").text(g=>g.data.label).attr("dominant-baseline","hanging").attr("x",i).attr("y",i).attr("font-size",r.styles.textSize).each(function(g){const m=H(this),b=g.data.label.split(/\s+/).reverse();let y,x=[];const v=m.attr("x");let $=m.attr("y"),S=0,C=m.text(null).append("tspan").attr("cursor","pointer").attr("fill",Pt({colorType:n.labelColorType,datum:g.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",v).attr("y",$);for(;y=b.pop();)x.push(y),C.text(x.join(" ")),C.node().getComputedTextLength()>g.x1-g.x0-i&&(x.pop(),C.text(x.join(" ")),x=[y],S+=o,C=m.append("tspan").attr("cursor","pointer").attr("fill",Pt({colorType:n.labelColorType,datum:g.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",v).attr("y",$).attr("dy",S+"px").text(y))})})}),s}function nQ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.data.id)?H(i[a]).style("opacity",1):H(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const rQ=bh(tQ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new K,i=j({layout:r.layout$,visibleComputedData:r.visibleComputedData$,fullParams:r.fullParams$,fullDataFormatter:r.fullDataFormatter$,fullChartParams:r.fullChartParams$}).pipe(M(a),O(async l=>l),R(l=>{const u=H_().size([l.layout.width,l.layout.height]).paddingInner(l.fullParams.paddingInner).paddingOuter(l.fullParams.paddingOuter).round(!0).tile(Ng.ratio(l.fullParams.squarifyRatio)),c=Fc(l.visibleComputedData).sum(d=>d.value).sort(l.fullParams.sort);return u(c),c.leaves()})),o=j({selection:hn(t),treeData:i,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,textSizePx:r.textSizePx$}).pipe(M(a),O(async l=>l),R(l=>eQ({selection:t,treeData:l.treeData,fullParams:l.fullParams,fullChartParams:l.fullChartParams,textSizePx:l.textSizePx}))),s=r.fullChartParams$.pipe(M(a),R(l=>l.highlightTarget),Z());return j({cellSelection:o,computedData:r.computedData$,treeData:i,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,highlightTarget:s,CategoryDataMap:r.CategoryDataMap$}).pipe(M(a),O(async l=>l)).subscribe(l=>{l.cellSelection.on("mouseover",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseover",pluginName:ba,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mousemove",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mousemove",pluginName:ba,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mouseout",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseout",pluginName:ba,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("click",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"click",pluginName:ba,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})})}),j({cellSelection:o,highlight:r.treeHighlight$.pipe(R(l=>l.map(u=>u.id))),fullChartParams:r.fullChartParams$}).pipe(M(a),O(async l=>l)).subscribe(l=>{nQ({selection:l.cellSelection,ids:l.highlight,fullChartParams:l.fullChartParams})}),()=>{a.next(void 0)}}),uP="TreeTooltip",aQ={name:uP,defaultParams:l0,layerIndex:ki,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},iQ=bh(aQ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new K,o=zi(uP,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),oQ={name:"PRESET_BUBBLES_BASIC",description:"Basic bubble chart",descriptionZh:"基本泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7}}},sQ={name:"PRESET_BUBBLES_SCALING_BY_RADIUS",description:"Bubble chart scaled by radius size",descriptionZh:"以半徑尺寸為比例的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{Bubbles:{arcScaleType:"radius"},SeriesLegend:{listRectRadius:7}}},lQ={name:"PRESET_BUBBLES_SEPARATE_SERIES",description:"Bubble chart showing series separately",descriptionZh:"分開顯示Series的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:160,right:160,bottom:160,left:160}},dataFormatter:{separateSeries:!0},pluginParams:{Bubbles:{},SeriesLegend:{listRectRadius:7},SeriesTooltip:{}}},uQ={name:"PRESET_BUBBLES_SIMPLE",description:"Simple bubble chart",descriptionZh:"簡單泡泡圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}},cP={name:"PRESET_BUBBLES_SUM_SERIES",description:"Bubble chart of combined Series data",descriptionZh:"合併Series資料的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};cP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const fP={name:"PRESET_PIE_BASIC",description:"Basic pie chart",descriptionZh:"基本圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7}}};fP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const dP={name:"PRESET_PIE_DONUT",description:"Donut chart",descriptionZh:"甜甜圈圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{innerRadius:.5},PieLabels:{},PieEventTexts:{},SeriesLegend:{listRectRadius:7}}};dP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const hP={name:"PRESET_PIE_HALF_DONUT",description:"Half donut chart",descriptionZh:"半圓甜甜圈圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{innerRadius:.5,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{startAngle:-Math.PI/2,endAngle:Math.PI/2},PieEventTexts:{},SeriesLegend:{placement:"bottom",listRectRadius:7}}};hP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const pP={name:"PRESET_PIE_WITH_INNER_LABELS",description:"Pie chart with inner data labels",descriptionZh:"圓餅圖及內部資料標籤",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{},PieLabels:{labelCentroid:1.3,labelColorType:"labelContrast"},PieEventTexts:{},SeriesLegend:{listRectRadius:7}}};pP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const gP={name:"PRESET_PIE_SEPARATE_SERIES",description:"Separate pie chart of Series",descriptionZh:"分開顯示Series的圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};gP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const mP={name:"PRESET_PIE_SIMPLE",description:"Simple pie chart",descriptionZh:"簡單圓餅圖",chartParams:{padding:{top:30,right:30,bottom:30,left:30},colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}};mP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const yP={name:"PRESET_PIE_SUM_SERIES",description:"Pie chart of combined Series data",descriptionZh:"合併Series資料的圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};yP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const bP={name:"PRESET_ROSE_BASIC",description:"Basic Rose chart",descriptionZh:"基本Rose參數",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7}}};bP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const xP={name:"PRESET_ROSE_SCALING_BY_RADIUS",description:"Rose chart with radius scaling",descriptionZh:"以半徑尺寸為比例的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Rose:{arcScaleType:"radius"},RoseLabels:{arcScaleType:"radius"},SeriesLegend:{listRectRadius:7}}};xP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const vP={name:"PRESET_ROSE_SEPARATE_SERIES",description:"Separate rose chart of Series",descriptionZh:"分開顯示Series的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};vP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const $P={name:"PRESET_ROSE_SIMPLE",description:"Simple Rose chart",descriptionZh:"簡單Rose參數",chartParams:{padding:{top:20,right:20,bottom:20,left:20},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}};$P.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const _P={name:"PRESET_ROSE_SUM_SERIES",description:"Rose chart of combined Series data",descriptionZh:"合併Series資料的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};_P.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const AP={name:"PRESET_ROSE_SEPARATE_SERIES_AND_SUM_SERIES",description:"Separate and sum Series data",descriptionZh:"分開顯示Series並合併Series資料",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0,sumSeries:!0},pluginParams:{}};AP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const cQ={name:"PRESET_SERIES_BASIC",description:"Basic Series parameters",descriptionZh:"基本Series參數",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7}}},SP={name:"PRESET_SERIES_SEPARATE_SERIES_AND_SUM_SERIES",description:"Separate and sum Series data",descriptionZh:"分開顯示Series並合併Series資料",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0,sumSeries:!0},pluginParams:{}};SP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const DP={name:"PRESET_SERIES_SEPARATE_SERIES",description:"Separate Series",descriptionZh:"分開顯示Series",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};DP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const CP={name:"PRESET_SERIES_SUM_SERIES",description:"Combine Series data",descriptionZh:"合併Series資料",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};CP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const fQ={name:"PRESET_BARS_HORIZONTAL_AND_ROUND",description:"Horizontal bars with round corners",descriptionZh:"橫向圓角長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Bars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectRadius:7}}},dQ={name:"PRESET_BARS_HORIZONTAL_AND_THIN",description:"Horizontal thin bars",descriptionZh:"橫向細長長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Bars:{barWidth:20,barPadding:1,barGroupPadding:10},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14}}},hQ={name:"PRESET_BARS_ROUND",description:"Rounded bars",descriptionZh:"圓角長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{Bars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectRadius:7}}},pQ={name:"PRESET_BARS_THIN",description:"Thin bars",descriptionZh:"細長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{Bars:{barWidth:20,barPadding:1,barGroupPadding:10},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14}}},gQ={name:"PRESET_GRID_BASIC",description:"Basic Grid",descriptionZh:"基本Grid",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},mQ={name:"PRESET_GRID_HORIZONTAL",description:"Horizontal Grid",descriptionZh:"橫向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},yQ={name:"PRESET_GRID_PN_SCALE_SIMPLE",description:"Simple positive negative scale",descriptionZh:"簡單正負值分向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{valueAxis:{scaleDomain:["auto","auto"],scaleRange:[.05,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:7}}},bQ={name:"PRESET_GRID_PN_SCALE",description:"Positive negative scale",descriptionZh:"正負值分向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{valueAxis:{scaleDomain:["auto","auto"],scaleRange:[.05,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},xQ={name:"PRESET_GRID_ROTATE_AXIS_LABEL",description:"Rotate axis label",descriptionZh:"傾斜標籤",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80}},pluginParams:{GroupAux:{labelRotate:-30},GroupAxis:{tickPadding:15,tickTextRotate:-30},GridLegend:{placement:"bottom",padding:14}}},vQ={name:"PRESET_GRID_SEPARATE_SERIES",description:"Separate Series",descriptionZh:"分開顯示Series",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80}},dataFormatter:{separateSeries:!0},pluginParams:{GroupAux:{labelRotate:-30},GroupAxis:{tickPadding:15,tickTextRotate:-30},GridLegend:{placement:"bottom",padding:14}}},$Q={name:"PRESET_GRID_SIMPLE",description:"Simple Grid",descriptionZh:"簡單Grid",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{valueAxis:{scaleRange:[0,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:7}}},_Q={name:"PRESET_LINE_AREAS_BASIC",description:"Basic LineArea",descriptionZh:"基本折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:80,bottom:100,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},AQ={name:"PRESET_LINE_AREAS_CURVE",description:"Curve LineArea",descriptionZh:"弧線的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:80,bottom:100,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{lineCurve:"curveMonotoneX",lineWidth:3},LineAreas:{lineCurve:"curveMonotoneX"},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},SQ={name:"PRESET_LINE_AREAS_HORIZONTAL",description:"Horizontal LineArea",descriptionZh:"橫向折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160},highlightTarget:"series"},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left",scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},DQ={name:"PRESET_LINE_AREAS_LOOSE_TICKS",description:"Loose Ticks LineArea",descriptionZh:"寬鬆標籤的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:80,bottom:100,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{ticks:6},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},CQ={name:"PRESET_LINE_AREAS_ROTATE_AXIS_LABEL",description:"Rotate Axis Label LineArea",descriptionZh:"傾斜標籤的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},PQ={name:"PRESET_LINE_AREAS_SEPARATE_SERIES",description:"Separate Series LineArea",descriptionZh:"分開顯示Series的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80},highlightTarget:"series"},dataFormatter:{separateSeries:!0,groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},FQ={name:"PRESET_LINE_AREAS_SIMPLE",description:"Simple LineArea",descriptionZh:"簡單折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:80,bottom:80,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0},valueAxis:{scaleRange:[0,.95]}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:7,listRectHeight:2}}},TQ={name:"PRESET_LINES_BASIC",description:"Basic Line",descriptionZh:"基本折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},wQ={name:"PRESET_LINES_CURVE",description:"Curve Line",descriptionZh:"弧線折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{lineCurve:"curveMonotoneX",lineWidth:3},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},BQ={name:"PRESET_LINES_HORIZONTAL",description:"Horizontal Line",descriptionZh:"橫向折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160},highlightTarget:"series"},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},MQ={name:"PRESET_LINES_LOOSE_TICKS",description:"Loose Ticks Line",descriptionZh:"寬鬆標籤的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{ticks:6},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},EQ={name:"PRESET_LINES_ROTATE_AXIS_LABEL",description:"Line chart with slanted labels",descriptionZh:"傾斜標籤的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},LQ={name:"PRESET_LINES_SIMPLE",description:"Simple line",descriptionZh:"簡單折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40},highlightTarget:"series"},dataFormatter:{valueAxis:{scaleRange:[0,.95]}},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:7,listRectHeight:2}}},RQ={name:"PRESET_LINES_WITH_SOLID_DOTS",description:"Solid Dots Line",descriptionZh:"實心圓點的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{radius:3,fillColorType:"label",onlyShowHighlighted:!1},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},kQ={name:"PRESET_MULTI_GRID_BASIC",description:"Basic MultiGrid",descriptionZh:"基本MultiGrid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{MultiGridLegend:{placement:"bottom",padding:14,gridList:[{},{listRectHeight:2}]}}},IQ={name:"PRESET_MULTI_GRID_DIVERGING_SIMPLE",description:"Simple diverging Grid",descriptionZh:"簡單雙向Grid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:40}},dataFormatter:{gridList:[{groupAxis:{position:"right"},valueAxis:{position:"bottom",scaleRange:[0,.95]}},{groupAxis:{position:"left"},valueAxis:{position:"bottom",scaleRange:[0,.95]}}],container:{gap:140,rowAmount:1,columnAmount:2},separateGrid:!0},pluginParams:{MultiGroupAxis:{tickPadding:10,gridIndexes:[0]},MultiValueAxis:{gridIndexes:[0,1]},MultiStackedValueAxis:{gridIndexes:[0,1]},MultiBars:{gridIndexes:[0,1]},MultiStackedBars:{gridIndexes:[0,1]},MultiBarsTriangle:{gridIndexes:[0,1]},MultiLines:{gridIndexes:[0,1]},MultiLineAreas:{gridIndexes:[0,1]},MultiDots:{gridIndexes:[0,1]},MultiGridLegend:{placement:"bottom",padding:7}}},NQ={name:"PRESET_MULTI_GRID_DIVERGING",description:"Diverging Grid",descriptionZh:"雙向Grid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{gridList:[{groupAxis:{position:"right"},valueAxis:{position:"bottom"}},{groupAxis:{position:"left"},valueAxis:{position:"bottom"}}],container:{gap:160,rowAmount:1,columnAmount:2},separateGrid:!0},pluginParams:{MultiGroupAxis:{gridIndexes:[0]},MultiValueAxis:{gridIndexes:[0,1]},MultiStackedValueAxis:{gridIndexes:[0,1]},MultiBars:{gridIndexes:[0,1]},MultiStackedBars:{gridIndexes:[0,1]},MultiBarsTriangle:{gridIndexes:[0,1]},MultiLines:{gridIndexes:[0,1]},MultiLineAreas:{gridIndexes:[0,1]},MultiDots:{gridIndexes:[0,1]},MultiGridLegend:{placement:"bottom",padding:14}}},zQ={name:"PRESET_MULTI_GRID_ROUND_STYLE_SIMPLE",description:"Simple MultiGrid with round style",descriptionZh:"簡單MultiGrid圓弧風格",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:80},highlightTarget:"series"},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}]},pluginParams:{MultiBars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},MultiStackedBars:{},MultiDots:{},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectRadius:7},{listRectHeight:2}]},MultiGroupAxis:{},MultiLineAreas:{},MultiLines:{lineCurve:"curveMonotoneX",lineWidth:3},MultiValueAxis:{},MultiStackedValueAxis:{},OverlappingValueAxes:{},OverlappingStackedValueAxes:{}}},OQ={name:"PRESET_MULTI_GRID_ROUND_STYLE",description:"MultiGrid with round style",descriptionZh:"MultiGrid圓弧風格",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{MultiBars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},MultiStackedBars:{},MultiDots:{},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectRadius:7},{listRectHeight:2}]},MultiGroupAxis:{},MultiLineAreas:{},MultiLines:{lineCurve:"curveMonotoneX",lineWidth:3},MultiValueAxis:{},MultiStackedValueAxis:{},OverlappingValueAxes:{},OverlappingStackedValueAxes:{}}},GQ={name:"PRESET_MULTI_GRID_SEPARATE_GRID_SIMPLE",description:"Simple separate grid",descriptionZh:"簡單的分開顯示Grid圖表",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{gap:40}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7}}},jQ={name:"PRESET_MULTI_GRID_SEPARATE_GRID",description:"Separate Grid",descriptionZh:"分開顯示Grid圖表",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80}},dataFormatter:{separateGrid:!0},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14}}},VQ={name:"PRESET_MULTI_GRID_SIMPLE",description:"Simple MultiGrid",descriptionZh:"簡單MultiGrid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40},highlightTarget:"series"},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}]},pluginParams:{MultiGridLegend:{placement:"bottom",padding:7,gridList:[{},{listRectHeight:2}]}}},HQ={name:"PRESET_MULTI_LINE_AREAS_SEPARATE_GRID_SIMPLE",description:"Simple separate grid line areas",descriptionZh:"簡單的分開顯示Grid的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:80,bottom:80,left:80}},dataFormatter:{gridList:[{groupAxis:{scalePadding:0},valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{gap:160}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},XQ={name:"PRESET_MULTI_LINE_AREAS_SEPARATE_GRID",description:"Separate Grid line areas",descriptionZh:"分開顯示Grid的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80}},dataFormatter:{gridList:[{groupAxis:{scalePadding:0}},{groupAxis:{scalePadding:0}}],separateGrid:!0},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},WQ={name:"PRESET_MULTI_LINES_SEPARATE_GRID_SIMPLE",description:"Simple separate grid line",descriptionZh:"簡單的分開顯示Grid的折線圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{gap:40}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},UQ={name:"PRESET_MULTI_LINES_SEPARATE_GRID",description:"Separate Grid line",descriptionZh:"分開顯示Grid的折線圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:140,left:80}},dataFormatter:{separateGrid:!0},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},YQ={name:"PRESET_MULTI_VALUE_BASIC",description:"Basic MultiValue",descriptionZh:"基本MultiValue參數",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14}}},qQ={name:"PRESET_MULTI_VALUE_SEPARATE_CATEGORY",description:"MultiValue separate category",descriptionZh:"MultiValue 分開顯示category",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0},pluginParams:{XYAxes:{xAxis:{ticks:3},yAxis:{ticks:3}},MultiValueLegend:{placement:"bottom",padding:14}}},ZQ={name:"PRESET_MULTI_VALUE_SIMPLE",description:"Simple MultiValue",descriptionZh:"簡單MultiValue參數",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7}}},JQ={name:"PRESET_RACING_BARS_ALL_ITEMS",description:"Racing bars for all items",descriptionZh:"顯示全部項目的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{rankingAmount:"auto",autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},KQ={name:"PRESET_RACING_BARS_BASIC",description:"Basic racing bars",descriptionZh:"基本賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},QQ={name:"PRESET_RACING_BARS_FAST",description:"Fast racing bars",descriptionZh:"快速的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:250},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},ttt={name:"PRESET_RACING_BARS_FASTER",description:"Faster racing bars",descriptionZh:"更快速的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:125},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},ett={name:"PRESET_RACING_BARS_LOOP",description:"Looping racing bars",descriptionZh:"循環的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0,loop:!0},MultiValueLegend:{placement:"bottom",padding:14}}},ntt={name:"PRESET_RACING_BARS_OUTSIDE_LABELS",description:"Racing bars with labels outside",descriptionZh:"標籤在外面的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:160},transitionDuration:500},pluginParams:{RacingBars:{barLabel:{position:"outside",colorType:"primary"},autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},rtt={name:"PRESET_RACING_BARS_SEPARATE_CATEGORY",description:"Racing bars with separate category",descriptionZh:"分開顯示category的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:140},transitionDuration:500},dataFormatter:{separateCategory:!0,container:{gap:80}},pluginParams:{RacingBars:{barLabel:{position:"outside",colorType:"primary",padding:10},valueLabel:{padding:10},autorun:!0},RacingValueAxis:{ticks:3},MultiValueLegend:{placement:"bottom",padding:14}}},att={name:"PRESET_RACING_BARS_SIMPLE",description:"Simple racing bars",descriptionZh:"簡單賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:40,bottom:40,left:40},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:7}}},itt={name:"PRESET_RACING_BARS_STOP",description:"Stopped racing bars",descriptionZh:"停止的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60}},pluginParams:{RacingBars:{autorun:!1},MultiValueLegend:{placement:"bottom",padding:14}}},ott={name:"PRESET_SCATTER_BASIC",description:"Basic scatter",descriptionZh:"基本散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},stt={name:"PRESET_SCATTER_BUBBLES_BASIC",description:"Basic scatter bubbles",descriptionZh:"基本的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},ltt={name:"PRESET_SCATTER_BUBBLES_SCALING_BY_RADIUS",description:"Scatter bubbles with radius scaling",descriptionZh:"以半徑尺寸為比例的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7},ScatterBubbles:{arcScaleType:"radius"}}},utt={name:"PRESET_SCATTER_BUBBLES_LINEAR_OPACITY",description:"Scatter bubbles with linear opacity",descriptionZh:"以資料量漸變透明度的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7},ScatterBubbles:{valueLinearOpacity:[.5,1]}}},ctt={name:"PRESET_SCATTER_BUBBLES_SEPARATE_CATEGORY",description:"Scatter bubbles with separate category",descriptionZh:"分開顯示category的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},ftt={name:"PRESET_SCATTER_BUBBLES_SIMPLE",description:"Simple scatter bubbles",descriptionZh:"簡單的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7,listRectRadius:7}}},dtt={name:"PRESET_SCATTER_SEPARATE_CATEGORY",description:"Scatter with separate category",descriptionZh:"分開顯示category的散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0},pluginParams:{XYAxes:{xAxis:{ticks:3},yAxis:{ticks:3}},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},htt={name:"PRESET_SCATTER_SIMPLE",description:"Simple scatter",descriptionZh:"簡單散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7,listRectRadius:7}}},ptt={name:"PRESET_FORCE_DIRECTED_BASIC",description:"Basic force directed chart",descriptionZh:"基本力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{},RelationshipLegend:{listRectRadius:7}}},gtt={name:"PRESET_FORCE_DIRECTED_BUBBLES_BASIC",description:"Basic force directed bubbles chart",descriptionZh:"基本力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{},RelationshipLegend:{listRectRadius:7}}},mtt={name:"PRESET_FORCE_DIRECTED_BUBBLES_FIX_ARROW_WIDTH",description:"Force-directed bubble chart with fixed arrow width",descriptionZh:"固定箭頭寬度的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{arrow:{strokeWidthMin:1.5,strokeWidthMax:1.5}},RelationshipLegend:{listRectRadius:7}}},ytt={name:"PRESET_FORCE_DIRECTED_BUBBLES_NONE_ARROW",description:"Force-directed bubble chart without arrows",descriptionZh:"沒有箭頭的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{arrow:{pointerWidth:0,pointerHeight:0}},RelationshipLegend:{listRectRadius:7}}},btt={name:"PRESET_FORCE_DIRECTED_BUBBLES_NONE_ZOOM",description:"Force Directed bubbles chart without mouse drag and zoom control",descriptionZh:"無滑鼠托曳及縮放控制的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{zoomable:!1},RelationshipLegend:{listRectRadius:7}}},xtt={name:"PRESET_FORCE_DIRECTED_BUBBLES_SIMPLE",description:"Simple force directed bubbles chart",descriptionZh:"簡單力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{},RelationshipLegend:{listRectRadius:7,padding:7}}},vtt={name:"PRESET_FORCE_DIRECTED_NONE_ZOOM",description:"Force directed chart without mouse drag and zoom control",descriptionZh:"無滑鼠托曳及縮放控制的力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{zoomable:!1},RelationshipLegend:{listRectRadius:7}}},$tt={name:"PRESET_FORCE_DIRECTED_FIX_FONT_SIZE",description:"Force directed chart with fixed font size",descriptionZh:"固定字體大小的力導向圖",chartParams:{colors:{light:{label:["#4BABFF","#FFA0A0","#7DD3C4","#F9B052","#8454D4","#42C724","#FF4B4B","#904026","#4B25B3","#C50669"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#F9B052","#8454D4","#42C724","#FF4B4B","#904026","#4B25B3","#C50669"]}}},pluginParams:{ForceDirected:{dotLabel:{sizeFixed:!0},arrowLabel:{sizeFixed:!0}},RelationshipLegend:{listRectRadius:7}}},_tt={name:"PRESET_FORCE_DIRECTED_NONE_ARROW",description:"Force directed chart without arrows",descriptionZh:"沒有箭頭的力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{arrow:{pointerWidth:0,pointerHeight:0}},RelationshipLegend:{listRectRadius:7}}},Att={name:"PRESET_FORCE_DIRECTED_SIMPLE",description:"Simple force directed chart",descriptionZh:"簡單力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{},RelationshipLegend:{listRectRadius:7,padding:7}}},Stt={name:"PRESET_TREE_MAP_BASIC",description:"Basic tree map",descriptionZh:"基本樹狀矩形圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:70,left:40}},pluginParams:{TreeMap:{},TreeLegend:{placement:"bottom",padding:14}}},Dtt={name:"PRESET_TREE_MAP_SIMPLE",description:"Simple tree map",descriptionZh:"簡單樹狀矩形圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:40,left:40}},pluginParams:{TreeMap:{},TreeLegend:{placement:"bottom",padding:7}}};L.Bars=dY,L.BarsPN=pY,L.BarsTriangle=BY,L.Bubbles=cK,L.CONTAINER_PLUGIN_PARAMS=lJ,L.DEFAULTL_DATA_RELATIONA=MP,L.DEFAULT_BARS_DIVERGING_PARAMS=g6,L.DEFAULT_BARS_PARAMS=hl,L.DEFAULT_BARS_TRIANGLE_PARAMS=pb,L.DEFAULT_BUBBLES_PARAMS=UC,L.DEFAULT_CHART_HEIGHT=c0,L.DEFAULT_CHART_OPTIONS=Zn,L.DEFAULT_CHART_PARAMS=bf,L.DEFAULT_CHART_WIDTH=u0,L.DEFAULT_DATA_FORMATTER_CONTAINER=Xi,L.DEFAULT_DATA_FORMATTER_GRID=_f,L.DEFAULT_DATA_FORMATTER_GRID_GRID=$f,L.DEFAULT_DATA_FORMATTER_GROUP_AXIS=f0,L.DEFAULT_DATA_FORMATTER_MULTI_GRID=Af,L.DEFAULT_DATA_FORMATTER_MULTI_GRID_GRID=Wi,L.DEFAULT_DATA_FORMATTER_MULTI_VALUE=Sf,L.DEFAULT_DATA_FORMATTER_RELATIONSHIP=Cf,L.DEFAULT_DATA_FORMATTER_SERIES=vf,L.DEFAULT_DATA_FORMATTER_TREE=Df,L.DEFAULT_DATA_FORMATTER_VALUE_AXIS=xe,L.DEFAULT_DATA_FORMATTER_X_Y_AXIS=xf,L.DEFAULT_DATA_GRID=FP,L.DEFAULT_DATA_MULTI_GRID=TP,L.DEFAULT_DATA_MULTI_VALUE=wP,L.DEFAULT_DATA_SERIES=PP,L.DEFAULT_DATA_TREE=BP,L.DEFAULT_DOTS_PARAMS=db,L.DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS=ji,L.DEFAULT_FORCE_DIRECTED_PARAMS=Gi,L.DEFAULT_GRID_LEGEND_PARAMS=yb,L.DEFAULT_GRID_TOOLTIP_PARAMS=Dd,L.DEFAULT_GROUP_AUX_PARAMS=Ad,L.DEFAULT_GROUP_AXIS_PARAMS=Sd,L.DEFAULT_GROUP_ZOOM_PARAMS=mb,L.DEFAULT_LINES_PARAMS=cb,L.DEFAULT_LINE_AREAS_PARAMS=fb,L.DEFAULT_MULTI_BARS_PARAMS=tC,L.DEFAULT_MULTI_BARS_TRIANGLE_PARAMS=nC,L.DEFAULT_MULTI_DOTS_PARAMS=iC,L.DEFAULT_MULTI_GRID_LEGEND_PARAMS=QD,L.DEFAULT_MULTI_GRID_TOOLTIP_PARAMS=Tm,L.DEFAULT_MULTI_GROUP_AXIS_PARAMS=Pm,L.DEFAULT_MULTI_LINES_PARAMS=rC,L.DEFAULT_MULTI_LINE_AREAS_PARAMS=aC,L.DEFAULT_MULTI_STACKED_BARS_PARAMS=eC,L.DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS=hq,L.DEFAULT_MULTI_VALUE_AXIS_PARAMS=Bs,L.DEFAULT_MULTI_VALUE_LEGEND_PARAMS=vC,L.DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS=Gm,L.DEFAULT_OVERLAPPING_STACKED_VALUE_AXES_PARAMS=oC,L.DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS=Fm,L.DEFAULT_PADDING=yf,L.DEFAULT_PIE_EVENT_TEXTS_PARAMS=Km,L.DEFAULT_PIE_LABELS_PARAMS=Qm,L.DEFAULT_PIE_PARAMS=YC,L.DEFAULT_RACING_BARS_PARAMS=jm,L.DEFAULT_RACING_COUNTER_TEXTS_PARAMS=Vm,L.DEFAULT_RACING_VALUE_AXIS_PARAMS=Hm,L.DEFAULT_RELATIONSHIP_LEGEND_PARAMS=wC,L.DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS=Jm,L.DEFAULT_ROSE_LABELS_PARAMS=t0,L.DEFAULT_ROSE_PARAMS=qC,L.DEFAULT_SCATTER_BUBBLES_PARAMS=_C,L.DEFAULT_SCATTER_PARAMS=$C,L.DEFAULT_SERIES_LEGEND_PARAMS=ZC,L.DEFAULT_SERIES_TOOLTIP_PARAMS=e0,L.DEFAULT_STACKED_BARS_PARAMS=hb,L.DEFAULT_STACKED_VALUE_AXIS_PARAMS=gb,L.DEFAULT_TREE_LEGEND_PARAMS=iP,L.DEFAULT_TREE_MAP_PARAMS=s0,L.DEFAULT_TREE_TOOLTIP_PARAMS=l0,L.DEFAULT_VALUE_AXIS_PARAMS=pl,L.DEFAULT_X_AXIS_PARAMS=Xm,L.DEFAULT_X_Y_AUX_PARAMS=hf,L.DEFAULT_X_Y_AXES_PARAMS=pf,L.DEFAULT_X_ZOOM_PARAMS=AC,L.Dots=kY,L.ForceDirected=wJ,L.ForceDirectedBubbles=JJ,L.GridChart=y3,L.GridLegend=OY,L.GridTooltip=eq,L.GroupAux=dq,L.GroupAxis=XY,L.GroupZoom=aq,L.LineAreas=aY,L.Lines=ZU,L.MultiBars=yq,L.MultiBarsTriangle=$q,L.MultiDots=Pq,L.MultiGridChart=A3,L.MultiGridLegend=gq,L.MultiGridTooltip=Eq,L.MultiGroupAxis=Tq,L.MultiLineAreas=Dq,L.MultiLines=Aq,L.MultiStackedBars=xq,L.MultiStackedValueAxis=Rq,L.MultiValueAxis=Bq,L.MultiValueChart=V3,L.MultiValueLegend=Gq,L.MultiValueTooltip=Vq,L.OverlappingStackedValueAxes=zq,L.OverlappingValueAxes=Iq,L.PRESET_BARS_HORIZONTAL_AND_ROUND=fQ,L.PRESET_BARS_HORIZONTAL_AND_THIN=dQ,L.PRESET_BARS_ROUND=hQ,L.PRESET_BARS_THIN=pQ,L.PRESET_BUBBLES_BASIC=oQ,L.PRESET_BUBBLES_SCALING_BY_RADIUS=sQ,L.PRESET_BUBBLES_SEPARATE_SERIES=lQ,L.PRESET_BUBBLES_SIMPLE=uQ,L.PRESET_BUBBLES_SUM_SERIES=cP,L.PRESET_FORCE_DIRECTED_BASIC=ptt,L.PRESET_FORCE_DIRECTED_BUBBLES_BASIC=gtt,L.PRESET_FORCE_DIRECTED_BUBBLES_FIX_ARROW_WIDTH=mtt,L.PRESET_FORCE_DIRECTED_BUBBLES_NONE_ARROW=ytt,L.PRESET_FORCE_DIRECTED_BUBBLES_NONE_ZOOM=btt,L.PRESET_FORCE_DIRECTED_BUBBLES_SIMPLE=xtt,L.PRESET_FORCE_DIRECTED_FIX_FONT_SIZE=$tt,L.PRESET_FORCE_DIRECTED_NONE_ARROW=_tt,L.PRESET_FORCE_DIRECTED_NONE_ZOOM=vtt,L.PRESET_FORCE_DIRECTED_SIMPLE=Att,L.PRESET_GRID_BASIC=gQ,L.PRESET_GRID_HORIZONTAL=mQ,L.PRESET_GRID_PN_SCALE=bQ,L.PRESET_GRID_PN_SCALE_SIMPLE=yQ,L.PRESET_GRID_ROTATE_AXIS_LABEL=xQ,L.PRESET_GRID_SEPARATE_SERIES=vQ,L.PRESET_GRID_SIMPLE=$Q,L.PRESET_LINES_BASIC=TQ,L.PRESET_LINES_CURVE=wQ,L.PRESET_LINES_HORIZONTAL=BQ,L.PRESET_LINES_LOOSE_TICKS=MQ,L.PRESET_LINES_ROTATE_AXIS_LABEL=EQ,L.PRESET_LINES_SIMPLE=LQ,L.PRESET_LINES_WITH_SOLID_DOTS=RQ,L.PRESET_LINE_AREAS_BASIC=_Q,L.PRESET_LINE_AREAS_CURVE=AQ,L.PRESET_LINE_AREAS_HORIZONTAL=SQ,L.PRESET_LINE_AREAS_LOOSE_TICKS=DQ,L.PRESET_LINE_AREAS_ROTATE_AXIS_LABEL=CQ,L.PRESET_LINE_AREAS_SEPARATE_SERIES=PQ,L.PRESET_LINE_AREAS_SIMPLE=FQ,L.PRESET_MULTI_GRID_BASIC=kQ,L.PRESET_MULTI_GRID_DIVERGING=NQ,L.PRESET_MULTI_GRID_DIVERGING_SIMPLE=IQ,L.PRESET_MULTI_GRID_ROUND_STYLE=OQ,L.PRESET_MULTI_GRID_ROUND_STYLE_SIMPLE=zQ,L.PRESET_MULTI_GRID_SEPARATE_GRID=jQ,L.PRESET_MULTI_GRID_SEPARATE_GRID_SIMPLE=GQ,L.PRESET_MULTI_GRID_SIMPLE=VQ,L.PRESET_MULTI_LINES_SEPARATE_GRID=UQ,L.PRESET_MULTI_LINES_SEPARATE_GRID_SIMPLE=WQ,L.PRESET_MULTI_LINE_AREAS_SEPARATE_GRID=XQ,L.PRESET_MULTI_LINE_AREAS_SEPARATE_GRID_SIMPLE=HQ,L.PRESET_MULTI_VALUE_BASIC=YQ,L.PRESET_MULTI_VALUE_SEPARATE_CATEGORY=qQ,L.PRESET_MULTI_VALUE_SIMPLE=ZQ,L.PRESET_PIE_BASIC=fP,L.PRESET_PIE_DONUT=dP,L.PRESET_PIE_HALF_DONUT=hP,L.PRESET_PIE_SEPARATE_SERIES=gP,L.PRESET_PIE_SIMPLE=mP,L.PRESET_PIE_SUM_SERIES=yP,L.PRESET_PIE_WITH_INNER_LABELS=pP,L.PRESET_RACING_BARS_ALL_ITEMS=JQ,L.PRESET_RACING_BARS_BASIC=KQ,L.PRESET_RACING_BARS_FAST=QQ,L.PRESET_RACING_BARS_FASTER=ttt,L.PRESET_RACING_BARS_LOOP=ett,L.PRESET_RACING_BARS_OUTSIDE_LABELS=ntt,L.PRESET_RACING_BARS_SEPARATE_CATEGORY=rtt,L.PRESET_RACING_BARS_SIMPLE=att,L.PRESET_RACING_BARS_STOP=itt,L.PRESET_ROSE_BASIC=bP,L.PRESET_ROSE_SCALING_BY_RADIUS=xP,L.PRESET_ROSE_SEPARATE_SERIES=vP,L.PRESET_ROSE_SEPARATE_SERIES_AND_SUM_SERIES=AP,L.PRESET_ROSE_SIMPLE=$P,L.PRESET_ROSE_SUM_SERIES=_P,L.PRESET_SCATTER_BASIC=ott,L.PRESET_SCATTER_BUBBLES_BASIC=stt,L.PRESET_SCATTER_BUBBLES_LINEAR_OPACITY=utt,L.PRESET_SCATTER_BUBBLES_SCALING_BY_RADIUS=ltt,L.PRESET_SCATTER_BUBBLES_SEPARATE_CATEGORY=ctt,L.PRESET_SCATTER_BUBBLES_SIMPLE=ftt,L.PRESET_SCATTER_SEPARATE_CATEGORY=dtt,L.PRESET_SCATTER_SIMPLE=htt,L.PRESET_SERIES_BASIC=cQ,L.PRESET_SERIES_SEPARATE_SERIES=DP,L.PRESET_SERIES_SEPARATE_SERIES_AND_SUM_SERIES=SP,L.PRESET_SERIES_SUM_SERIES=CP,L.PRESET_TREE_MAP_BASIC=Stt,L.PRESET_TREE_MAP_SIMPLE=Dtt,L.Pie=mK,L.PieEventTexts=xK,L.PieLabels=wK,L.RacingBars=hZ,L.RacingCounterTexts=bZ,L.RacingValueAxis=PZ,L.RelationshipChart=K3,L.RelationshipLegend=QJ,L.RelationshipTooltip=eK,L.Rose=kK,L.RoseLabels=UK,L.Scatter=MZ,L.ScatterBubbles=NZ,L.SeriesChart=d3,L.SeriesLegend=qK,L.SeriesTooltip=JK,L.StackedBars=_Y,L.StackedValueAxis=KY,L.TOOLTIP_PARAMS=TC,L.TreeChart=o6,L.TreeLegend=QK,L.TreeMap=rQ,L.TreeTooltip=iQ,L.ValueAxis=ZY,L.XAxis=OZ,L.XYAux=YZ,L.XYAxes=aJ,L.XZoom=sJ,L.calcContainerPosition=Zf,L.calcContainerPositionScaled=Sa,L.categoryDataMapObservable=oo,L.computedStackedDataObservables=md,L.containerSizeObservable=fl,L.createAxisToLabelIndexScale=o3,L.createAxisToValueScale=a3,L.createDefaultCategoryLabel=ol,L.createDefaultDatumId=ro,L.createDefaultGroupLabel=Uf,L.createDefaultSeriesLabel=il,L.createGridGroupLabels=$y,L.createGridSeriesLabels=Yf,L.createLabelToAxisScale=i3,L.createMultiGridGroupLabels=_y,L.createMultiGridSeriesLabels=vy,L.createValueToAxisScale=Ne,L.defineGridPlugin=u6,L.defineMultiGridPlugin=c6,L.defineMultiValuePlugin=f6,L.defineNoneDataPlugin=d6,L.defineRelationshipPlugin=h6,L.defineSeriesPlugin=l6,L.defineTreePlugin=p6,L.filteredMinMaxValueObservable=bd,L.formatCommaNumber=EP,L.formatValueToLabel=kw,L.getMinMax=Kn,L.getMinMaxGrid=qf,L.getMinMaxMultiGrid=Nw,L.getMinMaxMultiValue=zw,L.getMinMaxMultiValueXY=Ow,L.getMinMaxSeries=Iw,L.getMinMaxValue=Ay,L.gridAxesContainerSizeObservable=dd,L.gridAxesReverseTransformObservable=vd,L.gridAxesSizeObservable=dl,L.gridAxesTransformObservable=xd,L.gridComputedAxesDataObservable=fd,L.gridContainerPositionObservable=ob,L.gridGraphicReverseScaleObservable=_d,L.gridGraphicTransformObservable=$d,L.gridSeriesLabelsObservable=hd,L.gridVisibleComputedAxesDataObservable=gd,L.gridVisibleComputedDataObservable=pd,L.groupDataMapObservable=cd,L.groupScaleDomainValueObservable=yd,L.highlightObservable=rr,L.isDom=h0,L.isFunction=d0,L.isPlainObject=ae,L.mergeOptionsWithDefault=Jn,L.resizeObservable=ab,L.seriesColorPredicate=Qn,L.seriesDataMapObservable=cl,L.textSizePxObservable=Pr,L.transposeData=Sy,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})});