@blueprint-chart/lib 2.11.0 → 2.13.0

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.
Files changed (32) hide show
  1. package/dist/charts/format-helpers.d.ts +1 -0
  2. package/dist/charts/line-symbols.d.ts +2 -1
  3. package/dist/charts/palettes.d.ts +1 -0
  4. package/dist/charts/plugins/arc-labels.d.ts +1 -2
  5. package/dist/charts/sort-helpers.d.ts +5 -0
  6. package/dist/charts/themes/index.d.ts +1 -0
  7. package/dist/charts/types/area/area.d.ts +1 -1
  8. package/dist/charts/types/area-stacked/area-stacked.d.ts +0 -1
  9. package/dist/charts/types/bar-grouped/bar-grouped.d.ts +0 -1
  10. package/dist/charts/types/bar-multi/bar-multi.d.ts +0 -1
  11. package/dist/charts/types/bar-split/bar-split.d.ts +0 -1
  12. package/dist/charts/types/bar-stacked/bar-stacked.d.ts +0 -1
  13. package/dist/charts/types/column-stacked/column-stacked.d.ts +0 -1
  14. package/dist/charts/types/donut/donut.d.ts +0 -1
  15. package/dist/charts/types/dot-plot/dot-plot.d.ts +1 -1
  16. package/dist/charts/types/line/line.d.ts +1 -1
  17. package/dist/charts/types/line-multi/line-multi.d.ts +0 -1
  18. package/dist/charts/types/scatter/scatter.d.ts +1 -1
  19. package/dist/charts/types.d.ts +7 -0
  20. package/dist/embed.js +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.js +233 -243
  23. package/dist/lib/lib.iife.js +28 -23
  24. package/dist/node-backend/index.js +2554 -2592
  25. package/dist/render/chart-a11y.d.ts +1 -1
  26. package/dist/{render-bpc-dodOcvDz.js → render-bpc-Df2pX315.js} +2830 -2866
  27. package/dist/runtime/chart-css.d.ts +1 -1
  28. package/dist/runtime-CT02Shsd.js +118 -0
  29. package/dist/runtime.js +2 -2
  30. package/package.json +1 -1
  31. package/src/charts/chart.scss +2 -1
  32. package/dist/runtime-D_vHKSyR.js +0 -84
@@ -1,4 +1,4 @@
1
- var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule||!o.call(e,`default`)?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=`
1
+ var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule||!o.call(e,`default`)?n(i,`default`,{value:e,enumerable:!0}):i,e));function u(){return typeof window>`u`||typeof window.matchMedia!=`function`?null:window.matchMedia(`(prefers-color-scheme: dark)`)}var d=`
2
2
  /* Blueprint Chart — Runtime Embed Styles
3
3
  CSS custom properties with baked-in defaults for standalone iframe usage. */
4
4
 
@@ -156,7 +156,8 @@ var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{valu
156
156
  }
157
157
 
158
158
  .bc-frame-byline,
159
- .bc-frame-source {
159
+ .bc-frame-source,
160
+ .bc-frame-get-the-data {
160
161
  --bc-frame-meta-color: var(--bc-text-color, #888);
161
162
  --bc-frame-meta-font-size: 0.75rem;
162
163
  color: var(--bc-frame-meta-color);
@@ -299,20 +300,24 @@ body {
299
300
 
300
301
  color: rgba(255, 255, 255, 0.9);
301
302
  }
302
- `,d=`blueprint-chart-resize`,f=`blueprint-chart-error`;function p(e){return typeof e==`object`&&e&&e.type===`blueprint-chart-resize`&&typeof e.height==`number`?e.height:null}function m(e){return typeof e==`object`&&!!e&&e.type===`blueprint-chart-error`}var h=g();function g(){try{if(typeof globalThis<`u`){let e=globalThis.BLUEPRINT_CHART_RUNTIME_URL;if(typeof e==`string`&&e)return e}return typeof document>`u`?``:document.currentScript?.src??``}catch{return``}}var _=new Map,v=null;function y(){v||(v=e=>{for(let[t,n]of _)if(e.source===t.contentWindow){n(e);return}},window.addEventListener(`message`,v))}function b(){y(),document.querySelectorAll(`script[type="application/blueprint-chart"]`).forEach(x)}function x(e){let t=e.textContent?.trim();if(!t)return;let n=document.createElement(`iframe`);n.className=`blueprint-chart-iframe`,n.style.cssText=`border: none; width: 100%; display: block;`,n.setAttribute(`sandbox`,`allow-scripts`),n.setAttribute(`title`,`Blueprint Chart`),e.parentNode?.insertBefore(n,e),n.srcdoc=S(t,h),_.set(n,e=>{let t=p(e.data);if(t!==null){n.style.height=`${t}px`;return}m(e.data)&&console.warn(`Blueprint Chart: could not render embed.`,e.data.message)})}function S(e,t,n){let r=t?`<script src="${w(t)}"><\/script>`:``,i=n===`dark`?`<html data-bs-theme="dark">`:`<html>`,a=t?[`try {`,` window.BlueprintChart.renderBpc(document.getElementById("chart"), __BPC_SRC__);`,`}`,`catch (e) {`,` parent.postMessage({ type: "${f}", message: String(e) }, "*");`,`}`]:[`parent.postMessage({ type: "${f}", message: "Blueprint Chart runtime URL unavailable" }, "*");`];return[`<!DOCTYPE html>`,`${i}<head>`,`<style>${u}</style>`,`</head><body>`,`<div id="chart" class="blueprint-chart-container"></div>`,r,`<script>`,`var __BPC_SRC__ = ${C(e)};`,`function notifySize() {`,` var h = document.documentElement.scrollHeight;`,` parent.postMessage({ type: "${d}", height: h }, "*");`,`}`,...a,`notifySize();`,`new ResizeObserver(notifySize).observe(document.body);`,`<\/script>`,`</body></html>`].filter(Boolean).join(`
303
- `)}function C(e){return JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function w(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function T(e){let t=0;for(let n of e)n.type===`data`&&t++;return t}function E(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],scenes:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`scene`:t.scenes.push(n);break;case`transform`:t.transforms.push(n)}return t}function D(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`transform`:t.transforms.push(n)}return t}var O=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`
303
+ `,f=`blueprint-chart-resize`,p=`blueprint-chart-error`;function m(e){return typeof e==`object`&&e&&e.type===`blueprint-chart-resize`&&typeof e.height==`number`?e.height:null}function h(e){return typeof e==`object`&&!!e&&e.type===`blueprint-chart-error`}var g=_();function _(){try{if(typeof globalThis<`u`){let e=globalThis.BLUEPRINT_CHART_RUNTIME_URL;if(typeof e==`string`&&e)return e}return typeof document>`u`?``:document.currentScript?.src??``}catch{return``}}var v=new Map,y=null,b=[];function x(){y||(y=e=>{for(let[t,n]of v)if(e.source===t.contentWindow){n(e);return}},window.addEventListener(`message`,y))}function S(){x(),document.querySelectorAll(`script[type="application/blueprint-chart"]`).forEach(C)}function C(e){let t=e.textContent?.trim();if(!t)return;let n=document.createElement(`iframe`);n.className=`blueprint-chart-iframe`,n.style.cssText=`border: none; width: 100%; display: block;`,n.setAttribute(`sandbox`,`allow-scripts`),n.setAttribute(`title`,`Blueprint Chart`),e.parentNode?.insertBefore(n,e);let r=e.closest(`[data-bs-theme]`)?.getAttribute(`data-bs-theme`);if(r===`light`||r===`dark`)n.srcdoc=w(t,g,r);else{let e=u(),r=()=>{n.srcdoc=w(t,g,e?.matches?`dark`:`light`)};r(),e&&(e.addEventListener(`change`,r),b.push(()=>e.removeEventListener(`change`,r)))}v.set(n,e=>{let t=m(e.data);if(t!==null){n.style.height=`${t}px`;return}h(e.data)&&console.warn(`Blueprint Chart: could not render embed.`,e.data.message)})}function w(e,t,n){let r=t?`<script src="${E(t)}"><\/script>`:``,i=n===`dark`?`<html data-bs-theme="dark">`:`<html>`,a=t?[`try {`,` window.BlueprintChart.renderBpc(document.getElementById("chart"), __BPC_SRC__);`,`}`,`catch (e) {`,` parent.postMessage({ type: "${p}", message: String(e) }, "*");`,`}`]:[`parent.postMessage({ type: "${p}", message: "Blueprint Chart runtime URL unavailable" }, "*");`];return[`<!DOCTYPE html>`,`${i}<head>`,`<style>${d}</style>`,`</head><body>`,`<div id="chart" class="blueprint-chart-container"></div>`,r,`<script>`,`var __BPC_SRC__ = ${T(e)};`,`function notifySize() {`,` var h = document.documentElement.scrollHeight;`,` parent.postMessage({ type: "${f}", height: h }, "*");`,`}`,...a,`notifySize();`,`new ResizeObserver(notifySize).observe(document.body);`,`<\/script>`,`</body></html>`].filter(Boolean).join(`
304
+ `)}function T(e){return JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}function E(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function D(e){let t=0;for(let n of e)n.type===`data`&&t++;return t}function O(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],scenes:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`scene`:t.scenes.push(n);break;case`transform`:t.transforms.push(n)}return t}function k(e){let t={properties:[],data:null,colorizes:[],highlights:[],areaFills:[],annotations:[],series:[],transforms:[]};for(let n of e)switch(n.type){case`property`:t.properties.push(n);break;case`data`:t.data=n;break;case`colorize`:t.colorizes.push(n);break;case`highlight`:t.highlights.push(n);break;case`area-fill`:t.areaFills.push(n);break;case`annotation`:t.annotations.push(n);break;case`series`:t.series.push(n);break;case`transform`:t.transforms.push(n)}return t}var A=class extends SyntaxError{constructor(e,t,n,r){super(e),this.expected=t,this.found=n,this.location=r,this.name=`SyntaxError`}format(e){let t=`Error: `+this.message;if(this.location){let n=null,r=e.find(e=>e.source===this.location.source);r&&(n=r.text.split(/\r\n|\n|\r/g));let i=this.location.start,a=this.location.source&&typeof this.location.source.offset==`function`?this.location.source.offset(i):i,o=this.location.source+`:`+a.line+`:`+a.column;if(n){let e=this.location.end,r=``.padEnd(a.line.toString().length,` `),s=n[i.line-1],c=(i.line===e.line?e.column:s.length+1)-i.column||1;t+=`
304
305
  --> `+o+`
305
306
  `+r+` |
306
307
  `+a.line+` | `+s+`
307
308
  `+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`
308
- at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`"`+a(e)+`"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function k(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Chart:Lt},a=Lt,o=`chart`,s=`data`,c=`colorize`,l=`highlight`,u=`area-fill`,d=`annotation`,f=`range`,p=`note`,m=`series`,h=`scene`,g=`transform`,_=/^[ \t]/,v=/^[^\t\n\r{}=]/,y=/^[a-zA-Z_#]/,b=/^[a-zA-Z0-9_#\-]/,x=/^[0-9]/,S=/^[eE]/,C=/^[+\-]/,w=/^[^"\\]/,k=/^[0-9a-fA-F]/,A=/^[^\n]/,j=/^[ \t\n\r]/,M=Ot(`chart`,!1),N=Ot(`{`,!1),P=Ot(`}`,!1),F=kt([` `,` `],!1,!1,!1),I=Ot(`data`,!1),L=Ot(`=`,!1),R=Ot(`,`,!1),z=Ot(` `,!1),B=kt([` `,`
309
- `,`\r`,`{`,`}`,`=`],!0,!1,!1),V=Ot(`colorize`,!1),H=Ot(`highlight`,!1),ee=Ot(`area-fill`,!1),U=Ot(`annotation`,!1),te=Ot(`range`,!1),ne=Ot(`note`,!1),re=Ot(`series`,!1),ie=Ot(`scene`,!1),W=Ot(`transform`,!1),ae=Ot(`%`,!1),oe=Mt(`identifier`),se=kt([[`a`,`z`],[`A`,`Z`],`_`,`#`],!1,!1,!1),ce=kt([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`#`,`-`],!1,!1,!1),le=Ot(`-`,!1),ue=Ot(`.`,!1),G=kt([[`0`,`9`]],!1,!1,!1),K=kt([`e`,`E`],!1,!1,!1),de=kt([`+`,`-`],!1,!1,!1),fe=Mt(`string`),pe=Ot(`"`,!1),me=Ot(`\\`,!1),he=kt([`"`,`\\`],!0,!1,!1),ge=Ot(`n`,!1),_e=Ot(`r`,!1),ve=Ot(`t`,!1),ye=Ot(`u`,!1),be=kt([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),xe=At(),Se=Ot(`//`,!1),q=kt([`
310
- `],!0,!1,!1),Ce=Ot(`/*`,!1),we=Ot(`*/`,!1),Te=kt([` `,` `,`
311
- `,`\r`],!1,!1,!1),Ee=Mt(`whitespace`);function De(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=E(t);return{type:`chart`,chartType:e,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,scenes:r.scenes,transforms:r.transforms}}function Oe(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function ke(e,t){return{type:`data`,entries:e,...t.length?{trailingComments:t}:{}}}function Ae(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function je(e,t,n){return n}function Me(e,t,n){let r=[t,...n];return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:r[0].value,isPercentage:!1,values:r.map(e=>e.value)}}function Ne(e,t){return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Pe(e){return{name:e,quoted:!0}}function Fe(e){return{name:e,quoted:!1}}function Ie(e,t){return{type:`property`,key:e,...e===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Le(e){return e.trim()}function Re(e,t,n){return{type:`colorize`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function ze(){Et(`colorize needs a quoted target, e.g. colorize "2021" { ... }`)}function Be(e,t,n){return{type:`colorize`,target:e,properties:t,fromHighlight:!0,...n.length?{trailingComments:n}:{}}}function Ve(e){return{type:`highlight`,target:e,properties:[]}}function He(){Et(`highlight needs a quoted target, e.g. highlight "2021" { ... } or highlight "2021"`)}function Ue(e,t,n,r){return{type:`area-fill`,from:e,to:t,properties:n,...r.length?{trailingComments:r}:{}}}function We(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ge(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ke(e,t,n){return{type:`annotation`,kind:`point`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function qe(){Et(`annotation needs a quoted target, e.g. annotation "2021" { ... }`)}function Je(e,t){return{type:`annotation`,kind:`range`,properties:e,...t.length?{trailingComments:t}:{}}}function Ye(e,t){return{type:`annotation`,kind:`free`,properties:e,...t.length?{trailingComments:t}:{}}}function Xe(e,t,n){return{type:`series`,name:e,properties:t,...n.length?{trailingComments:n}:{}}}function Ze(){Et(`series needs a quoted name, e.g. series "Revenue" { ... }`)}function Qe(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=D(t);return{type:`scene`,name:e??null,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,transforms:r.transforms}}function $e(e,t,n){return{type:`transform`,transformType:e,properties:t,...n.length?{trailingComments:n}:{}}}function et(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function tt(e,t){return t!=null&&(e.trailingComment=t),e}function nt(e,t){return{type:`property`,key:e,value:t.value,isPercentage:t.isPercentage}}function rt(e){return{value:e,isPercentage:!0}}function it(e){return{value:e,isPercentage:!1}}function at(e){return{value:e,isPercentage:!1}}function ot(e){return{value:e,isPercentage:!1}}function st(e){return parseFloat(e)}function ct(e){return e.join(``)}function lt(e){return e}function ut(){return`"`}function dt(){return`\\`}function ft(){return`
312
- `}function pt(){return`\r`}function mt(){return` `}function ht(e){return String.fromCharCode(parseInt(e,16))}function gt(e){Et(`Unknown escape sequence \\`+e)}function _t(e){return e}function vt(e){return e}function yt(e){return e.trim()}function bt(e){return e.trim()}let J=t.peg$currPos|0,xt=J,St=[{line:1,column:1}],Ct=J,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(xt,J):t,Ft(e,t)}function Dt(t=J){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){J<Ct||(J>Ct&&(Ct=J,wt=[]),wt.push(e))}function Ft(e,t){return new O(e,null,null,t)}function It(e,t,n){return new O(O.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=J,vn(),e.substr(J,5)===o?(r=o,J+=5):(r=n,Y===0&&X(M)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(vn(),xt=t,t=De(a,c,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Oe(r,i,o)}else J=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=J,e.substr(J,4)===s?(r=s,J+=4):(r=n,Y===0&&X(I)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(J)===125?(c=`}`,J++):(c=n,Y===0&&X(P)),c===n?(J=t,t=n):(xt=t,t=ke(a,o))}else J=t,t=n}else J=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=J,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Ae(r,i,o)}else J=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=J,r=Ht(),r!==n){if(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i!==n){if(vn(),a=an(),a!==n){if(o=[],s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l)));else o=n;o===n?(J=t,t=n):(xt=t,t=Me(r,a,o))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,r=Ht(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ne(r,a))))),t}function Ht(){let e,t;return e=J,t=cn(),t!==n&&(xt=e,t=Pe(t)),e=t,e===n&&(e=J,t=on(),t!==n&&(xt=e,t=Fe(t)),e=t),e}function Ut(){let t,r,i,a;return t=J,r=Wt(),r===n?(J=t,t=n):(e.charCodeAt(J)===9?(i=` `,J++):(i=n,Y===0&&X(z)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ie(r,a)))),t}function Wt(){let t,r,i,a;if(t=J,r=J,i=[],a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B));else i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=Le(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(xt=t,t=Re(a,s,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=ze()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(J)===125?(d=`}`,J++):(d=n,Y===0&&X(P)),d===n?(J=t,t=n):(xt=t,t=Be(a,c,u))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=J,Y++,s=J,c=vn(),e.charCodeAt(J)===123?(u=`{`,J++):(u=n,Y===0&&X(N)),u===n?(J=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=t,t=n):(xt=t,t=Ve(a))))),t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=He())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(vn(),e.charCodeAt(J)===123?(c=`{`,J++):(c=n,Y===0&&X(N)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(J)===125?(f=`}`,J++):(f=n,Y===0&&X(P)),f===n?(J=t,t=n):(xt=t,t=Ue(a,s,l,d))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s===n?(J=t,t=n):(xt=t,t=We())))),t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ge())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Ke(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=qe()))),t}function Yt(){let t,r,i,a,o,s;if(t=J,e.substr(J,5)===f?(r=f,J+=5):(r=n,Y===0&&X(te)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Je(a,o))}else J=t,t=n}else J=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=J,e.substr(J,4)===p?(r=p,J+=4):(r=n,Y===0&&X(ne)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Ye(a,o))}else J=t,t=n}else J=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Xe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ze()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,5)===h?(r=h,J+=5):(r=n,Y===0&&X(ie)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Qe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,9)===g?(r=g,J+=9):(r=n,Y===0&&X(W)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=$e(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function en(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=et(r,i,o)}else J=t,t=n;return t}function tn(){let t,r,i,a;if(t=J,vn(),r=nn(),r!==n){for(i=[],a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a=gn(),a===n&&(a=null),mn(),xt=t,t=tt(r,a)}else J=t,t=n;return t}function nn(){let t,r,i,a;return t=J,r=rn(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=nt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=J,r=sn(),r===n?(J=t,t=n):(e.charCodeAt(J)===37?(i=`%`,J++):(i=n,Y===0&&X(ae)),i===n?(J=t,t=n):(xt=t,t=rt(r))),t===n&&(t=J,r=sn(),r!==n&&(xt=t,r=it(r)),t=r,t===n&&(t=J,r=cn(),r!==n&&(xt=t,r=at(r)),t=r,t===n&&(t=J,r=on(),r!==n&&(xt=t,r=ot(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=J,r=J,i=e.charAt(J),y.test(i)?J++:(i=n,Y===0&&X(se)),i!==n){for(a=[],o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));o!==n;)a.push(o),o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));i=[i,a],r=i}else J=r,r=n;return t=r===n?r:e.substring(t,J),Y--,t===n&&(r=n,Y===0&&X(oe)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=J,r=J,i=J,e.charCodeAt(J)===45?(a=`-`,J++):(a=n,Y===0&&X(le)),a===n&&(a=null),o=J,e.charCodeAt(J)===46?(s=`.`,J++):(s=n,Y===0&&X(ue)),s!==n){if(c=[],l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(G)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(G));else c=n;c===n?(J=o,o=n):(s=[s,c],o=s)}else J=o,o=n;if(o===n){if(o=J,s=[],c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(G)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(G));else s=n;if(s!==n){if(c=J,e.charCodeAt(J)===46?(l=`.`,J++):(l=n,Y===0&&X(ue)),l!==n){for(u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(G));d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(G));l=[l,u],c=l}else J=c,c=n;c===n&&(c=null),s=[s,c],o=s}else J=o,o=n}if(o!==n){if(s=J,c=e.charAt(J),S.test(c)?J++:(c=n,Y===0&&X(K)),c!==n){if(l=e.charAt(J),C.test(l)?J++:(l=n,Y===0&&X(de)),l===n&&(l=null),u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(G)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(G));else u=n;u===n?(J=s,s=n):(c=[c,l,u],s=c)}else J=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else J=i,i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=st(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(pe)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(J)===34?(a=`"`,J++):(a=n,Y===0&&X(pe)),a===n?(J=t,t=n):(xt=t,t=ct(i))}else J=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(fe)),t}function ln(){let t,r,i;return t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r===n?(J=t,t=n):(i=un(),i===n?(J=t,t=n):(xt=t,t=lt(i))),t===n&&(t=e.charAt(J),w.test(t)?J++:(t=n,Y===0&&X(he))),t}function un(){let t,r,i,a,o,s,c,l;return t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(pe)),r!==n&&(xt=t,r=ut()),t=r,t===n&&(t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r!==n&&(xt=t,r=dt()),t=r,t===n&&(t=J,e.charCodeAt(J)===110?(r=`n`,J++):(r=n,Y===0&&X(ge)),r!==n&&(xt=t,r=ft()),t=r,t===n&&(t=J,e.charCodeAt(J)===114?(r=`r`,J++):(r=n,Y===0&&X(_e)),r!==n&&(xt=t,r=pt()),t=r,t===n&&(t=J,e.charCodeAt(J)===116?(r=`t`,J++):(r=n,Y===0&&X(ve)),r!==n&&(xt=t,r=mt()),t=r,t===n&&(t=J,e.charCodeAt(J)===117?(r=`u`,J++):(r=n,Y===0&&X(ye)),r===n?(J=t,t=n):(i=J,a=J,o=e.charAt(J),k.test(o)?J++:(o=n,Y===0&&X(be)),o===n?(J=a,a=n):(s=e.charAt(J),k.test(s)?J++:(s=n,Y===0&&X(be)),s===n?(J=a,a=n):(c=e.charAt(J),k.test(c)?J++:(c=n,Y===0&&X(be)),c===n?(J=a,a=n):(l=e.charAt(J),k.test(l)?J++:(l=n,Y===0&&X(be)),l===n?(J=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,J),i===n?(J=t,t=n):(xt=t,t=ht(i))),t===n&&(t=J,e.length>J?(r=e.charAt(J),J++):(r=n,Y===0&&X(xe)),r!==n&&(xt=t,r=gt(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=[],a=e.charAt(J),A.test(a)?J++:(a=n,Y===0&&X(q));a!==n;)i.push(a),a=e.charAt(J),A.test(a)?J++:(a=n,Y===0&&X(q));r=[r,i],t=r}else J=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=[],a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(we)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(we)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(we)),a===n?(J=t,t=n):(r=[r,i,a],t=r)}else J=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te));r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te));return Y--,t}function hn(){let e,t,r,i;for(e=J,t=[],r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));r!==n;)t.push(r),r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));return r=mn(),xt=e,e=vt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=J,a=[],o=e.charAt(J),A.test(o)?J++:(o=n,Y===0&&X(q));o!==n;)a.push(o),o=e.charAt(J),A.test(o)?J++:(o=n,Y===0&&X(q));i=e.substring(i,J),xt=t,t=yt(i)}else J=t,t=n;if(t===n){if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=J,a=[],o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(we)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(we)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));i=e.substring(i,J),e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(we)),a===n?(J=t,t=n):(xt=t,t=bt(i))}else J=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(Ee)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());return Y--,t}Tt=a();let yn=Tt!==n&&J===e.length;function bn(){throw Tt!==n&&J<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:J,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:yn,peg$throw:yn?void 0:bn};if(yn)return Tt;bn()}function A(e){try{return k(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function j(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function M(e){return j(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function N(e){let t=M(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var P={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},F={"\\":`\\`,'"':`"`,n:`
313
- `,r:`\r`,t:` `};function I(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>P[e])}"`}function L(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):F[t])}function R(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?L(t.slice(1,-1)):t}function z(e){let t=[],n=``,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(i&&o===`\\`&&a+1<e.length){n+=o+e[++a];continue}if(o===`"`)i=!i;else if(!i&&o===`(`)r++;else if(!i&&o===`)`)r=Math.max(0,r-1);else if(o===`,`&&!i&&r===0){t.push(n),n=``;continue}n+=o}return t.push(n),t}var B=`"((?:[^"\\\\]|\\\\.)*)"`,V=RegExp(`^${B}\\s*=\\s*(.+)$`),H=RegExp(`^${B}\\s*=\\s*"([^"]*)"$`),ee=RegExp(`^${B}\\s*=\\s*(.+)$`);function U(e){let t=new Set;return e.map(e=>{let n=e;for(let r=2;t.has(n);r++)n=`${e} (${r})`;return t.add(n),n})}function te(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>R(e)!==``);return i.length>0&&i.every(e=>N(e)===void 0)?[{name:e,values:r.map(e=>R(e)||void 0)}]:[]})}function ne(e){let t=e.split(`
314
- `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=z(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(H),i=n??t[e].match(V);i&&r.push({cells:z(i[2]),label:L(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(N(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=te(a,r);return{labels:U(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(ee);t&&(n.push(L(t[1])),r.push(N(t[2])))}return{labels:U(n),values:r}}var re=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],ie=Object.fromEntries(re.map(e=>[e.name,e.colors]));function W(e){if(!e)return;let t=ie[e];return t?[...t]:void 0}function ae(){return re}var{min:oe,max:se}=Math,ce=(e,t=0,n=1)=>oe(se(t,e),n),le=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=ce(e[t],0,255)):t===3&&(e[t]=ce(e[t],0,1));return e},ue={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])ue[`[object ${e}]`]=e.toLowerCase();function G(e){return ue[Object.prototype.toString.call(e)]||`object`}var K=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):G(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),de=e=>{if(e.length<2)return null;let t=e.length-1;return G(e[t])==`string`?e[t].toLowerCase():null},{PI:fe,min:pe,max:me}=Math,he=e=>Math.round(e*100)/100,ge=e=>Math.round(e*100)/100,_e=fe*2,ve=fe/3,ye=fe/180,be=180/fe;function xe(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Se={format:{},autodetect:[]},q=class{constructor(...e){let t=this;if(G(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=de(e),r=!1;if(!n){r=!0,Se.sorted||=(Se.autodetect=Se.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Se.autodetect)if(n=t.test(...e),n)break}if(Se.format[n])t._rgb=le(Se.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return G(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},Ce=`3.2.0`,we=(...e)=>new q(...e);we.version=Ce;var Te={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},Ee=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,De=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Oe=e=>{if(e.match(Ee)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(De)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:ke}=Math,Ae=(...e)=>{let[t,n,r,i]=K(e,`rgba`),a=de(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=ke(t),n=ke(n),r=ke(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+ke(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};q.prototype.name=function(){let e=Ae(this._rgb,`rgb`);for(let t of Object.keys(Te))if(Te[t]===e)return t.toLowerCase();return e},Se.format.named=e=>{if(e=e.toLowerCase(),Te[e])return Oe(Te[e]);throw Error(`unknown color name: `+e)},Se.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&Te[e.toLowerCase()])return`named`}}),q.prototype.alpha=function(e,t=!1){return e!==void 0&&G(e)===`number`?t?(this._rgb[3]=e,this):new q([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},q.prototype.clipped=function(){return this._rgb._clipped||!1};var je={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Me=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Ne(e){let t=Me.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);je.labWhitePoint=e,je.Xn=t[0],je.Zn=t[1]}function Pe(){return je.labWhitePoint}var Fe=(...e)=>{e=K(e,`lab`);let[t,n,r]=e,[i,a,o]=Ie(t,n,r),[s,c,l]=Re(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Ie=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=je,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Le=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},Re=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=je,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Le(y*a.m00+b*a.m10+x*a.m20),C=Le(y*a.m01+b*a.m11+x*a.m21),w=Le(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},ze=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=He(t,n,r),[c,l,u]=Be(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Be(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=je,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function Ve(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var He=(e,t,n)=>{e=Ve(e/255),t=Ve(t/255),n=Ve(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=je,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};q.prototype.lab=function(){return ze(this._rgb)},Object.assign(we,{lab:(...e)=>new q(...e,`lab`),getLabWhitePoint:Pe,setLabWhitePoint:Ne}),Se.format.lab=Fe,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`lab`),G(e)===`array`&&e.length===3)return`lab`}}),q.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=je.Kn*e,new q(n,`lab`).alpha(t.alpha(),!0)},q.prototype.brighten=function(e=1){return this.darken(-e)},q.prototype.darker=q.prototype.darken,q.prototype.brighter=q.prototype.brighten,q.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:Ue}=Math,We=1e-7,Ge=20;q.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&G(e)===`number`){if(e===0)return new q([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new q([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Ge,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<We||!r--?o:s>e?i(n,o):i(o,a)};return new q([...(n>e?i(new q([0,0,0]),this):i(this,new q([255,255,255]))).rgb(),this._rgb[3]])}return Ke(...this._rgb.slice(0,3))};var Ke=(e,t,n)=>(e=qe(e),t=qe(t),n=qe(n),.2126*e+.7152*t+.0722*n),qe=e=>(e/=255,e<=.03928?e/12.92:Ue((e+.055)/1.055,2.4)),Je={},Ye=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Je[i]&&!r.length&&(i=Object.keys(Je)[0]),!Je[i])throw Error(`interpolation mode ${i} is not defined`);return G(e)!==`object`&&(e=new q(e)),G(t)!==`object`&&(t=new q(t)),Je[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};q.prototype.mix=q.prototype.interpolate=function(e,t=.5,...n){return Ye(this,e,t,...n)},q.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new q([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:Xe,cos:Ze}=Math,Qe=(...e)=>{let[t,n,r]=K(e,`lch`);return isNaN(r)&&(r=0),r*=ye,[t,Ze(r)*n,Xe(r)*n]},$e=(...e)=>{e=K(e,`lch`);let[t,n,r]=e,[i,a,o]=Qe(t,n,r),[s,c,l]=Fe(i,a,o);return[s,c,l,e.length>3?e[3]:1]},et=(...e)=>$e(...xe(K(e,`hcl`))),{sqrt:tt,atan2:nt,round:rt}=Math,it=(...e)=>{let[t,n,r]=K(e,`lab`),i=tt(n*n+r*r),a=(nt(r,n)*be+360)%360;return rt(i*1e4)===0&&(a=NaN),[t,i,a]},at=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=ze(t,n,r),[c,l,u]=it(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};q.prototype.lch=function(){return at(this._rgb)},q.prototype.hcl=function(){return xe(at(this._rgb))},Object.assign(we,{lch:(...e)=>new q(...e,`lch`),hcl:(...e)=>new q(...e,`hcl`)}),Se.format.lch=$e,Se.format.hcl=et,[`lch`,`hcl`].forEach(e=>Se.autodetect.push({p:2,test:(...t)=>{if(t=K(t,e),G(t)===`array`&&t.length===3)return e}})),q.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=je.Kn*e,n[1]<0&&(n[1]=0),new q(n,`lch`).alpha(t.alpha(),!0)},q.prototype.desaturate=function(e=1){return this.saturate(-e)},q.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(G(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(G(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new q(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},q.prototype.tint=function(e=.5,...t){return Ye(this,`white`,e,...t)},q.prototype.shade=function(e=.5,...t){return Ye(this,`black`,e,...t)},Je.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:ot,pow:st}=Math;Je.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new q(ot(st(r,2)*(1-n)+st(o,2)*n),ot(st(i,2)*(1-n)+st(s,2)*n),ot(st(a,2)*(1-n)+st(c,2)*n),`rgb`)},Je.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var ct=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new q([m,f,p],r):new q([p,f,m],r)},lt=(e,t,n)=>ct(e,t,n,`lch`);Je.lch=lt,Je.hcl=lt;var ut=e=>{if(G(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},dt=(...e)=>{let[t,n,r]=K(e,`rgb`);return(t<<16)+(n<<8)+r};q.prototype.num=function(){return dt(this._rgb)},Object.assign(we,{num:(...e)=>new q(...e,`num`)}),Se.format.num=ut,Se.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&G(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Je.num=(e,t,n)=>{let r=e.num();return new q(r+n*(t.num()-r),`num`)};var{floor:ft}=Math,pt=(...e)=>{e=K(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=ft(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},mt=(...e)=>{let[t,n,r]=K(e,`rgb`),i=pe(t,n,r),a=me(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};q.prototype.hcg=function(){return mt(this._rgb)},we.hcg=(...e)=>new q(...e,`hcg`),Se.format.hcg=pt,Se.autodetect.push({p:1,test:(...e)=>{if(e=K(e,`hcg`),G(e)===`array`&&e.length===3)return`hcg`}}),Je.hcg=(e,t,n)=>ct(e,t,n,`hcg`);var{cos:ht}=Math,gt=(...e)=>{e=K(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*ht(_e*t)/ht(ve-_e*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*ht(_e*t)/ht(ve-_e*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*ht(_e*t)/ht(ve-_e*t))/3,i=1-(a+o)),i=ce(r*i*3),a=ce(r*a*3),o=ce(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:_t,sqrt:vt,acos:yt}=Math,bt=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i,a=_t(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=vt((t-n)*(t-n)+(t-r)*(n-r)),i=yt(i),r>n&&(i=_e-i),i/=_e),[i*360,s,o]};q.prototype.hsi=function(){return bt(this._rgb)},we.hsi=(...e)=>new q(...e,`hsi`),Se.format.hsi=gt,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsi`),G(e)===`array`&&e.length===3)return`hsi`}}),Je.hsi=(e,t,n)=>ct(e,t,n,`hsi`);var J=(...e)=>{e=K(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},xt=(...e)=>{e=K(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=pe(t,n,r),a=me(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};q.prototype.hsl=function(){return xt(this._rgb)},we.hsl=(...e)=>new q(...e,`hsl`),Se.format.hsl=J,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsl`),G(e)===`array`&&e.length===3)return`hsl`}}),Je.hsl=(e,t,n)=>ct(e,t,n,`hsl`);var{floor:St}=Math,Ct=(...e)=>{e=K(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=St(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:wt,max:Y}=Math,Tt=(...e)=>{e=K(e,`rgb`);let[t,n,r]=e,i=wt(t,n,r),a=Y(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};q.prototype.hsv=function(){return Tt(this._rgb)},we.hsv=(...e)=>new q(...e,`hsv`),Se.format.hsv=Ct,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsv`),G(e)===`array`&&e.length===3)return`hsv`}}),Je.hsv=(e,t,n)=>ct(e,t,n,`hsv`);function Et(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var Dt=(...e)=>{e=K(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=Ot([t,n,r]),[c,l,u]=Re(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ot(e){return Et([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Et([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var kt=(...e)=>{let[t,n,r,...i]=K(e,`rgb`);return[...At(He(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function At(e){return Et([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Et([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}q.prototype.oklab=function(){return kt(this._rgb)},Object.assign(we,{oklab:(...e)=>new q(...e,`oklab`)}),Se.format.oklab=Dt,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklab`),G(e)===`array`&&e.length===3)return`oklab`}}),Je.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Je.oklch=(e,t,n)=>ct(e,t,n,`oklch`);var{pow:jt,sqrt:Mt,PI:Nt,cos:Pt,sin:X,atan2:Ft}=Math,It=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new q(e)),t===`lrgb`)return Lt(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Nt;c+=Pt(t)*n[0],l+=X(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Nt;c+=Pt(t)*n[r+1],l+=X(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=Ft(l/s[e],c/s[e])/Nt*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new q(o,t).alpha(u>.99999?1:u,!0)},Lt=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=jt(s[0],2)*o,r[1]+=jt(s[1],2)*o,r[2]+=jt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=Mt(r[0]),r[1]=Mt(r[1]),r[2]=Mt(r[2]),r[3]>.9999999&&(r[3]=1),new q(le(r))},{pow:Rt}=Math;function zt(e){let t=`rgb`,n=we(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&G(e)===`string`&&we.brewer&&we.brewer[e.toLowerCase()]&&(e=we.brewer[e.toLowerCase()]),G(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=we(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=Rt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=ce(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(G(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=we.interpolate(l[e],l[e+1],a,t);break}}else G(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=we(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(G(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=we.analyze(i);c=e===0?[t.min,t.max]:we.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(G(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=Bt(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return we[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=we(e),C)},C}function Bt(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Vt=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Ht=function(e){let t,n,r,i;if(e=e.map(e=>new q(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Vt(i),t=function(e){let t=1-e;return new q([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Ut=e=>{let t=Ht(e);return t.scale=()=>zt(t),t},{round:Wt}=Math;q.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Wt)},q.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Wt(t):t)},Object.assign(we,{rgb:(...e)=>new q(...e,`rgb`)}),Se.format.rgb=(...e)=>{let t=K(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Se.autodetect.push({p:3,test:(...e)=>{if(e=K(e,`rgba`),G(e)===`array`&&(e.length===3||e.length===4&&G(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Gt=(e,t,n)=>{if(!Gt[n])throw Error(`unknown blend mode `+n);return Gt[n](e,t)},Kt=e=>(t,n)=>{let r=we(n).rgb(),i=we(t).rgb();return we.rgb(e(r,i))},qt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Gt.normal=Kt(qt(e=>e)),Gt.multiply=Kt(qt((e,t)=>e*t/255)),Gt.screen=Kt(qt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Gt.overlay=Kt(qt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Gt.darken=Kt(qt((e,t)=>e>t?t:e)),Gt.lighten=Kt(qt((e,t)=>e>t?e:t)),Gt.dodge=Kt(qt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Gt.burn=Kt(qt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Jt,sin:Yt,cos:Xt}=Math;function Zt(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;G(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=_e*((e+120)/360+t*s),l=Jt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=Xt(c),f=Yt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return we(le([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,G(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(G(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>we.scale(s),s.hue(n),s}var Qt=`0123456789abcdef`,{floor:$t,random:en}=Math,tn=(e=en)=>{let t=`#`;for(let n=0;n<6;n++)t+=Qt.charAt($t(e()*16));return new q(t,`hex`)},{log:nn,pow:rn,floor:an,abs:on}=Math;function sn(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return G(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&G(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>cn(n,e,t),n}function cn(e,t=`equal`,n=7){G(e)==`array`&&(e=sn(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*nn(r),t=Math.LOG10E*nn(i);o.push(r);for(let r=1;r<n;r++)o.push(rn(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=an(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=on(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var ln=(e,t)=>{e=new q(e),t=new q(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},un=.027,dn=5e-4,fn=.1,pn=1.14,mn=.022,hn=1.414,gn=(e,t)=>{e=new q(e),t=new q(t),e.alpha()<1&&(e=Ye(t,e,e.alpha(),`rgb`));let n=_n(...e.rgb()),r=_n(...t.rgb()),i=n>=mn?n:n+(mn-n)**+hn,a=r>=mn?r:r+(mn-r)**+hn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<dn?0:i<a?o*pn:s*pn;return(Math.abs(c)<fn?0:c>0?c-un:c+un)*100};function _n(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:vn,pow:yn,min:bn,max:xn,atan2:Sn,abs:Cn,cos:wn,sin:Tn,exp:En,PI:Dn}=Math;function On(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*Dn)},o=function(e){return 2*Dn*e/360};e=new q(e),t=new q(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(vn(yn(c,2)+yn(l,2))+vn(yn(d,2)+yn(f,2)))/2,h=.5*(1-vn(yn(m,7)/(yn(m,7)+yn(25,7)))),g=c*(1+h),_=d*(1+h),v=vn(yn(g,2)+yn(l,2)),y=vn(yn(_,2)+yn(f,2)),b=(v+y)/2,x=a(Sn(l,g)),S=a(Sn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=Cn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*wn(o(T-30))+.24*wn(o(2*T))+.32*wn(o(3*T+6))-.2*wn(o(4*T-63)),D=w-C;D=Cn(D)<=180?D:w<=C?D+360:D-360,D=2*vn(v*y)*Tn(o(D)/2);let O=u-s,k=y-v,A=1+.015*yn(p-50,2)/vn(20+yn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*En(-yn((T-275)/25,2)),P=-(2*vn(yn(b,7)/(yn(b,7)+yn(25,7))))*Tn(2*o(N));return xn(0,bn(100,vn(yn(O/(n*A),2)+yn(k/(r*j),2)+yn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function kn(e,t,n=`lab`){e=new q(e),t=new q(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var An=(...e)=>{try{return new q(...e),!0}catch{return!1}},jn={cool(){return zt([we.hsl(180,1,.9),we.hsl(250,.7,.4)])},hot(){return zt([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Mn={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},Nn=Object.keys(Mn),Pn=new Map(Nn.map(e=>[e.toLowerCase(),e])),Fn=typeof Proxy==`function`?new Proxy(Mn,{get(e,t){let n=t.toLowerCase();if(Pn.has(n))return e[Pn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Nn)}}):Mn,In=(...e)=>{e=K(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Ln}=Math,Rn=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Ln(t,Ln(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};q.prototype.cmyk=function(){return Rn(this._rgb)},Object.assign(we,{cmyk:(...e)=>new q(...e,`cmyk`)}),Se.format.cmyk=In,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`cmyk`),G(e)===`array`&&e.length===4)return`cmyk`}});var zn=(...e)=>{let t=K(e,`hsla`),n=de(e)||`lsa`;return t[0]=he(t[0]||0)+`deg`,t[1]=he(t[1]*100)+`%`,t[2]=he(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Bn=(...e)=>{let t=K(e,`lab`),n=de(e)||`lab`;return t[0]=he(t[0])+`%`,t[1]=he(t[1]),t[2]=he(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Vn=(...e)=>{let t=K(e,`lch`),n=de(e)||`lab`;return t[0]=he(t[0])+`%`,t[1]=he(t[1]),t[2]=isNaN(t[2])?`none`:he(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Hn=(...e)=>{let t=K(e,`lab`);return t[0]=he(t[0]*100)+`%`,t[1]=ge(t[1]),t[2]=ge(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Un=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=kt(t,n,r),[c,l,u]=it(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Wn=(...e)=>{let t=K(e,`lch`);return t[0]=he(t[0]*100)+`%`,t[1]=ge(t[1]),t[2]=isNaN(t[2])?`none`:he(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Gn}=Math,Kn=(...e)=>{let t=K(e,`rgba`),n=de(e)||`rgb`;if(n.substr(0,3)===`hsl`)return zn(xt(t),n);if(n.substr(0,3)===`lab`){let e=Pe();Ne(`d50`);let r=Bn(ze(t),n);return Ne(e),r}if(n.substr(0,3)===`lch`){let e=Pe();Ne(`d50`);let r=Vn(at(t),n);return Ne(e),r}return n.substr(0,5)===`oklab`?Hn(kt(t)):n.substr(0,5)===`oklch`?Wn(Un(t)):(t[0]=Gn(t[0]),t[1]=Gn(t[1]),t[2]=Gn(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},qn=(...e)=>{e=K(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=Qe(t,n,r),[c,l,u]=Dt(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Jn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Yn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,Xn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,Zn=`\\s*`,Qn=`\\s+`,$n=`\\s*,\\s*`,er=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,tr=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,nr=RegExp(`^rgba?\\(`+Zn+[Jn,Jn,Jn].join(Qn)+tr+`\\)$`),rr=RegExp(`^rgb\\(`+Zn+[Jn,Jn,Jn].join($n)+Zn+`\\)$`),ir=RegExp(`^rgba\\(`+Zn+[Jn,Jn,Jn,Yn].join($n)+Zn+`\\)$`),ar=RegExp(`^hsla?\\(`+Zn+[er,Xn,Xn].join(Qn)+tr+`\\)$`),or=RegExp(`^hsl?\\(`+Zn+[er,Xn,Xn].join($n)+Zn+`\\)$`),sr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,cr=RegExp(`^lab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),lr=RegExp(`^lch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),ur=RegExp(`^oklab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),dr=RegExp(`^oklch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),{round:fr}=Math,pr=e=>e.map((e,t)=>t<=2?ce(fr(e),0,255):e),mr=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),hr=(e,t)=>e===`none`?t:e,gr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Se.format.named)try{return Se.format.named(e)}catch{}if((t=e.match(nr))||(t=e.match(rr))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+mr(hr(e[t],0),0,255);e=pr(e);let n=t[4]===void 0?1:+mr(t[4],0,1);return e[3]=n,e}if(t=e.match(ir)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+mr(e[t],0,255);return e}if((t=e.match(ar))||(t=e.match(or))){let e=t.slice(1,4);e[0]=+hr(e[0].replace(`deg`,``),0),e[1]=mr(hr(e[1],0),0,100)*.01,e[2]=mr(hr(e[2],0),0,100)*.01;let n=pr(J(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(sr)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=J(e);for(let e=0;e<3;e++)n[e]=fr(n[e]);return n[3]=+t[4],n}if(t=e.match(cr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,100),e[1]=mr(hr(e[1],0),-125,125,!0),e[2]=mr(hr(e[2],0),-125,125,!0);let n=Pe();Ne(`d50`);let r=pr(Fe(e));return Ne(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(lr)){let e=t.slice(1,4);e[0]=mr(e[0],0,100),e[1]=mr(hr(e[1],0),0,150,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=Pe();Ne(`d50`);let r=pr($e(e));return Ne(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(ur)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),-.4,.4,!0),e[2]=mr(hr(e[2],0),-.4,.4,!0);let n=pr(Dt(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),0,.4,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=pr(qn(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}};gr.test=e=>nr.test(e)||ar.test(e)||cr.test(e)||lr.test(e)||ur.test(e)||dr.test(e)||rr.test(e)||ir.test(e)||or.test(e)||sr.test(e)||e===`transparent`,q.prototype.css=function(e){return Kn(this._rgb,e)},we.css=(...e)=>new q(...e,`css`),Se.format.css=gr,Se.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&gr.test(e))return`css`}}),Se.format.gl=(...e)=>{let t=K(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},we.gl=(...e)=>new q(...e,`gl`),q.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},q.prototype.hex=function(e){return Ae(this._rgb,e)},we.hex=(...e)=>new q(...e,`hex`),Se.format.hex=Oe,Se.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:_r}=Math,vr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*_r(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*_r(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*_r(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*_r(r),i=255),[n,r,i,1]},{round:yr}=Math,br=(...e)=>{let t=K(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=vr(o);e[2]/e[0]>=r/n?a=o:i=o}return yr(o)};q.prototype.temp=q.prototype.kelvin=q.prototype.temperature=function(){return br(this._rgb)};var xr=(...e)=>new q(...e,`temp`);Object.assign(we,{temp:xr,kelvin:xr,temperature:xr}),Se.format.temp=Se.format.kelvin=Se.format.temperature=vr,q.prototype.oklch=function(){return Un(this._rgb)},Object.assign(we,{oklch:(...e)=>new q(...e,`oklch`)}),Se.format.oklch=qn,Se.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklch`),G(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(we,{analyze:sn,average:It,bezier:Ut,blend:Gt,brewer:Fn,Color:q,colors:Te,contrast:ln,contrastAPCA:gn,cubehelix:Zt,deltaE:On,distance:kn,input:Se,interpolate:Ye,limits:cn,mix:Ye,random:tn,scale:zt,scales:jn,valid:An});var Sr=we;function Cr(e,t){if(!Sr.valid(e))return t;try{return Sr(e)}catch{return t}}function wr(e){return Sr.valid(e)&&Sr.contrast(e,`#fff`)>=Sr.contrast(e,`#333`)?`#fff`:`#333`}var Tr=4.5;function Er(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Dr(e,t=`#fff`){if(!Sr.valid(e))return Sr.valid(t)?wr(t):`#333`;let n=Sr(e),r=Cr(t,Sr(`#fff`));if(Sr.contrast(n,r)>=Tr)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Sr.contrast(n,r)>=Tr));e++);return n.hex()}var Or=12,kr=.25,Ar=20,jr=15;function Mr(e,t){if(e.length===0)return[];let n=Cr(t,Sr(`#fff`)),r=Sr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Sr.valid(e)?Nr(Sr(e),r,i):Sr(`#000`));for(let e=1;e<a.length;e++)a[e]=Ir(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Nr(e,t,n){for(let r=0;r<Ar;r++){if(Sr.contrast(e,t)>=Tr)return e;e=n?e.darken(kr):e.brighten(kr)}return e}function Pr(e,t){return t.reduce((t,n)=>Math.min(t,Sr.deltaE(e,n)),1/0)}function*Fr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Ar;e++)t=n?t.darken(kr):t.brighten(kr),yield t}for(let t=jr;t<=180;t+=jr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Ir(e,t,n,r){let i=e,a=Pr(e,t);if(a>=Or)return e;for(let o of Fr(e,r)){if(Sr.contrast(o,n)<Tr)continue;let e=Pr(o,t);if(e>a&&(i=o,a=e),a>=Or)break}return i}var Lr=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.Scatter=`scatter`,e.DotPlot=`dot-plot`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),Rr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),zr=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Br=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Vr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Hr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Ur=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),Wr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Gr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Kr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),qr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Jr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Yr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),Xr=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),Zr=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),Qr=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),$r=function(e){return e.None=`none`,e.Forward=`forward`,e.Backward=`backward`,e.Both=`both`,e}({}),ei=function(e){return e.Dumbbell=`dumbbell`,e.Range=`range`,e}({}),ti=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e.Value=`value`,e.Gap=`gap`,e}({}),ni=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),ri=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ii=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ai=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),oi=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),si=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Z=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),ci=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),li=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),ui=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),di=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),fi=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),pi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),mi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),hi=l(pi(),1),gi=l(mi(),1);hi.default.extend(gi.default);var _i=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function vi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function yi(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function bi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,hi.default)(t,`YYYY`,!0);return e.isValid()?yi(e):null}for(let e of _i){if(e===`YYYY`)continue;let n=(0,hi.default)(t,e,!0);if(n.isValid())return yi(n)}return null}function xi(e){let t=e.trim();if(!t)return;let n=bi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function Si(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?bi(t)?.getTime():n}function Ci(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,hi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(yi(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of _i)e!==`YYYY`&&(0,hi.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,hi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(yi(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:vi(n)}:null}function wi(e){return typeof e==`string`?Si(e):e}function Ti(e,t){if(typeof e!=`string`)return e;let n=bi(e);return n?n.getTime():t?void 0:xi(e)}function Ei(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=Ci(e)!==null,r=Ti(t.min,n),i=Ti(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=xi(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Di(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function Oi(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===zr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=wi(t?.min)??i,u=wi(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function ki(e,t){if(typeof e.constant!=`function`&&typeof e.base!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function Ai(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ji(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Mi(e){let t,n,r;e.length===2?(t=e===Ai||e===ji?e:Ni,n=e,r=e):(t=Ai,n=(t,n)=>Ai(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Ni(){return 0}function Pi(e){return e===null?NaN:+e}var Fi=Mi(Ai),Ii=Fi.right;Fi.left;var Li=Mi(Pi).center;function Ri(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var zi=class extends Map{constructor(e,t=Ui){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Bi(this,e))}has(e){return super.has(Bi(this,e))}set(e,t){return super.set(Vi(this,e),t)}delete(e){return super.delete(Hi(this,e))}};function Bi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Vi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Hi({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Ui(e){return typeof e==`object`&&e?e.valueOf():e}function Wi(e){return e}function Gi(e,t,...n){return Ki(e,Wi,t,n)}function Ki(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new zi,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function qi(e,t){return Array.from(t,t=>e[t])}function Ji(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=Xi(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>Xi(n[e],n[t]))),qi(e,r)}return e.sort(Yi(n))}function Yi(e=Ai){if(e===Ai)return Xi;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Xi(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var Zi=Math.sqrt(50),Qi=Math.sqrt(10),$i=Math.sqrt(2);function ea(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Zi?10:a>=Qi?5:a>=$i?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?ea(e,t,n*2):[s,c,l]}function ta(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?ea(t,e,n):ea(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function na(e,t,n){return t=+t,e=+e,n=+n,ea(e,t,n)[2]}function ra(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?na(t,e,n):na(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ia(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function aa(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function oa(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function sa(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function ca(e){return e}var la=1,ua=2,da=3,fa=4,pa=1e-6;function ma(e){return`translate(`+e+`,0)`}function ha(e){return`translate(0,`+e+`)`}function ga(e){return t=>+e(t)}function _a(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function va(){return!this.__axis}function ya(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===la||e===fa?-1:1,u=e===fa||e===ua?`x`:`y`,d=e===la||e===da?ma:ha;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):ca),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?_a:ga)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===la?`0em`:e===da?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,pa).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,pa).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===fa||e===ua?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(va).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ua?`start`:e===fa?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function ba(e){return ya(la,e)}function xa(e){return ya(ua,e)}function Sa(e){return ya(da,e)}function Ca(e){return ya(fa,e)}var wa={value:()=>{}};function Ta(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Ea(n)}function Ea(e){this._=e}function Da(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Ea.prototype=Ta.prototype={constructor:Ea,on:function(e,t){var n=this._,r=Da(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Oa(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=ka(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ka(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ea(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Oa(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ka(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=wa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Aa={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function ja(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Aa.hasOwnProperty(t)?{space:Aa[t],local:e}:e}function Ma(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Na(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Pa(e){var t=ja(e);return(t.local?Na:Ma)(t)}function Fa(){}function Ia(e){return e==null?Fa:function(){return this.querySelector(e)}}function La(e){typeof e!=`function`&&(e=Ia(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Es(r,this._parents)}function Ra(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function za(){return[]}function Ba(e){return e==null?za:function(){return this.querySelectorAll(e)}}function Va(e){return function(){return Ra(e.apply(this,arguments))}}function Ha(e){e=typeof e==`function`?Va(e):Ba(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Es(r,i)}function Ua(e){return function(){return this.matches(e)}}function Wa(e){return function(t){return t.matches(e)}}var Ga=Array.prototype.find;function Ka(e){return function(){return Ga.call(this.children,e)}}function qa(){return this.firstElementChild}function Ja(e){return this.select(e==null?qa:Ka(typeof e==`function`?e:Wa(e)))}var Ya=Array.prototype.filter;function Xa(){return Array.from(this.children)}function Za(e){return function(){return Ya.call(this.children,e)}}function Qa(e){return this.selectAll(e==null?Xa:Za(typeof e==`function`?e:Wa(e)))}function $a(e){typeof e!=`function`&&(e=Ua(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Es(r,this._parents)}function eo(e){return Array(e.length)}function to(){return new Es(this._enter||this._groups.map(eo),this._parents)}function no(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}no.prototype={constructor:no,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function ro(e){return function(){return e}}function io(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new no(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ao(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new no(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function oo(e){return e.__data__}function so(e,t){if(!arguments.length)return Array.from(this,oo);var n=t?ao:io,r=this._parents,i=this._groups;typeof e!=`function`&&(e=ro(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=co(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Es(o,r),o._enter=s,o._exit=c,o}function co(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function lo(){return new Es(this._exit||this._groups.map(eo),this._parents)}function uo(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function fo(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Es(s,this._parents)}function po(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function mo(e){e||=ho;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Es(i,this._parents).order()}function ho(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function go(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _o(){return Array.from(this)}function vo(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function yo(){let e=0;for(let t of this)++e;return e}function bo(){return!this.node()}function xo(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function So(e){return function(){this.removeAttribute(e)}}function Co(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wo(e,t){return function(){this.setAttribute(e,t)}}function To(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Eo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Do(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Oo(e,t){var n=ja(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Co:So:typeof t==`function`?n.local?Do:Eo:n.local?To:wo)(n,t))}function ko(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ao(e){return function(){this.style.removeProperty(e)}}function jo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Mo(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function No(e,t,n){return arguments.length>1?this.each((t==null?Ao:typeof t==`function`?Mo:jo)(e,t,n??``)):Po(this.node(),e)}function Po(e,t){return e.style.getPropertyValue(t)||ko(e).getComputedStyle(e,null).getPropertyValue(t)}function Fo(e){return function(){delete this[e]}}function Io(e,t){return function(){this[e]=t}}function Lo(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ro(e,t){return arguments.length>1?this.each((t==null?Fo:typeof t==`function`?Lo:Io)(e,t)):this.node()[e]}function zo(e){return e.trim().split(/^|\s+/)}function Bo(e){return e.classList||new Vo(e)}function Vo(e){this._node=e,this._names=zo(e.getAttribute(`class`)||``)}Vo.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Ho(e,t){for(var n=Bo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Uo(e,t){for(var n=Bo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Wo(e){return function(){Ho(this,e)}}function Go(e){return function(){Uo(this,e)}}function Ko(e,t){return function(){(t.apply(this,arguments)?Ho:Uo)(this,e)}}function qo(e,t){var n=zo(e+``);if(arguments.length<2){for(var r=Bo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Ko:t?Wo:Go)(n,t))}function Jo(){this.textContent=``}function Yo(e){return function(){this.textContent=e}}function Xo(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Zo(e){return arguments.length?this.each(e==null?Jo:(typeof e==`function`?Xo:Yo)(e)):this.node().textContent}function Qo(){this.innerHTML=``}function $o(e){return function(){this.innerHTML=e}}function es(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function ts(e){return arguments.length?this.each(e==null?Qo:(typeof e==`function`?es:$o)(e)):this.node().innerHTML}function ns(){this.nextSibling&&this.parentNode.appendChild(this)}function rs(){return this.each(ns)}function is(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function as(){return this.each(is)}function os(e){var t=typeof e==`function`?e:Pa(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function ss(){return null}function cs(e,t){var n=typeof e==`function`?e:Pa(e),r=t==null?ss:typeof t==`function`?t:Ia(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ls(){var e=this.parentNode;e&&e.removeChild(this)}function us(){return this.each(ls)}function ds(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function fs(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ps(e){return this.select(e?fs:ds)}function ms(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function hs(e){return function(t){e.call(this,t,this.__data__)}}function gs(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function _s(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function vs(e,t,n){return function(){var r=this.__on,i,a=hs(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function ys(e,t,n){var r=gs(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?vs:_s,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function bs(e,t,n){var r=ko(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function xs(e,t){return function(){return bs(this,e,t)}}function Ss(e,t){return function(){return bs(this,e,t.apply(this,arguments))}}function Cs(e,t){return this.each((typeof t==`function`?Ss:xs)(e,t))}function*ws(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Ts=[null];function Es(e,t){this._groups=e,this._parents=t}function Ds(){return new Es([[document.documentElement]],Ts)}function Os(){return this}Es.prototype=Ds.prototype={constructor:Es,select:La,selectAll:Ha,selectChild:Ja,selectChildren:Qa,filter:$a,data:so,enter:to,exit:lo,join:uo,merge:fo,selection:Os,order:po,sort:mo,call:go,nodes:_o,node:vo,size:yo,empty:bo,each:xo,attr:Oo,style:No,property:Ro,classed:qo,text:Zo,html:ts,raise:rs,lower:as,append:os,insert:cs,remove:us,clone:ps,datum:ms,on:ys,dispatch:Cs,[Symbol.iterator]:ws};function Q(e){return typeof e==`string`?new Es([[document.querySelector(e)]],[document.documentElement]):new Es([[e]],Ts)}function ks(e){let t;for(;t=e.sourceEvent;)e=t;return e}function As(e,t){if(e=ks(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function js(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Ms(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ns(){}var Ps=.7,Fs=1/Ps,Is=`\\s*([+-]?\\d+)\\s*`,Ls=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Rs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,zs=/^#([0-9a-f]{3,8})$/,Bs=RegExp(`^rgb\\(${Is},${Is},${Is}\\)$`),Vs=RegExp(`^rgb\\(${Rs},${Rs},${Rs}\\)$`),Hs=RegExp(`^rgba\\(${Is},${Is},${Is},${Ls}\\)$`),Us=RegExp(`^rgba\\(${Rs},${Rs},${Rs},${Ls}\\)$`),Ws=RegExp(`^hsl\\(${Ls},${Rs},${Rs}\\)$`),Gs=RegExp(`^hsla\\(${Ls},${Rs},${Rs},${Ls}\\)$`),Ks={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};js(Ns,Zs,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:qs,formatHex:qs,formatHex8:Js,formatHsl:Ys,formatRgb:Xs,toString:Xs});function qs(){return this.rgb().formatHex()}function Js(){return this.rgb().formatHex8()}function Ys(){return uc(this).formatHsl()}function Xs(){return this.rgb().formatRgb()}function Zs(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=zs.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Qs(t):n===3?new nc(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?$s(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?$s(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Bs.exec(e))?new nc(t[1],t[2],t[3],1):(t=Vs.exec(e))?new nc(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Hs.exec(e))?$s(t[1],t[2],t[3],t[4]):(t=Us.exec(e))?$s(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ws.exec(e))?lc(t[1],t[2]/100,t[3]/100,1):(t=Gs.exec(e))?lc(t[1],t[2]/100,t[3]/100,t[4]):Ks.hasOwnProperty(e)?Qs(Ks[e]):e===`transparent`?new nc(NaN,NaN,NaN,0):null}function Qs(e){return new nc(e>>16&255,e>>8&255,e&255,1)}function $s(e,t,n,r){return r<=0&&(e=t=n=NaN),new nc(e,t,n,r)}function ec(e){return e instanceof Ns||(e=Zs(e)),e?(e=e.rgb(),new nc(e.r,e.g,e.b,e.opacity)):new nc}function tc(e,t,n,r){return arguments.length===1?ec(e):new nc(e,t,n,r??1)}function nc(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}js(nc,tc,Ms(Ns,{brighter(e){return e=e==null?Fs:Fs**+e,new nc(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ps:Ps**+e,new nc(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new nc(sc(this.r),sc(this.g),sc(this.b),oc(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:rc,formatHex:rc,formatHex8:ic,formatRgb:ac,toString:ac}));function rc(){return`#${cc(this.r)}${cc(this.g)}${cc(this.b)}`}function ic(){return`#${cc(this.r)}${cc(this.g)}${cc(this.b)}${cc((isNaN(this.opacity)?1:this.opacity)*255)}`}function ac(){let e=oc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${sc(this.r)}, ${sc(this.g)}, ${sc(this.b)}${e===1?`)`:`, ${e})`}`}function oc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function sc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function cc(e){return e=sc(e),(e<16?`0`:``)+e.toString(16)}function lc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fc(e,t,n,r)}function uc(e){if(e instanceof fc)return new fc(e.h,e.s,e.l,e.opacity);if(e instanceof Ns||(e=Zs(e)),!e)return new fc;if(e instanceof fc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new fc(o,s,c,e.opacity)}function dc(e,t,n,r){return arguments.length===1?uc(e):new fc(e,t,n,r??1)}function fc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}js(fc,dc,Ms(Ns,{brighter(e){return e=e==null?Fs:Fs**+e,new fc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ps:Ps**+e,new fc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new nc(hc(e>=240?e-240:e+120,i,r),hc(e,i,r),hc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new fc(pc(this.h),mc(this.s),mc(this.l),oc(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(){let e=oc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${pc(this.h)}, ${mc(this.s)*100}%, ${mc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function pc(e){return e=(e||0)%360,e<0?e+360:e}function mc(e){return Math.max(0,Math.min(1,e||0))}function hc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var gc=e=>()=>e;function _c(e,t){return function(n){return e+n*t}}function vc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function yc(e){return(e=+e)==1?bc:function(t,n){return n-t?vc(t,n,e):gc(isNaN(t)?n:t)}}function bc(e,t){var n=t-e;return n?_c(e,n):gc(isNaN(e)?t:e)}var xc=(function e(t){var n=yc(t);function r(e,t){var r=n((e=tc(e)).r,(t=tc(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=bc(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Sc(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Cc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function wc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Nc(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Tc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Ec(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Dc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Nc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Oc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kc=new RegExp(Oc.source,`g`);function Ac(e){return function(){return e}}function jc(e){return function(t){return e(t)+``}}function Mc(e,t){var n=Oc.lastIndex=kc.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Oc.exec(e))&&(i=kc.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Ec(r,i)})),n=kc.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?jc(c[0].x):Ac(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Nc(e,t){var n=typeof t,r;return t==null||n===`boolean`?gc(t):(n===`number`?Ec:n===`string`?(r=Zs(t))?(t=r,xc):Mc:t instanceof Zs?xc:t instanceof Date?Tc:Cc(t)?Sc:Array.isArray(t)?wc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Dc:Ec)(e,t)}function Pc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Fc=180/Math.PI,Ic={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Lc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Fc,skewX:Math.atan(c)*Fc,scaleX:o,scaleY:s}}var Rc;function zc(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Ic:Lc(t.a,t.b,t.c,t.d,t.e,t.f)}function Bc(e){return e==null||(Rc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Rc.setAttribute(`transform`,e),!(e=Rc.transform.baseVal.consolidate()))?Ic:(e=e.matrix,Lc(e.a,e.b,e.c,e.d,e.e,e.f))}function Vc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Ec(e,i)},{i:c-2,x:Ec(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Ec(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Ec(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Ec(e,n)},{i:s-2,x:Ec(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Hc=Vc(zc,`px, `,`px)`,`deg)`),Uc=Vc(Bc,`, `,`)`,`)`),Wc=0,Gc=0,Kc=0,qc=1e3,Jc,Yc,Xc=0,Zc=0,Qc=0,$c=typeof performance==`object`&&performance.now?performance:Date,el=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function tl(){return Zc||=(el(nl),$c.now()+Qc)}function nl(){Zc=0}function rl(){this._call=this._time=this._next=null}rl.prototype=il.prototype={constructor:rl,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?tl():+n)+(t==null?0:+t),!this._next&&Yc!==this&&(Yc?Yc._next=this:Jc=this,Yc=this),this._call=e,this._time=n,ll()},stop:function(){this._call&&(this._call=null,this._time=1/0,ll())}};function il(e,t,n){var r=new rl;return r.restart(e,t,n),r}function al(){tl(),++Wc;for(var e=Jc,t;e;)(t=Zc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Wc}function ol(){Zc=(Xc=$c.now())+Qc,Wc=Gc=0;try{al()}finally{Wc=0,cl(),Zc=0}}function sl(){var e=$c.now(),t=e-Xc;t>qc&&(Qc-=t,Xc=e)}function cl(){for(var e,t=Jc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Jc=n);Yc=e,ll(r)}function ll(e){Wc||(Gc&&=clearTimeout(Gc),e-Zc>24?(e<1/0&&(Gc=setTimeout(ol,e-$c.now()-Qc)),Kc&&=clearInterval(Kc)):(Kc||=(Xc=$c.now(),setInterval(sl,qc)),Wc=1,el(ol)))}function ul(e,t,n){var r=new rl;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var dl=Ta(`start`,`end`,`cancel`,`interrupt`),fl=[];function pl(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;_l(e,n,{name:t,index:r,group:i,on:dl,tween:fl,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function ml(e,t){var n=gl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function hl(e,t){var n=gl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function gl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function _l(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=il(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return ul(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(ul(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function vl(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function yl(e){return this.each(function(){vl(this,e)})}function bl(e,t){var n,r;return function(){var i=hl(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function xl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=hl(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Sl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=gl(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?bl:xl)(n,e,t))}function Cl(e,t,n){var r=e._id;return e.each(function(){var e=hl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return gl(e,r).value[t]}}function wl(e,t){var n;return(typeof t==`number`?Ec:t instanceof Zs?xc:(n=Zs(t))?(t=n,xc):Mc)(e,t)}function Tl(e){return function(){this.removeAttribute(e)}}function El(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Dl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ol(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function kl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Al(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function jl(e,t){var n=ja(e),r=n===`transform`?Uc:wl;return this.attrTween(e,typeof t==`function`?(n.local?Al:kl)(n,r,Cl(this,`attr.`+e,t)):t==null?(n.local?El:Tl)(n):(n.local?Ol:Dl)(n,r,t))}function Ml(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Nl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Pl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Nl(e,i)),n}return i._value=t,i}function Fl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Ml(e,i)),n}return i._value=t,i}function Il(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=ja(e);return this.tween(n,(r.local?Pl:Fl)(r,t))}function Ll(e,t){return function(){ml(this,e).delay=+t.apply(this,arguments)}}function Rl(e,t){return t=+t,function(){ml(this,e).delay=t}}function zl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ll:Rl)(t,e)):gl(this.node(),t).delay}function Bl(e,t){return function(){hl(this,e).duration=+t.apply(this,arguments)}}function Vl(e,t){return t=+t,function(){hl(this,e).duration=t}}function Hl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Bl:Vl)(t,e)):gl(this.node(),t).duration}function Ul(e,t){if(typeof t!=`function`)throw Error();return function(){hl(this,e).ease=t}}function Wl(e){var t=this._id;return arguments.length?this.each(Ul(t,e)):gl(this.node(),t).ease}function Gl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();hl(this,e).ease=n}}function Kl(e){if(typeof e!=`function`)throw Error();return this.each(Gl(this._id,e))}function ql(e){typeof e!=`function`&&(e=Ua(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Su(r,this._parents,this._name,this._id)}function Jl(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Su(o,this._parents,this._name,this._id)}function Yl(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Xl(e,t,n){var r,i,a=Yl(t)?ml:hl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Zl(e,t){var n=this._id;return arguments.length<2?gl(this.node(),n).on.on(e):this.each(Xl(n,e,t))}function Ql(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function $l(){return this.on(`end.remove`,Ql(this._id))}function eu(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ia(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,pl(l[f],t,n,f,l,gl(u,n)));return new Su(a,this._parents,t,n)}function tu(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ba(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=gl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&pl(p,t,n,h,f,m);a.push(f),o.push(u)}return new Su(a,o,t,n)}var nu=Ds.prototype.constructor;function ru(){return new nu(this._groups,this._parents)}function iu(e,t){var n,r,i;return function(){var a=Po(this,e),o=(this.style.removeProperty(e),Po(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function au(e){return function(){this.style.removeProperty(e)}}function ou(e,t,n){var r,i=n+``,a;return function(){var o=Po(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function su(e,t,n){var r,i,a;return function(){var o=Po(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Po(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function cu(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=hl(this,e),l=c.on,u=c.value[a]==null?s||=au(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function lu(e,t,n){var r=(e+=``)==`transform`?Hc:wl;return t==null?this.styleTween(e,iu(e,r)).on(`end.style.`+e,au(e)):typeof t==`function`?this.styleTween(e,su(e,r,Cl(this,`style.`+e,t))).each(cu(this._id,e)):this.styleTween(e,ou(e,r,t),n).on(`end.style.`+e,null)}function uu(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function du(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&uu(e,a,n)),r}return a._value=t,a}function fu(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,du(e,t,n??``))}function pu(e){return function(){this.textContent=e}}function mu(e){return function(){var t=e(this);this.textContent=t??``}}function hu(e){return this.tween(`text`,typeof e==`function`?mu(Cl(this,`text`,e)):pu(e==null?``:e+``))}function gu(e){return function(t){this.textContent=e.call(this,t)}}function _u(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&gu(r)),t}return r._value=e,r}function vu(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,_u(e))}function yu(){for(var e=this._name,t=this._id,n=wu(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=gl(c,t);pl(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Su(r,this._parents,e,n)}function bu(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=hl(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var xu=0;function Su(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Cu(e){return Ds().transition(e)}function wu(){return++xu}var Tu=Ds.prototype;Su.prototype=Cu.prototype={constructor:Su,select:eu,selectAll:tu,selectChild:Tu.selectChild,selectChildren:Tu.selectChildren,filter:ql,merge:Jl,selection:ru,transition:yu,call:Tu.call,nodes:Tu.nodes,node:Tu.node,size:Tu.size,empty:Tu.empty,each:Tu.each,on:Zl,attr:jl,attrTween:Il,style:lu,styleTween:fu,text:hu,textTween:vu,remove:$l,tween:Sl,delay:zl,duration:Hl,ease:Wl,easeVarying:Kl,end:bu,[Symbol.iterator]:Tu[Symbol.iterator]};function Eu(e){return--e*e*e+1}function Du(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ou={time:null,delay:0,duration:250,ease:Du};function ku(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Au(e){var t,n;e instanceof Su?(t=e._id,e=e._name):(t=wu(),(n=Ou).time=tl(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&pl(c,e,t,l,o,n||ku(c,t));return new Su(r,this._parents,e,t)}Ds.prototype.interrupt=yl,Ds.prototype.transition=Au;var ju=[null];function Mu(e,t){var n=e.__transition,r,i;if(n){for(i in t=t==null?null:t+``,n)if((r=n[i]).state>1&&r.name===t)return new Su([[e]],ju,t,+i)}return null}var{abs:Nu,max:Pu,min:Fu}=Math;[`w`,`e`].map(Iu),[`n`,`s`].map(Iu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Iu);function Iu(e){return{type:e}}var Lu=Math.PI,Ru=2*Lu,zu=1e-6,Bu=Ru-zu;function Vu(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Hu(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Vu;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Uu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Vu:Hu(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>zu){if(!(Math.abs(u*s-c*l)>zu)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Lu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>zu&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>zu||Math.abs(this._y1-l)>zu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Ru+Ru),d>Bu?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>zu&&this._append`A${n},${n},0,${+(d>=Lu)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Uu.prototype;var Wu=11102230246251565e-32,Gu=134217729,Ku=3.000000000000001*Wu;function qu(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function Ju(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function $(e){return new Float64Array(e)}var Yu=(3+16*Wu)*Wu,Xu=(2+12*Wu)*Wu,Zu=(9+64*Wu)*Wu*Wu,Qu=$(4),$u=$(8),ed=$(12),td=$(16),nd=$(4);function rd(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=Gu*T,p=f-(f-T),m=T-p,f=Gu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Gu*D,p=f-(f-D),m=D-p,f=Gu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,Qu[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,Qu[1]=y-(_+d)+(d-S),w=v+_,d=w-v,Qu[2]=v-(w-d)+(_-d),Qu[3]=w;let k=Ju(4,Qu),A=Xu*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=Zu*o+Ku*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Gu*s,p=f-(f-s),m=s-p,f=Gu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Gu*c,p=f-(f-c),m=c-p,f=Gu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,nd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,nd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,nd[2]=v-(w-d)+(_-d),nd[3]=w;let j=qu(4,Qu,4,nd,$u);b=T*u,f=Gu*T,p=f-(f-T),m=T-p,f=Gu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Gu*D,p=f-(f-D),m=D-p,f=Gu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,nd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,nd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,nd[2]=v-(w-d)+(_-d),nd[3]=w;let M=qu(j,$u,4,nd,ed);return b=s*u,f=Gu*s,p=f-(f-s),m=s-p,f=Gu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Gu*c,p=f-(f-c),m=c-p,f=Gu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,nd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,nd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,nd[2]=v-(w-d)+(_-d),nd[3]=w,td[qu(M,ed,4,nd,td)-1]}function id(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=Yu*l?c:-rd(e,t,n,r,i,a,l)}(7+56*Wu)*Wu,(3+28*Wu)*Wu,(26+288*Wu)*Wu*Wu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Wu)*Wu,(4+48*Wu)*Wu,(44+576*Wu)*Wu*Wu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(4),$(4),$(4),$(8),$(16),$(16),$(16),$(32),$(32),$(48),$(64),$(1152),$(1152),(16+224*Wu)*Wu,(5+72*Wu)*Wu,(71+1408*Wu)*Wu*Wu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(1152),$(1152),$(1152),$(1152),$(1152),$(2304),$(2304),$(3456),$(5760),$(8),$(8),$(8),$(16),$(24),$(48),$(48),$(96),$(192),$(384),$(384),$(384),$(768),$(96),$(96),$(96),$(1152);var ad=2**-52,od=new Uint32Array(512),sd=class e{static from(t,n=hd,r=gd){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=ld(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=ld(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=dd(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];pd(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(id(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=fd(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=ld(e[2*t],e[2*t+1],S.x,S.y);pd(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=ad&&Math.abs(u-s)<=ad||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],id(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],id(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],id(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(cd(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=od[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(ud(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<od.length&&(od[i++]=s)}else{if(i===0)break;e=od[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function cd(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function ld(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function ud(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function dd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function fd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function pd(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;md(e,i,a),t[e[n]]>t[e[r]]&&md(e,n,r),t[e[a]]>t[e[r]]&&md(e,a,r),t[e[n]]>t[e[a]]&&md(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;md(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(pd(e,t,a,r),pd(e,t,n,o-1)):(pd(e,t,n,o-1),pd(e,t,a,r))}}function md(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function hd(e){return e[0]}function gd(e){return e[1]}var _d=1e-6,vd=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=``}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=`Z`)}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error(`negative radius`);this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>_d||Math.abs(this._y1-i)>_d)&&(this._+=`L`+r+`,`+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},yd=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},bd=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new vd:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new vd:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new vd:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new yd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_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];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.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 r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},xd=2*Math.PI,Sd=Math.pow;function Cd(e){return e[0]}function wd(e){return e[1]}function Td(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function Ed(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Dd=class e{static from(t,n=Cd,r=wd,i){return new e(`length`in t?Od(t,n,r,i):Float64Array.from(kd(t,n,r,i)))}constructor(e){this._delaunator=new sd(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(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&Td(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=Ed(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new sd(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new bd(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=Sd(t-c[e*2],2)+Sd(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=Sd(t-c[r*2],2)+Sd(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&Sd(t-c[f*2],2)+Sd(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new vd:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new vd:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,xd)}return n&&n.value()}renderHull(e){let t=e==null?e=new vd:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new yd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new vd:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new yd;return this.renderTriangle(e,t),t.value()}};function Od(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*kd(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}function Ad(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function jd(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Md(e){return e=jd(Math.abs(e)),e?e[1]:NaN}function Nd(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Pd(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Fd=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Id(e){if(!(t=Fd.exec(e)))throw Error(`invalid format: `+e);var t;return new Ld({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Id.prototype=Ld.prototype;function Ld(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Ld.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 Rd(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var zd;function Bd(e,t){var n=jd(e,t);if(!n)return zd=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(zd=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+jd(e,Math.max(0,t+a-1))[0]}function Vd(e,t){var n=jd(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Hd={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Ad,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Vd(e*100,t),r:Vd,s:Bd,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ud(e){return e}var Wd=Array.prototype.map,Gd=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Kd(e){var t=e.grouping===void 0||e.thousands===void 0?Ud:Nd(Wd.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Ud:Pd(Wd.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Id(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Hd[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Hd[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Rd(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&zd!==void 0?Gd[8+zd/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Md(t)/3)))*3,r=10**-n,i=l((e=Id(e),e.type=`f`,e),{suffix:Gd[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var qd,Jd,Yd;Xd({thousands:`,`,grouping:[3],currency:[`$`,``]});function Xd(e){return qd=Kd(e),Jd=qd.format,Yd=qd.formatPrefix,qd}function Zd(e){return Math.max(0,-Md(Math.abs(e)))}function Qd(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Md(t)/3)))*3-Md(Math.abs(e)))}function $d(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Md(t)-Md(e))+1}function ef(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var tf=Symbol(`implicit`);function nf(){var e=new zi,t=[],n=[],r=tf;function i(i){let a=e.get(i);if(a===void 0){if(r!==tf)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new zi;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return nf(t,n).unknown(r)},ef.apply(i,arguments),i}function rf(){var e=nf().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=oa(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return rf(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},ef.apply(d(),arguments)}function af(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return af(t())},e}function of(){return af(rf.apply(null,arguments).paddingInner(1))}function sf(e){return function(){return e}}function cf(e){return+e}var lf=[0,1];function uf(e){return e}function df(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:sf(isNaN(t)?NaN:.5)}function ff(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function pf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=df(i,r),a=n(o,a)):(r=df(r,i),a=n(a,o)),function(e){return a(r(e))}}function mf(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=df(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Ii(e,t,1,r)-1;return a[n](i[n](t))}}function hf(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function gf(){var e=lf,t=lf,n=Nc,r,i,a,o=uf,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==uf&&(o=ff(e[0],e[n-1])),s=n>2?mf:pf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Ec))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,cf),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Pc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:uf,u()):o!==uf},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function _f(){return gf()(uf,uf)}function vf(e,t,n,r){var i=ra(e,t,n),a;switch(r=Id(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Qd(i,o))&&(r.precision=a),Yd(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=$d(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Zd(i))&&(r.precision=a-(r.type===`%`)*2)}return Jd(r)}function yf(e){var t=e.domain;return e.ticks=function(e){var n=t();return ta(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return vf(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=na(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function bf(){var e=_f();return e.copy=function(){return hf(e,bf())},ef.apply(e,arguments),yf(e)}function xf(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function Sf(e){return Math.log(e)}function Cf(e){return Math.exp(e)}function wf(e){return-Math.log(-e)}function Tf(e){return-Math.exp(-e)}function Ef(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function Df(e){return e===10?Ef:e===Math.E?Math.exp:t=>e**+t}function Of(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function kf(e){return(t,n)=>-e(-t,n)}function Af(e){let t=e(Sf,Cf),n=t.domain,r=10,i,a;function o(){return i=Of(r),a=Df(r),n()[0]<0?(i=kf(i),a=kf(a),e(wf,Tf)):e(Sf,Cf),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=ta(o,s,p))}else m=ta(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Id(n)).precision==null&&(n.trim=!0),n=Jd(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(xf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function jf(){let e=Af(gf()).domain([1,10]);return e.copy=()=>hf(e,jf()).base(e.base()),ef.apply(e,arguments),e}function Mf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Nf(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Pf(e){var t=1,n=e(Mf(t),Nf(t));return n.constant=function(n){return arguments.length?e(Mf(t=+n),Nf(t)):t},yf(n)}function Ff(){var e=Pf(gf());return e.copy=function(){return hf(e,Ff()).constant(e.constant())},ef.apply(e,arguments)}function If(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Lf(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Rf(e){return e<0?-e*e:e*e}function zf(e){var t=e(uf,uf),n=1;function r(){return n===1?e(uf,uf):n===.5?e(Lf,Rf):e(If(n),If(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},yf(t)}function Bf(){var e=zf(gf());return e.copy=function(){return hf(e,Bf()).exponent(e.exponent())},ef.apply(e,arguments),e}function Vf(){return Bf.apply(null,arguments).exponent(.5)}var Hf=new Date,Uf=new Date;function Wf(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Wf(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Hf.setTime(+t),Uf.setTime(+r),e(Hf),e(Uf),Math.floor(n(Hf,Uf))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Gf=6e4,Kf=Gf*60*24,qf=Kf*7;Kf*30,Kf*365;var Jf=Wf(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gf)/Kf,e=>e.getDate()-1);Jf.range;var Yf=Wf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Kf,e=>e.getUTCDate()-1);Yf.range,Wf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Kf,e=>Math.floor(e/Kf)).range;function Xf(e){return Wf(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Gf)/qf)}var Zf=Xf(0),Qf=Xf(1),$f=Xf(2),ep=Xf(3),tp=Xf(4),np=Xf(5),rp=Xf(6);Zf.range,Qf.range,$f.range,ep.range,tp.range,np.range,rp.range;function ip(e){return Wf(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/qf)}var ap=ip(0),op=ip(1),sp=ip(2),cp=ip(3),lp=ip(4),up=ip(5),dp=ip(6);ap.range,op.range,sp.range,cp.range,lp.range,up.range,dp.range;var fp=Wf(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());fp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wf(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),fp.range;var pp=Wf(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());pp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wf(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),pp.range;function mp(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function hp(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function gp(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function _p(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=wp(i),u=Tp(i),d=wp(a),f=Tp(a),p=wp(o),m=Tp(o),h=wp(s),g=Tp(s),_=wp(c),v=Tp(c),y={a:N,A:P,b:F,B:I,c:null,d:Kp,e:Kp,f:Zp,g:cm,G:um,H:qp,I:Jp,j:Yp,L:Xp,m:Qp,M:$p,p:L,q:R,Q:Nm,s:Pm,S:em,u:tm,U:nm,V:im,w:am,W:om,x:null,X:null,y:sm,Y:lm,Z:dm,"%":Mm},b={a:z,A:B,b:V,B:H,c:null,d:fm,e:fm,f:_m,g:Om,G:Am,H:pm,I:mm,j:hm,L:gm,m:vm,M:ym,p:ee,q:U,Q:Nm,s:Pm,S:bm,u:xm,U:Sm,V:wm,w:Tm,W:Em,x:null,X:null,y:Dm,Y:km,Z:jm,"%":Mm},x={a:E,A:D,b:O,B:k,c:A,d:Ip,e:Ip,f:Hp,g:Mp,G:jp,H:Rp,I:Rp,j:Lp,L:Vp,m:Fp,M:zp,p:T,q:Pp,Q:Wp,s:Gp,S:Bp,u:Dp,U:Op,V:kp,w:Ep,W:Ap,x:j,X:M,y:Mp,Y:jp,Z:Np,"%":Up};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=vp[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=gp(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=hp(gp(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?op.ceil(a):op(a),a=Yf.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=mp(gp(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Qf.ceil(a):Qf(a),a=Jf.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?hp(gp(r.y,0,1)).getUTCDay():mp(gp(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,hp(r)):mp(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in vp?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function U(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var vp={"-":``,_:` `,0:`0`},yp=/^\s*\d+/,bp=/^%/,xp=/[\\^$*+?|[\]().{}]/g;function Sp(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Cp(e){return e.replace(xp,`\\$&`)}function wp(e){return RegExp(`^(?:`+e.map(Cp).join(`|`)+`)`,`i`)}function Tp(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Ep(e,t,n){var r=yp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Dp(e,t,n){var r=yp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Op(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function kp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Ap(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function jp(e,t,n){var r=yp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Mp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Np(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Pp(e,t,n){var r=yp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Fp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Ip(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Lp(e,t,n){var r=yp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Rp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function zp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Bp(e,t,n){var r=yp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Vp(e,t,n){var r=yp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Hp(e,t,n){var r=yp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Up(e,t,n){var r=bp.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Wp(e,t,n){var r=yp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Gp(e,t,n){var r=yp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Kp(e,t){return Sp(e.getDate(),t,2)}function qp(e,t){return Sp(e.getHours(),t,2)}function Jp(e,t){return Sp(e.getHours()%12||12,t,2)}function Yp(e,t){return Sp(1+Jf.count(fp(e),e),t,3)}function Xp(e,t){return Sp(e.getMilliseconds(),t,3)}function Zp(e,t){return Xp(e,t)+`000`}function Qp(e,t){return Sp(e.getMonth()+1,t,2)}function $p(e,t){return Sp(e.getMinutes(),t,2)}function em(e,t){return Sp(e.getSeconds(),t,2)}function tm(e){var t=e.getDay();return t===0?7:t}function nm(e,t){return Sp(Zf.count(fp(e)-1,e),t,2)}function rm(e){var t=e.getDay();return t>=4||t===0?tp(e):tp.ceil(e)}function im(e,t){return e=rm(e),Sp(tp.count(fp(e),e)+(fp(e).getDay()===4),t,2)}function am(e){return e.getDay()}function om(e,t){return Sp(Qf.count(fp(e)-1,e),t,2)}function sm(e,t){return Sp(e.getFullYear()%100,t,2)}function cm(e,t){return e=rm(e),Sp(e.getFullYear()%100,t,2)}function lm(e,t){return Sp(e.getFullYear()%1e4,t,4)}function um(e,t){var n=e.getDay();return e=n>=4||n===0?tp(e):tp.ceil(e),Sp(e.getFullYear()%1e4,t,4)}function dm(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Sp(t/60|0,`0`,2)+Sp(t%60,`0`,2)}function fm(e,t){return Sp(e.getUTCDate(),t,2)}function pm(e,t){return Sp(e.getUTCHours(),t,2)}function mm(e,t){return Sp(e.getUTCHours()%12||12,t,2)}function hm(e,t){return Sp(1+Yf.count(pp(e),e),t,3)}function gm(e,t){return Sp(e.getUTCMilliseconds(),t,3)}function _m(e,t){return gm(e,t)+`000`}function vm(e,t){return Sp(e.getUTCMonth()+1,t,2)}function ym(e,t){return Sp(e.getUTCMinutes(),t,2)}function bm(e,t){return Sp(e.getUTCSeconds(),t,2)}function xm(e){var t=e.getUTCDay();return t===0?7:t}function Sm(e,t){return Sp(ap.count(pp(e)-1,e),t,2)}function Cm(e){var t=e.getUTCDay();return t>=4||t===0?lp(e):lp.ceil(e)}function wm(e,t){return e=Cm(e),Sp(lp.count(pp(e),e)+(pp(e).getUTCDay()===4),t,2)}function Tm(e){return e.getUTCDay()}function Em(e,t){return Sp(op.count(pp(e)-1,e),t,2)}function Dm(e,t){return Sp(e.getUTCFullYear()%100,t,2)}function Om(e,t){return e=Cm(e),Sp(e.getUTCFullYear()%100,t,2)}function km(e,t){return Sp(e.getUTCFullYear()%1e4,t,4)}function Am(e,t){var n=e.getUTCDay();return e=n>=4||n===0?lp(e):lp.ceil(e),Sp(e.getUTCFullYear()%1e4,t,4)}function jm(){return`+0000`}function Mm(){return`%`}function Nm(e){return+e}function Pm(e){return Math.floor(e/1e3)}var Fm,Im;Lm({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 Lm(e){return Fm=_p(e),Im=Fm.format,Fm.parse,Fm.utcFormat,Fm.utcParse,Fm}function Rm(e){return function(){return e}}var zm=Math.abs,Bm=Math.atan2,Vm=Math.cos,Hm=Math.max,Um=Math.min,Wm=Math.sin,Gm=Math.sqrt,Km=Math.PI,qm=Km/2,Jm=2*Km;function Ym(e){return e>1?0:e<-1?Km:Math.acos(e)}function Xm(e){return e>=1?qm:e<=-1?-qm:Math.asin(e)}function Zm(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Uu(t)}function Qm(e){return e.innerRadius}function $m(e){return e.outerRadius}function eh(e){return e.startAngle}function th(e){return e.endAngle}function nh(e){return e&&e.padAngle}function rh(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function ih(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/Gm(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*Gm(Hm(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function ah(){var e=Qm,t=$m,n=Rm(0),r=null,i=eh,a=th,o=nh,s=null,c=Zm(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-qm,m=a.apply(this,arguments)-qm,h=zm(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>Jm-1e-12)s.moveTo(f*Vm(p),f*Wm(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*Vm(m),d*Wm(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):Gm(d*d+f*f)),T=Um(zm(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=Xm(w/d*Wm(C)),j=Xm(w/f*Wm(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*Vm(_),N=f*Wm(_),P=d*Vm(b),F=d*Wm(b);if(T>1e-12){var I=f*Vm(v),L=f*Wm(v),R=d*Vm(y),z=d*Wm(y),B;if(h<Km){if(B=rh(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],U=L-B[1],te=1/Wm(Ym((V*ee+H*U)/(Gm(V*V+H*H)*Gm(ee*ee+U*U)))/2),ne=Gm(B[0]*B[0]+B[1]*B[1]);E=Um(T,(d-ne)/(te-1)),D=Um(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=ih(R,z,M,N,f,D,g),k=ih(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,Bm(O.y01,O.x01),Bm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,Bm(O.y01,O.x01),Bm(O.y11,O.x11),!g),s.arc(0,0,f,Bm(O.cy+O.y11,O.cx+O.x11),Bm(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,Bm(k.y11,k.x11),Bm(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=ih(P,F,I,L,d,-E,g),k=ih(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,Bm(O.y01,O.x01),Bm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,Bm(O.y01,O.x01),Bm(O.y11,O.x11),!g),s.arc(0,0,d,Bm(O.cy+O.y11,O.cx+O.x11),Bm(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,Bm(k.y11,k.x11),Bm(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Km/2;return[Vm(r)*n,Wm(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:Rm(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:Rm(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Rm(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Rm(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Rm(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:Rm(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function oh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function sh(e){this._context=e}sh.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function ch(e){return new sh(e)}function lh(e){return e[0]}function uh(e){return e[1]}function dh(e,t){var n=Rm(!0),r=null,i=ch,a=null,o=Zm(s);e=typeof e==`function`?e:e===void 0?lh:Rm(e),t=typeof t==`function`?t:t===void 0?uh:Rm(t);function s(s){var c,l=(s=oh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:Rm(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:Rm(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function fh(e,t,n){var r=null,i=Rm(!0),a=null,o=ch,s=null,c=Zm(l);e=typeof e==`function`?e:e===void 0?lh:Rm(+e),t=typeof t==`function`?t:Rm(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?uh:Rm(+n);function l(l){var u,d,f,p=(l=oh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return dh().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Rm(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Rm(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Rm(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Rm(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:Rm(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function ph(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function mh(e){return e}function hh(){var e=mh,t=ph,n=null,r=Rm(0),i=Rm(Jm),a=Rm(0);function o(o){var s,c=(o=oh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(Jm,Math.max(-Jm,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:Rm(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Rm(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Rm(+e),o):a},o}var gh={draw(e,t){let n=Gm(t/Km);e.moveTo(n,0),e.arc(0,0,n,0,Jm)}},_h={draw(e,t){let n=Gm(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},vh=Gm(1/3),yh=vh*2,bh={draw(e,t){let n=Gm(t/yh),r=n*vh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},xh={draw(e,t){let n=Gm(t),r=-n/2;e.rect(r,r,n,n)}},Sh=.8908130915292852,Ch=Wm(Km/10)/Wm(7*Km/10),wh=Wm(Jm/10)*Ch,Th=-Vm(Jm/10)*Ch,Eh={draw(e,t){let n=Gm(t*Sh),r=wh*n,i=Th*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Jm*t/5,o=Vm(a),s=Wm(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},Dh=Gm(3),Oh={draw(e,t){let n=-Gm(t/(Dh*3));e.moveTo(0,n*2),e.lineTo(-Dh*n,-n),e.lineTo(Dh*n,-n),e.closePath()}},kh=Gm(3),Ah={draw(e,t){let n=Gm(t)*.6824,r=n/2,i=n*kh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function jh(e,t){let n=null,r=Zm(i);e=typeof e==`function`?e:Rm(e||gh),t=typeof t==`function`?t:Rm(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:Rm(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Mh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Nh(e){this._context=e}Nh.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:Mh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);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:Mh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ph(e){return new Nh(e)}function Fh(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Ih(e,t){this._context=e,this._k=(1-t)/6}Ih.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:Fh(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Fh(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Lh=(function e(t){function n(e){return new Ih(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Rh(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function zh(e,t){this._context=e,this._alpha=t}zh.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)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Rh(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Bh=(function e(t){function n(e){return t?new zh(e,t):new Ih(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Vh(e){return e<0?-1:1}function Hh(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Vh(a)+Vh(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Uh(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Wh(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Gh(e){this._context=e}Gh.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:Wh(this,this._t0,Uh(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Wh(this,Uh(this,n=Hh(this,e,t)),n);break;default:Wh(this,this._t0,n=Hh(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Gh.prototype).point=function(e,t){Gh.prototype.point.call(this,t,e)};function Kh(e){return new Gh(e)}function qh(e,t){this._context=e,this._t=t}qh.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Jh(e){return new qh(e,.5)}function Yh(e){return new qh(e,0)}function Xh(e){return new qh(e,1)}function Zh(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Qh(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function $h(e,t){return e[t]}function eg(e){let t=[];return t.key=e,t}function tg(){var e=Rm([]),t=Qh,n=Zh,r=$h;function i(i){var a=Array.from(e.apply(this,arguments),eg),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=oh(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:Rm(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:Rm(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Qh:typeof e==`function`?e:Rm(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Zh,i):n},i}function ng(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function rg(e,t,n){this.k=e,this.x=t,this.y=n}rg.prototype={constructor:rg,scale:function(e){return e===1?this:new rg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new rg(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var ig=new rg(1,0,0);ag.prototype=rg.prototype;function ag(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ig;return e.__zoom}function og(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var sg=class{properties=new Map;define(e,t){og(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return og(t,`config "${e}" is not defined`),t}},cg=[`update`,`enter`,`merge`,`exit`],lg=new Set([...cg,...cg.map(e=>`${e}:transition`)]);function ug(e){return lg.has(e)}function dg(e){og(ug(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...lg].join(`, `)}`)}function fg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return cg.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function pg(e,t){for(let n of t)n(e)}function mg(e,t){return t.map(t=>{let n=e.transition();return t(n),hg(n)})}function hg(e){return e.end().then(()=>void 0,()=>void 0)}var gg=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){dg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(dg(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=fg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){pg(e.selection,e.handlers);let t=mg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function _g(e,t,n,r){if(n&&r){let i=new gg(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function vg(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function yg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function bg(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var xg=[`preDraw`,`postDraw`,`postTransition`],Sg=class{base;layers=new Map;attachments=new Map;configs=new sg;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=Ta(...xg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return _g(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return vg(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=yg(this.layers,t),r=bg(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},Cg=class extends Sg{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function wg(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function Tg(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),t}function Eg(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var Dg=80,Og=`.bc-frame-title, .bc-frame-description`;function kg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Ag(e){e.querySelectorAll(Og).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function jg(e,t){let n=[...e.querySelectorAll(Og)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/kg(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function Mg(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function Ng(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new Cg(Q(e)).draw({headerItems:wg(n),footerLeftItems:Tg(n),footerRightItems:Eg()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=Mg(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){Ag(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-Dg;t>l&&(jg(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function Pg(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function Fg(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:Pg(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:Pg(e),suffix:``}}function Ig(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=Fg(e);if(!n)return null;let i=Jd(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function Lg(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var Rg=`http://www.w3.org/2000/svg`,zg=`system-ui, -apple-system, sans-serif`,Bg=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,Vg=1,Hg=.5,Ug=null,Wg=null;function Gg(e,t){let n=0;for(let t of e)n+=Bg.test(t)?Vg:Hg;return n*t}function Kg(){if(typeof document>`u`)return null;if(Wg!==document){Wg=document;try{Ug=document.createElement(`canvas`).getContext(`2d`)}catch{Ug=null}}return Ug}function qg(e,t){let n=Kg();if(!n)return null;n.font=`${t}px ${zg}`;let r=n.measureText(e).width;return r>0?r:null}function Jg(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(Rg,`svg`),r=document.createElementNS(Rg,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function Yg(e,t){if(e===``)return 0;let n=qg(e,t)??Jg(e,t)??0;return Math.max(n,Gg(e,t))}function Xg(e,t){let n=0;for(let r of e){let e=Yg(r,t);e>n&&(n=e)}return n}function Zg(e,t,n,r=`…`){if(Yg(e,n)<=t)return e;let i=[...e],a=Yg(r,n),o=i.length;for(;o>1&&Yg(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function Qg(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var $g={top:12,right:20,bottom:24,left:50},e_=10,t_=.25;function n_(e,t,n){let r=t+n,i=e*t_;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var r_=class extends Sg{initialize(){this.configDefine(`totalWidth`,{defaultValue:600}),this.configDefine(`totalHeight`,{defaultValue:400}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},i_=400,a_=2,o_=2,s_=9;function c_(e,t,n,r){let[i,a]=Oi(e,t,r);return l_(r===`log`?Ff().domain([i,a]).nice():bf().domain([i,a]).nice(),n)}function l_(e,t){let n=e.ticks(),r=t?Ig(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(Xg(i,e_))+o_+s_}function u_(e){return e.length===0?0:Math.ceil(Xg(e,e_))+o_+s_}function d_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<i_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?a_:f?0:s):(o.right=a===!1?0:15,o.left=d?a_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function f_(e,t){return parseFloat(e.dataset[t]??``)||0}function p_(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0&&(Math.abs(t.width-e.offsetWidth)>=1||Math.abs(t.height-e.offsetHeight)>=1),r=n?e.clientWidth:t.width,i=n?e.clientHeight:t.height,a=getComputedStyle(e),o=r-(parseFloat(a.paddingLeft)||0)-(parseFloat(a.paddingRight)||0),s=i-(parseFloat(a.paddingTop)||0)-(parseFloat(a.paddingBottom)||0);return{width:o>0?o:f_(e,`bcContentWidth`),height:s>0?s:f_(e,`bcContentHeight`)}}function m_(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,Er(n)),e.insertBefore(r,e.firstChild)}function h_(e,t){let n={...$g,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=p_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=n_(a,n.left,n.right),[n.top,n.bottom]=n_(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new r_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return m_(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function g_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var __=0;function v_(e){__=e?500:0}function y_(){return g_(__)}function b_(e,t){let n=g_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function x_(e,t){let n=g_(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function S_(e,t,n){let r=g_(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var C_=60,w_=10,T_=8,E_=16,D_=10,O_=1.3,k_=12,A_=3,j_=14,M_=10;function N_(e,t,n=A_){if(e===``)return[``];if(e.length*D_<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*D_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*D_<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var P_={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function F_(e){return typeof e.step==`function`}function I_(e,t){let n=Ci(t);if(e&&e.includes(`%`)){if(n){let r=Im(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:Ig(e)??Jd(e);if(n){let e=Im(P_[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function L_(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*D_;e>n&&(n=e)}return n}function R_(e,t){return e.map(e=>t?t(e):String(e))}function z_(e,t){let n=Math.max(E_,Math.ceil(e)+T_);return Math.max(2,Math.floor(t/n))}function B_(e,t,n){if(e.length<=1)return e;let r=z_(Xg(R_(e,n??null),w_),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function V_(e,t,n){let r=Math.max(2,Math.floor(t/C_));for(;r>2;){let i=R_(e.ticks(r),n??e.tickFormat(r)),a=z_(Xg(i,w_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function H_(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!Ci(e)&&L_(e,r??null)>t/e.length*O_}function U_(e,t){if(e.length===0)return 0;let n=L_(e,t??null);return Math.ceil(n)+k_}function W_(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*j_+M_}function G_(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:I_(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||Ci(e)===null)&&e.length>1){let n=t/e.length*O_,o=L_(e,i)>n;if(a!==`vertical`&&o){let t=K_(e,n,i);if(t){let e=W_(Array.from(t.values()));return e>r?e:void 0}}}if(!H_(e,t,a,i))return;let o=U_(e,i);return o>r?o:void 0}function K_(e,t,n){let r=new Map,i=!1;for(let a of e){let e=N_(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function q_(e,t){e.selectAll(`.tick`).each(function(){let e=Q(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var J_=class extends Sg{initialize(){this.configDefine(`scale`,{defaultValue:rf()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?ba(n):Sa(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||I_(l,u);p&&f.tickFormat(p);let m=F_(r),h=m?r.domain():[],g=m&&s!==`vertical`&&Ci(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*O_,t=L_(h,p)>e;s===`vertical`?v=!0:t&&(_=K_(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=B_(h,c,p);e.length<h.length&&(b=e)}}else{let e=ki(r,Math.max(2,Math.floor(c/C_)));e?b=e:f.ticks(V_(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?y_():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):Q(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=S?Q(S):e,T=C>0?e:w;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);T.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&T.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?T.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(T.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&Y_(T,c)),_&&y!==`off`&&q_(T,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&X_(n,e,t)}};function Y_(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=Yg(i.textContent??``,w_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function X_(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,Z_[t]??null)})}var Z_={dashed:`4,4`,dotted:`1,3`};function Q_(e,t,n,r={},i){let a=new J_(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=F_(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var $_=30;function ev(e){return typeof e.bandwidth==`function`}var tv=class extends Sg{initialize(){this.configDefine(`scale`,{defaultValue:bf()}),this.configDefine(`direction`,{defaultValue:Rr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Br.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:Vr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===Rr.Right?xa(t):Ca(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/$_)),n=ki(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!ev(t)?Ig(e):null;n&&c.tickFormat(n)}let d=y_(),f=e.node();if(f){d>0?e.duration(d).call(c):Q(f).call(c),r||Q(f).select(`.domain`).remove(),i||Q(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===Vr.Auto?o>0&&o<400?Vr.Inside:Vr.Outside:a;if(t===Vr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):Q(f).selectAll(`.tick text`);Q(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===Vr.Off&&Q(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===Rr.Right?xa(t):Ca(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/$_)),n=ki(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!ev(t)?Ig(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===Vr.Auto?i>0&&i<400?Vr.Inside:Vr.Outside:r;if(f===Vr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===Rr.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===Vr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&rv(r,e,n===Rr.Right?-t:t)}},nv={[Br.Dashed]:`4,4`,[Br.Dotted]:`1,3`};function rv(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Br.None||n===0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,nv[t]??null)})}function iv(e){return typeof e.step==`function`}var av=new WeakMap,ov=new WeakMap;function sv(e,t){let n=ov.get(e);ov.set(e,t),n!==void 0&&n!==t&&av.get(e)?.destroy()}var cv=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=av.get(t);return n||(n=new e(t),av.set(t,n)),n}static clear(e){av.delete(e)}detach(){this.vGroup?.parentNode&&(Q(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&(Q(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new tv(Q(this.vGroup)),this.hChart=new J_(Q(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])Q(e).interrupt(),e.removeAttribute(`transform`),Q(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=y_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Ec(e,0),r=Ec(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=iv(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,av.delete(this.container)}},lv=Math.min,uv=Math.max,dv=Math.round,fv=e=>({x:e,y:e}),pv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function mv(e,t,n){return uv(e,lv(t,n))}function hv(e,t){return typeof e==`function`?e(t):e}function gv(e){return e.split(`-`)[0]}function _v(e){return e.split(`-`)[1]}function vv(e){return e===`x`?`y`:`x`}function yv(e){return e===`y`?`height`:`width`}function bv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function xv(e){return vv(bv(e))}function Sv(e,t,n){n===void 0&&(n=!1);let r=_v(e),i=xv(e),a=yv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=jv(o)),[o,jv(o)]}function Cv(e){let t=jv(e);return[wv(e),t,wv(t)]}function wv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Tv=[`left`,`right`],Ev=[`right`,`left`],Dv=[`top`,`bottom`],Ov=[`bottom`,`top`];function kv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ev:Tv:t?Tv:Ev;case`left`:case`right`:return t?Dv:Ov;default:return[]}}function Av(e,t,n,r){let i=_v(e),a=kv(gv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(wv)))),a}function jv(e){let t=gv(e);return pv[t]+e.slice(t.length)}function Mv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Nv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Mv(e)}function Pv(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Fv(e,t,n){let{reference:r,floating:i}=e,a=bv(t),o=xv(t),s=yv(o),c=gv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=_v(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Iv(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=hv(t,e),p=Nv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Pv(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Pv(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Lv=50,Rv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Iv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Fv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Lv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Fv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},zv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=hv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=gv(r),_=bv(o),v=gv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[jv(o)]:Cv(o)),x=p!==`none`;!d&&x&&b.push(...Av(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Sv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===bv(t)||T.every(e=>bv(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=bv(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Bv=new Set([`left`,`top`]);async function Vv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=gv(n),s=_v(n),c=bv(n)===`y`,l=Bv.has(o)?-1:1,u=a&&c?-1:1,d=hv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Hv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Vv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Uv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=hv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=bv(i),p=vv(f),m=u[p],h=u[f],g=(e,t)=>mv(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Wv(){return typeof window<`u`}function Gv(e){return Jv(e)?(e.nodeName||``).toLowerCase():`#document`}function Kv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function qv(e){return((Jv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jv(e){return Wv()?e instanceof Node||e instanceof Kv(e).Node:!1}function Yv(e){return Wv()?e instanceof Element||e instanceof Kv(e).Element:!1}function Xv(e){return Wv()?e instanceof HTMLElement||e instanceof Kv(e).HTMLElement:!1}function Zv(e){return!Wv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Kv(e).ShadowRoot}function Qv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ly(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function $v(e){return/^(table|td|th)$/.test(Gv(e))}function ey(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ty=/transform|translate|scale|rotate|perspective|filter/,ny=/paint|layout|strict|content/,ry=e=>!!e&&e!==`none`,iy;function ay(e){let t=Yv(e)?ly(e):e;return ry(t.transform)||ry(t.translate)||ry(t.scale)||ry(t.rotate)||ry(t.perspective)||!sy()&&(ry(t.backdropFilter)||ry(t.filter))||ty.test(t.willChange||``)||ny.test(t.contain||``)}function oy(e){let t=dy(e);for(;Xv(t)&&!cy(t);){if(ay(t))return t;if(ey(t))return null;t=dy(t)}return null}function sy(){return iy??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),iy}function cy(e){return/^(html|body|#document)$/.test(Gv(e))}function ly(e){return Kv(e).getComputedStyle(e)}function uy(e){return Yv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function dy(e){if(Gv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Zv(e)&&e.host||qv(e);return Zv(t)?t.host:t}function fy(e){let t=dy(e);return cy(t)?(e.ownerDocument||e).body:Xv(t)&&Qv(t)?t:fy(t)}function py(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=fy(e),i=r===e.ownerDocument?.body,a=Kv(r);if(i){let e=my(a);return t.concat(a,a.visualViewport||[],Qv(r)?r:[],e&&n?py(e):[])}return t.concat(r,py(r,[],n))}function my(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hy(e){let t=ly(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Xv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=dv(n)!==a||dv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function gy(e){return Yv(e)?e:e.contextElement}function _y(e){let t=gy(e);if(!Xv(t))return fv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=hy(t),o=(a?dv(n.width):n.width)/r,s=(a?dv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var vy=fv(0);function yy(e){let t=Kv(e);return!sy()||!t.visualViewport?vy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function by(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Kv(e)}function xy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=gy(e),o=fv(1);t&&(r?Yv(r)&&(o=_y(r)):o=_y(e));let s=by(a,n,r)?yy(a):fv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Kv(a),t=Yv(r)?Kv(r):r,n=e,i=my(n);for(;i&&t!==n;){let e=_y(i),t=i.getBoundingClientRect(),r=ly(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Kv(i),i=my(n)}}return Pv({width:u,height:d,x:c,y:l})}function Sy(e,t){let n=uy(e).scrollLeft;return t?t.left+n:xy(qv(e)).left+n}function Cy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Sy(e,n),y:n.top+t.scrollTop}}function wy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=qv(r),s=t?ey(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=fv(1),u=fv(0),d=Xv(r);if((d||!a)&&((Gv(r)!==`body`||Qv(o))&&(c=uy(r)),d)){let e=xy(r);l=_y(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Cy(o,c):fv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ty(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Ey(e){let t=uy(e),n=e.ownerDocument.body,r=uv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=uv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Sy(e),o=-t.scrollTop;return ly(n).direction===`rtl`&&(a+=uv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Dy=25;function Oy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Kv(e),a=qv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!sy()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Sy(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Dy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function ky(e,t){let n=xy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=_y(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ay(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Oy(e,n,t);else if(t===`document`)r=Ey(qv(e));else if(Yv(t))r=ky(t,n);else{let n=yy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Pv(r)}function jy(e,t){let n=t.get(e);if(n)return n;let r=py(e,[],!1).filter(e=>Yv(e)&&Gv(e)!==`body`),i=null,a=ly(e).position===`fixed`,o=a?dy(e):e;for(;Yv(o)&&!cy(o);){let e=ly(o),t=ay(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=dy(o)}return t.set(e,r),r}function My(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ey(t)?[]:jy(t,this._c):[].concat(n),r],o=Ay(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ay(t,a[e],i);s=uv(n.top,s),c=lv(n.right,c),l=lv(n.bottom,l),u=uv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ny(e){let{width:t,height:n}=hy(e);return{width:t,height:n}}function Py(e,t,n){let r=Xv(t),i=qv(t),a=n===`fixed`,o=xy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=fv(0);if((r||!a)&&((Gv(t)!==`body`||Qv(i))&&(s=uy(t)),r)){let e=xy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Sy(i));let l=i&&!r&&!a?Cy(i,s):fv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Fy(e){return ly(e).position===`static`}function Iy(e,t){if(!Xv(e)||ly(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return qv(e)===n&&(n=n.ownerDocument.body),n}function Ly(e,t){let n=Kv(e);if(ey(e))return n;if(!Xv(e)){let t=dy(e);for(;t&&!cy(t);){if(Yv(t)&&!Fy(t))return t;t=dy(t)}return n}let r=Iy(e,t);for(;r&&$v(r)&&Fy(r);)r=Iy(r,t);return r&&cy(r)&&Fy(r)&&!ay(r)?n:r||oy(e)||n}var Ry=async function(e){let t=this.getOffsetParent||Ly,n=this.getDimensions,r=await n(e.floating);return{reference:Py(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function zy(e){return ly(e).direction===`rtl`}var By={convertOffsetParentRelativeRectToViewportRelativeRect:wy,getDocumentElement:qv,getClippingRect:My,getOffsetParent:Ly,getElementRects:Ry,getClientRects:Ty,getDimensions:Ny,getScale:_y,isElement:Yv,isRTL:zy},Vy=Hv,Hy=Uv,Uy=zv,Wy=(e,t,n)=>{let r=new Map,i=n??{},a={...By,...i.platform,_c:r};return Rv(e,t,{...i,platform:a})},Gy=`bc-tooltip`;function Ky(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
315
- .${Gy} {
309
+ at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`"`+a(e)+`"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function j(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Chart:Lt},a=Lt,o=`chart`,s=`data`,c=`colorize`,l=`highlight`,u=`area-fill`,d=`annotation`,f=`range`,p=`note`,m=`series`,h=`scene`,g=`transform`,_=/^[ \t]/,v=/^[^\t\n\r{}=]/,y=/^[a-zA-Z_#]/,b=/^[a-zA-Z0-9_#\-]/,x=/^[0-9]/,S=/^[eE]/,C=/^[+\-]/,w=/^[^"\\]/,T=/^[0-9a-fA-F]/,E=/^[^\n]/,j=/^[ \t\n\r]/,M=Ot(`chart`,!1),N=Ot(`{`,!1),P=Ot(`}`,!1),F=kt([` `,` `],!1,!1,!1),I=Ot(`data`,!1),L=Ot(`=`,!1),R=Ot(`,`,!1),z=Ot(` `,!1),B=kt([` `,`
310
+ `,`\r`,`{`,`}`,`=`],!0,!1,!1),V=Ot(`colorize`,!1),H=Ot(`highlight`,!1),ee=Ot(`area-fill`,!1),U=Ot(`annotation`,!1),te=Ot(`range`,!1),ne=Ot(`note`,!1),re=Ot(`series`,!1),ie=Ot(`scene`,!1),ae=Ot(`transform`,!1),W=Ot(`%`,!1),oe=Mt(`identifier`),se=kt([[`a`,`z`],[`A`,`Z`],`_`,`#`],!1,!1,!1),ce=kt([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`#`,`-`],!1,!1,!1),le=Ot(`-`,!1),ue=Ot(`.`,!1),de=kt([[`0`,`9`]],!1,!1,!1),fe=kt([`e`,`E`],!1,!1,!1),pe=kt([`+`,`-`],!1,!1,!1),G=Mt(`string`),K=Ot(`"`,!1),me=Ot(`\\`,!1),he=kt([`"`,`\\`],!0,!1,!1),ge=Ot(`n`,!1),_e=Ot(`r`,!1),ve=Ot(`t`,!1),ye=Ot(`u`,!1),be=kt([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),xe=At(),Se=Ot(`//`,!1),Ce=kt([`
311
+ `],!0,!1,!1),we=Ot(`/*`,!1),Te=Ot(`*/`,!1),q=kt([` `,` `,`
312
+ `,`\r`],!1,!1,!1),Ee=Mt(`whitespace`);function De(e,t,n){D(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=O(t);return{type:`chart`,chartType:e,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,scenes:r.scenes,transforms:r.transforms}}function Oe(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function ke(e,t){return{type:`data`,entries:e,...t.length?{trailingComments:t}:{}}}function Ae(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function je(e,t,n){return n}function Me(e,t,n){let r=[t,...n];return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:r[0].value,isPercentage:!1,values:r.map(e=>e.value)}}function Ne(e,t){return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Pe(e){return{name:e,quoted:!0}}function Fe(e){return{name:e,quoted:!1}}function Ie(e,t){return{type:`property`,key:e,...e===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Le(e){return e.trim()}function Re(e,t,n){return{type:`colorize`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function ze(){Et(`colorize needs a quoted target, e.g. colorize "2021" { ... }`)}function Be(e,t,n){return{type:`colorize`,target:e,properties:t,fromHighlight:!0,...n.length?{trailingComments:n}:{}}}function Ve(e){return{type:`highlight`,target:e,properties:[]}}function He(){Et(`highlight needs a quoted target, e.g. highlight "2021" { ... } or highlight "2021"`)}function Ue(e,t,n,r){return{type:`area-fill`,from:e,to:t,properties:n,...r.length?{trailingComments:r}:{}}}function We(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ge(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ke(e,t,n){return{type:`annotation`,kind:`point`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function qe(){Et(`annotation needs a quoted target, e.g. annotation "2021" { ... }`)}function Je(e,t){return{type:`annotation`,kind:`range`,properties:e,...t.length?{trailingComments:t}:{}}}function Ye(e,t){return{type:`annotation`,kind:`free`,properties:e,...t.length?{trailingComments:t}:{}}}function Xe(e,t,n){return{type:`series`,name:e,properties:t,...n.length?{trailingComments:n}:{}}}function Ze(){Et(`series needs a quoted name, e.g. series "Revenue" { ... }`)}function Qe(e,t,n){D(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=k(t);return{type:`scene`,name:e??null,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,transforms:r.transforms}}function $e(e,t,n){return{type:`transform`,transformType:e,properties:t,...n.length?{trailingComments:n}:{}}}function et(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function tt(e,t){return t!=null&&(e.trailingComment=t),e}function nt(e,t){return{type:`property`,key:e,value:t.value,isPercentage:t.isPercentage}}function rt(e){return{value:e,isPercentage:!0}}function it(e){return{value:e,isPercentage:!1}}function at(e){return{value:e,isPercentage:!1}}function ot(e){return{value:e,isPercentage:!1}}function st(e){return parseFloat(e)}function ct(e){return e.join(``)}function lt(e){return e}function ut(){return`"`}function dt(){return`\\`}function ft(){return`
313
+ `}function pt(){return`\r`}function mt(){return` `}function ht(e){return String.fromCharCode(parseInt(e,16))}function gt(e){Et(`Unknown escape sequence \\`+e)}function _t(e){return e}function vt(e){return e}function yt(e){return e.trim()}function bt(e){return e.trim()}let J=t.peg$currPos|0,xt=J,St=[{line:1,column:1}],Ct=J,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(xt,J):t,Ft(e,t)}function Dt(t=J){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){J<Ct||(J>Ct&&(Ct=J,wt=[]),wt.push(e))}function Ft(e,t){return new A(e,null,null,t)}function It(e,t,n){return new A(A.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=J,vn(),e.substr(J,5)===o?(r=o,J+=5):(r=n,Y===0&&X(M)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(vn(),xt=t,t=De(a,c,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Oe(r,i,o)}else J=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=J,e.substr(J,4)===s?(r=s,J+=4):(r=n,Y===0&&X(I)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(J)===125?(c=`}`,J++):(c=n,Y===0&&X(P)),c===n?(J=t,t=n):(xt=t,t=ke(a,o))}else J=t,t=n}else J=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=J,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Ae(r,i,o)}else J=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=J,r=Ht(),r!==n){if(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i!==n){if(vn(),a=an(),a!==n){if(o=[],s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l)));else o=n;o===n?(J=t,t=n):(xt=t,t=Me(r,a,o))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,r=Ht(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ne(r,a))))),t}function Ht(){let e,t;return e=J,t=cn(),t!==n&&(xt=e,t=Pe(t)),e=t,e===n&&(e=J,t=on(),t!==n&&(xt=e,t=Fe(t)),e=t),e}function Ut(){let t,r,i,a;return t=J,r=Wt(),r===n?(J=t,t=n):(e.charCodeAt(J)===9?(i=` `,J++):(i=n,Y===0&&X(z)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ie(r,a)))),t}function Wt(){let t,r,i,a;if(t=J,r=J,i=[],a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B));else i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=Le(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(xt=t,t=Re(a,s,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=ze()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(J)===125?(d=`}`,J++):(d=n,Y===0&&X(P)),d===n?(J=t,t=n):(xt=t,t=Be(a,c,u))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=J,Y++,s=J,c=vn(),e.charCodeAt(J)===123?(u=`{`,J++):(u=n,Y===0&&X(N)),u===n?(J=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=t,t=n):(xt=t,t=Ve(a))))),t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=He())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(vn(),e.charCodeAt(J)===123?(c=`{`,J++):(c=n,Y===0&&X(N)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(J)===125?(f=`}`,J++):(f=n,Y===0&&X(P)),f===n?(J=t,t=n):(xt=t,t=Ue(a,s,l,d))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s===n?(J=t,t=n):(xt=t,t=We())))),t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ge())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Ke(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=qe()))),t}function Yt(){let t,r,i,a,o,s;if(t=J,e.substr(J,5)===f?(r=f,J+=5):(r=n,Y===0&&X(te)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Je(a,o))}else J=t,t=n}else J=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=J,e.substr(J,4)===p?(r=p,J+=4):(r=n,Y===0&&X(ne)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Ye(a,o))}else J=t,t=n}else J=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Xe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ze()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,5)===h?(r=h,J+=5):(r=n,Y===0&&X(ie)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Qe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,9)===g?(r=g,J+=9):(r=n,Y===0&&X(ae)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=$e(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function en(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=et(r,i,o)}else J=t,t=n;return t}function tn(){let t,r,i,a;if(t=J,vn(),r=nn(),r!==n){for(i=[],a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a=gn(),a===n&&(a=null),mn(),xt=t,t=tt(r,a)}else J=t,t=n;return t}function nn(){let t,r,i,a;return t=J,r=rn(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=nt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=J,r=sn(),r===n?(J=t,t=n):(e.charCodeAt(J)===37?(i=`%`,J++):(i=n,Y===0&&X(W)),i===n?(J=t,t=n):(xt=t,t=rt(r))),t===n&&(t=J,r=sn(),r!==n&&(xt=t,r=it(r)),t=r,t===n&&(t=J,r=cn(),r!==n&&(xt=t,r=at(r)),t=r,t===n&&(t=J,r=on(),r!==n&&(xt=t,r=ot(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=J,r=J,i=e.charAt(J),y.test(i)?J++:(i=n,Y===0&&X(se)),i!==n){for(a=[],o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));o!==n;)a.push(o),o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));i=[i,a],r=i}else J=r,r=n;return t=r===n?r:e.substring(t,J),Y--,t===n&&(r=n,Y===0&&X(oe)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=J,r=J,i=J,e.charCodeAt(J)===45?(a=`-`,J++):(a=n,Y===0&&X(le)),a===n&&(a=null),o=J,e.charCodeAt(J)===46?(s=`.`,J++):(s=n,Y===0&&X(ue)),s!==n){if(c=[],l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(de)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(de));else c=n;c===n?(J=o,o=n):(s=[s,c],o=s)}else J=o,o=n;if(o===n){if(o=J,s=[],c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(de)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(de));else s=n;if(s!==n){if(c=J,e.charCodeAt(J)===46?(l=`.`,J++):(l=n,Y===0&&X(ue)),l!==n){for(u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));l=[l,u],c=l}else J=c,c=n;c===n&&(c=null),s=[s,c],o=s}else J=o,o=n}if(o!==n){if(s=J,c=e.charAt(J),S.test(c)?J++:(c=n,Y===0&&X(fe)),c!==n){if(l=e.charAt(J),C.test(l)?J++:(l=n,Y===0&&X(pe)),l===n&&(l=null),u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));else u=n;u===n?(J=s,s=n):(c=[c,l,u],s=c)}else J=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else J=i,i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=st(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(K)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(J)===34?(a=`"`,J++):(a=n,Y===0&&X(K)),a===n?(J=t,t=n):(xt=t,t=ct(i))}else J=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(G)),t}function ln(){let t,r,i;return t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r===n?(J=t,t=n):(i=un(),i===n?(J=t,t=n):(xt=t,t=lt(i))),t===n&&(t=e.charAt(J),w.test(t)?J++:(t=n,Y===0&&X(he))),t}function un(){let t,r,i,a,o,s,c,l;return t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(K)),r!==n&&(xt=t,r=ut()),t=r,t===n&&(t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r!==n&&(xt=t,r=dt()),t=r,t===n&&(t=J,e.charCodeAt(J)===110?(r=`n`,J++):(r=n,Y===0&&X(ge)),r!==n&&(xt=t,r=ft()),t=r,t===n&&(t=J,e.charCodeAt(J)===114?(r=`r`,J++):(r=n,Y===0&&X(_e)),r!==n&&(xt=t,r=pt()),t=r,t===n&&(t=J,e.charCodeAt(J)===116?(r=`t`,J++):(r=n,Y===0&&X(ve)),r!==n&&(xt=t,r=mt()),t=r,t===n&&(t=J,e.charCodeAt(J)===117?(r=`u`,J++):(r=n,Y===0&&X(ye)),r===n?(J=t,t=n):(i=J,a=J,o=e.charAt(J),T.test(o)?J++:(o=n,Y===0&&X(be)),o===n?(J=a,a=n):(s=e.charAt(J),T.test(s)?J++:(s=n,Y===0&&X(be)),s===n?(J=a,a=n):(c=e.charAt(J),T.test(c)?J++:(c=n,Y===0&&X(be)),c===n?(J=a,a=n):(l=e.charAt(J),T.test(l)?J++:(l=n,Y===0&&X(be)),l===n?(J=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,J),i===n?(J=t,t=n):(xt=t,t=ht(i))),t===n&&(t=J,e.length>J?(r=e.charAt(J),J++):(r=n,Y===0&&X(xe)),r!==n&&(xt=t,r=gt(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=[],a=e.charAt(J),E.test(a)?J++:(a=n,Y===0&&X(Ce));a!==n;)i.push(a),a=e.charAt(J),E.test(a)?J++:(a=n,Y===0&&X(Ce));r=[r,i],t=r}else J=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(we)),r!==n){for(i=[],a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(Te)),a===n?(J=t,t=n):(r=[r,i,a],t=r)}else J=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q));r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q));return Y--,t}function hn(){let e,t,r,i;for(e=J,t=[],r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));r!==n;)t.push(r),r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));return r=mn(),xt=e,e=vt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=J,a=[],o=e.charAt(J),E.test(o)?J++:(o=n,Y===0&&X(Ce));o!==n;)a.push(o),o=e.charAt(J),E.test(o)?J++:(o=n,Y===0&&X(Ce));i=e.substring(i,J),xt=t,t=yt(i)}else J=t,t=n;if(t===n){if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(we)),r!==n){for(i=J,a=[],o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));i=e.substring(i,J),e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(Te)),a===n?(J=t,t=n):(xt=t,t=bt(i))}else J=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(Ee)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(q)),r===n&&(r=dn());return Y--,t}Tt=a();let yn=Tt!==n&&J===e.length;function bn(){throw Tt!==n&&J<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:J,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:yn,peg$throw:yn?void 0:bn};if(yn)return Tt;bn()}function M(e){try{return j(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function N(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function P(e){return N(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function F(e){let t=P(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var I={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},L={"\\":`\\`,'"':`"`,n:`
314
+ `,r:`\r`,t:` `};function R(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>I[e])}"`}function z(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):L[t])}function B(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?z(t.slice(1,-1)):t}function V(e){let t=[],n=``,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(i&&o===`\\`&&a+1<e.length){n+=o+e[++a];continue}if(o===`"`)i=!i;else if(!i&&o===`(`)r++;else if(!i&&o===`)`)r=Math.max(0,r-1);else if(o===`,`&&!i&&r===0){t.push(n),n=``;continue}n+=o}return t.push(n),t}var H=`"((?:[^"\\\\]|\\\\.)*)"`,ee=RegExp(`^${H}\\s*=\\s*(.+)$`),U=RegExp(`^${H}\\s*=\\s*"([^"]*)"$`),te=RegExp(`^${H}\\s*=\\s*(.+)$`);function ne(e){let t=new Set;return e.map(e=>{let n=e;for(let r=2;t.has(n);r++)n=`${e} (${r})`;return t.add(n),n})}function re(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>B(e)!==``);return i.length>0&&i.every(e=>F(e)===void 0)?[{name:e,values:r.map(e=>B(e)||void 0)}]:[]})}function ie(e){let t=e.split(`
315
+ `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=V(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(U),i=n??t[e].match(ee);i&&r.push({cells:V(i[2]),label:z(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(B):B(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(F(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=re(a,r);return{labels:ne(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(te);t&&(n.push(z(t[1])),r.push(F(t[2])))}return{labels:ne(n),values:r}}var ae=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],W=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],oe=Object.fromEntries(W.map(e=>[e.name,e.colors]));function se(e){if(!e)return;let t=oe[e];return t?[...t]:void 0}function ce(){return W}var{min:le,max:ue}=Math,de=(e,t=0,n=1)=>le(ue(t,e),n),fe=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=de(e[t],0,255)):t===3&&(e[t]=de(e[t],0,1));return e},pe={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])pe[`[object ${e}]`]=e.toLowerCase();function G(e){return pe[Object.prototype.toString.call(e)]||`object`}var K=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):G(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),me=e=>{if(e.length<2)return null;let t=e.length-1;return G(e[t])==`string`?e[t].toLowerCase():null},{PI:he,min:ge,max:_e}=Math,ve=e=>Math.round(e*100)/100,ye=e=>Math.round(e*100)/100,be=he*2,xe=he/3,Se=he/180,Ce=180/he;function we(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Te={format:{},autodetect:[]},q=class{constructor(...e){let t=this;if(G(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=me(e),r=!1;if(!n){r=!0,Te.sorted||=(Te.autodetect=Te.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Te.autodetect)if(n=t.test(...e),n)break}if(Te.format[n])t._rgb=fe(Te.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return G(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},Ee=`3.2.0`,De=(...e)=>new q(...e);De.version=Ee;var Oe={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},ke=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Ae=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,je=e=>{if(e.match(ke)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(Ae)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:Me}=Math,Ne=(...e)=>{let[t,n,r,i]=K(e,`rgba`),a=me(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Me(t),n=Me(n),r=Me(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Me(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};q.prototype.name=function(){let e=Ne(this._rgb,`rgb`);for(let t of Object.keys(Oe))if(Oe[t]===e)return t.toLowerCase();return e},Te.format.named=e=>{if(e=e.toLowerCase(),Oe[e])return je(Oe[e]);throw Error(`unknown color name: `+e)},Te.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&Oe[e.toLowerCase()])return`named`}}),q.prototype.alpha=function(e,t=!1){return e!==void 0&&G(e)===`number`?t?(this._rgb[3]=e,this):new q([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},q.prototype.clipped=function(){return this._rgb._clipped||!1};var Pe={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Fe=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Ie(e){let t=Fe.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Pe.labWhitePoint=e,Pe.Xn=t[0],Pe.Zn=t[1]}function Le(){return Pe.labWhitePoint}var Re=(...e)=>{e=K(e,`lab`);let[t,n,r]=e,[i,a,o]=ze(t,n,r),[s,c,l]=Ve(i,a,o);return[s,c,l,e.length>3?e[3]:1]},ze=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Pe,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Be=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},Ve=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Pe,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Be(y*a.m00+b*a.m10+x*a.m20),C=Be(y*a.m01+b*a.m11+x*a.m21),w=Be(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},He=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Ge(t,n,r),[c,l,u]=Ue(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ue(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Pe,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function We(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ge=(e,t,n)=>{e=We(e/255),t=We(t/255),n=We(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Pe,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};q.prototype.lab=function(){return He(this._rgb)},Object.assign(De,{lab:(...e)=>new q(...e,`lab`),getLabWhitePoint:Le,setLabWhitePoint:Ie}),Te.format.lab=Re,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`lab`),G(e)===`array`&&e.length===3)return`lab`}}),q.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=Pe.Kn*e,new q(n,`lab`).alpha(t.alpha(),!0)},q.prototype.brighten=function(e=1){return this.darken(-e)},q.prototype.darker=q.prototype.darken,q.prototype.brighter=q.prototype.brighten,q.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:Ke}=Math,qe=1e-7,Je=20;q.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&G(e)===`number`){if(e===0)return new q([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new q([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Je,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<qe||!r--?o:s>e?i(n,o):i(o,a)};return new q([...(n>e?i(new q([0,0,0]),this):i(this,new q([255,255,255]))).rgb(),this._rgb[3]])}return Ye(...this._rgb.slice(0,3))};var Ye=(e,t,n)=>(e=Xe(e),t=Xe(t),n=Xe(n),.2126*e+.7152*t+.0722*n),Xe=e=>(e/=255,e<=.03928?e/12.92:Ke((e+.055)/1.055,2.4)),Ze={},Qe=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Ze[i]&&!r.length&&(i=Object.keys(Ze)[0]),!Ze[i])throw Error(`interpolation mode ${i} is not defined`);return G(e)!==`object`&&(e=new q(e)),G(t)!==`object`&&(t=new q(t)),Ze[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};q.prototype.mix=q.prototype.interpolate=function(e,t=.5,...n){return Qe(this,e,t,...n)},q.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new q([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:$e,cos:et}=Math,tt=(...e)=>{let[t,n,r]=K(e,`lch`);return isNaN(r)&&(r=0),r*=Se,[t,et(r)*n,$e(r)*n]},nt=(...e)=>{e=K(e,`lch`);let[t,n,r]=e,[i,a,o]=tt(t,n,r),[s,c,l]=Re(i,a,o);return[s,c,l,e.length>3?e[3]:1]},rt=(...e)=>nt(...we(K(e,`hcl`))),{sqrt:it,atan2:at,round:ot}=Math,st=(...e)=>{let[t,n,r]=K(e,`lab`),i=it(n*n+r*r),a=(at(r,n)*Ce+360)%360;return ot(i*1e4)===0&&(a=NaN),[t,i,a]},ct=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=He(t,n,r),[c,l,u]=st(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};q.prototype.lch=function(){return ct(this._rgb)},q.prototype.hcl=function(){return we(ct(this._rgb))},Object.assign(De,{lch:(...e)=>new q(...e,`lch`),hcl:(...e)=>new q(...e,`hcl`)}),Te.format.lch=nt,Te.format.hcl=rt,[`lch`,`hcl`].forEach(e=>Te.autodetect.push({p:2,test:(...t)=>{if(t=K(t,e),G(t)===`array`&&t.length===3)return e}})),q.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=Pe.Kn*e,n[1]<0&&(n[1]=0),new q(n,`lch`).alpha(t.alpha(),!0)},q.prototype.desaturate=function(e=1){return this.saturate(-e)},q.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(G(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(G(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new q(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},q.prototype.tint=function(e=.5,...t){return Qe(this,`white`,e,...t)},q.prototype.shade=function(e=.5,...t){return Qe(this,`black`,e,...t)},Ze.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:lt,pow:ut}=Math;Ze.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new q(lt(ut(r,2)*(1-n)+ut(o,2)*n),lt(ut(i,2)*(1-n)+ut(s,2)*n),lt(ut(a,2)*(1-n)+ut(c,2)*n),`rgb`)},Ze.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var dt=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new q([m,f,p],r):new q([p,f,m],r)},ft=(e,t,n)=>dt(e,t,n,`lch`);Ze.lch=ft,Ze.hcl=ft;var pt=e=>{if(G(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},mt=(...e)=>{let[t,n,r]=K(e,`rgb`);return(t<<16)+(n<<8)+r};q.prototype.num=function(){return mt(this._rgb)},Object.assign(De,{num:(...e)=>new q(...e,`num`)}),Te.format.num=pt,Te.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&G(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Ze.num=(e,t,n)=>{let r=e.num();return new q(r+n*(t.num()-r),`num`)};var{floor:ht}=Math,gt=(...e)=>{e=K(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=ht(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},_t=(...e)=>{let[t,n,r]=K(e,`rgb`),i=ge(t,n,r),a=_e(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};q.prototype.hcg=function(){return _t(this._rgb)},De.hcg=(...e)=>new q(...e,`hcg`),Te.format.hcg=gt,Te.autodetect.push({p:1,test:(...e)=>{if(e=K(e,`hcg`),G(e)===`array`&&e.length===3)return`hcg`}}),Ze.hcg=(e,t,n)=>dt(e,t,n,`hcg`);var{cos:vt}=Math,yt=(...e)=>{e=K(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*vt(be*t)/vt(xe-be*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*vt(be*t)/vt(xe-be*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*vt(be*t)/vt(xe-be*t))/3,i=1-(a+o)),i=de(r*i*3),a=de(r*a*3),o=de(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:bt,sqrt:J,acos:xt}=Math,St=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i,a=bt(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=J((t-n)*(t-n)+(t-r)*(n-r)),i=xt(i),r>n&&(i=be-i),i/=be),[i*360,s,o]};q.prototype.hsi=function(){return St(this._rgb)},De.hsi=(...e)=>new q(...e,`hsi`),Te.format.hsi=yt,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsi`),G(e)===`array`&&e.length===3)return`hsi`}}),Ze.hsi=(e,t,n)=>dt(e,t,n,`hsi`);var Ct=(...e)=>{e=K(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},wt=(...e)=>{e=K(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=ge(t,n,r),a=_e(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};q.prototype.hsl=function(){return wt(this._rgb)},De.hsl=(...e)=>new q(...e,`hsl`),Te.format.hsl=Ct,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsl`),G(e)===`array`&&e.length===3)return`hsl`}}),Ze.hsl=(e,t,n)=>dt(e,t,n,`hsl`);var{floor:Y}=Math,Tt=(...e)=>{e=K(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=Y(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:Et,max:Dt}=Math,Ot=(...e)=>{e=K(e,`rgb`);let[t,n,r]=e,i=Et(t,n,r),a=Dt(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};q.prototype.hsv=function(){return Ot(this._rgb)},De.hsv=(...e)=>new q(...e,`hsv`),Te.format.hsv=Tt,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsv`),G(e)===`array`&&e.length===3)return`hsv`}}),Ze.hsv=(e,t,n)=>dt(e,t,n,`hsv`);function kt(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var At=(...e)=>{e=K(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=jt([t,n,r]),[c,l,u]=Ve(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function jt(e){return kt([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],kt([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var Mt=(...e)=>{let[t,n,r,...i]=K(e,`rgb`);return[...Nt(Ge(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function Nt(e){return kt([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],kt([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}q.prototype.oklab=function(){return Mt(this._rgb)},Object.assign(De,{oklab:(...e)=>new q(...e,`oklab`)}),Te.format.oklab=At,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklab`),G(e)===`array`&&e.length===3)return`oklab`}}),Ze.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Ze.oklch=(e,t,n)=>dt(e,t,n,`oklch`);var{pow:Pt,sqrt:X,PI:Ft,cos:It,sin:Lt,atan2:Rt}=Math,zt=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new q(e)),t===`lrgb`)return Bt(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Ft;c+=It(t)*n[0],l+=Lt(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Ft;c+=It(t)*n[r+1],l+=Lt(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=Rt(l/s[e],c/s[e])/Ft*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new q(o,t).alpha(u>.99999?1:u,!0)},Bt=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=Pt(s[0],2)*o,r[1]+=Pt(s[1],2)*o,r[2]+=Pt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=X(r[0]),r[1]=X(r[1]),r[2]=X(r[2]),r[3]>.9999999&&(r[3]=1),new q(fe(r))},{pow:Vt}=Math;function Ht(e){let t=`rgb`,n=De(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&G(e)===`string`&&De.brewer&&De.brewer[e.toLowerCase()]&&(e=De.brewer[e.toLowerCase()]),G(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=De(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=Vt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=de(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(G(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=De.interpolate(l[e],l[e+1],a,t);break}}else G(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=De(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(G(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=De.analyze(i);c=e===0?[t.min,t.max]:De.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(G(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=Ut(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return De[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=De(e),C)},C}function Ut(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Wt=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Gt=function(e){let t,n,r,i;if(e=e.map(e=>new q(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Wt(i),t=function(e){let t=1-e;return new q([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Kt=e=>{let t=Gt(e);return t.scale=()=>Ht(t),t},{round:qt}=Math;q.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(qt)},q.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:qt(t):t)},Object.assign(De,{rgb:(...e)=>new q(...e,`rgb`)}),Te.format.rgb=(...e)=>{let t=K(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Te.autodetect.push({p:3,test:(...e)=>{if(e=K(e,`rgba`),G(e)===`array`&&(e.length===3||e.length===4&&G(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Jt=(e,t,n)=>{if(!Jt[n])throw Error(`unknown blend mode `+n);return Jt[n](e,t)},Yt=e=>(t,n)=>{let r=De(n).rgb(),i=De(t).rgb();return De.rgb(e(r,i))},Xt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Jt.normal=Yt(Xt(e=>e)),Jt.multiply=Yt(Xt((e,t)=>e*t/255)),Jt.screen=Yt(Xt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Jt.overlay=Yt(Xt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Jt.darken=Yt(Xt((e,t)=>e>t?t:e)),Jt.lighten=Yt(Xt((e,t)=>e>t?e:t)),Jt.dodge=Yt(Xt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Jt.burn=Yt(Xt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Zt,sin:Qt,cos:$t}=Math;function en(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;G(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=be*((e+120)/360+t*s),l=Zt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=$t(c),f=Qt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return De(fe([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,G(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(G(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>De.scale(s),s.hue(n),s}var tn=`0123456789abcdef`,{floor:nn,random:rn}=Math,an=(e=rn)=>{let t=`#`;for(let n=0;n<6;n++)t+=tn.charAt(nn(e()*16));return new q(t,`hex`)},{log:on,pow:sn,floor:cn,abs:ln}=Math;function un(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return G(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&G(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>dn(n,e,t),n}function dn(e,t=`equal`,n=7){G(e)==`array`&&(e=un(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*on(r),t=Math.LOG10E*on(i);o.push(r);for(let r=1;r<n;r++)o.push(sn(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=cn(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=ln(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var fn=(e,t)=>{e=new q(e),t=new q(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},pn=.027,mn=5e-4,hn=.1,gn=1.14,_n=.022,vn=1.414,yn=(e,t)=>{e=new q(e),t=new q(t),e.alpha()<1&&(e=Qe(t,e,e.alpha(),`rgb`));let n=bn(...e.rgb()),r=bn(...t.rgb()),i=n>=_n?n:n+(_n-n)**+vn,a=r>=_n?r:r+(_n-r)**+vn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<mn?0:i<a?o*gn:s*gn;return(Math.abs(c)<hn?0:c>0?c-pn:c+pn)*100};function bn(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:xn,pow:Sn,min:Cn,max:wn,atan2:Tn,abs:En,cos:Dn,sin:On,exp:kn,PI:An}=Math;function jn(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*An)},o=function(e){return 2*An*e/360};e=new q(e),t=new q(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(xn(Sn(c,2)+Sn(l,2))+xn(Sn(d,2)+Sn(f,2)))/2,h=.5*(1-xn(Sn(m,7)/(Sn(m,7)+Sn(25,7)))),g=c*(1+h),_=d*(1+h),v=xn(Sn(g,2)+Sn(l,2)),y=xn(Sn(_,2)+Sn(f,2)),b=(v+y)/2,x=a(Tn(l,g)),S=a(Tn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=En(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*Dn(o(T-30))+.24*Dn(o(2*T))+.32*Dn(o(3*T+6))-.2*Dn(o(4*T-63)),D=w-C;D=En(D)<=180?D:w<=C?D+360:D-360,D=2*xn(v*y)*On(o(D)/2);let O=u-s,k=y-v,A=1+.015*Sn(p-50,2)/xn(20+Sn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*kn(-Sn((T-275)/25,2)),P=-(2*xn(Sn(b,7)/(Sn(b,7)+Sn(25,7))))*On(2*o(N));return wn(0,Cn(100,xn(Sn(O/(n*A),2)+Sn(k/(r*j),2)+Sn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function Mn(e,t,n=`lab`){e=new q(e),t=new q(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var Nn=(...e)=>{try{return new q(...e),!0}catch{return!1}},Pn={cool(){return Ht([De.hsl(180,1,.9),De.hsl(250,.7,.4)])},hot(){return Ht([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Fn={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},In=Object.keys(Fn),Ln=new Map(In.map(e=>[e.toLowerCase(),e])),Rn=typeof Proxy==`function`?new Proxy(Fn,{get(e,t){let n=t.toLowerCase();if(Ln.has(n))return e[Ln.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(In)}}):Fn,zn=(...e)=>{e=K(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Bn}=Math,Vn=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Bn(t,Bn(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};q.prototype.cmyk=function(){return Vn(this._rgb)},Object.assign(De,{cmyk:(...e)=>new q(...e,`cmyk`)}),Te.format.cmyk=zn,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`cmyk`),G(e)===`array`&&e.length===4)return`cmyk`}});var Hn=(...e)=>{let t=K(e,`hsla`),n=me(e)||`lsa`;return t[0]=ve(t[0]||0)+`deg`,t[1]=ve(t[1]*100)+`%`,t[2]=ve(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Un=(...e)=>{let t=K(e,`lab`),n=me(e)||`lab`;return t[0]=ve(t[0])+`%`,t[1]=ve(t[1]),t[2]=ve(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Wn=(...e)=>{let t=K(e,`lch`),n=me(e)||`lab`;return t[0]=ve(t[0])+`%`,t[1]=ve(t[1]),t[2]=isNaN(t[2])?`none`:ve(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Gn=(...e)=>{let t=K(e,`lab`);return t[0]=ve(t[0]*100)+`%`,t[1]=ye(t[1]),t[2]=ye(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Kn=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Mt(t,n,r),[c,l,u]=st(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},qn=(...e)=>{let t=K(e,`lch`);return t[0]=ve(t[0]*100)+`%`,t[1]=ye(t[1]),t[2]=isNaN(t[2])?`none`:ve(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Jn}=Math,Yn=(...e)=>{let t=K(e,`rgba`),n=me(e)||`rgb`;if(n.substr(0,3)===`hsl`)return Hn(wt(t),n);if(n.substr(0,3)===`lab`){let e=Le();Ie(`d50`);let r=Un(He(t),n);return Ie(e),r}if(n.substr(0,3)===`lch`){let e=Le();Ie(`d50`);let r=Wn(ct(t),n);return Ie(e),r}return n.substr(0,5)===`oklab`?Gn(Mt(t)):n.substr(0,5)===`oklch`?qn(Kn(t)):(t[0]=Jn(t[0]),t[1]=Jn(t[1]),t[2]=Jn(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},Xn=(...e)=>{e=K(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=tt(t,n,r),[c,l,u]=At(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Zn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Qn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,$n=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,er=`\\s*`,tr=`\\s+`,nr=`\\s*,\\s*`,rr=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,ir=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,ar=RegExp(`^rgba?\\(`+er+[Zn,Zn,Zn].join(tr)+ir+`\\)$`),or=RegExp(`^rgb\\(`+er+[Zn,Zn,Zn].join(nr)+er+`\\)$`),sr=RegExp(`^rgba\\(`+er+[Zn,Zn,Zn,Qn].join(nr)+er+`\\)$`),cr=RegExp(`^hsla?\\(`+er+[rr,$n,$n].join(tr)+ir+`\\)$`),lr=RegExp(`^hsl?\\(`+er+[rr,$n,$n].join(nr)+er+`\\)$`),ur=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,dr=RegExp(`^lab\\(`+er+[Qn,Qn,Qn].join(tr)+ir+`\\)$`),fr=RegExp(`^lch\\(`+er+[Qn,Qn,rr].join(tr)+ir+`\\)$`),pr=RegExp(`^oklab\\(`+er+[Qn,Qn,Qn].join(tr)+ir+`\\)$`),mr=RegExp(`^oklch\\(`+er+[Qn,Qn,rr].join(tr)+ir+`\\)$`),{round:hr}=Math,gr=e=>e.map((e,t)=>t<=2?de(hr(e),0,255):e),_r=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),vr=(e,t)=>e===`none`?t:e,yr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Te.format.named)try{return Te.format.named(e)}catch{}if((t=e.match(ar))||(t=e.match(or))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+_r(vr(e[t],0),0,255);e=gr(e);let n=t[4]===void 0?1:+_r(t[4],0,1);return e[3]=n,e}if(t=e.match(sr)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+_r(e[t],0,255);return e}if((t=e.match(cr))||(t=e.match(lr))){let e=t.slice(1,4);e[0]=+vr(e[0].replace(`deg`,``),0),e[1]=_r(vr(e[1],0),0,100)*.01,e[2]=_r(vr(e[2],0),0,100)*.01;let n=gr(Ct(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}if(t=e.match(ur)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=Ct(e);for(let e=0;e<3;e++)n[e]=hr(n[e]);return n[3]=+t[4],n}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,100),e[1]=_r(vr(e[1],0),-125,125,!0),e[2]=_r(vr(e[2],0),-125,125,!0);let n=Le();Ie(`d50`);let r=gr(Re(e));return Ie(n),r[3]=t[4]===void 0?1:+_r(t[4],0,1),r}if(t=e.match(fr)){let e=t.slice(1,4);e[0]=_r(e[0],0,100),e[1]=_r(vr(e[1],0),0,150,!1),e[2]=+vr(e[2].replace(`deg`,``),0);let n=Le();Ie(`d50`);let r=gr(nt(e));return Ie(n),r[3]=t[4]===void 0?1:+_r(t[4],0,1),r}if(t=e.match(pr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,1),e[1]=_r(vr(e[1],0),-.4,.4,!0),e[2]=_r(vr(e[2],0),-.4,.4,!0);let n=gr(At(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}if(t=e.match(mr)){let e=t.slice(1,4);e[0]=_r(vr(e[0],0),0,1),e[1]=_r(vr(e[1],0),0,.4,!1),e[2]=+vr(e[2].replace(`deg`,``),0);let n=gr(Xn(e));return n[3]=t[4]===void 0?1:+_r(t[4],0,1),n}};yr.test=e=>ar.test(e)||cr.test(e)||dr.test(e)||fr.test(e)||pr.test(e)||mr.test(e)||or.test(e)||sr.test(e)||lr.test(e)||ur.test(e)||e===`transparent`,q.prototype.css=function(e){return Yn(this._rgb,e)},De.css=(...e)=>new q(...e,`css`),Te.format.css=yr,Te.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&yr.test(e))return`css`}}),Te.format.gl=(...e)=>{let t=K(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},De.gl=(...e)=>new q(...e,`gl`),q.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},q.prototype.hex=function(e){return Ne(this._rgb,e)},De.hex=(...e)=>new q(...e,`hex`),Te.format.hex=je,Te.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:br}=Math,xr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*br(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*br(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*br(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*br(r),i=255),[n,r,i,1]},{round:Sr}=Math,Cr=(...e)=>{let t=K(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=xr(o);e[2]/e[0]>=r/n?a=o:i=o}return Sr(o)};q.prototype.temp=q.prototype.kelvin=q.prototype.temperature=function(){return Cr(this._rgb)};var wr=(...e)=>new q(...e,`temp`);Object.assign(De,{temp:wr,kelvin:wr,temperature:wr}),Te.format.temp=Te.format.kelvin=Te.format.temperature=xr,q.prototype.oklch=function(){return Kn(this._rgb)},Object.assign(De,{oklch:(...e)=>new q(...e,`oklch`)}),Te.format.oklch=Xn,Te.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklch`),G(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(De,{analyze:un,average:zt,bezier:Kt,blend:Jt,brewer:Rn,Color:q,colors:Oe,contrast:fn,contrastAPCA:yn,cubehelix:en,deltaE:jn,distance:Mn,input:Te,interpolate:Qe,limits:dn,mix:Qe,random:an,scale:Ht,scales:Pn,valid:Nn});var Tr=De;function Er(e,t){if(!Tr.valid(e))return t;try{return Tr(e)}catch{return t}}function Dr(e){return Tr.valid(e)&&Tr.contrast(e,`#fff`)>=Tr.contrast(e,`#333`)?`#fff`:`#333`}var Or=4.5;function kr(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Ar(e,t=`#fff`){if(!Tr.valid(e))return Tr.valid(t)?Dr(t):`#333`;let n=Tr(e),r=Er(t,Tr(`#fff`));if(Tr.contrast(n,r)>=Or)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Tr.contrast(n,r)>=Or));e++);return n.hex()}var jr=12,Mr=.25,Nr=20,Pr=15;function Fr(e,t){if(e.length===0)return[];let n=Er(t,Tr(`#fff`)),r=Tr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Tr.valid(e)?Ir(Tr(e),r,i):Tr(`#000`));for(let e=1;e<a.length;e++)a[e]=zr(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Ir(e,t,n){for(let r=0;r<Nr;r++){if(Tr.contrast(e,t)>=Or)return e;e=n?e.darken(Mr):e.brighten(Mr)}return e}function Lr(e,t){return t.reduce((t,n)=>Math.min(t,Tr.deltaE(e,n)),1/0)}function*Rr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Nr;e++)t=n?t.darken(Mr):t.brighten(Mr),yield t}for(let t=Pr;t<=180;t+=Pr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function zr(e,t,n,r){let i=e,a=Lr(e,t);if(a>=jr)return e;for(let o of Rr(e,r)){if(Tr.contrast(o,n)<Or)continue;let e=Lr(o,t);if(e>a&&(i=o,a=e),a>=jr)break}return i}var Br=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.Scatter=`scatter`,e.DotPlot=`dot-plot`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),Vr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),Hr=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Ur=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Wr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Gr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Kr=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),qr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Jr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Yr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),Xr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Zr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Qr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),$r=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),ei=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),ti=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),ni=function(e){return e.None=`none`,e.Forward=`forward`,e.Backward=`backward`,e.Both=`both`,e}({}),ri=function(e){return e.Dumbbell=`dumbbell`,e.Range=`range`,e}({}),ii=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e.Value=`value`,e.Gap=`gap`,e}({}),ai=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),oi=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),si=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ci=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),li=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ui=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Z=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),di=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),fi=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),pi=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),mi=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),hi=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),gi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),_i=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),vi=l(gi(),1),yi=l(_i(),1);vi.default.extend(yi.default);var bi=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function xi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function Si(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function Ci(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,vi.default)(t,`YYYY`,!0);return e.isValid()?Si(e):null}for(let e of bi){if(e===`YYYY`)continue;let n=(0,vi.default)(t,e,!0);if(n.isValid())return Si(n)}return null}function wi(e){let t=e.trim();if(!t)return;let n=Ci(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function Ti(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?Ci(t)?.getTime():n}function Ei(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,vi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(Si(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of bi)e!==`YYYY`&&(0,vi.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,vi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(Si(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:xi(n)}:null}function Di(e){return typeof e==`string`?Ti(e):e}function Oi(e,t){if(typeof e!=`string`)return e;let n=Ci(e);return n?n.getTime():t?void 0:wi(e)}function ki(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=Ei(e)!==null,r=Oi(t.min,n),i=Oi(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=wi(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Ai(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function ji(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===Hr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Di(t?.min)??i,u=Di(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function Mi(e,t){if(typeof e.constant!=`function`&&typeof e.base!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function Ni(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Pi(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Fi(e){let t,n,r;e.length===2?(t=e===Ni||e===Pi?e:Ii,n=e,r=e):(t=Ni,n=(t,n)=>Ni(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Ii(){return 0}function Li(e){return e===null?NaN:+e}var Ri=Fi(Ni),zi=Ri.right;Ri.left;var Bi=Fi(Li).center;function Vi(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var Hi=class extends Map{constructor(e,t=Ki){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Ui(this,e))}has(e){return super.has(Ui(this,e))}set(e,t){return super.set(Wi(this,e),t)}delete(e){return super.delete(Gi(this,e))}};function Ui({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Wi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Gi({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Ki(e){return typeof e==`object`&&e?e.valueOf():e}function qi(e){return e}function Ji(e,...t){return Xi(e,qi,qi,t)}function Yi(e,t,...n){return Xi(e,qi,t,n)}function Xi(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Hi,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function Zi(e,t){return Array.from(t,t=>e[t])}function Qi(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=ea(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>ea(n[e],n[t]))),Zi(e,r)}return e.sort($i(n))}function $i(e=Ni){if(e===Ni)return ea;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function ea(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var ta=Math.sqrt(50),na=Math.sqrt(10),ra=Math.sqrt(2);function ia(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=ta?10:a>=na?5:a>=ra?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?ia(e,t,n*2):[s,c,l]}function aa(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?ia(t,e,n):ia(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function oa(e,t,n){return t=+t,e=+e,n=+n,ia(e,t,n)[2]}function sa(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?oa(t,e,n):oa(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ca(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function la(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function ua(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function da(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function fa(e){return e}var pa=1,ma=2,ha=3,ga=4,_a=1e-6;function va(e){return`translate(`+e+`,0)`}function ya(e){return`translate(0,`+e+`)`}function ba(e){return t=>+e(t)}function xa(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function Sa(){return!this.__axis}function Ca(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===pa||e===ga?-1:1,u=e===ga||e===ma?`x`:`y`,d=e===pa||e===ha?va:ya;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):fa),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?xa:ba)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===pa?`0em`:e===ha?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,_a).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,_a).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===ga||e===ma?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(Sa).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ma?`start`:e===ga?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function wa(e){return Ca(pa,e)}function Ta(e){return Ca(ma,e)}function Ea(e){return Ca(ha,e)}function Da(e){return Ca(ga,e)}var Oa={value:()=>{}};function ka(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Aa(n)}function Aa(e){this._=e}function ja(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Aa.prototype=ka.prototype={constructor:Aa,on:function(e,t){var n=this._,r=ja(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ma(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Na(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Na(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Aa(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ma(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Na(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Oa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Pa={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Fa(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Pa.hasOwnProperty(t)?{space:Pa[t],local:e}:e}function Ia(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function La(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ra(e){var t=Fa(e);return(t.local?La:Ia)(t)}function za(){}function Ba(e){return e==null?za:function(){return this.querySelector(e)}}function Va(e){typeof e!=`function`&&(e=Ba(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new As(r,this._parents)}function Ha(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ua(){return[]}function Wa(e){return e==null?Ua:function(){return this.querySelectorAll(e)}}function Ga(e){return function(){return Ha(e.apply(this,arguments))}}function Ka(e){e=typeof e==`function`?Ga(e):Wa(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new As(r,i)}function qa(e){return function(){return this.matches(e)}}function Ja(e){return function(t){return t.matches(e)}}var Ya=Array.prototype.find;function Xa(e){return function(){return Ya.call(this.children,e)}}function Za(){return this.firstElementChild}function Qa(e){return this.select(e==null?Za:Xa(typeof e==`function`?e:Ja(e)))}var $a=Array.prototype.filter;function eo(){return Array.from(this.children)}function to(e){return function(){return $a.call(this.children,e)}}function no(e){return this.selectAll(e==null?eo:to(typeof e==`function`?e:Ja(e)))}function ro(e){typeof e!=`function`&&(e=qa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new As(r,this._parents)}function io(e){return Array(e.length)}function ao(){return new As(this._enter||this._groups.map(io),this._parents)}function oo(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}oo.prototype={constructor:oo,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function so(e){return function(){return e}}function co(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new oo(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function lo(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new oo(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function uo(e){return e.__data__}function fo(e,t){if(!arguments.length)return Array.from(this,uo);var n=t?lo:co,r=this._parents,i=this._groups;typeof e!=`function`&&(e=so(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=po(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new As(o,r),o._enter=s,o._exit=c,o}function po(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function mo(){return new As(this._exit||this._groups.map(io),this._parents)}function ho(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function go(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new As(s,this._parents)}function _o(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function vo(e){e||=yo;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new As(i,this._parents).order()}function yo(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function bo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function xo(){return Array.from(this)}function So(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Co(){let e=0;for(let t of this)++e;return e}function wo(){return!this.node()}function To(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Eo(e){return function(){this.removeAttribute(e)}}function Do(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Oo(e,t){return function(){this.setAttribute(e,t)}}function ko(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ao(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function jo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Mo(e,t){var n=Fa(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Do:Eo:typeof t==`function`?n.local?jo:Ao:n.local?ko:Oo)(n,t))}function No(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Po(e){return function(){this.style.removeProperty(e)}}function Fo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Io(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Lo(e,t,n){return arguments.length>1?this.each((t==null?Po:typeof t==`function`?Io:Fo)(e,t,n??``)):Ro(this.node(),e)}function Ro(e,t){return e.style.getPropertyValue(t)||No(e).getComputedStyle(e,null).getPropertyValue(t)}function zo(e){return function(){delete this[e]}}function Bo(e,t){return function(){this[e]=t}}function Vo(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ho(e,t){return arguments.length>1?this.each((t==null?zo:typeof t==`function`?Vo:Bo)(e,t)):this.node()[e]}function Uo(e){return e.trim().split(/^|\s+/)}function Wo(e){return e.classList||new Go(e)}function Go(e){this._node=e,this._names=Uo(e.getAttribute(`class`)||``)}Go.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Ko(e,t){for(var n=Wo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function qo(e,t){for(var n=Wo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Jo(e){return function(){Ko(this,e)}}function Yo(e){return function(){qo(this,e)}}function Xo(e,t){return function(){(t.apply(this,arguments)?Ko:qo)(this,e)}}function Zo(e,t){var n=Uo(e+``);if(arguments.length<2){for(var r=Wo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Xo:t?Jo:Yo)(n,t))}function Qo(){this.textContent=``}function $o(e){return function(){this.textContent=e}}function es(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function ts(e){return arguments.length?this.each(e==null?Qo:(typeof e==`function`?es:$o)(e)):this.node().textContent}function ns(){this.innerHTML=``}function rs(e){return function(){this.innerHTML=e}}function is(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function as(e){return arguments.length?this.each(e==null?ns:(typeof e==`function`?is:rs)(e)):this.node().innerHTML}function os(){this.nextSibling&&this.parentNode.appendChild(this)}function ss(){return this.each(os)}function cs(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ls(){return this.each(cs)}function us(e){var t=typeof e==`function`?e:Ra(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function ds(){return null}function fs(e,t){var n=typeof e==`function`?e:Ra(e),r=t==null?ds:typeof t==`function`?t:Ba(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ps(){var e=this.parentNode;e&&e.removeChild(this)}function ms(){return this.each(ps)}function hs(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function gs(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function _s(e){return this.select(e?gs:hs)}function vs(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function ys(e){return function(t){e.call(this,t,this.__data__)}}function bs(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function xs(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function Ss(e,t,n){return function(){var r=this.__on,i,a=ys(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function Cs(e,t,n){var r=bs(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?Ss:xs,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function ws(e,t,n){var r=No(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Ts(e,t){return function(){return ws(this,e,t)}}function Es(e,t){return function(){return ws(this,e,t.apply(this,arguments))}}function Ds(e,t){return this.each((typeof t==`function`?Es:Ts)(e,t))}function*Os(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var ks=[null];function As(e,t){this._groups=e,this._parents=t}function js(){return new As([[document.documentElement]],ks)}function Ms(){return this}As.prototype=js.prototype={constructor:As,select:Va,selectAll:Ka,selectChild:Qa,selectChildren:no,filter:ro,data:fo,enter:ao,exit:mo,join:ho,merge:go,selection:Ms,order:_o,sort:vo,call:bo,nodes:xo,node:So,size:Co,empty:wo,each:To,attr:Mo,style:Lo,property:Ho,classed:Zo,text:ts,html:as,raise:ss,lower:ls,append:us,insert:fs,remove:ms,clone:_s,datum:vs,on:Cs,dispatch:Ds,[Symbol.iterator]:Os};function Q(e){return typeof e==`string`?new As([[document.querySelector(e)]],[document.documentElement]):new As([[e]],ks)}function Ns(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Ps(e,t){if(e=Ns(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function Fs(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Is(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ls(){}var Rs=.7,zs=1/Rs,Bs=`\\s*([+-]?\\d+)\\s*`,Vs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Hs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Us=/^#([0-9a-f]{3,8})$/,Ws=RegExp(`^rgb\\(${Bs},${Bs},${Bs}\\)$`),Gs=RegExp(`^rgb\\(${Hs},${Hs},${Hs}\\)$`),Ks=RegExp(`^rgba\\(${Bs},${Bs},${Bs},${Vs}\\)$`),qs=RegExp(`^rgba\\(${Hs},${Hs},${Hs},${Vs}\\)$`),Js=RegExp(`^hsl\\(${Vs},${Hs},${Hs}\\)$`),Ys=RegExp(`^hsla\\(${Vs},${Hs},${Hs},${Vs}\\)$`),Xs={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};Fs(Ls,tc,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Zs,formatHex:Zs,formatHex8:Qs,formatHsl:$s,formatRgb:ec,toString:ec});function Zs(){return this.rgb().formatHex()}function Qs(){return this.rgb().formatHex8()}function $s(){return mc(this).formatHsl()}function ec(){return this.rgb().formatRgb()}function tc(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Us.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?nc(t):n===3?new oc(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?rc(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?rc(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Ws.exec(e))?new oc(t[1],t[2],t[3],1):(t=Gs.exec(e))?new oc(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ks.exec(e))?rc(t[1],t[2],t[3],t[4]):(t=qs.exec(e))?rc(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Js.exec(e))?pc(t[1],t[2]/100,t[3]/100,1):(t=Ys.exec(e))?pc(t[1],t[2]/100,t[3]/100,t[4]):Xs.hasOwnProperty(e)?nc(Xs[e]):e===`transparent`?new oc(NaN,NaN,NaN,0):null}function nc(e){return new oc(e>>16&255,e>>8&255,e&255,1)}function rc(e,t,n,r){return r<=0&&(e=t=n=NaN),new oc(e,t,n,r)}function ic(e){return e instanceof Ls||(e=tc(e)),e?(e=e.rgb(),new oc(e.r,e.g,e.b,e.opacity)):new oc}function ac(e,t,n,r){return arguments.length===1?ic(e):new oc(e,t,n,r??1)}function oc(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Fs(oc,ac,Is(Ls,{brighter(e){return e=e==null?zs:zs**+e,new oc(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Rs:Rs**+e,new oc(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new oc(dc(this.r),dc(this.g),dc(this.b),uc(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:sc,formatHex:sc,formatHex8:cc,formatRgb:lc,toString:lc}));function sc(){return`#${fc(this.r)}${fc(this.g)}${fc(this.b)}`}function cc(){return`#${fc(this.r)}${fc(this.g)}${fc(this.b)}${fc((isNaN(this.opacity)?1:this.opacity)*255)}`}function lc(){let e=uc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${dc(this.r)}, ${dc(this.g)}, ${dc(this.b)}${e===1?`)`:`, ${e})`}`}function uc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function dc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function fc(e){return e=dc(e),(e<16?`0`:``)+e.toString(16)}function pc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new gc(e,t,n,r)}function mc(e){if(e instanceof gc)return new gc(e.h,e.s,e.l,e.opacity);if(e instanceof Ls||(e=tc(e)),!e)return new gc;if(e instanceof gc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new gc(o,s,c,e.opacity)}function hc(e,t,n,r){return arguments.length===1?mc(e):new gc(e,t,n,r??1)}function gc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Fs(gc,hc,Is(Ls,{brighter(e){return e=e==null?zs:zs**+e,new gc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Rs:Rs**+e,new gc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new oc(yc(e>=240?e-240:e+120,i,r),yc(e,i,r),yc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new gc(_c(this.h),vc(this.s),vc(this.l),uc(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(){let e=uc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${_c(this.h)}, ${vc(this.s)*100}%, ${vc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function _c(e){return e=(e||0)%360,e<0?e+360:e}function vc(e){return Math.max(0,Math.min(1,e||0))}function yc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var bc=e=>()=>e;function xc(e,t){return function(n){return e+n*t}}function Sc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Cc(e){return(e=+e)==1?wc:function(t,n){return n-t?Sc(t,n,e):bc(isNaN(t)?n:t)}}function wc(e,t){var n=t-e;return n?xc(e,n):bc(isNaN(e)?t:e)}var Tc=(function e(t){var n=Cc(t);function r(e,t){var r=n((e=ac(e)).r,(t=ac(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=wc(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Ec(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Dc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Oc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Lc(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function kc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Ac(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function jc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Lc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Mc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Nc=new RegExp(Mc.source,`g`);function Pc(e){return function(){return e}}function Fc(e){return function(t){return e(t)+``}}function Ic(e,t){var n=Mc.lastIndex=Nc.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Mc.exec(e))&&(i=Nc.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Ac(r,i)})),n=Nc.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Fc(c[0].x):Pc(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Lc(e,t){var n=typeof t,r;return t==null||n===`boolean`?bc(t):(n===`number`?Ac:n===`string`?(r=tc(t))?(t=r,Tc):Ic:t instanceof tc?Tc:t instanceof Date?kc:Dc(t)?Ec:Array.isArray(t)?Oc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?jc:Ac)(e,t)}function Rc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var zc=180/Math.PI,Bc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Vc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*zc,skewX:Math.atan(c)*zc,scaleX:o,scaleY:s}}var Hc;function Uc(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Bc:Vc(t.a,t.b,t.c,t.d,t.e,t.f)}function Wc(e){return e==null||(Hc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Hc.setAttribute(`transform`,e),!(e=Hc.transform.baseVal.consolidate()))?Bc:(e=e.matrix,Vc(e.a,e.b,e.c,e.d,e.e,e.f))}function Gc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Ac(e,i)},{i:c-2,x:Ac(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Ac(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Ac(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Ac(e,n)},{i:s-2,x:Ac(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Kc=Gc(Uc,`px, `,`px)`,`deg)`),qc=Gc(Wc,`, `,`)`,`)`),Jc=0,Yc=0,Xc=0,Zc=1e3,Qc,$c,el=0,tl=0,nl=0,rl=typeof performance==`object`&&performance.now?performance:Date,il=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function al(){return tl||=(il(ol),rl.now()+nl)}function ol(){tl=0}function sl(){this._call=this._time=this._next=null}sl.prototype=cl.prototype={constructor:sl,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?al():+n)+(t==null?0:+t),!this._next&&$c!==this&&($c?$c._next=this:Qc=this,$c=this),this._call=e,this._time=n,pl()},stop:function(){this._call&&(this._call=null,this._time=1/0,pl())}};function cl(e,t,n){var r=new sl;return r.restart(e,t,n),r}function ll(){al(),++Jc;for(var e=Qc,t;e;)(t=tl-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Jc}function ul(){tl=(el=rl.now())+nl,Jc=Yc=0;try{ll()}finally{Jc=0,fl(),tl=0}}function dl(){var e=rl.now(),t=e-el;t>Zc&&(nl-=t,el=e)}function fl(){for(var e,t=Qc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Qc=n);$c=e,pl(r)}function pl(e){Jc||(Yc&&=clearTimeout(Yc),e-tl>24?(e<1/0&&(Yc=setTimeout(ul,e-rl.now()-nl)),Xc&&=clearInterval(Xc)):(Xc||=(el=rl.now(),setInterval(dl,Zc)),Jc=1,il(ul)))}function ml(e,t,n){var r=new sl;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var hl=ka(`start`,`end`,`cancel`,`interrupt`),gl=[];function _l(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;xl(e,n,{name:t,index:r,group:i,on:hl,tween:gl,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function vl(e,t){var n=bl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function yl(e,t){var n=bl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function bl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function xl(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=cl(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return ml(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(ml(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Sl(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Cl(e){return this.each(function(){Sl(this,e)})}function wl(e,t){var n,r;return function(){var i=yl(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Tl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=yl(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function El(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=bl(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?wl:Tl)(n,e,t))}function Dl(e,t,n){var r=e._id;return e.each(function(){var e=yl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return bl(e,r).value[t]}}function Ol(e,t){var n;return(typeof t==`number`?Ac:t instanceof tc?Tc:(n=tc(t))?(t=n,Tc):Ic)(e,t)}function kl(e){return function(){this.removeAttribute(e)}}function Al(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ml(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Nl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Pl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Fl(e,t){var n=Fa(e),r=n===`transform`?qc:Ol;return this.attrTween(e,typeof t==`function`?(n.local?Pl:Nl)(n,r,Dl(this,`attr.`+e,t)):t==null?(n.local?Al:kl)(n):(n.local?Ml:jl)(n,r,t))}function Il(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Ll(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Rl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Ll(e,i)),n}return i._value=t,i}function zl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Il(e,i)),n}return i._value=t,i}function Bl(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Fa(e);return this.tween(n,(r.local?Rl:zl)(r,t))}function Vl(e,t){return function(){vl(this,e).delay=+t.apply(this,arguments)}}function Hl(e,t){return t=+t,function(){vl(this,e).delay=t}}function Ul(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Vl:Hl)(t,e)):bl(this.node(),t).delay}function Wl(e,t){return function(){yl(this,e).duration=+t.apply(this,arguments)}}function Gl(e,t){return t=+t,function(){yl(this,e).duration=t}}function Kl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Wl:Gl)(t,e)):bl(this.node(),t).duration}function ql(e,t){if(typeof t!=`function`)throw Error();return function(){yl(this,e).ease=t}}function Jl(e){var t=this._id;return arguments.length?this.each(ql(t,e)):bl(this.node(),t).ease}function Yl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();yl(this,e).ease=n}}function Xl(e){if(typeof e!=`function`)throw Error();return this.each(Yl(this._id,e))}function Zl(e){typeof e!=`function`&&(e=qa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Eu(r,this._parents,this._name,this._id)}function Ql(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Eu(o,this._parents,this._name,this._id)}function $l(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function eu(e,t,n){var r,i,a=$l(t)?vl:yl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function tu(e,t){var n=this._id;return arguments.length<2?bl(this.node(),n).on.on(e):this.each(eu(n,e,t))}function nu(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ru(){return this.on(`end.remove`,nu(this._id))}function iu(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ba(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,_l(l[f],t,n,f,l,bl(u,n)));return new Eu(a,this._parents,t,n)}function au(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Wa(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=bl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&_l(p,t,n,h,f,m);a.push(f),o.push(u)}return new Eu(a,o,t,n)}var ou=js.prototype.constructor;function su(){return new ou(this._groups,this._parents)}function cu(e,t){var n,r,i;return function(){var a=Ro(this,e),o=(this.style.removeProperty(e),Ro(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function lu(e){return function(){this.style.removeProperty(e)}}function uu(e,t,n){var r,i=n+``,a;return function(){var o=Ro(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function du(e,t,n){var r,i,a;return function(){var o=Ro(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Ro(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function fu(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=yl(this,e),l=c.on,u=c.value[a]==null?s||=lu(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function pu(e,t,n){var r=(e+=``)==`transform`?Kc:Ol;return t==null?this.styleTween(e,cu(e,r)).on(`end.style.`+e,lu(e)):typeof t==`function`?this.styleTween(e,du(e,r,Dl(this,`style.`+e,t))).each(fu(this._id,e)):this.styleTween(e,uu(e,r,t),n).on(`end.style.`+e,null)}function mu(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function hu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&mu(e,a,n)),r}return a._value=t,a}function gu(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,hu(e,t,n??``))}function _u(e){return function(){this.textContent=e}}function vu(e){return function(){var t=e(this);this.textContent=t??``}}function yu(e){return this.tween(`text`,typeof e==`function`?vu(Dl(this,`text`,e)):_u(e==null?``:e+``))}function bu(e){return function(t){this.textContent=e.call(this,t)}}function xu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&bu(r)),t}return r._value=e,r}function Su(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,xu(e))}function Cu(){for(var e=this._name,t=this._id,n=Ou(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=bl(c,t);_l(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Eu(r,this._parents,e,n)}function wu(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=yl(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Tu=0;function Eu(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Du(e){return js().transition(e)}function Ou(){return++Tu}var ku=js.prototype;Eu.prototype=Du.prototype={constructor:Eu,select:iu,selectAll:au,selectChild:ku.selectChild,selectChildren:ku.selectChildren,filter:Zl,merge:Ql,selection:su,transition:Cu,call:ku.call,nodes:ku.nodes,node:ku.node,size:ku.size,empty:ku.empty,each:ku.each,on:tu,attr:Fl,attrTween:Bl,style:pu,styleTween:gu,text:yu,textTween:Su,remove:ru,tween:El,delay:Ul,duration:Kl,ease:Jl,easeVarying:Xl,end:wu,[Symbol.iterator]:ku[Symbol.iterator]};function Au(e){return--e*e*e+1}function ju(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Mu={time:null,delay:0,duration:250,ease:ju};function Nu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Pu(e){var t,n;e instanceof Eu?(t=e._id,e=e._name):(t=Ou(),(n=Mu).time=al(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&_l(c,e,t,l,o,n||Nu(c,t));return new Eu(r,this._parents,e,t)}js.prototype.interrupt=Cl,js.prototype.transition=Pu;var Fu=[null];function Iu(e,t){var n=e.__transition,r,i;if(n){for(i in t=t==null?null:t+``,n)if((r=n[i]).state>1&&r.name===t)return new Eu([[e]],Fu,t,+i)}return null}var{abs:Lu,max:Ru,min:zu}=Math;[`w`,`e`].map(Bu),[`n`,`s`].map(Bu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Bu);function Bu(e){return{type:e}}var Vu=Math.PI,Hu=2*Vu,Uu=1e-6,Wu=Hu-Uu;function Gu(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ku(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Gu;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var qu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Gu:Ku(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Uu){if(!(Math.abs(u*s-c*l)>Uu)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Vu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Uu&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Uu||Math.abs(this._y1-l)>Uu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Hu+Hu),d>Wu?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Uu&&this._append`A${n},${n},0,${+(d>=Vu)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};qu.prototype;var Ju=11102230246251565e-32,Yu=134217729,Xu=3.000000000000001*Ju;function Zu(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function Qu(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function $(e){return new Float64Array(e)}var $u=(3+16*Ju)*Ju,ed=(2+12*Ju)*Ju,td=(9+64*Ju)*Ju*Ju,nd=$(4),rd=$(8),id=$(12),ad=$(16),od=$(4);function sd(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=Yu*T,p=f-(f-T),m=T-p,f=Yu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Yu*D,p=f-(f-D),m=D-p,f=Yu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,nd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,nd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,nd[2]=v-(w-d)+(_-d),nd[3]=w;let k=Qu(4,nd),A=ed*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=td*o+Xu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Yu*s,p=f-(f-s),m=s-p,f=Yu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Yu*c,p=f-(f-c),m=c-p,f=Yu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,od[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,od[1]=y-(_+d)+(d-S),w=v+_,d=w-v,od[2]=v-(w-d)+(_-d),od[3]=w;let j=Zu(4,nd,4,od,rd);b=T*u,f=Yu*T,p=f-(f-T),m=T-p,f=Yu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Yu*D,p=f-(f-D),m=D-p,f=Yu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,od[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,od[1]=y-(_+d)+(d-S),w=v+_,d=w-v,od[2]=v-(w-d)+(_-d),od[3]=w;let M=Zu(j,rd,4,od,id);return b=s*u,f=Yu*s,p=f-(f-s),m=s-p,f=Yu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Yu*c,p=f-(f-c),m=c-p,f=Yu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,od[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,od[1]=y-(_+d)+(d-S),w=v+_,d=w-v,od[2]=v-(w-d)+(_-d),od[3]=w,ad[Zu(M,id,4,od,ad)-1]}function cd(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=$u*l?c:-sd(e,t,n,r,i,a,l)}(7+56*Ju)*Ju,(3+28*Ju)*Ju,(26+288*Ju)*Ju*Ju,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Ju)*Ju,(4+48*Ju)*Ju,(44+576*Ju)*Ju*Ju,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(4),$(4),$(4),$(8),$(16),$(16),$(16),$(32),$(32),$(48),$(64),$(1152),$(1152),(16+224*Ju)*Ju,(5+72*Ju)*Ju,(71+1408*Ju)*Ju*Ju,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(1152),$(1152),$(1152),$(1152),$(1152),$(2304),$(2304),$(3456),$(5760),$(8),$(8),$(8),$(16),$(24),$(48),$(48),$(96),$(192),$(384),$(384),$(384),$(768),$(96),$(96),$(96),$(1152);var ld=2**-52,ud=new Uint32Array(512),dd=class e{static from(t,n=yd,r=bd){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=pd(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=pd(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=hd(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];_d(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(cd(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=gd(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=pd(e[2*t],e[2*t+1],S.x,S.y);_d(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=ld&&Math.abs(u-s)<=ld||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],cd(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],cd(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],cd(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(fd(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=ud[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(md(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<ud.length&&(ud[i++]=s)}else{if(i===0)break;e=ud[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function fd(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function pd(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function md(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function hd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function gd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function _d(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;vd(e,i,a),t[e[n]]>t[e[r]]&&vd(e,n,r),t[e[a]]>t[e[r]]&&vd(e,a,r),t[e[n]]>t[e[a]]&&vd(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;vd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(_d(e,t,a,r),_d(e,t,n,o-1)):(_d(e,t,n,o-1),_d(e,t,a,r))}}function vd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function yd(e){return e[0]}function bd(e){return e[1]}var xd=1e-6,Sd=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=``}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=`Z`)}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error(`negative radius`);this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>xd||Math.abs(this._y1-i)>xd)&&(this._+=`L`+r+`,`+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},Cd=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},wd=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new Sd:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new Sd:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new Sd:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new Cd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_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];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.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 r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},Td=2*Math.PI,Ed=Math.pow;function Dd(e){return e[0]}function Od(e){return e[1]}function kd(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function Ad(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var jd=class e{static from(t,n=Dd,r=Od,i){return new e(`length`in t?Md(t,n,r,i):Float64Array.from(Nd(t,n,r,i)))}constructor(e){this._delaunator=new dd(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(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&kd(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=Ad(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new dd(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new wd(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=Ed(t-c[e*2],2)+Ed(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=Ed(t-c[r*2],2)+Ed(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&Ed(t-c[f*2],2)+Ed(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new Sd:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new Sd:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,Td)}return n&&n.value()}renderHull(e){let t=e==null?e=new Sd:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new Cd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new Sd:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new Cd;return this.renderTriangle(e,t),t.value()}};function Md(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*Nd(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}var Pd={},Fd={},Id=34,Ld=10,Rd=13;function zd(e){return Function(`d`,`return {`+e.map(function(e,t){return JSON.stringify(e)+`: d[`+t+`] || ""`}).join(`,`)+`}`)}function Bd(e,t){var n=zd(e);return function(r,i){return t(n(r),i,e)}}function Vd(e){var t=Object.create(null),n=[];return e.forEach(function(e){for(var r in e)r in t||n.push(t[r]=r)}),n}function Hd(e,t){var n=e+``,r=n.length;return r<t?Array(t-r+1).join(0)+n:n}function Ud(e){return e<0?`-`+Hd(-e,6):e>9999?`+`+Hd(e,6):Hd(e,4)}function Wd(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?`Invalid Date`:Ud(e.getUTCFullYear(),4)+`-`+Hd(e.getUTCMonth()+1,2)+`-`+Hd(e.getUTCDate(),2)+(i?`T`+Hd(t,2)+`:`+Hd(n,2)+`:`+Hd(r,2)+`.`+Hd(i,3)+`Z`:r?`T`+Hd(t,2)+`:`+Hd(n,2)+`:`+Hd(r,2)+`Z`:n||t?`T`+Hd(t,2)+`:`+Hd(n,2)+`Z`:``)}function Gd(e){var t=RegExp(`["`+e+`
316
+ \r]`),n=e.charCodeAt(0);function r(e,t){var n,r,a=i(e,function(e,i){if(n)return n(e,i-1);r=e,n=t?Bd(e,t):zd(e)});return a.columns=r||[],a}function i(e,t){var r=[],i=e.length,a=0,o=0,s,c=i<=0,l=!1;e.charCodeAt(i-1)===Ld&&--i,e.charCodeAt(i-1)===Rd&&--i;function u(){if(c)return Fd;if(l)return l=!1,Pd;var t,r=a,o;if(e.charCodeAt(r)===Id){for(;a++<i&&e.charCodeAt(a)!==Id||e.charCodeAt(++a)===Id;);return(t=a)>=i?c=!0:(o=e.charCodeAt(a++))===Ld?l=!0:o===Rd&&(l=!0,e.charCodeAt(a)===Ld&&++a),e.slice(r+1,t-1).replace(/""/g,`"`)}for(;a<i;){if((o=e.charCodeAt(t=a++))===Ld)l=!0;else if(o===Rd)l=!0,e.charCodeAt(a)===Ld&&++a;else if(o!==n)continue;return e.slice(r,t)}return c=!0,e.slice(r,i)}for(;(s=u())!==Fd;){for(var d=[];s!==Pd&&s!==Fd;)d.push(s),s=u();t&&(d=t(d,o++))==null||r.push(d)}return r}function a(t,n){return t.map(function(t){return n.map(function(e){return u(t[e])}).join(e)})}function o(t,n){return n??=Vd(t),[n.map(u).join(e)].concat(a(t,n)).join(`
317
+ `)}function s(e,t){return t??=Vd(e),a(e,t).join(`
318
+ `)}function c(e){return e.map(l).join(`
319
+ `)}function l(t){return t.map(u).join(e)}function u(e){return e==null?``:e instanceof Date?Wd(e):t.test(e+=``)?`"`+e.replace(/"/g,`""`)+`"`:e}return{parse:r,parseRows:i,format:o,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var Kd=Gd(`,`);Kd.parse,Kd.parseRows,Kd.format,Kd.formatBody;var qd=Kd.formatRows;Kd.formatRow,Kd.formatValue;function Jd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Yd(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Xd(e){return e=Yd(Math.abs(e)),e?e[1]:NaN}function Zd(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Qd(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var $d=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ef(e){if(!(t=$d.exec(e)))throw Error(`invalid format: `+e);var t;return new tf({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}ef.prototype=tf.prototype;function tf(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}tf.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 nf(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var rf;function af(e,t){var n=Yd(e,t);if(!n)return rf=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(rf=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Yd(e,Math.max(0,t+a-1))[0]}function of(e,t){var n=Yd(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var sf={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Jd,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>of(e*100,t),r:of,s:af,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function cf(e){return e}var lf=Array.prototype.map,uf=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function df(e){var t=e.grouping===void 0||e.thousands===void 0?cf:Zd(lf.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?cf:Qd(lf.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=ef(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):sf[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=sf[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=nf(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&rf!==void 0?uf[8+rf/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Xd(t)/3)))*3,r=10**-n,i=l((e=ef(e),e.type=`f`,e),{suffix:uf[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var ff,pf,mf;hf({thousands:`,`,grouping:[3],currency:[`$`,``]});function hf(e){return ff=df(e),pf=ff.format,mf=ff.formatPrefix,ff}function gf(e){return Math.max(0,-Xd(Math.abs(e)))}function _f(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Xd(t)/3)))*3-Xd(Math.abs(e)))}function vf(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Xd(t)-Xd(e))+1}function yf(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var bf=Symbol(`implicit`);function xf(){var e=new Hi,t=[],n=[],r=bf;function i(i){let a=e.get(i);if(a===void 0){if(r!==bf)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Hi;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return xf(t,n).unknown(r)},yf.apply(i,arguments),i}function Sf(){var e=xf().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=ua(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return Sf(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},yf.apply(d(),arguments)}function Cf(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return Cf(t())},e}function wf(){return Cf(Sf.apply(null,arguments).paddingInner(1))}function Tf(e){return function(){return e}}function Ef(e){return+e}var Df=[0,1];function Of(e){return e}function kf(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Tf(isNaN(t)?NaN:.5)}function Af(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function jf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=kf(i,r),a=n(o,a)):(r=kf(r,i),a=n(a,o)),function(e){return a(r(e))}}function Mf(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=kf(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=zi(e,t,1,r)-1;return a[n](i[n](t))}}function Nf(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Pf(){var e=Df,t=Df,n=Lc,r,i,a,o=Of,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==Of&&(o=Af(e[0],e[n-1])),s=n>2?Mf:jf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Ac))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Ef),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Rc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Of,u()):o!==Of},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function Ff(){return Pf()(Of,Of)}function If(e,t,n,r){var i=sa(e,t,n),a;switch(r=ef(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=_f(i,o))&&(r.precision=a),mf(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=vf(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=gf(i))&&(r.precision=a-(r.type===`%`)*2)}return pf(r)}function Lf(e){var t=e.domain;return e.ticks=function(e){var n=t();return aa(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return If(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=oa(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Rf(){var e=Ff();return e.copy=function(){return Nf(e,Rf())},yf.apply(e,arguments),Lf(e)}function zf(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function Bf(e){return Math.log(e)}function Vf(e){return Math.exp(e)}function Hf(e){return-Math.log(-e)}function Uf(e){return-Math.exp(-e)}function Wf(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function Gf(e){return e===10?Wf:e===Math.E?Math.exp:t=>e**+t}function Kf(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function qf(e){return(t,n)=>-e(-t,n)}function Jf(e){let t=e(Bf,Vf),n=t.domain,r=10,i,a;function o(){return i=Kf(r),a=Gf(r),n()[0]<0?(i=qf(i),a=qf(a),e(Hf,Uf)):e(Bf,Vf),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=aa(o,s,p))}else m=aa(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=ef(n)).precision==null&&(n.trim=!0),n=pf(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(zf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Yf(){let e=Jf(Pf()).domain([1,10]);return e.copy=()=>Nf(e,Yf()).base(e.base()),yf.apply(e,arguments),e}function Xf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Zf(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Qf(e){var t=1,n=e(Xf(t),Zf(t));return n.constant=function(n){return arguments.length?e(Xf(t=+n),Zf(t)):t},Lf(n)}function $f(){var e=Qf(Pf());return e.copy=function(){return Nf(e,$f()).constant(e.constant())},yf.apply(e,arguments)}function ep(e){return function(t){return t<0?-((-t)**+e):t**+e}}function tp(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function np(e){return e<0?-e*e:e*e}function rp(e){var t=e(Of,Of),n=1;function r(){return n===1?e(Of,Of):n===.5?e(tp,np):e(ep(n),ep(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},Lf(t)}function ip(){var e=rp(Pf());return e.copy=function(){return Nf(e,ip()).exponent(e.exponent())},yf.apply(e,arguments),e}function ap(){return ip.apply(null,arguments).exponent(.5)}var op=new Date,sp=new Date;function cp(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>cp(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(op.setTime(+t),sp.setTime(+r),e(op),e(sp),Math.floor(n(op,sp))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var lp=6e4,up=lp*60*24,dp=up*7;up*30,up*365;var fp=cp(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*lp)/up,e=>e.getDate()-1);fp.range;var pp=cp(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/up,e=>e.getUTCDate()-1);pp.range,cp(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/up,e=>Math.floor(e/up)).range;function mp(e){return cp(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*lp)/dp)}var hp=mp(0),gp=mp(1),_p=mp(2),vp=mp(3),yp=mp(4),bp=mp(5),xp=mp(6);hp.range,gp.range,_p.range,vp.range,yp.range,bp.range,xp.range;function Sp(e){return cp(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/dp)}var Cp=Sp(0),wp=Sp(1),Tp=Sp(2),Ep=Sp(3),Dp=Sp(4),Op=Sp(5),kp=Sp(6);Cp.range,wp.range,Tp.range,Ep.range,Dp.range,Op.range,kp.range;var Ap=cp(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Ap.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:cp(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Ap.range;var jp=cp(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());jp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:cp(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),jp.range;function Mp(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Np(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Pp(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Fp(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Hp(i),u=Up(i),d=Hp(a),f=Up(a),p=Hp(o),m=Up(o),h=Hp(s),g=Up(s),_=Hp(c),v=Up(c),y={a:N,A:P,b:F,B:I,c:null,d:um,e:um,f:hm,g:Em,G:Om,H:dm,I:fm,j:pm,L:mm,m:gm,M:_m,p:L,q:R,Q:Zm,s:Qm,S:vm,u:ym,U:bm,V:Sm,w:Cm,W:wm,x:null,X:null,y:Tm,Y:Dm,Z:km,"%":Xm},b={a:z,A:B,b:V,B:H,c:null,d:Am,e:Am,f:Fm,g:Km,G:Jm,H:jm,I:Mm,j:Nm,L:Pm,m:Im,M:Lm,p:ee,q:U,Q:Zm,s:Qm,S:Rm,u:zm,U:Bm,V:Hm,w:Um,W:Wm,x:null,X:null,y:Gm,Y:qm,Z:Ym,"%":Xm},x={a:E,A:D,b:O,B:k,c:A,d:em,e:em,f:om,g:Xp,G:Yp,H:nm,I:nm,j:tm,L:am,m:$p,M:rm,p:T,q:Qp,Q:cm,s:lm,S:im,u:Gp,U:Kp,V:qp,w:Wp,W:Jp,x:j,X:M,y:Xp,Y:Yp,Z:Zp,"%":sm};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=Ip[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=Pp(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=Np(Pp(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?wp.ceil(a):wp(a),a=pp.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Mp(Pp(r.y,0,1)),o=a.getDay(),a=o>4||o===0?gp.ceil(a):gp(a),a=fp.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?Np(Pp(r.y,0,1)).getUTCDay():Mp(Pp(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,Np(r)):Mp(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in Ip?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function U(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var Ip={"-":``,_:` `,0:`0`},Lp=/^\s*\d+/,Rp=/^%/,zp=/[\\^$*+?|[\]().{}]/g;function Bp(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Vp(e){return e.replace(zp,`\\$&`)}function Hp(e){return RegExp(`^(?:`+e.map(Vp).join(`|`)+`)`,`i`)}function Up(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Wp(e,t,n){var r=Lp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Gp(e,t,n){var r=Lp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Kp(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function qp(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Jp(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Yp(e,t,n){var r=Lp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Xp(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Zp(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Qp(e,t,n){var r=Lp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function $p(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function em(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function tm(e,t,n){var r=Lp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function nm(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function rm(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function im(e,t,n){var r=Lp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function am(e,t,n){var r=Lp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function om(e,t,n){var r=Lp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function sm(e,t,n){var r=Rp.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function cm(e,t,n){var r=Lp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function lm(e,t,n){var r=Lp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function um(e,t){return Bp(e.getDate(),t,2)}function dm(e,t){return Bp(e.getHours(),t,2)}function fm(e,t){return Bp(e.getHours()%12||12,t,2)}function pm(e,t){return Bp(1+fp.count(Ap(e),e),t,3)}function mm(e,t){return Bp(e.getMilliseconds(),t,3)}function hm(e,t){return mm(e,t)+`000`}function gm(e,t){return Bp(e.getMonth()+1,t,2)}function _m(e,t){return Bp(e.getMinutes(),t,2)}function vm(e,t){return Bp(e.getSeconds(),t,2)}function ym(e){var t=e.getDay();return t===0?7:t}function bm(e,t){return Bp(hp.count(Ap(e)-1,e),t,2)}function xm(e){var t=e.getDay();return t>=4||t===0?yp(e):yp.ceil(e)}function Sm(e,t){return e=xm(e),Bp(yp.count(Ap(e),e)+(Ap(e).getDay()===4),t,2)}function Cm(e){return e.getDay()}function wm(e,t){return Bp(gp.count(Ap(e)-1,e),t,2)}function Tm(e,t){return Bp(e.getFullYear()%100,t,2)}function Em(e,t){return e=xm(e),Bp(e.getFullYear()%100,t,2)}function Dm(e,t){return Bp(e.getFullYear()%1e4,t,4)}function Om(e,t){var n=e.getDay();return e=n>=4||n===0?yp(e):yp.ceil(e),Bp(e.getFullYear()%1e4,t,4)}function km(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Bp(t/60|0,`0`,2)+Bp(t%60,`0`,2)}function Am(e,t){return Bp(e.getUTCDate(),t,2)}function jm(e,t){return Bp(e.getUTCHours(),t,2)}function Mm(e,t){return Bp(e.getUTCHours()%12||12,t,2)}function Nm(e,t){return Bp(1+pp.count(jp(e),e),t,3)}function Pm(e,t){return Bp(e.getUTCMilliseconds(),t,3)}function Fm(e,t){return Pm(e,t)+`000`}function Im(e,t){return Bp(e.getUTCMonth()+1,t,2)}function Lm(e,t){return Bp(e.getUTCMinutes(),t,2)}function Rm(e,t){return Bp(e.getUTCSeconds(),t,2)}function zm(e){var t=e.getUTCDay();return t===0?7:t}function Bm(e,t){return Bp(Cp.count(jp(e)-1,e),t,2)}function Vm(e){var t=e.getUTCDay();return t>=4||t===0?Dp(e):Dp.ceil(e)}function Hm(e,t){return e=Vm(e),Bp(Dp.count(jp(e),e)+(jp(e).getUTCDay()===4),t,2)}function Um(e){return e.getUTCDay()}function Wm(e,t){return Bp(wp.count(jp(e)-1,e),t,2)}function Gm(e,t){return Bp(e.getUTCFullYear()%100,t,2)}function Km(e,t){return e=Vm(e),Bp(e.getUTCFullYear()%100,t,2)}function qm(e,t){return Bp(e.getUTCFullYear()%1e4,t,4)}function Jm(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Dp(e):Dp.ceil(e),Bp(e.getUTCFullYear()%1e4,t,4)}function Ym(){return`+0000`}function Xm(){return`%`}function Zm(e){return+e}function Qm(e){return Math.floor(e/1e3)}var $m,eh;th({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 th(e){return $m=Fp(e),eh=$m.format,$m.parse,$m.utcFormat,$m.utcParse,$m}function nh(e){return function(){return e}}var rh=Math.abs,ih=Math.atan2,ah=Math.cos,oh=Math.max,sh=Math.min,ch=Math.sin,lh=Math.sqrt,uh=Math.PI,dh=uh/2,fh=2*uh;function ph(e){return e>1?0:e<-1?uh:Math.acos(e)}function mh(e){return e>=1?dh:e<=-1?-dh:Math.asin(e)}function hh(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new qu(t)}function gh(e){return e.innerRadius}function _h(e){return e.outerRadius}function vh(e){return e.startAngle}function yh(e){return e.endAngle}function bh(e){return e&&e.padAngle}function xh(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function Sh(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/lh(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*lh(oh(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function Ch(){var e=gh,t=_h,n=nh(0),r=null,i=vh,a=yh,o=bh,s=null,c=hh(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-dh,m=a.apply(this,arguments)-dh,h=rh(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>fh-1e-12)s.moveTo(f*ah(p),f*ch(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*ah(m),d*ch(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):lh(d*d+f*f)),T=sh(rh(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=mh(w/d*ch(C)),j=mh(w/f*ch(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*ah(_),N=f*ch(_),P=d*ah(b),F=d*ch(b);if(T>1e-12){var I=f*ah(v),L=f*ch(v),R=d*ah(y),z=d*ch(y),B;if(h<uh){if(B=xh(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],U=L-B[1],te=1/ch(ph((V*ee+H*U)/(lh(V*V+H*H)*lh(ee*ee+U*U)))/2),ne=lh(B[0]*B[0]+B[1]*B[1]);E=sh(T,(d-ne)/(te-1)),D=sh(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=Sh(R,z,M,N,f,D,g),k=Sh(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,ih(O.y01,O.x01),ih(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,ih(O.y01,O.x01),ih(O.y11,O.x11),!g),s.arc(0,0,f,ih(O.cy+O.y11,O.cx+O.x11),ih(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,ih(k.y11,k.x11),ih(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=Sh(P,F,I,L,d,-E,g),k=Sh(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,ih(O.y01,O.x01),ih(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,ih(O.y01,O.x01),ih(O.y11,O.x11),!g),s.arc(0,0,d,ih(O.cy+O.y11,O.cx+O.x11),ih(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,ih(k.y11,k.x11),ih(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-uh/2;return[ah(r)*n,ch(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:nh(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:nh(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:nh(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:nh(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:nh(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:nh(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:nh(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function wh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Th(e){this._context=e}Th.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function Eh(e){return new Th(e)}function Dh(e){return e[0]}function Oh(e){return e[1]}function kh(e,t){var n=nh(!0),r=null,i=Eh,a=null,o=hh(s);e=typeof e==`function`?e:e===void 0?Dh:nh(e),t=typeof t==`function`?t:t===void 0?Oh:nh(t);function s(s){var c,l=(s=wh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:nh(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:nh(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:nh(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Ah(e,t,n){var r=null,i=nh(!0),a=null,o=Eh,s=null,c=hh(l);e=typeof e==`function`?e:e===void 0?Dh:nh(+e),t=typeof t==`function`?t:nh(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Oh:nh(+n);function l(l){var u,d,f,p=(l=wh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return kh().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:nh(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:nh(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:nh(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:nh(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:nh(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:nh(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:nh(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function jh(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function Mh(e){return e}function Nh(){var e=Mh,t=jh,n=null,r=nh(0),i=nh(fh),a=nh(0);function o(o){var s,c=(o=wh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(fh,Math.max(-fh,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:nh(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:nh(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:nh(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:nh(+e),o):a},o}var Ph={draw(e,t){let n=lh(t/uh);e.moveTo(n,0),e.arc(0,0,n,0,fh)}},Fh={draw(e,t){let n=lh(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},Ih=lh(1/3),Lh=Ih*2,Rh={draw(e,t){let n=lh(t/Lh),r=n*Ih;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},zh={draw(e,t){let n=lh(t),r=-n/2;e.rect(r,r,n,n)}},Bh=.8908130915292852,Vh=ch(uh/10)/ch(7*uh/10),Hh=ch(fh/10)*Vh,Uh=-ah(fh/10)*Vh,Wh={draw(e,t){let n=lh(t*Bh),r=Hh*n,i=Uh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=fh*t/5,o=ah(a),s=ch(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},Gh=lh(3),Kh={draw(e,t){let n=-lh(t/(Gh*3));e.moveTo(0,n*2),e.lineTo(-Gh*n,-n),e.lineTo(Gh*n,-n),e.closePath()}},qh=lh(3),Jh={draw(e,t){let n=lh(t)*.6824,r=n/2,i=n*qh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Yh(e,t){let n=null,r=hh(i);e=typeof e==`function`?e:nh(e||Ph),t=typeof t==`function`?t:nh(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:nh(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:nh(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Xh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Zh(e){this._context=e}Zh.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:Xh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);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:Xh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Qh(e){return new Zh(e)}function $h(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function eg(e,t){this._context=e,this._k=(1-t)/6}eg.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:$h(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:$h(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var tg=(function e(t){function n(e){return new eg(e,t)}return n.tension=function(t){return e(+t)},n})(0);function ng(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function rg(e,t){this._context=e,this._alpha=t}rg.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)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:ng(this,e,t)}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=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ig=(function e(t){function n(e){return t?new rg(e,t):new eg(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function ag(e){return e<0?-1:1}function og(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(ag(a)+ag(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function sg(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function cg(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function lg(e){this._context=e}lg.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:cg(this,this._t0,sg(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,cg(this,sg(this,n=og(this,e,t)),n);break;default:cg(this,this._t0,n=og(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(lg.prototype).point=function(e,t){lg.prototype.point.call(this,t,e)};function ug(e){return new lg(e)}function dg(e,t){this._context=e,this._t=t}dg.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function fg(e){return new dg(e,.5)}function pg(e){return new dg(e,0)}function mg(e){return new dg(e,1)}function hg(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function gg(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function _g(e,t){return e[t]}function vg(e){let t=[];return t.key=e,t}function yg(){var e=nh([]),t=gg,n=hg,r=_g;function i(i){var a=Array.from(e.apply(this,arguments),vg),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=wh(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:nh(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:nh(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?gg:typeof e==`function`?e:nh(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??hg,i):n},i}function bg(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function xg(e,t,n){this.k=e,this.x=t,this.y=n}xg.prototype={constructor:xg,scale:function(e){return e===1?this:new xg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new xg(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var Sg=new xg(1,0,0);Cg.prototype=xg.prototype;function Cg(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Sg;return e.__zoom}function wg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var Tg=class{properties=new Map;define(e,t){wg(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return wg(t,`config "${e}" is not defined`),t}},Eg=[`update`,`enter`,`merge`,`exit`],Dg=new Set([...Eg,...Eg.map(e=>`${e}:transition`)]);function Og(e){return Dg.has(e)}function kg(e){wg(Og(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...Dg].join(`, `)}`)}function Ag(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return Eg.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function jg(e,t){for(let n of t)n(e)}function Mg(e,t){return t.map(t=>{let n=e.transition();return t(n),Ng(n)})}function Ng(e){return e.end().then(()=>void 0,()=>void 0)}var Pg=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){kg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(kg(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=Ag(t,this.insertFn(n),this.handlers),i=[];for(let e of r){jg(e.selection,e.handlers);let t=Mg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function Fg(e,t,n,r){if(n&&r){let i=new Pg(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function Ig(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function Lg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function Rg(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var zg=[`preDraw`,`postDraw`,`postTransition`],Bg=class{base;layers=new Map;attachments=new Map;configs=new Tg;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=ka(...zg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return Fg(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return Ig(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=Lg(this.layers,t),r=Rg(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},Vg=class extends Bg{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,e.download&&(t.download=e.download),this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,e.download&&(t.download=e.download),this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function Hg(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function Ug(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),e.getTheData&&e.data&&t.push({tag:`span`,className:`bc-frame-get-the-data`,text:`Get the data`,href:`data:text/csv;charset=utf-8,${encodeURIComponent(Wg(e.data))}`,download:`data.csv`}),t}function Wg(e){let t=e.series??[{name:`Value`,values:e.values}],n=e.textColumns??[];return qd([[`Label`,...t.map(e=>e.name),...n.map(e=>e.name)],...e.labels.map((e,r)=>[e,...t.map(e=>e.values[r]),...n.map(e=>e.values[r])].map(e=>String(e??``)))])}function Gg(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var Kg=80,qg=`.bc-frame-title, .bc-frame-description`;function Jg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Yg(e){e.querySelectorAll(qg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Xg(e,t){let n=[...e.querySelectorAll(qg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Jg(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function Zg(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function Qg(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new Vg(Q(e)).draw({headerItems:Hg(n),footerLeftItems:Ug(n),footerRightItems:Gg()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=Zg(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){Yg(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-Kg;t>l&&(Xg(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function $g(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function e_(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:$g(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:$g(e),suffix:``}}function t_(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=e_(e);if(!n)return null;let i=pf(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function n_(e,t){return(t_(t??``)??String)(e)}function r_(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var i_=`http://www.w3.org/2000/svg`,a_=`system-ui, -apple-system, sans-serif`,o_=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,s_=1,c_=.5,l_=null,u_=null;function d_(e,t){let n=0;for(let t of e)n+=o_.test(t)?s_:c_;return n*t}function f_(){if(typeof document>`u`)return null;if(u_!==document){u_=document;try{l_=document.createElement(`canvas`).getContext(`2d`)}catch{l_=null}}return l_}function p_(e,t){let n=f_();if(!n)return null;n.font=`${t}px ${a_}`;let r=n.measureText(e).width;return r>0?r:null}function m_(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(i_,`svg`),r=document.createElementNS(i_,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function h_(e,t){if(e===``)return 0;let n=p_(e,t)??m_(e,t)??0;return Math.max(n,d_(e,t))}function g_(e,t){let n=0;for(let r of e){let e=h_(r,t);e>n&&(n=e)}return n}function __(e,t,n,r=`…`){if(h_(e,n)<=t)return e;let i=[...e],a=h_(r,n),o=i.length;for(;o>1&&h_(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function v_(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var y_={top:12,right:20,bottom:24,left:50},b_=10,x_=.25;function S_(e,t,n){let r=t+n,i=e*x_;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var C_=class extends Bg{initialize(){this.configDefine(`totalWidth`,{defaultValue:600}),this.configDefine(`totalHeight`,{defaultValue:400}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},w_=400,T_=2,E_=2,D_=9;function O_(e,t,n,r){let[i,a]=ji(e,t,r);return k_(r===`log`?$f().domain([i,a]).nice():Rf().domain([i,a]).nice(),n)}function k_(e,t){let n=e.ticks(),r=t?t_(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(g_(i,b_))+E_+D_}function A_(e){return e.length===0?0:Math.ceil(g_(e,b_))+E_+D_}function j_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<w_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?T_:f?0:s):(o.right=a===!1?0:15,o.left=d?T_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function M_(e,t){return parseFloat(e.dataset[t]??``)||0}function N_(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0&&(Math.abs(t.width-e.offsetWidth)>=1||Math.abs(t.height-e.offsetHeight)>=1),r=n?e.clientWidth:t.width,i=n?e.clientHeight:t.height,a=getComputedStyle(e),o=r-(parseFloat(a.paddingLeft)||0)-(parseFloat(a.paddingRight)||0),s=i-(parseFloat(a.paddingTop)||0)-(parseFloat(a.paddingBottom)||0);return{width:o>0?o:M_(e,`bcContentWidth`),height:s>0?s:M_(e,`bcContentHeight`)}}function P_(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,kr(n)),e.insertBefore(r,e.firstChild)}function F_(e,t){let n={...y_,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=N_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=S_(a,n.left,n.right),[n.top,n.bottom]=S_(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new C_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return P_(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function I_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var L_=0;function R_(e){L_=e?500:0}function z_(){return I_(L_)}function B_(e,t){let n=I_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function V_(e,t){let n=I_(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function H_(e,t,n){let r=I_(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var U_=60,W_=10,G_=8,K_=16,q_=10,J_=1.3,Y_=12,X_=3,Z_=14,Q_=10;function $_(e,t,n=X_){if(e===``)return[``];if(e.length*q_<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*q_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*q_<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var ev={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function tv(e){return typeof e.step==`function`}function nv(e,t){let n=Ei(t);if(e&&e.includes(`%`)){if(n){let r=eh(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:t_(e)??pf(e);if(n){let e=eh(ev[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function rv(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*q_;e>n&&(n=e)}return n}function iv(e,t){return e.map(e=>t?t(e):String(e))}function av(e,t){let n=Math.max(K_,Math.ceil(e)+G_);return Math.max(2,Math.floor(t/n))}function ov(e,t,n){if(e.length<=1)return e;let r=av(g_(iv(e,n??null),W_),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function sv(e,t,n){let r=Math.max(2,Math.floor(t/U_));for(;r>2;){let i=iv(e.ticks(r),n??e.tickFormat(r)),a=av(g_(i,W_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function cv(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!Ei(e)&&rv(e,r??null)>t/e.length*J_}function lv(e,t){if(e.length===0)return 0;let n=rv(e,t??null);return Math.ceil(n)+Y_}function uv(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*Z_+Q_}function dv(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:nv(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||Ei(e)===null)&&e.length>1){let n=t/e.length*J_,o=rv(e,i)>n;if(a!==`vertical`&&o){let t=fv(e,n,i);if(t){let e=uv(Array.from(t.values()));return e>r?e:void 0}}}if(!cv(e,t,a,i))return;let o=lv(e,i);return o>r?o:void 0}function fv(e,t,n){let r=new Map,i=!1;for(let a of e){let e=$_(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function pv(e,t){e.selectAll(`.tick`).each(function(){let e=Q(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var mv=class extends Bg{initialize(){this.configDefine(`scale`,{defaultValue:Sf()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?wa(n):Ea(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||nv(l,u);p&&f.tickFormat(p);let m=tv(r),h=m?r.domain():[],g=m&&s!==`vertical`&&Ei(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*J_,t=rv(h,p)>e;s===`vertical`?v=!0:t&&(_=fv(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=ov(h,c,p);e.length<h.length&&(b=e)}}else{let e=Mi(r,Math.max(2,Math.floor(c/U_)));e?b=e:f.ticks(sv(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?z_():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):Q(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=S?Q(S):e,T=C>0?e:w;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);T.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&T.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?T.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(T.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&hv(T,c)),_&&y!==`off`&&pv(T,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&gv(n,e,t)}};function hv(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=h_(i.textContent??``,W_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function gv(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,_v[t]??null)})}var _v={dashed:`4,4`,dotted:`1,3`};function vv(e,t,n,r={},i){let a=new mv(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=tv(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var yv=30;function bv(e){return typeof e.bandwidth==`function`}var xv=class extends Bg{initialize(){this.configDefine(`scale`,{defaultValue:Rf()}),this.configDefine(`direction`,{defaultValue:Vr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Ur.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:Wr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===Vr.Right?Ta(t):Da(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/yv)),n=Mi(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!bv(t)?t_(e):null;n&&c.tickFormat(n)}let d=z_(),f=e.node();if(f){d>0?e.duration(d).call(c):Q(f).call(c),r||Q(f).select(`.domain`).remove(),i||Q(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===Wr.Auto?o>0&&o<400?Wr.Inside:Wr.Outside:a;if(t===Wr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):Q(f).selectAll(`.tick text`);Q(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Vr.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===Wr.Off&&Q(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===Vr.Right?Ta(t):Da(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/yv)),n=Mi(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!bv(t)?t_(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===Wr.Auto?i>0&&i<400?Wr.Inside:Wr.Outside:r;if(f===Wr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Vr.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===Vr.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===Wr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&Cv(r,e,n===Vr.Right?-t:t)}},Sv={[Ur.Dashed]:`4,4`,[Ur.Dotted]:`1,3`};function Cv(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Ur.None||n===0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,Sv[t]??null)})}function wv(e){return typeof e.step==`function`}var Tv=new WeakMap,Ev=new WeakMap;function Dv(e,t){let n=Ev.get(e);Ev.set(e,t),n!==void 0&&n!==t&&Tv.get(e)?.destroy()}var Ov=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=Tv.get(t);return n||(n=new e(t),Tv.set(t,n)),n}static clear(e){Tv.delete(e)}detach(){this.vGroup?.parentNode&&(Q(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&(Q(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new xv(Q(this.vGroup)),this.hChart=new mv(Q(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])Q(e).interrupt(),e.removeAttribute(`transform`),Q(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=z_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Ac(e,0),r=Ac(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=wv(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,Tv.delete(this.container)}},kv=Math.min,Av=Math.max,jv=Math.round,Mv=e=>({x:e,y:e}),Nv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Pv(e,t,n){return Av(e,kv(t,n))}function Fv(e,t){return typeof e==`function`?e(t):e}function Iv(e){return e.split(`-`)[0]}function Lv(e){return e.split(`-`)[1]}function Rv(e){return e===`x`?`y`:`x`}function zv(e){return e===`y`?`height`:`width`}function Bv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Vv(e){return Rv(Bv(e))}function Hv(e,t,n){n===void 0&&(n=!1);let r=Lv(e),i=Vv(e),a=zv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Zv(o)),[o,Zv(o)]}function Uv(e){let t=Zv(e);return[Wv(e),t,Wv(t)]}function Wv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Gv=[`left`,`right`],Kv=[`right`,`left`],qv=[`top`,`bottom`],Jv=[`bottom`,`top`];function Yv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Kv:Gv:t?Gv:Kv;case`left`:case`right`:return t?qv:Jv;default:return[]}}function Xv(e,t,n,r){let i=Lv(e),a=Yv(Iv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Wv)))),a}function Zv(e){let t=Iv(e);return Nv[t]+e.slice(t.length)}function Qv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function $v(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Qv(e)}function ey(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ty(e,t,n){let{reference:r,floating:i}=e,a=Bv(t),o=Vv(t),s=zv(o),c=Iv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Lv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function ny(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Fv(t,e),p=$v(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ey(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ey(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ry=50,iy=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ny},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ty(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ry&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ty(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ay=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Fv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Iv(r),_=Bv(o),v=Iv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Zv(o)]:Uv(o)),x=p!==`none`;!d&&x&&b.push(...Xv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Hv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Bv(t)||T.every(e=>Bv(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Bv(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},oy=new Set([`left`,`top`]);async function sy(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Iv(n),s=Lv(n),c=Bv(n)===`y`,l=oy.has(o)?-1:1,u=a&&c?-1:1,d=Fv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var cy=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await sy(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ly=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Fv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Bv(i),p=Rv(f),m=u[p],h=u[f],g=(e,t)=>Pv(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function uy(){return typeof window<`u`}function dy(e){return my(e)?(e.nodeName||``).toLowerCase():`#document`}function fy(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function py(e){return((my(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function my(e){return uy()?e instanceof Node||e instanceof fy(e).Node:!1}function hy(e){return uy()?e instanceof Element||e instanceof fy(e).Element:!1}function gy(e){return uy()?e instanceof HTMLElement||e instanceof fy(e).HTMLElement:!1}function _y(e){return!uy()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof fy(e).ShadowRoot}function vy(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ky(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function yy(e){return/^(table|td|th)$/.test(dy(e))}function by(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var xy=/transform|translate|scale|rotate|perspective|filter/,Sy=/paint|layout|strict|content/,Cy=e=>!!e&&e!==`none`,wy;function Ty(e){let t=hy(e)?ky(e):e;return Cy(t.transform)||Cy(t.translate)||Cy(t.scale)||Cy(t.rotate)||Cy(t.perspective)||!Dy()&&(Cy(t.backdropFilter)||Cy(t.filter))||xy.test(t.willChange||``)||Sy.test(t.contain||``)}function Ey(e){let t=jy(e);for(;gy(t)&&!Oy(t);){if(Ty(t))return t;if(by(t))return null;t=jy(t)}return null}function Dy(){return wy??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),wy}function Oy(e){return/^(html|body|#document)$/.test(dy(e))}function ky(e){return fy(e).getComputedStyle(e)}function Ay(e){return hy(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function jy(e){if(dy(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||_y(e)&&e.host||py(e);return _y(t)?t.host:t}function My(e){let t=jy(e);return Oy(t)?(e.ownerDocument||e).body:gy(t)&&vy(t)?t:My(t)}function Ny(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=My(e),i=r===e.ownerDocument?.body,a=fy(r);if(i){let e=Py(a);return t.concat(a,a.visualViewport||[],vy(r)?r:[],e&&n?Ny(e):[])}return t.concat(r,Ny(r,[],n))}function Py(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Fy(e){let t=ky(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=gy(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=jv(n)!==a||jv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Iy(e){return hy(e)?e:e.contextElement}function Ly(e){let t=Iy(e);if(!gy(t))return Mv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Fy(t),o=(a?jv(n.width):n.width)/r,s=(a?jv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ry=Mv(0);function zy(e){let t=fy(e);return!Dy()||!t.visualViewport?Ry:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function By(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===fy(e)}function Vy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Iy(e),o=Mv(1);t&&(r?hy(r)&&(o=Ly(r)):o=Ly(e));let s=By(a,n,r)?zy(a):Mv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=fy(a),t=hy(r)?fy(r):r,n=e,i=Py(n);for(;i&&t!==n;){let e=Ly(i),t=i.getBoundingClientRect(),r=ky(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=fy(i),i=Py(n)}}return ey({width:u,height:d,x:c,y:l})}function Hy(e,t){let n=Ay(e).scrollLeft;return t?t.left+n:Vy(py(e)).left+n}function Uy(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Hy(e,n),y:n.top+t.scrollTop}}function Wy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=py(r),s=t?by(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Mv(1),u=Mv(0),d=gy(r);if((d||!a)&&((dy(r)!==`body`||vy(o))&&(c=Ay(r)),d)){let e=Vy(r);l=Ly(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Uy(o,c):Mv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Gy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Ky(e){let t=Ay(e),n=e.ownerDocument.body,r=Av(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Av(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Hy(e),o=-t.scrollTop;return ky(n).direction===`rtl`&&(a+=Av(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var qy=25;function Jy(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=fy(e),a=py(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Dy()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Hy(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=qy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Yy(e,t){let n=Vy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Ly(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Xy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Jy(e,n,t);else if(t===`document`)r=Ky(py(e));else if(hy(t))r=Yy(t,n);else{let n=zy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ey(r)}function Zy(e,t){let n=t.get(e);if(n)return n;let r=Ny(e,[],!1).filter(e=>hy(e)&&dy(e)!==`body`),i=null,a=ky(e).position===`fixed`,o=a?jy(e):e;for(;hy(o)&&!Oy(o);){let e=ky(o),t=Ty(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=jy(o)}return t.set(e,r),r}function Qy(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?by(t)?[]:Zy(t,this._c):[].concat(n),r],o=Xy(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Xy(t,a[e],i);s=Av(n.top,s),c=kv(n.right,c),l=kv(n.bottom,l),u=Av(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function $y(e){let{width:t,height:n}=Fy(e);return{width:t,height:n}}function eb(e,t,n){let r=gy(t),i=py(t),a=n===`fixed`,o=Vy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Mv(0);if((r||!a)&&((dy(t)!==`body`||vy(i))&&(s=Ay(t)),r)){let e=Vy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Hy(i));let l=i&&!r&&!a?Uy(i,s):Mv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function tb(e){return ky(e).position===`static`}function nb(e,t){if(!gy(e)||ky(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return py(e)===n&&(n=n.ownerDocument.body),n}function rb(e,t){let n=fy(e);if(by(e))return n;if(!gy(e)){let t=jy(e);for(;t&&!Oy(t);){if(hy(t)&&!tb(t))return t;t=jy(t)}return n}let r=nb(e,t);for(;r&&yy(r)&&tb(r);)r=nb(r,t);return r&&Oy(r)&&tb(r)&&!Ty(r)?n:r||Ey(e)||n}var ib=async function(e){let t=this.getOffsetParent||rb,n=this.getDimensions,r=await n(e.floating);return{reference:eb(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function ab(e){return ky(e).direction===`rtl`}var ob={convertOffsetParentRelativeRectToViewportRelativeRect:Wy,getDocumentElement:py,getClippingRect:Qy,getOffsetParent:rb,getElementRects:ib,getClientRects:Gy,getDimensions:$y,getScale:Ly,isElement:hy,isRTL:ab},sb=cy,cb=ly,lb=ay,ub=(e,t,n)=>{let r=new Map,i=n??{},a={...ob,...i.platform,_c:r};return iy(e,t,{...i,platform:a})},db=`bc-tooltip`;function fb(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
320
+ .${db} {
316
321
  position: absolute;
317
322
  pointer-events: none;
318
323
  background: var(--bs-body-bg, #fff);
@@ -327,10 +332,10 @@ body {
327
332
  z-index: 9999;
328
333
  display: none;
329
334
  }
330
- `,document.head.appendChild(e)}function qy(e){let t=e?Ig(e):null,n=e=>typeof e==`number`&&t?t(e):String(e);return e=>{if(e&&typeof e==`object`){if(`data`in e&&typeof e.data==`number`)return n(e.data);let t=e,r=typeof t.series==`string`?t.series:typeof t.seriesName==`string`?t.seriesName:null;if(r!==null&&`label`in t&&`value`in t)return`${r} – ${t.label}: ${n(t.value)}`;if(`label`in t&&`value`in t)return`${t.label}: ${n(t.value)}`;if(`series`in t&&`value`in t)return`${t.series}: ${n(t.value)}`;if(`value`in t)return n(t.value)}return String(e)}}function Jy(e){let t=e?.format??qy(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){Ky(),n=document.createElement(`div`),n.className=Gy,document.body.appendChild(n)},postDraw(e){e.base.selectAll(`.bc-bar, .bc-dot, .bc-arc`).each(function(){let e=this,i=()=>{if(!n)return;let r=Q(e).datum();n.textContent=t(r),n.style.display=`block`,Wy(e,n,{placement:`top`,middleware:[Vy(8),Uy(),Hy()]}).then(({x:e,y:t})=>{n&&(n.style.left=`${e}px`,n.style.top=`${t}px`)})},a=()=>{n&&(n.style.display=`none`)};e.addEventListener(`mouseenter`,i),e.addEventListener(`mouseleave`,a),r.push(()=>{e.removeEventListener(`mouseenter`,i),e.removeEventListener(`mouseleave`,a)})})},destroy(){for(let e of r)e();r.length=0,n&&=(n.remove(),null)}}}function Yy(e){switch(e){case oi.Solid:return`none`;case oi.Dotted:return`2,2`;case oi.Dashed:default:return`4,3`}}function Xy(e){let t=e?.color??`#999`,n=e?.dashArray??Yy(e?.style),r=e?.direction??ai.Both,i=e?.orientation??Jr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===ai.Both||r===ai.Vertical,d=r===ai.Both||r===ai.Horizontal,f=u?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,l).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null,p=d?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,c).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null;s.selectAll(`.bc-dot, .bc-bar`).each(function(){let e=this,t=()=>{let t=Q(e),n,r;if(e.tagName===`circle`)n=parseFloat(t.attr(`cx`)),r=parseFloat(t.attr(`cy`));else{let e=parseFloat(t.attr(`x`)),a=parseFloat(t.attr(`width`)),o=parseFloat(t.attr(`y`)),s=parseFloat(t.attr(`height`));i===Jr.Horizontal?(n=e+a,r=o+s/2):(n=e+a/2,r=o)}f&&f.attr(`x1`,n).attr(`x2`,n).style(`display`,null),p&&p.attr(`y1`,r).attr(`y2`,r).style(`display`,null)},n=()=>{f&&f.style(`display`,`none`),p&&p.style(`display`,`none`)};e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,n),a.push(()=>{e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,n)})})},destroy(){for(let e of a)e();a.length=0}}}var Zy=`bc-scene`;function Qy(e){let t=e.querySelector(`.bc-annotation-line`);if(!(!t||!t.hasAttribute(`data-line-style`)))return{style:t.getAttribute(`data-line-style`),fromX:parseFloat(t.getAttribute(`data-line-from-x`)||`0`),fromY:parseFloat(t.getAttribute(`data-line-from-y`)||`0`),toX:parseFloat(t.getAttribute(`data-line-to-x`)||`0`),toY:parseFloat(t.getAttribute(`data-line-to-y`)||`0`),departVertical:t.getAttribute(`data-line-depart-vertical`)===`true`}}function $y(e){let t=new Map,n=e.querySelectorAll(`g[data-annotation-id]`);for(let e of n){let n=e.getAttribute(`data-annotation-id`),r=Qy(e);try{let i=e.getBBox();t.set(n,{id:n,element:e,rect:{x:i.x,y:i.y,width:i.width,height:i.height},line:r})}catch{t.set(n,{id:n,element:e,rect:{x:0,y:0,width:0,height:0},line:r})}}return t}var eb={N:{dx:0,dy:-1},NE:{dx:.707,dy:-.707},E:{dx:1,dy:0},SE:{dx:.707,dy:.707},S:{dx:0,dy:1},SW:{dx:-.707,dy:.707},W:{dx:-1,dy:0},NW:{dx:-.707,dy:-.707},center:{dx:0,dy:0}},tb={N:{nx:0,ny:-1},NE:{nx:1,ny:-1},E:{nx:1,ny:0},SE:{nx:1,ny:1},S:{nx:0,ny:1},SW:{nx:-1,ny:1},W:{nx:-1,ny:0},NW:{nx:-1,ny:-1},center:{nx:0,ny:0}};Ur.N,Ur.W,Ur.NE,Ur.NW,Ur.E,Ur.N,Ur.SE,Ur.NE,Ur.S,Ur.E,Ur.SW,Ur.SE,Ur.W,Ur.S,Ur.NW,Ur.SW,Ur.Center,Ur.Center;function nb(e,t){let n=eb[e]??eb.NW;return{dx:n.dx*t,dy:n.dy*t}}function rb(e){return`step`in e&&!(`bandwidth`in e)}function ib(e){if(`bandwidth`in e||rb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function ab(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return rb(e)?e(t)??0:ib(e)?e(new Date(t)):e(Number(t))}function ob(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=tb[e]??tb.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function sb(e,t,n,r,i){if(`bandwidth`in t){let a=t,o=a(e.label)??0,s=a.bandwidth(),c=n(e.value),l=n(0);return i===`horizontal`?ob(r,{left:l,right:c,top:o,bottom:o+s}):ob(r,{left:o,right:o+s,top:c,bottom:l})}return cb({x:e.x===void 0?ab(t,e.label):t(e.x),y:n(e.value)},r)}function cb(e,t){let n=eb[t]??eb.N;return{x:e.x+n.dx*2,y:e.y+n.dy*2}}function lb(e,t,n,r=4){let i=e.x+e.width/2,a=e.y+e.height/2;if(t===i&&n===a)return{x:i,y:a};let o=t>=e.x&&t<=e.x+e.width,s=n>=e.y&&n<=e.y+e.height,c=[];if(o&&(n<a?c.push({x:i,y:e.y-r,dist:Math.abs(a-n)}):c.push({x:i,y:e.y+e.height+r,dist:Math.abs(n-a)})),s&&(t>i?c.push({x:e.x+e.width+r,y:a,dist:Math.abs(t-i)}):c.push({x:e.x-r,y:a,dist:Math.abs(i-t)})),c.length>0){c.sort((e,t)=>e.dist-t.dist);let{x:e,y:t}=c[0];return{x:e,y:t}}let l=[{x:i,y:e.y-r},{x:i,y:e.y+e.height+r},{x:e.x+e.width+r,y:a},{x:e.x-r,y:a}],u=l[0],d=(u.x-t)**2+(u.y-n)**2;for(let e=1;e<l.length;e++){let r=(l[e].x-t)**2+(l[e].y-n)**2;r<d&&(u=l[e],d=r)}return u}function ub(e,t){if(!e)return`bc-arrow`;let n=t??`#666`,r=`bc-arrow-${n.replace(/[^a-zA-Z0-9]/g,``)}`;return e.querySelector(`#${r}`)||(Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`)).append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1 1 L 9 5 L 1 9`).attr(`fill`,`none`).attr(`stroke`,n).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`),r}function db(e){switch(e){case Gr.Dotted:return`2,3`;case Gr.Dashed:return`5,4`;default:return``}}var fb=4,pb=12;function mb(e){return e!==void 0&&e>0?e:fb}function hb(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,mb(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=db(r.style??Gr.Solid);a&&i.attr(`stroke-dasharray`,a)}var gb=1/Math.tan(40*Math.PI/180);function _b(e,t,n){if(n){let n=t.y>=e.y?1:-1,r=Math.max(Math.abs(t.y-e.y)-Math.abs(t.x-e.x)*gb,12);return{x:e.x,y:e.y+n*r}}let r=t.x>=e.x?1:-1,i=Math.max(Math.abs(t.x-e.x)-Math.abs(t.y-e.y)*gb,12);return{x:e.x+r*i,y:e.y}}function vb(e,t,n){let r=_b(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function yb(e,t,n,r=Wr.Direct,i={}){let a;switch(r){case Wr.CurveLeft:case Wr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===Wr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case Wr.Elbow:a=vb(t,n,i.departVertical??!1);break;default:a=`M ${t.x} ${t.y} L ${n.x} ${n.y}`}let o=i.color??`#666`,s=e.append(`path`).attr(`class`,`bc-annotation-line`).attr(`d`,a).attr(`fill`,`none`).attr(`stroke`,o).attr(`stroke-width`,i.lineWeight??1).attr(`pathLength`,`1`).attr(`data-line-style`,r).attr(`data-line-from-x`,String(t.x)).attr(`data-line-from-y`,String(t.y)).attr(`data-line-to-x`,String(n.x)).attr(`data-line-to-y`,String(n.y)).attr(`data-line-depart-vertical`,String(i.departVertical??!1));if(i.showArrow===!0){let t=ub(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function bb(e,t,n,r,i={}){let a=i.textAnchor??`middle`,o=i.textOutline!==!1,s=e.append(`text`).attr(`class`,`bc-annotation-text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,a).attr(`font-size`,`${pb}px`).attr(`fill`,i.textColor??`currentColor`);o&&s.attr(`stroke`,i.backgroundColor??`#fff`).attr(`stroke-width`,3).attr(`paint-order`,`stroke`);let c=t.split(`
331
- `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)xb(s,t,i.maxWidth);else for(let e=0;e<c.length;e++)s.append(`tspan`).attr(`x`,s.attr(`x`)).attr(`dy`,e===0?`0`:`1.2em`).text(c[e])}else s.text(t)}function xb(e,t,n){let r=0,i=t=>{e.append(`tspan`).attr(`x`,e.attr(`x`)).attr(`dy`,r===0?`0`:`1.2em`).text(t),r++};for(let e of t.split(`
332
- `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&Yg(e,pb)>n?(i(t),t=r):t=e;let a=Zg(t,n,pb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=Zg(t,n,pb,``)}i(t)}}function Sb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function Cb(e,t,n=qr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(rb(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(ib(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return Sb(e,t)}function wb(e,t){return Sb(e,t)}function Tb(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function Eb(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function Db(e){return e<-4?`end`:e>4?`start`:`middle`}function Ob(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:ab(t,e.label),y:n(e.value)}}function kb(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.markCenter?.(i),o=n.markCenter?void 0:n.data.find(e=>e.label===i),s=a??(o&&Ob(o,n.scaleX,n.scaleY));if(!s)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=t,d=u.anchorDirection??Ur.N,f=o?sb(o,n.scaleX,n.scaleY,d,n.orientation):cb(s,d),p,m,h=t;if(h.dx!=null||h.dy!=null){let{x:e,y:t}=s;p=e+(Number(h.dx)||40),m=t+(Number(h.dy)||-40)}else if(h.direction!=null&&h.textOffsetX==null){let{x:e,y:t}=s,n=h.direction,r=nb(n,h.anchorDistance??60);p=e+r.dx,m=t+r.dy}else p=f.x+(u.textOffsetX??-42),m=f.y+(u.textOffsetY??-42);let g=t.circleColor??`#666`,_=t;_.showCircle&&hb(c,f.x,f.y,{size:_.circleSize,style:_.circleStyle,color:g});let v=Math.max(4,Math.min(p,n.width-4)),y=Math.max(4,Math.min(m,n.height-4));if(t.text){let e=Db(p-f.x);bb(c,t.text,v,y-4,{textColor:t.textColor,maxWidth:Eb(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(h.dx!=null||h.dy!=null?u.showLine!==!1:u.showLine??u.showArrow===!0){let e={x:v,y},t=!1,r=c.select(`.bc-annotation-text`).node();if(r)try{let n=r.getBBox();if(n.width>0&&n.height>0){e=lb(n,f.x,f.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=u.showCircle?mb(u.circleSize)+(u.lineTargetDistance??5):u.lineTargetDistance??0,o=f.x,s=f.y;if(i>0){let t=f.x-e.x,r=f.y-e.y,c=Math.sqrt(t*t+r*r);if(c>0){let e=f.x-t/c*i,l=f.y-r/c*i,u=!a&&`bandwidth`in n.scaleX,p=eb[d]??eb.N;o=!u||Math.abs(p.dx)>.01?e:f.x,s=!u||Math.abs(p.dy)>.01?l:f.y}}yb(c,e,{x:o,y:s},u.lineStyle??Wr.Direct,{showArrow:u.showArrow,lineWeight:u.lineWeight,color:g,departVertical:t})}}function Ab(e,t,n){let r=(t??qr.Center)===qr.Center?n.markCenter?.(String(e)):void 0;return r?n.orientation===Jr.Horizontal?r.y:r.x:Cb(e,n.scaleX,t)}function jb(e,t,n,r,i){if(t.kind!==Kr.Range)return;let a=(t.orientation??Jr.Vertical)===Jr.Vertical,o=a?Ab(t.start,t.startAnchor,n):wb(t.start,n.scaleY),s=a?Ab(t.end,t.endAnchor,n):wb(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Jr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=Eb(t.maxWidth,n.width)??Math.max(e,50),s=eb[t.direction??`center`]??eb.center,u=.5+s.dx*.5,h=.5+s.dy*.5,g=Math.max(4,Math.min(d+p*u,n.width-4)),_=`middle`;u<.25?_=`start`:u>.75&&(_=`end`);let v=f+4+12,y=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(i&&l&&y.attr(`data-annotation-id`,`${l}:label`),bb(y,t.text,g,v,{textColor:t.textColor,maxWidth:o,textAnchor:_,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),h>.25){let e=y.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=h>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function Mb(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=Tb(t.x,n.width),s=Tb(t.y,n.height);if(t.text){bb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Eb(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function Nb(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function Pb(e,t){let n=e.hasAttribute(`marker-end`),r=Qy(e.parentElement);if(n&&r){let n=Q(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===Wr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(Eu).attrTween(`d`,()=>{let t=Dc(i,e);return e=>{let n=t(e);return Nb(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Wr.CurveLeft||r.style===Wr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===Wr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(Eu).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(Eu).attrTween(`d`,()=>{let e=Ec(r.fromX,r.toX),t=Ec(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),Q(e).transition().duration(t).ease(Eu).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var Fb=1;function Ib(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=Fb&&Math.abs(e.fromY-t.fromY)<=Fb&&Math.abs(e.toX-t.toX)<=Fb&&Math.abs(e.toY-t.toY)<=Fb}function Lb(e,t,n){let r=Qy(e.parentElement);if(!r||Ib(t,r))return;let i=Q(e);if(t.style===Wr.Elbow&&r.style===Wr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,Nb(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(Du).attrTween(`d`,()=>{let t=Dc(e,a);return e=>{let n=t(e);return Nb(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(Du).attrTween(`d`,()=>{let e=Dc(a,s),n=Dc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Wr.Direct||t.style===Wr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===Wr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function Rb(e){let[t,n]=e.tagName===`circle`?[`cx`,`cy`]:[`x`,`y`],r=[Number(e.getAttribute(t)),Number(e.getAttribute(n))];for(let[,t,n]of(e.getAttribute(`transform`)??``).matchAll(/translate\(([^,\s)]+)[,\s]*([^)]*)\)/g))r[0]+=Number(t),r[1]+=Number(n)||0;return r}function zb(e,t,n){let[r,i]=Rb(t),[a,o]=Rb(e),s=r-a,c=i-o;if(Math.abs(s)<=.5&&Math.abs(c)<=.5)return;let l=e.getAttribute(`transform`),u=e=>`translate(${s*e}, ${c*e})${l?` ${l}`:``}`;Q(e).attr(`transform`,u(1)).transition(Zy).duration(n).ease(Du).attrTween(`transform`,()=>e=>u(1-e))}var Bb=[`x`,`y`,`width`,`height`];function Vb(e,t,n){let r=Q(e),i=r.transition(Zy).duration(n).ease(Du);for(let n of Bb)i.attr(n,e.getAttribute(n)),r.attr(n,t.getAttribute(n))}function Hb(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&Lb(t,i.line,r);for(let t of[`.bc-annotation-text`,`.bc-annotation-circle`]){let n=e.querySelector(t),a=i.element.querySelector(t);n&&a&&zb(n,a,r)}let n=e.querySelector(`.bc-annotation-range`),a=i.element.querySelector(`.bc-annotation-range`);n&&a&&Vb(n,a,r)}else{let t=e.querySelector(`.bc-annotation-line`);t&&Pb(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}var Ub=16;function Wb(e){return Array.from(e.querySelectorAll(`*`)).some(e=>Mu(e,Zy))}function Gb(e,t=0){if(!e)return;if(t>0){setTimeout(()=>Gb(e,Wb(e)?Ub:0),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?Q(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):Q(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function Kb(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),ub(r);let i=Q(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of $y(t))a.set(e,n);if(n)for(let[e,t]of $y(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??Kr.Point){case Kr.Point:kb(s,r,n,e);break;case Kr.Range:jb(o,r,n,e,s);break;case Kr.Free:Mb(s,r,n,e)}}let c=0;n.transition&&(c=g_(500),Hb(s.node(),o.node(),a??new Map,c)),Gb(r,c)}function qb(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),ub(i);let a=r.node()?.parentNode,o=a&&a!==i?Q(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of $y(e))c.set(t,n);if(t)for(let[e,n]of $y(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??Kr.Point){case Kr.Point:kb(u,r,t,n);break;case Kr.Range:jb(l,r,t,n,u);break;case Kr.Free:Mb(u,r,t,n)}}let d=0;t.transition&&(d=g_(500),Hb(u.node(),l.node(),c??new Map,d)),Gb(i,d)}}}function Jb(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var Yb=new WeakMap;function Xb(e){return Yb.get(e)}function Zb(e,t){Yb.set(e,t)}var Qb=0,$b=new WeakMap;function ex(e,t,n,r){let i=$b.get(t);i||(i=new Map,$b.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++Qb}`,i.set(n,a));let o=Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var tx=class extends Sg{initialize(){}};function nx(e){return new tx(e)}var rx=500,ix=new Set,ax=new WeakMap;function ox(e){let t=ax.get(e);return t||(t=new cx(e),ax.set(e,t)),t}function sx(e){ax.delete(e)}var cx=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){ix.has(t)||(ix.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??rx,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=Cu(Zy).duration(r).ease(Du);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,Q(this.container).interrupt(Zy),Q(this.container).selectAll(`*`).interrupt(Zy),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),sx(this.container)}};function lx(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function ux(e,t){return e.tagName===t.tagName}function dx(e,t){Q(e).interrupt(Zy);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function fx(e,t){let n=px(e),r=px(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,mx(e)})}}function px(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function mx(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var hx={opacity:0},gx=new Set([`d`,`transform`]),_x=new Set([`stroke-dasharray`]);function vx(e,t){if(e.state===`idle`||e.state===`animating`){yx(t);return}e.register(()=>bx(e,t))}function yx(e){let t=Q(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());xx(n,e),n.merge(t).each(function(t){wx(this,e.attrs(t))})}function bx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=Cx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();Tx(e,t.exitTo?t.exitTo(r):hx,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=lx(e.container,t.role),s=t.insert(r.enter());xx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(Sx(t.key(e)));if(s&&ux(s,r)){wx(r,dx(s,i)),Tx(r,a,n);return}wx(r,t.enterFrom?t.enterFrom(e):a),Tx(r,a,n)}else wx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(dx(r,i),Tx(r,a,n)):wx(r,a)})}function xx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>Sx(t.key(e)))}function Sx(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function Cx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function wx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function Tx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(gx.has(n)){let e=String(i);r.attrTween(n,function(){return fx(this.getAttribute(n)??e,e)})}else _x.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function Ex(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);Dx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function Dx(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),Q(n).transition(t).attrTween(`transform`,function(){return fx(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),Q(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var Ox=.35;function kx(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function Ax(e,t,n=1){return e.size===0||e.has(t)?n:Ox}var jx=11,Mx=6.2,Nx=jx,Px=8,Fx=4,Ix=14;function Lx(e){return Math.max(Yg(e,jx),e.length*Mx)}function Rx(e){let t=Lx(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-Px&&Nx<=e.barHeight:Nx<=e.barHeight-Fx&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=Ix}var zx=8,Bx=4,Vx=7,Hx=`11px sans-serif`;function Ux(e,t=Hx){let n=e.length*Vx;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function Wx(e,t,n,r){let i=e.length*Vx/2,a=i+Bx-r.margin.left,o=r.width+r.margin.right-i-Bx,s=12-r.margin.top,c=r.height+r.margin.bottom-Bx,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-zx,s),Math.max(s,c))}}var Gx=4;function Kx(e){return Math.max(0,Math.min(13,e-Gx))}var qx=400;function Jx(e,t){return e>0&&e<qx&&t!==Vr.Outside}var Yx=[`#4e79a7`],Xx=4,Zx=8;function Qx(e,t,n={},r=!1){v_(r);let i=null,a,o,s,c=[],l=cv.for(e);if(r){let t=Xb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=x_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=p_(u).width,f=n.categoryLabelLine===!0,p=c_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Vr.Off:n.horizontalAxis?.labelPosition,h=d_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=G_(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=h_(u,h),b=v-(f?Kx(v):0),x=Qg(o,y),S={left:y.left,top:y.top,width:_,height:b},C=tS(t,n),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=rf().domain(O).range([0,_]).padding(Di(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=Oi(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&j<0&&n.verticalAxis?.range?.min==null){let e=M-j;j-=e*.1}let N=A?Ff().domain([j,M]).nice().range([b,0]):bf().domain([j,M]).nice().range([b,0]);l.attach(g,x);let P=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},F=f?{...P,labelPosition:Vr.Off}:P;l.update({vertical:{scale:N,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:F}}),!A&&j<0&&M>0&&Q(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,N(0)).attr(`y2`,N(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let I=Jb(n.colorizes),L=kx(n.highlights,O),R=g.ownerSVGElement,z=ex(R,e,`bars`,{x:0,y:0,width:_,height:b}),B=Q(R).select(`defs`),V=z.replace(/^bc-clip-/,``),H=Q(g).append(`g`).attr(`clip-path`,`url(#${z})`);if(n.barBackground){let e=(n.colors??Yx)[0],t=E?O:w.map(e=>e.label);H.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let ee=E?O:w.map(e=>e.label);if(n.barSeparators&&ee.length>1){let e=k.step();for(let t=1;t<ee.length;t++){let n=(k(ee[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;H.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??Yx,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(N(0),N(r.value)),c=Math.min(N(0),N(i.value)),l=N(0),u=I.get(r.label)??e[0],d=I.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let U=Q(g).append(`g`);if(E){let e=n.colors??Yx,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??Yx,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=N(r.y1),c=N(i.y1),l=N(r.y0),u=N(i.y0),d=I.get(r.label)??e[0],f=I.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;H.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,N(t.y1)).attr(`y2`,N(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(H.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(N(e.y0),N(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(N(e.y0)-N(e.y1))).attr(`fill`,n=>n.isTotal?t:I.get(n.label)??e[0]).attr(`opacity`,e=>L.size>0?Ax(L,e.label):null),n.valueLabels){let r=n.valueLabelPosition??ii.Auto,i=Ig(n.verticalAxis?.numberFormat??``),a=e=>i?i(e):String(e);U.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(N(e.y0),N(e.y1)),n=Math.abs(N(e.y0)-N(e.y1));return r===ii.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===ii.Inside?`central`:`auto`).attr(`fill`,n=>r===ii.Inside?wr(n.isTotal?t:I.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:a(e.isTotal?e.y1:e.value))}}else{let t=ox(e),i=H.append(`g`).node();if(r)for(let e of c)i.appendChild(e);vx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(N(0),N(e.value)),width:k.bandwidth(),height:Math.abs(N(e.value)-N(0)),fill:I.get(e.label)??(n.colors??Yx)[0],opacity:Ax(L,e.label)})}),Ex(t,{svg:R,clipId:z,group:g,from:s,to:S,active:r&&c.length>0});let o=nx(H);n.tooltips&&o.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(Xy({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(qb(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:Er(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);if(t.state===`committing`?t.register(l):l(),n.valueLabels){let e=Ig(n.verticalAxis?.numberFormat??``);eS(U,w,k,N,{position:n.valueLabelPosition,colorOverrides:I,colors:n.colors??Yx,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:sa(w,e=>e.value),formatValue:t=>e?e(t):String(t),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}}if(f){let e=Q(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}Zb(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(b_(H.node()),S_(e,i))}function $x(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+Xx:c-Xx,m=u?p+Zx<=i.plotHeight+i.marginBottom:p-Zx>=-i.marginTop,h=l-c,g=(r===ii.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function eS(e,t,n,r,i){let a=i.position??ii.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Lg(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=ox(c),u=t.filter(e=>Rx({text:o(e),placement:a===ii.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));vx(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=$x(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}function tS(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var nS=[`#4e79a7`],rS=4;function iS(e,t,n={},r=!1){v_(r);let i=null,a,o,s=[],c,l=cv.for(e);if(r){let t=Xb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=x_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=p_(u).width,f=Jx(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=u_(t.labels),h=d_(d,p?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ii.Auto,_=n.swapLabelValue===!0,v=Ig(n.horizontalAxis?.numberFormat??``),y=e=>v?v(e):String(e);if(n.valueLabels&&g!==ii.Inside){if(_){let e=Ux(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?Ux(y(n))+8:0,a=r<0?Ux(y(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:b,width:x,height:S,margin:C}=h_(u,h),w={left:C.left,top:C.top,width:x,height:S},T=Qg(o,C),E=sS(t,n),D=E.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),O=n.waterfall===!0,k=[];if(O){let e=0;for(let t of D){let n=e;e+=t.value,k.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&k.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let A=n.horizontalAxis?.scaleType===`log`,[j,M]=Oi(O?k.flatMap(e=>[e.x0,e.x1]):D.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),N=A?Ff().domain([j,M]).nice().range([0,x]):bf().domain([j,M]).nice().range([0,x]),P=O?k.map(e=>e.label):E,F=rf().domain(P).range([0,S]).padding(Di(n.barGap)),I=p?Kx(F.bandwidth()):0,L=_&&n.valueLabels&&!O?(()=>{let e=new Map(D.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:C.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:C.top},R=p?{...L,labelPosition:Vr.Off,...f?{showAxis:!1}:{}}:L;l.attach(b,T),l.update({horizontal:{scale:N,height:S,options:{...n.horizontalAxis,width:x}},vertical:{scale:F,height:S,options:R},order:`horizontal-first`}),!A&&j<0&&M>0&&Q(b).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,N(0)).attr(`x2`,N(0)).attr(`y1`,0).attr(`y2`,S).attr(`stroke`,`#666`).attr(`stroke-width`,1);let z=Jb(n.colorizes),B=kx(n.highlights,P),V=b.ownerSVGElement,H=ex(V,e,`bars`,{x:0,y:0,width:x,height:S}),ee=Q(V).select(`defs`),U=H.replace(/^bc-clip-/,``),te=Q(b).append(`g`).attr(`clip-path`,`url(#${H})`);if(n.barBackground){let e=(n.colors??nS)[0],t=O?P:D.map(e=>e.label);te.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(F(e)??0)+I).attr(`width`,x).attr(`height`,F.bandwidth()-I).attr(`fill`,e).attr(`opacity`,.18)}let ne=O?P:D.map(e=>e.label);if(n.barSeparators&&ne.length>1){let e=F.step();for(let t=1;t<ne.length;t++){let n=(F(ne[t-1])??0)+F.bandwidth()+(e-F.bandwidth())/2;te.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,x).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!O&&n.connectedColumns&&D.length>1){let e=n.colors??nS,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=Math.max(N(0),N(r.value)),c=Math.max(N(0),N(i.value)),l=N(0),u=z.get(r.label)??e[0],d=z.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${U}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}te.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(O){let e=n.colors??nS,t=`#333`;if(n.connectedColumns&&k.length>1){let e=n.colors??nS,t=n.connectionsOpacity??.15;for(let n=0;n<k.length-1;n++){let r=k[n],i=k[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=N(r.x1),c=N(i.x1),l=N(r.x0),u=N(i.x0),d=z.get(r.label)??e[0],f=z.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${U}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}te.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<k.length-1;e++){let t=k[e],n=k[e+1];if(n.isTotal)break;te.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,N(t.x1)).attr(`x2`,N(t.x1)).attr(`y1`,(F(t.label)??0)+F.bandwidth()).attr(`y2`,(F(n.label)??0)+I).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(te.selectAll(`.bc-bar`).data(k,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(N(e.x0),N(e.x1))).attr(`y`,e=>(F(e.label)??0)+I).attr(`width`,e=>Math.abs(N(e.x1)-N(e.x0))).attr(`height`,F.bandwidth()-I).attr(`fill`,n=>n.isTotal?t:z.get(n.label)??e[0]).attr(`opacity`,e=>B.size>0?Ax(B,e.label):null),n.valueLabels){let n=g;Q(b).append(`g`).selectAll(`.bc-value-label`).data(k,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(F(e.label)??0)+I+(F.bandwidth()-I)/2).attr(`x`,e=>{let t=Math.max(N(e.x0),N(e.x1));return n===ii.Inside?t-4:t+4}).attr(`text-anchor`,n===ii.Inside?`end`:`start`).attr(`fill`,r=>n===ii.Inside?wr(r.isTotal?t:z.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:y(e.isTotal?e.x1:e.value))}}else{let t=ox(e),i=te.append(`g`).node();if(r)for(let e of s)i.appendChild(e);vx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:D,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(N(0),N(e.value)),y:(F(e.label)??0)+I,width:Math.abs(N(e.value)-N(0)),height:F.bandwidth()-I,fill:z.get(e.label)??(n.colors??nS)[0],opacity:Ax(B,e.label)})}),Ex(t,{svg:V,clipId:H,group:b,from:c,to:w,active:r&&s.length>0});let o=nx(te);n.tooltips&&o.use(Jy({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(Xy({width:x,height:S,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&o.use(qb(n.annotations,{scaleX:F,scaleY:N,data:D,width:x,height:S,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(D);t.state===`committing`?t.register(l):l(),n.valueLabels&&oS(Q(b).append(`g`),D,N,F,{position:g,colorOverrides:z,colors:n.colors??nS,transition:r,swapLabelValue:_,categoryLabelOffset:I,percent:n.valueLabels===`percent`,total:sa(D,e=>e.value),formatValue:y,bounds:{plotWidth:x,marginLeft:C.left,marginRight:C.right}})}if(p){let e=Q(b).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}Zb(e,{chartType:`bar-horizontal`,margin:C,plotRect:w}),i&&(b_(te.node()),S_(e,i))}function aS(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-rS-o>=rS-a.marginLeft:f+rS+o<=a.plotWidth+a.marginRight-rS,m=d?a.plotWidth-f:f,h=(r===ii.Inside||u||!p)&&m>=o+rS;return h?d?{tx:f+rS,ty:s,anchor:`start`,isInside:h}:{tx:f-rS,ty:s,anchor:`end`,isInside:h}:d?{tx:f-rS,ty:s,anchor:`end`,isInside:h}:{tx:f+rS,ty:s,anchor:`start`,isInside:h}}function oS(e,t,n,r,i){let a=i.position??ii.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Lg(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=ox(l),d=t.filter(e=>Rx({text:s(e),placement:a===ii.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));vx(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=aS(e,n,r,a,o,i.bounds,Ux(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}function sS(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var cS=12,lS=16,uS=12,dS=8;function fS(e){return e>0?e-lS-uS:1/0}function pS(e,t=``,n=0){let r=t?` ${t}`:``,i=Zg(e,fS(n)-Yg(r,cS),cS);return{label:i,suffix:r,width:lS+Yg(i+r,cS)+uS}}function mS(e){return Xg(e,cS)+lS+dS}function hS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:mS(e),height:e.length*20};let r=e.map(e=>pS(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function gS(e){return e.length===0?0:Xg(e,cS)+10}var _S=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],vS=200,yS=.2,bS=class extends Sg{initialize(){this.configDefine(`colors`,{defaultValue:_S}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=Q(this),u=r[i],d=pS(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function xS(e){let t=Q(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=Q(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:yS)}),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=Q(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:yS)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=Q(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),g_(vS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function SS(e,t,n=_S,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new bS(Q(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>pS(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=mS(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return xS(e),p}function CS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function wS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Sr.valid(e));return n.length<2?e:Sr.scale(n).mode(`lch`).colors(t)}function TS(e,t){return t?.find(t=>t.name===e)}function ES(e,t,n,r){return TS(e,r)?.color??n[t%n.length]}function DS(e,t){return TS(e,t)?.dash??`solid`}function OS(e,t){return TS(e,t)?.lineWidth??2}function kS(e,t,n){let r=TS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function AS(e,t){return TS(e,t)?.hidden??!1}function jS(e,t,n){let r=TS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function MS(e,t,n){let r=TS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function NS(e,t){return TS(e,t)?.opacity??1}function PS(e,t,n){let r=TS(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var FS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],IS=4,LS=16,RS=8;function zS(e,t,n={},r=!1){v_(r);let i=null,a,o,s=[],c,l=cv.for(e);if(r){let t=Xb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=x_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=t.series??[],f=d.filter(e=>!AS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=wS(n.colors??FS,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??ii.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?ci.Auto:ci.Off,x=n.legend!==!1&&!g,S=p_(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=c_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=d_(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,S-(O.left??50)-(O.right??20)),j=x?hS(p,w,A):{width:0,height:0},M=x?j.height+15:0,N={...O};x&&w===`top`&&(N.top=M+(k?15:0)),x&&w===`left`&&(N.left=(N.left??50)+j.width+10),x&&w===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,S-(N.left??50)-(N.right??20));N.bottom=(G_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(w===`bottom`?M:0);let F=g||!!h?.some(e=>e.labelMode===`direct`),I=v!==!1||!!h?.some(e=>e.valueLabels),L=F&&b!==ci.Inside,R=I&&y!==ii.Inside,z=L&&R?LS:IS;(L||R)&&(N.top=(N.top??0)+z+RS);let{chartArea:B,width:V,height:H,margin:ee}=h_(u,N),U=Qg(o,ee),[te,ne]=Oi(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&te<0&&n.verticalAxis?.range?.min==null){let e=ne-te;te-=e*.1}let re=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),re=e.map(e=>e.label)}let ie=rf().domain(re).range([0,V]).padding(Di(n.barGap)),W=rf().domain(p).range([0,ie.bandwidth()]).padding(.05),ae=n.verticalAxis?.scaleType===`log`,oe=ae?Ff().domain([te,ne]).nice().range([H,0]):bf().domain([te,ne]).nice().range([H,0]);l.attach(B,U),l.update({vertical:{scale:oe,height:H,options:{...n.verticalAxis,gridWidth:V,topPadding:ee.top}},horizontal:{scale:ie,height:H,options:{...n.horizontalAxis,width:V}}}),!ae&&te<0&&ne>0&&Q(B).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,V).attr(`y1`,oe(0)).attr(`y2`,oe(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let se=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{se.set(`${e}\0${t.name}`,p[n])})});let ce=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?se.get(`${e}\0${r.name}`)??r.name:r.name;ce.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let le=B.ownerSVGElement,ue=ex(le,e,`bars`,{x:0,y:0,width:V,height:H}),G=Q(B).append(`g`).attr(`clip-path`,`url(#${ue})`),K=ox(e),de=kx(n.highlights,ce.map(e=>e.seriesName)),fe=Jb(n.colorizes),pe=G.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),pe.appendChild(e);vx(K,{role:`mark-per-cell`,parent:pe,selector:`.bc-bar-multi`,data:ce,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=ES(e.seriesName,e.seriesIndex,m,h),n=NS(e.seriesName,h),r={"data-series":e.seriesName,x:(ie(e.label)??0)+(W(e.series)??0),y:Math.min(oe(0),oe(e.value)),width:W.bandwidth(),height:Math.abs(oe(e.value)-oe(0)),fill:fe.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),de.size>0?{...r,opacity:Ax(de,e.seriesName)}:r}});let me={left:ee.left,top:ee.top,width:V,height:H};Ex(K,{svg:le,clipId:ue,group:B,from:c,to:me,active:r&&s.length>0});let he=nx(G);if(n.tooltips&&he.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&he.use(Xy({width:V,height:H,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));he.use(qb(n.annotations,{scaleX:ie,scaleY:oe,data:i,width:V,height:H,backgroundColor:Er(e),transition:r,priorAnnotations:a}))}let ge=()=>he.draw(ce);K.state===`committing`?K.register(ge):ge(),Zb(e,{chartType:`bar-multi`,margin:ee,plotRect:me}),i&&(b_(G.node()),S_(e,i));let _e=new Set;f.forEach(e=>{jS(e.name,_,h)===`direct`&&_e.add(e.name)});let ve=_e.size>0,ye=Er(e),be=n.directLabelAnchor??`middle`;function xe(){return y===ii.Inside?ii.Inside:(ii.Outside,ii.Outside)}function Se(e){return b===ci.Inside?ii.Inside:b===ci.Outside?ii.Outside:v?xe():ii.Outside}function q(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let Ce=Q(B).append(`g`).attr(`class`,`bc-value-labels`);ce.forEach(e=>{if(!MS(e.seriesName,v,h))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,n=Math.min(oe(0),oe(e.value)),r=Math.abs(oe(e.value)-oe(0)),i=xe(),a=ve&&_e.has(e.seriesName),o=e.value<0,s=n+r,c,l,u;i===ii.Inside?(l=wr(ES(e.seriesName,e.seriesIndex,m,h)),u=`central`,c=a&&Se(r)===ii.Inside?q(n,r,be)+14:n+r/2):(l=`currentColor`,o?(c=a&&Se(r)===ii.Outside?s+LS:s+IS,u=`hanging`):(c=a&&Se(r)===ii.Outside?n-LS:n-IS,u=`auto`)),Rx({text:String(e.value),placement:i===ii.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:W.bandwidth(),barHeight:r})&&Ce.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,c).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,u).attr(`font-size`,`11px`).attr(`fill`,l).text(String(e.value))}),ce.forEach(e=>{if(!_e.has(e.seriesName))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,n=Math.min(oe(0),oe(e.value)),r=Math.abs(oe(e.value)-oe(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=Se(r),o=ES(e.seriesName,e.seriesIndex,m,h),s=Q(B).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===ii.Inside){let e=q(n,r,be);s.attr(`y`,e).attr(`fill`,wr(o)),be===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-IS).attr(`fill`,Dr(o,ye))});let we=p.filter(e=>jS(e,_,h)===`legend`);if(x&&we.length>0){let e=we.map(e=>ES(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(j.height+10+e)}else w===`bottom`?n=H+Math.max(ee.bottom-M,0):w===`left`?t=-(j.width+10):w===`right`&&(t=V+10);SS(B,we,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var BS={linear:ch,monotoneX:Kh,step:Jh,stepBefore:Yh,stepAfter:Xh,basis:Ph,cardinal:Lh,catmullRom:Bh};function VS(e){return e&&BS[e]||ch}var HS=`bc-tooltip`,US=new WeakMap;function WS(e){let t=US.get(e);t&&(US.delete(e),t())}function GS(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
333
- .${HS} {
335
+ `,document.head.appendChild(e)}function pb(e){let t=e?t_(e):null,n=e=>typeof e==`number`&&t?t(e):String(e);return e=>{if(e&&typeof e==`object`){if(`data`in e&&typeof e.data==`number`)return n(e.data);let t=e,r=typeof t.series==`string`?t.series:typeof t.seriesName==`string`?t.seriesName:null;if(r!==null&&`label`in t&&`value`in t)return`${r} – ${t.label}: ${n(t.value)}`;if(`label`in t&&`value`in t)return`${t.label}: ${n(t.value)}`;if(`series`in t&&`value`in t)return`${t.series}: ${n(t.value)}`;if(`value`in t)return n(t.value)}return String(e)}}function mb(e){let t=e?.format??pb(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){fb(),n=document.createElement(`div`),n.className=db,document.body.appendChild(n)},postDraw(e){e.base.selectAll(`.bc-bar, .bc-dot, .bc-arc`).each(function(){let e=this,i=()=>{if(!n)return;let r=Q(e).datum();n.textContent=t(r),n.style.display=`block`,ub(e,n,{placement:`top`,middleware:[sb(8),lb(),cb()]}).then(({x:e,y:t})=>{n&&(n.style.left=`${e}px`,n.style.top=`${t}px`)})},a=()=>{n&&(n.style.display=`none`)};e.addEventListener(`mouseenter`,i),e.addEventListener(`mouseleave`,a),r.push(()=>{e.removeEventListener(`mouseenter`,i),e.removeEventListener(`mouseleave`,a)})})},destroy(){for(let e of r)e();r.length=0,n&&=(n.remove(),null)}}}function hb(e){switch(e){case li.Solid:return`none`;case li.Dotted:return`2,2`;case li.Dashed:default:return`4,3`}}function gb(e){let t=e?.color??`#999`,n=e?.dashArray??hb(e?.style),r=e?.direction??ci.Both,i=e?.orientation??Zr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===ci.Both||r===ci.Vertical,d=r===ci.Both||r===ci.Horizontal,f=u?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,l).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null,p=d?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,c).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null;s.selectAll(`.bc-dot, .bc-bar`).each(function(){let e=this,t=()=>{let t=Q(e),n,r;if(e.tagName===`circle`)n=parseFloat(t.attr(`cx`)),r=parseFloat(t.attr(`cy`));else{let e=parseFloat(t.attr(`x`)),a=parseFloat(t.attr(`width`)),o=parseFloat(t.attr(`y`)),s=parseFloat(t.attr(`height`));i===Zr.Horizontal?(n=e+a,r=o+s/2):(n=e+a/2,r=o)}f&&f.attr(`x1`,n).attr(`x2`,n).style(`display`,null),p&&p.attr(`y1`,r).attr(`y2`,r).style(`display`,null)},n=()=>{f&&f.style(`display`,`none`),p&&p.style(`display`,`none`)};e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,n),a.push(()=>{e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,n)})})},destroy(){for(let e of a)e();a.length=0}}}var _b=`bc-scene`;function vb(e){let t=e.querySelector(`.bc-annotation-line`);if(!(!t||!t.hasAttribute(`data-line-style`)))return{style:t.getAttribute(`data-line-style`),fromX:parseFloat(t.getAttribute(`data-line-from-x`)||`0`),fromY:parseFloat(t.getAttribute(`data-line-from-y`)||`0`),toX:parseFloat(t.getAttribute(`data-line-to-x`)||`0`),toY:parseFloat(t.getAttribute(`data-line-to-y`)||`0`),departVertical:t.getAttribute(`data-line-depart-vertical`)===`true`}}function yb(e){let t=new Map,n=e.querySelectorAll(`g[data-annotation-id]`);for(let e of n){let n=e.getAttribute(`data-annotation-id`),r=vb(e);try{let i=e.getBBox();t.set(n,{id:n,element:e,rect:{x:i.x,y:i.y,width:i.width,height:i.height},line:r})}catch{t.set(n,{id:n,element:e,rect:{x:0,y:0,width:0,height:0},line:r})}}return t}var bb={N:{dx:0,dy:-1},NE:{dx:.707,dy:-.707},E:{dx:1,dy:0},SE:{dx:.707,dy:.707},S:{dx:0,dy:1},SW:{dx:-.707,dy:.707},W:{dx:-1,dy:0},NW:{dx:-.707,dy:-.707},center:{dx:0,dy:0}},xb={N:{nx:0,ny:-1},NE:{nx:1,ny:-1},E:{nx:1,ny:0},SE:{nx:1,ny:1},S:{nx:0,ny:1},SW:{nx:-1,ny:1},W:{nx:-1,ny:0},NW:{nx:-1,ny:-1},center:{nx:0,ny:0}};Kr.N,Kr.W,Kr.NE,Kr.NW,Kr.E,Kr.N,Kr.SE,Kr.NE,Kr.S,Kr.E,Kr.SW,Kr.SE,Kr.W,Kr.S,Kr.NW,Kr.SW,Kr.Center,Kr.Center;function Sb(e,t){let n=bb[e]??bb.NW;return{dx:n.dx*t,dy:n.dy*t}}function Cb(e){return`step`in e&&!(`bandwidth`in e)}function wb(e){if(`bandwidth`in e||Cb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function Tb(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return Cb(e)?e(t)??0:wb(e)?e(new Date(t)):e(Number(t))}function Eb(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=xb[e]??xb.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function Db(e,t,n,r,i){if(`bandwidth`in t){let a=t,o=a(e.label)??0,s=a.bandwidth(),c=n(e.value),l=n(0);return i===`horizontal`?Eb(r,{left:l,right:c,top:o,bottom:o+s}):Eb(r,{left:o,right:o+s,top:c,bottom:l})}return Ob({x:e.x===void 0?Tb(t,e.label):t(e.x),y:n(e.value)},r)}function Ob(e,t){let n=bb[t]??bb.N;return{x:e.x+n.dx*2,y:e.y+n.dy*2}}function kb(e,t,n,r=4){let i=e.x+e.width/2,a=e.y+e.height/2;if(t===i&&n===a)return{x:i,y:a};let o=t>=e.x&&t<=e.x+e.width,s=n>=e.y&&n<=e.y+e.height,c=[];if(o&&(n<a?c.push({x:i,y:e.y-r,dist:Math.abs(a-n)}):c.push({x:i,y:e.y+e.height+r,dist:Math.abs(n-a)})),s&&(t>i?c.push({x:e.x+e.width+r,y:a,dist:Math.abs(t-i)}):c.push({x:e.x-r,y:a,dist:Math.abs(i-t)})),c.length>0){c.sort((e,t)=>e.dist-t.dist);let{x:e,y:t}=c[0];return{x:e,y:t}}let l=[{x:i,y:e.y-r},{x:i,y:e.y+e.height+r},{x:e.x+e.width+r,y:a},{x:e.x-r,y:a}],u=l[0],d=(u.x-t)**2+(u.y-n)**2;for(let e=1;e<l.length;e++){let r=(l[e].x-t)**2+(l[e].y-n)**2;r<d&&(u=l[e],d=r)}return u}function Ab(e,t){if(!e)return`bc-arrow`;let n=t??`#666`,r=`bc-arrow-${n.replace(/[^a-zA-Z0-9]/g,``)}`;return e.querySelector(`#${r}`)||(Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`)).append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1 1 L 9 5 L 1 9`).attr(`fill`,`none`).attr(`stroke`,n).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`),r}function jb(e){switch(e){case Jr.Dotted:return`2,3`;case Jr.Dashed:return`5,4`;default:return``}}var Mb=4,Nb=12;function Pb(e){return e!==void 0&&e>0?e:Mb}function Fb(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,Pb(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=jb(r.style??Jr.Solid);a&&i.attr(`stroke-dasharray`,a)}var Ib=1/Math.tan(40*Math.PI/180);function Lb(e,t,n){if(n){let n=t.y>=e.y?1:-1,r=Math.max(Math.abs(t.y-e.y)-Math.abs(t.x-e.x)*Ib,12);return{x:e.x,y:e.y+n*r}}let r=t.x>=e.x?1:-1,i=Math.max(Math.abs(t.x-e.x)-Math.abs(t.y-e.y)*Ib,12);return{x:e.x+r*i,y:e.y}}function Rb(e,t,n){let r=Lb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function zb(e,t,n,r=qr.Direct,i={}){let a;switch(r){case qr.CurveLeft:case qr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===qr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case qr.Elbow:a=Rb(t,n,i.departVertical??!1);break;default:a=`M ${t.x} ${t.y} L ${n.x} ${n.y}`}let o=i.color??`#666`,s=e.append(`path`).attr(`class`,`bc-annotation-line`).attr(`d`,a).attr(`fill`,`none`).attr(`stroke`,o).attr(`stroke-width`,i.lineWeight??1).attr(`pathLength`,`1`).attr(`data-line-style`,r).attr(`data-line-from-x`,String(t.x)).attr(`data-line-from-y`,String(t.y)).attr(`data-line-to-x`,String(n.x)).attr(`data-line-to-y`,String(n.y)).attr(`data-line-depart-vertical`,String(i.departVertical??!1));if(i.showArrow===!0){let t=Ab(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function Bb(e,t,n,r,i={}){let a=i.textAnchor??`middle`,o=i.textOutline!==!1,s=e.append(`text`).attr(`class`,`bc-annotation-text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,a).attr(`font-size`,`${Nb}px`).attr(`fill`,i.textColor??`currentColor`);o&&s.attr(`stroke`,i.backgroundColor??`#fff`).attr(`stroke-width`,3).attr(`paint-order`,`stroke`);let c=t.split(`
336
+ `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)Vb(s,t,i.maxWidth);else for(let e=0;e<c.length;e++)s.append(`tspan`).attr(`x`,s.attr(`x`)).attr(`dy`,e===0?`0`:`1.2em`).text(c[e])}else s.text(t)}function Vb(e,t,n){let r=0,i=t=>{e.append(`tspan`).attr(`x`,e.attr(`x`)).attr(`dy`,r===0?`0`:`1.2em`).text(t),r++};for(let e of t.split(`
337
+ `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&h_(e,Nb)>n?(i(t),t=r):t=e;let a=__(t,n,Nb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=__(t,n,Nb,``)}i(t)}}function Hb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function Ub(e,t,n=Xr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(Cb(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(wb(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return Hb(e,t)}function Wb(e,t){return Hb(e,t)}function Gb(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function Kb(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function qb(e){return e<-4?`end`:e>4?`start`:`middle`}function Jb(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:Tb(t,e.label),y:n(e.value)}}function Yb(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.markCenter?.(i),o=n.markCenter?void 0:n.data.find(e=>e.label===i),s=a??(o&&Jb(o,n.scaleX,n.scaleY));if(!s)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=t,d=u.anchorDirection??Kr.N,f=o?Db(o,n.scaleX,n.scaleY,d,n.orientation):Ob(s,d),p,m,h=t;if(h.dx!=null||h.dy!=null){let{x:e,y:t}=s;p=e+(Number(h.dx)||40),m=t+(Number(h.dy)||-40)}else if(h.direction!=null&&h.textOffsetX==null){let{x:e,y:t}=s,n=h.direction,r=Sb(n,h.anchorDistance??60);p=e+r.dx,m=t+r.dy}else p=f.x+(u.textOffsetX??-42),m=f.y+(u.textOffsetY??-42);let g=t.circleColor??`#666`,_=t;_.showCircle&&Fb(c,f.x,f.y,{size:_.circleSize,style:_.circleStyle,color:g});let v=Math.max(4,Math.min(p,n.width-4)),y=Math.max(4,Math.min(m,n.height-4));if(t.text){let e=qb(p-f.x);Bb(c,t.text,v,y-4,{textColor:t.textColor,maxWidth:Kb(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(h.dx!=null||h.dy!=null?u.showLine!==!1:u.showLine??u.showArrow===!0){let e={x:v,y},t=!1,r=c.select(`.bc-annotation-text`).node();if(r)try{let n=r.getBBox();if(n.width>0&&n.height>0){e=kb(n,f.x,f.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=u.showCircle?Pb(u.circleSize)+(u.lineTargetDistance??5):u.lineTargetDistance??0,o=f.x,s=f.y;if(i>0){let t=f.x-e.x,r=f.y-e.y,c=Math.sqrt(t*t+r*r);if(c>0){let e=f.x-t/c*i,l=f.y-r/c*i,u=!a&&`bandwidth`in n.scaleX,p=bb[d]??bb.N;o=!u||Math.abs(p.dx)>.01?e:f.x,s=!u||Math.abs(p.dy)>.01?l:f.y}}zb(c,e,{x:o,y:s},u.lineStyle??qr.Direct,{showArrow:u.showArrow,lineWeight:u.lineWeight,color:g,departVertical:t})}}function Xb(e,t,n){let r=(t??Xr.Center)===Xr.Center?n.markCenter?.(String(e)):void 0;return r?n.orientation===Zr.Horizontal?r.y:r.x:Ub(e,n.scaleX,t)}function Zb(e,t,n,r,i){if(t.kind!==Yr.Range)return;let a=(t.orientation??Zr.Vertical)===Zr.Vertical,o=a?Xb(t.start,t.startAnchor,n):Wb(t.start,n.scaleY),s=a?Xb(t.end,t.endAnchor,n):Wb(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Zr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=Kb(t.maxWidth,n.width)??Math.max(e,50),s=bb[t.direction??`center`]??bb.center,u=.5+s.dx*.5,h=.5+s.dy*.5,g=Math.max(4,Math.min(d+p*u,n.width-4)),_=`middle`;u<.25?_=`start`:u>.75&&(_=`end`);let v=f+4+12,y=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(i&&l&&y.attr(`data-annotation-id`,`${l}:label`),Bb(y,t.text,g,v,{textColor:t.textColor,maxWidth:o,textAnchor:_,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),h>.25){let e=y.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=h>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function Qb(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=Gb(t.x,n.width),s=Gb(t.y,n.height);if(t.text){Bb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Kb(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function $b(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function ex(e,t){let n=e.hasAttribute(`marker-end`),r=vb(e.parentElement);if(n&&r){let n=Q(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===qr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(Au).attrTween(`d`,()=>{let t=jc(i,e);return e=>{let n=t(e);return $b(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===qr.CurveLeft||r.style===qr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===qr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(Au).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(Au).attrTween(`d`,()=>{let e=Ac(r.fromX,r.toX),t=Ac(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),Q(e).transition().duration(t).ease(Au).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var tx=1;function nx(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=tx&&Math.abs(e.fromY-t.fromY)<=tx&&Math.abs(e.toX-t.toX)<=tx&&Math.abs(e.toY-t.toY)<=tx}function rx(e,t,n){let r=vb(e.parentElement);if(!r||nx(t,r))return;let i=Q(e);if(t.style===qr.Elbow&&r.style===qr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,$b(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(ju).attrTween(`d`,()=>{let t=jc(e,a);return e=>{let n=t(e);return $b(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(ju).attrTween(`d`,()=>{let e=jc(a,s),n=jc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===qr.Direct||t.style===qr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===qr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function ix(e){let[t,n]=e.tagName===`circle`?[`cx`,`cy`]:[`x`,`y`],r=[Number(e.getAttribute(t)),Number(e.getAttribute(n))];for(let[,t,n]of(e.getAttribute(`transform`)??``).matchAll(/translate\(([^,\s)]+)[,\s]*([^)]*)\)/g))r[0]+=Number(t),r[1]+=Number(n)||0;return r}function ax(e,t,n){let[r,i]=ix(t),[a,o]=ix(e),s=r-a,c=i-o;if(Math.abs(s)<=.5&&Math.abs(c)<=.5)return;let l=e.getAttribute(`transform`),u=e=>`translate(${s*e}, ${c*e})${l?` ${l}`:``}`;Q(e).attr(`transform`,u(1)).transition(_b).duration(n).ease(ju).attrTween(`transform`,()=>e=>u(1-e))}var ox=[`x`,`y`,`width`,`height`];function sx(e,t,n){let r=Q(e),i=r.transition(_b).duration(n).ease(ju);for(let n of ox)i.attr(n,e.getAttribute(n)),r.attr(n,t.getAttribute(n))}function cx(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&rx(t,i.line,r);for(let t of[`.bc-annotation-text`,`.bc-annotation-circle`]){let n=e.querySelector(t),a=i.element.querySelector(t);n&&a&&ax(n,a,r)}let n=e.querySelector(`.bc-annotation-range`),a=i.element.querySelector(`.bc-annotation-range`);n&&a&&sx(n,a,r)}else{let t=e.querySelector(`.bc-annotation-line`);t&&ex(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}var lx=16;function ux(e){return Array.from(e.querySelectorAll(`*`)).some(e=>Iu(e,_b))}function dx(e,t=0){if(!e)return;if(t>0){setTimeout(()=>dx(e,ux(e)?lx:0),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?Q(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):Q(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function fx(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),Ab(r);let i=Q(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of yb(t))a.set(e,n);if(n)for(let[e,t]of yb(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??Yr.Point){case Yr.Point:Yb(s,r,n,e);break;case Yr.Range:Zb(o,r,n,e,s);break;case Yr.Free:Qb(s,r,n,e)}}let c=0;n.transition&&(c=I_(500),cx(s.node(),o.node(),a??new Map,c)),dx(r,c)}function px(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),Ab(i);let a=r.node()?.parentNode,o=a&&a!==i?Q(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of yb(e))c.set(t,n);if(t)for(let[e,n]of yb(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??Yr.Point){case Yr.Point:Yb(u,r,t,n);break;case Yr.Range:Zb(l,r,t,n,u);break;case Yr.Free:Qb(u,r,t,n)}}let d=0;t.transition&&(d=I_(500),cx(u.node(),l.node(),c??new Map,d)),dx(i,d)}}}function mx(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var hx=new WeakMap;function gx(e){return hx.get(e)}function _x(e,t){hx.set(e,t)}var vx=0,yx=new WeakMap;function bx(e,t,n,r){let i=yx.get(t);i||(i=new Map,yx.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++vx}`,i.set(n,a));let o=Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var xx=class extends Bg{initialize(){}};function Sx(e){return new xx(e)}function Cx(e,t,n){if(n!==ti.Ascending&&n!==ti.Descending)return[...e];let r=n===ti.Ascending?1:-1;return e.map((e,n)=>({item:e,key:t(e,n)})).sort((e,t)=>r*(e.key-t.key)).map(({item:e})=>e)}function wx(e,t){return e.reduce((e,n)=>e+(n.values[t]??0),0)}var Tx=500,Ex=new Set,Dx=new WeakMap;function Ox(e){let t=Dx.get(e);return t||(t=new Ax(e),Dx.set(e,t)),t}function kx(e){Dx.delete(e)}var Ax=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){Ex.has(t)||(Ex.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??Tx,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=Du(_b).duration(r).ease(ju);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,Q(this.container).interrupt(_b),Q(this.container).selectAll(`*`).interrupt(_b),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),kx(this.container)}};function jx(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function Mx(e,t){return e.tagName===t.tagName}function Nx(e,t){Q(e).interrupt(_b);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function Px(e,t){let n=Fx(e),r=Fx(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,Ix(e)})}}function Fx(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function Ix(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var Lx={opacity:0},Rx=new Set([`d`,`transform`]),zx=new Set([`stroke-dasharray`]);function Bx(e,t){if(e.state===`idle`||e.state===`animating`){Vx(t);return}e.register(()=>Hx(e,t))}function Vx(e){let t=Q(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());Ux(n,e),n.merge(t).each(function(t){Kx(this,e.attrs(t))})}function Hx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=Gx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();qx(e,t.exitTo?t.exitTo(r):Lx,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=jx(e.container,t.role),s=t.insert(r.enter());Ux(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(Wx(t.key(e)));if(s&&Mx(s,r)){Kx(r,Nx(s,i)),qx(r,a,n);return}Kx(r,t.enterFrom?t.enterFrom(e):a),qx(r,a,n)}else Kx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(Nx(r,i),qx(r,a,n)):Kx(r,a)})}function Ux(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>Wx(t.key(e)))}function Wx(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function Gx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function Kx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function qx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(Rx.has(n)){let e=String(i);r.attrTween(n,function(){return Px(this.getAttribute(n)??e,e)})}else zx.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function Jx(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);Yx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function Yx(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),Q(n).transition(t).attrTween(`transform`,function(){return Px(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),Q(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var Xx=.35;function Zx(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function Qx(e,t,n=1){return e.size===0||e.has(t)?n:Xx}var $x=11,eS=6.2,tS=$x,nS=8,rS=4,iS=14;function aS(e){return Math.max(h_(e,$x),e.length*eS)}function oS(e){let t=aS(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-nS&&tS<=e.barHeight:tS<=e.barHeight-rS&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=iS}var sS=8,cS=4,lS=7,uS=`11px sans-serif`;function dS(e,t=uS){let n=e.length*lS;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function fS(e,t,n,r){let i=e.length*lS/2,a=i+cS-r.margin.left,o=r.width+r.margin.right-i-cS,s=12-r.margin.top,c=r.height+r.margin.bottom-cS,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-sS,s),Math.max(s,c))}}var pS=4;function mS(e){return Math.max(0,Math.min(13,e-pS))}var hS=400;function gS(e,t){return e>0&&e<hS&&t!==Wr.Outside}var _S=[ae[0]],vS=4,yS=8;function bS(e,t,n={},r=!1){R_(r);let i=null,a,o,s,c=[],l=Ov.for(e);if(r){let t=gx(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=V_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=N_(u).width,f=n.categoryLabelLine===!0,p=O_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Wr.Off:n.horizontalAxis?.labelPosition,h=j_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=dv(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=F_(u,h),b=v-(f?mS(v):0),x=v_(o,y),S={left:y.left,top:y.top,width:_,height:b},C=Cx(t.labels,(e,n)=>t.values[n],n.sort),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=Sf().domain(O).range([0,_]).padding(Ai(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=ji(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&j<0&&n.verticalAxis?.range?.min==null){let e=M-j;j-=e*.1}let N=A?$f().domain([j,M]).nice().range([b,0]):Rf().domain([j,M]).nice().range([b,0]);l.attach(g,x);let P=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},F=f?{...P,labelPosition:Wr.Off}:P;l.update({vertical:{scale:N,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:F}}),!A&&j<0&&M>0&&Q(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,N(0)).attr(`y2`,N(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let I=mx(n.colorizes),L=Zx(n.highlights,O),R=g.ownerSVGElement,z=bx(R,e,`bars`,{x:0,y:0,width:_,height:b}),B=Q(R).select(`defs`),V=z.replace(/^bc-clip-/,``),H=Q(g).append(`g`).attr(`clip-path`,`url(#${z})`);if(n.barBackground){let e=(n.colors??_S)[0],t=E?O:w.map(e=>e.label);H.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let ee=E?O:w.map(e=>e.label);if(n.barSeparators&&ee.length>1){let e=k.step();for(let t=1;t<ee.length;t++){let n=(k(ee[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;H.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??_S,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(N(0),N(r.value)),c=Math.min(N(0),N(i.value)),l=N(0),u=I.get(r.label)??e[0],d=I.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let U=Q(g).append(`g`);if(E){let e=n.colors??_S,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??_S,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=N(r.y1),c=N(i.y1),l=N(r.y0),u=N(i.y0),d=I.get(r.label)??e[0],f=I.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;H.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,N(t.y1)).attr(`y2`,N(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(H.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(N(e.y0),N(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(N(e.y0)-N(e.y1))).attr(`fill`,n=>n.isTotal?t:I.get(n.label)??e[0]).attr(`opacity`,e=>L.size>0?Qx(L,e.label):null),n.valueLabels){let r=n.valueLabelPosition??si.Auto,i=e=>n_(e,n.verticalAxis?.numberFormat);U.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(N(e.y0),N(e.y1)),n=Math.abs(N(e.y0)-N(e.y1));return r===si.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===si.Inside?`central`:`auto`).attr(`fill`,n=>r===si.Inside?Dr(n.isTotal?t:I.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:i(e.isTotal?e.y1:e.value))}}else{let t=Ox(e),i=H.append(`g`).node();if(r)for(let e of c)i.appendChild(e);Bx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(N(0),N(e.value)),width:k.bandwidth(),height:Math.abs(N(e.value)-N(0)),fill:I.get(e.label)??(n.colors??_S)[0],opacity:Qx(L,e.label)})}),Jx(t,{svg:R,clipId:z,group:g,from:s,to:S,active:r&&c.length>0});let o=Sx(H);n.tooltips&&o.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(gb({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(px(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:kr(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);t.state===`committing`?t.register(l):l(),n.valueLabels&&SS(U,w,k,N,{position:n.valueLabelPosition,colorOverrides:I,colors:n.colors??_S,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:da(w,e=>e.value),formatValue:e=>n_(e,n.verticalAxis?.numberFormat),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}if(f){let e=Q(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}_x(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(B_(H.node()),H_(e,i))}function xS(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+vS:c-vS,m=u?p+yS<=i.plotHeight+i.marginBottom:p-yS>=-i.marginTop,h=l-c,g=(r===si.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function SS(e,t,n,r,i){let a=i.position??si.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?r_(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=Ox(c),u=t.filter(e=>oS({text:o(e),placement:a===si.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));Bx(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=xS(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?Dr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}var CS=[ae[0]],wS=4;function TS(e,t,n={},r=!1){R_(r);let i=null,a,o,s=[],c,l=Ov.for(e);if(r){let t=gx(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=V_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=N_(u).width,f=gS(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=A_(t.labels),h=j_(d,p?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??si.Auto,_=n.swapLabelValue===!0,v=e=>n_(e,n.horizontalAxis?.numberFormat);if(n.valueLabels&&g!==si.Inside){if(_){let e=dS(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?dS(v(n))+8:0,a=r<0?dS(v(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:y,width:b,height:x,margin:S}=F_(u,h),C={left:S.left,top:S.top,width:b,height:x},w=v_(o,S),T=Cx(t.labels,(e,n)=>t.values[n],n.sort),E=T.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),D=n.waterfall===!0,O=[];if(D){let e=0;for(let t of E){let n=e;e+=t.value,O.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&O.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let k=n.horizontalAxis?.scaleType===`log`,[A,j]=ji(D?O.flatMap(e=>[e.x0,e.x1]):E.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),M=k?$f().domain([A,j]).nice().range([0,b]):Rf().domain([A,j]).nice().range([0,b]),N=D?O.map(e=>e.label):T,P=Sf().domain(N).range([0,x]).padding(Ai(n.barGap)),F=p?mS(P.bandwidth()):0,I=_&&n.valueLabels&&!D?(()=>{let e=new Map(E.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:S.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:S.top},L=p?{...I,labelPosition:Wr.Off,...f?{showAxis:!1}:{}}:I;l.attach(y,w),l.update({horizontal:{scale:M,height:x,options:{...n.horizontalAxis,width:b}},vertical:{scale:P,height:x,options:L},order:`horizontal-first`}),!k&&A<0&&j>0&&Q(y).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,M(0)).attr(`x2`,M(0)).attr(`y1`,0).attr(`y2`,x).attr(`stroke`,`#666`).attr(`stroke-width`,1);let R=mx(n.colorizes),z=Zx(n.highlights,N),B=y.ownerSVGElement,V=bx(B,e,`bars`,{x:0,y:0,width:b,height:x}),H=Q(B).select(`defs`),ee=V.replace(/^bc-clip-/,``),U=Q(y).append(`g`).attr(`clip-path`,`url(#${V})`);if(n.barBackground){let e=(n.colors??CS)[0],t=D?N:E.map(e=>e.label);U.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(P(e)??0)+F).attr(`width`,b).attr(`height`,P.bandwidth()-F).attr(`fill`,e).attr(`opacity`,.18)}let te=D?N:E.map(e=>e.label);if(n.barSeparators&&te.length>1){let e=P.step();for(let t=1;t<te.length;t++){let n=(P(te[t-1])??0)+P.bandwidth()+(e-P.bandwidth())/2;U.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,b).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!D&&n.connectedColumns&&E.length>1){let e=n.colors??CS,t=n.connectionsOpacity??.15;for(let n=0;n<E.length-1;n++){let r=E[n],i=E[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=Math.max(M(0),M(r.value)),c=Math.max(M(0),M(i.value)),l=M(0),u=R.get(r.label)??e[0],d=R.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${ee}-${n}`,t=H.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}U.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(D){let e=n.colors??CS,t=`#333`;if(n.connectedColumns&&O.length>1){let e=n.colors??CS,t=n.connectionsOpacity??.15;for(let n=0;n<O.length-1;n++){let r=O[n],i=O[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=M(r.x1),c=M(i.x1),l=M(r.x0),u=M(i.x0),d=R.get(r.label)??e[0],f=R.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${ee}-${n}`,t=H.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}U.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<O.length-1;e++){let t=O[e],n=O[e+1];if(n.isTotal)break;U.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,M(t.x1)).attr(`x2`,M(t.x1)).attr(`y1`,(P(t.label)??0)+P.bandwidth()).attr(`y2`,(P(n.label)??0)+F).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(U.selectAll(`.bc-bar`).data(O,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(M(e.x0),M(e.x1))).attr(`y`,e=>(P(e.label)??0)+F).attr(`width`,e=>Math.abs(M(e.x1)-M(e.x0))).attr(`height`,P.bandwidth()-F).attr(`fill`,n=>n.isTotal?t:R.get(n.label)??e[0]).attr(`opacity`,e=>z.size>0?Qx(z,e.label):null),n.valueLabels){let n=g;Q(y).append(`g`).selectAll(`.bc-value-label`).data(O,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(P(e.label)??0)+F+(P.bandwidth()-F)/2).attr(`x`,e=>{let t=Math.max(M(e.x0),M(e.x1));return n===si.Inside?t-4:t+4}).attr(`text-anchor`,n===si.Inside?`end`:`start`).attr(`fill`,r=>n===si.Inside?Dr(r.isTotal?t:R.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:v(e.isTotal?e.x1:e.value))}}else{let t=Ox(e),i=U.append(`g`).node();if(r)for(let e of s)i.appendChild(e);Bx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:E,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(M(0),M(e.value)),y:(P(e.label)??0)+F,width:Math.abs(M(e.value)-M(0)),height:P.bandwidth()-F,fill:R.get(e.label)??(n.colors??CS)[0],opacity:Qx(z,e.label)})}),Jx(t,{svg:B,clipId:V,group:y,from:c,to:C,active:r&&s.length>0});let o=Sx(U);n.tooltips&&o.use(mb({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(gb({width:b,height:x,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length&&o.use(px(n.annotations,{scaleX:P,scaleY:M,data:E,width:b,height:x,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(E);t.state===`committing`?t.register(l):l(),n.valueLabels&&DS(Q(y).append(`g`),E,M,P,{position:g,colorOverrides:R,colors:n.colors??CS,transition:r,swapLabelValue:_,categoryLabelOffset:F,percent:n.valueLabels===`percent`,total:da(E,e=>e.value),formatValue:v,bounds:{plotWidth:b,marginLeft:S.left,marginRight:S.right}})}if(p){let e=Q(y).append(`g`).attr(`class`,`bc-category-labels`);for(let t of N){let n=P(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}_x(e,{chartType:`bar-horizontal`,margin:S,plotRect:C}),i&&(B_(U.node()),H_(e,i))}function ES(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-wS-o>=wS-a.marginLeft:f+wS+o<=a.plotWidth+a.marginRight-wS,m=d?a.plotWidth-f:f,h=(r===si.Inside||u||!p)&&m>=o+wS;return h?d?{tx:f+wS,ty:s,anchor:`start`,isInside:h}:{tx:f-wS,ty:s,anchor:`end`,isInside:h}:d?{tx:f-wS,ty:s,anchor:`end`,isInside:h}:{tx:f+wS,ty:s,anchor:`start`,isInside:h}}function DS(e,t,n,r,i){let a=i.position??si.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?r_(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=Ox(l),d=t.filter(e=>oS({text:s(e),placement:a===si.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));Bx(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=ES(e,n,r,a,o,i.bounds,dS(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?Dr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}var OS=12,kS=16,AS=12,jS=8;function MS(e){return e>0?e-kS-AS:1/0}function NS(e,t=``,n=0){let r=t?` ${t}`:``,i=__(e,MS(n)-h_(r,OS),OS);return{label:i,suffix:r,width:kS+h_(i+r,OS)+AS}}function PS(e){return g_(e,OS)+kS+jS}function FS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:PS(e),height:e.length*20};let r=e.map(e=>NS(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function IS(e){return e.length===0?0:g_(e,OS)+10}var LS=200,RS=.2,zS=class extends Bg{initialize(){this.configDefine(`colors`,{defaultValue:ae}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=Q(this),u=r[i],d=NS(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function BS(e){let t=Q(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=Q(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:RS)}),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=Q(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:RS)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=Q(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),I_(LS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function VS(e,t,n=ae,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new zS(Q(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>NS(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=PS(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return BS(e),p}function HS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function US(e,t){if(t<=e.length)return e;let n=e.filter(e=>Tr.valid(e));return n.length<2?e:Tr.scale(n).mode(`lch`).colors(t)}function WS(e,t){return t?.find(t=>t.name===e)}function GS(e,t,n,r){return WS(e,r)?.color??n[t%n.length]}function KS(e,t){return WS(e,t)?.dash??`solid`}function qS(e,t){return WS(e,t)?.lineWidth??2}function JS(e,t,n){let r=WS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function YS(e,t){return WS(e,t)?.hidden??!1}function XS(e,t,n){let r=WS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function ZS(e,t,n){let r=WS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function QS(e,t){return WS(e,t)?.opacity??1}function $S(e,t,n){let r=WS(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var eC=4,tC=16,nC=8;function rC(e,t,n={},r=!1){R_(r);let i=null,a,o,s=[],c,l=Ov.for(e);if(r){let t=gx(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=V_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=t.series??[],f=d.filter(e=>!YS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=US(n.colors??ae,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??si.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?di.Auto:di.Off,x=n.legend!==!1&&!g,S=N_(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=O_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=j_(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,S-(O.left??50)-(O.right??20)),j=x?FS(p,w,A):{width:0,height:0},M=x?j.height+15:0,N={...O};x&&w===`top`&&(N.top=M+(k?15:0)),x&&w===`left`&&(N.left=(N.left??50)+j.width+10),x&&w===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,S-(N.left??50)-(N.right??20));N.bottom=(dv(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(w===`bottom`?M:0);let F=g||!!h?.some(e=>e.labelMode===`direct`),I=v!==!1||!!h?.some(e=>e.valueLabels),L=F&&b!==di.Inside,R=I&&y!==si.Inside,z=L&&R?tC:eC;(L||R)&&(N.top=(N.top??0)+z+nC);let{chartArea:B,width:V,height:H,margin:ee}=F_(u,N),U=v_(o,ee),[te,ne]=ji(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&te<0&&n.verticalAxis?.range?.min==null){let e=ne-te;te-=e*.1}let re=n.sortMode===ii.Total?Cx(t.labels,(e,t)=>wx(f,t),ti.Descending):t.labels,ie=Sf().domain(re).range([0,V]).padding(Ai(n.barGap)),W=Sf().domain(p).range([0,ie.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?$f().domain([te,ne]).nice().range([H,0]):Rf().domain([te,ne]).nice().range([H,0]);l.attach(B,U),l.update({vertical:{scale:se,height:H,options:{...n.verticalAxis,gridWidth:V,topPadding:ee.top}},horizontal:{scale:ie,height:H,options:{...n.horizontalAxis,width:V}}}),!oe&&te<0&&ne>0&&Q(B).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,V).attr(`y1`,se(0)).attr(`y2`,se(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let ce=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{ce.set(`${e}\0${t.name}`,p[n])})});let le=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?ce.get(`${e}\0${r.name}`)??r.name:r.name;le.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let ue=B.ownerSVGElement,de=bx(ue,e,`bars`,{x:0,y:0,width:V,height:H}),fe=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),pe=Ox(e),G=Zx(n.highlights,le.map(e=>e.seriesName)),K=mx(n.colorizes),me=fe.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),me.appendChild(e);Bx(pe,{role:`mark-per-cell`,parent:me,selector:`.bc-bar-multi`,data:le,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=GS(e.seriesName,e.seriesIndex,m,h),n=QS(e.seriesName,h),r={"data-series":e.seriesName,x:(ie(e.label)??0)+(W(e.series)??0),y:Math.min(se(0),se(e.value)),width:W.bandwidth(),height:Math.abs(se(e.value)-se(0)),fill:K.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),G.size>0?{...r,opacity:Qx(G,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};Jx(pe,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=Sx(fe);if(n.tooltips&&ge.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(gb({width:V,height:H,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));ge.use(px(n.annotations,{scaleX:ie,scaleY:se,data:i,width:V,height:H,backgroundColor:kr(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);pe.state===`committing`?pe.register(_e):_e(),_x(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(B_(fe.node()),H_(e,i));let ve=new Set;f.forEach(e=>{XS(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=kr(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===si.Inside?si.Inside:(si.Outside,si.Outside)}function Ce(e){return b===di.Inside?si.Inside:b===di.Outside?si.Outside:v?Se():si.Outside}function we(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let Te=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!ZS(e.seriesName,v,h))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,r=Math.min(se(0),se(e.value)),i=Math.abs(se(e.value)-se(0)),a=Se(),o=ye&&ve.has(e.seriesName),s=e.value<0,c=r+i,l,u,d;a===si.Inside?(u=Dr(GS(e.seriesName,e.seriesIndex,m,h)),d=`central`,l=o&&Ce(i)===si.Inside?we(r,i,xe)+14:r+i/2):(u=`currentColor`,s?(l=o&&Ce(i)===si.Outside?c+tC:c+eC,d=`hanging`):(l=o&&Ce(i)===si.Outside?r-tC:r-eC,d=`auto`));let f=n_(e.value,n.verticalAxis?.numberFormat);oS({text:f,placement:a===si.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:W.bandwidth(),barHeight:i})&&Te.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,l).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,d).attr(`font-size`,`11px`).attr(`fill`,u).text(f)}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ie(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=Ce(r),o=GS(e.seriesName,e.seriesIndex,m,h),s=Q(B).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===si.Inside){let e=we(n,r,xe);s.attr(`y`,e).attr(`fill`,Dr(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-eC).attr(`fill`,Ar(o,be))});let q=p.filter(e=>XS(e,_,h)===`legend`);if(x&&q.length>0){let e=q.map(e=>GS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(j.height+10+e)}else w===`bottom`?n=H+Math.max(ee.bottom-M,0):w===`left`?t=-(j.width+10):w===`right`&&(t=V+10);VS(B,q,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var iC={linear:Eh,monotoneX:ug,step:fg,stepBefore:pg,stepAfter:mg,basis:Qh,cardinal:tg,catmullRom:ig};function aC(e){return e&&iC[e]||Eh}var oC=`bc-tooltip`,sC=new WeakMap;function cC(e){let t=sC.get(e);t&&(sC.delete(e),t())}function lC(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
338
+ .${oC} {
334
339
  position: absolute;
335
340
  pointer-events: none;
336
341
  background: var(--bs-body-bg, #fff);
@@ -346,10 +351,10 @@ body {
346
351
  white-space: pre-line;
347
352
  display: none;
348
353
  }
349
- `,document.head.appendChild(e)}function KS(e){let t=e?Ig(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function qS(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=ai.Both,crosshairStyle:l=oi.Dashed,crosshairColor:u=`#999`,format:d=KS(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&US.set(f,e),e}let p=l===oi.Solid?`none`:l===oi.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(GS(),g=document.createElement(`div`),g.className=HS,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===ai.Both||c===ai.Vertical),x=s&&(c===ai.Both||c===ai.Horizontal),S=null,C=null;b&&(S=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`)),x&&(C=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`));let w=y(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),T=y(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`),E=o===`xy`?Dd.from(i,e=>e.cx,e=>e.cy):null;function D(e,t){if(E)return i[E.find(e,t)];if(m.length===0)return null;let n=Li(m,e),r=m[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let O=t=>{let[n,r]=As(t,e),i=D(n,r);i&&(w.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`r`,i.r??6).attr(`stroke`,i.color).style(`display`,null),g&&(g.textContent=d(i),g.style.display=`block`,Wy(w.node(),g,{placement:`top`,middleware:[Vy(8),Uy(),Hy()]}).then(({x:e,y:t})=>{g&&(g.style.left=`${e}px`,g.style.top=`${t}px`)})),S&&S.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),C&&C.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},k=()=>{w.style(`display`,`none`),g&&(g.style.display=`none`),S&&S.style(`display`,`none`),C&&C.style(`display`,`none`)},A=T.node();A.addEventListener(`mousemove`,O),A.addEventListener(`mouseleave`,k);let j=()=>{A.removeEventListener(`mousemove`,O),A.removeEventListener(`mouseleave`,k),T.remove(),w.remove(),g&&=(g.remove(),null),S&&S.remove(),C&&C.remove(),f&&US.get(f)===j&&US.delete(f)};return f&&US.set(f,j),j}var JS={circle:gh,square:xh,diamond:bh,triangle:Oh,triangleDown:Ah??Oh,cross:_h,star:Eh};function YS(e,t,n){switch(n){case Xr.First:return e===0;case Xr.Last:return e===t-1;case Xr.FirstLast:return e===0||e===t-1;case Xr.All:default:return!0}}function XS(e,t,n,r,i=!1){let a=r.symbol??Yr.Circle,o=r.showOn??Xr.FirstLast,s=r.style??Zr.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>YS(e.index,n,o)),f=i?y_():0;if(a===Yr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}else{let t=JS[a]??gh,n=Math.PI*c*c,r=jh().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}}function ZS(e,t,n={},r=!1){v_(r),WS(e);let i=[],a=[],o=null,s=null,c,l,u,d=cv.for(e);if(r){let t=Xb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=x_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ng(e,n.frame),p=p_(f).width,m=c_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=d_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=G_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=h_(f,h),x=Qg(l,b),S=Ei(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=of().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Oi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?Ff().domain([j,M]).nice().range([y,0]):bf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=ex(I,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=VS(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,U=e=>Number.isFinite(e.value),te=fh().curve(V).defined(U).x(e=>k(e)).y0(y).y1(e=>N(e.value)),ne=dh().curve(V).defined(U).x(e=>k(e)).y(e=>N(e.value)),re=Q(z).append(`g`).node(),ie=Q(z).append(`g`).node();if(r){for(let e of i)re.appendChild(e);for(let e of a)ie.appendChild(e)}let W=ox(e),ae=[{name:`line`,points:T}];vx(W,{role:`series-area`,parent:re,selector:`.bc-area`,data:H?ae:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:te(e.points)??``,fill:B,opacity:ee})}),vx(W,{role:`series-line`,parent:ie,selector:`.bc-line`,data:ae,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(e.points)??``,fill:`none`,stroke:B})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let oe={left:b.left,top:b.top,width:v+2,height:y+2};if(Ex(W,{svg:I,clipId:L,group:_,from:u,to:oe,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Kb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&qS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Wx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),XS(t,e,T.length,n.lineSymbols,r)}Zb(e,{chartType:`line`,margin:b,plotRect:oe}),s&&(b_(R.node()),S_(e,s))}var QS=28,$S=18,eC=20,tC=12,nC=.3;function rC(e,t,n,r=QS){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function iC(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+$S,c=QS/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=rC(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*eC;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);if(r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Dr(e.color,a)).text(e.label),c){let t=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(t)}})}d(u,!0),d(l,!1)}var aC=.3;function oC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<aC||Yg(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=wr(e.color);if(t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n){let n=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(n)}}c.length>0&&iC(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function sC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=Yg(e.label,a);n>r*1.2&&t>=aC&&r<=u*2?c.push(e):l.push(e)}c.length>0&&oC(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&iC(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function cC(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+Xg(e,tC)+6,i=e.length*QS/2,a=Math.max(10,i-t+20),o=lC(r,n.width),s=lC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function lC(e,t){return t>0?Math.min(e,t*nC):e}var uC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function dC(e,t,n={},r=!1){v_(r),WS(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=cv.for(e);if(r){let t=Xb(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=x_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))l.set(e,n);e.replaceChildren()}let{body:p}=Ng(e,n.frame),m=i.series??[],h=m.filter(e=>!AS(e.name,n.seriesOverrides));(n.sortMode===`total`||n.sortMode===`within-groups`)&&(h=[...h].sort((e,t)=>{let n=e.values.reduce((e,t)=>e+t,0);return t.values.reduce((e,t)=>e+t,0)-n}));let g=wS(n.colors??uC,m.length),_=h.map(e=>e.name),v=Jb(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>jS(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=p_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=Ei(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let A=h.flatMap(e=>e.values),j=c_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=d_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?gS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?hS(_,E,F):{width:0,height:0},L=C?I.height+15:0,R={...M};C&&E===`top`&&(R.top=L+(P?15:0)),C&&E===`left`&&(R.left=(R.left??50)+I.width+10),C&&E===`right`&&(R.right=(R.right??20)+I.width+10),N>0&&(R.right=(R.right??20)+N),R.bottom=(G_(i.labels,Math.max(0,w-(R.left??50)-(R.right??20)),n.horizontalAxis)??Math.max(R.bottom??24,24))+(E===`bottom`?L:0);let{chartArea:z,width:B,height:V,margin:H}=h_(p,R),ee=Qg(u,H),[U,te]=Oi(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ne=of().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),re=ne,ie=e=>ne(i.labels[e])??0,W=n.verticalAxis?.scaleType===`log`?Ff().domain([U,te]).nice().range([V,0]):bf().domain([U,te]).nice().range([V,0]),ae=W.domain(),oe=ae[0]<0&&ae[1]>0?W(0):void 0;f.attach(z,ee),f.update({vertical:{scale:W,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:H.top}},horizontal:{scale:re,height:V,options:{...n.horizontalAxis,width:B,zeroY:oe}}});let se=z.ownerSVGElement,ce=ex(se,e,`plot`,{x:0,y:0,width:B,height:V}),le=Q(z).append(`g`).attr(`clip-path`,`url(#${ce})`),ue=le.node(),G=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),K=VS(n.interpolation);n.areaFills?.length&&fC(ue,n.areaFills,h,ie,i.labels.length,W,K);let de=e=>Number.isFinite(e),fe=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{de(e.values[r])&&fe.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let pe=n.lineSymbols,me={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},he=n.valueLabels??!1,ge=kx(n.highlights,_),_e=n.areaFill??!1,ve=n.areaFillOpacity??.2,ye=e=>v.get(e.name)??ES(e.name,e.colorIndex,g,y),be=fh().curve(K).defined(de).x((e,t)=>ie(t)).y0(V).y1(e=>W(e)),xe=ox(e),Se=Q(ue).append(`g`).node(),q=Q(ue).append(`g`).node(),Ce=new Set(G.map(e=>e.name));if(r){for(let e of a)Ce.has(e.__data__?.name??``)&&Se.appendChild(e);for(let e of o)Ce.has(e.__data__?.name??``)&&q.appendChild(e)}vx(xe,{role:`series-area`,parent:Se,selector:`.bc-area`,data:_e?G:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:be(e.values)??``,fill:ye(e),opacity:Ax(ge,e.name,ve)})}),vx(xe,{role:`series-line`,parent:q,selector:`.bc-line`,data:G,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=kS(e.name,n.interpolation??`linear`,y),r=dh().curve(VS(t)).defined(de).x((e,t)=>ie(t)).y(e=>W(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:ye(e),style:`stroke-width:${OS(e.name,y)}`,"stroke-dasharray":me[DS(e.name,y)]??``,opacity:Ax(ge,e.name,1)}}}),Q(ue).append(`g`).selectAll(`.bc-dot`).data(fe,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ie(i.labels.indexOf(e.label))).attr(`cy`,e=>W(e.value)).attr(`r`,3).attr(`fill`,e=>ye({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let we={left:H.left,top:H.top,width:B,height:V};if(Ex(xe,{svg:se,clipId:ce,group:z,from:d,to:we,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Kb(z,n.annotations,{scaleX:re,scaleY:W,data:t,width:B,height:V,backgroundColor:Er(e),transition:r,priorAnnotations:l})}let Te=Q(z).insert(`g`,()=>ue.nextSibling).attr(`class`,`bc-value-labels`);fe.forEach(e=>{if(!MS(e.series,he,y))return;let t=ie(i.labels.indexOf(e.label)),n=W(e.value),r=Wx(String(e.value),t,n,{width:B,height:V,margin:H});Te.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.series).attr(`x`,r.x).attr(`y`,r.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(String(e.value))}),(n.tooltips||n.crosshair)&&qS(z,{width:B,height:V,points:fe.map(e=>({cx:ie(i.labels.indexOf(e.label)),cy:W(e.value),label:e.label,value:e.value,series:e.series,color:ES(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let Ee=pe?{name:``,lineSymbols:!0,symbolShape:pe.symbol,symbolShowOn:pe.showOn,symbolStyle:pe.style,symbolSize:pe.size,symbolOpacity:pe.opacity}:void 0,De=i.labels.length;h.forEach((e,t)=>{let n=PS(e.name,Ee,y);if(!n)return;let a={symbol:n.symbolShape??pe?.symbol??Yr.Circle,showOn:n.symbolShowOn??pe?.showOn??Xr.FirstLast,style:n.symbolStyle??pe?.style??Zr.Filled,size:n.symbolSize??pe?.size??3.5,opacity:n.symbolOpacity??pe?.opacity??1},o=i.labels.map((n,r)=>({cx:ie(r),cy:W(e.values[r]),color:ES(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(z.appendChild(c),l=Q(c),u=!0):l=Q(z).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),XS(l,o,De,a,r&&u)});let Oe=i.labels.length-1,ke=ie(Oe)+6,Ae=[];if(h.forEach((e,t)=>{if(jS(e.name,x,y)!==`direct`)return;let n=e.values[Oe];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;Ae.push({name:e.name,index:t,naturalY:W(n),text:r})}),Ae.length>0){Ae.sort((e,t)=>e.naturalY-t.naturalY);let e=rC(Ae.map(e=>e.naturalY),0,V,14);Ae.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,ke).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,ES(t.name,t.index,g,y)).text(t.text)})}let je=_.filter(e=>jS(e,x,y)===`legend`);if(C&&je.length>0){let e=je.map(e=>ES(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=P?15:0;n=-(I.height+10+e)}else E===`bottom`?n=V+Math.max(H.bottom-L,0):E===`left`?t=-(I.width+10):E===`right`&&(t=B+10);SS(z,je,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}Zb(e,{chartType:`line-multi`,margin:H,plotRect:we}),c&&(b_(le.node()),S_(e,c))}function fC(e,t,n,r,i,a,o){let s=Q(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?VS(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)mC(s,t.values,i.values,r,a,c,u,d,l);else{let e=fh().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function pC(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function mC(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=pC(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}var hC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function gC(e){return Jd(`,`)(Number(e.toPrecision(12)))}var _C=class extends Sg{initialize(){}};function vC(e,t,n={},r=!1){yC(e,t,n,.6,r)}function yC(e,t,n,r,i=!1){v_(i);let a=null,o;if(i){let t=Xb(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=x_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))o.set(e,n);e.replaceChildren()}let{body:s}=Ng(e,n.frame),c=[...t.labels],l=[...t.values];if(n.sort===Qr.Ascending||n.sort===Qr.Descending){let e=c.map((e,t)=>({label:e,value:l[t]}));e.sort((e,t)=>n.sort===Qr.Ascending?e.value-t.value:t.value-e.value),c=e.map(e=>e.label),l=e.map(e=>e.value)}if(n.sliceMax&&n.sliceMax>0&&c.length>n.sliceMax){let e=n.sliceMax-1,t=c.map((e,t)=>({label:e,value:l[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);c=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],l=[...r.map(e=>e.value),i]}let u=l.reduce((e,t)=>e+t,0),d=l.map(e=>u>0?e/u*100:0),f=wS(n.colors??hC,c.length),p=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?ci.Auto:ci.Off,m=!!p&&(p!==ci.Auto||n.legend!==!0),h=(n.showValues??!0)&&!m?l.map((e,t)=>`(${n.displayAsPercentage?`${Math.round(d[t])}%`:gC(e)})`):[],g=n.legend!==!1&&!m,_=p_(s).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=h.length>0?c.map((e,t)=>`${e} ${h[t]}`):c,S=Math.max(0,_-50-20),C=g?hS(x,y,S):{width:0,height:0},w=g?C.height+15:0,T={};if(g&&y===`top`&&(T.top=w),g&&y===`bottom`&&(T.bottom=24+w),g&&y===`left`&&(T.left=50+C.width+10),g&&y===`right`&&(T.right=20+C.width+10),m){let e=p_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=cC(c,r,{width:t,height:n});T.left=(T.left??20)+i.left,T.right=(T.right??20)+i.right,T.top=(T.top??20)+i.top,T.bottom=(T.bottom??20)+i.bottom}let{chartArea:E,width:D,height:O,margin:k}=h_(s,T),A=Math.min(D,O)/2,j=A*r,M=nf().domain(c).range(f);if(l.some(e=>e<0)){let e=c.filter((e,t)=>l[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=c.map((e,t)=>({label:e,value:l[t]})).filter(e=>e.value>=0);c=t.map(e=>e.label),l=t.map(e=>e.value)}let N=hh().sort(null),P=ah().innerRadius(j).outerRadius(A),F=Q(E).append(`g`).attr(`transform`,`translate(${D/2},${O/2})`),I=Jb(n.colorizes),L=N(l),R=L.map((e,t)=>({label:c[t],value:l[t],arc:e,color:I.get(c[t])??M(c[t])})),z=ox(e),B=kx(n.highlights,c);vx(z,{role:`mark-per-category`,parent:F.append(`g`).node(),selector:`.bc-arc`,data:R,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:P(e.arc)??``,fill:e.color};return B.size>0?{...t,opacity:Ax(B,e.label)}:t}});let V=new _C(F);if(n.tooltips&&V.use(Jy()),V.draw(R),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(R.map(e=>[e.label,P.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&qb(a,{scaleX:nf().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+D/2)),scaleY:bf().domain([0,1]).range([0,1]),data:R.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+O/2})),width:D,height:O,backgroundColor:Er(e),transition:i,priorAnnotations:o}).postDraw({base:Q(E)},void 0)}if(m){let t=L.map((e,t)=>({label:c[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:M(c[t]),percentage:d[t],displayAsPercentage:n.displayAsPercentage,showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=F,i={outerRadius:A,innerRadius:j,chartWidth:D,chartHeight:O,bgColor:Er(e)};p===ci.Inside?oC(r,t,i):p===ci.Auto?sC(r,t,i):iC(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=gC(u);F.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),F.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(g){let e=0,t=0;y===`top`?t=-(C.height+10):y===`bottom`?t=O+25:y===`left`?e=-(C.width+10):y===`right`&&(e=D+10),SS(E,c,f,t,y,b,D,O,e,h,{left:k.left,right:k.right})}Zb(e,{chartType:r>0?`donut`:`pie`}),a&&(b_(F.node()),S_(e,a))}function bC(e,t,n={},r=!1){yC(e,t,n,0,r)}function xC(e,t,n={},r=!1){v_(r),WS(e);let i=[],a=[],o=null,s=null,c,l,u,d=cv.for(e);if(r){let t=Xb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=x_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ng(e,n.frame),p=p_(f).width,m=c_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=d_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=G_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=h_(f,h),x=Qg(l,b),S=Ei(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=of().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Oi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?Ff().domain([j,M]).nice().range([y,0]):bf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=ex(I,e,`plot`,{x:0,y:0,width:v,height:y}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=VS(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),U=fh().curve(V).defined(ee).x(e=>k(e)).y0(y).y1(e=>N(e.value)),te=dh().curve(V).defined(ee).x(e=>k(e)).y(e=>N(e.value)),ne=Q(z).append(`g`).node(),re=Q(z).append(`g`).node();if(r){for(let e of i)ne.appendChild(e);for(let e of a)re.appendChild(e)}let ie=ox(e),W=[{name:`area`,points:T}];vx(ie,{role:`series-area`,parent:ne,selector:`.bc-area`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:U(e.points)??``,fill:B,opacity:H})}),vx(ie,{role:`series-line`,parent:re,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:te(e.points)??``,fill:`none`,stroke:B,"stroke-width":2})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let ae={left:b.left,top:b.top,width:v,height:y};if(Ex(ie,{svg:I,clipId:L,group:_,from:u,to:ae,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Kb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&qS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Wx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),XS(t,e,T.length,n.lineSymbols,r)}Zb(e,{chartType:`area`,margin:b,plotRect:ae}),s&&(b_(R.node()),S_(e,s))}function SC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return tg().keys(n).order(Qh).offset(r?ng:Zh)(i)}function CC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return tg().keys(n).order(Qh).offset(r?ng:Zh)(i)}var wC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function TC(e,t,n={},r=!1){v_(r),WS(e);let i=t,a=[],o=[],s=null,c,l,u,d=cv.for(e);if(r){let t=Xb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=x_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ng(e,n.frame),p=Ei(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=CS(i),h=m.filter(e=>!AS(e.name,n.seriesOverrides)),g=wS(n.colors??wC,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=Jb(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>jS(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=p_(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,A=n.stackPercent===!0||n.stackMode===si.Percent,j=n.areaSortMode??Qr.None,M=n.areaLines!==!1,N=[...h];if(j!==Qr.None){let e=new Map(N.map(e=>[e.name,e.values.reduce((e,t)=>e+t,0)]));N.sort((t,n)=>{let r=(e.get(t.name)??0)-(e.get(n.name)??0);return j===Qr.Ascending?r:-r})}let P={labels:i.labels,values:i.values,series:N},F=A?CC(P):SC(P),I=0;if(k)for(let e of F)for(let t of e)t[1]>I&&(I=t[1]);else for(let e of N)for(let t of e.values)t>I&&(I=t);A&&(I=100);let L=[0,I],R=n.verticalAxis?.numberFormat??(A?`|d|%`:void 0),z=c_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=d_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?gS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),U=w?hS(v,D,ee):{width:0,height:0},te=w?U.height+15:0,ne={...B};w&&D===`top`&&(ne.top=te+(H?15:0)),w&&D===`left`&&(ne.left=(ne.left??50)+U.width+10),w&&D===`right`&&(ne.right=(ne.right??20)+U.width+10),V>0&&(ne.right=(ne.right??20)+V),ne.bottom=(G_(i.labels,Math.max(0,T-(ne.left??50)-(ne.right??20)),n.horizontalAxis)??Math.max(ne.bottom??24,24))+(D===`bottom`?te:0);let{chartArea:re,width:ie,height:W,margin:ae}=h_(f,ne),oe=Qg(l,ae),se=of().domain(i.labels).range([0,ie]).padding(n.edgePadding?.6:0),ce=se,le=e=>se(i.labels[e])??0,[ue,G]=Oi(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),K=(n.verticalAxis?.scaleType===zr.Log?Ff():bf()).domain([ue,G]).nice().range([W,0]);d.attach(re,oe),d.update({vertical:{scale:K,height:W,options:{...n.verticalAxis,numberFormat:R,gridWidth:ie,topPadding:ae.top}},horizontal:{scale:ce,height:W,options:{...n.horizontalAxis,width:ie}}});let de=re.ownerSVGElement,fe=ex(de,e,`plot`,{x:0,y:0,width:ie,height:W}),pe=Q(re).append(`g`).attr(`clip-path`,`url(#${fe})`),me=pe.node(),he=VS(n.interpolation??`monotoneX`),ge=F.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[K(e[0]),K(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[K(0),K(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),_e=kx(n.highlights,ge.map(e=>e.name)),ve=_e.size>0,ye=n.areaFillOpacity==null?.85:n.areaFillOpacity,be=e=>b.get(e.name)??ES(e.name,e.colorIndex,g,y),xe=fh().curve(he).x((e,t)=>le(t)).y0(e=>e[0]).y1(e=>e[1]),Se=Q(me).append(`g`).node(),q=Q(me).append(`g`).node();if(r){for(let e of a)Se.appendChild(e);for(let e of o)q.appendChild(e)}let Ce=ox(e);vx(Ce,{role:`series-area`,parent:Se,selector:`.bc-area`,data:ge,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:xe(e.points)??``,fill:be(e),opacity:ve?Ax(_e,e.name,ye):ye})}),vx(Ce,{role:`series-line`,parent:q,selector:`.bc-line`,data:M?ge:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=kS(e.name,n.interpolation??`monotoneX`,y),r=dh().curve(VS(t)).x((e,t)=>le(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:be(e),"stroke-width":1,opacity:ve?Ax(_e,e.name,1):1}}});let we={left:ae.left,top:ae.top,width:ie,height:W};if(Ex(Ce,{svg:de,clipId:fe,group:re,from:u,to:we,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Kb(re,n.annotations,{scaleX:ce,scaleY:K,data:t,width:ie,height:W,backgroundColor:Er(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];F.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:le(a),cy:K(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:ES(e.key,n,g,y)})})}),qS(re,{width:ie,height:W,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Te=i.labels.length-1,Ee=le(Te)+6,De=[];if(h.forEach((e,t)=>{if(jS(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[Te];if(!r)return;let i=K((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;De.push({name:e.name,index:t,naturalY:i,text:a})}),De.length>0){De.sort((e,t)=>e.naturalY-t.naturalY);let e=rC(De.map(e=>e.naturalY),0,W,14);De.forEach((t,n)=>{Q(re).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ee).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,ES(t.name,t.index,g,y)).text(t.text)})}let Oe=v.filter(e=>jS(e,S,y)===`legend`);if(w&&Oe.length>0){let e=Oe.map(e=>ES(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=H?15:0;n=-(U.height+10+e)}else D===`bottom`?n=W+Math.max(ae.bottom-te,0):D===`left`?t=-(U.width+10):D===`right`&&(t=ie+10);SS(re,Oe,e,n,D,O,ie,W,t,[],{left:ae.left,right:ae.right})}Zb(e,{chartType:`area-stacked`,margin:ae,plotRect:we}),s&&(b_(pe.node()),S_(e,s))}var EC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function DC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function OC(e,t,n={},r=!1){v_(r);let i=[],a=null,o,s,c,l=cv.for(e);if(r){let t=Xb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=x_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=CS(t),f=d.filter(e=>!AS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=wS(n.colors??EC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=p_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===si.Percent,C=DC(S?CC(x):SC(x),t.labels,d),w=S?100:ia(C,e=>e.y1)??0,T=S?Math.min(0,aa(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=c_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=d_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,_-(O.left??50)-(O.right??20)),j=g?hS(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...O};g&&y===`top`&&(N.top=M+(k?15:0)),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,_-(N.left??50)-(N.right??20));N.bottom=(G_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(y===`bottom`?M:0);let{chartArea:F,width:I,height:L,margin:R}=h_(u,N),z=Qg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let V=rf().domain(B).range([0,I]).padding(Di(n.barGap)),[H,ee]=Oi(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),U=(n.verticalAxis?.scaleType===zr.Log?Ff():bf()).domain([H,ee]).nice().range([L,0]);l.attach(F,z),l.update({vertical:{scale:U,height:L,options:{...n.verticalAxis,gridWidth:I,topPadding:R.top}},horizontal:{scale:V,height:L,options:{...n.horizontalAxis,width:I}}});let te=F.ownerSVGElement,ne=ex(te,e,`bars`,{x:0,y:0,width:I,height:L}),re=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ie=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=Jb(n.colorizes),ae=kx(n.highlights,C.map(e=>e.seriesName)),oe=ox(e),se=re.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),se.appendChild(e);vx(oe,{role:`mark-per-cell`,parent:se,selector:`.bc-bar-stacked`,data:ie,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=W.get(e.seriesName)??ES(e.seriesName,e.seriesIndex,m,h),n=NS(e.seriesName,h),r={"data-series":e.seriesName,x:V(e.label)??0,y:U(e.y1),width:V.bandwidth(),height:U(e.y0)-U(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),ae.size>0&&(r.opacity=Ax(ae,e.seriesName)),r}});let ce={left:R.left,top:R.top,width:I,height:L};Ex(oe,{svg:te,clipId:ne,group:F,from:c,to:ce,active:r&&i.length>0});let le=nx(re);if(n.tooltips&&le.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&le.use(Xy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));le.use(qb(n.annotations,{scaleX:V,scaleY:U,data:i,width:I,height:L,backgroundColor:Er(e),transition:r,priorAnnotations:o}))}let ue=()=>le.draw(ie);oe.state===`committing`?oe.register(ue):ue(),Zb(e,{chartType:`column-stacked`,margin:R,plotRect:ce}),a&&(b_(re.node()),S_(e,a));let G=n.valueLabels??!1,K=Gi(ie,e=>ia(e,e=>e.y1)??0,e=>e.label),de=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ie.forEach(e=>{if(!MS(e.seriesName,G,h))return;let t=(V(e.label)??0)+V.bandwidth()/2,r=Math.abs(U(e.y0)-U(e.y1)),i=U(e.y0)-r/2,a=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Lg(e.value,K.get(e.label)??0):String(Math.round(e.value*100)/100);if(!Rx({text:a,placement:`inside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}))return;let o=W.get(e.seriesName)??ES(e.seriesName,e.seriesIndex,m,h);de.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,i).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(o)).text(a)}),g&&p.length>0){let e=p.map(e=>ES(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(j.height+10+e)}else y===`bottom`?n=L+Math.max(R.bottom-M,0):y===`left`?t=-(j.width+10):y===`right`&&(t=I+10);SS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var kC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function AC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function jC(e,t,n={},r=!1){v_(r);let i=[],a=null,o,s,c,l=cv.for(e);if(r){let t=Xb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=x_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=CS(t),f=d.filter(e=>!AS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=wS(n.colors??kC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=p_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===si.Percent,C=AC(S?CC(x):SC(x),t.labels,d),w=S?100:ia(C,e=>e.y1)??0,T=S?Math.min(0,aa(C,e=>e.y0)??0):0,E=Jx(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=u_(t.labels),k=d_(_,D?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?hS(p,y,j):{width:0,height:0},N=g?M.height+15:0,P={...k};g&&y===`top`&&(P.top=N+(A?15:0)),g&&y===`bottom`&&(P.bottom=(P.bottom??24)+N),g&&y===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let{chartArea:F,width:I,height:L,margin:R}=h_(u,P),z=Qg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let[V,H]=Oi(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),ee=(n.horizontalAxis?.scaleType===zr.Log?Ff():bf()).domain([V,H]).nice().range([0,I]),U=rf().domain(B).range([0,L]).padding(Di(n.barGap));l.attach(F,z),l.update({horizontal:{scale:ee,height:L,options:{...n.horizontalAxis,width:I}},vertical:{scale:U,height:L,options:{...n.verticalAxis,labelPosition:D?Vr.Off:n.verticalAxis?.labelPosition,topPadding:R.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let te=F.ownerSVGElement,ne=ex(te,e,`bars`,{x:0,y:0,width:I,height:L}),re=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ie=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=D?Kx(U.bandwidth()):0,ae=Jb(n.colorizes),oe=kx(n.highlights,C.map(e=>e.seriesName)),se=ox(e),ce=re.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ce.appendChild(e);vx(se,{role:`mark-per-cell`,parent:ce,selector:`.bc-bar-stacked`,data:ie,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=ae.get(e.seriesName)??ES(e.seriesName,e.seriesIndex,m,h),n=NS(e.seriesName,h),r={"data-series":e.seriesName,x:ee(e.y0),y:(U(e.label)??0)+W,width:ee(e.y1)-ee(e.y0),height:Math.max(0,U.bandwidth()-W),fill:t};return n<1&&(r[`fill-opacity`]=n),oe.size>0&&(r.opacity=Ax(oe,e.seriesName)),r}});let le={left:R.left,top:R.top,width:I,height:L};Ex(se,{svg:te,clipId:ne,group:F,from:c,to:le,active:r&&i.length>0});let ue=nx(re);if(n.tooltips&&ue.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ue.use(Xy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));ue.use(qb(n.annotations,{scaleX:U,scaleY:ee,data:i,width:I,height:L,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:o}))}let G=()=>ue.draw(ie);if(se.state===`committing`?se.register(G):G(),Zb(e,{chartType:`bar-stacked`,margin:R,plotRect:le}),a&&(b_(re.node()),S_(e,a)),D){let e=Q(F).append(`g`).attr(`class`,`bc-category-labels`);for(let t of B){let n=U(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let K=n.valueLabels??!1,de=n.valueLabelPosition??ii.Auto,fe=new Set,pe=new Map;for(let e of B){let t=ie.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];fe.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;pe.set(n,ee(t[e+1].y1)-ee(t[e].y1))}}}let me=new Map,he=Gi(ie,e=>ia(e,e=>e.y1)??0,e=>e.label),ge=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ie.forEach(e=>{if(!MS(e.seriesName,K,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Lg(e.value,he.get(e.label)??0):String(Math.round(e.value*100)/100),r=ee(e.y1)-ee(e.y0),i=t.length*6.5+8,a=r>=i,o=(U(e.label)??0)+W+(U.bandwidth()-W)/2,s=ES(e.seriesName,e.seriesIndex,m,h),c=fe.has(e.label+`\0`+e.seriesName),l=de===ii.Outside||de===ii.Auto&&!a&&c,u=Rx({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:U.bandwidth()}),d=()=>{let n=ee(e.y0)+r/2;ge.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)};if(l){if(de===ii.Inside)d();else{let n=ee(e.y1)+4,r=me.get(e.label)??0,a=pe.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=I+R.right-2,f=n+i>l;s||c||f||!u?d():(me.set(e.label,n+i),ge.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=ee(e.y0)+r/2;ge.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>ES(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=A?15:0;n=-(M.height+10+e)}else y===`bottom`?n=L+25:y===`left`?t=-(M.width+10):y===`right`&&(t=I+10);SS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var MC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],NC=16,PC=4,FC=20,IC=`600 11px sans-serif`,LC=`…`;function RC(e,t){if(Ux(e,IC)<=t)return e;let n=e;for(;n.length>0&&Ux(n+LC,IC)>t;)n=n.slice(0,-1);return n+LC}function zC(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*NC)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=Oi(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===zr.Log?Ff():bf()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+NC),panelWidth:o,xScale:l}})}function BC(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(e)for(let r of t){let t=n.indexOf(r),o=t>=0?e.values[t]??0:0,s=Math.max(0,a.xScale(o)-a.xScale(0));i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:o,xPos:a.xOffset,barWidth:s})}}return i}function VC(e,t,n={},r=!1){v_(r);let i=[],a=null,o,s,c,l=cv.for(e);if(r){let t=Xb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=x_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=CS(t),f=d.filter(e=>!AS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=wS(n.colors??MC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=p_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=Jx(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=u_(t.labels),w=d_(_,S?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+FC;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?hS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+FC),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=h_(u,O),N=Qg(o,M),P=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),P=e.map(e=>e.label)}let F=rf().domain(P).range([0,j]).padding(Di(n.barGap)),I=S?Kx(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Vr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=zC(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)Q_(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=ex(z,e,`bars`,{x:0,y:0,width:A,height:j}),V=Q(k).append(`g`).attr(`clip-path`,`url(#${B})`),H=Q(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of L)H.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(RC(e.seriesName,e.panelWidth));let ee=BC(L,P,t.labels,d),U=kx(n.highlights,ee.map(e=>e.seriesName)),te=Jb(n.colorizes),ne=ox(e),re=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),re.appendChild(e);vx(ne,{role:`mark-per-cell`,parent:re,selector:`.bc-bar-split`,data:ee,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=te.get(e.seriesName)??ES(e.seriesName,e.seriesIndex,m,h),n=NS(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(F(e.label)??0)+I,width:e.barWidth,height:Math.max(0,F.bandwidth()-I),fill:t};return n<1&&(r[`fill-opacity`]=n),U.size>0&&(r.opacity=Ax(U,e.seriesName)),r}});let ie={left:M.left,top:M.top,width:A,height:j};Ex(ne,{svg:z,clipId:B,group:k,from:s,to:ie,active:r&&i.length>0});let W=nx(V);if(n.tooltips&&W.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&W.use(Xy({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&L.length>0){let i=L[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));W.use(qb(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let ae=()=>W.draw(ee);if(ne.state===`committing`?ne.register(ae):ae(),Zb(e,{chartType:`bar-split`,margin:M,plotRect:ie}),a&&(b_(V.node()),S_(e,a)),S){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let oe=n.valueLabels??!0,se=n.valueLabelPosition??ii.Auto,ce=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!MS(e.seriesName,oe,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=ES(e.seriesName,e.seriesIndex,m,h),r=e.xPos+e.barWidth,i=Math.max(0,F.bandwidth()-I),a=(F(e.label)??0)+I+i/2,o=r+PC+Ux(String(e.value))<=t.xOffset+t.panelWidth,s=se===ii.Inside||!o||se===ii.Auto&&e.barWidth>30;if(!Rx({text:String(e.value),placement:s?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:i}))return;let c,l,u;s?(c=r-PC,l=`end`,u=wr(n)):(c=r+PC,l=`start`,u=`currentColor`),ce.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,c).attr(`y`,a).attr(`text-anchor`,l).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,u).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>ES(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+FC):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),SS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}var HC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function UC(e,t,n={},r=!1){v_(r);let i=[],a=null,o,s,c,l=cv.for(e);if(r){let t=Xb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=x_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ng(e,n.frame),d=CS(t),f=d.filter(e=>!AS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=wS(n.colors??HC,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=p_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=Jx(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=u_(t.labels),T=d_(v,C?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?hS(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:A,width:j,height:M,margin:N}=h_(u,k),P=Qg(o,N),F=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),F=e.map(e=>e.label)}let I=rf().domain(F).range([0,M]).paddingInner(Di(n.barGap)).paddingOuter(.05),L=C?Kx(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=rf().domain(p).range([0,R]).padding(.05),[B,V]=Oi(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===zr.Log?Ff():bf()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Vr.Off:n.verticalAxis?.labelPosition,topPadding:N.top,...S?{showAxis:!1}:{}}},horizontal:{scale:H,height:M,options:{...n.horizontalAxis,width:j}},order:`horizontal-first`});let ee=A.ownerSVGElement,U=ex(ee,e,`bars`,{x:0,y:0,width:j,height:M}),te=Q(A).append(`g`).attr(`clip-path`,`url(#${U})`);if(n.barBackground){let e=(n.colors??HC)[0];te.selectAll(`.bc-bar-bg`).data(F,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(I(e)??0)+L).attr(`width`,j).attr(`height`,I.bandwidth()-L).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&F.length>1){let e=I.step();for(let t=1;t<F.length;t++){let n=(I(F[t-1])??0)+I.bandwidth()+(e-I.bandwidth())/2;te.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,j).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let ne=[];for(let e of F){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);ne.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let re=kx(n.highlights,ne.map(e=>e.seriesName)),ie=Jb(n.colorizes),W=ox(e),ae=te.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ae.appendChild(e);vx(W,{role:`mark-per-cell`,parent:ae,selector:`.bc-bar-grouped`,data:ne,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=ie.get(e.seriesName)??ES(e.seriesName,e.seriesIndex,h,g),n=NS(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.seriesName)??0),width:Math.max(0,H(e.value)-H(0)),height:z.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),re.size>0&&(r.opacity=Ax(re,e.seriesName)),r}});let oe={left:N.left,top:N.top,width:j,height:M};Ex(W,{svg:ee,clipId:U,group:A,from:s,to:oe,active:r&&i.length>0});let se=nx(te);if(n.tooltips&&se.use(Jy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&se.use(Xy({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));se.use(qb(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let ce=()=>se.draw(ne);if(W.state===`committing`?W.register(ce):ce(),Zb(e,{chartType:`bar-grouped`,margin:N,plotRect:oe}),a&&(b_(te.node()),S_(e,a)),C){let e=Q(A).append(`g`).attr(`class`,`bc-category-labels`);for(let t of F){let n=I(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let le=n.valueLabels??!0,ue=n.valueLabelPosition??ii.Auto,G=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(ne.forEach(e=>{if(!MS(e.seriesName,le,g))return;let t=ES(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,H(e.value)-H(0)),r=H(0)+n,i=(I(e.label)??0)+L+(z(e.seriesName)??0)+z.bandwidth()/2,a=ue===ii.Inside||ue===ii.Auto&&n>30;if(!Rx({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:z.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=wr(t)):(o=r+4,s=`start`,c=`currentColor`),G.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>ES(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=M+25:b===`left`?t=-(D.width+10):b===`right`&&(t=j+10),SS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var WC=[`x`,`y`,`size`];function GC(e){let t=new Set(e.textColumns?.map(e=>e.name));return(e.series?e.series.map(e=>e.name):[`value`]).filter(e=>!t.has(e))}function KC(e,t={}){let n={},r=new Set(WC.map(e=>t[e]).filter(Boolean)),i=GC(e).filter(e=>!r.has(e));for(let e of WC){let r=t[e]||i.shift();r&&r!==`none`&&(n[e]=r)}let a=t.group||e.textColumns?.[0]?.name;return a&&a!==`none`&&(n.group=a),n}function qC(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function JC(e){return typeof e==`number`&&Number.isFinite(e)}function YC(e,t,n,r){if(!JC(e))return n;if(t===zr.Log&&e<=0)return r}function XC(e,t,n){let r=qC(e,t.x),i=qC(e,t.y),a=qC(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=YC(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??YC(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(JC(a[t])&&a[t]>0)?`invalid-size`:void 0);if(l){c.push({name:e,reason:l});return}let u=o?.[t];s.push({name:e,x:r[t],y:i[t],...a&&{size:a[t]},...u&&{group:u}})}),{points:s,dropped:c}}function ZC(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function QC(e,t){let n=t&&{min:ZC(t.min),max:ZC(t.max)},r=Oi(e.filter(e=>e>0),n,zr.Log,!1);return r[0]>0&&Number.isFinite(r[1])?jf().domain(r).nice():jf().domain([1,10])}function $C(e,t,n){if(e===zr.Log)return QC(t,n);let r=Oi(t,n,e,!1);return e===zr.Symlog?Ff().domain(r).nice():bf().domain(r).nice()}function ew(e){switch(e){case zr.Log:return{forward:Math.log10,inverse:e=>10**e};case zr.Symlog:return{forward:e=>Math.sign(e)*Math.log1p(Math.abs(e)),inverse:e=>Math.sign(e)*Math.expm1(Math.abs(e))};default:return{forward:e=>e,inverse:e=>e}}}function tw(e,t,n,r=0){let i=e.copy().range([0,1]),a=[{t:0,r},{t:1,r},...t.map(({value:e,r:t})=>({t:i(e),r:t}))],o=e=>Math.max(...a.map(t=>t.r-t.t*e)),s=e=>{let t=o(e);return a.every(r=>t+r.t*e+r.r<=n)},c=0,l=n;for(let e=0;e<40;e++){let e=(c+l)/2;s(e)?c=e:l=e}let u=o(c);return[u,u+c]}var nw=[1,2,5],rw=11,iw=`${rw}px`,aw=8,ow=6,sw=24,cw=`4 3`,lw=rw*1.2,uw=Jd(`~s`);function dw(e,t){let n=[...new Set(e.map(e=>e.group).filter(e=>!!e))];return new Map(n.map((e,n)=>[e,t[n%t.length]]))}function fw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>nw.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function pw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,iw).attr(`fill`,`currentColor`).text(t)}function mw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=lw)&&n.push(r)}return n.reverse()}function hw(e,{sizeLabel:t,sizeValues:n,radius:r},i){let a=Q(e).append(`g`).attr(`class`,`bc-size-legend`),o=r(n[n.length-1]);t&&pw(a,t,0,i-o*2-ow),mw(n,r).forEach(e=>{let t=r(e);a.append(`circle`).attr(`cx`,o).attr(`cy`,i-t).attr(`r`,t).attr(`fill`,`none`).attr(`stroke`,`currentColor`).attr(`stroke-opacity`,.6),pw(a,uw(e),o*2+ow,i-t*2+aw)})}function gw(e){let t=Q(e).append(`g`).attr(`class`,`bc-trend-key`).attr(`transform`,`translate(0,-16)`);t.append(`line`).attr(`x1`,0).attr(`x2`,sw).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,cw),pw(t,`Trend`,30,10)}function _w({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(uw);i.push(n(t[t.length-1])*2+ow+Math.max(...r.map(e=>Yg(e,rw)))),i.push(Yg(e??``,rw))}return r&&i.push(30+Yg(`Trend`,rw)),Math.ceil(Math.max(...i))}function vw(e,t){let n=t.sizeValues.length>0;if(!n&&!t.trend)return null;let r=Q(e).append(`g`).attr(`class`,`bc-scatter-key`).node();return n&&hw(r,t,t.trend?-24:0),t.trend&&gw(r),r}function yw(e,t){let n=new Set(e.map(e=>e.name)),r=new Set;for(let i of t){if(n.has(i)){r.add(i);continue}e.filter(e=>e.group===i).forEach(e=>r.add(e.name))}return r}function bw(e,t){let n=new Set(e.map(e=>e.name)),r=[...t];return{points:new Map(r.filter(([e])=>n.has(e))),groups:new Map(r.filter(([e])=>!n.has(e)))}}function xw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var Sw=3,Cw=2,ww=1.3;function Tw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*ww/2;return[{key:n,x:r+a+Sw,y:i,anchor:`start`},{key:n,x:r-a-Sw,y:i,anchor:`end`},{key:n,x:r,y:i-a-Sw-o,anchor:`middle`},{key:n,x:r,y:i+a+Sw+o,anchor:`middle`}]}function Ew(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*ww/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function Dw(e,t){return e.left<t.right+Cw&&t.left<e.right+Cw&&e.top<t.bottom&&t.top<e.bottom}function Ow(e,t,n){let r=[],i=[];for(let a of e){let e=Yg(a.text,n);for(let o of Tw(a,n)){let a=Ew(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>Dw(e,a))){r.push(o),i.push(a);break}}}return r}function kw(e){return(e?Ig(e):null)??String}function Aw(e,t,n){let r=[e.name,`${t.x}: ${kw(n.x)(e.x)}`,`${t.y}: ${kw(n.y)(e.y)}`];return e.size!==void 0&&t.size&&r.push(`${t.size}: ${e.size}`),e.group!==void 0&&t.group&&r.push(`${t.group}: ${e.group}`),r.join(`
350
- `)}var jw=[`overall`,`per-group`];function Mw(e){return jw.includes(e??``)}var Nw=3;function Pw(e,t){let n=e.length;if(n<Nw)return null;let r=e.reduce((e,t)=>e+t,0)/n,i=t.reduce((e,t)=>e+t,0)/n,a=e.reduce((e,t)=>e+(t-r)**2,0);if(a===0)return null;let o=e.reduce((e,n,a)=>e+(n-r)*(t[a]-i),0)/a;return{slope:o,intercept:i-o*r}}function Fw(e,t,n,r){let i=ew(t.x),a=ew(t.y),o=e.map(e=>i.forward(e.x)),s=Pw(o,e.map(e=>a.forward(e.y)));if(!s)return null;let[c,l]=[Math.min(...o),Math.max(...o)],u=e=>a.inverse(s.slope*e+s.intercept);return{key:n,group:r,x1:i.inverse(c),y1:u(c),x2:i.inverse(l),y2:u(l)}}function Iw(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):Lw(e);for(let[e,o]of a){let a=Fw(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function Lw(e){let t=new Map;for(let n of e)n.group!==void 0&&t.set(n.group,[...t.get(n.group)??[],n]);return t}var Rw=`#4e79a7`,zw=4.5,Bw=.7,Vw=16,Hw=350,Uw=8,Ww=`6 4`,Gw=1.5,Kw=.6,qw=11,Jw=3;function Yw(e,t){return Math.min(e,t)/12}function Xw(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function Zw(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function Qw(e,t,n){let r=ia(e,e=>e.size);return r===void 0?()=>zw:Vf().domain([0,r]).range([0,Yw(t,n)])}function $w(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Kr.Point?[e.target]:[])),i=n.showLabels?e:e.filter(e=>t.has(e.name)||r.has(e.name)),a=e=>+!t.has(e.name);return Ji(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function eT(e,t,n={},r=!1){v_(r),WS(e);let i=cv.for(e),a=r?Xb(e):void 0,o=[],s=[],c=[],l=null,u;if(r){i.detach(),a?.chartType===`scatter`?(o=Array.from(e.querySelectorAll(`.bc-frame .bc-trend-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-scatter-point`)),c=Array.from(e.querySelectorAll(`.bc-frame .bc-point-label`))):a&&(l=x_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))u.set(e,n);e.replaceChildren()}let d=KC(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=XC(t,d,f),m=$C(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=$C(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=Ng(e,n.frame),_=p_(g).width,v=l_(h,n.verticalAxis?.numberFormat),y=d_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=dw(p,n.colors??uC),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<Hw&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=ia(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:fw(E),trend:Mw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>Vf().domain([0,E??1]).range([0,Yw(e,t)]),A=_>0?_:600,j=p_(g).height||400,M=y.top==null?0:15,N=y.right??$g.right,P={...y,right:N},F={width:0,height:0},I=0,L=0;for(let e=0;e<3;e++){let e=P.left??$g.left,t=Math.max(0,A-e-P.right);F=S?hS(x,w,t):{width:0,height:0},I=S?F.height+15:0,S&&w===`top`&&(P.top=I+M),S&&w===`left`&&(P.left=(y.left??50)+F.width+10),L=S&&w===`right`?F.width+10:0,P.bottom=Math.max(y.bottom??24,24)+(S&&w===`bottom`?I:0);let n=j-(P.top??$g.top)-P.bottom,r=O?_w({...D,radius:k(t,n)}):0;P.right=L+(O?Vw+r:N)}let{chartArea:R,width:z,height:B,margin:V}=h_(g,P),H=Qg(a?.margin,V),ee=Qw(p,z,B),U=e=>ee(e.size??0);m.range(tw(m,p.map(e=>({value:e.x,r:U(e)+1})),z));let[te,ne]=tw(h,p.map(e=>({value:e.y,r:U(e)+1})),B,Uw);h.range([B-te,B-ne]),i.attach(R,H),i.update({vertical:{scale:h,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:m,height:B,options:{...n.horizontalAxis,width:z}}});let re=R.ownerSVGElement,ie=ex(re,e,`plot`,{x:0,y:0,width:z,height:B}),W=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node(),ae=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node();W.append(...o);let oe=Ji(p,e=>-U(e)),se=new Map(oe.map((e,t)=>[e.name,t]));ae.append(...Ji(s,e=>se.get(e.getAttribute(`data-key`))??1/0));let ce=bw(p,Jb(n.colorizes)),le=new Map(x.map(e=>[e,ce.groups.get(e)??b.get(e)])),ue=yw(p,(n.highlights??[]).map(e=>e.target)),G=e=>xw(e,ce.points,le,Rw),K=Er(e),de=ox(e);vx(de,{role:`series-line`,parent:W,selector:`.bc-trend-line`,data:Mw(n.trend)?Iw(p,n.trend,f).segments:[],key:e=>e.key,insert:e=>e.append(`path`).attr(`class`,`bc-trend-line`).attr(`data-key`,e=>e.key),attrs:e=>({d:`M${m(e.x1)},${h(e.y1)}L${m(e.x2)},${h(e.y2)}`,fill:`none`,stroke:e.group===void 0?`currentColor`:le.get(e.group),"stroke-opacity":e.group===void 0?Kw:1,"stroke-width":Gw,"stroke-dasharray":Ww})});let fe=e=>({cx:m(e.x),cy:h(e.y),r:U(e),fill:G(e),"fill-opacity":Ax(ue,e.name,Bw),stroke:K,"stroke-width":1,opacity:1});vx(de,{role:`mark-per-category`,parent:ae,selector:`.bc-scatter-point`,data:oe,key:e=>e.name,insert:e=>e.append(`circle`).attr(`class`,`bc-scatter-point`).attr(`data-key`,e=>e.name),attrs:fe,enterFrom:e=>({...fe(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(ae).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let pe=Ow($w(p,ue,n).map(e=>({key:e.name,text:e.name,cx:m(e.x),cy:h(e.y),r:U(e)})),{width:z,height:B},qw),me=Q(R).append(`g`).node();me.append(...c);let he=e=>({x:e.x,y:e.y,"text-anchor":e.anchor,opacity:1});if(vx(de,{role:`value-label`,parent:me,selector:`.bc-point-label`,data:pe,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-point-label`).attr(`data-key`,e=>e.key).attr(`dominant-baseline`,`central`).attr(`font-size`,qw).attr(`fill`,`currentColor`).text(e=>e.key),attrs:he,enterFrom:e=>({...he(e),opacity:0}),exitTo:()=>({opacity:0})}),n.annotations?.length){let e=p.map(e=>({label:e.name,value:e.y,x:e.x}));Kb(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:K,transition:r,priorAnnotations:u})}let ge={left:V.left,top:V.top,width:z,height:B};Ex(de,{svg:re,clipId:ie,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:ge,active:r}),S&&SS(R,x,[...le.values()],Zw(w,F.height+M,I,B,V.bottom),w,T,z,B,Xw(w,F.width,z),[],{left:V.left,right:V.right});let _e=vw(R,{...D,radius:ee}),ve=_w({...D,radius:ee});if(_e?.setAttribute(`transform`,`translate(${Math.max(z+L+Vw,z+V.right-ve)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};qS(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:Aw(e,d,t),value:e.y,color:G(e),r:U(e)+Jw})),nearest:`xy`,format:e=>e.label,container:e})}Zb(e,{chartType:`scatter`,margin:V,plotRect:ge}),l&&(b_(W),b_(ae),S_(e,l))}var tT={low:/(?<![a-z\d])(low|lower|min|minimum)(?![a-z\d])/i,high:/(?<![a-z\d])(high|upper|max|maximum)(?![a-z\d])/i};function nT(e,t){return e.find(e=>tT[t].test(e))}function rT(e,t,n){if(n!==`none`)return n?e.find(e=>e===n):nT(e,t)}function iT(e,t={}){let n=GC(e);if(t.dotStyle!==ei.Range)return{mode:n.length>1?`dumbbell`:`single`,values:n,ignored:[]};let r=rT(n,`low`,t.low),i=rT(n.filter(e=>e!==r),`high`,t.high),[a,...o]=n.filter(e=>e!==r&&e!==i);return r&&i&&a?{mode:`range`,values:[a],low:r,high:i,ignored:o}:{mode:`single`,values:[a??n[0]].filter(Boolean),ignored:[]}}function aT(e,t,n){let r=(n?Ig(n):null)??String,i=[e.name,...t.values.map((t,n)=>`${t}: ${r(e.values[n])}`)];return e.low!==void 0&&t.low&&i.push(`${t.low}: ${r(e.low)}`),e.high!==void 0&&t.high&&i.push(`${t.high}: ${r(e.high)}`),i.join(`
351
- `)}function oT(e){return typeof e==`number`&&Number.isFinite(e)}function sT(e,t,n){if(!e.values.every(oT))return`missing-value`;if(t.mode===`range`&&!(oT(e.low)&&oT(e.high)))return`missing-range`;let r=[...e.values,e.low,e.high].filter(oT);return n===zr.Log&&r.some(e=>e<=0)?`non-positive-log`:void 0}function cT(e,t,n){let r=t.values.map(t=>qC(e,t)??[]),i=qC(e,t.low)??[],a=qC(e,t.high)??[],o=[],s=[];return e.labels.forEach((e,c)=>{let l={name:e,values:r.map(e=>e[c])};t.mode===`range`&&(l.low=i[c],l.high=a[c]);let u=sT(l,t,n);u?s.push({name:e,reason:u}):o.push(l)}),{rows:o,dropped:s}}function lT(e,t,n){if(t===ti.None)return[...e];let r=t===ti.Gap&&n===`dumbbell`?e=>e.values[e.values.length-1]-e.values[0]:e=>e.values[0];return[...e].sort((e,t)=>r(t)-r(e))}function uT(e,t,n,r){let i=new Map(e.map(e=>[e.name,e]));return{scaleX:n,scaleY:t,orientation:Jr.Horizontal,data:[],markCenter:e=>{let n=ia(i.get(e)?.values??[],e=>t(e));return n===void 0?void 0:{x:n,y:r(e)}}}}var dT=.25,fT=.4,pT=2,mT=350,hT=5,gT=6,_T=11;function vT(e,t,n={},r=!1){WS(e),v_(r);let i=cv.for(e),a=r?Xb(e):void 0,o={ranges:[],lines:[],dots:[],labels:[]},s=null,c=new Map;if(r){i.detach(),a?.chartType===`dot-plot`?(o.ranges=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-range`)),o.lines=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-line`)),o.dots=Array.from(e.querySelectorAll(`.bc-frame .bc-dot`)),o.labels=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-label`))):a&&(s=x_(e));for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of $y(t))c.set(e,n);e.replaceChildren()}let l=iT(t,{dotStyle:n.dotStyle,low:n.low,high:n.high}),u=n.horizontalAxis?.scaleType,d=lT(cT(t,l,u).rows,n.sortMode,l.mode),f=l.values,p=l.mode===`dumbbell`,m=wS(n.colors??uC,f.length),h=e=>p?m[e]:n.colors?.[0]??`#4e79a7`,{body:g}=Ng(e,n.frame),_=p_(g).width,v=n.legend!==!1&&p,y=n.legendPosition??`top`,b=_>0&&_<mT&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=Jx(_,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=d_(_,C?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,u_(t.labels),n.horizontalAxis?.showAxis),T=Math.max(0,_-(w.left??50)-(w.right??20)),E=v?hS(f,b,T):{width:0,height:0},D=v?E.height+15:0,O={...w};v&&b===`top`&&(O.top=D),v&&b===`bottom`&&(O.bottom=(O.bottom??24)+D),v&&b===`left`&&(O.left=(O.left??50)+E.width+10),v&&b===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=h_(g,O),N=Qg(a?.margin,M),P=rf().domain(d.map(e=>e.name)).range([0,j]).paddingInner(.3).paddingOuter(.05),F=C?Kx(P.bandwidth()):0,I=e=>(P(e)??0)+F+(P.bandwidth()-F)/2,L=d.flatMap(e=>[...e.values,...e.low===void 0?[]:[e.low,e.high]]),R=Ig(n.horizontalAxis?.numberFormat??``)??String,z=n.valueLabels?yT(d,l.mode,R,A):0,B=$C(u,L,n.horizontalAxis?.range).range([p?z:0,A-z]);i.attach(k,N),i.update({vertical:{scale:P,height:j,options:{...n.verticalAxis,labelPosition:C?Vr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:B,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let V=k.ownerSVGElement,H=ex(V,e,`plot`,{x:0,y:0,width:A,height:j}),ee=Q(k).append(`g`).attr(`clip-path`,`url(#${H})`),U=()=>ee.append(`g`).node(),te=U(),ne=U(),re=U();te.append(...o.ranges),ne.append(...o.lines),re.append(...o.dots);let ie=Er(e),W=ox(e),ae=kx(n.highlights,d.map(e=>e.name)),oe=e=>Ax(ae,e),se=Jb(n.colorizes),ce=d.filter(e=>e.low!==void 0),le=e=>({x:Math.min(B(e.low),B(e.high)),y:I(e.name)-5,width:Math.abs(B(e.high)-B(e.low)),height:10,rx:5,fill:se.get(e.name)??h(0),"fill-opacity":dT,opacity:oe(e.name)});vx(W,{role:`mark-per-category`,parent:te,selector:`.bc-dot-range`,data:ce,key:e=>e.name,insert:e=>e.append(`rect`).attr(`class`,`bc-dot-range`).attr(`data-key`,e=>e.name),attrs:le,enterFrom:e=>({...le(e),opacity:0}),exitTo:()=>({opacity:0})});let ue=p?d:[],G=e=>{let[t,r]=Ri(e.values).map(e=>B(e)),i=I(e.name),a=Math.sign(e.values.at(-1)-e.values[0]),o=n.arrows??$r.None,s=bT(a>0?r:t,a,o===$r.Forward||o===$r.Both),c=bT(a>0?t:r,-a,o===$r.Backward||o===$r.Both);return{d:`M${t},${i}L${r},${i}${xT(s,i)}${xT(c,i)}`,fill:`none`,stroke:`currentColor`,"stroke-opacity":fT,"stroke-width":pT,opacity:oe(e.name)}};vx(W,{role:`series-line`,parent:ne,selector:`.bc-dot-line`,data:ue,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-dot-line`).attr(`data-key`,e=>e.name),attrs:G,enterFrom:e=>({...G(e),opacity:0}),exitTo:()=>({opacity:0})});let K=d.flatMap(e=>f.map((t,n)=>({row:e.name,column:t,value:e.values[n],color:h(n)}))),de=e=>({"data-series":e.column,cx:B(e.value),cy:I(e.row),r:5,fill:se.get(e.row)??e.color,stroke:ie,"stroke-width":1,opacity:oe(e.row)});vx(W,{role:`mark-per-cell`,parent:re,selector:`.bc-dot`,data:K,key:e=>`${e.row}\0${e.column}`,insert:e=>e.append(`circle`).attr(`class`,`bc-dot`).attr(`data-key`,e=>`${e.row}|${e.column}`),attrs:de,enterFrom:e=>({...de(e),opacity:0}),exitTo:()=>({opacity:0})});let fe=Q(k).append(`g`).node();if(fe.append(...o.labels),CT(W,fe,n.valueLabels?ST(d,f,l.mode,B,R):[],I,oe),n.annotations?.length&&Kb(k,n.annotations,{...uT(d,B,P,I),width:A,height:j,backgroundColor:ie,transition:r,priorAnnotations:c}),n.tooltips){let t=new Map(d.map(e=>[e.name,aT(e,l,n.horizontalAxis?.numberFormat)]));qS(k,{width:A,height:j,points:K.map(e=>({cx:B(e.value),cy:I(e.row),label:t.get(e.row),value:e.value,color:se.get(e.row)??e.color,r:5})),nearest:`xy`,format:e=>e.label,container:e})}if(C){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of d)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,(P(t.name)??0)+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t.name)}let pe={left:M.left,top:M.top,width:A,height:j};if(Ex(W,{svg:V,clipId:H,group:k,from:a?.chartType===`dot-plot`?a.plotRect:void 0,to:pe,active:r}),v){let e=b===`left`?-(E.width+10):b===`right`?A+10:0;SS(k,f,m,b===`top`?-(E.height+10):b===`bottom`?j+25:0,b,x,A,j,e,[],{left:M.left,right:M.right})}Zb(e,{chartType:`dot-plot`,margin:M,plotRect:pe}),s&&(b_(ee.node()),b_(fe),S_(e,s))}function yT(e,t,n,r){let i=Xg(e.flatMap(e=>e.values).map(n),_T)+gT+(t===`range`?0:5);return Math.min(i,r/4)}function bT(e,t,n){let r=n?t:0,i=e-r*5;return{tipX:i,armX:i-r*hT,armOffset:r===0?0:hT}}function xT({tipX:e,armX:t,armOffset:n},r){return`M${t},${r-n}L${e},${r}L${t},${r+n}`}function ST(e,t,n,r,i){return e.flatMap(e=>{if(n===`range`)return[{key:`${e.name}|range`,row:e.name,text:i(e.values[0]),x:Math.max(r(e.low),r(e.high))+gT,anchor:`start`}];let a=t.map((e,t)=>t).sort((t,n)=>e.values[t]-e.values[n]),o=a.length>1?[a[0],a.at(-1)]:a;return o.map((n,a)=>{let s=o.length>1&&a===0;return{key:`${e.name}|${t[n]}`,row:e.name,series:t[n],text:i(e.values[n]),x:r(e.values[n])+(s?-1:1)*11,anchor:s?`end`:`start`}})})}function CT(e,t,n,r,i){let a=e=>({...e.series?{"data-series":e.series}:{},x:e.x,y:r(e.row),"text-anchor":e.anchor,fill:`currentColor`,opacity:i(e.row)});vx(e,{role:`value-label`,parent:t,selector:`.bc-dot-label`,data:n,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-dot-label`).attr(`data-key`,e=>e.key).attr(`font-size`,`${_T}px`).attr(`dominant-baseline`,`central`).text(e=>e.text),attrs:a,enterFrom:e=>({...a(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(t).selectAll(`.bc-dot-label`).data(n,e=>e.key).text(e=>e.text)}var wT=new Map;function TT(e,t,n){wT.set(e,{renderer:t,options:n})}function ET(e){return wT.get(e)?.renderer}function DT(e){return wT.get(e)?.options??[]}var OT=[{value:Br.Solid,text:`Solid`},{value:Br.Dashed,text:`Dashed`},{value:Br.Dotted,text:`Dotted`},{value:Br.None,text:`None`}],kT={key:`colors`,type:Z.Colors,label:`Colors`},AT={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...ae().map(e=>({value:e.name,text:e.label}))]},jT={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},MT={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},NT={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},PT={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ni.Top,choices:[{value:ni.Top,text:`Top`},{value:ni.Bottom,text:`Bottom`},{value:ni.Left,text:`Left`},{value:ni.Right,text:`Right`}]},FT={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:ri.Start,choices:[{value:ri.Start,text:`Start`},{value:ri.Middle,text:`Middle`},{value:ri.End,text:`End`}]},IT={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:ci.Off,choices:[{value:ci.Off,text:`Off`},{value:ci.Auto,text:`Auto`},{value:ci.Outside,text:`Outside`},{value:ci.Inside,text:`Inside`}]},LT={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:ri.Middle,choices:[{value:ri.Start,text:`Start`},{value:ri.Middle,text:`Middle`},{value:ri.End,text:`End`}]},RT={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},zT={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:ii.Auto,choices:[{value:ii.Auto,text:`Auto`},{value:ii.Outside,text:`Outside`},{value:ii.Inside,text:`Inside`}]},BT={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},VT={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},HT={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:ai.Both,choices:[{value:ai.Both,text:`Both`},{value:ai.Vertical,text:`Vertical`},{value:ai.Horizontal,text:`Horizontal`}]},UT={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:oi.Dashed,choices:[{value:oi.Solid,text:`Solid`},{value:oi.Dashed,text:`Dashed`},{value:oi.Dotted,text:`Dotted`}]},WT={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},GT={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},KT={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Yr.Circle,choices:[{value:Yr.Circle,text:`Circle`},{value:Yr.Square,text:`Square`},{value:Yr.Diamond,text:`Diamond`},{value:Yr.Triangle,text:`Triangle Up`},{value:Yr.TriangleDown,text:`Triangle Down`},{value:Yr.Cross,text:`Cross`},{value:Yr.Star,text:`Star`}]},qT={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:Xr.FirstLast,choices:[{value:Xr.FirstLast,text:`First & Last`},{value:Xr.First,text:`First`},{value:Xr.Last,text:`Last`},{value:Xr.All,text:`All`}]},JT={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:Zr.Filled,choices:[{value:Zr.Filled,text:`Filled`},{value:Zr.Hollow,text:`Hollow`}]},YT={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},XT={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},ZT={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:ti.None,choices:[{value:ti.None,text:`None`},{value:ti.Total,text:`By total`},{value:ti.WithinGroups,text:`Within groups`}]},QT={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},$T={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},eE={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},tE={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},nE={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},rE={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},iE={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},aE={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},oE={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},sE={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:si.Normal,choices:[{value:si.Normal,text:`Normal`},{value:si.Percent,text:`Percentage (100%)`}]},cE={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},lE={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},uE={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},dE={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},fE={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},pE={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},mE={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},hE={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},gE={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},_E={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},vE={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},yE={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},bE={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:Qr.None,choices:[{value:Qr.None,text:`Keep order`},{value:Qr.Ascending,text:`Smallest first`},{value:Qr.Descending,text:`Largest first`}]},xE={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:li.Linear,choices:[{value:li.Linear,text:`Linear`},{value:li.MonotoneX,text:`Monotone`},{value:li.Step,text:`Step`},{value:li.StepBefore,text:`Step (before)`},{value:li.StepAfter,text:`Step (after)`},{value:li.Basis,text:`Basis`},{value:li.Cardinal,text:`Cardinal`},{value:li.CatmullRom,text:`Catmull-Rom`}]},SE={[zr.Linear]:`Linear`,[zr.Log]:`Logarithmic`,[zr.Symlog]:`Symmetric log`};function CE(e){return e.map(e=>({value:e,text:SE[e]}))}var wE=[{value:Vr.Auto,text:`Auto`},{value:Vr.Inside,text:`Inside`},{value:Vr.Outside,text:`Outside`},{value:Vr.Off,text:`Off`}],TE=[{value:Hr.Auto,text:`Auto`},{value:Hr.Horizontal,text:`Horizontal`},{value:Hr.Vertical,text:`Vertical`}];function EE(e){let t=CE(e.scaleTypeChoices??[zr.Linear,zr.Log]),n=e.valueAxis===`vertical`||e.valueAxis===`both`,r=e.valueAxis===`horizontal`||e.valueAxis===`both`;return[{key:`showVerticalAxis`,type:Z.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Z.Select,label:`Vertical axis side`,default:Rr.Left,choices:[{value:Rr.Left,text:`Left`},{value:Rr.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Z.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Z.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?Vr.Off:Vr.Auto,choices:wE},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:OT},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:zr.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Z.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Z.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Z.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?Vr.Off:Vr.Auto,choices:wE},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Hr.Horizontal,choices:TE},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:OT},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:zr.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var DE=EE({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),OE=EE({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),kE=EE({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),AE=EE({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),jE={...xE,default:li.MonotoneX},ME={...HT,default:ai.Vertical},NE={...VT,default:!0},PE={...GT,default:!0},FE={...ZT,default:ti.Total},IE={...RT,default:!0},LE={...RT,default:!0},RE={...uE,default:!0},zE={...mE,default:`5`},BE={...dE,default:!0},VE={...IT,default:ci.Auto},HE={...NT,default:!1},UE=[VT,HT,UT,WT],WE=[NE,ME,UT,WT],GE=[LE,zT,BT,...UE],KE=[IE,zT,BT,...UE],qE=[GT,KT,qT,JT,YT,XT],JE=[PE,KT,qT,JT,YT,XT],YE=[RT,BT,...WE,...qE],XE=[RT,BT,...WE,...JE],ZE=[RE,fE,pE,zE,hE],QE=[uE,BE,fE,pE,mE,hE];TT(Lr.BarVertical,Qx,[kT,AT,jT,MT,oE,tE,rE,nE,iE,aE,$T,eE,lE,...DE,...GE]),TT(Lr.BarHorizontal,iS,[kT,AT,jT,MT,oE,tE,rE,nE,iE,aE,$T,eE,lE,...OE,...KE]),TT(Lr.BarMulti,zS,[kT,AT,jT,MT,FE,HE,FT,PT,VE,LT,...DE,...GE]),TT(Lr.Line,ZS,[kT,AT,jT,MT,jE,QT,...kE,...YE]),TT(Lr.LineMulti,dC,[kT,AT,jT,MT,jE,QT,ZT,HE,FT,PT,VE,...kE,...XE]),TT(Lr.Donut,vC,[kT,AT,jT,MT,HE,FT,PT,VE,BT,...QE]),TT(Lr.Pie,bC,[kT,AT,jT,MT,HE,FT,PT,VE,BT,...ZE]),TT(Lr.Area,xC,[kT,AT,jT,MT,jE,QT,...AE,...YE]);var $E=EE({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});TT(Lr.AreaStacked,TC,[kT,AT,jT,MT,gE,jE,QT,bE,_E,vE,yE,NT,FT,PT,IT,...$E,BT,...WE]),TT(Lr.ColumnStacked,OC,[kT,AT,jT,MT,sE,ZT,NT,FT,PT,IT,LT,...DE,...GE]),TT(Lr.BarStacked,jC,[kT,AT,jT,MT,sE,ZT,NT,FT,PT,IT,LT,lE,...OE,...KE]),TT(Lr.BarSplit,VC,[kT,AT,jT,MT,cE,ZT,NT,FT,PT,lE,...OE,IE,zT,BT,...UE]),TT(Lr.BarGrouped,UC,[kT,AT,jT,MT,FE,NT,FT,PT,tE,rE,lE,...OE,IE,zT,BT,...UE]);var eD=[{key:`x`,type:Z.Text,label:`X axis`,default:``},{key:`y`,type:Z.Text,label:`Y axis`,default:``},{key:`size`,type:Z.Text,label:`Bubble size`,default:``},{key:`group`,type:Z.Text,label:`Color groups`,default:``}],tD={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},nD={...fE,default:!1,label:`Label all points`},rD=EE({verticalGrid:Br.Dashed,horizontalGrid:Br.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[zr.Linear,zr.Log,zr.Symlog]});TT(Lr.Scatter,eT,[kT,AT,jT,MT,...eD,tD,nD,NT,PT,FT,{...BT,default:!0},...rD]);var iD=[{key:`low`,type:Z.Text,label:`Low column`,default:``},{key:`high`,type:Z.Text,label:`High column`,default:``}],aD={key:`dotStyle`,type:Z.Select,label:`Style`,default:ei.Dumbbell,choices:[{value:ei.Dumbbell,text:`Dumbbell`},{value:ei.Range,text:`Range`}]},oD={key:`arrows`,type:Z.Select,label:`Arrows`,default:$r.None,choices:[{value:$r.None,text:`None`},{value:$r.Forward,text:`Forward`},{value:$r.Backward,text:`Backward`},{value:$r.Both,text:`Both`}]},sD={...ZT,default:ti.Value,choices:[{value:ti.None,text:`None`},{value:ti.Value,text:`By value`},{value:ti.Gap,text:`By gap`}]},cD=EE({verticalGrid:Br.None,horizontalGrid:Br.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`});TT(Lr.DotPlot,vT,[kT,AT,jT,MT,aD,...iD,oD,sD,NT,PT,FT,lE,...cD,RT,{...BT,default:!0}]),TT(Lr.VerticalBar,Qx,[kT,AT,jT,MT,oE,tE,rE,nE,iE,aE,$T,eE,lE,...DE,...GE]),TT(Lr.HorizontalBar,iS,[kT,AT,jT,MT,oE,tE,rE,nE,iE,aE,$T,eE,lE,...OE,...KE]);function lD(e){let t=(e??``).trim();return t&&xi(t)!==void 0?t:void 0}function uD(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=lD(e.verticalRangeMin),r=lD(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function dD(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=lD(e.horizontalRangeMin),r=lD(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var fD=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.connectionsOpacity.areaFillOpacity`.split(`.`));function pD(e,t){if(!t)return{};let n={};for(let{key:r}of DT(t)){let t=e[r];t!==void 0&&!fD.has(r)&&(n[r]=t)}return n}function mD(e,t){let n={},r=W(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Mr(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function hD(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function gD(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Yr.Circle,showOn:e.lineSymbolShowOn??Xr.FirstLast,style:e.lineSymbolStyle??Zr.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function _D(e,t,n){let r={...pD(e,n),...mD(e,t),...hD(e),...uD(e),...dD(e),...gD(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.sliceMax??``,10);!isNaN(i)&&i>0&&(r.sliceMax=i),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let a=parseFloat(e.barGap??``);isNaN(a)||(r.barGap=Math.max(0,Math.min(100,a))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let o=parseFloat(e.connectionsOpacity??``);isNaN(o)||(r.connectionsOpacity=Math.max(0,Math.min(1,o))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let s=parseFloat(e.areaFillOpacity??``);return isNaN(s)||(r.areaFillOpacity=s),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var vD=e=>e===!0||String(e).toLowerCase()===`true`;function yD(e){return new Map(e.map(e=>[e.key,e.value]))}function bD(e,t){let n=yD(t),r=DT(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Z.Colors?a[e.key]=z(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Z.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=vD(t):a[e.key]=String(t))}return a}function xD(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function SD(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>I(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!xD(String(e))?String(e):I(String(e)));return`${I(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${I(t)}`:typeof e.value==`string`&&xD(t)?`${I(e.key)} = ${I(t)}`:`${I(e.key)} = ${t}`}).join(`
352
- `)}function CD(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function wD(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function TD(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function ED(e){return e.map(e=>({target:e.target,color:CD(e.properties,`color`)??`#e15759`,label:CD(e.properties,`label`)}))}function DD(e){return e.map(e=>({target:e.target}))}function OD(e){return e.map(e=>{let t=yD(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function kD(e){let t=e.get(`repeat`);if(vD(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function AD(e){return e.map(e=>{let t=yD(e.properties),n=e.kind??Kr.Point;if(n===Kr.Range){let e={kind:Kr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=kD(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===Kr.Free){let n={kind:Kr.Free,text:String(t.get(`text`)??``),x:wD(e.properties,`x`)??0,y:wD(e.properties,`y`)??0};n.repeat=kD(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=TD(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=vD(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Kr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=kD(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=TD(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=vD(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=vD(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=vD(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=vD(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function jD(e){return e.map(e=>{let t=yD(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:vD(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=vD(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=vD(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function MD(e,t,n){if(!n&&t!==di.Equals&&t!==di.NotEquals)return!0;switch(t){case di.Equals:return e===n;case di.NotEquals:return e!==n;case di.Contains:return e.toLowerCase().includes(n.toLowerCase());case di.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case di.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function ND(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>MD(e[n]??``,t.condition??di.Equals,t.value??``));return{...e,rows:r}}function PD(e){return Number(j(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function FD(e,t,n){return n===`number`?PD(e)-PD(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function ID(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var LD={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function RD(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!LD[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function zD(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>PD(e[n]??``));return String(LD[e](r))}function BD(e,t){let n=ID({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=RD(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>zD(e.fn,t,e.colIndex))])}}function VD(e,t){let n=ID(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var HD=[`string`,`number`,`date`],UD=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:fi.Type,accepts:HD,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:fi.Type,accepts:HD,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:fi.Type,accepts:HD,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:fi.Type,accepts:HD,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:fi.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:fi.String,accepts:HD,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:fi.String,accepts:HD,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:fi.String,accepts:HD,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:fi.String,accepts:HD,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:fi.String,accepts:HD,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:fi.String,accepts:HD,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:fi.String,accepts:HD,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:fi.String,accepts:HD,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:fi.String,accepts:HD,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:fi.String,accepts:HD,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:fi.String,accepts:HD,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:fi.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:fi.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:fi.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:fi.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:fi.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:fi.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:fi.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:fi.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:fi.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:fi.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:fi.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:fi.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],WD=new Map(UD.map(e=>[e.id,e]));function GD(e,t){let n=WD.get(e);return n?n.accepts.includes(t):!1}function KD(e){return WD.get(e)?.outputType??`string`}function qD(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function JD(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function YD(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return JD(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function XD(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function ZD(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return qD(e,e=>Math.round(e*t)/t)}case`floor`:return qD(e,Math.floor);case`ceil`:return qD(e,Math.ceil);case`abs`:return qD(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return qD(e,e=>Math.min(Math.max(e,t),r))}case`log`:return qD(e,e=>e>0?Math.log(e):NaN);case`exp`:return qD(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return qD(e,e=>Math.floor(e/t)*t)}default:return e}}function QD(e,t,n){switch(t){case`extract-year`:return JD(e,e=>String(e.getFullYear()));case`extract-month`:return JD(e,e=>String(e.getMonth()+1));case`extract-day`:return JD(e,e=>String(e.getDate()));case`extract-weekday`:return JD(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return JD(e,e=>String(e.getHours()));case`shift-date`:return JD(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return JD(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:JD(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function $D(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?YD(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?ZD(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?QD(e,t,n):XD(e,t,n)}function eO(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function tO(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function nO(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function rO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!GD(r,i))return eO(e,n);if(r===`split`)return tO(e,n,t);if(r===`normalize`||r===`standardize`)return nO(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=$D(e[n],r,t);let o=[...e.columnTypes];return o[n]=KD(r),{columns:[...e.columns],rows:a,columnTypes:o}}function iO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function aO(e,t){let n=ID(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===Qr.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>PD(e[t]??``)),o=r.map(e=>PD(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=FD(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function oO(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var sO=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],cO=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,lO=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function uO(e){if(!e)return!1;for(let t of sO)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function dO(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=j(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function fO(e){if(!e)return!1;let t=j(dO(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function pO(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every(uO)?`date`:r.every(fO)?`number`:`string`})}function mO(e){let t=e.split(`
353
- `).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=z(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(lO),i=n??t[e].match(cO);i&&r.push({cells:z(i[2]).map(R),label:L(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim());return hO([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(cO);t&&i.push([L(t[1]),R(t[2])])}return hO(r,i)}function hO(e,t){return{columns:e,rows:t,columnTypes:pO(e,t)}}function gO(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:I(e)}function _O(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${I(t)} = ${gO(n)}`}).join(`
354
- `):[`series = ${e.slice(1).map(I).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>gO(e??``)).join(`,`);return`${I(t)} = ${n}`})].join(`
355
- `)}function vO(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=new Map(e.textColumns?.map(e=>[e.name,e.values])),i=(e,n,i)=>r.has(e)?r.get(e)?.[i]??``:t(n[i]),a=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>i(e.name,e.values,r)):[t(e.values[r])]]);return{columns:n,rows:a,columnTypes:pO(n,a)}}var yO=new Set(Object.values(ui));function bO(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case ui.Sort:i=aO(i,t.config);break;case ui.Filter:i=ND(i,t.config);break;case ui.HideColumns:i=VD(i,t.config);break;case ui.Transpose:i=oO(i);break;case ui.Parse:i=rO(i,t.config);break;case ui.Rename:i=iO(i,t.config);break;case ui.GroupBy:i=BD(i,t.config)}return i}function xO(e){return e.filter(e=>yO.has(e.transformType)).map(e=>{let t={};for(let[n,r]of yD(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function SO(e,t){let n=xO(t);if(n.length===0)return e;let r=mO(e);if(r.columns.length===0)return e;let i=bO(n,r.columns,r.rows,r.columnTypes);return _O(i.columns,i.rows)}function CO(e,t){let n=xO(t);if(n.length===0||e.labels.length===0)return e;let r=vO(e),i=bO(n,r.columns,r.rows,r.columnTypes);return ne(_O(i.columns,i.rows))}var wO=new Set;function TO(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ti.Total:!yO.has(t.transformType)&&!wO.has(t.transformType)&&(wO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function EO(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:vD(n)||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function DO(e){let t=yD(e.properties),n=ne(SO(e.data?SD(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===Qr.Ascending||i===Qr.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===ti.Total||s===ti.WithinGroups||s===ti.None)&&(c=s),c=TO(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:EO(t),colorizes:ED(e.colorizes),highlights:DD(e.highlights),areaFills:OD(e.areaFills),annotations:AD(e.annotations),seriesOverrides:jD(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var OO=Object.create(null);function kO(e){if(!OO[e]){let t={};for(let n of DT(e))n.default!==void 0&&(t[n.key]=n.default);OO[e]=t}return{...OO[e]}}function AO(e,t){let n=kO(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var jO=[`verticalLabelPosition`,`horizontalLabelPosition`];function MO(e,t,n){let r=kO(t),i={...e};for(let e of jO)n[e]===void 0&&r[e]!==void 0&&r[e]!==Vr.Off&&(i[e]=r[e]);return i}var NO=new Set;function PO(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ti.Total:!yO.has(t.transformType)&&!NO.has(t.transformType)&&(NO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function FO(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function IO(e,t,n){let r=FO();for(let i=0;i<=t;i++){let a=e[i],o=yD(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=bD(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function LO(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function RO(e,t){let n=e.options??(e.properties?AO(e.chartType,bD(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=IO(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?ne(SD(i.data)):CO(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?AO(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?MO(s,a,{...bD(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?ED(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:DD(i.highlights),d=i.areaFills.length>0?OD(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)AD(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>LO(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?jD(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===ti.Total||h===ti.WithinGroups||h===ti.None?h:void 0,_=PO(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var zO=new WeakMap;function BO(e){let t=zO.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function VO(e,t){let n=zO.get(e);n||(n=new Set,zO.set(e,n)),n.add(t)}function HO(e,t,n){if(BO(e),n.ignoreLayout||!t)return{constrained:!1};let r=yD(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,VO(e,`aspectRatio`),VO(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,VO(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,VO(e,`display`),VO(e,`flexDirection`),VO(e,`overflow`)),{constrained:s}}var UO=new WeakMap;function WO(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function GO(e,t,n){if(!n)return null;let r=UO.get(e);return!r||r===t?null:(WO(e),x_(e))}function KO(e,t,n){if(UO.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&b_(t),S_(e,n)}}function qO(e){UO.delete(e),WO(e)}var JO=`http://www.w3.org/2000/svg`;function YO(e){return e.replace(/\s+/g,` `).trim()}function XO(e,t){if(e===`scatter chart`)return`${e} of ${t.labels.length} points.`;let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function ZO(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?YO(t.title):``,a=t?.description?YO(t.description):``;return{label:i||r,description:[a,XO(r,n)].filter(Boolean).join(` `)}}function QO(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(JO,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function $O(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),QO(e,`desc`,t.description),QO(e,`title`,t.label)}function ek(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function tk(e,t,n){let r=ek(e);r&&t.accessibility&&$O(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function nk(e,t,n={}){let r=!!n.transition||ox(e).state===`animating`;if(r||(ox(e).interrupt(),e.replaceChildren(),qO(e)),t.data.labels.length===0){r&&(ox(e).interrupt(),e.replaceChildren(),qO(e));return}let i=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}i=e}let a=HO(e,i.properties,n),o=RO(i,n.sceneIndex),s=ET(o.chartType);if(!s)return;sv(e,o.chartType);let c=GO(e,o.chartType,r);c&&e.replaceChildren();let l=Er(e),u=_D(o.options,l,o.chartType),d;if(n.thumbnail)d=null;else{let e=o.frame?.padding??n.padding??`16px`;d={...o.frame??{},padding:e}}let f=ox(e);r&&f.beginCommit(),s(e,o.data,{frame:d,sort:o.sort,...u,sortMode:o.sortMode??u.sortMode,colorizes:o.colorizes.length>0?o.colorizes:void 0,highlights:o.highlights.length>0?o.highlights:void 0,areaFills:o.areaFills.length>0?o.areaFills:void 0,annotations:o.annotations.length>0?o.annotations:void 0,seriesOverrides:o.seriesOverrides.length>0?o.seriesOverrides:void 0},r),r&&f.commit({duration:y_(),mode:n.transitionMode}),tk(e,{theme:n.theme??o.theme,accessibility:ZO(o.chartType,d,o.data)},a),KO(e,o.chartType,c)}function rk(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function ik(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=A(t)}catch(t){rk(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{nk(e,DO(r),n)}catch(t){rk(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function ak(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var ok=ak;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,b):b(),e.createSceneController=ak,e.createStepController=ok,e.initBlueprint=b,e.renderBpc=ik,e})({});
354
+ `,document.head.appendChild(e)}function uC(e){let t=e?t_(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function dC(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=ci.Both,crosshairStyle:l=li.Dashed,crosshairColor:u=`#999`,format:d=uC(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&sC.set(f,e),e}let p=l===li.Solid?`none`:l===li.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(lC(),g=document.createElement(`div`),g.className=oC,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===ci.Both||c===ci.Vertical),x=s&&(c===ci.Both||c===ci.Horizontal),S=null,C=null;b&&(S=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`)),x&&(C=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`));let w=y(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),T=y(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`),E=o===`xy`?jd.from(i,e=>e.cx,e=>e.cy):null;function D(e,t){if(E)return i[E.find(e,t)];if(m.length===0)return null;let n=Bi(m,e),r=m[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let O=t=>{let[n,r]=Ps(t,e),i=D(n,r);i&&(w.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`r`,i.r??6).attr(`stroke`,i.color).style(`display`,null),g&&(g.textContent=d(i),g.style.display=`block`,ub(w.node(),g,{placement:`top`,middleware:[sb(8),lb(),cb()]}).then(({x:e,y:t})=>{g&&(g.style.left=`${e}px`,g.style.top=`${t}px`)})),S&&S.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),C&&C.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},k=()=>{w.style(`display`,`none`),g&&(g.style.display=`none`),S&&S.style(`display`,`none`),C&&C.style(`display`,`none`)},A=T.node();A.addEventListener(`mousemove`,O),A.addEventListener(`mouseleave`,k);let j=()=>{A.removeEventListener(`mousemove`,O),A.removeEventListener(`mouseleave`,k),T.remove(),w.remove(),g&&=(g.remove(),null),S&&S.remove(),C&&C.remove(),f&&sC.get(f)===j&&sC.delete(f)};return f&&sC.set(f,j),j}var fC={circle:Ph,square:zh,diamond:Rh,triangle:Kh,triangleDown:Jh??Kh,cross:Fh,star:Wh};function pC(e,t,n){switch(n){case $r.First:return e===0;case $r.Last:return e===t-1;case $r.FirstLast:return e===0||e===t-1;case $r.All:default:return!0}}function mC(e,t,n,r,i=2){return r===`everyN`?n%i===0:pC(e,t,r)}function hC(e,t,n,r,i=!1){let a=r.symbol??Qr.Circle,o=r.showOn??$r.FirstLast,s=r.style??ei.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>pC(e.index,n,o)),f=i?z_():0;if(a===Qr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l)}else{let t=fC[a]??Ph,n=Math.PI*c*c,r=Yh().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===ei.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===ei.Hollow?1.5:0).attr(`opacity`,l)}}var gC=ae[0];function _C(e,t,n={},r=!1){R_(r),cC(e);let i=[],a=[],o=null,s=null,c,l,u,d=Ov.for(e);if(r){let t=gx(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=V_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Qg(e,n.frame),p=N_(f).width,m=O_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=j_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=dv(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=F_(f,h),x=v_(l,b),S=ki(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=wf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=ji(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?$f().domain([j,M]).nice().range([y,0]):Rf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=bx(I,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??gC,V=aC(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,U=e=>Number.isFinite(e.value),te=Ah().curve(V).defined(U).x(e=>k(e)).y0(y).y1(e=>N(e.value)),ne=kh().curve(V).defined(U).x(e=>k(e)).y(e=>N(e.value)),re=Q(z).append(`g`).node(),ie=Q(z).append(`g`).node();if(r){for(let e of i)re.appendChild(e);for(let e of a)ie.appendChild(e)}let ae=Ox(e),W=[{name:`line`,points:T}];Bx(ae,{role:`series-area`,parent:re,selector:`.bc-area`,data:H?W:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:te(e.points)??``,fill:B,opacity:ee})}),Bx(ae,{role:`series-line`,parent:ie,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(e.points)??``,fill:`none`,stroke:B})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let oe={left:b.left,top:b.top,width:v+2,height:y+2};if(Jx(ae,{svg:I,clipId:L,group:_,from:u,to:oe,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&fx(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:kr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&dC(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>n_(e.value,n.verticalAxis?.numberFormat),r=e=>fS(t(e),k(e),N(e.value),{width:v,height:y,margin:b}),i=E.filter((e,t)=>mC(t,E.length,T.indexOf(e),n.valueLabelPoints,n.valueLabelEvery));e.selectAll(`.bc-value-label`).data(i,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>r(e).x).attr(`y`,e=>r(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,B).text(t)}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),hC(t,e,T.length,n.lineSymbols,r)}_x(e,{chartType:`line`,margin:b,plotRect:oe}),s&&(B_(R.node()),H_(e,s))}var vC=28,yC=18,bC=20,xC=12,SC=.3;function CC(e,t,n,r=vC){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function wC(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+yC,c=vC/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=CC(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*bC;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Ar(e.color,a)).text(e.label),c&&y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(e.valueText)})}d(u,!0),d(l,!1)}var TC=.3;function EC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<TC||h_(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=Dr(e.color);t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n&&d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(e.valueText)}c.length>0&&wC(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function DC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=h_(e.label,a);n>r*1.2&&t>=TC&&r<=u*2?c.push(e):l.push(e)}c.length>0&&EC(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&wC(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function OC(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+g_(e,xC)+6,i=e.length*vC/2,a=Math.max(10,i-t+20),o=kC(r,n.width),s=kC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function kC(e,t){return t>0?Math.min(e,t*SC):e}function AC(e,t,n={},r=!1){R_(r),cC(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=Ov.for(e);if(r){let t=gx(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=V_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))l.set(e,n);e.replaceChildren()}let{body:p}=Qg(e,n.frame),m=i.series??[],h=m.filter(e=>!YS(e.name,n.seriesOverrides));(n.sortMode===ii.Total||n.sortMode===ii.WithinGroups)&&(h=Cx(h,e=>e.values.reduce((e,t)=>e+t,0),ti.Descending));let g=US(n.colors??ae,m.length),_=h.map(e=>e.name),v=mx(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>XS(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=N_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=ki(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let A=h.flatMap(e=>e.values),j=O_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=j_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?IS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?FS(_,E,F):{width:0,height:0},L=C?I.height+15:0,R={...M};C&&E===`top`&&(R.top=L+(P?15:0)),C&&E===`left`&&(R.left=(R.left??50)+I.width+10),C&&E===`right`&&(R.right=(R.right??20)+I.width+10),N>0&&(R.right=(R.right??20)+N),R.bottom=(dv(i.labels,Math.max(0,w-(R.left??50)-(R.right??20)),n.horizontalAxis)??Math.max(R.bottom??24,24))+(E===`bottom`?L:0);let{chartArea:z,width:B,height:V,margin:H}=F_(p,R),ee=v_(u,H),[U,te]=ji(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ne=wf().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),re=ne,ie=e=>ne(i.labels[e])??0,W=n.verticalAxis?.scaleType===`log`?$f().domain([U,te]).nice().range([V,0]):Rf().domain([U,te]).nice().range([V,0]),oe=W.domain(),se=oe[0]<0&&oe[1]>0?W(0):void 0;f.attach(z,ee),f.update({vertical:{scale:W,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:H.top}},horizontal:{scale:re,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=bx(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),fe=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),pe=aC(n.interpolation);n.areaFills?.length&&jC(de,n.areaFills,h,ie,i.labels.length,W,pe);let G=e=>Number.isFinite(e),K=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{G(e.values[r])&&K.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let me=n.lineSymbols,he={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},ge=n.valueLabels??!1,_e=Zx(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??GS(e.name,e.colorIndex,g,y),xe=Ah().curve(pe).defined(G).x((e,t)=>ie(t)).y0(V).y1(e=>W(e)),Se=Ox(e),Ce=Q(de).append(`g`).node(),we=Q(de).append(`g`).node(),Te=new Set(fe.map(e=>e.name));if(r){for(let e of a)Te.has(e.__data__?.name??``)&&Ce.appendChild(e);for(let e of o)Te.has(e.__data__?.name??``)&&we.appendChild(e)}Bx(Se,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:ve?fe:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:xe(e.values)??``,fill:be(e),opacity:Qx(_e,e.name,ye)})}),Bx(Se,{role:`series-line`,parent:we,selector:`.bc-line`,data:fe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=JS(e.name,n.interpolation??`linear`,y),r=kh().curve(aC(t)).defined(G).x((e,t)=>ie(t)).y(e=>W(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:be(e),style:`stroke-width:${qS(e.name,y)}`,"stroke-dasharray":he[KS(e.name,y)]??``,opacity:Qx(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(K,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ie(i.labels.indexOf(e.label))).attr(`cy`,e=>W(e.value)).attr(`r`,3).attr(`fill`,e=>be({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let q={left:H.left,top:H.top,width:B,height:V};if(Jx(Se,{svg:ce,clipId:le,group:z,from:d,to:q,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));fx(z,n.annotations,{scaleX:re,scaleY:W,data:t,width:B,height:V,backgroundColor:kr(e),transition:r,priorAnnotations:l})}let Ee=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);Ji(K,e=>e.series).forEach(e=>e.forEach((t,r)=>{let a=i.labels.indexOf(t.label);if(!ZS(t.series,ge,y)||!mC(r,e.length,a,n.valueLabelPoints,n.valueLabelEvery))return;let o=ie(a),s=W(t.value),c=n_(t.value,n.verticalAxis?.numberFormat),l=fS(c,o,s,{width:B,height:V,margin:H});Ee.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,t.series).attr(`x`,l.x).attr(`y`,l.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,be({name:t.series,values:[],colorIndex:t.colorIndex})).attr(`opacity`,Qx(_e,t.series,1)).text(c)})),(n.tooltips||n.crosshair)&&dC(z,{width:B,height:V,points:K.map(e=>({cx:ie(i.labels.indexOf(e.label)),cy:W(e.value),label:e.label,value:e.value,series:e.series,color:GS(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let De=me?{name:``,lineSymbols:!0,symbolShape:me.symbol,symbolShowOn:me.showOn,symbolStyle:me.style,symbolSize:me.size,symbolOpacity:me.opacity}:void 0,Oe=i.labels.length;h.forEach((e,t)=>{let n=$S(e.name,De,y);if(!n)return;let a={symbol:n.symbolShape??me?.symbol??Qr.Circle,showOn:n.symbolShowOn??me?.showOn??$r.FirstLast,style:n.symbolStyle??me?.style??ei.Filled,size:n.symbolSize??me?.size??3.5,opacity:n.symbolOpacity??me?.opacity??1},o=i.labels.map((n,r)=>({cx:ie(r),cy:W(e.values[r]),color:GS(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(z.appendChild(c),l=Q(c),u=!0):l=Q(z).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),hC(l,o,Oe,a,r&&u)});let ke=i.labels.length-1,Ae=ie(ke)+6,je=[];if(h.forEach((e,t)=>{if(XS(e.name,x,y)!==`direct`)return;let n=e.values[ke];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;je.push({name:e.name,index:t,naturalY:W(n),text:r})}),je.length>0){je.sort((e,t)=>e.naturalY-t.naturalY);let e=CC(je.map(e=>e.naturalY),0,V,14);je.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ae).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,GS(t.name,t.index,g,y)).text(t.text)})}let Me=_.filter(e=>XS(e,x,y)===`legend`);if(C&&Me.length>0){let e=Me.map(e=>GS(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=P?15:0;n=-(I.height+10+e)}else E===`bottom`?n=V+Math.max(H.bottom-L,0):E===`left`?t=-(I.width+10):E===`right`&&(t=B+10);VS(z,Me,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}_x(e,{chartType:`line-multi`,margin:H,plotRect:q}),c&&(B_(ue.node()),H_(e,c))}function jC(e,t,n,r,i,a,o){let s=Q(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?aC(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)NC(s,t.values,i.values,r,a,c,u,d,l);else{let e=Ah().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function MC(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function NC(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=MC(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}function PC(e){return n_(Number(e.toPrecision(12)),`,`)}var FC=class extends Bg{initialize(){}};function IC(e,t,n={},r=!1){LC(e,t,n,.6,r)}function LC(e,t,n,r,i=!1){R_(i);let a=null,o;if(i){let t=gx(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=V_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))o.set(e,n);e.replaceChildren()}let{body:s}=Qg(e,n.frame),c=Cx(t.labels.map((e,t)=>t),e=>t.values[e],n.sort),l=c.map(e=>t.labels[e]),u=c.map(e=>t.values[e]);if(n.sliceMax&&n.sliceMax>0&&l.length>n.sliceMax){let e=n.sliceMax-1,t=l.map((e,t)=>({label:e,value:u[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);l=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],u=[...r.map(e=>e.value),i]}let d=u.reduce((e,t)=>e+t,0),f=u.map(e=>d>0?e/d*100:0),p=n.verticalAxis?.numberFormat,m=e_(p||`.0%`).d3Spec.endsWith(`%`),h=(e,t)=>n.displayAsPercentage?n_(m?f[t]/100:f[t],p||`.0%`):p?n_(e,p):PC(e),g=US(n.colors??ae,l.length),_=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?di.Auto:di.Off,v=!!_&&(_!==di.Auto||n.legend!==!0),y=(n.showValues??!0)&&!v?u.map((e,t)=>`(${h(e,t)})`):[],b=n.legend!==!1&&!v,x=N_(s).width,S=n.legendPosition??`top`,C=x>0&&x<350&&(S===`left`||S===`right`)?`top`:S,w=n.legendAnchor??`start`,T=y.length>0?l.map((e,t)=>`${e} ${y[t]}`):l,E=Math.max(0,x-50-20),D=b?FS(T,C,E):{width:0,height:0},O=b?D.height+15:0,k={};if(b&&C===`top`&&(k.top=O),b&&C===`bottom`&&(k.bottom=24+O),b&&C===`left`&&(k.left=50+D.width+10),b&&C===`right`&&(k.right=20+D.width+10),v){let e=N_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=OC(l,r,{width:t,height:n});k.left=(k.left??20)+i.left,k.right=(k.right??20)+i.right,k.top=(k.top??20)+i.top,k.bottom=(k.bottom??20)+i.bottom}let{chartArea:A,width:j,height:M,margin:N}=F_(s,k),P=Math.min(j,M)/2,F=P*r,I=xf().domain(l).range(g);if(u.some(e=>e<0)){let e=l.filter((e,t)=>u[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=l.map((e,t)=>({label:e,value:u[t]})).filter(e=>e.value>=0);l=t.map(e=>e.label),u=t.map(e=>e.value)}let L=Nh().sort(null),R=Ch().innerRadius(F).outerRadius(P),z=Q(A).append(`g`).attr(`transform`,`translate(${j/2},${M/2})`),B=mx(n.colorizes),V=L(u),H=V.map((e,t)=>({label:l[t],value:u[t],arc:e,color:B.get(l[t])??I(l[t])})),ee=Ox(e),U=Zx(n.highlights,l);Bx(ee,{role:`mark-per-category`,parent:z.append(`g`).node(),selector:`.bc-arc`,data:H,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:R(e.arc)??``,fill:e.color};return U.size>0?{...t,opacity:Qx(U,e.label)}:t}});let te=new FC(z);if(n.tooltips&&te.use(mb()),te.draw(H),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(H.map(e=>[e.label,R.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&px(a,{scaleX:xf().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+j/2)),scaleY:Rf().domain([0,1]).range([0,1]),data:H.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+M/2})),width:j,height:M,backgroundColor:kr(e),transition:i,priorAnnotations:o}).postDraw({base:Q(A)},void 0)}if(v){let t=V.map((e,t)=>({label:l[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:I(l[t]),valueText:h(e.data,t),showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=z,i={outerRadius:P,innerRadius:F,chartWidth:j,chartHeight:M,bgColor:kr(e)};_===di.Inside?EC(r,t,i):_===di.Auto?DC(r,t,i):wC(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=p?n_(d,p):PC(d);z.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),z.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(b){let e=0,t=0;C===`top`?t=-(D.height+10):C===`bottom`?t=M+25:C===`left`?e=-(D.width+10):C===`right`&&(e=j+10),VS(A,l,g,t,C,w,j,M,e,y,{left:N.left,right:N.right})}_x(e,{chartType:r>0?`donut`:`pie`}),a&&(B_(z.node()),H_(e,a))}function RC(e,t,n={},r=!1){LC(e,t,n,0,r)}var zC=ae[0];function BC(e,t,n={},r=!1){R_(r),cC(e);let i=[],a=[],o=null,s=null,c,l,u,d=Ov.for(e);if(r){let t=gx(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=V_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Qg(e,n.frame),p=N_(f).width,m=O_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=j_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=dv(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=F_(f,h),x=v_(l,b),S=ki(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=wf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=ji(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?$f().domain([j,M]).nice().range([y,0]):Rf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=bx(I,e,`plot`,{x:0,y:0,width:v,height:y}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??zC,V=aC(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),U=Ah().curve(V).defined(ee).x(e=>k(e)).y0(y).y1(e=>N(e.value)),te=kh().curve(V).defined(ee).x(e=>k(e)).y(e=>N(e.value)),ne=Q(z).append(`g`).node(),re=Q(z).append(`g`).node();if(r){for(let e of i)ne.appendChild(e);for(let e of a)re.appendChild(e)}let ie=Ox(e),ae=[{name:`area`,points:T}];Bx(ie,{role:`series-area`,parent:ne,selector:`.bc-area`,data:ae,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:U(e.points)??``,fill:B,opacity:H})}),Bx(ie,{role:`series-line`,parent:re,selector:`.bc-line`,data:ae,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:te(e.points)??``,fill:`none`,stroke:B,"stroke-width":2})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let W={left:b.left,top:b.top,width:v,height:y};if(Jx(ie,{svg:I,clipId:L,group:_,from:u,to:W,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&fx(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:kr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&dC(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>fS(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),hC(t,e,T.length,n.lineSymbols,r)}_x(e,{chartType:`area`,margin:b,plotRect:W}),s&&(B_(R.node()),H_(e,s))}function VC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return yg().keys(n).order(gg).offset(r?bg:hg)(i)}function HC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return yg().keys(n).order(gg).offset(r?bg:hg)(i)}function UC(e,t,n={},r=!1){R_(r),cC(e);let i=t,a=[],o=[],s=null,c,l,u,d=Ov.for(e);if(r){let t=gx(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=V_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Qg(e,n.frame),p=ki(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=HS(i),h=m.filter(e=>!YS(e.name,n.seriesOverrides)),g=US(n.colors??ae,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=mx(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>XS(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=N_(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,A=n.stackPercent===!0||n.stackMode===ui.Percent,j=n.areaSortMode??ti.None,M=n.areaLines!==!1,N=Cx(h,e=>e.values.reduce((e,t)=>e+t,0),j===ti.None||j===ti.Ascending?j:ti.Descending),P={labels:i.labels,values:i.values,series:N},F=A?HC(P):VC(P),I=0;if(k)for(let e of F)for(let t of e)t[1]>I&&(I=t[1]);else for(let e of N)for(let t of e.values)t>I&&(I=t);A&&(I=100);let L=[0,I],R=n.verticalAxis?.numberFormat??(A?`|d|%`:void 0),z=O_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=j_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?IS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),U=w?FS(v,D,ee):{width:0,height:0},te=w?U.height+15:0,ne={...B};w&&D===`top`&&(ne.top=te+(H?15:0)),w&&D===`left`&&(ne.left=(ne.left??50)+U.width+10),w&&D===`right`&&(ne.right=(ne.right??20)+U.width+10),V>0&&(ne.right=(ne.right??20)+V),ne.bottom=(dv(i.labels,Math.max(0,T-(ne.left??50)-(ne.right??20)),n.horizontalAxis)??Math.max(ne.bottom??24,24))+(D===`bottom`?te:0);let{chartArea:re,width:ie,height:W,margin:oe}=F_(f,ne),se=v_(l,oe),ce=wf().domain(i.labels).range([0,ie]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,fe]=ji(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),pe=(n.verticalAxis?.scaleType===Hr.Log?$f():Rf()).domain([de,fe]).nice().range([W,0]);d.attach(re,se),d.update({vertical:{scale:pe,height:W,options:{...n.verticalAxis,numberFormat:R,gridWidth:ie,topPadding:oe.top}},horizontal:{scale:le,height:W,options:{...n.horizontalAxis,width:ie}}});let G=re.ownerSVGElement,K=bx(G,e,`plot`,{x:0,y:0,width:ie,height:W}),me=Q(re).append(`g`).attr(`clip-path`,`url(#${K})`),he=me.node(),ge=aC(n.interpolation??`monotoneX`),_e=F.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[pe(e[0]),pe(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[pe(0),pe(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=Zx(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??GS(e.name,e.colorIndex,g,y),Se=Ah().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),we=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)we.appendChild(e)}let Te=Ox(e);Bx(Te,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:_e,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(e.points)??``,fill:xe(e),opacity:ye?Qx(ve,e.name,be):be})}),Bx(Te,{role:`series-line`,parent:we,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=JS(e.name,n.interpolation??`monotoneX`,y),r=kh().curve(aC(t)).x((e,t)=>ue(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:xe(e),"stroke-width":1,opacity:ye?Qx(ve,e.name,1):1}}});let q={left:oe.left,top:oe.top,width:ie,height:W};if(Jx(Te,{svg:G,clipId:K,group:re,from:u,to:q,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));fx(re,n.annotations,{scaleX:le,scaleY:pe,data:t,width:ie,height:W,backgroundColor:kr(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];F.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:ue(a),cy:pe(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:GS(e.key,n,g,y)})})}),dC(re,{width:ie,height:W,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Ee=i.labels.length-1,De=ue(Ee)+6,Oe=[];if(h.forEach((e,t)=>{if(XS(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[Ee];if(!r)return;let i=pe((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;Oe.push({name:e.name,index:t,naturalY:i,text:a})}),Oe.length>0){Oe.sort((e,t)=>e.naturalY-t.naturalY);let e=CC(Oe.map(e=>e.naturalY),0,W,14);Oe.forEach((t,n)=>{Q(re).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,De).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,GS(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>XS(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>GS(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=H?15:0;n=-(U.height+10+e)}else D===`bottom`?n=W+Math.max(oe.bottom-te,0):D===`left`?t=-(U.width+10):D===`right`&&(t=ie+10);VS(re,ke,e,n,D,O,ie,W,t,[],{left:oe.left,right:oe.right})}_x(e,{chartType:`area-stacked`,margin:oe,plotRect:q}),s&&(B_(me.node()),H_(e,s))}var WC=4;function GC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function KC(e,t,n={},r=!1){R_(r);let i=[],a=null,o,s,c,l=Ov.for(e);if(r){let t=gx(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=V_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))o.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=HS(t),f=d.filter(e=>!YS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=US(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=N_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ui.Percent,C=GC(S?HC(x):VC(x),t.labels,d),w=S?100:ca(C,e=>e.y1)??0,T=S?Math.min(0,la(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=O_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=j_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,_-(O.left??50)-(O.right??20)),j=g?FS(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...O};g&&y===`top`&&(N.top=M+(k?15:0)),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,_-(N.left??50)-(N.right??20));N.bottom=(dv(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(y===`bottom`?M:0);let{chartArea:F,width:I,height:L,margin:R}=F_(u,N),z=v_(s,R),B=n.sortMode===ii.Total?Cx(t.labels,(e,t)=>wx(f,t),ti.Descending):t.labels,V=Sf().domain(B).range([0,I]).padding(Ai(n.barGap)),[H,ee]=ji(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),U=(n.verticalAxis?.scaleType===Hr.Log?$f():Rf()).domain([H,ee]).nice().range([L,0]);l.attach(F,z),l.update({vertical:{scale:U,height:L,options:{...n.verticalAxis,gridWidth:I,topPadding:R.top}},horizontal:{scale:V,height:L,options:{...n.horizontalAxis,width:I}}});let te=F.ownerSVGElement,ne=bx(te,e,`bars`,{x:0,y:0,width:I,height:L}),re=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ie=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=mx(n.colorizes),oe=Zx(n.highlights,C.map(e=>e.seriesName)),se=Ox(e),ce=re.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ce.appendChild(e);Bx(se,{role:`mark-per-cell`,parent:ce,selector:`.bc-bar-stacked`,data:ie,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=W.get(e.seriesName)??GS(e.seriesName,e.seriesIndex,m,h),n=QS(e.seriesName,h),r={"data-series":e.seriesName,x:V(e.label)??0,y:U(e.y1),width:V.bandwidth(),height:U(e.y0)-U(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),oe.size>0&&(r.opacity=Qx(oe,e.seriesName)),r}});let le={left:R.left,top:R.top,width:I,height:L};Jx(se,{svg:te,clipId:ne,group:F,from:c,to:le,active:r&&i.length>0});let ue=Sx(re);if(n.tooltips&&ue.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ue.use(gb({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));ue.use(px(n.annotations,{scaleX:V,scaleY:U,data:i,width:I,height:L,backgroundColor:kr(e),transition:r,priorAnnotations:o}))}let de=()=>ue.draw(ie);se.state===`committing`?se.register(de):de(),_x(e,{chartType:`column-stacked`,margin:R,plotRect:le}),a&&(B_(re.node()),H_(e,a));let fe=n.valueLabels??!1,pe=n.valueLabelPosition??si.Auto,G=Yi(ie,e=>ca(e,e=>e.y1)??0,e=>e.label),K=e=>e.y0<0?e.y1:e.y0,me=e=>e.y0<0?e.y0:e.y1,he=new Map(ie.filter(e=>e.value!==0).map(e=>[e.label+`\0`+K(e),e])),ge=n.showTotal===!0&&!S,_e=e=>n.verticalAxis?.numberFormat?n_(e,n.verticalAxis.numberFormat):String(Math.round(e*100)/100),ve=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ie.forEach(e=>{if(!ZS(e.seriesName,fe,h))return;let t=(V(e.label)??0)+V.bandwidth()/2,r=Math.abs(U(e.y0)-U(e.y1)),i=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?r_(e.value,G.get(e.label)??0):_e(e.value),a=oS({text:i,placement:`inside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}),o=he.get(e.label+`\0`+me(e));if(pe===si.Outside||pe===si.Auto&&!a&&!o){let n=e.y0<0;if(ge&&!n&&!o)return;let a=U(me(e)),s=a+(n?15:-4),c=o?Math.abs(U(o.y1)-U(o.y0)):n?L+R.bottom-a:a+R.top;if(e.value===0||c<15||!oS({text:i,placement:`outside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}))return;ve.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,s).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(i);return}if(!a)return;let s=W.get(e.seriesName)??GS(e.seriesName,e.seriesIndex,m,h);ve.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,U(e.y0)-r/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Dr(s)).text(i)}),ge)for(let[e,t]of G)t<=0||ve.append(`text`).attr(`class`,`bc-total-label`).attr(`x`,(V(e)??0)+V.bandwidth()/2).attr(`y`,U(t)-WC).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`font-weight`,`bold`).attr(`fill`,`currentColor`).text(_e(t));if(g&&p.length>0){let e=p.map(e=>GS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(j.height+10+e)}else y===`bottom`?n=L+Math.max(R.bottom-M,0):y===`left`?t=-(j.width+10):y===`right`&&(t=I+10);VS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}function qC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function JC(e,t,n={},r=!1){R_(r);let i=[],a=null,o,s,c,l=Ov.for(e);if(r){let t=gx(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=V_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))o.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=HS(t),f=d.filter(e=>!YS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=US(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=N_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ui.Percent,C=qC(S?HC(x):VC(x),t.labels,d),w=S?100:ca(C,e=>e.y1)??0,T=S?Math.min(0,la(C,e=>e.y0)??0):0,E=gS(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=A_(t.labels),k=j_(_,D?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?FS(p,y,j):{width:0,height:0},N=g?M.height+15:0,P={...k};g&&y===`top`&&(P.top=N+(A?15:0)),g&&y===`bottom`&&(P.bottom=(P.bottom??24)+N),g&&y===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let{chartArea:F,width:I,height:L,margin:R}=F_(u,P),z=v_(s,R),B=n.sortMode===ii.Total?Cx(t.labels,(e,t)=>wx(f,t),ti.Descending):t.labels,[V,H]=ji(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),ee=(n.horizontalAxis?.scaleType===Hr.Log?$f():Rf()).domain([V,H]).nice().range([0,I]),U=Sf().domain(B).range([0,L]).padding(Ai(n.barGap));l.attach(F,z),l.update({horizontal:{scale:ee,height:L,options:{...n.horizontalAxis,width:I}},vertical:{scale:U,height:L,options:{...n.verticalAxis,labelPosition:D?Wr.Off:n.verticalAxis?.labelPosition,topPadding:R.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let te=F.ownerSVGElement,ne=bx(te,e,`bars`,{x:0,y:0,width:I,height:L}),re=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ie=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=D?mS(U.bandwidth()):0,oe=mx(n.colorizes),se=Zx(n.highlights,C.map(e=>e.seriesName)),ce=Ox(e),le=re.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);Bx(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:ie,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=oe.get(e.seriesName)??GS(e.seriesName,e.seriesIndex,m,h),n=QS(e.seriesName,h),r={"data-series":e.seriesName,x:ee(e.y0),y:(U(e.label)??0)+W,width:ee(e.y1)-ee(e.y0),height:Math.max(0,U.bandwidth()-W),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=Qx(se,e.seriesName)),r}});let ue={left:R.left,top:R.top,width:I,height:L};Jx(ce,{svg:te,clipId:ne,group:F,from:c,to:ue,active:r&&i.length>0});let de=Sx(re);if(n.tooltips&&de.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(gb({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));de.use(px(n.annotations,{scaleX:U,scaleY:ee,data:i,width:I,height:L,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:o}))}let fe=()=>de.draw(ie);if(ce.state===`committing`?ce.register(fe):fe(),_x(e,{chartType:`bar-stacked`,margin:R,plotRect:ue}),a&&(B_(re.node()),H_(e,a)),D){let e=Q(F).append(`g`).attr(`class`,`bc-category-labels`);for(let t of B){let n=U(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let pe=n.valueLabels??!1,G=n.valueLabelPosition??si.Auto,K=new Set,me=new Map;for(let e of B){let t=ie.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];K.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;me.set(n,ee(t[e+1].y1)-ee(t[e].y1))}}}let he=new Map,ge=Yi(ie,e=>ca(e,e=>e.y1)??0,e=>e.label),_e=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ie.forEach(e=>{if(!ZS(e.seriesName,pe,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?r_(e.value,ge.get(e.label)??0):String(Math.round(e.value*100)/100),r=ee(e.y1)-ee(e.y0),i=t.length*6.5+8,a=r>=i,o=(U(e.label)??0)+W+(U.bandwidth()-W)/2,s=GS(e.seriesName,e.seriesIndex,m,h),c=K.has(e.label+`\0`+e.seriesName),l=G===si.Outside||G===si.Auto&&!a&&c,u=oS({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:U.bandwidth()}),d=()=>{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Dr(s)).text(t)};if(l){if(G===si.Inside)d();else{let n=ee(e.y1)+4,r=he.get(e.label)??0,a=me.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=I+R.right-2,f=n+i>l;s||c||f||!u?d():(he.set(e.label,n+i),_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Dr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>GS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=A?15:0;n=-(M.height+10+e)}else y===`bottom`?n=L+25:y===`left`?t=-(M.width+10):y===`right`&&(t=I+10);VS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var YC=16,XC=4,ZC=20,QC=`600 11px sans-serif`,$C=`…`;function ew(e,t){if(dS(e,QC)<=t)return e;let n=e;for(;n.length>0&&dS(n+$C,QC)>t;)n=n.slice(0,-1);return n+$C}function tw(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*YC)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=ji(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===Hr.Log?$f():Rf()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+YC),panelWidth:o,xScale:l}})}function nw(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(!e)continue;let o=a.xScale.copy().clamp(!0);for(let r of t){let t=n.indexOf(r),s=t>=0?e.values[t]??0:0,[c,l]=[o(0),o(s)];i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:s,xPos:a.xOffset+Math.min(c,l),barWidth:Math.abs(l-c)})}}return i}function rw(e,t,n={},r=!1){R_(r);let i=[],a=null,o,s,c,l=Ov.for(e);if(r){let t=gx(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=V_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=HS(t),f=d.filter(e=>!YS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=US(n.colors??ae,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=N_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=gS(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=A_(t.labels),w=j_(_,S?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+ZC;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?FS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+ZC),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=F_(u,O),N=v_(o,M),P=n.sortMode===ii.Total?Cx(t.labels,(e,t)=>wx(f,t),ti.Descending):t.labels,F=Sf().domain(P).range([0,j]).padding(Ai(n.barGap)),I=S?mS(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Wr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=tw(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)vv(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=bx(z,e,`bars`,{x:0,y:0,width:A,height:j}),V=Q(k).append(`g`).attr(`clip-path`,`url(#${B})`),H=Q(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of L)H.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(ew(e.seriesName,e.panelWidth));let ee=nw(L,P,t.labels,d),U=Zx(n.highlights,ee.map(e=>e.seriesName)),te=mx(n.colorizes),ne=Ox(e),re=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),re.appendChild(e);Bx(ne,{role:`mark-per-cell`,parent:re,selector:`.bc-bar-split`,data:ee,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=te.get(e.seriesName)??GS(e.seriesName,e.seriesIndex,m,h),n=QS(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(F(e.label)??0)+I,width:e.barWidth,height:Math.max(0,F.bandwidth()-I),fill:t};return n<1&&(r[`fill-opacity`]=n),U.size>0&&(r.opacity=Qx(U,e.seriesName)),r}});let ie={left:M.left,top:M.top,width:A,height:j};Jx(ne,{svg:z,clipId:B,group:k,from:s,to:ie,active:r&&i.length>0});let W=Sx(V);if(n.tooltips&&W.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&W.use(gb({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length&&L.length>0){let i=L[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));W.use(px(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>W.draw(ee);if(ne.state===`committing`?ne.register(oe):oe(),_x(e,{chartType:`bar-split`,margin:M,plotRect:ie}),a&&(B_(V.node()),H_(e,a)),S){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let se=n.valueLabels??!0,ce=n.valueLabelPosition??si.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!ZS(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=GS(e.seriesName,e.seriesIndex,m,h),r=e.value<0,i=r?e.xPos:e.xPos+e.barWidth,a=r?-1:1,o=dS(String(e.value)),s=Math.max(0,F.bandwidth()-I),c=(F(e.label)??0)+I+s/2,l=r?i-XC-o>=t.xOffset:i+XC+o<=t.xOffset+t.panelWidth,u=ce===si.Inside||!l||ce===si.Auto&&e.barWidth>30;if(!oS({text:String(e.value),placement:u?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:s}))return;let d=u?-a:a,f=i+d*XC,p=d<0?`end`:`start`,g=u?Dr(n):`currentColor`;le.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,f).attr(`y`,c).attr(`text-anchor`,p).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,g).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>GS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+ZC):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),VS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}function iw(e,t,n={},r=!1){R_(r);let i=[],a=null,o,s,c,l=Ov.for(e);if(r){let t=gx(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=V_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let{body:u}=Qg(e,n.frame),d=HS(t),f=d.filter(e=>!YS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=US(n.colors??ae,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=N_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=gS(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=A_(t.labels),T=j_(v,C?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?FS(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:A,width:j,height:M,margin:N}=F_(u,k),P=v_(o,N),F=n.sortMode===ii.Total?Cx(t.labels,(e,t)=>wx(f,t),ti.Descending):t.labels,I=Sf().domain(F).range([0,M]).paddingInner(Ai(n.barGap)).paddingOuter(.05),L=C?mS(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=Sf().domain(p).range([0,R]).padding(.05),[B,V]=ji(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===Hr.Log?$f():Rf()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Wr.Off:n.verticalAxis?.labelPosition,topPadding:N.top,...S?{showAxis:!1}:{}}},horizontal:{scale:H,height:M,options:{...n.horizontalAxis,width:j}},order:`horizontal-first`});let ee=A.ownerSVGElement,U=bx(ee,e,`bars`,{x:0,y:0,width:j,height:M}),te=Q(A).append(`g`).attr(`clip-path`,`url(#${U})`);if(n.barBackground){let e=(n.colors??ae)[0];te.selectAll(`.bc-bar-bg`).data(F,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(I(e)??0)+L).attr(`width`,j).attr(`height`,I.bandwidth()-L).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&F.length>1){let e=I.step();for(let t=1;t<F.length;t++){let n=(I(F[t-1])??0)+I.bandwidth()+(e-I.bandwidth())/2;te.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,j).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let ne=[];for(let e of F){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);ne.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let re=Zx(n.highlights,ne.map(e=>e.seriesName)),ie=mx(n.colorizes),W=Ox(e),oe=te.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),oe.appendChild(e);Bx(W,{role:`mark-per-cell`,parent:oe,selector:`.bc-bar-grouped`,data:ne,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=ie.get(e.seriesName)??GS(e.seriesName,e.seriesIndex,h,g),n=QS(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.seriesName)??0),width:Math.max(0,H(e.value)-H(0)),height:z.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),re.size>0&&(r.opacity=Qx(re,e.seriesName)),r}});let se={left:N.left,top:N.top,width:j,height:M};Jx(W,{svg:ee,clipId:U,group:A,from:s,to:se,active:r&&i.length>0});let ce=Sx(te);if(n.tooltips&&ce.use(mb({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ce.use(gb({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Zr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));ce.use(px(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:kr(e),orientation:Zr.Horizontal,transition:r,priorAnnotations:c}))}let le=()=>ce.draw(ne);if(W.state===`committing`?W.register(le):le(),_x(e,{chartType:`bar-grouped`,margin:N,plotRect:se}),a&&(B_(te.node()),H_(e,a)),C){let e=Q(A).append(`g`).attr(`class`,`bc-category-labels`);for(let t of F){let n=I(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let ue=n.valueLabels??!0,de=n.valueLabelPosition??si.Auto,fe=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(ne.forEach(e=>{if(!ZS(e.seriesName,ue,g))return;let t=GS(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,H(e.value)-H(0)),r=H(0)+n,i=(I(e.label)??0)+L+(z(e.seriesName)??0)+z.bandwidth()/2,a=de===si.Inside||de===si.Auto&&n>30;if(!oS({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:z.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=Dr(t)):(o=r+4,s=`start`,c=`currentColor`),fe.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>GS(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=M+25:b===`left`?t=-(D.width+10):b===`right`&&(t=j+10),VS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var aw=[`x`,`y`,`size`];function ow(e){let t=new Set(e.textColumns?.map(e=>e.name));return(e.series?e.series.map(e=>e.name):[`value`]).filter(e=>!t.has(e))}function sw(e,t={}){let n={},r=new Set(aw.map(e=>t[e]).filter(Boolean)),i=ow(e).filter(e=>!r.has(e));for(let e of aw){let r=t[e]||i.shift();r&&r!==`none`&&(n[e]=r)}let a=t.group||e.textColumns?.[0]?.name;return a&&a!==`none`&&(n.group=a),n}function cw(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function lw(e){return typeof e==`number`&&Number.isFinite(e)}function uw(e,t,n,r){if(!lw(e))return n;if(t===Hr.Log&&e<=0)return r}function dw(e,t,n){let r=cw(e,t.x),i=cw(e,t.y),a=cw(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=uw(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??uw(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(lw(a[t])&&a[t]>0)?`invalid-size`:void 0);if(l){c.push({name:e,reason:l});return}let u=o?.[t];s.push({name:e,x:r[t],y:i[t],...a&&{size:a[t]},...u&&{group:u}})}),{points:s,dropped:c}}function fw(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function pw(e,t){let n=t&&{min:fw(t.min),max:fw(t.max)},r=ji(e.filter(e=>e>0),n,Hr.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Yf().domain(r).nice():Yf().domain([1,10])}function mw(e,t,n){if(e===Hr.Log)return pw(t,n);let r=ji(t,n,e,!1);return e===Hr.Symlog?$f().domain(r).nice():Rf().domain(r).nice()}function hw(e){switch(e){case Hr.Log:return{forward:Math.log10,inverse:e=>10**e};case Hr.Symlog:return{forward:e=>Math.sign(e)*Math.log1p(Math.abs(e)),inverse:e=>Math.sign(e)*Math.expm1(Math.abs(e))};default:return{forward:e=>e,inverse:e=>e}}}function gw(e,t,n,r=0){let i=e.copy().range([0,1]),a=[{t:0,r},{t:1,r},...t.map(({value:e,r:t})=>({t:i(e),r:t}))],o=e=>Math.max(...a.map(t=>t.r-t.t*e)),s=e=>{let t=o(e);return a.every(r=>t+r.t*e+r.r<=n)},c=0,l=n;for(let e=0;e<40;e++){let e=(c+l)/2;s(e)?c=e:l=e}let u=o(c);return[u,u+c]}var _w=[1,2,5],vw=11,yw=`${vw}px`,bw=8,xw=6,Sw=24,Cw=`4 3`,ww=vw*1.2,Tw=pf(`~s`);function Ew(e,t){let n=[...new Set(e.map(e=>e.group).filter(e=>!!e))];return new Map(n.map((e,n)=>[e,t[n%t.length]]))}function Dw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>_w.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function Ow(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,yw).attr(`fill`,`currentColor`).text(t)}function kw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=ww)&&n.push(r)}return n.reverse()}function Aw(e,{sizeLabel:t,sizeValues:n,radius:r},i){let a=Q(e).append(`g`).attr(`class`,`bc-size-legend`),o=r(n[n.length-1]);t&&Ow(a,t,0,i-o*2-xw),kw(n,r).forEach(e=>{let t=r(e);a.append(`circle`).attr(`cx`,o).attr(`cy`,i-t).attr(`r`,t).attr(`fill`,`none`).attr(`stroke`,`currentColor`).attr(`stroke-opacity`,.6),Ow(a,Tw(e),o*2+xw,i-t*2+bw)})}function jw(e){let t=Q(e).append(`g`).attr(`class`,`bc-trend-key`).attr(`transform`,`translate(0,-16)`);t.append(`line`).attr(`x1`,0).attr(`x2`,Sw).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,Cw),Ow(t,`Trend`,30,10)}function Mw({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(Tw);i.push(n(t[t.length-1])*2+xw+Math.max(...r.map(e=>h_(e,vw)))),i.push(h_(e??``,vw))}return r&&i.push(30+h_(`Trend`,vw)),Math.ceil(Math.max(...i))}function Nw(e,t){let n=t.sizeValues.length>0;if(!n&&!t.trend)return null;let r=Q(e).append(`g`).attr(`class`,`bc-scatter-key`).node();return n&&Aw(r,t,t.trend?-24:0),t.trend&&jw(r),r}function Pw(e,t){let n=new Set(e.map(e=>e.name)),r=new Set;for(let i of t){if(n.has(i)){r.add(i);continue}e.filter(e=>e.group===i).forEach(e=>r.add(e.name))}return r}function Fw(e,t){let n=new Set(e.map(e=>e.name)),r=[...t];return{points:new Map(r.filter(([e])=>n.has(e))),groups:new Map(r.filter(([e])=>!n.has(e)))}}function Iw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var Lw=3,Rw=2,zw=1.3;function Bw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*zw/2;return[{key:n,x:r+a+Lw,y:i,anchor:`start`},{key:n,x:r-a-Lw,y:i,anchor:`end`},{key:n,x:r,y:i-a-Lw-o,anchor:`middle`},{key:n,x:r,y:i+a+Lw+o,anchor:`middle`}]}function Vw(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*zw/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function Hw(e,t){return e.left<t.right+Rw&&t.left<e.right+Rw&&e.top<t.bottom&&t.top<e.bottom}function Uw(e,t,n){let r=[],i=[];for(let a of e){let e=h_(a.text,n);for(let o of Bw(a,n)){let a=Vw(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>Hw(e,a))){r.push(o),i.push(a);break}}}return r}function Ww(e){return(e?t_(e):null)??String}function Gw(e,t,n){let r=[e.name,`${t.x}: ${Ww(n.x)(e.x)}`,`${t.y}: ${Ww(n.y)(e.y)}`];return e.size!==void 0&&t.size&&r.push(`${t.size}: ${e.size}`),e.group!==void 0&&t.group&&r.push(`${t.group}: ${e.group}`),r.join(`
355
+ `)}var Kw=[`overall`,`per-group`];function qw(e){return Kw.includes(e??``)}var Jw=3;function Yw(e,t){let n=e.length;if(n<Jw)return null;let r=e.reduce((e,t)=>e+t,0)/n,i=t.reduce((e,t)=>e+t,0)/n,a=e.reduce((e,t)=>e+(t-r)**2,0);if(a===0)return null;let o=e.reduce((e,n,a)=>e+(n-r)*(t[a]-i),0)/a;return{slope:o,intercept:i-o*r}}function Xw(e,t,n,r){let i=hw(t.x),a=hw(t.y),o=e.map(e=>i.forward(e.x)),s=Yw(o,e.map(e=>a.forward(e.y)));if(!s)return null;let[c,l]=[Math.min(...o),Math.max(...o)],u=e=>a.inverse(s.slope*e+s.intercept);return{key:n,group:r,x1:i.inverse(c),y1:u(c),x2:i.inverse(l),y2:u(l)}}function Zw(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):Qw(e);for(let[e,o]of a){let a=Xw(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function Qw(e){let t=new Map;for(let n of e)n.group!==void 0&&t.set(n.group,[...t.get(n.group)??[],n]);return t}var $w=ae[0],eT=4.5,tT=.7,nT=16,rT=350,iT=8,aT=`6 4`,oT=1.5,sT=.6,cT=11,lT=3;function uT(e,t){return Math.min(e,t)/12}function dT(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function fT(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function pT(e,t,n){let r=ca(e,e=>e.size);return r===void 0?()=>eT:ap().domain([0,r]).range([0,uT(t,n)])}function mT(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Yr.Point?[e.target]:[])),i=n.showLabels?e:e.filter(e=>t.has(e.name)||r.has(e.name)),a=e=>+!t.has(e.name);return Qi(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function hT(e,t,n={},r=!1){R_(r),cC(e);let i=Ov.for(e),a=r?gx(e):void 0,o=[],s=[],c=[],l=null,u;if(r){i.detach(),a?.chartType===`scatter`?(o=Array.from(e.querySelectorAll(`.bc-frame .bc-trend-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-scatter-point`)),c=Array.from(e.querySelectorAll(`.bc-frame .bc-point-label`))):a&&(l=V_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))u.set(e,n);e.replaceChildren()}let d=sw(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=dw(t,d,f),m=mw(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=mw(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=Qg(e,n.frame),_=N_(g).width,v=k_(h,n.verticalAxis?.numberFormat),y=j_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=Ew(p,n.colors??ae),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<rT&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=ca(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:Dw(E),trend:qw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>ap().domain([0,E??1]).range([0,uT(e,t)]),A=_>0?_:600,j=N_(g).height||400,M=y.top==null?0:15,N=y.right??y_.right,P={...y,right:N},F={width:0,height:0},I=0,L=0;for(let e=0;e<3;e++){let e=P.left??y_.left,t=Math.max(0,A-e-P.right);F=S?FS(x,w,t):{width:0,height:0},I=S?F.height+15:0,S&&w===`top`&&(P.top=I+M),S&&w===`left`&&(P.left=(y.left??50)+F.width+10),L=S&&w===`right`?F.width+10:0,P.bottom=Math.max(y.bottom??24,24)+(S&&w===`bottom`?I:0);let n=j-(P.top??y_.top)-P.bottom,r=O?Mw({...D,radius:k(t,n)}):0;P.right=L+(O?nT+r:N)}let{chartArea:R,width:z,height:B,margin:V}=F_(g,P),H=v_(a?.margin,V),ee=pT(p,z,B),U=e=>ee(e.size??0);m.range(gw(m,p.map(e=>({value:e.x,r:U(e)+1})),z));let[te,ne]=gw(h,p.map(e=>({value:e.y,r:U(e)+1})),B,iT);h.range([B-te,B-ne]),i.attach(R,H),i.update({vertical:{scale:h,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:m,height:B,options:{...n.horizontalAxis,width:z}}});let re=R.ownerSVGElement,ie=bx(re,e,`plot`,{x:0,y:0,width:z,height:B}),W=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ie})`).node();W.append(...o);let se=Qi(p,e=>-U(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...Qi(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=Fw(p,mx(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=Pw(p,(n.highlights??[]).map(e=>e.target)),fe=e=>Iw(e,le.points,ue,$w),pe=kr(e),G=Ox(e);Bx(G,{role:`series-line`,parent:W,selector:`.bc-trend-line`,data:qw(n.trend)?Zw(p,n.trend,f).segments:[],key:e=>e.key,insert:e=>e.append(`path`).attr(`class`,`bc-trend-line`).attr(`data-key`,e=>e.key),attrs:e=>({d:`M${m(e.x1)},${h(e.y1)}L${m(e.x2)},${h(e.y2)}`,fill:`none`,stroke:e.group===void 0?`currentColor`:ue.get(e.group),"stroke-opacity":e.group===void 0?sT:1,"stroke-width":oT,"stroke-dasharray":aT})});let K=e=>({cx:m(e.x),cy:h(e.y),r:U(e),fill:fe(e),"fill-opacity":Qx(de,e.name,tT),stroke:pe,"stroke-width":1,opacity:1});Bx(G,{role:`mark-per-category`,parent:oe,selector:`.bc-scatter-point`,data:se,key:e=>e.name,insert:e=>e.append(`circle`).attr(`class`,`bc-scatter-point`).attr(`data-key`,e=>e.name),attrs:K,enterFrom:e=>({...K(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let me=Uw(mT(p,de,n).map(e=>({key:e.name,text:e.name,cx:m(e.x),cy:h(e.y),r:U(e)})),{width:z,height:B},cT),he=Q(R).append(`g`).node();he.append(...c);let ge=e=>({x:e.x,y:e.y,"text-anchor":e.anchor,opacity:1});if(Bx(G,{role:`value-label`,parent:he,selector:`.bc-point-label`,data:me,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-point-label`).attr(`data-key`,e=>e.key).attr(`dominant-baseline`,`central`).attr(`font-size`,cT).attr(`fill`,`currentColor`).text(e=>e.key),attrs:ge,enterFrom:e=>({...ge(e),opacity:0}),exitTo:()=>({opacity:0})}),n.annotations?.length){let e=p.map(e=>({label:e.name,value:e.y,x:e.x}));fx(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:pe,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};Jx(G,{svg:re,clipId:ie,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&VS(R,x,[...ue.values()],fT(w,F.height+M,I,B,V.bottom),w,T,z,B,dT(w,F.width,z),[],{left:V.left,right:V.right});let ve=Nw(R,{...D,radius:ee}),ye=Mw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+nT,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};dC(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:Gw(e,d,t),value:e.y,color:fe(e),r:U(e)+lT})),nearest:`xy`,format:e=>e.label,container:e})}_x(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(B_(W),B_(oe),H_(e,l))}var gT={low:/(?<![a-z\d])(low|lower|min|minimum)(?![a-z\d])/i,high:/(?<![a-z\d])(high|upper|max|maximum)(?![a-z\d])/i};function _T(e,t){return e.find(e=>gT[t].test(e))}function vT(e,t,n){if(n!==`none`)return n?e.find(e=>e===n):_T(e,t)}function yT(e,t={}){let n=ow(e);if(t.dotStyle!==ri.Range)return{mode:n.length>1?`dumbbell`:`single`,values:n,ignored:[]};let r=vT(n,`low`,t.low),i=vT(n.filter(e=>e!==r),`high`,t.high),[a,...o]=n.filter(e=>e!==r&&e!==i);return r&&i&&a?{mode:`range`,values:[a],low:r,high:i,ignored:o}:{mode:`single`,values:[a??n[0]].filter(Boolean),ignored:[]}}function bT(e,t,n){let r=(n?t_(n):null)??String,i=[e.name,...t.values.map((t,n)=>`${t}: ${r(e.values[n])}`)];return e.low!==void 0&&t.low&&i.push(`${t.low}: ${r(e.low)}`),e.high!==void 0&&t.high&&i.push(`${t.high}: ${r(e.high)}`),i.join(`
356
+ `)}function xT(e){return typeof e==`number`&&Number.isFinite(e)}function ST(e,t,n){if(!e.values.every(xT))return`missing-value`;if(t.mode===`range`&&!(xT(e.low)&&xT(e.high)))return`missing-range`;let r=[...e.values,e.low,e.high].filter(xT);return n===Hr.Log&&r.some(e=>e<=0)?`non-positive-log`:void 0}function CT(e,t,n){let r=t.values.map(t=>cw(e,t)??[]),i=cw(e,t.low)??[],a=cw(e,t.high)??[],o=[],s=[];return e.labels.forEach((e,c)=>{let l={name:e,values:r.map(e=>e[c])};t.mode===`range`&&(l.low=i[c],l.high=a[c]);let u=ST(l,t,n);u?s.push({name:e,reason:u}):o.push(l)}),{rows:o,dropped:s}}function wT(e,t,n){return t===ii.None?[...e]:Cx(e,t===ii.Gap&&n===`dumbbell`?e=>e.values[e.values.length-1]-e.values[0]:e=>e.values[0],ti.Descending)}function TT(e,t,n,r){let i=new Map(e.map(e=>[e.name,e]));return{scaleX:n,scaleY:t,orientation:Zr.Horizontal,data:[],markCenter:e=>{let n=ca(i.get(e)?.values??[],e=>t(e));return n===void 0?void 0:{x:n,y:r(e)}}}}var ET=ae[0],DT=.25,OT=.4,kT=2,AT=350,jT=5,MT=6,NT=11;function PT(e,t,n={},r=!1){cC(e),R_(r);let i=Ov.for(e),a=r?gx(e):void 0,o={ranges:[],lines:[],dots:[],labels:[]},s=null,c=new Map;if(r){i.detach(),a?.chartType===`dot-plot`?(o.ranges=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-range`)),o.lines=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-line`)),o.dots=Array.from(e.querySelectorAll(`.bc-frame .bc-dot`)),o.labels=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-label`))):a&&(s=V_(e));for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of yb(t))c.set(e,n);e.replaceChildren()}let l=yT(t,{dotStyle:n.dotStyle,low:n.low,high:n.high}),u=n.horizontalAxis?.scaleType,d=wT(CT(t,l,u).rows,n.sortMode,l.mode),f=l.values,p=l.mode===`dumbbell`,m=US(n.colors??ae,f.length),h=e=>p?m[e]:n.colors?.[0]??ET,{body:g}=Qg(e,n.frame),_=N_(g).width,v=n.legend!==!1&&p,y=n.legendPosition??`top`,b=_>0&&_<AT&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=gS(_,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=j_(_,C?Wr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,A_(t.labels),n.horizontalAxis?.showAxis),T=Math.max(0,_-(w.left??50)-(w.right??20)),E=v?FS(f,b,T):{width:0,height:0},D=v?E.height+15:0,O={...w};v&&b===`top`&&(O.top=D),v&&b===`bottom`&&(O.bottom=(O.bottom??24)+D),v&&b===`left`&&(O.left=(O.left??50)+E.width+10),v&&b===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=F_(g,O),N=v_(a?.margin,M),P=Sf().domain(d.map(e=>e.name)).range([0,j]).paddingInner(.3).paddingOuter(.05),F=C?mS(P.bandwidth()):0,I=e=>(P(e)??0)+F+(P.bandwidth()-F)/2,L=d.flatMap(e=>[...e.values,...e.low===void 0?[]:[e.low,e.high]]),R=e=>n_(e,n.horizontalAxis?.numberFormat),z=n.valueLabels?FT(d,l.mode,R,A):0,B=mw(u,L,n.horizontalAxis?.range).range([p?z:0,A-z]);i.attach(k,N),i.update({vertical:{scale:P,height:j,options:{...n.verticalAxis,labelPosition:C?Wr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:B,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let V=k.ownerSVGElement,H=bx(V,e,`plot`,{x:0,y:0,width:A,height:j}),ee=Q(k).append(`g`).attr(`clip-path`,`url(#${H})`),U=()=>ee.append(`g`).node(),te=U(),ne=U(),re=U();te.append(...o.ranges),ne.append(...o.lines),re.append(...o.dots);let ie=kr(e),W=Ox(e),oe=Zx(n.highlights,d.map(e=>e.name)),se=e=>Qx(oe,e),ce=mx(n.colorizes),le=d.filter(e=>e.low!==void 0),ue=e=>({x:Math.min(B(e.low),B(e.high)),y:I(e.name)-5,width:Math.abs(B(e.high)-B(e.low)),height:10,rx:5,fill:ce.get(e.name)??h(0),"fill-opacity":DT,opacity:se(e.name)});Bx(W,{role:`mark-per-category`,parent:te,selector:`.bc-dot-range`,data:le,key:e=>e.name,insert:e=>e.append(`rect`).attr(`class`,`bc-dot-range`).attr(`data-key`,e=>e.name),attrs:ue,enterFrom:e=>({...ue(e),opacity:0}),exitTo:()=>({opacity:0})});let de=p?d:[],fe=e=>{let[t,r]=Vi(e.values).map(e=>B(e)),i=I(e.name),a=Math.sign(e.values.at(-1)-e.values[0]),o=n.arrows??ni.None,s=IT(a>0?r:t,a,o===ni.Forward||o===ni.Both),c=IT(a>0?t:r,-a,o===ni.Backward||o===ni.Both);return{d:`M${t},${i}L${r},${i}${LT(s,i)}${LT(c,i)}`,fill:`none`,stroke:`currentColor`,"stroke-opacity":OT,"stroke-width":kT,opacity:se(e.name)}};Bx(W,{role:`series-line`,parent:ne,selector:`.bc-dot-line`,data:de,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-dot-line`).attr(`data-key`,e=>e.name),attrs:fe,enterFrom:e=>({...fe(e),opacity:0}),exitTo:()=>({opacity:0})});let pe=d.flatMap(e=>f.map((t,n)=>({row:e.name,column:t,value:e.values[n],color:h(n)}))),G=e=>({"data-series":e.column,cx:B(e.value),cy:I(e.row),r:5,fill:ce.get(e.row)??e.color,stroke:ie,"stroke-width":1,opacity:se(e.row)});Bx(W,{role:`mark-per-cell`,parent:re,selector:`.bc-dot`,data:pe,key:e=>`${e.row}\0${e.column}`,insert:e=>e.append(`circle`).attr(`class`,`bc-dot`).attr(`data-key`,e=>`${e.row}|${e.column}`),attrs:G,enterFrom:e=>({...G(e),opacity:0}),exitTo:()=>({opacity:0})});let K=Q(k).append(`g`).node();if(K.append(...o.labels),zT(W,K,n.valueLabels?RT(d,f,l.mode,B,R):[],I,se),n.annotations?.length&&fx(k,n.annotations,{...TT(d,B,P,I),width:A,height:j,backgroundColor:ie,transition:r,priorAnnotations:c}),n.tooltips){let t=new Map(d.map(e=>[e.name,bT(e,l,n.horizontalAxis?.numberFormat)]));dC(k,{width:A,height:j,points:pe.map(e=>({cx:B(e.value),cy:I(e.row),label:t.get(e.row),value:e.value,color:ce.get(e.row)??e.color,r:5})),nearest:`xy`,format:e=>e.label,container:e})}if(C){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of d)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,(P(t.name)??0)+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t.name)}let me={left:M.left,top:M.top,width:A,height:j};if(Jx(W,{svg:V,clipId:H,group:k,from:a?.chartType===`dot-plot`?a.plotRect:void 0,to:me,active:r}),v){let e=b===`left`?-(E.width+10):b===`right`?A+10:0;VS(k,f,m,b===`top`?-(E.height+10):b===`bottom`?j+25:0,b,x,A,j,e,[],{left:M.left,right:M.right})}_x(e,{chartType:`dot-plot`,margin:M,plotRect:me}),s&&(B_(ee.node()),B_(K),H_(e,s))}function FT(e,t,n,r){let i=g_(e.flatMap(e=>e.values).map(n),NT)+MT+(t===`range`?0:5);return Math.min(i,r/4)}function IT(e,t,n){let r=n?t:0,i=e-r*5;return{tipX:i,armX:i-r*jT,armOffset:r===0?0:jT}}function LT({tipX:e,armX:t,armOffset:n},r){return`M${t},${r-n}L${e},${r}L${t},${r+n}`}function RT(e,t,n,r,i){return e.flatMap(e=>{if(n===`range`)return[{key:`${e.name}|range`,row:e.name,text:i(e.values[0]),x:Math.max(r(e.low),r(e.high))+MT,anchor:`start`}];let a=t.map((e,t)=>t).sort((t,n)=>e.values[t]-e.values[n]),o=a.length>1?[a[0],a.at(-1)]:a;return o.map((n,a)=>{let s=o.length>1&&a===0;return{key:`${e.name}|${t[n]}`,row:e.name,series:t[n],text:i(e.values[n]),x:r(e.values[n])+(s?-1:1)*11,anchor:s?`end`:`start`}})})}function zT(e,t,n,r,i){let a=e=>({...e.series?{"data-series":e.series}:{},x:e.x,y:r(e.row),"text-anchor":e.anchor,fill:`currentColor`,opacity:i(e.row)});Bx(e,{role:`value-label`,parent:t,selector:`.bc-dot-label`,data:n,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-dot-label`).attr(`data-key`,e=>e.key).attr(`font-size`,`${NT}px`).attr(`dominant-baseline`,`central`).text(e=>e.text),attrs:a,enterFrom:e=>({...a(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(t).selectAll(`.bc-dot-label`).data(n,e=>e.key).text(e=>e.text)}var BT=new Map;function VT(e,t,n){BT.set(e,{renderer:t,options:n})}function HT(e){return BT.get(e)?.renderer}function UT(e){return BT.get(e)?.options??[]}var WT=[{value:Ur.Solid,text:`Solid`},{value:Ur.Dashed,text:`Dashed`},{value:Ur.Dotted,text:`Dotted`},{value:Ur.None,text:`None`}],GT={key:`colors`,type:Z.Colors,label:`Colors`},KT={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...ce().map(e=>({value:e.name,text:e.label}))]},qT={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},JT={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},YT={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},XT={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ai.Top,choices:[{value:ai.Top,text:`Top`},{value:ai.Bottom,text:`Bottom`},{value:ai.Left,text:`Left`},{value:ai.Right,text:`Right`}]},ZT={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:oi.Start,choices:[{value:oi.Start,text:`Start`},{value:oi.Middle,text:`Middle`},{value:oi.End,text:`End`}]},QT={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:di.Off,choices:[{value:di.Off,text:`Off`},{value:di.Auto,text:`Auto`},{value:di.Outside,text:`Outside`},{value:di.Inside,text:`Inside`}]},$T={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:oi.Middle,choices:[{value:oi.Start,text:`Start`},{value:oi.Middle,text:`Middle`},{value:oi.End,text:`End`}]},eE={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},tE={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:si.Auto,choices:[{value:si.Auto,text:`Auto`},{value:si.Outside,text:`Outside`},{value:si.Inside,text:`Inside`}]},nE={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},rE={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},iE={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:ci.Both,choices:[{value:ci.Both,text:`Both`},{value:ci.Vertical,text:`Vertical`},{value:ci.Horizontal,text:`Horizontal`}]},aE={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:li.Dashed,choices:[{value:li.Solid,text:`Solid`},{value:li.Dashed,text:`Dashed`},{value:li.Dotted,text:`Dotted`}]},oE={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},sE={key:`valueLabelPoints`,type:Z.Select,label:`Show on`,default:$r.All,choices:[{value:$r.All,text:`All`},{value:$r.FirstLast,text:`First & last`},{value:$r.Last,text:`Last`},{value:`everyN`,text:`Every N`}]},cE={key:`valueLabelEvery`,type:Z.Text,label:`Every`,default:`2`,placeholder:`2`},lE={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},uE={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Qr.Circle,choices:[{value:Qr.Circle,text:`Circle`},{value:Qr.Square,text:`Square`},{value:Qr.Diamond,text:`Diamond`},{value:Qr.Triangle,text:`Triangle Up`},{value:Qr.TriangleDown,text:`Triangle Down`},{value:Qr.Cross,text:`Cross`},{value:Qr.Star,text:`Star`}]},dE={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:$r.FirstLast,choices:[{value:$r.FirstLast,text:`First & Last`},{value:$r.First,text:`First`},{value:$r.Last,text:`Last`},{value:$r.All,text:`All`}]},fE={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:ei.Filled,choices:[{value:ei.Filled,text:`Filled`},{value:ei.Hollow,text:`Hollow`}]},pE={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},mE={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},hE={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:ii.None,choices:[{value:ii.None,text:`None`},{value:ii.Total,text:`By total`},{value:ii.WithinGroups,text:`Within groups`}]},gE={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},_E={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},vE={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},yE={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},bE={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},xE={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},SE={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},CE={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},wE={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},TE={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:ui.Normal,choices:[{value:ui.Normal,text:`Normal`},{value:ui.Percent,text:`Percentage (100%)`}]},EE={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},DE={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},OE={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},kE={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},AE={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},jE={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},ME={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},NE={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},PE={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},FE={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},IE={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},LE={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},RE={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:ti.None,choices:[{value:ti.None,text:`Keep order`},{value:ti.Ascending,text:`Smallest first`},{value:ti.Descending,text:`Largest first`}]},zE={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:fi.Linear,choices:[{value:fi.Linear,text:`Linear`},{value:fi.MonotoneX,text:`Monotone`},{value:fi.Step,text:`Step`},{value:fi.StepBefore,text:`Step (before)`},{value:fi.StepAfter,text:`Step (after)`},{value:fi.Basis,text:`Basis`},{value:fi.Cardinal,text:`Cardinal`},{value:fi.CatmullRom,text:`Catmull-Rom`}]},BE={[Hr.Linear]:`Linear`,[Hr.Log]:`Logarithmic`,[Hr.Symlog]:`Symmetric log`};function VE(e){return e.map(e=>({value:e,text:BE[e]}))}var HE=[{value:Wr.Auto,text:`Auto`},{value:Wr.Inside,text:`Inside`},{value:Wr.Outside,text:`Outside`},{value:Wr.Off,text:`Off`}],UE=[{value:Gr.Auto,text:`Auto`},{value:Gr.Horizontal,text:`Horizontal`},{value:Gr.Vertical,text:`Vertical`}];function WE(e){let t=VE(e.scaleTypeChoices??[Hr.Linear,Hr.Log]),n=e.valueAxis===`vertical`||e.valueAxis===`both`,r=e.valueAxis===`horizontal`||e.valueAxis===`both`;return[{key:`showVerticalAxis`,type:Z.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Z.Select,label:`Vertical axis side`,default:Vr.Left,choices:[{value:Vr.Left,text:`Left`},{value:Vr.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Z.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Z.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?Wr.Off:Wr.Auto,choices:HE},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:WT},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:Hr.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Z.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Z.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Z.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?Wr.Off:Wr.Auto,choices:HE},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Gr.Horizontal,choices:UE},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:WT},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:Hr.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var GE=WE({verticalGrid:Ur.None,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),KE=WE({verticalGrid:Ur.None,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),qE=WE({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),JE=WE({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),YE={...zE,default:fi.MonotoneX},XE={...iE,default:ci.Vertical},ZE={...rE,default:!0},QE={...lE,default:!0},$E={...hE,default:ii.Total},eD={...eE,default:!0},tD={...eE,default:!0},nD={...OE,default:!0},rD={...ME,default:`5`},iD={...kE,default:!0},aD={...QT,default:di.Auto},oD={...YT,default:!1},sD=[rE,iE,aE,oE],cD=[ZE,XE,aE,oE],lD=[tD,tE,nE,...sD],uD=[eD,tE,nE,...sD],dD=[lE,uE,dE,fE,pE,mE],fD=[QE,uE,dE,fE,pE,mE],pD=[eE,nE,...cD,...dD],mD=[eE,nE,...cD,...fD],hD={key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Number format`},gD=[nD,hD,AE,jE,rD,NE],_D=[OE,hD,iD,AE,jE,ME,NE];VT(Br.BarVertical,bS,[GT,KT,qT,JT,wE,yE,xE,bE,SE,CE,_E,vE,DE,...GE,...lD]),VT(Br.BarHorizontal,TS,[GT,KT,qT,JT,wE,yE,xE,bE,SE,CE,_E,vE,DE,...KE,...uD]),VT(Br.BarMulti,rC,[GT,KT,qT,JT,bE,$E,oD,ZT,XT,aD,$T,...GE,...lD]),VT(Br.Line,_C,[GT,KT,qT,JT,YE,gE,...qE,...pD,sE,cE]),VT(Br.LineMulti,AC,[GT,KT,qT,JT,YE,gE,hE,oD,ZT,XT,aD,...qE,...mD,sE,cE]),VT(Br.Donut,IC,[GT,KT,qT,JT,oD,ZT,XT,aD,nE,..._D]),VT(Br.Pie,RC,[GT,KT,qT,JT,oD,ZT,XT,aD,nE,...gD]),VT(Br.Area,BC,[GT,KT,qT,JT,{...PE,default:`0.25`,placeholder:`0.25`},YE,gE,...JE,...pD]);var vD=WE({verticalGrid:Ur.Dashed,horizontalGrid:Ur.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});VT(Br.AreaStacked,UC,[GT,KT,qT,JT,PE,YE,gE,RE,FE,IE,LE,YT,ZT,XT,QT,...vD,nE,...cD]),VT(Br.ColumnStacked,KC,[GT,KT,qT,JT,bE,TE,hE,YT,ZT,XT,QT,$T,...GE,...lD,kE]),VT(Br.BarStacked,JC,[GT,KT,qT,JT,bE,TE,hE,YT,ZT,XT,QT,$T,DE,...KE,...uD]),VT(Br.BarSplit,rw,[GT,KT,qT,JT,bE,EE,hE,YT,ZT,XT,DE,...KE,eD,tE,nE,...sD]),VT(Br.BarGrouped,iw,[GT,KT,qT,JT,bE,$E,YT,ZT,XT,yE,xE,DE,...KE,eD,tE,nE,...sD]);var yD=[{key:`x`,type:Z.Text,label:`X axis`,default:``},{key:`y`,type:Z.Text,label:`Y axis`,default:``},{key:`size`,type:Z.Text,label:`Bubble size`,default:``},{key:`group`,type:Z.Text,label:`Color groups`,default:``}],bD={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},xD={...AE,default:!1,label:`Label all points`},SD=WE({verticalGrid:Ur.Dashed,horizontalGrid:Ur.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[Hr.Linear,Hr.Log,Hr.Symlog]});VT(Br.Scatter,hT,[GT,KT,qT,JT,...yD,bD,xD,YT,XT,ZT,{...nE,default:!0},...SD]);var CD=[{key:`low`,type:Z.Text,label:`Low column`,default:``},{key:`high`,type:Z.Text,label:`High column`,default:``}],wD={key:`dotStyle`,type:Z.Select,label:`Style`,default:ri.Dumbbell,choices:[{value:ri.Dumbbell,text:`Dumbbell`},{value:ri.Range,text:`Range`}]},TD={key:`arrows`,type:Z.Select,label:`Arrows`,default:ni.None,choices:[{value:ni.None,text:`None`},{value:ni.Forward,text:`Forward`},{value:ni.Backward,text:`Backward`},{value:ni.Both,text:`Both`}]},ED={...hE,default:ii.Value,choices:[{value:ii.None,text:`None`},{value:ii.Value,text:`By value`},{value:ii.Gap,text:`By gap`}]},DD=WE({verticalGrid:Ur.None,horizontalGrid:Ur.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`});VT(Br.DotPlot,PT,[GT,KT,qT,JT,wD,...CD,TD,ED,YT,XT,ZT,DE,...DD,eE,{...nE,default:!0}]),VT(Br.VerticalBar,bS,[GT,KT,qT,JT,wE,yE,xE,bE,SE,CE,_E,vE,DE,...GE,...lD]),VT(Br.HorizontalBar,TS,[GT,KT,qT,JT,wE,yE,xE,bE,SE,CE,_E,vE,DE,...KE,...uD]);function OD(e){let t=(e??``).trim();return t&&wi(t)!==void 0?t:void 0}function kD(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=OD(e.verticalRangeMin),r=OD(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function AD(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=OD(e.horizontalRangeMin),r=OD(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var jD=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.valueLabelEvery.connectionsOpacity.areaFillOpacity`.split(`.`));function MD(e,t){if(!t)return{};let n={};for(let{key:r}of UT(t)){let t=e[r];t!==void 0&&!jD.has(r)&&(n[r]=t)}return n}function ND(e,t){let n={},r=se(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Fr(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function PD(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function FD(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Qr.Circle,showOn:e.lineSymbolShowOn??$r.FirstLast,style:e.lineSymbolStyle??ei.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function ID(e,t,n){let r={...MD(e,n),...ND(e,t),...PD(e),...kD(e),...AD(e),...FD(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.valueLabelEvery??``,10);i>0&&(r.valueLabelEvery=i);let a=parseInt(e.sliceMax??``,10);!isNaN(a)&&a>0&&(r.sliceMax=a),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let o=parseFloat(e.barGap??``);isNaN(o)||(r.barGap=Math.max(0,Math.min(100,o))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let s=parseFloat(e.connectionsOpacity??``);isNaN(s)||(r.connectionsOpacity=Math.max(0,Math.min(1,s))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let c=parseFloat(e.areaFillOpacity??``);return isNaN(c)||(r.areaFillOpacity=c),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var LD=e=>e===!0||String(e).toLowerCase()===`true`;function RD(e){return new Map(e.map(e=>[e.key,e.value]))}function zD(e,t){let n=RD(t),r=UT(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Z.Colors?a[e.key]=V(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Z.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=LD(t):a[e.key]=String(t))}return a}function BD(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function VD(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>R(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!BD(String(e))?String(e):R(String(e)));return`${R(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${R(t)}`:typeof e.value==`string`&&BD(t)?`${R(e.key)} = ${R(t)}`:`${R(e.key)} = ${t}`}).join(`
357
+ `)}function HD(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function UD(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function WD(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function GD(e){return e.map(e=>({target:e.target,color:HD(e.properties,`color`)??`#e15759`,label:HD(e.properties,`label`)}))}function KD(e){return e.map(e=>({target:e.target}))}function qD(e){return e.map(e=>{let t=RD(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function JD(e){let t=e.get(`repeat`);if(LD(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function YD(e){return e.map(e=>{let t=RD(e.properties),n=e.kind??Yr.Point;if(n===Yr.Range){let e={kind:Yr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=JD(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===Yr.Free){let n={kind:Yr.Free,text:String(t.get(`text`)??``),x:UD(e.properties,`x`)??0,y:UD(e.properties,`y`)??0};n.repeat=JD(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=WD(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=LD(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Yr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=JD(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=WD(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=LD(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=LD(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=LD(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=LD(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function XD(e){return e.map(e=>{let t=RD(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:LD(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=LD(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=LD(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function ZD(e,t,n){if(!n&&t!==mi.Equals&&t!==mi.NotEquals)return!0;switch(t){case mi.Equals:return e===n;case mi.NotEquals:return e!==n;case mi.Contains:return e.toLowerCase().includes(n.toLowerCase());case mi.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case mi.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function QD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>ZD(e[n]??``,t.condition??mi.Equals,t.value??``));return{...e,rows:r}}function $D(e){return Number(N(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function eO(e,t,n){return n===`number`?$D(e)-$D(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function tO(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var nO={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function rO(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!nO[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function iO(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>$D(e[n]??``));return String(nO[e](r))}function aO(e,t){let n=tO({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=rO(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>iO(e.fn,t,e.colIndex))])}}function oO(e,t){let n=tO(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var sO=[`string`,`number`,`date`],cO=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:hi.Type,accepts:sO,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:hi.Type,accepts:sO,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:hi.Type,accepts:sO,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:hi.Type,accepts:sO,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:hi.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:hi.String,accepts:sO,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:hi.String,accepts:sO,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:hi.String,accepts:sO,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:hi.String,accepts:sO,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:hi.String,accepts:sO,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:hi.String,accepts:sO,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:hi.String,accepts:sO,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:hi.String,accepts:sO,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:hi.String,accepts:sO,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:hi.String,accepts:sO,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:hi.String,accepts:sO,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:hi.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:hi.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:hi.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:hi.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:hi.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:hi.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:hi.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],lO=new Map(cO.map(e=>[e.id,e]));function uO(e,t){let n=lO.get(e);return n?n.accepts.includes(t):!1}function dO(e){return lO.get(e)?.outputType??`string`}function fO(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function pO(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function mO(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return pO(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function hO(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function gO(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return fO(e,e=>Math.round(e*t)/t)}case`floor`:return fO(e,Math.floor);case`ceil`:return fO(e,Math.ceil);case`abs`:return fO(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return fO(e,e=>Math.min(Math.max(e,t),r))}case`log`:return fO(e,e=>e>0?Math.log(e):NaN);case`exp`:return fO(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return fO(e,e=>Math.floor(e/t)*t)}default:return e}}function _O(e,t,n){switch(t){case`extract-year`:return pO(e,e=>String(e.getFullYear()));case`extract-month`:return pO(e,e=>String(e.getMonth()+1));case`extract-day`:return pO(e,e=>String(e.getDate()));case`extract-weekday`:return pO(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return pO(e,e=>String(e.getHours()));case`shift-date`:return pO(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return pO(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:pO(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function vO(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?mO(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?gO(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?_O(e,t,n):hO(e,t,n)}function yO(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function bO(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function xO(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function SO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!uO(r,i))return yO(e,n);if(r===`split`)return bO(e,n,t);if(r===`normalize`||r===`standardize`)return xO(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=vO(e[n],r,t);let o=[...e.columnTypes];return o[n]=dO(r),{columns:[...e.columns],rows:a,columnTypes:o}}function CO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function wO(e,t){let n=tO(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===ti.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>$D(e[t]??``)),o=r.map(e=>$D(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=eO(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function TO(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var EO=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],DO=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,OO=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function kO(e){if(!e)return!1;for(let t of EO)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function AO(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=N(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function jO(e){if(!e)return!1;let t=N(AO(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function MO(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every(kO)?`date`:r.every(jO)?`number`:`string`})}function NO(e){let t=e.split(`
358
+ `).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=V(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(OO),i=n??t[e].match(DO);i&&r.push({cells:V(i[2]).map(B),label:z(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(B):B(e[0]).split(`,`).map(e=>e.trim());return PO([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(DO);t&&i.push([z(t[1]),B(t[2])])}return PO(r,i)}function PO(e,t){return{columns:e,rows:t,columnTypes:MO(e,t)}}function FO(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:R(e)}function IO(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${R(t)} = ${FO(n)}`}).join(`
359
+ `):[`series = ${e.slice(1).map(R).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>FO(e??``)).join(`,`);return`${R(t)} = ${n}`})].join(`
360
+ `)}function LO(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=new Map(e.textColumns?.map(e=>[e.name,e.values])),i=(e,n,i)=>r.has(e)?r.get(e)?.[i]??``:t(n[i]),a=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>i(e.name,e.values,r)):[t(e.values[r])]]);return{columns:n,rows:a,columnTypes:MO(n,a)}}var RO=new Set(Object.values(pi));function zO(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case pi.Sort:i=wO(i,t.config);break;case pi.Filter:i=QD(i,t.config);break;case pi.HideColumns:i=oO(i,t.config);break;case pi.Transpose:i=TO(i);break;case pi.Parse:i=SO(i,t.config);break;case pi.Rename:i=CO(i,t.config);break;case pi.GroupBy:i=aO(i,t.config)}return i}function BO(e){return e.filter(e=>RO.has(e.transformType)).map(e=>{let t={};for(let[n,r]of RD(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function VO(e,t){let n=BO(t);if(n.length===0)return e;let r=NO(e);if(r.columns.length===0)return e;let i=zO(n,r.columns,r.rows,r.columnTypes);return IO(i.columns,i.rows)}function HO(e,t){let n=BO(t);if(n.length===0||e.labels.length===0)return e;let r=LO(e),i=zO(n,r.columns,r.rows,r.columnTypes);return ie(IO(i.columns,i.rows))}var UO=new Set;function WO(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ii.Total:!RO.has(t.transformType)&&!UO.has(t.transformType)&&(UO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function GO(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),altText:t(`altText`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:LD(n)||void 0,getTheData:LD(e.get(`getTheData`))||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function KO(e){let t=RD(e.properties),n=ie(VO(e.data?VD(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===ti.Ascending||i===ti.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===ii.Total||s===ii.WithinGroups||s===ii.None)&&(c=s),c=WO(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:GO(t),colorizes:GD(e.colorizes),highlights:KD(e.highlights),areaFills:qD(e.areaFills),annotations:YD(e.annotations),seriesOverrides:XD(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var qO=Object.create(null);function JO(e){if(!qO[e]){let t={};for(let n of UT(e))n.default!==void 0&&(t[n.key]=n.default);qO[e]=t}return{...qO[e]}}function YO(e,t){let n=JO(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var XO=[`verticalLabelPosition`,`horizontalLabelPosition`];function ZO(e,t,n){let r=JO(t),i={...e};for(let e of XO)n[e]===void 0&&r[e]!==void 0&&r[e]!==Wr.Off&&(i[e]=r[e]);return i}var QO=new Set;function $O(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ii.Total:!RO.has(t.transformType)&&!QO.has(t.transformType)&&(QO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function ek(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function tk(e,t,n){let r=ek();for(let i=0;i<=t;i++){let a=e[i],o=RD(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=zD(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function nk(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function rk(e,t){let n=e.options??(e.properties?YO(e.chartType,zD(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=tk(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?ie(VD(i.data)):HO(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?YO(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?ZO(s,a,{...zD(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?GD(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:KD(i.highlights),d=i.areaFills.length>0?qD(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)YD(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>nk(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?XD(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===ii.Total||h===ii.WithinGroups||h===ii.None?h:void 0,_=$O(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`altText`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var ik=new WeakMap;function ak(e){let t=ik.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function ok(e,t){let n=ik.get(e);n||(n=new Set,ik.set(e,n)),n.add(t)}function sk(e,t,n){if(ak(e),n.ignoreLayout||!t)return{constrained:!1};let r=RD(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,ok(e,`aspectRatio`),ok(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,ok(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,ok(e,`display`),ok(e,`flexDirection`),ok(e,`overflow`)),{constrained:s}}var ck=new WeakMap;function lk(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function uk(e,t,n){if(!n)return null;let r=ck.get(e);return!r||r===t?null:(lk(e),V_(e))}function dk(e,t,n){if(ck.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&B_(t),H_(e,n)}}function fk(e){ck.delete(e),lk(e)}var pk=`http://www.w3.org/2000/svg`;function mk(e){return e.replace(/\s+/g,` `).trim()}function hk(e,t){if(e===`scatter chart`)return`${e} of ${t.labels.length} points.`;let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function gk(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?mk(t.title):``,a=t?.description?mk(t.description):``,o=t?.altText?mk(t.altText):``;return{label:i||r,description:o||[a,hk(r,n)].filter(Boolean).join(` `)}}function _k(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(pk,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function vk(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),_k(e,`desc`,t.description),_k(e,`title`,t.label)}function yk(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function bk(e,t,n){let r=yk(e);r&&t.accessibility&&vk(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function xk(e,t,n={}){let r=!!n.transition||Ox(e).state===`animating`;if(r||(Ox(e).interrupt(),e.replaceChildren(),fk(e)),t.data.labels.length===0){r&&(Ox(e).interrupt(),e.replaceChildren(),fk(e));return}let i=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}i=e}let a=sk(e,i.properties,n),o=rk(i,n.sceneIndex),s=HT(o.chartType);if(!s)return;Dv(e,o.chartType);let c=uk(e,o.chartType,r);c&&e.replaceChildren();let l=kr(e),u=ID(o.options,l,o.chartType),d;if(n.thumbnail)d=null;else{let e=o.frame?.padding??n.padding??`16px`;d={...o.frame??{},padding:e,data:o.data}}let f=Ox(e);r&&f.beginCommit(),s(e,o.data,{frame:d,sort:o.sort,...u,sortMode:o.sortMode??u.sortMode,colorizes:o.colorizes.length>0?o.colorizes:void 0,highlights:o.highlights.length>0?o.highlights:void 0,areaFills:o.areaFills.length>0?o.areaFills:void 0,annotations:o.annotations.length>0?o.annotations:void 0,seriesOverrides:o.seriesOverrides.length>0?o.seriesOverrides:void 0},r),r&&f.commit({duration:z_(),mode:n.transitionMode}),bk(e,{theme:n.theme??o.theme,accessibility:gk(o.chartType,d,o.data)},a),dk(e,o.chartType,c)}function Sk(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function Ck(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=M(t)}catch(t){Sk(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{xk(e,KO(r),n)}catch(t){Sk(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function wk(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var Tk=wk;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,S):S(),e.createSceneController=wk,e.createStepController=Tk,e.initBlueprint=S,e.renderBpc=Ck,e})({});