diff --git a/compendium-frontend/src/components/sidebar/LinkWithHighlight.tsx b/compendium-frontend/src/components/LinkWithHighlight.tsx similarity index 100% rename from compendium-frontend/src/components/sidebar/LinkWithHighlight.tsx rename to compendium-frontend/src/components/LinkWithHighlight.tsx diff --git a/compendium-frontend/src/components/sections/ConnectedUsersLinks.tsx b/compendium-frontend/src/components/sections/ConnectedUsersLinks.tsx new file mode 100644 index 0000000000000000000000000000000000000000..1ce8a5078f3430b627c747b12a3baad1daa3b95f --- /dev/null +++ b/compendium-frontend/src/components/sections/ConnectedUsersLinks.tsx @@ -0,0 +1,43 @@ +import { Link } from "react-router-dom"; +import LinkWithHighlight from '../LinkWithHighlight'; +import titles from "@/titles"; + +export default function ConnectedUsersLinks({ sidebar = false }) { + const LinkComponent = sidebar ? LinkWithHighlight : Link; + const classNames = sidebar ? "" : "link-text-underline"; + + return (<> + {sidebar && <h5>Connected Users</h5>} + <h6 className="section-title">Connected Users</h6> + <LinkComponent to="/institutions-urls" className={classNames}> + <span>{titles["institutions-urls"]}</span> + </LinkComponent> + <LinkComponent to="/connected-proportion" className={classNames}> + <span>{titles["connected-proportion"]}</span> + </LinkComponent> + <LinkComponent to="/connectivity-level" className={classNames}> + <span>{titles["connectivity-level"]}</span> + </LinkComponent> + <LinkComponent to="/connection-carrier" className={classNames}> + <span>{titles["connection-carrier"]}</span> + </LinkComponent> + <LinkComponent to="/connectivity-load" className={classNames}> + <span>{titles["connectivity-load"]}</span> + </LinkComponent> + <LinkComponent to="/connectivity-growth" className={classNames}> + <span>{titles["connectivity-growth"]}</span> + </LinkComponent> + <LinkComponent to="/remote-campuses" className={classNames}> + <span>{titles["remote-campuses"]}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Connected Users - Commercial</h6> + <LinkComponent to="/commercial-charging-level" className={classNames}> + <span>{titles["commercial-charging-level"]}</span> + </LinkComponent> + <LinkComponent to="/commercial-connectivity" className={classNames}> + <span>{titles["commercial-connectivity"]}</span> + </LinkComponent> + </>); +} diff --git a/compendium-frontend/src/components/sections/NetworkLinks.tsx b/compendium-frontend/src/components/sections/NetworkLinks.tsx new file mode 100644 index 0000000000000000000000000000000000000000..2b00d3d94cd85332fb3d2083f5030249b5fd9ca2 --- /dev/null +++ b/compendium-frontend/src/components/sections/NetworkLinks.tsx @@ -0,0 +1,98 @@ +import { Link } from "react-router-dom"; +import LinkWithHighlight from '../LinkWithHighlight'; +import titles from "@/titles"; + +export default function NetworkLinks({ sidebar = false }) { + const LinkComponent = sidebar ? LinkWithHighlight : Link; + const classNames = sidebar ? "" : "link-text-underline"; + + return (<> + {sidebar && <h5>Network</h5>} + <h6 className="section-title">Connectivity</h6> + + <LinkComponent to="/dark-fibre-lease" className={classNames}> + <span>{titles["dark-fibre-lease"]}</span> + </LinkComponent> + <LinkComponent to="/dark-fibre-lease-international" className={classNames}> + <span>{titles["dark-fibre-lease-international"]}</span> + </LinkComponent> + <LinkComponent to="/iru-duration" className={classNames}> + <span>{titles["iru-duration"]}</span> + </LinkComponent> + <LinkComponent to="/dark-fibre-installed" className={classNames}> + <span>{titles["dark-fibre-installed"]}</span> + </LinkComponent> + <LinkComponent to="/fibre-light" className={classNames}> + <span>{titles["fibre-light"]}</span> + </LinkComponent> + <LinkComponent to="/network-map" className={classNames}> + <span>{titles["network-map"]}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Performance Monitoring & Management</h6> + <LinkComponent to="/monitoring-tools" className={classNames}> + <span>{titles["monitoring-tools"]}</span> + </LinkComponent> + <LinkComponent to="/passive-monitoring" className={classNames}> + <span>{titles["passive-monitoring"]}</span> + </LinkComponent> + <LinkComponent to="/traffic-stats" className={classNames}> + <span>{titles["traffic-stats"]}</span> + </LinkComponent> + <LinkComponent to="/siem-vendors" className={classNames}> + <span>{titles["siem-vendors"]}</span> + </LinkComponent> + <LinkComponent to="/certificate-provider" className={classNames}> + <span>{titles["certificate-provider"]}</span> + </LinkComponent> + <LinkComponent to="/weather-map" className={classNames}> + <span>{titles["weather-map"]}</span> + </LinkComponent> + <LinkComponent to="/pert-team" className={classNames}> + <span>{titles["pert-team"]}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Alienwave</h6> + <LinkComponent to="/alien-wave" className={classNames}> + <span>{titles["alien-wave"]}</span> + </LinkComponent> + <LinkComponent to="/alien-wave-internal" className={classNames}> + <span>{titles["alien-wave-internal"]}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Capacity</h6> + <LinkComponent to="/capacity-largest-link" className={classNames}> + <span>{titles["capacity-largest-link"]}</span> + </LinkComponent> + <LinkComponent to="/capacity-core-ip" className={classNames}> + <span>{titles["capacity-core-ip"]}</span> + </LinkComponent> + <LinkComponent to="/external-connections" className={classNames}> + <span>{titles["external-connections"]}</span> + </LinkComponent> + <LinkComponent to="/non-rne-peers" className={classNames}> + <span>{titles["non-rne-peers"]}</span> + </LinkComponent> + <LinkComponent to="/traffic-volume" className={classNames}> + <span>{titles["traffic-volume"]}</span> + </LinkComponent> + <LinkComponent to="/traffic-ratio" className={classNames}> + <span>{titles["traffic-ratio"]}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)</h6> + <LinkComponent to="/ops-automation" className={classNames}> + <span>{titles["ops-automation"]}</span> + </LinkComponent> + <LinkComponent to="/nfv" className={classNames}> + <span>{titles["nfv"]}</span> + </LinkComponent> + <LinkComponent to="/network-automation" className={classNames}> + <span>{titles["network-automation"]}</span> + </LinkComponent> + </>); +} diff --git a/compendium-frontend/src/components/sections/OrganizationLinks.tsx b/compendium-frontend/src/components/sections/OrganizationLinks.tsx new file mode 100644 index 0000000000000000000000000000000000000000..80ddde27b529f50cc56ee5990674e7d1703a9dc9 --- /dev/null +++ b/compendium-frontend/src/components/sections/OrganizationLinks.tsx @@ -0,0 +1,47 @@ +import { Link } from "react-router-dom"; +import LinkWithHighlight from '../LinkWithHighlight'; +import titles from "@/titles"; + +export default function OrganizationLinks({ sidebar = false }) { + + const LinkComponent = sidebar ? LinkWithHighlight : Link + + const classNames = sidebar ? "" : "link-text-underline" + return (<> + {sidebar && <h5>Organisation</h5>} + <h6 className="section-title">Budget, Income and Billing</h6> + <LinkComponent to="/budget" className={classNames}> + <span>{titles.budget}</span> + </LinkComponent> + + <LinkComponent to="/funding" className={classNames}> + <span>{titles.funding}</span> + </LinkComponent> + + <LinkComponent to="/charging" className={classNames}> + <span>{titles.charging}</span> + </LinkComponent> + + <hr className="fake-divider" /> + <h6 className="section-title">Staff and Projects</h6> + <LinkComponent to="/employee-count" className={classNames}> + <span>{titles["employee-count"]}</span> + </LinkComponent> + <LinkComponent to="/employment" className={classNames}> + <span>{titles.employment}</span> + </LinkComponent> + <LinkComponent to="/roles" className={classNames}> + <span>{titles.roles}</span> + </LinkComponent> + <LinkComponent to="/parentorganisation" className={classNames}> + <span>{titles.parentorganisation}</span> + </LinkComponent> + <LinkComponent to="/suborganisations" className={classNames}> + <span>{titles.suborganisations}</span> + </LinkComponent> + <LinkComponent to="/ec-projects" className={classNames}> + <span>{titles["ec-projects"]}</span> + </LinkComponent> + </> + ); +} \ No newline at end of file diff --git a/compendium-frontend/src/components/sections/PolicyLinks.tsx b/compendium-frontend/src/components/sections/PolicyLinks.tsx new file mode 100644 index 0000000000000000000000000000000000000000..a827c770cd6903fef23515b0a75055d4560abadf --- /dev/null +++ b/compendium-frontend/src/components/sections/PolicyLinks.tsx @@ -0,0 +1,49 @@ +import { Link } from "react-router-dom"; +import LinkWithHighlight from '../LinkWithHighlight'; +import titles from "@/titles"; + +export default function PolicyLinks({ sidebar = false }) { + + const LinkComponent = sidebar ? LinkWithHighlight : Link + const classNames = sidebar ? "" : "link-text-underline" + + return (<> + {sidebar && <h5>Standards And Policies</h5>} + <h6 className="section-title">Policy & Portfolio</h6> + <LinkComponent to="/corporate-strategy" className={classNames}> + <span>{titles["corporate-strategy"]}</span> + </LinkComponent> + <LinkComponent to="/policy" className={classNames}> + <span>{titles.policy}</span> + </LinkComponent> + <LinkComponent to="/central-procurement" className={classNames}> + <span>{titles["central-procurement"]}</span> + </LinkComponent> + <LinkComponent to="/service-management-framework" className={classNames}> + <span>{titles["service-management-framework"]}</span> + </LinkComponent> + <LinkComponent to="/service-level-targets" className={classNames}> + <span>{titles["service-level-targets"]}</span> + </LinkComponent> + <LinkComponent to="/services-offered" className={classNames}> + <span>{titles["services-offered"]}</span> + </LinkComponent> + + <h6 className="section-title">Standards</h6> + <LinkComponent to="/audits" className={classNames}> + <span>{titles.audits}</span> + </LinkComponent> + <LinkComponent to="/business-continuity" className={classNames}> + <span>{titles["business-continuity"]}</span> + </LinkComponent> + <LinkComponent to="/crisis-management" className={classNames}> + <span>{titles["crisis-management"]}</span> + </LinkComponent> + <LinkComponent to="/crisis-exercise" className={classNames}> + <span>{titles["crisis-exercise"]}</span> + </LinkComponent> + <LinkComponent to="/security-control" className={classNames}> + <span>{titles["security-control"]}</span> + </LinkComponent> + </>); +} \ No newline at end of file diff --git a/compendium-frontend/src/components/sections/ServicesLinks.tsx b/compendium-frontend/src/components/sections/ServicesLinks.tsx new file mode 100644 index 0000000000000000000000000000000000000000..8a91a4b916779b8df901661d1f6d9dac3f5730cc --- /dev/null +++ b/compendium-frontend/src/components/sections/ServicesLinks.tsx @@ -0,0 +1,36 @@ +import { Link } from "react-router-dom"; +import LinkWithHighlight from '../LinkWithHighlight'; +import titles from "@/titles"; + +export default function ServicesLinks({ sidebar = false }) { + const LinkComponent = sidebar ? LinkWithHighlight : Link; + const classNames = sidebar ? "" : "link-text-underline"; + + return (<> + {sidebar && <h5>Services</h5>} + <LinkComponent to="/network-services" className={classNames}> + <span>{titles["network-services"]}</span> + </LinkComponent> + <LinkComponent to="/isp-support-services" className={classNames}> + <span>{titles["isp-support-services"]}</span> + </LinkComponent> + <LinkComponent to="/security-services" className={classNames}> + <span>{titles["security-services"]}</span> + </LinkComponent> + <LinkComponent to="/identity-services" className={classNames}> + <span>{titles["identity-services"]}</span> + </LinkComponent> + <LinkComponent to="/storage-and-hosting-services" className={classNames}> + <span>{titles["storage-and-hosting-services"]}</span> + </LinkComponent> + <LinkComponent to="/multimedia-services" className={classNames}> + <span>{titles["multimedia-services"]}</span> + </LinkComponent> + <LinkComponent to="/collaboration-services" className={classNames}> + <span>{titles["collaboration-services"]}</span> + </LinkComponent> + <LinkComponent to="/professional-services" className={classNames}> + <span>{titles["professional-services"]}</span> + </LinkComponent> + </>); +} diff --git a/compendium-frontend/src/components/sidebar/ConnectedUsersSidebar.tsx b/compendium-frontend/src/components/sidebar/ConnectedUsersSidebar.tsx index 512d3cdf4af985c53bc52bf457d28f9548ce6bdb..8eaa9eea77abdd1ebfe79158acc8213443464bf7 100644 --- a/compendium-frontend/src/components/sidebar/ConnectedUsersSidebar.tsx +++ b/compendium-frontend/src/components/sidebar/ConnectedUsersSidebar.tsx @@ -1,49 +1,10 @@ -import React from 'react'; import Sidebar from './SideBar'; -import Link from './LinkWithHighlight'; +import ConnectedUsersLinks from '../sections/ConnectedUsersLinks'; const ConnectedUsersSidebar = () => { return ( <Sidebar> - <h6 className="section-title">Connected Users</h6> - - <Link to="/institutions-urls"> - <span>Webpages Listing Institutions and Organisations Connected to NREN Networks</span> - </Link> - - <Link to="/connected-proportion"> - <span>Proportion of Different Categories of Institutions Served by NRENs</span> - </Link> - - <Link to="/connectivity-level"> - <span>Level of IP Connectivity by Institution Type</span> - </Link> - - <Link to="/connection-carrier"> - <span>Methods of Carrying IP Traffic to Users</span> - </Link> - - <Link to="/connectivity-load"> - <span>Connectivity Load</span> - </Link> - - <Link to="/connectivity-growth"> - <span>Connectivity Growth</span> - </Link> - - <Link to="/remote-campuses"> - <span>NREN Connectivity to Remote Campuses in Other Countries</span> - </Link> - - <h6 className="section-title">Connected Users - Commercial</h6> - - <Link to="/commercial-charging-level"> - <span>Commercial Charging Level</span> - </Link> - - <Link to="/commercial-connectivity"> - <span>Commercial Connectivity</span> - </Link> + <ConnectedUsersLinks sidebar={true} /> </Sidebar> ) } diff --git a/compendium-frontend/src/components/sidebar/NetworkSidebar.tsx b/compendium-frontend/src/components/sidebar/NetworkSidebar.tsx index 799aacb20d1d9849d770eefaaee79fc13902a6fa..2e7a9f2cfdc77090333e2ca2c475c519288dbbb3 100644 --- a/compendium-frontend/src/components/sidebar/NetworkSidebar.tsx +++ b/compendium-frontend/src/components/sidebar/NetworkSidebar.tsx @@ -1,112 +1,10 @@ -import React from 'react'; -import Link from './LinkWithHighlight'; import Sidebar from './SideBar'; +import NetworkLinks from '../sections/NetworkLinks'; const NetworkSidebar = () => { return ( <Sidebar> - <h5>Network</h5> - <h6 className="section-title" >Connectivity</h6> - - <Link to="/traffic-volume"> - <span>NREN Traffic - NREN Customers & External Networks</span> - </Link> - - <Link to="/iru-duration"> - <span>Average Duration of IRU leases of Fibre by NRENs</span> - </Link> - - <Link to="/fibre-light"> - <span>Approaches to lighting NREN fibre networks</span> - </Link> - - <Link to="/dark-fibre-lease"> - <span>Kilometres of Leased Dark Fibre (National)</span> - </Link> - - <Link to="/dark-fibre-lease-international"> - <span>Kilometres of Leased Dark Fibre (International)</span> - </Link> - - <Link to="/dark-fibre-installed"> - <span>Kilometres of Installed Dark Fibre</span> - </Link> - - <Link to="/network-map"> - <span>NREN Network Maps</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Performance Monitoring & Management</h6> - - <Link to="/monitoring-tools"> - <span>Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions</span> - </Link> - - <Link to="/pert-team"> - <span>NRENs with Performance Enhancement Response Teams</span> - </Link> - - <Link to="/passive-monitoring"> - <span>Methods for Passively Monitoring International Traffic</span> - </Link> - - <Link to="/traffic-stats"> - <span>Traffic Statistics </span> - </Link> - - <Link to="/weather-map"> - <span>NREN Online Network Weather Maps </span> - </Link> - - <Link to="/certificate-providers"> - <span>Certification Services used by NRENs</span> - </Link> - - <Link to="/siem-vendors"> - <span>Vendors of SIEM/SOC systems used by NRENs</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Alienwave</h6> - - <Link to="/alien-wave"> - <span>NREN Use of 3rd Party Alienwave/Lightpath Services</span> - </Link> - - <Link to="/alien-wave-internal"> - <span>Internal NREN Use of Alien Waves</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Capacity</h6> - - <Link to="/capacity-largest-link"> - <span>Capacity of the Largest Link in an NREN Network</span> - </Link> - <Link to="/external-connections"> - <span>NREN External IP Connections</span> - </Link> - <Link to="/capacity-core-ip"> - <span>NREN Core IP Capacity</span> - </Link> - <Link to="/non-rne-peers"> - <span>Number of Non-R&E Networks NRENs Peer With</span> - </Link> - <Link to="/traffic-ratio"> - <span>Types of traffic in NREN networks</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)</h6> - - <Link to="/ops-automation"> - <span>NREN Automation of Operational Processes</span> - </Link> - - <Link to="/network-automation"> - <span>Network Tasks for which NRENs Use Automation </span> - </Link> - - <Link to="/nfv"> - <span>Kinds of Network Function Virtualisation used by NRENs</span> - </Link> + <NetworkLinks sidebar /> </Sidebar> ) } diff --git a/compendium-frontend/src/components/sidebar/OrganizationSidebar.tsx b/compendium-frontend/src/components/sidebar/OrganizationSidebar.tsx index d5e79a7d36303b7da3e817f3dc633cffbde0eca7..fec6bd2739c5af22aed458dfddd8da864249cb39 100644 --- a/compendium-frontend/src/components/sidebar/OrganizationSidebar.tsx +++ b/compendium-frontend/src/components/sidebar/OrganizationSidebar.tsx @@ -1,44 +1,10 @@ -import React from 'react'; -import Link from './LinkWithHighlight'; import Sidebar from './SideBar'; +import OrganizationLinks from '../sections/OrganizationLinks'; const OrganizationSidebar = () => { return ( <Sidebar> - <h5>Organisation</h5> - <h6 className="section-title">Budget, Income and Billing</h6> - <Link to="/budget"> - <span>Budget of NRENs per Year</span> - </Link> - - <Link to="/funding"> - <span>Income Source of NRENs</span> - </Link> - - <Link to="/charging"> - <span>Charging Mechanism of NRENs</span> - </Link> - - <hr className="fake-divider" /> - <h6 className="section-title">Staff and Projects</h6> - <Link to="/employee-count"> - <span>Number of NREN Employees</span> - </Link> - <Link to="/roles"> - <span>Roles of NREN employees (Technical v. Non-Technical)</span> - </Link> - <Link to="/employment"> - <span>Types of Employment within NRENs</span> - </Link> - <Link to="/suborganisations"> - <span>NREN Sub-Organisations</span> - </Link> - <Link to="/parentorganisation"> - <span>NREN Parent Organisations</span> - </Link> - <Link to="/ec-projects"> - <span>NREN Involvement in European Commission Projects</span> - </Link> + <OrganizationLinks sidebar /> </Sidebar> ) } diff --git a/compendium-frontend/src/components/sidebar/PolicySidebar.tsx b/compendium-frontend/src/components/sidebar/PolicySidebar.tsx index ce99f2d6aab85b5b3e3a831e335766478e6e3958..5e320722baadbee41c9d957cef430f3303a0c9a6 100644 --- a/compendium-frontend/src/components/sidebar/PolicySidebar.tsx +++ b/compendium-frontend/src/components/sidebar/PolicySidebar.tsx @@ -1,45 +1,10 @@ -import React from 'react'; -import Link from './LinkWithHighlight'; import Sidebar from './SideBar'; +import PolicyLinks from '../sections/PolicyLinks'; const PolicySidebar = () => { return ( <Sidebar> - <h5>Standards and Policies</h5> - <Link to="/policy"> - <span>NREN Policies</span> - </Link> - <h6 className="section-title">Standards</h6> - <Link to="/audits"> - <span>External and Internal Audits of Information Security Management Systems</span> - </Link> - <Link to="/business-continuity"> - <span>NREN Business Continuity Planning</span> - </Link> - <Link to="/central-procurement"> - <span>Central Procurement of Software</span> - </Link> - <Link to="/crisis-management"> - <span>Crisis Management Procedures</span> - </Link> - <Link to="/crisis-exercise"> - <span>Crisis Exercises - NREN Operation and Participation</span> - </Link> - <Link to="/security-control"> - <span>Security Controls Used by NRENs</span> - </Link> - <Link to="/services-offered"> - <span>Services Offered by NRENs by Types of Users</span> - </Link> - <Link to="/corporate-strategy"> - <span>NREN Corporate Strategies </span> - </Link> - <Link to="/service-level-targets"> - <span>NRENs Offering Service Level Targets</span> - </Link> - <Link to="/service-management-framework"> - <span>NRENs Operating a Formal Service Management Framework</span> - </Link> + <PolicyLinks sidebar /> </Sidebar> ) } diff --git a/compendium-frontend/src/components/sidebar/ServicesSidebar.tsx b/compendium-frontend/src/components/sidebar/ServicesSidebar.tsx index e008cfd6052bde634f81d863810f9b5a84070820..e7cbe174bcecef51e30ae642f75daed9a6b7bfab 100644 --- a/compendium-frontend/src/components/sidebar/ServicesSidebar.tsx +++ b/compendium-frontend/src/components/sidebar/ServicesSidebar.tsx @@ -1,35 +1,10 @@ -import React from 'react'; -import Link from './LinkWithHighlight'; import Sidebar from './SideBar'; +import ServicesLinks from '../sections/ServicesLinks'; const ServicesSidebar = () => { return ( <Sidebar> - <h5>Services</h5> - <Link to="/network-services"> - <span>Network services</span> - </Link> - <Link to="/isp-support-services"> - <span>ISP support services</span> - </Link> - <Link to="/security-services"> - <span>Security services</span> - </Link> - <Link to="/identity-services"> - <span>Identity services</span> - </Link> - <Link to="/collaboration-services"> - <span>Collaboration services</span> - </Link> - <Link to="/multimedia-services"> - <span>Multimedia services</span> - </Link> - <Link to="/storage-and-hosting-services"> - <span>Storage and hosting services</span> - </Link> - <Link to="/professional-services"> - <span>Professional services</span> - </Link> + <ServicesLinks sidebar /> </Sidebar> ) } diff --git a/compendium-frontend/src/pages/CompendiumData.tsx b/compendium-frontend/src/pages/CompendiumData.tsx index 204aa5fa8732af1bda0bdc884bead5cd8831b980..274950f450d56f2aaa107939751a24a03c7bd036 100644 --- a/compendium-frontend/src/pages/CompendiumData.tsx +++ b/compendium-frontend/src/pages/CompendiumData.tsx @@ -3,10 +3,14 @@ import { Container, Row } from "react-bootstrap"; import CollapsibleBox from "../components/CollapsibleBox"; import PageHeader from "../components/global/PageHeader" import Banner from "../components/global/Banner"; -import { Link } from "react-router-dom"; import { Sections } from "../helpers/constants"; import { usePreview } from "../helpers/usePreview"; import useMatomo from "../matomo/UseMatomo"; +import OrganizationLinks from "../components/sections/OrganizationLinks"; +import PolicyLinks from "../components/sections/PolicyLinks"; +import ConnectedUsersLinks from "../components/sections/ConnectedUsersLinks"; +import NetworkLinks from "../components/sections/NetworkLinks"; +import ServicesLinks from "../components/sections/ServicesLinks"; function CompendiumData(): ReactElement { usePreview(); @@ -34,219 +38,21 @@ function CompendiumData(): ReactElement { <Container className="mt-5 mb-5"> <Row> <CollapsibleBox title={Sections.Organisation}> - <h6 className="section-title">Budget, Income and Billing</h6> - <Link to="/budget" className="link-text-underline"> - <span>Budget of NRENs per Year</span> - </Link> - - <Link to="/funding" className="link-text-underline"> - <span>Income Source of NRENs</span> - </Link> - - <Link to="/charging" className="link-text-underline"> - <span>Charging Mechanism of NRENs</span> - </Link> - - <hr className="fake-divider" /> - <h6 className="section-title">Staff and Projects</h6> - <Link to="/employee-count" className="link-text-underline"> - <span>Number of NREN Employees</span> - </Link> - <Link to="/roles" className="link-text-underline"> - <span>Roles of NREN employees (Technical v. Non-Technical)</span> - </Link> - <Link to="/employment" className="link-text-underline"> - <span>Types of Employment within NRENs</span> - </Link> - <Link to="/suborganisations" className="link-text-underline"> - <span>NREN Sub-Organisations</span> - </Link> - <Link to="/parentorganisation" className="link-text-underline"> - <span>NREN Parent Organisations</span> - </Link> - <Link to="/ec-projects" className="link-text-underline"> - <span>NREN Involvement in European Commission Projects</span> - </Link> + <OrganizationLinks /> </CollapsibleBox> <CollapsibleBox title={Sections.Policy} startCollapsed> - <Link to="/policy" className="link-text-underline"> - <span>NREN Policies</span> - </Link> - <h6 className="section-title">Standards</h6> - <Link to="/audits" className="link-text-underline"> - <span>External and Internal Audits of Information Security Management Systems</span> - </Link> - <Link to="/business-continuity" className="link-text-underline"> - <span>NREN Business Continuity Planning</span> - </Link> - <Link to="/central-procurement" className="link-text-underline"> - <span>Central Procurement of Software</span> - </Link> - <Link to="/crisis-management" className="link-text-underline"> - <span>Crisis Management Procedures</span> - </Link> - <Link to="/crisis-exercise" className="link-text-underline"> - <span>Crisis Exercises - NREN Operation and Participation</span> - </Link> - <Link to="/security-control" className="link-text-underline"> - <span>Security Controls Used by NRENs</span> - </Link> - <Link to="/services-offered" className="link-text-underline"> - <span>Services Offered by NRENs by Types of Users</span> - </Link> - <Link to="/corporate-strategy" className="link-text-underline"> - <span>NREN Corporate Strategies </span> - </Link> - <Link to="/service-level-targets" className="link-text-underline"> - <span>NRENs Offering Service Level Targets</span> - </Link> - <Link to="/service-management-framework" className="link-text-underline"> - <span>NRENs Operating a Formal Service Management Framework</span> - </Link> + <PolicyLinks /> </CollapsibleBox> <CollapsibleBox title={Sections.ConnectedUsers} startCollapsed> - <h6 className="section-title">Connected Users</h6> - <Link to="/institutions-urls" className="link-text-underline"> - <span>Webpages Listing Institutions and Organisations Connected to NREN Networks</span> - </Link> - <Link to="/connected-proportion" className="link-text-underline"> - <span>Proportion of Different Categories of Institutions Served by NRENs</span> - </Link> - <Link to="/connectivity-level" className="link-text-underline"> - <span>Level of IP Connectivity by Institution Type</span> - </Link> - <Link to="/connection-carrier" className="link-text-underline"> - <span>Methods of Carrying IP Traffic to Users</span> - </Link> - <Link to="/connectivity-load" className="link-text-underline"> - <span>Connectivity Load</span> - </Link> - <Link to="/connectivity-growth" className="link-text-underline"> - <span>Connectivity Growth</span> - </Link> - <Link to="/remote-campuses" className="link-text-underline"> - <span>NREN Connectivity to Remote Campuses in Other Countries</span> - </Link> - - <hr className="fake-divider" /> - <h6 className="section-title">Connected Users - Commercial</h6> - <Link to="/commercial-charging-level" className="link-text-underline"> - <span>Commercial Charging Level</span> - </Link> - <Link to="/commercial-connectivity" className="link-text-underline"> - <span>Commercial Connectivity</span> - </Link> + <ConnectedUsersLinks /> </CollapsibleBox> <CollapsibleBox title={Sections.Network} startCollapsed> - <h6 className="section-title" >Connectivity</h6> - <Link to="/traffic-volume" className="link-text-underline"> - <span>NREN Traffic - NREN Customers & External Networks</span> - </Link> - <Link to="/iru-duration" className="link-text-underline"> - <span>Average Duration of IRU leases of Fibre by NRENs</span> - </Link> - <Link to="/fibre-light" className="link-text-underline"> - <span>Approaches to lighting NREN fibre networks</span> - </Link> - <Link to="/dark-fibre-lease" className="link-text-underline"> - <span>Kilometres of Leased Dark Fibre (National)</span> - </Link> - <Link to="/dark-fibre-lease-international" className="link-text-underline"> - <span>Kilometres of Leased Dark Fibre (International)</span> - </Link> - <Link to="/dark-fibre-installed" className="link-text-underline"> - <span>Kilometres of Installed Dark Fibre</span> - </Link> - <Link to="/network-map" className="link-text-underline"> - <span>NREN Network Maps</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Performance Monitoring & Management</h6> - <Link to="/monitoring-tools" className="link-text-underline"> - <span>Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions</span> - </Link> - <Link to="/pert-team" className="link-text-underline"> - <span>NRENs with Performance Enhancement Response Teams</span> - </Link> - <Link to="/passive-monitoring" className="link-text-underline"> - <span>Methods for Passively Monitoring International Traffic</span> - </Link> - <Link to="/traffic-stats" className="link-text-underline"> - <span>Traffic Statistics </span> - </Link> - <Link to="/weather-map" className="link-text-underline"> - <span>NREN Online Network Weather Maps </span> - </Link> - <Link to="/certificate-provider" className="link-text-underline"> - <span>Certification Services used by NRENs</span> - </Link> - <Link to="/siem-vendors" className="link-text-underline"> - <span>Vendors of SIEM/SOC systems used by NRENs</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Alienwave</h6> - <Link to="/alien-wave" className="link-text-underline"> - <span>NREN Use of 3rd Party Alienwave/Lightpath Services</span> - </Link> - <Link to="/alien-wave-internal" className="link-text-underline"> - <span>Internal NREN Use of Alien Waves</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Capacity</h6> - <Link to="/capacity-largest-link" className="link-text-underline"> - <span>Capacity of the Largest Link in an NREN Network</span> - </Link> - <Link to="/external-connections" className="link-text-underline"> - <span>NREN External IP Connections</span> - </Link> - <Link to="/capacity-core-ip" className="link-text-underline"> - <span>NREN Core IP Capacity</span> - </Link> - <Link to="/non-rne-peers" className="link-text-underline"> - <span>Number of Non-R&E Networks NRENs Peer With</span> - </Link> - <Link to="/traffic-ratio" className="link-text-underline"> - <span>Types of traffic in NREN networks</span> - </Link> - <hr className="fake-divider" /> - <h6 className="section-title" >Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)</h6> - <Link to="/ops-automation" className="link-text-underline"> - <span>NREN Automation of Operational Processes</span> - </Link> - <Link to="/network-automation" className="link-text-underline"> - <span>Network Tasks for which NRENs Use Automation </span> - </Link> - <Link to="/nfv" className="link-text-underline"> - <span>Kinds of Network Function Virtualisation used by NRENs</span> - </Link> + <NetworkLinks /> </CollapsibleBox> <CollapsibleBox title={Sections.Services} startCollapsed> - <Link to="/network-services" className="link-text-underline"> - <span>Network services</span> - </Link> - <Link to="/isp-support-services" className="link-text-underline"> - <span>ISP support services</span> - </Link> - <Link to="/security-services" className="link-text-underline"> - <span>Security services</span> - </Link> - <Link to="/identity-services" className="link-text-underline"> - <span>Identity services</span> - </Link> - <Link to="/collaboration-services" className="link-text-underline"> - <span>Collaboration services</span> - </Link> - <Link to="/multimedia-services" className="link-text-underline"> - <span>Multimedia services</span> - </Link> - <Link to="/storage-and-hosting-services" className="link-text-underline"> - <span>Storage and hosting services</span> - </Link> - <Link to="/professional-services" className="link-text-underline"> - <span>Professional services</span> - </Link> + <ServicesLinks /> </CollapsibleBox> </Row> </Container> diff --git a/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx b/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx index 0eec5c8535552e85486bf6bc2b89e52584064775..1ca93b3fad25887ba727a825b8de2664cf8957dd 100644 --- a/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx +++ b/compendium-frontend/src/pages/ConnectedUsers/ConnectedInstitutionsURLs.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import { useData } from "../../helpers/useData"; import ChartContainer from '../../components/graphing/ChartContainer'; import NrenYearTable from '../../components/NrenYearTable'; +import titles from "@/titles"; function ConnectedInstitutionsURLsPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -44,7 +45,7 @@ function ConnectedInstitutionsURLsPage() { })); return ( - <DataPage title="Webpages Listing Institutions and Organisations Connected to NREN Networks" + <DataPage title={titles["institutions-urls"]} description='Many NRENs have a page on their website listing user institutions. Links to the pages are shown in the table below.' category={Sections.ConnectedUsers} filter={filterNode} data={downloadData} filename="institution_urls"> diff --git a/compendium-frontend/src/pages/ConnectedUsers/ConnectedUser.tsx b/compendium-frontend/src/pages/ConnectedUsers/ConnectedUser.tsx index 978f2600a976af55cd522f150a5017b8e5854932..2c5f44d538b3a9c2b2d8f52787d20115dd6c04d6 100644 --- a/compendium-frontend/src/pages/ConnectedUsers/ConnectedUser.tsx +++ b/compendium-frontend/src/pages/ConnectedUsers/ConnectedUser.tsx @@ -17,15 +17,16 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import { ScrollableMatrix } from "../../components/ScrollableMatrix"; +import titles from "@/titles"; const displayTitle = { - [ConnectivityPage.ConnectedProportion]: "Proportion of Different Categories of Institutions Served by NRENs", - [ConnectivityPage.ConnectivityLevel]: "Level of IP Connectivity by Institution Type", - [ConnectivityPage.ConnectionCarrier]: "Methods of Carrying IP Traffic to Users", - [ConnectivityPage.ConnectivityLoad]: "Connectivity Load", - [ConnectivityPage.ConnectivityGrowth]: "Connectivity Growth", - [ConnectivityPage.CommercialChargingLevel]: "Commercial Charging Level", - [ConnectivityPage.CommercialConnectivity]: "Commercial Connectivity" + [ConnectivityPage.ConnectedProportion]: titles["connected-proportion"], + [ConnectivityPage.ConnectivityLevel]: titles["connectivity-level"], + [ConnectivityPage.ConnectionCarrier]: titles["connection-carrier"], + [ConnectivityPage.ConnectivityLoad]: titles["connectivity-load"], + [ConnectivityPage.ConnectivityGrowth]: titles["connectivity-growth"], + [ConnectivityPage.CommercialChargingLevel]: titles["commercial-charging-level"], + [ConnectivityPage.CommercialConnectivity]: titles["commercial-connectivity"], } const description = { diff --git a/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx b/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx index 290737a205f172aad37d2ec24fe8f5a9f13a04a4..673d25d437bf426173f4eba768ea6b121f3cd8ae 100644 --- a/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx +++ b/compendium-frontend/src/pages/ConnectedUsers/RemoteCampuses.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import MulticolumnNrenYearTable from '../../components/MulticolumnNrenYearTable'; +import titles from "@/titles"; function RemoteCampusesPage() { const field = 'remote_campus_connectivity'; @@ -46,7 +47,7 @@ function RemoteCampusesPage() { } return ( - <DataPage title="NREN Connectivity to Remote Campuses in Other Countries" + <DataPage title={titles["remote-campuses"]} description='NRENs are asked whether they have remote campuses in other countries, and if so, to list the countries where they have remote campuses and whether they are connected to the local R&E network.' category={Sections.ConnectedUsers} filter={filterNode} data={selectedData} filename='nren_remote_campuses'> diff --git a/compendium-frontend/src/pages/Network/AlienWave.tsx b/compendium-frontend/src/pages/Network/AlienWave.tsx index a7e613ac452780d99c0d989e5990e9f1dd8e36a7..0fe7e4e4e8d70d0fc4cf55c84c262fec792ef57e 100644 --- a/compendium-frontend/src/pages/Network/AlienWave.tsx +++ b/compendium-frontend/src/pages/Network/AlienWave.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function AlienWavePage(): React.ReactElement { const dataField = 'alien_wave_third_party'; @@ -50,7 +51,7 @@ function AlienWavePage(): React.ReactElement { /> return ( - <DataPage title="NREN Use of 3rd Party Alienwave/Lightpath Services" + <DataPage title={titles["alien-wave"]} description="The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table. In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a diff --git a/compendium-frontend/src/pages/Network/AlienWaveInternal.tsx b/compendium-frontend/src/pages/Network/AlienWaveInternal.tsx index 33b7da60d97179591dedd4592713aa2a29ddf123..0ec432e5aa3a3237d666d56d33418466d7365746 100644 --- a/compendium-frontend/src/pages/Network/AlienWaveInternal.tsx +++ b/compendium-frontend/src/pages/Network/AlienWaveInternal.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function AlienWaveInternalPage(): React.ReactElement { const dataField = 'alien_wave_internal'; @@ -40,7 +41,7 @@ function AlienWaveInternalPage(): React.ReactElement { /> return ( - <DataPage title="Internal NREN Use of Alien Waves" + <DataPage title={titles["alien-wave-internal"]} description="The table below shows NREN usage of alien waves internally within their own networks. This includes, for example, alien waves used between two equipment vendors, eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment. diff --git a/compendium-frontend/src/pages/Network/Automation.tsx b/compendium-frontend/src/pages/Network/Automation.tsx index 525006744c4f79a54330d2377ceebce05d880477..4fe24ef5a07a3dee2005defc6fea6a918a39feda 100644 --- a/compendium-frontend/src/pages/Network/Automation.tsx +++ b/compendium-frontend/src/pages/Network/Automation.tsx @@ -10,6 +10,7 @@ import { Sections } from "../../helpers/constants"; import { FilterSelectionContext } from "../../providers/FilterSelectionProvider"; import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; +import titles from "@/titles"; function AutomationPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -31,7 +32,7 @@ function AutomationPage(): React.ReactElement { const showYears = [...filterSelection.selectedYears.filter(year => years.has(year))].sort(); return ( - <DataPage title="Network Tasks for which NRENs Use Automation " + <DataPage title={titles["network-automation"]} description="The table below shows which NRENs have, or plan to, automate their operational processes, with specification of which processes, and the names of software and tools used for this given when appropriate. diff --git a/compendium-frontend/src/pages/Network/CapacityCoreIP.tsx b/compendium-frontend/src/pages/Network/CapacityCoreIP.tsx index 561719cb61aa73b691b47eadc5840cd9438f8554..ca1575812cb5e42f987cb1a551b02006171188dc 100644 --- a/compendium-frontend/src/pages/Network/CapacityCoreIP.tsx +++ b/compendium-frontend/src/pages/Network/CapacityCoreIP.tsx @@ -12,6 +12,7 @@ import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import ChartDataLabels from 'chartjs-plugin-datalabels'; import { getBarChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -46,7 +47,7 @@ function CapacityCoreIPPage() { // set a minimum height of 50rem const height = Math.max(numNrens * filterSelection.selectedYears.length * heightPerBar + 5, 50); - const title = "NREN Core IP Capacity"; + const title = titles['capacity-core-ip']; const description = `The graph below shows the typical core usable backbone IP capacity of NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over the network.` diff --git a/compendium-frontend/src/pages/Network/CapacityLargestLink.tsx b/compendium-frontend/src/pages/Network/CapacityLargestLink.tsx index e3e2db034d9cba631ac4cd3d6d6dfe1d977f97e0..ed591eec4557e17b356b19feb556dfd6bf5068a1 100644 --- a/compendium-frontend/src/pages/Network/CapacityLargestLink.tsx +++ b/compendium-frontend/src/pages/Network/CapacityLargestLink.tsx @@ -12,6 +12,7 @@ import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import ChartDataLabels from 'chartjs-plugin-datalabels'; import { getBarChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -46,7 +47,7 @@ function CapacityLargestLinkPage() { // set a minimum height of 50rem const height = Math.max(numNrens * filterSelection.selectedYears.length * heightPerBar + 5, 50); - const title = "Capacity of the Largest Link in an NREN Network"; + const title = titles['capacity-largest-link']; const description = `NRENs were asked to give the capacity (in Gbits/s) of the largest link in their network used for internet traffic (either shared or dedicated). While they were invited to provide the sum of aggregated links, backup capacity was not to be included.` diff --git a/compendium-frontend/src/pages/Network/CertificateProvider.tsx b/compendium-frontend/src/pages/Network/CertificateProvider.tsx index 5896690b4e07aaac32213e55233f5f816a804f1c..92651e9b3af6a353fd8f85f9bc06da317a9a142e 100644 --- a/compendium-frontend/src/pages/Network/CertificateProvider.tsx +++ b/compendium-frontend/src/pages/Network/CertificateProvider.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function CertificateProviderPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -40,7 +41,7 @@ function CertificateProviderPage(): React.ReactElement { ]); return ( - <DataPage title="Certification Services used by NRENs " + <DataPage title={titles["certificate-provider"]} description="The table below shows the kinds of Network Certificate Providers used by NRENs." category={Sections.Network} filter={filterNode} data={selectedData} filename="certificate_provider_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx b/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx index 3c46b0d91053a2765fb7025cf74dec31ceaebfcc..1bfbd5c439b8795322bc2e5f86a61874137588ee 100644 --- a/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx +++ b/compendium-frontend/src/pages/Network/DarkFibreInstalled.tsx @@ -21,6 +21,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -56,7 +57,7 @@ function DarkFibreInstalledPage(): ReactElement { The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair.</span>; return ( - <DataPage title={`Kilometres of Installed Dark Fibre`} + <DataPage title={titles['dark-fibre-installed']} description={description} category={Sections.Network} filter={filterNode} data={selectedData} filename="dark_fibre_lease_installed"> diff --git a/compendium-frontend/src/pages/Network/DarkFibreLease.tsx b/compendium-frontend/src/pages/Network/DarkFibreLease.tsx index bd62a845fb2065c3a1aa2b2e1621bb7e4e30d5c5..edd0ab8e88685380eaac061a36aa0d0605884828 100644 --- a/compendium-frontend/src/pages/Network/DarkFibreLease.tsx +++ b/compendium-frontend/src/pages/Network/DarkFibreLease.tsx @@ -20,6 +20,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -61,7 +62,7 @@ function DarkFibreLeasePage({ national }: Props): ReactElement { The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair.</span>; return ( - <DataPage title={`Kilometres of Leased Dark Fibre (${national ? 'National' : 'International'})`} + <DataPage title={national ? titles['dark-fibre-lease'] : titles['dark-fibre-lease-international']} description={description} category={Sections.Network} filter={filterNode} data={selectedData} filename={`dark_fibre_lease_${national ? 'national' : 'international'}`}> diff --git a/compendium-frontend/src/pages/Network/ExternalConnections.tsx b/compendium-frontend/src/pages/Network/ExternalConnections.tsx index 8bed655e5dffaa4c778184d15e7df14753b01878..59738a43fdcd60e8d2559177258c034a38185a41 100644 --- a/compendium-frontend/src/pages/Network/ExternalConnections.tsx +++ b/compendium-frontend/src/pages/Network/ExternalConnections.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import { ScrollableTable } from "../../components/ScrollableTable"; +import titles from "@/titles"; function ExternalConnectionsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -44,7 +45,7 @@ function ExternalConnectionsPage(): React.ReactElement { which is near the border to another point near the border on the network of a neighbouring NREN.</p></> return ( - <DataPage title="NREN External IP Connections" + <DataPage title={titles['external-connections']} description={description} category={Sections.Network} filter={filterNode} data={selectedData} filename="nren_external_connections"> diff --git a/compendium-frontend/src/pages/Network/FibreLight.tsx b/compendium-frontend/src/pages/Network/FibreLight.tsx index 7e4e54550330efc26abb19711c54924cd34960e0..7f1f80990af168419bc796ee0cb00f404198e1c4 100644 --- a/compendium-frontend/src/pages/Network/FibreLight.tsx +++ b/compendium-frontend/src/pages/Network/FibreLight.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function FibreLightPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -39,7 +40,7 @@ function FibreLightPage(): React.ReactElement { ]); return ( - <DataPage title="Approaches to lighting NREN fibre networks" + <DataPage title={titles['fibre-light']} description="This graphic shows the different ways NRENs can light their fibre networks. The option 'Other' is given, with extra information if you hover over the icon." category={Sections.Network} filter={filterNode} diff --git a/compendium-frontend/src/pages/Network/IRUDuration.tsx b/compendium-frontend/src/pages/Network/IRUDuration.tsx index 2b5403fafc5ac9e21beca7ef7100f8855a906c57..36fac6cd6c5d622627f7a931c587c2344d8ed921 100644 --- a/compendium-frontend/src/pages/Network/IRUDuration.tsx +++ b/compendium-frontend/src/pages/Network/IRUDuration.tsx @@ -21,6 +21,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -54,7 +55,7 @@ function IRUDurationPage(): ReactElement { const options = getLineChartOptions({ title: 'Lease Duration In Years', tooltipUnit: 'years', tickLimit: 999 }); return ( - <DataPage title="Average Duration of IRU leases of Fibre by NRENs " + <DataPage title={titles['iru-duration']} description={<span>NRENs sometimes take out an IRU (Indefeasible Right of Use), which is essentially a long-term lease, on a portion of the capacity of a cable rather than laying cable themselves. This graph shows the average duration, diff --git a/compendium-frontend/src/pages/Network/MonitoringTools.tsx b/compendium-frontend/src/pages/Network/MonitoringTools.tsx index c69a8630b3150f5890ae5c7c4aa1e6572e0c40e8..2d3e804e5c4971631e037524fc7190c0f718df1f 100644 --- a/compendium-frontend/src/pages/Network/MonitoringTools.tsx +++ b/compendium-frontend/src/pages/Network/MonitoringTools.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function MonitoringToolsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -52,7 +53,7 @@ function MonitoringToolsPage(): React.ReactElement { /> return ( - <DataPage title="Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions" + <DataPage title={titles['monitoring-tools']} description="The table below shows which tools the NREN offers to client institutions to allow them to monitor the network and troubleshoot any issues which arise. Four common tools are named, however NRENs also have the opportunity to add their own tools to the table." category={Sections.Network} filter={filterNode} diff --git a/compendium-frontend/src/pages/Network/NetworkFunctionVirtualisation.tsx b/compendium-frontend/src/pages/Network/NetworkFunctionVirtualisation.tsx index 7686e211ca32e232c4ff3a27fc3d4c15ef9822e3..668b76f788c1af33f0373973f0071a3a5223dee3 100644 --- a/compendium-frontend/src/pages/Network/NetworkFunctionVirtualisation.tsx +++ b/compendium-frontend/src/pages/Network/NetworkFunctionVirtualisation.tsx @@ -10,6 +10,7 @@ import { Sections } from "../../helpers/constants"; import { FilterSelectionContext } from "../../providers/FilterSelectionProvider"; import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; +import titles from "@/titles"; function NetworkFunctionVirtualisationPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -31,7 +32,7 @@ function NetworkFunctionVirtualisationPage(): React.ReactElement { const showYears = [...filterSelection.selectedYears.filter(year => years.has(year))].sort(); return ( - <DataPage title="Kinds of Network Function Virtualisation used by NRENs " + <DataPage title={titles.nfv} description="The table below shows the kinds of Network Function Virtualisation (NFV) used by NRENs." category={Sections.Network} filter={filterNode} data={selectedData} filename="network_function_virtualisation_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/NetworkMapUrls.tsx b/compendium-frontend/src/pages/Network/NetworkMapUrls.tsx index eb85dea4b80045fca5be9224e602e514f39364de..9275e91928435da03661bd07ebb1347e21d58b4d 100644 --- a/compendium-frontend/src/pages/Network/NetworkMapUrls.tsx +++ b/compendium-frontend/src/pages/Network/NetworkMapUrls.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import NrenYearTable from "../../components/NrenYearTable"; +import titles from "@/titles"; function NetworkMapUrlPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -37,7 +38,7 @@ function NetworkMapUrlPage(): React.ReactElement { /> return ( - <DataPage title="NREN Network Maps" + <DataPage title={titles['network-map']} description="This table provides links to NREN network maps, showing layers 1, 2, and 3 of their networks." category={Sections.Network} filter={filterNode} data={selectedData} filename="network_map_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/NonRAndEPeer.tsx b/compendium-frontend/src/pages/Network/NonRAndEPeer.tsx index 0a66206f71585aff51ae94db550cceb9a3323e2d..8e7884cc300ebb6261b2c34cd6f33ac13a622611 100644 --- a/compendium-frontend/src/pages/Network/NonRAndEPeer.tsx +++ b/compendium-frontend/src/pages/Network/NonRAndEPeer.tsx @@ -12,6 +12,7 @@ import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import ChartDataLabels from 'chartjs-plugin-datalabels'; import { getBarChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -43,7 +44,7 @@ function NonRAndEPeerPage() { // set a minimum height of 50rem const height = Math.max(numNrens * filterSelection.selectedYears.length * heightPerBar + 5, 50); - const title = "Number of Non-R&E Networks NRENs Peer With"; + const title = titles['non-rne-peers']; const description = `The graph below shows the number of non-Research and Education networks NRENs peer with. This includes all direct IP-peerings to commercial networks, eg. Google` diff --git a/compendium-frontend/src/pages/Network/OPsAutomation.tsx b/compendium-frontend/src/pages/Network/OPsAutomation.tsx index a7ff5a8a7d889bb34a0714662a05c742c8987abc..729c4e66cbd7ddf6aab46729814b68c472d29dfc 100644 --- a/compendium-frontend/src/pages/Network/OPsAutomation.tsx +++ b/compendium-frontend/src/pages/Network/OPsAutomation.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function OPsAutomationPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -48,7 +49,7 @@ function OPsAutomationPage(): React.ReactElement { /> return ( - <DataPage title="NREN Automation of Operational Processes" + <DataPage title={titles["ops-automation"]} description="The table below shows which NRENs have, or plan to, automate their operational processes, with specification of which processes, and the names of software and tools used for this given when appropriate." diff --git a/compendium-frontend/src/pages/Network/PassiveMonitoring.tsx b/compendium-frontend/src/pages/Network/PassiveMonitoring.tsx index 74f3af16a261bf68e5dbce2c9d8e650423acf2a8..3395097d815f662aaaf9423c7dc0df5ae321f1f5 100644 --- a/compendium-frontend/src/pages/Network/PassiveMonitoring.tsx +++ b/compendium-frontend/src/pages/Network/PassiveMonitoring.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function PassiveMonitoringPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -41,7 +42,7 @@ function PassiveMonitoringPage(): React.ReactElement { ]); return ( - <DataPage title="Methods for Passively Monitoring International Traffic" + <DataPage title={titles['passive-monitoring']} description="The table below shows the methods NRENs use for the passive monitoring of international traffic." category={Sections.Network} filter={filterNode} data={selectedData} filename="passive_monitoring_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/PertTeam.tsx b/compendium-frontend/src/pages/Network/PertTeam.tsx index b024a135cfec7a155679ea8db4fa052d085b747c..2570d4ba2bb704f4d3b2e6759841b0cf712035cc 100644 --- a/compendium-frontend/src/pages/Network/PertTeam.tsx +++ b/compendium-frontend/src/pages/Network/PertTeam.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function PertTeamPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -39,7 +40,7 @@ function PertTeamPage(): React.ReactElement { /> return ( - <DataPage title="NRENs with Performance Enhancement Response Teams" + <DataPage title={titles['pert-team']} description="Some NRENs have an in-house Performance Enhancement Response Team, or PERT, to investigate network performance issues." category={Sections.Network} filter={filterNode} diff --git a/compendium-frontend/src/pages/Network/SiemVendors.tsx b/compendium-frontend/src/pages/Network/SiemVendors.tsx index d3f50aacf8c0f6385c27bd8f4b62f25016dba462..9ea85f66203275c61dde8bb3bfad3ba2b582aa7e 100644 --- a/compendium-frontend/src/pages/Network/SiemVendors.tsx +++ b/compendium-frontend/src/pages/Network/SiemVendors.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function SiemVendorsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -35,7 +36,7 @@ function SiemVendorsPage(): React.ReactElement { ] return ( - <DataPage title="Vendors of SIEM/SOC systems used by NRENs" + <DataPage title={titles['siem-vendors']} description="The table below shows the kinds of vendors of SIEM/SOC systems used by NRENs." category={Sections.Network} filter={filterNode} data={selectedData} filename="siem_vendor_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/TrafficRatio.tsx b/compendium-frontend/src/pages/Network/TrafficRatio.tsx index 46baf3dfb473c5e29d6eaa1b69a9ecaa975c4f95..7f70a03bd1b26e2ce88eb525e3cb5da787bca3ca 100644 --- a/compendium-frontend/src/pages/Network/TrafficRatio.tsx +++ b/compendium-frontend/src/pages/Network/TrafficRatio.tsx @@ -11,6 +11,7 @@ import WithLegend from '../../components/WithLegend'; import htmlLegendPlugin from '../../plugins/HTMLLegendPlugin'; import { FilterSelectionContext } from '../../providers/FilterSelectionProvider'; import { useData } from '../../helpers/useData'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -123,7 +124,7 @@ function TrafficRatioPage() { // set a minimum height of 20rem const height = Math.max(numNrens * heightPerBar, 20); - const title = "Types of traffic in NREN networks (Commodity v. Research & Education)" + const title = titles['traffic-ratio']; const description = "The graph shows the ratio of commodity versus research and education traffic in NREN networks" const filename = "types_of_traffic_in_nren_networks"; diff --git a/compendium-frontend/src/pages/Network/TrafficUrl.tsx b/compendium-frontend/src/pages/Network/TrafficUrl.tsx index 8dd7d8cf568d6a1241d72fd48e001f156e6b4c66..f29618c115d09fd7fbf3738c19f99bb2557a2726 100644 --- a/compendium-frontend/src/pages/Network/TrafficUrl.tsx +++ b/compendium-frontend/src/pages/Network/TrafficUrl.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import NrenYearTable from "../../components/NrenYearTable"; +import titles from "@/titles"; function TrafficUrlPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -37,7 +38,7 @@ function TrafficUrlPage(): React.ReactElement { /> return ( - <DataPage title="Traffic Statistics" + <DataPage title={titles['traffic-stats']} description="This table shows the URL links to NREN websites showing traffic statistics, if available." category={Sections.Network} filter={filterNode} data={selectedData} filename="traffic_stats_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Network/TrafficVolume.tsx b/compendium-frontend/src/pages/Network/TrafficVolume.tsx index 9135843e326fff8d552c63de3d0764e6776646ff..36c5af4d3b80a5c10e593afea626d2b7923eca09 100644 --- a/compendium-frontend/src/pages/Network/TrafficVolume.tsx +++ b/compendium-frontend/src/pages/Network/TrafficVolume.tsx @@ -21,6 +21,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -60,7 +61,7 @@ function TrafficVolumePage(): ReactElement { /> return ( - <DataPage title="NREN Traffic - NREN Customers & External Networks" + <DataPage title={titles['traffic-volume']} description={<span>The four graphs below show the estimates of total annual traffic in PB (1000 TB) to & from NREN customers, and to & from external networks. NREN customers are taken to mean sources that are part of the NREN's connectivity remit, while external networks are understood as outside sources including GÉANT, the general/commercial internet, internet diff --git a/compendium-frontend/src/pages/Network/WeatherMap.tsx b/compendium-frontend/src/pages/Network/WeatherMap.tsx index 54029af8470073b87a9b612df9b3b4b5592022bb..839dcc9ec380fe55403f3e7a08f5f5b61753326e 100644 --- a/compendium-frontend/src/pages/Network/WeatherMap.tsx +++ b/compendium-frontend/src/pages/Network/WeatherMap.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import NrenYearTable from "../../components/NrenYearTable"; +import titles from "@/titles"; function NetworkWeatherMapPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -36,7 +37,7 @@ function NetworkWeatherMapPage(): React.ReactElement { /> return ( - <DataPage title="NREN Online Network Weather Maps " + <DataPage title={titles['weather-map']} description="This table shows the URL links to NREN websites showing weather map, if available." category={Sections.Network} filter={filterNode} data={selectedData} filename="weather_map_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Organization/Budget.tsx b/compendium-frontend/src/pages/Organization/Budget.tsx index 7da00a2bd546b8046df7f24d3bc00c4ab74d9292..69469faae749291d2df3f32f9782fd1d2d6e6456 100644 --- a/compendium-frontend/src/pages/Organization/Budget.tsx +++ b/compendium-frontend/src/pages/Organization/Budget.tsx @@ -21,6 +21,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import { getLineChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -52,7 +53,7 @@ function BudgetPage(): ReactElement { const options = getLineChartOptions({ title: 'Budget in M€', tooltipUnit: 'M€', unit: 'M€' }); return ( - <DataPage title="Budget of NRENs per Year" + <DataPage title={titles.budget} description={<span>The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive. <br />NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects. <br />Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year.</span>} category={Sections.Organisation} filter={filterNode} diff --git a/compendium-frontend/src/pages/Organization/ChargingStructure.tsx b/compendium-frontend/src/pages/Organization/ChargingStructure.tsx index 4f34eb376199f8560a76ecc3581139eb913eab86..a523e9ed3f8817666eee8cecf69d3acf1c372c51 100644 --- a/compendium-frontend/src/pages/Organization/ChargingStructure.tsx +++ b/compendium-frontend/src/pages/Organization/ChargingStructure.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function ChargingStructurePage(): React.ReactElement { @@ -46,7 +47,7 @@ function ChargingStructurePage(): React.ReactElement { ]); return ( - <DataPage title="Charging Mechanism of NRENs" + <DataPage title={titles.charging} description="The charging structure is the way in which NRENs charge their customers for the services they provide. The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge. By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs." diff --git a/compendium-frontend/src/pages/Organization/FundingSource.tsx b/compendium-frontend/src/pages/Organization/FundingSource.tsx index 515e7bf246a0f09c2ddc9faa8fdb37d72641fb6e..54c35c5cdffe84cd30ade63785323795ae94717d 100644 --- a/compendium-frontend/src/pages/Organization/FundingSource.tsx +++ b/compendium-frontend/src/pages/Organization/FundingSource.tsx @@ -13,6 +13,7 @@ import ColorBadge from '../../components/ColorBadge'; import { FilterSelectionContext } from '../../providers/FilterSelectionProvider'; import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -160,7 +161,7 @@ function FundingSourcePage() { // set a minimum height of 20rem, additional years need some more space const height = numNrens * numYears * heightPerBar + 5; return ( - <DataPage title="Income Source Of NRENs" + <DataPage title={titles.funding} description={<span>The graph shows the percentage share of their income that NRENs derive from different sources, with any funding and NREN may receive from GÉANT included within "European funding". By "Client institutions" NRENs may be referring to universities, schools, research institutes, commercial clients, or other types of organisation. "Commercial services" include services such as being a domain registry, or security support. <br />Hovering over the graph bars will show the exact figures, per source. When viewing multiple years, it is advisable to restrict the number of NRENs being compared.</span>} category={Sections.Organisation} filter={filterNode} diff --git a/compendium-frontend/src/pages/Organization/StaffGraph.tsx b/compendium-frontend/src/pages/Organization/StaffGraph.tsx index ed2ee758e7ba6252743e9cdf1ad4cfdb55fe2e2d..f4c7c56e2808c3b7d13da1980ed6d9dd196ae092 100644 --- a/compendium-frontend/src/pages/Organization/StaffGraph.tsx +++ b/compendium-frontend/src/pages/Organization/StaffGraph.tsx @@ -11,6 +11,7 @@ import WithLegend from '../../components/WithLegend'; import htmlLegendPlugin from '../../plugins/HTMLLegendPlugin'; import { FilterSelectionContext } from '../../providers/FilterSelectionProvider'; import { useData } from '../../helpers/useData'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -132,11 +133,14 @@ function StaffGraphPage({ roles = false }: inputProps) { const height = Math.max(numNrens * heightPerBar, 20); const title = roles - ? "Roles of NREN employees (Technical v. Non-Technical)" - : "Types of Employment within NRENs"; + ? titles.roles + : titles.employment; const description = roles - ? "The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. The exact figures of how many FTEs are dedicated to these two different functional areas can be accessed by downloading the data in either CSV or Excel format" - : "The graph shows the percentage of NREN staff who are permanent, and those who are subcontracted. The structures and models of NRENs differ across the community, which is reflected in the types of employment offered. The NRENs are asked to provide the Full Time Equivalents (FTEs) rather absolute numbers of staff."; + ? `The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. + The exact figures of how many FTEs are dedicated to these two different functional areas can be accessed by downloading the data in either CSV or Excel format` + : `The graph shows the percentage of NREN staff who are permanent, and those who are subcontracted. + The structures and models of NRENs differ across the community, which is reflected in the types of employment offered. + The NRENs are asked to provide the Full Time Equivalents (FTEs) rather absolute numbers of staff.`; const filename = roles ? "roles_of_nren_employees" : "types_of_employment_for_nrens"; return ( diff --git a/compendium-frontend/src/pages/Organization/StaffGraphAbsolute.tsx b/compendium-frontend/src/pages/Organization/StaffGraphAbsolute.tsx index 9d7e251c2c9e53943498ad15f3a31e7c6e1e3845..72324a24a6c9659b8db1ef070d724f8909c30eed 100644 --- a/compendium-frontend/src/pages/Organization/StaffGraphAbsolute.tsx +++ b/compendium-frontend/src/pages/Organization/StaffGraphAbsolute.tsx @@ -12,6 +12,7 @@ import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import ChartDataLabels from 'chartjs-plugin-datalabels'; import { getBarChartOptions } from '../../helpers/charthelpers'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -44,7 +45,7 @@ function StaffGraphAbsolutePage() { // set a minimum height of 50rem const height = Math.max(numNrens * filterSelection.selectedYears.length * heightPerBar + 5, 50); - const title = "Number of NREN Employees"; + const title = titles["employee-count"]; const description = `The graph shows the total number of employees (in FTEs) at each NREN. When filling in the survey, NRENs are asked about the number of staff engaged (whether permanent or subcontracted) in NREN activities. Please note that diversity within the NREN community means that there is not one single definition of what constitutes "NREN activities". Therefore due to differences in how their organisations are arranged, and the relationship, in some cases, with parent organisations, there can be inconsistencies in how NRENs approach this question.` const options = getBarChartOptions({ tooltipPrefix: "FTEs", title: "Full-Time Equivalents" }); diff --git a/compendium-frontend/src/pages/Organization/SubOrganisation.tsx b/compendium-frontend/src/pages/Organization/SubOrganisation.tsx index 9bf4efacd3b9b7a8bbac01e04397c6c9bc504981..1a7e11e2be0eebb160802308c5481c0640e4d8de 100644 --- a/compendium-frontend/src/pages/Organization/SubOrganisation.tsx +++ b/compendium-frontend/src/pages/Organization/SubOrganisation.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import NrenYearTable from '../../components/NrenYearTable'; +import titles from "@/titles"; function SubOrganisationPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -33,7 +34,7 @@ function SubOrganisationPage() { /> return ( - <DataPage title="NREN Sub-Organisations" + <DataPage title={titles.suborganisations} description='NRENs are asked whether they have any sub-organisations, and to give the name and role of these organisations. These organisations can include HPC centres or IDC federations, amongst many others.' category={Sections.Organisation} filter={filterNode} data={selectedData} filename='nren_suborganisations'> diff --git a/compendium-frontend/src/pages/Services/Services.tsx b/compendium-frontend/src/pages/Services/Services.tsx index cce5adca86d956f0bfba8aaf33d946fc5e359eec..6e01b018d17851c3e28ac070b662e011cd4c56d6 100644 --- a/compendium-frontend/src/pages/Services/Services.tsx +++ b/compendium-frontend/src/pages/Services/Services.tsx @@ -10,16 +10,7 @@ import { Sections } from "../../helpers/constants"; import { FilterSelectionContext } from "../../providers/FilterSelectionProvider"; import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; - -const CategoryFriendlyNames = {}; -CategoryFriendlyNames[ServiceCategory.network_services] = "network"; -CategoryFriendlyNames[ServiceCategory.isp_support] = "ISP support"; -CategoryFriendlyNames[ServiceCategory.security] = "security"; -CategoryFriendlyNames[ServiceCategory.identity] = "identity"; -CategoryFriendlyNames[ServiceCategory.collaboration] = "collaboration"; -CategoryFriendlyNames[ServiceCategory.multimedia] = "multimedia"; -CategoryFriendlyNames[ServiceCategory.storage_and_hosting] = "storage and hosting"; -CategoryFriendlyNames[ServiceCategory.professional_services] = "professional"; +import titles from "@/titles"; interface inputProps { category: ServiceCategory @@ -53,8 +44,37 @@ function ServicesPage({ category }: inputProps): React.ReactElement { const showYears = [...filterSelection.selectedYears.filter(year => years.has(year))].sort(); + let title = ''; + + switch (category) { + case ServiceCategory.network_services: + title = titles["network-services"]; + break; + case ServiceCategory.isp_support: + title = titles["isp-support-services"]; + break; + case ServiceCategory.security: + title = titles["security-services"]; + break; + case ServiceCategory.identity: + title = titles["identity-services"]; + break; + case ServiceCategory.collaboration: + title = titles["collaboration-services"]; + break; + case ServiceCategory.multimedia: + title = titles["multimedia-services"]; + break; + case ServiceCategory.storage_and_hosting: + title = titles["storage-and-hosting-services"]; + break; + case ServiceCategory.professional_services: + title = titles["professional-services"]; + break; + } + return ( - <DataPage title={"NREN " + CategoryFriendlyNames[category] + " services matrix"} + <DataPage title={title} description="The service matrix shows the services NRENs offer to their users. These services are grouped thematically, with navigation possible via. the side menu. NRENs are invited to give extra information about their services; where this is provided, diff --git a/compendium-frontend/src/pages/Standards&Policies/Audits.tsx b/compendium-frontend/src/pages/Standards&Policies/Audits.tsx index afed54ffa5a45680631303ae04a3139d38b4490a..033b01a464087faf6595b59298b5f3fe8b4187c1 100644 --- a/compendium-frontend/src/pages/Standards&Policies/Audits.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/Audits.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function AuditsPage(): React.ReactElement { const dataField = 'audits'; @@ -48,7 +49,7 @@ function AuditsPage(): React.ReactElement { /> return ( - <DataPage title="External and Internal Audits of Information Security Management Systems" + <DataPage title={titles.audits} description="The table below shows whether NRENs have external and/or internal audits of the information security management systems (eg. risk management and policies). Where extra information has been provided, such as whether a certified security auditor diff --git a/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx b/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx index db8c07632245f027c4f67b0fdbeea7dd9c2e9bc4..80002a094cea6ea4bd5bff2a9f938c145faf37e2 100644 --- a/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/BusinessContinuity.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function BusinessContinuityPage(): React.ReactElement { const dataField = 'business_continuity_plans'; @@ -48,7 +49,7 @@ function BusinessContinuityPage(): React.ReactElement { /> return ( - <DataPage title="NREN Business Continuity Planning" + <DataPage title={titles["business-continuity"]} description="The table below shows which NRENs have business continuity plans in place to ensure business continuation and operations. Extra details about whether the NREN complies with any international standards, and whether they test the continuity plans diff --git a/compendium-frontend/src/pages/Standards&Policies/CentralProcurement.tsx b/compendium-frontend/src/pages/Standards&Policies/CentralProcurement.tsx index dbcf86e3040270aab272d672b42ad10af9443db5..d11b14590a608a1433f866385cae9ca5fb4ad432 100644 --- a/compendium-frontend/src/pages/Standards&Policies/CentralProcurement.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/CentralProcurement.tsx @@ -21,6 +21,7 @@ import { createBarChartDataset } from '../../helpers/dataconversion'; import { useData } from '../../helpers/useData'; import { FilterSelectionContext } from '../../providers/FilterSelectionProvider'; import { CentralProcurement } from '../../Schema'; +import titles from "@/titles"; ChartJS.register( CategoryScale, @@ -54,7 +55,7 @@ function CentralProcurementPage() { // set a minimum height of 50rem const height = Math.max(numNrens * filterSelection.selectedYears.length * heightPerBar + 5, 50); - const title = "Value of Software Procured for Customers by NRENs"; + const title = titles["central-procurement"]; const description = <span>Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. diff --git a/compendium-frontend/src/pages/Standards&Policies/CorporateStrategy.tsx b/compendium-frontend/src/pages/Standards&Policies/CorporateStrategy.tsx index aac3ace40ca85b4d7b5a6e7e34468f268fb05b27..bc92f6941f80e63ebe1cd8b43b603101064a7b92 100644 --- a/compendium-frontend/src/pages/Standards&Policies/CorporateStrategy.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/CorporateStrategy.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import NrenYearTable from '../../components/NrenYearTable'; +import titles from "@/titles"; function CorporateStrategyPage() { const dataField = 'strategic_plan'; @@ -36,7 +37,7 @@ function CorporateStrategyPage() { /> return ( - <DataPage title="NREN Corporate Strategies" + <DataPage title={titles["corporate-strategy"]} description='The table below contains links to the NRENs most recent corporate strategic plans. NRENs are asked if updates have been made to their corporate strategy over the previous year. To avoid showing outdated links, only the most recent responses are shown.' diff --git a/compendium-frontend/src/pages/Standards&Policies/CrisisExercises.tsx b/compendium-frontend/src/pages/Standards&Policies/CrisisExercises.tsx index 00492b4df37832db8e1ad3eee9711f0284946e59..07f57d1b0ad783cf5907c34f514397c65de4316c 100644 --- a/compendium-frontend/src/pages/Standards&Policies/CrisisExercises.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/CrisisExercises.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function CrisisExercisesPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -42,7 +43,7 @@ function CrisisExercisesPage(): React.ReactElement { ); return ( - <DataPage title="Crisis Exercises - NREN Operation and Participation" + <DataPage title={titles["crisis-exercise"]} description="Many NRENs run or participate in crisis exercises to test procedures and train employees. The table below shows whether NRENs have run or participated in an exercise in the previous year. " category={Sections.Policy} filter={filterNode} diff --git a/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx b/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx index 7e15e966c0071c09a0a4d5b789e9b642a87469dd..bc529911cdf73c37ced6903c0bacff4f7ebd8b1f 100644 --- a/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/CrisisManagement.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function CrisisManagementPage(): React.ReactElement { const dataField = 'crisis_management_procedure'; @@ -41,7 +42,7 @@ function CrisisManagementPage(): React.ReactElement { /> return ( - <DataPage title="Crisis Management Procedures" + <DataPage title={titles["crisis-management"]} description="The table below shows whether NRENs have a formal crisis management procedure." category={Sections.Policy} filter={filterNode} data={selectedData} filename="crisis_management_nrens_per_year"> diff --git a/compendium-frontend/src/pages/Standards&Policies/EOSCListings.tsx b/compendium-frontend/src/pages/Standards&Policies/EOSCListings.tsx index 246c0ed30e453fa174baf39eede6676de80fa693..bdc3d45b889720b014e5017c5cdd6a1c79dd9a90 100644 --- a/compendium-frontend/src/pages/Standards&Policies/EOSCListings.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/EOSCListings.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from '../../helpers/useData'; import NrenYearTable from '../../components/NrenYearTable'; +import titles from "@/titles"; // The data for this page is not good quality, so it's unlisted for now. @@ -41,7 +42,7 @@ function EOSCListingsPage() { </span> return ( - <DataPage title="NREN Services Listed on the EOSC Portal" + <DataPage title={titles.eosc_listings} description={description} category={Sections.Policy} filter={filterNode} data={selectedData} filename='nren_eosc_listings'> diff --git a/compendium-frontend/src/pages/Standards&Policies/Policy.tsx b/compendium-frontend/src/pages/Standards&Policies/Policy.tsx index d8fc64cbedec06bd1795cc2c7cdf7ccbfc9c04d1..0371a550bc29ecae3134d5987097af86099c983d 100644 --- a/compendium-frontend/src/pages/Standards&Policies/Policy.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/Policy.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from '../../providers/FilterSelectionProvider' import { useData } from '../../helpers/useData'; import ChartContainer from '../../components/graphing/ChartContainer'; import NrenYearTable from '../../components/NrenYearTable'; +import titles from "@/titles"; function PolicyPage() { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -46,7 +47,7 @@ function PolicyPage() { /> return ( - <DataPage title="NREN Policies" + <DataPage title={titles.policy} description='The table shows links to the NRENs policies. We only include links from the most recent response from each NREN.' category={Sections.Policy} filter={filterNode} data={selectedData} filename='nren_policies'> diff --git a/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx b/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx index 4171e2ca2f79131aab2b1c72635d6b584759a34a..7d8f81584adc82d701d8f336fe774087a6e648e8 100644 --- a/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/SecurityControls.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function SecurityControlsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -43,7 +44,7 @@ function SecurityControlsPage(): React.ReactElement { ); return ( - <DataPage title="Security Controls Used by NRENs" + <DataPage title={titles["security-control"]} description="The table below shows the different security controls, such as anti-virus, integrity checkers, and systemic firewalls used by NRENs to protect their assets. Where 'other' controls are mentioned, hover over the marker for more information." category={Sections.Policy} filter={filterNode} diff --git a/compendium-frontend/src/pages/Standards&Policies/ServiceLevelTargets.tsx b/compendium-frontend/src/pages/Standards&Policies/ServiceLevelTargets.tsx index 6f1d680aefa4b560633778ac61b1502a1b4895fd..de940407da006703dc8549a97a5ea254e60f5474 100644 --- a/compendium-frontend/src/pages/Standards&Policies/ServiceLevelTargets.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/ServiceLevelTargets.tsx @@ -8,6 +8,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function ServiceLevelTargetsPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -39,7 +40,7 @@ function ServiceLevelTargetsPage(): React.ReactElement { /> return ( - <DataPage title="NRENs Offering Service Level Targets" + <DataPage title={titles["service-level-targets"]} description="The table below shows which NRENs offer Service Levels Targets for their services. If NRENs have never responded to this question in the survey, they are excluded. " category={Sections.Policy} filter={filterNode} diff --git a/compendium-frontend/src/pages/Standards&Policies/ServiceManagementFramework.tsx b/compendium-frontend/src/pages/Standards&Policies/ServiceManagementFramework.tsx index 27e33b4956547dc0e9c7a350f903ffafd9ad4532..00e60331c69cdbc6c2a7b894e978cad688f5ddc2 100644 --- a/compendium-frontend/src/pages/Standards&Policies/ServiceManagementFramework.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/ServiceManagementFramework.tsx @@ -9,6 +9,7 @@ import { FilterSelectionContext } from "../../providers/FilterSelectionProvider" import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import PillTable from "../../components/PillTable"; +import titles from "@/titles"; function ServiceManagementFrameworkPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -40,7 +41,7 @@ function ServiceManagementFrameworkPage(): React.ReactElement { /> return ( - <DataPage title="NRENs Operating a Formal Service Management Framework" + <DataPage title={titles["service-management-framework"]} description="The chart below shows which NRENs operate a formal service management framework for all of their services. NRENs which have never answered this question cannot be selected." category={Sections.Policy} filter={filterNode} diff --git a/compendium-frontend/src/pages/Standards&Policies/ServicesOffered.tsx b/compendium-frontend/src/pages/Standards&Policies/ServicesOffered.tsx index 82819c4560a5b2d0770722f825830ee59d57af56..ed1191563249a56ec29a1e60b7cf48b785f9eb7a 100644 --- a/compendium-frontend/src/pages/Standards&Policies/ServicesOffered.tsx +++ b/compendium-frontend/src/pages/Standards&Policies/ServicesOffered.tsx @@ -12,6 +12,7 @@ import ChartContainer from "../../components/graphing/ChartContainer"; import { useData } from "../../helpers/useData"; import { ScrollableMatrix } from "../../components/ScrollableMatrix"; import { UserCategories } from "../../helpers/constants"; +import titles from "@/titles"; function ServicesOfferedPage(): React.ReactElement { const { filterSelection, setFilterSelection } = useContext(FilterSelectionContext); @@ -42,7 +43,7 @@ function ServicesOfferedPage(): React.ReactElement { }; return ( - <DataPage title="Services Offered by NRENs by Types of Users" + <DataPage title={titles["services-offered"]} description={<span> The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, diff --git a/compendium-frontend/src/survey/management/SurveySidebar.tsx b/compendium-frontend/src/survey/management/SurveySidebar.tsx index 2b22a4f3e478129359eaa971b0eb751c280e5eeb..248aaa19138bd42a34d019e7c25d48f6c1673193 100644 --- a/compendium-frontend/src/survey/management/SurveySidebar.tsx +++ b/compendium-frontend/src/survey/management/SurveySidebar.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import Link from '../../components/sidebar/LinkWithHighlight'; +import Link from '../../components/LinkWithHighlight'; import Sidebar from '../../components/sidebar/SideBar'; const SurveySidebar = () => { diff --git a/compendium-frontend/src/titles.ts b/compendium-frontend/src/titles.ts new file mode 100644 index 0000000000000000000000000000000000000000..58c483e3e232ec2c3a8a6e7286db0e89a08d1085 --- /dev/null +++ b/compendium-frontend/src/titles.ts @@ -0,0 +1,73 @@ +export default { + // Organization + "budget": "Budget of NRENs per Year", + "funding": "Income Source of NRENs", + "charging": "Charging Mechanism of NRENs", + "employee-count": "Number of NREN Employees", + "roles": "Roles of NREN employees (Technical v. Non-Technical)", + "employment": "Types of Employment within NRENs", + "suborganisations": "NREN Sub-Organisations", + "parentorganisation": "NREN Parent Organisations", + "ec-projects": "NREN Involvement in European Commission Projects", + + // Policy + "policy": "NREN Policies", + "audits": "External and Internal Audits of Information Security Management Systems", + "business-continuity": "NREN Business Continuity Planning", + "central-procurement": "Value of Software Procured for Customers by NRENs", + "crisis-management": "Crisis Management Procedures", + "crisis-exercise": "Crisis Exercises - NREN Operation and Participation", + "eosc_listings": "NREN Services Listed on the EOSC Portal", + "security-control": "Security Controls Used by NRENs", + "services-offered": "Services Offered by NRENs by Types of Users", + "corporate-strategy": "NREN Corporate Strategies", + "service-level-targets": "NRENs Offering Service Level Targets", + "service-management-framework": "NRENs Operating a Formal Service Management Framework", + + // Connected Users + "institutions-urls": "Webpages Listing Institutions and Organisations Connected to NREN Networks", + "connected-proportion": "Proportion of Different Categories of Institutions Served by NRENs", + "connectivity-level": "Level of IP Connectivity by Institution Type", + "connection-carrier": "Methods of Carrying IP Traffic to Users", + "connectivity-load": "Connectivity Load", + "connectivity-growth": "Connectivity Growth", + "remote-campuses": "NREN Connectivity to Remote Campuses in Other Countries", + "commercial-charging-level": "Commercial Charging Level", + "commercial-connectivity": "Commercial Connectivity", + + // Network + "traffic-volume": "NREN Traffic - NREN Customers & External Networks", + "iru-duration": "Average Duration of IRU leases of Fibre by NRENs", + "fibre-light": "Approaches to lighting NREN fibre networks", + "dark-fibre-lease": "Kilometres of Leased Dark Fibre (National)", + "dark-fibre-lease-international": "Kilometres of Leased Dark Fibre (International)", + "dark-fibre-installed": "Kilometres of Installed Dark Fibre", + "network-map": "NREN Network Maps", + "monitoring-tools": "Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions", + "pert-team": "NRENs with Performance Enhancement Response Teams", + "passive-monitoring": "Methods for Passively Monitoring International Traffic", + "traffic-stats": "Traffic Statistics", + "weather-map": "NREN Online Network Weather Maps", + "certificate-provider": "Certification Services used by NRENs", + "siem-vendors": "Vendors of SIEM/SOC systems used by NRENs", + "alien-wave": "NREN Use of 3rd Party Alienwave/Lightpath Services", + "alien-wave-internal": "Internal NREN Use of Alien Waves", + "capacity-largest-link": "Capacity of the Largest Link in an NREN Network", + "external-connections": "NREN External IP Connections", + "capacity-core-ip": "NREN Core IP Capacity", + "non-rne-peers": "Number of Non-R&E Networks NRENs Peer With", + "traffic-ratio": "Types of traffic in NREN networks (Commodity v. Research & Education)", + "ops-automation": "NREN Automation of Operational Processes", + "network-automation": "Network Tasks for which NRENs Use Automation", + "nfv": "Kinds of Network Function Virtualisation used by NRENs", + + // Services + "network-services": "NREN Network services matrix", + "isp-support-services": "NREN ISP support services matrix", + "security-services": "NREN Security services matrix", + "identity-services": "NREN Identity services matrix", + "collaboration-services": "NREN Collaboration services matrix", + "multimedia-services": "NREN Multimedia services matrix", + "storage-and-hosting-services": "NREN Storage and hosting services matrix", + "professional-services": "NREN Professional services matrix", +} as const \ No newline at end of file diff --git a/compendium_v2/static/AlienWave-CoaJ4Ch0.js b/compendium_v2/static/AlienWave-CoaJ4Ch0.js deleted file mode 100644 index 7a6cbf23a8fae02a73c417c228fc61aa2403e0c4..0000000000000000000000000000000000000000 --- a/compendium_v2/static/AlienWave-CoaJ4Ch0.js +++ /dev/null @@ -1,9 +0,0 @@ -import{c as T,r as S,F as Y,j as v,S as E}from"./index.js";import{u as j,g as P,n as R,D as W,F as C,f as F}from"./useData-C0vA-Ut8.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function H(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:h}=S.useContext(Y),{data:_,years:w,nrens:y}=j("/api/alien-wave",h,x);let s,p;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=P(s,"alien_wave_third_party");p=R(D,M),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const N=p;let i,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","Planned","No"],m=new Map([[i[0],"yes"],[i[1],"planned"],[i[2],"no"]]),e[9]=i,e[10]=m):(i=e[9],m=e[10]);const k=m;let n;e[11]!==w?(n=[...w],e[11]=w,e[12]=n):n=e[12];let r;e[13]!==y?(r=y.values(),e[13]=y,e[14]=r):r=e[14];let l;e[15]!==r?(l=[...r],e[15]=r,e[16]=l):l=e[16];let o;e[17]!==n||e[18]!==l?(o={availableYears:n,availableNrens:l},e[17]=n,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==h||e[22]!==o?(u=v.jsx(C,{filterOptions:o,filterSelection:t,setFilterSelection:h,coloredYears:!0}),e[20]=t,e[21]=h,e[22]=o,e[23]=u):u=e[23];const b=u;let c;e[24]!==N?(c=v.jsx(F,{children:v.jsx(L,{columns:i,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let f;return e[26]!==b||e[27]!==s||e[28]!==c?(f=v.jsx(W,{title:"NREN Use of 3rd Party Alienwave/Lightpath Services",description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. - It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table. - In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a - DWDM line system that pass through the network, i.e. they are not sourced/terminated by the line-system operator’s - equipment (hence “alien”). This setup is in contrast to traditional DWDM systems, where the DWDM light source - (transponder) operates in the same management domain as the amplifiers. - - Where NRENs have given the number of individual alien wavelength services, the figure is available in a hover-over - box. These are indicated by a black line around the coloured marker.`,category:E.Network,filter:b,data:s,filename:"alien_wave_nrens_per_year",children:c}),e[26]=b,e[27]=s,e[28]=c,e[29]=f):f=e[29],f}function M(e,a){if(a.nr_of_alien_wave_third_party_services)return`No. of alien wavelength services: ${a.nr_of_alien_wave_third_party_services} `}export{H as default}; diff --git a/compendium_v2/static/AlienWave-DhaC80F-.js b/compendium_v2/static/AlienWave-DhaC80F-.js new file mode 100644 index 0000000000000000000000000000000000000000..912b876461e47e2d8fcb6a1ba8629c59423e676a --- /dev/null +++ b/compendium_v2/static/AlienWave-DhaC80F-.js @@ -0,0 +1,9 @@ +import{c as T,r as Y,F as S,j as v,t as j,S as E}from"./index.js";import{u as W,g as C,n as F,D as M,F as P,f as R}from"./useData-Ct8E3VVL.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function K(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:p}=Y.useContext(S),{data:_,years:w,nrens:y}=W("/api/alien-wave",p,x);let s,h;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=C(s,"alien_wave_third_party");h=F(D,A),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=h}else s=e[4],h=e[5];const b=h;let n,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","Planned","No"],m=new Map([[n[0],"yes"],[n[1],"planned"],[n[2],"no"]]),e[9]=n,e[10]=m):(n=e[9],m=e[10]);const k=m;let i;e[11]!==w?(i=[...w],e[11]=w,e[12]=i):i=e[12];let r;e[13]!==y?(r=y.values(),e[13]=y,e[14]=r):r=e[14];let l;e[15]!==r?(l=[...r],e[15]=r,e[16]=l):l=e[16];let o;e[17]!==i||e[18]!==l?(o={availableYears:i,availableNrens:l},e[17]=i,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==p||e[22]!==o?(u=v.jsx(P,{filterOptions:o,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=o,e[23]=u):u=e[23];const N=u;let c;e[24]!==b?(c=v.jsx(R,{children:v.jsx(L,{columns:n,columnLookup:k,dataLookup:b})}),e[24]=b,e[25]=c):c=e[25];let f;return e[26]!==N||e[27]!==s||e[28]!==c?(f=v.jsx(M,{title:j["alien-wave"],description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. + It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table. + In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a + DWDM line system that pass through the network, i.e. they are not sourced/terminated by the line-system operator’s + equipment (hence “alien”). This setup is in contrast to traditional DWDM systems, where the DWDM light source + (transponder) operates in the same management domain as the amplifiers. + + Where NRENs have given the number of individual alien wavelength services, the figure is available in a hover-over + box. These are indicated by a black line around the coloured marker.`,category:E.Network,filter:N,data:s,filename:"alien_wave_nrens_per_year",children:c}),e[26]=N,e[27]=s,e[28]=c,e[29]=f):f=e[29],f}function A(e,a){if(a.nr_of_alien_wave_third_party_services)return`No. of alien wavelength services: ${a.nr_of_alien_wave_third_party_services} `}export{K as default}; diff --git a/compendium_v2/static/AlienWaveInternal-CeuaDpIY.js b/compendium_v2/static/AlienWaveInternal-CeuaDpIY.js new file mode 100644 index 0000000000000000000000000000000000000000..69e2a79082c07adfcc38b5e79e56ce007c5c5560 --- /dev/null +++ b/compendium_v2/static/AlienWaveInternal-CeuaDpIY.js @@ -0,0 +1,9 @@ +import{c as k,r as Y,F as S,j as w,t as j,S as F}from"./index.js";import{u as M,g as T,D as W,F as C,f as E}from"./useData-Ct8E3VVL.js";import{P}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const N=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:g,nrens:x}=M("/api/alien-wave",d,N);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=D=>t.selectedYears.includes(D.year)&&t.selectedNrens.includes(D.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=T(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const y=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==g?(a=[...g],e[11]=g,e[12]=a):a=e[12];let l;e[13]!==x?(l=x.values(),e[13]=x,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let h;e[20]!==t||e[21]!==d||e[22]!==r?(h=w.jsx(C,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=h):h=e[23];const _=h;let o;e[24]!==y?(o=w.jsx(E,{children:w.jsx(P,{columns:n,columnLookup:b,dataLookup:y})}),e[24]=y,e[25]=o):o=e[25];let f;return e[26]!==_||e[27]!==s||e[28]!==o?(f=w.jsx(W,{title:j["alien-wave-internal"],description:`The table below shows NREN usage of alien waves internally within their own networks. + This includes, for example, alien waves used between two equipment vendors, + eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment. + + In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe + wavelengths in a DWDM line system that pass through the network, i.e. they are not sourced/terminated + by the line-system operator’s equipment (hence “alien”). This setup is in contrast to traditional + DWDM systems, where the DWDM light source (transponder) operates in the same management domain + as the amplifiers.`,category:F.Network,filter:_,data:s,filename:"alien_wave_internal_nrens_per_year",children:o}),e[26]=_,e[27]=s,e[28]=o,e[29]=f):f=e[29],f}export{B as default}; diff --git a/compendium_v2/static/AlienWaveInternal-F5JHtmfW.js b/compendium_v2/static/AlienWaveInternal-F5JHtmfW.js deleted file mode 100644 index 2eef14dda678f292f9aff4976f3336f249a31d24..0000000000000000000000000000000000000000 --- a/compendium_v2/static/AlienWaveInternal-F5JHtmfW.js +++ /dev/null @@ -1,9 +0,0 @@ -import{c as k,r as Y,F as S,j as w,S as W}from"./index.js";import{u as j,g as F,D as M,F as T,f as C}from"./useData-C0vA-Ut8.js";import{P as E}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function $(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const D=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:N,nrens:g}=j("/api/alien-wave",d,D);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=F(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const x=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==N?(a=[...N],e[11]=N,e[12]=a):a=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let f;e[20]!==t||e[21]!==d||e[22]!==r?(f=w.jsx(T,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=f):f=e[23];const y=f;let o;e[24]!==x?(o=w.jsx(C,{children:w.jsx(E,{columns:n,columnLookup:b,dataLookup:x})}),e[24]=x,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=w.jsx(M,{title:"Internal NREN Use of Alien Waves",description:`The table below shows NREN usage of alien waves internally within their own networks. - This includes, for example, alien waves used between two equipment vendors, - eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment. - - In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe - wavelengths in a DWDM line system that pass through the network, i.e. they are not sourced/terminated - by the line-system operator’s equipment (hence “alien”). This setup is in contrast to traditional - DWDM systems, where the DWDM light source (transponder) operates in the same management domain - as the amplifiers.`,category:W.Network,filter:y,data:s,filename:"alien_wave_internal_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{$ as default}; diff --git a/compendium_v2/static/Audits-BldRnziS.js b/compendium_v2/static/Audits-BldRnziS.js new file mode 100644 index 0000000000000000000000000000000000000000..21b18dbe5bf84d901a6d88ee3b18894e5bd0053b --- /dev/null +++ b/compendium_v2/static/Audits-BldRnziS.js @@ -0,0 +1,5 @@ +import{c as Y,r as w,F as j,j as x,t as F,S as P}from"./index.js";import{u as C,g as D,n as E,D as L,F as R,f as M}from"./useData-Ct8E3VVL.js";import{P as A}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function K(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:b,years:y,nrens:N}=C("/api/standards",u,k);let i,m;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren)&&_.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=b.filter(d);const T=D(i,"audits");m=E(T,I),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const g=m;let a,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],p=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=p):(a=e[9],p=e[10]);const S=p;let r;e[11]!==y?(r=[...y],e[11]=y,e[12]=r):r=e[12];let l;e[13]!==N?(l=N.values(),e[13]=N,e[14]=l):l=e[14];let o;e[15]!==l?(o=[...l],e[15]=l,e[16]=o):o=e[16];let n;e[17]!==r||e[18]!==o?(n={availableYears:r,availableNrens:o},e[17]=r,e[18]=o,e[19]=n):n=e[19];let f;e[20]!==t||e[21]!==u||e[22]!==n?(f=x.jsx(R,{filterOptions:n,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=n,e[23]=f):f=e[23];const v=f;let c;e[24]!==g?(c=x.jsx(M,{children:x.jsx(A,{columns:a,columnLookup:S,dataLookup:g})}),e[24]=g,e[25]=c):c=e[25];let h;return e[26]!==v||e[27]!==i||e[28]!==c?(h=x.jsx(L,{title:F.audits,description:`The table below shows whether NRENs have external and/or internal audits + of the information security management systems (eg. risk management and policies). + Where extra information has been provided, such as whether a certified security auditor + on ISP 27001 is performing the audits, it can be viewed by hovering over the indicator + mark ringed in black.`,category:P.Policy,filter:v,data:i,filename:"audits_nrens_per_year",children:c}),e[26]=v,e[27]=i,e[28]=c,e[29]=h):h=e[29],h}function I(e,s){if(s.audit_specifics)return s.audit_specifics}export{K as default}; diff --git a/compendium_v2/static/Audits-tIxneKrE.js b/compendium_v2/static/Audits-tIxneKrE.js deleted file mode 100644 index 322702d3ab1845ea8d02fa25704a6790716251d8..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Audits-tIxneKrE.js +++ /dev/null @@ -1,5 +0,0 @@ -import{c as Y,r as w,F as j,j as x,S as F}from"./index.js";import{u as P,g as C,n as E,D,F as L,f as I}from"./useData-C0vA-Ut8.js";import{P as M}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function J(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const _=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:y,years:b,nrens:g}=P("/api/standards",u,_);let i,m;if(e[1]!==y||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&v.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=y.filter(d);const T=C(i,"audits");m=E(T,R),e[1]=y,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const N=m;let a,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],f=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=f):(a=e[9],f=e[10]);const k=f;let r;e[11]!==b?(r=[...b],e[11]=b,e[12]=r):r=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let n;e[15]!==l?(n=[...l],e[15]=l,e[16]=n):n=e[16];let o;e[17]!==r||e[18]!==n?(o={availableYears:r,availableNrens:n},e[17]=r,e[18]=n,e[19]=o):o=e[19];let p;e[20]!==t||e[21]!==u||e[22]!==o?(p=x.jsx(L,{filterOptions:o,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=o,e[23]=p):p=e[23];const S=p;let c;e[24]!==N?(c=x.jsx(I,{children:x.jsx(M,{columns:a,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==S||e[27]!==i||e[28]!==c?(h=x.jsx(D,{title:"External and Internal Audits of Information Security Management Systems",description:`The table below shows whether NRENs have external and/or internal audits - of the information security management systems (eg. risk management and policies). - Where extra information has been provided, such as whether a certified security auditor - on ISP 27001 is performing the audits, it can be viewed by hovering over the indicator - mark ringed in black.`,category:F.Policy,filter:S,data:i,filename:"audits_nrens_per_year",children:c}),e[26]=S,e[27]=i,e[28]=c,e[29]=h):h=e[29],h}function R(e,s){if(s.audit_specifics)return s.audit_specifics}export{J as default}; diff --git a/compendium_v2/static/Automation-4jvTE-gK.js b/compendium_v2/static/Automation-4jvTE-gK.js deleted file mode 100644 index e91e9a850fc8e587ded9d2ae89ea6fd1bd751597..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Automation-4jvTE-gK.js +++ /dev/null @@ -1,5 +0,0 @@ -import{c as ee,r as te,F as se,S as ne,j as t}from"./index.js";import{u as le,g as oe,F as re,D as ie,f as ae}from"./useData-C0vA-Ut8.js";import{C as K}from"./ColorPill-CXvWIfWz.js";import{T as ce}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function ge(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:Q,years:c,nrens:R}=le("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==Q||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=E=>l.selectedYears.includes(E.year)&&l.selectedNrens.includes(E.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=Q.filter(A),X=oe(V,"network_automation");let T;e[23]!==c?(T=[...c],e[23]=c,e[24]=T):T=e[24];let C;e[25]!==R?(C=R.values(),e[25]=R,e[26]=C):C=e[26];let D;e[27]!==C?(D=[...C],e[27]=C,e[28]=D):D=e[28];let $;e[29]!==T||e[30]!==D?($={availableYears:T,availableNrens:D},e[29]=T,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(re,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=E=>c.has(E),e[36]=c,e[37]=M):M=e[37];const U=[...l.selectedYears.filter(M)].sort();x=ie,b="Network Tasks for which NRENs Use Automation ",S=`The table below shows which NRENs have, or plan to, automate their - operational processes, with specification of which processes, and the names of - software and tools used for this given when appropriate. - Where NRENs indicated that they are using automation for some network tasks, - but did not specify which type of tasks, a marker has been placed in the 'other' column.`,Y=ne.Network,v=Z,g=V,w="network_automation_nrens_per_year",f=ae,m=ce,u="charging-struct-table",y=!0,_=!0;let W;e[38]===Symbol.for("react.memo_cache_sentinel")?(W=t.jsx("col",{span:1,style:{width:"16%"}}),e[38]=W):W=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"12%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"12%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"12%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"12%"}}),e[42]=G):G=e[42];let H;e[43]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsx("col",{span:2,style:{width:"12%"}}),e[43]=H):H=e[43];let J;e[44]===Symbol.for("react.memo_cache_sentinel")?(J=t.jsx("col",{span:2,style:{width:"12%"}}),e[44]=J):J=e[44],e[45]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsxs("colgroup",{children:[W,q,z,B,G,H,J,t.jsx("col",{span:2,style:{width:"12%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Device Provisioning"}),t.jsx("th",{colSpan:2,children:"Data Collection"}),t.jsx("th",{colSpan:2,children:"Configuration Management"}),t.jsx("th",{colSpan:2,children:"Compliance"}),t.jsx("th",{colSpan:2,children:"Reporting"}),t.jsx("th",{colSpan:2,children:"Troubleshooting"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[45]=h,e[46]=d):(h=e[45],d=e[46]),j=Array.from(X.entries()).map(E=>{const[F,o]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:F}),["provisioning","data_collection","config_management","compliance","reporting","troubleshooting"].map(n=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:o.has("yes")&&U.map(s=>{var a,I;const r=(a=o.get("yes"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("yes"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-yes`),t.jsx("td",{children:o.has("planned")&&U.map(s=>{var a,I;const r=(a=o.get("planned"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("planned"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-planned`)]})),t.jsx("td",{children:o.has("yes")&&U.map(n=>{var i,a;const s=(i=o.get("yes"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("yes"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-yes`),t.jsx("td",{children:o.has("planned")&&U.map(n=>{var i,a;const s=(i=o.get("planned"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("planned"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-planned`)]},F)}),e[0]=l,e[1]=R,e[2]=Q,e[3]=p,e[4]=c,e[5]=m,e[6]=f,e[7]=x,e[8]=j,e[9]=u,e[10]=g,e[11]=w,e[12]=y,e[13]=_,e[14]=h,e[15]=d,e[16]=b,e[17]=S,e[18]=Y,e[19]=v}else m=e[5],f=e[6],x=e[7],j=e[8],u=e[9],g=e[10],w=e[11],y=e[12],_=e[13],h=e[14],d=e[15],b=e[16],S=e[17],Y=e[18],v=e[19];let N;e[47]!==j?(N=t.jsx("tbody",{children:j}),e[47]=j,e[48]=N):N=e[48];let k;e[49]!==m||e[50]!==u||e[51]!==N||e[52]!==y||e[53]!==_||e[54]!==h||e[55]!==d?(k=t.jsxs(m,{className:u,striped:y,bordered:_,children:[h,d,N]}),e[49]=m,e[50]=u,e[51]=N,e[52]=y,e[53]=_,e[54]=h,e[55]=d,e[56]=k):k=e[56];let P;e[57]!==f||e[58]!==k?(P=t.jsx(f,{children:k}),e[57]=f,e[58]=k,e[59]=P):P=e[59];let O;return e[60]!==x||e[61]!==g||e[62]!==w||e[63]!==P||e[64]!==b||e[65]!==S||e[66]!==Y||e[67]!==v?(O=t.jsx(x,{title:b,description:S,category:Y,filter:v,data:g,filename:w,children:P}),e[60]=x,e[61]=g,e[62]=w,e[63]=P,e[64]=b,e[65]=S,e[66]=Y,e[67]=v,e[68]=O):O=e[68],O}export{ge as default}; diff --git a/compendium_v2/static/Automation-BAaw7w82.js b/compendium_v2/static/Automation-BAaw7w82.js new file mode 100644 index 0000000000000000000000000000000000000000..5d331bca2c5fa160345c29b0ceb06610d17cfd68 --- /dev/null +++ b/compendium_v2/static/Automation-BAaw7w82.js @@ -0,0 +1,5 @@ +import{c as ee,r as te,F as se,S as ne,j as t,t as le}from"./index.js";import{u as oe,g as re,F as ie,D as ae,f as ce}from"./useData-Ct8E3VVL.js";import{C as Q}from"./ColorPill-CXvWIfWz.js";import{T as he}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function we(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:U,years:c,nrens:R}=oe("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==U||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=F=>l.selectedYears.includes(F.year)&&l.selectedNrens.includes(F.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=U.filter(A),X=re(V,"network_automation");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let D;e[27]!==T?(D=[...T],e[27]=T,e[28]=D):D=e[28];let $;e[29]!==C||e[30]!==D?($={availableYears:C,availableNrens:D},e[29]=C,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(ie,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=F=>c.has(F),e[36]=c,e[37]=M):M=e[37];const W=[...l.selectedYears.filter(M)].sort();x=ae,b=le["network-automation"],S=`The table below shows which NRENs have, or plan to, automate their + operational processes, with specification of which processes, and the names of + software and tools used for this given when appropriate. + Where NRENs indicated that they are using automation for some network tasks, + but did not specify which type of tasks, a marker has been placed in the 'other' column.`,Y=ne.Network,v=Z,g=V,w="network_automation_nrens_per_year",f=ce,m=he,u="charging-struct-table",y=!0,_=!0;let q;e[38]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:1,style:{width:"16%"}}),e[38]=q):q=e[38];let z;e[39]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"12%"}}),e[39]=z):z=e[39];let B;e[40]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"12%"}}),e[40]=B):B=e[40];let G;e[41]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"12%"}}),e[41]=G):G=e[41];let H;e[42]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsx("col",{span:2,style:{width:"12%"}}),e[42]=H):H=e[42];let J;e[43]===Symbol.for("react.memo_cache_sentinel")?(J=t.jsx("col",{span:2,style:{width:"12%"}}),e[43]=J):J=e[43];let K;e[44]===Symbol.for("react.memo_cache_sentinel")?(K=t.jsx("col",{span:2,style:{width:"12%"}}),e[44]=K):K=e[44],e[45]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsxs("colgroup",{children:[q,z,B,G,H,J,K,t.jsx("col",{span:2,style:{width:"12%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Device Provisioning"}),t.jsx("th",{colSpan:2,children:"Data Collection"}),t.jsx("th",{colSpan:2,children:"Configuration Management"}),t.jsx("th",{colSpan:2,children:"Compliance"}),t.jsx("th",{colSpan:2,children:"Reporting"}),t.jsx("th",{colSpan:2,children:"Troubleshooting"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[45]=h,e[46]=d):(h=e[45],d=e[46]),j=Array.from(X.entries()).map(F=>{const[E,o]=F;return t.jsxs("tr",{children:[t.jsx("td",{children:E}),["provisioning","data_collection","config_management","compliance","reporting","troubleshooting"].map(n=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:o.has("yes")&&W.map(s=>{var a,I;const r=(a=o.get("yes"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(Q,{year:s,active:!!((I=o.get("yes"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${E}-${n}-yes`),t.jsx("td",{children:o.has("planned")&&W.map(s=>{var a,I;const r=(a=o.get("planned"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(Q,{year:s,active:!!((I=o.get("planned"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${E}-${n}-planned`)]})),t.jsx("td",{children:o.has("yes")&&W.map(n=>{var i,a;const s=(i=o.get("yes"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(Q,{year:n,active:!!((a=o.get("yes"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${E}-other-yes`),t.jsx("td",{children:o.has("planned")&&W.map(n=>{var i,a;const s=(i=o.get("planned"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(Q,{year:n,active:!!((a=o.get("planned"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${E}-other-planned`)]},E)}),e[0]=l,e[1]=R,e[2]=U,e[3]=p,e[4]=c,e[5]=m,e[6]=f,e[7]=x,e[8]=j,e[9]=u,e[10]=g,e[11]=w,e[12]=y,e[13]=_,e[14]=h,e[15]=d,e[16]=b,e[17]=S,e[18]=Y,e[19]=v}else m=e[5],f=e[6],x=e[7],j=e[8],u=e[9],g=e[10],w=e[11],y=e[12],_=e[13],h=e[14],d=e[15],b=e[16],S=e[17],Y=e[18],v=e[19];let k;e[47]!==j?(k=t.jsx("tbody",{children:j}),e[47]=j,e[48]=k):k=e[48];let N;e[49]!==m||e[50]!==u||e[51]!==k||e[52]!==y||e[53]!==_||e[54]!==h||e[55]!==d?(N=t.jsxs(m,{className:u,striped:y,bordered:_,children:[h,d,k]}),e[49]=m,e[50]=u,e[51]=k,e[52]=y,e[53]=_,e[54]=h,e[55]=d,e[56]=N):N=e[56];let P;e[57]!==f||e[58]!==N?(P=t.jsx(f,{children:N}),e[57]=f,e[58]=N,e[59]=P):P=e[59];let O;return e[60]!==x||e[61]!==g||e[62]!==w||e[63]!==P||e[64]!==b||e[65]!==S||e[66]!==Y||e[67]!==v?(O=t.jsx(x,{title:b,description:S,category:Y,filter:v,data:g,filename:w,children:P}),e[60]=x,e[61]=g,e[62]=w,e[63]=P,e[64]=b,e[65]=S,e[66]=Y,e[67]=v,e[68]=O):O=e[68],O}export{we as default}; diff --git a/compendium_v2/static/Budget-BVbbdsI6.js b/compendium_v2/static/Budget-BVbbdsI6.js new file mode 100644 index 0000000000000000000000000000000000000000..9dd6635e3713505c7e95d1044d21124ace2e7bc6 --- /dev/null +++ b/compendium_v2/static/Budget-BVbbdsI6.js @@ -0,0 +1 @@ +import{c as _,r as S,F as j,j as s,t as v,S as C}from"./index.js";import{L as R}from"./index-C4Nuqrw6.js";import{C as L,a as w,L as D,P as F,b as P,p as M,c as O,d as T,u as B,e as G,D as k,F as q,f as A}from"./useData-Ct8E3VVL.js";import{g as H}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";L.register(w,D,F,P,M,O,T);function Q(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=B("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=G(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(q,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=H({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(A,{children:s.jsx(R,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(k,{title:v.budget,description:p,category:C.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{Q as default}; diff --git a/compendium_v2/static/Budget-Dcza_nDS.js b/compendium_v2/static/Budget-Dcza_nDS.js deleted file mode 100644 index 130a253839e02be95c416441a9395a4ff81de49f..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Budget-Dcza_nDS.js +++ /dev/null @@ -1 +0,0 @@ -import{c as _,r as S,F as j,j as s,S as v}from"./index.js";import{L as C}from"./index-BJrPLJgf.js";import{C as R,a as L,L as w,P as D,b as F,p as P,c as B,d as M,u as O,e as T,D as G,F as Y,f as k}from"./useData-C0vA-Ut8.js";import{g as q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";R.register(L,w,D,F,P,B,M);function K(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=O("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=T(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(Y,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=q({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(k,{children:s.jsx(C,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(G,{title:"Budget of NRENs per Year",description:p,category:v.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{K as default}; diff --git a/compendium_v2/static/BusinessContinuity-CLtH4Vxm.js b/compendium_v2/static/BusinessContinuity-CLtH4Vxm.js new file mode 100644 index 0000000000000000000000000000000000000000..0000db70aa0b340af418ad603be9c33690dd4466 --- /dev/null +++ b/compendium_v2/static/BusinessContinuity-CLtH4Vxm.js @@ -0,0 +1,5 @@ +import{c as v,r as S,F as j,j as y,t as C,S as E}from"./index.js";import{u as F,g as P,n as D,D as L,F as R,f as M}from"./useData-Ct8E3VVL.js";import{P as B}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function Q(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const w=s,{filterSelection:t,setFilterSelection:p}=S.useContext(j),{data:b,years:_,nrens:x}=F("/api/standards",p,w);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const g=P(n,"business_continuity_plans");d=D(g,O),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const N=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const Y=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==x?(o=x.values(),e[13]=x,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==N?(c=y.jsx(M,{children:y.jsx(B,{columns:i,columnLookup:Y,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(L,{title:C["business-continuity"],description:`The table below shows which NRENs have business continuity plans in place to + ensure business continuation and operations. Extra details about whether the NREN + complies with any international standards, and whether they test the continuity plans + regularly can be seen by hovering over the marker. The presence of this extra information + is denoted by a black ring around the marker.`,category:E.Policy,filter:T,data:n,filename:"business_continuity_nrens_per_year",children:c}),e[26]=T,e[27]=n,e[28]=c,e[29]=h):h=e[29],h}function O(e,s){if(s.business_continuity_plans_specifics)return s.business_continuity_plans_specifics}export{Q as default}; diff --git a/compendium_v2/static/BusinessContinuity-WayIenw9.js b/compendium_v2/static/BusinessContinuity-WayIenw9.js deleted file mode 100644 index efb4117cd805f91103fa1257fdefab579053afc7..0000000000000000000000000000000000000000 --- a/compendium_v2/static/BusinessContinuity-WayIenw9.js +++ /dev/null @@ -1,5 +0,0 @@ -import{c as v,r as C,F as E,j as y,S}from"./index.js";import{u as j,g as F,n as P,D as R,F as D,f as L}from"./useData-C0vA-Ut8.js";import{P as B}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function K(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:p}=C.useContext(E),{data:b,years:_,nrens:N}=j("/api/standards",p,k);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren)&&g.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const Y=F(n,"business_continuity_plans");d=P(Y,M),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const x=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const w=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==N?(o=N.values(),e[13]=N,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(D,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==x?(c=y.jsx(L,{children:y.jsx(B,{columns:i,columnLookup:w,dataLookup:x})}),e[24]=x,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(R,{title:"NREN Business Continuity Planning",description:`The table below shows which NRENs have business continuity plans in place to - ensure business continuation and operations. Extra details about whether the NREN - complies with any international standards, and whether they test the continuity plans - regularly can be seen by hovering over the marker. The presence of this extra information - is denoted by a black ring around the marker.`,category:S.Policy,filter:T,data:n,filename:"business_continuity_nrens_per_year",children:c}),e[26]=T,e[27]=n,e[28]=c,e[29]=h):h=e[29],h}function M(e,s){if(s.business_continuity_plans_specifics)return s.business_continuity_plans_specifics}export{K as default}; diff --git a/compendium_v2/static/CapacityCoreIP-CjzYJH11.js b/compendium_v2/static/CapacityCoreIP-CjzYJH11.js new file mode 100644 index 0000000000000000000000000000000000000000..a41351391ce93ba4306ffe70d95d5e667715c300 --- /dev/null +++ b/compendium_v2/static/CapacityCoreIP-CjzYJH11.js @@ -0,0 +1,3 @@ +import{c as P,r as Y,F as I,j as y,S as G,t as R}from"./index.js";import{B as L}from"./index-C4Nuqrw6.js";import{C as O,a as $,L as A,B as M,p as T,c as U,d as q,u as z,o as H,D as J,F as K,f as Q}from"./useData-Ct8E3VVL.js";import{p as V}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import{a as W}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";O.register($,A,M,T,U,q);function oe(){const e=P.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=Y.useContext(I),{data:N,years:d,nrens:u}=z("/api/capacity",s,B);let i,l,a,g;if(e[1]!==N||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=N.filter(n),i=H(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==h?(S=y.jsx(K,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=S):S=e[25],l=S,g=Array.from(new Set(a.map(X))),e[1]=N,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const w=g.length,D=Math.max(w*t.selectedYears.length*1.5+5,50),v=R["capacity-core-ip"],E=`The graph below shows the typical core usable backbone IP capacity of + NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over + the network.`;let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=W({title:v,tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=_):_=e[26];const F=_,k=`${D}rem`;let r;e[27]!==k?(r={height:k},e[27]=k,e[28]=r):r=e[28];let x;e[29]===Symbol.for("react.memo_cache_sentinel")?(x=[V],e[29]=x):x=e[29];let c;e[30]!==i?(c=y.jsx(L,{data:i,options:F,plugins:x}),e[30]=i,e[31]=c):c=e[31];let o;e[32]!==r||e[33]!==c?(o=y.jsx(Q,{children:y.jsx("div",{className:"chart-container",style:r,children:c})}),e[32]=r,e[33]=c,e[34]=o):o=e[34];let C;return e[35]!==l||e[36]!==a||e[37]!==o?(C=y.jsx(J,{title:v,description:E,category:G.Network,filter:l,data:a,filename:"capacity_core_ip",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=C):C=e[38],C}function X(e){return e.nren}export{oe as default}; diff --git a/compendium_v2/static/CapacityCoreIP-DyN3YGAW.js b/compendium_v2/static/CapacityCoreIP-DyN3YGAW.js deleted file mode 100644 index 3e0903690293d837672cc6c7f83847a594c61804..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CapacityCoreIP-DyN3YGAW.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as I,r as D,F,j as y,S as R}from"./index.js";import{B as Y}from"./index-BJrPLJgf.js";import{C as G,a as L,L as O,B as $,p as A,c as M,d as T,u as U,o as q,D as z,F as H,f as J}from"./useData-C0vA-Ut8.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as Q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";G.register(L,O,$,A,M,T);function re(){const e=I.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=D.useContext(F),{data:S,years:d,nrens:u}=U("/api/capacity",s,B);let i,l,a,g;if(e[1]!==S||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=S.filter(n),i=q(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let N;e[22]!==t||e[23]!==s||e[24]!==h?(N=y.jsx(H,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=N):N=e[25],l=N,g=Array.from(new Set(a.map(V))),e[1]=S,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const E=g.length,P=Math.max(E*t.selectedYears.length*1.5+5,50),v=`The graph below shows the typical core usable backbone IP capacity of - NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over - the network.`;let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=Q({title:"NREN Core IP Capacity",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=C):C=e[26];const w=C,k=`${P}rem`;let r;e[27]!==k?(r={height:k},e[27]=k,e[28]=r):r=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let c;e[30]!==i?(c=y.jsx(Y,{data:i,options:w,plugins:_}),e[30]=i,e[31]=c):c=e[31];let o;e[32]!==r||e[33]!==c?(o=y.jsx(J,{children:y.jsx("div",{className:"chart-container",style:r,children:c})}),e[32]=r,e[33]=c,e[34]=o):o=e[34];let x;return e[35]!==l||e[36]!==a||e[37]!==o?(x=y.jsx(z,{title:"NREN Core IP Capacity",description:v,category:R.Network,filter:l,data:a,filename:"capacity_core_ip",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=x):x=e[38],x}function V(e){return e.nren}export{re as default}; diff --git a/compendium_v2/static/CapacityLargestLink-CCiZ1Jtj.js b/compendium_v2/static/CapacityLargestLink-CCiZ1Jtj.js new file mode 100644 index 0000000000000000000000000000000000000000..abaa5480d10a95551dd2b8eda64a07f111dfa4f0 --- /dev/null +++ b/compendium_v2/static/CapacityLargestLink-CCiZ1Jtj.js @@ -0,0 +1,3 @@ +import{c as L,r as Y,F as G,j as u,S as R,t as O}from"./index.js";import{B as P}from"./index-C4Nuqrw6.js";import{C as $,a as A,L as M,B as U,p as W,c as q,d as z,u as H,o as I,D as J,F as K,f as Q}from"./useData-Ct8E3VVL.js";import{p as T}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import{a as V}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";$.register(A,M,U,W,q,z);function ce(){const e=L.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=o=>o.largest_link_capacity!=null,e[0]=y):y=e[0];const j=y,{filterSelection:t,setFilterSelection:s}=Y.useContext(G),{data:b,years:h,nrens:g}=H("/api/capacity",s,j);let i,l,a,_;if(e[1]!==b||e[2]!==t||e[3]!==g||e[4]!==s||e[5]!==h){let o;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(o=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&j(v),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=o):o=e[12],a=b.filter(o),i=I(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let S;e[22]!==t||e[23]!==s||e[24]!==d?(S=u.jsx(K,{filterOptions:d,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=d,e[25]=S):S=e[25],l=S,_=Array.from(new Set(a.map(X))),e[1]=b,e[2]=t,e[3]=g,e[4]=s,e[5]=h,e[6]=i,e[7]=l,e[8]=a,e[9]=_}else i=e[6],l=e[7],a=e[8],_=e[9];const B=_.length,D=Math.max(B*t.selectedYears.length*1.5+5,50),w=O["capacity-largest-link"],E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in + their network used for internet traffic (either shared or dedicated). While they were invited to + provide the sum of aggregated links, backup capacity was not to be included.`;let k;e[26]===Symbol.for("react.memo_cache_sentinel")?(k=V({title:w,tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=k):k=e[26];const F=k,N=`${D}rem`;let r;e[27]!==N?(r={height:N},e[27]=N,e[28]=r):r=e[28];let x;e[29]===Symbol.for("react.memo_cache_sentinel")?(x=[T],e[29]=x):x=e[29];let n;e[30]!==i?(n=u.jsx(P,{data:i,options:F,plugins:x}),e[30]=i,e[31]=n):n=e[31];let c;e[32]!==r||e[33]!==n?(c=u.jsx(Q,{children:u.jsx("div",{className:"chart-container",style:r,children:n})}),e[32]=r,e[33]=n,e[34]=c):c=e[34];let C;return e[35]!==l||e[36]!==a||e[37]!==c?(C=u.jsx(J,{title:w,description:E,category:R.Network,filter:l,data:a,filename:"capacity_largest_link",children:c}),e[35]=l,e[36]=a,e[37]=c,e[38]=C):C=e[38],C}function X(e){return e.nren}export{ce as default}; diff --git a/compendium_v2/static/CapacityLargestLink-Dk26I_at.js b/compendium_v2/static/CapacityLargestLink-Dk26I_at.js deleted file mode 100644 index a66dbf40ce49eac300d2f5a7407d89786f7e2682..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CapacityLargestLink-Dk26I_at.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as D,r as F,F as R,j as u,S as Y}from"./index.js";import{B as G}from"./index-BJrPLJgf.js";import{C as O,a as P,L as $,B as A,p as M,c as U,d as W,u as q,o as z,D as H,F as I,f as J}from"./useData-C0vA-Ut8.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as Q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";O.register(P,$,A,M,U,W);function re(){const e=D.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=c=>c.largest_link_capacity!=null,e[0]=y):y=e[0];const v=y,{filterSelection:t,setFilterSelection:i}=F.useContext(R),{data:S,years:h,nrens:g}=q("/api/capacity",i,v);let s,l,a,k;if(e[1]!==S||e[2]!==t||e[3]!==g||e[4]!==i||e[5]!==h){let c;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(c=L=>t.selectedYears.includes(L.year)&&t.selectedNrens.includes(L.nren)&&v(L),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=c):c=e[12],a=S.filter(c),s=z(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let C;e[22]!==t||e[23]!==i||e[24]!==d?(C=u.jsx(I,{filterOptions:d,filterSelection:t,setFilterSelection:i}),e[22]=t,e[23]=i,e[24]=d,e[25]=C):C=e[25],l=C,k=Array.from(new Set(a.map(T))),e[1]=S,e[2]=t,e[3]=g,e[4]=i,e[5]=h,e[6]=s,e[7]=l,e[8]=a,e[9]=k}else s=e[6],l=e[7],a=e[8],k=e[9];const w=k.length,j=Math.max(w*t.selectedYears.length*1.5+5,50),E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in - their network used for internet traffic (either shared or dedicated). While they were invited to - provide the sum of aggregated links, backup capacity was not to be included.`;let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=Q({title:"Capacity of the Largest Link in an NREN Network",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=N):N=e[26];const B=N,b=`${j}rem`;let r;e[27]!==b?(r={height:b},e[27]=b,e[28]=r):r=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let n;e[30]!==s?(n=u.jsx(G,{data:s,options:B,plugins:_}),e[30]=s,e[31]=n):n=e[31];let o;e[32]!==r||e[33]!==n?(o=u.jsx(J,{children:u.jsx("div",{className:"chart-container",style:r,children:n})}),e[32]=r,e[33]=n,e[34]=o):o=e[34];let x;return e[35]!==l||e[36]!==a||e[37]!==o?(x=u.jsx(H,{title:"Capacity of the Largest Link in an NREN Network",description:E,category:Y.Network,filter:l,data:a,filename:"capacity_largest_link",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=x):x=e[38],x}function T(e){return e.nren}export{re as default}; diff --git a/compendium_v2/static/CentralProcurement-ILLJKzCj.js b/compendium_v2/static/CentralProcurement-ILLJKzCj.js deleted file mode 100644 index 89b923a36b999ee35c06fc9c8455a625242ba3e7..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CentralProcurement-ILLJKzCj.js +++ /dev/null @@ -1 +0,0 @@ -import{c as F,r as Y,F as I,j as h,S as T}from"./index.js";import{C as V,a as $,L,B as O,p as k,c as A,d as M,u as U,o as Z,D as q,F as z,f as G}from"./useData-C0vA-Ut8.js";import{p as H}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{B as J}from"./index-BJrPLJgf.js";import{a as K}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";V.register($,L,O,k,A,M);function ne(){const e=F.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=Y.useContext(I),{data:w,years:d,nrens:y}=U("/api/central-procurement",l,v);let o,n,r,N;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=Z(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(z,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,N=Array.from(new Set(r.map(Q))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=N}else o=e[6],n=e[7],r=e[8],N=e[9];const P=N.length,R=Math.max(P*t.selectedYears.length*1.5+5,50);let S;e[26]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=S):S=e[26];const B=S;let x;e[27]===Symbol.for("react.memo_cache_sentinel")?(x=K({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=x):x=e[27];const D=x,E=`${R}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[H],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(J,{data:o,options:D,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(G,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(q,{title:"Value of Software Procured for Customers by NRENs",description:B,category:T.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function Q(e){return e.nren}export{ne as default}; diff --git a/compendium_v2/static/CentralProcurement-ufKA5cDY.js b/compendium_v2/static/CentralProcurement-ufKA5cDY.js new file mode 100644 index 0000000000000000000000000000000000000000..f3e75b0ba918a1f71cb0bb1d593527c95abad930 --- /dev/null +++ b/compendium_v2/static/CentralProcurement-ufKA5cDY.js @@ -0,0 +1 @@ +import{c as Y,r as I,F as T,j as h,S as $,t as L}from"./index.js";import{C as O,a as V,L as k,B as A,p as M,c as U,d as Z,u as q,o as z,D as G,F as H,f as J}from"./useData-Ct8E3VVL.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import{B as Q}from"./index-C4Nuqrw6.js";import{a as W}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";O.register(V,k,A,M,U,Z);function ce(){const e=Y.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=I.useContext(T),{data:w,years:d,nrens:y}=q("/api/central-procurement",l,v);let o,n,r,x;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=z(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(H,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,x=Array.from(new Set(r.map(X))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=x}else o=e[6],n=e[7],r=e[8],x=e[9];const P=x.length,B=Math.max(P*t.selectedYears.length*1.5+5,50),D=L["central-procurement"];let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=N):N=e[26];const F=N;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=W({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=S):S=e[27];const R=S,E=`${B}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(Q,{data:o,options:R,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(J,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(G,{title:D,description:F,category:$.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function X(e){return e.nren}export{ce as default}; diff --git a/compendium_v2/static/CertificateProvider-4SfZ4yzo.js b/compendium_v2/static/CertificateProvider-4SfZ4yzo.js deleted file mode 100644 index de019edce79006f8410ea19f51d13dcb168fe2b1..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CertificateProvider-4SfZ4yzo.js +++ /dev/null @@ -1 +0,0 @@ -import{c as _,r as E,F as Y,j as N,S as j}from"./index.js";import{u as k,g as D,D as P,F as T,f as w}from"./useData-C0vA-Ut8.js";import{P as F}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=E.useContext(Y),{data:S,years:x,nrens:b}=k("/api/certificate-providers",c);let s,n;if(e[0]!==S||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=y=>t.selectedYears.includes(y.year)&&t.selectedNrens.includes(y.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=S.filter(u),n=D(s,"provider_names"),e[0]=S,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const C=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=N.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const v=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const g=d;let p;e[22]===Symbol.for("react.memo_cache_sentinel")?(p=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=p):p=e[22];const h=p;let a;e[23]!==C?(a=N.jsx(w,{children:N.jsx(F,{columns:g,dataLookup:C,circle:!0,columnLookup:h})}),e[23]=C,e[24]=a):a=e[24];let m;return e[25]!==v||e[26]!==s||e[27]!==a?(m=N.jsx(P,{title:"Certification Services used by NRENs ",description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:j.Network,filter:v,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=v,e[26]=s,e[27]=a,e[28]=m):m=e[28],m}export{B as default}; diff --git a/compendium_v2/static/CertificateProvider-S4Idgrmz.js b/compendium_v2/static/CertificateProvider-S4Idgrmz.js new file mode 100644 index 0000000000000000000000000000000000000000..4f9395c62e2547a045146a7b4b58330bb767735c --- /dev/null +++ b/compendium_v2/static/CertificateProvider-S4Idgrmz.js @@ -0,0 +1 @@ +import{c as _,r as Y,F as j,j as S,t as k,S as D}from"./index.js";import{u as E,g as P,D as T,F as w,f as F}from"./useData-Ct8E3VVL.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function G(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:N,years:x,nrens:b}=E("/api/certificate-providers",c);let s,n;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=N.filter(u),n=P(s,"provider_names"),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const v=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=S.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const C=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const h=d;let p;e[22]===Symbol.for("react.memo_cache_sentinel")?(p=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=p):p=e[22];const y=p;let a;e[23]!==v?(a=S.jsx(F,{children:S.jsx(L,{columns:h,dataLookup:v,circle:!0,columnLookup:y})}),e[23]=v,e[24]=a):a=e[24];let m;return e[25]!==C||e[26]!==s||e[27]!==a?(m=S.jsx(T,{title:k["certificate-provider"],description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:D.Network,filter:C,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=C,e[26]=s,e[27]=a,e[28]=m):m=e[28],m}export{G as default}; diff --git a/compendium_v2/static/ChargingStructure-D6vHlJZ3.js b/compendium_v2/static/ChargingStructure-D6vHlJZ3.js new file mode 100644 index 0000000000000000000000000000000000000000..e0543c76fd18fc8a7690a64d936f618e833a915d --- /dev/null +++ b/compendium_v2/static/ChargingStructure-D6vHlJZ3.js @@ -0,0 +1,3 @@ +import{c as Y,r as j,F as v,j as p,t as E,S as F}from"./index.js";import{u as D,g as R,D as k,F as w,f as P}from"./useData-Ct8E3VVL.js";import{P as T}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function G(){const e=Y.c(29),C=L,{filterSelection:t,setFilterSelection:c}=j.useContext(v),{data:g,years:b,nrens:N}=D("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],a=g.filter(m),f=R(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(w,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const S=d;let o;e[23]!==_?(o=p.jsx(P,{children:p.jsx(T,{columns:s,dataLookup:_,columnLookup:S})}),e[23]=_,e[24]=o):o=e[24];let h;return e[25]!==y||e[26]!==a||e[27]!==o?(h=p.jsx(k,{title:E.charging,description:`The charging structure is the way in which NRENs charge their customers for the services they provide. + The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge. + By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs.`,category:F.Organisation,filter:y,data:a,filename:"charging_mechanism_of_nrens_per_year",children:o}),e[25]=y,e[26]=a,e[27]=o,e[28]=h):h=e[28],h}function L(e){return e.fee_type!=null}export{G as default}; diff --git a/compendium_v2/static/ChargingStructure-LPcFjEsG.js b/compendium_v2/static/ChargingStructure-LPcFjEsG.js deleted file mode 100644 index 63979ad395de3326307c0217d62d3696d3a60afa..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ChargingStructure-LPcFjEsG.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as S,r as Y,F as j,j as p,S as v}from"./index.js";import{u as F,g as R,D,F as k,f as w}from"./useData-C0vA-Ut8.js";import{P}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function A(){const e=S.c(29),C=T,{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:g,years:b,nrens:N}=F("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],a=g.filter(m),f=R(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(k,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const E=d;let o;e[23]!==_?(o=p.jsx(w,{children:p.jsx(P,{columns:s,dataLookup:_,columnLookup:E})}),e[23]=_,e[24]=o):o=e[24];let h;return e[25]!==y||e[26]!==a||e[27]!==o?(h=p.jsx(D,{title:"Charging Mechanism of NRENs",description:`The charging structure is the way in which NRENs charge their customers for the services they provide. - The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge. - By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs.`,category:v.Organisation,filter:y,data:a,filename:"charging_mechanism_of_nrens_per_year",children:o}),e[25]=y,e[26]=a,e[27]=o,e[28]=h):h=e[28],h}function T(e){return e.fee_type!=null}export{A as default}; diff --git a/compendium_v2/static/ConnectedInstitutionsURLs-MamPTDnd.js b/compendium_v2/static/ConnectedInstitutionsURLs-MamPTDnd.js deleted file mode 100644 index 98ccdb44705aa9cb1a3c9dd08f917eb969ccb07c..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ConnectedInstitutionsURLs-MamPTDnd.js +++ /dev/null @@ -1 +0,0 @@ -import{c as h,r as y,F as C,j as x,S as L}from"./index.js";import{u as R,q as k,k as S,i as v,D as w,F as E,f as F,s as O}from"./useData-C0vA-Ut8.js";import{N as T}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function $(){const t=h.c(24),{filterSelection:e,setFilterSelection:s}=y.useContext(C),{data:n,nrens:a}=R("/api/institution-urls",s);let i,o,u;if(t[0]!==n||t[1]!==e||t[2]!==a||t[3]!==s){const g=n?k(n):[];let d;t[7]!==e.selectedNrens?(d=j=>e.selectedNrens.includes(j.nren),t[7]=e.selectedNrens,t[8]=d):d=t[8];const N=g.filter(d),D=S(N);i=v(D,Y);let p;t[9]===Symbol.for("react.memo_cache_sentinel")?(p=[],t[9]=p):p=t[9];let l;t[10]!==a?(l=a.values(),t[10]=a,t[11]=l):l=t[11];let c;t[12]!==l?(c={availableYears:p,availableNrens:[...l]},t[12]=l,t[13]=c):c=t[13];let m;t[14]!==e||t[15]!==s||t[16]!==c?(m=x.jsx(E,{filterOptions:c,filterSelection:e,setFilterSelection:s}),t[14]=e,t[15]=s,t[16]=c,t[17]=m):m=t[17],o=m,u=N.map(U),t[0]=n,t[1]=e,t[2]=a,t[3]=s,t[4]=i,t[5]=o,t[6]=u}else i=t[4],o=t[5],u=t[6];const b=u;let r;t[18]!==i?(r=x.jsx(F,{children:x.jsx(T,{data:i,columnTitle:"Institution URLs",keysAreURLs:!0,noDots:!0})}),t[18]=i,t[19]=r):r=t[19];let f;return t[20]!==b||t[21]!==o||t[22]!==r?(f=x.jsx(w,{title:"Webpages Listing Institutions and Organisations Connected to NREN Networks",description:"Many NRENs have a page on their website listing user institutions. Links to the pages are shown in the table below.",category:L.ConnectedUsers,filter:o,data:b,filename:"institution_urls",children:r}),t[20]=b,t[21]=o,t[22]=r,t[23]=f):f=t[23],f}function U(t){return{...t,urls:(t.urls??[]).join(", ")}}function Y(t,e){const s=O(e);if(s!=null)for(const[n,a]of Object.entries(s))t[n]=a}export{$ as default}; diff --git a/compendium_v2/static/ConnectedInstitutionsURLs-gUMBROcH.js b/compendium_v2/static/ConnectedInstitutionsURLs-gUMBROcH.js new file mode 100644 index 0000000000000000000000000000000000000000..b8cd8d57c7ebd9cd86de9cf1d47a3569a0f3d8f4 --- /dev/null +++ b/compendium_v2/static/ConnectedInstitutionsURLs-gUMBROcH.js @@ -0,0 +1 @@ +import{c as g,r as y,F as C,j as x,t as L,S as R}from"./index.js";import{u as S,q as k,k as v,i as F,D as T,F as U,f as w,s as E}from"./useData-Ct8E3VVL.js";import{N as O}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function G(){const t=g.c(24),{filterSelection:e,setFilterSelection:s}=y.useContext(C),{data:i,nrens:a}=S("/api/institution-urls",s);let n,o,u;if(t[0]!==i||t[1]!==e||t[2]!==a||t[3]!==s){const j=i?k(i):[];let d;t[7]!==e.selectedNrens?(d=N=>e.selectedNrens.includes(N.nren),t[7]=e.selectedNrens,t[8]=d):d=t[8];const D=j.filter(d),h=v(D);n=F(h,_);let m;t[9]===Symbol.for("react.memo_cache_sentinel")?(m=[],t[9]=m):m=t[9];let l;t[10]!==a?(l=a.values(),t[10]=a,t[11]=l):l=t[11];let c;t[12]!==l?(c={availableYears:m,availableNrens:[...l]},t[12]=l,t[13]=c):c=t[13];let p;t[14]!==e||t[15]!==s||t[16]!==c?(p=x.jsx(U,{filterOptions:c,filterSelection:e,setFilterSelection:s}),t[14]=e,t[15]=s,t[16]=c,t[17]=p):p=t[17],o=p,u=D.map(Y),t[0]=i,t[1]=e,t[2]=a,t[3]=s,t[4]=n,t[5]=o,t[6]=u}else n=t[4],o=t[5],u=t[6];const b=u;let r;t[18]!==n?(r=x.jsx(w,{children:x.jsx(O,{data:n,columnTitle:"Institution URLs",keysAreURLs:!0,noDots:!0})}),t[18]=n,t[19]=r):r=t[19];let f;return t[20]!==b||t[21]!==o||t[22]!==r?(f=x.jsx(T,{title:L["institutions-urls"],description:"Many NRENs have a page on their website listing user institutions. Links to the pages are shown in the table below.",category:R.ConnectedUsers,filter:o,data:b,filename:"institution_urls",children:r}),t[20]=b,t[21]=o,t[22]=r,t[23]=f):f=t[23],f}function Y(t){return{...t,urls:(t.urls??[]).join(", ")}}function _(t,e){const s=E(e);if(s!=null)for(const[i,a]of Object.entries(s))t[i]=a}export{G as default}; diff --git a/compendium_v2/static/ConnectedUser-C39phNBn.js b/compendium_v2/static/ConnectedUser-C39phNBn.js new file mode 100644 index 0000000000000000000000000000000000000000..5daeb21a02c72533eb6d8d1aa1b66536cf9ad458 --- /dev/null +++ b/compendium_v2/static/ConnectedUser-C39phNBn.js @@ -0,0 +1 @@ +import{a as t,t as l,j as o,L as Y,c as F,r as U,F as D,S as A,b as T,d as P,U as j}from"./index.js";import{u as G,r as u,D as $,F as q,f as B}from"./useData-Ct8E3VVL.js";import{S as z}from"./ScrollableMatrix-Dxr22l4i.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";const I={[t.ConnectedProportion]:l["connected-proportion"],[t.ConnectivityLevel]:l["connectivity-level"],[t.ConnectionCarrier]:l["connection-carrier"],[t.ConnectivityLoad]:l["connectivity-load"],[t.ConnectivityGrowth]:l["connectivity-growth"],[t.CommercialChargingLevel]:l["commercial-charging-level"],[t.CommercialConnectivity]:l["commercial-connectivity"]},H={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(Y,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:I[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},L={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function te(M){const e=F.c(36),{page:n}=M,O=`/api/connected-${n.toString()}`,{filterSelection:i,setFilterSelection:y}=U.useContext(D),{data:_,years:b,nrens:N}=G(O,y);let r,a,c,s;if(e[0]!==_||e[1]!==i.selectedNrens||e[2]!==i.selectedYears||e[3]!==n){let C;e[8]!==i.selectedNrens||e[9]!==i.selectedYears?(C=S=>i.selectedYears.includes(S.year)&&i.selectedNrens.includes(S.nren),e[8]=i.selectedNrens,e[9]=i.selectedYears,e[10]=C):C=e[10],s=_.filter(C),c=!1,n==t.CommercialConnectivity?(r=T,c=!0,a=u(s,Object.keys(T),void 0)):n==t.CommercialChargingLevel?(r=P,c=!0,a=u(s,Object.keys(P),void 0)):n==t.ConnectionCarrier?(r=j,c=!0,a=u(s,["carry_mechanism"],"user_category")):n==t.ConnectedProportion?(r=j,a=u(s,Object.values(L[n]),"user_category",!1)):(r=j,a=u(s,Object.values(L[n]),"user_category",!1)),e[0]=_,e[1]=i.selectedNrens,e[2]=i.selectedYears,e[3]=n,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let h;e[11]!==b?(h=[...b],e[11]=b,e[12]=h):h=e[12];let d;e[13]!==N?(d=N.values(),e[13]=N,e[14]=d):d=e[14];let f;e[15]!==d?(f=[...d],e[15]=d,e[16]=f):f=e[16];let p;e[17]!==h||e[18]!==f?(p={availableYears:h,availableNrens:f},e[17]=h,e[18]=f,e[19]=p):p=e[19];let g;e[20]!==i||e[21]!==y||e[22]!==p?(g=o.jsx(q,{filterOptions:p,filterSelection:i,setFilterSelection:y}),e[20]=i,e[21]=y,e[22]=p,e[23]=g):g=e[23];const w=g,E=L[n],k=`nren_connected_${n.toString()}`,x=I[n],R=H[n];let m;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==E?(m=o.jsx(B,{children:o.jsx(z,{dataLookup:a,rowInfo:E,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=E,e[28]=m):m=e[28];let v;return e[29]!==k||e[30]!==w||e[31]!==s||e[32]!==x||e[33]!==R||e[34]!==m?(v=o.jsx($,{title:x,description:R,category:A.ConnectedUsers,filter:w,data:s,filename:k,children:m}),e[29]=k,e[30]=w,e[31]=s,e[32]=x,e[33]=R,e[34]=m,e[35]=v):v=e[35],v}export{te as default}; diff --git a/compendium_v2/static/ConnectedUser-CSVPvLMN.js b/compendium_v2/static/ConnectedUser-CSVPvLMN.js deleted file mode 100644 index 0caaa01ab7f7cc349c2649864d2ac17fce4f0d6a..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ConnectedUser-CSVPvLMN.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t,j as o,L as O,c as U,r as Y,F,S as D,b as I,d as P,U as L}from"./index.js";import{u as G,r as m,D as A,F as $,f as q}from"./useData-C0vA-Ut8.js";import{S as B}from"./ScrollableMatrix-Dxr22l4i.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";const S={[t.ConnectedProportion]:"Proportion of Different Categories of Institutions Served by NRENs",[t.ConnectivityLevel]:"Level of IP Connectivity by Institution Type",[t.ConnectionCarrier]:"Methods of Carrying IP Traffic to Users",[t.ConnectivityLoad]:"Connectivity Load",[t.ConnectivityGrowth]:"Connectivity Growth",[t.CommercialChargingLevel]:"Commercial Charging Level",[t.CommercialConnectivity]:"Commercial Connectivity"},z={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(O,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:S[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},R={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function ee(T){const e=U.c(36),{page:i}=T,M=`/api/connected-${i.toString()}`,{filterSelection:n,setFilterSelection:u}=Y.useContext(F),{data:v,years:b,nrens:_}=G(M,u);let r,a,c,s;if(e[0]!==v||e[1]!==n.selectedNrens||e[2]!==n.selectedYears||e[3]!==i){let C;e[8]!==n.selectedNrens||e[9]!==n.selectedYears?(C=j=>n.selectedYears.includes(j.year)&&n.selectedNrens.includes(j.nren),e[8]=n.selectedNrens,e[9]=n.selectedYears,e[10]=C):C=e[10],s=v.filter(C),c=!1,i==t.CommercialConnectivity?(r=I,c=!0,a=m(s,Object.keys(I),void 0)):i==t.CommercialChargingLevel?(r=P,c=!0,a=m(s,Object.keys(P),void 0)):i==t.ConnectionCarrier?(r=L,c=!0,a=m(s,["carry_mechanism"],"user_category")):i==t.ConnectedProportion?(r=L,a=m(s,Object.values(R[i]),"user_category",!1)):(r=L,a=m(s,Object.values(R[i]),"user_category",!1)),e[0]=v,e[1]=n.selectedNrens,e[2]=n.selectedYears,e[3]=i,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let l;e[11]!==b?(l=[...b],e[11]=b,e[12]=l):l=e[12];let h;e[13]!==_?(h=_.values(),e[13]=_,e[14]=h):h=e[14];let d;e[15]!==h?(d=[...h],e[15]=h,e[16]=d):d=e[16];let f;e[17]!==l||e[18]!==d?(f={availableYears:l,availableNrens:d},e[17]=l,e[18]=d,e[19]=f):f=e[19];let y;e[20]!==n||e[21]!==u||e[22]!==f?(y=o.jsx($,{filterOptions:f,filterSelection:n,setFilterSelection:u}),e[20]=n,e[21]=u,e[22]=f,e[23]=y):y=e[23];const N=y,w=R[i],E=`nren_connected_${i.toString()}`,k=S[i],x=z[i];let p;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==w?(p=o.jsx(q,{children:o.jsx(B,{dataLookup:a,rowInfo:w,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=w,e[28]=p):p=e[28];let g;return e[29]!==E||e[30]!==N||e[31]!==s||e[32]!==k||e[33]!==x||e[34]!==p?(g=o.jsx(A,{title:k,description:x,category:D.ConnectedUsers,filter:N,data:s,filename:E,children:p}),e[29]=E,e[30]=N,e[31]=s,e[32]=k,e[33]=x,e[34]=p,e[35]=g):g=e[35],g}export{ee as default}; diff --git a/compendium_v2/static/CorporateStrategy-CQ2aByV3.js b/compendium_v2/static/CorporateStrategy-CQ2aByV3.js new file mode 100644 index 0000000000000000000000000000000000000000..48b579360e30ba2c47de866b2912068b9e7a688d --- /dev/null +++ b/compendium_v2/static/CorporateStrategy-CQ2aByV3.js @@ -0,0 +1,3 @@ +import{c as k,r as C,F as j,j as y,t as E,S as F}from"./index.js";import{u as R,q as T,k as Y,i as w,D as L,F as P,f as B}from"./useData-Ct8E3VVL.js";import{N as q}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function J(){const e=k.c(23);let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=x=>!!x.strategic_plan,e[0]=l):l=e[0];const b=l,{filterSelection:t,setFilterSelection:i}=C.useContext(j),{data:n,nrens:h}=R("/api/policy",i,b);let a,c;if(e[1]!==n||e[2]!==t.selectedNrens){const x=n?T(n):[];let d;e[5]!==t.selectedNrens?(d=D=>t.selectedNrens.includes(D.nren),e[5]=t.selectedNrens,e[6]=d):d=e[6],a=x.filter(d);const v=Y(a);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(D,S)=>{const _=S.strategic_plan;D[_]=_},e[7]=u):u=e[7],c=w(v,u),e[1]=n,e[2]=t.selectedNrens,e[3]=a,e[4]=c}else a=e[3],c=e[4];const g=c;let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[8]=p):p=e[8];let s;e[9]!==h?(s=h.values(),e[9]=h,e[10]=s):s=e[10];let r;e[11]!==s?(r={availableYears:p,availableNrens:[...s]},e[11]=s,e[12]=r):r=e[12];let m;e[13]!==t||e[14]!==i||e[15]!==r?(m=y.jsx(P,{filterOptions:r,filterSelection:t,setFilterSelection:i}),e[13]=t,e[14]=i,e[15]=r,e[16]=m):m=e[16];const N=m;let o;e[17]!==g?(o=y.jsx(B,{children:y.jsx(q,{data:g,columnTitle:"Corporate Strategy",noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[17]=g,e[18]=o):o=e[18];let f;return e[19]!==N||e[20]!==a||e[21]!==o?(f=y.jsx(L,{title:E["corporate-strategy"],description:`The table below contains links to the NRENs most recent corporate strategic plans. + NRENs are asked if updates have been made to their corporate strategy over the previous year. + To avoid showing outdated links, only the most recent responses are shown.`,category:F.Policy,filter:N,data:a,filename:"nren_corporate_strategy",children:o}),e[19]=N,e[20]=a,e[21]=o,e[22]=f):f=e[22],f}export{J as default}; diff --git a/compendium_v2/static/CorporateStrategy-DZFOGJiQ.js b/compendium_v2/static/CorporateStrategy-DZFOGJiQ.js deleted file mode 100644 index 4129bcc336c185ce58e3e48d94315fe2996fcf03..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CorporateStrategy-DZFOGJiQ.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as C,r as k,F as j,j as y,S as E}from"./index.js";import{u as R,q as F,k as T,i as Y,D as w,F as L,f as P}from"./useData-C0vA-Ut8.js";import{N as B}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function I(){const e=C.c(23);let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=x=>!!x.strategic_plan,e[0]=l):l=e[0];const _=l,{filterSelection:t,setFilterSelection:i}=k.useContext(j),{data:n,nrens:h}=R("/api/policy",i,_);let a,c;if(e[1]!==n||e[2]!==t.selectedNrens){const x=n?F(n):[];let d;e[5]!==t.selectedNrens?(d=D=>t.selectedNrens.includes(D.nren),e[5]=t.selectedNrens,e[6]=d):d=e[6],a=x.filter(d);const b=T(a);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(D,v)=>{const S=v.strategic_plan;D[S]=S},e[7]=u):u=e[7],c=Y(b,u),e[1]=n,e[2]=t.selectedNrens,e[3]=a,e[4]=c}else a=e[3],c=e[4];const N=c;let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[8]=p):p=e[8];let s;e[9]!==h?(s=h.values(),e[9]=h,e[10]=s):s=e[10];let r;e[11]!==s?(r={availableYears:p,availableNrens:[...s]},e[11]=s,e[12]=r):r=e[12];let m;e[13]!==t||e[14]!==i||e[15]!==r?(m=y.jsx(L,{filterOptions:r,filterSelection:t,setFilterSelection:i}),e[13]=t,e[14]=i,e[15]=r,e[16]=m):m=e[16];const g=m;let o;e[17]!==N?(o=y.jsx(P,{children:y.jsx(B,{data:N,columnTitle:"Corporate Strategy",noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[17]=N,e[18]=o):o=e[18];let f;return e[19]!==g||e[20]!==a||e[21]!==o?(f=y.jsx(w,{title:"NREN Corporate Strategies",description:`The table below contains links to the NRENs most recent corporate strategic plans. - NRENs are asked if updates have been made to their corporate strategy over the previous year. - To avoid showing outdated links, only the most recent responses are shown.`,category:E.Policy,filter:g,data:a,filename:"nren_corporate_strategy",children:o}),e[19]=g,e[20]=a,e[21]=o,e[22]=f):f=e[22],f}export{I as default}; diff --git a/compendium_v2/static/CrisisExercises-Bw4pZ1iW.js b/compendium_v2/static/CrisisExercises-Bw4pZ1iW.js new file mode 100644 index 0000000000000000000000000000000000000000..c6b6613f4c031235b808a61317d0e7d252f33b12 --- /dev/null +++ b/compendium_v2/static/CrisisExercises-Bw4pZ1iW.js @@ -0,0 +1,2 @@ +import{c as P,r as S,F as D,S as L,j as W,t as M}from"./index.js";import{u as R,g as O,F as A,D as G,f as V}from"./useData-Ct8E3VVL.js";import{P as $}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function Z(){const e=P.c(51),{filterSelection:t,setFilterSelection:i}=S.useContext(D),{data:C,years:E,nrens:T}=R("/api/crisis-exercises",i);let s,w;if(e[0]!==C||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=F=>t.selectedYears.includes(F.year)&&t.selectedNrens.includes(F.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=C.filter(r),w=O(s,"exercise_descriptions"),e[0]=C,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=w}else s=e[3],w=e[4];const Y=w;let a;e[8]!==E?(a=[...E],e[8]=E,e[9]=a):a=e[9];let l;e[10]!==T?(l=T.values(),e[10]=T,e[11]=l):l=e[11];let n;e[12]!==l?(n=[...l],e[12]=l,e[13]=n):n=e[13];let o;e[14]!==a||e[15]!==n?(o={availableYears:a,availableNrens:n},e[14]=a,e[15]=n,e[16]=o):o=e[16];let v;e[17]!==t||e[18]!==i||e[19]!==o?(v=W.jsx(A,{filterOptions:o,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=o,e[20]=v):v=e[20];const k=v;let c,p,u,d,m,x,f,h,N,_,y;if(e[21]!==k||e[22]!==s){const r={geant_workshops:"We participate in GEANT Crisis workshops such as CLAW",national_excercises:"We participated in National crisis exercises ",tabletop_exercises:"We run our own tabletop exercises",simulation_excercises:"We run our own simulation exercises",other_excercises:"We have done/participated in other exercises or trainings",real_crisis:"We had a real crisis",internal_security_programme:"We run an internal security awareness programme",none:"No, we have not done any crisis exercises or trainings"};d=new Map(Object.entries(r).map(q)),u=G,N=M["crisis-exercise"],_=`Many NRENs run or participate in crisis exercises to test procedures and train employees. + The table below shows whether NRENs have run or participated in an exercise in the previous year. `,y=L.Policy,m=k,x=s,f="crisis_exercise_nrens_per_year",p=V,c=$,h=Object.values(r),e[21]=k,e[22]=s,e[23]=c,e[24]=p,e[25]=u,e[26]=d,e[27]=m,e[28]=x,e[29]=f,e[30]=h,e[31]=N,e[32]=_,e[33]=y}else c=e[23],p=e[24],u=e[25],d=e[26],m=e[27],x=e[28],f=e[29],h=e[30],N=e[31],_=e[32],y=e[33];let b;e[34]!==c||e[35]!==d||e[36]!==Y||e[37]!==h?(b=W.jsx(c,{columns:h,dataLookup:Y,circle:!0,columnLookup:d}),e[34]=c,e[35]=d,e[36]=Y,e[37]=h,e[38]=b):b=e[38];let g;e[39]!==p||e[40]!==b?(g=W.jsx(p,{children:b}),e[39]=p,e[40]=b,e[41]=g):g=e[41];let j;return e[42]!==u||e[43]!==m||e[44]!==x||e[45]!==f||e[46]!==g||e[47]!==N||e[48]!==_||e[49]!==y?(j=W.jsx(u,{title:N,description:_,category:y,filter:m,data:x,filename:f,children:g}),e[42]=u,e[43]=m,e[44]=x,e[45]=f,e[46]=g,e[47]=N,e[48]=_,e[49]=y,e[50]=j):j=e[50],j}function q(e){const[t,i]=e;return[i,t]}export{Z as default}; diff --git a/compendium_v2/static/CrisisExercises-DgB-Jzeh.js b/compendium_v2/static/CrisisExercises-DgB-Jzeh.js deleted file mode 100644 index fcb30d34ebdbc3b655fc9ef865ad0f8438d46615..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CrisisExercises-DgB-Jzeh.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as F,r as R,F as S,S as D,j}from"./index.js";import{u as L,g as M,F as O,D as A,f as G}from"./useData-C0vA-Ut8.js";import{P as V}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function X(){const e=F.c(51),{filterSelection:t,setFilterSelection:i}=R.useContext(S),{data:C,years:W,nrens:T}=L("/api/crisis-exercises",i);let s,w;if(e[0]!==C||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=P=>t.selectedYears.includes(P.year)&&t.selectedNrens.includes(P.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=C.filter(r),w=M(s,"exercise_descriptions"),e[0]=C,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=w}else s=e[3],w=e[4];const Y=w;let a;e[8]!==W?(a=[...W],e[8]=W,e[9]=a):a=e[9];let l;e[10]!==T?(l=T.values(),e[10]=T,e[11]=l):l=e[11];let n;e[12]!==l?(n=[...l],e[12]=l,e[13]=n):n=e[13];let o;e[14]!==a||e[15]!==n?(o={availableYears:a,availableNrens:n},e[14]=a,e[15]=n,e[16]=o):o=e[16];let v;e[17]!==t||e[18]!==i||e[19]!==o?(v=j.jsx(O,{filterOptions:o,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=o,e[20]=v):v=e[20];const k=v;let c,p,u,d,m,x,f,h,N,_,y;if(e[21]!==k||e[22]!==s){const r={geant_workshops:"We participate in GEANT Crisis workshops such as CLAW",national_excercises:"We participated in National crisis exercises ",tabletop_exercises:"We run our own tabletop exercises",simulation_excercises:"We run our own simulation exercises",other_excercises:"We have done/participated in other exercises or trainings",real_crisis:"We had a real crisis",internal_security_programme:"We run an internal security awareness programme",none:"No, we have not done any crisis exercises or trainings"};d=new Map(Object.entries(r).map($)),u=A,N="Crisis Exercises - NREN Operation and Participation",_=`Many NRENs run or participate in crisis exercises to test procedures and train employees. - The table below shows whether NRENs have run or participated in an exercise in the previous year. `,y=D.Policy,m=k,x=s,f="crisis_exercise_nrens_per_year",p=G,c=V,h=Object.values(r),e[21]=k,e[22]=s,e[23]=c,e[24]=p,e[25]=u,e[26]=d,e[27]=m,e[28]=x,e[29]=f,e[30]=h,e[31]=N,e[32]=_,e[33]=y}else c=e[23],p=e[24],u=e[25],d=e[26],m=e[27],x=e[28],f=e[29],h=e[30],N=e[31],_=e[32],y=e[33];let b;e[34]!==c||e[35]!==d||e[36]!==Y||e[37]!==h?(b=j.jsx(c,{columns:h,dataLookup:Y,circle:!0,columnLookup:d}),e[34]=c,e[35]=d,e[36]=Y,e[37]=h,e[38]=b):b=e[38];let g;e[39]!==p||e[40]!==b?(g=j.jsx(p,{children:b}),e[39]=p,e[40]=b,e[41]=g):g=e[41];let E;return e[42]!==u||e[43]!==m||e[44]!==x||e[45]!==f||e[46]!==g||e[47]!==N||e[48]!==_||e[49]!==y?(E=j.jsx(u,{title:N,description:_,category:y,filter:m,data:x,filename:f,children:g}),e[42]=u,e[43]=m,e[44]=x,e[45]=f,e[46]=g,e[47]=N,e[48]=_,e[49]=y,e[50]=E):E=e[50],E}function $(e){const[t,i]=e;return[i,t]}export{X as default}; diff --git a/compendium_v2/static/CrisisManagement-C6sQvzSe.js b/compendium_v2/static/CrisisManagement-C6sQvzSe.js deleted file mode 100644 index fb9483b7062d9926c25ea70d10f027422802a249..0000000000000000000000000000000000000000 --- a/compendium_v2/static/CrisisManagement-C6sQvzSe.js +++ /dev/null @@ -1 +0,0 @@ -import{c as j,r as F,F as P,j as x,S as v}from"./index.js";import{u as k,g as w,D,F as E,f as M}from"./useData-C0vA-Ut8.js";import{P as T}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function G(){const e=j.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.crisis_management_procedure!==null,e[0]=m):m=e[0];const C=m,{filterSelection:t,setFilterSelection:d}=F.useContext(P),{data:N,years:_,nrens:g}=k("/api/standards",d,C);let s,f;if(e[1]!==N||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&C(Y),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=N.filter(c),f=w(s,"crisis_management_procedure"),e[1]=N,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=f}else s=e[4],f=e[5];const b=f;let r,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","No"],p=new Map([[r[0],"True"],[r[1],"False"]]),e[9]=r,e[10]=p):(r=e[9],p=e[10]);const S=p;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let a;e[13]!==g?(a=g.values(),e[13]=g,e[14]=a):a=e[14];let i;e[15]!==a?(i=[...a],e[15]=a,e[16]=i):i=e[16];let n;e[17]!==l||e[18]!==i?(n={availableYears:l,availableNrens:i},e[17]=l,e[18]=i,e[19]=n):n=e[19];let u;e[20]!==t||e[21]!==d||e[22]!==n?(u=x.jsx(E,{filterOptions:n,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=n,e[23]=u):u=e[23];const y=u;let o;e[24]!==b?(o=x.jsx(M,{children:x.jsx(T,{columns:r,columnLookup:S,dataLookup:b})}),e[24]=b,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=x.jsx(D,{title:"Crisis Management Procedures",description:"The table below shows whether NRENs have a formal crisis management procedure.",category:v.Policy,filter:y,data:s,filename:"crisis_management_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{G as default}; diff --git a/compendium_v2/static/CrisisManagement-TH7W12RY.js b/compendium_v2/static/CrisisManagement-TH7W12RY.js new file mode 100644 index 0000000000000000000000000000000000000000..9563b15650f59b9b04edfa0c3dda87f1ddc412dc --- /dev/null +++ b/compendium_v2/static/CrisisManagement-TH7W12RY.js @@ -0,0 +1 @@ +import{c as C,r as F,F as v,j as x,t as P,S as k}from"./index.js";import{u as w,g as D,D as E,F as T,f as L}from"./useData-Ct8E3VVL.js";import{P as M}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function H(){const e=C.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.crisis_management_procedure!==null,e[0]=m):m=e[0];const S=m,{filterSelection:t,setFilterSelection:d}=F.useContext(v),{data:N,years:_,nrens:g}=w("/api/standards",d,S);let s,f;if(e[1]!==N||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&S(Y),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=N.filter(c),f=D(s,"crisis_management_procedure"),e[1]=N,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=f}else s=e[4],f=e[5];const b=f;let l,p;e[9]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],p=new Map([[l[0],"True"],[l[1],"False"]]),e[9]=l,e[10]=p):(l=e[9],p=e[10]);const j=p;let a;e[11]!==_?(a=[..._],e[11]=_,e[12]=a):a=e[12];let r;e[13]!==g?(r=g.values(),e[13]=g,e[14]=r):r=e[14];let i;e[15]!==r?(i=[...r],e[15]=r,e[16]=i):i=e[16];let n;e[17]!==a||e[18]!==i?(n={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=n):n=e[19];let u;e[20]!==t||e[21]!==d||e[22]!==n?(u=x.jsx(T,{filterOptions:n,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=n,e[23]=u):u=e[23];const y=u;let o;e[24]!==b?(o=x.jsx(L,{children:x.jsx(M,{columns:l,columnLookup:j,dataLookup:b})}),e[24]=b,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=x.jsx(E,{title:P["crisis-management"],description:"The table below shows whether NRENs have a formal crisis management procedure.",category:k.Policy,filter:y,data:s,filename:"crisis_management_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{H as default}; diff --git a/compendium_v2/static/DarkFibreInstalled-BEuXjlBR.js b/compendium_v2/static/DarkFibreInstalled-BEuXjlBR.js deleted file mode 100644 index 8c5e097275476a2f7cdfa868b393202b7fef0280..0000000000000000000000000000000000000000 --- a/compendium_v2/static/DarkFibreInstalled-BEuXjlBR.js +++ /dev/null @@ -1 +0,0 @@ -import{c as N,r as D,F,j as n,S as j}from"./index.js";import{L}from"./index-BJrPLJgf.js";import{C as w,a as E,L as v,P,b as I,p as K,c as R,d as O,u as T,e as U,D as Y,F as $,f as q}from"./useData-C0vA-Ut8.js";import{g as z}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";w.register(E,v,P,I,K,R,O);function W(){const e=N.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.fibre_length_in_country!=null,e[0]=o):o=e[0];const k=o,{filterSelection:t,setFilterSelection:c}=D.useContext(F),{data:u,nrens:_}=T("/api/dark-fibre-installed",c,k);let i,f;if(e[1]!==u||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=y=>t.selectedNrens.includes(y.nren)&&k(y),e[5]=t.selectedNrens,e[6]=r):r=e[6],i=u.filter(r),f=U(i,"fibre_length_in_country"),e[1]=u,e[2]=t.selectedNrens,e[3]=i,e[4]=f}else i=e[3],f=e[4];const g=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let l;e[10]!==s?(l={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=l):l=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==l?(d=n.jsx($,{filterOptions:l,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=l,e[15]=d):d=e[15];const x=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=z({title:"Kilometres of Installed Dark Fibre",tooltipUnit:"km",unit:"km"}),e[16]=p):p=e[16];const S=p;let h;e[17]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("span",{children:"This graph shows the number of Kilometres of dark fibre installed by NRENs within their own countries, which they own themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."}),e[17]=h):h=e[17];const C=h;let a;e[18]!==g?(a=n.jsx(q,{children:n.jsx(L,{data:g,options:S})}),e[18]=g,e[19]=a):a=e[19];let b;return e[20]!==x||e[21]!==i||e[22]!==a?(b=n.jsx(Y,{title:"Kilometres of Installed Dark Fibre",description:C,category:j.Network,filter:x,data:i,filename:"dark_fibre_lease_installed",children:a}),e[20]=x,e[21]=i,e[22]=a,e[23]=b):b=e[23],b}export{W as default}; diff --git a/compendium_v2/static/DarkFibreInstalled-XMYWXP4t.js b/compendium_v2/static/DarkFibreInstalled-XMYWXP4t.js new file mode 100644 index 0000000000000000000000000000000000000000..307bcc5b935b6ca24928c8482da395b6f8da19d9 --- /dev/null +++ b/compendium_v2/static/DarkFibreInstalled-XMYWXP4t.js @@ -0,0 +1 @@ +import{c as N,r as j,F as D,j as n,t as F,S as L}from"./index.js";import{L as w}from"./index-C4Nuqrw6.js";import{C as E,a as v,L as P,P as R,b as I,p as K,c as O,d as T,u as U,e as Y,D as $,F as q,f as z}from"./useData-Ct8E3VVL.js";import{g as A}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";E.register(v,P,R,I,K,O,T);function X(){const e=N.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.fibre_length_in_country!=null,e[0]=o):o=e[0];const k=o,{filterSelection:t,setFilterSelection:c}=j.useContext(D),{data:u,nrens:_}=U("/api/dark-fibre-installed",c,k);let i,f;if(e[1]!==u||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=y=>t.selectedNrens.includes(y.nren)&&k(y),e[5]=t.selectedNrens,e[6]=r):r=e[6],i=u.filter(r),f=Y(i,"fibre_length_in_country"),e[1]=u,e[2]=t.selectedNrens,e[3]=i,e[4]=f}else i=e[3],f=e[4];const g=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let l;e[10]!==s?(l={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=l):l=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==l?(d=n.jsx(q,{filterOptions:l,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=l,e[15]=d):d=e[15];const x=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Kilometres of Installed Dark Fibre",tooltipUnit:"km",unit:"km"}),e[16]=p):p=e[16];const S=p;let h;e[17]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx("span",{children:"This graph shows the number of Kilometres of dark fibre installed by NRENs within their own countries, which they own themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."}),e[17]=h):h=e[17];const C=h;let a;e[18]!==g?(a=n.jsx(z,{children:n.jsx(w,{data:g,options:S})}),e[18]=g,e[19]=a):a=e[19];let b;return e[20]!==x||e[21]!==i||e[22]!==a?(b=n.jsx($,{title:F["dark-fibre-installed"],description:C,category:L.Network,filter:x,data:i,filename:"dark_fibre_lease_installed",children:a}),e[20]=x,e[21]=i,e[22]=a,e[23]=b):b=e[23],b}export{X as default}; diff --git a/compendium_v2/static/DarkFibreLease-C_DLt-sT.js b/compendium_v2/static/DarkFibreLease-C_DLt-sT.js new file mode 100644 index 0000000000000000000000000000000000000000..daabe5957e35eaa5bfcde93a2d5c9e36a0ce4ca6 --- /dev/null +++ b/compendium_v2/static/DarkFibreLease-C_DLt-sT.js @@ -0,0 +1 @@ +import{c as w,r as R,F as P,j as c,S as I,t as D}from"./index.js";import{L as U}from"./index-C4Nuqrw6.js";import{C as K,a as O,L as T,P as $,b as A,p as Y,c as q,d as z,u as B,e as G,D as H,F as J,f as M}from"./useData-Ct8E3VVL.js";import{g as Q}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";K.register(O,T,$,A,Y,q,z);function ae(E){const e=w.c(32),{national:f}=E,s=f?"fibre_length_in_country":"fibre_length_outside_country";let d;e[0]!==s?(d=o=>o[s]!=null,e[0]=s,e[1]=d):d=e[1];const a=d,{filterSelection:t,setFilterSelection:m}=R.useContext(P),{data:k,nrens:x}=B("/api/dark-fibre-lease",m,a);let i,p;if(e[2]!==k||e[3]!==s||e[4]!==t.selectedNrens||e[5]!==a){let o;e[8]!==t.selectedNrens||e[9]!==a?(o=j=>t.selectedNrens.includes(j.nren)&&a(j),e[8]=t.selectedNrens,e[9]=a,e[10]=o):o=e[10],i=k.filter(o),p=G(i,s),e[2]=k,e[3]=s,e[4]=t.selectedNrens,e[5]=a,e[6]=i,e[7]=p}else i=e[6],p=e[7];const N=p;let h;e[11]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[11]=h):h=e[11];let l;e[12]!==x?(l=x.values(),e[12]=x,e[13]=l):l=e[13];let r;e[14]!==l?(r={availableYears:h,availableNrens:[...l]},e[14]=l,e[15]=r):r=e[15];let b;e[16]!==t||e[17]!==m||e[18]!==r?(b=c.jsx(J,{filterOptions:r,filterSelection:t,setFilterSelection:m}),e[16]=t,e[17]=m,e[18]=r,e[19]=b):b=e[19];const y=b;let u;e[20]===Symbol.for("react.memo_cache_sentinel")?(u=Q({title:"Kilometres of Leased Dark Fibre",tooltipUnit:"km",unit:"km"}),e[20]=u):u=e[20];const F=u,C=f?"within":"outside";let g;e[21]!==C?(g=c.jsxs("span",{children:["This graph shows the number of Kilometres of dark fibre leased by NRENs ",C," their own countries. Also included is fibre leased via an IRU (Indefeasible Right of Use), a type of long-term lease of a portion of the capacity of a cable. It does not however, include fibre NRENs have installed, and own, themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."]}),e[21]=C,e[22]=g):g=e[22];const L=g,S=f?D["dark-fibre-lease"]:D["dark-fibre-lease-international"],v=`dark_fibre_lease_${f?"national":"international"}`;let n;e[23]!==N?(n=c.jsx(M,{children:c.jsx(U,{data:N,options:F})}),e[23]=N,e[24]=n):n=e[24];let _;return e[25]!==L||e[26]!==y||e[27]!==i||e[28]!==S||e[29]!==v||e[30]!==n?(_=c.jsx(H,{title:S,description:L,category:I.Network,filter:y,data:i,filename:v,children:n}),e[25]=L,e[26]=y,e[27]=i,e[28]=S,e[29]=v,e[30]=n,e[31]=_):_=e[31],_}export{ae as default}; diff --git a/compendium_v2/static/DarkFibreLease-D0G5a_C_.js b/compendium_v2/static/DarkFibreLease-D0G5a_C_.js deleted file mode 100644 index 3999b5c291fb71769ea4787b2d9b8b9eff6c5f3f..0000000000000000000000000000000000000000 --- a/compendium_v2/static/DarkFibreLease-D0G5a_C_.js +++ /dev/null @@ -1 +0,0 @@ -import{c as E,r as w,F as R,j as c,S as I}from"./index.js";import{L as P}from"./index-BJrPLJgf.js";import{C as K,a as U,L as $,P as O,b as T,p as A,c as Y,d as q,u as z,e as B,D as G,F as H,f as J}from"./useData-C0vA-Ut8.js";import{g as M}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";K.register(U,$,O,T,A,Y,q);function se(F){const e=E.c(32),{national:f}=F,s=f?"fibre_length_in_country":"fibre_length_outside_country";let d;e[0]!==s?(d=o=>o[s]!=null,e[0]=s,e[1]=d):d=e[1];const a=d,{filterSelection:t,setFilterSelection:m}=w.useContext(R),{data:N,nrens:x}=z("/api/dark-fibre-lease",m,a);let i,p;if(e[2]!==N||e[3]!==s||e[4]!==t.selectedNrens||e[5]!==a){let o;e[8]!==t.selectedNrens||e[9]!==a?(o=D=>t.selectedNrens.includes(D.nren)&&a(D),e[8]=t.selectedNrens,e[9]=a,e[10]=o):o=e[10],i=N.filter(o),p=B(i,s),e[2]=N,e[3]=s,e[4]=t.selectedNrens,e[5]=a,e[6]=i,e[7]=p}else i=e[6],p=e[7];const k=p;let h;e[11]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[11]=h):h=e[11];let l;e[12]!==x?(l=x.values(),e[12]=x,e[13]=l):l=e[13];let n;e[14]!==l?(n={availableYears:h,availableNrens:[...l]},e[14]=l,e[15]=n):n=e[15];let b;e[16]!==t||e[17]!==m||e[18]!==n?(b=c.jsx(H,{filterOptions:n,filterSelection:t,setFilterSelection:m}),e[16]=t,e[17]=m,e[18]=n,e[19]=b):b=e[19];const y=b;let u;e[20]===Symbol.for("react.memo_cache_sentinel")?(u=M({title:"Kilometres of Leased Dark Fibre",tooltipUnit:"km",unit:"km"}),e[20]=u):u=e[20];const j=u,C=f?"within":"outside";let g;e[21]!==C?(g=c.jsxs("span",{children:["This graph shows the number of Kilometres of dark fibre leased by NRENs ",C," their own countries. Also included is fibre leased via an IRU (Indefeasible Right of Use), a type of long-term lease of a portion of the capacity of a cable. It does not however, include fibre NRENs have installed, and own, themselves. The distance is the number of kilometres of the fibre pairs, or if bidirectional traffic on a single fibre, it is treated as a fibre pair."]}),e[21]=C,e[22]=g):g=e[22];const L=g,S=`Kilometres of Leased Dark Fibre (${f?"National":"International"})`,v=`dark_fibre_lease_${f?"national":"international"}`;let r;e[23]!==k?(r=c.jsx(J,{children:c.jsx(P,{data:k,options:j})}),e[23]=k,e[24]=r):r=e[24];let _;return e[25]!==L||e[26]!==y||e[27]!==i||e[28]!==S||e[29]!==v||e[30]!==r?(_=c.jsx(G,{title:S,description:L,category:I.Network,filter:y,data:i,filename:v,children:r}),e[25]=L,e[26]=y,e[27]=i,e[28]=S,e[29]=v,e[30]=r,e[31]=_):_=e[31],_}export{se as default}; diff --git a/compendium_v2/static/ECProjects-ChLCZHki.js b/compendium_v2/static/ECProjects-CT3RTMct.js similarity index 87% rename from compendium_v2/static/ECProjects-ChLCZHki.js rename to compendium_v2/static/ECProjects-CT3RTMct.js index 6bdc80afe4f05233359f8cefdca4f5526f6bf09b..b77c3d6a674bf4fcbe5d2759ef9e029d9fb6a698 100644 --- a/compendium_v2/static/ECProjects-ChLCZHki.js +++ b/compendium_v2/static/ECProjects-CT3RTMct.js @@ -1 +1 @@ -import{c as v,r as Y,F as y,j as u,S as C}from"./index.js";import{u as D,h as T,i as _,D as g,F,f as P}from"./useData-C0vA-Ut8.js";import{N as R}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function $(){const e=v.c(27),{filterSelection:t,setFilterSelection:s}=Y.useContext(y),{data:a,years:j,nrens:N}=D("/api/ec-project",s);let r,d;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==a){let f;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(f=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=f):f=e[7],r=a.filter(f);const E=T(r);d=_(E,S),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=a,e[3]=r,e[4]=d}else r=e[3],d=e[4];const b=d;let o;e[8]!==j?(o=[...j],e[8]=j,e[9]=o):o=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==o||e[15]!==n?(l={availableYears:o,availableNrens:n},e[14]=o,e[15]=n,e[16]=l):l=e[16];let p;e[17]!==t||e[18]!==s||e[19]!==l?(p=u.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=p):p=e[20];const h=p;let c;e[21]!==b?(c=u.jsx(P,{children:u.jsx(R,{data:b,columnTitle:"EC Project Membership",dottedBorder:!0})}),e[21]=b,e[22]=c):c=e[22];let m;return e[23]!==h||e[24]!==r||e[25]!==c?(m=u.jsx(g,{title:"NREN Involvement in European Commission Projects",description:"Many NRENs are involved in a number of different European Commission project, besides GÉANT. The list of projects in the table below is not necessarily exhaustive, but does contain projects the NRENs consider important or worthy of mention.",category:C.Organisation,filter:h,data:r,filename:"nren_involvement_in_european_commission_projects",children:c}),e[23]=h,e[24]=r,e[25]=c,e[26]=m):m=e[26],m}function S(e,t){const s=t.map(O).sort();s.length&&s.forEach(a=>{e[a]=a})}function O(e){return e.project}export{$ as default}; +import{c as v,r as Y,F as y,j as u,S as C}from"./index.js";import{u as D,h as T,i as _,D as g,F,f as P}from"./useData-Ct8E3VVL.js";import{N as R}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function $(){const e=v.c(27),{filterSelection:t,setFilterSelection:s}=Y.useContext(y),{data:a,years:j,nrens:N}=D("/api/ec-project",s);let r,d;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==a){let f;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(f=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=f):f=e[7],r=a.filter(f);const E=T(r);d=_(E,S),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=a,e[3]=r,e[4]=d}else r=e[3],d=e[4];const b=d;let o;e[8]!==j?(o=[...j],e[8]=j,e[9]=o):o=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==o||e[15]!==n?(l={availableYears:o,availableNrens:n},e[14]=o,e[15]=n,e[16]=l):l=e[16];let p;e[17]!==t||e[18]!==s||e[19]!==l?(p=u.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=p):p=e[20];const h=p;let c;e[21]!==b?(c=u.jsx(P,{children:u.jsx(R,{data:b,columnTitle:"EC Project Membership",dottedBorder:!0})}),e[21]=b,e[22]=c):c=e[22];let m;return e[23]!==h||e[24]!==r||e[25]!==c?(m=u.jsx(g,{title:"NREN Involvement in European Commission Projects",description:"Many NRENs are involved in a number of different European Commission project, besides GÉANT. The list of projects in the table below is not necessarily exhaustive, but does contain projects the NRENs consider important or worthy of mention.",category:C.Organisation,filter:h,data:r,filename:"nren_involvement_in_european_commission_projects",children:c}),e[23]=h,e[24]=r,e[25]=c,e[26]=m):m=e[26],m}function S(e,t){const s=t.map(O).sort();s.length&&s.forEach(a=>{e[a]=a})}function O(e){return e.project}export{$ as default}; diff --git a/compendium_v2/static/EOSCListings-DH_4uObR.js b/compendium_v2/static/EOSCListings-DH_4uObR.js deleted file mode 100644 index 056a8edb4abfc504de2b4af4b1d165a671a7bc4c..0000000000000000000000000000000000000000 --- a/compendium_v2/static/EOSCListings-DH_4uObR.js +++ /dev/null @@ -1 +0,0 @@ -import{c as y,r as C,F as Y,j as d,S as j}from"./index.js";import{u as D,h as R,i as F,D as L,F as _,f as O}from"./useData-C0vA-Ut8.js";import{N as P}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function G(){const e=y.c(28),{filterSelection:t,setFilterSelection:a}=C.useContext(Y),{data:l,years:N,nrens:x}=D("/api/eosc-listings",a);let s,f;if(e[0]!==l||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=E=>t.selectedYears.includes(E.year)&&t.selectedNrens.includes(E.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=l.filter(u);const g=R(s);f=F(g,k),e[0]=l,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const S=f;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let r;e[10]!==x?(r=x.values(),e[10]=x,e[11]=r):r=e[11];let o;e[12]!==r?(o=[...r],e[12]=r,e[13]=o):o=e[13];let n;e[14]!==i||e[15]!==o?(n={availableYears:i,availableNrens:o},e[14]=i,e[15]=o,e[16]=n):n=e[16];let m;e[17]!==t||e[18]!==a||e[19]!==n?(m=d.jsx(_,{filterOptions:n,filterSelection:t,setFilterSelection:a}),e[17]=t,e[18]=a,e[19]=n,e[20]=m):m=e[20];const v=m;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=d.jsx("span",{children:"Some NRENs choose to list services on the EOSC portal, these can be seen in the table below. Click on the name of the NREN to expand the detail and see the names of the services they list."}),e[21]=p):p=e[21];const b=p;let c;e[22]!==S?(c=d.jsx(O,{children:d.jsx(P,{data:S,columnTitle:"Service Name",dottedBorder:!0,keysAreURLs:!0,noDots:!0})}),e[22]=S,e[23]=c):c=e[23];let h;return e[24]!==v||e[25]!==s||e[26]!==c?(h=d.jsx(L,{title:"NREN Services Listed on the EOSC Portal",description:b,category:j.Policy,filter:v,data:s,filename:"nren_eosc_listings",children:c}),e[24]=v,e[25]=s,e[26]=c,e[27]=h):h=e[27],h}function k(e,t){for(const a of t)for(const l of a.service_names)e[l]=l}export{G as default}; diff --git a/compendium_v2/static/EOSCListings-v4hLpISP.js b/compendium_v2/static/EOSCListings-v4hLpISP.js new file mode 100644 index 0000000000000000000000000000000000000000..8f5a54f871419bb13b42b56ae8a9f4c9e3a3d67e --- /dev/null +++ b/compendium_v2/static/EOSCListings-v4hLpISP.js @@ -0,0 +1 @@ +import{c as Y,r as j,F as C,j as f,t as D,S as E}from"./index.js";import{u as _,h as F,i as R,D as L,F as k,f as O}from"./useData-Ct8E3VVL.js";import{N as P}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function H(){const e=Y.c(28),{filterSelection:t,setFilterSelection:l}=j.useContext(C),{data:a,years:N,nrens:x}=_("/api/eosc-listings",l);let s,d;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let h;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(h=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=h):h=e[7],s=a.filter(h);const y=F(s);d=R(y,T),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=d}else s=e[3],d=e[4];const S=d;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let r;e[10]!==x?(r=x.values(),e[10]=x,e[11]=r):r=e[11];let o;e[12]!==r?(o=[...r],e[12]=r,e[13]=o):o=e[13];let n;e[14]!==i||e[15]!==o?(n={availableYears:i,availableNrens:o},e[14]=i,e[15]=o,e[16]=n):n=e[16];let m;e[17]!==t||e[18]!==l||e[19]!==n?(m=f.jsx(k,{filterOptions:n,filterSelection:t,setFilterSelection:l}),e[17]=t,e[18]=l,e[19]=n,e[20]=m):m=e[20];const g=m;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=f.jsx("span",{children:"Some NRENs choose to list services on the EOSC portal, these can be seen in the table below. Click on the name of the NREN to expand the detail and see the names of the services they list."}),e[21]=p):p=e[21];const v=p;let c;e[22]!==S?(c=f.jsx(O,{children:f.jsx(P,{data:S,columnTitle:"Service Name",dottedBorder:!0,keysAreURLs:!0,noDots:!0})}),e[22]=S,e[23]=c):c=e[23];let u;return e[24]!==g||e[25]!==s||e[26]!==c?(u=f.jsx(L,{title:D.eosc_listings,description:v,category:E.Policy,filter:g,data:s,filename:"nren_eosc_listings",children:c}),e[24]=g,e[25]=s,e[26]=c,e[27]=u):u=e[27],u}function T(e,t){for(const l of t)for(const a of l.service_names)e[a]=a}export{H as default}; diff --git a/compendium_v2/static/ExternalConnections-CI7Oci1W.js b/compendium_v2/static/ExternalConnections-CI7Oci1W.js deleted file mode 100644 index 3adb9d47c3683a6636f217b28aa1d79cac1ac19f..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ExternalConnections-CI7Oci1W.js +++ /dev/null @@ -1 +0,0 @@ -import{c as _,j as r,e as C,r as E,F as S,S as w}from"./index.js";import{u as D,h as F,D as R,F as T,f as Y}from"./useData-C0vA-Ut8.js";import{T as I}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function L(e){const t=_.c(8),{dataLookup:l,columnInfo:a}=e;if(!l){let n;return t[0]===Symbol.for("react.memo_cache_sentinel")?(n=r.jsx("div",{className:"matrix-border-round"}),t[0]=n):n=t[0],n}let d;if(t[1]!==a||t[2]!==l){let n;t[4]!==a?(n=j=>{const[i,h]=j;return r.jsx(C,{title:i,theme:"-table",startCollapsed:!0,children:r.jsx("div",{className:"scrollable-horizontal",children:Array.from(h.entries()).map(m=>{const[o,b]=m,x={"--before-color":`var(--color-of-the-year-muted-${o%9})`};return r.jsxs("div",{children:[r.jsx("span",{className:`scrollable-table-year color-of-the-year-${o%9} bold-caps-16pt pt-3 ps-3`,style:x,children:o}),r.jsx("div",{className:`colored-table bg-muted-color-of-the-year-${o%9}`,children:r.jsxs(I,{children:[r.jsx("thead",{children:r.jsx("tr",{children:Object.keys(a).map(c=>r.jsx("th",{style:{position:"relative"},children:r.jsx("span",{style:x,children:c})},c))})}),r.jsx("tbody",{children:b.map((c,k)=>r.jsx("tr",{children:Object.entries(a).map(u=>{const[g,f]=u,y=c[f];return r.jsx("td",{children:y},g)})},k))})]})})]},o)})})},i)},t[4]=a,t[5]=n):n=t[5],d=Array.from(l.entries()).map(n),t[1]=a,t[2]=l,t[3]=d}else d=t[3];const p=d;let s;return t[6]!==p?(s=r.jsx("div",{className:"matrix-border-round",children:p}),t[6]=p,t[7]=s):s=t[7],s}function M(){const e=_.c(29),{filterSelection:t,setFilterSelection:l}=E.useContext(S),{data:a,years:d,nrens:p}=D("/api/external-connections",l);let s,n;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let N;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(N=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=N):N=e[7],s=a.filter(N),n=F([...s]),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const j=n;let i;e[8]!==d?(i=[...d],e[8]=d,e[9]=i):i=e[9];let h;e[10]!==p?(h=p.values(),e[10]=p,e[11]=h):h=e[11];let m;e[12]!==h?(m=[...h],e[12]=h,e[13]=m):m=e[13];let o;e[14]!==i||e[15]!==m?(o={availableYears:i,availableNrens:m},e[14]=i,e[15]=m,e[16]=o):o=e[16];let b;e[17]!==t||e[18]!==l||e[19]!==o?(b=r.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:l,coloredYears:!0}),e[17]=t,e[18]=l,e[19]=o,e[20]=b):b=e[20];const x=b;let c;e[21]===Symbol.for("react.memo_cache_sentinel")?(c={"Link Name":"link_name","Capacity (Gbit/s)":"capacity","From Organisation":"from_organization","To Organisation":"to_organization","Interconnection Method":"interconnection_method"},e[21]=c):c=e[21];const k=c;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"The table below shows the operational external IP connections of each NREN. These include links to their regional backbone (ie. GÉANT), to other research locations, to the commercial internet, peerings to internet exchanges, cross-border dark fibre links, and any other links they may have."}),r.jsx("p",{children:"NRENs are asked to state the capacity for production purposes, not any additional link that may be there solely for the purpose of giving resilience. Cross-border fibre links are meant as those links which have been commissioned or established by the NREN from a point on their network, which is near the border to another point near the border on the network of a neighbouring NREN."})]}),e[22]=u):u=e[22];const g=u;let f;e[23]!==j?(f=r.jsx(Y,{children:r.jsx(L,{dataLookup:j,columnInfo:k})}),e[23]=j,e[24]=f):f=e[24];let y;return e[25]!==x||e[26]!==s||e[27]!==f?(y=r.jsx(R,{title:"NREN External IP Connections",description:g,category:w.Network,filter:x,data:s,filename:"nren_external_connections",children:f}),e[25]=x,e[26]=s,e[27]=f,e[28]=y):y=e[28],y}export{M as default}; diff --git a/compendium_v2/static/ExternalConnections-Ds1slbkO.js b/compendium_v2/static/ExternalConnections-Ds1slbkO.js new file mode 100644 index 0000000000000000000000000000000000000000..b96557105c1e97ac65a9182a0d9801560907716b --- /dev/null +++ b/compendium_v2/static/ExternalConnections-Ds1slbkO.js @@ -0,0 +1 @@ +import{c as _,j as r,e as C,r as S,F as E,t as w,S as D}from"./index.js";import{u as F,h as T,D as Y,F as R,f as L}from"./useData-Ct8E3VVL.js";import{T as O}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function $(e){const t=_.c(8),{dataLookup:l,columnInfo:a}=e;if(!l){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:"matrix-border-round"}),t[0]=s):s=t[0],s}let d;if(t[1]!==a||t[2]!==l){let s;t[4]!==a?(s=j=>{const[i,h]=j;return r.jsx(C,{title:i,theme:"-table",startCollapsed:!0,children:r.jsx("div",{className:"scrollable-horizontal",children:Array.from(h.entries()).map(m=>{const[o,b]=m,x={"--before-color":`var(--color-of-the-year-muted-${o%9})`};return r.jsxs("div",{children:[r.jsx("span",{className:`scrollable-table-year color-of-the-year-${o%9} bold-caps-16pt pt-3 ps-3`,style:x,children:o}),r.jsx("div",{className:`colored-table bg-muted-color-of-the-year-${o%9}`,children:r.jsxs(O,{children:[r.jsx("thead",{children:r.jsx("tr",{children:Object.keys(a).map(c=>r.jsx("th",{style:{position:"relative"},children:r.jsx("span",{style:x,children:c})},c))})}),r.jsx("tbody",{children:b.map((c,k)=>r.jsx("tr",{children:Object.entries(a).map(u=>{const[g,f]=u,y=c[f];return r.jsx("td",{children:y},g)})},k))})]})})]},o)})})},i)},t[4]=a,t[5]=s):s=t[5],d=Array.from(l.entries()).map(s),t[1]=a,t[2]=l,t[3]=d}else d=t[3];const p=d;let n;return t[6]!==p?(n=r.jsx("div",{className:"matrix-border-round",children:p}),t[6]=p,t[7]=n):n=t[7],n}function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:l}=S.useContext(E),{data:a,years:d,nrens:p}=F("/api/external-connections",l);let n,s;if(e[0]!==a||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let N;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(N=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=N):N=e[7],n=a.filter(N),s=T([...n]),e[0]=a,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=n,e[4]=s}else n=e[3],s=e[4];const j=s;let i;e[8]!==d?(i=[...d],e[8]=d,e[9]=i):i=e[9];let h;e[10]!==p?(h=p.values(),e[10]=p,e[11]=h):h=e[11];let m;e[12]!==h?(m=[...h],e[12]=h,e[13]=m):m=e[13];let o;e[14]!==i||e[15]!==m?(o={availableYears:i,availableNrens:m},e[14]=i,e[15]=m,e[16]=o):o=e[16];let b;e[17]!==t||e[18]!==l||e[19]!==o?(b=r.jsx(R,{filterOptions:o,filterSelection:t,setFilterSelection:l,coloredYears:!0}),e[17]=t,e[18]=l,e[19]=o,e[20]=b):b=e[20];const x=b;let c;e[21]===Symbol.for("react.memo_cache_sentinel")?(c={"Link Name":"link_name","Capacity (Gbit/s)":"capacity","From Organisation":"from_organization","To Organisation":"to_organization","Interconnection Method":"interconnection_method"},e[21]=c):c=e[21];const k=c;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"The table below shows the operational external IP connections of each NREN. These include links to their regional backbone (ie. GÉANT), to other research locations, to the commercial internet, peerings to internet exchanges, cross-border dark fibre links, and any other links they may have."}),r.jsx("p",{children:"NRENs are asked to state the capacity for production purposes, not any additional link that may be there solely for the purpose of giving resilience. Cross-border fibre links are meant as those links which have been commissioned or established by the NREN from a point on their network, which is near the border to another point near the border on the network of a neighbouring NREN."})]}),e[22]=u):u=e[22];const g=u;let f;e[23]!==j?(f=r.jsx(L,{children:r.jsx($,{dataLookup:j,columnInfo:k})}),e[23]=j,e[24]=f):f=e[24];let y;return e[25]!==x||e[26]!==n||e[27]!==f?(y=r.jsx(Y,{title:w["external-connections"],description:g,category:D.Network,filter:x,data:n,filename:"nren_external_connections",children:f}),e[25]=x,e[26]=n,e[27]=f,e[28]=y):y=e[28],y}export{q as default}; diff --git a/compendium_v2/static/FibreLight-C4tQtRYN.js b/compendium_v2/static/FibreLight-C4tQtRYN.js new file mode 100644 index 0000000000000000000000000000000000000000..4114604ce5ffd3f3a48bb86f0f0a24f86a5b80cb --- /dev/null +++ b/compendium_v2/static/FibreLight-C4tQtRYN.js @@ -0,0 +1,2 @@ +import{c as Y,r as j,F as k,j as h,t as v,S as E}from"./index.js";import{u as F,g as S,D as R,F as C,f as D}from"./useData-Ct8E3VVL.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(k),{data:_,years:N,nrens:g}=F("/api/fibre-light",c);let s,p;if(e[0]!==_||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=_.filter(m),p=S(s,"light_description"),e[0]=_,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let i;e[8]!==N?(i=[...N],e[8]=N,e[9]=i):i=e[9];let o;e[10]!==g?(o=g.values(),e[10]=g,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let l;e[14]!==i||e[15]!==n?(l={availableYears:i,availableNrens:n},e[14]=i,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==c||e[19]!==l?(d=h.jsx(C,{filterOptions:l,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=l,e[20]=d):d=e[20];const x=d;let r,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(r=["NREN owns and operates equipment","NREN owns equipment and operation is outsourced","Ownership and management are out-sourced (turn-key model)"],f=new Map([[r[0],"nren_owns_and_operates"],[r[1],"nren_owns_outsourced_operation"],[r[2],"outsourced_ownership_and_operation"]]),e[21]=r,e[22]=f):(r=e[21],f=e[22]);const y=f;let a;e[23]!==w?(a=h.jsx(D,{children:h.jsx(L,{columns:r,dataLookup:w,columnLookup:y,circle:!0})}),e[23]=w,e[24]=a):a=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==a?(u=h.jsx(R,{title:v["fibre-light"],description:`This graphic shows the different ways NRENs can light their fibre networks. + The option 'Other' is given, with extra information if you hover over the icon.`,category:E.Network,filter:x,data:s,filename:"fibre_light_of_nrens_per_year",children:a}),e[25]=x,e[26]=s,e[27]=a,e[28]=u):u=e[28],u}export{B as default}; diff --git a/compendium_v2/static/FibreLight-CWljRLcS.js b/compendium_v2/static/FibreLight-CWljRLcS.js deleted file mode 100644 index be7bc866c637a32db87d4cf46ec33295df4d4226..0000000000000000000000000000000000000000 --- a/compendium_v2/static/FibreLight-CWljRLcS.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as k,r as E,F as Y,j as h,S as j}from"./index.js";import{u as v,g as F,D as R,F as S,f as C}from"./useData-C0vA-Ut8.js";import{P as D}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function z(){const e=k.c(29),{filterSelection:t,setFilterSelection:c}=E.useContext(Y),{data:N,years:_,nrens:g}=v("/api/fibre-light",c);let s,p;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=N.filter(m),p=F(s,"light_description"),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let o;e[8]!==_?(o=[..._],e[8]=_,e[9]=o):o=e[9];let i;e[10]!==g?(i=g.values(),e[10]=g,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let a;e[14]!==o||e[15]!==n?(a={availableYears:o,availableNrens:n},e[14]=o,e[15]=n,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==c||e[19]!==a?(d=h.jsx(S,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=a,e[20]=d):d=e[20];const x=d;let r,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(r=["NREN owns and operates equipment","NREN owns equipment and operation is outsourced","Ownership and management are out-sourced (turn-key model)"],f=new Map([[r[0],"nren_owns_and_operates"],[r[1],"nren_owns_outsourced_operation"],[r[2],"outsourced_ownership_and_operation"]]),e[21]=r,e[22]=f):(r=e[21],f=e[22]);const y=f;let l;e[23]!==w?(l=h.jsx(C,{children:h.jsx(D,{columns:r,dataLookup:w,columnLookup:y,circle:!0})}),e[23]=w,e[24]=l):l=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==l?(u=h.jsx(R,{title:"Approaches to lighting NREN fibre networks",description:`This graphic shows the different ways NRENs can light their fibre networks. - The option 'Other' is given, with extra information if you hover over the icon.`,category:j.Network,filter:x,data:s,filename:"fibre_light_of_nrens_per_year",children:l}),e[25]=x,e[26]=s,e[27]=l,e[28]=u):u=e[28],u}export{z as default}; diff --git a/compendium_v2/static/FundingSource-Bwu0iwfm.js b/compendium_v2/static/FundingSource-Bwu0iwfm.js deleted file mode 100644 index 2d9bc86e72b4fda9d1e31ebceac75cb8dde12ba6..0000000000000000000000000000000000000000 --- a/compendium_v2/static/FundingSource-Bwu0iwfm.js +++ /dev/null @@ -1 +0,0 @@ -import{c as D,j as s,r as P,F as z,S as G,C as y,R as M}from"./index.js";import{B as T}from"./index-BJrPLJgf.js";import{C as j,a as H,L as W,B as q,p as I,c as J,d as K,u as Q,j as U,D as V,F as X,f as Z}from"./useData-C0vA-Ut8.js";import{p as ee}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function N(e){const t=D.c(6),{index:i,active:l}=e,n=l===void 0?!0:l;let a;t[0]!==n||t[1]!==i?(a=n?s.jsx("div",{className:`color-of-badge-${i%5}`,style:{width:"20px",height:"35px",margin:"2px"}}):s.jsx("div",{className:"color-of-badge-blank",style:{width:"15px",height:"30px",margin:"2px"}}),t[0]=n,t[1]=i,t[2]=a):a=t[2];let r;return t[3]!==i||t[4]!==a?(r=s.jsx("div",{className:"d-inline-block m-2",children:a},i),t[3]=i,t[4]=a,t[5]=r):r=t[5],r}j.register(H,W,q,I,J,K);const te={maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.y!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0},xBottom:{ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0,grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(j.instances);let i=-999999,l=999999;for(const n of t)j.instances[n]&&e.chart.scales.xBottom&&(l=Math.min(j.instances[n].scales.x.min,l),i=Math.max(j.instances[n].scales.x.max,i));e.chart.scales.xBottom.options.min=l,e.chart.scales.xBottom.options.max=i,e.chart.scales.xBottom.min=l,e.chart.scales.xBottom.max=i}},y:{ticks:{autoSkip:!1}}},indexAxis:"y"};function $(){const e=D.c(5);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(N,{index:0},0),"Client Institutions"]}),e[0]=t):t=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(N,{index:1},1),"Commercial"]}),e[1]=i):i=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(N,{index:2},2),"European Funding"]}),e[2]=l):l=e[2];let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(N,{index:3},3),"Gov/Public Bodies"]}),e[3]=n):n=e[3];let a;return e[4]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"d-flex justify-content-center bold-grey-12pt",children:s.jsxs(M,{xs:"auto",className:"border rounded-3 border-1 my-5 justify-content-center",children:[t,i,l,n,s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(N,{index:4},4),"Other"]})]})}),e[4]=a):a=e[4],a}function fe(){const e=D.c(44),{filterSelection:t,setFilterSelection:i}=P.useContext(z),{data:l,years:n,nrens:a}=Q("/api/funding",i);let r,c,o,_;if(e[0]!==t||e[1]!==l||e[2]!==a||e[3]!==i||e[4]!==n){let w;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(w=m=>t.selectedYears.includes(m.year)&&t.selectedNrens.includes(m.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=w):w=e[11],o=l.filter(w),c=U(o),c.datasets.forEach(m=>{m.data=m.data.filter((ie,L)=>t.selectedNrens.includes(c.labels[L]))});let k;e[12]!==t.selectedNrens?(k=m=>t.selectedNrens.includes(m),e[12]=t.selectedNrens,e[13]=k):k=e[13],c.labels=c.labels.filter(k);let x;e[14]!==n?(x=[...n],e[14]=n,e[15]=x):x=e[15];let p;e[16]!==a?(p=a.values(),e[16]=a,e[17]=p):p=e[17];let g;e[18]!==p?(g=[...p],e[18]=p,e[19]=g):g=e[19];let b;e[20]!==x||e[21]!==g?(b={availableYears:x,availableNrens:g},e[20]=x,e[21]=g,e[22]=b):b=e[22];let R;e[23]!==t||e[24]!==i||e[25]!==b?(R=s.jsx(X,{filterOptions:b,filterSelection:t,setFilterSelection:i}),e[23]=t,e[24]=i,e[25]=b,e[26]=R):R=e[26],r=R,_=Array.from(new Set(o.map(se))),e[0]=t,e[1]=l,e[2]=a,e[3]=i,e[4]=n,e[5]=r,e[6]=c,e[7]=o,e[8]=_}else r=e[5],c=e[6],o=e[7],_=e[8];const O=_.length,Y=t.selectedYears.length,A=O*Y*2+5;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsxs("span",{children:['The graph shows the percentage share of their income that NRENs derive from different sources, with any funding and NREN may receive from GÉANT included within "European funding". By "Client institutions" NRENs may be referring to universities, schools, research institutes, commercial clients, or other types of organisation. "Commercial services" include services such as being a domain registry, or security support.',s.jsx("br",{}),"Hovering over the graph bars will show the exact figures, per source. When viewing multiple years, it is advisable to restrict the number of NRENs being compared."]}),e[27]=S):S=e[27];let v;e[28]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx($,{}),e[28]=v):v=e[28];const F=`${A}rem`;let d;e[29]!==F?(d={height:F},e[29]=F,e[30]=d):d=e[30];let C;e[31]===Symbol.for("react.memo_cache_sentinel")?(C=[ee],e[31]=C):C=e[31];let f;e[32]!==c?(f=s.jsx(T,{plugins:C,data:c,options:te}),e[32]=c,e[33]=f):f=e[33];let u;e[34]!==d||e[35]!==f?(u=s.jsx("div",{className:"chart-container",style:d,children:f}),e[34]=d,e[35]=f,e[36]=u):u=e[36];let B;e[37]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx($,{}),e[37]=B):B=e[37];let h;e[38]!==u?(h=s.jsxs(Z,{children:[v,u,B]}),e[38]=u,e[39]=h):h=e[39];let E;return e[40]!==r||e[41]!==o||e[42]!==h?(E=s.jsx(V,{title:"Income Source Of NRENs",description:S,category:G.Organisation,filter:r,data:o,filename:"income_source_of_nren_per_year",children:h}),e[40]=r,e[41]=o,e[42]=h,e[43]=E):E=e[43],E}function se(e){return e.nren}export{fe as default}; diff --git a/compendium_v2/static/FundingSource-C4jAa4nC.js b/compendium_v2/static/FundingSource-C4jAa4nC.js new file mode 100644 index 0000000000000000000000000000000000000000..ca2f5cd5333bc105bcde5bcab72350c006aa5754 --- /dev/null +++ b/compendium_v2/static/FundingSource-C4jAa4nC.js @@ -0,0 +1 @@ +import{c as D,j as s,r as P,F as z,t as G,S as M,C as y,R as T}from"./index.js";import{B as H}from"./index-C4Nuqrw6.js";import{C as N,a as W,L as q,B as J,p as K,c as Q,d as U,u as V,j as X,D as Z,F as I,f as ee}from"./useData-Ct8E3VVL.js";import{p as te}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function j(e){const t=D.c(6),{index:i,active:l}=e,n=l===void 0?!0:l;let a;t[0]!==n||t[1]!==i?(a=n?s.jsx("div",{className:`color-of-badge-${i%5}`,style:{width:"20px",height:"35px",margin:"2px"}}):s.jsx("div",{className:"color-of-badge-blank",style:{width:"15px",height:"30px",margin:"2px"}}),t[0]=n,t[1]=i,t[2]=a):a=t[2];let r;return t[3]!==i||t[4]!==a?(r=s.jsx("div",{className:"d-inline-block m-2",children:a},i),t[3]=i,t[4]=a,t[5]=r):r=t[5],r}N.register(W,q,J,K,Q,U);const se={maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.y!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0},xBottom:{ticks:{callback:e=>`${e}%`,stepSize:10},max:100,min:0,grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(N.instances);let i=-999999,l=999999;for(const n of t)N.instances[n]&&e.chart.scales.xBottom&&(l=Math.min(N.instances[n].scales.x.min,l),i=Math.max(N.instances[n].scales.x.max,i));e.chart.scales.xBottom.options.min=l,e.chart.scales.xBottom.options.max=i,e.chart.scales.xBottom.min=l,e.chart.scales.xBottom.max=i}},y:{ticks:{autoSkip:!1}}},indexAxis:"y"};function $(){const e=D.c(5);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:0},0),"Client Institutions"]}),e[0]=t):t=e[0];let i;e[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:1},1),"Commercial"]}),e[1]=i):i=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:2},2),"European Funding"]}),e[2]=l):l=e[2];let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:3},3),"Gov/Public Bodies"]}),e[3]=n):n=e[3];let a;return e[4]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"d-flex justify-content-center bold-grey-12pt",children:s.jsxs(T,{xs:"auto",className:"border rounded-3 border-1 my-5 justify-content-center",children:[t,i,l,n,s.jsxs(y,{className:"d-flex align-items-center",children:[s.jsx(j,{index:4},4),"Other"]})]})}),e[4]=a):a=e[4],a}function ue(){const e=D.c(44),{filterSelection:t,setFilterSelection:i}=P.useContext(z),{data:l,years:n,nrens:a}=V("/api/funding",i);let r,c,o,_;if(e[0]!==t||e[1]!==l||e[2]!==a||e[3]!==i||e[4]!==n){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=m=>t.selectedYears.includes(m.year)&&t.selectedNrens.includes(m.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],o=l.filter(E),c=X(o),c.datasets.forEach(m=>{m.data=m.data.filter((ne,L)=>t.selectedNrens.includes(c.labels[L]))});let k;e[12]!==t.selectedNrens?(k=m=>t.selectedNrens.includes(m),e[12]=t.selectedNrens,e[13]=k):k=e[13],c.labels=c.labels.filter(k);let x;e[14]!==n?(x=[...n],e[14]=n,e[15]=x):x=e[15];let p;e[16]!==a?(p=a.values(),e[16]=a,e[17]=p):p=e[17];let g;e[18]!==p?(g=[...p],e[18]=p,e[19]=g):g=e[19];let b;e[20]!==x||e[21]!==g?(b={availableYears:x,availableNrens:g},e[20]=x,e[21]=g,e[22]=b):b=e[22];let F;e[23]!==t||e[24]!==i||e[25]!==b?(F=s.jsx(I,{filterOptions:b,filterSelection:t,setFilterSelection:i}),e[23]=t,e[24]=i,e[25]=b,e[26]=F):F=e[26],r=F,_=Array.from(new Set(o.map(ie))),e[0]=t,e[1]=l,e[2]=a,e[3]=i,e[4]=n,e[5]=r,e[6]=c,e[7]=o,e[8]=_}else r=e[5],c=e[6],o=e[7],_=e[8];const O=_.length,Y=t.selectedYears.length,A=O*Y*2+5;let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsxs("span",{children:['The graph shows the percentage share of their income that NRENs derive from different sources, with any funding and NREN may receive from GÉANT included within "European funding". By "Client institutions" NRENs may be referring to universities, schools, research institutes, commercial clients, or other types of organisation. "Commercial services" include services such as being a domain registry, or security support.',s.jsx("br",{}),"Hovering over the graph bars will show the exact figures, per source. When viewing multiple years, it is advisable to restrict the number of NRENs being compared."]}),e[27]=S):S=e[27];let v;e[28]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx($,{}),e[28]=v):v=e[28];const R=`${A}rem`;let d;e[29]!==R?(d={height:R},e[29]=R,e[30]=d):d=e[30];let C;e[31]===Symbol.for("react.memo_cache_sentinel")?(C=[te],e[31]=C):C=e[31];let f;e[32]!==c?(f=s.jsx(H,{plugins:C,data:c,options:se}),e[32]=c,e[33]=f):f=e[33];let u;e[34]!==d||e[35]!==f?(u=s.jsx("div",{className:"chart-container",style:d,children:f}),e[34]=d,e[35]=f,e[36]=u):u=e[36];let B;e[37]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx($,{}),e[37]=B):B=e[37];let h;e[38]!==u?(h=s.jsxs(ee,{children:[v,u,B]}),e[38]=u,e[39]=h):h=e[39];let w;return e[40]!==r||e[41]!==o||e[42]!==h?(w=s.jsx(Z,{title:G.funding,description:S,category:M.Organisation,filter:r,data:o,filename:"income_source_of_nren_per_year",children:h}),e[40]=r,e[41]=o,e[42]=h,e[43]=w):w=e[43],w}function ie(e){return e.nren}export{ue as default}; diff --git a/compendium_v2/static/HTMLLegendPlugin-B1D8JXQI.js b/compendium_v2/static/HTMLLegendPlugin-sjJV-MGB.js similarity index 96% rename from compendium_v2/static/HTMLLegendPlugin-B1D8JXQI.js rename to compendium_v2/static/HTMLLegendPlugin-sjJV-MGB.js index bbaccba05d315a3590b34afb819f1b45606f4659..86e4a1ad65e1eeef8527cfb17697cc50794d2a61 100644 --- a/compendium_v2/static/HTMLLegendPlugin-B1D8JXQI.js +++ b/compendium_v2/static/HTMLLegendPlugin-sjJV-MGB.js @@ -1 +1 @@ -import{c as g,j as p}from"./index.js";import{f as m,C as c}from"./useData-C0vA-Ut8.js";const C=o=>{const e=g.c(8);let{children:s,location:t}=o;t||(t="both");const r=t==="top"||t==="both",a=t==="bottom"||t==="both";let n;e[0]!==r?(n=r&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"2.5rem",paddingBottom:"1.5rem"},id:"legendtop"}),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==a?(l=a&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"1.5rem"},id:"legendbottom"}),e[2]=a,e[3]=l):l=e[3];let i;return e[4]!==s||e[5]!==n||e[6]!==l?(i=p.jsxs(m,{children:[n,s,l]}),e[4]=s,e[5]=n,e[6]=l,e[7]=i):i=e[7],i},u=(o,e)=>{const s=document.getElementById(e);if(!s)return null;let t=s.querySelector("ul");return t||(t=document.createElement("ul"),t.style.display="flex",t.style.flexDirection="row",t.style.margin="0",t.style.padding="0",s.appendChild(t)),t},b={id:"htmlLegend",afterUpdate(o,e,s){for(const t of s.containerIDs){const r=u(o,t);if(!r)return;for(;r.firstChild;)r.firstChild.remove();o.options.plugins.legend.labels.generateLabels(o).forEach(n=>{const l=document.createElement("li");l.style.alignItems="center",l.style.cursor="pointer",l.style.display="flex",l.style.flexDirection="row",l.style.marginLeft="10px",l.onclick=()=>{const{type:f}=o.config;f==="pie"||f==="doughnut"?o.toggleDataVisibility(n.index):o.setDatasetVisibility(n.datasetIndex,!o.isDatasetVisible(n.datasetIndex)),o.update()};const i=document.createElement("span");i.style.background=n.fillStyle,i.style.borderColor=n.strokeStyle,i.style.borderWidth=n.lineWidth+"px",i.style.display="inline-block",i.style.height="1rem",i.style.marginRight="10px",i.style.width="2.5rem";const d=document.createElement("p");d.style.color=n.fontColor,d.style.margin="0",d.style.padding="0",d.style.textDecoration=n.hidden?"line-through":"",d.style.fontSize=`${c.defaults.font.size}px`,d.style.fontFamily=`${c.defaults.font.family}`,d.style.fontWeight=`${c.defaults.font.weight}`;const y=document.createTextNode(n.text);d.appendChild(y),l.appendChild(i),l.appendChild(d),r.appendChild(l)})}}};export{C as W,b as h}; +import{c as g,j as p}from"./index.js";import{f as m,C as c}from"./useData-Ct8E3VVL.js";const C=o=>{const e=g.c(8);let{children:s,location:t}=o;t||(t="both");const r=t==="top"||t==="both",a=t==="bottom"||t==="both";let n;e[0]!==r?(n=r&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"2.5rem",paddingBottom:"1.5rem"},id:"legendtop"}),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==a?(l=a&&p.jsx("div",{style:{paddingLeft:"33%",paddingTop:"1.5rem"},id:"legendbottom"}),e[2]=a,e[3]=l):l=e[3];let i;return e[4]!==s||e[5]!==n||e[6]!==l?(i=p.jsxs(m,{children:[n,s,l]}),e[4]=s,e[5]=n,e[6]=l,e[7]=i):i=e[7],i},u=(o,e)=>{const s=document.getElementById(e);if(!s)return null;let t=s.querySelector("ul");return t||(t=document.createElement("ul"),t.style.display="flex",t.style.flexDirection="row",t.style.margin="0",t.style.padding="0",s.appendChild(t)),t},b={id:"htmlLegend",afterUpdate(o,e,s){for(const t of s.containerIDs){const r=u(o,t);if(!r)return;for(;r.firstChild;)r.firstChild.remove();o.options.plugins.legend.labels.generateLabels(o).forEach(n=>{const l=document.createElement("li");l.style.alignItems="center",l.style.cursor="pointer",l.style.display="flex",l.style.flexDirection="row",l.style.marginLeft="10px",l.onclick=()=>{const{type:f}=o.config;f==="pie"||f==="doughnut"?o.toggleDataVisibility(n.index):o.setDatasetVisibility(n.datasetIndex,!o.isDatasetVisible(n.datasetIndex)),o.update()};const i=document.createElement("span");i.style.background=n.fillStyle,i.style.borderColor=n.strokeStyle,i.style.borderWidth=n.lineWidth+"px",i.style.display="inline-block",i.style.height="1rem",i.style.marginRight="10px",i.style.width="2.5rem";const d=document.createElement("p");d.style.color=n.fontColor,d.style.margin="0",d.style.padding="0",d.style.textDecoration=n.hidden?"line-through":"",d.style.fontSize=`${c.defaults.font.size}px`,d.style.fontFamily=`${c.defaults.font.family}`,d.style.fontWeight=`${c.defaults.font.weight}`;const y=document.createTextNode(n.text);d.appendChild(y),l.appendChild(i),l.appendChild(d),r.appendChild(l)})}}};export{C as W,b as h}; diff --git a/compendium_v2/static/IRUDuration-C1dUeB3y.js b/compendium_v2/static/IRUDuration-C1dUeB3y.js new file mode 100644 index 0000000000000000000000000000000000000000..5cc6a16d55c4b4ae0dc3b7a71711516f0486df2a --- /dev/null +++ b/compendium_v2/static/IRUDuration-C1dUeB3y.js @@ -0,0 +1 @@ +import{c as C,r as D,F as L,j as n,t as R,S as j}from"./index.js";import{L as E}from"./index-C4Nuqrw6.js";import{C as v,a as k,L as F,P as I,b as U,p as P,c as w,d as O,u as Y,e as T,D as $,F as q,f as z}from"./useData-Ct8E3VVL.js";import{g as A}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";v.register(k,F,I,U,P,w,O);function W(){const e=C.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.iru_duration!=null,e[0]=o):o=e[0];const N=o,{filterSelection:t,setFilterSelection:c}=D.useContext(L),{data:g,nrens:_}=Y("/api/dark-fibre-lease",c,N);let a,f;if(e[1]!==g||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=S=>t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=r):r=e[6],a=g.filter(r),f=T(a,"iru_duration"),e[1]=g,e[2]=t.selectedNrens,e[3]=a,e[4]=f}else a=e[3],f=e[4];const x=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let i;e[10]!==s?(i={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=i):i=e[11];let d;e[12]!==t||e[13]!==c||e[14]!==i?(d=n.jsx(q,{filterOptions:i,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=i,e[15]=d):d=e[15];const y=d;let p;e[16]===Symbol.for("react.memo_cache_sentinel")?(p=A({title:"Lease Duration In Years",tooltipUnit:"years",tickLimit:999}),e[16]=p):p=e[16];const b=p;let u;e[17]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("span",{children:"NRENs sometimes take out an IRU (Indefeasible Right of Use), which is essentially a long-term lease, on a portion of the capacity of a cable rather than laying cable themselves. This graph shows the average duration, in years, of the IRUs of NRENs."}),e[17]=u):u=e[17];let l;e[18]!==x?(l=n.jsx(z,{children:n.jsx(E,{data:x,options:b})}),e[18]=x,e[19]=l):l=e[19];let h;return e[20]!==y||e[21]!==a||e[22]!==l?(h=n.jsx($,{title:R["iru-duration"],description:u,category:j.Network,filter:y,data:a,filename:"iru_duration_data",children:l}),e[20]=y,e[21]=a,e[22]=l,e[23]=h):h=e[23],h}export{W as default}; diff --git a/compendium_v2/static/IRUDuration-DwT4l7iu.js b/compendium_v2/static/IRUDuration-DwT4l7iu.js deleted file mode 100644 index c5076831aba37e6bbd4b53aca9738aa5ace36ccf..0000000000000000000000000000000000000000 --- a/compendium_v2/static/IRUDuration-DwT4l7iu.js +++ /dev/null @@ -1 +0,0 @@ -import{c as C,r as D,F as R,j as n,S as L}from"./index.js";import{L as E}from"./index-BJrPLJgf.js";import{C as j,a as v,L as F,P as I,b as U,p as k,c as P,d as w,u as O,e as Y,D as A,F as T,f as $}from"./useData-C0vA-Ut8.js";import{g as q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";j.register(v,F,I,U,k,P,w);function V(){const e=C.c(24);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=r=>r.iru_duration!=null,e[0]=o):o=e[0];const y=o,{filterSelection:t,setFilterSelection:c}=D.useContext(R),{data:g,nrens:_}=O("/api/dark-fibre-lease",c,y);let a,f;if(e[1]!==g||e[2]!==t.selectedNrens){let r;e[5]!==t.selectedNrens?(r=S=>t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=r):r=e[6],a=g.filter(r),f=Y(a,"iru_duration"),e[1]=g,e[2]=t.selectedNrens,e[3]=a,e[4]=f}else a=e[3],f=e[4];const N=f;let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[7]=m):m=e[7];let s;e[8]!==_?(s=_.values(),e[8]=_,e[9]=s):s=e[9];let i;e[10]!==s?(i={availableYears:m,availableNrens:[...s]},e[10]=s,e[11]=i):i=e[11];let p;e[12]!==t||e[13]!==c||e[14]!==i?(p=n.jsx(T,{filterOptions:i,filterSelection:t,setFilterSelection:c}),e[12]=t,e[13]=c,e[14]=i,e[15]=p):p=e[15];const b=p;let d;e[16]===Symbol.for("react.memo_cache_sentinel")?(d=q({title:"Lease Duration In Years",tooltipUnit:"years",tickLimit:999}),e[16]=d):d=e[16];const x=d;let u;e[17]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("span",{children:"NRENs sometimes take out an IRU (Indefeasible Right of Use), which is essentially a long-term lease, on a portion of the capacity of a cable rather than laying cable themselves. This graph shows the average duration, in years, of the IRUs of NRENs."}),e[17]=u):u=e[17];let l;e[18]!==N?(l=n.jsx($,{children:n.jsx(E,{data:N,options:x})}),e[18]=N,e[19]=l):l=e[19];let h;return e[20]!==b||e[21]!==a||e[22]!==l?(h=n.jsx(A,{title:"Average Duration of IRU leases of Fibre by NRENs ",description:u,category:L.Network,filter:b,data:a,filename:"iru_duration_data",children:l}),e[20]=b,e[21]=a,e[22]=l,e[23]=h):h=e[23],h}export{V as default}; diff --git a/compendium_v2/static/Landing-B1Sq71Lu.js b/compendium_v2/static/Landing-B1Sq71Lu.js new file mode 100644 index 0000000000000000000000000000000000000000..3d53f7158e4c91e2c288fe0664f4bdb40a1e5468 --- /dev/null +++ b/compendium_v2/static/Landing-B1Sq71Lu.js @@ -0,0 +1 @@ +import{c as V,Q as q,r as _,a1 as J,D as K,j as t,L as W,E as X,R as Z}from"./index.js";import{f as ee,a as te}from"./survey-3meXCY6T.js";import{S as ne}from"./SurveySidebar-CG0gwQ6b.js";import{u as b,w as re}from"./xlsx-BHRztzV8.js";import{T as se}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";const oe=()=>{const e=V.c(7),[i,f]=_.useState();let h,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{te().then(s=>{f(s[0])})},r=[],e[0]=h,e[1]=r):(h=e[0],r=e[1]),_.useEffect(h,r);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"(N)REN"}),t.jsx("th",{children:"Link"}),t.jsx("th",{children:"Survey Status"})]})}),e[2]=l):l=e[2];let c;e[3]!==i?(c=i&&i.responses.map(s=>t.jsxs("tr",{children:[t.jsx("td",{children:s.nren.name}),t.jsx("td",{children:t.jsx(W,{to:`/survey/response/${i.year}/${s.nren.name}`,children:t.jsx("span",{children:"Navigate to survey"})})}),t.jsx("td",{children:s.status})]},s.nren.id)),e[3]=i,e[4]=c):c=e[4];let o;return e[5]!==c?(o=t.jsxs(se,{striped:!0,bordered:!0,responsive:!0,children:[l,t.jsx("tbody",{children:c})]}),e[5]=c,e[6]=o):o=e[6],o};function fe(){const e=V.c(37),{trackPageView:i}=q(),{user:f}=_.useContext(J),h=K(),r=!!f.id,l=r?!!f.nrens.length:!1,c=l?f.nrens[0]:"",o=r?f.permissions.admin:!1,s=r?f.role==="observer":!1,[y,z]=_.useState(null);let w,E;e[0]!==i?(w=()=>{(async()=>{const P=await ee();z(P)})(),i({documentTitle:"GEANT Survey Landing Page"})},E=[i],e[0]=i,e[1]=w,e[2]=E):(w=e[1],E=e[2]),_.useEffect(w,E);let N;e[3]!==c||e[4]!==y||e[5]!==h?(N=()=>{try{return h(`/survey/response/${y}/${c}`),t.jsx("li",{children:"Redirecting to survey..."})}catch(I){return console.error("Error navigating:",I),null}},e[3]=c,e[4]=y,e[5]=h,e[6]=N):N=e[6];const B=N;let C;if(e[7]===Symbol.for("react.memo_cache_sentinel")){const I=function(d,x,a){const m=b.decode_range(d["!ref"]??"");let S=-1;for(let n=m.s.c;n<=m.e.c;n++){const u=b.encode_cell({r:m.s.r,c:n}),M=d[u];if(M&&typeof M.v=="string"&&M.v===x){S=n;break}}if(S===-1){console.error(`Column '${x}' not found.`);return}for(let n=m.s.r+1;n<=m.e.r;++n){const u=b.encode_cell({r:n,c:S});d[u]&&d[u].t==="n"&&(d[u].z=a)}},P=function(d){const x=b.book_new();d.forEach(n=>{const u=b.json_to_sheet(n.data);n.meta&&I(u,n.meta.columnName,n.meta.format),b.book_append_sheet(x,u,n.name)});const a=re(x,{bookType:"xlsx",type:"binary"}),m=new ArrayBuffer(a.length),S=new Uint8Array(m);for(let n=0;n<a.length;n++)S[n]=a.charCodeAt(n)&255;return new Blob([m],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})};C=function(){fetch("/api/data-download").then(ae).then(d=>{const x=P(d),a=document.createElement("a");a.href=URL.createObjectURL(x),a.download="data.xlsx",document.body.appendChild(a),a.click(),document.body.removeChild(a)}).catch(le)},e[7]=C}else C=e[7];const Q=C;let p;e[8]!==o?(p=o&&t.jsx(ne,{}),e[8]=o,e[9]=p):p=e[9];let k;e[10]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS SURVEY"}),e[10]=k):k=e[10];let T,A;e[11]===Symbol.for("react.memo_cache_sentinel")?(T={maxWidth:"75rem"},A={textAlign:"left"},e[11]=T,e[12]=A):(T=e[11],A=e[12]);let R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=t.jsx("br",{}),e[13]=R):R=e[13];let Y;e[14]===Symbol.for("react.memo_cache_sentinel")?(Y=t.jsx("a",{href:"/login",children:"here"}),e[14]=Y):Y=e[14];let L;e[15]===Symbol.for("react.memo_cache_sentinel")?(L=t.jsx("br",{}),e[15]=L):L=e[15];let O;e[16]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsx("br",{}),e[16]=O):O=e[16];let $,D,U,F;e[17]===Symbol.for("react.memo_cache_sentinel")?($=t.jsxs("p",{style:A,children:["Hello,",R,"Welcome to the GÉANT Compendium Survey. (N)REN Compendium administrators can login via Single Sign On (SSO) ",Y,", which will complete their registration to fill in the latest Compendium survey. This will send a notification to the Compendium administration team and they will assign you to your (N)REN.",L,"Once this step has been completed, you will receive an email from the administration team. We aim to get back to you the same working day, but sometimes may take a little longer.",O,"If you are not sure whether you are a Compendium Administrator for your (N)REN, please contact your GÉANT Partner Relations relationship manager.",t.jsx("br",{}),"Thank you."]}),D=t.jsx("span",{children:"Current registration status:"}),U=t.jsx("br",{}),F=t.jsx("br",{}),e[17]=$,e[18]=D,e[19]=U,e[20]=F):($=e[17],D=e[18],U=e[19],F=e[20]);let j;e[21]!==y||e[22]!==l||e[23]!==o||e[24]!==s||e[25]!==r||e[26]!==B?(j=o?t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("span",{children:"You are logged in as a Compendium Administrator"})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(W,{to:"/survey/admin/surveys",children:"here"})," to access the survey management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(W,{to:"/survey/admin/users",children:"here"})," to access the user management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx("a",{href:"#",onClick:Q,children:"here"})," to do the full data download."]})})]}):t.jsxs("ul",{children:[y&&!o&&!s&&l&&B(),r?t.jsx("li",{children:t.jsx("span",{children:"You are logged in"})}):t.jsx("li",{children:t.jsx("span",{children:"You are not logged in"})}),r&&!s&&!l&&t.jsx("li",{children:t.jsx("span",{children:"Your access to the survey has not yet been approved"})}),r&&!s&&!l&&t.jsx("li",{children:t.jsx("span",{children:"Once you have been approved, you will immediately be directed to the relevant survey upon visiting this page"})}),r&&s&&t.jsx("li",{children:t.jsx("span",{children:"You have read-only access to the following surveys:"})})]}),e[21]=y,e[22]=l,e[23]=o,e[24]=s,e[25]=r,e[26]=B,e[27]=j):j=e[27];let v;e[28]!==s||e[29]!==r?(v=r&&s&&t.jsx(oe,{}),e[28]=s,e[29]=r,e[30]=v):v=e[30];let g;e[31]!==j||e[32]!==v?(g=t.jsx(X,{className:"py-5 grey-container",children:t.jsx(Z,{children:t.jsxs("div",{className:"center-text",children:[k,t.jsxs("div",{className:"wordwrap pt-4",style:T,children:[$,D,U,F,j,v]})]})})}),e[31]=j,e[32]=v,e[33]=g):g=e[33];let G;return e[34]!==g||e[35]!==p?(G=t.jsxs(t.Fragment,{children:[p,g]}),e[34]=g,e[35]=p,e[36]=G):G=e[36],G}function le(e){console.error("Error fetching data:",e),alert("An error occurred while creating the data download Excel file.")}function ae(e){if(!e.ok)throw new Error("Network response was not ok");return e.json()}export{fe as default}; diff --git a/compendium_v2/static/Landing-f86DzYca.js b/compendium_v2/static/Landing-f86DzYca.js deleted file mode 100644 index ec8ed83da8c93dc9ec9b6eb2e816319729342070..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Landing-f86DzYca.js +++ /dev/null @@ -1 +0,0 @@ -import{c as V,H as J,r as _,W as K,A as Q,j as t,L as H,D as X,R as Z}from"./index.js";import{f as ee,a as te}from"./survey-3meXCY6T.js";import{S as ne}from"./SurveySidebar-NbXpjOVQ.js";import{u as b,w as re}from"./xlsx-BHRztzV8.js";import{T as se}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";const oe=()=>{const e=V.c(7),[i,f]=_.useState();let h,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{te().then(s=>{f(s[0])})},r=[],e[0]=h,e[1]=r):(h=e[0],r=e[1]),_.useEffect(h,r);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"(N)REN"}),t.jsx("th",{children:"Link"}),t.jsx("th",{children:"Survey Status"})]})}),e[2]=l):l=e[2];let c;e[3]!==i?(c=i&&i.responses.map(s=>t.jsxs("tr",{children:[t.jsx("td",{children:s.nren.name}),t.jsx("td",{children:t.jsx(H,{to:`/survey/response/${i.year}/${s.nren.name}`,children:t.jsx("span",{children:"Navigate to survey"})})}),t.jsx("td",{children:s.status})]},s.nren.id)),e[3]=i,e[4]=c):c=e[4];let o;return e[5]!==c?(o=t.jsxs(se,{striped:!0,bordered:!0,responsive:!0,children:[l,t.jsx("tbody",{children:c})]}),e[5]=c,e[6]=o):o=e[6],o};function fe(){const e=V.c(37),{trackPageView:i}=J(),{user:f}=_.useContext(K),h=Q(),r=!!f.id,l=r?!!f.nrens.length:!1,c=l?f.nrens[0]:"",o=r?f.permissions.admin:!1,s=r?f.role==="observer":!1,[y,z]=_.useState(null);let w,E;e[0]!==i?(w=()=>{(async()=>{const P=await ee();z(P)})(),i({documentTitle:"GEANT Survey Landing Page"})},E=[i],e[0]=i,e[1]=w,e[2]=E):(w=e[1],E=e[2]),_.useEffect(w,E);let N;e[3]!==c||e[4]!==y||e[5]!==h?(N=()=>{try{return h(`/survey/response/${y}/${c}`),t.jsx("li",{children:"Redirecting to survey..."})}catch(I){return console.error("Error navigating:",I),null}},e[3]=c,e[4]=y,e[5]=h,e[6]=N):N=e[6];const W=N;let C;if(e[7]===Symbol.for("react.memo_cache_sentinel")){const I=function(d,x,a){const m=b.decode_range(d["!ref"]??"");let S=-1;for(let n=m.s.c;n<=m.e.c;n++){const u=b.encode_cell({r:m.s.r,c:n}),B=d[u];if(B&&typeof B.v=="string"&&B.v===x){S=n;break}}if(S===-1){console.error(`Column '${x}' not found.`);return}for(let n=m.s.r+1;n<=m.e.r;++n){const u=b.encode_cell({r:n,c:S});d[u]&&d[u].t==="n"&&(d[u].z=a)}},P=function(d){const x=b.book_new();d.forEach(n=>{const u=b.json_to_sheet(n.data);n.meta&&I(u,n.meta.columnName,n.meta.format),b.book_append_sheet(x,u,n.name)});const a=re(x,{bookType:"xlsx",type:"binary"}),m=new ArrayBuffer(a.length),S=new Uint8Array(m);for(let n=0;n<a.length;n++)S[n]=a.charCodeAt(n)&255;return new Blob([m],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})};C=function(){fetch("/api/data-download").then(ae).then(d=>{const x=P(d),a=document.createElement("a");a.href=URL.createObjectURL(x),a.download="data.xlsx",document.body.appendChild(a),a.click(),document.body.removeChild(a)}).catch(le)},e[7]=C}else C=e[7];const q=C;let p;e[8]!==o?(p=o&&t.jsx(ne,{}),e[8]=o,e[9]=p):p=e[9];let k;e[10]===Symbol.for("react.memo_cache_sentinel")?(k=t.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS SURVEY"}),e[10]=k):k=e[10];let T,A;e[11]===Symbol.for("react.memo_cache_sentinel")?(T={maxWidth:"75rem"},A={textAlign:"left"},e[11]=T,e[12]=A):(T=e[11],A=e[12]);let R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=t.jsx("br",{}),e[13]=R):R=e[13];let Y;e[14]===Symbol.for("react.memo_cache_sentinel")?(Y=t.jsx("a",{href:"/login",children:"here"}),e[14]=Y):Y=e[14];let L;e[15]===Symbol.for("react.memo_cache_sentinel")?(L=t.jsx("br",{}),e[15]=L):L=e[15];let O;e[16]===Symbol.for("react.memo_cache_sentinel")?(O=t.jsx("br",{}),e[16]=O):O=e[16];let $,D,U,F;e[17]===Symbol.for("react.memo_cache_sentinel")?($=t.jsxs("p",{style:A,children:["Hello,",R,"Welcome to the GÉANT Compendium Survey. (N)REN Compendium administrators can login via Single Sign On (SSO) ",Y,", which will complete their registration to fill in the latest Compendium survey. This will send a notification to the Compendium administration team and they will assign you to your (N)REN.",L,"Once this step has been completed, you will receive an email from the administration team. We aim to get back to you the same working day, but sometimes may take a little longer.",O,"If you are not sure whether you are a Compendium Administrator for your (N)REN, please contact your GÉANT Partner Relations relationship manager.",t.jsx("br",{}),"Thank you."]}),D=t.jsx("span",{children:"Current registration status:"}),U=t.jsx("br",{}),F=t.jsx("br",{}),e[17]=$,e[18]=D,e[19]=U,e[20]=F):($=e[17],D=e[18],U=e[19],F=e[20]);let j;e[21]!==y||e[22]!==l||e[23]!==o||e[24]!==s||e[25]!==r||e[26]!==W?(j=o?t.jsxs("ul",{children:[t.jsx("li",{children:t.jsx("span",{children:"You are logged in as a Compendium Administrator"})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(H,{to:"/survey/admin/surveys",children:"here"})," to access the survey management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx(H,{to:"/survey/admin/users",children:"here"})," to access the user management page."]})}),t.jsx("li",{children:t.jsxs("span",{children:["Click ",t.jsx("a",{href:"#",onClick:q,children:"here"})," to do the full data download."]})})]}):t.jsxs("ul",{children:[y&&!o&&!s&&l&&W(),r?t.jsx("li",{children:t.jsx("span",{children:"You are logged in"})}):t.jsx("li",{children:t.jsx("span",{children:"You are not logged in"})}),r&&!s&&!l&&t.jsx("li",{children:t.jsx("span",{children:"Your access to the survey has not yet been approved"})}),r&&!s&&!l&&t.jsx("li",{children:t.jsx("span",{children:"Once you have been approved, you will immediately be directed to the relevant survey upon visiting this page"})}),r&&s&&t.jsx("li",{children:t.jsx("span",{children:"You have read-only access to the following surveys:"})})]}),e[21]=y,e[22]=l,e[23]=o,e[24]=s,e[25]=r,e[26]=W,e[27]=j):j=e[27];let v;e[28]!==s||e[29]!==r?(v=r&&s&&t.jsx(oe,{}),e[28]=s,e[29]=r,e[30]=v):v=e[30];let g;e[31]!==j||e[32]!==v?(g=t.jsx(X,{className:"py-5 grey-container",children:t.jsx(Z,{children:t.jsxs("div",{className:"center-text",children:[k,t.jsxs("div",{className:"wordwrap pt-4",style:T,children:[$,D,U,F,j,v]})]})})}),e[31]=j,e[32]=v,e[33]=g):g=e[33];let G;return e[34]!==g||e[35]!==p?(G=t.jsxs(t.Fragment,{children:[p,g]}),e[34]=g,e[35]=p,e[36]=G):G=e[36],G}function le(e){console.error("Error fetching data:",e),alert("An error occurred while creating the data download Excel file.")}function ae(e){if(!e.ok)throw new Error("Network response was not ok");return e.json()}export{fe as default}; diff --git a/compendium_v2/static/MonitoringTools-BrAyjiGW.js b/compendium_v2/static/MonitoringTools-BrAyjiGW.js new file mode 100644 index 0000000000000000000000000000000000000000..0b7cfb9de8b20e4acf26d16ed9d96e0c962bcf60 --- /dev/null +++ b/compendium_v2/static/MonitoringTools-BrAyjiGW.js @@ -0,0 +1,2 @@ +import{c as v,r as S,F as T,j as h,t as Y,S as j}from"./index.js";import{u as F,g as D,n as E,D as L,F as C,f as P}from"./useData-Ct8E3VVL.js";import{P as R}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function J(){const e=v.c(29),{filterSelection:t,setFilterSelection:c}=S.useContext(T),{data:w,years:_,nrens:N}=F("/api/monitoring-tools",c);let s,f;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=w.filter(u);const k=D(s,"tool_descriptions");f=E(k,M),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let o,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Looking Glass","Network or Services Status Dashboard","Historical traffic volume information","Netflow analysis tool"],p=new Map([[o[0],"looking_glass"],[o[1],"status_dashboard"],[o[2],"historical_traffic_volumes"],[o[3],"netflow_analysis"]]),e[8]=o,e[9]=p):(o=e[8],p=e[9]);const y=p;let l;e[10]!==_?(l=[..._],e[10]=_,e[11]=l):l=e[11];let i;e[12]!==N?(i=N.values(),e[12]=N,e[13]=i):i=e[13];let r;e[14]!==i?(r=[...i],e[14]=i,e[15]=r):r=e[15];let a;e[16]!==l||e[17]!==r?(a={availableYears:l,availableNrens:r},e[16]=l,e[17]=r,e[18]=a):a=e[18];let d;e[19]!==t||e[20]!==c||e[21]!==a?(d=h.jsx(C,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=a,e[22]=d):d=e[22];const b=d;let n;e[23]!==g?(n=h.jsx(P,{children:h.jsx(R,{columns:o,columnLookup:y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let m;return e[25]!==b||e[26]!==s||e[27]!==n?(m=h.jsx(L,{title:Y["monitoring-tools"],description:`The table below shows which tools the NREN offers to client institutions to allow them to monitor the network and troubleshoot any issues which arise. + Four common tools are named, however NRENs also have the opportunity to add their own tools to the table.`,category:j.Network,filter:b,data:s,filename:"monitoring_tools_nrens_per_year",children:n}),e[25]=b,e[26]=s,e[27]=n,e[28]=m):m=e[28],m}function M(e,t){if(e==="netflow_analysis"&&t.netflow_processing_description)return t.netflow_processing_description}export{J as default}; diff --git a/compendium_v2/static/MonitoringTools-D5EolQI7.js b/compendium_v2/static/MonitoringTools-D5EolQI7.js deleted file mode 100644 index 7e27419d9dc89a00483ce4cd04c9f5fbf301dac2..0000000000000000000000000000000000000000 --- a/compendium_v2/static/MonitoringTools-D5EolQI7.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as T,r as v,F as S,j as h,S as Y}from"./index.js";import{u as j,g as F,n as C,D,F as E,f as L}from"./useData-C0vA-Ut8.js";import{P as M}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=T.c(29),{filterSelection:t,setFilterSelection:c}=v.useContext(S),{data:w,years:_,nrens:N}=j("/api/monitoring-tools",c);let s,f;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=w.filter(m);const y=F(s,"tool_descriptions");f=C(y,P),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let o,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Looking Glass","Network or Services Status Dashboard","Historical traffic volume information","Netflow analysis tool"],p=new Map([[o[0],"looking_glass"],[o[1],"status_dashboard"],[o[2],"historical_traffic_volumes"],[o[3],"netflow_analysis"]]),e[8]=o,e[9]=p):(o=e[8],p=e[9]);const k=p;let l;e[10]!==_?(l=[..._],e[10]=_,e[11]=l):l=e[11];let r;e[12]!==N?(r=N.values(),e[12]=N,e[13]=r):r=e[13];let i;e[14]!==r?(i=[...r],e[14]=r,e[15]=i):i=e[15];let n;e[16]!==l||e[17]!==i?(n={availableYears:l,availableNrens:i},e[16]=l,e[17]=i,e[18]=n):n=e[18];let d;e[19]!==t||e[20]!==c||e[21]!==n?(d=h.jsx(E,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=n,e[22]=d):d=e[22];const b=d;let a;e[23]!==g?(a=h.jsx(L,{children:h.jsx(M,{columns:o,columnLookup:k,dataLookup:g})}),e[23]=g,e[24]=a):a=e[24];let u;return e[25]!==b||e[26]!==s||e[27]!==a?(u=h.jsx(D,{title:"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions",description:`The table below shows which tools the NREN offers to client institutions to allow them to monitor the network and troubleshoot any issues which arise. - Four common tools are named, however NRENs also have the opportunity to add their own tools to the table.`,category:Y.Network,filter:b,data:s,filename:"monitoring_tools_nrens_per_year",children:a}),e[25]=b,e[26]=s,e[27]=a,e[28]=u):u=e[28],u}function P(e,t){if(e==="netflow_analysis"&&t.netflow_processing_description)return t.netflow_processing_description}export{B as default}; diff --git a/compendium_v2/static/NetworkFunctionVirtualisation-BSD5a3W2.js b/compendium_v2/static/NetworkFunctionVirtualisation-BSD5a3W2.js new file mode 100644 index 0000000000000000000000000000000000000000..d82aa3903c400a45030be0c954e3a3fb919d99f5 --- /dev/null +++ b/compendium_v2/static/NetworkFunctionVirtualisation-BSD5a3W2.js @@ -0,0 +1 @@ +import{c as W,r as X,F as Z,S as k,j as t,t as ee}from"./index.js";import{u as te,g as se,F as le,D as re,f as ne}from"./useData-Ct8E3VVL.js";import{C as I}from"./ColorPill-CXvWIfWz.js";import{T as ae}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function ue(){const e=W.c(67),{filterSelection:n,setFilterSelection:h}=X.useContext(Z),{data:J,years:c,nrens:R}=te("/api/nfv",h);let f,p,x,j,m,u,g,v,b,o,d,w,S,Y,N;if(e[0]!==J||e[1]!==n||e[2]!==R||e[3]!==h||e[4]!==c){let A;e[20]!==n.selectedNrens||e[21]!==n.selectedYears?(A=E=>n.selectedYears.includes(E.year)&&n.selectedNrens.includes(E.nren),e[20]=n.selectedNrens,e[21]=n.selectedYears,e[22]=A):A=e[22];const K=J.filter(A),Q=se(K,"nfv_specifics");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==R?(T=R.values(),e[25]=R,e[26]=T):T=e[26];let $;e[27]!==T?($=[...T],e[27]=T,e[28]=$):$=e[28];let D;e[29]!==C||e[30]!==$?(D={availableYears:C,availableNrens:$},e[29]=C,e[30]=$,e[31]=D):D=e[31];let L;e[32]!==n||e[33]!==h||e[34]!==D?(L=t.jsx(le,{filterOptions:D,filterSelection:n,setFilterSelection:h,coloredYears:!0}),e[32]=n,e[33]=h,e[34]=D,e[35]=L):L=e[35];const U=L;let O;e[36]!==c?(O=E=>c.has(E),e[36]=c,e[37]=O):O=e[37];const M=[...n.selectedYears.filter(O)].sort();x=re,w=ee.nfv,S="The table below shows the kinds of Network Function Virtualisation (NFV) used by NRENs.",Y=k.Network,N=U,u=K,g="network_function_virtualisation_nrens_per_year",p=ne,f=ae,m="charging-struct-table",v=!0,b=!0;let _;e[38]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("col",{span:1,style:{width:"20%"}}),e[38]=_):_=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"16%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"16%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"16%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"16%"}}),e[42]=G):G=e[42],e[43]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("colgroup",{children:[_,q,z,B,G,t.jsx("col",{span:2,style:{width:"16%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Routers/switches"}),t.jsx("th",{colSpan:2,children:"Firewalls"}),t.jsx("th",{colSpan:2,children:"Load balancers"}),t.jsx("th",{colSpan:2,children:"VPN Concentrator Services"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[43]=o,e[44]=d):(o=e[43],d=e[44]),j=Array.from(Q.entries()).map(E=>{const[H,i]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:H}),["routers","firewalls","load_balancers","vpn_concentrators"].map(l=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="yes"),tooltip:"",rounded:!0},s)})},`${l}-yes`),t.jsx("td",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&r.nfv=="planned"),tooltip:"",rounded:!0},s)})},`${l}-planned`)]})),t.jsx("td",{children:Array.from(i.keys()).filter(ce).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="yes"),tooltip:l,rounded:!0},s)})},`${l}-yes`))},`${H}-other-yes`),t.jsx("td",{children:Array.from(i.keys()).filter(ie).map(l=>t.jsx("div",{children:i.has(l)&&M.map(s=>{const a=i.get(l),r=a.get(s);return t.jsx(I,{year:s,active:a.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="planned"),tooltip:l,rounded:!0},s)})},`${l}-planned`))},`${H}-other-planned`)]},H)}),e[0]=J,e[1]=n,e[2]=R,e[3]=h,e[4]=c,e[5]=f,e[6]=p,e[7]=x,e[8]=j,e[9]=m,e[10]=u,e[11]=g,e[12]=v,e[13]=b,e[14]=o,e[15]=d,e[16]=w,e[17]=S,e[18]=Y,e[19]=N}else f=e[5],p=e[6],x=e[7],j=e[8],m=e[9],u=e[10],g=e[11],v=e[12],b=e[13],o=e[14],d=e[15],w=e[16],S=e[17],Y=e[18],N=e[19];let F;e[45]!==j?(F=t.jsx("tbody",{children:j}),e[45]=j,e[46]=F):F=e[46];let y;e[47]!==f||e[48]!==m||e[49]!==F||e[50]!==v||e[51]!==b||e[52]!==o||e[53]!==d?(y=t.jsxs(f,{className:m,striped:v,bordered:b,children:[o,d,F]}),e[47]=f,e[48]=m,e[49]=F,e[50]=v,e[51]=b,e[52]=o,e[53]=d,e[54]=y):y=e[54];let P;e[55]!==p||e[56]!==y?(P=t.jsx(p,{children:y}),e[55]=p,e[56]=y,e[57]=P):P=e[57];let V;return e[58]!==x||e[59]!==u||e[60]!==g||e[61]!==P||e[62]!==w||e[63]!==S||e[64]!==Y||e[65]!==N?(V=t.jsx(x,{title:w,description:S,category:Y,filter:N,data:u,filename:g,children:P}),e[58]=x,e[59]=u,e[60]=g,e[61]=P,e[62]=w,e[63]=S,e[64]=Y,e[65]=N,e[66]=V):V=e[66],V}function ie(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}function ce(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}export{ue as default}; diff --git a/compendium_v2/static/NetworkFunctionVirtualisation-Ci3ZHBJN.js b/compendium_v2/static/NetworkFunctionVirtualisation-Ci3ZHBJN.js deleted file mode 100644 index 0f5c852c4d644b1b3f10acac7085529cd0a8d182..0000000000000000000000000000000000000000 --- a/compendium_v2/static/NetworkFunctionVirtualisation-Ci3ZHBJN.js +++ /dev/null @@ -1 +0,0 @@ -import{c as W,r as X,F as Z,S as k,j as t}from"./index.js";import{u as ee,g as te,F as se,D as le,f as re}from"./useData-C0vA-Ut8.js";import{C as H}from"./ColorPill-CXvWIfWz.js";import{T as ne}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function ue(){const e=W.c(67),{filterSelection:n,setFilterSelection:h}=X.useContext(Z),{data:I,years:c,nrens:V}=ee("/api/nfv",h);let f,p,x,j,u,m,g,b,v,o,d,w,N,S,Y;if(e[0]!==I||e[1]!==n||e[2]!==V||e[3]!==h||e[4]!==c){let A;e[20]!==n.selectedNrens||e[21]!==n.selectedYears?(A=R=>n.selectedYears.includes(R.year)&&n.selectedNrens.includes(R.nren),e[20]=n.selectedNrens,e[21]=n.selectedYears,e[22]=A):A=e[22];const J=I.filter(A),Q=te(J,"nfv_specifics");let C;e[23]!==c?(C=[...c],e[23]=c,e[24]=C):C=e[24];let T;e[25]!==V?(T=V.values(),e[25]=V,e[26]=T):T=e[26];let $;e[27]!==T?($=[...T],e[27]=T,e[28]=$):$=e[28];let E;e[29]!==C||e[30]!==$?(E={availableYears:C,availableNrens:$},e[29]=C,e[30]=$,e[31]=E):E=e[31];let L;e[32]!==n||e[33]!==h||e[34]!==E?(L=t.jsx(se,{filterOptions:E,filterSelection:n,setFilterSelection:h,coloredYears:!0}),e[32]=n,e[33]=h,e[34]=E,e[35]=L):L=e[35];const U=L;let O;e[36]!==c?(O=R=>c.has(R),e[36]=c,e[37]=O):O=e[37];const K=[...n.selectedYears.filter(O)].sort();x=le,w="Kinds of Network Function Virtualisation used by NRENs ",N="The table below shows the kinds of Network Function Virtualisation (NFV) used by NRENs.",S=k.Network,Y=U,m=J,g="network_function_virtualisation_nrens_per_year",p=re,f=ne,u="charging-struct-table",b=!0,v=!0;let M;e[38]===Symbol.for("react.memo_cache_sentinel")?(M=t.jsx("col",{span:1,style:{width:"20%"}}),e[38]=M):M=e[38];let _;e[39]===Symbol.for("react.memo_cache_sentinel")?(_=t.jsx("col",{span:2,style:{width:"16%"}}),e[39]=_):_=e[39];let q;e[40]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"16%"}}),e[40]=q):q=e[40];let z;e[41]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"16%"}}),e[41]=z):z=e[41];let B;e[42]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"16%"}}),e[42]=B):B=e[42],e[43]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs("colgroup",{children:[M,_,q,z,B,t.jsx("col",{span:2,style:{width:"16%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Routers/switches"}),t.jsx("th",{colSpan:2,children:"Firewalls"}),t.jsx("th",{colSpan:2,children:"Load balancers"}),t.jsx("th",{colSpan:2,children:"VPN Concentrator Services"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[43]=o,e[44]=d):(o=e[43],d=e[44]),j=Array.from(Q.entries()).map(R=>{const[G,a]=R;return t.jsxs("tr",{children:[t.jsx("td",{children:G}),["routers","firewalls","load_balancers","vpn_concentrators"].map(l=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:a.has(l)&&K.map(s=>{const i=a.get(l),r=i.get(s);return t.jsx(H,{year:s,active:i.has(s)&&!!(r&&r.nfv=="yes"),tooltip:"",rounded:!0},s)})},`${l}-yes`),t.jsx("td",{children:a.has(l)&&K.map(s=>{const i=a.get(l),r=i.get(s);return t.jsx(H,{year:s,active:i.has(s)&&!!(r&&r.nfv=="planned"),tooltip:"",rounded:!0},s)})},`${l}-planned`)]})),t.jsx("td",{children:Array.from(a.keys()).filter(ae).map(l=>t.jsx("div",{children:a.has(l)&&K.map(s=>{const i=a.get(l),r=i.get(s);return t.jsx(H,{year:s,active:i.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="yes"),tooltip:l,rounded:!0},s)})},`${l}-yes`))},`${G}-other-yes`),t.jsx("td",{children:Array.from(a.keys()).filter(ie).map(l=>t.jsx("div",{children:a.has(l)&&K.map(s=>{const i=a.get(l),r=i.get(s);return t.jsx(H,{year:s,active:i.has(s)&&!!(r&&(r==null?void 0:r.nfv)=="planned"),tooltip:l,rounded:!0},s)})},`${l}-planned`))},`${G}-other-planned`)]},G)}),e[0]=I,e[1]=n,e[2]=V,e[3]=h,e[4]=c,e[5]=f,e[6]=p,e[7]=x,e[8]=j,e[9]=u,e[10]=m,e[11]=g,e[12]=b,e[13]=v,e[14]=o,e[15]=d,e[16]=w,e[17]=N,e[18]=S,e[19]=Y}else f=e[5],p=e[6],x=e[7],j=e[8],u=e[9],m=e[10],g=e[11],b=e[12],v=e[13],o=e[14],d=e[15],w=e[16],N=e[17],S=e[18],Y=e[19];let F;e[45]!==j?(F=t.jsx("tbody",{children:j}),e[45]=j,e[46]=F):F=e[46];let y;e[47]!==f||e[48]!==u||e[49]!==F||e[50]!==b||e[51]!==v||e[52]!==o||e[53]!==d?(y=t.jsxs(f,{className:u,striped:b,bordered:v,children:[o,d,F]}),e[47]=f,e[48]=u,e[49]=F,e[50]=b,e[51]=v,e[52]=o,e[53]=d,e[54]=y):y=e[54];let P;e[55]!==p||e[56]!==y?(P=t.jsx(p,{children:y}),e[55]=p,e[56]=y,e[57]=P):P=e[57];let D;return e[58]!==x||e[59]!==m||e[60]!==g||e[61]!==P||e[62]!==w||e[63]!==N||e[64]!==S||e[65]!==Y?(D=t.jsx(x,{title:w,description:N,category:S,filter:Y,data:m,filename:g,children:P}),e[58]=x,e[59]=m,e[60]=g,e[61]=P,e[62]=w,e[63]=N,e[64]=S,e[65]=Y,e[66]=D):D=e[66],D}function ie(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}function ae(e){return!["routers","firewalls","load_balancers","vpn_concentrators"].includes(e)}export{ue as default}; diff --git a/compendium_v2/static/NetworkMapUrls-CYYKJL7A.js b/compendium_v2/static/NetworkMapUrls-CYYKJL7A.js deleted file mode 100644 index 37a636dcffb71fb62aafd3c541fa898f39b8e904..0000000000000000000000000000000000000000 --- a/compendium_v2/static/NetworkMapUrls-CYYKJL7A.js +++ /dev/null @@ -1 +0,0 @@ -import{c as b,r as h,F as j,j as u,S as y}from"./index.js";import{u as _,q as g,k as v,i as S,D as E,F,f as R,s as C}from"./useData-C0vA-Ut8.js";import{N as L}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function $(){const e=b.c(21),{filterSelection:t,setFilterSelection:r}=h.useContext(j),{data:a,nrens:i}=_("/api/network-map-urls",r);let s,c;if(e[0]!==a||e[1]!==t.selectedNrens){const x=a?g(a):[];let d;e[4]!==t.selectedNrens?(d=w=>t.selectedNrens.includes(w.nren),e[4]=t.selectedNrens,e[5]=d):d=e[5],s=x.filter(d);const D=v(s);c=S(D,T),e[0]=a,e[1]=t.selectedNrens,e[2]=s,e[3]=c}else s=e[2],c=e[3];const N=c;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let o;e[7]!==i?(o=i.values(),e[7]=i,e[8]=o):o=e[8];let l;e[9]!==o?(l={availableYears:p,availableNrens:[...o]},e[9]=o,e[10]=l):l=e[10];let f;e[11]!==t||e[12]!==r||e[13]!==l?(f=u.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:r,coloredYears:!0}),e[11]=t,e[12]=r,e[13]=l,e[14]=f):f=e[14];const k=f;let n;e[15]!==N?(n=u.jsx(R,{children:u.jsx(L,{data:N,columnTitle:"Network Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=N,e[16]=n):n=e[16];let m;return e[17]!==k||e[18]!==s||e[19]!==n?(m=u.jsx(E,{title:"NREN Network Maps",description:"This table provides links to NREN network maps, showing layers 1, 2, and 3 of their networks.",category:y.Network,filter:k,data:s,filename:"network_map_nrens_per_year",children:n}),e[17]=k,e[18]=s,e[19]=n,e[20]=m):m=e[20],m}function T(e,t){const r=C(t);if(r!=null)for(const[a,i]of Object.entries(r))e[a]=i}export{$ as default}; diff --git a/compendium_v2/static/NetworkMapUrls-iZSn2qqQ.js b/compendium_v2/static/NetworkMapUrls-iZSn2qqQ.js new file mode 100644 index 0000000000000000000000000000000000000000..e3e331b4de55dff0ac5271112be1a379b1988b9e --- /dev/null +++ b/compendium_v2/static/NetworkMapUrls-iZSn2qqQ.js @@ -0,0 +1 @@ +import{c as b,r as h,F as j,j as u,t as y,S as _}from"./index.js";import{u as g,q as v,k as S,i as F,D as C,F as E,f as L,s as R}from"./useData-Ct8E3VVL.js";import{N as T}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function z(){const e=b.c(21),{filterSelection:t,setFilterSelection:r}=h.useContext(j),{data:a,nrens:i}=g("/api/network-map-urls",r);let s,c;if(e[0]!==a||e[1]!==t.selectedNrens){const x=a?v(a):[];let d;e[4]!==t.selectedNrens?(d=w=>t.selectedNrens.includes(w.nren),e[4]=t.selectedNrens,e[5]=d):d=e[5],s=x.filter(d);const D=S(s);c=F(D,Y),e[0]=a,e[1]=t.selectedNrens,e[2]=s,e[3]=c}else s=e[2],c=e[3];const k=c;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let o;e[7]!==i?(o=i.values(),e[7]=i,e[8]=o):o=e[8];let l;e[9]!==o?(l={availableYears:p,availableNrens:[...o]},e[9]=o,e[10]=l):l=e[10];let f;e[11]!==t||e[12]!==r||e[13]!==l?(f=u.jsx(E,{filterOptions:l,filterSelection:t,setFilterSelection:r,coloredYears:!0}),e[11]=t,e[12]=r,e[13]=l,e[14]=f):f=e[14];const N=f;let n;e[15]!==k?(n=u.jsx(L,{children:u.jsx(T,{data:k,columnTitle:"Network Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=k,e[16]=n):n=e[16];let m;return e[17]!==N||e[18]!==s||e[19]!==n?(m=u.jsx(C,{title:y["network-map"],description:"This table provides links to NREN network maps, showing layers 1, 2, and 3 of their networks.",category:_.Network,filter:N,data:s,filename:"network_map_nrens_per_year",children:n}),e[17]=N,e[18]=s,e[19]=n,e[20]=m):m=e[20],m}function Y(e,t){const r=R(t);if(r!=null)for(const[a,i]of Object.entries(r))e[a]=i}export{z as default}; diff --git a/compendium_v2/static/NonRAndEPeer-Cn_ozVAu.js b/compendium_v2/static/NonRAndEPeer-Cn_ozVAu.js new file mode 100644 index 0000000000000000000000000000000000000000..103ba409db3023e6ccc5c7559108f11bc3802146 --- /dev/null +++ b/compendium_v2/static/NonRAndEPeer-Cn_ozVAu.js @@ -0,0 +1,2 @@ +import{c as D,r as F,F as Y,j as u,S as v,t as k}from"./index.js";import{B as A}from"./index-C4Nuqrw6.js";import{C as L,a as O,L as T,B as $,p as G,c as I,d as M,u as q,o as z,D as H,F as J,f as K}from"./useData-Ct8E3VVL.js";import{p as Q}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import{a as U}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";L.register(O,T,$,G,I,M);function ne(){const e=D.c(38),{filterSelection:t,setFilterSelection:r}=F.useContext(Y),{data:b,years:d,nrens:h}=q("/api/non-re-peers",r);let a,l,s,g;if(e[0]!==b||e[1]!==t||e[2]!==h||e[3]!==r||e[4]!==d){let S;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(S=E=>t.selectedYears.includes(E.year)&&t.selectedNrens.includes(E.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=S):S=e[11],s=b.filter(S),a=z(s,"nr_of_non_r_and_e_peers","Number of Peers");let c;e[12]!==d?(c=[...d],e[12]=d,e[13]=c):c=e[13];let m;e[14]!==h?(m=h.values(),e[14]=h,e[15]=m):m=e[15];let p;e[16]!==m?(p=[...m],e[16]=m,e[17]=p):p=e[17];let f;e[18]!==c||e[19]!==p?(f={availableYears:c,availableNrens:p},e[18]=c,e[19]=p,e[20]=f):f=e[20];let C;e[21]!==t||e[22]!==r||e[23]!==f?(C=u.jsx(J,{filterOptions:f,filterSelection:t,setFilterSelection:r}),e[21]=t,e[22]=r,e[23]=f,e[24]=C):C=e[24],l=C,g=Array.from(new Set(s.map(V))),e[0]=b,e[1]=t,e[2]=h,e[3]=r,e[4]=d,e[5]=a,e[6]=l,e[7]=s,e[8]=g}else a=e[5],l=e[6],s=e[7],g=e[8];const j=g.length,w=Math.max(j*t.selectedYears.length*1.5+5,50),B=k["non-rne-peers"],P=`The graph below shows the number of non-Research and Education networks + NRENs peer with. This includes all direct IP-peerings to commercial networks, eg. Google`;let _;e[25]===Symbol.for("react.memo_cache_sentinel")?(_=U({title:"Number of Non-R&E Peers"}),e[25]=_):_=e[25];const R=_,y=`${w}rem`;let n;e[26]!==y?(n={height:y},e[26]=y,e[27]=n):n=e[27];let N;e[28]===Symbol.for("react.memo_cache_sentinel")?(N=[Q],e[28]=N):N=e[28];let i;e[29]!==a?(i=u.jsx(A,{data:a,options:R,plugins:N}),e[29]=a,e[30]=i):i=e[30];let o;e[31]!==n||e[32]!==i?(o=u.jsx(K,{children:u.jsx("div",{className:"chart-container",style:n,children:i})}),e[31]=n,e[32]=i,e[33]=o):o=e[33];let x;return e[34]!==l||e[35]!==s||e[36]!==o?(x=u.jsx(H,{title:B,description:P,category:v.Network,filter:l,data:s,filename:"non_r_and_e_peering",children:o}),e[34]=l,e[35]=s,e[36]=o,e[37]=x):x=e[37],x}function V(e){return e.nren}export{ne as default}; diff --git a/compendium_v2/static/NonRAndEPeer-OZTW6B0e.js b/compendium_v2/static/NonRAndEPeer-OZTW6B0e.js deleted file mode 100644 index 01b5ff3bfecfb316793dd19bcf2b046380f8060f..0000000000000000000000000000000000000000 --- a/compendium_v2/static/NonRAndEPeer-OZTW6B0e.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as B,r as D,F,j as u,S as Y}from"./index.js";import{B as k}from"./index-BJrPLJgf.js";import{C as v,a as A,L,B as O,p as T,c as $,d as G,u as I,o as M,D as W,F as q,f as z}from"./useData-C0vA-Ut8.js";import{p as H}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as J}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";v.register(A,L,O,T,$,G);function ae(){const e=B.c(38),{filterSelection:t,setFilterSelection:r}=D.useContext(F),{data:b,years:d,nrens:h}=I("/api/non-re-peers",r);let a,l,s,g;if(e[0]!==b||e[1]!==t||e[2]!==h||e[3]!==r||e[4]!==d){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=w=>t.selectedYears.includes(w.year)&&t.selectedNrens.includes(w.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],s=b.filter(E),a=M(s,"nr_of_non_r_and_e_peers","Number of Peers");let c;e[12]!==d?(c=[...d],e[12]=d,e[13]=c):c=e[13];let m;e[14]!==h?(m=h.values(),e[14]=h,e[15]=m):m=e[15];let f;e[16]!==m?(f=[...m],e[16]=m,e[17]=f):f=e[17];let p;e[18]!==c||e[19]!==f?(p={availableYears:c,availableNrens:f},e[18]=c,e[19]=f,e[20]=p):p=e[20];let S;e[21]!==t||e[22]!==r||e[23]!==p?(S=u.jsx(q,{filterOptions:p,filterSelection:t,setFilterSelection:r}),e[21]=t,e[22]=r,e[23]=p,e[24]=S):S=e[24],l=S,g=Array.from(new Set(s.map(K))),e[0]=b,e[1]=t,e[2]=h,e[3]=r,e[4]=d,e[5]=a,e[6]=l,e[7]=s,e[8]=g}else a=e[5],l=e[6],s=e[7],g=e[8];const y=g.length,R=Math.max(y*t.selectedYears.length*1.5+5,50),j=`The graph below shows the number of non-Research and Education networks - NRENs peer with. This includes all direct IP-peerings to commercial networks, eg. Google`;let N;e[25]===Symbol.for("react.memo_cache_sentinel")?(N=J({title:"Number of Non-R&E Peers"}),e[25]=N):N=e[25];const P=N,C=`${R}rem`;let n;e[26]!==C?(n={height:C},e[26]=C,e[27]=n):n=e[27];let _;e[28]===Symbol.for("react.memo_cache_sentinel")?(_=[H],e[28]=_):_=e[28];let i;e[29]!==a?(i=u.jsx(k,{data:a,options:P,plugins:_}),e[29]=a,e[30]=i):i=e[30];let o;e[31]!==n||e[32]!==i?(o=u.jsx(z,{children:u.jsx("div",{className:"chart-container",style:n,children:i})}),e[31]=n,e[32]=i,e[33]=o):o=e[33];let x;return e[34]!==l||e[35]!==s||e[36]!==o?(x=u.jsx(W,{title:"Number of Non-R&E Networks NRENs Peer With",description:j,category:Y.Network,filter:l,data:s,filename:"non_r_and_e_peering",children:o}),e[34]=l,e[35]=s,e[36]=o,e[37]=x):x=e[37],x}function K(e){return e.nren}export{ae as default}; diff --git a/compendium_v2/static/NrenYearTable-BZB2R3F1.js b/compendium_v2/static/NrenYearTable-iS8aEX43.js similarity index 96% rename from compendium_v2/static/NrenYearTable-BZB2R3F1.js rename to compendium_v2/static/NrenYearTable-iS8aEX43.js index 0aa5d788c2727af67f22f73f0cd9e84be29e8293..b7b91992c79adbb9cdfeec29f2c7fa8f43605aae 100644 --- a/compendium_v2/static/NrenYearTable-BZB2R3F1.js +++ b/compendium_v2/static/NrenYearTable-iS8aEX43.js @@ -1 +1 @@ -import{c as j,j as r}from"./index.js";import{w as p}from"./useData-C0vA-Ut8.js";import{T as u}from"./Table-ClWM2_rS.js";function N(f,e,s,l,t){return f?l.startsWith("http")?r.jsx("li",{children:r.jsx("a",{href:p(l),target:"_blank",rel:"noopener noreferrer",style:e,children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s)}function b(f,{dottedBorder:e=!1,noDots:s=!1,keysAreURLs:l=!1,removeDecoration:t=!1}){return Array.from(f.entries()).map(([i,x])=>Array.from(x.entries()).map(([o,m],d)=>{const n={};return t&&(n.textDecoration="none"),r.jsxs("tr",{className:e?"dotted-border":"",children:[r.jsx("td",{className:"pt-3 nren-column text-nowrap",children:d===0&&i}),r.jsx("td",{className:"pt-3 year-column",children:o}),r.jsx("td",{className:"pt-3 blue-column",children:r.jsx("ul",{className:s?"no-list-style-type":"",children:Array.from(Object.entries(m)).map(([a,c],h)=>N(l,n,h,c,a))})})]},i+o)}))}function _(f){const e=j.c(15),{data:s,columnTitle:l,dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}=f;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("th",{className:"nren-column",children:r.jsx("span",{children:"NREN"})}),e[0]=m):m=e[0];let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("th",{className:"year-column",children:r.jsx("span",{children:"Year"})}),e[1]=d):d=e[1];let n;e[2]!==l?(n=r.jsx("thead",{children:r.jsxs("tr",{children:[m,d,r.jsx("th",{className:"blue-column",children:r.jsx("span",{children:l})})]})}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==s||e[5]!==t||e[6]!==x||e[7]!==i||e[8]!==o?(a=b(s,{dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}),e[4]=s,e[5]=t,e[6]=x,e[7]=i,e[8]=o,e[9]=a):a=e[9];let c;e[10]!==a?(c=r.jsx("tbody",{children:a}),e[10]=a,e[11]=c):c=e[11];let h;return e[12]!==n||e[13]!==c?(h=r.jsxs(u,{borderless:!0,className:"compendium-table",children:[n,c]}),e[12]=n,e[13]=c,e[14]=h):h=e[14],h}export{_ as N}; +import{c as j,j as r}from"./index.js";import{w as p}from"./useData-Ct8E3VVL.js";import{T as u}from"./Table-ClWM2_rS.js";function N(f,e,s,l,t){return f?l.startsWith("http")?r.jsx("li",{children:r.jsx("a",{href:p(l),target:"_blank",rel:"noopener noreferrer",style:e,children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s):r.jsx("li",{children:r.jsx("span",{children:t})},s)}function b(f,{dottedBorder:e=!1,noDots:s=!1,keysAreURLs:l=!1,removeDecoration:t=!1}){return Array.from(f.entries()).map(([i,x])=>Array.from(x.entries()).map(([o,m],d)=>{const n={};return t&&(n.textDecoration="none"),r.jsxs("tr",{className:e?"dotted-border":"",children:[r.jsx("td",{className:"pt-3 nren-column text-nowrap",children:d===0&&i}),r.jsx("td",{className:"pt-3 year-column",children:o}),r.jsx("td",{className:"pt-3 blue-column",children:r.jsx("ul",{className:s?"no-list-style-type":"",children:Array.from(Object.entries(m)).map(([a,c],h)=>N(l,n,h,c,a))})})]},i+o)}))}function _(f){const e=j.c(15),{data:s,columnTitle:l,dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}=f;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("th",{className:"nren-column",children:r.jsx("span",{children:"NREN"})}),e[0]=m):m=e[0];let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=r.jsx("th",{className:"year-column",children:r.jsx("span",{children:"Year"})}),e[1]=d):d=e[1];let n;e[2]!==l?(n=r.jsx("thead",{children:r.jsxs("tr",{children:[m,d,r.jsx("th",{className:"blue-column",children:r.jsx("span",{children:l})})]})}),e[2]=l,e[3]=n):n=e[3];let a;e[4]!==s||e[5]!==t||e[6]!==x||e[7]!==i||e[8]!==o?(a=b(s,{dottedBorder:t,noDots:i,keysAreURLs:x,removeDecoration:o}),e[4]=s,e[5]=t,e[6]=x,e[7]=i,e[8]=o,e[9]=a):a=e[9];let c;e[10]!==a?(c=r.jsx("tbody",{children:a}),e[10]=a,e[11]=c):c=e[11];let h;return e[12]!==n||e[13]!==c?(h=r.jsxs(u,{borderless:!0,className:"compendium-table",children:[n,c]}),e[12]=n,e[13]=c,e[14]=h):h=e[14],h}export{_ as N}; diff --git a/compendium_v2/static/OPsAutomation-Bc59w9gr.js b/compendium_v2/static/OPsAutomation-Bc59w9gr.js new file mode 100644 index 0000000000000000000000000000000000000000..5c2d07b96f5fe8006c398d17f13daaab08c88518 --- /dev/null +++ b/compendium_v2/static/OPsAutomation-Bc59w9gr.js @@ -0,0 +1,3 @@ +import{c as y,r as P,F as S,j as h,t as g,S as k}from"./index.js";import{u as v,g as F,n as C,D,F as E,f as L}from"./useData-Ct8E3VVL.js";import{P as R}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function J(){const e=y.c(29),{filterSelection:t,setFilterSelection:c}=P.useContext(S),{data:N,years:x,nrens:_}=v("/api/ops-automation",c);let s,p;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let d;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(d=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=d):d=e[7],s=N.filter(d);const j=F(s,"ops_automation");p=C(j,M),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let o,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Yes","Planned","No"],m=new Map([[o[0],"yes"],[o[1],"planned"],[o[2],"no"]]),e[8]=o,e[9]=m):(o=e[8],m=e[9]);const T=m;let a;e[10]!==x?(a=[...x],e[10]=x,e[11]=a):a=e[11];let l;e[12]!==_?(l=_.values(),e[12]=_,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let r;e[16]!==a||e[17]!==i?(r={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=r):r=e[18];let u;e[19]!==t||e[20]!==c||e[21]!==r?(u=h.jsx(E,{filterOptions:r,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=r,e[22]=u):u=e[22];const Y=u;let n;e[23]!==w?(n=h.jsx(L,{children:h.jsx(R,{columns:o,columnLookup:T,dataLookup:w})}),e[23]=w,e[24]=n):n=e[24];let f;return e[25]!==Y||e[26]!==s||e[27]!==n?(f=h.jsx(D,{title:g["ops-automation"],description:`The table below shows which NRENs have, or plan to, automate their + operational processes, with specification of which processes, and the names of + software and tools used for this given when appropriate.`,category:k.Network,filter:Y,data:s,filename:"ops_automation_nrens_per_year",children:n}),e[25]=Y,e[26]=s,e[27]=n,e[28]=f):f=e[28],f}function M(e,t){if(t.ops_automation_specifics)return t.ops_automation_specifics}export{J as default}; diff --git a/compendium_v2/static/OPsAutomation-BzaiKZKL.js b/compendium_v2/static/OPsAutomation-BzaiKZKL.js deleted file mode 100644 index 1ac582257d41b5d31ca2a6ba181b9635c650f73e..0000000000000000000000000000000000000000 --- a/compendium_v2/static/OPsAutomation-BzaiKZKL.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c as j,r as y,F as S,j as h,S as g}from"./index.js";import{u as k,g as v,n as E,D as F,F as C,f as D}from"./useData-C0vA-Ut8.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function I(){const e=j.c(29),{filterSelection:t,setFilterSelection:c}=y.useContext(S),{data:N,years:x,nrens:_}=k("/api/ops-automation",c);let s,p;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let d;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(d=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=d):d=e[7],s=N.filter(d);const T=v(s,"ops_automation");p=E(T,R),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=p}else s=e[3],p=e[4];const w=p;let o,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(o=["Yes","Planned","No"],f=new Map([[o[0],"yes"],[o[1],"planned"],[o[2],"no"]]),e[8]=o,e[9]=f):(o=e[8],f=e[9]);const P=f;let a;e[10]!==x?(a=[...x],e[10]=x,e[11]=a):a=e[11];let l;e[12]!==_?(l=_.values(),e[12]=_,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let r;e[16]!==a||e[17]!==i?(r={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=r):r=e[18];let m;e[19]!==t||e[20]!==c||e[21]!==r?(m=h.jsx(C,{filterOptions:r,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=r,e[22]=m):m=e[22];const Y=m;let n;e[23]!==w?(n=h.jsx(D,{children:h.jsx(L,{columns:o,columnLookup:P,dataLookup:w})}),e[23]=w,e[24]=n):n=e[24];let u;return e[25]!==Y||e[26]!==s||e[27]!==n?(u=h.jsx(F,{title:"NREN Automation of Operational Processes",description:`The table below shows which NRENs have, or plan to, automate their - operational processes, with specification of which processes, and the names of - software and tools used for this given when appropriate.`,category:g.Network,filter:Y,data:s,filename:"ops_automation_nrens_per_year",children:n}),e[25]=Y,e[26]=s,e[27]=n,e[28]=u):u=e[28],u}function R(e,t){if(t.ops_automation_specifics)return t.ops_automation_specifics}export{I as default}; diff --git a/compendium_v2/static/ParentOrganisation-D0KpPI2s.js b/compendium_v2/static/ParentOrganisation-BqnVV9Ka.js similarity index 86% rename from compendium_v2/static/ParentOrganisation-D0KpPI2s.js rename to compendium_v2/static/ParentOrganisation-BqnVV9Ka.js index 97606117500b10bce45418c0ad23547e52d6a5d4..c9548602b523b6ecf7dc2f2725d91c3efc5af179 100644 --- a/compendium_v2/static/ParentOrganisation-D0KpPI2s.js +++ b/compendium_v2/static/ParentOrganisation-BqnVV9Ka.js @@ -1 +1 @@ -import{c as b,r as y,F as j,j as p,S as v}from"./index.js";import{u as E,k as O,i as S,D as F,F as P,f as R}from"./useData-C0vA-Ut8.js";import{N as w}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function q(){const e=b.c(27),{filterSelection:t,setFilterSelection:a}=y.useContext(j),{data:u,years:g,nrens:N}=E("/api/parent-organizations",a);let s,c;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==u){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=h=>t.selectedYears.includes(h.year)&&t.selectedNrens.includes(h.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=u.filter(m);const Y=O(s);c=S(Y,C),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=u,e[3]=s,e[4]=c}else s=e[3],c=e[4];const x=c;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==r||e[15]!==n?(l={availableYears:r,availableNrens:n},e[14]=r,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==a||e[19]!==l?(d=p.jsx(P,{filterOptions:l,filterSelection:t,setFilterSelection:a,max1year:!0}),e[17]=t,e[18]=a,e[19]=l,e[20]=d):d=e[20];const D=d;let o;e[21]!==x?(o=p.jsx(R,{children:p.jsx(w,{data:x,columnTitle:"Parent Organisation",dottedBorder:!0,noDots:!0})}),e[21]=x,e[22]=o):o=e[22];let f;return e[23]!==D||e[24]!==s||e[25]!==o?(f=p.jsx(F,{title:"NREN Parent Organisations",description:"Some NRENs are part of larger organisations, including Ministries or universities. These are shown in the table below. Only NRENs who are managed in this way are available to select.",category:v.Organisation,filter:D,data:s,filename:"nren_parent_organisations",children:o}),e[23]=D,e[24]=s,e[25]=o,e[26]=f):f=e[26],f}function C(e,t){const a=t.name;e[a]=a}export{q as default}; +import{c as b,r as y,F as j,j as p,S as v}from"./index.js";import{u as E,k as O,i as S,D as F,F as P,f as R}from"./useData-Ct8E3VVL.js";import{N as w}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function q(){const e=b.c(27),{filterSelection:t,setFilterSelection:a}=y.useContext(j),{data:u,years:g,nrens:N}=E("/api/parent-organizations",a);let s,c;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==u){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=h=>t.selectedYears.includes(h.year)&&t.selectedNrens.includes(h.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],s=u.filter(m);const Y=O(s);c=S(Y,C),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=u,e[3]=s,e[4]=c}else s=e[3],c=e[4];const x=c;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let n;e[12]!==i?(n=[...i],e[12]=i,e[13]=n):n=e[13];let l;e[14]!==r||e[15]!==n?(l={availableYears:r,availableNrens:n},e[14]=r,e[15]=n,e[16]=l):l=e[16];let d;e[17]!==t||e[18]!==a||e[19]!==l?(d=p.jsx(P,{filterOptions:l,filterSelection:t,setFilterSelection:a,max1year:!0}),e[17]=t,e[18]=a,e[19]=l,e[20]=d):d=e[20];const D=d;let o;e[21]!==x?(o=p.jsx(R,{children:p.jsx(w,{data:x,columnTitle:"Parent Organisation",dottedBorder:!0,noDots:!0})}),e[21]=x,e[22]=o):o=e[22];let f;return e[23]!==D||e[24]!==s||e[25]!==o?(f=p.jsx(F,{title:"NREN Parent Organisations",description:"Some NRENs are part of larger organisations, including Ministries or universities. These are shown in the table below. Only NRENs who are managed in this way are available to select.",category:v.Organisation,filter:D,data:s,filename:"nren_parent_organisations",children:o}),e[23]=D,e[24]=s,e[25]=o,e[26]=f):f=e[26],f}function C(e,t){const a=t.name;e[a]=a}export{q as default}; diff --git a/compendium_v2/static/PassiveMonitoring-DrHRNpwv.js b/compendium_v2/static/PassiveMonitoring-DrHRNpwv.js deleted file mode 100644 index 77b62680837f534e560b162a0908bdd1338769b5..0000000000000000000000000000000000000000 --- a/compendium_v2/static/PassiveMonitoring-DrHRNpwv.js +++ /dev/null @@ -1 +0,0 @@ -import{c as Y,r as j,F as y,j as N,S as T}from"./index.js";import{u as _,g as F,D as M,F as k,f as w}from"./useData-C0vA-Ut8.js";import{P as A}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function $(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(y),{data:h,years:x,nrens:P}=_("/api/passive-monitoring",c);let o,p;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],o=h.filter(u),p=F(o,"method",!0),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=o,e[4]=p}else o=e[3],p=e[4];const g=p;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let l;e[10]!==P?(l=P.values(),e[10]=P,e[11]=l):l=e[11];let i;e[12]!==l?(i=[...l],e[12]=l,e[13]=i):i=e[13];let a;e[14]!==r||e[15]!==i?(a={availableYears:r,availableNrens:i},e[14]=r,e[15]=i,e[16]=a):a=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==a?(f=N.jsx(k,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=a,e[20]=f):f=e[20];const v=f;let s,m;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["No monitoring occurs","SPAN ports","Passive optical TAPS","Both SPAN ports and passive optical TAPS"],m=new Map([[s[0],"null"],[s[1],"span_ports"],[s[2],"taps"],[s[3],"both"]]),e[21]=s,e[22]=m):(s=e[21],m=e[22]);const b=m;let n;e[23]!==g?(n=N.jsx(w,{children:N.jsx(A,{columns:s,dataLookup:g,columnLookup:b})}),e[23]=g,e[24]=n):n=e[24];let d;return e[25]!==v||e[26]!==o||e[27]!==n?(d=N.jsx(M,{title:"Methods for Passively Monitoring International Traffic",description:"The table below shows the methods NRENs use for the passive monitoring of international traffic.",category:T.Network,filter:v,data:o,filename:"passive_monitoring_nrens_per_year",children:n}),e[25]=v,e[26]=o,e[27]=n,e[28]=d):d=e[28],d}export{$ as default}; diff --git a/compendium_v2/static/PassiveMonitoring-NXmN_EjG.js b/compendium_v2/static/PassiveMonitoring-NXmN_EjG.js new file mode 100644 index 0000000000000000000000000000000000000000..937f03d8f579c4823eff0a0cec44352b3f7504b1 --- /dev/null +++ b/compendium_v2/static/PassiveMonitoring-NXmN_EjG.js @@ -0,0 +1 @@ +import{c as Y,r as j,F as _,j as N,t as y,S as F}from"./index.js";import{u as T,g as k,D as w,F as A,f as C}from"./useData-Ct8E3VVL.js";import{P as D}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function z(){const e=Y.c(29),{filterSelection:t,setFilterSelection:c}=j.useContext(_),{data:h,years:x,nrens:g}=T("/api/passive-monitoring",c);let o,p;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],o=h.filter(u),p=k(o,"method",!0),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=o,e[4]=p}else o=e[3],p=e[4];const v=p;let l;e[8]!==x?(l=[...x],e[8]=x,e[9]=l):l=e[9];let r;e[10]!==g?(r=g.values(),e[10]=g,e[11]=r):r=e[11];let i;e[12]!==r?(i=[...r],e[12]=r,e[13]=i):i=e[13];let a;e[14]!==l||e[15]!==i?(a={availableYears:l,availableNrens:i},e[14]=l,e[15]=i,e[16]=a):a=e[16];let m;e[17]!==t||e[18]!==c||e[19]!==a?(m=N.jsx(A,{filterOptions:a,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=a,e[20]=m):m=e[20];const P=m;let s,f;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["No monitoring occurs","SPAN ports","Passive optical TAPS","Both SPAN ports and passive optical TAPS"],f=new Map([[s[0],"null"],[s[1],"span_ports"],[s[2],"taps"],[s[3],"both"]]),e[21]=s,e[22]=f):(s=e[21],f=e[22]);const b=f;let n;e[23]!==v?(n=N.jsx(C,{children:N.jsx(D,{columns:s,dataLookup:v,columnLookup:b})}),e[23]=v,e[24]=n):n=e[24];let d;return e[25]!==P||e[26]!==o||e[27]!==n?(d=N.jsx(w,{title:y["passive-monitoring"],description:"The table below shows the methods NRENs use for the passive monitoring of international traffic.",category:F.Network,filter:P,data:o,filename:"passive_monitoring_nrens_per_year",children:n}),e[25]=P,e[26]=o,e[27]=n,e[28]=d):d=e[28],d}export{z as default}; diff --git a/compendium_v2/static/PertTeam-64HTdccQ.js b/compendium_v2/static/PertTeam-64HTdccQ.js new file mode 100644 index 0000000000000000000000000000000000000000..7aa7a12a7576dcf0262bb1241e3b89926464bca0 --- /dev/null +++ b/compendium_v2/static/PertTeam-64HTdccQ.js @@ -0,0 +1,2 @@ +import{c as E,r as _,F as b,j as N,t as g,S as k}from"./index.js";import{u as v,g as F,D as R,F as T,f as C}from"./useData-Ct8E3VVL.js";import{P as D}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=E.c(29),{filterSelection:t,setFilterSelection:c}=_.useContext(b),{data:x,years:P,nrens:Y}=v("/api/pert-team",c);let s,m;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=x.filter(u),m=F(s,"pert_team"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const h=m;let r,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","Planned","No"],p=new Map([[r[0],"yes"],[r[1],"planned"],[r[2],"no"]]),e[8]=r,e[9]=p):(r=e[8],p=e[9]);const y=p;let a;e[10]!==P?(a=[...P],e[10]=P,e[11]=a):a=e[11];let l;e[12]!==Y?(l=Y.values(),e[12]=Y,e[13]=l):l=e[13];let n;e[14]!==l?(n=[...l],e[14]=l,e[15]=n):n=e[15];let o;e[16]!==a||e[17]!==n?(o={availableYears:a,availableNrens:n},e[16]=a,e[17]=n,e[18]=o):o=e[18];let f;e[19]!==t||e[20]!==c||e[21]!==o?(f=N.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=f):f=e[22];const S=f;let i;e[23]!==h?(i=N.jsx(C,{children:N.jsx(D,{columns:r,columnLookup:y,dataLookup:h})}),e[23]=h,e[24]=i):i=e[24];let d;return e[25]!==S||e[26]!==s||e[27]!==i?(d=N.jsx(R,{title:g["pert-team"],description:`Some NRENs have an in-house Performance Enhancement Response Team, + or PERT, to investigate network performance issues.`,category:k.Network,filter:S,data:s,filename:"pert_team_nrens_per_year",children:i}),e[25]=S,e[26]=s,e[27]=i,e[28]=d):d=e[28],d}export{B as default}; diff --git a/compendium_v2/static/PertTeam-B3F3NYFc.js b/compendium_v2/static/PertTeam-B3F3NYFc.js deleted file mode 100644 index 124b11fcf5d96eb81febd027d74dcfb73f877bc4..0000000000000000000000000000000000000000 --- a/compendium_v2/static/PertTeam-B3F3NYFc.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as j,r as y,F as T,j as N,S as _}from"./index.js";import{u as b,g,D as k,F as v,f as F}from"./useData-C0vA-Ut8.js";import{P as w}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function A(){const e=j.c(29),{filterSelection:t,setFilterSelection:c}=y.useContext(T),{data:x,years:h,nrens:P}=b("/api/pert-team",c);let s,m;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=R=>t.selectedYears.includes(R.year)&&t.selectedNrens.includes(R.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=x.filter(u),m=g(s,"pert_team"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const E=m;let r,p;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","Planned","No"],p=new Map([[r[0],"yes"],[r[1],"planned"],[r[2],"no"]]),e[8]=r,e[9]=p):(r=e[8],p=e[9]);const S=p;let a;e[10]!==h?(a=[...h],e[10]=h,e[11]=a):a=e[11];let l;e[12]!==P?(l=P.values(),e[12]=P,e[13]=l):l=e[13];let n;e[14]!==l?(n=[...l],e[14]=l,e[15]=n):n=e[15];let o;e[16]!==a||e[17]!==n?(o={availableYears:a,availableNrens:n},e[16]=a,e[17]=n,e[18]=o):o=e[18];let f;e[19]!==t||e[20]!==c||e[21]!==o?(f=N.jsx(v,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=f):f=e[22];const Y=f;let i;e[23]!==E?(i=N.jsx(F,{children:N.jsx(w,{columns:r,columnLookup:S,dataLookup:E})}),e[23]=E,e[24]=i):i=e[24];let d;return e[25]!==Y||e[26]!==s||e[27]!==i?(d=N.jsx(k,{title:"NRENs with Performance Enhancement Response Teams",description:`Some NRENs have an in-house Performance Enhancement Response Team, - or PERT, to investigate network performance issues.`,category:_.Network,filter:Y,data:s,filename:"pert_team_nrens_per_year",children:i}),e[25]=Y,e[26]=s,e[27]=i,e[28]=d):d=e[28],d}export{A as default}; diff --git a/compendium_v2/static/Policy-9QlCddyw.js b/compendium_v2/static/Policy-9QlCddyw.js deleted file mode 100644 index 2308b47e5a5f22d75dc4d01d61ffaf4e48d83025..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Policy-9QlCddyw.js +++ /dev/null @@ -1 +0,0 @@ -import{c as h,r as v,F as E,j as y,S as _}from"./index.js";import{u as b,q as g,k as j,i as k,D as R,F as S,f as q}from"./useData-C0vA-Ut8.js";import{N as C}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function G(){const e=h.c(21),{filterSelection:t,setFilterSelection:n}=v.useContext(E),{data:a,nrens:c}=b("/api/policy",n);let i,o;if(e[0]!==a||e[1]!==t.selectedNrens){const P=a?g(a):[];let u;e[4]!==t.selectedNrens?(u=x=>t.selectedNrens.includes(x.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],i=P.filter(u);const D=j(i);o=k(D,F),e[0]=a,e[1]=t.selectedNrens,e[2]=i,e[3]=o}else i=e[2],o=e[3];const d=o;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let l;e[7]!==c?(l=c.values(),e[7]=c,e[8]=l):l=e[8];let s;e[9]!==l?(s={availableYears:p,availableNrens:[...l]},e[9]=l,e[10]=s):s=e[10];let f;e[11]!==t||e[12]!==n||e[13]!==s?(f=y.jsx(S,{filterOptions:s,filterSelection:t,setFilterSelection:n}),e[11]=t,e[12]=n,e[13]=s,e[14]=f):f=e[14];const N=f;let r;e[15]!==d?(r=y.jsx(q,{children:y.jsx(C,{data:d,columnTitle:"Policies",noDots:!0,dottedBorder:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=d,e[16]=r):r=e[16];let m;return e[17]!==N||e[18]!==i||e[19]!==r?(m=y.jsx(R,{title:"NREN Policies",description:"The table shows links to the NRENs policies. We only include links from the most recent response from each NREN.",category:_.Policy,filter:N,data:i,filename:"nren_policies",children:r}),e[17]=N,e[18]=i,e[19]=r,e[20]=m):m=e[20],m}function F(e,t){[["acceptable_use","Acceptable Use Policy"],["connectivity","Connectivity Policy"],["data_protection","Data Protection Policy"],["environmental","Environmental Policy"],["equal_opportunity","Equal Opportunity Policy"],["gender_equality","Gender Equality Plan"],["privacy_notice","Privacy Notice"]].forEach(a=>{const[c,i]=a,o=t[c];o&&(e[i]=o)})}export{G as default}; diff --git a/compendium_v2/static/Policy-DTXx03Vh.js b/compendium_v2/static/Policy-DTXx03Vh.js new file mode 100644 index 0000000000000000000000000000000000000000..0b3204c42e1c279b76170a9ab1f94f16cb58436a --- /dev/null +++ b/compendium_v2/static/Policy-DTXx03Vh.js @@ -0,0 +1 @@ +import{c as h,r as v,F as E,j as y,t as _,S as b}from"./index.js";import{u as g,q as j,k,i as S,D as q,F as C,f as F}from"./useData-Ct8E3VVL.js";import{N as R}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function W(){const e=h.c(21),{filterSelection:t,setFilterSelection:n}=v.useContext(E),{data:a,nrens:c}=g("/api/policy",n);let i,o;if(e[0]!==a||e[1]!==t.selectedNrens){const D=a?j(a):[];let u;e[4]!==t.selectedNrens?(u=x=>t.selectedNrens.includes(x.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],i=D.filter(u);const P=k(i);o=S(P,T),e[0]=a,e[1]=t.selectedNrens,e[2]=i,e[3]=o}else i=e[2],o=e[3];const d=o;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=[],e[6]=p):p=e[6];let l;e[7]!==c?(l=c.values(),e[7]=c,e[8]=l):l=e[8];let s;e[9]!==l?(s={availableYears:p,availableNrens:[...l]},e[9]=l,e[10]=s):s=e[10];let f;e[11]!==t||e[12]!==n||e[13]!==s?(f=y.jsx(C,{filterOptions:s,filterSelection:t,setFilterSelection:n}),e[11]=t,e[12]=n,e[13]=s,e[14]=f):f=e[14];const N=f;let r;e[15]!==d?(r=y.jsx(F,{children:y.jsx(R,{data:d,columnTitle:"Policies",noDots:!0,dottedBorder:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=d,e[16]=r):r=e[16];let m;return e[17]!==N||e[18]!==i||e[19]!==r?(m=y.jsx(q,{title:_.policy,description:"The table shows links to the NRENs policies. We only include links from the most recent response from each NREN.",category:b.Policy,filter:N,data:i,filename:"nren_policies",children:r}),e[17]=N,e[18]=i,e[19]=r,e[20]=m):m=e[20],m}function T(e,t){[["acceptable_use","Acceptable Use Policy"],["connectivity","Connectivity Policy"],["data_protection","Data Protection Policy"],["environmental","Environmental Policy"],["equal_opportunity","Equal Opportunity Policy"],["gender_equality","Gender Equality Plan"],["privacy_notice","Privacy Notice"]].forEach(a=>{const[c,i]=a,o=t[c];o&&(e[i]=o)})}export{W as default}; diff --git a/compendium_v2/static/RemoteCampuses-DiA5hlnD.js b/compendium_v2/static/RemoteCampuses-DiA5hlnD.js new file mode 100644 index 0000000000000000000000000000000000000000..411c656318f444317f3a128369f17dd5422d5967 --- /dev/null +++ b/compendium_v2/static/RemoteCampuses-DiA5hlnD.js @@ -0,0 +1 @@ +import{c as S,j as n,r as D,F as R,t as E,S as g}from"./index.js";import{u as w,h as F,i as k,D as T,F as B,f as L}from"./useData-Ct8E3VVL.js";import{T as O}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function $({data:e,dottedBorder:t=!1,columns:o}){return Array.from(e.entries()).map(([s,a])=>Array.from(a.entries()).map(([i,d],c)=>n.jsxs("tr",{className:t?"dotted-border":"",children:[n.jsx("td",{className:"pt-3 nren-column text-nowrap",children:c===0&&s}),n.jsx("td",{className:"pt-3 year-column",children:i}),Object.keys(o).map((r,l)=>n.jsx("td",{className:"pt-3 blue-column",children:d[r]},l))]},s+i)))}function A(e){const t=S.c(15),{data:o,dottedBorder:s,columns:a}=e;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("th",{className:"nren-column",children:n.jsx("span",{children:"NREN"})}),t[0]=i):i=t[0];let d;t[1]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("th",{className:"year-column",children:n.jsx("span",{children:"Year"})}),t[1]=d):d=t[1];let c;t[2]!==a?(c=Object.values(a).map(P),t[2]=a,t[3]=c):c=t[3];let r;t[4]!==c?(r=n.jsx("thead",{children:n.jsxs("tr",{children:[i,d,c]})}),t[4]=c,t[5]=r):r=t[5];let l;t[6]!==a||t[7]!==o||t[8]!==s?(l=$({data:o,dottedBorder:s,columns:a}),t[6]=a,t[7]=o,t[8]=s,t[9]=l):l=t[9];let u;t[10]!==l?(u=n.jsx("tbody",{children:l}),t[10]=l,t[11]=u):u=t[11];let m;return t[12]!==r||t[13]!==u?(m=n.jsxs(O,{borderless:!0,className:"compendium-table",children:[r,u]}),t[12]=r,t[13]=u,t[14]=m):m=t[14],m}function P(e,t){return n.jsx("th",{className:"blue-column",children:n.jsx("span",{children:e})},t)}function Q(){const e=S.c(29);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x=>!!x.remote_campus_connectivity,e[0]=t):t=e[0];const o=t,{filterSelection:s,setFilterSelection:a}=D.useContext(R),{data:i,years:d,nrens:c}=w("/api/remote-campuses",a,o);let r,l;if(e[1]!==i||e[2]!==s.selectedNrens||e[3]!==s.selectedYears){let x;e[6]!==s.selectedNrens||e[7]!==s.selectedYears?(x=C=>s.selectedYears.includes(C.year)&&s.selectedNrens.includes(C.nren),e[6]=s.selectedNrens,e[7]=s.selectedYears,e[8]=x):x=e[8],r=i.filter(x);const v=F(r);l=k(v,J),e[1]=i,e[2]=s.selectedNrens,e[3]=s.selectedYears,e[4]=r,e[5]=l}else r=e[4],l=e[5];const u=l;let m;e[9]!==d?(m=[...d],e[9]=d,e[10]=m):m=e[10];let f;e[11]!==c?(f=c.values(),e[11]=c,e[12]=f):f=e[12];let p;e[13]!==f?(p=[...f],e[13]=f,e[14]=p):p=e[14];let h;e[15]!==m||e[16]!==p?(h={availableYears:m,availableNrens:p},e[15]=m,e[16]=p,e[17]=h):h=e[17];let j;e[18]!==s||e[19]!==a||e[20]!==h?(j=n.jsx(B,{filterOptions:h,filterSelection:s,setFilterSelection:a}),e[18]=s,e[19]=a,e[20]=h,e[21]=j):j=e[21];const b=j;let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N={countries:"Countries with Remote Campuses",local_r_and_e_connection:"Local R&E Connection"},e[22]=N):N=e[22];const Y=N;let _;e[23]!==u?(_=n.jsx(L,{children:n.jsx(A,{data:u,columns:Y,dottedBorder:!0})}),e[23]=u,e[24]=_):_=e[24];let y;return e[25]!==b||e[26]!==r||e[27]!==_?(y=n.jsx(T,{title:E["remote-campuses"],description:"NRENs are asked whether they have remote campuses in other countries, and if so, to list the countries where they have remote campuses and whether they are connected to the local R&E network.",category:g.ConnectedUsers,filter:b,data:r,filename:"nren_remote_campuses",children:_}),e[25]=b,e[26]=r,e[27]=_,e[28]=y):y=e[28],y}function J(e,t){for(const o of t){if(!o.remote_campus_connectivity)continue;const s=o.connections.map(X).join(", ");e.countries=s,e.local_r_and_e_connection=o.connections.map(U).join(", ")}}function U(e){return e.local_r_and_e_connection?"Yes":"No"}function X(e){return e.country}export{Q as default}; diff --git a/compendium_v2/static/RemoteCampuses-NUiCskMY.js b/compendium_v2/static/RemoteCampuses-NUiCskMY.js deleted file mode 100644 index 1fde02b19a78bb909095aab60a4fafdeb9e58a4b..0000000000000000000000000000000000000000 --- a/compendium_v2/static/RemoteCampuses-NUiCskMY.js +++ /dev/null @@ -1 +0,0 @@ -import{c as v,j as n,r as Y,F as D,S as E}from"./index.js";import{u as g,h as w,i as F,D as k,F as O,f as T}from"./useData-C0vA-Ut8.js";import{T as B}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function L({data:e,dottedBorder:t=!1,columns:l}){return Array.from(e.entries()).map(([s,a])=>Array.from(a.entries()).map(([i,d],c)=>n.jsxs("tr",{className:t?"dotted-border":"",children:[n.jsx("td",{className:"pt-3 nren-column text-nowrap",children:c===0&&s}),n.jsx("td",{className:"pt-3 year-column",children:i}),Object.keys(l).map((r,o)=>n.jsx("td",{className:"pt-3 blue-column",children:d[r]},o))]},s+i)))}function $(e){const t=v.c(15),{data:l,dottedBorder:s,columns:a}=e;let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("th",{className:"nren-column",children:n.jsx("span",{children:"NREN"})}),t[0]=i):i=t[0];let d;t[1]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("th",{className:"year-column",children:n.jsx("span",{children:"Year"})}),t[1]=d):d=t[1];let c;t[2]!==a?(c=Object.values(a).map(A),t[2]=a,t[3]=c):c=t[3];let r;t[4]!==c?(r=n.jsx("thead",{children:n.jsxs("tr",{children:[i,d,c]})}),t[4]=c,t[5]=r):r=t[5];let o;t[6]!==a||t[7]!==l||t[8]!==s?(o=L({data:l,dottedBorder:s,columns:a}),t[6]=a,t[7]=l,t[8]=s,t[9]=o):o=t[9];let u;t[10]!==o?(u=n.jsx("tbody",{children:o}),t[10]=o,t[11]=u):u=t[11];let m;return t[12]!==r||t[13]!==u?(m=n.jsxs(B,{borderless:!0,className:"compendium-table",children:[r,u]}),t[12]=r,t[13]=u,t[14]=m):m=t[14],m}function A(e,t){return n.jsx("th",{className:"blue-column",children:n.jsx("span",{children:e})},t)}function M(){const e=v.c(29);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x=>!!x.remote_campus_connectivity,e[0]=t):t=e[0];const l=t,{filterSelection:s,setFilterSelection:a}=Y.useContext(D),{data:i,years:d,nrens:c}=g("/api/remote-campuses",a,l);let r,o;if(e[1]!==i||e[2]!==s.selectedNrens||e[3]!==s.selectedYears){let x;e[6]!==s.selectedNrens||e[7]!==s.selectedYears?(x=C=>s.selectedYears.includes(C.year)&&s.selectedNrens.includes(C.nren),e[6]=s.selectedNrens,e[7]=s.selectedYears,e[8]=x):x=e[8],r=i.filter(x);const S=w(r);o=F(S,P),e[1]=i,e[2]=s.selectedNrens,e[3]=s.selectedYears,e[4]=r,e[5]=o}else r=e[4],o=e[5];const u=o;let m;e[9]!==d?(m=[...d],e[9]=d,e[10]=m):m=e[10];let f;e[11]!==c?(f=c.values(),e[11]=c,e[12]=f):f=e[12];let p;e[13]!==f?(p=[...f],e[13]=f,e[14]=p):p=e[14];let h;e[15]!==m||e[16]!==p?(h={availableYears:m,availableNrens:p},e[15]=m,e[16]=p,e[17]=h):h=e[17];let j;e[18]!==s||e[19]!==a||e[20]!==h?(j=n.jsx(O,{filterOptions:h,filterSelection:s,setFilterSelection:a}),e[18]=s,e[19]=a,e[20]=h,e[21]=j):j=e[21];const b=j;let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N={countries:"Countries with Remote Campuses",local_r_and_e_connection:"Local R&E Connection"},e[22]=N):N=e[22];const R=N;let _;e[23]!==u?(_=n.jsx(T,{children:n.jsx($,{data:u,columns:R,dottedBorder:!0})}),e[23]=u,e[24]=_):_=e[24];let y;return e[25]!==b||e[26]!==r||e[27]!==_?(y=n.jsx(k,{title:"NREN Connectivity to Remote Campuses in Other Countries",description:"NRENs are asked whether they have remote campuses in other countries, and if so, to list the countries where they have remote campuses and whether they are connected to the local R&E network.",category:E.ConnectedUsers,filter:b,data:r,filename:"nren_remote_campuses",children:_}),e[25]=b,e[26]=r,e[27]=_,e[28]=y):y=e[28],y}function P(e,t){for(const l of t){if(!l.remote_campus_connectivity)continue;const s=l.connections.map(U).join(", ");e.countries=s,e.local_r_and_e_connection=l.connections.map(J).join(", ")}}function J(e){return e.local_r_and_e_connection?"Yes":"No"}function U(e){return e.country}export{M as default}; diff --git a/compendium_v2/static/SecurityControls-TM-ptOes.js b/compendium_v2/static/SecurityControls-TM-ptOes.js new file mode 100644 index 0000000000000000000000000000000000000000..b423e9f2d0262459685f0d36d80f03f82a10abb3 --- /dev/null +++ b/compendium_v2/static/SecurityControls-TM-ptOes.js @@ -0,0 +1,2 @@ +import{c as T,r as E,F as L,S as A,j,t as I}from"./index.js";import{u as M,g as O,F as R,D as V,f as W}from"./useData-Ct8E3VVL.js";import{P as $}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function Z(){const e=T.c(51),{filterSelection:t,setFilterSelection:i}=E.useContext(L),{data:w,years:D,nrens:Y}=M("/api/security-controls",i);let s,S;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=P=>t.selectedYears.includes(P.year)&&t.selectedNrens.includes(P.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=w.filter(r),S=O(s,"security_control_descriptions"),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=S}else s=e[3],S=e[4];const C=S;let l;e[8]!==D?(l=[...D],e[8]=D,e[9]=l):l=e[9];let o;e[10]!==Y?(o=Y.values(),e[10]=Y,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let a;e[14]!==l||e[15]!==n?(a={availableYears:l,availableNrens:n},e[14]=l,e[15]=n,e[16]=a):a=e[16];let b;e[17]!==t||e[18]!==i||e[19]!==a?(b=j.jsx(R,{filterOptions:a,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=a,e[20]=b):b=e[20];const F=b;let c,u,m,p,f,d,y,g,h,N,x;if(e[21]!==F||e[22]!==s){const r={anti_virus:"Anti Virus",anti_spam:"Anti-Spam",firewall:"Firewall",ddos_mitigation:"DDoS mitigation",monitoring:"Network monitoring",ips_ids:"IPS/IDS",acl:"ACL",segmentation:"Network segmentation",integrity_checking:"Integrity checking"};p=new Map(Object.entries(r).map(q)),m=V,h=I["security-control"],N=`The table below shows the different security controls, such as anti-virus, integrity checkers, and systemic firewalls used by + NRENs to protect their assets. Where 'other' controls are mentioned, hover over the marker for more information.`,x=A.Policy,f=F,d=s,y="security_control_nrens_per_year",u=W,c=$,g=Object.values(r),e[21]=F,e[22]=s,e[23]=c,e[24]=u,e[25]=m,e[26]=p,e[27]=f,e[28]=d,e[29]=y,e[30]=g,e[31]=h,e[32]=N,e[33]=x}else c=e[23],u=e[24],m=e[25],p=e[26],f=e[27],d=e[28],y=e[29],g=e[30],h=e[31],N=e[32],x=e[33];let _;e[34]!==c||e[35]!==p||e[36]!==C||e[37]!==g?(_=j.jsx(c,{columns:g,dataLookup:C,circle:!0,columnLookup:p}),e[34]=c,e[35]=p,e[36]=C,e[37]=g,e[38]=_):_=e[38];let k;e[39]!==u||e[40]!==_?(k=j.jsx(u,{children:_}),e[39]=u,e[40]=_,e[41]=k):k=e[41];let v;return e[42]!==m||e[43]!==f||e[44]!==d||e[45]!==y||e[46]!==k||e[47]!==h||e[48]!==N||e[49]!==x?(v=j.jsx(m,{title:h,description:N,category:x,filter:f,data:d,filename:y,children:k}),e[42]=m,e[43]=f,e[44]=d,e[45]=y,e[46]=k,e[47]=h,e[48]=N,e[49]=x,e[50]=v):v=e[50],v}function q(e){const[t,i]=e;return[i,t]}export{Z as default}; diff --git a/compendium_v2/static/SecurityControls-cN55VGDF.js b/compendium_v2/static/SecurityControls-cN55VGDF.js deleted file mode 100644 index c8c5aa6982998ab92b84183ad7914ed6f50defc7..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SecurityControls-cN55VGDF.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as T,r as E,F as L,S as R,j}from"./index.js";import{u as A,g as I,F as M,D as O,f as V}from"./useData-C0vA-Ut8.js";import{P as U}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function X(){const e=T.c(51),{filterSelection:t,setFilterSelection:i}=E.useContext(L),{data:w,years:C,nrens:D}=A("/api/security-controls",i);let s,b;if(e[0]!==w||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let r;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(r=P=>t.selectedYears.includes(P.year)&&t.selectedNrens.includes(P.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=r):r=e[7],s=w.filter(r),b=I(s,"security_control_descriptions"),e[0]=w,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=b}else s=e[3],b=e[4];const Y=b;let l;e[8]!==C?(l=[...C],e[8]=C,e[9]=l):l=e[9];let o;e[10]!==D?(o=D.values(),e[10]=D,e[11]=o):o=e[11];let n;e[12]!==o?(n=[...o],e[12]=o,e[13]=n):n=e[13];let a;e[14]!==l||e[15]!==n?(a={availableYears:l,availableNrens:n},e[14]=l,e[15]=n,e[16]=a):a=e[16];let k;e[17]!==t||e[18]!==i||e[19]!==a?(k=j.jsx(M,{filterOptions:a,filterSelection:t,setFilterSelection:i,coloredYears:!0}),e[17]=t,e[18]=i,e[19]=a,e[20]=k):k=e[20];const F=k;let c,u,m,p,d,f,y,g,h,N,x;if(e[21]!==F||e[22]!==s){const r={anti_virus:"Anti Virus",anti_spam:"Anti-Spam",firewall:"Firewall",ddos_mitigation:"DDoS mitigation",monitoring:"Network monitoring",ips_ids:"IPS/IDS",acl:"ACL",segmentation:"Network segmentation",integrity_checking:"Integrity checking"};p=new Map(Object.entries(r).map(W)),m=O,h="Security Controls Used by NRENs",N=`The table below shows the different security controls, such as anti-virus, integrity checkers, and systemic firewalls used by - NRENs to protect their assets. Where 'other' controls are mentioned, hover over the marker for more information.`,x=R.Policy,d=F,f=s,y="security_control_nrens_per_year",u=V,c=U,g=Object.values(r),e[21]=F,e[22]=s,e[23]=c,e[24]=u,e[25]=m,e[26]=p,e[27]=d,e[28]=f,e[29]=y,e[30]=g,e[31]=h,e[32]=N,e[33]=x}else c=e[23],u=e[24],m=e[25],p=e[26],d=e[27],f=e[28],y=e[29],g=e[30],h=e[31],N=e[32],x=e[33];let S;e[34]!==c||e[35]!==p||e[36]!==Y||e[37]!==g?(S=j.jsx(c,{columns:g,dataLookup:Y,circle:!0,columnLookup:p}),e[34]=c,e[35]=p,e[36]=Y,e[37]=g,e[38]=S):S=e[38];let _;e[39]!==u||e[40]!==S?(_=j.jsx(u,{children:S}),e[39]=u,e[40]=S,e[41]=_):_=e[41];let v;return e[42]!==m||e[43]!==d||e[44]!==f||e[45]!==y||e[46]!==_||e[47]!==h||e[48]!==N||e[49]!==x?(v=j.jsx(m,{title:h,description:N,category:x,filter:d,data:f,filename:y,children:_}),e[42]=m,e[43]=d,e[44]=f,e[45]=y,e[46]=_,e[47]=h,e[48]=N,e[49]=x,e[50]=v):v=e[50],v}function W(e){const[t,i]=e;return[i,t]}export{X as default}; diff --git a/compendium_v2/static/ServiceLevelTargets-CAul_Bb5.js b/compendium_v2/static/ServiceLevelTargets-CAul_Bb5.js deleted file mode 100644 index f7760266e24c5031ea21d0f885fbca34ebdcd44f..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ServiceLevelTargets-CAul_Bb5.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as y,r as T,F as j,j as v,S as E}from"./index.js";import{u as F,g as L,D as _,F as P,f as R}from"./useData-C0vA-Ut8.js";import{P as w}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function z(){const e=y.c(29),{filterSelection:t,setFilterSelection:c}=T.useContext(j),{data:N,years:h,nrens:g}=F("/api/service-management",c);let s,f;if(e[0]!==N||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&Y.service_level_targets!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=N.filter(p),f=L(s,"service_level_targets"),e[0]=N,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const x=f;let l,d;e[8]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],d=new Map([[l[0],"True"],[l[1],"False"]]),e[8]=l,e[9]=d):(l=e[8],d=e[9]);const b=d;let r;e[10]!==h?(r=[...h],e[10]=h,e[11]=r):r=e[11];let a;e[12]!==g?(a=g.values(),e[12]=g,e[13]=a):a=e[13];let i;e[14]!==a?(i=[...a],e[14]=a,e[15]=i):i=e[15];let o;e[16]!==r||e[17]!==i?(o={availableYears:r,availableNrens:i},e[16]=r,e[17]=i,e[18]=o):o=e[18];let m;e[19]!==t||e[20]!==c||e[21]!==o?(m=v.jsx(P,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=m):m=e[22];const S=m;let n;e[23]!==x?(n=v.jsx(R,{children:v.jsx(w,{columns:l,columnLookup:b,dataLookup:x})}),e[23]=x,e[24]=n):n=e[24];let u;return e[25]!==S||e[26]!==s||e[27]!==n?(u=v.jsx(_,{title:"NRENs Offering Service Level Targets",description:`The table below shows which NRENs offer Service Levels Targets for their services. - If NRENs have never responded to this question in the survey, they are excluded. `,category:E.Policy,filter:S,data:s,filename:"service_level_targets",children:n}),e[25]=S,e[26]=s,e[27]=n,e[28]=u):u=e[28],u}export{z as default}; diff --git a/compendium_v2/static/ServiceLevelTargets-DMHnzoF5.js b/compendium_v2/static/ServiceLevelTargets-DMHnzoF5.js new file mode 100644 index 0000000000000000000000000000000000000000..3ec7608f5a2f10f44e3e6cc470a1a05b641669d1 --- /dev/null +++ b/compendium_v2/static/ServiceLevelTargets-DMHnzoF5.js @@ -0,0 +1,2 @@ +import{c as y,r as j,F,j as v,t as T,S as _}from"./index.js";import{u as E,g as L,D as P,F as w,f as C}from"./useData-Ct8E3VVL.js";import{P as D}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function A(){const e=y.c(29),{filterSelection:t,setFilterSelection:n}=j.useContext(F),{data:h,years:N,nrens:x}=E("/api/service-management",n);let s,f;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=Y=>t.selectedYears.includes(Y.year)&&t.selectedNrens.includes(Y.nren)&&Y.service_level_targets!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=h.filter(p),f=L(s,"service_level_targets"),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=f}else s=e[3],f=e[4];const g=f;let l,d;e[8]===Symbol.for("react.memo_cache_sentinel")?(l=["Yes","No"],d=new Map([[l[0],"True"],[l[1],"False"]]),e[8]=l,e[9]=d):(l=e[8],d=e[9]);const b=d;let r;e[10]!==N?(r=[...N],e[10]=N,e[11]=r):r=e[11];let a;e[12]!==x?(a=x.values(),e[12]=x,e[13]=a):a=e[13];let i;e[14]!==a?(i=[...a],e[14]=a,e[15]=i):i=e[15];let o;e[16]!==r||e[17]!==i?(o={availableYears:r,availableNrens:i},e[16]=r,e[17]=i,e[18]=o):o=e[18];let m;e[19]!==t||e[20]!==n||e[21]!==o?(m=v.jsx(w,{filterOptions:o,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[19]=t,e[20]=n,e[21]=o,e[22]=m):m=e[22];const S=m;let c;e[23]!==g?(c=v.jsx(C,{children:v.jsx(D,{columns:l,columnLookup:b,dataLookup:g})}),e[23]=g,e[24]=c):c=e[24];let u;return e[25]!==S||e[26]!==s||e[27]!==c?(u=v.jsx(P,{title:T["service-level-targets"],description:`The table below shows which NRENs offer Service Levels Targets for their services. + If NRENs have never responded to this question in the survey, they are excluded. `,category:_.Policy,filter:S,data:s,filename:"service_level_targets",children:c}),e[25]=S,e[26]=s,e[27]=c,e[28]=u):u=e[28],u}export{A as default}; diff --git a/compendium_v2/static/ServiceManagementFramework-D-rGA4sI.js b/compendium_v2/static/ServiceManagementFramework-D-rGA4sI.js new file mode 100644 index 0000000000000000000000000000000000000000..8c9af4453e6f4a125aeb3a6fa11fb2669d8e0cfe --- /dev/null +++ b/compendium_v2/static/ServiceManagementFramework-D-rGA4sI.js @@ -0,0 +1,2 @@ +import{c as b,r as F,F as S,j as h,t as j,S as _}from"./index.js";import{u as y,g as E,D as P,F as C,f as D}from"./useData-Ct8E3VVL.js";import{P as R}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=b.c(29),{filterSelection:t,setFilterSelection:c}=F.useContext(S),{data:v,years:N,nrens:w}=y("/api/service-management",c);let s,m;if(e[0]!==v||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.service_management_framework!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=v.filter(u),m=E(s,"service_management_framework"),e[0]=v,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const g=m;let r,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","No"],f=new Map([[r[0],"True"],[r[1],"False"]]),e[8]=r,e[9]=f):(r=e[8],f=e[9]);const Y=f;let a;e[10]!==N?(a=[...N],e[10]=N,e[11]=a):a=e[11];let l;e[12]!==w?(l=w.values(),e[12]=w,e[13]=l):l=e[13];let i;e[14]!==l?(i=[...l],e[14]=l,e[15]=i):i=e[15];let o;e[16]!==a||e[17]!==i?(o={availableYears:a,availableNrens:i},e[16]=a,e[17]=i,e[18]=o):o=e[18];let p;e[19]!==t||e[20]!==c||e[21]!==o?(p=h.jsx(C,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=o,e[22]=p):p=e[22];const x=p;let n;e[23]!==g?(n=h.jsx(D,{children:h.jsx(R,{columns:r,columnLookup:Y,dataLookup:g})}),e[23]=g,e[24]=n):n=e[24];let d;return e[25]!==x||e[26]!==s||e[27]!==n?(d=h.jsx(P,{title:j["service-management-framework"],description:`The chart below shows which NRENs operate a formal service management framework + for all of their services. NRENs which have never answered this question cannot be selected.`,category:_.Policy,filter:x,data:s,filename:"service_management_framework",children:n}),e[25]=x,e[26]=s,e[27]=n,e[28]=d):d=e[28],d}export{B as default}; diff --git a/compendium_v2/static/ServiceManagementFramework-Dr5HjYSA.js b/compendium_v2/static/ServiceManagementFramework-Dr5HjYSA.js deleted file mode 100644 index b1eba786e34f216362751d9c97704e9cfad43d23..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ServiceManagementFramework-Dr5HjYSA.js +++ /dev/null @@ -1,2 +0,0 @@ -import{c as S,r as Y,F as b,j as N,S as j}from"./index.js";import{u as E,g as _,D as y,F as P,f as R}from"./useData-C0vA-Ut8.js";import{P as C}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function A(){const e=S.c(29),{filterSelection:t,setFilterSelection:c}=Y.useContext(b),{data:h,years:v,nrens:g}=E("/api/service-management",c);let s,m;if(e[0]!==h||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=k=>t.selectedYears.includes(k.year)&&t.selectedNrens.includes(k.nren)&&k.service_management_framework!==null,e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=h.filter(u),m=_(s,"service_management_framework"),e[0]=h,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=m}else s=e[3],m=e[4];const w=m;let r,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","No"],f=new Map([[r[0],"True"],[r[1],"False"]]),e[8]=r,e[9]=f):(r=e[8],f=e[9]);const F=f;let a;e[10]!==v?(a=[...v],e[10]=v,e[11]=a):a=e[11];let l;e[12]!==g?(l=g.values(),e[12]=g,e[13]=l):l=e[13];let o;e[14]!==l?(o=[...l],e[14]=l,e[15]=o):o=e[15];let i;e[16]!==a||e[17]!==o?(i={availableYears:a,availableNrens:o},e[16]=a,e[17]=o,e[18]=i):i=e[18];let p;e[19]!==t||e[20]!==c||e[21]!==i?(p=N.jsx(P,{filterOptions:i,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[19]=t,e[20]=c,e[21]=i,e[22]=p):p=e[22];const x=p;let n;e[23]!==w?(n=N.jsx(R,{children:N.jsx(C,{columns:r,columnLookup:F,dataLookup:w})}),e[23]=w,e[24]=n):n=e[24];let d;return e[25]!==x||e[26]!==s||e[27]!==n?(d=N.jsx(y,{title:"NRENs Operating a Formal Service Management Framework",description:`The chart below shows which NRENs operate a formal service management framework - for all of their services. NRENs which have never answered this question cannot be selected.`,category:j.Policy,filter:x,data:s,filename:"service_management_framework",children:n}),e[25]=x,e[26]=s,e[27]=n,e[28]=d):d=e[28],d}export{A as default}; diff --git a/compendium_v2/static/Services-5TAXBWqD.js b/compendium_v2/static/Services-5TAXBWqD.js new file mode 100644 index 0000000000000000000000000000000000000000..bed80b50919a6a833270c166851d9585faa23f27 --- /dev/null +++ b/compendium_v2/static/Services-5TAXBWqD.js @@ -0,0 +1,8 @@ +import{$ as se,c as U,j as s,r as ie,F as re,a0 as g,S as ae,t as N}from"./index.js";import{u as oe,g as le,F as ce,D as ne,f as de}from"./useData-Ct8E3VVL.js";import{T as me}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";function Q(v){return se({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"},child:[]}]})(v)}function pe(v){const e=U.c(9),{year:i,active:t,serviceInfo:l,tickServiceIndex:u,current:a}=v;let r="No additional information available";if(l!==void 0){const x=l.service_name;let n=l.product_name,d=l.official_description,m=l.additional_information;(n!=""||d!=""||m!="")&&(n=n||"N/A",d=d||"N/A",m=m||"N/A",r=x+` +`+n+` + +Description: `+d+` +Information: `+m)}let h="";r!=="No additional information available"&&(h="pill-shadow"),r=`${i}: ${r}`;let o;e[0]!==t||e[1]!==a||e[2]!==h||e[3]!==u||e[4]!==r?(o=t&&a?s.jsx("div",{"data-description":r,className:" bottom-tooltip ",style:{width:"30px",height:"30px",margin:"2px"},children:s.jsx(Q,{className:`rounded-pill color-of-the-current-service-${u%13} bottom-tooltip ${h}`})}):t&&!a?s.jsx("div",{"data-description":r,className:" bottom-tooltip ",style:{width:"30px",height:"30px",margin:"2px"},children:s.jsx(Q,{className:`rounded-pill color-of-the-previous-service-${u%13} bottom-tooltip ${h}`})}):s.jsx("div",{className:"rounded-pill bg-color-of-the-year-blank",style:{width:"30px",height:"30px",margin:"2px"},children:" "}),e[0]=t,e[1]=a,e[2]=h,e[3]=u,e[4]=r,e[5]=o):o=e[5];let c;return e[6]!==o||e[7]!==i?(c=s.jsx("div",{className:"d-inline-block",children:o},i),e[6]=o,e[7]=i,e[8]=c):c=e[8],c}function ke(v){const e=U.c(62),{category:i}=v,{filterSelection:t,setFilterSelection:l}=ie.useContext(re),{data:u,years:a,nrens:r}=oe("/api/nren-services",l),h=Math.max(...t.selectedYears);let o,c,x,n,d,m,j,b,k,y,_,w,S;if(e[0]!==i||e[1]!==t||e[2]!==h||e[3]!==r||e[4]!==u||e[5]!==l||e[6]!==a){let A;e[20]!==i||e[21]!==t.selectedNrens||e[22]!==t.selectedYears?(A=p=>t.selectedYears.includes(p.year)&&t.selectedNrens.includes(p.nren)&&p.service_category==i,e[20]=i,e[21]=t.selectedNrens,e[22]=t.selectedYears,e[23]=A):A=e[23];const O=u.filter(A),G={};O.forEach(p=>{G[p.service_name]=p.service_description});const H=Object.entries(G).sort(he),V=le(O,"service_name");let D;e[24]!==a?(D=[...a],e[24]=a,e[25]=D):D=e[25];let T;e[26]!==r?(T=r.values(),e[26]=r,e[27]=T):T=e[27];let E;e[28]!==T?(E=[...T],e[28]=T,e[29]=E):E=e[29];let I;e[30]!==D||e[31]!==E?(I={availableYears:D,availableNrens:E},e[30]=D,e[31]=E,e[32]=I):I=e[32];let R;e[33]!==t||e[34]!==l||e[35]!==I?(R=s.jsx(ce,{filterOptions:I,filterSelection:t,setFilterSelection:l}),e[33]=t,e[34]=l,e[35]=I,e[36]=R):R=e[36];const W=R;let B;e[37]!==a?(B=p=>a.has(p),e[37]=a,e[38]=B):B=e[38];const X=[...t.selectedYears.filter(B)].sort();let f="";e:switch(i){case g.network_services:{f=N["network-services"];break e}case g.isp_support:{f=N["isp-support-services"];break e}case g.security:{f=N["security-services"];break e}case g.identity:{f=N["identity-services"];break e}case g.collaboration:{f=N["collaboration-services"];break e}case g.multimedia:{f=N["multimedia-services"];break e}case g.storage_and_hosting:{f=N["storage-and-hosting-services"];break e}case g.professional_services:f=N["professional-services"]}x=ne,k=f,y=`The service matrix shows the services NRENs offer to their users. These + services are grouped thematically, with navigation possible via. the side menu. NRENs + are invited to give extra information about their services; where this is provided, + you will see a black circle around the marker. Hover over the marker to read more.`,_=ae.Services,w=W,S=O,d="nren_services",c=de,o=me,m="service-table",j=!0;let M;e[39]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsx("th",{}),e[39]=M):M=e[39];const P=s.jsxs("tr",{children:[M,H.map(ve)]});e[40]!==P?(b=s.jsx("thead",{children:P}),e[40]=P,e[41]=b):b=e[41],n=Array.from(V.entries()).map(p=>{const[q,J]=p;return s.jsxs("tr",{children:[s.jsx("td",{className:"bold-text",children:q}),H.map((Z,ee)=>{const[z]=Z;return s.jsx("td",{children:J.has(z)&&X.map(L=>{const K=J.get(z),te=K.get(L);return s.jsx(pe,{year:L,active:K.has(L),serviceInfo:te,tickServiceIndex:ee,current:L==h},L)})},z)})]},q)}),e[0]=i,e[1]=t,e[2]=h,e[3]=r,e[4]=u,e[5]=l,e[6]=a,e[7]=o,e[8]=c,e[9]=x,e[10]=n,e[11]=d,e[12]=m,e[13]=j,e[14]=b,e[15]=k,e[16]=y,e[17]=_,e[18]=w,e[19]=S}else o=e[7],c=e[8],x=e[9],n=e[10],d=e[11],m=e[12],j=e[13],b=e[14],k=e[15],y=e[16],_=e[17],w=e[18],S=e[19];let $;e[42]!==n?($=s.jsx("tbody",{children:n}),e[42]=n,e[43]=$):$=e[43];let C;e[44]!==o||e[45]!==$||e[46]!==m||e[47]!==j||e[48]!==b?(C=s.jsxs(o,{className:m,bordered:j,children:[b,$]}),e[44]=o,e[45]=$,e[46]=m,e[47]=j,e[48]=b,e[49]=C):C=e[49];let Y;e[50]!==c||e[51]!==C?(Y=s.jsx(c,{children:C}),e[50]=c,e[51]=C,e[52]=Y):Y=e[52];let F;return e[53]!==x||e[54]!==d||e[55]!==Y||e[56]!==k||e[57]!==y||e[58]!==_||e[59]!==w||e[60]!==S?(F=s.jsx(x,{title:k,description:y,category:_,filter:w,data:S,filename:d,children:Y}),e[53]=x,e[54]=d,e[55]=Y,e[56]=k,e[57]=y,e[58]=_,e[59]=w,e[60]=S,e[61]=F):F=e[61],F}function ve(v,e){const[i,t]=v;return s.jsx("th",{"data-description":t,className:`bottom-tooltip color-of-the-service-header-${e%13}`,children:i},i)}function he(v,e){return v[0].toLowerCase()<e[0].toLowerCase()?-1:1}export{ke as default}; diff --git a/compendium_v2/static/Services-UuW4JfkB.js b/compendium_v2/static/Services-UuW4JfkB.js deleted file mode 100644 index b448b987538f6a81563ed4105aab800bf08cbc96..0000000000000000000000000000000000000000 --- a/compendium_v2/static/Services-UuW4JfkB.js +++ /dev/null @@ -1,8 +0,0 @@ -import{T as te,c as K,j as s,V as g,r as se,F as ie,S as re}from"./index.js";import{u as oe,g as ae,F as le,D as ne,f as ce}from"./useData-C0vA-Ut8.js";import{T as de}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function J(h){return te({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"},child:[]}]})(h)}function me(h){const e=K.c(9),{year:i,active:t,serviceInfo:l,tickServiceIndex:u,current:o}=h;let r="No additional information available";if(l!==void 0){const x=l.service_name;let c=l.product_name,d=l.official_description,m=l.additional_information;(c!=""||d!=""||m!="")&&(c=c||"N/A",d=d||"N/A",m=m||"N/A",r=x+` -`+c+` - -Description: `+d+` -Information: `+m)}let f="";r!=="No additional information available"&&(f="pill-shadow"),r=`${i}: ${r}`;let a;e[0]!==t||e[1]!==o||e[2]!==f||e[3]!==u||e[4]!==r?(a=t&&o?s.jsx("div",{"data-description":r,className:" bottom-tooltip ",style:{width:"30px",height:"30px",margin:"2px"},children:s.jsx(J,{className:`rounded-pill color-of-the-current-service-${u%13} bottom-tooltip ${f}`})}):t&&!o?s.jsx("div",{"data-description":r,className:" bottom-tooltip ",style:{width:"30px",height:"30px",margin:"2px"},children:s.jsx(J,{className:`rounded-pill color-of-the-previous-service-${u%13} bottom-tooltip ${f}`})}):s.jsx("div",{className:"rounded-pill bg-color-of-the-year-blank",style:{width:"30px",height:"30px",margin:"2px"},children:" "}),e[0]=t,e[1]=o,e[2]=f,e[3]=u,e[4]=r,e[5]=a):a=e[5];let n;return e[6]!==a||e[7]!==i?(n=s.jsx("div",{className:"d-inline-block",children:a},i),e[6]=a,e[7]=i,e[8]=n):n=e[8],n}const v={};v[g.network_services]="network";v[g.isp_support]="ISP support";v[g.security]="security";v[g.identity]="identity";v[g.collaboration]="collaboration";v[g.multimedia]="multimedia";v[g.storage_and_hosting]="storage and hosting";v[g.professional_services]="professional";function je(h){const e=K.c(62),{category:i}=h,{filterSelection:t,setFilterSelection:l}=se.useContext(ie),{data:u,years:o,nrens:r}=oe("/api/nren-services",l),f=Math.max(...t.selectedYears);let a,n,x,c,d,m,b,N,j,y,_,w,S;if(e[0]!==i||e[1]!==t||e[2]!==f||e[3]!==r||e[4]!==u||e[5]!==l||e[6]!==o){let L;e[20]!==i||e[21]!==t.selectedNrens||e[22]!==t.selectedYears?(L=p=>t.selectedYears.includes(p.year)&&t.selectedNrens.includes(p.nren)&&p.service_category==i,e[20]=i,e[21]=t.selectedNrens,e[22]=t.selectedYears,e[23]=L):L=e[23];const P=u.filter(L),z={};P.forEach(p=>{z[p.service_name]=p.service_description});const G=Object.entries(z).sort(he),Q=ae(P,"service_name");let Y;e[24]!==o?(Y=[...o],e[24]=o,e[25]=Y):Y=e[25];let $;e[26]!==r?($=r.values(),e[26]=r,e[27]=$):$=e[27];let D;e[28]!==$?(D=[...$],e[28]=$,e[29]=D):D=e[29];let E;e[30]!==Y||e[31]!==D?(E={availableYears:Y,availableNrens:D},e[30]=Y,e[31]=D,e[32]=E):E=e[32];let R;e[33]!==t||e[34]!==l||e[35]!==E?(R=s.jsx(le,{filterOptions:E,filterSelection:t,setFilterSelection:l}),e[33]=t,e[34]=l,e[35]=E,e[36]=R):R=e[36];const U=R;let A;e[37]!==o?(A=p=>o.has(p),e[37]=o,e[38]=A):A=e[38];const W=[...t.selectedYears.filter(A)].sort();x=ne,j="NREN "+v[i]+" services matrix",y=`The service matrix shows the services NRENs offer to their users. These - services are grouped thematically, with navigation possible via. the side menu. NRENs - are invited to give extra information about their services; where this is provided, - you will see a black circle around the marker. Hover over the marker to read more.`,_=re.Services,w=U,S=P,d="nren_services",n=ce,a=de,m="service-table",b=!0;let B;e[39]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx("th",{}),e[39]=B):B=e[39];const M=s.jsxs("tr",{children:[B,G.map(pe)]});e[40]!==M?(N=s.jsx("thead",{children:M}),e[40]=M,e[41]=N):N=e[41],c=Array.from(Q.entries()).map(p=>{const[H,V]=p;return s.jsxs("tr",{children:[s.jsx("td",{className:"bold-text",children:H}),G.map((X,Z)=>{const[O]=X;return s.jsx("td",{children:V.has(O)&&W.map(I=>{const q=V.get(O),ee=q.get(I);return s.jsx(me,{year:I,active:q.has(I),serviceInfo:ee,tickServiceIndex:Z,current:I==f},I)})},O)})]},H)}),e[0]=i,e[1]=t,e[2]=f,e[3]=r,e[4]=u,e[5]=l,e[6]=o,e[7]=a,e[8]=n,e[9]=x,e[10]=c,e[11]=d,e[12]=m,e[13]=b,e[14]=N,e[15]=j,e[16]=y,e[17]=_,e[18]=w,e[19]=S}else a=e[7],n=e[8],x=e[9],c=e[10],d=e[11],m=e[12],b=e[13],N=e[14],j=e[15],y=e[16],_=e[17],w=e[18],S=e[19];let k;e[42]!==c?(k=s.jsx("tbody",{children:c}),e[42]=c,e[43]=k):k=e[43];let C;e[44]!==a||e[45]!==k||e[46]!==m||e[47]!==b||e[48]!==N?(C=s.jsxs(a,{className:m,bordered:b,children:[N,k]}),e[44]=a,e[45]=k,e[46]=m,e[47]=b,e[48]=N,e[49]=C):C=e[49];let T;e[50]!==n||e[51]!==C?(T=s.jsx(n,{children:C}),e[50]=n,e[51]=C,e[52]=T):T=e[52];let F;return e[53]!==x||e[54]!==d||e[55]!==T||e[56]!==j||e[57]!==y||e[58]!==_||e[59]!==w||e[60]!==S?(F=s.jsx(x,{title:j,description:y,category:_,filter:w,data:S,filename:d,children:T}),e[53]=x,e[54]=d,e[55]=T,e[56]=j,e[57]=y,e[58]=_,e[59]=w,e[60]=S,e[61]=F):F=e[61],F}function pe(h,e){const[i,t]=h;return s.jsx("th",{"data-description":t,className:`bottom-tooltip color-of-the-service-header-${e%13}`,children:i},i)}function he(h,e){return h[0].toLowerCase()<e[0].toLowerCase()?-1:1}export{je as default}; diff --git a/compendium_v2/static/ServicesOffered-BQGRxlwg.js b/compendium_v2/static/ServicesOffered-BQGRxlwg.js new file mode 100644 index 0000000000000000000000000000000000000000..13b94184e9c42e8452e950faa24b5a40ab03d23f --- /dev/null +++ b/compendium_v2/static/ServicesOffered-BQGRxlwg.js @@ -0,0 +1 @@ +import{c as b,r as w,F as j,j as c,t as k,S as C,U as E}from"./index.js";import{u as Y,r as F,D as I,F as P,f as R}from"./useData-Ct8E3VVL.js";import{S as D}from"./ScrollableMatrix-Dxr22l4i.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function z(){const e=b.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=Y("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=F(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const x=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(P,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const N=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const _=p;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=u):u=e[22];let l;e[23]!==x?(l=c.jsx(R,{children:c.jsx(D,{dataLookup:x,rowInfo:_,categoryLookup:E,isTickIcon:!0})}),e[23]=x,e[24]=l):l=e[24];let m;return e[25]!==N||e[26]!==s||e[27]!==l?(m=c.jsx(I,{title:k["services-offered"],description:u,category:C.Policy,filter:N,data:s,filename:"nren_services_offered",children:l}),e[25]=N,e[26]=s,e[27]=l,e[28]=m):m=e[28],m}export{z as default}; diff --git a/compendium_v2/static/ServicesOffered-Z3IepUcf.js b/compendium_v2/static/ServicesOffered-Z3IepUcf.js deleted file mode 100644 index decc1b951155a378d01c1507cdc8ac8ced510c52..0000000000000000000000000000000000000000 --- a/compendium_v2/static/ServicesOffered-Z3IepUcf.js +++ /dev/null @@ -1 +0,0 @@ -import{c as _,r as w,F as j,j as c,S as k,U as C}from"./index.js";import{u as E,r as R,D as Y,F,f as I}from"./useData-C0vA-Ut8.js";import{S as P}from"./ScrollableMatrix-Dxr22l4i.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=E("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=R(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const N=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(F,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const x=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const b=p;let u;e[22]===Symbol.for("react.memo_cache_sentinel")?(u=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=u):u=e[22];let l;e[23]!==N?(l=c.jsx(I,{children:c.jsx(P,{dataLookup:N,rowInfo:b,categoryLookup:C,isTickIcon:!0})}),e[23]=N,e[24]=l):l=e[24];let m;return e[25]!==x||e[26]!==s||e[27]!==l?(m=c.jsx(Y,{title:"Services Offered by NRENs by Types of Users",description:u,category:k.Policy,filter:x,data:s,filename:"nren_services_offered",children:l}),e[25]=x,e[26]=s,e[27]=l,e[28]=m):m=e[28],m}export{q as default}; diff --git a/compendium_v2/static/SideBar-Bzc5cONd.js b/compendium_v2/static/SideBar-Bzc5cONd.js deleted file mode 100644 index 3289f3eb17467fe3b64f3801bab4bff715b49617..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SideBar-Bzc5cONd.js +++ /dev/null @@ -1 +0,0 @@ -import{c as y,r as j,j as i,R as E,L as N,O as S,Q as L}from"./index.js";function _(v){const e=y.c(9),{to:o,children:n}=v,t=window.location.pathname===o,a=j.useRef(null);let c,s;e[0]!==t?(c=()=>{t&&a.current&&a.current.scrollIntoView({behavior:"smooth",block:"center"})},s=[t],e[0]=t,e[1]=c,e[2]=s):(c=e[1],s=e[2]),j.useEffect(c,s);let l;e[3]!==n||e[4]!==t?(l=t?i.jsx("b",{children:n}):n,e[3]=n,e[4]=t,e[5]=l):l=e[5];let r;return e[6]!==l||e[7]!==o?(r=i.jsx(E,{children:i.jsx(N,{to:o,className:"link-text-underline",ref:a,children:l})}),e[6]=l,e[7]=o,e[8]=r):r=e[8],r}const C=v=>{const e=y.c(23),{children:o,survey:n}=v,[t,a]=j.useState(!1);let c;e[0]!==t?(c=p=>{p.stopPropagation(),p.preventDefault(),a(!t)},e[0]=t,e[1]=c):c=e[1];const s=c;let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=p=>{p.target.closest("#sidebar")||p.target.closest(".toggle-btn")||a(!1)},e[2]=l):l=e[2];const r=l;let x;e[3]===Symbol.for("react.memo_cache_sentinel")?(x=()=>(document.addEventListener("click",r),()=>{document.removeEventListener("click",r)}),e[3]=x):x=e[3],j.useEffect(x);let f;e[4]!==t||e[5]!==n?(f=[],t||f.push("no-sidebar"),n&&f.push("survey"),e[4]=t,e[5]=n,e[6]=f):f=e[6];const k=f.join(" ");let d;e[7]!==o?(d=i.jsx("div",{className:"menu-items",children:o}),e[7]=o,e[8]=d):d=e[8];let m;e[9]!==k||e[10]!==d?(m=i.jsx("nav",{className:k,id:"sidebar",children:d}),e[9]=k,e[10]=d,e[11]=m):m=e[11];const w=`toggle-btn${n?"-survey":""}`;let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=i.jsx("span",{children:"MENU"}),e[12]=g):g=e[12];let u;e[13]!==t||e[14]!==s?(u=i.jsxs("div",{className:"toggle-btn-wrapper",children:[g," ",t?i.jsx(S,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:s}):i.jsx(L,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:s})]}),e[13]=t,e[14]=s,e[15]=u):u=e[15];let h;e[16]!==w||e[17]!==u||e[18]!==s?(h=i.jsx("div",{className:w,onClick:s,children:u}),e[16]=w,e[17]=u,e[18]=s,e[19]=h):h=e[19];let b;return e[20]!==h||e[21]!==m?(b=i.jsxs("div",{className:"sidebar-wrapper",children:[m,h]}),e[20]=h,e[21]=m,e[22]=b):b=e[22],b};export{_ as L,C as S}; diff --git a/compendium_v2/static/SideBar-CkoMfgfL.js b/compendium_v2/static/SideBar-CkoMfgfL.js new file mode 100644 index 0000000000000000000000000000000000000000..cc62725bd772885cf691133066a01b6996db9eb1 --- /dev/null +++ b/compendium_v2/static/SideBar-CkoMfgfL.js @@ -0,0 +1 @@ +import{c as N,r as y,j as t,Y as S,Z as k}from"./index.js";const _=E=>{const e=N.c(23),{children:x,survey:m}=E,[s,b]=y.useState(!1);let d;e[0]!==s?(d=a=>{a.stopPropagation(),a.preventDefault(),b(!s)},e[0]=s,e[1]=d):d=e[1];const l=d;let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=a=>{a.target.closest("#sidebar")||a.target.closest(".toggle-btn")||b(!1)},e[2]=f):f=e[2];const j=f;let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=()=>(document.addEventListener("click",j),()=>{document.removeEventListener("click",j)}),e[3]=p):p=e[3],y.useEffect(p);let i;e[4]!==s||e[5]!==m?(i=[],s||i.push("no-sidebar"),m&&i.push("survey"),e[4]=s,e[5]=m,e[6]=i):i=e[6];const g=i.join(" ");let o;e[7]!==x?(o=t.jsx("div",{className:"menu-items",children:x}),e[7]=x,e[8]=o):o=e[8];let c;e[9]!==g||e[10]!==o?(c=t.jsx("nav",{className:g,id:"sidebar",children:o}),e[9]=g,e[10]=o,e[11]=c):c=e[11];const v=`toggle-btn${m?"-survey":""}`;let u;e[12]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx("span",{children:"MENU"}),e[12]=u):u=e[12];let n;e[13]!==s||e[14]!==l?(n=t.jsxs("div",{className:"toggle-btn-wrapper",children:[u," ",s?t.jsx(S,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l}):t.jsx(k,{style:{color:"white",paddingBottom:"3px",scale:"1.3"},onClick:l})]}),e[13]=s,e[14]=l,e[15]=n):n=e[15];let r;e[16]!==v||e[17]!==n||e[18]!==l?(r=t.jsx("div",{className:v,onClick:l,children:n}),e[16]=v,e[17]=n,e[18]=l,e[19]=r):r=e[19];let h;return e[20]!==r||e[21]!==c?(h=t.jsxs("div",{className:"sidebar-wrapper",children:[c,r]}),e[20]=r,e[21]=c,e[22]=h):h=e[22],h};export{_ as S}; diff --git a/compendium_v2/static/SiemVendors-Ba9ZMN9z.js b/compendium_v2/static/SiemVendors-Ba9ZMN9z.js new file mode 100644 index 0000000000000000000000000000000000000000..daf0e05bec1b67467d24b3bcc4b95bd67c24b9ad --- /dev/null +++ b/compendium_v2/static/SiemVendors-Ba9ZMN9z.js @@ -0,0 +1 @@ +import{c as Y,r as j,F as E,j as u,t as _,S as g}from"./index.js";import{u as k,g as C,D as F,F as D,f as P}from"./useData-Ct8E3VVL.js";import{P as R}from"./PillTable-Cnj0nnFy.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function $(){const e=Y.c(28),{filterSelection:t,setFilterSelection:n}=j.useContext(E),{data:x,years:N,nrens:S}=k("/api/siem-vendors",n);let s,c;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=x.filter(p),c=C(s,"vendor_names"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=c}else s=e[3],c=e[4];const b=c;let r;e[8]!==N?(r=[...N],e[8]=N,e[9]=r):r=e[9];let l;e[10]!==S?(l=S.values(),e[10]=S,e[11]=l):l=e[11];let a;e[12]!==l?(a=[...l],e[12]=l,e[13]=a):a=e[13];let i;e[14]!==r||e[15]!==a?(i={availableYears:r,availableNrens:a},e[14]=r,e[15]=a,e[16]=i):i=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==i?(d=u.jsx(D,{filterOptions:i,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[17]=t,e[18]=n,e[19]=i,e[20]=d):d=e[20];const h=d;let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=["Splunk","IBM Qradar","Exabeam","LogRythm","Securonix"],e[21]=m):m=e[21];const y=m;let o;e[22]!==b?(o=u.jsx(P,{children:u.jsx(R,{columns:y,dataLookup:b,circle:!0})}),e[22]=b,e[23]=o):o=e[23];let f;return e[24]!==h||e[25]!==s||e[26]!==o?(f=u.jsx(F,{title:_["siem-vendors"],description:"The table below shows the kinds of vendors of SIEM/SOC systems used by NRENs.",category:g.Network,filter:h,data:s,filename:"siem_vendor_nrens_per_year",children:o}),e[24]=h,e[25]=s,e[26]=o,e[27]=f):f=e[27],f}export{$ as default}; diff --git a/compendium_v2/static/SiemVendors-BpJ6Liws.js b/compendium_v2/static/SiemVendors-BpJ6Liws.js deleted file mode 100644 index 38645052c5a872d47f15dd74d9fa2158c0bb2fb0..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SiemVendors-BpJ6Liws.js +++ /dev/null @@ -1 +0,0 @@ -import{c as v,r as Y,F as j,j as u,S as C}from"./index.js";import{u as _,g,D as k,F,f as R}from"./useData-C0vA-Ut8.js";import{P as D}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function Q(){const e=v.c(28),{filterSelection:t,setFilterSelection:n}=Y.useContext(j),{data:x,years:N,nrens:S}=_("/api/siem-vendors",n);let s,c;if(e[0]!==x||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let p;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(p=h=>t.selectedYears.includes(h.year)&&t.selectedNrens.includes(h.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=p):p=e[7],s=x.filter(p),c=g(s,"vendor_names"),e[0]=x,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=c}else s=e[3],c=e[4];const b=c;let r;e[8]!==N?(r=[...N],e[8]=N,e[9]=r):r=e[9];let l;e[10]!==S?(l=S.values(),e[10]=S,e[11]=l):l=e[11];let a;e[12]!==l?(a=[...l],e[12]=l,e[13]=a):a=e[13];let o;e[14]!==r||e[15]!==a?(o={availableYears:r,availableNrens:a},e[14]=r,e[15]=a,e[16]=o):o=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==o?(d=u.jsx(F,{filterOptions:o,filterSelection:t,setFilterSelection:n,coloredYears:!0}),e[17]=t,e[18]=n,e[19]=o,e[20]=d):d=e[20];const y=d;let m;e[21]===Symbol.for("react.memo_cache_sentinel")?(m=["Splunk","IBM Qradar","Exabeam","LogRythm","Securonix"],e[21]=m):m=e[21];const E=m;let i;e[22]!==b?(i=u.jsx(R,{children:u.jsx(D,{columns:E,dataLookup:b,circle:!0})}),e[22]=b,e[23]=i):i=e[23];let f;return e[24]!==y||e[25]!==s||e[26]!==i?(f=u.jsx(k,{title:"Vendors of SIEM/SOC systems used by NRENs",description:"The table below shows the kinds of vendors of SIEM/SOC systems used by NRENs.",category:C.Network,filter:y,data:s,filename:"siem_vendor_nrens_per_year",children:i}),e[24]=y,e[25]=s,e[26]=i,e[27]=f):f=e[27],f}export{Q as default}; diff --git a/compendium_v2/static/StaffGraph-BWU39hrJ.js b/compendium_v2/static/StaffGraph-BWU39hrJ.js deleted file mode 100644 index 31598d0639694b869a12d8db2be712424225e51c..0000000000000000000000000000000000000000 --- a/compendium_v2/static/StaffGraph-BWU39hrJ.js +++ /dev/null @@ -1 +0,0 @@ -import{c as O,r as $,F as B,j as x,S as A}from"./index.js";import{B as M}from"./index-BJrPLJgf.js";import{C as g,a as P,L as q,B as W,p as G,c as V,d as z,u as H,l as J,D as K,F as Q}from"./useData-C0vA-Ut8.js";import{h as U,W as X}from"./HTMLLegendPlugin-B1D8JXQI.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";g.register(P,q,W,G,V,z);const Z={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(t){let e=t.dataset.label||"";return t.parsed.x!==null&&(e+=`: ${t.parsed.x}%`),e}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(t,e)=>`${e*10}%`}},x2:{ticks:{callback:t=>typeof t=="number"?`${t}%`:t},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const e=Object.keys(g.instances);let i=-999999,s=999999;for(const n of e)g.instances[n]&&t.chart.scales.x2&&(s=Math.min(g.instances[n].scales.x.min,s),i=Math.max(g.instances[n].scales.x.max,i));t.chart.scales.x2.options.min=s,t.chart.scales.x2.options.max=i,t.chart.scales.x2.min=s,t.chart.scales.x2.max=i}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function re(t){const e=O.c(39),{roles:i}=t,s=i===void 0?!1:i;let n;e[0]!==s?(n=function(r){return s&&r.technical_fte>0&&r.non_technical_fte>0||!s&&r.permanent_fte>0&&r.subcontracted_fte>0},e[0]=s,e[1]=n):n=e[1];const D=n,{filterSelection:a,setFilterSelection:y}=$.useContext(B),{data:k,years:S,nrens:T}=H("/api/staff",y,D);let l,N;if(e[2]!==k||e[3]!==a.selectedNrens||e[4]!==a.selectedYears||e[5]!==s){let u;e[8]!==a.selectedNrens||e[9]!==a.selectedYears?(u=r=>a.selectedYears.includes(r.year)&&a.selectedNrens.includes(r.nren),e[8]=a.selectedNrens,e[9]=a.selectedYears,e[10]=u):u=e[10],l=k.filter(u),N=J(l,s,a.selectedYears[0]),e[2]=k,e[3]=a.selectedNrens,e[4]=a.selectedYears,e[5]=s,e[6]=l,e[7]=N}else l=e[6],N=e[7];const w=N;let c;e[11]!==S?(c=[...S],e[11]=S,e[12]=c):c=e[12];let o;e[13]!==T?(o=T.values(),e[13]=T,e[14]=o):o=e[14];let f;e[15]!==o?(f=[...o],e[15]=o,e[16]=f):f=e[16];let d;e[17]!==c||e[18]!==f?(d={availableYears:c,availableNrens:f},e[17]=c,e[18]=f,e[19]=d):d=e[19];let b;e[20]!==a||e[21]!==y||e[22]!==d?(b=x.jsx(Q,{max1year:!0,filterOptions:d,filterSelection:a,setFilterSelection:y}),e[20]=a,e[21]=y,e[22]=d,e[23]=b):b=e[23];const R=b,Y=l.length,L=Math.max(Y*1.5,20),v=s?"Roles of NREN employees (Technical v. Non-Technical)":"Types of Employment within NRENs",F=s?"The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. The exact figures of how many FTEs are dedicated to these two different functional areas can be accessed by downloading the data in either CSV or Excel format":"The graph shows the percentage of NREN staff who are permanent, and those who are subcontracted. The structures and models of NRENs differ across the community, which is reflected in the types of employment offered. The NRENs are asked to provide the Full Time Equivalents (FTEs) rather absolute numbers of staff.",C=s?"roles_of_nren_employees":"types_of_employment_for_nrens",j=`${L}rem`;let h;e[24]!==j?(h={height:j},e[24]=j,e[25]=h):h=e[25];let E;e[26]===Symbol.for("react.memo_cache_sentinel")?(E=[U],e[26]=E):E=e[26];let m;e[27]!==w?(m=x.jsx(M,{data:w,options:Z,plugins:E}),e[27]=w,e[28]=m):m=e[28];let p;e[29]!==h||e[30]!==m?(p=x.jsx(X,{children:x.jsx("div",{className:"chart-container",style:h,children:m})}),e[29]=h,e[30]=m,e[31]=p):p=e[31];let _;return e[32]!==F||e[33]!==C||e[34]!==R||e[35]!==l||e[36]!==p||e[37]!==v?(_=x.jsx(K,{title:v,description:F,category:A.Organisation,filter:R,data:l,filename:C,children:p}),e[32]=F,e[33]=C,e[34]=R,e[35]=l,e[36]=p,e[37]=v,e[38]=_):_=e[38],_}export{re as default}; diff --git a/compendium_v2/static/StaffGraph-DXD4Tgbx.js b/compendium_v2/static/StaffGraph-DXD4Tgbx.js new file mode 100644 index 0000000000000000000000000000000000000000..48c0d229998573b6e835ffedaba36cbe36acb3c4 --- /dev/null +++ b/compendium_v2/static/StaffGraph-DXD4Tgbx.js @@ -0,0 +1,4 @@ +import{c as $,r as B,F as A,j as x,S as M,t as R}from"./index.js";import{B as P}from"./index-C4Nuqrw6.js";import{C as g,a as q,L as W,B as G,p as V,c as z,d as H,u as J,l as K,D as Q,F as U}from"./useData-Ct8E3VVL.js";import{h as X,W as Z}from"./HTMLLegendPlugin-sjJV-MGB.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";g.register(q,W,G,V,z,H);const I={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(t){let e=t.dataset.label||"";return t.parsed.x!==null&&(e+=`: ${t.parsed.x}%`),e}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(t,e)=>`${e*10}%`}},x2:{ticks:{callback:t=>typeof t=="number"?`${t}%`:t},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const e=Object.keys(g.instances);let r=-999999,s=999999;for(const n of e)g.instances[n]&&t.chart.scales.x2&&(s=Math.min(g.instances[n].scales.x.min,s),r=Math.max(g.instances[n].scales.x.max,r));t.chart.scales.x2.options.min=s,t.chart.scales.x2.options.max=r,t.chart.scales.x2.min=s,t.chart.scales.x2.max=r}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ce(t){const e=$.c(39),{roles:r}=t,s=r===void 0?!1:r;let n;e[0]!==s?(n=function(i){return s&&i.technical_fte>0&&i.non_technical_fte>0||!s&&i.permanent_fte>0&&i.subcontracted_fte>0},e[0]=s,e[1]=n):n=e[1];const Y=n,{filterSelection:a,setFilterSelection:y}=B.useContext(A),{data:k,years:S,nrens:w}=J("/api/staff",y,Y);let l,b;if(e[2]!==k||e[3]!==a.selectedNrens||e[4]!==a.selectedYears||e[5]!==s){let u;e[8]!==a.selectedNrens||e[9]!==a.selectedYears?(u=i=>a.selectedYears.includes(i.year)&&a.selectedNrens.includes(i.nren),e[8]=a.selectedNrens,e[9]=a.selectedYears,e[10]=u):u=e[10],l=k.filter(u),b=K(l,s,a.selectedYears[0]),e[2]=k,e[3]=a.selectedNrens,e[4]=a.selectedYears,e[5]=s,e[6]=l,e[7]=b}else l=e[6],b=e[7];const F=b;let c;e[11]!==S?(c=[...S],e[11]=S,e[12]=c):c=e[12];let o;e[13]!==w?(o=w.values(),e[13]=w,e[14]=o):o=e[14];let f;e[15]!==o?(f=[...o],e[15]=o,e[16]=f):f=e[16];let d;e[17]!==c||e[18]!==f?(d={availableYears:c,availableNrens:f},e[17]=c,e[18]=f,e[19]=d):d=e[19];let N;e[20]!==a||e[21]!==y||e[22]!==d?(N=x.jsx(U,{max1year:!0,filterOptions:d,filterSelection:a,setFilterSelection:y}),e[20]=a,e[21]=y,e[22]=d,e[23]=N):N=e[23];const T=N,L=l.length,O=Math.max(L*1.5,20),v=s?R.roles:R.employment,C=s?`The graph shows division of staff FTEs (Full Time Equivalents) between technical and non-techical role per NREN. + The exact figures of how many FTEs are dedicated to these two different functional areas can be accessed by downloading the data in either CSV or Excel format`:`The graph shows the percentage of NREN staff who are permanent, and those who are subcontracted. + The structures and models of NRENs differ across the community, which is reflected in the types of employment offered. + The NRENs are asked to provide the Full Time Equivalents (FTEs) rather absolute numbers of staff.`,j=s?"roles_of_nren_employees":"types_of_employment_for_nrens",D=`${O}rem`;let m;e[24]!==D?(m={height:D},e[24]=D,e[25]=m):m=e[25];let _;e[26]===Symbol.for("react.memo_cache_sentinel")?(_=[X],e[26]=_):_=e[26];let h;e[27]!==F?(h=x.jsx(P,{data:F,options:I,plugins:_}),e[27]=F,e[28]=h):h=e[28];let p;e[29]!==m||e[30]!==h?(p=x.jsx(Z,{children:x.jsx("div",{className:"chart-container",style:m,children:h})}),e[29]=m,e[30]=h,e[31]=p):p=e[31];let E;return e[32]!==C||e[33]!==j||e[34]!==T||e[35]!==l||e[36]!==p||e[37]!==v?(E=x.jsx(Q,{title:v,description:C,category:M.Organisation,filter:T,data:l,filename:j,children:p}),e[32]=C,e[33]=j,e[34]=T,e[35]=l,e[36]=p,e[37]=v,e[38]=E):E=e[38],E}export{ce as default}; diff --git a/compendium_v2/static/StaffGraphAbsolute-A86Vah2E.js b/compendium_v2/static/StaffGraphAbsolute-A86Vah2E.js new file mode 100644 index 0000000000000000000000000000000000000000..af2a80312b16173cc549fe485fe804a5f58a408e --- /dev/null +++ b/compendium_v2/static/StaffGraphAbsolute-A86Vah2E.js @@ -0,0 +1 @@ +import{c as D,r as Y,F as B,j as d,S as T,t as P}from"./index.js";import{B as A}from"./index-C4Nuqrw6.js";import{C as O,a as q,L,B as $,p as k,c as G,d as M,u as W,m as z,D as H,F as I,f as J}from"./useData-Ct8E3VVL.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BI98Iz1j.js";import{a as Q}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";O.register(q,L,$,k,G,M);function re(){const e=D.c(38),{filterSelection:t,setFilterSelection:a}=Y.useContext(B),{data:b,years:p,nrens:u}=W("/api/staff",a);let i,n,s,g;if(e[0]!==b||e[1]!==t||e[2]!==u||e[3]!==a||e[4]!==p){let E;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(E=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=E):E=e[11],s=b.filter(E),n=z(s,t.selectedYears);let c;e[12]!==p?(c=[...p],e[12]=p,e[13]=c):c=e[13];let f;e[14]!==u?(f=u.values(),e[14]=u,e[15]=f):f=e[15];let m;e[16]!==f?(m=[...f],e[16]=f,e[17]=m):m=e[17];let h;e[18]!==c||e[19]!==m?(h={availableYears:c,availableNrens:m},e[18]=c,e[19]=m,e[20]=h):h=e[20];let S;e[21]!==t||e[22]!==a||e[23]!==h?(S=d.jsx(I,{filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=S):S=e[24],i=S,g=Array.from(new Set(s.map(U))),e[0]=b,e[1]=t,e[2]=u,e[3]=a,e[4]=p,e[5]=i,e[6]=n,e[7]=s,e[8]=g}else i=e[5],n=e[6],s=e[7],g=e[8];const R=g.length,w=Math.max(R*t.selectedYears.length*1.5+5,50),C=P["employee-count"],F='The graph shows the total number of employees (in FTEs) at each NREN. When filling in the survey, NRENs are asked about the number of staff engaged (whether permanent or subcontracted) in NREN activities. Please note that diversity within the NREN community means that there is not one single definition of what constitutes "NREN activities". Therefore due to differences in how their organisations are arranged, and the relationship, in some cases, with parent organisations, there can be inconsistencies in how NRENs approach this question.';let N;e[25]===Symbol.for("react.memo_cache_sentinel")?(N=Q({tooltipPrefix:"FTEs",title:"Full-Time Equivalents"}),e[25]=N):N=e[25];const j=N,_=`${w}rem`;let r;e[26]!==_?(r={height:_},e[26]=_,e[27]=r):r=e[27];let x;e[28]===Symbol.for("react.memo_cache_sentinel")?(x=[K],e[28]=x):x=e[28];let l;e[29]!==n?(l=d.jsx(A,{data:n,options:j,plugins:x}),e[29]=n,e[30]=l):l=e[30];let o;e[31]!==r||e[32]!==l?(o=d.jsx(J,{children:d.jsx("div",{className:"chart-container",style:r,children:l})}),e[31]=r,e[32]=l,e[33]=o):o=e[33];let y;return e[34]!==i||e[35]!==s||e[36]!==o?(y=d.jsx(H,{title:C,description:F,category:T.Organisation,filter:i,data:s,filename:"number_of_nren_employees",children:o}),e[34]=i,e[35]=s,e[36]=o,e[37]=y):y=e[37],y}function U(e){return e.nren}export{re as default}; diff --git a/compendium_v2/static/StaffGraphAbsolute-CMxNAPzl.js b/compendium_v2/static/StaffGraphAbsolute-CMxNAPzl.js deleted file mode 100644 index 08c453f972ded47a2377c7d4f60f564f493bee5b..0000000000000000000000000000000000000000 --- a/compendium_v2/static/StaffGraphAbsolute-CMxNAPzl.js +++ /dev/null @@ -1 +0,0 @@ -import{c as j,r as D,F as Y,j as d,S as B}from"./index.js";import{B as T}from"./index-BJrPLJgf.js";import{C as P,a as A,L as O,B as q,p as L,c as $,d as k,u as G,m as M,D as W,F as z,f as H}from"./useData-C0vA-Ut8.js";import{p as I}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as J}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";P.register(A,O,q,L,$,k);function ie(){const e=j.c(38),{filterSelection:t,setFilterSelection:a}=D.useContext(Y),{data:S,years:p,nrens:u}=G("/api/staff",a);let i,n,s,g;if(e[0]!==S||e[1]!==t||e[2]!==u||e[3]!==a||e[4]!==p){let y;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(y=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=y):y=e[11],s=S.filter(y),n=M(s,t.selectedYears);let c;e[12]!==p?(c=[...p],e[12]=p,e[13]=c):c=e[13];let f;e[14]!==u?(f=u.values(),e[14]=u,e[15]=f):f=e[15];let m;e[16]!==f?(m=[...f],e[16]=f,e[17]=m):m=e[17];let h;e[18]!==c||e[19]!==m?(h={availableYears:c,availableNrens:m},e[18]=c,e[19]=m,e[20]=h):h=e[20];let b;e[21]!==t||e[22]!==a||e[23]!==h?(b=d.jsx(z,{filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=b):b=e[24],i=b,g=Array.from(new Set(s.map(K))),e[0]=S,e[1]=t,e[2]=u,e[3]=a,e[4]=p,e[5]=i,e[6]=n,e[7]=s,e[8]=g}else i=e[5],n=e[6],s=e[7],g=e[8];const v=g.length,w=Math.max(v*t.selectedYears.length*1.5+5,50),C='The graph shows the total number of employees (in FTEs) at each NREN. When filling in the survey, NRENs are asked about the number of staff engaged (whether permanent or subcontracted) in NREN activities. Please note that diversity within the NREN community means that there is not one single definition of what constitutes "NREN activities". Therefore due to differences in how their organisations are arranged, and the relationship, in some cases, with parent organisations, there can be inconsistencies in how NRENs approach this question.';let N;e[25]===Symbol.for("react.memo_cache_sentinel")?(N=J({tooltipPrefix:"FTEs",title:"Full-Time Equivalents"}),e[25]=N):N=e[25];const F=N,R=`${w}rem`;let r;e[26]!==R?(r={height:R},e[26]=R,e[27]=r):r=e[27];let E;e[28]===Symbol.for("react.memo_cache_sentinel")?(E=[I],e[28]=E):E=e[28];let l;e[29]!==n?(l=d.jsx(T,{data:n,options:F,plugins:E}),e[29]=n,e[30]=l):l=e[30];let o;e[31]!==r||e[32]!==l?(o=d.jsx(H,{children:d.jsx("div",{className:"chart-container",style:r,children:l})}),e[31]=r,e[32]=l,e[33]=o):o=e[33];let x;return e[34]!==i||e[35]!==s||e[36]!==o?(x=d.jsx(W,{title:"Number of NREN Employees",description:C,category:B.Organisation,filter:i,data:s,filename:"number_of_nren_employees",children:o}),e[34]=i,e[35]=s,e[36]=o,e[37]=x):x=e[37],x}function K(e){return e.nren}export{ie as default}; diff --git a/compendium_v2/static/SubOrganisation-BBUAiix9.js b/compendium_v2/static/SubOrganisation-BBUAiix9.js deleted file mode 100644 index f5766f29de8c51e7ccde7472d16920b0c18c707a..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SubOrganisation-BBUAiix9.js +++ /dev/null @@ -1 +0,0 @@ -import{c as S,r as Y,F as y,j as p,S as C}from"./index.js";import{u as j,h as v,i as E,D as F,F as R,f as O}from"./useData-C0vA-Ut8.js";import{N as T}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function q(){const e=S.c(27),{filterSelection:t,setFilterSelection:s}=Y.useContext(y),{data:r,years:g,nrens:N}=j("/api/sub-organizations",s);let a,d;if(e[0]!==r||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],a=r.filter(u);const D=v(a);d=E(D,P),e[0]=r,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=d}else a=e[3],d=e[4];const h=d;let n;e[8]!==g?(n=[...g],e[8]=g,e[9]=n):n=e[9];let o;e[10]!==N?(o=N.values(),e[10]=N,e[11]=o):o=e[11];let i;e[12]!==o?(i=[...o],e[12]=o,e[13]=i):i=e[13];let l;e[14]!==n||e[15]!==i?(l={availableYears:n,availableNrens:i},e[14]=n,e[15]=i,e[16]=l):l=e[16];let f;e[17]!==t||e[18]!==s||e[19]!==l?(f=p.jsx(R,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=f):f=e[20];const x=f;let c;e[21]!==h?(c=p.jsx(O,{children:p.jsx(T,{data:h,columnTitle:"Suborganisation and Role",dottedBorder:!0})}),e[21]=h,e[22]=c):c=e[22];let m;return e[23]!==x||e[24]!==a||e[25]!==c?(m=p.jsx(F,{title:"NREN Sub-Organisations",description:"NRENs are asked whether they have any sub-organisations, and to give the name and role of these organisations. These organisations can include HPC centres or IDC federations, amongst many others.",category:C.Organisation,filter:x,data:a,filename:"nren_suborganisations",children:c}),e[23]=x,e[24]=a,e[25]=c,e[26]=m):m=e[26],m}function P(e,t){for(const s of t.sort($)){const r=`${s.name} (${s.role})`;e[r]=r}}function $(e,t){return e.name.localeCompare(t.name)}export{q as default}; diff --git a/compendium_v2/static/SubOrganisation-ldENjIwX.js b/compendium_v2/static/SubOrganisation-ldENjIwX.js new file mode 100644 index 0000000000000000000000000000000000000000..429f596e54b04cf7319b8cb15a6989d4d8dd06ba --- /dev/null +++ b/compendium_v2/static/SubOrganisation-ldENjIwX.js @@ -0,0 +1 @@ +import{c as Y,r as y,F as C,j as p,t as S,S as j}from"./index.js";import{u as v,h as F,i as E,D as R,F as T,f as O}from"./useData-Ct8E3VVL.js";import{N as P}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function A(){const e=Y.c(27),{filterSelection:t,setFilterSelection:s}=y.useContext(C),{data:r,years:g,nrens:h}=v("/api/sub-organizations",s);let a,d;if(e[0]!==r||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=b=>t.selectedYears.includes(b.year)&&t.selectedNrens.includes(b.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],a=r.filter(u);const D=F(a);d=E(D,$),e[0]=r,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=d}else a=e[3],d=e[4];const x=d;let n;e[8]!==g?(n=[...g],e[8]=g,e[9]=n):n=e[9];let o;e[10]!==h?(o=h.values(),e[10]=h,e[11]=o):o=e[11];let i;e[12]!==o?(i=[...o],e[12]=o,e[13]=i):i=e[13];let l;e[14]!==n||e[15]!==i?(l={availableYears:n,availableNrens:i},e[14]=n,e[15]=i,e[16]=l):l=e[16];let f;e[17]!==t||e[18]!==s||e[19]!==l?(f=p.jsx(T,{filterOptions:l,filterSelection:t,setFilterSelection:s}),e[17]=t,e[18]=s,e[19]=l,e[20]=f):f=e[20];const N=f;let c;e[21]!==x?(c=p.jsx(O,{children:p.jsx(P,{data:x,columnTitle:"Suborganisation and Role",dottedBorder:!0})}),e[21]=x,e[22]=c):c=e[22];let m;return e[23]!==N||e[24]!==a||e[25]!==c?(m=p.jsx(R,{title:S.suborganisations,description:"NRENs are asked whether they have any sub-organisations, and to give the name and role of these organisations. These organisations can include HPC centres or IDC federations, amongst many others.",category:j.Organisation,filter:N,data:a,filename:"nren_suborganisations",children:c}),e[23]=N,e[24]=a,e[25]=c,e[26]=m):m=e[26],m}function $(e,t){for(const s of t.sort(k)){const r=`${s.name} (${s.role})`;e[r]=r}}function k(e,t){return e.name.localeCompare(t.name)}export{A as default}; diff --git a/compendium_v2/static/SurveyContainerComponent-D2pyP2dn.js b/compendium_v2/static/SurveyContainerComponent-BmuW9EVe.js similarity index 99% rename from compendium_v2/static/SurveyContainerComponent-D2pyP2dn.js rename to compendium_v2/static/SurveyContainerComponent-BmuW9EVe.js index 5d5ad65e1f68a28a4538e5b2bc166707e0bcf241..9fe4326d5ef804e557a2e433d66050b483d56bd6 100644 --- a/compendium_v2/static/SurveyContainerComponent-D2pyP2dn.js +++ b/compendium_v2/static/SurveyContainerComponent-BmuW9EVe.js @@ -1,4 +1,4 @@ -import{X as uo,Y as lo,c as Re,r as F,j as L,C as co,D as ot,R as fe,W as Bn,Z as po,$ as ho,H as fo}from"./index.js";import{D as mo,k as A}from"./index-BGZcCZJE.js";import{r as vo,a as ue}from"./survey.core-D1mOb2z9.js";import{V as we,v as yo,o as go}from"./validation-COFmylEH.js";import{S as Co}from"./SurveySidebar-NbXpjOVQ.js";import"./SideBar-Bzc5cONd.js";var be={exports:{}};/*! +import{a3 as uo,a4 as lo,c as Re,r as F,j as L,C as co,E as ot,R as fe,a1 as Bn,a5 as po,a6 as ho,Q as fo}from"./index.js";import{D as mo,k as A}from"./index-BGZcCZJE.js";import{r as vo,a as ue}from"./survey.core-D1mOb2z9.js";import{V as we,v as yo,o as go}from"./validation-COFmylEH.js";import{S as Co}from"./SurveySidebar-CG0gwQ6b.js";import"./SideBar-CkoMfgfL.js";var be={exports:{}};/*! * surveyjs - Survey JavaScript library v1.12.23 * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) diff --git a/compendium_v2/static/SurveyManagementComponent-BvOZUwZZ.js b/compendium_v2/static/SurveyManagementComponent-BvOZUwZZ.js new file mode 100644 index 0000000000000000000000000000000000000000..9ded45b6144151cf031d4cc555de2064b4e5d78f --- /dev/null +++ b/compendium_v2/static/SurveyManagementComponent-BvOZUwZZ.js @@ -0,0 +1 @@ +import{r as _,h as H,j as t,i as K,$ as z,c as q,a7 as J,y as v,L as A,E as V,R as X}from"./index.js";import{A as $,l as Y}from"./lodash-CeHp3pZo.js";import{T as Z}from"./Table-ClWM2_rS.js";import{k as b,D as ee}from"./index-BGZcCZJE.js";import{v as te,o as se,S as y}from"./validation-COFmylEH.js";import{a as D}from"./survey-3meXCY6T.js";import{S as ne}from"./SurveySidebar-CG0gwQ6b.js";import"./hook-GVc5uk5F.js";import"./SideBar-CkoMfgfL.js";const U=_.forwardRef(({bsPrefix:e,variant:i,animation:r="border",size:n,as:a="div",className:d,...h},m)=>{e=H(e,"spinner");const u=`${e}-${r}`;return t.jsx(a,{ref:m,...h,className:K(d,u,n&&`${u}-${n}`,i&&`text-${i}`)})});U.displayName="Spinner";function re(e){return z({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"},child:[]},{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]}]})(e)}function ie(e){return z({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"},child:[]}]})(e)}function ae(e){return z({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M331.3 308.7L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-15.6-7.1-22.6 0-7.1 7.1-6 16.6 0 22.6l52.7 52.7-52.7 52.7c-6.7 6.7-6.4 16.3 0 22.6 6.4 6.4 16.4 6.2 22.6 0l52.7-52.7 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0 6.3-6.2 6.3-16.4 0-22.6z"},child:[]},{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]}]})(e)}function oe(e){return z({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"},child:[]}]})(e)}function le(e){const i=q.c(2),{status:r}=e;let n;return i[0]!==r?(n={completed:t.jsx(ie,{title:r,size:24,color:"green"}),started:t.jsx(re,{title:r,size:24,color:"rgb(217, 117, 10)"}),"did not respond":t.jsx(oe,{title:r,size:24,color:"red"}),"not started":t.jsx(ae,{title:r,size:24})},i[0]=r,i[1]=n):n=i[1],n[r]||r}async function ce(e,i){const{Model:r,FunctionFactory:n,Serializer:a}=await J(async()=>{const{Model:x,FunctionFactory:f,Serializer:g}=await import("./survey.core-D1mOb2z9.js").then(M=>M.s);return{Model:x,FunctionFactory:f,Serializer:g}},[]);function d(){const x=a.getAllPropertiesByName("customDescription"),f=a.getAllPropertiesByName("hideCheckboxLabels");x.length||a.addProperty("itemvalue","customDescription:text"),f.length||a.addProperty("question","hideCheckboxLabels:boolean")}if(n.Instance.hasFunction("validateQuestion")||n.Instance.register("validateQuestion",te),n.Instance.hasFunction("validateWebsiteUrl")||n.Instance.register("validateWebsiteUrl",se),!e||!i)return!0;const h=`/api/response/load/${e}/${i}`,m=await fetch(h),u=await m.json();if(!m.ok)throw"message"in u?new Error(u.message):new Error(`Request failed with status ${m.status}`);d();const l=new r(u.model);l.setVariable("surveyyear",e),l.setVariable("previousyear",parseInt(e)-1),l.showNavigationButtons=!1,l.requiredText="",l.data=u.data,l.clearIncorrectValues(!0);const B=l.validate.bind(l,!0,!0)();return console.log(l),B}function de(e,i,r){fetch("/api/survey/"+e+"/"+i+"/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({notes:r||""})}).then(async n=>{const a=await n.json();n.ok?b.success("Notes saved"):b.error("Failed saving notes: "+a.message||n.statusText)}).catch(n=>{b.error("Failed saving notes: "+n)})}function C({text:e,helpText:i,onClick:r,enabled:n}){const[a,d]=_.useState(!1),h=async()=>{if(!a){d(!0);try{await r()}finally{d(!1)}}};return t.jsxs(v,{onClick:h,disabled:!n,style:{pointerEvents:"auto",marginLeft:".5rem"},title:i,children:[a&&t.jsx(U,{as:"span",animation:"border",size:"sm",role:"status","aria-hidden":"true"}),e]})}function we(){const e=q.c(21);let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[0]=i):i=e[0];const[r,n]=_.useState(i),a=_.useRef(!1);let d,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{D().then(p=>{n(p)})},h=[],e[1]=d,e[2]=h):(d=e[1],h=e[2]),_.useEffect(d,h);let m;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=async function(s,c,o,k){const W=k===void 0?!1:k;try{W&&(s=s+"?dry_run=1");const R=await fetch(s,{method:"POST"}),T=await R.json();R.ok?(T.message&&console.log(T.message),W||b(o),D().then(G=>{n(G)})):b(c+T.message)}catch(R){b(c+R.message)}},e[3]=m):m=e[3];const u=m;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=async function(){await u("/api/survey/new","Failed creating new survey: ","Created new survey")},e[4]=l):l=e[4];const B=l;let x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=async function(s,c,o){const k=o===void 0?!1:o;if(a.current){b("Wait for status update to be finished...");return}a.current=!0,await u("/api/survey/"+c+"/"+s,"Error while updating "+s+" survey status to "+c+": ",s+" survey status updated to "+c,k),a.current=!1},e[5]=x):x=e[5];const f=x;let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=async function(s,c){await u("/api/response/unlock/"+s+"/"+c,"Error while unlocking "+c+" "+s+" survey response: ",c+" "+s+" survey response unlocked")},e[6]=g):g=e[6];const M=g,Q=r.length>0&&r.every(ue),F=window.location.origin+"/data?preview";let I;e[7]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx(ne,{}),e[7]=I):I=e[7];let L;e[8]===Symbol.for("react.memo_cache_sentinel")?(L={maxWidth:"100rem"},e[8]=L):L=e[8];let E;e[9]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(ee,{}),e[9]=E):E=e[9];const O=!Q;let N;e[10]===Symbol.for("react.memo_cache_sentinel")?(N={pointerEvents:"auto",width:"10rem",margin:"1rem"},e[10]=N):N=e[10];let w;e[11]!==O?(w=t.jsx(v,{onClick:B,disabled:O,style:N,title:"Create a new survey for the next year. Only possible if all current surveys are published.",children:"start new survey"}),e[11]=O,e[12]=w):w=e[12];let j;if(e[13]!==r){let p;e[15]===Symbol.for("react.memo_cache_sentinel")?(p=(s,c)=>t.jsxs($.Item,{eventKey:c.toString(),children:[t.jsxs($.Header,{children:[s.year," - ",s.status]}),t.jsxs($.Body,{children:[t.jsxs("div",{style:{marginLeft:".5rem",marginBottom:"1rem"},children:[t.jsx(A,{to:`/survey/admin/edit/${s.year}`,target:"_blank",children:t.jsx(v,{style:{marginLeft:".5rem"},title:"Open the survey for inspection with all questions visible and any visibleIf logic added to the title.",children:"Inspect Survey"})}),t.jsx(A,{to:`/survey/admin/try/${s.year}`,target:"_blank",children:t.jsx(v,{style:{marginLeft:".5rem"},title:"Open the survey exactly as the nrens will see it, but without any nren data.",children:"Try Survey"})}),t.jsx(C,{text:"Mark as open",helpText:"Allow the NRENs to respond to this survey. Only 1 survey may be open at a time, and (pre)-published surveys cannot be opened anymore.",enabled:s.status==y.closed,onClick:()=>f(s.year,"open")}),t.jsx(C,{text:"Mark as closed",helpText:"Do not allow the NRENs to respond to this survey anymore. Only surveys with status open can be closed.",enabled:s.status==y.open,onClick:()=>f(s.year,"close")}),t.jsx(C,{text:"Preview results",helpText:"Publish all completed survey responses to the compendium website for preview by admins. This is only possible if the survey is closed or previewed already.",enabled:s.status==y.closed||s.status==y.preview,onClick:()=>f(s.year,"preview")}),t.jsx(C,{text:"Publish results (dry run)",helpText:"Performs a dry-run of the publish operation, without actually publishing the results. Changes are logged in the browser console (F12).",enabled:s.status==y.preview||s.status==y.published,onClick:()=>f(s.year,"publish",!0)}),t.jsx(C,{text:"Publish results",helpText:"Publish or re-publish all completed survey responses to the compendium website. This is only possible if the survey is in preview or published already.",enabled:s.status==y.preview||s.status==y.published,onClick:()=>f(s.year,"publish")}),s.status==y.preview&&t.jsxs("span",{children:[" Preview link: ",t.jsx("a",{href:F,children:F})]})]}),t.jsxs(Z,{children:[t.jsxs("colgroup",{children:[t.jsx("col",{style:{width:"10%"}}),t.jsx("col",{style:{width:"20%"}}),t.jsx("col",{style:{width:"20%"}}),t.jsx("col",{style:{width:"30%"}}),t.jsx("col",{style:{width:"20%"}})]}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"NREN"}),t.jsx("th",{children:"Status"}),t.jsx("th",{children:"Lock"}),t.jsx("th",{children:"Management Notes"}),t.jsx("th",{children:"Actions"})]})}),t.jsx("tbody",{children:s.responses.map(o=>t.jsxs("tr",{children:[t.jsx("td",{children:o.nren.name}),t.jsx("td",{children:t.jsx(le,{status:o.status})}),t.jsx("td",{style:{textWrap:"wrap",wordWrap:"break-word",maxWidth:"10rem"},children:o.lock_description}),t.jsx("td",{children:"notes"in o&&t.jsx("textarea",{onInput:Y.debounce(k=>de(s.year,o.nren.id,k.target.value),1e3),style:{minWidth:"100%",minHeight:"5rem"},placeholder:"Notes for this survey",defaultValue:o.notes||""})}),t.jsxs("td",{children:[t.jsx(A,{to:`/survey/response/${s.year}/${o.nren.name}`,target:"_blank",children:t.jsx(v,{style:{pointerEvents:"auto",margin:".5rem"},title:"Open the responses of the NREN.",children:"open"})}),t.jsx(v,{onClick:()=>M(s.year,o.nren.name),disabled:o.lock_description=="",style:{pointerEvents:"auto"},title:"Remove the lock from the survey so that another person can open the survey for editing. WARNING: The person that currently has the lock will not be able to save their changes anymore once someone else starts editing!",children:"remove lock"}),t.jsx(v,{onClick:()=>ce(s.year,o.nren.name).then(console.log),style:{pointerEvents:"auto"},children:"Validate Survey"})]})]},o.nren.id))})]})]})]},s.year),e[15]=p):p=e[15],j=r.map(p),e[13]=r,e[14]=j}else j=e[14];let S;e[16]!==j?(S=t.jsx($,{defaultActiveKey:"0",children:j}),e[16]=j,e[17]=S):S=e[17];let P;return e[18]!==w||e[19]!==S?(P=t.jsxs(t.Fragment,{children:[I,t.jsx(V,{className:"py-5 grey-container",children:t.jsx(V,{style:L,children:t.jsxs(X,{children:[E,w,S]})})})]}),e[18]=w,e[19]=S,e[20]=P):P=e[20],P}function ue(e){return e.status==y.published}export{we as default}; diff --git a/compendium_v2/static/SurveyManagementComponent-CNBvtq4g.js b/compendium_v2/static/SurveyManagementComponent-CNBvtq4g.js deleted file mode 100644 index 19c7e0e3ee6260347ea9704f81cdf0234d6cc404..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SurveyManagementComponent-CNBvtq4g.js +++ /dev/null @@ -1 +0,0 @@ -import{r as _,h as H,j as t,i as K,T as B,c as q,a0 as J,x as v,L as A,D,R as X}from"./index.js";import{A as z,l as Y}from"./lodash-UnagJnTM.js";import{T as Z}from"./Table-ClWM2_rS.js";import{k as b,D as ee}from"./index-BGZcCZJE.js";import{v as te,o as se,S as y}from"./validation-COFmylEH.js";import{a as V}from"./survey-3meXCY6T.js";import{S as ne}from"./SurveySidebar-NbXpjOVQ.js";import"./hook-GVc5uk5F.js";import"./SideBar-Bzc5cONd.js";const U=_.forwardRef(({bsPrefix:e,variant:i,animation:r="border",size:n,as:a="div",className:d,...h},m)=>{e=H(e,"spinner");const u=`${e}-${r}`;return t.jsx(a,{ref:m,...h,className:K(d,u,n&&`${u}-${n}`,i&&`text-${i}`)})});U.displayName="Spinner";function re(e){return B({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M362.6 192.9L345 174.8c-.7-.8-1.8-1.2-2.8-1.2-1.1 0-2.1.4-2.8 1.2l-122 122.9-44.4-44.4c-.8-.8-1.8-1.2-2.8-1.2-1 0-2 .4-2.8 1.2l-17.8 17.8c-1.6 1.6-1.6 4.1 0 5.7l56 56c3.6 3.6 8 5.7 11.7 5.7 5.3 0 9.9-3.9 11.6-5.5h.1l133.7-134.4c1.4-1.7 1.4-4.2-.1-5.7z"},child:[]},{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]}]})(e)}function ie(e){return B({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm106.5 150.5L228.8 332.8h-.1c-1.7 1.7-6.3 5.5-11.6 5.5-3.8 0-8.1-2.1-11.7-5.7l-56-56c-1.6-1.6-1.6-4.1 0-5.7l17.8-17.8c.8-.8 1.8-1.2 2.8-1.2 1 0 2 .4 2.8 1.2l44.4 44.4 122-122.9c.8-.8 1.8-1.2 2.8-1.2 1.1 0 2.1.4 2.8 1.2l17.5 18.1c1.8 1.7 1.8 4.2.2 5.8z"},child:[]}]})(e)}function ae(e){return B({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M331.3 308.7L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-15.6-7.1-22.6 0-7.1 7.1-6 16.6 0 22.6l52.7 52.7-52.7 52.7c-6.7 6.7-6.4 16.3 0 22.6 6.4 6.4 16.4 6.2 22.6 0l52.7-52.7 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0 6.3-6.2 6.3-16.4 0-22.6z"},child:[]},{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]}]})(e)}function oe(e){return B({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48zm52.7 283.3L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3l52.7-52.7-52.7-52.7c-3.1-3.1-4.7-7.2-4.7-11.3 0-4.1 1.6-8.2 4.7-11.3 6.2-6.2 16.4-6.2 22.6 0l52.7 52.7 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6-6.2 6.3-16.4 6.3-22.6 0z"},child:[]}]})(e)}function le(e){const i=q.c(2),{status:r}=e;let n;return i[0]!==r?(n={completed:t.jsx(ie,{title:r,size:24,color:"green"}),started:t.jsx(re,{title:r,size:24,color:"rgb(217, 117, 10)"}),"did not respond":t.jsx(oe,{title:r,size:24,color:"red"}),"not started":t.jsx(ae,{title:r,size:24})},i[0]=r,i[1]=n):n=i[1],n[r]||r}async function ce(e,i){const{Model:r,FunctionFactory:n,Serializer:a}=await J(async()=>{const{Model:x,FunctionFactory:f,Serializer:g}=await import("./survey.core-D1mOb2z9.js").then(M=>M.s);return{Model:x,FunctionFactory:f,Serializer:g}},[]);function d(){const x=a.getAllPropertiesByName("customDescription"),f=a.getAllPropertiesByName("hideCheckboxLabels");x.length||a.addProperty("itemvalue","customDescription:text"),f.length||a.addProperty("question","hideCheckboxLabels:boolean")}if(n.Instance.hasFunction("validateQuestion")||n.Instance.register("validateQuestion",te),n.Instance.hasFunction("validateWebsiteUrl")||n.Instance.register("validateWebsiteUrl",se),!e||!i)return!0;const h=`/api/response/load/${e}/${i}`,m=await fetch(h),u=await m.json();if(!m.ok)throw"message"in u?new Error(u.message):new Error(`Request failed with status ${m.status}`);d();const l=new r(u.model);l.setVariable("surveyyear",e),l.setVariable("previousyear",parseInt(e)-1),l.showNavigationButtons=!1,l.requiredText="",l.data=u.data,l.clearIncorrectValues(!0);const $=l.validate.bind(l,!0,!0)();return console.log(l),$}function de(e,i,r){fetch("/api/survey/"+e+"/"+i+"/notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({notes:r||""})}).then(async n=>{const a=await n.json();n.ok?b.success("Notes saved"):b.error("Failed saving notes: "+a.message||n.statusText)}).catch(n=>{b.error("Failed saving notes: "+n)})}function C({text:e,helpText:i,onClick:r,enabled:n}){const[a,d]=_.useState(!1),h=async()=>{if(!a){d(!0);try{await r()}finally{d(!1)}}};return t.jsxs(v,{onClick:h,disabled:!n,style:{pointerEvents:"auto",marginLeft:".5rem"},title:i,children:[a&&t.jsx(U,{as:"span",animation:"border",size:"sm",role:"status","aria-hidden":"true"}),e]})}function we(){const e=q.c(21);let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[0]=i):i=e[0];const[r,n]=_.useState(i),a=_.useRef(!1);let d,h;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{V().then(p=>{n(p)})},h=[],e[1]=d,e[2]=h):(d=e[1],h=e[2]),_.useEffect(d,h);let m;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=async function(s,c,o,k){const W=k===void 0?!1:k;try{W&&(s=s+"?dry_run=1");const T=await fetch(s,{method:"POST"}),R=await T.json();T.ok?(R.message&&console.log(R.message),W||b(o),V().then(G=>{n(G)})):b(c+R.message)}catch(T){b(c+T.message)}},e[3]=m):m=e[3];const u=m;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=async function(){await u("/api/survey/new","Failed creating new survey: ","Created new survey")},e[4]=l):l=e[4];const $=l;let x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=async function(s,c,o){const k=o===void 0?!1:o;if(a.current){b("Wait for status update to be finished...");return}a.current=!0,await u("/api/survey/"+c+"/"+s,"Error while updating "+s+" survey status to "+c+": ",s+" survey status updated to "+c,k),a.current=!1},e[5]=x):x=e[5];const f=x;let g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=async function(s,c){await u("/api/response/unlock/"+s+"/"+c,"Error while unlocking "+c+" "+s+" survey response: ",c+" "+s+" survey response unlocked")},e[6]=g):g=e[6];const M=g,Q=r.length>0&&r.every(ue),F=window.location.origin+"/data?preview";let I;e[7]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx(ne,{}),e[7]=I):I=e[7];let L;e[8]===Symbol.for("react.memo_cache_sentinel")?(L={maxWidth:"100rem"},e[8]=L):L=e[8];let E;e[9]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(ee,{}),e[9]=E):E=e[9];const O=!Q;let N;e[10]===Symbol.for("react.memo_cache_sentinel")?(N={pointerEvents:"auto",width:"10rem",margin:"1rem"},e[10]=N):N=e[10];let w;e[11]!==O?(w=t.jsx(v,{onClick:$,disabled:O,style:N,title:"Create a new survey for the next year. Only possible if all current surveys are published.",children:"start new survey"}),e[11]=O,e[12]=w):w=e[12];let j;if(e[13]!==r){let p;e[15]===Symbol.for("react.memo_cache_sentinel")?(p=(s,c)=>t.jsxs(z.Item,{eventKey:c.toString(),children:[t.jsxs(z.Header,{children:[s.year," - ",s.status]}),t.jsxs(z.Body,{children:[t.jsxs("div",{style:{marginLeft:".5rem",marginBottom:"1rem"},children:[t.jsx(A,{to:`/survey/admin/edit/${s.year}`,target:"_blank",children:t.jsx(v,{style:{marginLeft:".5rem"},title:"Open the survey for inspection with all questions visible and any visibleIf logic added to the title.",children:"Inspect Survey"})}),t.jsx(A,{to:`/survey/admin/try/${s.year}`,target:"_blank",children:t.jsx(v,{style:{marginLeft:".5rem"},title:"Open the survey exactly as the nrens will see it, but without any nren data.",children:"Try Survey"})}),t.jsx(C,{text:"Mark as open",helpText:"Allow the NRENs to respond to this survey. Only 1 survey may be open at a time, and (pre)-published surveys cannot be opened anymore.",enabled:s.status==y.closed,onClick:()=>f(s.year,"open")}),t.jsx(C,{text:"Mark as closed",helpText:"Do not allow the NRENs to respond to this survey anymore. Only surveys with status open can be closed.",enabled:s.status==y.open,onClick:()=>f(s.year,"close")}),t.jsx(C,{text:"Preview results",helpText:"Publish all completed survey responses to the compendium website for preview by admins. This is only possible if the survey is closed or previewed already.",enabled:s.status==y.closed||s.status==y.preview,onClick:()=>f(s.year,"preview")}),t.jsx(C,{text:"Publish results (dry run)",helpText:"Performs a dry-run of the publish operation, without actually publishing the results. Changes are logged in the browser console (F12).",enabled:s.status==y.preview||s.status==y.published,onClick:()=>f(s.year,"publish",!0)}),t.jsx(C,{text:"Publish results",helpText:"Publish or re-publish all completed survey responses to the compendium website. This is only possible if the survey is in preview or published already.",enabled:s.status==y.preview||s.status==y.published,onClick:()=>f(s.year,"publish")}),s.status==y.preview&&t.jsxs("span",{children:[" Preview link: ",t.jsx("a",{href:F,children:F})]})]}),t.jsxs(Z,{children:[t.jsxs("colgroup",{children:[t.jsx("col",{style:{width:"10%"}}),t.jsx("col",{style:{width:"20%"}}),t.jsx("col",{style:{width:"20%"}}),t.jsx("col",{style:{width:"30%"}}),t.jsx("col",{style:{width:"20%"}})]}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:"NREN"}),t.jsx("th",{children:"Status"}),t.jsx("th",{children:"Lock"}),t.jsx("th",{children:"Management Notes"}),t.jsx("th",{children:"Actions"})]})}),t.jsx("tbody",{children:s.responses.map(o=>t.jsxs("tr",{children:[t.jsx("td",{children:o.nren.name}),t.jsx("td",{children:t.jsx(le,{status:o.status})}),t.jsx("td",{style:{textWrap:"wrap",wordWrap:"break-word",maxWidth:"10rem"},children:o.lock_description}),t.jsx("td",{children:"notes"in o&&t.jsx("textarea",{onInput:Y.debounce(k=>de(s.year,o.nren.id,k.target.value),1e3),style:{minWidth:"100%",minHeight:"5rem"},placeholder:"Notes for this survey",defaultValue:o.notes||""})}),t.jsxs("td",{children:[t.jsx(A,{to:`/survey/response/${s.year}/${o.nren.name}`,target:"_blank",children:t.jsx(v,{style:{pointerEvents:"auto",margin:".5rem"},title:"Open the responses of the NREN.",children:"open"})}),t.jsx(v,{onClick:()=>M(s.year,o.nren.name),disabled:o.lock_description=="",style:{pointerEvents:"auto"},title:"Remove the lock from the survey so that another person can open the survey for editing. WARNING: The person that currently has the lock will not be able to save their changes anymore once someone else starts editing!",children:"remove lock"}),t.jsx(v,{onClick:()=>ce(s.year,o.nren.name).then(console.log),style:{pointerEvents:"auto"},children:"Validate Survey"})]})]},o.nren.id))})]})]})]},s.year),e[15]=p):p=e[15],j=r.map(p),e[13]=r,e[14]=j}else j=e[14];let S;e[16]!==j?(S=t.jsx(z,{defaultActiveKey:"0",children:j}),e[16]=j,e[17]=S):S=e[17];let P;return e[18]!==w||e[19]!==S?(P=t.jsxs(t.Fragment,{children:[I,t.jsx(D,{className:"py-5 grey-container",children:t.jsx(D,{style:L,children:t.jsxs(X,{children:[E,w,S]})})})]}),e[18]=w,e[19]=S,e[20]=P):P=e[20],P}function ue(e){return e.status==y.published}export{we as default}; diff --git a/compendium_v2/static/SurveySidebar-CG0gwQ6b.js b/compendium_v2/static/SurveySidebar-CG0gwQ6b.js new file mode 100644 index 0000000000000000000000000000000000000000..093c785883be443ebc7a007cc50290f72f91d2ed --- /dev/null +++ b/compendium_v2/static/SurveySidebar-CG0gwQ6b.js @@ -0,0 +1 @@ +import{c as a,j as s,a2 as m}from"./index.js";import{S as o}from"./SideBar-CkoMfgfL.js";const h=()=>{const e=a.c(4);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h5",{className:"section-title",children:"Management Links"}),e[0]=r):r=e[0];let t;e[1]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(m,{to:"/survey",children:s.jsx("span",{children:"Survey Home"})}),e[1]=t):t=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(m,{to:"/survey/admin/users",children:s.jsx("span",{children:"Compendium User Management"})}),e[2]=n):n=e[2];let i;return e[3]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(o,{survey:!0,children:[r,t,n,s.jsx(m,{to:"/survey/admin/surveys",children:s.jsx("span",{children:"Compendium Survey Management"})})]}),e[3]=i):i=e[3],i};export{h as S}; diff --git a/compendium_v2/static/SurveySidebar-NbXpjOVQ.js b/compendium_v2/static/SurveySidebar-NbXpjOVQ.js deleted file mode 100644 index 5f8e951de1b756ff4e2ad4946b627947d455aade..0000000000000000000000000000000000000000 --- a/compendium_v2/static/SurveySidebar-NbXpjOVQ.js +++ /dev/null @@ -1 +0,0 @@ -import{c as o,j as s}from"./index.js";import{L as m,S as a}from"./SideBar-Bzc5cONd.js";const h=()=>{const e=o.c(4);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h5",{className:"section-title",children:"Management Links"}),e[0]=r):r=e[0];let t;e[1]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(m,{to:"/survey",children:s.jsx("span",{children:"Survey Home"})}),e[1]=t):t=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(m,{to:"/survey/admin/users",children:s.jsx("span",{children:"Compendium User Management"})}),e[2]=n):n=e[2];let i;return e[3]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs(a,{survey:!0,children:[r,t,n,s.jsx(m,{to:"/survey/admin/surveys",children:s.jsx("span",{children:"Compendium Survey Management"})})]}),e[3]=i):i=e[3],i};export{h as S}; diff --git a/compendium_v2/static/TrafficRatio-BRasghA5.js b/compendium_v2/static/TrafficRatio-BRasghA5.js deleted file mode 100644 index a281fc138a993b0a2538292a173a833f8158279e..0000000000000000000000000000000000000000 --- a/compendium_v2/static/TrafficRatio-BRasghA5.js +++ /dev/null @@ -1 +0,0 @@ -import{c as j,r as w,F as C,j as x,S as E}from"./index.js";import{B as L}from"./index-BJrPLJgf.js";import{C as g,a as v,L as F,B as Y,p as $,c as A,d as B,u as O,N as T,D as M,F as P}from"./useData-C0vA-Ut8.js";import{h as W,W as q}from"./HTMLLegendPlugin-B1D8JXQI.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";g.register(v,F,Y,$,A,B);const z={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.x!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(e,t)=>`${t*10}%`}},x2:{ticks:{callback:e=>typeof e=="number"?`${e}%`:e},grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(g.instances);let a=-999999,i=999999;for(const s of t)g.instances[s]&&e.chart.scales.x2&&(i=Math.min(g.instances[s].scales.x.min,i),a=Math.max(g.instances[s].scales.x.max,a));e.chart.scales.x2.options.min=i,e.chart.scales.x2.options.max=a,e.chart.scales.x2.min=i,e.chart.scales.x2.max=a}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ae(){const e=j.c(37),{filterSelection:t,setFilterSelection:a}=w.useContext(C),{data:i,years:s,nrens:n}=O("/api/traffic-ratio",a);let l,r,y,c;if(e[0]!==t||e[1]!==n||e[2]!==a||e[3]!==i||e[4]!==s){let b;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(b=R=>t.selectedYears.includes(R.year)&&t.selectedNrens.includes(R.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=b):b=e[11],r=i.filter(b),c=T(r,t.selectedYears[0]);let d;e[12]!==s?(d=[...s],e[12]=s,e[13]=d):d=e[13];let p;e[14]!==n?(p=n.values(),e[14]=n,e[15]=p):p=e[15];let u;e[16]!==p?(u=[...p],e[16]=p,e[17]=u):u=e[17];let h;e[18]!==d||e[19]!==u?(h={availableYears:d,availableNrens:u},e[18]=d,e[19]=u,e[20]=h):h=e[20];let _;e[21]!==t||e[22]!==a||e[23]!==h?(_=x.jsx(P,{max1year:!0,filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=_):_=e[24],l=_,y=Array.from(new Set(r.map(H))).map(R=>n.get(R)).filter(G),e[0]=t,e[1]=n,e[2]=a,e[3]=i,e[4]=s,e[5]=l,e[6]=r,e[7]=y,e[8]=c}else l=e[5],r=e[6],y=e[7],c=e[8];const D=y.length,S=`${Math.max(D*1.5,20)}rem`;let o;e[25]!==S?(o={height:S},e[25]=S,e[26]=o):o=e[26];let N;e[27]===Symbol.for("react.memo_cache_sentinel")?(N=[W],e[27]=N):N=e[27];let f;e[28]!==c?(f=x.jsx(L,{data:c,options:z,plugins:N}),e[28]=c,e[29]=f):f=e[29];let m;e[30]!==o||e[31]!==f?(m=x.jsx(q,{children:x.jsx("div",{className:"chart-container",style:o,children:f})}),e[30]=o,e[31]=f,e[32]=m):m=e[32];let k;return e[33]!==l||e[34]!==r||e[35]!==m?(k=x.jsx(M,{title:"Types of traffic in NREN networks (Commodity v. Research & Education)",description:"The graph shows the ratio of commodity versus research and education traffic in NREN networks",category:E.Network,filter:l,data:r,filename:"types_of_traffic_in_nren_networks",children:m}),e[33]=l,e[34]=r,e[35]=m,e[36]=k):k=e[36],k}function G(e){return!!e}function H(e){return e.nren}export{ae as default}; diff --git a/compendium_v2/static/TrafficRatio-p8ISc0n1.js b/compendium_v2/static/TrafficRatio-p8ISc0n1.js new file mode 100644 index 0000000000000000000000000000000000000000..c46e6220b14b8ab87a8069362a76cfa5d87c61ae --- /dev/null +++ b/compendium_v2/static/TrafficRatio-p8ISc0n1.js @@ -0,0 +1 @@ +import{c as C,r as L,F as E,j as x,S as F,t as Y}from"./index.js";import{B as $}from"./index-C4Nuqrw6.js";import{C as g,a as v,L as A,B,p as O,c as M,d as P,u as T,N as W,D as q,F as z}from"./useData-Ct8E3VVL.js";import{h as G,W as H}from"./HTMLLegendPlugin-sjJV-MGB.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";g.register(v,A,B,O,M,P);const J={maintainAspectRatio:!1,animation:{duration:0},plugins:{htmlLegend:{containerIDs:["legendtop","legendbottom"]},legend:{display:!1},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return e.parsed.x!==null&&(t+=`: ${e.parsed.x}%`),t}}}},scales:{x:{position:"top",stacked:!0,ticks:{callback:(e,t)=>`${t*10}%`}},x2:{ticks:{callback:e=>typeof e=="number"?`${e}%`:e},grid:{drawOnChartArea:!1},afterDataLimits:function(e){const t=Object.keys(g.instances);let a=-999999,i=999999;for(const s of t)g.instances[s]&&e.chart.scales.x2&&(i=Math.min(g.instances[s].scales.x.min,i),a=Math.max(g.instances[s].scales.x.max,a));e.chart.scales.x2.options.min=i,e.chart.scales.x2.options.max=a,e.chart.scales.x2.min=i,e.chart.scales.x2.max=a}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"};function ie(){const e=C.c(37),{filterSelection:t,setFilterSelection:a}=L.useContext(E),{data:i,years:s,nrens:n}=T("/api/traffic-ratio",a);let l,r,y,c;if(e[0]!==t||e[1]!==n||e[2]!==a||e[3]!==i||e[4]!==s){let b;e[9]!==t.selectedNrens||e[10]!==t.selectedYears?(b=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[9]=t.selectedNrens,e[10]=t.selectedYears,e[11]=b):b=e[11],r=i.filter(b),c=W(r,t.selectedYears[0]);let d;e[12]!==s?(d=[...s],e[12]=s,e[13]=d):d=e[13];let p;e[14]!==n?(p=n.values(),e[14]=n,e[15]=p):p=e[15];let u;e[16]!==p?(u=[...p],e[16]=p,e[17]=u):u=e[17];let h;e[18]!==d||e[19]!==u?(h={availableYears:d,availableNrens:u},e[18]=d,e[19]=u,e[20]=h):h=e[20];let _;e[21]!==t||e[22]!==a||e[23]!==h?(_=x.jsx(z,{max1year:!0,filterOptions:h,filterSelection:t,setFilterSelection:a}),e[21]=t,e[22]=a,e[23]=h,e[24]=_):_=e[24],l=_,y=Array.from(new Set(r.map(Q))).map(S=>n.get(S)).filter(K),e[0]=t,e[1]=n,e[2]=a,e[3]=i,e[4]=s,e[5]=l,e[6]=r,e[7]=y,e[8]=c}else l=e[5],r=e[6],y=e[7],c=e[8];const j=y.length,R=Math.max(j*1.5,20),w=Y["traffic-ratio"],D=`${R}rem`;let o;e[25]!==D?(o={height:D},e[25]=D,e[26]=o):o=e[26];let k;e[27]===Symbol.for("react.memo_cache_sentinel")?(k=[G],e[27]=k):k=e[27];let f;e[28]!==c?(f=x.jsx($,{data:c,options:J,plugins:k}),e[28]=c,e[29]=f):f=e[29];let m;e[30]!==o||e[31]!==f?(m=x.jsx(H,{children:x.jsx("div",{className:"chart-container",style:o,children:f})}),e[30]=o,e[31]=f,e[32]=m):m=e[32];let N;return e[33]!==l||e[34]!==r||e[35]!==m?(N=x.jsx(q,{title:w,description:"The graph shows the ratio of commodity versus research and education traffic in NREN networks",category:F.Network,filter:l,data:r,filename:"types_of_traffic_in_nren_networks",children:m}),e[33]=l,e[34]=r,e[35]=m,e[36]=N):N=e[36],N}function K(e){return!!e}function Q(e){return e.nren}export{ie as default}; diff --git a/compendium_v2/static/TrafficUrl-Cupk7MWX.js b/compendium_v2/static/TrafficUrl-Cupk7MWX.js new file mode 100644 index 0000000000000000000000000000000000000000..b356aa76e322d5278779ce3a718db14c252939c5 --- /dev/null +++ b/compendium_v2/static/TrafficUrl-Cupk7MWX.js @@ -0,0 +1 @@ +import{c as j,r as k,F as S,j as p,t as _,S as g}from"./index.js";import{u as v,q as y,k as L,i as R,D as T,F,f as U,s as w}from"./useData-Ct8E3VVL.js";import{N as C}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function G(){const e=j.c(21),{filterSelection:t,setFilterSelection:s}=k.useContext(S),{data:r,nrens:n}=v("/api/traffic-stats",s);let a,c;if(e[0]!==r||e[1]!==t.selectedNrens){const D=r?y(r):[];let m;e[4]!==t.selectedNrens?(m=h=>t.selectedNrens.includes(h.nren),e[4]=t.selectedNrens,e[5]=m):m=e[5],a=D.filter(m);const b=L(a);c=R(b,E),e[0]=r,e[1]=t.selectedNrens,e[2]=a,e[3]=c}else a=e[2],c=e[3];const x=c;let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[6]=f):f=e[6];let i;e[7]!==n?(i=n.values(),e[7]=n,e[8]=i):i=e[8];let l;e[9]!==i?(l={availableYears:f,availableNrens:[...i]},e[9]=i,e[10]=l):l=e[10];let u;e[11]!==t||e[12]!==s||e[13]!==l?(u=p.jsx(F,{filterOptions:l,filterSelection:t,setFilterSelection:s,coloredYears:!0}),e[11]=t,e[12]=s,e[13]=l,e[14]=u):u=e[14];const N=u;let o;e[15]!==x?(o=p.jsx(U,{children:p.jsx(C,{data:x,columnTitle:"Traffic Statistics URL",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=x,e[16]=o):o=e[16];let d;return e[17]!==N||e[18]!==a||e[19]!==o?(d=p.jsx(T,{title:_["traffic-stats"],description:"This table shows the URL links to NREN websites showing traffic statistics, if available.",category:g.Network,filter:N,data:a,filename:"traffic_stats_nrens_per_year",children:o}),e[17]=N,e[18]=a,e[19]=o,e[20]=d):d=e[20],d}function E(e,t){const s=w(t);if(s!=null)for(const[r,n]of Object.entries(s))e[r]=n}export{G as default}; diff --git a/compendium_v2/static/TrafficUrl-DrUJ6TNq.js b/compendium_v2/static/TrafficUrl-DrUJ6TNq.js deleted file mode 100644 index c26d9c930bcec001f3a1104696ffc08af4b982ba..0000000000000000000000000000000000000000 --- a/compendium_v2/static/TrafficUrl-DrUJ6TNq.js +++ /dev/null @@ -1 +0,0 @@ -import{c as S,r as j,F as k,j as p,S as T}from"./index.js";import{u as _,q as g,k as v,i as y,D as L,F as R,f as F,s as U}from"./useData-C0vA-Ut8.js";import{N as w}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function z(){const e=S.c(21),{filterSelection:t,setFilterSelection:s}=j.useContext(k),{data:r,nrens:n}=_("/api/traffic-stats",s);let a,c;if(e[0]!==r||e[1]!==t.selectedNrens){const D=r?g(r):[];let m;e[4]!==t.selectedNrens?(m=h=>t.selectedNrens.includes(h.nren),e[4]=t.selectedNrens,e[5]=m):m=e[5],a=D.filter(m);const b=v(a);c=y(b,C),e[0]=r,e[1]=t.selectedNrens,e[2]=a,e[3]=c}else a=e[2],c=e[3];const x=c;let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[6]=f):f=e[6];let i;e[7]!==n?(i=n.values(),e[7]=n,e[8]=i):i=e[8];let l;e[9]!==i?(l={availableYears:f,availableNrens:[...i]},e[9]=i,e[10]=l):l=e[10];let u;e[11]!==t||e[12]!==s||e[13]!==l?(u=p.jsx(R,{filterOptions:l,filterSelection:t,setFilterSelection:s,coloredYears:!0}),e[11]=t,e[12]=s,e[13]=l,e[14]=u):u=e[14];const N=u;let o;e[15]!==x?(o=p.jsx(F,{children:p.jsx(w,{data:x,columnTitle:"Traffic Statistics URL",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=x,e[16]=o):o=e[16];let d;return e[17]!==N||e[18]!==a||e[19]!==o?(d=p.jsx(L,{title:"Traffic Statistics",description:"This table shows the URL links to NREN websites showing traffic statistics, if available.",category:T.Network,filter:N,data:a,filename:"traffic_stats_nrens_per_year",children:o}),e[17]=N,e[18]=a,e[19]=o,e[20]=d):d=e[20],d}function C(e,t){const s=U(t);if(s!=null)for(const[r,n]of Object.entries(s))e[r]=n}export{z as default}; diff --git a/compendium_v2/static/TrafficVolume-C0Yprx37.js b/compendium_v2/static/TrafficVolume-C0Yprx37.js new file mode 100644 index 0000000000000000000000000000000000000000..8040e12bbf9ec6bfbc202ede20d8d5eb54d783ae --- /dev/null +++ b/compendium_v2/static/TrafficVolume-C0Yprx37.js @@ -0,0 +1 @@ +import{c as A,r as G,F as U,j as t,t as Y,S as $,C as P,R as W}from"./index.js";import{L as k}from"./index-C4Nuqrw6.js";import{C as q,a as H,L as I,P as J,b as K,p as M,c as Q,d as X,u as Z,e as v,D as ee,F as te,f as se}from"./useData-Ct8E3VVL.js";import{g as le}from"./charthelpers-DmM6tvdh.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";q.register(H,I,J,K,M,Q,X);function de(){const e=A.c(47),{filterSelection:l,setFilterSelection:_}=G.useContext(U),{data:V,nrens:B}=Z("/api/traffic-volume",_);let o,a,s,g,i;if(e[0]!==V||e[1]!==l.selectedNrens){let r;e[7]!==l.selectedNrens?(r=O=>l.selectedNrens.includes(O.nren),e[7]=l.selectedNrens,e[8]=r):r=e[8],s=V.filter(r),o=v(s,"from_customers"),i=v(s,"to_customers"),a=v(s,"from_external"),g=v(s,"to_external"),e[0]=V,e[1]=l.selectedNrens,e[2]=o,e[3]=a,e[4]=s,e[5]=g,e[6]=i}else o=e[2],a=e[3],s=e[4],g=e[5],i=e[6];const F=g;let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=le({title:"Traffic Volume in PB",tooltipUnit:"PB",valueTransform(r){return r?r/1e3:0}}),e[9]=N):N=e[9];const b=N;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=[],e[10]=j):j=e[10];let n;e[11]!==B?(n=B.values(),e[11]=B,e[12]=n):n=e[12];let c;e[13]!==n?(c={availableYears:j,availableNrens:[...n]},e[13]=n,e[14]=c):c=e[14];let S;e[15]!==l||e[16]!==_||e[17]!==c?(S=t.jsx(te,{filterOptions:c,filterSelection:l,setFilterSelection:_}),e[15]=l,e[16]=_,e[17]=c,e[18]=S):S=e[18];const z=S;let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("span",{children:"The four graphs below show the estimates of total annual traffic in PB (1000 TB) to & from NREN customers, and to & from external networks. NREN customers are taken to mean sources that are part of the NREN's connectivity remit, while external networks are understood as outside sources including GÉANT, the general/commercial internet, internet exchanges, peerings, other NRENs, etc."}),e[19]=y):y=e[19];let T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T={marginBottom:"30px"},e[20]=T):T=e[20];let E;e[21]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx("span",{style:{fontSize:"20px",color:"rgb(85, 96, 156)",fontWeight:"bold"},children:"Traffic from NREN customer"}),e[21]=E):E=e[21];let f;e[22]!==o?(f=t.jsxs(P,{children:[E,t.jsx(k,{data:o,options:b})]}),e[22]=o,e[23]=f):f=e[23];let C;e[24]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("span",{style:{fontSize:"20px",color:"rgb(221, 100, 57)",fontWeight:"bold"},children:"Traffic to NREN customer"}),e[24]=C):C=e[24];let m;e[25]!==i?(m=t.jsxs(P,{children:[C,t.jsx(k,{data:i,options:b})]}),e[25]=i,e[26]=m):m=e[26];let d;e[27]!==m||e[28]!==f?(d=t.jsxs(W,{style:T,children:[f,m]}),e[27]=m,e[28]=f,e[29]=d):d=e[29];let R;e[30]===Symbol.for("react.memo_cache_sentinel")?(R={marginTop:"30px"},e[30]=R):R=e[30];let w;e[31]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx("span",{style:{fontSize:"20px",color:"rgb(63, 143, 77)",fontWeight:"bold"},children:"Traffic from external network"}),e[31]=w):w=e[31];let h;e[32]!==a?(h=t.jsxs(P,{children:[w,t.jsx(k,{data:a,options:b})]}),e[32]=a,e[33]=h):h=e[33];let D;e[34]===Symbol.for("react.memo_cache_sentinel")?(D=t.jsx("span",{style:{fontSize:"20px",color:"rgb(173, 48, 51)",fontWeight:"bold"},children:"Traffic to external network"}),e[34]=D):D=e[34];let x;e[35]!==F?(x=t.jsxs(P,{children:[D,t.jsx(k,{data:F,options:b})]}),e[35]=F,e[36]=x):x=e[36];let p;e[37]!==h||e[38]!==x?(p=t.jsxs(W,{style:R,children:[h,x]}),e[37]=h,e[38]=x,e[39]=p):p=e[39];let u;e[40]!==d||e[41]!==p?(u=t.jsxs(se,{children:[d,p]}),e[40]=d,e[41]=p,e[42]=u):u=e[42];let L;return e[43]!==z||e[44]!==s||e[45]!==u?(L=t.jsx(ee,{title:Y["traffic-volume"],description:y,category:$.Network,filter:z,data:s,filename:"NREN_traffic_estimates_data",children:u}),e[43]=z,e[44]=s,e[45]=u,e[46]=L):L=e[46],L}export{de as default}; diff --git a/compendium_v2/static/TrafficVolume-DIkzyQG4.js b/compendium_v2/static/TrafficVolume-DIkzyQG4.js deleted file mode 100644 index 7a2ed55d273f5017be0b79e7af58e776ad0c6fb2..0000000000000000000000000000000000000000 --- a/compendium_v2/static/TrafficVolume-DIkzyQG4.js +++ /dev/null @@ -1 +0,0 @@ -import{c as A,r as G,F as U,j as t,S as Y,C as L,R as W}from"./index.js";import{L as P}from"./index-BJrPLJgf.js";import{C as $,a as q,L as H,P as I,b as J,p as K,c as M,d as Q,u as X,e as V,D as Z,F as ee,f as te}from"./useData-C0vA-Ut8.js";import{g as se}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";$.register(q,H,I,J,K,M,Q);function me(){const e=A.c(47),{filterSelection:r,setFilterSelection:N}=G.useContext(U),{data:v,nrens:B}=X("/api/traffic-volume",N);let o,a,s,_,i;if(e[0]!==v||e[1]!==r.selectedNrens){let l;e[7]!==r.selectedNrens?(l=O=>r.selectedNrens.includes(O.nren),e[7]=r.selectedNrens,e[8]=l):l=e[8],s=v.filter(l),o=V(s,"from_customers"),i=V(s,"to_customers"),a=V(s,"from_external"),_=V(s,"to_external"),e[0]=v,e[1]=r.selectedNrens,e[2]=o,e[3]=a,e[4]=s,e[5]=_,e[6]=i}else o=e[2],a=e[3],s=e[4],_=e[5],i=e[6];const F=_;let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=se({title:"Traffic Volume in PB",tooltipUnit:"PB",valueTransform(l){return l?l/1e3:0}}),e[9]=g):g=e[9];const b=g;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=[],e[10]=j):j=e[10];let n;e[11]!==B?(n=B.values(),e[11]=B,e[12]=n):n=e[12];let c;e[13]!==n?(c={availableYears:j,availableNrens:[...n]},e[13]=n,e[14]=c):c=e[14];let S;e[15]!==r||e[16]!==N||e[17]!==c?(S=t.jsx(ee,{filterOptions:c,filterSelection:r,setFilterSelection:N}),e[15]=r,e[16]=N,e[17]=c,e[18]=S):S=e[18];const z=S;let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("span",{children:"The four graphs below show the estimates of total annual traffic in PB (1000 TB) to & from NREN customers, and to & from external networks. NREN customers are taken to mean sources that are part of the NREN's connectivity remit, while external networks are understood as outside sources including GÉANT, the general/commercial internet, internet exchanges, peerings, other NRENs, etc."}),e[19]=y):y=e[19];let E;e[20]===Symbol.for("react.memo_cache_sentinel")?(E={marginBottom:"30px"},e[20]=E):E=e[20];let T;e[21]===Symbol.for("react.memo_cache_sentinel")?(T=t.jsx("span",{style:{fontSize:"20px",color:"rgb(85, 96, 156)",fontWeight:"bold"},children:"Traffic from NREN customer"}),e[21]=T):T=e[21];let f;e[22]!==o?(f=t.jsxs(L,{children:[T,t.jsx(P,{data:o,options:b})]}),e[22]=o,e[23]=f):f=e[23];let C;e[24]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx("span",{style:{fontSize:"20px",color:"rgb(221, 100, 57)",fontWeight:"bold"},children:"Traffic to NREN customer"}),e[24]=C):C=e[24];let m;e[25]!==i?(m=t.jsxs(L,{children:[C,t.jsx(P,{data:i,options:b})]}),e[25]=i,e[26]=m):m=e[26];let d;e[27]!==m||e[28]!==f?(d=t.jsxs(W,{style:E,children:[f,m]}),e[27]=m,e[28]=f,e[29]=d):d=e[29];let R;e[30]===Symbol.for("react.memo_cache_sentinel")?(R={marginTop:"30px"},e[30]=R):R=e[30];let w;e[31]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx("span",{style:{fontSize:"20px",color:"rgb(63, 143, 77)",fontWeight:"bold"},children:"Traffic from external network"}),e[31]=w):w=e[31];let x;e[32]!==a?(x=t.jsxs(L,{children:[w,t.jsx(P,{data:a,options:b})]}),e[32]=a,e[33]=x):x=e[33];let D;e[34]===Symbol.for("react.memo_cache_sentinel")?(D=t.jsx("span",{style:{fontSize:"20px",color:"rgb(173, 48, 51)",fontWeight:"bold"},children:"Traffic to external network"}),e[34]=D):D=e[34];let h;e[35]!==F?(h=t.jsxs(L,{children:[D,t.jsx(P,{data:F,options:b})]}),e[35]=F,e[36]=h):h=e[36];let p;e[37]!==x||e[38]!==h?(p=t.jsxs(W,{style:R,children:[x,h]}),e[37]=x,e[38]=h,e[39]=p):p=e[39];let u;e[40]!==d||e[41]!==p?(u=t.jsxs(te,{children:[d,p]}),e[40]=d,e[41]=p,e[42]=u):u=e[42];let k;return e[43]!==z||e[44]!==s||e[45]!==u?(k=t.jsx(Z,{title:"NREN Traffic - NREN Customers & External Networks",description:y,category:Y.Network,filter:z,data:s,filename:"NREN_traffic_estimates_data",children:u}),e[43]=z,e[44]=s,e[45]=u,e[46]=k):k=e[46],k}export{me as default}; diff --git a/compendium_v2/static/UserManagementComponent-BsFczL9E.js b/compendium_v2/static/UserManagementComponent-BsFczL9E.js new file mode 100644 index 0000000000000000000000000000000000000000..5fe056cb54357ee9ed86b08e7b5850ae5e9b3b6d --- /dev/null +++ b/compendium_v2/static/UserManagementComponent-BsFczL9E.js @@ -0,0 +1 @@ +import{r as x,h as Ee,j as t,i as Te,ai as Re,c as Ae,aj as Ge,a1 as Oe,W as Se,y as Ue,E as Ve,R as Be}from"./index.js";import{k as de,D as Me}from"./index-BGZcCZJE.js";import{S as We}from"./SurveySidebar-CG0gwQ6b.js";import{c as qe,a as Le}from"./index-DIBz8YrO.js";import{A as ae,l as He}from"./lodash-CeHp3pZo.js";import{T as Je}from"./Table-ClWM2_rS.js";import"./SideBar-CkoMfgfL.js";import"./hook-GVc5uk5F.js";const me=x.forwardRef(({className:e,bsPrefix:s,as:r="span",...c},l)=>(s=Ee(s,"input-group-text"),t.jsx(r,{ref:l,className:Te(e,s),...c})));me.displayName="InputGroupText";const Ke=e=>t.jsx(me,{children:t.jsx(Re,{type:"checkbox",...e})}),Ye=e=>t.jsx(me,{children:t.jsx(Re,{type:"radio",...e})}),$e=x.forwardRef(({bsPrefix:e,size:s,hasValidation:r,className:c,as:l="div",...a},h)=>{e=Ee(e,"input-group");const d=x.useMemo(()=>({}),[]);return t.jsx(qe.Provider,{value:d,children:t.jsx(l,{ref:h,...a,className:Te(c,e,s&&`${e}-${s}`,r&&"has-validation")})})});$e.displayName="InputGroup";const ke=Object.assign($e,{Text:me,Radio:Ye,Checkbox:Ke});function Qe(e){const s=Ae.c(10),{getConfig:r,setConfig:c}=x.useContext(Ge);let l;s[0]!==r||s[1]!==e?(l=r(e),s[0]=r,s[1]=e,s[2]=l):l=s[2];const a=l;let h;s[3]!==e||s[4]!==c?(h=(M,N)=>c(e,M,N),s[3]=e,s[4]=c,s[5]=h):h=s[5];let d;return s[6]!==a||s[7]!==e||s[8]!==h?(d={[e]:a,setConfig:h},s[6]=a,s[7]=e,s[8]=h,s[9]=d):d=s[9],d}async function Xe(){try{return await(await fetch("/api/user/list")).json()}catch{return[]}}async function Ze(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}async function ze(e,s){const r={id:e,...s},c={method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)},l=await fetch(`/api/user/${e}`,c),a=await l.json();if(!l.ok)throw new Error(a.message);return de.success(a.message),a.user}async function Pe(e){if(!window.confirm(`Are you sure you want to delete ${e.name} (${e.email})?`))return!1;const r={method:"DELETE",headers:{"Content-Type":"application/json"}},c=await fetch(`/api/user/${e.id}`,r),l=await c.json();if(!c.ok)throw new Error(l.message);return de.success(l.message),!0}const L=(e,s)=>e.role!=="admin"&&s.role==="admin"?1:e.role==="admin"&&s.role!=="admin"?-1:e.role==="user"&&s.role!=="user"?1:s.role==="user"&&e.role!=="user"?-1:!e.permissions.active&&s.permissions.active?1:e.permissions.active&&!s.permissions.active?-1:e.name.localeCompare(s.name);function ut(){const e=Ae.c(88);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],e[0]=s):s=e[0];const[r,c]=x.useState(s);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[1]=l):l=e[1];const[a,h]=x.useState(l),{user:d,setUser:M}=x.useContext(Oe);let N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N={column:"ID",asc:!0},e[2]=N):N=e[2];const[f,Ne]=x.useState(N),[I,Ie]=x.useState(""),{setConfig:H,user_management:U}=Qe("user_management");let J;e[3]!==H||e[4]!==U?(J=(o,u)=>{const m=U??{},p=m==null?void 0:m.shownColumns;if(!p){H({...m,shownColumns:{[o]:u}});return}H({...m,shownColumns:{...p,[o]:u}})},e[3]=H,e[4]=U,e[5]=J):J=e[5];const ue=J;let K;e[6]!==U?(K=o=>{const u=U;if(!u)return!0;const m=u.shownColumns;return m?m[o]??!0:!0},e[6]=U,e[7]=K):K=e[7];const i=K;let Y,Q;e[8]===Symbol.for("react.memo_cache_sentinel")?(Y=()=>{Xe().then(o=>{c(o)}),Ze().then(o=>{h(o.sort(nt))})},Q=[],e[8]=Y,e[9]=Q):(Y=e[8],Q=e[9]),x.useEffect(Y,Q);let X;e[10]!==d.id||e[11]!==M||e[12]!==r?(X=(o,u)=>{const m=r.findIndex(v=>v.id===u.id),p=[...r],{name:q}=o.target,_={};q==="active"?_[q]=o.target.checked:_[q]=o.target.value,ze(u.id,_).then(v=>{v.id===d.id?M(v):(p[m]=v,c(p))}).catch(st)},e[10]=d.id,e[11]=M,e[12]=r,e[13]=X):X=e[13];const W=X;let Z;e[14]!==a?(Z=o=>{var u;return(u=a.find(m=>m.id==o||m.name==o))==null?void 0:u.id},e[14]=a,e[15]=Z):Z=e[15];const fe=Z,De=tt,z=et;let k,E,T,j,y,g,R,A,C,w,b,$,D;if(e[16]!==I||e[17]!==fe||e[18]!==i||e[19]!==W||e[20]!==d||e[21]!==a||e[22]!==ue||e[23]!==f.asc||e[24]!==f.column||e[25]!==r){const o=["ID","Active","Role","Email","Full Name","OIDC Sub","NREN","Actions"],u={[o[1]]:De,[o[2]]:z("role"),[o[3]]:z("email"),[o[4]]:z("name"),[o[6]]:z("nrens")},m=n=>{n===f.column?Ne({column:n,asc:!f.asc}):Ne({column:n,asc:!0})},p={};Array.from(Object.keys(u)).includes(f.column)?p[f.column]={"aria-sort":f.asc?"ascending":"descending"}:p[o[0]]={"aria-sort":f.asc?"ascending":"descending"};const q=u[f.column]??L,v=(I?r.filter(n=>n.email.includes(I)||n.name.includes(I)):r).filter(n=>n.id!==d.id).sort(q);f.asc||v.reverse(),e[39]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx(We,{}),b=t.jsx(Me,{}),e[39]=w,e[40]=b):(w=e[39],b=e[40]),E=Ve,A="py-5 grey-container";let ee;e[41]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsx("div",{className:"text-center w-100 mb-3",children:t.jsx("h3",{children:"User Management Page"})}),e[41]=ee):ee=e[41];let te;e[42]===Symbol.for("react.memo_cache_sentinel")?(te={width:"30rem"},e[42]=te):te=e[42];let se;e[43]===Symbol.for("react.memo_cache_sentinel")?(se=t.jsxs(ae.Header,{children:[t.jsx("span",{className:"me-2",children:"Column Visibility"}),t.jsx("small",{className:"text-muted",children:"Choose which columns to display"})]}),e[43]=se):se=e[43];let ne;e[44]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx("small",{className:"text-muted mb-2 d-block",children:"Select which columns you want to display in the table below. Unchecked columns will be hidden."}),e[44]=ne):ne=e[44];let oe;e[45]===Symbol.for("react.memo_cache_sentinel")?(oe={gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"10px"},e[45]=oe):oe=e[45];const he=t.jsx("div",{className:"d-grid",style:oe,children:o.map(n=>t.jsx(Se.Check,{type:"checkbox",id:`column-${n}`,label:n,checked:i(n),onChange:S=>ue(n,S.target.checked)},n))});let B;e[46]!==he?(B=t.jsx(ae,{className:"mb-3",style:te,children:t.jsxs(ae.Item,{eventKey:"0",children:[se,t.jsx(ae.Body,{children:t.jsxs(Se.Control,{as:"div",className:"p-3",children:[ne,he]})})]})}),e[46]=he,e[47]=B):B=e[47];let re,le;e[48]===Symbol.for("react.memo_cache_sentinel")?(re={width:"30rem"},le=t.jsx(ke.Text,{id:"search-text",children:"Search"}),e[48]=re,e[49]=le):(re=e[48],le=e[49]);let ie;e[50]===Symbol.for("react.memo_cache_sentinel")?(ie=t.jsx(Se.Control,{placeholder:"Search by email/name","aria-label":"Search",onInput:He.debounce(n=>Ie(n.target.value),200)}),e[50]=ie):ie=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsxs(ke,{className:"mb-3",style:re,children:[le,ie,t.jsx(Ue,{variant:"outline-secondary",onClick:()=>{Ie("")},children:"Clear"})]}),e[51]=ce):ce=e[51],e[52]!==B?(C=t.jsxs(Be,{className:"d-flex justify-content-center align-items-center flex-column",children:[ee,B,ce]}),e[52]=B,e[53]=C):C=e[53],R="d-flex justify-content-center",e[54]===Symbol.for("react.memo_cache_sentinel")?(g={maxWidth:"100rem"},e[54]=g):g=e[54],k=Je,D="user-management-table",T=!0;const pe=i(o[0])&&t.jsx("col",{span:1,style:{width:"8rem"}}),xe=i(o[1])&&t.jsx("col",{span:1,style:{width:"3rem"}}),je=i(o[2])&&t.jsx("col",{span:1,style:{width:"4.5rem"}}),ye=i(o[3])&&t.jsx("col",{span:1,style:{width:"7rem"}}),ge=i(o[4])&&t.jsx("col",{span:1,style:{width:"5rem"}}),Ce=i(o[5])&&t.jsx("col",{span:1,style:{width:"5rem"}}),we=i(o[6])&&t.jsx("col",{span:1,style:{width:"6rem"}}),be=i(o[7])&&t.jsx("col",{span:1,style:{width:"3rem"}});e[55]!==pe||e[56]!==xe||e[57]!==je||e[58]!==ye||e[59]!==ge||e[60]!==Ce||e[61]!==we||e[62]!==be?(j=t.jsxs("colgroup",{children:[pe,xe,je,ye,ge,Ce,we,be]}),e[55]=pe,e[56]=xe,e[57]=je,e[58]=ye,e[59]=ge,e[60]=Ce,e[61]=we,e[62]=be,e[63]=j):j=e[63];const ve=t.jsx("tr",{children:o.map(n=>i(n)&&t.jsx("th",{...p[n],onClick:()=>m(n),className:"sortable fixed-column",style:{border:"1px solid #ddd"},children:n},n))});e[64]!==ve?(y=t.jsx("thead",{children:ve}),e[64]=ve,e[65]=y):y=e[65],$=t.jsx("tbody",{children:(I?[]:[d]).concat(v).map(n=>t.jsxs("tr",{style:{fontWeight:n.id==d.id?"bold":"normal"},children:[i(o[0])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id}),i(o[1])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?t.jsx(Le,{}):t.jsx("input",{type:"checkbox",name:"active",checked:n.permissions.active,onChange:S=>W(S,n)})}),i(o[2])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?n.role.charAt(0).toUpperCase()+n.role.slice(1):t.jsxs("select",{name:"role",defaultValue:n.role,onChange:S=>W(S,n),style:{width:"100%"},children:[t.jsx("option",{value:"admin",children:"Admin"}),t.jsx("option",{value:"user",children:"User"}),t.jsx("option",{value:"observer",children:"Observer"})]})}),i(o[3])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.email}),i(o[4])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.name}),i(o[5])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.oidc_sub}),i(o[6])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:t.jsxs("select",{name:"nren",multiple:!1,value:n.nrens.length>0?fe(n.nrens[0]):"",onChange:S=>W(S,n),children:[t.jsx("option",{value:"",children:"Select NREN"}),a.map(_e)]})}),i(o[7])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id!==d.id&&t.jsx(Ue,{variant:"danger",onClick:async()=>{if(n.id===d.id){de.error("You cannot delete yourself");return}await Pe(n)&&c(r.filter(Fe=>Fe.id!==n.id))},children:"Delete"})})]},n.id))}),e[16]=I,e[17]=fe,e[18]=i,e[19]=W,e[20]=d,e[21]=a,e[22]=ue,e[23]=f.asc,e[24]=f.column,e[25]=r,e[26]=k,e[27]=E,e[28]=T,e[29]=j,e[30]=y,e[31]=g,e[32]=R,e[33]=A,e[34]=C,e[35]=w,e[36]=b,e[37]=$,e[38]=D}else k=e[26],E=e[27],T=e[28],j=e[29],y=e[30],g=e[31],R=e[32],A=e[33],C=e[34],w=e[35],b=e[36],$=e[37],D=e[38];let F;e[66]!==k||e[67]!==T||e[68]!==j||e[69]!==y||e[70]!==$||e[71]!==D?(F=t.jsxs(k,{className:D,bordered:T,children:[j,y,$]}),e[66]=k,e[67]=T,e[68]=j,e[69]=y,e[70]=$,e[71]=D,e[72]=F):F=e[72];let G;e[73]!==g||e[74]!==F?(G=t.jsx("div",{style:g,children:F}),e[73]=g,e[74]=F,e[75]=G):G=e[75];let O;e[76]!==R||e[77]!==G?(O=t.jsx("div",{className:R,children:G}),e[76]=R,e[77]=G,e[78]=O):O=e[78];let V;e[79]!==E||e[80]!==A||e[81]!==C||e[82]!==O?(V=t.jsxs(E,{className:A,children:[C,O]}),e[79]=E,e[80]=A,e[81]=C,e[82]=O,e[83]=V):V=e[83];let P;return e[84]!==w||e[85]!==b||e[86]!==V?(P=t.jsxs(t.Fragment,{children:[w,b,V]}),e[84]=w,e[85]=b,e[86]=V,e[87]=P):P=e[87],P}function _e(e){return t.jsx("option",{value:e.id,children:e.name},e.id)}function et(e){return(s,r)=>{const c=s[e],l=r[e];if(e==="nrens")return s.nrens.length===0&&r.nrens.length===0?L(s,r):s.nrens.length===0?-1:r.nrens.length===0?1:s.nrens[0].localeCompare(r.nrens[0]);if(typeof c!="string"||typeof l!="string")return L(s,r);const a=c.localeCompare(l);return a===0?L(s,r):a}}function tt(e,s){return e.permissions.active&&!s.permissions.active?1:!e.permissions.active&&s.permissions.active?-1:L(e,s)}function st(e){de.error(e.message)}function nt(e,s){return e.name.localeCompare(s.name)}export{ut as default}; diff --git a/compendium_v2/static/UserManagementComponent-CvgRGQoR.js b/compendium_v2/static/UserManagementComponent-CvgRGQoR.js deleted file mode 100644 index 8e9f4e5b11cb96f5798b6b9d3b2d2c3540d4561b..0000000000000000000000000000000000000000 --- a/compendium_v2/static/UserManagementComponent-CvgRGQoR.js +++ /dev/null @@ -1 +0,0 @@ -import{r as x,h as Ee,j as t,i as Te,ab as Re,c as Ae,ac as Ge,W as Oe,K as Se,x as Ue,D as Ve,R as Be}from"./index.js";import{k as de,D as Me}from"./index-BGZcCZJE.js";import{S as We}from"./SurveySidebar-NbXpjOVQ.js";import{c as qe,a as Ke}from"./index-DW4SYwQF.js";import{A as ae,l as Le}from"./lodash-UnagJnTM.js";import{T as He}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./hook-GVc5uk5F.js";const me=x.forwardRef(({className:e,bsPrefix:s,as:r="span",...c},l)=>(s=Ee(s,"input-group-text"),t.jsx(r,{ref:l,className:Te(e,s),...c})));me.displayName="InputGroupText";const Je=e=>t.jsx(me,{children:t.jsx(Re,{type:"checkbox",...e})}),Ye=e=>t.jsx(me,{children:t.jsx(Re,{type:"radio",...e})}),De=x.forwardRef(({bsPrefix:e,size:s,hasValidation:r,className:c,as:l="div",...a},h)=>{e=Ee(e,"input-group");const d=x.useMemo(()=>({}),[]);return t.jsx(qe.Provider,{value:d,children:t.jsx(l,{ref:h,...a,className:Te(c,e,s&&`${e}-${s}`,r&&"has-validation")})})});De.displayName="InputGroup";const ke=Object.assign(De,{Text:me,Radio:Ye,Checkbox:Je});function Qe(e){const s=Ae.c(10),{getConfig:r,setConfig:c}=x.useContext(Ge);let l;s[0]!==r||s[1]!==e?(l=r(e),s[0]=r,s[1]=e,s[2]=l):l=s[2];const a=l;let h;s[3]!==e||s[4]!==c?(h=(M,N)=>c(e,M,N),s[3]=e,s[4]=c,s[5]=h):h=s[5];let d;return s[6]!==a||s[7]!==e||s[8]!==h?(d={[e]:a,setConfig:h},s[6]=a,s[7]=e,s[8]=h,s[9]=d):d=s[9],d}async function Xe(){try{return await(await fetch("/api/user/list")).json()}catch{return[]}}async function Ze(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}async function ze(e,s){const r={id:e,...s},c={method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)},l=await fetch(`/api/user/${e}`,c),a=await l.json();if(!l.ok)throw new Error(a.message);return de.success(a.message),a.user}async function Pe(e){if(!window.confirm(`Are you sure you want to delete ${e.name} (${e.email})?`))return!1;const r={method:"DELETE",headers:{"Content-Type":"application/json"}},c=await fetch(`/api/user/${e.id}`,r),l=await c.json();if(!c.ok)throw new Error(l.message);return de.success(l.message),!0}const K=(e,s)=>e.role!=="admin"&&s.role==="admin"?1:e.role==="admin"&&s.role!=="admin"?-1:e.role==="user"&&s.role!=="user"?1:s.role==="user"&&e.role!=="user"?-1:!e.permissions.active&&s.permissions.active?1:e.permissions.active&&!s.permissions.active?-1:e.name.localeCompare(s.name);function ut(){const e=Ae.c(88);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],e[0]=s):s=e[0];const[r,c]=x.useState(s);let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[1]=l):l=e[1];const[a,h]=x.useState(l),{user:d,setUser:M}=x.useContext(Oe);let N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N={column:"ID",asc:!0},e[2]=N):N=e[2];const[f,Ne]=x.useState(N),[I,Ie]=x.useState(""),{setConfig:L,user_management:U}=Qe("user_management");let H;e[3]!==L||e[4]!==U?(H=(o,u)=>{const m=U??{},p=m==null?void 0:m.shownColumns;if(!p){L({...m,shownColumns:{[o]:u}});return}L({...m,shownColumns:{...p,[o]:u}})},e[3]=L,e[4]=U,e[5]=H):H=e[5];const ue=H;let J;e[6]!==U?(J=o=>{const u=U;if(!u)return!0;const m=u.shownColumns;return m?m[o]??!0:!0},e[6]=U,e[7]=J):J=e[7];const i=J;let Y,Q;e[8]===Symbol.for("react.memo_cache_sentinel")?(Y=()=>{Xe().then(o=>{c(o)}),Ze().then(o=>{h(o.sort(nt))})},Q=[],e[8]=Y,e[9]=Q):(Y=e[8],Q=e[9]),x.useEffect(Y,Q);let X;e[10]!==d.id||e[11]!==M||e[12]!==r?(X=(o,u)=>{const m=r.findIndex(v=>v.id===u.id),p=[...r],{name:q}=o.target,_={};q==="active"?_[q]=o.target.checked:_[q]=o.target.value,ze(u.id,_).then(v=>{v.id===d.id?M(v):(p[m]=v,c(p))}).catch(st)},e[10]=d.id,e[11]=M,e[12]=r,e[13]=X):X=e[13];const W=X;let Z;e[14]!==a?(Z=o=>{var u;return(u=a.find(m=>m.id==o||m.name==o))==null?void 0:u.id},e[14]=a,e[15]=Z):Z=e[15];const fe=Z,$e=tt,z=et;let k,E,T,j,y,g,R,A,C,b,w,D,$;if(e[16]!==I||e[17]!==fe||e[18]!==i||e[19]!==W||e[20]!==d||e[21]!==a||e[22]!==ue||e[23]!==f.asc||e[24]!==f.column||e[25]!==r){const o=["ID","Active","Role","Email","Full Name","OIDC Sub","NREN","Actions"],u={[o[1]]:$e,[o[2]]:z("role"),[o[3]]:z("email"),[o[4]]:z("name"),[o[6]]:z("nrens")},m=n=>{n===f.column?Ne({column:n,asc:!f.asc}):Ne({column:n,asc:!0})},p={};Array.from(Object.keys(u)).includes(f.column)?p[f.column]={"aria-sort":f.asc?"ascending":"descending"}:p[o[0]]={"aria-sort":f.asc?"ascending":"descending"};const q=u[f.column]??K,v=(I?r.filter(n=>n.email.includes(I)||n.name.includes(I)):r).filter(n=>n.id!==d.id).sort(q);f.asc||v.reverse(),e[39]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(We,{}),w=t.jsx(Me,{}),e[39]=b,e[40]=w):(b=e[39],w=e[40]),E=Ve,A="py-5 grey-container";let ee;e[41]===Symbol.for("react.memo_cache_sentinel")?(ee=t.jsx("div",{className:"text-center w-100 mb-3",children:t.jsx("h3",{children:"User Management Page"})}),e[41]=ee):ee=e[41];let te;e[42]===Symbol.for("react.memo_cache_sentinel")?(te={width:"30rem"},e[42]=te):te=e[42];let se;e[43]===Symbol.for("react.memo_cache_sentinel")?(se=t.jsxs(ae.Header,{children:[t.jsx("span",{className:"me-2",children:"Column Visibility"}),t.jsx("small",{className:"text-muted",children:"Choose which columns to display"})]}),e[43]=se):se=e[43];let ne;e[44]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx("small",{className:"text-muted mb-2 d-block",children:"Select which columns you want to display in the table below. Unchecked columns will be hidden."}),e[44]=ne):ne=e[44];let oe;e[45]===Symbol.for("react.memo_cache_sentinel")?(oe={gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:"10px"},e[45]=oe):oe=e[45];const he=t.jsx("div",{className:"d-grid",style:oe,children:o.map(n=>t.jsx(Se.Check,{type:"checkbox",id:`column-${n}`,label:n,checked:i(n),onChange:S=>ue(n,S.target.checked)},n))});let B;e[46]!==he?(B=t.jsx(ae,{className:"mb-3",style:te,children:t.jsxs(ae.Item,{eventKey:"0",children:[se,t.jsx(ae.Body,{children:t.jsxs(Se.Control,{as:"div",className:"p-3",children:[ne,he]})})]})}),e[46]=he,e[47]=B):B=e[47];let re,le;e[48]===Symbol.for("react.memo_cache_sentinel")?(re={width:"30rem"},le=t.jsx(ke.Text,{id:"search-text",children:"Search"}),e[48]=re,e[49]=le):(re=e[48],le=e[49]);let ie;e[50]===Symbol.for("react.memo_cache_sentinel")?(ie=t.jsx(Se.Control,{placeholder:"Search by email/name","aria-label":"Search",onInput:Le.debounce(n=>Ie(n.target.value),200)}),e[50]=ie):ie=e[50];let ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsxs(ke,{className:"mb-3",style:re,children:[le,ie,t.jsx(Ue,{variant:"outline-secondary",onClick:()=>{Ie("")},children:"Clear"})]}),e[51]=ce):ce=e[51],e[52]!==B?(C=t.jsxs(Be,{className:"d-flex justify-content-center align-items-center flex-column",children:[ee,B,ce]}),e[52]=B,e[53]=C):C=e[53],R="d-flex justify-content-center",e[54]===Symbol.for("react.memo_cache_sentinel")?(g={maxWidth:"100rem"},e[54]=g):g=e[54],k=He,$="user-management-table",T=!0;const pe=i(o[0])&&t.jsx("col",{span:1,style:{width:"8rem"}}),xe=i(o[1])&&t.jsx("col",{span:1,style:{width:"3rem"}}),je=i(o[2])&&t.jsx("col",{span:1,style:{width:"4.5rem"}}),ye=i(o[3])&&t.jsx("col",{span:1,style:{width:"7rem"}}),ge=i(o[4])&&t.jsx("col",{span:1,style:{width:"5rem"}}),Ce=i(o[5])&&t.jsx("col",{span:1,style:{width:"5rem"}}),be=i(o[6])&&t.jsx("col",{span:1,style:{width:"6rem"}}),we=i(o[7])&&t.jsx("col",{span:1,style:{width:"3rem"}});e[55]!==pe||e[56]!==xe||e[57]!==je||e[58]!==ye||e[59]!==ge||e[60]!==Ce||e[61]!==be||e[62]!==we?(j=t.jsxs("colgroup",{children:[pe,xe,je,ye,ge,Ce,be,we]}),e[55]=pe,e[56]=xe,e[57]=je,e[58]=ye,e[59]=ge,e[60]=Ce,e[61]=be,e[62]=we,e[63]=j):j=e[63];const ve=t.jsx("tr",{children:o.map(n=>i(n)&&t.jsx("th",{...p[n],onClick:()=>m(n),className:"sortable fixed-column",style:{border:"1px solid #ddd"},children:n},n))});e[64]!==ve?(y=t.jsx("thead",{children:ve}),e[64]=ve,e[65]=y):y=e[65],D=t.jsx("tbody",{children:(I?[]:[d]).concat(v).map(n=>t.jsxs("tr",{style:{fontWeight:n.id==d.id?"bold":"normal"},children:[i(o[0])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id}),i(o[1])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?t.jsx(Ke,{}):t.jsx("input",{type:"checkbox",name:"active",checked:n.permissions.active,onChange:S=>W(S,n)})}),i(o[2])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id==d.id?n.role.charAt(0).toUpperCase()+n.role.slice(1):t.jsxs("select",{name:"role",defaultValue:n.role,onChange:S=>W(S,n),style:{width:"100%"},children:[t.jsx("option",{value:"admin",children:"Admin"}),t.jsx("option",{value:"user",children:"User"}),t.jsx("option",{value:"observer",children:"Observer"})]})}),i(o[3])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.email}),i(o[4])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.name}),i(o[5])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.oidc_sub}),i(o[6])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:t.jsxs("select",{name:"nren",multiple:!1,value:n.nrens.length>0?fe(n.nrens[0]):"",onChange:S=>W(S,n),children:[t.jsx("option",{value:"",children:"Select NREN"}),a.map(_e)]})}),i(o[7])&&t.jsx("td",{style:{border:"1px dotted #ddd"},children:n.id!==d.id&&t.jsx(Ue,{variant:"danger",onClick:async()=>{if(n.id===d.id){de.error("You cannot delete yourself");return}await Pe(n)&&c(r.filter(Fe=>Fe.id!==n.id))},children:"Delete"})})]},n.id))}),e[16]=I,e[17]=fe,e[18]=i,e[19]=W,e[20]=d,e[21]=a,e[22]=ue,e[23]=f.asc,e[24]=f.column,e[25]=r,e[26]=k,e[27]=E,e[28]=T,e[29]=j,e[30]=y,e[31]=g,e[32]=R,e[33]=A,e[34]=C,e[35]=b,e[36]=w,e[37]=D,e[38]=$}else k=e[26],E=e[27],T=e[28],j=e[29],y=e[30],g=e[31],R=e[32],A=e[33],C=e[34],b=e[35],w=e[36],D=e[37],$=e[38];let F;e[66]!==k||e[67]!==T||e[68]!==j||e[69]!==y||e[70]!==D||e[71]!==$?(F=t.jsxs(k,{className:$,bordered:T,children:[j,y,D]}),e[66]=k,e[67]=T,e[68]=j,e[69]=y,e[70]=D,e[71]=$,e[72]=F):F=e[72];let G;e[73]!==g||e[74]!==F?(G=t.jsx("div",{style:g,children:F}),e[73]=g,e[74]=F,e[75]=G):G=e[75];let O;e[76]!==R||e[77]!==G?(O=t.jsx("div",{className:R,children:G}),e[76]=R,e[77]=G,e[78]=O):O=e[78];let V;e[79]!==E||e[80]!==A||e[81]!==C||e[82]!==O?(V=t.jsxs(E,{className:A,children:[C,O]}),e[79]=E,e[80]=A,e[81]=C,e[82]=O,e[83]=V):V=e[83];let P;return e[84]!==b||e[85]!==w||e[86]!==V?(P=t.jsxs(t.Fragment,{children:[b,w,V]}),e[84]=b,e[85]=w,e[86]=V,e[87]=P):P=e[87],P}function _e(e){return t.jsx("option",{value:e.id,children:e.name},e.id)}function et(e){return(s,r)=>{const c=s[e],l=r[e];if(e==="nrens")return s.nrens.length===0&&r.nrens.length===0?K(s,r):s.nrens.length===0?-1:r.nrens.length===0?1:s.nrens[0].localeCompare(r.nrens[0]);if(typeof c!="string"||typeof l!="string")return K(s,r);const a=c.localeCompare(l);return a===0?K(s,r):a}}function tt(e,s){return e.permissions.active&&!s.permissions.active?1:!e.permissions.active&&s.permissions.active?-1:K(e,s)}function st(e){de.error(e.message)}function nt(e,s){return e.name.localeCompare(s.name)}export{ut as default}; diff --git a/compendium_v2/static/WeatherMap-BWtEGyUR.js b/compendium_v2/static/WeatherMap-BWtEGyUR.js deleted file mode 100644 index 2085e69ff83d74b4a8b9cf6eb956d7dd2d3f3f07..0000000000000000000000000000000000000000 --- a/compendium_v2/static/WeatherMap-BWtEGyUR.js +++ /dev/null @@ -1 +0,0 @@ -import{c as _,r as b,F as w,j as d,S as g}from"./index.js";import{u as j,q as R,k as S,i as v,D as y,F as E,f as F}from"./useData-C0vA-Ut8.js";import{N as L}from"./NrenYearTable-BZB2R3F1.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function q(){const e=_.c(21),{filterSelection:t,setFilterSelection:o}=b.useContext(w),{data:i,nrens:m}=j("/api/weather-map",o);let a,n;if(e[0]!==i||e[1]!==t.selectedNrens){const x=i?R(i):[];let u;e[4]!==t.selectedNrens?(u=k=>t.selectedNrens.includes(k.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],a=x.filter(u);const D=S(a);n=v(D,C),e[0]=i,e[1]=t.selectedNrens,e[2]=a,e[3]=n}else a=e[2],n=e[3];const N=n;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let s;e[7]!==m?(s=m.values(),e[7]=m,e[8]=s):s=e[8];let r;e[9]!==s?(r={availableYears:c,availableNrens:[...s]},e[9]=s,e[10]=r):r=e[10];let f;e[11]!==t||e[12]!==o||e[13]!==r?(f=d.jsx(E,{filterOptions:r,filterSelection:t,setFilterSelection:o,coloredYears:!0}),e[11]=t,e[12]=o,e[13]=r,e[14]=f):f=e[14];const h=f;let l;e[15]!==N?(l=d.jsx(F,{children:d.jsx(L,{data:N,columnTitle:"Network Weather Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=N,e[16]=l):l=e[16];let p;return e[17]!==h||e[18]!==a||e[19]!==l?(p=d.jsx(y,{title:"NREN Online Network Weather Maps ",description:"This table shows the URL links to NREN websites showing weather map, if available.",category:g.Network,filter:h,data:a,filename:"weather_map_nrens_per_year",children:l}),e[17]=h,e[18]=a,e[19]=l,e[20]=p):p=e[20],p}function C(e,t){!!t.url&&(e[t.url]=t.url)}export{q as default}; diff --git a/compendium_v2/static/WeatherMap-DPu2PGnk.js b/compendium_v2/static/WeatherMap-DPu2PGnk.js new file mode 100644 index 0000000000000000000000000000000000000000..f891776ef80d2f466546fa2536670e470a5f39e6 --- /dev/null +++ b/compendium_v2/static/WeatherMap-DPu2PGnk.js @@ -0,0 +1 @@ +import{c as b,r as k,F as w,j as m,t as g,S as j}from"./index.js";import{u as S,q as v,k as y,i as F,D as L,F as R,f as C}from"./useData-Ct8E3VVL.js";import{N as E}from"./NrenYearTable-iS8aEX43.js";import"./SideBar-CkoMfgfL.js";import"./xlsx-BHRztzV8.js";import"./index-DIBz8YrO.js";import"./hook-GVc5uk5F.js";import"./Table-ClWM2_rS.js";function O(){const e=b.c(21),{filterSelection:t,setFilterSelection:o}=k.useContext(w),{data:i,nrens:d}=S("/api/weather-map",o);let a,n;if(e[0]!==i||e[1]!==t.selectedNrens){const x=i?v(i):[];let u;e[4]!==t.selectedNrens?(u=_=>t.selectedNrens.includes(_.nren),e[4]=t.selectedNrens,e[5]=u):u=e[5],a=x.filter(u);const D=y(a);n=F(D,T),e[0]=i,e[1]=t.selectedNrens,e[2]=a,e[3]=n}else a=e[2],n=e[3];const h=n;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let s;e[7]!==d?(s=d.values(),e[7]=d,e[8]=s):s=e[8];let r;e[9]!==s?(r={availableYears:c,availableNrens:[...s]},e[9]=s,e[10]=r):r=e[10];let f;e[11]!==t||e[12]!==o||e[13]!==r?(f=m.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:o,coloredYears:!0}),e[11]=t,e[12]=o,e[13]=r,e[14]=f):f=e[14];const N=f;let l;e[15]!==h?(l=m.jsx(C,{children:m.jsx(E,{data:h,columnTitle:"Network Weather Map",dottedBorder:!0,noDots:!0,keysAreURLs:!0,removeDecoration:!0})}),e[15]=h,e[16]=l):l=e[16];let p;return e[17]!==N||e[18]!==a||e[19]!==l?(p=m.jsx(L,{title:g["weather-map"],description:"This table shows the URL links to NREN websites showing weather map, if available.",category:j.Network,filter:N,data:a,filename:"weather_map_nrens_per_year",children:l}),e[17]=N,e[18]=a,e[19]=l,e[20]=p):p=e[20],p}function T(e,t){!!t.url&&(e[t.url]=t.url)}export{O as default}; diff --git a/compendium_v2/static/charthelpers-BVChP9u-.js b/compendium_v2/static/charthelpers-DmM6tvdh.js similarity index 96% rename from compendium_v2/static/charthelpers-BVChP9u-.js rename to compendium_v2/static/charthelpers-DmM6tvdh.js index edc3cbfa287bac6d390dcdccd6582f38d4fb5069..c7097f63416aadc732e5a5afe8c56af844de4619 100644 --- a/compendium_v2/static/charthelpers-BVChP9u-.js +++ b/compendium_v2/static/charthelpers-DmM6tvdh.js @@ -1 +1 @@ -import{C as l}from"./useData-C0vA-Ut8.js";const x=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,tickLimit:n,valueTransform:t})=>({responsive:!0,elements:{point:{pointStyle:"circle",pointRadius:4,pointBorderWidth:2,pointBackgroundColor:"white"}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(a){let s=r??(a.dataset.label||"");const e=t?t(a.parsed.y):a.parsed.y;return a.parsed.y!==null&&(s+=`: ${e} ${o||""}`),s}}}},scales:{y:{title:{display:!!i,text:i||""},ticks:{autoSkip:!0,maxTicksLimit:n,callback:a=>`${typeof a=="string"?a:t?t(a):a} ${c||""}`}}}}),y=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,valueTransform:n})=>({maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},chartDataLabels:{font:{family:'"Open Sans", sans-serif'}},tooltip:{callbacks:{label:function(t){let a=r??(t.dataset.label||"");const s=n?n(t.parsed.x):t.parsed.x;return t.parsed.y!==null&&(a+=`: ${s} ${o||""}`),a}}}},scales:{x:{title:{display:!!i,text:i||""},position:"top",ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`}},x2:{title:{display:!!i,text:i||""},ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const a=Object.keys(l.instances);let s=-999999,e=999999;for(const d of a)l.instances[d]&&t.chart.scales.x2&&(e=Math.min(l.instances[d].scales.x.min,e),s=Math.max(l.instances[d].scales.x.max,s));t.chart.scales.x2.options.min=e,t.chart.scales.x2.options.max=s,t.chart.scales.x2.min=e,t.chart.scales.x2.max=s}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"});export{y as a,x as g}; +import{C as l}from"./useData-Ct8E3VVL.js";const x=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,tickLimit:n,valueTransform:t})=>({responsive:!0,elements:{point:{pointStyle:"circle",pointRadius:4,pointBorderWidth:2,pointBackgroundColor:"white"}},animation:{duration:0},plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(a){let s=r??(a.dataset.label||"");const e=t?t(a.parsed.y):a.parsed.y;return a.parsed.y!==null&&(s+=`: ${e} ${o||""}`),s}}}},scales:{y:{title:{display:!!i,text:i||""},ticks:{autoSkip:!0,maxTicksLimit:n,callback:a=>`${typeof a=="string"?a:t?t(a):a} ${c||""}`}}}}),y=({title:i,unit:c,tooltipPrefix:r,tooltipUnit:o,valueTransform:n})=>({maintainAspectRatio:!1,layout:{padding:{right:60}},animation:{duration:0},plugins:{legend:{display:!1},chartDataLabels:{font:{family:'"Open Sans", sans-serif'}},tooltip:{callbacks:{label:function(t){let a=r??(t.dataset.label||"");const s=n?n(t.parsed.x):t.parsed.x;return t.parsed.y!==null&&(a+=`: ${s} ${o||""}`),a}}}},scales:{x:{title:{display:!!i,text:i||""},position:"top",ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`}},x2:{title:{display:!!i,text:i||""},ticks:{callback:t=>t&&`${n?n(t):t} ${c||""}`},grid:{drawOnChartArea:!1},afterDataLimits:function(t){const a=Object.keys(l.instances);let s=-999999,e=999999;for(const d of a)l.instances[d]&&t.chart.scales.x2&&(e=Math.min(l.instances[d].scales.x.min,e),s=Math.max(l.instances[d].scales.x.max,s));t.chart.scales.x2.options.min=e,t.chart.scales.x2.options.max=s,t.chart.scales.x2.min=e,t.chart.scales.x2.max=s}},y:{stacked:!0,ticks:{autoSkip:!1}}},indexAxis:"y"});export{y as a,x as g}; diff --git a/compendium_v2/static/chartjs-plugin-datalabels.esm-BObV249o.js b/compendium_v2/static/chartjs-plugin-datalabels.esm-BI98Iz1j.js similarity index 99% rename from compendium_v2/static/chartjs-plugin-datalabels.esm-BObV249o.js rename to compendium_v2/static/chartjs-plugin-datalabels.esm-BI98Iz1j.js index 05ab77cf50e11978dc54c991e760ecabd6e2df6d..2b94bbc1a87357983baffe57e1ac7e034f5e9846 100644 --- a/compendium_v2/static/chartjs-plugin-datalabels.esm-BObV249o.js +++ b/compendium_v2/static/chartjs-plugin-datalabels.esm-BI98Iz1j.js @@ -1,4 +1,4 @@ -import{x as g,y as J,z as f,A as K,E as q,G as V,H as W,I as p,J as Y,P as Q,B as Z,K as ee,M as re}from"./useData-C0vA-Ut8.js";/*! +import{x as g,y as J,z as f,A as K,E as q,G as V,H as W,I as p,J as Y,P as Q,B as Z,K as ee,M as re}from"./useData-Ct8E3VVL.js";/*! * chartjs-plugin-datalabels v2.2.0 * https://chartjs-plugin-datalabels.netlify.app * (c) 2017-2022 chartjs-plugin-datalabels contributors diff --git a/compendium_v2/static/index-BJrPLJgf.js b/compendium_v2/static/index-C4Nuqrw6.js similarity index 96% rename from compendium_v2/static/index-BJrPLJgf.js rename to compendium_v2/static/index-C4Nuqrw6.js index fe6bafc8352a004a032840c64932de8fd5a12b65..df6cbb83f55b9ab4d363231bfe03d321b840fde6 100644 --- a/compendium_v2/static/index-BJrPLJgf.js +++ b/compendium_v2/static/index-C4Nuqrw6.js @@ -1 +1 @@ -import{r as a,f as h}from"./index.js";import{C as b,t as L,v}from"./useData-C0vA-Ut8.js";const C="label";function m(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function B(t,e){const n=t.options;n&&e&&Object.assign(n,e)}function y(t,e){t.labels=e}function E(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:C;const o=[];t.datasets=e.map(s=>{const u=t.datasets.find(i=>i[n]===s[n]);return!u||!s.data||o.includes(u)?{...s}:(o.push(u),Object.assign(u,s),u)})}function T(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:C;const n={labels:[],datasets:[]};return y(n,t.labels),E(n,t.datasets,e),n}function j(t,e){const{height:n=150,width:o=300,redraw:s=!1,datasetIdKey:u,type:i,data:c,options:f,plugins:w=[],fallbackContent:I,updateMode:g,...K}=t,l=a.useRef(null),r=a.useRef(null),d=()=>{l.current&&(r.current=new b(l.current,{type:i,data:T(c,u),options:f&&{...f},plugins:w}),m(e,r.current))},p=()=>{m(e,null),r.current&&(r.current.destroy(),r.current=null)};return a.useEffect(()=>{!s&&r.current&&f&&B(r.current,f)},[s,f]),a.useEffect(()=>{!s&&r.current&&y(r.current.config.data,c.labels)},[s,c.labels]),a.useEffect(()=>{!s&&r.current&&c.datasets&&E(r.current.config.data,c.datasets,u)},[s,c.datasets]),a.useEffect(()=>{r.current&&(s?(p(),setTimeout(d)):r.current.update(g))},[s,f,c.labels,c.datasets,g]),a.useEffect(()=>{r.current&&(p(),setTimeout(d))},[i]),a.useEffect(()=>(d(),()=>p()),[]),h.createElement("canvas",{ref:l,role:"img",height:n,width:o,...K},I)}const D=a.forwardRef(j);function R(t,e){return b.register(e),a.forwardRef((n,o)=>h.createElement(D,{...n,ref:o,type:t}))}const M=R("line",L),P=R("bar",v);export{P as B,M as L}; +import{r as a,f as h}from"./index.js";import{C as b,t as L,v}from"./useData-Ct8E3VVL.js";const C="label";function m(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function B(t,e){const n=t.options;n&&e&&Object.assign(n,e)}function y(t,e){t.labels=e}function E(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:C;const o=[];t.datasets=e.map(s=>{const u=t.datasets.find(i=>i[n]===s[n]);return!u||!s.data||o.includes(u)?{...s}:(o.push(u),Object.assign(u,s),u)})}function T(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:C;const n={labels:[],datasets:[]};return y(n,t.labels),E(n,t.datasets,e),n}function j(t,e){const{height:n=150,width:o=300,redraw:s=!1,datasetIdKey:u,type:i,data:c,options:f,plugins:w=[],fallbackContent:I,updateMode:g,...K}=t,l=a.useRef(null),r=a.useRef(null),d=()=>{l.current&&(r.current=new b(l.current,{type:i,data:T(c,u),options:f&&{...f},plugins:w}),m(e,r.current))},p=()=>{m(e,null),r.current&&(r.current.destroy(),r.current=null)};return a.useEffect(()=>{!s&&r.current&&f&&B(r.current,f)},[s,f]),a.useEffect(()=>{!s&&r.current&&y(r.current.config.data,c.labels)},[s,c.labels]),a.useEffect(()=>{!s&&r.current&&c.datasets&&E(r.current.config.data,c.datasets,u)},[s,c.datasets]),a.useEffect(()=>{r.current&&(s?(p(),setTimeout(d)):r.current.update(g))},[s,f,c.labels,c.datasets,g]),a.useEffect(()=>{r.current&&(p(),setTimeout(d))},[i]),a.useEffect(()=>(d(),()=>p()),[]),h.createElement("canvas",{ref:l,role:"img",height:n,width:o,...K},I)}const D=a.forwardRef(j);function R(t,e){return b.register(e),a.forwardRef((n,o)=>h.createElement(D,{...n,ref:o,type:t}))}const M=R("line",L),P=R("bar",v);export{P as B,M as L}; diff --git a/compendium_v2/static/index-DW4SYwQF.js b/compendium_v2/static/index-DIBz8YrO.js similarity index 94% rename from compendium_v2/static/index-DW4SYwQF.js rename to compendium_v2/static/index-DIBz8YrO.js index 0b7cafe552d43742eb1c593a23a880e6eb994186..84a7fe308965e926f4261941ce533dd9b41e8ea9 100644 --- a/compendium_v2/static/index-DW4SYwQF.js +++ b/compendium_v2/static/index-DIBz8YrO.js @@ -1 +1 @@ -import{r as a,T as c}from"./index.js";const o=a.createContext(null);o.displayName="InputGroupContext";function n(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"},child:[]}]})(t)}function e(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}export{e as F,n as a,o as c}; +import{r as a,$ as c}from"./index.js";const o=a.createContext(null);o.displayName="InputGroupContext";function n(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"},child:[]}]})(t)}function e(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(t)}export{e as F,n as a,o as c}; diff --git a/compendium_v2/static/index.js b/compendium_v2/static/index.js index 6de4d9f21bf3c32ded6d2d5934c5ea658e869f99..6415df938a0838cb5b3027fa265f583f8ad50cec 100644 --- a/compendium_v2/static/index.js +++ b/compendium_v2/static/index.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Budget-Dcza_nDS.js","index-BJrPLJgf.js","useData-C0vA-Ut8.js","SideBar-Bzc5cONd.js","xlsx-BHRztzV8.js","index-DW4SYwQF.js","hook-GVc5uk5F.js","charthelpers-BVChP9u-.js","ChargingStructure-LPcFjEsG.js","PillTable-Cnj0nnFy.js","ColorPill-CXvWIfWz.js","Table-ClWM2_rS.js","ECProjects-ChLCZHki.js","NrenYearTable-BZB2R3F1.js","FundingSource-Bwu0iwfm.js","chartjs-plugin-datalabels.esm-BObV249o.js","ParentOrganisation-D0KpPI2s.js","StaffGraph-BWU39hrJ.js","HTMLLegendPlugin-B1D8JXQI.js","StaffGraphAbsolute-CMxNAPzl.js","SubOrganisation-BBUAiix9.js","Audits-tIxneKrE.js","BusinessContinuity-WayIenw9.js","CentralProcurement-ILLJKzCj.js","CorporateStrategy-DZFOGJiQ.js","CrisisExercises-DgB-Jzeh.js","CrisisManagement-C6sQvzSe.js","EOSCListings-DH_4uObR.js","Policy-9QlCddyw.js","SecurityControls-cN55VGDF.js","ServiceLevelTargets-CAul_Bb5.js","ServiceManagementFramework-Dr5HjYSA.js","ServicesOffered-Z3IepUcf.js","ScrollableMatrix-Dxr22l4i.js","ConnectedInstitutionsURLs-MamPTDnd.js","ConnectedUser-CSVPvLMN.js","RemoteCampuses-NUiCskMY.js","AlienWave-CoaJ4Ch0.js","AlienWaveInternal-F5JHtmfW.js","Automation-4jvTE-gK.js","CapacityCoreIP-DyN3YGAW.js","CapacityLargestLink-Dk26I_at.js","CertificateProvider-4SfZ4yzo.js","DarkFibreLease-D0G5a_C_.js","DarkFibreInstalled-BEuXjlBR.js","ExternalConnections-CI7Oci1W.js","FibreLight-CWljRLcS.js","IRUDuration-DwT4l7iu.js","MonitoringTools-D5EolQI7.js","NetworkFunctionVirtualisation-Ci3ZHBJN.js","NetworkMapUrls-CYYKJL7A.js","NonRAndEPeer-OZTW6B0e.js","OPsAutomation-BzaiKZKL.js","PassiveMonitoring-DrHRNpwv.js","PertTeam-B3F3NYFc.js","SiemVendors-BpJ6Liws.js","TrafficRatio-BRasghA5.js","TrafficUrl-DrUJ6TNq.js","TrafficVolume-DIkzyQG4.js","WeatherMap-BWtEGyUR.js","Services-UuW4JfkB.js","Landing-f86DzYca.js","survey-3meXCY6T.js","SurveySidebar-NbXpjOVQ.js","SurveyContainerComponent-D2pyP2dn.js","index-BGZcCZJE.js","survey.core-D1mOb2z9.js","validation-COFmylEH.js","Du0IQ9wh.css","SurveyManagementComponent-CNBvtq4g.js","lodash-UnagJnTM.js","UserManagementComponent-CvgRGQoR.js"])))=>i.map(i=>d[i]); -var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,configurable:!0,writable:!0,value:u}):a[i]=u;var Om=(a,i,u)=>Zg(a,typeof i!="symbol"?i+"":i,u);(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))c(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function u(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function c(o){if(o.ep)return;o.ep=!0;const f=u(o);fetch(o.href,f)}})();var Ox=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pr(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Is={exports:{}},ir={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["Budget-BVbbdsI6.js","index-C4Nuqrw6.js","useData-Ct8E3VVL.js","SideBar-CkoMfgfL.js","xlsx-BHRztzV8.js","index-DIBz8YrO.js","hook-GVc5uk5F.js","charthelpers-DmM6tvdh.js","ChargingStructure-D6vHlJZ3.js","PillTable-Cnj0nnFy.js","ColorPill-CXvWIfWz.js","Table-ClWM2_rS.js","ECProjects-CT3RTMct.js","NrenYearTable-iS8aEX43.js","FundingSource-C4jAa4nC.js","chartjs-plugin-datalabels.esm-BI98Iz1j.js","ParentOrganisation-BqnVV9Ka.js","StaffGraph-DXD4Tgbx.js","HTMLLegendPlugin-sjJV-MGB.js","StaffGraphAbsolute-A86Vah2E.js","SubOrganisation-ldENjIwX.js","Audits-BldRnziS.js","BusinessContinuity-CLtH4Vxm.js","CentralProcurement-ufKA5cDY.js","CorporateStrategy-CQ2aByV3.js","CrisisExercises-Bw4pZ1iW.js","CrisisManagement-TH7W12RY.js","EOSCListings-v4hLpISP.js","Policy-DTXx03Vh.js","SecurityControls-TM-ptOes.js","ServiceLevelTargets-DMHnzoF5.js","ServiceManagementFramework-D-rGA4sI.js","ServicesOffered-BQGRxlwg.js","ScrollableMatrix-Dxr22l4i.js","ConnectedInstitutionsURLs-gUMBROcH.js","ConnectedUser-C39phNBn.js","RemoteCampuses-DiA5hlnD.js","AlienWave-DhaC80F-.js","AlienWaveInternal-CeuaDpIY.js","Automation-BAaw7w82.js","CapacityCoreIP-CjzYJH11.js","CapacityLargestLink-CCiZ1Jtj.js","CertificateProvider-S4Idgrmz.js","DarkFibreLease-C_DLt-sT.js","DarkFibreInstalled-XMYWXP4t.js","ExternalConnections-Ds1slbkO.js","FibreLight-C4tQtRYN.js","IRUDuration-C1dUeB3y.js","MonitoringTools-BrAyjiGW.js","NetworkFunctionVirtualisation-BSD5a3W2.js","NetworkMapUrls-iZSn2qqQ.js","NonRAndEPeer-Cn_ozVAu.js","OPsAutomation-Bc59w9gr.js","PassiveMonitoring-NXmN_EjG.js","PertTeam-64HTdccQ.js","SiemVendors-Ba9ZMN9z.js","TrafficRatio-p8ISc0n1.js","TrafficUrl-Cupk7MWX.js","TrafficVolume-C0Yprx37.js","WeatherMap-DPu2PGnk.js","Services-5TAXBWqD.js","Landing-B1Sq71Lu.js","survey-3meXCY6T.js","SurveySidebar-CG0gwQ6b.js","SurveyContainerComponent-BmuW9EVe.js","index-BGZcCZJE.js","survey.core-D1mOb2z9.js","validation-COFmylEH.js","Du0IQ9wh.css","SurveyManagementComponent-BvOZUwZZ.js","lodash-CeHp3pZo.js","UserManagementComponent-BsFczL9E.js"])))=>i.map(i=>d[i]); +var Kg=Object.defineProperty;var $g=(l,n,c)=>n in l?Kg(l,n,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[n]=c;var wm=(l,n,c)=>$g(l,typeof n!="symbol"?n+"":n,c);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))s(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&s(d)}).observe(document,{childList:!0,subtree:!0});function c(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function s(u){if(u.ep)return;u.ep=!0;const f=c(u);fetch(u.href,f)}})();var U2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function fr(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var to={exports:{}},er={};/** * @license React * react-jsx-runtime.production.js * @@ -7,7 +7,7 @@ var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Dm;function Kg(){if(Dm)return ir;Dm=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function u(c,o,f){var m=null;if(f!==void 0&&(m=""+f),o.key!==void 0&&(m=""+o.key),"key"in o){f={};for(var y in o)y!=="key"&&(f[y]=o[y])}else f=o;return o=f.ref,{$$typeof:a,type:c,key:m,ref:o!==void 0?o:null,props:f}}return ir.Fragment=i,ir.jsx=u,ir.jsxs=u,ir}var Am;function $g(){return Am||(Am=1,Is.exports=Kg()),Is.exports}var h=$g(),eo={exports:{}},Ne={};/** + */var Am;function Fg(){if(Am)return er;Am=1;var l=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function c(s,u,f){var d=null;if(f!==void 0&&(d=""+f),u.key!==void 0&&(d=""+u.key),"key"in u){f={};for(var y in u)y!=="key"&&(f[y]=u[y])}else f=u;return u=f.ref,{$$typeof:l,type:s,key:d,ref:u!==void 0?u:null,props:f}}return er.Fragment=n,er.jsx=c,er.jsxs=c,er}var Mm;function Jg(){return Mm||(Mm=1,to.exports=Fg()),to.exports}var h=Jg(),no={exports:{}},je={};/** * @license React * react.production.js * @@ -15,7 +15,7 @@ var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var wm;function Jg(){if(wm)return Ne;wm=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),m=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),T=Symbol.iterator;function x(_){return _===null||typeof _!="object"?null:(_=T&&_[T]||_["@@iterator"],typeof _=="function"?_:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,k={};function B(_,V,ne){this.props=_,this.context=V,this.refs=k,this.updater=ne||R}B.prototype.isReactComponent={},B.prototype.setState=function(_,V){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,V,"setState")},B.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function U(){}U.prototype=B.prototype;function Y(_,V,ne){this.props=_,this.context=V,this.refs=k,this.updater=ne||R}var $=Y.prototype=new U;$.constructor=Y,w($,B.prototype),$.isPureReactComponent=!0;var ee=Array.isArray,J={H:null,A:null,T:null,S:null},O=Object.prototype.hasOwnProperty;function ue(_,V,ne,W,F,ge){return ne=ge.ref,{$$typeof:a,type:_,key:V,ref:ne!==void 0?ne:null,props:ge}}function be(_,V){return ue(_.type,V,void 0,void 0,void 0,_.props)}function Z(_){return typeof _=="object"&&_!==null&&_.$$typeof===a}function ie(_){var V={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(ne){return V[ne]})}var je=/\/+/g;function Ie(_,V){return typeof _=="object"&&_!==null&&_.key!=null?ie(""+_.key):V.toString(36)}function et(){}function Qe(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(et,et):(_.status="pending",_.then(function(V){_.status==="pending"&&(_.status="fulfilled",_.value=V)},function(V){_.status==="pending"&&(_.status="rejected",_.reason=V)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function Ye(_,V,ne,W,F){var ge=typeof _;(ge==="undefined"||ge==="boolean")&&(_=null);var he=!1;if(_===null)he=!0;else switch(ge){case"bigint":case"string":case"number":he=!0;break;case"object":switch(_.$$typeof){case a:case i:he=!0;break;case b:return he=_._init,Ye(he(_._payload),V,ne,W,F)}}if(he)return F=F(_),he=W===""?"."+Ie(_,0):W,ee(F)?(ne="",he!=null&&(ne=he.replace(je,"$&/")+"/"),Ye(F,V,ne,"",function(He){return He})):F!=null&&(Z(F)&&(F=be(F,ne+(F.key==null||_&&_.key===F.key?"":(""+F.key).replace(je,"$&/")+"/")+he)),V.push(F)),1;he=0;var Ze=W===""?".":W+":";if(ee(_))for(var Te=0;Te<_.length;Te++)W=_[Te],ge=Ze+Ie(W,Te),he+=Ye(W,V,ne,ge,F);else if(Te=x(_),typeof Te=="function")for(_=Te.call(_),Te=0;!(W=_.next()).done;)W=W.value,ge=Ze+Ie(W,Te++),he+=Ye(W,V,ne,ge,F);else if(ge==="object"){if(typeof _.then=="function")return Ye(Qe(_),V,ne,W,F);throw V=String(_),Error("Objects are not valid as a React child (found: "+(V==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":V)+"). If you meant to render a collection of children, use an array instead.")}return he}function X(_,V,ne){if(_==null)return _;var W=[],F=0;return Ye(_,W,"","",function(ge){return V.call(ne,ge,F++)}),W}function oe(_){if(_._status===-1){var V=_._result;V=V(),V.then(function(ne){(_._status===0||_._status===-1)&&(_._status=1,_._result=ne)},function(ne){(_._status===0||_._status===-1)&&(_._status=2,_._result=ne)}),_._status===-1&&(_._status=0,_._result=V)}if(_._status===1)return _._result.default;throw _._result}var I=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var V=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(V))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)};function Re(){}return Ne.Children={map:X,forEach:function(_,V,ne){X(_,function(){V.apply(this,arguments)},ne)},count:function(_){var V=0;return X(_,function(){V++}),V},toArray:function(_){return X(_,function(V){return V})||[]},only:function(_){if(!Z(_))throw Error("React.Children.only expected to receive a single React element child.");return _}},Ne.Component=B,Ne.Fragment=u,Ne.Profiler=o,Ne.PureComponent=Y,Ne.StrictMode=c,Ne.Suspense=v,Ne.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=J,Ne.act=function(){throw Error("act(...) is not supported in production builds of React.")},Ne.cache=function(_){return function(){return _.apply(null,arguments)}},Ne.cloneElement=function(_,V,ne){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var W=w({},_.props),F=_.key,ge=void 0;if(V!=null)for(he in V.ref!==void 0&&(ge=void 0),V.key!==void 0&&(F=""+V.key),V)!O.call(V,he)||he==="key"||he==="__self"||he==="__source"||he==="ref"&&V.ref===void 0||(W[he]=V[he]);var he=arguments.length-2;if(he===1)W.children=ne;else if(1<he){for(var Ze=Array(he),Te=0;Te<he;Te++)Ze[Te]=arguments[Te+2];W.children=Ze}return ue(_.type,F,void 0,void 0,ge,W)},Ne.createContext=function(_){return _={$$typeof:m,_currentValue:_,_currentValue2:_,_threadCount:0,Provider:null,Consumer:null},_.Provider=_,_.Consumer={$$typeof:f,_context:_},_},Ne.createElement=function(_,V,ne){var W,F={},ge=null;if(V!=null)for(W in V.key!==void 0&&(ge=""+V.key),V)O.call(V,W)&&W!=="key"&&W!=="__self"&&W!=="__source"&&(F[W]=V[W]);var he=arguments.length-2;if(he===1)F.children=ne;else if(1<he){for(var Ze=Array(he),Te=0;Te<he;Te++)Ze[Te]=arguments[Te+2];F.children=Ze}if(_&&_.defaultProps)for(W in he=_.defaultProps,he)F[W]===void 0&&(F[W]=he[W]);return ue(_,ge,void 0,void 0,null,F)},Ne.createRef=function(){return{current:null}},Ne.forwardRef=function(_){return{$$typeof:y,render:_}},Ne.isValidElement=Z,Ne.lazy=function(_){return{$$typeof:b,_payload:{_status:-1,_result:_},_init:oe}},Ne.memo=function(_,V){return{$$typeof:p,type:_,compare:V===void 0?null:V}},Ne.startTransition=function(_){var V=J.T,ne={};J.T=ne;try{var W=_(),F=J.S;F!==null&&F(ne,W),typeof W=="object"&&W!==null&&typeof W.then=="function"&&W.then(Re,I)}catch(ge){I(ge)}finally{J.T=V}},Ne.unstable_useCacheRefresh=function(){return J.H.useCacheRefresh()},Ne.use=function(_){return J.H.use(_)},Ne.useActionState=function(_,V,ne){return J.H.useActionState(_,V,ne)},Ne.useCallback=function(_,V){return J.H.useCallback(_,V)},Ne.useContext=function(_){return J.H.useContext(_)},Ne.useDebugValue=function(){},Ne.useDeferredValue=function(_,V){return J.H.useDeferredValue(_,V)},Ne.useEffect=function(_,V){return J.H.useEffect(_,V)},Ne.useId=function(){return J.H.useId()},Ne.useImperativeHandle=function(_,V,ne){return J.H.useImperativeHandle(_,V,ne)},Ne.useInsertionEffect=function(_,V){return J.H.useInsertionEffect(_,V)},Ne.useLayoutEffect=function(_,V){return J.H.useLayoutEffect(_,V)},Ne.useMemo=function(_,V){return J.H.useMemo(_,V)},Ne.useOptimistic=function(_,V){return J.H.useOptimistic(_,V)},Ne.useReducer=function(_,V,ne){return J.H.useReducer(_,V,ne)},Ne.useRef=function(_){return J.H.useRef(_)},Ne.useState=function(_){return J.H.useState(_)},Ne.useSyncExternalStore=function(_,V,ne){return J.H.useSyncExternalStore(_,V,ne)},Ne.useTransition=function(){return J.H.useTransition()},Ne.version="19.0.0",Ne}var Mm;function Xu(){return Mm||(Mm=1,eo.exports=Jg()),eo.exports}var g=Xu();const Vt=pr(g);var to={exports:{}},rr={},no={exports:{}},ao={};/** + */var zm;function Pg(){if(zm)return je;zm=1;var l=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),d=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),R=Symbol.iterator;function S(T){return T===null||typeof T!="object"?null:(T=R&&T[R]||T["@@iterator"],typeof T=="function"?T:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,H={};function U(T,Q,le){this.props=T,this.context=Q,this.refs=H,this.updater=le||_}U.prototype.isReactComponent={},U.prototype.setState=function(T,Q){if(typeof T!="object"&&typeof T!="function"&&T!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,T,Q,"setState")},U.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function M(){}M.prototype=U.prototype;function q(T,Q,le){this.props=T,this.context=Q,this.refs=H,this.updater=le||_}var Y=q.prototype=new M;Y.constructor=q,O(Y,U.prototype),Y.isPureReactComponent=!0;var J=Array.isArray,k={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function W(T,Q,le,te,P,ge){return le=ge.ref,{$$typeof:l,type:T,key:Q,ref:le!==void 0?le:null,props:ge}}function ie(T,Q){return W(T.type,Q,void 0,void 0,void 0,T.props)}function X(T){return typeof T=="object"&&T!==null&&T.$$typeof===l}function I(T){var Q={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(le){return Q[le]})}var de=/\/+/g;function Ne(T,Q){return typeof T=="object"&&T!==null&&T.key!=null?I(""+T.key):Q.toString(36)}function Ye(){}function Be(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(Ye,Ye):(T.status="pending",T.then(function(Q){T.status==="pending"&&(T.status="fulfilled",T.value=Q)},function(Q){T.status==="pending"&&(T.status="rejected",T.reason=Q)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function ze(T,Q,le,te,P){var ge=typeof T;(ge==="undefined"||ge==="boolean")&&(T=null);var ye=!1;if(T===null)ye=!0;else switch(ge){case"bigint":case"string":case"number":ye=!0;break;case"object":switch(T.$$typeof){case l:case n:ye=!0;break;case b:return ye=T._init,ze(ye(T._payload),Q,le,te,P)}}if(ye)return P=P(T),ye=te===""?"."+Ne(T,0):te,J(P)?(le="",ye!=null&&(le=ye.replace(de,"$&/")+"/"),ze(P,Q,le,"",function(Le){return Le})):P!=null&&(X(P)&&(P=ie(P,le+(P.key==null||T&&T.key===P.key?"":(""+P.key).replace(de,"$&/")+"/")+ye)),Q.push(P)),1;ye=0;var Je=te===""?".":te+":";if(J(T))for(var Ce=0;Ce<T.length;Ce++)te=T[Ce],ge=Je+Ne(te,Ce),ye+=ze(te,Q,le,ge,P);else if(Ce=S(T),typeof Ce=="function")for(T=Ce.call(T),Ce=0;!(te=T.next()).done;)te=te.value,ge=Je+Ne(te,Ce++),ye+=ze(te,Q,le,ge,P);else if(ge==="object"){if(typeof T.then=="function")return ze(Be(T),Q,le,te,P);throw Q=String(T),Error("Objects are not valid as a React child (found: "+(Q==="[object Object]"?"object with keys {"+Object.keys(T).join(", ")+"}":Q)+"). If you meant to render a collection of children, use an array instead.")}return ye}function K(T,Q,le){if(T==null)return T;var te=[],P=0;return ze(T,te,"","",function(ge){return Q.call(le,ge,P++)}),te}function ce(T){if(T._status===-1){var Q=T._result;Q=Q(),Q.then(function(le){(T._status===0||T._status===-1)&&(T._status=1,T._result=le)},function(le){(T._status===0||T._status===-1)&&(T._status=2,T._result=le)}),T._status===-1&&(T._status=0,T._result=Q)}if(T._status===1)return T._result.default;throw T._result}var ne=typeof reportError=="function"?reportError:function(T){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof T=="object"&&T!==null&&typeof T.message=="string"?String(T.message):String(T),error:T});if(!window.dispatchEvent(Q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",T);return}console.error(T)};function Re(){}return je.Children={map:K,forEach:function(T,Q,le){K(T,function(){Q.apply(this,arguments)},le)},count:function(T){var Q=0;return K(T,function(){Q++}),Q},toArray:function(T){return K(T,function(Q){return Q})||[]},only:function(T){if(!X(T))throw Error("React.Children.only expected to receive a single React element child.");return T}},je.Component=U,je.Fragment=c,je.Profiler=u,je.PureComponent=q,je.StrictMode=s,je.Suspense=v,je.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,je.act=function(){throw Error("act(...) is not supported in production builds of React.")},je.cache=function(T){return function(){return T.apply(null,arguments)}},je.cloneElement=function(T,Q,le){if(T==null)throw Error("The argument must be a React element, but you passed "+T+".");var te=O({},T.props),P=T.key,ge=void 0;if(Q!=null)for(ye in Q.ref!==void 0&&(ge=void 0),Q.key!==void 0&&(P=""+Q.key),Q)!N.call(Q,ye)||ye==="key"||ye==="__self"||ye==="__source"||ye==="ref"&&Q.ref===void 0||(te[ye]=Q[ye]);var ye=arguments.length-2;if(ye===1)te.children=le;else if(1<ye){for(var Je=Array(ye),Ce=0;Ce<ye;Ce++)Je[Ce]=arguments[Ce+2];te.children=Je}return W(T.type,P,void 0,void 0,ge,te)},je.createContext=function(T){return T={$$typeof:d,_currentValue:T,_currentValue2:T,_threadCount:0,Provider:null,Consumer:null},T.Provider=T,T.Consumer={$$typeof:f,_context:T},T},je.createElement=function(T,Q,le){var te,P={},ge=null;if(Q!=null)for(te in Q.key!==void 0&&(ge=""+Q.key),Q)N.call(Q,te)&&te!=="key"&&te!=="__self"&&te!=="__source"&&(P[te]=Q[te]);var ye=arguments.length-2;if(ye===1)P.children=le;else if(1<ye){for(var Je=Array(ye),Ce=0;Ce<ye;Ce++)Je[Ce]=arguments[Ce+2];P.children=Je}if(T&&T.defaultProps)for(te in ye=T.defaultProps,ye)P[te]===void 0&&(P[te]=ye[te]);return W(T,ge,void 0,void 0,null,P)},je.createRef=function(){return{current:null}},je.forwardRef=function(T){return{$$typeof:y,render:T}},je.isValidElement=X,je.lazy=function(T){return{$$typeof:b,_payload:{_status:-1,_result:T},_init:ce}},je.memo=function(T,Q){return{$$typeof:p,type:T,compare:Q===void 0?null:Q}},je.startTransition=function(T){var Q=k.T,le={};k.T=le;try{var te=T(),P=k.S;P!==null&&P(le,te),typeof te=="object"&&te!==null&&typeof te.then=="function"&&te.then(Re,ne)}catch(ge){ne(ge)}finally{k.T=Q}},je.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},je.use=function(T){return k.H.use(T)},je.useActionState=function(T,Q,le){return k.H.useActionState(T,Q,le)},je.useCallback=function(T,Q){return k.H.useCallback(T,Q)},je.useContext=function(T){return k.H.useContext(T)},je.useDebugValue=function(){},je.useDeferredValue=function(T,Q){return k.H.useDeferredValue(T,Q)},je.useEffect=function(T,Q){return k.H.useEffect(T,Q)},je.useId=function(){return k.H.useId()},je.useImperativeHandle=function(T,Q,le){return k.H.useImperativeHandle(T,Q,le)},je.useInsertionEffect=function(T,Q){return k.H.useInsertionEffect(T,Q)},je.useLayoutEffect=function(T,Q){return k.H.useLayoutEffect(T,Q)},je.useMemo=function(T,Q){return k.H.useMemo(T,Q)},je.useOptimistic=function(T,Q){return k.H.useOptimistic(T,Q)},je.useReducer=function(T,Q,le){return k.H.useReducer(T,Q,le)},je.useRef=function(T){return k.H.useRef(T)},je.useState=function(T){return k.H.useState(T)},je.useSyncExternalStore=function(T,Q,le){return k.H.useSyncExternalStore(T,Q,le)},je.useTransition=function(){return k.H.useTransition()},je.version="19.0.0",je}var Lm;function ku(){return Lm||(Lm=1,no.exports=Pg()),no.exports}var g=ku();const Yt=fr(g);var ao={exports:{}},tr={},lo={exports:{}},io={};/** * @license React * scheduler.production.js * @@ -23,7 +23,7 @@ var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zm;function Fg(){return zm||(zm=1,function(a){function i(X,oe){var I=X.length;X.push(oe);e:for(;0<I;){var Re=I-1>>>1,_=X[Re];if(0<o(_,oe))X[Re]=oe,X[I]=_,I=Re;else break e}}function u(X){return X.length===0?null:X[0]}function c(X){if(X.length===0)return null;var oe=X[0],I=X.pop();if(I!==oe){X[0]=I;e:for(var Re=0,_=X.length,V=_>>>1;Re<V;){var ne=2*(Re+1)-1,W=X[ne],F=ne+1,ge=X[F];if(0>o(W,I))F<_&&0>o(ge,W)?(X[Re]=ge,X[F]=I,Re=F):(X[Re]=W,X[ne]=I,Re=ne);else if(F<_&&0>o(ge,I))X[Re]=ge,X[F]=I,Re=F;else break e}}return oe}function o(X,oe){var I=X.sortIndex-oe.sortIndex;return I!==0?I:X.id-oe.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;a.unstable_now=function(){return f.now()}}else{var m=Date,y=m.now();a.unstable_now=function(){return m.now()-y}}var v=[],p=[],b=1,T=null,x=3,R=!1,w=!1,k=!1,B=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,Y=typeof setImmediate<"u"?setImmediate:null;function $(X){for(var oe=u(p);oe!==null;){if(oe.callback===null)c(p);else if(oe.startTime<=X)c(p),oe.sortIndex=oe.expirationTime,i(v,oe);else break;oe=u(p)}}function ee(X){if(k=!1,$(X),!w)if(u(v)!==null)w=!0,Qe();else{var oe=u(p);oe!==null&&Ye(ee,oe.startTime-X)}}var J=!1,O=-1,ue=5,be=-1;function Z(){return!(a.unstable_now()-be<ue)}function ie(){if(J){var X=a.unstable_now();be=X;var oe=!0;try{e:{w=!1,k&&(k=!1,U(O),O=-1),R=!0;var I=x;try{t:{for($(X),T=u(v);T!==null&&!(T.expirationTime>X&&Z());){var Re=T.callback;if(typeof Re=="function"){T.callback=null,x=T.priorityLevel;var _=Re(T.expirationTime<=X);if(X=a.unstable_now(),typeof _=="function"){T.callback=_,$(X),oe=!0;break t}T===u(v)&&c(v),$(X)}else c(v);T=u(v)}if(T!==null)oe=!0;else{var V=u(p);V!==null&&Ye(ee,V.startTime-X),oe=!1}}break e}finally{T=null,x=I,R=!1}oe=void 0}}finally{oe?je():J=!1}}}var je;if(typeof Y=="function")je=function(){Y(ie)};else if(typeof MessageChannel<"u"){var Ie=new MessageChannel,et=Ie.port2;Ie.port1.onmessage=ie,je=function(){et.postMessage(null)}}else je=function(){B(ie,0)};function Qe(){J||(J=!0,je())}function Ye(X,oe){O=B(function(){X(a.unstable_now())},oe)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(X){X.callback=null},a.unstable_continueExecution=function(){w||R||(w=!0,Qe())},a.unstable_forceFrameRate=function(X){0>X||125<X?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ue=0<X?Math.floor(1e3/X):5},a.unstable_getCurrentPriorityLevel=function(){return x},a.unstable_getFirstCallbackNode=function(){return u(v)},a.unstable_next=function(X){switch(x){case 1:case 2:case 3:var oe=3;break;default:oe=x}var I=x;x=oe;try{return X()}finally{x=I}},a.unstable_pauseExecution=function(){},a.unstable_requestPaint=function(){},a.unstable_runWithPriority=function(X,oe){switch(X){case 1:case 2:case 3:case 4:case 5:break;default:X=3}var I=x;x=X;try{return oe()}finally{x=I}},a.unstable_scheduleCallback=function(X,oe,I){var Re=a.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?Re+I:Re):I=Re,X){case 1:var _=-1;break;case 2:_=250;break;case 5:_=1073741823;break;case 4:_=1e4;break;default:_=5e3}return _=I+_,X={id:b++,callback:oe,priorityLevel:X,startTime:I,expirationTime:_,sortIndex:-1},I>Re?(X.sortIndex=I,i(p,X),u(v)===null&&X===u(p)&&(k?(U(O),O=-1):k=!0,Ye(ee,I-Re))):(X.sortIndex=_,i(v,X),w||R||(w=!0,Qe())),X},a.unstable_shouldYield=Z,a.unstable_wrapCallback=function(X){var oe=x;return function(){var I=x;x=oe;try{return X.apply(this,arguments)}finally{x=I}}}}(ao)),ao}var Lm;function Pg(){return Lm||(Lm=1,no.exports=Fg()),no.exports}var lo={exports:{}},kt={};/** + */var Um;function Wg(){return Um||(Um=1,function(l){function n(K,ce){var ne=K.length;K.push(ce);e:for(;0<ne;){var Re=ne-1>>>1,T=K[Re];if(0<u(T,ce))K[Re]=ce,K[ne]=T,ne=Re;else break e}}function c(K){return K.length===0?null:K[0]}function s(K){if(K.length===0)return null;var ce=K[0],ne=K.pop();if(ne!==ce){K[0]=ne;e:for(var Re=0,T=K.length,Q=T>>>1;Re<Q;){var le=2*(Re+1)-1,te=K[le],P=le+1,ge=K[P];if(0>u(te,ne))P<T&&0>u(ge,te)?(K[Re]=ge,K[P]=ne,Re=P):(K[Re]=te,K[le]=ne,Re=le);else if(P<T&&0>u(ge,ne))K[Re]=ge,K[P]=ne,Re=P;else break e}}return ce}function u(K,ce){var ne=K.sortIndex-ce.sortIndex;return ne!==0?ne:K.id-ce.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;l.unstable_now=function(){return f.now()}}else{var d=Date,y=d.now();l.unstable_now=function(){return d.now()-y}}var v=[],p=[],b=1,R=null,S=3,_=!1,O=!1,H=!1,U=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,q=typeof setImmediate<"u"?setImmediate:null;function Y(K){for(var ce=c(p);ce!==null;){if(ce.callback===null)s(p);else if(ce.startTime<=K)s(p),ce.sortIndex=ce.expirationTime,n(v,ce);else break;ce=c(p)}}function J(K){if(H=!1,Y(K),!O)if(c(v)!==null)O=!0,Be();else{var ce=c(p);ce!==null&&ze(J,ce.startTime-K)}}var k=!1,N=-1,W=5,ie=-1;function X(){return!(l.unstable_now()-ie<W)}function I(){if(k){var K=l.unstable_now();ie=K;var ce=!0;try{e:{O=!1,H&&(H=!1,M(N),N=-1),_=!0;var ne=S;try{t:{for(Y(K),R=c(v);R!==null&&!(R.expirationTime>K&&X());){var Re=R.callback;if(typeof Re=="function"){R.callback=null,S=R.priorityLevel;var T=Re(R.expirationTime<=K);if(K=l.unstable_now(),typeof T=="function"){R.callback=T,Y(K),ce=!0;break t}R===c(v)&&s(v),Y(K)}else s(v);R=c(v)}if(R!==null)ce=!0;else{var Q=c(p);Q!==null&&ze(J,Q.startTime-K),ce=!1}}break e}finally{R=null,S=ne,_=!1}ce=void 0}}finally{ce?de():k=!1}}}var de;if(typeof q=="function")de=function(){q(I)};else if(typeof MessageChannel<"u"){var Ne=new MessageChannel,Ye=Ne.port2;Ne.port1.onmessage=I,de=function(){Ye.postMessage(null)}}else de=function(){U(I,0)};function Be(){k||(k=!0,de())}function ze(K,ce){N=U(function(){K(l.unstable_now())},ce)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(K){K.callback=null},l.unstable_continueExecution=function(){O||_||(O=!0,Be())},l.unstable_forceFrameRate=function(K){0>K||125<K?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):W=0<K?Math.floor(1e3/K):5},l.unstable_getCurrentPriorityLevel=function(){return S},l.unstable_getFirstCallbackNode=function(){return c(v)},l.unstable_next=function(K){switch(S){case 1:case 2:case 3:var ce=3;break;default:ce=S}var ne=S;S=ce;try{return K()}finally{S=ne}},l.unstable_pauseExecution=function(){},l.unstable_requestPaint=function(){},l.unstable_runWithPriority=function(K,ce){switch(K){case 1:case 2:case 3:case 4:case 5:break;default:K=3}var ne=S;S=K;try{return ce()}finally{S=ne}},l.unstable_scheduleCallback=function(K,ce,ne){var Re=l.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0<ne?Re+ne:Re):ne=Re,K){case 1:var T=-1;break;case 2:T=250;break;case 5:T=1073741823;break;case 4:T=1e4;break;default:T=5e3}return T=ne+T,K={id:b++,callback:ce,priorityLevel:K,startTime:ne,expirationTime:T,sortIndex:-1},ne>Re?(K.sortIndex=ne,n(p,K),c(v)===null&&K===c(p)&&(H?(M(N),N=-1):H=!0,ze(J,ne-Re))):(K.sortIndex=T,n(v,K),O||_||(O=!0,Be())),K},l.unstable_shouldYield=X,l.unstable_wrapCallback=function(K){var ce=S;return function(){var ne=S;S=ce;try{return K.apply(this,arguments)}finally{S=ne}}}}(io)),io}var Hm;function Ig(){return Hm||(Hm=1,lo.exports=Wg()),lo.exports}var ro={exports:{}},Vt={};/** * @license React * react-dom.production.js * @@ -31,7 +31,7 @@ var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Um;function Wg(){if(Um)return kt;Um=1;var a=Xu();function i(v){var p="https://react.dev/errors/"+v;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var b=2;b<arguments.length;b++)p+="&args[]="+encodeURIComponent(arguments[b])}return"Minified React error #"+v+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(){}var c={d:{f:u,r:function(){throw Error(i(522))},D:u,C:u,L:u,m:u,X:u,S:u,M:u},p:0,findDOMNode:null},o=Symbol.for("react.portal");function f(v,p,b){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:T==null?null:""+T,children:v,containerInfo:p,implementation:b}}var m=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function y(v,p){if(v==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return kt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=c,kt.createPortal=function(v,p){var b=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(i(299));return f(v,p,null,b)},kt.flushSync=function(v){var p=m.T,b=c.p;try{if(m.T=null,c.p=2,v)return v()}finally{m.T=p,c.p=b,c.d.f()}},kt.preconnect=function(v,p){typeof v=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,c.d.C(v,p))},kt.prefetchDNS=function(v){typeof v=="string"&&c.d.D(v)},kt.preinit=function(v,p){if(typeof v=="string"&&p&&typeof p.as=="string"){var b=p.as,T=y(b,p.crossOrigin),x=typeof p.integrity=="string"?p.integrity:void 0,R=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;b==="style"?c.d.S(v,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:T,integrity:x,fetchPriority:R}):b==="script"&&c.d.X(v,{crossOrigin:T,integrity:x,fetchPriority:R,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},kt.preinitModule=function(v,p){if(typeof v=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var b=y(p.as,p.crossOrigin);c.d.M(v,{crossOrigin:b,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&c.d.M(v)},kt.preload=function(v,p){if(typeof v=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var b=p.as,T=y(b,p.crossOrigin);c.d.L(v,b,{crossOrigin:T,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},kt.preloadModule=function(v,p){if(typeof v=="string")if(p){var b=y(p.as,p.crossOrigin);c.d.m(v,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:b,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else c.d.m(v)},kt.requestFormReset=function(v){c.d.r(v)},kt.unstable_batchedUpdates=function(v,p){return v(p)},kt.useFormState=function(v,p,b){return m.H.useFormState(v,p,b)},kt.useFormStatus=function(){return m.H.useHostTransitionStatus()},kt.version="19.0.0",kt}var Hm;function Oy(){if(Hm)return lo.exports;Hm=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),lo.exports=Wg(),lo.exports}/** + */var Bm;function e1(){if(Bm)return Vt;Bm=1;var l=ku();function n(v){var p="https://react.dev/errors/"+v;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var b=2;b<arguments.length;b++)p+="&args[]="+encodeURIComponent(arguments[b])}return"Minified React error #"+v+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(){}var s={d:{f:c,r:function(){throw Error(n(522))},D:c,C:c,L:c,m:c,X:c,S:c,M:c},p:0,findDOMNode:null},u=Symbol.for("react.portal");function f(v,p,b){var R=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:u,key:R==null?null:""+R,children:v,containerInfo:p,implementation:b}}var d=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function y(v,p){if(v==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return Vt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,Vt.createPortal=function(v,p){var b=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(n(299));return f(v,p,null,b)},Vt.flushSync=function(v){var p=d.T,b=s.p;try{if(d.T=null,s.p=2,v)return v()}finally{d.T=p,s.p=b,s.d.f()}},Vt.preconnect=function(v,p){typeof v=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,s.d.C(v,p))},Vt.prefetchDNS=function(v){typeof v=="string"&&s.d.D(v)},Vt.preinit=function(v,p){if(typeof v=="string"&&p&&typeof p.as=="string"){var b=p.as,R=y(b,p.crossOrigin),S=typeof p.integrity=="string"?p.integrity:void 0,_=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;b==="style"?s.d.S(v,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:R,integrity:S,fetchPriority:_}):b==="script"&&s.d.X(v,{crossOrigin:R,integrity:S,fetchPriority:_,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},Vt.preinitModule=function(v,p){if(typeof v=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var b=y(p.as,p.crossOrigin);s.d.M(v,{crossOrigin:b,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&s.d.M(v)},Vt.preload=function(v,p){if(typeof v=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var b=p.as,R=y(b,p.crossOrigin);s.d.L(v,b,{crossOrigin:R,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},Vt.preloadModule=function(v,p){if(typeof v=="string")if(p){var b=y(p.as,p.crossOrigin);s.d.m(v,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:b,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else s.d.m(v)},Vt.requestFormReset=function(v){s.d.r(v)},Vt.unstable_batchedUpdates=function(v,p){return v(p)},Vt.useFormState=function(v,p,b){return d.H.useFormState(v,p,b)},Vt.useFormStatus=function(){return d.H.useHostTransitionStatus()},Vt.version="19.0.0",Vt}var qm;function wy(){if(qm)return ro.exports;qm=1;function l(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(n){console.error(n)}}return l(),ro.exports=e1(),ro.exports}/** * @license React * react-dom-client.production.js * @@ -39,15 +39,15 @@ var Qg=Object.defineProperty;var Zg=(a,i,u)=>i in a?Qg(a,i,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Bm;function Ig(){if(Bm)return rr;Bm=1;var a=Pg(),i=Xu(),u=Oy();function c(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}var f=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),T=Symbol.for("react.provider"),x=Symbol.for("react.consumer"),R=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),k=Symbol.for("react.suspense"),B=Symbol.for("react.suspense_list"),U=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),$=Symbol.for("react.offscreen"),ee=Symbol.for("react.memo_cache_sentinel"),J=Symbol.iterator;function O(e){return e===null||typeof e!="object"?null:(e=J&&e[J]||e["@@iterator"],typeof e=="function"?e:null)}var ue=Symbol.for("react.client.reference");function be(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ue?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case v:return"Fragment";case y:return"Portal";case b:return"Profiler";case p:return"StrictMode";case k:return"Suspense";case B:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case R:return(e.displayName||"Context")+".Provider";case x:return(e._context.displayName||"Context")+".Consumer";case w:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case U:return t=e.displayName||null,t!==null?t:be(e.type)||"Memo";case Y:t=e._payload,e=e._init;try{return be(e(t))}catch{}}return null}var Z=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ie=Object.assign,je,Ie;function et(e){if(je===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);je=t&&t[1]||"",Ie=-1<n.stack.indexOf(` - at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return` -`+je+e+Ie}var Qe=!1;function Ye(e,t){if(!e||Qe)return"";Qe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var Q=function(){throw Error()};if(Object.defineProperty(Q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Q,[])}catch(H){var z=H}Reflect.construct(e,[],Q)}else{try{Q.call()}catch(H){z=H}e.call(Q.prototype)}}else{try{throw Error()}catch(H){z=H}(Q=e())&&typeof Q.catch=="function"&&Q.catch(function(){})}}catch(H){if(H&&z&&typeof H.stack=="string")return[H.stack,z.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var s=l.DetermineComponentFrameRoot(),d=s[0],E=s[1];if(d&&E){var S=d.split(` -`),j=E.split(` -`);for(r=l=0;l<S.length&&!S[l].includes("DetermineComponentFrameRoot");)l++;for(;r<j.length&&!j[r].includes("DetermineComponentFrameRoot");)r++;if(l===S.length||r===j.length)for(l=S.length-1,r=j.length-1;1<=l&&0<=r&&S[l]!==j[r];)r--;for(;1<=l&&0<=r;l--,r--)if(S[l]!==j[r]){if(l!==1||r!==1)do if(l--,r--,0>r||S[l]!==j[r]){var q=` -`+S[l].replace(" at new "," at ");return e.displayName&&q.includes("<anonymous>")&&(q=q.replace("<anonymous>",e.displayName)),q}while(1<=l&&0<=r);break}}}finally{Qe=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?et(n):""}function X(e){switch(e.tag){case 26:case 27:case 5:return et(e.type);case 16:return et("Lazy");case 13:return et("Suspense");case 19:return et("SuspenseList");case 0:case 15:return e=Ye(e.type,!1),e;case 11:return e=Ye(e.type.render,!1),e;case 1:return e=Ye(e.type,!0),e;default:return""}}function oe(e){try{var t="";do t+=X(e),e=e.return;while(e);return t}catch(n){return` -Error generating stack: `+n.message+` -`+n.stack}}function I(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Re(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function _(e){if(I(e)!==e)throw Error(c(188))}function V(e){var t=e.alternate;if(!t){if(t=I(e),t===null)throw Error(c(188));return t!==e?null:e}for(var n=e,l=t;;){var r=n.return;if(r===null)break;var s=r.alternate;if(s===null){if(l=r.return,l!==null){n=l;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===n)return _(r),e;if(s===l)return _(r),t;s=s.sibling}throw Error(c(188))}if(n.return!==l.return)n=r,l=s;else{for(var d=!1,E=r.child;E;){if(E===n){d=!0,n=r,l=s;break}if(E===l){d=!0,l=r,n=s;break}E=E.sibling}if(!d){for(E=s.child;E;){if(E===n){d=!0,n=s,l=r;break}if(E===l){d=!0,l=s,n=r;break}E=E.sibling}if(!d)throw Error(c(189))}}if(n.alternate!==l)throw Error(c(190))}if(n.tag!==3)throw Error(c(188));return n.stateNode.current===n?e:t}function ne(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=ne(e),t!==null)return t;e=e.sibling}return null}var W=Array.isArray,F=u.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ge={pending:!1,data:null,method:null,action:null},he=[],Ze=-1;function Te(e){return{current:e}}function He(e){0>Ze||(e.current=he[Ze],he[Ze]=null,Ze--)}function pe(e,t){Ze++,he[Ze]=e.current,e.current=t}var Ke=Te(null),Et=Te(null),mt=Te(null),nt=Te(null);function we(e,t){switch(pe(mt,t),pe(Et,e),pe(Ke,null),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?lm(t):0;break;default:if(e=e===8?t.parentNode:t,t=e.tagName,e=e.namespaceURI)e=lm(e),t=im(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}He(Ke),pe(Ke,t)}function Tt(){He(Ke),He(Et),He(mt)}function Dt(e){e.memoizedState!==null&&pe(nt,e);var t=Ke.current,n=im(t,e.type);t!==n&&(pe(Et,e),pe(Ke,n))}function en(e){Et.current===e&&(He(Ke),He(Et)),nt.current===e&&(He(nt),er._currentValue=ge)}var fn=Object.prototype.hasOwnProperty,dn=a.unstable_scheduleCallback,hn=a.unstable_cancelCallback,Ht=a.unstable_shouldYield,Jt=a.unstable_requestPaint,yt=a.unstable_now,mn=a.unstable_getCurrentPriorityLevel,xe=a.unstable_ImmediatePriority,at=a.unstable_UserBlockingPriority,Yt=a.unstable_NormalPriority,qn=a.unstable_LowPriority,Fn=a.unstable_IdlePriority,Gt=a.log,Pn=a.unstable_setDisableYieldValue,tn=null,pt=null;function Sa(e){if(pt&&typeof pt.onCommitFiberRoot=="function")try{pt.onCommitFiberRoot(tn,e,void 0,(e.current.flags&128)===128)}catch{}}function Bt(e){if(typeof Gt=="function"&&Pn(e),pt&&typeof pt.setStrictMode=="function")try{pt.setStrictMode(tn,e)}catch{}}var lt=Math.clz32?Math.clz32:xa,Wn=Math.log,kn=Math.LN2;function xa(e){return e>>>=0,e===0?32:31-(Wn(e)/kn|0)|0}var yn=128,An=4194304;function Xt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ft(e,t){var n=e.pendingLanes;if(n===0)return 0;var l=0,r=e.suspendedLanes,s=e.pingedLanes,d=e.warmLanes;e=e.finishedLanes!==0;var E=n&134217727;return E!==0?(n=E&~r,n!==0?l=Xt(n):(s&=E,s!==0?l=Xt(s):e||(d=E&~d,d!==0&&(l=Xt(d))))):(E=n&~r,E!==0?l=Xt(E):s!==0?l=Xt(s):e||(d=n&~d,d!==0&&(l=Xt(d)))),l===0?0:t!==0&&t!==l&&!(t&r)&&(r=l&-l,d=t&-t,r>=d||r===32&&(d&4194176)!==0)?t:l}function Qt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function _a(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function br(){var e=yn;return yn<<=1,!(yn&4194176)&&(yn=128),e}function N(){var e=An;return An<<=1,!(An&62914560)&&(An=4194304),e}function A(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function L(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function K(e,t,n,l,r,s){var d=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var E=e.entanglements,S=e.expirationTimes,j=e.hiddenUpdates;for(n=d&~n;0<n;){var q=31-lt(n),Q=1<<q;E[q]=0,S[q]=-1;var z=j[q];if(z!==null)for(j[q]=null,q=0;q<z.length;q++){var H=z[q];H!==null&&(H.lane&=-536870913)}n&=~Q}l!==0&&te(e,l,0),s!==0&&r===0&&e.tag!==0&&(e.suspendedLanes|=s&~(d&~t))}function te(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-lt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|n&4194218}function de(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var l=31-lt(n),r=1<<l;r&t|e[l]&t&&(e[l]|=t),n&=~r}}function Se(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function le(){var e=F.p;return e!==0?e:(e=window.event,e===void 0?32:_m(e.type))}function ce(e,t){var n=F.p;try{return F.p=e,t()}finally{F.p=n}}var P=Math.random().toString(36).slice(2),se="__reactFiber$"+P,ye="__reactProps$"+P,ke="__reactContainer$"+P,vt="__reactEvents$"+P,tt="__reactListeners$"+P,$e="__reactHandles$"+P,ot="__reactResources$"+P,pn="__reactMarker$"+P;function In(e){delete e[se],delete e[ye],delete e[vt],delete e[tt],delete e[$e]}function At(e){var t=e[se];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ke]||n[se]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=cm(e);e!==null;){if(n=e[se])return n;e=cm(e)}return t}e=n,n=e.parentNode}return null}function wt(e){if(e=e[se]||e[ke]){var t=e.tag;if(t===5||t===6||t===13||t===26||t===27||t===3)return e}return null}function ea(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(c(33))}function vn(e){var t=e[ot];return t||(t=e[ot]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Fe(e){e[pn]=!0}var Wa=new Set,Ia={};function Le(e,t){it(e,t),it(e+"Capture",t)}function it(e,t){for(Ia[e]=t,e=0;e<t.length;e++)Wa.add(t[e])}var Pt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),el=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),rt={},ta={};function Sr(e){return fn.call(ta,e)?!0:fn.call(rt,e)?!1:el.test(e)?ta[e]=!0:(rt[e]=!0,!1)}function jl(e,t,n){if(Sr(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function xr(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function na(e,t,n,l){if(l===null)e.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+l)}}function gn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function uf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function kp(e){var t=uf(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),l=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(d){l=""+d,s.call(this,d)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return l},setValue:function(d){l=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function _r(e){e._valueTracker||(e._valueTracker=kp(e))}function cf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),l="";return e&&(l=uf(e)?e.checked?"true":"false":e.value),e=l,e!==n?(t.setValue(e),!0):!1}function Rr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Vp=/[\n"\\]/g;function En(e){return e.replace(Vp,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Pu(e,t,n,l,r,s,d,E){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+gn(t)):e.value!==""+gn(t)&&(e.value=""+gn(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?Wu(e,d,gn(t)):n!=null?Wu(e,d,gn(n)):l!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"?e.name=""+gn(E):e.removeAttribute("name")}function sf(e,t,n,l,r,s,d,E){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||t!=null))return;n=n!=null?""+gn(n):"",t=t!=null?""+gn(t):n,E||t===e.value||(e.value=t),e.defaultValue=t}l=l??r,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=E?e.checked:!!l,e.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d)}function Wu(e,t,n){t==="number"&&Rr(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ol(e,t,n,l){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&l&&(e[n].defaultSelected=!0)}else{for(n=""+gn(n),t=null,r=0;r<e.length;r++){if(e[r].value===n){e[r].selected=!0,l&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function of(e,t,n){if(t!=null&&(t=""+gn(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+gn(n):""}function ff(e,t,n,l){if(t==null){if(l!=null){if(n!=null)throw Error(c(92));if(W(l)){if(1<l.length)throw Error(c(93));l=l[0]}n=l}n==null&&(n=""),t=n}n=gn(t),e.defaultValue=n,l=e.textContent,l===n&&l!==""&&l!==null&&(e.value=l)}function Dl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yp=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function df(e,t,n){var l=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,n):typeof n!="number"||n===0||Yp.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function hf(e,t,n){if(t!=null&&typeof t!="object")throw Error(c(62));if(e=e.style,n!=null){for(var l in n)!n.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var r in t)l=t[r],t.hasOwnProperty(r)&&n[r]!==l&&df(e,r,l)}else for(var s in t)t.hasOwnProperty(s)&&df(e,s,t[s])}function Iu(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gp=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Xp=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Tr(e){return Xp.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}var ec=null;function tc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Al=null,wl=null;function mf(e){var t=wt(e);if(t&&(e=t.stateNode)){var n=e[ye]||null;e:switch(e=t.stateNode,t.type){case"input":if(Pu(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+En(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var l=n[t];if(l!==e&&l.form===e.form){var r=l[ye]||null;if(!r)throw Error(c(90));Pu(l,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<n.length;t++)l=n[t],l.form===e.form&&cf(l)}break e;case"textarea":of(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ol(e,!!n.multiple,t,!1)}}}var nc=!1;function yf(e,t,n){if(nc)return e(t,n);nc=!0;try{var l=e(t);return l}finally{if(nc=!1,(Al!==null||wl!==null)&&(cu(),Al&&(t=Al,e=wl,wl=Al=null,mf(t),e)))for(t=0;t<e.length;t++)mf(e[t])}}function mi(e,t){var n=e.stateNode;if(n===null)return null;var l=n[ye]||null;if(l===null)return null;n=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(c(231,t,typeof n));return n}var ac=!1;if(Pt)try{var yi={};Object.defineProperty(yi,"passive",{get:function(){ac=!0}}),window.addEventListener("test",yi,yi),window.removeEventListener("test",yi,yi)}catch{ac=!1}var Ra=null,lc=null,Nr=null;function pf(){if(Nr)return Nr;var e,t=lc,n=t.length,l,r="value"in Ra?Ra.value:Ra.textContent,s=r.length;for(e=0;e<n&&t[e]===r[e];e++);var d=n-e;for(l=1;l<=d&&t[n-l]===r[s-l];l++);return Nr=r.slice(e,1<l?1-l:void 0)}function Cr(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function jr(){return!0}function vf(){return!1}function Wt(e){function t(n,l,r,s,d){this._reactName=n,this._targetInst=r,this.type=l,this.nativeEvent=s,this.target=d,this.currentTarget=null;for(var E in e)e.hasOwnProperty(E)&&(n=e[E],this[E]=n?n(s):s[E]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?jr:vf,this.isPropagationStopped=vf,this}return ie(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=jr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=jr)},persist:function(){},isPersistent:jr}),t}var tl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Or=Wt(tl),pi=ie({},tl,{view:0,detail:0}),Qp=Wt(pi),ic,rc,vi,Dr=ie({},pi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==vi&&(vi&&e.type==="mousemove"?(ic=e.screenX-vi.screenX,rc=e.screenY-vi.screenY):rc=ic=0,vi=e),ic)},movementY:function(e){return"movementY"in e?e.movementY:rc}}),gf=Wt(Dr),Zp=ie({},Dr,{dataTransfer:0}),Kp=Wt(Zp),$p=ie({},pi,{relatedTarget:0}),uc=Wt($p),Jp=ie({},tl,{animationName:0,elapsedTime:0,pseudoElement:0}),Fp=Wt(Jp),Pp=ie({},tl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Wp=Wt(Pp),Ip=ie({},tl,{data:0}),Ef=Wt(Ip),ev={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},tv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},nv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function av(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=nv[e])?!!t[e]:!1}function cc(){return av}var lv=ie({},pi,{key:function(e){if(e.key){var t=ev[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Cr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?tv[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cc,charCode:function(e){return e.type==="keypress"?Cr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Cr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),iv=Wt(lv),rv=ie({},Dr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bf=Wt(rv),uv=ie({},pi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cc}),cv=Wt(uv),sv=ie({},tl,{propertyName:0,elapsedTime:0,pseudoElement:0}),ov=Wt(sv),fv=ie({},Dr,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),dv=Wt(fv),hv=ie({},tl,{newState:0,oldState:0}),mv=Wt(hv),yv=[9,13,27,32],sc=Pt&&"CompositionEvent"in window,gi=null;Pt&&"documentMode"in document&&(gi=document.documentMode);var pv=Pt&&"TextEvent"in window&&!gi,Sf=Pt&&(!sc||gi&&8<gi&&11>=gi),xf=" ",_f=!1;function Rf(e,t){switch(e){case"keyup":return yv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ml=!1;function vv(e,t){switch(e){case"compositionend":return Tf(t);case"keypress":return t.which!==32?null:(_f=!0,xf);case"textInput":return e=t.data,e===xf&&_f?null:e;default:return null}}function gv(e,t){if(Ml)return e==="compositionend"||!sc&&Rf(e,t)?(e=pf(),Nr=lc=Ra=null,Ml=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Sf&&t.locale!=="ko"?null:t.data;default:return null}}var Ev={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Nf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Ev[e.type]:t==="textarea"}function Cf(e,t,n,l){Al?wl?wl.push(l):wl=[l]:Al=l,t=hu(t,"onChange"),0<t.length&&(n=new Or("onChange","change",null,n,l),e.push({event:n,listeners:t}))}var Ei=null,bi=null;function bv(e){Ih(e,0)}function Ar(e){var t=ea(e);if(cf(t))return e}function jf(e,t){if(e==="change")return t}var Of=!1;if(Pt){var oc;if(Pt){var fc="oninput"in document;if(!fc){var Df=document.createElement("div");Df.setAttribute("oninput","return;"),fc=typeof Df.oninput=="function"}oc=fc}else oc=!1;Of=oc&&(!document.documentMode||9<document.documentMode)}function Af(){Ei&&(Ei.detachEvent("onpropertychange",wf),bi=Ei=null)}function wf(e){if(e.propertyName==="value"&&Ar(bi)){var t=[];Cf(t,bi,e,tc(e)),yf(bv,t)}}function Sv(e,t,n){e==="focusin"?(Af(),Ei=t,bi=n,Ei.attachEvent("onpropertychange",wf)):e==="focusout"&&Af()}function xv(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ar(bi)}function _v(e,t){if(e==="click")return Ar(t)}function Rv(e,t){if(e==="input"||e==="change")return Ar(t)}function Tv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var nn=typeof Object.is=="function"?Object.is:Tv;function Si(e,t){if(nn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),l=Object.keys(t);if(n.length!==l.length)return!1;for(l=0;l<n.length;l++){var r=n[l];if(!fn.call(t,r)||!nn(e[r],t[r]))return!1}return!0}function Mf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function zf(e,t){var n=Mf(e);e=0;for(var l;n;){if(n.nodeType===3){if(l=e+n.textContent.length,e<=t&&l>=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Mf(n)}}function Lf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Lf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Uf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Rr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Rr(e.document)}return t}function dc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Nv(e,t){var n=Uf(t);t=e.focusedElem;var l=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Lf(t.ownerDocument.documentElement,t)){if(l!==null&&dc(t)){if(e=l.start,n=l.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var r=t.textContent.length,s=Math.min(l.start,r);l=l.end===void 0?s:Math.min(l.end,r),!n.extend&&s>l&&(r=l,l=s,s=r),r=zf(t,s);var d=zf(t,l);r&&d&&(n.rangeCount!==1||n.anchorNode!==r.node||n.anchorOffset!==r.offset||n.focusNode!==d.node||n.focusOffset!==d.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),n.removeAllRanges(),s>l?(n.addRange(e),n.extend(d.node,d.offset)):(e.setEnd(d.node,d.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t<e.length;t++)n=e[t],n.element.scrollLeft=n.left,n.element.scrollTop=n.top}}var Cv=Pt&&"documentMode"in document&&11>=document.documentMode,zl=null,hc=null,xi=null,mc=!1;function Hf(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;mc||zl==null||zl!==Rr(l)||(l=zl,"selectionStart"in l&&dc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),xi&&Si(xi,l)||(xi=l,l=hu(hc,"onSelect"),0<l.length&&(t=new Or("onSelect","select",null,t,n),e.push({event:t,listeners:l}),t.target=zl)))}function nl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ll={animationend:nl("Animation","AnimationEnd"),animationiteration:nl("Animation","AnimationIteration"),animationstart:nl("Animation","AnimationStart"),transitionrun:nl("Transition","TransitionRun"),transitionstart:nl("Transition","TransitionStart"),transitioncancel:nl("Transition","TransitionCancel"),transitionend:nl("Transition","TransitionEnd")},yc={},Bf={};Pt&&(Bf=document.createElement("div").style,"AnimationEvent"in window||(delete Ll.animationend.animation,delete Ll.animationiteration.animation,delete Ll.animationstart.animation),"TransitionEvent"in window||delete Ll.transitionend.transition);function al(e){if(yc[e])return yc[e];if(!Ll[e])return e;var t=Ll[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Bf)return yc[e]=t[n];return e}var qf=al("animationend"),kf=al("animationiteration"),Vf=al("animationstart"),jv=al("transitionrun"),Ov=al("transitionstart"),Dv=al("transitioncancel"),Yf=al("transitionend"),Gf=new Map,Xf="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function wn(e,t){Gf.set(e,t),Le(t,[e])}var bn=[],Ul=0,pc=0;function wr(){for(var e=Ul,t=pc=Ul=0;t<e;){var n=bn[t];bn[t++]=null;var l=bn[t];bn[t++]=null;var r=bn[t];bn[t++]=null;var s=bn[t];if(bn[t++]=null,l!==null&&r!==null){var d=l.pending;d===null?r.next=r:(r.next=d.next,d.next=r),l.pending=r}s!==0&&Qf(n,r,s)}}function Mr(e,t,n,l){bn[Ul++]=e,bn[Ul++]=t,bn[Ul++]=n,bn[Ul++]=l,pc|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function vc(e,t,n,l){return Mr(e,t,n,l),zr(e)}function Ta(e,t){return Mr(e,null,null,t),zr(e)}function Qf(e,t,n){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n);for(var r=!1,s=e.return;s!==null;)s.childLanes|=n,l=s.alternate,l!==null&&(l.childLanes|=n),s.tag===22&&(e=s.stateNode,e===null||e._visibility&1||(r=!0)),e=s,s=s.return;r&&t!==null&&e.tag===3&&(s=e.stateNode,r=31-lt(n),s=s.hiddenUpdates,e=s[r],e===null?s[r]=[t]:e.push(t),t.lane=n|536870912)}function zr(e){if(50<Ki)throw Ki=0,_s=null,Error(c(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Hl={},Zf=new WeakMap;function Sn(e,t){if(typeof e=="object"&&e!==null){var n=Zf.get(e);return n!==void 0?n:(t={value:e,source:t,stack:oe(t)},Zf.set(e,t),t)}return{value:e,source:t,stack:oe(t)}}var Bl=[],ql=0,Lr=null,Ur=0,xn=[],_n=0,ll=null,aa=1,la="";function il(e,t){Bl[ql++]=Ur,Bl[ql++]=Lr,Lr=e,Ur=t}function Kf(e,t,n){xn[_n++]=aa,xn[_n++]=la,xn[_n++]=ll,ll=e;var l=aa;e=la;var r=32-lt(l)-1;l&=~(1<<r),n+=1;var s=32-lt(t)+r;if(30<s){var d=r-r%5;s=(l&(1<<d)-1).toString(32),l>>=d,r-=d,aa=1<<32-lt(t)+r|n<<r|l,la=s+e}else aa=1<<s|n<<r|l,la=e}function gc(e){e.return!==null&&(il(e,1),Kf(e,1,0))}function Ec(e){for(;e===Lr;)Lr=Bl[--ql],Bl[ql]=null,Ur=Bl[--ql],Bl[ql]=null;for(;e===ll;)ll=xn[--_n],xn[_n]=null,la=xn[--_n],xn[_n]=null,aa=xn[--_n],xn[_n]=null}var Zt=null,Mt=null,Be=!1,Mn=null,Vn=!1,bc=Error(c(519));function rl(e){var t=Error(c(418,""));throw Ti(Sn(t,e)),bc}function $f(e){var t=e.stateNode,n=e.type,l=e.memoizedProps;switch(t[se]=e,t[ye]=l,n){case"dialog":Me("cancel",t),Me("close",t);break;case"iframe":case"object":case"embed":Me("load",t);break;case"video":case"audio":for(n=0;n<Ji.length;n++)Me(Ji[n],t);break;case"source":Me("error",t);break;case"img":case"image":case"link":Me("error",t),Me("load",t);break;case"details":Me("toggle",t);break;case"input":Me("invalid",t),sf(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0),_r(t);break;case"select":Me("invalid",t);break;case"textarea":Me("invalid",t),ff(t,l.value,l.defaultValue,l.children),_r(t)}n=l.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||l.suppressHydrationWarning===!0||am(t.textContent,n)?(l.popover!=null&&(Me("beforetoggle",t),Me("toggle",t)),l.onScroll!=null&&Me("scroll",t),l.onScrollEnd!=null&&Me("scrollend",t),l.onClick!=null&&(t.onclick=mu),t=!0):t=!1,t||rl(e)}function Jf(e){for(Zt=e.return;Zt;)switch(Zt.tag){case 3:case 27:Vn=!0;return;case 5:case 13:Vn=!1;return;default:Zt=Zt.return}}function _i(e){if(e!==Zt)return!1;if(!Be)return Jf(e),Be=!0,!1;var t=!1,n;if((n=e.tag!==3&&e.tag!==27)&&((n=e.tag===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||ks(e.type,e.memoizedProps)),n=!n),n&&(t=!0),t&&Mt&&rl(e),Jf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8)if(n=e.data,n==="/$"){if(t===0){Mt=Ln(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++;e=e.nextSibling}Mt=null}}else Mt=Zt?Ln(e.stateNode.nextSibling):null;return!0}function Ri(){Mt=Zt=null,Be=!1}function Ti(e){Mn===null?Mn=[e]:Mn.push(e)}var Ni=Error(c(460)),Ff=Error(c(474)),Sc={then:function(){}};function Pf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Hr(){}function Wf(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Hr,Hr),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,e===Ni?Error(c(483)):e;default:if(typeof t.status=="string")t.then(Hr,Hr);else{if(e=Pe,e!==null&&100<e.shellSuspendCounter)throw Error(c(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var r=t;r.status="fulfilled",r.value=l}},function(l){if(t.status==="pending"){var r=t;r.status="rejected",r.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,e===Ni?Error(c(483)):e}throw Ci=t,Ni}}var Ci=null;function If(){if(Ci===null)throw Error(c(459));var e=Ci;return Ci=null,e}var kl=null,ji=0;function Br(e){var t=ji;return ji+=1,kl===null&&(kl=[]),Wf(kl,e,t)}function Oi(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function qr(e,t){throw t.$$typeof===f?Error(c(525)):(e=Object.prototype.toString.call(t),Error(c(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function ed(e){var t=e._init;return t(e._payload)}function td(e){function t(D,C){if(e){var M=D.deletions;M===null?(D.deletions=[C],D.flags|=16):M.push(C)}}function n(D,C){if(!e)return null;for(;C!==null;)t(D,C),C=C.sibling;return null}function l(D){for(var C=new Map;D!==null;)D.key!==null?C.set(D.key,D):C.set(D.index,D),D=D.sibling;return C}function r(D,C){return D=Ha(D,C),D.index=0,D.sibling=null,D}function s(D,C,M){return D.index=M,e?(M=D.alternate,M!==null?(M=M.index,M<C?(D.flags|=33554434,C):M):(D.flags|=33554434,C)):(D.flags|=1048576,C)}function d(D){return e&&D.alternate===null&&(D.flags|=33554434),D}function E(D,C,M,G){return C===null||C.tag!==6?(C=ys(M,D.mode,G),C.return=D,C):(C=r(C,M),C.return=D,C)}function S(D,C,M,G){var re=M.type;return re===v?q(D,C,M.props.children,G,M.key):C!==null&&(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===Y&&ed(re)===C.type)?(C=r(C,M.props),Oi(C,M),C.return=D,C):(C=au(M.type,M.key,M.props,null,D.mode,G),Oi(C,M),C.return=D,C)}function j(D,C,M,G){return C===null||C.tag!==4||C.stateNode.containerInfo!==M.containerInfo||C.stateNode.implementation!==M.implementation?(C=ps(M,D.mode,G),C.return=D,C):(C=r(C,M.children||[]),C.return=D,C)}function q(D,C,M,G,re){return C===null||C.tag!==7?(C=pl(M,D.mode,G,re),C.return=D,C):(C=r(C,M),C.return=D,C)}function Q(D,C,M){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=ys(""+C,D.mode,M),C.return=D,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case m:return M=au(C.type,C.key,C.props,null,D.mode,M),Oi(M,C),M.return=D,M;case y:return C=ps(C,D.mode,M),C.return=D,C;case Y:var G=C._init;return C=G(C._payload),Q(D,C,M)}if(W(C)||O(C))return C=pl(C,D.mode,M,null),C.return=D,C;if(typeof C.then=="function")return Q(D,Br(C),M);if(C.$$typeof===R)return Q(D,eu(D,C),M);qr(D,C)}return null}function z(D,C,M,G){var re=C!==null?C.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return re!==null?null:E(D,C,""+M,G);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case m:return M.key===re?S(D,C,M,G):null;case y:return M.key===re?j(D,C,M,G):null;case Y:return re=M._init,M=re(M._payload),z(D,C,M,G)}if(W(M)||O(M))return re!==null?null:q(D,C,M,G,null);if(typeof M.then=="function")return z(D,C,Br(M),G);if(M.$$typeof===R)return z(D,C,eu(D,M),G);qr(D,M)}return null}function H(D,C,M,G,re){if(typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint")return D=D.get(M)||null,E(C,D,""+G,re);if(typeof G=="object"&&G!==null){switch(G.$$typeof){case m:return D=D.get(G.key===null?M:G.key)||null,S(C,D,G,re);case y:return D=D.get(G.key===null?M:G.key)||null,j(C,D,G,re);case Y:var Oe=G._init;return G=Oe(G._payload),H(D,C,M,G,re)}if(W(G)||O(G))return D=D.get(M)||null,q(C,D,G,re,null);if(typeof G.then=="function")return H(D,C,M,Br(G),re);if(G.$$typeof===R)return H(D,C,M,eu(C,G),re);qr(C,G)}return null}function fe(D,C,M,G){for(var re=null,Oe=null,me=C,Ee=C=0,jt=null;me!==null&&Ee<M.length;Ee++){me.index>Ee?(jt=me,me=null):jt=me.sibling;var qe=z(D,me,M[Ee],G);if(qe===null){me===null&&(me=jt);break}e&&me&&qe.alternate===null&&t(D,me),C=s(qe,C,Ee),Oe===null?re=qe:Oe.sibling=qe,Oe=qe,me=jt}if(Ee===M.length)return n(D,me),Be&&il(D,Ee),re;if(me===null){for(;Ee<M.length;Ee++)me=Q(D,M[Ee],G),me!==null&&(C=s(me,C,Ee),Oe===null?re=me:Oe.sibling=me,Oe=me);return Be&&il(D,Ee),re}for(me=l(me);Ee<M.length;Ee++)jt=H(me,D,Ee,M[Ee],G),jt!==null&&(e&&jt.alternate!==null&&me.delete(jt.key===null?Ee:jt.key),C=s(jt,C,Ee),Oe===null?re=jt:Oe.sibling=jt,Oe=jt);return e&&me.forEach(function(Xa){return t(D,Xa)}),Be&&il(D,Ee),re}function _e(D,C,M,G){if(M==null)throw Error(c(151));for(var re=null,Oe=null,me=C,Ee=C=0,jt=null,qe=M.next();me!==null&&!qe.done;Ee++,qe=M.next()){me.index>Ee?(jt=me,me=null):jt=me.sibling;var Xa=z(D,me,qe.value,G);if(Xa===null){me===null&&(me=jt);break}e&&me&&Xa.alternate===null&&t(D,me),C=s(Xa,C,Ee),Oe===null?re=Xa:Oe.sibling=Xa,Oe=Xa,me=jt}if(qe.done)return n(D,me),Be&&il(D,Ee),re;if(me===null){for(;!qe.done;Ee++,qe=M.next())qe=Q(D,qe.value,G),qe!==null&&(C=s(qe,C,Ee),Oe===null?re=qe:Oe.sibling=qe,Oe=qe);return Be&&il(D,Ee),re}for(me=l(me);!qe.done;Ee++,qe=M.next())qe=H(me,D,Ee,qe.value,G),qe!==null&&(e&&qe.alternate!==null&&me.delete(qe.key===null?Ee:qe.key),C=s(qe,C,Ee),Oe===null?re=qe:Oe.sibling=qe,Oe=qe);return e&&me.forEach(function(Xg){return t(D,Xg)}),Be&&il(D,Ee),re}function ht(D,C,M,G){if(typeof M=="object"&&M!==null&&M.type===v&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case m:e:{for(var re=M.key;C!==null;){if(C.key===re){if(re=M.type,re===v){if(C.tag===7){n(D,C.sibling),G=r(C,M.props.children),G.return=D,D=G;break e}}else if(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===Y&&ed(re)===C.type){n(D,C.sibling),G=r(C,M.props),Oi(G,M),G.return=D,D=G;break e}n(D,C);break}else t(D,C);C=C.sibling}M.type===v?(G=pl(M.props.children,D.mode,G,M.key),G.return=D,D=G):(G=au(M.type,M.key,M.props,null,D.mode,G),Oi(G,M),G.return=D,D=G)}return d(D);case y:e:{for(re=M.key;C!==null;){if(C.key===re)if(C.tag===4&&C.stateNode.containerInfo===M.containerInfo&&C.stateNode.implementation===M.implementation){n(D,C.sibling),G=r(C,M.children||[]),G.return=D,D=G;break e}else{n(D,C);break}else t(D,C);C=C.sibling}G=ps(M,D.mode,G),G.return=D,D=G}return d(D);case Y:return re=M._init,M=re(M._payload),ht(D,C,M,G)}if(W(M))return fe(D,C,M,G);if(O(M)){if(re=O(M),typeof re!="function")throw Error(c(150));return M=re.call(M),_e(D,C,M,G)}if(typeof M.then=="function")return ht(D,C,Br(M),G);if(M.$$typeof===R)return ht(D,C,eu(D,M),G);qr(D,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,C!==null&&C.tag===6?(n(D,C.sibling),G=r(C,M),G.return=D,D=G):(n(D,C),G=ys(M,D.mode,G),G.return=D,D=G),d(D)):n(D,C)}return function(D,C,M,G){try{ji=0;var re=ht(D,C,M,G);return kl=null,re}catch(me){if(me===Ni)throw me;var Oe=Cn(29,me,null,D.mode);return Oe.lanes=G,Oe.return=D,Oe}finally{}}}var ul=td(!0),nd=td(!1),Vl=Te(null),kr=Te(0);function ad(e,t){e=ya,pe(kr,e),pe(Vl,t),ya=e|t.baseLanes}function xc(){pe(kr,ya),pe(Vl,Vl.current)}function _c(){ya=kr.current,He(Vl),He(kr)}var Rn=Te(null),Yn=null;function Na(e){var t=e.alternate;pe(_t,_t.current&1),pe(Rn,e),Yn===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Yn=e)}function ld(e){if(e.tag===22){if(pe(_t,_t.current),pe(Rn,e),Yn===null){var t=e.alternate;t!==null&&t.memoizedState!==null&&(Yn=e)}}else Ca()}function Ca(){pe(_t,_t.current),pe(Rn,Rn.current)}function ia(e){He(Rn),Yn===e&&(Yn=null),He(_t)}var _t=Te(0);function Vr(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Av=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},wv=a.unstable_scheduleCallback,Mv=a.unstable_NormalPriority,Rt={$$typeof:R,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Rc(){return{controller:new Av,data:new Map,refCount:0}}function Di(e){e.refCount--,e.refCount===0&&wv(Mv,function(){e.controller.abort()})}var Ai=null,Tc=0,Yl=0,Gl=null;function zv(e,t){if(Ai===null){var n=Ai=[];Tc=0,Yl=As(),Gl={status:"pending",value:void 0,then:function(l){n.push(l)}}}return Tc++,t.then(id,id),t}function id(){if(--Tc===0&&Ai!==null){Gl!==null&&(Gl.status="fulfilled");var e=Ai;Ai=null,Yl=0,Gl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Lv(e,t){var n=[],l={status:"pending",value:null,reason:null,then:function(r){n.push(r)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var r=0;r<n.length;r++)(0,n[r])(t)},function(r){for(l.status="rejected",l.reason=r,r=0;r<n.length;r++)(0,n[r])(void 0)}),l}var rd=Z.S;Z.S=function(e,t){typeof t=="object"&&t!==null&&typeof t.then=="function"&&zv(e,t),rd!==null&&rd(e,t)};var cl=Te(null);function Nc(){var e=cl.current;return e!==null?e:Pe.pooledCache}function Yr(e,t){t===null?pe(cl,cl.current):pe(cl,t.pool)}function ud(){var e=Nc();return e===null?null:{parent:Rt._currentValue,pool:e}}var ja=0,Ce=null,Ge=null,bt=null,Gr=!1,Xl=!1,sl=!1,Xr=0,wi=0,Ql=null,Uv=0;function gt(){throw Error(c(321))}function Cc(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!nn(e[n],t[n]))return!1;return!0}function jc(e,t,n,l,r,s){return ja=s,Ce=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Z.H=e===null||e.memoizedState===null?ol:Oa,sl=!1,s=n(l,r),sl=!1,Xl&&(s=sd(t,n,l,r)),cd(e),s}function cd(e){Z.H=Gn;var t=Ge!==null&&Ge.next!==null;if(ja=0,bt=Ge=Ce=null,Gr=!1,wi=0,Ql=null,t)throw Error(c(300));e===null||Nt||(e=e.dependencies,e!==null&&Ir(e)&&(Nt=!0))}function sd(e,t,n,l){Ce=e;var r=0;do{if(Xl&&(Ql=null),wi=0,Xl=!1,25<=r)throw Error(c(301));if(r+=1,bt=Ge=null,e.updateQueue!=null){var s=e.updateQueue;s.lastEffect=null,s.events=null,s.stores=null,s.memoCache!=null&&(s.memoCache.index=0)}Z.H=fl,s=t(n,l)}while(Xl);return s}function Hv(){var e=Z.H,t=e.useState()[0];return t=typeof t.then=="function"?Mi(t):t,e=e.useState()[0],(Ge!==null?Ge.memoizedState:null)!==e&&(Ce.flags|=1024),t}function Oc(){var e=Xr!==0;return Xr=0,e}function Dc(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ac(e){if(Gr){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Gr=!1}ja=0,bt=Ge=Ce=null,Xl=!1,wi=Xr=0,Ql=null}function It(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bt===null?Ce.memoizedState=bt=e:bt=bt.next=e,bt}function St(){if(Ge===null){var e=Ce.alternate;e=e!==null?e.memoizedState:null}else e=Ge.next;var t=bt===null?Ce.memoizedState:bt.next;if(t!==null)bt=t,Ge=e;else{if(e===null)throw Ce.alternate===null?Error(c(467)):Error(c(310));Ge=e,e={memoizedState:Ge.memoizedState,baseState:Ge.baseState,baseQueue:Ge.baseQueue,queue:Ge.queue,next:null},bt===null?Ce.memoizedState=bt=e:bt=bt.next=e}return bt}var Qr;Qr=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}};function Mi(e){var t=wi;return wi+=1,Ql===null&&(Ql=[]),e=Wf(Ql,e,t),t=Ce,(bt===null?t.memoizedState:bt.next)===null&&(t=t.alternate,Z.H=t===null||t.memoizedState===null?ol:Oa),e}function Zr(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Mi(e);if(e.$$typeof===R)return qt(e)}throw Error(c(438,String(e)))}function wc(e){var t=null,n=Ce.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var l=Ce.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(r){return r.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Qr(),Ce.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),l=0;l<e;l++)n[l]=ee;return t.index++,n}function ra(e,t){return typeof t=="function"?t(e):t}function Kr(e){var t=St();return Mc(t,Ge,e)}function Mc(e,t,n){var l=e.queue;if(l===null)throw Error(c(311));l.lastRenderedReducer=n;var r=e.baseQueue,s=l.pending;if(s!==null){if(r!==null){var d=r.next;r.next=s.next,s.next=d}t.baseQueue=r=s,l.pending=null}if(s=e.baseState,r===null)e.memoizedState=s;else{t=r.next;var E=d=null,S=null,j=t,q=!1;do{var Q=j.lane&-536870913;if(Q!==j.lane?(Ue&Q)===Q:(ja&Q)===Q){var z=j.revertLane;if(z===0)S!==null&&(S=S.next={lane:0,revertLane:0,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null}),Q===Yl&&(q=!0);else if((ja&z)===z){j=j.next,z===Yl&&(q=!0);continue}else Q={lane:0,revertLane:j.revertLane,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null},S===null?(E=S=Q,d=s):S=S.next=Q,Ce.lanes|=z,Ba|=z;Q=j.action,sl&&n(s,Q),s=j.hasEagerState?j.eagerState:n(s,Q)}else z={lane:Q,revertLane:j.revertLane,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null},S===null?(E=S=z,d=s):S=S.next=z,Ce.lanes|=Q,Ba|=Q;j=j.next}while(j!==null&&j!==t);if(S===null?d=s:S.next=E,!nn(s,e.memoizedState)&&(Nt=!0,q&&(n=Gl,n!==null)))throw n;e.memoizedState=s,e.baseState=d,e.baseQueue=S,l.lastRenderedState=s}return r===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function zc(e){var t=St(),n=t.queue;if(n===null)throw Error(c(311));n.lastRenderedReducer=e;var l=n.dispatch,r=n.pending,s=t.memoizedState;if(r!==null){n.pending=null;var d=r=r.next;do s=e(s,d.action),d=d.next;while(d!==r);nn(s,t.memoizedState)||(Nt=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),n.lastRenderedState=s}return[s,l]}function od(e,t,n){var l=Ce,r=St(),s=Be;if(s){if(n===void 0)throw Error(c(407));n=n()}else n=t();var d=!nn((Ge||r).memoizedState,n);if(d&&(r.memoizedState=n,Nt=!0),r=r.queue,Hc(hd.bind(null,l,r,e),[e]),r.getSnapshot!==t||d||bt!==null&&bt.memoizedState.tag&1){if(l.flags|=2048,Zl(9,dd.bind(null,l,r,n,t),{destroy:void 0},null),Pe===null)throw Error(c(349));s||ja&60||fd(l,t,n)}return n}function fd(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Ce.updateQueue,t===null?(t=Qr(),Ce.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function dd(e,t,n,l){t.value=n,t.getSnapshot=l,md(t)&&yd(e)}function hd(e,t,n){return n(function(){md(t)&&yd(e)})}function md(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!nn(e,n)}catch{return!0}}function yd(e){var t=Ta(e,2);t!==null&&Kt(t,e,2)}function Lc(e){var t=It();if(typeof e=="function"){var n=e;if(e=n(),sl){Bt(!0);try{n()}finally{Bt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:e},t}function pd(e,t,n,l){return e.baseState=n,Mc(e,Ge,typeof l=="function"?l:ra)}function Bv(e,t,n,l,r){if(Fr(e))throw Error(c(485));if(e=t.action,e!==null){var s={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){s.listeners.push(d)}};Z.T!==null?n(!0):s.isTransition=!1,l(s),n=t.pending,n===null?(s.next=t.pending=s,vd(t,s)):(s.next=n.next,t.pending=n.next=s)}}function vd(e,t){var n=t.action,l=t.payload,r=e.state;if(t.isTransition){var s=Z.T,d={};Z.T=d;try{var E=n(r,l),S=Z.S;S!==null&&S(d,E),gd(e,t,E)}catch(j){Uc(e,t,j)}finally{Z.T=s}}else try{s=n(r,l),gd(e,t,s)}catch(j){Uc(e,t,j)}}function gd(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(l){Ed(e,t,l)},function(l){return Uc(e,t,l)}):Ed(e,t,n)}function Ed(e,t,n){t.status="fulfilled",t.value=n,bd(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,vd(e,n)))}function Uc(e,t,n){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=n,bd(t),t=t.next;while(t!==l)}e.action=null}function bd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Sd(e,t){return t}function xd(e,t){if(Be){var n=Pe.formState;if(n!==null){e:{var l=Ce;if(Be){if(Mt){t:{for(var r=Mt,s=Vn;r.nodeType!==8;){if(!s){r=null;break t}if(r=Ln(r.nextSibling),r===null){r=null;break t}}s=r.data,r=s==="F!"||s==="F"?r:null}if(r){Mt=Ln(r.nextSibling),l=r.data==="F!";break e}}rl(l)}l=!1}l&&(t=n[0])}}return n=It(),n.memoizedState=n.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sd,lastRenderedState:t},n.queue=l,n=kd.bind(null,Ce,l),l.dispatch=n,l=Lc(!1),s=Yc.bind(null,Ce,!1,l.queue),l=It(),r={state:t,dispatch:null,action:e,pending:null},l.queue=r,n=Bv.bind(null,Ce,r,s,n),r.dispatch=n,l.memoizedState=e,[t,n,!1]}function _d(e){var t=St();return Rd(t,Ge,e)}function Rd(e,t,n){t=Mc(e,t,Sd)[0],e=Kr(ra)[0],t=typeof t=="object"&&t!==null&&typeof t.then=="function"?Mi(t):t;var l=St(),r=l.queue,s=r.dispatch;return n!==l.memoizedState&&(Ce.flags|=2048,Zl(9,qv.bind(null,r,n),{destroy:void 0},null)),[t,s,e]}function qv(e,t){e.action=t}function Td(e){var t=St(),n=Ge;if(n!==null)return Rd(t,n,e);St(),t=t.memoizedState,n=St();var l=n.queue.dispatch;return n.memoizedState=e,[t,l,!1]}function Zl(e,t,n,l){return e={tag:e,create:t,inst:n,deps:l,next:null},t=Ce.updateQueue,t===null&&(t=Qr(),Ce.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(l=n.next,n.next=e,e.next=l,t.lastEffect=e),e}function Nd(){return St().memoizedState}function $r(e,t,n,l){var r=It();Ce.flags|=e,r.memoizedState=Zl(1|t,n,{destroy:void 0},l===void 0?null:l)}function Jr(e,t,n,l){var r=St();l=l===void 0?null:l;var s=r.memoizedState.inst;Ge!==null&&l!==null&&Cc(l,Ge.memoizedState.deps)?r.memoizedState=Zl(t,n,s,l):(Ce.flags|=e,r.memoizedState=Zl(1|t,n,s,l))}function Cd(e,t){$r(8390656,8,e,t)}function Hc(e,t){Jr(2048,8,e,t)}function jd(e,t){return Jr(4,2,e,t)}function Od(e,t){return Jr(4,4,e,t)}function Dd(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ad(e,t,n){n=n!=null?n.concat([e]):null,Jr(4,4,Dd.bind(null,t,e),n)}function Bc(){}function wd(e,t){var n=St();t=t===void 0?null:t;var l=n.memoizedState;return t!==null&&Cc(t,l[1])?l[0]:(n.memoizedState=[e,t],e)}function Md(e,t){var n=St();t=t===void 0?null:t;var l=n.memoizedState;if(t!==null&&Cc(t,l[1]))return l[0];if(l=e(),sl){Bt(!0);try{e()}finally{Bt(!1)}}return n.memoizedState=[l,t],l}function qc(e,t,n){return n===void 0||ja&1073741824?e.memoizedState=t:(e.memoizedState=n,e=Lh(),Ce.lanes|=e,Ba|=e,n)}function zd(e,t,n,l){return nn(n,t)?n:Vl.current!==null?(e=qc(e,n,l),nn(e,t)||(Nt=!0),e):ja&42?(e=Lh(),Ce.lanes|=e,Ba|=e,t):(Nt=!0,e.memoizedState=n)}function Ld(e,t,n,l,r){var s=F.p;F.p=s!==0&&8>s?s:8;var d=Z.T,E={};Z.T=E,Yc(e,!1,t,n);try{var S=r(),j=Z.S;if(j!==null&&j(E,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var q=Lv(S,l);zi(e,t,q,un(e))}else zi(e,t,l,un(e))}catch(Q){zi(e,t,{then:function(){},status:"rejected",reason:Q},un())}finally{F.p=s,Z.T=d}}function kv(){}function kc(e,t,n,l){if(e.tag!==5)throw Error(c(476));var r=Ud(e).queue;Ld(e,r,t,ge,n===null?kv:function(){return Hd(e),n(l)})}function Ud(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ge,baseState:ge,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:ge},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Hd(e){var t=Ud(e).next.queue;zi(e,t,{},un())}function Vc(){return qt(er)}function Bd(){return St().memoizedState}function qd(){return St().memoizedState}function Vv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=un();e=wa(n);var l=Ma(t,e,n);l!==null&&(Kt(l,t,n),Hi(l,t,n)),t={cache:Rc()},e.payload=t;return}t=t.return}}function Yv(e,t,n){var l=un();n={lane:l,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null},Fr(e)?Vd(t,n):(n=vc(e,t,n,l),n!==null&&(Kt(n,e,l),Yd(n,t,l)))}function kd(e,t,n){var l=un();zi(e,t,n,l)}function zi(e,t,n,l){var r={lane:l,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fr(e))Vd(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var d=t.lastRenderedState,E=s(d,n);if(r.hasEagerState=!0,r.eagerState=E,nn(E,d))return Mr(e,t,r,0),Pe===null&&wr(),!1}catch{}finally{}if(n=vc(e,t,r,l),n!==null)return Kt(n,e,l),Yd(n,t,l),!0}return!1}function Yc(e,t,n,l){if(l={lane:2,revertLane:As(),action:l,hasEagerState:!1,eagerState:null,next:null},Fr(e)){if(t)throw Error(c(479))}else t=vc(e,n,l,2),t!==null&&Kt(t,e,2)}function Fr(e){var t=e.alternate;return e===Ce||t!==null&&t===Ce}function Vd(e,t){Xl=Gr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Yd(e,t,n){if(n&4194176){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,de(e,n)}}var Gn={readContext:qt,use:Zr,useCallback:gt,useContext:gt,useEffect:gt,useImperativeHandle:gt,useLayoutEffect:gt,useInsertionEffect:gt,useMemo:gt,useReducer:gt,useRef:gt,useState:gt,useDebugValue:gt,useDeferredValue:gt,useTransition:gt,useSyncExternalStore:gt,useId:gt};Gn.useCacheRefresh=gt,Gn.useMemoCache=gt,Gn.useHostTransitionStatus=gt,Gn.useFormState=gt,Gn.useActionState=gt,Gn.useOptimistic=gt;var ol={readContext:qt,use:Zr,useCallback:function(e,t){return It().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:Cd,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,$r(4194308,4,Dd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $r(4194308,4,e,t)},useInsertionEffect:function(e,t){$r(4,2,e,t)},useMemo:function(e,t){var n=It();t=t===void 0?null:t;var l=e();if(sl){Bt(!0);try{e()}finally{Bt(!1)}}return n.memoizedState=[l,t],l},useReducer:function(e,t,n){var l=It();if(n!==void 0){var r=n(t);if(sl){Bt(!0);try{n(t)}finally{Bt(!1)}}}else r=t;return l.memoizedState=l.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},l.queue=e,e=e.dispatch=Yv.bind(null,Ce,e),[l.memoizedState,e]},useRef:function(e){var t=It();return e={current:e},t.memoizedState=e},useState:function(e){e=Lc(e);var t=e.queue,n=kd.bind(null,Ce,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Bc,useDeferredValue:function(e,t){var n=It();return qc(n,e,t)},useTransition:function(){var e=Lc(!1);return e=Ld.bind(null,Ce,e.queue,!0,!1),It().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var l=Ce,r=It();if(Be){if(n===void 0)throw Error(c(407));n=n()}else{if(n=t(),Pe===null)throw Error(c(349));Ue&60||fd(l,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,Cd(hd.bind(null,l,s,e),[e]),l.flags|=2048,Zl(9,dd.bind(null,l,s,n,t),{destroy:void 0},null),n},useId:function(){var e=It(),t=Pe.identifierPrefix;if(Be){var n=la,l=aa;n=(l&~(1<<32-lt(l)-1)).toString(32)+n,t=":"+t+"R"+n,n=Xr++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=Uv++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},useCacheRefresh:function(){return It().memoizedState=Vv.bind(null,Ce)}};ol.useMemoCache=wc,ol.useHostTransitionStatus=Vc,ol.useFormState=xd,ol.useActionState=xd,ol.useOptimistic=function(e){var t=It();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Yc.bind(null,Ce,!0,n),n.dispatch=t,[e,t]};var Oa={readContext:qt,use:Zr,useCallback:wd,useContext:qt,useEffect:Hc,useImperativeHandle:Ad,useInsertionEffect:jd,useLayoutEffect:Od,useMemo:Md,useReducer:Kr,useRef:Nd,useState:function(){return Kr(ra)},useDebugValue:Bc,useDeferredValue:function(e,t){var n=St();return zd(n,Ge.memoizedState,e,t)},useTransition:function(){var e=Kr(ra)[0],t=St().memoizedState;return[typeof e=="boolean"?e:Mi(e),t]},useSyncExternalStore:od,useId:Bd};Oa.useCacheRefresh=qd,Oa.useMemoCache=wc,Oa.useHostTransitionStatus=Vc,Oa.useFormState=_d,Oa.useActionState=_d,Oa.useOptimistic=function(e,t){var n=St();return pd(n,Ge,e,t)};var fl={readContext:qt,use:Zr,useCallback:wd,useContext:qt,useEffect:Hc,useImperativeHandle:Ad,useInsertionEffect:jd,useLayoutEffect:Od,useMemo:Md,useReducer:zc,useRef:Nd,useState:function(){return zc(ra)},useDebugValue:Bc,useDeferredValue:function(e,t){var n=St();return Ge===null?qc(n,e,t):zd(n,Ge.memoizedState,e,t)},useTransition:function(){var e=zc(ra)[0],t=St().memoizedState;return[typeof e=="boolean"?e:Mi(e),t]},useSyncExternalStore:od,useId:Bd};fl.useCacheRefresh=qd,fl.useMemoCache=wc,fl.useHostTransitionStatus=Vc,fl.useFormState=Td,fl.useActionState=Td,fl.useOptimistic=function(e,t){var n=St();return Ge!==null?pd(n,Ge,e,t):(n.baseState=e,[e,n.queue.dispatch])};function Gc(e,t,n,l){t=e.memoizedState,n=n(l,t),n=n==null?t:ie({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xc={isMounted:function(e){return(e=e._reactInternals)?I(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var l=un(),r=wa(l);r.payload=t,n!=null&&(r.callback=n),t=Ma(e,r,l),t!==null&&(Kt(t,e,l),Hi(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var l=un(),r=wa(l);r.tag=1,r.payload=t,n!=null&&(r.callback=n),t=Ma(e,r,l),t!==null&&(Kt(t,e,l),Hi(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=un(),l=wa(n);l.tag=2,t!=null&&(l.callback=t),t=Ma(e,l,n),t!==null&&(Kt(t,e,n),Hi(t,e,n))}};function Gd(e,t,n,l,r,s,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,s,d):t.prototype&&t.prototype.isPureReactComponent?!Si(n,l)||!Si(r,s):!0}function Xd(e,t,n,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,l),t.state!==e&&Xc.enqueueReplaceState(t,t.state,null)}function dl(e,t){var n=t;if("ref"in t){n={};for(var l in t)l!=="ref"&&(n[l]=t[l])}if(e=e.defaultProps){n===t&&(n=ie({},n));for(var r in e)n[r]===void 0&&(n[r]=e[r])}return n}var Pr=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function Qd(e){Pr(e)}function Zd(e){console.error(e)}function Kd(e){Pr(e)}function Wr(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function $d(e,t,n){try{var l=e.onCaughtError;l(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(r){setTimeout(function(){throw r})}}function Qc(e,t,n){return n=wa(n),n.tag=3,n.payload={element:null},n.callback=function(){Wr(e,t)},n}function Jd(e){return e=wa(e),e.tag=3,e}function Fd(e,t,n,l){var r=n.type.getDerivedStateFromError;if(typeof r=="function"){var s=l.value;e.payload=function(){return r(s)},e.callback=function(){$d(t,n,l)}}var d=n.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){$d(t,n,l),typeof r!="function"&&(qa===null?qa=new Set([this]):qa.add(this));var E=l.stack;this.componentDidCatch(l.value,{componentStack:E!==null?E:""})})}function Gv(e,t,n,l,r){if(n.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=n.alternate,t!==null&&Ui(t,n,r,!0),n=Rn.current,n!==null){switch(n.tag){case 13:return Yn===null?Ns():n.alternate===null&&dt===0&&(dt=3),n.flags&=-257,n.flags|=65536,n.lanes=r,l===Sc?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([l]):t.add(l),js(e,l,r)),!1;case 22:return n.flags|=65536,l===Sc?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([l]):n.add(l)),js(e,l,r)),!1}throw Error(c(435,n.tag))}return js(e,l,r),Ns(),!1}if(Be)return t=Rn.current,t!==null?(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=r,l!==bc&&(e=Error(c(422),{cause:l}),Ti(Sn(e,n)))):(l!==bc&&(t=Error(c(423),{cause:l}),Ti(Sn(t,n))),e=e.current.alternate,e.flags|=65536,r&=-r,e.lanes|=r,l=Sn(l,n),r=Qc(e.stateNode,l,r),rs(e,r),dt!==4&&(dt=2)),!1;var s=Error(c(520),{cause:l});if(s=Sn(s,n),Qi===null?Qi=[s]:Qi.push(s),dt!==4&&(dt=2),t===null)return!0;l=Sn(l,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=r&-r,n.lanes|=e,e=Qc(n.stateNode,l,e),rs(n,e),!1;case 1:if(t=n.type,s=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||s!==null&&typeof s.componentDidCatch=="function"&&(qa===null||!qa.has(s))))return n.flags|=65536,r&=-r,n.lanes|=r,r=Jd(r),Fd(r,e,n,l),rs(n,r),!1}n=n.return}while(n!==null);return!1}var Pd=Error(c(461)),Nt=!1;function zt(e,t,n,l){t.child=e===null?nd(t,null,n,l):ul(t,e.child,n,l)}function Wd(e,t,n,l,r){n=n.render;var s=t.ref;if("ref"in l){var d={};for(var E in l)E!=="ref"&&(d[E]=l[E])}else d=l;return ml(t),l=jc(e,t,n,d,s,r),E=Oc(),e!==null&&!Nt?(Dc(e,t,r),ua(e,t,r)):(Be&&E&&gc(t),t.flags|=1,zt(e,t,l,r),t.child)}function Id(e,t,n,l,r){if(e===null){var s=n.type;return typeof s=="function"&&!ms(s)&&s.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=s,eh(e,t,s,l,r)):(e=au(n.type,null,l,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!es(e,r)){var d=s.memoizedProps;if(n=n.compare,n=n!==null?n:Si,n(d,l)&&e.ref===t.ref)return ua(e,t,r)}return t.flags|=1,e=Ha(s,l),e.ref=t.ref,e.return=t,t.child=e}function eh(e,t,n,l,r){if(e!==null){var s=e.memoizedProps;if(Si(s,l)&&e.ref===t.ref)if(Nt=!1,t.pendingProps=l=s,es(e,r))e.flags&131072&&(Nt=!0);else return t.lanes=e.lanes,ua(e,t,r)}return Zc(e,t,n,l,r)}function th(e,t,n){var l=t.pendingProps,r=l.children,s=(t.stateNode._pendingVisibility&2)!==0,d=e!==null?e.memoizedState:null;if(Li(e,t),l.mode==="hidden"||s){if(t.flags&128){if(l=d!==null?d.baseLanes|n:n,e!==null){for(r=t.child=e.child,s=0;r!==null;)s=s|r.lanes|r.childLanes,r=r.sibling;t.childLanes=s&~l}else t.childLanes=0,t.child=null;return nh(e,t,l,n)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Yr(t,d!==null?d.cachePool:null),d!==null?ad(t,d):xc(),ld(t);else return t.lanes=t.childLanes=536870912,nh(e,t,d!==null?d.baseLanes|n:n,n)}else d!==null?(Yr(t,d.cachePool),ad(t,d),Ca(),t.memoizedState=null):(e!==null&&Yr(t,null),xc(),Ca());return zt(e,t,r,n),t.child}function nh(e,t,n,l){var r=Nc();return r=r===null?null:{parent:Rt._currentValue,pool:r},t.memoizedState={baseLanes:n,cachePool:r},e!==null&&Yr(t,null),xc(),ld(t),e!==null&&Ui(e,t,l,!0),null}function Li(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=2097664);else{if(typeof n!="function"&&typeof n!="object")throw Error(c(284));(e===null||e.ref!==n)&&(t.flags|=2097664)}}function Zc(e,t,n,l,r){return ml(t),n=jc(e,t,n,l,void 0,r),l=Oc(),e!==null&&!Nt?(Dc(e,t,r),ua(e,t,r)):(Be&&l&&gc(t),t.flags|=1,zt(e,t,n,r),t.child)}function ah(e,t,n,l,r,s){return ml(t),t.updateQueue=null,n=sd(t,l,n,r),cd(e),l=Oc(),e!==null&&!Nt?(Dc(e,t,s),ua(e,t,s)):(Be&&l&&gc(t),t.flags|=1,zt(e,t,n,s),t.child)}function lh(e,t,n,l,r){if(ml(t),t.stateNode===null){var s=Hl,d=n.contextType;typeof d=="object"&&d!==null&&(s=qt(d)),s=new n(l,s),t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=Xc,t.stateNode=s,s._reactInternals=t,s=t.stateNode,s.props=l,s.state=t.memoizedState,s.refs={},ls(t),d=n.contextType,s.context=typeof d=="object"&&d!==null?qt(d):Hl,s.state=t.memoizedState,d=n.getDerivedStateFromProps,typeof d=="function"&&(Gc(t,n,d,l),s.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(d=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),d!==s.state&&Xc.enqueueReplaceState(s,s.state,null),qi(t,l,s,r),Bi(),s.state=t.memoizedState),typeof s.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){s=t.stateNode;var E=t.memoizedProps,S=dl(n,E);s.props=S;var j=s.context,q=n.contextType;d=Hl,typeof q=="object"&&q!==null&&(d=qt(q));var Q=n.getDerivedStateFromProps;q=typeof Q=="function"||typeof s.getSnapshotBeforeUpdate=="function",E=t.pendingProps!==E,q||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(E||j!==d)&&Xd(t,s,l,d),Aa=!1;var z=t.memoizedState;s.state=z,qi(t,l,s,r),Bi(),j=t.memoizedState,E||z!==j||Aa?(typeof Q=="function"&&(Gc(t,n,Q,l),j=t.memoizedState),(S=Aa||Gd(t,n,S,l,z,j,d))?(q||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=j),s.props=l,s.state=j,s.context=d,l=S):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{s=t.stateNode,is(e,t),d=t.memoizedProps,q=dl(n,d),s.props=q,Q=t.pendingProps,z=s.context,j=n.contextType,S=Hl,typeof j=="object"&&j!==null&&(S=qt(j)),E=n.getDerivedStateFromProps,(j=typeof E=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(d!==Q||z!==S)&&Xd(t,s,l,S),Aa=!1,z=t.memoizedState,s.state=z,qi(t,l,s,r),Bi();var H=t.memoizedState;d!==Q||z!==H||Aa||e!==null&&e.dependencies!==null&&Ir(e.dependencies)?(typeof E=="function"&&(Gc(t,n,E,l),H=t.memoizedState),(q=Aa||Gd(t,n,q,l,z,H,S)||e!==null&&e.dependencies!==null&&Ir(e.dependencies))?(j||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(l,H,S),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(l,H,S)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||d===e.memoizedProps&&z===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&z===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=H),s.props=l,s.state=H,s.context=S,l=q):(typeof s.componentDidUpdate!="function"||d===e.memoizedProps&&z===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&z===e.memoizedState||(t.flags|=1024),l=!1)}return s=l,Li(e,t),l=(t.flags&128)!==0,s||l?(s=t.stateNode,n=l&&typeof n.getDerivedStateFromError!="function"?null:s.render(),t.flags|=1,e!==null&&l?(t.child=ul(t,e.child,null,r),t.child=ul(t,null,n,r)):zt(e,t,n,r),t.memoizedState=s.state,e=t.child):e=ua(e,t,r),e}function ih(e,t,n,l){return Ri(),t.flags|=256,zt(e,t,n,l),t.child}var Kc={dehydrated:null,treeContext:null,retryLane:0};function $c(e){return{baseLanes:e,cachePool:ud()}}function Jc(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=jn),e}function rh(e,t,n){var l=t.pendingProps,r=!1,s=(t.flags&128)!==0,d;if((d=s)||(d=e!==null&&e.memoizedState===null?!1:(_t.current&2)!==0),d&&(r=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(Be){if(r?Na(t):Ca(),Be){var E=Mt,S;if(S=E){e:{for(S=E,E=Vn;S.nodeType!==8;){if(!E){E=null;break e}if(S=Ln(S.nextSibling),S===null){E=null;break e}}E=S}E!==null?(t.memoizedState={dehydrated:E,treeContext:ll!==null?{id:aa,overflow:la}:null,retryLane:536870912},S=Cn(18,null,null,0),S.stateNode=E,S.return=t,t.child=S,Zt=t,Mt=null,S=!0):S=!1}S||rl(t)}if(E=t.memoizedState,E!==null&&(E=E.dehydrated,E!==null))return E.data==="$!"?t.lanes=16:t.lanes=536870912,null;ia(t)}return E=l.children,l=l.fallback,r?(Ca(),r=t.mode,E=Pc({mode:"hidden",children:E},r),l=pl(l,r,n,null),E.return=t,l.return=t,E.sibling=l,t.child=E,r=t.child,r.memoizedState=$c(n),r.childLanes=Jc(e,d,n),t.memoizedState=Kc,l):(Na(t),Fc(t,E))}if(S=e.memoizedState,S!==null&&(E=S.dehydrated,E!==null)){if(s)t.flags&256?(Na(t),t.flags&=-257,t=Wc(e,t,n)):t.memoizedState!==null?(Ca(),t.child=e.child,t.flags|=128,t=null):(Ca(),r=l.fallback,E=t.mode,l=Pc({mode:"visible",children:l.children},E),r=pl(r,E,n,null),r.flags|=2,l.return=t,r.return=t,l.sibling=r,t.child=l,ul(t,e.child,null,n),l=t.child,l.memoizedState=$c(n),l.childLanes=Jc(e,d,n),t.memoizedState=Kc,t=r);else if(Na(t),E.data==="$!"){if(d=E.nextSibling&&E.nextSibling.dataset,d)var j=d.dgst;d=j,l=Error(c(419)),l.stack="",l.digest=d,Ti({value:l,source:null,stack:null}),t=Wc(e,t,n)}else if(Nt||Ui(e,t,n,!1),d=(n&e.childLanes)!==0,Nt||d){if(d=Pe,d!==null){if(l=n&-n,l&42)l=1;else switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:l=64;break;case 268435456:l=134217728;break;default:l=0}if(l=l&(d.suspendedLanes|n)?0:l,l!==0&&l!==S.retryLane)throw S.retryLane=l,Ta(e,l),Kt(d,e,l),Pd}E.data==="$?"||Ns(),t=Wc(e,t,n)}else E.data==="$?"?(t.flags|=128,t.child=e.child,t=lg.bind(null,e),E._reactRetry=t,t=null):(e=S.treeContext,Mt=Ln(E.nextSibling),Zt=t,Be=!0,Mn=null,Vn=!1,e!==null&&(xn[_n++]=aa,xn[_n++]=la,xn[_n++]=ll,aa=e.id,la=e.overflow,ll=t),t=Fc(t,l.children),t.flags|=4096);return t}return r?(Ca(),r=l.fallback,E=t.mode,S=e.child,j=S.sibling,l=Ha(S,{mode:"hidden",children:l.children}),l.subtreeFlags=S.subtreeFlags&31457280,j!==null?r=Ha(j,r):(r=pl(r,E,n,null),r.flags|=2),r.return=t,l.return=t,l.sibling=r,t.child=l,l=r,r=t.child,E=e.child.memoizedState,E===null?E=$c(n):(S=E.cachePool,S!==null?(j=Rt._currentValue,S=S.parent!==j?{parent:j,pool:j}:S):S=ud(),E={baseLanes:E.baseLanes|n,cachePool:S}),r.memoizedState=E,r.childLanes=Jc(e,d,n),t.memoizedState=Kc,l):(Na(t),n=e.child,e=n.sibling,n=Ha(n,{mode:"visible",children:l.children}),n.return=t,n.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=n,t.memoizedState=null,n)}function Fc(e,t){return t=Pc({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Pc(e,t){return wh(e,t,0,null)}function Wc(e,t,n){return ul(t,e.child,null,n),e=Fc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uh(e,t,n){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),ns(e.return,t,n)}function Ic(e,t,n,l,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:r}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=l,s.tail=n,s.tailMode=r)}function ch(e,t,n){var l=t.pendingProps,r=l.revealOrder,s=l.tail;if(zt(e,t,l.children,n),l=_t.current,l&2)l=l&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&uh(e,n,t);else if(e.tag===19)uh(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}l&=1}switch(pe(_t,l),r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Vr(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Ic(t,!1,r,n,s);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Vr(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Ic(t,!0,n,null,s);break;case"together":Ic(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ua(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ba|=t.lanes,!(n&t.childLanes))if(e!==null){if(Ui(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(c(153));if(t.child!==null){for(e=t.child,n=Ha(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ha(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function es(e,t){return e.lanes&t?!0:(e=e.dependencies,!!(e!==null&&Ir(e)))}function Xv(e,t,n){switch(t.tag){case 3:we(t,t.stateNode.containerInfo),Da(t,Rt,e.memoizedState.cache),Ri();break;case 27:case 5:Dt(t);break;case 4:we(t,t.stateNode.containerInfo);break;case 10:Da(t,t.type,t.memoizedProps.value);break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(Na(t),t.flags|=128,null):n&t.child.childLanes?rh(e,t,n):(Na(t),e=ua(e,t,n),e!==null?e.sibling:null);Na(t);break;case 19:var r=(e.flags&128)!==0;if(l=(n&t.childLanes)!==0,l||(Ui(e,t,n,!1),l=(n&t.childLanes)!==0),r){if(l)return ch(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),pe(_t,_t.current),l)break;return null;case 22:case 23:return t.lanes=0,th(e,t,n);case 24:Da(t,Rt,e.memoizedState.cache)}return ua(e,t,n)}function sh(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Nt=!0;else{if(!es(e,n)&&!(t.flags&128))return Nt=!1,Xv(e,t,n);Nt=!!(e.flags&131072)}else Nt=!1,Be&&t.flags&1048576&&Kf(t,Ur,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var l=t.elementType,r=l._init;if(l=r(l._payload),t.type=l,typeof l=="function")ms(l)?(e=dl(l,e),t.tag=1,t=lh(null,t,l,e,n)):(t.tag=0,t=Zc(null,t,l,e,n));else{if(l!=null){if(r=l.$$typeof,r===w){t.tag=11,t=Wd(null,t,l,e,n);break e}else if(r===U){t.tag=14,t=Id(null,t,l,e,n);break e}}throw t=be(l)||l,Error(c(306,t,""))}}return t;case 0:return Zc(e,t,t.type,t.pendingProps,n);case 1:return l=t.type,r=dl(l,t.pendingProps),lh(e,t,l,r,n);case 3:e:{if(we(t,t.stateNode.containerInfo),e===null)throw Error(c(387));var s=t.pendingProps;r=t.memoizedState,l=r.element,is(e,t),qi(t,s,null,n);var d=t.memoizedState;if(s=d.cache,Da(t,Rt,s),s!==r.cache&&as(t,[Rt],n,!0),Bi(),s=d.element,r.isDehydrated)if(r={element:s,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=ih(e,t,s,n);break e}else if(s!==l){l=Sn(Error(c(424)),t),Ti(l),t=ih(e,t,s,n);break e}else for(Mt=Ln(t.stateNode.containerInfo.firstChild),Zt=t,Be=!0,Mn=null,Vn=!0,n=nd(t,null,s,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ri(),s===l){t=ua(e,t,n);break e}zt(e,t,s,n)}t=t.child}return t;case 26:return Li(e,t),e===null?(n=dm(t.type,null,t.pendingProps,null))?t.memoizedState=n:Be||(n=t.type,e=t.pendingProps,l=yu(mt.current).createElement(n),l[se]=t,l[ye]=e,Lt(l,n,e),Fe(l),t.stateNode=l):t.memoizedState=dm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Dt(t),e===null&&Be&&(l=t.stateNode=sm(t.type,t.pendingProps,mt.current),Zt=t,Vn=!0,Mt=Ln(l.firstChild)),l=t.pendingProps.children,e!==null||Be?zt(e,t,l,n):t.child=ul(t,null,l,n),Li(e,t),t.child;case 5:return e===null&&Be&&((r=l=Mt)&&(l=bg(l,t.type,t.pendingProps,Vn),l!==null?(t.stateNode=l,Zt=t,Mt=Ln(l.firstChild),Vn=!1,r=!0):r=!1),r||rl(t)),Dt(t),r=t.type,s=t.pendingProps,d=e!==null?e.memoizedProps:null,l=s.children,ks(r,s)?l=null:d!==null&&ks(r,d)&&(t.flags|=32),t.memoizedState!==null&&(r=jc(e,t,Hv,null,null,n),er._currentValue=r),Li(e,t),zt(e,t,l,n),t.child;case 6:return e===null&&Be&&((e=n=Mt)&&(n=Sg(n,t.pendingProps,Vn),n!==null?(t.stateNode=n,Zt=t,Mt=null,e=!0):e=!1),e||rl(t)),null;case 13:return rh(e,t,n);case 4:return we(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=ul(t,null,l,n):zt(e,t,l,n),t.child;case 11:return Wd(e,t,t.type,t.pendingProps,n);case 7:return zt(e,t,t.pendingProps,n),t.child;case 8:return zt(e,t,t.pendingProps.children,n),t.child;case 12:return zt(e,t,t.pendingProps.children,n),t.child;case 10:return l=t.pendingProps,Da(t,t.type,l.value),zt(e,t,l.children,n),t.child;case 9:return r=t.type._context,l=t.pendingProps.children,ml(t),r=qt(r),l=l(r),t.flags|=1,zt(e,t,l,n),t.child;case 14:return Id(e,t,t.type,t.pendingProps,n);case 15:return eh(e,t,t.type,t.pendingProps,n);case 19:return ch(e,t,n);case 22:return th(e,t,n);case 24:return ml(t),l=qt(Rt),e===null?(r=Nc(),r===null&&(r=Pe,s=Rc(),r.pooledCache=s,s.refCount++,s!==null&&(r.pooledCacheLanes|=n),r=s),t.memoizedState={parent:l,cache:r},ls(t),Da(t,Rt,r)):(e.lanes&n&&(is(e,t),qi(t,null,null,n),Bi()),r=e.memoizedState,s=t.memoizedState,r.parent!==l?(r={parent:l,cache:l},t.memoizedState=r,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=r),Da(t,Rt,l)):(l=s.cache,Da(t,Rt,l),l!==r.cache&&as(t,[Rt],n,!0))),zt(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(c(156,t.tag))}var ts=Te(null),hl=null,ca=null;function Da(e,t,n){pe(ts,t._currentValue),t._currentValue=n}function sa(e){e._currentValue=ts.current,He(ts)}function ns(e,t,n){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===n)break;e=e.return}}function as(e,t,n,l){var r=e.child;for(r!==null&&(r.return=e);r!==null;){var s=r.dependencies;if(s!==null){var d=r.child;s=s.firstContext;e:for(;s!==null;){var E=s;s=r;for(var S=0;S<t.length;S++)if(E.context===t[S]){s.lanes|=n,E=s.alternate,E!==null&&(E.lanes|=n),ns(s.return,n,e),l||(d=null);break e}s=E.next}}else if(r.tag===18){if(d=r.return,d===null)throw Error(c(341));d.lanes|=n,s=d.alternate,s!==null&&(s.lanes|=n),ns(d,n,e),d=null}else d=r.child;if(d!==null)d.return=r;else for(d=r;d!==null;){if(d===e){d=null;break}if(r=d.sibling,r!==null){r.return=d.return,d=r;break}d=d.return}r=d}}function Ui(e,t,n,l){e=null;for(var r=t,s=!1;r!==null;){if(!s){if(r.flags&524288)s=!0;else if(r.flags&262144)break}if(r.tag===10){var d=r.alternate;if(d===null)throw Error(c(387));if(d=d.memoizedProps,d!==null){var E=r.type;nn(r.pendingProps.value,d.value)||(e!==null?e.push(E):e=[E])}}else if(r===nt.current){if(d=r.alternate,d===null)throw Error(c(387));d.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(e!==null?e.push(er):e=[er])}r=r.return}e!==null&&as(t,e,n,l),t.flags|=262144}function Ir(e){for(e=e.firstContext;e!==null;){if(!nn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ml(e){hl=e,ca=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function qt(e){return oh(hl,e)}function eu(e,t){return hl===null&&ml(e),oh(e,t)}function oh(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ca===null){if(e===null)throw Error(c(308));ca=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ca=ca.next=t;return n}var Aa=!1;function ls(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function is(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function wa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ma(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,ct&2){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,t=zr(e),Qf(e,null,n),t}return Mr(e,l,t,n),zr(e)}function Hi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194176)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,de(e,n)}}function rs(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?r=s=d:s=s.next=d,n=n.next}while(n!==null);s===null?r=s=t:s=s.next=t}else r=s=t;n={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:l.shared,callbacks:l.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var us=!1;function Bi(){if(us){var e=Gl;if(e!==null)throw e}}function qi(e,t,n,l){us=!1;var r=e.updateQueue;Aa=!1;var s=r.firstBaseUpdate,d=r.lastBaseUpdate,E=r.shared.pending;if(E!==null){r.shared.pending=null;var S=E,j=S.next;S.next=null,d===null?s=j:d.next=j,d=S;var q=e.alternate;q!==null&&(q=q.updateQueue,E=q.lastBaseUpdate,E!==d&&(E===null?q.firstBaseUpdate=j:E.next=j,q.lastBaseUpdate=S))}if(s!==null){var Q=r.baseState;d=0,q=j=S=null,E=s;do{var z=E.lane&-536870913,H=z!==E.lane;if(H?(Ue&z)===z:(l&z)===z){z!==0&&z===Yl&&(us=!0),q!==null&&(q=q.next={lane:0,tag:E.tag,payload:E.payload,callback:null,next:null});e:{var fe=e,_e=E;z=t;var ht=n;switch(_e.tag){case 1:if(fe=_e.payload,typeof fe=="function"){Q=fe.call(ht,Q,z);break e}Q=fe;break e;case 3:fe.flags=fe.flags&-65537|128;case 0:if(fe=_e.payload,z=typeof fe=="function"?fe.call(ht,Q,z):fe,z==null)break e;Q=ie({},Q,z);break e;case 2:Aa=!0}}z=E.callback,z!==null&&(e.flags|=64,H&&(e.flags|=8192),H=r.callbacks,H===null?r.callbacks=[z]:H.push(z))}else H={lane:z,tag:E.tag,payload:E.payload,callback:E.callback,next:null},q===null?(j=q=H,S=Q):q=q.next=H,d|=z;if(E=E.next,E===null){if(E=r.shared.pending,E===null)break;H=E,E=H.next,H.next=null,r.lastBaseUpdate=H,r.shared.pending=null}}while(!0);q===null&&(S=Q),r.baseState=S,r.firstBaseUpdate=j,r.lastBaseUpdate=q,s===null&&(r.shared.lanes=0),Ba|=d,e.lanes=d,e.memoizedState=Q}}function fh(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function dh(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)fh(n[e],t)}function ki(e,t){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var r=l.next;n=r;do{if((n.tag&e)===e){l=void 0;var s=n.create,d=n.inst;l=s(),d.destroy=l}n=n.next}while(n!==r)}}catch(E){Je(t,t.return,E)}}function za(e,t,n){try{var l=t.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var s=r.next;l=s;do{if((l.tag&e)===e){var d=l.inst,E=d.destroy;if(E!==void 0){d.destroy=void 0,r=t;var S=n;try{E()}catch(j){Je(r,S,j)}}}l=l.next}while(l!==s)}}catch(j){Je(t,t.return,j)}}function hh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{dh(t,n)}catch(l){Je(e,e.return,l)}}}function mh(e,t,n){n.props=dl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(l){Je(e,t,l)}}function yl(e,t){try{var n=e.ref;if(n!==null){var l=e.stateNode;switch(e.tag){case 26:case 27:case 5:var r=l;break;default:r=l}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(s){Je(e,t,s)}}function an(e,t){var n=e.ref,l=e.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(r){Je(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Je(e,t,r)}else n.current=null}function yh(e){var t=e.type,n=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break e;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(r){Je(e,e.return,r)}}function ph(e,t,n){try{var l=e.stateNode;yg(l,e.type,n,t),l[ye]=t}catch(r){Je(e,e.return,r)}}function vh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27||e.tag===4}function cs(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==27&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ss(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=mu));else if(l!==4&&l!==27&&(e=e.child,e!==null))for(ss(e,t,n),e=e.sibling;e!==null;)ss(e,t,n),e=e.sibling}function tu(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&l!==27&&(e=e.child,e!==null))for(tu(e,t,n),e=e.sibling;e!==null;)tu(e,t,n),e=e.sibling}var oa=!1,ft=!1,os=!1,gh=typeof WeakSet=="function"?WeakSet:Set,Ct=null,Eh=!1;function Qv(e,t){if(e=e.containerInfo,Bs=Su,e=Uf(e),dc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var r=l.anchorOffset,s=l.focusNode;l=l.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var d=0,E=-1,S=-1,j=0,q=0,Q=e,z=null;t:for(;;){for(var H;Q!==n||r!==0&&Q.nodeType!==3||(E=d+r),Q!==s||l!==0&&Q.nodeType!==3||(S=d+l),Q.nodeType===3&&(d+=Q.nodeValue.length),(H=Q.firstChild)!==null;)z=Q,Q=H;for(;;){if(Q===e)break t;if(z===n&&++j===r&&(E=d),z===s&&++q===l&&(S=d),(H=Q.nextSibling)!==null)break;Q=z,z=Q.parentNode}Q=H}n=E===-1||S===-1?null:{start:E,end:S}}else n=null}n=n||{start:0,end:0}}else n=null;for(qs={focusedElem:e,selectionRange:n},Su=!1,Ct=t;Ct!==null;)if(t=Ct,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ct=e;else for(;Ct!==null;){switch(t=Ct,s=t.alternate,e=t.flags,t.tag){case 0:break;case 11:case 15:break;case 1:if(e&1024&&s!==null){e=void 0,n=t,r=s.memoizedProps,s=s.memoizedState,l=n.stateNode;try{var fe=dl(n.type,r,n.elementType===n.type);e=l.getSnapshotBeforeUpdate(fe,s),l.__reactInternalSnapshotBeforeUpdate=e}catch(_e){Je(n,n.return,_e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Gs(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Gs(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(c(163))}if(e=t.sibling,e!==null){e.return=t.return,Ct=e;break}Ct=t.return}return fe=Eh,Eh=!1,fe}function bh(e,t,n){var l=n.flags;switch(n.tag){case 0:case 11:case 15:da(e,n),l&4&&ki(5,n);break;case 1:if(da(e,n),l&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(E){Je(n,n.return,E)}else{var r=dl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(E){Je(n,n.return,E)}}l&64&&hh(n),l&512&&yl(n,n.return);break;case 3:if(da(e,n),l&64&&(l=n.updateQueue,l!==null)){if(e=null,n.child!==null)switch(n.child.tag){case 27:case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}try{dh(l,e)}catch(E){Je(n,n.return,E)}}break;case 26:da(e,n),l&512&&yl(n,n.return);break;case 27:case 5:da(e,n),t===null&&l&4&&yh(n),l&512&&yl(n,n.return);break;case 12:da(e,n);break;case 13:da(e,n),l&4&&_h(e,n);break;case 22:if(r=n.memoizedState!==null||oa,!r){t=t!==null&&t.memoizedState!==null||ft;var s=oa,d=ft;oa=r,(ft=t)&&!d?La(e,n,(n.subtreeFlags&8772)!==0):da(e,n),oa=s,ft=d}l&512&&(n.memoizedProps.mode==="manual"?yl(n,n.return):an(n,n.return));break;default:da(e,n)}}function Sh(e){var t=e.alternate;t!==null&&(e.alternate=null,Sh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&In(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var xt=null,ln=!1;function fa(e,t,n){for(n=n.child;n!==null;)xh(e,t,n),n=n.sibling}function xh(e,t,n){if(pt&&typeof pt.onCommitFiberUnmount=="function")try{pt.onCommitFiberUnmount(tn,n)}catch{}switch(n.tag){case 26:ft||an(n,t),fa(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ft||an(n,t);var l=xt,r=ln;for(xt=n.stateNode,fa(e,t,n),n=n.stateNode,t=n.attributes;t.length;)n.removeAttributeNode(t[0]);In(n),xt=l,ln=r;break;case 5:ft||an(n,t);case 6:r=xt;var s=ln;if(xt=null,fa(e,t,n),xt=r,ln=s,xt!==null)if(ln)try{e=xt,l=n.stateNode,e.nodeType===8?e.parentNode.removeChild(l):e.removeChild(l)}catch(d){Je(n,t,d)}else try{xt.removeChild(n.stateNode)}catch(d){Je(n,t,d)}break;case 18:xt!==null&&(ln?(t=xt,n=n.stateNode,t.nodeType===8?Ys(t.parentNode,n):t.nodeType===1&&Ys(t,n),lr(t)):Ys(xt,n.stateNode));break;case 4:l=xt,r=ln,xt=n.stateNode.containerInfo,ln=!0,fa(e,t,n),xt=l,ln=r;break;case 0:case 11:case 14:case 15:ft||za(2,n,t),ft||za(4,n,t),fa(e,t,n);break;case 1:ft||(an(n,t),l=n.stateNode,typeof l.componentWillUnmount=="function"&&mh(n,t,l)),fa(e,t,n);break;case 21:fa(e,t,n);break;case 22:ft||an(n,t),ft=(l=ft)||n.memoizedState!==null,fa(e,t,n),ft=l;break;default:fa(e,t,n)}}function _h(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{lr(e)}catch(n){Je(t,t.return,n)}}function Zv(e){switch(e.tag){case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new gh),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new gh),t;default:throw Error(c(435,e.tag))}}function fs(e,t){var n=Zv(e);t.forEach(function(l){var r=ig.bind(null,e,l);n.has(l)||(n.add(l),l.then(r,r))})}function Tn(e,t){var n=t.deletions;if(n!==null)for(var l=0;l<n.length;l++){var r=n[l],s=e,d=t,E=d;e:for(;E!==null;){switch(E.tag){case 27:case 5:xt=E.stateNode,ln=!1;break e;case 3:xt=E.stateNode.containerInfo,ln=!0;break e;case 4:xt=E.stateNode.containerInfo,ln=!0;break e}E=E.return}if(xt===null)throw Error(c(160));xh(s,d,r),xt=null,ln=!1,s=r.alternate,s!==null&&(s.return=null),r.return=null}if(t.subtreeFlags&13878)for(t=t.child;t!==null;)Rh(t,e),t=t.sibling}var zn=null;function Rh(e,t){var n=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Tn(t,e),Nn(e),l&4&&(za(3,e,e.return),ki(3,e),za(5,e,e.return));break;case 1:Tn(t,e),Nn(e),l&512&&(ft||n===null||an(n,n.return)),l&64&&oa&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?l:n.concat(l))));break;case 26:var r=zn;if(Tn(t,e),Nn(e),l&512&&(ft||n===null||an(n,n.return)),l&4){var s=n!==null?n.memoizedState:null;if(l=e.memoizedState,n===null)if(l===null)if(e.stateNode===null){e:{l=e.type,n=e.memoizedProps,r=r.ownerDocument||r;t:switch(l){case"title":s=r.getElementsByTagName("title")[0],(!s||s[pn]||s[se]||s.namespaceURI==="http://www.w3.org/2000/svg"||s.hasAttribute("itemprop"))&&(s=r.createElement(l),r.head.insertBefore(s,r.querySelector("head > title"))),Lt(s,l,n),s[se]=e,Fe(s),l=s;break e;case"link":var d=ym("link","href",r).get(l+(n.href||""));if(d){for(var E=0;E<d.length;E++)if(s=d[E],s.getAttribute("href")===(n.href==null?null:n.href)&&s.getAttribute("rel")===(n.rel==null?null:n.rel)&&s.getAttribute("title")===(n.title==null?null:n.title)&&s.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){d.splice(E,1);break t}}s=r.createElement(l),Lt(s,l,n),r.head.appendChild(s);break;case"meta":if(d=ym("meta","content",r).get(l+(n.content||""))){for(E=0;E<d.length;E++)if(s=d[E],s.getAttribute("content")===(n.content==null?null:""+n.content)&&s.getAttribute("name")===(n.name==null?null:n.name)&&s.getAttribute("property")===(n.property==null?null:n.property)&&s.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&s.getAttribute("charset")===(n.charSet==null?null:n.charSet)){d.splice(E,1);break t}}s=r.createElement(l),Lt(s,l,n),r.head.appendChild(s);break;default:throw Error(c(468,l))}s[se]=e,Fe(s),l=s}e.stateNode=l}else pm(r,e.type,e.stateNode);else e.stateNode=mm(r,l,e.memoizedProps);else s!==l?(s===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):s.count--,l===null?pm(r,e.type,e.stateNode):mm(r,l,e.memoizedProps)):l===null&&e.stateNode!==null&&ph(e,e.memoizedProps,n.memoizedProps)}break;case 27:if(l&4&&e.alternate===null){r=e.stateNode,s=e.memoizedProps;try{for(var S=r.firstChild;S;){var j=S.nextSibling,q=S.nodeName;S[pn]||q==="HEAD"||q==="BODY"||q==="SCRIPT"||q==="STYLE"||q==="LINK"&&S.rel.toLowerCase()==="stylesheet"||r.removeChild(S),S=j}for(var Q=e.type,z=r.attributes;z.length;)r.removeAttributeNode(z[0]);Lt(r,Q,s),r[se]=e,r[ye]=s}catch(fe){Je(e,e.return,fe)}}case 5:if(Tn(t,e),Nn(e),l&512&&(ft||n===null||an(n,n.return)),e.flags&32){r=e.stateNode;try{Dl(r,"")}catch(fe){Je(e,e.return,fe)}}l&4&&e.stateNode!=null&&(r=e.memoizedProps,ph(e,r,n!==null?n.memoizedProps:r)),l&1024&&(os=!0);break;case 6:if(Tn(t,e),Nn(e),l&4){if(e.stateNode===null)throw Error(c(162));l=e.memoizedProps,n=e.stateNode;try{n.nodeValue=l}catch(fe){Je(e,e.return,fe)}}break;case 3:if(gu=null,r=zn,zn=pu(t.containerInfo),Tn(t,e),zn=r,Nn(e),l&4&&n!==null&&n.memoizedState.isDehydrated)try{lr(t.containerInfo)}catch(fe){Je(e,e.return,fe)}os&&(os=!1,Th(e));break;case 4:l=zn,zn=pu(e.stateNode.containerInfo),Tn(t,e),Nn(e),zn=l;break;case 12:Tn(t,e),Nn(e);break;case 13:Tn(t,e),Nn(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(bs=yt()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,fs(e,l)));break;case 22:if(l&512&&(ft||n===null||an(n,n.return)),S=e.memoizedState!==null,j=n!==null&&n.memoizedState!==null,q=oa,Q=ft,oa=q||S,ft=Q||j,Tn(t,e),ft=Q,oa=q,Nn(e),t=e.stateNode,t._current=e,t._visibility&=-3,t._visibility|=t._pendingVisibility&2,l&8192&&(t._visibility=S?t._visibility&-2:t._visibility|1,S&&(t=oa||ft,n===null||j||t||Kl(e)),e.memoizedProps===null||e.memoizedProps.mode!=="manual"))e:for(n=null,t=e;;){if(t.tag===5||t.tag===26||t.tag===27){if(n===null){j=n=t;try{if(r=j.stateNode,S)s=r.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none";else{d=j.stateNode,E=j.memoizedProps.style;var H=E!=null&&E.hasOwnProperty("display")?E.display:null;d.style.display=H==null||typeof H=="boolean"?"":(""+H).trim()}}catch(fe){Je(j,j.return,fe)}}}else if(t.tag===6){if(n===null){j=t;try{j.stateNode.nodeValue=S?"":j.memoizedProps}catch(fe){Je(j,j.return,fe)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(n=l.retryQueue,n!==null&&(l.retryQueue=null,fs(e,n))));break;case 19:Tn(t,e),Nn(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,fs(e,l)));break;case 21:break;default:Tn(t,e),Nn(e)}}function Nn(e){var t=e.flags;if(t&2){try{if(e.tag!==27){e:{for(var n=e.return;n!==null;){if(vh(n)){var l=n;break e}n=n.return}throw Error(c(160))}switch(l.tag){case 27:var r=l.stateNode,s=cs(e);tu(e,s,r);break;case 5:var d=l.stateNode;l.flags&32&&(Dl(d,""),l.flags&=-33);var E=cs(e);tu(e,E,d);break;case 3:case 4:var S=l.stateNode.containerInfo,j=cs(e);ss(e,j,S);break;default:throw Error(c(161))}}}catch(q){Je(e,e.return,q)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Th(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Th(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function da(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)bh(e,t.alternate,t),t=t.sibling}function Kl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:za(4,t,t.return),Kl(t);break;case 1:an(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&mh(t,t.return,n),Kl(t);break;case 26:case 27:case 5:an(t,t.return),Kl(t);break;case 22:an(t,t.return),t.memoizedState===null&&Kl(t);break;default:Kl(t)}e=e.sibling}}function La(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,r=e,s=t,d=s.flags;switch(s.tag){case 0:case 11:case 15:La(r,s,n),ki(4,s);break;case 1:if(La(r,s,n),l=s,r=l.stateNode,typeof r.componentDidMount=="function")try{r.componentDidMount()}catch(j){Je(l,l.return,j)}if(l=s,r=l.updateQueue,r!==null){var E=l.stateNode;try{var S=r.shared.hiddenCallbacks;if(S!==null)for(r.shared.hiddenCallbacks=null,r=0;r<S.length;r++)fh(S[r],E)}catch(j){Je(l,l.return,j)}}n&&d&64&&hh(s),yl(s,s.return);break;case 26:case 27:case 5:La(r,s,n),n&&l===null&&d&4&&yh(s),yl(s,s.return);break;case 12:La(r,s,n);break;case 13:La(r,s,n),n&&d&4&&_h(r,s);break;case 22:s.memoizedState===null&&La(r,s,n),yl(s,s.return);break;default:La(r,s,n)}t=t.sibling}}function ds(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Di(n))}function hs(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Di(e))}function Ua(e,t,n,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Nh(e,t,n,l),t=t.sibling}function Nh(e,t,n,l){var r=t.flags;switch(t.tag){case 0:case 11:case 15:Ua(e,t,n,l),r&2048&&ki(9,t);break;case 3:Ua(e,t,n,l),r&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Di(e)));break;case 12:if(r&2048){Ua(e,t,n,l),e=t.stateNode;try{var s=t.memoizedProps,d=s.id,E=s.onPostCommit;typeof E=="function"&&E(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(S){Je(t,t.return,S)}}else Ua(e,t,n,l);break;case 23:break;case 22:s=t.stateNode,t.memoizedState!==null?s._visibility&4?Ua(e,t,n,l):Vi(e,t):s._visibility&4?Ua(e,t,n,l):(s._visibility|=4,$l(e,t,n,l,(t.subtreeFlags&10256)!==0)),r&2048&&ds(t.alternate,t);break;case 24:Ua(e,t,n,l),r&2048&&hs(t.alternate,t);break;default:Ua(e,t,n,l)}}function $l(e,t,n,l,r){for(r=r&&(t.subtreeFlags&10256)!==0,t=t.child;t!==null;){var s=e,d=t,E=n,S=l,j=d.flags;switch(d.tag){case 0:case 11:case 15:$l(s,d,E,S,r),ki(8,d);break;case 23:break;case 22:var q=d.stateNode;d.memoizedState!==null?q._visibility&4?$l(s,d,E,S,r):Vi(s,d):(q._visibility|=4,$l(s,d,E,S,r)),r&&j&2048&&ds(d.alternate,d);break;case 24:$l(s,d,E,S,r),r&&j&2048&&hs(d.alternate,d);break;default:$l(s,d,E,S,r)}t=t.sibling}}function Vi(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,l=t,r=l.flags;switch(l.tag){case 22:Vi(n,l),r&2048&&ds(l.alternate,l);break;case 24:Vi(n,l),r&2048&&hs(l.alternate,l);break;default:Vi(n,l)}t=t.sibling}}var Yi=8192;function Jl(e){if(e.subtreeFlags&Yi)for(e=e.child;e!==null;)Ch(e),e=e.sibling}function Ch(e){switch(e.tag){case 26:Jl(e),e.flags&Yi&&e.memoizedState!==null&&zg(zn,e.memoizedState,e.memoizedProps);break;case 5:Jl(e);break;case 3:case 4:var t=zn;zn=pu(e.stateNode.containerInfo),Jl(e),zn=t;break;case 22:e.memoizedState===null&&(t=e.alternate,t!==null&&t.memoizedState!==null?(t=Yi,Yi=16777216,Jl(e),Yi=t):Jl(e));break;default:Jl(e)}}function jh(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Gi(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];Ct=l,Dh(l,e)}jh(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Oh(e),e=e.sibling}function Oh(e){switch(e.tag){case 0:case 11:case 15:Gi(e),e.flags&2048&&za(9,e,e.return);break;case 3:Gi(e);break;case 12:Gi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&4&&(e.return===null||e.return.tag!==13)?(t._visibility&=-5,nu(e)):Gi(e);break;default:Gi(e)}}function nu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];Ct=l,Dh(l,e)}jh(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:za(8,t,t.return),nu(t);break;case 22:n=t.stateNode,n._visibility&4&&(n._visibility&=-5,nu(t));break;default:nu(t)}e=e.sibling}}function Dh(e,t){for(;Ct!==null;){var n=Ct;switch(n.tag){case 0:case 11:case 15:za(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var l=n.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Di(n.memoizedState.cache)}if(l=n.child,l!==null)l.return=n,Ct=l;else e:for(n=e;Ct!==null;){l=Ct;var r=l.sibling,s=l.return;if(Sh(l),l===n){Ct=null;break e}if(r!==null){r.return=s,Ct=r;break e}Ct=s}}}function Kv(e,t,n,l){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Cn(e,t,n,l){return new Kv(e,t,n,l)}function ms(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ha(e,t){var n=e.alternate;return n===null?(n=Cn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&31457280,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Ah(e,t){e.flags&=31457282;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function au(e,t,n,l,r,s){var d=0;if(l=e,typeof e=="function")ms(e)&&(d=1);else if(typeof e=="string")d=wg(e,n,Ke.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case v:return pl(n.children,r,s,t);case p:d=8,r|=24;break;case b:return e=Cn(12,n,t,r|2),e.elementType=b,e.lanes=s,e;case k:return e=Cn(13,n,t,r),e.elementType=k,e.lanes=s,e;case B:return e=Cn(19,n,t,r),e.elementType=B,e.lanes=s,e;case $:return wh(n,r,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case T:case R:d=10;break e;case x:d=9;break e;case w:d=11;break e;case U:d=14;break e;case Y:d=16,l=null;break e}d=29,n=Error(c(130,e===null?"null":typeof e,"")),l=null}return t=Cn(d,n,t,r),t.elementType=e,t.type=l,t.lanes=s,t}function pl(e,t,n,l){return e=Cn(7,e,l,t),e.lanes=n,e}function wh(e,t,n,l){e=Cn(22,e,l,t),e.elementType=$,e.lanes=n;var r={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var s=r._current;if(s===null)throw Error(c(456));if(!(r._pendingVisibility&2)){var d=Ta(s,2);d!==null&&(r._pendingVisibility|=2,Kt(d,s,2))}},attach:function(){var s=r._current;if(s===null)throw Error(c(456));if(r._pendingVisibility&2){var d=Ta(s,2);d!==null&&(r._pendingVisibility&=-3,Kt(d,s,2))}}};return e.stateNode=r,e}function ys(e,t,n){return e=Cn(6,e,null,t),e.lanes=n,e}function ps(e,t,n){return t=Cn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ha(e){e.flags|=4}function Mh(e,t){if(t.type!=="stylesheet"||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!vm(t)){if(t=Rn.current,t!==null&&((Ue&4194176)===Ue?Yn!==null:(Ue&62914560)!==Ue&&!(Ue&536870912)||t!==Yn))throw Ci=Sc,Ff;e.flags|=8192}}function lu(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?N():536870912,e.lanes|=t,Pl|=t)}function Xi(e,t){if(!Be)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function ut(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,l=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags&31457280,l|=r.flags&31457280,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,l|=r.subtreeFlags,l|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=l,e.childLanes=n,t}function $v(e,t,n){var l=t.pendingProps;switch(Ec(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ut(t),null;case 1:return ut(t),null;case 3:return n=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),sa(Rt),Tt(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(_i(t)?ha(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Mn!==null&&(Rs(Mn),Mn=null))),ut(t),null;case 26:return n=t.memoizedState,e===null?(ha(t),n!==null?(ut(t),Mh(t,n)):(ut(t),t.flags&=-16777217)):n?n!==e.memoizedState?(ha(t),ut(t),Mh(t,n)):(ut(t),t.flags&=-16777217):(e.memoizedProps!==l&&ha(t),ut(t),t.flags&=-16777217),null;case 27:en(t),n=mt.current;var r=t.type;if(e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ha(t);else{if(!l){if(t.stateNode===null)throw Error(c(166));return ut(t),null}e=Ke.current,_i(t)?$f(t):(e=sm(r,l,n),t.stateNode=e,ha(t))}return ut(t),null;case 5:if(en(t),n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ha(t);else{if(!l){if(t.stateNode===null)throw Error(c(166));return ut(t),null}if(e=Ke.current,_i(t))$f(t);else{switch(r=yu(mt.current),e){case 1:e=r.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:e=r.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":e=r.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":e=r.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":e=r.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild);break;case"select":e=typeof l.is=="string"?r.createElement("select",{is:l.is}):r.createElement("select"),l.multiple?e.multiple=!0:l.size&&(e.size=l.size);break;default:e=typeof l.is=="string"?r.createElement(n,{is:l.is}):r.createElement(n)}}e[se]=t,e[ye]=l;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=e;e:switch(Lt(e,n,l),n){case"button":case"input":case"select":case"textarea":e=!!l.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&ha(t)}}return ut(t),t.flags&=-16777217,null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ha(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(c(166));if(e=mt.current,_i(t)){if(e=t.stateNode,n=t.memoizedProps,l=null,r=Zt,r!==null)switch(r.tag){case 27:case 5:l=r.memoizedProps}e[se]=t,e=!!(e.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||am(e.nodeValue,n)),e||rl(t)}else e=yu(e).createTextNode(l),e[se]=t,t.stateNode=e}return ut(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=_i(t),l!==null&&l.dehydrated!==null){if(e===null){if(!r)throw Error(c(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(c(317));r[se]=t}else Ri(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ut(t),r=!1}else Mn!==null&&(Rs(Mn),Mn=null),r=!0;if(!r)return t.flags&256?(ia(t),t):(ia(t),null)}if(ia(t),t.flags&128)return t.lanes=n,t;if(n=l!==null,e=e!==null&&e.memoizedState!==null,n){l=t.child,r=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(r=l.alternate.memoizedState.cachePool.pool);var s=null;l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(s=l.memoizedState.cachePool.pool),s!==r&&(l.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),lu(t,t.updateQueue),ut(t),null;case 4:return Tt(),e===null&&Ls(t.stateNode.containerInfo),ut(t),null;case 10:return sa(t.type),ut(t),null;case 19:if(He(_t),r=t.memoizedState,r===null)return ut(t),null;if(l=(t.flags&128)!==0,s=r.rendering,s===null)if(l)Xi(r,!1);else{if(dt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Vr(e),s!==null){for(t.flags|=128,Xi(r,!1),e=s.updateQueue,t.updateQueue=e,lu(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ah(n,e),n=n.sibling;return pe(_t,_t.current&1|2),t.child}e=e.sibling}r.tail!==null&&yt()>iu&&(t.flags|=128,l=!0,Xi(r,!1),t.lanes=4194304)}else{if(!l)if(e=Vr(s),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,lu(t,e),Xi(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!Be)return ut(t),null}else 2*yt()-r.renderingStartTime>iu&&n!==536870912&&(t.flags|=128,l=!0,Xi(r,!1),t.lanes=4194304);r.isBackwards?(s.sibling=t.child,t.child=s):(e=r.last,e!==null?e.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=yt(),t.sibling=null,e=_t.current,pe(_t,l?e&1|2:e&1),t):(ut(t),null);case 22:case 23:return ia(t),_c(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?n&536870912&&!(t.flags&128)&&(ut(t),t.subtreeFlags&6&&(t.flags|=8192)):ut(t),n=t.updateQueue,n!==null&&lu(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==n&&(t.flags|=2048),e!==null&&He(cl),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),sa(Rt),ut(t),null;case 25:return null}throw Error(c(156,t.tag))}function Jv(e,t){switch(Ec(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return sa(Rt),Tt(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return en(t),null;case 13:if(ia(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));Ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return He(_t),null;case 4:return Tt(),null;case 10:return sa(t.type),null;case 22:case 23:return ia(t),_c(),e!==null&&He(cl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return sa(Rt),null;case 25:return null;default:return null}}function zh(e,t){switch(Ec(t),t.tag){case 3:sa(Rt),Tt();break;case 26:case 27:case 5:en(t);break;case 4:Tt();break;case 13:ia(t);break;case 19:He(_t);break;case 10:sa(t.type);break;case 22:case 23:ia(t),_c(),e!==null&&He(cl);break;case 24:sa(Rt)}}var Fv={getCacheForType:function(e){var t=qt(Rt),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n}},Pv=typeof WeakMap=="function"?WeakMap:Map,ct=0,Pe=null,Ae=null,Ue=0,We=0,rn=null,ma=!1,Fl=!1,vs=!1,ya=0,dt=0,Ba=0,vl=0,gs=0,jn=0,Pl=0,Qi=null,Xn=null,Es=!1,bs=0,iu=1/0,ru=null,qa=null,uu=!1,gl=null,Zi=0,Ss=0,xs=null,Ki=0,_s=null;function un(){if(ct&2&&Ue!==0)return Ue&-Ue;if(Z.T!==null){var e=Yl;return e!==0?e:As()}return le()}function Lh(){jn===0&&(jn=!(Ue&536870912)||Be?br():536870912);var e=Rn.current;return e!==null&&(e.flags|=32),jn}function Kt(e,t,n){(e===Pe&&We===2||e.cancelPendingCommit!==null)&&(Wl(e,0),pa(e,Ue,jn,!1)),L(e,n),(!(ct&2)||e!==Pe)&&(e===Pe&&(!(ct&2)&&(vl|=n),dt===4&&pa(e,Ue,jn,!1)),Qn(e))}function Uh(e,t,n){if(ct&6)throw Error(c(327));var l=!n&&(t&60)===0&&(t&e.expiredLanes)===0||Qt(e,t),r=l?eg(e,t):Cs(e,t,!0),s=l;do{if(r===0){Fl&&!l&&pa(e,t,0,!1);break}else if(r===6)pa(e,t,0,!ma);else{if(n=e.current.alternate,s&&!Wv(n)){r=Cs(e,t,!1),s=!1;continue}if(r===2){if(s=t,e.errorRecoveryDisabledLanes&s)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var E=e;r=Qi;var S=E.current.memoizedState.isDehydrated;if(S&&(Wl(E,d).flags|=256),d=Cs(E,d,!1),d!==2){if(vs&&!S){E.errorRecoveryDisabledLanes|=s,vl|=s,r=4;break e}s=Xn,Xn=r,s!==null&&Rs(s)}r=d}if(s=!1,r!==2)continue}}if(r===1){Wl(e,0),pa(e,t,0,!0);break}e:{switch(l=e,r){case 0:case 1:throw Error(c(345));case 4:if((t&4194176)===t){pa(l,t,jn,!ma);break e}break;case 2:Xn=null;break;case 3:case 5:break;default:throw Error(c(329))}if(l.finishedWork=n,l.finishedLanes=t,(t&62914560)===t&&(s=bs+300-yt(),10<s)){if(pa(l,t,jn,!ma),Ft(l,0)!==0)break e;l.timeoutHandle=rm(Hh.bind(null,l,n,Xn,ru,Es,t,jn,vl,Pl,ma,2,-0,0),s);break e}Hh(l,n,Xn,ru,Es,t,jn,vl,Pl,ma,0,-0,0)}}break}while(!0);Qn(e)}function Rs(e){Xn===null?Xn=e:Xn.push.apply(Xn,e)}function Hh(e,t,n,l,r,s,d,E,S,j,q,Q,z){var H=t.subtreeFlags;if((H&8192||(H&16785408)===16785408)&&(Ii={stylesheets:null,count:0,unsuspend:Mg},Ch(t),t=Lg(),t!==null)){e.cancelPendingCommit=t(Xh.bind(null,e,n,l,r,d,E,S,1,Q,z)),pa(e,s,d,!j);return}Xh(e,n,l,r,d,E,S,q,Q,z)}function Wv(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var l=0;l<n.length;l++){var r=n[l],s=r.getSnapshot;r=r.value;try{if(!nn(s(),r))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function pa(e,t,n,l){t&=~gs,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var r=t;0<r;){var s=31-lt(r),d=1<<s;l[s]=-1,r&=~d}n!==0&&te(e,n,t)}function cu(){return ct&6?!0:($i(0),!1)}function Ts(){if(Ae!==null){if(We===0)var e=Ae.return;else e=Ae,ca=hl=null,Ac(e),kl=null,ji=0,e=Ae;for(;e!==null;)zh(e.alternate,e),e=e.return;Ae=null}}function Wl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,vg(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Ts(),Pe=e,Ae=n=Ha(e.current,null),Ue=t,We=0,rn=null,ma=!1,Fl=Qt(e,t),vs=!1,Pl=jn=gs=vl=Ba=dt=0,Xn=Qi=null,Es=!1,t&8&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var r=31-lt(l),s=1<<r;t|=e[r],l&=~s}return ya=t,wr(),n}function Bh(e,t){Ce=null,Z.H=Gn,t===Ni?(t=If(),We=3):t===Ff?(t=If(),We=4):We=t===Pd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,rn=t,Ae===null&&(dt=1,Wr(e,Sn(t,e.current)))}function qh(){var e=Z.H;return Z.H=Gn,e===null?Gn:e}function kh(){var e=Z.A;return Z.A=Fv,e}function Ns(){dt=4,ma||(Ue&4194176)!==Ue&&Rn.current!==null||(Fl=!0),!(Ba&134217727)&&!(vl&134217727)||Pe===null||pa(Pe,Ue,jn,!1)}function Cs(e,t,n){var l=ct;ct|=2;var r=qh(),s=kh();(Pe!==e||Ue!==t)&&(ru=null,Wl(e,t)),t=!1;var d=dt;e:do try{if(We!==0&&Ae!==null){var E=Ae,S=rn;switch(We){case 8:Ts(),d=6;break e;case 3:case 2:case 6:Rn.current===null&&(t=!0);var j=We;if(We=0,rn=null,Il(e,E,S,j),n&&Fl){d=0;break e}break;default:j=We,We=0,rn=null,Il(e,E,S,j)}}Iv(),d=dt;break}catch(q){Bh(e,q)}while(!0);return t&&e.shellSuspendCounter++,ca=hl=null,ct=l,Z.H=r,Z.A=s,Ae===null&&(Pe=null,Ue=0,wr()),d}function Iv(){for(;Ae!==null;)Vh(Ae)}function eg(e,t){var n=ct;ct|=2;var l=qh(),r=kh();Pe!==e||Ue!==t?(ru=null,iu=yt()+500,Wl(e,t)):Fl=Qt(e,t);e:do try{if(We!==0&&Ae!==null){t=Ae;var s=rn;t:switch(We){case 1:We=0,rn=null,Il(e,t,s,1);break;case 2:if(Pf(s)){We=0,rn=null,Yh(t);break}t=function(){We===2&&Pe===e&&(We=7),Qn(e)},s.then(t,t);break e;case 3:We=7;break e;case 4:We=5;break e;case 7:Pf(s)?(We=0,rn=null,Yh(t)):(We=0,rn=null,Il(e,t,s,7));break;case 5:var d=null;switch(Ae.tag){case 26:d=Ae.memoizedState;case 5:case 27:var E=Ae;if(!d||vm(d)){We=0,rn=null;var S=E.sibling;if(S!==null)Ae=S;else{var j=E.return;j!==null?(Ae=j,su(j)):Ae=null}break t}}We=0,rn=null,Il(e,t,s,5);break;case 6:We=0,rn=null,Il(e,t,s,6);break;case 8:Ts(),dt=6;break e;default:throw Error(c(462))}}tg();break}catch(q){Bh(e,q)}while(!0);return ca=hl=null,Z.H=l,Z.A=r,ct=n,Ae!==null?0:(Pe=null,Ue=0,wr(),dt)}function tg(){for(;Ae!==null&&!Ht();)Vh(Ae)}function Vh(e){var t=sh(e.alternate,e,ya);e.memoizedProps=e.pendingProps,t===null?su(e):Ae=t}function Yh(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=ah(n,t,t.pendingProps,t.type,void 0,Ue);break;case 11:t=ah(n,t,t.pendingProps,t.type.render,t.ref,Ue);break;case 5:Ac(t);default:zh(n,t),t=Ae=Ah(t,ya),t=sh(n,t,ya)}e.memoizedProps=e.pendingProps,t===null?su(e):Ae=t}function Il(e,t,n,l){ca=hl=null,Ac(t),kl=null,ji=0;var r=t.return;try{if(Gv(e,r,t,n,Ue)){dt=1,Wr(e,Sn(n,e.current)),Ae=null;return}}catch(s){if(r!==null)throw Ae=r,s;dt=1,Wr(e,Sn(n,e.current)),Ae=null;return}t.flags&32768?(Be||l===1?e=!0:Fl||Ue&536870912?e=!1:(ma=e=!0,(l===2||l===3||l===6)&&(l=Rn.current,l!==null&&l.tag===13&&(l.flags|=16384))),Gh(t,e)):su(t)}function su(e){var t=e;do{if(t.flags&32768){Gh(t,ma);return}e=t.return;var n=$v(t.alternate,t,ya);if(n!==null){Ae=n;return}if(t=t.sibling,t!==null){Ae=t;return}Ae=t=e}while(t!==null);dt===0&&(dt=5)}function Gh(e,t){do{var n=Jv(e.alternate,e);if(n!==null){n.flags&=32767,Ae=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Ae=e;return}Ae=e=n}while(e!==null);dt=6,Ae=null}function Xh(e,t,n,l,r,s,d,E,S,j){var q=Z.T,Q=F.p;try{F.p=2,Z.T=null,ng(e,t,n,l,Q,r,s,d,E,S,j)}finally{Z.T=q,F.p=Q}}function ng(e,t,n,l,r,s,d,E){do ei();while(gl!==null);if(ct&6)throw Error(c(327));var S=e.finishedWork;if(l=e.finishedLanes,S===null)return null;if(e.finishedWork=null,e.finishedLanes=0,S===e.current)throw Error(c(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var j=S.lanes|S.childLanes;if(j|=pc,K(e,l,j,s,d,E),e===Pe&&(Ae=Pe=null,Ue=0),!(S.subtreeFlags&10256)&&!(S.flags&10256)||uu||(uu=!0,Ss=j,xs=n,rg(Yt,function(){return ei(),null})),n=(S.flags&15990)!==0,S.subtreeFlags&15990||n?(n=Z.T,Z.T=null,s=F.p,F.p=2,d=ct,ct|=4,Qv(e,S),Rh(S,e),Nv(qs,e.containerInfo),Su=!!Bs,qs=Bs=null,e.current=S,bh(e,S.alternate,S),Jt(),ct=d,F.p=s,Z.T=n):e.current=S,uu?(uu=!1,gl=e,Zi=l):Qh(e,j),j=e.pendingLanes,j===0&&(qa=null),Sa(S.stateNode),Qn(e),t!==null)for(r=e.onRecoverableError,S=0;S<t.length;S++)j=t[S],r(j.value,{componentStack:j.stack});return Zi&3&&ei(),j=e.pendingLanes,l&4194218&&j&42?e===_s?Ki++:(Ki=0,_s=e):Ki=0,$i(0),null}function Qh(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Di(t)))}function ei(){if(gl!==null){var e=gl,t=Ss;Ss=0;var n=Se(Zi),l=Z.T,r=F.p;try{if(F.p=32>n?32:n,Z.T=null,gl===null)var s=!1;else{n=xs,xs=null;var d=gl,E=Zi;if(gl=null,Zi=0,ct&6)throw Error(c(331));var S=ct;if(ct|=4,Oh(d.current),Nh(d,d.current,E,n),ct=S,$i(0,!1),pt&&typeof pt.onPostCommitFiberRoot=="function")try{pt.onPostCommitFiberRoot(tn,d)}catch{}s=!0}return s}finally{F.p=r,Z.T=l,Qh(e,t)}}return!1}function Zh(e,t,n){t=Sn(n,t),t=Qc(e.stateNode,t,2),e=Ma(e,t,2),e!==null&&(L(e,2),Qn(e))}function Je(e,t,n){if(e.tag===3)Zh(e,e,n);else for(;t!==null;){if(t.tag===3){Zh(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(qa===null||!qa.has(l))){e=Sn(n,e),n=Jd(2),l=Ma(t,n,2),l!==null&&(Fd(n,l,t,e),L(l,2),Qn(l));break}}t=t.return}}function js(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Pv;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(n)||(vs=!0,r.add(n),e=ag.bind(null,e,t,n),t.then(e,e))}function ag(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pe===e&&(Ue&n)===n&&(dt===4||dt===3&&(Ue&62914560)===Ue&&300>yt()-bs?!(ct&2)&&Wl(e,0):gs|=n,Pl===Ue&&(Pl=0)),Qn(e)}function Kh(e,t){t===0&&(t=N()),e=Ta(e,t),e!==null&&(L(e,t),Qn(e))}function lg(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Kh(e,n)}function ig(e,t){var n=0;switch(e.tag){case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(c(314))}l!==null&&l.delete(t),Kh(e,n)}function rg(e,t){return dn(e,t)}var ou=null,ti=null,Os=!1,fu=!1,Ds=!1,El=0;function Qn(e){e!==ti&&e.next===null&&(ti===null?ou=ti=e:ti=ti.next=e),fu=!0,Os||(Os=!0,cg(ug))}function $i(e,t){if(!Ds&&fu){Ds=!0;do for(var n=!1,l=ou;l!==null;){if(e!==0){var r=l.pendingLanes;if(r===0)var s=0;else{var d=l.suspendedLanes,E=l.pingedLanes;s=(1<<31-lt(42|e)+1)-1,s&=r&~(d&~E),s=s&201326677?s&201326677|1:s?s|2:0}s!==0&&(n=!0,Fh(l,s))}else s=Ue,s=Ft(l,l===Pe?s:0),!(s&3)||Qt(l,s)||(n=!0,Fh(l,s));l=l.next}while(n);Ds=!1}}function ug(){fu=Os=!1;var e=0;El!==0&&(pg()&&(e=El),El=0);for(var t=yt(),n=null,l=ou;l!==null;){var r=l.next,s=$h(l,t);s===0?(l.next=null,n===null?ou=r:n.next=r,r===null&&(ti=n)):(n=l,(e!==0||s&3)&&(fu=!0)),l=r}$i(e)}function $h(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0<s;){var d=31-lt(s),E=1<<d,S=r[d];S===-1?(!(E&n)||E&l)&&(r[d]=_a(E,t)):S<=t&&(e.expiredLanes|=E),s&=~E}if(t=Pe,n=Ue,n=Ft(e,e===t?n:0),l=e.callbackNode,n===0||e===t&&We===2||e.cancelPendingCommit!==null)return l!==null&&l!==null&&hn(l),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Qt(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(l!==null&&hn(l),Se(n)){case 2:case 8:n=at;break;case 32:n=Yt;break;case 268435456:n=Fn;break;default:n=Yt}return l=Jh.bind(null,e),n=dn(n,l),e.callbackPriority=t,e.callbackNode=n,t}return l!==null&&l!==null&&hn(l),e.callbackPriority=2,e.callbackNode=null,2}function Jh(e,t){var n=e.callbackNode;if(ei()&&e.callbackNode!==n)return null;var l=Ue;return l=Ft(e,e===Pe?l:0),l===0?null:(Uh(e,l,t),$h(e,yt()),e.callbackNode!=null&&e.callbackNode===n?Jh.bind(null,e):null)}function Fh(e,t){if(ei())return null;Uh(e,t,!0)}function cg(e){gg(function(){ct&6?dn(xe,e):e()})}function As(){return El===0&&(El=br()),El}function Ph(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Tr(""+e)}function Wh(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function sg(e,t,n,l,r){if(t==="submit"&&n&&n.stateNode===r){var s=Ph((r[ye]||null).action),d=l.submitter;d&&(t=(t=d[ye]||null)?Ph(t.formAction):d.getAttribute("formAction"),t!==null&&(s=t,d=null));var E=new Or("action","action",null,l,r);e.push({event:E,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(El!==0){var S=d?Wh(r,d):new FormData(r);kc(n,{pending:!0,data:S,method:r.method,action:s},null,S)}}else typeof s=="function"&&(E.preventDefault(),S=d?Wh(r,d):new FormData(r),kc(n,{pending:!0,data:S,method:r.method,action:s},s,S))},currentTarget:r}]})}}for(var ws=0;ws<Xf.length;ws++){var Ms=Xf[ws],og=Ms.toLowerCase(),fg=Ms[0].toUpperCase()+Ms.slice(1);wn(og,"on"+fg)}wn(qf,"onAnimationEnd"),wn(kf,"onAnimationIteration"),wn(Vf,"onAnimationStart"),wn("dblclick","onDoubleClick"),wn("focusin","onFocus"),wn("focusout","onBlur"),wn(jv,"onTransitionRun"),wn(Ov,"onTransitionStart"),wn(Dv,"onTransitionCancel"),wn(Yf,"onTransitionEnd"),it("onMouseEnter",["mouseout","mouseover"]),it("onMouseLeave",["mouseout","mouseover"]),it("onPointerEnter",["pointerout","pointerover"]),it("onPointerLeave",["pointerout","pointerover"]),Le("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Le("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Le("onBeforeInput",["compositionend","keypress","textInput","paste"]),Le("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Le("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Le("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ji="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),dg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ji));function Ih(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var l=e[n],r=l.event;l=l.listeners;e:{var s=void 0;if(t)for(var d=l.length-1;0<=d;d--){var E=l[d],S=E.instance,j=E.currentTarget;if(E=E.listener,S!==s&&r.isPropagationStopped())break e;s=E,r.currentTarget=j;try{s(r)}catch(q){Pr(q)}r.currentTarget=null,s=S}else for(d=0;d<l.length;d++){if(E=l[d],S=E.instance,j=E.currentTarget,E=E.listener,S!==s&&r.isPropagationStopped())break e;s=E,r.currentTarget=j;try{s(r)}catch(q){Pr(q)}r.currentTarget=null,s=S}}}}function Me(e,t){var n=t[vt];n===void 0&&(n=t[vt]=new Set);var l=e+"__bubble";n.has(l)||(em(t,e,2,!1),n.add(l))}function zs(e,t,n){var l=0;t&&(l|=4),em(n,e,l,t)}var du="_reactListening"+Math.random().toString(36).slice(2);function Ls(e){if(!e[du]){e[du]=!0,Wa.forEach(function(n){n!=="selectionchange"&&(dg.has(n)||zs(n,!1,e),zs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[du]||(t[du]=!0,zs("selectionchange",!1,t))}}function em(e,t,n,l){switch(_m(t)){case 2:var r=Bg;break;case 8:r=qg;break;default:r=$s}n=r.bind(null,t,n,e),r=void 0,!ac||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),l?r!==void 0?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):r!==void 0?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Us(e,t,n,l,r){var s=l;if(!(t&1)&&!(t&2)&&l!==null)e:for(;;){if(l===null)return;var d=l.tag;if(d===3||d===4){var E=l.stateNode.containerInfo;if(E===r||E.nodeType===8&&E.parentNode===r)break;if(d===4)for(d=l.return;d!==null;){var S=d.tag;if((S===3||S===4)&&(S=d.stateNode.containerInfo,S===r||S.nodeType===8&&S.parentNode===r))return;d=d.return}for(;E!==null;){if(d=At(E),d===null)return;if(S=d.tag,S===5||S===6||S===26||S===27){l=s=d;continue e}E=E.parentNode}}l=l.return}yf(function(){var j=s,q=tc(n),Q=[];e:{var z=Gf.get(e);if(z!==void 0){var H=Or,fe=e;switch(e){case"keypress":if(Cr(n)===0)break e;case"keydown":case"keyup":H=iv;break;case"focusin":fe="focus",H=uc;break;case"focusout":fe="blur",H=uc;break;case"beforeblur":case"afterblur":H=uc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":H=gf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=Kp;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=cv;break;case qf:case kf:case Vf:H=Fp;break;case Yf:H=ov;break;case"scroll":case"scrollend":H=Qp;break;case"wheel":H=dv;break;case"copy":case"cut":case"paste":H=Wp;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=bf;break;case"toggle":case"beforetoggle":H=mv}var _e=(t&4)!==0,ht=!_e&&(e==="scroll"||e==="scrollend"),D=_e?z!==null?z+"Capture":null:z;_e=[];for(var C=j,M;C!==null;){var G=C;if(M=G.stateNode,G=G.tag,G!==5&&G!==26&&G!==27||M===null||D===null||(G=mi(C,D),G!=null&&_e.push(Fi(C,G,M))),ht)break;C=C.return}0<_e.length&&(z=new H(z,fe,null,n,q),Q.push({event:z,listeners:_e}))}}if(!(t&7)){e:{if(z=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",z&&n!==ec&&(fe=n.relatedTarget||n.fromElement)&&(At(fe)||fe[ke]))break e;if((H||z)&&(z=q.window===q?q:(z=q.ownerDocument)?z.defaultView||z.parentWindow:window,H?(fe=n.relatedTarget||n.toElement,H=j,fe=fe?At(fe):null,fe!==null&&(ht=I(fe),_e=fe.tag,fe!==ht||_e!==5&&_e!==27&&_e!==6)&&(fe=null)):(H=null,fe=j),H!==fe)){if(_e=gf,G="onMouseLeave",D="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(_e=bf,G="onPointerLeave",D="onPointerEnter",C="pointer"),ht=H==null?z:ea(H),M=fe==null?z:ea(fe),z=new _e(G,C+"leave",H,n,q),z.target=ht,z.relatedTarget=M,G=null,At(q)===j&&(_e=new _e(D,C+"enter",fe,n,q),_e.target=M,_e.relatedTarget=ht,G=_e),ht=G,H&&fe)t:{for(_e=H,D=fe,C=0,M=_e;M;M=ni(M))C++;for(M=0,G=D;G;G=ni(G))M++;for(;0<C-M;)_e=ni(_e),C--;for(;0<M-C;)D=ni(D),M--;for(;C--;){if(_e===D||D!==null&&_e===D.alternate)break t;_e=ni(_e),D=ni(D)}_e=null}else _e=null;H!==null&&tm(Q,z,H,_e,!1),fe!==null&&ht!==null&&tm(Q,ht,fe,_e,!0)}}e:{if(z=j?ea(j):window,H=z.nodeName&&z.nodeName.toLowerCase(),H==="select"||H==="input"&&z.type==="file")var re=jf;else if(Nf(z))if(Of)re=Rv;else{re=xv;var Oe=Sv}else H=z.nodeName,!H||H.toLowerCase()!=="input"||z.type!=="checkbox"&&z.type!=="radio"?j&&Iu(j.elementType)&&(re=jf):re=_v;if(re&&(re=re(e,j))){Cf(Q,re,n,q);break e}Oe&&Oe(e,z,j),e==="focusout"&&j&&z.type==="number"&&j.memoizedProps.value!=null&&Wu(z,"number",z.value)}switch(Oe=j?ea(j):window,e){case"focusin":(Nf(Oe)||Oe.contentEditable==="true")&&(zl=Oe,hc=j,xi=null);break;case"focusout":xi=hc=zl=null;break;case"mousedown":mc=!0;break;case"contextmenu":case"mouseup":case"dragend":mc=!1,Hf(Q,n,q);break;case"selectionchange":if(Cv)break;case"keydown":case"keyup":Hf(Q,n,q)}var me;if(sc)e:{switch(e){case"compositionstart":var Ee="onCompositionStart";break e;case"compositionend":Ee="onCompositionEnd";break e;case"compositionupdate":Ee="onCompositionUpdate";break e}Ee=void 0}else Ml?Rf(e,n)&&(Ee="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(Ee="onCompositionStart");Ee&&(Sf&&n.locale!=="ko"&&(Ml||Ee!=="onCompositionStart"?Ee==="onCompositionEnd"&&Ml&&(me=pf()):(Ra=q,lc="value"in Ra?Ra.value:Ra.textContent,Ml=!0)),Oe=hu(j,Ee),0<Oe.length&&(Ee=new Ef(Ee,e,null,n,q),Q.push({event:Ee,listeners:Oe}),me?Ee.data=me:(me=Tf(n),me!==null&&(Ee.data=me)))),(me=pv?vv(e,n):gv(e,n))&&(Ee=hu(j,"onBeforeInput"),0<Ee.length&&(Oe=new Ef("onBeforeInput","beforeinput",null,n,q),Q.push({event:Oe,listeners:Ee}),Oe.data=me)),sg(Q,e,j,n,q)}Ih(Q,t)})}function Fi(e,t,n){return{instance:e,listener:t,currentTarget:n}}function hu(e,t){for(var n=t+"Capture",l=[];e!==null;){var r=e,s=r.stateNode;r=r.tag,r!==5&&r!==26&&r!==27||s===null||(r=mi(e,n),r!=null&&l.unshift(Fi(e,r,s)),r=mi(e,t),r!=null&&l.push(Fi(e,r,s))),e=e.return}return l}function ni(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function tm(e,t,n,l,r){for(var s=t._reactName,d=[];n!==null&&n!==l;){var E=n,S=E.alternate,j=E.stateNode;if(E=E.tag,S!==null&&S===l)break;E!==5&&E!==26&&E!==27||j===null||(S=j,r?(j=mi(n,s),j!=null&&d.unshift(Fi(n,j,S))):r||(j=mi(n,s),j!=null&&d.push(Fi(n,j,S)))),n=n.return}d.length!==0&&e.push({event:t,listeners:d})}var hg=/\r\n?/g,mg=/\u0000|\uFFFD/g;function nm(e){return(typeof e=="string"?e:""+e).replace(hg,` -`).replace(mg,"")}function am(e,t){return t=nm(t),nm(e)===t}function mu(){}function Xe(e,t,n,l,r,s){switch(n){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Dl(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Dl(e,""+l);break;case"className":xr(e,"class",l);break;case"tabIndex":xr(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":xr(e,n,l);break;case"style":hf(e,l,s);break;case"data":if(t!=="object"){xr(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=Tr(""+l),e.setAttribute(n,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof s=="function"&&(n==="formAction"?(t!=="input"&&Xe(e,t,"name",r.name,r,null),Xe(e,t,"formEncType",r.formEncType,r,null),Xe(e,t,"formMethod",r.formMethod,r,null),Xe(e,t,"formTarget",r.formTarget,r,null)):(Xe(e,t,"encType",r.encType,r,null),Xe(e,t,"method",r.method,r,null),Xe(e,t,"target",r.target,r,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=Tr(""+l),e.setAttribute(n,l);break;case"onClick":l!=null&&(e.onclick=mu);break;case"onScroll":l!=null&&Me("scroll",e);break;case"onScrollEnd":l!=null&&Me("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(c(61));if(n=l.__html,n!=null){if(r.children!=null)throw Error(c(60));e.innerHTML=n}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}n=Tr(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""+l):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":l===!0?e.setAttribute(n,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,l):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(n,l):e.removeAttribute(n);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(n):e.setAttribute(n,l);break;case"popover":Me("beforetoggle",e),Me("toggle",e),jl(e,"popover",l);break;case"xlinkActuate":na(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":na(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":na(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":na(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":na(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":na(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":na(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":na(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":na(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":jl(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Gp.get(n)||n,jl(e,n,l))}}function Hs(e,t,n,l,r,s){switch(n){case"style":hf(e,l,s);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(c(61));if(n=l.__html,n!=null){if(r.children!=null)throw Error(c(60));e.innerHTML=n}}break;case"children":typeof l=="string"?Dl(e,l):(typeof l=="number"||typeof l=="bigint")&&Dl(e,""+l);break;case"onScroll":l!=null&&Me("scroll",e);break;case"onScrollEnd":l!=null&&Me("scrollend",e);break;case"onClick":l!=null&&(e.onclick=mu);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ia.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(r=n.endsWith("Capture"),t=n.slice(2,r?n.length-7:void 0),s=e[ye]||null,s=s!=null?s[n]:null,typeof s=="function"&&e.removeEventListener(t,s,r),typeof l=="function")){typeof s!="function"&&s!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,l,r);break e}n in e?e[n]=l:l===!0?e.setAttribute(n,""):jl(e,n,l)}}}function Lt(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Me("error",e),Me("load",e);var l=!1,r=!1,s;for(s in n)if(n.hasOwnProperty(s)){var d=n[s];if(d!=null)switch(s){case"src":l=!0;break;case"srcSet":r=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(c(137,t));default:Xe(e,t,s,d,n,null)}}r&&Xe(e,t,"srcSet",n.srcSet,n,null),l&&Xe(e,t,"src",n.src,n,null);return;case"input":Me("invalid",e);var E=s=d=r=null,S=null,j=null;for(l in n)if(n.hasOwnProperty(l)){var q=n[l];if(q!=null)switch(l){case"name":r=q;break;case"type":d=q;break;case"checked":S=q;break;case"defaultChecked":j=q;break;case"value":s=q;break;case"defaultValue":E=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(c(137,t));break;default:Xe(e,t,l,q,n,null)}}sf(e,s,E,S,j,d,r,!1),_r(e);return;case"select":Me("invalid",e),l=d=s=null;for(r in n)if(n.hasOwnProperty(r)&&(E=n[r],E!=null))switch(r){case"value":s=E;break;case"defaultValue":d=E;break;case"multiple":l=E;default:Xe(e,t,r,E,n,null)}t=s,n=d,e.multiple=!!l,t!=null?Ol(e,!!l,t,!1):n!=null&&Ol(e,!!l,n,!0);return;case"textarea":Me("invalid",e),s=r=l=null;for(d in n)if(n.hasOwnProperty(d)&&(E=n[d],E!=null))switch(d){case"value":l=E;break;case"defaultValue":r=E;break;case"children":s=E;break;case"dangerouslySetInnerHTML":if(E!=null)throw Error(c(91));break;default:Xe(e,t,d,E,n,null)}ff(e,l,r,s),_r(e);return;case"option":for(S in n)if(n.hasOwnProperty(S)&&(l=n[S],l!=null))switch(S){case"selected":e.selected=l&&typeof l!="function"&&typeof l!="symbol";break;default:Xe(e,t,S,l,n,null)}return;case"dialog":Me("cancel",e),Me("close",e);break;case"iframe":case"object":Me("load",e);break;case"video":case"audio":for(l=0;l<Ji.length;l++)Me(Ji[l],e);break;case"image":Me("error",e),Me("load",e);break;case"details":Me("toggle",e);break;case"embed":case"source":case"link":Me("error",e),Me("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(j in n)if(n.hasOwnProperty(j)&&(l=n[j],l!=null))switch(j){case"children":case"dangerouslySetInnerHTML":throw Error(c(137,t));default:Xe(e,t,j,l,n,null)}return;default:if(Iu(t)){for(q in n)n.hasOwnProperty(q)&&(l=n[q],l!==void 0&&Hs(e,t,q,l,n,void 0));return}}for(E in n)n.hasOwnProperty(E)&&(l=n[E],l!=null&&Xe(e,t,E,l,n,null))}function yg(e,t,n,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,s=null,d=null,E=null,S=null,j=null,q=null;for(H in n){var Q=n[H];if(n.hasOwnProperty(H)&&Q!=null)switch(H){case"checked":break;case"value":break;case"defaultValue":S=Q;default:l.hasOwnProperty(H)||Xe(e,t,H,null,l,Q)}}for(var z in l){var H=l[z];if(Q=n[z],l.hasOwnProperty(z)&&(H!=null||Q!=null))switch(z){case"type":s=H;break;case"name":r=H;break;case"checked":j=H;break;case"defaultChecked":q=H;break;case"value":d=H;break;case"defaultValue":E=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(c(137,t));break;default:H!==Q&&Xe(e,t,z,H,l,Q)}}Pu(e,d,E,S,j,q,s,r);return;case"select":H=d=E=z=null;for(s in n)if(S=n[s],n.hasOwnProperty(s)&&S!=null)switch(s){case"value":break;case"multiple":H=S;default:l.hasOwnProperty(s)||Xe(e,t,s,null,l,S)}for(r in l)if(s=l[r],S=n[r],l.hasOwnProperty(r)&&(s!=null||S!=null))switch(r){case"value":z=s;break;case"defaultValue":E=s;break;case"multiple":d=s;default:s!==S&&Xe(e,t,r,s,l,S)}t=E,n=d,l=H,z!=null?Ol(e,!!n,z,!1):!!l!=!!n&&(t!=null?Ol(e,!!n,t,!0):Ol(e,!!n,n?[]:"",!1));return;case"textarea":H=z=null;for(E in n)if(r=n[E],n.hasOwnProperty(E)&&r!=null&&!l.hasOwnProperty(E))switch(E){case"value":break;case"children":break;default:Xe(e,t,E,null,l,r)}for(d in l)if(r=l[d],s=n[d],l.hasOwnProperty(d)&&(r!=null||s!=null))switch(d){case"value":z=r;break;case"defaultValue":H=r;break;case"children":break;case"dangerouslySetInnerHTML":if(r!=null)throw Error(c(91));break;default:r!==s&&Xe(e,t,d,r,l,s)}of(e,z,H);return;case"option":for(var fe in n)if(z=n[fe],n.hasOwnProperty(fe)&&z!=null&&!l.hasOwnProperty(fe))switch(fe){case"selected":e.selected=!1;break;default:Xe(e,t,fe,null,l,z)}for(S in l)if(z=l[S],H=n[S],l.hasOwnProperty(S)&&z!==H&&(z!=null||H!=null))switch(S){case"selected":e.selected=z&&typeof z!="function"&&typeof z!="symbol";break;default:Xe(e,t,S,z,l,H)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var _e in n)z=n[_e],n.hasOwnProperty(_e)&&z!=null&&!l.hasOwnProperty(_e)&&Xe(e,t,_e,null,l,z);for(j in l)if(z=l[j],H=n[j],l.hasOwnProperty(j)&&z!==H&&(z!=null||H!=null))switch(j){case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(c(137,t));break;default:Xe(e,t,j,z,l,H)}return;default:if(Iu(t)){for(var ht in n)z=n[ht],n.hasOwnProperty(ht)&&z!==void 0&&!l.hasOwnProperty(ht)&&Hs(e,t,ht,void 0,l,z);for(q in l)z=l[q],H=n[q],!l.hasOwnProperty(q)||z===H||z===void 0&&H===void 0||Hs(e,t,q,z,l,H);return}}for(var D in n)z=n[D],n.hasOwnProperty(D)&&z!=null&&!l.hasOwnProperty(D)&&Xe(e,t,D,null,l,z);for(Q in l)z=l[Q],H=n[Q],!l.hasOwnProperty(Q)||z===H||z==null&&H==null||Xe(e,t,Q,z,l,H)}var Bs=null,qs=null;function yu(e){return e.nodeType===9?e:e.ownerDocument}function lm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function im(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function ks(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Vs=null;function pg(){var e=window.event;return e&&e.type==="popstate"?e===Vs?!1:(Vs=e,!0):(Vs=null,!1)}var rm=typeof setTimeout=="function"?setTimeout:void 0,vg=typeof clearTimeout=="function"?clearTimeout:void 0,um=typeof Promise=="function"?Promise:void 0,gg=typeof queueMicrotask=="function"?queueMicrotask:typeof um<"u"?function(e){return um.resolve(null).then(e).catch(Eg)}:rm;function Eg(e){setTimeout(function(){throw e})}function Ys(e,t){var n=t,l=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(l===0){e.removeChild(r),lr(t);return}l--}else n!=="$"&&n!=="$?"&&n!=="$!"||l++;n=r}while(n);lr(t)}function Gs(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Gs(n),In(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function bg(e,t,n,l){for(;e.nodeType===1;){var r=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[pn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(s=e.getAttribute("rel"),s==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(s!==r.rel||e.getAttribute("href")!==(r.href==null?null:r.href)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin)||e.getAttribute("title")!==(r.title==null?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(s=e.getAttribute("src"),(s!==(r.src==null?null:r.src)||e.getAttribute("type")!==(r.type==null?null:r.type)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin))&&s&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var s=r.name==null?null:""+r.name;if(r.type==="hidden"&&e.getAttribute("name")===s)return e}else return e;if(e=Ln(e.nextSibling),e===null)break}return null}function Sg(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Ln(e.nextSibling),e===null))return null;return e}function Ln(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="F!"||t==="F")break;if(t==="/$")return null}}return e}function cm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}function sm(e,t,n){switch(t=yu(n),e){case"html":if(e=t.documentElement,!e)throw Error(c(452));return e;case"head":if(e=t.head,!e)throw Error(c(453));return e;case"body":if(e=t.body,!e)throw Error(c(454));return e;default:throw Error(c(451))}}var On=new Map,om=new Set;function pu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.ownerDocument}var va=F.d;F.d={f:xg,r:_g,D:Rg,C:Tg,L:Ng,m:Cg,X:Og,S:jg,M:Dg};function xg(){var e=va.f(),t=cu();return e||t}function _g(e){var t=wt(e);t!==null&&t.tag===5&&t.type==="form"?Hd(t):va.r(e)}var ai=typeof document>"u"?null:document;function fm(e,t,n){var l=ai;if(l&&typeof t=="string"&&t){var r=En(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),om.has(r)||(om.add(r),e={rel:e,crossOrigin:n,href:t},l.querySelector(r)===null&&(t=l.createElement("link"),Lt(t,"link",e),Fe(t),l.head.appendChild(t)))}}function Rg(e){va.D(e),fm("dns-prefetch",e,null)}function Tg(e,t){va.C(e,t),fm("preconnect",e,t)}function Ng(e,t,n){va.L(e,t,n);var l=ai;if(l&&e&&t){var r='link[rel="preload"][as="'+En(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+En(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+En(n.imageSizes)+'"]')):r+='[href="'+En(e)+'"]';var s=r;switch(t){case"style":s=li(e);break;case"script":s=ii(e)}On.has(s)||(e=ie({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),On.set(s,e),l.querySelector(r)!==null||t==="style"&&l.querySelector(Pi(s))||t==="script"&&l.querySelector(Wi(s))||(t=l.createElement("link"),Lt(t,"link",e),Fe(t),l.head.appendChild(t)))}}function Cg(e,t){va.m(e,t);var n=ai;if(n&&e){var l=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+En(l)+'"][href="'+En(e)+'"]',s=r;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=ii(e)}if(!On.has(s)&&(e=ie({rel:"modulepreload",href:e},t),On.set(s,e),n.querySelector(r)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Wi(s)))return}l=n.createElement("link"),Lt(l,"link",e),Fe(l),n.head.appendChild(l)}}}function jg(e,t,n){va.S(e,t,n);var l=ai;if(l&&e){var r=vn(l).hoistableStyles,s=li(e);t=t||"default";var d=r.get(s);if(!d){var E={loading:0,preload:null};if(d=l.querySelector(Pi(s)))E.loading=5;else{e=ie({rel:"stylesheet",href:e,"data-precedence":t},n),(n=On.get(s))&&Xs(e,n);var S=d=l.createElement("link");Fe(S),Lt(S,"link",e),S._p=new Promise(function(j,q){S.onload=j,S.onerror=q}),S.addEventListener("load",function(){E.loading|=1}),S.addEventListener("error",function(){E.loading|=2}),E.loading|=4,vu(d,t,l)}d={type:"stylesheet",instance:d,count:1,state:E},r.set(s,d)}}}function Og(e,t){va.X(e,t);var n=ai;if(n&&e){var l=vn(n).hoistableScripts,r=ii(e),s=l.get(r);s||(s=n.querySelector(Wi(r)),s||(e=ie({src:e,async:!0},t),(t=On.get(r))&&Qs(e,t),s=n.createElement("script"),Fe(s),Lt(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(r,s))}}function Dg(e,t){va.M(e,t);var n=ai;if(n&&e){var l=vn(n).hoistableScripts,r=ii(e),s=l.get(r);s||(s=n.querySelector(Wi(r)),s||(e=ie({src:e,async:!0,type:"module"},t),(t=On.get(r))&&Qs(e,t),s=n.createElement("script"),Fe(s),Lt(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(r,s))}}function dm(e,t,n,l){var r=(r=mt.current)?pu(r):null;if(!r)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=li(n.href),n=vn(r).hoistableStyles,l=n.get(t),l||(l={type:"style",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=li(n.href);var s=vn(r).hoistableStyles,d=s.get(e);if(d||(r=r.ownerDocument||r,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,d),(s=r.querySelector(Pi(e)))&&!s._p&&(d.instance=s,d.state.loading=5),On.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},On.set(e,n),s||Ag(r,e,n,d.state))),t&&l===null)throw Error(c(528,""));return d}if(t&&l!==null)throw Error(c(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ii(n),n=vn(r).hoistableScripts,l=n.get(t),l||(l={type:"script",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function li(e){return'href="'+En(e)+'"'}function Pi(e){return'link[rel="stylesheet"]['+e+"]"}function hm(e){return ie({},e,{"data-precedence":e.precedence,precedence:null})}function Ag(e,t,n,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),Lt(t,"link",n),Fe(t),e.head.appendChild(t))}function ii(e){return'[src="'+En(e)+'"]'}function Wi(e){return"script[async]"+e}function mm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+En(n.href)+'"]');if(l)return t.instance=l,Fe(l),l;var r=ie({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),Fe(l),Lt(l,"style",r),vu(l,n.precedence,e),t.instance=l;case"stylesheet":r=li(n.href);var s=e.querySelector(Pi(r));if(s)return t.state.loading|=4,t.instance=s,Fe(s),s;l=hm(n),(r=On.get(r))&&Xs(l,r),s=(e.ownerDocument||e).createElement("link"),Fe(s);var d=s;return d._p=new Promise(function(E,S){d.onload=E,d.onerror=S}),Lt(s,"link",l),t.state.loading|=4,vu(s,n.precedence,e),t.instance=s;case"script":return s=ii(n.src),(r=e.querySelector(Wi(s)))?(t.instance=r,Fe(r),r):(l=n,(r=On.get(s))&&(l=ie({},n),Qs(l,r)),e=e.ownerDocument||e,r=e.createElement("script"),Fe(r),Lt(r,"link",l),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(l=t.instance,t.state.loading|=4,vu(l,n.precedence,e));return t.instance}function vu(e,t,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=l.length?l[l.length-1]:null,s=r,d=0;d<l.length;d++){var E=l[d];if(E.dataset.precedence===t)s=E;else if(s!==r)break}s?s.parentNode.insertBefore(e,s.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Xs(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Qs(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var gu=null;function ym(e,t,n){if(gu===null){var l=new Map,r=gu=new Map;r.set(n,l)}else r=gu,l=r.get(n),l||(l=new Map,r.set(n,l));if(l.has(e))return l;for(l.set(e,null),n=n.getElementsByTagName(e),r=0;r<n.length;r++){var s=n[r];if(!(s[pn]||s[se]||e==="link"&&s.getAttribute("rel")==="stylesheet")&&s.namespaceURI!=="http://www.w3.org/2000/svg"){var d=s.getAttribute(t)||"";d=e+d;var E=l.get(d);E?E.push(s):l.set(d,[s])}}return l}function pm(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function wg(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function vm(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}var Ii=null;function Mg(){}function zg(e,t,n){if(Ii===null)throw Error(c(475));var l=Ii;if(t.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&!(t.state.loading&4)){if(t.instance===null){var r=li(n.href),s=e.querySelector(Pi(r));if(s){e=s._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(l.count++,l=Eu.bind(l),e.then(l,l)),t.state.loading|=4,t.instance=s,Fe(s);return}s=e.ownerDocument||e,n=hm(n),(r=On.get(r))&&Xs(n,r),s=s.createElement("link"),Fe(s);var d=s;d._p=new Promise(function(E,S){d.onload=E,d.onerror=S}),Lt(s,"link",n),t.instance=s}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(t,e),(e=t.state.preload)&&!(t.state.loading&3)&&(l.count++,t=Eu.bind(l),e.addEventListener("load",t),e.addEventListener("error",t))}}function Lg(){if(Ii===null)throw Error(c(475));var e=Ii;return e.stylesheets&&e.count===0&&Zs(e,e.stylesheets),0<e.count?function(t){var n=setTimeout(function(){if(e.stylesheets&&Zs(e,e.stylesheets),e.unsuspend){var l=e.unsuspend;e.unsuspend=null,l()}},6e4);return e.unsuspend=t,function(){e.unsuspend=null,clearTimeout(n)}}:null}function Eu(){if(this.count--,this.count===0){if(this.stylesheets)Zs(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var bu=null;function Zs(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,bu=new Map,t.forEach(Ug,e),bu=null,Eu.call(e))}function Ug(e,t){if(!(t.state.loading&4)){var n=bu.get(e);if(n)var l=n.get(null);else{n=new Map,bu.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s<r.length;s++){var d=r[s];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(n.set(d.dataset.precedence,d),l=d)}l&&n.set(null,l)}r=t.instance,d=r.getAttribute("data-precedence"),s=n.get(d)||l,s===l&&n.set(null,r),n.set(d,r),this.count++,l=Eu.bind(this),r.addEventListener("load",l),r.addEventListener("error",l),s?s.parentNode.insertBefore(r,s.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(r,e.firstChild)),t.state.loading|=4}}var er={$$typeof:R,Provider:null,Consumer:null,_currentValue:ge,_currentValue2:ge,_threadCount:0};function Hg(e,t,n,l,r,s,d,E){this.tag=1,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=A(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=A(0),this.hiddenUpdates=A(null),this.identifierPrefix=l,this.onUncaughtError=r,this.onCaughtError=s,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function gm(e,t,n,l,r,s,d,E,S,j,q,Q){return e=new Hg(e,t,n,d,E,S,j,Q),t=1,s===!0&&(t|=24),s=Cn(3,null,null,t),e.current=s,s.stateNode=e,t=Rc(),t.refCount++,e.pooledCache=t,t.refCount++,s.memoizedState={element:l,isDehydrated:n,cache:t},ls(s),e}function Em(e){return e?(e=Hl,e):Hl}function bm(e,t,n,l,r,s){r=Em(r),l.context===null?l.context=r:l.pendingContext=r,l=wa(t),l.payload={element:n},s=s===void 0?null:s,s!==null&&(l.callback=s),n=Ma(e,l,t),n!==null&&(Kt(n,e,t),Hi(n,e,t))}function Sm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ks(e,t){Sm(e,t),(e=e.alternate)&&Sm(e,t)}function xm(e){if(e.tag===13){var t=Ta(e,67108864);t!==null&&Kt(t,e,67108864),Ks(e,67108864)}}var Su=!0;function Bg(e,t,n,l){var r=Z.T;Z.T=null;var s=F.p;try{F.p=2,$s(e,t,n,l)}finally{F.p=s,Z.T=r}}function qg(e,t,n,l){var r=Z.T;Z.T=null;var s=F.p;try{F.p=8,$s(e,t,n,l)}finally{F.p=s,Z.T=r}}function $s(e,t,n,l){if(Su){var r=Js(l);if(r===null)Us(e,t,l,xu,n),Rm(e,l);else if(Vg(r,e,t,n,l))l.stopPropagation();else if(Rm(e,l),t&4&&-1<kg.indexOf(e)){for(;r!==null;){var s=wt(r);if(s!==null)switch(s.tag){case 3:if(s=s.stateNode,s.current.memoizedState.isDehydrated){var d=Xt(s.pendingLanes);if(d!==0){var E=s;for(E.pendingLanes|=2,E.entangledLanes|=2;d;){var S=1<<31-lt(d);E.entanglements[1]|=S,d&=~S}Qn(s),!(ct&6)&&(iu=yt()+500,$i(0))}}break;case 13:E=Ta(s,2),E!==null&&Kt(E,s,2),cu(),Ks(s,2)}if(s=Js(l),s===null&&Us(e,t,l,xu,n),s===r)break;r=s}r!==null&&l.stopPropagation()}else Us(e,t,l,null,n)}}function Js(e){return e=tc(e),Fs(e)}var xu=null;function Fs(e){if(xu=null,e=At(e),e!==null){var t=I(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=Re(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xu=e,null}function _m(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(mn()){case xe:return 2;case at:return 8;case Yt:case qn:return 32;case Fn:return 268435456;default:return 32}default:return 32}}var Ps=!1,ka=null,Va=null,Ya=null,tr=new Map,nr=new Map,Ga=[],kg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Rm(e,t){switch(e){case"focusin":case"focusout":ka=null;break;case"dragenter":case"dragleave":Va=null;break;case"mouseover":case"mouseout":Ya=null;break;case"pointerover":case"pointerout":tr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":nr.delete(t.pointerId)}}function ar(e,t,n,l,r,s){return e===null||e.nativeEvent!==s?(e={blockedOn:t,domEventName:n,eventSystemFlags:l,nativeEvent:s,targetContainers:[r]},t!==null&&(t=wt(t),t!==null&&xm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function Vg(e,t,n,l,r){switch(t){case"focusin":return ka=ar(ka,e,t,n,l,r),!0;case"dragenter":return Va=ar(Va,e,t,n,l,r),!0;case"mouseover":return Ya=ar(Ya,e,t,n,l,r),!0;case"pointerover":var s=r.pointerId;return tr.set(s,ar(tr.get(s)||null,e,t,n,l,r)),!0;case"gotpointercapture":return s=r.pointerId,nr.set(s,ar(nr.get(s)||null,e,t,n,l,r)),!0}return!1}function Tm(e){var t=At(e.target);if(t!==null){var n=I(t);if(n!==null){if(t=n.tag,t===13){if(t=Re(n),t!==null){e.blockedOn=t,ce(e.priority,function(){if(n.tag===13){var l=un(),r=Ta(n,l);r!==null&&Kt(r,n,l),Ks(n,l)}});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function _u(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Js(e.nativeEvent);if(n===null){n=e.nativeEvent;var l=new n.constructor(n.type,n);ec=l,n.target.dispatchEvent(l),ec=null}else return t=wt(n),t!==null&&xm(t),e.blockedOn=n,!1;t.shift()}return!0}function Nm(e,t,n){_u(e)&&n.delete(t)}function Yg(){Ps=!1,ka!==null&&_u(ka)&&(ka=null),Va!==null&&_u(Va)&&(Va=null),Ya!==null&&_u(Ya)&&(Ya=null),tr.forEach(Nm),nr.forEach(Nm)}function Ru(e,t){e.blockedOn===t&&(e.blockedOn=null,Ps||(Ps=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Yg)))}var Tu=null;function Cm(e){Tu!==e&&(Tu=e,a.unstable_scheduleCallback(a.unstable_NormalPriority,function(){Tu===e&&(Tu=null);for(var t=0;t<e.length;t+=3){var n=e[t],l=e[t+1],r=e[t+2];if(typeof l!="function"){if(Fs(l||n)===null)continue;break}var s=wt(n);s!==null&&(e.splice(t,3),t-=3,kc(s,{pending:!0,data:r,method:n.method,action:l},l,r))}}))}function lr(e){function t(S){return Ru(S,e)}ka!==null&&Ru(ka,e),Va!==null&&Ru(Va,e),Ya!==null&&Ru(Ya,e),tr.forEach(t),nr.forEach(t);for(var n=0;n<Ga.length;n++){var l=Ga[n];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Ga.length&&(n=Ga[0],n.blockedOn===null);)Tm(n),n.blockedOn===null&&Ga.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(l=0;l<n.length;l+=3){var r=n[l],s=n[l+1],d=r[ye]||null;if(typeof s=="function")d||Cm(n);else if(d){var E=null;if(s&&s.hasAttribute("formAction")){if(r=s,d=s[ye]||null)E=d.formAction;else if(Fs(r)!==null)continue}else E=d.action;typeof E=="function"?n[l+1]=E:(n.splice(l,3),l-=3),Cm(n)}}}function Ws(e){this._internalRoot=e}Nu.prototype.render=Ws.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(c(409));var n=t.current,l=un();bm(n,l,e,t,null,null)},Nu.prototype.unmount=Ws.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;e.tag===0&&ei(),bm(e.current,2,null,e,null,null),cu(),t[ke]=null}};function Nu(e){this._internalRoot=e}Nu.prototype.unstable_scheduleHydration=function(e){if(e){var t=le();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ga.length&&t!==0&&t<Ga[n].priority;n++);Ga.splice(n,0,e),n===0&&Tm(e)}};var jm=i.version;if(jm!=="19.0.0")throw Error(c(527,jm,"19.0.0"));F.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(c(188)):(e=Object.keys(e).join(","),Error(c(268,e)));return e=V(t),e=e!==null?ne(e):null,e=e===null?null:e.stateNode,e};var Gg={bundleType:0,version:"19.0.0",rendererPackageName:"react-dom",currentDispatcherRef:Z,findFiberByHostInstance:At,reconcilerVersion:"19.0.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Cu.isDisabled&&Cu.supportsFiber)try{tn=Cu.inject(Gg),pt=Cu}catch{}}return rr.createRoot=function(e,t){if(!o(e))throw Error(c(299));var n=!1,l="",r=Qd,s=Zd,d=Kd,E=null;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(r=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError),t.unstable_transitionCallbacks!==void 0&&(E=t.unstable_transitionCallbacks)),t=gm(e,1,!1,null,null,n,l,r,s,d,E,null),e[ke]=t.current,Ls(e.nodeType===8?e.parentNode:e),new Ws(t)},rr.hydrateRoot=function(e,t,n){if(!o(e))throw Error(c(299));var l=!1,r="",s=Qd,d=Zd,E=Kd,S=null,j=null;return n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(s=n.onUncaughtError),n.onCaughtError!==void 0&&(d=n.onCaughtError),n.onRecoverableError!==void 0&&(E=n.onRecoverableError),n.unstable_transitionCallbacks!==void 0&&(S=n.unstable_transitionCallbacks),n.formState!==void 0&&(j=n.formState)),t=gm(e,1,!0,t,n??null,l,r,s,d,E,S,j),t.context=Em(null),n=t.current,l=un(),r=wa(l),r.callback=null,Ma(n,r,l),t.current.lanes=l,L(t,l),Qn(t),e[ke]=t.current,Ls(e),new Nu(t)},rr.version="19.0.0",rr}var qm;function e0(){if(qm)return to.exports;qm=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(i){console.error(i)}}return a(),to.exports=Ig(),to.exports}var t0=e0();const n0="modulepreload",a0=function(a){return"/static/"+a},km={},ve=function(i,u,c){let o=Promise.resolve();if(u&&u.length>0){document.getElementsByTagName("link");const m=document.querySelector("meta[property=csp-nonce]"),y=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));o=Promise.allSettled(u.map(v=>{if(v=a0(v),v in km)return;km[v]=!0;const p=v.endsWith(".css"),b=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${v}"]${b}`))return;const T=document.createElement("link");if(T.rel=p?"stylesheet":n0,p||(T.as="script"),T.crossOrigin="",T.href=v,y&&T.setAttribute("nonce",y),document.head.appendChild(T),p)return new Promise((x,R)=>{T.addEventListener("load",x),T.addEventListener("error",()=>R(new Error(`Unable to preload CSS for ${v}`)))})}))}function f(m){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=m,window.dispatchEvent(y),!y.defaultPrevented)throw m}return o.then(m=>{for(const y of m||[])y.status==="rejected"&&f(y.reason);return i().catch(f)})};var io={exports:{}},ro={};/** + */var Vm;function t1(){if(Vm)return tr;Vm=1;var l=Ig(),n=ku(),c=wy();function s(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}var f=Symbol.for("react.element"),d=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),S=Symbol.for("react.consumer"),_=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),Y=Symbol.for("react.offscreen"),J=Symbol.for("react.memo_cache_sentinel"),k=Symbol.iterator;function N(e){return e===null||typeof e!="object"?null:(e=k&&e[k]||e["@@iterator"],typeof e=="function"?e:null)}var W=Symbol.for("react.client.reference");function ie(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===W?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case v:return"Fragment";case y:return"Portal";case b:return"Profiler";case p:return"StrictMode";case H:return"Suspense";case U:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:return(e.displayName||"Context")+".Provider";case S:return(e._context.displayName||"Context")+".Consumer";case O:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case M:return t=e.displayName||null,t!==null?t:ie(e.type)||"Memo";case q:t=e._payload,e=e._init;try{return ie(e(t))}catch{}}return null}var X=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=Object.assign,de,Ne;function Ye(e){if(de===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||"",Ne=-1<a.stack.indexOf(` + at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return` +`+de+e+Ne}var Be=!1;function ze(e,t){if(!e||Be)return"";Be=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(t){var $=function(){throw Error()};if(Object.defineProperty($.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct($,[])}catch(V){var L=V}Reflect.construct(e,[],$)}else{try{$.call()}catch(V){L=V}e.call($.prototype)}}else{try{throw Error()}catch(V){L=V}($=e())&&typeof $.catch=="function"&&$.catch(function(){})}}catch(V){if(V&&L&&typeof V.stack=="string")return[V.stack,L.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var o=i.DetermineComponentFrameRoot(),m=o[0],E=o[1];if(m&&E){var x=m.split(` +`),D=E.split(` +`);for(r=i=0;i<x.length&&!x[i].includes("DetermineComponentFrameRoot");)i++;for(;r<D.length&&!D[r].includes("DetermineComponentFrameRoot");)r++;if(i===x.length||r===D.length)for(i=x.length-1,r=D.length-1;1<=i&&0<=r&&x[i]!==D[r];)r--;for(;1<=i&&0<=r;i--,r--)if(x[i]!==D[r]){if(i!==1||r!==1)do if(i--,r--,0>r||x[i]!==D[r]){var G=` +`+x[i].replace(" at new "," at ");return e.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",e.displayName)),G}while(1<=i&&0<=r);break}}}finally{Be=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ye(a):""}function K(e){switch(e.tag){case 26:case 27:case 5:return Ye(e.type);case 16:return Ye("Lazy");case 13:return Ye("Suspense");case 19:return Ye("SuspenseList");case 0:case 15:return e=ze(e.type,!1),e;case 11:return e=ze(e.type.render,!1),e;case 1:return e=ze(e.type,!0),e;default:return""}}function ce(e){try{var t="";do t+=K(e),e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}function ne(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function Re(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function T(e){if(ne(e)!==e)throw Error(s(188))}function Q(e){var t=e.alternate;if(!t){if(t=ne(e),t===null)throw Error(s(188));return t!==e?null:e}for(var a=e,i=t;;){var r=a.return;if(r===null)break;var o=r.alternate;if(o===null){if(i=r.return,i!==null){a=i;continue}break}if(r.child===o.child){for(o=r.child;o;){if(o===a)return T(r),e;if(o===i)return T(r),t;o=o.sibling}throw Error(s(188))}if(a.return!==i.return)a=r,i=o;else{for(var m=!1,E=r.child;E;){if(E===a){m=!0,a=r,i=o;break}if(E===i){m=!0,i=r,a=o;break}E=E.sibling}if(!m){for(E=o.child;E;){if(E===a){m=!0,a=o,i=r;break}if(E===i){m=!0,i=o,a=r;break}E=E.sibling}if(!m)throw Error(s(189))}}if(a.alternate!==i)throw Error(s(190))}if(a.tag!==3)throw Error(s(188));return a.stateNode.current===a?e:t}function le(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=le(e),t!==null)return t;e=e.sibling}return null}var te=Array.isArray,P=c.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ge={pending:!1,data:null,method:null,action:null},ye=[],Je=-1;function Ce(e){return{current:e}}function Le(e){0>Je||(e.current=ye[Je],ye[Je]=null,Je--)}function Ee(e,t){Je++,ye[Je]=e.current,e.current=t}var Ze=Ce(null),vt=Ce(null),it=Ce(null),lt=Ce(null);function De(e,t){switch(Ee(it,t),Ee(vt,e),Ee(Ze,null),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?rm(t):0;break;default:if(e=e===8?t.parentNode:t,t=e.tagName,e=e.namespaceURI)e=rm(e),t=um(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Le(Ze),Ee(Ze,t)}function Rt(){Le(Ze),Le(vt),Le(it)}function St(e){e.memoizedState!==null&&Ee(lt,e);var t=Ze.current,a=um(t,e.type);t!==a&&(Ee(vt,e),Ee(Ze,a))}function Pt(e){vt.current===e&&(Le(Ze),Le(vt)),lt.current===e&&(Le(lt),Fi._currentValue=ge)}var Zt=Object.prototype.hasOwnProperty,un=l.unstable_scheduleCallback,cn=l.unstable_cancelCallback,Ut=l.unstable_shouldYield,Ht=l.unstable_requestPaint,mt=l.unstable_now,Kt=l.unstable_getCurrentPriorityLevel,_e=l.unstable_ImmediatePriority,Ie=l.unstable_UserBlockingPriority,Gt=l.unstable_NormalPriority,ui=l.unstable_LowPriority,pr=l.unstable_IdlePriority,Mn=l.log,vr=l.unstable_setDisableYieldValue,ma=null,Bt=null;function Ju(e){if(Bt&&typeof Bt.onCommitFiberRoot=="function")try{Bt.onCommitFiberRoot(ma,e,void 0,(e.current.flags&128)===128)}catch{}}function Nn(e){if(typeof Mn=="function"&&vr(e),Bt&&typeof Bt.setStrictMode=="function")try{Bt.setStrictMode(ma,e)}catch{}}var Tt=Math.clz32?Math.clz32:Pu,gr=Math.log,ci=Math.LN2;function Pu(e){return e>>>=0,e===0?32:31-(gr(e)/ci|0)|0}var ka=128,bl=4194304;function zn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Qn(e,t){var a=e.pendingLanes;if(a===0)return 0;var i=0,r=e.suspendedLanes,o=e.pingedLanes,m=e.warmLanes;e=e.finishedLanes!==0;var E=a&134217727;return E!==0?(a=E&~r,a!==0?i=zn(a):(o&=E,o!==0?i=zn(o):e||(m=E&~m,m!==0&&(i=zn(m))))):(E=a&~r,E!==0?i=zn(E):o!==0?i=zn(o):e||(m=a&~m,m!==0&&(i=zn(m)))),i===0?0:t!==0&&t!==i&&!(t&r)&&(r=i&-i,m=t&-t,r>=m||r===32&&(m&4194176)!==0)?t:i}function Ln(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Wu(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Er(){var e=ka;return ka<<=1,!(ka&4194176)&&(ka=128),e}function C(){var e=bl;return bl<<=1,!(bl&62914560)&&(bl=4194304),e}function A(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function B(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function F(e,t,a,i,r,o){var m=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var E=e.entanglements,x=e.expirationTimes,D=e.hiddenUpdates;for(a=m&~a;0<a;){var G=31-Tt(a),$=1<<G;E[G]=0,x[G]=-1;var L=D[G];if(L!==null)for(D[G]=null,G=0;G<L.length;G++){var V=L[G];V!==null&&(V.lane&=-536870913)}a&=~$}i!==0&&ae(e,i,0),o!==0&&r===0&&e.tag!==0&&(e.suspendedLanes|=o&~(m&~t))}function ae(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var i=31-Tt(t);e.entangledLanes|=t,e.entanglements[i]=e.entanglements[i]|1073741824|a&4194218}function me(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var i=31-Tt(a),r=1<<i;r&t|e[i]&t&&(e[i]|=t),a&=~r}}function xe(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function re(){var e=P.p;return e!==0?e:(e=window.event,e===void 0?32:Tm(e.type))}function oe(e,t){var a=P.p;try{return P.p=e,t()}finally{P.p=a}}var ee=Math.random().toString(36).slice(2),fe="__reactFiber$"+ee,ve="__reactProps$"+ee,Xe="__reactContainer$"+ee,yt="__reactEvents$"+ee,at="__reactListeners$"+ee,Pe="__reactHandles$"+ee,ot="__reactResources$"+ee,sn="__reactMarker$"+ee;function Zn(e){delete e[fe],delete e[ve],delete e[yt],delete e[at],delete e[Pe]}function Dt(e){var t=e[fe];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Xe]||a[fe]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=om(e);e!==null;){if(a=e[fe])return a;e=om(e)}return t}e=a,a=e.parentNode}return null}function wt(e){if(e=e[fe]||e[Xe]){var t=e.tag;if(t===5||t===6||t===13||t===26||t===27||t===3)return e}return null}function Kn(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(s(33))}function on(e){var t=e[ot];return t||(t=e[ot]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function et(e){e[sn]=!0}var Xa=new Set,Qa={};function qe(e,t){rt(e,t),rt(e+"Capture",t)}function rt(e,t){for(Qa[e]=t,e=0;e<t.length;e++)Xa.add(t[e])}var $t=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Za=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ut={},$n={};function br(e){return Zt.call($n,e)?!0:Zt.call(ut,e)?!1:Za.test(e)?$n[e]=!0:(ut[e]=!0,!1)}function Sl(e,t,a){if(br(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var i=t.toLowerCase().slice(0,5);if(i!=="data-"&&i!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Sr(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function Fn(e,t,a,i){if(i===null)e.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+i)}}function fn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function sf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Gp(e){var t=sf(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var r=a.get,o=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(m){i=""+m,o.call(this,m)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return i},setValue:function(m){i=""+m},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function xr(e){e._valueTracker||(e._valueTracker=Gp(e))}function of(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),i="";return e&&(i=sf(e)?e.checked?"true":"false":e.value),e=i,e!==a?(t.setValue(e),!0):!1}function _r(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var kp=/[\n"\\]/g;function dn(e){return e.replace(kp,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Iu(e,t,a,i,r,o,m,E){e.name="",m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.type=m:e.removeAttribute("type"),t!=null?m==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+fn(t)):e.value!==""+fn(t)&&(e.value=""+fn(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?ec(e,m,fn(t)):a!=null?ec(e,m,fn(a)):i!=null&&e.removeAttribute("value"),r==null&&o!=null&&(e.defaultChecked=!!o),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"?e.name=""+fn(E):e.removeAttribute("name")}function ff(e,t,a,i,r,o,m,E){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null))return;a=a!=null?""+fn(a):"",t=t!=null?""+fn(t):a,E||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=E?e.checked:!!i,e.defaultChecked=!!i,m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.name=m)}function ec(e,t,a){t==="number"&&_r(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function xl(e,t,a,i){if(e=e.options,t){t={};for(var r=0;r<a.length;r++)t["$"+a[r]]=!0;for(a=0;a<e.length;a++)r=t.hasOwnProperty("$"+e[a].value),e[a].selected!==r&&(e[a].selected=r),r&&i&&(e[a].defaultSelected=!0)}else{for(a=""+fn(a),t=null,r=0;r<e.length;r++){if(e[r].value===a){e[r].selected=!0,i&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function df(e,t,a){if(t!=null&&(t=""+fn(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+fn(a):""}function hf(e,t,a,i){if(t==null){if(i!=null){if(a!=null)throw Error(s(92));if(te(i)){if(1<i.length)throw Error(s(93));i=i[0]}a=i}a==null&&(a=""),t=a}a=fn(t),e.defaultValue=a,i=e.textContent,i===a&&i!==""&&i!==null&&(e.value=i)}function _l(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Xp=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function mf(e,t,a){var i=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?i?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":i?e.setProperty(t,a):typeof a!="number"||a===0||Xp.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function yf(e,t,a){if(t!=null&&typeof t!="object")throw Error(s(62));if(e=e.style,a!=null){for(var i in a)!a.hasOwnProperty(i)||t!=null&&t.hasOwnProperty(i)||(i.indexOf("--")===0?e.setProperty(i,""):i==="float"?e.cssFloat="":e[i]="");for(var r in t)i=t[r],t.hasOwnProperty(r)&&a[r]!==i&&mf(e,r,i)}else for(var o in t)t.hasOwnProperty(o)&&mf(e,o,t[o])}function tc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Qp=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Zp=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Rr(e){return Zp.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}var nc=null;function ac(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Rl=null,Tl=null;function pf(e){var t=wt(e);if(t&&(e=t.stateNode)){var a=e[ve]||null;e:switch(e=t.stateNode,t.type){case"input":if(Iu(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+dn(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var i=a[t];if(i!==e&&i.form===e.form){var r=i[ve]||null;if(!r)throw Error(s(90));Iu(i,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<a.length;t++)i=a[t],i.form===e.form&&of(i)}break e;case"textarea":df(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&xl(e,!!a.multiple,t,!1)}}}var lc=!1;function vf(e,t,a){if(lc)return e(t,a);lc=!0;try{var i=e(t);return i}finally{if(lc=!1,(Rl!==null||Tl!==null)&&(uu(),Rl&&(t=Rl,e=Tl,Tl=Rl=null,pf(t),e)))for(t=0;t<e.length;t++)pf(e[t])}}function si(e,t){var a=e.stateNode;if(a===null)return null;var i=a[ve]||null;if(i===null)return null;a=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(e=e.type,i=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!i;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(s(231,t,typeof a));return a}var ic=!1;if($t)try{var oi={};Object.defineProperty(oi,"passive",{get:function(){ic=!0}}),window.addEventListener("test",oi,oi),window.removeEventListener("test",oi,oi)}catch{ic=!1}var ya=null,rc=null,Tr=null;function gf(){if(Tr)return Tr;var e,t=rc,a=t.length,i,r="value"in ya?ya.value:ya.textContent,o=r.length;for(e=0;e<a&&t[e]===r[e];e++);var m=a-e;for(i=1;i<=m&&t[a-i]===r[o-i];i++);return Tr=r.slice(e,1<i?1-i:void 0)}function Nr(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Cr(){return!0}function Ef(){return!1}function Ft(e){function t(a,i,r,o,m){this._reactName=a,this._targetInst=r,this.type=i,this.nativeEvent=o,this.target=m,this.currentTarget=null;for(var E in e)e.hasOwnProperty(E)&&(a=e[E],this[E]=a?a(o):o[E]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?Cr:Ef,this.isPropagationStopped=Ef,this}return I(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Cr)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Cr)},persist:function(){},isPersistent:Cr}),t}var Ka={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},jr=Ft(Ka),fi=I({},Ka,{view:0,detail:0}),Kp=Ft(fi),uc,cc,di,Or=I({},fi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:oc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==di&&(di&&e.type==="mousemove"?(uc=e.screenX-di.screenX,cc=e.screenY-di.screenY):cc=uc=0,di=e),uc)},movementY:function(e){return"movementY"in e?e.movementY:cc}}),bf=Ft(Or),$p=I({},Or,{dataTransfer:0}),Fp=Ft($p),Jp=I({},fi,{relatedTarget:0}),sc=Ft(Jp),Pp=I({},Ka,{animationName:0,elapsedTime:0,pseudoElement:0}),Wp=Ft(Pp),Ip=I({},Ka,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ev=Ft(Ip),tv=I({},Ka,{data:0}),Sf=Ft(tv),nv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},av={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},lv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iv(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=lv[e])?!!t[e]:!1}function oc(){return iv}var rv=I({},fi,{key:function(e){if(e.key){var t=nv[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Nr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?av[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:oc,charCode:function(e){return e.type==="keypress"?Nr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Nr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),uv=Ft(rv),cv=I({},Or,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),xf=Ft(cv),sv=I({},fi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:oc}),ov=Ft(sv),fv=I({},Ka,{propertyName:0,elapsedTime:0,pseudoElement:0}),dv=Ft(fv),hv=I({},Or,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mv=Ft(hv),yv=I({},Ka,{newState:0,oldState:0}),pv=Ft(yv),vv=[9,13,27,32],fc=$t&&"CompositionEvent"in window,hi=null;$t&&"documentMode"in document&&(hi=document.documentMode);var gv=$t&&"TextEvent"in window&&!hi,_f=$t&&(!fc||hi&&8<hi&&11>=hi),Rf=" ",Tf=!1;function Nf(e,t){switch(e){case"keyup":return vv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Cf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Nl=!1;function Ev(e,t){switch(e){case"compositionend":return Cf(t);case"keypress":return t.which!==32?null:(Tf=!0,Rf);case"textInput":return e=t.data,e===Rf&&Tf?null:e;default:return null}}function bv(e,t){if(Nl)return e==="compositionend"||!fc&&Nf(e,t)?(e=gf(),Tr=rc=ya=null,Nl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return _f&&t.locale!=="ko"?null:t.data;default:return null}}var Sv={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function jf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Sv[e.type]:t==="textarea"}function Of(e,t,a,i){Rl?Tl?Tl.push(i):Tl=[i]:Rl=i,t=du(t,"onChange"),0<t.length&&(a=new jr("onChange","change",null,a,i),e.push({event:a,listeners:t}))}var mi=null,yi=null;function xv(e){tm(e,0)}function Dr(e){var t=Kn(e);if(of(t))return e}function Df(e,t){if(e==="change")return t}var wf=!1;if($t){var dc;if($t){var hc="oninput"in document;if(!hc){var Af=document.createElement("div");Af.setAttribute("oninput","return;"),hc=typeof Af.oninput=="function"}dc=hc}else dc=!1;wf=dc&&(!document.documentMode||9<document.documentMode)}function Mf(){mi&&(mi.detachEvent("onpropertychange",zf),yi=mi=null)}function zf(e){if(e.propertyName==="value"&&Dr(yi)){var t=[];Of(t,yi,e,ac(e)),vf(xv,t)}}function _v(e,t,a){e==="focusin"?(Mf(),mi=t,yi=a,mi.attachEvent("onpropertychange",zf)):e==="focusout"&&Mf()}function Rv(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Dr(yi)}function Tv(e,t){if(e==="click")return Dr(t)}function Nv(e,t){if(e==="input"||e==="change")return Dr(t)}function Cv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Wt=typeof Object.is=="function"?Object.is:Cv;function pi(e,t){if(Wt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(i=0;i<a.length;i++){var r=a[i];if(!Zt.call(t,r)||!Wt(e[r],t[r]))return!1}return!0}function Lf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Uf(e,t){var a=Lf(e);e=0;for(var i;a;){if(a.nodeType===3){if(i=e+a.textContent.length,e<=t&&i>=t)return{node:a,offset:t-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Lf(a)}}function Hf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Hf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=_r(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=_r(e.document)}return t}function mc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function jv(e,t){var a=Bf(t);t=e.focusedElem;var i=e.selectionRange;if(a!==t&&t&&t.ownerDocument&&Hf(t.ownerDocument.documentElement,t)){if(i!==null&&mc(t)){if(e=i.start,a=i.end,a===void 0&&(a=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(a,t.value.length);else if(a=(e=t.ownerDocument||document)&&e.defaultView||window,a.getSelection){a=a.getSelection();var r=t.textContent.length,o=Math.min(i.start,r);i=i.end===void 0?o:Math.min(i.end,r),!a.extend&&o>i&&(r=i,i=o,o=r),r=Uf(t,o);var m=Uf(t,i);r&&m&&(a.rangeCount!==1||a.anchorNode!==r.node||a.anchorOffset!==r.offset||a.focusNode!==m.node||a.focusOffset!==m.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),a.removeAllRanges(),o>i?(a.addRange(e),a.extend(m.node,m.offset)):(e.setEnd(m.node,m.offset),a.addRange(e)))}}for(e=[],a=t;a=a.parentNode;)a.nodeType===1&&e.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t<e.length;t++)a=e[t],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}var Ov=$t&&"documentMode"in document&&11>=document.documentMode,Cl=null,yc=null,vi=null,pc=!1;function qf(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;pc||Cl==null||Cl!==_r(i)||(i=Cl,"selectionStart"in i&&mc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),vi&&pi(vi,i)||(vi=i,i=du(yc,"onSelect"),0<i.length&&(t=new jr("onSelect","select",null,t,a),e.push({event:t,listeners:i}),t.target=Cl)))}function $a(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var jl={animationend:$a("Animation","AnimationEnd"),animationiteration:$a("Animation","AnimationIteration"),animationstart:$a("Animation","AnimationStart"),transitionrun:$a("Transition","TransitionRun"),transitionstart:$a("Transition","TransitionStart"),transitioncancel:$a("Transition","TransitionCancel"),transitionend:$a("Transition","TransitionEnd")},vc={},Vf={};$t&&(Vf=document.createElement("div").style,"AnimationEvent"in window||(delete jl.animationend.animation,delete jl.animationiteration.animation,delete jl.animationstart.animation),"TransitionEvent"in window||delete jl.transitionend.transition);function Fa(e){if(vc[e])return vc[e];if(!jl[e])return e;var t=jl[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Vf)return vc[e]=t[a];return e}var Yf=Fa("animationend"),Gf=Fa("animationiteration"),kf=Fa("animationstart"),Dv=Fa("transitionrun"),wv=Fa("transitionstart"),Av=Fa("transitioncancel"),Xf=Fa("transitionend"),Qf=new Map,Zf="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function Cn(e,t){Qf.set(e,t),qe(t,[e])}var hn=[],Ol=0,gc=0;function wr(){for(var e=Ol,t=gc=Ol=0;t<e;){var a=hn[t];hn[t++]=null;var i=hn[t];hn[t++]=null;var r=hn[t];hn[t++]=null;var o=hn[t];if(hn[t++]=null,i!==null&&r!==null){var m=i.pending;m===null?r.next=r:(r.next=m.next,m.next=r),i.pending=r}o!==0&&Kf(a,r,o)}}function Ar(e,t,a,i){hn[Ol++]=e,hn[Ol++]=t,hn[Ol++]=a,hn[Ol++]=i,gc|=i,e.lanes|=i,e=e.alternate,e!==null&&(e.lanes|=i)}function Ec(e,t,a,i){return Ar(e,t,a,i),Mr(e)}function pa(e,t){return Ar(e,null,null,t),Mr(e)}function Kf(e,t,a){e.lanes|=a;var i=e.alternate;i!==null&&(i.lanes|=a);for(var r=!1,o=e.return;o!==null;)o.childLanes|=a,i=o.alternate,i!==null&&(i.childLanes|=a),o.tag===22&&(e=o.stateNode,e===null||e._visibility&1||(r=!0)),e=o,o=o.return;r&&t!==null&&e.tag===3&&(o=e.stateNode,r=31-Tt(a),o=o.hiddenUpdates,e=o[r],e===null?o[r]=[t]:e.push(t),t.lane=a|536870912)}function Mr(e){if(50<Gi)throw Gi=0,Ts=null,Error(s(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Dl={},$f=new WeakMap;function mn(e,t){if(typeof e=="object"&&e!==null){var a=$f.get(e);return a!==void 0?a:(t={value:e,source:t,stack:ce(t)},$f.set(e,t),t)}return{value:e,source:t,stack:ce(t)}}var wl=[],Al=0,zr=null,Lr=0,yn=[],pn=0,Ja=null,Jn=1,Pn="";function Pa(e,t){wl[Al++]=Lr,wl[Al++]=zr,zr=e,Lr=t}function Ff(e,t,a){yn[pn++]=Jn,yn[pn++]=Pn,yn[pn++]=Ja,Ja=e;var i=Jn;e=Pn;var r=32-Tt(i)-1;i&=~(1<<r),a+=1;var o=32-Tt(t)+r;if(30<o){var m=r-r%5;o=(i&(1<<m)-1).toString(32),i>>=m,r-=m,Jn=1<<32-Tt(t)+r|a<<r|i,Pn=o+e}else Jn=1<<o|a<<r|i,Pn=e}function bc(e){e.return!==null&&(Pa(e,1),Ff(e,1,0))}function Sc(e){for(;e===zr;)zr=wl[--Al],wl[Al]=null,Lr=wl[--Al],wl[Al]=null;for(;e===Ja;)Ja=yn[--pn],yn[pn]=null,Pn=yn[--pn],yn[pn]=null,Jn=yn[--pn],yn[pn]=null}var kt=null,At=null,Ge=!1,jn=null,Un=!1,xc=Error(s(519));function Wa(e){var t=Error(s(418,""));throw bi(mn(t,e)),xc}function Jf(e){var t=e.stateNode,a=e.type,i=e.memoizedProps;switch(t[fe]=e,t[ve]=i,a){case"dialog":Ue("cancel",t),Ue("close",t);break;case"iframe":case"object":case"embed":Ue("load",t);break;case"video":case"audio":for(a=0;a<Xi.length;a++)Ue(Xi[a],t);break;case"source":Ue("error",t);break;case"img":case"image":case"link":Ue("error",t),Ue("load",t);break;case"details":Ue("toggle",t);break;case"input":Ue("invalid",t),ff(t,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0),xr(t);break;case"select":Ue("invalid",t);break;case"textarea":Ue("invalid",t),hf(t,i.value,i.defaultValue,i.children),xr(t)}a=i.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||i.suppressHydrationWarning===!0||im(t.textContent,a)?(i.popover!=null&&(Ue("beforetoggle",t),Ue("toggle",t)),i.onScroll!=null&&Ue("scroll",t),i.onScrollEnd!=null&&Ue("scrollend",t),i.onClick!=null&&(t.onclick=hu),t=!0):t=!1,t||Wa(e)}function Pf(e){for(kt=e.return;kt;)switch(kt.tag){case 3:case 27:Un=!0;return;case 5:case 13:Un=!1;return;default:kt=kt.return}}function gi(e){if(e!==kt)return!1;if(!Ge)return Pf(e),Ge=!0,!1;var t=!1,a;if((a=e.tag!==3&&e.tag!==27)&&((a=e.tag===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Gs(e.type,e.memoizedProps)),a=!a),a&&(t=!0),t&&At&&Wa(e),Pf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8)if(a=e.data,a==="/$"){if(t===0){At=Dn(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++;e=e.nextSibling}At=null}}else At=kt?Dn(e.stateNode.nextSibling):null;return!0}function Ei(){At=kt=null,Ge=!1}function bi(e){jn===null?jn=[e]:jn.push(e)}var Si=Error(s(460)),Wf=Error(s(474)),_c={then:function(){}};function If(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ur(){}function ed(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(Ur,Ur),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,e===Si?Error(s(483)):e;default:if(typeof t.status=="string")t.then(Ur,Ur);else{if(e=tt,e!==null&&100<e.shellSuspendCounter)throw Error(s(482));e=t,e.status="pending",e.then(function(i){if(t.status==="pending"){var r=t;r.status="fulfilled",r.value=i}},function(i){if(t.status==="pending"){var r=t;r.status="rejected",r.reason=i}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,e===Si?Error(s(483)):e}throw xi=t,Si}}var xi=null;function td(){if(xi===null)throw Error(s(459));var e=xi;return xi=null,e}var Ml=null,_i=0;function Hr(e){var t=_i;return _i+=1,Ml===null&&(Ml=[]),ed(Ml,e,t)}function Ri(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Br(e,t){throw t.$$typeof===f?Error(s(525)):(e=Object.prototype.toString.call(t),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function nd(e){var t=e._init;return t(e._payload)}function ad(e){function t(w,j){if(e){var z=w.deletions;z===null?(w.deletions=[j],w.flags|=16):z.push(j)}}function a(w,j){if(!e)return null;for(;j!==null;)t(w,j),j=j.sibling;return null}function i(w){for(var j=new Map;w!==null;)w.key!==null?j.set(w.key,w):j.set(w.index,w),w=w.sibling;return j}function r(w,j){return w=ja(w,j),w.index=0,w.sibling=null,w}function o(w,j,z){return w.index=z,e?(z=w.alternate,z!==null?(z=z.index,z<j?(w.flags|=33554434,j):z):(w.flags|=33554434,j)):(w.flags|=1048576,j)}function m(w){return e&&w.alternate===null&&(w.flags|=33554434),w}function E(w,j,z,Z){return j===null||j.tag!==6?(j=vs(z,w.mode,Z),j.return=w,j):(j=r(j,z),j.return=w,j)}function x(w,j,z,Z){var ue=z.type;return ue===v?G(w,j,z.props.children,Z,z.key):j!==null&&(j.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===q&&nd(ue)===j.type)?(j=r(j,z.props),Ri(j,z),j.return=w,j):(j=nu(z.type,z.key,z.props,null,w.mode,Z),Ri(j,z),j.return=w,j)}function D(w,j,z,Z){return j===null||j.tag!==4||j.stateNode.containerInfo!==z.containerInfo||j.stateNode.implementation!==z.implementation?(j=gs(z,w.mode,Z),j.return=w,j):(j=r(j,z.children||[]),j.return=w,j)}function G(w,j,z,Z,ue){return j===null||j.tag!==7?(j=cl(z,w.mode,Z,ue),j.return=w,j):(j=r(j,z),j.return=w,j)}function $(w,j,z){if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return j=vs(""+j,w.mode,z),j.return=w,j;if(typeof j=="object"&&j!==null){switch(j.$$typeof){case d:return z=nu(j.type,j.key,j.props,null,w.mode,z),Ri(z,j),z.return=w,z;case y:return j=gs(j,w.mode,z),j.return=w,j;case q:var Z=j._init;return j=Z(j._payload),$(w,j,z)}if(te(j)||N(j))return j=cl(j,w.mode,z,null),j.return=w,j;if(typeof j.then=="function")return $(w,Hr(j),z);if(j.$$typeof===_)return $(w,Ir(w,j),z);Br(w,j)}return null}function L(w,j,z,Z){var ue=j!==null?j.key:null;if(typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint")return ue!==null?null:E(w,j,""+z,Z);if(typeof z=="object"&&z!==null){switch(z.$$typeof){case d:return z.key===ue?x(w,j,z,Z):null;case y:return z.key===ue?D(w,j,z,Z):null;case q:return ue=z._init,z=ue(z._payload),L(w,j,z,Z)}if(te(z)||N(z))return ue!==null?null:G(w,j,z,Z,null);if(typeof z.then=="function")return L(w,j,Hr(z),Z);if(z.$$typeof===_)return L(w,j,Ir(w,z),Z);Br(w,z)}return null}function V(w,j,z,Z,ue){if(typeof Z=="string"&&Z!==""||typeof Z=="number"||typeof Z=="bigint")return w=w.get(z)||null,E(j,w,""+Z,ue);if(typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case d:return w=w.get(Z.key===null?z:Z.key)||null,x(j,w,Z,ue);case y:return w=w.get(Z.key===null?z:Z.key)||null,D(j,w,Z,ue);case q:var we=Z._init;return Z=we(Z._payload),V(w,j,z,Z,ue)}if(te(Z)||N(Z))return w=w.get(z)||null,G(j,w,Z,ue,null);if(typeof Z.then=="function")return V(w,j,z,Hr(Z),ue);if(Z.$$typeof===_)return V(w,j,z,Ir(j,Z),ue);Br(j,Z)}return null}function he(w,j,z,Z){for(var ue=null,we=null,pe=j,Se=j=0,jt=null;pe!==null&&Se<z.length;Se++){pe.index>Se?(jt=pe,pe=null):jt=pe.sibling;var ke=L(w,pe,z[Se],Z);if(ke===null){pe===null&&(pe=jt);break}e&&pe&&ke.alternate===null&&t(w,pe),j=o(ke,j,Se),we===null?ue=ke:we.sibling=ke,we=ke,pe=jt}if(Se===z.length)return a(w,pe),Ge&&Pa(w,Se),ue;if(pe===null){for(;Se<z.length;Se++)pe=$(w,z[Se],Z),pe!==null&&(j=o(pe,j,Se),we===null?ue=pe:we.sibling=pe,we=pe);return Ge&&Pa(w,Se),ue}for(pe=i(pe);Se<z.length;Se++)jt=V(pe,w,Se,z[Se],Z),jt!==null&&(e&&jt.alternate!==null&&pe.delete(jt.key===null?Se:jt.key),j=o(jt,j,Se),we===null?ue=jt:we.sibling=jt,we=jt);return e&&pe.forEach(function(La){return t(w,La)}),Ge&&Pa(w,Se),ue}function Te(w,j,z,Z){if(z==null)throw Error(s(151));for(var ue=null,we=null,pe=j,Se=j=0,jt=null,ke=z.next();pe!==null&&!ke.done;Se++,ke=z.next()){pe.index>Se?(jt=pe,pe=null):jt=pe.sibling;var La=L(w,pe,ke.value,Z);if(La===null){pe===null&&(pe=jt);break}e&&pe&&La.alternate===null&&t(w,pe),j=o(La,j,Se),we===null?ue=La:we.sibling=La,we=La,pe=jt}if(ke.done)return a(w,pe),Ge&&Pa(w,Se),ue;if(pe===null){for(;!ke.done;Se++,ke=z.next())ke=$(w,ke.value,Z),ke!==null&&(j=o(ke,j,Se),we===null?ue=ke:we.sibling=ke,we=ke);return Ge&&Pa(w,Se),ue}for(pe=i(pe);!ke.done;Se++,ke=z.next())ke=V(pe,w,Se,ke.value,Z),ke!==null&&(e&&ke.alternate!==null&&pe.delete(ke.key===null?Se:ke.key),j=o(ke,j,Se),we===null?ue=ke:we.sibling=ke,we=ke);return e&&pe.forEach(function(Zg){return t(w,Zg)}),Ge&&Pa(w,Se),ue}function ht(w,j,z,Z){if(typeof z=="object"&&z!==null&&z.type===v&&z.key===null&&(z=z.props.children),typeof z=="object"&&z!==null){switch(z.$$typeof){case d:e:{for(var ue=z.key;j!==null;){if(j.key===ue){if(ue=z.type,ue===v){if(j.tag===7){a(w,j.sibling),Z=r(j,z.props.children),Z.return=w,w=Z;break e}}else if(j.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===q&&nd(ue)===j.type){a(w,j.sibling),Z=r(j,z.props),Ri(Z,z),Z.return=w,w=Z;break e}a(w,j);break}else t(w,j);j=j.sibling}z.type===v?(Z=cl(z.props.children,w.mode,Z,z.key),Z.return=w,w=Z):(Z=nu(z.type,z.key,z.props,null,w.mode,Z),Ri(Z,z),Z.return=w,w=Z)}return m(w);case y:e:{for(ue=z.key;j!==null;){if(j.key===ue)if(j.tag===4&&j.stateNode.containerInfo===z.containerInfo&&j.stateNode.implementation===z.implementation){a(w,j.sibling),Z=r(j,z.children||[]),Z.return=w,w=Z;break e}else{a(w,j);break}else t(w,j);j=j.sibling}Z=gs(z,w.mode,Z),Z.return=w,w=Z}return m(w);case q:return ue=z._init,z=ue(z._payload),ht(w,j,z,Z)}if(te(z))return he(w,j,z,Z);if(N(z)){if(ue=N(z),typeof ue!="function")throw Error(s(150));return z=ue.call(z),Te(w,j,z,Z)}if(typeof z.then=="function")return ht(w,j,Hr(z),Z);if(z.$$typeof===_)return ht(w,j,Ir(w,z),Z);Br(w,z)}return typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint"?(z=""+z,j!==null&&j.tag===6?(a(w,j.sibling),Z=r(j,z),Z.return=w,w=Z):(a(w,j),Z=vs(z,w.mode,Z),Z.return=w,w=Z),m(w)):a(w,j)}return function(w,j,z,Z){try{_i=0;var ue=ht(w,j,z,Z);return Ml=null,ue}catch(pe){if(pe===Si)throw pe;var we=bn(29,pe,null,w.mode);return we.lanes=Z,we.return=w,we}finally{}}}var Ia=ad(!0),ld=ad(!1),zl=Ce(null),qr=Ce(0);function id(e,t){e=ca,Ee(qr,e),Ee(zl,t),ca=e|t.baseLanes}function Rc(){Ee(qr,ca),Ee(zl,zl.current)}function Tc(){ca=qr.current,Le(zl),Le(qr)}var vn=Ce(null),Hn=null;function va(e){var t=e.alternate;Ee(xt,xt.current&1),Ee(vn,e),Hn===null&&(t===null||zl.current!==null||t.memoizedState!==null)&&(Hn=e)}function rd(e){if(e.tag===22){if(Ee(xt,xt.current),Ee(vn,e),Hn===null){var t=e.alternate;t!==null&&t.memoizedState!==null&&(Hn=e)}}else ga()}function ga(){Ee(xt,xt.current),Ee(vn,vn.current)}function Wn(e){Le(vn),Hn===e&&(Hn=null),Le(xt)}var xt=Ce(0);function Vr(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Mv=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,i){e.push(i)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},zv=l.unstable_scheduleCallback,Lv=l.unstable_NormalPriority,_t={$$typeof:_,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Nc(){return{controller:new Mv,data:new Map,refCount:0}}function Ti(e){e.refCount--,e.refCount===0&&zv(Lv,function(){e.controller.abort()})}var Ni=null,Cc=0,Ll=0,Ul=null;function Uv(e,t){if(Ni===null){var a=Ni=[];Cc=0,Ll=Ms(),Ul={status:"pending",value:void 0,then:function(i){a.push(i)}}}return Cc++,t.then(ud,ud),t}function ud(){if(--Cc===0&&Ni!==null){Ul!==null&&(Ul.status="fulfilled");var e=Ni;Ni=null,Ll=0,Ul=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Hv(e,t){var a=[],i={status:"pending",value:null,reason:null,then:function(r){a.push(r)}};return e.then(function(){i.status="fulfilled",i.value=t;for(var r=0;r<a.length;r++)(0,a[r])(t)},function(r){for(i.status="rejected",i.reason=r,r=0;r<a.length;r++)(0,a[r])(void 0)}),i}var cd=X.S;X.S=function(e,t){typeof t=="object"&&t!==null&&typeof t.then=="function"&&Uv(e,t),cd!==null&&cd(e,t)};var el=Ce(null);function jc(){var e=el.current;return e!==null?e:tt.pooledCache}function Yr(e,t){t===null?Ee(el,el.current):Ee(el,t.pool)}function sd(){var e=jc();return e===null?null:{parent:_t._currentValue,pool:e}}var Ea=0,Oe=null,$e=null,gt=null,Gr=!1,Hl=!1,tl=!1,kr=0,Ci=0,Bl=null,Bv=0;function pt(){throw Error(s(321))}function Oc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Wt(e[a],t[a]))return!1;return!0}function Dc(e,t,a,i,r,o){return Ea=o,Oe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,X.H=e===null||e.memoizedState===null?nl:ba,tl=!1,o=a(i,r),tl=!1,Hl&&(o=fd(t,a,i,r)),od(e),o}function od(e){X.H=Bn;var t=$e!==null&&$e.next!==null;if(Ea=0,gt=$e=Oe=null,Gr=!1,Ci=0,Bl=null,t)throw Error(s(300));e===null||Nt||(e=e.dependencies,e!==null&&Wr(e)&&(Nt=!0))}function fd(e,t,a,i){Oe=e;var r=0;do{if(Hl&&(Bl=null),Ci=0,Hl=!1,25<=r)throw Error(s(301));if(r+=1,gt=$e=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}X.H=al,o=t(a,i)}while(Hl);return o}function qv(){var e=X.H,t=e.useState()[0];return t=typeof t.then=="function"?ji(t):t,e=e.useState()[0],($e!==null?$e.memoizedState:null)!==e&&(Oe.flags|=1024),t}function wc(){var e=kr!==0;return kr=0,e}function Ac(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Mc(e){if(Gr){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Gr=!1}Ea=0,gt=$e=Oe=null,Hl=!1,Ci=kr=0,Bl=null}function Jt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return gt===null?Oe.memoizedState=gt=e:gt=gt.next=e,gt}function Et(){if($e===null){var e=Oe.alternate;e=e!==null?e.memoizedState:null}else e=$e.next;var t=gt===null?Oe.memoizedState:gt.next;if(t!==null)gt=t,$e=e;else{if(e===null)throw Oe.alternate===null?Error(s(467)):Error(s(310));$e=e,e={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},gt===null?Oe.memoizedState=gt=e:gt=gt.next=e}return gt}var Xr;Xr=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}};function ji(e){var t=Ci;return Ci+=1,Bl===null&&(Bl=[]),e=ed(Bl,e,t),t=Oe,(gt===null?t.memoizedState:gt.next)===null&&(t=t.alternate,X.H=t===null||t.memoizedState===null?nl:ba),e}function Qr(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return ji(e);if(e.$$typeof===_)return qt(e)}throw Error(s(438,String(e)))}function zc(e){var t=null,a=Oe.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var i=Oe.alternate;i!==null&&(i=i.updateQueue,i!==null&&(i=i.memoCache,i!=null&&(t={data:i.data.map(function(r){return r.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Xr(),Oe.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),i=0;i<e;i++)a[i]=J;return t.index++,a}function In(e,t){return typeof t=="function"?t(e):t}function Zr(e){var t=Et();return Lc(t,$e,e)}function Lc(e,t,a){var i=e.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=a;var r=e.baseQueue,o=i.pending;if(o!==null){if(r!==null){var m=r.next;r.next=o.next,o.next=m}t.baseQueue=r=o,i.pending=null}if(o=e.baseState,r===null)e.memoizedState=o;else{t=r.next;var E=m=null,x=null,D=t,G=!1;do{var $=D.lane&-536870913;if($!==D.lane?(Ve&$)===$:(Ea&$)===$){var L=D.revertLane;if(L===0)x!==null&&(x=x.next={lane:0,revertLane:0,action:D.action,hasEagerState:D.hasEagerState,eagerState:D.eagerState,next:null}),$===Ll&&(G=!0);else if((Ea&L)===L){D=D.next,L===Ll&&(G=!0);continue}else $={lane:0,revertLane:D.revertLane,action:D.action,hasEagerState:D.hasEagerState,eagerState:D.eagerState,next:null},x===null?(E=x=$,m=o):x=x.next=$,Oe.lanes|=L,Oa|=L;$=D.action,tl&&a(o,$),o=D.hasEagerState?D.eagerState:a(o,$)}else L={lane:$,revertLane:D.revertLane,action:D.action,hasEagerState:D.hasEagerState,eagerState:D.eagerState,next:null},x===null?(E=x=L,m=o):x=x.next=L,Oe.lanes|=$,Oa|=$;D=D.next}while(D!==null&&D!==t);if(x===null?m=o:x.next=E,!Wt(o,e.memoizedState)&&(Nt=!0,G&&(a=Ul,a!==null)))throw a;e.memoizedState=o,e.baseState=m,e.baseQueue=x,i.lastRenderedState=o}return r===null&&(i.lanes=0),[e.memoizedState,i.dispatch]}function Uc(e){var t=Et(),a=t.queue;if(a===null)throw Error(s(311));a.lastRenderedReducer=e;var i=a.dispatch,r=a.pending,o=t.memoizedState;if(r!==null){a.pending=null;var m=r=r.next;do o=e(o,m.action),m=m.next;while(m!==r);Wt(o,t.memoizedState)||(Nt=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),a.lastRenderedState=o}return[o,i]}function dd(e,t,a){var i=Oe,r=Et(),o=Ge;if(o){if(a===void 0)throw Error(s(407));a=a()}else a=t();var m=!Wt(($e||r).memoizedState,a);if(m&&(r.memoizedState=a,Nt=!0),r=r.queue,qc(yd.bind(null,i,r,e),[e]),r.getSnapshot!==t||m||gt!==null&>.memoizedState.tag&1){if(i.flags|=2048,ql(9,md.bind(null,i,r,a,t),{destroy:void 0},null),tt===null)throw Error(s(349));o||Ea&60||hd(i,t,a)}return a}function hd(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=Oe.updateQueue,t===null?(t=Xr(),Oe.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function md(e,t,a,i){t.value=a,t.getSnapshot=i,pd(t)&&vd(e)}function yd(e,t,a){return a(function(){pd(t)&&vd(e)})}function pd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Wt(e,a)}catch{return!0}}function vd(e){var t=pa(e,2);t!==null&&Xt(t,e,2)}function Hc(e){var t=Jt();if(typeof e=="function"){var a=e;if(e=a(),tl){Nn(!0);try{a()}finally{Nn(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:e},t}function gd(e,t,a,i){return e.baseState=a,Lc(e,$e,typeof i=="function"?i:In)}function Vv(e,t,a,i,r){if(Fr(e))throw Error(s(485));if(e=t.action,e!==null){var o={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(m){o.listeners.push(m)}};X.T!==null?a(!0):o.isTransition=!1,i(o),a=t.pending,a===null?(o.next=t.pending=o,Ed(t,o)):(o.next=a.next,t.pending=a.next=o)}}function Ed(e,t){var a=t.action,i=t.payload,r=e.state;if(t.isTransition){var o=X.T,m={};X.T=m;try{var E=a(r,i),x=X.S;x!==null&&x(m,E),bd(e,t,E)}catch(D){Bc(e,t,D)}finally{X.T=o}}else try{o=a(r,i),bd(e,t,o)}catch(D){Bc(e,t,D)}}function bd(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(i){Sd(e,t,i)},function(i){return Bc(e,t,i)}):Sd(e,t,a)}function Sd(e,t,a){t.status="fulfilled",t.value=a,xd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Ed(e,a)))}function Bc(e,t,a){var i=e.pending;if(e.pending=null,i!==null){i=i.next;do t.status="rejected",t.reason=a,xd(t),t=t.next;while(t!==i)}e.action=null}function xd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function _d(e,t){return t}function Rd(e,t){if(Ge){var a=tt.formState;if(a!==null){e:{var i=Oe;if(Ge){if(At){t:{for(var r=At,o=Un;r.nodeType!==8;){if(!o){r=null;break t}if(r=Dn(r.nextSibling),r===null){r=null;break t}}o=r.data,r=o==="F!"||o==="F"?r:null}if(r){At=Dn(r.nextSibling),i=r.data==="F!";break e}}Wa(i)}i=!1}i&&(t=a[0])}}return a=Jt(),a.memoizedState=a.baseState=t,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_d,lastRenderedState:t},a.queue=i,a=Gd.bind(null,Oe,i),i.dispatch=a,i=Hc(!1),o=Xc.bind(null,Oe,!1,i.queue),i=Jt(),r={state:t,dispatch:null,action:e,pending:null},i.queue=r,a=Vv.bind(null,Oe,r,o,a),r.dispatch=a,i.memoizedState=e,[t,a,!1]}function Td(e){var t=Et();return Nd(t,$e,e)}function Nd(e,t,a){t=Lc(e,t,_d)[0],e=Zr(In)[0],t=typeof t=="object"&&t!==null&&typeof t.then=="function"?ji(t):t;var i=Et(),r=i.queue,o=r.dispatch;return a!==i.memoizedState&&(Oe.flags|=2048,ql(9,Yv.bind(null,r,a),{destroy:void 0},null)),[t,o,e]}function Yv(e,t){e.action=t}function Cd(e){var t=Et(),a=$e;if(a!==null)return Nd(t,a,e);Et(),t=t.memoizedState,a=Et();var i=a.queue.dispatch;return a.memoizedState=e,[t,i,!1]}function ql(e,t,a,i){return e={tag:e,create:t,inst:a,deps:i,next:null},t=Oe.updateQueue,t===null&&(t=Xr(),Oe.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(i=a.next,a.next=e,e.next=i,t.lastEffect=e),e}function jd(){return Et().memoizedState}function Kr(e,t,a,i){var r=Jt();Oe.flags|=e,r.memoizedState=ql(1|t,a,{destroy:void 0},i===void 0?null:i)}function $r(e,t,a,i){var r=Et();i=i===void 0?null:i;var o=r.memoizedState.inst;$e!==null&&i!==null&&Oc(i,$e.memoizedState.deps)?r.memoizedState=ql(t,a,o,i):(Oe.flags|=e,r.memoizedState=ql(1|t,a,o,i))}function Od(e,t){Kr(8390656,8,e,t)}function qc(e,t){$r(2048,8,e,t)}function Dd(e,t){return $r(4,2,e,t)}function wd(e,t){return $r(4,4,e,t)}function Ad(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Md(e,t,a){a=a!=null?a.concat([e]):null,$r(4,4,Ad.bind(null,t,e),a)}function Vc(){}function zd(e,t){var a=Et();t=t===void 0?null:t;var i=a.memoizedState;return t!==null&&Oc(t,i[1])?i[0]:(a.memoizedState=[e,t],e)}function Ld(e,t){var a=Et();t=t===void 0?null:t;var i=a.memoizedState;if(t!==null&&Oc(t,i[1]))return i[0];if(i=e(),tl){Nn(!0);try{e()}finally{Nn(!1)}}return a.memoizedState=[i,t],i}function Yc(e,t,a){return a===void 0||Ea&1073741824?e.memoizedState=t:(e.memoizedState=a,e=Hh(),Oe.lanes|=e,Oa|=e,a)}function Ud(e,t,a,i){return Wt(a,t)?a:zl.current!==null?(e=Yc(e,a,i),Wt(e,t)||(Nt=!0),e):Ea&42?(e=Hh(),Oe.lanes|=e,Oa|=e,t):(Nt=!0,e.memoizedState=a)}function Hd(e,t,a,i,r){var o=P.p;P.p=o!==0&&8>o?o:8;var m=X.T,E={};X.T=E,Xc(e,!1,t,a);try{var x=r(),D=X.S;if(D!==null&&D(E,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var G=Hv(x,i);Oi(e,t,G,nn(e))}else Oi(e,t,i,nn(e))}catch($){Oi(e,t,{then:function(){},status:"rejected",reason:$},nn())}finally{P.p=o,X.T=m}}function Gv(){}function Gc(e,t,a,i){if(e.tag!==5)throw Error(s(476));var r=Bd(e).queue;Hd(e,r,t,ge,a===null?Gv:function(){return qd(e),a(i)})}function Bd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ge,baseState:ge,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:ge},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:In,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function qd(e){var t=Bd(e).next.queue;Oi(e,t,{},nn())}function kc(){return qt(Fi)}function Vd(){return Et().memoizedState}function Yd(){return Et().memoizedState}function kv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=nn();e=_a(a);var i=Ra(t,e,a);i!==null&&(Xt(i,t,a),Ai(i,t,a)),t={cache:Nc()},e.payload=t;return}t=t.return}}function Xv(e,t,a){var i=nn();a={lane:i,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null},Fr(e)?kd(t,a):(a=Ec(e,t,a,i),a!==null&&(Xt(a,e,i),Xd(a,t,i)))}function Gd(e,t,a){var i=nn();Oi(e,t,a,i)}function Oi(e,t,a,i){var r={lane:i,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null};if(Fr(e))kd(t,r);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var m=t.lastRenderedState,E=o(m,a);if(r.hasEagerState=!0,r.eagerState=E,Wt(E,m))return Ar(e,t,r,0),tt===null&&wr(),!1}catch{}finally{}if(a=Ec(e,t,r,i),a!==null)return Xt(a,e,i),Xd(a,t,i),!0}return!1}function Xc(e,t,a,i){if(i={lane:2,revertLane:Ms(),action:i,hasEagerState:!1,eagerState:null,next:null},Fr(e)){if(t)throw Error(s(479))}else t=Ec(e,a,i,2),t!==null&&Xt(t,e,2)}function Fr(e){var t=e.alternate;return e===Oe||t!==null&&t===Oe}function kd(e,t){Hl=Gr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Xd(e,t,a){if(a&4194176){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,me(e,a)}}var Bn={readContext:qt,use:Qr,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useLayoutEffect:pt,useInsertionEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useSyncExternalStore:pt,useId:pt};Bn.useCacheRefresh=pt,Bn.useMemoCache=pt,Bn.useHostTransitionStatus=pt,Bn.useFormState=pt,Bn.useActionState=pt,Bn.useOptimistic=pt;var nl={readContext:qt,use:Qr,useCallback:function(e,t){return Jt().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:Od,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Kr(4194308,4,Ad.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Kr(4194308,4,e,t)},useInsertionEffect:function(e,t){Kr(4,2,e,t)},useMemo:function(e,t){var a=Jt();t=t===void 0?null:t;var i=e();if(tl){Nn(!0);try{e()}finally{Nn(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Jt();if(a!==void 0){var r=a(t);if(tl){Nn(!0);try{a(t)}finally{Nn(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=Xv.bind(null,Oe,e),[i.memoizedState,e]},useRef:function(e){var t=Jt();return e={current:e},t.memoizedState=e},useState:function(e){e=Hc(e);var t=e.queue,a=Gd.bind(null,Oe,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Vc,useDeferredValue:function(e,t){var a=Jt();return Yc(a,e,t)},useTransition:function(){var e=Hc(!1);return e=Hd.bind(null,Oe,e.queue,!0,!1),Jt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=Oe,r=Jt();if(Ge){if(a===void 0)throw Error(s(407));a=a()}else{if(a=t(),tt===null)throw Error(s(349));Ve&60||hd(i,t,a)}r.memoizedState=a;var o={value:a,getSnapshot:t};return r.queue=o,Od(yd.bind(null,i,o,e),[e]),i.flags|=2048,ql(9,md.bind(null,i,o,a,t),{destroy:void 0},null),a},useId:function(){var e=Jt(),t=tt.identifierPrefix;if(Ge){var a=Pn,i=Jn;a=(i&~(1<<32-Tt(i)-1)).toString(32)+a,t=":"+t+"R"+a,a=kr++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=Bv++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},useCacheRefresh:function(){return Jt().memoizedState=kv.bind(null,Oe)}};nl.useMemoCache=zc,nl.useHostTransitionStatus=kc,nl.useFormState=Rd,nl.useActionState=Rd,nl.useOptimistic=function(e){var t=Jt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Xc.bind(null,Oe,!0,a),a.dispatch=t,[e,t]};var ba={readContext:qt,use:Qr,useCallback:zd,useContext:qt,useEffect:qc,useImperativeHandle:Md,useInsertionEffect:Dd,useLayoutEffect:wd,useMemo:Ld,useReducer:Zr,useRef:jd,useState:function(){return Zr(In)},useDebugValue:Vc,useDeferredValue:function(e,t){var a=Et();return Ud(a,$e.memoizedState,e,t)},useTransition:function(){var e=Zr(In)[0],t=Et().memoizedState;return[typeof e=="boolean"?e:ji(e),t]},useSyncExternalStore:dd,useId:Vd};ba.useCacheRefresh=Yd,ba.useMemoCache=zc,ba.useHostTransitionStatus=kc,ba.useFormState=Td,ba.useActionState=Td,ba.useOptimistic=function(e,t){var a=Et();return gd(a,$e,e,t)};var al={readContext:qt,use:Qr,useCallback:zd,useContext:qt,useEffect:qc,useImperativeHandle:Md,useInsertionEffect:Dd,useLayoutEffect:wd,useMemo:Ld,useReducer:Uc,useRef:jd,useState:function(){return Uc(In)},useDebugValue:Vc,useDeferredValue:function(e,t){var a=Et();return $e===null?Yc(a,e,t):Ud(a,$e.memoizedState,e,t)},useTransition:function(){var e=Uc(In)[0],t=Et().memoizedState;return[typeof e=="boolean"?e:ji(e),t]},useSyncExternalStore:dd,useId:Vd};al.useCacheRefresh=Yd,al.useMemoCache=zc,al.useHostTransitionStatus=kc,al.useFormState=Cd,al.useActionState=Cd,al.useOptimistic=function(e,t){var a=Et();return $e!==null?gd(a,$e,e,t):(a.baseState=e,[e,a.queue.dispatch])};function Qc(e,t,a,i){t=e.memoizedState,a=a(i,t),a=a==null?t:I({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Zc={isMounted:function(e){return(e=e._reactInternals)?ne(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var i=nn(),r=_a(i);r.payload=t,a!=null&&(r.callback=a),t=Ra(e,r,i),t!==null&&(Xt(t,e,i),Ai(t,e,i))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var i=nn(),r=_a(i);r.tag=1,r.payload=t,a!=null&&(r.callback=a),t=Ra(e,r,i),t!==null&&(Xt(t,e,i),Ai(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=nn(),i=_a(a);i.tag=2,t!=null&&(i.callback=t),t=Ra(e,i,a),t!==null&&(Xt(t,e,a),Ai(t,e,a))}};function Qd(e,t,a,i,r,o,m){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(i,o,m):t.prototype&&t.prototype.isPureReactComponent?!pi(a,i)||!pi(r,o):!0}function Zd(e,t,a,i){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,i),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,i),t.state!==e&&Zc.enqueueReplaceState(t,t.state,null)}function ll(e,t){var a=t;if("ref"in t){a={};for(var i in t)i!=="ref"&&(a[i]=t[i])}if(e=e.defaultProps){a===t&&(a=I({},a));for(var r in e)a[r]===void 0&&(a[r]=e[r])}return a}var Jr=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function Kd(e){Jr(e)}function $d(e){console.error(e)}function Fd(e){Jr(e)}function Pr(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(i){setTimeout(function(){throw i})}}function Jd(e,t,a){try{var i=e.onCaughtError;i(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(r){setTimeout(function(){throw r})}}function Kc(e,t,a){return a=_a(a),a.tag=3,a.payload={element:null},a.callback=function(){Pr(e,t)},a}function Pd(e){return e=_a(e),e.tag=3,e}function Wd(e,t,a,i){var r=a.type.getDerivedStateFromError;if(typeof r=="function"){var o=i.value;e.payload=function(){return r(o)},e.callback=function(){Jd(t,a,i)}}var m=a.stateNode;m!==null&&typeof m.componentDidCatch=="function"&&(e.callback=function(){Jd(t,a,i),typeof r!="function"&&(Da===null?Da=new Set([this]):Da.add(this));var E=i.stack;this.componentDidCatch(i.value,{componentStack:E!==null?E:""})})}function Qv(e,t,a,i,r){if(a.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){if(t=a.alternate,t!==null&&wi(t,a,r,!0),a=vn.current,a!==null){switch(a.tag){case 13:return Hn===null?js():a.alternate===null&&dt===0&&(dt=3),a.flags&=-257,a.flags|=65536,a.lanes=r,i===_c?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([i]):t.add(i),Ds(e,i,r)),!1;case 22:return a.flags|=65536,i===_c?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([i]):a.add(i)),Ds(e,i,r)),!1}throw Error(s(435,a.tag))}return Ds(e,i,r),js(),!1}if(Ge)return t=vn.current,t!==null?(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=r,i!==xc&&(e=Error(s(422),{cause:i}),bi(mn(e,a)))):(i!==xc&&(t=Error(s(423),{cause:i}),bi(mn(t,a))),e=e.current.alternate,e.flags|=65536,r&=-r,e.lanes|=r,i=mn(i,a),r=Kc(e.stateNode,i,r),cs(e,r),dt!==4&&(dt=2)),!1;var o=Error(s(520),{cause:i});if(o=mn(o,a),Vi===null?Vi=[o]:Vi.push(o),dt!==4&&(dt=2),t===null)return!0;i=mn(i,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=r&-r,a.lanes|=e,e=Kc(a.stateNode,i,e),cs(a,e),!1;case 1:if(t=a.type,o=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||o!==null&&typeof o.componentDidCatch=="function"&&(Da===null||!Da.has(o))))return a.flags|=65536,r&=-r,a.lanes|=r,r=Pd(r),Wd(r,e,a,i),cs(a,r),!1}a=a.return}while(a!==null);return!1}var Id=Error(s(461)),Nt=!1;function Mt(e,t,a,i){t.child=e===null?ld(t,null,a,i):Ia(t,e.child,a,i)}function eh(e,t,a,i,r){a=a.render;var o=t.ref;if("ref"in i){var m={};for(var E in i)E!=="ref"&&(m[E]=i[E])}else m=i;return rl(t),i=Dc(e,t,a,m,o,r),E=wc(),e!==null&&!Nt?(Ac(e,t,r),ea(e,t,r)):(Ge&&E&&bc(t),t.flags|=1,Mt(e,t,i,r),t.child)}function th(e,t,a,i,r){if(e===null){var o=a.type;return typeof o=="function"&&!ps(o)&&o.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=o,nh(e,t,o,i,r)):(e=nu(a.type,null,i,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!ns(e,r)){var m=o.memoizedProps;if(a=a.compare,a=a!==null?a:pi,a(m,i)&&e.ref===t.ref)return ea(e,t,r)}return t.flags|=1,e=ja(o,i),e.ref=t.ref,e.return=t,t.child=e}function nh(e,t,a,i,r){if(e!==null){var o=e.memoizedProps;if(pi(o,i)&&e.ref===t.ref)if(Nt=!1,t.pendingProps=i=o,ns(e,r))e.flags&131072&&(Nt=!0);else return t.lanes=e.lanes,ea(e,t,r)}return $c(e,t,a,i,r)}function ah(e,t,a){var i=t.pendingProps,r=i.children,o=(t.stateNode._pendingVisibility&2)!==0,m=e!==null?e.memoizedState:null;if(Di(e,t),i.mode==="hidden"||o){if(t.flags&128){if(i=m!==null?m.baseLanes|a:a,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;t.childLanes=o&~i}else t.childLanes=0,t.child=null;return lh(e,t,i,a)}if(a&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Yr(t,m!==null?m.cachePool:null),m!==null?id(t,m):Rc(),rd(t);else return t.lanes=t.childLanes=536870912,lh(e,t,m!==null?m.baseLanes|a:a,a)}else m!==null?(Yr(t,m.cachePool),id(t,m),ga(),t.memoizedState=null):(e!==null&&Yr(t,null),Rc(),ga());return Mt(e,t,r,a),t.child}function lh(e,t,a,i){var r=jc();return r=r===null?null:{parent:_t._currentValue,pool:r},t.memoizedState={baseLanes:a,cachePool:r},e!==null&&Yr(t,null),Rc(),rd(t),e!==null&&wi(e,t,i,!0),null}function Di(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=2097664);else{if(typeof a!="function"&&typeof a!="object")throw Error(s(284));(e===null||e.ref!==a)&&(t.flags|=2097664)}}function $c(e,t,a,i,r){return rl(t),a=Dc(e,t,a,i,void 0,r),i=wc(),e!==null&&!Nt?(Ac(e,t,r),ea(e,t,r)):(Ge&&i&&bc(t),t.flags|=1,Mt(e,t,a,r),t.child)}function ih(e,t,a,i,r,o){return rl(t),t.updateQueue=null,a=fd(t,i,a,r),od(e),i=wc(),e!==null&&!Nt?(Ac(e,t,o),ea(e,t,o)):(Ge&&i&&bc(t),t.flags|=1,Mt(e,t,a,o),t.child)}function rh(e,t,a,i,r){if(rl(t),t.stateNode===null){var o=Dl,m=a.contextType;typeof m=="object"&&m!==null&&(o=qt(m)),o=new a(i,o),t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,o.updater=Zc,t.stateNode=o,o._reactInternals=t,o=t.stateNode,o.props=i,o.state=t.memoizedState,o.refs={},rs(t),m=a.contextType,o.context=typeof m=="object"&&m!==null?qt(m):Dl,o.state=t.memoizedState,m=a.getDerivedStateFromProps,typeof m=="function"&&(Qc(t,a,m,i),o.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(m=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),m!==o.state&&Zc.enqueueReplaceState(o,o.state,null),zi(t,i,o,r),Mi(),o.state=t.memoizedState),typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!0}else if(e===null){o=t.stateNode;var E=t.memoizedProps,x=ll(a,E);o.props=x;var D=o.context,G=a.contextType;m=Dl,typeof G=="object"&&G!==null&&(m=qt(G));var $=a.getDerivedStateFromProps;G=typeof $=="function"||typeof o.getSnapshotBeforeUpdate=="function",E=t.pendingProps!==E,G||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(E||D!==m)&&Zd(t,o,i,m),xa=!1;var L=t.memoizedState;o.state=L,zi(t,i,o,r),Mi(),D=t.memoizedState,E||L!==D||xa?(typeof $=="function"&&(Qc(t,a,$,i),D=t.memoizedState),(x=xa||Qd(t,a,x,i,L,D,m))?(G||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=D),o.props=i,o.state=D,o.context=m,i=x):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,us(e,t),m=t.memoizedProps,G=ll(a,m),o.props=G,$=t.pendingProps,L=o.context,D=a.contextType,x=Dl,typeof D=="object"&&D!==null&&(x=qt(D)),E=a.getDerivedStateFromProps,(D=typeof E=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(m!==$||L!==x)&&Zd(t,o,i,x),xa=!1,L=t.memoizedState,o.state=L,zi(t,i,o,r),Mi();var V=t.memoizedState;m!==$||L!==V||xa||e!==null&&e.dependencies!==null&&Wr(e.dependencies)?(typeof E=="function"&&(Qc(t,a,E,i),V=t.memoizedState),(G=xa||Qd(t,a,G,i,L,V,x)||e!==null&&e.dependencies!==null&&Wr(e.dependencies))?(D||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,V,x),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,V,x)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||m===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||m===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=V),o.props=i,o.state=V,o.context=x,i=G):(typeof o.componentDidUpdate!="function"||m===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||m===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),i=!1)}return o=i,Di(e,t),i=(t.flags&128)!==0,o||i?(o=t.stateNode,a=i&&typeof a.getDerivedStateFromError!="function"?null:o.render(),t.flags|=1,e!==null&&i?(t.child=Ia(t,e.child,null,r),t.child=Ia(t,null,a,r)):Mt(e,t,a,r),t.memoizedState=o.state,e=t.child):e=ea(e,t,r),e}function uh(e,t,a,i){return Ei(),t.flags|=256,Mt(e,t,a,i),t.child}var Fc={dehydrated:null,treeContext:null,retryLane:0};function Jc(e){return{baseLanes:e,cachePool:sd()}}function Pc(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Sn),e}function ch(e,t,a){var i=t.pendingProps,r=!1,o=(t.flags&128)!==0,m;if((m=o)||(m=e!==null&&e.memoizedState===null?!1:(xt.current&2)!==0),m&&(r=!0,t.flags&=-129),m=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ge){if(r?va(t):ga(),Ge){var E=At,x;if(x=E){e:{for(x=E,E=Un;x.nodeType!==8;){if(!E){E=null;break e}if(x=Dn(x.nextSibling),x===null){E=null;break e}}E=x}E!==null?(t.memoizedState={dehydrated:E,treeContext:Ja!==null?{id:Jn,overflow:Pn}:null,retryLane:536870912},x=bn(18,null,null,0),x.stateNode=E,x.return=t,t.child=x,kt=t,At=null,x=!0):x=!1}x||Wa(t)}if(E=t.memoizedState,E!==null&&(E=E.dehydrated,E!==null))return E.data==="$!"?t.lanes=16:t.lanes=536870912,null;Wn(t)}return E=i.children,i=i.fallback,r?(ga(),r=t.mode,E=Ic({mode:"hidden",children:E},r),i=cl(i,r,a,null),E.return=t,i.return=t,E.sibling=i,t.child=E,r=t.child,r.memoizedState=Jc(a),r.childLanes=Pc(e,m,a),t.memoizedState=Fc,i):(va(t),Wc(t,E))}if(x=e.memoizedState,x!==null&&(E=x.dehydrated,E!==null)){if(o)t.flags&256?(va(t),t.flags&=-257,t=es(e,t,a)):t.memoizedState!==null?(ga(),t.child=e.child,t.flags|=128,t=null):(ga(),r=i.fallback,E=t.mode,i=Ic({mode:"visible",children:i.children},E),r=cl(r,E,a,null),r.flags|=2,i.return=t,r.return=t,i.sibling=r,t.child=i,Ia(t,e.child,null,a),i=t.child,i.memoizedState=Jc(a),i.childLanes=Pc(e,m,a),t.memoizedState=Fc,t=r);else if(va(t),E.data==="$!"){if(m=E.nextSibling&&E.nextSibling.dataset,m)var D=m.dgst;m=D,i=Error(s(419)),i.stack="",i.digest=m,bi({value:i,source:null,stack:null}),t=es(e,t,a)}else if(Nt||wi(e,t,a,!1),m=(a&e.childLanes)!==0,Nt||m){if(m=tt,m!==null){if(i=a&-a,i&42)i=1;else switch(i){case 2:i=1;break;case 8:i=4;break;case 32:i=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:i=64;break;case 268435456:i=134217728;break;default:i=0}if(i=i&(m.suspendedLanes|a)?0:i,i!==0&&i!==x.retryLane)throw x.retryLane=i,pa(e,i),Xt(m,e,i),Id}E.data==="$?"||js(),t=es(e,t,a)}else E.data==="$?"?(t.flags|=128,t.child=e.child,t=rg.bind(null,e),E._reactRetry=t,t=null):(e=x.treeContext,At=Dn(E.nextSibling),kt=t,Ge=!0,jn=null,Un=!1,e!==null&&(yn[pn++]=Jn,yn[pn++]=Pn,yn[pn++]=Ja,Jn=e.id,Pn=e.overflow,Ja=t),t=Wc(t,i.children),t.flags|=4096);return t}return r?(ga(),r=i.fallback,E=t.mode,x=e.child,D=x.sibling,i=ja(x,{mode:"hidden",children:i.children}),i.subtreeFlags=x.subtreeFlags&31457280,D!==null?r=ja(D,r):(r=cl(r,E,a,null),r.flags|=2),r.return=t,i.return=t,i.sibling=r,t.child=i,i=r,r=t.child,E=e.child.memoizedState,E===null?E=Jc(a):(x=E.cachePool,x!==null?(D=_t._currentValue,x=x.parent!==D?{parent:D,pool:D}:x):x=sd(),E={baseLanes:E.baseLanes|a,cachePool:x}),r.memoizedState=E,r.childLanes=Pc(e,m,a),t.memoizedState=Fc,i):(va(t),a=e.child,e=a.sibling,a=ja(a,{mode:"visible",children:i.children}),a.return=t,a.sibling=null,e!==null&&(m=t.deletions,m===null?(t.deletions=[e],t.flags|=16):m.push(e)),t.child=a,t.memoizedState=null,a)}function Wc(e,t){return t=Ic({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Ic(e,t){return zh(e,t,0,null)}function es(e,t,a){return Ia(t,e.child,null,a),e=Wc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function sh(e,t,a){e.lanes|=t;var i=e.alternate;i!==null&&(i.lanes|=t),ls(e.return,t,a)}function ts(e,t,a,i,r){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:a,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=i,o.tail=a,o.tailMode=r)}function oh(e,t,a){var i=t.pendingProps,r=i.revealOrder,o=i.tail;if(Mt(e,t,i.children,a),i=xt.current,i&2)i=i&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&sh(e,a,t);else if(e.tag===19)sh(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}switch(Ee(xt,i),r){case"forwards":for(a=t.child,r=null;a!==null;)e=a.alternate,e!==null&&Vr(e)===null&&(r=a),a=a.sibling;a=r,a===null?(r=t.child,t.child=null):(r=a.sibling,a.sibling=null),ts(t,!1,r,a,o);break;case"backwards":for(a=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Vr(e)===null){t.child=r;break}e=r.sibling,r.sibling=a,a=r,r=e}ts(t,!0,a,null,o);break;case"together":ts(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ea(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Oa|=t.lanes,!(a&t.childLanes))if(e!==null){if(wi(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,a=ja(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ja(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function ns(e,t){return e.lanes&t?!0:(e=e.dependencies,!!(e!==null&&Wr(e)))}function Zv(e,t,a){switch(t.tag){case 3:De(t,t.stateNode.containerInfo),Sa(t,_t,e.memoizedState.cache),Ei();break;case 27:case 5:St(t);break;case 4:De(t,t.stateNode.containerInfo);break;case 10:Sa(t,t.type,t.memoizedProps.value);break;case 13:var i=t.memoizedState;if(i!==null)return i.dehydrated!==null?(va(t),t.flags|=128,null):a&t.child.childLanes?ch(e,t,a):(va(t),e=ea(e,t,a),e!==null?e.sibling:null);va(t);break;case 19:var r=(e.flags&128)!==0;if(i=(a&t.childLanes)!==0,i||(wi(e,t,a,!1),i=(a&t.childLanes)!==0),r){if(i)return oh(e,t,a);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),Ee(xt,xt.current),i)break;return null;case 22:case 23:return t.lanes=0,ah(e,t,a);case 24:Sa(t,_t,e.memoizedState.cache)}return ea(e,t,a)}function fh(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Nt=!0;else{if(!ns(e,a)&&!(t.flags&128))return Nt=!1,Zv(e,t,a);Nt=!!(e.flags&131072)}else Nt=!1,Ge&&t.flags&1048576&&Ff(t,Lr,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var i=t.elementType,r=i._init;if(i=r(i._payload),t.type=i,typeof i=="function")ps(i)?(e=ll(i,e),t.tag=1,t=rh(null,t,i,e,a)):(t.tag=0,t=$c(null,t,i,e,a));else{if(i!=null){if(r=i.$$typeof,r===O){t.tag=11,t=eh(null,t,i,e,a);break e}else if(r===M){t.tag=14,t=th(null,t,i,e,a);break e}}throw t=ie(i)||i,Error(s(306,t,""))}}return t;case 0:return $c(e,t,t.type,t.pendingProps,a);case 1:return i=t.type,r=ll(i,t.pendingProps),rh(e,t,i,r,a);case 3:e:{if(De(t,t.stateNode.containerInfo),e===null)throw Error(s(387));var o=t.pendingProps;r=t.memoizedState,i=r.element,us(e,t),zi(t,o,null,a);var m=t.memoizedState;if(o=m.cache,Sa(t,_t,o),o!==r.cache&&is(t,[_t],a,!0),Mi(),o=m.element,r.isDehydrated)if(r={element:o,isDehydrated:!1,cache:m.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=uh(e,t,o,a);break e}else if(o!==i){i=mn(Error(s(424)),t),bi(i),t=uh(e,t,o,a);break e}else for(At=Dn(t.stateNode.containerInfo.firstChild),kt=t,Ge=!0,jn=null,Un=!0,a=ld(t,null,o,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Ei(),o===i){t=ea(e,t,a);break e}Mt(e,t,o,a)}t=t.child}return t;case 26:return Di(e,t),e===null?(a=mm(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ge||(a=t.type,e=t.pendingProps,i=mu(it.current).createElement(a),i[fe]=t,i[ve]=e,zt(i,a,e),et(i),t.stateNode=i):t.memoizedState=mm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return St(t),e===null&&Ge&&(i=t.stateNode=fm(t.type,t.pendingProps,it.current),kt=t,Un=!0,At=Dn(i.firstChild)),i=t.pendingProps.children,e!==null||Ge?Mt(e,t,i,a):t.child=Ia(t,null,i,a),Di(e,t),t.child;case 5:return e===null&&Ge&&((r=i=At)&&(i=xg(i,t.type,t.pendingProps,Un),i!==null?(t.stateNode=i,kt=t,At=Dn(i.firstChild),Un=!1,r=!0):r=!1),r||Wa(t)),St(t),r=t.type,o=t.pendingProps,m=e!==null?e.memoizedProps:null,i=o.children,Gs(r,o)?i=null:m!==null&&Gs(r,m)&&(t.flags|=32),t.memoizedState!==null&&(r=Dc(e,t,qv,null,null,a),Fi._currentValue=r),Di(e,t),Mt(e,t,i,a),t.child;case 6:return e===null&&Ge&&((e=a=At)&&(a=_g(a,t.pendingProps,Un),a!==null?(t.stateNode=a,kt=t,At=null,e=!0):e=!1),e||Wa(t)),null;case 13:return ch(e,t,a);case 4:return De(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Ia(t,null,i,a):Mt(e,t,i,a),t.child;case 11:return eh(e,t,t.type,t.pendingProps,a);case 7:return Mt(e,t,t.pendingProps,a),t.child;case 8:return Mt(e,t,t.pendingProps.children,a),t.child;case 12:return Mt(e,t,t.pendingProps.children,a),t.child;case 10:return i=t.pendingProps,Sa(t,t.type,i.value),Mt(e,t,i.children,a),t.child;case 9:return r=t.type._context,i=t.pendingProps.children,rl(t),r=qt(r),i=i(r),t.flags|=1,Mt(e,t,i,a),t.child;case 14:return th(e,t,t.type,t.pendingProps,a);case 15:return nh(e,t,t.type,t.pendingProps,a);case 19:return oh(e,t,a);case 22:return ah(e,t,a);case 24:return rl(t),i=qt(_t),e===null?(r=jc(),r===null&&(r=tt,o=Nc(),r.pooledCache=o,o.refCount++,o!==null&&(r.pooledCacheLanes|=a),r=o),t.memoizedState={parent:i,cache:r},rs(t),Sa(t,_t,r)):(e.lanes&a&&(us(e,t),zi(t,null,null,a),Mi()),r=e.memoizedState,o=t.memoizedState,r.parent!==i?(r={parent:i,cache:i},t.memoizedState=r,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=r),Sa(t,_t,i)):(i=o.cache,Sa(t,_t,i),i!==r.cache&&is(t,[_t],a,!0))),Mt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(s(156,t.tag))}var as=Ce(null),il=null,ta=null;function Sa(e,t,a){Ee(as,t._currentValue),t._currentValue=a}function na(e){e._currentValue=as.current,Le(as)}function ls(e,t,a){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===a)break;e=e.return}}function is(e,t,a,i){var r=e.child;for(r!==null&&(r.return=e);r!==null;){var o=r.dependencies;if(o!==null){var m=r.child;o=o.firstContext;e:for(;o!==null;){var E=o;o=r;for(var x=0;x<t.length;x++)if(E.context===t[x]){o.lanes|=a,E=o.alternate,E!==null&&(E.lanes|=a),ls(o.return,a,e),i||(m=null);break e}o=E.next}}else if(r.tag===18){if(m=r.return,m===null)throw Error(s(341));m.lanes|=a,o=m.alternate,o!==null&&(o.lanes|=a),ls(m,a,e),m=null}else m=r.child;if(m!==null)m.return=r;else for(m=r;m!==null;){if(m===e){m=null;break}if(r=m.sibling,r!==null){r.return=m.return,m=r;break}m=m.return}r=m}}function wi(e,t,a,i){e=null;for(var r=t,o=!1;r!==null;){if(!o){if(r.flags&524288)o=!0;else if(r.flags&262144)break}if(r.tag===10){var m=r.alternate;if(m===null)throw Error(s(387));if(m=m.memoizedProps,m!==null){var E=r.type;Wt(r.pendingProps.value,m.value)||(e!==null?e.push(E):e=[E])}}else if(r===lt.current){if(m=r.alternate,m===null)throw Error(s(387));m.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(e!==null?e.push(Fi):e=[Fi])}r=r.return}e!==null&&is(t,e,a,i),t.flags|=262144}function Wr(e){for(e=e.firstContext;e!==null;){if(!Wt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function rl(e){il=e,ta=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function qt(e){return dh(il,e)}function Ir(e,t){return il===null&&rl(e),dh(e,t)}function dh(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ta===null){if(e===null)throw Error(s(308));ta=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ta=ta.next=t;return a}var xa=!1;function rs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function us(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _a(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,st&2){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Mr(e),Kf(e,null,a),t}return Ar(e,i,t,a),Mr(e)}function Ai(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194176)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,me(e,a)}}function cs(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var r=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var m={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?r=o=m:o=o.next=m,a=a.next}while(a!==null);o===null?r=o=t:o=o.next=t}else r=o=t;a={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var ss=!1;function Mi(){if(ss){var e=Ul;if(e!==null)throw e}}function zi(e,t,a,i){ss=!1;var r=e.updateQueue;xa=!1;var o=r.firstBaseUpdate,m=r.lastBaseUpdate,E=r.shared.pending;if(E!==null){r.shared.pending=null;var x=E,D=x.next;x.next=null,m===null?o=D:m.next=D,m=x;var G=e.alternate;G!==null&&(G=G.updateQueue,E=G.lastBaseUpdate,E!==m&&(E===null?G.firstBaseUpdate=D:E.next=D,G.lastBaseUpdate=x))}if(o!==null){var $=r.baseState;m=0,G=D=x=null,E=o;do{var L=E.lane&-536870913,V=L!==E.lane;if(V?(Ve&L)===L:(i&L)===L){L!==0&&L===Ll&&(ss=!0),G!==null&&(G=G.next={lane:0,tag:E.tag,payload:E.payload,callback:null,next:null});e:{var he=e,Te=E;L=t;var ht=a;switch(Te.tag){case 1:if(he=Te.payload,typeof he=="function"){$=he.call(ht,$,L);break e}$=he;break e;case 3:he.flags=he.flags&-65537|128;case 0:if(he=Te.payload,L=typeof he=="function"?he.call(ht,$,L):he,L==null)break e;$=I({},$,L);break e;case 2:xa=!0}}L=E.callback,L!==null&&(e.flags|=64,V&&(e.flags|=8192),V=r.callbacks,V===null?r.callbacks=[L]:V.push(L))}else V={lane:L,tag:E.tag,payload:E.payload,callback:E.callback,next:null},G===null?(D=G=V,x=$):G=G.next=V,m|=L;if(E=E.next,E===null){if(E=r.shared.pending,E===null)break;V=E,E=V.next,V.next=null,r.lastBaseUpdate=V,r.shared.pending=null}}while(!0);G===null&&(x=$),r.baseState=x,r.firstBaseUpdate=D,r.lastBaseUpdate=G,o===null&&(r.shared.lanes=0),Oa|=m,e.lanes=m,e.memoizedState=$}}function hh(e,t){if(typeof e!="function")throw Error(s(191,e));e.call(t)}function mh(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)hh(a[e],t)}function Li(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var r=i.next;a=r;do{if((a.tag&e)===e){i=void 0;var o=a.create,m=a.inst;i=o(),m.destroy=i}a=a.next}while(a!==r)}}catch(E){We(t,t.return,E)}}function Ta(e,t,a){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var o=r.next;i=o;do{if((i.tag&e)===e){var m=i.inst,E=m.destroy;if(E!==void 0){m.destroy=void 0,r=t;var x=a;try{E()}catch(D){We(r,x,D)}}}i=i.next}while(i!==o)}}catch(D){We(t,t.return,D)}}function yh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{mh(t,a)}catch(i){We(e,e.return,i)}}}function ph(e,t,a){a.props=ll(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){We(e,t,i)}}function ul(e,t){try{var a=e.ref;if(a!==null){var i=e.stateNode;switch(e.tag){case 26:case 27:case 5:var r=i;break;default:r=i}typeof a=="function"?e.refCleanup=a(r):a.current=r}}catch(o){We(e,t,o)}}function It(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(r){We(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(r){We(e,t,r)}else a.current=null}function vh(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(r){We(e,e.return,r)}}function gh(e,t,a){try{var i=e.stateNode;vg(i,e.type,a,t),i[ve]=t}catch(r){We(e,e.return,r)}}function Eh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27||e.tag===4}function os(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Eh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==27&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function fs(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=hu));else if(i!==4&&i!==27&&(e=e.child,e!==null))for(fs(e,t,a),e=e.sibling;e!==null;)fs(e,t,a),e=e.sibling}function eu(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&i!==27&&(e=e.child,e!==null))for(eu(e,t,a),e=e.sibling;e!==null;)eu(e,t,a),e=e.sibling}var aa=!1,ft=!1,ds=!1,bh=typeof WeakSet=="function"?WeakSet:Set,Ct=null,Sh=!1;function Kv(e,t){if(e=e.containerInfo,Vs=bu,e=Bf(e),mc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var r=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var m=0,E=-1,x=-1,D=0,G=0,$=e,L=null;t:for(;;){for(var V;$!==a||r!==0&&$.nodeType!==3||(E=m+r),$!==o||i!==0&&$.nodeType!==3||(x=m+i),$.nodeType===3&&(m+=$.nodeValue.length),(V=$.firstChild)!==null;)L=$,$=V;for(;;){if($===e)break t;if(L===a&&++D===r&&(E=m),L===o&&++G===i&&(x=m),(V=$.nextSibling)!==null)break;$=L,L=$.parentNode}$=V}a=E===-1||x===-1?null:{start:E,end:x}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ys={focusedElem:e,selectionRange:a},bu=!1,Ct=t;Ct!==null;)if(t=Ct,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ct=e;else for(;Ct!==null;){switch(t=Ct,o=t.alternate,e=t.flags,t.tag){case 0:break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,a=t,r=o.memoizedProps,o=o.memoizedState,i=a.stateNode;try{var he=ll(a.type,r,a.elementType===a.type);e=i.getSnapshotBeforeUpdate(he,o),i.__reactInternalSnapshotBeforeUpdate=e}catch(Te){We(a,a.return,Te)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Qs(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Qs(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(s(163))}if(e=t.sibling,e!==null){e.return=t.return,Ct=e;break}Ct=t.return}return he=Sh,Sh=!1,he}function xh(e,t,a){var i=a.flags;switch(a.tag){case 0:case 11:case 15:ia(e,a),i&4&&Li(5,a);break;case 1:if(ia(e,a),i&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(E){We(a,a.return,E)}else{var r=ll(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(E){We(a,a.return,E)}}i&64&&yh(a),i&512&&ul(a,a.return);break;case 3:if(ia(e,a),i&64&&(i=a.updateQueue,i!==null)){if(e=null,a.child!==null)switch(a.child.tag){case 27:case 5:e=a.child.stateNode;break;case 1:e=a.child.stateNode}try{mh(i,e)}catch(E){We(a,a.return,E)}}break;case 26:ia(e,a),i&512&&ul(a,a.return);break;case 27:case 5:ia(e,a),t===null&&i&4&&vh(a),i&512&&ul(a,a.return);break;case 12:ia(e,a);break;case 13:ia(e,a),i&4&&Th(e,a);break;case 22:if(r=a.memoizedState!==null||aa,!r){t=t!==null&&t.memoizedState!==null||ft;var o=aa,m=ft;aa=r,(ft=t)&&!m?Na(e,a,(a.subtreeFlags&8772)!==0):ia(e,a),aa=o,ft=m}i&512&&(a.memoizedProps.mode==="manual"?ul(a,a.return):It(a,a.return));break;default:ia(e,a)}}function _h(e){var t=e.alternate;t!==null&&(e.alternate=null,_h(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Zn(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var bt=null,en=!1;function la(e,t,a){for(a=a.child;a!==null;)Rh(e,t,a),a=a.sibling}function Rh(e,t,a){if(Bt&&typeof Bt.onCommitFiberUnmount=="function")try{Bt.onCommitFiberUnmount(ma,a)}catch{}switch(a.tag){case 26:ft||It(a,t),la(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:ft||It(a,t);var i=bt,r=en;for(bt=a.stateNode,la(e,t,a),a=a.stateNode,t=a.attributes;t.length;)a.removeAttributeNode(t[0]);Zn(a),bt=i,en=r;break;case 5:ft||It(a,t);case 6:r=bt;var o=en;if(bt=null,la(e,t,a),bt=r,en=o,bt!==null)if(en)try{e=bt,i=a.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)}catch(m){We(a,t,m)}else try{bt.removeChild(a.stateNode)}catch(m){We(a,t,m)}break;case 18:bt!==null&&(en?(t=bt,a=a.stateNode,t.nodeType===8?Xs(t.parentNode,a):t.nodeType===1&&Xs(t,a),Ii(t)):Xs(bt,a.stateNode));break;case 4:i=bt,r=en,bt=a.stateNode.containerInfo,en=!0,la(e,t,a),bt=i,en=r;break;case 0:case 11:case 14:case 15:ft||Ta(2,a,t),ft||Ta(4,a,t),la(e,t,a);break;case 1:ft||(It(a,t),i=a.stateNode,typeof i.componentWillUnmount=="function"&&ph(a,t,i)),la(e,t,a);break;case 21:la(e,t,a);break;case 22:ft||It(a,t),ft=(i=ft)||a.memoizedState!==null,la(e,t,a),ft=i;break;default:la(e,t,a)}}function Th(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Ii(e)}catch(a){We(t,t.return,a)}}function $v(e){switch(e.tag){case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new bh),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new bh),t;default:throw Error(s(435,e.tag))}}function hs(e,t){var a=$v(e);t.forEach(function(i){var r=ug.bind(null,e,i);a.has(i)||(a.add(i),i.then(r,r))})}function gn(e,t){var a=t.deletions;if(a!==null)for(var i=0;i<a.length;i++){var r=a[i],o=e,m=t,E=m;e:for(;E!==null;){switch(E.tag){case 27:case 5:bt=E.stateNode,en=!1;break e;case 3:bt=E.stateNode.containerInfo,en=!0;break e;case 4:bt=E.stateNode.containerInfo,en=!0;break e}E=E.return}if(bt===null)throw Error(s(160));Rh(o,m,r),bt=null,en=!1,o=r.alternate,o!==null&&(o.return=null),r.return=null}if(t.subtreeFlags&13878)for(t=t.child;t!==null;)Nh(t,e),t=t.sibling}var On=null;function Nh(e,t){var a=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gn(t,e),En(e),i&4&&(Ta(3,e,e.return),Li(3,e),Ta(5,e,e.return));break;case 1:gn(t,e),En(e),i&512&&(ft||a===null||It(a,a.return)),i&64&&aa&&(e=e.updateQueue,e!==null&&(i=e.callbacks,i!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?i:a.concat(i))));break;case 26:var r=On;if(gn(t,e),En(e),i&512&&(ft||a===null||It(a,a.return)),i&4){var o=a!==null?a.memoizedState:null;if(i=e.memoizedState,a===null)if(i===null)if(e.stateNode===null){e:{i=e.type,a=e.memoizedProps,r=r.ownerDocument||r;t:switch(i){case"title":o=r.getElementsByTagName("title")[0],(!o||o[sn]||o[fe]||o.namespaceURI==="http://www.w3.org/2000/svg"||o.hasAttribute("itemprop"))&&(o=r.createElement(i),r.head.insertBefore(o,r.querySelector("head > title"))),zt(o,i,a),o[fe]=e,et(o),i=o;break e;case"link":var m=vm("link","href",r).get(i+(a.href||""));if(m){for(var E=0;E<m.length;E++)if(o=m[E],o.getAttribute("href")===(a.href==null?null:a.href)&&o.getAttribute("rel")===(a.rel==null?null:a.rel)&&o.getAttribute("title")===(a.title==null?null:a.title)&&o.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){m.splice(E,1);break t}}o=r.createElement(i),zt(o,i,a),r.head.appendChild(o);break;case"meta":if(m=vm("meta","content",r).get(i+(a.content||""))){for(E=0;E<m.length;E++)if(o=m[E],o.getAttribute("content")===(a.content==null?null:""+a.content)&&o.getAttribute("name")===(a.name==null?null:a.name)&&o.getAttribute("property")===(a.property==null?null:a.property)&&o.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&o.getAttribute("charset")===(a.charSet==null?null:a.charSet)){m.splice(E,1);break t}}o=r.createElement(i),zt(o,i,a),r.head.appendChild(o);break;default:throw Error(s(468,i))}o[fe]=e,et(o),i=o}e.stateNode=i}else gm(r,e.type,e.stateNode);else e.stateNode=pm(r,i,e.memoizedProps);else o!==i?(o===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):o.count--,i===null?gm(r,e.type,e.stateNode):pm(r,i,e.memoizedProps)):i===null&&e.stateNode!==null&&gh(e,e.memoizedProps,a.memoizedProps)}break;case 27:if(i&4&&e.alternate===null){r=e.stateNode,o=e.memoizedProps;try{for(var x=r.firstChild;x;){var D=x.nextSibling,G=x.nodeName;x[sn]||G==="HEAD"||G==="BODY"||G==="SCRIPT"||G==="STYLE"||G==="LINK"&&x.rel.toLowerCase()==="stylesheet"||r.removeChild(x),x=D}for(var $=e.type,L=r.attributes;L.length;)r.removeAttributeNode(L[0]);zt(r,$,o),r[fe]=e,r[ve]=o}catch(he){We(e,e.return,he)}}case 5:if(gn(t,e),En(e),i&512&&(ft||a===null||It(a,a.return)),e.flags&32){r=e.stateNode;try{_l(r,"")}catch(he){We(e,e.return,he)}}i&4&&e.stateNode!=null&&(r=e.memoizedProps,gh(e,r,a!==null?a.memoizedProps:r)),i&1024&&(ds=!0);break;case 6:if(gn(t,e),En(e),i&4){if(e.stateNode===null)throw Error(s(162));i=e.memoizedProps,a=e.stateNode;try{a.nodeValue=i}catch(he){We(e,e.return,he)}}break;case 3:if(vu=null,r=On,On=yu(t.containerInfo),gn(t,e),On=r,En(e),i&4&&a!==null&&a.memoizedState.isDehydrated)try{Ii(t.containerInfo)}catch(he){We(e,e.return,he)}ds&&(ds=!1,Ch(e));break;case 4:i=On,On=yu(e.stateNode.containerInfo),gn(t,e),En(e),On=i;break;case 12:gn(t,e),En(e);break;case 13:gn(t,e),En(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(xs=mt()),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,hs(e,i)));break;case 22:if(i&512&&(ft||a===null||It(a,a.return)),x=e.memoizedState!==null,D=a!==null&&a.memoizedState!==null,G=aa,$=ft,aa=G||x,ft=$||D,gn(t,e),ft=$,aa=G,En(e),t=e.stateNode,t._current=e,t._visibility&=-3,t._visibility|=t._pendingVisibility&2,i&8192&&(t._visibility=x?t._visibility&-2:t._visibility|1,x&&(t=aa||ft,a===null||D||t||Vl(e)),e.memoizedProps===null||e.memoizedProps.mode!=="manual"))e:for(a=null,t=e;;){if(t.tag===5||t.tag===26||t.tag===27){if(a===null){D=a=t;try{if(r=D.stateNode,x)o=r.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{m=D.stateNode,E=D.memoizedProps.style;var V=E!=null&&E.hasOwnProperty("display")?E.display:null;m.style.display=V==null||typeof V=="boolean"?"":(""+V).trim()}}catch(he){We(D,D.return,he)}}}else if(t.tag===6){if(a===null){D=t;try{D.stateNode.nodeValue=x?"":D.memoizedProps}catch(he){We(D,D.return,he)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}i&4&&(i=e.updateQueue,i!==null&&(a=i.retryQueue,a!==null&&(i.retryQueue=null,hs(e,a))));break;case 19:gn(t,e),En(e),i&4&&(i=e.updateQueue,i!==null&&(e.updateQueue=null,hs(e,i)));break;case 21:break;default:gn(t,e),En(e)}}function En(e){var t=e.flags;if(t&2){try{if(e.tag!==27){e:{for(var a=e.return;a!==null;){if(Eh(a)){var i=a;break e}a=a.return}throw Error(s(160))}switch(i.tag){case 27:var r=i.stateNode,o=os(e);eu(e,o,r);break;case 5:var m=i.stateNode;i.flags&32&&(_l(m,""),i.flags&=-33);var E=os(e);eu(e,E,m);break;case 3:case 4:var x=i.stateNode.containerInfo,D=os(e);fs(e,D,x);break;default:throw Error(s(161))}}}catch(G){We(e,e.return,G)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ch(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Ch(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ia(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)xh(e,t.alternate,t),t=t.sibling}function Vl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ta(4,t,t.return),Vl(t);break;case 1:It(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&ph(t,t.return,a),Vl(t);break;case 26:case 27:case 5:It(t,t.return),Vl(t);break;case 22:It(t,t.return),t.memoizedState===null&&Vl(t);break;default:Vl(t)}e=e.sibling}}function Na(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var i=t.alternate,r=e,o=t,m=o.flags;switch(o.tag){case 0:case 11:case 15:Na(r,o,a),Li(4,o);break;case 1:if(Na(r,o,a),i=o,r=i.stateNode,typeof r.componentDidMount=="function")try{r.componentDidMount()}catch(D){We(i,i.return,D)}if(i=o,r=i.updateQueue,r!==null){var E=i.stateNode;try{var x=r.shared.hiddenCallbacks;if(x!==null)for(r.shared.hiddenCallbacks=null,r=0;r<x.length;r++)hh(x[r],E)}catch(D){We(i,i.return,D)}}a&&m&64&&yh(o),ul(o,o.return);break;case 26:case 27:case 5:Na(r,o,a),a&&i===null&&m&4&&vh(o),ul(o,o.return);break;case 12:Na(r,o,a);break;case 13:Na(r,o,a),a&&m&4&&Th(r,o);break;case 22:o.memoizedState===null&&Na(r,o,a),ul(o,o.return);break;default:Na(r,o,a)}t=t.sibling}}function ms(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Ti(a))}function ys(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ti(e))}function Ca(e,t,a,i){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)jh(e,t,a,i),t=t.sibling}function jh(e,t,a,i){var r=t.flags;switch(t.tag){case 0:case 11:case 15:Ca(e,t,a,i),r&2048&&Li(9,t);break;case 3:Ca(e,t,a,i),r&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ti(e)));break;case 12:if(r&2048){Ca(e,t,a,i),e=t.stateNode;try{var o=t.memoizedProps,m=o.id,E=o.onPostCommit;typeof E=="function"&&E(m,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(x){We(t,t.return,x)}}else Ca(e,t,a,i);break;case 23:break;case 22:o=t.stateNode,t.memoizedState!==null?o._visibility&4?Ca(e,t,a,i):Ui(e,t):o._visibility&4?Ca(e,t,a,i):(o._visibility|=4,Yl(e,t,a,i,(t.subtreeFlags&10256)!==0)),r&2048&&ms(t.alternate,t);break;case 24:Ca(e,t,a,i),r&2048&&ys(t.alternate,t);break;default:Ca(e,t,a,i)}}function Yl(e,t,a,i,r){for(r=r&&(t.subtreeFlags&10256)!==0,t=t.child;t!==null;){var o=e,m=t,E=a,x=i,D=m.flags;switch(m.tag){case 0:case 11:case 15:Yl(o,m,E,x,r),Li(8,m);break;case 23:break;case 22:var G=m.stateNode;m.memoizedState!==null?G._visibility&4?Yl(o,m,E,x,r):Ui(o,m):(G._visibility|=4,Yl(o,m,E,x,r)),r&&D&2048&&ms(m.alternate,m);break;case 24:Yl(o,m,E,x,r),r&&D&2048&&ys(m.alternate,m);break;default:Yl(o,m,E,x,r)}t=t.sibling}}function Ui(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,i=t,r=i.flags;switch(i.tag){case 22:Ui(a,i),r&2048&&ms(i.alternate,i);break;case 24:Ui(a,i),r&2048&&ys(i.alternate,i);break;default:Ui(a,i)}t=t.sibling}}var Hi=8192;function Gl(e){if(e.subtreeFlags&Hi)for(e=e.child;e!==null;)Oh(e),e=e.sibling}function Oh(e){switch(e.tag){case 26:Gl(e),e.flags&Hi&&e.memoizedState!==null&&Ug(On,e.memoizedState,e.memoizedProps);break;case 5:Gl(e);break;case 3:case 4:var t=On;On=yu(e.stateNode.containerInfo),Gl(e),On=t;break;case 22:e.memoizedState===null&&(t=e.alternate,t!==null&&t.memoizedState!==null?(t=Hi,Hi=16777216,Gl(e),Hi=t):Gl(e));break;default:Gl(e)}}function Dh(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Bi(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var a=0;a<t.length;a++){var i=t[a];Ct=i,Ah(i,e)}Dh(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)wh(e),e=e.sibling}function wh(e){switch(e.tag){case 0:case 11:case 15:Bi(e),e.flags&2048&&Ta(9,e,e.return);break;case 3:Bi(e);break;case 12:Bi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&4&&(e.return===null||e.return.tag!==13)?(t._visibility&=-5,tu(e)):Bi(e);break;default:Bi(e)}}function tu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var a=0;a<t.length;a++){var i=t[a];Ct=i,Ah(i,e)}Dh(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ta(8,t,t.return),tu(t);break;case 22:a=t.stateNode,a._visibility&4&&(a._visibility&=-5,tu(t));break;default:tu(t)}e=e.sibling}}function Ah(e,t){for(;Ct!==null;){var a=Ct;switch(a.tag){case 0:case 11:case 15:Ta(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var i=a.memoizedState.cachePool.pool;i!=null&&i.refCount++}break;case 24:Ti(a.memoizedState.cache)}if(i=a.child,i!==null)i.return=a,Ct=i;else e:for(a=e;Ct!==null;){i=Ct;var r=i.sibling,o=i.return;if(_h(i),i===a){Ct=null;break e}if(r!==null){r.return=o,Ct=r;break e}Ct=o}}}function Fv(e,t,a,i){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function bn(e,t,a,i){return new Fv(e,t,a,i)}function ps(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ja(e,t){var a=e.alternate;return a===null?(a=bn(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&31457280,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Mh(e,t){e.flags&=31457282;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function nu(e,t,a,i,r,o){var m=0;if(i=e,typeof e=="function")ps(e)&&(m=1);else if(typeof e=="string")m=zg(e,a,Ze.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case v:return cl(a.children,r,o,t);case p:m=8,r|=24;break;case b:return e=bn(12,a,t,r|2),e.elementType=b,e.lanes=o,e;case H:return e=bn(13,a,t,r),e.elementType=H,e.lanes=o,e;case U:return e=bn(19,a,t,r),e.elementType=U,e.lanes=o,e;case Y:return zh(a,r,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case R:case _:m=10;break e;case S:m=9;break e;case O:m=11;break e;case M:m=14;break e;case q:m=16,i=null;break e}m=29,a=Error(s(130,e===null?"null":typeof e,"")),i=null}return t=bn(m,a,t,r),t.elementType=e,t.type=i,t.lanes=o,t}function cl(e,t,a,i){return e=bn(7,e,i,t),e.lanes=a,e}function zh(e,t,a,i){e=bn(22,e,i,t),e.elementType=Y,e.lanes=a;var r={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var o=r._current;if(o===null)throw Error(s(456));if(!(r._pendingVisibility&2)){var m=pa(o,2);m!==null&&(r._pendingVisibility|=2,Xt(m,o,2))}},attach:function(){var o=r._current;if(o===null)throw Error(s(456));if(r._pendingVisibility&2){var m=pa(o,2);m!==null&&(r._pendingVisibility&=-3,Xt(m,o,2))}}};return e.stateNode=r,e}function vs(e,t,a){return e=bn(6,e,null,t),e.lanes=a,e}function gs(e,t,a){return t=bn(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ra(e){e.flags|=4}function Lh(e,t){if(t.type!=="stylesheet"||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Em(t)){if(t=vn.current,t!==null&&((Ve&4194176)===Ve?Hn!==null:(Ve&62914560)!==Ve&&!(Ve&536870912)||t!==Hn))throw xi=_c,Wf;e.flags|=8192}}function au(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?C():536870912,e.lanes|=t,Xl|=t)}function qi(e,t){if(!Ge)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function ct(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,i=0;if(t)for(var r=e.child;r!==null;)a|=r.lanes|r.childLanes,i|=r.subtreeFlags&31457280,i|=r.flags&31457280,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)a|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=a,t}function Jv(e,t,a){var i=t.pendingProps;switch(Sc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ct(t),null;case 1:return ct(t),null;case 3:return a=t.stateNode,i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),na(_t),Rt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(gi(t)?ra(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,jn!==null&&(Ns(jn),jn=null))),ct(t),null;case 26:return a=t.memoizedState,e===null?(ra(t),a!==null?(ct(t),Lh(t,a)):(ct(t),t.flags&=-16777217)):a?a!==e.memoizedState?(ra(t),ct(t),Lh(t,a)):(ct(t),t.flags&=-16777217):(e.memoizedProps!==i&&ra(t),ct(t),t.flags&=-16777217),null;case 27:Pt(t),a=it.current;var r=t.type;if(e!==null&&t.stateNode!=null)e.memoizedProps!==i&&ra(t);else{if(!i){if(t.stateNode===null)throw Error(s(166));return ct(t),null}e=Ze.current,gi(t)?Jf(t):(e=fm(r,i,a),t.stateNode=e,ra(t))}return ct(t),null;case 5:if(Pt(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==i&&ra(t);else{if(!i){if(t.stateNode===null)throw Error(s(166));return ct(t),null}if(e=Ze.current,gi(t))Jf(t);else{switch(r=mu(it.current),e){case 1:e=r.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:e=r.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":e=r.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":e=r.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":e=r.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild);break;case"select":e=typeof i.is=="string"?r.createElement("select",{is:i.is}):r.createElement("select"),i.multiple?e.multiple=!0:i.size&&(e.size=i.size);break;default:e=typeof i.is=="string"?r.createElement(a,{is:i.is}):r.createElement(a)}}e[fe]=t,e[ve]=i;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=e;e:switch(zt(e,a,i),a){case"button":case"input":case"select":case"textarea":e=!!i.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&ra(t)}}return ct(t),t.flags&=-16777217,null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&ra(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(s(166));if(e=it.current,gi(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,r=kt,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[fe]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||im(e.nodeValue,a)),e||Wa(t)}else e=mu(e).createTextNode(i),e[fe]=t,t.stateNode=e}return ct(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=gi(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(s(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(s(317));r[fe]=t}else Ei(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ct(t),r=!1}else jn!==null&&(Ns(jn),jn=null),r=!0;if(!r)return t.flags&256?(Wn(t),t):(Wn(t),null)}if(Wn(t),t.flags&128)return t.lanes=a,t;if(a=i!==null,e=e!==null&&e.memoizedState!==null,a){i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool);var o=null;i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==r&&(i.flags|=2048)}return a!==e&&a&&(t.child.flags|=8192),au(t,t.updateQueue),ct(t),null;case 4:return Rt(),e===null&&Hs(t.stateNode.containerInfo),ct(t),null;case 10:return na(t.type),ct(t),null;case 19:if(Le(xt),r=t.memoizedState,r===null)return ct(t),null;if(i=(t.flags&128)!==0,o=r.rendering,o===null)if(i)qi(r,!1);else{if(dt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vr(e),o!==null){for(t.flags|=128,qi(r,!1),e=o.updateQueue,t.updateQueue=e,au(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Mh(a,e),a=a.sibling;return Ee(xt,xt.current&1|2),t.child}e=e.sibling}r.tail!==null&&mt()>lu&&(t.flags|=128,i=!0,qi(r,!1),t.lanes=4194304)}else{if(!i)if(e=Vr(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,au(t,e),qi(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!Ge)return ct(t),null}else 2*mt()-r.renderingStartTime>lu&&a!==536870912&&(t.flags|=128,i=!0,qi(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e!==null?e.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=mt(),t.sibling=null,e=xt.current,Ee(xt,i?e&1|2:e&1),t):(ct(t),null);case 22:case 23:return Wn(t),Tc(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?a&536870912&&!(t.flags&128)&&(ct(t),t.subtreeFlags&6&&(t.flags|=8192)):ct(t),a=t.updateQueue,a!==null&&au(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&Le(el),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),na(_t),ct(t),null;case 25:return null}throw Error(s(156,t.tag))}function Pv(e,t){switch(Sc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return na(_t),Rt(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Pt(t),null;case 13:if(Wn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Ei()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Le(xt),null;case 4:return Rt(),null;case 10:return na(t.type),null;case 22:case 23:return Wn(t),Tc(),e!==null&&Le(el),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return na(_t),null;case 25:return null;default:return null}}function Uh(e,t){switch(Sc(t),t.tag){case 3:na(_t),Rt();break;case 26:case 27:case 5:Pt(t);break;case 4:Rt();break;case 13:Wn(t);break;case 19:Le(xt);break;case 10:na(t.type);break;case 22:case 23:Wn(t),Tc(),e!==null&&Le(el);break;case 24:na(_t)}}var Wv={getCacheForType:function(e){var t=qt(_t),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a}},Iv=typeof WeakMap=="function"?WeakMap:Map,st=0,tt=null,Me=null,Ve=0,nt=0,tn=null,ua=!1,kl=!1,Es=!1,ca=0,dt=0,Oa=0,sl=0,bs=0,Sn=0,Xl=0,Vi=null,qn=null,Ss=!1,xs=0,lu=1/0,iu=null,Da=null,ru=!1,ol=null,Yi=0,_s=0,Rs=null,Gi=0,Ts=null;function nn(){if(st&2&&Ve!==0)return Ve&-Ve;if(X.T!==null){var e=Ll;return e!==0?e:Ms()}return re()}function Hh(){Sn===0&&(Sn=!(Ve&536870912)||Ge?Er():536870912);var e=vn.current;return e!==null&&(e.flags|=32),Sn}function Xt(e,t,a){(e===tt&&nt===2||e.cancelPendingCommit!==null)&&(Ql(e,0),sa(e,Ve,Sn,!1)),B(e,a),(!(st&2)||e!==tt)&&(e===tt&&(!(st&2)&&(sl|=a),dt===4&&sa(e,Ve,Sn,!1)),Vn(e))}function Bh(e,t,a){if(st&6)throw Error(s(327));var i=!a&&(t&60)===0&&(t&e.expiredLanes)===0||Ln(e,t),r=i?ng(e,t):Os(e,t,!0),o=i;do{if(r===0){kl&&!i&&sa(e,t,0,!1);break}else if(r===6)sa(e,t,0,!ua);else{if(a=e.current.alternate,o&&!eg(a)){r=Os(e,t,!1),o=!1;continue}if(r===2){if(o=t,e.errorRecoveryDisabledLanes&o)var m=0;else m=e.pendingLanes&-536870913,m=m!==0?m:m&536870912?536870912:0;if(m!==0){t=m;e:{var E=e;r=Vi;var x=E.current.memoizedState.isDehydrated;if(x&&(Ql(E,m).flags|=256),m=Os(E,m,!1),m!==2){if(Es&&!x){E.errorRecoveryDisabledLanes|=o,sl|=o,r=4;break e}o=qn,qn=r,o!==null&&Ns(o)}r=m}if(o=!1,r!==2)continue}}if(r===1){Ql(e,0),sa(e,t,0,!0);break}e:{switch(i=e,r){case 0:case 1:throw Error(s(345));case 4:if((t&4194176)===t){sa(i,t,Sn,!ua);break e}break;case 2:qn=null;break;case 3:case 5:break;default:throw Error(s(329))}if(i.finishedWork=a,i.finishedLanes=t,(t&62914560)===t&&(o=xs+300-mt(),10<o)){if(sa(i,t,Sn,!ua),Qn(i,0)!==0)break e;i.timeoutHandle=cm(qh.bind(null,i,a,qn,iu,Ss,t,Sn,sl,Xl,ua,2,-0,0),o);break e}qh(i,a,qn,iu,Ss,t,Sn,sl,Xl,ua,0,-0,0)}}break}while(!0);Vn(e)}function Ns(e){qn===null?qn=e:qn.push.apply(qn,e)}function qh(e,t,a,i,r,o,m,E,x,D,G,$,L){var V=t.subtreeFlags;if((V&8192||(V&16785408)===16785408)&&($i={stylesheets:null,count:0,unsuspend:Lg},Oh(t),t=Hg(),t!==null)){e.cancelPendingCommit=t(Zh.bind(null,e,a,i,r,m,E,x,1,$,L)),sa(e,o,m,!D);return}Zh(e,a,i,r,m,E,x,G,$,L)}function eg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var i=0;i<a.length;i++){var r=a[i],o=r.getSnapshot;r=r.value;try{if(!Wt(o(),r))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function sa(e,t,a,i){t&=~bs,t&=~sl,e.suspendedLanes|=t,e.pingedLanes&=~t,i&&(e.warmLanes|=t),i=e.expirationTimes;for(var r=t;0<r;){var o=31-Tt(r),m=1<<o;i[o]=-1,r&=~m}a!==0&&ae(e,a,t)}function uu(){return st&6?!0:(ki(0),!1)}function Cs(){if(Me!==null){if(nt===0)var e=Me.return;else e=Me,ta=il=null,Mc(e),Ml=null,_i=0,e=Me;for(;e!==null;)Uh(e.alternate,e),e=e.return;Me=null}}function Ql(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Eg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Cs(),tt=e,Me=a=ja(e.current,null),Ve=t,nt=0,tn=null,ua=!1,kl=Ln(e,t),Es=!1,Xl=Sn=bs=sl=Oa=dt=0,qn=Vi=null,Ss=!1,t&8&&(t|=t&32);var i=e.entangledLanes;if(i!==0)for(e=e.entanglements,i&=t;0<i;){var r=31-Tt(i),o=1<<r;t|=e[r],i&=~o}return ca=t,wr(),a}function Vh(e,t){Oe=null,X.H=Bn,t===Si?(t=td(),nt=3):t===Wf?(t=td(),nt=4):nt=t===Id?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,tn=t,Me===null&&(dt=1,Pr(e,mn(t,e.current)))}function Yh(){var e=X.H;return X.H=Bn,e===null?Bn:e}function Gh(){var e=X.A;return X.A=Wv,e}function js(){dt=4,ua||(Ve&4194176)!==Ve&&vn.current!==null||(kl=!0),!(Oa&134217727)&&!(sl&134217727)||tt===null||sa(tt,Ve,Sn,!1)}function Os(e,t,a){var i=st;st|=2;var r=Yh(),o=Gh();(tt!==e||Ve!==t)&&(iu=null,Ql(e,t)),t=!1;var m=dt;e:do try{if(nt!==0&&Me!==null){var E=Me,x=tn;switch(nt){case 8:Cs(),m=6;break e;case 3:case 2:case 6:vn.current===null&&(t=!0);var D=nt;if(nt=0,tn=null,Zl(e,E,x,D),a&&kl){m=0;break e}break;default:D=nt,nt=0,tn=null,Zl(e,E,x,D)}}tg(),m=dt;break}catch(G){Vh(e,G)}while(!0);return t&&e.shellSuspendCounter++,ta=il=null,st=i,X.H=r,X.A=o,Me===null&&(tt=null,Ve=0,wr()),m}function tg(){for(;Me!==null;)kh(Me)}function ng(e,t){var a=st;st|=2;var i=Yh(),r=Gh();tt!==e||Ve!==t?(iu=null,lu=mt()+500,Ql(e,t)):kl=Ln(e,t);e:do try{if(nt!==0&&Me!==null){t=Me;var o=tn;t:switch(nt){case 1:nt=0,tn=null,Zl(e,t,o,1);break;case 2:if(If(o)){nt=0,tn=null,Xh(t);break}t=function(){nt===2&&tt===e&&(nt=7),Vn(e)},o.then(t,t);break e;case 3:nt=7;break e;case 4:nt=5;break e;case 7:If(o)?(nt=0,tn=null,Xh(t)):(nt=0,tn=null,Zl(e,t,o,7));break;case 5:var m=null;switch(Me.tag){case 26:m=Me.memoizedState;case 5:case 27:var E=Me;if(!m||Em(m)){nt=0,tn=null;var x=E.sibling;if(x!==null)Me=x;else{var D=E.return;D!==null?(Me=D,cu(D)):Me=null}break t}}nt=0,tn=null,Zl(e,t,o,5);break;case 6:nt=0,tn=null,Zl(e,t,o,6);break;case 8:Cs(),dt=6;break e;default:throw Error(s(462))}}ag();break}catch(G){Vh(e,G)}while(!0);return ta=il=null,X.H=i,X.A=r,st=a,Me!==null?0:(tt=null,Ve=0,wr(),dt)}function ag(){for(;Me!==null&&!Ut();)kh(Me)}function kh(e){var t=fh(e.alternate,e,ca);e.memoizedProps=e.pendingProps,t===null?cu(e):Me=t}function Xh(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=ih(a,t,t.pendingProps,t.type,void 0,Ve);break;case 11:t=ih(a,t,t.pendingProps,t.type.render,t.ref,Ve);break;case 5:Mc(t);default:Uh(a,t),t=Me=Mh(t,ca),t=fh(a,t,ca)}e.memoizedProps=e.pendingProps,t===null?cu(e):Me=t}function Zl(e,t,a,i){ta=il=null,Mc(t),Ml=null,_i=0;var r=t.return;try{if(Qv(e,r,t,a,Ve)){dt=1,Pr(e,mn(a,e.current)),Me=null;return}}catch(o){if(r!==null)throw Me=r,o;dt=1,Pr(e,mn(a,e.current)),Me=null;return}t.flags&32768?(Ge||i===1?e=!0:kl||Ve&536870912?e=!1:(ua=e=!0,(i===2||i===3||i===6)&&(i=vn.current,i!==null&&i.tag===13&&(i.flags|=16384))),Qh(t,e)):cu(t)}function cu(e){var t=e;do{if(t.flags&32768){Qh(t,ua);return}e=t.return;var a=Jv(t.alternate,t,ca);if(a!==null){Me=a;return}if(t=t.sibling,t!==null){Me=t;return}Me=t=e}while(t!==null);dt===0&&(dt=5)}function Qh(e,t){do{var a=Pv(e.alternate,e);if(a!==null){a.flags&=32767,Me=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){Me=e;return}Me=e=a}while(e!==null);dt=6,Me=null}function Zh(e,t,a,i,r,o,m,E,x,D){var G=X.T,$=P.p;try{P.p=2,X.T=null,lg(e,t,a,i,$,r,o,m,E,x,D)}finally{X.T=G,P.p=$}}function lg(e,t,a,i,r,o,m,E){do Kl();while(ol!==null);if(st&6)throw Error(s(327));var x=e.finishedWork;if(i=e.finishedLanes,x===null)return null;if(e.finishedWork=null,e.finishedLanes=0,x===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var D=x.lanes|x.childLanes;if(D|=gc,F(e,i,D,o,m,E),e===tt&&(Me=tt=null,Ve=0),!(x.subtreeFlags&10256)&&!(x.flags&10256)||ru||(ru=!0,_s=D,Rs=a,cg(Gt,function(){return Kl(),null})),a=(x.flags&15990)!==0,x.subtreeFlags&15990||a?(a=X.T,X.T=null,o=P.p,P.p=2,m=st,st|=4,Kv(e,x),Nh(x,e),jv(Ys,e.containerInfo),bu=!!Vs,Ys=Vs=null,e.current=x,xh(e,x.alternate,x),Ht(),st=m,P.p=o,X.T=a):e.current=x,ru?(ru=!1,ol=e,Yi=i):Kh(e,D),D=e.pendingLanes,D===0&&(Da=null),Ju(x.stateNode),Vn(e),t!==null)for(r=e.onRecoverableError,x=0;x<t.length;x++)D=t[x],r(D.value,{componentStack:D.stack});return Yi&3&&Kl(),D=e.pendingLanes,i&4194218&&D&42?e===Ts?Gi++:(Gi=0,Ts=e):Gi=0,ki(0),null}function Kh(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ti(t)))}function Kl(){if(ol!==null){var e=ol,t=_s;_s=0;var a=xe(Yi),i=X.T,r=P.p;try{if(P.p=32>a?32:a,X.T=null,ol===null)var o=!1;else{a=Rs,Rs=null;var m=ol,E=Yi;if(ol=null,Yi=0,st&6)throw Error(s(331));var x=st;if(st|=4,wh(m.current),jh(m,m.current,E,a),st=x,ki(0,!1),Bt&&typeof Bt.onPostCommitFiberRoot=="function")try{Bt.onPostCommitFiberRoot(ma,m)}catch{}o=!0}return o}finally{P.p=r,X.T=i,Kh(e,t)}}return!1}function $h(e,t,a){t=mn(a,t),t=Kc(e.stateNode,t,2),e=Ra(e,t,2),e!==null&&(B(e,2),Vn(e))}function We(e,t,a){if(e.tag===3)$h(e,e,a);else for(;t!==null;){if(t.tag===3){$h(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Da===null||!Da.has(i))){e=mn(a,e),a=Pd(2),i=Ra(t,a,2),i!==null&&(Wd(a,i,t,e),B(i,2),Vn(i));break}}t=t.return}}function Ds(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new Iv;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(a)||(Es=!0,r.add(a),e=ig.bind(null,e,t,a),t.then(e,e))}function ig(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,tt===e&&(Ve&a)===a&&(dt===4||dt===3&&(Ve&62914560)===Ve&&300>mt()-xs?!(st&2)&&Ql(e,0):bs|=a,Xl===Ve&&(Xl=0)),Vn(e)}function Fh(e,t){t===0&&(t=C()),e=pa(e,t),e!==null&&(B(e,t),Vn(e))}function rg(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Fh(e,a)}function ug(e,t){var a=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(a=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(s(314))}i!==null&&i.delete(t),Fh(e,a)}function cg(e,t){return un(e,t)}var su=null,$l=null,ws=!1,ou=!1,As=!1,fl=0;function Vn(e){e!==$l&&e.next===null&&($l===null?su=$l=e:$l=$l.next=e),ou=!0,ws||(ws=!0,og(sg))}function ki(e,t){if(!As&&ou){As=!0;do for(var a=!1,i=su;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var o=0;else{var m=i.suspendedLanes,E=i.pingedLanes;o=(1<<31-Tt(42|e)+1)-1,o&=r&~(m&~E),o=o&201326677?o&201326677|1:o?o|2:0}o!==0&&(a=!0,Wh(i,o))}else o=Ve,o=Qn(i,i===tt?o:0),!(o&3)||Ln(i,o)||(a=!0,Wh(i,o));i=i.next}while(a);As=!1}}function sg(){ou=ws=!1;var e=0;fl!==0&&(gg()&&(e=fl),fl=0);for(var t=mt(),a=null,i=su;i!==null;){var r=i.next,o=Jh(i,t);o===0?(i.next=null,a===null?su=r:a.next=r,r===null&&($l=a)):(a=i,(e!==0||o&3)&&(ou=!0)),i=r}ki(e)}function Jh(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes&-62914561;0<o;){var m=31-Tt(o),E=1<<m,x=r[m];x===-1?(!(E&a)||E&i)&&(r[m]=Wu(E,t)):x<=t&&(e.expiredLanes|=E),o&=~E}if(t=tt,a=Ve,a=Qn(e,e===t?a:0),i=e.callbackNode,a===0||e===t&&nt===2||e.cancelPendingCommit!==null)return i!==null&&i!==null&&cn(i),e.callbackNode=null,e.callbackPriority=0;if(!(a&3)||Ln(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(i!==null&&cn(i),xe(a)){case 2:case 8:a=Ie;break;case 32:a=Gt;break;case 268435456:a=pr;break;default:a=Gt}return i=Ph.bind(null,e),a=un(a,i),e.callbackPriority=t,e.callbackNode=a,t}return i!==null&&i!==null&&cn(i),e.callbackPriority=2,e.callbackNode=null,2}function Ph(e,t){var a=e.callbackNode;if(Kl()&&e.callbackNode!==a)return null;var i=Ve;return i=Qn(e,e===tt?i:0),i===0?null:(Bh(e,i,t),Jh(e,mt()),e.callbackNode!=null&&e.callbackNode===a?Ph.bind(null,e):null)}function Wh(e,t){if(Kl())return null;Bh(e,t,!0)}function og(e){bg(function(){st&6?un(_e,e):e()})}function Ms(){return fl===0&&(fl=Er()),fl}function Ih(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Rr(""+e)}function em(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function fg(e,t,a,i,r){if(t==="submit"&&a&&a.stateNode===r){var o=Ih((r[ve]||null).action),m=i.submitter;m&&(t=(t=m[ve]||null)?Ih(t.formAction):m.getAttribute("formAction"),t!==null&&(o=t,m=null));var E=new jr("action","action",null,i,r);e.push({event:E,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(fl!==0){var x=m?em(r,m):new FormData(r);Gc(a,{pending:!0,data:x,method:r.method,action:o},null,x)}}else typeof o=="function"&&(E.preventDefault(),x=m?em(r,m):new FormData(r),Gc(a,{pending:!0,data:x,method:r.method,action:o},o,x))},currentTarget:r}]})}}for(var zs=0;zs<Zf.length;zs++){var Ls=Zf[zs],dg=Ls.toLowerCase(),hg=Ls[0].toUpperCase()+Ls.slice(1);Cn(dg,"on"+hg)}Cn(Yf,"onAnimationEnd"),Cn(Gf,"onAnimationIteration"),Cn(kf,"onAnimationStart"),Cn("dblclick","onDoubleClick"),Cn("focusin","onFocus"),Cn("focusout","onBlur"),Cn(Dv,"onTransitionRun"),Cn(wv,"onTransitionStart"),Cn(Av,"onTransitionCancel"),Cn(Xf,"onTransitionEnd"),rt("onMouseEnter",["mouseout","mouseover"]),rt("onMouseLeave",["mouseout","mouseover"]),rt("onPointerEnter",["pointerout","pointerover"]),rt("onPointerLeave",["pointerout","pointerover"]),qe("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),qe("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),qe("onBeforeInput",["compositionend","keypress","textInput","paste"]),qe("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),qe("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),qe("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Xi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),mg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Xi));function tm(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var i=e[a],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var m=i.length-1;0<=m;m--){var E=i[m],x=E.instance,D=E.currentTarget;if(E=E.listener,x!==o&&r.isPropagationStopped())break e;o=E,r.currentTarget=D;try{o(r)}catch(G){Jr(G)}r.currentTarget=null,o=x}else for(m=0;m<i.length;m++){if(E=i[m],x=E.instance,D=E.currentTarget,E=E.listener,x!==o&&r.isPropagationStopped())break e;o=E,r.currentTarget=D;try{o(r)}catch(G){Jr(G)}r.currentTarget=null,o=x}}}}function Ue(e,t){var a=t[yt];a===void 0&&(a=t[yt]=new Set);var i=e+"__bubble";a.has(i)||(nm(t,e,2,!1),a.add(i))}function Us(e,t,a){var i=0;t&&(i|=4),nm(a,e,i,t)}var fu="_reactListening"+Math.random().toString(36).slice(2);function Hs(e){if(!e[fu]){e[fu]=!0,Xa.forEach(function(a){a!=="selectionchange"&&(mg.has(a)||Us(a,!1,e),Us(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[fu]||(t[fu]=!0,Us("selectionchange",!1,t))}}function nm(e,t,a,i){switch(Tm(t)){case 2:var r=Vg;break;case 8:r=Yg;break;default:r=Js}a=r.bind(null,t,a,e),r=void 0,!ic||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),i?r!==void 0?e.addEventListener(t,a,{capture:!0,passive:r}):e.addEventListener(t,a,!0):r!==void 0?e.addEventListener(t,a,{passive:r}):e.addEventListener(t,a,!1)}function Bs(e,t,a,i,r){var o=i;if(!(t&1)&&!(t&2)&&i!==null)e:for(;;){if(i===null)return;var m=i.tag;if(m===3||m===4){var E=i.stateNode.containerInfo;if(E===r||E.nodeType===8&&E.parentNode===r)break;if(m===4)for(m=i.return;m!==null;){var x=m.tag;if((x===3||x===4)&&(x=m.stateNode.containerInfo,x===r||x.nodeType===8&&x.parentNode===r))return;m=m.return}for(;E!==null;){if(m=Dt(E),m===null)return;if(x=m.tag,x===5||x===6||x===26||x===27){i=o=m;continue e}E=E.parentNode}}i=i.return}vf(function(){var D=o,G=ac(a),$=[];e:{var L=Qf.get(e);if(L!==void 0){var V=jr,he=e;switch(e){case"keypress":if(Nr(a)===0)break e;case"keydown":case"keyup":V=uv;break;case"focusin":he="focus",V=sc;break;case"focusout":he="blur",V=sc;break;case"beforeblur":case"afterblur":V=sc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":V=bf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":V=Fp;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":V=ov;break;case Yf:case Gf:case kf:V=Wp;break;case Xf:V=dv;break;case"scroll":case"scrollend":V=Kp;break;case"wheel":V=mv;break;case"copy":case"cut":case"paste":V=ev;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":V=xf;break;case"toggle":case"beforetoggle":V=pv}var Te=(t&4)!==0,ht=!Te&&(e==="scroll"||e==="scrollend"),w=Te?L!==null?L+"Capture":null:L;Te=[];for(var j=D,z;j!==null;){var Z=j;if(z=Z.stateNode,Z=Z.tag,Z!==5&&Z!==26&&Z!==27||z===null||w===null||(Z=si(j,w),Z!=null&&Te.push(Qi(j,Z,z))),ht)break;j=j.return}0<Te.length&&(L=new V(L,he,null,a,G),$.push({event:L,listeners:Te}))}}if(!(t&7)){e:{if(L=e==="mouseover"||e==="pointerover",V=e==="mouseout"||e==="pointerout",L&&a!==nc&&(he=a.relatedTarget||a.fromElement)&&(Dt(he)||he[Xe]))break e;if((V||L)&&(L=G.window===G?G:(L=G.ownerDocument)?L.defaultView||L.parentWindow:window,V?(he=a.relatedTarget||a.toElement,V=D,he=he?Dt(he):null,he!==null&&(ht=ne(he),Te=he.tag,he!==ht||Te!==5&&Te!==27&&Te!==6)&&(he=null)):(V=null,he=D),V!==he)){if(Te=bf,Z="onMouseLeave",w="onMouseEnter",j="mouse",(e==="pointerout"||e==="pointerover")&&(Te=xf,Z="onPointerLeave",w="onPointerEnter",j="pointer"),ht=V==null?L:Kn(V),z=he==null?L:Kn(he),L=new Te(Z,j+"leave",V,a,G),L.target=ht,L.relatedTarget=z,Z=null,Dt(G)===D&&(Te=new Te(w,j+"enter",he,a,G),Te.target=z,Te.relatedTarget=ht,Z=Te),ht=Z,V&&he)t:{for(Te=V,w=he,j=0,z=Te;z;z=Fl(z))j++;for(z=0,Z=w;Z;Z=Fl(Z))z++;for(;0<j-z;)Te=Fl(Te),j--;for(;0<z-j;)w=Fl(w),z--;for(;j--;){if(Te===w||w!==null&&Te===w.alternate)break t;Te=Fl(Te),w=Fl(w)}Te=null}else Te=null;V!==null&&am($,L,V,Te,!1),he!==null&&ht!==null&&am($,ht,he,Te,!0)}}e:{if(L=D?Kn(D):window,V=L.nodeName&&L.nodeName.toLowerCase(),V==="select"||V==="input"&&L.type==="file")var ue=Df;else if(jf(L))if(wf)ue=Nv;else{ue=Rv;var we=_v}else V=L.nodeName,!V||V.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?D&&tc(D.elementType)&&(ue=Df):ue=Tv;if(ue&&(ue=ue(e,D))){Of($,ue,a,G);break e}we&&we(e,L,D),e==="focusout"&&D&&L.type==="number"&&D.memoizedProps.value!=null&&ec(L,"number",L.value)}switch(we=D?Kn(D):window,e){case"focusin":(jf(we)||we.contentEditable==="true")&&(Cl=we,yc=D,vi=null);break;case"focusout":vi=yc=Cl=null;break;case"mousedown":pc=!0;break;case"contextmenu":case"mouseup":case"dragend":pc=!1,qf($,a,G);break;case"selectionchange":if(Ov)break;case"keydown":case"keyup":qf($,a,G)}var pe;if(fc)e:{switch(e){case"compositionstart":var Se="onCompositionStart";break e;case"compositionend":Se="onCompositionEnd";break e;case"compositionupdate":Se="onCompositionUpdate";break e}Se=void 0}else Nl?Nf(e,a)&&(Se="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Se="onCompositionStart");Se&&(_f&&a.locale!=="ko"&&(Nl||Se!=="onCompositionStart"?Se==="onCompositionEnd"&&Nl&&(pe=gf()):(ya=G,rc="value"in ya?ya.value:ya.textContent,Nl=!0)),we=du(D,Se),0<we.length&&(Se=new Sf(Se,e,null,a,G),$.push({event:Se,listeners:we}),pe?Se.data=pe:(pe=Cf(a),pe!==null&&(Se.data=pe)))),(pe=gv?Ev(e,a):bv(e,a))&&(Se=du(D,"onBeforeInput"),0<Se.length&&(we=new Sf("onBeforeInput","beforeinput",null,a,G),$.push({event:we,listeners:Se}),we.data=pe)),fg($,e,D,a,G)}tm($,t)})}function Qi(e,t,a){return{instance:e,listener:t,currentTarget:a}}function du(e,t){for(var a=t+"Capture",i=[];e!==null;){var r=e,o=r.stateNode;r=r.tag,r!==5&&r!==26&&r!==27||o===null||(r=si(e,a),r!=null&&i.unshift(Qi(e,r,o)),r=si(e,t),r!=null&&i.push(Qi(e,r,o))),e=e.return}return i}function Fl(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function am(e,t,a,i,r){for(var o=t._reactName,m=[];a!==null&&a!==i;){var E=a,x=E.alternate,D=E.stateNode;if(E=E.tag,x!==null&&x===i)break;E!==5&&E!==26&&E!==27||D===null||(x=D,r?(D=si(a,o),D!=null&&m.unshift(Qi(a,D,x))):r||(D=si(a,o),D!=null&&m.push(Qi(a,D,x)))),a=a.return}m.length!==0&&e.push({event:t,listeners:m})}var yg=/\r\n?/g,pg=/\u0000|\uFFFD/g;function lm(e){return(typeof e=="string"?e:""+e).replace(yg,` +`).replace(pg,"")}function im(e,t){return t=lm(t),lm(e)===t}function hu(){}function Fe(e,t,a,i,r,o){switch(a){case"children":typeof i=="string"?t==="body"||t==="textarea"&&i===""||_l(e,i):(typeof i=="number"||typeof i=="bigint")&&t!=="body"&&_l(e,""+i);break;case"className":Sr(e,"class",i);break;case"tabIndex":Sr(e,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":Sr(e,a,i);break;case"style":yf(e,i,o);break;case"data":if(t!=="object"){Sr(e,"data",i);break}case"src":case"href":if(i===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(i==null||typeof i=="function"||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(a);break}i=Rr(""+i),e.setAttribute(a,i);break;case"action":case"formAction":if(typeof i=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof o=="function"&&(a==="formAction"?(t!=="input"&&Fe(e,t,"name",r.name,r,null),Fe(e,t,"formEncType",r.formEncType,r,null),Fe(e,t,"formMethod",r.formMethod,r,null),Fe(e,t,"formTarget",r.formTarget,r,null)):(Fe(e,t,"encType",r.encType,r,null),Fe(e,t,"method",r.method,r,null),Fe(e,t,"target",r.target,r,null)));if(i==null||typeof i=="symbol"||typeof i=="boolean"){e.removeAttribute(a);break}i=Rr(""+i),e.setAttribute(a,i);break;case"onClick":i!=null&&(e.onclick=hu);break;case"onScroll":i!=null&&Ue("scroll",e);break;case"onScrollEnd":i!=null&&Ue("scrollend",e);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(s(61));if(a=i.__html,a!=null){if(r.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"multiple":e.multiple=i&&typeof i!="function"&&typeof i!="symbol";break;case"muted":e.muted=i&&typeof i!="function"&&typeof i!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(i==null||typeof i=="function"||typeof i=="boolean"||typeof i=="symbol"){e.removeAttribute("xlink:href");break}a=Rr(""+i),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(a,""+i):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":i===!0?e.setAttribute(a,""):i!==!1&&i!=null&&typeof i!="function"&&typeof i!="symbol"?e.setAttribute(a,i):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":i!=null&&typeof i!="function"&&typeof i!="symbol"&&!isNaN(i)&&1<=i?e.setAttribute(a,i):e.removeAttribute(a);break;case"rowSpan":case"start":i==null||typeof i=="function"||typeof i=="symbol"||isNaN(i)?e.removeAttribute(a):e.setAttribute(a,i);break;case"popover":Ue("beforetoggle",e),Ue("toggle",e),Sl(e,"popover",i);break;case"xlinkActuate":Fn(e,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":Fn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":Fn(e,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":Fn(e,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":Fn(e,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":Fn(e,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":Fn(e,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":Fn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":Fn(e,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":Sl(e,"is",i);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Qp.get(a)||a,Sl(e,a,i))}}function qs(e,t,a,i,r,o){switch(a){case"style":yf(e,i,o);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(s(61));if(a=i.__html,a!=null){if(r.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"children":typeof i=="string"?_l(e,i):(typeof i=="number"||typeof i=="bigint")&&_l(e,""+i);break;case"onScroll":i!=null&&Ue("scroll",e);break;case"onScrollEnd":i!=null&&Ue("scrollend",e);break;case"onClick":i!=null&&(e.onclick=hu);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Qa.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(r=a.endsWith("Capture"),t=a.slice(2,r?a.length-7:void 0),o=e[ve]||null,o=o!=null?o[a]:null,typeof o=="function"&&e.removeEventListener(t,o,r),typeof i=="function")){typeof o!="function"&&o!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,i,r);break e}a in e?e[a]=i:i===!0?e.setAttribute(a,""):Sl(e,a,i)}}}function zt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ue("error",e),Ue("load",e);var i=!1,r=!1,o;for(o in a)if(a.hasOwnProperty(o)){var m=a[o];if(m!=null)switch(o){case"src":i=!0;break;case"srcSet":r=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:Fe(e,t,o,m,a,null)}}r&&Fe(e,t,"srcSet",a.srcSet,a,null),i&&Fe(e,t,"src",a.src,a,null);return;case"input":Ue("invalid",e);var E=o=m=r=null,x=null,D=null;for(i in a)if(a.hasOwnProperty(i)){var G=a[i];if(G!=null)switch(i){case"name":r=G;break;case"type":m=G;break;case"checked":x=G;break;case"defaultChecked":D=G;break;case"value":o=G;break;case"defaultValue":E=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(s(137,t));break;default:Fe(e,t,i,G,a,null)}}ff(e,o,E,x,D,m,r,!1),xr(e);return;case"select":Ue("invalid",e),i=m=o=null;for(r in a)if(a.hasOwnProperty(r)&&(E=a[r],E!=null))switch(r){case"value":o=E;break;case"defaultValue":m=E;break;case"multiple":i=E;default:Fe(e,t,r,E,a,null)}t=o,a=m,e.multiple=!!i,t!=null?xl(e,!!i,t,!1):a!=null&&xl(e,!!i,a,!0);return;case"textarea":Ue("invalid",e),o=r=i=null;for(m in a)if(a.hasOwnProperty(m)&&(E=a[m],E!=null))switch(m){case"value":i=E;break;case"defaultValue":r=E;break;case"children":o=E;break;case"dangerouslySetInnerHTML":if(E!=null)throw Error(s(91));break;default:Fe(e,t,m,E,a,null)}hf(e,i,r,o),xr(e);return;case"option":for(x in a)if(a.hasOwnProperty(x)&&(i=a[x],i!=null))switch(x){case"selected":e.selected=i&&typeof i!="function"&&typeof i!="symbol";break;default:Fe(e,t,x,i,a,null)}return;case"dialog":Ue("cancel",e),Ue("close",e);break;case"iframe":case"object":Ue("load",e);break;case"video":case"audio":for(i=0;i<Xi.length;i++)Ue(Xi[i],e);break;case"image":Ue("error",e),Ue("load",e);break;case"details":Ue("toggle",e);break;case"embed":case"source":case"link":Ue("error",e),Ue("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(D in a)if(a.hasOwnProperty(D)&&(i=a[D],i!=null))switch(D){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:Fe(e,t,D,i,a,null)}return;default:if(tc(t)){for(G in a)a.hasOwnProperty(G)&&(i=a[G],i!==void 0&&qs(e,t,G,i,a,void 0));return}}for(E in a)a.hasOwnProperty(E)&&(i=a[E],i!=null&&Fe(e,t,E,i,a,null))}function vg(e,t,a,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,o=null,m=null,E=null,x=null,D=null,G=null;for(V in a){var $=a[V];if(a.hasOwnProperty(V)&&$!=null)switch(V){case"checked":break;case"value":break;case"defaultValue":x=$;default:i.hasOwnProperty(V)||Fe(e,t,V,null,i,$)}}for(var L in i){var V=i[L];if($=a[L],i.hasOwnProperty(L)&&(V!=null||$!=null))switch(L){case"type":o=V;break;case"name":r=V;break;case"checked":D=V;break;case"defaultChecked":G=V;break;case"value":m=V;break;case"defaultValue":E=V;break;case"children":case"dangerouslySetInnerHTML":if(V!=null)throw Error(s(137,t));break;default:V!==$&&Fe(e,t,L,V,i,$)}}Iu(e,m,E,x,D,G,o,r);return;case"select":V=m=E=L=null;for(o in a)if(x=a[o],a.hasOwnProperty(o)&&x!=null)switch(o){case"value":break;case"multiple":V=x;default:i.hasOwnProperty(o)||Fe(e,t,o,null,i,x)}for(r in i)if(o=i[r],x=a[r],i.hasOwnProperty(r)&&(o!=null||x!=null))switch(r){case"value":L=o;break;case"defaultValue":E=o;break;case"multiple":m=o;default:o!==x&&Fe(e,t,r,o,i,x)}t=E,a=m,i=V,L!=null?xl(e,!!a,L,!1):!!i!=!!a&&(t!=null?xl(e,!!a,t,!0):xl(e,!!a,a?[]:"",!1));return;case"textarea":V=L=null;for(E in a)if(r=a[E],a.hasOwnProperty(E)&&r!=null&&!i.hasOwnProperty(E))switch(E){case"value":break;case"children":break;default:Fe(e,t,E,null,i,r)}for(m in i)if(r=i[m],o=a[m],i.hasOwnProperty(m)&&(r!=null||o!=null))switch(m){case"value":L=r;break;case"defaultValue":V=r;break;case"children":break;case"dangerouslySetInnerHTML":if(r!=null)throw Error(s(91));break;default:r!==o&&Fe(e,t,m,r,i,o)}df(e,L,V);return;case"option":for(var he in a)if(L=a[he],a.hasOwnProperty(he)&&L!=null&&!i.hasOwnProperty(he))switch(he){case"selected":e.selected=!1;break;default:Fe(e,t,he,null,i,L)}for(x in i)if(L=i[x],V=a[x],i.hasOwnProperty(x)&&L!==V&&(L!=null||V!=null))switch(x){case"selected":e.selected=L&&typeof L!="function"&&typeof L!="symbol";break;default:Fe(e,t,x,L,i,V)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Te in a)L=a[Te],a.hasOwnProperty(Te)&&L!=null&&!i.hasOwnProperty(Te)&&Fe(e,t,Te,null,i,L);for(D in i)if(L=i[D],V=a[D],i.hasOwnProperty(D)&&L!==V&&(L!=null||V!=null))switch(D){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(s(137,t));break;default:Fe(e,t,D,L,i,V)}return;default:if(tc(t)){for(var ht in a)L=a[ht],a.hasOwnProperty(ht)&&L!==void 0&&!i.hasOwnProperty(ht)&&qs(e,t,ht,void 0,i,L);for(G in i)L=i[G],V=a[G],!i.hasOwnProperty(G)||L===V||L===void 0&&V===void 0||qs(e,t,G,L,i,V);return}}for(var w in a)L=a[w],a.hasOwnProperty(w)&&L!=null&&!i.hasOwnProperty(w)&&Fe(e,t,w,null,i,L);for($ in i)L=i[$],V=a[$],!i.hasOwnProperty($)||L===V||L==null&&V==null||Fe(e,t,$,L,i,V)}var Vs=null,Ys=null;function mu(e){return e.nodeType===9?e:e.ownerDocument}function rm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function um(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Gs(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var ks=null;function gg(){var e=window.event;return e&&e.type==="popstate"?e===ks?!1:(ks=e,!0):(ks=null,!1)}var cm=typeof setTimeout=="function"?setTimeout:void 0,Eg=typeof clearTimeout=="function"?clearTimeout:void 0,sm=typeof Promise=="function"?Promise:void 0,bg=typeof queueMicrotask=="function"?queueMicrotask:typeof sm<"u"?function(e){return sm.resolve(null).then(e).catch(Sg)}:cm;function Sg(e){setTimeout(function(){throw e})}function Xs(e,t){var a=t,i=0;do{var r=a.nextSibling;if(e.removeChild(a),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(i===0){e.removeChild(r),Ii(t);return}i--}else a!=="$"&&a!=="$?"&&a!=="$!"||i++;a=r}while(a);Ii(t)}function Qs(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Qs(a),Zn(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function xg(e,t,a,i){for(;e.nodeType===1;){var r=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!i&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(i){if(!e[sn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(o=e.getAttribute("rel"),o==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(o!==r.rel||e.getAttribute("href")!==(r.href==null?null:r.href)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin)||e.getAttribute("title")!==(r.title==null?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(o=e.getAttribute("src"),(o!==(r.src==null?null:r.src)||e.getAttribute("type")!==(r.type==null?null:r.type)||e.getAttribute("crossorigin")!==(r.crossOrigin==null?null:r.crossOrigin))&&o&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var o=r.name==null?null:""+r.name;if(r.type==="hidden"&&e.getAttribute("name")===o)return e}else return e;if(e=Dn(e.nextSibling),e===null)break}return null}function _g(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Dn(e.nextSibling),e===null))return null;return e}function Dn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="F!"||t==="F")break;if(t==="/$")return null}}return e}function om(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}function fm(e,t,a){switch(t=mu(a),e){case"html":if(e=t.documentElement,!e)throw Error(s(452));return e;case"head":if(e=t.head,!e)throw Error(s(453));return e;case"body":if(e=t.body,!e)throw Error(s(454));return e;default:throw Error(s(451))}}var xn=new Map,dm=new Set;function yu(e){return typeof e.getRootNode=="function"?e.getRootNode():e.ownerDocument}var oa=P.d;P.d={f:Rg,r:Tg,D:Ng,C:Cg,L:jg,m:Og,X:wg,S:Dg,M:Ag};function Rg(){var e=oa.f(),t=uu();return e||t}function Tg(e){var t=wt(e);t!==null&&t.tag===5&&t.type==="form"?qd(t):oa.r(e)}var Jl=typeof document>"u"?null:document;function hm(e,t,a){var i=Jl;if(i&&typeof t=="string"&&t){var r=dn(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof a=="string"&&(r+='[crossorigin="'+a+'"]'),dm.has(r)||(dm.add(r),e={rel:e,crossOrigin:a,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),zt(t,"link",e),et(t),i.head.appendChild(t)))}}function Ng(e){oa.D(e),hm("dns-prefetch",e,null)}function Cg(e,t){oa.C(e,t),hm("preconnect",e,t)}function jg(e,t,a){oa.L(e,t,a);var i=Jl;if(i&&e&&t){var r='link[rel="preload"][as="'+dn(t)+'"]';t==="image"&&a&&a.imageSrcSet?(r+='[imagesrcset="'+dn(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(r+='[imagesizes="'+dn(a.imageSizes)+'"]')):r+='[href="'+dn(e)+'"]';var o=r;switch(t){case"style":o=Pl(e);break;case"script":o=Wl(e)}xn.has(o)||(e=I({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),xn.set(o,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(Zi(o))||t==="script"&&i.querySelector(Ki(o))||(t=i.createElement("link"),zt(t,"link",e),et(t),i.head.appendChild(t)))}}function Og(e,t){oa.m(e,t);var a=Jl;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+dn(i)+'"][href="'+dn(e)+'"]',o=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=Wl(e)}if(!xn.has(o)&&(e=I({rel:"modulepreload",href:e},t),xn.set(o,e),a.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ki(o)))return}i=a.createElement("link"),zt(i,"link",e),et(i),a.head.appendChild(i)}}}function Dg(e,t,a){oa.S(e,t,a);var i=Jl;if(i&&e){var r=on(i).hoistableStyles,o=Pl(e);t=t||"default";var m=r.get(o);if(!m){var E={loading:0,preload:null};if(m=i.querySelector(Zi(o)))E.loading=5;else{e=I({rel:"stylesheet",href:e,"data-precedence":t},a),(a=xn.get(o))&&Zs(e,a);var x=m=i.createElement("link");et(x),zt(x,"link",e),x._p=new Promise(function(D,G){x.onload=D,x.onerror=G}),x.addEventListener("load",function(){E.loading|=1}),x.addEventListener("error",function(){E.loading|=2}),E.loading|=4,pu(m,t,i)}m={type:"stylesheet",instance:m,count:1,state:E},r.set(o,m)}}}function wg(e,t){oa.X(e,t);var a=Jl;if(a&&e){var i=on(a).hoistableScripts,r=Wl(e),o=i.get(r);o||(o=a.querySelector(Ki(r)),o||(e=I({src:e,async:!0},t),(t=xn.get(r))&&Ks(e,t),o=a.createElement("script"),et(o),zt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(r,o))}}function Ag(e,t){oa.M(e,t);var a=Jl;if(a&&e){var i=on(a).hoistableScripts,r=Wl(e),o=i.get(r);o||(o=a.querySelector(Ki(r)),o||(e=I({src:e,async:!0,type:"module"},t),(t=xn.get(r))&&Ks(e,t),o=a.createElement("script"),et(o),zt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(r,o))}}function mm(e,t,a,i){var r=(r=it.current)?yu(r):null;if(!r)throw Error(s(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Pl(a.href),a=on(r).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Pl(a.href);var o=on(r).hoistableStyles,m=o.get(e);if(m||(r=r.ownerDocument||r,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=r.querySelector(Zi(e)))&&!o._p&&(m.instance=o,m.state.loading=5),xn.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},xn.set(e,a),o||Mg(r,e,a,m.state))),t&&i===null)throw Error(s(528,""));return m}if(t&&i!==null)throw Error(s(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Wl(a),a=on(r).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Pl(e){return'href="'+dn(e)+'"'}function Zi(e){return'link[rel="stylesheet"]['+e+"]"}function ym(e){return I({},e,{"data-precedence":e.precedence,precedence:null})}function Mg(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),zt(t,"link",a),et(t),e.head.appendChild(t))}function Wl(e){return'[src="'+dn(e)+'"]'}function Ki(e){return"script[async]"+e}function pm(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+dn(a.href)+'"]');if(i)return t.instance=i,et(i),i;var r=I({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),et(i),zt(i,"style",r),pu(i,a.precedence,e),t.instance=i;case"stylesheet":r=Pl(a.href);var o=e.querySelector(Zi(r));if(o)return t.state.loading|=4,t.instance=o,et(o),o;i=ym(a),(r=xn.get(r))&&Zs(i,r),o=(e.ownerDocument||e).createElement("link"),et(o);var m=o;return m._p=new Promise(function(E,x){m.onload=E,m.onerror=x}),zt(o,"link",i),t.state.loading|=4,pu(o,a.precedence,e),t.instance=o;case"script":return o=Wl(a.src),(r=e.querySelector(Ki(o)))?(t.instance=r,et(r),r):(i=a,(r=xn.get(o))&&(i=I({},a),Ks(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),et(r),zt(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(s(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(i=t.instance,t.state.loading|=4,pu(i,a.precedence,e));return t.instance}function pu(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,o=r,m=0;m<i.length;m++){var E=i[m];if(E.dataset.precedence===t)o=E;else if(o!==r)break}o?o.parentNode.insertBefore(e,o.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Zs(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Ks(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var vu=null;function vm(e,t,a){if(vu===null){var i=new Map,r=vu=new Map;r.set(a,i)}else r=vu,i=r.get(a),i||(i=new Map,r.set(a,i));if(i.has(e))return i;for(i.set(e,null),a=a.getElementsByTagName(e),r=0;r<a.length;r++){var o=a[r];if(!(o[sn]||o[fe]||e==="link"&&o.getAttribute("rel")==="stylesheet")&&o.namespaceURI!=="http://www.w3.org/2000/svg"){var m=o.getAttribute(t)||"";m=e+m;var E=i.get(m);E?E.push(o):i.set(m,[o])}}return i}function gm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function zg(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Em(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}var $i=null;function Lg(){}function Ug(e,t,a){if($i===null)throw Error(s(475));var i=$i;if(t.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&!(t.state.loading&4)){if(t.instance===null){var r=Pl(a.href),o=e.querySelector(Zi(r));if(o){e=o._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(i.count++,i=gu.bind(i),e.then(i,i)),t.state.loading|=4,t.instance=o,et(o);return}o=e.ownerDocument||e,a=ym(a),(r=xn.get(r))&&Zs(a,r),o=o.createElement("link"),et(o);var m=o;m._p=new Promise(function(E,x){m.onload=E,m.onerror=x}),zt(o,"link",a),t.instance=o}i.stylesheets===null&&(i.stylesheets=new Map),i.stylesheets.set(t,e),(e=t.state.preload)&&!(t.state.loading&3)&&(i.count++,t=gu.bind(i),e.addEventListener("load",t),e.addEventListener("error",t))}}function Hg(){if($i===null)throw Error(s(475));var e=$i;return e.stylesheets&&e.count===0&&$s(e,e.stylesheets),0<e.count?function(t){var a=setTimeout(function(){if(e.stylesheets&&$s(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4);return e.unsuspend=t,function(){e.unsuspend=null,clearTimeout(a)}}:null}function gu(){if(this.count--,this.count===0){if(this.stylesheets)$s(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Eu=null;function $s(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Eu=new Map,t.forEach(Bg,e),Eu=null,gu.call(e))}function Bg(e,t){if(!(t.state.loading&4)){var a=Eu.get(e);if(a)var i=a.get(null);else{a=new Map,Eu.set(e,a);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o<r.length;o++){var m=r[o];(m.nodeName==="LINK"||m.getAttribute("media")!=="not all")&&(a.set(m.dataset.precedence,m),i=m)}i&&a.set(null,i)}r=t.instance,m=r.getAttribute("data-precedence"),o=a.get(m)||i,o===i&&a.set(null,r),a.set(m,r),this.count++,i=gu.bind(this),r.addEventListener("load",i),r.addEventListener("error",i),o?o.parentNode.insertBefore(r,o.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(r,e.firstChild)),t.state.loading|=4}}var Fi={$$typeof:_,Provider:null,Consumer:null,_currentValue:ge,_currentValue2:ge,_threadCount:0};function qg(e,t,a,i,r,o,m,E){this.tag=1,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=A(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=A(0),this.hiddenUpdates=A(null),this.identifierPrefix=i,this.onUncaughtError=r,this.onCaughtError=o,this.onRecoverableError=m,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function bm(e,t,a,i,r,o,m,E,x,D,G,$){return e=new qg(e,t,a,m,E,x,D,$),t=1,o===!0&&(t|=24),o=bn(3,null,null,t),e.current=o,o.stateNode=e,t=Nc(),t.refCount++,e.pooledCache=t,t.refCount++,o.memoizedState={element:i,isDehydrated:a,cache:t},rs(o),e}function Sm(e){return e?(e=Dl,e):Dl}function xm(e,t,a,i,r,o){r=Sm(r),i.context===null?i.context=r:i.pendingContext=r,i=_a(t),i.payload={element:a},o=o===void 0?null:o,o!==null&&(i.callback=o),a=Ra(e,i,t),a!==null&&(Xt(a,e,t),Ai(a,e,t))}function _m(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Fs(e,t){_m(e,t),(e=e.alternate)&&_m(e,t)}function Rm(e){if(e.tag===13){var t=pa(e,67108864);t!==null&&Xt(t,e,67108864),Fs(e,67108864)}}var bu=!0;function Vg(e,t,a,i){var r=X.T;X.T=null;var o=P.p;try{P.p=2,Js(e,t,a,i)}finally{P.p=o,X.T=r}}function Yg(e,t,a,i){var r=X.T;X.T=null;var o=P.p;try{P.p=8,Js(e,t,a,i)}finally{P.p=o,X.T=r}}function Js(e,t,a,i){if(bu){var r=Ps(i);if(r===null)Bs(e,t,i,Su,a),Nm(e,i);else if(kg(r,e,t,a,i))i.stopPropagation();else if(Nm(e,i),t&4&&-1<Gg.indexOf(e)){for(;r!==null;){var o=wt(r);if(o!==null)switch(o.tag){case 3:if(o=o.stateNode,o.current.memoizedState.isDehydrated){var m=zn(o.pendingLanes);if(m!==0){var E=o;for(E.pendingLanes|=2,E.entangledLanes|=2;m;){var x=1<<31-Tt(m);E.entanglements[1]|=x,m&=~x}Vn(o),!(st&6)&&(lu=mt()+500,ki(0))}}break;case 13:E=pa(o,2),E!==null&&Xt(E,o,2),uu(),Fs(o,2)}if(o=Ps(i),o===null&&Bs(e,t,i,Su,a),o===r)break;r=o}r!==null&&i.stopPropagation()}else Bs(e,t,i,null,a)}}function Ps(e){return e=ac(e),Ws(e)}var Su=null;function Ws(e){if(Su=null,e=Dt(e),e!==null){var t=ne(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=Re(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Su=e,null}function Tm(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Kt()){case _e:return 2;case Ie:return 8;case Gt:case ui:return 32;case pr:return 268435456;default:return 32}default:return 32}}var Is=!1,wa=null,Aa=null,Ma=null,Ji=new Map,Pi=new Map,za=[],Gg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Nm(e,t){switch(e){case"focusin":case"focusout":wa=null;break;case"dragenter":case"dragleave":Aa=null;break;case"mouseover":case"mouseout":Ma=null;break;case"pointerover":case"pointerout":Ji.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pi.delete(t.pointerId)}}function Wi(e,t,a,i,r,o){return e===null||e.nativeEvent!==o?(e={blockedOn:t,domEventName:a,eventSystemFlags:i,nativeEvent:o,targetContainers:[r]},t!==null&&(t=wt(t),t!==null&&Rm(t)),e):(e.eventSystemFlags|=i,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function kg(e,t,a,i,r){switch(t){case"focusin":return wa=Wi(wa,e,t,a,i,r),!0;case"dragenter":return Aa=Wi(Aa,e,t,a,i,r),!0;case"mouseover":return Ma=Wi(Ma,e,t,a,i,r),!0;case"pointerover":var o=r.pointerId;return Ji.set(o,Wi(Ji.get(o)||null,e,t,a,i,r)),!0;case"gotpointercapture":return o=r.pointerId,Pi.set(o,Wi(Pi.get(o)||null,e,t,a,i,r)),!0}return!1}function Cm(e){var t=Dt(e.target);if(t!==null){var a=ne(t);if(a!==null){if(t=a.tag,t===13){if(t=Re(a),t!==null){e.blockedOn=t,oe(e.priority,function(){if(a.tag===13){var i=nn(),r=pa(a,i);r!==null&&Xt(r,a,i),Fs(a,i)}});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function xu(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Ps(e.nativeEvent);if(a===null){a=e.nativeEvent;var i=new a.constructor(a.type,a);nc=i,a.target.dispatchEvent(i),nc=null}else return t=wt(a),t!==null&&Rm(t),e.blockedOn=a,!1;t.shift()}return!0}function jm(e,t,a){xu(e)&&a.delete(t)}function Xg(){Is=!1,wa!==null&&xu(wa)&&(wa=null),Aa!==null&&xu(Aa)&&(Aa=null),Ma!==null&&xu(Ma)&&(Ma=null),Ji.forEach(jm),Pi.forEach(jm)}function _u(e,t){e.blockedOn===t&&(e.blockedOn=null,Is||(Is=!0,l.unstable_scheduleCallback(l.unstable_NormalPriority,Xg)))}var Ru=null;function Om(e){Ru!==e&&(Ru=e,l.unstable_scheduleCallback(l.unstable_NormalPriority,function(){Ru===e&&(Ru=null);for(var t=0;t<e.length;t+=3){var a=e[t],i=e[t+1],r=e[t+2];if(typeof i!="function"){if(Ws(i||a)===null)continue;break}var o=wt(a);o!==null&&(e.splice(t,3),t-=3,Gc(o,{pending:!0,data:r,method:a.method,action:i},i,r))}}))}function Ii(e){function t(x){return _u(x,e)}wa!==null&&_u(wa,e),Aa!==null&&_u(Aa,e),Ma!==null&&_u(Ma,e),Ji.forEach(t),Pi.forEach(t);for(var a=0;a<za.length;a++){var i=za[a];i.blockedOn===e&&(i.blockedOn=null)}for(;0<za.length&&(a=za[0],a.blockedOn===null);)Cm(a),a.blockedOn===null&&za.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(i=0;i<a.length;i+=3){var r=a[i],o=a[i+1],m=r[ve]||null;if(typeof o=="function")m||Om(a);else if(m){var E=null;if(o&&o.hasAttribute("formAction")){if(r=o,m=o[ve]||null)E=m.formAction;else if(Ws(r)!==null)continue}else E=m.action;typeof E=="function"?a[i+1]=E:(a.splice(i,3),i-=3),Om(a)}}}function eo(e){this._internalRoot=e}Tu.prototype.render=eo.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));var a=t.current,i=nn();xm(a,i,e,t,null,null)},Tu.prototype.unmount=eo.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;e.tag===0&&Kl(),xm(e.current,2,null,e,null,null),uu(),t[Xe]=null}};function Tu(e){this._internalRoot=e}Tu.prototype.unstable_scheduleHydration=function(e){if(e){var t=re();e={blockedOn:null,target:e,priority:t};for(var a=0;a<za.length&&t!==0&&t<za[a].priority;a++);za.splice(a,0,e),a===0&&Cm(e)}};var Dm=n.version;if(Dm!=="19.0.0")throw Error(s(527,Dm,"19.0.0"));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=Q(t),e=e!==null?le(e):null,e=e===null?null:e.stateNode,e};var Qg={bundleType:0,version:"19.0.0",rendererPackageName:"react-dom",currentDispatcherRef:X,findFiberByHostInstance:Dt,reconcilerVersion:"19.0.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Nu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Nu.isDisabled&&Nu.supportsFiber)try{ma=Nu.inject(Qg),Bt=Nu}catch{}}return tr.createRoot=function(e,t){if(!u(e))throw Error(s(299));var a=!1,i="",r=Kd,o=$d,m=Fd,E=null;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onUncaughtError!==void 0&&(r=t.onUncaughtError),t.onCaughtError!==void 0&&(o=t.onCaughtError),t.onRecoverableError!==void 0&&(m=t.onRecoverableError),t.unstable_transitionCallbacks!==void 0&&(E=t.unstable_transitionCallbacks)),t=bm(e,1,!1,null,null,a,i,r,o,m,E,null),e[Xe]=t.current,Hs(e.nodeType===8?e.parentNode:e),new eo(t)},tr.hydrateRoot=function(e,t,a){if(!u(e))throw Error(s(299));var i=!1,r="",o=Kd,m=$d,E=Fd,x=null,D=null;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(r=a.identifierPrefix),a.onUncaughtError!==void 0&&(o=a.onUncaughtError),a.onCaughtError!==void 0&&(m=a.onCaughtError),a.onRecoverableError!==void 0&&(E=a.onRecoverableError),a.unstable_transitionCallbacks!==void 0&&(x=a.unstable_transitionCallbacks),a.formState!==void 0&&(D=a.formState)),t=bm(e,1,!0,t,a??null,i,r,o,m,E,x,D),t.context=Sm(null),a=t.current,i=nn(),r=_a(i),r.callback=null,Ra(a,r,i),t.current.lanes=i,B(t,i),Vn(t),e[Xe]=t.current,Hs(e),new Tu(t)},tr.version="19.0.0",tr}var Ym;function n1(){if(Ym)return ao.exports;Ym=1;function l(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(n){console.error(n)}}return l(),ao.exports=t1(),ao.exports}var a1=n1();const l1="modulepreload",i1=function(l){return"/static/"+l},Gm={},be=function(n,c,s){let u=Promise.resolve();if(c&&c.length>0){document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),y=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));u=Promise.allSettled(c.map(v=>{if(v=i1(v),v in Gm)return;Gm[v]=!0;const p=v.endsWith(".css"),b=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${v}"]${b}`))return;const R=document.createElement("link");if(R.rel=p?"stylesheet":l1,p||(R.as="script"),R.crossOrigin="",R.href=v,y&&R.setAttribute("nonce",y),document.head.appendChild(R),p)return new Promise((S,_)=>{R.addEventListener("load",S),R.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${v}`)))})}))}function f(d){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=d,window.dispatchEvent(y),!y.defaultPrevented)throw d}return u.then(d=>{for(const y of d||[])y.status==="rejected"&&f(y.reason);return n().catch(f)})};var uo={exports:{}},co={};/** * @license React * react-compiler-runtime.production.js * @@ -55,7 +55,7 @@ Error generating stack: `+n.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Vm;function l0(){if(Vm)return ro;Vm=1;var a=Xu().__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;return ro.c=function(i){return a.H.useMemoCache(i)},ro}var Ym;function i0(){return Ym||(Ym=1,io.exports=l0()),io.exports}var st=i0(),ur={},Gm;function r0(){if(Gm)return ur;Gm=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.parse=m,ur.serialize=p;const a=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,i=/^[\u0021-\u003A\u003C-\u007E]*$/,u=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,c=/^[\u0020-\u003A\u003D-\u007E]*$/,o=Object.prototype.toString,f=(()=>{const x=function(){};return x.prototype=Object.create(null),x})();function m(x,R){const w=new f,k=x.length;if(k<2)return w;const B=(R==null?void 0:R.decode)||b;let U=0;do{const Y=x.indexOf("=",U);if(Y===-1)break;const $=x.indexOf(";",U),ee=$===-1?k:$;if(Y>ee){U=x.lastIndexOf(";",Y-1)+1;continue}const J=y(x,U,Y),O=v(x,Y,J),ue=x.slice(J,O);if(w[ue]===void 0){let be=y(x,Y+1,ee),Z=v(x,ee,be);const ie=B(x.slice(be,Z));w[ue]=ie}U=ee+1}while(U<k);return w}function y(x,R,w){do{const k=x.charCodeAt(R);if(k!==32&&k!==9)return R}while(++R<w);return w}function v(x,R,w){for(;R>w;){const k=x.charCodeAt(--R);if(k!==32&&k!==9)return R+1}return w}function p(x,R,w){const k=(w==null?void 0:w.encode)||encodeURIComponent;if(!a.test(x))throw new TypeError(`argument name is invalid: ${x}`);const B=k(R);if(!i.test(B))throw new TypeError(`argument val is invalid: ${R}`);let U=x+"="+B;if(!w)return U;if(w.maxAge!==void 0){if(!Number.isInteger(w.maxAge))throw new TypeError(`option maxAge is invalid: ${w.maxAge}`);U+="; Max-Age="+w.maxAge}if(w.domain){if(!u.test(w.domain))throw new TypeError(`option domain is invalid: ${w.domain}`);U+="; Domain="+w.domain}if(w.path){if(!c.test(w.path))throw new TypeError(`option path is invalid: ${w.path}`);U+="; Path="+w.path}if(w.expires){if(!T(w.expires)||!Number.isFinite(w.expires.valueOf()))throw new TypeError(`option expires is invalid: ${w.expires}`);U+="; Expires="+w.expires.toUTCString()}if(w.httpOnly&&(U+="; HttpOnly"),w.secure&&(U+="; Secure"),w.partitioned&&(U+="; Partitioned"),w.priority)switch(typeof w.priority=="string"?w.priority.toLowerCase():void 0){case"low":U+="; Priority=Low";break;case"medium":U+="; Priority=Medium";break;case"high":U+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${w.priority}`)}if(w.sameSite)switch(typeof w.sameSite=="string"?w.sameSite.toLowerCase():w.sameSite){case!0:case"strict":U+="; SameSite=Strict";break;case"lax":U+="; SameSite=Lax";break;case"none":U+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${w.sameSite}`)}return U}function b(x){if(x.indexOf("%")===-1)return x;try{return decodeURIComponent(x)}catch{return x}}function T(x){return o.call(x)==="[object Date]"}return ur}r0();/** + */var km;function r1(){if(km)return co;km=1;var l=ku().__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;return co.c=function(n){return l.H.useMemoCache(n)},co}var Xm;function u1(){return Xm||(Xm=1,uo.exports=r1()),uo.exports}var Ke=u1(),nr={},Qm;function c1(){if(Qm)return nr;Qm=1,Object.defineProperty(nr,"__esModule",{value:!0}),nr.parse=d,nr.serialize=p;const l=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,n=/^[\u0021-\u003A\u003C-\u007E]*$/,c=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,s=/^[\u0020-\u003A\u003D-\u007E]*$/,u=Object.prototype.toString,f=(()=>{const S=function(){};return S.prototype=Object.create(null),S})();function d(S,_){const O=new f,H=S.length;if(H<2)return O;const U=(_==null?void 0:_.decode)||b;let M=0;do{const q=S.indexOf("=",M);if(q===-1)break;const Y=S.indexOf(";",M),J=Y===-1?H:Y;if(q>J){M=S.lastIndexOf(";",q-1)+1;continue}const k=y(S,M,q),N=v(S,q,k),W=S.slice(k,N);if(O[W]===void 0){let ie=y(S,q+1,J),X=v(S,J,ie);const I=U(S.slice(ie,X));O[W]=I}M=J+1}while(M<H);return O}function y(S,_,O){do{const H=S.charCodeAt(_);if(H!==32&&H!==9)return _}while(++_<O);return O}function v(S,_,O){for(;_>O;){const H=S.charCodeAt(--_);if(H!==32&&H!==9)return _+1}return O}function p(S,_,O){const H=(O==null?void 0:O.encode)||encodeURIComponent;if(!l.test(S))throw new TypeError(`argument name is invalid: ${S}`);const U=H(_);if(!n.test(U))throw new TypeError(`argument val is invalid: ${_}`);let M=S+"="+U;if(!O)return M;if(O.maxAge!==void 0){if(!Number.isInteger(O.maxAge))throw new TypeError(`option maxAge is invalid: ${O.maxAge}`);M+="; Max-Age="+O.maxAge}if(O.domain){if(!c.test(O.domain))throw new TypeError(`option domain is invalid: ${O.domain}`);M+="; Domain="+O.domain}if(O.path){if(!s.test(O.path))throw new TypeError(`option path is invalid: ${O.path}`);M+="; Path="+O.path}if(O.expires){if(!R(O.expires)||!Number.isFinite(O.expires.valueOf()))throw new TypeError(`option expires is invalid: ${O.expires}`);M+="; Expires="+O.expires.toUTCString()}if(O.httpOnly&&(M+="; HttpOnly"),O.secure&&(M+="; Secure"),O.partitioned&&(M+="; Partitioned"),O.priority)switch(typeof O.priority=="string"?O.priority.toLowerCase():void 0){case"low":M+="; Priority=Low";break;case"medium":M+="; Priority=Medium";break;case"high":M+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${O.priority}`)}if(O.sameSite)switch(typeof O.sameSite=="string"?O.sameSite.toLowerCase():O.sameSite){case!0:case"strict":M+="; SameSite=Strict";break;case"lax":M+="; SameSite=Lax";break;case"none":M+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${O.sameSite}`)}return M}function b(S){if(S.indexOf("%")===-1)return S;try{return decodeURIComponent(S)}catch{return S}}function R(S){return u.call(S)==="[object Date]"}return nr}c1();/** * react-router v7.1.5 * * Copyright (c) Remix Software Inc. @@ -64,10 +64,10 @@ Error generating stack: `+n.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var Xm="popstate";function u0(a={}){function i(c,o){let{pathname:f,search:m,hash:y}=c.location;return mr("",{pathname:f,search:m,hash:y},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function u(c,o){return typeof o=="string"?o:Ja(o)}return s0(i,u,null,a)}function ze(a,i){if(a===!1||a===null||typeof a>"u")throw new Error(i)}function Ot(a,i){if(!a){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function c0(){return Math.random().toString(36).substring(2,10)}function Qm(a,i){return{usr:a.state,key:a.key,idx:i}}function mr(a,i,u=null,c){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof i=="string"?Pa(i):i,state:u,key:i&&i.key||c||c0()}}function Ja({pathname:a="/",search:i="",hash:u=""}){return i&&i!=="?"&&(a+=i.charAt(0)==="?"?i:"?"+i),u&&u!=="#"&&(a+=u.charAt(0)==="#"?u:"#"+u),a}function Pa(a){let i={};if(a){let u=a.indexOf("#");u>=0&&(i.hash=a.substring(u),a=a.substring(0,u));let c=a.indexOf("?");c>=0&&(i.search=a.substring(c),a=a.substring(0,c)),a&&(i.pathname=a)}return i}function s0(a,i,u,c={}){let{window:o=document.defaultView,v5Compat:f=!1}=c,m=o.history,y="POP",v=null,p=b();p==null&&(p=0,m.replaceState({...m.state,idx:p},""));function b(){return(m.state||{idx:null}).idx}function T(){y="POP";let B=b(),U=B==null?null:B-p;p=B,v&&v({action:y,location:k.location,delta:U})}function x(B,U){y="PUSH";let Y=mr(k.location,B,U);p=b()+1;let $=Qm(Y,p),ee=k.createHref(Y);try{m.pushState($,"",ee)}catch(J){if(J instanceof DOMException&&J.name==="DataCloneError")throw J;o.location.assign(ee)}f&&v&&v({action:y,location:k.location,delta:1})}function R(B,U){y="REPLACE";let Y=mr(k.location,B,U);p=b();let $=Qm(Y,p),ee=k.createHref(Y);m.replaceState($,"",ee),f&&v&&v({action:y,location:k.location,delta:0})}function w(B){let U=o.location.origin!=="null"?o.location.origin:o.location.href,Y=typeof B=="string"?B:Ja(B);return Y=Y.replace(/ $/,"%20"),ze(U,`No window.location.(origin|href) available to create URL for href: ${Y}`),new URL(Y,U)}let k={get action(){return y},get location(){return a(o,m)},listen(B){if(v)throw new Error("A history only accepts one active listener");return o.addEventListener(Xm,T),v=B,()=>{o.removeEventListener(Xm,T),v=null}},createHref(B){return i(o,B)},createURL:w,encodeLocation(B){let U=w(B);return{pathname:U.pathname,search:U.search,hash:U.hash}},push:x,replace:R,go(B){return m.go(B)}};return k}var o0=new Set(["lazy","caseSensitive","path","id","index","children"]);function f0(a){return a.index===!0}function Uu(a,i,u=[],c={}){return a.map((o,f)=>{let m=[...u,String(f)],y=typeof o.id=="string"?o.id:m.join("-");if(ze(o.index!==!0||!o.children,"Cannot specify children on an index route"),ze(!c[y],`Found a route id collision on id "${y}". Route id's must be globally unique within Data Router usages`),f0(o)){let v={...o,...i(o),id:y};return c[y]=v,v}else{let v={...o,...i(o),id:y,children:void 0};return c[y]=v,o.children&&(v.children=Uu(o.children,i,m,c)),v}})}function $a(a,i,u="/"){return Mu(a,i,u,!1)}function Mu(a,i,u,c){let o=typeof i=="string"?Pa(i):i,f=on(o.pathname||"/",u);if(f==null)return null;let m=Dy(a);h0(m);let y=null;for(let v=0;y==null&&v<m.length;++v){let p=R0(f);y=x0(m[v],p,c)}return y}function d0(a,i){let{route:u,pathname:c,params:o}=a;return{id:u.id,pathname:c,params:o,data:i[u.id],handle:u.handle}}function Dy(a,i=[],u=[],c=""){let o=(f,m,y)=>{let v={relativePath:y===void 0?f.path||"":y,caseSensitive:f.caseSensitive===!0,childrenIndex:m,route:f};v.relativePath.startsWith("/")&&(ze(v.relativePath.startsWith(c),`Absolute route path "${v.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(c.length));let p=Kn([c,v.relativePath]),b=u.concat(v);f.children&&f.children.length>0&&(ze(f.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Dy(f.children,i,b,p)),!(f.path==null&&!f.index)&&i.push({path:p,score:b0(p,f.index),routesMeta:b})};return a.forEach((f,m)=>{var y;if(f.path===""||!((y=f.path)!=null&&y.includes("?")))o(f,m);else for(let v of Ay(f.path))o(f,m,v)}),i}function Ay(a){let i=a.split("/");if(i.length===0)return[];let[u,...c]=i,o=u.endsWith("?"),f=u.replace(/\?$/,"");if(c.length===0)return o?[f,""]:[f];let m=Ay(c.join("/")),y=[];return y.push(...m.map(v=>v===""?f:[f,v].join("/"))),o&&y.push(...m),y.map(v=>a.startsWith("/")&&v===""?"/":v)}function h0(a){a.sort((i,u)=>i.score!==u.score?u.score-i.score:S0(i.routesMeta.map(c=>c.childrenIndex),u.routesMeta.map(c=>c.childrenIndex)))}var m0=/^:[\w-]+$/,y0=3,p0=2,v0=1,g0=10,E0=-2,Zm=a=>a==="*";function b0(a,i){let u=a.split("/"),c=u.length;return u.some(Zm)&&(c+=E0),i&&(c+=p0),u.filter(o=>!Zm(o)).reduce((o,f)=>o+(m0.test(f)?y0:f===""?v0:g0),c)}function S0(a,i){return a.length===i.length&&a.slice(0,-1).every((c,o)=>c===i[o])?a[a.length-1]-i[i.length-1]:0}function x0(a,i,u=!1){let{routesMeta:c}=a,o={},f="/",m=[];for(let y=0;y<c.length;++y){let v=c[y],p=y===c.length-1,b=f==="/"?i:i.slice(f.length)||"/",T=Hu({path:v.relativePath,caseSensitive:v.caseSensitive,end:p},b),x=v.route;if(!T&&p&&u&&!c[c.length-1].route.index&&(T=Hu({path:v.relativePath,caseSensitive:v.caseSensitive,end:!1},b)),!T)return null;Object.assign(o,T.params),m.push({params:o,pathname:Kn([f,T.pathname]),pathnameBase:C0(Kn([f,T.pathnameBase])),route:x}),T.pathnameBase!=="/"&&(f=Kn([f,T.pathnameBase]))}return m}function Hu(a,i){typeof a=="string"&&(a={path:a,caseSensitive:!1,end:!0});let[u,c]=_0(a.path,a.caseSensitive,a.end),o=i.match(u);if(!o)return null;let f=o[0],m=f.replace(/(.)\/+$/,"$1"),y=o.slice(1);return{params:c.reduce((p,{paramName:b,isOptional:T},x)=>{if(b==="*"){let w=y[x]||"";m=f.slice(0,f.length-w.length).replace(/(.)\/+$/,"$1")}const R=y[x];return T&&!R?p[b]=void 0:p[b]=(R||"").replace(/%2F/g,"/"),p},{}),pathname:f,pathnameBase:m,pattern:a}}function _0(a,i=!1,u=!0){Ot(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let c=[],o="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,y,v)=>(c.push({paramName:y,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)"));return a.endsWith("*")?(c.push({paramName:"*"}),o+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):u?o+="\\/*$":a!==""&&a!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,i?void 0:"i"),c]}function R0(a){try{return a.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return Ot(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),a}}function on(a,i){if(i==="/")return a;if(!a.toLowerCase().startsWith(i.toLowerCase()))return null;let u=i.endsWith("/")?i.length-1:i.length,c=a.charAt(u);return c&&c!=="/"?null:a.slice(u)||"/"}function T0(a,i="/"){let{pathname:u,search:c="",hash:o=""}=typeof a=="string"?Pa(a):a;return{pathname:u?u.startsWith("/")?u:N0(u,i):i,search:j0(c),hash:O0(o)}}function N0(a,i){let u=i.replace(/\/+$/,"").split("/");return a.split("/").forEach(o=>{o===".."?u.length>1&&u.pop():o!=="."&&u.push(o)}),u.length>1?u.join("/"):"/"}function uo(a,i,u,c){return`Cannot include a '${a}' character in a manually specified \`to.${i}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${u}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function wy(a){return a.filter((i,u)=>u===0||i.route.path&&i.route.path.length>0)}function Ho(a){let i=wy(a);return i.map((u,c)=>c===i.length-1?u.pathname:u.pathnameBase)}function Bo(a,i,u,c=!1){let o;typeof a=="string"?o=Pa(a):(o={...a},ze(!o.pathname||!o.pathname.includes("?"),uo("?","pathname","search",o)),ze(!o.pathname||!o.pathname.includes("#"),uo("#","pathname","hash",o)),ze(!o.search||!o.search.includes("#"),uo("#","search","hash",o)));let f=a===""||o.pathname==="",m=f?"/":o.pathname,y;if(m==null)y=u;else{let T=i.length-1;if(!c&&m.startsWith("..")){let x=m.split("/");for(;x[0]==="..";)x.shift(),T-=1;o.pathname=x.join("/")}y=T>=0?i[T]:"/"}let v=T0(o,y),p=m&&m!=="/"&&m.endsWith("/"),b=(f||m===".")&&u.endsWith("/");return!v.pathname.endsWith("/")&&(p||b)&&(v.pathname+="/"),v}var Kn=a=>a.join("/").replace(/\/\/+/g,"/"),C0=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),j0=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,O0=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a,Bu=class{constructor(a,i,u,c=!1){this.status=a,this.statusText=i||"",this.internal=c,u instanceof Error?(this.data=u.toString(),this.error=u):this.data=u}};function yr(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}var My=["POST","PUT","PATCH","DELETE"],D0=new Set(My),A0=["GET",...My],w0=new Set(A0),M0=new Set([301,302,303,307,308]),z0=new Set([307,308]),co={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},L0={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},oi={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},qo=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,U0=a=>({hasErrorBoundary:!!a.hasErrorBoundary}),zy="remix-router-transitions",Ly=Symbol("ResetLoaderData");function H0(a){const i=a.window?a.window:typeof window<"u"?window:void 0,u=typeof i<"u"&&typeof i.document<"u"&&typeof i.document.createElement<"u";ze(a.routes.length>0,"You must provide a non-empty routes array to createRouter");let c=a.mapRouteProperties||U0,o={},f=Uu(a.routes,c,void 0,o),m,y=a.basename||"/",v=a.dataStrategy||Y0,p=a.patchRoutesOnNavigation,b={...a.future},T=null,x=new Set,R=null,w=null,k=null,B=a.hydrationData!=null,U=$a(f,a.history.location,y),Y=!1,$=null;if(U==null&&!p){let N=Dn(404,{pathname:a.history.location.pathname}),{matches:A,route:L}=ay(f);U=A,$={[L.id]:N}}U&&!a.hydrationData&&Ft(U,f,a.history.location.pathname).active&&(U=null);let ee;if(U)if(U.some(N=>N.route.lazy))ee=!1;else if(!U.some(N=>N.route.loader))ee=!0;else{let N=a.hydrationData?a.hydrationData.loaderData:null,A=a.hydrationData?a.hydrationData.errors:null;if(A){let L=U.findIndex(K=>A[K.route.id]!==void 0);ee=U.slice(0,L+1).every(K=>!No(K.route,N,A))}else ee=U.every(L=>!No(L.route,N,A))}else{ee=!1,U=[];let N=Ft(null,f,a.history.location.pathname);N.active&&N.matches&&(Y=!0,U=N.matches)}let J,O={historyAction:a.history.action,location:a.history.location,matches:U,initialized:ee,navigation:co,restoreScrollPosition:a.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:a.hydrationData&&a.hydrationData.loaderData||{},actionData:a.hydrationData&&a.hydrationData.actionData||null,errors:a.hydrationData&&a.hydrationData.errors||$,fetchers:new Map,blockers:new Map},ue="POP",be=!1,Z,ie=!1,je=new Map,Ie=null,et=!1,Qe=!1,Ye=new Set,X=new Map,oe=0,I=-1,Re=new Map,_=new Set,V=new Map,ne=new Map,W=new Set,F=new Map,ge,he=null;function Ze(){if(T=a.history.listen(({action:N,location:A,delta:L})=>{if(ge){ge(),ge=void 0;return}Ot(F.size===0||L!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let K=Wn({currentLocation:O.location,nextLocation:A,historyAction:N});if(K&&L!=null){let te=new Promise(de=>{ge=de});a.history.go(L*-1),lt(K,{state:"blocked",location:A,proceed(){lt(K,{state:"proceeding",proceed:void 0,reset:void 0,location:A}),te.then(()=>a.history.go(L))},reset(){let de=new Map(O.blockers);de.set(K,oi),pe({blockers:de})}});return}return nt(N,A)}),u){I0(i,je);let N=()=>e1(i,je);i.addEventListener("pagehide",N),Ie=()=>i.removeEventListener("pagehide",N)}return O.initialized||nt("POP",O.location,{initialHydration:!0}),J}function Te(){T&&T(),Ie&&Ie(),x.clear(),Z&&Z.abort(),O.fetchers.forEach((N,A)=>qn(A)),O.blockers.forEach((N,A)=>Bt(A))}function He(N){return x.add(N),()=>x.delete(N)}function pe(N,A={}){O={...O,...N};let L=[],K=[];O.fetchers.forEach((te,de)=>{te.state==="idle"&&(W.has(de)?L.push(de):K.push(de))}),W.forEach(te=>{!O.fetchers.has(te)&&!X.has(te)&&L.push(te)}),[...x].forEach(te=>te(O,{deletedFetchers:L,viewTransitionOpts:A.viewTransitionOpts,flushSync:A.flushSync===!0})),L.forEach(te=>qn(te)),K.forEach(te=>O.fetchers.delete(te))}function Ke(N,A,{flushSync:L}={}){var P,se;let K=O.actionData!=null&&O.navigation.formMethod!=null&&Un(O.navigation.formMethod)&&O.navigation.state==="loading"&&((P=N.state)==null?void 0:P._isRedirect)!==!0,te;A.actionData?Object.keys(A.actionData).length>0?te=A.actionData:te=null:K?te=O.actionData:te=null;let de=A.loaderData?ty(O.loaderData,A.loaderData,A.matches||[],A.errors):O.loaderData,Se=O.blockers;Se.size>0&&(Se=new Map(Se),Se.forEach((ye,ke)=>Se.set(ke,oi)));let le=be===!0||O.navigation.formMethod!=null&&Un(O.navigation.formMethod)&&((se=N.state)==null?void 0:se._isRedirect)!==!0;m&&(f=m,m=void 0),et||ue==="POP"||(ue==="PUSH"?a.history.push(N,N.state):ue==="REPLACE"&&a.history.replace(N,N.state));let ce;if(ue==="POP"){let ye=je.get(O.location.pathname);ye&&ye.has(N.pathname)?ce={currentLocation:O.location,nextLocation:N}:je.has(N.pathname)&&(ce={currentLocation:N,nextLocation:O.location})}else if(ie){let ye=je.get(O.location.pathname);ye?ye.add(N.pathname):(ye=new Set([N.pathname]),je.set(O.location.pathname,ye)),ce={currentLocation:O.location,nextLocation:N}}pe({...A,actionData:te,loaderData:de,historyAction:ue,location:N,initialized:!0,navigation:co,revalidation:"idle",restoreScrollPosition:Xt(N,A.matches||O.matches),preventScrollReset:le,blockers:Se},{viewTransitionOpts:ce,flushSync:L===!0}),ue="POP",be=!1,ie=!1,et=!1,Qe=!1,he==null||he.resolve(),he=null}async function Et(N,A){if(typeof N=="number"){a.history.go(N);return}let L=To(O.location,O.matches,y,N,A==null?void 0:A.fromRouteId,A==null?void 0:A.relative),{path:K,submission:te,error:de}=Km(!1,L,A),Se=O.location,le=mr(O.location,K,A&&A.state);le={...le,...a.history.encodeLocation(le)};let ce=A&&A.replace!=null?A.replace:void 0,P="PUSH";ce===!0?P="REPLACE":ce===!1||te!=null&&Un(te.formMethod)&&te.formAction===O.location.pathname+O.location.search&&(P="REPLACE");let se=A&&"preventScrollReset"in A?A.preventScrollReset===!0:void 0,ye=(A&&A.flushSync)===!0,ke=Wn({currentLocation:Se,nextLocation:le,historyAction:P});if(ke){lt(ke,{state:"blocked",location:le,proceed(){lt(ke,{state:"proceeding",proceed:void 0,reset:void 0,location:le}),Et(N,A)},reset(){let vt=new Map(O.blockers);vt.set(ke,oi),pe({blockers:vt})}});return}await nt(P,le,{submission:te,pendingError:de,preventScrollReset:se,replace:A&&A.replace,enableViewTransition:A&&A.viewTransition,flushSync:ye})}function mt(){he||(he=t1()),mn(),pe({revalidation:"loading"});let N=he.promise;return O.navigation.state==="submitting"?N:O.navigation.state==="idle"?(nt(O.historyAction,O.location,{startUninterruptedRevalidation:!0}),N):(nt(ue||O.historyAction,O.navigation.location,{overrideNavigation:O.navigation,enableViewTransition:ie===!0}),N)}async function nt(N,A,L){Z&&Z.abort(),Z=null,ue=N,et=(L&&L.startUninterruptedRevalidation)===!0,An(O.location,O.matches),be=(L&&L.preventScrollReset)===!0,ie=(L&&L.enableViewTransition)===!0;let K=m||f,te=L&&L.overrideNavigation,de=L!=null&&L.initialHydration&&O.matches&&O.matches.length>0&&!Y?O.matches:$a(K,A,y),Se=(L&&L.flushSync)===!0;if(de&&O.initialized&&!Qe&&$0(O.location,A)&&!(L&&L.submission&&Un(L.submission.formMethod))){Ke(A,{matches:de},{flushSync:Se});return}let le=Ft(de,K,A.pathname);if(le.active&&le.matches&&(de=le.matches),!de){let{error:tt,notFoundMatches:$e,route:ot}=kn(A.pathname);Ke(A,{matches:$e,loaderData:{},errors:{[ot.id]:tt}},{flushSync:Se});return}Z=new AbortController;let ce=ri(a.history,A,Z.signal,L&&L.submission),P;if(L&&L.pendingError)P=[xl(de).route.id,{type:"error",error:L.pendingError}];else if(L&&L.submission&&Un(L.submission.formMethod)){let tt=await we(ce,A,L.submission,de,le.active,{replace:L.replace,flushSync:Se});if(tt.shortCircuited)return;if(tt.pendingActionResult){let[$e,ot]=tt.pendingActionResult;if(cn(ot)&&yr(ot.error)&&ot.error.status===404){Z=null,Ke(A,{matches:tt.matches,loaderData:{},errors:{[$e]:ot.error}});return}}de=tt.matches||de,P=tt.pendingActionResult,te=so(A,L.submission),Se=!1,le.active=!1,ce=ri(a.history,ce.url,ce.signal)}let{shortCircuited:se,matches:ye,loaderData:ke,errors:vt}=await Tt(ce,A,de,le.active,te,L&&L.submission,L&&L.fetcherSubmission,L&&L.replace,L&&L.initialHydration===!0,Se,P);se||(Z=null,Ke(A,{matches:ye||de,...ny(P),loaderData:ke,errors:vt}))}async function we(N,A,L,K,te,de={}){mn();let Se=P0(A,L);if(pe({navigation:Se},{flushSync:de.flushSync===!0}),te){let P=await Qt(K,A.pathname,N.signal);if(P.type==="aborted")return{shortCircuited:!0};if(P.type==="error"){let se=xl(P.partialMatches).route.id;return{matches:P.partialMatches,pendingActionResult:[se,{type:"error",error:P.error}]}}else if(P.matches)K=P.matches;else{let{notFoundMatches:se,error:ye,route:ke}=kn(A.pathname);return{matches:se,pendingActionResult:[ke.id,{type:"error",error:ye}]}}}let le,ce=dr(K,A);if(!ce.route.action&&!ce.route.lazy)le={type:"error",error:Dn(405,{method:N.method,pathname:A.pathname,routeId:ce.route.id})};else if(le=(await Jt("action",O,N,[ce],K,null))[ce.route.id],N.signal.aborted)return{shortCircuited:!0};if(Tl(le)){let P;return de&&de.replace!=null?P=de.replace:P=Wm(le.response.headers.get("Location"),new URL(N.url),y)===O.location.pathname+O.location.search,await Ht(N,le,!0,{submission:L,replace:P}),{shortCircuited:!0}}if(cn(le)){let P=xl(K,ce.route.id);return(de&&de.replace)!==!0&&(ue="PUSH"),{matches:K,pendingActionResult:[P.route.id,le]}}return{matches:K,pendingActionResult:[ce.route.id,le]}}async function Tt(N,A,L,K,te,de,Se,le,ce,P,se){let ye=te||so(A,de),ke=de||Se||iy(ye),vt=!et&&!ce;if(K){if(vt){let it=Dt(se);pe({navigation:ye,...it!==void 0?{actionData:it}:{}},{flushSync:P})}let Le=await Qt(L,A.pathname,N.signal);if(Le.type==="aborted")return{shortCircuited:!0};if(Le.type==="error"){let it=xl(Le.partialMatches).route.id;return{matches:Le.partialMatches,loaderData:{},errors:{[it]:Le.error}}}else if(Le.matches)L=Le.matches;else{let{error:it,notFoundMatches:Pt,route:el}=kn(A.pathname);return{matches:Pt,loaderData:{},errors:{[el.id]:it}}}}let tt=m||f,[$e,ot]=Jm(a.history,O,L,ke,A,ce===!0,Qe,Ye,W,V,_,tt,y,se);if(I=++oe,$e.length===0&&ot.length===0){let Le=tn();return Ke(A,{matches:L,loaderData:{},errors:se&&cn(se[1])?{[se[0]]:se[1].error}:null,...ny(se),...Le?{fetchers:new Map(O.fetchers)}:{}},{flushSync:P}),{shortCircuited:!0}}if(vt){let Le={};if(!K){Le.navigation=ye;let it=Dt(se);it!==void 0&&(Le.actionData=it)}ot.length>0&&(Le.fetchers=en(ot)),pe(Le,{flushSync:P})}ot.forEach(Le=>{Gt(Le.key),Le.controller&&X.set(Le.key,Le.controller)});let pn=()=>ot.forEach(Le=>Gt(Le.key));Z&&Z.signal.addEventListener("abort",pn);let{loaderResults:In,fetcherResults:At}=await yt(O,L,$e,ot,N);if(N.signal.aborted)return{shortCircuited:!0};Z&&Z.signal.removeEventListener("abort",pn),ot.forEach(Le=>X.delete(Le.key));let wt=ju(In);if(wt)return await Ht(N,wt.result,!0,{replace:le}),{shortCircuited:!0};if(wt=ju(At),wt)return _.add(wt.key),await Ht(N,wt.result,!0,{replace:le}),{shortCircuited:!0};let{loaderData:ea,errors:vn}=ey(O,L,In,se,ot,At);ce&&O.errors&&(vn={...O.errors,...vn});let Fe=tn(),Wa=pt(I),Ia=Fe||Wa||ot.length>0;return{matches:L,loaderData:ea,errors:vn,...Ia?{fetchers:new Map(O.fetchers)}:{}}}function Dt(N){if(N&&!cn(N[1]))return{[N[0]]:N[1].data};if(O.actionData)return Object.keys(O.actionData).length===0?null:O.actionData}function en(N){return N.forEach(A=>{let L=O.fetchers.get(A.key),K=cr(void 0,L?L.data:void 0);O.fetchers.set(A.key,K)}),new Map(O.fetchers)}async function fn(N,A,L,K){Gt(N);let te=(K&&K.flushSync)===!0,de=m||f,Se=To(O.location,O.matches,y,L,A,K==null?void 0:K.relative),le=$a(de,Se,y),ce=Ft(le,de,Se);if(ce.active&&ce.matches&&(le=ce.matches),!le){at(N,A,Dn(404,{pathname:Se}),{flushSync:te});return}let{path:P,submission:se,error:ye}=Km(!0,Se,K);if(ye){at(N,A,ye,{flushSync:te});return}let ke=dr(le,P),vt=(K&&K.preventScrollReset)===!0;if(se&&Un(se.formMethod)){await dn(N,A,P,ke,le,ce.active,te,vt,se);return}V.set(N,{routeId:A,path:P}),await hn(N,A,P,ke,le,ce.active,te,vt,se)}async function dn(N,A,L,K,te,de,Se,le,ce){mn(),V.delete(N);function P(rt){if(!rt.route.action&&!rt.route.lazy){let ta=Dn(405,{method:ce.formMethod,pathname:L,routeId:A});return at(N,A,ta,{flushSync:Se}),!0}return!1}if(!de&&P(K))return;let se=O.fetchers.get(N);xe(N,W0(ce,se),{flushSync:Se});let ye=new AbortController,ke=ri(a.history,L,ye.signal,ce);if(de){let rt=await Qt(te,L,ke.signal);if(rt.type==="aborted")return;if(rt.type==="error"){at(N,A,rt.error,{flushSync:Se});return}else if(rt.matches){if(te=rt.matches,K=dr(te,L),P(K))return}else{at(N,A,Dn(404,{pathname:L}),{flushSync:Se});return}}X.set(N,ye);let vt=oe,$e=(await Jt("action",O,ke,[K],te,N))[K.route.id];if(ke.signal.aborted){X.get(N)===ye&&X.delete(N);return}if(W.has(N)){if(Tl($e)||cn($e)){xe(N,Za(void 0));return}}else{if(Tl($e))if(X.delete(N),I>vt){xe(N,Za(void 0));return}else return _.add(N),xe(N,cr(ce)),Ht(ke,$e,!1,{fetcherSubmission:ce,preventScrollReset:le});if(cn($e)){at(N,A,$e.error);return}}let ot=O.navigation.location||O.location,pn=ri(a.history,ot,ye.signal),In=m||f,At=O.navigation.state!=="idle"?$a(In,O.navigation.location,y):O.matches;ze(At,"Didn't find any matches after fetcher action");let wt=++oe;Re.set(N,wt);let ea=cr(ce,$e.data);O.fetchers.set(N,ea);let[vn,Fe]=Jm(a.history,O,At,ce,ot,!1,Qe,Ye,W,V,_,In,y,[K.route.id,$e]);Fe.filter(rt=>rt.key!==N).forEach(rt=>{let ta=rt.key,Sr=O.fetchers.get(ta),jl=cr(void 0,Sr?Sr.data:void 0);O.fetchers.set(ta,jl),Gt(ta),rt.controller&&X.set(ta,rt.controller)}),pe({fetchers:new Map(O.fetchers)});let Wa=()=>Fe.forEach(rt=>Gt(rt.key));ye.signal.addEventListener("abort",Wa);let{loaderResults:Ia,fetcherResults:Le}=await yt(O,At,vn,Fe,pn);if(ye.signal.aborted)return;ye.signal.removeEventListener("abort",Wa),Re.delete(N),X.delete(N),Fe.forEach(rt=>X.delete(rt.key));let it=ju(Ia);if(it)return Ht(pn,it.result,!1,{preventScrollReset:le});if(it=ju(Le),it)return _.add(it.key),Ht(pn,it.result,!1,{preventScrollReset:le});let{loaderData:Pt,errors:el}=ey(O,At,Ia,void 0,Fe,Le);if(O.fetchers.has(N)){let rt=Za($e.data);O.fetchers.set(N,rt)}pt(wt),O.navigation.state==="loading"&&wt>I?(ze(ue,"Expected pending action"),Z&&Z.abort(),Ke(O.navigation.location,{matches:At,loaderData:Pt,errors:el,fetchers:new Map(O.fetchers)})):(pe({errors:el,loaderData:ty(O.loaderData,Pt,At,el),fetchers:new Map(O.fetchers)}),Qe=!1)}async function hn(N,A,L,K,te,de,Se,le,ce){let P=O.fetchers.get(N);xe(N,cr(ce,P?P.data:void 0),{flushSync:Se});let se=new AbortController,ye=ri(a.history,L,se.signal);if(de){let $e=await Qt(te,L,ye.signal);if($e.type==="aborted")return;if($e.type==="error"){at(N,A,$e.error,{flushSync:Se});return}else if($e.matches)te=$e.matches,K=dr(te,L);else{at(N,A,Dn(404,{pathname:L}),{flushSync:Se});return}}X.set(N,se);let ke=oe,tt=(await Jt("loader",O,ye,[K],te,N))[K.route.id];if(X.get(N)===se&&X.delete(N),!ye.signal.aborted){if(W.has(N)){xe(N,Za(void 0));return}if(Tl(tt))if(I>ke){xe(N,Za(void 0));return}else{_.add(N),await Ht(ye,tt,!1,{preventScrollReset:le});return}if(cn(tt)){at(N,A,tt.error);return}xe(N,Za(tt.data))}}async function Ht(N,A,L,{submission:K,fetcherSubmission:te,preventScrollReset:de,replace:Se}={}){A.response.headers.has("X-Remix-Revalidate")&&(Qe=!0);let le=A.response.headers.get("Location");ze(le,"Expected a Location header on the redirect Response"),le=Wm(le,new URL(N.url),y);let ce=mr(O.location,le,{_isRedirect:!0});if(u){let tt=!1;if(A.response.headers.has("X-Remix-Reload-Document"))tt=!0;else if(qo.test(le)){const $e=a.history.createURL(le);tt=$e.origin!==i.location.origin||on($e.pathname,y)==null}if(tt){Se?i.location.replace(le):i.location.assign(le);return}}Z=null;let P=Se===!0||A.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:se,formAction:ye,formEncType:ke}=O.navigation;!K&&!te&&se&&ye&&ke&&(K=iy(O.navigation));let vt=K||te;if(z0.has(A.response.status)&&vt&&Un(vt.formMethod))await nt(P,ce,{submission:{...vt,formAction:le},preventScrollReset:de||be,enableViewTransition:L?ie:void 0});else{let tt=so(ce,K);await nt(P,ce,{overrideNavigation:tt,fetcherSubmission:te,preventScrollReset:de||be,enableViewTransition:L?ie:void 0})}}async function Jt(N,A,L,K,te,de){let Se,le={};try{Se=await G0(v,N,A,L,K,te,de,o,c)}catch(ce){return K.forEach(P=>{le[P.route.id]={type:"error",error:ce}}),le}for(let[ce,P]of Object.entries(Se))if(J0(P)){let se=P.result;le[ce]={type:"redirect",response:Z0(se,L,ce,te,y)}}else le[ce]=await Q0(P);return le}async function yt(N,A,L,K,te){let de=Jt("loader",N,te,L,A,null),Se=Promise.all(K.map(async P=>{if(P.matches&&P.match&&P.controller){let ye=(await Jt("loader",N,ri(a.history,P.path,P.controller.signal),[P.match],P.matches,P.key))[P.match.route.id];return{[P.key]:ye}}else return Promise.resolve({[P.key]:{type:"error",error:Dn(404,{pathname:P.path})}})})),le=await de,ce=(await Se).reduce((P,se)=>Object.assign(P,se),{});return{loaderResults:le,fetcherResults:ce}}function mn(){Qe=!0,V.forEach((N,A)=>{X.has(A)&&Ye.add(A),Gt(A)})}function xe(N,A,L={}){O.fetchers.set(N,A),pe({fetchers:new Map(O.fetchers)},{flushSync:(L&&L.flushSync)===!0})}function at(N,A,L,K={}){let te=xl(O.matches,A);qn(N),pe({errors:{[te.route.id]:L},fetchers:new Map(O.fetchers)},{flushSync:(K&&K.flushSync)===!0})}function Yt(N){return ne.set(N,(ne.get(N)||0)+1),W.has(N)&&W.delete(N),O.fetchers.get(N)||L0}function qn(N){let A=O.fetchers.get(N);X.has(N)&&!(A&&A.state==="loading"&&Re.has(N))&&Gt(N),V.delete(N),Re.delete(N),_.delete(N),W.delete(N),Ye.delete(N),O.fetchers.delete(N)}function Fn(N){let A=(ne.get(N)||0)-1;A<=0?(ne.delete(N),W.add(N)):ne.set(N,A),pe({fetchers:new Map(O.fetchers)})}function Gt(N){let A=X.get(N);A&&(A.abort(),X.delete(N))}function Pn(N){for(let A of N){let L=Yt(A),K=Za(L.data);O.fetchers.set(A,K)}}function tn(){let N=[],A=!1;for(let L of _){let K=O.fetchers.get(L);ze(K,`Expected fetcher: ${L}`),K.state==="loading"&&(_.delete(L),N.push(L),A=!0)}return Pn(N),A}function pt(N){let A=[];for(let[L,K]of Re)if(K<N){let te=O.fetchers.get(L);ze(te,`Expected fetcher: ${L}`),te.state==="loading"&&(Gt(L),Re.delete(L),A.push(L))}return Pn(A),A.length>0}function Sa(N,A){let L=O.blockers.get(N)||oi;return F.get(N)!==A&&F.set(N,A),L}function Bt(N){O.blockers.delete(N),F.delete(N)}function lt(N,A){let L=O.blockers.get(N)||oi;ze(L.state==="unblocked"&&A.state==="blocked"||L.state==="blocked"&&A.state==="blocked"||L.state==="blocked"&&A.state==="proceeding"||L.state==="blocked"&&A.state==="unblocked"||L.state==="proceeding"&&A.state==="unblocked",`Invalid blocker state transition: ${L.state} -> ${A.state}`);let K=new Map(O.blockers);K.set(N,A),pe({blockers:K})}function Wn({currentLocation:N,nextLocation:A,historyAction:L}){if(F.size===0)return;F.size>1&&Ot(!1,"A router only supports one blocker at a time");let K=Array.from(F.entries()),[te,de]=K[K.length-1],Se=O.blockers.get(te);if(!(Se&&Se.state==="proceeding")&&de({currentLocation:N,nextLocation:A,historyAction:L}))return te}function kn(N){let A=Dn(404,{pathname:N}),L=m||f,{matches:K,route:te}=ay(L);return{notFoundMatches:K,route:te,error:A}}function xa(N,A,L){if(R=N,k=A,w=L||null,!B&&O.navigation===co){B=!0;let K=Xt(O.location,O.matches);K!=null&&pe({restoreScrollPosition:K})}return()=>{R=null,k=null,w=null}}function yn(N,A){return w&&w(N,A.map(K=>d0(K,O.loaderData)))||N.key}function An(N,A){if(R&&k){let L=yn(N,A);R[L]=k()}}function Xt(N,A){if(R){let L=yn(N,A),K=R[L];if(typeof K=="number")return K}return null}function Ft(N,A,L){if(p)if(N){if(Object.keys(N[0].params).length>0)return{active:!0,matches:Mu(A,L,y,!0)}}else return{active:!0,matches:Mu(A,L,y,!0)||[]};return{active:!1,matches:null}}async function Qt(N,A,L){if(!p)return{type:"success",matches:N};let K=N;for(;;){let te=m==null,de=m||f,Se=o;try{await p({path:A,matches:K,patch:(P,se)=>{L.aborted||Pm(P,se,de,Se,c)}})}catch(P){return{type:"error",error:P,partialMatches:K}}finally{te&&!L.aborted&&(f=[...f])}if(L.aborted)return{type:"aborted"};let le=$a(de,A,y);if(le)return{type:"success",matches:le};let ce=Mu(de,A,y,!0);if(!ce||K.length===ce.length&&K.every((P,se)=>P.route.id===ce[se].route.id))return{type:"success",matches:null};K=ce}}function _a(N){o={},m=Uu(N,c,void 0,o)}function br(N,A){let L=m==null;Pm(N,A,m||f,o,c),L&&(f=[...f],pe({}))}return J={get basename(){return y},get future(){return b},get state(){return O},get routes(){return f},get window(){return i},initialize:Ze,subscribe:He,enableScrollRestoration:xa,navigate:Et,fetch:fn,revalidate:mt,createHref:N=>a.history.createHref(N),encodeLocation:N=>a.history.encodeLocation(N),getFetcher:Yt,deleteFetcher:Fn,dispose:Te,getBlocker:Sa,deleteBlocker:Bt,patchRoutes:br,_internalFetchControllers:X,_internalSetRoutes:_a},J}function B0(a){return a!=null&&("formData"in a&&a.formData!=null||"body"in a&&a.body!==void 0)}function To(a,i,u,c,o,f){let m,y;if(o){m=[];for(let p of i)if(m.push(p),p.route.id===o){y=p;break}}else m=i,y=i[i.length-1];let v=Bo(c||".",Ho(m),on(a.pathname,u)||a.pathname,f==="path");if(c==null&&(v.search=a.search,v.hash=a.hash),(c==null||c===""||c===".")&&y){let p=ko(v.search);if(y.route.index&&!p)v.search=v.search?v.search.replace(/^\?/,"?index&"):"?index";else if(!y.route.index&&p){let b=new URLSearchParams(v.search),T=b.getAll("index");b.delete("index"),T.filter(R=>R).forEach(R=>b.append("index",R));let x=b.toString();v.search=x?`?${x}`:""}}return u!=="/"&&(v.pathname=v.pathname==="/"?u:Kn([u,v.pathname])),Ja(v)}function Km(a,i,u){if(!u||!B0(u))return{path:i};if(u.formMethod&&!F0(u.formMethod))return{path:i,error:Dn(405,{method:u.formMethod})};let c=()=>({path:i,error:Dn(400,{type:"invalid-body"})}),f=(u.formMethod||"get").toUpperCase(),m=Hy(i);if(u.body!==void 0){if(u.formEncType==="text/plain"){if(!Un(f))return c();let T=typeof u.body=="string"?u.body:u.body instanceof FormData||u.body instanceof URLSearchParams?Array.from(u.body.entries()).reduce((x,[R,w])=>`${x}${R}=${w} -`,""):String(u.body);return{path:i,submission:{formMethod:f,formAction:m,formEncType:u.formEncType,formData:void 0,json:void 0,text:T}}}else if(u.formEncType==="application/json"){if(!Un(f))return c();try{let T=typeof u.body=="string"?JSON.parse(u.body):u.body;return{path:i,submission:{formMethod:f,formAction:m,formEncType:u.formEncType,formData:void 0,json:T,text:void 0}}}catch{return c()}}}ze(typeof FormData=="function","FormData is not available in this environment");let y,v;if(u.formData)y=Co(u.formData),v=u.formData;else if(u.body instanceof FormData)y=Co(u.body),v=u.body;else if(u.body instanceof URLSearchParams)y=u.body,v=Im(y);else if(u.body==null)y=new URLSearchParams,v=new FormData;else try{y=new URLSearchParams(u.body),v=Im(y)}catch{return c()}let p={formMethod:f,formAction:m,formEncType:u&&u.formEncType||"application/x-www-form-urlencoded",formData:v,json:void 0,text:void 0};if(Un(p.formMethod))return{path:i,submission:p};let b=Pa(i);return a&&b.search&&ko(b.search)&&y.append("index",""),b.search=`?${y}`,{path:Ja(b),submission:p}}function $m(a,i,u=!1){let c=a.findIndex(o=>o.route.id===i);return c>=0?a.slice(0,u?c+1:c):a}function Jm(a,i,u,c,o,f,m,y,v,p,b,T,x,R){let w=R?cn(R[1])?R[1].error:R[1].data:void 0,k=a.createURL(i.location),B=a.createURL(o),U=u;f&&i.errors?U=$m(u,Object.keys(i.errors)[0],!0):R&&cn(R[1])&&(U=$m(u,R[0]));let Y=R?R[1].statusCode:void 0,$=Y&&Y>=400,ee=U.filter((O,ue)=>{let{route:be}=O;if(be.lazy)return!0;if(be.loader==null)return!1;if(f)return No(be,i.loaderData,i.errors);if(q0(i.loaderData,i.matches[ue],O))return!0;let Z=i.matches[ue],ie=O;return Fm(O,{currentUrl:k,currentParams:Z.params,nextUrl:B,nextParams:ie.params,...c,actionResult:w,actionStatus:Y,defaultShouldRevalidate:$?!1:m||k.pathname+k.search===B.pathname+B.search||k.search!==B.search||k0(Z,ie)})}),J=[];return p.forEach((O,ue)=>{if(f||!u.some(Ie=>Ie.route.id===O.routeId)||v.has(ue))return;let be=$a(T,O.path,x);if(!be){J.push({key:ue,routeId:O.routeId,path:O.path,matches:null,match:null,controller:null});return}let Z=i.fetchers.get(ue),ie=dr(be,O.path),je=!1;b.has(ue)?je=!1:y.has(ue)?(y.delete(ue),je=!0):Z&&Z.state!=="idle"&&Z.data===void 0?je=m:je=Fm(ie,{currentUrl:k,currentParams:i.matches[i.matches.length-1].params,nextUrl:B,nextParams:u[u.length-1].params,...c,actionResult:w,actionStatus:Y,defaultShouldRevalidate:$?!1:m}),je&&J.push({key:ue,routeId:O.routeId,path:O.path,matches:be,match:ie,controller:new AbortController})}),[ee,J]}function No(a,i,u){if(a.lazy)return!0;if(!a.loader)return!1;let c=i!=null&&i[a.id]!==void 0,o=u!=null&&u[a.id]!==void 0;return!c&&o?!1:typeof a.loader=="function"&&a.loader.hydrate===!0?!0:!c&&!o}function q0(a,i,u){let c=!i||u.route.id!==i.route.id,o=!a.hasOwnProperty(u.route.id);return c||o}function k0(a,i){let u=a.route.path;return a.pathname!==i.pathname||u!=null&&u.endsWith("*")&&a.params["*"]!==i.params["*"]}function Fm(a,i){if(a.route.shouldRevalidate){let u=a.route.shouldRevalidate(i);if(typeof u=="boolean")return u}return i.defaultShouldRevalidate}function Pm(a,i,u,c,o){let f;if(a){let v=c[a];ze(v,`No route found to patch children into: routeId = ${a}`),v.children||(v.children=[]),f=v.children}else f=u;let m=i.filter(v=>!f.some(p=>Uy(v,p))),y=Uu(m,o,[a||"_","patch",String((f==null?void 0:f.length)||"0")],c);f.push(...y)}function Uy(a,i){return"id"in a&&"id"in i&&a.id===i.id?!0:a.index===i.index&&a.path===i.path&&a.caseSensitive===i.caseSensitive?(!a.children||a.children.length===0)&&(!i.children||i.children.length===0)?!0:a.children.every((u,c)=>{var o;return(o=i.children)==null?void 0:o.some(f=>Uy(u,f))}):!1}async function V0(a,i,u){if(!a.lazy)return;let c=await a.lazy();if(!a.lazy)return;let o=u[a.id];ze(o,"No route found in manifest");let f={};for(let m in c){let v=o[m]!==void 0&&m!=="hasErrorBoundary";Ot(!v,`Route "${o.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`),!v&&!o0.has(m)&&(f[m]=c[m])}Object.assign(o,f),Object.assign(o,{...i(o),lazy:void 0})}async function Y0({matches:a}){let i=a.filter(c=>c.shouldLoad);return(await Promise.all(i.map(c=>c.resolve()))).reduce((c,o,f)=>Object.assign(c,{[i[f].route.id]:o}),{})}async function G0(a,i,u,c,o,f,m,y,v,p){let b=f.map(R=>R.route.lazy?V0(R.route,v,y):void 0),T=f.map((R,w)=>{let k=b[w],B=o.some(Y=>Y.route.id===R.route.id);return{...R,shouldLoad:B,resolve:async Y=>(Y&&c.method==="GET"&&(R.route.lazy||R.route.loader)&&(B=!0),B?X0(i,c,R,k,Y,p):Promise.resolve({type:"data",result:void 0}))}}),x=await a({matches:T,request:c,params:f[0].params,fetcherKey:m,context:p});try{await Promise.all(b)}catch{}return x}async function X0(a,i,u,c,o,f){let m,y,v=p=>{let b,T=new Promise((w,k)=>b=k);y=()=>b(),i.signal.addEventListener("abort",y);let x=w=>typeof p!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${a}" [routeId: ${u.route.id}]`)):p({request:i,params:u.params,context:f},...w!==void 0?[w]:[]),R=(async()=>{try{return{type:"data",result:await(o?o(k=>x(k)):x())}}catch(w){return{type:"error",result:w}}})();return Promise.race([R,T])};try{let p=u.route[a];if(c)if(p){let b,[T]=await Promise.all([v(p).catch(x=>{b=x}),c]);if(b!==void 0)throw b;m=T}else if(await c,p=u.route[a],p)m=await v(p);else if(a==="action"){let b=new URL(i.url),T=b.pathname+b.search;throw Dn(405,{method:i.method,pathname:T,routeId:u.route.id})}else return{type:"data",result:void 0};else if(p)m=await v(p);else{let b=new URL(i.url),T=b.pathname+b.search;throw Dn(404,{pathname:T})}}catch(p){return{type:"error",result:p}}finally{y&&i.signal.removeEventListener("abort",y)}return m}async function Q0(a){var c,o,f,m,y,v;let{result:i,type:u}=a;if(By(i)){let p;try{let b=i.headers.get("Content-Type");b&&/\bapplication\/json\b/.test(b)?i.body==null?p=null:p=await i.json():p=await i.text()}catch(b){return{type:"error",error:b}}return u==="error"?{type:"error",error:new Bu(i.status,i.statusText,p),statusCode:i.status,headers:i.headers}:{type:"data",data:p,statusCode:i.status,headers:i.headers}}return u==="error"?ly(i)?i.data instanceof Error?{type:"error",error:i.data,statusCode:(c=i.init)==null?void 0:c.status,headers:(o=i.init)!=null&&o.headers?new Headers(i.init.headers):void 0}:{type:"error",error:new Bu(((f=i.init)==null?void 0:f.status)||500,void 0,i.data),statusCode:yr(i)?i.status:void 0,headers:(m=i.init)!=null&&m.headers?new Headers(i.init.headers):void 0}:{type:"error",error:i,statusCode:yr(i)?i.status:void 0}:ly(i)?{type:"data",data:i.data,statusCode:(y=i.init)==null?void 0:y.status,headers:(v=i.init)!=null&&v.headers?new Headers(i.init.headers):void 0}:{type:"data",data:i}}function Z0(a,i,u,c,o){let f=a.headers.get("Location");if(ze(f,"Redirects returned/thrown from loaders/actions must have a Location header"),!qo.test(f)){let m=c.slice(0,c.findIndex(y=>y.route.id===u)+1);f=To(new URL(i.url),m,o,f),a.headers.set("Location",f)}return a}function Wm(a,i,u){if(qo.test(a)){let c=a,o=c.startsWith("//")?new URL(i.protocol+c):new URL(c),f=on(o.pathname,u)!=null;if(o.origin===i.origin&&f)return o.pathname+o.search+o.hash}return a}function ri(a,i,u,c){let o=a.createURL(Hy(i)).toString(),f={signal:u};if(c&&Un(c.formMethod)){let{formMethod:m,formEncType:y}=c;f.method=m.toUpperCase(),y==="application/json"?(f.headers=new Headers({"Content-Type":y}),f.body=JSON.stringify(c.json)):y==="text/plain"?f.body=c.text:y==="application/x-www-form-urlencoded"&&c.formData?f.body=Co(c.formData):f.body=c.formData}return new Request(o,f)}function Co(a){let i=new URLSearchParams;for(let[u,c]of a.entries())i.append(u,typeof c=="string"?c:c.name);return i}function Im(a){let i=new FormData;for(let[u,c]of a.entries())i.append(u,c);return i}function K0(a,i,u,c=!1,o=!1){let f={},m=null,y,v=!1,p={},b=u&&cn(u[1])?u[1].error:void 0;return a.forEach(T=>{if(!(T.route.id in i))return;let x=T.route.id,R=i[x];if(ze(!Tl(R),"Cannot handle redirect results in processLoaderData"),cn(R)){let w=R.error;if(b!==void 0&&(w=b,b=void 0),m=m||{},o)m[x]=w;else{let k=xl(a,x);m[k.route.id]==null&&(m[k.route.id]=w)}c||(f[x]=Ly),v||(v=!0,y=yr(R.error)?R.error.status:500),R.headers&&(p[x]=R.headers)}else f[x]=R.data,R.statusCode&&R.statusCode!==200&&!v&&(y=R.statusCode),R.headers&&(p[x]=R.headers)}),b!==void 0&&u&&(m={[u[0]]:b},f[u[0]]=void 0),{loaderData:f,errors:m,statusCode:y||200,loaderHeaders:p}}function ey(a,i,u,c,o,f){let{loaderData:m,errors:y}=K0(i,u,c);return o.forEach(v=>{let{key:p,match:b,controller:T}=v,x=f[p];if(ze(x,"Did not find corresponding fetcher result"),!(T&&T.signal.aborted))if(cn(x)){let R=xl(a.matches,b==null?void 0:b.route.id);y&&y[R.route.id]||(y={...y,[R.route.id]:x.error}),a.fetchers.delete(p)}else if(Tl(x))ze(!1,"Unhandled fetcher revalidation redirect");else{let R=Za(x.data);a.fetchers.set(p,R)}}),{loaderData:m,errors:y}}function ty(a,i,u,c){let o=Object.entries(i).filter(([,f])=>f!==Ly).reduce((f,[m,y])=>(f[m]=y,f),{});for(let f of u){let m=f.route.id;if(!i.hasOwnProperty(m)&&a.hasOwnProperty(m)&&f.route.loader&&(o[m]=a[m]),c&&c.hasOwnProperty(m))break}return o}function ny(a){return a?cn(a[1])?{actionData:{}}:{actionData:{[a[0]]:a[1].data}}:{}}function xl(a,i){return(i?a.slice(0,a.findIndex(c=>c.route.id===i)+1):[...a]).reverse().find(c=>c.route.hasErrorBoundary===!0)||a[0]}function ay(a){let i=a.length===1?a[0]:a.find(u=>u.index||!u.path||u.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:i}],route:i}}function Dn(a,{pathname:i,routeId:u,method:c,type:o,message:f}={}){let m="Unknown Server Error",y="Unknown @remix-run/router error";return a===400?(m="Bad Request",c&&i&&u?y=`You made a ${c} request to "${i}" but did not provide a \`loader\` for route "${u}", so there is no way to handle the request.`:o==="invalid-body"&&(y="Unable to encode submission body")):a===403?(m="Forbidden",y=`Route "${u}" does not match URL "${i}"`):a===404?(m="Not Found",y=`No route matches URL "${i}"`):a===405&&(m="Method Not Allowed",c&&i&&u?y=`You made a ${c.toUpperCase()} request to "${i}" but did not provide an \`action\` for route "${u}", so there is no way to handle the request.`:c&&(y=`Invalid request method "${c.toUpperCase()}"`)),new Bu(a||500,m,new Error(y),!0)}function ju(a){let i=Object.entries(a);for(let u=i.length-1;u>=0;u--){let[c,o]=i[u];if(Tl(o))return{key:c,result:o}}}function Hy(a){let i=typeof a=="string"?Pa(a):a;return Ja({...i,hash:""})}function $0(a,i){return a.pathname!==i.pathname||a.search!==i.search?!1:a.hash===""?i.hash!=="":a.hash===i.hash?!0:i.hash!==""}function J0(a){return By(a.result)&&M0.has(a.result.status)}function cn(a){return a.type==="error"}function Tl(a){return(a&&a.type)==="redirect"}function ly(a){return typeof a=="object"&&a!=null&&"type"in a&&"data"in a&&"init"in a&&a.type==="DataWithResponseInit"}function By(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.headers=="object"&&typeof a.body<"u"}function F0(a){return w0.has(a.toUpperCase())}function Un(a){return D0.has(a.toUpperCase())}function ko(a){return new URLSearchParams(a).getAll("index").some(i=>i==="")}function dr(a,i){let u=typeof i=="string"?Pa(i).search:i.search;if(a[a.length-1].route.index&&ko(u||""))return a[a.length-1];let c=wy(a);return c[c.length-1]}function iy(a){let{formMethod:i,formAction:u,formEncType:c,text:o,formData:f,json:m}=a;if(!(!i||!u||!c)){if(o!=null)return{formMethod:i,formAction:u,formEncType:c,formData:void 0,json:void 0,text:o};if(f!=null)return{formMethod:i,formAction:u,formEncType:c,formData:f,json:void 0,text:void 0};if(m!==void 0)return{formMethod:i,formAction:u,formEncType:c,formData:void 0,json:m,text:void 0}}}function so(a,i){return i?{state:"loading",location:a,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}:{state:"loading",location:a,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function P0(a,i){return{state:"submitting",location:a,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}}function cr(a,i){return a?{state:"loading",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text,data:i}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:i}}function W0(a,i){return{state:"submitting",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text,data:i?i.data:void 0}}function Za(a){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:a}}function I0(a,i){try{let u=a.sessionStorage.getItem(zy);if(u){let c=JSON.parse(u);for(let[o,f]of Object.entries(c||{}))f&&Array.isArray(f)&&i.set(o,new Set(f||[]))}}catch{}}function e1(a,i){if(i.size>0){let u={};for(let[c,o]of i)u[c]=[...o];try{a.sessionStorage.setItem(zy,JSON.stringify(u))}catch(c){Ot(!1,`Failed to save applied view transitions in sessionStorage (${c}).`)}}}function t1(){let a,i,u=new Promise((c,o)=>{a=async f=>{c(f);try{await u}catch{}},i=async f=>{o(f);try{await u}catch{}}});return{promise:u,resolve:a,reject:i}}var Cl=g.createContext(null);Cl.displayName="DataRouter";var vr=g.createContext(null);vr.displayName="DataRouterState";var Vo=g.createContext({isTransitioning:!1});Vo.displayName="ViewTransition";var qy=g.createContext(new Map);qy.displayName="Fetchers";var n1=g.createContext(null);n1.displayName="Await";var $n=g.createContext(null);$n.displayName="Navigation";var Qu=g.createContext(null);Qu.displayName="Location";var Bn=g.createContext({outlet:null,matches:[],isDataRoute:!1});Bn.displayName="Route";var Yo=g.createContext(null);Yo.displayName="RouteError";function a1(a,{relative:i}={}){ze(gr(),"useHref() may be used only in the context of a <Router> component.");let{basename:u,navigator:c}=g.useContext($n),{hash:o,pathname:f,search:m}=Er(a,{relative:i}),y=f;return u!=="/"&&(y=f==="/"?u:Kn([u,f])),c.createHref({pathname:y,search:m,hash:o})}function gr(){return g.useContext(Qu)!=null}function Jn(){return ze(gr(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Qu).location}var ky="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Vy(a){g.useContext($n).static||g.useLayoutEffect(a)}function Yy(){let{isDataRoute:a}=g.useContext(Bn);return a?v1():l1()}function l1(){ze(gr(),"useNavigate() may be used only in the context of a <Router> component.");let a=g.useContext(Cl),{basename:i,navigator:u}=g.useContext($n),{matches:c}=g.useContext(Bn),{pathname:o}=Jn(),f=JSON.stringify(Ho(c)),m=g.useRef(!1);return Vy(()=>{m.current=!0}),g.useCallback((v,p={})=>{if(Ot(m.current,ky),!m.current)return;if(typeof v=="number"){u.go(v);return}let b=Bo(v,JSON.parse(f),o,p.relative==="path");a==null&&i!=="/"&&(b.pathname=b.pathname==="/"?i:Kn([i,b.pathname])),(p.replace?u.replace:u.push)(b,p.state,p)},[i,u,f,o,a])}var i1=g.createContext(null);function r1(a){let i=g.useContext(Bn).outlet;return i&&g.createElement(i1.Provider,{value:a},i)}function Dx(){let{matches:a}=g.useContext(Bn),i=a[a.length-1];return i?i.params:{}}function Er(a,{relative:i}={}){let{matches:u}=g.useContext(Bn),{pathname:c}=Jn(),o=JSON.stringify(Ho(u));return g.useMemo(()=>Bo(a,JSON.parse(o),c,i==="path"),[a,o,c,i])}function u1(a,i,u,c){ze(gr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o,static:f}=g.useContext($n),{matches:m}=g.useContext(Bn),y=m[m.length-1],v=y?y.params:{},p=y?y.pathname:"/",b=y?y.pathnameBase:"/",T=y&&y.route;{let Y=T&&T.path||"";Qy(p,!T||Y.endsWith("*")||Y.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${p}" (under <Route path="${Y}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + */var Zm="popstate";function s1(l={}){function n(s,u){let{pathname:f,search:d,hash:y}=s.location;return sr("",{pathname:f,search:d,hash:y},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function c(s,u){return typeof u=="string"?u:Va(u)}return f1(n,c,null,l)}function He(l,n){if(l===!1||l===null||typeof l>"u")throw new Error(n)}function Ot(l,n){if(!l){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function o1(){return Math.random().toString(36).substring(2,10)}function Km(l,n){return{usr:l.state,key:l.key,idx:n}}function sr(l,n,c=null,s){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof n=="string"?Ga(n):n,state:c,key:n&&n.key||s||o1()}}function Va({pathname:l="/",search:n="",hash:c=""}){return n&&n!=="?"&&(l+=n.charAt(0)==="?"?n:"?"+n),c&&c!=="#"&&(l+=c.charAt(0)==="#"?c:"#"+c),l}function Ga(l){let n={};if(l){let c=l.indexOf("#");c>=0&&(n.hash=l.substring(c),l=l.substring(0,c));let s=l.indexOf("?");s>=0&&(n.search=l.substring(s),l=l.substring(0,s)),l&&(n.pathname=l)}return n}function f1(l,n,c,s={}){let{window:u=document.defaultView,v5Compat:f=!1}=s,d=u.history,y="POP",v=null,p=b();p==null&&(p=0,d.replaceState({...d.state,idx:p},""));function b(){return(d.state||{idx:null}).idx}function R(){y="POP";let U=b(),M=U==null?null:U-p;p=U,v&&v({action:y,location:H.location,delta:M})}function S(U,M){y="PUSH";let q=sr(H.location,U,M);p=b()+1;let Y=Km(q,p),J=H.createHref(q);try{d.pushState(Y,"",J)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;u.location.assign(J)}f&&v&&v({action:y,location:H.location,delta:1})}function _(U,M){y="REPLACE";let q=sr(H.location,U,M);p=b();let Y=Km(q,p),J=H.createHref(q);d.replaceState(Y,"",J),f&&v&&v({action:y,location:H.location,delta:0})}function O(U){let M=u.location.origin!=="null"?u.location.origin:u.location.href,q=typeof U=="string"?U:Va(U);return q=q.replace(/ $/,"%20"),He(M,`No window.location.(origin|href) available to create URL for href: ${q}`),new URL(q,M)}let H={get action(){return y},get location(){return l(u,d)},listen(U){if(v)throw new Error("A history only accepts one active listener");return u.addEventListener(Zm,R),v=U,()=>{u.removeEventListener(Zm,R),v=null}},createHref(U){return n(u,U)},createURL:O,encodeLocation(U){let M=O(U);return{pathname:M.pathname,search:M.search,hash:M.hash}},push:S,replace:_,go(U){return d.go(U)}};return H}var d1=new Set(["lazy","caseSensitive","path","id","index","children"]);function h1(l){return l.index===!0}function Lu(l,n,c=[],s={}){return l.map((u,f)=>{let d=[...c,String(f)],y=typeof u.id=="string"?u.id:d.join("-");if(He(u.index!==!0||!u.children,"Cannot specify children on an index route"),He(!s[y],`Found a route id collision on id "${y}". Route id's must be globally unique within Data Router usages`),h1(u)){let v={...u,...n(u),id:y};return s[y]=v,v}else{let v={...u,...n(u),id:y,children:void 0};return s[y]=v,u.children&&(v.children=Lu(u.children,n,d,s)),v}})}function qa(l,n,c="/"){return Au(l,n,c,!1)}function Au(l,n,c,s){let u=typeof n=="string"?Ga(n):n,f=rn(u.pathname||"/",c);if(f==null)return null;let d=Ay(l);y1(d);let y=null;for(let v=0;y==null&&v<d.length;++v){let p=N1(f);y=R1(d[v],p,s)}return y}function m1(l,n){let{route:c,pathname:s,params:u}=l;return{id:c.id,pathname:s,params:u,data:n[c.id],handle:c.handle}}function Ay(l,n=[],c=[],s=""){let u=(f,d,y)=>{let v={relativePath:y===void 0?f.path||"":y,caseSensitive:f.caseSensitive===!0,childrenIndex:d,route:f};v.relativePath.startsWith("/")&&(He(v.relativePath.startsWith(s),`Absolute route path "${v.relativePath}" nested under path "${s}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(s.length));let p=Gn([s,v.relativePath]),b=c.concat(v);f.children&&f.children.length>0&&(He(f.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Ay(f.children,n,b,p)),!(f.path==null&&!f.index)&&n.push({path:p,score:x1(p,f.index),routesMeta:b})};return l.forEach((f,d)=>{var y;if(f.path===""||!((y=f.path)!=null&&y.includes("?")))u(f,d);else for(let v of My(f.path))u(f,d,v)}),n}function My(l){let n=l.split("/");if(n.length===0)return[];let[c,...s]=n,u=c.endsWith("?"),f=c.replace(/\?$/,"");if(s.length===0)return u?[f,""]:[f];let d=My(s.join("/")),y=[];return y.push(...d.map(v=>v===""?f:[f,v].join("/"))),u&&y.push(...d),y.map(v=>l.startsWith("/")&&v===""?"/":v)}function y1(l){l.sort((n,c)=>n.score!==c.score?c.score-n.score:_1(n.routesMeta.map(s=>s.childrenIndex),c.routesMeta.map(s=>s.childrenIndex)))}var p1=/^:[\w-]+$/,v1=3,g1=2,E1=1,b1=10,S1=-2,$m=l=>l==="*";function x1(l,n){let c=l.split("/"),s=c.length;return c.some($m)&&(s+=S1),n&&(s+=g1),c.filter(u=>!$m(u)).reduce((u,f)=>u+(p1.test(f)?v1:f===""?E1:b1),s)}function _1(l,n){return l.length===n.length&&l.slice(0,-1).every((s,u)=>s===n[u])?l[l.length-1]-n[n.length-1]:0}function R1(l,n,c=!1){let{routesMeta:s}=l,u={},f="/",d=[];for(let y=0;y<s.length;++y){let v=s[y],p=y===s.length-1,b=f==="/"?n:n.slice(f.length)||"/",R=Uu({path:v.relativePath,caseSensitive:v.caseSensitive,end:p},b),S=v.route;if(!R&&p&&c&&!s[s.length-1].route.index&&(R=Uu({path:v.relativePath,caseSensitive:v.caseSensitive,end:!1},b)),!R)return null;Object.assign(u,R.params),d.push({params:u,pathname:Gn([f,R.pathname]),pathnameBase:O1(Gn([f,R.pathnameBase])),route:S}),R.pathnameBase!=="/"&&(f=Gn([f,R.pathnameBase]))}return d}function Uu(l,n){typeof l=="string"&&(l={path:l,caseSensitive:!1,end:!0});let[c,s]=T1(l.path,l.caseSensitive,l.end),u=n.match(c);if(!u)return null;let f=u[0],d=f.replace(/(.)\/+$/,"$1"),y=u.slice(1);return{params:s.reduce((p,{paramName:b,isOptional:R},S)=>{if(b==="*"){let O=y[S]||"";d=f.slice(0,f.length-O.length).replace(/(.)\/+$/,"$1")}const _=y[S];return R&&!_?p[b]=void 0:p[b]=(_||"").replace(/%2F/g,"/"),p},{}),pathname:f,pathnameBase:d,pattern:l}}function T1(l,n=!1,c=!0){Ot(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let s=[],u="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,y,v)=>(s.push({paramName:y,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)"));return l.endsWith("*")?(s.push({paramName:"*"}),u+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):c?u+="\\/*$":l!==""&&l!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,n?void 0:"i"),s]}function N1(l){try{return l.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return Ot(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),l}}function rn(l,n){if(n==="/")return l;if(!l.toLowerCase().startsWith(n.toLowerCase()))return null;let c=n.endsWith("/")?n.length-1:n.length,s=l.charAt(c);return s&&s!=="/"?null:l.slice(c)||"/"}function C1(l,n="/"){let{pathname:c,search:s="",hash:u=""}=typeof l=="string"?Ga(l):l;return{pathname:c?c.startsWith("/")?c:j1(c,n):n,search:D1(s),hash:w1(u)}}function j1(l,n){let c=n.replace(/\/+$/,"").split("/");return l.split("/").forEach(u=>{u===".."?c.length>1&&c.pop():u!=="."&&c.push(u)}),c.length>1?c.join("/"):"/"}function so(l,n,c,s){return`Cannot include a '${l}' character in a manually specified \`to.${n}\` field [${JSON.stringify(s)}]. Please separate it out to the \`to.${c}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function zy(l){return l.filter((n,c)=>c===0||n.route.path&&n.route.path.length>0)}function qo(l){let n=zy(l);return n.map((c,s)=>s===n.length-1?c.pathname:c.pathnameBase)}function Vo(l,n,c,s=!1){let u;typeof l=="string"?u=Ga(l):(u={...l},He(!u.pathname||!u.pathname.includes("?"),so("?","pathname","search",u)),He(!u.pathname||!u.pathname.includes("#"),so("#","pathname","hash",u)),He(!u.search||!u.search.includes("#"),so("#","search","hash",u)));let f=l===""||u.pathname==="",d=f?"/":u.pathname,y;if(d==null)y=c;else{let R=n.length-1;if(!s&&d.startsWith("..")){let S=d.split("/");for(;S[0]==="..";)S.shift(),R-=1;u.pathname=S.join("/")}y=R>=0?n[R]:"/"}let v=C1(u,y),p=d&&d!=="/"&&d.endsWith("/"),b=(f||d===".")&&c.endsWith("/");return!v.pathname.endsWith("/")&&(p||b)&&(v.pathname+="/"),v}var Gn=l=>l.join("/").replace(/\/\/+/g,"/"),O1=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),D1=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,w1=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l,Hu=class{constructor(l,n,c,s=!1){this.status=l,this.statusText=n||"",this.internal=s,c instanceof Error?(this.data=c.toString(),this.error=c):this.data=c}};function or(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}var Ly=["POST","PUT","PATCH","DELETE"],A1=new Set(Ly),M1=["GET",...Ly],z1=new Set(M1),L1=new Set([301,302,303,307,308]),U1=new Set([307,308]),oo={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},H1={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ai={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Yo=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,B1=l=>({hasErrorBoundary:!!l.hasErrorBoundary}),Uy="remix-router-transitions",Hy=Symbol("ResetLoaderData");function q1(l){const n=l.window?l.window:typeof window<"u"?window:void 0,c=typeof n<"u"&&typeof n.document<"u"&&typeof n.document.createElement<"u";He(l.routes.length>0,"You must provide a non-empty routes array to createRouter");let s=l.mapRouteProperties||B1,u={},f=Lu(l.routes,s,void 0,u),d,y=l.basename||"/",v=l.dataStrategy||X1,p=l.patchRoutesOnNavigation,b={...l.future},R=null,S=new Set,_=null,O=null,H=null,U=l.hydrationData!=null,M=qa(f,l.history.location,y),q=!1,Y=null;if(M==null&&!p){let C=_n(404,{pathname:l.history.location.pathname}),{matches:A,route:B}=iy(f);M=A,Y={[B.id]:C}}M&&!l.hydrationData&&Qn(M,f,l.history.location.pathname).active&&(M=null);let J;if(M)if(M.some(C=>C.route.lazy))J=!1;else if(!M.some(C=>C.route.loader))J=!0;else{let C=l.hydrationData?l.hydrationData.loaderData:null,A=l.hydrationData?l.hydrationData.errors:null;if(A){let B=M.findIndex(F=>A[F.route.id]!==void 0);J=M.slice(0,B+1).every(F=>!jo(F.route,C,A))}else J=M.every(B=>!jo(B.route,C,A))}else{J=!1,M=[];let C=Qn(null,f,l.history.location.pathname);C.active&&C.matches&&(q=!0,M=C.matches)}let k,N={historyAction:l.history.action,location:l.history.location,matches:M,initialized:J,navigation:oo,restoreScrollPosition:l.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:l.hydrationData&&l.hydrationData.loaderData||{},actionData:l.hydrationData&&l.hydrationData.actionData||null,errors:l.hydrationData&&l.hydrationData.errors||Y,fetchers:new Map,blockers:new Map},W="POP",ie=!1,X,I=!1,de=new Map,Ne=null,Ye=!1,Be=!1,ze=new Set,K=new Map,ce=0,ne=-1,Re=new Map,T=new Set,Q=new Map,le=new Map,te=new Set,P=new Map,ge,ye=null;function Je(){if(R=l.history.listen(({action:C,location:A,delta:B})=>{if(ge){ge(),ge=void 0;return}Ot(P.size===0||B!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let F=gr({currentLocation:N.location,nextLocation:A,historyAction:C});if(F&&B!=null){let ae=new Promise(me=>{ge=me});l.history.go(B*-1),Tt(F,{state:"blocked",location:A,proceed(){Tt(F,{state:"proceeding",proceed:void 0,reset:void 0,location:A}),ae.then(()=>l.history.go(B))},reset(){let me=new Map(N.blockers);me.set(F,ai),Ee({blockers:me})}});return}return lt(C,A)}),c){t0(n,de);let C=()=>n0(n,de);n.addEventListener("pagehide",C),Ne=()=>n.removeEventListener("pagehide",C)}return N.initialized||lt("POP",N.location,{initialHydration:!0}),k}function Ce(){R&&R(),Ne&&Ne(),S.clear(),X&&X.abort(),N.fetchers.forEach((C,A)=>ui(A)),N.blockers.forEach((C,A)=>Nn(A))}function Le(C){return S.add(C),()=>S.delete(C)}function Ee(C,A={}){N={...N,...C};let B=[],F=[];N.fetchers.forEach((ae,me)=>{ae.state==="idle"&&(te.has(me)?B.push(me):F.push(me))}),te.forEach(ae=>{!N.fetchers.has(ae)&&!K.has(ae)&&B.push(ae)}),[...S].forEach(ae=>ae(N,{deletedFetchers:B,viewTransitionOpts:A.viewTransitionOpts,flushSync:A.flushSync===!0})),B.forEach(ae=>ui(ae)),F.forEach(ae=>N.fetchers.delete(ae))}function Ze(C,A,{flushSync:B}={}){var ee,fe;let F=N.actionData!=null&&N.navigation.formMethod!=null&&wn(N.navigation.formMethod)&&N.navigation.state==="loading"&&((ee=C.state)==null?void 0:ee._isRedirect)!==!0,ae;A.actionData?Object.keys(A.actionData).length>0?ae=A.actionData:ae=null:F?ae=N.actionData:ae=null;let me=A.loaderData?ay(N.loaderData,A.loaderData,A.matches||[],A.errors):N.loaderData,xe=N.blockers;xe.size>0&&(xe=new Map(xe),xe.forEach((ve,Xe)=>xe.set(Xe,ai)));let re=ie===!0||N.navigation.formMethod!=null&&wn(N.navigation.formMethod)&&((fe=C.state)==null?void 0:fe._isRedirect)!==!0;d&&(f=d,d=void 0),Ye||W==="POP"||(W==="PUSH"?l.history.push(C,C.state):W==="REPLACE"&&l.history.replace(C,C.state));let oe;if(W==="POP"){let ve=de.get(N.location.pathname);ve&&ve.has(C.pathname)?oe={currentLocation:N.location,nextLocation:C}:de.has(C.pathname)&&(oe={currentLocation:C,nextLocation:N.location})}else if(I){let ve=de.get(N.location.pathname);ve?ve.add(C.pathname):(ve=new Set([C.pathname]),de.set(N.location.pathname,ve)),oe={currentLocation:N.location,nextLocation:C}}Ee({...A,actionData:ae,loaderData:me,historyAction:W,location:C,initialized:!0,navigation:oo,revalidation:"idle",restoreScrollPosition:zn(C,A.matches||N.matches),preventScrollReset:re,blockers:xe},{viewTransitionOpts:oe,flushSync:B===!0}),W="POP",ie=!1,I=!1,Ye=!1,Be=!1,ye==null||ye.resolve(),ye=null}async function vt(C,A){if(typeof C=="number"){l.history.go(C);return}let B=Co(N.location,N.matches,y,C,A==null?void 0:A.fromRouteId,A==null?void 0:A.relative),{path:F,submission:ae,error:me}=Fm(!1,B,A),xe=N.location,re=sr(N.location,F,A&&A.state);re={...re,...l.history.encodeLocation(re)};let oe=A&&A.replace!=null?A.replace:void 0,ee="PUSH";oe===!0?ee="REPLACE":oe===!1||ae!=null&&wn(ae.formMethod)&&ae.formAction===N.location.pathname+N.location.search&&(ee="REPLACE");let fe=A&&"preventScrollReset"in A?A.preventScrollReset===!0:void 0,ve=(A&&A.flushSync)===!0,Xe=gr({currentLocation:xe,nextLocation:re,historyAction:ee});if(Xe){Tt(Xe,{state:"blocked",location:re,proceed(){Tt(Xe,{state:"proceeding",proceed:void 0,reset:void 0,location:re}),vt(C,A)},reset(){let yt=new Map(N.blockers);yt.set(Xe,ai),Ee({blockers:yt})}});return}await lt(ee,re,{submission:ae,pendingError:me,preventScrollReset:fe,replace:A&&A.replace,enableViewTransition:A&&A.viewTransition,flushSync:ve})}function it(){ye||(ye=a0()),Kt(),Ee({revalidation:"loading"});let C=ye.promise;return N.navigation.state==="submitting"?C:N.navigation.state==="idle"?(lt(N.historyAction,N.location,{startUninterruptedRevalidation:!0}),C):(lt(W||N.historyAction,N.navigation.location,{overrideNavigation:N.navigation,enableViewTransition:I===!0}),C)}async function lt(C,A,B){X&&X.abort(),X=null,W=C,Ye=(B&&B.startUninterruptedRevalidation)===!0,bl(N.location,N.matches),ie=(B&&B.preventScrollReset)===!0,I=(B&&B.enableViewTransition)===!0;let F=d||f,ae=B&&B.overrideNavigation,me=B!=null&&B.initialHydration&&N.matches&&N.matches.length>0&&!q?N.matches:qa(F,A,y),xe=(B&&B.flushSync)===!0;if(me&&N.initialized&&!Be&&J1(N.location,A)&&!(B&&B.submission&&wn(B.submission.formMethod))){Ze(A,{matches:me},{flushSync:xe});return}let re=Qn(me,F,A.pathname);if(re.active&&re.matches&&(me=re.matches),!me){let{error:at,notFoundMatches:Pe,route:ot}=ci(A.pathname);Ze(A,{matches:Pe,loaderData:{},errors:{[ot.id]:at}},{flushSync:xe});return}X=new AbortController;let oe=Il(l.history,A,X.signal,B&&B.submission),ee;if(B&&B.pendingError)ee=[ml(me).route.id,{type:"error",error:B.pendingError}];else if(B&&B.submission&&wn(B.submission.formMethod)){let at=await De(oe,A,B.submission,me,re.active,{replace:B.replace,flushSync:xe});if(at.shortCircuited)return;if(at.pendingActionResult){let[Pe,ot]=at.pendingActionResult;if(an(ot)&&or(ot.error)&&ot.error.status===404){X=null,Ze(A,{matches:at.matches,loaderData:{},errors:{[Pe]:ot.error}});return}}me=at.matches||me,ee=at.pendingActionResult,ae=fo(A,B.submission),xe=!1,re.active=!1,oe=Il(l.history,oe.url,oe.signal)}let{shortCircuited:fe,matches:ve,loaderData:Xe,errors:yt}=await Rt(oe,A,me,re.active,ae,B&&B.submission,B&&B.fetcherSubmission,B&&B.replace,B&&B.initialHydration===!0,xe,ee);fe||(X=null,Ze(A,{matches:ve||me,...ly(ee),loaderData:Xe,errors:yt}))}async function De(C,A,B,F,ae,me={}){Kt();let xe=I1(A,B);if(Ee({navigation:xe},{flushSync:me.flushSync===!0}),ae){let ee=await Ln(F,A.pathname,C.signal);if(ee.type==="aborted")return{shortCircuited:!0};if(ee.type==="error"){let fe=ml(ee.partialMatches).route.id;return{matches:ee.partialMatches,pendingActionResult:[fe,{type:"error",error:ee.error}]}}else if(ee.matches)F=ee.matches;else{let{notFoundMatches:fe,error:ve,route:Xe}=ci(A.pathname);return{matches:fe,pendingActionResult:[Xe.id,{type:"error",error:ve}]}}}let re,oe=ur(F,A);if(!oe.route.action&&!oe.route.lazy)re={type:"error",error:_n(405,{method:C.method,pathname:A.pathname,routeId:oe.route.id})};else if(re=(await Ht("action",N,C,[oe],F,null))[oe.route.id],C.signal.aborted)return{shortCircuited:!0};if(vl(re)){let ee;return me&&me.replace!=null?ee=me.replace:ee=ey(re.response.headers.get("Location"),new URL(C.url),y)===N.location.pathname+N.location.search,await Ut(C,re,!0,{submission:B,replace:ee}),{shortCircuited:!0}}if(an(re)){let ee=ml(F,oe.route.id);return(me&&me.replace)!==!0&&(W="PUSH"),{matches:F,pendingActionResult:[ee.route.id,re]}}return{matches:F,pendingActionResult:[oe.route.id,re]}}async function Rt(C,A,B,F,ae,me,xe,re,oe,ee,fe){let ve=ae||fo(A,me),Xe=me||xe||uy(ve),yt=!Ye&&!oe;if(F){if(yt){let rt=St(fe);Ee({navigation:ve,...rt!==void 0?{actionData:rt}:{}},{flushSync:ee})}let qe=await Ln(B,A.pathname,C.signal);if(qe.type==="aborted")return{shortCircuited:!0};if(qe.type==="error"){let rt=ml(qe.partialMatches).route.id;return{matches:qe.partialMatches,loaderData:{},errors:{[rt]:qe.error}}}else if(qe.matches)B=qe.matches;else{let{error:rt,notFoundMatches:$t,route:Za}=ci(A.pathname);return{matches:$t,loaderData:{},errors:{[Za.id]:rt}}}}let at=d||f,[Pe,ot]=Pm(l.history,N,B,Xe,A,oe===!0,Be,ze,te,Q,T,at,y,fe);if(ne=++ce,Pe.length===0&&ot.length===0){let qe=ma();return Ze(A,{matches:B,loaderData:{},errors:fe&&an(fe[1])?{[fe[0]]:fe[1].error}:null,...ly(fe),...qe?{fetchers:new Map(N.fetchers)}:{}},{flushSync:ee}),{shortCircuited:!0}}if(yt){let qe={};if(!F){qe.navigation=ve;let rt=St(fe);rt!==void 0&&(qe.actionData=rt)}ot.length>0&&(qe.fetchers=Pt(ot)),Ee(qe,{flushSync:ee})}ot.forEach(qe=>{Mn(qe.key),qe.controller&&K.set(qe.key,qe.controller)});let sn=()=>ot.forEach(qe=>Mn(qe.key));X&&X.signal.addEventListener("abort",sn);let{loaderResults:Zn,fetcherResults:Dt}=await mt(N,B,Pe,ot,C);if(C.signal.aborted)return{shortCircuited:!0};X&&X.signal.removeEventListener("abort",sn),ot.forEach(qe=>K.delete(qe.key));let wt=Cu(Zn);if(wt)return await Ut(C,wt.result,!0,{replace:re}),{shortCircuited:!0};if(wt=Cu(Dt),wt)return T.add(wt.key),await Ut(C,wt.result,!0,{replace:re}),{shortCircuited:!0};let{loaderData:Kn,errors:on}=ny(N,B,Zn,fe,ot,Dt);oe&&N.errors&&(on={...N.errors,...on});let et=ma(),Xa=Bt(ne),Qa=et||Xa||ot.length>0;return{matches:B,loaderData:Kn,errors:on,...Qa?{fetchers:new Map(N.fetchers)}:{}}}function St(C){if(C&&!an(C[1]))return{[C[0]]:C[1].data};if(N.actionData)return Object.keys(N.actionData).length===0?null:N.actionData}function Pt(C){return C.forEach(A=>{let B=N.fetchers.get(A.key),F=ar(void 0,B?B.data:void 0);N.fetchers.set(A.key,F)}),new Map(N.fetchers)}async function Zt(C,A,B,F){Mn(C);let ae=(F&&F.flushSync)===!0,me=d||f,xe=Co(N.location,N.matches,y,B,A,F==null?void 0:F.relative),re=qa(me,xe,y),oe=Qn(re,me,xe);if(oe.active&&oe.matches&&(re=oe.matches),!re){Ie(C,A,_n(404,{pathname:xe}),{flushSync:ae});return}let{path:ee,submission:fe,error:ve}=Fm(!0,xe,F);if(ve){Ie(C,A,ve,{flushSync:ae});return}let Xe=ur(re,ee),yt=(F&&F.preventScrollReset)===!0;if(fe&&wn(fe.formMethod)){await un(C,A,ee,Xe,re,oe.active,ae,yt,fe);return}Q.set(C,{routeId:A,path:ee}),await cn(C,A,ee,Xe,re,oe.active,ae,yt,fe)}async function un(C,A,B,F,ae,me,xe,re,oe){Kt(),Q.delete(C);function ee(ut){if(!ut.route.action&&!ut.route.lazy){let $n=_n(405,{method:oe.formMethod,pathname:B,routeId:A});return Ie(C,A,$n,{flushSync:xe}),!0}return!1}if(!me&&ee(F))return;let fe=N.fetchers.get(C);_e(C,e0(oe,fe),{flushSync:xe});let ve=new AbortController,Xe=Il(l.history,B,ve.signal,oe);if(me){let ut=await Ln(ae,B,Xe.signal);if(ut.type==="aborted")return;if(ut.type==="error"){Ie(C,A,ut.error,{flushSync:xe});return}else if(ut.matches){if(ae=ut.matches,F=ur(ae,B),ee(F))return}else{Ie(C,A,_n(404,{pathname:B}),{flushSync:xe});return}}K.set(C,ve);let yt=ce,Pe=(await Ht("action",N,Xe,[F],ae,C))[F.route.id];if(Xe.signal.aborted){K.get(C)===ve&&K.delete(C);return}if(te.has(C)){if(vl(Pe)||an(Pe)){_e(C,Ha(void 0));return}}else{if(vl(Pe))if(K.delete(C),ne>yt){_e(C,Ha(void 0));return}else return T.add(C),_e(C,ar(oe)),Ut(Xe,Pe,!1,{fetcherSubmission:oe,preventScrollReset:re});if(an(Pe)){Ie(C,A,Pe.error);return}}let ot=N.navigation.location||N.location,sn=Il(l.history,ot,ve.signal),Zn=d||f,Dt=N.navigation.state!=="idle"?qa(Zn,N.navigation.location,y):N.matches;He(Dt,"Didn't find any matches after fetcher action");let wt=++ce;Re.set(C,wt);let Kn=ar(oe,Pe.data);N.fetchers.set(C,Kn);let[on,et]=Pm(l.history,N,Dt,oe,ot,!1,Be,ze,te,Q,T,Zn,y,[F.route.id,Pe]);et.filter(ut=>ut.key!==C).forEach(ut=>{let $n=ut.key,br=N.fetchers.get($n),Sl=ar(void 0,br?br.data:void 0);N.fetchers.set($n,Sl),Mn($n),ut.controller&&K.set($n,ut.controller)}),Ee({fetchers:new Map(N.fetchers)});let Xa=()=>et.forEach(ut=>Mn(ut.key));ve.signal.addEventListener("abort",Xa);let{loaderResults:Qa,fetcherResults:qe}=await mt(N,Dt,on,et,sn);if(ve.signal.aborted)return;ve.signal.removeEventListener("abort",Xa),Re.delete(C),K.delete(C),et.forEach(ut=>K.delete(ut.key));let rt=Cu(Qa);if(rt)return Ut(sn,rt.result,!1,{preventScrollReset:re});if(rt=Cu(qe),rt)return T.add(rt.key),Ut(sn,rt.result,!1,{preventScrollReset:re});let{loaderData:$t,errors:Za}=ny(N,Dt,Qa,void 0,et,qe);if(N.fetchers.has(C)){let ut=Ha(Pe.data);N.fetchers.set(C,ut)}Bt(wt),N.navigation.state==="loading"&&wt>ne?(He(W,"Expected pending action"),X&&X.abort(),Ze(N.navigation.location,{matches:Dt,loaderData:$t,errors:Za,fetchers:new Map(N.fetchers)})):(Ee({errors:Za,loaderData:ay(N.loaderData,$t,Dt,Za),fetchers:new Map(N.fetchers)}),Be=!1)}async function cn(C,A,B,F,ae,me,xe,re,oe){let ee=N.fetchers.get(C);_e(C,ar(oe,ee?ee.data:void 0),{flushSync:xe});let fe=new AbortController,ve=Il(l.history,B,fe.signal);if(me){let Pe=await Ln(ae,B,ve.signal);if(Pe.type==="aborted")return;if(Pe.type==="error"){Ie(C,A,Pe.error,{flushSync:xe});return}else if(Pe.matches)ae=Pe.matches,F=ur(ae,B);else{Ie(C,A,_n(404,{pathname:B}),{flushSync:xe});return}}K.set(C,fe);let Xe=ce,at=(await Ht("loader",N,ve,[F],ae,C))[F.route.id];if(K.get(C)===fe&&K.delete(C),!ve.signal.aborted){if(te.has(C)){_e(C,Ha(void 0));return}if(vl(at))if(ne>Xe){_e(C,Ha(void 0));return}else{T.add(C),await Ut(ve,at,!1,{preventScrollReset:re});return}if(an(at)){Ie(C,A,at.error);return}_e(C,Ha(at.data))}}async function Ut(C,A,B,{submission:F,fetcherSubmission:ae,preventScrollReset:me,replace:xe}={}){A.response.headers.has("X-Remix-Revalidate")&&(Be=!0);let re=A.response.headers.get("Location");He(re,"Expected a Location header on the redirect Response"),re=ey(re,new URL(C.url),y);let oe=sr(N.location,re,{_isRedirect:!0});if(c){let at=!1;if(A.response.headers.has("X-Remix-Reload-Document"))at=!0;else if(Yo.test(re)){const Pe=l.history.createURL(re);at=Pe.origin!==n.location.origin||rn(Pe.pathname,y)==null}if(at){xe?n.location.replace(re):n.location.assign(re);return}}X=null;let ee=xe===!0||A.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:fe,formAction:ve,formEncType:Xe}=N.navigation;!F&&!ae&&fe&&ve&&Xe&&(F=uy(N.navigation));let yt=F||ae;if(U1.has(A.response.status)&&yt&&wn(yt.formMethod))await lt(ee,oe,{submission:{...yt,formAction:re},preventScrollReset:me||ie,enableViewTransition:B?I:void 0});else{let at=fo(oe,F);await lt(ee,oe,{overrideNavigation:at,fetcherSubmission:ae,preventScrollReset:me||ie,enableViewTransition:B?I:void 0})}}async function Ht(C,A,B,F,ae,me){let xe,re={};try{xe=await Q1(v,C,A,B,F,ae,me,u,s)}catch(oe){return F.forEach(ee=>{re[ee.route.id]={type:"error",error:oe}}),re}for(let[oe,ee]of Object.entries(xe))if(P1(ee)){let fe=ee.result;re[oe]={type:"redirect",response:$1(fe,B,oe,ae,y)}}else re[oe]=await K1(ee);return re}async function mt(C,A,B,F,ae){let me=Ht("loader",C,ae,B,A,null),xe=Promise.all(F.map(async ee=>{if(ee.matches&&ee.match&&ee.controller){let ve=(await Ht("loader",C,Il(l.history,ee.path,ee.controller.signal),[ee.match],ee.matches,ee.key))[ee.match.route.id];return{[ee.key]:ve}}else return Promise.resolve({[ee.key]:{type:"error",error:_n(404,{pathname:ee.path})}})})),re=await me,oe=(await xe).reduce((ee,fe)=>Object.assign(ee,fe),{});return{loaderResults:re,fetcherResults:oe}}function Kt(){Be=!0,Q.forEach((C,A)=>{K.has(A)&&ze.add(A),Mn(A)})}function _e(C,A,B={}){N.fetchers.set(C,A),Ee({fetchers:new Map(N.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function Ie(C,A,B,F={}){let ae=ml(N.matches,A);ui(C),Ee({errors:{[ae.route.id]:B},fetchers:new Map(N.fetchers)},{flushSync:(F&&F.flushSync)===!0})}function Gt(C){return le.set(C,(le.get(C)||0)+1),te.has(C)&&te.delete(C),N.fetchers.get(C)||H1}function ui(C){let A=N.fetchers.get(C);K.has(C)&&!(A&&A.state==="loading"&&Re.has(C))&&Mn(C),Q.delete(C),Re.delete(C),T.delete(C),te.delete(C),ze.delete(C),N.fetchers.delete(C)}function pr(C){let A=(le.get(C)||0)-1;A<=0?(le.delete(C),te.add(C)):le.set(C,A),Ee({fetchers:new Map(N.fetchers)})}function Mn(C){let A=K.get(C);A&&(A.abort(),K.delete(C))}function vr(C){for(let A of C){let B=Gt(A),F=Ha(B.data);N.fetchers.set(A,F)}}function ma(){let C=[],A=!1;for(let B of T){let F=N.fetchers.get(B);He(F,`Expected fetcher: ${B}`),F.state==="loading"&&(T.delete(B),C.push(B),A=!0)}return vr(C),A}function Bt(C){let A=[];for(let[B,F]of Re)if(F<C){let ae=N.fetchers.get(B);He(ae,`Expected fetcher: ${B}`),ae.state==="loading"&&(Mn(B),Re.delete(B),A.push(B))}return vr(A),A.length>0}function Ju(C,A){let B=N.blockers.get(C)||ai;return P.get(C)!==A&&P.set(C,A),B}function Nn(C){N.blockers.delete(C),P.delete(C)}function Tt(C,A){let B=N.blockers.get(C)||ai;He(B.state==="unblocked"&&A.state==="blocked"||B.state==="blocked"&&A.state==="blocked"||B.state==="blocked"&&A.state==="proceeding"||B.state==="blocked"&&A.state==="unblocked"||B.state==="proceeding"&&A.state==="unblocked",`Invalid blocker state transition: ${B.state} -> ${A.state}`);let F=new Map(N.blockers);F.set(C,A),Ee({blockers:F})}function gr({currentLocation:C,nextLocation:A,historyAction:B}){if(P.size===0)return;P.size>1&&Ot(!1,"A router only supports one blocker at a time");let F=Array.from(P.entries()),[ae,me]=F[F.length-1],xe=N.blockers.get(ae);if(!(xe&&xe.state==="proceeding")&&me({currentLocation:C,nextLocation:A,historyAction:B}))return ae}function ci(C){let A=_n(404,{pathname:C}),B=d||f,{matches:F,route:ae}=iy(B);return{notFoundMatches:F,route:ae,error:A}}function Pu(C,A,B){if(_=C,H=A,O=B||null,!U&&N.navigation===oo){U=!0;let F=zn(N.location,N.matches);F!=null&&Ee({restoreScrollPosition:F})}return()=>{_=null,H=null,O=null}}function ka(C,A){return O&&O(C,A.map(F=>m1(F,N.loaderData)))||C.key}function bl(C,A){if(_&&H){let B=ka(C,A);_[B]=H()}}function zn(C,A){if(_){let B=ka(C,A),F=_[B];if(typeof F=="number")return F}return null}function Qn(C,A,B){if(p)if(C){if(Object.keys(C[0].params).length>0)return{active:!0,matches:Au(A,B,y,!0)}}else return{active:!0,matches:Au(A,B,y,!0)||[]};return{active:!1,matches:null}}async function Ln(C,A,B){if(!p)return{type:"success",matches:C};let F=C;for(;;){let ae=d==null,me=d||f,xe=u;try{await p({path:A,matches:F,patch:(ee,fe)=>{B.aborted||Im(ee,fe,me,xe,s)}})}catch(ee){return{type:"error",error:ee,partialMatches:F}}finally{ae&&!B.aborted&&(f=[...f])}if(B.aborted)return{type:"aborted"};let re=qa(me,A,y);if(re)return{type:"success",matches:re};let oe=Au(me,A,y,!0);if(!oe||F.length===oe.length&&F.every((ee,fe)=>ee.route.id===oe[fe].route.id))return{type:"success",matches:null};F=oe}}function Wu(C){u={},d=Lu(C,s,void 0,u)}function Er(C,A){let B=d==null;Im(C,A,d||f,u,s),B&&(f=[...f],Ee({}))}return k={get basename(){return y},get future(){return b},get state(){return N},get routes(){return f},get window(){return n},initialize:Je,subscribe:Le,enableScrollRestoration:Pu,navigate:vt,fetch:Zt,revalidate:it,createHref:C=>l.history.createHref(C),encodeLocation:C=>l.history.encodeLocation(C),getFetcher:Gt,deleteFetcher:pr,dispose:Ce,getBlocker:Ju,deleteBlocker:Nn,patchRoutes:Er,_internalFetchControllers:K,_internalSetRoutes:Wu},k}function V1(l){return l!=null&&("formData"in l&&l.formData!=null||"body"in l&&l.body!==void 0)}function Co(l,n,c,s,u,f){let d,y;if(u){d=[];for(let p of n)if(d.push(p),p.route.id===u){y=p;break}}else d=n,y=n[n.length-1];let v=Vo(s||".",qo(d),rn(l.pathname,c)||l.pathname,f==="path");if(s==null&&(v.search=l.search,v.hash=l.hash),(s==null||s===""||s===".")&&y){let p=Go(v.search);if(y.route.index&&!p)v.search=v.search?v.search.replace(/^\?/,"?index&"):"?index";else if(!y.route.index&&p){let b=new URLSearchParams(v.search),R=b.getAll("index");b.delete("index"),R.filter(_=>_).forEach(_=>b.append("index",_));let S=b.toString();v.search=S?`?${S}`:""}}return c!=="/"&&(v.pathname=v.pathname==="/"?c:Gn([c,v.pathname])),Va(v)}function Fm(l,n,c){if(!c||!V1(c))return{path:n};if(c.formMethod&&!W1(c.formMethod))return{path:n,error:_n(405,{method:c.formMethod})};let s=()=>({path:n,error:_n(400,{type:"invalid-body"})}),f=(c.formMethod||"get").toUpperCase(),d=qy(n);if(c.body!==void 0){if(c.formEncType==="text/plain"){if(!wn(f))return s();let R=typeof c.body=="string"?c.body:c.body instanceof FormData||c.body instanceof URLSearchParams?Array.from(c.body.entries()).reduce((S,[_,O])=>`${S}${_}=${O} +`,""):String(c.body);return{path:n,submission:{formMethod:f,formAction:d,formEncType:c.formEncType,formData:void 0,json:void 0,text:R}}}else if(c.formEncType==="application/json"){if(!wn(f))return s();try{let R=typeof c.body=="string"?JSON.parse(c.body):c.body;return{path:n,submission:{formMethod:f,formAction:d,formEncType:c.formEncType,formData:void 0,json:R,text:void 0}}}catch{return s()}}}He(typeof FormData=="function","FormData is not available in this environment");let y,v;if(c.formData)y=Oo(c.formData),v=c.formData;else if(c.body instanceof FormData)y=Oo(c.body),v=c.body;else if(c.body instanceof URLSearchParams)y=c.body,v=ty(y);else if(c.body==null)y=new URLSearchParams,v=new FormData;else try{y=new URLSearchParams(c.body),v=ty(y)}catch{return s()}let p={formMethod:f,formAction:d,formEncType:c&&c.formEncType||"application/x-www-form-urlencoded",formData:v,json:void 0,text:void 0};if(wn(p.formMethod))return{path:n,submission:p};let b=Ga(n);return l&&b.search&&Go(b.search)&&y.append("index",""),b.search=`?${y}`,{path:Va(b),submission:p}}function Jm(l,n,c=!1){let s=l.findIndex(u=>u.route.id===n);return s>=0?l.slice(0,c?s+1:s):l}function Pm(l,n,c,s,u,f,d,y,v,p,b,R,S,_){let O=_?an(_[1])?_[1].error:_[1].data:void 0,H=l.createURL(n.location),U=l.createURL(u),M=c;f&&n.errors?M=Jm(c,Object.keys(n.errors)[0],!0):_&&an(_[1])&&(M=Jm(c,_[0]));let q=_?_[1].statusCode:void 0,Y=q&&q>=400,J=M.filter((N,W)=>{let{route:ie}=N;if(ie.lazy)return!0;if(ie.loader==null)return!1;if(f)return jo(ie,n.loaderData,n.errors);if(Y1(n.loaderData,n.matches[W],N))return!0;let X=n.matches[W],I=N;return Wm(N,{currentUrl:H,currentParams:X.params,nextUrl:U,nextParams:I.params,...s,actionResult:O,actionStatus:q,defaultShouldRevalidate:Y?!1:d||H.pathname+H.search===U.pathname+U.search||H.search!==U.search||G1(X,I)})}),k=[];return p.forEach((N,W)=>{if(f||!c.some(Ne=>Ne.route.id===N.routeId)||v.has(W))return;let ie=qa(R,N.path,S);if(!ie){k.push({key:W,routeId:N.routeId,path:N.path,matches:null,match:null,controller:null});return}let X=n.fetchers.get(W),I=ur(ie,N.path),de=!1;b.has(W)?de=!1:y.has(W)?(y.delete(W),de=!0):X&&X.state!=="idle"&&X.data===void 0?de=d:de=Wm(I,{currentUrl:H,currentParams:n.matches[n.matches.length-1].params,nextUrl:U,nextParams:c[c.length-1].params,...s,actionResult:O,actionStatus:q,defaultShouldRevalidate:Y?!1:d}),de&&k.push({key:W,routeId:N.routeId,path:N.path,matches:ie,match:I,controller:new AbortController})}),[J,k]}function jo(l,n,c){if(l.lazy)return!0;if(!l.loader)return!1;let s=n!=null&&n[l.id]!==void 0,u=c!=null&&c[l.id]!==void 0;return!s&&u?!1:typeof l.loader=="function"&&l.loader.hydrate===!0?!0:!s&&!u}function Y1(l,n,c){let s=!n||c.route.id!==n.route.id,u=!l.hasOwnProperty(c.route.id);return s||u}function G1(l,n){let c=l.route.path;return l.pathname!==n.pathname||c!=null&&c.endsWith("*")&&l.params["*"]!==n.params["*"]}function Wm(l,n){if(l.route.shouldRevalidate){let c=l.route.shouldRevalidate(n);if(typeof c=="boolean")return c}return n.defaultShouldRevalidate}function Im(l,n,c,s,u){let f;if(l){let v=s[l];He(v,`No route found to patch children into: routeId = ${l}`),v.children||(v.children=[]),f=v.children}else f=c;let d=n.filter(v=>!f.some(p=>By(v,p))),y=Lu(d,u,[l||"_","patch",String((f==null?void 0:f.length)||"0")],s);f.push(...y)}function By(l,n){return"id"in l&&"id"in n&&l.id===n.id?!0:l.index===n.index&&l.path===n.path&&l.caseSensitive===n.caseSensitive?(!l.children||l.children.length===0)&&(!n.children||n.children.length===0)?!0:l.children.every((c,s)=>{var u;return(u=n.children)==null?void 0:u.some(f=>By(c,f))}):!1}async function k1(l,n,c){if(!l.lazy)return;let s=await l.lazy();if(!l.lazy)return;let u=c[l.id];He(u,"No route found in manifest");let f={};for(let d in s){let v=u[d]!==void 0&&d!=="hasErrorBoundary";Ot(!v,`Route "${u.id}" has a static property "${d}" defined but its lazy function is also returning a value for this property. The lazy route property "${d}" will be ignored.`),!v&&!d1.has(d)&&(f[d]=s[d])}Object.assign(u,f),Object.assign(u,{...n(u),lazy:void 0})}async function X1({matches:l}){let n=l.filter(s=>s.shouldLoad);return(await Promise.all(n.map(s=>s.resolve()))).reduce((s,u,f)=>Object.assign(s,{[n[f].route.id]:u}),{})}async function Q1(l,n,c,s,u,f,d,y,v,p){let b=f.map(_=>_.route.lazy?k1(_.route,v,y):void 0),R=f.map((_,O)=>{let H=b[O],U=u.some(q=>q.route.id===_.route.id);return{..._,shouldLoad:U,resolve:async q=>(q&&s.method==="GET"&&(_.route.lazy||_.route.loader)&&(U=!0),U?Z1(n,s,_,H,q,p):Promise.resolve({type:"data",result:void 0}))}}),S=await l({matches:R,request:s,params:f[0].params,fetcherKey:d,context:p});try{await Promise.all(b)}catch{}return S}async function Z1(l,n,c,s,u,f){let d,y,v=p=>{let b,R=new Promise((O,H)=>b=H);y=()=>b(),n.signal.addEventListener("abort",y);let S=O=>typeof p!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${l}" [routeId: ${c.route.id}]`)):p({request:n,params:c.params,context:f},...O!==void 0?[O]:[]),_=(async()=>{try{return{type:"data",result:await(u?u(H=>S(H)):S())}}catch(O){return{type:"error",result:O}}})();return Promise.race([_,R])};try{let p=c.route[l];if(s)if(p){let b,[R]=await Promise.all([v(p).catch(S=>{b=S}),s]);if(b!==void 0)throw b;d=R}else if(await s,p=c.route[l],p)d=await v(p);else if(l==="action"){let b=new URL(n.url),R=b.pathname+b.search;throw _n(405,{method:n.method,pathname:R,routeId:c.route.id})}else return{type:"data",result:void 0};else if(p)d=await v(p);else{let b=new URL(n.url),R=b.pathname+b.search;throw _n(404,{pathname:R})}}catch(p){return{type:"error",result:p}}finally{y&&n.signal.removeEventListener("abort",y)}return d}async function K1(l){var s,u,f,d,y,v;let{result:n,type:c}=l;if(Vy(n)){let p;try{let b=n.headers.get("Content-Type");b&&/\bapplication\/json\b/.test(b)?n.body==null?p=null:p=await n.json():p=await n.text()}catch(b){return{type:"error",error:b}}return c==="error"?{type:"error",error:new Hu(n.status,n.statusText,p),statusCode:n.status,headers:n.headers}:{type:"data",data:p,statusCode:n.status,headers:n.headers}}return c==="error"?ry(n)?n.data instanceof Error?{type:"error",error:n.data,statusCode:(s=n.init)==null?void 0:s.status,headers:(u=n.init)!=null&&u.headers?new Headers(n.init.headers):void 0}:{type:"error",error:new Hu(((f=n.init)==null?void 0:f.status)||500,void 0,n.data),statusCode:or(n)?n.status:void 0,headers:(d=n.init)!=null&&d.headers?new Headers(n.init.headers):void 0}:{type:"error",error:n,statusCode:or(n)?n.status:void 0}:ry(n)?{type:"data",data:n.data,statusCode:(y=n.init)==null?void 0:y.status,headers:(v=n.init)!=null&&v.headers?new Headers(n.init.headers):void 0}:{type:"data",data:n}}function $1(l,n,c,s,u){let f=l.headers.get("Location");if(He(f,"Redirects returned/thrown from loaders/actions must have a Location header"),!Yo.test(f)){let d=s.slice(0,s.findIndex(y=>y.route.id===c)+1);f=Co(new URL(n.url),d,u,f),l.headers.set("Location",f)}return l}function ey(l,n,c){if(Yo.test(l)){let s=l,u=s.startsWith("//")?new URL(n.protocol+s):new URL(s),f=rn(u.pathname,c)!=null;if(u.origin===n.origin&&f)return u.pathname+u.search+u.hash}return l}function Il(l,n,c,s){let u=l.createURL(qy(n)).toString(),f={signal:c};if(s&&wn(s.formMethod)){let{formMethod:d,formEncType:y}=s;f.method=d.toUpperCase(),y==="application/json"?(f.headers=new Headers({"Content-Type":y}),f.body=JSON.stringify(s.json)):y==="text/plain"?f.body=s.text:y==="application/x-www-form-urlencoded"&&s.formData?f.body=Oo(s.formData):f.body=s.formData}return new Request(u,f)}function Oo(l){let n=new URLSearchParams;for(let[c,s]of l.entries())n.append(c,typeof s=="string"?s:s.name);return n}function ty(l){let n=new FormData;for(let[c,s]of l.entries())n.append(c,s);return n}function F1(l,n,c,s=!1,u=!1){let f={},d=null,y,v=!1,p={},b=c&&an(c[1])?c[1].error:void 0;return l.forEach(R=>{if(!(R.route.id in n))return;let S=R.route.id,_=n[S];if(He(!vl(_),"Cannot handle redirect results in processLoaderData"),an(_)){let O=_.error;if(b!==void 0&&(O=b,b=void 0),d=d||{},u)d[S]=O;else{let H=ml(l,S);d[H.route.id]==null&&(d[H.route.id]=O)}s||(f[S]=Hy),v||(v=!0,y=or(_.error)?_.error.status:500),_.headers&&(p[S]=_.headers)}else f[S]=_.data,_.statusCode&&_.statusCode!==200&&!v&&(y=_.statusCode),_.headers&&(p[S]=_.headers)}),b!==void 0&&c&&(d={[c[0]]:b},f[c[0]]=void 0),{loaderData:f,errors:d,statusCode:y||200,loaderHeaders:p}}function ny(l,n,c,s,u,f){let{loaderData:d,errors:y}=F1(n,c,s);return u.forEach(v=>{let{key:p,match:b,controller:R}=v,S=f[p];if(He(S,"Did not find corresponding fetcher result"),!(R&&R.signal.aborted))if(an(S)){let _=ml(l.matches,b==null?void 0:b.route.id);y&&y[_.route.id]||(y={...y,[_.route.id]:S.error}),l.fetchers.delete(p)}else if(vl(S))He(!1,"Unhandled fetcher revalidation redirect");else{let _=Ha(S.data);l.fetchers.set(p,_)}}),{loaderData:d,errors:y}}function ay(l,n,c,s){let u=Object.entries(n).filter(([,f])=>f!==Hy).reduce((f,[d,y])=>(f[d]=y,f),{});for(let f of c){let d=f.route.id;if(!n.hasOwnProperty(d)&&l.hasOwnProperty(d)&&f.route.loader&&(u[d]=l[d]),s&&s.hasOwnProperty(d))break}return u}function ly(l){return l?an(l[1])?{actionData:{}}:{actionData:{[l[0]]:l[1].data}}:{}}function ml(l,n){return(n?l.slice(0,l.findIndex(s=>s.route.id===n)+1):[...l]).reverse().find(s=>s.route.hasErrorBoundary===!0)||l[0]}function iy(l){let n=l.length===1?l[0]:l.find(c=>c.index||!c.path||c.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n}}function _n(l,{pathname:n,routeId:c,method:s,type:u,message:f}={}){let d="Unknown Server Error",y="Unknown @remix-run/router error";return l===400?(d="Bad Request",s&&n&&c?y=`You made a ${s} request to "${n}" but did not provide a \`loader\` for route "${c}", so there is no way to handle the request.`:u==="invalid-body"&&(y="Unable to encode submission body")):l===403?(d="Forbidden",y=`Route "${c}" does not match URL "${n}"`):l===404?(d="Not Found",y=`No route matches URL "${n}"`):l===405&&(d="Method Not Allowed",s&&n&&c?y=`You made a ${s.toUpperCase()} request to "${n}" but did not provide an \`action\` for route "${c}", so there is no way to handle the request.`:s&&(y=`Invalid request method "${s.toUpperCase()}"`)),new Hu(l||500,d,new Error(y),!0)}function Cu(l){let n=Object.entries(l);for(let c=n.length-1;c>=0;c--){let[s,u]=n[c];if(vl(u))return{key:s,result:u}}}function qy(l){let n=typeof l=="string"?Ga(l):l;return Va({...n,hash:""})}function J1(l,n){return l.pathname!==n.pathname||l.search!==n.search?!1:l.hash===""?n.hash!=="":l.hash===n.hash?!0:n.hash!==""}function P1(l){return Vy(l.result)&&L1.has(l.result.status)}function an(l){return l.type==="error"}function vl(l){return(l&&l.type)==="redirect"}function ry(l){return typeof l=="object"&&l!=null&&"type"in l&&"data"in l&&"init"in l&&l.type==="DataWithResponseInit"}function Vy(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.headers=="object"&&typeof l.body<"u"}function W1(l){return z1.has(l.toUpperCase())}function wn(l){return A1.has(l.toUpperCase())}function Go(l){return new URLSearchParams(l).getAll("index").some(n=>n==="")}function ur(l,n){let c=typeof n=="string"?Ga(n).search:n.search;if(l[l.length-1].route.index&&Go(c||""))return l[l.length-1];let s=zy(l);return s[s.length-1]}function uy(l){let{formMethod:n,formAction:c,formEncType:s,text:u,formData:f,json:d}=l;if(!(!n||!c||!s)){if(u!=null)return{formMethod:n,formAction:c,formEncType:s,formData:void 0,json:void 0,text:u};if(f!=null)return{formMethod:n,formAction:c,formEncType:s,formData:f,json:void 0,text:void 0};if(d!==void 0)return{formMethod:n,formAction:c,formEncType:s,formData:void 0,json:d,text:void 0}}}function fo(l,n){return n?{state:"loading",location:l,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}:{state:"loading",location:l,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function I1(l,n){return{state:"submitting",location:l,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}}function ar(l,n){return l?{state:"loading",formMethod:l.formMethod,formAction:l.formAction,formEncType:l.formEncType,formData:l.formData,json:l.json,text:l.text,data:n}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function e0(l,n){return{state:"submitting",formMethod:l.formMethod,formAction:l.formAction,formEncType:l.formEncType,formData:l.formData,json:l.json,text:l.text,data:n?n.data:void 0}}function Ha(l){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:l}}function t0(l,n){try{let c=l.sessionStorage.getItem(Uy);if(c){let s=JSON.parse(c);for(let[u,f]of Object.entries(s||{}))f&&Array.isArray(f)&&n.set(u,new Set(f||[]))}}catch{}}function n0(l,n){if(n.size>0){let c={};for(let[s,u]of n)c[s]=[...u];try{l.sessionStorage.setItem(Uy,JSON.stringify(c))}catch(s){Ot(!1,`Failed to save applied view transitions in sessionStorage (${s}).`)}}}function a0(){let l,n,c=new Promise((s,u)=>{l=async f=>{s(f);try{await c}catch{}},n=async f=>{u(f);try{await c}catch{}}});return{promise:c,resolve:l,reject:n}}var El=g.createContext(null);El.displayName="DataRouter";var dr=g.createContext(null);dr.displayName="DataRouterState";var ko=g.createContext({isTransitioning:!1});ko.displayName="ViewTransition";var Yy=g.createContext(new Map);Yy.displayName="Fetchers";var l0=g.createContext(null);l0.displayName="Await";var kn=g.createContext(null);kn.displayName="Navigation";var Xu=g.createContext(null);Xu.displayName="Location";var An=g.createContext({outlet:null,matches:[],isDataRoute:!1});An.displayName="Route";var Xo=g.createContext(null);Xo.displayName="RouteError";function i0(l,{relative:n}={}){He(hr(),"useHref() may be used only in the context of a <Router> component.");let{basename:c,navigator:s}=g.useContext(kn),{hash:u,pathname:f,search:d}=mr(l,{relative:n}),y=f;return c!=="/"&&(y=f==="/"?c:Gn([c,f])),s.createHref({pathname:y,search:d,hash:u})}function hr(){return g.useContext(Xu)!=null}function Xn(){return He(hr(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Xu).location}var Gy="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ky(l){g.useContext(kn).static||g.useLayoutEffect(l)}function Xy(){let{isDataRoute:l}=g.useContext(An);return l?E0():r0()}function r0(){He(hr(),"useNavigate() may be used only in the context of a <Router> component.");let l=g.useContext(El),{basename:n,navigator:c}=g.useContext(kn),{matches:s}=g.useContext(An),{pathname:u}=Xn(),f=JSON.stringify(qo(s)),d=g.useRef(!1);return ky(()=>{d.current=!0}),g.useCallback((v,p={})=>{if(Ot(d.current,Gy),!d.current)return;if(typeof v=="number"){c.go(v);return}let b=Vo(v,JSON.parse(f),u,p.relative==="path");l==null&&n!=="/"&&(b.pathname=b.pathname==="/"?n:Gn([n,b.pathname])),(p.replace?c.replace:c.push)(b,p.state,p)},[n,c,f,u,l])}var u0=g.createContext(null);function c0(l){let n=g.useContext(An).outlet;return n&&g.createElement(u0.Provider,{value:l},n)}function H2(){let{matches:l}=g.useContext(An),n=l[l.length-1];return n?n.params:{}}function mr(l,{relative:n}={}){let{matches:c}=g.useContext(An),{pathname:s}=Xn(),u=JSON.stringify(qo(c));return g.useMemo(()=>Vo(l,JSON.parse(u),s,n==="path"),[l,u,s,n])}function s0(l,n,c,s){He(hr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:u,static:f}=g.useContext(kn),{matches:d}=g.useContext(An),y=d[d.length-1],v=y?y.params:{},p=y?y.pathname:"/",b=y?y.pathnameBase:"/",R=y&&y.route;{let q=R&&R.path||"";Ky(p,!R||q.endsWith("*")||q.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${p}" (under <Route path="${q}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent <Route path="${Y}"> to <Route path="${Y==="/"?"*":`${Y}/*`}">.`)}let x=Jn(),R;R=x;let w=R.pathname||"/",k=w;if(b!=="/"){let Y=b.replace(/^\//,"").split("/");k="/"+w.replace(/^\//,"").split("/").slice(Y.length).join("/")}let B=!f&&u&&u.matches&&u.matches.length>0?u.matches:$a(a,{pathname:k});return Ot(T||B!=null,`No routes matched location "${R.pathname}${R.search}${R.hash}" `),Ot(B==null||B[B.length-1].route.element!==void 0||B[B.length-1].route.Component!==void 0||B[B.length-1].route.lazy!==void 0,`Matched leaf route at location "${R.pathname}${R.search}${R.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),d1(B&&B.map(Y=>Object.assign({},Y,{params:Object.assign({},v,Y.params),pathname:Kn([b,o.encodeLocation?o.encodeLocation(Y.pathname).pathname:Y.pathname]),pathnameBase:Y.pathnameBase==="/"?b:Kn([b,o.encodeLocation?o.encodeLocation(Y.pathnameBase).pathname:Y.pathnameBase])})),m,u,c)}function c1(){let a=y1(),i=yr(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),u=a instanceof Error?a.stack:null,c="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:c},f={padding:"2px 4px",backgroundColor:c},m=null;return console.error("Error handled by React Router default ErrorBoundary:",a),m=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:f},"ErrorBoundary")," or"," ",g.createElement("code",{style:f},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},i),u?g.createElement("pre",{style:o},u):null,m)}var s1=g.createElement(c1,null),o1=class extends g.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,i){return i.location!==a.location||i.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:i.error,location:i.location,revalidation:a.revalidation||i.revalidation}}componentDidCatch(a,i){console.error("React Router caught the following error during render",a,i)}render(){return this.state.error!==void 0?g.createElement(Bn.Provider,{value:this.props.routeContext},g.createElement(Yo.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function f1({routeContext:a,match:i,children:u}){let c=g.useContext(Cl);return c&&c.static&&c.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=i.route.id),g.createElement(Bn.Provider,{value:a},u)}function d1(a,i=[],u=null,c=null){if(a==null){if(!u)return null;if(u.errors)a=u.matches;else if(i.length===0&&!u.initialized&&u.matches.length>0)a=u.matches;else return null}let o=a,f=u==null?void 0:u.errors;if(f!=null){let v=o.findIndex(p=>p.route.id&&(f==null?void 0:f[p.route.id])!==void 0);ze(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),o=o.slice(0,Math.min(o.length,v+1))}let m=!1,y=-1;if(u)for(let v=0;v<o.length;v++){let p=o[v];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(y=v),p.route.id){let{loaderData:b,errors:T}=u,x=p.route.loader&&!b.hasOwnProperty(p.route.id)&&(!T||T[p.route.id]===void 0);if(p.route.lazy||x){m=!0,y>=0?o=o.slice(0,y+1):o=[o[0]];break}}}return o.reduceRight((v,p,b)=>{let T,x=!1,R=null,w=null;u&&(T=f&&p.route.id?f[p.route.id]:void 0,R=p.route.errorElement||s1,m&&(y<0&&b===0?(Qy("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),x=!0,w=null):y===b&&(x=!0,w=p.route.hydrateFallbackElement||null)));let k=i.concat(o.slice(0,b+1)),B=()=>{let U;return T?U=R:x?U=w:p.route.Component?U=g.createElement(p.route.Component,null):p.route.element?U=p.route.element:U=v,g.createElement(f1,{match:p,routeContext:{outlet:v,matches:k,isDataRoute:u!=null},children:U})};return u&&(p.route.ErrorBoundary||p.route.errorElement||b===0)?g.createElement(o1,{location:u.location,revalidation:u.revalidation,component:R,error:T,children:B(),routeContext:{outlet:null,matches:k,isDataRoute:!0}}):B()},null)}function Go(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Gy(a){let i=g.useContext(Cl);return ze(i,Go(a)),i}function Xy(a){let i=g.useContext(vr);return ze(i,Go(a)),i}function h1(a){let i=g.useContext(Bn);return ze(i,Go(a)),i}function Xo(a){let i=h1(a),u=i.matches[i.matches.length-1];return ze(u.route.id,`${a} can only be used on routes that contain a unique "id"`),u.route.id}function m1(){return Xo("useRouteId")}function y1(){var c;let a=g.useContext(Yo),i=Xy("useRouteError"),u=Xo("useRouteError");return a!==void 0?a:(c=i.errors)==null?void 0:c[u]}var p1=0;function Ax(a){let{router:i,basename:u}=Gy("useBlocker"),c=Xy("useBlocker"),[o,f]=g.useState(""),m=g.useCallback(y=>{if(typeof a!="function")return!!a;if(u==="/")return a(y);let{currentLocation:v,nextLocation:p,historyAction:b}=y;return a({currentLocation:{...v,pathname:on(v.pathname,u)||v.pathname},nextLocation:{...p,pathname:on(p.pathname,u)||p.pathname},historyAction:b})},[u,a]);return g.useEffect(()=>{let y=String(++p1);return f(y),()=>i.deleteBlocker(y)},[i]),g.useEffect(()=>{o!==""&&i.getBlocker(o,m)},[i,o,m]),o&&c.blockers.has(o)?c.blockers.get(o):oi}function v1(){let{router:a}=Gy("useNavigate"),i=Xo("useNavigate"),u=g.useRef(!1);return Vy(()=>{u.current=!0}),g.useCallback(async(o,f={})=>{Ot(u.current,ky),u.current&&(typeof o=="number"?a.navigate(o):await a.navigate(o,{fromRouteId:i,...f}))},[a,i])}var ry={};function Qy(a,i,u){!i&&!ry[a]&&(ry[a]=!0,Ot(!1,u))}var uy={};function cy(a,i){!a&&!uy[i]&&(uy[i]=!0,console.warn(i))}function g1(a){let i={hasErrorBoundary:a.hasErrorBoundary||a.ErrorBoundary!=null||a.errorElement!=null};return a.Component&&(a.element&&Ot(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(i,{element:g.createElement(a.Component),Component:void 0})),a.HydrateFallback&&(a.hydrateFallbackElement&&Ot(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(i,{hydrateFallbackElement:g.createElement(a.HydrateFallback),HydrateFallback:void 0})),a.ErrorBoundary&&(a.errorElement&&Ot(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(i,{errorElement:g.createElement(a.ErrorBoundary),ErrorBoundary:void 0})),i}var E1=class{constructor(){this.status="pending",this.promise=new Promise((a,i)=>{this.resolve=u=>{this.status==="pending"&&(this.status="resolved",a(u))},this.reject=u=>{this.status==="pending"&&(this.status="rejected",i(u))}})}};function b1({router:a,flushSync:i}){let[u,c]=g.useState(a.state),[o,f]=g.useState(),[m,y]=g.useState({isTransitioning:!1}),[v,p]=g.useState(),[b,T]=g.useState(),[x,R]=g.useState(),w=g.useRef(new Map),k=g.useCallback(($,{deletedFetchers:ee,flushSync:J,viewTransitionOpts:O})=>{$.fetchers.forEach((be,Z)=>{be.data!==void 0&&w.current.set(Z,be.data)}),ee.forEach(be=>w.current.delete(be)),cy(J===!1||i!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let ue=a.window!=null&&a.window.document!=null&&typeof a.window.document.startViewTransition=="function";if(cy(O==null||ue,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!O||!ue){i&&J?i(()=>c($)):g.startTransition(()=>c($));return}if(i&&J){i(()=>{b&&(v&&v.resolve(),b.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:O.currentLocation,nextLocation:O.nextLocation})});let be=a.window.document.startViewTransition(()=>{i(()=>c($))});be.finished.finally(()=>{i(()=>{p(void 0),T(void 0),f(void 0),y({isTransitioning:!1})})}),i(()=>T(be));return}b?(v&&v.resolve(),b.skipTransition(),R({state:$,currentLocation:O.currentLocation,nextLocation:O.nextLocation})):(f($),y({isTransitioning:!0,flushSync:!1,currentLocation:O.currentLocation,nextLocation:O.nextLocation}))},[a.window,i,b,v]);g.useLayoutEffect(()=>a.subscribe(k),[a,k]),g.useEffect(()=>{m.isTransitioning&&!m.flushSync&&p(new E1)},[m]),g.useEffect(()=>{if(v&&o&&a.window){let $=o,ee=v.promise,J=a.window.document.startViewTransition(async()=>{g.startTransition(()=>c($)),await ee});J.finished.finally(()=>{p(void 0),T(void 0),f(void 0),y({isTransitioning:!1})}),T(J)}},[o,v,a.window]),g.useEffect(()=>{v&&o&&u.location.key===o.location.key&&v.resolve()},[v,b,u.location,o]),g.useEffect(()=>{!m.isTransitioning&&x&&(f(x.state),y({isTransitioning:!0,flushSync:!1,currentLocation:x.currentLocation,nextLocation:x.nextLocation}),R(void 0))},[m.isTransitioning,x]);let B=g.useMemo(()=>({createHref:a.createHref,encodeLocation:a.encodeLocation,go:$=>a.navigate($),push:($,ee,J)=>a.navigate($,{state:ee,preventScrollReset:J==null?void 0:J.preventScrollReset}),replace:($,ee,J)=>a.navigate($,{replace:!0,state:ee,preventScrollReset:J==null?void 0:J.preventScrollReset})}),[a]),U=a.basename||"/",Y=g.useMemo(()=>({router:a,navigator:B,static:!1,basename:U}),[a,B,U]);return g.createElement(g.Fragment,null,g.createElement(Cl.Provider,{value:Y},g.createElement(vr.Provider,{value:u},g.createElement(qy.Provider,{value:w.current},g.createElement(Vo.Provider,{value:m},g.createElement(R1,{basename:U,location:u.location,navigationType:u.historyAction,navigator:B},g.createElement(S1,{routes:a.routes,future:a.future,state:u})))))),null)}var S1=g.memo(x1);function x1({routes:a,future:i,state:u}){return u1(a,void 0,u,i)}function _1(a){return r1(a.context)}function R1({basename:a="/",children:i=null,location:u,navigationType:c="POP",navigator:o,static:f=!1}){ze(!gr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let m=a.replace(/^\/*/,"/"),y=g.useMemo(()=>({basename:m,navigator:o,static:f,future:{}}),[m,o,f]);typeof u=="string"&&(u=Pa(u));let{pathname:v="/",search:p="",hash:b="",state:T=null,key:x="default"}=u,R=g.useMemo(()=>{let w=on(v,m);return w==null?null:{location:{pathname:w,search:p,hash:b,state:T,key:x},navigationType:c}},[m,v,p,b,T,x,c]);return Ot(R!=null,`<Router basename="${m}"> is not able to match the URL "${v}${p}${b}" because it does not start with the basename, so the <Router> won't render anything.`),R==null?null:g.createElement($n.Provider,{value:y},g.createElement(Qu.Provider,{children:i,value:R}))}var zu="get",Lu="application/x-www-form-urlencoded";function Zu(a){return a!=null&&typeof a.tagName=="string"}function T1(a){return Zu(a)&&a.tagName.toLowerCase()==="button"}function N1(a){return Zu(a)&&a.tagName.toLowerCase()==="form"}function C1(a){return Zu(a)&&a.tagName.toLowerCase()==="input"}function j1(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function O1(a,i){return a.button===0&&(!i||i==="_self")&&!j1(a)}function jo(a=""){return new URLSearchParams(typeof a=="string"||Array.isArray(a)||a instanceof URLSearchParams?a:Object.keys(a).reduce((i,u)=>{let c=a[u];return i.concat(Array.isArray(c)?c.map(o=>[u,o]):[[u,c]])},[]))}function D1(a,i){let u=jo(a);return i&&i.forEach((c,o)=>{u.has(o)||i.getAll(o).forEach(f=>{u.append(o,f)})}),u}var Ou=null;function A1(){if(Ou===null)try{new FormData(document.createElement("form"),0),Ou=!1}catch{Ou=!0}return Ou}var w1=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function oo(a){return a!=null&&!w1.has(a)?(Ot(!1,`"${a}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Lu}"`),null):a}function M1(a,i){let u,c,o,f,m;if(N1(a)){let y=a.getAttribute("action");c=y?on(y,i):null,u=a.getAttribute("method")||zu,o=oo(a.getAttribute("enctype"))||Lu,f=new FormData(a)}else if(T1(a)||C1(a)&&(a.type==="submit"||a.type==="image")){let y=a.form;if(y==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let v=a.getAttribute("formaction")||y.getAttribute("action");if(c=v?on(v,i):null,u=a.getAttribute("formmethod")||y.getAttribute("method")||zu,o=oo(a.getAttribute("formenctype"))||oo(y.getAttribute("enctype"))||Lu,f=new FormData(y,a),!A1()){let{name:p,type:b,value:T}=a;if(b==="image"){let x=p?`${p}.`:"";f.append(`${x}x`,"0"),f.append(`${x}y`,"0")}else p&&f.append(p,T)}}else{if(Zu(a))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');u=zu,c=null,o=Lu,m=a}return f&&o==="text/plain"&&(m=f,f=void 0),{action:c,method:u.toLowerCase(),encType:o,formData:f,body:m}}function Qo(a,i){if(a===!1||a===null||typeof a>"u")throw new Error(i)}async function z1(a,i){if(a.id in i)return i[a.id];try{let u=await import(a.module);return i[a.id]=u,u}catch(u){return console.error(`Error loading route module \`${a.module}\`, reloading page...`),console.error(u),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function L1(a){return a==null?!1:a.href==null?a.rel==="preload"&&typeof a.imageSrcSet=="string"&&typeof a.imageSizes=="string":typeof a.rel=="string"&&typeof a.href=="string"}async function U1(a,i,u){let c=await Promise.all(a.map(async o=>{let f=i.routes[o.route.id];if(f){let m=await z1(f,u);return m.links?m.links():[]}return[]}));return k1(c.flat(1).filter(L1).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function sy(a,i,u,c,o,f){let m=(v,p)=>u[p]?v.route.id!==u[p].route.id:!0,y=(v,p)=>{var b;return u[p].pathname!==v.pathname||((b=u[p].route.path)==null?void 0:b.endsWith("*"))&&u[p].params["*"]!==v.params["*"]};return f==="assets"?i.filter((v,p)=>m(v,p)||y(v,p)):f==="data"?i.filter((v,p)=>{var T;let b=c.routes[v.route.id];if(!b||!b.hasLoader)return!1;if(m(v,p)||y(v,p))return!0;if(v.route.shouldRevalidate){let x=v.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((T=u[0])==null?void 0:T.params)||{},nextUrl:new URL(a,window.origin),nextParams:v.params,defaultShouldRevalidate:!0});if(typeof x=="boolean")return x}return!0}):[]}function H1(a,i){return B1(a.map(u=>{let c=i.routes[u.route.id];if(!c)return[];let o=[c.module];return c.imports&&(o=o.concat(c.imports)),o}).flat(1))}function B1(a){return[...new Set(a)]}function q1(a){let i={},u=Object.keys(a).sort();for(let c of u)i[c]=a[c];return i}function k1(a,i){let u=new Set;return new Set(i),a.reduce((c,o)=>{let f=JSON.stringify(q1(o));return u.has(f)||(u.add(f),c.push({key:f,link:o})),c},[])}function V1(a){let i=typeof a=="string"?new URL(a,typeof window>"u"?"server://singlefetch/":window.location.origin):a;return i.pathname==="/"?i.pathname="_root.data":i.pathname=`${i.pathname.replace(/\/$/,"")}.data`,i}function Y1(){let a=g.useContext(Cl);return Qo(a,"You must render this element inside a <DataRouterContext.Provider> element"),a}function G1(){let a=g.useContext(vr);return Qo(a,"You must render this element inside a <DataRouterStateContext.Provider> element"),a}var Zo=g.createContext(void 0);Zo.displayName="FrameworkContext";function Zy(){let a=g.useContext(Zo);return Qo(a,"You must render this element inside a <HydratedRouter> element"),a}function X1(a,i){let u=g.useContext(Zo),[c,o]=g.useState(!1),[f,m]=g.useState(!1),{onFocus:y,onBlur:v,onMouseEnter:p,onMouseLeave:b,onTouchStart:T}=i,x=g.useRef(null);g.useEffect(()=>{if(a==="render"&&m(!0),a==="viewport"){let k=U=>{U.forEach(Y=>{m(Y.isIntersecting)})},B=new IntersectionObserver(k,{threshold:.5});return x.current&&B.observe(x.current),()=>{B.disconnect()}}},[a]),g.useEffect(()=>{if(c){let k=setTimeout(()=>{m(!0)},100);return()=>{clearTimeout(k)}}},[c]);let R=()=>{o(!0)},w=()=>{o(!1),m(!1)};return u?a!=="intent"?[f,x,{}]:[f,x,{onFocus:sr(y,R),onBlur:sr(v,w),onMouseEnter:sr(p,R),onMouseLeave:sr(b,w),onTouchStart:sr(T,R)}]:[!1,x,{}]}function sr(a,i){return u=>{a&&a(u),u.defaultPrevented||i(u)}}function Q1({page:a,...i}){let{router:u}=Y1(),c=g.useMemo(()=>$a(u.routes,a,u.basename),[u.routes,a,u.basename]);return c?g.createElement(K1,{page:a,matches:c,...i}):null}function Z1(a){let{manifest:i,routeModules:u}=Zy(),[c,o]=g.useState([]);return g.useEffect(()=>{let f=!1;return U1(a,i,u).then(m=>{f||o(m)}),()=>{f=!0}},[a,i,u]),c}function K1({page:a,matches:i,...u}){let c=Jn(),{manifest:o,routeModules:f}=Zy(),{loaderData:m,matches:y}=G1(),v=g.useMemo(()=>sy(a,i,y,o,c,"data"),[a,i,y,o,c]),p=g.useMemo(()=>sy(a,i,y,o,c,"assets"),[a,i,y,o,c]),b=g.useMemo(()=>{if(a===c.pathname+c.search+c.hash)return[];let R=new Set,w=!1;if(i.forEach(B=>{var Y;let U=o.routes[B.route.id];!U||!U.hasLoader||(!v.some($=>$.route.id===B.route.id)&&B.route.id in m&&((Y=f[B.route.id])!=null&&Y.shouldRevalidate)||U.hasClientLoader?w=!0:R.add(B.route.id))}),R.size===0)return[];let k=V1(a);return w&&R.size>0&&k.searchParams.set("_routes",i.filter(B=>R.has(B.route.id)).map(B=>B.route.id).join(",")),[k.pathname+k.search]},[m,c,o,v,i,a,f]),T=g.useMemo(()=>H1(p,o),[p,o]),x=Z1(p);return g.createElement(g.Fragment,null,b.map(R=>g.createElement("link",{key:R,rel:"prefetch",as:"fetch",href:R,...u})),T.map(R=>g.createElement("link",{key:R,rel:"modulepreload",href:R,...u})),x.map(({key:R,link:w})=>g.createElement("link",{key:R,...w})))}function $1(...a){return i=>{a.forEach(u=>{typeof u=="function"?u(i):u!=null&&(u.current=i)})}}var Ky=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ky&&(window.__reactRouterVersion="7.1.5")}catch{}function J1(a,i){return H0({basename:i==null?void 0:i.basename,future:i==null?void 0:i.future,history:u0({window:i==null?void 0:i.window}),hydrationData:F1(),routes:a,mapRouteProperties:g1,dataStrategy:i==null?void 0:i.dataStrategy,patchRoutesOnNavigation:i==null?void 0:i.patchRoutesOnNavigation,window:i==null?void 0:i.window}).initialize()}function F1(){let a=window==null?void 0:window.__staticRouterHydrationData;return a&&a.errors&&(a={...a,errors:P1(a.errors)}),a}function P1(a){if(!a)return null;let i=Object.entries(a),u={};for(let[c,o]of i)if(o&&o.__type==="RouteErrorResponse")u[c]=new Bu(o.status,o.statusText,o.data,o.internal===!0);else if(o&&o.__type==="Error"){if(o.__subType){let f=window[o.__subType];if(typeof f=="function")try{let m=new f(o.message);m.stack="",u[c]=m}catch{}}if(u[c]==null){let f=new Error(o.message);f.stack="",u[c]=f}}else u[c]=o;return u}var $y=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ae=g.forwardRef(function({onClick:i,discover:u="render",prefetch:c="none",relative:o,reloadDocument:f,replace:m,state:y,target:v,to:p,preventScrollReset:b,viewTransition:T,...x},R){let{basename:w}=g.useContext($n),k=typeof p=="string"&&$y.test(p),B,U=!1;if(typeof p=="string"&&k&&(B=p,Ky))try{let Z=new URL(window.location.href),ie=p.startsWith("//")?new URL(Z.protocol+p):new URL(p),je=on(ie.pathname,w);ie.origin===Z.origin&&je!=null?p=je+ie.search+ie.hash:U=!0}catch{Ot(!1,`<Link to="${p}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let Y=a1(p,{relative:o}),[$,ee,J]=X1(c,x),O=tE(p,{replace:m,state:y,target:v,preventScrollReset:b,relative:o,viewTransition:T});function ue(Z){i&&i(Z),Z.defaultPrevented||O(Z)}let be=g.createElement("a",{...x,...J,href:B||Y,onClick:U||f?i:ue,ref:$1(R,ee),target:v,"data-discover":!k&&u==="render"?"true":void 0});return $&&!k?g.createElement(g.Fragment,null,be,g.createElement(Q1,{page:Y})):be});ae.displayName="Link";var W1=g.forwardRef(function({"aria-current":i="page",caseSensitive:u=!1,className:c="",end:o=!1,style:f,to:m,viewTransition:y,children:v,...p},b){let T=Er(m,{relative:p.relative}),x=Jn(),R=g.useContext(vr),{navigator:w,basename:k}=g.useContext($n),B=R!=null&&uE(T)&&y===!0,U=w.encodeLocation?w.encodeLocation(T).pathname:T.pathname,Y=x.pathname,$=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;u||(Y=Y.toLowerCase(),$=$?$.toLowerCase():null,U=U.toLowerCase()),$&&k&&($=on($,k)||$);const ee=U!=="/"&&U.endsWith("/")?U.length-1:U.length;let J=Y===U||!o&&Y.startsWith(U)&&Y.charAt(ee)==="/",O=$!=null&&($===U||!o&&$.startsWith(U)&&$.charAt(U.length)==="/"),ue={isActive:J,isPending:O,isTransitioning:B},be=J?i:void 0,Z;typeof c=="function"?Z=c(ue):Z=[c,J?"active":null,O?"pending":null,B?"transitioning":null].filter(Boolean).join(" ");let ie=typeof f=="function"?f(ue):f;return g.createElement(ae,{...p,"aria-current":be,className:Z,ref:b,style:ie,to:m,viewTransition:y},typeof v=="function"?v(ue):v)});W1.displayName="NavLink";var I1=g.forwardRef(({discover:a="render",fetcherKey:i,navigate:u,reloadDocument:c,replace:o,state:f,method:m=zu,action:y,onSubmit:v,relative:p,preventScrollReset:b,viewTransition:T,...x},R)=>{let w=iE(),k=rE(y,{relative:p}),B=m.toLowerCase()==="get"?"get":"post",U=typeof y=="string"&&$y.test(y),Y=$=>{if(v&&v($),$.defaultPrevented)return;$.preventDefault();let ee=$.nativeEvent.submitter,J=(ee==null?void 0:ee.getAttribute("formmethod"))||m;w(ee||$.currentTarget,{fetcherKey:i,method:J,navigate:u,replace:o,state:f,relative:p,preventScrollReset:b,viewTransition:T})};return g.createElement("form",{ref:R,method:B,action:k,onSubmit:c?v:Y,...x,"data-discover":!U&&a==="render"?"true":void 0})});I1.displayName="Form";function eE(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Jy(a){let i=g.useContext(Cl);return ze(i,eE(a)),i}function tE(a,{target:i,replace:u,state:c,preventScrollReset:o,relative:f,viewTransition:m}={}){let y=Yy(),v=Jn(),p=Er(a,{relative:f});return g.useCallback(b=>{if(O1(b,i)){b.preventDefault();let T=u!==void 0?u:Ja(v)===Ja(p);y(a,{replace:T,state:c,preventScrollReset:o,relative:f,viewTransition:m})}},[v,y,p,u,c,i,a,o,f,m])}function nE(a){Ot(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let i=g.useRef(jo(a)),u=g.useRef(!1),c=Jn(),o=g.useMemo(()=>D1(c.search,u.current?null:i.current),[c.search]),f=Yy(),m=g.useCallback((y,v)=>{const p=jo(typeof y=="function"?y(o):y);u.current=!0,f("?"+p,v)},[f,o]);return[o,m]}var aE=0,lE=()=>`__${String(++aE)}__`;function iE(){let{router:a}=Jy("useSubmit"),{basename:i}=g.useContext($n),u=m1();return g.useCallback(async(c,o={})=>{let{action:f,method:m,encType:y,formData:v,body:p}=M1(c,i);if(o.navigate===!1){let b=o.fetcherKey||lE();await a.fetch(b,u,o.action||f,{preventScrollReset:o.preventScrollReset,formData:v,body:p,formMethod:o.method||m,formEncType:o.encType||y,flushSync:o.flushSync})}else await a.navigate(o.action||f,{preventScrollReset:o.preventScrollReset,formData:v,body:p,formMethod:o.method||m,formEncType:o.encType||y,replace:o.replace,state:o.state,fromRouteId:u,flushSync:o.flushSync,viewTransition:o.viewTransition})},[a,i,u])}function rE(a,{relative:i}={}){let{basename:u}=g.useContext($n),c=g.useContext(Bn);ze(c,"useFormAction must be used inside a RouteContext");let[o]=c.matches.slice(-1),f={...Er(a||".",{relative:i})},m=Jn();if(a==null){f.search=m.search;let y=new URLSearchParams(f.search),v=y.getAll("index");if(v.some(b=>b==="")){y.delete("index"),v.filter(T=>T).forEach(T=>y.append("index",T));let b=y.toString();f.search=b?`?${b}`:""}}return(!a||a===".")&&o.route.index&&(f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index"),u!=="/"&&(f.pathname=f.pathname==="/"?u:Kn([u,f.pathname])),Ja(f)}function uE(a,i={}){let u=g.useContext(Vo);ze(u!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:c}=Jy("useViewTransitionState"),o=Er(a,{relative:i.relative});if(!u.isTransitioning)return!1;let f=on(u.currentLocation.pathname,c)||u.currentLocation.pathname,m=on(u.nextLocation.pathname,c)||u.nextLocation.pathname;return Hu(o.pathname,m)!=null||Hu(o.pathname,f)!=null}new TextEncoder;var Fy=Oy();const di=pr(Fy);/** +Please change the parent <Route path="${q}"> to <Route path="${q==="/"?"*":`${q}/*`}">.`)}let S=Xn(),_;_=S;let O=_.pathname||"/",H=O;if(b!=="/"){let q=b.replace(/^\//,"").split("/");H="/"+O.replace(/^\//,"").split("/").slice(q.length).join("/")}let U=!f&&c&&c.matches&&c.matches.length>0?c.matches:qa(l,{pathname:H});return Ot(R||U!=null,`No routes matched location "${_.pathname}${_.search}${_.hash}" `),Ot(U==null||U[U.length-1].route.element!==void 0||U[U.length-1].route.Component!==void 0||U[U.length-1].route.lazy!==void 0,`Matched leaf route at location "${_.pathname}${_.search}${_.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),m0(U&&U.map(q=>Object.assign({},q,{params:Object.assign({},v,q.params),pathname:Gn([b,u.encodeLocation?u.encodeLocation(q.pathname).pathname:q.pathname]),pathnameBase:q.pathnameBase==="/"?b:Gn([b,u.encodeLocation?u.encodeLocation(q.pathnameBase).pathname:q.pathnameBase])})),d,c,s)}function o0(){let l=v0(),n=or(l)?`${l.status} ${l.statusText}`:l instanceof Error?l.message:JSON.stringify(l),c=l instanceof Error?l.stack:null,s="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:s},f={padding:"2px 4px",backgroundColor:s},d=null;return console.error("Error handled by React Router default ErrorBoundary:",l),d=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:f},"ErrorBoundary")," or"," ",g.createElement("code",{style:f},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},n),c?g.createElement("pre",{style:u},c):null,d)}var f0=g.createElement(o0,null),d0=class extends g.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,n){return n.location!==l.location||n.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:n.error,location:n.location,revalidation:l.revalidation||n.revalidation}}componentDidCatch(l,n){console.error("React Router caught the following error during render",l,n)}render(){return this.state.error!==void 0?g.createElement(An.Provider,{value:this.props.routeContext},g.createElement(Xo.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function h0({routeContext:l,match:n,children:c}){let s=g.useContext(El);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),g.createElement(An.Provider,{value:l},c)}function m0(l,n=[],c=null,s=null){if(l==null){if(!c)return null;if(c.errors)l=c.matches;else if(n.length===0&&!c.initialized&&c.matches.length>0)l=c.matches;else return null}let u=l,f=c==null?void 0:c.errors;if(f!=null){let v=u.findIndex(p=>p.route.id&&(f==null?void 0:f[p.route.id])!==void 0);He(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),u=u.slice(0,Math.min(u.length,v+1))}let d=!1,y=-1;if(c)for(let v=0;v<u.length;v++){let p=u[v];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(y=v),p.route.id){let{loaderData:b,errors:R}=c,S=p.route.loader&&!b.hasOwnProperty(p.route.id)&&(!R||R[p.route.id]===void 0);if(p.route.lazy||S){d=!0,y>=0?u=u.slice(0,y+1):u=[u[0]];break}}}return u.reduceRight((v,p,b)=>{let R,S=!1,_=null,O=null;c&&(R=f&&p.route.id?f[p.route.id]:void 0,_=p.route.errorElement||f0,d&&(y<0&&b===0?(Ky("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),S=!0,O=null):y===b&&(S=!0,O=p.route.hydrateFallbackElement||null)));let H=n.concat(u.slice(0,b+1)),U=()=>{let M;return R?M=_:S?M=O:p.route.Component?M=g.createElement(p.route.Component,null):p.route.element?M=p.route.element:M=v,g.createElement(h0,{match:p,routeContext:{outlet:v,matches:H,isDataRoute:c!=null},children:M})};return c&&(p.route.ErrorBoundary||p.route.errorElement||b===0)?g.createElement(d0,{location:c.location,revalidation:c.revalidation,component:_,error:R,children:U(),routeContext:{outlet:null,matches:H,isDataRoute:!0}}):U()},null)}function Qo(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qy(l){let n=g.useContext(El);return He(n,Qo(l)),n}function Zy(l){let n=g.useContext(dr);return He(n,Qo(l)),n}function y0(l){let n=g.useContext(An);return He(n,Qo(l)),n}function Zo(l){let n=y0(l),c=n.matches[n.matches.length-1];return He(c.route.id,`${l} can only be used on routes that contain a unique "id"`),c.route.id}function p0(){return Zo("useRouteId")}function v0(){var s;let l=g.useContext(Xo),n=Zy("useRouteError"),c=Zo("useRouteError");return l!==void 0?l:(s=n.errors)==null?void 0:s[c]}var g0=0;function B2(l){let{router:n,basename:c}=Qy("useBlocker"),s=Zy("useBlocker"),[u,f]=g.useState(""),d=g.useCallback(y=>{if(typeof l!="function")return!!l;if(c==="/")return l(y);let{currentLocation:v,nextLocation:p,historyAction:b}=y;return l({currentLocation:{...v,pathname:rn(v.pathname,c)||v.pathname},nextLocation:{...p,pathname:rn(p.pathname,c)||p.pathname},historyAction:b})},[c,l]);return g.useEffect(()=>{let y=String(++g0);return f(y),()=>n.deleteBlocker(y)},[n]),g.useEffect(()=>{u!==""&&n.getBlocker(u,d)},[n,u,d]),u&&s.blockers.has(u)?s.blockers.get(u):ai}function E0(){let{router:l}=Qy("useNavigate"),n=Zo("useNavigate"),c=g.useRef(!1);return ky(()=>{c.current=!0}),g.useCallback(async(u,f={})=>{Ot(c.current,Gy),c.current&&(typeof u=="number"?l.navigate(u):await l.navigate(u,{fromRouteId:n,...f}))},[l,n])}var cy={};function Ky(l,n,c){!n&&!cy[l]&&(cy[l]=!0,Ot(!1,c))}var sy={};function oy(l,n){!l&&!sy[n]&&(sy[n]=!0,console.warn(n))}function b0(l){let n={hasErrorBoundary:l.hasErrorBoundary||l.ErrorBoundary!=null||l.errorElement!=null};return l.Component&&(l.element&&Ot(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(n,{element:g.createElement(l.Component),Component:void 0})),l.HydrateFallback&&(l.hydrateFallbackElement&&Ot(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(n,{hydrateFallbackElement:g.createElement(l.HydrateFallback),HydrateFallback:void 0})),l.ErrorBoundary&&(l.errorElement&&Ot(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(n,{errorElement:g.createElement(l.ErrorBoundary),ErrorBoundary:void 0})),n}var S0=class{constructor(){this.status="pending",this.promise=new Promise((l,n)=>{this.resolve=c=>{this.status==="pending"&&(this.status="resolved",l(c))},this.reject=c=>{this.status==="pending"&&(this.status="rejected",n(c))}})}};function x0({router:l,flushSync:n}){let[c,s]=g.useState(l.state),[u,f]=g.useState(),[d,y]=g.useState({isTransitioning:!1}),[v,p]=g.useState(),[b,R]=g.useState(),[S,_]=g.useState(),O=g.useRef(new Map),H=g.useCallback((Y,{deletedFetchers:J,flushSync:k,viewTransitionOpts:N})=>{Y.fetchers.forEach((ie,X)=>{ie.data!==void 0&&O.current.set(X,ie.data)}),J.forEach(ie=>O.current.delete(ie)),oy(k===!1||n!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let W=l.window!=null&&l.window.document!=null&&typeof l.window.document.startViewTransition=="function";if(oy(N==null||W,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!N||!W){n&&k?n(()=>s(Y)):g.startTransition(()=>s(Y));return}if(n&&k){n(()=>{b&&(v&&v.resolve(),b.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:N.currentLocation,nextLocation:N.nextLocation})});let ie=l.window.document.startViewTransition(()=>{n(()=>s(Y))});ie.finished.finally(()=>{n(()=>{p(void 0),R(void 0),f(void 0),y({isTransitioning:!1})})}),n(()=>R(ie));return}b?(v&&v.resolve(),b.skipTransition(),_({state:Y,currentLocation:N.currentLocation,nextLocation:N.nextLocation})):(f(Y),y({isTransitioning:!0,flushSync:!1,currentLocation:N.currentLocation,nextLocation:N.nextLocation}))},[l.window,n,b,v]);g.useLayoutEffect(()=>l.subscribe(H),[l,H]),g.useEffect(()=>{d.isTransitioning&&!d.flushSync&&p(new S0)},[d]),g.useEffect(()=>{if(v&&u&&l.window){let Y=u,J=v.promise,k=l.window.document.startViewTransition(async()=>{g.startTransition(()=>s(Y)),await J});k.finished.finally(()=>{p(void 0),R(void 0),f(void 0),y({isTransitioning:!1})}),R(k)}},[u,v,l.window]),g.useEffect(()=>{v&&u&&c.location.key===u.location.key&&v.resolve()},[v,b,c.location,u]),g.useEffect(()=>{!d.isTransitioning&&S&&(f(S.state),y({isTransitioning:!0,flushSync:!1,currentLocation:S.currentLocation,nextLocation:S.nextLocation}),_(void 0))},[d.isTransitioning,S]);let U=g.useMemo(()=>({createHref:l.createHref,encodeLocation:l.encodeLocation,go:Y=>l.navigate(Y),push:(Y,J,k)=>l.navigate(Y,{state:J,preventScrollReset:k==null?void 0:k.preventScrollReset}),replace:(Y,J,k)=>l.navigate(Y,{replace:!0,state:J,preventScrollReset:k==null?void 0:k.preventScrollReset})}),[l]),M=l.basename||"/",q=g.useMemo(()=>({router:l,navigator:U,static:!1,basename:M}),[l,U,M]);return g.createElement(g.Fragment,null,g.createElement(El.Provider,{value:q},g.createElement(dr.Provider,{value:c},g.createElement(Yy.Provider,{value:O.current},g.createElement(ko.Provider,{value:d},g.createElement(N0,{basename:M,location:c.location,navigationType:c.historyAction,navigator:U},g.createElement(_0,{routes:l.routes,future:l.future,state:c})))))),null)}var _0=g.memo(R0);function R0({routes:l,future:n,state:c}){return s0(l,void 0,c,n)}function T0(l){return c0(l.context)}function N0({basename:l="/",children:n=null,location:c,navigationType:s="POP",navigator:u,static:f=!1}){He(!hr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let d=l.replace(/^\/*/,"/"),y=g.useMemo(()=>({basename:d,navigator:u,static:f,future:{}}),[d,u,f]);typeof c=="string"&&(c=Ga(c));let{pathname:v="/",search:p="",hash:b="",state:R=null,key:S="default"}=c,_=g.useMemo(()=>{let O=rn(v,d);return O==null?null:{location:{pathname:O,search:p,hash:b,state:R,key:S},navigationType:s}},[d,v,p,b,R,S,s]);return Ot(_!=null,`<Router basename="${d}"> is not able to match the URL "${v}${p}${b}" because it does not start with the basename, so the <Router> won't render anything.`),_==null?null:g.createElement(kn.Provider,{value:y},g.createElement(Xu.Provider,{children:n,value:_}))}var Mu="get",zu="application/x-www-form-urlencoded";function Qu(l){return l!=null&&typeof l.tagName=="string"}function C0(l){return Qu(l)&&l.tagName.toLowerCase()==="button"}function j0(l){return Qu(l)&&l.tagName.toLowerCase()==="form"}function O0(l){return Qu(l)&&l.tagName.toLowerCase()==="input"}function D0(l){return!!(l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)}function w0(l,n){return l.button===0&&(!n||n==="_self")&&!D0(l)}function Do(l=""){return new URLSearchParams(typeof l=="string"||Array.isArray(l)||l instanceof URLSearchParams?l:Object.keys(l).reduce((n,c)=>{let s=l[c];return n.concat(Array.isArray(s)?s.map(u=>[c,u]):[[c,s]])},[]))}function A0(l,n){let c=Do(l);return n&&n.forEach((s,u)=>{c.has(u)||n.getAll(u).forEach(f=>{c.append(u,f)})}),c}var ju=null;function M0(){if(ju===null)try{new FormData(document.createElement("form"),0),ju=!1}catch{ju=!0}return ju}var z0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ho(l){return l!=null&&!z0.has(l)?(Ot(!1,`"${l}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${zu}"`),null):l}function L0(l,n){let c,s,u,f,d;if(j0(l)){let y=l.getAttribute("action");s=y?rn(y,n):null,c=l.getAttribute("method")||Mu,u=ho(l.getAttribute("enctype"))||zu,f=new FormData(l)}else if(C0(l)||O0(l)&&(l.type==="submit"||l.type==="image")){let y=l.form;if(y==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let v=l.getAttribute("formaction")||y.getAttribute("action");if(s=v?rn(v,n):null,c=l.getAttribute("formmethod")||y.getAttribute("method")||Mu,u=ho(l.getAttribute("formenctype"))||ho(y.getAttribute("enctype"))||zu,f=new FormData(y,l),!M0()){let{name:p,type:b,value:R}=l;if(b==="image"){let S=p?`${p}.`:"";f.append(`${S}x`,"0"),f.append(`${S}y`,"0")}else p&&f.append(p,R)}}else{if(Qu(l))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');c=Mu,s=null,u=zu,d=l}return f&&u==="text/plain"&&(d=f,f=void 0),{action:s,method:c.toLowerCase(),encType:u,formData:f,body:d}}function Ko(l,n){if(l===!1||l===null||typeof l>"u")throw new Error(n)}async function U0(l,n){if(l.id in n)return n[l.id];try{let c=await import(l.module);return n[l.id]=c,c}catch(c){return console.error(`Error loading route module \`${l.module}\`, reloading page...`),console.error(c),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function H0(l){return l==null?!1:l.href==null?l.rel==="preload"&&typeof l.imageSrcSet=="string"&&typeof l.imageSizes=="string":typeof l.rel=="string"&&typeof l.href=="string"}async function B0(l,n,c){let s=await Promise.all(l.map(async u=>{let f=n.routes[u.route.id];if(f){let d=await U0(f,c);return d.links?d.links():[]}return[]}));return G0(s.flat(1).filter(H0).filter(u=>u.rel==="stylesheet"||u.rel==="preload").map(u=>u.rel==="stylesheet"?{...u,rel:"prefetch",as:"style"}:{...u,rel:"prefetch"}))}function fy(l,n,c,s,u,f){let d=(v,p)=>c[p]?v.route.id!==c[p].route.id:!0,y=(v,p)=>{var b;return c[p].pathname!==v.pathname||((b=c[p].route.path)==null?void 0:b.endsWith("*"))&&c[p].params["*"]!==v.params["*"]};return f==="assets"?n.filter((v,p)=>d(v,p)||y(v,p)):f==="data"?n.filter((v,p)=>{var R;let b=s.routes[v.route.id];if(!b||!b.hasLoader)return!1;if(d(v,p)||y(v,p))return!0;if(v.route.shouldRevalidate){let S=v.route.shouldRevalidate({currentUrl:new URL(u.pathname+u.search+u.hash,window.origin),currentParams:((R=c[0])==null?void 0:R.params)||{},nextUrl:new URL(l,window.origin),nextParams:v.params,defaultShouldRevalidate:!0});if(typeof S=="boolean")return S}return!0}):[]}function q0(l,n){return V0(l.map(c=>{let s=n.routes[c.route.id];if(!s)return[];let u=[s.module];return s.imports&&(u=u.concat(s.imports)),u}).flat(1))}function V0(l){return[...new Set(l)]}function Y0(l){let n={},c=Object.keys(l).sort();for(let s of c)n[s]=l[s];return n}function G0(l,n){let c=new Set;return new Set(n),l.reduce((s,u)=>{let f=JSON.stringify(Y0(u));return c.has(f)||(c.add(f),s.push({key:f,link:u})),s},[])}function k0(l){let n=typeof l=="string"?new URL(l,typeof window>"u"?"server://singlefetch/":window.location.origin):l;return n.pathname==="/"?n.pathname="_root.data":n.pathname=`${n.pathname.replace(/\/$/,"")}.data`,n}function X0(){let l=g.useContext(El);return Ko(l,"You must render this element inside a <DataRouterContext.Provider> element"),l}function Q0(){let l=g.useContext(dr);return Ko(l,"You must render this element inside a <DataRouterStateContext.Provider> element"),l}var $o=g.createContext(void 0);$o.displayName="FrameworkContext";function $y(){let l=g.useContext($o);return Ko(l,"You must render this element inside a <HydratedRouter> element"),l}function Z0(l,n){let c=g.useContext($o),[s,u]=g.useState(!1),[f,d]=g.useState(!1),{onFocus:y,onBlur:v,onMouseEnter:p,onMouseLeave:b,onTouchStart:R}=n,S=g.useRef(null);g.useEffect(()=>{if(l==="render"&&d(!0),l==="viewport"){let H=M=>{M.forEach(q=>{d(q.isIntersecting)})},U=new IntersectionObserver(H,{threshold:.5});return S.current&&U.observe(S.current),()=>{U.disconnect()}}},[l]),g.useEffect(()=>{if(s){let H=setTimeout(()=>{d(!0)},100);return()=>{clearTimeout(H)}}},[s]);let _=()=>{u(!0)},O=()=>{u(!1),d(!1)};return c?l!=="intent"?[f,S,{}]:[f,S,{onFocus:lr(y,_),onBlur:lr(v,O),onMouseEnter:lr(p,_),onMouseLeave:lr(b,O),onTouchStart:lr(R,_)}]:[!1,S,{}]}function lr(l,n){return c=>{l&&l(c),c.defaultPrevented||n(c)}}function K0({page:l,...n}){let{router:c}=X0(),s=g.useMemo(()=>qa(c.routes,l,c.basename),[c.routes,l,c.basename]);return s?g.createElement(F0,{page:l,matches:s,...n}):null}function $0(l){let{manifest:n,routeModules:c}=$y(),[s,u]=g.useState([]);return g.useEffect(()=>{let f=!1;return B0(l,n,c).then(d=>{f||u(d)}),()=>{f=!0}},[l,n,c]),s}function F0({page:l,matches:n,...c}){let s=Xn(),{manifest:u,routeModules:f}=$y(),{loaderData:d,matches:y}=Q0(),v=g.useMemo(()=>fy(l,n,y,u,s,"data"),[l,n,y,u,s]),p=g.useMemo(()=>fy(l,n,y,u,s,"assets"),[l,n,y,u,s]),b=g.useMemo(()=>{if(l===s.pathname+s.search+s.hash)return[];let _=new Set,O=!1;if(n.forEach(U=>{var q;let M=u.routes[U.route.id];!M||!M.hasLoader||(!v.some(Y=>Y.route.id===U.route.id)&&U.route.id in d&&((q=f[U.route.id])!=null&&q.shouldRevalidate)||M.hasClientLoader?O=!0:_.add(U.route.id))}),_.size===0)return[];let H=k0(l);return O&&_.size>0&&H.searchParams.set("_routes",n.filter(U=>_.has(U.route.id)).map(U=>U.route.id).join(",")),[H.pathname+H.search]},[d,s,u,v,n,l,f]),R=g.useMemo(()=>q0(p,u),[p,u]),S=$0(p);return g.createElement(g.Fragment,null,b.map(_=>g.createElement("link",{key:_,rel:"prefetch",as:"fetch",href:_,...c})),R.map(_=>g.createElement("link",{key:_,rel:"modulepreload",href:_,...c})),S.map(({key:_,link:O})=>g.createElement("link",{key:_,...O})))}function J0(...l){return n=>{l.forEach(c=>{typeof c=="function"?c(n):c!=null&&(c.current=n)})}}var Fy=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Fy&&(window.__reactRouterVersion="7.1.5")}catch{}function P0(l,n){return q1({basename:n==null?void 0:n.basename,future:n==null?void 0:n.future,history:s1({window:n==null?void 0:n.window}),hydrationData:W0(),routes:l,mapRouteProperties:b0,dataStrategy:n==null?void 0:n.dataStrategy,patchRoutesOnNavigation:n==null?void 0:n.patchRoutesOnNavigation,window:n==null?void 0:n.window}).initialize()}function W0(){let l=window==null?void 0:window.__staticRouterHydrationData;return l&&l.errors&&(l={...l,errors:I0(l.errors)}),l}function I0(l){if(!l)return null;let n=Object.entries(l),c={};for(let[s,u]of n)if(u&&u.__type==="RouteErrorResponse")c[s]=new Hu(u.status,u.statusText,u.data,u.internal===!0);else if(u&&u.__type==="Error"){if(u.__subType){let f=window[u.__subType];if(typeof f=="function")try{let d=new f(u.message);d.stack="",c[s]=d}catch{}}if(c[s]==null){let f=new Error(u.message);f.stack="",c[s]=f}}else c[s]=u;return c}var Jy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Tn=g.forwardRef(function({onClick:n,discover:c="render",prefetch:s="none",relative:u,reloadDocument:f,replace:d,state:y,target:v,to:p,preventScrollReset:b,viewTransition:R,...S},_){let{basename:O}=g.useContext(kn),H=typeof p=="string"&&Jy.test(p),U,M=!1;if(typeof p=="string"&&H&&(U=p,Fy))try{let X=new URL(window.location.href),I=p.startsWith("//")?new URL(X.protocol+p):new URL(p),de=rn(I.pathname,O);I.origin===X.origin&&de!=null?p=de+I.search+I.hash:M=!0}catch{Ot(!1,`<Link to="${p}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let q=i0(p,{relative:u}),[Y,J,k]=Z0(s,S),N=aE(p,{replace:d,state:y,target:v,preventScrollReset:b,relative:u,viewTransition:R});function W(X){n&&n(X),X.defaultPrevented||N(X)}let ie=g.createElement("a",{...S,...k,href:U||q,onClick:M||f?n:W,ref:J0(_,J),target:v,"data-discover":!H&&c==="render"?"true":void 0});return Y&&!H?g.createElement(g.Fragment,null,ie,g.createElement(K0,{page:q})):ie});Tn.displayName="Link";var eE=g.forwardRef(function({"aria-current":n="page",caseSensitive:c=!1,className:s="",end:u=!1,style:f,to:d,viewTransition:y,children:v,...p},b){let R=mr(d,{relative:p.relative}),S=Xn(),_=g.useContext(dr),{navigator:O,basename:H}=g.useContext(kn),U=_!=null&&sE(R)&&y===!0,M=O.encodeLocation?O.encodeLocation(R).pathname:R.pathname,q=S.pathname,Y=_&&_.navigation&&_.navigation.location?_.navigation.location.pathname:null;c||(q=q.toLowerCase(),Y=Y?Y.toLowerCase():null,M=M.toLowerCase()),Y&&H&&(Y=rn(Y,H)||Y);const J=M!=="/"&&M.endsWith("/")?M.length-1:M.length;let k=q===M||!u&&q.startsWith(M)&&q.charAt(J)==="/",N=Y!=null&&(Y===M||!u&&Y.startsWith(M)&&Y.charAt(M.length)==="/"),W={isActive:k,isPending:N,isTransitioning:U},ie=k?n:void 0,X;typeof s=="function"?X=s(W):X=[s,k?"active":null,N?"pending":null,U?"transitioning":null].filter(Boolean).join(" ");let I=typeof f=="function"?f(W):f;return g.createElement(Tn,{...p,"aria-current":ie,className:X,ref:b,style:I,to:d,viewTransition:y},typeof v=="function"?v(W):v)});eE.displayName="NavLink";var tE=g.forwardRef(({discover:l="render",fetcherKey:n,navigate:c,reloadDocument:s,replace:u,state:f,method:d=Mu,action:y,onSubmit:v,relative:p,preventScrollReset:b,viewTransition:R,...S},_)=>{let O=uE(),H=cE(y,{relative:p}),U=d.toLowerCase()==="get"?"get":"post",M=typeof y=="string"&&Jy.test(y),q=Y=>{if(v&&v(Y),Y.defaultPrevented)return;Y.preventDefault();let J=Y.nativeEvent.submitter,k=(J==null?void 0:J.getAttribute("formmethod"))||d;O(J||Y.currentTarget,{fetcherKey:n,method:k,navigate:c,replace:u,state:f,relative:p,preventScrollReset:b,viewTransition:R})};return g.createElement("form",{ref:_,method:U,action:H,onSubmit:s?v:q,...S,"data-discover":!M&&l==="render"?"true":void 0})});tE.displayName="Form";function nE(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Py(l){let n=g.useContext(El);return He(n,nE(l)),n}function aE(l,{target:n,replace:c,state:s,preventScrollReset:u,relative:f,viewTransition:d}={}){let y=Xy(),v=Xn(),p=mr(l,{relative:f});return g.useCallback(b=>{if(w0(b,n)){b.preventDefault();let R=c!==void 0?c:Va(v)===Va(p);y(l,{replace:R,state:s,preventScrollReset:u,relative:f,viewTransition:d})}},[v,y,p,c,s,n,l,u,f,d])}function lE(l){Ot(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let n=g.useRef(Do(l)),c=g.useRef(!1),s=Xn(),u=g.useMemo(()=>A0(s.search,c.current?null:n.current),[s.search]),f=Xy(),d=g.useCallback((y,v)=>{const p=Do(typeof y=="function"?y(u):y);c.current=!0,f("?"+p,v)},[f,u]);return[u,d]}var iE=0,rE=()=>`__${String(++iE)}__`;function uE(){let{router:l}=Py("useSubmit"),{basename:n}=g.useContext(kn),c=p0();return g.useCallback(async(s,u={})=>{let{action:f,method:d,encType:y,formData:v,body:p}=L0(s,n);if(u.navigate===!1){let b=u.fetcherKey||rE();await l.fetch(b,c,u.action||f,{preventScrollReset:u.preventScrollReset,formData:v,body:p,formMethod:u.method||d,formEncType:u.encType||y,flushSync:u.flushSync})}else await l.navigate(u.action||f,{preventScrollReset:u.preventScrollReset,formData:v,body:p,formMethod:u.method||d,formEncType:u.encType||y,replace:u.replace,state:u.state,fromRouteId:c,flushSync:u.flushSync,viewTransition:u.viewTransition})},[l,n,c])}function cE(l,{relative:n}={}){let{basename:c}=g.useContext(kn),s=g.useContext(An);He(s,"useFormAction must be used inside a RouteContext");let[u]=s.matches.slice(-1),f={...mr(l||".",{relative:n})},d=Xn();if(l==null){f.search=d.search;let y=new URLSearchParams(f.search),v=y.getAll("index");if(v.some(b=>b==="")){y.delete("index"),v.filter(R=>R).forEach(R=>y.append("index",R));let b=y.toString();f.search=b?`?${b}`:""}}return(!l||l===".")&&u.route.index&&(f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index"),c!=="/"&&(f.pathname=f.pathname==="/"?c:Gn([c,f.pathname])),Va(f)}function sE(l,n={}){let c=g.useContext(ko);He(c!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:s}=Py("useViewTransitionState"),u=mr(l,{relative:n.relative});if(!c.isTransitioning)return!1;let f=rn(c.currentLocation.pathname,s)||c.currentLocation.pathname,d=rn(c.nextLocation.pathname,s)||c.nextLocation.pathname;return Uu(u.pathname,d)!=null||Uu(u.pathname,f)!=null}new TextEncoder;var Wy=wy();const ii=fr(Wy);/** * react-router v7.1.5 * * Copyright (c) Remix Software Inc. @@ -76,8 +76,8 @@ Please change the parent <Route path="${Y}"> to <Route path="${Y==="/"?"*":`${Y} * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function cE(a){return g.createElement(b1,{flushSync:Fy.flushSync,...a})}const sE=g.createContext({show:!1,toggle:()=>{}}),oE=a=>{const i=st.c(8),{children:u}=a,[c,o]=g.useState(!1);let f;i[0]!==c?(f=()=>{o(!c)},i[0]=c,i[1]=f):f=i[1];const m=f;let y;i[2]!==c||i[3]!==m?(y={show:c,toggle:m},i[2]=c,i[3]=m,i[4]=y):y=i[4];let v;return i[5]!==u||i[6]!==y?(v=h.jsx(sE.Provider,{value:y,children:u}),i[5]=u,i[6]=y,i[7]=v):v=i[7],v};async function fE(){return await(await fetch("/api/user/")).json()}const Oo={name:"",email:"",permissions:{admin:!1,active:!1},id:"",nrens:[],oidc_sub:"",role:""},Ko=g.createContext({user:Oo,logout:()=>{},setUser:()=>{}}),dE=a=>{const i=st.c(8),{children:u}=a,[c,o]=g.useState(Oo);let f;i[0]===Symbol.for("react.memo_cache_sentinel")?(f=async function(){await fetch("/logout"),o(Oo)},i[0]=f):f=i[0];const m=f;let y,v;i[1]===Symbol.for("react.memo_cache_sentinel")?(y=()=>{fE().then(T=>{o(T)})},v=[],i[1]=y,i[2]=v):(y=i[1],v=i[2]),g.useEffect(y,v);let p;i[3]!==c?(p={user:c,logout:m,setUser:o},i[3]=c,i[4]=p):p=i[4];let b;return i[5]!==u||i[6]!==p?(b=h.jsx(Ko.Provider,{value:p,children:u}),i[5]=u,i[6]=p,i[7]=b):b=i[7],b},hE=g.createContext({filterSelection:{selectedYears:[],selectedNrens:[]},setFilterSelection:()=>{}}),mE=a=>{const i=st.c(6),{children:u}=a;let c;i[0]===Symbol.for("react.memo_cache_sentinel")?(c={selectedYears:[],selectedNrens:[]},i[0]=c):c=i[0];const[o,f]=g.useState(c);let m;i[1]!==o?(m={filterSelection:o,setFilterSelection:f},i[1]=o,i[2]=m):m=i[2];let y;return i[3]!==u||i[4]!==m?(y=h.jsx(hE.Provider,{value:m,children:u}),i[3]=u,i[4]=m,i[5]=y):y=i[5],y},yE=g.createContext(null),pE=a=>{const i=st.c(2),{children:u}=a,c=g.useRef(null);let o;return i[0]!==u?(o=h.jsx(yE.Provider,{value:c,children:u}),i[0]=u,i[1]=o):o=i[1],o},Py=g.createContext({preview:!1,setPreview:()=>{}}),vE=a=>{const i=st.c(5),{children:u}=a,[c,o]=g.useState(!1);let f;i[0]!==c?(f={preview:c,setPreview:o},i[0]=c,i[1]=f):f=i[1];let m;return i[2]!==u||i[3]!==f?(m=h.jsx(Py.Provider,{value:f,children:u}),i[2]=u,i[3]=f,i[4]=m):m=i[4],m};async function gE(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}const EE=g.createContext({nrens:[],setNrens:()=>{}}),bE=a=>{const i=st.c(8),{children:u}=a;let c;i[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],i[0]=c):c=i[0];const[o,f]=g.useState(c);let m,y;i[1]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{gE().then(b=>f(b))},y=[],i[1]=m,i[2]=y):(m=i[1],y=i[2]),g.useEffect(m,y);let v;i[3]!==o?(v={nrens:o,setNrens:f},i[3]=o,i[4]=v):v=i[4];let p;return i[5]!==u||i[6]!==v?(p=h.jsx(EE.Provider,{value:v,children:u}),i[5]=u,i[6]=v,i[7]=p):p=i[7],p},fo={TRACK_EVENT:"trackEvent",TRACK_LINK:"trackLink",TRACK_VIEW:"trackPageView"};class SE{constructor(i){Om(this,"mutationObserver");if(!i.urlBase)throw new Error("Matomo urlBase is required.");if(!i.siteId)throw new Error("Matomo siteId is required.");this.initialize(i)}initialize({urlBase:i,siteId:u,userId:c,trackerUrl:o,srcUrl:f,disabled:m,heartBeat:y,requireConsent:v=!1,configurations:p={}}){const b=i[i.length-1]!=="/"?`${i}/`:i;if(typeof window>"u"||(window._paq=window._paq||[],window._paq.length!==0)||m)return;v&&this.pushInstruction("requireConsent"),this.pushInstruction("setTrackerUrl",o??`${b}matomo.php`),this.pushInstruction("setSiteId",u),c&&this.pushInstruction("setUserId",c),Object.entries(p).forEach(([w,k])=>{k instanceof Array?this.pushInstruction(w,...k):this.pushInstruction(w,k)}),(!y||y&&y.active)&&this.enableHeartBeatTimer((y&&y.seconds)??15);const T=document,x=T.createElement("script"),R=T.getElementsByTagName("script")[0];x.type="text/javascript",x.async=!0,x.defer=!0,x.src=f||`${b}matomo.js`,R&&R.parentNode&&R.parentNode.insertBefore(x,R)}enableHeartBeatTimer(i){this.pushInstruction("enableHeartBeatTimer",i)}trackEventsForElements(i){i.length&&i.forEach(u=>{u.addEventListener("click",()=>{const{matomoCategory:c,matomoAction:o,matomoName:f,matomoValue:m}=u.dataset;if(c&&o)this.trackEvent({category:c,action:o,name:f,value:Number(m)});else throw new Error("Error: data-matomo-category and data-matomo-action are required.")})})}trackEvents(){const i='[data-matomo-event="click"]';let u=!1;if(this.mutationObserver||(u=!0,this.mutationObserver=new MutationObserver(c=>{c.forEach(o=>{o.addedNodes.forEach(f=>{if(!(f instanceof HTMLElement))return;f.matches(i)&&this.trackEventsForElements([f]);const m=Array.from(f.querySelectorAll(i));this.trackEventsForElements(m)})})})),this.mutationObserver.observe(document,{childList:!0,subtree:!0}),u){const c=Array.from(document.querySelectorAll(i));this.trackEventsForElements(c)}}stopObserving(){this.mutationObserver&&this.mutationObserver.disconnect()}trackEvent({category:i,action:u,name:c,value:o,...f}){if(i&&u)this.track({data:[fo.TRACK_EVENT,i,u,c,o],...f});else throw new Error("Error: category and action are required.")}giveConsent(){this.pushInstruction("setConsentGiven")}trackLink({href:i,linkType:u="link"}){this.pushInstruction(fo.TRACK_LINK,i,u)}trackPageView(i){this.track({data:[fo.TRACK_VIEW],...i})}track({data:i=[],documentTitle:u=window.document.title,href:c,customDimensions:o=!1}){i.length&&(o&&Array.isArray(o)&&o.length&&o.map(f=>this.pushInstruction("setCustomDimension",f.id,f.value)),this.pushInstruction("setCustomUrl",c??window.location.href),this.pushInstruction("setDocumentTitle",u),this.pushInstruction(...i))}pushInstruction(i,...u){return typeof window<"u"&&window._paq.push([i,...u]),this}}function xE(a){return window.location.hostname==="localhost"&&(console.log("Matomo tracking disabled in development mode."),a.disabled=!0),new SE(a)}const $o=g.createContext({consent:null,setConsent:()=>{}}),_E=a=>{const i=st.c(7),{children:u}=a,c=RE;let o;i[0]===Symbol.for("react.memo_cache_sentinel")?(o=c(),i[0]=o):o=i[0];const[f,m]=g.useState(o);let y;i[1]===Symbol.for("react.memo_cache_sentinel")?(y=b=>m(b),i[1]=y):y=i[1];let v;i[2]!==f?(v={setConsent:y,consent:f},i[2]=f,i[3]=v):v=i[3];let p;return i[4]!==u||i[5]!==v?(p=h.jsx($o.Provider,{value:v,children:u}),i[4]=u,i[5]=v,i[6]=p):p=i[6],p};function RE(){const a=localStorage.getItem("matomo_consent");if(a){const i=JSON.parse(a);if(new Date(i.expiry)>new Date)return i.consent}return null}const Wy=g.createContext(null),TE=function(a){const i=st.c(5),{children:u}=a,o=!g.useContext($o).consent;let f;i[0]!==o?(f=xE({urlBase:"https://prod-swd-webanalytics01.geant.org/",siteId:1,disabled:o}),i[0]=o,i[1]=f):f=i[1];const m=f;let y;return i[2]!==u||i[3]!==m?(y=h.jsx(Wy.Provider,{value:m,children:u}),i[2]=u,i[3]=m,i[4]=y):y=i[4],y},NE=()=>{const a=JSON.parse(localStorage.getItem("config")??"{}"),i={};for(const u in a){const c=a[u];c.expireTime&&c.expireTime<Date.now()||c&&(i[u]=c)}return i},ho=a=>{localStorage.setItem("config",JSON.stringify(a))},CE=g.createContext({getConfig:()=>{},setConfig:()=>{}}),jE=a=>{const i=st.c(12),{children:u}=a;let c;i[0]===Symbol.for("react.memo_cache_sentinel")?(c=NE(),i[0]=c):c=i[0];const[o,f]=g.useState(c);let m;i[1]!==o?(m=(x,R,w)=>{var Y;if(!x)throw new Error("Valid config key must be provided");if(R==null){const $={...o};delete $[x],f($),ho($);return}const k=JSON.stringify(R),B=JSON.stringify((Y=o[x])==null?void 0:Y.value);if(k===B)return;const U=w?w.getTime():null;if(U&&U<Date.now())throw new Error("Timeout must be in the future");U?(f({...o,[x]:{value:R,expireTime:U}}),ho({...o,[x]:{value:R,expireTime:U}})):(f({...o,[x]:{value:R}}),ho({...o,[x]:{value:R}}))},i[1]=o,i[2]=m):m=i[2];const y=m;let v;i[3]!==o||i[4]!==y?(v=x=>{const R=o[x];if(R!=null&&R.expireTime&&R.expireTime<Date.now()){y(x);return}if(R!=null)return R.value},i[3]=o,i[4]=y,i[5]=v):v=i[5];const p=v;let b;i[6]!==p||i[7]!==y?(b={getConfig:p,setConfig:y},i[6]=p,i[7]=y,i[8]=b):b=i[8];let T;return i[9]!==u||i[10]!==b?(T=h.jsx(CE.Provider,{value:b,children:u}),i[9]=u,i[10]=b,i[11]=T):T=i[11],T};function OE(a){const i=st.c(2),{children:u}=a;let c;return i[0]!==u?(c=h.jsx(jE,{children:h.jsx(_E,{children:h.jsx(TE,{children:h.jsx(oE,{children:h.jsx(dE,{children:h.jsx(mE,{children:h.jsx(pE,{children:h.jsx(vE,{children:h.jsx(bE,{children:u})})})})})})})})}),i[0]=u,i[1]=c):c=i[1],c}var $t=(a=>(a.ConnectedProportion="proportion",a.ConnectivityLevel="level",a.ConnectionCarrier="carrier",a.ConnectivityLoad="load",a.ConnectivityGrowth="growth",a.CommercialConnectivity="commercial",a.CommercialChargingLevel="charging",a))($t||{}),Ut=(a=>(a.network_services="network_services",a.isp_support="isp_support",a.security="security",a.identity="identity",a.collaboration="collaboration",a.multimedia="multimedia",a.storage_and_hosting="storage_and_hosting",a.professional_services="professional_services",a))(Ut||{}),mo={exports:{}};/*! + */function oE(l){return g.createElement(x0,{flushSync:Wy.flushSync,...l})}const fE=g.createContext({show:!1,toggle:()=>{}}),dE=l=>{const n=Ke.c(8),{children:c}=l,[s,u]=g.useState(!1);let f;n[0]!==s?(f=()=>{u(!s)},n[0]=s,n[1]=f):f=n[1];const d=f;let y;n[2]!==s||n[3]!==d?(y={show:s,toggle:d},n[2]=s,n[3]=d,n[4]=y):y=n[4];let v;return n[5]!==c||n[6]!==y?(v=h.jsx(fE.Provider,{value:y,children:c}),n[5]=c,n[6]=y,n[7]=v):v=n[7],v};async function hE(){return await(await fetch("/api/user/")).json()}const wo={name:"",email:"",permissions:{admin:!1,active:!1},id:"",nrens:[],oidc_sub:"",role:""},Fo=g.createContext({user:wo,logout:()=>{},setUser:()=>{}}),mE=l=>{const n=Ke.c(8),{children:c}=l,[s,u]=g.useState(wo);let f;n[0]===Symbol.for("react.memo_cache_sentinel")?(f=async function(){await fetch("/logout"),u(wo)},n[0]=f):f=n[0];const d=f;let y,v;n[1]===Symbol.for("react.memo_cache_sentinel")?(y=()=>{hE().then(R=>{u(R)})},v=[],n[1]=y,n[2]=v):(y=n[1],v=n[2]),g.useEffect(y,v);let p;n[3]!==s?(p={user:s,logout:d,setUser:u},n[3]=s,n[4]=p):p=n[4];let b;return n[5]!==c||n[6]!==p?(b=h.jsx(Fo.Provider,{value:p,children:c}),n[5]=c,n[6]=p,n[7]=b):b=n[7],b},yE=g.createContext({filterSelection:{selectedYears:[],selectedNrens:[]},setFilterSelection:()=>{}}),pE=l=>{const n=Ke.c(6),{children:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s={selectedYears:[],selectedNrens:[]},n[0]=s):s=n[0];const[u,f]=g.useState(s);let d;n[1]!==u?(d={filterSelection:u,setFilterSelection:f},n[1]=u,n[2]=d):d=n[2];let y;return n[3]!==c||n[4]!==d?(y=h.jsx(yE.Provider,{value:d,children:c}),n[3]=c,n[4]=d,n[5]=y):y=n[5],y},vE=g.createContext(null),gE=l=>{const n=Ke.c(2),{children:c}=l,s=g.useRef(null);let u;return n[0]!==c?(u=h.jsx(vE.Provider,{value:s,children:c}),n[0]=c,n[1]=u):u=n[1],u},Iy=g.createContext({preview:!1,setPreview:()=>{}}),EE=l=>{const n=Ke.c(5),{children:c}=l,[s,u]=g.useState(!1);let f;n[0]!==s?(f={preview:s,setPreview:u},n[0]=s,n[1]=f):f=n[1];let d;return n[2]!==c||n[3]!==f?(d=h.jsx(Iy.Provider,{value:f,children:c}),n[2]=c,n[3]=f,n[4]=d):d=n[4],d};async function bE(){try{return await(await fetch("/api/nren/list")).json()}catch{return[]}}const SE=g.createContext({nrens:[],setNrens:()=>{}}),xE=l=>{const n=Ke.c(8),{children:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],n[0]=s):s=n[0];const[u,f]=g.useState(s);let d,y;n[1]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{bE().then(b=>f(b))},y=[],n[1]=d,n[2]=y):(d=n[1],y=n[2]),g.useEffect(d,y);let v;n[3]!==u?(v={nrens:u,setNrens:f},n[3]=u,n[4]=v):v=n[4];let p;return n[5]!==c||n[6]!==v?(p=h.jsx(SE.Provider,{value:v,children:c}),n[5]=c,n[6]=v,n[7]=p):p=n[7],p},mo={TRACK_EVENT:"trackEvent",TRACK_LINK:"trackLink",TRACK_VIEW:"trackPageView"};class _E{constructor(n){wm(this,"mutationObserver");if(!n.urlBase)throw new Error("Matomo urlBase is required.");if(!n.siteId)throw new Error("Matomo siteId is required.");this.initialize(n)}initialize({urlBase:n,siteId:c,userId:s,trackerUrl:u,srcUrl:f,disabled:d,heartBeat:y,requireConsent:v=!1,configurations:p={}}){const b=n[n.length-1]!=="/"?`${n}/`:n;if(typeof window>"u"||(window._paq=window._paq||[],window._paq.length!==0)||d)return;v&&this.pushInstruction("requireConsent"),this.pushInstruction("setTrackerUrl",u??`${b}matomo.php`),this.pushInstruction("setSiteId",c),s&&this.pushInstruction("setUserId",s),Object.entries(p).forEach(([O,H])=>{H instanceof Array?this.pushInstruction(O,...H):this.pushInstruction(O,H)}),(!y||y&&y.active)&&this.enableHeartBeatTimer((y&&y.seconds)??15);const R=document,S=R.createElement("script"),_=R.getElementsByTagName("script")[0];S.type="text/javascript",S.async=!0,S.defer=!0,S.src=f||`${b}matomo.js`,_&&_.parentNode&&_.parentNode.insertBefore(S,_)}enableHeartBeatTimer(n){this.pushInstruction("enableHeartBeatTimer",n)}trackEventsForElements(n){n.length&&n.forEach(c=>{c.addEventListener("click",()=>{const{matomoCategory:s,matomoAction:u,matomoName:f,matomoValue:d}=c.dataset;if(s&&u)this.trackEvent({category:s,action:u,name:f,value:Number(d)});else throw new Error("Error: data-matomo-category and data-matomo-action are required.")})})}trackEvents(){const n='[data-matomo-event="click"]';let c=!1;if(this.mutationObserver||(c=!0,this.mutationObserver=new MutationObserver(s=>{s.forEach(u=>{u.addedNodes.forEach(f=>{if(!(f instanceof HTMLElement))return;f.matches(n)&&this.trackEventsForElements([f]);const d=Array.from(f.querySelectorAll(n));this.trackEventsForElements(d)})})})),this.mutationObserver.observe(document,{childList:!0,subtree:!0}),c){const s=Array.from(document.querySelectorAll(n));this.trackEventsForElements(s)}}stopObserving(){this.mutationObserver&&this.mutationObserver.disconnect()}trackEvent({category:n,action:c,name:s,value:u,...f}){if(n&&c)this.track({data:[mo.TRACK_EVENT,n,c,s,u],...f});else throw new Error("Error: category and action are required.")}giveConsent(){this.pushInstruction("setConsentGiven")}trackLink({href:n,linkType:c="link"}){this.pushInstruction(mo.TRACK_LINK,n,c)}trackPageView(n){this.track({data:[mo.TRACK_VIEW],...n})}track({data:n=[],documentTitle:c=window.document.title,href:s,customDimensions:u=!1}){n.length&&(u&&Array.isArray(u)&&u.length&&u.map(f=>this.pushInstruction("setCustomDimension",f.id,f.value)),this.pushInstruction("setCustomUrl",s??window.location.href),this.pushInstruction("setDocumentTitle",c),this.pushInstruction(...n))}pushInstruction(n,...c){return typeof window<"u"&&window._paq.push([n,...c]),this}}function RE(l){return window.location.hostname==="localhost"&&(console.log("Matomo tracking disabled in development mode."),l.disabled=!0),new _E(l)}const Jo=g.createContext({consent:null,setConsent:()=>{}}),TE=l=>{const n=Ke.c(7),{children:c}=l,s=NE;let u;n[0]===Symbol.for("react.memo_cache_sentinel")?(u=s(),n[0]=u):u=n[0];const[f,d]=g.useState(u);let y;n[1]===Symbol.for("react.memo_cache_sentinel")?(y=b=>d(b),n[1]=y):y=n[1];let v;n[2]!==f?(v={setConsent:y,consent:f},n[2]=f,n[3]=v):v=n[3];let p;return n[4]!==c||n[5]!==v?(p=h.jsx(Jo.Provider,{value:v,children:c}),n[4]=c,n[5]=v,n[6]=p):p=n[6],p};function NE(){const l=localStorage.getItem("matomo_consent");if(l){const n=JSON.parse(l);if(new Date(n.expiry)>new Date)return n.consent}return null}const ep=g.createContext(null),CE=function(l){const n=Ke.c(5),{children:c}=l,u=!g.useContext(Jo).consent;let f;n[0]!==u?(f=RE({urlBase:"https://prod-swd-webanalytics01.geant.org/",siteId:1,disabled:u}),n[0]=u,n[1]=f):f=n[1];const d=f;let y;return n[2]!==c||n[3]!==d?(y=h.jsx(ep.Provider,{value:d,children:c}),n[2]=c,n[3]=d,n[4]=y):y=n[4],y},jE=()=>{const l=JSON.parse(localStorage.getItem("config")??"{}"),n={};for(const c in l){const s=l[c];s.expireTime&&s.expireTime<Date.now()||s&&(n[c]=s)}return n},yo=l=>{localStorage.setItem("config",JSON.stringify(l))},OE=g.createContext({getConfig:()=>{},setConfig:()=>{}}),DE=l=>{const n=Ke.c(12),{children:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s=jE(),n[0]=s):s=n[0];const[u,f]=g.useState(s);let d;n[1]!==u?(d=(S,_,O)=>{var q;if(!S)throw new Error("Valid config key must be provided");if(_==null){const Y={...u};delete Y[S],f(Y),yo(Y);return}const H=JSON.stringify(_),U=JSON.stringify((q=u[S])==null?void 0:q.value);if(H===U)return;const M=O?O.getTime():null;if(M&&M<Date.now())throw new Error("Timeout must be in the future");M?(f({...u,[S]:{value:_,expireTime:M}}),yo({...u,[S]:{value:_,expireTime:M}})):(f({...u,[S]:{value:_}}),yo({...u,[S]:{value:_}}))},n[1]=u,n[2]=d):d=n[2];const y=d;let v;n[3]!==u||n[4]!==y?(v=S=>{const _=u[S];if(_!=null&&_.expireTime&&_.expireTime<Date.now()){y(S);return}if(_!=null)return _.value},n[3]=u,n[4]=y,n[5]=v):v=n[5];const p=v;let b;n[6]!==p||n[7]!==y?(b={getConfig:p,setConfig:y},n[6]=p,n[7]=y,n[8]=b):b=n[8];let R;return n[9]!==c||n[10]!==b?(R=h.jsx(OE.Provider,{value:b,children:c}),n[9]=c,n[10]=b,n[11]=R):R=n[11],R};function wE(l){const n=Ke.c(2),{children:c}=l;let s;return n[0]!==c?(s=h.jsx(DE,{children:h.jsx(TE,{children:h.jsx(CE,{children:h.jsx(dE,{children:h.jsx(mE,{children:h.jsx(pE,{children:h.jsx(gE,{children:h.jsx(EE,{children:h.jsx(xE,{children:c})})})})})})})})}),n[0]=c,n[1]=s):s=n[1],s}var Qt=(l=>(l.ConnectedProportion="proportion",l.ConnectivityLevel="level",l.ConnectionCarrier="carrier",l.ConnectivityLoad="load",l.ConnectivityGrowth="growth",l.CommercialConnectivity="commercial",l.CommercialChargingLevel="charging",l))(Qt||{}),Lt=(l=>(l.network_services="network_services",l.isp_support="isp_support",l.security="security",l.identity="identity",l.collaboration="collaboration",l.multimedia="multimedia",l.storage_and_hosting="storage_and_hosting",l.professional_services="professional_services",l))(Lt||{}),po={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/var oy;function DE(){return oy||(oy=1,function(a){(function(){var i={}.hasOwnProperty;function u(){for(var f="",m=0;m<arguments.length;m++){var y=arguments[m];y&&(f=o(f,c(y)))}return f}function c(f){if(typeof f=="string"||typeof f=="number")return f;if(typeof f!="object")return"";if(Array.isArray(f))return u.apply(null,f);if(f.toString!==Object.prototype.toString&&!f.toString.toString().includes("[native code]"))return f.toString();var m="";for(var y in f)i.call(f,y)&&f[y]&&(m=o(m,y));return m}function o(f,m){return m?f?f+" "+m:f+m:f}a.exports?(u.default=u,a.exports=u):window.classNames=u})()}(mo)),mo.exports}var AE=DE();const De=pr(AE);function wE(a,i){if(a==null)return{};var u={};for(var c in a)if({}.hasOwnProperty.call(a,c)){if(i.includes(c))continue;u[c]=a[c]}return u}function Do(a,i){return Do=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,c){return u.__proto__=c,u},Do(a,i)}function ME(a,i){a.prototype=Object.create(i.prototype),a.prototype.constructor=a,Do(a,i)}const zE=["xxl","xl","lg","md","sm","xs"],LE="xs",Ku=g.createContext({prefixes:{},breakpoints:zE,minBreakpoint:LE});function Ve(a,i){const{prefixes:u}=g.useContext(Ku);return a||u[i]||i}function Iy(){const{breakpoints:a}=g.useContext(Ku);return a}function ep(){const{minBreakpoint:a}=g.useContext(Ku);return a}function UE(){const{dir:a}=g.useContext(Ku);return a==="rtl"}function $u(a){return a&&a.ownerDocument||document}function HE(a){var i=$u(a);return i&&i.defaultView||window}function BE(a,i){return HE(a).getComputedStyle(a,i)}var qE=/([A-Z])/g;function kE(a){return a.replace(qE,"-$1").toLowerCase()}var VE=/^ms-/;function Du(a){return kE(a).replace(VE,"-ms-")}var YE=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;function GE(a){return!!(a&&YE.test(a))}function Nl(a,i){var u="",c="";if(typeof i=="string")return a.style.getPropertyValue(Du(i))||BE(a).getPropertyValue(Du(i));Object.keys(i).forEach(function(o){var f=i[o];!f&&f!==0?a.style.removeProperty(Du(o)):GE(o)?c+=o+"("+f+") ":u+=Du(o)+": "+f+";"}),c&&(u+="transform: "+c+";"),a.style.cssText+=";"+u}var yo={exports:{}},po,fy;function XE(){if(fy)return po;fy=1;var a="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return po=a,po}var vo,dy;function QE(){if(dy)return vo;dy=1;var a=XE();function i(){}function u(){}return u.resetWarningCache=i,vo=function(){function c(m,y,v,p,b,T){if(T!==a){var x=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw x.name="Invariant Violation",x}}c.isRequired=c;function o(){return c}var f={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:o,element:c,elementType:c,instanceOf:o,node:c,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:u,resetWarningCache:i};return f.PropTypes=f,f},vo}var hy;function ZE(){return hy||(hy=1,yo.exports=QE()()),yo.exports}var KE=ZE();const ga=pr(KE),my={disabled:!1},tp=Vt.createContext(null);var $E=function(i){return i.scrollTop},hr="unmounted",Sl="exited",Ka="entering",_l="entered",Ao="exiting",ba=function(a){ME(i,a);function i(c,o){var f;f=a.call(this,c,o)||this;var m=o,y=m&&!m.isMounting?c.enter:c.appear,v;return f.appearStatus=null,c.in?y?(v=Sl,f.appearStatus=Ka):v=_l:c.unmountOnExit||c.mountOnEnter?v=hr:v=Sl,f.state={status:v},f.nextCallback=null,f}i.getDerivedStateFromProps=function(o,f){var m=o.in;return m&&f.status===hr?{status:Sl}:null};var u=i.prototype;return u.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},u.componentDidUpdate=function(o){var f=null;if(o!==this.props){var m=this.state.status;this.props.in?m!==Ka&&m!==_l&&(f=Ka):(m===Ka||m===_l)&&(f=Ao)}this.updateStatus(!1,f)},u.componentWillUnmount=function(){this.cancelNextCallback()},u.getTimeouts=function(){var o=this.props.timeout,f,m,y;return f=m=y=o,o!=null&&typeof o!="number"&&(f=o.exit,m=o.enter,y=o.appear!==void 0?o.appear:m),{exit:f,enter:m,appear:y}},u.updateStatus=function(o,f){if(o===void 0&&(o=!1),f!==null)if(this.cancelNextCallback(),f===Ka){if(this.props.unmountOnExit||this.props.mountOnEnter){var m=this.props.nodeRef?this.props.nodeRef.current:di.findDOMNode(this);m&&$E(m)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Sl&&this.setState({status:hr})},u.performEnter=function(o){var f=this,m=this.props.enter,y=this.context?this.context.isMounting:o,v=this.props.nodeRef?[y]:[di.findDOMNode(this),y],p=v[0],b=v[1],T=this.getTimeouts(),x=y?T.appear:T.enter;if(!o&&!m||my.disabled){this.safeSetState({status:_l},function(){f.props.onEntered(p)});return}this.props.onEnter(p,b),this.safeSetState({status:Ka},function(){f.props.onEntering(p,b),f.onTransitionEnd(x,function(){f.safeSetState({status:_l},function(){f.props.onEntered(p,b)})})})},u.performExit=function(){var o=this,f=this.props.exit,m=this.getTimeouts(),y=this.props.nodeRef?void 0:di.findDOMNode(this);if(!f||my.disabled){this.safeSetState({status:Sl},function(){o.props.onExited(y)});return}this.props.onExit(y),this.safeSetState({status:Ao},function(){o.props.onExiting(y),o.onTransitionEnd(m.exit,function(){o.safeSetState({status:Sl},function(){o.props.onExited(y)})})})},u.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},u.safeSetState=function(o,f){f=this.setNextCallback(f),this.setState(o,f)},u.setNextCallback=function(o){var f=this,m=!0;return this.nextCallback=function(y){m&&(m=!1,f.nextCallback=null,o(y))},this.nextCallback.cancel=function(){m=!1},this.nextCallback},u.onTransitionEnd=function(o,f){this.setNextCallback(f);var m=this.props.nodeRef?this.props.nodeRef.current:di.findDOMNode(this),y=o==null&&!this.props.addEndListener;if(!m||y){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var v=this.props.nodeRef?[this.nextCallback]:[m,this.nextCallback],p=v[0],b=v[1];this.props.addEndListener(p,b)}o!=null&&setTimeout(this.nextCallback,o)},u.render=function(){var o=this.state.status;if(o===hr)return null;var f=this.props,m=f.children;f.in,f.mountOnEnter,f.unmountOnExit,f.appear,f.enter,f.exit,f.timeout,f.addEndListener,f.onEnter,f.onEntering,f.onEntered,f.onExit,f.onExiting,f.onExited,f.nodeRef;var y=wE(f,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Vt.createElement(tp.Provider,{value:null},typeof m=="function"?m(o,y):Vt.cloneElement(Vt.Children.only(m),y))},i}(Vt.Component);ba.contextType=tp;ba.propTypes={};function ui(){}ba.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ui,onEntering:ui,onEntered:ui,onExit:ui,onExiting:ui,onExited:ui};ba.UNMOUNTED=hr;ba.EXITED=Sl;ba.ENTERING=Ka;ba.ENTERED=_l;ba.EXITING=Ao;function JE(a){return a.code==="Escape"||a.keyCode===27}function FE(){const a=g.version.split(".");return{major:+a[0],minor:+a[1],patch:+a[2]}}function Ju(a){if(!a||typeof a=="function")return null;const{major:i}=FE();return i>=19?a.props.ref:a.ref}const hi=!!(typeof window<"u"&&window.document&&window.document.createElement);var wo=!1,Mo=!1;try{var go={get passive(){return wo=!0},get once(){return Mo=wo=!0}};hi&&(window.addEventListener("test",go,go),window.removeEventListener("test",go,!0))}catch{}function np(a,i,u,c){if(c&&typeof c!="boolean"&&!Mo){var o=c.once,f=c.capture,m=u;!Mo&&o&&(m=u.__once||function y(v){this.removeEventListener(i,y,f),u.call(this,v)},u.__once=m),a.addEventListener(i,m,wo?c:f)}a.addEventListener(i,u,c)}function zo(a,i,u,c){var o=c&&typeof c!="boolean"?c.capture:c;a.removeEventListener(i,u,o),u.__once&&a.removeEventListener(i,u.__once,o)}function qu(a,i,u,c){return np(a,i,u,c),function(){zo(a,i,u,c)}}function PE(a,i,u,c){if(c===void 0&&(c=!0),a){var o=document.createEvent("HTMLEvents");o.initEvent(i,u,c),a.dispatchEvent(o)}}function WE(a){var i=Nl(a,"transitionDuration")||"",u=i.indexOf("ms")===-1?1e3:1;return parseFloat(i)*u}function IE(a,i,u){u===void 0&&(u=5);var c=!1,o=setTimeout(function(){c||PE(a,"transitionend",!0)},i+u),f=qu(a,"transitionend",function(){c=!0},{once:!0});return function(){clearTimeout(o),f()}}function ap(a,i,u,c){u==null&&(u=WE(a)||0);var o=IE(a,u,c),f=qu(a,"transitionend",i);return function(){o(),f()}}function yy(a,i){const u=Nl(a,i)||"",c=u.indexOf("ms")===-1?1e3:1;return parseFloat(u)*c}function eb(a,i){const u=yy(a,"transitionDuration"),c=yy(a,"transitionDelay"),o=ap(a,f=>{f.target===a&&(o(),i(f))},u+c)}function tb(a){a.offsetHeight}const py=a=>!a||typeof a=="function"?a:i=>{a.current=i};function nb(a,i){const u=py(a),c=py(i);return o=>{u&&u(o),c&&c(o)}}function lp(a,i){return g.useMemo(()=>nb(a,i),[a,i])}function ab(a){return a&&"setState"in a?di.findDOMNode(a):a??null}const lb=Vt.forwardRef(({onEnter:a,onEntering:i,onEntered:u,onExit:c,onExiting:o,onExited:f,addEndListener:m,children:y,childRef:v,...p},b)=>{const T=g.useRef(null),x=lp(T,v),R=O=>{x(ab(O))},w=O=>ue=>{O&&T.current&&O(T.current,ue)},k=g.useCallback(w(a),[a]),B=g.useCallback(w(i),[i]),U=g.useCallback(w(u),[u]),Y=g.useCallback(w(c),[c]),$=g.useCallback(w(o),[o]),ee=g.useCallback(w(f),[f]),J=g.useCallback(w(m),[m]);return h.jsx(ba,{ref:b,...p,onEnter:k,onEntered:U,onEntering:B,onExit:Y,onExited:ee,onExiting:$,addEndListener:J,nodeRef:T,children:typeof y=="function"?(O,ue)=>y(O,{...ue,ref:R}):Vt.cloneElement(y,{ref:R})})});function ib(a){const i=g.useRef(a);return g.useEffect(()=>{i.current=a},[a]),i}function Lo(a){const i=ib(a);return g.useCallback(function(...u){return i.current&&i.current(...u)},[i])}const Jo=a=>g.forwardRef((i,u)=>h.jsx("div",{...i,ref:u,className:De(i.className,a)}));function rb(a){const i=g.useRef(a);return g.useEffect(()=>{i.current=a},[a]),i}function Rl(a){const i=rb(a);return g.useCallback(function(...u){return i.current&&i.current(...u)},[i])}function ub(){const a=g.useRef(!0),i=g.useRef(()=>a.current);return g.useEffect(()=>(a.current=!0,()=>{a.current=!1}),[]),i.current}function cb(a){const i=g.useRef(null);return g.useEffect(()=>{i.current=a}),i.current}const sb=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",ob=typeof document<"u",vy=ob||sb?g.useLayoutEffect:g.useEffect,fb=["as","disabled"];function db(a,i){if(a==null)return{};var u={};for(var c in a)if({}.hasOwnProperty.call(a,c)){if(i.indexOf(c)>=0)continue;u[c]=a[c]}return u}function hb(a){return!a||a.trim()==="#"}function ip({tagName:a,disabled:i,href:u,target:c,rel:o,role:f,onClick:m,tabIndex:y=0,type:v}){a||(u!=null||c!=null||o!=null?a="a":a="button");const p={tagName:a};if(a==="button")return[{type:v||"button",disabled:i},p];const b=x=>{if((i||a==="a"&&hb(u))&&x.preventDefault(),i){x.stopPropagation();return}m==null||m(x)},T=x=>{x.key===" "&&(x.preventDefault(),b(x))};return a==="a"&&(u||(u="#"),i&&(u=void 0)),[{role:f??"button",disabled:void 0,tabIndex:i?void 0:y,href:u,target:a==="a"?c:void 0,"aria-disabled":i||void 0,rel:a==="a"?o:void 0,onClick:b,onKeyDown:T},p]}const mb=g.forwardRef((a,i)=>{let{as:u,disabled:c}=a,o=db(a,fb);const[f,{tagName:m}]=ip(Object.assign({tagName:u,disabled:c},o));return h.jsx(m,Object.assign({},o,f,{ref:i}))});mb.displayName="Button";const yb={[Ka]:"show",[_l]:"show"},Fo=g.forwardRef(({className:a,children:i,transitionClasses:u={},onEnter:c,...o},f)=>{const m={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1,...o},y=g.useCallback((v,p)=>{tb(v),c==null||c(v,p)},[c]);return h.jsx(lb,{ref:f,addEndListener:eb,...m,onEnter:y,childRef:Ju(i),children:(v,p)=>g.cloneElement(i,{...p,className:De("fade",a,i.props.className,yb[v],u[v])})})});Fo.displayName="Fade";const pb={"aria-label":ga.string,onClick:ga.func,variant:ga.oneOf(["white"])},Po=g.forwardRef(({className:a,variant:i,"aria-label":u="Close",...c},o)=>h.jsx("button",{ref:o,type:"button",className:De("btn-close",i&&`btn-close-${i}`,a),"aria-label":u,...c}));Po.displayName="CloseButton";Po.propTypes=pb;const Uo=g.forwardRef(({as:a,bsPrefix:i,variant:u="primary",size:c,active:o=!1,disabled:f=!1,className:m,...y},v)=>{const p=Ve(i,"btn"),[b,{tagName:T}]=ip({tagName:a,disabled:f,...y}),x=T;return h.jsx(x,{...b,...y,ref:v,disabled:f,className:De(m,p,o&&"active",u&&`${p}-${u}`,c&&`${p}-${c}`,y.href&&f&&"disabled")})});Uo.displayName="Button";const Wo=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"card-body"),h.jsx(u,{ref:o,className:De(a,i),...c})));Wo.displayName="CardBody";const rp=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"card-footer"),h.jsx(u,{ref:o,className:De(a,i),...c})));rp.displayName="CardFooter";const up=g.createContext(null);up.displayName="CardHeaderContext";const cp=g.forwardRef(({bsPrefix:a,className:i,as:u="div",...c},o)=>{const f=Ve(a,"card-header"),m=g.useMemo(()=>({cardHeaderBsPrefix:f}),[f]);return h.jsx(up.Provider,{value:m,children:h.jsx(u,{ref:o,...c,className:De(i,f)})})});cp.displayName="CardHeader";const sp=g.forwardRef(({bsPrefix:a,className:i,variant:u,as:c="img",...o},f)=>{const m=Ve(a,"card-img");return h.jsx(c,{ref:f,className:De(u?`${m}-${u}`:m,i),...o})});sp.displayName="CardImg";const op=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"card-img-overlay"),h.jsx(u,{ref:o,className:De(a,i),...c})));op.displayName="CardImgOverlay";const fp=g.forwardRef(({className:a,bsPrefix:i,as:u="a",...c},o)=>(i=Ve(i,"card-link"),h.jsx(u,{ref:o,className:De(a,i),...c})));fp.displayName="CardLink";const vb=Jo("h6"),dp=g.forwardRef(({className:a,bsPrefix:i,as:u=vb,...c},o)=>(i=Ve(i,"card-subtitle"),h.jsx(u,{ref:o,className:De(a,i),...c})));dp.displayName="CardSubtitle";const hp=g.forwardRef(({className:a,bsPrefix:i,as:u="p",...c},o)=>(i=Ve(i,"card-text"),h.jsx(u,{ref:o,className:De(a,i),...c})));hp.displayName="CardText";const gb=Jo("h5"),mp=g.forwardRef(({className:a,bsPrefix:i,as:u=gb,...c},o)=>(i=Ve(i,"card-title"),h.jsx(u,{ref:o,className:De(a,i),...c})));mp.displayName="CardTitle";const yp=g.forwardRef(({bsPrefix:a,className:i,bg:u,text:c,border:o,body:f=!1,children:m,as:y="div",...v},p)=>{const b=Ve(a,"card");return h.jsx(y,{ref:p,...v,className:De(i,b,u&&`bg-${u}`,c&&`text-${c}`,o&&`border-${o}`),children:f?h.jsx(Wo,{children:m}):m})});yp.displayName="Card";const Zn=Object.assign(yp,{Img:sp,Title:mp,Subtitle:dp,Body:Wo,Link:fp,Text:hp,Header:cp,Footer:rp,ImgOverlay:op});function Eb(a){const i=g.useRef(a);return i.current=a,i}function bb(a){const i=Eb(a);g.useEffect(()=>()=>i.current(),[])}function Sb(a,i){return g.Children.toArray(a).some(u=>g.isValidElement(u)&&u.type===i)}function xb({as:a,bsPrefix:i,className:u,...c}){i=Ve(i,"col");const o=Iy(),f=ep(),m=[],y=[];return o.forEach(v=>{const p=c[v];delete c[v];let b,T,x;typeof p=="object"&&p!=null?{span:b,offset:T,order:x}=p:b=p;const R=v!==f?`-${v}`:"";b&&m.push(b===!0?`${i}${R}`:`${i}${R}-${b}`),x!=null&&y.push(`order${R}-${x}`),T!=null&&y.push(`offset${R}-${T}`)}),[{...c,className:De(u,...m,...y)},{as:a,bsPrefix:i,spans:m}]}const sn=g.forwardRef((a,i)=>{const[{className:u,...c},{as:o="div",bsPrefix:f,spans:m}]=xb(a);return h.jsx(o,{...c,ref:i,className:De(u,!m.length&&f)})});sn.displayName="Col";const Fa=g.forwardRef(({bsPrefix:a,fluid:i=!1,as:u="div",className:c,...o},f)=>{const m=Ve(a,"container"),y=typeof i=="string"?`-${i}`:"-fluid";return h.jsx(u,{ref:f,...o,className:De(c,i?`${m}${y}`:m)})});Fa.displayName="Container";var _b=Function.prototype.bind.call(Function.prototype.call,[].slice);function ci(a,i){return _b(a.querySelectorAll(i))}function gy(a,i){if(a.contains)return a.contains(i);if(a.compareDocumentPosition)return a===i||!!(a.compareDocumentPosition(i)&16)}var Eo,Ey;function Rb(){if(Ey)return Eo;Ey=1;var a=function(){};return Eo=a,Eo}var Tb=Rb();const wx=pr(Tb),Nb="data-rr-ui-";function Cb(a){return`${Nb}${a}`}const pp=g.createContext(hi?window:void 0);pp.Provider;function Io(){return g.useContext(pp)}const jb={type:ga.string,tooltip:ga.bool,as:ga.elementType},Fu=g.forwardRef(({as:a="div",className:i,type:u="valid",tooltip:c=!1,...o},f)=>h.jsx(a,{...o,ref:f,className:De(i,`${u}-${c?"tooltip":"feedback"}`)}));Fu.displayName="Feedback";Fu.propTypes=jb;const Ea=g.createContext({}),ef=g.forwardRef(({id:a,bsPrefix:i,className:u,type:c="checkbox",isValid:o=!1,isInvalid:f=!1,as:m="input",...y},v)=>{const{controlId:p}=g.useContext(Ea);return i=Ve(i,"form-check-input"),h.jsx(m,{...y,ref:v,type:c,id:a||p,className:De(u,i,o&&"is-valid",f&&"is-invalid")})});ef.displayName="FormCheckInput";const ku=g.forwardRef(({bsPrefix:a,className:i,htmlFor:u,...c},o)=>{const{controlId:f}=g.useContext(Ea);return a=Ve(a,"form-check-label"),h.jsx("label",{...c,ref:o,htmlFor:u||f,className:De(i,a)})});ku.displayName="FormCheckLabel";const vp=g.forwardRef(({id:a,bsPrefix:i,bsSwitchPrefix:u,inline:c=!1,reverse:o=!1,disabled:f=!1,isValid:m=!1,isInvalid:y=!1,feedbackTooltip:v=!1,feedback:p,feedbackType:b,className:T,style:x,title:R="",type:w="checkbox",label:k,children:B,as:U="input",...Y},$)=>{i=Ve(i,"form-check"),u=Ve(u,"form-switch");const{controlId:ee}=g.useContext(Ea),J=g.useMemo(()=>({controlId:a||ee}),[ee,a]),O=!B&&k!=null&&k!==!1||Sb(B,ku),ue=h.jsx(ef,{...Y,type:w==="switch"?"checkbox":w,ref:$,isValid:m,isInvalid:y,disabled:f,as:U});return h.jsx(Ea.Provider,{value:J,children:h.jsx("div",{style:x,className:De(T,O&&i,c&&`${i}-inline`,o&&`${i}-reverse`,w==="switch"&&u),children:B||h.jsxs(h.Fragment,{children:[ue,O&&h.jsx(ku,{title:R,children:k}),p&&h.jsx(Fu,{type:b,tooltip:v,children:p})]})})})});vp.displayName="FormCheck";const Vu=Object.assign(vp,{Input:ef,Label:ku}),gp=g.forwardRef(({bsPrefix:a,type:i,size:u,htmlSize:c,id:o,className:f,isValid:m=!1,isInvalid:y=!1,plaintext:v,readOnly:p,as:b="input",...T},x)=>{const{controlId:R}=g.useContext(Ea);return a=Ve(a,"form-control"),h.jsx(b,{...T,type:i,size:c,ref:x,readOnly:p,id:o||R,className:De(f,v?`${a}-plaintext`:a,u&&`${a}-${u}`,i==="color"&&`${a}-color`,m&&"is-valid",y&&"is-invalid")})});gp.displayName="FormControl";const Ob=Object.assign(gp,{Feedback:Fu}),Ep=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"form-floating"),h.jsx(u,{ref:o,className:De(a,i),...c})));Ep.displayName="FormFloating";const tf=g.forwardRef(({controlId:a,as:i="div",...u},c)=>{const o=g.useMemo(()=>({controlId:a}),[a]);return h.jsx(Ea.Provider,{value:o,children:h.jsx(i,{...u,ref:c})})});tf.displayName="FormGroup";const bp=g.forwardRef(({as:a="label",bsPrefix:i,column:u=!1,visuallyHidden:c=!1,className:o,htmlFor:f,...m},y)=>{const{controlId:v}=g.useContext(Ea);i=Ve(i,"form-label");let p="col-form-label";typeof u=="string"&&(p=`${p} ${p}-${u}`);const b=De(o,i,c&&"visually-hidden",u&&p);return f=f||v,u?h.jsx(sn,{ref:y,as:"label",className:b,htmlFor:f,...m}):h.jsx(a,{ref:y,className:b,htmlFor:f,...m})});bp.displayName="FormLabel";const Sp=g.forwardRef(({bsPrefix:a,className:i,id:u,...c},o)=>{const{controlId:f}=g.useContext(Ea);return a=Ve(a,"form-range"),h.jsx("input",{...c,type:"range",ref:o,className:De(i,a),id:u||f})});Sp.displayName="FormRange";const xp=g.forwardRef(({bsPrefix:a,size:i,htmlSize:u,className:c,isValid:o=!1,isInvalid:f=!1,id:m,...y},v)=>{const{controlId:p}=g.useContext(Ea);return a=Ve(a,"form-select"),h.jsx("select",{...y,size:u,ref:v,className:De(c,a,i&&`${a}-${i}`,o&&"is-valid",f&&"is-invalid"),id:m||p})});xp.displayName="FormSelect";const _p=g.forwardRef(({bsPrefix:a,className:i,as:u="small",muted:c,...o},f)=>(a=Ve(a,"form-text"),h.jsx(u,{...o,ref:f,className:De(i,a,c&&"text-muted")})));_p.displayName="FormText";const Rp=g.forwardRef((a,i)=>h.jsx(Vu,{...a,ref:i,type:"switch"}));Rp.displayName="Switch";const Db=Object.assign(Rp,{Input:Vu.Input,Label:Vu.Label}),Tp=g.forwardRef(({bsPrefix:a,className:i,children:u,controlId:c,label:o,...f},m)=>(a=Ve(a,"form-floating"),h.jsxs(tf,{ref:m,className:De(i,a),controlId:c,...f,children:[u,h.jsx("label",{htmlFor:c,children:o})]})));Tp.displayName="FloatingLabel";const Ab={_ref:ga.any,validated:ga.bool,as:ga.elementType},nf=g.forwardRef(({className:a,validated:i,as:u="form",...c},o)=>h.jsx(u,{...c,ref:o,className:De(a,i&&"was-validated")}));nf.displayName="Form";nf.propTypes=Ab;const Au=Object.assign(nf,{Group:tf,Control:Ob,Floating:Ep,Check:Vu,Switch:Db,Label:bp,Text:_p,Range:Sp,Select:xp,FloatingLabel:Tp}),by=a=>!a||typeof a=="function"?a:i=>{a.current=i};function wb(a,i){const u=by(a),c=by(i);return o=>{u&&u(o),c&&c(o)}}function af(a,i){return g.useMemo(()=>wb(a,i),[a,i])}var wu;function Sy(a){if((!wu&&wu!==0||a)&&hi){var i=document.createElement("div");i.style.position="absolute",i.style.top="-9999px",i.style.width="50px",i.style.height="50px",i.style.overflow="scroll",document.body.appendChild(i),wu=i.offsetWidth-i.clientWidth,document.body.removeChild(i)}return wu}function Mb(){return g.useState(null)}function bo(a){a===void 0&&(a=$u());try{var i=a.activeElement;return!i||!i.nodeName?null:i}catch{return a.body}}function zb(a){const i=g.useRef(a);return i.current=a,i}function Lb(a){const i=zb(a);g.useEffect(()=>()=>i.current(),[])}function Ub(a=document){const i=a.defaultView;return Math.abs(i.innerWidth-a.documentElement.clientWidth)}const xy=Cb("modal-open");class lf{constructor({ownerDocument:i,handleContainerOverflow:u=!0,isRTL:c=!1}={}){this.handleContainerOverflow=u,this.isRTL=c,this.modals=[],this.ownerDocument=i}getScrollbarWidth(){return Ub(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(i){}removeModalAttributes(i){}setContainerStyle(i){const u={overflow:"hidden"},c=this.isRTL?"paddingLeft":"paddingRight",o=this.getElement();i.style={overflow:o.style.overflow,[c]:o.style[c]},i.scrollBarWidth&&(u[c]=`${parseInt(Nl(o,c)||"0",10)+i.scrollBarWidth}px`),o.setAttribute(xy,""),Nl(o,u)}reset(){[...this.modals].forEach(i=>this.remove(i))}removeContainerStyle(i){const u=this.getElement();u.removeAttribute(xy),Object.assign(u.style,i.style)}add(i){let u=this.modals.indexOf(i);return u!==-1||(u=this.modals.length,this.modals.push(i),this.setModalAttributes(i),u!==0)||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),u}remove(i){const u=this.modals.indexOf(i);u!==-1&&(this.modals.splice(u,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(i))}isTopModal(i){return!!this.modals.length&&this.modals[this.modals.length-1]===i}}const So=(a,i)=>hi?a==null?(i||$u()).body:(typeof a=="function"&&(a=a()),a&&"current"in a&&(a=a.current),a&&("nodeType"in a||a.getBoundingClientRect)?a:null):null;function Hb(a,i){const u=Io(),[c,o]=g.useState(()=>So(a,u==null?void 0:u.document));if(!c){const f=So(a);f&&o(f)}return g.useEffect(()=>{},[i,c]),g.useEffect(()=>{const f=So(a);f!==c&&o(f)},[a,c]),c}function Bb({children:a,in:i,onExited:u,mountOnEnter:c,unmountOnExit:o}){const f=g.useRef(null),m=g.useRef(i),y=Rl(u);g.useEffect(()=>{i?m.current=!0:y(f.current)},[i,y]);const v=af(f,Ju(a)),p=g.cloneElement(a,{ref:v});return i?p:o||!m.current&&c?null:p}const qb=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"];function kb(a,i){if(a==null)return{};var u={};for(var c in a)if({}.hasOwnProperty.call(a,c)){if(i.indexOf(c)>=0)continue;u[c]=a[c]}return u}function Vb(a){let{onEnter:i,onEntering:u,onEntered:c,onExit:o,onExiting:f,onExited:m,addEndListener:y,children:v}=a,p=kb(a,qb);const b=g.useRef(null),T=af(b,Ju(v)),x=ee=>J=>{ee&&b.current&&ee(b.current,J)},R=g.useCallback(x(i),[i]),w=g.useCallback(x(u),[u]),k=g.useCallback(x(c),[c]),B=g.useCallback(x(o),[o]),U=g.useCallback(x(f),[f]),Y=g.useCallback(x(m),[m]),$=g.useCallback(x(y),[y]);return Object.assign({},p,{nodeRef:b},i&&{onEnter:R},u&&{onEntering:w},c&&{onEntered:k},o&&{onExit:B},f&&{onExiting:U},m&&{onExited:Y},y&&{addEndListener:$},{children:typeof v=="function"?(ee,J)=>v(ee,Object.assign({},J,{ref:T})):g.cloneElement(v,{ref:T})})}const Yb=["component"];function Gb(a,i){if(a==null)return{};var u={};for(var c in a)if({}.hasOwnProperty.call(a,c)){if(i.indexOf(c)>=0)continue;u[c]=a[c]}return u}const Xb=g.forwardRef((a,i)=>{let{component:u}=a,c=Gb(a,Yb);const o=Vb(c);return h.jsx(u,Object.assign({ref:i},o))});function Qb({in:a,onTransition:i}){const u=g.useRef(null),c=g.useRef(!0),o=Rl(i);return vy(()=>{if(!u.current)return;let f=!1;return o({in:a,element:u.current,initial:c.current,isStale:()=>f}),()=>{f=!0}},[a,o]),vy(()=>(c.current=!1,()=>{c.current=!0}),[]),u}function Zb({children:a,in:i,onExited:u,onEntered:c,transition:o}){const[f,m]=g.useState(!i);i&&f&&m(!1);const y=Qb({in:!!i,onTransition:p=>{const b=()=>{p.isStale()||(p.in?c==null||c(p.element,p.initial):(m(!0),u==null||u(p.element)))};Promise.resolve(o(p)).then(b,T=>{throw p.in||m(!0),T})}}),v=af(y,Ju(a));return f&&!i?null:g.cloneElement(a,{ref:v})}function _y(a,i,u){return a?h.jsx(Xb,Object.assign({},u,{component:a})):i?h.jsx(Zb,Object.assign({},u,{transition:i})):h.jsx(Bb,Object.assign({},u))}const Kb=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];function $b(a,i){if(a==null)return{};var u={};for(var c in a)if({}.hasOwnProperty.call(a,c)){if(i.indexOf(c)>=0)continue;u[c]=a[c]}return u}let xo;function Jb(a){return xo||(xo=new lf({ownerDocument:a==null?void 0:a.document})),xo}function Fb(a){const i=Io(),u=a||Jb(i),c=g.useRef({dialog:null,backdrop:null});return Object.assign(c.current,{add:()=>u.add(c.current),remove:()=>u.remove(c.current),isTopModal:()=>u.isTopModal(c.current),setDialogRef:g.useCallback(o=>{c.current.dialog=o},[]),setBackdropRef:g.useCallback(o=>{c.current.backdrop=o},[])})}const Np=g.forwardRef((a,i)=>{let{show:u=!1,role:c="dialog",className:o,style:f,children:m,backdrop:y=!0,keyboard:v=!0,onBackdropClick:p,onEscapeKeyDown:b,transition:T,runTransition:x,backdropTransition:R,runBackdropTransition:w,autoFocus:k=!0,enforceFocus:B=!0,restoreFocus:U=!0,restoreFocusOptions:Y,renderDialog:$,renderBackdrop:ee=we=>h.jsx("div",Object.assign({},we)),manager:J,container:O,onShow:ue,onHide:be=()=>{},onExit:Z,onExited:ie,onExiting:je,onEnter:Ie,onEntering:et,onEntered:Qe}=a,Ye=$b(a,Kb);const X=Io(),oe=Hb(O),I=Fb(J),Re=ub(),_=cb(u),[V,ne]=g.useState(!u),W=g.useRef(null);g.useImperativeHandle(i,()=>I,[I]),hi&&!_&&u&&(W.current=bo(X==null?void 0:X.document)),u&&V&&ne(!1);const F=Rl(()=>{if(I.add(),pe.current=qu(document,"keydown",Te),He.current=qu(document,"focus",()=>setTimeout(he),!0),ue&&ue(),k){var we,Tt;const Dt=bo((we=(Tt=I.dialog)==null?void 0:Tt.ownerDocument)!=null?we:X==null?void 0:X.document);I.dialog&&Dt&&!gy(I.dialog,Dt)&&(W.current=Dt,I.dialog.focus())}}),ge=Rl(()=>{if(I.remove(),pe.current==null||pe.current(),He.current==null||He.current(),U){var we;(we=W.current)==null||we.focus==null||we.focus(Y),W.current=null}});g.useEffect(()=>{!u||!oe||F()},[u,oe,F]),g.useEffect(()=>{V&&ge()},[V,ge]),Lb(()=>{ge()});const he=Rl(()=>{if(!B||!Re()||!I.isTopModal())return;const we=bo(X==null?void 0:X.document);I.dialog&&we&&!gy(I.dialog,we)&&I.dialog.focus()}),Ze=Rl(we=>{we.target===we.currentTarget&&(p==null||p(we),y===!0&&be())}),Te=Rl(we=>{v&&JE(we)&&I.isTopModal()&&(b==null||b(we),we.defaultPrevented||be())}),He=g.useRef(),pe=g.useRef(),Ke=(...we)=>{ne(!0),ie==null||ie(...we)};if(!oe)return null;const Et=Object.assign({role:c,ref:I.setDialogRef,"aria-modal":c==="dialog"?!0:void 0},Ye,{style:f,className:o,tabIndex:-1});let mt=$?$(Et):h.jsx("div",Object.assign({},Et,{children:g.cloneElement(m,{role:"document"})}));mt=_y(T,x,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!u,onExit:Z,onExiting:je,onExited:Ke,onEnter:Ie,onEntering:et,onEntered:Qe,children:mt});let nt=null;return y&&(nt=ee({ref:I.setBackdropRef,onClick:Ze}),nt=_y(R,w,{in:!!u,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:nt})),h.jsx(h.Fragment,{children:di.createPortal(h.jsxs(h.Fragment,{children:[nt,mt]}),oe)})});Np.displayName="Modal";const Pb=Object.assign(Np,{Manager:lf});function Wb(a,i){return a.classList?a.classList.contains(i):(" "+(a.className.baseVal||a.className)+" ").indexOf(" "+i+" ")!==-1}function Ib(a,i){a.classList?a.classList.add(i):Wb(a,i)||(typeof a.className=="string"?a.className=a.className+" "+i:a.setAttribute("class",(a.className&&a.className.baseVal||"")+" "+i))}function Ry(a,i){return a.replace(new RegExp("(^|\\s)"+i+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function eS(a,i){a.classList?a.classList.remove(i):typeof a.className=="string"?a.className=Ry(a.className,i):a.setAttribute("class",Ry(a.className&&a.className.baseVal||"",i))}const si={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"};class tS extends lf{adjustAndStore(i,u,c){const o=u.style[i];u.dataset[i]=o,Nl(u,{[i]:`${parseFloat(Nl(u,i))+c}px`})}restore(i,u){const c=u.dataset[i];c!==void 0&&(delete u.dataset[i],Nl(u,{[i]:c}))}setContainerStyle(i){super.setContainerStyle(i);const u=this.getElement();if(Ib(u,"modal-open"),!i.scrollBarWidth)return;const c=this.isRTL?"paddingLeft":"paddingRight",o=this.isRTL?"marginLeft":"marginRight";ci(u,si.FIXED_CONTENT).forEach(f=>this.adjustAndStore(c,f,i.scrollBarWidth)),ci(u,si.STICKY_CONTENT).forEach(f=>this.adjustAndStore(o,f,-i.scrollBarWidth)),ci(u,si.NAVBAR_TOGGLER).forEach(f=>this.adjustAndStore(o,f,i.scrollBarWidth))}removeContainerStyle(i){super.removeContainerStyle(i);const u=this.getElement();eS(u,"modal-open");const c=this.isRTL?"paddingLeft":"paddingRight",o=this.isRTL?"marginLeft":"marginRight";ci(u,si.FIXED_CONTENT).forEach(f=>this.restore(c,f)),ci(u,si.STICKY_CONTENT).forEach(f=>this.restore(o,f)),ci(u,si.NAVBAR_TOGGLER).forEach(f=>this.restore(o,f))}}let _o;function nS(a){return _o||(_o=new tS(a)),_o}const Cp=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"modal-body"),h.jsx(u,{ref:o,className:De(a,i),...c})));Cp.displayName="ModalBody";const jp=g.createContext({onHide(){}}),rf=g.forwardRef(({bsPrefix:a,className:i,contentClassName:u,centered:c,size:o,fullscreen:f,children:m,scrollable:y,...v},p)=>{a=Ve(a,"modal");const b=`${a}-dialog`,T=typeof f=="string"?`${a}-fullscreen-${f}`:`${a}-fullscreen`;return h.jsx("div",{...v,ref:p,className:De(b,i,o&&`${a}-${o}`,c&&`${b}-centered`,y&&`${b}-scrollable`,f&&T),children:h.jsx("div",{className:De(`${a}-content`,u),children:m})})});rf.displayName="ModalDialog";const Op=g.forwardRef(({className:a,bsPrefix:i,as:u="div",...c},o)=>(i=Ve(i,"modal-footer"),h.jsx(u,{ref:o,className:De(a,i),...c})));Op.displayName="ModalFooter";const aS=g.forwardRef(({closeLabel:a="Close",closeVariant:i,closeButton:u=!1,onHide:c,children:o,...f},m)=>{const y=g.useContext(jp),v=Lo(()=>{y==null||y.onHide(),c==null||c()});return h.jsxs("div",{ref:m,...f,children:[o,u&&h.jsx(Po,{"aria-label":a,variant:i,onClick:v})]})}),Dp=g.forwardRef(({bsPrefix:a,className:i,closeLabel:u="Close",closeButton:c=!1,...o},f)=>(a=Ve(a,"modal-header"),h.jsx(aS,{ref:f,...o,className:De(i,a),closeLabel:u,closeButton:c})));Dp.displayName="ModalHeader";const lS=Jo("h4"),Ap=g.forwardRef(({className:a,bsPrefix:i,as:u=lS,...c},o)=>(i=Ve(i,"modal-title"),h.jsx(u,{ref:o,className:De(a,i),...c})));Ap.displayName="ModalTitle";function iS(a){return h.jsx(Fo,{...a,timeout:null})}function rS(a){return h.jsx(Fo,{...a,timeout:null})}const wp=g.forwardRef(({bsPrefix:a,className:i,style:u,dialogClassName:c,contentClassName:o,children:f,dialogAs:m=rf,"data-bs-theme":y,"aria-labelledby":v,"aria-describedby":p,"aria-label":b,show:T=!1,animation:x=!0,backdrop:R=!0,keyboard:w=!0,onEscapeKeyDown:k,onShow:B,onHide:U,container:Y,autoFocus:$=!0,enforceFocus:ee=!0,restoreFocus:J=!0,restoreFocusOptions:O,onEntered:ue,onExit:be,onExiting:Z,onEnter:ie,onEntering:je,onExited:Ie,backdropClassName:et,manager:Qe,...Ye},X)=>{const[oe,I]=g.useState({}),[Re,_]=g.useState(!1),V=g.useRef(!1),ne=g.useRef(!1),W=g.useRef(null),[F,ge]=Mb(),he=lp(X,ge),Ze=Lo(U),Te=UE();a=Ve(a,"modal");const He=g.useMemo(()=>({onHide:Ze}),[Ze]);function pe(){return Qe||nS({isRTL:Te})}function Ke(xe){if(!hi)return;const at=pe().getScrollbarWidth()>0,Yt=xe.scrollHeight>$u(xe).documentElement.clientHeight;I({paddingRight:at&&!Yt?Sy():void 0,paddingLeft:!at&&Yt?Sy():void 0})}const Et=Lo(()=>{F&&Ke(F.dialog)});bb(()=>{zo(window,"resize",Et),W.current==null||W.current()});const mt=()=>{V.current=!0},nt=xe=>{V.current&&F&&xe.target===F.dialog&&(ne.current=!0),V.current=!1},we=()=>{_(!0),W.current=ap(F.dialog,()=>{_(!1)})},Tt=xe=>{xe.target===xe.currentTarget&&we()},Dt=xe=>{if(R==="static"){Tt(xe);return}if(ne.current||xe.target!==xe.currentTarget){ne.current=!1;return}U==null||U()},en=xe=>{w?k==null||k(xe):(xe.preventDefault(),R==="static"&&we())},fn=(xe,at)=>{xe&&Ke(xe),ie==null||ie(xe,at)},dn=xe=>{W.current==null||W.current(),be==null||be(xe)},hn=(xe,at)=>{je==null||je(xe,at),np(window,"resize",Et)},Ht=xe=>{xe&&(xe.style.display=""),Ie==null||Ie(xe),zo(window,"resize",Et)},Jt=g.useCallback(xe=>h.jsx("div",{...xe,className:De(`${a}-backdrop`,et,!x&&"show")}),[x,et,a]),yt={...u,...oe};yt.display="block";const mn=xe=>h.jsx("div",{role:"dialog",...xe,style:yt,className:De(i,a,Re&&`${a}-static`,!x&&"show"),onClick:R?Dt:void 0,onMouseUp:nt,"data-bs-theme":y,"aria-label":b,"aria-labelledby":v,"aria-describedby":p,children:h.jsx(m,{...Ye,onMouseDown:mt,className:c,contentClassName:o,children:f})});return h.jsx(jp.Provider,{value:He,children:h.jsx(Pb,{show:T,ref:he,backdrop:R,container:Y,keyboard:!0,autoFocus:$,enforceFocus:ee,restoreFocus:J,restoreFocusOptions:O,onEscapeKeyDown:en,onShow:B,onHide:U,onEnter:fn,onEntering:hn,onEntered:ue,onExit:dn,onExiting:Z,onExited:Ht,manager:pe(),transition:x?iS:void 0,backdropTransition:x?rS:void 0,renderBackdrop:Jt,renderDialog:mn})})});wp.displayName="Modal";const or=Object.assign(wp,{Body:Cp,Header:Dp,Title:Ap,Footer:Op,Dialog:rf,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),Hn=g.forwardRef(({bsPrefix:a,className:i,as:u="div",...c},o)=>{const f=Ve(a,"row"),m=Iy(),y=ep(),v=`${f}-cols`,p=[];return m.forEach(b=>{const T=c[b];delete c[b];let x;T!=null&&typeof T=="object"?{cols:x}=T:x=T;const R=b!==y?`-${b}`:"";x!=null&&p.push(`${v}${R}-${x}`)}),h.jsx(u,{ref:o,...c,className:De(i,f,...p)})});Hn.displayName="Row";const uS="/static/DY3vaYXT.svg";function cS(){const a=st.c(6),{user:i}=g.useContext(Ko),{pathname:u}=Jn();let c;a[0]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsx(sn,{xs:10,children:h.jsx("div",{className:"nav-wrapper",children:h.jsxs("nav",{className:"header-nav",children:[h.jsx("a",{href:"https://geant.org/",children:h.jsx("img",{src:uS,alt:"GÉANT Logo"})}),h.jsxs("ul",{children:[h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://network.geant.org/",children:"NETWORK"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/services/",children:"SERVICES"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://community.geant.org/",children:"COMMUNITY"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://tnc23.geant.org/",children:"TNC"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/projects/",children:"PROJECTS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/",children:"CONNECT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://impact.geant.org/",children:"IMPACT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://careers.geant.org/",children:"CAREERS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://about.geant.org/",children:"ABOUT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/community-news",children:"NEWS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://resources.geant.org/",children:"RESOURCES"})}),h.jsx("li",{children:h.jsx(ae,{className:"nav-link-entry",to:"/",children:"COMPENDIUM"})})]})]})})}),a[0]=c):c=a[0];let o;a[1]!==u||a[2]!==i.permissions.admin?(o=i.permissions.admin&&!u.includes("survey")&&h.jsx("div",{className:"nav-link",style:{float:"right"},children:h.jsx(ae,{className:"nav-link-entry",to:"/survey",children:h.jsx("span",{children:"Go to Survey"})})}),a[1]=u,a[2]=i.permissions.admin,a[3]=o):o=a[3];let f;return a[4]!==o?(f=h.jsx("div",{className:"external-page-nav-bar",children:h.jsx(Fa,{children:h.jsxs(Hn,{children:[c,h.jsx(sn,{xs:2,children:o})]})})}),a[4]=o,a[5]=f):f=a[5],f}const sS="/static/A3T3A-a_.svg",oS="/static/DOOiIGTs.png";function fS(){const a=st.c(9);let i;a[0]===Symbol.for("react.memo_cache_sentinel")?(i=h.jsx("a",{href:"https://geant.org",children:h.jsx("img",{src:sS,className:"m-3",style:{maxWidth:"100px"},alt:"GÉANT Logo"})}),a[0]=i):i=a[0];let u;a[1]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsxs(sn,{children:[i,h.jsx("img",{src:oS,className:"m-3",style:{maxWidth:"200px"},alt:"European Union Flag"})]}),a[1]=u):u=a[1];let c,o;a[2]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Disclaimer/",children:"Disclaimer"}),o=h.jsx("wbr",{}),a[2]=c,a[3]=o):(c=a[2],o=a[3]);let f,m;a[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/geant-anti-slavery-policy/",children:"GEANT Anti‑Slavery Policy"}),m=h.jsx("wbr",{}),a[4]=f,a[5]=m):(f=a[4],m=a[5]);let y,v;a[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),v=h.jsx("wbr",{}),a[6]=y,a[7]=v):(y=a[6],v=a[7]);let p;return a[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("footer",{className:"page-footer pt-3",children:h.jsx(Fa,{children:h.jsxs(Hn,{children:[u,h.jsx(sn,{className:"mt-4 text-end",children:h.jsxs("span",{children:[c,o,"|",f,m,"|",y,v,"|",h.jsx("a",{className:"mx-3 footer-link",style:{cursor:"pointer"},onClick:dS,children:"Analytics Consent"})]})})]})})}),a[8]=p):p=a[8],p}function dS(){localStorage.removeItem("matomo_consent"),window.location.reload()}const Mp="/static/C4lsyu6A.svg",zp="/static/DhA-EmEc.svg";function Lp(){const a=st.c(16),i=g.useContext(Wy);let u;a[0]!==i?(u=w=>i==null?void 0:i.trackPageView(w),a[0]=i,a[1]=u):u=a[1];const c=u;let o;a[2]!==i?(o=w=>i==null?void 0:i.trackEvent(w),a[2]=i,a[3]=o):o=a[3];const f=o;let m;a[4]!==i?(m=()=>i==null?void 0:i.trackEvents(),a[4]=i,a[5]=m):m=a[5];const y=m;let v;a[6]!==i?(v=w=>i==null?void 0:i.trackLink(w),a[6]=i,a[7]=v):v=a[7];const p=v,b=hS;let T;a[8]!==i?(T=(w,...k)=>{const B=k;i==null||i.pushInstruction(w,...B)},a[8]=i,a[9]=T):T=a[9];const x=T;let R;return a[10]!==x||a[11]!==f||a[12]!==y||a[13]!==p||a[14]!==c?(R={trackEvent:f,trackEvents:y,trackPageView:c,trackLink:p,enableLinkTracking:b,pushInstruction:x},a[10]=x,a[11]=f,a[12]=y,a[13]=p,a[14]=c,a[15]=R):R=a[15],R}function hS(){}function Up(){const a=st.c(13),{trackPageView:i}=Lp();let u,c;a[0]!==i?(u=()=>{i({documentTitle:"GEANT Compendium Landing Page"})},c=[i],a[0]=i,a[1]=u,a[2]=c):(u=a[1],c=a[2]),g.useEffect(u,c);let o;a[3]===Symbol.for("react.memo_cache_sentinel")?(o=h.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS"}),a[3]=o):o=a[3];let f;a[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(Hn,{children:h.jsxs("div",{className:"center-text",children:[o,h.jsxs("div",{className:"wordwrap pt-4",children:[h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Each year GÉANT invites European National Research and Eduction Networks to fill in a questionnaire asking about their network, their organisation, standards and policies, connected users, and the services they offer their users. This Compendium of responses is an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. No two NRENs are identical, with great diversity in their structures, funding, size, and focus."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"The GÉANT Compendium of NRENs Report is published annually, using both data from the Compendium from other sources, including surveys and studies carried out within different teams within GÉANT and the NREN community. The Report gives a broad overview of the European NREN landscape, identifying developments and trends."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Compendium Data, the responses from the NRENs, are made available to be viewed and downloaded. Graphs, charts, and tables can be customised to show as many or few NRENs as required, across different years. These can be downloaded as images or in PDF form."})]})]})}),a[4]=f):f=a[4];let m;a[5]===Symbol.for("react.memo_cache_sentinel")?(m={backgroundColor:"white"},a[5]=m):m=a[5];let y;a[6]===Symbol.for("react.memo_cache_sentinel")?(y={width:"18rem"},a[6]=y):y=a[6];let v;a[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(Zn.Img,{src:Mp}),a[7]=v):v=a[7];let p;a[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(Zn.Title,{children:"Compendium Data"}),a[8]=p):p=a[8];let b;a[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx(sn,{align:"center",children:h.jsx(Zn,{border:"light",style:y,children:h.jsxs(ae,{to:"/data",className:"link-text",children:[v,h.jsxs(Zn.Body,{children:[p,h.jsx(Zn.Text,{children:h.jsx("span",{children:"Statistical representation of the annual Compendium Survey data is available here"})})]})]})})}),a[9]=b):b=a[9];let T;a[10]===Symbol.for("react.memo_cache_sentinel")?(T={width:"18rem"},a[10]=T):T=a[10];let x;a[11]===Symbol.for("react.memo_cache_sentinel")?(x=h.jsx(Zn.Img,{src:zp}),a[11]=x):x=a[11];let R;return a[12]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsxs(Fa,{className:"py-5 grey-container",children:[f,h.jsx(Hn,{children:h.jsx(sn,{children:h.jsx(Fa,{style:m,className:"rounded-border",children:h.jsxs(Hn,{className:"justify-content-md-center",children:[b,h.jsx(sn,{align:"center",children:h.jsx(Zn,{border:"light",style:T,children:h.jsxs("a",{href:"https://resources.geant.org/geant-compendia/",className:"link-text",target:"_blank",rel:"noreferrer",children:[x,h.jsxs(Zn.Body,{children:[h.jsx(Zn.Title,{children:"Compendium Reports"}),h.jsx(Zn.Text,{children:"A GÉANT Compendium Report is published annually, drawing on data from the Compendium Survey filled in by NRENs, complemented by information from other surveys"})]})]})})})]})})})})]}),a[12]=R):R=a[12],R}var Hp={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Ty=Vt.createContext&&Vt.createContext(Hp),mS=["attr","size","title"];function yS(a,i){if(a==null)return{};var u=pS(a,i),c,o;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(o=0;o<f.length;o++)c=f[o],!(i.indexOf(c)>=0)&&Object.prototype.propertyIsEnumerable.call(a,c)&&(u[c]=a[c])}return u}function pS(a,i){if(a==null)return{};var u={};for(var c in a)if(Object.prototype.hasOwnProperty.call(a,c)){if(i.indexOf(c)>=0)continue;u[c]=a[c]}return u}function Yu(){return Yu=Object.assign?Object.assign.bind():function(a){for(var i=1;i<arguments.length;i++){var u=arguments[i];for(var c in u)Object.prototype.hasOwnProperty.call(u,c)&&(a[c]=u[c])}return a},Yu.apply(this,arguments)}function Ny(a,i){var u=Object.keys(a);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(a);i&&(c=c.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),u.push.apply(u,c)}return u}function Gu(a){for(var i=1;i<arguments.length;i++){var u=arguments[i]!=null?arguments[i]:{};i%2?Ny(Object(u),!0).forEach(function(c){vS(a,c,u[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(u)):Ny(Object(u)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(u,c))})}return a}function vS(a,i,u){return i=gS(i),i in a?Object.defineProperty(a,i,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[i]=u,a}function gS(a){var i=ES(a,"string");return typeof i=="symbol"?i:i+""}function ES(a,i){if(typeof a!="object"||!a)return a;var u=a[Symbol.toPrimitive];if(u!==void 0){var c=u.call(a,i||"default");if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(a)}function Bp(a){return a&&a.map((i,u)=>Vt.createElement(i.tag,Gu({key:u},i.attr),Bp(i.child)))}function qp(a){return i=>Vt.createElement(bS,Yu({attr:Gu({},a.attr)},i),Bp(a.child))}function bS(a){var i=u=>{var{attr:c,size:o,title:f}=a,m=yS(a,mS),y=o||u.size||"1em",v;return u.className&&(v=u.className),a.className&&(v=(v?v+" ":"")+a.className),Vt.createElement("svg",Yu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},u.attr,c,m,{className:v,style:Gu(Gu({color:a.color||u.color},u.style),a.style),height:y,width:y,xmlns:"http://www.w3.org/2000/svg"}),f&&Vt.createElement("title",null,f),a.children)};return Ty!==void 0?Vt.createElement(Ty.Consumer,null,u=>i(u)):i(Hp)}function SS(a){return qp({tag:"svg",attr:{viewBox:"0 0 1024 1024",fill:"currentColor",fillRule:"evenodd"},child:[{tag:"path",attr:{d:"M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.118.118 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.118.118 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.118.118 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926 224.297 857.629c-.04.041-.06.052-.083.059a.118.118 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.118.118 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512 166.371 224.297c-.041-.04-.052-.06-.059-.083a.118.118 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.118.118 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z"},child:[]}]})(a)}function xS(a){return qp({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8Z"},child:[]},{tag:"path",attr:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8Z"},child:[]}]})(a)}const fr=a=>{const i=st.c(23),{title:u,children:c,startCollapsed:o,theme:f}=a,m=f===void 0?"":f,[y,v]=g.useState(!!o);let p;i[0]===Symbol.for("react.memo_cache_sentinel")?(p={color:"white",paddingBottom:"3px",marginTop:"3px",marginLeft:"3px",scale:"1.3"},i[0]=p):p=i[0];let b=p;if(m){let J;i[1]===Symbol.for("react.memo_cache_sentinel")?(J={...b,color:"black",fontWeight:"bold"},i[1]=J):J=i[1],b=J}const T=`collapsible-box${m} p-0`;let x;i[2]!==u?(x=h.jsx(sn,{children:h.jsx("h1",{className:"bold-caps-16pt dark-teal pt-3 ps-3",children:u})}),i[2]=u,i[3]=x):x=i[3];const R=`toggle-btn${m} p-${m?3:2}`;let w;i[4]!==y?(w=()=>v(!y),i[4]=y,i[5]=w):w=i[5];let k;i[6]!==y||i[7]!==b?(k=y?h.jsx(xS,{style:b}):h.jsx(SS,{style:b}),i[6]=y,i[7]=b,i[8]=k):k=i[8];let B;i[9]!==R||i[10]!==w||i[11]!==k?(B=h.jsx(sn,{className:"flex-grow-0 flex-shrink-1",children:h.jsx("div",{className:R,onClick:w,children:k})}),i[9]=R,i[10]=w,i[11]=k,i[12]=B):B=i[12];let U;i[13]!==x||i[14]!==B?(U=h.jsxs(Hn,{children:[x,B]}),i[13]=x,i[14]=B,i[15]=U):U=i[15];const Y=`collapsible-content${y?" collapsed":""}`;let $;i[16]!==c||i[17]!==Y?($=h.jsx("div",{className:Y,children:c}),i[16]=c,i[17]=Y,i[18]=$):$=i[18];let ee;return i[19]!==$||i[20]!==T||i[21]!==U?(ee=h.jsxs("div",{className:T,children:[U,$]}),i[19]=$,i[20]=T,i[21]=U,i[22]=ee):ee=i[22],ee};function _S(a){const i=st.c(8),{section:u}=a;let c;i[0]===Symbol.for("react.memo_cache_sentinel")?(c={display:"flex",alignSelf:"right",lineHeight:"1.5rem",marginTop:"0.5rem"},i[0]=c):c=i[0];let o,f;i[1]===Symbol.for("react.memo_cache_sentinel")?(o=h.jsx("br",{}),f={float:"right"},i[1]=o,i[2]=f):(o=i[1],f=i[2]);let m;i[3]!==u?(m=h.jsx("div",{style:c,children:h.jsxs("span",{children:["Compendium ",o,h.jsx("span",{style:f,children:u})]})}),i[3]=u,i[4]=m):m=i[4];let y;i[5]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("img",{src:zp,style:{maxWidth:"4rem"},alt:"Compendium Data logo"}),i[5]=y):y=i[5];let v;return i[6]!==m?(v=h.jsxs("div",{className:"bold-caps-17pt section-container",children:[m,y]}),i[6]=m,i[7]=v):v=i[7],v}function RS(a){const i=st.c(14),{type:u}=a;let c="";u=="data"?c=" compendium-data-header":u=="reports"&&(c=" compendium-reports-header");let o;i[0]===Symbol.for("react.memo_cache_sentinel")?(o={marginTop:"0.5rem"},i[0]=o):o=i[0];const f=u==="data"?"/data":"/";let m;i[1]===Symbol.for("react.memo_cache_sentinel")?(m={textDecoration:"none",color:"white"},i[1]=m):m=i[1];const y=u==="data"?"Data":"Reports";let v;i[2]!==y?(v=h.jsxs("span",{children:["Compendium ",y]}),i[2]=y,i[3]=v):v=i[3];let p;i[4]!==f||i[5]!==v?(p=h.jsx(sn,{sm:8,children:h.jsx("h1",{className:"bold-caps-30pt",style:o,children:h.jsx(ae,{to:f,style:m,children:v})})}),i[4]=f,i[5]=v,i[6]=p):p=i[6];let b;i[7]===Symbol.for("react.memo_cache_sentinel")?(b={color:"inherit"},i[7]=b):b=i[7];let T;i[8]===Symbol.for("react.memo_cache_sentinel")?(T=h.jsx(sn,{sm:4,children:h.jsx("a",{style:b,href:"https://resources.geant.org/geant-compendia/",target:"_blank",rel:"noreferrer",children:h.jsx(_S,{section:"Reports"})})}),i[8]=T):T=i[8];let x;i[9]!==p?(x=h.jsx(Fa,{children:h.jsxs(Hn,{children:[p,T]})}),i[9]=p,i[10]=x):x=i[10];let R;return i[11]!==c||i[12]!==x?(R=h.jsx("div",{className:c,children:x}),i[11]=c,i[12]=x,i[13]=R):R=i[13],R}function TS(a){const i=st.c(8),{children:u,type:c}=a;let o="";c=="data"?o=" compendium-data-banner":c=="reports"&&(o=" compendium-reports-banner");let f,m;i[0]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("img",{src:Mp,style:{maxWidth:"7rem",marginBottom:"1rem"},alt:"Compendium Data logo"}),m={display:"flex",alignSelf:"right"},i[0]=f,i[1]=m):(f=i[0],m=i[1]);let y;i[2]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"1rem"},i[2]=y):y=i[2];let v;i[3]!==u?(v=h.jsx(Fa,{children:h.jsx(Hn,{children:h.jsx(Hn,{children:h.jsxs("div",{className:"section-container",children:[f,h.jsx("div",{style:m,children:h.jsx("div",{className:"center-text",style:y,children:u})})]})})})}),i[3]=u,i[4]=v):v=i[4];let p;return i[5]!==o||i[6]!==v?(p=h.jsx("div",{className:o,children:v}),i[5]=o,i[6]=v,i[7]=p):p=i[7],p}var fi=(a=>(a.Organisation="ORGANISATION",a.Policy="STANDARDS AND POLICIES",a.ConnectedUsers="CONNECTED USERS",a.Network="NETWORK",a.Services="SERVICES",a))(fi||{}),NS=(a=>(a.CSV="CSV",a.EXCEL="EXCEL",a))(NS||{}),CS=(a=>(a.PNG="png",a.JPEG="jpeg",a.SVG="svg",a))(CS||{});const Mx={universities:"Universities & Other (ISCED 6-8)",further_education:"Further education (ISCED 4-5)",secondary_schools:"Secondary schools (ISCED 2-3)",primary_schools:"Primary schools (ISCED 1)",institutes:"Research Institutes",cultural:"Libraries, Museums, Archives, Cultural institutions",hospitals:"Non-university public Hospitals",government:"Government departments (national, regional, local)",iros:"International (virtual) research organisations",for_profit_orgs:"For-profit organisations"},zx={commercial_r_and_e:"Commercial R&E traffic only",commercial_general:"Commercial general",commercial_collaboration:"Commercial for collaboration only (project/time limited)",commercial_service_provider:"Commercial Service Provider",university_spin_off:"University Spin Off/Incubator"},Lx={collaboration:"Connection to your network for collaboration with R&E users",service_supplier:"Connection to your network for supplying services for R&E",direct_peering:"Direct peering (e.g. direct peering or cloud peering)"};function jS(){const a=st.c(7),{preview:i,setPreview:u}=g.useContext(Py),{user:c}=g.useContext(Ko),[o]=nE();let f;a[0]!==o?(f=o.get("preview"),a[0]=o,a[1]=f):f=a[1];const m=f;let y,v;return a[2]!==m||a[3]!==u||a[4]!==c?(y=()=>{m!==null&&(c.permissions.admin||c.role=="observer")&&u(!0)},v=[m,u,c],a[2]=m,a[3]=u,a[4]=c,a[5]=y,a[6]=v):(y=a[5],v=a[6]),g.useEffect(y,v),i}function OS(){const a=st.c(82);jS();const{trackPageView:i}=Lp();let u,c;a[0]!==i?(u=()=>{i({documentTitle:"Compendium Data"})},c=[i],a[0]=i,a[1]=u,a[2]=c):(u=a[1],c=a[2]),Vt.useEffect(u,c);let o;a[3]===Symbol.for("react.memo_cache_sentinel")?(o=h.jsx(RS,{type:"data"}),a[3]=o):o=a[3];let f;a[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(TS,{type:"data",children:h.jsx("p",{className:"wordwrap",children:"The GÉANT Compendium provides an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. Published since 2001, the Compendium provides information on key areas such as users, services, traffic, budget and staffing."})}),a[4]=f):f=a[4];let m;a[5]===Symbol.for("react.memo_cache_sentinel")?(m=h.jsx("h6",{className:"section-title",children:"Budget, Income and Billing"}),a[5]=m):m=a[5];let y;a[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(ae,{to:"/budget",className:"link-text-underline",children:h.jsx("span",{children:"Budget of NRENs per Year"})}),a[6]=y):y=a[6];let v;a[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(ae,{to:"/funding",className:"link-text-underline",children:h.jsx("span",{children:"Income Source of NRENs"})}),a[7]=v):v=a[7];let p,b,T;a[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(ae,{to:"/charging",className:"link-text-underline",children:h.jsx("span",{children:"Charging Mechanism of NRENs"})}),b=h.jsx("hr",{className:"fake-divider"}),T=h.jsx("h6",{className:"section-title",children:"Staff and Projects"}),a[8]=p,a[9]=b,a[10]=T):(p=a[8],b=a[9],T=a[10]);let x;a[11]===Symbol.for("react.memo_cache_sentinel")?(x=h.jsx(ae,{to:"/employee-count",className:"link-text-underline",children:h.jsx("span",{children:"Number of NREN Employees"})}),a[11]=x):x=a[11];let R;a[12]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ae,{to:"/roles",className:"link-text-underline",children:h.jsx("span",{children:"Roles of NREN employees (Technical v. Non-Technical)"})}),a[12]=R):R=a[12];let w;a[13]===Symbol.for("react.memo_cache_sentinel")?(w=h.jsx(ae,{to:"/employment",className:"link-text-underline",children:h.jsx("span",{children:"Types of Employment within NRENs"})}),a[13]=w):w=a[13];let k;a[14]===Symbol.for("react.memo_cache_sentinel")?(k=h.jsx(ae,{to:"/suborganisations",className:"link-text-underline",children:h.jsx("span",{children:"NREN Sub-Organisations"})}),a[14]=k):k=a[14];let B;a[15]===Symbol.for("react.memo_cache_sentinel")?(B=h.jsx(ae,{to:"/parentorganisation",className:"link-text-underline",children:h.jsx("span",{children:"NREN Parent Organisations"})}),a[15]=B):B=a[15];let U;a[16]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsxs(fr,{title:fi.Organisation,children:[m,y,v,p,b,T,x,R,w,k,B,h.jsx(ae,{to:"/ec-projects",className:"link-text-underline",children:h.jsx("span",{children:"NREN Involvement in European Commission Projects"})})]}),a[16]=U):U=a[16];let Y,$;a[17]===Symbol.for("react.memo_cache_sentinel")?(Y=h.jsx(ae,{to:"/policy",className:"link-text-underline",children:h.jsx("span",{children:"NREN Policies"})}),$=h.jsx("h6",{className:"section-title",children:"Standards"}),a[17]=Y,a[18]=$):(Y=a[17],$=a[18]);let ee;a[19]===Symbol.for("react.memo_cache_sentinel")?(ee=h.jsx(ae,{to:"/audits",className:"link-text-underline",children:h.jsx("span",{children:"External and Internal Audits of Information Security Management Systems"})}),a[19]=ee):ee=a[19];let J;a[20]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx(ae,{to:"/business-continuity",className:"link-text-underline",children:h.jsx("span",{children:"NREN Business Continuity Planning"})}),a[20]=J):J=a[20];let O;a[21]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx(ae,{to:"/central-procurement",className:"link-text-underline",children:h.jsx("span",{children:"Central Procurement of Software"})}),a[21]=O):O=a[21];let ue;a[22]===Symbol.for("react.memo_cache_sentinel")?(ue=h.jsx(ae,{to:"/crisis-management",className:"link-text-underline",children:h.jsx("span",{children:"Crisis Management Procedures"})}),a[22]=ue):ue=a[22];let be;a[23]===Symbol.for("react.memo_cache_sentinel")?(be=h.jsx(ae,{to:"/crisis-exercise",className:"link-text-underline",children:h.jsx("span",{children:"Crisis Exercises - NREN Operation and Participation"})}),a[23]=be):be=a[23];let Z;a[24]===Symbol.for("react.memo_cache_sentinel")?(Z=h.jsx(ae,{to:"/security-control",className:"link-text-underline",children:h.jsx("span",{children:"Security Controls Used by NRENs"})}),a[24]=Z):Z=a[24];let ie;a[25]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx(ae,{to:"/services-offered",className:"link-text-underline",children:h.jsx("span",{children:"Services Offered by NRENs by Types of Users"})}),a[25]=ie):ie=a[25];let je;a[26]===Symbol.for("react.memo_cache_sentinel")?(je=h.jsx(ae,{to:"/corporate-strategy",className:"link-text-underline",children:h.jsx("span",{children:"NREN Corporate Strategies "})}),a[26]=je):je=a[26];let Ie;a[27]===Symbol.for("react.memo_cache_sentinel")?(Ie=h.jsx(ae,{to:"/service-level-targets",className:"link-text-underline",children:h.jsx("span",{children:"NRENs Offering Service Level Targets"})}),a[27]=Ie):Ie=a[27];let et;a[28]===Symbol.for("react.memo_cache_sentinel")?(et=h.jsxs(fr,{title:fi.Policy,startCollapsed:!0,children:[Y,$,ee,J,O,ue,be,Z,ie,je,Ie,h.jsx(ae,{to:"/service-management-framework",className:"link-text-underline",children:h.jsx("span",{children:"NRENs Operating a Formal Service Management Framework"})})]}),a[28]=et):et=a[28];let Qe;a[29]===Symbol.for("react.memo_cache_sentinel")?(Qe=h.jsx("h6",{className:"section-title",children:"Connected Users"}),a[29]=Qe):Qe=a[29];let Ye;a[30]===Symbol.for("react.memo_cache_sentinel")?(Ye=h.jsx(ae,{to:"/institutions-urls",className:"link-text-underline",children:h.jsx("span",{children:"Webpages Listing Institutions and Organisations Connected to NREN Networks"})}),a[30]=Ye):Ye=a[30];let X;a[31]===Symbol.for("react.memo_cache_sentinel")?(X=h.jsx(ae,{to:"/connected-proportion",className:"link-text-underline",children:h.jsx("span",{children:"Proportion of Different Categories of Institutions Served by NRENs"})}),a[31]=X):X=a[31];let oe;a[32]===Symbol.for("react.memo_cache_sentinel")?(oe=h.jsx(ae,{to:"/connectivity-level",className:"link-text-underline",children:h.jsx("span",{children:"Level of IP Connectivity by Institution Type"})}),a[32]=oe):oe=a[32];let I;a[33]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx(ae,{to:"/connection-carrier",className:"link-text-underline",children:h.jsx("span",{children:"Methods of Carrying IP Traffic to Users"})}),a[33]=I):I=a[33];let Re;a[34]===Symbol.for("react.memo_cache_sentinel")?(Re=h.jsx(ae,{to:"/connectivity-load",className:"link-text-underline",children:h.jsx("span",{children:"Connectivity Load"})}),a[34]=Re):Re=a[34];let _;a[35]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsx(ae,{to:"/connectivity-growth",className:"link-text-underline",children:h.jsx("span",{children:"Connectivity Growth"})}),a[35]=_):_=a[35];let V,ne,W;a[36]===Symbol.for("react.memo_cache_sentinel")?(V=h.jsx(ae,{to:"/remote-campuses",className:"link-text-underline",children:h.jsx("span",{children:"NREN Connectivity to Remote Campuses in Other Countries"})}),ne=h.jsx("hr",{className:"fake-divider"}),W=h.jsx("h6",{className:"section-title",children:"Connected Users - Commercial"}),a[36]=V,a[37]=ne,a[38]=W):(V=a[36],ne=a[37],W=a[38]);let F;a[39]===Symbol.for("react.memo_cache_sentinel")?(F=h.jsx(ae,{to:"/commercial-charging-level",className:"link-text-underline",children:h.jsx("span",{children:"Commercial Charging Level"})}),a[39]=F):F=a[39];let ge;a[40]===Symbol.for("react.memo_cache_sentinel")?(ge=h.jsxs(fr,{title:fi.ConnectedUsers,startCollapsed:!0,children:[Qe,Ye,X,oe,I,Re,_,V,ne,W,F,h.jsx(ae,{to:"/commercial-connectivity",className:"link-text-underline",children:h.jsx("span",{children:"Commercial Connectivity"})})]}),a[40]=ge):ge=a[40];let he;a[41]===Symbol.for("react.memo_cache_sentinel")?(he=h.jsx("h6",{className:"section-title",children:"Connectivity"}),a[41]=he):he=a[41];let Ze;a[42]===Symbol.for("react.memo_cache_sentinel")?(Ze=h.jsx(ae,{to:"/traffic-volume",className:"link-text-underline",children:h.jsx("span",{children:"NREN Traffic - NREN Customers & External Networks"})}),a[42]=Ze):Ze=a[42];let Te;a[43]===Symbol.for("react.memo_cache_sentinel")?(Te=h.jsx(ae,{to:"/iru-duration",className:"link-text-underline",children:h.jsx("span",{children:"Average Duration of IRU leases of Fibre by NRENs"})}),a[43]=Te):Te=a[43];let He;a[44]===Symbol.for("react.memo_cache_sentinel")?(He=h.jsx(ae,{to:"/fibre-light",className:"link-text-underline",children:h.jsx("span",{children:"Approaches to lighting NREN fibre networks"})}),a[44]=He):He=a[44];let pe;a[45]===Symbol.for("react.memo_cache_sentinel")?(pe=h.jsx(ae,{to:"/dark-fibre-lease",className:"link-text-underline",children:h.jsx("span",{children:"Kilometres of Leased Dark Fibre (National)"})}),a[45]=pe):pe=a[45];let Ke;a[46]===Symbol.for("react.memo_cache_sentinel")?(Ke=h.jsx(ae,{to:"/dark-fibre-lease-international",className:"link-text-underline",children:h.jsx("span",{children:"Kilometres of Leased Dark Fibre (International)"})}),a[46]=Ke):Ke=a[46];let Et;a[47]===Symbol.for("react.memo_cache_sentinel")?(Et=h.jsx(ae,{to:"/dark-fibre-installed",className:"link-text-underline",children:h.jsx("span",{children:"Kilometres of Installed Dark Fibre"})}),a[47]=Et):Et=a[47];let mt,nt,we;a[48]===Symbol.for("react.memo_cache_sentinel")?(mt=h.jsx(ae,{to:"/network-map",className:"link-text-underline",children:h.jsx("span",{children:"NREN Network Maps"})}),nt=h.jsx("hr",{className:"fake-divider"}),we=h.jsx("h6",{className:"section-title",children:"Performance Monitoring & Management"}),a[48]=mt,a[49]=nt,a[50]=we):(mt=a[48],nt=a[49],we=a[50]);let Tt;a[51]===Symbol.for("react.memo_cache_sentinel")?(Tt=h.jsx(ae,{to:"/monitoring-tools",className:"link-text-underline",children:h.jsx("span",{children:"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions"})}),a[51]=Tt):Tt=a[51];let Dt;a[52]===Symbol.for("react.memo_cache_sentinel")?(Dt=h.jsx(ae,{to:"/pert-team",className:"link-text-underline",children:h.jsx("span",{children:"NRENs with Performance Enhancement Response Teams"})}),a[52]=Dt):Dt=a[52];let en;a[53]===Symbol.for("react.memo_cache_sentinel")?(en=h.jsx(ae,{to:"/passive-monitoring",className:"link-text-underline",children:h.jsx("span",{children:"Methods for Passively Monitoring International Traffic"})}),a[53]=en):en=a[53];let fn;a[54]===Symbol.for("react.memo_cache_sentinel")?(fn=h.jsx(ae,{to:"/traffic-stats",className:"link-text-underline",children:h.jsx("span",{children:"Traffic Statistics "})}),a[54]=fn):fn=a[54];let dn;a[55]===Symbol.for("react.memo_cache_sentinel")?(dn=h.jsx(ae,{to:"/weather-map",className:"link-text-underline",children:h.jsx("span",{children:"NREN Online Network Weather Maps "})}),a[55]=dn):dn=a[55];let hn;a[56]===Symbol.for("react.memo_cache_sentinel")?(hn=h.jsx(ae,{to:"/certificate-provider",className:"link-text-underline",children:h.jsx("span",{children:"Certification Services used by NRENs"})}),a[56]=hn):hn=a[56];let Ht,Jt,yt;a[57]===Symbol.for("react.memo_cache_sentinel")?(Ht=h.jsx(ae,{to:"/siem-vendors",className:"link-text-underline",children:h.jsx("span",{children:"Vendors of SIEM/SOC systems used by NRENs"})}),Jt=h.jsx("hr",{className:"fake-divider"}),yt=h.jsx("h6",{className:"section-title",children:"Alienwave"}),a[57]=Ht,a[58]=Jt,a[59]=yt):(Ht=a[57],Jt=a[58],yt=a[59]);let mn;a[60]===Symbol.for("react.memo_cache_sentinel")?(mn=h.jsx(ae,{to:"/alien-wave",className:"link-text-underline",children:h.jsx("span",{children:"NREN Use of 3rd Party Alienwave/Lightpath Services"})}),a[60]=mn):mn=a[60];let xe,at,Yt;a[61]===Symbol.for("react.memo_cache_sentinel")?(xe=h.jsx(ae,{to:"/alien-wave-internal",className:"link-text-underline",children:h.jsx("span",{children:"Internal NREN Use of Alien Waves"})}),at=h.jsx("hr",{className:"fake-divider"}),Yt=h.jsx("h6",{className:"section-title",children:"Capacity"}),a[61]=xe,a[62]=at,a[63]=Yt):(xe=a[61],at=a[62],Yt=a[63]);let qn;a[64]===Symbol.for("react.memo_cache_sentinel")?(qn=h.jsx(ae,{to:"/capacity-largest-link",className:"link-text-underline",children:h.jsx("span",{children:"Capacity of the Largest Link in an NREN Network"})}),a[64]=qn):qn=a[64];let Fn;a[65]===Symbol.for("react.memo_cache_sentinel")?(Fn=h.jsx(ae,{to:"/external-connections",className:"link-text-underline",children:h.jsx("span",{children:"NREN External IP Connections"})}),a[65]=Fn):Fn=a[65];let Gt;a[66]===Symbol.for("react.memo_cache_sentinel")?(Gt=h.jsx(ae,{to:"/capacity-core-ip",className:"link-text-underline",children:h.jsx("span",{children:"NREN Core IP Capacity"})}),a[66]=Gt):Gt=a[66];let Pn;a[67]===Symbol.for("react.memo_cache_sentinel")?(Pn=h.jsx(ae,{to:"/non-rne-peers",className:"link-text-underline",children:h.jsx("span",{children:"Number of Non-R&E Networks NRENs Peer With"})}),a[67]=Pn):Pn=a[67];let tn,pt,Sa;a[68]===Symbol.for("react.memo_cache_sentinel")?(tn=h.jsx(ae,{to:"/traffic-ratio",className:"link-text-underline",children:h.jsx("span",{children:"Types of traffic in NREN networks"})}),pt=h.jsx("hr",{className:"fake-divider"}),Sa=h.jsx("h6",{className:"section-title",children:"Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)"}),a[68]=tn,a[69]=pt,a[70]=Sa):(tn=a[68],pt=a[69],Sa=a[70]);let Bt;a[71]===Symbol.for("react.memo_cache_sentinel")?(Bt=h.jsx(ae,{to:"/ops-automation",className:"link-text-underline",children:h.jsx("span",{children:"NREN Automation of Operational Processes"})}),a[71]=Bt):Bt=a[71];let lt;a[72]===Symbol.for("react.memo_cache_sentinel")?(lt=h.jsx(ae,{to:"/network-automation",className:"link-text-underline",children:h.jsx("span",{children:"Network Tasks for which NRENs Use Automation "})}),a[72]=lt):lt=a[72];let Wn;a[73]===Symbol.for("react.memo_cache_sentinel")?(Wn=h.jsxs(fr,{title:fi.Network,startCollapsed:!0,children:[he,Ze,Te,He,pe,Ke,Et,mt,nt,we,Tt,Dt,en,fn,dn,hn,Ht,Jt,yt,mn,xe,at,Yt,qn,Fn,Gt,Pn,tn,pt,Sa,Bt,lt,h.jsx(ae,{to:"/nfv",className:"link-text-underline",children:h.jsx("span",{children:"Kinds of Network Function Virtualisation used by NRENs"})})]}),a[73]=Wn):Wn=a[73];let kn;a[74]===Symbol.for("react.memo_cache_sentinel")?(kn=h.jsx(ae,{to:"/network-services",className:"link-text-underline",children:h.jsx("span",{children:"Network services"})}),a[74]=kn):kn=a[74];let xa;a[75]===Symbol.for("react.memo_cache_sentinel")?(xa=h.jsx(ae,{to:"/isp-support-services",className:"link-text-underline",children:h.jsx("span",{children:"ISP support services"})}),a[75]=xa):xa=a[75];let yn;a[76]===Symbol.for("react.memo_cache_sentinel")?(yn=h.jsx(ae,{to:"/security-services",className:"link-text-underline",children:h.jsx("span",{children:"Security services"})}),a[76]=yn):yn=a[76];let An;a[77]===Symbol.for("react.memo_cache_sentinel")?(An=h.jsx(ae,{to:"/identity-services",className:"link-text-underline",children:h.jsx("span",{children:"Identity services"})}),a[77]=An):An=a[77];let Xt;a[78]===Symbol.for("react.memo_cache_sentinel")?(Xt=h.jsx(ae,{to:"/collaboration-services",className:"link-text-underline",children:h.jsx("span",{children:"Collaboration services"})}),a[78]=Xt):Xt=a[78];let Ft;a[79]===Symbol.for("react.memo_cache_sentinel")?(Ft=h.jsx(ae,{to:"/multimedia-services",className:"link-text-underline",children:h.jsx("span",{children:"Multimedia services"})}),a[79]=Ft):Ft=a[79];let Qt;a[80]===Symbol.for("react.memo_cache_sentinel")?(Qt=h.jsx(ae,{to:"/storage-and-hosting-services",className:"link-text-underline",children:h.jsx("span",{children:"Storage and hosting services"})}),a[80]=Qt):Qt=a[80];let _a;return a[81]===Symbol.for("react.memo_cache_sentinel")?(_a=h.jsxs(h.Fragment,{children:[o,f,h.jsx(Fa,{className:"mt-5 mb-5",children:h.jsxs(Hn,{children:[U,et,ge,Wn,h.jsxs(fr,{title:fi.Services,startCollapsed:!0,children:[kn,xa,yn,An,Xt,Ft,Qt,h.jsx(ae,{to:"/professional-services",className:"link-text-underline",children:h.jsx("span",{children:"Professional services"})})]})]})})]}),a[81]=_a):_a=a[81],_a}const DS=()=>{const a=st.c(26),{consent:i,setConsent:u}=g.useContext($o),[c,o]=g.useState(i===null);let f;a[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{o(!1),window.location.reload()},a[0]=f):f=a[0];const m=f,[y,v]=g.useState(!0);let p;a[1]!==u?(p=O=>{const ue=new Date;ue.setDate(ue.getDate()+30),localStorage.setItem("matomo_consent",JSON.stringify({consent:O,expiry:ue})),u(O)},a[1]=u,a[2]=p):p=a[2];const b=p;let T;a[3]===Symbol.for("react.memo_cache_sentinel")?(T=h.jsx(or.Header,{closeButton:!0,children:h.jsx(or.Title,{children:"Privacy on this site"})}),a[3]=T):T=a[3];let x;a[4]===Symbol.for("react.memo_cache_sentinel")?(x=h.jsx("a",{href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),a[4]=x):x=a[4];let R;a[5]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsxs("p",{children:["On our site we use Matomo to collect and process data about your visit to better understand how it is used. For more information, see our ",x,".",h.jsx("br",{}),"Below, you can choose to accept or decline to have this data collected."]}),a[5]=R):R=a[5];let w;a[6]!==y?(w=()=>v(!y),a[6]=y,a[7]=w):w=a[7];let k;a[8]!==y||a[9]!==w?(k=h.jsx(Au.Check,{type:"checkbox",label:"Analytics",checked:y,onChange:w}),a[8]=y,a[9]=w,a[10]=k):k=a[10];let B;a[11]===Symbol.for("react.memo_cache_sentinel")?(B=h.jsx(Au.Text,{className:"text-muted",children:"We collect information about your visit on the compendium site — this helps us understand how the site is used, and how we can improve it."}),a[11]=B):B=a[11];let U;a[12]!==k?(U=h.jsxs(or.Body,{children:[R,h.jsx(Au,{children:h.jsxs(Au.Group,{className:"mb-3",children:[k,B]})})]}),a[12]=k,a[13]=U):U=a[13];let Y;a[14]!==b?(Y=h.jsx(Uo,{variant:"secondary",onClick:()=>{b(!1),m()},children:"Decline all"}),a[14]=b,a[15]=Y):Y=a[15];let $;a[16]!==y||a[17]!==b?($=h.jsx(Uo,{variant:"primary",onClick:()=>{b(y),m()},children:"Save consent for 30 days"}),a[16]=y,a[17]=b,a[18]=$):$=a[18];let ee;a[19]!==$||a[20]!==Y?(ee=h.jsxs(or.Footer,{children:[Y,$]}),a[19]=$,a[20]=Y,a[21]=ee):ee=a[21];let J;return a[22]!==c||a[23]!==ee||a[24]!==U?(J=h.jsxs(or,{show:c,centered:!0,children:[T,U,ee]}),a[22]=c,a[23]=ee,a[24]=U,a[25]=J):J=a[25],J},AS=g.lazy(()=>ve(()=>import("./Budget-Dcza_nDS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),wS=g.lazy(()=>ve(()=>import("./ChargingStructure-LPcFjEsG.js"),__vite__mapDeps([8,2,3,4,5,6,9,10,11]))),MS=g.lazy(()=>ve(()=>import("./ECProjects-ChLCZHki.js"),__vite__mapDeps([12,2,3,4,5,6,13,11]))),zS=g.lazy(()=>ve(()=>import("./FundingSource-Bwu0iwfm.js"),__vite__mapDeps([14,1,2,3,4,5,6,15]))),LS=g.lazy(()=>ve(()=>import("./ParentOrganisation-D0KpPI2s.js"),__vite__mapDeps([16,2,3,4,5,6,13,11]))),Cy=g.lazy(()=>ve(()=>import("./StaffGraph-BWU39hrJ.js"),__vite__mapDeps([17,1,2,3,4,5,6,18]))),US=g.lazy(()=>ve(()=>import("./StaffGraphAbsolute-CMxNAPzl.js"),__vite__mapDeps([19,1,2,3,4,5,6,15,7]))),HS=g.lazy(()=>ve(()=>import("./SubOrganisation-BBUAiix9.js"),__vite__mapDeps([20,2,3,4,5,6,13,11]))),BS=g.lazy(()=>ve(()=>import("./Audits-tIxneKrE.js"),__vite__mapDeps([21,2,3,4,5,6,9,10,11]))),qS=g.lazy(()=>ve(()=>import("./BusinessContinuity-WayIenw9.js"),__vite__mapDeps([22,2,3,4,5,6,9,10,11]))),kS=g.lazy(()=>ve(()=>import("./CentralProcurement-ILLJKzCj.js"),__vite__mapDeps([23,2,3,4,5,6,15,1,7]))),VS=g.lazy(()=>ve(()=>import("./CorporateStrategy-DZFOGJiQ.js"),__vite__mapDeps([24,2,3,4,5,6,13,11]))),YS=g.lazy(()=>ve(()=>import("./CrisisExercises-DgB-Jzeh.js"),__vite__mapDeps([25,2,3,4,5,6,9,10,11]))),GS=g.lazy(()=>ve(()=>import("./CrisisManagement-C6sQvzSe.js"),__vite__mapDeps([26,2,3,4,5,6,9,10,11]))),XS=g.lazy(()=>ve(()=>import("./EOSCListings-DH_4uObR.js"),__vite__mapDeps([27,2,3,4,5,6,13,11]))),QS=g.lazy(()=>ve(()=>import("./Policy-9QlCddyw.js"),__vite__mapDeps([28,2,3,4,5,6,13,11]))),ZS=g.lazy(()=>ve(()=>import("./SecurityControls-cN55VGDF.js"),__vite__mapDeps([29,2,3,4,5,6,9,10,11]))),KS=g.lazy(()=>ve(()=>import("./ServiceLevelTargets-CAul_Bb5.js"),__vite__mapDeps([30,2,3,4,5,6,9,10,11]))),$S=g.lazy(()=>ve(()=>import("./ServiceManagementFramework-Dr5HjYSA.js"),__vite__mapDeps([31,2,3,4,5,6,9,10,11]))),JS=g.lazy(()=>ve(()=>import("./ServicesOffered-Z3IepUcf.js"),__vite__mapDeps([32,2,3,4,5,6,33,11]))),FS=g.lazy(()=>ve(()=>import("./ConnectedInstitutionsURLs-MamPTDnd.js"),__vite__mapDeps([34,2,3,4,5,6,13,11]))),bl=g.lazy(()=>ve(()=>import("./ConnectedUser-CSVPvLMN.js"),__vite__mapDeps([35,2,3,4,5,6,33,11]))),PS=g.lazy(()=>ve(()=>import("./RemoteCampuses-NUiCskMY.js"),__vite__mapDeps([36,2,3,4,5,6,11]))),WS=g.lazy(()=>ve(()=>import("./AlienWave-CoaJ4Ch0.js"),__vite__mapDeps([37,2,3,4,5,6,9,10,11]))),IS=g.lazy(()=>ve(()=>import("./AlienWaveInternal-F5JHtmfW.js"),__vite__mapDeps([38,2,3,4,5,6,9,10,11]))),ex=g.lazy(()=>ve(()=>import("./Automation-4jvTE-gK.js"),__vite__mapDeps([39,2,3,4,5,6,10,11]))),tx=g.lazy(()=>ve(()=>import("./CapacityCoreIP-DyN3YGAW.js"),__vite__mapDeps([40,1,2,3,4,5,6,15,7]))),nx=g.lazy(()=>ve(()=>import("./CapacityLargestLink-Dk26I_at.js"),__vite__mapDeps([41,1,2,3,4,5,6,15,7]))),ax=g.lazy(()=>ve(()=>import("./CertificateProvider-4SfZ4yzo.js"),__vite__mapDeps([42,2,3,4,5,6,9,10,11]))),jy=g.lazy(()=>ve(()=>import("./DarkFibreLease-D0G5a_C_.js"),__vite__mapDeps([43,1,2,3,4,5,6,7]))),lx=g.lazy(()=>ve(()=>import("./DarkFibreInstalled-BEuXjlBR.js"),__vite__mapDeps([44,1,2,3,4,5,6,7]))),ix=g.lazy(()=>ve(()=>import("./ExternalConnections-CI7Oci1W.js"),__vite__mapDeps([45,2,3,4,5,6,11]))),rx=g.lazy(()=>ve(()=>import("./FibreLight-CWljRLcS.js"),__vite__mapDeps([46,2,3,4,5,6,9,10,11]))),ux=g.lazy(()=>ve(()=>import("./IRUDuration-DwT4l7iu.js"),__vite__mapDeps([47,1,2,3,4,5,6,7]))),cx=g.lazy(()=>ve(()=>import("./MonitoringTools-D5EolQI7.js"),__vite__mapDeps([48,2,3,4,5,6,9,10,11]))),sx=g.lazy(()=>ve(()=>import("./NetworkFunctionVirtualisation-Ci3ZHBJN.js"),__vite__mapDeps([49,2,3,4,5,6,10,11]))),ox=g.lazy(()=>ve(()=>import("./NetworkMapUrls-CYYKJL7A.js"),__vite__mapDeps([50,2,3,4,5,6,13,11]))),fx=g.lazy(()=>ve(()=>import("./NonRAndEPeer-OZTW6B0e.js"),__vite__mapDeps([51,1,2,3,4,5,6,15,7]))),dx=g.lazy(()=>ve(()=>import("./OPsAutomation-BzaiKZKL.js"),__vite__mapDeps([52,2,3,4,5,6,9,10,11]))),hx=g.lazy(()=>ve(()=>import("./PassiveMonitoring-DrHRNpwv.js"),__vite__mapDeps([53,2,3,4,5,6,9,10,11]))),mx=g.lazy(()=>ve(()=>import("./PertTeam-B3F3NYFc.js"),__vite__mapDeps([54,2,3,4,5,6,9,10,11]))),yx=g.lazy(()=>ve(()=>import("./SiemVendors-BpJ6Liws.js"),__vite__mapDeps([55,2,3,4,5,6,9,10,11]))),px=g.lazy(()=>ve(()=>import("./TrafficRatio-BRasghA5.js"),__vite__mapDeps([56,1,2,3,4,5,6,18]))),vx=g.lazy(()=>ve(()=>import("./TrafficUrl-DrUJ6TNq.js"),__vite__mapDeps([57,2,3,4,5,6,13,11]))),gx=g.lazy(()=>ve(()=>import("./TrafficVolume-DIkzyQG4.js"),__vite__mapDeps([58,1,2,3,4,5,6,7]))),Ex=g.lazy(()=>ve(()=>import("./WeatherMap-BWtEGyUR.js"),__vite__mapDeps([59,2,3,4,5,6,13,11]))),Qa=g.lazy(()=>ve(()=>import("./Services-UuW4JfkB.js"),__vite__mapDeps([60,2,3,4,5,6,11]))),bx=g.lazy(()=>ve(()=>import("./Landing-f86DzYca.js"),__vite__mapDeps([61,62,63,3,4,11]))),Ro=g.lazy(()=>ve(()=>import("./SurveyContainerComponent-D2pyP2dn.js"),__vite__mapDeps([64,65,66,67,63,3,68]))),Sx=g.lazy(()=>ve(()=>import("./SurveyManagementComponent-CNBvtq4g.js"),__vite__mapDeps([69,70,6,11,65,67,62,63,3]))),xx=g.lazy(()=>ve(()=>import("./UserManagementComponent-CvgRGQoR.js"),__vite__mapDeps([71,65,63,3,5,70,6,11]))),_x=()=>{const a=st.c(9),{pathname:i}=Jn(),u=i!=="/";let c;a[0]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsx(cS,{}),a[0]=c):c=a[0];let o;a[1]!==u?(o=h.jsx("main",{className:"grow",children:u?h.jsx(_1,{}):h.jsx(Up,{})}),a[1]=u,a[2]=o):o=a[2];let f;a[3]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(DS,{}),a[3]=f):f=a[3];let m;a[4]!==o?(m=h.jsxs(OE,{children:[c,o,f]}),a[4]=o,a[5]=m):m=a[5];let y;a[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(fS,{}),a[6]=y):y=a[6];let v;return a[7]!==m?(v=h.jsxs(h.Fragment,{children:[m,y]}),a[7]=m,a[8]=v):v=a[8],v},Rx=J1([{path:"",element:h.jsx(_x,{}),children:[{path:"/budget",element:h.jsx(AS,{})},{path:"/funding",element:h.jsx(zS,{})},{path:"/employment",element:h.jsx(Cy,{},"staffgraph")},{path:"/traffic-ratio",element:h.jsx(px,{})},{path:"/roles",element:h.jsx(Cy,{roles:!0},"staffgraphroles")},{path:"/employee-count",element:h.jsx(US,{})},{path:"/charging",element:h.jsx(wS,{})},{path:"/suborganisations",element:h.jsx(HS,{})},{path:"/parentorganisation",element:h.jsx(LS,{})},{path:"/ec-projects",element:h.jsx(MS,{})},{path:"/policy",element:h.jsx(QS,{})},{path:"/traffic-volume",element:h.jsx(gx,{})},{path:"/data",element:h.jsx(OS,{})},{path:"/institutions-urls",element:h.jsx(FS,{})},{path:"/connected-proportion",element:h.jsx(bl,{page:$t.ConnectedProportion},$t.ConnectedProportion)},{path:"/connectivity-level",element:h.jsx(bl,{page:$t.ConnectivityLevel},$t.ConnectivityLevel)},{path:"/connectivity-growth",element:h.jsx(bl,{page:$t.ConnectivityGrowth},$t.ConnectivityGrowth)},{path:"/connection-carrier",element:h.jsx(bl,{page:$t.ConnectionCarrier},$t.ConnectionCarrier)},{path:"/connectivity-load",element:h.jsx(bl,{page:$t.ConnectivityLoad},$t.ConnectivityLoad)},{path:"/commercial-charging-level",element:h.jsx(bl,{page:$t.CommercialChargingLevel},$t.CommercialChargingLevel)},{path:"/commercial-connectivity",element:h.jsx(bl,{page:$t.CommercialConnectivity},$t.CommercialConnectivity)},{path:"/network-services",element:h.jsx(Qa,{category:Ut.network_services},Ut.network_services)},{path:"/isp-support-services",element:h.jsx(Qa,{category:Ut.isp_support},Ut.isp_support)},{path:"/security-services",element:h.jsx(Qa,{category:Ut.security},Ut.security)},{path:"/identity-services",element:h.jsx(Qa,{category:Ut.identity},Ut.identity)},{path:"/collaboration-services",element:h.jsx(Qa,{category:Ut.collaboration},Ut.collaboration)},{path:"/multimedia-services",element:h.jsx(Qa,{category:Ut.multimedia},Ut.multimedia)},{path:"/storage-and-hosting-services",element:h.jsx(Qa,{category:Ut.storage_and_hosting},Ut.storage_and_hosting)},{path:"/professional-services",element:h.jsx(Qa,{category:Ut.professional_services},Ut.professional_services)},{path:"/dark-fibre-lease",element:h.jsx(jy,{national:!0},"darkfibrenational")},{path:"/dark-fibre-lease-international",element:h.jsx(jy,{},"darkfibreinternational")},{path:"/dark-fibre-installed",element:h.jsx(lx,{})},{path:"/remote-campuses",element:h.jsx(PS,{})},{path:"/eosc-listings",element:h.jsx(XS,{})},{path:"/fibre-light",element:h.jsx(rx,{})},{path:"/monitoring-tools",element:h.jsx(cx,{})},{path:"/pert-team",element:h.jsx(mx,{})},{path:"/passive-monitoring",element:h.jsx(hx,{})},{path:"/alien-wave",element:h.jsx(WS,{})},{path:"/alien-wave-internal",element:h.jsx(IS,{})},{path:"/external-connections",element:h.jsx(ix,{})},{path:"/ops-automation",element:h.jsx(dx,{})},{path:"/network-automation",element:h.jsx(ex,{})},{path:"/traffic-stats",element:h.jsx(vx,{})},{path:"/weather-map",element:h.jsx(Ex,{})},{path:"/network-map",element:h.jsx(ox,{})},{path:"/nfv",element:h.jsx(sx,{})},{path:"/certificate-providers",element:h.jsx(ax,{})},{path:"/siem-vendors",element:h.jsx(yx,{})},{path:"/capacity-largest-link",element:h.jsx(nx,{})},{path:"/capacity-core-ip",element:h.jsx(tx,{})},{path:"/non-rne-peers",element:h.jsx(fx,{})},{path:"/iru-duration",element:h.jsx(ux,{})},{path:"/audits",element:h.jsx(BS,{})},{path:"/business-continuity",element:h.jsx(qS,{})},{path:"/crisis-management",element:h.jsx(GS,{})},{path:"/crisis-exercise",element:h.jsx(YS,{})},{path:"/central-procurement",element:h.jsx(kS,{})},{path:"/security-control",element:h.jsx(ZS,{})},{path:"/services-offered",element:h.jsx(JS,{})},{path:"/service-management-framework",element:h.jsx($S,{})},{path:"/service-level-targets",element:h.jsx(KS,{})},{path:"/corporate-strategy",element:h.jsx(VS,{})},{path:"/survey/admin/surveys",element:h.jsx(Sx,{})},{path:"/survey/admin/users",element:h.jsx(xx,{})},{path:"/survey/admin/inspect/:year",element:h.jsx(Ro,{loadFrom:"/api/response/inspect/"})},{path:"/survey/admin/try/:year",element:h.jsx(Ro,{loadFrom:"/api/response/try/"})},{path:"/survey/response/:year/:nren",element:h.jsx(Ro,{loadFrom:"/api/response/load/"})},{path:"/survey/*",element:h.jsx(bx,{})},{path:"*",element:h.jsx(Up,{})}]}]);function Tx(){const a=st.c(1);let i;return a[0]===Symbol.for("react.memo_cache_sentinel")?(i=h.jsx("div",{className:"app",children:h.jsx(cE,{router:Rx})}),a[0]=i):i=a[0],i}const Nx=document.getElementById("root"),Cx=t0.createRoot(Nx);Cx.render(h.jsx(Vt.StrictMode,{children:h.jsx(Tx,{})}));export{Dx as $,Yy as A,mb as B,sn as C,Fa as D,NS as E,hE as F,yE as G,Lp as H,CS as I,RS as J,Au as K,ae as L,jS as M,EE as N,SS as O,Py as P,xS as Q,Hn as R,fi as S,qp as T,Mx as U,Ut as V,Ko as W,Xu as X,Oy as Y,Ax as Z,wE as _,$t as a,ve as a0,lb as a1,eb as a2,Ju as a3,Nl as a4,Sl as a5,Ao as a6,Ka as a7,_l as a8,tb as a9,Ox as aa,ef as ab,CE as ac,zx as b,st as c,Lx as d,fr as e,Vt as f,ip as g,Ve as h,De as i,h as j,ub as k,gy as l,qu as m,Cb as n,$u as o,Io as p,cb as q,g as r,ci as s,np as t,Rl as u,lp as v,wx as w,Uo as x,UE as y,Lo as z}; +*/var dy;function AE(){return dy||(dy=1,function(l){(function(){var n={}.hasOwnProperty;function c(){for(var f="",d=0;d<arguments.length;d++){var y=arguments[d];y&&(f=u(f,s(y)))}return f}function s(f){if(typeof f=="string"||typeof f=="number")return f;if(typeof f!="object")return"";if(Array.isArray(f))return c.apply(null,f);if(f.toString!==Object.prototype.toString&&!f.toString.toString().includes("[native code]"))return f.toString();var d="";for(var y in f)n.call(f,y)&&f[y]&&(d=u(d,y));return d}function u(f,d){return d?f?f+" "+d:f+d:f}l.exports?(c.default=c,l.exports=c):window.classNames=c})()}(po)),po.exports}var ME=AE();const Ae=fr(ME);function zE(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.includes(s))continue;c[s]=l[s]}return c}function Ao(l,n){return Ao=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,s){return c.__proto__=s,c},Ao(l,n)}function LE(l,n){l.prototype=Object.create(n.prototype),l.prototype.constructor=l,Ao(l,n)}const UE=["xxl","xl","lg","md","sm","xs"],HE="xs",Zu=g.createContext({prefixes:{},breakpoints:UE,minBreakpoint:HE});function Qe(l,n){const{prefixes:c}=g.useContext(Zu);return l||c[n]||n}function tp(){const{breakpoints:l}=g.useContext(Zu);return l}function np(){const{minBreakpoint:l}=g.useContext(Zu);return l}function BE(){const{dir:l}=g.useContext(Zu);return l==="rtl"}function Ku(l){return l&&l.ownerDocument||document}function qE(l){var n=Ku(l);return n&&n.defaultView||window}function VE(l,n){return qE(l).getComputedStyle(l,n)}var YE=/([A-Z])/g;function GE(l){return l.replace(YE,"-$1").toLowerCase()}var kE=/^ms-/;function Ou(l){return GE(l).replace(kE,"-ms-")}var XE=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;function QE(l){return!!(l&&XE.test(l))}function gl(l,n){var c="",s="";if(typeof n=="string")return l.style.getPropertyValue(Ou(n))||VE(l).getPropertyValue(Ou(n));Object.keys(n).forEach(function(u){var f=n[u];!f&&f!==0?l.style.removeProperty(Ou(u)):QE(u)?s+=u+"("+f+") ":c+=Ou(u)+": "+f+";"}),s&&(c+="transform: "+s+";"),l.style.cssText+=";"+c}var vo={exports:{}},go,hy;function ZE(){if(hy)return go;hy=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return go=l,go}var Eo,my;function KE(){if(my)return Eo;my=1;var l=ZE();function n(){}function c(){}return c.resetWarningCache=n,Eo=function(){function s(d,y,v,p,b,R){if(R!==l){var S=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw S.name="Invariant Violation",S}}s.isRequired=s;function u(){return s}var f={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:u,element:s,elementType:s,instanceOf:u,node:s,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:c,resetWarningCache:n};return f.PropTypes=f,f},Eo}var yy;function $E(){return yy||(yy=1,vo.exports=KE()()),vo.exports}var FE=$E();const fa=fr(FE),py={disabled:!1},ap=Yt.createContext(null);var JE=function(n){return n.scrollTop},cr="unmounted",hl="exited",Ba="entering",yl="entered",Mo="exiting",ha=function(l){LE(n,l);function n(s,u){var f;f=l.call(this,s,u)||this;var d=u,y=d&&!d.isMounting?s.enter:s.appear,v;return f.appearStatus=null,s.in?y?(v=hl,f.appearStatus=Ba):v=yl:s.unmountOnExit||s.mountOnEnter?v=cr:v=hl,f.state={status:v},f.nextCallback=null,f}n.getDerivedStateFromProps=function(u,f){var d=u.in;return d&&f.status===cr?{status:hl}:null};var c=n.prototype;return c.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},c.componentDidUpdate=function(u){var f=null;if(u!==this.props){var d=this.state.status;this.props.in?d!==Ba&&d!==yl&&(f=Ba):(d===Ba||d===yl)&&(f=Mo)}this.updateStatus(!1,f)},c.componentWillUnmount=function(){this.cancelNextCallback()},c.getTimeouts=function(){var u=this.props.timeout,f,d,y;return f=d=y=u,u!=null&&typeof u!="number"&&(f=u.exit,d=u.enter,y=u.appear!==void 0?u.appear:d),{exit:f,enter:d,appear:y}},c.updateStatus=function(u,f){if(u===void 0&&(u=!1),f!==null)if(this.cancelNextCallback(),f===Ba){if(this.props.unmountOnExit||this.props.mountOnEnter){var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this);d&&JE(d)}this.performEnter(u)}else this.performExit();else this.props.unmountOnExit&&this.state.status===hl&&this.setState({status:cr})},c.performEnter=function(u){var f=this,d=this.props.enter,y=this.context?this.context.isMounting:u,v=this.props.nodeRef?[y]:[ii.findDOMNode(this),y],p=v[0],b=v[1],R=this.getTimeouts(),S=y?R.appear:R.enter;if(!u&&!d||py.disabled){this.safeSetState({status:yl},function(){f.props.onEntered(p)});return}this.props.onEnter(p,b),this.safeSetState({status:Ba},function(){f.props.onEntering(p,b),f.onTransitionEnd(S,function(){f.safeSetState({status:yl},function(){f.props.onEntered(p,b)})})})},c.performExit=function(){var u=this,f=this.props.exit,d=this.getTimeouts(),y=this.props.nodeRef?void 0:ii.findDOMNode(this);if(!f||py.disabled){this.safeSetState({status:hl},function(){u.props.onExited(y)});return}this.props.onExit(y),this.safeSetState({status:Mo},function(){u.props.onExiting(y),u.onTransitionEnd(d.exit,function(){u.safeSetState({status:hl},function(){u.props.onExited(y)})})})},c.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},c.safeSetState=function(u,f){f=this.setNextCallback(f),this.setState(u,f)},c.setNextCallback=function(u){var f=this,d=!0;return this.nextCallback=function(y){d&&(d=!1,f.nextCallback=null,u(y))},this.nextCallback.cancel=function(){d=!1},this.nextCallback},c.onTransitionEnd=function(u,f){this.setNextCallback(f);var d=this.props.nodeRef?this.props.nodeRef.current:ii.findDOMNode(this),y=u==null&&!this.props.addEndListener;if(!d||y){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var v=this.props.nodeRef?[this.nextCallback]:[d,this.nextCallback],p=v[0],b=v[1];this.props.addEndListener(p,b)}u!=null&&setTimeout(this.nextCallback,u)},c.render=function(){var u=this.state.status;if(u===cr)return null;var f=this.props,d=f.children;f.in,f.mountOnEnter,f.unmountOnExit,f.appear,f.enter,f.exit,f.timeout,f.addEndListener,f.onEnter,f.onEntering,f.onEntered,f.onExit,f.onExiting,f.onExited,f.nodeRef;var y=zE(f,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Yt.createElement(ap.Provider,{value:null},typeof d=="function"?d(u,y):Yt.cloneElement(Yt.Children.only(d),y))},n}(Yt.Component);ha.contextType=ap;ha.propTypes={};function ei(){}ha.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ei,onEntering:ei,onEntered:ei,onExit:ei,onExiting:ei,onExited:ei};ha.UNMOUNTED=cr;ha.EXITED=hl;ha.ENTERING=Ba;ha.ENTERED=yl;ha.EXITING=Mo;function PE(l){return l.code==="Escape"||l.keyCode===27}function WE(){const l=g.version.split(".");return{major:+l[0],minor:+l[1],patch:+l[2]}}function $u(l){if(!l||typeof l=="function")return null;const{major:n}=WE();return n>=19?l.props.ref:l.ref}const ri=!!(typeof window<"u"&&window.document&&window.document.createElement);var zo=!1,Lo=!1;try{var bo={get passive(){return zo=!0},get once(){return Lo=zo=!0}};ri&&(window.addEventListener("test",bo,bo),window.removeEventListener("test",bo,!0))}catch{}function lp(l,n,c,s){if(s&&typeof s!="boolean"&&!Lo){var u=s.once,f=s.capture,d=c;!Lo&&u&&(d=c.__once||function y(v){this.removeEventListener(n,y,f),c.call(this,v)},c.__once=d),l.addEventListener(n,d,zo?s:f)}l.addEventListener(n,c,s)}function Uo(l,n,c,s){var u=s&&typeof s!="boolean"?s.capture:s;l.removeEventListener(n,c,u),c.__once&&l.removeEventListener(n,c.__once,u)}function Bu(l,n,c,s){return lp(l,n,c,s),function(){Uo(l,n,c,s)}}function IE(l,n,c,s){if(s===void 0&&(s=!0),l){var u=document.createEvent("HTMLEvents");u.initEvent(n,c,s),l.dispatchEvent(u)}}function eb(l){var n=gl(l,"transitionDuration")||"",c=n.indexOf("ms")===-1?1e3:1;return parseFloat(n)*c}function tb(l,n,c){c===void 0&&(c=5);var s=!1,u=setTimeout(function(){s||IE(l,"transitionend",!0)},n+c),f=Bu(l,"transitionend",function(){s=!0},{once:!0});return function(){clearTimeout(u),f()}}function ip(l,n,c,s){c==null&&(c=eb(l)||0);var u=tb(l,c,s),f=Bu(l,"transitionend",n);return function(){u(),f()}}function vy(l,n){const c=gl(l,n)||"",s=c.indexOf("ms")===-1?1e3:1;return parseFloat(c)*s}function nb(l,n){const c=vy(l,"transitionDuration"),s=vy(l,"transitionDelay"),u=ip(l,f=>{f.target===l&&(u(),n(f))},c+s)}function ab(l){l.offsetHeight}const gy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function lb(l,n){const c=gy(l),s=gy(n);return u=>{c&&c(u),s&&s(u)}}function rp(l,n){return g.useMemo(()=>lb(l,n),[l,n])}function ib(l){return l&&"setState"in l?ii.findDOMNode(l):l??null}const rb=Yt.forwardRef(({onEnter:l,onEntering:n,onEntered:c,onExit:s,onExiting:u,onExited:f,addEndListener:d,children:y,childRef:v,...p},b)=>{const R=g.useRef(null),S=rp(R,v),_=N=>{S(ib(N))},O=N=>W=>{N&&R.current&&N(R.current,W)},H=g.useCallback(O(l),[l]),U=g.useCallback(O(n),[n]),M=g.useCallback(O(c),[c]),q=g.useCallback(O(s),[s]),Y=g.useCallback(O(u),[u]),J=g.useCallback(O(f),[f]),k=g.useCallback(O(d),[d]);return h.jsx(ha,{ref:b,...p,onEnter:H,onEntered:M,onEntering:U,onExit:q,onExited:J,onExiting:Y,addEndListener:k,nodeRef:R,children:typeof y=="function"?(N,W)=>y(N,{...W,ref:_}):Yt.cloneElement(y,{ref:_})})});function ub(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function Ho(l){const n=ub(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}const Po=l=>g.forwardRef((n,c)=>h.jsx("div",{...n,ref:c,className:Ae(n.className,l)}));function cb(l){const n=g.useRef(l);return g.useEffect(()=>{n.current=l},[l]),n}function pl(l){const n=cb(l);return g.useCallback(function(...c){return n.current&&n.current(...c)},[n])}function sb(){const l=g.useRef(!0),n=g.useRef(()=>l.current);return g.useEffect(()=>(l.current=!0,()=>{l.current=!1}),[]),n.current}function ob(l){const n=g.useRef(null);return g.useEffect(()=>{n.current=l}),n.current}const fb=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",db=typeof document<"u",Ey=db||fb?g.useLayoutEffect:g.useEffect,hb=["as","disabled"];function mb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function yb(l){return!l||l.trim()==="#"}function up({tagName:l,disabled:n,href:c,target:s,rel:u,role:f,onClick:d,tabIndex:y=0,type:v}){l||(c!=null||s!=null||u!=null?l="a":l="button");const p={tagName:l};if(l==="button")return[{type:v||"button",disabled:n},p];const b=S=>{if((n||l==="a"&&yb(c))&&S.preventDefault(),n){S.stopPropagation();return}d==null||d(S)},R=S=>{S.key===" "&&(S.preventDefault(),b(S))};return l==="a"&&(c||(c="#"),n&&(c=void 0)),[{role:f??"button",disabled:void 0,tabIndex:n?void 0:y,href:c,target:l==="a"?s:void 0,"aria-disabled":n||void 0,rel:l==="a"?u:void 0,onClick:b,onKeyDown:R},p]}const pb=g.forwardRef((l,n)=>{let{as:c,disabled:s}=l,u=mb(l,hb);const[f,{tagName:d}]=up(Object.assign({tagName:c,disabled:s},u));return h.jsx(d,Object.assign({},u,f,{ref:n}))});pb.displayName="Button";const vb={[Ba]:"show",[yl]:"show"},Wo=g.forwardRef(({className:l,children:n,transitionClasses:c={},onEnter:s,...u},f)=>{const d={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,appear:!1,...u},y=g.useCallback((v,p)=>{ab(v),s==null||s(v,p)},[s]);return h.jsx(rb,{ref:f,addEndListener:nb,...d,onEnter:y,childRef:$u(n),children:(v,p)=>g.cloneElement(n,{...p,className:Ae("fade",l,n.props.className,vb[v],c[v])})})});Wo.displayName="Fade";const gb={"aria-label":fa.string,onClick:fa.func,variant:fa.oneOf(["white"])},Io=g.forwardRef(({className:l,variant:n,"aria-label":c="Close",...s},u)=>h.jsx("button",{ref:u,type:"button",className:Ae("btn-close",n&&`btn-close-${n}`,l),"aria-label":c,...s}));Io.displayName="CloseButton";Io.propTypes=gb;const Bo=g.forwardRef(({as:l,bsPrefix:n,variant:c="primary",size:s,active:u=!1,disabled:f=!1,className:d,...y},v)=>{const p=Qe(n,"btn"),[b,{tagName:R}]=up({tagName:l,disabled:f,...y}),S=R;return h.jsx(S,{...b,...y,ref:v,disabled:f,className:Ae(d,p,u&&"active",c&&`${p}-${c}`,s&&`${p}-${s}`,y.href&&f&&"disabled")})});Bo.displayName="Button";const ef=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));ef.displayName="CardBody";const cp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));cp.displayName="CardFooter";const sp=g.createContext(null);sp.displayName="CardHeaderContext";const op=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"card-header"),d=g.useMemo(()=>({cardHeaderBsPrefix:f}),[f]);return h.jsx(sp.Provider,{value:d,children:h.jsx(c,{ref:u,...s,className:Ae(n,f)})})});op.displayName="CardHeader";const fp=g.forwardRef(({bsPrefix:l,className:n,variant:c,as:s="img",...u},f)=>{const d=Qe(l,"card-img");return h.jsx(s,{ref:f,className:Ae(c?`${d}-${c}`:d,n),...u})});fp.displayName="CardImg";const dp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"card-img-overlay"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));dp.displayName="CardImgOverlay";const hp=g.forwardRef(({className:l,bsPrefix:n,as:c="a",...s},u)=>(n=Qe(n,"card-link"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));hp.displayName="CardLink";const Eb=Po("h6"),mp=g.forwardRef(({className:l,bsPrefix:n,as:c=Eb,...s},u)=>(n=Qe(n,"card-subtitle"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));mp.displayName="CardSubtitle";const yp=g.forwardRef(({className:l,bsPrefix:n,as:c="p",...s},u)=>(n=Qe(n,"card-text"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));yp.displayName="CardText";const bb=Po("h5"),pp=g.forwardRef(({className:l,bsPrefix:n,as:c=bb,...s},u)=>(n=Qe(n,"card-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));pp.displayName="CardTitle";const vp=g.forwardRef(({bsPrefix:l,className:n,bg:c,text:s,border:u,body:f=!1,children:d,as:y="div",...v},p)=>{const b=Qe(l,"card");return h.jsx(y,{ref:p,...v,className:Ae(n,b,c&&`bg-${c}`,s&&`text-${s}`,u&&`border-${u}`),children:f?h.jsx(ef,{children:d}):d})});vp.displayName="Card";const Yn=Object.assign(vp,{Img:fp,Title:pp,Subtitle:mp,Body:ef,Link:hp,Text:yp,Header:op,Footer:cp,ImgOverlay:dp});function Sb(l){const n=g.useRef(l);return n.current=l,n}function xb(l){const n=Sb(l);g.useEffect(()=>()=>n.current(),[])}function _b(l,n){return g.Children.toArray(l).some(c=>g.isValidElement(c)&&c.type===n)}function Rb({as:l,bsPrefix:n,className:c,...s}){n=Qe(n,"col");const u=tp(),f=np(),d=[],y=[];return u.forEach(v=>{const p=s[v];delete s[v];let b,R,S;typeof p=="object"&&p!=null?{span:b,offset:R,order:S}=p:b=p;const _=v!==f?`-${v}`:"";b&&d.push(b===!0?`${n}${_}`:`${n}${_}-${b}`),S!=null&&y.push(`order${_}-${S}`),R!=null&&y.push(`offset${_}-${R}`)}),[{...s,className:Ae(c,...d,...y)},{as:l,bsPrefix:n,spans:d}]}const ln=g.forwardRef((l,n)=>{const[{className:c,...s},{as:u="div",bsPrefix:f,spans:d}]=Rb(l);return h.jsx(u,{...s,ref:n,className:Ae(c,!d.length&&f)})});ln.displayName="Col";const Ya=g.forwardRef(({bsPrefix:l,fluid:n=!1,as:c="div",className:s,...u},f)=>{const d=Qe(l,"container"),y=typeof n=="string"?`-${n}`:"-fluid";return h.jsx(c,{ref:f,...u,className:Ae(s,n?`${d}${y}`:d)})});Ya.displayName="Container";var Tb=Function.prototype.bind.call(Function.prototype.call,[].slice);function ti(l,n){return Tb(l.querySelectorAll(n))}function by(l,n){if(l.contains)return l.contains(n);if(l.compareDocumentPosition)return l===n||!!(l.compareDocumentPosition(n)&16)}var So,Sy;function Nb(){if(Sy)return So;Sy=1;var l=function(){};return So=l,So}var Cb=Nb();const q2=fr(Cb),jb="data-rr-ui-";function Ob(l){return`${jb}${l}`}const gp=g.createContext(ri?window:void 0);gp.Provider;function tf(){return g.useContext(gp)}const Db={type:fa.string,tooltip:fa.bool,as:fa.elementType},Fu=g.forwardRef(({as:l="div",className:n,type:c="valid",tooltip:s=!1,...u},f)=>h.jsx(l,{...u,ref:f,className:Ae(n,`${c}-${s?"tooltip":"feedback"}`)}));Fu.displayName="Feedback";Fu.propTypes=Db;const da=g.createContext({}),nf=g.forwardRef(({id:l,bsPrefix:n,className:c,type:s="checkbox",isValid:u=!1,isInvalid:f=!1,as:d="input",...y},v)=>{const{controlId:p}=g.useContext(da);return n=Qe(n,"form-check-input"),h.jsx(d,{...y,ref:v,type:s,id:l||p,className:Ae(c,n,u&&"is-valid",f&&"is-invalid")})});nf.displayName="FormCheckInput";const qu=g.forwardRef(({bsPrefix:l,className:n,htmlFor:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-check-label"),h.jsx("label",{...s,ref:u,htmlFor:c||f,className:Ae(n,l)})});qu.displayName="FormCheckLabel";const Ep=g.forwardRef(({id:l,bsPrefix:n,bsSwitchPrefix:c,inline:s=!1,reverse:u=!1,disabled:f=!1,isValid:d=!1,isInvalid:y=!1,feedbackTooltip:v=!1,feedback:p,feedbackType:b,className:R,style:S,title:_="",type:O="checkbox",label:H,children:U,as:M="input",...q},Y)=>{n=Qe(n,"form-check"),c=Qe(c,"form-switch");const{controlId:J}=g.useContext(da),k=g.useMemo(()=>({controlId:l||J}),[J,l]),N=!U&&H!=null&&H!==!1||_b(U,qu),W=h.jsx(nf,{...q,type:O==="switch"?"checkbox":O,ref:Y,isValid:d,isInvalid:y,disabled:f,as:M});return h.jsx(da.Provider,{value:k,children:h.jsx("div",{style:S,className:Ae(R,N&&n,s&&`${n}-inline`,u&&`${n}-reverse`,O==="switch"&&c),children:U||h.jsxs(h.Fragment,{children:[W,N&&h.jsx(qu,{title:_,children:H}),p&&h.jsx(Fu,{type:b,tooltip:v,children:p})]})})})});Ep.displayName="FormCheck";const Vu=Object.assign(Ep,{Input:nf,Label:qu}),bp=g.forwardRef(({bsPrefix:l,type:n,size:c,htmlSize:s,id:u,className:f,isValid:d=!1,isInvalid:y=!1,plaintext:v,readOnly:p,as:b="input",...R},S)=>{const{controlId:_}=g.useContext(da);return l=Qe(l,"form-control"),h.jsx(b,{...R,type:n,size:s,ref:S,readOnly:p,id:u||_,className:Ae(f,v?`${l}-plaintext`:l,c&&`${l}-${c}`,n==="color"&&`${l}-color`,d&&"is-valid",y&&"is-invalid")})});bp.displayName="FormControl";const wb=Object.assign(bp,{Feedback:Fu}),Sp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"form-floating"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Sp.displayName="FormFloating";const af=g.forwardRef(({controlId:l,as:n="div",...c},s)=>{const u=g.useMemo(()=>({controlId:l}),[l]);return h.jsx(da.Provider,{value:u,children:h.jsx(n,{...c,ref:s})})});af.displayName="FormGroup";const xp=g.forwardRef(({as:l="label",bsPrefix:n,column:c=!1,visuallyHidden:s=!1,className:u,htmlFor:f,...d},y)=>{const{controlId:v}=g.useContext(da);n=Qe(n,"form-label");let p="col-form-label";typeof c=="string"&&(p=`${p} ${p}-${c}`);const b=Ae(u,n,s&&"visually-hidden",c&&p);return f=f||v,c?h.jsx(ln,{ref:y,as:"label",className:b,htmlFor:f,...d}):h.jsx(l,{ref:y,className:b,htmlFor:f,...d})});xp.displayName="FormLabel";const _p=g.forwardRef(({bsPrefix:l,className:n,id:c,...s},u)=>{const{controlId:f}=g.useContext(da);return l=Qe(l,"form-range"),h.jsx("input",{...s,type:"range",ref:u,className:Ae(n,l),id:c||f})});_p.displayName="FormRange";const Rp=g.forwardRef(({bsPrefix:l,size:n,htmlSize:c,className:s,isValid:u=!1,isInvalid:f=!1,id:d,...y},v)=>{const{controlId:p}=g.useContext(da);return l=Qe(l,"form-select"),h.jsx("select",{...y,size:c,ref:v,className:Ae(s,l,n&&`${l}-${n}`,u&&"is-valid",f&&"is-invalid"),id:d||p})});Rp.displayName="FormSelect";const Tp=g.forwardRef(({bsPrefix:l,className:n,as:c="small",muted:s,...u},f)=>(l=Qe(l,"form-text"),h.jsx(c,{...u,ref:f,className:Ae(n,l,s&&"text-muted")})));Tp.displayName="FormText";const Np=g.forwardRef((l,n)=>h.jsx(Vu,{...l,ref:n,type:"switch"}));Np.displayName="Switch";const Ab=Object.assign(Np,{Input:Vu.Input,Label:Vu.Label}),Cp=g.forwardRef(({bsPrefix:l,className:n,children:c,controlId:s,label:u,...f},d)=>(l=Qe(l,"form-floating"),h.jsxs(af,{ref:d,className:Ae(n,l),controlId:s,...f,children:[c,h.jsx("label",{htmlFor:s,children:u})]})));Cp.displayName="FloatingLabel";const Mb={_ref:fa.any,validated:fa.bool,as:fa.elementType},lf=g.forwardRef(({className:l,validated:n,as:c="form",...s},u)=>h.jsx(c,{...s,ref:u,className:Ae(l,n&&"was-validated")}));lf.displayName="Form";lf.propTypes=Mb;const Du=Object.assign(lf,{Group:af,Control:wb,Floating:Sp,Check:Vu,Switch:Ab,Label:xp,Text:Tp,Range:_p,Select:Rp,FloatingLabel:Cp}),xy=l=>!l||typeof l=="function"?l:n=>{l.current=n};function zb(l,n){const c=xy(l),s=xy(n);return u=>{c&&c(u),s&&s(u)}}function rf(l,n){return g.useMemo(()=>zb(l,n),[l,n])}var wu;function _y(l){if((!wu&&wu!==0||l)&&ri){var n=document.createElement("div");n.style.position="absolute",n.style.top="-9999px",n.style.width="50px",n.style.height="50px",n.style.overflow="scroll",document.body.appendChild(n),wu=n.offsetWidth-n.clientWidth,document.body.removeChild(n)}return wu}function Lb(){return g.useState(null)}function xo(l){l===void 0&&(l=Ku());try{var n=l.activeElement;return!n||!n.nodeName?null:n}catch{return l.body}}function Ub(l){const n=g.useRef(l);return n.current=l,n}function Hb(l){const n=Ub(l);g.useEffect(()=>()=>n.current(),[])}function Bb(l=document){const n=l.defaultView;return Math.abs(n.innerWidth-l.documentElement.clientWidth)}const Ry=Ob("modal-open");class uf{constructor({ownerDocument:n,handleContainerOverflow:c=!0,isRTL:s=!1}={}){this.handleContainerOverflow=c,this.isRTL=s,this.modals=[],this.ownerDocument=n}getScrollbarWidth(){return Bb(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(n){}removeModalAttributes(n){}setContainerStyle(n){const c={overflow:"hidden"},s=this.isRTL?"paddingLeft":"paddingRight",u=this.getElement();n.style={overflow:u.style.overflow,[s]:u.style[s]},n.scrollBarWidth&&(c[s]=`${parseInt(gl(u,s)||"0",10)+n.scrollBarWidth}px`),u.setAttribute(Ry,""),gl(u,c)}reset(){[...this.modals].forEach(n=>this.remove(n))}removeContainerStyle(n){const c=this.getElement();c.removeAttribute(Ry),Object.assign(c.style,n.style)}add(n){let c=this.modals.indexOf(n);return c!==-1||(c=this.modals.length,this.modals.push(n),this.setModalAttributes(n),c!==0)||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),c}remove(n){const c=this.modals.indexOf(n);c!==-1&&(this.modals.splice(c,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(n))}isTopModal(n){return!!this.modals.length&&this.modals[this.modals.length-1]===n}}const _o=(l,n)=>ri?l==null?(n||Ku()).body:(typeof l=="function"&&(l=l()),l&&"current"in l&&(l=l.current),l&&("nodeType"in l||l.getBoundingClientRect)?l:null):null;function qb(l,n){const c=tf(),[s,u]=g.useState(()=>_o(l,c==null?void 0:c.document));if(!s){const f=_o(l);f&&u(f)}return g.useEffect(()=>{},[n,s]),g.useEffect(()=>{const f=_o(l);f!==s&&u(f)},[l,s]),s}function Vb({children:l,in:n,onExited:c,mountOnEnter:s,unmountOnExit:u}){const f=g.useRef(null),d=g.useRef(n),y=pl(c);g.useEffect(()=>{n?d.current=!0:y(f.current)},[n,y]);const v=rf(f,$u(l)),p=g.cloneElement(l,{ref:v});return n?p:u||!d.current&&s?null:p}const Yb=["onEnter","onEntering","onEntered","onExit","onExiting","onExited","addEndListener","children"];function Gb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function kb(l){let{onEnter:n,onEntering:c,onEntered:s,onExit:u,onExiting:f,onExited:d,addEndListener:y,children:v}=l,p=Gb(l,Yb);const b=g.useRef(null),R=rf(b,$u(v)),S=J=>k=>{J&&b.current&&J(b.current,k)},_=g.useCallback(S(n),[n]),O=g.useCallback(S(c),[c]),H=g.useCallback(S(s),[s]),U=g.useCallback(S(u),[u]),M=g.useCallback(S(f),[f]),q=g.useCallback(S(d),[d]),Y=g.useCallback(S(y),[y]);return Object.assign({},p,{nodeRef:b},n&&{onEnter:_},c&&{onEntering:O},s&&{onEntered:H},u&&{onExit:U},f&&{onExiting:M},d&&{onExited:q},y&&{addEndListener:Y},{children:typeof v=="function"?(J,k)=>v(J,Object.assign({},k,{ref:R})):g.cloneElement(v,{ref:R})})}const Xb=["component"];function Qb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}const Zb=g.forwardRef((l,n)=>{let{component:c}=l,s=Qb(l,Xb);const u=kb(s);return h.jsx(c,Object.assign({ref:n},u))});function Kb({in:l,onTransition:n}){const c=g.useRef(null),s=g.useRef(!0),u=pl(n);return Ey(()=>{if(!c.current)return;let f=!1;return u({in:l,element:c.current,initial:s.current,isStale:()=>f}),()=>{f=!0}},[l,u]),Ey(()=>(s.current=!1,()=>{s.current=!0}),[]),c}function $b({children:l,in:n,onExited:c,onEntered:s,transition:u}){const[f,d]=g.useState(!n);n&&f&&d(!1);const y=Kb({in:!!n,onTransition:p=>{const b=()=>{p.isStale()||(p.in?s==null||s(p.element,p.initial):(d(!0),c==null||c(p.element)))};Promise.resolve(u(p)).then(b,R=>{throw p.in||d(!0),R})}}),v=rf(y,$u(l));return f&&!n?null:g.cloneElement(l,{ref:v})}function Ty(l,n,c){return l?h.jsx(Zb,Object.assign({},c,{component:l})):n?h.jsx($b,Object.assign({},c,{transition:n})):h.jsx(Vb,Object.assign({},c))}const Fb=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];function Jb(l,n){if(l==null)return{};var c={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}let Ro;function Pb(l){return Ro||(Ro=new uf({ownerDocument:l==null?void 0:l.document})),Ro}function Wb(l){const n=tf(),c=l||Pb(n),s=g.useRef({dialog:null,backdrop:null});return Object.assign(s.current,{add:()=>c.add(s.current),remove:()=>c.remove(s.current),isTopModal:()=>c.isTopModal(s.current),setDialogRef:g.useCallback(u=>{s.current.dialog=u},[]),setBackdropRef:g.useCallback(u=>{s.current.backdrop=u},[])})}const jp=g.forwardRef((l,n)=>{let{show:c=!1,role:s="dialog",className:u,style:f,children:d,backdrop:y=!0,keyboard:v=!0,onBackdropClick:p,onEscapeKeyDown:b,transition:R,runTransition:S,backdropTransition:_,runBackdropTransition:O,autoFocus:H=!0,enforceFocus:U=!0,restoreFocus:M=!0,restoreFocusOptions:q,renderDialog:Y,renderBackdrop:J=De=>h.jsx("div",Object.assign({},De)),manager:k,container:N,onShow:W,onHide:ie=()=>{},onExit:X,onExited:I,onExiting:de,onEnter:Ne,onEntering:Ye,onEntered:Be}=l,ze=Jb(l,Fb);const K=tf(),ce=qb(N),ne=Wb(k),Re=sb(),T=ob(c),[Q,le]=g.useState(!c),te=g.useRef(null);g.useImperativeHandle(n,()=>ne,[ne]),ri&&!T&&c&&(te.current=xo(K==null?void 0:K.document)),c&&Q&&le(!1);const P=pl(()=>{if(ne.add(),Ee.current=Bu(document,"keydown",Ce),Le.current=Bu(document,"focus",()=>setTimeout(ye),!0),W&&W(),H){var De,Rt;const St=xo((De=(Rt=ne.dialog)==null?void 0:Rt.ownerDocument)!=null?De:K==null?void 0:K.document);ne.dialog&&St&&!by(ne.dialog,St)&&(te.current=St,ne.dialog.focus())}}),ge=pl(()=>{if(ne.remove(),Ee.current==null||Ee.current(),Le.current==null||Le.current(),M){var De;(De=te.current)==null||De.focus==null||De.focus(q),te.current=null}});g.useEffect(()=>{!c||!ce||P()},[c,ce,P]),g.useEffect(()=>{Q&&ge()},[Q,ge]),Hb(()=>{ge()});const ye=pl(()=>{if(!U||!Re()||!ne.isTopModal())return;const De=xo(K==null?void 0:K.document);ne.dialog&&De&&!by(ne.dialog,De)&&ne.dialog.focus()}),Je=pl(De=>{De.target===De.currentTarget&&(p==null||p(De),y===!0&&ie())}),Ce=pl(De=>{v&&PE(De)&&ne.isTopModal()&&(b==null||b(De),De.defaultPrevented||ie())}),Le=g.useRef(),Ee=g.useRef(),Ze=(...De)=>{le(!0),I==null||I(...De)};if(!ce)return null;const vt=Object.assign({role:s,ref:ne.setDialogRef,"aria-modal":s==="dialog"?!0:void 0},ze,{style:f,className:u,tabIndex:-1});let it=Y?Y(vt):h.jsx("div",Object.assign({},vt,{children:g.cloneElement(d,{role:"document"})}));it=Ty(R,S,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!c,onExit:X,onExiting:de,onExited:Ze,onEnter:Ne,onEntering:Ye,onEntered:Be,children:it});let lt=null;return y&&(lt=J({ref:ne.setBackdropRef,onClick:Je}),lt=Ty(_,O,{in:!!c,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:lt})),h.jsx(h.Fragment,{children:ii.createPortal(h.jsxs(h.Fragment,{children:[lt,it]}),ce)})});jp.displayName="Modal";const Ib=Object.assign(jp,{Manager:uf});function eS(l,n){return l.classList?l.classList.contains(n):(" "+(l.className.baseVal||l.className)+" ").indexOf(" "+n+" ")!==-1}function tS(l,n){l.classList?l.classList.add(n):eS(l,n)||(typeof l.className=="string"?l.className=l.className+" "+n:l.setAttribute("class",(l.className&&l.className.baseVal||"")+" "+n))}function Ny(l,n){return l.replace(new RegExp("(^|\\s)"+n+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function nS(l,n){l.classList?l.classList.remove(n):typeof l.className=="string"?l.className=Ny(l.className,n):l.setAttribute("class",Ny(l.className&&l.className.baseVal||"",n))}const ni={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"};class aS extends uf{adjustAndStore(n,c,s){const u=c.style[n];c.dataset[n]=u,gl(c,{[n]:`${parseFloat(gl(c,n))+s}px`})}restore(n,c){const s=c.dataset[n];s!==void 0&&(delete c.dataset[n],gl(c,{[n]:s}))}setContainerStyle(n){super.setContainerStyle(n);const c=this.getElement();if(tS(c,"modal-open"),!n.scrollBarWidth)return;const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.adjustAndStore(s,f,n.scrollBarWidth)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.adjustAndStore(u,f,-n.scrollBarWidth)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.adjustAndStore(u,f,n.scrollBarWidth))}removeContainerStyle(n){super.removeContainerStyle(n);const c=this.getElement();nS(c,"modal-open");const s=this.isRTL?"paddingLeft":"paddingRight",u=this.isRTL?"marginLeft":"marginRight";ti(c,ni.FIXED_CONTENT).forEach(f=>this.restore(s,f)),ti(c,ni.STICKY_CONTENT).forEach(f=>this.restore(u,f)),ti(c,ni.NAVBAR_TOGGLER).forEach(f=>this.restore(u,f))}}let To;function lS(l){return To||(To=new aS(l)),To}const Op=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-body"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Op.displayName="ModalBody";const Dp=g.createContext({onHide(){}}),cf=g.forwardRef(({bsPrefix:l,className:n,contentClassName:c,centered:s,size:u,fullscreen:f,children:d,scrollable:y,...v},p)=>{l=Qe(l,"modal");const b=`${l}-dialog`,R=typeof f=="string"?`${l}-fullscreen-${f}`:`${l}-fullscreen`;return h.jsx("div",{...v,ref:p,className:Ae(b,n,u&&`${l}-${u}`,s&&`${b}-centered`,y&&`${b}-scrollable`,f&&R),children:h.jsx("div",{className:Ae(`${l}-content`,c),children:d})})});cf.displayName="ModalDialog";const wp=g.forwardRef(({className:l,bsPrefix:n,as:c="div",...s},u)=>(n=Qe(n,"modal-footer"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));wp.displayName="ModalFooter";const iS=g.forwardRef(({closeLabel:l="Close",closeVariant:n,closeButton:c=!1,onHide:s,children:u,...f},d)=>{const y=g.useContext(Dp),v=Ho(()=>{y==null||y.onHide(),s==null||s()});return h.jsxs("div",{ref:d,...f,children:[u,c&&h.jsx(Io,{"aria-label":l,variant:n,onClick:v})]})}),Ap=g.forwardRef(({bsPrefix:l,className:n,closeLabel:c="Close",closeButton:s=!1,...u},f)=>(l=Qe(l,"modal-header"),h.jsx(iS,{ref:f,...u,className:Ae(n,l),closeLabel:c,closeButton:s})));Ap.displayName="ModalHeader";const rS=Po("h4"),Mp=g.forwardRef(({className:l,bsPrefix:n,as:c=rS,...s},u)=>(n=Qe(n,"modal-title"),h.jsx(c,{ref:u,className:Ae(l,n),...s})));Mp.displayName="ModalTitle";function uS(l){return h.jsx(Wo,{...l,timeout:null})}function cS(l){return h.jsx(Wo,{...l,timeout:null})}const zp=g.forwardRef(({bsPrefix:l,className:n,style:c,dialogClassName:s,contentClassName:u,children:f,dialogAs:d=cf,"data-bs-theme":y,"aria-labelledby":v,"aria-describedby":p,"aria-label":b,show:R=!1,animation:S=!0,backdrop:_=!0,keyboard:O=!0,onEscapeKeyDown:H,onShow:U,onHide:M,container:q,autoFocus:Y=!0,enforceFocus:J=!0,restoreFocus:k=!0,restoreFocusOptions:N,onEntered:W,onExit:ie,onExiting:X,onEnter:I,onEntering:de,onExited:Ne,backdropClassName:Ye,manager:Be,...ze},K)=>{const[ce,ne]=g.useState({}),[Re,T]=g.useState(!1),Q=g.useRef(!1),le=g.useRef(!1),te=g.useRef(null),[P,ge]=Lb(),ye=rp(K,ge),Je=Ho(M),Ce=BE();l=Qe(l,"modal");const Le=g.useMemo(()=>({onHide:Je}),[Je]);function Ee(){return Be||lS({isRTL:Ce})}function Ze(_e){if(!ri)return;const Ie=Ee().getScrollbarWidth()>0,Gt=_e.scrollHeight>Ku(_e).documentElement.clientHeight;ne({paddingRight:Ie&&!Gt?_y():void 0,paddingLeft:!Ie&&Gt?_y():void 0})}const vt=Ho(()=>{P&&Ze(P.dialog)});xb(()=>{Uo(window,"resize",vt),te.current==null||te.current()});const it=()=>{Q.current=!0},lt=_e=>{Q.current&&P&&_e.target===P.dialog&&(le.current=!0),Q.current=!1},De=()=>{T(!0),te.current=ip(P.dialog,()=>{T(!1)})},Rt=_e=>{_e.target===_e.currentTarget&&De()},St=_e=>{if(_==="static"){Rt(_e);return}if(le.current||_e.target!==_e.currentTarget){le.current=!1;return}M==null||M()},Pt=_e=>{O?H==null||H(_e):(_e.preventDefault(),_==="static"&&De())},Zt=(_e,Ie)=>{_e&&Ze(_e),I==null||I(_e,Ie)},un=_e=>{te.current==null||te.current(),ie==null||ie(_e)},cn=(_e,Ie)=>{de==null||de(_e,Ie),lp(window,"resize",vt)},Ut=_e=>{_e&&(_e.style.display=""),Ne==null||Ne(_e),Uo(window,"resize",vt)},Ht=g.useCallback(_e=>h.jsx("div",{..._e,className:Ae(`${l}-backdrop`,Ye,!S&&"show")}),[S,Ye,l]),mt={...c,...ce};mt.display="block";const Kt=_e=>h.jsx("div",{role:"dialog",..._e,style:mt,className:Ae(n,l,Re&&`${l}-static`,!S&&"show"),onClick:_?St:void 0,onMouseUp:lt,"data-bs-theme":y,"aria-label":b,"aria-labelledby":v,"aria-describedby":p,children:h.jsx(d,{...ze,onMouseDown:it,className:s,contentClassName:u,children:f})});return h.jsx(Dp.Provider,{value:Le,children:h.jsx(Ib,{show:R,ref:ye,backdrop:_,container:q,keyboard:!0,autoFocus:Y,enforceFocus:J,restoreFocus:k,restoreFocusOptions:N,onEscapeKeyDown:Pt,onShow:U,onHide:M,onEnter:Zt,onEntering:cn,onEntered:W,onExit:un,onExiting:X,onExited:Ut,manager:Ee(),transition:S?uS:void 0,backdropTransition:S?cS:void 0,renderBackdrop:Ht,renderDialog:Kt})})});zp.displayName="Modal";const ir=Object.assign(zp,{Body:Op,Header:Ap,Title:Mp,Footer:wp,Dialog:cf,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),Rn=g.forwardRef(({bsPrefix:l,className:n,as:c="div",...s},u)=>{const f=Qe(l,"row"),d=tp(),y=np(),v=`${f}-cols`,p=[];return d.forEach(b=>{const R=s[b];delete s[b];let S;R!=null&&typeof R=="object"?{cols:S}=R:S=R;const _=b!==y?`-${b}`:"";S!=null&&p.push(`${v}${_}-${S}`)}),h.jsx(c,{ref:u,...s,className:Ae(n,f,...p)})});Rn.displayName="Row";const sS="/static/DY3vaYXT.svg";function oS(){const l=Ke.c(6),{user:n}=g.useContext(Fo),{pathname:c}=Xn();let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(ln,{xs:10,children:h.jsx("div",{className:"nav-wrapper",children:h.jsxs("nav",{className:"header-nav",children:[h.jsx("a",{href:"https://geant.org/",children:h.jsx("img",{src:sS,alt:"GÉANT Logo"})}),h.jsxs("ul",{children:[h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://network.geant.org/",children:"NETWORK"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/services/",children:"SERVICES"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://community.geant.org/",children:"COMMUNITY"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://tnc23.geant.org/",children:"TNC"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://geant.org/projects/",children:"PROJECTS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/",children:"CONNECT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://impact.geant.org/",children:"IMPACT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://careers.geant.org/",children:"CAREERS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://about.geant.org/",children:"ABOUT"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://connect.geant.org/community-news",children:"NEWS"})}),h.jsx("li",{children:h.jsx("a",{className:"nav-link-entry",href:"https://resources.geant.org/",children:"RESOURCES"})}),h.jsx("li",{children:h.jsx(Tn,{className:"nav-link-entry",to:"/",children:"COMPENDIUM"})})]})]})})}),l[0]=s):s=l[0];let u;l[1]!==c||l[2]!==n.permissions.admin?(u=n.permissions.admin&&!c.includes("survey")&&h.jsx("div",{className:"nav-link",style:{float:"right"},children:h.jsx(Tn,{className:"nav-link-entry",to:"/survey",children:h.jsx("span",{children:"Go to Survey"})})}),l[1]=c,l[2]=n.permissions.admin,l[3]=u):u=l[3];let f;return l[4]!==u?(f=h.jsx("div",{className:"external-page-nav-bar",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[s,h.jsx(ln,{xs:2,children:u})]})})}),l[4]=u,l[5]=f):f=l[5],f}const fS="/static/A3T3A-a_.svg",dS="/static/DOOiIGTs.png";function hS(){const l=Ke.c(9);let n;l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("a",{href:"https://geant.org",children:h.jsx("img",{src:fS,className:"m-3",style:{maxWidth:"100px"},alt:"GÉANT Logo"})}),l[0]=n):n=l[0];let c;l[1]===Symbol.for("react.memo_cache_sentinel")?(c=h.jsxs(ln,{children:[n,h.jsx("img",{src:dS,className:"m-3",style:{maxWidth:"200px"},alt:"European Union Flag"})]}),l[1]=c):c=l[1];let s,u;l[2]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Disclaimer/",children:"Disclaimer"}),u=h.jsx("wbr",{}),l[2]=s,l[3]=u):(s=l[2],u=l[3]);let f,d;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/geant-anti-slavery-policy/",children:"GEANT Anti‑Slavery Policy"}),d=h.jsx("wbr",{}),l[4]=f,l[5]=d):(f=l[4],d=l[5]);let y,v;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("a",{className:"mx-3 footer-link",href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),v=h.jsx("wbr",{}),l[6]=y,l[7]=v):(y=l[6],v=l[7]);let p;return l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("footer",{className:"page-footer pt-3",children:h.jsx(Ya,{children:h.jsxs(Rn,{children:[c,h.jsx(ln,{className:"mt-4 text-end",children:h.jsxs("span",{children:[s,u,"|",f,d,"|",y,v,"|",h.jsx("a",{className:"mx-3 footer-link",style:{cursor:"pointer"},onClick:mS,children:"Analytics Consent"})]})})]})})}),l[8]=p):p=l[8],p}function mS(){localStorage.removeItem("matomo_consent"),window.location.reload()}const Lp="/static/C4lsyu6A.svg",Up="/static/DhA-EmEc.svg";function Hp(){const l=Ke.c(16),n=g.useContext(ep);let c;l[0]!==n?(c=O=>n==null?void 0:n.trackPageView(O),l[0]=n,l[1]=c):c=l[1];const s=c;let u;l[2]!==n?(u=O=>n==null?void 0:n.trackEvent(O),l[2]=n,l[3]=u):u=l[3];const f=u;let d;l[4]!==n?(d=()=>n==null?void 0:n.trackEvents(),l[4]=n,l[5]=d):d=l[5];const y=d;let v;l[6]!==n?(v=O=>n==null?void 0:n.trackLink(O),l[6]=n,l[7]=v):v=l[7];const p=v,b=yS;let R;l[8]!==n?(R=(O,...H)=>{const U=H;n==null||n.pushInstruction(O,...U)},l[8]=n,l[9]=R):R=l[9];const S=R;let _;return l[10]!==S||l[11]!==f||l[12]!==y||l[13]!==p||l[14]!==s?(_={trackEvent:f,trackEvents:y,trackPageView:s,trackLink:p,enableLinkTracking:b,pushInstruction:S},l[10]=S,l[11]=f,l[12]=y,l[13]=p,l[14]=s,l[15]=_):_=l[15],_}function yS(){}function Bp(){const l=Ke.c(13),{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"GEANT Compendium Landing Page"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),g.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("h1",{className:"geant-header",children:"THE GÉANT COMPENDIUM OF NRENS"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(Rn,{children:h.jsxs("div",{className:"center-text",children:[u,h.jsxs("div",{className:"wordwrap pt-4",children:[h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Each year GÉANT invites European National Research and Eduction Networks to fill in a questionnaire asking about their network, their organisation, standards and policies, connected users, and the services they offer their users. This Compendium of responses is an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. No two NRENs are identical, with great diversity in their structures, funding, size, and focus."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"The GÉANT Compendium of NRENs Report is published annually, using both data from the Compendium from other sources, including surveys and studies carried out within different teams within GÉANT and the NREN community. The Report gives a broad overview of the European NREN landscape, identifying developments and trends."}),h.jsx("p",{style:{textAlign:"left",fontSize:"20px"},children:"Compendium Data, the responses from the NRENs, are made available to be viewed and downloaded. Graphs, charts, and tables can be customised to show as many or few NRENs as required, across different years. These can be downloaded as images or in PDF form."})]})]})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d={backgroundColor:"white"},l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y={width:"18rem"},l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(Yn.Img,{src:Lp}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(Yn.Title,{children:"Compendium Data"}),l[8]=p):p=l[8];let b;l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:y,children:h.jsxs(Tn,{to:"/data",className:"link-text",children:[v,h.jsxs(Yn.Body,{children:[p,h.jsx(Yn.Text,{children:h.jsx("span",{children:"Statistical representation of the annual Compendium Survey data is available here"})})]})]})})}),l[9]=b):b=l[9];let R;l[10]===Symbol.for("react.memo_cache_sentinel")?(R={width:"18rem"},l[10]=R):R=l[10];let S;l[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx(Yn.Img,{src:Up}),l[11]=S):S=l[11];let _;return l[12]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs(Ya,{className:"py-5 grey-container",children:[f,h.jsx(Rn,{children:h.jsx(ln,{children:h.jsx(Ya,{style:d,className:"rounded-border",children:h.jsxs(Rn,{className:"justify-content-md-center",children:[b,h.jsx(ln,{align:"center",children:h.jsx(Yn,{border:"light",style:R,children:h.jsxs("a",{href:"https://resources.geant.org/geant-compendia/",className:"link-text",target:"_blank",rel:"noreferrer",children:[S,h.jsxs(Yn.Body,{children:[h.jsx(Yn.Title,{children:"Compendium Reports"}),h.jsx(Yn.Text,{children:"A GÉANT Compendium Report is published annually, drawing on data from the Compendium Survey filled in by NRENs, complemented by information from other surveys"})]})]})})})]})})})})]}),l[12]=_):_=l[12],_}var qp={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Cy=Yt.createContext&&Yt.createContext(qp),pS=["attr","size","title"];function vS(l,n){if(l==null)return{};var c=gS(l,n),s,u;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(u=0;u<f.length;u++)s=f[u],!(n.indexOf(s)>=0)&&Object.prototype.propertyIsEnumerable.call(l,s)&&(c[s]=l[s])}return c}function gS(l,n){if(l==null)return{};var c={};for(var s in l)if(Object.prototype.hasOwnProperty.call(l,s)){if(n.indexOf(s)>=0)continue;c[s]=l[s]}return c}function Yu(){return Yu=Object.assign?Object.assign.bind():function(l){for(var n=1;n<arguments.length;n++){var c=arguments[n];for(var s in c)Object.prototype.hasOwnProperty.call(c,s)&&(l[s]=c[s])}return l},Yu.apply(this,arguments)}function jy(l,n){var c=Object.keys(l);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);n&&(s=s.filter(function(u){return Object.getOwnPropertyDescriptor(l,u).enumerable})),c.push.apply(c,s)}return c}function Gu(l){for(var n=1;n<arguments.length;n++){var c=arguments[n]!=null?arguments[n]:{};n%2?jy(Object(c),!0).forEach(function(s){ES(l,s,c[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(c)):jy(Object(c)).forEach(function(s){Object.defineProperty(l,s,Object.getOwnPropertyDescriptor(c,s))})}return l}function ES(l,n,c){return n=bS(n),n in l?Object.defineProperty(l,n,{value:c,enumerable:!0,configurable:!0,writable:!0}):l[n]=c,l}function bS(l){var n=SS(l,"string");return typeof n=="symbol"?n:n+""}function SS(l,n){if(typeof l!="object"||!l)return l;var c=l[Symbol.toPrimitive];if(c!==void 0){var s=c.call(l,n||"default");if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(l)}function Vp(l){return l&&l.map((n,c)=>Yt.createElement(n.tag,Gu({key:c},n.attr),Vp(n.child)))}function Yp(l){return n=>Yt.createElement(xS,Yu({attr:Gu({},l.attr)},n),Vp(l.child))}function xS(l){var n=c=>{var{attr:s,size:u,title:f}=l,d=vS(l,pS),y=u||c.size||"1em",v;return c.className&&(v=c.className),l.className&&(v=(v?v+" ":"")+l.className),Yt.createElement("svg",Yu({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},c.attr,s,d,{className:v,style:Gu(Gu({color:l.color||c.color},c.style),l.style),height:y,width:y,xmlns:"http://www.w3.org/2000/svg"}),f&&Yt.createElement("title",null,f),l.children)};return Cy!==void 0?Yt.createElement(Cy.Consumer,null,c=>n(c)):n(qp)}function _S(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024",fill:"currentColor",fillRule:"evenodd"},child:[{tag:"path",attr:{d:"M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.118.118 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.118.118 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.118.118 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926 224.297 857.629c-.04.041-.06.052-.083.059a.118.118 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.118.118 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512 166.371 224.297c-.041-.04-.052-.06-.059-.083a.118.118 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.118.118 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z"},child:[]}]})(l)}function RS(l){return Yp({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8Z"},child:[]},{tag:"path",attr:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8Z"},child:[]}]})(l)}const rr=l=>{const n=Ke.c(23),{title:c,children:s,startCollapsed:u,theme:f}=l,d=f===void 0?"":f,[y,v]=g.useState(!!u);let p;n[0]===Symbol.for("react.memo_cache_sentinel")?(p={color:"white",paddingBottom:"3px",marginTop:"3px",marginLeft:"3px",scale:"1.3"},n[0]=p):p=n[0];let b=p;if(d){let k;n[1]===Symbol.for("react.memo_cache_sentinel")?(k={...b,color:"black",fontWeight:"bold"},n[1]=k):k=n[1],b=k}const R=`collapsible-box${d} p-0`;let S;n[2]!==c?(S=h.jsx(ln,{children:h.jsx("h1",{className:"bold-caps-16pt dark-teal pt-3 ps-3",children:c})}),n[2]=c,n[3]=S):S=n[3];const _=`toggle-btn${d} p-${d?3:2}`;let O;n[4]!==y?(O=()=>v(!y),n[4]=y,n[5]=O):O=n[5];let H;n[6]!==y||n[7]!==b?(H=y?h.jsx(RS,{style:b}):h.jsx(_S,{style:b}),n[6]=y,n[7]=b,n[8]=H):H=n[8];let U;n[9]!==_||n[10]!==O||n[11]!==H?(U=h.jsx(ln,{className:"flex-grow-0 flex-shrink-1",children:h.jsx("div",{className:_,onClick:O,children:H})}),n[9]=_,n[10]=O,n[11]=H,n[12]=U):U=n[12];let M;n[13]!==S||n[14]!==U?(M=h.jsxs(Rn,{children:[S,U]}),n[13]=S,n[14]=U,n[15]=M):M=n[15];const q=`collapsible-content${y?" collapsed":""}`;let Y;n[16]!==s||n[17]!==q?(Y=h.jsx("div",{className:q,children:s}),n[16]=s,n[17]=q,n[18]=Y):Y=n[18];let J;return n[19]!==Y||n[20]!==R||n[21]!==M?(J=h.jsxs("div",{className:R,children:[M,Y]}),n[19]=Y,n[20]=R,n[21]=M,n[22]=J):J=n[22],J};function TS(l){const n=Ke.c(8),{section:c}=l;let s;n[0]===Symbol.for("react.memo_cache_sentinel")?(s={display:"flex",alignSelf:"right",lineHeight:"1.5rem",marginTop:"0.5rem"},n[0]=s):s=n[0];let u,f;n[1]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx("br",{}),f={float:"right"},n[1]=u,n[2]=f):(u=n[1],f=n[2]);let d;n[3]!==c?(d=h.jsx("div",{style:s,children:h.jsxs("span",{children:["Compendium ",u,h.jsx("span",{style:f,children:c})]})}),n[3]=c,n[4]=d):d=n[4];let y;n[5]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("img",{src:Up,style:{maxWidth:"4rem"},alt:"Compendium Data logo"}),n[5]=y):y=n[5];let v;return n[6]!==d?(v=h.jsxs("div",{className:"bold-caps-17pt section-container",children:[d,y]}),n[6]=d,n[7]=v):v=n[7],v}function NS(l){const n=Ke.c(14),{type:c}=l;let s="";c=="data"?s=" compendium-data-header":c=="reports"&&(s=" compendium-reports-header");let u;n[0]===Symbol.for("react.memo_cache_sentinel")?(u={marginTop:"0.5rem"},n[0]=u):u=n[0];const f=c==="data"?"/data":"/";let d;n[1]===Symbol.for("react.memo_cache_sentinel")?(d={textDecoration:"none",color:"white"},n[1]=d):d=n[1];const y=c==="data"?"Data":"Reports";let v;n[2]!==y?(v=h.jsxs("span",{children:["Compendium ",y]}),n[2]=y,n[3]=v):v=n[3];let p;n[4]!==f||n[5]!==v?(p=h.jsx(ln,{sm:8,children:h.jsx("h1",{className:"bold-caps-30pt",style:u,children:h.jsx(Tn,{to:f,style:d,children:v})})}),n[4]=f,n[5]=v,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b={color:"inherit"},n[7]=b):b=n[7];let R;n[8]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ln,{sm:4,children:h.jsx("a",{style:b,href:"https://resources.geant.org/geant-compendia/",target:"_blank",rel:"noreferrer",children:h.jsx(TS,{section:"Reports"})})}),n[8]=R):R=n[8];let S;n[9]!==p?(S=h.jsx(Ya,{children:h.jsxs(Rn,{children:[p,R]})}),n[9]=p,n[10]=S):S=n[10];let _;return n[11]!==s||n[12]!==S?(_=h.jsx("div",{className:s,children:S}),n[11]=s,n[12]=S,n[13]=_):_=n[13],_}function CS(l){const n=Ke.c(8),{children:c,type:s}=l;let u="";s=="data"?u=" compendium-data-banner":s=="reports"&&(u=" compendium-reports-banner");let f,d;n[0]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx("img",{src:Lp,style:{maxWidth:"7rem",marginBottom:"1rem"},alt:"Compendium Data logo"}),d={display:"flex",alignSelf:"right"},n[0]=f,n[1]=d):(f=n[0],d=n[1]);let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y={paddingTop:"1rem"},n[2]=y):y=n[2];let v;n[3]!==c?(v=h.jsx(Ya,{children:h.jsx(Rn,{children:h.jsx(Rn,{children:h.jsxs("div",{className:"section-container",children:[f,h.jsx("div",{style:d,children:h.jsx("div",{className:"center-text",style:y,children:c})})]})})})}),n[3]=c,n[4]=v):v=n[4];let p;return n[5]!==u||n[6]!==v?(p=h.jsx("div",{className:u,children:v}),n[5]=u,n[6]=v,n[7]=p):p=n[7],p}var li=(l=>(l.Organisation="ORGANISATION",l.Policy="STANDARDS AND POLICIES",l.ConnectedUsers="CONNECTED USERS",l.Network="NETWORK",l.Services="SERVICES",l))(li||{}),jS=(l=>(l.CSV="CSV",l.EXCEL="EXCEL",l))(jS||{}),OS=(l=>(l.PNG="png",l.JPEG="jpeg",l.SVG="svg",l))(OS||{});const V2={universities:"Universities & Other (ISCED 6-8)",further_education:"Further education (ISCED 4-5)",secondary_schools:"Secondary schools (ISCED 2-3)",primary_schools:"Primary schools (ISCED 1)",institutes:"Research Institutes",cultural:"Libraries, Museums, Archives, Cultural institutions",hospitals:"Non-university public Hospitals",government:"Government departments (national, regional, local)",iros:"International (virtual) research organisations",for_profit_orgs:"For-profit organisations"},Y2={commercial_r_and_e:"Commercial R&E traffic only",commercial_general:"Commercial general",commercial_collaboration:"Commercial for collaboration only (project/time limited)",commercial_service_provider:"Commercial Service Provider",university_spin_off:"University Spin Off/Incubator"},G2={collaboration:"Connection to your network for collaboration with R&E users",service_supplier:"Connection to your network for supplying services for R&E",direct_peering:"Direct peering (e.g. direct peering or cloud peering)"};function DS(){const l=Ke.c(7),{preview:n,setPreview:c}=g.useContext(Iy),{user:s}=g.useContext(Fo),[u]=lE();let f;l[0]!==u?(f=u.get("preview"),l[0]=u,l[1]=f):f=l[1];const d=f;let y,v;return l[2]!==d||l[3]!==c||l[4]!==s?(y=()=>{d!==null&&(s.permissions.admin||s.role=="observer")&&c(!0)},v=[d,c,s],l[2]=d,l[3]=c,l[4]=s,l[5]=y,l[6]=v):(y=l[5],v=l[6]),g.useEffect(y,v),n}function yr(l){const n=Ke.c(9),{to:c,children:s}=l,u=window.location.pathname===c,f=g.useRef(null);let d,y;n[0]!==u?(d=()=>{u&&f.current&&f.current.scrollIntoView({behavior:"smooth",block:"center"})},y=[u],n[0]=u,n[1]=d,n[2]=y):(d=n[1],y=n[2]),g.useEffect(d,y);let v;n[3]!==s||n[4]!==u?(v=u?h.jsx("b",{children:s}):s,n[3]=s,n[4]=u,n[5]=v):v=n[5];let p;return n[6]!==v||n[7]!==c?(p=h.jsx(Rn,{children:h.jsx(Tn,{to:c,className:"link-text-underline",ref:f,children:v})}),n[6]=v,n[7]=c,n[8]=p):p=n[8],p}const se={budget:"Budget of NRENs per Year",funding:"Income Source of NRENs",charging:"Charging Mechanism of NRENs","employee-count":"Number of NREN Employees",roles:"Roles of NREN employees (Technical v. Non-Technical)",employment:"Types of Employment within NRENs",suborganisations:"NREN Sub-Organisations",parentorganisation:"NREN Parent Organisations","ec-projects":"NREN Involvement in European Commission Projects",policy:"NREN Policies",audits:"External and Internal Audits of Information Security Management Systems","business-continuity":"NREN Business Continuity Planning","central-procurement":"Value of Software Procured for Customers by NRENs","crisis-management":"Crisis Management Procedures","crisis-exercise":"Crisis Exercises - NREN Operation and Participation",eosc_listings:"NREN Services Listed on the EOSC Portal","security-control":"Security Controls Used by NRENs","services-offered":"Services Offered by NRENs by Types of Users","corporate-strategy":"NREN Corporate Strategies","service-level-targets":"NRENs Offering Service Level Targets","service-management-framework":"NRENs Operating a Formal Service Management Framework","institutions-urls":"Webpages Listing Institutions and Organisations Connected to NREN Networks","connected-proportion":"Proportion of Different Categories of Institutions Served by NRENs","connectivity-level":"Level of IP Connectivity by Institution Type","connection-carrier":"Methods of Carrying IP Traffic to Users","connectivity-load":"Connectivity Load","connectivity-growth":"Connectivity Growth","remote-campuses":"NREN Connectivity to Remote Campuses in Other Countries","commercial-charging-level":"Commercial Charging Level","commercial-connectivity":"Commercial Connectivity","traffic-volume":"NREN Traffic - NREN Customers & External Networks","iru-duration":"Average Duration of IRU leases of Fibre by NRENs","fibre-light":"Approaches to lighting NREN fibre networks","dark-fibre-lease":"Kilometres of Leased Dark Fibre (National)","dark-fibre-lease-international":"Kilometres of Leased Dark Fibre (International)","dark-fibre-installed":"Kilometres of Installed Dark Fibre","network-map":"NREN Network Maps","monitoring-tools":"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions","pert-team":"NRENs with Performance Enhancement Response Teams","passive-monitoring":"Methods for Passively Monitoring International Traffic","traffic-stats":"Traffic Statistics","weather-map":"NREN Online Network Weather Maps","certificate-provider":"Certification Services used by NRENs","siem-vendors":"Vendors of SIEM/SOC systems used by NRENs","alien-wave":"NREN Use of 3rd Party Alienwave/Lightpath Services","alien-wave-internal":"Internal NREN Use of Alien Waves","capacity-largest-link":"Capacity of the Largest Link in an NREN Network","external-connections":"NREN External IP Connections","capacity-core-ip":"NREN Core IP Capacity","non-rne-peers":"Number of Non-R&E Networks NRENs Peer With","traffic-ratio":"Types of traffic in NREN networks (Commodity v. Research & Education)","ops-automation":"NREN Automation of Operational Processes","network-automation":"Network Tasks for which NRENs Use Automation",nfv:"Kinds of Network Function Virtualisation used by NRENs","network-services":"NREN Network services matrix","isp-support-services":"NREN ISP support services matrix","security-services":"NREN Security services matrix","identity-services":"NREN Identity services matrix","collaboration-services":"NREN Collaboration services matrix","multimedia-services":"NREN Multimedia services matrix","storage-and-hosting-services":"NREN Storage and hosting services matrix","professional-services":"NREN Professional services matrix"};function wS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Organisation"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Budget, Income and Billing"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se.budget}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/budget",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.funding}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/funding",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se.charging}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/charging",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O,H;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("hr",{className:"fake-divider"}),H=h.jsx("h6",{className:"section-title",children:"Staff and Projects"}),n[15]=O,n[16]=H):(O=n[15],H=n[16]);let U;n[17]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["employee-count"]}),n[17]=U):U=n[17];let M;n[18]!==u||n[19]!==f?(M=h.jsx(u,{to:"/employee-count",className:f,children:U}),n[18]=u,n[19]=f,n[20]=M):M=n[20];let q;n[21]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se.employment}),n[21]=q):q=n[21];let Y;n[22]!==u||n[23]!==f?(Y=h.jsx(u,{to:"/employment",className:f,children:q}),n[22]=u,n[23]=f,n[24]=Y):Y=n[24];let J;n[25]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se.roles}),n[25]=J):J=n[25];let k;n[26]!==u||n[27]!==f?(k=h.jsx(u,{to:"/roles",className:f,children:J}),n[26]=u,n[27]=f,n[28]=k):k=n[28];let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se.parentorganisation}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/parentorganisation",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se.suborganisations}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/suborganisations",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["ec-projects"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/ec-projects",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==M||n[42]!==Y||n[43]!==k||n[44]!==W||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,O,H,M,Y,k,W,X,de]}),n[41]=M,n[42]=Y,n[43]=k,n[44]=W,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function AS(l){const n=Ke.c(61),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Standards And Policies"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Policy & Portfolio"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["corporate-strategy"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/corporate-strategy",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se.policy}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/policy",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["central-procurement"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/central-procurement",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["service-management-framework"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/service-management-framework",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["service-level-targets"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/service-level-targets",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["services-offered"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/services-offered",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("h6",{className:"section-title",children:"Standards"}),n[27]=J):J=n[27];let k;n[28]===Symbol.for("react.memo_cache_sentinel")?(k=h.jsx("span",{children:se.audits}),n[28]=k):k=n[28];let N;n[29]!==u||n[30]!==f?(N=h.jsx(u,{to:"/audits",className:f,children:k}),n[29]=u,n[30]=f,n[31]=N):N=n[31];let W;n[32]===Symbol.for("react.memo_cache_sentinel")?(W=h.jsx("span",{children:se["business-continuity"]}),n[32]=W):W=n[32];let ie;n[33]!==u||n[34]!==f?(ie=h.jsx(u,{to:"/business-continuity",className:f,children:W}),n[33]=u,n[34]=f,n[35]=ie):ie=n[35];let X;n[36]===Symbol.for("react.memo_cache_sentinel")?(X=h.jsx("span",{children:se["crisis-management"]}),n[36]=X):X=n[36];let I;n[37]!==u||n[38]!==f?(I=h.jsx(u,{to:"/crisis-management",className:f,children:X}),n[37]=u,n[38]=f,n[39]=I):I=n[39];let de;n[40]===Symbol.for("react.memo_cache_sentinel")?(de=h.jsx("span",{children:se["crisis-exercise"]}),n[40]=de):de=n[40];let Ne;n[41]!==u||n[42]!==f?(Ne=h.jsx(u,{to:"/crisis-exercise",className:f,children:de}),n[41]=u,n[42]=f,n[43]=Ne):Ne=n[43];let Ye;n[44]===Symbol.for("react.memo_cache_sentinel")?(Ye=h.jsx("span",{children:se["security-control"]}),n[44]=Ye):Ye=n[44];let Be;n[45]!==u||n[46]!==f?(Be=h.jsx(u,{to:"/security-control",className:f,children:Ye}),n[45]=u,n[46]=f,n[47]=Be):Be=n[47];let ze;return n[48]!==H||n[49]!==M||n[50]!==Y||n[51]!==N||n[52]!==d||n[53]!==ie||n[54]!==I||n[55]!==Ne||n[56]!==Be||n[57]!==p||n[58]!==R||n[59]!==_?(ze=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,N,ie,I,Ne,Be]}),n[48]=H,n[49]=M,n[50]=Y,n[51]=N,n[52]=d,n[53]=ie,n[54]=I,n[55]=Ne,n[56]=Be,n[57]=p,n[58]=R,n[59]=_,n[60]=ze):ze=n[60],ze}function MS(l){const n=Ke.c(52),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Connected Users"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connected Users"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["institutions-urls"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/institutions-urls",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["connected-proportion"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/connected-proportion",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["connectivity-level"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/connectivity-level",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["connection-carrier"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/connection-carrier",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["connectivity-load"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/connectivity-load",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["connectivity-growth"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/connectivity-growth",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("span",{children:se["remote-campuses"]}),n[27]=J):J=n[27];let k;n[28]!==u||n[29]!==f?(k=h.jsx(u,{to:"/remote-campuses",className:f,children:J}),n[28]=u,n[29]=f,n[30]=k):k=n[30];let N,W;n[31]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("hr",{className:"fake-divider"}),W=h.jsx("h6",{className:"section-title",children:"Connected Users - Commercial"}),n[31]=N,n[32]=W):(N=n[31],W=n[32]);let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["commercial-charging-level"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/commercial-charging-level",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["commercial-connectivity"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/commercial-connectivity",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;return n[41]!==H||n[42]!==M||n[43]!==Y||n[44]!==k||n[45]!==d||n[46]!==X||n[47]!==de||n[48]!==p||n[49]!==R||n[50]!==_?(Ne=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,k,N,W,X,de]}),n[41]=H,n[42]=M,n[43]=Y,n[44]=k,n[45]=d,n[46]=X,n[47]=de,n[48]=p,n[49]=R,n[50]=_,n[51]=Ne):Ne=n[51],Ne}function zS(l){const n=Ke.c(133),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Network"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("h6",{className:"section-title",children:"Connectivity"}),n[2]=y):y=n[2];let v;n[3]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx("span",{children:se["dark-fibre-lease"]}),n[3]=v):v=n[3];let p;n[4]!==u||n[5]!==f?(p=h.jsx(u,{to:"/dark-fibre-lease",className:f,children:v}),n[4]=u,n[5]=f,n[6]=p):p=n[6];let b;n[7]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsx("span",{children:se["dark-fibre-lease-international"]}),n[7]=b):b=n[7];let R;n[8]!==u||n[9]!==f?(R=h.jsx(u,{to:"/dark-fibre-lease-international",className:f,children:b}),n[8]=u,n[9]=f,n[10]=R):R=n[10];let S;n[11]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:se["iru-duration"]}),n[11]=S):S=n[11];let _;n[12]!==u||n[13]!==f?(_=h.jsx(u,{to:"/iru-duration",className:f,children:S}),n[12]=u,n[13]=f,n[14]=_):_=n[14];let O;n[15]===Symbol.for("react.memo_cache_sentinel")?(O=h.jsx("span",{children:se["dark-fibre-installed"]}),n[15]=O):O=n[15];let H;n[16]!==u||n[17]!==f?(H=h.jsx(u,{to:"/dark-fibre-installed",className:f,children:O}),n[16]=u,n[17]=f,n[18]=H):H=n[18];let U;n[19]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx("span",{children:se["fibre-light"]}),n[19]=U):U=n[19];let M;n[20]!==u||n[21]!==f?(M=h.jsx(u,{to:"/fibre-light",className:f,children:U}),n[20]=u,n[21]=f,n[22]=M):M=n[22];let q;n[23]===Symbol.for("react.memo_cache_sentinel")?(q=h.jsx("span",{children:se["network-map"]}),n[23]=q):q=n[23];let Y;n[24]!==u||n[25]!==f?(Y=h.jsx(u,{to:"/network-map",className:f,children:q}),n[24]=u,n[25]=f,n[26]=Y):Y=n[26];let J,k;n[27]===Symbol.for("react.memo_cache_sentinel")?(J=h.jsx("hr",{className:"fake-divider"}),k=h.jsx("h6",{className:"section-title",children:"Performance Monitoring & Management"}),n[27]=J,n[28]=k):(J=n[27],k=n[28]);let N;n[29]===Symbol.for("react.memo_cache_sentinel")?(N=h.jsx("span",{children:se["monitoring-tools"]}),n[29]=N):N=n[29];let W;n[30]!==u||n[31]!==f?(W=h.jsx(u,{to:"/monitoring-tools",className:f,children:N}),n[30]=u,n[31]=f,n[32]=W):W=n[32];let ie;n[33]===Symbol.for("react.memo_cache_sentinel")?(ie=h.jsx("span",{children:se["passive-monitoring"]}),n[33]=ie):ie=n[33];let X;n[34]!==u||n[35]!==f?(X=h.jsx(u,{to:"/passive-monitoring",className:f,children:ie}),n[34]=u,n[35]=f,n[36]=X):X=n[36];let I;n[37]===Symbol.for("react.memo_cache_sentinel")?(I=h.jsx("span",{children:se["traffic-stats"]}),n[37]=I):I=n[37];let de;n[38]!==u||n[39]!==f?(de=h.jsx(u,{to:"/traffic-stats",className:f,children:I}),n[38]=u,n[39]=f,n[40]=de):de=n[40];let Ne;n[41]===Symbol.for("react.memo_cache_sentinel")?(Ne=h.jsx("span",{children:se["siem-vendors"]}),n[41]=Ne):Ne=n[41];let Ye;n[42]!==u||n[43]!==f?(Ye=h.jsx(u,{to:"/siem-vendors",className:f,children:Ne}),n[42]=u,n[43]=f,n[44]=Ye):Ye=n[44];let Be;n[45]===Symbol.for("react.memo_cache_sentinel")?(Be=h.jsx("span",{children:se["certificate-provider"]}),n[45]=Be):Be=n[45];let ze;n[46]!==u||n[47]!==f?(ze=h.jsx(u,{to:"/certificate-provider",className:f,children:Be}),n[46]=u,n[47]=f,n[48]=ze):ze=n[48];let K;n[49]===Symbol.for("react.memo_cache_sentinel")?(K=h.jsx("span",{children:se["weather-map"]}),n[49]=K):K=n[49];let ce;n[50]!==u||n[51]!==f?(ce=h.jsx(u,{to:"/weather-map",className:f,children:K}),n[50]=u,n[51]=f,n[52]=ce):ce=n[52];let ne;n[53]===Symbol.for("react.memo_cache_sentinel")?(ne=h.jsx("span",{children:se["pert-team"]}),n[53]=ne):ne=n[53];let Re;n[54]!==u||n[55]!==f?(Re=h.jsx(u,{to:"/pert-team",className:f,children:ne}),n[54]=u,n[55]=f,n[56]=Re):Re=n[56];let T,Q;n[57]===Symbol.for("react.memo_cache_sentinel")?(T=h.jsx("hr",{className:"fake-divider"}),Q=h.jsx("h6",{className:"section-title",children:"Alienwave"}),n[57]=T,n[58]=Q):(T=n[57],Q=n[58]);let le;n[59]===Symbol.for("react.memo_cache_sentinel")?(le=h.jsx("span",{children:se["alien-wave"]}),n[59]=le):le=n[59];let te;n[60]!==u||n[61]!==f?(te=h.jsx(u,{to:"/alien-wave",className:f,children:le}),n[60]=u,n[61]=f,n[62]=te):te=n[62];let P;n[63]===Symbol.for("react.memo_cache_sentinel")?(P=h.jsx("span",{children:se["alien-wave-internal"]}),n[63]=P):P=n[63];let ge;n[64]!==u||n[65]!==f?(ge=h.jsx(u,{to:"/alien-wave-internal",className:f,children:P}),n[64]=u,n[65]=f,n[66]=ge):ge=n[66];let ye,Je;n[67]===Symbol.for("react.memo_cache_sentinel")?(ye=h.jsx("hr",{className:"fake-divider"}),Je=h.jsx("h6",{className:"section-title",children:"Capacity"}),n[67]=ye,n[68]=Je):(ye=n[67],Je=n[68]);let Ce;n[69]===Symbol.for("react.memo_cache_sentinel")?(Ce=h.jsx("span",{children:se["capacity-largest-link"]}),n[69]=Ce):Ce=n[69];let Le;n[70]!==u||n[71]!==f?(Le=h.jsx(u,{to:"/capacity-largest-link",className:f,children:Ce}),n[70]=u,n[71]=f,n[72]=Le):Le=n[72];let Ee;n[73]===Symbol.for("react.memo_cache_sentinel")?(Ee=h.jsx("span",{children:se["capacity-core-ip"]}),n[73]=Ee):Ee=n[73];let Ze;n[74]!==u||n[75]!==f?(Ze=h.jsx(u,{to:"/capacity-core-ip",className:f,children:Ee}),n[74]=u,n[75]=f,n[76]=Ze):Ze=n[76];let vt;n[77]===Symbol.for("react.memo_cache_sentinel")?(vt=h.jsx("span",{children:se["external-connections"]}),n[77]=vt):vt=n[77];let it;n[78]!==u||n[79]!==f?(it=h.jsx(u,{to:"/external-connections",className:f,children:vt}),n[78]=u,n[79]=f,n[80]=it):it=n[80];let lt;n[81]===Symbol.for("react.memo_cache_sentinel")?(lt=h.jsx("span",{children:se["non-rne-peers"]}),n[81]=lt):lt=n[81];let De;n[82]!==u||n[83]!==f?(De=h.jsx(u,{to:"/non-rne-peers",className:f,children:lt}),n[82]=u,n[83]=f,n[84]=De):De=n[84];let Rt;n[85]===Symbol.for("react.memo_cache_sentinel")?(Rt=h.jsx("span",{children:se["traffic-volume"]}),n[85]=Rt):Rt=n[85];let St;n[86]!==u||n[87]!==f?(St=h.jsx(u,{to:"/traffic-volume",className:f,children:Rt}),n[86]=u,n[87]=f,n[88]=St):St=n[88];let Pt;n[89]===Symbol.for("react.memo_cache_sentinel")?(Pt=h.jsx("span",{children:se["traffic-ratio"]}),n[89]=Pt):Pt=n[89];let Zt;n[90]!==u||n[91]!==f?(Zt=h.jsx(u,{to:"/traffic-ratio",className:f,children:Pt}),n[90]=u,n[91]=f,n[92]=Zt):Zt=n[92];let un,cn;n[93]===Symbol.for("react.memo_cache_sentinel")?(un=h.jsx("hr",{className:"fake-divider"}),cn=h.jsx("h6",{className:"section-title",children:"Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)"}),n[93]=un,n[94]=cn):(un=n[93],cn=n[94]);let Ut;n[95]===Symbol.for("react.memo_cache_sentinel")?(Ut=h.jsx("span",{children:se["ops-automation"]}),n[95]=Ut):Ut=n[95];let Ht;n[96]!==u||n[97]!==f?(Ht=h.jsx(u,{to:"/ops-automation",className:f,children:Ut}),n[96]=u,n[97]=f,n[98]=Ht):Ht=n[98];let mt;n[99]===Symbol.for("react.memo_cache_sentinel")?(mt=h.jsx("span",{children:se.nfv}),n[99]=mt):mt=n[99];let Kt;n[100]!==u||n[101]!==f?(Kt=h.jsx(u,{to:"/nfv",className:f,children:mt}),n[100]=u,n[101]=f,n[102]=Kt):Kt=n[102];let _e;n[103]===Symbol.for("react.memo_cache_sentinel")?(_e=h.jsx("span",{children:se["network-automation"]}),n[103]=_e):_e=n[103];let Ie;n[104]!==u||n[105]!==f?(Ie=h.jsx(u,{to:"/network-automation",className:f,children:_e}),n[104]=u,n[105]=f,n[106]=Ie):Ie=n[106];let Gt;return n[107]!==H||n[108]!==M||n[109]!==Y||n[110]!==W||n[111]!==d||n[112]!==X||n[113]!==de||n[114]!==Ye||n[115]!==ze||n[116]!==ce||n[117]!==Re||n[118]!==te||n[119]!==ge||n[120]!==Le||n[121]!==Ze||n[122]!==it||n[123]!==De||n[124]!==St||n[125]!==p||n[126]!==Zt||n[127]!==Ht||n[128]!==Kt||n[129]!==Ie||n[130]!==R||n[131]!==_?(Gt=h.jsxs(h.Fragment,{children:[d,y,p,R,_,H,M,Y,J,k,W,X,de,Ye,ze,ce,Re,T,Q,te,ge,ye,Je,Le,Ze,it,De,St,Zt,un,cn,Ht,Kt,Ie]}),n[107]=H,n[108]=M,n[109]=Y,n[110]=W,n[111]=d,n[112]=X,n[113]=de,n[114]=Ye,n[115]=ze,n[116]=ce,n[117]=Re,n[118]=te,n[119]=ge,n[120]=Le,n[121]=Ze,n[122]=it,n[123]=De,n[124]=St,n[125]=p,n[126]=Zt,n[127]=Ht,n[128]=Kt,n[129]=Ie,n[130]=R,n[131]=_,n[132]=Gt):Gt=n[132],Gt}function LS(l){const n=Ke.c(44),{sidebar:c}=l,s=c===void 0?!1:c,u=s?yr:Tn,f=s?"":"link-text-underline";let d;n[0]!==s?(d=s&&h.jsx("h5",{children:"Services"}),n[0]=s,n[1]=d):d=n[1];let y;n[2]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx("span",{children:se["network-services"]}),n[2]=y):y=n[2];let v;n[3]!==u||n[4]!==f?(v=h.jsx(u,{to:"/network-services",className:f,children:y}),n[3]=u,n[4]=f,n[5]=v):v=n[5];let p;n[6]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx("span",{children:se["isp-support-services"]}),n[6]=p):p=n[6];let b;n[7]!==u||n[8]!==f?(b=h.jsx(u,{to:"/isp-support-services",className:f,children:p}),n[7]=u,n[8]=f,n[9]=b):b=n[9];let R;n[10]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx("span",{children:se["security-services"]}),n[10]=R):R=n[10];let S;n[11]!==u||n[12]!==f?(S=h.jsx(u,{to:"/security-services",className:f,children:R}),n[11]=u,n[12]=f,n[13]=S):S=n[13];let _;n[14]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsx("span",{children:se["identity-services"]}),n[14]=_):_=n[14];let O;n[15]!==u||n[16]!==f?(O=h.jsx(u,{to:"/identity-services",className:f,children:_}),n[15]=u,n[16]=f,n[17]=O):O=n[17];let H;n[18]===Symbol.for("react.memo_cache_sentinel")?(H=h.jsx("span",{children:se["storage-and-hosting-services"]}),n[18]=H):H=n[18];let U;n[19]!==u||n[20]!==f?(U=h.jsx(u,{to:"/storage-and-hosting-services",className:f,children:H}),n[19]=u,n[20]=f,n[21]=U):U=n[21];let M;n[22]===Symbol.for("react.memo_cache_sentinel")?(M=h.jsx("span",{children:se["multimedia-services"]}),n[22]=M):M=n[22];let q;n[23]!==u||n[24]!==f?(q=h.jsx(u,{to:"/multimedia-services",className:f,children:M}),n[23]=u,n[24]=f,n[25]=q):q=n[25];let Y;n[26]===Symbol.for("react.memo_cache_sentinel")?(Y=h.jsx("span",{children:se["collaboration-services"]}),n[26]=Y):Y=n[26];let J;n[27]!==u||n[28]!==f?(J=h.jsx(u,{to:"/collaboration-services",className:f,children:Y}),n[27]=u,n[28]=f,n[29]=J):J=n[29];let k;n[30]===Symbol.for("react.memo_cache_sentinel")?(k=h.jsx("span",{children:se["professional-services"]}),n[30]=k):k=n[30];let N;n[31]!==u||n[32]!==f?(N=h.jsx(u,{to:"/professional-services",className:f,children:k}),n[31]=u,n[32]=f,n[33]=N):N=n[33];let W;return n[34]!==O||n[35]!==U||n[36]!==q||n[37]!==J||n[38]!==N||n[39]!==d||n[40]!==v||n[41]!==b||n[42]!==S?(W=h.jsxs(h.Fragment,{children:[d,v,b,S,O,U,q,J,N]}),n[34]=O,n[35]=U,n[36]=q,n[37]=J,n[38]=N,n[39]=d,n[40]=v,n[41]=b,n[42]=S,n[43]=W):W=n[43],W}function US(){const l=Ke.c(10);DS();const{trackPageView:n}=Hp();let c,s;l[0]!==n?(c=()=>{n({documentTitle:"Compendium Data"})},s=[n],l[0]=n,l[1]=c,l[2]=s):(c=l[1],s=l[2]),Yt.useEffect(c,s);let u;l[3]===Symbol.for("react.memo_cache_sentinel")?(u=h.jsx(NS,{type:"data"}),l[3]=u):u=l[3];let f;l[4]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(CS,{type:"data",children:h.jsx("p",{className:"wordwrap",children:"The GÉANT Compendium provides an authoritative reference source for anyone with an interest in the development of research and education networking in Europe and beyond. Published since 2001, the Compendium provides information on key areas such as users, services, traffic, budget and staffing."})}),l[4]=f):f=l[4];let d;l[5]===Symbol.for("react.memo_cache_sentinel")?(d=h.jsx(rr,{title:li.Organisation,children:h.jsx(wS,{})}),l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(rr,{title:li.Policy,startCollapsed:!0,children:h.jsx(AS,{})}),l[6]=y):y=l[6];let v;l[7]===Symbol.for("react.memo_cache_sentinel")?(v=h.jsx(rr,{title:li.ConnectedUsers,startCollapsed:!0,children:h.jsx(MS,{})}),l[7]=v):v=l[7];let p;l[8]===Symbol.for("react.memo_cache_sentinel")?(p=h.jsx(rr,{title:li.Network,startCollapsed:!0,children:h.jsx(zS,{})}),l[8]=p):p=l[8];let b;return l[9]===Symbol.for("react.memo_cache_sentinel")?(b=h.jsxs(h.Fragment,{children:[u,f,h.jsx(Ya,{className:"mt-5 mb-5",children:h.jsxs(Rn,{children:[d,y,v,p,h.jsx(rr,{title:li.Services,startCollapsed:!0,children:h.jsx(LS,{})})]})})]}),l[9]=b):b=l[9],b}const HS=()=>{const l=Ke.c(26),{consent:n,setConsent:c}=g.useContext(Jo),[s,u]=g.useState(n===null);let f;l[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{u(!1),window.location.reload()},l[0]=f):f=l[0];const d=f,[y,v]=g.useState(!0);let p;l[1]!==c?(p=N=>{const W=new Date;W.setDate(W.getDate()+30),localStorage.setItem("matomo_consent",JSON.stringify({consent:N,expiry:W})),c(N)},l[1]=c,l[2]=p):p=l[2];const b=p;let R;l[3]===Symbol.for("react.memo_cache_sentinel")?(R=h.jsx(ir.Header,{closeButton:!0,children:h.jsx(ir.Title,{children:"Privacy on this site"})}),l[3]=R):R=l[3];let S;l[4]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("a",{href:"https://geant.org/Privacy-Notice/",children:"Privacy Policy"}),l[4]=S):S=l[4];let _;l[5]===Symbol.for("react.memo_cache_sentinel")?(_=h.jsxs("p",{children:["On our site we use Matomo to collect and process data about your visit to better understand how it is used. For more information, see our ",S,".",h.jsx("br",{}),"Below, you can choose to accept or decline to have this data collected."]}),l[5]=_):_=l[5];let O;l[6]!==y?(O=()=>v(!y),l[6]=y,l[7]=O):O=l[7];let H;l[8]!==y||l[9]!==O?(H=h.jsx(Du.Check,{type:"checkbox",label:"Analytics",checked:y,onChange:O}),l[8]=y,l[9]=O,l[10]=H):H=l[10];let U;l[11]===Symbol.for("react.memo_cache_sentinel")?(U=h.jsx(Du.Text,{className:"text-muted",children:"We collect information about your visit on the compendium site — this helps us understand how the site is used, and how we can improve it."}),l[11]=U):U=l[11];let M;l[12]!==H?(M=h.jsxs(ir.Body,{children:[_,h.jsx(Du,{children:h.jsxs(Du.Group,{className:"mb-3",children:[H,U]})})]}),l[12]=H,l[13]=M):M=l[13];let q;l[14]!==b?(q=h.jsx(Bo,{variant:"secondary",onClick:()=>{b(!1),d()},children:"Decline all"}),l[14]=b,l[15]=q):q=l[15];let Y;l[16]!==y||l[17]!==b?(Y=h.jsx(Bo,{variant:"primary",onClick:()=>{b(y),d()},children:"Save consent for 30 days"}),l[16]=y,l[17]=b,l[18]=Y):Y=l[18];let J;l[19]!==Y||l[20]!==q?(J=h.jsxs(ir.Footer,{children:[q,Y]}),l[19]=Y,l[20]=q,l[21]=J):J=l[21];let k;return l[22]!==s||l[23]!==J||l[24]!==M?(k=h.jsxs(ir,{show:s,centered:!0,children:[R,M,J]}),l[22]=s,l[23]=J,l[24]=M,l[25]=k):k=l[25],k},BS=g.lazy(()=>be(()=>import("./Budget-BVbbdsI6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),qS=g.lazy(()=>be(()=>import("./ChargingStructure-D6vHlJZ3.js"),__vite__mapDeps([8,2,3,4,5,6,9,10,11]))),VS=g.lazy(()=>be(()=>import("./ECProjects-CT3RTMct.js"),__vite__mapDeps([12,2,3,4,5,6,13,11]))),YS=g.lazy(()=>be(()=>import("./FundingSource-C4jAa4nC.js"),__vite__mapDeps([14,1,2,3,4,5,6,15]))),GS=g.lazy(()=>be(()=>import("./ParentOrganisation-BqnVV9Ka.js"),__vite__mapDeps([16,2,3,4,5,6,13,11]))),Oy=g.lazy(()=>be(()=>import("./StaffGraph-DXD4Tgbx.js"),__vite__mapDeps([17,1,2,3,4,5,6,18]))),kS=g.lazy(()=>be(()=>import("./StaffGraphAbsolute-A86Vah2E.js"),__vite__mapDeps([19,1,2,3,4,5,6,15,7]))),XS=g.lazy(()=>be(()=>import("./SubOrganisation-ldENjIwX.js"),__vite__mapDeps([20,2,3,4,5,6,13,11]))),QS=g.lazy(()=>be(()=>import("./Audits-BldRnziS.js"),__vite__mapDeps([21,2,3,4,5,6,9,10,11]))),ZS=g.lazy(()=>be(()=>import("./BusinessContinuity-CLtH4Vxm.js"),__vite__mapDeps([22,2,3,4,5,6,9,10,11]))),KS=g.lazy(()=>be(()=>import("./CentralProcurement-ufKA5cDY.js"),__vite__mapDeps([23,2,3,4,5,6,15,1,7]))),$S=g.lazy(()=>be(()=>import("./CorporateStrategy-CQ2aByV3.js"),__vite__mapDeps([24,2,3,4,5,6,13,11]))),FS=g.lazy(()=>be(()=>import("./CrisisExercises-Bw4pZ1iW.js"),__vite__mapDeps([25,2,3,4,5,6,9,10,11]))),JS=g.lazy(()=>be(()=>import("./CrisisManagement-TH7W12RY.js"),__vite__mapDeps([26,2,3,4,5,6,9,10,11]))),PS=g.lazy(()=>be(()=>import("./EOSCListings-v4hLpISP.js"),__vite__mapDeps([27,2,3,4,5,6,13,11]))),WS=g.lazy(()=>be(()=>import("./Policy-DTXx03Vh.js"),__vite__mapDeps([28,2,3,4,5,6,13,11]))),IS=g.lazy(()=>be(()=>import("./SecurityControls-TM-ptOes.js"),__vite__mapDeps([29,2,3,4,5,6,9,10,11]))),e2=g.lazy(()=>be(()=>import("./ServiceLevelTargets-DMHnzoF5.js"),__vite__mapDeps([30,2,3,4,5,6,9,10,11]))),t2=g.lazy(()=>be(()=>import("./ServiceManagementFramework-D-rGA4sI.js"),__vite__mapDeps([31,2,3,4,5,6,9,10,11]))),n2=g.lazy(()=>be(()=>import("./ServicesOffered-BQGRxlwg.js"),__vite__mapDeps([32,2,3,4,5,6,33,11]))),a2=g.lazy(()=>be(()=>import("./ConnectedInstitutionsURLs-gUMBROcH.js"),__vite__mapDeps([34,2,3,4,5,6,13,11]))),dl=g.lazy(()=>be(()=>import("./ConnectedUser-C39phNBn.js"),__vite__mapDeps([35,2,3,4,5,6,33,11]))),l2=g.lazy(()=>be(()=>import("./RemoteCampuses-DiA5hlnD.js"),__vite__mapDeps([36,2,3,4,5,6,11]))),i2=g.lazy(()=>be(()=>import("./AlienWave-DhaC80F-.js"),__vite__mapDeps([37,2,3,4,5,6,9,10,11]))),r2=g.lazy(()=>be(()=>import("./AlienWaveInternal-CeuaDpIY.js"),__vite__mapDeps([38,2,3,4,5,6,9,10,11]))),u2=g.lazy(()=>be(()=>import("./Automation-BAaw7w82.js"),__vite__mapDeps([39,2,3,4,5,6,10,11]))),c2=g.lazy(()=>be(()=>import("./CapacityCoreIP-CjzYJH11.js"),__vite__mapDeps([40,1,2,3,4,5,6,15,7]))),s2=g.lazy(()=>be(()=>import("./CapacityLargestLink-CCiZ1Jtj.js"),__vite__mapDeps([41,1,2,3,4,5,6,15,7]))),o2=g.lazy(()=>be(()=>import("./CertificateProvider-S4Idgrmz.js"),__vite__mapDeps([42,2,3,4,5,6,9,10,11]))),Dy=g.lazy(()=>be(()=>import("./DarkFibreLease-C_DLt-sT.js"),__vite__mapDeps([43,1,2,3,4,5,6,7]))),f2=g.lazy(()=>be(()=>import("./DarkFibreInstalled-XMYWXP4t.js"),__vite__mapDeps([44,1,2,3,4,5,6,7]))),d2=g.lazy(()=>be(()=>import("./ExternalConnections-Ds1slbkO.js"),__vite__mapDeps([45,2,3,4,5,6,11]))),h2=g.lazy(()=>be(()=>import("./FibreLight-C4tQtRYN.js"),__vite__mapDeps([46,2,3,4,5,6,9,10,11]))),m2=g.lazy(()=>be(()=>import("./IRUDuration-C1dUeB3y.js"),__vite__mapDeps([47,1,2,3,4,5,6,7]))),y2=g.lazy(()=>be(()=>import("./MonitoringTools-BrAyjiGW.js"),__vite__mapDeps([48,2,3,4,5,6,9,10,11]))),p2=g.lazy(()=>be(()=>import("./NetworkFunctionVirtualisation-BSD5a3W2.js"),__vite__mapDeps([49,2,3,4,5,6,10,11]))),v2=g.lazy(()=>be(()=>import("./NetworkMapUrls-iZSn2qqQ.js"),__vite__mapDeps([50,2,3,4,5,6,13,11]))),g2=g.lazy(()=>be(()=>import("./NonRAndEPeer-Cn_ozVAu.js"),__vite__mapDeps([51,1,2,3,4,5,6,15,7]))),E2=g.lazy(()=>be(()=>import("./OPsAutomation-Bc59w9gr.js"),__vite__mapDeps([52,2,3,4,5,6,9,10,11]))),b2=g.lazy(()=>be(()=>import("./PassiveMonitoring-NXmN_EjG.js"),__vite__mapDeps([53,2,3,4,5,6,9,10,11]))),S2=g.lazy(()=>be(()=>import("./PertTeam-64HTdccQ.js"),__vite__mapDeps([54,2,3,4,5,6,9,10,11]))),x2=g.lazy(()=>be(()=>import("./SiemVendors-Ba9ZMN9z.js"),__vite__mapDeps([55,2,3,4,5,6,9,10,11]))),_2=g.lazy(()=>be(()=>import("./TrafficRatio-p8ISc0n1.js"),__vite__mapDeps([56,1,2,3,4,5,6,18]))),R2=g.lazy(()=>be(()=>import("./TrafficUrl-Cupk7MWX.js"),__vite__mapDeps([57,2,3,4,5,6,13,11]))),T2=g.lazy(()=>be(()=>import("./TrafficVolume-C0Yprx37.js"),__vite__mapDeps([58,1,2,3,4,5,6,7]))),N2=g.lazy(()=>be(()=>import("./WeatherMap-DPu2PGnk.js"),__vite__mapDeps([59,2,3,4,5,6,13,11]))),Ua=g.lazy(()=>be(()=>import("./Services-5TAXBWqD.js"),__vite__mapDeps([60,2,3,4,5,6,11]))),C2=g.lazy(()=>be(()=>import("./Landing-B1Sq71Lu.js"),__vite__mapDeps([61,62,63,3,4,11]))),No=g.lazy(()=>be(()=>import("./SurveyContainerComponent-BmuW9EVe.js"),__vite__mapDeps([64,65,66,67,63,3,68]))),j2=g.lazy(()=>be(()=>import("./SurveyManagementComponent-BvOZUwZZ.js"),__vite__mapDeps([69,70,6,11,65,67,62,63,3]))),O2=g.lazy(()=>be(()=>import("./UserManagementComponent-BsFczL9E.js"),__vite__mapDeps([71,65,63,3,5,70,6,11]))),D2=()=>{const l=Ke.c(9),{pathname:n}=Xn(),c=n!=="/";let s;l[0]===Symbol.for("react.memo_cache_sentinel")?(s=h.jsx(oS,{}),l[0]=s):s=l[0];let u;l[1]!==c?(u=h.jsx("main",{className:"grow",children:c?h.jsx(T0,{}):h.jsx(Bp,{})}),l[1]=c,l[2]=u):u=l[2];let f;l[3]===Symbol.for("react.memo_cache_sentinel")?(f=h.jsx(HS,{}),l[3]=f):f=l[3];let d;l[4]!==u?(d=h.jsxs(wE,{children:[s,u,f]}),l[4]=u,l[5]=d):d=l[5];let y;l[6]===Symbol.for("react.memo_cache_sentinel")?(y=h.jsx(hS,{}),l[6]=y):y=l[6];let v;return l[7]!==d?(v=h.jsxs(h.Fragment,{children:[d,y]}),l[7]=d,l[8]=v):v=l[8],v},w2=P0([{path:"",element:h.jsx(D2,{}),children:[{path:"/budget",element:h.jsx(BS,{})},{path:"/funding",element:h.jsx(YS,{})},{path:"/employment",element:h.jsx(Oy,{},"staffgraph")},{path:"/traffic-ratio",element:h.jsx(_2,{})},{path:"/roles",element:h.jsx(Oy,{roles:!0},"staffgraphroles")},{path:"/employee-count",element:h.jsx(kS,{})},{path:"/charging",element:h.jsx(qS,{})},{path:"/suborganisations",element:h.jsx(XS,{})},{path:"/parentorganisation",element:h.jsx(GS,{})},{path:"/ec-projects",element:h.jsx(VS,{})},{path:"/policy",element:h.jsx(WS,{})},{path:"/traffic-volume",element:h.jsx(T2,{})},{path:"/data",element:h.jsx(US,{})},{path:"/institutions-urls",element:h.jsx(a2,{})},{path:"/connected-proportion",element:h.jsx(dl,{page:Qt.ConnectedProportion},Qt.ConnectedProportion)},{path:"/connectivity-level",element:h.jsx(dl,{page:Qt.ConnectivityLevel},Qt.ConnectivityLevel)},{path:"/connectivity-growth",element:h.jsx(dl,{page:Qt.ConnectivityGrowth},Qt.ConnectivityGrowth)},{path:"/connection-carrier",element:h.jsx(dl,{page:Qt.ConnectionCarrier},Qt.ConnectionCarrier)},{path:"/connectivity-load",element:h.jsx(dl,{page:Qt.ConnectivityLoad},Qt.ConnectivityLoad)},{path:"/commercial-charging-level",element:h.jsx(dl,{page:Qt.CommercialChargingLevel},Qt.CommercialChargingLevel)},{path:"/commercial-connectivity",element:h.jsx(dl,{page:Qt.CommercialConnectivity},Qt.CommercialConnectivity)},{path:"/network-services",element:h.jsx(Ua,{category:Lt.network_services},Lt.network_services)},{path:"/isp-support-services",element:h.jsx(Ua,{category:Lt.isp_support},Lt.isp_support)},{path:"/security-services",element:h.jsx(Ua,{category:Lt.security},Lt.security)},{path:"/identity-services",element:h.jsx(Ua,{category:Lt.identity},Lt.identity)},{path:"/collaboration-services",element:h.jsx(Ua,{category:Lt.collaboration},Lt.collaboration)},{path:"/multimedia-services",element:h.jsx(Ua,{category:Lt.multimedia},Lt.multimedia)},{path:"/storage-and-hosting-services",element:h.jsx(Ua,{category:Lt.storage_and_hosting},Lt.storage_and_hosting)},{path:"/professional-services",element:h.jsx(Ua,{category:Lt.professional_services},Lt.professional_services)},{path:"/dark-fibre-lease",element:h.jsx(Dy,{national:!0},"darkfibrenational")},{path:"/dark-fibre-lease-international",element:h.jsx(Dy,{},"darkfibreinternational")},{path:"/dark-fibre-installed",element:h.jsx(f2,{})},{path:"/remote-campuses",element:h.jsx(l2,{})},{path:"/eosc-listings",element:h.jsx(PS,{})},{path:"/fibre-light",element:h.jsx(h2,{})},{path:"/monitoring-tools",element:h.jsx(y2,{})},{path:"/pert-team",element:h.jsx(S2,{})},{path:"/passive-monitoring",element:h.jsx(b2,{})},{path:"/alien-wave",element:h.jsx(i2,{})},{path:"/alien-wave-internal",element:h.jsx(r2,{})},{path:"/external-connections",element:h.jsx(d2,{})},{path:"/ops-automation",element:h.jsx(E2,{})},{path:"/network-automation",element:h.jsx(u2,{})},{path:"/traffic-stats",element:h.jsx(R2,{})},{path:"/weather-map",element:h.jsx(N2,{})},{path:"/network-map",element:h.jsx(v2,{})},{path:"/nfv",element:h.jsx(p2,{})},{path:"/certificate-providers",element:h.jsx(o2,{})},{path:"/siem-vendors",element:h.jsx(x2,{})},{path:"/capacity-largest-link",element:h.jsx(s2,{})},{path:"/capacity-core-ip",element:h.jsx(c2,{})},{path:"/non-rne-peers",element:h.jsx(g2,{})},{path:"/iru-duration",element:h.jsx(m2,{})},{path:"/audits",element:h.jsx(QS,{})},{path:"/business-continuity",element:h.jsx(ZS,{})},{path:"/crisis-management",element:h.jsx(JS,{})},{path:"/crisis-exercise",element:h.jsx(FS,{})},{path:"/central-procurement",element:h.jsx(KS,{})},{path:"/security-control",element:h.jsx(IS,{})},{path:"/services-offered",element:h.jsx(n2,{})},{path:"/service-management-framework",element:h.jsx(t2,{})},{path:"/service-level-targets",element:h.jsx(e2,{})},{path:"/corporate-strategy",element:h.jsx($S,{})},{path:"/survey/admin/surveys",element:h.jsx(j2,{})},{path:"/survey/admin/users",element:h.jsx(O2,{})},{path:"/survey/admin/inspect/:year",element:h.jsx(No,{loadFrom:"/api/response/inspect/"})},{path:"/survey/admin/try/:year",element:h.jsx(No,{loadFrom:"/api/response/try/"})},{path:"/survey/response/:year/:nren",element:h.jsx(No,{loadFrom:"/api/response/load/"})},{path:"/survey/*",element:h.jsx(C2,{})},{path:"*",element:h.jsx(Bp,{})}]}]);function A2(){const l=Ke.c(1);let n;return l[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("div",{className:"app",children:h.jsx(oE,{router:w2})}),l[0]=n):n=l[0],n}const M2=document.getElementById("root"),z2=a1.createRoot(M2);z2.render(h.jsx(Yt.StrictMode,{children:h.jsx(A2,{})}));export{Yp as $,Ho as A,pb as B,ln as C,Xy as D,Ya as E,yE as F,MS as G,LS as H,jS as I,vE as J,OS as K,Tn as L,Iy as M,zS as N,wS as O,AS as P,Hp as Q,Rn as R,li as S,NS as T,V2 as U,SE as V,Du as W,DS as X,_S as Y,RS as Z,zE as _,Qt as a,Lt as a0,Fo as a1,yr as a2,ku as a3,wy as a4,B2 as a5,H2 as a6,be as a7,rb as a8,nb as a9,$u as aa,gl as ab,hl as ac,Mo as ad,Ba as ae,yl as af,ab as ag,U2 as ah,nf as ai,OE as aj,Y2 as b,Ke as c,G2 as d,rr as e,Yt as f,up as g,Qe as h,Ae as i,h as j,sb as k,by as l,Bu as m,Ob as n,Ku as o,tf as p,ob as q,g as r,ti as s,se as t,pl as u,lp as v,q2 as w,rp as x,Bo as y,BE as z}; diff --git a/compendium_v2/static/lodash-UnagJnTM.js b/compendium_v2/static/lodash-CeHp3pZo.js similarity index 87% rename from compendium_v2/static/lodash-UnagJnTM.js rename to compendium_v2/static/lodash-CeHp3pZo.js index 57d1a010a09fce81077b1fcedbc3b54a11ce0c50..305492d8a25f2468d89576c85205723ca9f33d80 100644 --- a/compendium_v2/static/lodash-UnagJnTM.js +++ b/compendium_v2/static/lodash-CeHp3pZo.js @@ -1,13 +1,13 @@ -import{f as vo,r as X,j as On,a1 as A_,a2 as y_,a3 as m_,i as Et,a4 as xo,a5 as E_,a6 as R_,a7 as I_,a8 as C_,a9 as S_,h as $t,aa as cr}from"./index.js";import{u as T_}from"./hook-GVc5uk5F.js";function he(...W){return W.filter(I=>I!=null).reduce((I,o)=>{if(typeof o!="function")throw new Error("Invalid Argument Type, must only provide functions, undefined, or null.");return I===null?o:function(...U){I.apply(this,U),o.apply(this,U)}},null)}const L_={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]};function O_(W,I){const o=`offset${W[0].toUpperCase()}${W.slice(1)}`,$=I[o],U=L_[W];return $+parseInt(xo(I,U[0]),10)+parseInt(xo(I,U[1]),10)}const W_={[E_]:"collapse",[R_]:"collapsing",[I_]:"collapsing",[C_]:"collapse show"},B_=vo.forwardRef(({onEnter:W,onEntering:I,onEntered:o,onExit:$,onExiting:U,className:k,children:L,dimension:nn="height",in:rn=!1,timeout:ht=300,mountOnEnter:Wn=!1,unmountOnExit:an=!1,appear:_e=!1,getDimensionValue:Kn=O_,...zn},Rt)=>{const N=typeof nn=="function"?nn():nn,et=X.useMemo(()=>he(J=>{J.style[N]="0"},W),[N,W]),de=X.useMemo(()=>he(J=>{const _n=`scroll${N[0].toUpperCase()}${N.slice(1)}`;J.style[N]=`${J[_n]}px`},I),[N,I]),Bn=X.useMemo(()=>he(J=>{J.style[N]=null},o),[N,o]),gt=X.useMemo(()=>he(J=>{J.style[N]=`${Kn(N,J)}px`,S_(J)},$),[$,Kn,N]),Mn=X.useMemo(()=>he(J=>{J.style[N]=null},U),[N,U]);return On.jsx(A_,{ref:Rt,addEndListener:y_,...zn,"aria-expanded":zn.role?rn:null,onEnter:et,onEntering:de,onEntered:Bn,onExit:gt,onExiting:Mn,childRef:m_(L),in:rn,timeout:ht,mountOnEnter:Wn,unmountOnExit:an,appear:_e,children:(J,_n)=>vo.cloneElement(L,{..._n,className:Et(k,L.props.className,W_[J],N==="width"&&"collapse-horizontal")})})});function Ao(W,I){return Array.isArray(W)?W.includes(I):W===I}const pe=X.createContext({});pe.displayName="AccordionContext";const Pi=X.forwardRef(({as:W="div",bsPrefix:I,className:o,children:$,eventKey:U,...k},L)=>{const{activeEventKey:nn}=X.useContext(pe);return I=$t(I,"accordion-collapse"),On.jsx(B_,{ref:L,in:Ao(nn,U),...k,className:Et(o,I),children:On.jsx(W,{children:X.Children.only($)})})});Pi.displayName="AccordionCollapse";const hr=X.createContext({eventKey:""});hr.displayName="AccordionItemContext";const yo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,...ht},Wn)=>{I=$t(I,"accordion-body");const{eventKey:an}=X.useContext(hr);return On.jsx(Pi,{eventKey:an,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,children:On.jsx(W,{ref:Wn,...ht,className:Et(o,I)})})});yo.displayName="AccordionBody";function M_(W,I){const{activeEventKey:o,onSelect:$,alwaysOpen:U}=X.useContext(pe);return k=>{let L=W===o?null:W;U&&(Array.isArray(o)?o.includes(W)?L=o.filter(nn=>nn!==W):L=[...o,W]:L=[W]),$==null||$(L,k),I==null||I(k)}}const bi=X.forwardRef(({as:W="button",bsPrefix:I,className:o,onClick:$,...U},k)=>{I=$t(I,"accordion-button");const{eventKey:L}=X.useContext(hr),nn=M_(L,$),{activeEventKey:rn}=X.useContext(pe);return W==="button"&&(U.type="button"),On.jsx(W,{ref:k,onClick:nn,...U,"aria-expanded":Array.isArray(rn)?rn.includes(L):L===rn,className:Et(o,I,!Ao(rn,L)&&"collapsed")})});bi.displayName="AccordionButton";const mo=X.forwardRef(({as:W="h2","aria-controls":I,bsPrefix:o,className:$,children:U,onClick:k,...L},nn)=>(o=$t(o,"accordion-header"),On.jsx(W,{ref:nn,...L,className:Et($,o),children:On.jsx(bi,{onClick:k,"aria-controls":I,children:U})})));mo.displayName="AccordionHeader";const Eo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,eventKey:$,...U},k)=>{I=$t(I,"accordion-item");const L=X.useMemo(()=>({eventKey:$}),[$]);return On.jsx(hr.Provider,{value:L,children:On.jsx(W,{ref:k,...U,className:Et(o,I)})})});Eo.displayName="AccordionItem";const Ro=X.forwardRef((W,I)=>{const{as:o="div",activeKey:$,bsPrefix:U,className:k,onSelect:L,flush:nn,alwaysOpen:rn,...ht}=T_(W,{activeKey:"onSelect"}),Wn=$t(U,"accordion"),an=X.useMemo(()=>({activeEventKey:$,onSelect:L,alwaysOpen:rn}),[$,L,rn]);return On.jsx(pe.Provider,{value:an,children:On.jsx(o,{ref:I,...ht,className:Et(k,Wn,nn&&`${Wn}-flush`)})})});Ro.displayName="Accordion";const D_=Object.assign(Ro,{Button:bi,Collapse:Pi,Item:Eo,Header:mo,Body:yo});var ge={exports:{}};/** +import{f as vo,r as X,j as On,a8 as A_,a9 as y_,aa as m_,i as Et,ab as xo,ac as E_,ad as R_,ae as I_,af as C_,ag as S_,h as $t,ah as cr}from"./index.js";import{u as T_}from"./hook-GVc5uk5F.js";function he(...W){return W.filter(I=>I!=null).reduce((I,o)=>{if(typeof o!="function")throw new Error("Invalid Argument Type, must only provide functions, undefined, or null.");return I===null?o:function(...U){I.apply(this,U),o.apply(this,U)}},null)}const L_={height:["marginTop","marginBottom"],width:["marginLeft","marginRight"]};function O_(W,I){const o=`offset${W[0].toUpperCase()}${W.slice(1)}`,$=I[o],U=L_[W];return $+parseInt(xo(I,U[0]),10)+parseInt(xo(I,U[1]),10)}const W_={[E_]:"collapse",[R_]:"collapsing",[I_]:"collapsing",[C_]:"collapse show"},B_=vo.forwardRef(({onEnter:W,onEntering:I,onEntered:o,onExit:$,onExiting:U,className:k,children:L,dimension:nn="height",in:rn=!1,timeout:ht=300,mountOnEnter:Wn=!1,unmountOnExit:an=!1,appear:_e=!1,getDimensionValue:Kn=O_,...zn},Rt)=>{const N=typeof nn=="function"?nn():nn,et=X.useMemo(()=>he(J=>{J.style[N]="0"},W),[N,W]),de=X.useMemo(()=>he(J=>{const _n=`scroll${N[0].toUpperCase()}${N.slice(1)}`;J.style[N]=`${J[_n]}px`},I),[N,I]),Bn=X.useMemo(()=>he(J=>{J.style[N]=null},o),[N,o]),gt=X.useMemo(()=>he(J=>{J.style[N]=`${Kn(N,J)}px`,S_(J)},$),[$,Kn,N]),Mn=X.useMemo(()=>he(J=>{J.style[N]=null},U),[N,U]);return On.jsx(A_,{ref:Rt,addEndListener:y_,...zn,"aria-expanded":zn.role?rn:null,onEnter:et,onEntering:de,onEntered:Bn,onExit:gt,onExiting:Mn,childRef:m_(L),in:rn,timeout:ht,mountOnEnter:Wn,unmountOnExit:an,appear:_e,children:(J,_n)=>vo.cloneElement(L,{..._n,className:Et(k,L.props.className,W_[J],N==="width"&&"collapse-horizontal")})})});function Ao(W,I){return Array.isArray(W)?W.includes(I):W===I}const pe=X.createContext({});pe.displayName="AccordionContext";const bi=X.forwardRef(({as:W="div",bsPrefix:I,className:o,children:$,eventKey:U,...k},L)=>{const{activeEventKey:nn}=X.useContext(pe);return I=$t(I,"accordion-collapse"),On.jsx(B_,{ref:L,in:Ao(nn,U),...k,className:Et(o,I),children:On.jsx(W,{children:X.Children.only($)})})});bi.displayName="AccordionCollapse";const hr=X.createContext({eventKey:""});hr.displayName="AccordionItemContext";const yo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,...ht},Wn)=>{I=$t(I,"accordion-body");const{eventKey:an}=X.useContext(hr);return On.jsx(bi,{eventKey:an,onEnter:$,onEntering:U,onEntered:k,onExit:L,onExiting:nn,onExited:rn,children:On.jsx(W,{ref:Wn,...ht,className:Et(o,I)})})});yo.displayName="AccordionBody";function M_(W,I){const{activeEventKey:o,onSelect:$,alwaysOpen:U}=X.useContext(pe);return k=>{let L=W===o?null:W;U&&(Array.isArray(o)?o.includes(W)?L=o.filter(nn=>nn!==W):L=[...o,W]:L=[W]),$==null||$(L,k),I==null||I(k)}}const Pi=X.forwardRef(({as:W="button",bsPrefix:I,className:o,onClick:$,...U},k)=>{I=$t(I,"accordion-button");const{eventKey:L}=X.useContext(hr),nn=M_(L,$),{activeEventKey:rn}=X.useContext(pe);return W==="button"&&(U.type="button"),On.jsx(W,{ref:k,onClick:nn,...U,"aria-expanded":Array.isArray(rn)?rn.includes(L):L===rn,className:Et(o,I,!Ao(rn,L)&&"collapsed")})});Pi.displayName="AccordionButton";const mo=X.forwardRef(({as:W="h2","aria-controls":I,bsPrefix:o,className:$,children:U,onClick:k,...L},nn)=>(o=$t(o,"accordion-header"),On.jsx(W,{ref:nn,...L,className:Et($,o),children:On.jsx(Pi,{onClick:k,"aria-controls":I,children:U})})));mo.displayName="AccordionHeader";const Eo=X.forwardRef(({as:W="div",bsPrefix:I,className:o,eventKey:$,...U},k)=>{I=$t(I,"accordion-item");const L=X.useMemo(()=>({eventKey:$}),[$]);return On.jsx(hr.Provider,{value:L,children:On.jsx(W,{ref:k,...U,className:Et(o,I)})})});Eo.displayName="AccordionItem";const Ro=X.forwardRef((W,I)=>{const{as:o="div",activeKey:$,bsPrefix:U,className:k,onSelect:L,flush:nn,alwaysOpen:rn,...ht}=T_(W,{activeKey:"onSelect"}),Wn=$t(U,"accordion"),an=X.useMemo(()=>({activeEventKey:$,onSelect:L,alwaysOpen:rn}),[$,L,rn]);return On.jsx(pe.Provider,{value:an,children:On.jsx(o,{ref:I,...ht,className:Et(k,Wn,nn&&`${Wn}-flush`)})})});Ro.displayName="Accordion";const D_=Object.assign(Ro,{Button:Pi,Collapse:bi,Item:Eo,Header:mo,Body:yo});var ge={exports:{}};/** * @license * Lodash <https://lodash.com/> * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> * Released under MIT license <https://lodash.com/license> * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */var F_=ge.exports,wo;function P_(){return wo||(wo=1,function(W,I){(function(){var o,$="4.17.21",U=200,k="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",L="Expected a function",nn="Invalid `variable` option passed into `_.template`",rn="__lodash_hash_undefined__",ht=500,Wn="__lodash_placeholder__",an=1,_e=2,Kn=4,zn=1,Rt=2,N=1,et=2,de=4,Bn=8,gt=16,Mn=32,J=64,_n=128,qt=256,gr=512,Io=30,Co="...",So=800,To=16,Ui=1,Lo=2,Oo=3,ve=1/0,It=9007199254740991,Wo=17976931348623157e292,xe=NaN,Gn=4294967295,Bo=Gn-1,Mo=Gn>>>1,Fo=[["ary",_n],["bind",N],["bindKey",et],["curry",Bn],["curryRight",gt],["flip",gr],["partial",Mn],["partialRight",J],["rearg",qt]],Ct="[object Arguments]",we="[object Array]",Po="[object AsyncFunction]",Kt="[object Boolean]",zt="[object Date]",bo="[object DOMException]",Ae="[object Error]",ye="[object Function]",Di="[object GeneratorFunction]",Fn="[object Map]",Zt="[object Number]",Uo="[object Null]",Zn="[object Object]",Ni="[object Promise]",Do="[object Proxy]",Yt="[object RegExp]",Pn="[object Set]",Xt="[object String]",me="[object Symbol]",No="[object Undefined]",Jt="[object WeakMap]",Go="[object WeakSet]",Qt="[object ArrayBuffer]",St="[object DataView]",pr="[object Float32Array]",_r="[object Float64Array]",dr="[object Int8Array]",vr="[object Int16Array]",xr="[object Int32Array]",wr="[object Uint8Array]",Ar="[object Uint8ClampedArray]",yr="[object Uint16Array]",mr="[object Uint32Array]",Ho=/\b__p \+= '';/g,$o=/\b(__p \+=) '' \+/g,qo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gi=/&(?:amp|lt|gt|quot|#39);/g,Hi=/[&<>"']/g,Ko=RegExp(Gi.source),zo=RegExp(Hi.source),Zo=/<%-([\s\S]+?)%>/g,Yo=/<%([\s\S]+?)%>/g,$i=/<%=([\s\S]+?)%>/g,Xo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jo=/^\w*$/,Qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Er=/[\\^$.*+?()[\]{}|]/g,Vo=RegExp(Er.source),Rr=/^\s+/,ko=/\s/,jo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,tl=/,? & /,el=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,rl=/[()=,{}\[\]\/\s]/,il=/\\(\\)?/g,ul=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qi=/\w*$/,fl=/^[-+]0x[0-9a-f]+$/i,ol=/^0b[01]+$/i,ll=/^\[object .+?Constructor\]$/,sl=/^0o[0-7]+$/i,al=/^(?:0|[1-9]\d*)$/,cl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ee=/($^)/,hl=/['\n\r\u2028\u2029\\]/g,Re="\\ud800-\\udfff",gl="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",_l="\\u20d0-\\u20ff",Ki=gl+pl+_l,zi="\\u2700-\\u27bf",Zi="a-z\\xdf-\\xf6\\xf8-\\xff",dl="\\xac\\xb1\\xd7\\xf7",vl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xl="\\u2000-\\u206f",wl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Yi="A-Z\\xc0-\\xd6\\xd8-\\xde",Xi="\\ufe0e\\ufe0f",Ji=dl+vl+xl+wl,Ir="['’]",Al="["+Re+"]",Qi="["+Ji+"]",Ie="["+Ki+"]",Vi="\\d+",yl="["+zi+"]",ki="["+Zi+"]",ji="[^"+Re+Ji+Vi+zi+Zi+Yi+"]",Cr="\\ud83c[\\udffb-\\udfff]",ml="(?:"+Ie+"|"+Cr+")",nu="[^"+Re+"]",Sr="(?:\\ud83c[\\udde6-\\uddff]){2}",Tr="[\\ud800-\\udbff][\\udc00-\\udfff]",Tt="["+Yi+"]",tu="\\u200d",eu="(?:"+ki+"|"+ji+")",El="(?:"+Tt+"|"+ji+")",ru="(?:"+Ir+"(?:d|ll|m|re|s|t|ve))?",iu="(?:"+Ir+"(?:D|LL|M|RE|S|T|VE))?",uu=ml+"?",fu="["+Xi+"]?",Rl="(?:"+tu+"(?:"+[nu,Sr,Tr].join("|")+")"+fu+uu+")*",Il="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Cl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ou=fu+uu+Rl,Sl="(?:"+[yl,Sr,Tr].join("|")+")"+ou,Tl="(?:"+[nu+Ie+"?",Ie,Sr,Tr,Al].join("|")+")",Ll=RegExp(Ir,"g"),Ol=RegExp(Ie,"g"),Lr=RegExp(Cr+"(?="+Cr+")|"+Tl+ou,"g"),Wl=RegExp([Tt+"?"+ki+"+"+ru+"(?="+[Qi,Tt,"$"].join("|")+")",El+"+"+iu+"(?="+[Qi,Tt+eu,"$"].join("|")+")",Tt+"?"+eu+"+"+ru,Tt+"+"+iu,Cl,Il,Vi,Sl].join("|"),"g"),Bl=RegExp("["+tu+Re+Ki+Xi+"]"),Ml=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Pl=-1,H={};H[pr]=H[_r]=H[dr]=H[vr]=H[xr]=H[wr]=H[Ar]=H[yr]=H[mr]=!0,H[Ct]=H[we]=H[Qt]=H[Kt]=H[St]=H[zt]=H[Ae]=H[ye]=H[Fn]=H[Zt]=H[Zn]=H[Yt]=H[Pn]=H[Xt]=H[Jt]=!1;var G={};G[Ct]=G[we]=G[Qt]=G[St]=G[Kt]=G[zt]=G[pr]=G[_r]=G[dr]=G[vr]=G[xr]=G[Fn]=G[Zt]=G[Zn]=G[Yt]=G[Pn]=G[Xt]=G[me]=G[wr]=G[Ar]=G[yr]=G[mr]=!0,G[Ae]=G[ye]=G[Jt]=!1;var bl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ul={"&":"&","<":"<",">":">",'"':""","'":"'"},Dl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Nl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Gl=parseFloat,Hl=parseInt,lu=typeof cr=="object"&&cr&&cr.Object===Object&&cr,$l=typeof self=="object"&&self&&self.Object===Object&&self,tn=lu||$l||Function("return this")(),Or=I&&!I.nodeType&&I,pt=Or&&!0&&W&&!W.nodeType&&W,su=pt&&pt.exports===Or,Wr=su&&lu.process,mn=function(){try{var a=pt&&pt.require&&pt.require("util").types;return a||Wr&&Wr.binding&&Wr.binding("util")}catch{}}(),au=mn&&mn.isArrayBuffer,cu=mn&&mn.isDate,hu=mn&&mn.isMap,gu=mn&&mn.isRegExp,pu=mn&&mn.isSet,_u=mn&&mn.isTypedArray;function dn(a,g,h){switch(h.length){case 0:return a.call(g);case 1:return a.call(g,h[0]);case 2:return a.call(g,h[0],h[1]);case 3:return a.call(g,h[0],h[1],h[2])}return a.apply(g,h)}function ql(a,g,h,x){for(var E=-1,F=a==null?0:a.length;++E<F;){var Q=a[E];g(x,Q,h(Q),a)}return x}function En(a,g){for(var h=-1,x=a==null?0:a.length;++h<x&&g(a[h],h,a)!==!1;);return a}function Kl(a,g){for(var h=a==null?0:a.length;h--&&g(a[h],h,a)!==!1;);return a}function du(a,g){for(var h=-1,x=a==null?0:a.length;++h<x;)if(!g(a[h],h,a))return!1;return!0}function rt(a,g){for(var h=-1,x=a==null?0:a.length,E=0,F=[];++h<x;){var Q=a[h];g(Q,h,a)&&(F[E++]=Q)}return F}function Ce(a,g){var h=a==null?0:a.length;return!!h&&Lt(a,g,0)>-1}function Br(a,g,h){for(var x=-1,E=a==null?0:a.length;++x<E;)if(h(g,a[x]))return!0;return!1}function q(a,g){for(var h=-1,x=a==null?0:a.length,E=Array(x);++h<x;)E[h]=g(a[h],h,a);return E}function it(a,g){for(var h=-1,x=g.length,E=a.length;++h<x;)a[E+h]=g[h];return a}function Mr(a,g,h,x){var E=-1,F=a==null?0:a.length;for(x&&F&&(h=a[++E]);++E<F;)h=g(h,a[E],E,a);return h}function zl(a,g,h,x){var E=a==null?0:a.length;for(x&&E&&(h=a[--E]);E--;)h=g(h,a[E],E,a);return h}function Fr(a,g){for(var h=-1,x=a==null?0:a.length;++h<x;)if(g(a[h],h,a))return!0;return!1}var Zl=Pr("length");function Yl(a){return a.split("")}function Xl(a){return a.match(el)||[]}function vu(a,g,h){var x;return h(a,function(E,F,Q){if(g(E,F,Q))return x=F,!1}),x}function Se(a,g,h,x){for(var E=a.length,F=h+(x?1:-1);x?F--:++F<E;)if(g(a[F],F,a))return F;return-1}function Lt(a,g,h){return g===g?fs(a,g,h):Se(a,xu,h)}function Jl(a,g,h,x){for(var E=h-1,F=a.length;++E<F;)if(x(a[E],g))return E;return-1}function xu(a){return a!==a}function wu(a,g){var h=a==null?0:a.length;return h?Ur(a,g)/h:xe}function Pr(a){return function(g){return g==null?o:g[a]}}function br(a){return function(g){return a==null?o:a[g]}}function Au(a,g,h,x,E){return E(a,function(F,Q,D){h=x?(x=!1,F):g(h,F,Q,D)}),h}function Ql(a,g){var h=a.length;for(a.sort(g);h--;)a[h]=a[h].value;return a}function Ur(a,g){for(var h,x=-1,E=a.length;++x<E;){var F=g(a[x]);F!==o&&(h=h===o?F:h+F)}return h}function Dr(a,g){for(var h=-1,x=Array(a);++h<a;)x[h]=g(h);return x}function Vl(a,g){return q(g,function(h){return[h,a[h]]})}function yu(a){return a&&a.slice(0,Iu(a)+1).replace(Rr,"")}function vn(a){return function(g){return a(g)}}function Nr(a,g){return q(g,function(h){return a[h]})}function Vt(a,g){return a.has(g)}function mu(a,g){for(var h=-1,x=a.length;++h<x&&Lt(g,a[h],0)>-1;);return h}function Eu(a,g){for(var h=a.length;h--&&Lt(g,a[h],0)>-1;);return h}function kl(a,g){for(var h=a.length,x=0;h--;)a[h]===g&&++x;return x}var jl=br(bl),ns=br(Ul);function ts(a){return"\\"+Nl[a]}function es(a,g){return a==null?o:a[g]}function Ot(a){return Bl.test(a)}function rs(a){return Ml.test(a)}function is(a){for(var g,h=[];!(g=a.next()).done;)h.push(g.value);return h}function Gr(a){var g=-1,h=Array(a.size);return a.forEach(function(x,E){h[++g]=[E,x]}),h}function Ru(a,g){return function(h){return a(g(h))}}function ut(a,g){for(var h=-1,x=a.length,E=0,F=[];++h<x;){var Q=a[h];(Q===g||Q===Wn)&&(a[h]=Wn,F[E++]=h)}return F}function Te(a){var g=-1,h=Array(a.size);return a.forEach(function(x){h[++g]=x}),h}function us(a){var g=-1,h=Array(a.size);return a.forEach(function(x){h[++g]=[x,x]}),h}function fs(a,g,h){for(var x=h-1,E=a.length;++x<E;)if(a[x]===g)return x;return-1}function os(a,g,h){for(var x=h+1;x--;)if(a[x]===g)return x;return x}function Wt(a){return Ot(a)?ss(a):Zl(a)}function bn(a){return Ot(a)?as(a):Yl(a)}function Iu(a){for(var g=a.length;g--&&ko.test(a.charAt(g)););return g}var ls=br(Dl);function ss(a){for(var g=Lr.lastIndex=0;Lr.test(a);)++g;return g}function as(a){return a.match(Lr)||[]}function cs(a){return a.match(Wl)||[]}var hs=function a(g){g=g==null?tn:Bt.defaults(tn.Object(),g,Bt.pick(tn,Fl));var h=g.Array,x=g.Date,E=g.Error,F=g.Function,Q=g.Math,D=g.Object,Hr=g.RegExp,gs=g.String,Rn=g.TypeError,Le=h.prototype,ps=F.prototype,Mt=D.prototype,Oe=g["__core-js_shared__"],We=ps.toString,b=Mt.hasOwnProperty,_s=0,Cu=function(){var n=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),Be=Mt.toString,ds=We.call(D),vs=tn._,xs=Hr("^"+We.call(b).replace(Er,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=su?g.Buffer:o,ft=g.Symbol,Fe=g.Uint8Array,Su=Me?Me.allocUnsafe:o,Pe=Ru(D.getPrototypeOf,D),Tu=D.create,Lu=Mt.propertyIsEnumerable,be=Le.splice,Ou=ft?ft.isConcatSpreadable:o,kt=ft?ft.iterator:o,_t=ft?ft.toStringTag:o,Ue=function(){try{var n=At(D,"defineProperty");return n({},"",{}),n}catch{}}(),ws=g.clearTimeout!==tn.clearTimeout&&g.clearTimeout,As=x&&x.now!==tn.Date.now&&x.now,ys=g.setTimeout!==tn.setTimeout&&g.setTimeout,De=Q.ceil,Ne=Q.floor,$r=D.getOwnPropertySymbols,ms=Me?Me.isBuffer:o,Wu=g.isFinite,Es=Le.join,Rs=Ru(D.keys,D),V=Q.max,un=Q.min,Is=x.now,Cs=g.parseInt,Bu=Q.random,Ss=Le.reverse,qr=At(g,"DataView"),jt=At(g,"Map"),Kr=At(g,"Promise"),Ft=At(g,"Set"),ne=At(g,"WeakMap"),te=At(D,"create"),Ge=ne&&new ne,Pt={},Ts=yt(qr),Ls=yt(jt),Os=yt(Kr),Ws=yt(Ft),Bs=yt(ne),He=ft?ft.prototype:o,ee=He?He.valueOf:o,Mu=He?He.toString:o;function u(n){if(z(n)&&!R(n)&&!(n instanceof B)){if(n instanceof In)return n;if(b.call(n,"__wrapped__"))return Pf(n)}return new In(n)}var bt=function(){function n(){}return function(t){if(!K(t))return{};if(Tu)return Tu(t);n.prototype=t;var e=new n;return n.prototype=o,e}}();function $e(){}function In(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}u.templateSettings={escape:Zo,evaluate:Yo,interpolate:$i,variable:"",imports:{_:u}},u.prototype=$e.prototype,u.prototype.constructor=u,In.prototype=bt($e.prototype),In.prototype.constructor=In;function B(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Gn,this.__views__=[]}function Ms(){var n=new B(this.__wrapped__);return n.__actions__=cn(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=cn(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=cn(this.__views__),n}function Fs(){if(this.__filtered__){var n=new B(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Ps(){var n=this.__wrapped__.value(),t=this.__dir__,e=R(n),r=t<0,i=e?n.length:0,f=Ya(0,i,this.__views__),l=f.start,s=f.end,c=s-l,p=r?s:l-1,_=this.__iteratees__,d=_.length,v=0,w=un(c,this.__takeCount__);if(!e||!r&&i==c&&w==c)return rf(n,this.__actions__);var y=[];n:for(;c--&&v<w;){p+=t;for(var S=-1,m=n[p];++S<d;){var O=_[S],M=O.iteratee,An=O.type,sn=M(m);if(An==Lo)m=sn;else if(!sn){if(An==Ui)continue n;break n}}y[v++]=m}return y}B.prototype=bt($e.prototype),B.prototype.constructor=B;function dt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function bs(){this.__data__=te?te(null):{},this.size=0}function Us(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Ds(n){var t=this.__data__;if(te){var e=t[n];return e===rn?o:e}return b.call(t,n)?t[n]:o}function Ns(n){var t=this.__data__;return te?t[n]!==o:b.call(t,n)}function Gs(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=te&&t===o?rn:t,this}dt.prototype.clear=bs,dt.prototype.delete=Us,dt.prototype.get=Ds,dt.prototype.has=Ns,dt.prototype.set=Gs;function Yn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Hs(){this.__data__=[],this.size=0}function $s(n){var t=this.__data__,e=qe(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():be.call(t,e,1),--this.size,!0}function qs(n){var t=this.__data__,e=qe(t,n);return e<0?o:t[e][1]}function Ks(n){return qe(this.__data__,n)>-1}function zs(n,t){var e=this.__data__,r=qe(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Yn.prototype.clear=Hs,Yn.prototype.delete=$s,Yn.prototype.get=qs,Yn.prototype.has=Ks,Yn.prototype.set=zs;function Xn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Zs(){this.size=0,this.__data__={hash:new dt,map:new(jt||Yn),string:new dt}}function Ys(n){var t=tr(this,n).delete(n);return this.size-=t?1:0,t}function Xs(n){return tr(this,n).get(n)}function Js(n){return tr(this,n).has(n)}function Qs(n,t){var e=tr(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}Xn.prototype.clear=Zs,Xn.prototype.delete=Ys,Xn.prototype.get=Xs,Xn.prototype.has=Js,Xn.prototype.set=Qs;function vt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new Xn;++t<e;)this.add(n[t])}function Vs(n){return this.__data__.set(n,rn),this}function ks(n){return this.__data__.has(n)}vt.prototype.add=vt.prototype.push=Vs,vt.prototype.has=ks;function Un(n){var t=this.__data__=new Yn(n);this.size=t.size}function js(){this.__data__=new Yn,this.size=0}function na(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function ta(n){return this.__data__.get(n)}function ea(n){return this.__data__.has(n)}function ra(n,t){var e=this.__data__;if(e instanceof Yn){var r=e.__data__;if(!jt||r.length<U-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new Xn(r)}return e.set(n,t),this.size=e.size,this}Un.prototype.clear=js,Un.prototype.delete=na,Un.prototype.get=ta,Un.prototype.has=ea,Un.prototype.set=ra;function Fu(n,t){var e=R(n),r=!e&&mt(n),i=!e&&!r&&ct(n),f=!e&&!r&&!i&&Gt(n),l=e||r||i||f,s=l?Dr(n.length,gs):[],c=s.length;for(var p in n)(t||b.call(n,p))&&!(l&&(p=="length"||i&&(p=="offset"||p=="parent")||f&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||kn(p,c)))&&s.push(p);return s}function Pu(n){var t=n.length;return t?n[ti(0,t-1)]:o}function ia(n,t){return er(cn(n),xt(t,0,n.length))}function ua(n){return er(cn(n))}function zr(n,t,e){(e!==o&&!Dn(n[t],e)||e===o&&!(t in n))&&Jn(n,t,e)}function re(n,t,e){var r=n[t];(!(b.call(n,t)&&Dn(r,e))||e===o&&!(t in n))&&Jn(n,t,e)}function qe(n,t){for(var e=n.length;e--;)if(Dn(n[e][0],t))return e;return-1}function fa(n,t,e,r){return ot(n,function(i,f,l){t(r,i,e(i),l)}),r}function bu(n,t){return n&&$n(t,j(t),n)}function oa(n,t){return n&&$n(t,gn(t),n)}function Jn(n,t,e){t=="__proto__"&&Ue?Ue(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function Zr(n,t){for(var e=-1,r=t.length,i=h(r),f=n==null;++e<r;)i[e]=f?o:Ci(n,t[e]);return i}function xt(n,t,e){return n===n&&(e!==o&&(n=n<=e?n:e),t!==o&&(n=n>=t?n:t)),n}function Cn(n,t,e,r,i,f){var l,s=t&an,c=t&_e,p=t&Kn;if(e&&(l=i?e(n,r,i,f):e(n)),l!==o)return l;if(!K(n))return n;var _=R(n);if(_){if(l=Ja(n),!s)return cn(n,l)}else{var d=fn(n),v=d==ye||d==Di;if(ct(n))return of(n,s);if(d==Zn||d==Ct||v&&!i){if(l=c||v?{}:Cf(n),!s)return c?Da(n,oa(l,n)):Ua(n,bu(l,n))}else{if(!G[d])return i?n:{};l=Qa(n,d,s)}}f||(f=new Un);var w=f.get(n);if(w)return w;f.set(n,l),to(n)?n.forEach(function(m){l.add(Cn(m,t,e,m,n,f))}):jf(n)&&n.forEach(function(m,O){l.set(O,Cn(m,t,e,O,n,f))});var y=p?c?hi:ci:c?gn:j,S=_?o:y(n);return En(S||n,function(m,O){S&&(O=m,m=n[O]),re(l,O,Cn(m,t,e,O,n,f))}),l}function la(n){var t=j(n);return function(e){return Uu(e,n,t)}}function Uu(n,t,e){var r=e.length;if(n==null)return!r;for(n=D(n);r--;){var i=e[r],f=t[i],l=n[i];if(l===o&&!(i in n)||!f(l))return!1}return!0}function Du(n,t,e){if(typeof n!="function")throw new Rn(L);return ae(function(){n.apply(o,e)},t)}function ie(n,t,e,r){var i=-1,f=Ce,l=!0,s=n.length,c=[],p=t.length;if(!s)return c;e&&(t=q(t,vn(e))),r?(f=Br,l=!1):t.length>=U&&(f=Vt,l=!1,t=new vt(t));n:for(;++i<s;){var _=n[i],d=e==null?_:e(_);if(_=r||_!==0?_:0,l&&d===d){for(var v=p;v--;)if(t[v]===d)continue n;c.push(_)}else f(t,d,r)||c.push(_)}return c}var ot=hf(Hn),Nu=hf(Xr,!0);function sa(n,t){var e=!0;return ot(n,function(r,i,f){return e=!!t(r,i,f),e}),e}function Ke(n,t,e){for(var r=-1,i=n.length;++r<i;){var f=n[r],l=t(f);if(l!=null&&(s===o?l===l&&!wn(l):e(l,s)))var s=l,c=f}return c}function aa(n,t,e,r){var i=n.length;for(e=C(e),e<0&&(e=-e>i?0:i+e),r=r===o||r>i?i:C(r),r<0&&(r+=i),r=e>r?0:ro(r);e<r;)n[e++]=t;return n}function Gu(n,t){var e=[];return ot(n,function(r,i,f){t(r,i,f)&&e.push(r)}),e}function en(n,t,e,r,i){var f=-1,l=n.length;for(e||(e=ka),i||(i=[]);++f<l;){var s=n[f];t>0&&e(s)?t>1?en(s,t-1,e,r,i):it(i,s):r||(i[i.length]=s)}return i}var Yr=gf(),Hu=gf(!0);function Hn(n,t){return n&&Yr(n,t,j)}function Xr(n,t){return n&&Hu(n,t,j)}function ze(n,t){return rt(t,function(e){return jn(n[e])})}function wt(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[qn(t[e++])];return e&&e==r?n:o}function $u(n,t,e){var r=t(n);return R(n)?r:it(r,e(n))}function on(n){return n==null?n===o?No:Uo:_t&&_t in D(n)?Za(n):uc(n)}function Jr(n,t){return n>t}function ca(n,t){return n!=null&&b.call(n,t)}function ha(n,t){return n!=null&&t in D(n)}function ga(n,t,e){return n>=un(t,e)&&n<V(t,e)}function Qr(n,t,e){for(var r=e?Br:Ce,i=n[0].length,f=n.length,l=f,s=h(f),c=1/0,p=[];l--;){var _=n[l];l&&t&&(_=q(_,vn(t))),c=un(_.length,c),s[l]=!e&&(t||i>=120&&_.length>=120)?new vt(l&&_):o}_=n[0];var d=-1,v=s[0];n:for(;++d<i&&p.length<c;){var w=_[d],y=t?t(w):w;if(w=e||w!==0?w:0,!(v?Vt(v,y):r(p,y,e))){for(l=f;--l;){var S=s[l];if(!(S?Vt(S,y):r(n[l],y,e)))continue n}v&&v.push(y),p.push(w)}}return p}function pa(n,t,e,r){return Hn(n,function(i,f,l){t(r,e(i),f,l)}),r}function ue(n,t,e){t=st(t,n),n=Of(n,t);var r=n==null?n:n[qn(Tn(t))];return r==null?o:dn(r,n,e)}function qu(n){return z(n)&&on(n)==Ct}function _a(n){return z(n)&&on(n)==Qt}function da(n){return z(n)&&on(n)==zt}function fe(n,t,e,r,i){return n===t?!0:n==null||t==null||!z(n)&&!z(t)?n!==n&&t!==t:va(n,t,e,r,fe,i)}function va(n,t,e,r,i,f){var l=R(n),s=R(t),c=l?we:fn(n),p=s?we:fn(t);c=c==Ct?Zn:c,p=p==Ct?Zn:p;var _=c==Zn,d=p==Zn,v=c==p;if(v&&ct(n)){if(!ct(t))return!1;l=!0,_=!1}if(v&&!_)return f||(f=new Un),l||Gt(n)?Ef(n,t,e,r,i,f):Ka(n,t,c,e,r,i,f);if(!(e&zn)){var w=_&&b.call(n,"__wrapped__"),y=d&&b.call(t,"__wrapped__");if(w||y){var S=w?n.value():n,m=y?t.value():t;return f||(f=new Un),i(S,m,e,r,f)}}return v?(f||(f=new Un),za(n,t,e,r,i,f)):!1}function xa(n){return z(n)&&fn(n)==Fn}function Vr(n,t,e,r){var i=e.length,f=i,l=!r;if(n==null)return!f;for(n=D(n);i--;){var s=e[i];if(l&&s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++i<f;){s=e[i];var c=s[0],p=n[c],_=s[1];if(l&&s[2]){if(p===o&&!(c in n))return!1}else{var d=new Un;if(r)var v=r(p,_,c,n,t,d);if(!(v===o?fe(_,p,zn|Rt,r,d):v))return!1}}return!0}function Ku(n){if(!K(n)||nc(n))return!1;var t=jn(n)?xs:ll;return t.test(yt(n))}function wa(n){return z(n)&&on(n)==Yt}function Aa(n){return z(n)&&fn(n)==Pn}function ya(n){return z(n)&&lr(n.length)&&!!H[on(n)]}function zu(n){return typeof n=="function"?n:n==null?pn:typeof n=="object"?R(n)?Xu(n[0],n[1]):Yu(n):po(n)}function kr(n){if(!se(n))return Rs(n);var t=[];for(var e in D(n))b.call(n,e)&&e!="constructor"&&t.push(e);return t}function ma(n){if(!K(n))return ic(n);var t=se(n),e=[];for(var r in n)r=="constructor"&&(t||!b.call(n,r))||e.push(r);return e}function jr(n,t){return n<t}function Zu(n,t){var e=-1,r=hn(n)?h(n.length):[];return ot(n,function(i,f,l){r[++e]=t(i,f,l)}),r}function Yu(n){var t=pi(n);return t.length==1&&t[0][2]?Tf(t[0][0],t[0][1]):function(e){return e===n||Vr(e,n,t)}}function Xu(n,t){return di(n)&&Sf(t)?Tf(qn(n),t):function(e){var r=Ci(e,n);return r===o&&r===t?Si(e,n):fe(t,r,zn|Rt)}}function Ze(n,t,e,r,i){n!==t&&Yr(t,function(f,l){if(i||(i=new Un),K(f))Ea(n,t,l,e,Ze,r,i);else{var s=r?r(xi(n,l),f,l+"",n,t,i):o;s===o&&(s=f),zr(n,l,s)}},gn)}function Ea(n,t,e,r,i,f,l){var s=xi(n,e),c=xi(t,e),p=l.get(c);if(p){zr(n,e,p);return}var _=f?f(s,c,e+"",n,t,l):o,d=_===o;if(d){var v=R(c),w=!v&&ct(c),y=!v&&!w&&Gt(c);_=c,v||w||y?R(s)?_=s:Z(s)?_=cn(s):w?(d=!1,_=of(c,!0)):y?(d=!1,_=lf(c,!0)):_=[]:ce(c)||mt(c)?(_=s,mt(s)?_=io(s):(!K(s)||jn(s))&&(_=Cf(c))):d=!1}d&&(l.set(c,_),i(_,c,r,f,l),l.delete(c)),zr(n,e,_)}function Ju(n,t){var e=n.length;if(e)return t+=t<0?e:0,kn(t,e)?n[t]:o}function Qu(n,t,e){t.length?t=q(t,function(f){return R(f)?function(l){return wt(l,f.length===1?f[0]:f)}:f}):t=[pn];var r=-1;t=q(t,vn(A()));var i=Zu(n,function(f,l,s){var c=q(t,function(p){return p(f)});return{criteria:c,index:++r,value:f}});return Ql(i,function(f,l){return ba(f,l,e)})}function Ra(n,t){return Vu(n,t,function(e,r){return Si(n,r)})}function Vu(n,t,e){for(var r=-1,i=t.length,f={};++r<i;){var l=t[r],s=wt(n,l);e(s,l)&&oe(f,st(l,n),s)}return f}function Ia(n){return function(t){return wt(t,n)}}function ni(n,t,e,r){var i=r?Jl:Lt,f=-1,l=t.length,s=n;for(n===t&&(t=cn(t)),e&&(s=q(n,vn(e)));++f<l;)for(var c=0,p=t[f],_=e?e(p):p;(c=i(s,_,c,r))>-1;)s!==n&&be.call(s,c,1),be.call(n,c,1);return n}function ku(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==f){var f=i;kn(i)?be.call(n,i,1):ii(n,i)}}return n}function ti(n,t){return n+Ne(Bu()*(t-n+1))}function Ca(n,t,e,r){for(var i=-1,f=V(De((t-n)/(e||1)),0),l=h(f);f--;)l[r?f:++i]=n,n+=e;return l}function ei(n,t){var e="";if(!n||t<1||t>It)return e;do t%2&&(e+=n),t=Ne(t/2),t&&(n+=n);while(t);return e}function T(n,t){return wi(Lf(n,t,pn),n+"")}function Sa(n){return Pu(Ht(n))}function Ta(n,t){var e=Ht(n);return er(e,xt(t,0,e.length))}function oe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var i=-1,f=t.length,l=f-1,s=n;s!=null&&++i<f;){var c=qn(t[i]),p=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return n;if(i!=l){var _=s[c];p=r?r(_,c,s):o,p===o&&(p=K(_)?_:kn(t[i+1])?[]:{})}re(s,c,p),s=s[c]}return n}var ju=Ge?function(n,t){return Ge.set(n,t),n}:pn,La=Ue?function(n,t){return Ue(n,"toString",{configurable:!0,enumerable:!1,value:Li(t),writable:!0})}:pn;function Oa(n){return er(Ht(n))}function Sn(n,t,e){var r=-1,i=n.length;t<0&&(t=-t>i?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var f=h(i);++r<i;)f[r]=n[r+t];return f}function Wa(n,t){var e;return ot(n,function(r,i,f){return e=t(r,i,f),!e}),!!e}function Ye(n,t,e){var r=0,i=n==null?r:n.length;if(typeof t=="number"&&t===t&&i<=Mo){for(;r<i;){var f=r+i>>>1,l=n[f];l!==null&&!wn(l)&&(e?l<=t:l<t)?r=f+1:i=f}return i}return ri(n,t,pn,e)}function ri(n,t,e,r){var i=0,f=n==null?0:n.length;if(f===0)return 0;t=e(t);for(var l=t!==t,s=t===null,c=wn(t),p=t===o;i<f;){var _=Ne((i+f)/2),d=e(n[_]),v=d!==o,w=d===null,y=d===d,S=wn(d);if(l)var m=r||y;else p?m=y&&(r||v):s?m=y&&v&&(r||!w):c?m=y&&v&&!w&&(r||!S):w||S?m=!1:m=r?d<=t:d<t;m?i=_+1:f=_}return un(f,Bo)}function nf(n,t){for(var e=-1,r=n.length,i=0,f=[];++e<r;){var l=n[e],s=t?t(l):l;if(!e||!Dn(s,c)){var c=s;f[i++]=l===0?0:l}}return f}function tf(n){return typeof n=="number"?n:wn(n)?xe:+n}function xn(n){if(typeof n=="string")return n;if(R(n))return q(n,xn)+"";if(wn(n))return Mu?Mu.call(n):"";var t=n+"";return t=="0"&&1/n==-1/0?"-0":t}function lt(n,t,e){var r=-1,i=Ce,f=n.length,l=!0,s=[],c=s;if(e)l=!1,i=Br;else if(f>=U){var p=t?null:$a(n);if(p)return Te(p);l=!1,i=Vt,c=new vt}else c=t?[]:s;n:for(;++r<f;){var _=n[r],d=t?t(_):_;if(_=e||_!==0?_:0,l&&d===d){for(var v=c.length;v--;)if(c[v]===d)continue n;t&&c.push(d),s.push(_)}else i(c,d,e)||(c!==s&&c.push(d),s.push(_))}return s}function ii(n,t){return t=st(t,n),n=Of(n,t),n==null||delete n[qn(Tn(t))]}function ef(n,t,e,r){return oe(n,t,e(wt(n,t)),r)}function Xe(n,t,e,r){for(var i=n.length,f=r?i:-1;(r?f--:++f<i)&&t(n[f],f,n););return e?Sn(n,r?0:f,r?f+1:i):Sn(n,r?f+1:0,r?i:f)}function rf(n,t){var e=n;return e instanceof B&&(e=e.value()),Mr(t,function(r,i){return i.func.apply(i.thisArg,it([r],i.args))},e)}function ui(n,t,e){var r=n.length;if(r<2)return r?lt(n[0]):[];for(var i=-1,f=h(r);++i<r;)for(var l=n[i],s=-1;++s<r;)s!=i&&(f[i]=ie(f[i]||l,n[s],t,e));return lt(en(f,1),t,e)}function uf(n,t,e){for(var r=-1,i=n.length,f=t.length,l={};++r<i;){var s=r<f?t[r]:o;e(l,n[r],s)}return l}function fi(n){return Z(n)?n:[]}function oi(n){return typeof n=="function"?n:pn}function st(n,t){return R(n)?n:di(n,t)?[n]:Ff(P(n))}var Ba=T;function at(n,t,e){var r=n.length;return e=e===o?r:e,!t&&e>=r?n:Sn(n,t,e)}var ff=ws||function(n){return tn.clearTimeout(n)};function of(n,t){if(t)return n.slice();var e=n.length,r=Su?Su(e):new n.constructor(e);return n.copy(r),r}function li(n){var t=new n.constructor(n.byteLength);return new Fe(t).set(new Fe(n)),t}function Ma(n,t){var e=t?li(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Fa(n){var t=new n.constructor(n.source,qi.exec(n));return t.lastIndex=n.lastIndex,t}function Pa(n){return ee?D(ee.call(n)):{}}function lf(n,t){var e=t?li(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function sf(n,t){if(n!==t){var e=n!==o,r=n===null,i=n===n,f=wn(n),l=t!==o,s=t===null,c=t===t,p=wn(t);if(!s&&!p&&!f&&n>t||f&&l&&c&&!s&&!p||r&&l&&c||!e&&c||!i)return 1;if(!r&&!f&&!p&&n<t||p&&e&&i&&!r&&!f||s&&e&&i||!l&&i||!c)return-1}return 0}function ba(n,t,e){for(var r=-1,i=n.criteria,f=t.criteria,l=i.length,s=e.length;++r<l;){var c=sf(i[r],f[r]);if(c){if(r>=s)return c;var p=e[r];return c*(p=="desc"?-1:1)}}return n.index-t.index}function af(n,t,e,r){for(var i=-1,f=n.length,l=e.length,s=-1,c=t.length,p=V(f-l,0),_=h(c+p),d=!r;++s<c;)_[s]=t[s];for(;++i<l;)(d||i<f)&&(_[e[i]]=n[i]);for(;p--;)_[s++]=n[i++];return _}function cf(n,t,e,r){for(var i=-1,f=n.length,l=-1,s=e.length,c=-1,p=t.length,_=V(f-s,0),d=h(_+p),v=!r;++i<_;)d[i]=n[i];for(var w=i;++c<p;)d[w+c]=t[c];for(;++l<s;)(v||i<f)&&(d[w+e[l]]=n[i++]);return d}function cn(n,t){var e=-1,r=n.length;for(t||(t=h(r));++e<r;)t[e]=n[e];return t}function $n(n,t,e,r){var i=!e;e||(e={});for(var f=-1,l=t.length;++f<l;){var s=t[f],c=r?r(e[s],n[s],s,e,n):o;c===o&&(c=n[s]),i?Jn(e,s,c):re(e,s,c)}return e}function Ua(n,t){return $n(n,_i(n),t)}function Da(n,t){return $n(n,Rf(n),t)}function Je(n,t){return function(e,r){var i=R(e)?ql:fa,f=t?t():{};return i(e,n,A(r,2),f)}}function Ut(n){return T(function(t,e){var r=-1,i=e.length,f=i>1?e[i-1]:o,l=i>2?e[2]:o;for(f=n.length>3&&typeof f=="function"?(i--,f):o,l&&ln(e[0],e[1],l)&&(f=i<3?o:f,i=1),t=D(t);++r<i;){var s=e[r];s&&n(t,s,r,f)}return t})}function hf(n,t){return function(e,r){if(e==null)return e;if(!hn(e))return n(e,r);for(var i=e.length,f=t?i:-1,l=D(e);(t?f--:++f<i)&&r(l[f],f,l)!==!1;);return e}}function gf(n){return function(t,e,r){for(var i=-1,f=D(t),l=r(t),s=l.length;s--;){var c=l[n?s:++i];if(e(f[c],c,f)===!1)break}return t}}function Na(n,t,e){var r=t&N,i=le(n);function f(){var l=this&&this!==tn&&this instanceof f?i:n;return l.apply(r?e:this,arguments)}return f}function pf(n){return function(t){t=P(t);var e=Ot(t)?bn(t):o,r=e?e[0]:t.charAt(0),i=e?at(e,1).join(""):t.slice(1);return r[n]()+i}}function Dt(n){return function(t){return Mr(ho(co(t).replace(Ll,"")),n,"")}}function le(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=bt(n.prototype),r=n.apply(e,t);return K(r)?r:e}}function Ga(n,t,e){var r=le(n);function i(){for(var f=arguments.length,l=h(f),s=f,c=Nt(i);s--;)l[s]=arguments[s];var p=f<3&&l[0]!==c&&l[f-1]!==c?[]:ut(l,c);if(f-=p.length,f<e)return wf(n,t,Qe,i.placeholder,o,l,p,o,o,e-f);var _=this&&this!==tn&&this instanceof i?r:n;return dn(_,this,l)}return i}function _f(n){return function(t,e,r){var i=D(t);if(!hn(t)){var f=A(e,3);t=j(t),e=function(s){return f(i[s],s,i)}}var l=n(t,e,r);return l>-1?i[f?t[l]:l]:o}}function df(n){return Vn(function(t){var e=t.length,r=e,i=In.prototype.thru;for(n&&t.reverse();r--;){var f=t[r];if(typeof f!="function")throw new Rn(L);if(i&&!l&&nr(f)=="wrapper")var l=new In([],!0)}for(r=l?r:e;++r<e;){f=t[r];var s=nr(f),c=s=="wrapper"?gi(f):o;c&&vi(c[0])&&c[1]==(_n|Bn|Mn|qt)&&!c[4].length&&c[9]==1?l=l[nr(c[0])].apply(l,c[3]):l=f.length==1&&vi(f)?l[s]():l.thru(f)}return function(){var p=arguments,_=p[0];if(l&&p.length==1&&R(_))return l.plant(_).value();for(var d=0,v=e?t[d].apply(this,p):_;++d<e;)v=t[d].call(this,v);return v}})}function Qe(n,t,e,r,i,f,l,s,c,p){var _=t&_n,d=t&N,v=t&et,w=t&(Bn|gt),y=t&gr,S=v?o:le(n);function m(){for(var O=arguments.length,M=h(O),An=O;An--;)M[An]=arguments[An];if(w)var sn=Nt(m),yn=kl(M,sn);if(r&&(M=af(M,r,i,w)),f&&(M=cf(M,f,l,w)),O-=yn,w&&O<p){var Y=ut(M,sn);return wf(n,t,Qe,m.placeholder,e,M,Y,s,c,p-O)}var Nn=d?e:this,tt=v?Nn[n]:n;return O=M.length,s?M=fc(M,s):y&&O>1&&M.reverse(),_&&c<O&&(M.length=c),this&&this!==tn&&this instanceof m&&(tt=S||le(tt)),tt.apply(Nn,M)}return m}function vf(n,t){return function(e,r){return pa(e,n,t(r),{})}}function Ve(n,t){return function(e,r){var i;if(e===o&&r===o)return t;if(e!==o&&(i=e),r!==o){if(i===o)return r;typeof e=="string"||typeof r=="string"?(e=xn(e),r=xn(r)):(e=tf(e),r=tf(r)),i=n(e,r)}return i}}function si(n){return Vn(function(t){return t=q(t,vn(A())),T(function(e){var r=this;return n(t,function(i){return dn(i,r,e)})})})}function ke(n,t){t=t===o?" ":xn(t);var e=t.length;if(e<2)return e?ei(t,n):t;var r=ei(t,De(n/Wt(t)));return Ot(t)?at(bn(r),0,n).join(""):r.slice(0,n)}function Ha(n,t,e,r){var i=t&N,f=le(n);function l(){for(var s=-1,c=arguments.length,p=-1,_=r.length,d=h(_+c),v=this&&this!==tn&&this instanceof l?f:n;++p<_;)d[p]=r[p];for(;c--;)d[p++]=arguments[++s];return dn(v,i?e:this,d)}return l}function xf(n){return function(t,e,r){return r&&typeof r!="number"&&ln(t,e,r)&&(e=r=o),t=nt(t),e===o?(e=t,t=0):e=nt(e),r=r===o?t<e?1:-1:nt(r),Ca(t,e,r,n)}}function je(n){return function(t,e){return typeof t=="string"&&typeof e=="string"||(t=Ln(t),e=Ln(e)),n(t,e)}}function wf(n,t,e,r,i,f,l,s,c,p){var _=t&Bn,d=_?l:o,v=_?o:l,w=_?f:o,y=_?o:f;t|=_?Mn:J,t&=~(_?J:Mn),t&de||(t&=-4);var S=[n,t,i,w,d,y,v,s,c,p],m=e.apply(o,S);return vi(n)&&Wf(m,S),m.placeholder=r,Bf(m,n,t)}function ai(n){var t=Q[n];return function(e,r){if(e=Ln(e),r=r==null?0:un(C(r),292),r&&Wu(e)){var i=(P(e)+"e").split("e"),f=t(i[0]+"e"+(+i[1]+r));return i=(P(f)+"e").split("e"),+(i[0]+"e"+(+i[1]-r))}return t(e)}}var $a=Ft&&1/Te(new Ft([,-0]))[1]==ve?function(n){return new Ft(n)}:Bi;function Af(n){return function(t){var e=fn(t);return e==Fn?Gr(t):e==Pn?us(t):Vl(t,n(t))}}function Qn(n,t,e,r,i,f,l,s){var c=t&et;if(!c&&typeof n!="function")throw new Rn(L);var p=r?r.length:0;if(p||(t&=-97,r=i=o),l=l===o?l:V(C(l),0),s=s===o?s:C(s),p-=i?i.length:0,t&J){var _=r,d=i;r=i=o}var v=c?o:gi(n),w=[n,t,e,r,i,_,d,f,l,s];if(v&&rc(w,v),n=w[0],t=w[1],e=w[2],r=w[3],i=w[4],s=w[9]=w[9]===o?c?0:n.length:V(w[9]-p,0),!s&&t&(Bn|gt)&&(t&=-25),!t||t==N)var y=Na(n,t,e);else t==Bn||t==gt?y=Ga(n,t,s):(t==Mn||t==(N|Mn))&&!i.length?y=Ha(n,t,e,r):y=Qe.apply(o,w);var S=v?ju:Wf;return Bf(S(y,w),n,t)}function yf(n,t,e,r){return n===o||Dn(n,Mt[e])&&!b.call(r,e)?t:n}function mf(n,t,e,r,i,f){return K(n)&&K(t)&&(f.set(t,n),Ze(n,t,o,mf,f),f.delete(t)),n}function qa(n){return ce(n)?o:n}function Ef(n,t,e,r,i,f){var l=e&zn,s=n.length,c=t.length;if(s!=c&&!(l&&c>s))return!1;var p=f.get(n),_=f.get(t);if(p&&_)return p==t&&_==n;var d=-1,v=!0,w=e&Rt?new vt:o;for(f.set(n,t),f.set(t,n);++d<s;){var y=n[d],S=t[d];if(r)var m=l?r(S,y,d,t,n,f):r(y,S,d,n,t,f);if(m!==o){if(m)continue;v=!1;break}if(w){if(!Fr(t,function(O,M){if(!Vt(w,M)&&(y===O||i(y,O,e,r,f)))return w.push(M)})){v=!1;break}}else if(!(y===S||i(y,S,e,r,f))){v=!1;break}}return f.delete(n),f.delete(t),v}function Ka(n,t,e,r,i,f,l){switch(e){case St:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case Qt:return!(n.byteLength!=t.byteLength||!f(new Fe(n),new Fe(t)));case Kt:case zt:case Zt:return Dn(+n,+t);case Ae:return n.name==t.name&&n.message==t.message;case Yt:case Xt:return n==t+"";case Fn:var s=Gr;case Pn:var c=r&zn;if(s||(s=Te),n.size!=t.size&&!c)return!1;var p=l.get(n);if(p)return p==t;r|=Rt,l.set(n,t);var _=Ef(s(n),s(t),r,i,f,l);return l.delete(n),_;case me:if(ee)return ee.call(n)==ee.call(t)}return!1}function za(n,t,e,r,i,f){var l=e&zn,s=ci(n),c=s.length,p=ci(t),_=p.length;if(c!=_&&!l)return!1;for(var d=c;d--;){var v=s[d];if(!(l?v in t:b.call(t,v)))return!1}var w=f.get(n),y=f.get(t);if(w&&y)return w==t&&y==n;var S=!0;f.set(n,t),f.set(t,n);for(var m=l;++d<c;){v=s[d];var O=n[v],M=t[v];if(r)var An=l?r(M,O,v,t,n,f):r(O,M,v,n,t,f);if(!(An===o?O===M||i(O,M,e,r,f):An)){S=!1;break}m||(m=v=="constructor")}if(S&&!m){var sn=n.constructor,yn=t.constructor;sn!=yn&&"constructor"in n&&"constructor"in t&&!(typeof sn=="function"&&sn instanceof sn&&typeof yn=="function"&&yn instanceof yn)&&(S=!1)}return f.delete(n),f.delete(t),S}function Vn(n){return wi(Lf(n,o,Df),n+"")}function ci(n){return $u(n,j,_i)}function hi(n){return $u(n,gn,Rf)}var gi=Ge?function(n){return Ge.get(n)}:Bi;function nr(n){for(var t=n.name+"",e=Pt[t],r=b.call(Pt,t)?e.length:0;r--;){var i=e[r],f=i.func;if(f==null||f==n)return i.name}return t}function Nt(n){var t=b.call(u,"placeholder")?u:n;return t.placeholder}function A(){var n=u.iteratee||Oi;return n=n===Oi?zu:n,arguments.length?n(arguments[0],arguments[1]):n}function tr(n,t){var e=n.__data__;return ja(t)?e[typeof t=="string"?"string":"hash"]:e.map}function pi(n){for(var t=j(n),e=t.length;e--;){var r=t[e],i=n[r];t[e]=[r,i,Sf(i)]}return t}function At(n,t){var e=es(n,t);return Ku(e)?e:o}function Za(n){var t=b.call(n,_t),e=n[_t];try{n[_t]=o;var r=!0}catch{}var i=Be.call(n);return r&&(t?n[_t]=e:delete n[_t]),i}var _i=$r?function(n){return n==null?[]:(n=D(n),rt($r(n),function(t){return Lu.call(n,t)}))}:Mi,Rf=$r?function(n){for(var t=[];n;)it(t,_i(n)),n=Pe(n);return t}:Mi,fn=on;(qr&&fn(new qr(new ArrayBuffer(1)))!=St||jt&&fn(new jt)!=Fn||Kr&&fn(Kr.resolve())!=Ni||Ft&&fn(new Ft)!=Pn||ne&&fn(new ne)!=Jt)&&(fn=function(n){var t=on(n),e=t==Zn?n.constructor:o,r=e?yt(e):"";if(r)switch(r){case Ts:return St;case Ls:return Fn;case Os:return Ni;case Ws:return Pn;case Bs:return Jt}return t});function Ya(n,t,e){for(var r=-1,i=e.length;++r<i;){var f=e[r],l=f.size;switch(f.type){case"drop":n+=l;break;case"dropRight":t-=l;break;case"take":t=un(t,n+l);break;case"takeRight":n=V(n,t-l);break}}return{start:n,end:t}}function Xa(n){var t=n.match(nl);return t?t[1].split(tl):[]}function If(n,t,e){t=st(t,n);for(var r=-1,i=t.length,f=!1;++r<i;){var l=qn(t[r]);if(!(f=n!=null&&e(n,l)))break;n=n[l]}return f||++r!=i?f:(i=n==null?0:n.length,!!i&&lr(i)&&kn(l,i)&&(R(n)||mt(n)))}function Ja(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]=="string"&&b.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Cf(n){return typeof n.constructor=="function"&&!se(n)?bt(Pe(n)):{}}function Qa(n,t,e){var r=n.constructor;switch(t){case Qt:return li(n);case Kt:case zt:return new r(+n);case St:return Ma(n,e);case pr:case _r:case dr:case vr:case xr:case wr:case Ar:case yr:case mr:return lf(n,e);case Fn:return new r;case Zt:case Xt:return new r(n);case Yt:return Fa(n);case Pn:return new r;case me:return Pa(n)}}function Va(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(jo,`{ + */var F_=ge.exports,wo;function b_(){return wo||(wo=1,function(W,I){(function(){var o,$="4.17.21",U=200,k="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",L="Expected a function",nn="Invalid `variable` option passed into `_.template`",rn="__lodash_hash_undefined__",ht=500,Wn="__lodash_placeholder__",an=1,_e=2,Kn=4,zn=1,Rt=2,N=1,et=2,de=4,Bn=8,gt=16,Mn=32,J=64,_n=128,qt=256,gr=512,Io=30,Co="...",So=800,To=16,Ui=1,Lo=2,Oo=3,ve=1/0,It=9007199254740991,Wo=17976931348623157e292,xe=NaN,Gn=4294967295,Bo=Gn-1,Mo=Gn>>>1,Fo=[["ary",_n],["bind",N],["bindKey",et],["curry",Bn],["curryRight",gt],["flip",gr],["partial",Mn],["partialRight",J],["rearg",qt]],Ct="[object Arguments]",we="[object Array]",bo="[object AsyncFunction]",Kt="[object Boolean]",zt="[object Date]",Po="[object DOMException]",Ae="[object Error]",ye="[object Function]",Di="[object GeneratorFunction]",Fn="[object Map]",Zt="[object Number]",Uo="[object Null]",Zn="[object Object]",Ni="[object Promise]",Do="[object Proxy]",Yt="[object RegExp]",bn="[object Set]",Xt="[object String]",me="[object Symbol]",No="[object Undefined]",Jt="[object WeakMap]",Go="[object WeakSet]",Qt="[object ArrayBuffer]",St="[object DataView]",pr="[object Float32Array]",_r="[object Float64Array]",dr="[object Int8Array]",vr="[object Int16Array]",xr="[object Int32Array]",wr="[object Uint8Array]",Ar="[object Uint8ClampedArray]",yr="[object Uint16Array]",mr="[object Uint32Array]",Ho=/\b__p \+= '';/g,$o=/\b(__p \+=) '' \+/g,qo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gi=/&(?:amp|lt|gt|quot|#39);/g,Hi=/[&<>"']/g,Ko=RegExp(Gi.source),zo=RegExp(Hi.source),Zo=/<%-([\s\S]+?)%>/g,Yo=/<%([\s\S]+?)%>/g,$i=/<%=([\s\S]+?)%>/g,Xo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jo=/^\w*$/,Qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Er=/[\\^$.*+?()[\]{}|]/g,Vo=RegExp(Er.source),Rr=/^\s+/,ko=/\s/,jo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nl=/\{\n\/\* \[wrapped with (.+)\] \*/,tl=/,? & /,el=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,rl=/[()=,{}\[\]\/\s]/,il=/\\(\\)?/g,ul=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qi=/\w*$/,fl=/^[-+]0x[0-9a-f]+$/i,ol=/^0b[01]+$/i,ll=/^\[object .+?Constructor\]$/,sl=/^0o[0-7]+$/i,al=/^(?:0|[1-9]\d*)$/,cl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ee=/($^)/,hl=/['\n\r\u2028\u2029\\]/g,Re="\\ud800-\\udfff",gl="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",_l="\\u20d0-\\u20ff",Ki=gl+pl+_l,zi="\\u2700-\\u27bf",Zi="a-z\\xdf-\\xf6\\xf8-\\xff",dl="\\xac\\xb1\\xd7\\xf7",vl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xl="\\u2000-\\u206f",wl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Yi="A-Z\\xc0-\\xd6\\xd8-\\xde",Xi="\\ufe0e\\ufe0f",Ji=dl+vl+xl+wl,Ir="['’]",Al="["+Re+"]",Qi="["+Ji+"]",Ie="["+Ki+"]",Vi="\\d+",yl="["+zi+"]",ki="["+Zi+"]",ji="[^"+Re+Ji+Vi+zi+Zi+Yi+"]",Cr="\\ud83c[\\udffb-\\udfff]",ml="(?:"+Ie+"|"+Cr+")",nu="[^"+Re+"]",Sr="(?:\\ud83c[\\udde6-\\uddff]){2}",Tr="[\\ud800-\\udbff][\\udc00-\\udfff]",Tt="["+Yi+"]",tu="\\u200d",eu="(?:"+ki+"|"+ji+")",El="(?:"+Tt+"|"+ji+")",ru="(?:"+Ir+"(?:d|ll|m|re|s|t|ve))?",iu="(?:"+Ir+"(?:D|LL|M|RE|S|T|VE))?",uu=ml+"?",fu="["+Xi+"]?",Rl="(?:"+tu+"(?:"+[nu,Sr,Tr].join("|")+")"+fu+uu+")*",Il="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Cl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ou=fu+uu+Rl,Sl="(?:"+[yl,Sr,Tr].join("|")+")"+ou,Tl="(?:"+[nu+Ie+"?",Ie,Sr,Tr,Al].join("|")+")",Ll=RegExp(Ir,"g"),Ol=RegExp(Ie,"g"),Lr=RegExp(Cr+"(?="+Cr+")|"+Tl+ou,"g"),Wl=RegExp([Tt+"?"+ki+"+"+ru+"(?="+[Qi,Tt,"$"].join("|")+")",El+"+"+iu+"(?="+[Qi,Tt+eu,"$"].join("|")+")",Tt+"?"+eu+"+"+ru,Tt+"+"+iu,Cl,Il,Vi,Sl].join("|"),"g"),Bl=RegExp("["+tu+Re+Ki+Xi+"]"),Ml=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],bl=-1,H={};H[pr]=H[_r]=H[dr]=H[vr]=H[xr]=H[wr]=H[Ar]=H[yr]=H[mr]=!0,H[Ct]=H[we]=H[Qt]=H[Kt]=H[St]=H[zt]=H[Ae]=H[ye]=H[Fn]=H[Zt]=H[Zn]=H[Yt]=H[bn]=H[Xt]=H[Jt]=!1;var G={};G[Ct]=G[we]=G[Qt]=G[St]=G[Kt]=G[zt]=G[pr]=G[_r]=G[dr]=G[vr]=G[xr]=G[Fn]=G[Zt]=G[Zn]=G[Yt]=G[bn]=G[Xt]=G[me]=G[wr]=G[Ar]=G[yr]=G[mr]=!0,G[Ae]=G[ye]=G[Jt]=!1;var Pl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ul={"&":"&","<":"<",">":">",'"':""","'":"'"},Dl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Nl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Gl=parseFloat,Hl=parseInt,lu=typeof cr=="object"&&cr&&cr.Object===Object&&cr,$l=typeof self=="object"&&self&&self.Object===Object&&self,tn=lu||$l||Function("return this")(),Or=I&&!I.nodeType&&I,pt=Or&&!0&&W&&!W.nodeType&&W,su=pt&&pt.exports===Or,Wr=su&&lu.process,mn=function(){try{var a=pt&&pt.require&&pt.require("util").types;return a||Wr&&Wr.binding&&Wr.binding("util")}catch{}}(),au=mn&&mn.isArrayBuffer,cu=mn&&mn.isDate,hu=mn&&mn.isMap,gu=mn&&mn.isRegExp,pu=mn&&mn.isSet,_u=mn&&mn.isTypedArray;function dn(a,g,h){switch(h.length){case 0:return a.call(g);case 1:return a.call(g,h[0]);case 2:return a.call(g,h[0],h[1]);case 3:return a.call(g,h[0],h[1],h[2])}return a.apply(g,h)}function ql(a,g,h,x){for(var E=-1,F=a==null?0:a.length;++E<F;){var Q=a[E];g(x,Q,h(Q),a)}return x}function En(a,g){for(var h=-1,x=a==null?0:a.length;++h<x&&g(a[h],h,a)!==!1;);return a}function Kl(a,g){for(var h=a==null?0:a.length;h--&&g(a[h],h,a)!==!1;);return a}function du(a,g){for(var h=-1,x=a==null?0:a.length;++h<x;)if(!g(a[h],h,a))return!1;return!0}function rt(a,g){for(var h=-1,x=a==null?0:a.length,E=0,F=[];++h<x;){var Q=a[h];g(Q,h,a)&&(F[E++]=Q)}return F}function Ce(a,g){var h=a==null?0:a.length;return!!h&&Lt(a,g,0)>-1}function Br(a,g,h){for(var x=-1,E=a==null?0:a.length;++x<E;)if(h(g,a[x]))return!0;return!1}function q(a,g){for(var h=-1,x=a==null?0:a.length,E=Array(x);++h<x;)E[h]=g(a[h],h,a);return E}function it(a,g){for(var h=-1,x=g.length,E=a.length;++h<x;)a[E+h]=g[h];return a}function Mr(a,g,h,x){var E=-1,F=a==null?0:a.length;for(x&&F&&(h=a[++E]);++E<F;)h=g(h,a[E],E,a);return h}function zl(a,g,h,x){var E=a==null?0:a.length;for(x&&E&&(h=a[--E]);E--;)h=g(h,a[E],E,a);return h}function Fr(a,g){for(var h=-1,x=a==null?0:a.length;++h<x;)if(g(a[h],h,a))return!0;return!1}var Zl=br("length");function Yl(a){return a.split("")}function Xl(a){return a.match(el)||[]}function vu(a,g,h){var x;return h(a,function(E,F,Q){if(g(E,F,Q))return x=F,!1}),x}function Se(a,g,h,x){for(var E=a.length,F=h+(x?1:-1);x?F--:++F<E;)if(g(a[F],F,a))return F;return-1}function Lt(a,g,h){return g===g?fs(a,g,h):Se(a,xu,h)}function Jl(a,g,h,x){for(var E=h-1,F=a.length;++E<F;)if(x(a[E],g))return E;return-1}function xu(a){return a!==a}function wu(a,g){var h=a==null?0:a.length;return h?Ur(a,g)/h:xe}function br(a){return function(g){return g==null?o:g[a]}}function Pr(a){return function(g){return a==null?o:a[g]}}function Au(a,g,h,x,E){return E(a,function(F,Q,D){h=x?(x=!1,F):g(h,F,Q,D)}),h}function Ql(a,g){var h=a.length;for(a.sort(g);h--;)a[h]=a[h].value;return a}function Ur(a,g){for(var h,x=-1,E=a.length;++x<E;){var F=g(a[x]);F!==o&&(h=h===o?F:h+F)}return h}function Dr(a,g){for(var h=-1,x=Array(a);++h<a;)x[h]=g(h);return x}function Vl(a,g){return q(g,function(h){return[h,a[h]]})}function yu(a){return a&&a.slice(0,Iu(a)+1).replace(Rr,"")}function vn(a){return function(g){return a(g)}}function Nr(a,g){return q(g,function(h){return a[h]})}function Vt(a,g){return a.has(g)}function mu(a,g){for(var h=-1,x=a.length;++h<x&&Lt(g,a[h],0)>-1;);return h}function Eu(a,g){for(var h=a.length;h--&&Lt(g,a[h],0)>-1;);return h}function kl(a,g){for(var h=a.length,x=0;h--;)a[h]===g&&++x;return x}var jl=Pr(Pl),ns=Pr(Ul);function ts(a){return"\\"+Nl[a]}function es(a,g){return a==null?o:a[g]}function Ot(a){return Bl.test(a)}function rs(a){return Ml.test(a)}function is(a){for(var g,h=[];!(g=a.next()).done;)h.push(g.value);return h}function Gr(a){var g=-1,h=Array(a.size);return a.forEach(function(x,E){h[++g]=[E,x]}),h}function Ru(a,g){return function(h){return a(g(h))}}function ut(a,g){for(var h=-1,x=a.length,E=0,F=[];++h<x;){var Q=a[h];(Q===g||Q===Wn)&&(a[h]=Wn,F[E++]=h)}return F}function Te(a){var g=-1,h=Array(a.size);return a.forEach(function(x){h[++g]=x}),h}function us(a){var g=-1,h=Array(a.size);return a.forEach(function(x){h[++g]=[x,x]}),h}function fs(a,g,h){for(var x=h-1,E=a.length;++x<E;)if(a[x]===g)return x;return-1}function os(a,g,h){for(var x=h+1;x--;)if(a[x]===g)return x;return x}function Wt(a){return Ot(a)?ss(a):Zl(a)}function Pn(a){return Ot(a)?as(a):Yl(a)}function Iu(a){for(var g=a.length;g--&&ko.test(a.charAt(g)););return g}var ls=Pr(Dl);function ss(a){for(var g=Lr.lastIndex=0;Lr.test(a);)++g;return g}function as(a){return a.match(Lr)||[]}function cs(a){return a.match(Wl)||[]}var hs=function a(g){g=g==null?tn:Bt.defaults(tn.Object(),g,Bt.pick(tn,Fl));var h=g.Array,x=g.Date,E=g.Error,F=g.Function,Q=g.Math,D=g.Object,Hr=g.RegExp,gs=g.String,Rn=g.TypeError,Le=h.prototype,ps=F.prototype,Mt=D.prototype,Oe=g["__core-js_shared__"],We=ps.toString,P=Mt.hasOwnProperty,_s=0,Cu=function(){var n=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),Be=Mt.toString,ds=We.call(D),vs=tn._,xs=Hr("^"+We.call(P).replace(Er,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=su?g.Buffer:o,ft=g.Symbol,Fe=g.Uint8Array,Su=Me?Me.allocUnsafe:o,be=Ru(D.getPrototypeOf,D),Tu=D.create,Lu=Mt.propertyIsEnumerable,Pe=Le.splice,Ou=ft?ft.isConcatSpreadable:o,kt=ft?ft.iterator:o,_t=ft?ft.toStringTag:o,Ue=function(){try{var n=At(D,"defineProperty");return n({},"",{}),n}catch{}}(),ws=g.clearTimeout!==tn.clearTimeout&&g.clearTimeout,As=x&&x.now!==tn.Date.now&&x.now,ys=g.setTimeout!==tn.setTimeout&&g.setTimeout,De=Q.ceil,Ne=Q.floor,$r=D.getOwnPropertySymbols,ms=Me?Me.isBuffer:o,Wu=g.isFinite,Es=Le.join,Rs=Ru(D.keys,D),V=Q.max,un=Q.min,Is=x.now,Cs=g.parseInt,Bu=Q.random,Ss=Le.reverse,qr=At(g,"DataView"),jt=At(g,"Map"),Kr=At(g,"Promise"),Ft=At(g,"Set"),ne=At(g,"WeakMap"),te=At(D,"create"),Ge=ne&&new ne,bt={},Ts=yt(qr),Ls=yt(jt),Os=yt(Kr),Ws=yt(Ft),Bs=yt(ne),He=ft?ft.prototype:o,ee=He?He.valueOf:o,Mu=He?He.toString:o;function u(n){if(z(n)&&!R(n)&&!(n instanceof B)){if(n instanceof In)return n;if(P.call(n,"__wrapped__"))return bf(n)}return new In(n)}var Pt=function(){function n(){}return function(t){if(!K(t))return{};if(Tu)return Tu(t);n.prototype=t;var e=new n;return n.prototype=o,e}}();function $e(){}function In(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}u.templateSettings={escape:Zo,evaluate:Yo,interpolate:$i,variable:"",imports:{_:u}},u.prototype=$e.prototype,u.prototype.constructor=u,In.prototype=Pt($e.prototype),In.prototype.constructor=In;function B(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Gn,this.__views__=[]}function Ms(){var n=new B(this.__wrapped__);return n.__actions__=cn(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=cn(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=cn(this.__views__),n}function Fs(){if(this.__filtered__){var n=new B(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function bs(){var n=this.__wrapped__.value(),t=this.__dir__,e=R(n),r=t<0,i=e?n.length:0,f=Ya(0,i,this.__views__),l=f.start,s=f.end,c=s-l,p=r?s:l-1,_=this.__iteratees__,d=_.length,v=0,w=un(c,this.__takeCount__);if(!e||!r&&i==c&&w==c)return rf(n,this.__actions__);var y=[];n:for(;c--&&v<w;){p+=t;for(var S=-1,m=n[p];++S<d;){var O=_[S],M=O.iteratee,An=O.type,sn=M(m);if(An==Lo)m=sn;else if(!sn){if(An==Ui)continue n;break n}}y[v++]=m}return y}B.prototype=Pt($e.prototype),B.prototype.constructor=B;function dt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Ps(){this.__data__=te?te(null):{},this.size=0}function Us(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function Ds(n){var t=this.__data__;if(te){var e=t[n];return e===rn?o:e}return P.call(t,n)?t[n]:o}function Ns(n){var t=this.__data__;return te?t[n]!==o:P.call(t,n)}function Gs(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=te&&t===o?rn:t,this}dt.prototype.clear=Ps,dt.prototype.delete=Us,dt.prototype.get=Ds,dt.prototype.has=Ns,dt.prototype.set=Gs;function Yn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Hs(){this.__data__=[],this.size=0}function $s(n){var t=this.__data__,e=qe(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():Pe.call(t,e,1),--this.size,!0}function qs(n){var t=this.__data__,e=qe(t,n);return e<0?o:t[e][1]}function Ks(n){return qe(this.__data__,n)>-1}function zs(n,t){var e=this.__data__,r=qe(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}Yn.prototype.clear=Hs,Yn.prototype.delete=$s,Yn.prototype.get=qs,Yn.prototype.has=Ks,Yn.prototype.set=zs;function Xn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t<e;){var r=n[t];this.set(r[0],r[1])}}function Zs(){this.size=0,this.__data__={hash:new dt,map:new(jt||Yn),string:new dt}}function Ys(n){var t=tr(this,n).delete(n);return this.size-=t?1:0,t}function Xs(n){return tr(this,n).get(n)}function Js(n){return tr(this,n).has(n)}function Qs(n,t){var e=tr(this,n),r=e.size;return e.set(n,t),this.size+=e.size==r?0:1,this}Xn.prototype.clear=Zs,Xn.prototype.delete=Ys,Xn.prototype.get=Xs,Xn.prototype.has=Js,Xn.prototype.set=Qs;function vt(n){var t=-1,e=n==null?0:n.length;for(this.__data__=new Xn;++t<e;)this.add(n[t])}function Vs(n){return this.__data__.set(n,rn),this}function ks(n){return this.__data__.has(n)}vt.prototype.add=vt.prototype.push=Vs,vt.prototype.has=ks;function Un(n){var t=this.__data__=new Yn(n);this.size=t.size}function js(){this.__data__=new Yn,this.size=0}function na(n){var t=this.__data__,e=t.delete(n);return this.size=t.size,e}function ta(n){return this.__data__.get(n)}function ea(n){return this.__data__.has(n)}function ra(n,t){var e=this.__data__;if(e instanceof Yn){var r=e.__data__;if(!jt||r.length<U-1)return r.push([n,t]),this.size=++e.size,this;e=this.__data__=new Xn(r)}return e.set(n,t),this.size=e.size,this}Un.prototype.clear=js,Un.prototype.delete=na,Un.prototype.get=ta,Un.prototype.has=ea,Un.prototype.set=ra;function Fu(n,t){var e=R(n),r=!e&&mt(n),i=!e&&!r&&ct(n),f=!e&&!r&&!i&&Gt(n),l=e||r||i||f,s=l?Dr(n.length,gs):[],c=s.length;for(var p in n)(t||P.call(n,p))&&!(l&&(p=="length"||i&&(p=="offset"||p=="parent")||f&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||kn(p,c)))&&s.push(p);return s}function bu(n){var t=n.length;return t?n[ti(0,t-1)]:o}function ia(n,t){return er(cn(n),xt(t,0,n.length))}function ua(n){return er(cn(n))}function zr(n,t,e){(e!==o&&!Dn(n[t],e)||e===o&&!(t in n))&&Jn(n,t,e)}function re(n,t,e){var r=n[t];(!(P.call(n,t)&&Dn(r,e))||e===o&&!(t in n))&&Jn(n,t,e)}function qe(n,t){for(var e=n.length;e--;)if(Dn(n[e][0],t))return e;return-1}function fa(n,t,e,r){return ot(n,function(i,f,l){t(r,i,e(i),l)}),r}function Pu(n,t){return n&&$n(t,j(t),n)}function oa(n,t){return n&&$n(t,gn(t),n)}function Jn(n,t,e){t=="__proto__"&&Ue?Ue(n,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):n[t]=e}function Zr(n,t){for(var e=-1,r=t.length,i=h(r),f=n==null;++e<r;)i[e]=f?o:Ci(n,t[e]);return i}function xt(n,t,e){return n===n&&(e!==o&&(n=n<=e?n:e),t!==o&&(n=n>=t?n:t)),n}function Cn(n,t,e,r,i,f){var l,s=t&an,c=t&_e,p=t&Kn;if(e&&(l=i?e(n,r,i,f):e(n)),l!==o)return l;if(!K(n))return n;var _=R(n);if(_){if(l=Ja(n),!s)return cn(n,l)}else{var d=fn(n),v=d==ye||d==Di;if(ct(n))return of(n,s);if(d==Zn||d==Ct||v&&!i){if(l=c||v?{}:Cf(n),!s)return c?Da(n,oa(l,n)):Ua(n,Pu(l,n))}else{if(!G[d])return i?n:{};l=Qa(n,d,s)}}f||(f=new Un);var w=f.get(n);if(w)return w;f.set(n,l),to(n)?n.forEach(function(m){l.add(Cn(m,t,e,m,n,f))}):jf(n)&&n.forEach(function(m,O){l.set(O,Cn(m,t,e,O,n,f))});var y=p?c?hi:ci:c?gn:j,S=_?o:y(n);return En(S||n,function(m,O){S&&(O=m,m=n[O]),re(l,O,Cn(m,t,e,O,n,f))}),l}function la(n){var t=j(n);return function(e){return Uu(e,n,t)}}function Uu(n,t,e){var r=e.length;if(n==null)return!r;for(n=D(n);r--;){var i=e[r],f=t[i],l=n[i];if(l===o&&!(i in n)||!f(l))return!1}return!0}function Du(n,t,e){if(typeof n!="function")throw new Rn(L);return ae(function(){n.apply(o,e)},t)}function ie(n,t,e,r){var i=-1,f=Ce,l=!0,s=n.length,c=[],p=t.length;if(!s)return c;e&&(t=q(t,vn(e))),r?(f=Br,l=!1):t.length>=U&&(f=Vt,l=!1,t=new vt(t));n:for(;++i<s;){var _=n[i],d=e==null?_:e(_);if(_=r||_!==0?_:0,l&&d===d){for(var v=p;v--;)if(t[v]===d)continue n;c.push(_)}else f(t,d,r)||c.push(_)}return c}var ot=hf(Hn),Nu=hf(Xr,!0);function sa(n,t){var e=!0;return ot(n,function(r,i,f){return e=!!t(r,i,f),e}),e}function Ke(n,t,e){for(var r=-1,i=n.length;++r<i;){var f=n[r],l=t(f);if(l!=null&&(s===o?l===l&&!wn(l):e(l,s)))var s=l,c=f}return c}function aa(n,t,e,r){var i=n.length;for(e=C(e),e<0&&(e=-e>i?0:i+e),r=r===o||r>i?i:C(r),r<0&&(r+=i),r=e>r?0:ro(r);e<r;)n[e++]=t;return n}function Gu(n,t){var e=[];return ot(n,function(r,i,f){t(r,i,f)&&e.push(r)}),e}function en(n,t,e,r,i){var f=-1,l=n.length;for(e||(e=ka),i||(i=[]);++f<l;){var s=n[f];t>0&&e(s)?t>1?en(s,t-1,e,r,i):it(i,s):r||(i[i.length]=s)}return i}var Yr=gf(),Hu=gf(!0);function Hn(n,t){return n&&Yr(n,t,j)}function Xr(n,t){return n&&Hu(n,t,j)}function ze(n,t){return rt(t,function(e){return jn(n[e])})}function wt(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&e<r;)n=n[qn(t[e++])];return e&&e==r?n:o}function $u(n,t,e){var r=t(n);return R(n)?r:it(r,e(n))}function on(n){return n==null?n===o?No:Uo:_t&&_t in D(n)?Za(n):uc(n)}function Jr(n,t){return n>t}function ca(n,t){return n!=null&&P.call(n,t)}function ha(n,t){return n!=null&&t in D(n)}function ga(n,t,e){return n>=un(t,e)&&n<V(t,e)}function Qr(n,t,e){for(var r=e?Br:Ce,i=n[0].length,f=n.length,l=f,s=h(f),c=1/0,p=[];l--;){var _=n[l];l&&t&&(_=q(_,vn(t))),c=un(_.length,c),s[l]=!e&&(t||i>=120&&_.length>=120)?new vt(l&&_):o}_=n[0];var d=-1,v=s[0];n:for(;++d<i&&p.length<c;){var w=_[d],y=t?t(w):w;if(w=e||w!==0?w:0,!(v?Vt(v,y):r(p,y,e))){for(l=f;--l;){var S=s[l];if(!(S?Vt(S,y):r(n[l],y,e)))continue n}v&&v.push(y),p.push(w)}}return p}function pa(n,t,e,r){return Hn(n,function(i,f,l){t(r,e(i),f,l)}),r}function ue(n,t,e){t=st(t,n),n=Of(n,t);var r=n==null?n:n[qn(Tn(t))];return r==null?o:dn(r,n,e)}function qu(n){return z(n)&&on(n)==Ct}function _a(n){return z(n)&&on(n)==Qt}function da(n){return z(n)&&on(n)==zt}function fe(n,t,e,r,i){return n===t?!0:n==null||t==null||!z(n)&&!z(t)?n!==n&&t!==t:va(n,t,e,r,fe,i)}function va(n,t,e,r,i,f){var l=R(n),s=R(t),c=l?we:fn(n),p=s?we:fn(t);c=c==Ct?Zn:c,p=p==Ct?Zn:p;var _=c==Zn,d=p==Zn,v=c==p;if(v&&ct(n)){if(!ct(t))return!1;l=!0,_=!1}if(v&&!_)return f||(f=new Un),l||Gt(n)?Ef(n,t,e,r,i,f):Ka(n,t,c,e,r,i,f);if(!(e&zn)){var w=_&&P.call(n,"__wrapped__"),y=d&&P.call(t,"__wrapped__");if(w||y){var S=w?n.value():n,m=y?t.value():t;return f||(f=new Un),i(S,m,e,r,f)}}return v?(f||(f=new Un),za(n,t,e,r,i,f)):!1}function xa(n){return z(n)&&fn(n)==Fn}function Vr(n,t,e,r){var i=e.length,f=i,l=!r;if(n==null)return!f;for(n=D(n);i--;){var s=e[i];if(l&&s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++i<f;){s=e[i];var c=s[0],p=n[c],_=s[1];if(l&&s[2]){if(p===o&&!(c in n))return!1}else{var d=new Un;if(r)var v=r(p,_,c,n,t,d);if(!(v===o?fe(_,p,zn|Rt,r,d):v))return!1}}return!0}function Ku(n){if(!K(n)||nc(n))return!1;var t=jn(n)?xs:ll;return t.test(yt(n))}function wa(n){return z(n)&&on(n)==Yt}function Aa(n){return z(n)&&fn(n)==bn}function ya(n){return z(n)&&lr(n.length)&&!!H[on(n)]}function zu(n){return typeof n=="function"?n:n==null?pn:typeof n=="object"?R(n)?Xu(n[0],n[1]):Yu(n):po(n)}function kr(n){if(!se(n))return Rs(n);var t=[];for(var e in D(n))P.call(n,e)&&e!="constructor"&&t.push(e);return t}function ma(n){if(!K(n))return ic(n);var t=se(n),e=[];for(var r in n)r=="constructor"&&(t||!P.call(n,r))||e.push(r);return e}function jr(n,t){return n<t}function Zu(n,t){var e=-1,r=hn(n)?h(n.length):[];return ot(n,function(i,f,l){r[++e]=t(i,f,l)}),r}function Yu(n){var t=pi(n);return t.length==1&&t[0][2]?Tf(t[0][0],t[0][1]):function(e){return e===n||Vr(e,n,t)}}function Xu(n,t){return di(n)&&Sf(t)?Tf(qn(n),t):function(e){var r=Ci(e,n);return r===o&&r===t?Si(e,n):fe(t,r,zn|Rt)}}function Ze(n,t,e,r,i){n!==t&&Yr(t,function(f,l){if(i||(i=new Un),K(f))Ea(n,t,l,e,Ze,r,i);else{var s=r?r(xi(n,l),f,l+"",n,t,i):o;s===o&&(s=f),zr(n,l,s)}},gn)}function Ea(n,t,e,r,i,f,l){var s=xi(n,e),c=xi(t,e),p=l.get(c);if(p){zr(n,e,p);return}var _=f?f(s,c,e+"",n,t,l):o,d=_===o;if(d){var v=R(c),w=!v&&ct(c),y=!v&&!w&&Gt(c);_=c,v||w||y?R(s)?_=s:Z(s)?_=cn(s):w?(d=!1,_=of(c,!0)):y?(d=!1,_=lf(c,!0)):_=[]:ce(c)||mt(c)?(_=s,mt(s)?_=io(s):(!K(s)||jn(s))&&(_=Cf(c))):d=!1}d&&(l.set(c,_),i(_,c,r,f,l),l.delete(c)),zr(n,e,_)}function Ju(n,t){var e=n.length;if(e)return t+=t<0?e:0,kn(t,e)?n[t]:o}function Qu(n,t,e){t.length?t=q(t,function(f){return R(f)?function(l){return wt(l,f.length===1?f[0]:f)}:f}):t=[pn];var r=-1;t=q(t,vn(A()));var i=Zu(n,function(f,l,s){var c=q(t,function(p){return p(f)});return{criteria:c,index:++r,value:f}});return Ql(i,function(f,l){return Pa(f,l,e)})}function Ra(n,t){return Vu(n,t,function(e,r){return Si(n,r)})}function Vu(n,t,e){for(var r=-1,i=t.length,f={};++r<i;){var l=t[r],s=wt(n,l);e(s,l)&&oe(f,st(l,n),s)}return f}function Ia(n){return function(t){return wt(t,n)}}function ni(n,t,e,r){var i=r?Jl:Lt,f=-1,l=t.length,s=n;for(n===t&&(t=cn(t)),e&&(s=q(n,vn(e)));++f<l;)for(var c=0,p=t[f],_=e?e(p):p;(c=i(s,_,c,r))>-1;)s!==n&&Pe.call(s,c,1),Pe.call(n,c,1);return n}function ku(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==f){var f=i;kn(i)?Pe.call(n,i,1):ii(n,i)}}return n}function ti(n,t){return n+Ne(Bu()*(t-n+1))}function Ca(n,t,e,r){for(var i=-1,f=V(De((t-n)/(e||1)),0),l=h(f);f--;)l[r?f:++i]=n,n+=e;return l}function ei(n,t){var e="";if(!n||t<1||t>It)return e;do t%2&&(e+=n),t=Ne(t/2),t&&(n+=n);while(t);return e}function T(n,t){return wi(Lf(n,t,pn),n+"")}function Sa(n){return bu(Ht(n))}function Ta(n,t){var e=Ht(n);return er(e,xt(t,0,e.length))}function oe(n,t,e,r){if(!K(n))return n;t=st(t,n);for(var i=-1,f=t.length,l=f-1,s=n;s!=null&&++i<f;){var c=qn(t[i]),p=e;if(c==="__proto__"||c==="constructor"||c==="prototype")return n;if(i!=l){var _=s[c];p=r?r(_,c,s):o,p===o&&(p=K(_)?_:kn(t[i+1])?[]:{})}re(s,c,p),s=s[c]}return n}var ju=Ge?function(n,t){return Ge.set(n,t),n}:pn,La=Ue?function(n,t){return Ue(n,"toString",{configurable:!0,enumerable:!1,value:Li(t),writable:!0})}:pn;function Oa(n){return er(Ht(n))}function Sn(n,t,e){var r=-1,i=n.length;t<0&&(t=-t>i?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var f=h(i);++r<i;)f[r]=n[r+t];return f}function Wa(n,t){var e;return ot(n,function(r,i,f){return e=t(r,i,f),!e}),!!e}function Ye(n,t,e){var r=0,i=n==null?r:n.length;if(typeof t=="number"&&t===t&&i<=Mo){for(;r<i;){var f=r+i>>>1,l=n[f];l!==null&&!wn(l)&&(e?l<=t:l<t)?r=f+1:i=f}return i}return ri(n,t,pn,e)}function ri(n,t,e,r){var i=0,f=n==null?0:n.length;if(f===0)return 0;t=e(t);for(var l=t!==t,s=t===null,c=wn(t),p=t===o;i<f;){var _=Ne((i+f)/2),d=e(n[_]),v=d!==o,w=d===null,y=d===d,S=wn(d);if(l)var m=r||y;else p?m=y&&(r||v):s?m=y&&v&&(r||!w):c?m=y&&v&&!w&&(r||!S):w||S?m=!1:m=r?d<=t:d<t;m?i=_+1:f=_}return un(f,Bo)}function nf(n,t){for(var e=-1,r=n.length,i=0,f=[];++e<r;){var l=n[e],s=t?t(l):l;if(!e||!Dn(s,c)){var c=s;f[i++]=l===0?0:l}}return f}function tf(n){return typeof n=="number"?n:wn(n)?xe:+n}function xn(n){if(typeof n=="string")return n;if(R(n))return q(n,xn)+"";if(wn(n))return Mu?Mu.call(n):"";var t=n+"";return t=="0"&&1/n==-1/0?"-0":t}function lt(n,t,e){var r=-1,i=Ce,f=n.length,l=!0,s=[],c=s;if(e)l=!1,i=Br;else if(f>=U){var p=t?null:$a(n);if(p)return Te(p);l=!1,i=Vt,c=new vt}else c=t?[]:s;n:for(;++r<f;){var _=n[r],d=t?t(_):_;if(_=e||_!==0?_:0,l&&d===d){for(var v=c.length;v--;)if(c[v]===d)continue n;t&&c.push(d),s.push(_)}else i(c,d,e)||(c!==s&&c.push(d),s.push(_))}return s}function ii(n,t){return t=st(t,n),n=Of(n,t),n==null||delete n[qn(Tn(t))]}function ef(n,t,e,r){return oe(n,t,e(wt(n,t)),r)}function Xe(n,t,e,r){for(var i=n.length,f=r?i:-1;(r?f--:++f<i)&&t(n[f],f,n););return e?Sn(n,r?0:f,r?f+1:i):Sn(n,r?f+1:0,r?i:f)}function rf(n,t){var e=n;return e instanceof B&&(e=e.value()),Mr(t,function(r,i){return i.func.apply(i.thisArg,it([r],i.args))},e)}function ui(n,t,e){var r=n.length;if(r<2)return r?lt(n[0]):[];for(var i=-1,f=h(r);++i<r;)for(var l=n[i],s=-1;++s<r;)s!=i&&(f[i]=ie(f[i]||l,n[s],t,e));return lt(en(f,1),t,e)}function uf(n,t,e){for(var r=-1,i=n.length,f=t.length,l={};++r<i;){var s=r<f?t[r]:o;e(l,n[r],s)}return l}function fi(n){return Z(n)?n:[]}function oi(n){return typeof n=="function"?n:pn}function st(n,t){return R(n)?n:di(n,t)?[n]:Ff(b(n))}var Ba=T;function at(n,t,e){var r=n.length;return e=e===o?r:e,!t&&e>=r?n:Sn(n,t,e)}var ff=ws||function(n){return tn.clearTimeout(n)};function of(n,t){if(t)return n.slice();var e=n.length,r=Su?Su(e):new n.constructor(e);return n.copy(r),r}function li(n){var t=new n.constructor(n.byteLength);return new Fe(t).set(new Fe(n)),t}function Ma(n,t){var e=t?li(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function Fa(n){var t=new n.constructor(n.source,qi.exec(n));return t.lastIndex=n.lastIndex,t}function ba(n){return ee?D(ee.call(n)):{}}function lf(n,t){var e=t?li(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function sf(n,t){if(n!==t){var e=n!==o,r=n===null,i=n===n,f=wn(n),l=t!==o,s=t===null,c=t===t,p=wn(t);if(!s&&!p&&!f&&n>t||f&&l&&c&&!s&&!p||r&&l&&c||!e&&c||!i)return 1;if(!r&&!f&&!p&&n<t||p&&e&&i&&!r&&!f||s&&e&&i||!l&&i||!c)return-1}return 0}function Pa(n,t,e){for(var r=-1,i=n.criteria,f=t.criteria,l=i.length,s=e.length;++r<l;){var c=sf(i[r],f[r]);if(c){if(r>=s)return c;var p=e[r];return c*(p=="desc"?-1:1)}}return n.index-t.index}function af(n,t,e,r){for(var i=-1,f=n.length,l=e.length,s=-1,c=t.length,p=V(f-l,0),_=h(c+p),d=!r;++s<c;)_[s]=t[s];for(;++i<l;)(d||i<f)&&(_[e[i]]=n[i]);for(;p--;)_[s++]=n[i++];return _}function cf(n,t,e,r){for(var i=-1,f=n.length,l=-1,s=e.length,c=-1,p=t.length,_=V(f-s,0),d=h(_+p),v=!r;++i<_;)d[i]=n[i];for(var w=i;++c<p;)d[w+c]=t[c];for(;++l<s;)(v||i<f)&&(d[w+e[l]]=n[i++]);return d}function cn(n,t){var e=-1,r=n.length;for(t||(t=h(r));++e<r;)t[e]=n[e];return t}function $n(n,t,e,r){var i=!e;e||(e={});for(var f=-1,l=t.length;++f<l;){var s=t[f],c=r?r(e[s],n[s],s,e,n):o;c===o&&(c=n[s]),i?Jn(e,s,c):re(e,s,c)}return e}function Ua(n,t){return $n(n,_i(n),t)}function Da(n,t){return $n(n,Rf(n),t)}function Je(n,t){return function(e,r){var i=R(e)?ql:fa,f=t?t():{};return i(e,n,A(r,2),f)}}function Ut(n){return T(function(t,e){var r=-1,i=e.length,f=i>1?e[i-1]:o,l=i>2?e[2]:o;for(f=n.length>3&&typeof f=="function"?(i--,f):o,l&&ln(e[0],e[1],l)&&(f=i<3?o:f,i=1),t=D(t);++r<i;){var s=e[r];s&&n(t,s,r,f)}return t})}function hf(n,t){return function(e,r){if(e==null)return e;if(!hn(e))return n(e,r);for(var i=e.length,f=t?i:-1,l=D(e);(t?f--:++f<i)&&r(l[f],f,l)!==!1;);return e}}function gf(n){return function(t,e,r){for(var i=-1,f=D(t),l=r(t),s=l.length;s--;){var c=l[n?s:++i];if(e(f[c],c,f)===!1)break}return t}}function Na(n,t,e){var r=t&N,i=le(n);function f(){var l=this&&this!==tn&&this instanceof f?i:n;return l.apply(r?e:this,arguments)}return f}function pf(n){return function(t){t=b(t);var e=Ot(t)?Pn(t):o,r=e?e[0]:t.charAt(0),i=e?at(e,1).join(""):t.slice(1);return r[n]()+i}}function Dt(n){return function(t){return Mr(ho(co(t).replace(Ll,"")),n,"")}}function le(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=Pt(n.prototype),r=n.apply(e,t);return K(r)?r:e}}function Ga(n,t,e){var r=le(n);function i(){for(var f=arguments.length,l=h(f),s=f,c=Nt(i);s--;)l[s]=arguments[s];var p=f<3&&l[0]!==c&&l[f-1]!==c?[]:ut(l,c);if(f-=p.length,f<e)return wf(n,t,Qe,i.placeholder,o,l,p,o,o,e-f);var _=this&&this!==tn&&this instanceof i?r:n;return dn(_,this,l)}return i}function _f(n){return function(t,e,r){var i=D(t);if(!hn(t)){var f=A(e,3);t=j(t),e=function(s){return f(i[s],s,i)}}var l=n(t,e,r);return l>-1?i[f?t[l]:l]:o}}function df(n){return Vn(function(t){var e=t.length,r=e,i=In.prototype.thru;for(n&&t.reverse();r--;){var f=t[r];if(typeof f!="function")throw new Rn(L);if(i&&!l&&nr(f)=="wrapper")var l=new In([],!0)}for(r=l?r:e;++r<e;){f=t[r];var s=nr(f),c=s=="wrapper"?gi(f):o;c&&vi(c[0])&&c[1]==(_n|Bn|Mn|qt)&&!c[4].length&&c[9]==1?l=l[nr(c[0])].apply(l,c[3]):l=f.length==1&&vi(f)?l[s]():l.thru(f)}return function(){var p=arguments,_=p[0];if(l&&p.length==1&&R(_))return l.plant(_).value();for(var d=0,v=e?t[d].apply(this,p):_;++d<e;)v=t[d].call(this,v);return v}})}function Qe(n,t,e,r,i,f,l,s,c,p){var _=t&_n,d=t&N,v=t&et,w=t&(Bn|gt),y=t&gr,S=v?o:le(n);function m(){for(var O=arguments.length,M=h(O),An=O;An--;)M[An]=arguments[An];if(w)var sn=Nt(m),yn=kl(M,sn);if(r&&(M=af(M,r,i,w)),f&&(M=cf(M,f,l,w)),O-=yn,w&&O<p){var Y=ut(M,sn);return wf(n,t,Qe,m.placeholder,e,M,Y,s,c,p-O)}var Nn=d?e:this,tt=v?Nn[n]:n;return O=M.length,s?M=fc(M,s):y&&O>1&&M.reverse(),_&&c<O&&(M.length=c),this&&this!==tn&&this instanceof m&&(tt=S||le(tt)),tt.apply(Nn,M)}return m}function vf(n,t){return function(e,r){return pa(e,n,t(r),{})}}function Ve(n,t){return function(e,r){var i;if(e===o&&r===o)return t;if(e!==o&&(i=e),r!==o){if(i===o)return r;typeof e=="string"||typeof r=="string"?(e=xn(e),r=xn(r)):(e=tf(e),r=tf(r)),i=n(e,r)}return i}}function si(n){return Vn(function(t){return t=q(t,vn(A())),T(function(e){var r=this;return n(t,function(i){return dn(i,r,e)})})})}function ke(n,t){t=t===o?" ":xn(t);var e=t.length;if(e<2)return e?ei(t,n):t;var r=ei(t,De(n/Wt(t)));return Ot(t)?at(Pn(r),0,n).join(""):r.slice(0,n)}function Ha(n,t,e,r){var i=t&N,f=le(n);function l(){for(var s=-1,c=arguments.length,p=-1,_=r.length,d=h(_+c),v=this&&this!==tn&&this instanceof l?f:n;++p<_;)d[p]=r[p];for(;c--;)d[p++]=arguments[++s];return dn(v,i?e:this,d)}return l}function xf(n){return function(t,e,r){return r&&typeof r!="number"&&ln(t,e,r)&&(e=r=o),t=nt(t),e===o?(e=t,t=0):e=nt(e),r=r===o?t<e?1:-1:nt(r),Ca(t,e,r,n)}}function je(n){return function(t,e){return typeof t=="string"&&typeof e=="string"||(t=Ln(t),e=Ln(e)),n(t,e)}}function wf(n,t,e,r,i,f,l,s,c,p){var _=t&Bn,d=_?l:o,v=_?o:l,w=_?f:o,y=_?o:f;t|=_?Mn:J,t&=~(_?J:Mn),t&de||(t&=-4);var S=[n,t,i,w,d,y,v,s,c,p],m=e.apply(o,S);return vi(n)&&Wf(m,S),m.placeholder=r,Bf(m,n,t)}function ai(n){var t=Q[n];return function(e,r){if(e=Ln(e),r=r==null?0:un(C(r),292),r&&Wu(e)){var i=(b(e)+"e").split("e"),f=t(i[0]+"e"+(+i[1]+r));return i=(b(f)+"e").split("e"),+(i[0]+"e"+(+i[1]-r))}return t(e)}}var $a=Ft&&1/Te(new Ft([,-0]))[1]==ve?function(n){return new Ft(n)}:Bi;function Af(n){return function(t){var e=fn(t);return e==Fn?Gr(t):e==bn?us(t):Vl(t,n(t))}}function Qn(n,t,e,r,i,f,l,s){var c=t&et;if(!c&&typeof n!="function")throw new Rn(L);var p=r?r.length:0;if(p||(t&=-97,r=i=o),l=l===o?l:V(C(l),0),s=s===o?s:C(s),p-=i?i.length:0,t&J){var _=r,d=i;r=i=o}var v=c?o:gi(n),w=[n,t,e,r,i,_,d,f,l,s];if(v&&rc(w,v),n=w[0],t=w[1],e=w[2],r=w[3],i=w[4],s=w[9]=w[9]===o?c?0:n.length:V(w[9]-p,0),!s&&t&(Bn|gt)&&(t&=-25),!t||t==N)var y=Na(n,t,e);else t==Bn||t==gt?y=Ga(n,t,s):(t==Mn||t==(N|Mn))&&!i.length?y=Ha(n,t,e,r):y=Qe.apply(o,w);var S=v?ju:Wf;return Bf(S(y,w),n,t)}function yf(n,t,e,r){return n===o||Dn(n,Mt[e])&&!P.call(r,e)?t:n}function mf(n,t,e,r,i,f){return K(n)&&K(t)&&(f.set(t,n),Ze(n,t,o,mf,f),f.delete(t)),n}function qa(n){return ce(n)?o:n}function Ef(n,t,e,r,i,f){var l=e&zn,s=n.length,c=t.length;if(s!=c&&!(l&&c>s))return!1;var p=f.get(n),_=f.get(t);if(p&&_)return p==t&&_==n;var d=-1,v=!0,w=e&Rt?new vt:o;for(f.set(n,t),f.set(t,n);++d<s;){var y=n[d],S=t[d];if(r)var m=l?r(S,y,d,t,n,f):r(y,S,d,n,t,f);if(m!==o){if(m)continue;v=!1;break}if(w){if(!Fr(t,function(O,M){if(!Vt(w,M)&&(y===O||i(y,O,e,r,f)))return w.push(M)})){v=!1;break}}else if(!(y===S||i(y,S,e,r,f))){v=!1;break}}return f.delete(n),f.delete(t),v}function Ka(n,t,e,r,i,f,l){switch(e){case St:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case Qt:return!(n.byteLength!=t.byteLength||!f(new Fe(n),new Fe(t)));case Kt:case zt:case Zt:return Dn(+n,+t);case Ae:return n.name==t.name&&n.message==t.message;case Yt:case Xt:return n==t+"";case Fn:var s=Gr;case bn:var c=r&zn;if(s||(s=Te),n.size!=t.size&&!c)return!1;var p=l.get(n);if(p)return p==t;r|=Rt,l.set(n,t);var _=Ef(s(n),s(t),r,i,f,l);return l.delete(n),_;case me:if(ee)return ee.call(n)==ee.call(t)}return!1}function za(n,t,e,r,i,f){var l=e&zn,s=ci(n),c=s.length,p=ci(t),_=p.length;if(c!=_&&!l)return!1;for(var d=c;d--;){var v=s[d];if(!(l?v in t:P.call(t,v)))return!1}var w=f.get(n),y=f.get(t);if(w&&y)return w==t&&y==n;var S=!0;f.set(n,t),f.set(t,n);for(var m=l;++d<c;){v=s[d];var O=n[v],M=t[v];if(r)var An=l?r(M,O,v,t,n,f):r(O,M,v,n,t,f);if(!(An===o?O===M||i(O,M,e,r,f):An)){S=!1;break}m||(m=v=="constructor")}if(S&&!m){var sn=n.constructor,yn=t.constructor;sn!=yn&&"constructor"in n&&"constructor"in t&&!(typeof sn=="function"&&sn instanceof sn&&typeof yn=="function"&&yn instanceof yn)&&(S=!1)}return f.delete(n),f.delete(t),S}function Vn(n){return wi(Lf(n,o,Df),n+"")}function ci(n){return $u(n,j,_i)}function hi(n){return $u(n,gn,Rf)}var gi=Ge?function(n){return Ge.get(n)}:Bi;function nr(n){for(var t=n.name+"",e=bt[t],r=P.call(bt,t)?e.length:0;r--;){var i=e[r],f=i.func;if(f==null||f==n)return i.name}return t}function Nt(n){var t=P.call(u,"placeholder")?u:n;return t.placeholder}function A(){var n=u.iteratee||Oi;return n=n===Oi?zu:n,arguments.length?n(arguments[0],arguments[1]):n}function tr(n,t){var e=n.__data__;return ja(t)?e[typeof t=="string"?"string":"hash"]:e.map}function pi(n){for(var t=j(n),e=t.length;e--;){var r=t[e],i=n[r];t[e]=[r,i,Sf(i)]}return t}function At(n,t){var e=es(n,t);return Ku(e)?e:o}function Za(n){var t=P.call(n,_t),e=n[_t];try{n[_t]=o;var r=!0}catch{}var i=Be.call(n);return r&&(t?n[_t]=e:delete n[_t]),i}var _i=$r?function(n){return n==null?[]:(n=D(n),rt($r(n),function(t){return Lu.call(n,t)}))}:Mi,Rf=$r?function(n){for(var t=[];n;)it(t,_i(n)),n=be(n);return t}:Mi,fn=on;(qr&&fn(new qr(new ArrayBuffer(1)))!=St||jt&&fn(new jt)!=Fn||Kr&&fn(Kr.resolve())!=Ni||Ft&&fn(new Ft)!=bn||ne&&fn(new ne)!=Jt)&&(fn=function(n){var t=on(n),e=t==Zn?n.constructor:o,r=e?yt(e):"";if(r)switch(r){case Ts:return St;case Ls:return Fn;case Os:return Ni;case Ws:return bn;case Bs:return Jt}return t});function Ya(n,t,e){for(var r=-1,i=e.length;++r<i;){var f=e[r],l=f.size;switch(f.type){case"drop":n+=l;break;case"dropRight":t-=l;break;case"take":t=un(t,n+l);break;case"takeRight":n=V(n,t-l);break}}return{start:n,end:t}}function Xa(n){var t=n.match(nl);return t?t[1].split(tl):[]}function If(n,t,e){t=st(t,n);for(var r=-1,i=t.length,f=!1;++r<i;){var l=qn(t[r]);if(!(f=n!=null&&e(n,l)))break;n=n[l]}return f||++r!=i?f:(i=n==null?0:n.length,!!i&&lr(i)&&kn(l,i)&&(R(n)||mt(n)))}function Ja(n){var t=n.length,e=new n.constructor(t);return t&&typeof n[0]=="string"&&P.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Cf(n){return typeof n.constructor=="function"&&!se(n)?Pt(be(n)):{}}function Qa(n,t,e){var r=n.constructor;switch(t){case Qt:return li(n);case Kt:case zt:return new r(+n);case St:return Ma(n,e);case pr:case _r:case dr:case vr:case xr:case wr:case Ar:case yr:case mr:return lf(n,e);case Fn:return new r;case Zt:case Xt:return new r(n);case Yt:return Fa(n);case bn:return new r;case me:return ba(n)}}function Va(n,t){var e=t.length;if(!e)return n;var r=e-1;return t[r]=(e>1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(jo,`{ /* [wrapped with `+t+`] */ -`)}function ka(n){return R(n)||mt(n)||!!(Ou&&n&&n[Ou])}function kn(n,t){var e=typeof n;return t=t??It,!!t&&(e=="number"||e!="symbol"&&al.test(n))&&n>-1&&n%1==0&&n<t}function ln(n,t,e){if(!K(e))return!1;var r=typeof t;return(r=="number"?hn(e)&&kn(t,e.length):r=="string"&&t in e)?Dn(e[t],n):!1}function di(n,t){if(R(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||wn(n)?!0:Jo.test(n)||!Xo.test(n)||t!=null&&n in D(t)}function ja(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function vi(n){var t=nr(n),e=u[t];if(typeof e!="function"||!(t in B.prototype))return!1;if(n===e)return!0;var r=gi(e);return!!r&&n===r[0]}function nc(n){return!!Cu&&Cu in n}var tc=Oe?jn:Fi;function se(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||Mt;return n===e}function Sf(n){return n===n&&!K(n)}function Tf(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==o||n in D(e))}}function ec(n){var t=fr(n,function(r){return e.size===ht&&e.clear(),r}),e=t.cache;return t}function rc(n,t){var e=n[1],r=t[1],i=e|r,f=i<(N|et|_n),l=r==_n&&e==Bn||r==_n&&e==qt&&n[7].length<=t[8]||r==(_n|qt)&&t[7].length<=t[8]&&e==Bn;if(!(f||l))return n;r&N&&(n[2]=t[2],i|=e&N?0:de);var s=t[3];if(s){var c=n[3];n[3]=c?af(c,s,t[4]):s,n[4]=c?ut(n[3],Wn):t[4]}return s=t[5],s&&(c=n[5],n[5]=c?cf(c,s,t[6]):s,n[6]=c?ut(n[5],Wn):t[6]),s=t[7],s&&(n[7]=s),r&_n&&(n[8]=n[8]==null?t[8]:un(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=i,n}function ic(n){var t=[];if(n!=null)for(var e in D(n))t.push(e);return t}function uc(n){return Be.call(n)}function Lf(n,t,e){return t=V(t===o?n.length-1:t,0),function(){for(var r=arguments,i=-1,f=V(r.length-t,0),l=h(f);++i<f;)l[i]=r[t+i];i=-1;for(var s=h(t+1);++i<t;)s[i]=r[i];return s[t]=e(l),dn(n,this,s)}}function Of(n,t){return t.length<2?n:wt(n,Sn(t,0,-1))}function fc(n,t){for(var e=n.length,r=un(t.length,e),i=cn(n);r--;){var f=t[r];n[r]=kn(f,e)?i[f]:o}return n}function xi(n,t){if(!(t==="constructor"&&typeof n[t]=="function")&&t!="__proto__")return n[t]}var Wf=Mf(ju),ae=ys||function(n,t){return tn.setTimeout(n,t)},wi=Mf(La);function Bf(n,t,e){var r=t+"";return wi(n,Va(r,oc(Xa(r),e)))}function Mf(n){var t=0,e=0;return function(){var r=Is(),i=To-(r-e);if(e=r,i>0){if(++t>=So)return arguments[0]}else t=0;return n.apply(o,arguments)}}function er(n,t){var e=-1,r=n.length,i=r-1;for(t=t===o?r:t;++e<t;){var f=ti(e,i),l=n[f];n[f]=n[e],n[e]=l}return n.length=t,n}var Ff=ec(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(""),n.replace(Qo,function(e,r,i,f){t.push(i?f.replace(il,"$1"):r||e)}),t});function qn(n){if(typeof n=="string"||wn(n))return n;var t=n+"";return t=="0"&&1/n==-1/0?"-0":t}function yt(n){if(n!=null){try{return We.call(n)}catch{}try{return n+""}catch{}}return""}function oc(n,t){return En(Fo,function(e){var r="_."+e[0];t&e[1]&&!Ce(n,r)&&n.push(r)}),n.sort()}function Pf(n){if(n instanceof B)return n.clone();var t=new In(n.__wrapped__,n.__chain__);return t.__actions__=cn(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function lc(n,t,e){(e?ln(n,t,e):t===o)?t=1:t=V(C(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var i=0,f=0,l=h(De(r/t));i<r;)l[f++]=Sn(n,i,i+=t);return l}function sc(n){for(var t=-1,e=n==null?0:n.length,r=0,i=[];++t<e;){var f=n[t];f&&(i[r++]=f)}return i}function ac(){var n=arguments.length;if(!n)return[];for(var t=h(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return it(R(e)?cn(e):[e],en(t,1))}var cc=T(function(n,t){return Z(n)?ie(n,en(t,1,Z,!0)):[]}),hc=T(function(n,t){var e=Tn(t);return Z(e)&&(e=o),Z(n)?ie(n,en(t,1,Z,!0),A(e,2)):[]}),gc=T(function(n,t){var e=Tn(t);return Z(e)&&(e=o),Z(n)?ie(n,en(t,1,Z,!0),o,e):[]});function pc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),Sn(n,t<0?0:t,r)):[]}function _c(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),t=r-t,Sn(n,0,t<0?0:t)):[]}function dc(n,t){return n&&n.length?Xe(n,A(t,3),!0,!0):[]}function vc(n,t){return n&&n.length?Xe(n,A(t,3),!0):[]}function xc(n,t,e,r){var i=n==null?0:n.length;return i?(e&&typeof e!="number"&&ln(n,t,e)&&(e=0,r=i),aa(n,t,e,r)):[]}function bf(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:C(e);return i<0&&(i=V(r+i,0)),Se(n,A(t,3),i)}function Uf(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r-1;return e!==o&&(i=C(e),i=e<0?V(r+i,0):un(i,r-1)),Se(n,A(t,3),i,!0)}function Df(n){var t=n==null?0:n.length;return t?en(n,1):[]}function wc(n){var t=n==null?0:n.length;return t?en(n,ve):[]}function Ac(n,t){var e=n==null?0:n.length;return e?(t=t===o?1:C(t),en(n,t)):[]}function yc(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var i=n[t];r[i[0]]=i[1]}return r}function Nf(n){return n&&n.length?n[0]:o}function mc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:C(e);return i<0&&(i=V(r+i,0)),Lt(n,t,i)}function Ec(n){var t=n==null?0:n.length;return t?Sn(n,0,-1):[]}var Rc=T(function(n){var t=q(n,fi);return t.length&&t[0]===n[0]?Qr(t):[]}),Ic=T(function(n){var t=Tn(n),e=q(n,fi);return t===Tn(e)?t=o:e.pop(),e.length&&e[0]===n[0]?Qr(e,A(t,2)):[]}),Cc=T(function(n){var t=Tn(n),e=q(n,fi);return t=typeof t=="function"?t:o,t&&e.pop(),e.length&&e[0]===n[0]?Qr(e,o,t):[]});function Sc(n,t){return n==null?"":Es.call(n,t)}function Tn(n){var t=n==null?0:n.length;return t?n[t-1]:o}function Tc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r;return e!==o&&(i=C(e),i=i<0?V(r+i,0):un(i,r-1)),t===t?os(n,t,i):Se(n,xu,i,!0)}function Lc(n,t){return n&&n.length?Ju(n,C(t)):o}var Oc=T(Gf);function Gf(n,t){return n&&n.length&&t&&t.length?ni(n,t):n}function Wc(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,A(e,2)):n}function Bc(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,o,e):n}var Mc=Vn(function(n,t){var e=n==null?0:n.length,r=Zr(n,t);return ku(n,q(t,function(i){return kn(i,e)?+i:i}).sort(sf)),r});function Fc(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,i=[],f=n.length;for(t=A(t,3);++r<f;){var l=n[r];t(l,r,n)&&(e.push(l),i.push(r))}return ku(n,i),e}function Ai(n){return n==null?n:Ss.call(n)}function Pc(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!="number"&&ln(n,t,e)?(t=0,e=r):(t=t==null?0:C(t),e=e===o?r:C(e)),Sn(n,t,e)):[]}function bc(n,t){return Ye(n,t)}function Uc(n,t,e){return ri(n,t,A(e,2))}function Dc(n,t){var e=n==null?0:n.length;if(e){var r=Ye(n,t);if(r<e&&Dn(n[r],t))return r}return-1}function Nc(n,t){return Ye(n,t,!0)}function Gc(n,t,e){return ri(n,t,A(e,2),!0)}function Hc(n,t){var e=n==null?0:n.length;if(e){var r=Ye(n,t,!0)-1;if(Dn(n[r],t))return r}return-1}function $c(n){return n&&n.length?nf(n):[]}function qc(n,t){return n&&n.length?nf(n,A(t,2)):[]}function Kc(n){var t=n==null?0:n.length;return t?Sn(n,1,t):[]}function zc(n,t,e){return n&&n.length?(t=e||t===o?1:C(t),Sn(n,0,t<0?0:t)):[]}function Zc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),t=r-t,Sn(n,t<0?0:t,r)):[]}function Yc(n,t){return n&&n.length?Xe(n,A(t,3),!1,!0):[]}function Xc(n,t){return n&&n.length?Xe(n,A(t,3)):[]}var Jc=T(function(n){return lt(en(n,1,Z,!0))}),Qc=T(function(n){var t=Tn(n);return Z(t)&&(t=o),lt(en(n,1,Z,!0),A(t,2))}),Vc=T(function(n){var t=Tn(n);return t=typeof t=="function"?t:o,lt(en(n,1,Z,!0),o,t)});function kc(n){return n&&n.length?lt(n):[]}function jc(n,t){return n&&n.length?lt(n,A(t,2)):[]}function nh(n,t){return t=typeof t=="function"?t:o,n&&n.length?lt(n,o,t):[]}function yi(n){if(!(n&&n.length))return[];var t=0;return n=rt(n,function(e){if(Z(e))return t=V(e.length,t),!0}),Dr(t,function(e){return q(n,Pr(e))})}function Hf(n,t){if(!(n&&n.length))return[];var e=yi(n);return t==null?e:q(e,function(r){return dn(t,o,r)})}var th=T(function(n,t){return Z(n)?ie(n,t):[]}),eh=T(function(n){return ui(rt(n,Z))}),rh=T(function(n){var t=Tn(n);return Z(t)&&(t=o),ui(rt(n,Z),A(t,2))}),ih=T(function(n){var t=Tn(n);return t=typeof t=="function"?t:o,ui(rt(n,Z),o,t)}),uh=T(yi);function fh(n,t){return uf(n||[],t||[],re)}function oh(n,t){return uf(n||[],t||[],oe)}var lh=T(function(n){var t=n.length,e=t>1?n[t-1]:o;return e=typeof e=="function"?(n.pop(),e):o,Hf(n,e)});function $f(n){var t=u(n);return t.__chain__=!0,t}function sh(n,t){return t(n),n}function rr(n,t){return t(n)}var ah=Vn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(f){return Zr(f,n)};return t>1||this.__actions__.length||!(r instanceof B)||!kn(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:rr,args:[i],thisArg:o}),new In(r,this.__chain__).thru(function(f){return t&&!f.length&&f.push(o),f}))});function ch(){return $f(this)}function hh(){return new In(this.value(),this.__chain__)}function gh(){this.__values__===o&&(this.__values__=eo(this.value()));var n=this.__index__>=this.__values__.length,t=n?o:this.__values__[this.__index__++];return{done:n,value:t}}function ph(){return this}function _h(n){for(var t,e=this;e instanceof $e;){var r=Pf(e);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function dh(){var n=this.__wrapped__;if(n instanceof B){var t=n;return this.__actions__.length&&(t=new B(this)),t=t.reverse(),t.__actions__.push({func:rr,args:[Ai],thisArg:o}),new In(t,this.__chain__)}return this.thru(Ai)}function vh(){return rf(this.__wrapped__,this.__actions__)}var xh=Je(function(n,t,e){b.call(n,e)?++n[e]:Jn(n,e,1)});function wh(n,t,e){var r=R(n)?du:sa;return e&&ln(n,t,e)&&(t=o),r(n,A(t,3))}function Ah(n,t){var e=R(n)?rt:Gu;return e(n,A(t,3))}var yh=_f(bf),mh=_f(Uf);function Eh(n,t){return en(ir(n,t),1)}function Rh(n,t){return en(ir(n,t),ve)}function Ih(n,t,e){return e=e===o?1:C(e),en(ir(n,t),e)}function qf(n,t){var e=R(n)?En:ot;return e(n,A(t,3))}function Kf(n,t){var e=R(n)?Kl:Nu;return e(n,A(t,3))}var Ch=Je(function(n,t,e){b.call(n,e)?n[e].push(t):Jn(n,e,[t])});function Sh(n,t,e,r){n=hn(n)?n:Ht(n),e=e&&!r?C(e):0;var i=n.length;return e<0&&(e=V(i+e,0)),sr(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&Lt(n,t,e)>-1}var Th=T(function(n,t,e){var r=-1,i=typeof t=="function",f=hn(n)?h(n.length):[];return ot(n,function(l){f[++r]=i?dn(t,l,e):ue(l,t,e)}),f}),Lh=Je(function(n,t,e){Jn(n,e,t)});function ir(n,t){var e=R(n)?q:Zu;return e(n,A(t,3))}function Oh(n,t,e,r){return n==null?[]:(R(t)||(t=t==null?[]:[t]),e=r?o:e,R(e)||(e=e==null?[]:[e]),Qu(n,t,e))}var Wh=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Bh(n,t,e){var r=R(n)?Mr:Au,i=arguments.length<3;return r(n,A(t,4),e,i,ot)}function Mh(n,t,e){var r=R(n)?zl:Au,i=arguments.length<3;return r(n,A(t,4),e,i,Nu)}function Fh(n,t){var e=R(n)?rt:Gu;return e(n,or(A(t,3)))}function Ph(n){var t=R(n)?Pu:Sa;return t(n)}function bh(n,t,e){(e?ln(n,t,e):t===o)?t=1:t=C(t);var r=R(n)?ia:Ta;return r(n,t)}function Uh(n){var t=R(n)?ua:Oa;return t(n)}function Dh(n){if(n==null)return 0;if(hn(n))return sr(n)?Wt(n):n.length;var t=fn(n);return t==Fn||t==Pn?n.size:kr(n).length}function Nh(n,t,e){var r=R(n)?Fr:Wa;return e&&ln(n,t,e)&&(t=o),r(n,A(t,3))}var Gh=T(function(n,t){if(n==null)return[];var e=t.length;return e>1&&ln(n,t[0],t[1])?t=[]:e>2&&ln(t[0],t[1],t[2])&&(t=[t[0]]),Qu(n,en(t,1),[])}),ur=As||function(){return tn.Date.now()};function Hh(n,t){if(typeof t!="function")throw new Rn(L);return n=C(n),function(){if(--n<1)return t.apply(this,arguments)}}function zf(n,t,e){return t=e?o:t,t=n&&t==null?n.length:t,Qn(n,_n,o,o,o,o,t)}function Zf(n,t){var e;if(typeof t!="function")throw new Rn(L);return n=C(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=o),e}}var mi=T(function(n,t,e){var r=N;if(e.length){var i=ut(e,Nt(mi));r|=Mn}return Qn(n,r,t,e,i)}),Yf=T(function(n,t,e){var r=N|et;if(e.length){var i=ut(e,Nt(Yf));r|=Mn}return Qn(t,r,n,e,i)});function Xf(n,t,e){t=e?o:t;var r=Qn(n,Bn,o,o,o,o,o,t);return r.placeholder=Xf.placeholder,r}function Jf(n,t,e){t=e?o:t;var r=Qn(n,gt,o,o,o,o,o,t);return r.placeholder=Jf.placeholder,r}function Qf(n,t,e){var r,i,f,l,s,c,p=0,_=!1,d=!1,v=!0;if(typeof n!="function")throw new Rn(L);t=Ln(t)||0,K(e)&&(_=!!e.leading,d="maxWait"in e,f=d?V(Ln(e.maxWait)||0,t):f,v="trailing"in e?!!e.trailing:v);function w(Y){var Nn=r,tt=i;return r=i=o,p=Y,l=n.apply(tt,Nn),l}function y(Y){return p=Y,s=ae(O,t),_?w(Y):l}function S(Y){var Nn=Y-c,tt=Y-p,_o=t-Nn;return d?un(_o,f-tt):_o}function m(Y){var Nn=Y-c,tt=Y-p;return c===o||Nn>=t||Nn<0||d&&tt>=f}function O(){var Y=ur();if(m(Y))return M(Y);s=ae(O,S(Y))}function M(Y){return s=o,v&&r?w(Y):(r=i=o,l)}function An(){s!==o&&ff(s),p=0,r=c=i=s=o}function sn(){return s===o?l:M(ur())}function yn(){var Y=ur(),Nn=m(Y);if(r=arguments,i=this,c=Y,Nn){if(s===o)return y(c);if(d)return ff(s),s=ae(O,t),w(c)}return s===o&&(s=ae(O,t)),l}return yn.cancel=An,yn.flush=sn,yn}var $h=T(function(n,t){return Du(n,1,t)}),qh=T(function(n,t,e){return Du(n,Ln(t)||0,e)});function Kh(n){return Qn(n,gr)}function fr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new Rn(L);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],f=e.cache;if(f.has(i))return f.get(i);var l=n.apply(this,r);return e.cache=f.set(i,l)||f,l};return e.cache=new(fr.Cache||Xn),e}fr.Cache=Xn;function or(n){if(typeof n!="function")throw new Rn(L);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function zh(n){return Zf(2,n)}var Zh=Ba(function(n,t){t=t.length==1&&R(t[0])?q(t[0],vn(A())):q(en(t,1),vn(A()));var e=t.length;return T(function(r){for(var i=-1,f=un(r.length,e);++i<f;)r[i]=t[i].call(this,r[i]);return dn(n,this,r)})}),Ei=T(function(n,t){var e=ut(t,Nt(Ei));return Qn(n,Mn,o,t,e)}),Vf=T(function(n,t){var e=ut(t,Nt(Vf));return Qn(n,J,o,t,e)}),Yh=Vn(function(n,t){return Qn(n,qt,o,o,o,t)});function Xh(n,t){if(typeof n!="function")throw new Rn(L);return t=t===o?t:C(t),T(n,t)}function Jh(n,t){if(typeof n!="function")throw new Rn(L);return t=t==null?0:V(C(t),0),T(function(e){var r=e[t],i=at(e,0,t);return r&&it(i,r),dn(n,this,i)})}function Qh(n,t,e){var r=!0,i=!0;if(typeof n!="function")throw new Rn(L);return K(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Qf(n,t,{leading:r,maxWait:t,trailing:i})}function Vh(n){return zf(n,1)}function kh(n,t){return Ei(oi(t),n)}function jh(){if(!arguments.length)return[];var n=arguments[0];return R(n)?n:[n]}function ng(n){return Cn(n,Kn)}function tg(n,t){return t=typeof t=="function"?t:o,Cn(n,Kn,t)}function eg(n){return Cn(n,an|Kn)}function rg(n,t){return t=typeof t=="function"?t:o,Cn(n,an|Kn,t)}function ig(n,t){return t==null||Uu(n,t,j(t))}function Dn(n,t){return n===t||n!==n&&t!==t}var ug=je(Jr),fg=je(function(n,t){return n>=t}),mt=qu(function(){return arguments}())?qu:function(n){return z(n)&&b.call(n,"callee")&&!Lu.call(n,"callee")},R=h.isArray,og=au?vn(au):_a;function hn(n){return n!=null&&lr(n.length)&&!jn(n)}function Z(n){return z(n)&&hn(n)}function lg(n){return n===!0||n===!1||z(n)&&on(n)==Kt}var ct=ms||Fi,sg=cu?vn(cu):da;function ag(n){return z(n)&&n.nodeType===1&&!ce(n)}function cg(n){if(n==null)return!0;if(hn(n)&&(R(n)||typeof n=="string"||typeof n.splice=="function"||ct(n)||Gt(n)||mt(n)))return!n.length;var t=fn(n);if(t==Fn||t==Pn)return!n.size;if(se(n))return!kr(n).length;for(var e in n)if(b.call(n,e))return!1;return!0}function hg(n,t){return fe(n,t)}function gg(n,t,e){e=typeof e=="function"?e:o;var r=e?e(n,t):o;return r===o?fe(n,t,o,e):!!r}function Ri(n){if(!z(n))return!1;var t=on(n);return t==Ae||t==bo||typeof n.message=="string"&&typeof n.name=="string"&&!ce(n)}function pg(n){return typeof n=="number"&&Wu(n)}function jn(n){if(!K(n))return!1;var t=on(n);return t==ye||t==Di||t==Po||t==Do}function kf(n){return typeof n=="number"&&n==C(n)}function lr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=It}function K(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function z(n){return n!=null&&typeof n=="object"}var jf=hu?vn(hu):xa;function _g(n,t){return n===t||Vr(n,t,pi(t))}function dg(n,t,e){return e=typeof e=="function"?e:o,Vr(n,t,pi(t),e)}function vg(n){return no(n)&&n!=+n}function xg(n){if(tc(n))throw new E(k);return Ku(n)}function wg(n){return n===null}function Ag(n){return n==null}function no(n){return typeof n=="number"||z(n)&&on(n)==Zt}function ce(n){if(!z(n)||on(n)!=Zn)return!1;var t=Pe(n);if(t===null)return!0;var e=b.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&We.call(e)==ds}var Ii=gu?vn(gu):wa;function yg(n){return kf(n)&&n>=-9007199254740991&&n<=It}var to=pu?vn(pu):Aa;function sr(n){return typeof n=="string"||!R(n)&&z(n)&&on(n)==Xt}function wn(n){return typeof n=="symbol"||z(n)&&on(n)==me}var Gt=_u?vn(_u):ya;function mg(n){return n===o}function Eg(n){return z(n)&&fn(n)==Jt}function Rg(n){return z(n)&&on(n)==Go}var Ig=je(jr),Cg=je(function(n,t){return n<=t});function eo(n){if(!n)return[];if(hn(n))return sr(n)?bn(n):cn(n);if(kt&&n[kt])return is(n[kt]());var t=fn(n),e=t==Fn?Gr:t==Pn?Te:Ht;return e(n)}function nt(n){if(!n)return n===0?n:0;if(n=Ln(n),n===ve||n===-1/0){var t=n<0?-1:1;return t*Wo}return n===n?n:0}function C(n){var t=nt(n),e=t%1;return t===t?e?t-e:t:0}function ro(n){return n?xt(C(n),0,Gn):0}function Ln(n){if(typeof n=="number")return n;if(wn(n))return xe;if(K(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=K(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=yu(n);var e=ol.test(n);return e||sl.test(n)?Hl(n.slice(2),e?2:8):fl.test(n)?xe:+n}function io(n){return $n(n,gn(n))}function Sg(n){return n?xt(C(n),-9007199254740991,It):n===0?n:0}function P(n){return n==null?"":xn(n)}var Tg=Ut(function(n,t){if(se(t)||hn(t)){$n(t,j(t),n);return}for(var e in t)b.call(t,e)&&re(n,e,t[e])}),uo=Ut(function(n,t){$n(t,gn(t),n)}),ar=Ut(function(n,t,e,r){$n(t,gn(t),n,r)}),Lg=Ut(function(n,t,e,r){$n(t,j(t),n,r)}),Og=Vn(Zr);function Wg(n,t){var e=bt(n);return t==null?e:bu(e,t)}var Bg=T(function(n,t){n=D(n);var e=-1,r=t.length,i=r>2?t[2]:o;for(i&&ln(t[0],t[1],i)&&(r=1);++e<r;)for(var f=t[e],l=gn(f),s=-1,c=l.length;++s<c;){var p=l[s],_=n[p];(_===o||Dn(_,Mt[p])&&!b.call(n,p))&&(n[p]=f[p])}return n}),Mg=T(function(n){return n.push(o,mf),dn(fo,o,n)});function Fg(n,t){return vu(n,A(t,3),Hn)}function Pg(n,t){return vu(n,A(t,3),Xr)}function bg(n,t){return n==null?n:Yr(n,A(t,3),gn)}function Ug(n,t){return n==null?n:Hu(n,A(t,3),gn)}function Dg(n,t){return n&&Hn(n,A(t,3))}function Ng(n,t){return n&&Xr(n,A(t,3))}function Gg(n){return n==null?[]:ze(n,j(n))}function Hg(n){return n==null?[]:ze(n,gn(n))}function Ci(n,t,e){var r=n==null?o:wt(n,t);return r===o?e:r}function $g(n,t){return n!=null&&If(n,t,ca)}function Si(n,t){return n!=null&&If(n,t,ha)}var qg=vf(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Be.call(t)),n[t]=e},Li(pn)),Kg=vf(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Be.call(t)),b.call(n,t)?n[t].push(e):n[t]=[e]},A),zg=T(ue);function j(n){return hn(n)?Fu(n):kr(n)}function gn(n){return hn(n)?Fu(n,!0):ma(n)}function Zg(n,t){var e={};return t=A(t,3),Hn(n,function(r,i,f){Jn(e,t(r,i,f),r)}),e}function Yg(n,t){var e={};return t=A(t,3),Hn(n,function(r,i,f){Jn(e,i,t(r,i,f))}),e}var Xg=Ut(function(n,t,e){Ze(n,t,e)}),fo=Ut(function(n,t,e,r){Ze(n,t,e,r)}),Jg=Vn(function(n,t){var e={};if(n==null)return e;var r=!1;t=q(t,function(f){return f=st(f,n),r||(r=f.length>1),f}),$n(n,hi(n),e),r&&(e=Cn(e,an|_e|Kn,qa));for(var i=t.length;i--;)ii(e,t[i]);return e});function Qg(n,t){return oo(n,or(A(t)))}var Vg=Vn(function(n,t){return n==null?{}:Ra(n,t)});function oo(n,t){if(n==null)return{};var e=q(hi(n),function(r){return[r]});return t=A(t),Vu(n,e,function(r,i){return t(r,i[0])})}function kg(n,t,e){t=st(t,n);var r=-1,i=t.length;for(i||(i=1,n=o);++r<i;){var f=n==null?o:n[qn(t[r])];f===o&&(r=i,f=e),n=jn(f)?f.call(n):f}return n}function jg(n,t,e){return n==null?n:oe(n,t,e)}function np(n,t,e,r){return r=typeof r=="function"?r:o,n==null?n:oe(n,t,e,r)}var lo=Af(j),so=Af(gn);function tp(n,t,e){var r=R(n),i=r||ct(n)||Gt(n);if(t=A(t,4),e==null){var f=n&&n.constructor;i?e=r?new f:[]:K(n)?e=jn(f)?bt(Pe(n)):{}:e={}}return(i?En:Hn)(n,function(l,s,c){return t(e,l,s,c)}),e}function ep(n,t){return n==null?!0:ii(n,t)}function rp(n,t,e){return n==null?n:ef(n,t,oi(e))}function ip(n,t,e,r){return r=typeof r=="function"?r:o,n==null?n:ef(n,t,oi(e),r)}function Ht(n){return n==null?[]:Nr(n,j(n))}function up(n){return n==null?[]:Nr(n,gn(n))}function fp(n,t,e){return e===o&&(e=t,t=o),e!==o&&(e=Ln(e),e=e===e?e:0),t!==o&&(t=Ln(t),t=t===t?t:0),xt(Ln(n),t,e)}function op(n,t,e){return t=nt(t),e===o?(e=t,t=0):e=nt(e),n=Ln(n),ga(n,t,e)}function lp(n,t,e){if(e&&typeof e!="boolean"&&ln(n,t,e)&&(t=e=o),e===o&&(typeof t=="boolean"?(e=t,t=o):typeof n=="boolean"&&(e=n,n=o)),n===o&&t===o?(n=0,t=1):(n=nt(n),t===o?(t=n,n=0):t=nt(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var i=Bu();return un(n+i*(t-n+Gl("1e-"+((i+"").length-1))),t)}return ti(n,t)}var sp=Dt(function(n,t,e){return t=t.toLowerCase(),n+(e?ao(t):t)});function ao(n){return Ti(P(n).toLowerCase())}function co(n){return n=P(n),n&&n.replace(cl,jl).replace(Ol,"")}function ap(n,t,e){n=P(n),t=xn(t);var r=n.length;e=e===o?r:xt(C(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function cp(n){return n=P(n),n&&zo.test(n)?n.replace(Hi,ns):n}function hp(n){return n=P(n),n&&Vo.test(n)?n.replace(Er,"\\$&"):n}var gp=Dt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),pp=Dt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),_p=pf("toLowerCase");function dp(n,t,e){n=P(n),t=C(t);var r=t?Wt(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return ke(Ne(i),e)+n+ke(De(i),e)}function vp(n,t,e){n=P(n),t=C(t);var r=t?Wt(n):0;return t&&r<t?n+ke(t-r,e):n}function xp(n,t,e){n=P(n),t=C(t);var r=t?Wt(n):0;return t&&r<t?ke(t-r,e)+n:n}function wp(n,t,e){return e||t==null?t=0:t&&(t=+t),Cs(P(n).replace(Rr,""),t||0)}function Ap(n,t,e){return(e?ln(n,t,e):t===o)?t=1:t=C(t),ei(P(n),t)}function yp(){var n=arguments,t=P(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var mp=Dt(function(n,t,e){return n+(e?"_":"")+t.toLowerCase()});function Ep(n,t,e){return e&&typeof e!="number"&&ln(n,t,e)&&(t=e=o),e=e===o?Gn:e>>>0,e?(n=P(n),n&&(typeof t=="string"||t!=null&&!Ii(t))&&(t=xn(t),!t&&Ot(n))?at(bn(n),0,e):n.split(t,e)):[]}var Rp=Dt(function(n,t,e){return n+(e?" ":"")+Ti(t)});function Ip(n,t,e){return n=P(n),e=e==null?0:xt(C(e),0,n.length),t=xn(t),n.slice(e,e+t.length)==t}function Cp(n,t,e){var r=u.templateSettings;e&&ln(n,t,e)&&(t=o),n=P(n),t=ar({},t,r,yf);var i=ar({},t.imports,r.imports,yf),f=j(i),l=Nr(i,f),s,c,p=0,_=t.interpolate||Ee,d="__p += '",v=Hr((t.escape||Ee).source+"|"+_.source+"|"+(_===$i?ul:Ee).source+"|"+(t.evaluate||Ee).source+"|$","g"),w="//# sourceURL="+(b.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Pl+"]")+` +`)}function ka(n){return R(n)||mt(n)||!!(Ou&&n&&n[Ou])}function kn(n,t){var e=typeof n;return t=t??It,!!t&&(e=="number"||e!="symbol"&&al.test(n))&&n>-1&&n%1==0&&n<t}function ln(n,t,e){if(!K(e))return!1;var r=typeof t;return(r=="number"?hn(e)&&kn(t,e.length):r=="string"&&t in e)?Dn(e[t],n):!1}function di(n,t){if(R(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||wn(n)?!0:Jo.test(n)||!Xo.test(n)||t!=null&&n in D(t)}function ja(n){var t=typeof n;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?n!=="__proto__":n===null}function vi(n){var t=nr(n),e=u[t];if(typeof e!="function"||!(t in B.prototype))return!1;if(n===e)return!0;var r=gi(e);return!!r&&n===r[0]}function nc(n){return!!Cu&&Cu in n}var tc=Oe?jn:Fi;function se(n){var t=n&&n.constructor,e=typeof t=="function"&&t.prototype||Mt;return n===e}function Sf(n){return n===n&&!K(n)}function Tf(n,t){return function(e){return e==null?!1:e[n]===t&&(t!==o||n in D(e))}}function ec(n){var t=fr(n,function(r){return e.size===ht&&e.clear(),r}),e=t.cache;return t}function rc(n,t){var e=n[1],r=t[1],i=e|r,f=i<(N|et|_n),l=r==_n&&e==Bn||r==_n&&e==qt&&n[7].length<=t[8]||r==(_n|qt)&&t[7].length<=t[8]&&e==Bn;if(!(f||l))return n;r&N&&(n[2]=t[2],i|=e&N?0:de);var s=t[3];if(s){var c=n[3];n[3]=c?af(c,s,t[4]):s,n[4]=c?ut(n[3],Wn):t[4]}return s=t[5],s&&(c=n[5],n[5]=c?cf(c,s,t[6]):s,n[6]=c?ut(n[5],Wn):t[6]),s=t[7],s&&(n[7]=s),r&_n&&(n[8]=n[8]==null?t[8]:un(n[8],t[8])),n[9]==null&&(n[9]=t[9]),n[0]=t[0],n[1]=i,n}function ic(n){var t=[];if(n!=null)for(var e in D(n))t.push(e);return t}function uc(n){return Be.call(n)}function Lf(n,t,e){return t=V(t===o?n.length-1:t,0),function(){for(var r=arguments,i=-1,f=V(r.length-t,0),l=h(f);++i<f;)l[i]=r[t+i];i=-1;for(var s=h(t+1);++i<t;)s[i]=r[i];return s[t]=e(l),dn(n,this,s)}}function Of(n,t){return t.length<2?n:wt(n,Sn(t,0,-1))}function fc(n,t){for(var e=n.length,r=un(t.length,e),i=cn(n);r--;){var f=t[r];n[r]=kn(f,e)?i[f]:o}return n}function xi(n,t){if(!(t==="constructor"&&typeof n[t]=="function")&&t!="__proto__")return n[t]}var Wf=Mf(ju),ae=ys||function(n,t){return tn.setTimeout(n,t)},wi=Mf(La);function Bf(n,t,e){var r=t+"";return wi(n,Va(r,oc(Xa(r),e)))}function Mf(n){var t=0,e=0;return function(){var r=Is(),i=To-(r-e);if(e=r,i>0){if(++t>=So)return arguments[0]}else t=0;return n.apply(o,arguments)}}function er(n,t){var e=-1,r=n.length,i=r-1;for(t=t===o?r:t;++e<t;){var f=ti(e,i),l=n[f];n[f]=n[e],n[e]=l}return n.length=t,n}var Ff=ec(function(n){var t=[];return n.charCodeAt(0)===46&&t.push(""),n.replace(Qo,function(e,r,i,f){t.push(i?f.replace(il,"$1"):r||e)}),t});function qn(n){if(typeof n=="string"||wn(n))return n;var t=n+"";return t=="0"&&1/n==-1/0?"-0":t}function yt(n){if(n!=null){try{return We.call(n)}catch{}try{return n+""}catch{}}return""}function oc(n,t){return En(Fo,function(e){var r="_."+e[0];t&e[1]&&!Ce(n,r)&&n.push(r)}),n.sort()}function bf(n){if(n instanceof B)return n.clone();var t=new In(n.__wrapped__,n.__chain__);return t.__actions__=cn(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function lc(n,t,e){(e?ln(n,t,e):t===o)?t=1:t=V(C(t),0);var r=n==null?0:n.length;if(!r||t<1)return[];for(var i=0,f=0,l=h(De(r/t));i<r;)l[f++]=Sn(n,i,i+=t);return l}function sc(n){for(var t=-1,e=n==null?0:n.length,r=0,i=[];++t<e;){var f=n[t];f&&(i[r++]=f)}return i}function ac(){var n=arguments.length;if(!n)return[];for(var t=h(n-1),e=arguments[0],r=n;r--;)t[r-1]=arguments[r];return it(R(e)?cn(e):[e],en(t,1))}var cc=T(function(n,t){return Z(n)?ie(n,en(t,1,Z,!0)):[]}),hc=T(function(n,t){var e=Tn(t);return Z(e)&&(e=o),Z(n)?ie(n,en(t,1,Z,!0),A(e,2)):[]}),gc=T(function(n,t){var e=Tn(t);return Z(e)&&(e=o),Z(n)?ie(n,en(t,1,Z,!0),o,e):[]});function pc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),Sn(n,t<0?0:t,r)):[]}function _c(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),t=r-t,Sn(n,0,t<0?0:t)):[]}function dc(n,t){return n&&n.length?Xe(n,A(t,3),!0,!0):[]}function vc(n,t){return n&&n.length?Xe(n,A(t,3),!0):[]}function xc(n,t,e,r){var i=n==null?0:n.length;return i?(e&&typeof e!="number"&&ln(n,t,e)&&(e=0,r=i),aa(n,t,e,r)):[]}function Pf(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:C(e);return i<0&&(i=V(r+i,0)),Se(n,A(t,3),i)}function Uf(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r-1;return e!==o&&(i=C(e),i=e<0?V(r+i,0):un(i,r-1)),Se(n,A(t,3),i,!0)}function Df(n){var t=n==null?0:n.length;return t?en(n,1):[]}function wc(n){var t=n==null?0:n.length;return t?en(n,ve):[]}function Ac(n,t){var e=n==null?0:n.length;return e?(t=t===o?1:C(t),en(n,t)):[]}function yc(n){for(var t=-1,e=n==null?0:n.length,r={};++t<e;){var i=n[t];r[i[0]]=i[1]}return r}function Nf(n){return n&&n.length?n[0]:o}function mc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=e==null?0:C(e);return i<0&&(i=V(r+i,0)),Lt(n,t,i)}function Ec(n){var t=n==null?0:n.length;return t?Sn(n,0,-1):[]}var Rc=T(function(n){var t=q(n,fi);return t.length&&t[0]===n[0]?Qr(t):[]}),Ic=T(function(n){var t=Tn(n),e=q(n,fi);return t===Tn(e)?t=o:e.pop(),e.length&&e[0]===n[0]?Qr(e,A(t,2)):[]}),Cc=T(function(n){var t=Tn(n),e=q(n,fi);return t=typeof t=="function"?t:o,t&&e.pop(),e.length&&e[0]===n[0]?Qr(e,o,t):[]});function Sc(n,t){return n==null?"":Es.call(n,t)}function Tn(n){var t=n==null?0:n.length;return t?n[t-1]:o}function Tc(n,t,e){var r=n==null?0:n.length;if(!r)return-1;var i=r;return e!==o&&(i=C(e),i=i<0?V(r+i,0):un(i,r-1)),t===t?os(n,t,i):Se(n,xu,i,!0)}function Lc(n,t){return n&&n.length?Ju(n,C(t)):o}var Oc=T(Gf);function Gf(n,t){return n&&n.length&&t&&t.length?ni(n,t):n}function Wc(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,A(e,2)):n}function Bc(n,t,e){return n&&n.length&&t&&t.length?ni(n,t,o,e):n}var Mc=Vn(function(n,t){var e=n==null?0:n.length,r=Zr(n,t);return ku(n,q(t,function(i){return kn(i,e)?+i:i}).sort(sf)),r});function Fc(n,t){var e=[];if(!(n&&n.length))return e;var r=-1,i=[],f=n.length;for(t=A(t,3);++r<f;){var l=n[r];t(l,r,n)&&(e.push(l),i.push(r))}return ku(n,i),e}function Ai(n){return n==null?n:Ss.call(n)}function bc(n,t,e){var r=n==null?0:n.length;return r?(e&&typeof e!="number"&&ln(n,t,e)?(t=0,e=r):(t=t==null?0:C(t),e=e===o?r:C(e)),Sn(n,t,e)):[]}function Pc(n,t){return Ye(n,t)}function Uc(n,t,e){return ri(n,t,A(e,2))}function Dc(n,t){var e=n==null?0:n.length;if(e){var r=Ye(n,t);if(r<e&&Dn(n[r],t))return r}return-1}function Nc(n,t){return Ye(n,t,!0)}function Gc(n,t,e){return ri(n,t,A(e,2),!0)}function Hc(n,t){var e=n==null?0:n.length;if(e){var r=Ye(n,t,!0)-1;if(Dn(n[r],t))return r}return-1}function $c(n){return n&&n.length?nf(n):[]}function qc(n,t){return n&&n.length?nf(n,A(t,2)):[]}function Kc(n){var t=n==null?0:n.length;return t?Sn(n,1,t):[]}function zc(n,t,e){return n&&n.length?(t=e||t===o?1:C(t),Sn(n,0,t<0?0:t)):[]}function Zc(n,t,e){var r=n==null?0:n.length;return r?(t=e||t===o?1:C(t),t=r-t,Sn(n,t<0?0:t,r)):[]}function Yc(n,t){return n&&n.length?Xe(n,A(t,3),!1,!0):[]}function Xc(n,t){return n&&n.length?Xe(n,A(t,3)):[]}var Jc=T(function(n){return lt(en(n,1,Z,!0))}),Qc=T(function(n){var t=Tn(n);return Z(t)&&(t=o),lt(en(n,1,Z,!0),A(t,2))}),Vc=T(function(n){var t=Tn(n);return t=typeof t=="function"?t:o,lt(en(n,1,Z,!0),o,t)});function kc(n){return n&&n.length?lt(n):[]}function jc(n,t){return n&&n.length?lt(n,A(t,2)):[]}function nh(n,t){return t=typeof t=="function"?t:o,n&&n.length?lt(n,o,t):[]}function yi(n){if(!(n&&n.length))return[];var t=0;return n=rt(n,function(e){if(Z(e))return t=V(e.length,t),!0}),Dr(t,function(e){return q(n,br(e))})}function Hf(n,t){if(!(n&&n.length))return[];var e=yi(n);return t==null?e:q(e,function(r){return dn(t,o,r)})}var th=T(function(n,t){return Z(n)?ie(n,t):[]}),eh=T(function(n){return ui(rt(n,Z))}),rh=T(function(n){var t=Tn(n);return Z(t)&&(t=o),ui(rt(n,Z),A(t,2))}),ih=T(function(n){var t=Tn(n);return t=typeof t=="function"?t:o,ui(rt(n,Z),o,t)}),uh=T(yi);function fh(n,t){return uf(n||[],t||[],re)}function oh(n,t){return uf(n||[],t||[],oe)}var lh=T(function(n){var t=n.length,e=t>1?n[t-1]:o;return e=typeof e=="function"?(n.pop(),e):o,Hf(n,e)});function $f(n){var t=u(n);return t.__chain__=!0,t}function sh(n,t){return t(n),n}function rr(n,t){return t(n)}var ah=Vn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(f){return Zr(f,n)};return t>1||this.__actions__.length||!(r instanceof B)||!kn(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:rr,args:[i],thisArg:o}),new In(r,this.__chain__).thru(function(f){return t&&!f.length&&f.push(o),f}))});function ch(){return $f(this)}function hh(){return new In(this.value(),this.__chain__)}function gh(){this.__values__===o&&(this.__values__=eo(this.value()));var n=this.__index__>=this.__values__.length,t=n?o:this.__values__[this.__index__++];return{done:n,value:t}}function ph(){return this}function _h(n){for(var t,e=this;e instanceof $e;){var r=bf(e);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function dh(){var n=this.__wrapped__;if(n instanceof B){var t=n;return this.__actions__.length&&(t=new B(this)),t=t.reverse(),t.__actions__.push({func:rr,args:[Ai],thisArg:o}),new In(t,this.__chain__)}return this.thru(Ai)}function vh(){return rf(this.__wrapped__,this.__actions__)}var xh=Je(function(n,t,e){P.call(n,e)?++n[e]:Jn(n,e,1)});function wh(n,t,e){var r=R(n)?du:sa;return e&&ln(n,t,e)&&(t=o),r(n,A(t,3))}function Ah(n,t){var e=R(n)?rt:Gu;return e(n,A(t,3))}var yh=_f(Pf),mh=_f(Uf);function Eh(n,t){return en(ir(n,t),1)}function Rh(n,t){return en(ir(n,t),ve)}function Ih(n,t,e){return e=e===o?1:C(e),en(ir(n,t),e)}function qf(n,t){var e=R(n)?En:ot;return e(n,A(t,3))}function Kf(n,t){var e=R(n)?Kl:Nu;return e(n,A(t,3))}var Ch=Je(function(n,t,e){P.call(n,e)?n[e].push(t):Jn(n,e,[t])});function Sh(n,t,e,r){n=hn(n)?n:Ht(n),e=e&&!r?C(e):0;var i=n.length;return e<0&&(e=V(i+e,0)),sr(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&Lt(n,t,e)>-1}var Th=T(function(n,t,e){var r=-1,i=typeof t=="function",f=hn(n)?h(n.length):[];return ot(n,function(l){f[++r]=i?dn(t,l,e):ue(l,t,e)}),f}),Lh=Je(function(n,t,e){Jn(n,e,t)});function ir(n,t){var e=R(n)?q:Zu;return e(n,A(t,3))}function Oh(n,t,e,r){return n==null?[]:(R(t)||(t=t==null?[]:[t]),e=r?o:e,R(e)||(e=e==null?[]:[e]),Qu(n,t,e))}var Wh=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Bh(n,t,e){var r=R(n)?Mr:Au,i=arguments.length<3;return r(n,A(t,4),e,i,ot)}function Mh(n,t,e){var r=R(n)?zl:Au,i=arguments.length<3;return r(n,A(t,4),e,i,Nu)}function Fh(n,t){var e=R(n)?rt:Gu;return e(n,or(A(t,3)))}function bh(n){var t=R(n)?bu:Sa;return t(n)}function Ph(n,t,e){(e?ln(n,t,e):t===o)?t=1:t=C(t);var r=R(n)?ia:Ta;return r(n,t)}function Uh(n){var t=R(n)?ua:Oa;return t(n)}function Dh(n){if(n==null)return 0;if(hn(n))return sr(n)?Wt(n):n.length;var t=fn(n);return t==Fn||t==bn?n.size:kr(n).length}function Nh(n,t,e){var r=R(n)?Fr:Wa;return e&&ln(n,t,e)&&(t=o),r(n,A(t,3))}var Gh=T(function(n,t){if(n==null)return[];var e=t.length;return e>1&&ln(n,t[0],t[1])?t=[]:e>2&&ln(t[0],t[1],t[2])&&(t=[t[0]]),Qu(n,en(t,1),[])}),ur=As||function(){return tn.Date.now()};function Hh(n,t){if(typeof t!="function")throw new Rn(L);return n=C(n),function(){if(--n<1)return t.apply(this,arguments)}}function zf(n,t,e){return t=e?o:t,t=n&&t==null?n.length:t,Qn(n,_n,o,o,o,o,t)}function Zf(n,t){var e;if(typeof t!="function")throw new Rn(L);return n=C(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=o),e}}var mi=T(function(n,t,e){var r=N;if(e.length){var i=ut(e,Nt(mi));r|=Mn}return Qn(n,r,t,e,i)}),Yf=T(function(n,t,e){var r=N|et;if(e.length){var i=ut(e,Nt(Yf));r|=Mn}return Qn(t,r,n,e,i)});function Xf(n,t,e){t=e?o:t;var r=Qn(n,Bn,o,o,o,o,o,t);return r.placeholder=Xf.placeholder,r}function Jf(n,t,e){t=e?o:t;var r=Qn(n,gt,o,o,o,o,o,t);return r.placeholder=Jf.placeholder,r}function Qf(n,t,e){var r,i,f,l,s,c,p=0,_=!1,d=!1,v=!0;if(typeof n!="function")throw new Rn(L);t=Ln(t)||0,K(e)&&(_=!!e.leading,d="maxWait"in e,f=d?V(Ln(e.maxWait)||0,t):f,v="trailing"in e?!!e.trailing:v);function w(Y){var Nn=r,tt=i;return r=i=o,p=Y,l=n.apply(tt,Nn),l}function y(Y){return p=Y,s=ae(O,t),_?w(Y):l}function S(Y){var Nn=Y-c,tt=Y-p,_o=t-Nn;return d?un(_o,f-tt):_o}function m(Y){var Nn=Y-c,tt=Y-p;return c===o||Nn>=t||Nn<0||d&&tt>=f}function O(){var Y=ur();if(m(Y))return M(Y);s=ae(O,S(Y))}function M(Y){return s=o,v&&r?w(Y):(r=i=o,l)}function An(){s!==o&&ff(s),p=0,r=c=i=s=o}function sn(){return s===o?l:M(ur())}function yn(){var Y=ur(),Nn=m(Y);if(r=arguments,i=this,c=Y,Nn){if(s===o)return y(c);if(d)return ff(s),s=ae(O,t),w(c)}return s===o&&(s=ae(O,t)),l}return yn.cancel=An,yn.flush=sn,yn}var $h=T(function(n,t){return Du(n,1,t)}),qh=T(function(n,t,e){return Du(n,Ln(t)||0,e)});function Kh(n){return Qn(n,gr)}function fr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new Rn(L);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],f=e.cache;if(f.has(i))return f.get(i);var l=n.apply(this,r);return e.cache=f.set(i,l)||f,l};return e.cache=new(fr.Cache||Xn),e}fr.Cache=Xn;function or(n){if(typeof n!="function")throw new Rn(L);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function zh(n){return Zf(2,n)}var Zh=Ba(function(n,t){t=t.length==1&&R(t[0])?q(t[0],vn(A())):q(en(t,1),vn(A()));var e=t.length;return T(function(r){for(var i=-1,f=un(r.length,e);++i<f;)r[i]=t[i].call(this,r[i]);return dn(n,this,r)})}),Ei=T(function(n,t){var e=ut(t,Nt(Ei));return Qn(n,Mn,o,t,e)}),Vf=T(function(n,t){var e=ut(t,Nt(Vf));return Qn(n,J,o,t,e)}),Yh=Vn(function(n,t){return Qn(n,qt,o,o,o,t)});function Xh(n,t){if(typeof n!="function")throw new Rn(L);return t=t===o?t:C(t),T(n,t)}function Jh(n,t){if(typeof n!="function")throw new Rn(L);return t=t==null?0:V(C(t),0),T(function(e){var r=e[t],i=at(e,0,t);return r&&it(i,r),dn(n,this,i)})}function Qh(n,t,e){var r=!0,i=!0;if(typeof n!="function")throw new Rn(L);return K(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Qf(n,t,{leading:r,maxWait:t,trailing:i})}function Vh(n){return zf(n,1)}function kh(n,t){return Ei(oi(t),n)}function jh(){if(!arguments.length)return[];var n=arguments[0];return R(n)?n:[n]}function ng(n){return Cn(n,Kn)}function tg(n,t){return t=typeof t=="function"?t:o,Cn(n,Kn,t)}function eg(n){return Cn(n,an|Kn)}function rg(n,t){return t=typeof t=="function"?t:o,Cn(n,an|Kn,t)}function ig(n,t){return t==null||Uu(n,t,j(t))}function Dn(n,t){return n===t||n!==n&&t!==t}var ug=je(Jr),fg=je(function(n,t){return n>=t}),mt=qu(function(){return arguments}())?qu:function(n){return z(n)&&P.call(n,"callee")&&!Lu.call(n,"callee")},R=h.isArray,og=au?vn(au):_a;function hn(n){return n!=null&&lr(n.length)&&!jn(n)}function Z(n){return z(n)&&hn(n)}function lg(n){return n===!0||n===!1||z(n)&&on(n)==Kt}var ct=ms||Fi,sg=cu?vn(cu):da;function ag(n){return z(n)&&n.nodeType===1&&!ce(n)}function cg(n){if(n==null)return!0;if(hn(n)&&(R(n)||typeof n=="string"||typeof n.splice=="function"||ct(n)||Gt(n)||mt(n)))return!n.length;var t=fn(n);if(t==Fn||t==bn)return!n.size;if(se(n))return!kr(n).length;for(var e in n)if(P.call(n,e))return!1;return!0}function hg(n,t){return fe(n,t)}function gg(n,t,e){e=typeof e=="function"?e:o;var r=e?e(n,t):o;return r===o?fe(n,t,o,e):!!r}function Ri(n){if(!z(n))return!1;var t=on(n);return t==Ae||t==Po||typeof n.message=="string"&&typeof n.name=="string"&&!ce(n)}function pg(n){return typeof n=="number"&&Wu(n)}function jn(n){if(!K(n))return!1;var t=on(n);return t==ye||t==Di||t==bo||t==Do}function kf(n){return typeof n=="number"&&n==C(n)}function lr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=It}function K(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function z(n){return n!=null&&typeof n=="object"}var jf=hu?vn(hu):xa;function _g(n,t){return n===t||Vr(n,t,pi(t))}function dg(n,t,e){return e=typeof e=="function"?e:o,Vr(n,t,pi(t),e)}function vg(n){return no(n)&&n!=+n}function xg(n){if(tc(n))throw new E(k);return Ku(n)}function wg(n){return n===null}function Ag(n){return n==null}function no(n){return typeof n=="number"||z(n)&&on(n)==Zt}function ce(n){if(!z(n)||on(n)!=Zn)return!1;var t=be(n);if(t===null)return!0;var e=P.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&We.call(e)==ds}var Ii=gu?vn(gu):wa;function yg(n){return kf(n)&&n>=-9007199254740991&&n<=It}var to=pu?vn(pu):Aa;function sr(n){return typeof n=="string"||!R(n)&&z(n)&&on(n)==Xt}function wn(n){return typeof n=="symbol"||z(n)&&on(n)==me}var Gt=_u?vn(_u):ya;function mg(n){return n===o}function Eg(n){return z(n)&&fn(n)==Jt}function Rg(n){return z(n)&&on(n)==Go}var Ig=je(jr),Cg=je(function(n,t){return n<=t});function eo(n){if(!n)return[];if(hn(n))return sr(n)?Pn(n):cn(n);if(kt&&n[kt])return is(n[kt]());var t=fn(n),e=t==Fn?Gr:t==bn?Te:Ht;return e(n)}function nt(n){if(!n)return n===0?n:0;if(n=Ln(n),n===ve||n===-1/0){var t=n<0?-1:1;return t*Wo}return n===n?n:0}function C(n){var t=nt(n),e=t%1;return t===t?e?t-e:t:0}function ro(n){return n?xt(C(n),0,Gn):0}function Ln(n){if(typeof n=="number")return n;if(wn(n))return xe;if(K(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=K(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=yu(n);var e=ol.test(n);return e||sl.test(n)?Hl(n.slice(2),e?2:8):fl.test(n)?xe:+n}function io(n){return $n(n,gn(n))}function Sg(n){return n?xt(C(n),-9007199254740991,It):n===0?n:0}function b(n){return n==null?"":xn(n)}var Tg=Ut(function(n,t){if(se(t)||hn(t)){$n(t,j(t),n);return}for(var e in t)P.call(t,e)&&re(n,e,t[e])}),uo=Ut(function(n,t){$n(t,gn(t),n)}),ar=Ut(function(n,t,e,r){$n(t,gn(t),n,r)}),Lg=Ut(function(n,t,e,r){$n(t,j(t),n,r)}),Og=Vn(Zr);function Wg(n,t){var e=Pt(n);return t==null?e:Pu(e,t)}var Bg=T(function(n,t){n=D(n);var e=-1,r=t.length,i=r>2?t[2]:o;for(i&&ln(t[0],t[1],i)&&(r=1);++e<r;)for(var f=t[e],l=gn(f),s=-1,c=l.length;++s<c;){var p=l[s],_=n[p];(_===o||Dn(_,Mt[p])&&!P.call(n,p))&&(n[p]=f[p])}return n}),Mg=T(function(n){return n.push(o,mf),dn(fo,o,n)});function Fg(n,t){return vu(n,A(t,3),Hn)}function bg(n,t){return vu(n,A(t,3),Xr)}function Pg(n,t){return n==null?n:Yr(n,A(t,3),gn)}function Ug(n,t){return n==null?n:Hu(n,A(t,3),gn)}function Dg(n,t){return n&&Hn(n,A(t,3))}function Ng(n,t){return n&&Xr(n,A(t,3))}function Gg(n){return n==null?[]:ze(n,j(n))}function Hg(n){return n==null?[]:ze(n,gn(n))}function Ci(n,t,e){var r=n==null?o:wt(n,t);return r===o?e:r}function $g(n,t){return n!=null&&If(n,t,ca)}function Si(n,t){return n!=null&&If(n,t,ha)}var qg=vf(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Be.call(t)),n[t]=e},Li(pn)),Kg=vf(function(n,t,e){t!=null&&typeof t.toString!="function"&&(t=Be.call(t)),P.call(n,t)?n[t].push(e):n[t]=[e]},A),zg=T(ue);function j(n){return hn(n)?Fu(n):kr(n)}function gn(n){return hn(n)?Fu(n,!0):ma(n)}function Zg(n,t){var e={};return t=A(t,3),Hn(n,function(r,i,f){Jn(e,t(r,i,f),r)}),e}function Yg(n,t){var e={};return t=A(t,3),Hn(n,function(r,i,f){Jn(e,i,t(r,i,f))}),e}var Xg=Ut(function(n,t,e){Ze(n,t,e)}),fo=Ut(function(n,t,e,r){Ze(n,t,e,r)}),Jg=Vn(function(n,t){var e={};if(n==null)return e;var r=!1;t=q(t,function(f){return f=st(f,n),r||(r=f.length>1),f}),$n(n,hi(n),e),r&&(e=Cn(e,an|_e|Kn,qa));for(var i=t.length;i--;)ii(e,t[i]);return e});function Qg(n,t){return oo(n,or(A(t)))}var Vg=Vn(function(n,t){return n==null?{}:Ra(n,t)});function oo(n,t){if(n==null)return{};var e=q(hi(n),function(r){return[r]});return t=A(t),Vu(n,e,function(r,i){return t(r,i[0])})}function kg(n,t,e){t=st(t,n);var r=-1,i=t.length;for(i||(i=1,n=o);++r<i;){var f=n==null?o:n[qn(t[r])];f===o&&(r=i,f=e),n=jn(f)?f.call(n):f}return n}function jg(n,t,e){return n==null?n:oe(n,t,e)}function np(n,t,e,r){return r=typeof r=="function"?r:o,n==null?n:oe(n,t,e,r)}var lo=Af(j),so=Af(gn);function tp(n,t,e){var r=R(n),i=r||ct(n)||Gt(n);if(t=A(t,4),e==null){var f=n&&n.constructor;i?e=r?new f:[]:K(n)?e=jn(f)?Pt(be(n)):{}:e={}}return(i?En:Hn)(n,function(l,s,c){return t(e,l,s,c)}),e}function ep(n,t){return n==null?!0:ii(n,t)}function rp(n,t,e){return n==null?n:ef(n,t,oi(e))}function ip(n,t,e,r){return r=typeof r=="function"?r:o,n==null?n:ef(n,t,oi(e),r)}function Ht(n){return n==null?[]:Nr(n,j(n))}function up(n){return n==null?[]:Nr(n,gn(n))}function fp(n,t,e){return e===o&&(e=t,t=o),e!==o&&(e=Ln(e),e=e===e?e:0),t!==o&&(t=Ln(t),t=t===t?t:0),xt(Ln(n),t,e)}function op(n,t,e){return t=nt(t),e===o?(e=t,t=0):e=nt(e),n=Ln(n),ga(n,t,e)}function lp(n,t,e){if(e&&typeof e!="boolean"&&ln(n,t,e)&&(t=e=o),e===o&&(typeof t=="boolean"?(e=t,t=o):typeof n=="boolean"&&(e=n,n=o)),n===o&&t===o?(n=0,t=1):(n=nt(n),t===o?(t=n,n=0):t=nt(t)),n>t){var r=n;n=t,t=r}if(e||n%1||t%1){var i=Bu();return un(n+i*(t-n+Gl("1e-"+((i+"").length-1))),t)}return ti(n,t)}var sp=Dt(function(n,t,e){return t=t.toLowerCase(),n+(e?ao(t):t)});function ao(n){return Ti(b(n).toLowerCase())}function co(n){return n=b(n),n&&n.replace(cl,jl).replace(Ol,"")}function ap(n,t,e){n=b(n),t=xn(t);var r=n.length;e=e===o?r:xt(C(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function cp(n){return n=b(n),n&&zo.test(n)?n.replace(Hi,ns):n}function hp(n){return n=b(n),n&&Vo.test(n)?n.replace(Er,"\\$&"):n}var gp=Dt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),pp=Dt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),_p=pf("toLowerCase");function dp(n,t,e){n=b(n),t=C(t);var r=t?Wt(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return ke(Ne(i),e)+n+ke(De(i),e)}function vp(n,t,e){n=b(n),t=C(t);var r=t?Wt(n):0;return t&&r<t?n+ke(t-r,e):n}function xp(n,t,e){n=b(n),t=C(t);var r=t?Wt(n):0;return t&&r<t?ke(t-r,e)+n:n}function wp(n,t,e){return e||t==null?t=0:t&&(t=+t),Cs(b(n).replace(Rr,""),t||0)}function Ap(n,t,e){return(e?ln(n,t,e):t===o)?t=1:t=C(t),ei(b(n),t)}function yp(){var n=arguments,t=b(n[0]);return n.length<3?t:t.replace(n[1],n[2])}var mp=Dt(function(n,t,e){return n+(e?"_":"")+t.toLowerCase()});function Ep(n,t,e){return e&&typeof e!="number"&&ln(n,t,e)&&(t=e=o),e=e===o?Gn:e>>>0,e?(n=b(n),n&&(typeof t=="string"||t!=null&&!Ii(t))&&(t=xn(t),!t&&Ot(n))?at(Pn(n),0,e):n.split(t,e)):[]}var Rp=Dt(function(n,t,e){return n+(e?" ":"")+Ti(t)});function Ip(n,t,e){return n=b(n),e=e==null?0:xt(C(e),0,n.length),t=xn(t),n.slice(e,e+t.length)==t}function Cp(n,t,e){var r=u.templateSettings;e&&ln(n,t,e)&&(t=o),n=b(n),t=ar({},t,r,yf);var i=ar({},t.imports,r.imports,yf),f=j(i),l=Nr(i,f),s,c,p=0,_=t.interpolate||Ee,d="__p += '",v=Hr((t.escape||Ee).source+"|"+_.source+"|"+(_===$i?ul:Ee).source+"|"+(t.evaluate||Ee).source+"|$","g"),w="//# sourceURL="+(P.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++bl+"]")+` `;n.replace(v,function(m,O,M,An,sn,yn){return M||(M=An),d+=n.slice(p,yn).replace(hl,ts),O&&(s=!0,d+=`' + __e(`+O+`) + '`),sn&&(c=!0,d+=`'; @@ -15,7 +15,7 @@ __e(`+O+`) + __p += '`),M&&(d+=`' + ((__t = (`+M+`)) == null ? '' : __t) + '`),p=yn+m.length,m}),d+=`'; -`;var y=b.call(t,"variable")&&t.variable;if(!y)d=`with (obj) { +`;var y=P.call(t,"variable")&&t.variable;if(!y)d=`with (obj) { `+d+` } `;else if(rl.test(y))throw new E(nn);d=(c?d.replace(Ho,""):d).replace($o,"$1").replace(qo,"$1;"),d="function("+(y||"obj")+`) { @@ -24,4 +24,4 @@ __p += '`),M&&(d+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+d+`return __p -}`;var S=go(function(){return F(f,w+"return "+d).apply(o,l)});if(S.source=d,Ri(S))throw S;return S}function Sp(n){return P(n).toLowerCase()}function Tp(n){return P(n).toUpperCase()}function Lp(n,t,e){if(n=P(n),n&&(e||t===o))return yu(n);if(!n||!(t=xn(t)))return n;var r=bn(n),i=bn(t),f=mu(r,i),l=Eu(r,i)+1;return at(r,f,l).join("")}function Op(n,t,e){if(n=P(n),n&&(e||t===o))return n.slice(0,Iu(n)+1);if(!n||!(t=xn(t)))return n;var r=bn(n),i=Eu(r,bn(t))+1;return at(r,0,i).join("")}function Wp(n,t,e){if(n=P(n),n&&(e||t===o))return n.replace(Rr,"");if(!n||!(t=xn(t)))return n;var r=bn(n),i=mu(r,bn(t));return at(r,i).join("")}function Bp(n,t){var e=Io,r=Co;if(K(t)){var i="separator"in t?t.separator:i;e="length"in t?C(t.length):e,r="omission"in t?xn(t.omission):r}n=P(n);var f=n.length;if(Ot(n)){var l=bn(n);f=l.length}if(e>=f)return n;var s=e-Wt(r);if(s<1)return r;var c=l?at(l,0,s).join(""):n.slice(0,s);if(i===o)return c+r;if(l&&(s+=c.length-s),Ii(i)){if(n.slice(s).search(i)){var p,_=c;for(i.global||(i=Hr(i.source,P(qi.exec(i))+"g")),i.lastIndex=0;p=i.exec(_);)var d=p.index;c=c.slice(0,d===o?s:d)}}else if(n.indexOf(xn(i),s)!=s){var v=c.lastIndexOf(i);v>-1&&(c=c.slice(0,v))}return c+r}function Mp(n){return n=P(n),n&&Ko.test(n)?n.replace(Gi,ls):n}var Fp=Dt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ti=pf("toUpperCase");function ho(n,t,e){return n=P(n),t=e?o:t,t===o?rs(n)?cs(n):Xl(n):n.match(t)||[]}var go=T(function(n,t){try{return dn(n,o,t)}catch(e){return Ri(e)?e:new E(e)}}),Pp=Vn(function(n,t){return En(t,function(e){e=qn(e),Jn(n,e,mi(n[e],n))}),n});function bp(n){var t=n==null?0:n.length,e=A();return n=t?q(n,function(r){if(typeof r[1]!="function")throw new Rn(L);return[e(r[0]),r[1]]}):[],T(function(r){for(var i=-1;++i<t;){var f=n[i];if(dn(f[0],this,r))return dn(f[1],this,r)}})}function Up(n){return la(Cn(n,an))}function Li(n){return function(){return n}}function Dp(n,t){return n==null||n!==n?t:n}var Np=df(),Gp=df(!0);function pn(n){return n}function Oi(n){return zu(typeof n=="function"?n:Cn(n,an))}function Hp(n){return Yu(Cn(n,an))}function $p(n,t){return Xu(n,Cn(t,an))}var qp=T(function(n,t){return function(e){return ue(e,n,t)}}),Kp=T(function(n,t){return function(e){return ue(n,e,t)}});function Wi(n,t,e){var r=j(t),i=ze(t,r);e==null&&!(K(t)&&(i.length||!r.length))&&(e=t,t=n,n=this,i=ze(t,j(t)));var f=!(K(e)&&"chain"in e)||!!e.chain,l=jn(n);return En(i,function(s){var c=t[s];n[s]=c,l&&(n.prototype[s]=function(){var p=this.__chain__;if(f||p){var _=n(this.__wrapped__),d=_.__actions__=cn(this.__actions__);return d.push({func:c,args:arguments,thisArg:n}),_.__chain__=p,_}return c.apply(n,it([this.value()],arguments))})}),n}function zp(){return tn._===this&&(tn._=vs),this}function Bi(){}function Zp(n){return n=C(n),T(function(t){return Ju(t,n)})}var Yp=si(q),Xp=si(du),Jp=si(Fr);function po(n){return di(n)?Pr(qn(n)):Ia(n)}function Qp(n){return function(t){return n==null?o:wt(n,t)}}var Vp=xf(),kp=xf(!0);function Mi(){return[]}function Fi(){return!1}function jp(){return{}}function n_(){return""}function t_(){return!0}function e_(n,t){if(n=C(n),n<1||n>It)return[];var e=Gn,r=un(n,Gn);t=A(t),n-=Gn;for(var i=Dr(r,t);++e<n;)t(e);return i}function r_(n){return R(n)?q(n,qn):wn(n)?[n]:cn(Ff(P(n)))}function i_(n){var t=++_s;return P(n)+t}var u_=Ve(function(n,t){return n+t},0),f_=ai("ceil"),o_=Ve(function(n,t){return n/t},1),l_=ai("floor");function s_(n){return n&&n.length?Ke(n,pn,Jr):o}function a_(n,t){return n&&n.length?Ke(n,A(t,2),Jr):o}function c_(n){return wu(n,pn)}function h_(n,t){return wu(n,A(t,2))}function g_(n){return n&&n.length?Ke(n,pn,jr):o}function p_(n,t){return n&&n.length?Ke(n,A(t,2),jr):o}var __=Ve(function(n,t){return n*t},1),d_=ai("round"),v_=Ve(function(n,t){return n-t},0);function x_(n){return n&&n.length?Ur(n,pn):0}function w_(n,t){return n&&n.length?Ur(n,A(t,2)):0}return u.after=Hh,u.ary=zf,u.assign=Tg,u.assignIn=uo,u.assignInWith=ar,u.assignWith=Lg,u.at=Og,u.before=Zf,u.bind=mi,u.bindAll=Pp,u.bindKey=Yf,u.castArray=jh,u.chain=$f,u.chunk=lc,u.compact=sc,u.concat=ac,u.cond=bp,u.conforms=Up,u.constant=Li,u.countBy=xh,u.create=Wg,u.curry=Xf,u.curryRight=Jf,u.debounce=Qf,u.defaults=Bg,u.defaultsDeep=Mg,u.defer=$h,u.delay=qh,u.difference=cc,u.differenceBy=hc,u.differenceWith=gc,u.drop=pc,u.dropRight=_c,u.dropRightWhile=dc,u.dropWhile=vc,u.fill=xc,u.filter=Ah,u.flatMap=Eh,u.flatMapDeep=Rh,u.flatMapDepth=Ih,u.flatten=Df,u.flattenDeep=wc,u.flattenDepth=Ac,u.flip=Kh,u.flow=Np,u.flowRight=Gp,u.fromPairs=yc,u.functions=Gg,u.functionsIn=Hg,u.groupBy=Ch,u.initial=Ec,u.intersection=Rc,u.intersectionBy=Ic,u.intersectionWith=Cc,u.invert=qg,u.invertBy=Kg,u.invokeMap=Th,u.iteratee=Oi,u.keyBy=Lh,u.keys=j,u.keysIn=gn,u.map=ir,u.mapKeys=Zg,u.mapValues=Yg,u.matches=Hp,u.matchesProperty=$p,u.memoize=fr,u.merge=Xg,u.mergeWith=fo,u.method=qp,u.methodOf=Kp,u.mixin=Wi,u.negate=or,u.nthArg=Zp,u.omit=Jg,u.omitBy=Qg,u.once=zh,u.orderBy=Oh,u.over=Yp,u.overArgs=Zh,u.overEvery=Xp,u.overSome=Jp,u.partial=Ei,u.partialRight=Vf,u.partition=Wh,u.pick=Vg,u.pickBy=oo,u.property=po,u.propertyOf=Qp,u.pull=Oc,u.pullAll=Gf,u.pullAllBy=Wc,u.pullAllWith=Bc,u.pullAt=Mc,u.range=Vp,u.rangeRight=kp,u.rearg=Yh,u.reject=Fh,u.remove=Fc,u.rest=Xh,u.reverse=Ai,u.sampleSize=bh,u.set=jg,u.setWith=np,u.shuffle=Uh,u.slice=Pc,u.sortBy=Gh,u.sortedUniq=$c,u.sortedUniqBy=qc,u.split=Ep,u.spread=Jh,u.tail=Kc,u.take=zc,u.takeRight=Zc,u.takeRightWhile=Yc,u.takeWhile=Xc,u.tap=sh,u.throttle=Qh,u.thru=rr,u.toArray=eo,u.toPairs=lo,u.toPairsIn=so,u.toPath=r_,u.toPlainObject=io,u.transform=tp,u.unary=Vh,u.union=Jc,u.unionBy=Qc,u.unionWith=Vc,u.uniq=kc,u.uniqBy=jc,u.uniqWith=nh,u.unset=ep,u.unzip=yi,u.unzipWith=Hf,u.update=rp,u.updateWith=ip,u.values=Ht,u.valuesIn=up,u.without=th,u.words=ho,u.wrap=kh,u.xor=eh,u.xorBy=rh,u.xorWith=ih,u.zip=uh,u.zipObject=fh,u.zipObjectDeep=oh,u.zipWith=lh,u.entries=lo,u.entriesIn=so,u.extend=uo,u.extendWith=ar,Wi(u,u),u.add=u_,u.attempt=go,u.camelCase=sp,u.capitalize=ao,u.ceil=f_,u.clamp=fp,u.clone=ng,u.cloneDeep=eg,u.cloneDeepWith=rg,u.cloneWith=tg,u.conformsTo=ig,u.deburr=co,u.defaultTo=Dp,u.divide=o_,u.endsWith=ap,u.eq=Dn,u.escape=cp,u.escapeRegExp=hp,u.every=wh,u.find=yh,u.findIndex=bf,u.findKey=Fg,u.findLast=mh,u.findLastIndex=Uf,u.findLastKey=Pg,u.floor=l_,u.forEach=qf,u.forEachRight=Kf,u.forIn=bg,u.forInRight=Ug,u.forOwn=Dg,u.forOwnRight=Ng,u.get=Ci,u.gt=ug,u.gte=fg,u.has=$g,u.hasIn=Si,u.head=Nf,u.identity=pn,u.includes=Sh,u.indexOf=mc,u.inRange=op,u.invoke=zg,u.isArguments=mt,u.isArray=R,u.isArrayBuffer=og,u.isArrayLike=hn,u.isArrayLikeObject=Z,u.isBoolean=lg,u.isBuffer=ct,u.isDate=sg,u.isElement=ag,u.isEmpty=cg,u.isEqual=hg,u.isEqualWith=gg,u.isError=Ri,u.isFinite=pg,u.isFunction=jn,u.isInteger=kf,u.isLength=lr,u.isMap=jf,u.isMatch=_g,u.isMatchWith=dg,u.isNaN=vg,u.isNative=xg,u.isNil=Ag,u.isNull=wg,u.isNumber=no,u.isObject=K,u.isObjectLike=z,u.isPlainObject=ce,u.isRegExp=Ii,u.isSafeInteger=yg,u.isSet=to,u.isString=sr,u.isSymbol=wn,u.isTypedArray=Gt,u.isUndefined=mg,u.isWeakMap=Eg,u.isWeakSet=Rg,u.join=Sc,u.kebabCase=gp,u.last=Tn,u.lastIndexOf=Tc,u.lowerCase=pp,u.lowerFirst=_p,u.lt=Ig,u.lte=Cg,u.max=s_,u.maxBy=a_,u.mean=c_,u.meanBy=h_,u.min=g_,u.minBy=p_,u.stubArray=Mi,u.stubFalse=Fi,u.stubObject=jp,u.stubString=n_,u.stubTrue=t_,u.multiply=__,u.nth=Lc,u.noConflict=zp,u.noop=Bi,u.now=ur,u.pad=dp,u.padEnd=vp,u.padStart=xp,u.parseInt=wp,u.random=lp,u.reduce=Bh,u.reduceRight=Mh,u.repeat=Ap,u.replace=yp,u.result=kg,u.round=d_,u.runInContext=a,u.sample=Ph,u.size=Dh,u.snakeCase=mp,u.some=Nh,u.sortedIndex=bc,u.sortedIndexBy=Uc,u.sortedIndexOf=Dc,u.sortedLastIndex=Nc,u.sortedLastIndexBy=Gc,u.sortedLastIndexOf=Hc,u.startCase=Rp,u.startsWith=Ip,u.subtract=v_,u.sum=x_,u.sumBy=w_,u.template=Cp,u.times=e_,u.toFinite=nt,u.toInteger=C,u.toLength=ro,u.toLower=Sp,u.toNumber=Ln,u.toSafeInteger=Sg,u.toString=P,u.toUpper=Tp,u.trim=Lp,u.trimEnd=Op,u.trimStart=Wp,u.truncate=Bp,u.unescape=Mp,u.uniqueId=i_,u.upperCase=Fp,u.upperFirst=Ti,u.each=qf,u.eachRight=Kf,u.first=Nf,Wi(u,function(){var n={};return Hn(u,function(t,e){b.call(u.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),u.VERSION=$,En(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){u[n].placeholder=u}),En(["drop","take"],function(n,t){B.prototype[n]=function(e){e=e===o?1:V(C(e),0);var r=this.__filtered__&&!t?new B(this):this.clone();return r.__filtered__?r.__takeCount__=un(e,r.__takeCount__):r.__views__.push({size:un(e,Gn),type:n+(r.__dir__<0?"Right":"")}),r},B.prototype[n+"Right"]=function(e){return this.reverse()[n](e).reverse()}}),En(["filter","map","takeWhile"],function(n,t){var e=t+1,r=e==Ui||e==Oo;B.prototype[n]=function(i){var f=this.clone();return f.__iteratees__.push({iteratee:A(i,3),type:e}),f.__filtered__=f.__filtered__||r,f}}),En(["head","last"],function(n,t){var e="take"+(t?"Right":"");B.prototype[n]=function(){return this[e](1).value()[0]}}),En(["initial","tail"],function(n,t){var e="drop"+(t?"":"Right");B.prototype[n]=function(){return this.__filtered__?new B(this):this[e](1)}}),B.prototype.compact=function(){return this.filter(pn)},B.prototype.find=function(n){return this.filter(n).head()},B.prototype.findLast=function(n){return this.reverse().find(n)},B.prototype.invokeMap=T(function(n,t){return typeof n=="function"?new B(this):this.map(function(e){return ue(e,n,t)})}),B.prototype.reject=function(n){return this.filter(or(A(n)))},B.prototype.slice=function(n,t){n=C(n);var e=this;return e.__filtered__&&(n>0||t<0)?new B(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==o&&(t=C(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},B.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},B.prototype.toArray=function(){return this.take(Gn)},Hn(B.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],f=r||/^find/.test(t);i&&(u.prototype[t]=function(){var l=this.__wrapped__,s=r?[1]:arguments,c=l instanceof B,p=s[0],_=c||R(l),d=function(O){var M=i.apply(u,it([O],s));return r&&v?M[0]:M};_&&e&&typeof p=="function"&&p.length!=1&&(c=_=!1);var v=this.__chain__,w=!!this.__actions__.length,y=f&&!v,S=c&&!w;if(!f&&_){l=S?l:new B(this);var m=n.apply(l,s);return m.__actions__.push({func:rr,args:[d],thisArg:o}),new In(m,v)}return y&&S?n.apply(this,s):(m=this.thru(d),y?r?m.value()[0]:m.value():m)})}),En(["pop","push","shift","sort","splice","unshift"],function(n){var t=Le[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var f=this.value();return t.apply(R(f)?f:[],i)}return this[e](function(l){return t.apply(R(l)?l:[],i)})}}),Hn(B.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";b.call(Pt,r)||(Pt[r]=[]),Pt[r].push({name:t,func:e})}}),Pt[Qe(o,et).name]=[{name:"wrapper",func:o}],B.prototype.clone=Ms,B.prototype.reverse=Fs,B.prototype.value=Ps,u.prototype.at=ah,u.prototype.chain=ch,u.prototype.commit=hh,u.prototype.next=gh,u.prototype.plant=_h,u.prototype.reverse=dh,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=vh,u.prototype.first=u.prototype.head,kt&&(u.prototype[kt]=ph),u},Bt=hs();pt?((pt.exports=Bt)._=Bt,Or._=Bt):tn._=Bt}).call(F_)}(ge,ge.exports)),ge.exports}var N_=P_();export{D_ as A,N_ as l}; +}`;var S=go(function(){return F(f,w+"return "+d).apply(o,l)});if(S.source=d,Ri(S))throw S;return S}function Sp(n){return b(n).toLowerCase()}function Tp(n){return b(n).toUpperCase()}function Lp(n,t,e){if(n=b(n),n&&(e||t===o))return yu(n);if(!n||!(t=xn(t)))return n;var r=Pn(n),i=Pn(t),f=mu(r,i),l=Eu(r,i)+1;return at(r,f,l).join("")}function Op(n,t,e){if(n=b(n),n&&(e||t===o))return n.slice(0,Iu(n)+1);if(!n||!(t=xn(t)))return n;var r=Pn(n),i=Eu(r,Pn(t))+1;return at(r,0,i).join("")}function Wp(n,t,e){if(n=b(n),n&&(e||t===o))return n.replace(Rr,"");if(!n||!(t=xn(t)))return n;var r=Pn(n),i=mu(r,Pn(t));return at(r,i).join("")}function Bp(n,t){var e=Io,r=Co;if(K(t)){var i="separator"in t?t.separator:i;e="length"in t?C(t.length):e,r="omission"in t?xn(t.omission):r}n=b(n);var f=n.length;if(Ot(n)){var l=Pn(n);f=l.length}if(e>=f)return n;var s=e-Wt(r);if(s<1)return r;var c=l?at(l,0,s).join(""):n.slice(0,s);if(i===o)return c+r;if(l&&(s+=c.length-s),Ii(i)){if(n.slice(s).search(i)){var p,_=c;for(i.global||(i=Hr(i.source,b(qi.exec(i))+"g")),i.lastIndex=0;p=i.exec(_);)var d=p.index;c=c.slice(0,d===o?s:d)}}else if(n.indexOf(xn(i),s)!=s){var v=c.lastIndexOf(i);v>-1&&(c=c.slice(0,v))}return c+r}function Mp(n){return n=b(n),n&&Ko.test(n)?n.replace(Gi,ls):n}var Fp=Dt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ti=pf("toUpperCase");function ho(n,t,e){return n=b(n),t=e?o:t,t===o?rs(n)?cs(n):Xl(n):n.match(t)||[]}var go=T(function(n,t){try{return dn(n,o,t)}catch(e){return Ri(e)?e:new E(e)}}),bp=Vn(function(n,t){return En(t,function(e){e=qn(e),Jn(n,e,mi(n[e],n))}),n});function Pp(n){var t=n==null?0:n.length,e=A();return n=t?q(n,function(r){if(typeof r[1]!="function")throw new Rn(L);return[e(r[0]),r[1]]}):[],T(function(r){for(var i=-1;++i<t;){var f=n[i];if(dn(f[0],this,r))return dn(f[1],this,r)}})}function Up(n){return la(Cn(n,an))}function Li(n){return function(){return n}}function Dp(n,t){return n==null||n!==n?t:n}var Np=df(),Gp=df(!0);function pn(n){return n}function Oi(n){return zu(typeof n=="function"?n:Cn(n,an))}function Hp(n){return Yu(Cn(n,an))}function $p(n,t){return Xu(n,Cn(t,an))}var qp=T(function(n,t){return function(e){return ue(e,n,t)}}),Kp=T(function(n,t){return function(e){return ue(n,e,t)}});function Wi(n,t,e){var r=j(t),i=ze(t,r);e==null&&!(K(t)&&(i.length||!r.length))&&(e=t,t=n,n=this,i=ze(t,j(t)));var f=!(K(e)&&"chain"in e)||!!e.chain,l=jn(n);return En(i,function(s){var c=t[s];n[s]=c,l&&(n.prototype[s]=function(){var p=this.__chain__;if(f||p){var _=n(this.__wrapped__),d=_.__actions__=cn(this.__actions__);return d.push({func:c,args:arguments,thisArg:n}),_.__chain__=p,_}return c.apply(n,it([this.value()],arguments))})}),n}function zp(){return tn._===this&&(tn._=vs),this}function Bi(){}function Zp(n){return n=C(n),T(function(t){return Ju(t,n)})}var Yp=si(q),Xp=si(du),Jp=si(Fr);function po(n){return di(n)?br(qn(n)):Ia(n)}function Qp(n){return function(t){return n==null?o:wt(n,t)}}var Vp=xf(),kp=xf(!0);function Mi(){return[]}function Fi(){return!1}function jp(){return{}}function n_(){return""}function t_(){return!0}function e_(n,t){if(n=C(n),n<1||n>It)return[];var e=Gn,r=un(n,Gn);t=A(t),n-=Gn;for(var i=Dr(r,t);++e<n;)t(e);return i}function r_(n){return R(n)?q(n,qn):wn(n)?[n]:cn(Ff(b(n)))}function i_(n){var t=++_s;return b(n)+t}var u_=Ve(function(n,t){return n+t},0),f_=ai("ceil"),o_=Ve(function(n,t){return n/t},1),l_=ai("floor");function s_(n){return n&&n.length?Ke(n,pn,Jr):o}function a_(n,t){return n&&n.length?Ke(n,A(t,2),Jr):o}function c_(n){return wu(n,pn)}function h_(n,t){return wu(n,A(t,2))}function g_(n){return n&&n.length?Ke(n,pn,jr):o}function p_(n,t){return n&&n.length?Ke(n,A(t,2),jr):o}var __=Ve(function(n,t){return n*t},1),d_=ai("round"),v_=Ve(function(n,t){return n-t},0);function x_(n){return n&&n.length?Ur(n,pn):0}function w_(n,t){return n&&n.length?Ur(n,A(t,2)):0}return u.after=Hh,u.ary=zf,u.assign=Tg,u.assignIn=uo,u.assignInWith=ar,u.assignWith=Lg,u.at=Og,u.before=Zf,u.bind=mi,u.bindAll=bp,u.bindKey=Yf,u.castArray=jh,u.chain=$f,u.chunk=lc,u.compact=sc,u.concat=ac,u.cond=Pp,u.conforms=Up,u.constant=Li,u.countBy=xh,u.create=Wg,u.curry=Xf,u.curryRight=Jf,u.debounce=Qf,u.defaults=Bg,u.defaultsDeep=Mg,u.defer=$h,u.delay=qh,u.difference=cc,u.differenceBy=hc,u.differenceWith=gc,u.drop=pc,u.dropRight=_c,u.dropRightWhile=dc,u.dropWhile=vc,u.fill=xc,u.filter=Ah,u.flatMap=Eh,u.flatMapDeep=Rh,u.flatMapDepth=Ih,u.flatten=Df,u.flattenDeep=wc,u.flattenDepth=Ac,u.flip=Kh,u.flow=Np,u.flowRight=Gp,u.fromPairs=yc,u.functions=Gg,u.functionsIn=Hg,u.groupBy=Ch,u.initial=Ec,u.intersection=Rc,u.intersectionBy=Ic,u.intersectionWith=Cc,u.invert=qg,u.invertBy=Kg,u.invokeMap=Th,u.iteratee=Oi,u.keyBy=Lh,u.keys=j,u.keysIn=gn,u.map=ir,u.mapKeys=Zg,u.mapValues=Yg,u.matches=Hp,u.matchesProperty=$p,u.memoize=fr,u.merge=Xg,u.mergeWith=fo,u.method=qp,u.methodOf=Kp,u.mixin=Wi,u.negate=or,u.nthArg=Zp,u.omit=Jg,u.omitBy=Qg,u.once=zh,u.orderBy=Oh,u.over=Yp,u.overArgs=Zh,u.overEvery=Xp,u.overSome=Jp,u.partial=Ei,u.partialRight=Vf,u.partition=Wh,u.pick=Vg,u.pickBy=oo,u.property=po,u.propertyOf=Qp,u.pull=Oc,u.pullAll=Gf,u.pullAllBy=Wc,u.pullAllWith=Bc,u.pullAt=Mc,u.range=Vp,u.rangeRight=kp,u.rearg=Yh,u.reject=Fh,u.remove=Fc,u.rest=Xh,u.reverse=Ai,u.sampleSize=Ph,u.set=jg,u.setWith=np,u.shuffle=Uh,u.slice=bc,u.sortBy=Gh,u.sortedUniq=$c,u.sortedUniqBy=qc,u.split=Ep,u.spread=Jh,u.tail=Kc,u.take=zc,u.takeRight=Zc,u.takeRightWhile=Yc,u.takeWhile=Xc,u.tap=sh,u.throttle=Qh,u.thru=rr,u.toArray=eo,u.toPairs=lo,u.toPairsIn=so,u.toPath=r_,u.toPlainObject=io,u.transform=tp,u.unary=Vh,u.union=Jc,u.unionBy=Qc,u.unionWith=Vc,u.uniq=kc,u.uniqBy=jc,u.uniqWith=nh,u.unset=ep,u.unzip=yi,u.unzipWith=Hf,u.update=rp,u.updateWith=ip,u.values=Ht,u.valuesIn=up,u.without=th,u.words=ho,u.wrap=kh,u.xor=eh,u.xorBy=rh,u.xorWith=ih,u.zip=uh,u.zipObject=fh,u.zipObjectDeep=oh,u.zipWith=lh,u.entries=lo,u.entriesIn=so,u.extend=uo,u.extendWith=ar,Wi(u,u),u.add=u_,u.attempt=go,u.camelCase=sp,u.capitalize=ao,u.ceil=f_,u.clamp=fp,u.clone=ng,u.cloneDeep=eg,u.cloneDeepWith=rg,u.cloneWith=tg,u.conformsTo=ig,u.deburr=co,u.defaultTo=Dp,u.divide=o_,u.endsWith=ap,u.eq=Dn,u.escape=cp,u.escapeRegExp=hp,u.every=wh,u.find=yh,u.findIndex=Pf,u.findKey=Fg,u.findLast=mh,u.findLastIndex=Uf,u.findLastKey=bg,u.floor=l_,u.forEach=qf,u.forEachRight=Kf,u.forIn=Pg,u.forInRight=Ug,u.forOwn=Dg,u.forOwnRight=Ng,u.get=Ci,u.gt=ug,u.gte=fg,u.has=$g,u.hasIn=Si,u.head=Nf,u.identity=pn,u.includes=Sh,u.indexOf=mc,u.inRange=op,u.invoke=zg,u.isArguments=mt,u.isArray=R,u.isArrayBuffer=og,u.isArrayLike=hn,u.isArrayLikeObject=Z,u.isBoolean=lg,u.isBuffer=ct,u.isDate=sg,u.isElement=ag,u.isEmpty=cg,u.isEqual=hg,u.isEqualWith=gg,u.isError=Ri,u.isFinite=pg,u.isFunction=jn,u.isInteger=kf,u.isLength=lr,u.isMap=jf,u.isMatch=_g,u.isMatchWith=dg,u.isNaN=vg,u.isNative=xg,u.isNil=Ag,u.isNull=wg,u.isNumber=no,u.isObject=K,u.isObjectLike=z,u.isPlainObject=ce,u.isRegExp=Ii,u.isSafeInteger=yg,u.isSet=to,u.isString=sr,u.isSymbol=wn,u.isTypedArray=Gt,u.isUndefined=mg,u.isWeakMap=Eg,u.isWeakSet=Rg,u.join=Sc,u.kebabCase=gp,u.last=Tn,u.lastIndexOf=Tc,u.lowerCase=pp,u.lowerFirst=_p,u.lt=Ig,u.lte=Cg,u.max=s_,u.maxBy=a_,u.mean=c_,u.meanBy=h_,u.min=g_,u.minBy=p_,u.stubArray=Mi,u.stubFalse=Fi,u.stubObject=jp,u.stubString=n_,u.stubTrue=t_,u.multiply=__,u.nth=Lc,u.noConflict=zp,u.noop=Bi,u.now=ur,u.pad=dp,u.padEnd=vp,u.padStart=xp,u.parseInt=wp,u.random=lp,u.reduce=Bh,u.reduceRight=Mh,u.repeat=Ap,u.replace=yp,u.result=kg,u.round=d_,u.runInContext=a,u.sample=bh,u.size=Dh,u.snakeCase=mp,u.some=Nh,u.sortedIndex=Pc,u.sortedIndexBy=Uc,u.sortedIndexOf=Dc,u.sortedLastIndex=Nc,u.sortedLastIndexBy=Gc,u.sortedLastIndexOf=Hc,u.startCase=Rp,u.startsWith=Ip,u.subtract=v_,u.sum=x_,u.sumBy=w_,u.template=Cp,u.times=e_,u.toFinite=nt,u.toInteger=C,u.toLength=ro,u.toLower=Sp,u.toNumber=Ln,u.toSafeInteger=Sg,u.toString=b,u.toUpper=Tp,u.trim=Lp,u.trimEnd=Op,u.trimStart=Wp,u.truncate=Bp,u.unescape=Mp,u.uniqueId=i_,u.upperCase=Fp,u.upperFirst=Ti,u.each=qf,u.eachRight=Kf,u.first=Nf,Wi(u,function(){var n={};return Hn(u,function(t,e){P.call(u.prototype,e)||(n[e]=t)}),n}(),{chain:!1}),u.VERSION=$,En(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){u[n].placeholder=u}),En(["drop","take"],function(n,t){B.prototype[n]=function(e){e=e===o?1:V(C(e),0);var r=this.__filtered__&&!t?new B(this):this.clone();return r.__filtered__?r.__takeCount__=un(e,r.__takeCount__):r.__views__.push({size:un(e,Gn),type:n+(r.__dir__<0?"Right":"")}),r},B.prototype[n+"Right"]=function(e){return this.reverse()[n](e).reverse()}}),En(["filter","map","takeWhile"],function(n,t){var e=t+1,r=e==Ui||e==Oo;B.prototype[n]=function(i){var f=this.clone();return f.__iteratees__.push({iteratee:A(i,3),type:e}),f.__filtered__=f.__filtered__||r,f}}),En(["head","last"],function(n,t){var e="take"+(t?"Right":"");B.prototype[n]=function(){return this[e](1).value()[0]}}),En(["initial","tail"],function(n,t){var e="drop"+(t?"":"Right");B.prototype[n]=function(){return this.__filtered__?new B(this):this[e](1)}}),B.prototype.compact=function(){return this.filter(pn)},B.prototype.find=function(n){return this.filter(n).head()},B.prototype.findLast=function(n){return this.reverse().find(n)},B.prototype.invokeMap=T(function(n,t){return typeof n=="function"?new B(this):this.map(function(e){return ue(e,n,t)})}),B.prototype.reject=function(n){return this.filter(or(A(n)))},B.prototype.slice=function(n,t){n=C(n);var e=this;return e.__filtered__&&(n>0||t<0)?new B(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==o&&(t=C(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},B.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},B.prototype.toArray=function(){return this.take(Gn)},Hn(B.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],f=r||/^find/.test(t);i&&(u.prototype[t]=function(){var l=this.__wrapped__,s=r?[1]:arguments,c=l instanceof B,p=s[0],_=c||R(l),d=function(O){var M=i.apply(u,it([O],s));return r&&v?M[0]:M};_&&e&&typeof p=="function"&&p.length!=1&&(c=_=!1);var v=this.__chain__,w=!!this.__actions__.length,y=f&&!v,S=c&&!w;if(!f&&_){l=S?l:new B(this);var m=n.apply(l,s);return m.__actions__.push({func:rr,args:[d],thisArg:o}),new In(m,v)}return y&&S?n.apply(this,s):(m=this.thru(d),y?r?m.value()[0]:m.value():m)})}),En(["pop","push","shift","sort","splice","unshift"],function(n){var t=Le[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var f=this.value();return t.apply(R(f)?f:[],i)}return this[e](function(l){return t.apply(R(l)?l:[],i)})}}),Hn(B.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";P.call(bt,r)||(bt[r]=[]),bt[r].push({name:t,func:e})}}),bt[Qe(o,et).name]=[{name:"wrapper",func:o}],B.prototype.clone=Ms,B.prototype.reverse=Fs,B.prototype.value=bs,u.prototype.at=ah,u.prototype.chain=ch,u.prototype.commit=hh,u.prototype.next=gh,u.prototype.plant=_h,u.prototype.reverse=dh,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=vh,u.prototype.first=u.prototype.head,kt&&(u.prototype[kt]=ph),u},Bt=hs();pt?((pt.exports=Bt)._=Bt,Or._=Bt):tn._=Bt}).call(F_)}(ge,ge.exports)),ge.exports}var N_=b_();export{D_ as A,N_ as l}; diff --git a/compendium_v2/static/useData-C0vA-Ut8.js b/compendium_v2/static/useData-C0vA-Ut8.js deleted file mode 100644 index 2e9f8af491d0220178090786b3a920df6ff42640..0000000000000000000000000000000000000000 --- a/compendium_v2/static/useData-C0vA-Ut8.js +++ /dev/null @@ -1,20 +0,0 @@ -var za=Object.defineProperty;var Ba=(e,t,n)=>t in e?za(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var j=(e,t,n)=>Ba(e,typeof t!="symbol"?t+"":t,n);import{r as D,u as Yt,g as Wa,j as x,h as qt,i as Gt,k as Ha,w as Va,l as bs,o as Ya,m as fn,f as fe,n as lr,B as Ua,p as Xa,q as Ka,s as xs,t as qa,v as cr,x as Nt,y as Ga,z as Ja,c as St,A as Za,S as J,D as hr,R as oe,E as ye,G as dr,I as me,P as Qa,H as tl,J as el,L as nl,N as il,C as ys,K as Zn,M as sl}from"./index.js";import{L as T,S as on}from"./SideBar-Bzc5cONd.js";import{u as Qn,w as ol}from"./xlsx-BHRztzV8.js";import{c as fr,F as ur}from"./index-DW4SYwQF.js";import{u as rl}from"./hook-GVc5uk5F.js";function al(){return D.useState(null)}function ll(e,t,n,i=!1){const s=Yt(n);D.useEffect(()=>{const o=typeof e=="function"?e():e;return o.addEventListener(t,s,i),()=>o.removeEventListener(t,s,i)},[e])}const cl=["onKeyDown"];function hl(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function dl(e){return!e||e.trim()==="#"}const pr=D.forwardRef((e,t)=>{let{onKeyDown:n}=e,i=hl(e,cl);const[s]=Wa(Object.assign({tagName:"a"},i)),o=Yt(r=>{s.onKeyDown(r),n==null||n(r)});return dl(i.href)||i.role==="button"?x.jsx("a",Object.assign({ref:t},i,s,{onKeyDown:o})):x.jsx("a",Object.assign({ref:t},i,{onKeyDown:n}))});pr.displayName="Anchor";const Ai=D.forwardRef(({bsPrefix:e,className:t,role:n="toolbar",...i},s)=>{const o=qt(e,"btn-toolbar");return x.jsx("div",{...i,ref:s,className:Gt(t,o),role:n})});Ai.displayName="ButtonToolbar";function fl(e,t,n){const i=D.useRef(e!==void 0),[s,o]=D.useState(t),r=e!==void 0,a=i.current;return i.current=r,!r&&a&&s!==t&&o(t),[r?e:s,D.useCallback((...l)=>{const[c,...h]=l;let d=n==null?void 0:n(c,...h);return o(c),d},[n])]}function ul(){const[,e]=D.useReducer(t=>t+1,0);return e}const Un=D.createContext(null);var _s=Object.prototype.hasOwnProperty;function vs(e,t,n){for(n of e.keys())if(We(n,t))return n}function We(e,t){var n,i,s;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((i=e.length)===t.length)for(;i--&&We(e[i],t[i]););return i===-1}if(n===Set){if(e.size!==t.size)return!1;for(i of e)if(s=i,s&&typeof s=="object"&&(s=vs(t,s),!s)||!t.has(s))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(i of e)if(s=i[0],s&&typeof s=="object"&&(s=vs(t,s),!s)||!We(i[1],t.get(s)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return i===-1}if(ArrayBuffer.isView(e)){if((i=e.byteLength)===t.byteLength)for(;i--&&e[i]===t[i];);return i===-1}if(!n||typeof e=="object"){i=0;for(n in e)if(_s.call(e,n)&&++i&&!_s.call(t,n)||!(n in t)||!We(e[n],t[n]))return!1;return Object.keys(t).length===i}}return e!==e&&t!==t}function pl(e){const t=Ha();return[e[0],D.useCallback(n=>{if(t())return e[1](n)},[t,e[1]])]}var ft="top",yt="bottom",_t="right",ut="left",ji="auto",rn=[ft,yt,_t,ut],Se="start",qe="end",gl="clippingParents",gr="viewport",Ae="popper",ml="reference",ws=rn.reduce(function(e,t){return e.concat([t+"-"+Se,t+"-"+qe])},[]),mr=[].concat(rn,[ji]).reduce(function(e,t){return e.concat([t,t+"-"+Se,t+"-"+qe])},[]),bl="beforeRead",xl="read",yl="afterRead",_l="beforeMain",vl="main",wl="afterMain",Sl="beforeWrite",kl="write",Ml="afterWrite",Cl=[bl,xl,yl,_l,vl,wl,Sl,kl,Ml];function Ot(e){return e.split("-")[0]}function mt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ue(e){var t=mt(e).Element;return e instanceof t||e instanceof Element}function Et(e){var t=mt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Li(e){if(typeof ShadowRoot>"u")return!1;var t=mt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var he=Math.max,Ln=Math.min,ke=Math.round;function _i(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function br(){return!/^((?!chrome|android).)*safari/i.test(_i())}function Me(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),s=1,o=1;t&&Et(e)&&(s=e.offsetWidth>0&&ke(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ke(i.height)/e.offsetHeight||1);var r=ue(e)?mt(e):window,a=r.visualViewport,l=!br()&&n,c=(i.left+(l&&a?a.offsetLeft:0))/s,h=(i.top+(l&&a?a.offsetTop:0))/o,d=i.width/s,f=i.height/o;return{width:d,height:f,top:h,right:c+d,bottom:h+f,left:c,x:c,y:h}}function Ni(e){var t=Me(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function xr(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Li(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Xt(e){return e?(e.nodeName||"").toLowerCase():null}function Ft(e){return mt(e).getComputedStyle(e)}function Pl(e){return["table","td","th"].indexOf(Xt(e))>=0}function Jt(e){return((ue(e)?e.ownerDocument:e.document)||window.document).documentElement}function Xn(e){return Xt(e)==="html"?e:e.assignedSlot||e.parentNode||(Li(e)?e.host:null)||Jt(e)}function Ss(e){return!Et(e)||Ft(e).position==="fixed"?null:e.offsetParent}function Ol(e){var t=/firefox/i.test(_i()),n=/Trident/i.test(_i());if(n&&Et(e)){var i=Ft(e);if(i.position==="fixed")return null}var s=Xn(e);for(Li(s)&&(s=s.host);Et(s)&&["html","body"].indexOf(Xt(s))<0;){var o=Ft(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function an(e){for(var t=mt(e),n=Ss(e);n&&Pl(n)&&Ft(n).position==="static";)n=Ss(n);return n&&(Xt(n)==="html"||Xt(n)==="body"&&Ft(n).position==="static")?t:n||Ol(e)||t}function Ii(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function He(e,t,n){return he(e,Ln(t,n))}function El(e,t,n){var i=He(e,t,n);return i>n?n:i}function yr(){return{top:0,right:0,bottom:0,left:0}}function _r(e){return Object.assign({},yr(),e)}function vr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var Dl=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,_r(typeof t!="number"?t:vr(t,rn))};function Rl(e){var t,n=e.state,i=e.name,s=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=Ot(n.placement),l=Ii(a),c=[ut,_t].indexOf(a)>=0,h=c?"height":"width";if(!(!o||!r)){var d=Dl(s.padding,n),f=Ni(o),u=l==="y"?ft:ut,g=l==="y"?yt:_t,m=n.rects.reference[h]+n.rects.reference[l]-r[l]-n.rects.popper[h],p=r[l]-n.rects.reference[l],b=an(o),y=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,v=m/2-p/2,w=d[u],_=y-f[h]-d[g],S=y/2-f[h]/2+v,M=He(w,S,_),k=l;n.modifiersData[i]=(t={},t[k]=M,t.centerOffset=M-S,t)}}function Tl(e){var t=e.state,n=e.options,i=n.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||xr(t.elements.popper,s)&&(t.elements.arrow=s))}const Al={name:"arrow",enabled:!0,phase:"main",fn:Rl,effect:Tl,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ce(e){return e.split("-")[1]}var jl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ll(e,t){var n=e.x,i=e.y,s=t.devicePixelRatio||1;return{x:ke(n*s)/s||0,y:ke(i*s)/s||0}}function ks(e){var t,n=e.popper,i=e.popperRect,s=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,h=e.roundOffsets,d=e.isFixed,f=r.x,u=f===void 0?0:f,g=r.y,m=g===void 0?0:g,p=typeof h=="function"?h({x:u,y:m}):{x:u,y:m};u=p.x,m=p.y;var b=r.hasOwnProperty("x"),y=r.hasOwnProperty("y"),v=ut,w=ft,_=window;if(c){var S=an(n),M="clientHeight",k="clientWidth";if(S===mt(n)&&(S=Jt(n),Ft(S).position!=="static"&&a==="absolute"&&(M="scrollHeight",k="scrollWidth")),S=S,s===ft||(s===ut||s===_t)&&o===qe){w=yt;var P=d&&S===_&&_.visualViewport?_.visualViewport.height:S[M];m-=P-i.height,m*=l?1:-1}if(s===ut||(s===ft||s===yt)&&o===qe){v=_t;var E=d&&S===_&&_.visualViewport?_.visualViewport.width:S[k];u-=E-i.width,u*=l?1:-1}}var C=Object.assign({position:a},c&&jl),O=h===!0?Ll({x:u,y:m},mt(n)):{x:u,y:m};if(u=O.x,m=O.y,l){var R;return Object.assign({},C,(R={},R[w]=y?"0":"",R[v]=b?"0":"",R.transform=(_.devicePixelRatio||1)<=1?"translate("+u+"px, "+m+"px)":"translate3d("+u+"px, "+m+"px, 0)",R))}return Object.assign({},C,(t={},t[w]=y?m+"px":"",t[v]=b?u+"px":"",t.transform="",t))}function Nl(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=i===void 0?!0:i,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Ot(t.placement),variation:Ce(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ks(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ks(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Il={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nl,data:{}};var un={passive:!0};function Fl(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,o=s===void 0?!0:s,r=i.resize,a=r===void 0?!0:r,l=mt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",n.update,un)}),a&&l.addEventListener("resize",n.update,un),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",n.update,un)}),a&&l.removeEventListener("resize",n.update,un)}}const $l={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Fl,data:{}};var zl={left:"right",right:"left",bottom:"top",top:"bottom"};function Tn(e){return e.replace(/left|right|bottom|top/g,function(t){return zl[t]})}var Bl={start:"end",end:"start"};function Ms(e){return e.replace(/start|end/g,function(t){return Bl[t]})}function Fi(e){var t=mt(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function $i(e){return Me(Jt(e)).left+Fi(e).scrollLeft}function Wl(e,t){var n=mt(e),i=Jt(e),s=n.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=br();(c||!c&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+$i(e),y:l}}function Hl(e){var t,n=Jt(e),i=Fi(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=he(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=he(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+$i(e),l=-i.scrollTop;return Ft(s||n).direction==="rtl"&&(a+=he(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function zi(e){var t=Ft(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function wr(e){return["html","body","#document"].indexOf(Xt(e))>=0?e.ownerDocument.body:Et(e)&&zi(e)?e:wr(Xn(e))}function Ve(e,t){var n;t===void 0&&(t=[]);var i=wr(e),s=i===((n=e.ownerDocument)==null?void 0:n.body),o=mt(i),r=s?[o].concat(o.visualViewport||[],zi(i)?i:[]):i,a=t.concat(r);return s?a:a.concat(Ve(Xn(r)))}function vi(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Vl(e,t){var n=Me(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Cs(e,t,n){return t===gr?vi(Wl(e,n)):ue(t)?Vl(t,n):vi(Hl(Jt(e)))}function Yl(e){var t=Ve(Xn(e)),n=["absolute","fixed"].indexOf(Ft(e).position)>=0,i=n&&Et(e)?an(e):e;return ue(i)?t.filter(function(s){return ue(s)&&xr(s,i)&&Xt(s)!=="body"}):[]}function Ul(e,t,n,i){var s=t==="clippingParents"?Yl(e):[].concat(t),o=[].concat(s,[n]),r=o[0],a=o.reduce(function(l,c){var h=Cs(e,c,i);return l.top=he(h.top,l.top),l.right=Ln(h.right,l.right),l.bottom=Ln(h.bottom,l.bottom),l.left=he(h.left,l.left),l},Cs(e,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Sr(e){var t=e.reference,n=e.element,i=e.placement,s=i?Ot(i):null,o=i?Ce(i):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case ft:l={x:r,y:t.y-n.height};break;case yt:l={x:r,y:t.y+t.height};break;case _t:l={x:t.x+t.width,y:a};break;case ut:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?Ii(s):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case Se:l[c]=l[c]-(t[h]/2-n[h]/2);break;case qe:l[c]=l[c]+(t[h]/2-n[h]/2);break}}return l}function Ge(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=i===void 0?e.placement:i,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?gl:a,c=n.rootBoundary,h=c===void 0?gr:c,d=n.elementContext,f=d===void 0?Ae:d,u=n.altBoundary,g=u===void 0?!1:u,m=n.padding,p=m===void 0?0:m,b=_r(typeof p!="number"?p:vr(p,rn)),y=f===Ae?ml:Ae,v=e.rects.popper,w=e.elements[g?y:f],_=Ul(ue(w)?w:w.contextElement||Jt(e.elements.popper),l,h,r),S=Me(e.elements.reference),M=Sr({reference:S,element:v,strategy:"absolute",placement:s}),k=vi(Object.assign({},v,M)),P=f===Ae?k:S,E={top:_.top-P.top+b.top,bottom:P.bottom-_.bottom+b.bottom,left:_.left-P.left+b.left,right:P.right-_.right+b.right},C=e.modifiersData.offset;if(f===Ae&&C){var O=C[s];Object.keys(E).forEach(function(R){var N=[_t,yt].indexOf(R)>=0?1:-1,A=[ft,yt].indexOf(R)>=0?"y":"x";E[R]+=O[A]*N})}return E}function Xl(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?mr:l,h=Ce(i),d=h?a?ws:ws.filter(function(g){return Ce(g)===h}):rn,f=d.filter(function(g){return c.indexOf(g)>=0});f.length===0&&(f=d);var u=f.reduce(function(g,m){return g[m]=Ge(e,{placement:m,boundary:s,rootBoundary:o,padding:r})[Ot(m)],g},{});return Object.keys(u).sort(function(g,m){return u[g]-u[m]})}function Kl(e){if(Ot(e)===ji)return[];var t=Tn(e);return[Ms(e),t,Ms(t)]}function ql(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,h=n.boundary,d=n.rootBoundary,f=n.altBoundary,u=n.flipVariations,g=u===void 0?!0:u,m=n.allowedAutoPlacements,p=t.options.placement,b=Ot(p),y=b===p,v=l||(y||!g?[Tn(p)]:Kl(p)),w=[p].concat(v).reduce(function(X,K){return X.concat(Ot(K)===ji?Xl(t,{placement:K,boundary:h,rootBoundary:d,padding:c,flipVariations:g,allowedAutoPlacements:m}):K)},[]),_=t.rects.reference,S=t.rects.popper,M=new Map,k=!0,P=w[0],E=0;E<w.length;E++){var C=w[E],O=Ot(C),R=Ce(C)===Se,N=[ft,yt].indexOf(O)>=0,A=N?"width":"height",L=Ge(t,{placement:C,boundary:h,rootBoundary:d,altBoundary:f,padding:c}),I=N?R?_t:ut:R?yt:ft;_[A]>S[A]&&(I=Tn(I));var W=Tn(I),$=[];if(o&&$.push(L[O]<=0),a&&$.push(L[I]<=0,L[W]<=0),$.every(function(X){return X})){P=C,k=!1;break}M.set(C,$)}if(k)for(var B=g?3:1,et=function(K){var G=w.find(function(Rt){var H=M.get(Rt);if(H)return H.slice(0,K).every(function(nt){return nt})});if(G)return P=G,"break"},tt=B;tt>0;tt--){var it=et(tt);if(it==="break")break}t.placement!==P&&(t.modifiersData[i]._skip=!0,t.placement=P,t.reset=!0)}}const Gl={name:"flip",enabled:!0,phase:"main",fn:ql,requiresIfExists:["offset"],data:{_skip:!1}};function Ps(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Os(e){return[ft,_t,yt,ut].some(function(t){return e[t]>=0})}function Jl(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,r=Ge(t,{elementContext:"reference"}),a=Ge(t,{altBoundary:!0}),l=Ps(r,i),c=Ps(a,s,o),h=Os(l),d=Os(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}const Zl={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Jl};function Ql(e,t,n){var i=Ot(e),s=[ut,ft].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ut,_t].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function tc(e){var t=e.state,n=e.options,i=e.name,s=n.offset,o=s===void 0?[0,0]:s,r=mr.reduce(function(h,d){return h[d]=Ql(d,t.rects,o),h},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}const ec={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:tc};function nc(e){var t=e.state,n=e.name;t.modifiersData[n]=Sr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const ic={name:"popperOffsets",enabled:!0,phase:"read",fn:nc,data:{}};function sc(e){return e==="x"?"y":"x"}function oc(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,h=n.altBoundary,d=n.padding,f=n.tether,u=f===void 0?!0:f,g=n.tetherOffset,m=g===void 0?0:g,p=Ge(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),b=Ot(t.placement),y=Ce(t.placement),v=!y,w=Ii(b),_=sc(w),S=t.modifiersData.popperOffsets,M=t.rects.reference,k=t.rects.popper,P=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,E=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(S){if(o){var R,N=w==="y"?ft:ut,A=w==="y"?yt:_t,L=w==="y"?"height":"width",I=S[w],W=I+p[N],$=I-p[A],B=u?-k[L]/2:0,et=y===Se?M[L]:k[L],tt=y===Se?-k[L]:-M[L],it=t.elements.arrow,X=u&&it?Ni(it):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:yr(),G=K[N],Rt=K[A],H=He(0,M[L],X[L]),nt=v?M[L]/2-B-H-G-E.mainAxis:et-H-G-E.mainAxis,Te=v?-M[L]/2+B+H+Rt+E.mainAxis:tt+H+Rt+E.mainAxis,zt=t.elements.arrow&&an(t.elements.arrow),Zt=zt?w==="y"?zt.clientTop||0:zt.clientLeft||0:0,Qt=(R=C==null?void 0:C[w])!=null?R:0,ct=I+nt-Qt-Zt,Ia=I+Te-Qt,cs=He(u?Ln(W,ct):W,I,u?he($,Ia):$);S[w]=cs,O[w]=cs-I}if(a){var hs,Fa=w==="x"?ft:ut,$a=w==="x"?yt:_t,te=S[_],dn=_==="y"?"height":"width",ds=te+p[Fa],fs=te-p[$a],Jn=[ft,ut].indexOf(b)!==-1,us=(hs=C==null?void 0:C[_])!=null?hs:0,ps=Jn?ds:te-M[dn]-k[dn]-us+E.altAxis,gs=Jn?te+M[dn]+k[dn]-us-E.altAxis:fs,ms=u&&Jn?El(ps,te,gs):He(u?ps:ds,te,u?gs:fs);S[_]=ms,O[_]=ms-te}t.modifiersData[i]=O}}const rc={name:"preventOverflow",enabled:!0,phase:"main",fn:oc,requiresIfExists:["offset"]};function ac(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function lc(e){return e===mt(e)||!Et(e)?Fi(e):ac(e)}function cc(e){var t=e.getBoundingClientRect(),n=ke(t.width)/e.offsetWidth||1,i=ke(t.height)/e.offsetHeight||1;return n!==1||i!==1}function hc(e,t,n){n===void 0&&(n=!1);var i=Et(t),s=Et(t)&&cc(t),o=Jt(t),r=Me(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Xt(t)!=="body"||zi(o))&&(a=lc(t)),Et(t)?(l=Me(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=$i(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function dc(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),i}function fc(e){var t=dc(e);return Cl.reduce(function(n,i){return n.concat(t.filter(function(s){return s.phase===i}))},[])}function uc(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function pc(e){var t=e.reduce(function(n,i){var s=n[i.name];return n[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var Es={placement:"bottom",modifiers:[],strategy:"absolute"};function Ds(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function gc(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,i=n===void 0?[]:n,s=t.defaultOptions,o=s===void 0?Es:s;return function(a,l,c){c===void 0&&(c=o);var h={placement:"bottom",orderedModifiers:[],options:Object.assign({},Es,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},d=[],f=!1,u={state:h,setOptions:function(b){var y=typeof b=="function"?b(h.options):b;m(),h.options=Object.assign({},o,h.options,y),h.scrollParents={reference:ue(a)?Ve(a):a.contextElement?Ve(a.contextElement):[],popper:Ve(l)};var v=fc(pc([].concat(i,h.options.modifiers)));return h.orderedModifiers=v.filter(function(w){return w.enabled}),g(),u.update()},forceUpdate:function(){if(!f){var b=h.elements,y=b.reference,v=b.popper;if(Ds(y,v)){h.rects={reference:hc(y,an(v),h.options.strategy==="fixed"),popper:Ni(v)},h.reset=!1,h.placement=h.options.placement,h.orderedModifiers.forEach(function(E){return h.modifiersData[E.name]=Object.assign({},E.data)});for(var w=0;w<h.orderedModifiers.length;w++){if(h.reset===!0){h.reset=!1,w=-1;continue}var _=h.orderedModifiers[w],S=_.fn,M=_.options,k=M===void 0?{}:M,P=_.name;typeof S=="function"&&(h=S({state:h,options:k,name:P,instance:u})||h)}}}},update:uc(function(){return new Promise(function(p){u.forceUpdate(),p(h)})}),destroy:function(){m(),f=!0}};if(!Ds(a,l))return u;u.setOptions(c).then(function(p){!f&&c.onFirstUpdate&&c.onFirstUpdate(p)});function g(){h.orderedModifiers.forEach(function(p){var b=p.name,y=p.options,v=y===void 0?{}:y,w=p.effect;if(typeof w=="function"){var _=w({state:h,name:b,instance:u,options:v}),S=function(){};d.push(_||S)}})}function m(){d.forEach(function(p){return p()}),d=[]}return u}}const mc=gc({defaultModifiers:[Zl,ic,Il,$l,ec,Gl,rc,Al]}),bc=["enabled","placement","strategy","modifiers"];function xc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const yc={name:"applyStyles",enabled:!1,phase:"afterWrite",fn:()=>{}},_c={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{const{reference:t,popper:n}=e.elements;if("removeAttribute"in t){const i=(t.getAttribute("aria-describedby")||"").split(",").filter(s=>s.trim()!==n.id);i.length?t.setAttribute("aria-describedby",i.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;const{popper:n,reference:i}=e.elements,s=(t=n.getAttribute("role"))==null?void 0:t.toLowerCase();if(n.id&&s==="tooltip"&&"setAttribute"in i){const o=i.getAttribute("aria-describedby");if(o&&o.split(",").indexOf(n.id)!==-1)return;i.setAttribute("aria-describedby",o?`${o},${n.id}`:n.id)}}},vc=[];function wc(e,t,n={}){let{enabled:i=!0,placement:s="bottom",strategy:o="absolute",modifiers:r=vc}=n,a=xc(n,bc);const l=D.useRef(r),c=D.useRef(),h=D.useCallback(()=>{var p;(p=c.current)==null||p.update()},[]),d=D.useCallback(()=>{var p;(p=c.current)==null||p.forceUpdate()},[]),[f,u]=pl(D.useState({placement:s,update:h,forceUpdate:d,attributes:{},styles:{popper:{},arrow:{}}})),g=D.useMemo(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:p})=>{const b={},y={};Object.keys(p.elements).forEach(v=>{b[v]=p.styles[v],y[v]=p.attributes[v]}),u({state:p,styles:b,attributes:y,update:h,forceUpdate:d,placement:p.placement})}}),[h,d,u]),m=D.useMemo(()=>(We(l.current,r)||(l.current=r),l.current),[r]);return D.useEffect(()=>{!c.current||!i||c.current.setOptions({placement:s,strategy:o,modifiers:[...m,g,yc]})},[o,s,g,i,m]),D.useEffect(()=>{if(!(!i||e==null||t==null))return c.current=mc(e,t,Object.assign({},a,{placement:s,strategy:o,modifiers:[...m,_c,g]})),()=>{c.current!=null&&(c.current.destroy(),c.current=void 0,u(p=>Object.assign({},p,{attributes:{},styles:{popper:{}}})))}},[i,e,t]),f}const Rs=()=>{};function Sc(e){return e.button===0}function kc(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}const ti=e=>e&&("current"in e?e.current:e),Ts={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};function Mc(e,t=Rs,{disabled:n,clickTrigger:i="click"}={}){const s=D.useRef(!1),o=D.useRef(!1),r=D.useCallback(c=>{const h=ti(e);Va(!!h,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),s.current=!h||kc(c)||!Sc(c)||!!bs(h,c.target)||o.current,o.current=!1},[e]),a=Yt(c=>{const h=ti(e);h&&bs(h,c.target)?o.current=!0:o.current=!1}),l=Yt(c=>{s.current||t(c)});D.useEffect(()=>{var c,h;if(n||e==null)return;const d=Ya(ti(e)),f=d.defaultView||window;let u=(c=f.event)!=null?c:(h=f.parent)==null?void 0:h.event,g=null;Ts[i]&&(g=fn(d,Ts[i],a,!0));const m=fn(d,i,r,!0),p=fn(d,i,y=>{if(y===u){u=void 0;return}l(y)});let b=[];return"ontouchstart"in d.documentElement&&(b=[].slice.call(d.body.children).map(y=>fn(y,"mousemove",Rs))),()=>{g==null||g(),m(),p(),b.forEach(y=>y())}},[e,n,i,r,a,l])}function Cc(e){const t={};return Array.isArray(e)?(e==null||e.forEach(n=>{t[n.name]=n}),t):e||t}function Pc(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}function Oc({enabled:e,enableEvents:t,placement:n,flip:i,offset:s,fixed:o,containerPadding:r,arrowElement:a,popperConfig:l={}}){var c,h,d,f,u;const g=Cc(l.modifiers);return Object.assign({},l,{placement:n,enabled:e,strategy:o?"fixed":l.strategy,modifiers:Pc(Object.assign({},g,{eventListeners:{enabled:t,options:(c=g.eventListeners)==null?void 0:c.options},preventOverflow:Object.assign({},g.preventOverflow,{options:r?Object.assign({padding:r},(h=g.preventOverflow)==null?void 0:h.options):(d=g.preventOverflow)==null?void 0:d.options}),offset:{options:Object.assign({offset:s},(f=g.offset)==null?void 0:f.options)},arrow:Object.assign({},g.arrow,{enabled:!!a,options:Object.assign({},(u=g.arrow)==null?void 0:u.options,{element:a})}),flip:Object.assign({enabled:!!i},g.flip)}))})}const Ec=["children","usePopper"];function Dc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Rc=()=>{};function kr(e={}){const t=D.useContext(Un),[n,i]=al(),s=D.useRef(!1),{flip:o,offset:r,rootCloseEvent:a,fixed:l=!1,placement:c,popperConfig:h={},enableEventListeners:d=!0,usePopper:f=!!t}=e,u=(t==null?void 0:t.show)==null?!!e.show:t.show;u&&!s.current&&(s.current=!0);const g=S=>{t==null||t.toggle(!1,S)},{placement:m,setMenu:p,menuElement:b,toggleElement:y}=t||{},v=wc(y,b,Oc({placement:c||m||"bottom-start",enabled:f,enableEvents:d??u,offset:r,flip:o,fixed:l,arrowElement:n,popperConfig:h})),w=Object.assign({ref:p||Rc,"aria-labelledby":y==null?void 0:y.id},v.attributes.popper,{style:v.styles.popper}),_={show:u,placement:m,hasShown:s.current,toggle:t==null?void 0:t.toggle,popper:f?v:null,arrowProps:f?Object.assign({ref:i},v.attributes.arrow,{style:v.styles.arrow}):{}};return Mc(b,g,{clickTrigger:a,disabled:!u}),[w,_]}function Mr(e){let{children:t,usePopper:n=!0}=e,i=Dc(e,Ec);const[s,o]=kr(Object.assign({},i,{usePopper:n}));return x.jsx(x.Fragment,{children:t(s,o)})}Mr.displayName="DropdownMenu";const Bi={prefix:String(Math.round(Math.random()*1e10)),current:0},Cr=fe.createContext(Bi),Tc=fe.createContext(!1);let Ac=!!(typeof window<"u"&&window.document&&window.document.createElement),ei=new WeakMap;function jc(e=!1){let t=D.useContext(Cr),n=D.useRef(null);if(n.current===null&&!e){var i,s;let o=(s=fe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||s===void 0||(i=s.ReactCurrentOwner)===null||i===void 0?void 0:i.current;if(o){let r=ei.get(o);r==null?ei.set(o,{id:t.current,state:o.memoizedState}):o.memoizedState!==r.state&&(t.current=r.id,ei.delete(o))}n.current=++t.current}return n.current}function Lc(e){let t=D.useContext(Cr);t===Bi&&!Ac&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let n=jc(!!e),i=`react-aria${t.prefix}`;return e||`${i}-${n}`}function Nc(e){let t=fe.useId(),[n]=D.useState(Bc()),i=n?"react-aria":`react-aria${Bi.prefix}`;return e||`${i}-${t}`}const Ic=typeof fe.useId=="function"?Nc:Lc;function Fc(){return!1}function $c(){return!0}function zc(e){return()=>{}}function Bc(){return typeof fe.useSyncExternalStore=="function"?fe.useSyncExternalStore(zc,Fc,$c):D.useContext(Tc)}const Pr=e=>{var t;return((t=e.getAttribute("role"))==null?void 0:t.toLowerCase())==="menu"},As=()=>{};function Or(){const e=Ic(),{show:t=!1,toggle:n=As,setToggle:i,menuElement:s}=D.useContext(Un)||{},o=D.useCallback(a=>{n(!t,a)},[t,n]),r={id:e,ref:i||As,onClick:o,"aria-expanded":!!t};return s&&Pr(s)&&(r["aria-haspopup"]=!0),[r,{show:t,toggle:n}]}function Er({children:e}){const[t,n]=Or();return x.jsx(x.Fragment,{children:e(t,n)})}Er.displayName="DropdownToggle";const wi=D.createContext(null),js=(e,t=null)=>e!=null?String(e):t||null,Dr=D.createContext(null);Dr.displayName="NavContext";const Wc=["eventKey","disabled","onClick","active","as"];function Hc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function Rr({key:e,href:t,active:n,disabled:i,onClick:s}){const o=D.useContext(wi),r=D.useContext(Dr),{activeKey:a}=r||{},l=js(e,t),c=n==null&&e!=null?js(a)===l:n;return[{onClick:Yt(d=>{i||(s==null||s(d),o&&!d.isPropagationStopped()&&o(l,d))}),"aria-disabled":i||void 0,"aria-selected":c,[lr("dropdown-item")]:""},{isActive:c}]}const Tr=D.forwardRef((e,t)=>{let{eventKey:n,disabled:i,onClick:s,active:o,as:r=Ua}=e,a=Hc(e,Wc);const[l]=Rr({key:n,href:a.href,disabled:i,onClick:s,active:o});return x.jsx(r,Object.assign({},a,{ref:t},l))});Tr.displayName="DropdownItem";function Ls(){const e=ul(),t=D.useRef(null),n=D.useCallback(i=>{t.current=i,e()},[e]);return[t,n]}function ln({defaultShow:e,show:t,onSelect:n,onToggle:i,itemSelector:s=`* [${lr("dropdown-item")}]`,focusFirstItemOnShow:o,placement:r="bottom-start",children:a}){const l=Xa(),[c,h]=fl(t,e,i),[d,f]=Ls(),u=d.current,[g,m]=Ls(),p=g.current,b=Ka(c),y=D.useRef(null),v=D.useRef(!1),w=D.useContext(wi),_=D.useCallback((C,O,R=O==null?void 0:O.type)=>{h(C,{originalEvent:O,source:R})},[h]),S=Yt((C,O)=>{n==null||n(C,O),_(!1,O,"select"),O.isPropagationStopped()||w==null||w(C,O)}),M=D.useMemo(()=>({toggle:_,placement:r,show:c,menuElement:u,toggleElement:p,setMenu:f,setToggle:m}),[_,r,c,u,p,f,m]);u&&b&&!c&&(v.current=u.contains(u.ownerDocument.activeElement));const k=Yt(()=>{p&&p.focus&&p.focus()}),P=Yt(()=>{const C=y.current;let O=o;if(O==null&&(O=d.current&&Pr(d.current)?"keyboard":!1),O===!1||O==="keyboard"&&!/^key.+$/.test(C))return;const R=xs(d.current,s)[0];R&&R.focus&&R.focus()});D.useEffect(()=>{c?P():v.current&&(v.current=!1,k())},[c,v,k,P]),D.useEffect(()=>{y.current=null});const E=(C,O)=>{if(!d.current)return null;const R=xs(d.current,s);let N=R.indexOf(C)+O;return N=Math.max(0,Math.min(N,R.length)),R[N]};return ll(D.useCallback(()=>l.document,[l]),"keydown",C=>{var O,R;const{key:N}=C,A=C.target,L=(O=d.current)==null?void 0:O.contains(A),I=(R=g.current)==null?void 0:R.contains(A);if(/input|textarea/i.test(A.tagName)&&(N===" "||N!=="Escape"&&L||N==="Escape"&&A.type==="search")||!L&&!I||N==="Tab"&&(!d.current||!c))return;y.current=C.type;const $={originalEvent:C,source:C.type};switch(N){case"ArrowUp":{const B=E(A,-1);B&&B.focus&&B.focus(),C.preventDefault();return}case"ArrowDown":if(C.preventDefault(),!c)h(!0,$);else{const B=E(A,1);B&&B.focus&&B.focus()}return;case"Tab":qa(A.ownerDocument,"keyup",B=>{var et;(B.key==="Tab"&&!B.target||!((et=d.current)!=null&&et.contains(B.target)))&&h(!1,$)},{once:!0});break;case"Escape":N==="Escape"&&(C.preventDefault(),C.stopPropagation()),h(!1,$);break}}),x.jsx(wi.Provider,{value:S,children:x.jsx(Un.Provider,{value:M,children:a})})}ln.displayName="Dropdown";ln.Menu=Mr;ln.Toggle=Er;ln.Item=Tr;const Wi=D.createContext({});Wi.displayName="DropdownContext";const Ar=D.forwardRef(({className:e,bsPrefix:t,as:n="hr",role:i="separator",...s},o)=>(t=qt(t,"dropdown-divider"),x.jsx(n,{ref:o,className:Gt(e,t),role:i,...s})));Ar.displayName="DropdownDivider";const jr=D.forwardRef(({className:e,bsPrefix:t,as:n="div",role:i="heading",...s},o)=>(t=qt(t,"dropdown-header"),x.jsx(n,{ref:o,className:Gt(e,t),role:i,...s})));jr.displayName="DropdownHeader";const Lr=D.forwardRef(({bsPrefix:e,className:t,eventKey:n,disabled:i=!1,onClick:s,active:o,as:r=pr,...a},l)=>{const c=qt(e,"dropdown-item"),[h,d]=Rr({key:n,href:a.href,disabled:i,onClick:s,active:o});return x.jsx(r,{...a,...h,ref:l,className:Gt(t,c,d.isActive&&"active",i&&"disabled")})});Lr.displayName="DropdownItem";const Nr=D.forwardRef(({className:e,bsPrefix:t,as:n="span",...i},s)=>(t=qt(t,"dropdown-item-text"),x.jsx(n,{ref:s,className:Gt(e,t),...i})));Nr.displayName="DropdownItemText";const Vc=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",Yc=typeof document<"u",Uc=Yc||Vc?D.useLayoutEffect:D.useEffect,Ir=D.createContext(null);Ir.displayName="NavbarContext";function Fr(e,t){return e}function $r(e,t,n){const i=n?"top-end":"top-start",s=n?"top-start":"top-end",o=n?"bottom-end":"bottom-start",r=n?"bottom-start":"bottom-end",a=n?"right-start":"left-start",l=n?"right-end":"left-end",c=n?"left-start":"right-start",h=n?"left-end":"right-end";let d=e?r:o;return t==="up"?d=e?s:i:t==="end"?d=e?h:c:t==="start"?d=e?l:a:t==="down-centered"?d="bottom":t==="up-centered"&&(d="top"),d}const zr=D.forwardRef(({bsPrefix:e,className:t,align:n,rootCloseEvent:i,flip:s=!0,show:o,renderOnMount:r,as:a="div",popperConfig:l,variant:c,...h},d)=>{let f=!1;const u=D.useContext(Ir),g=qt(e,"dropdown-menu"),{align:m,drop:p,isRTL:b}=D.useContext(Wi);n=n||m;const y=D.useContext(fr),v=[];if(n)if(typeof n=="object"){const C=Object.keys(n);if(C.length){const O=C[0],R=n[O];f=R==="start",v.push(`${g}-${O}-${R}`)}}else n==="end"&&(f=!0);const w=$r(f,p,b),[_,{hasShown:S,popper:M,show:k,toggle:P}]=kr({flip:s,rootCloseEvent:i,show:o,usePopper:!u&&v.length===0,offset:[0,2],popperConfig:l,placement:w});if(_.ref=cr(Fr(d),_.ref),Uc(()=>{k&&(M==null||M.update())},[k]),!S&&!r&&!y)return null;typeof a!="string"&&(_.show=k,_.close=()=>P==null?void 0:P(!1),_.align=n);let E=h.style;return M!=null&&M.placement&&(E={...h.style,..._.style},h["x-placement"]=M.placement),x.jsx(a,{...h,..._,style:E,...(v.length||u)&&{"data-bs-popper":"static"},className:Gt(t,g,k&&"show",f&&`${g}-end`,c&&`${g}-${c}`,...v)})});zr.displayName="DropdownMenu";const Br=D.forwardRef(({bsPrefix:e,split:t,className:n,childBsPrefix:i,as:s=Nt,...o},r)=>{const a=qt(e,"dropdown-toggle"),l=D.useContext(Un);i!==void 0&&(o.bsPrefix=i);const[c]=Or();return c.ref=cr(c.ref,Fr(r)),x.jsx(s,{className:Gt(n,a,t&&`${a}-split`,(l==null?void 0:l.show)&&"show"),...c,...o})});Br.displayName="DropdownToggle";const Wr=D.forwardRef((e,t)=>{const{bsPrefix:n,drop:i="down",show:s,className:o,align:r="start",onSelect:a,onToggle:l,focusFirstItemOnShow:c,as:h="div",navbar:d,autoClose:f=!0,...u}=rl(e,{show:"onToggle"}),g=D.useContext(fr),m=qt(n,"dropdown"),p=Ga(),b=M=>f===!1?M==="click":f==="inside"?M!=="rootClose":f==="outside"?M!=="select":!0,y=Ja((M,k)=>{var P;!((P=k.originalEvent)==null||(P=P.target)==null)&&P.classList.contains("dropdown-toggle")&&k.source==="mousedown"||(k.originalEvent.currentTarget===document&&(k.source!=="keydown"||k.originalEvent.key==="Escape")&&(k.source="rootClose"),b(k.source)&&(l==null||l(M,k)))}),w=$r(r==="end",i,p),_=D.useMemo(()=>({align:r,drop:i,isRTL:p}),[r,i,p]),S={down:m,"down-centered":`${m}-center`,up:"dropup","up-centered":"dropup-center dropup",end:"dropend",start:"dropstart"};return x.jsx(Wi.Provider,{value:_,children:x.jsx(ln,{placement:w,show:s,onSelect:a,onToggle:y,focusFirstItemOnShow:c,itemSelector:`.${m}-item:not(.disabled):not(:disabled)`,children:g?u.children:x.jsx(h,{...u,ref:t,className:Gt(o,s&&"show",S[i])})})})});Wr.displayName="Dropdown";const ni=Object.assign(Wr,{Toggle:Br,Menu:zr,Item:Lr,ItemText:Nr,Divider:Ar,Header:jr});/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function cn(e){return e+.5|0}const Wt=(e,t,n)=>Math.max(Math.min(e,n),t);function $e(e){return Wt(cn(e*2.55),0,255)}function Ut(e){return Wt(cn(e*255),0,255)}function Lt(e){return Wt(cn(e/2.55)/100,0,1)}function Ns(e){return Wt(cn(e*100),0,100)}const bt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Si=[..."0123456789ABCDEF"],Xc=e=>Si[e&15],Kc=e=>Si[(e&240)>>4]+Si[e&15],pn=e=>(e&240)>>4===(e&15),qc=e=>pn(e.r)&&pn(e.g)&&pn(e.b)&&pn(e.a);function Gc(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&bt[e[1]]*17,g:255&bt[e[2]]*17,b:255&bt[e[3]]*17,a:t===5?bt[e[4]]*17:255}:(t===7||t===9)&&(n={r:bt[e[1]]<<4|bt[e[2]],g:bt[e[3]]<<4|bt[e[4]],b:bt[e[5]]<<4|bt[e[6]],a:t===9?bt[e[7]]<<4|bt[e[8]]:255})),n}const Jc=(e,t)=>e<255?t(e):"";function Zc(e){var t=qc(e)?Xc:Kc;return e?"#"+t(e.r)+t(e.g)+t(e.b)+Jc(e.a,t):void 0}const Qc=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Hr(e,t,n){const i=t*Math.min(n,1-n),s=(o,r=(o+e/30)%12)=>n-i*Math.max(Math.min(r-3,9-r,1),-1);return[s(0),s(8),s(4)]}function th(e,t,n){const i=(s,o=(s+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function eh(e,t,n){const i=Hr(e,1,.5);let s;for(t+n>1&&(s=1/(t+n),t*=s,n*=s),s=0;s<3;s++)i[s]*=1-t-n,i[s]+=t;return i}function nh(e,t,n,i,s){return e===s?(t-n)/i+(t<n?6:0):t===s?(n-e)/i+2:(e-t)/i+4}function Hi(e){const n=e.r/255,i=e.g/255,s=e.b/255,o=Math.max(n,i,s),r=Math.min(n,i,s),a=(o+r)/2;let l,c,h;return o!==r&&(h=o-r,c=a>.5?h/(2-o-r):h/(o+r),l=nh(n,i,s,h,o),l=l*60+.5),[l|0,c||0,a]}function Vi(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(Ut)}function Yi(e,t,n){return Vi(Hr,e,t,n)}function ih(e,t,n){return Vi(eh,e,t,n)}function sh(e,t,n){return Vi(th,e,t,n)}function Vr(e){return(e%360+360)%360}function oh(e){const t=Qc.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?$e(+t[5]):Ut(+t[5]));const s=Vr(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=ih(s,o,r):t[1]==="hsv"?i=sh(s,o,r):i=Yi(s,o,r),{r:i[0],g:i[1],b:i[2],a:n}}function rh(e,t){var n=Hi(e);n[0]=Vr(n[0]+t),n=Yi(n),e.r=n[0],e.g=n[1],e.b=n[2]}function ah(e){if(!e)return;const t=Hi(e),n=t[0],i=Ns(t[1]),s=Ns(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${s}%, ${Lt(e.a)})`:`hsl(${n}, ${i}%, ${s}%)`}const Is={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Fs={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function lh(){const e={},t=Object.keys(Fs),n=Object.keys(Is);let i,s,o,r,a;for(i=0;i<t.length;i++){for(r=a=t[i],s=0;s<n.length;s++)o=n[s],a=a.replace(o,Is[o]);o=parseInt(Fs[r],16),e[a]=[o>>16&255,o>>8&255,o&255]}return e}let gn;function ch(e){gn||(gn=lh(),gn.transparent=[0,0,0,0]);const t=gn[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const hh=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function dh(e){const t=hh.exec(e);let n=255,i,s,o;if(t){if(t[7]!==i){const r=+t[7];n=t[8]?$e(r):Wt(r*255,0,255)}return i=+t[1],s=+t[3],o=+t[5],i=255&(t[2]?$e(i):Wt(i,0,255)),s=255&(t[4]?$e(s):Wt(s,0,255)),o=255&(t[6]?$e(o):Wt(o,0,255)),{r:i,g:s,b:o,a:n}}}function fh(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Lt(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const ii=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,be=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function uh(e,t,n){const i=be(Lt(e.r)),s=be(Lt(e.g)),o=be(Lt(e.b));return{r:Ut(ii(i+n*(be(Lt(t.r))-i))),g:Ut(ii(s+n*(be(Lt(t.g))-s))),b:Ut(ii(o+n*(be(Lt(t.b))-o))),a:e.a+n*(t.a-e.a)}}function mn(e,t,n){if(e){let i=Hi(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=Yi(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function Yr(e,t){return e&&Object.assign(t||{},e)}function $s(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Ut(e[3]))):(t=Yr(e,{r:0,g:0,b:0,a:1}),t.a=Ut(t.a)),t}function ph(e){return e.charAt(0)==="r"?dh(e):oh(e)}class Je{constructor(t){if(t instanceof Je)return t;const n=typeof t;let i;n==="object"?i=$s(t):n==="string"&&(i=Gc(t)||ch(t)||ph(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Yr(this._rgb);return t&&(t.a=Lt(t.a)),t}set rgb(t){this._rgb=$s(t)}rgbString(){return this._valid?fh(this._rgb):void 0}hexString(){return this._valid?Zc(this._rgb):void 0}hslString(){return this._valid?ah(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,s=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=i.a-s.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*s.r+.5,i.g=255&c*i.g+o*s.g+.5,i.b=255&c*i.b+o*s.b+.5,i.a=r*i.a+(1-r)*s.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=uh(this._rgb,t._rgb,n)),this}clone(){return new Je(this.rgb)}alpha(t){return this._rgb.a=Ut(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=cn(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return mn(this._rgb,2,t),this}darken(t){return mn(this._rgb,2,-t),this}saturate(t){return mn(this._rgb,1,t),this}desaturate(t){return mn(this._rgb,1,-t),this}rotate(t){return rh(this._rgb,t),this}}/*! - * Chart.js v4.4.7 - * https://www.chartjs.org - * (c) 2024 Chart.js Contributors - * Released under the MIT License - */function Tt(){}const gh=(()=>{let e=0;return()=>e++})();function Y(e){return e==null}function Z(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function z(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function vt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function kt(e,t){return vt(e)?e:t}function F(e,t){return typeof e>"u"?t:e}const mh=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function U(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function V(e,t,n,i){let s,o,r;if(Z(e))for(o=e.length,s=0;s<o;s++)t.call(n,e[s],s);else if(z(e))for(r=Object.keys(e),o=r.length,s=0;s<o;s++)t.call(n,e[r[s]],r[s])}function Nn(e,t){let n,i,s,o;if(!e||!t||e.length!==t.length)return!1;for(n=0,i=e.length;n<i;++n)if(s=e[n],o=t[n],s.datasetIndex!==o.datasetIndex||s.index!==o.index)return!1;return!0}function In(e){if(Z(e))return e.map(In);if(z(e)){const t=Object.create(null),n=Object.keys(e),i=n.length;let s=0;for(;s<i;++s)t[n[s]]=In(e[n[s]]);return t}return e}function Ur(e){return["__proto__","prototype","constructor"].indexOf(e)===-1}function bh(e,t,n,i){if(!Ur(e))return;const s=t[e],o=n[e];z(s)&&z(o)?Ze(s,o,i):t[e]=In(o)}function Ze(e,t,n){const i=Z(t)?t:[t],s=i.length;if(!z(e))return e;n=n||{};const o=n.merger||bh;let r;for(let a=0;a<s;++a){if(r=i[a],!z(r))continue;const l=Object.keys(r);for(let c=0,h=l.length;c<h;++c)o(l[c],e,r,n)}return e}function Ye(e,t){return Ze(e,t,{merger:xh})}function xh(e,t,n){if(!Ur(e))return;const i=t[e],s=n[e];z(i)&&z(s)?Ye(i,s):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=In(s))}const zs={"":e=>e,x:e=>e.x,y:e=>e.y};function yh(e){const t=e.split("."),n=[];let i="";for(const s of t)i+=s,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function _h(e){const t=yh(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function Pe(e,t){return(zs[t]||(zs[t]=_h(t)))(e)}function Ui(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Qe=e=>typeof e<"u",Kt=e=>typeof e=="function",Bs=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function vh(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Q=Math.PI,ot=2*Q,wh=ot+Q,Fn=Number.POSITIVE_INFINITY,Sh=Q/180,st=Q/2,ee=Q/4,Ws=Q*2/3,ki=Math.log10,Dt=Math.sign;function Ue(e,t,n){return Math.abs(e-t)<n}function Hs(e){const t=Math.round(e);e=Ue(e,t,e/1e3)?t:e;const n=Math.pow(10,Math.floor(ki(e))),i=e/n;return(i<=1?1:i<=2?2:i<=5?5:10)*n}function kh(e){const t=[],n=Math.sqrt(e);let i;for(i=1;i<n;i++)e%i===0&&(t.push(i),t.push(e/i));return n===(n|0)&&t.push(n),t.sort((s,o)=>s-o).pop(),t}function tn(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Mh(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function Ch(e,t,n){let i,s,o;for(i=0,s=e.length;i<s;i++)o=e[i][n],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function le(e){return e*(Q/180)}function Ph(e){return e*(180/Q)}function Vs(e){if(!vt(e))return;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n++;return n}function Xr(e,t){const n=t.x-e.x,i=t.y-e.y,s=Math.sqrt(n*n+i*i);let o=Math.atan2(i,n);return o<-.5*Q&&(o+=ot),{angle:o,distance:s}}function Mi(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function Oh(e,t){return(e-t+wh)%ot-Q}function Bt(e){return(e%ot+ot)%ot}function Xi(e,t,n,i){const s=Bt(e),o=Bt(t),r=Bt(n),a=Bt(o-s),l=Bt(r-s),c=Bt(s-o),h=Bt(s-r);return s===o||s===r||i&&o===r||a>l&&c<h}function at(e,t,n){return Math.max(t,Math.min(n,e))}function Eh(e){return at(e,-32768,32767)}function Ht(e,t,n,i=1e-6){return e>=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function Ki(e,t,n){n=n||(r=>e[r]<t);let i=e.length-1,s=0,o;for(;i-s>1;)o=s+i>>1,n(o)?s=o:i=o;return{lo:s,hi:i}}const ce=(e,t,n,i)=>Ki(e,n,i?s=>{const o=e[s][t];return o<n||o===n&&e[s+1][t]===n}:s=>e[s][t]<n),Dh=(e,t,n)=>Ki(e,n,i=>e[i][t]>=n);function Rh(e,t,n){let i=0,s=e.length;for(;i<s&&e[i]<t;)i++;for(;s>i&&e[s-1]>n;)s--;return i>0||s<e.length?e.slice(i,s):e}const Kr=["push","pop","shift","splice","unshift"];function Th(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Kr.forEach(n=>{const i="_onData"+Ui(n),s=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=s.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function Ys(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,s=i.indexOf(t);s!==-1&&i.splice(s,1),!(i.length>0)&&(Kr.forEach(o=>{delete e[o]}),delete e._chartjs)}function qr(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const Gr=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function Jr(e,t){let n=[],i=!1;return function(...s){n=s,i||(i=!0,Gr.call(window,()=>{i=!1,e.apply(t,n)}))}}function Ah(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const qi=e=>e==="start"?"left":e==="end"?"right":"center",rt=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,jh=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t;function Lh(e,t,n){const i=t.length;let s=0,o=i;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:h,minDefined:d,maxDefined:f}=r.getUserBounds();d&&(s=at(Math.min(ce(a,l,c).lo,n?i:ce(t,l,r.getPixelForValue(c)).lo),0,i-1)),f?o=at(Math.max(ce(a,r.axis,h,!0).hi+1,n?0:ce(t,l,r.getPixelForValue(h),!0).hi+1),s,i)-s:o=i-s}return{start:s,count:o}}function Nh(e){const{xScale:t,yScale:n,_scaleRanges:i}=e,s={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!i)return e._scaleRanges=s,!0;const o=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==n.min||i.ymax!==n.max;return Object.assign(i,s),o}const bn=e=>e===0||e===1,Us=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*ot/n)),Xs=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*ot/n)+1,Xe={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*st)+1,easeOutSine:e=>Math.sin(e*st),easeInOutSine:e=>-.5*(Math.cos(Q*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>bn(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>bn(e)?e:Us(e,.075,.3),easeOutElastic:e=>bn(e)?e:Xs(e,.075,.3),easeInOutElastic(e){return bn(e)?e:e<.5?.5*Us(e*2,.1125,.45):.5+.5*Xs(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Xe.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Xe.easeInBounce(e*2)*.5:Xe.easeOutBounce(e*2-1)*.5+.5};function Gi(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ks(e){return Gi(e)?e:new Je(e)}function si(e){return Gi(e)?e:new Je(e).saturate(.5).darken(.1).hexString()}const Ih=["x","y","borderWidth","radius","tension"],Fh=["color","borderColor","backgroundColor"];function $h(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:Fh},numbers:{type:"number",properties:Ih}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function zh(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const qs=new Map;function Bh(e,t){t=t||{};const n=e+JSON.stringify(t);let i=qs.get(n);return i||(i=new Intl.NumberFormat(e,t),qs.set(n,i)),i}function Zr(e,t,n){return Bh(t,n).format(e)}const Qr={values(e){return Z(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let s,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(s="scientific"),o=Wh(e,n)}const r=ki(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:s,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Zr(e,i,l)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(ki(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?Qr.numeric.call(this,e,t,n):""}};function Wh(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var ta={formatters:Qr};function Hh(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ta.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const pe=Object.create(null),Ci=Object.create(null);function Ke(e,t){if(!t)return e;const n=t.split(".");for(let i=0,s=n.length;i<s;++i){const o=n[i];e=e[o]||(e[o]=Object.create(null))}return e}function oi(e,t,n){return typeof t=="string"?Ze(Ke(e,t),n):Ze(Ke(e,""),t)}class Vh{constructor(t,n){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,s)=>si(s.backgroundColor),this.hoverBorderColor=(i,s)=>si(s.borderColor),this.hoverColor=(i,s)=>si(s.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return oi(this,t,n)}get(t){return Ke(this,t)}describe(t,n){return oi(Ci,t,n)}override(t,n){return oi(pe,t,n)}route(t,n,i,s){const o=Ke(this,t),r=Ke(this,i),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[s];return z(l)?Object.assign({},c,l):F(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var q=new Vh({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[$h,zh,Hh]);function Yh(e){return!e||Y(e.size)||Y(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Gs(e,t,n,i,s){let o=t[s];return o||(o=t[s]=e.measureText(s).width,n.push(s)),o>i&&(i=o),i}function ne(e,t,n){const i=e.currentDevicePixelRatio,s=n!==0?Math.max(n/2,.5):0;return Math.round((t-s)*i)/i+s}function Js(e,t){!t&&!e||(t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function Pi(e,t,n,i){ea(e,t,n,i,null)}function ea(e,t,n,i,s){let o,r,a,l,c,h,d,f;const u=t.pointStyle,g=t.rotation,m=t.radius;let p=(g||0)*Sh;if(u&&typeof u=="object"&&(o=u.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){e.save(),e.translate(n,i),e.rotate(p),e.drawImage(u,-u.width/2,-u.height/2,u.width,u.height),e.restore();return}if(!(isNaN(m)||m<=0)){switch(e.beginPath(),u){default:s?e.ellipse(n,i,s/2,m,0,0,ot):e.arc(n,i,m,0,ot),e.closePath();break;case"triangle":h=s?s/2:m,e.moveTo(n+Math.sin(p)*h,i-Math.cos(p)*m),p+=Ws,e.lineTo(n+Math.sin(p)*h,i-Math.cos(p)*m),p+=Ws,e.lineTo(n+Math.sin(p)*h,i-Math.cos(p)*m),e.closePath();break;case"rectRounded":c=m*.516,l=m-c,r=Math.cos(p+ee)*l,d=Math.cos(p+ee)*(s?s/2-c:l),a=Math.sin(p+ee)*l,f=Math.sin(p+ee)*(s?s/2-c:l),e.arc(n-d,i-a,c,p-Q,p-st),e.arc(n+f,i-r,c,p-st,p),e.arc(n+d,i+a,c,p,p+st),e.arc(n-f,i+r,c,p+st,p+Q),e.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*m,h=s?s/2:l,e.rect(n-h,i-l,2*h,2*l);break}p+=ee;case"rectRot":d=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,f=Math.sin(p)*(s?s/2:m),e.moveTo(n-d,i-a),e.lineTo(n+f,i-r),e.lineTo(n+d,i+a),e.lineTo(n-f,i+r),e.closePath();break;case"crossRot":p+=ee;case"cross":d=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,f=Math.sin(p)*(s?s/2:m),e.moveTo(n-d,i-a),e.lineTo(n+d,i+a),e.moveTo(n+f,i-r),e.lineTo(n-f,i+r);break;case"star":d=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,f=Math.sin(p)*(s?s/2:m),e.moveTo(n-d,i-a),e.lineTo(n+d,i+a),e.moveTo(n+f,i-r),e.lineTo(n-f,i+r),p+=ee,d=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,f=Math.sin(p)*(s?s/2:m),e.moveTo(n-d,i-a),e.lineTo(n+d,i+a),e.moveTo(n+f,i-r),e.lineTo(n-f,i+r);break;case"line":r=s?s/2:Math.cos(p)*m,a=Math.sin(p)*m,e.moveTo(n-r,i-a),e.lineTo(n+r,i+a);break;case"dash":e.moveTo(n,i),e.lineTo(n+Math.cos(p)*(s?s/2:m),i+Math.sin(p)*m);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function en(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.x<t.right+n&&e.y>t.top-n&&e.y<t.bottom+n}function Ji(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function Zi(e){e.restore()}function Uh(e,t,n,i,s){if(!t)return e.lineTo(n.x,n.y);if(s==="middle"){const o=(t.x+n.x)/2;e.lineTo(o,t.y),e.lineTo(o,n.y)}else s==="after"!=!!i?e.lineTo(t.x,n.y):e.lineTo(n.x,t.y);e.lineTo(n.x,n.y)}function Xh(e,t,n,i){if(!t)return e.lineTo(n.x,n.y);e.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?n.cp2x:n.cp1x,i?n.cp2y:n.cp1y,n.x,n.y)}function Kh(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),Y(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function qh(e,t,n,i,s){if(s.strikethrough||s.underline){const o=e.measureText(i),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=n-o.actualBoundingBoxAscent,c=n+o.actualBoundingBoxDescent,h=s.strikethrough?(l+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=s.decorationWidth||2,e.moveTo(r,h),e.lineTo(a,h),e.stroke()}}function Gh(e,t){const n=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=n}function nn(e,t,n,i,s,o={}){const r=Z(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=s.string,Kh(e,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&Gh(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),Y(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,n,i,o.maxWidth)),e.fillText(c,n,i,o.maxWidth),qh(e,n,i,c,o),i+=Number(s.lineHeight);e.restore()}function $n(e,t){const{x:n,y:i,w:s,h:o,radius:r}=t;e.arc(n+r.topLeft,i+r.topLeft,r.topLeft,1.5*Q,Q,!0),e.lineTo(n,i+o-r.bottomLeft),e.arc(n+r.bottomLeft,i+o-r.bottomLeft,r.bottomLeft,Q,st,!0),e.lineTo(n+s-r.bottomRight,i+o),e.arc(n+s-r.bottomRight,i+o-r.bottomRight,r.bottomRight,st,0,!0),e.lineTo(n+s,i+r.topRight),e.arc(n+s-r.topRight,i+r.topRight,r.topRight,0,-st,!0),e.lineTo(n+r.topLeft,i)}const Jh=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,Zh=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function Qh(e,t){const n=(""+e).match(Jh);if(!n||n[1]==="normal")return t*1.2;switch(e=+n[2],n[3]){case"px":return e;case"%":e/=100;break}return t*e}const td=e=>+e||0;function Qi(e,t){const n={},i=z(t),s=i?Object.keys(t):t,o=z(e)?i?r=>F(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of s)n[r]=td(o(r));return n}function na(e){return Qi(e,{top:"y",right:"x",bottom:"y",left:"x"})}function _e(e){return Qi(e,["topLeft","topRight","bottomLeft","bottomRight"])}function wt(e){const t=na(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function lt(e,t){e=e||{},t=t||q.font;let n=F(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=F(e.style,t.style);i&&!(""+i).match(Zh)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const s={family:F(e.family,t.family),lineHeight:Qh(F(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:F(e.weight,t.weight),string:""};return s.string=Yh(s),s}function xn(e,t,n,i){let s,o,r;for(s=0,o=e.length;s<o;++s)if(r=e[s],r!==void 0&&(t!==void 0&&typeof r=="function"&&(r=r(t)),n!==void 0&&Z(r)&&(r=r[n%r.length]),r!==void 0))return r}function ed(e,t,n){const{min:i,max:s}=e,o=mh(t,(s-i)/2),r=(a,l)=>n&&a===0?0:a+l;return{min:r(i,-Math.abs(o)),max:r(s,o)}}function ge(e,t){return Object.assign(Object.create(e),t)}function ts(e,t=[""],n,i,s=()=>e[0]){const o=n||e;typeof i>"u"&&(i=ra("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:i,_getTarget:s,override:a=>ts([a,...e],t,o,i)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return sa(a,l,()=>cd(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Qs(a).includes(l)},ownKeys(a){return Qs(a)},set(a,l,c){const h=a._storage||(a._storage=s());return a[l]=h[l]=c,delete a._keys,!0}})}function Oe(e,t,n,i){const s={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:ia(e,i),setContext:o=>Oe(e,o,n,i),override:o=>Oe(e.override(o),t,n,i)};return new Proxy(s,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return sa(o,r,()=>id(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function ia(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:s=t.allKeys}=e;return{allKeys:s,scriptable:n,indexable:i,isScriptable:Kt(n)?n:()=>n,isIndexable:Kt(i)?i:()=>i}}const nd=(e,t)=>e?e+Ui(t):t,es=(e,t)=>z(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function sa(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t==="constructor")return e[t];const i=n();return e[t]=i,i}function id(e,t,n){const{_proxy:i,_context:s,_subProxy:o,_descriptors:r}=e;let a=i[t];return Kt(a)&&r.isScriptable(t)&&(a=sd(t,a,e,n)),Z(a)&&a.length&&(a=od(t,a,e,r.isIndexable)),es(t,a)&&(a=Oe(a,s,o&&o[t],r)),a}function sd(e,t,n,i){const{_proxy:s,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||i);return a.delete(e),es(e,l)&&(l=ns(s._scopes,s,e,l)),l}function od(e,t,n,i){const{_proxy:s,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&i(e))return t[o.index%t.length];if(z(t[0])){const l=t,c=s._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=ns(c,s,e,h);t.push(Oe(d,o,r&&r[e],a))}}return t}function oa(e,t,n){return Kt(e)?e(t,n):e}const rd=(e,t)=>e===!0?t:typeof e=="string"?Pe(t,e):void 0;function ad(e,t,n,i,s){for(const o of t){const r=rd(n,o);if(r){e.add(r);const a=oa(r._fallback,n,s);if(typeof a<"u"&&a!==n&&a!==i)return a}else if(r===!1&&typeof i<"u"&&n!==i)return null}return!1}function ns(e,t,n,i){const s=t._rootScopes,o=oa(t._fallback,n,i),r=[...e,...s],a=new Set;a.add(i);let l=Zs(a,r,n,o||n,i);return l===null||typeof o<"u"&&o!==n&&(l=Zs(a,r,o,l,i),l===null)?!1:ts(Array.from(a),[""],s,o,()=>ld(t,n,i))}function Zs(e,t,n,i,s){for(;n;)n=ad(e,t,n,i,s);return n}function ld(e,t,n){const i=e._getTarget();t in i||(i[t]={});const s=i[t];return Z(s)&&z(n)?n:s||{}}function cd(e,t,n,i){let s;for(const o of t)if(s=ra(nd(o,e),n),typeof s<"u")return es(e,s)?ns(n,i,e,s):s}function ra(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Qs(e){let t=e._keys;return t||(t=e._keys=hd(e._scopes)),t}function hd(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(s=>!s.startsWith("_")))t.add(i);return Array.from(t)}const dd=Number.EPSILON||1e-14,Ee=(e,t)=>t<e.length&&!e[t].skip&&e[t],aa=e=>e==="x"?"y":"x";function fd(e,t,n,i){const s=e.skip?t:e,o=t,r=n.skip?t:n,a=Mi(o,s),l=Mi(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=i*c,f=i*h;return{previous:{x:o.x-d*(r.x-s.x),y:o.y-d*(r.y-s.y)},next:{x:o.x+f*(r.x-s.x),y:o.y+f*(r.y-s.y)}}}function ud(e,t,n){const i=e.length;let s,o,r,a,l,c=Ee(e,0);for(let h=0;h<i-1;++h)if(l=c,c=Ee(e,h+1),!(!l||!c)){if(Ue(t[h],0,dd)){n[h]=n[h+1]=0;continue}s=n[h]/t[h],o=n[h+1]/t[h],a=Math.pow(s,2)+Math.pow(o,2),!(a<=9)&&(r=3/Math.sqrt(a),n[h]=s*r*t[h],n[h+1]=o*r*t[h])}}function pd(e,t,n="x"){const i=aa(n),s=e.length;let o,r,a,l=Ee(e,0);for(let c=0;c<s;++c){if(r=a,a=l,l=Ee(e,c+1),!a)continue;const h=a[n],d=a[i];r&&(o=(h-r[n])/3,a[`cp1${n}`]=h-o,a[`cp1${i}`]=d-o*t[c]),l&&(o=(l[n]-h)/3,a[`cp2${n}`]=h+o,a[`cp2${i}`]=d+o*t[c])}}function gd(e,t="x"){const n=aa(t),i=e.length,s=Array(i).fill(0),o=Array(i);let r,a,l,c=Ee(e,0);for(r=0;r<i;++r)if(a=l,l=c,c=Ee(e,r+1),!!l){if(c){const h=c[t]-l[t];s[r]=h!==0?(c[n]-l[n])/h:0}o[r]=a?c?Dt(s[r-1])!==Dt(s[r])?0:(s[r-1]+s[r])/2:s[r-1]:s[r]}ud(e,s,o),pd(e,o,t)}function yn(e,t,n){return Math.max(Math.min(e,n),t)}function md(e,t){let n,i,s,o,r,a=en(e[0],t);for(n=0,i=e.length;n<i;++n)r=o,o=a,a=n<i-1&&en(e[n+1],t),o&&(s=e[n],r&&(s.cp1x=yn(s.cp1x,t.left,t.right),s.cp1y=yn(s.cp1y,t.top,t.bottom)),a&&(s.cp2x=yn(s.cp2x,t.left,t.right),s.cp2y=yn(s.cp2y,t.top,t.bottom)))}function bd(e,t,n,i,s){let o,r,a,l;if(t.spanGaps&&(e=e.filter(c=>!c.skip)),t.cubicInterpolationMode==="monotone")gd(e,s);else{let c=i?e[e.length-1]:e[0];for(o=0,r=e.length;o<r;++o)a=e[o],l=fd(c,a,e[Math.min(o+1,r-(i?0:1))%r],t.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}t.capBezierPoints&&md(e,n)}function is(){return typeof window<"u"&&typeof document<"u"}function ss(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function zn(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const Kn=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function xd(e,t){return Kn(e).getPropertyValue(t)}const yd=["top","right","bottom","left"];function de(e,t,n){const i={};n=n?"-"+n:"";for(let s=0;s<4;s++){const o=yd[s];i[o]=parseFloat(e[t+"-"+o+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const _d=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function vd(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:s,offsetY:o}=i;let r=!1,a,l;if(_d(s,o,e.target))a=s,l=o;else{const c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function re(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,s=Kn(n),o=s.boxSizing==="border-box",r=de(s,"padding"),a=de(s,"border","width"),{x:l,y:c,box:h}=vd(e,n),d=r.left+(h&&a.left),f=r.top+(h&&a.top);let{width:u,height:g}=t;return o&&(u-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-d)/u*n.width/i),y:Math.round((c-f)/g*n.height/i)}}function wd(e,t,n){let i,s;if(t===void 0||n===void 0){const o=e&&ss(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=Kn(o),l=de(a,"border","width"),c=de(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,i=zn(a.maxWidth,o,"clientWidth"),s=zn(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:i||Fn,maxHeight:s||Fn}}const _n=e=>Math.round(e*10)/10;function Sd(e,t,n,i){const s=Kn(e),o=de(s,"margin"),r=zn(s.maxWidth,e,"clientWidth")||Fn,a=zn(s.maxHeight,e,"clientHeight")||Fn,l=wd(e,t,n);let{width:c,height:h}=l;if(s.boxSizing==="content-box"){const f=de(s,"border","width"),u=de(s,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,i?c/i:h-o.height),c=_n(Math.min(c,r,l.maxWidth)),h=_n(Math.min(h,a,l.maxHeight)),c&&!h&&(h=_n(c/2)),(t!==void 0||n!==void 0)&&i&&l.height&&h>l.height&&(h=l.height,c=_n(Math.floor(h*i))),{width:c,height:h}}function to(e,t,n){const i=t||1,s=Math.floor(e.height*i),o=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||r.height!==s||r.width!==o?(e.currentDevicePixelRatio=i,r.height=s,r.width=o,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const kd=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};is()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function eo(e,t){const n=xd(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function ae(e,t,n,i){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function Md(e,t,n,i){return{x:e.x+n*(t.x-e.x),y:i==="middle"?n<.5?e.y:t.y:i==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function Cd(e,t,n,i){const s={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=ae(e,s,n),a=ae(s,o,n),l=ae(o,t,n),c=ae(r,a,n),h=ae(a,l,n);return ae(c,h,n)}const Pd=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Od=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ve(e,t,n){return e?Pd(t,n):Od()}function la(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function ca(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function ha(e){return e==="angle"?{between:Xi,compare:Oh,normalize:Bt}:{between:Ht,compare:(t,n)=>t-n,normalize:t=>t}}function no({start:e,end:t,count:n,loop:i,style:s}){return{start:e%n,end:t%n,loop:i&&(t-e+1)%n===0,style:s}}function Ed(e,t,n){const{property:i,start:s,end:o}=n,{between:r,normalize:a}=ha(i),l=t.length;let{start:c,end:h,loop:d}=e,f,u;if(d){for(c+=l,h+=l,f=0,u=l;f<u&&r(a(t[c%l][i]),s,o);++f)c--,h--;c%=l,h%=l}return h<c&&(h+=l),{start:c,end:h,loop:d,style:e.style}}function Dd(e,t,n){if(!n)return[e];const{property:i,start:s,end:o}=n,r=t.length,{compare:a,between:l,normalize:c}=ha(i),{start:h,end:d,loop:f,style:u}=Ed(e,t,n),g=[];let m=!1,p=null,b,y,v;const w=()=>l(s,v,b)&&a(s,v)!==0,_=()=>a(o,b)===0||l(o,v,b),S=()=>m||w(),M=()=>!m||_();for(let k=h,P=h;k<=d;++k)y=t[k%r],!y.skip&&(b=c(y[i]),b!==v&&(m=l(b,s,o),p===null&&S()&&(p=a(b,s)===0?k:P),p!==null&&M()&&(g.push(no({start:p,end:k,loop:f,count:r,style:u})),p=null),P=k,v=b));return p!==null&&g.push(no({start:p,end:d,loop:f,count:r,style:u})),g}function Rd(e,t){const n=[],i=e.segments;for(let s=0;s<i.length;s++){const o=Dd(i[s],e.points,t);o.length&&n.push(...o)}return n}function Td(e,t,n,i){let s=0,o=t-1;if(n&&!i)for(;s<t&&!e[s].skip;)s++;for(;s<t&&e[s].skip;)s++;for(s%=t,n&&(o+=s);o>s&&e[o%t].skip;)o--;return o%=t,{start:s,end:o}}function Ad(e,t,n,i){const s=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%s];c.skip||c.stop?a.skip||(i=!1,o.push({start:t%s,end:(l-1)%s,loop:i}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%s,end:r%s,loop:i}),o}function jd(e,t){const n=e.points,i=e.options.spanGaps,s=n.length;if(!s)return[];const o=!!e._loop,{start:r,end:a}=Td(n,s,o,i);if(i===!0)return io(e,[{start:r,end:a,loop:o}],n,t);const l=a<r?a+s:a,c=!!e._fullLoop&&r===0&&a===s-1;return io(e,Ad(n,r,l,c),n,t)}function io(e,t,n,i){return!i||!i.setContext||!n?t:Ld(e,t,n,i)}function Ld(e,t,n,i){const s=e._chart.getContext(),o=so(e.options),{_datasetIndex:r,options:{spanGaps:a}}=e,l=n.length,c=[];let h=o,d=t[0].start,f=d;function u(g,m,p,b){const y=a?-1:1;if(g!==m){for(g+=l;n[g%l].skip;)g-=y;for(;n[m%l].skip;)m+=y;g%l!==m%l&&(c.push({start:g%l,end:m%l,loop:p,style:b}),h=b,d=m%l)}}for(const g of t){d=a?d:g.start;let m=n[d%l],p;for(f=d+1;f<=g.end;f++){const b=n[f%l];p=so(i.setContext(ge(s,{type:"segment",p0:m,p1:b,p0DataIndex:(f-1)%l,p1DataIndex:f%l,datasetIndex:r}))),Nd(p,h)&&u(d,f-1,g.loop,h),m=b,h=p}d<f-1&&u(d,f-1,g.loop,h)}return c}function so(e){return{backgroundColor:e.backgroundColor,borderCapStyle:e.borderCapStyle,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderJoinStyle:e.borderJoinStyle,borderWidth:e.borderWidth,borderColor:e.borderColor}}function Nd(e,t){if(!t)return!1;const n=[],i=function(s,o){return Gi(o)?(n.includes(o)||n.push(o),n.indexOf(o)):o};return JSON.stringify(e,i)!==JSON.stringify(t,i)}/*! - * Chart.js v4.4.7 - * https://www.chartjs.org - * (c) 2024 Chart.js Contributors - * Released under the MIT License - */class Id{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,s){const o=n.listeners[s],r=n.duration;o.forEach(a=>a({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(i-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Gr.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,s)=>{if(!i.running||!i.items.length)return;const o=i.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(s.draw(),this._notify(s,i,t,"progress")),o.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,s)=>Math.max(i,s._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var At=new Id;const oo="transparent",Fd={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Ks(e||oo),s=i.valid&&Ks(t||oo);return s&&s.valid?s.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class $d{constructor(t,n,i,s){const o=n[i];s=xn([t.to,s,o,t.from]);const r=xn([t.from,o,s]);this._active=!0,this._fn=t.fn||Fd[t.type||typeof r],this._easing=Xe[t.easing]||Xe.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=r,this._to=s,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const s=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=xn([t.to,n,s,t.from]),this._from=xn([t.from,s,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,s=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n<i),!this._active){this._target[s]=a,this._notify(!0);return}if(n<0){this._target[s]=o;return}l=n/i%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[s]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let s=0;s<i.length;s++)i[s][n]()}}class da{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!z(t))return;const n=Object.keys(q.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(s=>{const o=t[s];if(!z(o))return;const r={};for(const a of n)r[a]=o[a];(Z(o.properties)&&o.properties||[s]).forEach(a=>{(a===s||!i.has(a))&&i.set(a,r)})})}_animateOptions(t,n){const i=n.options,s=Bd(t,i);if(!s)return[];const o=this._createAnimations(s,i);return i.$shared&&zd(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,n){const i=this._properties,s=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){s.push(...this._animateOptions(t,n));continue}const h=n[c];let d=o[c];const f=i.get(c);if(d)if(f&&d.active()){d.update(f,h,a);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new $d(f,t,c,h),s.push(d)}return s}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return At.add(this._chart,i),!0}}function zd(e,t){const n=[],i=Object.keys(t);for(let s=0;s<i.length;s++){const o=e[i[s]];o&&o.active()&&n.push(o.wait())}return Promise.all(n)}function Bd(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function ro(e,t){const n=e&&e.options||{},i=n.reverse,s=n.min===void 0?t:0,o=n.max===void 0?t:0;return{start:i?o:s,end:i?s:o}}function Wd(e,t,n){if(n===!1)return!1;const i=ro(e,n),s=ro(t,n);return{top:s.end,right:i.end,bottom:s.start,left:i.start}}function Hd(e){let t,n,i,s;return z(e)?(t=e.top,n=e.right,i=e.bottom,s=e.left):t=n=i=s=e,{top:t,right:n,bottom:i,left:s,disabled:e===!1}}function fa(e,t){const n=[],i=e._getSortedDatasetMetas(t);let s,o;for(s=0,o=i.length;s<o;++s)n.push(i[s].index);return n}function ao(e,t,n,i={}){const s=e.keys,o=i.mode==="single";let r,a,l,c;if(t===null)return;let h=!1;for(r=0,a=s.length;r<a;++r){if(l=+s[r],l===n){if(h=!0,i.all)continue;break}c=e.values[l],vt(c)&&(o||t===0||Dt(t)===Dt(c))&&(t+=c)}return!h&&!i.all?0:t}function Vd(e,t){const{iScale:n,vScale:i}=t,s=n.axis==="x"?"x":"y",o=i.axis==="x"?"x":"y",r=Object.keys(e),a=new Array(r.length);let l,c,h;for(l=0,c=r.length;l<c;++l)h=r[l],a[l]={[s]:h,[o]:e[h]};return a}function ri(e,t){const n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function Yd(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function Ud(e){const{min:t,max:n,minDefined:i,maxDefined:s}=e.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:s?n:Number.POSITIVE_INFINITY}}function Xd(e,t,n){const i=e[t]||(e[t]={});return i[n]||(i[n]={})}function lo(e,t,n,i){for(const s of t.getMatchingVisibleMetas(i).reverse()){const o=e[s.index];if(n&&o>0||!n&&o<0)return s.index}return null}function co(e,t){const{chart:n,_cachedMeta:i}=e,s=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=i,l=o.axis,c=r.axis,h=Yd(o,r,i),d=t.length;let f;for(let u=0;u<d;++u){const g=t[u],{[l]:m,[c]:p}=g,b=g._stacks||(g._stacks={});f=b[c]=Xd(s,h,m),f[a]=p,f._top=lo(f,r,!0,i.type),f._bottom=lo(f,r,!1,i.type);const y=f._visualValues||(f._visualValues={});y[a]=p}}function ai(e,t){const n=e.scales;return Object.keys(n).filter(i=>n[i].axis===t).shift()}function Kd(e,t){return ge(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function qd(e,t,n){return ge(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function je(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const s of t){const o=s._stacks;if(!o||o[i]===void 0||o[i][n]===void 0)return;delete o[i][n],o[i]._visualValues!==void 0&&o[i]._visualValues[n]!==void 0&&delete o[i]._visualValues[n]}}}const li=e=>e==="reset"||e==="none",ho=(e,t)=>t?e:Object.assign({},e),Gd=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:fa(n,!0),values:null};class we{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ri(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&je(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),s=(d,f,u,g)=>d==="x"?f:d==="r"?g:u,o=n.xAxisID=F(i.xAxisID,ai(t,"x")),r=n.yAxisID=F(i.yAxisID,ai(t,"y")),a=n.rAxisID=F(i.rAxisID,ai(t,"r")),l=n.indexAxis,c=n.iAxisID=s(l,o,r,a),h=n.vAxisID=s(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Ys(this._data,this),t._stacked&&je(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(z(n)){const s=this._cachedMeta;this._data=Vd(n,s)}else if(i!==n){if(i){Ys(i,this);const s=this._cachedMeta;je(s),s._parsed=[]}n&&Object.isExtensible(n)&&Th(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const o=n._stacked;n._stacked=ri(n.vScale,n),n.stack!==i.stack&&(s=!0,je(n),n.stack=i.stack),this._resyncElements(t),(s||o!==n._stacked)&&(co(this,n._parsed),n._stacked=ri(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:s}=this,{iScale:o,_stacked:r}=i,a=o.axis;let l=t===0&&n===s.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,d,f;if(this._parsing===!1)i._parsed=s,i._sorted=!0,f=s;else{Z(s[t])?f=this.parseArrayData(i,s,t,n):z(s[t])?f=this.parseObjectData(i,s,t,n):f=this.parsePrimitiveData(i,s,t,n);const u=()=>d[a]===null||c&&d[a]<c[a];for(h=0;h<n;++h)i._parsed[h+t]=d=f[h],l&&(u()&&(l=!1),c=d);i._sorted=l}r&&co(this,f)}parsePrimitiveData(t,n,i,s){const{iScale:o,vScale:r}=t,a=o.axis,l=r.axis,c=o.getLabels(),h=o===r,d=new Array(s);let f,u,g;for(f=0,u=s;f<u;++f)g=f+i,d[f]={[a]:h||o.parse(c[g],g),[l]:r.parse(n[g],g)};return d}parseArrayData(t,n,i,s){const{xScale:o,yScale:r}=t,a=new Array(s);let l,c,h,d;for(l=0,c=s;l<c;++l)h=l+i,d=n[h],a[l]={x:o.parse(d[0],h),y:r.parse(d[1],h)};return a}parseObjectData(t,n,i,s){const{xScale:o,yScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(s);let h,d,f,u;for(h=0,d=s;h<d;++h)f=h+i,u=n[f],c[h]={x:o.parse(Pe(u,a),f),y:r.parse(Pe(u,l),f)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,n,i){const s=this.chart,o=this._cachedMeta,r=n[t.axis],a={keys:fa(s,!0),values:n._stacks[t.axis]._visualValues};return ao(a,r,o.index,{mode:i})}updateRangeFromParsed(t,n,i,s){const o=i[n.axis];let r=o===null?NaN:o;const a=s&&i._stacks[n.axis];s&&a&&(s.values=a,r=ao(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,r),t.max=Math.max(t.max,r)}getMinMax(t,n){const i=this._cachedMeta,s=i._parsed,o=i._sorted&&t===i.iScale,r=s.length,a=this._getOtherScale(t),l=Gd(n,i,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:d}=Ud(a);let f,u;function g(){u=s[f];const m=u[a.axis];return!vt(u[t.axis])||h>m||d<m}for(f=0;f<r&&!(!g()&&(this.updateRangeFromParsed(c,t,u,l),o));++f);if(o){for(f=r-1;f>=0;--f)if(!g()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let s,o,r;for(s=0,o=n.length;s<o;++s)r=n[s][t.axis],vt(r)&&i.push(r);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const n=this._cachedMeta,i=n.iScale,s=n.vScale,o=this.getParsed(t);return{label:i?""+i.getLabelForValue(o[i.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const n=this._cachedMeta;this.update(t||"default"),n._clip=Hd(F(this.options.clip,Wd(n.xScale,n.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,n=this.chart,i=this._cachedMeta,s=i.data||[],o=n.chartArea,r=[],a=this._drawStart||0,l=this._drawCount||s.length-a,c=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,o,a,l),h=a;h<a+l;++h){const d=s[h];d.hidden||(d.active&&c?r.push(d):d.draw(t,o))}for(h=0;h<r.length;++h)r[h].draw(t,o)}getStyle(t,n){const i=n?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,n,i){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const r=this._cachedMeta.data[t];o=r.$context||(r.$context=qd(this.getContext(),t,r)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=Kd(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!n,o.mode=i,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,n){return this._resolveElementOptions(this.dataElementType.id,n,t)}_resolveElementOptions(t,n="default",i){const s=n==="active",o=this._cachedDataOpts,r=t+"-"+n,a=o[r],l=this.enableOptionSharing&&Qe(i);if(a)return ho(a,l);const c=this.chart.config,h=c.datasetElementScopeKeys(this._type,t),d=s?[`${t}Hover`,"hover",t,""]:[t,""],f=c.getOptionScopes(this.getDataset(),h),u=Object.keys(q.elements[t]),g=()=>this.getContext(i,s,n),m=c.resolveNamedOptions(f,u,g,d);return m.$shared&&(m.$shared=l,o[r]=Object.freeze(ho(m,l))),m}_resolveAnimations(t,n,i){const s=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(s.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,n),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,i,n))}const c=new da(s,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||li(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),s=this._sharedOptions,o=this.getSharedOptions(i),r=this.includeOptions(n,o)||o!==s;return this.updateSharedOptions(o,n,i),{sharedOptions:o,includeOptions:r}}updateElement(t,n,i,s){li(s)?Object.assign(t,i):this._resolveAnimations(n,s).update(t,i)}updateSharedOptions(t,n,i){t&&!li(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,s){t.active=s;const o=this.getStyle(n,s);this._resolveAnimations(n,i,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const s=i.length,o=n.length,r=Math.min(o,s);r&&this.parse(0,r),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,n,i=!0){const s=this._cachedMeta,o=s.data,r=t+n;let a;const l=c=>{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;a<r;++a)o[a]=new this.dataElementType;this._parsing&&l(s._parsed),this.parse(t,n),i&&this.updateElements(o,t,n,"reset")}updateElements(t,n,i,s){}_removeElements(t,n){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,n);i._stacked&&je(i,s)}i.data.splice(t,n)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[n,i,s]=t;this[n](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,n){n&&this._sync(["_removeElements",t,n]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}j(we,"defaults",{}),j(we,"datasetElementType",null),j(we,"dataElementType",null);function Jd(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let i=[];for(let s=0,o=n.length;s<o;s++)i=i.concat(n[s].controller.getAllParsedValues(e));e._cache.$bar=qr(i.sort((s,o)=>s-o))}return e._cache.$bar}function Zd(e){const t=e.iScale,n=Jd(t,e.type);let i=t._length,s,o,r,a;const l=()=>{r===32767||r===-32768||(Qe(a)&&(i=Math.min(i,Math.abs(r-a)||i)),a=r)};for(s=0,o=n.length;s<o;++s)r=t.getPixelForValue(n[s]),l();for(a=void 0,s=0,o=t.ticks.length;s<o;++s)r=t.getPixelForTick(s),l();return i}function Qd(e,t,n,i){const s=n.barThickness;let o,r;return Y(s)?(o=t.min*n.categoryPercentage,r=n.barPercentage):(o=s*i,r=1),{chunk:o/i,ratio:r,start:t.pixels[e]-o/2}}function tf(e,t,n,i){const s=t.pixels,o=s[e];let r=e>0?s[e-1]:null,a=e<s.length-1?s[e+1]:null;const l=n.categoryPercentage;r===null&&(r=o-(a===null?t.end-t.start:a-o)),a===null&&(a=o+o-r);const c=o-(o-Math.min(r,a))/2*l;return{chunk:Math.abs(a-r)/2*l/i,ratio:n.barPercentage,start:c}}function ef(e,t,n,i){const s=n.parse(e[0],i),o=n.parse(e[1],i),r=Math.min(s,o),a=Math.max(s,o);let l=r,c=a;Math.abs(r)>Math.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:s,end:o,min:r,max:a}}function ua(e,t,n,i){return Z(e)?ef(e,t,n,i):t[n.axis]=n.parse(e,i),t}function fo(e,t,n,i){const s=e.iScale,o=e.vScale,r=s.getLabels(),a=s===o,l=[];let c,h,d,f;for(c=n,h=n+i;c<h;++c)f=t[c],d={},d[s.axis]=a||s.parse(r[c],c),l.push(ua(f,d,o,c));return l}function ci(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function nf(e,t,n){return e!==0?Dt(e):(t.isHorizontal()?1:-1)*(t.min>=n?1:-1)}function sf(e){let t,n,i,s,o;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.base<e.y,n="bottom",i="top"),t?(s="end",o="start"):(s="start",o="end"),{start:n,end:i,reverse:t,top:s,bottom:o}}function of(e,t,n,i){let s=t.borderSkipped;const o={};if(!s){e.borderSkipped=o;return}if(s===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:r,end:a,reverse:l,top:c,bottom:h}=sf(e);s==="middle"&&n&&(e.enableBorderRadius=!0,(n._top||0)===i?s=c:(n._bottom||0)===i?s=h:(o[uo(h,r,a,l)]=!0,s=c)),o[uo(s,r,a,l)]=!0,e.borderSkipped=o}function uo(e,t,n,i){return i?(e=rf(e,t,n),e=po(e,n,t)):e=po(e,t,n),e}function rf(e,t,n){return e===t?n:e===n?t:e}function po(e,t,n){return e==="start"?t:e==="end"?n:e}function af(e,{inflateAmount:t},n){e.inflateAmount=t==="auto"?n===1?.33:0:t}class hi extends we{parsePrimitiveData(t,n,i,s){return fo(t,n,i,s)}parseArrayData(t,n,i,s){return fo(t,n,i,s)}parseObjectData(t,n,i,s){const{iScale:o,vScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=o.axis==="x"?a:l,h=r.axis==="x"?a:l,d=[];let f,u,g,m;for(f=i,u=i+s;f<u;++f)m=n[f],g={},g[o.axis]=o.parse(Pe(m,c),f),d.push(ua(Pe(m,h),g,r,f));return d}updateRangeFromParsed(t,n,i,s){super.updateRangeFromParsed(t,n,i,s);const o=i._custom;o&&n===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const n=this._cachedMeta,{iScale:i,vScale:s}=n,o=this.getParsed(t),r=o._custom,a=ci(r)?"["+r.start+", "+r.end+"]":""+s.getLabelForValue(o[s.axis]);return{label:""+i.getLabelForValue(o[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const n=this._cachedMeta;this.updateElements(n.data,0,n.data.length,t)}updateElements(t,n,i,s){const o=s==="reset",{index:r,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),h=this._getRuler(),{sharedOptions:d,includeOptions:f}=this._getSharedOptions(n,s);for(let u=n;u<n+i;u++){const g=this.getParsed(u),m=o||Y(g[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(u),p=this._calculateBarIndexPixels(u,h),b=(g._stacks||{})[a.axis],y={horizontal:c,base:m.base,enableBorderRadius:!b||ci(g._custom)||r===b._top||r===b._bottom,x:c?m.head:p.center,y:c?p.center:m.head,height:c?p.size:Math.abs(m.size),width:c?Math.abs(m.size):p.size};f&&(y.options=d||this.resolveDataElementOptions(u,t[u].active?"active":s));const v=y.options||t[u].options;of(y,v,b,r),af(y,v,h.ratio),this.updateElement(t[u],u,y,s)}}_getStacks(t,n){const{iScale:i}=this._cachedMeta,s=i.getMatchingVisibleMetas(this._type).filter(h=>h.controller.options.grouped),o=i.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(n),l=a&&a[i.axis],c=h=>{const d=h._parsed.find(u=>u[i.axis]===l),f=d&&d[h.vScale.axis];if(Y(f)||isNaN(f))return!0};for(const h of s)if(!(n!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const s=this._getStacks(t,i),o=n!==void 0?s.indexOf(n):-1;return o===-1?s.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,s=[];let o,r;for(o=0,r=n.data.length;o<r;++o)s.push(i.getPixelForValue(this.getParsed(o)[i.axis],o));const a=t.barThickness;return{min:a||Zd(n),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:n,_stacked:i,index:s},options:{base:o,minBarLength:r}}=this,a=o||0,l=this.getParsed(t),c=l._custom,h=ci(c);let d=l[n.axis],f=0,u=i?this.applyStack(n,l,i):d,g,m;u!==d&&(f=u-d,u=d),h&&(d=c.barStart,u=c.barEnd-c.barStart,d!==0&&Dt(d)!==Dt(c.barEnd)&&(f=0),f+=d);const p=!Y(o)&&!h?o:f;let b=n.getPixelForValue(p);if(this.chart.getDataVisibility(t)?g=n.getPixelForValue(f+u):g=b,m=g-b,Math.abs(m)<r){m=nf(m,n,a)*r,d===a&&(b-=m/2);const y=n.getPixelForDecimal(0),v=n.getPixelForDecimal(1),w=Math.min(y,v),_=Math.max(y,v);b=Math.max(Math.min(b,_),w),g=b+m,i&&!h&&(l._stacks[n.axis]._visualValues[s]=n.getValueForPixel(g)-n.getValueForPixel(b))}if(b===n.getPixelForValue(a)){const y=Dt(m)*n.getLineWidthForValue(a)/2;b+=y,m-=y}return{size:m,base:b,head:g,center:g+m/2}}_calculateBarIndexPixels(t,n){const i=n.scale,s=this.options,o=s.skipNull,r=F(s.maxBarThickness,1/0);let a,l;if(n.grouped){const c=o?this._getStackCount(t):n.stackCount,h=s.barThickness==="flex"?tf(t,n,s,c):Qd(t,n,s,c),d=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);a=h.start+h.chunk*d+h.chunk/2,l=Math.min(r,h.chunk*h.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),l=Math.min(r,n.min*n.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,n=t.vScale,i=t.data,s=i.length;let o=0;for(;o<s;++o)this.getParsed(o)[n.axis]!==null&&!i[o].hidden&&i[o].draw(this._ctx)}}j(hi,"id","bar"),j(hi,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),j(hi,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class di extends we{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:i,data:s=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=Lh(n,s,r);this._drawStart=a,this._drawCount=l,Nh(n)&&(a=0,l=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=s;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!r,options:c},t),this.updateElements(s,a,l,t)}updateElements(t,n,i,s){const o=s==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:d}=this._getSharedOptions(n,s),f=r.axis,u=a.axis,{spanGaps:g,segment:m}=this.options,p=tn(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||s==="none",y=n+i,v=t.length;let w=n>0&&this.getParsed(n-1);for(let _=0;_<v;++_){const S=t[_],M=b?S:{};if(_<n||_>=y){M.skip=!0;continue}const k=this.getParsed(_),P=Y(k[u]),E=M[f]=r.getPixelForValue(k[f],_),C=M[u]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,k,l):k[u],_);M.skip=isNaN(E)||isNaN(C)||P,M.stop=_>0&&Math.abs(k[f]-w[f])>p,m&&(M.parsed=k,M.raw=c.data[_]),d&&(M.options=h||this.resolveDataElementOptions(_,S.active?"active":s)),b||this.updateElement(S,_,M,s),w=k}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,i=n.options&&n.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}j(di,"id","line"),j(di,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),j(di,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});function ie(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class os{constructor(t){j(this,"options");this.options=t||{}}static override(t){Object.assign(os.prototype,t)}init(){}formats(){return ie()}parse(){return ie()}format(){return ie()}add(){return ie()}diff(){return ie()}startOf(){return ie()}endOf(){return ie()}}var lf={_date:os};function cf(e,t,n,i){const{controller:s,data:o,_sorted:r}=e,a=s._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?Dh:ce;if(i){if(s._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const d=l(o,t,n-h),f=l(o,t,n+h);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function hn(e,t,n,i,s){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a<l;++a){const{index:c,data:h}=o[a],{lo:d,hi:f}=cf(o[a],t,r,s);for(let u=d;u<=f;++u){const g=h[u];g.skip||i(g,c,u)}}}function hf(e){const t=e.indexOf("x")!==-1,n=e.indexOf("y")!==-1;return function(i,s){const o=t?Math.abs(i.x-s.x):0,r=n?Math.abs(i.y-s.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(r,2))}}function fi(e,t,n,i,s){const o=[];return!s&&!e.isPointInArea(t)||hn(e,n,t,function(a,l,c){!s&&!en(a,e.chartArea,0)||a.inRange(t.x,t.y,i)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function df(e,t,n,i){let s=[];function o(r,a,l){const{startAngle:c,endAngle:h}=r.getProps(["startAngle","endAngle"],i),{angle:d}=Xr(r,{x:t.x,y:t.y});Xi(d,c,h)&&s.push({element:r,datasetIndex:a,index:l})}return hn(e,n,t,o),s}function ff(e,t,n,i,s,o){let r=[];const a=hf(n);let l=Number.POSITIVE_INFINITY;function c(h,d,f){const u=h.inRange(t.x,t.y,s);if(i&&!u)return;const g=h.getCenterPoint(s);if(!(!!o||e.isPointInArea(g))&&!u)return;const p=a(t,g);p<l?(r=[{element:h,datasetIndex:d,index:f}],l=p):p===l&&r.push({element:h,datasetIndex:d,index:f})}return hn(e,n,t,c),r}function ui(e,t,n,i,s,o){return!o&&!e.isPointInArea(t)?[]:n==="r"&&!i?df(e,t,n,s):ff(e,t,n,i,s,o)}function go(e,t,n,i,s){const o=[],r=n==="x"?"inXRange":"inYRange";let a=!1;return hn(e,n,t,(l,c,h)=>{l[r]&&l[r](t[n],s)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,s))}),i&&!a?[]:o}var uf={evaluateInteractionItems:hn,modes:{index(e,t,n,i){const s=re(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?fi(e,s,o,i,r):ui(e,s,o,!1,i,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(e,t,n,i){const s=re(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?fi(e,s,o,i,r):ui(e,s,o,!1,i,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let h=0;h<c.length;++h)a.push({element:c[h],datasetIndex:l,index:h})}return a},point(e,t,n,i){const s=re(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;return fi(e,s,o,i,r)},nearest(e,t,n,i){const s=re(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;return ui(e,s,o,n.intersect,i,r)},x(e,t,n,i){const s=re(t,e);return go(e,s,"x",n.intersect,i)},y(e,t,n,i){const s=re(t,e);return go(e,s,"y",n.intersect,i)}}};const pa=["left","top","right","bottom"];function Le(e,t){return e.filter(n=>n.pos===t)}function mo(e,t){return e.filter(n=>pa.indexOf(n.pos)===-1&&n.box.axis===t)}function Ne(e,t){return e.sort((n,i)=>{const s=t?i:n,o=t?n:i;return s.weight===o.weight?s.index-o.index:s.weight-o.weight})}function pf(e){const t=[];let n,i,s,o,r,a;for(n=0,i=(e||[]).length;n<i;++n)s=e[n],{position:o,options:{stack:r,stackWeight:a=1}}=s,t.push({index:n,box:s,pos:o,horizontal:s.isHorizontal(),weight:s.weight,stack:r&&o+r,stackWeight:a});return t}function gf(e){const t={};for(const n of e){const{stack:i,pos:s,stackWeight:o}=n;if(!i||!pa.includes(s))continue;const r=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return t}function mf(e,t){const n=gf(e),{vBoxMaxWidth:i,hBoxMaxHeight:s}=t;let o,r,a;for(o=0,r=e.length;o<r;++o){a=e[o];const{fullSize:l}=a.box,c=n[a.stack],h=c&&a.stackWeight/c.weight;a.horizontal?(a.width=h?h*i:l&&t.availableWidth,a.height=s):(a.width=i,a.height=h?h*s:l&&t.availableHeight)}return n}function bf(e){const t=pf(e),n=Ne(t.filter(c=>c.box.fullSize),!0),i=Ne(Le(t,"left"),!0),s=Ne(Le(t,"right")),o=Ne(Le(t,"top"),!0),r=Ne(Le(t,"bottom")),a=mo(t,"x"),l=mo(t,"y");return{fullSize:n,leftAndTop:i.concat(o),rightAndBottom:s.concat(l).concat(r).concat(a),chartArea:Le(t,"chartArea"),vertical:i.concat(s).concat(l),horizontal:o.concat(r).concat(a)}}function bo(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function ga(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xf(e,t,n,i){const{pos:s,box:o}=n,r=e.maxPadding;if(!z(s)){n.size&&(e[s]-=n.size);const d=i[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[s]+=n.size}o.getPadding&&ga(r,o.getPadding());const a=Math.max(0,t.outerWidth-bo(r,e,"left","right")),l=Math.max(0,t.outerHeight-bo(r,e,"top","bottom")),c=a!==e.w,h=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:h}:{same:h,other:c}}function yf(e){const t=e.maxPadding;function n(i){const s=Math.max(t[i]-e[i],0);return e[i]+=s,s}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function _f(e,t){const n=t.maxPadding;function i(s){const o={left:0,top:0,right:0,bottom:0};return s.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return i(e?["left","right"]:["top","bottom"])}function ze(e,t,n,i){const s=[];let o,r,a,l,c,h;for(o=0,r=e.length,c=0;o<r;++o){a=e[o],l=a.box,l.update(a.width||t.w,a.height||t.h,_f(a.horizontal,t));const{same:d,other:f}=xf(t,n,a,i);c|=d&&s.length,h=h||f,l.fullSize||s.push(a)}return c&&ze(s,t,n,i)||h}function vn(e,t,n,i,s){e.top=n,e.left=t,e.right=t+i,e.bottom=n+s,e.width=i,e.height=s}function xo(e,t,n,i){const s=n.padding;let{x:o,y:r}=t;for(const a of e){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},h=a.stackWeight/c.weight||1;if(a.horizontal){const d=t.w*h,f=c.size||l.height;Qe(c.start)&&(r=c.start),l.fullSize?vn(l,s.left,r,n.outerWidth-s.right-s.left,f):vn(l,t.left+c.placed,r,d,f),c.start=r,c.placed+=d,r=l.bottom}else{const d=t.h*h,f=c.size||l.width;Qe(c.start)&&(o=c.start),l.fullSize?vn(l,o,s.top,f,n.outerHeight-s.bottom-s.top):vn(l,o,t.top+c.placed,f,d),c.start=o,c.placed+=d,o=l.right}}t.x=o,t.y=r}var xt={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(n){t.draw(n)}}]},e.boxes.push(t)},removeBox(e,t){const n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,i){if(!e)return;const s=wt(e.options.layout.padding),o=Math.max(t-s.width,0),r=Math.max(n-s.height,0),a=bf(e.boxes),l=a.vertical,c=a.horizontal;V(e.boxes,m=>{typeof m.beforeLayout=="function"&&m.beforeLayout()});const h=l.reduce((m,p)=>p.box.options&&p.box.options.display===!1?m:m+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:s,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),f=Object.assign({},s);ga(f,wt(i));const u=Object.assign({maxPadding:f,w:o,h:r,x:s.left,y:s.top},s),g=mf(l.concat(c),d);ze(a.fullSize,u,d,g),ze(l,u,d,g),ze(c,u,d,g)&&ze(l,u,d,g),yf(u),xo(a.leftAndTop,u,d,g),u.x+=u.w,u.y+=u.h,xo(a.rightAndBottom,u,d,g),e.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},V(a.chartArea,m=>{const p=m.box;Object.assign(p,e.chartArea),p.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class ma{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,s){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,s?Math.floor(n/s):i)}}isAttached(t){return!0}updateConfig(t){}}class vf extends ma{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const An="$chartjs",wf={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},yo=e=>e===null||e==="";function Sf(e,t){const n=e.style,i=e.getAttribute("height"),s=e.getAttribute("width");if(e[An]={initial:{height:i,width:s,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",yo(s)){const o=eo(e,"width");o!==void 0&&(e.width=o)}if(yo(i))if(e.style.height==="")e.height=e.width/(t||2);else{const o=eo(e,"height");o!==void 0&&(e.height=o)}return e}const ba=kd?{passive:!0}:!1;function kf(e,t,n){e&&e.addEventListener(t,n,ba)}function Mf(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,ba)}function Cf(e,t){const n=wf[e.type]||e.type,{x:i,y:s}=re(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:s!==void 0?s:null}}function Bn(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Pf(e,t,n){const i=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Bn(a.addedNodes,i),r=r&&!Bn(a.removedNodes,i);r&&n()});return s.observe(document,{childList:!0,subtree:!0}),s}function Of(e,t,n){const i=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Bn(a.removedNodes,i),r=r&&!Bn(a.addedNodes,i);r&&n()});return s.observe(document,{childList:!0,subtree:!0}),s}const sn=new Map;let _o=0;function xa(){const e=window.devicePixelRatio;e!==_o&&(_o=e,sn.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Ef(e,t){sn.size||window.addEventListener("resize",xa),sn.set(e,t)}function Df(e){sn.delete(e),sn.size||window.removeEventListener("resize",xa)}function Rf(e,t,n){const i=e.canvas,s=i&&ss(i);if(!s)return;const o=Jr((a,l)=>{const c=s.clientWidth;n(a,l),c<s.clientWidth&&n()},window),r=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(s),Ef(e,o),r}function pi(e,t,n){n&&n.disconnect(),t==="resize"&&Df(e)}function Tf(e,t,n){const i=e.canvas,s=Jr(o=>{e.ctx!==null&&n(Cf(o,e))},e);return kf(i,t,s),s}class Af extends ma{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Sf(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[An])return!1;const i=n[An].initial;["height","width"].forEach(o=>{const r=i[o];Y(r)?n.removeAttribute(o):n.setAttribute(o,r)});const s=i.style||{};return Object.keys(s).forEach(o=>{n.style[o]=s[o]}),n.width=n.width,delete n[An],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const s=t.$proxies||(t.$proxies={}),r={attach:Pf,detach:Of,resize:Rf}[n]||Tf;s[n]=r(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),s=i[n];if(!s)return;({attach:pi,detach:pi,resize:pi}[n]||Mf)(t,n,s),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,s){return Sd(t,n,i,s)}isAttached(t){const n=t&&ss(t);return!!(n&&n.isConnected)}}function jf(e){return!is()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?vf:Af}var Rn;let $t=(Rn=class{constructor(){j(this,"x");j(this,"y");j(this,"active",!1);j(this,"options");j(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return tn(this.x)&&tn(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const s={};return t.forEach(o=>{s[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),s}},j(Rn,"defaults",{}),j(Rn,"defaultRoutes"),Rn);function Lf(e,t){const n=e.options.ticks,i=Nf(e),s=Math.min(n.maxTicksLimit||i,i),o=n.major.enabled?Ff(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>s)return $f(t,c,o,r/s),c;const h=If(o,t,s);if(r>0){let d,f;const u=r>1?Math.round((l-a)/(r-1)):null;for(wn(t,c,h,Y(u)?0:a-u,a),d=0,f=r-1;d<f;d++)wn(t,c,h,o[d],o[d+1]);return wn(t,c,h,l,Y(u)?t.length:l+u),c}return wn(t,c,h),c}function Nf(e){const t=e.options.offset,n=e._tickSize(),i=e._length/n+(t?0:1),s=e._maxLength/n;return Math.floor(Math.min(i,s))}function If(e,t,n){const i=zf(e),s=t.length/n;if(!i)return Math.max(s,1);const o=kh(i);for(let r=0,a=o.length-1;r<a;r++){const l=o[r];if(l>s)return l}return Math.max(s,1)}function Ff(e){const t=[];let n,i;for(n=0,i=e.length;n<i;n++)e[n].major&&t.push(n);return t}function $f(e,t,n,i){let s=0,o=n[0],r;for(i=Math.ceil(i),r=0;r<e.length;r++)r===o&&(t.push(e[r]),s++,o=n[s*i])}function wn(e,t,n,i,s){const o=F(i,0),r=Math.min(F(s,e.length),e.length);let a=0,l,c,h;for(n=Math.ceil(n),s&&(l=s-i,n=l/Math.floor(l/n)),h=o;h<0;)a++,h=Math.round(o+a*n);for(c=Math.max(o,0);c<r;c++)c===h&&(t.push(e[c]),a++,h=Math.round(o+a*n))}function zf(e){const t=e.length;let n,i;if(t<2)return!1;for(i=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==i)return!1;return i}const Bf=e=>e==="left"?"right":e==="right"?"left":e,vo=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,wo=(e,t)=>Math.min(t||e,e);function So(e,t){const n=[],i=e.length/t,s=e.length;let o=0;for(;o<s;o+=i)n.push(e[Math.floor(o)]);return n}function Wf(e,t,n){const i=e.ticks.length,s=Math.min(t,i-1),o=e._startPixel,r=e._endPixel,a=1e-6;let l=e.getPixelForTick(s),c;if(!(n&&(i===1?c=Math.max(l-o,r-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(s-1))/2,l+=s<t?c:-c,l<o-a||l>r+a)))return l}function Hf(e,t){V(e,n=>{const i=n.gc,s=i.length/2;let o;if(s>t){for(o=0;o<s;++o)delete n.data[i[o]];i.splice(0,s)}})}function Ie(e){return e.drawTicks?e.tickLength:0}function ko(e,t){if(!e.display)return 0;const n=lt(e.font,t),i=wt(e.padding);return(Z(e.text)?e.text.length:1)*n.lineHeight+i.height}function Vf(e,t){return ge(e,{scale:t,type:"scale"})}function Yf(e,t,n){return ge(e,{tick:n,index:t,type:"tick"})}function Uf(e,t,n){let i=qi(e);return(n&&t!=="right"||!n&&t==="right")&&(i=Bf(i)),i}function Xf(e,t,n,i){const{top:s,left:o,bottom:r,right:a,chart:l}=e,{chartArea:c,scales:h}=l;let d=0,f,u,g;const m=r-s,p=a-o;if(e.isHorizontal()){if(u=rt(i,o,a),z(n)){const b=Object.keys(n)[0],y=n[b];g=h[b].getPixelForValue(y)+m-t}else n==="center"?g=(c.bottom+c.top)/2+m-t:g=vo(e,n,t);f=a-o}else{if(z(n)){const b=Object.keys(n)[0],y=n[b];u=h[b].getPixelForValue(y)-p+t}else n==="center"?u=(c.left+c.right)/2-p+t:u=vo(e,n,t);g=rt(i,r,s),d=n==="left"?-st:st}return{titleX:u,titleY:g,maxWidth:f,rotation:d}}class De extends $t{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:i,_suggestedMax:s}=this;return t=kt(t,Number.POSITIVE_INFINITY),n=kt(n,Number.NEGATIVE_INFINITY),i=kt(i,Number.POSITIVE_INFINITY),s=kt(s,Number.NEGATIVE_INFINITY),{min:kt(t,i),max:kt(n,s),minDefined:vt(t),maxDefined:vt(n)}}getMinMax(t){let{min:n,max:i,minDefined:s,maxDefined:o}=this.getUserBounds(),r;if(s&&o)return{min:n,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)r=a[l].controller.getMinMax(this,t),s||(n=Math.min(n,r.min)),o||(i=Math.max(i,r.max));return n=o&&n>i?i:n,i=s&&n>i?n:i,{min:kt(n,kt(i,n)),max:kt(i,kt(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){U(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:s,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=ed(this,o,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?So(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||r.source==="auto")&&(this.ticks=Lf(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,n,i;this.isHorizontal()?(n=this.left,i=this.right):(n=this.top,i=this.bottom,t=!t),this._startPixel=n,this._endPixel=i,this._reversePixels=t,this._length=i-n,this._alignToPixels=this.options.alignToPixels}afterUpdate(){U(this.options.afterUpdate,[this])}beforeSetDimensions(){U(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){U(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),U(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){U(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const n=this.options.ticks;let i,s,o;for(i=0,s=t.length;i<s;i++)o=t[i],o.label=U(n.callback,[o.value,i,t],this)}afterTickToLabelConversion(){U(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){U(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,n=t.ticks,i=wo(this.ticks.length,t.ticks.maxTicksLimit),s=n.minRotation||0,o=n.maxRotation;let r=s,a,l,c;if(!this._isVisible()||!n.display||s>=o||i<=1||!this.isHorizontal()){this.labelRotation=s;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=at(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/i:u/(i-1),d+6>a&&(a=u/(i-(t.offset?.5:1)),l=this.maxHeight-Ie(t.grid)-n.padding-ko(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Ph(Math.min(Math.asin(at((h.highest.height+6)/a,-1,1)),Math.asin(at(l/c,-1,1))-Math.asin(at(f/c,-1,1)))),r=Math.max(s,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){U(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){U(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:s,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=ko(s,n.options.font);if(a?(t.width=this.maxWidth,t.height=Ie(o)+l):(t.height=this.maxHeight,t.width=Ie(o)+l),i.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=i.padding*2,g=le(this.labelRotation),m=Math.cos(g),p=Math.sin(g);if(a){const b=i.mirror?0:p*d.width+m*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=i.mirror?0:m*d.width+p*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,p,m)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,s){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=s*t.width,u=i*n.height):(f=i*t.height,u=s*n.width):o==="start"?u=n.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=n.width/2),this.paddingLeft=Math.max((f-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let h=n.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=n.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){U(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n<i;n++)Y(t[n].label)&&(t.splice(n,1),i--,n--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const n=this.options.ticks.sampleSize;let i=this.ticks;n<i.length&&(i=So(i,n)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,n,i){const{ctx:s,_longestTextCache:o}=this,r=[],a=[],l=Math.floor(n/wo(n,i));let c=0,h=0,d,f,u,g,m,p,b,y,v,w,_;for(d=0;d<n;d+=l){if(g=t[d].label,m=this._resolveTickFontOptions(d),s.font=p=m.string,b=o[p]=o[p]||{data:{},gc:[]},y=m.lineHeight,v=w=0,!Y(g)&&!Z(g))v=Gs(s,b.data,b.gc,v,g),w=y;else if(Z(g))for(f=0,u=g.length;f<u;++f)_=g[f],!Y(_)&&!Z(_)&&(v=Gs(s,b.data,b.gc,v,_),w+=y);r.push(v),a.push(w),c=Math.max(v,c),h=Math.max(w,h)}Hf(o,n);const S=r.indexOf(c),M=a.indexOf(h),k=P=>({width:r[P]||0,height:a[P]||0});return{first:k(0),last:k(n-1),widest:k(S),highest:k(M),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Eh(this._alignToPixels?ne(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&t<n.length){const i=n[t];return i.$context||(i.$context=Yf(this.getContext(),t,i))}return this.$context||(this.$context=Vf(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,n=le(this.labelRotation),i=Math.abs(Math.cos(n)),s=Math.abs(Math.sin(n)),o=this._getLabelSizes(),r=t.autoSkipPadding||0,a=o?o.widest.width+r:0,l=o?o.highest.height+r:0;return this.isHorizontal()?l*i>a*s?a/i:l/s:l*s<a*i?l/i:a/s}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const n=this.axis,i=this.chart,s=this.options,{grid:o,position:r,border:a}=s,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Ie(o),u=[],g=a.setContext(this.getContext()),m=g.display?g.width:0,p=m/2,b=function(L){return ne(i,L,m)};let y,v,w,_,S,M,k,P,E,C,O,R;if(r==="top")y=b(this.bottom),M=this.bottom-f,P=y-p,C=b(t.top)+p,R=t.bottom;else if(r==="bottom")y=b(this.top),C=t.top,R=b(t.bottom)-p,M=y+p,P=this.top+f;else if(r==="left")y=b(this.right),S=this.right-f,k=y-p,E=b(t.left)+p,O=t.right;else if(r==="right")y=b(this.left),E=t.left,O=b(t.right)-p,S=y+p,k=this.left+f;else if(n==="x"){if(r==="center")y=b((t.top+t.bottom)/2+.5);else if(z(r)){const L=Object.keys(r)[0],I=r[L];y=b(this.chart.scales[L].getPixelForValue(I))}C=t.top,R=t.bottom,M=y+p,P=M+f}else if(n==="y"){if(r==="center")y=b((t.left+t.right)/2);else if(z(r)){const L=Object.keys(r)[0],I=r[L];y=b(this.chart.scales[L].getPixelForValue(I))}S=y-p,k=S-f,E=t.left,O=t.right}const N=F(s.ticks.maxTicksLimit,d),A=Math.max(1,Math.ceil(d/N));for(v=0;v<d;v+=A){const L=this.getContext(v),I=o.setContext(L),W=a.setContext(L),$=I.lineWidth,B=I.color,et=W.dash||[],tt=W.dashOffset,it=I.tickWidth,X=I.tickColor,K=I.tickBorderDash||[],G=I.tickBorderDashOffset;w=Wf(this,v,l),w!==void 0&&(_=ne(i,w,$),c?S=k=E=O=_:M=P=C=R=_,u.push({tx1:S,ty1:M,tx2:k,ty2:P,x1:E,y1:C,x2:O,y2:R,width:$,color:B,borderDash:et,borderDashOffset:tt,tickWidth:it,tickColor:X,tickBorderDash:K,tickBorderDashOffset:G}))}return this._ticksLength=d,this._borderValue=y,u}_computeLabelItems(t){const n=this.axis,i=this.options,{position:s,ticks:o}=i,r=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:h,mirror:d}=o,f=Ie(i.grid),u=f+h,g=d?-h:u,m=-le(this.labelRotation),p=[];let b,y,v,w,_,S,M,k,P,E,C,O,R="middle";if(s==="top")S=this.bottom-g,M=this._getXAxisLabelAlignment();else if(s==="bottom")S=this.top+g,M=this._getXAxisLabelAlignment();else if(s==="left"){const A=this._getYAxisLabelAlignment(f);M=A.textAlign,_=A.x}else if(s==="right"){const A=this._getYAxisLabelAlignment(f);M=A.textAlign,_=A.x}else if(n==="x"){if(s==="center")S=(t.top+t.bottom)/2+u;else if(z(s)){const A=Object.keys(s)[0],L=s[A];S=this.chart.scales[A].getPixelForValue(L)+u}M=this._getXAxisLabelAlignment()}else if(n==="y"){if(s==="center")_=(t.left+t.right)/2-u;else if(z(s)){const A=Object.keys(s)[0],L=s[A];_=this.chart.scales[A].getPixelForValue(L)}M=this._getYAxisLabelAlignment(f).textAlign}n==="y"&&(l==="start"?R="top":l==="end"&&(R="bottom"));const N=this._getLabelSizes();for(b=0,y=a.length;b<y;++b){v=a[b],w=v.label;const A=o.setContext(this.getContext(b));k=this.getPixelForTick(b)+o.labelOffset,P=this._resolveTickFontOptions(b),E=P.lineHeight,C=Z(w)?w.length:1;const L=C/2,I=A.color,W=A.textStrokeColor,$=A.textStrokeWidth;let B=M;r?(_=k,M==="inner"&&(b===y-1?B=this.options.reverse?"left":"right":b===0?B=this.options.reverse?"right":"left":B="center"),s==="top"?c==="near"||m!==0?O=-C*E+E/2:c==="center"?O=-N.highest.height/2-L*E+E:O=-N.highest.height+E/2:c==="near"||m!==0?O=E/2:c==="center"?O=N.highest.height/2-L*E:O=N.highest.height-C*E,d&&(O*=-1),m!==0&&!A.showLabelBackdrop&&(_+=E/2*Math.sin(m))):(S=k,O=(1-C)*E/2);let et;if(A.showLabelBackdrop){const tt=wt(A.backdropPadding),it=N.heights[b],X=N.widths[b];let K=O-tt.top,G=0-tt.left;switch(R){case"middle":K-=it/2;break;case"bottom":K-=it;break}switch(M){case"center":G-=X/2;break;case"right":G-=X;break;case"inner":b===y-1?G-=X:b>0&&(G-=X/2);break}et={left:G,top:K,width:X+tt.width,height:it+tt.height,color:A.backdropColor}}p.push({label:w,font:P,textOffset:O,options:{rotation:m,color:I,strokeColor:W,strokeWidth:$,textAlign:B,textBaseline:R,translation:[_,S],backdrop:et}})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-le(this.labelRotation))return t==="top"?"left":"right";let s="center";return n.align==="start"?s="left":n.align==="end"?s="right":n.align==="inner"&&(s="inner"),s}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:i,mirror:s,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return n==="left"?s?(h=this.right+o,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h=this.left)):n==="right"?s?(h=this.left+o,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:i,top:s,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(i,s,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const s=this.ticks.findIndex(o=>o.value===t);return s>=0?n.setContext(this.getContext(s)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(n.display)for(o=0,r=s.length;o<r;++o){const l=s[o];n.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),n.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:n,options:{border:i,grid:s}}=this,o=i.setContext(this.getContext()),r=i.display?o.width:0;if(!r)return;const a=s.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,h,d,f;this.isHorizontal()?(c=ne(t,this.left,r)-r/2,h=ne(t,this.right,a)+a/2,d=f=l):(d=ne(t,this.top,r)-r/2,f=ne(t,this.bottom,a)+a/2,c=h=l),n.save(),n.lineWidth=o.width,n.strokeStyle=o.color,n.beginPath(),n.moveTo(c,d),n.lineTo(h,f),n.stroke(),n.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,s=this._computeLabelArea();s&&Ji(i,s);const o=this.getLabelItems(t);for(const r of o){const a=r.options,l=r.font,c=r.label,h=r.textOffset;nn(i,c,0,h,l,a)}s&&Zi(i)}drawTitle(){const{ctx:t,options:{position:n,title:i,reverse:s}}=this;if(!i.display)return;const o=lt(i.font),r=wt(i.padding),a=i.align;let l=o.lineHeight/2;n==="bottom"||n==="center"||z(n)?(l+=r.bottom,Z(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=r.top;const{titleX:c,titleY:h,maxWidth:d,rotation:f}=Xf(this,l,n,a);nn(t,i.text,0,0,o,{color:i.color,maxWidth:d,rotation:f,textAlign:Uf(a,n,s),textBaseline:"middle",translation:[c,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,n=t.ticks&&t.ticks.z||0,i=F(t.grid&&t.grid.z,-1),s=F(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==De.prototype.draw?[{z:n,draw:o=>{this.draw(o)}}]:[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let o,r;for(o=0,r=n.length;o<r;++o){const a=n[o];a[i]===this.id&&(!t||a.type===t)&&s.push(a)}return s}_resolveTickFontOptions(t){const n=this.options.ticks.setContext(this.getContext(t));return lt(n.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Sn{constructor(t,n,i){this.type=t,this.scope=n,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const n=Object.getPrototypeOf(t);let i;Gf(n)&&(i=this.register(n));const s=this.items,o=t.id,r=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+t);return o in s||(s[o]=t,Kf(t,r,i),this.override&&q.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const n=this.items,i=t.id,s=this.scope;i in n&&delete n[i],s&&i in q[s]&&(delete q[s][i],this.override&&delete pe[i])}}function Kf(e,t,n){const i=Ze(Object.create(null),[n?q.get(n):{},q.get(t),e.defaults]);q.set(t,i),e.defaultRoutes&&qf(t,e.defaultRoutes),e.descriptors&&q.describe(t,e.descriptors)}function qf(e,t){Object.keys(t).forEach(n=>{const i=n.split("."),s=i.pop(),o=[e].concat(i).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");q.route(o,s,l,a)})}function Gf(e){return"id"in e&&"defaults"in e}class Jf{constructor(){this.controllers=new Sn(we,"datasets",!0),this.elements=new Sn($t,"elements"),this.plugins=new Sn(Object,"plugins"),this.scales=new Sn(De,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(s=>{const o=i||this._getRegistryForType(s);i||o.isForType(s)||o===this.plugins&&s.id?this._exec(t,o,s):V(s,r=>{const a=i||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,i){const s=Ui(t);U(i["before"+s],[],i),n[t](i),U(i["after"+s],[],i)}_getRegistryForType(t){for(let n=0;n<this._typedRegistries.length;n++){const i=this._typedRegistries[n];if(i.isForType(t))return i}return this.plugins}_get(t,n,i){const s=n.get(t);if(s===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var Ct=new Jf;class Zf{constructor(){this._init=[]}notify(t,n,i,s){n==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=s?this._descriptors(t).filter(s):this._descriptors(t),r=this._notify(o,t,n,i);return n==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,n,i,s){s=s||{};for(const o of t){const r=o.plugin,a=r[i],l=[n,s,o.options];if(U(a,l,r)===!1&&s.cancelable)return!1}return!0}invalidate(){Y(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const i=t&&t.config,s=F(i.options&&i.options.plugins,{}),o=Qf(i);return s===!1&&!n?[]:eu(t,o,s,n)}_notifyStateChanges(t){const n=this._oldCache||[],i=this._cache,s=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(s(n,i),t,"stop"),this._notify(s(i,n),t,"start")}}function Qf(e){const t={},n=[],i=Object.keys(Ct.plugins.items);for(let o=0;o<i.length;o++)n.push(Ct.getPlugin(i[o]));const s=e.plugins||[];for(let o=0;o<s.length;o++){const r=s[o];n.indexOf(r)===-1&&(n.push(r),t[r.id]=!0)}return{plugins:n,localIds:t}}function tu(e,t){return!t&&e===!1?null:e===!0?{}:e}function eu(e,{plugins:t,localIds:n},i,s){const o=[],r=e.getContext();for(const a of t){const l=a.id,c=tu(i[l],s);c!==null&&o.push({plugin:a,options:nu(e.config,{plugin:a,local:n[l]},c,r)})}return o}function nu(e,{plugin:t,local:n},i,s){const o=e.pluginScopeKeys(t),r=e.getOptionScopes(i,o);return n&&t.defaults&&r.push(t.defaults),e.createResolver(r,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Oi(e,t){const n=q.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function iu(e,t){let n=e;return e==="_index_"?n=t:e==="_value_"&&(n=t==="x"?"y":"x"),n}function su(e,t){return e===t?"_index_":"_value_"}function Mo(e){if(e==="x"||e==="y"||e==="r")return e}function ou(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function Ei(e,...t){if(Mo(e))return e;for(const n of t){const i=n.axis||ou(n.position)||e.length>1&&Mo(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Co(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function ru(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return Co(e,"x",n[0])||Co(e,"y",n[0])}return{}}function au(e,t){const n=pe[e.type]||{scales:{}},i=t.scales||{},s=Oi(e.type,t),o=Object.create(null);return Object.keys(i).forEach(r=>{const a=i[r];if(!z(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=Ei(r,a,ru(r,e),q.scales[a.type]),c=su(l,s),h=n.scales||{};o[r]=Ye(Object.create(null),[{axis:l},a,h[l],h[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Oi(a,t),h=(pe[a]||{}).scales||{};Object.keys(h).forEach(d=>{const f=iu(d,l),u=r[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),Ye(o[u],[{axis:f},i[u],h[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ye(a,[q.scales[a.type],q.scale])}),o}function ya(e){const t=e.options||(e.options={});t.plugins=F(t.plugins,{}),t.scales=au(e,t)}function _a(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function lu(e){return e=e||{},e.data=_a(e.data),ya(e),e}const Po=new Map,va=new Set;function kn(e,t){let n=Po.get(e);return n||(n=t(),Po.set(e,n),va.add(n)),n}const Fe=(e,t,n)=>{const i=Pe(t,n);i!==void 0&&e.add(i)};class cu{constructor(t){this._config=lu(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=_a(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),ya(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return kn(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return kn(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return kn(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return kn(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let s=i.get(t);return(!s||n)&&(s=new Map,i.set(t,s)),s}getOptionScopes(t,n,i){const{options:s,type:o}=this,r=this._cachedScopes(t,i),a=r.get(n);if(a)return a;const l=new Set;n.forEach(h=>{t&&(l.add(t),h.forEach(d=>Fe(l,t,d))),h.forEach(d=>Fe(l,s,d)),h.forEach(d=>Fe(l,pe[o]||{},d)),h.forEach(d=>Fe(l,q,d)),h.forEach(d=>Fe(l,Ci,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),va.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,pe[n]||{},q.datasets[n]||{},{type:n},q,Ci]}resolveNamedOptions(t,n,i,s=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=Oo(this._resolverCache,t,s);let l=r;if(du(r,n)){o.$shared=!1,i=Kt(i)?i():i;const c=this.createResolver(t,i,a);l=Oe(r,i,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,i=[""],s){const{resolver:o}=Oo(this._resolverCache,t,i);return z(n)?Oe(o,n,void 0,s):o}}function Oo(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const s=n.join();let o=i.get(s);return o||(o={resolver:ts(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},i.set(s,o)),o}const hu=e=>z(e)&&Object.getOwnPropertyNames(e).some(t=>Kt(e[t]));function du(e,t){const{isScriptable:n,isIndexable:i}=ia(e);for(const s of t){const o=n(s),r=i(s),a=(r||o)&&e[s];if(o&&(Kt(a)||hu(a))||r&&Z(a))return!0}return!1}var fu="4.4.7";const uu=["top","bottom","left","right","chartArea"];function Eo(e,t){return e==="top"||e==="bottom"||uu.indexOf(e)===-1&&t==="x"}function Do(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function Ro(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),U(n&&n.onComplete,[e],t)}function pu(e){const t=e.chart,n=t.options.animation;U(n&&n.onProgress,[e],t)}function wa(e){return is()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const jn={},To=e=>{const t=wa(e);return Object.values(jn).filter(n=>n.canvas===t).pop()};function gu(e,t,n){const i=Object.keys(e);for(const s of i){const o=+s;if(o>=t){const r=e[s];delete e[s],(n>0||o>t)&&(e[o+n]=r)}}}function mu(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function Mn(e,t,n){return e.options.clip?e[n]:t[n]}function bu(e,t){const{xScale:n,yScale:i}=e;return n&&i?{left:Mn(n,t,"left"),right:Mn(n,t,"right"),top:Mn(i,t,"top"),bottom:Mn(i,t,"bottom")}:t}class Pt{static register(...t){Ct.add(...t),Ao()}static unregister(...t){Ct.remove(...t),Ao()}constructor(t,n){const i=this.config=new cu(n),s=wa(t),o=To(s);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||jf(s)),this.platform.updateConfig(i);const a=this.platform.acquireContext(s,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=gh(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Zf,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ah(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],jn[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}At.listen(this,"complete",Ro),At.listen(this,"progress",pu),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:s,_aspectRatio:o}=this;return Y(t)?n&&o?o:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return Ct}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():to(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Js(this.canvas,this.ctx),this}stop(){return At.stop(this),this}resize(t,n){At.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,s=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(s,t,n,o),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,to(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),U(i.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};V(n,(i,s)=>{i.id=s})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,s=Object.keys(i).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=Ei(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),V(o,r=>{const a=r.options,l=a.id,c=Ei(l,a),h=F(a.type,r.dtype);(a.position===void 0||Eo(a.position,c)!==Eo(r.dposition))&&(a.position=r.dposition),s[l]=!0;let d=null;if(l in i&&i[l].type===h)d=i[l];else{const f=Ct.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),i[d.id]=d}d.init(a,t)}),V(s,(r,a)=>{r||delete i[a]}),V(i,r=>{xt.configure(this,r,r.options),xt.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((s,o)=>s.index-o.index),i>n){for(let s=n;s<i;++s)this._destroyDatasetMeta(s);t.splice(n,i-n)}this._sortedMetasets=t.slice(0).sort(Do("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:n}}=this;t.length>n.length&&delete this._stacks,t.forEach((i,s)=>{n.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(s)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=n.length;i<s;i++){const o=n[i];let r=this.getDatasetMeta(i);const a=o.type||this.config.type;if(r.type&&r.type!==a&&(this._destroyDatasetMeta(i),r=this.getDatasetMeta(i)),r.type=a,r.indexAxis=o.indexAxis||Oi(a,this.options),r.order=o.order||0,r.index=i,r.label=""+o.label,r.visible=this.isDatasetVisible(i),r.controller)r.controller.updateIndex(i),r.controller.linkScales();else{const l=Ct.getController(a),{datasetElementType:c,dataElementType:h}=q.datasets[a];Object.assign(l,{dataElementType:Ct.getElement(h),datasetElementType:c&&Ct.getElement(c)}),r.controller=new l(this,i),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){V(this.data.datasets,(t,n)=>{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c<h;c++){const{controller:d}=this.getDatasetMeta(c),f=!s&&o.indexOf(d)===-1;d.buildOrUpdateElements(f),r=Math.max(+d.getMaxOverflow(),r)}r=this._minPadding=i.layout.autoPadding?r:0,this._updateLayout(r),s||V(o,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Do("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){V(this.scales,t=>{xt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Bs(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:o}of n){const r=i==="_removeElements"?-o:o;gu(t,s,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),s=i(0);for(let o=1;o<n;o++)if(!Bs(s,i(o)))return;return Array.from(s).map(o=>o.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;xt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],V(this.boxes,s=>{i&&s.position==="chartArea"||(s.configure&&s.configure(),this._layers.push(...s._layers()))},this),this._layers.forEach((s,o)=>{s._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n<i;++n)this.getDatasetMeta(n).controller.configure();for(let n=0,i=this.data.datasets.length;n<i;++n)this._updateDataset(n,Kt(t)?t({datasetIndex:n}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,n){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:n,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",s)!==!1&&(i.controller._update(n),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(At.has(this)?this.attached&&!At.running(this)&&At.start(this):(this.draw(),Ro({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:s}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,s)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const n=this._layers;for(t=0;t<n.length&&n[t].z<=0;++t)n[t].draw(this.chartArea);for(this._drawDatasets();t<n.length;++t)n[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const n=this._sortedMetasets,i=[];let s,o;for(s=0,o=n.length;s<o;++s){const r=n[s];(!t||r.visible)&&i.push(r)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let n=t.length-1;n>=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,s=!i.disabled,o=bu(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(s&&Ji(n,{left:i.left===!1?0:o.left-i.left,right:i.right===!1?this.width:o.right+i.right,top:i.top===!1?0:o.top-i.top,bottom:i.bottom===!1?this.height:o.bottom+i.bottom}),t.controller.draw(),s&&Zi(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return en(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,s){const o=uf.modes[n];return typeof o=="function"?o(this,t,i,s):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let s=i.filter(o=>o&&o._dataset===n).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=ge(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const s=i?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,s);Qe(n)?(o.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(o,{visible:i}),this.update(a=>a.datasetIndex===t?s:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),At.remove(this),t=0,n=this.data.datasets.length;t<n;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:n}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Js(t,n),this.platform.releaseContext(n),this.canvas=null,this.ctx=null),delete jn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,n=this.platform,i=(o,r)=>{n.addEventListener(this,o,r),t[o]=r},s=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};V(this.options.events,o=>i(o,s))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},s=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",o),i("detach",r)};r=()=>{this.attached=!1,s("resize",o),this._stop(),this._resize(0,0),i("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){V(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},V(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const s=i?"set":"remove";let o,r,a,l;for(n==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+s+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){r=t[a];const c=r&&this.getDatasetMeta(r.datasetIndex).controller;c&&c[s+"HoverStyle"](r.element,r.datasetIndex,r.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const n=this._active||[],i=t.map(({datasetIndex:o,index:r})=>{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Nn(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const s=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(n,t),a=i?t:o(t,n);r.length&&this.updateHoverStyle(r,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},s=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,s)===!1)return;const o=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(o||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:s=[],options:o}=this,r=n,a=this._getActiveElements(t,s,i,r),l=vh(t),c=mu(t,this._lastEvent,i,l);i&&(this._lastEvent=null,U(o.onHover,[t,a,this],this),l&&U(o.onClick,[t,a,this],this));const h=!Nn(a,s);return(h||n)&&(this._active=a,this._updateHoverStyles(a,s,n)),this._lastEvent=c,h}_getActiveElements(t,n,i,s){if(t.type==="mouseout")return[];if(!i)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,s)}}j(Pt,"defaults",q),j(Pt,"instances",jn),j(Pt,"overrides",pe),j(Pt,"registry",Ct),j(Pt,"version",fu),j(Pt,"getChart",To);function Ao(){return V(Pt.instances,e=>e._plugins.invalidate())}function xu(e,t,n){const{startAngle:i,pixelMargin:s,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=s/a;e.beginPath(),e.arc(o,r,a,i-c,n+c),l>s?(c=s/l,e.arc(o,r,l,n+c,i-c,!0)):e.arc(o,r,s,n+st,i-st),e.closePath(),e.clip()}function yu(e){return Qi(e,["outerStart","outerEnd","innerStart","innerEnd"])}function _u(e,t,n,i){const s=yu(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,i*t/2),a=l=>{const c=(n-Math.min(o,l))*i/2;return at(l,0,Math.min(o,c))};return{outerStart:a(s.outerStart),outerEnd:a(s.outerEnd),innerStart:at(s.innerStart,0,r),innerEnd:at(s.innerEnd,0,r)}}function xe(e,t,n,i){return{x:n+e*Math.cos(t),y:i+e*Math.sin(t)}}function Wn(e,t,n,i,s,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,d=Math.max(t.outerRadius+i+n-c,0),f=h>0?h+i+n+c:0;let u=0;const g=s-l;if(i){const A=h>0?h-i:0,L=d>0?d-i:0,I=(A+L)/2,W=I!==0?g*I/(I+i):g;u=(g-W)/2}const m=Math.max(.001,g*d-n/Q)/d,p=(g-m)/2,b=l+p+u,y=s-p-u,{outerStart:v,outerEnd:w,innerStart:_,innerEnd:S}=_u(t,f,d,y-b),M=d-v,k=d-w,P=b+v/M,E=y-w/k,C=f+_,O=f+S,R=b+_/C,N=y-S/O;if(e.beginPath(),o){const A=(P+E)/2;if(e.arc(r,a,d,P,A),e.arc(r,a,d,A,E),w>0){const $=xe(k,E,r,a);e.arc($.x,$.y,w,E,y+st)}const L=xe(O,y,r,a);if(e.lineTo(L.x,L.y),S>0){const $=xe(O,N,r,a);e.arc($.x,$.y,S,y+st,N+Math.PI)}const I=(y-S/f+(b+_/f))/2;if(e.arc(r,a,f,y-S/f,I,!0),e.arc(r,a,f,I,b+_/f,!0),_>0){const $=xe(C,R,r,a);e.arc($.x,$.y,_,R+Math.PI,b-st)}const W=xe(M,b,r,a);if(e.lineTo(W.x,W.y),v>0){const $=xe(M,P,r,a);e.arc($.x,$.y,v,b-st,P)}}else{e.moveTo(r,a);const A=Math.cos(P)*d+r,L=Math.sin(P)*d+a;e.lineTo(A,L);const I=Math.cos(E)*d+r,W=Math.sin(E)*d+a;e.lineTo(I,W)}e.closePath()}function vu(e,t,n,i,s){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Wn(e,t,n,i,l,s);for(let c=0;c<o;++c)e.fill();isNaN(a)||(l=r+(a%ot||ot))}return Wn(e,t,n,i,l,s),e.fill(),l}function wu(e,t,n,i,s){const{fullCircles:o,startAngle:r,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:h,borderDash:d,borderDashOffset:f}=l,u=l.borderAlign==="inner";if(!c)return;e.setLineDash(d||[]),e.lineDashOffset=f,u?(e.lineWidth=c*2,e.lineJoin=h||"round"):(e.lineWidth=c,e.lineJoin=h||"bevel");let g=t.endAngle;if(o){Wn(e,t,n,i,g,s);for(let m=0;m<o;++m)e.stroke();isNaN(a)||(g=r+(a%ot||ot))}u&&xu(e,t,g),o||(Wn(e,t,n,i,g,s),e.stroke())}class Cn extends $t{constructor(n){super();j(this,"circumference");j(this,"endAngle");j(this,"fullCircles");j(this,"innerRadius");j(this,"outerRadius");j(this,"pixelMargin");j(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,i,s){const o=this.getProps(["x","y"],s),{angle:r,distance:a}=Xr(o,{x:n,y:i}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:d,circumference:f}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],s),u=(this.options.spacing+this.options.borderWidth)/2,g=F(f,c-l),m=Xi(r,l,c)&&l!==c,p=g>=ot||m,b=Ht(a,h+u,d+u);return p&&b}getCenterPoint(n){const{x:i,y:s,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:h}=this.options,d=(o+r)/2,f=(a+l+h+c)/2;return{x:i+Math.cos(d)*f,y:s+Math.sin(d)*f}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:i,circumference:s}=this,o=(i.offset||0)/4,r=(i.spacing||0)/2,a=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=s>ot?Math.floor(s/ot):0,s===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Q,s||0)),h=o*c;n.fillStyle=i.backgroundColor,n.strokeStyle=i.borderColor,vu(n,this,h,r,a),wu(n,this,h,r,a),n.restore()}}j(Cn,"id","arc"),j(Cn,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),j(Cn,"defaultRoutes",{backgroundColor:"backgroundColor"}),j(Cn,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function Sa(e,t,n=t){e.lineCap=F(n.borderCapStyle,t.borderCapStyle),e.setLineDash(F(n.borderDash,t.borderDash)),e.lineDashOffset=F(n.borderDashOffset,t.borderDashOffset),e.lineJoin=F(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=F(n.borderWidth,t.borderWidth),e.strokeStyle=F(n.borderColor,t.borderColor)}function Su(e,t,n){e.lineTo(n.x,n.y)}function ku(e){return e.stepped?Uh:e.tension||e.cubicInterpolationMode==="monotone"?Xh:Su}function ka(e,t,n={}){const i=e.length,{start:s=0,end:o=i-1}=n,{start:r,end:a}=t,l=Math.max(s,r),c=Math.min(o,a),h=s<r&&o<r||s>a&&o>a;return{count:i,start:l,loop:t.loop,ilen:c<l&&!h?i+c-l:c-l}}function Mu(e,t,n,i){const{points:s,options:o}=t,{count:r,start:a,loop:l,ilen:c}=ka(s,n,i),h=ku(o);let{move:d=!0,reverse:f}=i||{},u,g,m;for(u=0;u<=c;++u)g=s[(a+(f?c-u:u))%r],!g.skip&&(d?(e.moveTo(g.x,g.y),d=!1):h(e,m,g,f,o.stepped),m=g);return l&&(g=s[(a+(f?c:0))%r],h(e,m,g,f,o.stepped)),!!l}function Cu(e,t,n,i){const s=t.points,{count:o,start:r,ilen:a}=ka(s,n,i),{move:l=!0,reverse:c}=i||{};let h=0,d=0,f,u,g,m,p,b;const y=w=>(r+(c?a-w:w))%o,v=()=>{m!==p&&(e.lineTo(h,p),e.lineTo(h,m),e.lineTo(h,b))};for(l&&(u=s[y(0)],e.moveTo(u.x,u.y)),f=0;f<=a;++f){if(u=s[y(f)],u.skip)continue;const w=u.x,_=u.y,S=w|0;S===g?(_<m?m=_:_>p&&(p=_),h=(d*h+w)/++d):(v(),e.lineTo(w,_),g=S,d=0,m=p=_),b=_}v()}function Di(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?Cu:Mu}function Pu(e){return e.stepped?Md:e.tension||e.cubicInterpolationMode==="monotone"?Cd:ae}function Ou(e,t,n,i){let s=t._path;s||(s=t._path=new Path2D,t.path(s,n,i)&&s.closePath()),Sa(e,t.options),e.stroke(s)}function Eu(e,t,n,i){const{segments:s,options:o}=t,r=Di(t);for(const a of s)Sa(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+i-1})&&e.closePath(),e.stroke()}const Du=typeof Path2D=="function";function Ru(e,t,n,i){Du&&!t.options.segment?Ou(e,t,n,i):Eu(e,t,n,i)}class Pn extends $t{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;bd(this._points,i,t,s,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=jd(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,i=t.length;return i&&n[t[i-1].end]}interpolate(t,n){const i=this.options,s=t[n],o=this.points,r=Rd(this,{property:n,start:s,end:s});if(!r.length)return;const a=[],l=Pu(i);let c,h;for(c=0,h=r.length;c<h;++c){const{start:d,end:f}=r[c],u=o[d],g=o[f];if(u===g){a.push(u);continue}const m=Math.abs((s-u[n])/(g[n]-u[n])),p=l(u,g,m,i.stepped);p[n]=t[n],a.push(p)}return a.length===1?a[0]:a}pathSegment(t,n,i){return Di(this)(t,this,n,i)}path(t,n,i){const s=this.segments,o=Di(this);let r=this._loop;n=n||0,i=i||this.points.length-n;for(const a of s)r&=o(t,this,a,{start:n,end:n+i-1});return!!r}draw(t,n,i,s){const o=this.options||{};(this.points||[]).length&&o.borderWidth&&(t.save(),Ru(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}j(Pn,"id","line"),j(Pn,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),j(Pn,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),j(Pn,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function jo(e,t,n,i){const s=e.options,{[n]:o}=e.getProps([n],i);return Math.abs(t-o)<s.radius+s.hitRadius}class gi extends $t{constructor(n){super();j(this,"parsed");j(this,"skip");j(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,n&&Object.assign(this,n)}inRange(n,i,s){const o=this.options,{x:r,y:a}=this.getProps(["x","y"],s);return Math.pow(n-r,2)+Math.pow(i-a,2)<Math.pow(o.hitRadius+o.radius,2)}inXRange(n,i){return jo(this,n,"x",i)}inYRange(n,i){return jo(this,n,"y",i)}getCenterPoint(n){const{x:i,y:s}=this.getProps(["x","y"],n);return{x:i,y:s}}size(n){n=n||this.options||{};let i=n.radius||0;i=Math.max(i,i&&n.hoverRadius||0);const s=i&&n.borderWidth||0;return(i+s)*2}draw(n,i){const s=this.options;this.skip||s.radius<.1||!en(this,i,this.size(s)/2)||(n.strokeStyle=s.borderColor,n.lineWidth=s.borderWidth,n.fillStyle=s.backgroundColor,Pi(n,s,this.x,this.y))}getRange(){const n=this.options||{};return n.radius+n.hitRadius}}j(gi,"id","point"),j(gi,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),j(gi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function Ma(e,t){const{x:n,y:i,base:s,width:o,height:r}=e.getProps(["x","y","base","width","height"],t);let a,l,c,h,d;return e.horizontal?(d=r/2,a=Math.min(n,s),l=Math.max(n,s),c=i-d,h=i+d):(d=o/2,a=n-d,l=n+d,c=Math.min(i,s),h=Math.max(i,s)),{left:a,top:c,right:l,bottom:h}}function Vt(e,t,n,i){return e?0:at(t,n,i)}function Tu(e,t,n){const i=e.options.borderWidth,s=e.borderSkipped,o=na(i);return{t:Vt(s.top,o.top,0,n),r:Vt(s.right,o.right,0,t),b:Vt(s.bottom,o.bottom,0,n),l:Vt(s.left,o.left,0,t)}}function Au(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),s=e.options.borderRadius,o=_e(s),r=Math.min(t,n),a=e.borderSkipped,l=i||z(s);return{topLeft:Vt(!l||a.top||a.left,o.topLeft,0,r),topRight:Vt(!l||a.top||a.right,o.topRight,0,r),bottomLeft:Vt(!l||a.bottom||a.left,o.bottomLeft,0,r),bottomRight:Vt(!l||a.bottom||a.right,o.bottomRight,0,r)}}function ju(e){const t=Ma(e),n=t.right-t.left,i=t.bottom-t.top,s=Tu(e,n/2,i/2),o=Au(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:o},inner:{x:t.left+s.l,y:t.top+s.t,w:n-s.l-s.r,h:i-s.t-s.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(s.t,s.l)),topRight:Math.max(0,o.topRight-Math.max(s.t,s.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(s.b,s.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(s.b,s.r))}}}}function mi(e,t,n,i){const s=t===null,o=n===null,a=e&&!(s&&o)&&Ma(e,i);return a&&(s||Ht(t,a.left,a.right))&&(o||Ht(n,a.top,a.bottom))}function Lu(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function Nu(e,t){e.rect(t.x,t.y,t.w,t.h)}function bi(e,t,n={}){const i=e.x!==n.x?-t:0,s=e.y!==n.y?-t:0,o=(e.x+e.w!==n.x+n.w?t:0)-i,r=(e.y+e.h!==n.y+n.h?t:0)-s;return{x:e.x+i,y:e.y+s,w:e.w+o,h:e.h+r,radius:e.radius}}class xi extends $t{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:s}}=this,{inner:o,outer:r}=ju(this),a=Lu(r.radius)?$n:Nu;t.save(),(r.w!==o.w||r.h!==o.h)&&(t.beginPath(),a(t,bi(r,n,o)),t.clip(),a(t,bi(o,-n,r)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,bi(o,n)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,n,i){return mi(this,t,n,i)}inXRange(t,n){return mi(this,t,null,n)}inYRange(t,n){return mi(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:s,horizontal:o}=this.getProps(["x","y","base","horizontal"],t);return{x:o?(n+s)/2:n,y:o?i:(i+s)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}j(xi,"id","bar"),j(xi,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),j(xi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const Lo=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},Iu=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class No extends $t{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=U(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,s)=>t.sort(i,s,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,s=lt(i.font),o=s.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Lo(i,o);let c,h;n.font=s.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,s,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,s){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=s+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((g,m)=>{const p=i+n/2+o.measureText(g.text).width;(m===0||c[c.length-1]+p+2*a>r)&&(d+=h,c[c.length-(m>0?0:1)]=0,u+=h,f++),l[m]={left:0,top:u,row:f,width:p,height:s},c[c.length-1]+=p+a}),d}_fitCols(t,n,i,s){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,f=0,u=0,g=0,m=0;return this.legendItems.forEach((p,b)=>{const{itemWidth:y,itemHeight:v}=Fu(i,n,o,p,s);b>0&&u+v+2*a>h&&(d+=f+a,c.push({width:f,height:u}),g+=f+a,m++,f=u=0),l[b]={left:g,top:u,col:m,width:y,height:v},f=Math.max(f,y),u+=v+a}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:s},rtl:o}}=this,r=ve(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=rt(i,this.left+s,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=rt(i,this.left+s,this.right-this.lineWidths[a])),c.top+=this.top+t+s,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+s}else{let a=0,l=rt(i,this.top+t+s,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=rt(i,this.top+t+s,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+s,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+s}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ji(t,this),this._draw(),Zi(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:s}=this,{align:o,labels:r}=t,a=q.color,l=ve(t.rtl,this.left,this.width),c=lt(r.font),{padding:h}=r,d=c.size,f=d/2;let u;this.drawTitle(),s.textAlign=l.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:g,boxHeight:m,itemHeight:p}=Lo(r,d),b=function(S,M,k){if(isNaN(g)||g<=0||isNaN(m)||m<0)return;s.save();const P=F(k.lineWidth,1);if(s.fillStyle=F(k.fillStyle,a),s.lineCap=F(k.lineCap,"butt"),s.lineDashOffset=F(k.lineDashOffset,0),s.lineJoin=F(k.lineJoin,"miter"),s.lineWidth=P,s.strokeStyle=F(k.strokeStyle,a),s.setLineDash(F(k.lineDash,[])),r.usePointStyle){const E={radius:m*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:P},C=l.xPlus(S,g/2),O=M+f;ea(s,E,C,O,r.pointStyleWidth&&g)}else{const E=M+Math.max((d-m)/2,0),C=l.leftForLtr(S,g),O=_e(k.borderRadius);s.beginPath(),Object.values(O).some(R=>R!==0)?$n(s,{x:C,y:E,w:g,h:m,radius:O}):s.rect(C,E,g,m),s.fill(),P!==0&&s.stroke()}s.restore()},y=function(S,M,k){nn(s,k.text,S,M+p/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},v=this.isHorizontal(),w=this._computeTitleHeight();v?u={x:rt(o,this.left+h,this.right-i[0]),y:this.top+h+w,line:0}:u={x:this.left+h,y:rt(o,this.top+w+h,this.bottom-n[0].height),line:0},la(this.ctx,t.textDirection);const _=p+h;this.legendItems.forEach((S,M)=>{s.strokeStyle=S.fontColor,s.fillStyle=S.fontColor;const k=s.measureText(S.text).width,P=l.textAlign(S.textAlign||(S.textAlign=r.textAlign)),E=g+f+k;let C=u.x,O=u.y;l.setWidth(this.width),v?M>0&&C+E+h>this.right&&(O=u.y+=_,u.line++,C=u.x=rt(o,this.left+h,this.right-i[u.line])):M>0&&O+_>this.bottom&&(C=u.x=C+n[u.line].width+h,u.line++,O=u.y=rt(o,this.top+w+h,this.bottom-n[u.line].height));const R=l.x(C);if(b(R,O,S),C=jh(P,C+g+f,v?C+E:this.right,t.rtl),y(l.x(C),O,S),v)u.x+=E+h;else if(typeof S.text!="string"){const N=c.lineHeight;u.y+=Ca(S,N)+h}else u.y+=_}),ca(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=lt(n.font),s=wt(n.padding);if(!n.display)return;const o=ve(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=i.size/2,c=s.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=rt(t.align,d,this.right-f);else{const g=this.columnSizes.reduce((m,p)=>Math.max(m,p.height),0);h=c+rt(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}const u=rt(a,d,d+f);r.textAlign=o.textAlign(qi(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=i.string,nn(r,n.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,n=lt(t.font),i=wt(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,s,o;if(Ht(t,this.left,this.right)&&Ht(n,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;i<o.length;++i)if(s=o[i],Ht(t,s.left,s.left+s.width)&&Ht(n,s.top,s.top+s.height))return this.legendItems[i]}return null}handleEvent(t){const n=this.options;if(!Bu(t.type,n))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const s=this._hoveredItem,o=Iu(s,i);s&&!o&&U(n.onLeave,[t,s,this],this),this._hoveredItem=i,i&&!o&&U(n.onHover,[t,i,this],this)}else i&&U(n.onClick,[t,i,this],this)}}function Fu(e,t,n,i,s){const o=$u(i,e,t,n),r=zu(s,i,t.lineHeight);return{itemWidth:o,itemHeight:r}}function $u(e,t,n,i){let s=e.text;return s&&typeof s!="string"&&(s=s.reduce((o,r)=>o.length>r.length?o:r)),t+n.size/2+i.measureText(s).width}function zu(e,t,n){let i=e;return typeof t.text!="string"&&(i=Ca(t,n)),i}function Ca(e,t){const n=e.text?e.text.length:0;return t*n}function Bu(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var _g={id:"legend",_element:No,start(e,t,n){const i=e.legend=new No({ctx:e.ctx,options:n,chart:e});xt.configure(e,i,n),xt.addBox(e,i)},stop(e){xt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;xt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,s=n.chart;s.isDatasetVisible(i)?(s.hide(i),t.hidden=!0):(s.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:s,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),h=wt(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:s||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Pa extends $t{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const s=Z(i.text)?i.text.length:1;this._padding=wt(i.padding);const o=s*lt(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:s,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=rt(a,i,o),d=n+t,c=o-i):(r.position==="left"?(h=i+t,d=rt(a,s,n),l=Q*-.5):(h=o-t,d=rt(a,n,s),l=Q*.5),c=s-n),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=lt(n.font),o=i.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);nn(t,n.text,0,0,i,{color:n.color,maxWidth:l,rotation:c,textAlign:qi(n.align),textBaseline:"middle",translation:[r,a]})}}function Wu(e,t){const n=new Pa({ctx:e.ctx,options:t,chart:e});xt.configure(e,n,t),xt.addBox(e,n),e.titleBlock=n}var vg={id:"title",_element:Pa,start(e,t,n){Wu(e,n)},stop(e){const t=e.titleBlock;xt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;xt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Be={average(e){if(!e.length)return!1;let t,n,i=new Set,s=0,o=0;for(t=0,n=e.length;t<n;++t){const a=e[t].element;if(a&&a.hasValue()){const l=a.tooltipPosition();i.add(l.x),s+=l.y,++o}}return o===0||i.size===0?!1:{x:[...i].reduce((a,l)=>a+l)/i.size,y:s/o}},nearest(e,t){if(!e.length)return!1;let n=t.x,i=t.y,s=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o<r;++o){const l=e[o].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),h=Mi(t,c);h<s&&(s=h,a=l)}}if(a){const l=a.tooltipPosition();n=l.x,i=l.y}return{x:n,y:i}}};function Mt(e,t){return t&&(Z(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function jt(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(` -`)>-1?e.split(` -`):e}function Hu(e,t){const{element:n,datasetIndex:i,index:s}=t,o=e.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(s);return{chart:e,label:r,parsed:o.getParsed(s),raw:e.data.datasets[i].data[s],formattedValue:a,dataset:o.getDataset(),dataIndex:s,datasetIndex:i,element:n}}function Io(e,t){const n=e.chart.ctx,{body:i,footer:s,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=lt(t.bodyFont),c=lt(t.titleFont),h=lt(t.footerFont),d=o.length,f=s.length,u=i.length,g=wt(t.padding);let m=g.height,p=0,b=i.reduce((w,_)=>w+_.before.length+_.lines.length+_.after.length,0);if(b+=e.beforeBody.length+e.afterBody.length,d&&(m+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=u*w+(b-u)*l.lineHeight+(b-1)*t.bodySpacing}f&&(m+=t.footerMarginTop+f*h.lineHeight+(f-1)*t.footerSpacing);let y=0;const v=function(w){p=Math.max(p,n.measureText(w).width+y)};return n.save(),n.font=c.string,V(e.title,v),n.font=l.string,V(e.beforeBody.concat(e.afterBody),v),y=t.displayColors?r+2+t.boxPadding:0,V(i,w=>{V(w.before,v),V(w.lines,v),V(w.after,v)}),y=0,n.font=h.string,V(e.footer,v),n.restore(),p+=g.width,{width:p,height:m}}function Vu(e,t){const{y:n,height:i}=t;return n<i/2?"top":n>e.height-i/2?"bottom":"center"}function Yu(e,t,n,i){const{x:s,width:o}=i,r=n.caretSize+n.caretPadding;if(e==="left"&&s+o+r>t.width||e==="right"&&s-o-r<0)return!0}function Uu(e,t,n,i){const{x:s,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return i==="center"?c=s<=(a+l)/2?"left":"right":s<=o/2?c="left":s>=r-o/2&&(c="right"),Yu(c,e,t,n)&&(c="center"),c}function Fo(e,t,n){const i=n.yAlign||t.yAlign||Vu(e,n);return{xAlign:n.xAlign||t.xAlign||Uu(e,t,n,i),yAlign:i}}function Xu(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function Ku(e,t,n){let{y:i,height:s}=e;return t==="top"?i+=n:t==="bottom"?i-=s+n:i-=s/2,i}function $o(e,t,n,i){const{caretSize:s,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=s+o,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:u}=_e(r);let g=Xu(t,a);const m=Ku(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,f)+s:a==="right"&&(g+=Math.max(d,u)+s),{x:at(g,0,i.width-t.width),y:at(m,0,i.height-t.height)}}function On(e,t,n){const i=wt(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function zo(e){return Mt([],jt(e))}function qu(e,t,n){return ge(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Bo(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Oa={beforeTitle:Tt,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return n[t.dataIndex]}return""},afterTitle:Tt,beforeBody:Tt,beforeLabel:Tt,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return Y(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Tt,afterBody:Tt,beforeFooter:Tt,footer:Tt,afterFooter:Tt};function ht(e,t,n,i){const s=e[t].call(n,i);return typeof s>"u"?Oa[t].call(n,i):s}class Ri extends $t{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&n.options.animation&&i.animations,o=new da(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=qu(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,s=ht(i,"beforeTitle",this,t),o=ht(i,"title",this,t),r=ht(i,"afterTitle",this,t);let a=[];return a=Mt(a,jt(s)),a=Mt(a,jt(o)),a=Mt(a,jt(r)),a}getBeforeBody(t,n){return zo(ht(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,s=[];return V(t,o=>{const r={before:[],lines:[],after:[]},a=Bo(i,o);Mt(r.before,jt(ht(a,"beforeLabel",this,o))),Mt(r.lines,ht(a,"label",this,o)),Mt(r.after,jt(ht(a,"afterLabel",this,o))),s.push(r)}),s}getAfterBody(t,n){return zo(ht(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,s=ht(i,"beforeFooter",this,t),o=ht(i,"footer",this,t),r=ht(i,"afterFooter",this,t);let a=[];return a=Mt(a,jt(s)),a=Mt(a,jt(o)),a=Mt(a,jt(r)),a}_createItems(t){const n=this._active,i=this.chart.data,s=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(Hu(this.chart,n[l]));return t.filter&&(a=a.filter((h,d,f)=>t.filter(h,d,f,i))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,i))),V(a,h=>{const d=Bo(t.callbacks,h);s.push(ht(d,"labelColor",this,h)),o.push(ht(d,"labelPointStyle",this,h)),r.push(ht(d,"labelTextColor",this,h))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const i=this.options.setContext(this.getContext()),s=this._active;let o,r=[];if(!s.length)this.opacity!==0&&(o={opacity:0});else{const a=Be[i.position].call(this,s,this._eventPosition);r=this._createItems(i),this.title=this.getTitle(r,i),this.beforeBody=this.getBeforeBody(r,i),this.body=this.getBody(r,i),this.afterBody=this.getAfterBody(r,i),this.footer=this.getFooter(r,i);const l=this._size=Io(this,i),c=Object.assign({},a,l),h=Fo(this.chart,i,c),d=$o(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,s){const o=this.getCaretPosition(t,i,s);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,i){const{xAlign:s,yAlign:o}=this,{caretSize:r,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=_e(a),{x:f,y:u}=t,{width:g,height:m}=n;let p,b,y,v,w,_;return o==="center"?(w=u+m/2,s==="left"?(p=f,b=p-r,v=w+r,_=w-r):(p=f+g,b=p+r,v=w-r,_=w+r),y=p):(s==="left"?b=f+Math.max(l,h)+r:s==="right"?b=f+g-Math.max(c,d)-r:b=this.caretX,o==="top"?(v=u,w=v-r,p=b-r,y=b+r):(v=u+m,w=v+r,p=b+r,y=b-r),_=v),{x1:p,x2:b,x3:y,y1:v,y2:w,y3:_}}drawTitle(t,n,i){const s=this.title,o=s.length;let r,a,l;if(o){const c=ve(i.rtl,this.x,this.width);for(t.x=On(this,i.titleAlign,i),n.textAlign=c.textAlign(i.titleAlign),n.textBaseline="middle",r=lt(i.titleFont),a=i.titleSpacing,n.fillStyle=i.titleColor,n.font=r.string,l=0;l<o;++l)n.fillText(s[l],c.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+a,l+1===o&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,n,i,s,o){const r=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:l,boxWidth:c}=o,h=lt(o.bodyFont),d=On(this,"left",o),f=s.x(d),u=l<h.lineHeight?(h.lineHeight-l)/2:0,g=n.y+u;if(o.usePointStyle){const m={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},p=s.leftForLtr(f,c)+c/2,b=g+l/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Pi(t,m,p,b),t.strokeStyle=r.borderColor,t.fillStyle=r.backgroundColor,Pi(t,m,p,b)}else{t.lineWidth=z(r.borderWidth)?Math.max(...Object.values(r.borderWidth)):r.borderWidth||1,t.strokeStyle=r.borderColor,t.setLineDash(r.borderDash||[]),t.lineDashOffset=r.borderDashOffset||0;const m=s.leftForLtr(f,c),p=s.leftForLtr(s.xPlus(f,1),c-2),b=_e(r.borderRadius);Object.values(b).some(y=>y!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,$n(t,{x:m,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),$n(t,{x:p,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,g,c,l),t.strokeRect(m,g,c,l),t.fillStyle=r.backgroundColor,t.fillRect(p,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:s}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,d=lt(i.bodyFont);let f=d.lineHeight,u=0;const g=ve(i.rtl,this.x,this.width),m=function(k){n.fillText(k,g.x(t.x+u),t.y+f/2),t.y+=f+o},p=g.textAlign(r);let b,y,v,w,_,S,M;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=On(this,p,i),n.fillStyle=i.bodyColor,V(this.beforeBody,m),u=a&&p!=="right"?r==="center"?c/2+h:c+2+h:0,w=0,S=s.length;w<S;++w){for(b=s[w],y=this.labelTextColors[w],n.fillStyle=y,V(b.before,m),v=b.lines,a&&v.length&&(this._drawColorBox(n,t,w,g,i),f=Math.max(d.lineHeight,l)),_=0,M=v.length;_<M;++_)m(v[_]),f=d.lineHeight;V(b.after,m)}u=0,f=d.lineHeight,V(this.afterBody,m),t.y-=o}drawFooter(t,n,i){const s=this.footer,o=s.length;let r,a;if(o){const l=ve(i.rtl,this.x,this.width);for(t.x=On(this,i.footerAlign,i),t.y+=i.footerMarginTop,n.textAlign=l.textAlign(i.footerAlign),n.textBaseline="middle",r=lt(i.footerFont),n.fillStyle=i.footerColor,n.font=r.string,a=0;a<o;++a)n.fillText(s[a],l.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+i.footerSpacing}}drawBackground(t,n,i,s){const{xAlign:o,yAlign:r}=this,{x:a,y:l}=t,{width:c,height:h}=i,{topLeft:d,topRight:f,bottomLeft:u,bottomRight:g}=_e(s.cornerRadius);n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,n.lineWidth=s.borderWidth,n.beginPath(),n.moveTo(a+d,l),r==="top"&&this.drawCaret(t,n,i,s),n.lineTo(a+c-f,l),n.quadraticCurveTo(a+c,l,a+c,l+f),r==="center"&&o==="right"&&this.drawCaret(t,n,i,s),n.lineTo(a+c,l+h-g),n.quadraticCurveTo(a+c,l+h,a+c-g,l+h),r==="bottom"&&this.drawCaret(t,n,i,s),n.lineTo(a+u,l+h),n.quadraticCurveTo(a,l+h,a,l+h-u),r==="center"&&o==="left"&&this.drawCaret(t,n,i,s),n.lineTo(a,l+d),n.quadraticCurveTo(a,l,a+d,l),n.closePath(),n.fill(),s.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,s=i&&i.x,o=i&&i.y;if(s||o){const r=Be[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Io(this,t),l=Object.assign({},r,this._size),c=Fo(n,t,l),h=$o(t,l,c,n);(s._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const r=wt(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(o,t,s,n),la(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),ca(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,s=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Nn(i,s),r=this._positionChanged(s,n);(o||r)&&(this._active=s,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,i),a=this._positionChanged(r,t),l=n||!Nn(r,o)||a;return l&&(this._active=r,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,i,s){const o=this.options;if(t.type==="mouseout")return[];if(!s)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:i,caretY:s,options:o}=this,r=Be[o.position].call(this,t,n);return r!==!1&&(i!==r.x||s!==r.y)}}j(Ri,"positioners",Be);var wg={id:"tooltip",_element:Ri,positioners:Be,afterInit(e,t,n){n&&(e.tooltip=new Ri({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Oa},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const Gu=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function Ju(e,t,n,i){const s=e.indexOf(t);if(s===-1)return Gu(e,t,n,i);const o=e.lastIndexOf(t);return s!==o?n:s}const Zu=(e,t)=>e===null?null:at(Math.round(e),0,t);function Wo(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Ho extends De{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const i=this.getLabels();for(const{index:s,label:o}of n)i[s]===o&&i.splice(s,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(Y(t))return null;const i=this.getLabels();return n=isFinite(n)&&i[n]===t?n:Ju(i,t,F(n,t),this._addedLabels),Zu(n,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),n||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,n=this.max,i=this.options.offset,s=[];let o=this.getLabels();o=t===0&&n===o.length-1?o:o.slice(t,n+1),this._valueRange=Math.max(o.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let r=t;r<=n;r++)s.push({value:r});return s}getLabelForValue(t){return Wo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}j(Ho,"id","category"),j(Ho,"defaults",{ticks:{callback:Wo}});function Qu(e,t){const n=[],{bounds:s,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:f}=e,u=o||1,g=h-1,{min:m,max:p}=t,b=!Y(r),y=!Y(a),v=!Y(c),w=(p-m)/(d+1);let _=Hs((p-m)/g/u)*u,S,M,k,P;if(_<1e-14&&!b&&!y)return[{value:m},{value:p}];P=Math.ceil(p/_)-Math.floor(m/_),P>g&&(_=Hs(P*_/g/u)*u),Y(l)||(S=Math.pow(10,l),_=Math.ceil(_*S)/S),s==="ticks"?(M=Math.floor(m/_)*_,k=Math.ceil(p/_)*_):(M=m,k=p),b&&y&&o&&Mh((a-r)/o,_/1e3)?(P=Math.round(Math.min((a-r)/_,h)),_=(a-r)/P,M=r,k=a):v?(M=b?r:M,k=y?a:k,P=c-1,_=(k-M)/P):(P=(k-M)/_,Ue(P,Math.round(P),_/1e3)?P=Math.round(P):P=Math.ceil(P));const E=Math.max(Vs(_),Vs(M));S=Math.pow(10,Y(l)?E:l),M=Math.round(M*S)/S,k=Math.round(k*S)/S;let C=0;for(b&&(f&&M!==r?(n.push({value:r}),M<r&&C++,Ue(Math.round((M+C*_)*S)/S,r,Vo(r,w,e))&&C++):M<r&&C++);C<P;++C){const O=Math.round((M+C*_)*S)/S;if(y&&O>a)break;n.push({value:O})}return y&&f&&k!==a?n.length&&Ue(n[n.length-1].value,a,Vo(a,w,e))?n[n.length-1].value=a:n.push({value:a}):(!y||k===a)&&n.push({value:k}),n}function Vo(e,t,{horizontal:n,minRotation:i}){const s=le(i),o=(n?Math.sin(s):Math.cos(s))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class tp extends De{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return Y(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:s,max:o}=this;const r=l=>s=n?s:l,a=l=>o=i?o:l;if(t){const l=Dt(s),c=Dt(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(s===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(s-l)}this.min=s,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,s;return i?(s=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,s>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${s} ticks. Limiting to 1000.`),s=1e3)):(s=this.computeTickLimit(),n=n||11),n&&(s=Math.min(n,s)),s}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=Qu(s,o);return t.bounds==="ticks"&&Ch(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-n)/Math.max(t.length-1,1)/2;n-=s,i+=s}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return Zr(t,this.chart.options.locale,this.options.ticks.format)}}class Yo extends tp{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=vt(t)?t:0,this.max=vt(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=le(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,o.lineHeight/s))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}j(Yo,"id","linear"),j(Yo,"defaults",{ticks:{callback:ta.formatters.numeric}});const qn={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},dt=Object.keys(qn);function Uo(e,t){return e-t}function Xo(e,t){if(Y(t))return null;const n=e._adapter,{parser:i,round:s,isoWeekday:o}=e._parseOpts;let r=t;return typeof i=="function"&&(r=i(r)),vt(r)||(r=typeof i=="string"?n.parse(r,i):n.parse(r)),r===null?null:(s&&(r=s==="week"&&(tn(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,s)),+r)}function Ko(e,t,n,i){const s=dt.length;for(let o=dt.indexOf(e);o<s-1;++o){const r=qn[dt[o]],a=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((n-t)/(a*r.size))<=i)return dt[o]}return dt[s-1]}function ep(e,t,n,i,s){for(let o=dt.length-1;o>=dt.indexOf(n);o--){const r=dt[o];if(qn[r].common&&e._adapter.diff(s,i,r)>=t-1)return r}return dt[n?dt.indexOf(n):0]}function np(e){for(let t=dt.indexOf(e)+1,n=dt.length;t<n;++t)if(qn[dt[t]].common)return dt[t]}function qo(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:i,hi:s}=Ki(n,t),o=n[i]>=t?n[i]:n[s];e[o]=!0}}function ip(e,t,n,i){const s=e._adapter,o=+s.startOf(t[0].value,i),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+s.add(a,1,i))l=n[a],l>=0&&(t[l].major=!0);return t}function Go(e,t,n){const i=[],s={},o=t.length;let r,a;for(r=0;r<o;++r)a=t[r],s[a]=r,i.push({value:a,major:!1});return o===0||!n?i:ip(e,i,s,n)}class Hn extends De{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const i=t.time||(t.time={}),s=this._adapter=new lf._date(t.adapters.date);s.init(n),Ye(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:Xo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,i=t.time.unit||"day";let{min:s,max:o,minDefined:r,maxDefined:a}=this.getUserBounds();function l(c){!r&&!isNaN(c.min)&&(s=Math.min(s,c.min)),!a&&!isNaN(c.max)&&(o=Math.max(o,c.max))}(!r||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),s=vt(s)&&!isNaN(s)?s:+n.startOf(Date.now(),i),o=vt(o)&&!isNaN(o)?o:+n.endOf(Date.now(),i)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],i=t[t.length-1]),{min:n,max:i}}buildTicks(){const t=this.options,n=t.time,i=t.ticks,s=i.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,r=this.max,a=Rh(s,o,r);return this._unit=n.unit||(i.autoSkip?Ko(n.minUnit,this.min,this.max,this._getLabelCapacity(o)):ep(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!i.major.enabled||this._unit==="year"?void 0:np(this._unit),this.initOffsets(s),t.reverse&&a.reverse(),Go(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,i=0,s,o;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),t.length===1?n=1-s:n=(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=at(n,0,r),i=at(i,0,r),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,s=this.options,o=s.time,r=o.unit||Ko(o.minUnit,n,i,this._getLabelCapacity(n)),a=F(s.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=tn(l)||l===!0,h={};let d=n,f,u;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(i,n,r)>1e5*a)throw new Error(n+" and "+i+" are too far apart with stepSize of "+a+" "+r);const g=s.ticks.source==="data"&&this.getDataTimestamps();for(f=d,u=0;f<i;f=+t.add(f,a,r),u++)qo(h,f,g);return(f===i||s.bounds==="ticks"||u===1)&&qo(h,f,g),Object.keys(h).sort(Uo).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const s=this.options.time.displayFormats,o=this._unit,r=n||s[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,i,s){const o=this.options,r=o.ticks.callback;if(r)return U(r,[t,n,i],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],d=c&&a[c],f=i[n],u=c&&d&&f&&f.major;return this._adapter.format(t,s||(u?d:h))}generateTickLabels(t){let n,i,s;for(n=0,i=t.length;n<i;++n)s=t[n],s.label=this._tickFormatFunction(s.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+i)*n.factor)}getValueForPixel(t){const n=this._offsets,i=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,i=this.ctx.measureText(t).width,s=le(this.isHorizontal()?n.maxRotation:n.minRotation),o=Math.cos(s),r=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*o+a*r,h:i*r+a*o}}_getLabelCapacity(t){const n=this.options.time,i=n.displayFormats,s=i[n.unit]||i.millisecond,o=this._tickFormatFunction(t,0,Go(this,[t],this._majorUnit),s),r=this._getLabelSize(o),a=Math.floor(this.isHorizontal()?this.width/r.w:this.height/r.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(n=0,i=s.length;n<i;++n)t=t.concat(s[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,i;if(t.length)return t;const s=this.getLabels();for(n=0,i=s.length;n<i;++n)t.push(Xo(this,s[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return qr(t.sort(Uo))}}j(Hn,"id","time"),j(Hn,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function En(e,t,n){let i=0,s=e.length-1,o,r,a,l;n?(t>=e[i].pos&&t<=e[s].pos&&({lo:i,hi:s}=ce(e,"pos",t)),{pos:o,time:a}=e[i],{pos:r,time:l}=e[s]):(t>=e[i].time&&t<=e[s].time&&({lo:i,hi:s}=ce(e,"time",t)),{time:o,pos:a}=e[i],{time:r,pos:l}=e[s]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Jo extends Hn{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=En(n,this.min),this._tableRange=En(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,s=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r<a;++r)c=t[r],c>=n&&c<=i&&s.push(c);if(s.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(r=0,a=s.length;r<a;++r)h=s[r+1],l=s[r-1],c=s[r],Math.round((h+l)/2)!==c&&o.push({time:c,pos:r/(a-1)});return o}_generate(){const t=this.min,n=this.max;let i=super.getDataTimestamps();return(!i.includes(t)||!i.length)&&i.splice(0,0,t),(!i.includes(n)||i.length===1)&&i.push(n),i.sort((s,o)=>s-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),i=this.getLabelTimestamps();return n.length&&i.length?t=this.normalize(n.concat(i)):t=n.length?n:i,t=this._cache.all=t,t}getDecimalForValue(t){return(En(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,i=this.getDecimalForPixel(t)/n.factor-n.end;return En(this._table,i*this._tableRange+this._minPos,!0)}}j(Jo,"id","timeseries"),j(Jo,"defaults",Hn.defaults);var se={},Zo;function sp(){if(Zo)return se;Zo=1,Object.defineProperty(se,"__esModule",{value:!0}),se.cartesianProductGenerator=se.cartesianProduct=void 0;function e(...i){if(!Array.isArray(i))throw new TypeError("Please, send an array.");const[s,o,...r]=i,a=n(s,o);return r.length?e(a,...r):a}se.cartesianProduct=e;function*t(...i){if(!Array.isArray(i))throw new TypeError("Please, send an array.");const[s,o,...r]=i,a=n(s,o);yield a,r.length&&(yield*t(a,...r))}se.cartesianProductGenerator=t;function n(i,s){const o=[];for(let r=0;r<i.length;r++){if(!s){o.push([i[r]]);continue}for(let a=0;a<s.length;a++)Array.isArray(i[r])?o.push([...i[r],s[a]]):o.push([i[r],s[a]])}return o}return se}var rs=sp();const op=function(e){let t=0;for(let i=0;i<e.length;i++)t=e.charCodeAt(i)+((t<<5)-t);let n="#";for(let i=0;i<3;i++){const o="00"+(t>>i*8&255).toString(16);n+=o.substring(o.length-2)}return n};function Sg(e,t=(n,i)=>{}){const n=new Map;for(const[i,s]of e){const o=new Map;for(const[r,a]of s){const l=new Map;for(const[c,h]of a){const d=t(r,h);if(d){l.set(c,{tooltip:d});continue}l.set(c,{})}o.set(r,l)}n.set(i,o)}return n}function kg(e){const t=new Map;return e.forEach(n=>{const i=t.get(n.nren);(!i||i.year<n.year)&&t.set(n.nren,n)}),Array.from(t.values())}function Mg(e){return e.match(/^[a-zA-Z]+:\/\//)?e:"https://"+e}const Cg=e=>{const t={};return!e.urls&&!e.url||(e.urls&&e.urls.forEach(n=>{t[n]=n}),e.url&&(t[e.url]=e.url)),t};function Pg(e){const t=new Map;return e.forEach(n=>{let i=t.get(n.nren);i||(i=new Map);let s=i.get(n.year);s||(s=[]),s.push(n),i.set(n.year,s),t.set(n.nren,i)}),t}function Re(e){const t=new Map;return e.forEach(n=>{let i=t.get(n.nren);i||(i=new Map),i.set(n.year,n),t.set(n.nren,i)}),t}function Og(e,t){const n=new Map;return e.forEach((i,s)=>{const o=new Map;Array.from(i.keys()).sort((a,l)=>l-a).forEach(a=>{const l=i.get(a),c=o.get(a)||{};t(c,l),Object.keys(c).length>0&&o.set(a,c)}),n.set(s,o)}),n}function Eg(e,t,n=!1){const i=new Map;return e.forEach(s=>{const o=a=>{let l=i.get(s.nren);l||(l=new Map);let c=l.get(a);c||(c=new Map),c.set(s.year,s),l.set(a,c),i.set(s.nren,l)};let r=s[t];typeof r=="boolean"&&(r=r?"True":"False"),n&&r==null&&(r=`${r}`),Array.isArray(r)?r.forEach(o):o(r)}),i}function Dg(e,t,n,i=!0,s){const o=new Map,r=(a,l,c)=>{a.forEach(h=>{let d=l?h[l]:c;typeof d=="boolean"&&(d=d?"True":"False");const f=h.nren,u=h.year,g=o.get(f)||new Map,m=g.get(u)||new Map,p=m.get(d)||{},b=h[c];if(b==null)return;const y=i?b:c,v=p[y]||{};v[`${b}`]=b,p[y]=v,m.set(d,p),g.set(u,m),o.set(f,g)})};if(n)for(const a of t)r(e,n,a);else for(const a of t)r(e,void 0,a);return o}const Rg=e=>{function t(){const d=(u,g,m)=>"#"+[u,g,m].map(p=>{const b=p.toString(16);return b.length===1?"0"+b:b}).join(""),f=new Map;return f.set("client_institutions",d(157,40,114)),f.set("commercial",d(241,224,79)),f.set("european_funding",d(219,42,76)),f.set("gov_public_bodies",d(237,141,24)),f.set("other",d(137,166,121)),f}const n=Re(e),i=t(),s=[...new Set(e.map(d=>d.year))].sort(),o=[...new Set(e.map(d=>d.nren))].sort(),r={client_institutions:"Client Institutions",commercial:"Commercial",european_funding:"European Funding",gov_public_bodies:"Government/Public Bodies",other:"Other"},a=Object.keys(r),l=rs.cartesianProduct(Object.keys(r),s).reduce((d,[f,u])=>{const g=`${f},${u}`;return d[g]={},d},{});return n.forEach((d,f)=>{d.forEach((u,g)=>{const m=a.map(b=>u[b]||0);if(m.reduce((b,y)=>b+y,0)!==0)for(const b of a){const y=`${b},${g}`,v=a.indexOf(b);l[y][f]=m[v]}})}),{datasets:Array.from(Object.entries(l)).map(([d,f])=>{const[u,g]=d.split(",");return{backgroundColor:i.get(u)||"black",label:r[u]+" ("+g+")",data:o.map(p=>f[p]),stack:g,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:u==a[0],formatter:function(p,b){return b.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(p){return p.chart.chartArea.width}}}}),labels:o.map(d=>d.toString())}};function Tg(e,t){const n=[...new Set(e.map(r=>r.year))].sort(),i=[...new Set(e.map(r=>r.nren))].sort(),s=Re(e);return{datasets:i.map(r=>{const a=op(r);return{backgroundColor:a,borderColor:a,data:n.map(l=>{const c=s.get(r);if(!c)return null;const h=c.get(l);return h?h[t]:null}),label:r,hidden:!1}}),labels:n.map(r=>r.toString())}}const Ag=(e,t,n)=>{let i;t?i=["Technical FTE","Non-technical FTE"]:i=["Permanent FTE","Subcontracted FTE"];const s={"Technical FTE":"technical_fte","Non-technical FTE":"non_technical_fte","Permanent FTE":"permanent_fte","Subcontracted FTE":"subcontracted_fte"},[o,r]=i,[a,l]=[s[o],s[r]];function c(p){const b=p[a],y=p[l],v=b+y,w=(b/v||0)*100,_=(y/v||0)*100,S={};return S[o]=Math.round(Math.floor(w*100))/100,S[r]=Math.round(Math.floor(_*100))/100,S}const h=Re(e),d=[n].sort(),f=[...new Set(e.map(p=>p.nren))].sort((p,b)=>p.localeCompare(b));return{datasets:rs.cartesianProduct(i,d).map(function([p,b]){let y="";return p==="Technical FTE"?y="rgba(40, 40, 250, 0.8)":p==="Permanent FTE"?y="rgba(159, 129, 235, 1)":p==="Subcontracted FTE"?y="rgba(173, 216, 229, 1)":p==="Non-technical FTE"&&(y="rgba(116, 216, 242, 0.54)"),{backgroundColor:y,label:`${p} (${b})`,data:f.map(v=>{const w=h.get(v).get(b);return w?c(w)[p]:0}),stack:b,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1}}),labels:f}},jg=(e,t)=>{const n=["Research & Education","Commodity"],i={"Research & Education":"r_and_e_percentage",Commodity:"commodity_percentage"},s=Re(e),o=[t].sort(),r=[...new Set(e.map(h=>h.nren))].sort((h,d)=>h.localeCompare(d));return{datasets:rs.cartesianProduct(n,o).map(function([h,d]){let f="";return h==="Research & Education"?f="rgba(40, 40, 250, 0.8)":h==="Commodity"&&(f="rgba(116, 216, 242, 0.54)"),{backgroundColor:f,label:`${h} (${d})`,data:r.map(u=>{const g=s.get(u).get(d);return g?g[i[h]]:0}),stack:d,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1}}),labels:r}},Lg=(e,t)=>{const n=["Permanent FTE","Subcontracted FTE"],i={"Technical FTE":"technical_fte","Non-technical FTE":"non_technical_fte","Permanent FTE":"permanent_fte","Subcontracted FTE":"subcontracted_fte"},[s,o]=n,[r,a]=[i[s],i[o]],l=Re(e),c=[...new Set(e.map(u=>u.nren))].sort((u,g)=>u.localeCompare(g));function h(u,g){return{backgroundColor:"rgba(219, 42, 76, 1)",label:`Number of FTEs (${u})`,data:c.map(p=>{const b=l.get(p).get(u);return b?(b[r]??0)+(b[a]??0):0}),stack:`${u}`,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:!0,formatter:function(p,b){return b.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(p){return p.chart.chartArea.width}}}}return{datasets:t.sort().map(h),labels:c}},Ng=(e,t,n)=>{const i=Re(e),s=[...new Set(e.map(l=>l.nren))].sort((l,c)=>l.localeCompare(c)),o=[...new Set(e.map(l=>l.year))].sort();function r(l,c){return{backgroundColor:"rgba(219, 42, 76, 1)",label:`${n} (${l})`,data:s.map(d=>{const f=i.get(d).get(l);return f?f[t]??0:0}),stack:`${l}`,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:!0,formatter:function(d,f){return f.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(d){return d.chart.chartArea.width}}}}return{datasets:o.sort().map(r),labels:s}},rp=()=>{const e=St.c(13);let t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x.jsx("h5",{children:"Organisation"}),n=x.jsx("h6",{className:"section-title",children:"Budget, Income and Billing"}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=x.jsx(T,{to:"/budget",children:x.jsx("span",{children:"Budget of NRENs per Year"})}),e[2]=i):i=e[2];let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=x.jsx(T,{to:"/funding",children:x.jsx("span",{children:"Income Source of NRENs"})}),e[3]=s):s=e[3];let o,r,a;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=x.jsx(T,{to:"/charging",children:x.jsx("span",{children:"Charging Mechanism of NRENs"})}),r=x.jsx("hr",{className:"fake-divider"}),a=x.jsx("h6",{className:"section-title",children:"Staff and Projects"}),e[4]=o,e[5]=r,e[6]=a):(o=e[4],r=e[5],a=e[6]);let l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(T,{to:"/employee-count",children:x.jsx("span",{children:"Number of NREN Employees"})}),e[7]=l):l=e[7];let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=x.jsx(T,{to:"/roles",children:x.jsx("span",{children:"Roles of NREN employees (Technical v. Non-Technical)"})}),e[8]=c):c=e[8];let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=x.jsx(T,{to:"/employment",children:x.jsx("span",{children:"Types of Employment within NRENs"})}),e[9]=h):h=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=x.jsx(T,{to:"/suborganisations",children:x.jsx("span",{children:"NREN Sub-Organisations"})}),e[10]=d):d=e[10];let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=x.jsx(T,{to:"/parentorganisation",children:x.jsx("span",{children:"NREN Parent Organisations"})}),e[11]=f):f=e[11];let u;return e[12]===Symbol.for("react.memo_cache_sentinel")?(u=x.jsxs(on,{children:[t,n,i,s,o,r,a,l,c,h,d,f,x.jsx(T,{to:"/ec-projects",children:x.jsx("span",{children:"NREN Involvement in European Commission Projects"})})]}),e[12]=u):u=e[12],u},ap=e=>{const t=St.c(41),{activeCategory:n}=e,i=Za();let s;t[0]!==n||t[1]!==i?(s=()=>i(n===J.Organisation?".":"/funding"),t[0]=n,t[1]=i,t[2]=s):s=t[2];const o=n===J.Organisation;let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx("span",{children:J.Organisation}),t[3]=r):r=t[3];let a;t[4]!==s||t[5]!==o?(a=x.jsx(Nt,{onClick:s,variant:"nav-box",active:o,children:r}),t[4]=s,t[5]=o,t[6]=a):a=t[6];let l;t[7]!==n||t[8]!==i?(l=()=>i(n===J.Policy?".":"/policy"),t[7]=n,t[8]=i,t[9]=l):l=t[9];const c=n===J.Policy;let h;t[10]===Symbol.for("react.memo_cache_sentinel")?(h=x.jsx("span",{children:J.Policy}),t[10]=h):h=t[10];let d;t[11]!==l||t[12]!==c?(d=x.jsx(Nt,{onClick:l,variant:"nav-box",active:c,children:h}),t[11]=l,t[12]=c,t[13]=d):d=t[13];let f;t[14]!==n||t[15]!==i?(f=()=>i(n===J.ConnectedUsers?".":"/institutions-urls"),t[14]=n,t[15]=i,t[16]=f):f=t[16];const u=n===J.ConnectedUsers;let g;t[17]===Symbol.for("react.memo_cache_sentinel")?(g=x.jsx("span",{children:J.ConnectedUsers}),t[17]=g):g=t[17];let m;t[18]!==u||t[19]!==f?(m=x.jsx(Nt,{onClick:f,variant:"nav-box",active:u,children:g}),t[18]=u,t[19]=f,t[20]=m):m=t[20];let p;t[21]!==n||t[22]!==i?(p=()=>i(n===J.Network?".":"/traffic-volume"),t[21]=n,t[22]=i,t[23]=p):p=t[23];const b=n===J.Network;let y;t[24]===Symbol.for("react.memo_cache_sentinel")?(y=x.jsx("span",{children:J.Network}),t[24]=y):y=t[24];let v;t[25]!==p||t[26]!==b?(v=x.jsx(Nt,{onClick:p,variant:"nav-box",active:b,children:y}),t[25]=p,t[26]=b,t[27]=v):v=t[27];let w;t[28]!==n||t[29]!==i?(w=()=>i(n===J.Services?".":"/network-services"),t[28]=n,t[29]=i,t[30]=w):w=t[30];const _=n===J.Services;let S;t[31]===Symbol.for("react.memo_cache_sentinel")?(S=x.jsx("span",{children:J.Services}),t[31]=S):S=t[31];let M;t[32]!==w||t[33]!==_?(M=x.jsx(Nt,{onClick:w,variant:"nav-box",active:_,children:S}),t[32]=w,t[33]=_,t[34]=M):M=t[34];let k;return t[35]!==m||t[36]!==v||t[37]!==M||t[38]!==a||t[39]!==d?(k=x.jsx(hr,{children:x.jsx(oe,{children:x.jsxs(Ai,{className:"navbox-bar gap-2 m-3",children:[a,d,m,v,M]})})}),t[35]=m,t[36]=v,t[37]=M,t[38]=a,t[39]=d,t[40]=k):k=t[40],k},lp=()=>{const e=St.c(13);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x.jsx("h5",{children:"Standards and Policies"}),e[0]=t):t=e[0];let n,i;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=x.jsx(T,{to:"/policy",children:x.jsx("span",{children:"NREN Policies"})}),i=x.jsx("h6",{className:"section-title",children:"Standards"}),e[1]=n,e[2]=i):(n=e[1],i=e[2]);let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=x.jsx(T,{to:"/audits",children:x.jsx("span",{children:"External and Internal Audits of Information Security Management Systems"})}),e[3]=s):s=e[3];let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=x.jsx(T,{to:"/business-continuity",children:x.jsx("span",{children:"NREN Business Continuity Planning"})}),e[4]=o):o=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx(T,{to:"/central-procurement",children:x.jsx("span",{children:"Central Procurement of Software"})}),e[5]=r):r=e[5];let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=x.jsx(T,{to:"/crisis-management",children:x.jsx("span",{children:"Crisis Management Procedures"})}),e[6]=a):a=e[6];let l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(T,{to:"/crisis-exercise",children:x.jsx("span",{children:"Crisis Exercises - NREN Operation and Participation"})}),e[7]=l):l=e[7];let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=x.jsx(T,{to:"/security-control",children:x.jsx("span",{children:"Security Controls Used by NRENs"})}),e[8]=c):c=e[8];let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=x.jsx(T,{to:"/services-offered",children:x.jsx("span",{children:"Services Offered by NRENs by Types of Users"})}),e[9]=h):h=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=x.jsx(T,{to:"/corporate-strategy",children:x.jsx("span",{children:"NREN Corporate Strategies "})}),e[10]=d):d=e[10];let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=x.jsx(T,{to:"/service-level-targets",children:x.jsx("span",{children:"NRENs Offering Service Level Targets"})}),e[11]=f):f=e[11];let u;return e[12]===Symbol.for("react.memo_cache_sentinel")?(u=x.jsxs(on,{children:[t,n,i,s,o,r,a,l,c,h,d,f,x.jsx(T,{to:"/service-management-framework",children:x.jsx("span",{children:"NRENs Operating a Formal Service Management Framework"})})]}),e[12]=u):u=e[12],u},cp=()=>{const e=St.c(34);let t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x.jsx("h5",{children:"Network"}),n=x.jsx("h6",{className:"section-title",children:"Connectivity"}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=x.jsx(T,{to:"/traffic-volume",children:x.jsx("span",{children:"NREN Traffic - NREN Customers & External Networks"})}),e[2]=i):i=e[2];let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=x.jsx(T,{to:"/iru-duration",children:x.jsx("span",{children:"Average Duration of IRU leases of Fibre by NRENs"})}),e[3]=s):s=e[3];let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=x.jsx(T,{to:"/fibre-light",children:x.jsx("span",{children:"Approaches to lighting NREN fibre networks"})}),e[4]=o):o=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx(T,{to:"/dark-fibre-lease",children:x.jsx("span",{children:"Kilometres of Leased Dark Fibre (National)"})}),e[5]=r):r=e[5];let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=x.jsx(T,{to:"/dark-fibre-lease-international",children:x.jsx("span",{children:"Kilometres of Leased Dark Fibre (International)"})}),e[6]=a):a=e[6];let l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(T,{to:"/dark-fibre-installed",children:x.jsx("span",{children:"Kilometres of Installed Dark Fibre"})}),e[7]=l):l=e[7];let c,h,d;e[8]===Symbol.for("react.memo_cache_sentinel")?(h=x.jsx(T,{to:"/network-map",children:x.jsx("span",{children:"NREN Network Maps"})}),d=x.jsx("hr",{className:"fake-divider"}),c=x.jsx("h6",{className:"section-title",children:"Performance Monitoring & Management"}),e[8]=c,e[9]=h,e[10]=d):(c=e[8],h=e[9],d=e[10]);let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=x.jsx(T,{to:"/monitoring-tools",children:x.jsx("span",{children:"Tools for Monitoring or Troubleshooting the Network - Offered to Client Institutions"})}),e[11]=f):f=e[11];let u;e[12]===Symbol.for("react.memo_cache_sentinel")?(u=x.jsx(T,{to:"/pert-team",children:x.jsx("span",{children:"NRENs with Performance Enhancement Response Teams"})}),e[12]=u):u=e[12];let g;e[13]===Symbol.for("react.memo_cache_sentinel")?(g=x.jsx(T,{to:"/passive-monitoring",children:x.jsx("span",{children:"Methods for Passively Monitoring International Traffic"})}),e[13]=g):g=e[13];let m;e[14]===Symbol.for("react.memo_cache_sentinel")?(m=x.jsx(T,{to:"/traffic-stats",children:x.jsx("span",{children:"Traffic Statistics "})}),e[14]=m):m=e[14];let p;e[15]===Symbol.for("react.memo_cache_sentinel")?(p=x.jsx(T,{to:"/weather-map",children:x.jsx("span",{children:"NREN Online Network Weather Maps "})}),e[15]=p):p=e[15];let b;e[16]===Symbol.for("react.memo_cache_sentinel")?(b=x.jsx(T,{to:"/certificate-providers",children:x.jsx("span",{children:"Certification Services used by NRENs"})}),e[16]=b):b=e[16];let y,v,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(y=x.jsx(T,{to:"/siem-vendors",children:x.jsx("span",{children:"Vendors of SIEM/SOC systems used by NRENs"})}),v=x.jsx("hr",{className:"fake-divider"}),w=x.jsx("h6",{className:"section-title",children:"Alienwave"}),e[17]=y,e[18]=v,e[19]=w):(y=e[17],v=e[18],w=e[19]);let _;e[20]===Symbol.for("react.memo_cache_sentinel")?(_=x.jsx(T,{to:"/alien-wave",children:x.jsx("span",{children:"NREN Use of 3rd Party Alienwave/Lightpath Services"})}),e[20]=_):_=e[20];let S,M,k;e[21]===Symbol.for("react.memo_cache_sentinel")?(S=x.jsx(T,{to:"/alien-wave-internal",children:x.jsx("span",{children:"Internal NREN Use of Alien Waves"})}),M=x.jsx("hr",{className:"fake-divider"}),k=x.jsx("h6",{className:"section-title",children:"Capacity"}),e[21]=S,e[22]=M,e[23]=k):(S=e[21],M=e[22],k=e[23]);let P;e[24]===Symbol.for("react.memo_cache_sentinel")?(P=x.jsx(T,{to:"/capacity-largest-link",children:x.jsx("span",{children:"Capacity of the Largest Link in an NREN Network"})}),e[24]=P):P=e[24];let E;e[25]===Symbol.for("react.memo_cache_sentinel")?(E=x.jsx(T,{to:"/external-connections",children:x.jsx("span",{children:"NREN External IP Connections"})}),e[25]=E):E=e[25];let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=x.jsx(T,{to:"/capacity-core-ip",children:x.jsx("span",{children:"NREN Core IP Capacity"})}),e[26]=C):C=e[26];let O;e[27]===Symbol.for("react.memo_cache_sentinel")?(O=x.jsx(T,{to:"/non-rne-peers",children:x.jsx("span",{children:"Number of Non-R&E Networks NRENs Peer With"})}),e[27]=O):O=e[27];let R,N,A;e[28]===Symbol.for("react.memo_cache_sentinel")?(R=x.jsx(T,{to:"/traffic-ratio",children:x.jsx("span",{children:"Types of traffic in NREN networks"})}),N=x.jsx("hr",{className:"fake-divider"}),A=x.jsx("h6",{className:"section-title",children:"Software-Defined Networking (SDN) & Network Function Virtualisation(NFV)"}),e[28]=R,e[29]=N,e[30]=A):(R=e[28],N=e[29],A=e[30]);let L;e[31]===Symbol.for("react.memo_cache_sentinel")?(L=x.jsx(T,{to:"/ops-automation",children:x.jsx("span",{children:"NREN Automation of Operational Processes"})}),e[31]=L):L=e[31];let I;e[32]===Symbol.for("react.memo_cache_sentinel")?(I=x.jsx(T,{to:"/network-automation",children:x.jsx("span",{children:"Network Tasks for which NRENs Use Automation "})}),e[32]=I):I=e[32];let W;return e[33]===Symbol.for("react.memo_cache_sentinel")?(W=x.jsxs(on,{children:[t,n,i,s,o,r,a,l,h,d,c,f,u,g,m,p,b,y,v,w,_,S,M,k,P,E,C,O,R,N,A,L,I,x.jsx(T,{to:"/nfv",children:x.jsx("span",{children:"Kinds of Network Function Virtualisation used by NRENs"})})]}),e[33]=W):W=e[33],W},hp=()=>{const e=St.c(11);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x.jsx("h6",{className:"section-title",children:"Connected Users"}),e[0]=t):t=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=x.jsx(T,{to:"/institutions-urls",children:x.jsx("span",{children:"Webpages Listing Institutions and Organisations Connected to NREN Networks"})}),e[1]=n):n=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=x.jsx(T,{to:"/connected-proportion",children:x.jsx("span",{children:"Proportion of Different Categories of Institutions Served by NRENs"})}),e[2]=i):i=e[2];let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=x.jsx(T,{to:"/connectivity-level",children:x.jsx("span",{children:"Level of IP Connectivity by Institution Type"})}),e[3]=s):s=e[3];let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=x.jsx(T,{to:"/connection-carrier",children:x.jsx("span",{children:"Methods of Carrying IP Traffic to Users"})}),e[4]=o):o=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx(T,{to:"/connectivity-load",children:x.jsx("span",{children:"Connectivity Load"})}),e[5]=r):r=e[5];let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=x.jsx(T,{to:"/connectivity-growth",children:x.jsx("span",{children:"Connectivity Growth"})}),e[6]=a):a=e[6];let l,c;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(T,{to:"/remote-campuses",children:x.jsx("span",{children:"NREN Connectivity to Remote Campuses in Other Countries"})}),c=x.jsx("h6",{className:"section-title",children:"Connected Users - Commercial"}),e[7]=l,e[8]=c):(l=e[7],c=e[8]);let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=x.jsx(T,{to:"/commercial-charging-level",children:x.jsx("span",{children:"Commercial Charging Level"})}),e[9]=h):h=e[9];let d;return e[10]===Symbol.for("react.memo_cache_sentinel")?(d=x.jsxs(on,{children:[t,n,i,s,o,r,a,l,c,h,x.jsx(T,{to:"/commercial-connectivity",children:x.jsx("span",{children:"Commercial Connectivity"})})]}),e[10]=d):d=e[10],d},dp=()=>{const e=St.c(9);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=x.jsx("h5",{children:"Services"}),e[0]=t):t=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=x.jsx(T,{to:"/network-services",children:x.jsx("span",{children:"Network services"})}),e[1]=n):n=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=x.jsx(T,{to:"/isp-support-services",children:x.jsx("span",{children:"ISP support services"})}),e[2]=i):i=e[2];let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=x.jsx(T,{to:"/security-services",children:x.jsx("span",{children:"Security services"})}),e[3]=s):s=e[3];let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=x.jsx(T,{to:"/identity-services",children:x.jsx("span",{children:"Identity services"})}),e[4]=o):o=e[4];let r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=x.jsx(T,{to:"/collaboration-services",children:x.jsx("span",{children:"Collaboration services"})}),e[5]=r):r=e[5];let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=x.jsx(T,{to:"/multimedia-services",children:x.jsx("span",{children:"Multimedia services"})}),e[6]=a):a=e[6];let l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=x.jsx(T,{to:"/storage-and-hosting-services",children:x.jsx("span",{children:"Storage and hosting services"})}),e[7]=l):l=e[7];let c;return e[8]===Symbol.for("react.memo_cache_sentinel")?(c=x.jsxs(on,{children:[t,n,i,s,o,r,a,l,x.jsx(T,{to:"/professional-services",children:x.jsx("span",{children:"Professional services"})})]}),e[8]=c):c=e[8],c};function fp(e,t){return e.map(n=>t.map(i=>{const s=n[i];return s===null?"":typeof s=="string"?`"${s.replace(/"/g,'""')}"`:s}).join(","))}function up(e){if(!e.length)return"";const t=Object.keys(e[0]),n=fp(e,t);return[t.join(","),...n].join(`\r -`)}function pp(e,t="Sheet1"){const n=Qn.json_to_sheet(e),i=Qn.book_new();Qn.book_append_sheet(i,n,t);const s=ol(i,{bookType:"xlsx",type:"binary"}),o=new ArrayBuffer(s.length),r=new Uint8Array(o);for(let a=0;a<s.length;a++)r[a]=s.charCodeAt(a)&255;return new Blob([o],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})}const Qo=({data:e,filename:t,exportType:n})=>{const i=()=>{let o,r,a;switch(n){case ye.EXCEL:{o=pp(e),r="xlsx",a="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8";break}case ye.CSV:default:{o=up(e),r="csv",a="text/csv;charset=UTF-8";break}}const l=new Blob([o],{type:a});t=t.endsWith(r)?t:`${t}.${r}`;const c=document.createElement("a");c.href=URL.createObjectURL(l),c.download=t,document.body.appendChild(c),c.click(),document.body.removeChild(c)};let s="downloadbutton";return n===ye.CSV?s+=" downloadcsv":n===ye.EXCEL&&(s+=" downloadexcel"),x.jsxs("button",{className:s,onClick:i,children:[n," ",x.jsx(ur,{})]})};function gp(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),s=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(s),t&&(i.href=t),s.href=e,s.href}const mp=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function It(e){const t=[];for(let n=0,i=e.length;n<i;n++)t.push(e[n]);return t}function Vn(e,t){const i=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return i?parseFloat(i.replace("px","")):0}function bp(e){const t=Vn(e,"border-left-width"),n=Vn(e,"border-right-width");return e.clientWidth+t+n}function xp(e){const t=Vn(e,"border-top-width"),n=Vn(e,"border-bottom-width");return e.clientHeight+t+n}function Ea(e,t={}){const n=t.width||bp(e),i=t.height||xp(e);return{width:n,height:i}}function yp(){let e,t;try{t=process}catch{}const n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}const gt=16384;function _p(e){(e.width>gt||e.height>gt)&&(e.width>gt&&e.height>gt?e.width>e.height?(e.height*=gt/e.width,e.width=gt):(e.width*=gt/e.height,e.height=gt):e.width>gt?(e.height*=gt/e.width,e.width=gt):(e.width*=gt/e.height,e.height=gt))}function Yn(e){return new Promise((t,n)=>{const i=new Image;i.decode=()=>t(i),i.onload=()=>t(i),i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function vp(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function wp(e,t,n){const i="http://www.w3.org/2000/svg",s=document.createElementNS(i,"svg"),o=document.createElementNS(i,"foreignObject");return s.setAttribute("width",`${t}`),s.setAttribute("height",`${n}`),s.setAttribute("viewBox",`0 0 ${t} ${n}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),s.appendChild(o),o.appendChild(e),vp(s)}const pt=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||pt(n,t)};function Sp(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function kp(e){return It(e).map(t=>{const n=e.getPropertyValue(t),i=e.getPropertyPriority(t);return`${t}: ${n}${i?" !important":""};`}).join(" ")}function Mp(e,t,n){const i=`.${e}:${t}`,s=n.cssText?Sp(n):kp(n);return document.createTextNode(`${i}{${s}}`)}function tr(e,t,n){const i=window.getComputedStyle(e,n),s=i.getPropertyValue("content");if(s===""||s==="none")return;const o=mp();try{t.className=`${t.className} ${o}`}catch{return}const r=document.createElement("style");r.appendChild(Mp(o,n,i)),t.appendChild(r)}function Cp(e,t){tr(e,t,":before"),tr(e,t,":after")}const er="application/font-woff",nr="image/jpeg",Pp={woff:er,woff2:er,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:nr,jpeg:nr,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function Op(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function as(e){const t=Op(e).toLowerCase();return Pp[t]||""}function Ep(e){return e.split(/,/)[1]}function Ti(e){return e.search(/^(data:)/)!==-1}function Dp(e,t){return`data:${t};base64,${e}`}async function Da(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const s=await i.blob();return new Promise((o,r)=>{const a=new FileReader;a.onerror=r,a.onloadend=()=>{try{o(n({res:i,result:a.result}))}catch(l){r(l)}},a.readAsDataURL(s)})}const yi={};function Rp(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function ls(e,t,n){const i=Rp(e,t,n.includeQueryParams);if(yi[i]!=null)return yi[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let s;try{const o=await Da(e,n.fetchRequestInit,({res:r,result:a})=>(t||(t=r.headers.get("Content-Type")||""),Ep(a)));s=Dp(o,t)}catch(o){s=n.imagePlaceholder||"";let r=`Failed to fetch resource: ${e}`;o&&(r=typeof o=="string"?o:o.message),r&&console.warn(r)}return yi[i]=s,s}async function Tp(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):Yn(t)}async function Ap(e,t){if(e.currentSrc){const o=document.createElement("canvas"),r=o.getContext("2d");o.width=e.clientWidth,o.height=e.clientHeight,r==null||r.drawImage(e,0,0,o.width,o.height);const a=o.toDataURL();return Yn(a)}const n=e.poster,i=as(n),s=await ls(n,i,t);return Yn(s)}async function jp(e){var t;try{if(!((t=e==null?void 0:e.contentDocument)===null||t===void 0)&&t.body)return await Gn(e.contentDocument.body,{},!0)}catch{}return e.cloneNode(!1)}async function Lp(e,t){return pt(e,HTMLCanvasElement)?Tp(e):pt(e,HTMLVideoElement)?Ap(e,t):pt(e,HTMLIFrameElement)?jp(e):e.cloneNode(!1)}const Np=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT";async function Ip(e,t,n){var i,s;let o=[];return Np(e)&&e.assignedNodes?o=It(e.assignedNodes()):pt(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?o=It(e.contentDocument.body.childNodes):o=It(((s=e.shadowRoot)!==null&&s!==void 0?s:e).childNodes),o.length===0||pt(e,HTMLVideoElement)||await o.reduce((r,a)=>r.then(()=>Gn(a,n)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function Fp(e,t){const n=t.style;if(!n)return;const i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):It(i).forEach(s=>{let o=i.getPropertyValue(s);s==="font-size"&&o.endsWith("px")&&(o=`${Math.floor(parseFloat(o.substring(0,o.length-2)))-.1}px`),pt(e,HTMLIFrameElement)&&s==="display"&&o==="inline"&&(o="block"),s==="d"&&t.getAttribute("d")&&(o=`path(${t.getAttribute("d")})`),n.setProperty(s,o,i.getPropertyPriority(s))})}function $p(e,t){pt(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),pt(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function zp(e,t){if(pt(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(s=>e.value===s.getAttribute("value"));i&&i.setAttribute("selected","")}}function Bp(e,t){return pt(t,Element)&&(Fp(e,t),Cp(e,t),$p(e,t),zp(e,t)),t}async function Wp(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let o=0;o<n.length;o++){const a=n[o].getAttribute("xlink:href");if(a){const l=e.querySelector(a),c=document.querySelector(a);!l&&c&&!i[a]&&(i[a]=await Gn(c,t,!0))}}const s=Object.values(i);if(s.length){const o="http://www.w3.org/1999/xhtml",r=document.createElementNS(o,"svg");r.setAttribute("xmlns",o),r.style.position="absolute",r.style.width="0",r.style.height="0",r.style.overflow="hidden",r.style.display="none";const a=document.createElementNS(o,"defs");r.appendChild(a);for(let l=0;l<s.length;l++)a.appendChild(s[l]);e.appendChild(r)}return e}async function Gn(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(i=>Lp(i,t)).then(i=>Ip(e,i,t)).then(i=>Bp(e,i)).then(i=>Wp(i,t))}const Ra=/url\((['"]?)([^'"]+?)\1\)/g,Hp=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,Vp=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Yp(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Up(e){const t=[];return e.replace(Ra,(n,i,s)=>(t.push(s),n)),t.filter(n=>!Ti(n))}async function Xp(e,t,n,i,s){try{const o=n?gp(t,n):t,r=as(t);let a;return s||(a=await ls(o,r,i)),e.replace(Yp(t),`$1${a}$3`)}catch{}return e}function Kp(e,{preferredFontFormat:t}){return t?e.replace(Vp,n=>{for(;;){const[i,,s]=Hp.exec(n)||[];if(!s)return"";if(s===t)return`src: ${i};`}}):e}function Ta(e){return e.search(Ra)!==-1}async function Aa(e,t,n){if(!Ta(e))return e;const i=Kp(e,n);return Up(i).reduce((o,r)=>o.then(a=>Xp(a,r,t,n)),Promise.resolve(i))}async function Dn(e,t,n){var i;const s=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(s){const o=await Aa(s,null,n);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function qp(e,t){await Dn("background",e,t)||await Dn("background-image",e,t),await Dn("mask",e,t)||await Dn("mask-image",e,t)}async function Gp(e,t){const n=pt(e,HTMLImageElement);if(!(n&&!Ti(e.src))&&!(pt(e,SVGImageElement)&&!Ti(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,s=await ls(i,as(i),t);await new Promise((o,r)=>{e.onload=o,e.onerror=r;const a=e;a.decode&&(a.decode=o),a.loading==="lazy"&&(a.loading="eager"),n?(e.srcset="",e.src=s):e.href.baseVal=s})}async function Jp(e,t){const i=It(e.childNodes).map(s=>ja(s,t));await Promise.all(i).then(()=>e)}async function ja(e,t){pt(e,Element)&&(await qp(e,t),await Gp(e,t),await Jp(e,t))}function Zp(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(s=>{n[s]=i[s]}),e}const ir={};async function sr(e){let t=ir[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},ir[e]=t,t}async function or(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,o=(n.match(/url\([^)]+\)/g)||[]).map(async r=>{let a=r.replace(i,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),Da(a,t.fetchRequestInit,({result:l})=>(n=n.replace(r,`url(${l})`),[r,l]))});return Promise.all(o).then(()=>n)}function rr(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const s=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const l=s.exec(i);if(l===null)break;t.push(l[0])}i=i.replace(s,"");const o=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,r="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",a=new RegExp(r,"gi");for(;;){let l=o.exec(i);if(l===null){if(l=a.exec(i),l===null)break;o.lastIndex=a.lastIndex}else a.lastIndex=o.lastIndex;t.push(l[0])}return t}async function Qp(e,t){const n=[],i=[];return e.forEach(s=>{if("cssRules"in s)try{It(s.cssRules||[]).forEach((o,r)=>{if(o.type===CSSRule.IMPORT_RULE){let a=r+1;const l=o.href,c=sr(l).then(h=>or(h,t)).then(h=>rr(h).forEach(d=>{try{s.insertRule(d,d.startsWith("@import")?a+=1:s.cssRules.length)}catch(f){console.error("Error inserting rule from remote css",{rule:d,error:f})}})).catch(h=>{console.error("Error loading remote css",h.toString())});i.push(c)}})}catch(o){const r=e.find(a=>a.href==null)||document.styleSheets[0];s.href!=null&&i.push(sr(s.href).then(a=>or(a,t)).then(a=>rr(a).forEach(l=>{r.insertRule(l,s.cssRules.length)})).catch(a=>{console.error("Error loading remote stylesheet",a)})),console.error("Error inlining remote css file",o)}}),Promise.all(i).then(()=>(e.forEach(s=>{if("cssRules"in s)try{It(s.cssRules||[]).forEach(o=>{n.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${s.href}`,o)}}),n))}function tg(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>Ta(t.style.getPropertyValue("src")))}async function eg(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=It(e.ownerDocument.styleSheets),i=await Qp(n,t);return tg(i)}async function ng(e,t){const n=await eg(e,t);return(await Promise.all(n.map(s=>{const o=s.parentStyleSheet?s.parentStyleSheet.href:null;return Aa(s.cssText,o,t)}))).join(` -`)}async function ig(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await ng(e,t);if(n){const i=document.createElement("style"),s=document.createTextNode(n);i.appendChild(s),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function La(e,t={}){const{width:n,height:i}=Ea(e,t),s=await Gn(e,t,!0);return await ig(s,t),await ja(s,t),Zp(s,t),await wp(s,n,i)}async function Na(e,t={}){const{width:n,height:i}=Ea(e,t),s=await La(e,t),o=await Yn(s),r=document.createElement("canvas"),a=r.getContext("2d"),l=t.pixelRatio||yp(),c=t.canvasWidth||n,h=t.canvasHeight||i;return r.width=c*l,r.height=h*l,t.skipAutoScale||_p(r),r.style.width=`${c}`,r.style.height=`${h}`,t.backgroundColor&&(a.fillStyle=t.backgroundColor,a.fillRect(0,0,r.width,r.height)),a.drawImage(o,0,0,r.width,r.height),r}async function sg(e,t={}){return(await Na(e,t)).toDataURL()}async function og(e,t={}){return(await Na(e,t)).toDataURL("image/jpeg",t.quality||1)}const rg=e=>{const t=St.c(17),{filename:n}=e,i=D.useContext(dr),[s,o]=D.useState(!1),r=D.useRef(null);let a;t[0]!==i||t[1]!==n?(a=async v=>{if(i!=null&&i.current){o(!1);const w={transform:"scale(1)","transform-origin":"top left",background:"white"};let _;t:switch(v){case me.JPEG:{_=await og(i.current,{quality:.95,style:w});break t}case me.SVG:{_=await La(i.current,{style:w});break t}case me.PNG:default:_=await sg(i.current,{style:w})}const S=document.createElement("a");S.href=typeof _=="string"?_:URL.createObjectURL(_),S.download=`${n}.${v}`,document.body.appendChild(S),S.click(),document.body.removeChild(S)}},t[0]=i,t[1]=n,t[2]=a):a=t[2];const l=a;let c;t[3]!==s?(c=()=>{o(!s)},t[3]=s,t[4]=c):c=t[4];const h=c;let d;t[5]===Symbol.for("react.memo_cache_sentinel")?(d=v=>{r.current&&!r.current.contains(v.target)&&o(!1)},t[5]=d):d=t[5];const f=d;let u,g;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=()=>(document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}),g=[],t[6]=u,t[7]=g):(u=t[6],g=t[7]),D.useEffect(u,g);let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=x.jsx(ur,{}),t[8]=m):m=t[8];let p;t[9]!==h?(p=x.jsxs("button",{className:"downloadbutton downloadimage",onClick:h,children:["IMAGE ",m]}),t[9]=h,t[10]=p):p=t[10];let b;t[11]!==l||t[12]!==s?(b=s&&x.jsxs("div",{className:"image-options",children:[x.jsx("div",{className:"imageoption downloadpng",onClick:()=>l(me.PNG),children:x.jsx("span",{children:"PNG"})}),x.jsx("div",{className:"imageoption downloadjpeg",onClick:()=>l(me.JPEG),children:x.jsx("span",{children:"JPEG"})}),x.jsx("div",{className:"imageoption downloadsvg",onClick:()=>l(me.SVG),children:x.jsx("span",{children:"SVG"})})]}),t[11]=l,t[12]=s,t[13]=b):b=t[13];let y;return t[14]!==p||t[15]!==b?(y=x.jsxs("div",{className:"image-dropdown",ref:r,children:[p,b]}),t[14]=p,t[15]=b,t[16]=y):y=t[16],y},ag=e=>{const t=St.c(12),{data:n,filename:i}=e,s=`${i}.csv`;let o;t[0]!==n||t[1]!==s?(o=x.jsx(Qo,{data:n,filename:s,exportType:ye.CSV}),t[0]=n,t[1]=s,t[2]=o):o=t[2];const r=`${i}.xlsx`;let a;t[3]!==n||t[4]!==r?(a=x.jsx(Qo,{data:n,filename:r,exportType:ye.EXCEL}),t[3]=n,t[4]=r,t[5]=a):a=t[5];let l;t[6]!==i?(l=x.jsx(rg,{filename:i}),t[6]=i,t[7]=l):l=t[7];let c;return t[8]!==o||t[9]!==a||t[10]!==l?(c=x.jsxs("div",{className:"downloadcontainer",children:[o,a,l]}),t[8]=o,t[9]=a,t[10]=l,t[11]=c):c=t[11],c};Pt.defaults.font.size=16;Pt.defaults.font.family="Open Sans";Pt.defaults.font.weight=700;function Ig(e){const t=St.c(47),{title:n,description:i,filter:s,children:o,category:r,data:a,filename:l}=e,{preview:c,setPreview:h}=D.useContext(Qa),d=window.location.origin+window.location.pathname,{trackPageView:f}=tl();let u,g;t[0]!==n||t[1]!==f?(u=()=>{f({documentTitle:n})},g=[f,n],t[0]=n,t[1]=f,t[2]=u,t[3]=g):(u=t[2],g=t[3]),D.useEffect(u,g);let m;t[4]!==r?(m=r===J.Organisation&&x.jsx(rp,{}),t[4]=r,t[5]=m):m=t[5];let p;t[6]!==r?(p=r===J.Policy&&x.jsx(lp,{}),t[6]=r,t[7]=p):p=t[7];let b;t[8]!==r?(b=r===J.Network&&x.jsx(cp,{}),t[8]=r,t[9]=b):b=t[9];let y;t[10]!==r?(y=r===J.ConnectedUsers&&x.jsx(hp,{}),t[10]=r,t[11]=y):y=t[11];let v;t[12]!==r?(v=r===J.Services&&x.jsx(dp,{}),t[12]=r,t[13]=v):v=t[13];let w;t[14]===Symbol.for("react.memo_cache_sentinel")?(w=x.jsx(el,{type:"data"}),t[14]=w):w=t[14];let _;t[15]!==c||t[16]!==h?(_=c&&x.jsx(oe,{className:"preview-banner",children:x.jsxs("span",{children:["You are viewing a preview of the website which includes pre-published survey data. ",x.jsx(nl,{to:d,onClick:()=>h(!1),children:"Click here"})," to deactivate preview mode."]})}),t[15]=c,t[16]=h,t[17]=_):_=t[17];let S;t[18]!==r?(S=x.jsx(ap,{activeCategory:r}),t[18]=r,t[19]=S):S=t[19];let M;t[20]!==n?(M=x.jsx(oe,{children:x.jsx("h3",{className:"m-1",children:n})}),t[20]=n,t[21]=M):M=t[21];let k;t[22]!==i?(k=x.jsx(oe,{children:x.jsx("p",{className:"p-md-4",children:i})}),t[22]=i,t[23]=k):k=t[23];let P;t[24]===Symbol.for("react.memo_cache_sentinel")?(P={position:"relative"},t[24]=P):P=t[24];let E;t[25]!==a||t[26]!==l?(E=x.jsx(oe,{align:"right",style:P,children:x.jsx(ag,{data:a,filename:l})}),t[25]=a,t[26]=l,t[27]=E):E=t[27];let C;t[28]!==s?(C=x.jsx(oe,{children:s}),t[28]=s,t[29]=C):C=t[29];let O;t[30]!==o?(O=x.jsx(oe,{children:o}),t[30]=o,t[31]=O):O=t[31];let R;t[32]!==M||t[33]!==k||t[34]!==E||t[35]!==C||t[36]!==O?(R=x.jsxs(hr,{className:"mb-5 grow",children:[M,k,E,C,O]}),t[32]=M,t[33]=k,t[34]=E,t[35]=C,t[36]=O,t[37]=R):R=t[37];let N;return t[38]!==S||t[39]!==R||t[40]!==m||t[41]!==p||t[42]!==b||t[43]!==y||t[44]!==v||t[45]!==_?(N=x.jsxs(x.Fragment,{children:[m,p,b,y,v,w,_,S,R]}),t[38]=S,t[39]=R,t[40]=m,t[41]=p,t[42]=b,t[43]=y,t[44]=v,t[45]=_,t[46]=N):N=t[46],N}function Fg(e){const t=St.c(81),{filterOptions:n,filterSelection:i,setFilterSelection:s,max1year:o,coloredYears:r}=e,a=o===void 0?!1:o,l=r===void 0?!1:r,[c,h]=D.useState(!0),{nrens:d}=D.useContext(il);let f,u;if(t[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>{const H=()=>h(window.innerWidth>=992);return window.addEventListener("resize",H),()=>{window.removeEventListener("resize",H)}},u=[],t[0]=f,t[1]=u):(f=t[0],u=t[1]),D.useEffect(f,u),a&&i.selectedYears.length>1){const H=Math.max(...i.selectedYears);s({selectedYears:[H],selectedNrens:[...i.selectedNrens]})}let g;t[2]!==i.selectedNrens||t[3]!==i.selectedYears||t[4]!==s?(g=H=>{i.selectedNrens.includes(H)?s({selectedYears:[...i.selectedYears],selectedNrens:i.selectedNrens.filter(nt=>nt!==H)}):s({selectedYears:[...i.selectedYears],selectedNrens:[...i.selectedNrens,H]})},t[2]=i.selectedNrens,t[3]=i.selectedYears,t[4]=s,t[5]=g):g=t[5];const m=g;let p;t[6]!==i.selectedNrens||t[7]!==i.selectedYears||t[8]!==a||t[9]!==s?(p=H=>{i.selectedYears.includes(H)?s({selectedYears:i.selectedYears.filter(nt=>nt!==H),selectedNrens:[...i.selectedNrens]}):s({selectedYears:a?[H]:[...i.selectedYears,H],selectedNrens:[...i.selectedNrens]})},t[6]=i.selectedNrens,t[7]=i.selectedYears,t[8]=a,t[9]=s,t[10]=p):p=t[10];const b=p;let y;t[11]!==n.availableNrens||t[12]!==i.selectedYears||t[13]!==s?(y=()=>{s({selectedYears:[...i.selectedYears],selectedNrens:n.availableNrens.map(hg)})},t[11]=n.availableNrens,t[12]=i.selectedYears,t[13]=s,t[14]=y):y=t[14];const v=y;let w;t[15]!==i.selectedYears||t[16]!==s?(w=()=>{s({selectedYears:[...i.selectedYears],selectedNrens:[]})},t[15]=i.selectedYears,t[16]=s,t[17]=w):w=t[17];const _=w,S=c?3:2,M=Math.ceil(d.length/S);let k,P,E,C,O,R,N,A,L,I;if(t[18]!==n.availableNrens||t[19]!==i.selectedNrens||t[20]!==m||t[21]!==S||t[22]!==M||t[23]!==d){const H=Array.from(Array(S),cg);d.sort(lg).forEach((Zt,Qt)=>{const ct=Math.floor(Qt/M);H[ct].push(Zt)});let nt;t[34]!==n.availableNrens?(nt=Zt=>n.availableNrens.find(ct=>ct.name===Zt.name)!==void 0,t[34]=n.availableNrens,t[35]=nt):nt=t[35];const Te=nt;E=ys,L=3,P=ni,R="outside",N="m-3",t[36]===Symbol.for("react.memo_cache_sentinel")?(A=x.jsx(ni.Toggle,{id:"nren-dropdown-toggle",variant:"compendium",children:"Select NRENs "}),t[36]=A):A=t[36],k=ni.Menu,t[37]===Symbol.for("react.memo_cache_sentinel")?(O={borderRadius:0},t[37]=O):O=t[37],I="d-flex fit-max-content mt-4 mx-3";let zt;t[38]!==i.selectedNrens||t[39]!==m||t[40]!==Te?(zt=(Zt,Qt)=>x.jsx("div",{className:"flex-fill",children:Zt.map(ct=>x.jsx("div",{className:"filter-dropdown-item flex-fill py-1 px-3",children:x.jsxs(Zn.Check,{type:"checkbox",children:[x.jsx(Zn.Check.Input,{id:ct.name,readOnly:!0,type:"checkbox",onClick:()=>m(ct.name),checked:i.selectedNrens.includes(ct.name),className:"nren-checkbox",disabled:!Te(ct)}),x.jsxs(Zn.Check.Label,{htmlFor:ct.name,className:"nren-checkbox-label",children:[ct.name," ",x.jsxs("span",{style:{fontWeight:"lighter"},children:["(",ct.country,")"]})]})]})},ct.name))},Qt),t[38]=i.selectedNrens,t[39]=m,t[40]=Te,t[41]=zt):zt=t[41],C=H.map(zt),t[18]=n.availableNrens,t[19]=i.selectedNrens,t[20]=m,t[21]=S,t[22]=M,t[23]=d,t[24]=k,t[25]=P,t[26]=E,t[27]=C,t[28]=O,t[29]=R,t[30]=N,t[31]=A,t[32]=L,t[33]=I}else k=t[24],P=t[25],E=t[26],C=t[27],O=t[28],R=t[29],N=t[30],A=t[31],L=t[32],I=t[33];let W;t[42]!==C||t[43]!==I?(W=x.jsx("div",{className:I,children:C}),t[42]=C,t[43]=I,t[44]=W):W=t[44];let $;t[45]!==v?($=x.jsx(Nt,{variant:"compendium",className:"flex-fill",onClick:v,children:"Select all NRENs"}),t[45]=v,t[46]=$):$=t[46];let B;t[47]!==_?(B=x.jsx(Nt,{variant:"compendium",className:"flex-fill",onClick:_,children:"Unselect all NRENs"}),t[47]=_,t[48]=B):B=t[48];let et;t[49]!==$||t[50]!==B?(et=x.jsxs("div",{className:"d-flex fit-max-content gap-2 mx-4 my-3",children:[$,B]}),t[49]=$,t[50]=B,t[51]=et):et=t[51];let tt;t[52]!==k||t[53]!==O||t[54]!==W||t[55]!==et?(tt=x.jsxs(k,{style:O,children:[W,et]}),t[52]=k,t[53]=O,t[54]=W,t[55]=et,t[56]=tt):tt=t[56];let it;t[57]!==P||t[58]!==R||t[59]!==N||t[60]!==A||t[61]!==tt?(it=x.jsxs(P,{autoClose:R,className:N,children:[A,tt]}),t[57]=P,t[58]=R,t[59]=N,t[60]=A,t[61]=tt,t[62]=it):it=t[62];let X;t[63]!==E||t[64]!==L||t[65]!==it?(X=x.jsx(E,{xs:L,children:it}),t[63]=E,t[64]=L,t[65]=it,t[66]=X):X=t[66];let K;if(t[67]!==l||t[68]!==n.availableYears||t[69]!==i.selectedYears||t[70]!==b){let H;t[72]!==l||t[73]!==i.selectedYears||t[74]!==b?(H=nt=>x.jsx(Nt,{variant:l?"compendium-year-"+nt%9:"compendium-year",active:i.selectedYears.includes(nt),onClick:()=>b(nt),children:nt},nt),t[72]=l,t[73]=i.selectedYears,t[74]=b,t[75]=H):H=t[75],K=n.availableYears.sort().map(H),t[67]=l,t[68]=n.availableYears,t[69]=i.selectedYears,t[70]=b,t[71]=K}else K=t[71];let G;t[76]!==K?(G=x.jsx(ys,{children:x.jsx(Ai,{className:"d-flex justify-content-end gap-2 m-3",children:K})}),t[76]=K,t[77]=G):G=t[77];let Rt;return t[78]!==X||t[79]!==G?(Rt=x.jsxs(x.Fragment,{children:[X,G]}),t[78]=X,t[79]=G,t[80]=Rt):Rt=t[80],Rt}function lg(e,t){return e.name.localeCompare(t.name)}function cg(){return[]}function hg(e){return e.name}const $g=e=>{const t=St.c(3),{children:n}=e,i=D.useContext(dr);let s;return t[0]!==n||t[1]!==i?(s=x.jsx("div",{ref:i,children:n}),t[0]=n,t[1]=i,t[2]=s):s=t[2],s};function ar(e){const t=new Set,n=new Map;return e.forEach(i=>{t.add(i.year),n.set(i.nren,{name:i.nren,country:i.nren_country})}),{years:t,nrens:n}}function zg(e,t,n){const i=St.c(14),s=n===void 0?fg:n;let o;i[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],i[0]=o):o=i[0];const[r,a]=D.useState(o),l=sl(),c=e+(l?"?preview":"");let h;i[1]!==c||i[2]!==t||i[3]!==s?(h=()=>{fetch(c).then(dg).then(b=>{const y=b.filter(s);a(y);const{years:v,nrens:w}=ar(y);t(_=>{const M=_.selectedYears.filter(E=>v.has(E)).length?_.selectedYears:[Math.max(...v)],P=_.selectedNrens.filter(E=>w.has(E)).length?_.selectedNrens:[...w.keys()];return{selectedYears:M,selectedNrens:P}})})},i[1]=c,i[2]=t,i[3]=s,i[4]=h):h=i[4];let d;i[5]!==c||i[6]!==t?(d=[c,t],i[5]=c,i[6]=t,i[7]=d):d=i[7],D.useEffect(h,d);let f,u;i[8]!==r?(u=ar(r),i[8]=r,i[9]=u):u=i[9],f=u;const{years:g,nrens:m}=f;let p;return i[10]!==r||i[11]!==m||i[12]!==g?(p={data:r,years:g,nrens:m},i[10]=r,i[11]=m,i[12]=g,i[13]=p):p=i[13],p}function dg(e){return e.json()}function fg(){return!0}export{q as A,xi as B,Pt as C,Ig as D,wt as E,Fg as F,F as G,U as H,Y as I,Cn as J,V as K,Yo as L,z as M,jg as N,gi as P,Ho as a,Pn as b,wg as c,_g as d,Tg as e,$g as f,Eg as g,Pg as h,Og as i,Rg as j,Re as k,Ag as l,Lg as m,Sg as n,Ng as o,vg as p,kg as q,Dg as r,Cg as s,di as t,zg as u,hi as v,Mg as w,Ze as x,lt as y,xn as z}; diff --git a/compendium_v2/static/useData-Ct8E3VVL.js b/compendium_v2/static/useData-Ct8E3VVL.js new file mode 100644 index 0000000000000000000000000000000000000000..803466e01bef0c761a646ef4c0f4d59f1be6014c --- /dev/null +++ b/compendium_v2/static/useData-Ct8E3VVL.js @@ -0,0 +1,20 @@ +var za=Object.defineProperty;var Na=(e,t,n)=>t in e?za(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T=(e,t,n)=>Na(e,typeof t!="symbol"?t+"":t,n);import{r as A,u as Vt,g as Ba,j as M,h as Kt,i as qt,k as Ha,w as Wa,l as ms,o as Va,m as un,f as ue,n as ar,B as Ya,p as Ua,q as Xa,s as bs,v as Ka,x as lr,y as Ft,z as qa,A as Ga,c as wt,O as Ja,D as Za,S as G,E as cr,R as se,P as Qa,N as tl,G as el,H as nl,I as xe,J as hr,K as ge,M as il,Q as sl,T as ol,L as rl,V as al,C as xs,W as Jn,X as ll}from"./index.js";import{S as sn}from"./SideBar-CkoMfgfL.js";import{u as Zn,w as cl}from"./xlsx-BHRztzV8.js";import{c as ur,F as dr}from"./index-DIBz8YrO.js";import{u as hl}from"./hook-GVc5uk5F.js";function ul(){return A.useState(null)}function dl(e,t,n,i=!1){const s=Vt(n);A.useEffect(()=>{const o=typeof e=="function"?e():e;return o.addEventListener(t,s,i),()=>o.removeEventListener(t,s,i)},[e])}const fl=["onKeyDown"];function pl(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function gl(e){return!e||e.trim()==="#"}const fr=A.forwardRef((e,t)=>{let{onKeyDown:n}=e,i=pl(e,fl);const[s]=Ba(Object.assign({tagName:"a"},i)),o=Vt(r=>{s.onKeyDown(r),n==null||n(r)});return gl(i.href)||i.role==="button"?M.jsx("a",Object.assign({ref:t},i,s,{onKeyDown:o})):M.jsx("a",Object.assign({ref:t},i,{onKeyDown:n}))});fr.displayName="Anchor";const Ti=A.forwardRef(({bsPrefix:e,className:t,role:n="toolbar",...i},s)=>{const o=Kt(e,"btn-toolbar");return M.jsx("div",{...i,ref:s,className:qt(t,o),role:n})});Ti.displayName="ButtonToolbar";function ml(e,t,n){const i=A.useRef(e!==void 0),[s,o]=A.useState(t),r=e!==void 0,a=i.current;return i.current=r,!r&&a&&s!==t&&o(t),[r?e:s,A.useCallback((...l)=>{const[c,...h]=l;let u=n==null?void 0:n(c,...h);return o(c),u},[n])]}function bl(){const[,e]=A.useReducer(t=>t+1,0);return e}const Yn=A.createContext(null);var ys=Object.prototype.hasOwnProperty;function vs(e,t,n){for(n of e.keys())if(Be(n,t))return n}function Be(e,t){var n,i,s;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((i=e.length)===t.length)for(;i--&&Be(e[i],t[i]););return i===-1}if(n===Set){if(e.size!==t.size)return!1;for(i of e)if(s=i,s&&typeof s=="object"&&(s=vs(t,s),!s)||!t.has(s))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(i of e)if(s=i[0],s&&typeof s=="object"&&(s=vs(t,s),!s)||!Be(i[1],t.get(s)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return i===-1}if(ArrayBuffer.isView(e)){if((i=e.byteLength)===t.byteLength)for(;i--&&e[i]===t[i];);return i===-1}if(!n||typeof e=="object"){i=0;for(n in e)if(ys.call(e,n)&&++i&&!ys.call(t,n)||!(n in t)||!Be(e[n],t[n]))return!1;return Object.keys(t).length===i}}return e!==e&&t!==t}function xl(e){const t=Ha();return[e[0],A.useCallback(n=>{if(t())return e[1](n)},[t,e[1]])]}var ut="top",xt="bottom",yt="right",dt="left",Ri="auto",on=[ut,xt,yt,dt],we="start",Ke="end",yl="clippingParents",pr="viewport",Te="popper",vl="reference",_s=on.reduce(function(e,t){return e.concat([t+"-"+we,t+"-"+Ke])},[]),gr=[].concat(on,[Ri]).reduce(function(e,t){return e.concat([t,t+"-"+we,t+"-"+Ke])},[]),_l="beforeRead",wl="read",Sl="afterRead",kl="beforeMain",Ml="main",Cl="afterMain",Pl="beforeWrite",Ol="write",Dl="afterWrite",Al=[_l,wl,Sl,kl,Ml,Cl,Pl,Ol,Dl];function Pt(e){return e.split("-")[0]}function gt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function de(e){var t=gt(e).Element;return e instanceof t||e instanceof Element}function Ot(e){var t=gt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Li(e){if(typeof ShadowRoot>"u")return!1;var t=gt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}var ce=Math.max,Ln=Math.min,Se=Math.round;function yi(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function mr(){return!/^((?!chrome|android).)*safari/i.test(yi())}function ke(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var i=e.getBoundingClientRect(),s=1,o=1;t&&Ot(e)&&(s=e.offsetWidth>0&&Se(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&Se(i.height)/e.offsetHeight||1);var r=de(e)?gt(e):window,a=r.visualViewport,l=!mr()&&n,c=(i.left+(l&&a?a.offsetLeft:0))/s,h=(i.top+(l&&a?a.offsetTop:0))/o,u=i.width/s,d=i.height/o;return{width:u,height:d,top:h,right:c+u,bottom:h+d,left:c,x:c,y:h}}function Fi(e){var t=ke(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function br(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Li(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Ut(e){return e?(e.nodeName||"").toLowerCase():null}function jt(e){return gt(e).getComputedStyle(e)}function El(e){return["table","td","th"].indexOf(Ut(e))>=0}function Gt(e){return((de(e)?e.ownerDocument:e.document)||window.document).documentElement}function Un(e){return Ut(e)==="html"?e:e.assignedSlot||e.parentNode||(Li(e)?e.host:null)||Gt(e)}function ws(e){return!Ot(e)||jt(e).position==="fixed"?null:e.offsetParent}function Tl(e){var t=/firefox/i.test(yi()),n=/Trident/i.test(yi());if(n&&Ot(e)){var i=jt(e);if(i.position==="fixed")return null}var s=Un(e);for(Li(s)&&(s=s.host);Ot(s)&&["html","body"].indexOf(Ut(s))<0;){var o=jt(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function rn(e){for(var t=gt(e),n=ws(e);n&&El(n)&&jt(n).position==="static";)n=ws(n);return n&&(Ut(n)==="html"||Ut(n)==="body"&&jt(n).position==="static")?t:n||Tl(e)||t}function Ii(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function He(e,t,n){return ce(e,Ln(t,n))}function Rl(e,t,n){var i=He(e,t,n);return i>n?n:i}function xr(){return{top:0,right:0,bottom:0,left:0}}function yr(e){return Object.assign({},xr(),e)}function vr(e,t){return t.reduce(function(n,i){return n[i]=e,n},{})}var Ll=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,yr(typeof t!="number"?t:vr(t,on))};function Fl(e){var t,n=e.state,i=e.name,s=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=Pt(n.placement),l=Ii(a),c=[dt,yt].indexOf(a)>=0,h=c?"height":"width";if(!(!o||!r)){var u=Ll(s.padding,n),d=Fi(o),f=l==="y"?ut:dt,g=l==="y"?xt:yt,m=n.rects.reference[h]+n.rects.reference[l]-r[l]-n.rects.popper[h],p=r[l]-n.rects.reference[l],b=rn(o),x=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,v=m/2-p/2,_=u[f],y=x-d[h]-u[g],w=x/2-d[h]/2+v,k=He(_,w,y),S=l;n.modifiersData[i]=(t={},t[S]=k,t.centerOffset=k-w,t)}}function Il(e){var t=e.state,n=e.options,i=n.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||br(t.elements.popper,s)&&(t.elements.arrow=s))}const jl={name:"arrow",enabled:!0,phase:"main",fn:Fl,effect:Il,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Me(e){return e.split("-")[1]}var $l={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zl(e,t){var n=e.x,i=e.y,s=t.devicePixelRatio||1;return{x:Se(n*s)/s||0,y:Se(i*s)/s||0}}function Ss(e){var t,n=e.popper,i=e.popperRect,s=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,h=e.roundOffsets,u=e.isFixed,d=r.x,f=d===void 0?0:d,g=r.y,m=g===void 0?0:g,p=typeof h=="function"?h({x:f,y:m}):{x:f,y:m};f=p.x,m=p.y;var b=r.hasOwnProperty("x"),x=r.hasOwnProperty("y"),v=dt,_=ut,y=window;if(c){var w=rn(n),k="clientHeight",S="clientWidth";if(w===gt(n)&&(w=Gt(n),jt(w).position!=="static"&&a==="absolute"&&(k="scrollHeight",S="scrollWidth")),w=w,s===ut||(s===dt||s===yt)&&o===Ke){_=xt;var P=u&&w===y&&y.visualViewport?y.visualViewport.height:w[k];m-=P-i.height,m*=l?1:-1}if(s===dt||(s===ut||s===xt)&&o===Ke){v=yt;var D=u&&w===y&&y.visualViewport?y.visualViewport.width:w[S];f-=D-i.width,f*=l?1:-1}}var C=Object.assign({position:a},c&&$l),O=h===!0?zl({x:f,y:m},gt(n)):{x:f,y:m};if(f=O.x,m=O.y,l){var E;return Object.assign({},C,(E={},E[_]=x?"0":"",E[v]=b?"0":"",E.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",E))}return Object.assign({},C,(t={},t[_]=x?m+"px":"",t[v]=b?f+"px":"",t.transform="",t))}function Nl(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=i===void 0?!0:i,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:Pt(t.placement),variation:Me(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ss(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ss(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Bl={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nl,data:{}};var dn={passive:!0};function Hl(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,o=s===void 0?!0:s,r=i.resize,a=r===void 0?!0:r,l=gt(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(h){h.addEventListener("scroll",n.update,dn)}),a&&l.addEventListener("resize",n.update,dn),function(){o&&c.forEach(function(h){h.removeEventListener("scroll",n.update,dn)}),a&&l.removeEventListener("resize",n.update,dn)}}const Wl={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Hl,data:{}};var Vl={left:"right",right:"left",bottom:"top",top:"bottom"};function En(e){return e.replace(/left|right|bottom|top/g,function(t){return Vl[t]})}var Yl={start:"end",end:"start"};function ks(e){return e.replace(/start|end/g,function(t){return Yl[t]})}function ji(e){var t=gt(e),n=t.pageXOffset,i=t.pageYOffset;return{scrollLeft:n,scrollTop:i}}function $i(e){return ke(Gt(e)).left+ji(e).scrollLeft}function Ul(e,t){var n=gt(e),i=Gt(e),s=n.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=mr();(c||!c&&t==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+$i(e),y:l}}function Xl(e){var t,n=Gt(e),i=ji(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=ce(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ce(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+$i(e),l=-i.scrollTop;return jt(s||n).direction==="rtl"&&(a+=ce(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function zi(e){var t=jt(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function _r(e){return["html","body","#document"].indexOf(Ut(e))>=0?e.ownerDocument.body:Ot(e)&&zi(e)?e:_r(Un(e))}function We(e,t){var n;t===void 0&&(t=[]);var i=_r(e),s=i===((n=e.ownerDocument)==null?void 0:n.body),o=gt(i),r=s?[o].concat(o.visualViewport||[],zi(i)?i:[]):i,a=t.concat(r);return s?a:a.concat(We(Un(r)))}function vi(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Kl(e,t){var n=ke(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Ms(e,t,n){return t===pr?vi(Ul(e,n)):de(t)?Kl(t,n):vi(Xl(Gt(e)))}function ql(e){var t=We(Un(e)),n=["absolute","fixed"].indexOf(jt(e).position)>=0,i=n&&Ot(e)?rn(e):e;return de(i)?t.filter(function(s){return de(s)&&br(s,i)&&Ut(s)!=="body"}):[]}function Gl(e,t,n,i){var s=t==="clippingParents"?ql(e):[].concat(t),o=[].concat(s,[n]),r=o[0],a=o.reduce(function(l,c){var h=Ms(e,c,i);return l.top=ce(h.top,l.top),l.right=Ln(h.right,l.right),l.bottom=Ln(h.bottom,l.bottom),l.left=ce(h.left,l.left),l},Ms(e,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function wr(e){var t=e.reference,n=e.element,i=e.placement,s=i?Pt(i):null,o=i?Me(i):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(s){case ut:l={x:r,y:t.y-n.height};break;case xt:l={x:r,y:t.y+t.height};break;case yt:l={x:t.x+t.width,y:a};break;case dt:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=s?Ii(s):null;if(c!=null){var h=c==="y"?"height":"width";switch(o){case we:l[c]=l[c]-(t[h]/2-n[h]/2);break;case Ke:l[c]=l[c]+(t[h]/2-n[h]/2);break}}return l}function qe(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=i===void 0?e.placement:i,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?yl:a,c=n.rootBoundary,h=c===void 0?pr:c,u=n.elementContext,d=u===void 0?Te:u,f=n.altBoundary,g=f===void 0?!1:f,m=n.padding,p=m===void 0?0:m,b=yr(typeof p!="number"?p:vr(p,on)),x=d===Te?vl:Te,v=e.rects.popper,_=e.elements[g?x:d],y=Gl(de(_)?_:_.contextElement||Gt(e.elements.popper),l,h,r),w=ke(e.elements.reference),k=wr({reference:w,element:v,strategy:"absolute",placement:s}),S=vi(Object.assign({},v,k)),P=d===Te?S:w,D={top:y.top-P.top+b.top,bottom:P.bottom-y.bottom+b.bottom,left:y.left-P.left+b.left,right:P.right-y.right+b.right},C=e.modifiersData.offset;if(d===Te&&C){var O=C[s];Object.keys(D).forEach(function(E){var F=[yt,xt].indexOf(E)>=0?1:-1,R=[ut,xt].indexOf(E)>=0?"y":"x";D[E]+=O[R]*F})}return D}function Jl(e,t){t===void 0&&(t={});var n=t,i=n.placement,s=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?gr:l,h=Me(i),u=h?a?_s:_s.filter(function(g){return Me(g)===h}):on,d=u.filter(function(g){return c.indexOf(g)>=0});d.length===0&&(d=u);var f=d.reduce(function(g,m){return g[m]=qe(e,{placement:m,boundary:s,rootBoundary:o,padding:r})[Pt(m)],g},{});return Object.keys(f).sort(function(g,m){return f[g]-f[m]})}function Zl(e){if(Pt(e)===Ri)return[];var t=En(e);return[ks(e),t,ks(t)]}function Ql(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,h=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.flipVariations,g=f===void 0?!0:f,m=n.allowedAutoPlacements,p=t.options.placement,b=Pt(p),x=b===p,v=l||(x||!g?[En(p)]:Zl(p)),_=[p].concat(v).reduce(function(U,X){return U.concat(Pt(X)===Ri?Jl(t,{placement:X,boundary:h,rootBoundary:u,padding:c,flipVariations:g,allowedAutoPlacements:m}):X)},[]),y=t.rects.reference,w=t.rects.popper,k=new Map,S=!0,P=_[0],D=0;D<_.length;D++){var C=_[D],O=Pt(C),E=Me(C)===we,F=[ut,xt].indexOf(O)>=0,R=F?"width":"height",L=qe(t,{placement:C,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),I=F?E?yt:dt:E?xt:ut;y[R]>w[R]&&(I=En(I));var Y=En(I),$=[];if(o&&$.push(L[O]<=0),a&&$.push(L[I]<=0,L[Y]<=0),$.every(function(U){return U})){P=C,S=!1;break}k.set(C,$)}if(S)for(var N=g?3:1,tt=function(X){var q=_.find(function(At){var B=k.get(At);if(B)return B.slice(0,X).every(function(et){return et})});if(q)return P=q,"break"},Q=N;Q>0;Q--){var nt=tt(Q);if(nt==="break")break}t.placement!==P&&(t.modifiersData[i]._skip=!0,t.placement=P,t.reset=!0)}}const tc={name:"flip",enabled:!0,phase:"main",fn:Ql,requiresIfExists:["offset"],data:{_skip:!1}};function Cs(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ps(e){return[ut,yt,xt,dt].some(function(t){return e[t]>=0})}function ec(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,r=qe(t,{elementContext:"reference"}),a=qe(t,{altBoundary:!0}),l=Cs(r,i),c=Cs(a,s,o),h=Ps(l),u=Ps(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}const nc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:ec};function ic(e,t,n){var i=Pt(e),s=[dt,ut].indexOf(i)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[dt,yt].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function sc(e){var t=e.state,n=e.options,i=e.name,s=n.offset,o=s===void 0?[0,0]:s,r=gr.reduce(function(h,u){return h[u]=ic(u,t.rects,o),h},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}const oc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:sc};function rc(e){var t=e.state,n=e.name;t.modifiersData[n]=wr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const ac={name:"popperOffsets",enabled:!0,phase:"read",fn:rc,data:{}};function lc(e){return e==="x"?"y":"x"}function cc(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,o=s===void 0?!0:s,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,h=n.altBoundary,u=n.padding,d=n.tether,f=d===void 0?!0:d,g=n.tetherOffset,m=g===void 0?0:g,p=qe(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),b=Pt(t.placement),x=Me(t.placement),v=!x,_=Ii(b),y=lc(_),w=t.modifiersData.popperOffsets,k=t.rects.reference,S=t.rects.popper,P=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,D=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(w){if(o){var E,F=_==="y"?ut:dt,R=_==="y"?xt:yt,L=_==="y"?"height":"width",I=w[_],Y=I+p[F],$=I-p[R],N=f?-S[L]/2:0,tt=x===we?k[L]:S[L],Q=x===we?-S[L]:-k[L],nt=t.elements.arrow,U=f&&nt?Fi(nt):{width:0,height:0},X=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:xr(),q=X[F],At=X[R],B=He(0,k[L],U[L]),et=v?k[L]/2-N-B-q-D.mainAxis:tt-B-q-D.mainAxis,Ee=v?-k[L]/2+N+B+At+D.mainAxis:Q+B+At+D.mainAxis,zt=t.elements.arrow&&rn(t.elements.arrow),Jt=zt?_==="y"?zt.clientTop||0:zt.clientLeft||0:0,Zt=(E=C==null?void 0:C[_])!=null?E:0,lt=I+et-Zt-Jt,Ia=I+Ee-Zt,ls=He(f?Ln(Y,lt):Y,I,f?ce($,Ia):$);w[_]=ls,O[_]=ls-I}if(a){var cs,ja=_==="x"?ut:dt,$a=_==="x"?xt:yt,Qt=w[y],hn=y==="y"?"height":"width",hs=Qt+p[ja],us=Qt-p[$a],Gn=[ut,dt].indexOf(b)!==-1,ds=(cs=C==null?void 0:C[y])!=null?cs:0,fs=Gn?hs:Qt-k[hn]-S[hn]-ds+D.altAxis,ps=Gn?Qt+k[hn]+S[hn]-ds-D.altAxis:us,gs=f&&Gn?Rl(fs,Qt,ps):He(f?fs:hs,Qt,f?ps:us);w[y]=gs,O[y]=gs-Qt}t.modifiersData[i]=O}}const hc={name:"preventOverflow",enabled:!0,phase:"main",fn:cc,requiresIfExists:["offset"]};function uc(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function dc(e){return e===gt(e)||!Ot(e)?ji(e):uc(e)}function fc(e){var t=e.getBoundingClientRect(),n=Se(t.width)/e.offsetWidth||1,i=Se(t.height)/e.offsetHeight||1;return n!==1||i!==1}function pc(e,t,n){n===void 0&&(n=!1);var i=Ot(t),s=Ot(t)&&fc(t),o=Gt(t),r=ke(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&((Ut(t)!=="body"||zi(o))&&(a=dc(t)),Ot(t)?(l=ke(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=$i(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function gc(e){var t=new Map,n=new Set,i=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&s(l)}}),i.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),i}function mc(e){var t=gc(e);return Al.reduce(function(n,i){return n.concat(t.filter(function(s){return s.phase===i}))},[])}function bc(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function xc(e){var t=e.reduce(function(n,i){var s=n[i.name];return n[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,n},{});return Object.keys(t).map(function(n){return t[n]})}var Os={placement:"bottom",modifiers:[],strategy:"absolute"};function Ds(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function yc(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,i=n===void 0?[]:n,s=t.defaultOptions,o=s===void 0?Os:s;return function(a,l,c){c===void 0&&(c=o);var h={placement:"bottom",orderedModifiers:[],options:Object.assign({},Os,o),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},u=[],d=!1,f={state:h,setOptions:function(b){var x=typeof b=="function"?b(h.options):b;m(),h.options=Object.assign({},o,h.options,x),h.scrollParents={reference:de(a)?We(a):a.contextElement?We(a.contextElement):[],popper:We(l)};var v=mc(xc([].concat(i,h.options.modifiers)));return h.orderedModifiers=v.filter(function(_){return _.enabled}),g(),f.update()},forceUpdate:function(){if(!d){var b=h.elements,x=b.reference,v=b.popper;if(Ds(x,v)){h.rects={reference:pc(x,rn(v),h.options.strategy==="fixed"),popper:Fi(v)},h.reset=!1,h.placement=h.options.placement,h.orderedModifiers.forEach(function(D){return h.modifiersData[D.name]=Object.assign({},D.data)});for(var _=0;_<h.orderedModifiers.length;_++){if(h.reset===!0){h.reset=!1,_=-1;continue}var y=h.orderedModifiers[_],w=y.fn,k=y.options,S=k===void 0?{}:k,P=y.name;typeof w=="function"&&(h=w({state:h,options:S,name:P,instance:f})||h)}}}},update:bc(function(){return new Promise(function(p){f.forceUpdate(),p(h)})}),destroy:function(){m(),d=!0}};if(!Ds(a,l))return f;f.setOptions(c).then(function(p){!d&&c.onFirstUpdate&&c.onFirstUpdate(p)});function g(){h.orderedModifiers.forEach(function(p){var b=p.name,x=p.options,v=x===void 0?{}:x,_=p.effect;if(typeof _=="function"){var y=_({state:h,name:b,instance:f,options:v}),w=function(){};u.push(y||w)}})}function m(){u.forEach(function(p){return p()}),u=[]}return f}}const vc=yc({defaultModifiers:[nc,ac,Bl,Wl,oc,tc,hc,jl]}),_c=["enabled","placement","strategy","modifiers"];function wc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Sc={name:"applyStyles",enabled:!1,phase:"afterWrite",fn:()=>{}},kc={name:"ariaDescribedBy",enabled:!0,phase:"afterWrite",effect:({state:e})=>()=>{const{reference:t,popper:n}=e.elements;if("removeAttribute"in t){const i=(t.getAttribute("aria-describedby")||"").split(",").filter(s=>s.trim()!==n.id);i.length?t.setAttribute("aria-describedby",i.join(",")):t.removeAttribute("aria-describedby")}},fn:({state:e})=>{var t;const{popper:n,reference:i}=e.elements,s=(t=n.getAttribute("role"))==null?void 0:t.toLowerCase();if(n.id&&s==="tooltip"&&"setAttribute"in i){const o=i.getAttribute("aria-describedby");if(o&&o.split(",").indexOf(n.id)!==-1)return;i.setAttribute("aria-describedby",o?`${o},${n.id}`:n.id)}}},Mc=[];function Cc(e,t,n={}){let{enabled:i=!0,placement:s="bottom",strategy:o="absolute",modifiers:r=Mc}=n,a=wc(n,_c);const l=A.useRef(r),c=A.useRef(),h=A.useCallback(()=>{var p;(p=c.current)==null||p.update()},[]),u=A.useCallback(()=>{var p;(p=c.current)==null||p.forceUpdate()},[]),[d,f]=xl(A.useState({placement:s,update:h,forceUpdate:u,attributes:{},styles:{popper:{},arrow:{}}})),g=A.useMemo(()=>({name:"updateStateModifier",enabled:!0,phase:"write",requires:["computeStyles"],fn:({state:p})=>{const b={},x={};Object.keys(p.elements).forEach(v=>{b[v]=p.styles[v],x[v]=p.attributes[v]}),f({state:p,styles:b,attributes:x,update:h,forceUpdate:u,placement:p.placement})}}),[h,u,f]),m=A.useMemo(()=>(Be(l.current,r)||(l.current=r),l.current),[r]);return A.useEffect(()=>{!c.current||!i||c.current.setOptions({placement:s,strategy:o,modifiers:[...m,g,Sc]})},[o,s,g,i,m]),A.useEffect(()=>{if(!(!i||e==null||t==null))return c.current=vc(e,t,Object.assign({},a,{placement:s,strategy:o,modifiers:[...m,kc,g]})),()=>{c.current!=null&&(c.current.destroy(),c.current=void 0,f(p=>Object.assign({},p,{attributes:{},styles:{popper:{}}})))}},[i,e,t]),d}const As=()=>{};function Pc(e){return e.button===0}function Oc(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}const Qn=e=>e&&("current"in e?e.current:e),Es={click:"mousedown",mouseup:"mousedown",pointerup:"pointerdown"};function Dc(e,t=As,{disabled:n,clickTrigger:i="click"}={}){const s=A.useRef(!1),o=A.useRef(!1),r=A.useCallback(c=>{const h=Qn(e);Wa(!!h,"ClickOutside captured a close event but does not have a ref to compare it to. useClickOutside(), should be passed a ref that resolves to a DOM node"),s.current=!h||Oc(c)||!Pc(c)||!!ms(h,c.target)||o.current,o.current=!1},[e]),a=Vt(c=>{const h=Qn(e);h&&ms(h,c.target)?o.current=!0:o.current=!1}),l=Vt(c=>{s.current||t(c)});A.useEffect(()=>{var c,h;if(n||e==null)return;const u=Va(Qn(e)),d=u.defaultView||window;let f=(c=d.event)!=null?c:(h=d.parent)==null?void 0:h.event,g=null;Es[i]&&(g=un(u,Es[i],a,!0));const m=un(u,i,r,!0),p=un(u,i,x=>{if(x===f){f=void 0;return}l(x)});let b=[];return"ontouchstart"in u.documentElement&&(b=[].slice.call(u.body.children).map(x=>un(x,"mousemove",As))),()=>{g==null||g(),m(),p(),b.forEach(x=>x())}},[e,n,i,r,a,l])}function Ac(e){const t={};return Array.isArray(e)?(e==null||e.forEach(n=>{t[n.name]=n}),t):e||t}function Ec(e={}){return Array.isArray(e)?e:Object.keys(e).map(t=>(e[t].name=t,e[t]))}function Tc({enabled:e,enableEvents:t,placement:n,flip:i,offset:s,fixed:o,containerPadding:r,arrowElement:a,popperConfig:l={}}){var c,h,u,d,f;const g=Ac(l.modifiers);return Object.assign({},l,{placement:n,enabled:e,strategy:o?"fixed":l.strategy,modifiers:Ec(Object.assign({},g,{eventListeners:{enabled:t,options:(c=g.eventListeners)==null?void 0:c.options},preventOverflow:Object.assign({},g.preventOverflow,{options:r?Object.assign({padding:r},(h=g.preventOverflow)==null?void 0:h.options):(u=g.preventOverflow)==null?void 0:u.options}),offset:{options:Object.assign({offset:s},(d=g.offset)==null?void 0:d.options)},arrow:Object.assign({},g.arrow,{enabled:!!a,options:Object.assign({},(f=g.arrow)==null?void 0:f.options,{element:a})}),flip:Object.assign({enabled:!!i},g.flip)}))})}const Rc=["children","usePopper"];function Lc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}const Fc=()=>{};function Sr(e={}){const t=A.useContext(Yn),[n,i]=ul(),s=A.useRef(!1),{flip:o,offset:r,rootCloseEvent:a,fixed:l=!1,placement:c,popperConfig:h={},enableEventListeners:u=!0,usePopper:d=!!t}=e,f=(t==null?void 0:t.show)==null?!!e.show:t.show;f&&!s.current&&(s.current=!0);const g=w=>{t==null||t.toggle(!1,w)},{placement:m,setMenu:p,menuElement:b,toggleElement:x}=t||{},v=Cc(x,b,Tc({placement:c||m||"bottom-start",enabled:d,enableEvents:u??f,offset:r,flip:o,fixed:l,arrowElement:n,popperConfig:h})),_=Object.assign({ref:p||Fc,"aria-labelledby":x==null?void 0:x.id},v.attributes.popper,{style:v.styles.popper}),y={show:f,placement:m,hasShown:s.current,toggle:t==null?void 0:t.toggle,popper:d?v:null,arrowProps:d?Object.assign({ref:i},v.attributes.arrow,{style:v.styles.arrow}):{}};return Dc(b,g,{clickTrigger:a,disabled:!f}),[_,y]}function kr(e){let{children:t,usePopper:n=!0}=e,i=Lc(e,Rc);const[s,o]=Sr(Object.assign({},i,{usePopper:n}));return M.jsx(M.Fragment,{children:t(s,o)})}kr.displayName="DropdownMenu";const Ni={prefix:String(Math.round(Math.random()*1e10)),current:0},Mr=ue.createContext(Ni),Ic=ue.createContext(!1);let jc=!!(typeof window<"u"&&window.document&&window.document.createElement),ti=new WeakMap;function $c(e=!1){let t=A.useContext(Mr),n=A.useRef(null);if(n.current===null&&!e){var i,s;let o=(s=ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||s===void 0||(i=s.ReactCurrentOwner)===null||i===void 0?void 0:i.current;if(o){let r=ti.get(o);r==null?ti.set(o,{id:t.current,state:o.memoizedState}):o.memoizedState!==r.state&&(t.current=r.id,ti.delete(o))}n.current=++t.current}return n.current}function zc(e){let t=A.useContext(Mr);t===Ni&&!jc&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let n=$c(!!e),i=`react-aria${t.prefix}`;return e||`${i}-${n}`}function Nc(e){let t=ue.useId(),[n]=A.useState(Yc()),i=n?"react-aria":`react-aria${Ni.prefix}`;return e||`${i}-${t}`}const Bc=typeof ue.useId=="function"?Nc:zc;function Hc(){return!1}function Wc(){return!0}function Vc(e){return()=>{}}function Yc(){return typeof ue.useSyncExternalStore=="function"?ue.useSyncExternalStore(Vc,Hc,Wc):A.useContext(Ic)}const Cr=e=>{var t;return((t=e.getAttribute("role"))==null?void 0:t.toLowerCase())==="menu"},Ts=()=>{};function Pr(){const e=Bc(),{show:t=!1,toggle:n=Ts,setToggle:i,menuElement:s}=A.useContext(Yn)||{},o=A.useCallback(a=>{n(!t,a)},[t,n]),r={id:e,ref:i||Ts,onClick:o,"aria-expanded":!!t};return s&&Cr(s)&&(r["aria-haspopup"]=!0),[r,{show:t,toggle:n}]}function Or({children:e}){const[t,n]=Pr();return M.jsx(M.Fragment,{children:e(t,n)})}Or.displayName="DropdownToggle";const _i=A.createContext(null),Rs=(e,t=null)=>e!=null?String(e):t||null,Dr=A.createContext(null);Dr.displayName="NavContext";const Uc=["eventKey","disabled","onClick","active","as"];function Xc(e,t){if(e==null)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i)>=0)continue;n[i]=e[i]}return n}function Ar({key:e,href:t,active:n,disabled:i,onClick:s}){const o=A.useContext(_i),r=A.useContext(Dr),{activeKey:a}=r||{},l=Rs(e,t),c=n==null&&e!=null?Rs(a)===l:n;return[{onClick:Vt(u=>{i||(s==null||s(u),o&&!u.isPropagationStopped()&&o(l,u))}),"aria-disabled":i||void 0,"aria-selected":c,[ar("dropdown-item")]:""},{isActive:c}]}const Er=A.forwardRef((e,t)=>{let{eventKey:n,disabled:i,onClick:s,active:o,as:r=Ya}=e,a=Xc(e,Uc);const[l]=Ar({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,Object.assign({},a,{ref:t},l))});Er.displayName="DropdownItem";function Ls(){const e=bl(),t=A.useRef(null),n=A.useCallback(i=>{t.current=i,e()},[e]);return[t,n]}function an({defaultShow:e,show:t,onSelect:n,onToggle:i,itemSelector:s=`* [${ar("dropdown-item")}]`,focusFirstItemOnShow:o,placement:r="bottom-start",children:a}){const l=Ua(),[c,h]=ml(t,e,i),[u,d]=Ls(),f=u.current,[g,m]=Ls(),p=g.current,b=Xa(c),x=A.useRef(null),v=A.useRef(!1),_=A.useContext(_i),y=A.useCallback((C,O,E=O==null?void 0:O.type)=>{h(C,{originalEvent:O,source:E})},[h]),w=Vt((C,O)=>{n==null||n(C,O),y(!1,O,"select"),O.isPropagationStopped()||_==null||_(C,O)}),k=A.useMemo(()=>({toggle:y,placement:r,show:c,menuElement:f,toggleElement:p,setMenu:d,setToggle:m}),[y,r,c,f,p,d,m]);f&&b&&!c&&(v.current=f.contains(f.ownerDocument.activeElement));const S=Vt(()=>{p&&p.focus&&p.focus()}),P=Vt(()=>{const C=x.current;let O=o;if(O==null&&(O=u.current&&Cr(u.current)?"keyboard":!1),O===!1||O==="keyboard"&&!/^key.+$/.test(C))return;const E=bs(u.current,s)[0];E&&E.focus&&E.focus()});A.useEffect(()=>{c?P():v.current&&(v.current=!1,S())},[c,v,S,P]),A.useEffect(()=>{x.current=null});const D=(C,O)=>{if(!u.current)return null;const E=bs(u.current,s);let F=E.indexOf(C)+O;return F=Math.max(0,Math.min(F,E.length)),E[F]};return dl(A.useCallback(()=>l.document,[l]),"keydown",C=>{var O,E;const{key:F}=C,R=C.target,L=(O=u.current)==null?void 0:O.contains(R),I=(E=g.current)==null?void 0:E.contains(R);if(/input|textarea/i.test(R.tagName)&&(F===" "||F!=="Escape"&&L||F==="Escape"&&R.type==="search")||!L&&!I||F==="Tab"&&(!u.current||!c))return;x.current=C.type;const $={originalEvent:C,source:C.type};switch(F){case"ArrowUp":{const N=D(R,-1);N&&N.focus&&N.focus(),C.preventDefault();return}case"ArrowDown":if(C.preventDefault(),!c)h(!0,$);else{const N=D(R,1);N&&N.focus&&N.focus()}return;case"Tab":Ka(R.ownerDocument,"keyup",N=>{var tt;(N.key==="Tab"&&!N.target||!((tt=u.current)!=null&&tt.contains(N.target)))&&h(!1,$)},{once:!0});break;case"Escape":F==="Escape"&&(C.preventDefault(),C.stopPropagation()),h(!1,$);break}}),M.jsx(_i.Provider,{value:w,children:M.jsx(Yn.Provider,{value:k,children:a})})}an.displayName="Dropdown";an.Menu=kr;an.Toggle=Or;an.Item=Er;const Bi=A.createContext({});Bi.displayName="DropdownContext";const Tr=A.forwardRef(({className:e,bsPrefix:t,as:n="hr",role:i="separator",...s},o)=>(t=Kt(t,"dropdown-divider"),M.jsx(n,{ref:o,className:qt(e,t),role:i,...s})));Tr.displayName="DropdownDivider";const Rr=A.forwardRef(({className:e,bsPrefix:t,as:n="div",role:i="heading",...s},o)=>(t=Kt(t,"dropdown-header"),M.jsx(n,{ref:o,className:qt(e,t),role:i,...s})));Rr.displayName="DropdownHeader";const Lr=A.forwardRef(({bsPrefix:e,className:t,eventKey:n,disabled:i=!1,onClick:s,active:o,as:r=fr,...a},l)=>{const c=Kt(e,"dropdown-item"),[h,u]=Ar({key:n,href:a.href,disabled:i,onClick:s,active:o});return M.jsx(r,{...a,...h,ref:l,className:qt(t,c,u.isActive&&"active",i&&"disabled")})});Lr.displayName="DropdownItem";const Fr=A.forwardRef(({className:e,bsPrefix:t,as:n="span",...i},s)=>(t=Kt(t,"dropdown-item-text"),M.jsx(n,{ref:s,className:qt(e,t),...i})));Fr.displayName="DropdownItemText";const Kc=typeof global<"u"&&global.navigator&&global.navigator.product==="ReactNative",qc=typeof document<"u",Gc=qc||Kc?A.useLayoutEffect:A.useEffect,Ir=A.createContext(null);Ir.displayName="NavbarContext";function jr(e,t){return e}function $r(e,t,n){const i=n?"top-end":"top-start",s=n?"top-start":"top-end",o=n?"bottom-end":"bottom-start",r=n?"bottom-start":"bottom-end",a=n?"right-start":"left-start",l=n?"right-end":"left-end",c=n?"left-start":"right-start",h=n?"left-end":"right-end";let u=e?r:o;return t==="up"?u=e?s:i:t==="end"?u=e?h:c:t==="start"?u=e?l:a:t==="down-centered"?u="bottom":t==="up-centered"&&(u="top"),u}const zr=A.forwardRef(({bsPrefix:e,className:t,align:n,rootCloseEvent:i,flip:s=!0,show:o,renderOnMount:r,as:a="div",popperConfig:l,variant:c,...h},u)=>{let d=!1;const f=A.useContext(Ir),g=Kt(e,"dropdown-menu"),{align:m,drop:p,isRTL:b}=A.useContext(Bi);n=n||m;const x=A.useContext(ur),v=[];if(n)if(typeof n=="object"){const C=Object.keys(n);if(C.length){const O=C[0],E=n[O];d=E==="start",v.push(`${g}-${O}-${E}`)}}else n==="end"&&(d=!0);const _=$r(d,p,b),[y,{hasShown:w,popper:k,show:S,toggle:P}]=Sr({flip:s,rootCloseEvent:i,show:o,usePopper:!f&&v.length===0,offset:[0,2],popperConfig:l,placement:_});if(y.ref=lr(jr(u),y.ref),Gc(()=>{S&&(k==null||k.update())},[S]),!w&&!r&&!x)return null;typeof a!="string"&&(y.show=S,y.close=()=>P==null?void 0:P(!1),y.align=n);let D=h.style;return k!=null&&k.placement&&(D={...h.style,...y.style},h["x-placement"]=k.placement),M.jsx(a,{...h,...y,style:D,...(v.length||f)&&{"data-bs-popper":"static"},className:qt(t,g,S&&"show",d&&`${g}-end`,c&&`${g}-${c}`,...v)})});zr.displayName="DropdownMenu";const Nr=A.forwardRef(({bsPrefix:e,split:t,className:n,childBsPrefix:i,as:s=Ft,...o},r)=>{const a=Kt(e,"dropdown-toggle"),l=A.useContext(Yn);i!==void 0&&(o.bsPrefix=i);const[c]=Pr();return c.ref=lr(c.ref,jr(r)),M.jsx(s,{className:qt(n,a,t&&`${a}-split`,(l==null?void 0:l.show)&&"show"),...c,...o})});Nr.displayName="DropdownToggle";const Br=A.forwardRef((e,t)=>{const{bsPrefix:n,drop:i="down",show:s,className:o,align:r="start",onSelect:a,onToggle:l,focusFirstItemOnShow:c,as:h="div",navbar:u,autoClose:d=!0,...f}=hl(e,{show:"onToggle"}),g=A.useContext(ur),m=Kt(n,"dropdown"),p=qa(),b=k=>d===!1?k==="click":d==="inside"?k!=="rootClose":d==="outside"?k!=="select":!0,x=Ga((k,S)=>{var P;!((P=S.originalEvent)==null||(P=P.target)==null)&&P.classList.contains("dropdown-toggle")&&S.source==="mousedown"||(S.originalEvent.currentTarget===document&&(S.source!=="keydown"||S.originalEvent.key==="Escape")&&(S.source="rootClose"),b(S.source)&&(l==null||l(k,S)))}),_=$r(r==="end",i,p),y=A.useMemo(()=>({align:r,drop:i,isRTL:p}),[r,i,p]),w={down:m,"down-centered":`${m}-center`,up:"dropup","up-centered":"dropup-center dropup",end:"dropend",start:"dropstart"};return M.jsx(Bi.Provider,{value:y,children:M.jsx(an,{placement:_,show:s,onSelect:a,onToggle:x,focusFirstItemOnShow:c,itemSelector:`.${m}-item:not(.disabled):not(:disabled)`,children:g?f.children:M.jsx(h,{...f,ref:t,className:qt(o,s&&"show",w[i])})})})});Br.displayName="Dropdown";const ei=Object.assign(Br,{Toggle:Nr,Menu:zr,Item:Lr,ItemText:Fr,Divider:Tr,Header:Rr});/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function ln(e){return e+.5|0}const Bt=(e,t,n)=>Math.max(Math.min(e,n),t);function $e(e){return Bt(ln(e*2.55),0,255)}function Yt(e){return Bt(ln(e*255),0,255)}function Lt(e){return Bt(ln(e/2.55)/100,0,1)}function Fs(e){return Bt(ln(e*100),0,100)}const mt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},wi=[..."0123456789ABCDEF"],Jc=e=>wi[e&15],Zc=e=>wi[(e&240)>>4]+wi[e&15],fn=e=>(e&240)>>4===(e&15),Qc=e=>fn(e.r)&&fn(e.g)&&fn(e.b)&&fn(e.a);function th(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&mt[e[1]]*17,g:255&mt[e[2]]*17,b:255&mt[e[3]]*17,a:t===5?mt[e[4]]*17:255}:(t===7||t===9)&&(n={r:mt[e[1]]<<4|mt[e[2]],g:mt[e[3]]<<4|mt[e[4]],b:mt[e[5]]<<4|mt[e[6]],a:t===9?mt[e[7]]<<4|mt[e[8]]:255})),n}const eh=(e,t)=>e<255?t(e):"";function nh(e){var t=Qc(e)?Jc:Zc;return e?"#"+t(e.r)+t(e.g)+t(e.b)+eh(e.a,t):void 0}const ih=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Hr(e,t,n){const i=t*Math.min(n,1-n),s=(o,r=(o+e/30)%12)=>n-i*Math.max(Math.min(r-3,9-r,1),-1);return[s(0),s(8),s(4)]}function sh(e,t,n){const i=(s,o=(s+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function oh(e,t,n){const i=Hr(e,1,.5);let s;for(t+n>1&&(s=1/(t+n),t*=s,n*=s),s=0;s<3;s++)i[s]*=1-t-n,i[s]+=t;return i}function rh(e,t,n,i,s){return e===s?(t-n)/i+(t<n?6:0):t===s?(n-e)/i+2:(e-t)/i+4}function Hi(e){const n=e.r/255,i=e.g/255,s=e.b/255,o=Math.max(n,i,s),r=Math.min(n,i,s),a=(o+r)/2;let l,c,h;return o!==r&&(h=o-r,c=a>.5?h/(2-o-r):h/(o+r),l=rh(n,i,s,h,o),l=l*60+.5),[l|0,c||0,a]}function Wi(e,t,n,i){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,i)).map(Yt)}function Vi(e,t,n){return Wi(Hr,e,t,n)}function ah(e,t,n){return Wi(oh,e,t,n)}function lh(e,t,n){return Wi(sh,e,t,n)}function Wr(e){return(e%360+360)%360}function ch(e){const t=ih.exec(e);let n=255,i;if(!t)return;t[5]!==i&&(n=t[6]?$e(+t[5]):Yt(+t[5]));const s=Wr(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=ah(s,o,r):t[1]==="hsv"?i=lh(s,o,r):i=Vi(s,o,r),{r:i[0],g:i[1],b:i[2],a:n}}function hh(e,t){var n=Hi(e);n[0]=Wr(n[0]+t),n=Vi(n),e.r=n[0],e.g=n[1],e.b=n[2]}function uh(e){if(!e)return;const t=Hi(e),n=t[0],i=Fs(t[1]),s=Fs(t[2]);return e.a<255?`hsla(${n}, ${i}%, ${s}%, ${Lt(e.a)})`:`hsl(${n}, ${i}%, ${s}%)`}const Is={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},js={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function dh(){const e={},t=Object.keys(js),n=Object.keys(Is);let i,s,o,r,a;for(i=0;i<t.length;i++){for(r=a=t[i],s=0;s<n.length;s++)o=n[s],a=a.replace(o,Is[o]);o=parseInt(js[r],16),e[a]=[o>>16&255,o>>8&255,o&255]}return e}let pn;function fh(e){pn||(pn=dh(),pn.transparent=[0,0,0,0]);const t=pn[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const ph=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function gh(e){const t=ph.exec(e);let n=255,i,s,o;if(t){if(t[7]!==i){const r=+t[7];n=t[8]?$e(r):Bt(r*255,0,255)}return i=+t[1],s=+t[3],o=+t[5],i=255&(t[2]?$e(i):Bt(i,0,255)),s=255&(t[4]?$e(s):Bt(s,0,255)),o=255&(t[6]?$e(o):Bt(o,0,255)),{r:i,g:s,b:o,a:n}}}function mh(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Lt(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const ni=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,me=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function bh(e,t,n){const i=me(Lt(e.r)),s=me(Lt(e.g)),o=me(Lt(e.b));return{r:Yt(ni(i+n*(me(Lt(t.r))-i))),g:Yt(ni(s+n*(me(Lt(t.g))-s))),b:Yt(ni(o+n*(me(Lt(t.b))-o))),a:e.a+n*(t.a-e.a)}}function gn(e,t,n){if(e){let i=Hi(e);i[t]=Math.max(0,Math.min(i[t]+i[t]*n,t===0?360:1)),i=Vi(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function Vr(e,t){return e&&Object.assign(t||{},e)}function $s(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Yt(e[3]))):(t=Vr(e,{r:0,g:0,b:0,a:1}),t.a=Yt(t.a)),t}function xh(e){return e.charAt(0)==="r"?gh(e):ch(e)}class Ge{constructor(t){if(t instanceof Ge)return t;const n=typeof t;let i;n==="object"?i=$s(t):n==="string"&&(i=th(t)||fh(t)||xh(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Vr(this._rgb);return t&&(t.a=Lt(t.a)),t}set rgb(t){this._rgb=$s(t)}rgbString(){return this._valid?mh(this._rgb):void 0}hexString(){return this._valid?nh(this._rgb):void 0}hslString(){return this._valid?uh(this._rgb):void 0}mix(t,n){if(t){const i=this.rgb,s=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=i.a-s.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*s.r+.5,i.g=255&c*i.g+o*s.g+.5,i.b=255&c*i.b+o*s.b+.5,i.a=r*i.a+(1-r)*s.a,this.rgb=i}return this}interpolate(t,n){return t&&(this._rgb=bh(this._rgb,t._rgb,n)),this}clone(){return new Ge(this.rgb)}alpha(t){return this._rgb.a=Yt(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=ln(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return gn(this._rgb,2,t),this}darken(t){return gn(this._rgb,2,-t),this}saturate(t){return gn(this._rgb,1,t),this}desaturate(t){return gn(this._rgb,1,-t),this}rotate(t){return hh(this._rgb,t),this}}/*! + * Chart.js v4.4.7 + * https://www.chartjs.org + * (c) 2024 Chart.js Contributors + * Released under the MIT License + */function Et(){}const yh=(()=>{let e=0;return()=>e++})();function W(e){return e==null}function J(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function z(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function vt(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function St(e,t){return vt(e)?e:t}function j(e,t){return typeof e>"u"?t:e}const vh=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function V(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function H(e,t,n,i){let s,o,r;if(J(e))for(o=e.length,s=0;s<o;s++)t.call(n,e[s],s);else if(z(e))for(r=Object.keys(e),o=r.length,s=0;s<o;s++)t.call(n,e[r[s]],r[s])}function Fn(e,t){let n,i,s,o;if(!e||!t||e.length!==t.length)return!1;for(n=0,i=e.length;n<i;++n)if(s=e[n],o=t[n],s.datasetIndex!==o.datasetIndex||s.index!==o.index)return!1;return!0}function In(e){if(J(e))return e.map(In);if(z(e)){const t=Object.create(null),n=Object.keys(e),i=n.length;let s=0;for(;s<i;++s)t[n[s]]=In(e[n[s]]);return t}return e}function Yr(e){return["__proto__","prototype","constructor"].indexOf(e)===-1}function _h(e,t,n,i){if(!Yr(e))return;const s=t[e],o=n[e];z(s)&&z(o)?Je(s,o,i):t[e]=In(o)}function Je(e,t,n){const i=J(t)?t:[t],s=i.length;if(!z(e))return e;n=n||{};const o=n.merger||_h;let r;for(let a=0;a<s;++a){if(r=i[a],!z(r))continue;const l=Object.keys(r);for(let c=0,h=l.length;c<h;++c)o(l[c],e,r,n)}return e}function Ve(e,t){return Je(e,t,{merger:wh})}function wh(e,t,n){if(!Yr(e))return;const i=t[e],s=n[e];z(i)&&z(s)?Ve(i,s):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=In(s))}const zs={"":e=>e,x:e=>e.x,y:e=>e.y};function Sh(e){const t=e.split("."),n=[];let i="";for(const s of t)i+=s,i.endsWith("\\")?i=i.slice(0,-1)+".":(n.push(i),i="");return n}function kh(e){const t=Sh(e);return n=>{for(const i of t){if(i==="")break;n=n&&n[i]}return n}}function Ce(e,t){return(zs[t]||(zs[t]=kh(t)))(e)}function Yi(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Ze=e=>typeof e<"u",Xt=e=>typeof e=="function",Ns=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function Mh(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const Z=Math.PI,st=2*Z,Ch=st+Z,jn=Number.POSITIVE_INFINITY,Ph=Z/180,it=Z/2,te=Z/4,Bs=Z*2/3,Si=Math.log10,Dt=Math.sign;function Ye(e,t,n){return Math.abs(e-t)<n}function Hs(e){const t=Math.round(e);e=Ye(e,t,e/1e3)?t:e;const n=Math.pow(10,Math.floor(Si(e))),i=e/n;return(i<=1?1:i<=2?2:i<=5?5:10)*n}function Oh(e){const t=[],n=Math.sqrt(e);let i;for(i=1;i<n;i++)e%i===0&&(t.push(i),t.push(e/i));return n===(n|0)&&t.push(n),t.sort((s,o)=>s-o).pop(),t}function Qe(e){return!isNaN(parseFloat(e))&&isFinite(e)}function Dh(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function Ah(e,t,n){let i,s,o;for(i=0,s=e.length;i<s;i++)o=e[i][n],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function ae(e){return e*(Z/180)}function Eh(e){return e*(180/Z)}function Ws(e){if(!vt(e))return;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n++;return n}function Ur(e,t){const n=t.x-e.x,i=t.y-e.y,s=Math.sqrt(n*n+i*i);let o=Math.atan2(i,n);return o<-.5*Z&&(o+=st),{angle:o,distance:s}}function ki(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function Th(e,t){return(e-t+Ch)%st-Z}function Nt(e){return(e%st+st)%st}function Ui(e,t,n,i){const s=Nt(e),o=Nt(t),r=Nt(n),a=Nt(o-s),l=Nt(r-s),c=Nt(s-o),h=Nt(s-r);return s===o||s===r||i&&o===r||a>l&&c<h}function rt(e,t,n){return Math.max(t,Math.min(n,e))}function Rh(e){return rt(e,-32768,32767)}function Ht(e,t,n,i=1e-6){return e>=Math.min(t,n)-i&&e<=Math.max(t,n)+i}function Xi(e,t,n){n=n||(r=>e[r]<t);let i=e.length-1,s=0,o;for(;i-s>1;)o=s+i>>1,n(o)?s=o:i=o;return{lo:s,hi:i}}const le=(e,t,n,i)=>Xi(e,n,i?s=>{const o=e[s][t];return o<n||o===n&&e[s+1][t]===n}:s=>e[s][t]<n),Lh=(e,t,n)=>Xi(e,n,i=>e[i][t]>=n);function Fh(e,t,n){let i=0,s=e.length;for(;i<s&&e[i]<t;)i++;for(;s>i&&e[s-1]>n;)s--;return i>0||s<e.length?e.slice(i,s):e}const Xr=["push","pop","shift","splice","unshift"];function Ih(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Xr.forEach(n=>{const i="_onData"+Yi(n),s=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=s.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function Vs(e,t){const n=e._chartjs;if(!n)return;const i=n.listeners,s=i.indexOf(t);s!==-1&&i.splice(s,1),!(i.length>0)&&(Xr.forEach(o=>{delete e[o]}),delete e._chartjs)}function Kr(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const qr=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function Gr(e,t){let n=[],i=!1;return function(...s){n=s,i||(i=!0,qr.call(window,()=>{i=!1,e.apply(t,n)}))}}function jh(e,t){let n;return function(...i){return t?(clearTimeout(n),n=setTimeout(e,t,i)):e.apply(this,i),t}}const Ki=e=>e==="start"?"left":e==="end"?"right":"center",ot=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,$h=(e,t,n,i)=>e===(i?"left":"right")?n:e==="center"?(t+n)/2:t;function zh(e,t,n){const i=t.length;let s=0,o=i;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:h,minDefined:u,maxDefined:d}=r.getUserBounds();u&&(s=rt(Math.min(le(a,l,c).lo,n?i:le(t,l,r.getPixelForValue(c)).lo),0,i-1)),d?o=rt(Math.max(le(a,r.axis,h,!0).hi+1,n?0:le(t,l,r.getPixelForValue(h),!0).hi+1),s,i)-s:o=i-s}return{start:s,count:o}}function Nh(e){const{xScale:t,yScale:n,_scaleRanges:i}=e,s={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!i)return e._scaleRanges=s,!0;const o=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==n.min||i.ymax!==n.max;return Object.assign(i,s),o}const mn=e=>e===0||e===1,Ys=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*st/n)),Us=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*st/n)+1,Ue={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*it)+1,easeOutSine:e=>Math.sin(e*it),easeInOutSine:e=>-.5*(Math.cos(Z*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>mn(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>mn(e)?e:Ys(e,.075,.3),easeOutElastic:e=>mn(e)?e:Us(e,.075,.3),easeInOutElastic(e){return mn(e)?e:e<.5?.5*Ys(e*2,.1125,.45):.5+.5*Us(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Ue.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Ue.easeInBounce(e*2)*.5:Ue.easeOutBounce(e*2-1)*.5+.5};function qi(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Xs(e){return qi(e)?e:new Ge(e)}function ii(e){return qi(e)?e:new Ge(e).saturate(.5).darken(.1).hexString()}const Bh=["x","y","borderWidth","radius","tension"],Hh=["color","borderColor","backgroundColor"];function Wh(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:Hh},numbers:{type:"number",properties:Bh}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Vh(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Ks=new Map;function Yh(e,t){t=t||{};const n=e+JSON.stringify(t);let i=Ks.get(n);return i||(i=new Intl.NumberFormat(e,t),Ks.set(n,i)),i}function Jr(e,t,n){return Yh(t,n).format(e)}const Zr={values(e){return J(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const i=this.chart.options.locale;let s,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(s="scientific"),o=Uh(e,n)}const r=Si(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:s,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Jr(e,i,l)},logarithmic(e,t,n){if(e===0)return"0";const i=n[t].significand||e/Math.pow(10,Math.floor(Si(e)));return[1,2,3,5,10,15].includes(i)||t>.8*n.length?Zr.numeric.call(this,e,t,n):""}};function Uh(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var Qr={formatters:Zr};function Xh(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Qr.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const fe=Object.create(null),Mi=Object.create(null);function Xe(e,t){if(!t)return e;const n=t.split(".");for(let i=0,s=n.length;i<s;++i){const o=n[i];e=e[o]||(e[o]=Object.create(null))}return e}function si(e,t,n){return typeof t=="string"?Je(Xe(e,t),n):Je(Xe(e,""),t)}class Kh{constructor(t,n){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,s)=>ii(s.backgroundColor),this.hoverBorderColor=(i,s)=>ii(s.borderColor),this.hoverColor=(i,s)=>ii(s.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return si(this,t,n)}get(t){return Xe(this,t)}describe(t,n){return si(Mi,t,n)}override(t,n){return si(fe,t,n)}route(t,n,i,s){const o=Xe(this,t),r=Xe(this,i),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[s];return z(l)?Object.assign({},c,l):j(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var K=new Kh({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Wh,Vh,Xh]);function qh(e){return!e||W(e.size)||W(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function qs(e,t,n,i,s){let o=t[s];return o||(o=t[s]=e.measureText(s).width,n.push(s)),o>i&&(i=o),i}function ee(e,t,n){const i=e.currentDevicePixelRatio,s=n!==0?Math.max(n/2,.5):0;return Math.round((t-s)*i)/i+s}function Gs(e,t){!t&&!e||(t=t||e.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function Ci(e,t,n,i){ta(e,t,n,i,null)}function ta(e,t,n,i,s){let o,r,a,l,c,h,u,d;const f=t.pointStyle,g=t.rotation,m=t.radius;let p=(g||0)*Ph;if(f&&typeof f=="object"&&(o=f.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){e.save(),e.translate(n,i),e.rotate(p),e.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),e.restore();return}if(!(isNaN(m)||m<=0)){switch(e.beginPath(),f){default:s?e.ellipse(n,i,s/2,m,0,0,st):e.arc(n,i,m,0,st),e.closePath();break;case"triangle":h=s?s/2:m,e.moveTo(n+Math.sin(p)*h,i-Math.cos(p)*m),p+=Bs,e.lineTo(n+Math.sin(p)*h,i-Math.cos(p)*m),p+=Bs,e.lineTo(n+Math.sin(p)*h,i-Math.cos(p)*m),e.closePath();break;case"rectRounded":c=m*.516,l=m-c,r=Math.cos(p+te)*l,u=Math.cos(p+te)*(s?s/2-c:l),a=Math.sin(p+te)*l,d=Math.sin(p+te)*(s?s/2-c:l),e.arc(n-u,i-a,c,p-Z,p-it),e.arc(n+d,i-r,c,p-it,p),e.arc(n+u,i+a,c,p,p+it),e.arc(n-d,i+r,c,p+it,p+Z),e.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*m,h=s?s/2:l,e.rect(n-h,i-l,2*h,2*l);break}p+=te;case"rectRot":u=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(s?s/2:m),e.moveTo(n-u,i-a),e.lineTo(n+d,i-r),e.lineTo(n+u,i+a),e.lineTo(n-d,i+r),e.closePath();break;case"crossRot":p+=te;case"cross":u=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(s?s/2:m),e.moveTo(n-u,i-a),e.lineTo(n+u,i+a),e.moveTo(n+d,i-r),e.lineTo(n-d,i+r);break;case"star":u=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(s?s/2:m),e.moveTo(n-u,i-a),e.lineTo(n+u,i+a),e.moveTo(n+d,i-r),e.lineTo(n-d,i+r),p+=te,u=Math.cos(p)*(s?s/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(s?s/2:m),e.moveTo(n-u,i-a),e.lineTo(n+u,i+a),e.moveTo(n+d,i-r),e.lineTo(n-d,i+r);break;case"line":r=s?s/2:Math.cos(p)*m,a=Math.sin(p)*m,e.moveTo(n-r,i-a),e.lineTo(n+r,i+a);break;case"dash":e.moveTo(n,i),e.lineTo(n+Math.cos(p)*(s?s/2:m),i+Math.sin(p)*m);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function tn(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.x<t.right+n&&e.y>t.top-n&&e.y<t.bottom+n}function Gi(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function Ji(e){e.restore()}function Gh(e,t,n,i,s){if(!t)return e.lineTo(n.x,n.y);if(s==="middle"){const o=(t.x+n.x)/2;e.lineTo(o,t.y),e.lineTo(o,n.y)}else s==="after"!=!!i?e.lineTo(t.x,n.y):e.lineTo(n.x,t.y);e.lineTo(n.x,n.y)}function Jh(e,t,n,i){if(!t)return e.lineTo(n.x,n.y);e.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?n.cp2x:n.cp1x,i?n.cp2y:n.cp1y,n.x,n.y)}function Zh(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),W(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function Qh(e,t,n,i,s){if(s.strikethrough||s.underline){const o=e.measureText(i),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=n-o.actualBoundingBoxAscent,c=n+o.actualBoundingBoxDescent,h=s.strikethrough?(l+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=s.decorationWidth||2,e.moveTo(r,h),e.lineTo(a,h),e.stroke()}}function tu(e,t){const n=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=n}function en(e,t,n,i,s,o={}){const r=J(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=s.string,Zh(e,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&tu(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),W(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,n,i,o.maxWidth)),e.fillText(c,n,i,o.maxWidth),Qh(e,n,i,c,o),i+=Number(s.lineHeight);e.restore()}function $n(e,t){const{x:n,y:i,w:s,h:o,radius:r}=t;e.arc(n+r.topLeft,i+r.topLeft,r.topLeft,1.5*Z,Z,!0),e.lineTo(n,i+o-r.bottomLeft),e.arc(n+r.bottomLeft,i+o-r.bottomLeft,r.bottomLeft,Z,it,!0),e.lineTo(n+s-r.bottomRight,i+o),e.arc(n+s-r.bottomRight,i+o-r.bottomRight,r.bottomRight,it,0,!0),e.lineTo(n+s,i+r.topRight),e.arc(n+s-r.topRight,i+r.topRight,r.topRight,0,-it,!0),e.lineTo(n+r.topLeft,i)}const eu=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,nu=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function iu(e,t){const n=(""+e).match(eu);if(!n||n[1]==="normal")return t*1.2;switch(e=+n[2],n[3]){case"px":return e;case"%":e/=100;break}return t*e}const su=e=>+e||0;function Zi(e,t){const n={},i=z(t),s=i?Object.keys(t):t,o=z(e)?i?r=>j(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of s)n[r]=su(o(r));return n}function ea(e){return Zi(e,{top:"y",right:"x",bottom:"y",left:"x"})}function ye(e){return Zi(e,["topLeft","topRight","bottomLeft","bottomRight"])}function _t(e){const t=ea(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function at(e,t){e=e||{},t=t||K.font;let n=j(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let i=j(e.style,t.style);i&&!(""+i).match(nu)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const s={family:j(e.family,t.family),lineHeight:iu(j(e.lineHeight,t.lineHeight),n),size:n,style:i,weight:j(e.weight,t.weight),string:""};return s.string=qh(s),s}function bn(e,t,n,i){let s,o,r;for(s=0,o=e.length;s<o;++s)if(r=e[s],r!==void 0&&(t!==void 0&&typeof r=="function"&&(r=r(t)),n!==void 0&&J(r)&&(r=r[n%r.length]),r!==void 0))return r}function ou(e,t,n){const{min:i,max:s}=e,o=vh(t,(s-i)/2),r=(a,l)=>n&&a===0?0:a+l;return{min:r(i,-Math.abs(o)),max:r(s,o)}}function pe(e,t){return Object.assign(Object.create(e),t)}function Qi(e,t=[""],n,i,s=()=>e[0]){const o=n||e;typeof i>"u"&&(i=oa("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:i,_getTarget:s,override:a=>Qi([a,...e],t,o,i)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return ia(a,l,()=>fu(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return Zs(a).includes(l)},ownKeys(a){return Zs(a)},set(a,l,c){const h=a._storage||(a._storage=s());return a[l]=h[l]=c,delete a._keys,!0}})}function Pe(e,t,n,i){const s={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:na(e,i),setContext:o=>Pe(e,o,n,i),override:o=>Pe(e.override(o),t,n,i)};return new Proxy(s,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return ia(o,r,()=>au(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function na(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:i=t.indexable,_allKeys:s=t.allKeys}=e;return{allKeys:s,scriptable:n,indexable:i,isScriptable:Xt(n)?n:()=>n,isIndexable:Xt(i)?i:()=>i}}const ru=(e,t)=>e?e+Yi(t):t,ts=(e,t)=>z(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function ia(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t==="constructor")return e[t];const i=n();return e[t]=i,i}function au(e,t,n){const{_proxy:i,_context:s,_subProxy:o,_descriptors:r}=e;let a=i[t];return Xt(a)&&r.isScriptable(t)&&(a=lu(t,a,e,n)),J(a)&&a.length&&(a=cu(t,a,e,r.isIndexable)),ts(t,a)&&(a=Pe(a,s,o&&o[t],r)),a}function lu(e,t,n,i){const{_proxy:s,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||i);return a.delete(e),ts(e,l)&&(l=es(s._scopes,s,e,l)),l}function cu(e,t,n,i){const{_proxy:s,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&i(e))return t[o.index%t.length];if(z(t[0])){const l=t,c=s._scopes.filter(h=>h!==l);t=[];for(const h of l){const u=es(c,s,e,h);t.push(Pe(u,o,r&&r[e],a))}}return t}function sa(e,t,n){return Xt(e)?e(t,n):e}const hu=(e,t)=>e===!0?t:typeof e=="string"?Ce(t,e):void 0;function uu(e,t,n,i,s){for(const o of t){const r=hu(n,o);if(r){e.add(r);const a=sa(r._fallback,n,s);if(typeof a<"u"&&a!==n&&a!==i)return a}else if(r===!1&&typeof i<"u"&&n!==i)return null}return!1}function es(e,t,n,i){const s=t._rootScopes,o=sa(t._fallback,n,i),r=[...e,...s],a=new Set;a.add(i);let l=Js(a,r,n,o||n,i);return l===null||typeof o<"u"&&o!==n&&(l=Js(a,r,o,l,i),l===null)?!1:Qi(Array.from(a),[""],s,o,()=>du(t,n,i))}function Js(e,t,n,i,s){for(;n;)n=uu(e,t,n,i,s);return n}function du(e,t,n){const i=e._getTarget();t in i||(i[t]={});const s=i[t];return J(s)&&z(n)?n:s||{}}function fu(e,t,n,i){let s;for(const o of t)if(s=oa(ru(o,e),n),typeof s<"u")return ts(e,s)?es(n,i,e,s):s}function oa(e,t){for(const n of t){if(!n)continue;const i=n[e];if(typeof i<"u")return i}}function Zs(e){let t=e._keys;return t||(t=e._keys=pu(e._scopes)),t}function pu(e){const t=new Set;for(const n of e)for(const i of Object.keys(n).filter(s=>!s.startsWith("_")))t.add(i);return Array.from(t)}const gu=Number.EPSILON||1e-14,Oe=(e,t)=>t<e.length&&!e[t].skip&&e[t],ra=e=>e==="x"?"y":"x";function mu(e,t,n,i){const s=e.skip?t:e,o=t,r=n.skip?t:n,a=ki(o,s),l=ki(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const u=i*c,d=i*h;return{previous:{x:o.x-u*(r.x-s.x),y:o.y-u*(r.y-s.y)},next:{x:o.x+d*(r.x-s.x),y:o.y+d*(r.y-s.y)}}}function bu(e,t,n){const i=e.length;let s,o,r,a,l,c=Oe(e,0);for(let h=0;h<i-1;++h)if(l=c,c=Oe(e,h+1),!(!l||!c)){if(Ye(t[h],0,gu)){n[h]=n[h+1]=0;continue}s=n[h]/t[h],o=n[h+1]/t[h],a=Math.pow(s,2)+Math.pow(o,2),!(a<=9)&&(r=3/Math.sqrt(a),n[h]=s*r*t[h],n[h+1]=o*r*t[h])}}function xu(e,t,n="x"){const i=ra(n),s=e.length;let o,r,a,l=Oe(e,0);for(let c=0;c<s;++c){if(r=a,a=l,l=Oe(e,c+1),!a)continue;const h=a[n],u=a[i];r&&(o=(h-r[n])/3,a[`cp1${n}`]=h-o,a[`cp1${i}`]=u-o*t[c]),l&&(o=(l[n]-h)/3,a[`cp2${n}`]=h+o,a[`cp2${i}`]=u+o*t[c])}}function yu(e,t="x"){const n=ra(t),i=e.length,s=Array(i).fill(0),o=Array(i);let r,a,l,c=Oe(e,0);for(r=0;r<i;++r)if(a=l,l=c,c=Oe(e,r+1),!!l){if(c){const h=c[t]-l[t];s[r]=h!==0?(c[n]-l[n])/h:0}o[r]=a?c?Dt(s[r-1])!==Dt(s[r])?0:(s[r-1]+s[r])/2:s[r-1]:s[r]}bu(e,s,o),xu(e,o,t)}function xn(e,t,n){return Math.max(Math.min(e,n),t)}function vu(e,t){let n,i,s,o,r,a=tn(e[0],t);for(n=0,i=e.length;n<i;++n)r=o,o=a,a=n<i-1&&tn(e[n+1],t),o&&(s=e[n],r&&(s.cp1x=xn(s.cp1x,t.left,t.right),s.cp1y=xn(s.cp1y,t.top,t.bottom)),a&&(s.cp2x=xn(s.cp2x,t.left,t.right),s.cp2y=xn(s.cp2y,t.top,t.bottom)))}function _u(e,t,n,i,s){let o,r,a,l;if(t.spanGaps&&(e=e.filter(c=>!c.skip)),t.cubicInterpolationMode==="monotone")yu(e,s);else{let c=i?e[e.length-1]:e[0];for(o=0,r=e.length;o<r;++o)a=e[o],l=mu(c,a,e[Math.min(o+1,r-(i?0:1))%r],t.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}t.capBezierPoints&&vu(e,n)}function ns(){return typeof window<"u"&&typeof document<"u"}function is(e){let t=e.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function zn(e,t,n){let i;return typeof e=="string"?(i=parseInt(e,10),e.indexOf("%")!==-1&&(i=i/100*t.parentNode[n])):i=e,i}const Xn=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function wu(e,t){return Xn(e).getPropertyValue(t)}const Su=["top","right","bottom","left"];function he(e,t,n){const i={};n=n?"-"+n:"";for(let s=0;s<4;s++){const o=Su[s];i[o]=parseFloat(e[t+"-"+o+n])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const ku=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function Mu(e,t){const n=e.touches,i=n&&n.length?n[0]:e,{offsetX:s,offsetY:o}=i;let r=!1,a,l;if(ku(s,o,e.target))a=s,l=o;else{const c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function oe(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:i}=t,s=Xn(n),o=s.boxSizing==="border-box",r=he(s,"padding"),a=he(s,"border","width"),{x:l,y:c,box:h}=Mu(e,n),u=r.left+(h&&a.left),d=r.top+(h&&a.top);let{width:f,height:g}=t;return o&&(f-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-u)/f*n.width/i),y:Math.round((c-d)/g*n.height/i)}}function Cu(e,t,n){let i,s;if(t===void 0||n===void 0){const o=e&&is(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=Xn(o),l=he(a,"border","width"),c=he(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,i=zn(a.maxWidth,o,"clientWidth"),s=zn(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:i||jn,maxHeight:s||jn}}const yn=e=>Math.round(e*10)/10;function Pu(e,t,n,i){const s=Xn(e),o=he(s,"margin"),r=zn(s.maxWidth,e,"clientWidth")||jn,a=zn(s.maxHeight,e,"clientHeight")||jn,l=Cu(e,t,n);let{width:c,height:h}=l;if(s.boxSizing==="content-box"){const d=he(s,"border","width"),f=he(s,"padding");c-=f.width+d.width,h-=f.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,i?c/i:h-o.height),c=yn(Math.min(c,r,l.maxWidth)),h=yn(Math.min(h,a,l.maxHeight)),c&&!h&&(h=yn(c/2)),(t!==void 0||n!==void 0)&&i&&l.height&&h>l.height&&(h=l.height,c=yn(Math.floor(h*i))),{width:c,height:h}}function Qs(e,t,n){const i=t||1,s=Math.floor(e.height*i),o=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==i||r.height!==s||r.width!==o?(e.currentDevicePixelRatio=i,r.height=s,r.width=o,e.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Ou=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};ns()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function to(e,t){const n=wu(e,t),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function re(e,t,n,i){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function Du(e,t,n,i){return{x:e.x+n*(t.x-e.x),y:i==="middle"?n<.5?e.y:t.y:i==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function Au(e,t,n,i){const s={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=re(e,s,n),a=re(s,o,n),l=re(o,t,n),c=re(r,a,n),h=re(a,l,n);return re(c,h,n)}const Eu=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,i){return n-i},leftForLtr(n,i){return n-i}}},Tu=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function ve(e,t,n){return e?Eu(t,n):Tu()}function aa(e,t){let n,i;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,i=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=i)}function la(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function ca(e){return e==="angle"?{between:Ui,compare:Th,normalize:Nt}:{between:Ht,compare:(t,n)=>t-n,normalize:t=>t}}function eo({start:e,end:t,count:n,loop:i,style:s}){return{start:e%n,end:t%n,loop:i&&(t-e+1)%n===0,style:s}}function Ru(e,t,n){const{property:i,start:s,end:o}=n,{between:r,normalize:a}=ca(i),l=t.length;let{start:c,end:h,loop:u}=e,d,f;if(u){for(c+=l,h+=l,d=0,f=l;d<f&&r(a(t[c%l][i]),s,o);++d)c--,h--;c%=l,h%=l}return h<c&&(h+=l),{start:c,end:h,loop:u,style:e.style}}function Lu(e,t,n){if(!n)return[e];const{property:i,start:s,end:o}=n,r=t.length,{compare:a,between:l,normalize:c}=ca(i),{start:h,end:u,loop:d,style:f}=Ru(e,t,n),g=[];let m=!1,p=null,b,x,v;const _=()=>l(s,v,b)&&a(s,v)!==0,y=()=>a(o,b)===0||l(o,v,b),w=()=>m||_(),k=()=>!m||y();for(let S=h,P=h;S<=u;++S)x=t[S%r],!x.skip&&(b=c(x[i]),b!==v&&(m=l(b,s,o),p===null&&w()&&(p=a(b,s)===0?S:P),p!==null&&k()&&(g.push(eo({start:p,end:S,loop:d,count:r,style:f})),p=null),P=S,v=b));return p!==null&&g.push(eo({start:p,end:u,loop:d,count:r,style:f})),g}function Fu(e,t){const n=[],i=e.segments;for(let s=0;s<i.length;s++){const o=Lu(i[s],e.points,t);o.length&&n.push(...o)}return n}function Iu(e,t,n,i){let s=0,o=t-1;if(n&&!i)for(;s<t&&!e[s].skip;)s++;for(;s<t&&e[s].skip;)s++;for(s%=t,n&&(o+=s);o>s&&e[o%t].skip;)o--;return o%=t,{start:s,end:o}}function ju(e,t,n,i){const s=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%s];c.skip||c.stop?a.skip||(i=!1,o.push({start:t%s,end:(l-1)%s,loop:i}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%s,end:r%s,loop:i}),o}function $u(e,t){const n=e.points,i=e.options.spanGaps,s=n.length;if(!s)return[];const o=!!e._loop,{start:r,end:a}=Iu(n,s,o,i);if(i===!0)return no(e,[{start:r,end:a,loop:o}],n,t);const l=a<r?a+s:a,c=!!e._fullLoop&&r===0&&a===s-1;return no(e,ju(n,r,l,c),n,t)}function no(e,t,n,i){return!i||!i.setContext||!n?t:zu(e,t,n,i)}function zu(e,t,n,i){const s=e._chart.getContext(),o=io(e.options),{_datasetIndex:r,options:{spanGaps:a}}=e,l=n.length,c=[];let h=o,u=t[0].start,d=u;function f(g,m,p,b){const x=a?-1:1;if(g!==m){for(g+=l;n[g%l].skip;)g-=x;for(;n[m%l].skip;)m+=x;g%l!==m%l&&(c.push({start:g%l,end:m%l,loop:p,style:b}),h=b,u=m%l)}}for(const g of t){u=a?u:g.start;let m=n[u%l],p;for(d=u+1;d<=g.end;d++){const b=n[d%l];p=io(i.setContext(pe(s,{type:"segment",p0:m,p1:b,p0DataIndex:(d-1)%l,p1DataIndex:d%l,datasetIndex:r}))),Nu(p,h)&&f(u,d-1,g.loop,h),m=b,h=p}u<d-1&&f(u,d-1,g.loop,h)}return c}function io(e){return{backgroundColor:e.backgroundColor,borderCapStyle:e.borderCapStyle,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderJoinStyle:e.borderJoinStyle,borderWidth:e.borderWidth,borderColor:e.borderColor}}function Nu(e,t){if(!t)return!1;const n=[],i=function(s,o){return qi(o)?(n.includes(o)||n.push(o),n.indexOf(o)):o};return JSON.stringify(e,i)!==JSON.stringify(t,i)}/*! + * Chart.js v4.4.7 + * https://www.chartjs.org + * (c) 2024 Chart.js Contributors + * Released under the MIT License + */class Bu{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,i,s){const o=n.listeners[s],r=n.duration;o.forEach(a=>a({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(i-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=qr.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((i,s)=>{if(!i.running||!i.items.length)return;const o=i.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(s.draw(),this._notify(s,i,t,"progress")),o.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let i=n.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,i)),i}listen(t,n,i){this._getAnims(t).listeners[n].push(i)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((i,s)=>Math.max(i,s._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const i=n.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Tt=new Bu;const so="transparent",Hu={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const i=Xs(e||so),s=i.valid&&Xs(t||so);return s&&s.valid?s.mix(i,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class Wu{constructor(t,n,i,s){const o=n[i];s=bn([t.to,s,o,t.from]);const r=bn([t.from,o,s]);this._active=!0,this._fn=t.fn||Hu[t.type||typeof r],this._easing=Ue[t.easing]||Ue.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=i,this._from=r,this._to=s,this._promises=void 0}active(){return this._active}update(t,n,i){if(this._active){this._notify(!1);const s=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=bn([t.to,n,s,t.from]),this._from=bn([t.from,s,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,i=this._duration,s=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n<i),!this._active){this._target[s]=a,this._notify(!0);return}if(n<0){this._target[s]=o;return}l=n/i%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[s]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,i)=>{t.push({res:n,rej:i})})}_notify(t){const n=t?"res":"rej",i=this._promises||[];for(let s=0;s<i.length;s++)i[s][n]()}}class ha{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!z(t))return;const n=Object.keys(K.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(s=>{const o=t[s];if(!z(o))return;const r={};for(const a of n)r[a]=o[a];(J(o.properties)&&o.properties||[s]).forEach(a=>{(a===s||!i.has(a))&&i.set(a,r)})})}_animateOptions(t,n){const i=n.options,s=Yu(t,i);if(!s)return[];const o=this._createAnimations(s,i);return i.$shared&&Vu(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,n){const i=this._properties,s=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){s.push(...this._animateOptions(t,n));continue}const h=n[c];let u=o[c];const d=i.get(c);if(u)if(d&&u.active()){u.update(d,h,a);continue}else u.cancel();if(!d||!d.duration){t[c]=h;continue}o[c]=u=new Wu(d,t,c,h),s.push(u)}return s}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const i=this._createAnimations(t,n);if(i.length)return Tt.add(this._chart,i),!0}}function Vu(e,t){const n=[],i=Object.keys(t);for(let s=0;s<i.length;s++){const o=e[i[s]];o&&o.active()&&n.push(o.wait())}return Promise.all(n)}function Yu(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function oo(e,t){const n=e&&e.options||{},i=n.reverse,s=n.min===void 0?t:0,o=n.max===void 0?t:0;return{start:i?o:s,end:i?s:o}}function Uu(e,t,n){if(n===!1)return!1;const i=oo(e,n),s=oo(t,n);return{top:s.end,right:i.end,bottom:s.start,left:i.start}}function Xu(e){let t,n,i,s;return z(e)?(t=e.top,n=e.right,i=e.bottom,s=e.left):t=n=i=s=e,{top:t,right:n,bottom:i,left:s,disabled:e===!1}}function ua(e,t){const n=[],i=e._getSortedDatasetMetas(t);let s,o;for(s=0,o=i.length;s<o;++s)n.push(i[s].index);return n}function ro(e,t,n,i={}){const s=e.keys,o=i.mode==="single";let r,a,l,c;if(t===null)return;let h=!1;for(r=0,a=s.length;r<a;++r){if(l=+s[r],l===n){if(h=!0,i.all)continue;break}c=e.values[l],vt(c)&&(o||t===0||Dt(t)===Dt(c))&&(t+=c)}return!h&&!i.all?0:t}function Ku(e,t){const{iScale:n,vScale:i}=t,s=n.axis==="x"?"x":"y",o=i.axis==="x"?"x":"y",r=Object.keys(e),a=new Array(r.length);let l,c,h;for(l=0,c=r.length;l<c;++l)h=r[l],a[l]={[s]:h,[o]:e[h]};return a}function oi(e,t){const n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function qu(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function Gu(e){const{min:t,max:n,minDefined:i,maxDefined:s}=e.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:s?n:Number.POSITIVE_INFINITY}}function Ju(e,t,n){const i=e[t]||(e[t]={});return i[n]||(i[n]={})}function ao(e,t,n,i){for(const s of t.getMatchingVisibleMetas(i).reverse()){const o=e[s.index];if(n&&o>0||!n&&o<0)return s.index}return null}function lo(e,t){const{chart:n,_cachedMeta:i}=e,s=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=i,l=o.axis,c=r.axis,h=qu(o,r,i),u=t.length;let d;for(let f=0;f<u;++f){const g=t[f],{[l]:m,[c]:p}=g,b=g._stacks||(g._stacks={});d=b[c]=Ju(s,h,m),d[a]=p,d._top=ao(d,r,!0,i.type),d._bottom=ao(d,r,!1,i.type);const x=d._visualValues||(d._visualValues={});x[a]=p}}function ri(e,t){const n=e.scales;return Object.keys(n).filter(i=>n[i].axis===t).shift()}function Zu(e,t){return pe(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Qu(e,t,n){return pe(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function Re(e,t){const n=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){t=t||e._parsed;for(const s of t){const o=s._stacks;if(!o||o[i]===void 0||o[i][n]===void 0)return;delete o[i][n],o[i]._visualValues!==void 0&&o[i]._visualValues[n]!==void 0&&delete o[i]._visualValues[n]}}}const ai=e=>e==="reset"||e==="none",co=(e,t)=>t?e:Object.assign({},e),td=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:ua(n,!0),values:null};class _e{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=oi(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Re(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,i=this.getDataset(),s=(u,d,f,g)=>u==="x"?d:u==="r"?g:f,o=n.xAxisID=j(i.xAxisID,ri(t,"x")),r=n.yAxisID=j(i.yAxisID,ri(t,"y")),a=n.rAxisID=j(i.rAxisID,ri(t,"r")),l=n.indexAxis,c=n.iAxisID=s(l,o,r,a),h=n.vAxisID=s(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Vs(this._data,this),t._stacked&&Re(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),i=this._data;if(z(n)){const s=this._cachedMeta;this._data=Ku(n,s)}else if(i!==n){if(i){Vs(i,this);const s=this._cachedMeta;Re(s),s._parsed=[]}n&&Object.isExtensible(n)&&Ih(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const o=n._stacked;n._stacked=oi(n.vScale,n),n.stack!==i.stack&&(s=!0,Re(n),n.stack=i.stack),this._resyncElements(t),(s||o!==n._stacked)&&(lo(this,n._parsed),n._stacked=oi(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:i,_data:s}=this,{iScale:o,_stacked:r}=i,a=o.axis;let l=t===0&&n===s.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,u,d;if(this._parsing===!1)i._parsed=s,i._sorted=!0,d=s;else{J(s[t])?d=this.parseArrayData(i,s,t,n):z(s[t])?d=this.parseObjectData(i,s,t,n):d=this.parsePrimitiveData(i,s,t,n);const f=()=>u[a]===null||c&&u[a]<c[a];for(h=0;h<n;++h)i._parsed[h+t]=u=d[h],l&&(f()&&(l=!1),c=u);i._sorted=l}r&&lo(this,d)}parsePrimitiveData(t,n,i,s){const{iScale:o,vScale:r}=t,a=o.axis,l=r.axis,c=o.getLabels(),h=o===r,u=new Array(s);let d,f,g;for(d=0,f=s;d<f;++d)g=d+i,u[d]={[a]:h||o.parse(c[g],g),[l]:r.parse(n[g],g)};return u}parseArrayData(t,n,i,s){const{xScale:o,yScale:r}=t,a=new Array(s);let l,c,h,u;for(l=0,c=s;l<c;++l)h=l+i,u=n[h],a[l]={x:o.parse(u[0],h),y:r.parse(u[1],h)};return a}parseObjectData(t,n,i,s){const{xScale:o,yScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=new Array(s);let h,u,d,f;for(h=0,u=s;h<u;++h)d=h+i,f=n[d],c[h]={x:o.parse(Ce(f,a),d),y:r.parse(Ce(f,l),d)};return c}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,n,i){const s=this.chart,o=this._cachedMeta,r=n[t.axis],a={keys:ua(s,!0),values:n._stacks[t.axis]._visualValues};return ro(a,r,o.index,{mode:i})}updateRangeFromParsed(t,n,i,s){const o=i[n.axis];let r=o===null?NaN:o;const a=s&&i._stacks[n.axis];s&&a&&(s.values=a,r=ro(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,r),t.max=Math.max(t.max,r)}getMinMax(t,n){const i=this._cachedMeta,s=i._parsed,o=i._sorted&&t===i.iScale,r=s.length,a=this._getOtherScale(t),l=td(n,i,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:u}=Gu(a);let d,f;function g(){f=s[d];const m=f[a.axis];return!vt(f[t.axis])||h>m||u<m}for(d=0;d<r&&!(!g()&&(this.updateRangeFromParsed(c,t,f,l),o));++d);if(o){for(d=r-1;d>=0;--d)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,i=[];let s,o,r;for(s=0,o=n.length;s<o;++s)r=n[s][t.axis],vt(r)&&i.push(r);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const n=this._cachedMeta,i=n.iScale,s=n.vScale,o=this.getParsed(t);return{label:i?""+i.getLabelForValue(o[i.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const n=this._cachedMeta;this.update(t||"default"),n._clip=Xu(j(this.options.clip,Uu(n.xScale,n.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,n=this.chart,i=this._cachedMeta,s=i.data||[],o=n.chartArea,r=[],a=this._drawStart||0,l=this._drawCount||s.length-a,c=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,o,a,l),h=a;h<a+l;++h){const u=s[h];u.hidden||(u.active&&c?r.push(u):u.draw(t,o))}for(h=0;h<r.length;++h)r[h].draw(t,o)}getStyle(t,n){const i=n?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,n,i){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const r=this._cachedMeta.data[t];o=r.$context||(r.$context=Qu(this.getContext(),t,r)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=Zu(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!n,o.mode=i,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,n){return this._resolveElementOptions(this.dataElementType.id,n,t)}_resolveElementOptions(t,n="default",i){const s=n==="active",o=this._cachedDataOpts,r=t+"-"+n,a=o[r],l=this.enableOptionSharing&&Ze(i);if(a)return co(a,l);const c=this.chart.config,h=c.datasetElementScopeKeys(this._type,t),u=s?[`${t}Hover`,"hover",t,""]:[t,""],d=c.getOptionScopes(this.getDataset(),h),f=Object.keys(K.elements[t]),g=()=>this.getContext(i,s,n),m=c.resolveNamedOptions(d,f,g,u);return m.$shared&&(m.$shared=l,o[r]=Object.freeze(co(m,l))),m}_resolveAnimations(t,n,i){const s=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(s.options.animation!==!1){const h=this.chart.config,u=h.datasetAnimationScopeKeys(this._type,n),d=h.getOptionScopes(this.getDataset(),u);l=h.createResolver(d,this.getContext(t,i,n))}const c=new ha(s,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||ai(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const i=this.resolveDataElementOptions(t,n),s=this._sharedOptions,o=this.getSharedOptions(i),r=this.includeOptions(n,o)||o!==s;return this.updateSharedOptions(o,n,i),{sharedOptions:o,includeOptions:r}}updateElement(t,n,i,s){ai(s)?Object.assign(t,i):this._resolveAnimations(n,s).update(t,i)}updateSharedOptions(t,n,i){t&&!ai(n)&&this._resolveAnimations(void 0,n).update(t,i)}_setStyle(t,n,i,s){t.active=s;const o=this.getStyle(n,s);this._resolveAnimations(n,i,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,n,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,i=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const s=i.length,o=n.length,r=Math.min(o,s);r&&this.parse(0,r),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,n,i=!0){const s=this._cachedMeta,o=s.data,r=t+n;let a;const l=c=>{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;a<r;++a)o[a]=new this.dataElementType;this._parsing&&l(s._parsed),this.parse(t,n),i&&this.updateElements(o,t,n,"reset")}updateElements(t,n,i,s){}_removeElements(t,n){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,n);i._stacked&&Re(i,s)}i.data.splice(t,n)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[n,i,s]=t;this[n](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,n){n&&this._sync(["_removeElements",t,n]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}T(_e,"defaults",{}),T(_e,"datasetElementType",null),T(_e,"dataElementType",null);function ed(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let i=[];for(let s=0,o=n.length;s<o;s++)i=i.concat(n[s].controller.getAllParsedValues(e));e._cache.$bar=Kr(i.sort((s,o)=>s-o))}return e._cache.$bar}function nd(e){const t=e.iScale,n=ed(t,e.type);let i=t._length,s,o,r,a;const l=()=>{r===32767||r===-32768||(Ze(a)&&(i=Math.min(i,Math.abs(r-a)||i)),a=r)};for(s=0,o=n.length;s<o;++s)r=t.getPixelForValue(n[s]),l();for(a=void 0,s=0,o=t.ticks.length;s<o;++s)r=t.getPixelForTick(s),l();return i}function id(e,t,n,i){const s=n.barThickness;let o,r;return W(s)?(o=t.min*n.categoryPercentage,r=n.barPercentage):(o=s*i,r=1),{chunk:o/i,ratio:r,start:t.pixels[e]-o/2}}function sd(e,t,n,i){const s=t.pixels,o=s[e];let r=e>0?s[e-1]:null,a=e<s.length-1?s[e+1]:null;const l=n.categoryPercentage;r===null&&(r=o-(a===null?t.end-t.start:a-o)),a===null&&(a=o+o-r);const c=o-(o-Math.min(r,a))/2*l;return{chunk:Math.abs(a-r)/2*l/i,ratio:n.barPercentage,start:c}}function od(e,t,n,i){const s=n.parse(e[0],i),o=n.parse(e[1],i),r=Math.min(s,o),a=Math.max(s,o);let l=r,c=a;Math.abs(r)>Math.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:s,end:o,min:r,max:a}}function da(e,t,n,i){return J(e)?od(e,t,n,i):t[n.axis]=n.parse(e,i),t}function ho(e,t,n,i){const s=e.iScale,o=e.vScale,r=s.getLabels(),a=s===o,l=[];let c,h,u,d;for(c=n,h=n+i;c<h;++c)d=t[c],u={},u[s.axis]=a||s.parse(r[c],c),l.push(da(d,u,o,c));return l}function li(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function rd(e,t,n){return e!==0?Dt(e):(t.isHorizontal()?1:-1)*(t.min>=n?1:-1)}function ad(e){let t,n,i,s,o;return e.horizontal?(t=e.base>e.x,n="left",i="right"):(t=e.base<e.y,n="bottom",i="top"),t?(s="end",o="start"):(s="start",o="end"),{start:n,end:i,reverse:t,top:s,bottom:o}}function ld(e,t,n,i){let s=t.borderSkipped;const o={};if(!s){e.borderSkipped=o;return}if(s===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:r,end:a,reverse:l,top:c,bottom:h}=ad(e);s==="middle"&&n&&(e.enableBorderRadius=!0,(n._top||0)===i?s=c:(n._bottom||0)===i?s=h:(o[uo(h,r,a,l)]=!0,s=c)),o[uo(s,r,a,l)]=!0,e.borderSkipped=o}function uo(e,t,n,i){return i?(e=cd(e,t,n),e=fo(e,n,t)):e=fo(e,t,n),e}function cd(e,t,n){return e===t?n:e===n?t:e}function fo(e,t,n){return e==="start"?t:e==="end"?n:e}function hd(e,{inflateAmount:t},n){e.inflateAmount=t==="auto"?n===1?.33:0:t}class ci extends _e{parsePrimitiveData(t,n,i,s){return ho(t,n,i,s)}parseArrayData(t,n,i,s){return ho(t,n,i,s)}parseObjectData(t,n,i,s){const{iScale:o,vScale:r}=t,{xAxisKey:a="x",yAxisKey:l="y"}=this._parsing,c=o.axis==="x"?a:l,h=r.axis==="x"?a:l,u=[];let d,f,g,m;for(d=i,f=i+s;d<f;++d)m=n[d],g={},g[o.axis]=o.parse(Ce(m,c),d),u.push(da(Ce(m,h),g,r,d));return u}updateRangeFromParsed(t,n,i,s){super.updateRangeFromParsed(t,n,i,s);const o=i._custom;o&&n===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const n=this._cachedMeta,{iScale:i,vScale:s}=n,o=this.getParsed(t),r=o._custom,a=li(r)?"["+r.start+", "+r.end+"]":""+s.getLabelForValue(o[s.axis]);return{label:""+i.getLabelForValue(o[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const n=this._cachedMeta;this.updateElements(n.data,0,n.data.length,t)}updateElements(t,n,i,s){const o=s==="reset",{index:r,_cachedMeta:{vScale:a}}=this,l=a.getBasePixel(),c=a.isHorizontal(),h=this._getRuler(),{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,s);for(let f=n;f<n+i;f++){const g=this.getParsed(f),m=o||W(g[a.axis])?{base:l,head:l}:this._calculateBarValuePixels(f),p=this._calculateBarIndexPixels(f,h),b=(g._stacks||{})[a.axis],x={horizontal:c,base:m.base,enableBorderRadius:!b||li(g._custom)||r===b._top||r===b._bottom,x:c?m.head:p.center,y:c?p.center:m.head,height:c?p.size:Math.abs(m.size),width:c?Math.abs(m.size):p.size};d&&(x.options=u||this.resolveDataElementOptions(f,t[f].active?"active":s));const v=x.options||t[f].options;ld(x,v,b,r),hd(x,v,h.ratio),this.updateElement(t[f],f,x,s)}}_getStacks(t,n){const{iScale:i}=this._cachedMeta,s=i.getMatchingVisibleMetas(this._type).filter(h=>h.controller.options.grouped),o=i.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(n),l=a&&a[i.axis],c=h=>{const u=h._parsed.find(f=>f[i.axis]===l),d=u&&u[h.vScale.axis];if(W(d)||isNaN(d))return!0};for(const h of s)if(!(n!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,i){const s=this._getStacks(t,i),o=n!==void 0?s.indexOf(n):-1;return o===-1?s.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,i=n.iScale,s=[];let o,r;for(o=0,r=n.data.length;o<r;++o)s.push(i.getPixelForValue(this.getParsed(o)[i.axis],o));const a=t.barThickness;return{min:a||nd(n),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:n,_stacked:i,index:s},options:{base:o,minBarLength:r}}=this,a=o||0,l=this.getParsed(t),c=l._custom,h=li(c);let u=l[n.axis],d=0,f=i?this.applyStack(n,l,i):u,g,m;f!==u&&(d=f-u,f=u),h&&(u=c.barStart,f=c.barEnd-c.barStart,u!==0&&Dt(u)!==Dt(c.barEnd)&&(d=0),d+=u);const p=!W(o)&&!h?o:d;let b=n.getPixelForValue(p);if(this.chart.getDataVisibility(t)?g=n.getPixelForValue(d+f):g=b,m=g-b,Math.abs(m)<r){m=rd(m,n,a)*r,u===a&&(b-=m/2);const x=n.getPixelForDecimal(0),v=n.getPixelForDecimal(1),_=Math.min(x,v),y=Math.max(x,v);b=Math.max(Math.min(b,y),_),g=b+m,i&&!h&&(l._stacks[n.axis]._visualValues[s]=n.getValueForPixel(g)-n.getValueForPixel(b))}if(b===n.getPixelForValue(a)){const x=Dt(m)*n.getLineWidthForValue(a)/2;b+=x,m-=x}return{size:m,base:b,head:g,center:g+m/2}}_calculateBarIndexPixels(t,n){const i=n.scale,s=this.options,o=s.skipNull,r=j(s.maxBarThickness,1/0);let a,l;if(n.grouped){const c=o?this._getStackCount(t):n.stackCount,h=s.barThickness==="flex"?sd(t,n,s,c):id(t,n,s,c),u=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);a=h.start+h.chunk*u+h.chunk/2,l=Math.min(r,h.chunk*h.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),l=Math.min(r,n.min*n.ratio);return{base:a-l/2,head:a+l/2,center:a,size:l}}draw(){const t=this._cachedMeta,n=t.vScale,i=t.data,s=i.length;let o=0;for(;o<s;++o)this.getParsed(o)[n.axis]!==null&&!i[o].hidden&&i[o].draw(this._ctx)}}T(ci,"id","bar"),T(ci,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),T(ci,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});class hi extends _e{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:i,data:s=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=zh(n,s,r);this._drawStart=a,this._drawCount=l,Nh(n)&&(a=0,l=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=s;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!r,options:c},t),this.updateElements(s,a,l,t)}updateElements(t,n,i,s){const o=s==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:u}=this._getSharedOptions(n,s),d=r.axis,f=a.axis,{spanGaps:g,segment:m}=this.options,p=Qe(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||s==="none",x=n+i,v=t.length;let _=n>0&&this.getParsed(n-1);for(let y=0;y<v;++y){const w=t[y],k=b?w:{};if(y<n||y>=x){k.skip=!0;continue}const S=this.getParsed(y),P=W(S[f]),D=k[d]=r.getPixelForValue(S[d],y),C=k[f]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,S,l):S[f],y);k.skip=isNaN(D)||isNaN(C)||P,k.stop=y>0&&Math.abs(S[d]-_[d])>p,m&&(k.parsed=S,k.raw=c.data[y]),u&&(k.options=h||this.resolveDataElementOptions(y,w.active?"active":s)),b||this.updateElement(w,y,k,s),_=S}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,i=n.options&&n.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const o=s[0].size(this.resolveDataElementOptions(0)),r=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}T(hi,"id","line"),T(hi,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),T(hi,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});function ne(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class ss{constructor(t){T(this,"options");this.options=t||{}}static override(t){Object.assign(ss.prototype,t)}init(){}formats(){return ne()}parse(){return ne()}format(){return ne()}add(){return ne()}diff(){return ne()}startOf(){return ne()}endOf(){return ne()}}var ud={_date:ss};function dd(e,t,n,i){const{controller:s,data:o,_sorted:r}=e,a=s._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?Lh:le;if(i){if(s._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const u=l(o,t,n-h),d=l(o,t,n+h);return{lo:u.lo,hi:d.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function cn(e,t,n,i,s){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a<l;++a){const{index:c,data:h}=o[a],{lo:u,hi:d}=dd(o[a],t,r,s);for(let f=u;f<=d;++f){const g=h[f];g.skip||i(g,c,f)}}}function fd(e){const t=e.indexOf("x")!==-1,n=e.indexOf("y")!==-1;return function(i,s){const o=t?Math.abs(i.x-s.x):0,r=n?Math.abs(i.y-s.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(r,2))}}function ui(e,t,n,i,s){const o=[];return!s&&!e.isPointInArea(t)||cn(e,n,t,function(a,l,c){!s&&!tn(a,e.chartArea,0)||a.inRange(t.x,t.y,i)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function pd(e,t,n,i){let s=[];function o(r,a,l){const{startAngle:c,endAngle:h}=r.getProps(["startAngle","endAngle"],i),{angle:u}=Ur(r,{x:t.x,y:t.y});Ui(u,c,h)&&s.push({element:r,datasetIndex:a,index:l})}return cn(e,n,t,o),s}function gd(e,t,n,i,s,o){let r=[];const a=fd(n);let l=Number.POSITIVE_INFINITY;function c(h,u,d){const f=h.inRange(t.x,t.y,s);if(i&&!f)return;const g=h.getCenterPoint(s);if(!(!!o||e.isPointInArea(g))&&!f)return;const p=a(t,g);p<l?(r=[{element:h,datasetIndex:u,index:d}],l=p):p===l&&r.push({element:h,datasetIndex:u,index:d})}return cn(e,n,t,c),r}function di(e,t,n,i,s,o){return!o&&!e.isPointInArea(t)?[]:n==="r"&&!i?pd(e,t,n,s):gd(e,t,n,i,s,o)}function po(e,t,n,i,s){const o=[],r=n==="x"?"inXRange":"inYRange";let a=!1;return cn(e,n,t,(l,c,h)=>{l[r]&&l[r](t[n],s)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,s))}),i&&!a?[]:o}var md={evaluateInteractionItems:cn,modes:{index(e,t,n,i){const s=oe(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?ui(e,s,o,i,r):di(e,s,o,!1,i,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,u=c.data[h];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:h})}),l):[]},dataset(e,t,n,i){const s=oe(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?ui(e,s,o,i,r):di(e,s,o,!1,i,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let h=0;h<c.length;++h)a.push({element:c[h],datasetIndex:l,index:h})}return a},point(e,t,n,i){const s=oe(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;return ui(e,s,o,i,r)},nearest(e,t,n,i){const s=oe(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;return di(e,s,o,n.intersect,i,r)},x(e,t,n,i){const s=oe(t,e);return po(e,s,"x",n.intersect,i)},y(e,t,n,i){const s=oe(t,e);return po(e,s,"y",n.intersect,i)}}};const fa=["left","top","right","bottom"];function Le(e,t){return e.filter(n=>n.pos===t)}function go(e,t){return e.filter(n=>fa.indexOf(n.pos)===-1&&n.box.axis===t)}function Fe(e,t){return e.sort((n,i)=>{const s=t?i:n,o=t?n:i;return s.weight===o.weight?s.index-o.index:s.weight-o.weight})}function bd(e){const t=[];let n,i,s,o,r,a;for(n=0,i=(e||[]).length;n<i;++n)s=e[n],{position:o,options:{stack:r,stackWeight:a=1}}=s,t.push({index:n,box:s,pos:o,horizontal:s.isHorizontal(),weight:s.weight,stack:r&&o+r,stackWeight:a});return t}function xd(e){const t={};for(const n of e){const{stack:i,pos:s,stackWeight:o}=n;if(!i||!fa.includes(s))continue;const r=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=o}return t}function yd(e,t){const n=xd(e),{vBoxMaxWidth:i,hBoxMaxHeight:s}=t;let o,r,a;for(o=0,r=e.length;o<r;++o){a=e[o];const{fullSize:l}=a.box,c=n[a.stack],h=c&&a.stackWeight/c.weight;a.horizontal?(a.width=h?h*i:l&&t.availableWidth,a.height=s):(a.width=i,a.height=h?h*s:l&&t.availableHeight)}return n}function vd(e){const t=bd(e),n=Fe(t.filter(c=>c.box.fullSize),!0),i=Fe(Le(t,"left"),!0),s=Fe(Le(t,"right")),o=Fe(Le(t,"top"),!0),r=Fe(Le(t,"bottom")),a=go(t,"x"),l=go(t,"y");return{fullSize:n,leftAndTop:i.concat(o),rightAndBottom:s.concat(l).concat(r).concat(a),chartArea:Le(t,"chartArea"),vertical:i.concat(s).concat(l),horizontal:o.concat(r).concat(a)}}function mo(e,t,n,i){return Math.max(e[n],t[n])+Math.max(e[i],t[i])}function pa(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function _d(e,t,n,i){const{pos:s,box:o}=n,r=e.maxPadding;if(!z(s)){n.size&&(e[s]-=n.size);const u=i[n.stack]||{size:0,count:1};u.size=Math.max(u.size,n.horizontal?o.height:o.width),n.size=u.size/u.count,e[s]+=n.size}o.getPadding&&pa(r,o.getPadding());const a=Math.max(0,t.outerWidth-mo(r,e,"left","right")),l=Math.max(0,t.outerHeight-mo(r,e,"top","bottom")),c=a!==e.w,h=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:h}:{same:h,other:c}}function wd(e){const t=e.maxPadding;function n(i){const s=Math.max(t[i]-e[i],0);return e[i]+=s,s}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function Sd(e,t){const n=t.maxPadding;function i(s){const o={left:0,top:0,right:0,bottom:0};return s.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return i(e?["left","right"]:["top","bottom"])}function ze(e,t,n,i){const s=[];let o,r,a,l,c,h;for(o=0,r=e.length,c=0;o<r;++o){a=e[o],l=a.box,l.update(a.width||t.w,a.height||t.h,Sd(a.horizontal,t));const{same:u,other:d}=_d(t,n,a,i);c|=u&&s.length,h=h||d,l.fullSize||s.push(a)}return c&&ze(s,t,n,i)||h}function vn(e,t,n,i,s){e.top=n,e.left=t,e.right=t+i,e.bottom=n+s,e.width=i,e.height=s}function bo(e,t,n,i){const s=n.padding;let{x:o,y:r}=t;for(const a of e){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},h=a.stackWeight/c.weight||1;if(a.horizontal){const u=t.w*h,d=c.size||l.height;Ze(c.start)&&(r=c.start),l.fullSize?vn(l,s.left,r,n.outerWidth-s.right-s.left,d):vn(l,t.left+c.placed,r,u,d),c.start=r,c.placed+=u,r=l.bottom}else{const u=t.h*h,d=c.size||l.width;Ze(c.start)&&(o=c.start),l.fullSize?vn(l,o,s.top,d,n.outerHeight-s.bottom-s.top):vn(l,o,t.top+c.placed,d,u),c.start=o,c.placed+=u,o=l.right}}t.x=o,t.y=r}var bt={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(n){t.draw(n)}}]},e.boxes.push(t)},removeBox(e,t){const n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,i){if(!e)return;const s=_t(e.options.layout.padding),o=Math.max(t-s.width,0),r=Math.max(n-s.height,0),a=vd(e.boxes),l=a.vertical,c=a.horizontal;H(e.boxes,m=>{typeof m.beforeLayout=="function"&&m.beforeLayout()});const h=l.reduce((m,p)=>p.box.options&&p.box.options.display===!1?m:m+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:n,padding:s,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),d=Object.assign({},s);pa(d,_t(i));const f=Object.assign({maxPadding:d,w:o,h:r,x:s.left,y:s.top},s),g=yd(l.concat(c),u);ze(a.fullSize,f,u,g),ze(l,f,u,g),ze(c,f,u,g)&&ze(l,f,u,g),wd(f),bo(a.leftAndTop,f,u,g),f.x+=f.w,f.y+=f.h,bo(a.rightAndBottom,f,u,g),e.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},H(a.chartArea,m=>{const p=m.box;Object.assign(p,e.chartArea),p.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class ga{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,i){}removeEventListener(t,n,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,i,s){return n=Math.max(0,n||t.width),i=i||t.height,{width:n,height:Math.max(0,s?Math.floor(n/s):i)}}isAttached(t){return!0}updateConfig(t){}}class kd extends ga{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Tn="$chartjs",Md={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},xo=e=>e===null||e==="";function Cd(e,t){const n=e.style,i=e.getAttribute("height"),s=e.getAttribute("width");if(e[Tn]={initial:{height:i,width:s,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",xo(s)){const o=to(e,"width");o!==void 0&&(e.width=o)}if(xo(i))if(e.style.height==="")e.height=e.width/(t||2);else{const o=to(e,"height");o!==void 0&&(e.height=o)}return e}const ma=Ou?{passive:!0}:!1;function Pd(e,t,n){e&&e.addEventListener(t,n,ma)}function Od(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,ma)}function Dd(e,t){const n=Md[e.type]||e.type,{x:i,y:s}=oe(e,t);return{type:n,chart:t,native:e,x:i!==void 0?i:null,y:s!==void 0?s:null}}function Nn(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Ad(e,t,n){const i=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Nn(a.addedNodes,i),r=r&&!Nn(a.removedNodes,i);r&&n()});return s.observe(document,{childList:!0,subtree:!0}),s}function Ed(e,t,n){const i=e.canvas,s=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Nn(a.removedNodes,i),r=r&&!Nn(a.addedNodes,i);r&&n()});return s.observe(document,{childList:!0,subtree:!0}),s}const nn=new Map;let yo=0;function ba(){const e=window.devicePixelRatio;e!==yo&&(yo=e,nn.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Td(e,t){nn.size||window.addEventListener("resize",ba),nn.set(e,t)}function Rd(e){nn.delete(e),nn.size||window.removeEventListener("resize",ba)}function Ld(e,t,n){const i=e.canvas,s=i&&is(i);if(!s)return;const o=Gr((a,l)=>{const c=s.clientWidth;n(a,l),c<s.clientWidth&&n()},window),r=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(s),Td(e,o),r}function fi(e,t,n){n&&n.disconnect(),t==="resize"&&Rd(e)}function Fd(e,t,n){const i=e.canvas,s=Gr(o=>{e.ctx!==null&&n(Dd(o,e))},e);return Pd(i,t,s),s}class Id extends ga{acquireContext(t,n){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cd(t,n),i):null}releaseContext(t){const n=t.canvas;if(!n[Tn])return!1;const i=n[Tn].initial;["height","width"].forEach(o=>{const r=i[o];W(r)?n.removeAttribute(o):n.setAttribute(o,r)});const s=i.style||{};return Object.keys(s).forEach(o=>{n.style[o]=s[o]}),n.width=n.width,delete n[Tn],!0}addEventListener(t,n,i){this.removeEventListener(t,n);const s=t.$proxies||(t.$proxies={}),r={attach:Ad,detach:Ed,resize:Ld}[n]||Fd;s[n]=r(t,n,i)}removeEventListener(t,n){const i=t.$proxies||(t.$proxies={}),s=i[n];if(!s)return;({attach:fi,detach:fi,resize:fi}[n]||Od)(t,n,s),i[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,i,s){return Pu(t,n,i,s)}isAttached(t){const n=t&&is(t);return!!(n&&n.isConnected)}}function jd(e){return!ns()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?kd:Id}var An;let $t=(An=class{constructor(){T(this,"x");T(this,"y");T(this,"active",!1);T(this,"options");T(this,"$animations")}tooltipPosition(t){const{x:n,y:i}=this.getProps(["x","y"],t);return{x:n,y:i}}hasValue(){return Qe(this.x)&&Qe(this.y)}getProps(t,n){const i=this.$animations;if(!n||!i)return this;const s={};return t.forEach(o=>{s[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),s}},T(An,"defaults",{}),T(An,"defaultRoutes"),An);function $d(e,t){const n=e.options.ticks,i=zd(e),s=Math.min(n.maxTicksLimit||i,i),o=n.major.enabled?Bd(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>s)return Hd(t,c,o,r/s),c;const h=Nd(o,t,s);if(r>0){let u,d;const f=r>1?Math.round((l-a)/(r-1)):null;for(_n(t,c,h,W(f)?0:a-f,a),u=0,d=r-1;u<d;u++)_n(t,c,h,o[u],o[u+1]);return _n(t,c,h,l,W(f)?t.length:l+f),c}return _n(t,c,h),c}function zd(e){const t=e.options.offset,n=e._tickSize(),i=e._length/n+(t?0:1),s=e._maxLength/n;return Math.floor(Math.min(i,s))}function Nd(e,t,n){const i=Wd(e),s=t.length/n;if(!i)return Math.max(s,1);const o=Oh(i);for(let r=0,a=o.length-1;r<a;r++){const l=o[r];if(l>s)return l}return Math.max(s,1)}function Bd(e){const t=[];let n,i;for(n=0,i=e.length;n<i;n++)e[n].major&&t.push(n);return t}function Hd(e,t,n,i){let s=0,o=n[0],r;for(i=Math.ceil(i),r=0;r<e.length;r++)r===o&&(t.push(e[r]),s++,o=n[s*i])}function _n(e,t,n,i,s){const o=j(i,0),r=Math.min(j(s,e.length),e.length);let a=0,l,c,h;for(n=Math.ceil(n),s&&(l=s-i,n=l/Math.floor(l/n)),h=o;h<0;)a++,h=Math.round(o+a*n);for(c=Math.max(o,0);c<r;c++)c===h&&(t.push(e[c]),a++,h=Math.round(o+a*n))}function Wd(e){const t=e.length;let n,i;if(t<2)return!1;for(i=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==i)return!1;return i}const Vd=e=>e==="left"?"right":e==="right"?"left":e,vo=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,_o=(e,t)=>Math.min(t||e,e);function wo(e,t){const n=[],i=e.length/t,s=e.length;let o=0;for(;o<s;o+=i)n.push(e[Math.floor(o)]);return n}function Yd(e,t,n){const i=e.ticks.length,s=Math.min(t,i-1),o=e._startPixel,r=e._endPixel,a=1e-6;let l=e.getPixelForTick(s),c;if(!(n&&(i===1?c=Math.max(l-o,r-l):t===0?c=(e.getPixelForTick(1)-l)/2:c=(l-e.getPixelForTick(s-1))/2,l+=s<t?c:-c,l<o-a||l>r+a)))return l}function Ud(e,t){H(e,n=>{const i=n.gc,s=i.length/2;let o;if(s>t){for(o=0;o<s;++o)delete n.data[i[o]];i.splice(0,s)}})}function Ie(e){return e.drawTicks?e.tickLength:0}function So(e,t){if(!e.display)return 0;const n=at(e.font,t),i=_t(e.padding);return(J(e.text)?e.text.length:1)*n.lineHeight+i.height}function Xd(e,t){return pe(e,{scale:t,type:"scale"})}function Kd(e,t,n){return pe(e,{tick:n,index:t,type:"tick"})}function qd(e,t,n){let i=Ki(e);return(n&&t!=="right"||!n&&t==="right")&&(i=Vd(i)),i}function Gd(e,t,n,i){const{top:s,left:o,bottom:r,right:a,chart:l}=e,{chartArea:c,scales:h}=l;let u=0,d,f,g;const m=r-s,p=a-o;if(e.isHorizontal()){if(f=ot(i,o,a),z(n)){const b=Object.keys(n)[0],x=n[b];g=h[b].getPixelForValue(x)+m-t}else n==="center"?g=(c.bottom+c.top)/2+m-t:g=vo(e,n,t);d=a-o}else{if(z(n)){const b=Object.keys(n)[0],x=n[b];f=h[b].getPixelForValue(x)-p+t}else n==="center"?f=(c.left+c.right)/2-p+t:f=vo(e,n,t);g=ot(i,r,s),u=n==="left"?-it:it}return{titleX:f,titleY:g,maxWidth:d,rotation:u}}class De extends $t{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:i,_suggestedMax:s}=this;return t=St(t,Number.POSITIVE_INFINITY),n=St(n,Number.NEGATIVE_INFINITY),i=St(i,Number.POSITIVE_INFINITY),s=St(s,Number.NEGATIVE_INFINITY),{min:St(t,i),max:St(n,s),minDefined:vt(t),maxDefined:vt(n)}}getMinMax(t){let{min:n,max:i,minDefined:s,maxDefined:o}=this.getUserBounds(),r;if(s&&o)return{min:n,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)r=a[l].controller.getMinMax(this,t),s||(n=Math.min(n,r.min)),o||(i=Math.max(i,r.max));return n=o&&n>i?i:n,i=s&&n>i?n:i,{min:St(n,St(i,n)),max:St(i,St(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){V(this.options.beforeUpdate,[this])}update(t,n,i){const{beginAtZero:s,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=ou(this,o,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?wo(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),r.display&&(r.autoSkip||r.source==="auto")&&(this.ticks=$d(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,n,i;this.isHorizontal()?(n=this.left,i=this.right):(n=this.top,i=this.bottom,t=!t),this._startPixel=n,this._endPixel=i,this._reversePixels=t,this._length=i-n,this._alignToPixels=this.options.alignToPixels}afterUpdate(){V(this.options.afterUpdate,[this])}beforeSetDimensions(){V(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){V(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),V(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){V(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const n=this.options.ticks;let i,s,o;for(i=0,s=t.length;i<s;i++)o=t[i],o.label=V(n.callback,[o.value,i,t],this)}afterTickToLabelConversion(){V(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){V(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,n=t.ticks,i=_o(this.ticks.length,t.ticks.maxTicksLimit),s=n.minRotation||0,o=n.maxRotation;let r=s,a,l,c;if(!this._isVisible()||!n.display||s>=o||i<=1||!this.isHorizontal()){this.labelRotation=s;return}const h=this._getLabelSizes(),u=h.widest.width,d=h.highest.height,f=rt(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/i:f/(i-1),u+6>a&&(a=f/(i-(t.offset?.5:1)),l=this.maxHeight-Ie(t.grid)-n.padding-So(t.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),r=Eh(Math.min(Math.asin(rt((h.highest.height+6)/a,-1,1)),Math.asin(rt(l/c,-1,1))-Math.asin(rt(d/c,-1,1)))),r=Math.max(s,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){V(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){V(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:i,title:s,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=So(s,n.options.font);if(a?(t.width=this.maxWidth,t.height=Ie(o)+l):(t.height=this.maxHeight,t.width=Ie(o)+l),i.display&&this.ticks.length){const{first:c,last:h,widest:u,highest:d}=this._getLabelSizes(),f=i.padding*2,g=ae(this.labelRotation),m=Math.cos(g),p=Math.sin(g);if(a){const b=i.mirror?0:p*u.width+m*d.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{const b=i.mirror?0:m*u.width+p*d.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,p,m)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,i,s){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let d=0,f=0;l?c?(d=s*t.width,f=i*n.height):(d=i*t.height,f=s*n.width):o==="start"?f=n.width:o==="end"?d=t.width:o!=="inner"&&(d=t.width/2,f=n.width/2),this.paddingLeft=Math.max((d-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-u+r)*this.width/(this.width-u),0)}else{let h=n.height/2,u=t.height/2;o==="start"?(h=0,u=t.height):o==="end"&&(h=n.height,u=0),this.paddingTop=h+r,this.paddingBottom=u+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){V(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,i;for(n=0,i=t.length;n<i;n++)W(t[n].label)&&(t.splice(n,1),i--,n--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const n=this.options.ticks.sampleSize;let i=this.ticks;n<i.length&&(i=wo(i,n)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,n,i){const{ctx:s,_longestTextCache:o}=this,r=[],a=[],l=Math.floor(n/_o(n,i));let c=0,h=0,u,d,f,g,m,p,b,x,v,_,y;for(u=0;u<n;u+=l){if(g=t[u].label,m=this._resolveTickFontOptions(u),s.font=p=m.string,b=o[p]=o[p]||{data:{},gc:[]},x=m.lineHeight,v=_=0,!W(g)&&!J(g))v=qs(s,b.data,b.gc,v,g),_=x;else if(J(g))for(d=0,f=g.length;d<f;++d)y=g[d],!W(y)&&!J(y)&&(v=qs(s,b.data,b.gc,v,y),_+=x);r.push(v),a.push(_),c=Math.max(v,c),h=Math.max(_,h)}Ud(o,n);const w=r.indexOf(c),k=a.indexOf(h),S=P=>({width:r[P]||0,height:a[P]||0});return{first:S(0),last:S(n-1),widest:S(w),highest:S(k),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Rh(this._alignToPixels?ee(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&t<n.length){const i=n[t];return i.$context||(i.$context=Kd(this.getContext(),t,i))}return this.$context||(this.$context=Xd(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,n=ae(this.labelRotation),i=Math.abs(Math.cos(n)),s=Math.abs(Math.sin(n)),o=this._getLabelSizes(),r=t.autoSkipPadding||0,a=o?o.widest.width+r:0,l=o?o.highest.height+r:0;return this.isHorizontal()?l*i>a*s?a/i:l/s:l*s<a*i?l/i:a/s}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const n=this.axis,i=this.chart,s=this.options,{grid:o,position:r,border:a}=s,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),d=Ie(o),f=[],g=a.setContext(this.getContext()),m=g.display?g.width:0,p=m/2,b=function(L){return ee(i,L,m)};let x,v,_,y,w,k,S,P,D,C,O,E;if(r==="top")x=b(this.bottom),k=this.bottom-d,P=x-p,C=b(t.top)+p,E=t.bottom;else if(r==="bottom")x=b(this.top),C=t.top,E=b(t.bottom)-p,k=x+p,P=this.top+d;else if(r==="left")x=b(this.right),w=this.right-d,S=x-p,D=b(t.left)+p,O=t.right;else if(r==="right")x=b(this.left),D=t.left,O=b(t.right)-p,w=x+p,S=this.left+d;else if(n==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(z(r)){const L=Object.keys(r)[0],I=r[L];x=b(this.chart.scales[L].getPixelForValue(I))}C=t.top,E=t.bottom,k=x+p,P=k+d}else if(n==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(z(r)){const L=Object.keys(r)[0],I=r[L];x=b(this.chart.scales[L].getPixelForValue(I))}w=x-p,S=w-d,D=t.left,O=t.right}const F=j(s.ticks.maxTicksLimit,u),R=Math.max(1,Math.ceil(u/F));for(v=0;v<u;v+=R){const L=this.getContext(v),I=o.setContext(L),Y=a.setContext(L),$=I.lineWidth,N=I.color,tt=Y.dash||[],Q=Y.dashOffset,nt=I.tickWidth,U=I.tickColor,X=I.tickBorderDash||[],q=I.tickBorderDashOffset;_=Yd(this,v,l),_!==void 0&&(y=ee(i,_,$),c?w=S=D=O=y:k=P=C=E=y,f.push({tx1:w,ty1:k,tx2:S,ty2:P,x1:D,y1:C,x2:O,y2:E,width:$,color:N,borderDash:tt,borderDashOffset:Q,tickWidth:nt,tickColor:U,tickBorderDash:X,tickBorderDashOffset:q}))}return this._ticksLength=u,this._borderValue=x,f}_computeLabelItems(t){const n=this.axis,i=this.options,{position:s,ticks:o}=i,r=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:h,mirror:u}=o,d=Ie(i.grid),f=d+h,g=u?-h:f,m=-ae(this.labelRotation),p=[];let b,x,v,_,y,w,k,S,P,D,C,O,E="middle";if(s==="top")w=this.bottom-g,k=this._getXAxisLabelAlignment();else if(s==="bottom")w=this.top+g,k=this._getXAxisLabelAlignment();else if(s==="left"){const R=this._getYAxisLabelAlignment(d);k=R.textAlign,y=R.x}else if(s==="right"){const R=this._getYAxisLabelAlignment(d);k=R.textAlign,y=R.x}else if(n==="x"){if(s==="center")w=(t.top+t.bottom)/2+f;else if(z(s)){const R=Object.keys(s)[0],L=s[R];w=this.chart.scales[R].getPixelForValue(L)+f}k=this._getXAxisLabelAlignment()}else if(n==="y"){if(s==="center")y=(t.left+t.right)/2-f;else if(z(s)){const R=Object.keys(s)[0],L=s[R];y=this.chart.scales[R].getPixelForValue(L)}k=this._getYAxisLabelAlignment(d).textAlign}n==="y"&&(l==="start"?E="top":l==="end"&&(E="bottom"));const F=this._getLabelSizes();for(b=0,x=a.length;b<x;++b){v=a[b],_=v.label;const R=o.setContext(this.getContext(b));S=this.getPixelForTick(b)+o.labelOffset,P=this._resolveTickFontOptions(b),D=P.lineHeight,C=J(_)?_.length:1;const L=C/2,I=R.color,Y=R.textStrokeColor,$=R.textStrokeWidth;let N=k;r?(y=S,k==="inner"&&(b===x-1?N=this.options.reverse?"left":"right":b===0?N=this.options.reverse?"right":"left":N="center"),s==="top"?c==="near"||m!==0?O=-C*D+D/2:c==="center"?O=-F.highest.height/2-L*D+D:O=-F.highest.height+D/2:c==="near"||m!==0?O=D/2:c==="center"?O=F.highest.height/2-L*D:O=F.highest.height-C*D,u&&(O*=-1),m!==0&&!R.showLabelBackdrop&&(y+=D/2*Math.sin(m))):(w=S,O=(1-C)*D/2);let tt;if(R.showLabelBackdrop){const Q=_t(R.backdropPadding),nt=F.heights[b],U=F.widths[b];let X=O-Q.top,q=0-Q.left;switch(E){case"middle":X-=nt/2;break;case"bottom":X-=nt;break}switch(k){case"center":q-=U/2;break;case"right":q-=U;break;case"inner":b===x-1?q-=U:b>0&&(q-=U/2);break}tt={left:q,top:X,width:U+Q.width,height:nt+Q.height,color:R.backdropColor}}p.push({label:_,font:P,textOffset:O,options:{rotation:m,color:I,strokeColor:Y,strokeWidth:$,textAlign:N,textBaseline:E,translation:[y,w],backdrop:tt}})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-ae(this.labelRotation))return t==="top"?"left":"right";let s="center";return n.align==="start"?s="left":n.align==="end"?s="right":n.align==="inner"&&(s="inner"),s}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:i,mirror:s,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return n==="left"?s?(h=this.right+o,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h=this.left)):n==="right"?s?(h=this.left+o,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:i,top:s,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(i,s,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const s=this.ticks.findIndex(o=>o.value===t);return s>=0?n.setContext(this.getContext(s)).lineWidth:0}drawGrid(t){const n=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(n.display)for(o=0,r=s.length;o<r;++o){const l=s[o];n.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),n.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:n,options:{border:i,grid:s}}=this,o=i.setContext(this.getContext()),r=i.display?o.width:0;if(!r)return;const a=s.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,h,u,d;this.isHorizontal()?(c=ee(t,this.left,r)-r/2,h=ee(t,this.right,a)+a/2,u=d=l):(u=ee(t,this.top,r)-r/2,d=ee(t,this.bottom,a)+a/2,c=h=l),n.save(),n.lineWidth=o.width,n.strokeStyle=o.color,n.beginPath(),n.moveTo(c,u),n.lineTo(h,d),n.stroke(),n.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,s=this._computeLabelArea();s&&Gi(i,s);const o=this.getLabelItems(t);for(const r of o){const a=r.options,l=r.font,c=r.label,h=r.textOffset;en(i,c,0,h,l,a)}s&&Ji(i)}drawTitle(){const{ctx:t,options:{position:n,title:i,reverse:s}}=this;if(!i.display)return;const o=at(i.font),r=_t(i.padding),a=i.align;let l=o.lineHeight/2;n==="bottom"||n==="center"||z(n)?(l+=r.bottom,J(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=r.top;const{titleX:c,titleY:h,maxWidth:u,rotation:d}=Gd(this,l,n,a);en(t,i.text,0,0,o,{color:i.color,maxWidth:u,rotation:d,textAlign:qd(a,n,s),textBaseline:"middle",translation:[c,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,n=t.ticks&&t.ticks.z||0,i=j(t.grid&&t.grid.z,-1),s=j(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==De.prototype.draw?[{z:n,draw:o=>{this.draw(o)}}]:[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let o,r;for(o=0,r=n.length;o<r;++o){const a=n[o];a[i]===this.id&&(!t||a.type===t)&&s.push(a)}return s}_resolveTickFontOptions(t){const n=this.options.ticks.setContext(this.getContext(t));return at(n.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class wn{constructor(t,n,i){this.type=t,this.scope=n,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const n=Object.getPrototypeOf(t);let i;Qd(n)&&(i=this.register(n));const s=this.items,o=t.id,r=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+t);return o in s||(s[o]=t,Jd(t,r,i),this.override&&K.override(t.id,t.overrides)),r}get(t){return this.items[t]}unregister(t){const n=this.items,i=t.id,s=this.scope;i in n&&delete n[i],s&&i in K[s]&&(delete K[s][i],this.override&&delete fe[i])}}function Jd(e,t,n){const i=Je(Object.create(null),[n?K.get(n):{},K.get(t),e.defaults]);K.set(t,i),e.defaultRoutes&&Zd(t,e.defaultRoutes),e.descriptors&&K.describe(t,e.descriptors)}function Zd(e,t){Object.keys(t).forEach(n=>{const i=n.split("."),s=i.pop(),o=[e].concat(i).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");K.route(o,s,l,a)})}function Qd(e){return"id"in e&&"defaults"in e}class tf{constructor(){this.controllers=new wn(_e,"datasets",!0),this.elements=new wn($t,"elements"),this.plugins=new wn(Object,"plugins"),this.scales=new wn(De,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,i){[...n].forEach(s=>{const o=i||this._getRegistryForType(s);i||o.isForType(s)||o===this.plugins&&s.id?this._exec(t,o,s):H(s,r=>{const a=i||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,i){const s=Yi(t);V(i["before"+s],[],i),n[t](i),V(i["after"+s],[],i)}_getRegistryForType(t){for(let n=0;n<this._typedRegistries.length;n++){const i=this._typedRegistries[n];if(i.isForType(t))return i}return this.plugins}_get(t,n,i){const s=n.get(t);if(s===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var Mt=new tf;class ef{constructor(){this._init=[]}notify(t,n,i,s){n==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const o=s?this._descriptors(t).filter(s):this._descriptors(t),r=this._notify(o,t,n,i);return n==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),r}_notify(t,n,i,s){s=s||{};for(const o of t){const r=o.plugin,a=r[i],l=[n,s,o.options];if(V(a,l,r)===!1&&s.cancelable)return!1}return!0}invalidate(){W(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const i=t&&t.config,s=j(i.options&&i.options.plugins,{}),o=nf(i);return s===!1&&!n?[]:of(t,o,s,n)}_notifyStateChanges(t){const n=this._oldCache||[],i=this._cache,s=(o,r)=>o.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(s(n,i),t,"stop"),this._notify(s(i,n),t,"start")}}function nf(e){const t={},n=[],i=Object.keys(Mt.plugins.items);for(let o=0;o<i.length;o++)n.push(Mt.getPlugin(i[o]));const s=e.plugins||[];for(let o=0;o<s.length;o++){const r=s[o];n.indexOf(r)===-1&&(n.push(r),t[r.id]=!0)}return{plugins:n,localIds:t}}function sf(e,t){return!t&&e===!1?null:e===!0?{}:e}function of(e,{plugins:t,localIds:n},i,s){const o=[],r=e.getContext();for(const a of t){const l=a.id,c=sf(i[l],s);c!==null&&o.push({plugin:a,options:rf(e.config,{plugin:a,local:n[l]},c,r)})}return o}function rf(e,{plugin:t,local:n},i,s){const o=e.pluginScopeKeys(t),r=e.getOptionScopes(i,o);return n&&t.defaults&&r.push(t.defaults),e.createResolver(r,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Pi(e,t){const n=K.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function af(e,t){let n=e;return e==="_index_"?n=t:e==="_value_"&&(n=t==="x"?"y":"x"),n}function lf(e,t){return e===t?"_index_":"_value_"}function ko(e){if(e==="x"||e==="y"||e==="r")return e}function cf(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function Oi(e,...t){if(ko(e))return e;for(const n of t){const i=n.axis||cf(n.position)||e.length>1&&ko(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Mo(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function hf(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(n.length)return Mo(e,"x",n[0])||Mo(e,"y",n[0])}return{}}function uf(e,t){const n=fe[e.type]||{scales:{}},i=t.scales||{},s=Pi(e.type,t),o=Object.create(null);return Object.keys(i).forEach(r=>{const a=i[r];if(!z(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=Oi(r,a,hf(r,e),K.scales[a.type]),c=lf(l,s),h=n.scales||{};o[r]=Ve(Object.create(null),[{axis:l},a,h[l],h[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||Pi(a,t),h=(fe[a]||{}).scales||{};Object.keys(h).forEach(u=>{const d=af(u,l),f=r[d+"AxisID"]||d;o[f]=o[f]||Object.create(null),Ve(o[f],[{axis:d},i[f],h[u]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ve(a,[K.scales[a.type],K.scale])}),o}function xa(e){const t=e.options||(e.options={});t.plugins=j(t.plugins,{}),t.scales=uf(e,t)}function ya(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function df(e){return e=e||{},e.data=ya(e.data),xa(e),e}const Co=new Map,va=new Set;function Sn(e,t){let n=Co.get(e);return n||(n=t(),Co.set(e,n),va.add(n)),n}const je=(e,t,n)=>{const i=Ce(t,n);i!==void 0&&e.add(i)};class ff{constructor(t){this._config=df(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=ya(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),xa(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Sn(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Sn(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Sn(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,i=this.type;return Sn(`${i}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const i=this._scopeCache;let s=i.get(t);return(!s||n)&&(s=new Map,i.set(t,s)),s}getOptionScopes(t,n,i){const{options:s,type:o}=this,r=this._cachedScopes(t,i),a=r.get(n);if(a)return a;const l=new Set;n.forEach(h=>{t&&(l.add(t),h.forEach(u=>je(l,t,u))),h.forEach(u=>je(l,s,u)),h.forEach(u=>je(l,fe[o]||{},u)),h.forEach(u=>je(l,K,u)),h.forEach(u=>je(l,Mi,u))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),va.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,fe[n]||{},K.datasets[n]||{},{type:n},K,Mi]}resolveNamedOptions(t,n,i,s=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=Po(this._resolverCache,t,s);let l=r;if(gf(r,n)){o.$shared=!1,i=Xt(i)?i():i;const c=this.createResolver(t,i,a);l=Pe(r,i,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,i=[""],s){const{resolver:o}=Po(this._resolverCache,t,i);return z(n)?Pe(o,n,void 0,s):o}}function Po(e,t,n){let i=e.get(t);i||(i=new Map,e.set(t,i));const s=n.join();let o=i.get(s);return o||(o={resolver:Qi(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},i.set(s,o)),o}const pf=e=>z(e)&&Object.getOwnPropertyNames(e).some(t=>Xt(e[t]));function gf(e,t){const{isScriptable:n,isIndexable:i}=na(e);for(const s of t){const o=n(s),r=i(s),a=(r||o)&&e[s];if(o&&(Xt(a)||pf(a))||r&&J(a))return!0}return!1}var mf="4.4.7";const bf=["top","bottom","left","right","chartArea"];function Oo(e,t){return e==="top"||e==="bottom"||bf.indexOf(e)===-1&&t==="x"}function Do(e,t){return function(n,i){return n[e]===i[e]?n[t]-i[t]:n[e]-i[e]}}function Ao(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),V(n&&n.onComplete,[e],t)}function xf(e){const t=e.chart,n=t.options.animation;V(n&&n.onProgress,[e],t)}function _a(e){return ns()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Rn={},Eo=e=>{const t=_a(e);return Object.values(Rn).filter(n=>n.canvas===t).pop()};function yf(e,t,n){const i=Object.keys(e);for(const s of i){const o=+s;if(o>=t){const r=e[s];delete e[s],(n>0||o>t)&&(e[o+n]=r)}}}function vf(e,t,n,i){return!n||e.type==="mouseout"?null:i?t:e}function kn(e,t,n){return e.options.clip?e[n]:t[n]}function _f(e,t){const{xScale:n,yScale:i}=e;return n&&i?{left:kn(n,t,"left"),right:kn(n,t,"right"),top:kn(i,t,"top"),bottom:kn(i,t,"bottom")}:t}class Ct{static register(...t){Mt.add(...t),To()}static unregister(...t){Mt.remove(...t),To()}constructor(t,n){const i=this.config=new ff(n),s=_a(t),o=Eo(s);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||jd(s)),this.platform.updateConfig(i);const a=this.platform.acquireContext(s,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=yh(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new ef,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=jh(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],Rn[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Tt.listen(this,"complete",Ao),Tt.listen(this,"progress",xf),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:i,height:s,_aspectRatio:o}=this;return W(t)?n&&o?o:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return Mt}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Qs(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Gs(this.canvas,this.ctx),this}stop(){return Tt.stop(this),this}resize(t,n){Tt.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const i=this.options,s=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(s,t,n,o),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Qs(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),V(i.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};H(n,(i,s)=>{i.id=s})}buildOrUpdateScales(){const t=this.options,n=t.scales,i=this.scales,s=Object.keys(i).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=Oi(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),H(o,r=>{const a=r.options,l=a.id,c=Oi(l,a),h=j(a.type,r.dtype);(a.position===void 0||Oo(a.position,c)!==Oo(r.dposition))&&(a.position=r.dposition),s[l]=!0;let u=null;if(l in i&&i[l].type===h)u=i[l];else{const d=Mt.getScale(h);u=new d({id:l,type:h,ctx:this.ctx,chart:this}),i[u.id]=u}u.init(a,t)}),H(s,(r,a)=>{r||delete i[a]}),H(i,r=>{bt.configure(this,r,r.options),bt.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,i=t.length;if(t.sort((s,o)=>s.index-o.index),i>n){for(let s=n;s<i;++s)this._destroyDatasetMeta(s);t.splice(n,i-n)}this._sortedMetasets=t.slice(0).sort(Do("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:n}}=this;t.length>n.length&&delete this._stacks,t.forEach((i,s)=>{n.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(s)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=n.length;i<s;i++){const o=n[i];let r=this.getDatasetMeta(i);const a=o.type||this.config.type;if(r.type&&r.type!==a&&(this._destroyDatasetMeta(i),r=this.getDatasetMeta(i)),r.type=a,r.indexAxis=o.indexAxis||Pi(a,this.options),r.order=o.order||0,r.index=i,r.label=""+o.label,r.visible=this.isDatasetVisible(i),r.controller)r.controller.updateIndex(i),r.controller.linkScales();else{const l=Mt.getController(a),{datasetElementType:c,dataElementType:h}=K.datasets[a];Object.assign(l,{dataElementType:Mt.getElement(h),datasetElementType:c&&Mt.getElement(c)}),r.controller=new l(this,i),t.push(r.controller)}}return this._updateMetasets(),t}_resetElements(){H(this.data.datasets,(t,n)=>{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const i=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c<h;c++){const{controller:u}=this.getDatasetMeta(c),d=!s&&o.indexOf(u)===-1;u.buildOrUpdateElements(d),r=Math.max(+u.getMaxOverflow(),r)}r=this._minPadding=i.layout.autoPadding?r:0,this._updateLayout(r),s||H(o,c=>{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Do("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){H(this.scales,t=>{bt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Ns(n,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:o}of n){const r=i==="_removeElements"?-o:o;yf(t,s,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,i=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),s=i(0);for(let o=1;o<n;o++)if(!Ns(s,i(o)))return;return Array.from(s).map(o=>o.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;bt.update(this,this.width,this.height,t);const n=this.chartArea,i=n.width<=0||n.height<=0;this._layers=[],H(this.boxes,s=>{i&&s.position==="chartArea"||(s.configure&&s.configure(),this._layers.push(...s._layers()))},this),this._layers.forEach((s,o)=>{s._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,i=this.data.datasets.length;n<i;++n)this.getDatasetMeta(n).controller.configure();for(let n=0,i=this.data.datasets.length;n<i;++n)this._updateDataset(n,Xt(t)?t({datasetIndex:n}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,n){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:n,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",s)!==!1&&(i.controller._update(n),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(Tt.has(this)?this.attached&&!Tt.running(this)&&Tt.start(this):(this.draw(),Ao({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:s}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,s)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const n=this._layers;for(t=0;t<n.length&&n[t].z<=0;++t)n[t].draw(this.chartArea);for(this._drawDatasets();t<n.length;++t)n[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const n=this._sortedMetasets,i=[];let s,o;for(s=0,o=n.length;s<o;++s){const r=n[s];(!t||r.visible)&&i.push(r)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let n=t.length-1;n>=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,i=t._clip,s=!i.disabled,o=_f(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(s&&Gi(n,{left:i.left===!1?0:o.left-i.left,right:i.right===!1?this.width:o.right+i.right,top:i.top===!1?0:o.top-i.top,bottom:i.bottom===!1?this.height:o.bottom+i.bottom}),t.controller.draw(),s&&Ji(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return tn(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,i,s){const o=md.modes[n];return typeof o=="function"?o(this,t,i,s):[]}getDatasetMeta(t){const n=this.data.datasets[t],i=this._metasets;let s=i.filter(o=>o&&o._dataset===n).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=pe(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!n.hidden}setDatasetVisibility(t,n){const i=this.getDatasetMeta(t);i.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,i){const s=i?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,s);Ze(n)?(o.data[n].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(o,{visible:i}),this.update(a=>a.datasetIndex===t?s:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),Tt.remove(this),t=0,n=this.data.datasets.length;t<n;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:n}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Gs(t,n),this.platform.releaseContext(n),this.canvas=null,this.ctx=null),delete Rn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,n=this.platform,i=(o,r)=>{n.addEventListener(this,o,r),t[o]=r},s=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};H(this.options.events,o=>i(o,s))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,i=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},s=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",o),i("detach",r)};r=()=>{this.attached=!1,s("resize",o),this._stop(),this._resize(0,0),i("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){H(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},H(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,i){const s=i?"set":"remove";let o,r,a,l;for(n==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+s+"DatasetHoverStyle"]()),a=0,l=t.length;a<l;++a){r=t[a];const c=r&&this.getDatasetMeta(r.datasetIndex).controller;c&&c[s+"HoverStyle"](r.element,r.datasetIndex,r.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const n=this._active||[],i=t.map(({datasetIndex:o,index:r})=>{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Fn(i,n)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,n))}notifyPlugins(t,n,i){return this._plugins.notify(this,t,n,i)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,i){const s=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(u=>h.datasetIndex===u.datasetIndex&&h.index===u.index)),r=o(n,t),a=i?t:o(t,n);r.length&&this.updateHoverStyle(r,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,n){const i={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},s=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,s)===!1)return;const o=this._handleEvent(t,n,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(o||i.changed)&&this.render(),this}_handleEvent(t,n,i){const{_active:s=[],options:o}=this,r=n,a=this._getActiveElements(t,s,i,r),l=Mh(t),c=vf(t,this._lastEvent,i,l);i&&(this._lastEvent=null,V(o.onHover,[t,a,this],this),l&&V(o.onClick,[t,a,this],this));const h=!Fn(a,s);return(h||n)&&(this._active=a,this._updateHoverStyles(a,s,n)),this._lastEvent=c,h}_getActiveElements(t,n,i,s){if(t.type==="mouseout")return[];if(!i)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,s)}}T(Ct,"defaults",K),T(Ct,"instances",Rn),T(Ct,"overrides",fe),T(Ct,"registry",Mt),T(Ct,"version",mf),T(Ct,"getChart",Eo);function To(){return H(Ct.instances,e=>e._plugins.invalidate())}function wf(e,t,n){const{startAngle:i,pixelMargin:s,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=s/a;e.beginPath(),e.arc(o,r,a,i-c,n+c),l>s?(c=s/l,e.arc(o,r,l,n+c,i-c,!0)):e.arc(o,r,s,n+it,i-it),e.closePath(),e.clip()}function Sf(e){return Zi(e,["outerStart","outerEnd","innerStart","innerEnd"])}function kf(e,t,n,i){const s=Sf(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,i*t/2),a=l=>{const c=(n-Math.min(o,l))*i/2;return rt(l,0,Math.min(o,c))};return{outerStart:a(s.outerStart),outerEnd:a(s.outerEnd),innerStart:rt(s.innerStart,0,r),innerEnd:rt(s.innerEnd,0,r)}}function be(e,t,n,i){return{x:n+e*Math.cos(t),y:i+e*Math.sin(t)}}function Bn(e,t,n,i,s,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,u=Math.max(t.outerRadius+i+n-c,0),d=h>0?h+i+n+c:0;let f=0;const g=s-l;if(i){const R=h>0?h-i:0,L=u>0?u-i:0,I=(R+L)/2,Y=I!==0?g*I/(I+i):g;f=(g-Y)/2}const m=Math.max(.001,g*u-n/Z)/u,p=(g-m)/2,b=l+p+f,x=s-p-f,{outerStart:v,outerEnd:_,innerStart:y,innerEnd:w}=kf(t,d,u,x-b),k=u-v,S=u-_,P=b+v/k,D=x-_/S,C=d+y,O=d+w,E=b+y/C,F=x-w/O;if(e.beginPath(),o){const R=(P+D)/2;if(e.arc(r,a,u,P,R),e.arc(r,a,u,R,D),_>0){const $=be(S,D,r,a);e.arc($.x,$.y,_,D,x+it)}const L=be(O,x,r,a);if(e.lineTo(L.x,L.y),w>0){const $=be(O,F,r,a);e.arc($.x,$.y,w,x+it,F+Math.PI)}const I=(x-w/d+(b+y/d))/2;if(e.arc(r,a,d,x-w/d,I,!0),e.arc(r,a,d,I,b+y/d,!0),y>0){const $=be(C,E,r,a);e.arc($.x,$.y,y,E+Math.PI,b-it)}const Y=be(k,b,r,a);if(e.lineTo(Y.x,Y.y),v>0){const $=be(k,P,r,a);e.arc($.x,$.y,v,b-it,P)}}else{e.moveTo(r,a);const R=Math.cos(P)*u+r,L=Math.sin(P)*u+a;e.lineTo(R,L);const I=Math.cos(D)*u+r,Y=Math.sin(D)*u+a;e.lineTo(I,Y)}e.closePath()}function Mf(e,t,n,i,s){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Bn(e,t,n,i,l,s);for(let c=0;c<o;++c)e.fill();isNaN(a)||(l=r+(a%st||st))}return Bn(e,t,n,i,l,s),e.fill(),l}function Cf(e,t,n,i,s){const{fullCircles:o,startAngle:r,circumference:a,options:l}=t,{borderWidth:c,borderJoinStyle:h,borderDash:u,borderDashOffset:d}=l,f=l.borderAlign==="inner";if(!c)return;e.setLineDash(u||[]),e.lineDashOffset=d,f?(e.lineWidth=c*2,e.lineJoin=h||"round"):(e.lineWidth=c,e.lineJoin=h||"bevel");let g=t.endAngle;if(o){Bn(e,t,n,i,g,s);for(let m=0;m<o;++m)e.stroke();isNaN(a)||(g=r+(a%st||st))}f&&wf(e,t,g),o||(Bn(e,t,n,i,g,s),e.stroke())}class Mn extends $t{constructor(n){super();T(this,"circumference");T(this,"endAngle");T(this,"fullCircles");T(this,"innerRadius");T(this,"outerRadius");T(this,"pixelMargin");T(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,i,s){const o=this.getProps(["x","y"],s),{angle:r,distance:a}=Ur(o,{x:n,y:i}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],s),f=(this.options.spacing+this.options.borderWidth)/2,g=j(d,c-l),m=Ui(r,l,c)&&l!==c,p=g>=st||m,b=Ht(a,h+f,u+f);return p&&b}getCenterPoint(n){const{x:i,y:s,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:h}=this.options,u=(o+r)/2,d=(a+l+h+c)/2;return{x:i+Math.cos(u)*d,y:s+Math.sin(u)*d}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:i,circumference:s}=this,o=(i.offset||0)/4,r=(i.spacing||0)/2,a=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=s>st?Math.floor(s/st):0,s===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(Z,s||0)),h=o*c;n.fillStyle=i.backgroundColor,n.strokeStyle=i.borderColor,Mf(n,this,h,r,a),Cf(n,this,h,r,a),n.restore()}}T(Mn,"id","arc"),T(Mn,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),T(Mn,"defaultRoutes",{backgroundColor:"backgroundColor"}),T(Mn,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function wa(e,t,n=t){e.lineCap=j(n.borderCapStyle,t.borderCapStyle),e.setLineDash(j(n.borderDash,t.borderDash)),e.lineDashOffset=j(n.borderDashOffset,t.borderDashOffset),e.lineJoin=j(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=j(n.borderWidth,t.borderWidth),e.strokeStyle=j(n.borderColor,t.borderColor)}function Pf(e,t,n){e.lineTo(n.x,n.y)}function Of(e){return e.stepped?Gh:e.tension||e.cubicInterpolationMode==="monotone"?Jh:Pf}function Sa(e,t,n={}){const i=e.length,{start:s=0,end:o=i-1}=n,{start:r,end:a}=t,l=Math.max(s,r),c=Math.min(o,a),h=s<r&&o<r||s>a&&o>a;return{count:i,start:l,loop:t.loop,ilen:c<l&&!h?i+c-l:c-l}}function Df(e,t,n,i){const{points:s,options:o}=t,{count:r,start:a,loop:l,ilen:c}=Sa(s,n,i),h=Of(o);let{move:u=!0,reverse:d}=i||{},f,g,m;for(f=0;f<=c;++f)g=s[(a+(d?c-f:f))%r],!g.skip&&(u?(e.moveTo(g.x,g.y),u=!1):h(e,m,g,d,o.stepped),m=g);return l&&(g=s[(a+(d?c:0))%r],h(e,m,g,d,o.stepped)),!!l}function Af(e,t,n,i){const s=t.points,{count:o,start:r,ilen:a}=Sa(s,n,i),{move:l=!0,reverse:c}=i||{};let h=0,u=0,d,f,g,m,p,b;const x=_=>(r+(c?a-_:_))%o,v=()=>{m!==p&&(e.lineTo(h,p),e.lineTo(h,m),e.lineTo(h,b))};for(l&&(f=s[x(0)],e.moveTo(f.x,f.y)),d=0;d<=a;++d){if(f=s[x(d)],f.skip)continue;const _=f.x,y=f.y,w=_|0;w===g?(y<m?m=y:y>p&&(p=y),h=(u*h+_)/++u):(v(),e.lineTo(_,y),g=w,u=0,m=p=y),b=y}v()}function Di(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?Af:Df}function Ef(e){return e.stepped?Du:e.tension||e.cubicInterpolationMode==="monotone"?Au:re}function Tf(e,t,n,i){let s=t._path;s||(s=t._path=new Path2D,t.path(s,n,i)&&s.closePath()),wa(e,t.options),e.stroke(s)}function Rf(e,t,n,i){const{segments:s,options:o}=t,r=Di(t);for(const a of s)wa(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+i-1})&&e.closePath(),e.stroke()}const Lf=typeof Path2D=="function";function Ff(e,t,n,i){Lf&&!t.options.segment?Tf(e,t,n,i):Rf(e,t,n,i)}class Cn extends $t{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;_u(this._points,i,t,s,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=$u(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,i=t.length;return i&&n[t[i-1].end]}interpolate(t,n){const i=this.options,s=t[n],o=this.points,r=Fu(this,{property:n,start:s,end:s});if(!r.length)return;const a=[],l=Ef(i);let c,h;for(c=0,h=r.length;c<h;++c){const{start:u,end:d}=r[c],f=o[u],g=o[d];if(f===g){a.push(f);continue}const m=Math.abs((s-f[n])/(g[n]-f[n])),p=l(f,g,m,i.stepped);p[n]=t[n],a.push(p)}return a.length===1?a[0]:a}pathSegment(t,n,i){return Di(this)(t,this,n,i)}path(t,n,i){const s=this.segments,o=Di(this);let r=this._loop;n=n||0,i=i||this.points.length-n;for(const a of s)r&=o(t,this,a,{start:n,end:n+i-1});return!!r}draw(t,n,i,s){const o=this.options||{};(this.points||[]).length&&o.borderWidth&&(t.save(),Ff(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}T(Cn,"id","line"),T(Cn,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),T(Cn,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),T(Cn,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function Ro(e,t,n,i){const s=e.options,{[n]:o}=e.getProps([n],i);return Math.abs(t-o)<s.radius+s.hitRadius}class pi extends $t{constructor(n){super();T(this,"parsed");T(this,"skip");T(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,n&&Object.assign(this,n)}inRange(n,i,s){const o=this.options,{x:r,y:a}=this.getProps(["x","y"],s);return Math.pow(n-r,2)+Math.pow(i-a,2)<Math.pow(o.hitRadius+o.radius,2)}inXRange(n,i){return Ro(this,n,"x",i)}inYRange(n,i){return Ro(this,n,"y",i)}getCenterPoint(n){const{x:i,y:s}=this.getProps(["x","y"],n);return{x:i,y:s}}size(n){n=n||this.options||{};let i=n.radius||0;i=Math.max(i,i&&n.hoverRadius||0);const s=i&&n.borderWidth||0;return(i+s)*2}draw(n,i){const s=this.options;this.skip||s.radius<.1||!tn(this,i,this.size(s)/2)||(n.strokeStyle=s.borderColor,n.lineWidth=s.borderWidth,n.fillStyle=s.backgroundColor,Ci(n,s,this.x,this.y))}getRange(){const n=this.options||{};return n.radius+n.hitRadius}}T(pi,"id","point"),T(pi,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),T(pi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function ka(e,t){const{x:n,y:i,base:s,width:o,height:r}=e.getProps(["x","y","base","width","height"],t);let a,l,c,h,u;return e.horizontal?(u=r/2,a=Math.min(n,s),l=Math.max(n,s),c=i-u,h=i+u):(u=o/2,a=n-u,l=n+u,c=Math.min(i,s),h=Math.max(i,s)),{left:a,top:c,right:l,bottom:h}}function Wt(e,t,n,i){return e?0:rt(t,n,i)}function If(e,t,n){const i=e.options.borderWidth,s=e.borderSkipped,o=ea(i);return{t:Wt(s.top,o.top,0,n),r:Wt(s.right,o.right,0,t),b:Wt(s.bottom,o.bottom,0,n),l:Wt(s.left,o.left,0,t)}}function jf(e,t,n){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),s=e.options.borderRadius,o=ye(s),r=Math.min(t,n),a=e.borderSkipped,l=i||z(s);return{topLeft:Wt(!l||a.top||a.left,o.topLeft,0,r),topRight:Wt(!l||a.top||a.right,o.topRight,0,r),bottomLeft:Wt(!l||a.bottom||a.left,o.bottomLeft,0,r),bottomRight:Wt(!l||a.bottom||a.right,o.bottomRight,0,r)}}function $f(e){const t=ka(e),n=t.right-t.left,i=t.bottom-t.top,s=If(e,n/2,i/2),o=jf(e,n/2,i/2);return{outer:{x:t.left,y:t.top,w:n,h:i,radius:o},inner:{x:t.left+s.l,y:t.top+s.t,w:n-s.l-s.r,h:i-s.t-s.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(s.t,s.l)),topRight:Math.max(0,o.topRight-Math.max(s.t,s.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(s.b,s.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(s.b,s.r))}}}}function gi(e,t,n,i){const s=t===null,o=n===null,a=e&&!(s&&o)&&ka(e,i);return a&&(s||Ht(t,a.left,a.right))&&(o||Ht(n,a.top,a.bottom))}function zf(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function Nf(e,t){e.rect(t.x,t.y,t.w,t.h)}function mi(e,t,n={}){const i=e.x!==n.x?-t:0,s=e.y!==n.y?-t:0,o=(e.x+e.w!==n.x+n.w?t:0)-i,r=(e.y+e.h!==n.y+n.h?t:0)-s;return{x:e.x+i,y:e.y+s,w:e.w+o,h:e.h+r,radius:e.radius}}class bi extends $t{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:i,backgroundColor:s}}=this,{inner:o,outer:r}=$f(this),a=zf(r.radius)?$n:Nf;t.save(),(r.w!==o.w||r.h!==o.h)&&(t.beginPath(),a(t,mi(r,n,o)),t.clip(),a(t,mi(o,-n,r)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,mi(o,n)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,n,i){return gi(this,t,n,i)}inXRange(t,n){return gi(this,t,null,n)}inYRange(t,n){return gi(this,null,t,n)}getCenterPoint(t){const{x:n,y:i,base:s,horizontal:o}=this.getProps(["x","y","base","horizontal"],t);return{x:o?(n+s)/2:n,y:o?i:(i+s)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}T(bi,"id","bar"),T(bi,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),T(bi,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});const Lo=(e,t)=>{let{boxHeight:n=t,boxWidth:i=t}=e;return e.usePointStyle&&(n=Math.min(n,t),i=e.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:n,itemHeight:Math.max(t,n)}},Bf=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Fo extends $t{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,i){this.maxWidth=t,this.maxHeight=n,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=V(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(i=>t.filter(i,this.chart.data))),t.sort&&(n=n.sort((i,s)=>t.sort(i,s,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,s=at(i.font),o=s.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Lo(i,o);let c,h;n.font=s.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,s,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,n,i,s){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=s+a;let u=t;o.textAlign="left",o.textBaseline="middle";let d=-1,f=-h;return this.legendItems.forEach((g,m)=>{const p=i+n/2+o.measureText(g.text).width;(m===0||c[c.length-1]+p+2*a>r)&&(u+=h,c[c.length-(m>0?0:1)]=0,f+=h,d++),l[m]={left:0,top:f,row:d,width:p,height:s},c[c.length-1]+=p+a}),u}_fitCols(t,n,i,s){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let u=a,d=0,f=0,g=0,m=0;return this.legendItems.forEach((p,b)=>{const{itemWidth:x,itemHeight:v}=Hf(i,n,o,p,s);b>0&&f+v+2*a>h&&(u+=d+a,c.push({width:d,height:f}),g+=d+a,m++,d=f=0),l[b]={left:g,top:f,col:m,width:x,height:v},d=Math.max(d,x),f+=v+a}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:i,labels:{padding:s},rtl:o}}=this,r=ve(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ot(i,this.left+s,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=ot(i,this.left+s,this.right-this.lineWidths[a])),c.top+=this.top+t+s,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+s}else{let a=0,l=ot(i,this.top+t+s,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=ot(i,this.top+t+s,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+s,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+s}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Gi(t,this),this._draw(),Ji(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:i,ctx:s}=this,{align:o,labels:r}=t,a=K.color,l=ve(t.rtl,this.left,this.width),c=at(r.font),{padding:h}=r,u=c.size,d=u/2;let f;this.drawTitle(),s.textAlign=l.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:g,boxHeight:m,itemHeight:p}=Lo(r,u),b=function(w,k,S){if(isNaN(g)||g<=0||isNaN(m)||m<0)return;s.save();const P=j(S.lineWidth,1);if(s.fillStyle=j(S.fillStyle,a),s.lineCap=j(S.lineCap,"butt"),s.lineDashOffset=j(S.lineDashOffset,0),s.lineJoin=j(S.lineJoin,"miter"),s.lineWidth=P,s.strokeStyle=j(S.strokeStyle,a),s.setLineDash(j(S.lineDash,[])),r.usePointStyle){const D={radius:m*Math.SQRT2/2,pointStyle:S.pointStyle,rotation:S.rotation,borderWidth:P},C=l.xPlus(w,g/2),O=k+d;ta(s,D,C,O,r.pointStyleWidth&&g)}else{const D=k+Math.max((u-m)/2,0),C=l.leftForLtr(w,g),O=ye(S.borderRadius);s.beginPath(),Object.values(O).some(E=>E!==0)?$n(s,{x:C,y:D,w:g,h:m,radius:O}):s.rect(C,D,g,m),s.fill(),P!==0&&s.stroke()}s.restore()},x=function(w,k,S){en(s,S.text,w,k+p/2,c,{strikethrough:S.hidden,textAlign:l.textAlign(S.textAlign)})},v=this.isHorizontal(),_=this._computeTitleHeight();v?f={x:ot(o,this.left+h,this.right-i[0]),y:this.top+h+_,line:0}:f={x:this.left+h,y:ot(o,this.top+_+h,this.bottom-n[0].height),line:0},aa(this.ctx,t.textDirection);const y=p+h;this.legendItems.forEach((w,k)=>{s.strokeStyle=w.fontColor,s.fillStyle=w.fontColor;const S=s.measureText(w.text).width,P=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),D=g+d+S;let C=f.x,O=f.y;l.setWidth(this.width),v?k>0&&C+D+h>this.right&&(O=f.y+=y,f.line++,C=f.x=ot(o,this.left+h,this.right-i[f.line])):k>0&&O+y>this.bottom&&(C=f.x=C+n[f.line].width+h,f.line++,O=f.y=ot(o,this.top+_+h,this.bottom-n[f.line].height));const E=l.x(C);if(b(E,O,w),C=$h(P,C+g+d,v?C+D:this.right,t.rtl),x(l.x(C),O,w),v)f.x+=D+h;else if(typeof w.text!="string"){const F=c.lineHeight;f.y+=Ma(w,F)+h}else f.y+=y}),la(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,i=at(n.font),s=_t(n.padding);if(!n.display)return;const o=ve(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=i.size/2,c=s.top+l;let h,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+c,u=ot(t.align,u,this.right-d);else{const g=this.columnSizes.reduce((m,p)=>Math.max(m,p.height),0);h=c+ot(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}const f=ot(a,u,u+d);r.textAlign=o.textAlign(Ki(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=i.string,en(r,n.text,f,h,i)}_computeTitleHeight(){const t=this.options.title,n=at(t.font),i=_t(t.padding);return t.display?n.lineHeight+i.height:0}_getLegendItemAt(t,n){let i,s,o;if(Ht(t,this.left,this.right)&&Ht(n,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;i<o.length;++i)if(s=o[i],Ht(t,s.left,s.left+s.width)&&Ht(n,s.top,s.top+s.height))return this.legendItems[i]}return null}handleEvent(t){const n=this.options;if(!Yf(t.type,n))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const s=this._hoveredItem,o=Bf(s,i);s&&!o&&V(n.onLeave,[t,s,this],this),this._hoveredItem=i,i&&!o&&V(n.onHover,[t,i,this],this)}else i&&V(n.onClick,[t,i,this],this)}}function Hf(e,t,n,i,s){const o=Wf(i,e,t,n),r=Vf(s,i,t.lineHeight);return{itemWidth:o,itemHeight:r}}function Wf(e,t,n,i){let s=e.text;return s&&typeof s!="string"&&(s=s.reduce((o,r)=>o.length>r.length?o:r)),t+n.size/2+i.measureText(s).width}function Vf(e,t,n){let i=e;return typeof t.text!="string"&&(i=Ma(t,n)),i}function Ma(e,t){const n=e.text?e.text.length:0;return t*n}function Yf(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var kg={id:"legend",_element:Fo,start(e,t,n){const i=e.legend=new Fo({ctx:e.ctx,options:n,chart:e});bt.configure(e,i,n),bt.addBox(e,i)},stop(e){bt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const i=e.legend;bt.configure(e,i,n),i.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const i=t.datasetIndex,s=n.chart;s.isDatasetVisible(i)?(s.hide(i),t.hidden=!0):(s.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:s,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),h=_t(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:s||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class Ca extends $t{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const s=J(i.text)?i.text.length:1;this._padding=_t(i.padding);const o=s*at(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:i,bottom:s,right:o,options:r}=this,a=r.align;let l=0,c,h,u;return this.isHorizontal()?(h=ot(a,i,o),u=n+t,c=o-i):(r.position==="left"?(h=i+t,u=ot(a,s,n),l=Z*-.5):(h=o-t,u=ot(a,n,s),l=Z*.5),c=s-n),{titleX:h,titleY:u,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const i=at(n.font),o=i.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);en(t,n.text,0,0,i,{color:n.color,maxWidth:l,rotation:c,textAlign:Ki(n.align),textBaseline:"middle",translation:[r,a]})}}function Uf(e,t){const n=new Ca({ctx:e.ctx,options:t,chart:e});bt.configure(e,n,t),bt.addBox(e,n),e.titleBlock=n}var Mg={id:"title",_element:Ca,start(e,t,n){Uf(e,n)},stop(e){const t=e.titleBlock;bt.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const i=e.titleBlock;bt.configure(e,i,n),i.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ne={average(e){if(!e.length)return!1;let t,n,i=new Set,s=0,o=0;for(t=0,n=e.length;t<n;++t){const a=e[t].element;if(a&&a.hasValue()){const l=a.tooltipPosition();i.add(l.x),s+=l.y,++o}}return o===0||i.size===0?!1:{x:[...i].reduce((a,l)=>a+l)/i.size,y:s/o}},nearest(e,t){if(!e.length)return!1;let n=t.x,i=t.y,s=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=e.length;o<r;++o){const l=e[o].element;if(l&&l.hasValue()){const c=l.getCenterPoint(),h=ki(t,c);h<s&&(s=h,a=l)}}if(a){const l=a.tooltipPosition();n=l.x,i=l.y}return{x:n,y:i}}};function kt(e,t){return t&&(J(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function Rt(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(` +`)>-1?e.split(` +`):e}function Xf(e,t){const{element:n,datasetIndex:i,index:s}=t,o=e.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(s);return{chart:e,label:r,parsed:o.getParsed(s),raw:e.data.datasets[i].data[s],formattedValue:a,dataset:o.getDataset(),dataIndex:s,datasetIndex:i,element:n}}function Io(e,t){const n=e.chart.ctx,{body:i,footer:s,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=at(t.bodyFont),c=at(t.titleFont),h=at(t.footerFont),u=o.length,d=s.length,f=i.length,g=_t(t.padding);let m=g.height,p=0,b=i.reduce((_,y)=>_+y.before.length+y.lines.length+y.after.length,0);if(b+=e.beforeBody.length+e.afterBody.length,u&&(m+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),b){const _=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=f*_+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}d&&(m+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let x=0;const v=function(_){p=Math.max(p,n.measureText(_).width+x)};return n.save(),n.font=c.string,H(e.title,v),n.font=l.string,H(e.beforeBody.concat(e.afterBody),v),x=t.displayColors?r+2+t.boxPadding:0,H(i,_=>{H(_.before,v),H(_.lines,v),H(_.after,v)}),x=0,n.font=h.string,H(e.footer,v),n.restore(),p+=g.width,{width:p,height:m}}function Kf(e,t){const{y:n,height:i}=t;return n<i/2?"top":n>e.height-i/2?"bottom":"center"}function qf(e,t,n,i){const{x:s,width:o}=i,r=n.caretSize+n.caretPadding;if(e==="left"&&s+o+r>t.width||e==="right"&&s-o-r<0)return!0}function Gf(e,t,n,i){const{x:s,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return i==="center"?c=s<=(a+l)/2?"left":"right":s<=o/2?c="left":s>=r-o/2&&(c="right"),qf(c,e,t,n)&&(c="center"),c}function jo(e,t,n){const i=n.yAlign||t.yAlign||Kf(e,n);return{xAlign:n.xAlign||t.xAlign||Gf(e,t,n,i),yAlign:i}}function Jf(e,t){let{x:n,width:i}=e;return t==="right"?n-=i:t==="center"&&(n-=i/2),n}function Zf(e,t,n){let{y:i,height:s}=e;return t==="top"?i+=n:t==="bottom"?i-=s+n:i-=s/2,i}function $o(e,t,n,i){const{caretSize:s,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=s+o,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=ye(r);let g=Jf(t,a);const m=Zf(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,d)+s:a==="right"&&(g+=Math.max(u,f)+s),{x:rt(g,0,i.width-t.width),y:rt(m,0,i.height-t.height)}}function Pn(e,t,n){const i=_t(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-i.right:e.x+i.left}function zo(e){return kt([],Rt(e))}function Qf(e,t,n){return pe(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function No(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const Pa={beforeTitle:Et,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,i=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return n[t.dataIndex]}return""},afterTitle:Et,beforeBody:Et,beforeLabel:Et,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return W(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Et,afterBody:Et,beforeFooter:Et,footer:Et,afterFooter:Et};function ct(e,t,n,i){const s=e[t].call(n,i);return typeof s>"u"?Pa[t].call(n,i):s}class Ai extends $t{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&n.options.animation&&i.animations,o=new ha(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=Qf(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:i}=n,s=ct(i,"beforeTitle",this,t),o=ct(i,"title",this,t),r=ct(i,"afterTitle",this,t);let a=[];return a=kt(a,Rt(s)),a=kt(a,Rt(o)),a=kt(a,Rt(r)),a}getBeforeBody(t,n){return zo(ct(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:i}=n,s=[];return H(t,o=>{const r={before:[],lines:[],after:[]},a=No(i,o);kt(r.before,Rt(ct(a,"beforeLabel",this,o))),kt(r.lines,ct(a,"label",this,o)),kt(r.after,Rt(ct(a,"afterLabel",this,o))),s.push(r)}),s}getAfterBody(t,n){return zo(ct(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:i}=n,s=ct(i,"beforeFooter",this,t),o=ct(i,"footer",this,t),r=ct(i,"afterFooter",this,t);let a=[];return a=kt(a,Rt(s)),a=kt(a,Rt(o)),a=kt(a,Rt(r)),a}_createItems(t){const n=this._active,i=this.chart.data,s=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;l<c;++l)a.push(Xf(this.chart,n[l]));return t.filter&&(a=a.filter((h,u,d)=>t.filter(h,u,d,i))),t.itemSort&&(a=a.sort((h,u)=>t.itemSort(h,u,i))),H(a,h=>{const u=No(t.callbacks,h);s.push(ct(u,"labelColor",this,h)),o.push(ct(u,"labelPointStyle",this,h)),r.push(ct(u,"labelTextColor",this,h))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const i=this.options.setContext(this.getContext()),s=this._active;let o,r=[];if(!s.length)this.opacity!==0&&(o={opacity:0});else{const a=Ne[i.position].call(this,s,this._eventPosition);r=this._createItems(i),this.title=this.getTitle(r,i),this.beforeBody=this.getBeforeBody(r,i),this.body=this.getBody(r,i),this.afterBody=this.getAfterBody(r,i),this.footer=this.getFooter(r,i);const l=this._size=Io(this,i),c=Object.assign({},a,l),h=jo(this.chart,i,c),u=$o(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:u.x,y:u.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,i,s){const o=this.getCaretPosition(t,i,s);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,i){const{xAlign:s,yAlign:o}=this,{caretSize:r,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:u}=ye(a),{x:d,y:f}=t,{width:g,height:m}=n;let p,b,x,v,_,y;return o==="center"?(_=f+m/2,s==="left"?(p=d,b=p-r,v=_+r,y=_-r):(p=d+g,b=p+r,v=_-r,y=_+r),x=p):(s==="left"?b=d+Math.max(l,h)+r:s==="right"?b=d+g-Math.max(c,u)-r:b=this.caretX,o==="top"?(v=f,_=v-r,p=b-r,x=b+r):(v=f+m,_=v+r,p=b+r,x=b-r),y=v),{x1:p,x2:b,x3:x,y1:v,y2:_,y3:y}}drawTitle(t,n,i){const s=this.title,o=s.length;let r,a,l;if(o){const c=ve(i.rtl,this.x,this.width);for(t.x=Pn(this,i.titleAlign,i),n.textAlign=c.textAlign(i.titleAlign),n.textBaseline="middle",r=at(i.titleFont),a=i.titleSpacing,n.fillStyle=i.titleColor,n.font=r.string,l=0;l<o;++l)n.fillText(s[l],c.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+a,l+1===o&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,n,i,s,o){const r=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:l,boxWidth:c}=o,h=at(o.bodyFont),u=Pn(this,"left",o),d=s.x(u),f=l<h.lineHeight?(h.lineHeight-l)/2:0,g=n.y+f;if(o.usePointStyle){const m={radius:Math.min(c,l)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},p=s.leftForLtr(d,c)+c/2,b=g+l/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Ci(t,m,p,b),t.strokeStyle=r.borderColor,t.fillStyle=r.backgroundColor,Ci(t,m,p,b)}else{t.lineWidth=z(r.borderWidth)?Math.max(...Object.values(r.borderWidth)):r.borderWidth||1,t.strokeStyle=r.borderColor,t.setLineDash(r.borderDash||[]),t.lineDashOffset=r.borderDashOffset||0;const m=s.leftForLtr(d,c),p=s.leftForLtr(s.xPlus(d,1),c-2),b=ye(r.borderRadius);Object.values(b).some(x=>x!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,$n(t,{x:m,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),$n(t,{x:p,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,g,c,l),t.strokeRect(m,g,c,l),t.fillStyle=r.backgroundColor,t.fillRect(p,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,n,i){const{body:s}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,u=at(i.bodyFont);let d=u.lineHeight,f=0;const g=ve(i.rtl,this.x,this.width),m=function(S){n.fillText(S,g.x(t.x+f),t.y+d/2),t.y+=d+o},p=g.textAlign(r);let b,x,v,_,y,w,k;for(n.textAlign=r,n.textBaseline="middle",n.font=u.string,t.x=Pn(this,p,i),n.fillStyle=i.bodyColor,H(this.beforeBody,m),f=a&&p!=="right"?r==="center"?c/2+h:c+2+h:0,_=0,w=s.length;_<w;++_){for(b=s[_],x=this.labelTextColors[_],n.fillStyle=x,H(b.before,m),v=b.lines,a&&v.length&&(this._drawColorBox(n,t,_,g,i),d=Math.max(u.lineHeight,l)),y=0,k=v.length;y<k;++y)m(v[y]),d=u.lineHeight;H(b.after,m)}f=0,d=u.lineHeight,H(this.afterBody,m),t.y-=o}drawFooter(t,n,i){const s=this.footer,o=s.length;let r,a;if(o){const l=ve(i.rtl,this.x,this.width);for(t.x=Pn(this,i.footerAlign,i),t.y+=i.footerMarginTop,n.textAlign=l.textAlign(i.footerAlign),n.textBaseline="middle",r=at(i.footerFont),n.fillStyle=i.footerColor,n.font=r.string,a=0;a<o;++a)n.fillText(s[a],l.x(t.x),t.y+r.lineHeight/2),t.y+=r.lineHeight+i.footerSpacing}}drawBackground(t,n,i,s){const{xAlign:o,yAlign:r}=this,{x:a,y:l}=t,{width:c,height:h}=i,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:g}=ye(s.cornerRadius);n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,n.lineWidth=s.borderWidth,n.beginPath(),n.moveTo(a+u,l),r==="top"&&this.drawCaret(t,n,i,s),n.lineTo(a+c-d,l),n.quadraticCurveTo(a+c,l,a+c,l+d),r==="center"&&o==="right"&&this.drawCaret(t,n,i,s),n.lineTo(a+c,l+h-g),n.quadraticCurveTo(a+c,l+h,a+c-g,l+h),r==="bottom"&&this.drawCaret(t,n,i,s),n.lineTo(a+f,l+h),n.quadraticCurveTo(a,l+h,a,l+h-f),r==="center"&&o==="left"&&this.drawCaret(t,n,i,s),n.lineTo(a,l+u),n.quadraticCurveTo(a,l,a+u,l),n.closePath(),n.fill(),s.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,i=this.$animations,s=i&&i.x,o=i&&i.y;if(s||o){const r=Ne[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Io(this,t),l=Object.assign({},r,this._size),c=jo(n,t,l),h=$o(t,l,c,n);(s._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(n);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const r=_t(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(o,t,s,n),aa(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),la(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const i=this._active,s=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Fn(i,s),r=this._positionChanged(s,n);(o||r)&&(this._active=s,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,i=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,i),a=this._positionChanged(r,t),l=n||!Fn(r,o)||a;return l&&(this._active=r,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,i,s){const o=this.options;if(t.type==="mouseout")return[];if(!s)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:i,caretY:s,options:o}=this,r=Ne[o.position].call(this,t,n);return r!==!1&&(i!==r.x||s!==r.y)}}T(Ai,"positioners",Ne);var Cg={id:"tooltip",_element:Ai,positioners:Ne,afterInit(e,t,n){n&&(e.tooltip=new Ai({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Pa},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const tp=(e,t,n,i)=>(typeof t=="string"?(n=e.push(t)-1,i.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function ep(e,t,n,i){const s=e.indexOf(t);if(s===-1)return tp(e,t,n,i);const o=e.lastIndexOf(t);return s!==o?n:s}const np=(e,t)=>e===null?null:rt(Math.round(e),0,t);function Bo(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Ho extends De{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const i=this.getLabels();for(const{index:s,label:o}of n)i[s]===o&&i.splice(s,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(W(t))return null;const i=this.getLabels();return n=isFinite(n)&&i[n]===t?n:ep(i,t,j(n,t),this._addedLabels),np(n,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),n||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,n=this.max,i=this.options.offset,s=[];let o=this.getLabels();o=t===0&&n===o.length-1?o:o.slice(t,n+1),this._valueRange=Math.max(o.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let r=t;r<=n;r++)s.push({value:r});return s}getLabelForValue(t){return Bo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}T(Ho,"id","category"),T(Ho,"defaults",{ticks:{callback:Bo}});function ip(e,t){const n=[],{bounds:s,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:u,includeBounds:d}=e,f=o||1,g=h-1,{min:m,max:p}=t,b=!W(r),x=!W(a),v=!W(c),_=(p-m)/(u+1);let y=Hs((p-m)/g/f)*f,w,k,S,P;if(y<1e-14&&!b&&!x)return[{value:m},{value:p}];P=Math.ceil(p/y)-Math.floor(m/y),P>g&&(y=Hs(P*y/g/f)*f),W(l)||(w=Math.pow(10,l),y=Math.ceil(y*w)/w),s==="ticks"?(k=Math.floor(m/y)*y,S=Math.ceil(p/y)*y):(k=m,S=p),b&&x&&o&&Dh((a-r)/o,y/1e3)?(P=Math.round(Math.min((a-r)/y,h)),y=(a-r)/P,k=r,S=a):v?(k=b?r:k,S=x?a:S,P=c-1,y=(S-k)/P):(P=(S-k)/y,Ye(P,Math.round(P),y/1e3)?P=Math.round(P):P=Math.ceil(P));const D=Math.max(Ws(y),Ws(k));w=Math.pow(10,W(l)?D:l),k=Math.round(k*w)/w,S=Math.round(S*w)/w;let C=0;for(b&&(d&&k!==r?(n.push({value:r}),k<r&&C++,Ye(Math.round((k+C*y)*w)/w,r,Wo(r,_,e))&&C++):k<r&&C++);C<P;++C){const O=Math.round((k+C*y)*w)/w;if(x&&O>a)break;n.push({value:O})}return x&&d&&S!==a?n.length&&Ye(n[n.length-1].value,a,Wo(a,_,e))?n[n.length-1].value=a:n.push({value:a}):(!x||S===a)&&n.push({value:S}),n}function Wo(e,t,{horizontal:n,minRotation:i}){const s=ae(i),o=(n?Math.sin(s):Math.cos(s))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class sp extends De{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return W(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:i}=this.getUserBounds();let{min:s,max:o}=this;const r=l=>s=n?s:l,a=l=>o=i?o:l;if(t){const l=Dt(s),c=Dt(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(s===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(s-l)}this.min=s,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:i}=t,s;return i?(s=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,s>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${s} ticks. Limiting to 1000.`),s=1e3)):(s=this.computeTickLimit(),n=n||11),n&&(s=Math.min(n,s)),s}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=ip(s,o);return t.bounds==="ticks"&&Ah(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let n=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-n)/Math.max(t.length-1,1)/2;n-=s,i+=s}this._startValue=n,this._endValue=i,this._valueRange=i-n}getLabelForValue(t){return Jr(t,this.chart.options.locale,this.options.ticks.format)}}class Vo extends sp{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=vt(t)?t:0,this.max=vt(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,i=ae(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,o.lineHeight/s))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}T(Vo,"id","linear"),T(Vo,"defaults",{ticks:{callback:Qr.formatters.numeric}});const Kn={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ht=Object.keys(Kn);function Yo(e,t){return e-t}function Uo(e,t){if(W(t))return null;const n=e._adapter,{parser:i,round:s,isoWeekday:o}=e._parseOpts;let r=t;return typeof i=="function"&&(r=i(r)),vt(r)||(r=typeof i=="string"?n.parse(r,i):n.parse(r)),r===null?null:(s&&(r=s==="week"&&(Qe(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,s)),+r)}function Xo(e,t,n,i){const s=ht.length;for(let o=ht.indexOf(e);o<s-1;++o){const r=Kn[ht[o]],a=r.steps?r.steps:Number.MAX_SAFE_INTEGER;if(r.common&&Math.ceil((n-t)/(a*r.size))<=i)return ht[o]}return ht[s-1]}function op(e,t,n,i,s){for(let o=ht.length-1;o>=ht.indexOf(n);o--){const r=ht[o];if(Kn[r].common&&e._adapter.diff(s,i,r)>=t-1)return r}return ht[n?ht.indexOf(n):0]}function rp(e){for(let t=ht.indexOf(e)+1,n=ht.length;t<n;++t)if(Kn[ht[t]].common)return ht[t]}function Ko(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:i,hi:s}=Xi(n,t),o=n[i]>=t?n[i]:n[s];e[o]=!0}}function ap(e,t,n,i){const s=e._adapter,o=+s.startOf(t[0].value,i),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+s.add(a,1,i))l=n[a],l>=0&&(t[l].major=!0);return t}function qo(e,t,n){const i=[],s={},o=t.length;let r,a;for(r=0;r<o;++r)a=t[r],s[a]=r,i.push({value:a,major:!1});return o===0||!n?i:ap(e,i,s,n)}class Hn extends De{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const i=t.time||(t.time={}),s=this._adapter=new ud._date(t.adapters.date);s.init(n),Ve(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:Uo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,i=t.time.unit||"day";let{min:s,max:o,minDefined:r,maxDefined:a}=this.getUserBounds();function l(c){!r&&!isNaN(c.min)&&(s=Math.min(s,c.min)),!a&&!isNaN(c.max)&&(o=Math.max(o,c.max))}(!r||!a)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),s=vt(s)&&!isNaN(s)?s:+n.startOf(Date.now(),i),o=vt(o)&&!isNaN(o)?o:+n.endOf(Date.now(),i)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],i=t[t.length-1]),{min:n,max:i}}buildTicks(){const t=this.options,n=t.time,i=t.ticks,s=i.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,r=this.max,a=Fh(s,o,r);return this._unit=n.unit||(i.autoSkip?Xo(n.minUnit,this.min,this.max,this._getLabelCapacity(o)):op(this,a.length,n.minUnit,this.min,this.max)),this._majorUnit=!i.major.enabled||this._unit==="year"?void 0:rp(this._unit),this.initOffsets(s),t.reverse&&a.reverse(),qo(this,a,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,i=0,s,o;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),t.length===1?n=1-s:n=(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=rt(n,0,r),i=rt(i,0,r),this._offsets={start:n,end:i,factor:1/(n+1+i)}}_generate(){const t=this._adapter,n=this.min,i=this.max,s=this.options,o=s.time,r=o.unit||Xo(o.minUnit,n,i,this._getLabelCapacity(n)),a=j(s.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Qe(l)||l===!0,h={};let u=n,d,f;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(i,n,r)>1e5*a)throw new Error(n+" and "+i+" are too far apart with stepSize of "+a+" "+r);const g=s.ticks.source==="data"&&this.getDataTimestamps();for(d=u,f=0;d<i;d=+t.add(d,a,r),f++)Ko(h,d,g);return(d===i||s.bounds==="ticks"||f===1)&&Ko(h,d,g),Object.keys(h).sort(Yo).map(m=>+m)}getLabelForValue(t){const n=this._adapter,i=this.options.time;return i.tooltipFormat?n.format(t,i.tooltipFormat):n.format(t,i.displayFormats.datetime)}format(t,n){const s=this.options.time.displayFormats,o=this._unit,r=n||s[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,i,s){const o=this.options,r=o.ticks.callback;if(r)return V(r,[t,n,i],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],u=c&&a[c],d=i[n],f=c&&u&&d&&d.major;return this._adapter.format(t,s||(f?u:h))}generateTickLabels(t){let n,i,s;for(n=0,i=t.length;n<i;++n)s=t[n],s.label=this._tickFormatFunction(s.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+i)*n.factor)}getValueForPixel(t){const n=this._offsets,i=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,i=this.ctx.measureText(t).width,s=ae(this.isHorizontal()?n.maxRotation:n.minRotation),o=Math.cos(s),r=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*o+a*r,h:i*r+a*o}}_getLabelCapacity(t){const n=this.options.time,i=n.displayFormats,s=i[n.unit]||i.millisecond,o=this._tickFormatFunction(t,0,qo(this,[t],this._majorUnit),s),r=this._getLabelSize(o),a=Math.floor(this.isHorizontal()?this.width/r.w:this.height/r.h)-1;return a>0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,i;if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(n=0,i=s.length;n<i;++n)t=t.concat(s[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,i;if(t.length)return t;const s=this.getLabels();for(n=0,i=s.length;n<i;++n)t.push(Uo(this,s[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Kr(t.sort(Yo))}}T(Hn,"id","time"),T(Hn,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function On(e,t,n){let i=0,s=e.length-1,o,r,a,l;n?(t>=e[i].pos&&t<=e[s].pos&&({lo:i,hi:s}=le(e,"pos",t)),{pos:o,time:a}=e[i],{pos:r,time:l}=e[s]):(t>=e[i].time&&t<=e[s].time&&({lo:i,hi:s}=le(e,"time",t)),{time:o,pos:a}=e[i],{time:r,pos:l}=e[s]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Go extends Hn{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=On(n,this.min),this._tableRange=On(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:i}=this,s=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r<a;++r)c=t[r],c>=n&&c<=i&&s.push(c);if(s.length<2)return[{time:n,pos:0},{time:i,pos:1}];for(r=0,a=s.length;r<a;++r)h=s[r+1],l=s[r-1],c=s[r],Math.round((h+l)/2)!==c&&o.push({time:c,pos:r/(a-1)});return o}_generate(){const t=this.min,n=this.max;let i=super.getDataTimestamps();return(!i.includes(t)||!i.length)&&i.splice(0,0,t),(!i.includes(n)||i.length===1)&&i.push(n),i.sort((s,o)=>s-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),i=this.getLabelTimestamps();return n.length&&i.length?t=this.normalize(n.concat(i)):t=n.length?n:i,t=this._cache.all=t,t}getDecimalForValue(t){return(On(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,i=this.getDecimalForPixel(t)/n.factor-n.end;return On(this._table,i*this._tableRange+this._minPos,!0)}}T(Go,"id","timeseries"),T(Go,"defaults",Hn.defaults);var ie={},Jo;function lp(){if(Jo)return ie;Jo=1,Object.defineProperty(ie,"__esModule",{value:!0}),ie.cartesianProductGenerator=ie.cartesianProduct=void 0;function e(...i){if(!Array.isArray(i))throw new TypeError("Please, send an array.");const[s,o,...r]=i,a=n(s,o);return r.length?e(a,...r):a}ie.cartesianProduct=e;function*t(...i){if(!Array.isArray(i))throw new TypeError("Please, send an array.");const[s,o,...r]=i,a=n(s,o);yield a,r.length&&(yield*t(a,...r))}ie.cartesianProductGenerator=t;function n(i,s){const o=[];for(let r=0;r<i.length;r++){if(!s){o.push([i[r]]);continue}for(let a=0;a<s.length;a++)Array.isArray(i[r])?o.push([...i[r],s[a]]):o.push([i[r],s[a]])}return o}return ie}var os=lp();const cp=function(e){let t=0;for(let i=0;i<e.length;i++)t=e.charCodeAt(i)+((t<<5)-t);let n="#";for(let i=0;i<3;i++){const o="00"+(t>>i*8&255).toString(16);n+=o.substring(o.length-2)}return n};function Pg(e,t=(n,i)=>{}){const n=new Map;for(const[i,s]of e){const o=new Map;for(const[r,a]of s){const l=new Map;for(const[c,h]of a){const u=t(r,h);if(u){l.set(c,{tooltip:u});continue}l.set(c,{})}o.set(r,l)}n.set(i,o)}return n}function Og(e){const t=new Map;return e.forEach(n=>{const i=t.get(n.nren);(!i||i.year<n.year)&&t.set(n.nren,n)}),Array.from(t.values())}function Dg(e){return e.match(/^[a-zA-Z]+:\/\//)?e:"https://"+e}const Ag=e=>{const t={};return!e.urls&&!e.url||(e.urls&&e.urls.forEach(n=>{t[n]=n}),e.url&&(t[e.url]=e.url)),t};function Eg(e){const t=new Map;return e.forEach(n=>{let i=t.get(n.nren);i||(i=new Map);let s=i.get(n.year);s||(s=[]),s.push(n),i.set(n.year,s),t.set(n.nren,i)}),t}function Ae(e){const t=new Map;return e.forEach(n=>{let i=t.get(n.nren);i||(i=new Map),i.set(n.year,n),t.set(n.nren,i)}),t}function Tg(e,t){const n=new Map;return e.forEach((i,s)=>{const o=new Map;Array.from(i.keys()).sort((a,l)=>l-a).forEach(a=>{const l=i.get(a),c=o.get(a)||{};t(c,l),Object.keys(c).length>0&&o.set(a,c)}),n.set(s,o)}),n}function Rg(e,t,n=!1){const i=new Map;return e.forEach(s=>{const o=a=>{let l=i.get(s.nren);l||(l=new Map);let c=l.get(a);c||(c=new Map),c.set(s.year,s),l.set(a,c),i.set(s.nren,l)};let r=s[t];typeof r=="boolean"&&(r=r?"True":"False"),n&&r==null&&(r=`${r}`),Array.isArray(r)?r.forEach(o):o(r)}),i}function Lg(e,t,n,i=!0,s){const o=new Map,r=(a,l,c)=>{a.forEach(h=>{let u=l?h[l]:c;typeof u=="boolean"&&(u=u?"True":"False");const d=h.nren,f=h.year,g=o.get(d)||new Map,m=g.get(f)||new Map,p=m.get(u)||{},b=h[c];if(b==null)return;const x=i?b:c,v=p[x]||{};v[`${b}`]=b,p[x]=v,m.set(u,p),g.set(f,m),o.set(d,g)})};if(n)for(const a of t)r(e,n,a);else for(const a of t)r(e,void 0,a);return o}const Fg=e=>{function t(){const u=(f,g,m)=>"#"+[f,g,m].map(p=>{const b=p.toString(16);return b.length===1?"0"+b:b}).join(""),d=new Map;return d.set("client_institutions",u(157,40,114)),d.set("commercial",u(241,224,79)),d.set("european_funding",u(219,42,76)),d.set("gov_public_bodies",u(237,141,24)),d.set("other",u(137,166,121)),d}const n=Ae(e),i=t(),s=[...new Set(e.map(u=>u.year))].sort(),o=[...new Set(e.map(u=>u.nren))].sort(),r={client_institutions:"Client Institutions",commercial:"Commercial",european_funding:"European Funding",gov_public_bodies:"Government/Public Bodies",other:"Other"},a=Object.keys(r),l=os.cartesianProduct(Object.keys(r),s).reduce((u,[d,f])=>{const g=`${d},${f}`;return u[g]={},u},{});return n.forEach((u,d)=>{u.forEach((f,g)=>{const m=a.map(b=>f[b]||0);if(m.reduce((b,x)=>b+x,0)!==0)for(const b of a){const x=`${b},${g}`,v=a.indexOf(b);l[x][d]=m[v]}})}),{datasets:Array.from(Object.entries(l)).map(([u,d])=>{const[f,g]=u.split(",");return{backgroundColor:i.get(f)||"black",label:r[f]+" ("+g+")",data:o.map(p=>d[p]),stack:g,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:f==a[0],formatter:function(p,b){return b.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(p){return p.chart.chartArea.width}}}}),labels:o.map(u=>u.toString())}};function Ig(e,t){const n=[...new Set(e.map(r=>r.year))].sort(),i=[...new Set(e.map(r=>r.nren))].sort(),s=Ae(e);return{datasets:i.map(r=>{const a=cp(r);return{backgroundColor:a,borderColor:a,data:n.map(l=>{const c=s.get(r);if(!c)return null;const h=c.get(l);return h?h[t]:null}),label:r,hidden:!1}}),labels:n.map(r=>r.toString())}}const jg=(e,t,n)=>{let i;t?i=["Technical FTE","Non-technical FTE"]:i=["Permanent FTE","Subcontracted FTE"];const s={"Technical FTE":"technical_fte","Non-technical FTE":"non_technical_fte","Permanent FTE":"permanent_fte","Subcontracted FTE":"subcontracted_fte"},[o,r]=i,[a,l]=[s[o],s[r]];function c(p){const b=p[a],x=p[l],v=b+x,_=(b/v||0)*100,y=(x/v||0)*100,w={};return w[o]=Math.round(Math.floor(_*100))/100,w[r]=Math.round(Math.floor(y*100))/100,w}const h=Ae(e),u=[n].sort(),d=[...new Set(e.map(p=>p.nren))].sort((p,b)=>p.localeCompare(b));return{datasets:os.cartesianProduct(i,u).map(function([p,b]){let x="";return p==="Technical FTE"?x="rgba(40, 40, 250, 0.8)":p==="Permanent FTE"?x="rgba(159, 129, 235, 1)":p==="Subcontracted FTE"?x="rgba(173, 216, 229, 1)":p==="Non-technical FTE"&&(x="rgba(116, 216, 242, 0.54)"),{backgroundColor:x,label:`${p} (${b})`,data:d.map(v=>{const _=h.get(v).get(b);return _?c(_)[p]:0}),stack:b,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1}}),labels:d}},$g=(e,t)=>{const n=["Research & Education","Commodity"],i={"Research & Education":"r_and_e_percentage",Commodity:"commodity_percentage"},s=Ae(e),o=[t].sort(),r=[...new Set(e.map(h=>h.nren))].sort((h,u)=>h.localeCompare(u));return{datasets:os.cartesianProduct(n,o).map(function([h,u]){let d="";return h==="Research & Education"?d="rgba(40, 40, 250, 0.8)":h==="Commodity"&&(d="rgba(116, 216, 242, 0.54)"),{backgroundColor:d,label:`${h} (${u})`,data:r.map(f=>{const g=s.get(f).get(u);return g?g[i[h]]:0}),stack:u,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1}}),labels:r}},zg=(e,t)=>{const n=["Permanent FTE","Subcontracted FTE"],i={"Technical FTE":"technical_fte","Non-technical FTE":"non_technical_fte","Permanent FTE":"permanent_fte","Subcontracted FTE":"subcontracted_fte"},[s,o]=n,[r,a]=[i[s],i[o]],l=Ae(e),c=[...new Set(e.map(f=>f.nren))].sort((f,g)=>f.localeCompare(g));function h(f,g){return{backgroundColor:"rgba(219, 42, 76, 1)",label:`Number of FTEs (${f})`,data:c.map(p=>{const b=l.get(p).get(f);return b?(b[r]??0)+(b[a]??0):0}),stack:`${f}`,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:!0,formatter:function(p,b){return b.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(p){return p.chart.chartArea.width}}}}return{datasets:t.sort().map(h),labels:c}},Ng=(e,t,n)=>{const i=Ae(e),s=[...new Set(e.map(l=>l.nren))].sort((l,c)=>l.localeCompare(c)),o=[...new Set(e.map(l=>l.year))].sort();function r(l,c){return{backgroundColor:"rgba(219, 42, 76, 1)",label:`${n} (${l})`,data:s.map(u=>{const d=i.get(u).get(l);return d?d[t]??0:0}),stack:`${l}`,borderRadius:10,borderSkipped:!0,barPercentage:.8,borderWidth:.5,categoryPercentage:.8,hidden:!1,datalabels:{display:!0,formatter:function(u,d){return d.dataset.stack},font:{family:'"Open Sans", sans-serif',size:16,weight:"700"},anchor:"start",align:"end",offset:function(u){return u.chart.chartArea.width}}}}return{datasets:o.sort().map(r),labels:s}},hp=()=>{const e=wt.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=M.jsx(sn,{children:M.jsx(Ja,{sidebar:!0})}),e[0]=t):t=e[0],t},up=e=>{const t=wt.c(41),{activeCategory:n}=e,i=Za();let s;t[0]!==n||t[1]!==i?(s=()=>i(n===G.Organisation?".":"/funding"),t[0]=n,t[1]=i,t[2]=s):s=t[2];const o=n===G.Organisation;let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=M.jsx("span",{children:G.Organisation}),t[3]=r):r=t[3];let a;t[4]!==s||t[5]!==o?(a=M.jsx(Ft,{onClick:s,variant:"nav-box",active:o,children:r}),t[4]=s,t[5]=o,t[6]=a):a=t[6];let l;t[7]!==n||t[8]!==i?(l=()=>i(n===G.Policy?".":"/policy"),t[7]=n,t[8]=i,t[9]=l):l=t[9];const c=n===G.Policy;let h;t[10]===Symbol.for("react.memo_cache_sentinel")?(h=M.jsx("span",{children:G.Policy}),t[10]=h):h=t[10];let u;t[11]!==l||t[12]!==c?(u=M.jsx(Ft,{onClick:l,variant:"nav-box",active:c,children:h}),t[11]=l,t[12]=c,t[13]=u):u=t[13];let d;t[14]!==n||t[15]!==i?(d=()=>i(n===G.ConnectedUsers?".":"/institutions-urls"),t[14]=n,t[15]=i,t[16]=d):d=t[16];const f=n===G.ConnectedUsers;let g;t[17]===Symbol.for("react.memo_cache_sentinel")?(g=M.jsx("span",{children:G.ConnectedUsers}),t[17]=g):g=t[17];let m;t[18]!==f||t[19]!==d?(m=M.jsx(Ft,{onClick:d,variant:"nav-box",active:f,children:g}),t[18]=f,t[19]=d,t[20]=m):m=t[20];let p;t[21]!==n||t[22]!==i?(p=()=>i(n===G.Network?".":"/traffic-volume"),t[21]=n,t[22]=i,t[23]=p):p=t[23];const b=n===G.Network;let x;t[24]===Symbol.for("react.memo_cache_sentinel")?(x=M.jsx("span",{children:G.Network}),t[24]=x):x=t[24];let v;t[25]!==p||t[26]!==b?(v=M.jsx(Ft,{onClick:p,variant:"nav-box",active:b,children:x}),t[25]=p,t[26]=b,t[27]=v):v=t[27];let _;t[28]!==n||t[29]!==i?(_=()=>i(n===G.Services?".":"/network-services"),t[28]=n,t[29]=i,t[30]=_):_=t[30];const y=n===G.Services;let w;t[31]===Symbol.for("react.memo_cache_sentinel")?(w=M.jsx("span",{children:G.Services}),t[31]=w):w=t[31];let k;t[32]!==_||t[33]!==y?(k=M.jsx(Ft,{onClick:_,variant:"nav-box",active:y,children:w}),t[32]=_,t[33]=y,t[34]=k):k=t[34];let S;return t[35]!==m||t[36]!==v||t[37]!==k||t[38]!==a||t[39]!==u?(S=M.jsx(cr,{children:M.jsx(se,{children:M.jsxs(Ti,{className:"navbox-bar gap-2 m-3",children:[a,u,m,v,k]})})}),t[35]=m,t[36]=v,t[37]=k,t[38]=a,t[39]=u,t[40]=S):S=t[40],S},dp=()=>{const e=wt.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=M.jsx(sn,{children:M.jsx(Qa,{sidebar:!0})}),e[0]=t):t=e[0],t},fp=()=>{const e=wt.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=M.jsx(sn,{children:M.jsx(tl,{sidebar:!0})}),e[0]=t):t=e[0],t},pp=()=>{const e=wt.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=M.jsx(sn,{children:M.jsx(el,{sidebar:!0})}),e[0]=t):t=e[0],t},gp=()=>{const e=wt.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=M.jsx(sn,{children:M.jsx(nl,{sidebar:!0})}),e[0]=t):t=e[0],t};function mp(e,t){return e.map(n=>t.map(i=>{const s=n[i];return s===null?"":typeof s=="string"?`"${s.replace(/"/g,'""')}"`:s}).join(","))}function bp(e){if(!e.length)return"";const t=Object.keys(e[0]),n=mp(e,t);return[t.join(","),...n].join(`\r +`)}function xp(e,t="Sheet1"){const n=Zn.json_to_sheet(e),i=Zn.book_new();Zn.book_append_sheet(i,n,t);const s=cl(i,{bookType:"xlsx",type:"binary"}),o=new ArrayBuffer(s.length),r=new Uint8Array(o);for(let a=0;a<s.length;a++)r[a]=s.charCodeAt(a)&255;return new Blob([o],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"})}const Zo=({data:e,filename:t,exportType:n})=>{const i=()=>{let o,r,a;switch(n){case xe.EXCEL:{o=xp(e),r="xlsx",a="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8";break}case xe.CSV:default:{o=bp(e),r="csv",a="text/csv;charset=UTF-8";break}}const l=new Blob([o],{type:a});t=t.endsWith(r)?t:`${t}.${r}`;const c=document.createElement("a");c.href=URL.createObjectURL(l),c.download=t,document.body.appendChild(c),c.click(),document.body.removeChild(c)};let s="downloadbutton";return n===xe.CSV?s+=" downloadcsv":n===xe.EXCEL&&(s+=" downloadexcel"),M.jsxs("button",{className:s,onClick:i,children:[n," ",M.jsx(dr,{})]})};function yp(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),s=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(s),t&&(i.href=t),s.href=e,s.href}const vp=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function It(e){const t=[];for(let n=0,i=e.length;n<i;n++)t.push(e[n]);return t}function Wn(e,t){const i=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return i?parseFloat(i.replace("px","")):0}function _p(e){const t=Wn(e,"border-left-width"),n=Wn(e,"border-right-width");return e.clientWidth+t+n}function wp(e){const t=Wn(e,"border-top-width"),n=Wn(e,"border-bottom-width");return e.clientHeight+t+n}function Oa(e,t={}){const n=t.width||_p(e),i=t.height||wp(e);return{width:n,height:i}}function Sp(){let e,t;try{t=process}catch{}const n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}const pt=16384;function kp(e){(e.width>pt||e.height>pt)&&(e.width>pt&&e.height>pt?e.width>e.height?(e.height*=pt/e.width,e.width=pt):(e.width*=pt/e.height,e.height=pt):e.width>pt?(e.height*=pt/e.width,e.width=pt):(e.width*=pt/e.height,e.height=pt))}function Vn(e){return new Promise((t,n)=>{const i=new Image;i.decode=()=>t(i),i.onload=()=>t(i),i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function Mp(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function Cp(e,t,n){const i="http://www.w3.org/2000/svg",s=document.createElementNS(i,"svg"),o=document.createElementNS(i,"foreignObject");return s.setAttribute("width",`${t}`),s.setAttribute("height",`${n}`),s.setAttribute("viewBox",`0 0 ${t} ${n}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),s.appendChild(o),o.appendChild(e),Mp(s)}const ft=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||ft(n,t)};function Pp(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function Op(e){return It(e).map(t=>{const n=e.getPropertyValue(t),i=e.getPropertyPriority(t);return`${t}: ${n}${i?" !important":""};`}).join(" ")}function Dp(e,t,n){const i=`.${e}:${t}`,s=n.cssText?Pp(n):Op(n);return document.createTextNode(`${i}{${s}}`)}function Qo(e,t,n){const i=window.getComputedStyle(e,n),s=i.getPropertyValue("content");if(s===""||s==="none")return;const o=vp();try{t.className=`${t.className} ${o}`}catch{return}const r=document.createElement("style");r.appendChild(Dp(o,n,i)),t.appendChild(r)}function Ap(e,t){Qo(e,t,":before"),Qo(e,t,":after")}const tr="application/font-woff",er="image/jpeg",Ep={woff:tr,woff2:tr,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:er,jpeg:er,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function Tp(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function rs(e){const t=Tp(e).toLowerCase();return Ep[t]||""}function Rp(e){return e.split(/,/)[1]}function Ei(e){return e.search(/^(data:)/)!==-1}function Lp(e,t){return`data:${t};base64,${e}`}async function Da(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const s=await i.blob();return new Promise((o,r)=>{const a=new FileReader;a.onerror=r,a.onloadend=()=>{try{o(n({res:i,result:a.result}))}catch(l){r(l)}},a.readAsDataURL(s)})}const xi={};function Fp(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function as(e,t,n){const i=Fp(e,t,n.includeQueryParams);if(xi[i]!=null)return xi[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let s;try{const o=await Da(e,n.fetchRequestInit,({res:r,result:a})=>(t||(t=r.headers.get("Content-Type")||""),Rp(a)));s=Lp(o,t)}catch(o){s=n.imagePlaceholder||"";let r=`Failed to fetch resource: ${e}`;o&&(r=typeof o=="string"?o:o.message),r&&console.warn(r)}return xi[i]=s,s}async function Ip(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):Vn(t)}async function jp(e,t){if(e.currentSrc){const o=document.createElement("canvas"),r=o.getContext("2d");o.width=e.clientWidth,o.height=e.clientHeight,r==null||r.drawImage(e,0,0,o.width,o.height);const a=o.toDataURL();return Vn(a)}const n=e.poster,i=rs(n),s=await as(n,i,t);return Vn(s)}async function $p(e){var t;try{if(!((t=e==null?void 0:e.contentDocument)===null||t===void 0)&&t.body)return await qn(e.contentDocument.body,{},!0)}catch{}return e.cloneNode(!1)}async function zp(e,t){return ft(e,HTMLCanvasElement)?Ip(e):ft(e,HTMLVideoElement)?jp(e,t):ft(e,HTMLIFrameElement)?$p(e):e.cloneNode(!1)}const Np=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT";async function Bp(e,t,n){var i,s;let o=[];return Np(e)&&e.assignedNodes?o=It(e.assignedNodes()):ft(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?o=It(e.contentDocument.body.childNodes):o=It(((s=e.shadowRoot)!==null&&s!==void 0?s:e).childNodes),o.length===0||ft(e,HTMLVideoElement)||await o.reduce((r,a)=>r.then(()=>qn(a,n)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function Hp(e,t){const n=t.style;if(!n)return;const i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):It(i).forEach(s=>{let o=i.getPropertyValue(s);s==="font-size"&&o.endsWith("px")&&(o=`${Math.floor(parseFloat(o.substring(0,o.length-2)))-.1}px`),ft(e,HTMLIFrameElement)&&s==="display"&&o==="inline"&&(o="block"),s==="d"&&t.getAttribute("d")&&(o=`path(${t.getAttribute("d")})`),n.setProperty(s,o,i.getPropertyPriority(s))})}function Wp(e,t){ft(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),ft(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Vp(e,t){if(ft(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(s=>e.value===s.getAttribute("value"));i&&i.setAttribute("selected","")}}function Yp(e,t){return ft(t,Element)&&(Hp(e,t),Ap(e,t),Wp(e,t),Vp(e,t)),t}async function Up(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let o=0;o<n.length;o++){const a=n[o].getAttribute("xlink:href");if(a){const l=e.querySelector(a),c=document.querySelector(a);!l&&c&&!i[a]&&(i[a]=await qn(c,t,!0))}}const s=Object.values(i);if(s.length){const o="http://www.w3.org/1999/xhtml",r=document.createElementNS(o,"svg");r.setAttribute("xmlns",o),r.style.position="absolute",r.style.width="0",r.style.height="0",r.style.overflow="hidden",r.style.display="none";const a=document.createElementNS(o,"defs");r.appendChild(a);for(let l=0;l<s.length;l++)a.appendChild(s[l]);e.appendChild(r)}return e}async function qn(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(i=>zp(i,t)).then(i=>Bp(e,i,t)).then(i=>Yp(e,i)).then(i=>Up(i,t))}const Aa=/url\((['"]?)([^'"]+?)\1\)/g,Xp=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,Kp=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function qp(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Gp(e){const t=[];return e.replace(Aa,(n,i,s)=>(t.push(s),n)),t.filter(n=>!Ei(n))}async function Jp(e,t,n,i,s){try{const o=n?yp(t,n):t,r=rs(t);let a;return s||(a=await as(o,r,i)),e.replace(qp(t),`$1${a}$3`)}catch{}return e}function Zp(e,{preferredFontFormat:t}){return t?e.replace(Kp,n=>{for(;;){const[i,,s]=Xp.exec(n)||[];if(!s)return"";if(s===t)return`src: ${i};`}}):e}function Ea(e){return e.search(Aa)!==-1}async function Ta(e,t,n){if(!Ea(e))return e;const i=Zp(e,n);return Gp(i).reduce((o,r)=>o.then(a=>Jp(a,r,t,n)),Promise.resolve(i))}async function Dn(e,t,n){var i;const s=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(s){const o=await Ta(s,null,n);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function Qp(e,t){await Dn("background",e,t)||await Dn("background-image",e,t),await Dn("mask",e,t)||await Dn("mask-image",e,t)}async function tg(e,t){const n=ft(e,HTMLImageElement);if(!(n&&!Ei(e.src))&&!(ft(e,SVGImageElement)&&!Ei(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,s=await as(i,rs(i),t);await new Promise((o,r)=>{e.onload=o,e.onerror=r;const a=e;a.decode&&(a.decode=o),a.loading==="lazy"&&(a.loading="eager"),n?(e.srcset="",e.src=s):e.href.baseVal=s})}async function eg(e,t){const i=It(e.childNodes).map(s=>Ra(s,t));await Promise.all(i).then(()=>e)}async function Ra(e,t){ft(e,Element)&&(await Qp(e,t),await tg(e,t),await eg(e,t))}function ng(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(s=>{n[s]=i[s]}),e}const nr={};async function ir(e){let t=nr[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},nr[e]=t,t}async function sr(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,o=(n.match(/url\([^)]+\)/g)||[]).map(async r=>{let a=r.replace(i,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),Da(a,t.fetchRequestInit,({result:l})=>(n=n.replace(r,`url(${l})`),[r,l]))});return Promise.all(o).then(()=>n)}function or(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const s=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const l=s.exec(i);if(l===null)break;t.push(l[0])}i=i.replace(s,"");const o=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,r="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",a=new RegExp(r,"gi");for(;;){let l=o.exec(i);if(l===null){if(l=a.exec(i),l===null)break;o.lastIndex=a.lastIndex}else a.lastIndex=o.lastIndex;t.push(l[0])}return t}async function ig(e,t){const n=[],i=[];return e.forEach(s=>{if("cssRules"in s)try{It(s.cssRules||[]).forEach((o,r)=>{if(o.type===CSSRule.IMPORT_RULE){let a=r+1;const l=o.href,c=ir(l).then(h=>sr(h,t)).then(h=>or(h).forEach(u=>{try{s.insertRule(u,u.startsWith("@import")?a+=1:s.cssRules.length)}catch(d){console.error("Error inserting rule from remote css",{rule:u,error:d})}})).catch(h=>{console.error("Error loading remote css",h.toString())});i.push(c)}})}catch(o){const r=e.find(a=>a.href==null)||document.styleSheets[0];s.href!=null&&i.push(ir(s.href).then(a=>sr(a,t)).then(a=>or(a).forEach(l=>{r.insertRule(l,s.cssRules.length)})).catch(a=>{console.error("Error loading remote stylesheet",a)})),console.error("Error inlining remote css file",o)}}),Promise.all(i).then(()=>(e.forEach(s=>{if("cssRules"in s)try{It(s.cssRules||[]).forEach(o=>{n.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${s.href}`,o)}}),n))}function sg(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>Ea(t.style.getPropertyValue("src")))}async function og(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=It(e.ownerDocument.styleSheets),i=await ig(n,t);return sg(i)}async function rg(e,t){const n=await og(e,t);return(await Promise.all(n.map(s=>{const o=s.parentStyleSheet?s.parentStyleSheet.href:null;return Ta(s.cssText,o,t)}))).join(` +`)}async function ag(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await rg(e,t);if(n){const i=document.createElement("style"),s=document.createTextNode(n);i.appendChild(s),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function La(e,t={}){const{width:n,height:i}=Oa(e,t),s=await qn(e,t,!0);return await ag(s,t),await Ra(s,t),ng(s,t),await Cp(s,n,i)}async function Fa(e,t={}){const{width:n,height:i}=Oa(e,t),s=await La(e,t),o=await Vn(s),r=document.createElement("canvas"),a=r.getContext("2d"),l=t.pixelRatio||Sp(),c=t.canvasWidth||n,h=t.canvasHeight||i;return r.width=c*l,r.height=h*l,t.skipAutoScale||kp(r),r.style.width=`${c}`,r.style.height=`${h}`,t.backgroundColor&&(a.fillStyle=t.backgroundColor,a.fillRect(0,0,r.width,r.height)),a.drawImage(o,0,0,r.width,r.height),r}async function lg(e,t={}){return(await Fa(e,t)).toDataURL()}async function cg(e,t={}){return(await Fa(e,t)).toDataURL("image/jpeg",t.quality||1)}const hg=e=>{const t=wt.c(17),{filename:n}=e,i=A.useContext(hr),[s,o]=A.useState(!1),r=A.useRef(null);let a;t[0]!==i||t[1]!==n?(a=async v=>{if(i!=null&&i.current){o(!1);const _={transform:"scale(1)","transform-origin":"top left",background:"white"};let y;t:switch(v){case ge.JPEG:{y=await cg(i.current,{quality:.95,style:_});break t}case ge.SVG:{y=await La(i.current,{style:_});break t}case ge.PNG:default:y=await lg(i.current,{style:_})}const w=document.createElement("a");w.href=typeof y=="string"?y:URL.createObjectURL(y),w.download=`${n}.${v}`,document.body.appendChild(w),w.click(),document.body.removeChild(w)}},t[0]=i,t[1]=n,t[2]=a):a=t[2];const l=a;let c;t[3]!==s?(c=()=>{o(!s)},t[3]=s,t[4]=c):c=t[4];const h=c;let u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=v=>{r.current&&!r.current.contains(v.target)&&o(!1)},t[5]=u):u=t[5];const d=u;let f,g;t[6]===Symbol.for("react.memo_cache_sentinel")?(f=()=>(document.addEventListener("mousedown",d),()=>{document.removeEventListener("mousedown",d)}),g=[],t[6]=f,t[7]=g):(f=t[6],g=t[7]),A.useEffect(f,g);let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=M.jsx(dr,{}),t[8]=m):m=t[8];let p;t[9]!==h?(p=M.jsxs("button",{className:"downloadbutton downloadimage",onClick:h,children:["IMAGE ",m]}),t[9]=h,t[10]=p):p=t[10];let b;t[11]!==l||t[12]!==s?(b=s&&M.jsxs("div",{className:"image-options",children:[M.jsx("div",{className:"imageoption downloadpng",onClick:()=>l(ge.PNG),children:M.jsx("span",{children:"PNG"})}),M.jsx("div",{className:"imageoption downloadjpeg",onClick:()=>l(ge.JPEG),children:M.jsx("span",{children:"JPEG"})}),M.jsx("div",{className:"imageoption downloadsvg",onClick:()=>l(ge.SVG),children:M.jsx("span",{children:"SVG"})})]}),t[11]=l,t[12]=s,t[13]=b):b=t[13];let x;return t[14]!==p||t[15]!==b?(x=M.jsxs("div",{className:"image-dropdown",ref:r,children:[p,b]}),t[14]=p,t[15]=b,t[16]=x):x=t[16],x},ug=e=>{const t=wt.c(12),{data:n,filename:i}=e,s=`${i}.csv`;let o;t[0]!==n||t[1]!==s?(o=M.jsx(Zo,{data:n,filename:s,exportType:xe.CSV}),t[0]=n,t[1]=s,t[2]=o):o=t[2];const r=`${i}.xlsx`;let a;t[3]!==n||t[4]!==r?(a=M.jsx(Zo,{data:n,filename:r,exportType:xe.EXCEL}),t[3]=n,t[4]=r,t[5]=a):a=t[5];let l;t[6]!==i?(l=M.jsx(hg,{filename:i}),t[6]=i,t[7]=l):l=t[7];let c;return t[8]!==o||t[9]!==a||t[10]!==l?(c=M.jsxs("div",{className:"downloadcontainer",children:[o,a,l]}),t[8]=o,t[9]=a,t[10]=l,t[11]=c):c=t[11],c};Ct.defaults.font.size=16;Ct.defaults.font.family="Open Sans";Ct.defaults.font.weight=700;function Bg(e){const t=wt.c(47),{title:n,description:i,filter:s,children:o,category:r,data:a,filename:l}=e,{preview:c,setPreview:h}=A.useContext(il),u=window.location.origin+window.location.pathname,{trackPageView:d}=sl();let f,g;t[0]!==n||t[1]!==d?(f=()=>{d({documentTitle:n})},g=[d,n],t[0]=n,t[1]=d,t[2]=f,t[3]=g):(f=t[2],g=t[3]),A.useEffect(f,g);let m;t[4]!==r?(m=r===G.Organisation&&M.jsx(hp,{}),t[4]=r,t[5]=m):m=t[5];let p;t[6]!==r?(p=r===G.Policy&&M.jsx(dp,{}),t[6]=r,t[7]=p):p=t[7];let b;t[8]!==r?(b=r===G.Network&&M.jsx(fp,{}),t[8]=r,t[9]=b):b=t[9];let x;t[10]!==r?(x=r===G.ConnectedUsers&&M.jsx(pp,{}),t[10]=r,t[11]=x):x=t[11];let v;t[12]!==r?(v=r===G.Services&&M.jsx(gp,{}),t[12]=r,t[13]=v):v=t[13];let _;t[14]===Symbol.for("react.memo_cache_sentinel")?(_=M.jsx(ol,{type:"data"}),t[14]=_):_=t[14];let y;t[15]!==c||t[16]!==h?(y=c&&M.jsx(se,{className:"preview-banner",children:M.jsxs("span",{children:["You are viewing a preview of the website which includes pre-published survey data. ",M.jsx(rl,{to:u,onClick:()=>h(!1),children:"Click here"})," to deactivate preview mode."]})}),t[15]=c,t[16]=h,t[17]=y):y=t[17];let w;t[18]!==r?(w=M.jsx(up,{activeCategory:r}),t[18]=r,t[19]=w):w=t[19];let k;t[20]!==n?(k=M.jsx(se,{children:M.jsx("h3",{className:"m-1",children:n})}),t[20]=n,t[21]=k):k=t[21];let S;t[22]!==i?(S=M.jsx(se,{children:M.jsx("p",{className:"p-md-4",children:i})}),t[22]=i,t[23]=S):S=t[23];let P;t[24]===Symbol.for("react.memo_cache_sentinel")?(P={position:"relative"},t[24]=P):P=t[24];let D;t[25]!==a||t[26]!==l?(D=M.jsx(se,{align:"right",style:P,children:M.jsx(ug,{data:a,filename:l})}),t[25]=a,t[26]=l,t[27]=D):D=t[27];let C;t[28]!==s?(C=M.jsx(se,{children:s}),t[28]=s,t[29]=C):C=t[29];let O;t[30]!==o?(O=M.jsx(se,{children:o}),t[30]=o,t[31]=O):O=t[31];let E;t[32]!==k||t[33]!==S||t[34]!==D||t[35]!==C||t[36]!==O?(E=M.jsxs(cr,{className:"mb-5 grow",children:[k,S,D,C,O]}),t[32]=k,t[33]=S,t[34]=D,t[35]=C,t[36]=O,t[37]=E):E=t[37];let F;return t[38]!==w||t[39]!==E||t[40]!==m||t[41]!==p||t[42]!==b||t[43]!==x||t[44]!==v||t[45]!==y?(F=M.jsxs(M.Fragment,{children:[m,p,b,x,v,_,y,w,E]}),t[38]=w,t[39]=E,t[40]=m,t[41]=p,t[42]=b,t[43]=x,t[44]=v,t[45]=y,t[46]=F):F=t[46],F}function Hg(e){const t=wt.c(81),{filterOptions:n,filterSelection:i,setFilterSelection:s,max1year:o,coloredYears:r}=e,a=o===void 0?!1:o,l=r===void 0?!1:r,[c,h]=A.useState(!0),{nrens:u}=A.useContext(al);let d,f;if(t[0]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{const B=()=>h(window.innerWidth>=992);return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}},f=[],t[0]=d,t[1]=f):(d=t[0],f=t[1]),A.useEffect(d,f),a&&i.selectedYears.length>1){const B=Math.max(...i.selectedYears);s({selectedYears:[B],selectedNrens:[...i.selectedNrens]})}let g;t[2]!==i.selectedNrens||t[3]!==i.selectedYears||t[4]!==s?(g=B=>{i.selectedNrens.includes(B)?s({selectedYears:[...i.selectedYears],selectedNrens:i.selectedNrens.filter(et=>et!==B)}):s({selectedYears:[...i.selectedYears],selectedNrens:[...i.selectedNrens,B]})},t[2]=i.selectedNrens,t[3]=i.selectedYears,t[4]=s,t[5]=g):g=t[5];const m=g;let p;t[6]!==i.selectedNrens||t[7]!==i.selectedYears||t[8]!==a||t[9]!==s?(p=B=>{i.selectedYears.includes(B)?s({selectedYears:i.selectedYears.filter(et=>et!==B),selectedNrens:[...i.selectedNrens]}):s({selectedYears:a?[B]:[...i.selectedYears,B],selectedNrens:[...i.selectedNrens]})},t[6]=i.selectedNrens,t[7]=i.selectedYears,t[8]=a,t[9]=s,t[10]=p):p=t[10];const b=p;let x;t[11]!==n.availableNrens||t[12]!==i.selectedYears||t[13]!==s?(x=()=>{s({selectedYears:[...i.selectedYears],selectedNrens:n.availableNrens.map(pg)})},t[11]=n.availableNrens,t[12]=i.selectedYears,t[13]=s,t[14]=x):x=t[14];const v=x;let _;t[15]!==i.selectedYears||t[16]!==s?(_=()=>{s({selectedYears:[...i.selectedYears],selectedNrens:[]})},t[15]=i.selectedYears,t[16]=s,t[17]=_):_=t[17];const y=_,w=c?3:2,k=Math.ceil(u.length/w);let S,P,D,C,O,E,F,R,L,I;if(t[18]!==n.availableNrens||t[19]!==i.selectedNrens||t[20]!==m||t[21]!==w||t[22]!==k||t[23]!==u){const B=Array.from(Array(w),fg);u.sort(dg).forEach((Jt,Zt)=>{const lt=Math.floor(Zt/k);B[lt].push(Jt)});let et;t[34]!==n.availableNrens?(et=Jt=>n.availableNrens.find(lt=>lt.name===Jt.name)!==void 0,t[34]=n.availableNrens,t[35]=et):et=t[35];const Ee=et;D=xs,L=3,P=ei,E="outside",F="m-3",t[36]===Symbol.for("react.memo_cache_sentinel")?(R=M.jsx(ei.Toggle,{id:"nren-dropdown-toggle",variant:"compendium",children:"Select NRENs "}),t[36]=R):R=t[36],S=ei.Menu,t[37]===Symbol.for("react.memo_cache_sentinel")?(O={borderRadius:0},t[37]=O):O=t[37],I="d-flex fit-max-content mt-4 mx-3";let zt;t[38]!==i.selectedNrens||t[39]!==m||t[40]!==Ee?(zt=(Jt,Zt)=>M.jsx("div",{className:"flex-fill",children:Jt.map(lt=>M.jsx("div",{className:"filter-dropdown-item flex-fill py-1 px-3",children:M.jsxs(Jn.Check,{type:"checkbox",children:[M.jsx(Jn.Check.Input,{id:lt.name,readOnly:!0,type:"checkbox",onClick:()=>m(lt.name),checked:i.selectedNrens.includes(lt.name),className:"nren-checkbox",disabled:!Ee(lt)}),M.jsxs(Jn.Check.Label,{htmlFor:lt.name,className:"nren-checkbox-label",children:[lt.name," ",M.jsxs("span",{style:{fontWeight:"lighter"},children:["(",lt.country,")"]})]})]})},lt.name))},Zt),t[38]=i.selectedNrens,t[39]=m,t[40]=Ee,t[41]=zt):zt=t[41],C=B.map(zt),t[18]=n.availableNrens,t[19]=i.selectedNrens,t[20]=m,t[21]=w,t[22]=k,t[23]=u,t[24]=S,t[25]=P,t[26]=D,t[27]=C,t[28]=O,t[29]=E,t[30]=F,t[31]=R,t[32]=L,t[33]=I}else S=t[24],P=t[25],D=t[26],C=t[27],O=t[28],E=t[29],F=t[30],R=t[31],L=t[32],I=t[33];let Y;t[42]!==C||t[43]!==I?(Y=M.jsx("div",{className:I,children:C}),t[42]=C,t[43]=I,t[44]=Y):Y=t[44];let $;t[45]!==v?($=M.jsx(Ft,{variant:"compendium",className:"flex-fill",onClick:v,children:"Select all NRENs"}),t[45]=v,t[46]=$):$=t[46];let N;t[47]!==y?(N=M.jsx(Ft,{variant:"compendium",className:"flex-fill",onClick:y,children:"Unselect all NRENs"}),t[47]=y,t[48]=N):N=t[48];let tt;t[49]!==$||t[50]!==N?(tt=M.jsxs("div",{className:"d-flex fit-max-content gap-2 mx-4 my-3",children:[$,N]}),t[49]=$,t[50]=N,t[51]=tt):tt=t[51];let Q;t[52]!==S||t[53]!==O||t[54]!==Y||t[55]!==tt?(Q=M.jsxs(S,{style:O,children:[Y,tt]}),t[52]=S,t[53]=O,t[54]=Y,t[55]=tt,t[56]=Q):Q=t[56];let nt;t[57]!==P||t[58]!==E||t[59]!==F||t[60]!==R||t[61]!==Q?(nt=M.jsxs(P,{autoClose:E,className:F,children:[R,Q]}),t[57]=P,t[58]=E,t[59]=F,t[60]=R,t[61]=Q,t[62]=nt):nt=t[62];let U;t[63]!==D||t[64]!==L||t[65]!==nt?(U=M.jsx(D,{xs:L,children:nt}),t[63]=D,t[64]=L,t[65]=nt,t[66]=U):U=t[66];let X;if(t[67]!==l||t[68]!==n.availableYears||t[69]!==i.selectedYears||t[70]!==b){let B;t[72]!==l||t[73]!==i.selectedYears||t[74]!==b?(B=et=>M.jsx(Ft,{variant:l?"compendium-year-"+et%9:"compendium-year",active:i.selectedYears.includes(et),onClick:()=>b(et),children:et},et),t[72]=l,t[73]=i.selectedYears,t[74]=b,t[75]=B):B=t[75],X=n.availableYears.sort().map(B),t[67]=l,t[68]=n.availableYears,t[69]=i.selectedYears,t[70]=b,t[71]=X}else X=t[71];let q;t[76]!==X?(q=M.jsx(xs,{children:M.jsx(Ti,{className:"d-flex justify-content-end gap-2 m-3",children:X})}),t[76]=X,t[77]=q):q=t[77];let At;return t[78]!==U||t[79]!==q?(At=M.jsxs(M.Fragment,{children:[U,q]}),t[78]=U,t[79]=q,t[80]=At):At=t[80],At}function dg(e,t){return e.name.localeCompare(t.name)}function fg(){return[]}function pg(e){return e.name}const Wg=e=>{const t=wt.c(3),{children:n}=e,i=A.useContext(hr);let s;return t[0]!==n||t[1]!==i?(s=M.jsx("div",{ref:i,children:n}),t[0]=n,t[1]=i,t[2]=s):s=t[2],s};function rr(e){const t=new Set,n=new Map;return e.forEach(i=>{t.add(i.year),n.set(i.nren,{name:i.nren,country:i.nren_country})}),{years:t,nrens:n}}function Vg(e,t,n){const i=wt.c(14),s=n===void 0?mg:n;let o;i[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],i[0]=o):o=i[0];const[r,a]=A.useState(o),l=ll(),c=e+(l?"?preview":"");let h;i[1]!==c||i[2]!==t||i[3]!==s?(h=()=>{fetch(c).then(gg).then(b=>{const x=b.filter(s);a(x);const{years:v,nrens:_}=rr(x);t(y=>{const k=y.selectedYears.filter(D=>v.has(D)).length?y.selectedYears:[Math.max(...v)],P=y.selectedNrens.filter(D=>_.has(D)).length?y.selectedNrens:[..._.keys()];return{selectedYears:k,selectedNrens:P}})})},i[1]=c,i[2]=t,i[3]=s,i[4]=h):h=i[4];let u;i[5]!==c||i[6]!==t?(u=[c,t],i[5]=c,i[6]=t,i[7]=u):u=i[7],A.useEffect(h,u);let d,f;i[8]!==r?(f=rr(r),i[8]=r,i[9]=f):f=i[9],d=f;const{years:g,nrens:m}=d;let p;return i[10]!==r||i[11]!==m||i[12]!==g?(p={data:r,years:g,nrens:m},i[10]=r,i[11]=m,i[12]=g,i[13]=p):p=i[13],p}function gg(e){return e.json()}function mg(){return!0}export{K as A,bi as B,Ct as C,Bg as D,_t as E,Hg as F,j as G,V as H,W as I,Mn as J,H as K,Vo as L,z as M,$g as N,pi as P,Ho as a,Cn as b,Cg as c,kg as d,Ig as e,Wg as f,Rg as g,Eg as h,Tg as i,Fg as j,Ae as k,jg as l,zg as m,Pg as n,Ng as o,Mg as p,Og as q,Lg as r,Ag as s,hi as t,Vg as u,ci as v,Dg as w,Je as x,at as y,bn as z};