courthive-components 6.8.0 → 6.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -17900,7 +17900,7 @@ function wO(e) {
|
|
|
17900
17900
|
var TO = {
|
|
17901
17901
|
name: "courthive-components",
|
|
17902
17902
|
packageManager: "pnpm@12.10.1",
|
|
17903
|
-
version: "6.8.
|
|
17903
|
+
version: "6.8.1",
|
|
17904
17904
|
engines: { node: ">=22" },
|
|
17905
17905
|
description: "Components for competitions projects",
|
|
17906
17906
|
files: ["dist"],
|
|
@@ -17984,7 +17984,7 @@ var TO = {
|
|
|
17984
17984
|
"eslint-plugin-storybook": "^10.2.17",
|
|
17985
17985
|
"gh-pages": "6.3.0",
|
|
17986
17986
|
globals: "^17.3.0",
|
|
17987
|
-
"happy-dom": "^
|
|
17987
|
+
"happy-dom": "^21.0.0",
|
|
17988
17988
|
husky: "9.1.7",
|
|
17989
17989
|
leaflet: "1.9.4",
|
|
17990
17990
|
"lint-staged": "17.6.0",
|
|
@@ -17993,7 +17993,7 @@ var TO = {
|
|
|
17993
17993
|
semver: "7.8.5",
|
|
17994
17994
|
storybook: "^10.2.17",
|
|
17995
17995
|
"tabulator-tables": "6.6.1",
|
|
17996
|
-
"tods-competition-factory": "7.14.
|
|
17996
|
+
"tods-competition-factory": "7.14.1",
|
|
17997
17997
|
typescript: "^6.0.2",
|
|
17998
17998
|
vite: "8.3.4",
|
|
17999
17999
|
"vite-plugin-dts": "^5.0.0",
|
|
@@ -211,7 +211,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
211
211
|
`,`Instead, pass the .innerHTML of the element, or use a function that`,`returns a cloned version of the element instead.`,`
|
|
212
212
|
|
|
213
213
|
`,`1) content: element.innerHTML
|
|
214
|
-
`,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&Sy(t,r);return n&&e.push(n),e},[]);return Mv(e)?s[0]:s}Cy.defaultProps=oy,Cy.setDefaultProps=cy,Cy.currentInput=Uv,Object.assign({},Lg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),Cy.setDefaultProps({render:vy});var wy=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),Ty=`notes-toolbar-recent-colors`,Ey=8;function Dy(){try{return JSON.parse(localStorage.getItem(Ty)||`[]`)}catch{return[]}}function Oy(e){let t=Dy().filter(t=>t!==e);t.unshift(e),t.length>Ey&&(t=t.slice(0,Ey)),localStorage.setItem(Ty,JSON.stringify(t))}function ky(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(Py(e)),t.appendChild(Fy(e)),t.appendChild(Iy(e)),t.appendChild(By(e)),t.appendChild(Uy(e)),t.appendChild(Wy(e)),t.appendChild(Ky(e)),t}function Ay(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function jy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function My(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Ny(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function Py(e){let t=My(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function Fy(e){let t=My();return t.appendChild(Ny(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Ny(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Ny(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Ny(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Iy(e){let t=My();return t.appendChild(Ly(`color`,`A`,`Text color`,`#000000`,t=>{Oy(t),e.onColor?.(t)})),t.appendChild(Ly(`background`,`A`,`Background color`,`#ffff00`,t=>{Oy(t),e.onBackground?.(t)})),t}function Ly(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Ry(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Cy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Ry(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of wy)r.appendChild(zy(n,n===e,t));n.appendChild(r);let i=Dy();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(zy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function zy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function By(e){let t=My();return t.appendChild(Ny(`orderedList`,Vy(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(Ny(`bulletList`,Vy(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Vy(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Hy={alignLeft:Vy(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Vy(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Vy(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Vy(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Uy(e){let t=My();return t.appendChild(Ny(`alignLeft`,Hy.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Ny(`alignCenter`,Hy.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Ny(`alignRight`,Hy.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Ny(`alignJustify`,Hy.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Wy(e){let t=My();t.appendChild(Ny(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Ny(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Ny(`link`,`⇗`,`Insert link`);Gy(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Ny(`video`,`▷`,`Insert video`);return Gy(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function Gy(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=Cy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Ky(e){let t=My();return t.appendChild(Ny(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function qy(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=ky({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){Ay(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){jy(l.toolbar,e);return}jy(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function Jy(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=mn(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function Yy(e){return typeof e==`function`}var Xy;function Zy(e){Xy&&=(Xy?.destroy(!0),void 0),e?.remove&&e.remove()}function Qy(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;Zy();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(Xy=Cy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{Zy(l),Yy(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?Xy.setContent(`IMPLEMENT SUB MENU`):Yy(e.onClick)?(Zy(l),e.onClick()):Yy(a)&&a&&(Zy(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=Jy(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),Xy.show(),Xy.setProps({interactive:!0})),Xy}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function $y(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function eb(e){let t=$y(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function tb(e){let t=$y(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function nb(e){let t=$y(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function rb(e){let t=$y(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function ib(e){let t=$y(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ab(e){let t=$y(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ob(e){let t=$y(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var sb=`COURT_SVG`,cb={tennis:eb,basketball:tb,baseball:nb,hockey:rb,pickleball:ib,badminton:ab,padel:ob},lb={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},ub={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function db(e){if(e){for(let[t,n]of Object.entries(ub))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function fb(e){let t=e?.competitionFormat?.sport;return t&&lb[t]?lb[t]:db(e?.matchUpFormat)}function pb(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function mb(e,t=``){let n=e?cb[e]:void 0;if(n)return pb(n(t?`court--${e} ${t}`:`court--${e}`))}function hb(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function gb(e){if(!e)return;let t=hb(e);return t.length?t:void 0}function _b(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?gb(n)??t.venueName:t.venueName}var vb=/^(\d{4})-(\d{2})-(\d{2})/,yb=864e5;function bb(e){if(!e)return null;let t=vb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function xb(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function Sb(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=xb(e,t),r=new Date(n.getTime()+yb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return xb({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Cb(e){if(!e)return null;let t=bb(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function wb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Tb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function Eb(e,t){if(!e&&!t)return;let n=Cb(e),r=Cb(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?Tb(n):i&&a?n.getFullYear()===r.getFullYear()?`${wb(n)} – ${wb(r)}, ${r.getFullYear()}`:`${Tb(n)} – ${Tb(r)}`:Tb(i?n:r)}function Db(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var Ob=`URL`;function kb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Ob);return n?.url??n?.identifier}function Ab(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function jb(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function Mb(...e){for(let t of e){let e=jb(t);if(e!==void 0)return e}}function Nb(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var Pb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Fb(e){return e?{showImage:e.showImage??Pb.showImage,cornerBadges:e.cornerBadges??Pb.cornerBadges,body:e.body??Pb.body,footer:e.footer??Pb.footer}:Pb}var Ib=()=>`chc-tc-card`,Lb=()=>`chc-tc-card--clickable`,Rb=()=>`chc-tc-card--offline`,zb=()=>`chc-tc-image`,Bb=()=>`chc-tc-image-img`,Vb=()=>`chc-tc-image-svg`,Hb=()=>`chc-tc-image-placeholder`,Ub=()=>`chc-tc-corner-badges`,Wb=()=>`chc-tc-status-pill`,Gb=()=>`chc-tc-offline-badge`,Kb=()=>`chc-tc-body`,qb=()=>`chc-tc-title`,Jb=()=>`chc-tc-location`,Yb=()=>`chc-tc-date-range`,Xb=()=>`chc-tc-organizer`,Zb=()=>`chc-tc-updated-at`,Qb=()=>`chc-tc-footer`,$b=()=>`chc-tc-fee-badge`,ex=()=>`chc-tc-player-count`,tx=()=>`chc-tc-event-count`,nx=()=>`chc-tc-tier-badge`,rx=()=>`chc-tc-card chc-tc-skeleton`,ix=()=>`chc-tc-skeleton-line`,ax=()=>`chc-tc-skeleton-block`;function ox(e,t,n){let r=Fb(t),i=document.createElement(`div`);return i.className=Ib(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Rb()),n?.onClick&&(i.classList.add(Lb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(sx(e,r)),r.body.length&&i.appendChild(fx(e,r)),r.footer.length&&i.appendChild(bx(e,r)),i}function sx(e,t){let n=document.createElement(`div`);if(n.className=zb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Bb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>lx(n,e)),n.appendChild(t)}else cx(n,e);if(t.cornerBadges.length){let r=ux(e,t.cornerBadges);r&&n.appendChild(r)}return n}function cx(e,t){let n=mb(t.courtSvgSport,Vb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Hb(),e.appendChild(r)}function lx(e,t){e.querySelector(`.${Bb()}`)?.remove(),cx(e,t)}function ux(e,t){let n=[];for(let r of t){let t=dx(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Ub();for(let e of n)r.appendChild(e);return r}function dx(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Wb(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=Gb(),e.textContent=`Offline`,e}return null}function fx(e,t){let n=document.createElement(`div`);n.className=Kb();for(let r of t.body){let t=px(r,e);t&&n.appendChild(t)}return n}function px(e,t){switch(e){case`title`:return mx(t);case`tier`:return hx(t);case`location`:return gx(t);case`dateRange`:return _x(t);case`organizerName`:return vx(t);case`updatedAt`:return yx(t);default:return null}}function mx(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=qb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function hx(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=nx(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function gx(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=Jb(),t.textContent=e.location,t.title=e.location,t}function _x(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Yb(),t.textContent=e.dateRangeFormatted,t}function vx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=Xb(),t.textContent=e.organizerName,t}function yx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Zb();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function bx(e,t){let n=document.createElement(`div`);n.className=Qb();for(let r of t.footer){let t=xx(r,e);t&&n.appendChild(t)}return n}function xx(e,t){switch(e){case`feeBadge`:return Sx(t);case`playerCount`:return Cx(t);case`eventCount`:return wx(t);default:return null}}function Sx(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=$b(),t.textContent=e.feeFormatted,t}function Cx(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ex(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function wx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=tx(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Tx(e){let t=Fb(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:rx(),imageClass:zb(),bodyClass:Kb(),footerClass:Qb(),blockClass:ax(),lineClass:ix()})}var Ex=6048e5;function Dx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Ox(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function kx(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Ax(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=bb(e.endDate),a=i?Sb(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=bb(e.startDate);if(Ox(t,o?xb(o,r):null,a))return{kind:`live`,label:`Live`};let s=Dx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=Ex)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Dx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:kx(c)}:null}var jx=`–`,Mx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Nx({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Mx[t]??2)}function Px(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Fx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function Ix(e){if(!e?.length)return null;let t=Fx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(Nx).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${Px(s,a)}`:s===c?`${a} ${Px(s,a)}`:`${a} ${Px(s,a)} ${jx} ${Px(c,a)}`}var Lx=`tournamentImage`;function Rx(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function zx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function Bx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Vx(e){let{timeZone:n,error:r}=t.tournamentGovernor.getTournamentTimeZone({tournamentRecord:{localTimeZone:e?.localTimeZone||e?.timeZone,venues:Array.isArray(e?.venues)?e.venues:void 0}});return{tournamentStatus:e?.tournamentStatus,startDate:r?void 0:e?.startDate,endDate:r?void 0:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:n}}function Hx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?Ax(Vx(e),t?.now):t.statusOverride,s=e?.tournamentImageURL??kb(n,Lx),c=e?.courtSvgSport??Ab(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Eb(e?.startDate,e?.endDate),location:_b(r),tournamentImageURL:s,courtSvgSport:c,participantCount:zx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Ix(Rx(e)),updatedAt:e?.updatedAt,offline:Bx(e),tournamentTier:Ux(e)}}function Ux(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Wx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Gx(e){return e?{showImage:e.showImage??Wx.showImage,showMap:e.showMap??Wx.showMap,cornerBadges:e.cornerBadges??Wx.cornerBadges,body:e.body??Wx.body,footer:e.footer??Wx.footer}:Wx}var Kx=()=>`chc-vc-card`,qx=()=>`chc-vc-card--clickable`,Jx=()=>`chc-vc-image`,Yx=()=>`chc-vc-image-img`,Xx=()=>`chc-vc-image-svg`,Zx=()=>`chc-vc-image-map`,Qx=()=>`chc-vc-image-placeholder`,$x=()=>`chc-vc-corner-badges`,eS=()=>`chc-vc-primary-badge`,tS=()=>`chc-vc-body`,nS=()=>`chc-vc-title`,rS=()=>`chc-vc-address`,iS=()=>`chc-vc-court-breakdown`,aS=()=>`chc-vc-footer`,oS=()=>`chc-vc-amenity-row`,sS=()=>`chc-vc-amenity`,cS=()=>`chc-vc-card chc-vc-skeleton`,lS=()=>`chc-vc-skeleton-line`,uS=()=>`chc-vc-skeleton-block`;function dS(e,t,n){let r=Gx(t),i=document.createElement(`div`);i.className=Kx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=hS(e,r,()=>f()),i.appendChild(a));let o=r.body.length?CS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?DS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(qx()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(qx()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function fS(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function pS(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=Zx(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function mS(e,t){let n=mb(t.courtSvgSport,Xx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Qx(),e.appendChild(r)}function hS(e,t,n){let r=document.createElement(`div`);if(r.className=Jx(),e.venueImageURL){let i=document.createElement(`img`);i.className=Yx(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&fS(e)?r.appendChild(pS(e)):mS(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&fS(e)?r.appendChild(pS(e)):mS(r,e);if(t.cornerBadges.length){let n=_S(e,t.cornerBadges);n&&r.appendChild(n)}return r}function gS(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=eS(),e.textContent=`Primary`,e}return null}function _S(e,t){let n=[];for(let r of t){let t=gS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=$x();for(let e of n)r.appendChild(e);return r}function vS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=nS(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function yS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=rS(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function bS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=iS(),t.textContent=e.courtBreakdown,t}function xS(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=iS(),t.textContent=e.venueAbbreviation,t}function SS(e,t){return e===`title`?vS(t):e===`address`?yS(t):e===`courtBreakdown`?bS(t):e===`venueAbbreviation`?xS(t):null}function CS(e,t){let n=document.createElement(`div`);n.className=tS();for(let r of t.body){let t=SS(r,e);t&&n.appendChild(t)}return n}function wS(e){let t=document.createElement(`span`);return t.className=sS(),t.textContent=e,t}function TS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(wS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(wS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(wS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(wS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=oS();for(let e of t)n.appendChild(e);return n}function ES(e,t){return e===`amenityRow`?TS(t):e===`address`?yS(t):e===`courtBreakdown`?bS(t):null}function DS(e,t){let n=document.createElement(`div`);n.className=aS();for(let r of t.footer){let t=ES(r,e);t&&n.appendChild(t)}return n}function OS(e){let t=Gx(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:cS(),imageClass:Jx(),bodyClass:tS(),footerClass:aS(),blockClass:uS(),lineClass:lS()})}var kS=`venueImage`;function AS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function jS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=AS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function MS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function NS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:gb(i),latitude:jb(i?.latitude),longitude:jb(i?.longitude),courtCount:n.length||void 0,courtBreakdown:jS(n),indoorCount:MS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:MS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:MS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??kb(r,kS),courtSvgSport:e?.courtSvgSport??Ab(r)??t?.sport,notes:e?.notes}}var PS={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function FS(e){return e?{showImage:e.showImage??PS.showImage,cornerBadges:e.cornerBadges??PS.cornerBadges,body:e.body??PS.body,footer:e.footer??PS.footer}:PS}var IS=()=>`chc-cc-card`,LS=()=>`chc-cc-card--clickable`,RS=()=>`chc-cc-image`,zS=()=>`chc-cc-image-svg`,BS=()=>`chc-cc-image-placeholder`,VS=()=>`chc-cc-corner-badges`,HS=()=>`chc-cc-indoor-badge`,US=()=>`chc-cc-floodlit-badge`,WS=()=>`chc-cc-body`,GS=()=>`chc-cc-title`,KS=()=>`chc-cc-surface`,qS=()=>`chc-cc-availability`,JS=()=>`chc-cc-abbr`,YS=()=>`chc-cc-footer`,XS=()=>`chc-cc-amenity-row`,ZS=()=>`chc-cc-card chc-cc-skeleton`,QS=()=>`chc-cc-skeleton-line`,$S=()=>`chc-cc-skeleton-block`;function eC(e,t,n){let r=FS(t),i=document.createElement(`div`);return i.className=IS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(LS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(nC(e,r)),r.body.length&&i.appendChild(fC(e,r)),r.footer.length&&i.appendChild(hC(e,r)),i}function tC(e,t){let n=mb(t.courtSvgSport,zS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=BS(),e.appendChild(r)}function nC(e,t){let n=document.createElement(`div`);if(n.className=RS(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),tC(n,e),t.cornerBadges.length){let r=oC(e,t.cornerBadges);r&&n.appendChild(r)}return n}function rC(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=HS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function iC(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=US(),t.textContent=`Lit`,t}function aC(e,t){return e===`indoorOutdoor`?rC(t):e===`floodlit`?iC(t):null}function oC(e,t){let n=[];for(let r of t){let t=aC(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=VS();for(let e of n)r.appendChild(e);return r}function sC(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=GS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function cC(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=KS(),t.textContent=e.surfaceLabel,t}function lC(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=qS(),t.textContent=e.availabilitySummary,t}function uC(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=JS(),t.textContent=e.courtAbbreviation,t}function dC(e,t){return e===`title`?sC(t):e===`surface`?cC(t):e===`availability`?lC(t):e===`abbreviation`?uC(t):null}function fC(e,t){let n=document.createElement(`div`);n.className=WS();for(let r of t.body){let t=dC(r,e);t&&n.appendChild(t)}return n}function pC(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=XS(),n.textContent=t.join(` · `),n}function mC(e,t){return e===`amenityRow`?pC(t):e===`availability`?lC(t):e===`surface`?cC(t):null}function hC(e,t){let n=document.createElement(`div`);n.className=YS();for(let r of t.footer){let t=mC(r,e);t&&n.appendChild(t)}return n}function gC(e){let t=FS(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:ZS(),imageClass:RS(),bodyClass:WS(),footerClass:YS(),blockClass:$S(),lineClass:QS()})}var _C=`INDOOR`,vC=`OUTDOOR`,yC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function bC(e){if(!e)return;let t=String(e).toUpperCase();if(t===_C)return _C;if(t===vC)return vC}function xC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&yC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&yC.has(n)?n:t}function SC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function CC(e,t){let n=bC(e?.indoorOutdoor),r=xC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:SC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var wC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function TC(e){return e?{grouping:e.grouping??wC.grouping,sport:e.sport??wC.sport,showGroupHeadings:e.showGroupHeadings??wC.showGroupHeadings,showSummary:e.showSummary??wC.showSummary,minCardWidth:e.minCardWidth??wC.minCardWidth,emptyMessage:e.emptyMessage??wC.emptyMessage}:wC}var EC=()=>`chc-cl`,DC=()=>`chc-cl-summary`,OC=()=>`chc-cl-summary-count`,kC=()=>`chc-cl-group`,AC=()=>`chc-cl-group-heading`,jC=()=>`chc-cl-group-count`,MC=()=>`chc-cl-grid`,NC=()=>`chc-cl-empty`,PC=`Unspecified`,FC=`Unspecified surface`;function IC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function LC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?IC(t):PC}function RC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?IC(t):FC}function zC(e,t){let n=Db(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?LC(e):t===`surface`?RC(e):`${LC(e)} · ${RC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function BC(e){let t=new Map;for(let n of e){let e=LC(n),r=RC(n),i=`${e===PC?``:e.toLowerCase()} ${r===FC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function VC(e,t,n){let r=TC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=EC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=NC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(HC(i));for(let e of zC(i,r.grouping))a.appendChild(UC(e,r,n));return a}function HC(e){let t=document.createElement(`div`);t.className=DC();let n=document.createElement(`span`);n.className=OC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=BC(e),t.append(n,r),t}function UC(e,t,n){let r=document.createElement(`div`);if(r.className=kC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=AC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=jC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=MC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(GC(r,t,n));return r.appendChild(i),r}function WC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function GC(e,t,n){let r=CC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return eC(r,WC(t.grouping),i)}var KC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors © <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function qC(e){return e?{tiles:e.tiles??KC.tiles,darkTileLayer:e.darkTileLayer===void 0?KC.darkTileLayer:e.darkTileLayer,view:e.view??KC.view,showViewToggle:e.showViewToggle??KC.showViewToggle,zoom:e.zoom??KC.zoom,height:e.height??KC.height,courtsLayout:e.courtsLayout??KC.courtsLayout,showHeader:e.showHeader??KC.showHeader,showPopup:e.showPopup??KC.showPopup,scrollWheelZoom:e.scrollWheelZoom??KC.scrollWheelZoom,darkTiles:e.darkTiles??KC.darkTiles}:KC}var JC=()=>`chc-vl`,YC=()=>`chc-vl-header`,XC=()=>`chc-vl-title`,ZC=()=>`chc-vl-address`,QC=()=>`chc-vl-notes`,$C=()=>`chc-vl-body`,ew=()=>`chc-vl-body--below`,tw=()=>`chc-vl-mapwrap`,nw=()=>`chc-vl-map`,rw=()=>`chc-vl-map--invertible`,iw=()=>`chc-vl-toggle`,aw=()=>`chc-vl-toggle-btn`,ow=()=>`chc-vl-fallback`,sw=()=>`chc-vl-fallback-icon`,cw=()=>`chc-vl-courts`,lw=()=>`chc-vl-courts-title`,uw=()=>`chc-vl-court-list`,dw=()=>`chc-vl-court`,fw=()=>`chc-vl-court--clickable`,pw=()=>`chc-vl-court-name`,mw=()=>`chc-vl-court-meta`,hw=()=>`chc-vl-pip`,gw=()=>`chc-vl-marker`,_w=()=>`chc-vl-popup-title`,vw=()=>`chc-vl-popup-address`,yw=`No coordinates for this venue`,bw=`Map unavailable`,xw=new WeakMap;function Sw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function Cw(e){return Db(e)}function ww(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Tw(e,t,n){let r=qC(t),i=document.createElement(`div`);i.className=JC(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(Dw(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?$C():`${$C()} ${ew()}`;let{wrap:o,mapEl:s}=kw(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(Mw(c,e,n)),i.appendChild(a),s&&Sw(e)&&Pw({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function Ew(e){let t=xw.get(e);t&&(t(),xw.delete(e))}function Dw(e){let t=document.createElement(`div`);t.className=YC();let n=document.createElement(`div`);if(n.className=XC(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=ZC(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=QC(),n.textContent=e.notes,t.appendChild(n)}return t}function Ow(e){let t=document.createElement(`div`);t.className=ow();let n=document.createElement(`div`);n.className=sw(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function kw(e,t,n){let r=document.createElement(`div`);if(r.className=tw(),r.style.height=t.height,!Sw(e))return r.appendChild(Ow(yw)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=nw(),i.appendChild(Ow(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(Aw(a,t,n)),{wrap:r,mapEl:i}}function Aw(e,t,n){let r=document.createElement(`div`);r.className=iw(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=aw(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function jw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${dw()} ${fw()}`:dw(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=pw(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=mw();let s=ww(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=hw(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Mw(e,t,n){let r=document.createElement(`div`);r.className=cw();let i=document.createElement(`div`);i.className=lw(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=uw();for(let r of Cw(e))a.appendChild(jw(r,t,n));return r.appendChild(a),r}function Nw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${vw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${_w()}">${t(e.venueName)}</div>${n}`}async function Pw({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(Ow(bw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Bw(o,a,r,s);Vw(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Bw(o,a,r,e),Vw(t,r,e)},u=o.divIcon({className:``,html:`<div class="${gw()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(Nw(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),Lw(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=Rw();p=new MutationObserver(()=>{let t=Rw();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}xw.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(Ow(bw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var Fw=!1;function Iw(e){return e?e!==`relative`&&e!==`absolute`:!1}function Lw(e){Fw||Iw(globalThis.getComputedStyle?.(e)?.position)&&(Fw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function Rw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function zw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Bw(e,t,n,r){let i=zw(n,r,Rw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Vw(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(rw(),r)}function Hw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Uw(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Hw(e?.courtOrder),latitude:Mb(e?.latitude),longitude:Mb(e?.longitude)}}function Ww(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:gb(n),latitude:Mb(e?.latitude,n?.latitude),longitude:Mb(e?.longitude,n?.longitude),courts:t.map(Uw),notes:e?.notes}}var Gw=()=>`chc-team-card`,Kw=()=>`chc-team-card--clickable`,qw=()=>`chc-team-card__title-row`,Jw=()=>`chc-team-card__name`,Yw=()=>`chc-team-card__nickname`,Xw=()=>`chc-team-card__counts`,Zw=` · `;function Qw(e,t){let n=document.createElement(`div`);n.className=Gw(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(Kw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild($w(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(eT(r)),n}function $w(e){let t=document.createElement(`div`);t.className=qw();let n=document.createElement(`span`);if(n.className=Jw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=Yw(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function eT(e){let t=document.createElement(`div`);return t.className=Xw(),t.textContent=e.join(Zw),t}var tT=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],nT=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function rT(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function iT(e){let t=rT();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&nT.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&tT.includes(r)&&(t[r]+=1)}return t}function aT(e){return tT.reduce((t,n)=>t+e[n],0)}var oT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function sT(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of tT){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=aT(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of tT){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${oT[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of tT)r[t].classList.toggle(`is-active`,t===e)}}}var cT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},lT=`http://www.w3.org/2000/svg`,uT=96,dT=uT/2,fT=47,pT=31;function mT(e,t){return{x:dT+t*Math.cos(e),y:dT+t*Math.sin(e)}}function hT(e,t){let n=mT(e,fT),r=mT(t,fT),i=mT(t,pT),a=mT(e,pT),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${fT} ${fT} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${pT} ${pT} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function gT(){let e=mT(-Math.PI/2,fT),t=mT(Math.PI/2,fT),n=mT(-Math.PI/2,pT),r=mT(Math.PI/2,pT);return[`M ${e.x} ${e.y}`,`A ${fT} ${fT} 0 1 1 ${t.x} ${t.y}`,`A ${fT} ${fT} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${pT} ${pT} 0 1 0 ${r.x} ${r.y}`,`A ${pT} ${pT} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function _T(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(lT,`svg`);t.setAttribute(`viewBox`,`0 0 ${uT} ${uT}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of tT){let r=document.createElementNS(lT,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(lT,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=aT(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=tT.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of tT){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,gT());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,hT(s,n)),s=n}c&&(c.textContent=`${cT[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function vT(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var yT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function bT(e){return e?{cornerBadges:e.cornerBadges??yT.cornerBadges,body:e.body??yT.body,footer:e.footer??yT.footer,showVisualization:e.showVisualization??yT.showVisualization}:yT}var xT=()=>`chc-dc-card`,ST=()=>`chc-dc-card--clickable`,CT=()=>`chc-dc-corner-badges`,wT=()=>`chc-dc-status-pill`,TT=()=>`chc-dc-secondary-badge`,ET=()=>`chc-dc-body`,DT=()=>`chc-dc-viz`,OT=()=>`chc-dc-title-row`,kT=()=>`chc-dc-title`,AT=()=>`chc-dc-draw-type`,jT=()=>`chc-dc-meta`,MT=()=>`chc-dc-footer`,NT=()=>`chc-dc-chip`,PT=()=>`chc-dc-progress`,FT=()=>`chc-dc-progress-bar`,IT=()=>`chc-dc-progress-fill`,LT=()=>`chc-dc-card chc-dc-skeleton`,RT=()=>`chc-dc-skeleton-line`;function zT(e,t,n){let r=bT(t),i=document.createElement(`div`);if(i.className=xT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(ST()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=DT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(nE(e,r)),r.footer.length&&i.appendChild(rE(e,r)),i}function BT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=wT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function VT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=TT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function HT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=TT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function UT(e,t){return e===`status`?BT(t):e===`publishedBadge`?VT(t):e===`embargoBadge`?HT(t):null}function WT(e,t){let n=[];for(let r of t){let t=UT(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=CT();for(let e of n)r.appendChild(e);return r}function GT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=kT(),t.textContent=e.drawName,t.title=e.drawName,t}function KT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=AT(),t.textContent=e.drawTypeLabel,t}function qT(e){let t=document.createElement(`span`);return t.className=NT(),t.textContent=e,t}function JT(e){return typeof e.drawSize==`number`?qT(`Size ${e.drawSize}`):null}function YT(e){return typeof e.entryCount==`number`?qT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function XT(e){return e.matchUpFormat?qT(e.matchUpFormat):null}function ZT(e){return typeof e.flightNumber==`number`?qT(`Flight ${e.flightNumber}`):null}function QT(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=jT(),n.textContent=t.join(` · `),n}function $T(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=PT();let a=document.createElement(`div`);a.className=jT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=FT();let s=document.createElement(`div`);return s.className=IT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function eE(e,t){return e===`title`?GT(t):e===`drawTypeLabel`?KT(t):e===`drawSize`?JT(t):e===`entries`?YT(t):e===`matchUpFormat`?XT(t):e===`flightNumber`?ZT(t):e===`ratings`?QT(t):e===`matchUpProgress`?$T(t):null}function tE(e,t){let n=document.createElement(`div`);n.className=OT();let r=GT(e);r&&n.appendChild(r);let i=WT(e,t);return i&&n.appendChild(i),n}function nE(e,t){let n=document.createElement(`div`);n.className=ET();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=WT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(tE(e,t.cornerBadges));continue}let a=eE(r,e);a&&n.appendChild(a)}return n}function rE(e,t){let n=document.createElement(`div`);n.className=MT();for(let r of t.footer){let t=eE(r,e);t&&n.appendChild(t)}return n}function iE(){let e=document.createElement(`div`);e.className=LT();let t=document.createElement(`div`);t.className=ET();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=RT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var aE={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function oE(e){if(e)return aE[e]?aE[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function sE(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function cE(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function lE(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function uE(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:sE(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?lE({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:oE(e?.drawType),drawSize:cE(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var dE={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},fE=15;function pE(e){return e?{showImage:e.showImage??dE.showImage,cornerBadges:e.cornerBadges??dE.cornerBadges,body:e.body??dE.body,footer:e.footer??dE.footer}:dE}var mE=()=>`chc-ec-card`,hE=()=>`chc-ec-card--clickable`,gE=()=>`chc-ec-image`,_E=()=>`chc-ec-image-img`,vE=()=>`chc-ec-image-svg`,yE=()=>`chc-ec-image-placeholder`,bE=()=>`chc-ec-corner-badges`,xE=()=>`chc-ec-status-pill`,SE=()=>`chc-ec-eventtype-badge`,CE=()=>`chc-ec-gender-badge`,wE=()=>`chc-ec-body`,TE=()=>`chc-ec-title`,EE=()=>`chc-ec-category`,DE=()=>`chc-ec-draw-summary`,OE=()=>`chc-ec-date-range`,kE=()=>`chc-ec-footer`,AE=()=>`chc-ec-player-count`,jE=()=>`chc-ec-progress`,ME=()=>`chc-ec-progress-meta`,NE=()=>`chc-ec-progress-bar`,PE=()=>`chc-ec-progress-fill`,FE=()=>`chc-ec-updated-at`,IE=()=>`chc-ec-card chc-ec-skeleton`,LE=()=>`chc-ec-skeleton-line`,RE=()=>`chc-ec-skeleton-block`;function zE(e,t,n){let r=pE(t),i=document.createElement(`div`);return i.className=mE(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(hE()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(VE(e,r)),r.body.length&&i.appendChild(tD(e,r)),r.footer.length&&i.appendChild(nD(e,r)),i}function BE(e,t){let n=mb(t.courtSvgSport,vE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=yE(),e.appendChild(r)}function VE(e,t){let n=document.createElement(`div`);if(n.className=gE(),e.eventImageURL){let t=document.createElement(`img`);t.className=_E(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),BE(n,e)}),n.appendChild(t)}else BE(n,e);if(t.cornerBadges.length){let r=KE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function HE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=xE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function UE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=SE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function WE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=CE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function GE(e,t){return e===`status`?HE(t):e===`eventTypeBadge`?UE(t):e===`genderBadge`?WE(t):null}function KE(e,t){let n=[];for(let r of t){let t=GE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=bE();for(let e of n)r.appendChild(e);return r}function qE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=TE(),t.textContent=e.eventName,t.title=e.eventName,t}function JE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=EE(),t.textContent=e.categoryLabel,t}function YE(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=DE(),t.textContent=e.drawSummary,t}function XE(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=OE(),t.textContent=e.dateRangeFormatted,t}function ZE(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=FE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function QE(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=AE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function $E(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=jE();let a=document.createElement(`div`);a.className=ME(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=NE();let s=document.createElement(`div`);return s.className=PE(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function eD(e,t){return e===`title`?qE(t):e===`categoryLabel`?JE(t):e===`drawSummary`?YE(t):e===`dateRange`?XE(t):e===`updatedAt`?ZE(t):e===`playerCount`?QE(t):e===`matchUpProgress`?$E(t):null}function tD(e,t){let n=document.createElement(`div`);n.className=wE();for(let r of t.body){let t=eD(r,e);t&&n.appendChild(t)}return n}function nD(e,t){let n=document.createElement(`div`);n.className=kE();for(let r of t.footer){let t=eD(r,e);t&&n.appendChild(t)}return n}function rD(e){let t=pE(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:IE(),imageClass:gE(),bodyClass:wE(),footerClass:kE(),blockClass:RE(),lineClass:LE()})}function iD(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function aD(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function oD(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=iD(e.startDate),i=iD(e.endDate);if(n&&(n.inProgress>0||aD(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var sD=`eventImage`,cD=`DRAFT_STATE`;function lD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function uD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function dD(e){if(!e)return;let t=fD(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=fD(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function fD(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function pD(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function mD(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function hD(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===cD):!1}function gD(e){return e.some(e=>e?.automated?.seedsOnly===!0||hD(e))}function _D(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var vD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function yD(e){if(!e.length)return 0;let t=0;for(let n of e)vD.has(String(n?.entryStatus))&&(t+=1);return t}function bD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:mD(e)),o=t?.statusOverride===void 0?oD({allDrawsCancelled:_D(n),drawCount:n.length,entryCount:yD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(hD),hasSeedsOnlyDraw:gD(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:dD(e?.category),eventType:lD(e?.eventType),gender:uD(e?.gender),drawCount:n.length||void 0,drawSummary:pD(n),entryCount:yD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Eb(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??kb(i,sD),courtSvgSport:e?.courtSvgSport??Ab(i)??t?.sport,updatedAt:e?.updatedAt}}var xD=()=>`chc-hil-container`,SD=()=>`chc-hil-form`,CD=()=>`chc-hil-header`,wD=()=>`chc-hil-title`,TD=()=>`chc-hil-tabs`,ED=()=>`chc-hil-tab`,DD=()=>`chc-hil-tab--active`,OD=()=>`chc-hil-field`,kD=()=>`chc-hil-label`,AD=()=>`chc-hil-input`,jD=()=>`chc-hil-row`,MD=()=>`chc-hil-submit`,ND=()=>`chc-hil-message`,PD=()=>`chc-hil-message--error`,FD=()=>`chc-hil-message--success`,ID=()=>`chc-hil-switch-mode`;function LD(e){return e.replace(/\/+$/,``)}async function RD(e,t,n,r=fetch){let i=LD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function zD(e,t,n){return RD(e,`/auth/hiveid/signup`,t,n)}function BD(e,t,n){return RD(e,`/auth/hiveid/verify-existing`,t,n)}function VD(e,t,n){return RD(e,`/auth/hiveid/magic-link`,t,n)}function HD(e,t,n){return RD(e,`/auth/hiveid/magic-link/consume`,t,n)}function UD(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var WD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],GD=`signup`,KD=`login`,qD=`magic-link`,JD=[GD,KD,qD],YD=`hiveid:authenticated`,XD={[GD]:`Sign up`,[KD]:`Log in`,[qD]:`Email link`},ZD={[GD]:`Create your CourtHive identity`,[KD]:`Log in to CourtHive`,[qD]:`Email me a sign-in link`};function QD(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=xD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=CD();let a=document.createElement(`h2`);a.className=wD(),i.appendChild(a);let o=document.createElement(`div`);o.className=TD(),i.appendChild(o);let s={};JD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=ED(),t.textContent=XD[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=SD(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=ND(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=ND(),t===`error`&&l.classList.add(PD()),t===`success`&&l.classList.add(FD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=OD();let a=document.createElement(`label`);a.className=kD(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=AD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=jD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=MD(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=ID();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=kD(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=AD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=AD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=kD(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=AD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=OD();let o=document.createElement(`label`);o.className=kD(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=AD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??WD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>tO({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(YD,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await zD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(UD(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(rO(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await BD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??nO()}),u(`Signed in.`,`success`)}catch(e){u(rO(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await VD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(rO(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=ZD[t],JD.forEach(e=>{s[e].classList.toggle(DD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=AD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=AD();let i=document.createElement(`div`);i.className=OD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=kD(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=OD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=kD(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:eO(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener(YD,t),()=>r.removeEventListener(YD,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function $D(e,t,n){let r=await HD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??nO()}}function eO(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function tO(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function nO(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function rO(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var iO={name:`courthive-components`,packageManager:`pnpm@12.10.1`,version:`6.8.0`,engines:{node:`>=22`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.1`,"@typescript-eslint/parser":`8.71.1`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.12.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^20.8.3`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.14.0`,typescript:`^6.0.2`,vite:`8.3.4`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function aO(){return iO.version}var oO={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function sO(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&K(i.onClick)&&i.onClick(),n&&K(n)&&n()},e.appendChild(t)}return{elements:r}}var cO=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function lO(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var uO=(e,t)=>n=>lO(n)&&Number(n)>=e&&Number(n)<=t,dO=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function fO(e){return t.tools.dateTime.dateValidation.test(e)}var pO=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},mO=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,hO=e=>mO.exec(e),gO=_({dateValidator:()=>fO,emailValidator:()=>hO,nameValidator:()=>cO,numericRange:()=>uO,numericValidator:()=>lO,passwordValidator:()=>dO,wordValidator:()=>pO}),_O=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},vO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,yO=new WeakMap;function bO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=vO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),yO.set(n,i),n.appendChild(r),n}function xO(e){yO.get(e)?.()}function SO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function CO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function wO(e){let t,n,r;e.length===2?(t=e===SO||e===CO?e:TO,n=e,r=e):(t=SO,n=(t,n)=>SO(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 TO(){return 0}function EO(e){return e===null?NaN:+e}var DO=wO(SO),OO=DO.right;DO.left,wO(EO).center;function kO(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 AO=class extends Map{constructor(e,t=PO){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(jO(this,e))}has(e){return super.has(jO(this,e))}set(e,t){return super.set(MO(this,e),t)}delete(e){return super.delete(NO(this,e))}};function jO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function MO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function NO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function PO(e){return typeof e==`object`&&e?e.valueOf():e}var FO=Math.sqrt(50),IO=Math.sqrt(10),LO=Math.sqrt(2);function RO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=FO?10:a>=IO?5:a>=LO?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?RO(e,t,n*2):[s,c,l]}function zO(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?RO(t,e,n):RO(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 BO(e,t,n){return t=+t,e=+e,n=+n,RO(e,t,n)[2]}function VO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?BO(t,e,n):BO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function HO(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 UO(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 WO(e){return e}var GO=1,KO=2,qO=3,JO=4,YO=1e-6;function XO(e){return`translate(`+e+`,0)`}function ZO(e){return`translate(0,`+e+`)`}function QO(e){return t=>+e(t)}function $O(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ek(){return!this.__axis}function tk(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===GO||e===JO?-1:1,u=e===JO||e===KO?`x`:`y`,d=e===GO||e===qO?XO:ZO;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):WO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?$O:QO)(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===GO?`0em`:e===qO?`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`,YO).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,YO).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===JO||e===KO?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(ek).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===KO?`start`:e===JO?`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 nk(e){return tk(qO,e)}function rk(e){return tk(JO,e)}var ik={value:()=>{}};function ak(){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 ok(n)}function ok(e){this._=e}function sk(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}})}ok.prototype=ak.prototype={constructor:ok,on:function(e,t){var n=this._,r=sk(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=ck(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]=lk(n[i],e.name,t);else if(t==null)for(i in n)n[i]=lk(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 ok(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 ck(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function lk(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=ik,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var uk={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 dk(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),uk.hasOwnProperty(t)?{space:uk[t],local:e}:e}function fk(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 pk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function mk(e){var t=dk(e);return(t.local?pk:fk)(t)}function hk(){}function gk(e){return e==null?hk:function(){return this.querySelector(e)}}function _k(e){typeof e!=`function`&&(e=gk(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 aj(r,this._parents)}function vk(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function yk(){return[]}function bk(e){return e==null?yk:function(){return this.querySelectorAll(e)}}function xk(e){return function(){return vk(e.apply(this,arguments))}}function Sk(e){e=typeof e==`function`?xk(e):bk(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 aj(r,i)}function Ck(e){return function(){return this.matches(e)}}function wk(e){return function(t){return t.matches(e)}}var Tk=Array.prototype.find;function Ek(e){return function(){return Tk.call(this.children,e)}}function Dk(){return this.firstElementChild}function Ok(e){return this.select(e==null?Dk:Ek(typeof e==`function`?e:wk(e)))}var kk=Array.prototype.filter;function Ak(){return Array.from(this.children)}function jk(e){return function(){return kk.call(this.children,e)}}function Mk(e){return this.selectAll(e==null?Ak:jk(typeof e==`function`?e:wk(e)))}function Nk(e){typeof e!=`function`&&(e=Ck(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 aj(r,this._parents)}function Pk(e){return Array(e.length)}function Fk(){return new aj(this._enter||this._groups.map(Pk),this._parents)}function Ik(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ik.prototype={constructor:Ik,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 Lk(e){return function(){return e}}function Rk(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 Ik(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function zk(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 Ik(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Bk(e){return e.__data__}function Vk(e,t){if(!arguments.length)return Array.from(this,Bk);var n=t?zk:Rk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Lk(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=Hk(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 aj(o,r),o._enter=s,o._exit=c,o}function Hk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Uk(){return new aj(this._exit||this._groups.map(Pk),this._parents)}function Wk(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 Gk(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 aj(s,this._parents)}function Kk(){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 qk(e){e||=Jk;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 aj(i,this._parents).order()}function Jk(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Yk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Xk(){return Array.from(this)}function Zk(){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 Qk(){let e=0;for(let t of this)++e;return e}function $k(){return!this.node()}function eA(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 tA(e){return function(){this.removeAttribute(e)}}function nA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function rA(e,t){return function(){this.setAttribute(e,t)}}function iA(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function aA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function oA(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 sA(e,t){var n=dk(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?nA:tA:typeof t==`function`?n.local?oA:aA:n.local?iA:rA)(n,t))}function cA(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function lA(e){return function(){this.style.removeProperty(e)}}function uA(e,t,n){return function(){this.style.setProperty(e,t,n)}}function dA(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function fA(e,t,n){return arguments.length>1?this.each((t==null?lA:typeof t==`function`?dA:uA)(e,t,n??``)):pA(this.node(),e)}function pA(e,t){return e.style.getPropertyValue(t)||cA(e).getComputedStyle(e,null).getPropertyValue(t)}function mA(e){return function(){delete this[e]}}function hA(e,t){return function(){this[e]=t}}function gA(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function _A(e,t){return arguments.length>1?this.each((t==null?mA:typeof t==`function`?gA:hA)(e,t)):this.node()[e]}function vA(e){return e.trim().split(/^|\s+/)}function yA(e){return e.classList||new bA(e)}function bA(e){this._node=e,this._names=vA(e.getAttribute(`class`)||``)}bA.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 xA(e,t){for(var n=yA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function SA(e,t){for(var n=yA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function CA(e){return function(){xA(this,e)}}function wA(e){return function(){SA(this,e)}}function TA(e,t){return function(){(t.apply(this,arguments)?xA:SA)(this,e)}}function EA(e,t){var n=vA(e+``);if(arguments.length<2){for(var r=yA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?TA:t?CA:wA)(n,t))}function DA(){this.textContent=``}function OA(e){return function(){this.textContent=e}}function kA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function AA(e){return arguments.length?this.each(e==null?DA:(typeof e==`function`?kA:OA)(e)):this.node().textContent}function jA(){this.innerHTML=``}function MA(e){return function(){this.innerHTML=e}}function NA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function PA(e){return arguments.length?this.each(e==null?jA:(typeof e==`function`?NA:MA)(e)):this.node().innerHTML}function FA(){this.nextSibling&&this.parentNode.appendChild(this)}function IA(){return this.each(FA)}function LA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function RA(){return this.each(LA)}function zA(e){var t=typeof e==`function`?e:mk(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function BA(){return null}function VA(e,t){var n=typeof e==`function`?e:mk(e),r=t==null?BA:typeof t==`function`?t:gk(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function HA(){var e=this.parentNode;e&&e.removeChild(this)}function UA(){return this.each(HA)}function WA(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function GA(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KA(e){return this.select(e?GA:WA)}function qA(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function JA(e){return function(t){e.call(this,t,this.__data__)}}function YA(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 XA(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 ZA(e,t,n){return function(){var r=this.__on,i,a=JA(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 QA(e,t,n){var r=YA(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?ZA:XA,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function $A(e,t,n){var r=cA(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 ej(e,t){return function(){return $A(this,e,t)}}function tj(e,t){return function(){return $A(this,e,t.apply(this,arguments))}}function nj(e,t){return this.each((typeof t==`function`?tj:ej)(e,t))}function*rj(){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 ij=[null];function aj(e,t){this._groups=e,this._parents=t}function oj(){return new aj([[document.documentElement]],ij)}function sj(){return this}aj.prototype=oj.prototype={constructor:aj,select:_k,selectAll:Sk,selectChild:Ok,selectChildren:Mk,filter:Nk,data:Vk,enter:Fk,exit:Uk,join:Wk,merge:Gk,selection:sj,order:Kk,sort:qk,call:Yk,nodes:Xk,node:Zk,size:Qk,empty:$k,each:eA,attr:sA,style:fA,property:_A,classed:EA,text:AA,html:PA,raise:IA,lower:RA,append:zA,insert:VA,remove:UA,clone:KA,datum:qA,on:QA,dispatch:nj,[Symbol.iterator]:rj};function cj(e){return typeof e==`string`?new aj([[document.querySelector(e)]],[document.documentElement]):new aj([[e]],ij)}function lj(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function uj(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function dj(){}var fj=.7,pj=1/fj,mj=`\\s*([+-]?\\d+)\\s*`,hj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,gj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,_j=/^#([0-9a-f]{3,8})$/,vj=RegExp(`^rgb\\(${mj},${mj},${mj}\\)$`),yj=RegExp(`^rgb\\(${gj},${gj},${gj}\\)$`),bj=RegExp(`^rgba\\(${mj},${mj},${mj},${hj}\\)$`),xj=RegExp(`^rgba\\(${gj},${gj},${gj},${hj}\\)$`),Sj=RegExp(`^hsl\\(${hj},${gj},${gj}\\)$`),Cj=RegExp(`^hsla\\(${hj},${gj},${gj},${hj}\\)$`),wj={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};lj(dj,kj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Tj,formatHex:Tj,formatHex8:Ej,formatHsl:Dj,formatRgb:Oj,toString:Oj});function Tj(){return this.rgb().formatHex()}function Ej(){return this.rgb().formatHex8()}function Dj(){return Hj(this).formatHsl()}function Oj(){return this.rgb().formatRgb()}function kj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=_j.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Aj(t):n===3?new Pj(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?jj(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?jj(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=vj.exec(e))?new Pj(t[1],t[2],t[3],1):(t=yj.exec(e))?new Pj(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=bj.exec(e))?jj(t[1],t[2],t[3],t[4]):(t=xj.exec(e))?jj(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Sj.exec(e))?Vj(t[1],t[2]/100,t[3]/100,1):(t=Cj.exec(e))?Vj(t[1],t[2]/100,t[3]/100,t[4]):wj.hasOwnProperty(e)?Aj(wj[e]):e===`transparent`?new Pj(NaN,NaN,NaN,0):null}function Aj(e){return new Pj(e>>16&255,e>>8&255,e&255,1)}function jj(e,t,n,r){return r<=0&&(e=t=n=NaN),new Pj(e,t,n,r)}function Mj(e){return e instanceof dj||(e=kj(e)),e?(e=e.rgb(),new Pj(e.r,e.g,e.b,e.opacity)):new Pj}function Nj(e,t,n,r){return arguments.length===1?Mj(e):new Pj(e,t,n,r??1)}function Pj(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}lj(Pj,Nj,uj(dj,{brighter(e){return e=e==null?pj:pj**+e,new Pj(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?fj:fj**+e,new Pj(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pj(zj(this.r),zj(this.g),zj(this.b),Rj(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:Fj,formatHex:Fj,formatHex8:Ij,formatRgb:Lj,toString:Lj}));function Fj(){return`#${Bj(this.r)}${Bj(this.g)}${Bj(this.b)}`}function Ij(){return`#${Bj(this.r)}${Bj(this.g)}${Bj(this.b)}${Bj((isNaN(this.opacity)?1:this.opacity)*255)}`}function Lj(){let e=Rj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${zj(this.r)}, ${zj(this.g)}, ${zj(this.b)}${e===1?`)`:`, ${e})`}`}function Rj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Bj(e){return e=zj(e),(e<16?`0`:``)+e.toString(16)}function Vj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Wj(e,t,n,r)}function Hj(e){if(e instanceof Wj)return new Wj(e.h,e.s,e.l,e.opacity);if(e instanceof dj||(e=kj(e)),!e)return new Wj;if(e instanceof Wj)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 Wj(o,s,c,e.opacity)}function Uj(e,t,n,r){return arguments.length===1?Hj(e):new Wj(e,t,n,r??1)}function Wj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}lj(Wj,Uj,uj(dj,{brighter(e){return e=e==null?pj:pj**+e,new Wj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?fj:fj**+e,new Wj(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 Pj(qj(e>=240?e-240:e+120,i,r),qj(e,i,r),qj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Wj(Gj(this.h),Kj(this.s),Kj(this.l),Rj(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=Rj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Gj(this.h)}, ${Kj(this.s)*100}%, ${Kj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Gj(e){return e=(e||0)%360,e<0?e+360:e}function Kj(e){return Math.max(0,Math.min(1,e||0))}function qj(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 Jj=e=>()=>e;function Yj(e,t){return function(n){return e+n*t}}function Xj(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Zj(e){return(e=+e)==1?Qj:function(t,n){return n-t?Xj(t,n,e):Jj(isNaN(t)?n:t)}}function Qj(e,t){var n=t-e;return n?Yj(e,n):Jj(isNaN(e)?t:e)}var $j=(function e(t){var n=Zj(t);function r(e,t){var r=n((e=Nj(e)).r,(t=Nj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Qj(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 eM(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 tM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function nM(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=dM(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 rM(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function iM(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function aM(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]=dM(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var oM=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,sM=new RegExp(oM.source,`g`);function cM(e){return function(){return e}}function lM(e){return function(t){return e(t)+``}}function uM(e,t){var n=oM.lastIndex=sM.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=oM.exec(e))&&(i=sM.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:iM(r,i)})),n=sM.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?lM(c[0].x):cM(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 dM(e,t){var n=typeof t,r;return t==null||n===`boolean`?Jj(t):(n===`number`?iM:n===`string`?(r=kj(t))?(t=r,$j):uM:t instanceof kj?$j:t instanceof Date?rM:tM(t)?eM:Array.isArray(t)?nM:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?aM:iM)(e,t)}function fM(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var pM=180/Math.PI,mM={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hM(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)*pM,skewX:Math.atan(c)*pM,scaleX:o,scaleY:s}}var gM;function _M(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?mM:hM(t.a,t.b,t.c,t.d,t.e,t.f)}function vM(e){return e==null||(gM||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),gM.setAttribute(`transform`,e),!(e=gM.transform.baseVal.consolidate()))?mM:(e=e.matrix,hM(e.a,e.b,e.c,e.d,e.e,e.f))}function yM(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:iM(e,i)},{i:c-2,x:iM(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:iM(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:iM(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:iM(e,n)},{i:s-2,x:iM(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 bM=yM(_M,`px, `,`px)`,`deg)`),xM=yM(vM,`, `,`)`,`)`),SM=0,CM=0,wM=0,TM=1e3,EM,DM,OM=0,kM=0,AM=0,jM=typeof performance==`object`&&performance.now?performance:Date,MM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function NM(){return kM||=(MM(PM),jM.now()+AM)}function PM(){kM=0}function FM(){this._call=this._time=this._next=null}FM.prototype=IM.prototype={constructor:FM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?NM():+n)+(t==null?0:+t),!this._next&&DM!==this&&(DM?DM._next=this:EM=this,DM=this),this._call=e,this._time=n,VM()},stop:function(){this._call&&(this._call=null,this._time=1/0,VM())}};function IM(e,t,n){var r=new FM;return r.restart(e,t,n),r}function LM(){NM(),++SM;for(var e=EM,t;e;)(t=kM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--SM}function RM(){kM=(OM=jM.now())+AM,SM=CM=0;try{LM()}finally{SM=0,BM(),kM=0}}function zM(){var e=jM.now(),t=e-OM;t>TM&&(AM-=t,OM=e)}function BM(){for(var e,t=EM,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:EM=n);DM=e,VM(r)}function VM(e){SM||(CM&&=clearTimeout(CM),e-kM>24?(e<1/0&&(CM=setTimeout(RM,e-jM.now()-AM)),wM&&=clearInterval(wM)):(wM||=(OM=jM.now(),setInterval(zM,TM)),SM=1,MM(RM)))}function HM(e,t,n){var r=new FM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var UM=ak(`start`,`end`,`cancel`,`interrupt`),WM=[];function GM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;YM(e,n,{name:t,index:r,group:i,on:UM,tween:WM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function KM(e,t){var n=JM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function qM(e,t){var n=JM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function JM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function YM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=IM(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 HM(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(HM(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 XM(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 ZM(e){return this.each(function(){XM(this,e)})}function QM(e,t){var n,r;return function(){var i=qM(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 $M(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=qM(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 eN(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=JM(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?QM:$M)(n,e,t))}function tN(e,t,n){var r=e._id;return e.each(function(){var e=qM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return JM(e,r).value[t]}}function nN(e,t){var n;return(typeof t==`number`?iM:t instanceof kj?$j:(n=kj(t))?(t=n,$j):uM)(e,t)}function rN(e){return function(){this.removeAttribute(e)}}function iN(e){return function(){this.removeAttributeNS(e.space,e.local)}}function aN(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 oN(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 sN(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 cN(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 lN(e,t){var n=dk(e),r=n===`transform`?xM:nN;return this.attrTween(e,typeof t==`function`?(n.local?cN:sN)(n,r,tN(this,`attr.`+e,t)):t==null?(n.local?iN:rN)(n):(n.local?oN:aN)(n,r,t))}function uN(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function dN(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function fN(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&dN(e,i)),n}return i._value=t,i}function pN(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&uN(e,i)),n}return i._value=t,i}function mN(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=dk(e);return this.tween(n,(r.local?fN:pN)(r,t))}function hN(e,t){return function(){KM(this,e).delay=+t.apply(this,arguments)}}function gN(e,t){return t=+t,function(){KM(this,e).delay=t}}function _N(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?hN:gN)(t,e)):JM(this.node(),t).delay}function vN(e,t){return function(){qM(this,e).duration=+t.apply(this,arguments)}}function yN(e,t){return t=+t,function(){qM(this,e).duration=t}}function bN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?vN:yN)(t,e)):JM(this.node(),t).duration}function xN(e,t){if(typeof t!=`function`)throw Error();return function(){qM(this,e).ease=t}}function SN(e){var t=this._id;return arguments.length?this.each(xN(t,e)):JM(this.node(),t).ease}function CN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();qM(this,e).ease=n}}function wN(e){if(typeof e!=`function`)throw Error();return this.each(CN(this._id,e))}function TN(e){typeof e!=`function`&&(e=Ck(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 eP(r,this._parents,this._name,this._id)}function EN(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 eP(o,this._parents,this._name,this._id)}function DN(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 ON(e,t,n){var r,i,a=DN(t)?KM:qM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function kN(e,t){var n=this._id;return arguments.length<2?JM(this.node(),n).on.on(e):this.each(ON(n,e,t))}function AN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function jN(){return this.on(`end.remove`,AN(this._id))}function MN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=gk(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,GM(l[f],t,n,f,l,JM(u,n)));return new eP(a,this._parents,t,n)}function NN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=bk(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=JM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&GM(p,t,n,h,f,m);a.push(f),o.push(u)}return new eP(a,o,t,n)}var PN=oj.prototype.constructor;function FN(){return new PN(this._groups,this._parents)}function IN(e,t){var n,r,i;return function(){var a=pA(this,e),o=(this.style.removeProperty(e),pA(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function LN(e){return function(){this.style.removeProperty(e)}}function RN(e,t,n){var r,i=n+``,a;return function(){var o=pA(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function zN(e,t,n){var r,i,a;return function(){var o=pA(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),pA(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function BN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=qM(this,e),l=c.on,u=c.value[a]==null?s||=LN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function VN(e,t,n){var r=(e+=``)==`transform`?bM:nN;return t==null?this.styleTween(e,IN(e,r)).on(`end.style.`+e,LN(e)):typeof t==`function`?this.styleTween(e,zN(e,r,tN(this,`style.`+e,t))).each(BN(this._id,e)):this.styleTween(e,RN(e,r,t),n).on(`end.style.`+e,null)}function HN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function UN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&HN(e,a,n)),r}return a._value=t,a}function WN(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,UN(e,t,n??``))}function GN(e){return function(){this.textContent=e}}function KN(e){return function(){var t=e(this);this.textContent=t??``}}function qN(e){return this.tween(`text`,typeof e==`function`?KN(tN(this,`text`,e)):GN(e==null?``:e+``))}function JN(e){return function(t){this.textContent=e.call(this,t)}}function YN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&JN(r)),t}return r._value=e,r}function XN(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,YN(e))}function ZN(){for(var e=this._name,t=this._id,n=tP(),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=JM(c,t);GM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new eP(r,this._parents,e,n)}function QN(){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=qM(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 $N=0;function eP(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function tP(){return++$N}var nP=oj.prototype;eP.prototype={constructor:eP,select:MN,selectAll:NN,selectChild:nP.selectChild,selectChildren:nP.selectChildren,filter:TN,merge:EN,selection:FN,transition:ZN,call:nP.call,nodes:nP.nodes,node:nP.node,size:nP.size,empty:nP.empty,each:nP.each,on:kN,attr:lN,attrTween:mN,style:VN,styleTween:WN,text:qN,textTween:XN,remove:jN,tween:eN,delay:_N,duration:bN,ease:SN,easeVarying:wN,end:QN,[Symbol.iterator]:nP[Symbol.iterator]};function rP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var iP={time:null,delay:0,duration:250,ease:rP};function aP(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function oP(e){var t,n;e instanceof eP?(t=e._id,e=e._name):(t=tP(),(n=iP).time=NM(),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])&&GM(c,e,t,l,o,n||aP(c,t));return new eP(r,this._parents,e,t)}oj.prototype.interrupt=ZM,oj.prototype.transition=oP;var{abs:sP,max:cP,min:lP}=Math;[`w`,`e`].map(uP),[`n`,`s`].map(uP),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(uP);function uP(e){return{type:e}}var dP=Math.PI,fP=2*dP,pP=1e-6,mP=fP-pP;function hP(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function gP(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return hP;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 _P=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?hP:gP(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>pP){if(!(Math.abs(u*s-c*l)>pP)||!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((dP-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>pP&&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)>pP||Math.abs(this._y1-l)>pP)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%fP+fP),d>mP?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>pP&&this._append`A${n},${n},0,${+(d>=dP)},${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._}};_P.prototype;function vP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function yP(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 bP(e){return e=yP(Math.abs(e)),e?e[1]:NaN}function xP(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 SP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var CP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function wP(e){if(!(t=CP.exec(e)))throw Error(`invalid format: `+e);var t;return new TP({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]})}wP.prototype=TP.prototype;function TP(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+``}TP.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 EP(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 DP;function OP(e,t){var n=yP(e,t);if(!n)return DP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(DP=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`)+yP(e,Math.max(0,t+a-1))[0]}function kP(e,t){var n=yP(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 AP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:vP,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)=>kP(e*100,t),r:kP,s:OP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function jP(e){return e}var MP=Array.prototype.map,NP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function PP(e){var t=e.grouping===void 0||e.thousands===void 0?jP:xP(MP.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?jP:SP(MP.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=wP(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`):AP[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=AP[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=EP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&DP!==void 0?NP[8+DP/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(bP(t)/3)))*3,r=10**-n,i=l((e=wP(e),e.type=`f`,e),{suffix:NP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var FP,IP,LP;RP({thousands:`,`,grouping:[3],currency:[`$`,``]});function RP(e){return FP=PP(e),IP=FP.format,LP=FP.formatPrefix,FP}function zP(e){return Math.max(0,-bP(Math.abs(e)))}function BP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(bP(t)/3)))*3-bP(Math.abs(e)))}function VP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,bP(t)-bP(e))+1}function HP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function UP(){return this.eachAfter(HP)}function WP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function GP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function KP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function qP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function JP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function YP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function XP(e){for(var t=this,n=ZP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function ZP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function QP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function $P(){return Array.from(this)}function eF(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function tF(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*nF(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function rF(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=oF)):t===void 0&&(t=aF);for(var n=new lF(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new lF(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(cF)}function iF(){return rF(this).eachBefore(sF)}function aF(e){return e.children}function oF(e){return Array.isArray(e)?e[1]:null}function sF(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function cF(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function lF(e){this.data=e,this.depth=this.height=0,this.parent=null}lF.prototype=rF.prototype={constructor:lF,count:UP,each:WP,eachAfter:KP,eachBefore:GP,find:qP,sum:JP,sort:YP,path:XP,ancestors:QP,descendants:$P,leaves:eF,links:tF,copy:iF,[Symbol.iterator]:nF};function uF(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function dF(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function fF(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(uF),i}function a(e,t){return function(r){r.children&&dF(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function pF(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var mF=Symbol(`implicit`);function hF(){var e=new AO,t=[],n=[],r=mF;function i(i){let a=e.get(i);if(a===void 0){if(r!==mF)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 AO;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 hF(t,n).unknown(r)},pF.apply(i,arguments),i}function gF(){var e=hF().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=UO(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 gF(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},pF.apply(d(),arguments)}function _F(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return _F(t())},e}function vF(){return _F(gF.apply(null,arguments).paddingInner(1))}function yF(e){return function(){return e}}function bF(e){return+e}var xF=[0,1];function SF(e){return e}function CF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:yF(isNaN(t)?NaN:.5)}function wF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function TF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=CF(i,r),a=n(o,a)):(r=CF(r,i),a=n(a,o)),function(e){return a(r(e))}}function EF(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]=CF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=OO(e,t,1,r)-1;return a[n](i[n](t))}}function DF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function OF(){var e=xF,t=xF,n=dM,r,i,a,o=SF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==SF&&(o=wF(e[0],e[n-1])),s=n>2?EF:TF,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),iM))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,bF),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=fM,u()},d.clamp=function(e){return arguments.length?(o=e?!0:SF,u()):o!==SF},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 kF(){return OF()(SF,SF)}function AF(e,t,n,r){var i=VO(e,t,n),a;switch(r=wP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=BP(i,o))&&(r.precision=a),LP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=VP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=zP(i))&&(r.precision=a-(r.type===`%`)*2)}return IP(r)}function jF(e){var t=e.domain;return e.ticks=function(e){var n=t();return zO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return AF(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=BO(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 MF(){var e=kF();return e.copy=function(){return DF(e,MF())},pF.apply(e,arguments),jF(e)}function NF(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}var PF=new Date,FF=new Date;function IF(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=>IF(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)=>(PF.setTime(+t),FF.setTime(+r),e(PF),e(FF),Math.floor(n(PF,FF))),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 LF=IF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);LF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?IF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):LF),LF.range;var RF=1e3,zF=RF*60,BF=zF*60,VF=BF*24,HF=VF*7,UF=VF*30,WF=VF*365,GF=IF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*RF)},(e,t)=>(t-e)/RF,e=>e.getUTCSeconds());GF.range;var KF=IF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*RF)},(e,t)=>{e.setTime(+e+t*zF)},(e,t)=>(t-e)/zF,e=>e.getMinutes());KF.range;var qF=IF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*zF)},(e,t)=>(t-e)/zF,e=>e.getUTCMinutes());qF.range;var JF=IF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*RF-e.getMinutes()*zF)},(e,t)=>{e.setTime(+e+t*BF)},(e,t)=>(t-e)/BF,e=>e.getHours());JF.range;var YF=IF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*BF)},(e,t)=>(t-e)/BF,e=>e.getUTCHours());YF.range;var XF=IF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*zF)/VF,e=>e.getDate()-1);XF.range;var ZF=IF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/VF,e=>e.getUTCDate()-1);ZF.range;var QF=IF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/VF,e=>Math.floor(e/VF));QF.range;function $F(e){return IF(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())*zF)/HF)}var eI=$F(0),tI=$F(1),nI=$F(2),rI=$F(3),iI=$F(4),aI=$F(5),oI=$F(6);eI.range,tI.range,nI.range,rI.range,iI.range,aI.range,oI.range;function sI(e){return IF(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)/HF)}var cI=sI(0),lI=sI(1),uI=sI(2),dI=sI(3),fI=sI(4),pI=sI(5),mI=sI(6);cI.range,lI.range,uI.range,dI.range,fI.range,pI.range,mI.range;var hI=IF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());hI.range;var gI=IF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());gI.range;var _I=IF(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());_I.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:IF(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)}),_I.range;var vI=IF(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());vI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:IF(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)}),vI.range;function yI(e,t,n,r,i,a){let o=[[GF,1,RF],[GF,5,5*RF],[GF,15,15*RF],[GF,30,30*RF],[a,1,zF],[a,5,5*zF],[a,15,15*zF],[a,30,30*zF],[i,1,BF],[i,3,3*BF],[i,6,6*BF],[i,12,12*BF],[r,1,VF],[r,2,2*VF],[n,1,HF],[t,1,UF],[t,3,3*UF],[e,1,WF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=wO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(VO(t/WF,n/WF,r));if(a===0)return LF.every(Math.max(VO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[bI,xI]=yI(vI,gI,cI,QF,YF,qF),[SI,CI]=yI(_I,hI,eI,XF,JF,KF);function wI(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 TI(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 EI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function DI(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=NI(i),u=PI(i),d=NI(a),f=PI(a),p=NI(o),m=PI(o),h=NI(s),g=PI(s),_=NI(c),v=PI(c),y={a:N,A:P,b:F,B:I,c:null,d:tL,e:tL,f:oL,g:_L,G:yL,H:nL,I:rL,j:iL,L:aL,m:sL,M:cL,p:L,q:R,Q:HL,s:UL,S:lL,u:uL,U:dL,V:pL,w:mL,W:hL,x:null,X:null,y:gL,Y:vL,Z:bL,"%":VL},b={a:z,A:B,b:V,B:H,c:null,d:xL,e:xL,f:EL,g:LL,G:zL,H:SL,I:CL,j:wL,L:TL,m:DL,M:OL,p:ee,q:U,Q:HL,s:UL,S:kL,u:AL,U:jL,V:NL,w:PL,W:FL,x:null,X:null,y:IL,Y:RL,Z:BL,"%":VL},x={a:E,A:D,b:O,B:k,c:A,d:GI,e:GI,f:ZI,g:VI,G:BI,H:qI,I:qI,j:KI,L:XI,m:WI,M:JI,p:T,q:UI,Q:$I,s:eL,S:YI,u:II,U:LI,V:RI,w:FI,W:zI,x:j,X:M,y:VI,Y:BI,Z:HI,"%":QI};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=OI[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=EI(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=TI(EI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?lI.ceil(a):lI(a),a=ZF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=wI(EI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?tI.ceil(a):tI(a),a=XF.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?TI(EI(r.y,0,1)).getUTCDay():wI(EI(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,TI(r)):wI(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 OI?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 OI={"-":``,_:` `,0:`0`},kI=/^\s*\d+/,AI=/^%/,jI=/[\\^$*+?|[\]().{}]/g;function Z(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 MI(e){return e.replace(jI,`\\$&`)}function NI(e){return RegExp(`^(?:`+e.map(MI).join(`|`)+`)`,`i`)}function PI(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function FI(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function II(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function LI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function RI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function zI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function BI(e,t,n){var r=kI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function VI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function HI(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 UI(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function WI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function GI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function KI(e,t,n){var r=kI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function qI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function JI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function YI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function XI(e,t,n){var r=kI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ZI(e,t,n){var r=kI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function QI(e,t,n){var r=AI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function $I(e,t,n){var r=kI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function eL(e,t,n){var r=kI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function tL(e,t){return Z(e.getDate(),t,2)}function nL(e,t){return Z(e.getHours(),t,2)}function rL(e,t){return Z(e.getHours()%12||12,t,2)}function iL(e,t){return Z(1+XF.count(_I(e),e),t,3)}function aL(e,t){return Z(e.getMilliseconds(),t,3)}function oL(e,t){return aL(e,t)+`000`}function sL(e,t){return Z(e.getMonth()+1,t,2)}function cL(e,t){return Z(e.getMinutes(),t,2)}function lL(e,t){return Z(e.getSeconds(),t,2)}function uL(e){var t=e.getDay();return t===0?7:t}function dL(e,t){return Z(eI.count(_I(e)-1,e),t,2)}function fL(e){var t=e.getDay();return t>=4||t===0?iI(e):iI.ceil(e)}function pL(e,t){return e=fL(e),Z(iI.count(_I(e),e)+(_I(e).getDay()===4),t,2)}function mL(e){return e.getDay()}function hL(e,t){return Z(tI.count(_I(e)-1,e),t,2)}function gL(e,t){return Z(e.getFullYear()%100,t,2)}function _L(e,t){return e=fL(e),Z(e.getFullYear()%100,t,2)}function vL(e,t){return Z(e.getFullYear()%1e4,t,4)}function yL(e,t){var n=e.getDay();return e=n>=4||n===0?iI(e):iI.ceil(e),Z(e.getFullYear()%1e4,t,4)}function bL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function xL(e,t){return Z(e.getUTCDate(),t,2)}function SL(e,t){return Z(e.getUTCHours(),t,2)}function CL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function wL(e,t){return Z(1+ZF.count(vI(e),e),t,3)}function TL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function EL(e,t){return TL(e,t)+`000`}function DL(e,t){return Z(e.getUTCMonth()+1,t,2)}function OL(e,t){return Z(e.getUTCMinutes(),t,2)}function kL(e,t){return Z(e.getUTCSeconds(),t,2)}function AL(e){var t=e.getUTCDay();return t===0?7:t}function jL(e,t){return Z(cI.count(vI(e)-1,e),t,2)}function ML(e){var t=e.getUTCDay();return t>=4||t===0?fI(e):fI.ceil(e)}function NL(e,t){return e=ML(e),Z(fI.count(vI(e),e)+(vI(e).getUTCDay()===4),t,2)}function PL(e){return e.getUTCDay()}function FL(e,t){return Z(lI.count(vI(e)-1,e),t,2)}function IL(e,t){return Z(e.getUTCFullYear()%100,t,2)}function LL(e,t){return e=ML(e),Z(e.getUTCFullYear()%100,t,2)}function RL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function zL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?fI(e):fI.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function BL(){return`+0000`}function VL(){return`%`}function HL(e){return+e}function UL(e){return Math.floor(e/1e3)}var WL,GL;KL({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 KL(e){return WL=DI(e),GL=WL.format,WL.parse,WL.utcFormat,WL.utcParse,WL}function qL(e){return new Date(e)}function JL(e){return e instanceof Date?+e:+new Date(+e)}function YL(e,t,n,r,i,a,o,s,c,l){var u=kF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,JL)):f().map(qL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(NF(n,e)):u},u.copy=function(){return DF(u,YL(e,t,n,r,i,a,o,s,c,l))},u}function XL(){return pF.apply(YL(SI,CI,_I,hI,eI,XF,JF,KF,GF,GL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ZL(e){return function(){return e}}var QL=Math.abs,$L=Math.atan2,eR=Math.cos,tR=Math.max,nR=Math.min,rR=Math.sin,iR=Math.sqrt,aR=Math.PI,oR=aR/2,sR=2*aR;function cR(e){return e>1?0:e<-1?aR:Math.acos(e)}function lR(e){return e>=1?oR:e<=-1?-oR:Math.asin(e)}function uR(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 _P(t)}function dR(e){return e.innerRadius}function fR(e){return e.outerRadius}function pR(e){return e.startAngle}function mR(e){return e.endAngle}function hR(e){return e&&e.padAngle}function gR(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 _R(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/iR(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)*iR(tR(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 vR(){var e=dR,t=fR,n=ZL(0),r=null,i=pR,a=mR,o=hR,s=null,c=uR(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-oR,m=a.apply(this,arguments)-oR,h=QL(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>sR-1e-12)s.moveTo(f*eR(p),f*rR(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*eR(m),d*rR(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):iR(d*d+f*f)),T=nR(QL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=lR(w/d*rR(C)),j=lR(w/f*rR(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*eR(_),N=f*rR(_),P=d*eR(b),F=d*rR(b);if(T>1e-12){var I=f*eR(v),L=f*rR(v),R=d*eR(y),z=d*rR(y),B;if(h<aR){if(B=gR(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],W=1/rR(cR((V*ee+H*U)/(iR(V*V+H*H)*iR(ee*ee+U*U)))/2),te=iR(B[0]*B[0]+B[1]*B[1]);E=nR(T,(d-te)/(W-1)),D=nR(T,(f-te)/(W+1))}else E=D=0}}S>1e-12?D>1e-12?(O=_R(R,z,M,N,f,D,g),k=_R(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,$L(O.y01,O.x01),$L(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,$L(O.y01,O.x01),$L(O.y11,O.x11),!g),s.arc(0,0,f,$L(O.cy+O.y11,O.cx+O.x11),$L(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,$L(k.y11,k.x11),$L(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=_R(P,F,I,L,d,-E,g),k=_R(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,$L(O.y01,O.x01),$L(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,$L(O.y01,O.x01),$L(O.y11,O.x11),!g),s.arc(0,0,d,$L(O.cy+O.y11,O.cx+O.x11),$L(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,$L(k.y11,k.x11),$L(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-aR/2;return[eR(r)*n,rR(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:ZL(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ZL(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ZL(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ZL(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:ZL(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function yR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function bR(e){this._context=e}bR.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 xR(e){return new bR(e)}function SR(e){return e[0]}function CR(e){return e[1]}function wR(e,t){var n=ZL(!0),r=null,i=xR,a=null,o=uR(s);e=typeof e==`function`?e:e===void 0?SR:ZL(e),t=typeof t==`function`?t:t===void 0?CR:ZL(t);function s(s){var c,l=(s=yR(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:ZL(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:ZL(!!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 TR(e,t,n){var r=null,i=ZL(!0),a=null,o=xR,s=null,c=uR(l);e=typeof e==`function`?e:e===void 0?SR:ZL(+e),t=typeof t==`function`?t:ZL(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?CR:ZL(+n);function l(l){var u,d,f,p=(l=yR(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 wR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ZL(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:ZL(+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:ZL(!!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 ER(e){return e<0?-1:1}function DR(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(ER(a)+ER(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function OR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function kR(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 AR(e){this._context=e}AR.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:kR(this,this._t0,OR(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,kR(this,OR(this,n=DR(this,e,t)),n);break;default:kR(this,this._t0,n=DR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(AR.prototype).point=function(e,t){AR.prototype.point.call(this,t,e)};function jR(e){return new AR(e)}function MR(e,t){this._context=e,this._t=t}MR.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 NR(e){return new MR(e,1)}function PR(e,t,n){this.k=e,this.x=t,this.y=n}PR.prototype={constructor:PR,scale:function(e){return e===1?this:new PR(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new PR(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 FR=new PR(1,0,0);IR.prototype=PR.prototype;function IR(e){for(;!e.__zoom;)if(!(e=e.parentNode))return FR;return e.__zoom}function LR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var RR={DECISIVE:20,ROUTINE:50},zR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),BR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},VR=`#cfd8dc`,HR=`COMPETITIVE`,UR=`ROUTINE`,WR=`DECISIVE`,GR=`WALKOVER`;function KR(e,t=RR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?GR:a<=t.DECISIVE?WR:a<=t.ROUTINE?UR:HR}function qR(e,n=RR){if(e)return KR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function JR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&zR.has(t))return GR;if(e)return n?.length?KR(n,i):qR(r,i)}function YR(e,t){return e?t?.[e]??BR[e]:VR}var{WILDCARD:XR,QUALIFIER:ZR,LUCKY_LOSER:QR}=t.entryStatusConstants,$R=`text-anchor`,ez=`dominant-baseline`,tz=`fill-opacity`,nz=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function rz(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function iz(e){if(e)switch(e){case XR:return`WC`;case ZR:return`Q`;case QR:return`LL`;default:return e}}function az(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:iz(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function oz(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function sz(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=oz(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:iz(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function cz(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=rz(az(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=sz(rz(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=sz(rz(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function lz(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=MF().domain([1,32]).range([`0`,`1`]);o=MF().domain(UO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=MF().domain(UO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=MF().domain(UO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),lz(n,t)})}function uz(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?YR(e.competitiveness,t):VR,e.children?.forEach(e=>uz(e,t)))}function dz(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function fz(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function pz(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=fz(t.children,e.participantName),r&&n.push(r.participantName);else{let r=dz(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function mz(e,t){return-(e*t/2)+t/2}function hz(e,t,n){let r=cj(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function gz(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr($R,`middle`).attr(ez,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr($R,`middle`).attr(ez,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function _z(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr($R,`middle`).attr(ez,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(xz(n)))}function vz(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=cz(n),m=rF(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;fF().size([2*Math.PI,h-g])(m),lz(p,MF().domain([0,n.drawSize||128]).range([0,1])),uz(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=vR().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=hz(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=gz(S,a,o,c,l);function M(){let e=LR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=MF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr($R,`middle`).attr(ez,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>xz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(tz,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(tz,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=pz(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=mz(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&cj(e.currentTarget).attr(tz,.9):C.selectAll(`path`).attr(tz,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};_z(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&_z(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();cj(e.currentTarget).attr(tz,n?1:.2)}else C.selectAll(`path`).attr(tz,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(tz,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
|
|
214
|
+
`,`2) content: () => element.cloneNode(true)`].join(` `))}var s=i.reduce(function(e,t){var n=t&&Sy(t,r);return n&&e.push(n),e},[]);return Mv(e)?s[0]:s}Cy.defaultProps=oy,Cy.setDefaultProps=cy,Cy.currentInput=Uv,Object.assign({},Lg,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),Cy.setDefaultProps({render:vy});var wy=`#000000.#434343.#666666.#999999.#b7b7b7.#cccccc.#d9d9d9.#ffffff.#980000.#ff0000.#ff9900.#ffff00.#00ff00.#00ffff.#4a86e8.#0000ff.#9900ff.#ff00ff.#e6b8af.#f4cccc.#fce5cd.#fff2cc.#d9ead3.#d0e0e3.#c9daf8.#cfe2f3.#d9d2e9.#ead1dc`.split(`.`),Ty=`notes-toolbar-recent-colors`,Ey=8;function Dy(){try{return JSON.parse(localStorage.getItem(Ty)||`[]`)}catch{return[]}}function Oy(e){let t=Dy().filter(t=>t!==e);t.unshift(e),t.length>Ey&&(t=t.slice(0,Ey)),localStorage.setItem(Ty,JSON.stringify(t))}function ky(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(Py(e)),t.appendChild(Fy(e)),t.appendChild(Iy(e)),t.appendChild(By(e)),t.appendChild(Uy(e)),t.appendChild(Wy(e)),t.appendChild(Ky(e)),t}function Ay(e,t){for(let[n,r]of Object.entries(t)){let t=e.querySelector(`[data-action="${n}"]`);t&&t.classList.toggle(`is-active`,r)}}function jy(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function My(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Ny(e,t,n,r){let i=document.createElement(`button`);return i.className=`notes-toolbar-btn`,i.dataset.action=e,i.title=n,i.type=`button`,i.innerHTML=t,r&&i.addEventListener(`click`,r),i}function Py(e){let t=My(),n=document.createElement(`select`);n.dataset.action=`heading`,n.title=`Text style`;for(let e of[{value:`0`,label:`Paragraph`},{value:`1`,label:`Heading 1`},{value:`2`,label:`Heading 2`},{value:`3`,label:`Heading 3`},{value:`4`,label:`Heading 4`},{value:`5`,label:`Heading 5`},{value:`6`,label:`Heading 6`}]){let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,n.appendChild(t)}return n.addEventListener(`change`,()=>{let t=parseInt(n.value,10);e.onHeading?.(t!==0&&t)}),t.appendChild(n),t}function Fy(e){let t=My();return t.appendChild(Ny(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Ny(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Ny(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Ny(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Iy(e){let t=My();return t.appendChild(Ly(`color`,`A`,`Text color`,`#000000`,t=>{Oy(t),e.onColor?.(t)})),t.appendChild(Ly(`background`,`A`,`Background color`,`#ffff00`,t=>{Oy(t),e.onBackground?.(t)})),t}function Ly(e,t,n,r,i){let a=document.createElement(`button`);a.className=`notes-toolbar-btn notes-toolbar-color-btn`,a.dataset.action=e,a.title=n,a.type=`button`;let o=document.createElement(`span`);o.className=`notes-toolbar-color-letter`,o.textContent=t,a.appendChild(o);let s=document.createElement(`span`);s.className=`notes-toolbar-color-bar`,s.style.backgroundColor=r,a.appendChild(s);let c;return a.addEventListener(`click`,()=>{if(c){c.destroy(),c=void 0;return}let e=Ry(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Cy(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Ry(e,t){let n=document.createElement(`div`);n.className=`notes-color-panel`;let r=document.createElement(`div`);r.className=`notes-color-swatches`;for(let n of wy)r.appendChild(zy(n,n===e,t));n.appendChild(r);let i=Dy();if(i.length){let r=document.createElement(`div`);r.className=`notes-color-section-label`,r.textContent=`Recent`,n.appendChild(r);let a=document.createElement(`div`);a.className=`notes-color-swatches`;for(let n of i)a.appendChild(zy(n,n===e,t));n.appendChild(a)}let a=document.createElement(`div`);a.className=`notes-color-custom-row`;let o=document.createElement(`input`);o.type=`color`,o.value=e,o.className=`notes-color-custom-input`;let s=document.createElement(`label`);return s.className=`notes-color-custom-label`,s.textContent=`Custom...`,s.addEventListener(`click`,()=>o.click()),o.addEventListener(`input`,()=>t(o.value)),a.appendChild(o),a.appendChild(s),n.appendChild(a),n}function zy(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=`notes-color-swatch`,t&&r.classList.add(`is-selected`),r.style.backgroundColor=e,(e===`#ffffff`||e===`#fff`)&&(r.style.border=`1px solid var(--chc-border-secondary)`),r.title=e,r.addEventListener(`click`,()=>n(e)),r}function By(e){let t=My();return t.appendChild(Ny(`orderedList`,Vy(16,16,`<path d="M3 2h12v2H3zm0 5h12v2H3zm0 5h12v2H3z" fill="currentColor"/><text x="0" y="4" font-size="3.5" fill="currentColor">1</text><text x="0" y="9" font-size="3.5" fill="currentColor">2</text><text x="0" y="14" font-size="3.5" fill="currentColor">3</text>`),`Ordered list`,e.onOrderedList)),t.appendChild(Ny(`bulletList`,Vy(16,16,`<circle cx="1.5" cy="3" r="1.5" fill="currentColor"/><circle cx="1.5" cy="8" r="1.5" fill="currentColor"/><circle cx="1.5" cy="13" r="1.5" fill="currentColor"/><path d="M5 2h10v2H5zm0 5h10v2H5zm0 5h10v2H5z" fill="currentColor"/>`),`Bullet list`,e.onBulletList)),t}function Vy(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Hy={alignLeft:Vy(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Vy(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Vy(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Vy(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function Uy(e){let t=My();return t.appendChild(Ny(`alignLeft`,Hy.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Ny(`alignCenter`,Hy.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Ny(`alignRight`,Hy.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Ny(`alignJustify`,Hy.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function Wy(e){let t=My();t.appendChild(Ny(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Ny(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Ny(`link`,`⇗`,`Insert link`);Gy(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Ny(`video`,`▷`,`Insert video`);return Gy(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function Gy(e,t,n,r){let i;e.addEventListener(`click`,()=>{if(i){i.destroy(),i=void 0;return}let a=document.createElement(`div`);a.className=`notes-url-panel`;let o=document.createElement(`div`);o.className=`notes-url-label`,o.textContent=t,a.appendChild(o);let s=document.createElement(`input`);s.type=`url`,s.className=`notes-url-input`,s.placeholder=n,a.appendChild(s);let c=document.createElement(`div`);c.className=`notes-url-actions`;let l=document.createElement(`button`);l.type=`button`,l.className=`button notes-url-cancel`,l.textContent=`Cancel`,l.addEventListener(`click`,()=>{i?.destroy(),i=void 0});let u=document.createElement(`button`);u.type=`button`,u.className=`button is-info notes-url-confirm`,u.textContent=`Insert`,u.addEventListener(`click`,()=>{let e=s.value.trim();e&&r(e),i?.destroy(),i=void 0}),c.appendChild(l),c.appendChild(u),a.appendChild(c),s.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),u.click()):e.key===`Escape`&&l.click()}),i=Cy(e,{content:a,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onShown:()=>setTimeout(()=>s.focus(),0),onHidden:()=>{i?.destroy(),i=void 0}}),i.show()})}function Ky(e){let t=My();return t.appendChild(Ny(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function qy(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=ky({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){Ay(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){jy(l.toolbar,e);return}jy(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function Jy(e,t,n){if(!e)return{};let r=document.createElement(`aside`);r.classList.add(`menu`);let i={},a=e=>n&&e.close!==!1?t=>{t.stopPropagation(),n(),e.onClick()}:t=>{t.stopPropagation(),e.onClick()},o=0,s=()=>(o+=1,o),c=e=>e?.heading||e?.text||e?.label||`Item ${s()}`,l=e=>{let t=document.createElement(`li`);if(t.className=`font-medium`,e.style&&(t.style.cssText=e.style),e.onClick){let n=e.fontSize||`1em`;if(e.divider){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),t.appendChild(e)}else{let r=document.createElement(`a`),i=e.disabled?`0.4`:`1`;r.style.cssText=`text-decoration: none; opacity: ${i}; font-size: ${n}`,e.class&&r.classList.add(e.class),e.color&&(r.style.color=e.color),e.heading&&(r.style.fontWeight=`bold`),e.disabled||(r.onclick=a(e)),r.innerHTML=c(e),t.appendChild(r)}}else t.innerHTML=c(e),e.disabled||(t.onclick=e.onClick);return t},u;for(let e of t||[])if(!e.hide){if(e.items){if(e.text){let t=document.createElement(`p`);t.className=`menu-label font-medium`,t.innerHTML=e.text,r.appendChild(t)}let t=document.createElement(`ul`);t.className=`menu-list`;for(let n of e.items)n.hide||t.appendChild(l(n));r.appendChild(t)}else if(e.type===`input`){let{field:t,inputElement:n}=mn(e);e.focus&&(u=n),i[e.field]=n,r.appendChild(t)}else if(e.type===`divider`){let e=document.createElement(`hr`);e.classList.add(`dropdown-divider`),r.appendChild(e)}}return e.appendChild(r),{focusElement:u}}function Yy(e){return typeof e==`function`}var Xy;function Zy(e){Xy&&=(Xy?.destroy(!0),void 0),e?.remove&&e.remove()}function Qy(e){let{title:t,options:n,menuItems:r=[],coords:i,callback:a,config:o}=e,{target:s,items:c}=e;if(!n?.length&&!c?.length&&!r)return;Zy();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(Xy=Cy(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{Zy(l),Yy(e.onClick)&&e.onClick()}}))||n?.filter(e=>!e.hide&&!e.disabled).map(e=>({text:typeof e==`object`?e.option:e,style:e.style,onClick:()=>{e.subMenu?Xy.setContent(`IMPLEMENT SUB MENU`):Yy(e.onClick)?(Zy(l),e.onClick()):Yy(a)&&a&&(Zy(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=Jy(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),Xy.show(),Xy.setProps({interactive:!0})),Xy}var Y=`court-line`;function X(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function $y(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return n.setAttribute(`viewBox`,e),n.setAttribute(`class`,t),n.setAttribute(`fill`,`none`),n.style.width=`100%`,n.style.height=`auto`,n.style.display=`block`,n}function eb(e){let t=$y(`0 0 360 780`,e);for(let e of[`M 0 0 L 360 0 L 360 780 L 0 780 Z`,`M 45 0 L 45 780`,`M 315 0 L 315 780`,`M 0 390 L 360 390`,`M 45 210 L 315 210`,`M 45 570 L 315 570`,`M 180 210 L 180 570`,`M 180 0 L 180 20`,`M 180 760 L 180 780`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function tb(e){let t=$y(`0 0 500 470`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:Y}),X(`circle`,{cx:`250`,cy:`470`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:Y}),X(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:Y}),X(`circle`,{cx:`250`,cy:`190`,r:`60`,class:Y}),X(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:Y}),X(`circle`,{cx:`250`,cy:`52`,r:`12`,class:Y}),X(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:Y})];for(let e of n)t.appendChild(e);return t}function nb(e){let t=$y(`0 0 500 440`,e),n=[X(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:Y}),X(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:Y}),X(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:Y}),X(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:Y}),X(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:Y}),X(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:Y}),X(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:Y}),X(`circle`,{cx:`250`,cy:`340`,r:`9`,class:Y}),X(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:Y}),X(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:Y}),X(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:Y}),X(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:Y}),X(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:Y}),X(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:Y}),X(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:Y})];for(let e of n)t.appendChild(e);return t}function rb(e){let t=$y(`0 0 850 2000`,e),n=[X(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:Y}),X(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:Y}),X(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:Y}),X(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:Y}),X(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:Y}),X(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:Y}),X(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:Y}),X(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:Y}),X(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:Y}),X(`circle`,{cx:`270`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`650`,r:`50`,class:Y}),X(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:Y}),X(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:Y})];for(let e of n)t.appendChild(e);return t}function ib(e){let t=$y(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 0 220 L 200 220`,`M 0 150 L 200 150`,`M 0 290 L 200 290`,`M 100 0 L 100 150`,`M 100 290 L 100 440`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ab(e){let t=$y(`0 0 200 440`,e);for(let e of[`M 0 0 L 200 0 L 200 440 L 0 440 Z`,`M 18 0 L 18 440`,`M 182 0 L 182 440`,`M 0 220 L 200 220`,`M 0 146 L 200 146`,`M 0 294 L 200 294`,`M 0 30 L 200 30`,`M 0 410 L 200 410`,`M 100 146 L 100 220`,`M 100 220 L 100 294`])t.appendChild(X(`path`,{d:e,class:Y}));return t}function ob(e){let t=$y(`0 0 100 200`,e);for(let e of[`M 0 0 L 100 0 L 100 200 L 0 200 Z`,`M 0 100 L 100 100`,`M 0 69.5 L 100 69.5`,`M 0 130.5 L 100 130.5`,`M 50 69.5 L 50 67.5`,`M 50 130.5 L 50 132.5`])t.appendChild(X(`path`,{d:e,class:Y}));return t}var sb=`COURT_SVG`,cb={tennis:eb,basketball:tb,baseball:nb,hockey:rb,pickleball:ib,badminton:ab,padel:ob},lb={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},ub={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function db(e){if(e){for(let[t,n]of Object.entries(ub))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function fb(e){let t=e?.competitionFormat?.sport;return t&&lb[t]?lb[t]:db(e?.matchUpFormat)}function pb(e){let t=e.getAttribute(`viewBox`);if(!t)return e;let n=t.split(/\s+/).map(Number);if(n.length!==4)return e;let[r,i,a,o]=n;if(o<=a)return e;e.setAttribute(`viewBox`,`${r} ${i} ${o} ${a}`);let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);for(s.setAttribute(`transform`,`translate(${o}, 0) rotate(90)`);e.firstChild;)s.appendChild(e.firstChild);return e.appendChild(s),e}function mb(e,t=``){let n=e?cb[e]:void 0;if(n)return pb(n(t?`court--${e} ${t}`:`court--${e}`))}function hb(e){let t=[];return e.city&&t.push(e.city),(e.state||e.region)&&t.push(e.state||e.region),e.countryCode?t.push(e.countryCode):e.country&&t.push(e.country),t.join(`, `)}function gb(e){if(!e)return;let t=hb(e);return t.length?t:void 0}function _b(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?gb(n)??t.venueName:t.venueName}var vb=/^(\d{4})-(\d{2})-(\d{2})/,yb=864e5;function bb(e){if(!e)return null;let t=vb.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?null:{year:n,month:r,day:i}}function xb(e,t){if(!t)return new Date(e.year,e.month-1,e.day);let n=Date.UTC(e.year,e.month-1,e.day,0,0,0,0),r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),i=new Date(n);for(let e=0;e<2;e++){let e=r.formatToParts(i),t=t=>Number(e.find(e=>e.type===t)?.value??0),a=Date.UTC(t(`year`),t(`month`)-1,t(`day`),t(`hour`),t(`minute`),t(`second`))-i.getTime();i=new Date(n-a)}return i}function Sb(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=xb(e,t),r=new Date(n.getTime()+yb),i=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(r),a=e=>Number(i.find(t=>t.type===e)?.value??0);return xb({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Cb(e){if(!e)return null;let t=bb(e);if(t)return new Date(t.year,t.month-1,t.day);let n=new Date(e);return Number.isNaN(n.getTime())?null:n}function wb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Tb(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function Eb(e,t){if(!e&&!t)return;let n=Cb(e),r=Cb(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(i||a)return i&&a&&n.getTime()===r.getTime()?Tb(n):i&&a?n.getFullYear()===r.getFullYear()?`${wb(n)} – ${wb(r)}, ${r.getFullYear()}`:`${Tb(n)} – ${Tb(r)}`:Tb(i?n:r)}function Db(e){return e.slice().sort((e,t)=>{let n=e.courtOrder,r=t.courtOrder;return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number.isFinite(n)&&!Number.isFinite(r)?-1:!Number.isFinite(n)&&Number.isFinite(r)?1:e.courtName.localeCompare(t.courtName,void 0,{numeric:!0})})}var Ob=`URL`;function kb(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Ob);return n?.url??n?.identifier}function Ab(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function jb(e){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e==`string`){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}}function Mb(...e){for(let t of e){let e=jb(t);if(e!==void 0)return e}}function Nb(e){let t=document.createElement(`div`);if(t.className=e.cardClass,t.setAttribute(`aria-busy`,`true`),e.showImage){let n=document.createElement(`div`);n.className=e.imageClass;let r=document.createElement(`div`);r.className=e.blockClass,n.appendChild(r),t.appendChild(n)}if(e.bodyLines>0){let n=document.createElement(`div`);n.className=e.bodyClass;for(let t=0;t<e.bodyLines;t++){let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=t===0?`90%`:`${60+t*10}%`,n.appendChild(r)}t.appendChild(n)}if(e.showFooter){let n=document.createElement(`div`);n.className=e.footerClass;let r=document.createElement(`div`);r.className=e.lineClass,r.style.width=`40%`,n.appendChild(r),t.appendChild(n)}return t}var Pb={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Fb(e){return e?{showImage:e.showImage??Pb.showImage,cornerBadges:e.cornerBadges??Pb.cornerBadges,body:e.body??Pb.body,footer:e.footer??Pb.footer}:Pb}var Ib=()=>`chc-tc-card`,Lb=()=>`chc-tc-card--clickable`,Rb=()=>`chc-tc-card--offline`,zb=()=>`chc-tc-image`,Bb=()=>`chc-tc-image-img`,Vb=()=>`chc-tc-image-svg`,Hb=()=>`chc-tc-image-placeholder`,Ub=()=>`chc-tc-corner-badges`,Wb=()=>`chc-tc-status-pill`,Gb=()=>`chc-tc-offline-badge`,Kb=()=>`chc-tc-body`,qb=()=>`chc-tc-title`,Jb=()=>`chc-tc-location`,Yb=()=>`chc-tc-date-range`,Xb=()=>`chc-tc-organizer`,Zb=()=>`chc-tc-updated-at`,Qb=()=>`chc-tc-footer`,$b=()=>`chc-tc-fee-badge`,ex=()=>`chc-tc-player-count`,tx=()=>`chc-tc-event-count`,nx=()=>`chc-tc-tier-badge`,rx=()=>`chc-tc-card chc-tc-skeleton`,ix=()=>`chc-tc-skeleton-line`,ax=()=>`chc-tc-skeleton-block`;function ox(e,t,n){let r=Fb(t),i=document.createElement(`div`);return i.className=Ib(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Rb()),n?.onClick&&(i.classList.add(Lb()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(sx(e,r)),r.body.length&&i.appendChild(fx(e,r)),r.footer.length&&i.appendChild(bx(e,r)),i}function sx(e,t){let n=document.createElement(`div`);if(n.className=zb(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Bb(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>lx(n,e)),n.appendChild(t)}else cx(n,e);if(t.cornerBadges.length){let r=ux(e,t.cornerBadges);r&&n.appendChild(r)}return n}function cx(e,t){let n=mb(t.courtSvgSport,Vb());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Hb(),e.appendChild(r)}function lx(e,t){e.querySelector(`.${Bb()}`)?.remove(),cx(e,t)}function ux(e,t){let n=[];for(let r of t){let t=dx(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Ub();for(let e of n)r.appendChild(e);return r}function dx(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=Wb(),e.dataset.kind=t.status.kind,e.textContent=t.status.label,e}if(e===`offline`){if(!t.offline)return null;let e=document.createElement(`div`);return e.className=Gb(),e.textContent=`Offline`,e}return null}function fx(e,t){let n=document.createElement(`div`);n.className=Kb();for(let r of t.body){let t=px(r,e);t&&n.appendChild(t)}return n}function px(e,t){switch(e){case`title`:return mx(t);case`tier`:return hx(t);case`location`:return gx(t);case`dateRange`:return _x(t);case`organizerName`:return vx(t);case`updatedAt`:return yx(t);default:return null}}function mx(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=qb(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function hx(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=nx(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function gx(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=Jb(),t.textContent=e.location,t.title=e.location,t}function _x(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Yb(),t.textContent=e.dateRangeFormatted,t}function vx(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=Xb(),t.textContent=e.organizerName,t}function yx(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Zb();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function bx(e,t){let n=document.createElement(`div`);n.className=Qb();for(let r of t.footer){let t=xx(r,e);t&&n.appendChild(t)}return n}function xx(e,t){switch(e){case`feeBadge`:return Sx(t);case`playerCount`:return Cx(t);case`eventCount`:return wx(t);default:return null}}function Sx(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=$b(),t.textContent=e.feeFormatted,t}function Cx(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ex(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function wx(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=tx(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Tx(e){let t=Fb(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:rx(),imageClass:zb(),bodyClass:Kb(),footerClass:Qb(),blockClass:ax(),lineClass:ix()})}var Ex=6048e5;function Dx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Ox(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function kx(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Ax(e,t=new Date){let n=e.tournamentStatus?.toUpperCase();if(n===`CANCELLED`||n===`ABANDONDED`||n===`ABANDONED`)return{kind:`cancelled`,label:`Cancelled`};let r=e.timeZone,i=bb(e.endDate),a=i?Sb(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=bb(e.startDate);if(Ox(t,o?xb(o,r):null,a))return{kind:`live`,label:`Live`};let s=Dx(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=Ex)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Dx(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:kx(c)}:null}var jx=`–`,Mx={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Nx({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Mx[t]??2)}function Px(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Fx(e){let t=[];for(let n of e)typeof n?.amount!=`number`||Number.isNaN(n.amount)||n.currencyCode&&n.unit&&t.push({amount:n.amount,currencyCode:n.currencyCode,unit:n.unit});return t}function Ix(e){if(!e?.length)return null;let t=Fx(e);if(!t.length)return null;let n=new Map;for(let e of t){let t=`${e.currencyCode}/${e.unit}`,r=n.get(t);r?r.push(e):n.set(t,[e])}let r=[...n.values()].sort((e,t)=>t.length-e.length),i=r[0],a=i[0].currencyCode,o=i.map(Nx).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${Px(s,a)}`:s===c?`${a} ${Px(s,a)}`:`${a} ${Px(s,a)} ${jx} ${Px(c,a)}`}var Lx=`tournamentImage`;function Rx(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function zx(e,t){let n=e?.individualParticipantCount;return typeof n==`number`?n||void 0:t.filter(e=>(!e?.participantType||e.participantType===`INDIVIDUAL`)&&(!e?.participantRole||e.participantRole===`COMPETITOR`)).length||void 0}function Bx(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Vx(e){let{timeZone:n,error:r}=t.tournamentGovernor.getTournamentTimeZone({tournamentRecord:{localTimeZone:e?.localTimeZone||e?.timeZone,venues:Array.isArray(e?.venues)?e.venues:void 0}});return{tournamentStatus:e?.tournamentStatus,startDate:r?void 0:e?.startDate,endDate:r?void 0:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:n}}function Hx(e,t){let n=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,r=Array.isArray(e?.venues)?e.venues:[],i=Array.isArray(e?.participants)?e.participants:[],a=Array.isArray(e?.events)?e.events:[],o=t?.statusOverride===void 0?Ax(Vx(e),t?.now):t.statusOverride,s=e?.tournamentImageURL??kb(n,Lx),c=e?.courtSvgSport??Ab(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Eb(e?.startDate,e?.endDate),location:_b(r),tournamentImageURL:s,courtSvgSport:c,participantCount:zx(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Ix(Rx(e)),updatedAt:e?.updatedAt,offline:Bx(e),tournamentTier:Ux(e)}}function Ux(e){let t=e?.tournamentTier;if(!t||typeof t!=`object`||typeof t.system!=`string`||typeof t.value!=`string`)return;let n={system:t.system,value:t.value};return typeof t.numericRank==`number`&&Number.isFinite(t.numericRank)&&(n.numericRank=t.numericRank),n}var Wx={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function Gx(e){return e?{showImage:e.showImage??Wx.showImage,showMap:e.showMap??Wx.showMap,cornerBadges:e.cornerBadges??Wx.cornerBadges,body:e.body??Wx.body,footer:e.footer??Wx.footer}:Wx}var Kx=()=>`chc-vc-card`,qx=()=>`chc-vc-card--clickable`,Jx=()=>`chc-vc-image`,Yx=()=>`chc-vc-image-img`,Xx=()=>`chc-vc-image-svg`,Zx=()=>`chc-vc-image-map`,Qx=()=>`chc-vc-image-placeholder`,$x=()=>`chc-vc-corner-badges`,eS=()=>`chc-vc-primary-badge`,tS=()=>`chc-vc-body`,nS=()=>`chc-vc-title`,rS=()=>`chc-vc-address`,iS=()=>`chc-vc-court-breakdown`,aS=()=>`chc-vc-footer`,oS=()=>`chc-vc-amenity-row`,sS=()=>`chc-vc-amenity`,cS=()=>`chc-vc-card chc-vc-skeleton`,lS=()=>`chc-vc-skeleton-line`,uS=()=>`chc-vc-skeleton-block`;function dS(e,t,n){let r=Gx(t),i=document.createElement(`div`);i.className=Kx(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=hS(e,r,()=>f()),i.appendChild(a));let o=r.body.length?CS(e,r):null;o&&i.appendChild(o);let s=r.footer.length?DS(e,r):null;s&&i.appendChild(s);function c(){return!!a?.querySelector(`iframe`)}let l=new Map;function u(e,t){if(l.has(e))return;let n=e=>{e.stopPropagation(),t()},r=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};e.classList.add(qx()),e.tabIndex=0,e.addEventListener(`click`,n),e.addEventListener(`keydown`,r),l.set(e,{click:n,keydown:r})}function d(e){let t=l.get(e);t&&(e.removeEventListener(`click`,t.click),e.removeEventListener(`keydown`,t.keydown),e.classList.remove(qx()),e.removeAttribute(`tabindex`),l.delete(e))}function f(){if(!n?.onClick)return;let t=()=>n.onClick(e);c()?(d(i),o&&u(o,t),s&&u(s,t)):(o&&d(o),s&&d(s),u(i,t))}return f(),i}function fS(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function pS(e){let t=e.latitude,n=e.longitude,r=.01,i=`https://www.openstreetmap.org/export/embed.html?bbox=${`${n-r},${t-r},${n+r},${t+r}`}&marker=${t},${n}&layer=mapnik`,a=document.createElement(`iframe`);return a.className=Zx(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function mS(e,t){let n=mb(t.courtSvgSport,Xx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Qx(),e.appendChild(r)}function hS(e,t,n){let r=document.createElement(`div`);if(r.className=Jx(),e.venueImageURL){let i=document.createElement(`img`);i.className=Yx(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&fS(e)?r.appendChild(pS(e)):mS(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&fS(e)?r.appendChild(pS(e)):mS(r,e);if(t.cornerBadges.length){let n=_S(e,t.cornerBadges);n&&r.appendChild(n)}return r}function gS(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=eS(),e.textContent=`Primary`,e}return null}function _S(e,t){let n=[];for(let r of t){let t=gS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=$x();for(let e of n)r.appendChild(e);return r}function vS(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=nS(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function yS(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=rS(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function bS(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=iS(),t.textContent=e.courtBreakdown,t}function xS(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=iS(),t.textContent=e.venueAbbreviation,t}function SS(e,t){return e===`title`?vS(t):e===`address`?yS(t):e===`courtBreakdown`?bS(t):e===`venueAbbreviation`?xS(t):null}function CS(e,t){let n=document.createElement(`div`);n.className=tS();for(let r of t.body){let t=SS(r,e);t&&n.appendChild(t)}return n}function wS(e){let t=document.createElement(`span`);return t.className=sS(),t.textContent=e,t}function TS(e){let t=[];if(typeof e.courtCount==`number`&&t.push(wS(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(wS(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(wS(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(wS(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=oS();for(let e of t)n.appendChild(e);return n}function ES(e,t){return e===`amenityRow`?TS(t):e===`address`?yS(t):e===`courtBreakdown`?bS(t):null}function DS(e,t){let n=document.createElement(`div`);n.className=aS();for(let r of t.footer){let t=ES(r,e);t&&n.appendChild(t)}return n}function OS(e){let t=Gx(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:cS(),imageClass:Jx(),bodyClass:tS(),footerClass:aS(),blockClass:uS(),lineClass:lS()})}var kS=`venueImage`;function AS(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function jS(e){if(!e.length)return;let t=new Map;for(let n of e){let e=AS(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${t} ${e}`).join(`, `)}function MS(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function NS(e,t){let n=Array.isArray(e?.courts)?e.courts:[],r=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,i=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:gb(i),latitude:jb(i?.latitude),longitude:jb(i?.longitude),courtCount:n.length||void 0,courtBreakdown:jS(n),indoorCount:MS(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:MS(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:MS(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??kb(r,kS),courtSvgSport:e?.courtSvgSport??Ab(r)??t?.sport,notes:e?.notes}}var PS={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function FS(e){return e?{showImage:e.showImage??PS.showImage,cornerBadges:e.cornerBadges??PS.cornerBadges,body:e.body??PS.body,footer:e.footer??PS.footer}:PS}var IS=()=>`chc-cc-card`,LS=()=>`chc-cc-card--clickable`,RS=()=>`chc-cc-image`,zS=()=>`chc-cc-image-svg`,BS=()=>`chc-cc-image-placeholder`,VS=()=>`chc-cc-corner-badges`,HS=()=>`chc-cc-indoor-badge`,US=()=>`chc-cc-floodlit-badge`,WS=()=>`chc-cc-body`,GS=()=>`chc-cc-title`,KS=()=>`chc-cc-surface`,qS=()=>`chc-cc-availability`,JS=()=>`chc-cc-abbr`,YS=()=>`chc-cc-footer`,XS=()=>`chc-cc-amenity-row`,ZS=()=>`chc-cc-card chc-cc-skeleton`,QS=()=>`chc-cc-skeleton-line`,$S=()=>`chc-cc-skeleton-block`;function eC(e,t,n){let r=FS(t),i=document.createElement(`div`);return i.className=IS(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(LS()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(nC(e,r)),r.body.length&&i.appendChild(fC(e,r)),r.footer.length&&i.appendChild(hC(e,r)),i}function tC(e,t){let n=mb(t.courtSvgSport,zS());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=BS(),e.appendChild(r)}function nC(e,t){let n=document.createElement(`div`);if(n.className=RS(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),tC(n,e),t.cornerBadges.length){let r=oC(e,t.cornerBadges);r&&n.appendChild(r)}return n}function rC(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=HS(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function iC(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=US(),t.textContent=`Lit`,t}function aC(e,t){return e===`indoorOutdoor`?rC(t):e===`floodlit`?iC(t):null}function oC(e,t){let n=[];for(let r of t){let t=aC(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=VS();for(let e of n)r.appendChild(e);return r}function sC(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=GS(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function cC(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=KS(),t.textContent=e.surfaceLabel,t}function lC(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=qS(),t.textContent=e.availabilitySummary,t}function uC(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=JS(),t.textContent=e.courtAbbreviation,t}function dC(e,t){return e===`title`?sC(t):e===`surface`?cC(t):e===`availability`?lC(t):e===`abbreviation`?uC(t):null}function fC(e,t){let n=document.createElement(`div`);n.className=WS();for(let r of t.body){let t=dC(r,e);t&&n.appendChild(t)}return n}function pC(e){let t=[];if(e.indoorOutdoor&&t.push(e.indoorOutdoor===`INDOOR`?`indoor`:`outdoor`),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),e.floodlit&&t.push(`floodlit`),!t.length)return null;let n=document.createElement(`div`);return n.className=XS(),n.textContent=t.join(` · `),n}function mC(e,t){return e===`amenityRow`?pC(t):e===`availability`?lC(t):e===`surface`?cC(t):null}function hC(e,t){let n=document.createElement(`div`);n.className=YS();for(let r of t.footer){let t=mC(r,e);t&&n.appendChild(t)}return n}function gC(e){let t=FS(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:ZS(),imageClass:RS(),bodyClass:WS(),footerClass:YS(),blockClass:$S(),lineClass:QS()})}var _C=`INDOOR`,vC=`OUTDOOR`,yC=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function bC(e){if(!e)return;let t=String(e).toUpperCase();if(t===_C)return _C;if(t===vC)return vC}function xC(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&yC.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&yC.has(n)?n:t}function SC(e,t){let n=[];return e&&n.push(e.charAt(0)+e.slice(1).toLowerCase()),t&&n.push(t.charAt(0)+t.slice(1).toLowerCase()),n.length?n.join(` · `):void 0}function CC(e,t){let n=bC(e?.indoorOutdoor),r=xC(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:SC(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var wC={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function TC(e){return e?{grouping:e.grouping??wC.grouping,sport:e.sport??wC.sport,showGroupHeadings:e.showGroupHeadings??wC.showGroupHeadings,showSummary:e.showSummary??wC.showSummary,minCardWidth:e.minCardWidth??wC.minCardWidth,emptyMessage:e.emptyMessage??wC.emptyMessage}:wC}var EC=()=>`chc-cl`,DC=()=>`chc-cl-summary`,OC=()=>`chc-cl-summary-count`,kC=()=>`chc-cl-group`,AC=()=>`chc-cl-group-heading`,jC=()=>`chc-cl-group-count`,MC=()=>`chc-cl-grid`,NC=()=>`chc-cl-empty`,PC=`Unspecified`,FC=`Unspecified surface`;function IC(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function LC(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?IC(t):PC}function RC(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?IC(t):FC}function zC(e,t){let n=Db(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?LC(e):t===`surface`?RC(e):`${LC(e)} · ${RC(e)}`,i=new Map;for(let e of n){let t=r(e),n=i.get(t);n?n.courts.push(e):i.set(t,{key:t,label:t,courts:[e]})}return[...i.values()]}function BC(e){let t=new Map;for(let n of e){let e=LC(n),r=RC(n),i=`${e===PC?``:e.toLowerCase()} ${r===FC?``:r.toLowerCase()}`.trim()||`court`;t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>`${t} ${e}`).join(`, `)}function VC(e,t,n){let r=TC(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=EC(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=NC(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(HC(i));for(let e of zC(i,r.grouping))a.appendChild(UC(e,r,n));return a}function HC(e){let t=document.createElement(`div`);t.className=DC();let n=document.createElement(`span`);n.className=OC(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=BC(e),t.append(n,r),t}function UC(e,t,n){let r=document.createElement(`div`);if(r.className=kC(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=AC();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=jC(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=MC(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(GC(r,t,n));return r.appendChild(i),r}function WC(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function GC(e,t,n){let r=CC(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return eC(r,WC(t.grouping),i)}var KC={tiles:{map:{tileLayer:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors`,maxZoom:18},satellite:{tileLayer:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,attribution:`Tiles © Esri`}},darkTileLayer:{tileLayer:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a> Contributors © <a href="https://carto.com/attributions">CARTO</a>`,maxZoom:20},view:`map`,showViewToggle:!0,zoom:16,height:`320px`,courtsLayout:`side`,showHeader:!0,showPopup:!0,scrollWheelZoom:!1,darkTiles:`auto`};function qC(e){return e?{tiles:e.tiles??KC.tiles,darkTileLayer:e.darkTileLayer===void 0?KC.darkTileLayer:e.darkTileLayer,view:e.view??KC.view,showViewToggle:e.showViewToggle??KC.showViewToggle,zoom:e.zoom??KC.zoom,height:e.height??KC.height,courtsLayout:e.courtsLayout??KC.courtsLayout,showHeader:e.showHeader??KC.showHeader,showPopup:e.showPopup??KC.showPopup,scrollWheelZoom:e.scrollWheelZoom??KC.scrollWheelZoom,darkTiles:e.darkTiles??KC.darkTiles}:KC}var JC=()=>`chc-vl`,YC=()=>`chc-vl-header`,XC=()=>`chc-vl-title`,ZC=()=>`chc-vl-address`,QC=()=>`chc-vl-notes`,$C=()=>`chc-vl-body`,ew=()=>`chc-vl-body--below`,tw=()=>`chc-vl-mapwrap`,nw=()=>`chc-vl-map`,rw=()=>`chc-vl-map--invertible`,iw=()=>`chc-vl-toggle`,aw=()=>`chc-vl-toggle-btn`,ow=()=>`chc-vl-fallback`,sw=()=>`chc-vl-fallback-icon`,cw=()=>`chc-vl-courts`,lw=()=>`chc-vl-courts-title`,uw=()=>`chc-vl-court-list`,dw=()=>`chc-vl-court`,fw=()=>`chc-vl-court--clickable`,pw=()=>`chc-vl-court-name`,mw=()=>`chc-vl-court-meta`,hw=()=>`chc-vl-pip`,gw=()=>`chc-vl-marker`,_w=()=>`chc-vl-popup-title`,vw=()=>`chc-vl-popup-address`,yw=`No coordinates for this venue`,bw=`Map unavailable`,xw=new WeakMap;function Sw(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function Cw(e){return Db(e)}function ww(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Tw(e,t,n){let r=qC(t),i=document.createElement(`div`);i.className=JC(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(Dw(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?$C():`${$C()} ${ew()}`;let{wrap:o,mapEl:s}=kw(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(Mw(c,e,n)),i.appendChild(a),s&&Sw(e)&&Pw({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function Ew(e){let t=xw.get(e);t&&(t(),xw.delete(e))}function Dw(e){let t=document.createElement(`div`);t.className=YC();let n=document.createElement(`div`);if(n.className=XC(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=ZC(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=QC(),n.textContent=e.notes,t.appendChild(n)}return t}function Ow(e){let t=document.createElement(`div`);t.className=ow();let n=document.createElement(`div`);n.className=sw(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function kw(e,t,n){let r=document.createElement(`div`);if(r.className=tw(),r.style.height=t.height,!Sw(e))return r.appendChild(Ow(yw)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=nw(),i.appendChild(Ow(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(Aw(a,t,n)),{wrap:r,mapEl:i}}function Aw(e,t,n){let r=document.createElement(`div`);r.className=iw(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=aw(),e.dataset.view=a,e.textContent=a===`satellite`?`Satellite`:`Map`,e.setAttribute(`aria-pressed`,String(a===t.view)),e.addEventListener(`click`,()=>{for(let t of i)t.setAttribute(`aria-pressed`,String(t===e));n?.onViewChange?.(a)}),i.push(e),r.appendChild(e)}return r}function jw(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${dw()} ${fw()}`:dw(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=pw(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=mw();let s=ww(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=hw(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Mw(e,t,n){let r=document.createElement(`div`);r.className=cw();let i=document.createElement(`div`);i.className=lw(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=uw();for(let r of Cw(e))a.appendChild(jw(r,t,n));return r.appendChild(a),r}function Nw(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${vw()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${_w()}">${t(e.venueName)}</div>${n}`}async function Pw({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(Ow(bw)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Bw(o,a,r,s);Vw(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Bw(o,a,r,e),Vw(t,r,e)},u=o.divIcon({className:``,html:`<div class="${gw()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(Nw(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),Lw(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=Rw();p=new MutationObserver(()=>{let t=Rw();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}xw.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(Ow(bw)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var Fw=!1;function Iw(e){return e?e!==`relative`&&e!==`absolute`:!1}function Lw(e){Fw||Iw(globalThis.getComputedStyle?.(e)?.position)&&(Fw=!0,console.warn("[courthive-components] venue-locator: leaflet's stylesheet is missing — the map will render incorrectly. Add `import 'leaflet/dist/leaflet.css';` to the host application."))}function Rw(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function zw(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Bw(e,t,n,r){let i=zw(n,r,Rw());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Vw(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(rw(),r)}function Hw(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Uw(e,t){let n=typeof e?.indoorOutdoor==`string`?e.indoorOutdoor.toUpperCase():void 0;return{courtId:e?.courtId??`court-${t+1}`,courtName:e?.courtName??`Court ${t+1}`,indoorOutdoor:n===`INDOOR`||n===`OUTDOOR`?n:void 0,surfaceCategory:e?.surfaceCategory,floodlit:e?.floodlit,courtOrder:Hw(e?.courtOrder),latitude:Mb(e?.latitude),longitude:Mb(e?.longitude)}}function Ww(e){let t=Array.isArray(e?.courts)?e.courts:[],n=e?.addresses?.find(e=>e);return{venueId:e?.venueId??``,venueName:e?.venueName??e?.venueAbbreviation??``,venueAbbreviation:e?.venueAbbreviation,addressFormatted:gb(n),latitude:Mb(e?.latitude,n?.latitude),longitude:Mb(e?.longitude,n?.longitude),courts:t.map(Uw),notes:e?.notes}}var Gw=()=>`chc-team-card`,Kw=()=>`chc-team-card--clickable`,qw=()=>`chc-team-card__title-row`,Jw=()=>`chc-team-card__name`,Yw=()=>`chc-team-card__nickname`,Xw=()=>`chc-team-card__counts`,Zw=` · `;function Qw(e,t){let n=document.createElement(`div`);n.className=Gw(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(Kw()),n.tabIndex=0,n.setAttribute(`role`,`button`),n.addEventListener(`click`,n=>{n.stopPropagation(),t.onClick(e)}),n.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),n.stopPropagation(),t.onClick(e))})),n.appendChild($w(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(eT(r)),n}function $w(e){let t=document.createElement(`div`);t.className=qw();let n=document.createElement(`span`);if(n.className=Jw(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=Yw(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function eT(e){let t=document.createElement(`div`);return t.className=Xw(),t.textContent=e.join(Zw),t}var tT=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],nT=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function rT(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function iT(e){let t=rT();if(!Array.isArray(e))return t;for(let n of e){let e=typeof n?.getData==`function`?n.getData():n;if(!e)continue;if(e.matchUpStatus&&nT.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&tT.includes(r)&&(t[r]+=1)}return t}function aT(e){return tT.reduce((t,n)=>t+e[n],0)}var oT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function sT(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of tT){let i=document.createElement(`div`);i.className=`chc-cb__seg`,i.dataset.bucket=e,t&&(i.classList.add(`is-clickable`),i.setAttribute(`role`,`button`),i.addEventListener(`click`,()=>t(e))),r[e]=i,n.appendChild(i)}return{element:n,update:e=>{let t=aT(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of tT){let n=r[t],i=e[t];i===0?(n.style.flex=`0 0 0`,n.style.padding=`0`,n.textContent=``,n.removeAttribute(`title`)):(n.style.flex=`${i} 1 0`,n.style.padding=`0 4px`,n.textContent=String(i),n.title=`${oT[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of tT)r[t].classList.toggle(`is-active`,t===e)}}}var cT={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},lT=`http://www.w3.org/2000/svg`,uT=96,dT=uT/2,fT=47,pT=31;function mT(e,t){return{x:dT+t*Math.cos(e),y:dT+t*Math.sin(e)}}function hT(e,t){let n=mT(e,fT),r=mT(t,fT),i=mT(t,pT),a=mT(e,pT),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${fT} ${fT} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${pT} ${pT} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function gT(){let e=mT(-Math.PI/2,fT),t=mT(Math.PI/2,fT),n=mT(-Math.PI/2,pT),r=mT(Math.PI/2,pT);return[`M ${e.x} ${e.y}`,`A ${fT} ${fT} 0 1 1 ${t.x} ${t.y}`,`A ${fT} ${fT} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${pT} ${pT} 0 1 0 ${r.x} ${r.y}`,`A ${pT} ${pT} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function _T(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(lT,`svg`);t.setAttribute(`viewBox`,`0 0 ${uT} ${uT}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of tT){let r=document.createElementNS(lT,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(lT,`title`);r.appendChild(i),n[e]=r}let r=document.createElement(`div`);return r.className=`chc-cd__total`,e.appendChild(t),e.appendChild(r),{element:e,update:i=>{let a=aT(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=tT.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of tT){let t=i[e],r=n[e],c=r.querySelector(`title`);if(t===0){r.removeAttribute(`d`),c&&(c.textContent=``);continue}if(o.length===1)r.setAttribute(`d`,gT());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,hT(s,n)),s=n}c&&(c.textContent=`${cT[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function vT(e){let{segments:t,onSegmentClick:n}=e,r=document.createElement(`div`);r.className=`chc-sb`;let i={},a={};for(let{key:e,label:o,color:s}of t){i[e]=o;let t=document.createElement(`div`);t.className=`chc-sb__seg`,t.dataset.key=e,t.style.setProperty(`--seg-bg`,s),n&&(t.classList.add(`is-clickable`),t.setAttribute(`role`,`button`),t.addEventListener(`click`,()=>n(e))),a[e]=t,r.appendChild(t)}return{element:r,update:e=>{let n=t.reduce((t,n)=>t+(e[n.key]||0),0);if(r.style.display=n>0?`flex`:`none`,n)for(let{key:n}of t){let t=a[n],r=e[n]||0;r===0?(t.style.flex=`0 0 0`,t.style.padding=`0`,t.textContent=``,t.removeAttribute(`title`)):(t.style.flex=`${r} 1 0`,t.style.padding=`0 4px`,t.textContent=String(r),t.title=`${i[n]}: ${r}`)}},setActive:e=>{r.classList.toggle(`has-active`,!!e);for(let{key:n}of t)a[n].classList.toggle(`is-active`,n===e)}}}var yT={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function bT(e){return e?{cornerBadges:e.cornerBadges??yT.cornerBadges,body:e.body??yT.body,footer:e.footer??yT.footer,showVisualization:e.showVisualization??yT.showVisualization}:yT}var xT=()=>`chc-dc-card`,ST=()=>`chc-dc-card--clickable`,CT=()=>`chc-dc-corner-badges`,wT=()=>`chc-dc-status-pill`,TT=()=>`chc-dc-secondary-badge`,ET=()=>`chc-dc-body`,DT=()=>`chc-dc-viz`,OT=()=>`chc-dc-title-row`,kT=()=>`chc-dc-title`,AT=()=>`chc-dc-draw-type`,jT=()=>`chc-dc-meta`,MT=()=>`chc-dc-footer`,NT=()=>`chc-dc-chip`,PT=()=>`chc-dc-progress`,FT=()=>`chc-dc-progress-bar`,IT=()=>`chc-dc-progress-fill`,LT=()=>`chc-dc-card chc-dc-skeleton`,RT=()=>`chc-dc-skeleton-line`;function zT(e,t,n){let r=bT(t),i=document.createElement(`div`);if(i.className=xT(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(ST()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showVisualization&&e.visualization){let t=document.createElement(`div`);t.className=DT(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(nE(e,r)),r.footer.length&&i.appendChild(rE(e,r)),i}function BT(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=wT(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function VT(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=TT(),t.dataset.kind=`published`,t.textContent=`Published`,t}function HT(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=TT(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function UT(e,t){return e===`status`?BT(t):e===`publishedBadge`?VT(t):e===`embargoBadge`?HT(t):null}function WT(e,t){let n=[];for(let r of t){let t=UT(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=CT();for(let e of n)r.appendChild(e);return r}function GT(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=kT(),t.textContent=e.drawName,t.title=e.drawName,t}function KT(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=AT(),t.textContent=e.drawTypeLabel,t}function qT(e){let t=document.createElement(`span`);return t.className=NT(),t.textContent=e,t}function JT(e){return typeof e.drawSize==`number`?qT(`Size ${e.drawSize}`):null}function YT(e){return typeof e.entryCount==`number`?qT(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function XT(e){return e.matchUpFormat?qT(e.matchUpFormat):null}function ZT(e){return typeof e.flightNumber==`number`?qT(`Flight ${e.flightNumber}`):null}function QT(e){let t=[];if(typeof e.utrAvg==`number`&&t.push(`UTR ${e.utrAvg.toFixed(2)}`),typeof e.wtnAvg==`number`&&t.push(`WTN ${e.wtnAvg.toFixed(2)}`),!t.length)return null;let n=document.createElement(`div`);return n.className=jT(),n.textContent=t.join(` · `),n}function $T(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=PT();let a=document.createElement(`div`);a.className=jT(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=FT();let s=document.createElement(`div`);return s.className=IT(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function eE(e,t){return e===`title`?GT(t):e===`drawTypeLabel`?KT(t):e===`drawSize`?JT(t):e===`entries`?YT(t):e===`matchUpFormat`?XT(t):e===`flightNumber`?ZT(t):e===`ratings`?QT(t):e===`matchUpProgress`?$T(t):null}function tE(e,t){let n=document.createElement(`div`);n.className=OT();let r=GT(e);r&&n.appendChild(r);let i=WT(e,t);return i&&n.appendChild(i),n}function nE(e,t){let n=document.createElement(`div`);n.className=ET();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=WT(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(tE(e,t.cornerBadges));continue}let a=eE(r,e);a&&n.appendChild(a)}return n}function rE(e,t){let n=document.createElement(`div`);n.className=MT();for(let r of t.footer){let t=eE(r,e);t&&n.appendChild(t)}return n}function iE(){let e=document.createElement(`div`);e.className=LT();let t=document.createElement(`div`);t.className=ET();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=RT(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var aE={SINGLE_ELIMINATION:`Single Elimination`,DOUBLE_ELIMINATION:`Double Elimination`,ELIMINATION:`Elimination`,ROUND_ROBIN:`Round Robin`,ROUND_ROBIN_WITH_PLAYOFF:`Round Robin + Playoff`,COMPASS:`Compass`,FEED_IN_CHAMPIONSHIP:`Feed-In Championship`,FIRST_MATCH_LOSER_CONSOLATION:`First Match Loser Consolation`,FIRST_ROUND_LOSER_CONSOLATION:`First Round Loser Consolation`,PLAY_OFF:`Play-Off`,CURTIS_CONSOLATION:`Curtis Consolation`,AD_HOC:`Ad-Hoc`,OLYMPIC:`Olympic`,LUCKY_DRAW:`Lucky Draw`,STAGGERED_ENTRY:`Staggered Entry`};function oE(e){if(e)return aE[e]?aE[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function sE(e){let{matchUps:n=[]}=t.tournamentEngine.getAllDrawMatchUps({drawDefinition:e}),r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function cE(e){let t=e?.drawSize;if(typeof t==`number`)return t;let n=(e?.structures?.find(e=>e?.stage===`MAIN`))?.positionAssignments?.length;return typeof n==`number`?n:void 0}function lE(e){if(e.cancelled)return{kind:`cancelled`,label:`Cancelled`};if(!e.generated)return{kind:`ungenerated`,label:`Not generated`};let t=e.matchUpCounts;return!t||t.total===0?{kind:`ready`,label:`Ready`}:t.completed===t.total?{kind:`completed`,label:`Completed`}:t.inProgress>0||t.completed>0?{kind:`in-progress`,label:`In progress`}:{kind:`ready`,label:`Ready`}}function uE(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:sE(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?lE({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:oE(e?.drawType),drawSize:cE(e),entryCount:t?.entryCount,matchUpFormat:e?.matchUpFormat,flightNumber:e?.flightNumber,matchUpCounts:r,generated:n,published:t?.published,embargoActive:t?.embargoActive,utrAvg:t?.utrAvg,wtnAvg:t?.wtnAvg,status:a,eventId:t?.eventId}}var dE={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},fE=15;function pE(e){return e?{showImage:e.showImage??dE.showImage,cornerBadges:e.cornerBadges??dE.cornerBadges,body:e.body??dE.body,footer:e.footer??dE.footer}:dE}var mE=()=>`chc-ec-card`,hE=()=>`chc-ec-card--clickable`,gE=()=>`chc-ec-image`,_E=()=>`chc-ec-image-img`,vE=()=>`chc-ec-image-svg`,yE=()=>`chc-ec-image-placeholder`,bE=()=>`chc-ec-corner-badges`,xE=()=>`chc-ec-status-pill`,SE=()=>`chc-ec-eventtype-badge`,CE=()=>`chc-ec-gender-badge`,wE=()=>`chc-ec-body`,TE=()=>`chc-ec-title`,EE=()=>`chc-ec-category`,DE=()=>`chc-ec-draw-summary`,OE=()=>`chc-ec-date-range`,kE=()=>`chc-ec-footer`,AE=()=>`chc-ec-player-count`,jE=()=>`chc-ec-progress`,ME=()=>`chc-ec-progress-meta`,NE=()=>`chc-ec-progress-bar`,PE=()=>`chc-ec-progress-fill`,FE=()=>`chc-ec-updated-at`,IE=()=>`chc-ec-card chc-ec-skeleton`,LE=()=>`chc-ec-skeleton-line`,RE=()=>`chc-ec-skeleton-block`;function zE(e,t,n){let r=pE(t),i=document.createElement(`div`);return i.className=mE(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(hE()),i.tabIndex=0,i.addEventListener(`click`,t=>{t.stopPropagation(),n.onClick(e)}),i.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),n.onClick(e))})),r.showImage!==!1&&i.appendChild(VE(e,r)),r.body.length&&i.appendChild(tD(e,r)),r.footer.length&&i.appendChild(nD(e,r)),i}function BE(e,t){let n=mb(t.courtSvgSport,vE());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=yE(),e.appendChild(r)}function VE(e,t){let n=document.createElement(`div`);if(n.className=gE(),e.eventImageURL){let t=document.createElement(`img`);t.className=_E(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),BE(n,e)}),n.appendChild(t)}else BE(n,e);if(t.cornerBadges.length){let r=KE(e,t.cornerBadges);r&&n.appendChild(r)}return n}function HE(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=xE(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function UE(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=SE(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function WE(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=CE(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function GE(e,t){return e===`status`?HE(t):e===`eventTypeBadge`?UE(t):e===`genderBadge`?WE(t):null}function KE(e,t){let n=[];for(let r of t){let t=GE(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=bE();for(let e of n)r.appendChild(e);return r}function qE(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=TE(),t.textContent=e.eventName,t.title=e.eventName,t}function JE(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=EE(),t.textContent=e.categoryLabel,t}function YE(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=DE(),t.textContent=e.drawSummary,t}function XE(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=OE(),t.textContent=e.dateRangeFormatted,t}function ZE(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=FE();let n=new Date(e.updatedAt);return t.textContent=Number.isNaN(n.getTime())?e.updatedAt:n.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),t}function QE(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=AE(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function $E(e){if(!e.matchUpCounts||e.matchUpCounts.total===0)return null;let{total:t,completed:n}=e.matchUpCounts,r=Math.round(n/t*100),i=document.createElement(`div`);i.className=jE();let a=document.createElement(`div`);a.className=ME(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=NE();let s=document.createElement(`div`);return s.className=PE(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function eD(e,t){return e===`title`?qE(t):e===`categoryLabel`?JE(t):e===`drawSummary`?YE(t):e===`dateRange`?XE(t):e===`updatedAt`?ZE(t):e===`playerCount`?QE(t):e===`matchUpProgress`?$E(t):null}function tD(e,t){let n=document.createElement(`div`);n.className=wE();for(let r of t.body){let t=eD(r,e);t&&n.appendChild(t)}return n}function nD(e,t){let n=document.createElement(`div`);n.className=kE();for(let r of t.footer){let t=eD(r,e);t&&n.appendChild(t)}return n}function rD(e){let t=pE(e);return Nb({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:IE(),imageClass:gE(),bodyClass:wE(),footerClass:kE(),blockClass:RE(),lineClass:LE()})}function iD(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function aD(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function oD(e,t=new Date){if(e.allDrawsCancelled)return{kind:`cancelled`,label:`Cancelled`};let n=e.matchUpCounts;if(n&&n.total>0&&n.completed===n.total)return{kind:`completed`,label:`Completed`};let r=iD(e.startDate),i=iD(e.endDate);if(n&&(n.inProgress>0||aD(t,r,i)&&n.total>0))return{kind:`live`,label:`Live`};let a=e.drawCount??0;return a>0&&(e.hasDraftState||e.hasSeedsOnlyDraw)?{kind:`drawing`,label:`Drawing`}:a===0&&(e.entryCount??0)>0?{kind:`entries-open`,label:`Entries Open`}:r&&t.getTime()<r.getTime()?{kind:`upcoming`,label:`Upcoming`}:null}var sD=`eventImage`,cD=`DRAFT_STATE`;function lD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function uD(e){if(!e)return;let t=String(e).toUpperCase();if(t===`M`||t===`MALE`)return`MALE`;if(t===`F`||t===`FEMALE`)return`FEMALE`;if(t===`MIXED`||t===`X`)return`MIXED`}function dD(e){if(!e)return;let t=fD(e.categoryName);if(t)return t;if(typeof e.ageMin==`number`&&typeof e.ageMax==`number`)return e.ageMin===e.ageMax?`Age ${e.ageMin}`:`Age ${e.ageMin}–${e.ageMax}`;let n=fD(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function fD(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function pD(e){if(!e.length)return;let t=e.find(Boolean);if(!t)return;let n=[];return typeof t.drawSize==`number`&&n.push(String(t.drawSize)),t.drawType&&n.push(String(t.drawType)),e.length>1&&n.push(`+${e.length-1}`),n.length?n.join(` `):void 0}function mD(e){let{matchUps:n=[]}=t.tournamentEngine.allEventMatchUps({event:e,inContext:!1})??{},r=0,i=0,a=0,o=0;for(let e of n)e?.matchUpStatus!==`BYE`&&e?.matchUpStatus!==`DOUBLE_BYE`&&(r+=1,e?.winningSide?i+=1:e?.schedule?.scheduledTime&&(a+=1),e?.matchUpStatus===`IN_PROGRESS`&&(o+=1));return{total:r,completed:i,scheduled:a,inProgress:o}}function hD(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===cD):!1}function gD(e){return e.some(e=>e?.automated?.seedsOnly===!0||hD(e))}function _D(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var vD=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function yD(e){if(!e.length)return 0;let t=0;for(let n of e)vD.has(String(n?.entryStatus))&&(t+=1);return t}function bD(e,t){let n=Array.isArray(e?.drawDefinitions)?e.drawDefinitions:[],r=Array.isArray(e?.entries)?e.entries:[],i=Array.isArray(e?.onlineResources)?e.onlineResources:void 0,a=t?.matchUpStats??(t?.lightMode?void 0:mD(e)),o=t?.statusOverride===void 0?oD({allDrawsCancelled:_D(n),drawCount:n.length,entryCount:yD(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(hD),hasSeedsOnlyDraw:gD(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:dD(e?.category),eventType:lD(e?.eventType),gender:uD(e?.gender),drawCount:n.length||void 0,drawSummary:pD(n),entryCount:yD(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Eb(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??kb(i,sD),courtSvgSport:e?.courtSvgSport??Ab(i)??t?.sport,updatedAt:e?.updatedAt}}var xD=()=>`chc-hil-container`,SD=()=>`chc-hil-form`,CD=()=>`chc-hil-header`,wD=()=>`chc-hil-title`,TD=()=>`chc-hil-tabs`,ED=()=>`chc-hil-tab`,DD=()=>`chc-hil-tab--active`,OD=()=>`chc-hil-field`,kD=()=>`chc-hil-label`,AD=()=>`chc-hil-input`,jD=()=>`chc-hil-row`,MD=()=>`chc-hil-submit`,ND=()=>`chc-hil-message`,PD=()=>`chc-hil-message--error`,FD=()=>`chc-hil-message--success`,ID=()=>`chc-hil-switch-mode`;function LD(e){return e.replace(/\/+$/,``)}async function RD(e,t,n,r=fetch){let i=LD(e)+t,a;try{a=await r(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}catch(e){throw{kind:`network`,cause:e}}let o=null;try{o=await a.json()}catch(e){if(a.ok)throw{kind:`parse`,cause:e}}if(!a.ok)throw{kind:`http`,status:a.status,body:o};return o}function zD(e,t,n){return RD(e,`/auth/hiveid/signup`,t,n)}function BD(e,t,n){return RD(e,`/auth/hiveid/verify-existing`,t,n)}function VD(e,t,n){return RD(e,`/auth/hiveid/magic-link`,t,n)}function HD(e,t,n){return RD(e,`/auth/hiveid/magic-link/consume`,t,n)}function UD(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind!==`http`||t.status!==409?!1:t.body?.code===`EXISTING_USER`}var WD=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],GD=`signup`,KD=`login`,qD=`magic-link`,JD=[GD,KD,qD],YD=`hiveid:authenticated`,XD={[GD]:`Sign up`,[KD]:`Log in`,[qD]:`Email link`},ZD={[GD]:`Create your CourtHive identity`,[KD]:`Log in to CourtHive`,[qD]:`Email me a sign-in link`};function QD(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=xD(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=CD();let a=document.createElement(`h2`);a.className=wD(),i.appendChild(a);let o=document.createElement(`div`);o.className=TD(),i.appendChild(o);let s={};JD.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=ED(),t.textContent=XD[e],t.dataset.mode=e,t.onclick=()=>w(e),o.appendChild(t),s[e]=t}),r.appendChild(i);let c=document.createElement(`form`);c.className=SD(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=ND(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=ND(),t===`error`&&l.classList.add(PD()),t===`success`&&l.classList.add(FD()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=OD();let a=document.createElement(`label`);a.className=kD(),a.textContent=t,a.htmlFor=`chc-hil-${e}`;let o=document.createElement(`input`);return o.id=`chc-hil-${e}`,o.name=e,o.type=n,o.value=r,o.className=AD(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=jD(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=MD(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=ID();let i=document.createElement(`button`);i.type=`button`,i.textContent=n,i.onclick=()=>w(t),r.append(e+` `,i),c.appendChild(r)}function g(e){if(e.note){let t=document.createElement(`p`);t.className=kD(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=AD(),e.providers.forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,i.appendChild(t)}),n.append(r,i),c.appendChild(n),t=i}let n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=e.idLabel??`Player ID`,r.htmlFor=`chc-hil-federationId`;let i=document.createElement(`input`);i.id=`chc-hil-federationId`,i.type=`text`,i.className=AD(),n.append(r,i),c.appendChild(n);let a=e.providers[0]?.value??``;return()=>{let e=i.value.trim();if(!e)return null;let n=t?t.value:a;return n?{provider:n,externalId:e}:null}}function _(e){if(e.note){let t=document.createElement(`p`);t.className=kD(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=OD();let r=document.createElement(`label`);r.className=kD(),r.textContent=e.dobLabel??`Date of birth`,r.htmlFor=`chc-hil-birthDate`;let i=document.createElement(`input`);i.id=`chc-hil-birthDate`,i.type=`date`,i.required=t,i.className=AD(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=OD();let o=document.createElement(`label`);o.className=kD(),o.textContent=e.sexLabel??`Sex`,o.htmlFor=`chc-hil-sex`;let s=document.createElement(`select`);s.id=`chc-hil-sex`,s.required=t,s.className=AD();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??WD).forEach(e=>{let t=document.createElement(`option`);t.value=e.value,t.textContent=e.label,s.appendChild(t)}),a.append(o,s),c.appendChild(a),()=>tO({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(YD,{detail:e,bubbles:!0}))}function y(e,t){return async r=>{if(r.preventDefault(),!n){n=!0,e.disabled=!0,d();try{await t()}finally{n=!1,e.disabled=!1}}}}async function b(t,n,r,i={}){let a=t.value.trim(),o=n.value.trim(),s=r.value.trim();if(!a||!o||!s){u(`Email, first name, and last name are required.`,`error`);return}let{federationIds:c,birthDate:l,sex:d,provider:f,requirePii:p}=i;if(p&&(!l||!d)){u(`Date of birth and sex are required.`,`error`);return}try{let t=await zD(e.cfsBaseUrl,{email:a,firstName:o,lastName:s,federationIds:c,birthDate:l,sex:d,provider:f},e.fetchImpl);if(t.status===`candidate`){u(`We found possible matches — please log in with your existing account.`,`info`),w(`login`);return}v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached}),u(`Welcome to CourtHive.`,`success`)}catch(e){if(UD(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(rO(e)??`Sign-up failed. Please try again.`,`error`)}}async function x(t,n){let r=t.value.trim(),i=n.value;if(!r||!i){u(`Email and password are required.`,`error`);return}try{let t=await BD(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??nO()}),u(`Signed in.`,`success`)}catch(e){u(rO(e)??`Sign-in failed. Please check your password.`,`error`)}}async function S(t){let n=t.value.trim();if(!n){u(`Email is required.`,`error`);return}try{await VD(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(rO(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=ZD[t],JD.forEach(e=>{s[e].classList.toggle(DD(),e===t)}),t===`signup`){let t=p(),n=document.createElement(`input`);n.id=`chc-hil-firstName`,n.type=`text`,n.placeholder=`First name`,n.required=!0,n.className=AD();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=AD();let i=document.createElement(`div`);i.className=OD();let a=document.createElement(`label`);a.textContent=`First name`,a.className=kD(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=OD();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=kD(),s.htmlFor=r.id,o.append(s,r),t.append(i,o);let l=f(`email`,`Email`,`email`,e.defaultEmail??``),u=e.federationIdCapture?g(e.federationIdCapture):()=>null,d=e.dobSexCapture?_(e.dobSexCapture):()=>({}),v=!!e.dobSexCapture&&e.dobSexCapture.required!==!1,x=m(`Create account`);c.onsubmit=y(x,()=>b(l,n,r,{federationIds:eO(u(),e.federationIds),...d(),provider:e.provider,requirePii:v})),h(`Already have an account?`,`login`,`Log in`)}else if(t===`login`){let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=f(`password`,`Password`,`password`),r=m(`Log in`);c.onsubmit=y(r,()=>x(t,n)),h(`Forgot your password?`,`magic-link`,`Email me a link`)}else{let t=f(`email`,`Email`,`email`,e.defaultEmail??``),n=m(`Send link`);c.onsubmit=y(n,()=>S(t)),h(`Have a password?`,`login`,`Log in instead`)}}function w(e){e!==t&&(t=e,d(),C())}function T(){return t}function E(e){let t=t=>e(t.detail);return r.addEventListener(YD,t),()=>r.removeEventListener(YD,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function $D(e,t,n){let r=await HD(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??nO()}}function eO(e,t){let n=[],r=new Set,i=e=>{if(!e?.provider||!e?.externalId)return;let t=`${e.provider}::${e.externalId}`;r.has(t)||(r.add(t),n.push({provider:e.provider,externalId:e.externalId}))};return(t??[]).forEach(i),i(e),n.length?n:void 0}function tO(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function nO(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function rO(e){if(!e||typeof e!=`object`)return null;if(e.kind===`http`){let t=e.body;if(t?.message&&typeof t.message==`string`)return t.message;if(typeof t?.status==`string`&&t.status===`incomplete`)return`We need a bit more information to identify you.`}return e.kind===`network`?`Could not reach CourtHive. Check your connection.`:null}var iO={name:`courthive-components`,packageManager:`pnpm@12.10.1`,version:`6.8.1`,engines:{node:`>=22`},description:`Components for competitions projects`,files:[`dist`],main:`./dist/courthive-components.umd.js`,module:`./dist/courthive-components.es.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/courthive-components.es.js`,require:`./dist/courthive-components.umd.js`},"./dist/*":`./dist/*`},repository:{type:`git`,url:`git+https://github.com/CourtHive/courthive-components.git`},keywords:[`tournament`,`match`,`score`,`vanillajs`,`bracket`],author:`Charles Allen`,license:`MIT`,bugs:{url:`https://github.com/CourtHive/courthive-components/issues`},homepage:`https://courthive.github.io/courthive-component`,scripts:{commits:`git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges --pretty=format:'%s: %h' | sed '/courthive-components/d'`,release:`npm run release:patch`,test:`vitest run --project unit`,"test:stories":`vitest run --project storybook`,"test:watch":`vitest --project unit`,"test:ui":`vitest --ui --project unit`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --cache --max-warnings 0`,"lint:fix":`eslint src --fix --cache`,"lint:report":`eslint src & eslint --cache src -f json > eslint-report.json`,format:`prettier --write src`,"release:major":`npm run commits && npm version $(semver $npm_package_version -i major) && git push && git push --tags`,"release:minor":`npm run commits && npm version $(semver $npm_package_version -i minor) && git push && git push --tags`,"release:patch":`npm run commits && npm version $(semver $npm_package_version -i patch) && git push && git push --tags`,"release:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && git push && git push --tags`,"patch:beta":`npm run commits && npm version $(semver $npm_package_version -i prerelease --preid beta) && npm publish --tag beta`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.3`,"@commitlint/config-conventional":`21.2.3`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/addon-vitest":`^10.6.1`,"@storybook/html-vite":`^10.2.17`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.71.1`,"@typescript-eslint/parser":`8.71.1`,"@vitest/browser":`^5.0.3`,"@vitest/browser-playwright":`^5.0.3`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.12.0`,"eslint-plugin-sonarjs":`4.2.2`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^21.0.0`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.6.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.6.1`,"tods-competition-factory":`7.14.1`,typescript:`^6.0.2`,vite:`8.3.4`,"vite-plugin-dts":`^5.0.0`,vitest:`^5.0.0`},dependencies:{"@tiptap/core":`^3.22.2`,"@tiptap/extension-color":`^3.22.2`,"@tiptap/extension-highlight":`^3.22.2`,"@tiptap/extension-text-align":`^3.22.2`,"@tiptap/extension-text-style":`^3.22.2`,"@tiptap/extension-youtube":`^3.22.2`,"@tiptap/starter-kit":`^3.22.2`,awesomplete:`1.1.7`,"class-variance-authority":`0.7.1`,classnames:`2.5.1`,d3:`^7.9.0`,dayjs:`1.11.23`,"focus-trap":`^8.0.0`,"timepicker-ui":`^4.1.2`,"tippy.js":`6.3.7`,"vanillajs-datepicker":`1.3.4`},peerDependencies:{"tods-competition-factory":`^7.6.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function aO(){return iO.version}var oO={SET3_S6_TB7:`SET3-S:6/TB7`,SET3_S6_TB7_F_TB10:`SET3-S:6/TB7-F:TB10`,SET3_S6_TB10:`SET3-S:6/TB10`,SET3_S6_F_TB10:`SET3-S:6-F:TB10`,SET3_S6_TB7_NOAD:`SET3-S:6/TB7NOAD`,SET3_S8_TB7:`SET3-S:8/TB7`,SET3_S8_TB7_AT7:`SET3-S:8/TB7@7`,SET3_S4_TB7:`SET3-S:4/TB7`,SET3_S4_TB7_F_TB10:`SET3-S:4/TB7-F:TB10`,SET3_S4_TB5_AT3_F_TB10:`SET3-S:4/TB5@3-F:TB10`,SET5_S6_TB7:`SET5-S:6/TB7`,SET5_S6_TB7_F_TB10:`SET5-S:6/TB7-F:TB10`,SET1_S6_TB7:`SET1-S:6/TB7`,SET1_S6_TB10:`SET1-S:6/TB10`,SET1_S6_TB7_AT5:`SET1-S:6/TB7@5`,SET1_S8_TB7:`SET1-S:8/TB7`,SET1_S4_TB7:`SET1-S:4/TB7`,SET1_S5_TB9_AT4:`SET1-S:5/TB9@4`,SET1_S_TB7:`SET1-S:T7`,SET1_S_TB10:`SET1-S:TB10`,SET1_S_TB21:`SET1-S:T21`,SET1_S8:`SET1-S:8`,SET1_S10:`SET1-S:10`,FAST4:`SET5-S:4/NOAD`,SET3X_T10A_TB1:`SET3XA-S:T10-F:TB1`,SET3X_T10A_TB1_NOAD:`SET3XA-S:T10-F:TB1NOAD`,SET4X_T10A_TB1:`SET4XA-S:T10-F:TB1`};function sO(e,t,n){if(!e)return{elements:{}};let r={};for(let i of t||[]){if(!i?.label||i.hide)continue;let t=document.createElement(`button`);i.id&&(r[i.id]=t,t.id=i.id),t.style.marginRight=`.5em`,t.className=`button font-medium`,i.intent&&t.classList.add(i.intent),t.innerHTML=i.label,i.disabled&&(t.disabled=!0),t.onclick=e=>{e.stopPropagation(),!e.target.disabled&&K(i.onClick)&&i.onClick(),n&&K(n)&&n()},e.appendChild(t)}return{elements:r}}var cO=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function lO(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var uO=(e,t)=>n=>lO(n)&&Number(n)>=e&&Number(n)<=t,dO=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function fO(e){return t.tools.dateTime.dateValidation.test(e)}var pO=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},mO=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,hO=e=>mO.exec(e),gO=_({dateValidator:()=>fO,emailValidator:()=>hO,nameValidator:()=>cO,numericRange:()=>uO,numericValidator:()=>lO,passwordValidator:()=>dO,wordValidator:()=>pO}),_O=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},vO=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="14" height="14" fill="currentColor"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>`,yO=new WeakMap;function bO(e,t){let n=document.createElement(`div`);n.style.cssText=`position: relative; flex: 1; display: flex; min-width: 0;`,e.style.paddingRight=`28px`,n.appendChild(e);let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,`Clear search`),r.style.cssText=[`position: absolute`,`right: 8px`,`top: 50%`,`transform: translateY(-50%)`,`background: transparent`,`border: 0`,`padding: 2px`,`cursor: pointer`,`display: none`,`align-items: center`,`justify-content: center`,`line-height: 0`,`opacity: 0.55`,`color: currentColor`].join(`; `),r.innerHTML=vO,r.addEventListener(`mouseenter`,()=>r.style.opacity=`0.9`),r.addEventListener(`mouseleave`,()=>r.style.opacity=`0.55`),r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t(),i()});let i=()=>{r.style.display=e.value?`inline-flex`:`none`};return e.addEventListener(`keyup`,n=>{n.key===`Escape`&&e.value&&(t(),i())}),e.addEventListener(`input`,i),yO.set(n,i),n.appendChild(r),n}function xO(e){yO.get(e)?.()}function SO(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function CO(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function wO(e){let t,n,r;e.length===2?(t=e===SO||e===CO?e:TO,n=e,r=e):(t=SO,n=(t,n)=>SO(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 TO(){return 0}function EO(e){return e===null?NaN:+e}var DO=wO(SO),OO=DO.right;DO.left,wO(EO).center;function kO(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 AO=class extends Map{constructor(e,t=PO){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(jO(this,e))}has(e){return super.has(jO(this,e))}set(e,t){return super.set(MO(this,e),t)}delete(e){return super.delete(NO(this,e))}};function jO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function MO({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function NO({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function PO(e){return typeof e==`object`&&e?e.valueOf():e}var FO=Math.sqrt(50),IO=Math.sqrt(10),LO=Math.sqrt(2);function RO(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=FO?10:a>=IO?5:a>=LO?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?RO(e,t,n*2):[s,c,l]}function zO(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?RO(t,e,n):RO(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 BO(e,t,n){return t=+t,e=+e,n=+n,RO(e,t,n)[2]}function VO(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?BO(t,e,n):BO(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function HO(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 UO(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 WO(e){return e}var GO=1,KO=2,qO=3,JO=4,YO=1e-6;function XO(e){return`translate(`+e+`,0)`}function ZO(e){return`translate(0,`+e+`)`}function QO(e){return t=>+e(t)}function $O(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ek(){return!this.__axis}function tk(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===GO||e===JO?-1:1,u=e===JO||e===KO?`x`:`y`,d=e===GO||e===qO?XO:ZO;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):WO),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?$O:QO)(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===GO?`0em`:e===qO?`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`,YO).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,YO).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===JO||e===KO?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(ek).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===KO?`start`:e===JO?`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 nk(e){return tk(qO,e)}function rk(e){return tk(JO,e)}var ik={value:()=>{}};function ak(){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 ok(n)}function ok(e){this._=e}function sk(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}})}ok.prototype=ak.prototype={constructor:ok,on:function(e,t){var n=this._,r=sk(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=ck(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]=lk(n[i],e.name,t);else if(t==null)for(i in n)n[i]=lk(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 ok(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 ck(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function lk(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=ik,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var uk={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 dk(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),uk.hasOwnProperty(t)?{space:uk[t],local:e}:e}function fk(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 pk(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function mk(e){var t=dk(e);return(t.local?pk:fk)(t)}function hk(){}function gk(e){return e==null?hk:function(){return this.querySelector(e)}}function _k(e){typeof e!=`function`&&(e=gk(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 aj(r,this._parents)}function vk(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function yk(){return[]}function bk(e){return e==null?yk:function(){return this.querySelectorAll(e)}}function xk(e){return function(){return vk(e.apply(this,arguments))}}function Sk(e){e=typeof e==`function`?xk(e):bk(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 aj(r,i)}function Ck(e){return function(){return this.matches(e)}}function wk(e){return function(t){return t.matches(e)}}var Tk=Array.prototype.find;function Ek(e){return function(){return Tk.call(this.children,e)}}function Dk(){return this.firstElementChild}function Ok(e){return this.select(e==null?Dk:Ek(typeof e==`function`?e:wk(e)))}var kk=Array.prototype.filter;function Ak(){return Array.from(this.children)}function jk(e){return function(){return kk.call(this.children,e)}}function Mk(e){return this.selectAll(e==null?Ak:jk(typeof e==`function`?e:wk(e)))}function Nk(e){typeof e!=`function`&&(e=Ck(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 aj(r,this._parents)}function Pk(e){return Array(e.length)}function Fk(){return new aj(this._enter||this._groups.map(Pk),this._parents)}function Ik(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ik.prototype={constructor:Ik,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 Lk(e){return function(){return e}}function Rk(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 Ik(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function zk(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 Ik(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Bk(e){return e.__data__}function Vk(e,t){if(!arguments.length)return Array.from(this,Bk);var n=t?zk:Rk,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Lk(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=Hk(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 aj(o,r),o._enter=s,o._exit=c,o}function Hk(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Uk(){return new aj(this._exit||this._groups.map(Pk),this._parents)}function Wk(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 Gk(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 aj(s,this._parents)}function Kk(){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 qk(e){e||=Jk;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 aj(i,this._parents).order()}function Jk(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Yk(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Xk(){return Array.from(this)}function Zk(){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 Qk(){let e=0;for(let t of this)++e;return e}function $k(){return!this.node()}function eA(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 tA(e){return function(){this.removeAttribute(e)}}function nA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function rA(e,t){return function(){this.setAttribute(e,t)}}function iA(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function aA(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function oA(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 sA(e,t){var n=dk(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?nA:tA:typeof t==`function`?n.local?oA:aA:n.local?iA:rA)(n,t))}function cA(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function lA(e){return function(){this.style.removeProperty(e)}}function uA(e,t,n){return function(){this.style.setProperty(e,t,n)}}function dA(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function fA(e,t,n){return arguments.length>1?this.each((t==null?lA:typeof t==`function`?dA:uA)(e,t,n??``)):pA(this.node(),e)}function pA(e,t){return e.style.getPropertyValue(t)||cA(e).getComputedStyle(e,null).getPropertyValue(t)}function mA(e){return function(){delete this[e]}}function hA(e,t){return function(){this[e]=t}}function gA(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function _A(e,t){return arguments.length>1?this.each((t==null?mA:typeof t==`function`?gA:hA)(e,t)):this.node()[e]}function vA(e){return e.trim().split(/^|\s+/)}function yA(e){return e.classList||new bA(e)}function bA(e){this._node=e,this._names=vA(e.getAttribute(`class`)||``)}bA.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 xA(e,t){for(var n=yA(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function SA(e,t){for(var n=yA(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function CA(e){return function(){xA(this,e)}}function wA(e){return function(){SA(this,e)}}function TA(e,t){return function(){(t.apply(this,arguments)?xA:SA)(this,e)}}function EA(e,t){var n=vA(e+``);if(arguments.length<2){for(var r=yA(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?TA:t?CA:wA)(n,t))}function DA(){this.textContent=``}function OA(e){return function(){this.textContent=e}}function kA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function AA(e){return arguments.length?this.each(e==null?DA:(typeof e==`function`?kA:OA)(e)):this.node().textContent}function jA(){this.innerHTML=``}function MA(e){return function(){this.innerHTML=e}}function NA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function PA(e){return arguments.length?this.each(e==null?jA:(typeof e==`function`?NA:MA)(e)):this.node().innerHTML}function FA(){this.nextSibling&&this.parentNode.appendChild(this)}function IA(){return this.each(FA)}function LA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function RA(){return this.each(LA)}function zA(e){var t=typeof e==`function`?e:mk(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function BA(){return null}function VA(e,t){var n=typeof e==`function`?e:mk(e),r=t==null?BA:typeof t==`function`?t:gk(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function HA(){var e=this.parentNode;e&&e.removeChild(this)}function UA(){return this.each(HA)}function WA(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function GA(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KA(e){return this.select(e?GA:WA)}function qA(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function JA(e){return function(t){e.call(this,t,this.__data__)}}function YA(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 XA(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 ZA(e,t,n){return function(){var r=this.__on,i,a=JA(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 QA(e,t,n){var r=YA(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?ZA:XA,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function $A(e,t,n){var r=cA(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 ej(e,t){return function(){return $A(this,e,t)}}function tj(e,t){return function(){return $A(this,e,t.apply(this,arguments))}}function nj(e,t){return this.each((typeof t==`function`?tj:ej)(e,t))}function*rj(){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 ij=[null];function aj(e,t){this._groups=e,this._parents=t}function oj(){return new aj([[document.documentElement]],ij)}function sj(){return this}aj.prototype=oj.prototype={constructor:aj,select:_k,selectAll:Sk,selectChild:Ok,selectChildren:Mk,filter:Nk,data:Vk,enter:Fk,exit:Uk,join:Wk,merge:Gk,selection:sj,order:Kk,sort:qk,call:Yk,nodes:Xk,node:Zk,size:Qk,empty:$k,each:eA,attr:sA,style:fA,property:_A,classed:EA,text:AA,html:PA,raise:IA,lower:RA,append:zA,insert:VA,remove:UA,clone:KA,datum:qA,on:QA,dispatch:nj,[Symbol.iterator]:rj};function cj(e){return typeof e==`string`?new aj([[document.querySelector(e)]],[document.documentElement]):new aj([[e]],ij)}function lj(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function uj(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function dj(){}var fj=.7,pj=1/fj,mj=`\\s*([+-]?\\d+)\\s*`,hj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,gj=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,_j=/^#([0-9a-f]{3,8})$/,vj=RegExp(`^rgb\\(${mj},${mj},${mj}\\)$`),yj=RegExp(`^rgb\\(${gj},${gj},${gj}\\)$`),bj=RegExp(`^rgba\\(${mj},${mj},${mj},${hj}\\)$`),xj=RegExp(`^rgba\\(${gj},${gj},${gj},${hj}\\)$`),Sj=RegExp(`^hsl\\(${hj},${gj},${gj}\\)$`),Cj=RegExp(`^hsla\\(${hj},${gj},${gj},${hj}\\)$`),wj={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};lj(dj,kj,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Tj,formatHex:Tj,formatHex8:Ej,formatHsl:Dj,formatRgb:Oj,toString:Oj});function Tj(){return this.rgb().formatHex()}function Ej(){return this.rgb().formatHex8()}function Dj(){return Hj(this).formatHsl()}function Oj(){return this.rgb().formatRgb()}function kj(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=_j.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Aj(t):n===3?new Pj(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?jj(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?jj(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=vj.exec(e))?new Pj(t[1],t[2],t[3],1):(t=yj.exec(e))?new Pj(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=bj.exec(e))?jj(t[1],t[2],t[3],t[4]):(t=xj.exec(e))?jj(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Sj.exec(e))?Vj(t[1],t[2]/100,t[3]/100,1):(t=Cj.exec(e))?Vj(t[1],t[2]/100,t[3]/100,t[4]):wj.hasOwnProperty(e)?Aj(wj[e]):e===`transparent`?new Pj(NaN,NaN,NaN,0):null}function Aj(e){return new Pj(e>>16&255,e>>8&255,e&255,1)}function jj(e,t,n,r){return r<=0&&(e=t=n=NaN),new Pj(e,t,n,r)}function Mj(e){return e instanceof dj||(e=kj(e)),e?(e=e.rgb(),new Pj(e.r,e.g,e.b,e.opacity)):new Pj}function Nj(e,t,n,r){return arguments.length===1?Mj(e):new Pj(e,t,n,r??1)}function Pj(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}lj(Pj,Nj,uj(dj,{brighter(e){return e=e==null?pj:pj**+e,new Pj(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?fj:fj**+e,new Pj(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pj(zj(this.r),zj(this.g),zj(this.b),Rj(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:Fj,formatHex:Fj,formatHex8:Ij,formatRgb:Lj,toString:Lj}));function Fj(){return`#${Bj(this.r)}${Bj(this.g)}${Bj(this.b)}`}function Ij(){return`#${Bj(this.r)}${Bj(this.g)}${Bj(this.b)}${Bj((isNaN(this.opacity)?1:this.opacity)*255)}`}function Lj(){let e=Rj(this.opacity);return`${e===1?`rgb(`:`rgba(`}${zj(this.r)}, ${zj(this.g)}, ${zj(this.b)}${e===1?`)`:`, ${e})`}`}function Rj(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zj(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Bj(e){return e=zj(e),(e<16?`0`:``)+e.toString(16)}function Vj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Wj(e,t,n,r)}function Hj(e){if(e instanceof Wj)return new Wj(e.h,e.s,e.l,e.opacity);if(e instanceof dj||(e=kj(e)),!e)return new Wj;if(e instanceof Wj)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 Wj(o,s,c,e.opacity)}function Uj(e,t,n,r){return arguments.length===1?Hj(e):new Wj(e,t,n,r??1)}function Wj(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}lj(Wj,Uj,uj(dj,{brighter(e){return e=e==null?pj:pj**+e,new Wj(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?fj:fj**+e,new Wj(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 Pj(qj(e>=240?e-240:e+120,i,r),qj(e,i,r),qj(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Wj(Gj(this.h),Kj(this.s),Kj(this.l),Rj(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=Rj(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Gj(this.h)}, ${Kj(this.s)*100}%, ${Kj(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Gj(e){return e=(e||0)%360,e<0?e+360:e}function Kj(e){return Math.max(0,Math.min(1,e||0))}function qj(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 Jj=e=>()=>e;function Yj(e,t){return function(n){return e+n*t}}function Xj(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Zj(e){return(e=+e)==1?Qj:function(t,n){return n-t?Xj(t,n,e):Jj(isNaN(t)?n:t)}}function Qj(e,t){var n=t-e;return n?Yj(e,n):Jj(isNaN(e)?t:e)}var $j=(function e(t){var n=Zj(t);function r(e,t){var r=n((e=Nj(e)).r,(t=Nj(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Qj(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 eM(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 tM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function nM(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=dM(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 rM(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function iM(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function aM(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]=dM(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var oM=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,sM=new RegExp(oM.source,`g`);function cM(e){return function(){return e}}function lM(e){return function(t){return e(t)+``}}function uM(e,t){var n=oM.lastIndex=sM.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=oM.exec(e))&&(i=sM.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:iM(r,i)})),n=sM.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?lM(c[0].x):cM(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 dM(e,t){var n=typeof t,r;return t==null||n===`boolean`?Jj(t):(n===`number`?iM:n===`string`?(r=kj(t))?(t=r,$j):uM:t instanceof kj?$j:t instanceof Date?rM:tM(t)?eM:Array.isArray(t)?nM:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?aM:iM)(e,t)}function fM(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var pM=180/Math.PI,mM={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hM(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)*pM,skewX:Math.atan(c)*pM,scaleX:o,scaleY:s}}var gM;function _M(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?mM:hM(t.a,t.b,t.c,t.d,t.e,t.f)}function vM(e){return e==null||(gM||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),gM.setAttribute(`transform`,e),!(e=gM.transform.baseVal.consolidate()))?mM:(e=e.matrix,hM(e.a,e.b,e.c,e.d,e.e,e.f))}function yM(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:iM(e,i)},{i:c-2,x:iM(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:iM(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:iM(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:iM(e,n)},{i:s-2,x:iM(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 bM=yM(_M,`px, `,`px)`,`deg)`),xM=yM(vM,`, `,`)`,`)`),SM=0,CM=0,wM=0,TM=1e3,EM,DM,OM=0,kM=0,AM=0,jM=typeof performance==`object`&&performance.now?performance:Date,MM=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function NM(){return kM||=(MM(PM),jM.now()+AM)}function PM(){kM=0}function FM(){this._call=this._time=this._next=null}FM.prototype=IM.prototype={constructor:FM,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?NM():+n)+(t==null?0:+t),!this._next&&DM!==this&&(DM?DM._next=this:EM=this,DM=this),this._call=e,this._time=n,VM()},stop:function(){this._call&&(this._call=null,this._time=1/0,VM())}};function IM(e,t,n){var r=new FM;return r.restart(e,t,n),r}function LM(){NM(),++SM;for(var e=EM,t;e;)(t=kM-e._time)>=0&&e._call.call(void 0,t),e=e._next;--SM}function RM(){kM=(OM=jM.now())+AM,SM=CM=0;try{LM()}finally{SM=0,BM(),kM=0}}function zM(){var e=jM.now(),t=e-OM;t>TM&&(AM-=t,OM=e)}function BM(){for(var e,t=EM,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:EM=n);DM=e,VM(r)}function VM(e){SM||(CM&&=clearTimeout(CM),e-kM>24?(e<1/0&&(CM=setTimeout(RM,e-jM.now()-AM)),wM&&=clearInterval(wM)):(wM||=(OM=jM.now(),setInterval(zM,TM)),SM=1,MM(RM)))}function HM(e,t,n){var r=new FM;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var UM=ak(`start`,`end`,`cancel`,`interrupt`),WM=[];function GM(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;YM(e,n,{name:t,index:r,group:i,on:UM,tween:WM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function KM(e,t){var n=JM(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function qM(e,t){var n=JM(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function JM(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function YM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=IM(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 HM(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(HM(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 XM(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 ZM(e){return this.each(function(){XM(this,e)})}function QM(e,t){var n,r;return function(){var i=qM(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 $M(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=qM(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 eN(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=JM(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?QM:$M)(n,e,t))}function tN(e,t,n){var r=e._id;return e.each(function(){var e=qM(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return JM(e,r).value[t]}}function nN(e,t){var n;return(typeof t==`number`?iM:t instanceof kj?$j:(n=kj(t))?(t=n,$j):uM)(e,t)}function rN(e){return function(){this.removeAttribute(e)}}function iN(e){return function(){this.removeAttributeNS(e.space,e.local)}}function aN(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 oN(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 sN(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 cN(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 lN(e,t){var n=dk(e),r=n===`transform`?xM:nN;return this.attrTween(e,typeof t==`function`?(n.local?cN:sN)(n,r,tN(this,`attr.`+e,t)):t==null?(n.local?iN:rN)(n):(n.local?oN:aN)(n,r,t))}function uN(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function dN(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function fN(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&dN(e,i)),n}return i._value=t,i}function pN(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&uN(e,i)),n}return i._value=t,i}function mN(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=dk(e);return this.tween(n,(r.local?fN:pN)(r,t))}function hN(e,t){return function(){KM(this,e).delay=+t.apply(this,arguments)}}function gN(e,t){return t=+t,function(){KM(this,e).delay=t}}function _N(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?hN:gN)(t,e)):JM(this.node(),t).delay}function vN(e,t){return function(){qM(this,e).duration=+t.apply(this,arguments)}}function yN(e,t){return t=+t,function(){qM(this,e).duration=t}}function bN(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?vN:yN)(t,e)):JM(this.node(),t).duration}function xN(e,t){if(typeof t!=`function`)throw Error();return function(){qM(this,e).ease=t}}function SN(e){var t=this._id;return arguments.length?this.each(xN(t,e)):JM(this.node(),t).ease}function CN(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();qM(this,e).ease=n}}function wN(e){if(typeof e!=`function`)throw Error();return this.each(CN(this._id,e))}function TN(e){typeof e!=`function`&&(e=Ck(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 eP(r,this._parents,this._name,this._id)}function EN(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 eP(o,this._parents,this._name,this._id)}function DN(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 ON(e,t,n){var r,i,a=DN(t)?KM:qM;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function kN(e,t){var n=this._id;return arguments.length<2?JM(this.node(),n).on.on(e):this.each(ON(n,e,t))}function AN(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function jN(){return this.on(`end.remove`,AN(this._id))}function MN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=gk(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,GM(l[f],t,n,f,l,JM(u,n)));return new eP(a,this._parents,t,n)}function NN(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=bk(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=JM(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&GM(p,t,n,h,f,m);a.push(f),o.push(u)}return new eP(a,o,t,n)}var PN=oj.prototype.constructor;function FN(){return new PN(this._groups,this._parents)}function IN(e,t){var n,r,i;return function(){var a=pA(this,e),o=(this.style.removeProperty(e),pA(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function LN(e){return function(){this.style.removeProperty(e)}}function RN(e,t,n){var r,i=n+``,a;return function(){var o=pA(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function zN(e,t,n){var r,i,a;return function(){var o=pA(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),pA(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function BN(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=qM(this,e),l=c.on,u=c.value[a]==null?s||=LN(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function VN(e,t,n){var r=(e+=``)==`transform`?bM:nN;return t==null?this.styleTween(e,IN(e,r)).on(`end.style.`+e,LN(e)):typeof t==`function`?this.styleTween(e,zN(e,r,tN(this,`style.`+e,t))).each(BN(this._id,e)):this.styleTween(e,RN(e,r,t),n).on(`end.style.`+e,null)}function HN(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function UN(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&HN(e,a,n)),r}return a._value=t,a}function WN(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,UN(e,t,n??``))}function GN(e){return function(){this.textContent=e}}function KN(e){return function(){var t=e(this);this.textContent=t??``}}function qN(e){return this.tween(`text`,typeof e==`function`?KN(tN(this,`text`,e)):GN(e==null?``:e+``))}function JN(e){return function(t){this.textContent=e.call(this,t)}}function YN(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&JN(r)),t}return r._value=e,r}function XN(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,YN(e))}function ZN(){for(var e=this._name,t=this._id,n=tP(),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=JM(c,t);GM(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new eP(r,this._parents,e,n)}function QN(){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=qM(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 $N=0;function eP(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function tP(){return++$N}var nP=oj.prototype;eP.prototype={constructor:eP,select:MN,selectAll:NN,selectChild:nP.selectChild,selectChildren:nP.selectChildren,filter:TN,merge:EN,selection:FN,transition:ZN,call:nP.call,nodes:nP.nodes,node:nP.node,size:nP.size,empty:nP.empty,each:nP.each,on:kN,attr:lN,attrTween:mN,style:VN,styleTween:WN,text:qN,textTween:XN,remove:jN,tween:eN,delay:_N,duration:bN,ease:SN,easeVarying:wN,end:QN,[Symbol.iterator]:nP[Symbol.iterator]};function rP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var iP={time:null,delay:0,duration:250,ease:rP};function aP(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function oP(e){var t,n;e instanceof eP?(t=e._id,e=e._name):(t=tP(),(n=iP).time=NM(),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])&&GM(c,e,t,l,o,n||aP(c,t));return new eP(r,this._parents,e,t)}oj.prototype.interrupt=ZM,oj.prototype.transition=oP;var{abs:sP,max:cP,min:lP}=Math;[`w`,`e`].map(uP),[`n`,`s`].map(uP),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(uP);function uP(e){return{type:e}}var dP=Math.PI,fP=2*dP,pP=1e-6,mP=fP-pP;function hP(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function gP(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return hP;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 _P=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?hP:gP(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>pP){if(!(Math.abs(u*s-c*l)>pP)||!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((dP-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>pP&&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)>pP||Math.abs(this._y1-l)>pP)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%fP+fP),d>mP?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>pP&&this._append`A${n},${n},0,${+(d>=dP)},${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._}};_P.prototype;function vP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function yP(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 bP(e){return e=yP(Math.abs(e)),e?e[1]:NaN}function xP(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 SP(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var CP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function wP(e){if(!(t=CP.exec(e)))throw Error(`invalid format: `+e);var t;return new TP({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]})}wP.prototype=TP.prototype;function TP(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+``}TP.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 EP(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 DP;function OP(e,t){var n=yP(e,t);if(!n)return DP=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(DP=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`)+yP(e,Math.max(0,t+a-1))[0]}function kP(e,t){var n=yP(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 AP={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:vP,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)=>kP(e*100,t),r:kP,s:OP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function jP(e){return e}var MP=Array.prototype.map,NP=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function PP(e){var t=e.grouping===void 0||e.thousands===void 0?jP:xP(MP.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?jP:SP(MP.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=wP(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`):AP[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=AP[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=EP(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&DP!==void 0?NP[8+DP/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(bP(t)/3)))*3,r=10**-n,i=l((e=wP(e),e.type=`f`,e),{suffix:NP[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var FP,IP,LP;RP({thousands:`,`,grouping:[3],currency:[`$`,``]});function RP(e){return FP=PP(e),IP=FP.format,LP=FP.formatPrefix,FP}function zP(e){return Math.max(0,-bP(Math.abs(e)))}function BP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(bP(t)/3)))*3-bP(Math.abs(e)))}function VP(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,bP(t)-bP(e))+1}function HP(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function UP(){return this.eachAfter(HP)}function WP(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function GP(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function KP(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function qP(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function JP(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function YP(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function XP(e){for(var t=this,n=ZP(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function ZP(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function QP(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function $P(){return Array.from(this)}function eF(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function tF(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*nF(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function rF(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=oF)):t===void 0&&(t=aF);for(var n=new lF(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new lF(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(cF)}function iF(){return rF(this).eachBefore(sF)}function aF(e){return e.children}function oF(e){return Array.isArray(e)?e[1]:null}function sF(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function cF(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function lF(e){this.data=e,this.depth=this.height=0,this.parent=null}lF.prototype=rF.prototype={constructor:lF,count:UP,each:WP,eachAfter:KP,eachBefore:GP,find:qP,sum:JP,sort:YP,path:XP,ancestors:QP,descendants:$P,leaves:eF,links:tF,copy:iF,[Symbol.iterator]:nF};function uF(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function dF(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function fF(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(a(t,o)),r&&i.eachBefore(uF),i}function a(e,t){return function(r){r.children&&dF(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}function pF(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var mF=Symbol(`implicit`);function hF(){var e=new AO,t=[],n=[],r=mF;function i(i){let a=e.get(i);if(a===void 0){if(r!==mF)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 AO;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 hF(t,n).unknown(r)},pF.apply(i,arguments),i}function gF(){var e=hF().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=UO(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 gF(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},pF.apply(d(),arguments)}function _F(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return _F(t())},e}function vF(){return _F(gF.apply(null,arguments).paddingInner(1))}function yF(e){return function(){return e}}function bF(e){return+e}var xF=[0,1];function SF(e){return e}function CF(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:yF(isNaN(t)?NaN:.5)}function wF(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function TF(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=CF(i,r),a=n(o,a)):(r=CF(r,i),a=n(a,o)),function(e){return a(r(e))}}function EF(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]=CF(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=OO(e,t,1,r)-1;return a[n](i[n](t))}}function DF(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function OF(){var e=xF,t=xF,n=dM,r,i,a,o=SF,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==SF&&(o=wF(e[0],e[n-1])),s=n>2?EF:TF,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),iM))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,bF),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=fM,u()},d.clamp=function(e){return arguments.length?(o=e?!0:SF,u()):o!==SF},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 kF(){return OF()(SF,SF)}function AF(e,t,n,r){var i=VO(e,t,n),a;switch(r=wP(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=BP(i,o))&&(r.precision=a),LP(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=VP(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=zP(i))&&(r.precision=a-(r.type===`%`)*2)}return IP(r)}function jF(e){var t=e.domain;return e.ticks=function(e){var n=t();return zO(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return AF(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=BO(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 MF(){var e=kF();return e.copy=function(){return DF(e,MF())},pF.apply(e,arguments),jF(e)}function NF(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}var PF=new Date,FF=new Date;function IF(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=>IF(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)=>(PF.setTime(+t),FF.setTime(+r),e(PF),e(FF),Math.floor(n(PF,FF))),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 LF=IF(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);LF.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?IF(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):LF),LF.range;var RF=1e3,zF=RF*60,BF=zF*60,VF=BF*24,HF=VF*7,UF=VF*30,WF=VF*365,GF=IF(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*RF)},(e,t)=>(t-e)/RF,e=>e.getUTCSeconds());GF.range;var KF=IF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*RF)},(e,t)=>{e.setTime(+e+t*zF)},(e,t)=>(t-e)/zF,e=>e.getMinutes());KF.range;var qF=IF(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*zF)},(e,t)=>(t-e)/zF,e=>e.getUTCMinutes());qF.range;var JF=IF(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*RF-e.getMinutes()*zF)},(e,t)=>{e.setTime(+e+t*BF)},(e,t)=>(t-e)/BF,e=>e.getHours());JF.range;var YF=IF(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*BF)},(e,t)=>(t-e)/BF,e=>e.getUTCHours());YF.range;var XF=IF(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*zF)/VF,e=>e.getDate()-1);XF.range;var ZF=IF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/VF,e=>e.getUTCDate()-1);ZF.range;var QF=IF(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/VF,e=>Math.floor(e/VF));QF.range;function $F(e){return IF(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())*zF)/HF)}var eI=$F(0),tI=$F(1),nI=$F(2),rI=$F(3),iI=$F(4),aI=$F(5),oI=$F(6);eI.range,tI.range,nI.range,rI.range,iI.range,aI.range,oI.range;function sI(e){return IF(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)/HF)}var cI=sI(0),lI=sI(1),uI=sI(2),dI=sI(3),fI=sI(4),pI=sI(5),mI=sI(6);cI.range,lI.range,uI.range,dI.range,fI.range,pI.range,mI.range;var hI=IF(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());hI.range;var gI=IF(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());gI.range;var _I=IF(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());_I.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:IF(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)}),_I.range;var vI=IF(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());vI.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:IF(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)}),vI.range;function yI(e,t,n,r,i,a){let o=[[GF,1,RF],[GF,5,5*RF],[GF,15,15*RF],[GF,30,30*RF],[a,1,zF],[a,5,5*zF],[a,15,15*zF],[a,30,30*zF],[i,1,BF],[i,3,3*BF],[i,6,6*BF],[i,12,12*BF],[r,1,VF],[r,2,2*VF],[n,1,HF],[t,1,UF],[t,3,3*UF],[e,1,WF]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=wO(([,,e])=>e).right(o,i);if(a===o.length)return e.every(VO(t/WF,n/WF,r));if(a===0)return LF.every(Math.max(VO(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[bI,xI]=yI(vI,gI,cI,QF,YF,qF),[SI,CI]=yI(_I,hI,eI,XF,JF,KF);function wI(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 TI(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 EI(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function DI(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=NI(i),u=PI(i),d=NI(a),f=PI(a),p=NI(o),m=PI(o),h=NI(s),g=PI(s),_=NI(c),v=PI(c),y={a:N,A:P,b:F,B:I,c:null,d:tL,e:tL,f:oL,g:_L,G:yL,H:nL,I:rL,j:iL,L:aL,m:sL,M:cL,p:L,q:R,Q:HL,s:UL,S:lL,u:uL,U:dL,V:pL,w:mL,W:hL,x:null,X:null,y:gL,Y:vL,Z:bL,"%":VL},b={a:z,A:B,b:V,B:H,c:null,d:xL,e:xL,f:EL,g:LL,G:zL,H:SL,I:CL,j:wL,L:TL,m:DL,M:OL,p:ee,q:U,Q:HL,s:UL,S:kL,u:AL,U:jL,V:NL,w:PL,W:FL,x:null,X:null,y:IL,Y:RL,Z:BL,"%":VL},x={a:E,A:D,b:O,B:k,c:A,d:GI,e:GI,f:ZI,g:VI,G:BI,H:qI,I:qI,j:KI,L:XI,m:WI,M:JI,p:T,q:UI,Q:$I,s:eL,S:YI,u:II,U:LI,V:RI,w:FI,W:zI,x:j,X:M,y:VI,Y:BI,Z:HI,"%":QI};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=OI[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=EI(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=TI(EI(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?lI.ceil(a):lI(a),a=ZF.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=wI(EI(r.y,0,1)),o=a.getDay(),a=o>4||o===0?tI.ceil(a):tI(a),a=XF.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?TI(EI(r.y,0,1)).getUTCDay():wI(EI(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,TI(r)):wI(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 OI?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 OI={"-":``,_:` `,0:`0`},kI=/^\s*\d+/,AI=/^%/,jI=/[\\^$*+?|[\]().{}]/g;function Z(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 MI(e){return e.replace(jI,`\\$&`)}function NI(e){return RegExp(`^(?:`+e.map(MI).join(`|`)+`)`,`i`)}function PI(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function FI(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function II(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function LI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function RI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function zI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function BI(e,t,n){var r=kI.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function VI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function HI(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 UI(e,t,n){var r=kI.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function WI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function GI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function KI(e,t,n){var r=kI.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function qI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function JI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function YI(e,t,n){var r=kI.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function XI(e,t,n){var r=kI.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ZI(e,t,n){var r=kI.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function QI(e,t,n){var r=AI.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function $I(e,t,n){var r=kI.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function eL(e,t,n){var r=kI.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function tL(e,t){return Z(e.getDate(),t,2)}function nL(e,t){return Z(e.getHours(),t,2)}function rL(e,t){return Z(e.getHours()%12||12,t,2)}function iL(e,t){return Z(1+XF.count(_I(e),e),t,3)}function aL(e,t){return Z(e.getMilliseconds(),t,3)}function oL(e,t){return aL(e,t)+`000`}function sL(e,t){return Z(e.getMonth()+1,t,2)}function cL(e,t){return Z(e.getMinutes(),t,2)}function lL(e,t){return Z(e.getSeconds(),t,2)}function uL(e){var t=e.getDay();return t===0?7:t}function dL(e,t){return Z(eI.count(_I(e)-1,e),t,2)}function fL(e){var t=e.getDay();return t>=4||t===0?iI(e):iI.ceil(e)}function pL(e,t){return e=fL(e),Z(iI.count(_I(e),e)+(_I(e).getDay()===4),t,2)}function mL(e){return e.getDay()}function hL(e,t){return Z(tI.count(_I(e)-1,e),t,2)}function gL(e,t){return Z(e.getFullYear()%100,t,2)}function _L(e,t){return e=fL(e),Z(e.getFullYear()%100,t,2)}function vL(e,t){return Z(e.getFullYear()%1e4,t,4)}function yL(e,t){var n=e.getDay();return e=n>=4||n===0?iI(e):iI.ceil(e),Z(e.getFullYear()%1e4,t,4)}function bL(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function xL(e,t){return Z(e.getUTCDate(),t,2)}function SL(e,t){return Z(e.getUTCHours(),t,2)}function CL(e,t){return Z(e.getUTCHours()%12||12,t,2)}function wL(e,t){return Z(1+ZF.count(vI(e),e),t,3)}function TL(e,t){return Z(e.getUTCMilliseconds(),t,3)}function EL(e,t){return TL(e,t)+`000`}function DL(e,t){return Z(e.getUTCMonth()+1,t,2)}function OL(e,t){return Z(e.getUTCMinutes(),t,2)}function kL(e,t){return Z(e.getUTCSeconds(),t,2)}function AL(e){var t=e.getUTCDay();return t===0?7:t}function jL(e,t){return Z(cI.count(vI(e)-1,e),t,2)}function ML(e){var t=e.getUTCDay();return t>=4||t===0?fI(e):fI.ceil(e)}function NL(e,t){return e=ML(e),Z(fI.count(vI(e),e)+(vI(e).getUTCDay()===4),t,2)}function PL(e){return e.getUTCDay()}function FL(e,t){return Z(lI.count(vI(e)-1,e),t,2)}function IL(e,t){return Z(e.getUTCFullYear()%100,t,2)}function LL(e,t){return e=ML(e),Z(e.getUTCFullYear()%100,t,2)}function RL(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function zL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?fI(e):fI.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function BL(){return`+0000`}function VL(){return`%`}function HL(e){return+e}function UL(e){return Math.floor(e/1e3)}var WL,GL;KL({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 KL(e){return WL=DI(e),GL=WL.format,WL.parse,WL.utcFormat,WL.utcParse,WL}function qL(e){return new Date(e)}function JL(e){return e instanceof Date?+e:+new Date(+e)}function YL(e,t,n,r,i,a,o,s,c,l){var u=kF(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,JL)):f().map(qL)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(NF(n,e)):u},u.copy=function(){return DF(u,YL(e,t,n,r,i,a,o,s,c,l))},u}function XL(){return pF.apply(YL(SI,CI,_I,hI,eI,XF,JF,KF,GF,GL).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ZL(e){return function(){return e}}var QL=Math.abs,$L=Math.atan2,eR=Math.cos,tR=Math.max,nR=Math.min,rR=Math.sin,iR=Math.sqrt,aR=Math.PI,oR=aR/2,sR=2*aR;function cR(e){return e>1?0:e<-1?aR:Math.acos(e)}function lR(e){return e>=1?oR:e<=-1?-oR:Math.asin(e)}function uR(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 _P(t)}function dR(e){return e.innerRadius}function fR(e){return e.outerRadius}function pR(e){return e.startAngle}function mR(e){return e.endAngle}function hR(e){return e&&e.padAngle}function gR(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 _R(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/iR(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)*iR(tR(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 vR(){var e=dR,t=fR,n=ZL(0),r=null,i=pR,a=mR,o=hR,s=null,c=uR(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-oR,m=a.apply(this,arguments)-oR,h=QL(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>sR-1e-12)s.moveTo(f*eR(p),f*rR(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*eR(m),d*rR(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):iR(d*d+f*f)),T=nR(QL(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=lR(w/d*rR(C)),j=lR(w/f*rR(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*eR(_),N=f*rR(_),P=d*eR(b),F=d*rR(b);if(T>1e-12){var I=f*eR(v),L=f*rR(v),R=d*eR(y),z=d*rR(y),B;if(h<aR){if(B=gR(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],W=1/rR(cR((V*ee+H*U)/(iR(V*V+H*H)*iR(ee*ee+U*U)))/2),te=iR(B[0]*B[0]+B[1]*B[1]);E=nR(T,(d-te)/(W-1)),D=nR(T,(f-te)/(W+1))}else E=D=0}}S>1e-12?D>1e-12?(O=_R(R,z,M,N,f,D,g),k=_R(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,$L(O.y01,O.x01),$L(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,$L(O.y01,O.x01),$L(O.y11,O.x11),!g),s.arc(0,0,f,$L(O.cy+O.y11,O.cx+O.x11),$L(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,$L(k.y11,k.x11),$L(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=_R(P,F,I,L,d,-E,g),k=_R(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,$L(O.y01,O.x01),$L(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,$L(O.y01,O.x01),$L(O.y11,O.x11),!g),s.arc(0,0,d,$L(O.cy+O.y11,O.cx+O.x11),$L(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,$L(k.y11,k.x11),$L(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-aR/2;return[eR(r)*n,rR(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:ZL(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ZL(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:ZL(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:ZL(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:ZL(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function yR(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function bR(e){this._context=e}bR.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 xR(e){return new bR(e)}function SR(e){return e[0]}function CR(e){return e[1]}function wR(e,t){var n=ZL(!0),r=null,i=xR,a=null,o=uR(s);e=typeof e==`function`?e:e===void 0?SR:ZL(e),t=typeof t==`function`?t:t===void 0?CR:ZL(t);function s(s){var c,l=(s=yR(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:ZL(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:ZL(!!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 TR(e,t,n){var r=null,i=ZL(!0),a=null,o=xR,s=null,c=uR(l);e=typeof e==`function`?e:e===void 0?SR:ZL(+e),t=typeof t==`function`?t:ZL(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?CR:ZL(+n);function l(l){var u,d,f,p=(l=yR(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 wR().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:ZL(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:ZL(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:ZL(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:ZL(+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:ZL(!!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 ER(e){return e<0?-1:1}function DR(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(ER(a)+ER(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function OR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function kR(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 AR(e){this._context=e}AR.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:kR(this,this._t0,OR(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,kR(this,OR(this,n=DR(this,e,t)),n);break;default:kR(this,this._t0,n=DR(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(AR.prototype).point=function(e,t){AR.prototype.point.call(this,t,e)};function jR(e){return new AR(e)}function MR(e,t){this._context=e,this._t=t}MR.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 NR(e){return new MR(e,1)}function PR(e,t,n){this.k=e,this.x=t,this.y=n}PR.prototype={constructor:PR,scale:function(e){return e===1?this:new PR(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new PR(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 FR=new PR(1,0,0);IR.prototype=PR.prototype;function IR(e){for(;!e.__zoom;)if(!(e=e.parentNode))return FR;return e.__zoom}function LR(e,t=15){let n=e.split(` `),r=[],i=[],a=0;return n.forEach(e=>{a+e.length>t?(i.length&&r.push(i.join(` `)),i=[e],a=e.length):(i.push(e),a+=e.length+ +(i.length>0))}),i.length&&r.push(i.join(` `)),r}var RR={DECISIVE:20,ROUTINE:50},zR=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),BR={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},VR=`#cfd8dc`,HR=`COMPETITIVE`,UR=`ROUTINE`,WR=`DECISIVE`,GR=`WALKOVER`;function KR(e,t=RR){if(!e?.length)return;let n=[0,0],r=[0,0];for(let t of e)n[0]+=t.side1Score||0,n[1]+=t.side2Score||0,r[0]+=t.side1TiebreakScore||0,r[1]+=t.side2TiebreakScore||0;r[0]+r[1]&&(n[r[0]>r[1]?0:1]+=1);let i=Math.max(n[0],n[1]);if(i===0)return;let a=Math.round(Math.min(n[0],n[1])/i*100);return Number.isNaN(a)?GR:a<=t.DECISIVE?WR:a<=t.ROUTINE?UR:HR}function qR(e,n=RR){if(e)return KR(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function JR({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&zR.has(t))return GR;if(e)return n?.length?KR(n,i):qR(r,i)}function YR(e,t){return e?t?.[e]??BR[e]:VR}var{WILDCARD:XR,QUALIFIER:ZR,LUCKY_LOSER:QR}=t.entryStatusConstants,$R=`text-anchor`,ez=`dominant-baseline`,tz=`fill-opacity`,nz=Object.assign({},...t.fixtures.countries.filter(e=>e.ioc).map(e=>({[e.ioc]:e.iso2})),...t.fixtures.countries.filter(e=>e.iso).map(e=>({[e.iso]:e.iso2})));function rz(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function iz(e){if(e)switch(e){case XR:return`WC`;case ZR:return`Q`;case QR:return`LL`;default:return e}}function az(e,t){let n=[];for(let r of e)for(let e of r.sides){let i=r.matchUpStatus===`BYE`&&!e.participantName;n.push({name:e.participantName||(i?`BYE`:``),participantName:e.participantName||(i?`BYE`:void 0),drawPosition:e.drawPosition,seedNumber:e.seedNumber,entryStatus:iz(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function oz(e,t){let n=e.winningSide!==void 0&&e.winningSide!==null?e.sides.find(t=>t.sideNumber===e.winningSide):void 0;!n&&e.matchUpStatus===`BYE`&&(n=e.sides.find(e=>e.participantName));let r=n?.participantName,i=r?t.get(r):void 0;return{winnerName:r,winnerSide:n,winnerLookup:i}}function sz(e,t,n,r){return e.map((e,i)=>{let a=i*2,o=[t[a],t[a+1]].filter(Boolean),{winnerName:s,winnerSide:c,winnerLookup:l}=oz(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:iz(c?.entryStatus)??l?.entryStatus,nationalityCode:c?.nationalityCode??l?.nationalityCode,scoreString:e.scoreString,matchUpStatus:e.matchUpStatus,competitiveness:e.competitiveness,matchUp:e,depth:n,children:o.length>0?o:void 0}})}function cz(e){let{roundMatchUps:t}=e,n=Object.keys(t).map(Number).sort((e,t)=>e-t);if(n.length===0)throw Error(`No round data found in draw`);let r=t[n[0]],i=rz(az(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=sz(rz(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=sz(rz(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function lz(e,t){if(!e)return;let{seedNumber:n,entryStatus:r,drawPosition:i,participantName:a}=e,o;if(a?.trim().toUpperCase()===`BYE`)o=`#B0BEC5`;else if(n){let e=Number(n),t=MF().domain([1,32]).range([`0`,`1`]);o=MF().domain(UO(0,1,1/7)).range([`#81D4FA`,`#42A5F5`,`#1E88E5`,`#1565C0`,`#5C6BC0`,`#673AB7`,`#9C27B0`])(Number(t(e)))}else if(r?.toUpperCase()===`WC`)o=`red`;else if(r&&(r===`Q`||r===`LL`))o=MF().domain(UO(0,1,1/3)).range([`#FFF176`,`#FBC02D`,`#FF9800`])(t(i));else{let e=[`#C8E6C9`,`#81C784`,`#66BB6A`,`#4CAF50`,`#43A047`,`#388E3C`,`#2E7D32`,`#1B5E20`,`#A5D6A7`,`#90CAF9`,`#64B5F6`,`#42A5F5`,`#2196F3`,`#1E88E5`,`#1976D2`,`#1565C0`];o=MF().domain(UO(0,1,1/e.length)).range(e)(t(i))}e.color=o,e.children&&e.children.forEach(n=>{n.participantName===e.participantName&&(n.color=o),lz(n,t)})}function uz(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?YR(e.competitiveness,t):VR,e.children?.forEach(e=>uz(e,t)))}function dz(e,t){let n=[];return e.seedNumber?n.push(`Seed ${e.seedNumber}`):e.entryStatus&&n.push(e.entryStatus),t===7&&e.drawPosition&&n.push(`Draw ${e.drawPosition}`),n.length>0?n.join(` • `):void 0}function fz(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function pz(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=fz(t.children,e.participantName),r&&n.push(r.participantName);else{let r=dz(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function mz(e,t){return-(e*t/2)+t/2}function hz(e,t,n){let r=cj(e).append(`svg`).attr(`width`,t).attr(`height`,n).style(`display`,`block`),i=r.append(`g`).attr(`transform`,`translate(${t/2}, ${n/2})`);return{svg:r,g:i,flagsGroup:i.append(`g`).attr(`class`,`flags-group`),winningFlagsGroup:i.append(`g`).attr(`class`,`winning-flags-group`),losingFlagsGroup:i.append(`g`).attr(`class`,`losing-flags-group`)}}function gz(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr($R,`middle`).attr(ez,`middle`).attr(`font-size`,`${r}px`).attr(`font-weight`,`bold`).style(`fill`,`var(--chc-text-primary, #333)`).attr(`pointer-events`,`none`),o=r+i*.5;return{centerText:a,centerText2:e.append(`text`).attr(`x`,t/2).attr(`y`,n/2+o).attr($R,`middle`).attr(ez,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function _z(e,t,n,r,i,a,o){n&&(i?(t.flagsGroup.selectAll(`text`).remove(),t.winningFlagsGroup.selectAll(`text`).remove(),t.losingFlagsGroup.selectAll(`text`).remove()):e.selectAll(`text`).remove(),e.append(`text`).attr(`font-size`,`${o}px`).attr($R,`middle`).attr(ez,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(xz(n)))}function vz(e,n,r,i={}){let a=i.width||800,o=i.height||800,s=Math.min(a,o)/800*(i.textScaleFactor??1),c=28*s,l=24*s,u=30*s,d=r||i.title||`Tournament`,f=Object.assign({},...t.fixtures.countries.filter(e=>e.label).map(e=>({[e.ioc]:e.label})));if(!Object.keys(n?.roundMatchUps??{}).length)return{highlightPlayer:()=>0,hide:()=>void 0,setColorMode:()=>void 0};let p=cz(n),m=rF(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;fF().size([2*Math.PI,h-g])(m),lz(p,MF().domain([0,n.drawSize||128]).range([0,1])),uz(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=vR().startAngle(e=>e.x0).endAngle(e=>e.x1).innerRadius(e=>e.y0+g).outerRadius(e=>e.y1+g),{svg:S,g:C,flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E}=hz(e,a,o),D=new Set,O=e=>{e.nationalityCode&&D.add(e.nationalityCode),e.children&&e.children.forEach(O)};O(p);let k=Array.from(D),{centerText:A,centerText2:j}=gz(S,a,o,c,l);function M(){let e=LR(d,15);A.text(``),A.selectAll(`tspan`).remove(),j.text(``),j.selectAll(`tspan`).remove(),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let t=-(e.length*u/2)+u/2;A.attr(`y`,o/2+t),A.style(`display`,`block`),j.style(`display`,`none`)}function N(){if(w.selectAll(`text`).remove(),T.selectAll(`text`).remove(),E.selectAll(`text`).remove(),k.length===0)return;let e=MF().domain([0,k.length]).range([0,Math.PI*2]),t=_(20),n=g-t+10;w.selectAll(`text`).data(k).join(`text`).attr(`font-size`,`${t}px`).attr($R,`middle`).attr(ez,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>xz(e)).style(`cursor`,`pointer`).on(`mouseover`,function(e,t){let n=f[t]||t;A.selectAll(`tspan`).remove(),A.attr(`y`,o/2),A.text(n).style(`display`,`block`),j.selectAll(`tspan`).remove(),j.text(``).style(`display`,`none`),F||C.selectAll(`path`).attr(tz,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(tz,.8),M()})}N(),M();let P=i.eventHandlers?.clickCenter;P&&C.insert(`circle`,`:first-child`).attr(`r`,g).attr(`fill`,`transparent`).style(`cursor`,`pointer`).on(`click`,P);let F=!1,I;function L(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=pz(n,t);r&&(n.opponent=r),A.selectAll(`tspan`).remove(),A.text(``),A.selectAll(`tspan`).data(e).join(`tspan`).attr(`x`,a/2).attr(`dy`,(e,t)=>t===0?0:u).text(e=>e);let i=mz(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==I?.toLowerCase()&&cj(e.currentTarget).attr(tz,.9):C.selectAll(`path`).attr(tz,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};_z(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&_z(E,s,n.opponent.nationalityCode,1,!1,i,r)}function R(e,t){if(F){let n=t.data.participantName?.toLowerCase()===I?.toLowerCase();cj(e.currentTarget).attr(tz,n?1:.2)}else C.selectAll(`path`).attr(tz,.8);N(),M()}let z=i.eventHandlers?.clickSegment;function B(e,t){if(!z)return;let n=t.data;z({participantName:n.participantName,drawPosition:n.drawPosition,seedNumber:n.seedNumber,entryStatus:n.entryStatus,nationalityCode:n.nationalityCode,scoreString:n.scoreString,matchUpStatus:n.matchUpStatus,competitiveness:n.competitiveness,roundName:n.roundName,depth:n.depth,matchUp:n.matchUp})}let V=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(tz,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,L).on(`mouseout`,R);z&&V.style(`cursor`,`pointer`).on(`click`,B),V.append(`title`).text(e=>{let t=e.data;if(t.participantName){let e=[t.participantName,`Draw: ${t.drawPosition||`N/A`}`];return t.competitiveness&&e.push(`Competitiveness: ${t.competitiveness}`),e.join(`
|
|
215
215
|
`)}return`${t.name}\nDepth: ${e.depth}`});function H(e){let t=0;return F=!!e,I=e,C.selectAll(`path`).attr(tz,n=>e?n.data.participantName?.toLowerCase()===e.toLowerCase()?(t+=1,1):.2:.8),t}function ee(e){S.style(`display`,e?`none`:`block`)}function U(e){v=e,C.selectAll(`path`).attr(`fill`,e=>y(e.data))}return{highlightPlayer:H,hide:ee,setColorMode:U}}function yz(e={}){return{render:(t,n,r)=>vz(t,n,r,e)}}function bz(e){return e?.length===2?e&&String.fromCodePoint!==void 0?e.toUpperCase().replaceAll(/./g,e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)):e:``}function xz(e){return bz(nz[e]||e)}var{LUCKY_LOSER:Sz,WILDCARD:Cz,QUALIFIER:wz}=t.entryStatusConstants,{WIN_RATIO:Tz,ROUND_OUTCOME:Ez,MAIN:Dz,CONTAINER:Oz}=t.drawDefinitionConstants;function kz(e){return e?.finishingPosition===Ez&&e?.structureType!==Oz}function Az(e){return e?.finishingPosition===Tz||e?.structureType===Oz}function jz(e){if(!e?.length)return;let t=e.filter(kz);if(t.length)return t.find(e=>e.stage===Dz)??t[0]}function Mz(e){if(Az(e))return{drawSize:0,roundMatchUps:{}};let t={};for(let[n,r]of Object.entries(e.roundMatchUps))t[Number(n)]=r.map(e=>({...e,winningSide:e.winningSide,drawPositions:e.drawPositions||[],competitiveness:JR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.score?.sets}),scoreString:e.winningSide===1?e.score?.scoreStringSide1:e.winningSide===2?e.score?.scoreStringSide2:void 0,sides:(e.sides||[]).map(e=>({sideNumber:e.sideNumber,drawPosition:e.drawPosition,participantName:e.participant?.participantName,nationalityCode:e.participant?.person?.nationalityCode,seedNumber:e.seedNumber,entryStatus:e.participant?.entryStatus}))}));return{drawSize:(t[1]?.length||0)*2,roundMatchUps:t,seedAssignments:e.seedAssignments}}var Nz={LL:Sz,WC:Cz,Q:wz},Pz=[`R128`,`R64`,`R32`,`R16`,`QF`,`SF`,`F`];function Fz(e){let t=Iz(e);if(t.length===0)return{drawSize:0,roundMatchUps:{}};let n=t[0].data,r=n.length,i=Lz(n),a=Rz(t,e),o={};o[1]=Bz(n,a,t);for(let e=1;e<t.length;e++)o[e+1]=Vz(e,t,a,i);return{drawSize:r,roundMatchUps:o}}function Iz(e){let t=[],n=!1;for(let r of Pz){let i=e[r];i&&i.length>0&&(n=!0),n&&i&&i.length>0&&t.push({key:r,data:i})}return t}function Lz(e){let t=new Map;return e.forEach((e,n)=>{let r=Hz(e.player);r&&r!==`BYE`&&t.set(r,{drawPosition:e.Draw??n+1,country:e.country,seed:e.seed,entry:e.entry})}),t}function Rz(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=r+1<e.length?e[r+1].data:t.W||[],a=new Set;for(let e of i){let t=Hz(e.player);t&&a.add(t)}n.set(e[r].key,a)}return n}function zz(e,t,n){if(e===`BYE`||t===`BYE`)return e===`BYE`?2:1;if(n.has(e))return 1;if(n.has(t))return 2}function Bz(e,t,n){let r=[],i=t.get(n[0].key)||new Set;for(let t=0;t<e.length;t+=2){let a=e[t],o=e[t+1],s=Hz(a?.player),c=Hz(o?.player),l=s===`BYE`||c===`BYE`,u=zz(s,c,i),d;if(!l&&n.length>1){let e=n[1].data,t=u===1?s:c;d=e.find(e=>Hz(e.player)===t)?.score}let f=l?`BYE`:u?`COMPLETED`:`TO_BE_PLAYED`;r.push({roundNumber:1,matchUpStatus:f,winningSide:u,drawPositions:[a?.Draw??t+1,o?.Draw??t+2],competitiveness:JR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Wz(1,a,t+1),Wz(2,o,t+2)]})}return r}function Vz(e,t,n,r){let i=e+1,a=t[e].data,o=n.get(t[e].key)||new Set,s=[];for(let e=0;e<a.length;e+=2){let t=a[e],n=a[e+1],c=Hz(t?.player),l=Hz(n?.player),u=o.has(c)?1:o.has(l)?2:void 0,d=(u===1?t:u===2?n:void 0)?.score,f=u?`COMPLETED`:`TO_BE_PLAYED`;s.push({roundNumber:i,matchUpStatus:f,winningSide:u,drawPositions:[r.get(c)?.drawPosition??0,r.get(l)?.drawPosition??0],competitiveness:JR({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[Gz(1,t,r),Gz(2,n,r)]})}return s}function Hz(e){if(!e)return``;let t=e.trim();return t.toUpperCase()===`BYE`?`BYE`:t}function Uz(e){if(e)return Nz[e.toUpperCase()]||e}function Wz(e,t,n){if(!t)return{sideNumber:e,drawPosition:n};let r=Hz(t.player);return{sideNumber:e,drawPosition:t.Draw??n,participantName:r||void 0,nationalityCode:t.country||void 0,seedNumber:t.seed?Number(t.seed):void 0,entryStatus:Uz(t.entry)}}function Gz(e,t,n){if(!t)return{sideNumber:e,drawPosition:0};let r=Hz(t.player),i=n.get(r);return{sideNumber:e,drawPosition:i?.drawPosition??0,participantName:r||void 0,nationalityCode:t.country||i?.country||void 0,seedNumber:t.seed?Number(t.seed):i?.seed?Number(i.seed):void 0,entryStatus:Uz(t.entry||i?.entry)}}var Kz=480,qz=200,Jz=280,Yz={top:12,right:12,bottom:28,left:32},Xz={top:12,right:12,bottom:12,left:12},Zz=.6,Qz=.9,$z=`http://www.w3.org/2000/svg`,eB=`middle`,tB=`text-anchor`,nB=`dominant-baseline`,rB=[`var(--chc-rating-low, #5b8ff9)`,`var(--chc-rating-high, #00b894)`];function iB(e,t,n){let r=document.createElementNS($z,`svg`);return r.setAttribute(`width`,String(e)),r.setAttribute(`height`,String(t)),r.setAttribute(`viewBox`,`0 0 ${e} ${t}`),r.setAttribute(`class`,`chc-rating-distribution-chart`),n&&r.setAttribute(`aria-label`,n),r}function aB(e,t,n){return n<=1||t/(n-1)<.5?rB[0]:rB[1]}function oB(e,t,n,r){return r?r(e,t):aB(e,t,n)}function sB(e){return`${e.binStart.toFixed(1)}–${e.binEnd.toFixed(1)}`}function cB(e){let{stats:t,width:n,height:r,margin:i,showAxis:a,showCounts:o,showMean:s,binColor:c,ariaLabel:l}=e,u=iB(n,r,l),d=cj(u).append(`g`).attr(`class`,`chc-rdc-histogram`).attr(`transform`,`translate(${i.left}, ${i.top})`),f=Math.max(0,n-i.left-i.right),p=Math.max(0,r-i.top-i.bottom);if(t.histogram.length===0||f===0||p===0)return u;let m=gF().domain(t.histogram.map(sB)).range([0,f]).padding(.12),h=MF().domain([0,HO(t.histogram,e=>e.count)??0]).nice().range([p,0]),g=t.histogram.length;if(d.selectAll(`rect.chc-rdc-bar`).data(t.histogram).enter().append(`rect`).attr(`class`,`chc-rdc-bar`).attr(`x`,e=>m(sB(e))??0).attr(`y`,e=>h(e.count)).attr(`width`,m.bandwidth()).attr(`height`,e=>p-h(e.count)).attr(`fill`,(e,t)=>oB(e,t,g,c)).append(`title`).text(e=>`${sB(e)}: ${e.count}`),o&&d.selectAll(`text.chc-rdc-count`).data(t.histogram).enter().append(`text`).attr(`class`,`chc-rdc-count`).attr(`x`,e=>(m(sB(e))??0)+m.bandwidth()/2).attr(`y`,e=>h(e.count)-4).attr(tB,eB).attr(`font-size`,`11`).attr(`fill`,`var(--chc-rdc-count-color, var(--chc-text-primary, #111827))`).text(e=>e.count>0?String(e.count):``),a){let e=t.histogram.map(sB),n=f/g>=55?e:[e[0],e.at(-1)].filter((e,t,n)=>n.indexOf(e)===t);d.append(`g`).attr(`class`,`chc-rdc-axis`).attr(`transform`,`translate(0, ${p})`).call(nk(m).tickValues(n).tickSize(0)).call(e=>e.select(`.domain`).remove()).call(e=>e.selectAll(`text`).attr(`font-size`,`10`).attr(`dy`,`0.9em`))}if(s&&Number.isFinite(t.mean)&&t.histogram.length>0){let e=t.histogram[0],n=t.histogram.at(-1),r=(t.mean-e.binStart)/(n.binEnd-e.binStart);if(r>=0&&r<=1){let e=r*f;d.append(`line`).attr(`class`,`chc-rdc-mean`).attr(`x1`,e).attr(`x2`,e).attr(`y1`,0).attr(`y2`,p).attr(`stroke`,`var(--chc-rating-mean, #d63031)`).attr(`stroke-dasharray`,`4 3`).attr(`stroke-width`,1.5)}}return u}function lB(e,t,n,r){return[e+n*Math.sin(r),t-n*Math.cos(r)]}function uB(e,t,n,r,i,a){let[o,s]=lB(e,t,n,i),[c,l]=lB(e,t,n,a),[u,d]=lB(e,t,r,a),[f,p]=lB(e,t,r,i),m=+(a-i>Math.PI);return[`M ${o} ${s}`,`A ${n} ${n} 0 ${m} 1 ${c} ${l}`,`L ${u} ${d}`,`A ${r} ${r} 0 ${m} 0 ${f} ${p}`,`Z`].join(` `)}function dB(e){let{stats:t,size:n,margin:r,showCounts:i,binColor:a,ariaLabel:o}=e,s=iB(n,n,o);if(t.histogram.length===0||t.count===0)return s;let c=(n-Math.max(r.left+r.right,r.top+r.bottom))/2,l=n/2,u=n/2,d=c*Qz,f=c*Zz,p=0,m=t.histogram.length;for(let e=0;e<m;e++){let n=t.histogram[e];if(n.count===0)continue;let r=n.count/t.count*2*Math.PI,o=p,c=p+r,h=document.createElementNS($z,`path`);if(h.setAttribute(`class`,`chc-rdc-slice`),h.setAttribute(`d`,uB(l,u,d,f,o,c)),h.setAttribute(`fill`,oB(n,e,m,a)),s.appendChild(h),i){let e=o+r/2,[t,i]=lB(l,u,(d+f)/2,e),a=document.createElementNS($z,`text`);a.setAttribute(`class`,`chc-rdc-slice-label`),a.setAttribute(`x`,String(t)),a.setAttribute(`y`,String(i)),a.setAttribute(tB,eB),a.setAttribute(nB,eB),a.setAttribute(`font-size`,`11`),a.setAttribute(`fill`,`var(--chc-rating-label, #2d3436)`),a.textContent=String(n.count),s.appendChild(a)}p=c}let h=document.createElementNS($z,`text`);return h.setAttribute(`class`,`chc-rdc-center-count`),h.setAttribute(`x`,String(l)),h.setAttribute(`y`,String(u)),h.setAttribute(tB,eB),h.setAttribute(nB,eB),h.setAttribute(`font-size`,`20`),h.setAttribute(`font-weight`,`600`),h.textContent=String(t.count),s.appendChild(h),s}function fB(e,t={}){let n=t.mode??`HISTOGRAM`,r=t.ariaLabel??`Participant rating distribution`;return n===`DONUT`?dB({stats:e,size:t.width??t.height??Jz,margin:t.margin??Xz,showCounts:t.showCounts??!0,binColor:t.binColor,ariaLabel:r}):cB({stats:e,width:t.width??Kz,height:t.height??qz,margin:t.margin??Yz,showAxis:t.showAxis??!0,showCounts:t.showCounts??!0,showMean:t.showMean??!0,binColor:t.binColor,ariaLabel:r})}var pB=`http://www.w3.org/2000/svg`,mB={top:36,right:16,bottom:28,left:56},hB=600,gB=260,_B=6,vB=8;function yB(e,t){let n=document.createElementNS(pB,`svg`);n.classList.add(`lc-svg`),e.appendChild(n);let r={container:e,svg:n,config:{...t},destroyed:!1};return bB(r),{element:n,update(e){r.destroyed||(r.config={...r.config,...e},bB(r))},destroy(){r.destroyed||(r.destroyed=!0,n.parentNode===e&&e.removeChild(n))}}}function bB(e){let{svg:t,container:n,config:r}=e,i={...mB,...r.margins||{}},a=n.clientWidth||hB,o=r.width??a,s=r.height??gB;for(;t.firstChild;)t.removeChild(t.firstChild);t.setAttribute(`width`,String(o)),t.setAttribute(`height`,String(s)),t.setAttribute(`viewBox`,`0 0 ${o} ${s}`);let c=Math.max(0,o-i.left-i.right),l=Math.max(0,s-i.top-i.bottom),u=(r.data||[]).map(e=>({...e,_dateValue:e.date instanceof Date?e.date:new Date(e.date),_rung:Math.max(0,Math.min(r.rungs.length-1,e.rung))})).filter(e=>!Number.isNaN(e._dateValue.getTime())).sort((e,t)=>e._dateValue.getTime()-t._dateValue.getTime());if(r.title){let e=document.createElementNS(pB,`text`);e.setAttribute(`class`,`lc-title`),e.setAttribute(`x`,String(i.left)),e.setAttribute(`y`,String(Math.max(16,i.top-12))),e.textContent=r.title,t.appendChild(e)}if(!u.length){let e=document.createElementNS(pB,`text`);e.setAttribute(`class`,`lc-empty`),e.setAttribute(`x`,String(o/2)),e.setAttribute(`y`,String(s/2)),e.setAttribute(`text-anchor`,`middle`),e.textContent=`No data`,t.appendChild(e);return}let d=kO(u,e=>e._dateValue),f=Math.max(3,(d[1].getTime()-d[0].getTime())/864e5*.04),p=new Date(d[0].getTime()-f*864e5),m=new Date(d[1].getTime()+f*864e5),h=XL().domain([p,m]).range([0,c]),g=vF().domain([...r.rungs].reverse()).range([0,l]).padding(.5),_=document.createElementNS(pB,`g`);_.setAttribute(`transform`,`translate(${i.left},${i.top})`),t.appendChild(_);let v=document.createElementNS(pB,`g`);v.setAttribute(`class`,`lc-axis lc-axis-y`),_.appendChild(v),cj(v).call(rk(g).tickSize(-c).tickPadding(8));let y=document.createElementNS(pB,`g`);y.setAttribute(`class`,`lc-axis lc-axis-x`),y.setAttribute(`transform`,`translate(0,${l})`),_.appendChild(y);let b=d[1].getFullYear()-d[0].getFullYear()>=1?`%Y`:`%b`,x=r.xTickFormat??b;if(cj(y).call(nk(h).ticks(r.xMaxTicks??vB).tickFormat(GL(x))),r.showConnector!==!1&&u.length>1){let e=wR().x(e=>h(e._dateValue)).y(e=>g(r.rungs[e._rung])??0).curve(NR),t=document.createElementNS(pB,`path`);t.setAttribute(`class`,`lc-connector`),t.setAttribute(`d`,e(u)||``),r.connectorColor&&(t.style.stroke=r.connectorColor),_.appendChild(t)}let S=document.createElementNS(pB,`g`);S.setAttribute(`class`,`lc-marks`),_.appendChild(S);for(let e of u){let t=h(e._dateValue),n=g(r.rungs[e._rung])??0,i=e.radius??r.markRadius??_B,a=document.createElementNS(pB,`circle`);if(a.setAttribute(`class`,`lc-mark`),a.setAttribute(`cx`,String(t)),a.setAttribute(`cy`,String(n)),a.setAttribute(`r`,String(i)),(e.color||r.markColor)&&(a.style.fill=e.color??r.markColor),e.label){let t=[e.label,e.detail].filter(Boolean).join(` — `);a.setAttribute(`aria-label`,t);let n=document.createElementNS(pB,`title`);n.textContent=t,a.appendChild(n)}r.onMarkClick&&(a.style.cursor=`pointer`,a.addEventListener(`click`,t=>r.onMarkClick(e,t))),r.onMarkHover&&(a.addEventListener(`mouseenter`,t=>r.onMarkHover(e,t)),a.addEventListener(`mouseleave`,e=>r.onMarkHover(null,e))),S.appendChild(a)}if(r.source){let e=document.createElementNS(pB,`text`);e.setAttribute(`class`,`lc-source`),e.setAttribute(`x`,String(o-i.right)),e.setAttribute(`y`,String(s-6)),e.setAttribute(`text-anchor`,`end`),e.textContent=`Source: ${r.source}`,t.appendChild(e)}}var xB=`http://www.w3.org/2000/svg`,SB=`text-anchor`,CB=`dominant-baseline`,wB=`class`,TB=`middle`,EB=520,DB=240,OB={top:16,right:64,bottom:28,left:44},kB=5,AB=3;function jB(e,t,n){let r=n-t;if(n>=3){if(r===1)return`F`;if(r===2)return`SF`;if(r===3)return`QF`}return`R${t+1}`}function MB(e,t){let n=document.createElementNS(xB,e);return t&&n.setAttribute(wB,t),n}function NB(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function PB(e,t){if(t)return t;let n=[];for(let t of e)for(let e of[t.projected.expected,t.projected.low,t.projected.high,t.actual])e!=null&&n.push(e);if(!n.length)return[-100,100];let r=Math.max(Math.abs(Math.min(...n)),Math.abs(Math.max(...n)),50)*1.15;return[-r,r]}function FB(e,t){let n=t.width??EB,r=t.height??DB,i=t.margin??(t.spark?{top:6,right:6,bottom:6,left:6}:OB),a=Math.max(1,n-i.left-i.right),o=Math.max(1,r-i.top-i.bottom),s=MF().domain([0,Math.max(1,e.length-1)]).range([0,a]),c=PB(e,t.yDomain),l=MF().domain(c).range([o,0]);return{x:e=>s(e),y:e=>l(e),yDomain:c,innerWidth:a,innerHeight:o,margin:i}}function IB(e,t,n){let r=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>e.projected.low!==null&&e.projected.high!==null);if(r.length<2)return;let i=TR().x(({index:e})=>n.x(e)).y0(({point:e})=>n.y(e.projected.low)).y1(({point:e})=>n.y(e.projected.high)),a=MB(`path`,`chc-pc__band`);a.setAttribute(`d`,i(r)??``),e.appendChild(a)}function LB({group:e,points:t,geometry:n,className:r,accessor:i}){let a=t.map((e,t)=>({point:e,index:t})).filter(({point:e})=>i(e)!==null);if(a.length<2)return;let o=wR().x(({index:e})=>n.x(e)).y(({point:e})=>n.y(i(e))),s=MB(`path`,r);s.setAttribute(`d`,o(a)??``),e.appendChild(s)}function RB(e){return YR(e)}function zB({group:e,points:t,geometry:n,radius:r,onHover:i}){t.forEach((t,a)=>{if(t.actual===null)return;let o=MB(`circle`,t.won===!1?`chc-pc__marker chc-pc__marker--lost`:`chc-pc__marker`);o.setAttribute(`cx`,String(n.x(a))),o.setAttribute(`cy`,String(n.y(t.actual))),o.setAttribute(`r`,String(r)),o.setAttribute(`fill`,RB(t.competitiveness));let s=document.createElementNS(xB,`title`);s.textContent=`Round ${t.roundNumber}: ${NB(t.actual)} · ${t.competitiveness??`unclassified`}`,o.appendChild(s),i&&(o.addEventListener(`mouseenter`,e=>i(t,a,e)),o.addEventListener(`mousemove`,e=>i(t,a,e))),e.appendChild(o)})}function BB({group:e,geometry:t}){let[n,r]=t.yDomain,i=VB(Math.max(Math.abs(n),Math.abs(r)));for(let a of[-i,i]){if(a<n||a>r)continue;let i=MB(`line`,`chc-pc__tick`);i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(t.innerWidth)),i.setAttribute(`y1`,String(t.y(a))),i.setAttribute(`y2`,String(t.y(a))),e.appendChild(i);let o=MB(`text`,`chc-pc__tick-label`);o.setAttribute(`x`,`-6`),o.setAttribute(`y`,String(t.y(a))),o.setAttribute(SB,`end`),o.setAttribute(CB,TB),o.textContent=NB(a),e.appendChild(o)}}function VB(e){if(!Number.isFinite(e)||e<=0)return 1;let t=e/2,n=10**Math.floor(Math.log10(t)),r=t/n;return(r>=5&&5||r>=2&&2||1)*n}function HB({group:e,points:t,geometry:n,options:r}){let i=MB(`line`,`chc-pc__zero`);if(i.setAttribute(`x1`,`0`),i.setAttribute(`x2`,String(n.innerWidth)),i.setAttribute(`y1`,String(n.y(0))),i.setAttribute(`y2`,String(n.y(0))),e.appendChild(i),r.spark)return;BB({group:e,geometry:n});let a=MB(`text`,`chc-pc__axis-label`);a.setAttribute(`x`,String(n.innerWidth+6)),a.setAttribute(`y`,String(n.y(0))),a.setAttribute(CB,TB),a.textContent=`even`,e.appendChild(a);let o=r.roundLabels??jB;t.forEach((r,i)=>{let a=MB(`text`,`chc-pc__round-label`);if(a.setAttribute(`x`,String(n.x(i))),a.setAttribute(`y`,String(n.innerHeight+16)),a.setAttribute(SB,TB),a.textContent=o(r.roundNumber,i,t.length),e.appendChild(a),r.bye){let t=MB(`text`,`chc-pc__bye`);t.setAttribute(`x`,String(n.x(i))),t.setAttribute(`y`,String(n.y(0)-8)),t.setAttribute(SB,TB),t.textContent=`bye`,e.appendChild(t)}});let s=MB(`text`,`chc-pc__axis-label`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,`-4`),s.textContent=r.scaleName?`opponent strength vs own (${r.scaleName}, ELO-equivalent)`:`opponent strength vs own`,e.appendChild(s)}function UB({group:e,points:t,geometry:n}){let r=[...t].reverse().find(e=>e.projected.expected!==null),i=[...t].reverse().find(e=>e.actual!==null);if(r){let i=t.indexOf(r),a=MB(`text`,`chc-pc__series-label`);a.setAttribute(`x`,String(n.x(i)+8)),a.setAttribute(`y`,String(n.y(r.projected.expected))),a.setAttribute(CB,TB),a.setAttribute(`fill`,`var(--chc-pc-projected)`),a.textContent=`projected`,e.appendChild(a)}if(i){let r=t.indexOf(i),a=r<t.length-1,o=MB(`text`,`chc-pc__series-label`);o.setAttribute(`x`,String(n.x(r)+8)),o.setAttribute(`y`,String(n.y(i.actual)+(a?-12:0))),o.setAttribute(CB,TB),o.textContent=`actual`,e.appendChild(o)}}function WB(){let e=document.createElement(`div`);e.className=`chc-pc__legend`;for(let[t,n]of[[`chc-pc__legend-swatch chc-pc__legend-swatch--band`,`possible opponents`],[`chc-pc__legend-swatch chc-pc__legend-swatch--projected`,`projected`],[`chc-pc__legend-swatch chc-pc__legend-swatch--line`,`actual`]]){let r=document.createElement(`span`);r.className=`chc-pc__legend-item`;let i=document.createElement(`span`);i.className=t,r.append(i,document.createTextNode(n)),e.appendChild(r)}for(let t of[`COMPETITIVE`,`ROUTINE`,`DECISIVE`]){let n=document.createElement(`span`);n.className=`chc-pc__legend-item`;let r=document.createElement(`span`);r.className=`chc-pc__legend-swatch`,r.style.background=YR(t),n.append(r,document.createTextNode(t.toLowerCase())),e.appendChild(n)}return e}function GB(){let e=document.createElement(`div`);return e.className=`chc-pc__tooltip`,e.dataset.visible=`false`,e}function KB(e,t){let n=document.createElement(`div`);n.className=`chc-pc__tooltip-row`;let r=document.createElement(`span`);r.textContent=e;let i=document.createElement(`span`);return i.textContent=t,n.append(r,i),n}function qB(e,t){e.replaceChildren();let n=document.createElement(`div`);n.className=`chc-pc__tooltip-title`,n.textContent=`Round ${t.roundNumber}`,e.appendChild(n),t.actual!==null&&e.appendChild(KB(`faced`,NB(t.actual))),t.competitiveness&&e.appendChild(KB(`scoreline`,t.competitiveness.toLowerCase())),t.won!==void 0&&e.appendChild(KB(`result`,t.won?`won`:`lost`)),t.projected.expected!==null&&e.appendChild(KB(`projected`,NB(t.projected.expected))),t.projected.low!==null&&t.projected.high!==null&&e.appendChild(KB(`range`,`${NB(t.projected.low)} … ${NB(t.projected.high)}`)),e.appendChild(KB(`reach`,`${Math.round(t.reachProbability*100)}%`))}function JB(e){let t=document.createElement(`div`);return t.className=`chc-pc__empty`,t.textContent=e,t}function YB(e,t,n={}){let r=document.createElement(`div`);r.className=`chc-pc`,e.appendChild(r);let i=GB();function a(e,t){r.replaceChildren();let n=e?.points??[];if(!e||!n.length||!e.rating){r.appendChild(JB(t.emptyMessage??`No rating data for this draw, so no pressure to plot.`));return}let a=t.width??EB,o=t.height??DB,s=FB(n,t),c=MB(`svg`,`chc-pc__svg`);c.setAttribute(`width`,String(a)),c.setAttribute(`height`,String(o)),c.setAttribute(`viewBox`,`0 0 ${a} ${o}`),c.setAttribute(`role`,`img`),c.setAttribute(`aria-label`,t.ariaLabel??`Projected and actual opponent difficulty by round for ${e.participantName??e.participantId}`);let l=MB(`g`);l.setAttribute(`transform`,`translate(${s.margin.left}, ${s.margin.top})`),c.appendChild(l),IB(l,n,s),HB({group:l,points:n,geometry:s,options:t}),LB({group:l,points:n,geometry:s,className:`chc-pc__projected-line`,accessor:e=>e.projected.expected}),LB({group:l,points:n,geometry:s,className:`chc-pc__actual-line`,accessor:e=>e.actual}),zB({group:l,points:n,geometry:s,radius:t.spark?AB:kB,onHover:t.spark?void 0:(e,t,n)=>{qB(i,e),i.dataset.visible=`true`,i.style.left=`${n.offsetX+12}px`,i.style.top=`${n.offsetY+12}px`}}),t.spark||UB({group:l,points:n,geometry:s}),r.appendChild(c),t.spark||(r.appendChild(i),t.showLegend!==!1&&r.appendChild(WB()),r.addEventListener(`mouseleave`,()=>{i.dataset.visible=`false`}))}return a(t,n),{element:r,update:(e,t)=>a(e,{...n,...t}),destroy:()=>{cj(r).remove()}}}var XB={NO_MATCHUPS:`NO_MATCHUPS`,NOT_ELIMINATION:`NOT_ELIMINATION`,NO_RATINGS:`NO_RATINGS`};function ZB(e){return{participantId:e?.participant?.participantId??e?.participantId,participant:e?.participant,drawPosition:e?.drawPosition,bye:!!e?.bye}}function QB(e){let t=e?.roundNumber,n=e?.roundPosition;if(typeof t!=`number`||typeof n!=`number`)return null;let r=Array.isArray(e.sides)?e.sides:[],i=r.find(e=>e?.sideNumber===1)??r[0],a=r.find(e=>e?.sideNumber===2)??r[1];return{matchUpId:e.matchUpId,roundNumber:t,roundPosition:n,sides:[ZB(i),ZB(a)],winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,raw:e}}function $B(e){if(!Array.isArray(e)||!e.length)return{unsupported:XB.NO_MATCHUPS};let t=new Map;for(let n of e){let e=QB(n);if(!e)continue;let r=t.get(e.roundNumber)??new Map;r.set(e.roundPosition,e),t.set(e.roundNumber,r)}let n=[...t.keys()].toSorted((e,t)=>e-t);if(!n.length)return{unsupported:XB.NOT_ELIMINATION};let r=n[0];for(let e=1;e<n.length;e+=1){let r=t.get(n[e-1])?.size??0,i=t.get(n[e])?.size??0;if(n[e]!==n[e-1]+1||i*2!==r)return{unsupported:XB.NOT_ELIMINATION}}return n.length===1&&(t.get(r)?.size??0)>1?{unsupported:XB.NOT_ELIMINATION}:{graph:{roundNumbers:n,byRound:t,firstRound:r}}}function eV(e){return[e*2-1,e*2]}function tV(e){return e.matchUpStatus===`BYE`||e.sides.some(e=>e.bye)}var{ELO:nV}=t.ratingConstants,rV=`SINGLES`,iV=`DOUBLES`;function aV(){return t.fixtures?.ratingsParameters??{}}function oV({value:e,sourceRange:t,targetRange:n}){if(!Array.isArray(t)||t.length!==2||!Array.isArray(n)||n.length!==2)return 0;let r=Math.min(...t),i=Math.max(...t),a=Math.min(...n),o=Math.max(...n);return i===r?a:(e-r)*(o-a)/(i-r)+a}function sV({scaleName:e,value:t}){if(typeof t!=`number`||Number.isNaN(t))return;if(e===nV)return t;let n=e?aV()[e]?.range:void 0;if(!n)return;let r=aV()[nV]?.range;if(r)return oV({value:n[0]>n[1]?n[0]-t:t,sourceRange:n,targetRange:r})}function cV(e){if(typeof e==`number`)return Number.isNaN(e)?void 0:e;if(typeof e!=`string`||!e.trim())return;let t=Number.parseFloat(e);return Number.isNaN(t)?void 0:t}function lV(e,t){let n=cV(t);if(n!==void 0)return n;if(!t||typeof t!=`object`)return;let r=aV()[e],i=[r?.accessor,...r?.accessors??[]].filter(Boolean);for(let e of i){let n=cV(t[e]);if(n!==void 0)return n}}function uV({participant:e,matchUpType:t,preferredScaleName:n}){let r=t===iV?iV:rV,i=e?.ratings?.[r];if(!Array.isArray(i)||!i.length)return null;let a=(n&&i.find(e=>e?.scaleName===n))??i.find(e=>typeof e?.scaleName==`string`);if(!a?.scaleName)return null;let o=lV(a.scaleName,a.scaleValue);if(o===void 0)return null;let s=sV({scaleName:a.scaleName,value:o});return s===void 0?null:{elo:s,scaleName:a.scaleName,sourceValue:o}}function dV(e){let t=new Map;for(let n of e)n&&t.set(n.scaleName,(t.get(n.scaleName)??0)+1);if(t.size)return[...t.entries()].toSorted((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0],`en`))[0][0]}function fV(e,t,n){let r=n?.divisor??400;return r?1/(1+10**((t-e)/r)):.5}function pV(e,t,n){return e===null||t===null?.5:fV(e,t,n)}function mV(e){return e.sides.map(e=>e.bye?void 0:e.participantId)}function hV(e,t){let n=new Map,[r,i]=mV(e);if(t.respectResults&&e.winningSide){let t=mV(e)[e.winningSide-1];return t&&n.set(t,1),n}if(r&&!i)n.set(r,1);else if(i&&!r)n.set(i,1);else if(r&&i){let e=pV(t.eloOf.get(r)??null,t.eloOf.get(i)??null,t.model);n.set(r,e),n.set(i,1-e)}return n}function gV(e,t,n){if(!t.size)return 1;let r=0;for(let[i,a]of t)r+=a*pV(n.eloOf.get(e)??null,n.eloOf.get(i)??null,n.model);return r}function _V(e,t,n){let r=new Map;if(!e.size)return new Map(t);if(!t.size)return new Map(e);for(let[i,a]of e)r.set(i,a*gV(i,t,n));for(let[i,a]of t)r.set(i,a*gV(i,e,n));return r}function vV(e,t,n){if(n.respectResults&&e.winningSide){let t=mV(e)[e.winningSide-1];if(t)return new Map([[t,1]])}return _V(t[0],t[1],n)}function yV(e,t){let n=new Map;for(let r of e.roundNumbers){let i=e.byRound.get(r),a=new Map;if(i){for(let[o,s]of i){if(r===e.firstRound){a.set(o,hV(s,t));continue}let i=n.get(r-1),[c,l]=eV(o),u=[i?.get(c)??new Map,i?.get(l)??new Map];a.set(o,vV(s,u,t))}n.set(r,a)}}return n}function bV({opponents:e,context:t,names:n,rangeThreshold:r}){let i=0,a=0,o=[],s=[];for(let[c,l]of e){let e=t.eloOf.get(c)??null;s.push({participantId:c,participantName:n.get(c),probability:l,elo:e}),e!==null&&(i+=l,a+=l*e,l>=r&&o.push(e))}return{expectedOpponentElo:i?a/i:null,opponentEloRange:o.length?[Math.min(...o),Math.max(...o)]:null,possibleOpponentCount:e.size,possibleOpponents:s.toSorted((e,t)=>t.probability-e.probability||e.participantId.localeCompare(t.participantId,`en`))}}function xV({graph:e,winners:t,roundNumber:n,feederPosition:r}){if(n===e.firstRound)return new Map;let i=r%2==1?r+1:r-1;return t.get(n-1)?.get(i)??new Map}function SV(e,t){let n=new Map;for(let r of e.sides)!r.bye&&r.participantId&&r.participantId!==t&&n.set(r.participantId,1);return n}function CV({participantId:e,entryMatchUp:t,graph:n,winners:r,context:i,ratings:a,names:o,rangeThreshold:s}){let c=a.get(e)??null,l=[],u=t.roundPosition,d=u,f=1;for(let t of n.roundNumbers){let a=n.byRound.get(t)?.get(u),p=t===n.firstRound&&!!a&&tV(a),m=bV({opponents:t===n.firstRound&&a?SV(a,e):xV({graph:n,winners:r,roundNumber:t,feederPosition:d}),context:i,names:o,rangeThreshold:s}),h=m.expectedOpponentElo!==null&&c?m.expectedOpponentElo-c.elo:null;l.push({roundNumber:t,reachProbability:f,expectedSignedDelta:h,resolved:m.possibleOpponentCount===1,bye:p,...m}),f=r.get(t)?.get(u)?.get(e)??0,d=u,u=Math.ceil(u/2)}return{participantId:e,participantName:t.sides.find(t=>t.participantId===e)?.participant?.participantName,drawPosition:t.sides.find(t=>t.participantId===e)?.drawPosition,rating:c,rounds:l,pathDifficulty:wV(l),slotDifficulty:TV(l),expectedMatchesPlayed:l.reduce((e,t)=>e+(t.bye?0:t.reachProbability),0)}}function wV(e){let t=0,n=0;for(let r of e)r.bye||r.expectedSignedDelta===null||(t+=r.reachProbability,n+=r.reachProbability*r.expectedSignedDelta);return t?n/t:null}function TV(e){let t=e.filter(e=>!e.bye&&e.expectedSignedDelta!==null).map(e=>e.expectedSignedDelta);return t.length?t.reduce((e,t)=>e+t,0)/t.length:null}function EV(e){let t=new Map,n=e.byRound.get(e.firstRound);if(!n)return t;for(let e of n.values())for(let n of e.sides)!n.bye&&n.participantId&&t.set(n.participantId,e);return t}function DV(e){let{graph:t,unsupported:n}=$B(e.matchUps);if(!t)return{projections:[],unsupported:n,unratedCount:0};let r=EV(t);if(!r.size)return{projections:[],unsupported:XB.NO_MATCHUPS,unratedCount:0};let i=new Map,a=new Map,o=new Map;for(let[t,n]of r){let r=n.sides.find(e=>e.participantId===t),s=uV({participant:r?.participant,matchUpType:e.matchUpType,preferredScaleName:e.scaleName});i.set(t,s),a.set(t,s?.elo??null),o.set(t,r?.participant?.participantName)}let s=[...i.values()].filter(e=>!e).length;if(s===i.size)return{projections:[],unsupported:XB.NO_RATINGS,unratedCount:s};let c={eloOf:a,model:e.model,respectResults:!!e.respectResults},l=yV(t,c),u=e.rangeThreshold??.01;return{projections:[...r.entries()].map(([e,n])=>CV({participantId:e,entryMatchUp:n,graph:t,winners:l,context:c,ratings:i,names:o,rangeThreshold:u})).toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),scaleName:dV([...i.values()]),unratedCount:s}}function OV(e){return e.raw?.competitiveProfile?.competitiveness||JR({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.raw?.score?.sets,scoreString:e.raw?.score?.scoreStringSide1})}function kV(e,t){return uV({participant:e?.participant,matchUpType:t.matchUpType,preferredScaleName:t.scaleName})}function AV({matchUp:e,participantId:t,ownElo:n,params:r}){let i=e.sides.findIndex(e=>e.participantId===t),a=e.sides[1-i],o=tV(e),s=!!e.winningSide,c=(o||!s?null:kV(a,r))?.elo??null;return{roundNumber:e.roundNumber,matchUpId:e.matchUpId,opponentParticipantId:o?void 0:a?.participantId,opponentParticipantName:o?void 0:a?.participant?.participantName,opponentElo:c,signedDelta:c!==null&&n!==null?c-n:null,competitiveness:o||!s?void 0:OV(e),won:s?e.winningSide===i+1:void 0,bye:o}}function jV(e){let{graph:t}=$B(e.matchUps);if(!t)return[];let n=new Map,r=new Map;for(let i of t.byRound.values())for(let t of i.values())for(let i of t.sides){if(i.bye||!i.participantId)continue;let a=n.get(i.participantId)??[];a.push(t),n.set(i.participantId,a),r.has(i.participantId)||r.set(i.participantId,kV(i,e))}return[...n.entries()].map(([t,n])=>{let i=r.get(t)??null,a=n.toSorted((e,t)=>e.roundNumber-t.roundNumber).map(n=>AV({matchUp:n,participantId:t,ownElo:i?.elo??null,params:e})),o=a.filter(e=>!e.bye&&e.signedDelta!==null);return{participantId:t,rating:i,rounds:a,facedDifficulty:o.length?o.reduce((e,t)=>e+t.signedDelta,0)/o.length:null,matchesPlayed:a.filter(e=>!e.bye&&e.won!==void 0).length}})}function MV(e){let t=DV(e);if(!t.projections.length)return{series:[],projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount};let n=new Map(jV({matchUps:e.matchUps,matchUpType:e.matchUpType,scaleName:e.scaleName}).map(e=>[e.participantId,e]));return{series:t.projections.map(e=>{let t=n.get(e.participantId),r=new Map((t?.rounds??[]).map(e=>[e.roundNumber,e])),i=e.rating?.elo??null,a=e.rounds.map(e=>{let t=r.get(e.roundNumber),n=e.opponentEloRange;return{roundNumber:e.roundNumber,projected:{expected:e.expectedSignedDelta,low:n&&i!==null?n[0]-i:null,high:n&&i!==null?n[1]-i:null},reachProbability:e.reachProbability,actual:t?.signedDelta??null,competitiveness:t?.competitiveness,won:t?.won,bye:e.bye||!!t?.bye,resolved:e.resolved}});return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,rating:e.rating,pathDifficulty:e.pathDifficulty,slotDifficulty:e.slotDifficulty,facedDifficulty:t?.facedDifficulty??null,points:a}}),projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount}}function NV(e){return e.toSorted((e,t)=>e.slotDifficulty===null&&t.slotDifficulty===null?(e.participantName??``).localeCompare(t.participantName??``,`en`,{numeric:!0}):e.slotDifficulty===null?1:t.slotDifficulty===null?-1:t.slotDifficulty-e.slotDifficulty)}var PV=150,FV=64;function IV(e){return PB(e.flatMap(e=>e.points))}function LV({series:e,options:t,chartOptions:n}){let r=document.createElement(`div`);r.className=`chc-psm__cell`,r.dataset.participantId=e.participantId;let i=document.createElement(`div`);return i.className=`chc-psm__label`,i.textContent=e.participantName??e.participantId,i.title=i.textContent,r.appendChild(i),YB(r,e,n),t.onSelect&&(r.classList.add(`is-clickable`),r.setAttribute(`role`,`button`),r.tabIndex=0,r.addEventListener(`click`,()=>t.onSelect?.(e)),r.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),r}function RV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-psm`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=NV(e).filter(e=>e.rating);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no pressure to plot.`,r.appendChild(e);return}let i=IV(n),a=document.createElement(`div`);a.className=`chc-psm__grid`;let o=t.limit?n.slice(0,t.limit):n;for(let e of o)a.appendChild(LV({series:e,options:t,chartOptions:{spark:!0,yDomain:i,width:t.cellWidth??PV,height:t.cellHeight??FV,scaleName:t.scaleName}}));r.appendChild(a);let s=document.createElement(`div`);s.className=`chc-psm__caption`;let c=e.length-n.length,l=[`hardest slot first · shared scale`];o.length<n.length&&l.push(`${n.length-o.length} of ${n.length} not shown`),c>0&&l.push(`${c} unrated omitted`),s.textContent=l.join(` · `),r.appendChild(s)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var zV=22,BV=460,VV=132,HV=3;function UV(e){if(e===null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function WV({series:e,options:t,scale:n,midpoint:r,barWidth:i}){let a=document.createElement(`div`);a.className=`chc-pdb__row`,a.dataset.participantId=e.participantId,a.style.height=`${t.rowHeight??zV}px`;let o=document.createElement(`span`);o.className=`chc-pdb__label`,o.style.width=`${t.labelWidth??VV}px`,o.textContent=e.participantName??e.participantId,o.title=o.textContent;let s=document.createElement(`span`);s.className=`chc-pdb__track`,s.style.width=`${i}px`;let c=document.createElement(`span`);if(c.className=`chc-pdb__zero`,c.style.left=`${r}px`,s.appendChild(c),e.slotDifficulty!==null){let t=n(e.slotDifficulty),i=document.createElement(`span`);i.className=e.slotDifficulty>=0?`chc-pdb__bar chc-pdb__bar--up`:`chc-pdb__bar chc-pdb__bar--down`,i.style.left=`${Math.min(r,t)}px`,i.style.width=`${Math.abs(t-r)}px`,i.style.borderRadius=e.slotDifficulty>=0?`0 ${HV}px ${HV}px 0`:`${HV}px 0 0 ${HV}px`,s.appendChild(i)}if(t.showActual&&e.facedDifficulty!==null){let t=document.createElement(`span`);t.className=`chc-pdb__actual`,t.style.left=`${n(e.facedDifficulty)}px`,t.title=`faced so far ${UV(e.facedDifficulty)}`,s.appendChild(t)}let l=document.createElement(`span`);return l.className=`chc-pdb__value`,l.textContent=UV(e.slotDifficulty),a.append(o,s,l),t.onSelect&&(a.classList.add(`is-clickable`),a.setAttribute(`role`,`button`),a.tabIndex=0,a.addEventListener(`click`,()=>t.onSelect?.(e)),a.addEventListener(`keydown`,n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),t.onSelect?.(e))})),a}function GV(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-pdb`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=NV(e);if(!n.length){let e=document.createElement(`div`);e.className=`chc-pc__empty`,e.textContent=t.emptyMessage??`No rating data for this draw, so no path difficulty to rank.`,r.appendChild(e);return}let i=t.width??BV,a=t.labelWidth??VV,o=Math.max(40,i-a-52),s=o/2,c=n.flatMap(e=>[e.slotDifficulty,t.showActual?e.facedDifficulty:null]).filter(e=>e!==null),l=Math.max(...c.map(e=>Math.abs(e)),1),u=e=>s+e/l*(s-4),d=t.limit?n.slice(0,t.limit):n;for(let e of d)r.appendChild(WV({series:e,options:t,scale:u,midpoint:s,barWidth:o}));let f=document.createElement(`div`);f.className=`chc-pdb__caption`;let p=n.filter(e=>e.slotDifficulty===null).length,m=[`hardest slot first`];d.length<n.length&&m.push(`${n.length-d.length} of ${n.length} not shown`),p&&m.push(`${p} unrated`),f.textContent=m.join(` · `),r.appendChild(f)}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t})}}var KV=[`Round`,`Projected`,`Range`,`Reach`,`Faced`,`Scoreline`,`Result`];function qV(e){if(e==null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function JV(e){return e.points.map(e=>{let t=e.projected.low!==null&&e.projected.high!==null?`${qV(e.projected.low)} … ${qV(e.projected.high)}`:`—`,n=`—`;return e.bye?n=`bye`:e.won!==void 0&&(n=e.won?`won`:`lost`),[`R${e.roundNumber}`,qV(e.projected.expected),t,`${Math.round(e.reachProbability*100)}%`,qV(e.actual),e.competitiveness?e.competitiveness.toLowerCase():`—`,n]})}function YV(e,t){let n=document.createElement(`table`);n.className=`chc-pc__table`;let r=document.createElement(`caption`);r.textContent=`Projected and actual opponent difficulty by round — ${t.participantName??t.participantId}`,n.appendChild(r);let i=document.createElement(`thead`),a=document.createElement(`tr`);for(let e of KV){let t=document.createElement(`th`);t.scope=`col`,t.textContent=e,a.appendChild(t)}i.appendChild(a),n.appendChild(i);let o=document.createElement(`tbody`);for(let e of JV(t)){let t=document.createElement(`tr`);e.forEach((e,n)=>{let r=document.createElement(n===0?`th`:`td`);n===0&&(r.scope=`row`),r.textContent=e,t.appendChild(r)}),o.appendChild(t)}return n.appendChild(o),e.appendChild(n),n}function XV(e){let t=e>>>0;return function(){t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function ZV(e,t){let n=XV(t),r=[...e];for(let e=r.length-1;e>0;e--){let t=Math.floor(n()*(e+1));[r[e],r[t]]=[r[t],r[e]]}return r}function QV(e,t){return t.filter((t,n)=>t===e[n]).length}function $V(e,t,n=32){if(e.length<2)return{items:[...e],seed:t,deranged:!1};let r;for(let i=0;i<n;i++){let n=t+i,a=ZV(e,n),o=QV(e,a);if(o===0)return{items:a,seed:n,deranged:!0};(!r||o<r.fixed)&&(r={items:a,seed:n,fixed:o})}return r?{items:r.items,seed:r.seed,deranged:!1}:{items:ZV(e,t),seed:t,deranged:!1}}function eH(e){let t=[];for(let n=2;n<e&&e%n===0;n*=2)t.push(n);return t}function tH(e){return e.toSorted((e,t)=>e.localeCompare(t,`en`)).join(`|`)}function nH(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(tH(e.slice(r,r+t)));return n}function rH(e,t,n){let r=new Set(nH(t,n));return nH(e,n).filter(e=>r.has(e)).length}function iH(e){return Math.floor(e*e/2)}function aH({guess:e,actual:t}){if(e.length!==t.length||new Set(e).size!==e.length)throw Error(`scoreDrawOrder: guess must be a permutation of actual`);let n=new Map(t.map((e,t)=>[e,t]));if(e.some(e=>!n.has(e)))throw Error(`scoreDrawOrder: guess contains a participantId absent from actual`);let r=t.length,i=e.map((e,t)=>{let r=n.get(e)??-1;return{slotIndex:t,participantId:e,actualIndex:r,correct:r===t}}),a=i.filter(e=>e.correct).length,o=i.reduce((e,t)=>e+Math.abs(t.slotIndex-t.actualIndex),0),s=iH(r),c=s>0?1-o/s:1,l=eH(r).map(n=>({blockSize:n,matched:rH(e,t,n),total:r/n})),u=l.reduce((e,t)=>e+t.matched,0),d=l.reduce((e,t)=>e+t.total,0);return{slots:r,exact:a,displacement:o,maxDisplacement:s,proximity:c,levels:l,blocksMatched:u,blocksTotal:d,structureScore:Math.round(d>0?100*u/d:100*c),structurePerfect:d>0&&u===d,perfect:a===r,slotResults:i}}function oH({actualOrder:e,seed:t}){let n=$V(e,t);return{actualOrder:[...e],order:n.items,seed:n.seed,deranged:n.deranged,revealed:!1,score:null,moves:0}}function sH(e,t){return Number.isInteger(t)&&t>=0&&t<e.order.length}function cH(e,t,n){if(e.revealed||t===n||!sH(e,t)||!sH(e,n))return e;let r=[...e.order],[i]=r.splice(t,1);return r.splice(n,0,i),{...e,order:r,moves:e.moves+1}}function lH(e,t,n){if(e.revealed||t===n||!sH(e,t)||!sH(e,n))return e;let r=[...e.order];return[r[t],r[n]]=[r[n],r[t]],{...e,order:r,moves:e.moves+1}}function uH(e){return e.revealed?e:{...e,revealed:!0,score:aH({guess:e.order,actual:e.actualOrder})}}function dH(e,t){return oH({actualOrder:e.actualOrder,seed:t})}var fH=[.25,.75];function pH(e,t){if(!e.length)return null;let n=e.reduce((e,t)=>e+t.weight,0);if(!(n>0))return e[0].value;let r=t*n,i=0;for(let t of e)if(i+=t.weight,i>=r)return t.value;return e[e.length-1].value}function mH(e,t=fH){let n=e.filter(e=>typeof e.elo==`number`).map(e=>({value:e.elo,weight:Math.max(0,e.probability)})).toSorted((e,t)=>e.value-t.value);if(!n.length)return null;let r=pH(n,t[0]),i=pH(n,t[1]);return r===null||i===null?null:{outerLow:n[0].value,outerHigh:n[n.length-1].value,innerLow:Math.min(r,i),innerHigh:Math.max(r,i)}}var hH={PROJECTED:`projected`,ACTUAL:`actual`},gH={HARD:`hard`,EASY:`easy`},_H=60;function vH(e,t){return t===hH.ACTUAL&&e.actual!==null&&e.actual!==void 0?{value:e.actual,fromActual:!0}:{value:e.projected.expected,fromActual:!1}}function yH({magnitude:e,bands:t=4,domainMax:n}){if(!(n>0)||!(e>0)||t<1)return{layers:[],clipped:!1};let r=n/t,i=[];for(let n=0;n<t;n++){let t=e-n*r;if(t<=0)break;i.push({bandIndex:n,fraction:Math.min(1,t/r)})}return{layers:i,clipped:e>n}}function bH(e,t){let n=e.flatMap(e=>e.points.map(e=>vH(e,t).value).filter(e=>e!==null).map(Math.abs));return n.length?Math.max(60,...n):60}function xH({point:e,ownElo:t,round:n}){if(t!==null&&n?.possibleOpponents?.length){let e=mH(n.possibleOpponents);if(e)return{outerLow:e.outerLow-t,outerHigh:e.outerHigh-t,innerLow:e.innerLow-t,innerHigh:e.innerHigh-t,weighted:!0}}let{low:r,high:i}=e.projected;return r===null||i===null?null:{outerLow:r,outerHigh:i,innerLow:r,innerHigh:i,weighted:!1}}function SH(e,t){return{roundNumber:e,value:null,direction:null,layers:[],clipped:!1,fromActual:!1,reachProbability:t?.reachProbability??0,bye:!!t?.bye,resolved:!!t?.resolved,spread:null}}function CH(e){return e>=0?gH.HARD:gH.EASY}function wH({roundNumber:e,point:t,source:n,bands:r,domainMax:i,ownElo:a,round:o}){if(!t||t.bye)return SH(e,t);let{value:s,fromActual:c}=vH(t,n);if(s===null)return SH(e,t);let{layers:l,clipped:u}=yH({magnitude:Math.abs(s),bands:r,domainMax:i});return{roundNumber:e,value:s,direction:CH(s),layers:l,clipped:u,fromActual:c,reachProbability:t.reachProbability,bye:!1,resolved:t.resolved,spread:xH({point:t,ownElo:a,round:o})}}function TH(e){let t=new Map;for(let n of e?.projections??[])t.set(n.participantId,new Map(n.rounds.map(e=>[e.roundNumber,e])));return t}function EH({series:e,source:t=hH.PROJECTED,bands:n=4,domainMax:r,projection:i}){let a=[...new Set(e.flatMap(e=>e.points.map(e=>e.roundNumber)))].toSorted((e,t)=>e-t),o=r??bH(e,t),s=TH(i),c=e.map(e=>{let r=new Map(e.points.map(e=>[e.roundNumber,e])),i=s.get(e.participantId);return{participantId:e.participantId,participantName:e.participantName,drawPosition:e.drawPosition,cells:a.map(a=>wH({roundNumber:a,point:r.get(a),source:t,bands:n,domainMax:o,ownElo:e.rating?.elo??null,round:i?.get(a)}))}});return{rows:c,roundNumbers:a,domainMax:o,bands:n,clippedCells:c.flatMap(e=>e.cells).filter(e=>e.clipped).length}}var DH=`http://www.w3.org/2000/svg`,OH=`class`,kH=`path`,AH=0,jH=1.5;function MH(e,t){let n=document.createElementNS(DH,e);return t&&n.setAttribute(OH,t),n}function NH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function PH(e){let t=e.layers.at(-1);return!t||!e.direction?`chc-ph__stop--none`:`chc-ph__stop--${e.direction}-${t.bandIndex}`}function FH(e,t,n,r){let i=MH(`linearGradient`);if(i.setAttribute(`id`,r),i.setAttribute(`gradientUnits`,`userSpaceOnUse`),i.setAttribute(`x1`,`0`),i.setAttribute(`y1`,`0`),i.setAttribute(`x2`,String(n)),i.setAttribute(`y2`,`0`),e.forEach((e,r)=>{let a=MH(`stop`,PH(e));a.setAttribute(`offset`,String(n>0?t(r)/n:0)),i.appendChild(a)}),e.length===1){let t=MH(`stop`,PH(e[0]));t.setAttribute(`offset`,`1`),i.appendChild(t)}return i}function IH(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=n?` ${n}-equivalent`:``,i=e.fromActual?`faced`:`projected`,a=e.spread?` · likely ${NH(e.spread.innerLow)} to ${NH(e.spread.innerHigh)}${e.spread.weighted?``:` (unweighted range)`}`:``,o=e.clipped?` · capped at the top band`:``;return`${t}: ${i} ${NH(e.value)}${r}${a}${o}`}function LH(e,t){let{width:n,height:r,domainMax:i,bands:a=4,positionBands:o=2,describe:s=!1,roundLabels:c,scaleName:l,showZeroLine:u=!0}=t,d=Math.max(1,e.cells.length),f=n/d,p=e=>(e+.5)*f,m=r/2,h=Math.max(1,r/2-jH),g=Math.max(1e-9,i/Math.max(1,a)*o),_=e=>m-Math.max(-1,Math.min(1,e/g))*h,v=MH(`svg`,`chc-ph__svg`);v.setAttribute(`width`,String(n)),v.setAttribute(`height`,String(r)),v.setAttribute(`viewBox`,`0 0 ${n} ${r}`),v.setAttribute(`role`,`img`),v.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),AH+=1;let y=`chc-ph-grad-${AH}`,b=MH(`defs`);if(b.appendChild(FH(e.cells,p,n,y)),v.appendChild(b),u){let e=MH(`line`,`chc-ph__zero`);e.setAttribute(`x1`,`0`),e.setAttribute(`x2`,String(n)),e.setAttribute(`y1`,String(m)),e.setAttribute(`y2`,String(m)),v.appendChild(e)}let x=e.cells.map((e,t)=>({cell:e,index:t})),S=`url(#${y})`;for(let[e,t]of[[`outer`,`chc-ph__fan chc-ph__fan--outer`],[`inner`,`chc-ph__fan chc-ph__fan--inner`]]){let n=TR().curve(jR).defined(e=>e.cell.spread!==null).x(e=>p(e.index)).y0(t=>_(e===`outer`?t.cell.spread?.outerLow??0:t.cell.spread?.innerLow??0)).y1(t=>_(e===`outer`?t.cell.spread?.outerHigh??0:t.cell.spread?.innerHigh??0))(x);if(!n)continue;let r=MH(kH,t);r.setAttribute(`d`,n),r.setAttribute(`fill`,S),v.appendChild(r)}let C=wR().curve(jR).defined(e=>e.cell.value!==null).x(e=>p(e.index)).y(e=>_(e.cell.value??0))(x);if(C){let e=MH(kH,`chc-ph__trace`);e.setAttribute(`d`,C),e.setAttribute(`stroke`,S),v.appendChild(e)}return s&&e.cells.forEach((e,t)=>{let n=MH(`rect`,`chc-ph__hit`);n.setAttribute(`x`,String(t*f)),n.setAttribute(`y`,`0`),n.setAttribute(`width`,String(f)),n.setAttribute(`height`,String(r));let i=c?.(e.roundNumber,t,d)??`R${t+1}`,a=MH(`title`);a.textContent=IH(e,i,l),n.appendChild(a),v.appendChild(n)}),v}var RH=`http://www.w3.org/2000/svg`,zH=`class`,BH=`rect`,VH=`chc-ph__wall`,HH=2,UH=5,WH=2,GH=2;function KH(e,t){let n=document.createElementNS(RH,e);return t&&n.setAttribute(zH,t),n}function qH(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function JH(e,t,n){if(e.bye)return`${t}: bye`;if(e.value===null)return`${t}: no rated opponent`;let r=e.fromActual?`faced`:`projected`,i=n?` ${n}-equivalent`:``,a=e.clipped?` (capped at the top band)`:``;return`${t}: ${r} ${qH(e.value)}${i}${a}`}function YH({group:e,cell:t,columnWidth:n,height:r}){if(!t.layers.length){let t=KH(BH,`${VH} ${VH}--none`);t.setAttribute(`x`,`0`),t.setAttribute(`y`,String((r-GH)/2)),t.setAttribute(`width`,String(n)),t.setAttribute(`height`,String(GH)),e.appendChild(t);return}let i=t.direction===gH.HARD;for(let a of t.layers){let o=Math.max(1,a.fraction*r),s=KH(BH,`${VH} ${VH}--${t.direction}-${a.bandIndex}`);s.setAttribute(`x`,`0`),s.setAttribute(`y`,String(i?r-o:0)),s.setAttribute(`width`,String(n)),s.setAttribute(`height`,String(o)),o>=UH&&s.setAttribute(`rx`,String(WH)),e.appendChild(s)}}function XH(e,t){let{width:n,height:r,gap:i=HH,describe:a=!1,roundLabels:o,scaleName:s}=t,c=Math.max(1,e.cells.length),l=Math.max(1,(n-i*(c-1))/c),u=KH(`svg`,`chc-ph__svg`);return u.setAttribute(`width`,String(n)),u.setAttribute(`height`,String(r)),u.setAttribute(`viewBox`,`0 0 ${n} ${r}`),u.setAttribute(`role`,`img`),u.setAttribute(`aria-label`,t.ariaLabel??`Projected round-by-round path for ${e.participantName??e.participantId}`),e.cells.forEach((e,t)=>{let n=KH(`g`,`chc-ph__column`);if(n.setAttribute(`transform`,`translate(${t*(l+i)},0)`),YH({group:n,cell:e,columnWidth:l,height:r}),a){let r=o?.(e.roundNumber,t,c)??`R${t+1}`,i=KH(`title`);i.textContent=JH(e,r,s),n.appendChild(i)}u.appendChild(n)}),u}var ZH=`http://www.w3.org/2000/svg`,QH=12,$H=2,eU={walls:[`playing up — wall rises from the baseline`,`playing down — wall hangs from the top`],ribbon:[`playing up — trace above the centre line`,`playing down — trace below the centre line`]},tU=[gH.HARD,gH.EASY];function nU(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function rU(e,t,n=!1){let r=QH*t+(t-1)*$H,i=document.createElementNS(ZH,`svg`);i.setAttribute(`class`,`chc-ph__swatch`),i.setAttribute(`width`,String(r)),i.setAttribute(`height`,String(QH)),i.setAttribute(`viewBox`,`0 0 ${r} ${QH}`),i.setAttribute(`aria-hidden`,`true`);for(let r=0;r<t;r++){let a=QH*((r+1)/t),o=n?a/2:a,s=document.createElementNS(ZH,`rect`);s.setAttribute(`class`,`chc-ph__wall chc-ph__wall--${e}-${r}`),s.setAttribute(`x`,String(r*14));let c=e===gH.HARD,l=QH/2;s.setAttribute(`y`,String(n?c?l-o:l:c?QH-o:0)),s.setAttribute(`width`,String(QH)),s.setAttribute(`height`,String(o)),i.appendChild(s)}return i}function iU(e,t){return e===`ribbon`?`The line is the expected opponent; the shading is who could actually arrive — solid for the likely middle, faint for the full range. Deeper colour means a larger ${t} gap.`:`Deeper, darker bands mean a larger ${t} gap. Rows share one domain.`}function aU({bands:e,scaleName:t,note:n,variant:r}){let i=nU(`div`,`chc-ph__legend`),a=r===`ribbon`,o=eU[a?`ribbon`:`walls`];for(let[t,n]of tU.entries()){let r=nU(`div`,`chc-ph__legend-item`);r.appendChild(rU(n,e,a));let s=nU(`span`,`chc-ph__legend-label`);s.textContent=o[t],r.appendChild(s),i.appendChild(r)}let s=t?`${t}-equivalent rating`:`rating`,c=nU(`div`,`chc-ph__legend-note`);return c.textContent=n??iU(r,s),i.appendChild(c),i}var oU=`chc-ph`,sU=`chc-ph__row`,cU=520,lU=132,uU={walls:16,ribbon:28},dU=2,fU={DRAW:`draw`,DIFFICULTY:`difficulty`},pU={WALLS:`walls`,RIBBON:`ribbon`};function mU(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function hU(e,t){return t===fU.DIFFICULTY?NV(e):e.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0))}function gU({roundNumbers:e,width:t,columnGap:n,labelWidth:r,roundLabels:i}){let a=mU(`div`,`chc-ph__head`),o=mU(`div`,`chc-ph__label`);o.style.width=`${r}px`,a.appendChild(o);let s=mU(`div`,`chc-ph__rounds`);s.style.width=`${t}px`,s.style.gap=`${n}px`;for(let[t,n]of e.entries()){let r=mU(`span`,`chc-ph__round-label`);r.textContent=i(n,t,e.length),s.appendChild(r)}return a.appendChild(s),a}function _U(e,t,n){e.classList.add(`is-clickable`),e.setAttribute(`role`,`button`),e.tabIndex=0,e.addEventListener(`click`,()=>n(t)),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(t))})}function vU(e,{variant:t,width:n,rowHeight:r,columnGap:i,roundLabels:a,scaleName:o,domainMax:s,bands:c}){return t===pU.RIBBON?LH(e,{width:n,height:r,domainMax:s,bands:c,positionBands:dU,describe:!0,roundLabels:a,scaleName:o}):XH(e,{width:n,height:r,gap:i,describe:!0,roundLabels:a,scaleName:o})}function yU({shown:e,ordered:t,dropped:n,domainMax:r,bands:i,clippedCells:a,order:o,variant:s,unweightedFan:c}){let l=mU(`div`,`chc-ph__caption`),u=[`${e} paths · ${o===fU.DRAW?`draw order`:`hardest slot first`}`,`shared domain ±${Math.round(r)} · ${i} bands`];return s===pU.RIBBON&&u.push(`trace saturates past ${dU} of ${i} bands — colour carries the rest`),s===pU.RIBBON&&c&&u.push("fan is the unweighted 1%-threshold range — pass `projection` to weight it"),e<t&&u.push(`${t-e} of ${t} not shown`),n>0&&u.push(`${n} unrated omitted`),a>0&&u.push(`${a} walls capped at the top band`),l.textContent=u.join(` · `),l}function bU(e,t=[],n={}){let r=mU(`div`,oU);e.appendChild(r);function i(e,t){r.replaceChildren();let{width:n=cU,variant:i=pU.WALLS,rowHeight:a=uU[i],rowGap:o=2,columnGap:s=2,bands:c,source:l=hH.PROJECTED,domainMax:u,showLabels:d=!0,showLegend:f=!0,showRoundHeader:p=!0,order:m=fU.DRAW,limit:h,scaleName:g,onSelect:_,projection:v,roundLabels:y=jB}=t,b=e.filter(e=>e.rating);if(!b.length){let e=mU(`div`,`chc-ph__empty`);e.textContent=t.emptyMessage??`No rating data for this draw, so there is no pressure to plot.`,r.appendChild(e);return}let x=hU(b,m),S=h?x.slice(0,h):x,C=EH({series:S,source:l,bands:c,domainMax:u,projection:v}),w=d?t.labelWidth??lU:0;p&&r.appendChild(gU({roundNumbers:C.roundNumbers,width:n,columnGap:s,labelWidth:w,roundLabels:y}));let T=mU(`div`,`chc-ph__rows`);T.style.gap=`${o}px`;for(let[e,t]of C.rows.entries()){let r=S[e],o=mU(`div`,sU);if(o.dataset.participantId=t.participantId,d){let e=mU(`div`,`chc-ph__label`);e.style.width=`${w}px`,e.textContent=`${t.drawPosition?`${t.drawPosition}. `:``}${t.participantName??t.participantId}`,e.title=e.textContent,o.appendChild(e)}o.appendChild(vU(t,{variant:i,width:n,rowHeight:a,columnGap:s,roundLabels:y,scaleName:g,domainMax:C.domainMax,bands:C.bands})),_&&_U(o,r,_),T.appendChild(o)}r.appendChild(T),f&&r.appendChild(aU({bands:C.bands,scaleName:g,variant:i})),r.appendChild(yU({shown:S.length,ordered:x.length,dropped:e.length-b.length,domainMax:C.domainMax,bands:C.bands,clippedCells:C.clippedCells,order:m,variant:i,unweightedFan:C.rows.some(e=>e.cells.some(e=>e.spread&&!e.spread.weighted))}))}return i(t,n),{element:r,update:(e,t)=>i(e,{...n,...t}),destroy:()=>r.remove()}}var xU=`chc-dog`,SU=`chc-dog__row`,CU=`application/x-chc-draw-slot`,wU=`button`,TU=`is-drop-target`,EU=`New board dealt`,DU=460,OU={walls:20,ribbon:30},kU=20260831;function AU(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function jU(e,t){let n=document.createElement(wU);return n.type=wU,n.className=`chc-dog__button`,n.textContent=e,n.addEventListener(`click`,t),n}function MU(e,t){return e===2?`first-round pairs`:e===t/2?`halves`:e===t/4?`quarters`:`groups of ${e}`}function NU(e){let t=AU(`div`,`chc-dog__score`),n=AU(`div`,`chc-dog__score-headline`);n.textContent=`${e.structureScore}%`,t.appendChild(n);let r=AU(`div`,`chc-dog__score-summary`);r.textContent=e.structurePerfect?`Every grouping in the real draw — you rebuilt the bracket.`:`${e.blocksMatched} of ${e.blocksTotal} real groupings recovered.`,t.appendChild(r);let i=AU(`ul`,`chc-dog__score-levels`);for(let t of e.levels){let n=AU(`li`);n.textContent=`${MU(t.blockSize,e.slots)}: ${t.matched}/${t.total}`,i.appendChild(n)}t.appendChild(i);let a=AU(`div`,`chc-dog__score-exact`);a.textContent=`${e.exact}/${e.slots} rows in the exact slot.`,t.appendChild(a);let o=AU(`div`,`chc-dog__score-note`);return o.textContent=`A draw sheet is mirror-symmetric — swapping two halves, two quarters or the two players in a pair gives the same bracket with different slot numbers. The headline counts groupings, which survive that; exact slots do not, so a low exact count beside a high headline means you had the draw right and the sheet flipped.`,t.appendChild(o),t}function PU(e,t=[],n={}){let r=AU(`div`,xU);e.appendChild(r);let{width:i=DU,rowHeight:a=OU[n.variant??pU.WALLS],rowGap:o=2,columnGap:s=2,bands:c,variant:l=pU.WALLS,projection:u,scaleName:d,limit:f,roundLabels:p=jB,onComplete:m}=n,h=t.filter(e=>e.rating&&e.drawPosition!==void 0),g=t.length-h.length,_=h.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0)),v=f?_.slice(0,f):_,y=EH({series:v,source:hH.PROJECTED,bands:c,projection:u}),b=new Map(y.rows.map(e=>[e.participantId,e])),x=new Map(v.map(e=>[e.participantId,e])),S=oH({actualOrder:v.map(e=>e.participantId),seed:n.seed??kU}),C=null,w=null,T=AU(`div`,`chc-dog__live`);T.setAttribute(`aria-live`,`polite`);function E(e){T.textContent=e}function D(e,t){let n=e!==S;S=e,F(),t&&n&&E(t),S.revealed&&S.score&&m?.(S.score,S)}function O(e,t){let n=b.get(e),r=AU(`div`,SU);r.dataset.slot=String(t),r.tabIndex=0,r.setAttribute(`role`,`listitem`),r.setAttribute(`aria-label`,`Slot ${t+1} of ${S.order.length}`);let o=AU(`div`,`chc-dog__slot`);if(o.textContent=String(t+1),r.appendChild(o),n){let e=l===pU.RIBBON?LH(n,{width:i,height:a,domainMax:y.domainMax,bands:y.bands,describe:!1,ariaLabel:`Path in slot ${t+1}`}):XH(n,{width:i,height:a,gap:s,describe:!1,ariaLabel:`Path in slot ${t+1}`});r.appendChild(e)}if(S.revealed){let n=x.get(e),i=S.score?.slotResults[t],a=AU(`div`,`chc-dog__reveal${i?.correct?` is-correct`:``}`),o=(i?.actualIndex??0)+1;a.textContent=`${n?.participantName??e} · really ${o}`,r.appendChild(a)}else r.draggable=!0,k(r,t),A(r,t);return r}function k(e,t){e.addEventListener(`dragstart`,n=>{C=t,e.classList.add(`is-dragging`),n.dataTransfer?.setData(CU,String(t)),n.dataTransfer&&(n.dataTransfer.effectAllowed=`move`)}),e.addEventListener(`dragend`,()=>{C=null,e.classList.remove(`is-dragging`)}),e.addEventListener(`dragover`,t=>{t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),e.classList.add(TU)}),e.addEventListener(`dragleave`,()=>e.classList.remove(TU)),e.addEventListener(`drop`,n=>{n.preventDefault(),e.classList.remove(TU);let r=n.dataTransfer?.getData(CU),i=r?Number.parseInt(r,10):C;i===null||Number.isNaN(i)||(w=t,D(cH(S,i,t),`Moved slot ${i+1} to slot ${t+1}`))})}function A(e,t){e.addEventListener(`keydown`,e=>{if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let n=t+(e.key===`ArrowUp`?-1:1);n<0||n>=S.order.length||(e.preventDefault(),w=n,e.altKey||e.metaKey?D(lH(S,t,n),`Slot ${t+1} swapped with slot ${n+1}`):j(n))})}function j(e){r.querySelector(`.${SU}[data-slot="${e}"]`)?.focus()}function M(){let e=AU(`div`,`chc-dog__toolbar`);S.revealed?e.appendChild(jU(`Play again`,()=>D(dH(S,S.seed+1),EU))):(e.appendChild(jU(`Check my order`,()=>D(uH(S)))),e.appendChild(jU(`Shuffle`,()=>D(dH(S,S.seed+1),EU))));let t=AU(`span`,`chc-dog__meta`);return t.textContent=`puzzle #${S.seed} · ${S.order.length} paths · ${S.moves} moves`,e.appendChild(t),e}function N(){let e=AU(`p`,`chc-dog__instructions`);return e.textContent=`These are the projected paths of every player in one draw, shuffled and unnamed. Drag them into the real draw order — or focus a row and hold Alt with the arrow keys. Players who meet in a round are each other’s opponent in that column, so `+(l===pU.RIBBON?`two traces that mirror each other about the centre line in the same column are probably a pair.`:`a deep-hard row and a pale-easy row of the same size in the same column are probably a pair.`),e}function P(){let e=AU(`div`,`chc-dog__head`);e.appendChild(AU(`div`,`chc-dog__slot-spacer`));let t=AU(`div`,`chc-ph__rounds`);t.style.width=`${i}px`,t.style.gap=`${s}px`;for(let[e,n]of y.roundNumbers.entries()){let r=AU(`span`,`chc-ph__round-label`);r.textContent=p(n,e,y.roundNumbers.length),t.appendChild(r)}return e.appendChild(t),e}function F(){if(r.replaceChildren(),!v.length){let e=AU(`div`,`chc-ph__empty`);e.textContent=n.emptyMessage??`No rated draw to play — the game needs ratings and draw positions.`,r.appendChild(e);return}r.appendChild(N()),r.appendChild(M()),r.appendChild(P());let e=AU(`div`,`chc-dog__rows`);e.setAttribute(`role`,`list`),e.style.gap=`${o}px`;for(let[t,n]of S.order.entries())e.appendChild(O(n,t));r.appendChild(e),r.appendChild(aU({bands:y.bands,scaleName:d,variant:l,note:`Deeper, darker bands mean a larger rating gap. Every path is on the same domain — that is what makes two rows comparable.`})),S.revealed&&S.score&&r.appendChild(NU(S.score));let t=AU(`div`,`chc-ph__caption`),i=d?` ${d}-equivalent`:``,a=[`shared domain ±${Math.round(y.domainMax)}${i} · ${y.bands} bands`];S.deranged||a.push(`this deal left a row in its true slot`),g>0&&a.push(`${g} unrated omitted`),y.clippedCells>0&&a.push(`${y.clippedCells} walls capped at the top band`),t.textContent=a.join(` · `),r.appendChild(t),r.appendChild(T),w!==null&&(j(w),w=null)}return F(),{element:r,getState:()=>S,reshuffle:e=>D(dH(S,e??S.seed+1),EU),reveal:()=>D(uH(S)),destroy:()=>r.remove()}}var FU=`right`,IU=`font-medium`;function LU({target:e,button:t,stateChange:n}){let r=0,i=()=>(r+=1,`Item${r}`),a=document.createElement(`div`);t.class&&a.classList.add(t.class),a.classList.add(`dropdown`),t.id&&(a.id=t.id),t.align===FU&&a.classList.add(`is-right`);let o=e=>e.classList.contains(`is-active`),s=()=>{o(a)&&a.classList.remove(`is-active`)},c=e=>o(e)?(e.classList.remove(`is-active`),!1):(e.classList.add(`is-active`),!0);a.onmouseleave=s,a.onclick=()=>c(a);let l=document.createElement(`div`);l.classList.add(`dropdown-trigger`);let u=document.createElement(`button`);u.className=`button font-medium`,t.intent&&u.classList.add(t.intent),u.setAttribute(`aria-haspopup`,`true`);let d=document.createElement(`span`);K(t.onClick)&&(d.onclick=t.onClick),d.style.cssText=`margin-right: 1em`,d.innerHTML=t.label,u.appendChild(d);let f=document.createElement(`span`);K(t.onClick)&&(f.onclick=t.onClick),f.innerHTML=`
|
|
216
216
|
<span class="icon is-small font-medium">
|
|
217
217
|
<i class="fas fa-angle-down font-medium" aria-hidden="true"></i>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "courthive-components",
|
|
3
3
|
"packageManager": "pnpm@12.10.1",
|
|
4
|
-
"version": "6.8.
|
|
4
|
+
"version": "6.8.1",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
7
7
|
},
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"eslint-plugin-storybook": "^10.2.17",
|
|
92
92
|
"gh-pages": "6.3.0",
|
|
93
93
|
"globals": "^17.3.0",
|
|
94
|
-
"happy-dom": "^
|
|
94
|
+
"happy-dom": "^21.0.0",
|
|
95
95
|
"husky": "9.1.7",
|
|
96
96
|
"leaflet": "1.9.4",
|
|
97
97
|
"lint-staged": "17.6.0",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"semver": "7.8.5",
|
|
101
101
|
"storybook": "^10.2.17",
|
|
102
102
|
"tabulator-tables": "6.6.1",
|
|
103
|
-
"tods-competition-factory": "7.14.
|
|
103
|
+
"tods-competition-factory": "7.14.1",
|
|
104
104
|
"typescript": "^6.0.2",
|
|
105
105
|
"vite": "8.3.4",
|
|
106
106
|
"vite-plugin-dts": "^5.0.0",
|